<?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>213557</bug_id>
          
          <creation_ts>2020-06-24 07:16:24 -0700</creation_ts>
          <short_desc>Make NetworkRTCProvider receive IPC messages from a background thread</short_desc>
          <delta_ts>2020-07-01 00:09:19 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebRTC</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="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>annulen</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1665724</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-06-24 07:16:24 -0700</bug_when>
    <thetext>Make NetworkRTCProvider receive IPC messages from a background thread</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1666005</commentid>
    <comment_count>1</comment_count>
      <attachid>402724</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-06-25 01:47:12 -0700</bug_when>
    <thetext>Created attachment 402724
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1667496</commentid>
    <comment_count>2</comment_count>
      <attachid>403180</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-06-30 00:28:17 -0700</bug_when>
    <thetext>Created attachment 403180
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1667497</commentid>
    <comment_count>3</comment_count>
      <attachid>403181</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-06-30 00:34:45 -0700</bug_when>
    <thetext>Created attachment 403181
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1667524</commentid>
    <comment_count>4</comment_count>
      <attachid>403187</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-06-30 03:01:58 -0700</bug_when>
    <thetext>Created attachment 403187
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1667611</commentid>
    <comment_count>5</comment_count>
      <attachid>403187</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2020-06-30 10:41:55 -0700</bug_when>
    <thetext>Comment on attachment 403187
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1667864</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-07-01 00:08:33 -0700</bug_when>
    <thetext>Committed r263789: &lt;https://trac.webkit.org/changeset/263789&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 403187.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1667865</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-07-01 00:09:19 -0700</bug_when>
    <thetext>&lt;rdar://problem/64974884&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>402724</attachid>
            <date>2020-06-25 01:47:12 -0700</date>
            <delta_ts>2020-06-30 00:28:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-213557-20200625104710.patch</filename>
            <type>text/plain</type>
            <size>45887</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYzMjE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGZhOTdlMmJkMzA0ZTY0Yjk3
ZTUzM2YxNTBjZGQ0MmJhNzE4YmY3MzcuLmU2ODNiMjIzOWRlZTkyZWZhM2VmYjAyMmFhNjgyYjI5
ZmE3NzA0YjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTAgQEAKKzIwMjAtMDYtMjUgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIE1ha2UgTmV0d29ya1JUQ1Byb3Zp
ZGVyIHJlY2VpdmUgSVBDIG1lc3NhZ2VzIGZyb20gYSBiYWNrZ3JvdW5kIHRocmVhZAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEzNTU3CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV0lQLCBubyBuZXcgdGVz
dHMuCisKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdDoKKyAgICAg
ICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdv
cmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0Nv
bm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmRpZFJlY2VpdmVNZXNzYWdlKToKKyAgICAgICAgKiBOZXR3
b3JrUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDU29ja2V0Q2xpZW50LmNwcDoKKyAgICAgICAgKFdl
YktpdDo6TGliV2ViUlRDU29ja2V0Q2xpZW50OjpzZW5kVG8pOgorICAgICAgICAqIE5ldHdvcmtQ
cm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENTb2NrZXRDbGllbnQuaDoKKyAgICAgICAgKiBOZXR3b3Jr
UHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1Byb3ZpZGVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
TmV0d29ya1JUQ1Byb3ZpZGVyOjpOZXR3b3JrUlRDUHJvdmlkZXIpOgorICAgICAgICAoV2ViS2l0
OjpOZXR3b3JrUlRDUHJvdmlkZXI6OmNsb3NlKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1JU
Q1Byb3ZpZGVyOjpjcmVhdGVTb2NrZXQpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUlRDUHJv
dmlkZXI6OmNyZWF0ZVVEUFNvY2tldCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtSVENQcm92
aWRlcjo6Y3JlYXRlU2VydmVyVENQU29ja2V0KToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1JU
Q1Byb3ZpZGVyOjpjcmVhdGVDbGllbnRUQ1BTb2NrZXQpOgorICAgICAgICAoV2ViS2l0OjpOZXR3
b3JrUlRDUHJvdmlkZXI6OndyYXBOZXdUQ1BDb25uZWN0aW9uKToKKyAgICAgICAgKFdlYktpdDo6
TmV0d29ya1JUQ1Byb3ZpZGVyOjpzZW5kVG9Tb2NrZXQpOgorICAgICAgICAoV2ViS2l0OjpOZXR3
b3JrUlRDUHJvdmlkZXI6OmNsb3NlU29ja2V0KToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1JU
Q1Byb3ZpZGVyOjpzZXRTb2NrZXRPcHRpb24pOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUlRD
UHJvdmlkZXI6OmFkZFNvY2tldCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtSVENQcm92aWRl
cjo6dGFrZVNvY2tldCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtSVENQcm92aWRlcjo6bmV3
Q29ubmVjdGlvbik6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtSVENQcm92aWRlcjo6ZGlzcGF0
Y2hUb1RocmVhZCk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENQ
cm92aWRlci5oOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUlRDUHJvdmlkZXI6OmRpZFJlY2Vp
dmVOZXR3b3JrUlRDTW9uaXRvck1lc3NhZ2UpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL3dl
YnJ0Yy9OZXR3b3JrUlRDUHJvdmlkZXIubWVzc2FnZXMuaW46CisgICAgICAgICogTmV0d29ya1By
b2Nlc3Mvd2VicnRjL05ldHdvcmtSVENTb2NrZXQuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIE5l
dHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDU29ja2V0Lmg6IFJlbW92ZWQuCisgICAgICAg
ICogTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENTb2NrZXQubWVzc2FnZXMuaW46IFJl
bW92ZWQuCisgICAgICAgICogU291cmNlc0NvY29hLnR4dDoKKyAgICAgICAgKiBTb3VyY2VzR1RL
LnR4dDoKKyAgICAgICAgKiBTb3VyY2VzV1BFLnR4dDoKKyAgICAgICAgKiBXZWJLaXQueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvd2VicnRj
L0xpYldlYlJUQ1NvY2tldC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkxpYldlYlJUQ1NvY2tldDo6
U2VuZFRvKToKKyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDU29ja2V0OjpDbG9zZSk6CisgICAg
ICAgIChXZWJLaXQ6OkxpYldlYlJUQ1NvY2tldDo6U2V0T3B0aW9uKToKKyAgICAgICAgKFdlYktp
dDo6TGliV2ViUlRDU29ja2V0OjpzdXNwZW5kKToKKwogMjAyMC0wNi0yNCAgWW91ZW5uIEZhYmxl
dCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgU2VuZCBXZWJSVEMgcGFja2V0cyByZWNl
aXZlZCBmcm9tIG5ldHdvcmsgcHJvY2VzcyB0byB3ZWIgcHJvY2VzcyBmcm9tIGEgYmFja2dyb3Vu
ZCB0aHJlYWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMtb3V0cHV0
LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVs
aXN0CmluZGV4IGJkODkzM2UzY2U2NDJhYzE1ODhkNTk5ZDE2OWRiMGI4MjU1ZjE2MzguLjMzZDQy
MWJhNTZmM2FlOWZjMDU4ZmNmZTAxNzljMmIyZWQ5NjgzYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYktp
dC9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdApAQCAtOTcsOSArOTcsNiBAQCAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9OZXR3b3JrUlRDTW9uaXRv
ck1lc3NhZ2VzUmVwbGllcy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViS2l0Mi9OZXR3b3JrUlRDUHJvdmlkZXJNZXNzYWdlUmVjZWl2ZXIuY3BwCiAkKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9OZXR3b3JrUlRDUHJvdmlkZXJNZXNz
YWdlcy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9OZXR3
b3JrUlRDUHJvdmlkZXJNZXNzYWdlc1JlcGxpZXMuaAotJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYktpdDIvTmV0d29ya1JUQ1NvY2tldE1lc3NhZ2VSZWNlaXZlci5jcHAK
LSQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL05ldHdvcmtSVENT
b2NrZXRNZXNzYWdlcy5oCi0kKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
S2l0Mi9OZXR3b3JrUlRDU29ja2V0TWVzc2FnZXNSZXBsaWVzLmgKICQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL05ldHdvcmtSZXNvdXJjZUxvYWRlck1lc3NhZ2VS
ZWNlaXZlci5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQy
L05ldHdvcmtSZXNvdXJjZUxvYWRlck1lc3NhZ2VzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJLaXQyL05ldHdvcmtSZXNvdXJjZUxvYWRlck1lc3NhZ2VzUmVwbGll
cy5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3Vy
Y2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggNWY1ZjI1YzAxYWUyOWY4NTJkYzM4
NmQyMzIwYzA3YjhlOTU3ODM1Ni4uZGZhN2MyYjVlNTMxMmVjNTFkZDZmZTY5MjI0MzM5YmU4MTdj
YTdiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBi
L1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMTI2LDcgKzEyNiw2IEBAIE1F
U1NBR0VfUkVDRUlWRVJTID0gXAogCU5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzIFwKIAlO
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIgXAogCU5ldHdvcmtQcm9jZXNzL3dl
YnJ0Yy9OZXR3b3JrTUROU1JlZ2lzdGVyIFwKLQlOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29y
a1JUQ1NvY2tldCBcCiAJTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENQcm92aWRlciBc
CiAJTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENNb25pdG9yIFwKIAlOZXR3b3JrUHJv
Y2Vzcy9Db29raWVzL1dlYkNvb2tpZU1hbmFnZXIgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNw
cAppbmRleCAyY2M5YjdiYzc0ODEwMjdlOWE2MWZhMWNhZDQ4NWIyMjc4Y2VhM2M3Li42ZDE0OTY2
ZTRjZDdmY2U5MTQ1OTUyZThhOTdlYWU1MDUxNDFmZjJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9j
ZXNzLmNwcApAQCAtMzksNyArMzksNiBAQAogI2luY2x1ZGUgIk5ldHdvcmtQcm9jZXNzUHJveHlN
ZXNzYWdlcy5oIgogI2luY2x1ZGUgIk5ldHdvcmtSVENNb25pdG9yTWVzc2FnZXMuaCIKICNpbmNs
dWRlICJOZXR3b3JrUlRDUHJvdmlkZXJNZXNzYWdlcy5oIgotI2luY2x1ZGUgIk5ldHdvcmtSVENT
b2NrZXRNZXNzYWdlcy5oIgogI2luY2x1ZGUgIk5ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJz
LmgiCiAjaW5jbHVkZSAiTmV0d29ya1Jlc291cmNlTG9hZGVyLmgiCiAjaW5jbHVkZSAiTmV0d29y
a1Jlc291cmNlTG9hZGVyTWVzc2FnZXMuaCIKQEAgLTIxNSwxOCArMjE0LDE0IEBAIHZvaWQgTmV0
d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVj
dGlvbiYgY29ubmVjdGlvCiAgICAgfQogCiAjaWYgVVNFKExJQldFQlJUQykKLSAgICBpZiAoZGVj
b2Rlci5tZXNzYWdlUmVjZWl2ZXJOYW1lKCkgPT0gTWVzc2FnZXM6Ok5ldHdvcmtSVENTb2NrZXQ6
Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSkgewotICAgICAgICBydGNQcm92aWRlcigpLmRpZFJlY2Vp
dmVOZXR3b3JrUlRDU29ja2V0TWVzc2FnZShjb25uZWN0aW9uLCBkZWNvZGVyKTsKKyAgICBpZiAo
ZGVjb2Rlci5tZXNzYWdlUmVjZWl2ZXJOYW1lKCkgPT0gTWVzc2FnZXM6Ok5ldHdvcmtSVENQcm92
aWRlcjo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpKSB7CisgICAgICAgIHJ0Y1Byb3ZpZGVyKCkuZGlk
UmVjZWl2ZU1lc3NhZ2UoY29ubmVjdGlvbiwgZGVjb2Rlcik7CiAgICAgICAgIHJldHVybjsKICAg
ICB9CiAgICAgaWYgKGRlY29kZXIubWVzc2FnZVJlY2VpdmVyTmFtZSgpID09IE1lc3NhZ2VzOjpO
ZXR3b3JrUlRDTW9uaXRvcjo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpKSB7CiAgICAgICAgIHJ0Y1By
b3ZpZGVyKCkuZGlkUmVjZWl2ZU5ldHdvcmtSVENNb25pdG9yTWVzc2FnZShjb25uZWN0aW9uLCBk
ZWNvZGVyKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLSAgICBpZiAoZGVjb2Rlci5tZXNzYWdl
UmVjZWl2ZXJOYW1lKCkgPT0gTWVzc2FnZXM6Ok5ldHdvcmtSVENQcm92aWRlcjo6bWVzc2FnZVJl
Y2VpdmVyTmFtZSgpKSB7Ci0gICAgICAgIHJ0Y1Byb3ZpZGVyKCkuZGlkUmVjZWl2ZU1lc3NhZ2Uo
Y29ubmVjdGlvbiwgZGVjb2Rlcik7Ci0gICAgICAgIHJldHVybjsKLSAgICB9CiAjZW5kaWYKICNp
ZiBFTkFCTEUoV0VCX1JUQykKICAgICBpZiAoZGVjb2Rlci5tZXNzYWdlUmVjZWl2ZXJOYW1lKCkg
PT0gTWVzc2FnZXM6Ok5ldHdvcmtNRE5TUmVnaXN0ZXI6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSkg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTGliV2Vi
UlRDU29ja2V0Q2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvd2VicnRj
L0xpYldlYlJUQ1NvY2tldENsaWVudC5jcHAKaW5kZXggZTk3ZmY0MjNiZGM5ZmU4MjU3ZDk2NTVk
YzdjZjg5NWRkOWVkNTc3YS4uZTU3MDFjMTBmNjdmMDk2ZTZlZDEzMDQ1MWU1NGM4NzA1NzI1ZGI2
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTGliV2Vi
UlRDU29ja2V0Q2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3dl
YnJ0Yy9MaWJXZWJSVENTb2NrZXRDbGllbnQuY3BwCkBAIC03MCw5ICs3MCw5IEBAIExpYldlYlJU
Q1NvY2tldENsaWVudDo6TGliV2ViUlRDU29ja2V0Q2xpZW50KFdlYkNvcmU6OkxpYldlYlJUQ1Nv
Y2tldElkZW50aWZpZXIKICAgICB9CiB9CiAKLXZvaWQgTGliV2ViUlRDU29ja2V0Q2xpZW50Ojpz
ZW5kVG8oY29uc3QgV2ViQ29yZTo6U2hhcmVkQnVmZmVyJiBidWZmZXIsIGNvbnN0IHJ0Yzo6U29j
a2V0QWRkcmVzcyYgc29ja2V0QWRkcmVzcywgY29uc3QgcnRjOjpQYWNrZXRPcHRpb25zJiBvcHRp
b25zKQordm9pZCBMaWJXZWJSVENTb2NrZXRDbGllbnQ6OnNlbmRUbyhjb25zdCB1aW50OF90KiBk
YXRhLCBzaXplX3Qgc2l6ZSwgY29uc3QgcnRjOjpTb2NrZXRBZGRyZXNzJiBzb2NrZXRBZGRyZXNz
LCBjb25zdCBydGM6OlBhY2tldE9wdGlvbnMmIG9wdGlvbnMpCiB7Ci0gICAgYXV0byByZXN1bHQg
PSBtX3NvY2tldC0+U2VuZFRvKHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgdWludDhfdCo+KGJ1ZmZl
ci5kYXRhKCkpLCBidWZmZXIuc2l6ZSgpLCBzb2NrZXRBZGRyZXNzLCBvcHRpb25zKTsKKyAgICBh
dXRvIHJlc3VsdCA9IG1fc29ja2V0LT5TZW5kVG8oZGF0YSwgc2l6ZSwgc29ja2V0QWRkcmVzcywg
b3B0aW9ucyk7CiAgICAgVU5VU0VEX1BBUkFNKHJlc3VsdCk7CiAgICAgUkVMRUFTRV9MT0dfRVJS
T1JfSUYocmVzdWx0LCBOZXR3b3JrLCAiTGliV2ViUlRDU29ja2V0Q2xpZW50OjpzZW5kVG8gZmFp
bGVkIHdpdGggZXJyb3IgJWQiLCBtX3NvY2tldC0+R2V0RXJyb3IoKSk7CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENTb2NrZXRDbGll
bnQuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL0xpYldlYlJUQ1NvY2tl
dENsaWVudC5oCmluZGV4IGFmOWJlYjdhZWZhNWVhNTExZjk3ZmJlOTI1NTRhMGY5ZDdjOWRmYmMu
LmM3NWM0Y2I2ODA1ZjFmYTg5ZWYzOWIxNzdjM2QwNDY1YjQxY2RkYmYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL0xpYldlYlJUQ1NvY2tldENsaWVudC5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL0xpYldlYlJUQ1NvY2tl
dENsaWVudC5oCkBAIC00OSw3ICs0OSw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBjbG9zZSgpIGZp
bmFsOwogCiAgICAgdm9pZCBzZXRPcHRpb24oaW50IG9wdGlvbiwgaW50IHZhbHVlKSBmaW5hbDsK
LSAgICB2b2lkIHNlbmRUbyhjb25zdCBXZWJDb3JlOjpTaGFyZWRCdWZmZXImLCBjb25zdCBydGM6
OlNvY2tldEFkZHJlc3MmLCBjb25zdCBydGM6OlBhY2tldE9wdGlvbnMmKSBmaW5hbDsKKyAgICB2
b2lkIHNlbmRUbyhjb25zdCB1aW50OF90Kiwgc2l6ZV90LCBjb25zdCBydGM6OlNvY2tldEFkZHJl
c3MmLCBjb25zdCBydGM6OlBhY2tldE9wdGlvbnMmKSBmaW5hbDsKIAogICAgIHZvaWQgc2lnbmFs
UmVhZFBhY2tldChydGM6OkFzeW5jUGFja2V0U29ja2V0KiwgY29uc3QgY2hhciosIHNpemVfdCwg
Y29uc3QgcnRjOjpTb2NrZXRBZGRyZXNzJiwgY29uc3QgcnRjOjpQYWNrZXRUaW1lJik7CiAgICAg
dm9pZCBzaWduYWxTZW50UGFja2V0KHJ0Yzo6QXN5bmNQYWNrZXRTb2NrZXQqLCBjb25zdCBydGM6
OlNlbnRQYWNrZXQmKTsKQEAgLTY0LDcgKzY0LDcgQEAgcHJpdmF0ZToKICAgICBUeXBlIG1fdHlw
ZTsKICAgICBOZXR3b3JrUlRDUHJvdmlkZXImIG1fcnRjUHJvdmlkZXI7CiAgICAgc3RkOjp1bmlx
dWVfcHRyPHJ0Yzo6QXN5bmNQYWNrZXRTb2NrZXQ+IG1fc29ja2V0OwotICAgIFJlZjxJUEM6OkNv
bm5lY3Rpb24+JiYgbV9jb25uZWN0aW9uOworICAgIFJlZjxJUEM6OkNvbm5lY3Rpb24+IG1fY29u
bmVjdGlvbjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1Byb3ZpZGVyLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENQcm92aWRlci5jcHAK
aW5kZXggOTc5Y2M1MzViNDY0OTMxYWU0NDE2OWFiNmNjNWQ5YTkyZDcyOWExMC4uOGE3ZDdhNTk4
ZWMxY2Y4ZWZkZDMzMGVhZDY3YWExNTE5MTQwZDVhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1Byb3ZpZGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDUHJvdmlkZXIuY3BwCkBA
IC0zMyw4ICszMyw5IEBACiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIk5ldHdvcmtD
b25uZWN0aW9uVG9XZWJQcm9jZXNzLmgiCiAjaW5jbHVkZSAiTmV0d29ya1Byb2Nlc3MuaCIKKyNp
bmNsdWRlICJOZXR3b3JrUlRDUHJvdmlkZXJNZXNzYWdlcy5oIgogI2luY2x1ZGUgIk5ldHdvcmtS
VENSZXNvbHZlci5oIgotI2luY2x1ZGUgIk5ldHdvcmtSVENTb2NrZXQuaCIKKyNpbmNsdWRlICJS
VENQYWNrZXRPcHRpb25zLmgiCiAjaW5jbHVkZSAiV2ViUlRDUmVzb2x2ZXJNZXNzYWdlcy5oIgog
I2luY2x1ZGUgPFdlYkNvcmUvTGliV2ViUlRDTWFjcm9zLmg+CiAjaW5jbHVkZSA8d2VicnRjL3J0
Y19iYXNlL2FzeW5jX3BhY2tldF9zb2NrZXQuaD4KQEAgLTc2LDYgKzc3LDcgQEAgc3RhdGljIHZv
aWQgZG9SZWxlYXNlTG9nZ2luZyhydGM6OkxvZ2dpbmdTZXZlcml0eSBzZXZlcml0eSwgY29uc3Qg
Y2hhciogbWVzc2FnZSkKIAogTmV0d29ya1JUQ1Byb3ZpZGVyOjpOZXR3b3JrUlRDUHJvdmlkZXIo
TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MmIGNvbm5lY3Rpb24pCiAgICAgOiBtX2Nvbm5l
Y3Rpb24oJmNvbm5lY3Rpb24pCisgICAgLCBtX2lwY0Nvbm5lY3Rpb24obWFrZVJlZihjb25uZWN0
aW9uLmNvbm5lY3Rpb24oKSkpCiAgICAgLCBtX3J0Y01vbml0b3IoKnRoaXMpCiAgICAgLCBtX3J0
Y05ldHdvcmtUaHJlYWQoY3JlYXRlVGhyZWFkKCkpCiAgICAgLCBtX3BhY2tldFNvY2tldEZhY3Rv
cnkobWFrZVVuaXF1ZVJlZldpdGhvdXRGYXN0TWFsbG9jQ2hlY2s8cnRjOjpCYXNpY1BhY2tldFNv
Y2tldEZhY3Rvcnk+KG1fcnRjTmV0d29ya1RocmVhZC5nZXQoKSkpCkBAIC04NCw2ICs4Niw3IEBA
IE5ldHdvcmtSVENQcm92aWRlcjo6TmV0d29ya1JUQ1Byb3ZpZGVyKE5ldHdvcmtDb25uZWN0aW9u
VG9XZWJQcm9jZXNzJiBjb25uZWN0aW9uCiAjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECiAgICAg
cnRjOjpMb2dNZXNzYWdlOjpTZXRMb2dPdXRwdXQoV2ViS2l0MkxvZ1dlYlJUQy5zdGF0ZSA9PSBX
VEZMb2dDaGFubmVsU3RhdGU6Ok9uID8gcnRjOjpMU19JTkZPIDogcnRjOjpMU19XQVJOSU5HLCBk
b1JlbGVhc2VMb2dnaW5nKTsKICNlbmRpZgorICAgIG1fY29ubmVjdGlvbi0+Y29ubmVjdGlvbigp
LmFkZFRocmVhZE1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6TmV0d29ya1JUQ1Byb3ZpZGVyOjpt
ZXNzYWdlUmVjZWl2ZXJOYW1lKCksIHRoaXMpOwogfQogCiBOZXR3b3JrUlRDUHJvdmlkZXI6On5O
ZXR3b3JrUlRDUHJvdmlkZXIoKQpAQCAtMTAxLDYgKzEwNCw3IEBAIHZvaWQgTmV0d29ya1JUQ1By
b3ZpZGVyOjpjbG9zZSgpCiAgICAgd2hpbGUgKCFtX3Jlc29sdmVycy5pc0VtcHR5KCkpCiAgICAg
ICAgIHN0b3BSZXNvbHZlcigqbV9yZXNvbHZlcnMua2V5cygpLmJlZ2luKCkpOwogCisgICAgbV9j
b25uZWN0aW9uLT5jb25uZWN0aW9uKCkucmVtb3ZlVGhyZWFkTWVzc2FnZVJlY2VpdmVyKE1lc3Nh
Z2VzOjpOZXR3b3JrUlRDUHJvdmlkZXI6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSk7CiAgICAgbV9j
b25uZWN0aW9uID0gbnVsbHB0cjsKICAgICBtX3J0Y01vbml0b3Iuc3RvcFVwZGF0aW5nKCk7CiAK
QEAgLTExNSw2ICsxMTksNyBAQCB2b2lkIE5ldHdvcmtSVENQcm92aWRlcjo6Y2xvc2UoKQogCiB2
b2lkIE5ldHdvcmtSVENQcm92aWRlcjo6Y3JlYXRlU29ja2V0KExpYldlYlJUQ1NvY2tldElkZW50
aWZpZXIgaWRlbnRpZmllciwgc3RkOjp1bmlxdWVfcHRyPHJ0Yzo6QXN5bmNQYWNrZXRTb2NrZXQ+
JiYgc29ja2V0LCBTb2NrZXQ6OlR5cGUgdHlwZSwgUmVmPElQQzo6Q29ubmVjdGlvbj4mJiBjb25u
ZWN0aW9uKQogeworICAgIEFTU0VSVChtX3J0Y05ldHdvcmtUaHJlYWQtPklzQ3VycmVudCgpKTsK
ICAgICBpZiAoIXNvY2tldCkgewogICAgICAgICBSRUxFQVNFX0xPR19FUlJPUl9JRl9BTExPV0VE
KCJjcmVhdGVTb2NrZXQgd2l0aCAldSBzb2NrZXRzIGlzIHVuYWJsZSB0byBjcmVhdGUgYSBuZXcg
c29ja2V0IiwgbV9zb2NrZXRzLnNpemUoKSk7CiAgICAgICAgIGNvbm5lY3Rpb24tPnNlbmQoTWVz
c2FnZXM6OkxpYldlYlJUQ05ldHdvcms6OlNpZ25hbENsb3NlKGlkZW50aWZpZXIsIDEpLCAwKTsK
QEAgLTEyNSwyMyArMTMwLDI1IEBAIHZvaWQgTmV0d29ya1JUQ1Byb3ZpZGVyOjpjcmVhdGVTb2Nr
ZXQoTGliV2ViUlRDU29ja2V0SWRlbnRpZmllciBpZGVudGlmaWVyLCBzdGQ6CiAKIHZvaWQgTmV0
d29ya1JUQ1Byb3ZpZGVyOjpjcmVhdGVVRFBTb2NrZXQoTGliV2ViUlRDU29ja2V0SWRlbnRpZmll
ciBpZGVudGlmaWVyLCBjb25zdCBSVENOZXR3b3JrOjpTb2NrZXRBZGRyZXNzJiBhZGRyZXNzLCB1
aW50MTZfdCBtaW5Qb3J0LCB1aW50MTZfdCBtYXhQb3J0KQogewotICAgIGNhbGxPblJUQ05ldHdv
cmtUaHJlYWQoW3RoaXMsIGlkZW50aWZpZXIsIGFkZHJlc3MgPSBSVENOZXR3b3JrOjppc29sYXRl
ZENvcHkoYWRkcmVzcy52YWx1ZSksIG1pblBvcnQsIG1heFBvcnQsIGNvbm5lY3Rpb24gPSBtYWtl
UmVmKG1fY29ubmVjdGlvbi0+Y29ubmVjdGlvbigpKV0oKSBtdXRhYmxlIHsKLSAgICAgICAgc3Rk
Ojp1bmlxdWVfcHRyPHJ0Yzo6QXN5bmNQYWNrZXRTb2NrZXQ+IHNvY2tldChtX3BhY2tldFNvY2tl
dEZhY3RvcnktPkNyZWF0ZVVkcFNvY2tldChhZGRyZXNzLCBtaW5Qb3J0LCBtYXhQb3J0KSk7Ci0g
ICAgICAgIGNyZWF0ZVNvY2tldChpZGVudGlmaWVyLCBXVEZNb3ZlKHNvY2tldCksIFNvY2tldDo6
VHlwZTo6VURQLCBXVEZNb3ZlKGNvbm5lY3Rpb24pKTsKLSAgICB9KTsKKyAgICBBU1NFUlQobV9y
dGNOZXR3b3JrVGhyZWFkLT5Jc0N1cnJlbnQoKSk7CisgICAgc3RkOjp1bmlxdWVfcHRyPHJ0Yzo6
QXN5bmNQYWNrZXRTb2NrZXQ+IHNvY2tldChtX3BhY2tldFNvY2tldEZhY3RvcnktPkNyZWF0ZVVk
cFNvY2tldChhZGRyZXNzLnZhbHVlLCBtaW5Qb3J0LCBtYXhQb3J0KSk7CisgICAgY3JlYXRlU29j
a2V0KGlkZW50aWZpZXIsIFdURk1vdmUoc29ja2V0KSwgU29ja2V0OjpUeXBlOjpVRFAsIG1faXBj
Q29ubmVjdGlvbi5jb3B5UmVmKCkpOwogfQogCiB2b2lkIE5ldHdvcmtSVENQcm92aWRlcjo6Y3Jl
YXRlU2VydmVyVENQU29ja2V0KExpYldlYlJUQ1NvY2tldElkZW50aWZpZXIgaWRlbnRpZmllciwg
Y29uc3QgUlRDTmV0d29yazo6U29ja2V0QWRkcmVzcyYgYWRkcmVzcywgdWludDE2X3QgbWluUG9y
dCwgdWludDE2X3QgbWF4UG9ydCwgaW50IG9wdGlvbnMpCiB7Ci0gICAgaWYgKCFtX2lzTGlzdGVu
aW5nU29ja2V0QXV0aG9yaXplZCkgewotICAgICAgICBpZiAobV9jb25uZWN0aW9uKQotICAgICAg
ICAgICAgbV9jb25uZWN0aW9uLT5jb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6TGliV2ViUlRD
TmV0d29yazo6U2lnbmFsQ2xvc2UoaWRlbnRpZmllciwgMSksIDApOwotICAgICAgICByZXR1cm47
Ci0gICAgfQorICAgIEFTU0VSVChtX3J0Y05ldHdvcmtUaHJlYWQtPklzQ3VycmVudCgpKTsKKyAg
ICBjYWxsT25NYWluVGhyZWFkKFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyks
IGlkZW50aWZpZXIsIGFkZHJlc3MsIG1pblBvcnQsIG1heFBvcnQsIG9wdGlvbnNdIHsKKyAgICAg
ICAgaWYgKCFtX2lzTGlzdGVuaW5nU29ja2V0QXV0aG9yaXplZCkgeworICAgICAgICAgICAgaWYg
KG1fY29ubmVjdGlvbikKKyAgICAgICAgICAgICAgICBtX2Nvbm5lY3Rpb24tPmNvbm5lY3Rpb24o
KS5zZW5kKE1lc3NhZ2VzOjpMaWJXZWJSVENOZXR3b3JrOjpTaWduYWxDbG9zZShpZGVudGlmaWVy
LCAxKSwgMCk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KIAotICAgIGNhbGxPblJU
Q05ldHdvcmtUaHJlYWQoW3RoaXMsIGlkZW50aWZpZXIsIGFkZHJlc3MgPSBSVENOZXR3b3JrOjpp
c29sYXRlZENvcHkoYWRkcmVzcy52YWx1ZSksIG1pblBvcnQsIG1heFBvcnQsIG9wdGlvbnMsIGNv
bm5lY3Rpb24gPSBtYWtlUmVmKG1fY29ubmVjdGlvbi0+Y29ubmVjdGlvbigpKV0oKSBtdXRhYmxl
IHsKLSAgICAgICAgc3RkOjp1bmlxdWVfcHRyPHJ0Yzo6QXN5bmNQYWNrZXRTb2NrZXQ+IHNvY2tl
dChtX3BhY2tldFNvY2tldEZhY3RvcnktPkNyZWF0ZVNlcnZlclRjcFNvY2tldChhZGRyZXNzLCBt
aW5Qb3J0LCBtYXhQb3J0LCBvcHRpb25zKSk7Ci0gICAgICAgIGNyZWF0ZVNvY2tldChpZGVudGlm
aWVyLCBXVEZNb3ZlKHNvY2tldCksIFNvY2tldDo6VHlwZTo6U2VydmVyVENQLCBXVEZNb3ZlKGNv
bm5lY3Rpb24pKTsKKyAgICAgICAgY2FsbE9uUlRDTmV0d29ya1RocmVhZChbdGhpcywgaWRlbnRp
ZmllciwgYWRkcmVzcyA9IFJUQ05ldHdvcms6Omlzb2xhdGVkQ29weShhZGRyZXNzLnZhbHVlKSwg
bWluUG9ydCwgbWF4UG9ydCwgb3B0aW9ucywgY29ubmVjdGlvbiA9IG1ha2VSZWYobV9jb25uZWN0
aW9uLT5jb25uZWN0aW9uKCkpXSgpIG11dGFibGUgeworICAgICAgICAgICAgc3RkOjp1bmlxdWVf
cHRyPHJ0Yzo6QXN5bmNQYWNrZXRTb2NrZXQ+IHNvY2tldChtX3BhY2tldFNvY2tldEZhY3Rvcnkt
PkNyZWF0ZVNlcnZlclRjcFNvY2tldChhZGRyZXNzLCBtaW5Qb3J0LCBtYXhQb3J0LCBvcHRpb25z
KSk7CisgICAgICAgICAgICBjcmVhdGVTb2NrZXQoaWRlbnRpZmllciwgV1RGTW92ZShzb2NrZXQp
LCBTb2NrZXQ6OlR5cGU6OlNlcnZlclRDUCwgbV9pcGNDb25uZWN0aW9uLmNvcHlSZWYoKSk7Cisg
ICAgICAgIH0pOwogICAgIH0pOwogfQogCkBAIC0xNTQsNTQgKzE2MSw4MyBAQCBydGM6OlByb3h5
SW5mbyBOZXR3b3JrUlRDUHJvdmlkZXI6OnByb3h5SW5mb0Zyb21TZXNzaW9uKGNvbnN0IFJUQ05l
dHdvcms6OlNvY2tldAogCiB2b2lkIE5ldHdvcmtSVENQcm92aWRlcjo6Y3JlYXRlQ2xpZW50VENQ
U29ja2V0KExpYldlYlJUQ1NvY2tldElkZW50aWZpZXIgaWRlbnRpZmllciwgY29uc3QgUlRDTmV0
d29yazo6U29ja2V0QWRkcmVzcyYgbG9jYWxBZGRyZXNzLCBjb25zdCBSVENOZXR3b3JrOjpTb2Nr
ZXRBZGRyZXNzJiByZW1vdGVBZGRyZXNzLCBTdHJpbmcmJiB1c2VyQWdlbnQsIGludCBvcHRpb25z
KQogewotICAgIGF1dG8qIHNlc3Npb24gPSBtX2Nvbm5lY3Rpb24tPm5ldHdvcmtTZXNzaW9uKCk7
Ci0gICAgaWYgKCFzZXNzaW9uKSB7Ci0gICAgICAgIG1fY29ubmVjdGlvbi0+Y29ubmVjdGlvbigp
LnNlbmQoTWVzc2FnZXM6OkxpYldlYlJUQ05ldHdvcms6OlNpZ25hbENsb3NlKGlkZW50aWZpZXIs
IDEpLCAwKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLSAgICBjYWxsT25SVENOZXR3b3JrVGhy
ZWFkKFt0aGlzLCBpZGVudGlmaWVyLCBsb2NhbEFkZHJlc3MgPSBSVENOZXR3b3JrOjppc29sYXRl
ZENvcHkobG9jYWxBZGRyZXNzLnZhbHVlKSwgcmVtb3RlQWRkcmVzcyA9IFJUQ05ldHdvcms6Omlz
b2xhdGVkQ29weShyZW1vdGVBZGRyZXNzLnZhbHVlKSwgcHJveHlJbmZvID0gcHJveHlJbmZvRnJv
bVNlc3Npb24ocmVtb3RlQWRkcmVzcywgKnNlc3Npb24pLCB1c2VyQWdlbnQgPSBXVEZNb3ZlKHVz
ZXJBZ2VudCkuaXNvbGF0ZWRDb3B5KCksIG9wdGlvbnMsIGNvbm5lY3Rpb24gPSBtYWtlUmVmKG1f
Y29ubmVjdGlvbi0+Y29ubmVjdGlvbigpKV0oKSBtdXRhYmxlIHsKLSAgICAgICAgcnRjOjpQYWNr
ZXRTb2NrZXRUY3BPcHRpb25zIHRjcE9wdGlvbnM7Ci0gICAgICAgIHRjcE9wdGlvbnMub3B0cyA9
IG9wdGlvbnM7Ci0gICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxydGM6OkFzeW5jUGFja2V0U29ja2V0
PiBzb2NrZXQobV9wYWNrZXRTb2NrZXRGYWN0b3J5LT5DcmVhdGVDbGllbnRUY3BTb2NrZXQobG9j
YWxBZGRyZXNzLCByZW1vdGVBZGRyZXNzLCBwcm94eUluZm8sIHVzZXJBZ2VudC51dGY4KCkuZGF0
YSgpLCB0Y3BPcHRpb25zKSk7Ci0gICAgICAgIGNyZWF0ZVNvY2tldChpZGVudGlmaWVyLCBXVEZN
b3ZlKHNvY2tldCksIFNvY2tldDo6VHlwZTo6Q2xpZW50VENQLCBXVEZNb3ZlKGNvbm5lY3Rpb24p
KTsKKyAgICBjYWxsT25NYWluVGhyZWFkKFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigq
dGhpcyksIGlkZW50aWZpZXIsIGxvY2FsQWRkcmVzcywgcmVtb3RlQWRkcmVzcywgdXNlckFnZW50
ID0gV1RGTW92ZSh1c2VyQWdlbnQpLmlzb2xhdGVkQ29weSgpLCBvcHRpb25zXSgpIG11dGFibGUg
eworICAgICAgICBhdXRvKiBzZXNzaW9uID0gbV9jb25uZWN0aW9uLT5uZXR3b3JrU2Vzc2lvbigp
OworICAgICAgICBpZiAoIXNlc3Npb24pIHsKKyAgICAgICAgICAgIG1fY29ubmVjdGlvbi0+Y29u
bmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6OkxpYldlYlJUQ05ldHdvcms6OlNpZ25hbENsb3NlKGlk
ZW50aWZpZXIsIDEpLCAwKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgICAg
ICBjYWxsT25SVENOZXR3b3JrVGhyZWFkKFt0aGlzLCBpZGVudGlmaWVyLCBsb2NhbEFkZHJlc3Mg
PSBSVENOZXR3b3JrOjppc29sYXRlZENvcHkobG9jYWxBZGRyZXNzLnZhbHVlKSwgcmVtb3RlQWRk
cmVzcyA9IFJUQ05ldHdvcms6Omlzb2xhdGVkQ29weShyZW1vdGVBZGRyZXNzLnZhbHVlKSwgcHJv
eHlJbmZvID0gcHJveHlJbmZvRnJvbVNlc3Npb24ocmVtb3RlQWRkcmVzcywgKnNlc3Npb24pLCB1
c2VyQWdlbnQgPSBXVEZNb3ZlKHVzZXJBZ2VudCkuaXNvbGF0ZWRDb3B5KCksIG9wdGlvbnMsIGNv
bm5lY3Rpb24gPSBtYWtlUmVmKG1fY29ubmVjdGlvbi0+Y29ubmVjdGlvbigpKV0oKSBtdXRhYmxl
IHsKKyAgICAgICAgICAgIHJ0Yzo6UGFja2V0U29ja2V0VGNwT3B0aW9ucyB0Y3BPcHRpb25zOwor
ICAgICAgICAgICAgdGNwT3B0aW9ucy5vcHRzID0gb3B0aW9uczsKKyAgICAgICAgICAgIHN0ZDo6
dW5pcXVlX3B0cjxydGM6OkFzeW5jUGFja2V0U29ja2V0PiBzb2NrZXQobV9wYWNrZXRTb2NrZXRG
YWN0b3J5LT5DcmVhdGVDbGllbnRUY3BTb2NrZXQobG9jYWxBZGRyZXNzLCByZW1vdGVBZGRyZXNz
LCBwcm94eUluZm8sIHVzZXJBZ2VudC51dGY4KCkuZGF0YSgpLCB0Y3BPcHRpb25zKSk7CisgICAg
ICAgICAgICBjcmVhdGVTb2NrZXQoaWRlbnRpZmllciwgV1RGTW92ZShzb2NrZXQpLCBTb2NrZXQ6
OlR5cGU6OkNsaWVudFRDUCwgbV9pcGNDb25uZWN0aW9uLmNvcHlSZWYoKSk7CisgICAgICAgIH0p
OwogICAgIH0pOwogfQogCiB2b2lkIE5ldHdvcmtSVENQcm92aWRlcjo6d3JhcE5ld1RDUENvbm5l
Y3Rpb24oTGliV2ViUlRDU29ja2V0SWRlbnRpZmllciBpZGVudGlmaWVyLCBMaWJXZWJSVENTb2Nr
ZXRJZGVudGlmaWVyIG5ld0Nvbm5lY3Rpb25Tb2NrZXRJZGVudGlmaWVyKQogewotICAgIGNhbGxP
blJUQ05ldHdvcmtUaHJlYWQoW3RoaXMsIGlkZW50aWZpZXIsIG5ld0Nvbm5lY3Rpb25Tb2NrZXRJ
ZGVudGlmaWVyLCBjb25uZWN0aW9uID0gbWFrZVJlZihtX2Nvbm5lY3Rpb24tPmNvbm5lY3Rpb24o
KSldKCkgbXV0YWJsZSB7Ci0gICAgICAgIGF1dG8gc29ja2V0ID0gbV9wZW5kaW5nSW5jb21pbmdT
b2NrZXRzLnRha2UobmV3Q29ubmVjdGlvblNvY2tldElkZW50aWZpZXIpOwotICAgICAgICBSRUxF
QVNFX0xPR19JRighc29ja2V0LCBXZWJSVEMsICJOZXR3b3JrUlRDUHJvdmlkZXI6OndyYXBOZXdU
Q1BDb25uZWN0aW9uIHJlY2VpdmVkIGFuIGludmFsaWQgc29ja2V0IGlkZW50aWZpZXIiKTsKLSAg
ICAgICAgaWYgKHNvY2tldCkKLSAgICAgICAgICAgIGFkZFNvY2tldChpZGVudGlmaWVyLCBtYWtl
VW5pcXVlPExpYldlYlJUQ1NvY2tldENsaWVudD4oaWRlbnRpZmllciwgKnRoaXMsIFdURk1vdmUo
c29ja2V0KSwgU29ja2V0OjpUeXBlOjpTZXJ2ZXJDb25uZWN0aW9uVENQLCBXVEZNb3ZlKGNvbm5l
Y3Rpb24pKSk7Ci0gICAgfSk7CisgICAgQVNTRVJUKG1fcnRjTmV0d29ya1RocmVhZC0+SXNDdXJy
ZW50KCkpOworICAgIGF1dG8gc29ja2V0ID0gbV9wZW5kaW5nSW5jb21pbmdTb2NrZXRzLnRha2Uo
bmV3Q29ubmVjdGlvblNvY2tldElkZW50aWZpZXIpOworICAgIFJFTEVBU0VfTE9HX0lGKCFzb2Nr
ZXQsIFdlYlJUQywgIk5ldHdvcmtSVENQcm92aWRlcjo6d3JhcE5ld1RDUENvbm5lY3Rpb24gcmVj
ZWl2ZWQgYW4gaW52YWxpZCBzb2NrZXQgaWRlbnRpZmllciIpOworICAgIGlmIChzb2NrZXQpCisg
ICAgICAgIGFkZFNvY2tldChpZGVudGlmaWVyLCBtYWtlVW5pcXVlPExpYldlYlJUQ1NvY2tldENs
aWVudD4oaWRlbnRpZmllciwgKnRoaXMsIFdURk1vdmUoc29ja2V0KSwgU29ja2V0OjpUeXBlOjpT
ZXJ2ZXJDb25uZWN0aW9uVENQLCBtX2lwY0Nvbm5lY3Rpb24uY29weVJlZigpKSk7Cit9CisKK3Zv
aWQgTmV0d29ya1JUQ1Byb3ZpZGVyOjpzZW5kVG9Tb2NrZXQoTGliV2ViUlRDU29ja2V0SWRlbnRp
ZmllciBpZGVudGlmaWVyLCBjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmIGRhdGEsIFJUQ05ldHdv
cms6OlNvY2tldEFkZHJlc3MmJiBhZGRyZXNzLCBSVENQYWNrZXRPcHRpb25zJiYgb3B0aW9ucykK
K3sKKyAgICBBU1NFUlQobV9ydGNOZXR3b3JrVGhyZWFkLT5Jc0N1cnJlbnQoKSk7CisgICAgYXV0
byogc29ja2V0ID0gbV9zb2NrZXRzLmdldChpZGVudGlmaWVyKTsKKyAgICBpZiAoIXNvY2tldCkK
KyAgICAgICAgcmV0dXJuOworICAgIAorICAgIHNvY2tldC0+c2VuZFRvKGRhdGEuZGF0YSgpLCBk
YXRhLnNpemUoKSwgYWRkcmVzcy52YWx1ZSwgb3B0aW9ucy5vcHRpb25zKTsKK30KKwordm9pZCBO
ZXR3b3JrUlRDUHJvdmlkZXI6OmNsb3NlU29ja2V0KExpYldlYlJUQ1NvY2tldElkZW50aWZpZXIg
aWRlbnRpZmllcikKK3sKKyAgICBBU1NFUlQobV9ydGNOZXR3b3JrVGhyZWFkLT5Jc0N1cnJlbnQo
KSk7CisgICAgYXV0byogc29ja2V0ID0gbV9zb2NrZXRzLmdldChpZGVudGlmaWVyKTsKKyAgICBp
ZiAoIXNvY2tldCkKKyAgICAgICAgcmV0dXJuOworICAgIHNvY2tldC0+Y2xvc2UoKTsKK30KKwor
dm9pZCBOZXR3b3JrUlRDUHJvdmlkZXI6OnNldFNvY2tldE9wdGlvbihMaWJXZWJSVENTb2NrZXRJ
ZGVudGlmaWVyIGlkZW50aWZpZXIsIGludCBvcHRpb24sIGludCB2YWx1ZSkKK3sKKyAgICBBU1NF
UlQobV9ydGNOZXR3b3JrVGhyZWFkLT5Jc0N1cnJlbnQoKSk7CisgICAgYXV0byogc29ja2V0ID0g
bV9zb2NrZXRzLmdldChpZGVudGlmaWVyKTsKKyAgICBpZiAoIXNvY2tldCkKKyAgICAgICAgcmV0
dXJuOworICAgIHNvY2tldC0+c2V0T3B0aW9uKG9wdGlvbiwgdmFsdWUpOwogfQogCiB2b2lkIE5l
dHdvcmtSVENQcm92aWRlcjo6YWRkU29ja2V0KExpYldlYlJUQ1NvY2tldElkZW50aWZpZXIgaWRl
bnRpZmllciwgc3RkOjp1bmlxdWVfcHRyPFNvY2tldD4mJiBzb2NrZXQpCiB7CisgICAgQVNTRVJU
KG1fcnRjTmV0d29ya1RocmVhZC0+SXNDdXJyZW50KCkpOwogICAgIG1fc29ja2V0cy5hZGQoaWRl
bnRpZmllciwgV1RGTW92ZShzb2NrZXQpKTsKIH0KIAogc3RkOjp1bmlxdWVfcHRyPE5ldHdvcmtS
VENQcm92aWRlcjo6U29ja2V0PiBOZXR3b3JrUlRDUHJvdmlkZXI6OnRha2VTb2NrZXQoTGliV2Vi
UlRDU29ja2V0SWRlbnRpZmllciBpZGVudGlmaWVyKQogeworICAgIEFTU0VSVChtX3J0Y05ldHdv
cmtUaHJlYWQtPklzQ3VycmVudCgpKTsKICAgICByZXR1cm4gbV9zb2NrZXRzLnRha2UoaWRlbnRp
Zmllcik7CiB9CiAKIHZvaWQgTmV0d29ya1JUQ1Byb3ZpZGVyOjpuZXdDb25uZWN0aW9uKFNvY2tl
dCYgc2VydmVyU29ja2V0LCBzdGQ6OnVuaXF1ZV9wdHI8cnRjOjpBc3luY1BhY2tldFNvY2tldD4m
JiBuZXdTb2NrZXQpCiB7CisgICAgQVNTRVJUKG1fcnRjTmV0d29ya1RocmVhZC0+SXNDdXJyZW50
KCkpOwogICAgIGF1dG8gaW5jb21pbmdTb2NrZXRJZGVudGlmaWVyID0gTGliV2ViUlRDU29ja2V0
SWRlbnRpZmllcjo6Z2VuZXJhdGUoKTsKLSAgICBzZW5kRnJvbU1haW5UaHJlYWQoW2lkZW50aWZp
ZXIgPSBzZXJ2ZXJTb2NrZXQuaWRlbnRpZmllcigpLCBpbmNvbWluZ1NvY2tldElkZW50aWZpZXIs
IHJlbW90ZUFkZHJlc3MgPSBSVENOZXR3b3JrOjppc29sYXRlZENvcHkobmV3U29ja2V0LT5HZXRS
ZW1vdGVBZGRyZXNzKCkpXShJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24pIHsKLSAgICAgICAg
Y29ubmVjdGlvbi5zZW5kKE1lc3NhZ2VzOjpMaWJXZWJSVENOZXR3b3JrOjpTaWduYWxOZXdDb25u
ZWN0aW9uKGlkZW50aWZpZXIsIGluY29taW5nU29ja2V0SWRlbnRpZmllciwgUlRDTmV0d29yazo6
U29ja2V0QWRkcmVzcyhyZW1vdGVBZGRyZXNzKSksIDApOwotICAgIH0pOworICAgIG1faXBjQ29u
bmVjdGlvbi0+c2VuZChNZXNzYWdlczo6TGliV2ViUlRDTmV0d29yazo6U2lnbmFsTmV3Q29ubmVj
dGlvbihzZXJ2ZXJTb2NrZXQuaWRlbnRpZmllcigpLCBpbmNvbWluZ1NvY2tldElkZW50aWZpZXIs
IFJUQ05ldHdvcms6OlNvY2tldEFkZHJlc3MobmV3U29ja2V0LT5HZXRSZW1vdGVBZGRyZXNzKCkp
KSwgMCk7CiAgICAgbV9wZW5kaW5nSW5jb21pbmdTb2NrZXRzLmFkZChpbmNvbWluZ1NvY2tldElk
ZW50aWZpZXIsIFdURk1vdmUobmV3U29ja2V0KSk7CiB9CiAKLXZvaWQgTmV0d29ya1JUQ1Byb3Zp
ZGVyOjpkaWRSZWNlaXZlTmV0d29ya1JUQ1NvY2tldE1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiBj
b25uZWN0aW9uLCBJUEM6OkRlY29kZXImIGRlY29kZXIpCit2b2lkIE5ldHdvcmtSVENQcm92aWRl
cjo6ZGlzcGF0Y2hUb1RocmVhZChGdW5jdGlvbjx2b2lkKCk+JiYgY2FsbGJhY2spCiB7Ci0gICAg
TmV0d29ya1JUQ1NvY2tldChtYWtlT2JqZWN0SWRlbnRpZmllcjxMaWJXZWJSVENTb2NrZXRJZGVu
dGlmaWVyVHlwZT4oZGVjb2Rlci5kZXN0aW5hdGlvbklEKCkpLCAqdGhpcykuZGlkUmVjZWl2ZU1l
c3NhZ2UoY29ubmVjdGlvbiwgZGVjb2Rlcik7CisgICAgY2FsbE9uUlRDTmV0d29ya1RocmVhZCgo
V1RGTW92ZShjYWxsYmFjaykpKTsKIH0KIAotCiB2b2lkIE5ldHdvcmtSVENQcm92aWRlcjo6Y3Jl
YXRlUmVzb2x2ZXIoTGliV2ViUlRDUmVzb2x2ZXJJZGVudGlmaWVyIGlkZW50aWZpZXIsIGNvbnN0
IFN0cmluZyYgYWRkcmVzcykKIHsKICAgICBXZWJDb3JlOjpETlNDb21wbGV0aW9uSGFuZGxlciBj
b21wbGV0aW9uSGFuZGxlciA9IFt0aGlzLCBpZGVudGlmaWVyXShhdXRvJiYgcmVzdWx0KSB7CkBA
IC0yOTEsMTQgKzMyNyw2IEBAIHZvaWQgTmV0d29ya1JUQ1Byb3ZpZGVyOjpjYWxsT25SVENOZXR3
b3JrVGhyZWFkKEZ1bmN0aW9uPHZvaWQoKT4mJiBjYWxsYmFjaykKICAgICBtX3J0Y05ldHdvcmtU
aHJlYWQtPlBvc3QoUlRDX0ZST01fSEVSRSwgdGhpcywgMSwgbmV3IE5ldHdvcmtNZXNzYWdlRGF0
YSgqdGhpcywgV1RGTW92ZShjYWxsYmFjaykpKTsKIH0KIAotdm9pZCBOZXR3b3JrUlRDUHJvdmlk
ZXI6OmNhbGxTb2NrZXQoTGliV2ViUlRDU29ja2V0SWRlbnRpZmllciBpZGVudGlmaWVyLCBGdW5j
dGlvbjx2b2lkKFNvY2tldCYpPiYmIGNhbGxiYWNrKQotewotICAgIGNhbGxPblJUQ05ldHdvcmtU
aHJlYWQoW3RoaXMsIGlkZW50aWZpZXIsIGNhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayldKCkg
ewotICAgICAgICBpZiAoYXV0byogc29ja2V0ID0gbV9zb2NrZXRzLmdldChpZGVudGlmaWVyKSkK
LSAgICAgICAgICAgIGNhbGxiYWNrKCpzb2NrZXQpOwotICAgIH0pOwotfQotCiB2b2lkIE5ldHdv
cmtSVENQcm92aWRlcjo6c2VuZEZyb21NYWluVGhyZWFkKEZ1bmN0aW9uPHZvaWQoSVBDOjpDb25u
ZWN0aW9uJik+JiYgY2FsbGJhY2spCiB7CiAgICAgY2FsbE9uTWFpblRocmVhZChbcHJvdmlkZXIg
PSBtYWtlUmVmKCp0aGlzKSwgY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNrKV0oKSB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDUHJv
dmlkZXIuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENQ
cm92aWRlci5oCmluZGV4IDJlYzIwZDEzMGRiYTg1YjVjMzMzMWQ3MmRlNjhhYWFmNmRkOWMxOTQu
Ljg2NjBkZTc5NDM3ODRlYjRmNzhjMDA5OTM3Y2NkNWExNDU1N2MyYmQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENQcm92aWRlci5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENQcm92aWRl
ci5oCkBAIC0yNyw2ICsyNyw3IEBACiAKICNpZiBVU0UoTElCV0VCUlRDKQogCisjaW5jbHVkZSAi
Q29ubmVjdGlvbi5oIgogI2luY2x1ZGUgIkxpYldlYlJUQ1Jlc29sdmVySWRlbnRpZmllci5oIgog
I2luY2x1ZGUgIk5ldHdvcmtSVENNb25pdG9yLmgiCiAjaW5jbHVkZSAiUlRDTmV0d29yay5oIgpA
QCAtNTYsMTcgKzU3LDE2IEBAIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIG5hbWVzcGFjZSBXZWJLaXQg
ewogY2xhc3MgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M7CiBjbGFzcyBOZXR3b3JrUlRD
UmVzb2x2ZXI7Ci1jbGFzcyBOZXR3b3JrUlRDU29ja2V0OwogY2xhc3MgTmV0d29ya1Nlc3Npb247
CitzdHJ1Y3QgUlRDUGFja2V0T3B0aW9uczsKIAotY2xhc3MgTmV0d29ya1JUQ1Byb3ZpZGVyIDog
cHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPE5ldHdvcmtSVENQcm92aWRlcj4sIHB1YmxpYyBy
dGM6Ok1lc3NhZ2VIYW5kbGVyIHsKK2NsYXNzIE5ldHdvcmtSVENQcm92aWRlciA6IHB1YmxpYyBy
dGM6Ok1lc3NhZ2VIYW5kbGVyLCBwdWJsaWMgSVBDOjpDb25uZWN0aW9uOjpUaHJlYWRNZXNzYWdl
UmVjZWl2ZXIgewogcHVibGljOgogICAgIHN0YXRpYyBSZWY8TmV0d29ya1JUQ1Byb3ZpZGVyPiBj
cmVhdGUoTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MmIGNvbm5lY3Rpb24pIHsgcmV0dXJu
IGFkb3B0UmVmKCpuZXcgTmV0d29ya1JUQ1Byb3ZpZGVyKGNvbm5lY3Rpb24pKTsgfQogICAgIH5O
ZXR3b3JrUlRDUHJvdmlkZXIoKTsKIAogICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpD
b25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJik7CiAgICAgdm9pZCBkaWRSZWNlaXZlTmV0d29ya1JU
Q01vbml0b3JNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgSVBDOjpEZWNvZGVy
JiBkZWNvZGVyKSB7IG1fcnRjTW9uaXRvci5kaWRSZWNlaXZlTWVzc2FnZShjb25uZWN0aW9uLCBk
ZWNvZGVyKTsgfQotICAgIHZvaWQgZGlkUmVjZWl2ZU5ldHdvcmtSVENTb2NrZXRNZXNzYWdlKElQ
Qzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYpOwogCiAgICAgY2xhc3MgU29ja2V0IHsKICAg
ICBwdWJsaWM6CkBAIC03OCw3ICs3OCw3IEBAIHB1YmxpYzoKIAogICAgICAgICB2aXJ0dWFsIHZv
aWQgY2xvc2UoKSA9IDA7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBzZXRPcHRpb24oaW50IG9wdGlv
biwgaW50IHZhbHVlKSA9IDA7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBzZW5kVG8oY29uc3QgV2Vi
Q29yZTo6U2hhcmVkQnVmZmVyJiwgY29uc3QgcnRjOjpTb2NrZXRBZGRyZXNzJiwgY29uc3QgcnRj
OjpQYWNrZXRPcHRpb25zJikgPSAwOworICAgICAgICB2aXJ0dWFsIHZvaWQgc2VuZFRvKGNvbnN0
IHVpbnQ4X3QqLCBzaXplX3QsIGNvbnN0IHJ0Yzo6U29ja2V0QWRkcmVzcyYsIGNvbnN0IHJ0Yzo6
UGFja2V0T3B0aW9ucyYpID0gMDsKICAgICB9OwogCiAgICAgc3RkOjp1bmlxdWVfcHRyPFNvY2tl
dD4gdGFrZVNvY2tldChXZWJDb3JlOjpMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyKTsKQEAgLTg2
LDcgKzg2LDYgQEAgcHVibGljOgogCiAgICAgdm9pZCBjbG9zZSgpOwogCi0gICAgdm9pZCBjYWxs
U29ja2V0KFdlYkNvcmU6OkxpYldlYlJUQ1NvY2tldElkZW50aWZpZXIsIEZ1bmN0aW9uPHZvaWQo
U29ja2V0Jik+JiYpOwogICAgIHZvaWQgY2FsbE9uUlRDTmV0d29ya1RocmVhZChGdW5jdGlvbjx2
b2lkKCk+JiYpOwogICAgIHZvaWQgc2VuZEZyb21NYWluVGhyZWFkKEZ1bmN0aW9uPHZvaWQoSVBD
OjpDb25uZWN0aW9uJik+JiYpOwogCkBAIC0xMDQsNiArMTAzLDkgQEAgcHJpdmF0ZToKICAgICB2
b2lkIGNyZWF0ZUNsaWVudFRDUFNvY2tldChXZWJDb3JlOjpMaWJXZWJSVENTb2NrZXRJZGVudGlm
aWVyLCBjb25zdCBSVENOZXR3b3JrOjpTb2NrZXRBZGRyZXNzJiwgY29uc3QgUlRDTmV0d29yazo6
U29ja2V0QWRkcmVzcyYsIFN0cmluZyYmIHVzZXJBZ2VudCwgaW50KTsKICAgICB2b2lkIGNyZWF0
ZVNlcnZlclRDUFNvY2tldChXZWJDb3JlOjpMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyLCBjb25z
dCBSVENOZXR3b3JrOjpTb2NrZXRBZGRyZXNzJiwgdWludDE2X3QgbWluUG9ydCwgdWludDE2X3Qg
bWF4UG9ydCwgaW50KTsKICAgICB2b2lkIHdyYXBOZXdUQ1BDb25uZWN0aW9uKFdlYkNvcmU6Okxp
YldlYlJUQ1NvY2tldElkZW50aWZpZXIgaWRlbnRpZmllciwgV2ViQ29yZTo6TGliV2ViUlRDU29j
a2V0SWRlbnRpZmllciBuZXdDb25uZWN0aW9uU29ja2V0SWRlbnRpZmllcik7CisgICAgdm9pZCBz
ZW5kVG9Tb2NrZXQoV2ViQ29yZTo6TGliV2ViUlRDU29ja2V0SWRlbnRpZmllciwgY29uc3QgSVBD
OjpEYXRhUmVmZXJlbmNlJiwgUlRDTmV0d29yazo6U29ja2V0QWRkcmVzcyYmLCBSVENQYWNrZXRP
cHRpb25zJiYpOworICAgIHZvaWQgY2xvc2VTb2NrZXQoV2ViQ29yZTo6TGliV2ViUlRDU29ja2V0
SWRlbnRpZmllcik7CisgICAgdm9pZCBzZXRTb2NrZXRPcHRpb24oV2ViQ29yZTo6TGliV2ViUlRD
U29ja2V0SWRlbnRpZmllciwgaW50IG9wdGlvbiwgaW50IHZhbHVlKTsKIAogICAgIHZvaWQgY3Jl
YXRlUmVzb2x2ZXIoTGliV2ViUlRDUmVzb2x2ZXJJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmKTsK
ICAgICB2b2lkIHN0b3BSZXNvbHZlcihMaWJXZWJSVENSZXNvbHZlcklkZW50aWZpZXIpOwpAQCAt
MTE0LDExICsxMTYsMTUgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgT25NZXNzYWdlKHJ0Yzo6TWVz
c2FnZSopOwogCisgICAgLy8gSVBDOjpDb25uZWN0aW9uOjpUaHJlYWRNZXNzYWdlUmVjZWl2ZXIK
KyAgICB2b2lkIGRpc3BhdGNoVG9UaHJlYWQoRnVuY3Rpb248dm9pZCgpPiYmKSBmaW5hbDsKKwog
ICAgIHN0YXRpYyBydGM6OlByb3h5SW5mbyBwcm94eUluZm9Gcm9tU2Vzc2lvbihjb25zdCBSVENO
ZXR3b3JrOjpTb2NrZXRBZGRyZXNzJiwgTmV0d29ya1Nlc3Npb24mKTsKIAogICAgIEhhc2hNYXA8
TGliV2ViUlRDUmVzb2x2ZXJJZGVudGlmaWVyLCBzdGQ6OnVuaXF1ZV9wdHI8TmV0d29ya1JUQ1Jl
c29sdmVyPj4gbV9yZXNvbHZlcnM7CiAgICAgSGFzaE1hcDxXZWJDb3JlOjpMaWJXZWJSVENTb2Nr
ZXRJZGVudGlmaWVyLCBzdGQ6OnVuaXF1ZV9wdHI8U29ja2V0Pj4gbV9zb2NrZXRzOwogICAgIE5l
dHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzKiBtX2Nvbm5lY3Rpb247CisgICAgUmVmPElQQzo6
Q29ubmVjdGlvbj4gbV9pcGNDb25uZWN0aW9uOwogICAgIGJvb2wgbV9pc1N0YXJ0ZWQgeyB0cnVl
IH07CiAKICAgICBOZXR3b3JrUlRDTW9uaXRvciBtX3J0Y01vbml0b3I7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDUHJvdmlkZXIubWVz
c2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRD
UHJvdmlkZXIubWVzc2FnZXMuaW4KaW5kZXggMDE4ZDhiMmI4YTFhYmE3N2M3NjZjZmFkNWYwYmFh
NmVlOWUwOWE1Ny4uOGEzNjBhZjVjYmZiYjZjOTU5ZDdkZDc1YzY0NDMzMDk2ZjkyYzYyNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1By
b3ZpZGVyLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvd2Vi
cnRjL05ldHdvcmtSVENQcm92aWRlci5tZXNzYWdlcy5pbgpAQCAtMzAsNiArMzAsMTAgQEAgbWVz
c2FnZXMgLT4gTmV0d29ya1JUQ1Byb3ZpZGVyIHsKIAogICAgIENyZWF0ZVJlc29sdmVyKFdlYktp
dDo6TGliV2ViUlRDUmVzb2x2ZXJJZGVudGlmaWVyIGlkZW50aWZpZXIsIFN0cmluZyBhZGRyZXNz
KQogICAgIFN0b3BSZXNvbHZlcihXZWJLaXQ6OkxpYldlYlJUQ1Jlc29sdmVySWRlbnRpZmllciBp
ZGVudGlmaWVyKQorCisgICAgdm9pZCBTZW5kVG9Tb2NrZXQoV2ViQ29yZTo6TGliV2ViUlRDU29j
a2V0SWRlbnRpZmllciBpZGVudGlmaWVyLCBJUEM6OkRhdGFSZWZlcmVuY2UgZGF0YSwgV2ViS2l0
OjpSVENOZXR3b3JrOjpTb2NrZXRBZGRyZXNzIGFkZHJlc3MsIHN0cnVjdCBXZWJLaXQ6OlJUQ1Bh
Y2tldE9wdGlvbnMgb3B0aW9ucykKKyAgICB2b2lkIENsb3NlU29ja2V0KFdlYkNvcmU6OkxpYldl
YlJUQ1NvY2tldElkZW50aWZpZXIgaWRlbnRpZmllcikKKyAgICB2b2lkIFNldFNvY2tldE9wdGlv
bihXZWJDb3JlOjpMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyIGlkZW50aWZpZXIsIGludCBvcHRp
b24sIGludCB2YWx1ZSkKIH0KIAogI2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDU29ja2V0LmNw
cCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENTb2NrZXQu
Y3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4MjBkMDdiYzBlNzI3NGI0NzhiNGUy
YTg2ZmFhOTcyN2RkMmRmYzRkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENT
b2NrZXQuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNjkgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdo
dCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgot
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgot
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNp
bmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJOZXR3b3JrUlRDU29ja2V0LmgiCi0KLSNpZiBV
U0UoTElCV0VCUlRDKQotCi0jaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgotI2luY2x1ZGUgIk5l
dHdvcmtSVENQcm92aWRlci5oIgotI2luY2x1ZGUgIlJUQ1BhY2tldE9wdGlvbnMuaCIKLSNpbmNs
dWRlIDxXZWJDb3JlL1NoYXJlZEJ1ZmZlci5oPgotI2luY2x1ZGUgPHd0Zi9GdW5jdGlvbi5oPgot
Ci1uYW1lc3BhY2UgV2ViS2l0IHsKLQotTmV0d29ya1JUQ1NvY2tldDo6TmV0d29ya1JUQ1NvY2tl
dChXZWJDb3JlOjpMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyIGlkZW50aWZpZXIsIE5ldHdvcmtS
VENQcm92aWRlciYgcnRjUHJvdmlkZXIpCi0gICAgOiBtX2lkZW50aWZpZXIoaWRlbnRpZmllcikK
LSAgICAsIG1fcnRjUHJvdmlkZXIocnRjUHJvdmlkZXIpCi17Ci19Ci0KLXZvaWQgTmV0d29ya1JU
Q1NvY2tldDo6c2VuZFRvKGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYgZGF0YSwgUlRDTmV0d29y
azo6U29ja2V0QWRkcmVzcyYmIHNvY2tldEFkZHJlc3MsIFJUQ1BhY2tldE9wdGlvbnMmJiBvcHRp
b25zKQotewotICAgIGF1dG8gYnVmZmVyID0gV2ViQ29yZTo6U2hhcmVkQnVmZmVyOjpjcmVhdGUo
ZGF0YS5kYXRhKCksIGRhdGEuc2l6ZSgpKTsKLSAgICBtX3J0Y1Byb3ZpZGVyLmNhbGxTb2NrZXQo
bV9pZGVudGlmaWVyLCBbYnVmZmVyID0gV1RGTW92ZShidWZmZXIpLCBzb2NrZXRBZGRyZXNzID0g
V1RGTW92ZShzb2NrZXRBZGRyZXNzKSwgb3B0aW9ucyA9IFdURk1vdmUob3B0aW9ucy5vcHRpb25z
KV0oYXV0byYgc29ja2V0KSB7Ci0gICAgICAgIHNvY2tldC5zZW5kVG8oYnVmZmVyLmdldCgpLCBz
b2NrZXRBZGRyZXNzLnZhbHVlLCBvcHRpb25zKTsKLSAgICB9KTsKLX0KLQotdm9pZCBOZXR3b3Jr
UlRDU29ja2V0OjpjbG9zZSgpCi17Ci0gICAgbV9ydGNQcm92aWRlci5jYWxsU29ja2V0KG1faWRl
bnRpZmllciwgW10oYXV0byYgc29ja2V0KSB7Ci0gICAgICAgIHNvY2tldC5jbG9zZSgpOwotICAg
IH0pOwotfQotICAgIAotdm9pZCBOZXR3b3JrUlRDU29ja2V0OjpzZXRPcHRpb24oaW50IG9wdGlv
biwgaW50IHZhbHVlKQotewotICAgIG1fcnRjUHJvdmlkZXIuY2FsbFNvY2tldChtX2lkZW50aWZp
ZXIsIFtvcHRpb24sIHZhbHVlXShhdXRvJiBzb2NrZXQpIHsKLSAgICAgICAgc29ja2V0LnNldE9w
dGlvbihvcHRpb24sIHZhbHVlKTsKLSAgICB9KTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViS2l0
Ci0KLSNlbmRpZiAvLyBVU0UoTElCV0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1NvY2tldC5oIGIvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1NvY2tldC5oCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAzZjFjNjFlOWZmZTUzYWQ4M2Q2ZjY5NjRkMDRjMzY4N2Y2NGI4ZjcwLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENTb2NrZXQuaAorKysgL2Rldi9udWxs
CkBAIC0xLDc1ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBh
cmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2lmIFVTRShM
SUJXRUJSVEMpCi0KLSNpbmNsdWRlICJSVENOZXR3b3JrLmgiCi0KLSNpbmNsdWRlIDxXZWJDb3Jl
L0xpYldlYlJUQ01hY3Jvcy5oPgotI2luY2x1ZGUgPFdlYkNvcmUvTGliV2ViUlRDU29ja2V0SWRl
bnRpZmllci5oPgotI2luY2x1ZGUgPHdlYnJ0Yy9ydGNfYmFzZS9hc3luY19wYWNrZXRfc29ja2V0
Lmg+Ci0jaW5jbHVkZSA8d2VicnRjL3J0Y19iYXNlL3RoaXJkX3BhcnR5L3NpZ3Nsb3Qvc2lnc2xv
dC5oPgotCi1uYW1lc3BhY2UgSVBDIHsKLWNsYXNzIENvbm5lY3Rpb247Ci1jbGFzcyBEYXRhUmVm
ZXJlbmNlOwotfQotCi1uYW1lc3BhY2UgcnRjIHsKLWNsYXNzIEFzeW5jUGFja2V0U29ja2V0Owot
Y2xhc3MgU29ja2V0QWRkcmVzczsKLXN0cnVjdCBQYWNrZXRPcHRpb25zOwotc3RydWN0IFNlbnRQ
YWNrZXQ7Ci10eXBlZGVmIGludDY0X3QgUGFja2V0VGltZTsKLX0KLQotbmFtZXNwYWNlIFdlYkNv
cmUgewotY2xhc3MgU2hhcmVkQnVmZmVyOwotfQotCi1uYW1lc3BhY2UgV2ViS2l0IHsKLQotY2xh
c3MgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M7Ci1jbGFzcyBOZXR3b3JrUlRDUHJvdmlk
ZXI7Ci1zdHJ1Y3QgUlRDUGFja2V0T3B0aW9uczsKLQotY2xhc3MgTmV0d29ya1JUQ1NvY2tldCB7
Ci1wdWJsaWM6Ci0gICAgTmV0d29ya1JUQ1NvY2tldChXZWJDb3JlOjpMaWJXZWJSVENTb2NrZXRJ
ZGVudGlmaWVyLCBOZXR3b3JrUlRDUHJvdmlkZXImKTsKLSAgICB2b2lkIGRpZFJlY2VpdmVNZXNz
YWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYpOwotcHJpdmF0ZToKLSAgICB2b2lk
IHNlbmRUbyhjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmLCBSVENOZXR3b3JrOjpTb2NrZXRBZGRy
ZXNzJiYsIFJUQ1BhY2tldE9wdGlvbnMmJik7Ci0gICAgdm9pZCBjbG9zZSgpOwotICAgIHZvaWQg
c2V0T3B0aW9uKGludCBvcHRpb24sIGludCB2YWx1ZSk7Ci0KLSAgICBXZWJDb3JlOjpMaWJXZWJS
VENTb2NrZXRJZGVudGlmaWVyIG1faWRlbnRpZmllcjsKLSAgICBOZXR3b3JrUlRDUHJvdmlkZXIm
IG1fcnRjUHJvdmlkZXI7Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKLQotI2VuZGlmIC8v
IFVTRShMSUJXRUJSVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L3dlYnJ0Yy9OZXR3b3JrUlRDU29ja2V0Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1NvY2tldC5tZXNzYWdlcy5pbgpkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggZDdhNTc5MTQ4MTEyMmU1NTgxY2IyNmIyN2Y4ZDhlZDYxNDcz
ZWRjMC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDU29ja2V0Lm1lc3NhZ2Vz
LmluCisrKyAvZGV2L251bGwKQEAgLTEsMzEgKzAsMCBAQAotIyBDb3B5cmlnaHQgKEMpIDIwMTcg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotIwotIyBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSMgbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCi0jIGFyZSBtZXQ6Ci0jIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotIyAyLiAgUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
LSMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKLSMgICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0jCi0jIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycg
QU5ECi0jIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECi0jIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKLSMgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IKLSMgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAotIyBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUgotIyBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUgotIyBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAotIyBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQotIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgotCi0jaWYgVVNFKExJQldFQlJUQykKLQotbWVzc2FnZXMgLT4gTmV0
d29ya1JUQ1NvY2tldCBOb3RSZWZDb3VudGVkIHsKLSAgICB2b2lkIFNlbmRUbyhJUEM6OkRhdGFS
ZWZlcmVuY2UgZGF0YSwgV2ViS2l0OjpSVENOZXR3b3JrOjpTb2NrZXRBZGRyZXNzIGFkZHJlc3Ms
IHN0cnVjdCBXZWJLaXQ6OlJUQ1BhY2tldE9wdGlvbnMgb3B0aW9ucykKLSAgICB2b2lkIENsb3Nl
KCkKLSAgICB2b2lkIFNldE9wdGlvbihpbnQgb3B0aW9uLCBpbnQgdmFsdWUpCi19Ci0KLSNlbmRp
ZiAvLyBVU0UoTElCV0VCUlRDKXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU291cmNlc0Nv
Y29hLnR4dCBiL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dAppbmRleCAyNTE5YjdlZTI4
M2E0MDE1YWNjMmE0MzQwMTFkODU5YzRhMmM2ODdlLi5hYjYyYTk0MDQ5MjE4N2RmNThmYjYxNTIz
M2UyMjA0YzA1NDcwZGU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50
eHQKKysrIGIvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CkBAIC01NSw3ICs1NSw2IEBA
IE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDTW9uaXRvci5jcHAKIE5ldHdvcmtQcm9j
ZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDUHJvdmlkZXIuY3BwCiBOZXR3b3JrUHJvY2Vzcy93ZWJydGMv
TmV0d29ya1JUQ1Jlc29sdmVyLmNwcAogTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENS
ZXNvbHZlckNvY29hLmNwcAotTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENTb2NrZXQu
Y3BwCiAKIEdQVVByb2Nlc3MvRW50cnlQb2ludC9Db2NvYS9YUENTZXJ2aWNlL0dQVVNlcnZpY2VF
bnRyeVBvaW50Lm1tCiBHUFVQcm9jZXNzL2lvcy9HUFVQcm9jZXNzSU9TLm1tCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNHVEsudHh0IGIvU291cmNlL1dlYktpdC9Tb3VyY2VzR1RL
LnR4dAppbmRleCA1MTY3YWU5ZGRjYmVkNmMwMmMxMDQxNWEwZjk5OGZhMjBhMzcxZTc3Li5iMjA3
OTVhZjIwOGI2ZDUyZjE4MDNmZDhhZDNjNzQ5MGQxY2Q1YjM1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1NvdXJjZXNHVEsudHh0CisrKyBiL1NvdXJjZS9XZWJLaXQvU291cmNlc0dUSy50eHQK
QEAgLTQ5LDcgKzQ5LDYgQEAgTmV0d29ya1Byb2Nlc3Mvc291cC9XZWJTb2NrZXRUYXNrU291cC5j
cHAKIE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENTb2NrZXRDbGllbnQuY3BwCiBOZXR3
b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ01vbml0b3IuY3BwCiBOZXR3b3JrUHJvY2Vzcy93
ZWJydGMvTmV0d29ya1JUQ1Byb3ZpZGVyLmNwcAotTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdv
cmtSVENTb2NrZXQuY3BwCiAKIFBsYXRmb3JtL0lQQy91bml4L0F0dGFjaG1lbnRVbml4LmNwcAog
UGxhdGZvcm0vSVBDL3VuaXgvQ29ubmVjdGlvblVuaXguY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1NvdXJjZXNXUEUudHh0IGIvU291cmNlL1dlYktpdC9Tb3VyY2VzV1BFLnR4dAppbmRl
eCBlM2Y4ZjQ3ZjkzZGQ5MjlkYTU5YjM1NjQ3MmMyMGFkOWEwYzhmYjRmLi5hOTQwYjNkYTA1MWVl
OGU3Yzc2NGJmMTNmOTc5M2U5Y2IyM2FlMDgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1Nv
dXJjZXNXUEUudHh0CisrKyBiL1NvdXJjZS9XZWJLaXQvU291cmNlc1dQRS50eHQKQEAgLTQ5LDcg
KzQ5LDYgQEAgTmV0d29ya1Byb2Nlc3Mvc291cC9XZWJTb2NrZXRUYXNrU291cC5jcHAKIE5ldHdv
cmtQcm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENTb2NrZXRDbGllbnQuY3BwCiBOZXR3b3JrUHJvY2Vz
cy93ZWJydGMvTmV0d29ya1JUQ01vbml0b3IuY3BwCiBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0
d29ya1JUQ1Byb3ZpZGVyLmNwcAotTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENTb2Nr
ZXQuY3BwCiAKIFBsYXRmb3JtL0lQQy91bml4L0F0dGFjaG1lbnRVbml4LmNwcAogUGxhdGZvcm0v
SVBDL3VuaXgvQ29ubmVjdGlvblVuaXguY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dl
YktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBlOTRmZTZlY2MyMjg0MGU5ZjExYTAzZWYxMmMy
NDdkZmFhODJjMjk5Li45YTcwZDgyZWRlNTc3MzAyM2VlYzI4OWU4OTQyZTQwMmM1M2YxZjZmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAg
LTkwNCw3ICs5MDQsNiBAQAogCQk0MTFBOEREQjIwREREMUFDMDA2MEQzNEYgLyogV0tNb2NrTWVk
aWFEZXZpY2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQxMUE4REQ5MjBEREI2MDUwMDYwRDM0RiAvKiBXS01vY2tNZWRpYURldmljZS5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQxMUIyMjY0MUUzNzFC
QTYwMDRGNzM2MyAvKiBMaWJXZWJSVENOZXR3b3JrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTFCMjI2MjFFMzcxMjQ0MDA0RjczNjMgLyogTGliV2Vi
UlRDTmV0d29yay5oICovOyB9OwogCQk0MTI4N0Q0RTIyNUQxRUNCMDA5QTNFMjYgLyogV2ViU29j
a2V0VGFza0NvY29hLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNDEyODdENEIyMjVDMDVDNDAwOUEzRTI2IC8qIFdlYlNvY2tldFRhc2tDb2NvYS5tbSAq
LzsgfTsKLQkJNDEzMDc1QUIxREU4NUYzMzAwMzlFQzY5IC8qIE5ldHdvcmtSVENTb2NrZXQuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMzA3NTk5MURF
ODRGQjAwMDM5RUM2OSAvKiBOZXR3b3JrUlRDU29ja2V0LmggKi87IH07CiAJCTQxMzA3NUFDMURF
ODVGMzcwMDM5RUM2OSAvKiBOZXR3b3JrUlRDTW9uaXRvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEzMDc1OUIxREU4NEZCMDAwMzlFQzY5IC8qIE5l
dHdvcmtSVENNb25pdG9yLmggKi87IH07CiAJCTQxMzA3NUFEMURFODVGNTgwMDM5RUM2OSAvKiBM
aWJXZWJSVENTb2NrZXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDQxMzA3NUEwMURFODVFRTcwMDM5RUM2OSAvKiBMaWJXZWJSVENTb2NrZXQuaCAqLzsg
fTsKIAkJNDEzMDc1QjAxREU4NUY1ODAwMzlFQzY5IC8qIFdlYlJUQ01vbml0b3IuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMzA3NUEzMURFODVFRTcw
MDM5RUM2OSAvKiBXZWJSVENNb25pdG9yLmggKi87IH07CkBAIC0xMDc3LDcgKzEwNzYsNiBAQAog
CQk1MUYwNjBFMDE2NTQzMTdGMDBGMzI4MUIgLyogV2ViUmVzb3VyY2VMb2FkZXJNZXNzYWdlcy5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFGMDYwREUx
NjU0MzE3NTAwRjMyODFCIC8qIFdlYlJlc291cmNlTG9hZGVyTWVzc2FnZXMuaCAqLzsgfTsKIAkJ
NTFGMDYwRTExNjU0MzE4NTAwRjMyODFCIC8qIFdlYlJlc291cmNlTG9hZGVyTWVzc2FnZVJlY2Vp
dmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUx
RjA2MEREMTY1NDMxNzUwMEYzMjgxQiAvKiBXZWJSZXNvdXJjZUxvYWRlck1lc3NhZ2VSZWNlaXZl
ci5jcHAgKi87IH07CiAJCTUxRjA2MEUxMTY1NDMxODUwMEYzMjgxQyAvKiBMaWJXZWJSVENOZXR3
b3JrTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDUxRjA2MEREMTY1NDMxNzUwMEYzMjgxQyAvKiBMaWJXZWJSVENOZXR3b3Jr
TWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKLQkJNTFGMDYwRTExNjU0MzE4NTAwRjMyODFEIC8q
IE5ldHdvcmtSVENTb2NrZXRNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFGMDYwREQxNjU0MzE3NTAwRjMyODFEIC8qIE5l
dHdvcmtSVENTb2NrZXRNZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OwogCQk1MUYwNjBFMTE2NTQz
MTg1MDBGMzI4MUUgLyogTmV0d29ya1JUQ01vbml0b3JNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFGMDYwREQxNjU0MzE3
NTAwRjMyODFFIC8qIE5ldHdvcmtSVENNb25pdG9yTWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsK
IAkJNTFGMDYwRTExNjU0MzE4NTAwRjMyODFGIC8qIFdlYlJUQ01vbml0b3JNZXNzYWdlUmVjZWl2
ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFG
MDYwREQxNjU0MzE3NTAwRjMyODFGIC8qIFdlYlJUQ01vbml0b3JNZXNzYWdlUmVjZWl2ZXIuY3Bw
ICovOyB9OwogCQk1MUYwNjBFMTE2NTQzMTg1MDBGMzI4MkMgLyogV2ViUlRDUmVzb2x2ZXJNZXNz
YWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNTFGMDYwREQxNjU0MzE3NTAwRjMyODJDIC8qIFdlYlJUQ1Jlc29sdmVyTWVzc2FnZVJl
Y2VpdmVyLmNwcCAqLzsgfTsKQEAgLTM0MDYsMTIgKzM0MDQsOSBAQAogCQk0MTI4N0Q0QjIyNUMw
NUM0MDA5QTNFMjYgLyogV2ViU29ja2V0VGFza0NvY29hLm1tICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViU29ja2V0VGFza0NvY29hLm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk0MTI4N0Q0QzIyNUMwNUM1MDA5QTNFMjYgLyogV2ViU29ja2V0VGFz
a0NvY29hLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYlNvY2tldFRhc2tD
b2NvYS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTI4N0Q0RDIyNUMxNjFGMDA5
QTNFMjYgLyogV2ViU29ja2V0VGFzay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBXZWJTb2NrZXRUYXNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTQxMzA3NTk4
MURFODRGQjAwMDM5RUM2OSAvKiBOZXR3b3JrUlRDU29ja2V0LmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE5ldHdvcmtSVENTb2NrZXQuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwotCQk0MTMwNzU5OTFERTg0RkIwMDAzOUVDNjkgLyogTmV0d29ya1JUQ1Nv
Y2tldC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOZXR3b3JrUlRDU29ja2V0
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxMzA3NTlBMURFODRGQjAwMDM5RUM2
OSAvKiBOZXR3b3JrUlRDTW9uaXRvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBOZXR3b3JrUlRDTW9uaXRvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTQxMzA3NTlCMURFODRGQjAwMDM5RUM2OSAvKiBOZXR3b3JrUlRDTW9uaXRvci5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOZXR3b3JrUlRDTW9uaXRvci5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk0MTMwNzU5QzFERTg0RkIwMDAzOUVDNjkgLyogTmV0d29y
a1JUQ01vbml0b3IubWVzc2FnZXMuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gTmV0d29ya1JU
Q01vbml0b3IubWVzc2FnZXMuaW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTQxMzA3
NTlEMURFODRGQjAwMDM5RUM2OSAvKiBOZXR3b3JrUlRDU29ja2V0Lm1lc3NhZ2VzLmluICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gdGV4dDsgcGF0aCA9IE5ldHdvcmtSVENTb2NrZXQubWVzc2FnZXMuaW47IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxMzA3NTlGMURFODVFRTcwMDM5RUM2OSAvKiBXZWJSVENT
b2NrZXQubWVzc2FnZXMuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBuYW1lID0gV2ViUlRDU29ja2V0Lm1l
c3NhZ2VzLmluOyBwYXRoID0gTmV0d29yay93ZWJydGMvV2ViUlRDU29ja2V0Lm1lc3NhZ2VzLmlu
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTMwNzVBMDFERTg1RUU3MDAzOUVDNjkg
LyogTGliV2ViUlRDU29ja2V0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IExp
YldlYlJUQ1NvY2tldC5oOyBwYXRoID0gTmV0d29yay93ZWJydGMvTGliV2ViUlRDU29ja2V0Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxMzA3NUExMURFODVFRTcwMDM5RUM2OSAv
KiBMaWJXZWJSVENTb2NrZXQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1l
ID0gTGliV2ViUlRDU29ja2V0LmNwcDsgcGF0aCA9IE5ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1Nv
Y2tldC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0zODI2LDcgKzM4MjEsNiBA
QAogCQk1MUU5NDk5NjFENzYxQ0M3MDBFQzlFQjkgLyogVUlHYW1lcGFkUHJvdmlkZXJJT1MubW0g
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBVSUdhbWVwYWRQcm92aWRl
cklPUy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTFGMDYwREQxNjU0MzE3NTAw
RjMyODFCIC8qIFdlYlJlc291cmNlTG9hZGVyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgbmFtZSA9IFdlYlJlc291cmNlTG9hZGVyTWVzc2FnZVJlY2VpdmVyLmNwcDsgcGF0aCA9IERl
cml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViUmVzb3VyY2VMb2FkZXJNZXNzYWdlUmVjZWl2ZXIuY3Bw
OyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OwogCQk1MUYwNjBERDE2NTQzMTc1
MDBGMzI4MUMgLyogTGliV2ViUlRDTmV0d29ya01lc3NhZ2VSZWNlaXZlci5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IG5hbWUgPSBMaWJXZWJSVENOZXR3b3JrTWVzc2FnZVJlY2VpdmVyLmNwcDsgcGF0aCA9IERl
cml2ZWRTb3VyY2VzL1dlYktpdDIvTGliV2ViUlRDTmV0d29ya01lc3NhZ2VSZWNlaXZlci5jcHA7
IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07Ci0JCTUxRjA2MEREMTY1NDMxNzUw
MEYzMjgxRCAvKiBOZXR3b3JrUlRDU29ja2V0TWVzc2FnZVJlY2VpdmVyLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgbmFtZSA9IE5ldHdvcmtSVENTb2NrZXRNZXNzYWdlUmVjZWl2ZXIuY3BwOyBwYXRoID0gRGVy
aXZlZFNvdXJjZXMvV2ViS2l0Mi9OZXR3b3JrUlRDU29ja2V0TWVzc2FnZVJlY2VpdmVyLmNwcDsg
c291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKIAkJNTFGMDYwREQxNjU0MzE3NTAw
RjMyODFFIC8qIE5ldHdvcmtSVENNb25pdG9yTWVzc2FnZVJlY2VpdmVyLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgbmFtZSA9IE5ldHdvcmtSVENNb25pdG9yTWVzc2FnZVJlY2VpdmVyLmNwcDsgcGF0aCA9IERl
cml2ZWRTb3VyY2VzL1dlYktpdDIvTmV0d29ya1JUQ01vbml0b3JNZXNzYWdlUmVjZWl2ZXIuY3Bw
OyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OwogCQk1MUYwNjBERDE2NTQzMTc1
MDBGMzI4MUYgLyogV2ViUlRDTW9uaXRvck1lc3NhZ2VSZWNlaXZlci5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IG5hbWUgPSBXZWJSVENNb25pdG9yTWVzc2FnZVJlY2VpdmVyLmNwcDsgcGF0aCA9IERlcml2ZWRT
b3VyY2VzL1dlYktpdDIvV2ViUlRDTW9uaXRvck1lc3NhZ2VSZWNlaXZlci5jcHA7IHNvdXJjZVRy
ZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CiAJCTUxRjA2MEREMTY1NDMxNzUwMEYzMjgyQyAv
KiBXZWJSVENSZXNvbHZlck1lc3NhZ2VSZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBX
ZWJSVENSZXNvbHZlck1lc3NhZ2VSZWNlaXZlci5jcHA7IHBhdGggPSBEZXJpdmVkU291cmNlcy9X
ZWJLaXQyL1dlYlJUQ1Jlc29sdmVyTWVzc2FnZVJlY2VpdmVyLmNwcDsgc291cmNlVHJlZSA9IEJV
SUxUX1BST0RVQ1RTX0RJUjsgfTsKQEAgLTc1OTMsOSArNzU4Nyw2IEBACiAJCQkJNDExMkI1NDgx
RjlGRDNBQzAwRTY3ODc1IC8qIE5ldHdvcmtSVENSZXNvbHZlci5oICovLAogCQkJCTQxMTJCNTQ3
MUY5RkQzQUIwMEU2Nzk4NiAvKiBOZXR3b3JrUlRDUmVzb2x2ZXJDb2NvYS5jcHAgKi8sCiAJCQkJ
NDExMkI1NDgxRjlGRDNBQzAwRTY3OTg2IC8qIE5ldHdvcmtSVENSZXNvbHZlckNvY29hLmggKi8s
Ci0JCQkJNDEzMDc1OTgxREU4NEZCMDAwMzlFQzY5IC8qIE5ldHdvcmtSVENTb2NrZXQuY3BwICov
LAotCQkJCTQxMzA3NTk5MURFODRGQjAwMDM5RUM2OSAvKiBOZXR3b3JrUlRDU29ja2V0LmggKi8s
Ci0JCQkJNDEzMDc1OUQxREU4NEZCMDAwMzlFQzY5IC8qIE5ldHdvcmtSVENTb2NrZXQubWVzc2Fn
ZXMuaW4gKi8sCiAJCQkpOwogCQkJcGF0aCA9IHdlYnJ0YzsKIAkJCXNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7CkBAIC0xMDAzMyw3ICsxMDAyNCw2IEBACiAJCQkJRTE1MjU1MTkxNzAxMTgxOTAwM0Q3
QURCIC8qIE5ldHdvcmtSZXNvdXJjZUxvYWRlck1lc3NhZ2VzLmggKi8sCiAJCQkJNTFGMDYwREQx
NjU0MzE3NTAwRjMyODFFIC8qIE5ldHdvcmtSVENNb25pdG9yTWVzc2FnZVJlY2VpdmVyLmNwcCAq
LywKIAkJCQk1MUYwNjBERDE2NTQzMTc1MDBGMzI4MkUgLyogTmV0d29ya1JUQ1Byb3ZpZGVyTWVz
c2FnZVJlY2VpdmVyLmNwcCAqLywKLQkJCQk1MUYwNjBERDE2NTQzMTc1MDBGMzI4MUQgLyogTmV0
d29ya1JUQ1NvY2tldE1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCiAJCQkJMzFGMDYwREQxNjU0MzE3
NTAwRjMyODFDIC8qIE5ldHdvcmtTb2NrZXRDaGFubmVsTWVzc2FnZVJlY2VpdmVyLmNwcCAqLywK
IAkJCQk1QzBCMTc3NDFFN0M4NzlDMDBFOTEyM0MgLyogTmV0d29ya1NvY2tldFN0cmVhbU1lc3Nh
Z2VSZWNlaXZlci5jcHAgKi8sCiAJCQkJNUMwQjE3NzUxRTdDODc5QzAwRTkxMjNDIC8qIE5ldHdv
cmtTb2NrZXRTdHJlYW1NZXNzYWdlcy5oICovLApAQCAtMTA5NTYsNyArMTA5NDYsNiBAQAogCQkJ
CTVDMTQyNkYwMUMyM0Y4MDkwMEQ0MTE4MyAvKiBOZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVy
cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDEzMDc1QUMxREU4NUYzNzAwMzlFQzY5IC8qIE5ldHdv
cmtSVENNb25pdG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQk0MURDNDU5NjFFM0Q2RTIyMDBCMTFG
NTEgLyogTmV0d29ya1JUQ1Byb3ZpZGVyLmggaW4gSGVhZGVycyAqLywKLQkJCQk0MTMwNzVBQjFE
RTg1RjMzMDAzOUVDNjkgLyogTmV0d29ya1JUQ1NvY2tldC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
NUMyMENCQTAxQkIxRUNEODAwODk1QkIxIC8qIE5ldHdvcmtTZXNzaW9uLmggaW4gSGVhZGVycyAq
LywKIAkJCQk1MzIxNTk1NTFEQkFFNzI5MDA1NEFBM0MgLyogTmV0d29ya1Nlc3Npb25Db2NvYS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNDE3OTE1QjkyMjU3MDQ2RjAwRDZGOTdFIC8qIE5ldHdvcmtT
b2NrZXRDaGFubmVsLmggaW4gSGVhZGVycyAqLywKQEAgLTEyNzU3LDcgKzEyNzQ2LDYgQEAKIAkJ
CQk1MUYwNjBFMTE2NTQzMTg1MDBGMzI4MUUgLyogTmV0d29ya1JUQ01vbml0b3JNZXNzYWdlUmVj
ZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDE3NjkwMTQyMkZERDQxQjAwQjE1NzZEIC8q
IE5ldHdvcmtSVENQcm92aWRlci5tbSBpbiBTb3VyY2VzICovLAogCQkJCTUxRjA2MEUxMTY1NDMx
ODUwMEYzMjgyRSAvKiBOZXR3b3JrUlRDUHJvdmlkZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNv
dXJjZXMgKi8sCi0JCQkJNTFGMDYwRTExNjU0MzE4NTAwRjMyODFEIC8qIE5ldHdvcmtSVENTb2Nr
ZXRNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMzFGMDYwRTExNjU0MzE4
NTAwRjMyODFDIC8qIE5ldHdvcmtTb2NrZXRDaGFubmVsTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTVDMEIxNzc4MUU3Qzg4MEUwMEU5MTIzQyAvKiBOZXR3b3JrU29ja2V0
U3RyZWFtTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJEOTJBNzkwMjEy
QjZBRDQwMEY0OTNGRCAvKiBOUElkZW50aWZpZXJEYXRhLmNwcCBpbiBTb3VyY2VzICovLApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJU
Q1NvY2tldC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGli
V2ViUlRDU29ja2V0LmNwcAppbmRleCBlOGVlNzM0MTdlZDlhMGYwMmQwYjhkNGQ2NWY5OGYzNDNi
YTU3NTdjLi5lY2FlYjE0NDE4NjI3M2FjYTk2ZDQzNTBhNDE4YmRkMjQ1ODIxYzdiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDU29j
a2V0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGli
V2ViUlRDU29ja2V0LmNwcApAQCAtMzEsNyArMzEsNyBAQAogI2luY2x1ZGUgIkRhdGFSZWZlcmVu
Y2UuaCIKICNpbmNsdWRlICJMaWJXZWJSVENTb2NrZXRGYWN0b3J5LmgiCiAjaW5jbHVkZSAiTmV0
d29ya1Byb2Nlc3NDb25uZWN0aW9uLmgiCi0jaW5jbHVkZSAiTmV0d29ya1JUQ1NvY2tldE1lc3Nh
Z2VzLmgiCisjaW5jbHVkZSAiTmV0d29ya1JUQ1Byb3ZpZGVyTWVzc2FnZXMuaCIKICNpbmNsdWRl
ICJSVENQYWNrZXRPcHRpb25zLmgiCiAjaW5jbHVkZSAiV2ViUHJvY2Vzcy5oIgogI2luY2x1ZGUg
PFdlYkNvcmUvU2hhcmVkQnVmZmVyLmg+CkBAIC0xMzYsNyArMTM2LDcgQEAgaW50IExpYldlYlJU
Q1NvY2tldDo6U2VuZFRvKGNvbnN0IHZvaWQgKnZhbHVlLCBzaXplX3Qgc2l6ZSwgY29uc3QgcnRj
OjpTb2NrZXRBZGQKICAgICAgICAgcmV0dXJuIHNpemU7CiAKICAgICBJUEM6OkRhdGFSZWZlcmVu
Y2UgZGF0YShzdGF0aWNfY2FzdDxjb25zdCB1aW50OF90Kj4odmFsdWUpLCBzaXplKTsKLSAgICBj
b25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpOZXR3b3JrUlRDU29ja2V0OjpTZW5kVG8geyBkYXRh
LCBSVENOZXR3b3JrOjpTb2NrZXRBZGRyZXNzIHsgYWRkcmVzcyB9LCBSVENQYWNrZXRPcHRpb25z
IHsgb3B0aW9ucyB9IH0sIG1faWRlbnRpZmllcik7CisgICAgY29ubmVjdGlvbi0+c2VuZChNZXNz
YWdlczo6TmV0d29ya1JUQ1Byb3ZpZGVyOjpTZW5kVG9Tb2NrZXQgeyBtX2lkZW50aWZpZXIsIGRh
dGEsIFJUQ05ldHdvcms6OlNvY2tldEFkZHJlc3MgeyBhZGRyZXNzIH0sIFJUQ1BhY2tldE9wdGlv
bnMgeyBvcHRpb25zIH0gfSwgMCk7CiAKICAgICByZXR1cm4gc2l6ZTsKIH0KQEAgLTE0OSw3ICsx
NDksNyBAQCBpbnQgTGliV2ViUlRDU29ja2V0OjpDbG9zZSgpCiAKICAgICBtX3N0YXRlID0gU1RB
VEVfQ0xPU0VEOwogCi0gICAgY29ubmVjdGlvbi0+c2VuZChNZXNzYWdlczo6TmV0d29ya1JUQ1Nv
Y2tldDo6Q2xvc2UoKSwgbV9pZGVudGlmaWVyKTsKKyAgICBjb25uZWN0aW9uLT5zZW5kKE1lc3Nh
Z2VzOjpOZXR3b3JrUlRDUHJvdmlkZXI6OkNsb3NlU29ja2V0IHsgbV9pZGVudGlmaWVyIH0sIDAp
OwogCiAgICAgcmV0dXJuIDA7CiB9CkBAIC0xNzEsNyArMTcxLDcgQEAgaW50IExpYldlYlJUQ1Nv
Y2tldDo6U2V0T3B0aW9uKHJ0Yzo6U29ja2V0OjpPcHRpb24gb3B0aW9uLCBpbnQgdmFsdWUpCiAg
ICAgbV9vcHRpb25zW29wdGlvbl0gPSB2YWx1ZTsKIAogICAgIGlmIChhdXRvKiBjb25uZWN0aW9u
ID0gbV9mYWN0b3J5LmNvbm5lY3Rpb24oKSkKLSAgICAgICAgY29ubmVjdGlvbi0+c2VuZChNZXNz
YWdlczo6TmV0d29ya1JUQ1NvY2tldDo6U2V0T3B0aW9uKG9wdGlvbiwgdmFsdWUpLCBtX2lkZW50
aWZpZXIpOworICAgICAgICBjb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpOZXR3b3JrUlRDUHJv
dmlkZXI6OlNldFNvY2tldE9wdGlvbiB7IG1faWRlbnRpZmllciwgb3B0aW9uLCB2YWx1ZSB9LCAw
KTsKIAogICAgIHJldHVybiAwOwogfQpAQCAtMjAxLDcgKzIwMSw3IEBAIHZvaWQgTGliV2ViUlRD
U29ja2V0OjpzdXNwZW5kKCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKGF1dG8qIGNvbm5l
Y3Rpb24gPSBtX2ZhY3RvcnkuY29ubmVjdGlvbigpKQotICAgICAgICBjb25uZWN0aW9uLT5zZW5k
KE1lc3NhZ2VzOjpOZXR3b3JrUlRDU29ja2V0OjpDbG9zZSB7IH0sIG1faWRlbnRpZmllcik7Cisg
ICAgICAgIGNvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6Ok5ldHdvcmtSVENQcm92aWRlcjo6Q2xv
c2VTb2NrZXQgeyBtX2lkZW50aWZpZXIgfSwgMCk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktp
dAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>403180</attachid>
            <date>2020-06-30 00:28:17 -0700</date>
            <delta_ts>2020-06-30 00:34:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-213557-20200630092815.patch</filename>
            <type>text/plain</type>
            <size>45976</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYzNjcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGVjYTQwOTFmNmI1ZDEyMGYw
MTNlMWNlMTg3YWMyYmVjMGM5YjQ0ZDAuLmRmODlkMzZjMzFlMmE0NGY2MjQ3OGI1MjE1NzQ0ZDZm
ZGFlNTM1OGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTMgQEAKKzIwMjAtMDYtMjkgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIE1ha2UgTmV0d29ya1JUQ1Byb3Zp
ZGVyIHJlY2VpdmUgSVBDIG1lc3NhZ2VzIGZyb20gYSBiYWNrZ3JvdW5kIHRocmVhZAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEzNTU3CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVG8gZW5zdXJlIHdlYnJ0
YyBwYWNrZXRzIGRvIG5vdCBnZXQgYmxvY2tlZCBvbiB0aGUgbWFpbiB0aHJlYWQsCisgICAgICAg
IHdlIHByb2Nlc3MgV2ViUHJvY2VzcyBJUEMgbWVzc2FnZSBkaXJlY3RseSBpbiB0aGUgc29ja2V0
IHRocmVhZC4KKyAgICAgICAgRm9yIG5ldyBzb2NrZXRzLCB3ZSBzdGlsbCBnbyB0aHJvdWdoIHRo
ZSBtYWluIHRocmVhZCwgdG8gY2hlY2sgc3VzcGVuc2lvbiBvciBwcm94eSB2YWx1ZXMuCisgICAg
ICAgIEZvciBzZW5kaW5nIHBhY2tldHMvc2V0dGluZyBvcHRpb25zL2Nsb3Npbmcgc29ja2V0cywg
d2Ugc3RheSBpbiB0aGUgYmFja2dyb3VuZCB0aHJlYWQuCisKKyAgICAgICAgKiBEZXJpdmVkU291
cmNlcy1vdXRwdXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgor
ICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmRpZFJl
Y2VpdmVNZXNzYWdlKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRD
U29ja2V0Q2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDU29ja2V0Q2xpZW50
OjpzZW5kVG8pOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENTb2Nr
ZXRDbGllbnQuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1By
b3ZpZGVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1JUQ1Byb3ZpZGVyOjpOZXR3b3Jr
UlRDUHJvdmlkZXIpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUlRDUHJvdmlkZXI6OmNsb3Nl
KToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1JUQ1Byb3ZpZGVyOjpjcmVhdGVTb2NrZXQpOgor
ICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUlRDUHJvdmlkZXI6OmNyZWF0ZVVEUFNvY2tldCk6Cisg
ICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtSVENQcm92aWRlcjo6Y3JlYXRlU2VydmVyVENQU29ja2V0
KToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1JUQ1Byb3ZpZGVyOjpjcmVhdGVDbGllbnRUQ1BT
b2NrZXQpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUlRDUHJvdmlkZXI6OndyYXBOZXdUQ1BD
b25uZWN0aW9uKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1JUQ1Byb3ZpZGVyOjpzZW5kVG9T
b2NrZXQpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUlRDUHJvdmlkZXI6OmNsb3NlU29ja2V0
KToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1JUQ1Byb3ZpZGVyOjpzZXRTb2NrZXRPcHRpb24p
OgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUlRDUHJvdmlkZXI6OmFkZFNvY2tldCk6CisgICAg
ICAgIChXZWJLaXQ6Ok5ldHdvcmtSVENQcm92aWRlcjo6dGFrZVNvY2tldCk6CisgICAgICAgIChX
ZWJLaXQ6Ok5ldHdvcmtSVENQcm92aWRlcjo6bmV3Q29ubmVjdGlvbik6CisgICAgICAgIChXZWJL
aXQ6Ok5ldHdvcmtSVENQcm92aWRlcjo6ZGlzcGF0Y2hUb1RocmVhZCk6CisgICAgICAgICogTmV0
d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENQcm92aWRlci5oOgorICAgICAgICAoV2ViS2l0
OjpOZXR3b3JrUlRDUHJvdmlkZXI6OmRpZFJlY2VpdmVOZXR3b3JrUlRDTW9uaXRvck1lc3NhZ2Up
OgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDUHJvdmlkZXIubWVz
c2FnZXMuaW46CisgICAgICAgICogTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENTb2Nr
ZXQuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3Jr
UlRDU29ja2V0Lmg6IFJlbW92ZWQuCisgICAgICAgICogTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05l
dHdvcmtSVENTb2NrZXQubWVzc2FnZXMuaW46IFJlbW92ZWQuCisgICAgICAgICogU291cmNlc0Nv
Y29hLnR4dDoKKyAgICAgICAgKiBTb3VyY2VzR1RLLnR4dDoKKyAgICAgICAgKiBTb3VyY2VzV1BF
LnR4dDoKKyAgICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1NvY2tldC5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OkxpYldlYlJUQ1NvY2tldDo6U2VuZFRvKToKKyAgICAgICAgKFdlYktpdDo6
TGliV2ViUlRDU29ja2V0OjpDbG9zZSk6CisgICAgICAgIChXZWJLaXQ6OkxpYldlYlJUQ1NvY2tl
dDo6U2V0T3B0aW9uKToKKyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDU29ja2V0OjpzdXNwZW5k
KToKKwogMjAyMC0wNi0yOSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAg
ICAgICAgU2VuZCBXZWJSVEMgcGFja2V0cyByZWNlaXZlZCBmcm9tIG5ldHdvcmsgcHJvY2VzcyB0
byB3ZWIgcHJvY2VzcyBmcm9tIGEgYmFja2dyb3VuZCB0aHJlYWQKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViS2l0
L0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CmluZGV4IGJkODkzM2UzY2U2NDJhYzE1
ODhkNTk5ZDE2OWRiMGI4MjU1ZjE2MzguLjMzZDQyMWJhNTZmM2FlOWZjMDU4ZmNmZTAxNzljMmIy
ZWQ5NjgzYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMtb3V0cHV0
LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNm
aWxlbGlzdApAQCAtOTcsOSArOTcsNiBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViS2l0Mi9OZXR3b3JrUlRDTW9uaXRvck1lc3NhZ2VzUmVwbGllcy5oCiAkKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9OZXR3b3JrUlRDUHJvdmlkZXJN
ZXNzYWdlUmVjZWl2ZXIuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViS2l0Mi9OZXR3b3JrUlRDUHJvdmlkZXJNZXNzYWdlcy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9OZXR3b3JrUlRDUHJvdmlkZXJNZXNzYWdlc1JlcGxp
ZXMuaAotJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvTmV0d29y
a1JUQ1NvY2tldE1lc3NhZ2VSZWNlaXZlci5jcHAKLSQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJLaXQyL05ldHdvcmtSVENTb2NrZXRNZXNzYWdlcy5oCi0kKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9OZXR3b3JrUlRDU29ja2V0TWVzc2Fn
ZXNSZXBsaWVzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQy
L05ldHdvcmtSZXNvdXJjZUxvYWRlck1lc3NhZ2VSZWNlaXZlci5jcHAKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL05ldHdvcmtSZXNvdXJjZUxvYWRlck1lc3Nh
Z2VzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL05ldHdv
cmtSZXNvdXJjZUxvYWRlck1lc3NhZ2VzUmVwbGllcy5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLm1h
a2UKaW5kZXggNWY1ZjI1YzAxYWUyOWY4NTJkYzM4NmQyMzIwYzA3YjhlOTU3ODM1Ni4uZGZhN2My
YjVlNTMxMmVjNTFkZDZmZTY5MjI0MzM5YmU4MTdjYTdiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJj
ZXMubWFrZQpAQCAtMTI2LDcgKzEyNiw2IEBAIE1FU1NBR0VfUkVDRUlWRVJTID0gXAogCU5ldHdv
cmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzIFwKIAlOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3Vy
Y2VMb2FkZXIgXAogCU5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrTUROU1JlZ2lzdGVyIFwK
LQlOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1NvY2tldCBcCiAJTmV0d29ya1Byb2Nl
c3Mvd2VicnRjL05ldHdvcmtSVENQcm92aWRlciBcCiAJTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05l
dHdvcmtSVENNb25pdG9yIFwKIAlOZXR3b3JrUHJvY2Vzcy9Db29raWVzL1dlYkNvb2tpZU1hbmFn
ZXIgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29u
bmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05l
dHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcAppbmRleCA2ZjBjZTY0OWQ4YjE3ZmVmOGQ2
NmVmMTNkNjNiYzVmZGU2OGM1MjRjLi41YzE5MmYyOWU2MTY3YjIxNWExNTRiZjk5N2M2ZGViMWEy
YWNhYjA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtD
b25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcApAQCAtMzksNyArMzksNiBAQAog
I2luY2x1ZGUgIk5ldHdvcmtQcm9jZXNzUHJveHlNZXNzYWdlcy5oIgogI2luY2x1ZGUgIk5ldHdv
cmtSVENNb25pdG9yTWVzc2FnZXMuaCIKICNpbmNsdWRlICJOZXR3b3JrUlRDUHJvdmlkZXJNZXNz
YWdlcy5oIgotI2luY2x1ZGUgIk5ldHdvcmtSVENTb2NrZXRNZXNzYWdlcy5oIgogI2luY2x1ZGUg
Ik5ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzLmgiCiAjaW5jbHVkZSAiTmV0d29ya1Jlc291
cmNlTG9hZGVyLmgiCiAjaW5jbHVkZSAiTmV0d29ya1Jlc291cmNlTG9hZGVyTWVzc2FnZXMuaCIK
QEAgLTIxNSwxOCArMjE0LDE0IEBAIHZvaWQgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6
OmRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvCiAgICAgfQogCiAj
aWYgVVNFKExJQldFQlJUQykKLSAgICBpZiAoZGVjb2Rlci5tZXNzYWdlUmVjZWl2ZXJOYW1lKCkg
PT0gTWVzc2FnZXM6Ok5ldHdvcmtSVENTb2NrZXQ6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSkgewot
ICAgICAgICBydGNQcm92aWRlcigpLmRpZFJlY2VpdmVOZXR3b3JrUlRDU29ja2V0TWVzc2FnZShj
b25uZWN0aW9uLCBkZWNvZGVyKTsKKyAgICBpZiAoZGVjb2Rlci5tZXNzYWdlUmVjZWl2ZXJOYW1l
KCkgPT0gTWVzc2FnZXM6Ok5ldHdvcmtSVENQcm92aWRlcjo6bWVzc2FnZVJlY2VpdmVyTmFtZSgp
KSB7CisgICAgICAgIHJ0Y1Byb3ZpZGVyKCkuZGlkUmVjZWl2ZU1lc3NhZ2UoY29ubmVjdGlvbiwg
ZGVjb2Rlcik7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgaWYgKGRlY29kZXIubWVzc2Fn
ZVJlY2VpdmVyTmFtZSgpID09IE1lc3NhZ2VzOjpOZXR3b3JrUlRDTW9uaXRvcjo6bWVzc2FnZVJl
Y2VpdmVyTmFtZSgpKSB7CiAgICAgICAgIHJ0Y1Byb3ZpZGVyKCkuZGlkUmVjZWl2ZU5ldHdvcmtS
VENNb25pdG9yTWVzc2FnZShjb25uZWN0aW9uLCBkZWNvZGVyKTsKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KLSAgICBpZiAoZGVjb2Rlci5tZXNzYWdlUmVjZWl2ZXJOYW1lKCkgPT0gTWVzc2FnZXM6
Ok5ldHdvcmtSVENQcm92aWRlcjo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpKSB7Ci0gICAgICAgIHJ0
Y1Byb3ZpZGVyKCkuZGlkUmVjZWl2ZU1lc3NhZ2UoY29ubmVjdGlvbiwgZGVjb2Rlcik7Ci0gICAg
ICAgIHJldHVybjsKLSAgICB9CiAjZW5kaWYKICNpZiBFTkFCTEUoV0VCX1JUQykKICAgICBpZiAo
ZGVjb2Rlci5tZXNzYWdlUmVjZWl2ZXJOYW1lKCkgPT0gTWVzc2FnZXM6Ok5ldHdvcmtNRE5TUmVn
aXN0ZXI6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDU29ja2V0Q2xpZW50LmNwcCBiL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL0xpYldlYlJUQ1NvY2tldENsaWVudC5jcHAK
aW5kZXggNGU2NGMxMWE0MzdiNTAwYmRiNTkxMTY5ZTMyMmI5MDEyMDViNDMxZi4uNzg4MzQwZWU3
MDZhYjAxNWY5MWRhZWYxYjc2ZGM3NGVkY2VhMTRjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDU29ja2V0Q2xpZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENTb2NrZXRDbGllbnQu
Y3BwCkBAIC03MCw5ICs3MCw5IEBAIExpYldlYlJUQ1NvY2tldENsaWVudDo6TGliV2ViUlRDU29j
a2V0Q2xpZW50KFdlYkNvcmU6OkxpYldlYlJUQ1NvY2tldElkZW50aWZpZXIKICAgICB9CiB9CiAK
LXZvaWQgTGliV2ViUlRDU29ja2V0Q2xpZW50OjpzZW5kVG8oY29uc3QgV2ViQ29yZTo6U2hhcmVk
QnVmZmVyJiBidWZmZXIsIGNvbnN0IHJ0Yzo6U29ja2V0QWRkcmVzcyYgc29ja2V0QWRkcmVzcywg
Y29uc3QgcnRjOjpQYWNrZXRPcHRpb25zJiBvcHRpb25zKQordm9pZCBMaWJXZWJSVENTb2NrZXRD
bGllbnQ6OnNlbmRUbyhjb25zdCB1aW50OF90KiBkYXRhLCBzaXplX3Qgc2l6ZSwgY29uc3QgcnRj
OjpTb2NrZXRBZGRyZXNzJiBzb2NrZXRBZGRyZXNzLCBjb25zdCBydGM6OlBhY2tldE9wdGlvbnMm
IG9wdGlvbnMpCiB7Ci0gICAgYXV0byByZXN1bHQgPSBtX3NvY2tldC0+U2VuZFRvKHJlaW50ZXJw
cmV0X2Nhc3Q8Y29uc3QgdWludDhfdCo+KGJ1ZmZlci5kYXRhKCkpLCBidWZmZXIuc2l6ZSgpLCBz
b2NrZXRBZGRyZXNzLCBvcHRpb25zKTsKKyAgICBhdXRvIHJlc3VsdCA9IG1fc29ja2V0LT5TZW5k
VG8oZGF0YSwgc2l6ZSwgc29ja2V0QWRkcmVzcywgb3B0aW9ucyk7CiAgICAgUkVMRUFTRV9MT0df
RVJST1JfSUYocmVzdWx0ICYmIG1fc2VuZEVycm9yICE9IHJlc3VsdCwgTmV0d29yaywgIkxpYldl
YlJUQ1NvY2tldENsaWVudDo6c2VuZFRvIGZhaWxlZCB3aXRoIGVycm9yICVkIiwgbV9zb2NrZXQt
PkdldEVycm9yKCkpOwogICAgIG1fc2VuZEVycm9yID0gcmVzdWx0OwogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDU29ja2V0Q2xpZW50
LmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENTb2NrZXRD
bGllbnQuaAppbmRleCA4ZTNmNDgwNjViZjAwOTljYTkzYzZlNGRjMTRlZmI1MzJlNThmNmE2Li4z
YmM3NGVhMWMzYTNlNWRiZjBhMzI0Y2Y4OWI3M2MwMWMxZTFiZDBlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENTb2NrZXRDbGllbnQuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENTb2NrZXRD
bGllbnQuaApAQCAtNDksNyArNDksNyBAQCBwcml2YXRlOgogICAgIHZvaWQgY2xvc2UoKSBmaW5h
bDsKIAogICAgIHZvaWQgc2V0T3B0aW9uKGludCBvcHRpb24sIGludCB2YWx1ZSkgZmluYWw7Ci0g
ICAgdm9pZCBzZW5kVG8oY29uc3QgV2ViQ29yZTo6U2hhcmVkQnVmZmVyJiwgY29uc3QgcnRjOjpT
b2NrZXRBZGRyZXNzJiwgY29uc3QgcnRjOjpQYWNrZXRPcHRpb25zJikgZmluYWw7CisgICAgdm9p
ZCBzZW5kVG8oY29uc3QgdWludDhfdCosIHNpemVfdCwgY29uc3QgcnRjOjpTb2NrZXRBZGRyZXNz
JiwgY29uc3QgcnRjOjpQYWNrZXRPcHRpb25zJikgZmluYWw7CiAKICAgICB2b2lkIHNpZ25hbFJl
YWRQYWNrZXQocnRjOjpBc3luY1BhY2tldFNvY2tldCosIGNvbnN0IGNoYXIqLCBzaXplX3QsIGNv
bnN0IHJ0Yzo6U29ja2V0QWRkcmVzcyYsIGNvbnN0IHJ0Yzo6UGFja2V0VGltZSYpOwogICAgIHZv
aWQgc2lnbmFsU2VudFBhY2tldChydGM6OkFzeW5jUGFja2V0U29ja2V0KiwgY29uc3QgcnRjOjpT
ZW50UGFja2V0Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3dl
YnJ0Yy9OZXR3b3JrUlRDUHJvdmlkZXIuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy93ZWJydGMvTmV0d29ya1JUQ1Byb3ZpZGVyLmNwcAppbmRleCA5NzljYzUzNWI0NjQ5MzFhZTQ0
MTY5YWI2Y2M1ZDlhOTJkNzI5YTEwLi44YTdkN2E1OThlYzFjZjhlZmRkMzMwZWFkNjdhYTE1MTkx
NDBkNWFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9O
ZXR3b3JrUlRDUHJvdmlkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
d2VicnRjL05ldHdvcmtSVENQcm92aWRlci5jcHAKQEAgLTMzLDggKzMzLDkgQEAKICNpbmNsdWRl
ICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaCIK
ICNpbmNsdWRlICJOZXR3b3JrUHJvY2Vzcy5oIgorI2luY2x1ZGUgIk5ldHdvcmtSVENQcm92aWRl
ck1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiTmV0d29ya1JUQ1Jlc29sdmVyLmgiCi0jaW5jbHVkZSAi
TmV0d29ya1JUQ1NvY2tldC5oIgorI2luY2x1ZGUgIlJUQ1BhY2tldE9wdGlvbnMuaCIKICNpbmNs
dWRlICJXZWJSVENSZXNvbHZlck1lc3NhZ2VzLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9MaWJXZWJS
VENNYWNyb3MuaD4KICNpbmNsdWRlIDx3ZWJydGMvcnRjX2Jhc2UvYXN5bmNfcGFja2V0X3NvY2tl
dC5oPgpAQCAtNzYsNiArNzcsNyBAQCBzdGF0aWMgdm9pZCBkb1JlbGVhc2VMb2dnaW5nKHJ0Yzo6
TG9nZ2luZ1NldmVyaXR5IHNldmVyaXR5LCBjb25zdCBjaGFyKiBtZXNzYWdlKQogCiBOZXR3b3Jr
UlRDUHJvdmlkZXI6Ok5ldHdvcmtSVENQcm92aWRlcihOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJv
Y2VzcyYgY29ubmVjdGlvbikKICAgICA6IG1fY29ubmVjdGlvbigmY29ubmVjdGlvbikKKyAgICAs
IG1faXBjQ29ubmVjdGlvbihtYWtlUmVmKGNvbm5lY3Rpb24uY29ubmVjdGlvbigpKSkKICAgICAs
IG1fcnRjTW9uaXRvcigqdGhpcykKICAgICAsIG1fcnRjTmV0d29ya1RocmVhZChjcmVhdGVUaHJl
YWQoKSkKICAgICAsIG1fcGFja2V0U29ja2V0RmFjdG9yeShtYWtlVW5pcXVlUmVmV2l0aG91dEZh
c3RNYWxsb2NDaGVjazxydGM6OkJhc2ljUGFja2V0U29ja2V0RmFjdG9yeT4obV9ydGNOZXR3b3Jr
VGhyZWFkLmdldCgpKSkKQEAgLTg0LDYgKzg2LDcgQEAgTmV0d29ya1JUQ1Byb3ZpZGVyOjpOZXR3
b3JrUlRDUHJvdmlkZXIoTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MmIGNvbm5lY3Rpb24K
ICNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKICAgICBydGM6OkxvZ01lc3NhZ2U6OlNldExvZ091
dHB1dChXZWJLaXQyTG9nV2ViUlRDLnN0YXRlID09IFdURkxvZ0NoYW5uZWxTdGF0ZTo6T24gPyBy
dGM6OkxTX0lORk8gOiBydGM6OkxTX1dBUk5JTkcsIGRvUmVsZWFzZUxvZ2dpbmcpOwogI2VuZGlm
CisgICAgbV9jb25uZWN0aW9uLT5jb25uZWN0aW9uKCkuYWRkVGhyZWFkTWVzc2FnZVJlY2VpdmVy
KE1lc3NhZ2VzOjpOZXR3b3JrUlRDUHJvdmlkZXI6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSwgdGhp
cyk7CiB9CiAKIE5ldHdvcmtSVENQcm92aWRlcjo6fk5ldHdvcmtSVENQcm92aWRlcigpCkBAIC0x
MDEsNiArMTA0LDcgQEAgdm9pZCBOZXR3b3JrUlRDUHJvdmlkZXI6OmNsb3NlKCkKICAgICB3aGls
ZSAoIW1fcmVzb2x2ZXJzLmlzRW1wdHkoKSkKICAgICAgICAgc3RvcFJlc29sdmVyKCptX3Jlc29s
dmVycy5rZXlzKCkuYmVnaW4oKSk7CiAKKyAgICBtX2Nvbm5lY3Rpb24tPmNvbm5lY3Rpb24oKS5y
ZW1vdmVUaHJlYWRNZXNzYWdlUmVjZWl2ZXIoTWVzc2FnZXM6Ok5ldHdvcmtSVENQcm92aWRlcjo6
bWVzc2FnZVJlY2VpdmVyTmFtZSgpKTsKICAgICBtX2Nvbm5lY3Rpb24gPSBudWxscHRyOwogICAg
IG1fcnRjTW9uaXRvci5zdG9wVXBkYXRpbmcoKTsKIApAQCAtMTE1LDYgKzExOSw3IEBAIHZvaWQg
TmV0d29ya1JUQ1Byb3ZpZGVyOjpjbG9zZSgpCiAKIHZvaWQgTmV0d29ya1JUQ1Byb3ZpZGVyOjpj
cmVhdGVTb2NrZXQoTGliV2ViUlRDU29ja2V0SWRlbnRpZmllciBpZGVudGlmaWVyLCBzdGQ6OnVu
aXF1ZV9wdHI8cnRjOjpBc3luY1BhY2tldFNvY2tldD4mJiBzb2NrZXQsIFNvY2tldDo6VHlwZSB0
eXBlLCBSZWY8SVBDOjpDb25uZWN0aW9uPiYmIGNvbm5lY3Rpb24pCiB7CisgICAgQVNTRVJUKG1f
cnRjTmV0d29ya1RocmVhZC0+SXNDdXJyZW50KCkpOwogICAgIGlmICghc29ja2V0KSB7CiAgICAg
ICAgIFJFTEVBU0VfTE9HX0VSUk9SX0lGX0FMTE9XRUQoImNyZWF0ZVNvY2tldCB3aXRoICV1IHNv
Y2tldHMgaXMgdW5hYmxlIHRvIGNyZWF0ZSBhIG5ldyBzb2NrZXQiLCBtX3NvY2tldHMuc2l6ZSgp
KTsKICAgICAgICAgY29ubmVjdGlvbi0+c2VuZChNZXNzYWdlczo6TGliV2ViUlRDTmV0d29yazo6
U2lnbmFsQ2xvc2UoaWRlbnRpZmllciwgMSksIDApOwpAQCAtMTI1LDIzICsxMzAsMjUgQEAgdm9p
ZCBOZXR3b3JrUlRDUHJvdmlkZXI6OmNyZWF0ZVNvY2tldChMaWJXZWJSVENTb2NrZXRJZGVudGlm
aWVyIGlkZW50aWZpZXIsIHN0ZDoKIAogdm9pZCBOZXR3b3JrUlRDUHJvdmlkZXI6OmNyZWF0ZVVE
UFNvY2tldChMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyIGlkZW50aWZpZXIsIGNvbnN0IFJUQ05l
dHdvcms6OlNvY2tldEFkZHJlc3MmIGFkZHJlc3MsIHVpbnQxNl90IG1pblBvcnQsIHVpbnQxNl90
IG1heFBvcnQpCiB7Ci0gICAgY2FsbE9uUlRDTmV0d29ya1RocmVhZChbdGhpcywgaWRlbnRpZmll
ciwgYWRkcmVzcyA9IFJUQ05ldHdvcms6Omlzb2xhdGVkQ29weShhZGRyZXNzLnZhbHVlKSwgbWlu
UG9ydCwgbWF4UG9ydCwgY29ubmVjdGlvbiA9IG1ha2VSZWYobV9jb25uZWN0aW9uLT5jb25uZWN0
aW9uKCkpXSgpIG11dGFibGUgewotICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8cnRjOjpBc3luY1Bh
Y2tldFNvY2tldD4gc29ja2V0KG1fcGFja2V0U29ja2V0RmFjdG9yeS0+Q3JlYXRlVWRwU29ja2V0
KGFkZHJlc3MsIG1pblBvcnQsIG1heFBvcnQpKTsKLSAgICAgICAgY3JlYXRlU29ja2V0KGlkZW50
aWZpZXIsIFdURk1vdmUoc29ja2V0KSwgU29ja2V0OjpUeXBlOjpVRFAsIFdURk1vdmUoY29ubmVj
dGlvbikpOwotICAgIH0pOworICAgIEFTU0VSVChtX3J0Y05ldHdvcmtUaHJlYWQtPklzQ3VycmVu
dCgpKTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8cnRjOjpBc3luY1BhY2tldFNvY2tldD4gc29ja2V0
KG1fcGFja2V0U29ja2V0RmFjdG9yeS0+Q3JlYXRlVWRwU29ja2V0KGFkZHJlc3MudmFsdWUsIG1p
blBvcnQsIG1heFBvcnQpKTsKKyAgICBjcmVhdGVTb2NrZXQoaWRlbnRpZmllciwgV1RGTW92ZShz
b2NrZXQpLCBTb2NrZXQ6OlR5cGU6OlVEUCwgbV9pcGNDb25uZWN0aW9uLmNvcHlSZWYoKSk7CiB9
CiAKIHZvaWQgTmV0d29ya1JUQ1Byb3ZpZGVyOjpjcmVhdGVTZXJ2ZXJUQ1BTb2NrZXQoTGliV2Vi
UlRDU29ja2V0SWRlbnRpZmllciBpZGVudGlmaWVyLCBjb25zdCBSVENOZXR3b3JrOjpTb2NrZXRB
ZGRyZXNzJiBhZGRyZXNzLCB1aW50MTZfdCBtaW5Qb3J0LCB1aW50MTZfdCBtYXhQb3J0LCBpbnQg
b3B0aW9ucykKIHsKLSAgICBpZiAoIW1faXNMaXN0ZW5pbmdTb2NrZXRBdXRob3JpemVkKSB7Ci0g
ICAgICAgIGlmIChtX2Nvbm5lY3Rpb24pCi0gICAgICAgICAgICBtX2Nvbm5lY3Rpb24tPmNvbm5l
Y3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpMaWJXZWJSVENOZXR3b3JrOjpTaWduYWxDbG9zZShpZGVu
dGlmaWVyLCAxKSwgMCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9CisgICAgQVNTRVJUKG1fcnRj
TmV0d29ya1RocmVhZC0+SXNDdXJyZW50KCkpOworICAgIGNhbGxPbk1haW5UaHJlYWQoW3RoaXMs
IHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgaWRlbnRpZmllciwgYWRkcmVzcywgbWlu
UG9ydCwgbWF4UG9ydCwgb3B0aW9uc10geworICAgICAgICBpZiAoIW1faXNMaXN0ZW5pbmdTb2Nr
ZXRBdXRob3JpemVkKSB7CisgICAgICAgICAgICBpZiAobV9jb25uZWN0aW9uKQorICAgICAgICAg
ICAgICAgIG1fY29ubmVjdGlvbi0+Y29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6OkxpYldlYlJU
Q05ldHdvcms6OlNpZ25hbENsb3NlKGlkZW50aWZpZXIsIDEpLCAwKTsKKyAgICAgICAgICAgIHJl
dHVybjsKKyAgICAgICAgfQogCi0gICAgY2FsbE9uUlRDTmV0d29ya1RocmVhZChbdGhpcywgaWRl
bnRpZmllciwgYWRkcmVzcyA9IFJUQ05ldHdvcms6Omlzb2xhdGVkQ29weShhZGRyZXNzLnZhbHVl
KSwgbWluUG9ydCwgbWF4UG9ydCwgb3B0aW9ucywgY29ubmVjdGlvbiA9IG1ha2VSZWYobV9jb25u
ZWN0aW9uLT5jb25uZWN0aW9uKCkpXSgpIG11dGFibGUgewotICAgICAgICBzdGQ6OnVuaXF1ZV9w
dHI8cnRjOjpBc3luY1BhY2tldFNvY2tldD4gc29ja2V0KG1fcGFja2V0U29ja2V0RmFjdG9yeS0+
Q3JlYXRlU2VydmVyVGNwU29ja2V0KGFkZHJlc3MsIG1pblBvcnQsIG1heFBvcnQsIG9wdGlvbnMp
KTsKLSAgICAgICAgY3JlYXRlU29ja2V0KGlkZW50aWZpZXIsIFdURk1vdmUoc29ja2V0KSwgU29j
a2V0OjpUeXBlOjpTZXJ2ZXJUQ1AsIFdURk1vdmUoY29ubmVjdGlvbikpOworICAgICAgICBjYWxs
T25SVENOZXR3b3JrVGhyZWFkKFt0aGlzLCBpZGVudGlmaWVyLCBhZGRyZXNzID0gUlRDTmV0d29y
azo6aXNvbGF0ZWRDb3B5KGFkZHJlc3MudmFsdWUpLCBtaW5Qb3J0LCBtYXhQb3J0LCBvcHRpb25z
LCBjb25uZWN0aW9uID0gbWFrZVJlZihtX2Nvbm5lY3Rpb24tPmNvbm5lY3Rpb24oKSldKCkgbXV0
YWJsZSB7CisgICAgICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8cnRjOjpBc3luY1BhY2tldFNvY2tl
dD4gc29ja2V0KG1fcGFja2V0U29ja2V0RmFjdG9yeS0+Q3JlYXRlU2VydmVyVGNwU29ja2V0KGFk
ZHJlc3MsIG1pblBvcnQsIG1heFBvcnQsIG9wdGlvbnMpKTsKKyAgICAgICAgICAgIGNyZWF0ZVNv
Y2tldChpZGVudGlmaWVyLCBXVEZNb3ZlKHNvY2tldCksIFNvY2tldDo6VHlwZTo6U2VydmVyVENQ
LCBtX2lwY0Nvbm5lY3Rpb24uY29weVJlZigpKTsKKyAgICAgICAgfSk7CiAgICAgfSk7CiB9CiAK
QEAgLTE1NCw1NCArMTYxLDgzIEBAIHJ0Yzo6UHJveHlJbmZvIE5ldHdvcmtSVENQcm92aWRlcjo6
cHJveHlJbmZvRnJvbVNlc3Npb24oY29uc3QgUlRDTmV0d29yazo6U29ja2V0CiAKIHZvaWQgTmV0
d29ya1JUQ1Byb3ZpZGVyOjpjcmVhdGVDbGllbnRUQ1BTb2NrZXQoTGliV2ViUlRDU29ja2V0SWRl
bnRpZmllciBpZGVudGlmaWVyLCBjb25zdCBSVENOZXR3b3JrOjpTb2NrZXRBZGRyZXNzJiBsb2Nh
bEFkZHJlc3MsIGNvbnN0IFJUQ05ldHdvcms6OlNvY2tldEFkZHJlc3MmIHJlbW90ZUFkZHJlc3Ms
IFN0cmluZyYmIHVzZXJBZ2VudCwgaW50IG9wdGlvbnMpCiB7Ci0gICAgYXV0byogc2Vzc2lvbiA9
IG1fY29ubmVjdGlvbi0+bmV0d29ya1Nlc3Npb24oKTsKLSAgICBpZiAoIXNlc3Npb24pIHsKLSAg
ICAgICAgbV9jb25uZWN0aW9uLT5jb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6TGliV2ViUlRD
TmV0d29yazo6U2lnbmFsQ2xvc2UoaWRlbnRpZmllciwgMSksIDApOwotICAgICAgICByZXR1cm47
Ci0gICAgfQotICAgIGNhbGxPblJUQ05ldHdvcmtUaHJlYWQoW3RoaXMsIGlkZW50aWZpZXIsIGxv
Y2FsQWRkcmVzcyA9IFJUQ05ldHdvcms6Omlzb2xhdGVkQ29weShsb2NhbEFkZHJlc3MudmFsdWUp
LCByZW1vdGVBZGRyZXNzID0gUlRDTmV0d29yazo6aXNvbGF0ZWRDb3B5KHJlbW90ZUFkZHJlc3Mu
dmFsdWUpLCBwcm94eUluZm8gPSBwcm94eUluZm9Gcm9tU2Vzc2lvbihyZW1vdGVBZGRyZXNzLCAq
c2Vzc2lvbiksIHVzZXJBZ2VudCA9IFdURk1vdmUodXNlckFnZW50KS5pc29sYXRlZENvcHkoKSwg
b3B0aW9ucywgY29ubmVjdGlvbiA9IG1ha2VSZWYobV9jb25uZWN0aW9uLT5jb25uZWN0aW9uKCkp
XSgpIG11dGFibGUgewotICAgICAgICBydGM6OlBhY2tldFNvY2tldFRjcE9wdGlvbnMgdGNwT3B0
aW9uczsKLSAgICAgICAgdGNwT3B0aW9ucy5vcHRzID0gb3B0aW9uczsKLSAgICAgICAgc3RkOjp1
bmlxdWVfcHRyPHJ0Yzo6QXN5bmNQYWNrZXRTb2NrZXQ+IHNvY2tldChtX3BhY2tldFNvY2tldEZh
Y3RvcnktPkNyZWF0ZUNsaWVudFRjcFNvY2tldChsb2NhbEFkZHJlc3MsIHJlbW90ZUFkZHJlc3Ms
IHByb3h5SW5mbywgdXNlckFnZW50LnV0ZjgoKS5kYXRhKCksIHRjcE9wdGlvbnMpKTsKLSAgICAg
ICAgY3JlYXRlU29ja2V0KGlkZW50aWZpZXIsIFdURk1vdmUoc29ja2V0KSwgU29ja2V0OjpUeXBl
OjpDbGllbnRUQ1AsIFdURk1vdmUoY29ubmVjdGlvbikpOworICAgIGNhbGxPbk1haW5UaHJlYWQo
W3RoaXMsIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgaWRlbnRpZmllciwgbG9jYWxB
ZGRyZXNzLCByZW1vdGVBZGRyZXNzLCB1c2VyQWdlbnQgPSBXVEZNb3ZlKHVzZXJBZ2VudCkuaXNv
bGF0ZWRDb3B5KCksIG9wdGlvbnNdKCkgbXV0YWJsZSB7CisgICAgICAgIGF1dG8qIHNlc3Npb24g
PSBtX2Nvbm5lY3Rpb24tPm5ldHdvcmtTZXNzaW9uKCk7CisgICAgICAgIGlmICghc2Vzc2lvbikg
eworICAgICAgICAgICAgbV9jb25uZWN0aW9uLT5jb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6
TGliV2ViUlRDTmV0d29yazo6U2lnbmFsQ2xvc2UoaWRlbnRpZmllciwgMSksIDApOworICAgICAg
ICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAgIGNhbGxPblJUQ05ldHdvcmtUaHJlYWQo
W3RoaXMsIGlkZW50aWZpZXIsIGxvY2FsQWRkcmVzcyA9IFJUQ05ldHdvcms6Omlzb2xhdGVkQ29w
eShsb2NhbEFkZHJlc3MudmFsdWUpLCByZW1vdGVBZGRyZXNzID0gUlRDTmV0d29yazo6aXNvbGF0
ZWRDb3B5KHJlbW90ZUFkZHJlc3MudmFsdWUpLCBwcm94eUluZm8gPSBwcm94eUluZm9Gcm9tU2Vz
c2lvbihyZW1vdGVBZGRyZXNzLCAqc2Vzc2lvbiksIHVzZXJBZ2VudCA9IFdURk1vdmUodXNlckFn
ZW50KS5pc29sYXRlZENvcHkoKSwgb3B0aW9ucywgY29ubmVjdGlvbiA9IG1ha2VSZWYobV9jb25u
ZWN0aW9uLT5jb25uZWN0aW9uKCkpXSgpIG11dGFibGUgeworICAgICAgICAgICAgcnRjOjpQYWNr
ZXRTb2NrZXRUY3BPcHRpb25zIHRjcE9wdGlvbnM7CisgICAgICAgICAgICB0Y3BPcHRpb25zLm9w
dHMgPSBvcHRpb25zOworICAgICAgICAgICAgc3RkOjp1bmlxdWVfcHRyPHJ0Yzo6QXN5bmNQYWNr
ZXRTb2NrZXQ+IHNvY2tldChtX3BhY2tldFNvY2tldEZhY3RvcnktPkNyZWF0ZUNsaWVudFRjcFNv
Y2tldChsb2NhbEFkZHJlc3MsIHJlbW90ZUFkZHJlc3MsIHByb3h5SW5mbywgdXNlckFnZW50LnV0
ZjgoKS5kYXRhKCksIHRjcE9wdGlvbnMpKTsKKyAgICAgICAgICAgIGNyZWF0ZVNvY2tldChpZGVu
dGlmaWVyLCBXVEZNb3ZlKHNvY2tldCksIFNvY2tldDo6VHlwZTo6Q2xpZW50VENQLCBtX2lwY0Nv
bm5lY3Rpb24uY29weVJlZigpKTsKKyAgICAgICAgfSk7CiAgICAgfSk7CiB9CiAKIHZvaWQgTmV0
d29ya1JUQ1Byb3ZpZGVyOjp3cmFwTmV3VENQQ29ubmVjdGlvbihMaWJXZWJSVENTb2NrZXRJZGVu
dGlmaWVyIGlkZW50aWZpZXIsIExpYldlYlJUQ1NvY2tldElkZW50aWZpZXIgbmV3Q29ubmVjdGlv
blNvY2tldElkZW50aWZpZXIpCiB7Ci0gICAgY2FsbE9uUlRDTmV0d29ya1RocmVhZChbdGhpcywg
aWRlbnRpZmllciwgbmV3Q29ubmVjdGlvblNvY2tldElkZW50aWZpZXIsIGNvbm5lY3Rpb24gPSBt
YWtlUmVmKG1fY29ubmVjdGlvbi0+Y29ubmVjdGlvbigpKV0oKSBtdXRhYmxlIHsKLSAgICAgICAg
YXV0byBzb2NrZXQgPSBtX3BlbmRpbmdJbmNvbWluZ1NvY2tldHMudGFrZShuZXdDb25uZWN0aW9u
U29ja2V0SWRlbnRpZmllcik7Ci0gICAgICAgIFJFTEVBU0VfTE9HX0lGKCFzb2NrZXQsIFdlYlJU
QywgIk5ldHdvcmtSVENQcm92aWRlcjo6d3JhcE5ld1RDUENvbm5lY3Rpb24gcmVjZWl2ZWQgYW4g
aW52YWxpZCBzb2NrZXQgaWRlbnRpZmllciIpOwotICAgICAgICBpZiAoc29ja2V0KQotICAgICAg
ICAgICAgYWRkU29ja2V0KGlkZW50aWZpZXIsIG1ha2VVbmlxdWU8TGliV2ViUlRDU29ja2V0Q2xp
ZW50PihpZGVudGlmaWVyLCAqdGhpcywgV1RGTW92ZShzb2NrZXQpLCBTb2NrZXQ6OlR5cGU6OlNl
cnZlckNvbm5lY3Rpb25UQ1AsIFdURk1vdmUoY29ubmVjdGlvbikpKTsKLSAgICB9KTsKKyAgICBB
U1NFUlQobV9ydGNOZXR3b3JrVGhyZWFkLT5Jc0N1cnJlbnQoKSk7CisgICAgYXV0byBzb2NrZXQg
PSBtX3BlbmRpbmdJbmNvbWluZ1NvY2tldHMudGFrZShuZXdDb25uZWN0aW9uU29ja2V0SWRlbnRp
Zmllcik7CisgICAgUkVMRUFTRV9MT0dfSUYoIXNvY2tldCwgV2ViUlRDLCAiTmV0d29ya1JUQ1By
b3ZpZGVyOjp3cmFwTmV3VENQQ29ubmVjdGlvbiByZWNlaXZlZCBhbiBpbnZhbGlkIHNvY2tldCBp
ZGVudGlmaWVyIik7CisgICAgaWYgKHNvY2tldCkKKyAgICAgICAgYWRkU29ja2V0KGlkZW50aWZp
ZXIsIG1ha2VVbmlxdWU8TGliV2ViUlRDU29ja2V0Q2xpZW50PihpZGVudGlmaWVyLCAqdGhpcywg
V1RGTW92ZShzb2NrZXQpLCBTb2NrZXQ6OlR5cGU6OlNlcnZlckNvbm5lY3Rpb25UQ1AsIG1faXBj
Q29ubmVjdGlvbi5jb3B5UmVmKCkpKTsKK30KKwordm9pZCBOZXR3b3JrUlRDUHJvdmlkZXI6OnNl
bmRUb1NvY2tldChMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyIGlkZW50aWZpZXIsIGNvbnN0IElQ
Qzo6RGF0YVJlZmVyZW5jZSYgZGF0YSwgUlRDTmV0d29yazo6U29ja2V0QWRkcmVzcyYmIGFkZHJl
c3MsIFJUQ1BhY2tldE9wdGlvbnMmJiBvcHRpb25zKQoreworICAgIEFTU0VSVChtX3J0Y05ldHdv
cmtUaHJlYWQtPklzQ3VycmVudCgpKTsKKyAgICBhdXRvKiBzb2NrZXQgPSBtX3NvY2tldHMuZ2V0
KGlkZW50aWZpZXIpOworICAgIGlmICghc29ja2V0KQorICAgICAgICByZXR1cm47CisgICAgCisg
ICAgc29ja2V0LT5zZW5kVG8oZGF0YS5kYXRhKCksIGRhdGEuc2l6ZSgpLCBhZGRyZXNzLnZhbHVl
LCBvcHRpb25zLm9wdGlvbnMpOworfQorCit2b2lkIE5ldHdvcmtSVENQcm92aWRlcjo6Y2xvc2VT
b2NrZXQoTGliV2ViUlRDU29ja2V0SWRlbnRpZmllciBpZGVudGlmaWVyKQoreworICAgIEFTU0VS
VChtX3J0Y05ldHdvcmtUaHJlYWQtPklzQ3VycmVudCgpKTsKKyAgICBhdXRvKiBzb2NrZXQgPSBt
X3NvY2tldHMuZ2V0KGlkZW50aWZpZXIpOworICAgIGlmICghc29ja2V0KQorICAgICAgICByZXR1
cm47CisgICAgc29ja2V0LT5jbG9zZSgpOworfQorCit2b2lkIE5ldHdvcmtSVENQcm92aWRlcjo6
c2V0U29ja2V0T3B0aW9uKExpYldlYlJUQ1NvY2tldElkZW50aWZpZXIgaWRlbnRpZmllciwgaW50
IG9wdGlvbiwgaW50IHZhbHVlKQoreworICAgIEFTU0VSVChtX3J0Y05ldHdvcmtUaHJlYWQtPklz
Q3VycmVudCgpKTsKKyAgICBhdXRvKiBzb2NrZXQgPSBtX3NvY2tldHMuZ2V0KGlkZW50aWZpZXIp
OworICAgIGlmICghc29ja2V0KQorICAgICAgICByZXR1cm47CisgICAgc29ja2V0LT5zZXRPcHRp
b24ob3B0aW9uLCB2YWx1ZSk7CiB9CiAKIHZvaWQgTmV0d29ya1JUQ1Byb3ZpZGVyOjphZGRTb2Nr
ZXQoTGliV2ViUlRDU29ja2V0SWRlbnRpZmllciBpZGVudGlmaWVyLCBzdGQ6OnVuaXF1ZV9wdHI8
U29ja2V0PiYmIHNvY2tldCkKIHsKKyAgICBBU1NFUlQobV9ydGNOZXR3b3JrVGhyZWFkLT5Jc0N1
cnJlbnQoKSk7CiAgICAgbV9zb2NrZXRzLmFkZChpZGVudGlmaWVyLCBXVEZNb3ZlKHNvY2tldCkp
OwogfQogCiBzdGQ6OnVuaXF1ZV9wdHI8TmV0d29ya1JUQ1Byb3ZpZGVyOjpTb2NrZXQ+IE5ldHdv
cmtSVENQcm92aWRlcjo6dGFrZVNvY2tldChMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyIGlkZW50
aWZpZXIpCiB7CisgICAgQVNTRVJUKG1fcnRjTmV0d29ya1RocmVhZC0+SXNDdXJyZW50KCkpOwog
ICAgIHJldHVybiBtX3NvY2tldHMudGFrZShpZGVudGlmaWVyKTsKIH0KIAogdm9pZCBOZXR3b3Jr
UlRDUHJvdmlkZXI6Om5ld0Nvbm5lY3Rpb24oU29ja2V0JiBzZXJ2ZXJTb2NrZXQsIHN0ZDo6dW5p
cXVlX3B0cjxydGM6OkFzeW5jUGFja2V0U29ja2V0PiYmIG5ld1NvY2tldCkKIHsKKyAgICBBU1NF
UlQobV9ydGNOZXR3b3JrVGhyZWFkLT5Jc0N1cnJlbnQoKSk7CiAgICAgYXV0byBpbmNvbWluZ1Nv
Y2tldElkZW50aWZpZXIgPSBMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyOjpnZW5lcmF0ZSgpOwot
ICAgIHNlbmRGcm9tTWFpblRocmVhZChbaWRlbnRpZmllciA9IHNlcnZlclNvY2tldC5pZGVudGlm
aWVyKCksIGluY29taW5nU29ja2V0SWRlbnRpZmllciwgcmVtb3RlQWRkcmVzcyA9IFJUQ05ldHdv
cms6Omlzb2xhdGVkQ29weShuZXdTb2NrZXQtPkdldFJlbW90ZUFkZHJlc3MoKSldKElQQzo6Q29u
bmVjdGlvbiYgY29ubmVjdGlvbikgewotICAgICAgICBjb25uZWN0aW9uLnNlbmQoTWVzc2FnZXM6
OkxpYldlYlJUQ05ldHdvcms6OlNpZ25hbE5ld0Nvbm5lY3Rpb24oaWRlbnRpZmllciwgaW5jb21p
bmdTb2NrZXRJZGVudGlmaWVyLCBSVENOZXR3b3JrOjpTb2NrZXRBZGRyZXNzKHJlbW90ZUFkZHJl
c3MpKSwgMCk7Ci0gICAgfSk7CisgICAgbV9pcGNDb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpM
aWJXZWJSVENOZXR3b3JrOjpTaWduYWxOZXdDb25uZWN0aW9uKHNlcnZlclNvY2tldC5pZGVudGlm
aWVyKCksIGluY29taW5nU29ja2V0SWRlbnRpZmllciwgUlRDTmV0d29yazo6U29ja2V0QWRkcmVz
cyhuZXdTb2NrZXQtPkdldFJlbW90ZUFkZHJlc3MoKSkpLCAwKTsKICAgICBtX3BlbmRpbmdJbmNv
bWluZ1NvY2tldHMuYWRkKGluY29taW5nU29ja2V0SWRlbnRpZmllciwgV1RGTW92ZShuZXdTb2Nr
ZXQpKTsKIH0KIAotdm9pZCBOZXR3b3JrUlRDUHJvdmlkZXI6OmRpZFJlY2VpdmVOZXR3b3JrUlRD
U29ja2V0TWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIElQQzo6RGVjb2RlciYg
ZGVjb2RlcikKK3ZvaWQgTmV0d29ya1JUQ1Byb3ZpZGVyOjpkaXNwYXRjaFRvVGhyZWFkKEZ1bmN0
aW9uPHZvaWQoKT4mJiBjYWxsYmFjaykKIHsKLSAgICBOZXR3b3JrUlRDU29ja2V0KG1ha2VPYmpl
Y3RJZGVudGlmaWVyPExpYldlYlJUQ1NvY2tldElkZW50aWZpZXJUeXBlPihkZWNvZGVyLmRlc3Rp
bmF0aW9uSUQoKSksICp0aGlzKS5kaWRSZWNlaXZlTWVzc2FnZShjb25uZWN0aW9uLCBkZWNvZGVy
KTsKKyAgICBjYWxsT25SVENOZXR3b3JrVGhyZWFkKChXVEZNb3ZlKGNhbGxiYWNrKSkpOwogfQog
Ci0KIHZvaWQgTmV0d29ya1JUQ1Byb3ZpZGVyOjpjcmVhdGVSZXNvbHZlcihMaWJXZWJSVENSZXNv
bHZlcklkZW50aWZpZXIgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBhZGRyZXNzKQogewogICAg
IFdlYkNvcmU6OkROU0NvbXBsZXRpb25IYW5kbGVyIGNvbXBsZXRpb25IYW5kbGVyID0gW3RoaXMs
IGlkZW50aWZpZXJdKGF1dG8mJiByZXN1bHQpIHsKQEAgLTI5MSwxNCArMzI3LDYgQEAgdm9pZCBO
ZXR3b3JrUlRDUHJvdmlkZXI6OmNhbGxPblJUQ05ldHdvcmtUaHJlYWQoRnVuY3Rpb248dm9pZCgp
PiYmIGNhbGxiYWNrKQogICAgIG1fcnRjTmV0d29ya1RocmVhZC0+UG9zdChSVENfRlJPTV9IRVJF
LCB0aGlzLCAxLCBuZXcgTmV0d29ya01lc3NhZ2VEYXRhKCp0aGlzLCBXVEZNb3ZlKGNhbGxiYWNr
KSkpOwogfQogCi12b2lkIE5ldHdvcmtSVENQcm92aWRlcjo6Y2FsbFNvY2tldChMaWJXZWJSVENT
b2NrZXRJZGVudGlmaWVyIGlkZW50aWZpZXIsIEZ1bmN0aW9uPHZvaWQoU29ja2V0Jik+JiYgY2Fs
bGJhY2spCi17Ci0gICAgY2FsbE9uUlRDTmV0d29ya1RocmVhZChbdGhpcywgaWRlbnRpZmllciwg
Y2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNrKV0oKSB7Ci0gICAgICAgIGlmIChhdXRvKiBzb2Nr
ZXQgPSBtX3NvY2tldHMuZ2V0KGlkZW50aWZpZXIpKQotICAgICAgICAgICAgY2FsbGJhY2soKnNv
Y2tldCk7Ci0gICAgfSk7Ci19Ci0KIHZvaWQgTmV0d29ya1JUQ1Byb3ZpZGVyOjpzZW5kRnJvbU1h
aW5UaHJlYWQoRnVuY3Rpb248dm9pZChJUEM6OkNvbm5lY3Rpb24mKT4mJiBjYWxsYmFjaykKIHsK
ICAgICBjYWxsT25NYWluVGhyZWFkKFtwcm92aWRlciA9IG1ha2VSZWYoKnRoaXMpLCBjYWxsYmFj
ayA9IFdURk1vdmUoY2FsbGJhY2spXSgpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENQcm92aWRlci5oIGIvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1Byb3ZpZGVyLmgKaW5kZXggMmVjMjBkMTMw
ZGJhODViNWMzMzMxZDcyZGU2OGFhYWY2ZGQ5YzE5NC4uODY2MGRlNzk0Mzc4NGViNGY3OGMwMDk5
MzdjY2Q1YTE0NTU3YzJiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy93ZWJydGMvTmV0d29ya1JUQ1Byb3ZpZGVyLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1Byb3ZpZGVyLmgKQEAgLTI3LDYgKzI3LDcgQEAKIAog
I2lmIFVTRShMSUJXRUJSVEMpCiAKKyNpbmNsdWRlICJDb25uZWN0aW9uLmgiCiAjaW5jbHVkZSAi
TGliV2ViUlRDUmVzb2x2ZXJJZGVudGlmaWVyLmgiCiAjaW5jbHVkZSAiTmV0d29ya1JUQ01vbml0
b3IuaCIKICNpbmNsdWRlICJSVENOZXR3b3JrLmgiCkBAIC01NiwxNyArNTcsMTYgQEAgY2xhc3Mg
U2hhcmVkQnVmZmVyOwogbmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBOZXR3b3JrQ29ubmVjdGlv
blRvV2ViUHJvY2VzczsKIGNsYXNzIE5ldHdvcmtSVENSZXNvbHZlcjsKLWNsYXNzIE5ldHdvcmtS
VENTb2NrZXQ7CiBjbGFzcyBOZXR3b3JrU2Vzc2lvbjsKK3N0cnVjdCBSVENQYWNrZXRPcHRpb25z
OwogCi1jbGFzcyBOZXR3b3JrUlRDUHJvdmlkZXIgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50
ZWQ8TmV0d29ya1JUQ1Byb3ZpZGVyPiwgcHVibGljIHJ0Yzo6TWVzc2FnZUhhbmRsZXIgeworY2xh
c3MgTmV0d29ya1JUQ1Byb3ZpZGVyIDogcHVibGljIHJ0Yzo6TWVzc2FnZUhhbmRsZXIsIHB1Ymxp
YyBJUEM6OkNvbm5lY3Rpb246OlRocmVhZE1lc3NhZ2VSZWNlaXZlciB7CiBwdWJsaWM6CiAgICAg
c3RhdGljIFJlZjxOZXR3b3JrUlRDUHJvdmlkZXI+IGNyZWF0ZShOZXR3b3JrQ29ubmVjdGlvblRv
V2ViUHJvY2VzcyYgY29ubmVjdGlvbikgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBOZXR3b3JrUlRD
UHJvdmlkZXIoY29ubmVjdGlvbikpOyB9CiAgICAgfk5ldHdvcmtSVENQcm92aWRlcigpOwogCiAg
ICAgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXIm
KTsKICAgICB2b2lkIGRpZFJlY2VpdmVOZXR3b3JrUlRDTW9uaXRvck1lc3NhZ2UoSVBDOjpDb25u
ZWN0aW9uJiBjb25uZWN0aW9uLCBJUEM6OkRlY29kZXImIGRlY29kZXIpIHsgbV9ydGNNb25pdG9y
LmRpZFJlY2VpdmVNZXNzYWdlKGNvbm5lY3Rpb24sIGRlY29kZXIpOyB9Ci0gICAgdm9pZCBkaWRS
ZWNlaXZlTmV0d29ya1JUQ1NvY2tldE1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpEZWNv
ZGVyJik7CiAKICAgICBjbGFzcyBTb2NrZXQgewogICAgIHB1YmxpYzoKQEAgLTc4LDcgKzc4LDcg
QEAgcHVibGljOgogCiAgICAgICAgIHZpcnR1YWwgdm9pZCBjbG9zZSgpID0gMDsKICAgICAgICAg
dmlydHVhbCB2b2lkIHNldE9wdGlvbihpbnQgb3B0aW9uLCBpbnQgdmFsdWUpID0gMDsKLSAgICAg
ICAgdmlydHVhbCB2b2lkIHNlbmRUbyhjb25zdCBXZWJDb3JlOjpTaGFyZWRCdWZmZXImLCBjb25z
dCBydGM6OlNvY2tldEFkZHJlc3MmLCBjb25zdCBydGM6OlBhY2tldE9wdGlvbnMmKSA9IDA7Cisg
ICAgICAgIHZpcnR1YWwgdm9pZCBzZW5kVG8oY29uc3QgdWludDhfdCosIHNpemVfdCwgY29uc3Qg
cnRjOjpTb2NrZXRBZGRyZXNzJiwgY29uc3QgcnRjOjpQYWNrZXRPcHRpb25zJikgPSAwOwogICAg
IH07CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8U29ja2V0PiB0YWtlU29ja2V0KFdlYkNvcmU6Okxp
YldlYlJUQ1NvY2tldElkZW50aWZpZXIpOwpAQCAtODYsNyArODYsNiBAQCBwdWJsaWM6CiAKICAg
ICB2b2lkIGNsb3NlKCk7CiAKLSAgICB2b2lkIGNhbGxTb2NrZXQoV2ViQ29yZTo6TGliV2ViUlRD
U29ja2V0SWRlbnRpZmllciwgRnVuY3Rpb248dm9pZChTb2NrZXQmKT4mJik7CiAgICAgdm9pZCBj
YWxsT25SVENOZXR3b3JrVGhyZWFkKEZ1bmN0aW9uPHZvaWQoKT4mJik7CiAgICAgdm9pZCBzZW5k
RnJvbU1haW5UaHJlYWQoRnVuY3Rpb248dm9pZChJUEM6OkNvbm5lY3Rpb24mKT4mJik7CiAKQEAg
LTEwNCw2ICsxMDMsOSBAQCBwcml2YXRlOgogICAgIHZvaWQgY3JlYXRlQ2xpZW50VENQU29ja2V0
KFdlYkNvcmU6OkxpYldlYlJUQ1NvY2tldElkZW50aWZpZXIsIGNvbnN0IFJUQ05ldHdvcms6OlNv
Y2tldEFkZHJlc3MmLCBjb25zdCBSVENOZXR3b3JrOjpTb2NrZXRBZGRyZXNzJiwgU3RyaW5nJiYg
dXNlckFnZW50LCBpbnQpOwogICAgIHZvaWQgY3JlYXRlU2VydmVyVENQU29ja2V0KFdlYkNvcmU6
OkxpYldlYlJUQ1NvY2tldElkZW50aWZpZXIsIGNvbnN0IFJUQ05ldHdvcms6OlNvY2tldEFkZHJl
c3MmLCB1aW50MTZfdCBtaW5Qb3J0LCB1aW50MTZfdCBtYXhQb3J0LCBpbnQpOwogICAgIHZvaWQg
d3JhcE5ld1RDUENvbm5lY3Rpb24oV2ViQ29yZTo6TGliV2ViUlRDU29ja2V0SWRlbnRpZmllciBp
ZGVudGlmaWVyLCBXZWJDb3JlOjpMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyIG5ld0Nvbm5lY3Rp
b25Tb2NrZXRJZGVudGlmaWVyKTsKKyAgICB2b2lkIHNlbmRUb1NvY2tldChXZWJDb3JlOjpMaWJX
ZWJSVENTb2NrZXRJZGVudGlmaWVyLCBjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmLCBSVENOZXR3
b3JrOjpTb2NrZXRBZGRyZXNzJiYsIFJUQ1BhY2tldE9wdGlvbnMmJik7CisgICAgdm9pZCBjbG9z
ZVNvY2tldChXZWJDb3JlOjpMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyKTsKKyAgICB2b2lkIHNl
dFNvY2tldE9wdGlvbihXZWJDb3JlOjpMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyLCBpbnQgb3B0
aW9uLCBpbnQgdmFsdWUpOwogCiAgICAgdm9pZCBjcmVhdGVSZXNvbHZlcihMaWJXZWJSVENSZXNv
bHZlcklkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYpOwogICAgIHZvaWQgc3RvcFJlc29sdmVyKExp
YldlYlJUQ1Jlc29sdmVySWRlbnRpZmllcik7CkBAIC0xMTQsMTEgKzExNiwxNSBAQCBwcml2YXRl
OgogCiAgICAgdm9pZCBPbk1lc3NhZ2UocnRjOjpNZXNzYWdlKik7CiAKKyAgICAvLyBJUEM6OkNv
bm5lY3Rpb246OlRocmVhZE1lc3NhZ2VSZWNlaXZlcgorICAgIHZvaWQgZGlzcGF0Y2hUb1RocmVh
ZChGdW5jdGlvbjx2b2lkKCk+JiYpIGZpbmFsOworCiAgICAgc3RhdGljIHJ0Yzo6UHJveHlJbmZv
IHByb3h5SW5mb0Zyb21TZXNzaW9uKGNvbnN0IFJUQ05ldHdvcms6OlNvY2tldEFkZHJlc3MmLCBO
ZXR3b3JrU2Vzc2lvbiYpOwogCiAgICAgSGFzaE1hcDxMaWJXZWJSVENSZXNvbHZlcklkZW50aWZp
ZXIsIHN0ZDo6dW5pcXVlX3B0cjxOZXR3b3JrUlRDUmVzb2x2ZXI+PiBtX3Jlc29sdmVyczsKICAg
ICBIYXNoTWFwPFdlYkNvcmU6OkxpYldlYlJUQ1NvY2tldElkZW50aWZpZXIsIHN0ZDo6dW5pcXVl
X3B0cjxTb2NrZXQ+PiBtX3NvY2tldHM7CiAgICAgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nl
c3MqIG1fY29ubmVjdGlvbjsKKyAgICBSZWY8SVBDOjpDb25uZWN0aW9uPiBtX2lwY0Nvbm5lY3Rp
b247CiAgICAgYm9vbCBtX2lzU3RhcnRlZCB7IHRydWUgfTsKIAogICAgIE5ldHdvcmtSVENNb25p
dG9yIG1fcnRjTW9uaXRvcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3Mvd2VicnRjL05ldHdvcmtSVENQcm92aWRlci5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENQcm92aWRlci5tZXNzYWdlcy5pbgppbmRl
eCAwMThkOGIyYjhhMWFiYTc3Yzc2NmNmYWQ1ZjBiYWE2ZWU5ZTA5YTU3Li44YTM2MGFmNWNiZmJi
NmM5NTlkN2RkNzVjNjQ0MzMwOTZmOTJjNjI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDUHJvdmlkZXIubWVzc2FnZXMuaW4KKysrIGIv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1Byb3ZpZGVyLm1l
c3NhZ2VzLmluCkBAIC0zMCw2ICszMCwxMCBAQCBtZXNzYWdlcyAtPiBOZXR3b3JrUlRDUHJvdmlk
ZXIgewogCiAgICAgQ3JlYXRlUmVzb2x2ZXIoV2ViS2l0OjpMaWJXZWJSVENSZXNvbHZlcklkZW50
aWZpZXIgaWRlbnRpZmllciwgU3RyaW5nIGFkZHJlc3MpCiAgICAgU3RvcFJlc29sdmVyKFdlYktp
dDo6TGliV2ViUlRDUmVzb2x2ZXJJZGVudGlmaWVyIGlkZW50aWZpZXIpCisKKyAgICB2b2lkIFNl
bmRUb1NvY2tldChXZWJDb3JlOjpMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyIGlkZW50aWZpZXIs
IElQQzo6RGF0YVJlZmVyZW5jZSBkYXRhLCBXZWJLaXQ6OlJUQ05ldHdvcms6OlNvY2tldEFkZHJl
c3MgYWRkcmVzcywgc3RydWN0IFdlYktpdDo6UlRDUGFja2V0T3B0aW9ucyBvcHRpb25zKQorICAg
IHZvaWQgQ2xvc2VTb2NrZXQoV2ViQ29yZTo6TGliV2ViUlRDU29ja2V0SWRlbnRpZmllciBpZGVu
dGlmaWVyKQorICAgIHZvaWQgU2V0U29ja2V0T3B0aW9uKFdlYkNvcmU6OkxpYldlYlJUQ1NvY2tl
dElkZW50aWZpZXIgaWRlbnRpZmllciwgaW50IG9wdGlvbiwgaW50IHZhbHVlKQogfQogCiAjZW5k
aWYgLy8gVVNFKExJQldFQlJUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3Mvd2VicnRjL05ldHdvcmtSVENTb2NrZXQuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1NvY2tldC5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDgyMGQwN2JjMGU3Mjc0YjQ3OGI0ZTJhODZmYWE5NzI3ZGQyZGZjNGQuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1NvY2tldC5jcHAKKysrIC9kZXYvbnVsbApA
QCAtMSw2OSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJl
IG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1
ZGUgIk5ldHdvcmtSVENTb2NrZXQuaCIKLQotI2lmIFVTRShMSUJXRUJSVEMpCi0KLSNpbmNsdWRl
ICJEYXRhUmVmZXJlbmNlLmgiCi0jaW5jbHVkZSAiTmV0d29ya1JUQ1Byb3ZpZGVyLmgiCi0jaW5j
bHVkZSAiUlRDUGFja2V0T3B0aW9ucy5oIgotI2luY2x1ZGUgPFdlYkNvcmUvU2hhcmVkQnVmZmVy
Lmg+Ci0jaW5jbHVkZSA8d3RmL0Z1bmN0aW9uLmg+Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewotCi1O
ZXR3b3JrUlRDU29ja2V0OjpOZXR3b3JrUlRDU29ja2V0KFdlYkNvcmU6OkxpYldlYlJUQ1NvY2tl
dElkZW50aWZpZXIgaWRlbnRpZmllciwgTmV0d29ya1JUQ1Byb3ZpZGVyJiBydGNQcm92aWRlcikK
LSAgICA6IG1faWRlbnRpZmllcihpZGVudGlmaWVyKQotICAgICwgbV9ydGNQcm92aWRlcihydGNQ
cm92aWRlcikKLXsKLX0KLQotdm9pZCBOZXR3b3JrUlRDU29ja2V0OjpzZW5kVG8oY29uc3QgSVBD
OjpEYXRhUmVmZXJlbmNlJiBkYXRhLCBSVENOZXR3b3JrOjpTb2NrZXRBZGRyZXNzJiYgc29ja2V0
QWRkcmVzcywgUlRDUGFja2V0T3B0aW9ucyYmIG9wdGlvbnMpCi17Ci0gICAgYXV0byBidWZmZXIg
PSBXZWJDb3JlOjpTaGFyZWRCdWZmZXI6OmNyZWF0ZShkYXRhLmRhdGEoKSwgZGF0YS5zaXplKCkp
OwotICAgIG1fcnRjUHJvdmlkZXIuY2FsbFNvY2tldChtX2lkZW50aWZpZXIsIFtidWZmZXIgPSBX
VEZNb3ZlKGJ1ZmZlciksIHNvY2tldEFkZHJlc3MgPSBXVEZNb3ZlKHNvY2tldEFkZHJlc3MpLCBv
cHRpb25zID0gV1RGTW92ZShvcHRpb25zLm9wdGlvbnMpXShhdXRvJiBzb2NrZXQpIHsKLSAgICAg
ICAgc29ja2V0LnNlbmRUbyhidWZmZXIuZ2V0KCksIHNvY2tldEFkZHJlc3MudmFsdWUsIG9wdGlv
bnMpOwotICAgIH0pOwotfQotCi12b2lkIE5ldHdvcmtSVENTb2NrZXQ6OmNsb3NlKCkKLXsKLSAg
ICBtX3J0Y1Byb3ZpZGVyLmNhbGxTb2NrZXQobV9pZGVudGlmaWVyLCBbXShhdXRvJiBzb2NrZXQp
IHsKLSAgICAgICAgc29ja2V0LmNsb3NlKCk7Ci0gICAgfSk7Ci19Ci0gICAgCi12b2lkIE5ldHdv
cmtSVENTb2NrZXQ6OnNldE9wdGlvbihpbnQgb3B0aW9uLCBpbnQgdmFsdWUpCi17Ci0gICAgbV9y
dGNQcm92aWRlci5jYWxsU29ja2V0KG1faWRlbnRpZmllciwgW29wdGlvbiwgdmFsdWVdKGF1dG8m
IHNvY2tldCkgewotICAgICAgICBzb2NrZXQuc2V0T3B0aW9uKG9wdGlvbiwgdmFsdWUpOwotICAg
IH0pOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKLQotI2VuZGlmIC8vIFVTRShMSUJXRUJS
VEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3
b3JrUlRDU29ja2V0LmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3
b3JrUlRDU29ja2V0LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNmMWM2MWU5ZmZl
NTNhZDgzZDZmNjk2NGQwNGMzNjg3ZjY0YjhmNzAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy93ZWJydGMv
TmV0d29ya1JUQ1NvY2tldC5oCisrKyAvZGV2L251bGwKQEAgLTEsNzUgKzAsMCBAQAotLyoKLSAq
IENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgot
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
Ci0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgot
ICovCi0KLSNwcmFnbWEgb25jZQotCi0jaWYgVVNFKExJQldFQlJUQykKLQotI2luY2x1ZGUgIlJU
Q05ldHdvcmsuaCIKLQotI2luY2x1ZGUgPFdlYkNvcmUvTGliV2ViUlRDTWFjcm9zLmg+Ci0jaW5j
bHVkZSA8V2ViQ29yZS9MaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyLmg+Ci0jaW5jbHVkZSA8d2Vi
cnRjL3J0Y19iYXNlL2FzeW5jX3BhY2tldF9zb2NrZXQuaD4KLSNpbmNsdWRlIDx3ZWJydGMvcnRj
X2Jhc2UvdGhpcmRfcGFydHkvc2lnc2xvdC9zaWdzbG90Lmg+Ci0KLW5hbWVzcGFjZSBJUEMgewot
Y2xhc3MgQ29ubmVjdGlvbjsKLWNsYXNzIERhdGFSZWZlcmVuY2U7Ci19Ci0KLW5hbWVzcGFjZSBy
dGMgewotY2xhc3MgQXN5bmNQYWNrZXRTb2NrZXQ7Ci1jbGFzcyBTb2NrZXRBZGRyZXNzOwotc3Ry
dWN0IFBhY2tldE9wdGlvbnM7Ci1zdHJ1Y3QgU2VudFBhY2tldDsKLXR5cGVkZWYgaW50NjRfdCBQ
YWNrZXRUaW1lOwotfQotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci1jbGFzcyBTaGFyZWRCdWZmZXI7
Ci19Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewotCi1jbGFzcyBOZXR3b3JrQ29ubmVjdGlvblRvV2Vi
UHJvY2VzczsKLWNsYXNzIE5ldHdvcmtSVENQcm92aWRlcjsKLXN0cnVjdCBSVENQYWNrZXRPcHRp
b25zOwotCi1jbGFzcyBOZXR3b3JrUlRDU29ja2V0IHsKLXB1YmxpYzoKLSAgICBOZXR3b3JrUlRD
U29ja2V0KFdlYkNvcmU6OkxpYldlYlJUQ1NvY2tldElkZW50aWZpZXIsIE5ldHdvcmtSVENQcm92
aWRlciYpOwotICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBD
OjpEZWNvZGVyJik7Ci1wcml2YXRlOgotICAgIHZvaWQgc2VuZFRvKGNvbnN0IElQQzo6RGF0YVJl
ZmVyZW5jZSYsIFJUQ05ldHdvcms6OlNvY2tldEFkZHJlc3MmJiwgUlRDUGFja2V0T3B0aW9ucyYm
KTsKLSAgICB2b2lkIGNsb3NlKCk7Ci0gICAgdm9pZCBzZXRPcHRpb24oaW50IG9wdGlvbiwgaW50
IHZhbHVlKTsKLQotICAgIFdlYkNvcmU6OkxpYldlYlJUQ1NvY2tldElkZW50aWZpZXIgbV9pZGVu
dGlmaWVyOwotICAgIE5ldHdvcmtSVENQcm92aWRlciYgbV9ydGNQcm92aWRlcjsKLX07Ci0KLX0g
Ly8gbmFtZXNwYWNlIFdlYktpdAotCi0jZW5kaWYgLy8gVVNFKExJQldFQlJUQykKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENTb2NrZXQu
bWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3Jr
UlRDU29ja2V0Lm1lc3NhZ2VzLmluCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkN2E1
NzkxNDgxMTIyZTU1ODFjYjI2YjI3ZjhkOGVkNjE0NzNlZGMwLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
d2VicnRjL05ldHdvcmtSVENTb2NrZXQubWVzc2FnZXMuaW4KKysrIC9kZXYvbnVsbApAQCAtMSwz
MSArMCwwIEBACi0jIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCi0jCi0jIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAotIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSMgYXJlIG1ldDoKLSMgMS4gIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0Ci0jICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCi0jIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotIyAgICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KLSMKLSMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKLSMgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQKLSMgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRQotIyBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUgotIyBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
Ci0jIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SCi0jIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSCi0jIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksCi0jIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0jIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0KLSNpZiBV
U0UoTElCV0VCUlRDKQotCi1tZXNzYWdlcyAtPiBOZXR3b3JrUlRDU29ja2V0IE5vdFJlZkNvdW50
ZWQgewotICAgIHZvaWQgU2VuZFRvKElQQzo6RGF0YVJlZmVyZW5jZSBkYXRhLCBXZWJLaXQ6OlJU
Q05ldHdvcms6OlNvY2tldEFkZHJlc3MgYWRkcmVzcywgc3RydWN0IFdlYktpdDo6UlRDUGFja2V0
T3B0aW9ucyBvcHRpb25zKQotICAgIHZvaWQgQ2xvc2UoKQotICAgIHZvaWQgU2V0T3B0aW9uKGlu
dCBvcHRpb24sIGludCB2YWx1ZSkKLX0KLQotI2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpcwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0IGIvU291cmNlL1dlYktpdC9T
b3VyY2VzQ29jb2EudHh0CmluZGV4IDI1MTliN2VlMjgzYTQwMTVhY2MyYTQzNDAxMWQ4NTljNGEy
YzY4N2UuLmFiNjJhOTQwNDkyMTg3ZGY1OGZiNjE1MjMzZTIyMDRjMDU0NzBkZTYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L1Nv
dXJjZXNDb2NvYS50eHQKQEAgLTU1LDcgKzU1LDYgQEAgTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05l
dHdvcmtSVENNb25pdG9yLmNwcAogTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENQcm92
aWRlci5jcHAKIE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDUmVzb2x2ZXIuY3BwCiBO
ZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1Jlc29sdmVyQ29jb2EuY3BwCi1OZXR3b3Jr
UHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1NvY2tldC5jcHAKIAogR1BVUHJvY2Vzcy9FbnRyeVBv
aW50L0NvY29hL1hQQ1NlcnZpY2UvR1BVU2VydmljZUVudHJ5UG9pbnQubW0KIEdQVVByb2Nlc3Mv
aW9zL0dQVVByb2Nlc3NJT1MubW0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU291cmNlc0dU
Sy50eHQgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNHVEsudHh0CmluZGV4IDUxNjdhZTlkZGNiZWQ2
YzAyYzEwNDE1YTBmOTk4ZmEyMGEzNzFlNzcuLmIyMDc5NWFmMjA4YjZkNTJmMTgwM2ZkOGFkM2M3
NDkwZDFjZDViMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU291cmNlc0dUSy50eHQKKysr
IGIvU291cmNlL1dlYktpdC9Tb3VyY2VzR1RLLnR4dApAQCAtNDksNyArNDksNiBAQCBOZXR3b3Jr
UHJvY2Vzcy9zb3VwL1dlYlNvY2tldFRhc2tTb3VwLmNwcAogTmV0d29ya1Byb2Nlc3Mvd2VicnRj
L0xpYldlYlJUQ1NvY2tldENsaWVudC5jcHAKIE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3Jr
UlRDTW9uaXRvci5jcHAKIE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDUHJvdmlkZXIu
Y3BwCi1OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1NvY2tldC5jcHAKIAogUGxhdGZv
cm0vSVBDL3VuaXgvQXR0YWNobWVudFVuaXguY3BwCiBQbGF0Zm9ybS9JUEMvdW5peC9Db25uZWN0
aW9uVW5peC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU291cmNlc1dQRS50eHQgYi9T
b3VyY2UvV2ViS2l0L1NvdXJjZXNXUEUudHh0CmluZGV4IGUzZjhmNDdmOTNkZDkyOWRhNTliMzU2
NDcyYzIwYWQ5YTBjOGZiNGYuLmE5NDBiM2RhMDUxZWU4ZTdjNzY0YmYxM2Y5NzkzZTljYjIzYWUw
ODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU291cmNlc1dQRS50eHQKKysrIGIvU291cmNl
L1dlYktpdC9Tb3VyY2VzV1BFLnR4dApAQCAtNDksNyArNDksNiBAQCBOZXR3b3JrUHJvY2Vzcy9z
b3VwL1dlYlNvY2tldFRhc2tTb3VwLmNwcAogTmV0d29ya1Byb2Nlc3Mvd2VicnRjL0xpYldlYlJU
Q1NvY2tldENsaWVudC5jcHAKIE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDTW9uaXRv
ci5jcHAKIE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDUHJvdmlkZXIuY3BwCi1OZXR3
b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1NvY2tldC5jcHAKIAogUGxhdGZvcm0vSVBDL3Vu
aXgvQXR0YWNobWVudFVuaXguY3BwCiBQbGF0Zm9ybS9JUEMvdW5peC9Db25uZWN0aW9uVW5peC5j
cHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmlu
ZGV4IDY5NDA2ZjZjOGIxZGM4MGVhODE4ZDVkMWFjNmYxMTZkMDMwMjRlNjUuLjRjOTQ4YWNjMzFj
NTkyY2YyZGE3OWJjZDNkOTExMDdhOTBiYjk0ODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJL
aXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtOTA0LDcgKzkwNCw2IEBACiAJCTQxMUE4
RERCMjBEREQxQUMwMDYwRDM0RiAvKiBXS01vY2tNZWRpYURldmljZS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDExQThERDkyMEREQjYwNTAwNjBEMzRG
IC8qIFdLTW9ja01lZGlhRGV2aWNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJNDExQjIyNjQxRTM3MUJBNjAwNEY3MzYzIC8qIExpYldlYlJUQ05l
dHdvcmsuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQx
MUIyMjYyMUUzNzEyNDQwMDRGNzM2MyAvKiBMaWJXZWJSVENOZXR3b3JrLmggKi87IH07CiAJCTQx
Mjg3RDRFMjI1RDFFQ0IwMDlBM0UyNiAvKiBXZWJTb2NrZXRUYXNrQ29jb2EubW0gaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTI4N0Q0QjIyNUMwNUM0MDA5
QTNFMjYgLyogV2ViU29ja2V0VGFza0NvY29hLm1tICovOyB9OwotCQk0MTMwNzVBQjFERTg1RjMz
MDAzOUVDNjkgLyogTmV0d29ya1JUQ1NvY2tldC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNDEzMDc1OTkxREU4NEZCMDAwMzlFQzY5IC8qIE5ldHdvcmtS
VENTb2NrZXQuaCAqLzsgfTsKIAkJNDEzMDc1QUMxREU4NUYzNzAwMzlFQzY5IC8qIE5ldHdvcmtS
VENNb25pdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA0MTMwNzU5QjFERTg0RkIwMDAzOUVDNjkgLyogTmV0d29ya1JUQ01vbml0b3IuaCAqLzsgfTsK
IAkJNDEzMDc1QUQxREU4NUY1ODAwMzlFQzY5IC8qIExpYldlYlJUQ1NvY2tldC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEzMDc1QTAxREU4NUVFNzAw
MzlFQzY5IC8qIExpYldlYlJUQ1NvY2tldC5oICovOyB9OwogCQk0MTMwNzVCMDFERTg1RjU4MDAz
OUVDNjkgLyogV2ViUlRDTW9uaXRvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNDEzMDc1QTMxREU4NUVFNzAwMzlFQzY5IC8qIFdlYlJUQ01vbml0b3Iu
aCAqLzsgfTsKQEAgLTEwNzgsNyArMTA3Nyw2IEBACiAJCTUxRjA2MEUwMTY1NDMxN0YwMEYzMjgx
QiAvKiBXZWJSZXNvdXJjZUxvYWRlck1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUYwNjBERTE2NTQzMTc1MDBGMzI4MUIgLyogV2ViUmVz
b3VyY2VMb2FkZXJNZXNzYWdlcy5oICovOyB9OwogCQk1MUYwNjBFMTE2NTQzMTg1MDBGMzI4MUIg
LyogV2ViUmVzb3VyY2VMb2FkZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFGMDYwREQxNjU0MzE3NTAwRjMyODFCIC8q
IFdlYlJlc291cmNlTG9hZGVyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKIAkJNTFGMDYwRTEx
NjU0MzE4NTAwRjMyODFDIC8qIExpYldlYlJUQ05ldHdvcmtNZXNzYWdlUmVjZWl2ZXIuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFGMDYwREQxNjU0
MzE3NTAwRjMyODFDIC8qIExpYldlYlJUQ05ldHdvcmtNZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9
OwotCQk1MUYwNjBFMTE2NTQzMTg1MDBGMzI4MUQgLyogTmV0d29ya1JUQ1NvY2tldE1lc3NhZ2VS
ZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1MUYwNjBERDE2NTQzMTc1MDBGMzI4MUQgLyogTmV0d29ya1JUQ1NvY2tldE1lc3NhZ2VSZWNl
aXZlci5jcHAgKi87IH07CiAJCTUxRjA2MEUxMTY1NDMxODUwMEYzMjgxRSAvKiBOZXR3b3JrUlRD
TW9uaXRvck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA1MUYwNjBERDE2NTQzMTc1MDBGMzI4MUUgLyogTmV0d29ya1JUQ01v
bml0b3JNZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OwogCQk1MUYwNjBFMTE2NTQzMTg1MDBGMzI4
MUYgLyogV2ViUlRDTW9uaXRvck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUYwNjBERDE2NTQzMTc1MDBGMzI4MUYgLyog
V2ViUlRDTW9uaXRvck1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CiAJCTUxRjA2MEUxMTY1NDMx
ODUwMEYzMjgyQyAvKiBXZWJSVENSZXNvbHZlck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUYwNjBERDE2NTQzMTc1MDBG
MzI4MkMgLyogV2ViUlRDUmVzb2x2ZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OwpAQCAtMzQw
NywxMiArMzQwNSw5IEBACiAJCTQxMjg3RDRCMjI1QzA1QzQwMDlBM0UyNiAvKiBXZWJTb2NrZXRU
YXNrQ29jb2EubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXZWJT
b2NrZXRUYXNrQ29jb2EubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxMjg3RDRD
MjI1QzA1QzUwMDlBM0UyNiAvKiBXZWJTb2NrZXRUYXNrQ29jb2EuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gV2ViU29ja2V0VGFza0NvY29hLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTQxMjg3RDREMjI1QzE2MUYwMDlBM0UyNiAvKiBXZWJTb2NrZXRUYXNrLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYlNvY2tldFRhc2suaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNDEzMDc1OTgxREU4NEZCMDAwMzlFQzY5IC8qIE5ldHdv
cmtSVENTb2NrZXQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTmV0
d29ya1JUQ1NvY2tldC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTQxMzA3NTk5
MURFODRGQjAwMDM5RUM2OSAvKiBOZXR3b3JrUlRDU29ja2V0LmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IE5ldHdvcmtSVENTb2NrZXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNDEzMDc1OUExREU4NEZCMDAwMzlFQzY5IC8qIE5ldHdvcmtSVENNb25pdG9yLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE5ldHdvcmtSVENNb25pdG9y
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDEzMDc1OUIxREU4NEZCMDAwMzlF
QzY5IC8qIE5ldHdvcmtSVENNb25pdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IE5ldHdvcmtSVENNb25pdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQx
MzA3NTlDMURFODRGQjAwMDM5RUM2OSAvKiBOZXR3b3JrUlRDTW9uaXRvci5tZXNzYWdlcy5pbiAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHRleHQ7IHBhdGggPSBOZXR3b3JrUlRDTW9uaXRvci5tZXNzYWdlcy5pbjsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNDEzMDc1OUQxREU4NEZCMDAwMzlFQzY5IC8qIE5l
dHdvcmtSVENTb2NrZXQubWVzc2FnZXMuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gTmV0d29y
a1JUQ1NvY2tldC5tZXNzYWdlcy5pbjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDEz
MDc1OUYxREU4NUVFNzAwMzlFQzY5IC8qIFdlYlJUQ1NvY2tldC5tZXNzYWdlcy5pbiAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHRleHQ7IG5hbWUgPSBXZWJSVENTb2NrZXQubWVzc2FnZXMuaW47IHBhdGggPSBOZXR3b3Jr
L3dlYnJ0Yy9XZWJSVENTb2NrZXQubWVzc2FnZXMuaW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTQxMzA3NUEwMURFODVFRTcwMDM5RUM2OSAvKiBMaWJXZWJSVENTb2NrZXQuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTGliV2ViUlRDU29ja2V0Lmg7IHBhdGggPSBO
ZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENTb2NrZXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNDEzMDc1QTExREU4NUVFNzAwMzlFQzY5IC8qIExpYldlYlJUQ1NvY2tldC5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBMaWJXZWJSVENTb2NrZXQuY3BwOyBw
YXRoID0gTmV0d29yay93ZWJydGMvTGliV2ViUlRDU29ja2V0LmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKQEAgLTM4MjgsNyArMzgyMyw2IEBACiAJCTUxRTk0OTk2MUQ3NjFDQzcwMEVD
OUVCOSAvKiBVSUdhbWVwYWRQcm92aWRlcklPUy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
Lm9iamNwcDsgcGF0aCA9IFVJR2FtZXBhZFByb3ZpZGVySU9TLm1tOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk1MUYwNjBERDE2NTQzMTc1MDBGMzI4MUIgLyogV2ViUmVzb3VyY2VMb2Fk
ZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gV2ViUmVzb3VyY2VMb2Fk
ZXJNZXNzYWdlUmVjZWl2ZXIuY3BwOyBwYXRoID0gRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJS
ZXNvdXJjZUxvYWRlck1lc3NhZ2VSZWNlaXZlci5jcHA7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9E
VUNUU19ESVI7IH07CiAJCTUxRjA2MEREMTY1NDMxNzUwMEYzMjgxQyAvKiBMaWJXZWJSVENOZXR3
b3JrTWVzc2FnZVJlY2VpdmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IExpYldlYlJUQ05ldHdv
cmtNZXNzYWdlUmVjZWl2ZXIuY3BwOyBwYXRoID0gRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9MaWJX
ZWJSVENOZXR3b3JrTWVzc2FnZVJlY2VpdmVyLmNwcDsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RV
Q1RTX0RJUjsgfTsKLQkJNTFGMDYwREQxNjU0MzE3NTAwRjMyODFEIC8qIE5ldHdvcmtSVENTb2Nr
ZXRNZXNzYWdlUmVjZWl2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gTmV0d29ya1JUQ1NvY2tl
dE1lc3NhZ2VSZWNlaXZlci5jcHA7IHBhdGggPSBEZXJpdmVkU291cmNlcy9XZWJLaXQyL05ldHdv
cmtSVENTb2NrZXRNZXNzYWdlUmVjZWl2ZXIuY3BwOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVD
VFNfRElSOyB9OwogCQk1MUYwNjBERDE2NTQzMTc1MDBGMzI4MUUgLyogTmV0d29ya1JUQ01vbml0
b3JNZXNzYWdlUmVjZWl2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gTmV0d29ya1JUQ01vbml0
b3JNZXNzYWdlUmVjZWl2ZXIuY3BwOyBwYXRoID0gRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9OZXR3
b3JrUlRDTW9uaXRvck1lc3NhZ2VSZWNlaXZlci5jcHA7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9E
VUNUU19ESVI7IH07CiAJCTUxRjA2MEREMTY1NDMxNzUwMEYzMjgxRiAvKiBXZWJSVENNb25pdG9y
TWVzc2FnZVJlY2VpdmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFdlYlJUQ01vbml0b3JNZXNz
YWdlUmVjZWl2ZXIuY3BwOyBwYXRoID0gRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJSVENNb25p
dG9yTWVzc2FnZVJlY2VpdmVyLmNwcDsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsg
fTsKIAkJNTFGMDYwREQxNjU0MzE3NTAwRjMyODJDIC8qIFdlYlJUQ1Jlc29sdmVyTWVzc2FnZVJl
Y2VpdmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFdlYlJUQ1Jlc29sdmVyTWVzc2FnZVJlY2Vp
dmVyLmNwcDsgcGF0aCA9IERlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViUlRDUmVzb2x2ZXJNZXNz
YWdlUmVjZWl2ZXIuY3BwOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OwpAQCAt
NzU5NSw5ICs3NTg5LDYgQEAKIAkJCQk0MTEyQjU0ODFGOUZEM0FDMDBFNjc4NzUgLyogTmV0d29y
a1JUQ1Jlc29sdmVyLmggKi8sCiAJCQkJNDExMkI1NDcxRjlGRDNBQjAwRTY3OTg2IC8qIE5ldHdv
cmtSVENSZXNvbHZlckNvY29hLmNwcCAqLywKIAkJCQk0MTEyQjU0ODFGOUZEM0FDMDBFNjc5ODYg
LyogTmV0d29ya1JUQ1Jlc29sdmVyQ29jb2EuaCAqLywKLQkJCQk0MTMwNzU5ODFERTg0RkIwMDAz
OUVDNjkgLyogTmV0d29ya1JUQ1NvY2tldC5jcHAgKi8sCi0JCQkJNDEzMDc1OTkxREU4NEZCMDAw
MzlFQzY5IC8qIE5ldHdvcmtSVENTb2NrZXQuaCAqLywKLQkJCQk0MTMwNzU5RDFERTg0RkIwMDAz
OUVDNjkgLyogTmV0d29ya1JUQ1NvY2tldC5tZXNzYWdlcy5pbiAqLywKIAkJCSk7CiAJCQlwYXRo
ID0gd2VicnRjOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTEwMDM2LDcgKzEwMDI3
LDYgQEAKIAkJCQlFMTUyNTUxOTE3MDExODE5MDAzRDdBREIgLyogTmV0d29ya1Jlc291cmNlTG9h
ZGVyTWVzc2FnZXMuaCAqLywKIAkJCQk1MUYwNjBERDE2NTQzMTc1MDBGMzI4MUUgLyogTmV0d29y
a1JUQ01vbml0b3JNZXNzYWdlUmVjZWl2ZXIuY3BwICovLAogCQkJCTUxRjA2MEREMTY1NDMxNzUw
MEYzMjgyRSAvKiBOZXR3b3JrUlRDUHJvdmlkZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICovLAotCQkJ
CTUxRjA2MEREMTY1NDMxNzUwMEYzMjgxRCAvKiBOZXR3b3JrUlRDU29ja2V0TWVzc2FnZVJlY2Vp
dmVyLmNwcCAqLywKIAkJCQkzMUYwNjBERDE2NTQzMTc1MDBGMzI4MUMgLyogTmV0d29ya1NvY2tl
dENoYW5uZWxNZXNzYWdlUmVjZWl2ZXIuY3BwICovLAogCQkJCTVDMEIxNzc0MUU3Qzg3OUMwMEU5
MTIzQyAvKiBOZXR3b3JrU29ja2V0U3RyZWFtTWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKIAkJCQk1
QzBCMTc3NTFFN0M4NzlDMDBFOTEyM0MgLyogTmV0d29ya1NvY2tldFN0cmVhbU1lc3NhZ2VzLmgg
Ki8sCkBAIC0xMDk1OSw3ICsxMDk0OSw2IEBACiAJCQkJNUMxNDI2RjAxQzIzRjgwOTAwRDQxMTgz
IC8qIE5ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzLmggaW4gSGVhZGVycyAqLywKIAkJCQk0
MTMwNzVBQzFERTg1RjM3MDAzOUVDNjkgLyogTmV0d29ya1JUQ01vbml0b3IuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTQxREM0NTk2MUUzRDZFMjIwMEIxMUY1MSAvKiBOZXR3b3JrUlRDUHJvdmlkZXIu
aCBpbiBIZWFkZXJzICovLAotCQkJCTQxMzA3NUFCMURFODVGMzMwMDM5RUM2OSAvKiBOZXR3b3Jr
UlRDU29ja2V0LmggaW4gSGVhZGVycyAqLywKIAkJCQk1QzIwQ0JBMDFCQjFFQ0Q4MDA4OTVCQjEg
LyogTmV0d29ya1Nlc3Npb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTUzMjE1OTU1MURCQUU3Mjkw
MDU0QUEzQyAvKiBOZXR3b3JrU2Vzc2lvbkNvY29hLmggaW4gSGVhZGVycyAqLywKIAkJCQk0MTc5
MTVCOTIyNTcwNDZGMDBENkY5N0UgLyogTmV0d29ya1NvY2tldENoYW5uZWwuaCBpbiBIZWFkZXJz
ICovLApAQCAtMTI3NjEsNyArMTI3NTAsNiBAQAogCQkJCTUxRjA2MEUxMTY1NDMxODUwMEYzMjgx
RSAvKiBOZXR3b3JrUlRDTW9uaXRvck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQk0MTc2OTAxNDIyRkRENDFCMDBCMTU3NkQgLyogTmV0d29ya1JUQ1Byb3ZpZGVyLm1tIGlu
IFNvdXJjZXMgKi8sCiAJCQkJNTFGMDYwRTExNjU0MzE4NTAwRjMyODJFIC8qIE5ldHdvcmtSVENQ
cm92aWRlck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKLQkJCQk1MUYwNjBFMTE2
NTQzMTg1MDBGMzI4MUQgLyogTmV0d29ya1JUQ1NvY2tldE1lc3NhZ2VSZWNlaXZlci5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQkzMUYwNjBFMTE2NTQzMTg1MDBGMzI4MUMgLyogTmV0d29ya1NvY2tl
dENoYW5uZWxNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNUMwQjE3Nzgx
RTdDODgwRTAwRTkxMjNDIC8qIE5ldHdvcmtTb2NrZXRTdHJlYW1NZXNzYWdlUmVjZWl2ZXIuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJMkQ5MkE3OTAyMTJCNkFENDAwRjQ5M0ZEIC8qIE5QSWRlbnRp
ZmllckRhdGEuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDU29ja2V0LmNwcCBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENTb2NrZXQuY3BwCmluZGV4IGU4
ZWU3MzQxN2VkOWEwZjAyZDBiOGQ0ZDY1Zjk4ZjM0M2JhNTc1N2MuLmVjYWViMTQ0MTg2MjczYWNh
OTZkNDM1MGE0MThiZGQyNDU4MjFjN2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENTb2NrZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENTb2NrZXQuY3BwCkBAIC0zMSw3
ICszMSw3IEBACiAjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIkxpYldlYlJU
Q1NvY2tldEZhY3RvcnkuaCIKICNpbmNsdWRlICJOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24uaCIK
LSNpbmNsdWRlICJOZXR3b3JrUlRDU29ja2V0TWVzc2FnZXMuaCIKKyNpbmNsdWRlICJOZXR3b3Jr
UlRDUHJvdmlkZXJNZXNzYWdlcy5oIgogI2luY2x1ZGUgIlJUQ1BhY2tldE9wdGlvbnMuaCIKICNp
bmNsdWRlICJXZWJQcm9jZXNzLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9TaGFyZWRCdWZmZXIuaD4K
QEAgLTEzNiw3ICsxMzYsNyBAQCBpbnQgTGliV2ViUlRDU29ja2V0OjpTZW5kVG8oY29uc3Qgdm9p
ZCAqdmFsdWUsIHNpemVfdCBzaXplLCBjb25zdCBydGM6OlNvY2tldEFkZAogICAgICAgICByZXR1
cm4gc2l6ZTsKIAogICAgIElQQzo6RGF0YVJlZmVyZW5jZSBkYXRhKHN0YXRpY19jYXN0PGNvbnN0
IHVpbnQ4X3QqPih2YWx1ZSksIHNpemUpOwotICAgIGNvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6
Ok5ldHdvcmtSVENTb2NrZXQ6OlNlbmRUbyB7IGRhdGEsIFJUQ05ldHdvcms6OlNvY2tldEFkZHJl
c3MgeyBhZGRyZXNzIH0sIFJUQ1BhY2tldE9wdGlvbnMgeyBvcHRpb25zIH0gfSwgbV9pZGVudGlm
aWVyKTsKKyAgICBjb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpOZXR3b3JrUlRDUHJvdmlkZXI6
OlNlbmRUb1NvY2tldCB7IG1faWRlbnRpZmllciwgZGF0YSwgUlRDTmV0d29yazo6U29ja2V0QWRk
cmVzcyB7IGFkZHJlc3MgfSwgUlRDUGFja2V0T3B0aW9ucyB7IG9wdGlvbnMgfSB9LCAwKTsKIAog
ICAgIHJldHVybiBzaXplOwogfQpAQCAtMTQ5LDcgKzE0OSw3IEBAIGludCBMaWJXZWJSVENTb2Nr
ZXQ6OkNsb3NlKCkKIAogICAgIG1fc3RhdGUgPSBTVEFURV9DTE9TRUQ7CiAKLSAgICBjb25uZWN0
aW9uLT5zZW5kKE1lc3NhZ2VzOjpOZXR3b3JrUlRDU29ja2V0OjpDbG9zZSgpLCBtX2lkZW50aWZp
ZXIpOworICAgIGNvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6Ok5ldHdvcmtSVENQcm92aWRlcjo6
Q2xvc2VTb2NrZXQgeyBtX2lkZW50aWZpZXIgfSwgMCk7CiAKICAgICByZXR1cm4gMDsKIH0KQEAg
LTE3MSw3ICsxNzEsNyBAQCBpbnQgTGliV2ViUlRDU29ja2V0OjpTZXRPcHRpb24ocnRjOjpTb2Nr
ZXQ6Ok9wdGlvbiBvcHRpb24sIGludCB2YWx1ZSkKICAgICBtX29wdGlvbnNbb3B0aW9uXSA9IHZh
bHVlOwogCiAgICAgaWYgKGF1dG8qIGNvbm5lY3Rpb24gPSBtX2ZhY3RvcnkuY29ubmVjdGlvbigp
KQotICAgICAgICBjb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpOZXR3b3JrUlRDU29ja2V0OjpT
ZXRPcHRpb24ob3B0aW9uLCB2YWx1ZSksIG1faWRlbnRpZmllcik7CisgICAgICAgIGNvbm5lY3Rp
b24tPnNlbmQoTWVzc2FnZXM6Ok5ldHdvcmtSVENQcm92aWRlcjo6U2V0U29ja2V0T3B0aW9uIHsg
bV9pZGVudGlmaWVyLCBvcHRpb24sIHZhbHVlIH0sIDApOwogCiAgICAgcmV0dXJuIDA7CiB9CkBA
IC0yMDEsNyArMjAxLDcgQEAgdm9pZCBMaWJXZWJSVENTb2NrZXQ6OnN1c3BlbmQoKQogICAgICAg
ICByZXR1cm47CiAKICAgICBpZiAoYXV0byogY29ubmVjdGlvbiA9IG1fZmFjdG9yeS5jb25uZWN0
aW9uKCkpCi0gICAgICAgIGNvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6Ok5ldHdvcmtSVENTb2Nr
ZXQ6OkNsb3NlIHsgfSwgbV9pZGVudGlmaWVyKTsKKyAgICAgICAgY29ubmVjdGlvbi0+c2VuZChN
ZXNzYWdlczo6TmV0d29ya1JUQ1Byb3ZpZGVyOjpDbG9zZVNvY2tldCB7IG1faWRlbnRpZmllciB9
LCAwKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>403181</attachid>
            <date>2020-06-30 00:34:45 -0700</date>
            <delta_ts>2020-06-30 03:01:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-213557-20200630093443.patch</filename>
            <type>text/plain</type>
            <size>47376</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYzNjcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGVjYTQwOTFmNmI1ZDEyMGYw
MTNlMWNlMTg3YWMyYmVjMGM5YjQ0ZDAuLmRmODlkMzZjMzFlMmE0NGY2MjQ3OGI1MjE1NzQ0ZDZm
ZGFlNTM1OGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTMgQEAKKzIwMjAtMDYtMjkgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIE1ha2UgTmV0d29ya1JUQ1Byb3Zp
ZGVyIHJlY2VpdmUgSVBDIG1lc3NhZ2VzIGZyb20gYSBiYWNrZ3JvdW5kIHRocmVhZAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEzNTU3CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVG8gZW5zdXJlIHdlYnJ0
YyBwYWNrZXRzIGRvIG5vdCBnZXQgYmxvY2tlZCBvbiB0aGUgbWFpbiB0aHJlYWQsCisgICAgICAg
IHdlIHByb2Nlc3MgV2ViUHJvY2VzcyBJUEMgbWVzc2FnZSBkaXJlY3RseSBpbiB0aGUgc29ja2V0
IHRocmVhZC4KKyAgICAgICAgRm9yIG5ldyBzb2NrZXRzLCB3ZSBzdGlsbCBnbyB0aHJvdWdoIHRo
ZSBtYWluIHRocmVhZCwgdG8gY2hlY2sgc3VzcGVuc2lvbiBvciBwcm94eSB2YWx1ZXMuCisgICAg
ICAgIEZvciBzZW5kaW5nIHBhY2tldHMvc2V0dGluZyBvcHRpb25zL2Nsb3Npbmcgc29ja2V0cywg
d2Ugc3RheSBpbiB0aGUgYmFja2dyb3VuZCB0aHJlYWQuCisKKyAgICAgICAgKiBEZXJpdmVkU291
cmNlcy1vdXRwdXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgor
ICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmRpZFJl
Y2VpdmVNZXNzYWdlKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRD
U29ja2V0Q2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDU29ja2V0Q2xpZW50
OjpzZW5kVG8pOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENTb2Nr
ZXRDbGllbnQuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1By
b3ZpZGVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1JUQ1Byb3ZpZGVyOjpOZXR3b3Jr
UlRDUHJvdmlkZXIpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUlRDUHJvdmlkZXI6OmNsb3Nl
KToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1JUQ1Byb3ZpZGVyOjpjcmVhdGVTb2NrZXQpOgor
ICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUlRDUHJvdmlkZXI6OmNyZWF0ZVVEUFNvY2tldCk6Cisg
ICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtSVENQcm92aWRlcjo6Y3JlYXRlU2VydmVyVENQU29ja2V0
KToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1JUQ1Byb3ZpZGVyOjpjcmVhdGVDbGllbnRUQ1BT
b2NrZXQpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUlRDUHJvdmlkZXI6OndyYXBOZXdUQ1BD
b25uZWN0aW9uKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1JUQ1Byb3ZpZGVyOjpzZW5kVG9T
b2NrZXQpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUlRDUHJvdmlkZXI6OmNsb3NlU29ja2V0
KToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1JUQ1Byb3ZpZGVyOjpzZXRTb2NrZXRPcHRpb24p
OgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUlRDUHJvdmlkZXI6OmFkZFNvY2tldCk6CisgICAg
ICAgIChXZWJLaXQ6Ok5ldHdvcmtSVENQcm92aWRlcjo6dGFrZVNvY2tldCk6CisgICAgICAgIChX
ZWJLaXQ6Ok5ldHdvcmtSVENQcm92aWRlcjo6bmV3Q29ubmVjdGlvbik6CisgICAgICAgIChXZWJL
aXQ6Ok5ldHdvcmtSVENQcm92aWRlcjo6ZGlzcGF0Y2hUb1RocmVhZCk6CisgICAgICAgICogTmV0
d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENQcm92aWRlci5oOgorICAgICAgICAoV2ViS2l0
OjpOZXR3b3JrUlRDUHJvdmlkZXI6OmRpZFJlY2VpdmVOZXR3b3JrUlRDTW9uaXRvck1lc3NhZ2Up
OgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDUHJvdmlkZXIubWVz
c2FnZXMuaW46CisgICAgICAgICogTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENTb2Nr
ZXQuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3Jr
UlRDU29ja2V0Lmg6IFJlbW92ZWQuCisgICAgICAgICogTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05l
dHdvcmtSVENTb2NrZXQubWVzc2FnZXMuaW46IFJlbW92ZWQuCisgICAgICAgICogU291cmNlc0Nv
Y29hLnR4dDoKKyAgICAgICAgKiBTb3VyY2VzR1RLLnR4dDoKKyAgICAgICAgKiBTb3VyY2VzV1BF
LnR4dDoKKyAgICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1NvY2tldC5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OkxpYldlYlJUQ1NvY2tldDo6U2VuZFRvKToKKyAgICAgICAgKFdlYktpdDo6
TGliV2ViUlRDU29ja2V0OjpDbG9zZSk6CisgICAgICAgIChXZWJLaXQ6OkxpYldlYlJUQ1NvY2tl
dDo6U2V0T3B0aW9uKToKKyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDU29ja2V0OjpzdXNwZW5k
KToKKwogMjAyMC0wNi0yOSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAg
ICAgICAgU2VuZCBXZWJSVEMgcGFja2V0cyByZWNlaXZlZCBmcm9tIG5ldHdvcmsgcHJvY2VzcyB0
byB3ZWIgcHJvY2VzcyBmcm9tIGEgYmFja2dyb3VuZCB0aHJlYWQKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViS2l0L0NNYWtlTGlzdHMudHh0Cmlu
ZGV4IGYyZGRlMTI0MTg3OTMyZDdhZWVkYjE2YWQzMjYzNTlkMDc3MzFjZjQuLjk4YzJjODE4MWQ5
OTYwMGFlY2I2MjFhMzg1NjBkMDYwOGI3NDkzY2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Q01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYktpdC9DTWFrZUxpc3RzLnR4dApAQCAtMTY3
LDcgKzE2Nyw2IEBAIHNldChXZWJLaXRfTUVTU0FHRVNfSU5fRklMRVMKICAgICBOZXR3b3JrUHJv
Y2Vzcy93ZWJydGMvTmV0d29ya01ETlNSZWdpc3RlcgogICAgIE5ldHdvcmtQcm9jZXNzL3dlYnJ0
Yy9OZXR3b3JrUlRDTW9uaXRvcgogICAgIE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRD
UHJvdmlkZXIKLSAgICBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1NvY2tldAogCiAg
ICAgUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkKICAgICBQbHVnaW5Qcm9jZXNz
L1BsdWdpblByb2Nlc3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMt
aW5wdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNm
aWxlbGlzdAppbmRleCA2YTI5MTExNDVlNjBiYzJiN2ZjZWQyY2I0MGNhNzMxZmE1MTcxOTFkLi4w
OThlYWU1YTQwM2E3OGZlN2U3YWExZTBhOWJmYjgyYWNkNGQ0MWViIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dl
YktpdC9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CkBAIC01Niw3ICs1Niw2IEBAICQo
UFJPSkVDVF9ESVIpL05ldHdvcmtQcm9jZXNzL21hYy9jb20uYXBwbGUuV2ViS2l0Lk5ldHdvcmtQ
cm9jZXNzLnNiLmluCiAkKFBST0pFQ1RfRElSKS9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29y
a01ETlNSZWdpc3Rlci5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvTmV0d29ya1Byb2Nlc3Mv
d2VicnRjL05ldHdvcmtSVENNb25pdG9yLm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9OZXR3
b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1Byb3ZpZGVyLm1lc3NhZ2VzLmluCi0kKFBST0pF
Q1RfRElSKS9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1NvY2tldC5tZXNzYWdlcy5p
bgogJChQUk9KRUNUX0RJUikvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkubWVz
c2FnZXMuaW4KICQoUFJPSkVDVF9ESVIpL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5tZXNz
YWdlcy5pbgogJChQUk9KRUNUX0RJUikvUGx1Z2luUHJvY2Vzcy9XZWJQcm9jZXNzQ29ubmVjdGlv
bi5tZXNzYWdlcy5pbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy1v
dXRwdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMtb3V0cHV0Lnhj
ZmlsZWxpc3QKaW5kZXggYmQ4OTMzZTNjZTY0MmFjMTU4OGQ1OTlkMTY5ZGIwYjgyNTVmMTYzOC4u
MzNkNDIxYmE1NmYzYWU5ZmMwNThmY2ZlMDE3OWMyYjJlZDk2ODNhNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2Uv
V2ViS2l0L0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CkBAIC05Nyw5ICs5Nyw2IEBA
ICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL05ldHdvcmtSVENN
b25pdG9yTWVzc2FnZXNSZXBsaWVzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJLaXQyL05ldHdvcmtSVENQcm92aWRlck1lc3NhZ2VSZWNlaXZlci5jcHAKICQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL05ldHdvcmtSVENQcm92aWRl
ck1lc3NhZ2VzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQy
L05ldHdvcmtSVENQcm92aWRlck1lc3NhZ2VzUmVwbGllcy5oCi0kKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9OZXR3b3JrUlRDU29ja2V0TWVzc2FnZVJlY2VpdmVy
LmNwcAotJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvTmV0d29y
a1JUQ1NvY2tldE1lc3NhZ2VzLmgKLSQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJLaXQyL05ldHdvcmtSVENTb2NrZXRNZXNzYWdlc1JlcGxpZXMuaAogJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvTmV0d29ya1Jlc291cmNlTG9hZGVyTWVz
c2FnZVJlY2VpdmVyLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YktpdDIvTmV0d29ya1Jlc291cmNlTG9hZGVyTWVzc2FnZXMuaAogJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvTmV0d29ya1Jlc291cmNlTG9hZGVyTWVzc2FnZXNS
ZXBsaWVzLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMubWFrZSBi
L1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCA1ZjVmMjVjMDFhZTI5Zjg1
MmRjMzg2ZDIzMjBjMDdiOGU5NTc4MzU2Li5kZmE3YzJiNWU1MzEyZWM1MWRkNmZlNjkyMjQzMzli
ZTgxN2NhN2JjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLm1ha2UK
KysrIGIvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0xMjYsNyArMTI2LDYg
QEAgTUVTU0FHRV9SRUNFSVZFUlMgPSBcCiAJTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3Mg
XAogCU5ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlciBcCiAJTmV0d29ya1Byb2Nl
c3Mvd2VicnRjL05ldHdvcmtNRE5TUmVnaXN0ZXIgXAotCU5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9O
ZXR3b3JrUlRDU29ja2V0IFwKIAlOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1Byb3Zp
ZGVyIFwKIAlOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ01vbml0b3IgXAogCU5ldHdv
cmtQcm9jZXNzL0Nvb2tpZXMvV2ViQ29va2llTWFuYWdlciBcCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcCBi
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nl
c3MuY3BwCmluZGV4IDZmMGNlNjQ5ZDhiMTdmZWY4ZDY2ZWYxM2Q2M2JjNWZkZTY4YzUyNGMuLjVj
MTkyZjI5ZTYxNjdiMjE1YTE1NGJmOTk3YzZkZWIxYTJhY2FiMDggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dl
YlByb2Nlc3MuY3BwCkBAIC0zOSw3ICszOSw2IEBACiAjaW5jbHVkZSAiTmV0d29ya1Byb2Nlc3NQ
cm94eU1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiTmV0d29ya1JUQ01vbml0b3JNZXNzYWdlcy5oIgog
I2luY2x1ZGUgIk5ldHdvcmtSVENQcm92aWRlck1lc3NhZ2VzLmgiCi0jaW5jbHVkZSAiTmV0d29y
a1JUQ1NvY2tldE1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiTmV0d29ya1Jlc291cmNlTG9hZFBhcmFt
ZXRlcnMuaCIKICNpbmNsdWRlICJOZXR3b3JrUmVzb3VyY2VMb2FkZXIuaCIKICNpbmNsdWRlICJO
ZXR3b3JrUmVzb3VyY2VMb2FkZXJNZXNzYWdlcy5oIgpAQCAtMjE1LDE4ICsyMTQsMTQgQEAgdm9p
ZCBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6ZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpD
b25uZWN0aW9uJiBjb25uZWN0aW8KICAgICB9CiAKICNpZiBVU0UoTElCV0VCUlRDKQotICAgIGlm
IChkZWNvZGVyLm1lc3NhZ2VSZWNlaXZlck5hbWUoKSA9PSBNZXNzYWdlczo6TmV0d29ya1JUQ1Nv
Y2tldDo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpKSB7Ci0gICAgICAgIHJ0Y1Byb3ZpZGVyKCkuZGlk
UmVjZWl2ZU5ldHdvcmtSVENTb2NrZXRNZXNzYWdlKGNvbm5lY3Rpb24sIGRlY29kZXIpOworICAg
IGlmIChkZWNvZGVyLm1lc3NhZ2VSZWNlaXZlck5hbWUoKSA9PSBNZXNzYWdlczo6TmV0d29ya1JU
Q1Byb3ZpZGVyOjptZXNzYWdlUmVjZWl2ZXJOYW1lKCkpIHsKKyAgICAgICAgcnRjUHJvdmlkZXIo
KS5kaWRSZWNlaXZlTWVzc2FnZShjb25uZWN0aW9uLCBkZWNvZGVyKTsKICAgICAgICAgcmV0dXJu
OwogICAgIH0KICAgICBpZiAoZGVjb2Rlci5tZXNzYWdlUmVjZWl2ZXJOYW1lKCkgPT0gTWVzc2Fn
ZXM6Ok5ldHdvcmtSVENNb25pdG9yOjptZXNzYWdlUmVjZWl2ZXJOYW1lKCkpIHsKICAgICAgICAg
cnRjUHJvdmlkZXIoKS5kaWRSZWNlaXZlTmV0d29ya1JUQ01vbml0b3JNZXNzYWdlKGNvbm5lY3Rp
b24sIGRlY29kZXIpOwogICAgICAgICByZXR1cm47CiAgICAgfQotICAgIGlmIChkZWNvZGVyLm1l
c3NhZ2VSZWNlaXZlck5hbWUoKSA9PSBNZXNzYWdlczo6TmV0d29ya1JUQ1Byb3ZpZGVyOjptZXNz
YWdlUmVjZWl2ZXJOYW1lKCkpIHsKLSAgICAgICAgcnRjUHJvdmlkZXIoKS5kaWRSZWNlaXZlTWVz
c2FnZShjb25uZWN0aW9uLCBkZWNvZGVyKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KICNlbmRp
ZgogI2lmIEVOQUJMRShXRUJfUlRDKQogICAgIGlmIChkZWNvZGVyLm1lc3NhZ2VSZWNlaXZlck5h
bWUoKSA9PSBNZXNzYWdlczo6TmV0d29ya01ETlNSZWdpc3Rlcjo6bWVzc2FnZVJlY2VpdmVyTmFt
ZSgpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9M
aWJXZWJSVENTb2NrZXRDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy93
ZWJydGMvTGliV2ViUlRDU29ja2V0Q2xpZW50LmNwcAppbmRleCA0ZTY0YzExYTQzN2I1MDBiZGI1
OTExNjllMzIyYjkwMTIwNWI0MzFmLi43ODgzNDBlZTcwNmFiMDE1ZjkxZGFlZjFiNzZkYzc0ZWRj
ZWExNGM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9M
aWJXZWJSVENTb2NrZXRDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3Mvd2VicnRjL0xpYldlYlJUQ1NvY2tldENsaWVudC5jcHAKQEAgLTcwLDkgKzcwLDkgQEAgTGli
V2ViUlRDU29ja2V0Q2xpZW50OjpMaWJXZWJSVENTb2NrZXRDbGllbnQoV2ViQ29yZTo6TGliV2Vi
UlRDU29ja2V0SWRlbnRpZmllcgogICAgIH0KIH0KIAotdm9pZCBMaWJXZWJSVENTb2NrZXRDbGll
bnQ6OnNlbmRUbyhjb25zdCBXZWJDb3JlOjpTaGFyZWRCdWZmZXImIGJ1ZmZlciwgY29uc3QgcnRj
OjpTb2NrZXRBZGRyZXNzJiBzb2NrZXRBZGRyZXNzLCBjb25zdCBydGM6OlBhY2tldE9wdGlvbnMm
IG9wdGlvbnMpCit2b2lkIExpYldlYlJUQ1NvY2tldENsaWVudDo6c2VuZFRvKGNvbnN0IHVpbnQ4
X3QqIGRhdGEsIHNpemVfdCBzaXplLCBjb25zdCBydGM6OlNvY2tldEFkZHJlc3MmIHNvY2tldEFk
ZHJlc3MsIGNvbnN0IHJ0Yzo6UGFja2V0T3B0aW9ucyYgb3B0aW9ucykKIHsKLSAgICBhdXRvIHJl
c3VsdCA9IG1fc29ja2V0LT5TZW5kVG8ocmVpbnRlcnByZXRfY2FzdDxjb25zdCB1aW50OF90Kj4o
YnVmZmVyLmRhdGEoKSksIGJ1ZmZlci5zaXplKCksIHNvY2tldEFkZHJlc3MsIG9wdGlvbnMpOwor
ICAgIGF1dG8gcmVzdWx0ID0gbV9zb2NrZXQtPlNlbmRUbyhkYXRhLCBzaXplLCBzb2NrZXRBZGRy
ZXNzLCBvcHRpb25zKTsKICAgICBSRUxFQVNFX0xPR19FUlJPUl9JRihyZXN1bHQgJiYgbV9zZW5k
RXJyb3IgIT0gcmVzdWx0LCBOZXR3b3JrLCAiTGliV2ViUlRDU29ja2V0Q2xpZW50OjpzZW5kVG8g
ZmFpbGVkIHdpdGggZXJyb3IgJWQiLCBtX3NvY2tldC0+R2V0RXJyb3IoKSk7CiAgICAgbV9zZW5k
RXJyb3IgPSByZXN1bHQ7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL3dlYnJ0Yy9MaWJXZWJSVENTb2NrZXRDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3Mvd2VicnRjL0xpYldlYlJUQ1NvY2tldENsaWVudC5oCmluZGV4IDhlM2Y0ODA2NWJm
MDA5OWNhOTNjNmU0ZGMxNGVmYjUzMmU1OGY2YTYuLjNiYzc0ZWExYzNhM2U1ZGJmMGEzMjRjZjg5
YjczYzAxYzFlMWJkMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
d2VicnRjL0xpYldlYlJUQ1NvY2tldENsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3Mvd2VicnRjL0xpYldlYlJUQ1NvY2tldENsaWVudC5oCkBAIC00OSw3ICs0OSw3IEBA
IHByaXZhdGU6CiAgICAgdm9pZCBjbG9zZSgpIGZpbmFsOwogCiAgICAgdm9pZCBzZXRPcHRpb24o
aW50IG9wdGlvbiwgaW50IHZhbHVlKSBmaW5hbDsKLSAgICB2b2lkIHNlbmRUbyhjb25zdCBXZWJD
b3JlOjpTaGFyZWRCdWZmZXImLCBjb25zdCBydGM6OlNvY2tldEFkZHJlc3MmLCBjb25zdCBydGM6
OlBhY2tldE9wdGlvbnMmKSBmaW5hbDsKKyAgICB2b2lkIHNlbmRUbyhjb25zdCB1aW50OF90Kiwg
c2l6ZV90LCBjb25zdCBydGM6OlNvY2tldEFkZHJlc3MmLCBjb25zdCBydGM6OlBhY2tldE9wdGlv
bnMmKSBmaW5hbDsKIAogICAgIHZvaWQgc2lnbmFsUmVhZFBhY2tldChydGM6OkFzeW5jUGFja2V0
U29ja2V0KiwgY29uc3QgY2hhciosIHNpemVfdCwgY29uc3QgcnRjOjpTb2NrZXRBZGRyZXNzJiwg
Y29uc3QgcnRjOjpQYWNrZXRUaW1lJik7CiAgICAgdm9pZCBzaWduYWxTZW50UGFja2V0KHJ0Yzo6
QXN5bmNQYWNrZXRTb2NrZXQqLCBjb25zdCBydGM6OlNlbnRQYWNrZXQmKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENQcm92aWRlci5j
cHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDUHJvdmlk
ZXIuY3BwCmluZGV4IDk3OWNjNTM1YjQ2NDkzMWFlNDQxNjlhYjZjYzVkOWE5MmQ3MjlhMTAuLjhh
N2Q3YTU5OGVjMWNmOGVmZGQzMzBlYWQ2N2FhMTUxOTE0MGQ1YWQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENQcm92aWRlci5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1Byb3ZpZGVy
LmNwcApAQCAtMzMsOCArMzMsOSBAQAogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJO
ZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oIgogI2luY2x1ZGUgIk5ldHdvcmtQcm9jZXNz
LmgiCisjaW5jbHVkZSAiTmV0d29ya1JUQ1Byb3ZpZGVyTWVzc2FnZXMuaCIKICNpbmNsdWRlICJO
ZXR3b3JrUlRDUmVzb2x2ZXIuaCIKLSNpbmNsdWRlICJOZXR3b3JrUlRDU29ja2V0LmgiCisjaW5j
bHVkZSAiUlRDUGFja2V0T3B0aW9ucy5oIgogI2luY2x1ZGUgIldlYlJUQ1Jlc29sdmVyTWVzc2Fn
ZXMuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0xpYldlYlJUQ01hY3Jvcy5oPgogI2luY2x1ZGUgPHdl
YnJ0Yy9ydGNfYmFzZS9hc3luY19wYWNrZXRfc29ja2V0Lmg+CkBAIC03Niw2ICs3Nyw3IEBAIHN0
YXRpYyB2b2lkIGRvUmVsZWFzZUxvZ2dpbmcocnRjOjpMb2dnaW5nU2V2ZXJpdHkgc2V2ZXJpdHks
IGNvbnN0IGNoYXIqIG1lc3NhZ2UpCiAKIE5ldHdvcmtSVENQcm92aWRlcjo6TmV0d29ya1JUQ1By
b3ZpZGVyKE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzJiBjb25uZWN0aW9uKQogICAgIDog
bV9jb25uZWN0aW9uKCZjb25uZWN0aW9uKQorICAgICwgbV9pcGNDb25uZWN0aW9uKG1ha2VSZWYo
Y29ubmVjdGlvbi5jb25uZWN0aW9uKCkpKQogICAgICwgbV9ydGNNb25pdG9yKCp0aGlzKQogICAg
ICwgbV9ydGNOZXR3b3JrVGhyZWFkKGNyZWF0ZVRocmVhZCgpKQogICAgICwgbV9wYWNrZXRTb2Nr
ZXRGYWN0b3J5KG1ha2VVbmlxdWVSZWZXaXRob3V0RmFzdE1hbGxvY0NoZWNrPHJ0Yzo6QmFzaWNQ
YWNrZXRTb2NrZXRGYWN0b3J5PihtX3J0Y05ldHdvcmtUaHJlYWQuZ2V0KCkpKQpAQCAtODQsNiAr
ODYsNyBAQCBOZXR3b3JrUlRDUHJvdmlkZXI6Ok5ldHdvcmtSVENQcm92aWRlcihOZXR3b3JrQ29u
bmVjdGlvblRvV2ViUHJvY2VzcyYgY29ubmVjdGlvbgogI2lmICFSRUxFQVNFX0xPR19ESVNBQkxF
RAogICAgIHJ0Yzo6TG9nTWVzc2FnZTo6U2V0TG9nT3V0cHV0KFdlYktpdDJMb2dXZWJSVEMuc3Rh
dGUgPT0gV1RGTG9nQ2hhbm5lbFN0YXRlOjpPbiA/IHJ0Yzo6TFNfSU5GTyA6IHJ0Yzo6TFNfV0FS
TklORywgZG9SZWxlYXNlTG9nZ2luZyk7CiAjZW5kaWYKKyAgICBtX2Nvbm5lY3Rpb24tPmNvbm5l
Y3Rpb24oKS5hZGRUaHJlYWRNZXNzYWdlUmVjZWl2ZXIoTWVzc2FnZXM6Ok5ldHdvcmtSVENQcm92
aWRlcjo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCB0aGlzKTsKIH0KIAogTmV0d29ya1JUQ1Byb3Zp
ZGVyOjp+TmV0d29ya1JUQ1Byb3ZpZGVyKCkKQEAgLTEwMSw2ICsxMDQsNyBAQCB2b2lkIE5ldHdv
cmtSVENQcm92aWRlcjo6Y2xvc2UoKQogICAgIHdoaWxlICghbV9yZXNvbHZlcnMuaXNFbXB0eSgp
KQogICAgICAgICBzdG9wUmVzb2x2ZXIoKm1fcmVzb2x2ZXJzLmtleXMoKS5iZWdpbigpKTsKIAor
ICAgIG1fY29ubmVjdGlvbi0+Y29ubmVjdGlvbigpLnJlbW92ZVRocmVhZE1lc3NhZ2VSZWNlaXZl
cihNZXNzYWdlczo6TmV0d29ya1JUQ1Byb3ZpZGVyOjptZXNzYWdlUmVjZWl2ZXJOYW1lKCkpOwog
ICAgIG1fY29ubmVjdGlvbiA9IG51bGxwdHI7CiAgICAgbV9ydGNNb25pdG9yLnN0b3BVcGRhdGlu
ZygpOwogCkBAIC0xMTUsNiArMTE5LDcgQEAgdm9pZCBOZXR3b3JrUlRDUHJvdmlkZXI6OmNsb3Nl
KCkKIAogdm9pZCBOZXR3b3JrUlRDUHJvdmlkZXI6OmNyZWF0ZVNvY2tldChMaWJXZWJSVENTb2Nr
ZXRJZGVudGlmaWVyIGlkZW50aWZpZXIsIHN0ZDo6dW5pcXVlX3B0cjxydGM6OkFzeW5jUGFja2V0
U29ja2V0PiYmIHNvY2tldCwgU29ja2V0OjpUeXBlIHR5cGUsIFJlZjxJUEM6OkNvbm5lY3Rpb24+
JiYgY29ubmVjdGlvbikKIHsKKyAgICBBU1NFUlQobV9ydGNOZXR3b3JrVGhyZWFkLT5Jc0N1cnJl
bnQoKSk7CiAgICAgaWYgKCFzb2NrZXQpIHsKICAgICAgICAgUkVMRUFTRV9MT0dfRVJST1JfSUZf
QUxMT1dFRCgiY3JlYXRlU29ja2V0IHdpdGggJXUgc29ja2V0cyBpcyB1bmFibGUgdG8gY3JlYXRl
IGEgbmV3IHNvY2tldCIsIG1fc29ja2V0cy5zaXplKCkpOwogICAgICAgICBjb25uZWN0aW9uLT5z
ZW5kKE1lc3NhZ2VzOjpMaWJXZWJSVENOZXR3b3JrOjpTaWduYWxDbG9zZShpZGVudGlmaWVyLCAx
KSwgMCk7CkBAIC0xMjUsMjMgKzEzMCwyNSBAQCB2b2lkIE5ldHdvcmtSVENQcm92aWRlcjo6Y3Jl
YXRlU29ja2V0KExpYldlYlJUQ1NvY2tldElkZW50aWZpZXIgaWRlbnRpZmllciwgc3RkOgogCiB2
b2lkIE5ldHdvcmtSVENQcm92aWRlcjo6Y3JlYXRlVURQU29ja2V0KExpYldlYlJUQ1NvY2tldElk
ZW50aWZpZXIgaWRlbnRpZmllciwgY29uc3QgUlRDTmV0d29yazo6U29ja2V0QWRkcmVzcyYgYWRk
cmVzcywgdWludDE2X3QgbWluUG9ydCwgdWludDE2X3QgbWF4UG9ydCkKIHsKLSAgICBjYWxsT25S
VENOZXR3b3JrVGhyZWFkKFt0aGlzLCBpZGVudGlmaWVyLCBhZGRyZXNzID0gUlRDTmV0d29yazo6
aXNvbGF0ZWRDb3B5KGFkZHJlc3MudmFsdWUpLCBtaW5Qb3J0LCBtYXhQb3J0LCBjb25uZWN0aW9u
ID0gbWFrZVJlZihtX2Nvbm5lY3Rpb24tPmNvbm5lY3Rpb24oKSldKCkgbXV0YWJsZSB7Ci0gICAg
ICAgIHN0ZDo6dW5pcXVlX3B0cjxydGM6OkFzeW5jUGFja2V0U29ja2V0PiBzb2NrZXQobV9wYWNr
ZXRTb2NrZXRGYWN0b3J5LT5DcmVhdGVVZHBTb2NrZXQoYWRkcmVzcywgbWluUG9ydCwgbWF4UG9y
dCkpOwotICAgICAgICBjcmVhdGVTb2NrZXQoaWRlbnRpZmllciwgV1RGTW92ZShzb2NrZXQpLCBT
b2NrZXQ6OlR5cGU6OlVEUCwgV1RGTW92ZShjb25uZWN0aW9uKSk7Ci0gICAgfSk7CisgICAgQVNT
RVJUKG1fcnRjTmV0d29ya1RocmVhZC0+SXNDdXJyZW50KCkpOworICAgIHN0ZDo6dW5pcXVlX3B0
cjxydGM6OkFzeW5jUGFja2V0U29ja2V0PiBzb2NrZXQobV9wYWNrZXRTb2NrZXRGYWN0b3J5LT5D
cmVhdGVVZHBTb2NrZXQoYWRkcmVzcy52YWx1ZSwgbWluUG9ydCwgbWF4UG9ydCkpOworICAgIGNy
ZWF0ZVNvY2tldChpZGVudGlmaWVyLCBXVEZNb3ZlKHNvY2tldCksIFNvY2tldDo6VHlwZTo6VURQ
LCBtX2lwY0Nvbm5lY3Rpb24uY29weVJlZigpKTsKIH0KIAogdm9pZCBOZXR3b3JrUlRDUHJvdmlk
ZXI6OmNyZWF0ZVNlcnZlclRDUFNvY2tldChMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyIGlkZW50
aWZpZXIsIGNvbnN0IFJUQ05ldHdvcms6OlNvY2tldEFkZHJlc3MmIGFkZHJlc3MsIHVpbnQxNl90
IG1pblBvcnQsIHVpbnQxNl90IG1heFBvcnQsIGludCBvcHRpb25zKQogewotICAgIGlmICghbV9p
c0xpc3RlbmluZ1NvY2tldEF1dGhvcml6ZWQpIHsKLSAgICAgICAgaWYgKG1fY29ubmVjdGlvbikK
LSAgICAgICAgICAgIG1fY29ubmVjdGlvbi0+Y29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6Okxp
YldlYlJUQ05ldHdvcms6OlNpZ25hbENsb3NlKGlkZW50aWZpZXIsIDEpLCAwKTsKLSAgICAgICAg
cmV0dXJuOwotICAgIH0KKyAgICBBU1NFUlQobV9ydGNOZXR3b3JrVGhyZWFkLT5Jc0N1cnJlbnQo
KSk7CisgICAgY2FsbE9uTWFpblRocmVhZChbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYo
KnRoaXMpLCBpZGVudGlmaWVyLCBhZGRyZXNzLCBtaW5Qb3J0LCBtYXhQb3J0LCBvcHRpb25zXSB7
CisgICAgICAgIGlmICghbV9pc0xpc3RlbmluZ1NvY2tldEF1dGhvcml6ZWQpIHsKKyAgICAgICAg
ICAgIGlmIChtX2Nvbm5lY3Rpb24pCisgICAgICAgICAgICAgICAgbV9jb25uZWN0aW9uLT5jb25u
ZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6TGliV2ViUlRDTmV0d29yazo6U2lnbmFsQ2xvc2UoaWRl
bnRpZmllciwgMSksIDApOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CiAKLSAgICBj
YWxsT25SVENOZXR3b3JrVGhyZWFkKFt0aGlzLCBpZGVudGlmaWVyLCBhZGRyZXNzID0gUlRDTmV0
d29yazo6aXNvbGF0ZWRDb3B5KGFkZHJlc3MudmFsdWUpLCBtaW5Qb3J0LCBtYXhQb3J0LCBvcHRp
b25zLCBjb25uZWN0aW9uID0gbWFrZVJlZihtX2Nvbm5lY3Rpb24tPmNvbm5lY3Rpb24oKSldKCkg
bXV0YWJsZSB7Ci0gICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxydGM6OkFzeW5jUGFja2V0U29ja2V0
PiBzb2NrZXQobV9wYWNrZXRTb2NrZXRGYWN0b3J5LT5DcmVhdGVTZXJ2ZXJUY3BTb2NrZXQoYWRk
cmVzcywgbWluUG9ydCwgbWF4UG9ydCwgb3B0aW9ucykpOwotICAgICAgICBjcmVhdGVTb2NrZXQo
aWRlbnRpZmllciwgV1RGTW92ZShzb2NrZXQpLCBTb2NrZXQ6OlR5cGU6OlNlcnZlclRDUCwgV1RG
TW92ZShjb25uZWN0aW9uKSk7CisgICAgICAgIGNhbGxPblJUQ05ldHdvcmtUaHJlYWQoW3RoaXMs
IGlkZW50aWZpZXIsIGFkZHJlc3MgPSBSVENOZXR3b3JrOjppc29sYXRlZENvcHkoYWRkcmVzcy52
YWx1ZSksIG1pblBvcnQsIG1heFBvcnQsIG9wdGlvbnMsIGNvbm5lY3Rpb24gPSBtYWtlUmVmKG1f
Y29ubmVjdGlvbi0+Y29ubmVjdGlvbigpKV0oKSBtdXRhYmxlIHsKKyAgICAgICAgICAgIHN0ZDo6
dW5pcXVlX3B0cjxydGM6OkFzeW5jUGFja2V0U29ja2V0PiBzb2NrZXQobV9wYWNrZXRTb2NrZXRG
YWN0b3J5LT5DcmVhdGVTZXJ2ZXJUY3BTb2NrZXQoYWRkcmVzcywgbWluUG9ydCwgbWF4UG9ydCwg
b3B0aW9ucykpOworICAgICAgICAgICAgY3JlYXRlU29ja2V0KGlkZW50aWZpZXIsIFdURk1vdmUo
c29ja2V0KSwgU29ja2V0OjpUeXBlOjpTZXJ2ZXJUQ1AsIG1faXBjQ29ubmVjdGlvbi5jb3B5UmVm
KCkpOworICAgICAgICB9KTsKICAgICB9KTsKIH0KIApAQCAtMTU0LDU0ICsxNjEsODMgQEAgcnRj
OjpQcm94eUluZm8gTmV0d29ya1JUQ1Byb3ZpZGVyOjpwcm94eUluZm9Gcm9tU2Vzc2lvbihjb25z
dCBSVENOZXR3b3JrOjpTb2NrZXQKIAogdm9pZCBOZXR3b3JrUlRDUHJvdmlkZXI6OmNyZWF0ZUNs
aWVudFRDUFNvY2tldChMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyIGlkZW50aWZpZXIsIGNvbnN0
IFJUQ05ldHdvcms6OlNvY2tldEFkZHJlc3MmIGxvY2FsQWRkcmVzcywgY29uc3QgUlRDTmV0d29y
azo6U29ja2V0QWRkcmVzcyYgcmVtb3RlQWRkcmVzcywgU3RyaW5nJiYgdXNlckFnZW50LCBpbnQg
b3B0aW9ucykKIHsKLSAgICBhdXRvKiBzZXNzaW9uID0gbV9jb25uZWN0aW9uLT5uZXR3b3JrU2Vz
c2lvbigpOwotICAgIGlmICghc2Vzc2lvbikgewotICAgICAgICBtX2Nvbm5lY3Rpb24tPmNvbm5l
Y3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpMaWJXZWJSVENOZXR3b3JrOjpTaWduYWxDbG9zZShpZGVu
dGlmaWVyLCAxKSwgMCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0gICAgY2FsbE9uUlRDTmV0
d29ya1RocmVhZChbdGhpcywgaWRlbnRpZmllciwgbG9jYWxBZGRyZXNzID0gUlRDTmV0d29yazo6
aXNvbGF0ZWRDb3B5KGxvY2FsQWRkcmVzcy52YWx1ZSksIHJlbW90ZUFkZHJlc3MgPSBSVENOZXR3
b3JrOjppc29sYXRlZENvcHkocmVtb3RlQWRkcmVzcy52YWx1ZSksIHByb3h5SW5mbyA9IHByb3h5
SW5mb0Zyb21TZXNzaW9uKHJlbW90ZUFkZHJlc3MsICpzZXNzaW9uKSwgdXNlckFnZW50ID0gV1RG
TW92ZSh1c2VyQWdlbnQpLmlzb2xhdGVkQ29weSgpLCBvcHRpb25zLCBjb25uZWN0aW9uID0gbWFr
ZVJlZihtX2Nvbm5lY3Rpb24tPmNvbm5lY3Rpb24oKSldKCkgbXV0YWJsZSB7Ci0gICAgICAgIHJ0
Yzo6UGFja2V0U29ja2V0VGNwT3B0aW9ucyB0Y3BPcHRpb25zOwotICAgICAgICB0Y3BPcHRpb25z
Lm9wdHMgPSBvcHRpb25zOwotICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8cnRjOjpBc3luY1BhY2tl
dFNvY2tldD4gc29ja2V0KG1fcGFja2V0U29ja2V0RmFjdG9yeS0+Q3JlYXRlQ2xpZW50VGNwU29j
a2V0KGxvY2FsQWRkcmVzcywgcmVtb3RlQWRkcmVzcywgcHJveHlJbmZvLCB1c2VyQWdlbnQudXRm
OCgpLmRhdGEoKSwgdGNwT3B0aW9ucykpOwotICAgICAgICBjcmVhdGVTb2NrZXQoaWRlbnRpZmll
ciwgV1RGTW92ZShzb2NrZXQpLCBTb2NrZXQ6OlR5cGU6OkNsaWVudFRDUCwgV1RGTW92ZShjb25u
ZWN0aW9uKSk7CisgICAgY2FsbE9uTWFpblRocmVhZChbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1h
a2VSZWYoKnRoaXMpLCBpZGVudGlmaWVyLCBsb2NhbEFkZHJlc3MsIHJlbW90ZUFkZHJlc3MsIHVz
ZXJBZ2VudCA9IFdURk1vdmUodXNlckFnZW50KS5pc29sYXRlZENvcHkoKSwgb3B0aW9uc10oKSBt
dXRhYmxlIHsKKyAgICAgICAgYXV0byogc2Vzc2lvbiA9IG1fY29ubmVjdGlvbi0+bmV0d29ya1Nl
c3Npb24oKTsKKyAgICAgICAgaWYgKCFzZXNzaW9uKSB7CisgICAgICAgICAgICBtX2Nvbm5lY3Rp
b24tPmNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpMaWJXZWJSVENOZXR3b3JrOjpTaWduYWxD
bG9zZShpZGVudGlmaWVyLCAxKSwgMCk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0K
KyAgICAgICAgY2FsbE9uUlRDTmV0d29ya1RocmVhZChbdGhpcywgaWRlbnRpZmllciwgbG9jYWxB
ZGRyZXNzID0gUlRDTmV0d29yazo6aXNvbGF0ZWRDb3B5KGxvY2FsQWRkcmVzcy52YWx1ZSksIHJl
bW90ZUFkZHJlc3MgPSBSVENOZXR3b3JrOjppc29sYXRlZENvcHkocmVtb3RlQWRkcmVzcy52YWx1
ZSksIHByb3h5SW5mbyA9IHByb3h5SW5mb0Zyb21TZXNzaW9uKHJlbW90ZUFkZHJlc3MsICpzZXNz
aW9uKSwgdXNlckFnZW50ID0gV1RGTW92ZSh1c2VyQWdlbnQpLmlzb2xhdGVkQ29weSgpLCBvcHRp
b25zLCBjb25uZWN0aW9uID0gbWFrZVJlZihtX2Nvbm5lY3Rpb24tPmNvbm5lY3Rpb24oKSldKCkg
bXV0YWJsZSB7CisgICAgICAgICAgICBydGM6OlBhY2tldFNvY2tldFRjcE9wdGlvbnMgdGNwT3B0
aW9uczsKKyAgICAgICAgICAgIHRjcE9wdGlvbnMub3B0cyA9IG9wdGlvbnM7CisgICAgICAgICAg
ICBzdGQ6OnVuaXF1ZV9wdHI8cnRjOjpBc3luY1BhY2tldFNvY2tldD4gc29ja2V0KG1fcGFja2V0
U29ja2V0RmFjdG9yeS0+Q3JlYXRlQ2xpZW50VGNwU29ja2V0KGxvY2FsQWRkcmVzcywgcmVtb3Rl
QWRkcmVzcywgcHJveHlJbmZvLCB1c2VyQWdlbnQudXRmOCgpLmRhdGEoKSwgdGNwT3B0aW9ucykp
OworICAgICAgICAgICAgY3JlYXRlU29ja2V0KGlkZW50aWZpZXIsIFdURk1vdmUoc29ja2V0KSwg
U29ja2V0OjpUeXBlOjpDbGllbnRUQ1AsIG1faXBjQ29ubmVjdGlvbi5jb3B5UmVmKCkpOworICAg
ICAgICB9KTsKICAgICB9KTsKIH0KIAogdm9pZCBOZXR3b3JrUlRDUHJvdmlkZXI6OndyYXBOZXdU
Q1BDb25uZWN0aW9uKExpYldlYlJUQ1NvY2tldElkZW50aWZpZXIgaWRlbnRpZmllciwgTGliV2Vi
UlRDU29ja2V0SWRlbnRpZmllciBuZXdDb25uZWN0aW9uU29ja2V0SWRlbnRpZmllcikKIHsKLSAg
ICBjYWxsT25SVENOZXR3b3JrVGhyZWFkKFt0aGlzLCBpZGVudGlmaWVyLCBuZXdDb25uZWN0aW9u
U29ja2V0SWRlbnRpZmllciwgY29ubmVjdGlvbiA9IG1ha2VSZWYobV9jb25uZWN0aW9uLT5jb25u
ZWN0aW9uKCkpXSgpIG11dGFibGUgewotICAgICAgICBhdXRvIHNvY2tldCA9IG1fcGVuZGluZ0lu
Y29taW5nU29ja2V0cy50YWtlKG5ld0Nvbm5lY3Rpb25Tb2NrZXRJZGVudGlmaWVyKTsKLSAgICAg
ICAgUkVMRUFTRV9MT0dfSUYoIXNvY2tldCwgV2ViUlRDLCAiTmV0d29ya1JUQ1Byb3ZpZGVyOjp3
cmFwTmV3VENQQ29ubmVjdGlvbiByZWNlaXZlZCBhbiBpbnZhbGlkIHNvY2tldCBpZGVudGlmaWVy
Iik7Ci0gICAgICAgIGlmIChzb2NrZXQpCi0gICAgICAgICAgICBhZGRTb2NrZXQoaWRlbnRpZmll
ciwgbWFrZVVuaXF1ZTxMaWJXZWJSVENTb2NrZXRDbGllbnQ+KGlkZW50aWZpZXIsICp0aGlzLCBX
VEZNb3ZlKHNvY2tldCksIFNvY2tldDo6VHlwZTo6U2VydmVyQ29ubmVjdGlvblRDUCwgV1RGTW92
ZShjb25uZWN0aW9uKSkpOwotICAgIH0pOworICAgIEFTU0VSVChtX3J0Y05ldHdvcmtUaHJlYWQt
PklzQ3VycmVudCgpKTsKKyAgICBhdXRvIHNvY2tldCA9IG1fcGVuZGluZ0luY29taW5nU29ja2V0
cy50YWtlKG5ld0Nvbm5lY3Rpb25Tb2NrZXRJZGVudGlmaWVyKTsKKyAgICBSRUxFQVNFX0xPR19J
Righc29ja2V0LCBXZWJSVEMsICJOZXR3b3JrUlRDUHJvdmlkZXI6OndyYXBOZXdUQ1BDb25uZWN0
aW9uIHJlY2VpdmVkIGFuIGludmFsaWQgc29ja2V0IGlkZW50aWZpZXIiKTsKKyAgICBpZiAoc29j
a2V0KQorICAgICAgICBhZGRTb2NrZXQoaWRlbnRpZmllciwgbWFrZVVuaXF1ZTxMaWJXZWJSVENT
b2NrZXRDbGllbnQ+KGlkZW50aWZpZXIsICp0aGlzLCBXVEZNb3ZlKHNvY2tldCksIFNvY2tldDo6
VHlwZTo6U2VydmVyQ29ubmVjdGlvblRDUCwgbV9pcGNDb25uZWN0aW9uLmNvcHlSZWYoKSkpOwor
fQorCit2b2lkIE5ldHdvcmtSVENQcm92aWRlcjo6c2VuZFRvU29ja2V0KExpYldlYlJUQ1NvY2tl
dElkZW50aWZpZXIgaWRlbnRpZmllciwgY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJiBkYXRhLCBS
VENOZXR3b3JrOjpTb2NrZXRBZGRyZXNzJiYgYWRkcmVzcywgUlRDUGFja2V0T3B0aW9ucyYmIG9w
dGlvbnMpCit7CisgICAgQVNTRVJUKG1fcnRjTmV0d29ya1RocmVhZC0+SXNDdXJyZW50KCkpOwor
ICAgIGF1dG8qIHNvY2tldCA9IG1fc29ja2V0cy5nZXQoaWRlbnRpZmllcik7CisgICAgaWYgKCFz
b2NrZXQpCisgICAgICAgIHJldHVybjsKKyAgICAKKyAgICBzb2NrZXQtPnNlbmRUbyhkYXRhLmRh
dGEoKSwgZGF0YS5zaXplKCksIGFkZHJlc3MudmFsdWUsIG9wdGlvbnMub3B0aW9ucyk7Cit9CisK
K3ZvaWQgTmV0d29ya1JUQ1Byb3ZpZGVyOjpjbG9zZVNvY2tldChMaWJXZWJSVENTb2NrZXRJZGVu
dGlmaWVyIGlkZW50aWZpZXIpCit7CisgICAgQVNTRVJUKG1fcnRjTmV0d29ya1RocmVhZC0+SXND
dXJyZW50KCkpOworICAgIGF1dG8qIHNvY2tldCA9IG1fc29ja2V0cy5nZXQoaWRlbnRpZmllcik7
CisgICAgaWYgKCFzb2NrZXQpCisgICAgICAgIHJldHVybjsKKyAgICBzb2NrZXQtPmNsb3NlKCk7
Cit9CisKK3ZvaWQgTmV0d29ya1JUQ1Byb3ZpZGVyOjpzZXRTb2NrZXRPcHRpb24oTGliV2ViUlRD
U29ja2V0SWRlbnRpZmllciBpZGVudGlmaWVyLCBpbnQgb3B0aW9uLCBpbnQgdmFsdWUpCit7Cisg
ICAgQVNTRVJUKG1fcnRjTmV0d29ya1RocmVhZC0+SXNDdXJyZW50KCkpOworICAgIGF1dG8qIHNv
Y2tldCA9IG1fc29ja2V0cy5nZXQoaWRlbnRpZmllcik7CisgICAgaWYgKCFzb2NrZXQpCisgICAg
ICAgIHJldHVybjsKKyAgICBzb2NrZXQtPnNldE9wdGlvbihvcHRpb24sIHZhbHVlKTsKIH0KIAog
dm9pZCBOZXR3b3JrUlRDUHJvdmlkZXI6OmFkZFNvY2tldChMaWJXZWJSVENTb2NrZXRJZGVudGlm
aWVyIGlkZW50aWZpZXIsIHN0ZDo6dW5pcXVlX3B0cjxTb2NrZXQ+JiYgc29ja2V0KQogeworICAg
IEFTU0VSVChtX3J0Y05ldHdvcmtUaHJlYWQtPklzQ3VycmVudCgpKTsKICAgICBtX3NvY2tldHMu
YWRkKGlkZW50aWZpZXIsIFdURk1vdmUoc29ja2V0KSk7CiB9CiAKIHN0ZDo6dW5pcXVlX3B0cjxO
ZXR3b3JrUlRDUHJvdmlkZXI6OlNvY2tldD4gTmV0d29ya1JUQ1Byb3ZpZGVyOjp0YWtlU29ja2V0
KExpYldlYlJUQ1NvY2tldElkZW50aWZpZXIgaWRlbnRpZmllcikKIHsKKyAgICBBU1NFUlQobV9y
dGNOZXR3b3JrVGhyZWFkLT5Jc0N1cnJlbnQoKSk7CiAgICAgcmV0dXJuIG1fc29ja2V0cy50YWtl
KGlkZW50aWZpZXIpOwogfQogCiB2b2lkIE5ldHdvcmtSVENQcm92aWRlcjo6bmV3Q29ubmVjdGlv
bihTb2NrZXQmIHNlcnZlclNvY2tldCwgc3RkOjp1bmlxdWVfcHRyPHJ0Yzo6QXN5bmNQYWNrZXRT
b2NrZXQ+JiYgbmV3U29ja2V0KQogeworICAgIEFTU0VSVChtX3J0Y05ldHdvcmtUaHJlYWQtPklz
Q3VycmVudCgpKTsKICAgICBhdXRvIGluY29taW5nU29ja2V0SWRlbnRpZmllciA9IExpYldlYlJU
Q1NvY2tldElkZW50aWZpZXI6OmdlbmVyYXRlKCk7Ci0gICAgc2VuZEZyb21NYWluVGhyZWFkKFtp
ZGVudGlmaWVyID0gc2VydmVyU29ja2V0LmlkZW50aWZpZXIoKSwgaW5jb21pbmdTb2NrZXRJZGVu
dGlmaWVyLCByZW1vdGVBZGRyZXNzID0gUlRDTmV0d29yazo6aXNvbGF0ZWRDb3B5KG5ld1NvY2tl
dC0+R2V0UmVtb3RlQWRkcmVzcygpKV0oSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uKSB7Ci0g
ICAgICAgIGNvbm5lY3Rpb24uc2VuZChNZXNzYWdlczo6TGliV2ViUlRDTmV0d29yazo6U2lnbmFs
TmV3Q29ubmVjdGlvbihpZGVudGlmaWVyLCBpbmNvbWluZ1NvY2tldElkZW50aWZpZXIsIFJUQ05l
dHdvcms6OlNvY2tldEFkZHJlc3MocmVtb3RlQWRkcmVzcykpLCAwKTsKLSAgICB9KTsKKyAgICBt
X2lwY0Nvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6OkxpYldlYlJUQ05ldHdvcms6OlNpZ25hbE5l
d0Nvbm5lY3Rpb24oc2VydmVyU29ja2V0LmlkZW50aWZpZXIoKSwgaW5jb21pbmdTb2NrZXRJZGVu
dGlmaWVyLCBSVENOZXR3b3JrOjpTb2NrZXRBZGRyZXNzKG5ld1NvY2tldC0+R2V0UmVtb3RlQWRk
cmVzcygpKSksIDApOwogICAgIG1fcGVuZGluZ0luY29taW5nU29ja2V0cy5hZGQoaW5jb21pbmdT
b2NrZXRJZGVudGlmaWVyLCBXVEZNb3ZlKG5ld1NvY2tldCkpOwogfQogCi12b2lkIE5ldHdvcmtS
VENQcm92aWRlcjo6ZGlkUmVjZWl2ZU5ldHdvcmtSVENTb2NrZXRNZXNzYWdlKElQQzo6Q29ubmVj
dGlvbiYgY29ubmVjdGlvbiwgSVBDOjpEZWNvZGVyJiBkZWNvZGVyKQordm9pZCBOZXR3b3JrUlRD
UHJvdmlkZXI6OmRpc3BhdGNoVG9UaHJlYWQoRnVuY3Rpb248dm9pZCgpPiYmIGNhbGxiYWNrKQog
ewotICAgIE5ldHdvcmtSVENTb2NrZXQobWFrZU9iamVjdElkZW50aWZpZXI8TGliV2ViUlRDU29j
a2V0SWRlbnRpZmllclR5cGU+KGRlY29kZXIuZGVzdGluYXRpb25JRCgpKSwgKnRoaXMpLmRpZFJl
Y2VpdmVNZXNzYWdlKGNvbm5lY3Rpb24sIGRlY29kZXIpOworICAgIGNhbGxPblJUQ05ldHdvcmtU
aHJlYWQoKFdURk1vdmUoY2FsbGJhY2spKSk7CiB9CiAKLQogdm9pZCBOZXR3b3JrUlRDUHJvdmlk
ZXI6OmNyZWF0ZVJlc29sdmVyKExpYldlYlJUQ1Jlc29sdmVySWRlbnRpZmllciBpZGVudGlmaWVy
LCBjb25zdCBTdHJpbmcmIGFkZHJlc3MpCiB7CiAgICAgV2ViQ29yZTo6RE5TQ29tcGxldGlvbkhh
bmRsZXIgY29tcGxldGlvbkhhbmRsZXIgPSBbdGhpcywgaWRlbnRpZmllcl0oYXV0byYmIHJlc3Vs
dCkgewpAQCAtMjkxLDE0ICszMjcsNiBAQCB2b2lkIE5ldHdvcmtSVENQcm92aWRlcjo6Y2FsbE9u
UlRDTmV0d29ya1RocmVhZChGdW5jdGlvbjx2b2lkKCk+JiYgY2FsbGJhY2spCiAgICAgbV9ydGNO
ZXR3b3JrVGhyZWFkLT5Qb3N0KFJUQ19GUk9NX0hFUkUsIHRoaXMsIDEsIG5ldyBOZXR3b3JrTWVz
c2FnZURhdGEoKnRoaXMsIFdURk1vdmUoY2FsbGJhY2spKSk7CiB9CiAKLXZvaWQgTmV0d29ya1JU
Q1Byb3ZpZGVyOjpjYWxsU29ja2V0KExpYldlYlJUQ1NvY2tldElkZW50aWZpZXIgaWRlbnRpZmll
ciwgRnVuY3Rpb248dm9pZChTb2NrZXQmKT4mJiBjYWxsYmFjaykKLXsKLSAgICBjYWxsT25SVENO
ZXR3b3JrVGhyZWFkKFt0aGlzLCBpZGVudGlmaWVyLCBjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJh
Y2spXSgpIHsKLSAgICAgICAgaWYgKGF1dG8qIHNvY2tldCA9IG1fc29ja2V0cy5nZXQoaWRlbnRp
ZmllcikpCi0gICAgICAgICAgICBjYWxsYmFjaygqc29ja2V0KTsKLSAgICB9KTsKLX0KLQogdm9p
ZCBOZXR3b3JrUlRDUHJvdmlkZXI6OnNlbmRGcm9tTWFpblRocmVhZChGdW5jdGlvbjx2b2lkKElQ
Qzo6Q29ubmVjdGlvbiYpPiYmIGNhbGxiYWNrKQogewogICAgIGNhbGxPbk1haW5UaHJlYWQoW3By
b3ZpZGVyID0gbWFrZVJlZigqdGhpcyksIGNhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayldKCkg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29y
a1JUQ1Byb3ZpZGVyLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3
b3JrUlRDUHJvdmlkZXIuaAppbmRleCAyZWMyMGQxMzBkYmE4NWI1YzMzMzFkNzJkZTY4YWFhZjZk
ZDljMTk0Li44NjYwZGU3OTQzNzg0ZWI0Zjc4YzAwOTkzN2NjZDVhMTQ1NTdjMmJkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDUHJvdmlk
ZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRD
UHJvdmlkZXIuaApAQCAtMjcsNiArMjcsNyBAQAogCiAjaWYgVVNFKExJQldFQlJUQykKIAorI2lu
Y2x1ZGUgIkNvbm5lY3Rpb24uaCIKICNpbmNsdWRlICJMaWJXZWJSVENSZXNvbHZlcklkZW50aWZp
ZXIuaCIKICNpbmNsdWRlICJOZXR3b3JrUlRDTW9uaXRvci5oIgogI2luY2x1ZGUgIlJUQ05ldHdv
cmsuaCIKQEAgLTU2LDE3ICs1NywxNiBAQCBjbGFzcyBTaGFyZWRCdWZmZXI7CiBuYW1lc3BhY2Ug
V2ViS2l0IHsKIGNsYXNzIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOwogY2xhc3MgTmV0
d29ya1JUQ1Jlc29sdmVyOwotY2xhc3MgTmV0d29ya1JUQ1NvY2tldDsKIGNsYXNzIE5ldHdvcmtT
ZXNzaW9uOworc3RydWN0IFJUQ1BhY2tldE9wdGlvbnM7CiAKLWNsYXNzIE5ldHdvcmtSVENQcm92
aWRlciA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxOZXR3b3JrUlRDUHJvdmlkZXI+LCBw
dWJsaWMgcnRjOjpNZXNzYWdlSGFuZGxlciB7CitjbGFzcyBOZXR3b3JrUlRDUHJvdmlkZXIgOiBw
dWJsaWMgcnRjOjpNZXNzYWdlSGFuZGxlciwgcHVibGljIElQQzo6Q29ubmVjdGlvbjo6VGhyZWFk
TWVzc2FnZVJlY2VpdmVyIHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPE5ldHdvcmtSVENQcm92
aWRlcj4gY3JlYXRlKE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzJiBjb25uZWN0aW9uKSB7
IHJldHVybiBhZG9wdFJlZigqbmV3IE5ldHdvcmtSVENQcm92aWRlcihjb25uZWN0aW9uKSk7IH0K
ICAgICB+TmV0d29ya1JUQ1Byb3ZpZGVyKCk7CiAKICAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdl
KElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYpOwogICAgIHZvaWQgZGlkUmVjZWl2ZU5l
dHdvcmtSVENNb25pdG9yTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIElQQzo6
RGVjb2RlciYgZGVjb2RlcikgeyBtX3J0Y01vbml0b3IuZGlkUmVjZWl2ZU1lc3NhZ2UoY29ubmVj
dGlvbiwgZGVjb2Rlcik7IH0KLSAgICB2b2lkIGRpZFJlY2VpdmVOZXR3b3JrUlRDU29ja2V0TWVz
c2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXImKTsKIAogICAgIGNsYXNzIFNvY2tl
dCB7CiAgICAgcHVibGljOgpAQCAtNzgsNyArNzgsNyBAQCBwdWJsaWM6CiAKICAgICAgICAgdmly
dHVhbCB2b2lkIGNsb3NlKCkgPSAwOwogICAgICAgICB2aXJ0dWFsIHZvaWQgc2V0T3B0aW9uKGlu
dCBvcHRpb24sIGludCB2YWx1ZSkgPSAwOwotICAgICAgICB2aXJ0dWFsIHZvaWQgc2VuZFRvKGNv
bnN0IFdlYkNvcmU6OlNoYXJlZEJ1ZmZlciYsIGNvbnN0IHJ0Yzo6U29ja2V0QWRkcmVzcyYsIGNv
bnN0IHJ0Yzo6UGFja2V0T3B0aW9ucyYpID0gMDsKKyAgICAgICAgdmlydHVhbCB2b2lkIHNlbmRU
byhjb25zdCB1aW50OF90Kiwgc2l6ZV90LCBjb25zdCBydGM6OlNvY2tldEFkZHJlc3MmLCBjb25z
dCBydGM6OlBhY2tldE9wdGlvbnMmKSA9IDA7CiAgICAgfTsKIAogICAgIHN0ZDo6dW5pcXVlX3B0
cjxTb2NrZXQ+IHRha2VTb2NrZXQoV2ViQ29yZTo6TGliV2ViUlRDU29ja2V0SWRlbnRpZmllcik7
CkBAIC04Niw3ICs4Niw2IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgY2xvc2UoKTsKIAotICAgIHZv
aWQgY2FsbFNvY2tldChXZWJDb3JlOjpMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyLCBGdW5jdGlv
bjx2b2lkKFNvY2tldCYpPiYmKTsKICAgICB2b2lkIGNhbGxPblJUQ05ldHdvcmtUaHJlYWQoRnVu
Y3Rpb248dm9pZCgpPiYmKTsKICAgICB2b2lkIHNlbmRGcm9tTWFpblRocmVhZChGdW5jdGlvbjx2
b2lkKElQQzo6Q29ubmVjdGlvbiYpPiYmKTsKIApAQCAtMTA0LDYgKzEwMyw5IEBAIHByaXZhdGU6
CiAgICAgdm9pZCBjcmVhdGVDbGllbnRUQ1BTb2NrZXQoV2ViQ29yZTo6TGliV2ViUlRDU29ja2V0
SWRlbnRpZmllciwgY29uc3QgUlRDTmV0d29yazo6U29ja2V0QWRkcmVzcyYsIGNvbnN0IFJUQ05l
dHdvcms6OlNvY2tldEFkZHJlc3MmLCBTdHJpbmcmJiB1c2VyQWdlbnQsIGludCk7CiAgICAgdm9p
ZCBjcmVhdGVTZXJ2ZXJUQ1BTb2NrZXQoV2ViQ29yZTo6TGliV2ViUlRDU29ja2V0SWRlbnRpZmll
ciwgY29uc3QgUlRDTmV0d29yazo6U29ja2V0QWRkcmVzcyYsIHVpbnQxNl90IG1pblBvcnQsIHVp
bnQxNl90IG1heFBvcnQsIGludCk7CiAgICAgdm9pZCB3cmFwTmV3VENQQ29ubmVjdGlvbihXZWJD
b3JlOjpMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyIGlkZW50aWZpZXIsIFdlYkNvcmU6OkxpYldl
YlJUQ1NvY2tldElkZW50aWZpZXIgbmV3Q29ubmVjdGlvblNvY2tldElkZW50aWZpZXIpOworICAg
IHZvaWQgc2VuZFRvU29ja2V0KFdlYkNvcmU6OkxpYldlYlJUQ1NvY2tldElkZW50aWZpZXIsIGNv
bnN0IElQQzo6RGF0YVJlZmVyZW5jZSYsIFJUQ05ldHdvcms6OlNvY2tldEFkZHJlc3MmJiwgUlRD
UGFja2V0T3B0aW9ucyYmKTsKKyAgICB2b2lkIGNsb3NlU29ja2V0KFdlYkNvcmU6OkxpYldlYlJU
Q1NvY2tldElkZW50aWZpZXIpOworICAgIHZvaWQgc2V0U29ja2V0T3B0aW9uKFdlYkNvcmU6Okxp
YldlYlJUQ1NvY2tldElkZW50aWZpZXIsIGludCBvcHRpb24sIGludCB2YWx1ZSk7CiAKICAgICB2
b2lkIGNyZWF0ZVJlc29sdmVyKExpYldlYlJUQ1Jlc29sdmVySWRlbnRpZmllciwgY29uc3QgU3Ry
aW5nJik7CiAgICAgdm9pZCBzdG9wUmVzb2x2ZXIoTGliV2ViUlRDUmVzb2x2ZXJJZGVudGlmaWVy
KTsKQEAgLTExNCwxMSArMTE2LDE1IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIE9uTWVzc2FnZShy
dGM6Ok1lc3NhZ2UqKTsKIAorICAgIC8vIElQQzo6Q29ubmVjdGlvbjo6VGhyZWFkTWVzc2FnZVJl
Y2VpdmVyCisgICAgdm9pZCBkaXNwYXRjaFRvVGhyZWFkKEZ1bmN0aW9uPHZvaWQoKT4mJikgZmlu
YWw7CisKICAgICBzdGF0aWMgcnRjOjpQcm94eUluZm8gcHJveHlJbmZvRnJvbVNlc3Npb24oY29u
c3QgUlRDTmV0d29yazo6U29ja2V0QWRkcmVzcyYsIE5ldHdvcmtTZXNzaW9uJik7CiAKICAgICBI
YXNoTWFwPExpYldlYlJUQ1Jlc29sdmVySWRlbnRpZmllciwgc3RkOjp1bmlxdWVfcHRyPE5ldHdv
cmtSVENSZXNvbHZlcj4+IG1fcmVzb2x2ZXJzOwogICAgIEhhc2hNYXA8V2ViQ29yZTo6TGliV2Vi
UlRDU29ja2V0SWRlbnRpZmllciwgc3RkOjp1bmlxdWVfcHRyPFNvY2tldD4+IG1fc29ja2V0czsK
ICAgICBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2VzcyogbV9jb25uZWN0aW9uOworICAgIFJl
ZjxJUEM6OkNvbm5lY3Rpb24+IG1faXBjQ29ubmVjdGlvbjsKICAgICBib29sIG1faXNTdGFydGVk
IHsgdHJ1ZSB9OwogCiAgICAgTmV0d29ya1JUQ01vbml0b3IgbV9ydGNNb25pdG9yOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1Byb3Zp
ZGVyLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0
d29ya1JUQ1Byb3ZpZGVyLm1lc3NhZ2VzLmluCmluZGV4IDAxOGQ4YjJiOGExYWJhNzdjNzY2Y2Zh
ZDVmMGJhYTZlZTllMDlhNTcuLjhhMzYwYWY1Y2JmYmI2Yzk1OWQ3ZGQ3NWM2NDQzMzA5NmY5MmM2
MjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdv
cmtSVENQcm92aWRlci5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDUHJvdmlkZXIubWVzc2FnZXMuaW4KQEAgLTMwLDYgKzMwLDEw
IEBAIG1lc3NhZ2VzIC0+IE5ldHdvcmtSVENQcm92aWRlciB7CiAKICAgICBDcmVhdGVSZXNvbHZl
cihXZWJLaXQ6OkxpYldlYlJUQ1Jlc29sdmVySWRlbnRpZmllciBpZGVudGlmaWVyLCBTdHJpbmcg
YWRkcmVzcykKICAgICBTdG9wUmVzb2x2ZXIoV2ViS2l0OjpMaWJXZWJSVENSZXNvbHZlcklkZW50
aWZpZXIgaWRlbnRpZmllcikKKworICAgIHZvaWQgU2VuZFRvU29ja2V0KFdlYkNvcmU6OkxpYldl
YlJUQ1NvY2tldElkZW50aWZpZXIgaWRlbnRpZmllciwgSVBDOjpEYXRhUmVmZXJlbmNlIGRhdGEs
IFdlYktpdDo6UlRDTmV0d29yazo6U29ja2V0QWRkcmVzcyBhZGRyZXNzLCBzdHJ1Y3QgV2ViS2l0
OjpSVENQYWNrZXRPcHRpb25zIG9wdGlvbnMpCisgICAgdm9pZCBDbG9zZVNvY2tldChXZWJDb3Jl
OjpMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyIGlkZW50aWZpZXIpCisgICAgdm9pZCBTZXRTb2Nr
ZXRPcHRpb24oV2ViQ29yZTo6TGliV2ViUlRDU29ja2V0SWRlbnRpZmllciBpZGVudGlmaWVyLCBp
bnQgb3B0aW9uLCBpbnQgdmFsdWUpCiB9CiAKICNlbmRpZiAvLyBVU0UoTElCV0VCUlRDKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1Nv
Y2tldC5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRD
U29ja2V0LmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODIwZDA3YmMwZTcyNzRi
NDc4YjRlMmE4NmZhYTk3MjdkZDJkZmM0ZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3
b3JrUlRDU29ja2V0LmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDY5ICswLDAgQEAKLS8qCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgot
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
LSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAq
LwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiTmV0d29ya1JUQ1NvY2tldC5oIgot
Ci0jaWYgVVNFKExJQldFQlJUQykKLQotI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKLSNpbmNs
dWRlICJOZXR3b3JrUlRDUHJvdmlkZXIuaCIKLSNpbmNsdWRlICJSVENQYWNrZXRPcHRpb25zLmgi
Ci0jaW5jbHVkZSA8V2ViQ29yZS9TaGFyZWRCdWZmZXIuaD4KLSNpbmNsdWRlIDx3dGYvRnVuY3Rp
b24uaD4KLQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLU5ldHdvcmtSVENTb2NrZXQ6Ok5ldHdvcmtS
VENTb2NrZXQoV2ViQ29yZTo6TGliV2ViUlRDU29ja2V0SWRlbnRpZmllciBpZGVudGlmaWVyLCBO
ZXR3b3JrUlRDUHJvdmlkZXImIHJ0Y1Byb3ZpZGVyKQotICAgIDogbV9pZGVudGlmaWVyKGlkZW50
aWZpZXIpCi0gICAgLCBtX3J0Y1Byb3ZpZGVyKHJ0Y1Byb3ZpZGVyKQotewotfQotCi12b2lkIE5l
dHdvcmtSVENTb2NrZXQ6OnNlbmRUbyhjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmIGRhdGEsIFJU
Q05ldHdvcms6OlNvY2tldEFkZHJlc3MmJiBzb2NrZXRBZGRyZXNzLCBSVENQYWNrZXRPcHRpb25z
JiYgb3B0aW9ucykKLXsKLSAgICBhdXRvIGJ1ZmZlciA9IFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcjo6
Y3JlYXRlKGRhdGEuZGF0YSgpLCBkYXRhLnNpemUoKSk7Ci0gICAgbV9ydGNQcm92aWRlci5jYWxs
U29ja2V0KG1faWRlbnRpZmllciwgW2J1ZmZlciA9IFdURk1vdmUoYnVmZmVyKSwgc29ja2V0QWRk
cmVzcyA9IFdURk1vdmUoc29ja2V0QWRkcmVzcyksIG9wdGlvbnMgPSBXVEZNb3ZlKG9wdGlvbnMu
b3B0aW9ucyldKGF1dG8mIHNvY2tldCkgewotICAgICAgICBzb2NrZXQuc2VuZFRvKGJ1ZmZlci5n
ZXQoKSwgc29ja2V0QWRkcmVzcy52YWx1ZSwgb3B0aW9ucyk7Ci0gICAgfSk7Ci19Ci0KLXZvaWQg
TmV0d29ya1JUQ1NvY2tldDo6Y2xvc2UoKQotewotICAgIG1fcnRjUHJvdmlkZXIuY2FsbFNvY2tl
dChtX2lkZW50aWZpZXIsIFtdKGF1dG8mIHNvY2tldCkgewotICAgICAgICBzb2NrZXQuY2xvc2Uo
KTsKLSAgICB9KTsKLX0KLSAgICAKLXZvaWQgTmV0d29ya1JUQ1NvY2tldDo6c2V0T3B0aW9uKGlu
dCBvcHRpb24sIGludCB2YWx1ZSkKLXsKLSAgICBtX3J0Y1Byb3ZpZGVyLmNhbGxTb2NrZXQobV9p
ZGVudGlmaWVyLCBbb3B0aW9uLCB2YWx1ZV0oYXV0byYgc29ja2V0KSB7Ci0gICAgICAgIHNvY2tl
dC5zZXRPcHRpb24ob3B0aW9uLCB2YWx1ZSk7Ci0gICAgfSk7Ci19Ci0KLX0gLy8gbmFtZXNwYWNl
IFdlYktpdAotCi0jZW5kaWYgLy8gVVNFKExJQldFQlJUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENTb2NrZXQuaCBiL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENTb2NrZXQuaApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggM2YxYzYxZTlmZmU1M2FkODNkNmY2OTY0ZDA0YzM2ODdmNjRi
OGY3MC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDU29ja2V0LmgKKysrIC9k
ZXYvbnVsbApAQCAtMSw3NSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
Ci0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwot
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI3ByYWdtYSBvbmNlCi0KLSNp
ZiBVU0UoTElCV0VCUlRDKQotCi0jaW5jbHVkZSAiUlRDTmV0d29yay5oIgotCi0jaW5jbHVkZSA8
V2ViQ29yZS9MaWJXZWJSVENNYWNyb3MuaD4KLSNpbmNsdWRlIDxXZWJDb3JlL0xpYldlYlJUQ1Nv
Y2tldElkZW50aWZpZXIuaD4KLSNpbmNsdWRlIDx3ZWJydGMvcnRjX2Jhc2UvYXN5bmNfcGFja2V0
X3NvY2tldC5oPgotI2luY2x1ZGUgPHdlYnJ0Yy9ydGNfYmFzZS90aGlyZF9wYXJ0eS9zaWdzbG90
L3NpZ3Nsb3QuaD4KLQotbmFtZXNwYWNlIElQQyB7Ci1jbGFzcyBDb25uZWN0aW9uOwotY2xhc3Mg
RGF0YVJlZmVyZW5jZTsKLX0KLQotbmFtZXNwYWNlIHJ0YyB7Ci1jbGFzcyBBc3luY1BhY2tldFNv
Y2tldDsKLWNsYXNzIFNvY2tldEFkZHJlc3M7Ci1zdHJ1Y3QgUGFja2V0T3B0aW9uczsKLXN0cnVj
dCBTZW50UGFja2V0OwotdHlwZWRlZiBpbnQ2NF90IFBhY2tldFRpbWU7Ci19Ci0KLW5hbWVzcGFj
ZSBXZWJDb3JlIHsKLWNsYXNzIFNoYXJlZEJ1ZmZlcjsKLX0KLQotbmFtZXNwYWNlIFdlYktpdCB7
Ci0KLWNsYXNzIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOwotY2xhc3MgTmV0d29ya1JU
Q1Byb3ZpZGVyOwotc3RydWN0IFJUQ1BhY2tldE9wdGlvbnM7Ci0KLWNsYXNzIE5ldHdvcmtSVENT
b2NrZXQgewotcHVibGljOgotICAgIE5ldHdvcmtSVENTb2NrZXQoV2ViQ29yZTo6TGliV2ViUlRD
U29ja2V0SWRlbnRpZmllciwgTmV0d29ya1JUQ1Byb3ZpZGVyJik7Ci0gICAgdm9pZCBkaWRSZWNl
aXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXImKTsKLXByaXZhdGU6Ci0g
ICAgdm9pZCBzZW5kVG8oY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJiwgUlRDTmV0d29yazo6U29j
a2V0QWRkcmVzcyYmLCBSVENQYWNrZXRPcHRpb25zJiYpOwotICAgIHZvaWQgY2xvc2UoKTsKLSAg
ICB2b2lkIHNldE9wdGlvbihpbnQgb3B0aW9uLCBpbnQgdmFsdWUpOwotCi0gICAgV2ViQ29yZTo6
TGliV2ViUlRDU29ja2V0SWRlbnRpZmllciBtX2lkZW50aWZpZXI7Ci0gICAgTmV0d29ya1JUQ1By
b3ZpZGVyJiBtX3J0Y1Byb3ZpZGVyOwotfTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViS2l0Ci0KLSNl
bmRpZiAvLyBVU0UoTElCV0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1NvY2tldC5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENTb2NrZXQubWVzc2FnZXMuaW4KZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ3YTU3OTE0ODExMjJlNTU4MWNiMjZiMjdmOGQ4
ZWQ2MTQ3M2VkYzAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1NvY2tldC5t
ZXNzYWdlcy5pbgorKysgL2Rldi9udWxsCkBAIC0xLDMxICswLDAgQEAKLSMgQ29weXJpZ2h0IChD
KSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSMKLSMgUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0j
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucwotIyBhcmUgbWV0OgotIyAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSMgICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSMgMi4gIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0jICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0jICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotIwotIyBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnIEFORAotIyBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAotIyBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0jIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SCi0jIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKLSMgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IKLSMg
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIKLSMgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKLSMgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKLSMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLQotI2lmIFVTRShMSUJXRUJSVEMpCi0KLW1lc3NhZ2Vz
IC0+IE5ldHdvcmtSVENTb2NrZXQgTm90UmVmQ291bnRlZCB7Ci0gICAgdm9pZCBTZW5kVG8oSVBD
OjpEYXRhUmVmZXJlbmNlIGRhdGEsIFdlYktpdDo6UlRDTmV0d29yazo6U29ja2V0QWRkcmVzcyBh
ZGRyZXNzLCBzdHJ1Y3QgV2ViS2l0OjpSVENQYWNrZXRPcHRpb25zIG9wdGlvbnMpCi0gICAgdm9p
ZCBDbG9zZSgpCi0gICAgdm9pZCBTZXRPcHRpb24oaW50IG9wdGlvbiwgaW50IHZhbHVlKQotfQot
Ci0jZW5kaWYgLy8gVVNFKExJQldFQlJUQylzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1Nv
dXJjZXNDb2NvYS50eHQgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQKaW5kZXggMjUx
OWI3ZWUyODNhNDAxNWFjYzJhNDM0MDExZDg1OWM0YTJjNjg3ZS4uYWI2MmE5NDA0OTIxODdkZjU4
ZmI2MTUyMzNlMjIwNGMwNTQ3MGRlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9Tb3VyY2Vz
Q29jb2EudHh0CisrKyBiL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dApAQCAtNTUsNyAr
NTUsNiBAQCBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ01vbml0b3IuY3BwCiBOZXR3
b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1Byb3ZpZGVyLmNwcAogTmV0d29ya1Byb2Nlc3Mv
d2VicnRjL05ldHdvcmtSVENSZXNvbHZlci5jcHAKIE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3
b3JrUlRDUmVzb2x2ZXJDb2NvYS5jcHAKLU5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRD
U29ja2V0LmNwcAogCiBHUFVQcm9jZXNzL0VudHJ5UG9pbnQvQ29jb2EvWFBDU2VydmljZS9HUFVT
ZXJ2aWNlRW50cnlQb2ludC5tbQogR1BVUHJvY2Vzcy9pb3MvR1BVUHJvY2Vzc0lPUy5tbQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9Tb3VyY2VzR1RLLnR4dCBiL1NvdXJjZS9XZWJLaXQvU291
cmNlc0dUSy50eHQKaW5kZXggNTE2N2FlOWRkY2JlZDZjMDJjMTA0MTVhMGY5OThmYTIwYTM3MWU3
Ny4uYjIwNzk1YWYyMDhiNmQ1MmYxODAzZmQ4YWQzYzc0OTBkMWNkNWIzNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9Tb3VyY2VzR1RLLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNH
VEsudHh0CkBAIC00OSw3ICs0OSw2IEBAIE5ldHdvcmtQcm9jZXNzL3NvdXAvV2ViU29ja2V0VGFz
a1NvdXAuY3BwCiBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDU29ja2V0Q2xpZW50LmNw
cAogTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENNb25pdG9yLmNwcAogTmV0d29ya1By
b2Nlc3Mvd2VicnRjL05ldHdvcmtSVENQcm92aWRlci5jcHAKLU5ldHdvcmtQcm9jZXNzL3dlYnJ0
Yy9OZXR3b3JrUlRDU29ja2V0LmNwcAogCiBQbGF0Zm9ybS9JUEMvdW5peC9BdHRhY2htZW50VW5p
eC5jcHAKIFBsYXRmb3JtL0lQQy91bml4L0Nvbm5lY3Rpb25Vbml4LmNwcApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9Tb3VyY2VzV1BFLnR4dCBiL1NvdXJjZS9XZWJLaXQvU291cmNlc1dQRS50
eHQKaW5kZXggZTNmOGY0N2Y5M2RkOTI5ZGE1OWIzNTY0NzJjMjBhZDlhMGM4ZmI0Zi4uYTk0MGIz
ZGEwNTFlZThlN2M3NjRiZjEzZjk3OTNlOWNiMjNhZTA4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9Tb3VyY2VzV1BFLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNXUEUudHh0CkBA
IC00OSw3ICs0OSw2IEBAIE5ldHdvcmtQcm9jZXNzL3NvdXAvV2ViU29ja2V0VGFza1NvdXAuY3Bw
CiBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDU29ja2V0Q2xpZW50LmNwcAogTmV0d29y
a1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENNb25pdG9yLmNwcAogTmV0d29ya1Byb2Nlc3Mvd2Vi
cnRjL05ldHdvcmtSVENQcm92aWRlci5jcHAKLU5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3Jr
UlRDU29ja2V0LmNwcAogCiBQbGF0Zm9ybS9JUEMvdW5peC9BdHRhY2htZW50VW5peC5jcHAKIFBs
YXRmb3JtL0lQQy91bml4L0Nvbm5lY3Rpb25Vbml4LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2Vi
S2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNjk0MDZmNmM4YjFkYzgwZWE4MThk
NWQxYWM2ZjExNmQwMzAyNGU2NS4uNGM5NDhhY2MzMWM1OTJjZjJkYTc5YmNkM2Q5MTEwN2E5MGJi
OTQ4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCkBAIC05MDQsNyArOTA0LDYgQEAKIAkJNDExQThEREIyMERERDFBQzAwNjBEMzRGIC8qIFdL
TW9ja01lZGlhRGV2aWNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA0MTFBOEREOTIwRERCNjA1MDA2MEQzNEYgLyogV0tNb2NrTWVkaWFEZXZpY2UuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0MTFCMjI2
NDFFMzcxQkE2MDA0RjczNjMgLyogTGliV2ViUlRDTmV0d29yay5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDExQjIyNjIxRTM3MTI0NDAwNEY3MzYzIC8q
IExpYldlYlJUQ05ldHdvcmsuaCAqLzsgfTsKIAkJNDEyODdENEUyMjVEMUVDQjAwOUEzRTI2IC8q
IFdlYlNvY2tldFRhc2tDb2NvYS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDQxMjg3RDRCMjI1QzA1QzQwMDlBM0UyNiAvKiBXZWJTb2NrZXRUYXNrQ29j
b2EubW0gKi87IH07Ci0JCTQxMzA3NUFCMURFODVGMzMwMDM5RUM2OSAvKiBOZXR3b3JrUlRDU29j
a2V0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTMw
NzU5OTFERTg0RkIwMDAzOUVDNjkgLyogTmV0d29ya1JUQ1NvY2tldC5oICovOyB9OwogCQk0MTMw
NzVBQzFERTg1RjM3MDAzOUVDNjkgLyogTmV0d29ya1JUQ01vbml0b3IuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMzA3NTlCMURFODRGQjAwMDM5RUM2
OSAvKiBOZXR3b3JrUlRDTW9uaXRvci5oICovOyB9OwogCQk0MTMwNzVBRDFERTg1RjU4MDAzOUVD
NjkgLyogTGliV2ViUlRDU29ja2V0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0MTMwNzVBMDFERTg1RUU3MDAzOUVDNjkgLyogTGliV2ViUlRDU29ja2V0
LmggKi87IH07CiAJCTQxMzA3NUIwMURFODVGNTgwMDM5RUM2OSAvKiBXZWJSVENNb25pdG9yLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTMwNzVBMzFE
RTg1RUU3MDAzOUVDNjkgLyogV2ViUlRDTW9uaXRvci5oICovOyB9OwpAQCAtMTA3OCw3ICsxMDc3
LDYgQEAKIAkJNTFGMDYwRTAxNjU0MzE3RjAwRjMyODFCIC8qIFdlYlJlc291cmNlTG9hZGVyTWVz
c2FnZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUx
RjA2MERFMTY1NDMxNzUwMEYzMjgxQiAvKiBXZWJSZXNvdXJjZUxvYWRlck1lc3NhZ2VzLmggKi87
IH07CiAJCTUxRjA2MEUxMTY1NDMxODUwMEYzMjgxQiAvKiBXZWJSZXNvdXJjZUxvYWRlck1lc3Nh
Z2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA1MUYwNjBERDE2NTQzMTc1MDBGMzI4MUIgLyogV2ViUmVzb3VyY2VMb2FkZXJNZXNzYWdl
UmVjZWl2ZXIuY3BwICovOyB9OwogCQk1MUYwNjBFMTE2NTQzMTg1MDBGMzI4MUMgLyogTGliV2Vi
UlRDTmV0d29ya01lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1MUYwNjBERDE2NTQzMTc1MDBGMzI4MUMgLyogTGliV2ViUlRD
TmV0d29ya01lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07Ci0JCTUxRjA2MEUxMTY1NDMxODUwMEYz
MjgxRCAvKiBOZXR3b3JrUlRDU29ja2V0TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRjA2MEREMTY1NDMxNzUwMEYzMjgx
RCAvKiBOZXR3b3JrUlRDU29ja2V0TWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKIAkJNTFGMDYw
RTExNjU0MzE4NTAwRjMyODFFIC8qIE5ldHdvcmtSVENNb25pdG9yTWVzc2FnZVJlY2VpdmVyLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRjA2MERE
MTY1NDMxNzUwMEYzMjgxRSAvKiBOZXR3b3JrUlRDTW9uaXRvck1lc3NhZ2VSZWNlaXZlci5jcHAg
Ki87IH07CiAJCTUxRjA2MEUxMTY1NDMxODUwMEYzMjgxRiAvKiBXZWJSVENNb25pdG9yTWVzc2Fn
ZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDUxRjA2MEREMTY1NDMxNzUwMEYzMjgxRiAvKiBXZWJSVENNb25pdG9yTWVzc2FnZVJlY2Vp
dmVyLmNwcCAqLzsgfTsKIAkJNTFGMDYwRTExNjU0MzE4NTAwRjMyODJDIC8qIFdlYlJUQ1Jlc29s
dmVyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDUxRjA2MEREMTY1NDMxNzUwMEYzMjgyQyAvKiBXZWJSVENSZXNvbHZlck1l
c3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CkBAIC0zNDA3LDEyICszNDA1LDkgQEAKIAkJNDEyODdE
NEIyMjVDMDVDNDAwOUEzRTI2IC8qIFdlYlNvY2tldFRhc2tDb2NvYS5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdlYlNvY2tldFRhc2tDb2NvYS5tbTsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDEyODdENEMyMjVDMDVDNTAwOUEzRTI2IC8qIFdlYlNv
Y2tldFRhc2tDb2NvYS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJTb2Nr
ZXRUYXNrQ29jb2EuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDEyODdENEQyMjVD
MTYxRjAwOUEzRTI2IC8qIFdlYlNvY2tldFRhc2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gV2ViU29ja2V0VGFzay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk0
MTMwNzU5ODFERTg0RkIwMDAzOUVDNjkgLyogTmV0d29ya1JUQ1NvY2tldC5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBOZXR3b3JrUlRDU29ja2V0LmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNDEzMDc1OTkxREU4NEZCMDAwMzlFQzY5IC8qIE5ldHdv
cmtSVENTb2NrZXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTmV0d29ya1JU
Q1NvY2tldC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTMwNzU5QTFERTg0RkIw
MDAzOUVDNjkgLyogTmV0d29ya1JUQ01vbml0b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gTmV0d29ya1JUQ01vbml0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk0MTMwNzU5QjFERTg0RkIwMDAzOUVDNjkgLyogTmV0d29ya1JUQ01vbml0b3Iu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTmV0d29ya1JUQ01vbml0b3IuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDEzMDc1OUMxREU4NEZCMDAwMzlFQzY5IC8q
IE5ldHdvcmtSVENNb25pdG9yLm1lc3NhZ2VzLmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IE5l
dHdvcmtSVENNb25pdG9yLm1lc3NhZ2VzLmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owot
CQk0MTMwNzU5RDFERTg0RkIwMDAzOUVDNjkgLyogTmV0d29ya1JUQ1NvY2tldC5tZXNzYWdlcy5p
biAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBOZXR3b3JrUlRDU29ja2V0Lm1lc3NhZ2VzLmluOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTMwNzU5RjFERTg1RUU3MDAzOUVDNjkgLyog
V2ViUlRDU29ja2V0Lm1lc3NhZ2VzLmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgbmFtZSA9IFdlYlJUQ1Nv
Y2tldC5tZXNzYWdlcy5pbjsgcGF0aCA9IE5ldHdvcmsvd2VicnRjL1dlYlJUQ1NvY2tldC5tZXNz
YWdlcy5pbjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDEzMDc1QTAxREU4NUVFNzAw
MzlFQzY5IC8qIExpYldlYlJUQ1NvY2tldC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5h
bWUgPSBMaWJXZWJSVENTb2NrZXQuaDsgcGF0aCA9IE5ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1Nv
Y2tldC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTMwNzVBMTFERTg1RUU3MDAz
OUVDNjkgLyogTGliV2ViUlRDU29ja2V0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgbmFtZSA9IExpYldlYlJUQ1NvY2tldC5jcHA7IHBhdGggPSBOZXR3b3JrL3dlYnJ0Yy9MaWJX
ZWJSVENTb2NrZXQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMzgyOCw3ICsz
ODIzLDYgQEAKIAkJNTFFOTQ5OTYxRDc2MUNDNzAwRUM5RUI5IC8qIFVJR2FtZXBhZFByb3ZpZGVy
SU9TLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gVUlHYW1lcGFk
UHJvdmlkZXJJT1MubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxRjA2MEREMTY1
NDMxNzUwMEYzMjgxQiAvKiBXZWJSZXNvdXJjZUxvYWRlck1lc3NhZ2VSZWNlaXZlci5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IG5hbWUgPSBXZWJSZXNvdXJjZUxvYWRlck1lc3NhZ2VSZWNlaXZlci5jcHA7IHBh
dGggPSBEZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYlJlc291cmNlTG9hZGVyTWVzc2FnZVJlY2Vp
dmVyLmNwcDsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKIAkJNTFGMDYwREQx
NjU0MzE3NTAwRjMyODFDIC8qIExpYldlYlJUQ05ldHdvcmtNZXNzYWdlUmVjZWl2ZXIuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBuYW1lID0gTGliV2ViUlRDTmV0d29ya01lc3NhZ2VSZWNlaXZlci5jcHA7IHBh
dGggPSBEZXJpdmVkU291cmNlcy9XZWJLaXQyL0xpYldlYlJUQ05ldHdvcmtNZXNzYWdlUmVjZWl2
ZXIuY3BwOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OwotCQk1MUYwNjBERDE2
NTQzMTc1MDBGMzI4MUQgLyogTmV0d29ya1JUQ1NvY2tldE1lc3NhZ2VSZWNlaXZlci5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IG5hbWUgPSBOZXR3b3JrUlRDU29ja2V0TWVzc2FnZVJlY2VpdmVyLmNwcDsgcGF0
aCA9IERlcml2ZWRTb3VyY2VzL1dlYktpdDIvTmV0d29ya1JUQ1NvY2tldE1lc3NhZ2VSZWNlaXZl
ci5jcHA7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CiAJCTUxRjA2MEREMTY1
NDMxNzUwMEYzMjgxRSAvKiBOZXR3b3JrUlRDTW9uaXRvck1lc3NhZ2VSZWNlaXZlci5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IG5hbWUgPSBOZXR3b3JrUlRDTW9uaXRvck1lc3NhZ2VSZWNlaXZlci5jcHA7IHBh
dGggPSBEZXJpdmVkU291cmNlcy9XZWJLaXQyL05ldHdvcmtSVENNb25pdG9yTWVzc2FnZVJlY2Vp
dmVyLmNwcDsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKIAkJNTFGMDYwREQx
NjU0MzE3NTAwRjMyODFGIC8qIFdlYlJUQ01vbml0b3JNZXNzYWdlUmVjZWl2ZXIuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBuYW1lID0gV2ViUlRDTW9uaXRvck1lc3NhZ2VSZWNlaXZlci5jcHA7IHBhdGggPSBE
ZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYlJUQ01vbml0b3JNZXNzYWdlUmVjZWl2ZXIuY3BwOyBz
b3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OwogCQk1MUYwNjBERDE2NTQzMTc1MDBG
MzI4MkMgLyogV2ViUlRDUmVzb2x2ZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBu
YW1lID0gV2ViUlRDUmVzb2x2ZXJNZXNzYWdlUmVjZWl2ZXIuY3BwOyBwYXRoID0gRGVyaXZlZFNv
dXJjZXMvV2ViS2l0Mi9XZWJSVENSZXNvbHZlck1lc3NhZ2VSZWNlaXZlci5jcHA7IHNvdXJjZVRy
ZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CkBAIC03NTk1LDkgKzc1ODksNiBAQAogCQkJCTQx
MTJCNTQ4MUY5RkQzQUMwMEU2Nzg3NSAvKiBOZXR3b3JrUlRDUmVzb2x2ZXIuaCAqLywKIAkJCQk0
MTEyQjU0NzFGOUZEM0FCMDBFNjc5ODYgLyogTmV0d29ya1JUQ1Jlc29sdmVyQ29jb2EuY3BwICov
LAogCQkJCTQxMTJCNTQ4MUY5RkQzQUMwMEU2Nzk4NiAvKiBOZXR3b3JrUlRDUmVzb2x2ZXJDb2Nv
YS5oICovLAotCQkJCTQxMzA3NTk4MURFODRGQjAwMDM5RUM2OSAvKiBOZXR3b3JrUlRDU29ja2V0
LmNwcCAqLywKLQkJCQk0MTMwNzU5OTFERTg0RkIwMDAzOUVDNjkgLyogTmV0d29ya1JUQ1NvY2tl
dC5oICovLAotCQkJCTQxMzA3NTlEMURFODRGQjAwMDM5RUM2OSAvKiBOZXR3b3JrUlRDU29ja2V0
Lm1lc3NhZ2VzLmluICovLAogCQkJKTsKIAkJCXBhdGggPSB3ZWJydGM7CiAJCQlzb3VyY2VUcmVl
ID0gIjxncm91cD4iOwpAQCAtMTAwMzYsNyArMTAwMjcsNiBAQAogCQkJCUUxNTI1NTE5MTcwMTE4
MTkwMDNEN0FEQiAvKiBOZXR3b3JrUmVzb3VyY2VMb2FkZXJNZXNzYWdlcy5oICovLAogCQkJCTUx
RjA2MEREMTY1NDMxNzUwMEYzMjgxRSAvKiBOZXR3b3JrUlRDTW9uaXRvck1lc3NhZ2VSZWNlaXZl
ci5jcHAgKi8sCiAJCQkJNTFGMDYwREQxNjU0MzE3NTAwRjMyODJFIC8qIE5ldHdvcmtSVENQcm92
aWRlck1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCi0JCQkJNTFGMDYwREQxNjU0MzE3NTAwRjMyODFE
IC8qIE5ldHdvcmtSVENTb2NrZXRNZXNzYWdlUmVjZWl2ZXIuY3BwICovLAogCQkJCTMxRjA2MERE
MTY1NDMxNzUwMEYzMjgxQyAvKiBOZXR3b3JrU29ja2V0Q2hhbm5lbE1lc3NhZ2VSZWNlaXZlci5j
cHAgKi8sCiAJCQkJNUMwQjE3NzQxRTdDODc5QzAwRTkxMjNDIC8qIE5ldHdvcmtTb2NrZXRTdHJl
YW1NZXNzYWdlUmVjZWl2ZXIuY3BwICovLAogCQkJCTVDMEIxNzc1MUU3Qzg3OUMwMEU5MTIzQyAv
KiBOZXR3b3JrU29ja2V0U3RyZWFtTWVzc2FnZXMuaCAqLywKQEAgLTEwOTU5LDcgKzEwOTQ5LDYg
QEAKIAkJCQk1QzE0MjZGMDFDMjNGODA5MDBENDExODMgLyogTmV0d29ya1Jlc291cmNlTG9hZFBh
cmFtZXRlcnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTQxMzA3NUFDMURFODVGMzcwMDM5RUM2OSAv
KiBOZXR3b3JrUlRDTW9uaXRvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDFEQzQ1OTYxRTNENkUy
MjAwQjExRjUxIC8qIE5ldHdvcmtSVENQcm92aWRlci5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNDEz
MDc1QUIxREU4NUYzMzAwMzlFQzY5IC8qIE5ldHdvcmtSVENTb2NrZXQuaCBpbiBIZWFkZXJzICov
LAogCQkJCTVDMjBDQkEwMUJCMUVDRDgwMDg5NUJCMSAvKiBOZXR3b3JrU2Vzc2lvbi5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNTMyMTU5NTUxREJBRTcyOTAwNTRBQTNDIC8qIE5ldHdvcmtTZXNzaW9u
Q29jb2EuaCBpbiBIZWFkZXJzICovLAogCQkJCTQxNzkxNUI5MjI1NzA0NkYwMEQ2Rjk3RSAvKiBO
ZXR3b3JrU29ja2V0Q2hhbm5lbC5oIGluIEhlYWRlcnMgKi8sCkBAIC0xMjc2MSw3ICsxMjc1MCw2
IEBACiAJCQkJNTFGMDYwRTExNjU0MzE4NTAwRjMyODFFIC8qIE5ldHdvcmtSVENNb25pdG9yTWVz
c2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQxNzY5MDE0MjJGREQ0MUIwMEIx
NTc2RCAvKiBOZXR3b3JrUlRDUHJvdmlkZXIubW0gaW4gU291cmNlcyAqLywKIAkJCQk1MUYwNjBF
MTE2NTQzMTg1MDBGMzI4MkUgLyogTmV0d29ya1JUQ1Byb3ZpZGVyTWVzc2FnZVJlY2VpdmVyLmNw
cCBpbiBTb3VyY2VzICovLAotCQkJCTUxRjA2MEUxMTY1NDMxODUwMEYzMjgxRCAvKiBOZXR3b3Jr
UlRDU29ja2V0TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTMxRjA2MEUx
MTY1NDMxODUwMEYzMjgxQyAvKiBOZXR3b3JrU29ja2V0Q2hhbm5lbE1lc3NhZ2VSZWNlaXZlci5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQk1QzBCMTc3ODFFN0M4ODBFMDBFOTEyM0MgLyogTmV0d29y
a1NvY2tldFN0cmVhbU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyRDky
QTc5MDIxMkI2QUQ0MDBGNDkzRkQgLyogTlBJZGVudGlmaWVyRGF0YS5jcHAgaW4gU291cmNlcyAq
LywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9M
aWJXZWJSVENTb2NrZXQuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2Vi
cnRjL0xpYldlYlJUQ1NvY2tldC5jcHAKaW5kZXggZThlZTczNDE3ZWQ5YTBmMDJkMGI4ZDRkNjVm
OThmMzQzYmE1NzU3Yy4uZWNhZWIxNDQxODYyNzNhY2E5NmQ0MzUwYTQxOGJkZDI0NTgyMWM3YiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldl
YlJUQ1NvY2tldC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2Vi
cnRjL0xpYldlYlJUQ1NvY2tldC5jcHAKQEAgLTMxLDcgKzMxLDcgQEAKICNpbmNsdWRlICJEYXRh
UmVmZXJlbmNlLmgiCiAjaW5jbHVkZSAiTGliV2ViUlRDU29ja2V0RmFjdG9yeS5oIgogI2luY2x1
ZGUgIk5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5oIgotI2luY2x1ZGUgIk5ldHdvcmtSVENTb2Nr
ZXRNZXNzYWdlcy5oIgorI2luY2x1ZGUgIk5ldHdvcmtSVENQcm92aWRlck1lc3NhZ2VzLmgiCiAj
aW5jbHVkZSAiUlRDUGFja2V0T3B0aW9ucy5oIgogI2luY2x1ZGUgIldlYlByb2Nlc3MuaCIKICNp
bmNsdWRlIDxXZWJDb3JlL1NoYXJlZEJ1ZmZlci5oPgpAQCAtMTM2LDcgKzEzNiw3IEBAIGludCBM
aWJXZWJSVENTb2NrZXQ6OlNlbmRUbyhjb25zdCB2b2lkICp2YWx1ZSwgc2l6ZV90IHNpemUsIGNv
bnN0IHJ0Yzo6U29ja2V0QWRkCiAgICAgICAgIHJldHVybiBzaXplOwogCiAgICAgSVBDOjpEYXRh
UmVmZXJlbmNlIGRhdGEoc3RhdGljX2Nhc3Q8Y29uc3QgdWludDhfdCo+KHZhbHVlKSwgc2l6ZSk7
Ci0gICAgY29ubmVjdGlvbi0+c2VuZChNZXNzYWdlczo6TmV0d29ya1JUQ1NvY2tldDo6U2VuZFRv
IHsgZGF0YSwgUlRDTmV0d29yazo6U29ja2V0QWRkcmVzcyB7IGFkZHJlc3MgfSwgUlRDUGFja2V0
T3B0aW9ucyB7IG9wdGlvbnMgfSB9LCBtX2lkZW50aWZpZXIpOworICAgIGNvbm5lY3Rpb24tPnNl
bmQoTWVzc2FnZXM6Ok5ldHdvcmtSVENQcm92aWRlcjo6U2VuZFRvU29ja2V0IHsgbV9pZGVudGlm
aWVyLCBkYXRhLCBSVENOZXR3b3JrOjpTb2NrZXRBZGRyZXNzIHsgYWRkcmVzcyB9LCBSVENQYWNr
ZXRPcHRpb25zIHsgb3B0aW9ucyB9IH0sIDApOwogCiAgICAgcmV0dXJuIHNpemU7CiB9CkBAIC0x
NDksNyArMTQ5LDcgQEAgaW50IExpYldlYlJUQ1NvY2tldDo6Q2xvc2UoKQogCiAgICAgbV9zdGF0
ZSA9IFNUQVRFX0NMT1NFRDsKIAotICAgIGNvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6Ok5ldHdv
cmtSVENTb2NrZXQ6OkNsb3NlKCksIG1faWRlbnRpZmllcik7CisgICAgY29ubmVjdGlvbi0+c2Vu
ZChNZXNzYWdlczo6TmV0d29ya1JUQ1Byb3ZpZGVyOjpDbG9zZVNvY2tldCB7IG1faWRlbnRpZmll
ciB9LCAwKTsKIAogICAgIHJldHVybiAwOwogfQpAQCAtMTcxLDcgKzE3MSw3IEBAIGludCBMaWJX
ZWJSVENTb2NrZXQ6OlNldE9wdGlvbihydGM6OlNvY2tldDo6T3B0aW9uIG9wdGlvbiwgaW50IHZh
bHVlKQogICAgIG1fb3B0aW9uc1tvcHRpb25dID0gdmFsdWU7CiAKICAgICBpZiAoYXV0byogY29u
bmVjdGlvbiA9IG1fZmFjdG9yeS5jb25uZWN0aW9uKCkpCi0gICAgICAgIGNvbm5lY3Rpb24tPnNl
bmQoTWVzc2FnZXM6Ok5ldHdvcmtSVENTb2NrZXQ6OlNldE9wdGlvbihvcHRpb24sIHZhbHVlKSwg
bV9pZGVudGlmaWVyKTsKKyAgICAgICAgY29ubmVjdGlvbi0+c2VuZChNZXNzYWdlczo6TmV0d29y
a1JUQ1Byb3ZpZGVyOjpTZXRTb2NrZXRPcHRpb24geyBtX2lkZW50aWZpZXIsIG9wdGlvbiwgdmFs
dWUgfSwgMCk7CiAKICAgICByZXR1cm4gMDsKIH0KQEAgLTIwMSw3ICsyMDEsNyBAQCB2b2lkIExp
YldlYlJUQ1NvY2tldDo6c3VzcGVuZCgpCiAgICAgICAgIHJldHVybjsKIAogICAgIGlmIChhdXRv
KiBjb25uZWN0aW9uID0gbV9mYWN0b3J5LmNvbm5lY3Rpb24oKSkKLSAgICAgICAgY29ubmVjdGlv
bi0+c2VuZChNZXNzYWdlczo6TmV0d29ya1JUQ1NvY2tldDo6Q2xvc2UgeyB9LCBtX2lkZW50aWZp
ZXIpOworICAgICAgICBjb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpOZXR3b3JrUlRDUHJvdmlk
ZXI6OkNsb3NlU29ja2V0IHsgbV9pZGVudGlmaWVyIH0sIDApOwogfQogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJLaXQK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>403187</attachid>
            <date>2020-06-30 03:01:58 -0700</date>
            <delta_ts>2020-07-01 00:08:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-213557-20200630120154.patch</filename>
            <type>text/plain</type>
            <size>48759</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYzNjcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGVjYTQwOTFmNmI1ZDEyMGYw
MTNlMWNlMTg3YWMyYmVjMGM5YjQ0ZDAuLmRmODlkMzZjMzFlMmE0NGY2MjQ3OGI1MjE1NzQ0ZDZm
ZGFlNTM1OGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTMgQEAKKzIwMjAtMDYtMjkgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIE1ha2UgTmV0d29ya1JUQ1Byb3Zp
ZGVyIHJlY2VpdmUgSVBDIG1lc3NhZ2VzIGZyb20gYSBiYWNrZ3JvdW5kIHRocmVhZAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEzNTU3CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVG8gZW5zdXJlIHdlYnJ0
YyBwYWNrZXRzIGRvIG5vdCBnZXQgYmxvY2tlZCBvbiB0aGUgbWFpbiB0aHJlYWQsCisgICAgICAg
IHdlIHByb2Nlc3MgV2ViUHJvY2VzcyBJUEMgbWVzc2FnZSBkaXJlY3RseSBpbiB0aGUgc29ja2V0
IHRocmVhZC4KKyAgICAgICAgRm9yIG5ldyBzb2NrZXRzLCB3ZSBzdGlsbCBnbyB0aHJvdWdoIHRo
ZSBtYWluIHRocmVhZCwgdG8gY2hlY2sgc3VzcGVuc2lvbiBvciBwcm94eSB2YWx1ZXMuCisgICAg
ICAgIEZvciBzZW5kaW5nIHBhY2tldHMvc2V0dGluZyBvcHRpb25zL2Nsb3Npbmcgc29ja2V0cywg
d2Ugc3RheSBpbiB0aGUgYmFja2dyb3VuZCB0aHJlYWQuCisKKyAgICAgICAgKiBEZXJpdmVkU291
cmNlcy1vdXRwdXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgor
ICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmRpZFJl
Y2VpdmVNZXNzYWdlKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRD
U29ja2V0Q2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDU29ja2V0Q2xpZW50
OjpzZW5kVG8pOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENTb2Nr
ZXRDbGllbnQuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1By
b3ZpZGVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1JUQ1Byb3ZpZGVyOjpOZXR3b3Jr
UlRDUHJvdmlkZXIpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUlRDUHJvdmlkZXI6OmNsb3Nl
KToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1JUQ1Byb3ZpZGVyOjpjcmVhdGVTb2NrZXQpOgor
ICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUlRDUHJvdmlkZXI6OmNyZWF0ZVVEUFNvY2tldCk6Cisg
ICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtSVENQcm92aWRlcjo6Y3JlYXRlU2VydmVyVENQU29ja2V0
KToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1JUQ1Byb3ZpZGVyOjpjcmVhdGVDbGllbnRUQ1BT
b2NrZXQpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUlRDUHJvdmlkZXI6OndyYXBOZXdUQ1BD
b25uZWN0aW9uKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1JUQ1Byb3ZpZGVyOjpzZW5kVG9T
b2NrZXQpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUlRDUHJvdmlkZXI6OmNsb3NlU29ja2V0
KToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1JUQ1Byb3ZpZGVyOjpzZXRTb2NrZXRPcHRpb24p
OgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUlRDUHJvdmlkZXI6OmFkZFNvY2tldCk6CisgICAg
ICAgIChXZWJLaXQ6Ok5ldHdvcmtSVENQcm92aWRlcjo6dGFrZVNvY2tldCk6CisgICAgICAgIChX
ZWJLaXQ6Ok5ldHdvcmtSVENQcm92aWRlcjo6bmV3Q29ubmVjdGlvbik6CisgICAgICAgIChXZWJL
aXQ6Ok5ldHdvcmtSVENQcm92aWRlcjo6ZGlzcGF0Y2hUb1RocmVhZCk6CisgICAgICAgICogTmV0
d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENQcm92aWRlci5oOgorICAgICAgICAoV2ViS2l0
OjpOZXR3b3JrUlRDUHJvdmlkZXI6OmRpZFJlY2VpdmVOZXR3b3JrUlRDTW9uaXRvck1lc3NhZ2Up
OgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDUHJvdmlkZXIubWVz
c2FnZXMuaW46CisgICAgICAgICogTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENTb2Nr
ZXQuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3Jr
UlRDU29ja2V0Lmg6IFJlbW92ZWQuCisgICAgICAgICogTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05l
dHdvcmtSVENTb2NrZXQubWVzc2FnZXMuaW46IFJlbW92ZWQuCisgICAgICAgICogU291cmNlc0Nv
Y29hLnR4dDoKKyAgICAgICAgKiBTb3VyY2VzR1RLLnR4dDoKKyAgICAgICAgKiBTb3VyY2VzV1BF
LnR4dDoKKyAgICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1NvY2tldC5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OkxpYldlYlJUQ1NvY2tldDo6U2VuZFRvKToKKyAgICAgICAgKFdlYktpdDo6
TGliV2ViUlRDU29ja2V0OjpDbG9zZSk6CisgICAgICAgIChXZWJLaXQ6OkxpYldlYlJUQ1NvY2tl
dDo6U2V0T3B0aW9uKToKKyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDU29ja2V0OjpzdXNwZW5k
KToKKwogMjAyMC0wNi0yOSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAg
ICAgICAgU2VuZCBXZWJSVEMgcGFja2V0cyByZWNlaXZlZCBmcm9tIG5ldHdvcmsgcHJvY2VzcyB0
byB3ZWIgcHJvY2VzcyBmcm9tIGEgYmFja2dyb3VuZCB0aHJlYWQKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViS2l0L0NNYWtlTGlzdHMudHh0Cmlu
ZGV4IGYyZGRlMTI0MTg3OTMyZDdhZWVkYjE2YWQzMjYzNTlkMDc3MzFjZjQuLjk4YzJjODE4MWQ5
OTYwMGFlY2I2MjFhMzg1NjBkMDYwOGI3NDkzY2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Q01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYktpdC9DTWFrZUxpc3RzLnR4dApAQCAtMTY3
LDcgKzE2Nyw2IEBAIHNldChXZWJLaXRfTUVTU0FHRVNfSU5fRklMRVMKICAgICBOZXR3b3JrUHJv
Y2Vzcy93ZWJydGMvTmV0d29ya01ETlNSZWdpc3RlcgogICAgIE5ldHdvcmtQcm9jZXNzL3dlYnJ0
Yy9OZXR3b3JrUlRDTW9uaXRvcgogICAgIE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRD
UHJvdmlkZXIKLSAgICBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1NvY2tldAogCiAg
ICAgUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkKICAgICBQbHVnaW5Qcm9jZXNz
L1BsdWdpblByb2Nlc3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMt
aW5wdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNm
aWxlbGlzdAppbmRleCA2YTI5MTExNDVlNjBiYzJiN2ZjZWQyY2I0MGNhNzMxZmE1MTcxOTFkLi4w
OThlYWU1YTQwM2E3OGZlN2U3YWExZTBhOWJmYjgyYWNkNGQ0MWViIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dl
YktpdC9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CkBAIC01Niw3ICs1Niw2IEBAICQo
UFJPSkVDVF9ESVIpL05ldHdvcmtQcm9jZXNzL21hYy9jb20uYXBwbGUuV2ViS2l0Lk5ldHdvcmtQ
cm9jZXNzLnNiLmluCiAkKFBST0pFQ1RfRElSKS9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29y
a01ETlNSZWdpc3Rlci5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvTmV0d29ya1Byb2Nlc3Mv
d2VicnRjL05ldHdvcmtSVENNb25pdG9yLm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9OZXR3
b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1Byb3ZpZGVyLm1lc3NhZ2VzLmluCi0kKFBST0pF
Q1RfRElSKS9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1NvY2tldC5tZXNzYWdlcy5p
bgogJChQUk9KRUNUX0RJUikvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkubWVz
c2FnZXMuaW4KICQoUFJPSkVDVF9ESVIpL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5tZXNz
YWdlcy5pbgogJChQUk9KRUNUX0RJUikvUGx1Z2luUHJvY2Vzcy9XZWJQcm9jZXNzQ29ubmVjdGlv
bi5tZXNzYWdlcy5pbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy1v
dXRwdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMtb3V0cHV0Lnhj
ZmlsZWxpc3QKaW5kZXggYmQ4OTMzZTNjZTY0MmFjMTU4OGQ1OTlkMTY5ZGIwYjgyNTVmMTYzOC4u
MzNkNDIxYmE1NmYzYWU5ZmMwNThmY2ZlMDE3OWMyYjJlZDk2ODNhNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2Uv
V2ViS2l0L0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CkBAIC05Nyw5ICs5Nyw2IEBA
ICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL05ldHdvcmtSVENN
b25pdG9yTWVzc2FnZXNSZXBsaWVzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJLaXQyL05ldHdvcmtSVENQcm92aWRlck1lc3NhZ2VSZWNlaXZlci5jcHAKICQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL05ldHdvcmtSVENQcm92aWRl
ck1lc3NhZ2VzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQy
L05ldHdvcmtSVENQcm92aWRlck1lc3NhZ2VzUmVwbGllcy5oCi0kKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9OZXR3b3JrUlRDU29ja2V0TWVzc2FnZVJlY2VpdmVy
LmNwcAotJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvTmV0d29y
a1JUQ1NvY2tldE1lc3NhZ2VzLmgKLSQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJLaXQyL05ldHdvcmtSVENTb2NrZXRNZXNzYWdlc1JlcGxpZXMuaAogJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvTmV0d29ya1Jlc291cmNlTG9hZGVyTWVz
c2FnZVJlY2VpdmVyLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YktpdDIvTmV0d29ya1Jlc291cmNlTG9hZGVyTWVzc2FnZXMuaAogJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvTmV0d29ya1Jlc291cmNlTG9hZGVyTWVzc2FnZXNS
ZXBsaWVzLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMubWFrZSBi
L1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCA1ZjVmMjVjMDFhZTI5Zjg1
MmRjMzg2ZDIzMjBjMDdiOGU5NTc4MzU2Li5kZmE3YzJiNWU1MzEyZWM1MWRkNmZlNjkyMjQzMzli
ZTgxN2NhN2JjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLm1ha2UK
KysrIGIvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0xMjYsNyArMTI2LDYg
QEAgTUVTU0FHRV9SRUNFSVZFUlMgPSBcCiAJTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3Mg
XAogCU5ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlciBcCiAJTmV0d29ya1Byb2Nl
c3Mvd2VicnRjL05ldHdvcmtNRE5TUmVnaXN0ZXIgXAotCU5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9O
ZXR3b3JrUlRDU29ja2V0IFwKIAlOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1Byb3Zp
ZGVyIFwKIAlOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ01vbml0b3IgXAogCU5ldHdv
cmtQcm9jZXNzL0Nvb2tpZXMvV2ViQ29va2llTWFuYWdlciBcCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcCBi
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nl
c3MuY3BwCmluZGV4IDZmMGNlNjQ5ZDhiMTdmZWY4ZDY2ZWYxM2Q2M2JjNWZkZTY4YzUyNGMuLjVj
MTkyZjI5ZTYxNjdiMjE1YTE1NGJmOTk3YzZkZWIxYTJhY2FiMDggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dl
YlByb2Nlc3MuY3BwCkBAIC0zOSw3ICszOSw2IEBACiAjaW5jbHVkZSAiTmV0d29ya1Byb2Nlc3NQ
cm94eU1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiTmV0d29ya1JUQ01vbml0b3JNZXNzYWdlcy5oIgog
I2luY2x1ZGUgIk5ldHdvcmtSVENQcm92aWRlck1lc3NhZ2VzLmgiCi0jaW5jbHVkZSAiTmV0d29y
a1JUQ1NvY2tldE1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiTmV0d29ya1Jlc291cmNlTG9hZFBhcmFt
ZXRlcnMuaCIKICNpbmNsdWRlICJOZXR3b3JrUmVzb3VyY2VMb2FkZXIuaCIKICNpbmNsdWRlICJO
ZXR3b3JrUmVzb3VyY2VMb2FkZXJNZXNzYWdlcy5oIgpAQCAtMjE1LDE4ICsyMTQsMTQgQEAgdm9p
ZCBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6ZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpD
b25uZWN0aW9uJiBjb25uZWN0aW8KICAgICB9CiAKICNpZiBVU0UoTElCV0VCUlRDKQotICAgIGlm
IChkZWNvZGVyLm1lc3NhZ2VSZWNlaXZlck5hbWUoKSA9PSBNZXNzYWdlczo6TmV0d29ya1JUQ1Nv
Y2tldDo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpKSB7Ci0gICAgICAgIHJ0Y1Byb3ZpZGVyKCkuZGlk
UmVjZWl2ZU5ldHdvcmtSVENTb2NrZXRNZXNzYWdlKGNvbm5lY3Rpb24sIGRlY29kZXIpOworICAg
IGlmIChkZWNvZGVyLm1lc3NhZ2VSZWNlaXZlck5hbWUoKSA9PSBNZXNzYWdlczo6TmV0d29ya1JU
Q1Byb3ZpZGVyOjptZXNzYWdlUmVjZWl2ZXJOYW1lKCkpIHsKKyAgICAgICAgcnRjUHJvdmlkZXIo
KS5kaWRSZWNlaXZlTWVzc2FnZShjb25uZWN0aW9uLCBkZWNvZGVyKTsKICAgICAgICAgcmV0dXJu
OwogICAgIH0KICAgICBpZiAoZGVjb2Rlci5tZXNzYWdlUmVjZWl2ZXJOYW1lKCkgPT0gTWVzc2Fn
ZXM6Ok5ldHdvcmtSVENNb25pdG9yOjptZXNzYWdlUmVjZWl2ZXJOYW1lKCkpIHsKICAgICAgICAg
cnRjUHJvdmlkZXIoKS5kaWRSZWNlaXZlTmV0d29ya1JUQ01vbml0b3JNZXNzYWdlKGNvbm5lY3Rp
b24sIGRlY29kZXIpOwogICAgICAgICByZXR1cm47CiAgICAgfQotICAgIGlmIChkZWNvZGVyLm1l
c3NhZ2VSZWNlaXZlck5hbWUoKSA9PSBNZXNzYWdlczo6TmV0d29ya1JUQ1Byb3ZpZGVyOjptZXNz
YWdlUmVjZWl2ZXJOYW1lKCkpIHsKLSAgICAgICAgcnRjUHJvdmlkZXIoKS5kaWRSZWNlaXZlTWVz
c2FnZShjb25uZWN0aW9uLCBkZWNvZGVyKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KICNlbmRp
ZgogI2lmIEVOQUJMRShXRUJfUlRDKQogICAgIGlmIChkZWNvZGVyLm1lc3NhZ2VSZWNlaXZlck5h
bWUoKSA9PSBNZXNzYWdlczo6TmV0d29ya01ETlNSZWdpc3Rlcjo6bWVzc2FnZVJlY2VpdmVyTmFt
ZSgpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9M
aWJXZWJSVENTb2NrZXRDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy93
ZWJydGMvTGliV2ViUlRDU29ja2V0Q2xpZW50LmNwcAppbmRleCA0ZTY0YzExYTQzN2I1MDBiZGI1
OTExNjllMzIyYjkwMTIwNWI0MzFmLi43ODgzNDBlZTcwNmFiMDE1ZjkxZGFlZjFiNzZkYzc0ZWRj
ZWExNGM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9M
aWJXZWJSVENTb2NrZXRDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3Mvd2VicnRjL0xpYldlYlJUQ1NvY2tldENsaWVudC5jcHAKQEAgLTcwLDkgKzcwLDkgQEAgTGli
V2ViUlRDU29ja2V0Q2xpZW50OjpMaWJXZWJSVENTb2NrZXRDbGllbnQoV2ViQ29yZTo6TGliV2Vi
UlRDU29ja2V0SWRlbnRpZmllcgogICAgIH0KIH0KIAotdm9pZCBMaWJXZWJSVENTb2NrZXRDbGll
bnQ6OnNlbmRUbyhjb25zdCBXZWJDb3JlOjpTaGFyZWRCdWZmZXImIGJ1ZmZlciwgY29uc3QgcnRj
OjpTb2NrZXRBZGRyZXNzJiBzb2NrZXRBZGRyZXNzLCBjb25zdCBydGM6OlBhY2tldE9wdGlvbnMm
IG9wdGlvbnMpCit2b2lkIExpYldlYlJUQ1NvY2tldENsaWVudDo6c2VuZFRvKGNvbnN0IHVpbnQ4
X3QqIGRhdGEsIHNpemVfdCBzaXplLCBjb25zdCBydGM6OlNvY2tldEFkZHJlc3MmIHNvY2tldEFk
ZHJlc3MsIGNvbnN0IHJ0Yzo6UGFja2V0T3B0aW9ucyYgb3B0aW9ucykKIHsKLSAgICBhdXRvIHJl
c3VsdCA9IG1fc29ja2V0LT5TZW5kVG8ocmVpbnRlcnByZXRfY2FzdDxjb25zdCB1aW50OF90Kj4o
YnVmZmVyLmRhdGEoKSksIGJ1ZmZlci5zaXplKCksIHNvY2tldEFkZHJlc3MsIG9wdGlvbnMpOwor
ICAgIGF1dG8gcmVzdWx0ID0gbV9zb2NrZXQtPlNlbmRUbyhkYXRhLCBzaXplLCBzb2NrZXRBZGRy
ZXNzLCBvcHRpb25zKTsKICAgICBSRUxFQVNFX0xPR19FUlJPUl9JRihyZXN1bHQgJiYgbV9zZW5k
RXJyb3IgIT0gcmVzdWx0LCBOZXR3b3JrLCAiTGliV2ViUlRDU29ja2V0Q2xpZW50OjpzZW5kVG8g
ZmFpbGVkIHdpdGggZXJyb3IgJWQiLCBtX3NvY2tldC0+R2V0RXJyb3IoKSk7CiAgICAgbV9zZW5k
RXJyb3IgPSByZXN1bHQ7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL3dlYnJ0Yy9MaWJXZWJSVENTb2NrZXRDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3Mvd2VicnRjL0xpYldlYlJUQ1NvY2tldENsaWVudC5oCmluZGV4IDhlM2Y0ODA2NWJm
MDA5OWNhOTNjNmU0ZGMxNGVmYjUzMmU1OGY2YTYuLjNiYzc0ZWExYzNhM2U1ZGJmMGEzMjRjZjg5
YjczYzAxYzFlMWJkMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
d2VicnRjL0xpYldlYlJUQ1NvY2tldENsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3Mvd2VicnRjL0xpYldlYlJUQ1NvY2tldENsaWVudC5oCkBAIC00OSw3ICs0OSw3IEBA
IHByaXZhdGU6CiAgICAgdm9pZCBjbG9zZSgpIGZpbmFsOwogCiAgICAgdm9pZCBzZXRPcHRpb24o
aW50IG9wdGlvbiwgaW50IHZhbHVlKSBmaW5hbDsKLSAgICB2b2lkIHNlbmRUbyhjb25zdCBXZWJD
b3JlOjpTaGFyZWRCdWZmZXImLCBjb25zdCBydGM6OlNvY2tldEFkZHJlc3MmLCBjb25zdCBydGM6
OlBhY2tldE9wdGlvbnMmKSBmaW5hbDsKKyAgICB2b2lkIHNlbmRUbyhjb25zdCB1aW50OF90Kiwg
c2l6ZV90LCBjb25zdCBydGM6OlNvY2tldEFkZHJlc3MmLCBjb25zdCBydGM6OlBhY2tldE9wdGlv
bnMmKSBmaW5hbDsKIAogICAgIHZvaWQgc2lnbmFsUmVhZFBhY2tldChydGM6OkFzeW5jUGFja2V0
U29ja2V0KiwgY29uc3QgY2hhciosIHNpemVfdCwgY29uc3QgcnRjOjpTb2NrZXRBZGRyZXNzJiwg
Y29uc3QgcnRjOjpQYWNrZXRUaW1lJik7CiAgICAgdm9pZCBzaWduYWxTZW50UGFja2V0KHJ0Yzo6
QXN5bmNQYWNrZXRTb2NrZXQqLCBjb25zdCBydGM6OlNlbnRQYWNrZXQmKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENQcm92aWRlci5j
cHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDUHJvdmlk
ZXIuY3BwCmluZGV4IDk3OWNjNTM1YjQ2NDkzMWFlNDQxNjlhYjZjYzVkOWE5MmQ3MjlhMTAuLmU4
ZTkzYzM1NGI4ZDExMjc5MTlkNzRkOTg3MzE5MDExNmNlZTJlZWIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENQcm92aWRlci5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1Byb3ZpZGVy
LmNwcApAQCAtMzMsOCArMzMsOSBAQAogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJO
ZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oIgogI2luY2x1ZGUgIk5ldHdvcmtQcm9jZXNz
LmgiCisjaW5jbHVkZSAiTmV0d29ya1JUQ1Byb3ZpZGVyTWVzc2FnZXMuaCIKICNpbmNsdWRlICJO
ZXR3b3JrUlRDUmVzb2x2ZXIuaCIKLSNpbmNsdWRlICJOZXR3b3JrUlRDU29ja2V0LmgiCisjaW5j
bHVkZSAiUlRDUGFja2V0T3B0aW9ucy5oIgogI2luY2x1ZGUgIldlYlJUQ1Jlc29sdmVyTWVzc2Fn
ZXMuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0xpYldlYlJUQ01hY3Jvcy5oPgogI2luY2x1ZGUgPHdl
YnJ0Yy9ydGNfYmFzZS9hc3luY19wYWNrZXRfc29ja2V0Lmg+CkBAIC03Niw2ICs3Nyw3IEBAIHN0
YXRpYyB2b2lkIGRvUmVsZWFzZUxvZ2dpbmcocnRjOjpMb2dnaW5nU2V2ZXJpdHkgc2V2ZXJpdHks
IGNvbnN0IGNoYXIqIG1lc3NhZ2UpCiAKIE5ldHdvcmtSVENQcm92aWRlcjo6TmV0d29ya1JUQ1By
b3ZpZGVyKE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzJiBjb25uZWN0aW9uKQogICAgIDog
bV9jb25uZWN0aW9uKCZjb25uZWN0aW9uKQorICAgICwgbV9pcGNDb25uZWN0aW9uKG1ha2VSZWYo
Y29ubmVjdGlvbi5jb25uZWN0aW9uKCkpKQogICAgICwgbV9ydGNNb25pdG9yKCp0aGlzKQogICAg
ICwgbV9ydGNOZXR3b3JrVGhyZWFkKGNyZWF0ZVRocmVhZCgpKQogICAgICwgbV9wYWNrZXRTb2Nr
ZXRGYWN0b3J5KG1ha2VVbmlxdWVSZWZXaXRob3V0RmFzdE1hbGxvY0NoZWNrPHJ0Yzo6QmFzaWNQ
YWNrZXRTb2NrZXRGYWN0b3J5PihtX3J0Y05ldHdvcmtUaHJlYWQuZ2V0KCkpKQpAQCAtODQsNiAr
ODYsNyBAQCBOZXR3b3JrUlRDUHJvdmlkZXI6Ok5ldHdvcmtSVENQcm92aWRlcihOZXR3b3JrQ29u
bmVjdGlvblRvV2ViUHJvY2VzcyYgY29ubmVjdGlvbgogI2lmICFSRUxFQVNFX0xPR19ESVNBQkxF
RAogICAgIHJ0Yzo6TG9nTWVzc2FnZTo6U2V0TG9nT3V0cHV0KFdlYktpdDJMb2dXZWJSVEMuc3Rh
dGUgPT0gV1RGTG9nQ2hhbm5lbFN0YXRlOjpPbiA/IHJ0Yzo6TFNfSU5GTyA6IHJ0Yzo6TFNfV0FS
TklORywgZG9SZWxlYXNlTG9nZ2luZyk7CiAjZW5kaWYKKyAgICBtX2Nvbm5lY3Rpb24tPmNvbm5l
Y3Rpb24oKS5hZGRUaHJlYWRNZXNzYWdlUmVjZWl2ZXIoTWVzc2FnZXM6Ok5ldHdvcmtSVENQcm92
aWRlcjo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCB0aGlzKTsKIH0KIAogTmV0d29ya1JUQ1Byb3Zp
ZGVyOjp+TmV0d29ya1JUQ1Byb3ZpZGVyKCkKQEAgLTEwMSw2ICsxMDQsNyBAQCB2b2lkIE5ldHdv
cmtSVENQcm92aWRlcjo6Y2xvc2UoKQogICAgIHdoaWxlICghbV9yZXNvbHZlcnMuaXNFbXB0eSgp
KQogICAgICAgICBzdG9wUmVzb2x2ZXIoKm1fcmVzb2x2ZXJzLmtleXMoKS5iZWdpbigpKTsKIAor
ICAgIG1fY29ubmVjdGlvbi0+Y29ubmVjdGlvbigpLnJlbW92ZVRocmVhZE1lc3NhZ2VSZWNlaXZl
cihNZXNzYWdlczo6TmV0d29ya1JUQ1Byb3ZpZGVyOjptZXNzYWdlUmVjZWl2ZXJOYW1lKCkpOwog
ICAgIG1fY29ubmVjdGlvbiA9IG51bGxwdHI7CiAgICAgbV9ydGNNb25pdG9yLnN0b3BVcGRhdGlu
ZygpOwogCkBAIC0xMTUsNiArMTE5LDcgQEAgdm9pZCBOZXR3b3JrUlRDUHJvdmlkZXI6OmNsb3Nl
KCkKIAogdm9pZCBOZXR3b3JrUlRDUHJvdmlkZXI6OmNyZWF0ZVNvY2tldChMaWJXZWJSVENTb2Nr
ZXRJZGVudGlmaWVyIGlkZW50aWZpZXIsIHN0ZDo6dW5pcXVlX3B0cjxydGM6OkFzeW5jUGFja2V0
U29ja2V0PiYmIHNvY2tldCwgU29ja2V0OjpUeXBlIHR5cGUsIFJlZjxJUEM6OkNvbm5lY3Rpb24+
JiYgY29ubmVjdGlvbikKIHsKKyAgICBBU1NFUlQobV9ydGNOZXR3b3JrVGhyZWFkLT5Jc0N1cnJl
bnQoKSk7CiAgICAgaWYgKCFzb2NrZXQpIHsKICAgICAgICAgUkVMRUFTRV9MT0dfRVJST1JfSUZf
QUxMT1dFRCgiY3JlYXRlU29ja2V0IHdpdGggJXUgc29ja2V0cyBpcyB1bmFibGUgdG8gY3JlYXRl
IGEgbmV3IHNvY2tldCIsIG1fc29ja2V0cy5zaXplKCkpOwogICAgICAgICBjb25uZWN0aW9uLT5z
ZW5kKE1lc3NhZ2VzOjpMaWJXZWJSVENOZXR3b3JrOjpTaWduYWxDbG9zZShpZGVudGlmaWVyLCAx
KSwgMCk7CkBAIC0xMjUsMjMgKzEzMCwyNSBAQCB2b2lkIE5ldHdvcmtSVENQcm92aWRlcjo6Y3Jl
YXRlU29ja2V0KExpYldlYlJUQ1NvY2tldElkZW50aWZpZXIgaWRlbnRpZmllciwgc3RkOgogCiB2
b2lkIE5ldHdvcmtSVENQcm92aWRlcjo6Y3JlYXRlVURQU29ja2V0KExpYldlYlJUQ1NvY2tldElk
ZW50aWZpZXIgaWRlbnRpZmllciwgY29uc3QgUlRDTmV0d29yazo6U29ja2V0QWRkcmVzcyYgYWRk
cmVzcywgdWludDE2X3QgbWluUG9ydCwgdWludDE2X3QgbWF4UG9ydCkKIHsKLSAgICBjYWxsT25S
VENOZXR3b3JrVGhyZWFkKFt0aGlzLCBpZGVudGlmaWVyLCBhZGRyZXNzID0gUlRDTmV0d29yazo6
aXNvbGF0ZWRDb3B5KGFkZHJlc3MudmFsdWUpLCBtaW5Qb3J0LCBtYXhQb3J0LCBjb25uZWN0aW9u
ID0gbWFrZVJlZihtX2Nvbm5lY3Rpb24tPmNvbm5lY3Rpb24oKSldKCkgbXV0YWJsZSB7Ci0gICAg
ICAgIHN0ZDo6dW5pcXVlX3B0cjxydGM6OkFzeW5jUGFja2V0U29ja2V0PiBzb2NrZXQobV9wYWNr
ZXRTb2NrZXRGYWN0b3J5LT5DcmVhdGVVZHBTb2NrZXQoYWRkcmVzcywgbWluUG9ydCwgbWF4UG9y
dCkpOwotICAgICAgICBjcmVhdGVTb2NrZXQoaWRlbnRpZmllciwgV1RGTW92ZShzb2NrZXQpLCBT
b2NrZXQ6OlR5cGU6OlVEUCwgV1RGTW92ZShjb25uZWN0aW9uKSk7Ci0gICAgfSk7CisgICAgQVNT
RVJUKG1fcnRjTmV0d29ya1RocmVhZC0+SXNDdXJyZW50KCkpOworICAgIHN0ZDo6dW5pcXVlX3B0
cjxydGM6OkFzeW5jUGFja2V0U29ja2V0PiBzb2NrZXQobV9wYWNrZXRTb2NrZXRGYWN0b3J5LT5D
cmVhdGVVZHBTb2NrZXQoYWRkcmVzcy52YWx1ZSwgbWluUG9ydCwgbWF4UG9ydCkpOworICAgIGNy
ZWF0ZVNvY2tldChpZGVudGlmaWVyLCBXVEZNb3ZlKHNvY2tldCksIFNvY2tldDo6VHlwZTo6VURQ
LCBtX2lwY0Nvbm5lY3Rpb24uY29weVJlZigpKTsKIH0KIAogdm9pZCBOZXR3b3JrUlRDUHJvdmlk
ZXI6OmNyZWF0ZVNlcnZlclRDUFNvY2tldChMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyIGlkZW50
aWZpZXIsIGNvbnN0IFJUQ05ldHdvcms6OlNvY2tldEFkZHJlc3MmIGFkZHJlc3MsIHVpbnQxNl90
IG1pblBvcnQsIHVpbnQxNl90IG1heFBvcnQsIGludCBvcHRpb25zKQogewotICAgIGlmICghbV9p
c0xpc3RlbmluZ1NvY2tldEF1dGhvcml6ZWQpIHsKLSAgICAgICAgaWYgKG1fY29ubmVjdGlvbikK
LSAgICAgICAgICAgIG1fY29ubmVjdGlvbi0+Y29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6Okxp
YldlYlJUQ05ldHdvcms6OlNpZ25hbENsb3NlKGlkZW50aWZpZXIsIDEpLCAwKTsKLSAgICAgICAg
cmV0dXJuOwotICAgIH0KKyAgICBBU1NFUlQobV9ydGNOZXR3b3JrVGhyZWFkLT5Jc0N1cnJlbnQo
KSk7CisgICAgY2FsbE9uTWFpblRocmVhZChbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYo
KnRoaXMpLCBpZGVudGlmaWVyLCBhZGRyZXNzLCBtaW5Qb3J0LCBtYXhQb3J0LCBvcHRpb25zXSB7
CisgICAgICAgIGlmICghbV9pc0xpc3RlbmluZ1NvY2tldEF1dGhvcml6ZWQpIHsKKyAgICAgICAg
ICAgIGlmIChtX2Nvbm5lY3Rpb24pCisgICAgICAgICAgICAgICAgbV9jb25uZWN0aW9uLT5jb25u
ZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6TGliV2ViUlRDTmV0d29yazo6U2lnbmFsQ2xvc2UoaWRl
bnRpZmllciwgMSksIDApOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CiAKLSAgICBj
YWxsT25SVENOZXR3b3JrVGhyZWFkKFt0aGlzLCBpZGVudGlmaWVyLCBhZGRyZXNzID0gUlRDTmV0
d29yazo6aXNvbGF0ZWRDb3B5KGFkZHJlc3MudmFsdWUpLCBtaW5Qb3J0LCBtYXhQb3J0LCBvcHRp
b25zLCBjb25uZWN0aW9uID0gbWFrZVJlZihtX2Nvbm5lY3Rpb24tPmNvbm5lY3Rpb24oKSldKCkg
bXV0YWJsZSB7Ci0gICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxydGM6OkFzeW5jUGFja2V0U29ja2V0
PiBzb2NrZXQobV9wYWNrZXRTb2NrZXRGYWN0b3J5LT5DcmVhdGVTZXJ2ZXJUY3BTb2NrZXQoYWRk
cmVzcywgbWluUG9ydCwgbWF4UG9ydCwgb3B0aW9ucykpOwotICAgICAgICBjcmVhdGVTb2NrZXQo
aWRlbnRpZmllciwgV1RGTW92ZShzb2NrZXQpLCBTb2NrZXQ6OlR5cGU6OlNlcnZlclRDUCwgV1RG
TW92ZShjb25uZWN0aW9uKSk7CisgICAgICAgIGNhbGxPblJUQ05ldHdvcmtUaHJlYWQoW3RoaXMs
IGlkZW50aWZpZXIsIGFkZHJlc3MgPSBSVENOZXR3b3JrOjppc29sYXRlZENvcHkoYWRkcmVzcy52
YWx1ZSksIG1pblBvcnQsIG1heFBvcnQsIG9wdGlvbnMsIGNvbm5lY3Rpb24gPSBtYWtlUmVmKG1f
Y29ubmVjdGlvbi0+Y29ubmVjdGlvbigpKV0oKSBtdXRhYmxlIHsKKyAgICAgICAgICAgIHN0ZDo6
dW5pcXVlX3B0cjxydGM6OkFzeW5jUGFja2V0U29ja2V0PiBzb2NrZXQobV9wYWNrZXRTb2NrZXRG
YWN0b3J5LT5DcmVhdGVTZXJ2ZXJUY3BTb2NrZXQoYWRkcmVzcywgbWluUG9ydCwgbWF4UG9ydCwg
b3B0aW9ucykpOworICAgICAgICAgICAgY3JlYXRlU29ja2V0KGlkZW50aWZpZXIsIFdURk1vdmUo
c29ja2V0KSwgU29ja2V0OjpUeXBlOjpTZXJ2ZXJUQ1AsIG1faXBjQ29ubmVjdGlvbi5jb3B5UmVm
KCkpOworICAgICAgICB9KTsKICAgICB9KTsKIH0KIApAQCAtMTU0LDU2ICsxNjEsOTEgQEAgcnRj
OjpQcm94eUluZm8gTmV0d29ya1JUQ1Byb3ZpZGVyOjpwcm94eUluZm9Gcm9tU2Vzc2lvbihjb25z
dCBSVENOZXR3b3JrOjpTb2NrZXQKIAogdm9pZCBOZXR3b3JrUlRDUHJvdmlkZXI6OmNyZWF0ZUNs
aWVudFRDUFNvY2tldChMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyIGlkZW50aWZpZXIsIGNvbnN0
IFJUQ05ldHdvcms6OlNvY2tldEFkZHJlc3MmIGxvY2FsQWRkcmVzcywgY29uc3QgUlRDTmV0d29y
azo6U29ja2V0QWRkcmVzcyYgcmVtb3RlQWRkcmVzcywgU3RyaW5nJiYgdXNlckFnZW50LCBpbnQg
b3B0aW9ucykKIHsKLSAgICBhdXRvKiBzZXNzaW9uID0gbV9jb25uZWN0aW9uLT5uZXR3b3JrU2Vz
c2lvbigpOwotICAgIGlmICghc2Vzc2lvbikgewotICAgICAgICBtX2Nvbm5lY3Rpb24tPmNvbm5l
Y3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpMaWJXZWJSVENOZXR3b3JrOjpTaWduYWxDbG9zZShpZGVu
dGlmaWVyLCAxKSwgMCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0gICAgY2FsbE9uUlRDTmV0
d29ya1RocmVhZChbdGhpcywgaWRlbnRpZmllciwgbG9jYWxBZGRyZXNzID0gUlRDTmV0d29yazo6
aXNvbGF0ZWRDb3B5KGxvY2FsQWRkcmVzcy52YWx1ZSksIHJlbW90ZUFkZHJlc3MgPSBSVENOZXR3
b3JrOjppc29sYXRlZENvcHkocmVtb3RlQWRkcmVzcy52YWx1ZSksIHByb3h5SW5mbyA9IHByb3h5
SW5mb0Zyb21TZXNzaW9uKHJlbW90ZUFkZHJlc3MsICpzZXNzaW9uKSwgdXNlckFnZW50ID0gV1RG
TW92ZSh1c2VyQWdlbnQpLmlzb2xhdGVkQ29weSgpLCBvcHRpb25zLCBjb25uZWN0aW9uID0gbWFr
ZVJlZihtX2Nvbm5lY3Rpb24tPmNvbm5lY3Rpb24oKSldKCkgbXV0YWJsZSB7Ci0gICAgICAgIHJ0
Yzo6UGFja2V0U29ja2V0VGNwT3B0aW9ucyB0Y3BPcHRpb25zOwotICAgICAgICB0Y3BPcHRpb25z
Lm9wdHMgPSBvcHRpb25zOwotICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8cnRjOjpBc3luY1BhY2tl
dFNvY2tldD4gc29ja2V0KG1fcGFja2V0U29ja2V0RmFjdG9yeS0+Q3JlYXRlQ2xpZW50VGNwU29j
a2V0KGxvY2FsQWRkcmVzcywgcmVtb3RlQWRkcmVzcywgcHJveHlJbmZvLCB1c2VyQWdlbnQudXRm
OCgpLmRhdGEoKSwgdGNwT3B0aW9ucykpOwotICAgICAgICBjcmVhdGVTb2NrZXQoaWRlbnRpZmll
ciwgV1RGTW92ZShzb2NrZXQpLCBTb2NrZXQ6OlR5cGU6OkNsaWVudFRDUCwgV1RGTW92ZShjb25u
ZWN0aW9uKSk7CisgICAgY2FsbE9uTWFpblRocmVhZChbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1h
a2VSZWYoKnRoaXMpLCBpZGVudGlmaWVyLCBsb2NhbEFkZHJlc3MsIHJlbW90ZUFkZHJlc3MsIHVz
ZXJBZ2VudCA9IFdURk1vdmUodXNlckFnZW50KS5pc29sYXRlZENvcHkoKSwgb3B0aW9uc10oKSBt
dXRhYmxlIHsKKyAgICAgICAgYXV0byogc2Vzc2lvbiA9IG1fY29ubmVjdGlvbi0+bmV0d29ya1Nl
c3Npb24oKTsKKyAgICAgICAgaWYgKCFzZXNzaW9uKSB7CisgICAgICAgICAgICBtX2Nvbm5lY3Rp
b24tPmNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpMaWJXZWJSVENOZXR3b3JrOjpTaWduYWxD
bG9zZShpZGVudGlmaWVyLCAxKSwgMCk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0K
KyAgICAgICAgY2FsbE9uUlRDTmV0d29ya1RocmVhZChbdGhpcywgaWRlbnRpZmllciwgbG9jYWxB
ZGRyZXNzID0gUlRDTmV0d29yazo6aXNvbGF0ZWRDb3B5KGxvY2FsQWRkcmVzcy52YWx1ZSksIHJl
bW90ZUFkZHJlc3MgPSBSVENOZXR3b3JrOjppc29sYXRlZENvcHkocmVtb3RlQWRkcmVzcy52YWx1
ZSksIHByb3h5SW5mbyA9IHByb3h5SW5mb0Zyb21TZXNzaW9uKHJlbW90ZUFkZHJlc3MsICpzZXNz
aW9uKSwgdXNlckFnZW50ID0gV1RGTW92ZSh1c2VyQWdlbnQpLmlzb2xhdGVkQ29weSgpLCBvcHRp
b25zLCBjb25uZWN0aW9uID0gbWFrZVJlZihtX2Nvbm5lY3Rpb24tPmNvbm5lY3Rpb24oKSldKCkg
bXV0YWJsZSB7CisgICAgICAgICAgICBydGM6OlBhY2tldFNvY2tldFRjcE9wdGlvbnMgdGNwT3B0
aW9uczsKKyAgICAgICAgICAgIHRjcE9wdGlvbnMub3B0cyA9IG9wdGlvbnM7CisgICAgICAgICAg
ICBzdGQ6OnVuaXF1ZV9wdHI8cnRjOjpBc3luY1BhY2tldFNvY2tldD4gc29ja2V0KG1fcGFja2V0
U29ja2V0RmFjdG9yeS0+Q3JlYXRlQ2xpZW50VGNwU29ja2V0KGxvY2FsQWRkcmVzcywgcmVtb3Rl
QWRkcmVzcywgcHJveHlJbmZvLCB1c2VyQWdlbnQudXRmOCgpLmRhdGEoKSwgdGNwT3B0aW9ucykp
OworICAgICAgICAgICAgY3JlYXRlU29ja2V0KGlkZW50aWZpZXIsIFdURk1vdmUoc29ja2V0KSwg
U29ja2V0OjpUeXBlOjpDbGllbnRUQ1AsIG1faXBjQ29ubmVjdGlvbi5jb3B5UmVmKCkpOworICAg
ICAgICB9KTsKICAgICB9KTsKIH0KIAogdm9pZCBOZXR3b3JrUlRDUHJvdmlkZXI6OndyYXBOZXdU
Q1BDb25uZWN0aW9uKExpYldlYlJUQ1NvY2tldElkZW50aWZpZXIgaWRlbnRpZmllciwgTGliV2Vi
UlRDU29ja2V0SWRlbnRpZmllciBuZXdDb25uZWN0aW9uU29ja2V0SWRlbnRpZmllcikKIHsKLSAg
ICBjYWxsT25SVENOZXR3b3JrVGhyZWFkKFt0aGlzLCBpZGVudGlmaWVyLCBuZXdDb25uZWN0aW9u
U29ja2V0SWRlbnRpZmllciwgY29ubmVjdGlvbiA9IG1ha2VSZWYobV9jb25uZWN0aW9uLT5jb25u
ZWN0aW9uKCkpXSgpIG11dGFibGUgewotICAgICAgICBhdXRvIHNvY2tldCA9IG1fcGVuZGluZ0lu
Y29taW5nU29ja2V0cy50YWtlKG5ld0Nvbm5lY3Rpb25Tb2NrZXRJZGVudGlmaWVyKTsKLSAgICAg
ICAgUkVMRUFTRV9MT0dfSUYoIXNvY2tldCwgV2ViUlRDLCAiTmV0d29ya1JUQ1Byb3ZpZGVyOjp3
cmFwTmV3VENQQ29ubmVjdGlvbiByZWNlaXZlZCBhbiBpbnZhbGlkIHNvY2tldCBpZGVudGlmaWVy
Iik7Ci0gICAgICAgIGlmIChzb2NrZXQpCi0gICAgICAgICAgICBhZGRTb2NrZXQoaWRlbnRpZmll
ciwgbWFrZVVuaXF1ZTxMaWJXZWJSVENTb2NrZXRDbGllbnQ+KGlkZW50aWZpZXIsICp0aGlzLCBX
VEZNb3ZlKHNvY2tldCksIFNvY2tldDo6VHlwZTo6U2VydmVyQ29ubmVjdGlvblRDUCwgV1RGTW92
ZShjb25uZWN0aW9uKSkpOwotICAgIH0pOworICAgIEFTU0VSVChtX3J0Y05ldHdvcmtUaHJlYWQt
PklzQ3VycmVudCgpKTsKKyAgICBhdXRvIHNvY2tldCA9IG1fcGVuZGluZ0luY29taW5nU29ja2V0
cy50YWtlKG5ld0Nvbm5lY3Rpb25Tb2NrZXRJZGVudGlmaWVyKTsKKyAgICBSRUxFQVNFX0xPR19J
Righc29ja2V0LCBXZWJSVEMsICJOZXR3b3JrUlRDUHJvdmlkZXI6OndyYXBOZXdUQ1BDb25uZWN0
aW9uIHJlY2VpdmVkIGFuIGludmFsaWQgc29ja2V0IGlkZW50aWZpZXIiKTsKKyAgICBpZiAoc29j
a2V0KQorICAgICAgICBhZGRTb2NrZXQoaWRlbnRpZmllciwgbWFrZVVuaXF1ZTxMaWJXZWJSVENT
b2NrZXRDbGllbnQ+KGlkZW50aWZpZXIsICp0aGlzLCBXVEZNb3ZlKHNvY2tldCksIFNvY2tldDo6
VHlwZTo6U2VydmVyQ29ubmVjdGlvblRDUCwgbV9pcGNDb25uZWN0aW9uLmNvcHlSZWYoKSkpOwor
fQorCit2b2lkIE5ldHdvcmtSVENQcm92aWRlcjo6c2VuZFRvU29ja2V0KExpYldlYlJUQ1NvY2tl
dElkZW50aWZpZXIgaWRlbnRpZmllciwgY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJiBkYXRhLCBS
VENOZXR3b3JrOjpTb2NrZXRBZGRyZXNzJiYgYWRkcmVzcywgUlRDUGFja2V0T3B0aW9ucyYmIG9w
dGlvbnMpCit7CisgICAgQVNTRVJUKG1fcnRjTmV0d29ya1RocmVhZC0+SXNDdXJyZW50KCkpOwor
ICAgIGF1dG8qIHNvY2tldCA9IG1fc29ja2V0cy5nZXQoaWRlbnRpZmllcik7CisgICAgaWYgKCFz
b2NrZXQpCisgICAgICAgIHJldHVybjsKKworICAgIHNvY2tldC0+c2VuZFRvKGRhdGEuZGF0YSgp
LCBkYXRhLnNpemUoKSwgYWRkcmVzcy52YWx1ZSwgb3B0aW9ucy5vcHRpb25zKTsKK30KKwordm9p
ZCBOZXR3b3JrUlRDUHJvdmlkZXI6OmNsb3NlU29ja2V0KExpYldlYlJUQ1NvY2tldElkZW50aWZp
ZXIgaWRlbnRpZmllcikKK3sKKyAgICBBU1NFUlQobV9ydGNOZXR3b3JrVGhyZWFkLT5Jc0N1cnJl
bnQoKSk7CisgICAgYXV0byogc29ja2V0ID0gbV9zb2NrZXRzLmdldChpZGVudGlmaWVyKTsKKyAg
ICBpZiAoIXNvY2tldCkKKyAgICAgICAgcmV0dXJuOworICAgIHNvY2tldC0+Y2xvc2UoKTsKK30K
Kwordm9pZCBOZXR3b3JrUlRDUHJvdmlkZXI6OnNldFNvY2tldE9wdGlvbihMaWJXZWJSVENTb2Nr
ZXRJZGVudGlmaWVyIGlkZW50aWZpZXIsIGludCBvcHRpb24sIGludCB2YWx1ZSkKK3sKKyAgICBB
U1NFUlQobV9ydGNOZXR3b3JrVGhyZWFkLT5Jc0N1cnJlbnQoKSk7CisgICAgYXV0byogc29ja2V0
ID0gbV9zb2NrZXRzLmdldChpZGVudGlmaWVyKTsKKyAgICBpZiAoIXNvY2tldCkKKyAgICAgICAg
cmV0dXJuOworICAgIHNvY2tldC0+c2V0T3B0aW9uKG9wdGlvbiwgdmFsdWUpOwogfQogCiB2b2lk
IE5ldHdvcmtSVENQcm92aWRlcjo6YWRkU29ja2V0KExpYldlYlJUQ1NvY2tldElkZW50aWZpZXIg
aWRlbnRpZmllciwgc3RkOjp1bmlxdWVfcHRyPFNvY2tldD4mJiBzb2NrZXQpCiB7CisgICAgQVNT
RVJUKG1fcnRjTmV0d29ya1RocmVhZC0+SXNDdXJyZW50KCkpOwogICAgIG1fc29ja2V0cy5hZGQo
aWRlbnRpZmllciwgV1RGTW92ZShzb2NrZXQpKTsKIH0KIAogc3RkOjp1bmlxdWVfcHRyPE5ldHdv
cmtSVENQcm92aWRlcjo6U29ja2V0PiBOZXR3b3JrUlRDUHJvdmlkZXI6OnRha2VTb2NrZXQoTGli
V2ViUlRDU29ja2V0SWRlbnRpZmllciBpZGVudGlmaWVyKQogeworICAgIEFTU0VSVChtX3J0Y05l
dHdvcmtUaHJlYWQtPklzQ3VycmVudCgpKTsKICAgICByZXR1cm4gbV9zb2NrZXRzLnRha2UoaWRl
bnRpZmllcik7CiB9CiAKIHZvaWQgTmV0d29ya1JUQ1Byb3ZpZGVyOjpuZXdDb25uZWN0aW9uKFNv
Y2tldCYgc2VydmVyU29ja2V0LCBzdGQ6OnVuaXF1ZV9wdHI8cnRjOjpBc3luY1BhY2tldFNvY2tl
dD4mJiBuZXdTb2NrZXQpCiB7CisgICAgQVNTRVJUKG1fcnRjTmV0d29ya1RocmVhZC0+SXNDdXJy
ZW50KCkpOwogICAgIGF1dG8gaW5jb21pbmdTb2NrZXRJZGVudGlmaWVyID0gTGliV2ViUlRDU29j
a2V0SWRlbnRpZmllcjo6Z2VuZXJhdGUoKTsKLSAgICBzZW5kRnJvbU1haW5UaHJlYWQoW2lkZW50
aWZpZXIgPSBzZXJ2ZXJTb2NrZXQuaWRlbnRpZmllcigpLCBpbmNvbWluZ1NvY2tldElkZW50aWZp
ZXIsIHJlbW90ZUFkZHJlc3MgPSBSVENOZXR3b3JrOjppc29sYXRlZENvcHkobmV3U29ja2V0LT5H
ZXRSZW1vdGVBZGRyZXNzKCkpXShJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24pIHsKLSAgICAg
ICAgY29ubmVjdGlvbi5zZW5kKE1lc3NhZ2VzOjpMaWJXZWJSVENOZXR3b3JrOjpTaWduYWxOZXdD
b25uZWN0aW9uKGlkZW50aWZpZXIsIGluY29taW5nU29ja2V0SWRlbnRpZmllciwgUlRDTmV0d29y
azo6U29ja2V0QWRkcmVzcyhyZW1vdGVBZGRyZXNzKSksIDApOwotICAgIH0pOworICAgIG1faXBj
Q29ubmVjdGlvbi0+c2VuZChNZXNzYWdlczo6TGliV2ViUlRDTmV0d29yazo6U2lnbmFsTmV3Q29u
bmVjdGlvbihzZXJ2ZXJTb2NrZXQuaWRlbnRpZmllcigpLCBpbmNvbWluZ1NvY2tldElkZW50aWZp
ZXIsIFJUQ05ldHdvcms6OlNvY2tldEFkZHJlc3MobmV3U29ja2V0LT5HZXRSZW1vdGVBZGRyZXNz
KCkpKSwgMCk7CiAgICAgbV9wZW5kaW5nSW5jb21pbmdTb2NrZXRzLmFkZChpbmNvbWluZ1NvY2tl
dElkZW50aWZpZXIsIFdURk1vdmUobmV3U29ja2V0KSk7CiB9CiAKLXZvaWQgTmV0d29ya1JUQ1By
b3ZpZGVyOjpkaWRSZWNlaXZlTmV0d29ya1JUQ1NvY2tldE1lc3NhZ2UoSVBDOjpDb25uZWN0aW9u
JiBjb25uZWN0aW9uLCBJUEM6OkRlY29kZXImIGRlY29kZXIpCit2b2lkIE5ldHdvcmtSVENQcm92
aWRlcjo6ZGlzcGF0Y2hUb1RocmVhZChGdW5jdGlvbjx2b2lkKCk+JiYgY2FsbGJhY2spCiB7Ci0g
ICAgTmV0d29ya1JUQ1NvY2tldChtYWtlT2JqZWN0SWRlbnRpZmllcjxMaWJXZWJSVENTb2NrZXRJ
ZGVudGlmaWVyVHlwZT4oZGVjb2Rlci5kZXN0aW5hdGlvbklEKCkpLCAqdGhpcykuZGlkUmVjZWl2
ZU1lc3NhZ2UoY29ubmVjdGlvbiwgZGVjb2Rlcik7CisgICAgY2FsbE9uUlRDTmV0d29ya1RocmVh
ZCgoV1RGTW92ZShjYWxsYmFjaykpKTsKIH0KIAotCi12b2lkIE5ldHdvcmtSVENQcm92aWRlcjo6
Y3JlYXRlUmVzb2x2ZXIoTGliV2ViUlRDUmVzb2x2ZXJJZGVudGlmaWVyIGlkZW50aWZpZXIsIGNv
bnN0IFN0cmluZyYgYWRkcmVzcykKK3ZvaWQgTmV0d29ya1JUQ1Byb3ZpZGVyOjpjcmVhdGVSZXNv
bHZlcihMaWJXZWJSVENSZXNvbHZlcklkZW50aWZpZXIgaWRlbnRpZmllciwgU3RyaW5nJiYgYWRk
cmVzcykKIHsKKyAgICBpZiAoIWlzTWFpblRocmVhZCgpKSB7CisgICAgICAgIGNhbGxPbk1haW5U
aHJlYWQoW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgaWRlbnRpZmllciwg
YWRkcmVzcyA9IFdURk1vdmUoYWRkcmVzcykuaXNvbGF0ZWRDb3B5KCldKCkgbXV0YWJsZSB7Cisg
ICAgICAgICAgICBjcmVhdGVSZXNvbHZlcihpZGVudGlmaWVyLCBXVEZNb3ZlKGFkZHJlc3MpKTsK
KyAgICAgICAgfSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CiAgICAgV2ViQ29yZTo6RE5TQ29t
cGxldGlvbkhhbmRsZXIgY29tcGxldGlvbkhhbmRsZXIgPSBbdGhpcywgaWRlbnRpZmllcl0oYXV0
byYmIHJlc3VsdCkgewogICAgICAgICBpZiAoIXJlc3VsdC5oYXNfdmFsdWUoKSkgewogICAgICAg
ICAgICAgaWYgKHJlc3VsdC5lcnJvcigpICE9IFdlYkNvcmU6OkROU0Vycm9yOjpDYW5jZWxsZWQp
CkBAIC0yMzQsNiArMjc2LDEyIEBAIHZvaWQgTmV0d29ya1JUQ1Byb3ZpZGVyOjpjcmVhdGVSZXNv
bHZlcihMaWJXZWJSVENSZXNvbHZlcklkZW50aWZpZXIgaWRlbnRpZmllciwKIAogdm9pZCBOZXR3
b3JrUlRDUHJvdmlkZXI6OnN0b3BSZXNvbHZlcihMaWJXZWJSVENSZXNvbHZlcklkZW50aWZpZXIg
aWRlbnRpZmllcikKIHsKKyAgICBpZiAoIWlzTWFpblRocmVhZCgpKSB7CisgICAgICAgIGNhbGxP
bk1haW5UaHJlYWQoW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgaWRlbnRp
Zmllcl0geworICAgICAgICAgICAgc3RvcFJlc29sdmVyKGlkZW50aWZpZXIpOworICAgICAgICB9
KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KICNpZiBQTEFURk9STShDT0NPQSkKICAgICBpZiAo
YXV0byByZXNvbHZlciA9IG1fcmVzb2x2ZXJzLnRha2UoaWRlbnRpZmllcikpCiAgICAgICAgIHJl
c29sdmVyLT5zdG9wKCk7CkBAIC0yNDQsNiArMjkyLDcgQEAgdm9pZCBOZXR3b3JrUlRDUHJvdmlk
ZXI6OnN0b3BSZXNvbHZlcihMaWJXZWJSVENSZXNvbHZlcklkZW50aWZpZXIgaWRlbnRpZmllcikK
IAogdm9pZCBOZXR3b3JrUlRDUHJvdmlkZXI6OmNsb3NlTGlzdGVuaW5nU29ja2V0cyhGdW5jdGlv
bjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CisgICAgQVNTRVJUKGlzTWFpblRocmVh
ZCgpKTsKICAgICBpZiAoIW1faXNMaXN0ZW5pbmdTb2NrZXRBdXRob3JpemVkKSB7CiAgICAgICAg
IGNvbXBsZXRpb25IYW5kbGVyKCk7CiAgICAgICAgIHJldHVybjsKQEAgLTI5MSwxNCArMzQwLDYg
QEAgdm9pZCBOZXR3b3JrUlRDUHJvdmlkZXI6OmNhbGxPblJUQ05ldHdvcmtUaHJlYWQoRnVuY3Rp
b248dm9pZCgpPiYmIGNhbGxiYWNrKQogICAgIG1fcnRjTmV0d29ya1RocmVhZC0+UG9zdChSVENf
RlJPTV9IRVJFLCB0aGlzLCAxLCBuZXcgTmV0d29ya01lc3NhZ2VEYXRhKCp0aGlzLCBXVEZNb3Zl
KGNhbGxiYWNrKSkpOwogfQogCi12b2lkIE5ldHdvcmtSVENQcm92aWRlcjo6Y2FsbFNvY2tldChM
aWJXZWJSVENTb2NrZXRJZGVudGlmaWVyIGlkZW50aWZpZXIsIEZ1bmN0aW9uPHZvaWQoU29ja2V0
Jik+JiYgY2FsbGJhY2spCi17Ci0gICAgY2FsbE9uUlRDTmV0d29ya1RocmVhZChbdGhpcywgaWRl
bnRpZmllciwgY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNrKV0oKSB7Ci0gICAgICAgIGlmIChh
dXRvKiBzb2NrZXQgPSBtX3NvY2tldHMuZ2V0KGlkZW50aWZpZXIpKQotICAgICAgICAgICAgY2Fs
bGJhY2soKnNvY2tldCk7Ci0gICAgfSk7Ci19Ci0KIHZvaWQgTmV0d29ya1JUQ1Byb3ZpZGVyOjpz
ZW5kRnJvbU1haW5UaHJlYWQoRnVuY3Rpb248dm9pZChJUEM6OkNvbm5lY3Rpb24mKT4mJiBjYWxs
YmFjaykKIHsKICAgICBjYWxsT25NYWluVGhyZWFkKFtwcm92aWRlciA9IG1ha2VSZWYoKnRoaXMp
LCBjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spXSgpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENQcm92aWRlci5oIGIvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1Byb3ZpZGVyLmgKaW5kZXgg
MmVjMjBkMTMwZGJhODViNWMzMzMxZDcyZGU2OGFhYWY2ZGQ5YzE5NC4uNjQ0ODAyOWVjYzQ0OWI4
OTgzOGZjNzk5ZmY3MjdhMDRlMjVjZTk0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1Byb3ZpZGVyLmgKKysrIGIvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1Byb3ZpZGVyLmgKQEAgLTI3LDYgKzI3
LDcgQEAKIAogI2lmIFVTRShMSUJXRUJSVEMpCiAKKyNpbmNsdWRlICJDb25uZWN0aW9uLmgiCiAj
aW5jbHVkZSAiTGliV2ViUlRDUmVzb2x2ZXJJZGVudGlmaWVyLmgiCiAjaW5jbHVkZSAiTmV0d29y
a1JUQ01vbml0b3IuaCIKICNpbmNsdWRlICJSVENOZXR3b3JrLmgiCkBAIC01NiwxNyArNTcsMTYg
QEAgY2xhc3MgU2hhcmVkQnVmZmVyOwogbmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBOZXR3b3Jr
Q29ubmVjdGlvblRvV2ViUHJvY2VzczsKIGNsYXNzIE5ldHdvcmtSVENSZXNvbHZlcjsKLWNsYXNz
IE5ldHdvcmtSVENTb2NrZXQ7CiBjbGFzcyBOZXR3b3JrU2Vzc2lvbjsKK3N0cnVjdCBSVENQYWNr
ZXRPcHRpb25zOwogCi1jbGFzcyBOZXR3b3JrUlRDUHJvdmlkZXIgOiBwdWJsaWMgVGhyZWFkU2Fm
ZVJlZkNvdW50ZWQ8TmV0d29ya1JUQ1Byb3ZpZGVyPiwgcHVibGljIHJ0Yzo6TWVzc2FnZUhhbmRs
ZXIgeworY2xhc3MgTmV0d29ya1JUQ1Byb3ZpZGVyIDogcHVibGljIHJ0Yzo6TWVzc2FnZUhhbmRs
ZXIsIHB1YmxpYyBJUEM6OkNvbm5lY3Rpb246OlRocmVhZE1lc3NhZ2VSZWNlaXZlciB7CiBwdWJs
aWM6CiAgICAgc3RhdGljIFJlZjxOZXR3b3JrUlRDUHJvdmlkZXI+IGNyZWF0ZShOZXR3b3JrQ29u
bmVjdGlvblRvV2ViUHJvY2VzcyYgY29ubmVjdGlvbikgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBO
ZXR3b3JrUlRDUHJvdmlkZXIoY29ubmVjdGlvbikpOyB9CiAgICAgfk5ldHdvcmtSVENQcm92aWRl
cigpOwogCiAgICAgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6
OkRlY29kZXImKTsKICAgICB2b2lkIGRpZFJlY2VpdmVOZXR3b3JrUlRDTW9uaXRvck1lc3NhZ2Uo
SVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBJUEM6OkRlY29kZXImIGRlY29kZXIpIHsgbV9y
dGNNb25pdG9yLmRpZFJlY2VpdmVNZXNzYWdlKGNvbm5lY3Rpb24sIGRlY29kZXIpOyB9Ci0gICAg
dm9pZCBkaWRSZWNlaXZlTmV0d29ya1JUQ1NvY2tldE1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwg
SVBDOjpEZWNvZGVyJik7CiAKICAgICBjbGFzcyBTb2NrZXQgewogICAgIHB1YmxpYzoKQEAgLTc4
LDcgKzc4LDcgQEAgcHVibGljOgogCiAgICAgICAgIHZpcnR1YWwgdm9pZCBjbG9zZSgpID0gMDsK
ICAgICAgICAgdmlydHVhbCB2b2lkIHNldE9wdGlvbihpbnQgb3B0aW9uLCBpbnQgdmFsdWUpID0g
MDsKLSAgICAgICAgdmlydHVhbCB2b2lkIHNlbmRUbyhjb25zdCBXZWJDb3JlOjpTaGFyZWRCdWZm
ZXImLCBjb25zdCBydGM6OlNvY2tldEFkZHJlc3MmLCBjb25zdCBydGM6OlBhY2tldE9wdGlvbnMm
KSA9IDA7CisgICAgICAgIHZpcnR1YWwgdm9pZCBzZW5kVG8oY29uc3QgdWludDhfdCosIHNpemVf
dCwgY29uc3QgcnRjOjpTb2NrZXRBZGRyZXNzJiwgY29uc3QgcnRjOjpQYWNrZXRPcHRpb25zJikg
PSAwOwogICAgIH07CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8U29ja2V0PiB0YWtlU29ja2V0KFdl
YkNvcmU6OkxpYldlYlJUQ1NvY2tldElkZW50aWZpZXIpOwpAQCAtODYsNyArODYsNiBAQCBwdWJs
aWM6CiAKICAgICB2b2lkIGNsb3NlKCk7CiAKLSAgICB2b2lkIGNhbGxTb2NrZXQoV2ViQ29yZTo6
TGliV2ViUlRDU29ja2V0SWRlbnRpZmllciwgRnVuY3Rpb248dm9pZChTb2NrZXQmKT4mJik7CiAg
ICAgdm9pZCBjYWxsT25SVENOZXR3b3JrVGhyZWFkKEZ1bmN0aW9uPHZvaWQoKT4mJik7CiAgICAg
dm9pZCBzZW5kRnJvbU1haW5UaHJlYWQoRnVuY3Rpb248dm9pZChJUEM6OkNvbm5lY3Rpb24mKT4m
Jik7CiAKQEAgLTEwNCw4ICsxMDMsMTEgQEAgcHJpdmF0ZToKICAgICB2b2lkIGNyZWF0ZUNsaWVu
dFRDUFNvY2tldChXZWJDb3JlOjpMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyLCBjb25zdCBSVENO
ZXR3b3JrOjpTb2NrZXRBZGRyZXNzJiwgY29uc3QgUlRDTmV0d29yazo6U29ja2V0QWRkcmVzcyYs
IFN0cmluZyYmIHVzZXJBZ2VudCwgaW50KTsKICAgICB2b2lkIGNyZWF0ZVNlcnZlclRDUFNvY2tl
dChXZWJDb3JlOjpMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyLCBjb25zdCBSVENOZXR3b3JrOjpT
b2NrZXRBZGRyZXNzJiwgdWludDE2X3QgbWluUG9ydCwgdWludDE2X3QgbWF4UG9ydCwgaW50KTsK
ICAgICB2b2lkIHdyYXBOZXdUQ1BDb25uZWN0aW9uKFdlYkNvcmU6OkxpYldlYlJUQ1NvY2tldElk
ZW50aWZpZXIgaWRlbnRpZmllciwgV2ViQ29yZTo6TGliV2ViUlRDU29ja2V0SWRlbnRpZmllciBu
ZXdDb25uZWN0aW9uU29ja2V0SWRlbnRpZmllcik7CisgICAgdm9pZCBzZW5kVG9Tb2NrZXQoV2Vi
Q29yZTo6TGliV2ViUlRDU29ja2V0SWRlbnRpZmllciwgY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNl
JiwgUlRDTmV0d29yazo6U29ja2V0QWRkcmVzcyYmLCBSVENQYWNrZXRPcHRpb25zJiYpOworICAg
IHZvaWQgY2xvc2VTb2NrZXQoV2ViQ29yZTo6TGliV2ViUlRDU29ja2V0SWRlbnRpZmllcik7Cisg
ICAgdm9pZCBzZXRTb2NrZXRPcHRpb24oV2ViQ29yZTo6TGliV2ViUlRDU29ja2V0SWRlbnRpZmll
ciwgaW50IG9wdGlvbiwgaW50IHZhbHVlKTsKIAotICAgIHZvaWQgY3JlYXRlUmVzb2x2ZXIoTGli
V2ViUlRDUmVzb2x2ZXJJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmKTsKKyAgICB2b2lkIGNyZWF0
ZVJlc29sdmVyKExpYldlYlJUQ1Jlc29sdmVySWRlbnRpZmllciwgU3RyaW5nJiYpOwogICAgIHZv
aWQgc3RvcFJlc29sdmVyKExpYldlYlJUQ1Jlc29sdmVySWRlbnRpZmllcik7CiAKICAgICB2b2lk
IGFkZFNvY2tldChXZWJDb3JlOjpMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyLCBzdGQ6OnVuaXF1
ZV9wdHI8U29ja2V0PiYmKTsKQEAgLTExNCwxMSArMTE2LDE1IEBAIHByaXZhdGU6CiAKICAgICB2
b2lkIE9uTWVzc2FnZShydGM6Ok1lc3NhZ2UqKTsKIAorICAgIC8vIElQQzo6Q29ubmVjdGlvbjo6
VGhyZWFkTWVzc2FnZVJlY2VpdmVyCisgICAgdm9pZCBkaXNwYXRjaFRvVGhyZWFkKEZ1bmN0aW9u
PHZvaWQoKT4mJikgZmluYWw7CisKICAgICBzdGF0aWMgcnRjOjpQcm94eUluZm8gcHJveHlJbmZv
RnJvbVNlc3Npb24oY29uc3QgUlRDTmV0d29yazo6U29ja2V0QWRkcmVzcyYsIE5ldHdvcmtTZXNz
aW9uJik7CiAKICAgICBIYXNoTWFwPExpYldlYlJUQ1Jlc29sdmVySWRlbnRpZmllciwgc3RkOjp1
bmlxdWVfcHRyPE5ldHdvcmtSVENSZXNvbHZlcj4+IG1fcmVzb2x2ZXJzOwogICAgIEhhc2hNYXA8
V2ViQ29yZTo6TGliV2ViUlRDU29ja2V0SWRlbnRpZmllciwgc3RkOjp1bmlxdWVfcHRyPFNvY2tl
dD4+IG1fc29ja2V0czsKICAgICBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2VzcyogbV9jb25u
ZWN0aW9uOworICAgIFJlZjxJUEM6OkNvbm5lY3Rpb24+IG1faXBjQ29ubmVjdGlvbjsKICAgICBi
b29sIG1faXNTdGFydGVkIHsgdHJ1ZSB9OwogCiAgICAgTmV0d29ya1JUQ01vbml0b3IgbV9ydGNN
b25pdG9yOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy93ZWJydGMv
TmV0d29ya1JUQ1Byb3ZpZGVyLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy93ZWJydGMvTmV0d29ya1JUQ1Byb3ZpZGVyLm1lc3NhZ2VzLmluCmluZGV4IDAxOGQ4YjJi
OGExYWJhNzdjNzY2Y2ZhZDVmMGJhYTZlZTllMDlhNTcuLjhhMzYwYWY1Y2JmYmI2Yzk1OWQ3ZGQ3
NWM2NDQzMzA5NmY5MmM2MjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3Mvd2VicnRjL05ldHdvcmtSVENQcm92aWRlci5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDUHJvdmlkZXIubWVzc2FnZXMuaW4K
QEAgLTMwLDYgKzMwLDEwIEBAIG1lc3NhZ2VzIC0+IE5ldHdvcmtSVENQcm92aWRlciB7CiAKICAg
ICBDcmVhdGVSZXNvbHZlcihXZWJLaXQ6OkxpYldlYlJUQ1Jlc29sdmVySWRlbnRpZmllciBpZGVu
dGlmaWVyLCBTdHJpbmcgYWRkcmVzcykKICAgICBTdG9wUmVzb2x2ZXIoV2ViS2l0OjpMaWJXZWJS
VENSZXNvbHZlcklkZW50aWZpZXIgaWRlbnRpZmllcikKKworICAgIHZvaWQgU2VuZFRvU29ja2V0
KFdlYkNvcmU6OkxpYldlYlJUQ1NvY2tldElkZW50aWZpZXIgaWRlbnRpZmllciwgSVBDOjpEYXRh
UmVmZXJlbmNlIGRhdGEsIFdlYktpdDo6UlRDTmV0d29yazo6U29ja2V0QWRkcmVzcyBhZGRyZXNz
LCBzdHJ1Y3QgV2ViS2l0OjpSVENQYWNrZXRPcHRpb25zIG9wdGlvbnMpCisgICAgdm9pZCBDbG9z
ZVNvY2tldChXZWJDb3JlOjpMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVyIGlkZW50aWZpZXIpCisg
ICAgdm9pZCBTZXRTb2NrZXRPcHRpb24oV2ViQ29yZTo6TGliV2ViUlRDU29ja2V0SWRlbnRpZmll
ciBpZGVudGlmaWVyLCBpbnQgb3B0aW9uLCBpbnQgdmFsdWUpCiB9CiAKICNlbmRpZiAvLyBVU0Uo
TElCV0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy93ZWJy
dGMvTmV0d29ya1JUQ1NvY2tldC5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3dl
YnJ0Yy9OZXR3b3JrUlRDU29ja2V0LmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
ODIwZDA3YmMwZTcyNzRiNDc4YjRlMmE4NmZhYTk3MjdkZDJkZmM0ZC4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDU29ja2V0LmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDY5ICsw
LDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0g
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAot
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0g
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiTmV0d29y
a1JUQ1NvY2tldC5oIgotCi0jaWYgVVNFKExJQldFQlJUQykKLQotI2luY2x1ZGUgIkRhdGFSZWZl
cmVuY2UuaCIKLSNpbmNsdWRlICJOZXR3b3JrUlRDUHJvdmlkZXIuaCIKLSNpbmNsdWRlICJSVENQ
YWNrZXRPcHRpb25zLmgiCi0jaW5jbHVkZSA8V2ViQ29yZS9TaGFyZWRCdWZmZXIuaD4KLSNpbmNs
dWRlIDx3dGYvRnVuY3Rpb24uaD4KLQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLU5ldHdvcmtSVENT
b2NrZXQ6Ok5ldHdvcmtSVENTb2NrZXQoV2ViQ29yZTo6TGliV2ViUlRDU29ja2V0SWRlbnRpZmll
ciBpZGVudGlmaWVyLCBOZXR3b3JrUlRDUHJvdmlkZXImIHJ0Y1Byb3ZpZGVyKQotICAgIDogbV9p
ZGVudGlmaWVyKGlkZW50aWZpZXIpCi0gICAgLCBtX3J0Y1Byb3ZpZGVyKHJ0Y1Byb3ZpZGVyKQot
ewotfQotCi12b2lkIE5ldHdvcmtSVENTb2NrZXQ6OnNlbmRUbyhjb25zdCBJUEM6OkRhdGFSZWZl
cmVuY2UmIGRhdGEsIFJUQ05ldHdvcms6OlNvY2tldEFkZHJlc3MmJiBzb2NrZXRBZGRyZXNzLCBS
VENQYWNrZXRPcHRpb25zJiYgb3B0aW9ucykKLXsKLSAgICBhdXRvIGJ1ZmZlciA9IFdlYkNvcmU6
OlNoYXJlZEJ1ZmZlcjo6Y3JlYXRlKGRhdGEuZGF0YSgpLCBkYXRhLnNpemUoKSk7Ci0gICAgbV9y
dGNQcm92aWRlci5jYWxsU29ja2V0KG1faWRlbnRpZmllciwgW2J1ZmZlciA9IFdURk1vdmUoYnVm
ZmVyKSwgc29ja2V0QWRkcmVzcyA9IFdURk1vdmUoc29ja2V0QWRkcmVzcyksIG9wdGlvbnMgPSBX
VEZNb3ZlKG9wdGlvbnMub3B0aW9ucyldKGF1dG8mIHNvY2tldCkgewotICAgICAgICBzb2NrZXQu
c2VuZFRvKGJ1ZmZlci5nZXQoKSwgc29ja2V0QWRkcmVzcy52YWx1ZSwgb3B0aW9ucyk7Ci0gICAg
fSk7Ci19Ci0KLXZvaWQgTmV0d29ya1JUQ1NvY2tldDo6Y2xvc2UoKQotewotICAgIG1fcnRjUHJv
dmlkZXIuY2FsbFNvY2tldChtX2lkZW50aWZpZXIsIFtdKGF1dG8mIHNvY2tldCkgewotICAgICAg
ICBzb2NrZXQuY2xvc2UoKTsKLSAgICB9KTsKLX0KLSAgICAKLXZvaWQgTmV0d29ya1JUQ1NvY2tl
dDo6c2V0T3B0aW9uKGludCBvcHRpb24sIGludCB2YWx1ZSkKLXsKLSAgICBtX3J0Y1Byb3ZpZGVy
LmNhbGxTb2NrZXQobV9pZGVudGlmaWVyLCBbb3B0aW9uLCB2YWx1ZV0oYXV0byYgc29ja2V0KSB7
Ci0gICAgICAgIHNvY2tldC5zZXRPcHRpb24ob3B0aW9uLCB2YWx1ZSk7Ci0gICAgfSk7Ci19Ci0K
LX0gLy8gbmFtZXNwYWNlIFdlYktpdAotCi0jZW5kaWYgLy8gVVNFKExJQldFQlJUQykKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENTb2Nr
ZXQuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENTb2Nr
ZXQuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2YxYzYxZTlmZmU1M2FkODNkNmY2
OTY0ZDA0YzM2ODdmNjRiOGY3MC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRD
U29ja2V0LmgKKysrIC9kZXYvbnVsbApAQCAtMSw3NSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0
IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0g
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0g
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI3By
YWdtYSBvbmNlCi0KLSNpZiBVU0UoTElCV0VCUlRDKQotCi0jaW5jbHVkZSAiUlRDTmV0d29yay5o
IgotCi0jaW5jbHVkZSA8V2ViQ29yZS9MaWJXZWJSVENNYWNyb3MuaD4KLSNpbmNsdWRlIDxXZWJD
b3JlL0xpYldlYlJUQ1NvY2tldElkZW50aWZpZXIuaD4KLSNpbmNsdWRlIDx3ZWJydGMvcnRjX2Jh
c2UvYXN5bmNfcGFja2V0X3NvY2tldC5oPgotI2luY2x1ZGUgPHdlYnJ0Yy9ydGNfYmFzZS90aGly
ZF9wYXJ0eS9zaWdzbG90L3NpZ3Nsb3QuaD4KLQotbmFtZXNwYWNlIElQQyB7Ci1jbGFzcyBDb25u
ZWN0aW9uOwotY2xhc3MgRGF0YVJlZmVyZW5jZTsKLX0KLQotbmFtZXNwYWNlIHJ0YyB7Ci1jbGFz
cyBBc3luY1BhY2tldFNvY2tldDsKLWNsYXNzIFNvY2tldEFkZHJlc3M7Ci1zdHJ1Y3QgUGFja2V0
T3B0aW9uczsKLXN0cnVjdCBTZW50UGFja2V0OwotdHlwZWRlZiBpbnQ2NF90IFBhY2tldFRpbWU7
Ci19Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLWNsYXNzIFNoYXJlZEJ1ZmZlcjsKLX0KLQotbmFt
ZXNwYWNlIFdlYktpdCB7Ci0KLWNsYXNzIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOwot
Y2xhc3MgTmV0d29ya1JUQ1Byb3ZpZGVyOwotc3RydWN0IFJUQ1BhY2tldE9wdGlvbnM7Ci0KLWNs
YXNzIE5ldHdvcmtSVENTb2NrZXQgewotcHVibGljOgotICAgIE5ldHdvcmtSVENTb2NrZXQoV2Vi
Q29yZTo6TGliV2ViUlRDU29ja2V0SWRlbnRpZmllciwgTmV0d29ya1JUQ1Byb3ZpZGVyJik7Ci0g
ICAgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXIm
KTsKLXByaXZhdGU6Ci0gICAgdm9pZCBzZW5kVG8oY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJiwg
UlRDTmV0d29yazo6U29ja2V0QWRkcmVzcyYmLCBSVENQYWNrZXRPcHRpb25zJiYpOwotICAgIHZv
aWQgY2xvc2UoKTsKLSAgICB2b2lkIHNldE9wdGlvbihpbnQgb3B0aW9uLCBpbnQgdmFsdWUpOwot
Ci0gICAgV2ViQ29yZTo6TGliV2ViUlRDU29ja2V0SWRlbnRpZmllciBtX2lkZW50aWZpZXI7Ci0g
ICAgTmV0d29ya1JUQ1Byb3ZpZGVyJiBtX3J0Y1Byb3ZpZGVyOwotfTsKLQotfSAvLyBuYW1lc3Bh
Y2UgV2ViS2l0Ci0KLSNlbmRpZiAvLyBVU0UoTElCV0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1NvY2tldC5tZXNzYWdlcy5p
biBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENTb2NrZXQu
bWVzc2FnZXMuaW4KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ3YTU3OTE0ODExMjJl
NTU4MWNiMjZiMjdmOGQ4ZWQ2MTQ3M2VkYzAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0
d29ya1JUQ1NvY2tldC5tZXNzYWdlcy5pbgorKysgL2Rldi9udWxsCkBAIC0xLDMxICswLDAgQEAK
LSMgQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSMK
LSMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0Ci0jIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotIyBhcmUgbWV0OgotIyAxLiAgUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSMgICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KLSMgMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0jICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0jICAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgotIwotIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnIEFORAotIyBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAotIyBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFCi0jIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SCi0jIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKLSMgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IKLSMgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIKLSMgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwK
LSMgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLQotI2lmIFVTRShMSUJXRUJS
VEMpCi0KLW1lc3NhZ2VzIC0+IE5ldHdvcmtSVENTb2NrZXQgTm90UmVmQ291bnRlZCB7Ci0gICAg
dm9pZCBTZW5kVG8oSVBDOjpEYXRhUmVmZXJlbmNlIGRhdGEsIFdlYktpdDo6UlRDTmV0d29yazo6
U29ja2V0QWRkcmVzcyBhZGRyZXNzLCBzdHJ1Y3QgV2ViS2l0OjpSVENQYWNrZXRPcHRpb25zIG9w
dGlvbnMpCi0gICAgdm9pZCBDbG9zZSgpCi0gICAgdm9pZCBTZXRPcHRpb24oaW50IG9wdGlvbiwg
aW50IHZhbHVlKQotfQotCi0jZW5kaWYgLy8gVVNFKExJQldFQlJUQylzCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2Nv
YS50eHQKaW5kZXggMjUxOWI3ZWUyODNhNDAxNWFjYzJhNDM0MDExZDg1OWM0YTJjNjg3ZS4uYWI2
MmE5NDA0OTIxODdkZjU4ZmI2MTUyMzNlMjIwNGMwNTQ3MGRlNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CisrKyBiL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29h
LnR4dApAQCAtNTUsNyArNTUsNiBAQCBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ01v
bml0b3IuY3BwCiBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1Byb3ZpZGVyLmNwcAog
TmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENSZXNvbHZlci5jcHAKIE5ldHdvcmtQcm9j
ZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDUmVzb2x2ZXJDb2NvYS5jcHAKLU5ldHdvcmtQcm9jZXNzL3dl
YnJ0Yy9OZXR3b3JrUlRDU29ja2V0LmNwcAogCiBHUFVQcm9jZXNzL0VudHJ5UG9pbnQvQ29jb2Ev
WFBDU2VydmljZS9HUFVTZXJ2aWNlRW50cnlQb2ludC5tbQogR1BVUHJvY2Vzcy9pb3MvR1BVUHJv
Y2Vzc0lPUy5tbQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9Tb3VyY2VzR1RLLnR4dCBiL1Nv
dXJjZS9XZWJLaXQvU291cmNlc0dUSy50eHQKaW5kZXggNTE2N2FlOWRkY2JlZDZjMDJjMTA0MTVh
MGY5OThmYTIwYTM3MWU3Ny4uYjIwNzk1YWYyMDhiNmQ1MmYxODAzZmQ4YWQzYzc0OTBkMWNkNWIz
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9Tb3VyY2VzR1RLLnR4dAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1NvdXJjZXNHVEsudHh0CkBAIC00OSw3ICs0OSw2IEBAIE5ldHdvcmtQcm9jZXNzL3Nv
dXAvV2ViU29ja2V0VGFza1NvdXAuY3BwCiBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRD
U29ja2V0Q2xpZW50LmNwcAogTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENNb25pdG9y
LmNwcAogTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENQcm92aWRlci5jcHAKLU5ldHdv
cmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDU29ja2V0LmNwcAogCiBQbGF0Zm9ybS9JUEMvdW5p
eC9BdHRhY2htZW50VW5peC5jcHAKIFBsYXRmb3JtL0lQQy91bml4L0Nvbm5lY3Rpb25Vbml4LmNw
cApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9Tb3VyY2VzV1BFLnR4dCBiL1NvdXJjZS9XZWJL
aXQvU291cmNlc1dQRS50eHQKaW5kZXggZTNmOGY0N2Y5M2RkOTI5ZGE1OWIzNTY0NzJjMjBhZDlh
MGM4ZmI0Zi4uYTk0MGIzZGEwNTFlZThlN2M3NjRiZjEzZjk3OTNlOWNiMjNhZTA4MSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9Tb3VyY2VzV1BFLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L1Nv
dXJjZXNXUEUudHh0CkBAIC00OSw3ICs0OSw2IEBAIE5ldHdvcmtQcm9jZXNzL3NvdXAvV2ViU29j
a2V0VGFza1NvdXAuY3BwCiBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDU29ja2V0Q2xp
ZW50LmNwcAogTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENNb25pdG9yLmNwcAogTmV0
d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENQcm92aWRlci5jcHAKLU5ldHdvcmtQcm9jZXNz
L3dlYnJ0Yy9OZXR3b3JrUlRDU29ja2V0LmNwcAogCiBQbGF0Zm9ybS9JUEMvdW5peC9BdHRhY2ht
ZW50VW5peC5jcHAKIFBsYXRmb3JtL0lQQy91bml4L0Nvbm5lY3Rpb25Vbml4LmNwcApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Nv
dXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNjk0MDZm
NmM4YjFkYzgwZWE4MThkNWQxYWM2ZjExNmQwMzAyNGU2NS4uNGM5NDhhY2MzMWM1OTJjZjJkYTc5
YmNkM2Q5MTEwN2E5MGJiOTQ4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCkBAIC05MDQsNyArOTA0LDYgQEAKIAkJNDExQThEREIyMERERDFB
QzAwNjBEMzRGIC8qIFdLTW9ja01lZGlhRGV2aWNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTFBOEREOTIwRERCNjA1MDA2MEQzNEYgLyogV0tNb2Nr
TWVkaWFEZXZpY2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQk0MTFCMjI2NDFFMzcxQkE2MDA0RjczNjMgLyogTGliV2ViUlRDTmV0d29yay5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDExQjIyNjIxRTM3
MTI0NDAwNEY3MzYzIC8qIExpYldlYlJUQ05ldHdvcmsuaCAqLzsgfTsKIAkJNDEyODdENEUyMjVE
MUVDQjAwOUEzRTI2IC8qIFdlYlNvY2tldFRhc2tDb2NvYS5tbSBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMjg3RDRCMjI1QzA1QzQwMDlBM0UyNiAvKiBX
ZWJTb2NrZXRUYXNrQ29jb2EubW0gKi87IH07Ci0JCTQxMzA3NUFCMURFODVGMzMwMDM5RUM2OSAv
KiBOZXR3b3JrUlRDU29ja2V0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0MTMwNzU5OTFERTg0RkIwMDAzOUVDNjkgLyogTmV0d29ya1JUQ1NvY2tldC5o
ICovOyB9OwogCQk0MTMwNzVBQzFERTg1RjM3MDAzOUVDNjkgLyogTmV0d29ya1JUQ01vbml0b3Iu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMzA3NTlC
MURFODRGQjAwMDM5RUM2OSAvKiBOZXR3b3JrUlRDTW9uaXRvci5oICovOyB9OwogCQk0MTMwNzVB
RDFERTg1RjU4MDAzOUVDNjkgLyogTGliV2ViUlRDU29ja2V0LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTMwNzVBMDFERTg1RUU3MDAzOUVDNjkgLyog
TGliV2ViUlRDU29ja2V0LmggKi87IH07CiAJCTQxMzA3NUIwMURFODVGNTgwMDM5RUM2OSAvKiBX
ZWJSVENNb25pdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA0MTMwNzVBMzFERTg1RUU3MDAzOUVDNjkgLyogV2ViUlRDTW9uaXRvci5oICovOyB9OwpA
QCAtMTA3OCw3ICsxMDc3LDYgQEAKIAkJNTFGMDYwRTAxNjU0MzE3RjAwRjMyODFCIC8qIFdlYlJl
c291cmNlTG9hZGVyTWVzc2FnZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDUxRjA2MERFMTY1NDMxNzUwMEYzMjgxQiAvKiBXZWJSZXNvdXJjZUxvYWRl
ck1lc3NhZ2VzLmggKi87IH07CiAJCTUxRjA2MEUxMTY1NDMxODUwMEYzMjgxQiAvKiBXZWJSZXNv
dXJjZUxvYWRlck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1MUYwNjBERDE2NTQzMTc1MDBGMzI4MUIgLyogV2ViUmVzb3Vy
Y2VMb2FkZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OwogCQk1MUYwNjBFMTE2NTQzMTg1MDBG
MzI4MUMgLyogTGliV2ViUlRDTmV0d29ya01lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUYwNjBERDE2NTQzMTc1MDBGMzI4
MUMgLyogTGliV2ViUlRDTmV0d29ya01lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07Ci0JCTUxRjA2
MEUxMTY1NDMxODUwMEYzMjgxRCAvKiBOZXR3b3JrUlRDU29ja2V0TWVzc2FnZVJlY2VpdmVyLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRjA2MERE
MTY1NDMxNzUwMEYzMjgxRCAvKiBOZXR3b3JrUlRDU29ja2V0TWVzc2FnZVJlY2VpdmVyLmNwcCAq
LzsgfTsKIAkJNTFGMDYwRTExNjU0MzE4NTAwRjMyODFFIC8qIE5ldHdvcmtSVENNb25pdG9yTWVz
c2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDUxRjA2MEREMTY1NDMxNzUwMEYzMjgxRSAvKiBOZXR3b3JrUlRDTW9uaXRvck1lc3Nh
Z2VSZWNlaXZlci5jcHAgKi87IH07CiAJCTUxRjA2MEUxMTY1NDMxODUwMEYzMjgxRiAvKiBXZWJS
VENNb25pdG9yTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDUxRjA2MEREMTY1NDMxNzUwMEYzMjgxRiAvKiBXZWJSVENNb25p
dG9yTWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKIAkJNTFGMDYwRTExNjU0MzE4NTAwRjMyODJD
IC8qIFdlYlJUQ1Jlc29sdmVyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRjA2MEREMTY1NDMxNzUwMEYzMjgyQyAvKiBX
ZWJSVENSZXNvbHZlck1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CkBAIC0zNDA3LDEyICszNDA1
LDkgQEAKIAkJNDEyODdENEIyMjVDMDVDNDAwOUEzRTI2IC8qIFdlYlNvY2tldFRhc2tDb2NvYS5t
bSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdlYlNvY2tldFRhc2tD
b2NvYS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDEyODdENEMyMjVDMDVDNTAw
OUEzRTI2IC8qIFdlYlNvY2tldFRhc2tDb2NvYS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBXZWJTb2NrZXRUYXNrQ29jb2EuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNDEyODdENEQyMjVDMTYxRjAwOUEzRTI2IC8qIFdlYlNvY2tldFRhc2suaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViU29ja2V0VGFzay5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwotCQk0MTMwNzU5ODFERTg0RkIwMDAzOUVDNjkgLyogTmV0d29ya1JUQ1NvY2tl
dC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBOZXR3b3JrUlRDU29j
a2V0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNDEzMDc1OTkxREU4NEZCMDAw
MzlFQzY5IC8qIE5ldHdvcmtSVENTb2NrZXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gTmV0d29ya1JUQ1NvY2tldC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0
MTMwNzU5QTFERTg0RkIwMDAzOUVDNjkgLyogTmV0d29ya1JUQ01vbml0b3IuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTmV0d29ya1JUQ01vbml0b3IuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTMwNzU5QjFERTg0RkIwMDAzOUVDNjkgLyogTmV0
d29ya1JUQ01vbml0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTmV0d29y
a1JUQ01vbml0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDEzMDc1OUMxREU4
NEZCMDAwMzlFQzY5IC8qIE5ldHdvcmtSVENNb25pdG9yLm1lc3NhZ2VzLmluICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dDsgcGF0aCA9IE5ldHdvcmtSVENNb25pdG9yLm1lc3NhZ2VzLmluOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwotCQk0MTMwNzU5RDFERTg0RkIwMDAzOUVDNjkgLyogTmV0d29ya1JUQ1Nv
Y2tldC5tZXNzYWdlcy5pbiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBOZXR3b3JrUlRDU29ja2V0
Lm1lc3NhZ2VzLmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTMwNzU5RjFERTg1
RUU3MDAzOUVDNjkgLyogV2ViUlRDU29ja2V0Lm1lc3NhZ2VzLmluICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsg
bmFtZSA9IFdlYlJUQ1NvY2tldC5tZXNzYWdlcy5pbjsgcGF0aCA9IE5ldHdvcmsvd2VicnRjL1dl
YlJUQ1NvY2tldC5tZXNzYWdlcy5pbjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDEz
MDc1QTAxREU4NUVFNzAwMzlFQzY5IC8qIExpYldlYlJUQ1NvY2tldC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IG5hbWUgPSBMaWJXZWJSVENTb2NrZXQuaDsgcGF0aCA9IE5ldHdvcmsvd2Vi
cnRjL0xpYldlYlJUQ1NvY2tldC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTMw
NzVBMTFERTg1RUU3MDAzOUVDNjkgLyogTGliV2ViUlRDU29ja2V0LmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IExpYldlYlJUQ1NvY2tldC5jcHA7IHBhdGggPSBOZXR3
b3JrL3dlYnJ0Yy9MaWJXZWJSVENTb2NrZXQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtMzgyOCw3ICszODIzLDYgQEAKIAkJNTFFOTQ5OTYxRDc2MUNDNzAwRUM5RUI5IC8qIFVJ
R2FtZXBhZFByb3ZpZGVySU9TLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBw
YXRoID0gVUlHYW1lcGFkUHJvdmlkZXJJT1MubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTUxRjA2MEREMTY1NDMxNzUwMEYzMjgxQiAvKiBXZWJSZXNvdXJjZUxvYWRlck1lc3NhZ2VS
ZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBXZWJSZXNvdXJjZUxvYWRlck1lc3NhZ2VS
ZWNlaXZlci5jcHA7IHBhdGggPSBEZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYlJlc291cmNlTG9h
ZGVyTWVzc2FnZVJlY2VpdmVyLmNwcDsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsg
fTsKIAkJNTFGMDYwREQxNjU0MzE3NTAwRjMyODFDIC8qIExpYldlYlJUQ05ldHdvcmtNZXNzYWdl
UmVjZWl2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gTGliV2ViUlRDTmV0d29ya01lc3NhZ2VS
ZWNlaXZlci5jcHA7IHBhdGggPSBEZXJpdmVkU291cmNlcy9XZWJLaXQyL0xpYldlYlJUQ05ldHdv
cmtNZXNzYWdlUmVjZWl2ZXIuY3BwOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9
OwotCQk1MUYwNjBERDE2NTQzMTc1MDBGMzI4MUQgLyogTmV0d29ya1JUQ1NvY2tldE1lc3NhZ2VS
ZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBOZXR3b3JrUlRDU29ja2V0TWVzc2FnZVJl
Y2VpdmVyLmNwcDsgcGF0aCA9IERlcml2ZWRTb3VyY2VzL1dlYktpdDIvTmV0d29ya1JUQ1NvY2tl
dE1lc3NhZ2VSZWNlaXZlci5jcHA7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07
CiAJCTUxRjA2MEREMTY1NDMxNzUwMEYzMjgxRSAvKiBOZXR3b3JrUlRDTW9uaXRvck1lc3NhZ2VS
ZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBOZXR3b3JrUlRDTW9uaXRvck1lc3NhZ2VS
ZWNlaXZlci5jcHA7IHBhdGggPSBEZXJpdmVkU291cmNlcy9XZWJLaXQyL05ldHdvcmtSVENNb25p
dG9yTWVzc2FnZVJlY2VpdmVyLmNwcDsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsg
fTsKIAkJNTFGMDYwREQxNjU0MzE3NTAwRjMyODFGIC8qIFdlYlJUQ01vbml0b3JNZXNzYWdlUmVj
ZWl2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gV2ViUlRDTW9uaXRvck1lc3NhZ2VSZWNlaXZl
ci5jcHA7IHBhdGggPSBEZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYlJUQ01vbml0b3JNZXNzYWdl
UmVjZWl2ZXIuY3BwOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OwogCQk1MUYw
NjBERDE2NTQzMTc1MDBGMzI4MkMgLyogV2ViUlRDUmVzb2x2ZXJNZXNzYWdlUmVjZWl2ZXIuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBuYW1lID0gV2ViUlRDUmVzb2x2ZXJNZXNzYWdlUmVjZWl2ZXIuY3BwOyBw
YXRoID0gRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJSVENSZXNvbHZlck1lc3NhZ2VSZWNlaXZl
ci5jcHA7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CkBAIC03NTk1LDkgKzc1
ODksNiBAQAogCQkJCTQxMTJCNTQ4MUY5RkQzQUMwMEU2Nzg3NSAvKiBOZXR3b3JrUlRDUmVzb2x2
ZXIuaCAqLywKIAkJCQk0MTEyQjU0NzFGOUZEM0FCMDBFNjc5ODYgLyogTmV0d29ya1JUQ1Jlc29s
dmVyQ29jb2EuY3BwICovLAogCQkJCTQxMTJCNTQ4MUY5RkQzQUMwMEU2Nzk4NiAvKiBOZXR3b3Jr
UlRDUmVzb2x2ZXJDb2NvYS5oICovLAotCQkJCTQxMzA3NTk4MURFODRGQjAwMDM5RUM2OSAvKiBO
ZXR3b3JrUlRDU29ja2V0LmNwcCAqLywKLQkJCQk0MTMwNzU5OTFERTg0RkIwMDAzOUVDNjkgLyog
TmV0d29ya1JUQ1NvY2tldC5oICovLAotCQkJCTQxMzA3NTlEMURFODRGQjAwMDM5RUM2OSAvKiBO
ZXR3b3JrUlRDU29ja2V0Lm1lc3NhZ2VzLmluICovLAogCQkJKTsKIAkJCXBhdGggPSB3ZWJydGM7
CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtMTAwMzYsNyArMTAwMjcsNiBAQAogCQkJ
CUUxNTI1NTE5MTcwMTE4MTkwMDNEN0FEQiAvKiBOZXR3b3JrUmVzb3VyY2VMb2FkZXJNZXNzYWdl
cy5oICovLAogCQkJCTUxRjA2MEREMTY1NDMxNzUwMEYzMjgxRSAvKiBOZXR3b3JrUlRDTW9uaXRv
ck1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCiAJCQkJNTFGMDYwREQxNjU0MzE3NTAwRjMyODJFIC8q
IE5ldHdvcmtSVENQcm92aWRlck1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCi0JCQkJNTFGMDYwREQx
NjU0MzE3NTAwRjMyODFEIC8qIE5ldHdvcmtSVENTb2NrZXRNZXNzYWdlUmVjZWl2ZXIuY3BwICov
LAogCQkJCTMxRjA2MEREMTY1NDMxNzUwMEYzMjgxQyAvKiBOZXR3b3JrU29ja2V0Q2hhbm5lbE1l
c3NhZ2VSZWNlaXZlci5jcHAgKi8sCiAJCQkJNUMwQjE3NzQxRTdDODc5QzAwRTkxMjNDIC8qIE5l
dHdvcmtTb2NrZXRTdHJlYW1NZXNzYWdlUmVjZWl2ZXIuY3BwICovLAogCQkJCTVDMEIxNzc1MUU3
Qzg3OUMwMEU5MTIzQyAvKiBOZXR3b3JrU29ja2V0U3RyZWFtTWVzc2FnZXMuaCAqLywKQEAgLTEw
OTU5LDcgKzEwOTQ5LDYgQEAKIAkJCQk1QzE0MjZGMDFDMjNGODA5MDBENDExODMgLyogTmV0d29y
a1Jlc291cmNlTG9hZFBhcmFtZXRlcnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTQxMzA3NUFDMURF
ODVGMzcwMDM5RUM2OSAvKiBOZXR3b3JrUlRDTW9uaXRvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
NDFEQzQ1OTYxRTNENkUyMjAwQjExRjUxIC8qIE5ldHdvcmtSVENQcm92aWRlci5oIGluIEhlYWRl
cnMgKi8sCi0JCQkJNDEzMDc1QUIxREU4NUYzMzAwMzlFQzY5IC8qIE5ldHdvcmtSVENTb2NrZXQu
aCBpbiBIZWFkZXJzICovLAogCQkJCTVDMjBDQkEwMUJCMUVDRDgwMDg5NUJCMSAvKiBOZXR3b3Jr
U2Vzc2lvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTMyMTU5NTUxREJBRTcyOTAwNTRBQTNDIC8q
IE5ldHdvcmtTZXNzaW9uQ29jb2EuaCBpbiBIZWFkZXJzICovLAogCQkJCTQxNzkxNUI5MjI1NzA0
NkYwMEQ2Rjk3RSAvKiBOZXR3b3JrU29ja2V0Q2hhbm5lbC5oIGluIEhlYWRlcnMgKi8sCkBAIC0x
Mjc2MSw3ICsxMjc1MCw2IEBACiAJCQkJNTFGMDYwRTExNjU0MzE4NTAwRjMyODFFIC8qIE5ldHdv
cmtSVENNb25pdG9yTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQxNzY5
MDE0MjJGREQ0MUIwMEIxNTc2RCAvKiBOZXR3b3JrUlRDUHJvdmlkZXIubW0gaW4gU291cmNlcyAq
LywKIAkJCQk1MUYwNjBFMTE2NTQzMTg1MDBGMzI4MkUgLyogTmV0d29ya1JUQ1Byb3ZpZGVyTWVz
c2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTUxRjA2MEUxMTY1NDMxODUwMEYz
MjgxRCAvKiBOZXR3b3JrUlRDU29ja2V0TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTMxRjA2MEUxMTY1NDMxODUwMEYzMjgxQyAvKiBOZXR3b3JrU29ja2V0Q2hhbm5lbE1l
c3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1QzBCMTc3ODFFN0M4ODBFMDBF
OTEyM0MgLyogTmV0d29ya1NvY2tldFN0cmVhbU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQkyRDkyQTc5MDIxMkI2QUQ0MDBGNDkzRkQgLyogTlBJZGVudGlmaWVyRGF0YS5j
cHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9O
ZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENTb2NrZXQuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1NvY2tldC5jcHAKaW5kZXggZThlZTczNDE3ZWQ5
YTBmMDJkMGI4ZDRkNjVmOThmMzQzYmE1NzU3Yy4uZWNhZWIxNDQxODYyNzNhY2E5NmQ0MzUwYTQx
OGJkZDI0NTgyMWM3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdv
cmsvd2VicnRjL0xpYldlYlJUQ1NvY2tldC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1NvY2tldC5jcHAKQEAgLTMxLDcgKzMxLDcgQEAK
ICNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCiAjaW5jbHVkZSAiTGliV2ViUlRDU29ja2V0RmFj
dG9yeS5oIgogI2luY2x1ZGUgIk5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5oIgotI2luY2x1ZGUg
Ik5ldHdvcmtSVENTb2NrZXRNZXNzYWdlcy5oIgorI2luY2x1ZGUgIk5ldHdvcmtSVENQcm92aWRl
ck1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiUlRDUGFja2V0T3B0aW9ucy5oIgogI2luY2x1ZGUgIldl
YlByb2Nlc3MuaCIKICNpbmNsdWRlIDxXZWJDb3JlL1NoYXJlZEJ1ZmZlci5oPgpAQCAtMTM2LDcg
KzEzNiw3IEBAIGludCBMaWJXZWJSVENTb2NrZXQ6OlNlbmRUbyhjb25zdCB2b2lkICp2YWx1ZSwg
c2l6ZV90IHNpemUsIGNvbnN0IHJ0Yzo6U29ja2V0QWRkCiAgICAgICAgIHJldHVybiBzaXplOwog
CiAgICAgSVBDOjpEYXRhUmVmZXJlbmNlIGRhdGEoc3RhdGljX2Nhc3Q8Y29uc3QgdWludDhfdCo+
KHZhbHVlKSwgc2l6ZSk7Ci0gICAgY29ubmVjdGlvbi0+c2VuZChNZXNzYWdlczo6TmV0d29ya1JU
Q1NvY2tldDo6U2VuZFRvIHsgZGF0YSwgUlRDTmV0d29yazo6U29ja2V0QWRkcmVzcyB7IGFkZHJl
c3MgfSwgUlRDUGFja2V0T3B0aW9ucyB7IG9wdGlvbnMgfSB9LCBtX2lkZW50aWZpZXIpOworICAg
IGNvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6Ok5ldHdvcmtSVENQcm92aWRlcjo6U2VuZFRvU29j
a2V0IHsgbV9pZGVudGlmaWVyLCBkYXRhLCBSVENOZXR3b3JrOjpTb2NrZXRBZGRyZXNzIHsgYWRk
cmVzcyB9LCBSVENQYWNrZXRPcHRpb25zIHsgb3B0aW9ucyB9IH0sIDApOwogCiAgICAgcmV0dXJu
IHNpemU7CiB9CkBAIC0xNDksNyArMTQ5LDcgQEAgaW50IExpYldlYlJUQ1NvY2tldDo6Q2xvc2Uo
KQogCiAgICAgbV9zdGF0ZSA9IFNUQVRFX0NMT1NFRDsKIAotICAgIGNvbm5lY3Rpb24tPnNlbmQo
TWVzc2FnZXM6Ok5ldHdvcmtSVENTb2NrZXQ6OkNsb3NlKCksIG1faWRlbnRpZmllcik7CisgICAg
Y29ubmVjdGlvbi0+c2VuZChNZXNzYWdlczo6TmV0d29ya1JUQ1Byb3ZpZGVyOjpDbG9zZVNvY2tl
dCB7IG1faWRlbnRpZmllciB9LCAwKTsKIAogICAgIHJldHVybiAwOwogfQpAQCAtMTcxLDcgKzE3
MSw3IEBAIGludCBMaWJXZWJSVENTb2NrZXQ6OlNldE9wdGlvbihydGM6OlNvY2tldDo6T3B0aW9u
IG9wdGlvbiwgaW50IHZhbHVlKQogICAgIG1fb3B0aW9uc1tvcHRpb25dID0gdmFsdWU7CiAKICAg
ICBpZiAoYXV0byogY29ubmVjdGlvbiA9IG1fZmFjdG9yeS5jb25uZWN0aW9uKCkpCi0gICAgICAg
IGNvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6Ok5ldHdvcmtSVENTb2NrZXQ6OlNldE9wdGlvbihv
cHRpb24sIHZhbHVlKSwgbV9pZGVudGlmaWVyKTsKKyAgICAgICAgY29ubmVjdGlvbi0+c2VuZChN
ZXNzYWdlczo6TmV0d29ya1JUQ1Byb3ZpZGVyOjpTZXRTb2NrZXRPcHRpb24geyBtX2lkZW50aWZp
ZXIsIG9wdGlvbiwgdmFsdWUgfSwgMCk7CiAKICAgICByZXR1cm4gMDsKIH0KQEAgLTIwMSw3ICsy
MDEsNyBAQCB2b2lkIExpYldlYlJUQ1NvY2tldDo6c3VzcGVuZCgpCiAgICAgICAgIHJldHVybjsK
IAogICAgIGlmIChhdXRvKiBjb25uZWN0aW9uID0gbV9mYWN0b3J5LmNvbm5lY3Rpb24oKSkKLSAg
ICAgICAgY29ubmVjdGlvbi0+c2VuZChNZXNzYWdlczo6TmV0d29ya1JUQ1NvY2tldDo6Q2xvc2Ug
eyB9LCBtX2lkZW50aWZpZXIpOworICAgICAgICBjb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpO
ZXR3b3JrUlRDUHJvdmlkZXI6OkNsb3NlU29ja2V0IHsgbV9pZGVudGlmaWVyIH0sIDApOwogfQog
CiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
</data>

          </attachment>
      

    </bug>

</bugzilla>