<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>193886</bug_id>
          
          <creation_ts>2019-01-27 11:58:56 -0800</creation_ts>
          <short_desc>Formalize WebKitAdditions mechanism of LoadOptimizer</short_desc>
          <delta_ts>2019-01-31 16:35:51 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jiewen Tan">jiewen_tan</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>aestes</cc>
    
    <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>jiewen_tan</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1498886</commentid>
    <comment_count>0</comment_count>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2019-01-27 11:58:56 -0800</bug_when>
    <thetext>Modernize AppLinks code in tryInterceptNavigation to use BlockPtr.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1500504</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-01-31 01:41:27 -0800</bug_when>
    <thetext>&lt;rdar://problem/47696809&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1500509</commentid>
    <comment_count>2</comment_count>
      <attachid>360709</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2019-01-31 01:51:55 -0800</bug_when>
    <thetext>Created attachment 360709
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1500511</commentid>
    <comment_count>3</comment_count>
      <attachid>360709</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2019-01-31 01:54:15 -0800</bug_when>
    <thetext>Comment on attachment 360709
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=360709&amp;action=review

&gt; Source/WebKit/UIProcess/Cocoa/NavigationState.mm:496
&gt;  #if HAVE(LOAD_OPTIMIZER)

Should remove this marco.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1500627</commentid>
    <comment_count>4</comment_count>
      <attachid>360739</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2019-01-31 10:19:08 -0800</bug_when>
    <thetext>Created attachment 360739
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1500662</commentid>
    <comment_count>5</comment_count>
      <attachid>360739</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2019-01-31 11:15:40 -0800</bug_when>
    <thetext>Comment on attachment 360739
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1500669</commentid>
    <comment_count>6</comment_count>
      <attachid>360739</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2019-01-31 11:29:40 -0800</bug_when>
    <thetext>Comment on attachment 360739
Patch

Thanks Brent for r+ the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1500692</commentid>
    <comment_count>7</comment_count>
      <attachid>360739</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-01-31 12:01:13 -0800</bug_when>
    <thetext>Comment on attachment 360739
Patch

Clearing flags on attachment: 360739

Committed r240805: &lt;https://trac.webkit.org/changeset/240805&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1500693</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-01-31 12:01:14 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1500885</commentid>
    <comment_count>9</comment_count>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2019-01-31 16:35:51 -0800</bug_when>
    <thetext>A build fix is committed:
Committed r240828: &lt;https://trac.webkit.org/changeset/240828&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>360709</attachid>
            <date>2019-01-31 01:51:55 -0800</date>
            <delta_ts>2019-01-31 10:18:51 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>WIP.patch</filename>
            <type>text/plain</type>
            <size>17429</size>
            <attacher name="Jiewen Tan">jiewen_tan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAxNTM0YmNkMWE0My4uZWJmZDc2Yjg4MDcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNiBAQAorMjAxOS0wMS0zMSAgSmlld2VuIFRhbiAgPGppZXdlbl90YW5AYXBwbGUuY29t
PgorCisgICAgICAgIEZvcm1hbGl6ZSBXZWJLaXRBZGRpdGlvbnMgbWVjaGFuaXNtIG9mIExvYWRP
cHRpbWl6ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE5Mzg4NgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDc2OTY4MDk+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ292ZXJlZCBieSBleGlzdGluZyB0
ZXN0cy4KKworICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5o
OgorICAgICAgICBFeHBvcnQgaXNvbGF0ZWRDb3B5KCkuCisKIDIwMTktMDEtMjkgIEFuZHkgRXN0
ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIFRyeSB0byBmaXggdGhlIHdhdGNoT1Mg
YnVpbGQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291
cmNlUmVxdWVzdEJhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3Vy
Y2VSZXF1ZXN0QmFzZS5oCmluZGV4IGI0NzAyNzRiMTE1Li45MjdmNDNhY2E5NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNl
LmgKQEAgLTU3LDcgKzU3LDcgQEAgY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIGNsYXNzIFJlc291
cmNlUmVxdWVzdEJhc2UgewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgot
ICAgIFJlc291cmNlUmVxdWVzdCBpc29sYXRlZENvcHkoKSBjb25zdDsKKyAgICBXRUJDT1JFX0VY
UE9SVCBSZXNvdXJjZVJlcXVlc3QgaXNvbGF0ZWRDb3B5KCkgY29uc3Q7CiAgICAgV0VCQ09SRV9F
WFBPUlQgdm9pZCBzZXRBc0lzb2xhdGVkQ29weShjb25zdCBSZXNvdXJjZVJlcXVlc3QmKTsKIAog
ICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgaXNOdWxsKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDg3ODA2
NmQ1NGI3Li41ZWYyZTcyM2Y0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOCBAQAorMjAxOS0wMS0z
MSAgSmlld2VuIFRhbiAgPGppZXdlbl90YW5AYXBwbGUuY29tPgorCisgICAgICAgIEZvcm1hbGl6
ZSBXZWJLaXRBZGRpdGlvbnMgbWVjaGFuaXNtIG9mIExvYWRPcHRpbWl6ZXIKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5Mzg4NgorICAgICAgICA8cmRh
cjovL3Byb2JsZW0vNDc2OTY4MDk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBkb2VzIHRoZSBmb2xsb3dpbmcgZmV3IHRoaW5nczoK
KyAgICAgICAgMSkgZm9ybWFsaXplcyBXZWJLaXRBZGRpdGlvbnMgbWVjaGFuaXNtIG9mIExvYWRP
cHRpbWl6ZXI7CisgICAgICAgIDIpIG1vZGVybml6ZXMgQXBwTGlua3MgY29kZSBpbiB0cnlJbnRl
cmNlcHROYXZpZ2F0aW9uIHRvIHVzZSBCbG9ja1B0cjsKKyAgICAgICAgMykgbGV0cyBBcHBMaW5r
cyBoYXZlIGhpZ2hlciBwcmVjZWRlbmNlIHRoYW4gTG9hZE9wdGltaXplci4KKworICAgICAgICAq
IFNvdXJjZXNDb2NvYS50eHQ6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL0xvYWRPcHRpbWl6
ZXIuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvTG9hZE9wdGltaXplci5t
bTogUmVtb3ZlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvTmF2aWdhdGlvblN0YXRlLm1t
OgorICAgICAgICAoV2ViS2l0Ojp0cnlPcHRpbWl6aW5nTG9hZCk6CisgICAgICAgIChXZWJLaXQ6
OnRyeUludGVyY2VwdE5hdmlnYXRpb24pOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJzaXRlRGF0
YS9XZWJzaXRlRGF0YVN0b3JlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vic2l0ZURhdGFTdG9y
ZTo6V2Vic2l0ZURhdGFTdG9yZSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dl
YnNpdGVEYXRhU3RvcmUuaDoKKyAgICAgICAgKFdlYktpdDo6V2Vic2l0ZURhdGFTdG9yZTo6bG9h
ZE9wdGltaXplcik6IERlbGV0ZWQuCisgICAgICAgICogV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2o6CisKIDIwMTktMDEtMjkgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29t
PgogCiAgICAgICAgIEFkb3B0IG5ldyBTUEkgdG8gZXZhbHVhdGUgc2VydmVyIGNlcnRpZmljYXRl
IHRydXN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQgYi9Tb3Vy
Y2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQKaW5kZXggY2JmMmU5ZGVhYjMuLjFjZjgyNDkzMTA3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQKKysrIGIvU291cmNl
L1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CkBAIC0zMjQsNyArMzI0LDYgQEAgVUlQcm9jZXNzL0Nv
Y29hL0Z1bGxzY3JlZW5DbGllbnQubW0KIFVJUHJvY2Vzcy9Db2NvYS9HbG9iYWxGaW5kSW5QYWdl
U3RhdGUubW0KIFVJUHJvY2Vzcy9Db2NvYS9JY29uTG9hZGluZ0RlbGVnYXRlLm1tCiBVSVByb2Nl
c3MvQ29jb2EvTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyQ2xpZW50Lm1tCi1VSVByb2Nlc3Mv
Q29jb2EvTG9hZE9wdGltaXplci5tbQogVUlQcm9jZXNzL0NvY29hL01lZGlhQ2FwdHVyZVV0aWxp
dGllcy5tbQogVUlQcm9jZXNzL0NvY29hL05hdmlnYXRpb25TdGF0ZS5tbQogVUlQcm9jZXNzL0Nv
Y29hL1BhZ2VDbGllbnRJbXBsQ29jb2EubW0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0NvY29hL0xvYWRPcHRpbWl6ZXIuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0Nv
Y29hL0xvYWRPcHRpbWl6ZXIuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWNlY2Yw
NDVlOGMuLjAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL0xv
YWRPcHRpbWl6ZXIuaAorKysgL2Rldi9udWxsCkBAIC0xLDMwICswLDAgQEAKLS8qCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgot
ICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgot
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICog
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwot
Ci0jcHJhZ21hIG9uY2UKLQotI2lmIEhBVkUoTE9BRF9PUFRJTUlaRVIpCi0jaW5jbHVkZSA8V2Vi
S2l0QWRkaXRpb25zL0xvYWRPcHRpbWl6ZXJBZGRpdGlvbnMuaD4KLSNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvTG9hZE9wdGltaXplci5tbSBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL0xvYWRPcHRpbWl6ZXIubW0KZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDIxNWNlYmZkOWRjLi4wMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9Db2NvYS9Mb2FkT3B0aW1pemVyLm1tCisrKyAvZGV2L251bGwKQEAgLTEs
MzEgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6
Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
Ci0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbXBvcnQgImNvbmZpZy5oIgotI2ltcG9ydCAiTG9h
ZE9wdGltaXplci5oIgotCi0jaWYgSEFWRShMT0FEX09QVElNSVpFUikKLSNpbXBvcnQgPFdlYktp
dEFkZGl0aW9ucy9Mb2FkT3B0aW1pemVyQWRkaXRpb25zLm1tPgotI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3RhdGUubW0gYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3RhdGUubW0KaW5kZXggNmE0N2Nl
YWU5M2MuLjMxNmI4YzBhMzZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9D
b2NvYS9OYXZpZ2F0aW9uU3RhdGUubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29j
b2EvTmF2aWdhdGlvblN0YXRlLm1tCkBAIC0zNyw3ICszNyw2IEBACiAjaW1wb3J0ICJBdXRoZW50
aWNhdGlvbkNoYWxsZW5nZURpc3Bvc2l0aW9uLmgiCiAjaW1wb3J0ICJBdXRoZW50aWNhdGlvbkRl
Y2lzaW9uTGlzdGVuZXIuaCIKICNpbXBvcnQgIkNvbXBsZXRpb25IYW5kbGVyQ2FsbENoZWNrZXIu
aCIKLSNpbXBvcnQgIkxvYWRPcHRpbWl6ZXIuaCIKICNpbXBvcnQgIkxvZ2dpbmcuaCIKICNpbXBv
cnQgIk5hdmlnYXRpb25BY3Rpb25EYXRhLmgiCiAjaW1wb3J0ICJQYWdlTG9hZFN0YXRlLmgiCkBA
IC03OSw2ICs3OCwxMCBAQAogI2ltcG9ydCA8cGFsL3NwaS9jb2NvYS9MYXVuY2hTZXJ2aWNlc1NQ
SS5oPgogI2VuZGlmCiAKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2ltcG9ydCA8V2Vi
S2l0QWRkaXRpb25zL05hdmlnYXRpb25TdGF0ZUFkZGl0aW9ucy5tbT4KKyNlbmRpZgorCiAjaWYg
VVNFKFFVSUNLX0xPT0spCiAjaW1wb3J0ICJRdWlja0xvb2tEb2N1bWVudERhdGEuaCIKICNlbmRp
ZgpAQCAtNDY1LDI5ICs0NjgsMzQgQEAgYm9vbCBOYXZpZ2F0aW9uU3RhdGU6Ok5hdmlnYXRpb25D
bGllbnQ6OndpbGxHb1RvQmFja0ZvcndhcmRMaXN0SXRlbShXZWJQYWdlUHJveHkKIH0KICNlbmRp
ZgogCisjaWYgIVVTRShBUFBMRV9JTlRFUk5BTF9TREspCitzdGF0aWMgdm9pZCB0cnlPcHRpbWl6
aW5nTG9hZChjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmLCBXZWJQYWdlUHJveHkmLCBG
dW5jdGlvbjx2b2lkKGJvb2wpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQoreworICAgIGNvbXBsZXRp
b25IYW5kbGVyKGZhbHNlKTsKK30KKyNlbmRpZgorCiBzdGF0aWMgdm9pZCB0cnlJbnRlcmNlcHRO
YXZpZ2F0aW9uKFJlZjxBUEk6Ok5hdmlnYXRpb25BY3Rpb24+JiYgbmF2aWdhdGlvbkFjdGlvbiwg
V2ViUGFnZVByb3h5JiBwYWdlLCBXVEY6OkZ1bmN0aW9uPHZvaWQoYm9vbCk+JiYgY29tcGxldGlv
bkhhbmRsZXIpCiB7CiAjaWYgSEFWRShBUFBfTElOS1MpCiAgICAgaWYgKG5hdmlnYXRpb25BY3Rp
b24tPnNob3VsZE9wZW5BcHBMaW5rcygpKSB7Ci0gICAgICAgIGF1dG8qIGxvY2FsQ29tcGxldGlv
bkhhbmRsZXIgPSBuZXcgV1RGOjpGdW5jdGlvbjx2b2lkIChib29sKT4oV1RGTW92ZShjb21wbGV0
aW9uSGFuZGxlcikpOwotICAgICAgICBbTFNBcHBMaW5rIG9wZW5XaXRoVVJMOm5hdmlnYXRpb25B
Y3Rpb24tPnJlcXVlc3QoKS51cmwoKSBjb21wbGV0aW9uSGFuZGxlcjpbbG9jYWxDb21wbGV0aW9u
SGFuZGxlcl0oQk9PTCBzdWNjZXNzLCBOU0Vycm9yICopIHsKLSAgICAgICAgICAgIGRpc3BhdGNo
X2FzeW5jKGRpc3BhdGNoX2dldF9tYWluX3F1ZXVlKCksIFtsb2NhbENvbXBsZXRpb25IYW5kbGVy
LCBzdWNjZXNzXSB7Ci0gICAgICAgICAgICAgICAgKCpsb2NhbENvbXBsZXRpb25IYW5kbGVyKShz
dWNjZXNzKTsKLSAgICAgICAgICAgICAgICBkZWxldGUgbG9jYWxDb21wbGV0aW9uSGFuZGxlcjsK
KyAgICAgICAgYXV0byBjYWxsYmFjayA9IG1ha2VCbG9ja1B0cihbcmVxdWVzdCA9IG5hdmlnYXRp
b25BY3Rpb24tPnJlcXVlc3QoKS5pc29sYXRlZENvcHkoKSwgd2Vha1BhZ2UgPSBtYWtlV2Vha1B0
cihwYWdlKSwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0g
KEJPT0wgc3VjY2VzcywgTlNFcnJvciAqKSBtdXRhYmxlIHsKKyAgICAgICAgICAgIFJ1bkxvb3A6
Om1haW4oKS5kaXNwYXRjaChbcmVxdWVzdCA9IHJlcXVlc3QuaXNvbGF0ZWRDb3B5KCksIHdlYWtQ
YWdlLCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpLCBzdWNj
ZXNzXSgpIG11dGFibGUgeworICAgICAgICAgICAgICAgIGlmICghc3VjY2VzcyAmJiB3ZWFrUGFn
ZSkgeworICAgICAgICAgICAgICAgICAgICB0cnlPcHRpbWl6aW5nTG9hZChyZXF1ZXN0LCAqd2Vh
a1BhZ2UsIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKKyAgICAgICAgICAgICAgICAgICAg
cmV0dXJuOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBjb21wbGV0aW9uSGFu
ZGxlcihzdWNjZXNzKTsKICAgICAgICAgICAgIH0pOwotICAgICAgICB9XTsKKyAgICAgICAgfSk7
CisgICAgICAgIFtMU0FwcExpbmsgb3BlbldpdGhVUkw6bmF2aWdhdGlvbkFjdGlvbi0+cmVxdWVz
dCgpLnVybCgpIGNvbXBsZXRpb25IYW5kbGVyOmNhbGxiYWNrLmdldCgpXTsKICAgICAgICAgcmV0
dXJuOwogICAgIH0KICNlbmRpZgogCiAjaWYgSEFWRShMT0FEX09QVElNSVpFUikKLSAgICBpZiAo
TG9hZE9wdGltaXplcjo6Y2FuT3B0aW1pemVMb2FkKG5hdmlnYXRpb25BY3Rpb24tPnJlcXVlc3Qo
KS51cmwoKSkpIHsKLSAgICAgICAgcGFnZS53ZWJzaXRlRGF0YVN0b3JlKCkubG9hZE9wdGltaXpl
cigpLm9wdGltaXplTG9hZChuYXZpZ2F0aW9uQWN0aW9uLT5yZXF1ZXN0KCksIHBhZ2UsIFdURk1v
dmUoY29tcGxldGlvbkhhbmRsZXIpKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KKyAgICB0cnlP
cHRpbWl6aW5nTG9hZChuYXZpZ2F0aW9uQWN0aW9uLT5yZXF1ZXN0KCksIHBhZ2UsIFdURk1vdmUo
Y29tcGxldGlvbkhhbmRsZXIpKTsKICNlbmRpZgotCi0gICAgY29tcGxldGlvbkhhbmRsZXIoZmFs
c2UpOwogfQogCiB2b2lkIE5hdmlnYXRpb25TdGF0ZTo6TmF2aWdhdGlvbkNsaWVudDo6ZGVjaWRl
UG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbihXZWJQYWdlUHJveHkmIHdlYlBhZ2VQcm94eSwgUmVm
PEFQSTo6TmF2aWdhdGlvbkFjdGlvbj4mJiBuYXZpZ2F0aW9uQWN0aW9uLCBSZWY8V2ViRnJhbWVQ
b2xpY3lMaXN0ZW5lclByb3h5PiYmIGxpc3RlbmVyLCBBUEk6Ok9iamVjdCogdXNlckluZm8pCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0
YVN0b3JlLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVE
YXRhU3RvcmUuY3BwCmluZGV4IGEwZjhmNjhmN2ViLi5mNjE2YzA2MDk5NSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9y
ZS5jcHAKQEAgLTU3LDEwICs1Nyw2IEBACiAjaW5jbHVkZSA8d3RmL1Byb2Nlc3NQcml2aWxlZ2Uu
aD4KICNpbmNsdWRlIDx3dGYvUnVuTG9vcC5oPgogCi0jaWYgSEFWRShMT0FEX09QVElNSVpFUikK
LSNpbmNsdWRlICJMb2FkT3B0aW1pemVyLmgiCi0jZW5kaWYKLQogI2lmIEVOQUJMRShORVRTQ0FQ
RV9QTFVHSU5fQVBJKQogI2luY2x1ZGUgIlBsdWdpblByb2Nlc3NNYW5hZ2VyLmgiCiAjZW5kaWYK
QEAgLTEwNSwxMCArMTAxLDEwIEBAIFdlYnNpdGVEYXRhU3RvcmU6OldlYnNpdGVEYXRhU3RvcmUo
UmVmPFdlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uPiYmIGNvbmZpZ3VyCiAgICAgLCBtX2F1
dGhlbnRpY2F0b3JNYW5hZ2VyKG1ha2VVbmlxdWVSZWY8QXV0aGVudGljYXRvck1hbmFnZXI+KCkp
CiAjZW5kaWYKICAgICAsIG1fY2xpZW50KG1ha2VVbmlxdWVSZWY8V2Vic2l0ZURhdGFTdG9yZUNs
aWVudD4oKSkKK3sKICNpZiBIQVZFKExPQURfT1BUSU1JWkVSKQotICAgICwgbV9sb2FkT3B0aW1p
emVyKG1ha2VVbmlxdWVSZWY8TG9hZE9wdGltaXplcj4oKSkKK1dFQlNJVEVEQVRBU1RPUkVfTE9B
RE9QVElNSVpFUl9BRERJVElPTlNfMgogI2VuZGlmCi17CiAgICAgV1RGOjpzZXRQcm9jZXNzUHJp
dmlsZWdlcyhhbGxQcml2aWxlZ2VzKCkpOwogICAgIG1heWJlUmVnaXN0ZXJXaXRoU2Vzc2lvbklE
TWFwKCk7CiAgICAgcGxhdGZvcm1Jbml0aWFsaXplKCk7CkBAIC0xMjYsMTAgKzEyMiwxMCBAQCBX
ZWJzaXRlRGF0YVN0b3JlOjpXZWJzaXRlRGF0YVN0b3JlKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25J
RCkKICAgICAsIG1fYXV0aGVudGljYXRvck1hbmFnZXIobWFrZVVuaXF1ZVJlZjxBdXRoZW50aWNh
dG9yTWFuYWdlcj4oKSkKICNlbmRpZgogICAgICwgbV9jbGllbnQobWFrZVVuaXF1ZVJlZjxXZWJz
aXRlRGF0YVN0b3JlQ2xpZW50PigpKQorewogI2lmIEhBVkUoTE9BRF9PUFRJTUlaRVIpCi0gICAg
LCBtX2xvYWRPcHRpbWl6ZXIobWFrZVVuaXF1ZVJlZjxMb2FkT3B0aW1pemVyPigpKQorV0VCU0lU
RURBVEFTVE9SRV9MT0FET1BUSU1JWkVSX0FERElUSU9OU18yCiAjZW5kaWYKLXsKICAgICBtYXli
ZVJlZ2lzdGVyV2l0aFNlc3Npb25JRE1hcCgpOwogICAgIHBsYXRmb3JtSW5pdGlhbGl6ZSgpOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRl
RGF0YVN0b3JlLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRl
RGF0YVN0b3JlLmgKaW5kZXggZGI2NTJlNjBiYmEuLmU0OGJmOGI3ZTdhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmgKKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5o
CkBAIC01Miw2ICs1MiwxMCBAQAogI2luY2x1ZGUgPFdlYkNvcmUvQ3VybFByb3h5U2V0dGluZ3Mu
aD4KICNlbmRpZgogCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNpbmNsdWRlIDxXZWJL
aXRBZGRpdGlvbnMvV2Vic2l0ZURhdGFTdG9yZUFkZGl0aW9ucy5oPgorI2VuZGlmCisKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIGNsYXNzIFNlY3VyaXR5T3JpZ2luOwogfQpAQCAtNTksNyArNjMsNiBA
QCBjbGFzcyBTZWN1cml0eU9yaWdpbjsKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBBdXRo
ZW50aWNhdG9yTWFuYWdlcjsKLWNsYXNzIExvYWRPcHRpbWl6ZXI7CiBjbGFzcyBTZWNLZXlQcm94
eVN0b3JlOwogY2xhc3MgU3RvcmFnZU1hbmFnZXI7CiBjbGFzcyBEZXZpY2VJZEhhc2hTYWx0U3Rv
cmFnZTsKQEAgLTIyOCw3ICsyMzEsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRDbGllbnQoVW5p
cXVlUmVmPFdlYnNpdGVEYXRhU3RvcmVDbGllbnQ+JiYgY2xpZW50KSB7IG1fY2xpZW50ID0gV1RG
TW92ZShjbGllbnQpOyB9CiAKICNpZiBIQVZFKExPQURfT1BUSU1JWkVSKQotICAgIExvYWRPcHRp
bWl6ZXImIGxvYWRPcHRpbWl6ZXIoKSB7IHJldHVybiBtX2xvYWRPcHRpbWl6ZXIuZ2V0KCk7IH0K
K1dFQlNJVEVEQVRBU1RPUkVfTE9BRE9QVElNSVpFUl9BRERJVElPTlNfMQogI2VuZGlmCiAKIHBy
aXZhdGU6CkBAIC0zMDMsMTAgKzMwNiw2IEBAIHByaXZhdGU6CiAjZW5kaWYKIAogICAgIFVuaXF1
ZVJlZjxXZWJzaXRlRGF0YVN0b3JlQ2xpZW50PiBtX2NsaWVudDsKLQotI2lmIEhBVkUoTE9BRF9P
UFRJTUlaRVIpCi0gICAgVW5pcXVlUmVmPExvYWRPcHRpbWl6ZXI+IG1fbG9hZE9wdGltaXplcjsK
LSNlbmRpZgogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKaW5kZXggMmEyMmQ1NWZhZTcuLjBlZjhiYjA0Mzk5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJj
ZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEwMjQsNyArMTAy
NCw2IEBACiAJCTU3NTk3RUJEMjE4MTg0OTAwMDM3RjkyNCAvKiBDdGFwSGlkQXV0aGVudGljYXRv
ci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTc1OTdF
QkIyMTgxODQ4RjAwMzdGOTI0IC8qIEN0YXBIaWRBdXRoZW50aWNhdG9yLmggKi87IH07CiAJCTU3
NzJGMjA2MjE3REJENkEwMDU2QkYyQyAvKiBIaWRTZXJ2aWNlLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1NzcyRjIwNDIxN0RCRDZBMDA1NkJGMkMgLyog
SGlkU2VydmljZS5oICovOyB9OwogCQk1NzhEQzI5ODIxNTVBMDAyMDA3NEU4MTUgLyogTG9jYWxB
dXRoZW50aWNhdGlvblNvZnRMaW5rLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA1NzhEQzI5NzIxNTVBMDAxMDA3NEU4MTUgLyogTG9jYWxBdXRoZW50aWNh
dGlvblNvZnRMaW5rLmggKi87IH07Ci0JCTU3OTAwQjQwMjFGOEY5QjgwMDgzMTdERSAvKiBMb2Fk
T3B0aW1pemVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1NzkwMEIzRTIxRjhGOUI4MDA4MzE3REUgLyogTG9hZE9wdGltaXplci5oICovOyB9OwogCQk1
N0FDOEY1MDIxN0ZFRUQ5MDA1NTQzOEMgLyogSGlkQ29ubmVjdGlvbi5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTdBQzhGNEUyMTdGRUVEOTAwNTU0MzhD
IC8qIEhpZENvbm5lY3Rpb24uaCAqLzsgfTsKIAkJNTdCNEI0NjAyMEI1MDRBQzAwRDRBRDc5IC8q
IENsaWVudENlcnRpZmljYXRlQXV0aGVudGljYXRpb25YUENDb25zdGFudHMuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3QjRCNDVFMjBCNTA0QUIwMEQ0
QUQ3OSAvKiBDbGllbnRDZXJ0aWZpY2F0ZUF1dGhlbnRpY2F0aW9uWFBDQ29uc3RhbnRzLmggKi87
IH07CiAJCTU3RENFRDZFMjE0MkVFNUUwMDE2Qjg0NyAvKiBXZWJBdXRoZW50aWNhdG9yQ29vcmRp
bmF0b3JNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNTdEQ0VENkIyMTQyRUFFMjAwMTZCODQ3IC8qIFdlYkF1dGhlbnRpY2F0
b3JDb29yZGluYXRvck1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CkBAIC0zMzc1LDggKzMzNzQs
NiBAQAogCQk1NzcyRjIwNDIxN0RCRDZBMDA1NkJGMkMgLyogSGlkU2VydmljZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBIaWRTZXJ2aWNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU3NzJG
MjA1MjE3REJENkEwMDU2QkYyQyAvKiBIaWRTZXJ2aWNlLm1tICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRo
ID0gSGlkU2VydmljZS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTc4REMyOTcy
MTU1QTAwMTAwNzRFODE1IC8qIExvY2FsQXV0aGVudGljYXRpb25Tb2Z0TGluay5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBMb2NhbEF1dGhlbnRpY2F0aW9uU29mdExpbmsuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKLQkJNTc5MDBCM0UyMUY4RjlCODAwODMxN0RFIC8qIExvYWRPcHRpbWl6ZXIuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gTG9hZE9wdGltaXplci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwotCQk1NzkwMEIzRjIxRjhGOUI4MDA4MzE3REUgLyogTG9hZE9wdGltaXplci5tbSAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
Lm9iamNwcDsgcGF0aCA9IExvYWRPcHRpbWl6ZXIubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTU3QUM4RjRFMjE3RkVFRDkwMDU1NDM4QyAvKiBIaWRDb25uZWN0aW9uLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEhpZENvbm5lY3Rpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NTdBQzhGNEYyMTdGRUVEOTAwNTU0MzhDIC8qIEhpZENvbm5lY3Rpb24ubW0gKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpj
cHA7IHBhdGggPSBIaWRDb25uZWN0aW9uLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk1N0I0QjQ1RDIwQjUwNEFCMDBENEFENzkgLyogQXV0aGVudGljYXRpb25NYW5hZ2VyQ29jb2Eu
bW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBBdXRoZW50aWNhdGlv
bk1hbmFnZXJDb2NvYS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTUzMTcsOCAr
NTMxNCw2IEBACiAJCQkJNTFDMEM5NzMxRERENzRGMDAwMzJDQUQzIC8qIEljb25Mb2FkaW5nRGVs
ZWdhdGUubW0gKi8sCiAJCQkJN0E4MjFGNEIxRTJGNjY0ODAwNjA0NTc3IC8qIExlZ2FjeUN1c3Rv
bVByb3RvY29sTWFuYWdlckNsaWVudC5oICovLAogCQkJCTdBODIxRjREMUUyRjY3OUUwMDYwNDU3
NyAvKiBMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJDbGllbnQubW0gKi8sCi0JCQkJNTc5MDBC
M0UyMUY4RjlCODAwODMxN0RFIC8qIExvYWRPcHRpbWl6ZXIuaCAqLywKLQkJCQk1NzkwMEIzRjIx
RjhGOUI4MDA4MzE3REUgLyogTG9hZE9wdGltaXplci5tbSAqLywKIAkJCQk0MTEyODZFRjIxQzhB
OTBDMDAzQTg1NTAgLyogTWVkaWFDYXB0dXJlVXRpbGl0aWVzLmggKi8sCiAJCQkJNDExMjg2RjAy
MUM4QTkwRDAwM0E4NTUwIC8qIE1lZGlhQ2FwdHVyZVV0aWxpdGllcy5tbSAqLywKIAkJCQkxQUJD
M0RGNDE4OTlFNDM3MDA0RjA2MjYgLyogTmF2aWdhdGlvblN0YXRlLmggKi8sCkBAIC05MTIyLDcg
KzkxMTcsNiBAQAogCQkJCTQxMzA3NUFEMURFODVGNTgwMDM5RUM2OSAvKiBMaWJXZWJSVENTb2Nr
ZXQuaCBpbiBIZWFkZXJzICovLAogCQkJCTQxREM0NTlDMUUzREJCMjgwMEIxMUY1MSAvKiBMaWJX
ZWJSVENTb2NrZXRDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTQxMzA3NUIyMURFODVGNTgw
MDM5RUM2OSAvKiBMaWJXZWJSVENTb2NrZXRGYWN0b3J5LmggaW4gSGVhZGVycyAqLywKLQkJCQk1
NzkwMEI0MDIxRjhGOUI4MDA4MzE3REUgLyogTG9hZE9wdGltaXplci5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMkQxMDg3NjExRDJDNTczRTAwQjg1RjgyIC8qIExvYWRQYXJhbWV0ZXJzLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk1NzhEQzI5ODIxNTVBMDAyMDA3NEU4MTUgLyogTG9jYWxBdXRoZW50aWNh
dGlvblNvZnRMaW5rLmggaW4gSGVhZGVycyAqLywKIAkJCQk1N0RDRURBQzIxNEM2MDI3MDAxNkI4
NDcgLyogTG9jYWxBdXRoZW50aWNhdG9yLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1Rv
b2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA4OGYxYzJhNDY5My4uYWVhZTMx
ZGYyZjAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNCBAQAorMjAxOS0wMS0zMSAgSmlld2VuIFRhbiAgPGppZXdlbl90YW5AYXBw
bGUuY29tPgorCisgICAgICAgIEZvcm1hbGl6ZSBXZWJLaXRBZGRpdGlvbnMgbWVjaGFuaXNtIG9m
IExvYWRPcHRpbWl6ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE5Mzg4NgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDc2OTY4MDk+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBNaW5pQnJvd3Nlci9N
aW5pQnJvd3Nlci5lbnRpdGxlbWVudHM6CisgICAgICAgIE1ha2UgY29tLmFwcGxlLnNlY3VyaXR5
LnRlbXBvcmFyeS1leGNlcHRpb24ubWFjaC1sb29rdXAuZ2xvYmFsLW5hbWUgYW4gYXJyYXkuCisK
IDIwMTktMDEtMjkgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAg
IEFkb3B0IG5ldyBTUEkgdG8gZXZhbHVhdGUgc2VydmVyIGNlcnRpZmljYXRlIHRydXN0CmRpZmYg
LS1naXQgYS9Ub29scy9NaW5pQnJvd3Nlci9NaW5pQnJvd3Nlci5lbnRpdGxlbWVudHMgYi9Ub29s
cy9NaW5pQnJvd3Nlci9NaW5pQnJvd3Nlci5lbnRpdGxlbWVudHMKaW5kZXggZTA4NWY0ZWE3NTku
LmU2ZTVhOWRkMzlmIDEwMDY0NAotLS0gYS9Ub29scy9NaW5pQnJvd3Nlci9NaW5pQnJvd3Nlci5l
bnRpdGxlbWVudHMKKysrIGIvVG9vbHMvTWluaUJyb3dzZXIvTWluaUJyb3dzZXIuZW50aXRsZW1l
bnRzCkBAIC01LDcgKzUsOSBAQAogCTxrZXk+Y29tLmFwcGxlLnNlY3VyaXR5LmRldmljZS51c2I8
L2tleT4KIAk8dHJ1ZS8+CiAJPGtleT5jb20uYXBwbGUuc2VjdXJpdHkudGVtcG9yYXJ5LWV4Y2Vw
dGlvbi5tYWNoLWxvb2t1cC5nbG9iYWwtbmFtZTwva2V5PgotCTxzdHJpbmc+Y29tLmFwcGxlLlNh
ZmFyaS5TYWZlQnJvd3NpbmcuU2VydmljZTwvc3RyaW5nPgorCTxhcnJheT4KKwkJPHN0cmluZz5j
b20uYXBwbGUuU2FmYXJpLlNhZmVCcm93c2luZy5TZXJ2aWNlPC9zdHJpbmc+CisJPC9hcnJheT4K
IAk8a2V5PmNvbS5hcHBsZS5zZWN1cml0eS5hcHAtc2FuZGJveDwva2V5PgogCTx0cnVlLz4KIAk8
a2V5PmNvbS5hcHBsZS5zZWN1cml0eS5uZXR3b3JrLmNsaWVudDwva2V5Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>360739</attachid>
            <date>2019-01-31 10:19:08 -0800</date>
            <delta_ts>2019-01-31 12:01:13 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>WIP.patch</filename>
            <type>text/plain</type>
            <size>17429</size>
            <attacher name="Jiewen Tan">jiewen_tan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAxNTM0YmNkMWE0My4uZWJmZDc2Yjg4MDcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNiBAQAorMjAxOS0wMS0zMSAgSmlld2VuIFRhbiAgPGppZXdlbl90YW5AYXBwbGUuY29t
PgorCisgICAgICAgIEZvcm1hbGl6ZSBXZWJLaXRBZGRpdGlvbnMgbWVjaGFuaXNtIG9mIExvYWRP
cHRpbWl6ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE5Mzg4NgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDc2OTY4MDk+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ292ZXJlZCBieSBleGlzdGluZyB0
ZXN0cy4KKworICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5o
OgorICAgICAgICBFeHBvcnQgaXNvbGF0ZWRDb3B5KCkuCisKIDIwMTktMDEtMjkgIEFuZHkgRXN0
ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIFRyeSB0byBmaXggdGhlIHdhdGNoT1Mg
YnVpbGQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291
cmNlUmVxdWVzdEJhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3Vy
Y2VSZXF1ZXN0QmFzZS5oCmluZGV4IGI0NzAyNzRiMTE1Li45MjdmNDNhY2E5NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNl
LmgKQEAgLTU3LDcgKzU3LDcgQEAgY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIGNsYXNzIFJlc291
cmNlUmVxdWVzdEJhc2UgewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgot
ICAgIFJlc291cmNlUmVxdWVzdCBpc29sYXRlZENvcHkoKSBjb25zdDsKKyAgICBXRUJDT1JFX0VY
UE9SVCBSZXNvdXJjZVJlcXVlc3QgaXNvbGF0ZWRDb3B5KCkgY29uc3Q7CiAgICAgV0VCQ09SRV9F
WFBPUlQgdm9pZCBzZXRBc0lzb2xhdGVkQ29weShjb25zdCBSZXNvdXJjZVJlcXVlc3QmKTsKIAog
ICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgaXNOdWxsKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDg3ODA2
NmQ1NGI3Li41ZWYyZTcyM2Y0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOCBAQAorMjAxOS0wMS0z
MSAgSmlld2VuIFRhbiAgPGppZXdlbl90YW5AYXBwbGUuY29tPgorCisgICAgICAgIEZvcm1hbGl6
ZSBXZWJLaXRBZGRpdGlvbnMgbWVjaGFuaXNtIG9mIExvYWRPcHRpbWl6ZXIKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5Mzg4NgorICAgICAgICA8cmRh
cjovL3Byb2JsZW0vNDc2OTY4MDk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBkb2VzIHRoZSBmb2xsb3dpbmcgZmV3IHRoaW5nczoK
KyAgICAgICAgMSkgZm9ybWFsaXplcyBXZWJLaXRBZGRpdGlvbnMgbWVjaGFuaXNtIG9mIExvYWRP
cHRpbWl6ZXI7CisgICAgICAgIDIpIG1vZGVybml6ZXMgQXBwTGlua3MgY29kZSBpbiB0cnlJbnRl
cmNlcHROYXZpZ2F0aW9uIHRvIHVzZSBCbG9ja1B0cjsKKyAgICAgICAgMykgbGV0cyBBcHBMaW5r
cyBoYXZlIGhpZ2hlciBwcmVjZWRlbmNlIHRoYW4gTG9hZE9wdGltaXplci4KKworICAgICAgICAq
IFNvdXJjZXNDb2NvYS50eHQ6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL0xvYWRPcHRpbWl6
ZXIuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvTG9hZE9wdGltaXplci5t
bTogUmVtb3ZlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvTmF2aWdhdGlvblN0YXRlLm1t
OgorICAgICAgICAoV2ViS2l0Ojp0cnlPcHRpbWl6aW5nTG9hZCk6CisgICAgICAgIChXZWJLaXQ6
OnRyeUludGVyY2VwdE5hdmlnYXRpb24pOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJzaXRlRGF0
YS9XZWJzaXRlRGF0YVN0b3JlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vic2l0ZURhdGFTdG9y
ZTo6V2Vic2l0ZURhdGFTdG9yZSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dl
YnNpdGVEYXRhU3RvcmUuaDoKKyAgICAgICAgKFdlYktpdDo6V2Vic2l0ZURhdGFTdG9yZTo6bG9h
ZE9wdGltaXplcik6IERlbGV0ZWQuCisgICAgICAgICogV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2o6CisKIDIwMTktMDEtMjkgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29t
PgogCiAgICAgICAgIEFkb3B0IG5ldyBTUEkgdG8gZXZhbHVhdGUgc2VydmVyIGNlcnRpZmljYXRl
IHRydXN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQgYi9Tb3Vy
Y2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQKaW5kZXggY2JmMmU5ZGVhYjMuLjFjZjgyNDkzMTA3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQKKysrIGIvU291cmNl
L1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CkBAIC0zMjQsNyArMzI0LDYgQEAgVUlQcm9jZXNzL0Nv
Y29hL0Z1bGxzY3JlZW5DbGllbnQubW0KIFVJUHJvY2Vzcy9Db2NvYS9HbG9iYWxGaW5kSW5QYWdl
U3RhdGUubW0KIFVJUHJvY2Vzcy9Db2NvYS9JY29uTG9hZGluZ0RlbGVnYXRlLm1tCiBVSVByb2Nl
c3MvQ29jb2EvTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyQ2xpZW50Lm1tCi1VSVByb2Nlc3Mv
Q29jb2EvTG9hZE9wdGltaXplci5tbQogVUlQcm9jZXNzL0NvY29hL01lZGlhQ2FwdHVyZVV0aWxp
dGllcy5tbQogVUlQcm9jZXNzL0NvY29hL05hdmlnYXRpb25TdGF0ZS5tbQogVUlQcm9jZXNzL0Nv
Y29hL1BhZ2VDbGllbnRJbXBsQ29jb2EubW0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0NvY29hL0xvYWRPcHRpbWl6ZXIuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0Nv
Y29hL0xvYWRPcHRpbWl6ZXIuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWNlY2Yw
NDVlOGMuLjAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL0xv
YWRPcHRpbWl6ZXIuaAorKysgL2Rldi9udWxsCkBAIC0xLDMwICswLDAgQEAKLS8qCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgot
ICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgot
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICog
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwot
Ci0jcHJhZ21hIG9uY2UKLQotI2lmIEhBVkUoTE9BRF9PUFRJTUlaRVIpCi0jaW5jbHVkZSA8V2Vi
S2l0QWRkaXRpb25zL0xvYWRPcHRpbWl6ZXJBZGRpdGlvbnMuaD4KLSNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvTG9hZE9wdGltaXplci5tbSBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL0xvYWRPcHRpbWl6ZXIubW0KZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDIxNWNlYmZkOWRjLi4wMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9Db2NvYS9Mb2FkT3B0aW1pemVyLm1tCisrKyAvZGV2L251bGwKQEAgLTEs
MzEgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6
Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
Ci0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbXBvcnQgImNvbmZpZy5oIgotI2ltcG9ydCAiTG9h
ZE9wdGltaXplci5oIgotCi0jaWYgSEFWRShMT0FEX09QVElNSVpFUikKLSNpbXBvcnQgPFdlYktp
dEFkZGl0aW9ucy9Mb2FkT3B0aW1pemVyQWRkaXRpb25zLm1tPgotI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3RhdGUubW0gYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3RhdGUubW0KaW5kZXggNmE0N2Nl
YWU5M2MuLmY0NDQ3OTZhMjM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9D
b2NvYS9OYXZpZ2F0aW9uU3RhdGUubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29j
b2EvTmF2aWdhdGlvblN0YXRlLm1tCkBAIC0zNyw3ICszNyw2IEBACiAjaW1wb3J0ICJBdXRoZW50
aWNhdGlvbkNoYWxsZW5nZURpc3Bvc2l0aW9uLmgiCiAjaW1wb3J0ICJBdXRoZW50aWNhdGlvbkRl
Y2lzaW9uTGlzdGVuZXIuaCIKICNpbXBvcnQgIkNvbXBsZXRpb25IYW5kbGVyQ2FsbENoZWNrZXIu
aCIKLSNpbXBvcnQgIkxvYWRPcHRpbWl6ZXIuaCIKICNpbXBvcnQgIkxvZ2dpbmcuaCIKICNpbXBv
cnQgIk5hdmlnYXRpb25BY3Rpb25EYXRhLmgiCiAjaW1wb3J0ICJQYWdlTG9hZFN0YXRlLmgiCkBA
IC03OSw2ICs3OCwxMCBAQAogI2ltcG9ydCA8cGFsL3NwaS9jb2NvYS9MYXVuY2hTZXJ2aWNlc1NQ
SS5oPgogI2VuZGlmCiAKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2ltcG9ydCA8V2Vi
S2l0QWRkaXRpb25zL05hdmlnYXRpb25TdGF0ZUFkZGl0aW9ucy5tbT4KKyNlbmRpZgorCiAjaWYg
VVNFKFFVSUNLX0xPT0spCiAjaW1wb3J0ICJRdWlja0xvb2tEb2N1bWVudERhdGEuaCIKICNlbmRp
ZgpAQCAtNDY1LDI5ICs0NjgsMzIgQEAgYm9vbCBOYXZpZ2F0aW9uU3RhdGU6Ok5hdmlnYXRpb25D
bGllbnQ6OndpbGxHb1RvQmFja0ZvcndhcmRMaXN0SXRlbShXZWJQYWdlUHJveHkKIH0KICNlbmRp
ZgogCisjaWYgIVVTRShBUFBMRV9JTlRFUk5BTF9TREspCitzdGF0aWMgdm9pZCB0cnlPcHRpbWl6
aW5nTG9hZChjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmLCBXZWJQYWdlUHJveHkmLCBG
dW5jdGlvbjx2b2lkKGJvb2wpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQoreworICAgIGNvbXBsZXRp
b25IYW5kbGVyKGZhbHNlKTsKK30KKyNlbmRpZgorCiBzdGF0aWMgdm9pZCB0cnlJbnRlcmNlcHRO
YXZpZ2F0aW9uKFJlZjxBUEk6Ok5hdmlnYXRpb25BY3Rpb24+JiYgbmF2aWdhdGlvbkFjdGlvbiwg
V2ViUGFnZVByb3h5JiBwYWdlLCBXVEY6OkZ1bmN0aW9uPHZvaWQoYm9vbCk+JiYgY29tcGxldGlv
bkhhbmRsZXIpCiB7CiAjaWYgSEFWRShBUFBfTElOS1MpCiAgICAgaWYgKG5hdmlnYXRpb25BY3Rp
b24tPnNob3VsZE9wZW5BcHBMaW5rcygpKSB7Ci0gICAgICAgIGF1dG8qIGxvY2FsQ29tcGxldGlv
bkhhbmRsZXIgPSBuZXcgV1RGOjpGdW5jdGlvbjx2b2lkIChib29sKT4oV1RGTW92ZShjb21wbGV0
aW9uSGFuZGxlcikpOwotICAgICAgICBbTFNBcHBMaW5rIG9wZW5XaXRoVVJMOm5hdmlnYXRpb25B
Y3Rpb24tPnJlcXVlc3QoKS51cmwoKSBjb21wbGV0aW9uSGFuZGxlcjpbbG9jYWxDb21wbGV0aW9u
SGFuZGxlcl0oQk9PTCBzdWNjZXNzLCBOU0Vycm9yICopIHsKLSAgICAgICAgICAgIGRpc3BhdGNo
X2FzeW5jKGRpc3BhdGNoX2dldF9tYWluX3F1ZXVlKCksIFtsb2NhbENvbXBsZXRpb25IYW5kbGVy
LCBzdWNjZXNzXSB7Ci0gICAgICAgICAgICAgICAgKCpsb2NhbENvbXBsZXRpb25IYW5kbGVyKShz
dWNjZXNzKTsKLSAgICAgICAgICAgICAgICBkZWxldGUgbG9jYWxDb21wbGV0aW9uSGFuZGxlcjsK
KyAgICAgICAgYXV0byBjYWxsYmFjayA9IG1ha2VCbG9ja1B0cihbcmVxdWVzdCA9IG5hdmlnYXRp
b25BY3Rpb24tPnJlcXVlc3QoKS5pc29sYXRlZENvcHkoKSwgd2Vha1BhZ2UgPSBtYWtlV2Vha1B0
cihwYWdlKSwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0g
KEJPT0wgc3VjY2VzcywgTlNFcnJvciAqKSBtdXRhYmxlIHsKKyAgICAgICAgICAgIFJ1bkxvb3A6
Om1haW4oKS5kaXNwYXRjaChbcmVxdWVzdCA9IHJlcXVlc3QuaXNvbGF0ZWRDb3B5KCksIHdlYWtQ
YWdlLCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpLCBzdWNj
ZXNzXSgpIG11dGFibGUgeworICAgICAgICAgICAgICAgIGlmICghc3VjY2VzcyAmJiB3ZWFrUGFn
ZSkgeworICAgICAgICAgICAgICAgICAgICB0cnlPcHRpbWl6aW5nTG9hZChyZXF1ZXN0LCAqd2Vh
a1BhZ2UsIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKKyAgICAgICAgICAgICAgICAgICAg
cmV0dXJuOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBjb21wbGV0aW9uSGFu
ZGxlcihzdWNjZXNzKTsKICAgICAgICAgICAgIH0pOwotICAgICAgICB9XTsKKyAgICAgICAgfSk7
CisgICAgICAgIFtMU0FwcExpbmsgb3BlbldpdGhVUkw6bmF2aWdhdGlvbkFjdGlvbi0+cmVxdWVz
dCgpLnVybCgpIGNvbXBsZXRpb25IYW5kbGVyOmNhbGxiYWNrLmdldCgpXTsKICAgICAgICAgcmV0
dXJuOwogICAgIH0KICNlbmRpZgogCi0jaWYgSEFWRShMT0FEX09QVElNSVpFUikKLSAgICBpZiAo
TG9hZE9wdGltaXplcjo6Y2FuT3B0aW1pemVMb2FkKG5hdmlnYXRpb25BY3Rpb24tPnJlcXVlc3Qo
KS51cmwoKSkpIHsKLSAgICAgICAgcGFnZS53ZWJzaXRlRGF0YVN0b3JlKCkubG9hZE9wdGltaXpl
cigpLm9wdGltaXplTG9hZChuYXZpZ2F0aW9uQWN0aW9uLT5yZXF1ZXN0KCksIHBhZ2UsIFdURk1v
dmUoY29tcGxldGlvbkhhbmRsZXIpKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLSNlbmRpZgot
Ci0gICAgY29tcGxldGlvbkhhbmRsZXIoZmFsc2UpOworICAgIHRyeU9wdGltaXppbmdMb2FkKG5h
dmlnYXRpb25BY3Rpb24tPnJlcXVlc3QoKSwgcGFnZSwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxl
cikpOwogfQogCiB2b2lkIE5hdmlnYXRpb25TdGF0ZTo6TmF2aWdhdGlvbkNsaWVudDo6ZGVjaWRl
UG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbihXZWJQYWdlUHJveHkmIHdlYlBhZ2VQcm94eSwgUmVm
PEFQSTo6TmF2aWdhdGlvbkFjdGlvbj4mJiBuYXZpZ2F0aW9uQWN0aW9uLCBSZWY8V2ViRnJhbWVQ
b2xpY3lMaXN0ZW5lclByb3h5PiYmIGxpc3RlbmVyLCBBUEk6Ok9iamVjdCogdXNlckluZm8pCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0
YVN0b3JlLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVE
YXRhU3RvcmUuY3BwCmluZGV4IGEwZjhmNjhmN2ViLi5mNjE2YzA2MDk5NSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9y
ZS5jcHAKQEAgLTU3LDEwICs1Nyw2IEBACiAjaW5jbHVkZSA8d3RmL1Byb2Nlc3NQcml2aWxlZ2Uu
aD4KICNpbmNsdWRlIDx3dGYvUnVuTG9vcC5oPgogCi0jaWYgSEFWRShMT0FEX09QVElNSVpFUikK
LSNpbmNsdWRlICJMb2FkT3B0aW1pemVyLmgiCi0jZW5kaWYKLQogI2lmIEVOQUJMRShORVRTQ0FQ
RV9QTFVHSU5fQVBJKQogI2luY2x1ZGUgIlBsdWdpblByb2Nlc3NNYW5hZ2VyLmgiCiAjZW5kaWYK
QEAgLTEwNSwxMCArMTAxLDEwIEBAIFdlYnNpdGVEYXRhU3RvcmU6OldlYnNpdGVEYXRhU3RvcmUo
UmVmPFdlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uPiYmIGNvbmZpZ3VyCiAgICAgLCBtX2F1
dGhlbnRpY2F0b3JNYW5hZ2VyKG1ha2VVbmlxdWVSZWY8QXV0aGVudGljYXRvck1hbmFnZXI+KCkp
CiAjZW5kaWYKICAgICAsIG1fY2xpZW50KG1ha2VVbmlxdWVSZWY8V2Vic2l0ZURhdGFTdG9yZUNs
aWVudD4oKSkKK3sKICNpZiBIQVZFKExPQURfT1BUSU1JWkVSKQotICAgICwgbV9sb2FkT3B0aW1p
emVyKG1ha2VVbmlxdWVSZWY8TG9hZE9wdGltaXplcj4oKSkKK1dFQlNJVEVEQVRBU1RPUkVfTE9B
RE9QVElNSVpFUl9BRERJVElPTlNfMgogI2VuZGlmCi17CiAgICAgV1RGOjpzZXRQcm9jZXNzUHJp
dmlsZWdlcyhhbGxQcml2aWxlZ2VzKCkpOwogICAgIG1heWJlUmVnaXN0ZXJXaXRoU2Vzc2lvbklE
TWFwKCk7CiAgICAgcGxhdGZvcm1Jbml0aWFsaXplKCk7CkBAIC0xMjYsMTAgKzEyMiwxMCBAQCBX
ZWJzaXRlRGF0YVN0b3JlOjpXZWJzaXRlRGF0YVN0b3JlKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25J
RCkKICAgICAsIG1fYXV0aGVudGljYXRvck1hbmFnZXIobWFrZVVuaXF1ZVJlZjxBdXRoZW50aWNh
dG9yTWFuYWdlcj4oKSkKICNlbmRpZgogICAgICwgbV9jbGllbnQobWFrZVVuaXF1ZVJlZjxXZWJz
aXRlRGF0YVN0b3JlQ2xpZW50PigpKQorewogI2lmIEhBVkUoTE9BRF9PUFRJTUlaRVIpCi0gICAg
LCBtX2xvYWRPcHRpbWl6ZXIobWFrZVVuaXF1ZVJlZjxMb2FkT3B0aW1pemVyPigpKQorV0VCU0lU
RURBVEFTVE9SRV9MT0FET1BUSU1JWkVSX0FERElUSU9OU18yCiAjZW5kaWYKLXsKICAgICBtYXli
ZVJlZ2lzdGVyV2l0aFNlc3Npb25JRE1hcCgpOwogICAgIHBsYXRmb3JtSW5pdGlhbGl6ZSgpOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRl
RGF0YVN0b3JlLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRl
RGF0YVN0b3JlLmgKaW5kZXggZGI2NTJlNjBiYmEuLmU0OGJmOGI3ZTdhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmgKKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5o
CkBAIC01Miw2ICs1MiwxMCBAQAogI2luY2x1ZGUgPFdlYkNvcmUvQ3VybFByb3h5U2V0dGluZ3Mu
aD4KICNlbmRpZgogCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNpbmNsdWRlIDxXZWJL
aXRBZGRpdGlvbnMvV2Vic2l0ZURhdGFTdG9yZUFkZGl0aW9ucy5oPgorI2VuZGlmCisKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIGNsYXNzIFNlY3VyaXR5T3JpZ2luOwogfQpAQCAtNTksNyArNjMsNiBA
QCBjbGFzcyBTZWN1cml0eU9yaWdpbjsKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBBdXRo
ZW50aWNhdG9yTWFuYWdlcjsKLWNsYXNzIExvYWRPcHRpbWl6ZXI7CiBjbGFzcyBTZWNLZXlQcm94
eVN0b3JlOwogY2xhc3MgU3RvcmFnZU1hbmFnZXI7CiBjbGFzcyBEZXZpY2VJZEhhc2hTYWx0U3Rv
cmFnZTsKQEAgLTIyOCw3ICsyMzEsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRDbGllbnQoVW5p
cXVlUmVmPFdlYnNpdGVEYXRhU3RvcmVDbGllbnQ+JiYgY2xpZW50KSB7IG1fY2xpZW50ID0gV1RG
TW92ZShjbGllbnQpOyB9CiAKICNpZiBIQVZFKExPQURfT1BUSU1JWkVSKQotICAgIExvYWRPcHRp
bWl6ZXImIGxvYWRPcHRpbWl6ZXIoKSB7IHJldHVybiBtX2xvYWRPcHRpbWl6ZXIuZ2V0KCk7IH0K
K1dFQlNJVEVEQVRBU1RPUkVfTE9BRE9QVElNSVpFUl9BRERJVElPTlNfMQogI2VuZGlmCiAKIHBy
aXZhdGU6CkBAIC0zMDMsMTAgKzMwNiw2IEBAIHByaXZhdGU6CiAjZW5kaWYKIAogICAgIFVuaXF1
ZVJlZjxXZWJzaXRlRGF0YVN0b3JlQ2xpZW50PiBtX2NsaWVudDsKLQotI2lmIEhBVkUoTE9BRF9P
UFRJTUlaRVIpCi0gICAgVW5pcXVlUmVmPExvYWRPcHRpbWl6ZXI+IG1fbG9hZE9wdGltaXplcjsK
LSNlbmRpZgogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKaW5kZXggMmEyMmQ1NWZhZTcuLjBlZjhiYjA0Mzk5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJj
ZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEwMjQsNyArMTAy
NCw2IEBACiAJCTU3NTk3RUJEMjE4MTg0OTAwMDM3RjkyNCAvKiBDdGFwSGlkQXV0aGVudGljYXRv
ci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTc1OTdF
QkIyMTgxODQ4RjAwMzdGOTI0IC8qIEN0YXBIaWRBdXRoZW50aWNhdG9yLmggKi87IH07CiAJCTU3
NzJGMjA2MjE3REJENkEwMDU2QkYyQyAvKiBIaWRTZXJ2aWNlLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1NzcyRjIwNDIxN0RCRDZBMDA1NkJGMkMgLyog
SGlkU2VydmljZS5oICovOyB9OwogCQk1NzhEQzI5ODIxNTVBMDAyMDA3NEU4MTUgLyogTG9jYWxB
dXRoZW50aWNhdGlvblNvZnRMaW5rLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA1NzhEQzI5NzIxNTVBMDAxMDA3NEU4MTUgLyogTG9jYWxBdXRoZW50aWNh
dGlvblNvZnRMaW5rLmggKi87IH07Ci0JCTU3OTAwQjQwMjFGOEY5QjgwMDgzMTdERSAvKiBMb2Fk
T3B0aW1pemVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1NzkwMEIzRTIxRjhGOUI4MDA4MzE3REUgLyogTG9hZE9wdGltaXplci5oICovOyB9OwogCQk1
N0FDOEY1MDIxN0ZFRUQ5MDA1NTQzOEMgLyogSGlkQ29ubmVjdGlvbi5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTdBQzhGNEUyMTdGRUVEOTAwNTU0MzhD
IC8qIEhpZENvbm5lY3Rpb24uaCAqLzsgfTsKIAkJNTdCNEI0NjAyMEI1MDRBQzAwRDRBRDc5IC8q
IENsaWVudENlcnRpZmljYXRlQXV0aGVudGljYXRpb25YUENDb25zdGFudHMuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3QjRCNDVFMjBCNTA0QUIwMEQ0
QUQ3OSAvKiBDbGllbnRDZXJ0aWZpY2F0ZUF1dGhlbnRpY2F0aW9uWFBDQ29uc3RhbnRzLmggKi87
IH07CiAJCTU3RENFRDZFMjE0MkVFNUUwMDE2Qjg0NyAvKiBXZWJBdXRoZW50aWNhdG9yQ29vcmRp
bmF0b3JNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNTdEQ0VENkIyMTQyRUFFMjAwMTZCODQ3IC8qIFdlYkF1dGhlbnRpY2F0
b3JDb29yZGluYXRvck1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CkBAIC0zMzc1LDggKzMzNzQs
NiBAQAogCQk1NzcyRjIwNDIxN0RCRDZBMDA1NkJGMkMgLyogSGlkU2VydmljZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBIaWRTZXJ2aWNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU3NzJG
MjA1MjE3REJENkEwMDU2QkYyQyAvKiBIaWRTZXJ2aWNlLm1tICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRo
ID0gSGlkU2VydmljZS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTc4REMyOTcy
MTU1QTAwMTAwNzRFODE1IC8qIExvY2FsQXV0aGVudGljYXRpb25Tb2Z0TGluay5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBMb2NhbEF1dGhlbnRpY2F0aW9uU29mdExpbmsuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKLQkJNTc5MDBCM0UyMUY4RjlCODAwODMxN0RFIC8qIExvYWRPcHRpbWl6ZXIuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gTG9hZE9wdGltaXplci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwotCQk1NzkwMEIzRjIxRjhGOUI4MDA4MzE3REUgLyogTG9hZE9wdGltaXplci5tbSAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
Lm9iamNwcDsgcGF0aCA9IExvYWRPcHRpbWl6ZXIubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTU3QUM4RjRFMjE3RkVFRDkwMDU1NDM4QyAvKiBIaWRDb25uZWN0aW9uLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEhpZENvbm5lY3Rpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NTdBQzhGNEYyMTdGRUVEOTAwNTU0MzhDIC8qIEhpZENvbm5lY3Rpb24ubW0gKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpj
cHA7IHBhdGggPSBIaWRDb25uZWN0aW9uLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk1N0I0QjQ1RDIwQjUwNEFCMDBENEFENzkgLyogQXV0aGVudGljYXRpb25NYW5hZ2VyQ29jb2Eu
bW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBBdXRoZW50aWNhdGlv
bk1hbmFnZXJDb2NvYS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTUzMTcsOCAr
NTMxNCw2IEBACiAJCQkJNTFDMEM5NzMxRERENzRGMDAwMzJDQUQzIC8qIEljb25Mb2FkaW5nRGVs
ZWdhdGUubW0gKi8sCiAJCQkJN0E4MjFGNEIxRTJGNjY0ODAwNjA0NTc3IC8qIExlZ2FjeUN1c3Rv
bVByb3RvY29sTWFuYWdlckNsaWVudC5oICovLAogCQkJCTdBODIxRjREMUUyRjY3OUUwMDYwNDU3
NyAvKiBMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJDbGllbnQubW0gKi8sCi0JCQkJNTc5MDBC
M0UyMUY4RjlCODAwODMxN0RFIC8qIExvYWRPcHRpbWl6ZXIuaCAqLywKLQkJCQk1NzkwMEIzRjIx
RjhGOUI4MDA4MzE3REUgLyogTG9hZE9wdGltaXplci5tbSAqLywKIAkJCQk0MTEyODZFRjIxQzhB
OTBDMDAzQTg1NTAgLyogTWVkaWFDYXB0dXJlVXRpbGl0aWVzLmggKi8sCiAJCQkJNDExMjg2RjAy
MUM4QTkwRDAwM0E4NTUwIC8qIE1lZGlhQ2FwdHVyZVV0aWxpdGllcy5tbSAqLywKIAkJCQkxQUJD
M0RGNDE4OTlFNDM3MDA0RjA2MjYgLyogTmF2aWdhdGlvblN0YXRlLmggKi8sCkBAIC05MTIyLDcg
KzkxMTcsNiBAQAogCQkJCTQxMzA3NUFEMURFODVGNTgwMDM5RUM2OSAvKiBMaWJXZWJSVENTb2Nr
ZXQuaCBpbiBIZWFkZXJzICovLAogCQkJCTQxREM0NTlDMUUzREJCMjgwMEIxMUY1MSAvKiBMaWJX
ZWJSVENTb2NrZXRDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTQxMzA3NUIyMURFODVGNTgw
MDM5RUM2OSAvKiBMaWJXZWJSVENTb2NrZXRGYWN0b3J5LmggaW4gSGVhZGVycyAqLywKLQkJCQk1
NzkwMEI0MDIxRjhGOUI4MDA4MzE3REUgLyogTG9hZE9wdGltaXplci5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMkQxMDg3NjExRDJDNTczRTAwQjg1RjgyIC8qIExvYWRQYXJhbWV0ZXJzLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk1NzhEQzI5ODIxNTVBMDAyMDA3NEU4MTUgLyogTG9jYWxBdXRoZW50aWNh
dGlvblNvZnRMaW5rLmggaW4gSGVhZGVycyAqLywKIAkJCQk1N0RDRURBQzIxNEM2MDI3MDAxNkI4
NDcgLyogTG9jYWxBdXRoZW50aWNhdG9yLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1Rv
b2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA4OGYxYzJhNDY5My4uYWVhZTMx
ZGYyZjAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNCBAQAorMjAxOS0wMS0zMSAgSmlld2VuIFRhbiAgPGppZXdlbl90YW5AYXBw
bGUuY29tPgorCisgICAgICAgIEZvcm1hbGl6ZSBXZWJLaXRBZGRpdGlvbnMgbWVjaGFuaXNtIG9m
IExvYWRPcHRpbWl6ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE5Mzg4NgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDc2OTY4MDk+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBNaW5pQnJvd3Nlci9N
aW5pQnJvd3Nlci5lbnRpdGxlbWVudHM6CisgICAgICAgIE1ha2UgY29tLmFwcGxlLnNlY3VyaXR5
LnRlbXBvcmFyeS1leGNlcHRpb24ubWFjaC1sb29rdXAuZ2xvYmFsLW5hbWUgYW4gYXJyYXkuCisK
IDIwMTktMDEtMjkgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAg
IEFkb3B0IG5ldyBTUEkgdG8gZXZhbHVhdGUgc2VydmVyIGNlcnRpZmljYXRlIHRydXN0CmRpZmYg
LS1naXQgYS9Ub29scy9NaW5pQnJvd3Nlci9NaW5pQnJvd3Nlci5lbnRpdGxlbWVudHMgYi9Ub29s
cy9NaW5pQnJvd3Nlci9NaW5pQnJvd3Nlci5lbnRpdGxlbWVudHMKaW5kZXggZTA4NWY0ZWE3NTku
LmU2ZTVhOWRkMzlmIDEwMDY0NAotLS0gYS9Ub29scy9NaW5pQnJvd3Nlci9NaW5pQnJvd3Nlci5l
bnRpdGxlbWVudHMKKysrIGIvVG9vbHMvTWluaUJyb3dzZXIvTWluaUJyb3dzZXIuZW50aXRsZW1l
bnRzCkBAIC01LDcgKzUsOSBAQAogCTxrZXk+Y29tLmFwcGxlLnNlY3VyaXR5LmRldmljZS51c2I8
L2tleT4KIAk8dHJ1ZS8+CiAJPGtleT5jb20uYXBwbGUuc2VjdXJpdHkudGVtcG9yYXJ5LWV4Y2Vw
dGlvbi5tYWNoLWxvb2t1cC5nbG9iYWwtbmFtZTwva2V5PgotCTxzdHJpbmc+Y29tLmFwcGxlLlNh
ZmFyaS5TYWZlQnJvd3NpbmcuU2VydmljZTwvc3RyaW5nPgorCTxhcnJheT4KKwkJPHN0cmluZz5j
b20uYXBwbGUuU2FmYXJpLlNhZmVCcm93c2luZy5TZXJ2aWNlPC9zdHJpbmc+CisJPC9hcnJheT4K
IAk8a2V5PmNvbS5hcHBsZS5zZWN1cml0eS5hcHAtc2FuZGJveDwva2V5PgogCTx0cnVlLz4KIAk8
a2V5PmNvbS5hcHBsZS5zZWN1cml0eS5uZXR3b3JrLmNsaWVudDwva2V5Pgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>