<?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>236639</bug_id>
          
          <creation_ts>2022-02-15 02:01:06 -0800</creation_ts>
          <short_desc>[WebGPU] Update IDLs and stubs to latest version of the spec</short_desc>
          <delta_ts>2022-02-16 15:51:21 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</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="Myles C. Maxfield">mmaxfield</reporter>
          <assigned_to name="Myles C. Maxfield">mmaxfield</assigned_to>
          <cc>annulen</cc>
    
    <cc>cdumez</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>rmorisset</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1841632</commentid>
    <comment_count>0</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2022-02-15 02:01:06 -0800</bug_when>
    <thetext>[WebGPU] Update IDLs and stubs to latest version of the spec</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1841633</commentid>
    <comment_count>1</comment_count>
      <attachid>452005</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2022-02-15 02:02:23 -0800</bug_when>
    <thetext>Created attachment 452005
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1842107</commentid>
    <comment_count>2</comment_count>
      <attachid>452133</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2022-02-15 20:42:10 -0800</bug_when>
    <thetext>Created attachment 452133
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1842113</commentid>
    <comment_count>3</comment_count>
      <attachid>452137</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2022-02-15 20:56:46 -0800</bug_when>
    <thetext>Created attachment 452137
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1842117</commentid>
    <comment_count>4</comment_count>
      <attachid>452140</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2022-02-15 21:04:59 -0800</bug_when>
    <thetext>Created attachment 452140
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1842135</commentid>
    <comment_count>5</comment_count>
      <attachid>452145</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2022-02-15 22:20:22 -0800</bug_when>
    <thetext>Created attachment 452145
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1842229</commentid>
    <comment_count>6</comment_count>
      <attachid>452145</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2022-02-16 04:23:32 -0800</bug_when>
    <thetext>Comment on attachment 452145
Patch

rs=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1842346</commentid>
    <comment_count>7</comment_count>
      <attachid>452145</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2022-02-16 09:54:14 -0800</bug_when>
    <thetext>Comment on attachment 452145
Patch

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

&gt; Source/WebCore/Modules/WebGPU/GPUObjectBase.idl:32
&gt; +    attribute USVString? label; // FIXME: This is supposed to be (USVString or undefined) but our bindings generator can&apos;t handle that.

I should file a bug for this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1842424</commentid>
    <comment_count>8</comment_count>
      <attachid>452145</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2022-02-16 11:48:45 -0800</bug_when>
    <thetext>Comment on attachment 452145
Patch

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

&gt;&gt; Source/WebCore/Modules/WebGPU/GPUObjectBase.idl:32
&gt;&gt; +    attribute USVString? label; // FIXME: This is supposed to be (USVString or undefined) but our bindings generator can&apos;t handle that.
&gt; 
&gt; I should file a bug for this.

https://bugs.webkit.org/show_bug.cgi?id=236723</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1842502</commentid>
    <comment_count>9</comment_count>
      <attachid>452244</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2022-02-16 13:41:19 -0800</bug_when>
    <thetext>Created attachment 452244
Patch for committing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1842577</commentid>
    <comment_count>10</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2022-02-16 15:50:18 -0800</bug_when>
    <thetext>Committed r289978 (247364@trunk): &lt;https://commits.webkit.org/247364@trunk&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1842578</commentid>
    <comment_count>11</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-02-16 15:51:21 -0800</bug_when>
    <thetext>&lt;rdar://problem/89053370&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>452005</attachid>
            <date>2022-02-15 02:02:23 -0800</date>
            <delta_ts>2022-02-15 20:42:09 -0800</delta_ts>
            <desc>WIP</desc>
            <filename>bug-236639-20220215020223.patch</filename>
            <type>text/plain</type>
            <size>196100</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg5NjM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDIxODAzYjE4NDQ4MDNkM2QxNWYxOTEx
NmE3ODA0ZTU1MGEzNjBhYmUuLmMxYzc5NWM1OWE1ZWVjMTI4MzQzNzNlOWU4MDk4MjJlM2RhYWE4
ZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjItMDItMTUgIE15bGVzIEMuIE1heGZpZWxkICA8
bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViR1BVXSBVcGRhdGUgSURMcyBhbmQg
c3R1YnMgdG8gbGF0ZXN0IHZlcnNpb24gb2YgdGhlIHNwZWMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNjYzOQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd3RmL1BsYXRmb3JtSGF2ZS5oOgorCiAyMDIy
LTAyLTExICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBTdXBw
b3J0IHJlbW90ZSB2aWRlbyBmcmFtZXMgaW4gV2ViUlRDIHZpZGVvIHBpcGVsaW5lCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
aW5kZXggZTIxYmRhMzYyY2UzOTA3NjI0ZmUxYWJhMDU5Y2NhMjhmZTgzMGRhZi4uMzA2NTA0NTkx
YmZmYzJiM2Q0ZDJkZjY3YWMxMTQ3YWU2YmJlNTRlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDk5
IEBACisyMDIyLTAyLTE1ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+
CisKKyAgICAgICAgW1dlYkdQVV0gVXBkYXRlIElETHMgYW5kIHN0dWJzIHRvIGxhdGVzdCB2ZXJz
aW9uIG9mIHRoZSBzcGVjCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMzY2MzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBObyBuZXcgdGVzdHMgKE9PUFMhKS4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0
OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogSGVhZGVycy5jbWFr
ZToKKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVCdWZmZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6R1BVQnVmZmVyOjptYXBBc3luYyk6CisgICAgICAgIChXZWJDb3JlOjpHUFVCdWZmZXI6
OmdldE1hcHBlZFJhbmdlKToKKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVCdWZmZXIuaDoK
KyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVDYW52YXNDb25maWd1cmF0aW9uLmg6CisgICAg
ICAgIChXZWJDb3JlOjpHUFVDYW52YXNDb25maWd1cmF0aW9uOjpjb252ZXJ0VG9CYWNraW5nIGNv
bnN0KToKKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVDYW52YXNDb25maWd1cmF0aW9uLmlk
bDoKKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVDb21tYW5kRW5jb2Rlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpHUFVDb21tYW5kRW5jb2Rlcjo6Y2xlYXJCdWZmZXIpOgorICAgICAgICAo
V2ViQ29yZTo6R1BVQ29tbWFuZEVuY29kZXI6OmZpbGxCdWZmZXIpOiBEZWxldGVkLgorICAgICAg
ICAqIE1vZHVsZXMvV2ViR1BVL0dQVUNvbW1hbmRFbmNvZGVyLmg6CisgICAgICAgICogTW9kdWxl
cy9XZWJHUFUvR1BVQ29tbWFuZEVuY29kZXIuaWRsOgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BV
L0dQVUNvbW1hbmRzTWl4aW4uaWRsOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L1dlYkdQVS9HUFVMb2FkT3AuaWRsLgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVUNvbXB1
dGVQYXNzRW5jb2Rlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHUFVDb21wdXRlUGFzc0VuY29k
ZXI6OmRpc3BhdGNoKToKKyAgICAgICAgKFdlYkNvcmU6OkdQVUNvbXB1dGVQYXNzRW5jb2Rlcjo6
ZW5kKToKKyAgICAgICAgKFdlYkNvcmU6OkdQVUNvbXB1dGVQYXNzRW5jb2Rlcjo6YmVnaW5QaXBl
bGluZVN0YXRpc3RpY3NRdWVyeSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpHUFVDb21w
dXRlUGFzc0VuY29kZXI6OmVuZFBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KTogRGVsZXRlZC4KKyAg
ICAgICAgKFdlYkNvcmU6OkdQVUNvbXB1dGVQYXNzRW5jb2Rlcjo6ZW5kUGFzcyk6IERlbGV0ZWQu
CisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVQ29tcHV0ZVBhc3NFbmNvZGVyLmg6CisgICAg
ICAgICogTW9kdWxlcy9XZWJHUFUvR1BVQ29tcHV0ZVBhc3NFbmNvZGVyLmlkbDoKKyAgICAgICAg
KiBNb2R1bGVzL1dlYkdQVS9HUFVEZWJ1Z0NvbW1hbmRzTWl4aW4uaWRsOiBDb3BpZWQgZnJvbSBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVGcmFnbWVudFN0YXRlLmlkbC4KKyAgICAg
ICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVGZWF0dXJlTmFtZS5oOgorICAgICAgICAoV2ViQ29yZTo6
Y29udmVydFRvQmFja2luZyk6CisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVRmVhdHVyZU5h
bWUuaWRsOgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVUZyYWdtZW50U3RhdGUuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OkdQVUZyYWdtZW50U3RhdGU6OmNvbnZlcnRUb0JhY2tpbmcgY29uc3Qp
OgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVUZyYWdtZW50U3RhdGUuaWRsOgorICAgICAg
ICAqIE1vZHVsZXMvV2ViR1BVL0dQVUltYWdlQ29weUV4dGVybmFsSW1hZ2UuaDoKKyAgICAgICAg
KFdlYkNvcmU6OkdQVUltYWdlQ29weUV4dGVybmFsSW1hZ2U6OmNvbnZlcnRUb0JhY2tpbmcgY29u
c3QpOgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVUltYWdlQ29weUV4dGVybmFsSW1hZ2Uu
aWRsOgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVUxvYWRPcC5oOgorICAgICAgICAoV2Vi
Q29yZTo6Y29udmVydFRvQmFja2luZyk6CisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVTG9h
ZE9wLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVPYmplY3RCYXNlLmlkbDoKKyAg
ICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVQaXBlbGluZVN0YXRpc3RpY05hbWUuaDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVQaXBlbGluZVN0YXRpc3RpY05hbWUuaWRs
OiBSZW1vdmVkLgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVVByb2dyYW1tYWJsZVBhc3NF
bmNvZGVyLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVRdWVyeVNldERlc2NyaXB0
b3IuaDoKKyAgICAgICAgKFdlYkNvcmU6OkdQVVF1ZXJ5U2V0RGVzY3JpcHRvcjo6Y29udmVydFRv
QmFja2luZyBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVUXVlcnlTZXREZXNj
cmlwdG9yLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVRdWVyeVR5cGUuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OmNvbnZlcnRUb0JhY2tpbmcpOgorICAgICAgICAqIE1vZHVsZXMvV2Vi
R1BVL0dQVVF1ZXJ5VHlwZS5pZGw6CisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVUXVldWUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6R1BVUXVldWU6OndyaXRlQnVmZmVyKToKKyAgICAgICAg
KiBNb2R1bGVzL1dlYkdQVS9HUFVRdWV1ZS5oOgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQ
VVJlbmRlckJ1bmRsZUVuY29kZXIuaWRsOgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVVJl
bmRlclBhc3NDb2xvckF0dGFjaG1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkdQVVJlbmRlclBh
c3NDb2xvckF0dGFjaG1lbnQ6OmNvbnZlcnRUb0JhY2tpbmcgY29uc3QpOgorICAgICAgICAqIE1v
ZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQuaWRsOgorICAgICAgICAq
IE1vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50Lmg6Cisg
ICAgICAgIChXZWJDb3JlOjpHUFVSZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNobWVudDo6Y29u
dmVydFRvQmFja2luZyBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVy
UGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQuaWRsOgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BV
L0dQVVJlbmRlclBhc3NEZXNjcmlwdG9yLmg6CisgICAgICAgIChXZWJDb3JlOjpHUFVSZW5kZXJQ
YXNzRGVzY3JpcHRvcjo6Y29udmVydFRvQmFja2luZyBjb25zdCk6CisgICAgICAgICogTW9kdWxl
cy9XZWJHUFUvR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IuaWRsOgorICAgICAgICAqIE1vZHVsZXMv
V2ViR1BVL0dQVVJlbmRlclBhc3NFbmNvZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdQVVJl
bmRlclBhc3NFbmNvZGVyOjplbmQpOgorICAgICAgICAoV2ViQ29yZTo6R1BVUmVuZGVyUGFzc0Vu
Y29kZXI6OmJlZ2luUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkpOiBEZWxldGVkLgorICAgICAgICAo
V2ViQ29yZTo6R1BVUmVuZGVyUGFzc0VuY29kZXI6OmVuZFBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkdQVVJlbmRlclBhc3NFbmNvZGVyOjplbmRQ
YXNzKTogRGVsZXRlZC4KKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzRW5j
b2Rlci5oOgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NFbmNvZGVyLmlk
bDoKKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzTGF5b3V0Lmg6CisgICAg
ICAgIChXZWJDb3JlOjpHUFVSZW5kZXJQYXNzTGF5b3V0Ojpjb252ZXJ0VG9CYWNraW5nIGNvbnN0
KToKKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzTGF5b3V0LmlkbDoKKyAg
ICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQuaDog
Q29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVTG9hZE9wLmguCisg
ICAgICAgIChXZWJDb3JlOjpHUFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQ6OmNvbnZlcnRU
b0JhY2tpbmcgY29uc3QpOgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVVNoYWRlck1vZHVs
ZUNvbXBpbGF0aW9uSGludC5pZGw6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
V2ViR1BVL0dQVVF1ZXJ5VHlwZS5pZGwuCisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVU2hh
ZGVyTW9kdWxlRGVzY3JpcHRvci5oOgorICAgICAgICAoV2ViQ29yZTo6R1BVU2hhZGVyTW9kdWxl
RGVzY3JpcHRvcjo6Y29udmVydFRvQmFja2luZyBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy9X
ZWJHUFUvR1BVU2hhZGVyTW9kdWxlRGVzY3JpcHRvci5pZGw6CisgICAgICAgICogTW9kdWxlcy9X
ZWJHUFUvR1BVVGV4dHVyZURlc2NyaXB0b3IuaDoKKyAgICAgICAgKFdlYkNvcmU6OkdQVVRleHR1
cmVEZXNjcmlwdG9yOjpjb252ZXJ0VG9CYWNraW5nIGNvbnN0KToKKyAgICAgICAgKiBNb2R1bGVz
L1dlYkdQVS9HUFVUZXh0dXJlRGVzY3JpcHRvci5pZGw6CisgICAgICAgICogTW9kdWxlcy9XZWJH
UFUvR1BVVGV4dHVyZUZvcm1hdC5oOgorICAgICAgICAoV2ViQ29yZTo6Y29udmVydFRvQmFja2lu
Zyk6CisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVVGV4dHVyZUZvcm1hdC5pZGw6CisgICAg
ICAgICogTW9kdWxlcy9XZWJHUFUvR1BVVW5jYXB0dXJlZEVycm9yRXZlbnQuaWRsOgorICAgICAg
ICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai94Y3NoYXJlZGRhdGEveGNzY2hlbWVz
L1dlYkNvcmUueGNzY2hlbWU6CisKIDIwMjItMDItMTEgIFRpbSBOZ3V5ZW4gIDxudGltQGFwcGxl
LmNvbT4KIAogICAgICAgICBVbnJldmlld2VkIGJ1aWxkIGZpeDogcmV2ZXJ0IHIyODk2MTYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nCmluZGV4IDBhNzg3ZTA1ODQwNjYxYjQ4YmY2NzBmNjk5M2Y2ZjRlOGVhZTJi
ZjIuLmJkYmQxM2M0NzY2MWYxMmY3ZmMxODcwOWI4YjA0ZjQ0Mjk2N2E3MjIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML0No
YW5nZUxvZwpAQCAtMSwzICsxLDY1IEBACisyMDIyLTAyLTE1ICBNeWxlcyBDLiBNYXhmaWVsZCAg
PG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkdQVV0gVXBkYXRlIElETHMgYW5k
IHN0dWJzIHRvIGxhdGVzdCB2ZXJzaW9uIG9mIHRoZSBzcGVjCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzY2MzkKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFBBTC54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qOgorICAgICAgICAqIHBhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9XZWJHUFVBZGFwdGVySW1w
bC5jcHA6CisgICAgICAgIChQQUw6OldlYkdQVTo6c3VwcG9ydGVkRmVhdHVyZXMpOgorICAgICAg
ICAoUEFMOjpXZWJHUFU6OkFkYXB0ZXJJbXBsOjpyZXF1ZXN0RGV2aWNlKToKKyAgICAgICAgKiBw
YWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwvV2ViR1BVQnVmZmVySW1wbC5jcHA6CisgICAgICAgIChQ
QUw6OldlYkdQVTo6QnVmZmVySW1wbDo6bWFwQXN5bmMpOgorICAgICAgICAoUEFMOjpXZWJHUFU6
OkJ1ZmZlckltcGw6OmdldE1hcHBlZFJhbmdlKToKKyAgICAgICAgKiBwYWwvZ3JhcGhpY3MvV2Vi
R1BVL0ltcGwvV2ViR1BVQnVmZmVySW1wbC5oOgorICAgICAgICAqIHBhbC9ncmFwaGljcy9XZWJH
UFUvSW1wbC9XZWJHUFVDb21tYW5kRW5jb2RlckltcGwuY3BwOgorICAgICAgICAoUEFMOjpXZWJH
UFU6OkNvbW1hbmRFbmNvZGVySW1wbDo6YmVnaW5SZW5kZXJQYXNzKToKKyAgICAgICAgKFBBTDo6
V2ViR1BVOjpDb21tYW5kRW5jb2RlckltcGw6OmNsZWFyQnVmZmVyKToKKyAgICAgICAgKFBBTDo6
V2ViR1BVOjpDb21tYW5kRW5jb2RlckltcGw6OmZpbGxCdWZmZXIpOiBEZWxldGVkLgorICAgICAg
ICAqIHBhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9XZWJHUFVDb21tYW5kRW5jb2RlckltcGwuaDoK
KyAgICAgICAgKiBwYWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwvV2ViR1BVQ29tcHV0ZVBhc3NFbmNv
ZGVySW1wbC5jcHA6CisgICAgICAgIChQQUw6OldlYkdQVTo6Q29tcHV0ZVBhc3NFbmNvZGVySW1w
bDo6ZGlzcGF0Y2gpOgorICAgICAgICAoUEFMOjpXZWJHUFU6OkNvbXB1dGVQYXNzRW5jb2Rlcklt
cGw6OmVuZCk6CisgICAgICAgIChQQUw6OldlYkdQVTo6Q29tcHV0ZVBhc3NFbmNvZGVySW1wbDo6
YmVnaW5QaXBlbGluZVN0YXRpc3RpY3NRdWVyeSk6IERlbGV0ZWQuCisgICAgICAgIChQQUw6Oldl
YkdQVTo6Q29tcHV0ZVBhc3NFbmNvZGVySW1wbDo6ZW5kUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkp
OiBEZWxldGVkLgorICAgICAgICAoUEFMOjpXZWJHUFU6OkNvbXB1dGVQYXNzRW5jb2RlckltcGw6
OmVuZFBhc3MpOiBEZWxldGVkLgorICAgICAgICAqIHBhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9X
ZWJHUFVDb21wdXRlUGFzc0VuY29kZXJJbXBsLmg6CisgICAgICAgICogcGFsL2dyYXBoaWNzL1dl
YkdQVS9JbXBsL1dlYkdQVUNvbnZlcnRUb0JhY2tpbmdDb250ZXh0LmNwcDoKKyAgICAgICAgKFBB
TDo6V2ViR1BVOjpDb252ZXJ0VG9CYWNraW5nQ29udGV4dDo6Y29udmVydFRvQmFja2luZyk6Cisg
ICAgICAgICogcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVUNvbnZlcnRUb0JhY2tpbmdD
b250ZXh0Lmg6CisgICAgICAgICogcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVURldmlj
ZUltcGwuY3BwOgorICAgICAgICAoUEFMOjpXZWJHUFU6OkRldmljZUltcGw6OmNyZWF0ZVF1ZXJ5
U2V0KToKKyAgICAgICAgKiBwYWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwvV2ViR1BVSW1wbC5jcHA6
CisgICAgICAgIChQQUw6OldlYkdQVTo6R1BVSW1wbDo6cmVxdWVzdEFkYXB0ZXIpOgorICAgICAg
ICAqIHBhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9XZWJHUFVSZW5kZXJQYXNzRW5jb2RlckltcGwu
Y3BwOgorICAgICAgICAoUEFMOjpXZWJHUFU6OlJlbmRlclBhc3NFbmNvZGVySW1wbDo6ZW5kKToK
KyAgICAgICAgKFBBTDo6V2ViR1BVOjpSZW5kZXJQYXNzRW5jb2RlckltcGw6OmJlZ2luUGlwZWxp
bmVTdGF0aXN0aWNzUXVlcnkpOiBEZWxldGVkLgorICAgICAgICAoUEFMOjpXZWJHUFU6OlJlbmRl
clBhc3NFbmNvZGVySW1wbDo6ZW5kUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkpOiBEZWxldGVkLgor
ICAgICAgICAoUEFMOjpXZWJHUFU6OlJlbmRlclBhc3NFbmNvZGVySW1wbDo6ZW5kUGFzcyk6IERl
bGV0ZWQuCisgICAgICAgICogcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVVJlbmRlclBh
c3NFbmNvZGVySW1wbC5oOgorICAgICAgICAqIHBhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVQnVm
ZmVyLmg6CisgICAgICAgICogcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVDYW52YXNDb25maWd1
cmF0aW9uLmg6CisgICAgICAgICogcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVDb21tYW5kRW5j
b2Rlci5oOgorICAgICAgICAqIHBhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVQ29tcHV0ZVBhc3NF
bmNvZGVyLmg6CisgICAgICAgICogcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVGZWF0dXJlTmFt
ZS5oOgorICAgICAgICAqIHBhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVRnJhZ21lbnRTdGF0ZS5o
OgorICAgICAgICAqIHBhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVSW1hZ2VDb3B5RXh0ZXJuYWxJ
bWFnZS5oOgorICAgICAgICAqIHBhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVTG9hZE9wLmg6Cisg
ICAgICAgICogcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVQaXBlbGluZVN0YXRpc3RpY05hbWUu
aDogUmVtb3ZlZC4KKyAgICAgICAgKiBwYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVF1ZXJ5U2V0
RGVzY3JpcHRvci5oOgorICAgICAgICAqIHBhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVUXVlcnlU
eXBlLmg6CisgICAgICAgICogcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVRdWV1ZS5oOgorICAg
ICAgICAqIHBhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVu
dC5oOgorICAgICAgICAqIHBhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVUmVuZGVyUGFzc0RlcHRo
U3RlbmNpbEF0dGFjaG1lbnQuaDoKKyAgICAgICAgKiBwYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQ
VVJlbmRlclBhc3NEZXNjcmlwdG9yLmg6CisgICAgICAgICogcGFsL2dyYXBoaWNzL1dlYkdQVS9X
ZWJHUFVSZW5kZXJQYXNzRW5jb2Rlci5oOgorICAgICAgICAqIHBhbC9ncmFwaGljcy9XZWJHUFUv
V2ViR1BVUmVuZGVyUGFzc0xheW91dC5oOgorICAgICAgICAqIHBhbC9ncmFwaGljcy9XZWJHUFUv
V2ViR1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50Lmg6IENvcGllZCBmcm9tIFNvdXJjZS9X
ZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVUltYWdlQ29weUV4dGVybmFsSW1h
Z2UuaC4KKyAgICAgICAgKiBwYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVNoYWRlck1vZHVsZURl
c2NyaXB0b3IuaDoKKyAgICAgICAgKiBwYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVRleHR1cmVE
ZXNjcmlwdG9yLmg6CisgICAgICAgICogcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVUZXh0dXJl
Rm9ybWF0Lmg6CisKIDIwMjItMDItMTAgIEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBs
ZS5jb20+CiAKICAgICAgICAgW21hY09TXSBTdXBwb3J0IGJvdGggdmVyc2lvbnMgb2YgU2NyZWVu
Q2FwdHVyZUtpdCBBUEkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJHUFUvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYkdQVS9DaGFuZ2VMb2cKaW5kZXggOGI1NzZmNmFlNWE4Yzk3MGI3YWUwZjYzOTYyYjMz
MjVkNGNkZmUwNS4uZDI0MGUzOGNmM2M2NDgzYjZjYzYyNzY4OTgzMzFhZWNhYmEwNWViYSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkdQVS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkdQVS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSw0NSBAQAorMjAyMi0wMi0xNSAgTXlsZXMgQy4gTWF4ZmllbGQgIDxt
bWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFtXZWJHUFVdIFVwZGF0ZSBJRExzIGFuZCBz
dHVicyB0byBsYXRlc3QgdmVyc2lvbiBvZiB0aGUgc3BlYworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM2NjM5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJHUFUvQWRhcHRlci5oOgorICAgICAgICAq
IFdlYkdQVS9BZGFwdGVyLm1tOgorICAgICAgICAoV2ViR1BVOjpBZGFwdGVyOjplbnVtZXJhdGVG
ZWF0dXJlcyk6CisgICAgICAgICh3Z3B1QWRhcHRlckVudW1lcmF0ZUZlYXR1cmVzKToKKyAgICAg
ICAgKFdlYkdQVTo6QWRhcHRlcjo6Z2V0RmVhdHVyZUF0SW5kZXgpOiBEZWxldGVkLgorICAgICAg
ICAod2dwdUFkYXB0ZXJHZXRGZWF0dXJlQXRJbmRleCk6IERlbGV0ZWQuCisgICAgICAgICogV2Vi
R1BVL0NvbW1hbmRFbmNvZGVyLmg6CisgICAgICAgICogV2ViR1BVL0NvbW1hbmRFbmNvZGVyLm1t
OgorICAgICAgICAoV2ViR1BVOjpDb21tYW5kRW5jb2Rlcjo6Y2xlYXJCdWZmZXIpOgorICAgICAg
ICAod2dwdUNvbW1hbmRFbmNvZGVyQ2xlYXJCdWZmZXIpOgorICAgICAgICAoV2ViR1BVOjpDb21t
YW5kRW5jb2Rlcjo6ZmlsbEJ1ZmZlcik6IERlbGV0ZWQuCisgICAgICAgICh3Z3B1Q29tbWFuZEVu
Y29kZXJGaWxsQnVmZmVyKTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJHUFUvQ29tcHV0ZVBhc3NF
bmNvZGVyLmg6CisgICAgICAgICogV2ViR1BVL0NvbXB1dGVQYXNzRW5jb2Rlci5tbToKKyAgICAg
ICAgKFdlYkdQVTo6Q29tcHV0ZVBhc3NFbmNvZGVyOjp3cml0ZVRpbWVzdGFtcCk6IERlbGV0ZWQu
CisgICAgICAgICh3Z3B1Q29tcHV0ZVBhc3NFbmNvZGVyV3JpdGVUaW1lc3RhbXApOiBEZWxldGVk
LgorICAgICAgICAqIFdlYkdQVS9EZXZpY2UuaDoKKyAgICAgICAgKiBXZWJHUFUvRGV2aWNlLm1t
OgorICAgICAgICAoV2ViR1BVOjpEZXZpY2U6OmVudW1lcmF0ZUZlYXR1cmVzKToKKyAgICAgICAg
KFdlYkdQVTo6RGV2aWNlOjpoYXNGZWF0dXJlKToKKyAgICAgICAgKHdncHVEZXZpY2VFbnVtZXJh
dGVGZWF0dXJlcyk6CisgICAgICAgICh3Z3B1RGV2aWNlSGFzRmVhdHVyZSk6CisgICAgICAgICog
V2ViR1BVL0luc3RhbmNlLm1tOgorICAgICAgICAod2dwdUdldFByb2NBZGRyZXNzKToKKyAgICAg
ICAgKiBXZWJHUFUvUmVuZGVyUGFzc0VuY29kZXIuaDoKKyAgICAgICAgKiBXZWJHUFUvUmVuZGVy
UGFzc0VuY29kZXIubW06CisgICAgICAgIChXZWJHUFU6OlJlbmRlclBhc3NFbmNvZGVyOjp3cml0
ZVRpbWVzdGFtcCk6IERlbGV0ZWQuCisgICAgICAgICh3Z3B1UmVuZGVyUGFzc0VuY29kZXJXcml0
ZVRpbWVzdGFtcCk6IERlbGV0ZWQuCisgICAgICAgICogV2ViR1BVL1NoYWRlck1vZHVsZS5oOgor
ICAgICAgICAqIFdlYkdQVS9TaGFkZXJNb2R1bGUubW06CisgICAgICAgIChXZWJHUFU6OlNoYWRl
ck1vZHVsZTo6Z2V0Q29tcGlsYXRpb25JbmZvKToKKyAgICAgICAgKHdncHVTaGFkZXJNb2R1bGVH
ZXRDb21waWxhdGlvbkluZm8pOgorICAgICAgICAqIFdlYkdQVS9XZWJHUFUuaDoKKyAgICAgICAg
KiBXZWJHUFUvV2ViR1BVRXh0Lmg6CisKIDIwMjItMDEtMjYgIE15bGVzIEMuIE1heGZpZWxkICA8
bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2ViR1BVXSBNYWtlIHN1cmUgV0dTTFVu
aXRUZXN0cyBjYW4gY2FsbCBpbnRvIFdHU0wKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1Bs
YXRmb3JtSGF2ZS5oIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1IYXZlLmgKaW5kZXggNGRjYTVh
MjYwN2UyYTcwZDk2ODg5YWVhMGFmZGVhYzc5NjAyYjI2My4uZjBlY2UzY2ZjYWZhZjVmNmEyOTIz
MTBmNzhjZDAyNmI2YWE5YmZhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1I
YXZlLmgKKysrIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1IYXZlLmgKQEAgLTExMjQsNyArMTEy
NCw3IEBACiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKENPQ09BKQotI2RlZmluZSBIQVZFX1dFQkdQ
VV9JTVBMRU1FTlRBVElPTiAwCisjZGVmaW5lIEhBVkVfV0VCR1BVX0lNUExFTUVOVEFUSU9OIDEK
ICNlbmRpZgogCiAjaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9S
RVFVSVJFRCA+PSAxMzAwMDApCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3Rz
LnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDQ1N2M0YWE5YjFhMThj
Y2ZhOWFiMjg3ZTRlMGIzNzBlZTNhZDUwOWMuLjI4N2E1ZjgzMjg5YWM3MzQ1YTIxODhlNTYwZGZj
OGNhNjZkM2U5OGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0Cisr
KyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0xNTI4LDYgKzE1MjgsNyBAQCBs
aXN0KEFQUEVORCBXZWJDb3JlX05PTl9TVkdfSURMX0ZJTEVTCiAgICAgTW9kdWxlcy9XZWJHUFUv
R1BVQ29tbWFuZEJ1ZmZlckRlc2NyaXB0b3IuaWRsCiAgICAgTW9kdWxlcy9XZWJHUFUvR1BVQ29t
bWFuZEVuY29kZXIuaWRsCiAgICAgTW9kdWxlcy9XZWJHUFUvR1BVQ29tbWFuZEVuY29kZXJEZXNj
cmlwdG9yLmlkbAorICAgIE1vZHVsZXMvV2ViR1BVL0dQVUNvbW1hbmRzTWl4aW4uaWRsCiAgICAg
TW9kdWxlcy9XZWJHUFUvR1BVQ29tcGFyZUZ1bmN0aW9uLmlkbAogICAgIE1vZHVsZXMvV2ViR1BV
L0dQVUNvbXBpbGF0aW9uSW5mby5pZGwKICAgICBNb2R1bGVzL1dlYkdQVS9HUFVDb21waWxhdGlv
bk1lc3NhZ2UuaWRsCkBAIC0xNTM5LDYgKzE1NDAsNyBAQCBsaXN0KEFQUEVORCBXZWJDb3JlX05P
Tl9TVkdfSURMX0ZJTEVTCiAgICAgTW9kdWxlcy9XZWJHUFUvR1BVQ29tcHV0ZVBpcGVsaW5lLmlk
bAogICAgIE1vZHVsZXMvV2ViR1BVL0dQVUNvbXB1dGVQaXBlbGluZURlc2NyaXB0b3IuaWRsCiAg
ICAgTW9kdWxlcy9XZWJHUFUvR1BVQ3VsbE1vZGUuaWRsCisgICAgTW9kdWxlcy9XZWJHUFUvR1BV
RGVidWdDb21tYW5kc01peGluLmlkbAogICAgIE1vZHVsZXMvV2ViR1BVL0dQVURlcHRoU3RlbmNp
bFN0YXRlLmlkbAogICAgIE1vZHVsZXMvV2ViR1BVL0dQVURldmljZS5pZGwKICAgICBNb2R1bGVz
L1dlYkdQVS9HUFVEZXZpY2VEZXNjcmlwdG9yLmlkbApAQCAtMTU3NCw3ICsxNTc2LDYgQEAgbGlz
dChBUFBFTkQgV2ViQ29yZV9OT05fU1ZHX0lETF9GSUxFUwogICAgIE1vZHVsZXMvV2ViR1BVL0dQ
VVBpcGVsaW5lRGVzY3JpcHRvckJhc2UuaWRsCiAgICAgTW9kdWxlcy9XZWJHUFUvR1BVUGlwZWxp
bmVMYXlvdXQuaWRsCiAgICAgTW9kdWxlcy9XZWJHUFUvR1BVUGlwZWxpbmVMYXlvdXREZXNjcmlw
dG9yLmlkbAotICAgIE1vZHVsZXMvV2ViR1BVL0dQVVBpcGVsaW5lU3RhdGlzdGljTmFtZS5pZGwK
ICAgICBNb2R1bGVzL1dlYkdQVS9HUFVQb3dlclByZWZlcmVuY2UuaWRsCiAgICAgTW9kdWxlcy9X
ZWJHUFUvR1BVUHJlZGVmaW5lZENvbG9yU3BhY2UuaWRsCiAgICAgTW9kdWxlcy9XZWJHUFUvR1BV
UHJpbWl0aXZlU3RhdGUuaWRsCkBAIC0xNjA1LDYgKzE2MDYsNyBAQCBsaXN0KEFQUEVORCBXZWJD
b3JlX05PTl9TVkdfSURMX0ZJTEVTCiAgICAgTW9kdWxlcy9XZWJHUFUvR1BVU2FtcGxlckJpbmRp
bmdUeXBlLmlkbAogICAgIE1vZHVsZXMvV2ViR1BVL0dQVVNhbXBsZXJEZXNjcmlwdG9yLmlkbAog
ICAgIE1vZHVsZXMvV2ViR1BVL0dQVVNoYWRlck1vZHVsZS5pZGwKKyAgICBNb2R1bGVzL1dlYkdQ
VS9HUFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQuaWRsCiAgICAgTW9kdWxlcy9XZWJHUFUv
R1BVU2hhZGVyTW9kdWxlRGVzY3JpcHRvci5pZGwKICAgICBNb2R1bGVzL1dlYkdQVS9HUFVTaGFk
ZXJTdGFnZS5pZGwKICAgICBNb2R1bGVzL1dlYkdQVS9HUFVTdGVuY2lsRmFjZVN0YXRlLmlkbApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggMjFhNjViOTMxM2FlN2M1M2JiMTU4MDQz
ZjU0NzNkMjliZGYwMjcwZS4uYzQ4MGQ5ZTI1NWU0ZjBjYWZjZTFiMzAxNDY5ZTJmZTc1MGM4NzI3
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC04Niw2ICs4Niw3IEBAIEpTX0JJ
TkRJTkdfSURMUyA6PSBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21tYW5k
QnVmZmVyRGVzY3JpcHRvci5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9XZWJHUFUvR1BV
Q29tbWFuZEVuY29kZXIuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvV2ViR1BVL0dQVUNv
bW1hbmRFbmNvZGVyRGVzY3JpcHRvci5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9XZWJH
UFUvR1BVQ29tbWFuZHNNaXhpbi5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9XZWJHUFUv
R1BVQ29tcGFyZUZ1bmN0aW9uLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL1dlYkdQVS9H
UFVDb21waWxhdGlvbkluZm8uaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvV2ViR1BVL0dQ
VUNvbXBpbGF0aW9uTWVzc2FnZS5pZGwgXApAQCAtOTcsNiArOTgsNyBAQCBKU19CSU5ESU5HX0lE
TFMgOj0gXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9XZWJHUFUvR1BVQ29tcHV0ZVBpcGVsaW5l
LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21wdXRlUGlwZWxpbmVE
ZXNjcmlwdG9yLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL1dlYkdQVS9HUFVDdWxsTW9k
ZS5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9XZWJHUFUvR1BVRGVidWdDb21tYW5kc01p
eGluLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL1dlYkdQVS9HUFVEZXB0aFN0ZW5jaWxT
dGF0ZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9XZWJHUFUvR1BVRGV2aWNlLmlkbCBc
CiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL1dlYkdQVS9HUFVEZXZpY2VEZXNjcmlwdG9yLmlkbCBc
CkBAIC0xMzIsNyArMTM0LDYgQEAgSlNfQklORElOR19JRExTIDo9IFwKICAgICAkKFdlYkNvcmUp
L01vZHVsZXMvV2ViR1BVL0dQVVBpcGVsaW5lRGVzY3JpcHRvckJhc2UuaWRsIFwKICAgICAkKFdl
YkNvcmUpL01vZHVsZXMvV2ViR1BVL0dQVVBpcGVsaW5lTGF5b3V0LmlkbCBcCiAgICAgJChXZWJD
b3JlKS9Nb2R1bGVzL1dlYkdQVS9HUFVQaXBlbGluZUxheW91dERlc2NyaXB0b3IuaWRsIFwKLSAg
ICAkKFdlYkNvcmUpL01vZHVsZXMvV2ViR1BVL0dQVVBpcGVsaW5lU3RhdGlzdGljTmFtZS5pZGwg
XAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9XZWJHUFUvR1BVUG93ZXJQcmVmZXJlbmNlLmlkbCBc
CiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL1dlYkdQVS9HUFVQcmVkZWZpbmVkQ29sb3JTcGFjZS5p
ZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9XZWJHUFUvR1BVUHJpbWl0aXZlU3RhdGUuaWRs
IFwKQEAgLTE2Myw2ICsxNjQsNyBAQCBKU19CSU5ESU5HX0lETFMgOj0gXAogICAgICQoV2ViQ29y
ZSkvTW9kdWxlcy9XZWJHUFUvR1BVU2FtcGxlckJpbmRpbmdUeXBlLmlkbCBcCiAgICAgJChXZWJD
b3JlKS9Nb2R1bGVzL1dlYkdQVS9HUFVTYW1wbGVyRGVzY3JpcHRvci5pZGwgXAogICAgICQoV2Vi
Q29yZSkvTW9kdWxlcy9XZWJHUFUvR1BVU2hhZGVyTW9kdWxlLmlkbCBcCisgICAgJChXZWJDb3Jl
KS9Nb2R1bGVzL1dlYkdQVS9HUFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQuaWRsIFwKICAg
ICAkKFdlYkNvcmUpL01vZHVsZXMvV2ViR1BVL0dQVVNoYWRlck1vZHVsZURlc2NyaXB0b3IuaWRs
IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvV2ViR1BVL0dQVVNoYWRlclN0YWdlLmlkbCBcCiAg
ICAgJChXZWJDb3JlKS9Nb2R1bGVzL1dlYkdQVS9HUFVTdGVuY2lsRmFjZVN0YXRlLmlkbCBcCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlIGIvU291cmNlL1dlYkNvcmUv
SGVhZGVycy5jbWFrZQppbmRleCA4MDUwMDEzZWQ2NWY0MGM4OGYwNDM2MTI3ODAyNWQ0NjA0ZmIz
MDFjLi5kNTlmNjVmMmU2ZmRhNTFmNGE4ODkxZDU3ZDk1Mzc3ZDhhYTAxYTYyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0hlYWRl
cnMuY21ha2UKQEAgLTcxLDcgKzcxLDYgQEAgc2V0KFdlYkNvcmVfUFJJVkFURV9GUkFNRVdPUktf
SEVBREVSUwogICAgIE1vZHVsZXMvV2ViR1BVL0dQVVBpcGVsaW5lRGVzY3JpcHRvckJhc2UuaAog
ICAgIE1vZHVsZXMvV2ViR1BVL0dQVVBpcGVsaW5lTGF5b3V0LmgKICAgICBNb2R1bGVzL1dlYkdQ
VS9HUFVQaXBlbGluZUxheW91dERlc2NyaXB0b3IuaAotICAgIE1vZHVsZXMvV2ViR1BVL0dQVVBp
cGVsaW5lU3RhdGlzdGljTmFtZS5oCiAgICAgTW9kdWxlcy9XZWJHUFUvR1BVUG93ZXJQcmVmZXJl
bmNlLmgKICAgICBNb2R1bGVzL1dlYkdQVS9HUFVQcmVkZWZpbmVkQ29sb3JTcGFjZS5oCiAgICAg
TW9kdWxlcy9XZWJHUFUvR1BVUHJpbWl0aXZlU3RhdGUuaApAQCAtMTAwLDYgKzk5LDcgQEAgc2V0
KFdlYkNvcmVfUFJJVkFURV9GUkFNRVdPUktfSEVBREVSUwogICAgIE1vZHVsZXMvV2ViR1BVL0dQ
VVNhbXBsZXJCaW5kaW5nVHlwZS5oCiAgICAgTW9kdWxlcy9XZWJHUFUvR1BVU2FtcGxlckRlc2Ny
aXB0b3IuaAogICAgIE1vZHVsZXMvV2ViR1BVL0dQVVNoYWRlck1vZHVsZS5oCisgICAgTW9kdWxl
cy9XZWJHUFUvR1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50LmgKICAgICBNb2R1bGVzL1dl
YkdQVS9HUFVTaGFkZXJNb2R1bGVEZXNjcmlwdG9yLmgKICAgICBNb2R1bGVzL1dlYkdQVS9HUFVT
aGFkZXJTdGFnZS5oCiAgICAgTW9kdWxlcy9XZWJHUFUvR1BVU3RlbmNpbEZhY2VTdGF0ZS5oCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVCdWZmZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQnVmZmVyLmNwcAppbmRleCA3ZmQ0ODU3
MmE5ZTU3M2M5OWIwM2ZiMzMyOGIyNGQ5NjQxYzI3NDk3Li40Yzk0YTRmZDkxNzg3MGNiNDBjNGZm
OTRlODAxYzRhMWVlMzJiMDNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dl
YkdQVS9HUFVCdWZmZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQ
VUJ1ZmZlci5jcHAKQEAgLTM4LDE0ICszOCwxNCBAQCB2b2lkIEdQVUJ1ZmZlcjo6c2V0TGFiZWwo
U3RyaW5nJiYgbGFiZWwpCiAgICAgbV9iYWNraW5nLT5zZXRMYWJlbChXVEZNb3ZlKGxhYmVsKSk7
CiB9CiAKLXZvaWQgR1BVQnVmZmVyOjptYXBBc3luYyhHUFVNYXBNb2RlRmxhZ3MgbW9kZSwgc3Rk
OjpvcHRpb25hbDxHUFVTaXplNjQ+IG9mZnNldCwgc3RkOjpvcHRpb25hbDxHUFVTaXplNjQ+IHNp
emUsIE1hcEFzeW5jUHJvbWlzZSYmIHByb21pc2UpCit2b2lkIEdQVUJ1ZmZlcjo6bWFwQXN5bmMo
R1BVTWFwTW9kZUZsYWdzIG1vZGUsIEdQVVNpemU2NCBvZmZzZXQsIHN0ZDo6b3B0aW9uYWw8R1BV
U2l6ZTY0PiBzaXplLCBNYXBBc3luY1Byb21pc2UmJiBwcm9taXNlKQogewogICAgIG1fYmFja2lu
Zy0+bWFwQXN5bmMoY29udmVydE1hcE1vZGVGbGFnc1RvQmFja2luZyhtb2RlKSwgb2Zmc2V0LCBz
aXplLCBbcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSldICgpIG11dGFibGUgewogICAgICAgICBw
cm9taXNlLnJlc29sdmUobnVsbHB0cik7CiAgICAgfSk7CiB9CiAKLVJlZjxKU0M6OkFycmF5QnVm
ZmVyPiBHUFVCdWZmZXI6OmdldE1hcHBlZFJhbmdlKHN0ZDo6b3B0aW9uYWw8R1BVU2l6ZTY0PiBv
ZmZzZXQsIHN0ZDo6b3B0aW9uYWw8R1BVU2l6ZTY0PiBzaXplKQorUmVmPEpTQzo6QXJyYXlCdWZm
ZXI+IEdQVUJ1ZmZlcjo6Z2V0TWFwcGVkUmFuZ2UoR1BVU2l6ZTY0IG9mZnNldCwgc3RkOjpvcHRp
b25hbDxHUFVTaXplNjQ+IHNpemUpCiB7CiAgICAgYXV0byBtYXBwZWRSYW5nZSA9IG1fYmFja2lu
Zy0+Z2V0TWFwcGVkUmFuZ2Uob2Zmc2V0LCBzaXplKTsKICAgICByZXR1cm4gQXJyYXlCdWZmZXI6
OmNyZWF0ZShtYXBwZWRSYW5nZS5zb3VyY2UsIG1hcHBlZFJhbmdlLmJ5dGVMZW5ndGgpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQnVmZmVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVCdWZmZXIuaAppbmRleCBjNjI4Y2MwNjdjMDQz
MTAzMGM5NmY1YzkxNmQxY2I5MmE4MDA3N2RlLi40N2U5ZTQ1YWQzOTU4MjM1OGE1NGVhMDE4ZjQy
NjA5ODE4OTE4NTU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9H
UFVCdWZmZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVCdWZmZXIu
aApAQCAtNDksOCArNDksOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRMYWJlbChTdHJpbmcmJik7
CiAKICAgICB1c2luZyBNYXBBc3luY1Byb21pc2UgPSBET01Qcm9taXNlRGVmZXJyZWQ8SURMTnVs
bD47Ci0gICAgdm9pZCBtYXBBc3luYyhHUFVNYXBNb2RlRmxhZ3MsIHN0ZDo6b3B0aW9uYWw8R1BV
U2l6ZTY0PiBvZmZzZXQsIHN0ZDo6b3B0aW9uYWw8R1BVU2l6ZTY0PiBzaXplRm9yTWFwLCBNYXBB
c3luY1Byb21pc2UmJik7Ci0gICAgUmVmPEpTQzo6QXJyYXlCdWZmZXI+IGdldE1hcHBlZFJhbmdl
KHN0ZDo6b3B0aW9uYWw8R1BVU2l6ZTY0PiBvZmZzZXQsIHN0ZDo6b3B0aW9uYWw8R1BVU2l6ZTY0
PiByYW5nZVNpemUpOworICAgIHZvaWQgbWFwQXN5bmMoR1BVTWFwTW9kZUZsYWdzLCBHUFVTaXpl
NjQgb2Zmc2V0LCBzdGQ6Om9wdGlvbmFsPEdQVVNpemU2ND4gc2l6ZUZvck1hcCwgTWFwQXN5bmNQ
cm9taXNlJiYpOworICAgIFJlZjxKU0M6OkFycmF5QnVmZmVyPiBnZXRNYXBwZWRSYW5nZShHUFVT
aXplNjQgb2Zmc2V0LCBzdGQ6Om9wdGlvbmFsPEdQVVNpemU2ND4gcmFuZ2VTaXplKTsKICAgICB2
b2lkIHVubWFwKCk7CiAKICAgICB2b2lkIGRlc3Ryb3koKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUNhbnZhc0NvbmZpZ3VyYXRpb24uaCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUNhbnZhc0NvbmZpZ3VyYXRpb24uaAppbmRleCA2OTYw
ZTdkYjgxYjIyYzkwMmUzMWI2NzM2N2U2NjQyZmQzMGIzNTlmLi5hZjc1YjVjNDhiMWI5YTVkODY0
M2ViMTU5MjA1YjFiZGJkZWFlNWEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L1dlYkdQVS9HUFVDYW52YXNDb25maWd1cmF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9XZWJHUFUvR1BVQ2FudmFzQ29uZmlndXJhdGlvbi5oCkBAIC0zNSw2ICszNSw3IEBACiAj
aW5jbHVkZSA8b3B0aW9uYWw+CiAjaW5jbHVkZSA8cGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVD
YW52YXNDb25maWd1cmF0aW9uLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorI2luY2x1ZGUg
PHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00Niw2ICs0Nyw5IEBA
IHN0cnVjdCBHUFVDYW52YXNDb25maWd1cmF0aW9uIHsKICAgICAgICAgICAgIGRldmljZS0+YmFj
a2luZygpLAogICAgICAgICAgICAgV2ViQ29yZTo6Y29udmVydFRvQmFja2luZyhmb3JtYXQpLAog
ICAgICAgICAgICAgY29udmVydFRleHR1cmVVc2FnZUZsYWdzVG9CYWNraW5nKHVzYWdlKSwKKyAg
ICAgICAgICAgIHZpZXdGb3JtYXRzLm1hcChbXSAoYXV0byYgdmlld0Zvcm1hdCkgeworICAgICAg
ICAgICAgICAgIHJldHVybiBXZWJDb3JlOjpjb252ZXJ0VG9CYWNraW5nKHZpZXdGb3JtYXQpOwor
ICAgICAgICAgICAgfSksCiAgICAgICAgICAgICBXZWJDb3JlOjpjb252ZXJ0VG9CYWNraW5nKGNv
bG9yU3BhY2UpLAogICAgICAgICAgICAgV2ViQ29yZTo6Y29udmVydFRvQmFja2luZyhjb21wb3Np
dGluZ0FscGhhTW9kZSksCiAgICAgICAgICAgICBzaXplID8gc3RkOjpvcHRpb25hbCB7IFdlYkNv
cmU6OmNvbnZlcnRUb0JhY2tpbmcoKnNpemUpIH0gOiBzdGQ6Om51bGxvcHQsCkBAIC01NSw2ICs1
OSw3IEBAIHN0cnVjdCBHUFVDYW52YXNDb25maWd1cmF0aW9uIHsKICAgICBHUFVEZXZpY2UqIGRl
dmljZSB7IG51bGxwdHIgfTsKICAgICBHUFVUZXh0dXJlRm9ybWF0IGZvcm1hdCB7IEdQVVRleHR1
cmVGb3JtYXQ6OlI4dW5vcm0gfTsKICAgICBHUFVUZXh0dXJlVXNhZ2VGbGFncyB1c2FnZSB7IEdQ
VVRleHR1cmVVc2FnZTo6UkVOREVSX0FUVEFDSE1FTlQgfTsKKyAgICBWZWN0b3I8R1BVVGV4dHVy
ZUZvcm1hdD4gdmlld0Zvcm1hdHM7CiAgICAgR1BVUHJlZGVmaW5lZENvbG9yU3BhY2UgY29sb3JT
cGFjZSB7IEdQVVByZWRlZmluZWRDb2xvclNwYWNlOjpTUkdCIH07CiAgICAgR1BVQ2FudmFzQ29t
cG9zaXRpbmdBbHBoYU1vZGUgY29tcG9zaXRpbmdBbHBoYU1vZGUgeyBHUFVDYW52YXNDb21wb3Np
dGluZ0FscGhhTW9kZTo6T3BhcXVlIH07CiAgICAgc3RkOjpvcHRpb25hbDxHUFVFeHRlbnQzRD4g
c2l6ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUNhbnZh
c0NvbmZpZ3VyYXRpb24uaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQ2Fu
dmFzQ29uZmlndXJhdGlvbi5pZGwKaW5kZXggZmNhYzhjZGE5ZmVkMDIxNmE2MWE0NzQ0NjU3ZTA0
MDhiYmE4YzZhMS4uYjE0YTJjNzYxOWJiM2MxMmZlNjdhZTE5ODVmZTZmN2RjZTYxM2E0NCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQ2FudmFzQ29uZmlndXJh
dGlvbi5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQ2FudmFzQ29u
ZmlndXJhdGlvbi5pZGwKQEAgLTM3LDYgKzM3LDcgQEAgZGljdGlvbmFyeSBHUFVDYW52YXNDb25m
aWd1cmF0aW9uIHsKICAgICByZXF1aXJlZCBHUFVEZXZpY2UgZGV2aWNlOwogICAgIHJlcXVpcmVk
IEdQVVRleHR1cmVGb3JtYXQgZm9ybWF0OwogICAgIEdQVVRleHR1cmVVc2FnZUZsYWdzIHVzYWdl
ID0gMHgxMDsgIC8vIEdQVVRleHR1cmVVc2FnZS5SRU5ERVJfQVRUQUNITUVOVAorICAgIHNlcXVl
bmNlPEdQVVRleHR1cmVGb3JtYXQ+IHZpZXdGb3JtYXRzID0gW107CiAgICAgR1BVUHJlZGVmaW5l
ZENvbG9yU3BhY2UgY29sb3JTcGFjZSA9ICJzcmdiIjsKICAgICBHUFVDYW52YXNDb21wb3NpdGlu
Z0FscGhhTW9kZSBjb21wb3NpdGluZ0FscGhhTW9kZSA9ICJvcGFxdWUiOwogICAgIEdQVUV4dGVu
dDNEIHNpemU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVD
b21tYW5kRW5jb2Rlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21t
YW5kRW5jb2Rlci5jcHAKaW5kZXggODE3YzM1MmVjMDBhMmRkNTFlZTdiMTdkNzBjNWRmMjU4ZmY4
ZDRjNS4uODU2ZTI2ZmEwYTVkNDA1OWM1YjA4YTE2NjE0MjJhOWUwM2VlMjcwYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQ29tbWFuZEVuY29kZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUNvbW1hbmRFbmNvZGVyLmNwcApA
QCAtODUsMTIgKzg1LDEzIEBAIHZvaWQgR1BVQ29tbWFuZEVuY29kZXI6OmNvcHlUZXh0dXJlVG9U
ZXh0dXJlKAogICAgIG1fYmFja2luZy0+Y29weVRleHR1cmVUb1RleHR1cmUoc291cmNlLmNvbnZl
cnRUb0JhY2tpbmcoKSwgZGVzdGluYXRpb24uY29udmVydFRvQmFja2luZygpLCBjb252ZXJ0VG9C
YWNraW5nKGNvcHlTaXplKSk7CiB9CiAKLXZvaWQgR1BVQ29tbWFuZEVuY29kZXI6OmZpbGxCdWZm
ZXIoCi0gICAgY29uc3QgR1BVQnVmZmVyJiBkZXN0aW5hdGlvbiwKLSAgICBHUFVTaXplNjQgZGVz
dGluYXRpb25PZmZzZXQsCi0gICAgR1BVU2l6ZTY0IHNpemUpCisKK3ZvaWQgR1BVQ29tbWFuZEVu
Y29kZXI6OmNsZWFyQnVmZmVyKAorICAgIGNvbnN0IEdQVUJ1ZmZlciYgYnVmZmVyLAorICAgIEdQ
VVNpemU2NCBvZmZzZXQsCisgICAgc3RkOjpvcHRpb25hbDxHUFVTaXplNjQ+IHNpemUpCiB7Ci0g
ICAgbV9iYWNraW5nLT5maWxsQnVmZmVyKGRlc3RpbmF0aW9uLmJhY2tpbmcoKSwgZGVzdGluYXRp
b25PZmZzZXQsIHNpemUpOworICAgIG1fYmFja2luZy0+ZmlsbEJ1ZmZlcihidWZmZXIuYmFja2lu
ZygpLCBvZmZzZXQsIHNpemUpOwogfQogCiB2b2lkIEdQVUNvbW1hbmRFbmNvZGVyOjpwdXNoRGVi
dWdHcm91cChTdHJpbmcmJiBncm91cExhYmVsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9XZWJHUFUvR1BVQ29tbWFuZEVuY29kZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvV2ViR1BVL0dQVUNvbW1hbmRFbmNvZGVyLmgKaW5kZXggYTAxZTMyNjg0NTQ4ODNkOWE2ZTRi
ZTJkODYyNjdhMjVkMDA0ZGQ5MC4uMzk0MTk5YzlhOWQ3ZDIwODAzYTg5ODI2MWZhNzE4MWI3MjRj
MGFlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQ29tbWFu
ZEVuY29kZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21tYW5k
RW5jb2Rlci5oCkBAIC04MSwxMCArODEsMTAgQEAgcHVibGljOgogICAgICAgICBjb25zdCBHUFVJ
bWFnZUNvcHlUZXh0dXJlJiBkZXN0aW5hdGlvbiwKICAgICAgICAgY29uc3QgR1BVRXh0ZW50M0Qm
IGNvcHlTaXplKTsKIAotICAgIHZvaWQgZmlsbEJ1ZmZlcigKLSAgICAgICAgY29uc3QgR1BVQnVm
ZmVyJiBkZXN0aW5hdGlvbiwKLSAgICAgICAgR1BVU2l6ZTY0IGRlc3RpbmF0aW9uT2Zmc2V0LAot
ICAgICAgICBHUFVTaXplNjQpOworICAgIHZvaWQgY2xlYXJCdWZmZXIoCisgICAgICAgIGNvbnN0
IEdQVUJ1ZmZlciYgYnVmZmVyLAorICAgICAgICBHUFVTaXplNjQgb2Zmc2V0LAorICAgICAgICBz
dGQ6Om9wdGlvbmFsPEdQVVNpemU2ND4gc2l6ZSk7CiAKICAgICB2b2lkIHB1c2hEZWJ1Z0dyb3Vw
KFN0cmluZyYmIGdyb3VwTGFiZWwpOwogICAgIHZvaWQgcG9wRGVidWdHcm91cCgpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQ29tbWFuZEVuY29kZXIuaWRs
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQ29tbWFuZEVuY29kZXIuaWRsCmlu
ZGV4IGFhOTRjYTAzNDQ3YmY1ZGIxMTRhNzAzMTA0MzNmYTg2MGIwMmExNDMuLjI2Nzk2ZjZkNTMx
OGIzMDc2NDhiODJiN2Q5MDI0ODI1NzMzNzcwNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvV2ViR1BVL0dQVUNvbW1hbmRFbmNvZGVyLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21tYW5kRW5jb2Rlci5pZGwKQEAgLTYyLDE0ICs2MiwxMCBA
QCBpbnRlcmZhY2UgR1BVQ29tbWFuZEVuY29kZXIgewogICAgICAgICBHUFVJbWFnZUNvcHlUZXh0
dXJlIGRlc3RpbmF0aW9uLAogICAgICAgICBHUFVFeHRlbnQzRCBjb3B5U2l6ZSk7CiAKLSAgICB1
bmRlZmluZWQgZmlsbEJ1ZmZlcigKLSAgICAgICAgR1BVQnVmZmVyIGRlc3RpbmF0aW9uLAotICAg
ICAgICBHUFVTaXplNjQgZGVzdGluYXRpb25PZmZzZXQsCi0gICAgICAgIEdQVVNpemU2NCBzaXpl
KTsKLQotICAgIHVuZGVmaW5lZCBwdXNoRGVidWdHcm91cChVU1ZTdHJpbmcgZ3JvdXBMYWJlbCk7
Ci0gICAgdW5kZWZpbmVkIHBvcERlYnVnR3JvdXAoKTsKLSAgICB1bmRlZmluZWQgaW5zZXJ0RGVi
dWdNYXJrZXIoVVNWU3RyaW5nIG1hcmtlckxhYmVsKTsKKyAgICB1bmRlZmluZWQgY2xlYXJCdWZm
ZXIoCisgICAgICAgIEdQVUJ1ZmZlciBidWZmZXIsCisgICAgICAgIG9wdGlvbmFsIEdQVVNpemU2
NCBvZmZzZXQgPSAwLAorICAgICAgICBvcHRpb25hbCBHUFVTaXplNjQgc2l6ZSk7CiAKICAgICB1
bmRlZmluZWQgd3JpdGVUaW1lc3RhbXAoR1BVUXVlcnlTZXQgcXVlcnlTZXQsIEdQVVNpemUzMiBx
dWVyeUluZGV4KTsKIApAQCAtODMsMyArNzksNSBAQCBpbnRlcmZhY2UgR1BVQ29tbWFuZEVuY29k
ZXIgewogICAgIEdQVUNvbW1hbmRCdWZmZXIgZmluaXNoKG9wdGlvbmFsIEdQVUNvbW1hbmRCdWZm
ZXJEZXNjcmlwdG9yIGRlc2NyaXB0b3IpOwogfTsKIEdQVUNvbW1hbmRFbmNvZGVyIGluY2x1ZGVz
IEdQVU9iamVjdEJhc2U7CitHUFVDb21tYW5kRW5jb2RlciBpbmNsdWRlcyBHUFVDb21tYW5kc01p
eGluOworR1BVQ29tbWFuZEVuY29kZXIgaW5jbHVkZXMgR1BVRGVidWdDb21tYW5kc01peGluOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQ29tbWFuZHNNaXhp
bi5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21tYW5kc01peGluLmlk
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yYWNjM2RlZTQxZDM4ZDZmY2E3OTZlYmVmZjI3YTVkZWNlNmViY2JhCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQ29tbWFu
ZHNNaXhpbi5pZGwKQEAgLTAsMCArMSwzMiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMiBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8vIGh0dHBzOi8vZ3B1
d2ViLmdpdGh1Yi5pby9ncHV3ZWIvI2dwdWNvbW1hbmRzbWl4aW4KKworWworICAgIEVuYWJsZWRC
eVNldHRpbmc9V2ViR1BVCitdCitpbnRlcmZhY2UgbWl4aW4gR1BVQ29tbWFuZHNNaXhpbiB7Cit9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQ29tcHV0ZVBh
c3NFbmNvZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUNvbXB1dGVQ
YXNzRW5jb2Rlci5jcHAKaW5kZXggYjAxMWY1MGU3NjYyZTFlYTllOTlkNzc0NDI4YjhjYTIyNjhk
NGQxNi4uOTRkNTg0YTZlYzY4ZjdiYTg2Mzk0MzY1ZjU4YjYyYzE3MGU1ZDlmOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQ29tcHV0ZVBhc3NFbmNvZGVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21wdXRlUGFzc0VuY29k
ZXIuY3BwCkBAIC00OCw5ICs0OCw5IEBAIHZvaWQgR1BVQ29tcHV0ZVBhc3NFbmNvZGVyOjpzZXRQ
aXBlbGluZShjb25zdCBHUFVDb21wdXRlUGlwZWxpbmUmIGNvbXB1dGVQaXBlbGluCiAgICAgbV9i
YWNraW5nLT5zZXRQaXBlbGluZShjb21wdXRlUGlwZWxpbmUuYmFja2luZygpKTsKIH0KIAotdm9p
ZCBHUFVDb21wdXRlUGFzc0VuY29kZXI6OmRpc3BhdGNoKEdQVVNpemUzMiB4LCBzdGQ6Om9wdGlv
bmFsPEdQVVNpemUzMj4geSwgc3RkOjpvcHRpb25hbDxHUFVTaXplMzI+IHopCit2b2lkIEdQVUNv
bXB1dGVQYXNzRW5jb2Rlcjo6ZGlzcGF0Y2goR1BVU2l6ZTMyIHdvcmtncm91cENvdW50WCwgR1BV
U2l6ZTMyIHdvcmtncm91cENvdW50WSwgR1BVU2l6ZTMyIHdvcmtncm91cENvdW50WikKIHsKLSAg
ICBtX2JhY2tpbmctPmRpc3BhdGNoKHgsIHksIHopOworICAgIG1fYmFja2luZy0+ZGlzcGF0Y2go
d29ya2dyb3VwQ291bnRYLCB3b3JrZ3JvdXBDb3VudFksIHdvcmtncm91cENvdW50Wik7CiB9CiAK
IHZvaWQgR1BVQ29tcHV0ZVBhc3NFbmNvZGVyOjpkaXNwYXRjaEluZGlyZWN0KGNvbnN0IEdQVUJ1
ZmZlciYgaW5kaXJlY3RCdWZmZXIsIEdQVVNpemU2NCBpbmRpcmVjdE9mZnNldCkKQEAgLTU4LDE5
ICs1OCw5IEBAIHZvaWQgR1BVQ29tcHV0ZVBhc3NFbmNvZGVyOjpkaXNwYXRjaEluZGlyZWN0KGNv
bnN0IEdQVUJ1ZmZlciYgaW5kaXJlY3RCdWZmZXIsIEdQCiAgICAgbV9iYWNraW5nLT5kaXNwYXRj
aEluZGlyZWN0KGluZGlyZWN0QnVmZmVyLmJhY2tpbmcoKSwgaW5kaXJlY3RPZmZzZXQpOwogfQog
Ci12b2lkIEdQVUNvbXB1dGVQYXNzRW5jb2Rlcjo6YmVnaW5QaXBlbGluZVN0YXRpc3RpY3NRdWVy
eShjb25zdCBHUFVRdWVyeVNldCYgcXVlcnlTZXQsIEdQVVNpemUzMiBxdWVyeUluZGV4KQordm9p
ZCBHUFVDb21wdXRlUGFzc0VuY29kZXI6OmVuZCgpCiB7Ci0gICAgbV9iYWNraW5nLT5iZWdpblBp
cGVsaW5lU3RhdGlzdGljc1F1ZXJ5KHF1ZXJ5U2V0LmJhY2tpbmcoKSwgcXVlcnlJbmRleCk7Ci19
Ci0KLXZvaWQgR1BVQ29tcHV0ZVBhc3NFbmNvZGVyOjplbmRQaXBlbGluZVN0YXRpc3RpY3NRdWVy
eSgpCi17Ci0gICAgbV9iYWNraW5nLT5lbmRQaXBlbGluZVN0YXRpc3RpY3NRdWVyeSgpOwotfQot
Ci12b2lkIEdQVUNvbXB1dGVQYXNzRW5jb2Rlcjo6ZW5kUGFzcygpCi17Ci0gICAgbV9iYWNraW5n
LT5lbmRQYXNzKCk7CisgICAgbV9iYWNraW5nLT5lbmQoKTsKIH0KIAogdm9pZCBHUFVDb21wdXRl
UGFzc0VuY29kZXI6OnNldEJpbmRHcm91cChHUFVJbmRleDMyIGluZGV4LCBjb25zdCBHUFVCaW5k
R3JvdXAmIGJpbmRHcm91cCwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2Vi
R1BVL0dQVUNvbXB1dGVQYXNzRW5jb2Rlci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJH
UFUvR1BVQ29tcHV0ZVBhc3NFbmNvZGVyLmgKaW5kZXggNzA2NjhhNzFkNjAyYjI5ZWViMDE4NzI1
MjMxZWQ4MDdhYjNmYmYwMC4uYjM5NTc2NmFlNWRlMTJmNDdkMjY2OGQ1MjY5NDlmOTBhMTBmNGY2
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQ29tcHV0ZVBh
c3NFbmNvZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQ29tcHV0
ZVBhc3NFbmNvZGVyLmgKQEAgLTUyLDEzICs1MiwxMCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRM
YWJlbChTdHJpbmcmJik7CiAKICAgICB2b2lkIHNldFBpcGVsaW5lKGNvbnN0IEdQVUNvbXB1dGVQ
aXBlbGluZSYpOwotICAgIHZvaWQgZGlzcGF0Y2goR1BVU2l6ZTMyIHgsIHN0ZDo6b3B0aW9uYWw8
R1BVU2l6ZTMyPiB5LCBzdGQ6Om9wdGlvbmFsPEdQVVNpemUzMj4pOworICAgIHZvaWQgZGlzcGF0
Y2goU2l6ZTMyIHdvcmtncm91cENvdW50WCwgU2l6ZTMyIHdvcmtncm91cENvdW50WSwgU2l6ZTMy
IHdvcmtncm91cENvdW50Wik7CiAgICAgdm9pZCBkaXNwYXRjaEluZGlyZWN0KGNvbnN0IEdQVUJ1
ZmZlciYgaW5kaXJlY3RCdWZmZXIsIEdQVVNpemU2NCBpbmRpcmVjdE9mZnNldCk7CiAKLSAgICB2
b2lkIGJlZ2luUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkoY29uc3QgR1BVUXVlcnlTZXQmLCBHUFVT
aXplMzIgcXVlcnlJbmRleCk7Ci0gICAgdm9pZCBlbmRQaXBlbGluZVN0YXRpc3RpY3NRdWVyeSgp
OwotCi0gICAgdm9pZCBlbmRQYXNzKCk7CisgICAgdm9pZCBlbmQoKTsKIAogICAgIHZvaWQgc2V0
QmluZEdyb3VwKEdQVUluZGV4MzIsIGNvbnN0IEdQVUJpbmRHcm91cCYsCiAgICAgICAgIHN0ZDo6
b3B0aW9uYWw8VmVjdG9yPEdQVUJ1ZmZlckR5bmFtaWNPZmZzZXQ+PiYmKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUNvbXB1dGVQYXNzRW5jb2Rlci5pZGwg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21wdXRlUGFzc0VuY29kZXIuaWRs
CmluZGV4IDk1OGRkNzdlNzY3NDA2MjYyOThmZDQyYmRkMDRhZTFjNzhlNWI4OTguLjlmZmE2YjA2
MDE3MjgxZDZkNGY2NTJjNGZkYWQ2MDRkZmMxNTUxY2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvV2ViR1BVL0dQVUNvbXB1dGVQYXNzRW5jb2Rlci5pZGwKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQ29tcHV0ZVBhc3NFbmNvZGVyLmlkbApAQCAtMzYs
MTMgKzM2LDEyIEBAIHR5cGVkZWYgW0VuZm9yY2VSYW5nZV0gdW5zaWduZWQgbG9uZyBsb25nIEdQ
VVNpemU2NDsKIF0KIGludGVyZmFjZSBHUFVDb21wdXRlUGFzc0VuY29kZXIgewogICAgIHVuZGVm
aW5lZCBzZXRQaXBlbGluZShHUFVDb21wdXRlUGlwZWxpbmUgcGlwZWxpbmUpOwotICAgIHVuZGVm
aW5lZCBkaXNwYXRjaChHUFVTaXplMzIgeCwgb3B0aW9uYWwgR1BVU2l6ZTMyIHkgPSAxLCBvcHRp
b25hbCBHUFVTaXplMzIgeiA9IDEpOworICAgIHVuZGVmaW5lZCBkaXNwYXRjaChHUFVTaXplMzIg
d29ya2dyb3VwQ291bnRYLCBvcHRpb25hbCBHUFVTaXplMzIgd29ya2dyb3VwQ291bnRZID0gMSwg
b3B0aW9uYWwgR1BVU2l6ZTMyIHdvcmtncm91cENvdW50WiA9IDEpOwogICAgIHVuZGVmaW5lZCBk
aXNwYXRjaEluZGlyZWN0KEdQVUJ1ZmZlciBpbmRpcmVjdEJ1ZmZlciwgR1BVU2l6ZTY0IGluZGly
ZWN0T2Zmc2V0KTsKIAotICAgIHVuZGVmaW5lZCBiZWdpblBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5
KEdQVVF1ZXJ5U2V0IHF1ZXJ5U2V0LCBHUFVTaXplMzIgcXVlcnlJbmRleCk7Ci0gICAgdW5kZWZp
bmVkIGVuZFBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KCk7Ci0KLSAgICB1bmRlZmluZWQgZW5kUGFz
cygpOworICAgIHVuZGVmaW5lZCBlbmQoKTsKIH07CiBHUFVDb21wdXRlUGFzc0VuY29kZXIgaW5j
bHVkZXMgR1BVT2JqZWN0QmFzZTsKK0dQVUNvbXB1dGVQYXNzRW5jb2RlciBpbmNsdWRlcyBHUFVD
b21tYW5kc01peGluOworR1BVQ29tcHV0ZVBhc3NFbmNvZGVyIGluY2x1ZGVzIEdQVURlYnVnQ29t
bWFuZHNNaXhpbjsKIEdQVUNvbXB1dGVQYXNzRW5jb2RlciBpbmNsdWRlcyBHUFVQcm9ncmFtbWFi
bGVQYXNzRW5jb2RlcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BV
L0dQVURlYnVnQ29tbWFuZHNNaXhpbi5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQ
VS9HUFVEZWJ1Z0NvbW1hbmRzTWl4aW4uaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFmODQ4YTQyZGNiY2NhNjZj
MzE4MWJhOGJlMTQwOGU2M2MwNTY0MDQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL1dlYkdQVS9HUFVEZWJ1Z0NvbW1hbmRzTWl4aW4uaWRsCkBAIC0wLDAgKzEsMzUg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisvLyBodHRwczovL2dwdXdlYi5naXRodWIuaW8vZ3B1d2ViLyNncHVk
ZWJ1Z2NvbW1hbmRzbWl4aW4KKworWworICAgIEVuYWJsZWRCeVNldHRpbmc9V2ViR1BVCitdCitp
bnRlcmZhY2UgbWl4aW4gR1BVRGVidWdDb21tYW5kc01peGluIHsKKyAgICB1bmRlZmluZWQgcHVz
aERlYnVnR3JvdXAoVVNWU3RyaW5nIGdyb3VwTGFiZWwpOworICAgIHVuZGVmaW5lZCBwb3BEZWJ1
Z0dyb3VwKCk7CisgICAgdW5kZWZpbmVkIGluc2VydERlYnVnTWFya2VyKFVTVlN0cmluZyBtYXJr
ZXJMYWJlbCk7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUv
R1BVRmVhdHVyZU5hbWUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUZlYXR1
cmVOYW1lLmgKaW5kZXggNGZlYWI1MDFjNWFjNDdlMjMyY2JjYjdiYWQ1MGIwMGY3MzQxY2M5OC4u
YTgwM2FjMmY1NThkODViNmJkZmE1MWY1MTc1MDdlOWU4NmU2ZGVjYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVRmVhdHVyZU5hbWUuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVGZWF0dXJlTmFtZS5oCkBAIC0zNCw3ICszNCw2IEBA
IGVudW0gY2xhc3MgR1BVRmVhdHVyZU5hbWUgOiB1aW50OF90IHsKICAgICBEZXB0aENsaXBDb250
cm9sLAogICAgIERlcHRoMjR1bm9ybVN0ZW5jaWw4LAogICAgIERlcHRoMzJmbG9hdFN0ZW5jaWw4
LAotICAgIFBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5LAogICAgIFRleHR1cmVDb21wcmVzc2lvbkJj
LAogICAgIFRleHR1cmVDb21wcmVzc2lvbkV0YzIsCiAgICAgVGV4dHVyZUNvbXByZXNzaW9uQXN0
YywKQEAgLTUxLDggKzUwLDYgQEAgaW5saW5lIFBBTDo6V2ViR1BVOjpGZWF0dXJlTmFtZSBjb252
ZXJ0VG9CYWNraW5nKEdQVUZlYXR1cmVOYW1lIGZlYXR1cmVOYW1lKQogICAgICAgICByZXR1cm4g
UEFMOjpXZWJHUFU6OkZlYXR1cmVOYW1lOjpEZXB0aDI0dW5vcm1TdGVuY2lsODsKICAgICBjYXNl
IEdQVUZlYXR1cmVOYW1lOjpEZXB0aDMyZmxvYXRTdGVuY2lsODoKICAgICAgICAgcmV0dXJuIFBB
TDo6V2ViR1BVOjpGZWF0dXJlTmFtZTo6RGVwdGgzMmZsb2F0U3RlbmNpbDg7Ci0gICAgY2FzZSBH
UFVGZWF0dXJlTmFtZTo6UGlwZWxpbmVTdGF0aXN0aWNzUXVlcnk6Ci0gICAgICAgIHJldHVybiBQ
QUw6OldlYkdQVTo6RmVhdHVyZU5hbWU6OlBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5OwogICAgIGNh
c2UgR1BVRmVhdHVyZU5hbWU6OlRleHR1cmVDb21wcmVzc2lvbkJjOgogICAgICAgICByZXR1cm4g
UEFMOjpXZWJHUFU6OkZlYXR1cmVOYW1lOjpUZXh0dXJlQ29tcHJlc3Npb25CYzsKICAgICBjYXNl
IEdQVUZlYXR1cmVOYW1lOjpUZXh0dXJlQ29tcHJlc3Npb25FdGMyOgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVRmVhdHVyZU5hbWUuaWRsIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVRmVhdHVyZU5hbWUuaWRsCmluZGV4IDE4NGU1YTUxZWMx
MmQxNTNlN2ViOTM0Mzg0OWNjZjc1N2E5NWYzYmIuLjI1ZjBmMzgzZDUxYWExOWQ3YzRlMGY1YjE0
MzA1NmVmNTI1MDNhZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BV
L0dQVUZlYXR1cmVOYW1lLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9H
UFVGZWF0dXJlTmFtZS5pZGwKQEAgLTMyLDcgKzMyLDYgQEAgZW51bSBHUFVGZWF0dXJlTmFtZSB7
CiAgICAgImRlcHRoLWNsaXAtY29udHJvbCIsCiAgICAgImRlcHRoMjR1bm9ybS1zdGVuY2lsOCIs
CiAgICAgImRlcHRoMzJmbG9hdC1zdGVuY2lsOCIsCi0gICAgInBpcGVsaW5lLXN0YXRpc3RpY3Mt
cXVlcnkiLAogICAgICJ0ZXh0dXJlLWNvbXByZXNzaW9uLWJjIiwKICAgICAidGV4dHVyZS1jb21w
cmVzc2lvbi1ldGMyIiwKICAgICAidGV4dHVyZS1jb21wcmVzc2lvbi1hc3RjIiwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUZyYWdtZW50U3RhdGUuaCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUZyYWdtZW50U3RhdGUuaAppbmRleCBlOWI2
OWFjYjVhY2IwNmNhNjliODcxNzJlOTkzZTUxOGVmOTViNWZiLi40YzVkNTgyMjI0MjY3NjQzMmU5
MmE2NTg1NTkyM2U1MDEzMjRkMzk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L1dlYkdQVS9HUFVGcmFnbWVudFN0YXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9X
ZWJHUFUvR1BVRnJhZ21lbnRTdGF0ZS5oCkBAIC0yOCw2ICsyOCw3IEBACiAjaW5jbHVkZSAiR1BV
Q29sb3JUYXJnZXRTdGF0ZS5oIgogI2luY2x1ZGUgIkdQVVByb2dyYW1tYWJsZVN0YWdlLmgiCiAj
aW5jbHVkZSA8cGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVGcmFnbWVudFN0YXRlLmg+CisjaW5j
bHVkZSA8b3B0aW9uYWw+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CkBAIC00MiwxMyArNDMsMTUgQEAgc3RydWN0IEdQVUZyYWdtZW50U3RhdGUgOiBwdWJs
aWMgR1BVUHJvZ3JhbW1hYmxlU3RhZ2UgewogICAgICAgICAgICAgICAgIGVudHJ5UG9pbnQsCiAg
ICAgICAgICAgICAgICAgY29uc3RhbnRzLAogICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHRh
cmdldHMubWFwKFtdIChhdXRvJiB0YXJnZXQpIHsKLSAgICAgICAgICAgICAgICByZXR1cm4gdGFy
Z2V0LmNvbnZlcnRUb0JhY2tpbmcoKTsKKyAgICAgICAgICAgIHRhcmdldHMubWFwKFtdIChhdXRv
JiB0YXJnZXQpIC0+IHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OkNvbG9yVGFyZ2V0U3RhdGU+
IHsKKyAgICAgICAgICAgICAgICBpZiAodGFyZ2V0KQorICAgICAgICAgICAgICAgICAgICByZXR1
cm4gdGFyZ2V0LT5jb252ZXJ0VG9CYWNraW5nKCk7CisgICAgICAgICAgICAgICAgcmV0dXJuIHN0
ZDo6bnVsbG9wdDsKICAgICAgICAgICAgIH0pLAogICAgICAgICB9OwogICAgIH0KIAotICAgIFZl
Y3RvcjxHUFVDb2xvclRhcmdldFN0YXRlPiB0YXJnZXRzOworICAgIFZlY3RvcjxzdGQ6Om9wdGlv
bmFsPEdQVUNvbG9yVGFyZ2V0U3RhdGU+PiB0YXJnZXRzOwogfTsKIAogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVRnJhZ21lbnRTdGF0ZS5pZGwgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVGcmFnbWVudFN0YXRlLmlkbAppbmRleCAxODk4
NGU0ZWE2OTYxMzA4MTBkZGU5NDkyNjdlZjk5NmU0OTNkMWRkLi40M2FmZmU5YWRlMDAxNzg3ZDgz
MjIyMjVhNjk0ZWViN2RiOTc0NzIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L1dlYkdQVS9HUFVGcmFnbWVudFN0YXRlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L1dlYkdQVS9HUFVGcmFnbWVudFN0YXRlLmlkbApAQCAtMjksNSArMjksNSBAQAogICAgIEVuYWJs
ZWRCeVNldHRpbmc9V2ViR1BVCiBdCiBkaWN0aW9uYXJ5IEdQVUZyYWdtZW50U3RhdGUgOiBHUFVQ
cm9ncmFtbWFibGVTdGFnZSB7Ci0gICAgcmVxdWlyZWQgc2VxdWVuY2U8R1BVQ29sb3JUYXJnZXRT
dGF0ZT4gdGFyZ2V0czsKKyAgICByZXF1aXJlZCBzZXF1ZW5jZTxHUFVDb2xvclRhcmdldFN0YXRl
Pz4gdGFyZ2V0czsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQ
VS9HUFVJbWFnZUNvcHlFeHRlcm5hbEltYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dl
YkdQVS9HUFVJbWFnZUNvcHlFeHRlcm5hbEltYWdlLmgKaW5kZXggNGNjY2FiN2YwMDU2NmEzMTM2
YTI1Nzg5MGI4OTFiOTdkYzM1YTg4ZS4uOTU3Y2M5ZTM4MTFhZTI3ZDZmM2E4Mjg2N2FiMDZlNGM5
Yzg2NmUwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVSW1h
Z2VDb3B5RXh0ZXJuYWxJbWFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BV
L0dQVUltYWdlQ29weUV4dGVybmFsSW1hZ2UuaApAQCAtNDEsMTEgKzQxLDEzIEBAIHN0cnVjdCBH
UFVJbWFnZUNvcHlFeHRlcm5hbEltYWdlIHsKICAgICAgICAgcmV0dXJuIHsKICAgICAgICAgICAg
IC8vIEZJWE1FOiBIYW5kbGUgdGhlIGNhbnZhcyBlbGVtZW50LgogICAgICAgICAgICAgb3JpZ2lu
ID8gc3RkOjpvcHRpb25hbCB7IFdlYkNvcmU6OmNvbnZlcnRUb0JhY2tpbmcoKm9yaWdpbikgfSA6
IHN0ZDo6bnVsbG9wdCwKKyAgICAgICAgICAgIGZsaXBZLAogICAgICAgICB9OwogICAgIH0KIAog
ICAgIHN0ZDo6dmFyaWFudDxSZWZQdHI8SW1hZ2VCaXRtYXA+LCBSZWZQdHI8SFRNTENhbnZhc0Vs
ZW1lbnQ+PiBzb3VyY2U7CiAgICAgc3RkOjpvcHRpb25hbDxHUFVPcmlnaW4yRD4gb3JpZ2luOwor
ICAgIGJvb2wgZmxpcFkgeyBmYWxzZSB9OwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVSW1hZ2VDb3B5RXh0ZXJuYWxJbWFnZS5pZGwgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVJbWFnZUNvcHlFeHRlcm5hbEltYWdlLmlkbApp
bmRleCA5ZTYxMmJiNTM2ODc3YWZmZjEwOTY1OGYzNWExNDE0YWRhYWQ5ZjJlLi4xZjIyMjJhNTVi
YWVlOWMyN2QyZDI1ODZjOTc4MTUzNGM5YzljZTk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL1dlYkdQVS9HUFVJbWFnZUNvcHlFeHRlcm5hbEltYWdlLmlkbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVJbWFnZUNvcHlFeHRlcm5hbEltYWdlLmlkbApA
QCAtMzUsNCArMzUsNSBAQCB0eXBlZGVmIChzZXF1ZW5jZTxHUFVJbnRlZ2VyQ29vcmRpbmF0ZT4g
b3IgR1BVT3JpZ2luMkREaWN0KSBHUFVPcmlnaW4yRDsKIGRpY3Rpb25hcnkgR1BVSW1hZ2VDb3B5
RXh0ZXJuYWxJbWFnZSB7CiAgICAgcmVxdWlyZWQgKEltYWdlQml0bWFwIG9yIEhUTUxDYW52YXNF
bGVtZW50KSBzb3VyY2U7IC8vIEZJWE1FOiBPZmZzY3JlZW5DYW52YXMgZG9lc24ndCBzZWVtIHRv
IHdvcmsgd2l0aCBvdXIgYmluZGluZ3MgaGVyZS4KICAgICBHUFVPcmlnaW4yRCBvcmlnaW47Cisg
ICAgYm9vbGVhbiBmbGlwWSA9IGZhbHNlOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvV2ViR1BVL0dQVUxvYWRPcC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJH
UFUvR1BVTG9hZE9wLmgKaW5kZXggMzVlNTc0OWZlMTdkNWJkMjllMTU3MGIyMTdlNTk5MjExNTcx
OTIyOS4uMTJjYWRhZmIyYTU3MDM2YzA2YjY5ZDE4MGRjMWE1YWRlYzIzMzA4YiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVTG9hZE9wLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVTG9hZE9wLmgKQEAgLTMyLDYgKzMyLDcgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBlbnVtIGNsYXNzIEdQVUxvYWRPcCA6IHVpbnQ4X3QgewogICAg
IExvYWQsCisgICAgQ2xlYXIsCiB9OwogCiBpbmxpbmUgUEFMOjpXZWJHUFU6OkxvYWRPcCBjb252
ZXJ0VG9CYWNraW5nKEdQVUxvYWRPcCBsb2FkT3ApCkBAIC0zOSw2ICs0MCw4IEBAIGlubGluZSBQ
QUw6OldlYkdQVTo6TG9hZE9wIGNvbnZlcnRUb0JhY2tpbmcoR1BVTG9hZE9wIGxvYWRPcCkKICAg
ICBzd2l0Y2ggKGxvYWRPcCkgewogICAgIGNhc2UgR1BVTG9hZE9wOjpMb2FkOgogICAgICAgICBy
ZXR1cm4gUEFMOjpXZWJHUFU6OkxvYWRPcDo6TG9hZDsKKyAgICBjYXNlIEdQVUxvYWRPcDo6Q2xl
YXI6CisgICAgICAgIHJldHVybiBQQUw6OldlYkdQVTo6TG9hZE9wOjpDbGVhcjsKICAgICB9CiAg
ICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUxvYWRPcC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL1dlYkdQVS9HUFVMb2FkT3AuaWRsCmluZGV4IGM4NDk1NDFiNTI0Njc2NTEwYzU2MjhmYzk5
MTAxYWNiOTI5OWE4NTMuLmQ2MDJiNjFjNTJiNDgxMjY5ODNmNDhhZjBlN2MwNWQ1ZjUyMWVjNzQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUxvYWRPcC5pZGwK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVTG9hZE9wLmlkbApAQCAtMjks
NSArMjksNiBAQAogICAgIEVuYWJsZWRCeVNldHRpbmc9V2ViR1BVCiBdCiBlbnVtIEdQVUxvYWRP
cCB7Ci0gICAgImxvYWQiCisgICAgImxvYWQiLAorICAgICJjbGVhciIKIH07CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVPYmplY3RCYXNlLmlkbCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVU9iamVjdEJhc2UuaWRsCmluZGV4IGUxMzMxYjNl
YzNjZDdlZjgzYjE3NTQzMmYzNzYyN2I3YWQ1ODQwZDQuLjJlN2I0ZmViZGMyMjI5NjdmNjAwZTky
N2RiOWIxZWMwMjRiZTIzYzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2Vi
R1BVL0dQVU9iamVjdEJhc2UuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BV
L0dQVU9iamVjdEJhc2UuaWRsCkBAIC0yOSw1ICsyOSw1IEBACiAgICAgRW5hYmxlZEJ5U2V0dGlu
Zz1XZWJHUFUKIF0KIGludGVyZmFjZSBtaXhpbiBHUFVPYmplY3RCYXNlIHsKLSAgICBhdHRyaWJ1
dGUgVVNWU3RyaW5nPyBsYWJlbDsKKyAgICBhdHRyaWJ1dGUgKFVTVlN0cmluZyBvciB1bmRlZmlu
ZWQpIGxhYmVsOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BV
L0dQVVBpcGVsaW5lU3RhdGlzdGljTmFtZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJH
UFUvR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IGY4ZGU4YmZmOGY1NzNlYzRmM2FmNjczMmMyOWZkZjJhMTA4ZWQ2NTEuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9XZWJHUFUvR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lLmgKKysrIC9kZXYvbnVsbApAQCAtMSw1
OCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoK
LSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
LSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI3ByYWdtYSBvbmNlCi0KLSNpbmNsdWRlIDxjc3RkaW50
PgotI2luY2x1ZGUgPHBhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVUGlwZWxpbmVTdGF0aXN0aWNO
YW1lLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotZW51bSBjbGFzcyBHUFVQaXBlbGluZVN0
YXRpc3RpY05hbWUgOiB1aW50OF90IHsKLSAgICBWZXJ0ZXhTaGFkZXJJbnZvY2F0aW9ucywKLSAg
ICBDbGlwcGVySW52b2NhdGlvbnMsCi0gICAgQ2xpcHBlclByaW1pdGl2ZXNPdXQsCi0gICAgRnJh
Z21lbnRTaGFkZXJJbnZvY2F0aW9ucywKLSAgICBDb21wdXRlU2hhZGVySW52b2NhdGlvbnMsCi19
OwotCi1pbmxpbmUgUEFMOjpXZWJHUFU6OlBpcGVsaW5lU3RhdGlzdGljTmFtZSBjb252ZXJ0VG9C
YWNraW5nKEdQVVBpcGVsaW5lU3RhdGlzdGljTmFtZSBwaXBlbGluZVN0YXRpc3RpY05hbWUpCi17
Ci0gICAgc3dpdGNoIChwaXBlbGluZVN0YXRpc3RpY05hbWUpIHsKLSAgICBjYXNlIEdQVVBpcGVs
aW5lU3RhdGlzdGljTmFtZTo6VmVydGV4U2hhZGVySW52b2NhdGlvbnM6Ci0gICAgICAgIHJldHVy
biBQQUw6OldlYkdQVTo6UGlwZWxpbmVTdGF0aXN0aWNOYW1lOjpWZXJ0ZXhTaGFkZXJJbnZvY2F0
aW9uczsKLSAgICBjYXNlIEdQVVBpcGVsaW5lU3RhdGlzdGljTmFtZTo6Q2xpcHBlckludm9jYXRp
b25zOgotICAgICAgICByZXR1cm4gUEFMOjpXZWJHUFU6OlBpcGVsaW5lU3RhdGlzdGljTmFtZTo6
Q2xpcHBlckludm9jYXRpb25zOwotICAgIGNhc2UgR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lOjpD
bGlwcGVyUHJpbWl0aXZlc091dDoKLSAgICAgICAgcmV0dXJuIFBBTDo6V2ViR1BVOjpQaXBlbGlu
ZVN0YXRpc3RpY05hbWU6OkNsaXBwZXJQcmltaXRpdmVzT3V0OwotICAgIGNhc2UgR1BVUGlwZWxp
bmVTdGF0aXN0aWNOYW1lOjpGcmFnbWVudFNoYWRlckludm9jYXRpb25zOgotICAgICAgICByZXR1
cm4gUEFMOjpXZWJHUFU6OlBpcGVsaW5lU3RhdGlzdGljTmFtZTo6RnJhZ21lbnRTaGFkZXJJbnZv
Y2F0aW9uczsKLSAgICBjYXNlIEdQVVBpcGVsaW5lU3RhdGlzdGljTmFtZTo6Q29tcHV0ZVNoYWRl
ckludm9jYXRpb25zOgotICAgICAgICByZXR1cm4gUEFMOjpXZWJHUFU6OlBpcGVsaW5lU3RhdGlz
dGljTmFtZTo6Q29tcHV0ZVNoYWRlckludm9jYXRpb25zOwotICAgIH0KLSAgICBSRUxFQVNFX0FT
U0VSVF9OT1RfUkVBQ0hFRCgpOwotfQotCi19CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL1dlYkdQVS9HUFVQaXBlbGluZVN0YXRpc3RpY05hbWUuaWRsIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9XZWJHUFUvR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lLmlkbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggODc2NzdjMmNhZGNlNzU3MDZhMTEyMDJjMzQ1OWIzMzQ1YzBj
N2Y5Ni4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVQaXBlbGluZVN0YXRpc3RpY05hbWUuaWRsCisr
KyAvZGV2L251bGwKQEAgLTEsMzcgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAyMSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
LSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgot
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLS8vIGh0dHBzOi8vZ3B1
d2ViLmdpdGh1Yi5pby9ncHV3ZWIvI2VudW1kZWYtZ3B1cGlwZWxpbmVzdGF0aXN0aWNuYW1lCi0K
LVsKLSAgICBFbmFibGVkQnlTZXR0aW5nPVdlYkdQVQotXQotZW51bSBHUFVQaXBlbGluZVN0YXRp
c3RpY05hbWUgewotICAgICJ2ZXJ0ZXgtc2hhZGVyLWludm9jYXRpb25zIiwKLSAgICAiY2xpcHBl
ci1pbnZvY2F0aW9ucyIsCi0gICAgImNsaXBwZXItcHJpbWl0aXZlcy1vdXQiLAotICAgICJmcmFn
bWVudC1zaGFkZXItaW52b2NhdGlvbnMiLAotICAgICJjb21wdXRlLXNoYWRlci1pbnZvY2F0aW9u
cyIKLX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVQcm9n
cmFtbWFibGVQYXNzRW5jb2Rlci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9H
UFVQcm9ncmFtbWFibGVQYXNzRW5jb2Rlci5pZGwKaW5kZXggODFmMjI1MzgwODllZjVlYWMzOTVi
NTAxYTM0M2FiOWNmM2VlYzFiYi4uODY3MzQ5MmJmNmNhMDM4ZDkwZDAyMDJjOWVkNTEwZDAyYTc5
MjFlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUHJvZ3Jh
bW1hYmxlUGFzc0VuY29kZXIuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BV
L0dQVVByb2dyYW1tYWJsZVBhc3NFbmNvZGVyLmlkbApAQCAtNDIsOCArNDIsNCBAQCBpbnRlcmZh
Y2UgbWl4aW4gR1BVUHJvZ3JhbW1hYmxlUGFzc0VuY29kZXIgewogICAgICAgICBVaW50MzJBcnJh
eSBkeW5hbWljT2Zmc2V0c0RhdGEsCiAgICAgICAgIEdQVVNpemU2NCBkeW5hbWljT2Zmc2V0c0Rh
dGFTdGFydCwKICAgICAgICAgR1BVU2l6ZTMyIGR5bmFtaWNPZmZzZXRzRGF0YUxlbmd0aCk7Ci0K
LSAgICB1bmRlZmluZWQgcHVzaERlYnVnR3JvdXAoVVNWU3RyaW5nIGdyb3VwTGFiZWwpOwotICAg
IHVuZGVmaW5lZCBwb3BEZWJ1Z0dyb3VwKCk7Ci0gICAgdW5kZWZpbmVkIGluc2VydERlYnVnTWFy
a2VyKFVTVlN0cmluZyBtYXJrZXJMYWJlbCk7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9XZWJHUFUvR1BVUXVlcnlTZXREZXNjcmlwdG9yLmggYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL1dlYkdQVS9HUFVRdWVyeVNldERlc2NyaXB0b3IuaAppbmRleCBmMDA0M2JkNTcy
ZjEzZDg0MjYxZjAzYzlhNzEwZWE1NTNmOTkzZjQ0Li5mZmQxZjc1MmU4ZDEwZmU4NWFhNGQxOWFi
OTkxMTdmMGFlYWRlZDg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQ
VS9HUFVRdWVyeVNldERlc2NyaXB0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dl
YkdQVS9HUFVRdWVyeVNldERlc2NyaXB0b3IuaApAQCAtMjcsNyArMjcsNiBAQAogCiAjaW5jbHVk
ZSAiR1BVSW50ZWdyYWxUeXBlcy5oIgogI2luY2x1ZGUgIkdQVU9iamVjdERlc2NyaXB0b3JCYXNl
LmgiCi0jaW5jbHVkZSAiR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lLmgiCiAjaW5jbHVkZSAiR1BV
UXVlcnlUeXBlLmgiCiAjaW5jbHVkZSA8cGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVRdWVyeVNl
dERlc2NyaXB0b3IuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CkBAIC00MiwxNSArNDEsMTEg
QEAgc3RydWN0IEdQVVF1ZXJ5U2V0RGVzY3JpcHRvciA6IHB1YmxpYyBHUFVPYmplY3REZXNjcmlw
dG9yQmFzZSB7CiAgICAgICAgICAgICB7IGxhYmVsIH0sCiAgICAgICAgICAgICBXZWJDb3JlOjpj
b252ZXJ0VG9CYWNraW5nKHR5cGUpLAogICAgICAgICAgICAgY291bnQsCi0gICAgICAgICAgICBw
aXBlbGluZVN0YXRpc3RpY3MubWFwKFtdIChjb25zdCBhdXRvJiBwaXBlbGluZVN0YXRpc3RpYykg
ewotICAgICAgICAgICAgICAgIHJldHVybiBXZWJDb3JlOjpjb252ZXJ0VG9CYWNraW5nKHBpcGVs
aW5lU3RhdGlzdGljKTsKLSAgICAgICAgICAgIH0pLAogICAgICAgICB9OwogICAgIH0KIAogICAg
IEdQVVF1ZXJ5VHlwZSB0eXBlIHsgR1BVUXVlcnlUeXBlOjpPY2NsdXNpb24gfTsKICAgICBHUFVT
aXplMzIgY291bnQgeyAwIH07Ci0gICAgVmVjdG9yPEdQVVBpcGVsaW5lU3RhdGlzdGljTmFtZT4g
cGlwZWxpbmVTdGF0aXN0aWNzOwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9XZWJHUFUvR1BVUXVlcnlTZXREZXNjcmlwdG9yLmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvV2ViR1BVL0dQVVF1ZXJ5U2V0RGVzY3JpcHRvci5pZGwKaW5kZXggZmNkNTFiZDll
MTk3NjllYWUzMmI1YmExYzdlN2E2MmQwOGM4NjFkYy4uNWE3ZTk1MDJiNmU1ZWFkYjFjOTE2NjUz
ODIxMTMzNGIzNmU5Y2JjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJH
UFUvR1BVUXVlcnlTZXREZXNjcmlwdG9yLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L1dlYkdQVS9HUFVRdWVyeVNldERlc2NyaXB0b3IuaWRsCkBAIC0zNCw1ICszNCw0IEBAIHR5cGVk
ZWYgW0VuZm9yY2VSYW5nZV0gdW5zaWduZWQgbG9uZyBHUFVTaXplMzI7CiBkaWN0aW9uYXJ5IEdQ
VVF1ZXJ5U2V0RGVzY3JpcHRvciA6IEdQVU9iamVjdERlc2NyaXB0b3JCYXNlIHsKICAgICByZXF1
aXJlZCBHUFVRdWVyeVR5cGUgdHlwZTsKICAgICByZXF1aXJlZCBHUFVTaXplMzIgY291bnQ7Ci0g
ICAgc2VxdWVuY2U8R1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lPiBwaXBlbGluZVN0YXRpc3RpY3Mg
PSBbXTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVR
dWVyeVR5cGUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVF1ZXJ5VHlwZS5o
CmluZGV4IGU3YTU3NzJlNDg2M2M3YzZjNzg3OGE0Njg1YmE0NDU2Njg2OTcwZGUuLjI5YjgzMzJi
OWU5YWYyNGY3NzRjYTA4NzkwMWFkMWJkMzI1YWE2NGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvV2ViR1BVL0dQVVF1ZXJ5VHlwZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvV2ViR1BVL0dQVVF1ZXJ5VHlwZS5oCkBAIC0zMiw3ICszMiw2IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogZW51bSBjbGFzcyBHUFVRdWVyeVR5cGUgOiB1aW50OF90IHsKICAgICBPY2Ns
dXNpb24sCi0gICAgUGlwZWxpbmVTdGF0aXN0aWNzLAogICAgIFRpbWVzdGFtcCwKIH07CiAKQEAg
LTQxLDggKzQwLDYgQEAgaW5saW5lIFBBTDo6V2ViR1BVOjpRdWVyeVR5cGUgY29udmVydFRvQmFj
a2luZyhHUFVRdWVyeVR5cGUgcXVlcnlUeXBlKQogICAgIHN3aXRjaCAocXVlcnlUeXBlKSB7CiAg
ICAgY2FzZSBHUFVRdWVyeVR5cGU6Ok9jY2x1c2lvbjoKICAgICAgICAgcmV0dXJuIFBBTDo6V2Vi
R1BVOjpRdWVyeVR5cGU6Ok9jY2x1c2lvbjsKLSAgICBjYXNlIEdQVVF1ZXJ5VHlwZTo6UGlwZWxp
bmVTdGF0aXN0aWNzOgotICAgICAgICByZXR1cm4gUEFMOjpXZWJHUFU6OlF1ZXJ5VHlwZTo6UGlw
ZWxpbmVTdGF0aXN0aWNzOwogICAgIGNhc2UgR1BVUXVlcnlUeXBlOjpUaW1lc3RhbXA6CiAgICAg
ICAgIHJldHVybiBQQUw6OldlYkdQVTo6UXVlcnlUeXBlOjpUaW1lc3RhbXA7CiAgICAgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUXVlcnlUeXBlLmlkbCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVF1ZXJ5VHlwZS5pZGwKaW5kZXggNTQ4
MWI5MjJhMjMxZGU3YWY5NThkYzk0MjNmZTIyY2IxYTNmOTU2Ni4uZDU5MDJkNmJjMjQzNzAwZWIx
ODg3Yjg0NWVlNTNlNzc1OWYxZTRmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9XZWJHUFUvR1BVUXVlcnlUeXBlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dl
YkdQVS9HUFVRdWVyeVR5cGUuaWRsCkBAIC0zMCw2ICszMCw1IEBACiBdCiBlbnVtIEdQVVF1ZXJ5
VHlwZSB7CiAgICAgIm9jY2x1c2lvbiIsCi0gICAgInBpcGVsaW5lLXN0YXRpc3RpY3MiLAogICAg
ICJ0aW1lc3RhbXAiCiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJH
UFUvR1BVUXVldWUuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUXVldWUu
Y3BwCmluZGV4IGY1ODYxOTAyY2ZmZTY2ZjI4OGU1YTY3Nzk5ZjIzNTVmNWQzNzc0YjMuLmI0YmVi
NDE4MzQ1MWE0NTgwMGJmNDIyMGRiNzYyY2JiODRlMzI2YjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVF1ZXVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL1dlYkdQVS9HUFVRdWV1ZS5jcHAKQEAgLTYzLDEwICs2MywxMCBAQCB2b2lkIEdQVVF1
ZXVlOjp3cml0ZUJ1ZmZlcigKICAgICBjb25zdCBHUFVCdWZmZXImIGJ1ZmZlciwKICAgICBHUFVT
aXplNjQgYnVmZmVyT2Zmc2V0LAogICAgIEJ1ZmZlclNvdXJjZSYmIGRhdGEsCi0gICAgc3RkOjpv
cHRpb25hbDxHUFVTaXplNjQ+IGRhdGFPZmZzZXQsCisgICAgR1BVU2l6ZTY0IGRhdGFPZmZzZXQs
CiAgICAgc3RkOjpvcHRpb25hbDxHUFVTaXplNjQ+IHNpemUpCiB7Ci0gICAgbV9iYWNraW5nLT53
cml0ZUJ1ZmZlcihidWZmZXIuYmFja2luZygpLCBidWZmZXJPZmZzZXQsIGRhdGEuZGF0YSgpLCBk
YXRhLmxlbmd0aCgpLCBkYXRhT2Zmc2V0LnZhbHVlX29yKDApLCBzaXplKTsKKyAgICBtX2JhY2tp
bmctPndyaXRlQnVmZmVyKGJ1ZmZlci5iYWNraW5nKCksIGJ1ZmZlck9mZnNldCwgZGF0YS5kYXRh
KCksIGRhdGEubGVuZ3RoKCksIGRhdGFPZmZzZXQsIHNpemUpOwogfQogCiB2b2lkIEdQVVF1ZXVl
Ojp3cml0ZVRleHR1cmUoCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQ
VS9HUFVRdWV1ZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUXVldWUuaApp
bmRleCBmZWMyZmJkMjc0ZGY5NWQzNDU2OWRkYmE1ZGI1ZTBjMDI3YzIzN2RmLi43NTExOWUwYjM1
NmJkMTcxNzZkODg1YmIwNjBlM2VkYjg1NmM3ZTlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL1dlYkdQVS9HUFVRdWV1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
V2ViR1BVL0dQVVF1ZXVlLmgKQEAgLTY1LDcgKzY1LDcgQEAgcHVibGljOgogICAgICAgICBjb25z
dCBHUFVCdWZmZXImLAogICAgICAgICBHUFVTaXplNjQgYnVmZmVyT2Zmc2V0LAogICAgICAgICBC
dWZmZXJTb3VyY2UmJiBkYXRhLAotICAgICAgICBzdGQ6Om9wdGlvbmFsPEdQVVNpemU2ND4gZGF0
YU9mZnNldCwKKyAgICAgICAgR1BVU2l6ZTY0IGRhdGFPZmZzZXQsCiAgICAgICAgIHN0ZDo6b3B0
aW9uYWw8R1BVU2l6ZTY0Pik7CiAKICAgICB2b2lkIHdyaXRlVGV4dHVyZSgKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlckJ1bmRsZUVuY29kZXIuaWRs
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyQnVuZGxlRW5jb2Rlci5p
ZGwKaW5kZXggY2ZjNjg2ZDNjNjVhZDI2NDBjZTUyMmEwYjliNGYzMGMwNDM2NjM4NS4uZTE5ZmVj
NTU5NmRhZWQ2NWJkZDM5YjExOTNiM2M0OGUzNDg2NzZiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyQnVuZGxlRW5jb2Rlci5pZGwKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyQnVuZGxlRW5jb2Rlci5pZGwKQEAg
LTM0LDUgKzM0LDcgQEAgaW50ZXJmYWNlIEdQVVJlbmRlckJ1bmRsZUVuY29kZXIgewogICAgIEdQ
VVJlbmRlckJ1bmRsZSBmaW5pc2gob3B0aW9uYWwgR1BVUmVuZGVyQnVuZGxlRGVzY3JpcHRvciBk
ZXNjcmlwdG9yKTsKIH07CiBHUFVSZW5kZXJCdW5kbGVFbmNvZGVyIGluY2x1ZGVzIEdQVU9iamVj
dEJhc2U7CitHUFVSZW5kZXJCdW5kbGVFbmNvZGVyIGluY2x1ZGVzIEdQVUNvbW1hbmRzTWl4aW47
CitHUFVSZW5kZXJCdW5kbGVFbmNvZGVyIGluY2x1ZGVzIEdQVURlYnVnQ29tbWFuZHNNaXhpbjsK
IEdQVVJlbmRlckJ1bmRsZUVuY29kZXIgaW5jbHVkZXMgR1BVUHJvZ3JhbW1hYmxlUGFzc0VuY29k
ZXI7CiBHUFVSZW5kZXJCdW5kbGVFbmNvZGVyIGluY2x1ZGVzIEdQVVJlbmRlckVuY29kZXJCYXNl
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFz
c0NvbG9yQXR0YWNobWVudC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVu
ZGVyUGFzc0NvbG9yQXR0YWNobWVudC5oCmluZGV4IDg4NjU2MDYwY2YwMDA0M2NhODMzNzI0YTdl
ZjZhM2RjOGM4MzVjYjguLmJlMWQzYzQ3MTM0ZTk4NWMyZDYxZDk0NDlhZGVlYzIyNDc5NTBmYzAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3ND
b2xvckF0dGFjaG1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVS
ZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50LmgKQEAgLTQzLDEzICs0Myw4IEBAIHN0cnVjdCBHUFVS
ZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50IHsKICAgICAgICAgcmV0dXJuIHsKICAgICAgICAgICAg
IHZpZXctPmJhY2tpbmcoKSwKICAgICAgICAgICAgIHJlc29sdmVUYXJnZXQgPyAmcmVzb2x2ZVRh
cmdldC0+YmFja2luZygpIDogbnVsbHB0ciwKLSAgICAgICAgICAgIFdURjo6c3dpdGNoT24obG9h
ZFZhbHVlLCBbJl0gKEdQVUxvYWRPcCBsb2FkT3ApIC0+IHN0ZDo6dmFyaWFudDxQQUw6OldlYkdQ
VTo6TG9hZE9wLCBWZWN0b3I8ZG91YmxlPiwgUEFMOjpXZWJHUFU6OkNvbG9yRGljdD4gewotICAg
ICAgICAgICAgICAgIHJldHVybiBXZWJDb3JlOjpjb252ZXJ0VG9CYWNraW5nKGxvYWRPcCk7Ci0g
ICAgICAgICAgICB9LCBbJl0gKGNvbnN0IFZlY3Rvcjxkb3VibGU+JiB2ZWN0b3IpIC0+IHN0ZDo6
dmFyaWFudDxQQUw6OldlYkdQVTo6TG9hZE9wLCBWZWN0b3I8ZG91YmxlPiwgUEFMOjpXZWJHUFU6
OkNvbG9yRGljdD4gewotICAgICAgICAgICAgICAgIHJldHVybiB2ZWN0b3I7Ci0gICAgICAgICAg
ICB9LCBbJl0gKGNvbnN0IEdQVUNvbG9yRGljdCYgY29sb3IpIC0+IHN0ZDo6dmFyaWFudDxQQUw6
OldlYkdQVTo6TG9hZE9wLCBWZWN0b3I8ZG91YmxlPiwgUEFMOjpXZWJHUFU6OkNvbG9yRGljdD4g
ewotICAgICAgICAgICAgICAgIHJldHVybiBjb2xvci5jb252ZXJ0VG9CYWNraW5nKCk7Ci0gICAg
ICAgICAgICB9KSwKKyAgICAgICAgICAgIGNsZWFyVmFsdWUgPyBzdGQ6Om9wdGlvbmFsIHsgV2Vi
Q29yZTo6Y29udmVydFRvQmFja2luZyhjbGVhclZhbHVlKSB9IDogc3RkOjpudWxsb3B0LAorICAg
ICAgICAgICAgV2ViQ29yZTo6Y29udmVydFRvQmFja2luZyhsb2FkT3ApLAogICAgICAgICAgICAg
V2ViQ29yZTo6Y29udmVydFRvQmFja2luZyhzdG9yZU9wKSwKICAgICAgICAgfTsKICAgICB9CkBA
IC01Nyw3ICs1Miw4IEBAIHN0cnVjdCBHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50IHsKICAg
ICBHUFVUZXh0dXJlVmlldyogdmlldyB7IG51bGxwdHIgfTsKICAgICBHUFVUZXh0dXJlVmlldyog
cmVzb2x2ZVRhcmdldCB7IG51bGxwdHIgfTsKIAotICAgIHN0ZDo6dmFyaWFudDxHUFVMb2FkT3As
IFZlY3Rvcjxkb3VibGU+LCBHUFVDb2xvckRpY3Q+IGxvYWRWYWx1ZTsKKyAgICBzdGQ6Om9wdGlv
bmFsPEdQVUNvbG9yPiBjbGVhclZhbHVlOworICAgIEdQVUxvYWRPcCBsb2FkT3AgeyBHUFVMb2Fk
T3A6OkxvYWQgfTsKICAgICBHUFVTdG9yZU9wIHN0b3JlT3AgeyBHUFVTdG9yZU9wOjpTdG9yZSB9
OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVu
ZGVyUGFzc0NvbG9yQXR0YWNobWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQ
VS9HUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50LmlkbAppbmRleCAyYmRjNmM0MzljMzkyMmU5
NTA2N2NhYzI2MTY0MDczYTAzN2U1MWQwLi44NTJhY2M2ZmIzNjM5YWMwYTRhNzk0NmJhNzk0ZjQx
NjZmYjMyNWRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVS
ZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L1dlYkdQVS9HUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50LmlkbApAQCAtMzUsNiArMzUsNyBA
QCBkaWN0aW9uYXJ5IEdQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQgewogICAgIHJlcXVpcmVk
IEdQVVRleHR1cmVWaWV3IHZpZXc7CiAgICAgR1BVVGV4dHVyZVZpZXcgcmVzb2x2ZVRhcmdldDsK
IAotICAgIHJlcXVpcmVkIChHUFVMb2FkT3Agb3IgR1BVQ29sb3IpIGxvYWRWYWx1ZTsKKyAgICBH
UFVDb2xvciBjbGVhclZhbHVlOworICAgIHJlcXVpcmVkIEdQVUxvYWRPcCBsb2FkT3A7CiAgICAg
cmVxdWlyZWQgR1BVU3RvcmVPcCBzdG9yZU9wOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzRGVwdGhTdGVuY2ls
QXR0YWNobWVudC5oCmluZGV4IGZhM2ZiNzYwMDE4MTBmYjYwZWEzMjgxYzcyZjc5NDNlMGEzMTM3
MjIuLjJhOWU1YmUzNTUxZDQ4ZWY3MTdiNDEzMzhlOTMyOThkNDE4NzViY2IgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NEZXB0aFN0ZW5jaWxB
dHRhY2htZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVy
UGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQuaApAQCAtNDEsMzIgKzQxLDI4IEBAIHN0cnVjdCBH
UFVSZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNobWVudCB7CiAgICAgICAgIEFTU0VSVCh2aWV3
KTsKICAgICAgICAgcmV0dXJuIHsKICAgICAgICAgICAgIHZpZXctPmJhY2tpbmcoKSwKLSAgICAg
ICAgICAgIFdURjo6c3dpdGNoT24oZGVwdGhMb2FkVmFsdWUsIFsmXSAoR1BVTG9hZE9wIGxvYWRP
cCkgLT4gc3RkOjp2YXJpYW50PFBBTDo6V2ViR1BVOjpMb2FkT3AsIGZsb2F0PiB7Ci0gICAgICAg
ICAgICAgICAgcmV0dXJuIFdlYkNvcmU6OmNvbnZlcnRUb0JhY2tpbmcobG9hZE9wKTsKLSAgICAg
ICAgICAgIH0sIFsmXSAoZmxvYXQgZikgLT4gc3RkOjp2YXJpYW50PFBBTDo6V2ViR1BVOjpMb2Fk
T3AsIGZsb2F0PiB7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGY7Ci0gICAgICAgICAgICB9KSwK
LSAgICAgICAgICAgIFdlYkNvcmU6OmNvbnZlcnRUb0JhY2tpbmcoZGVwdGhTdG9yZU9wKSwKKyAg
ICAgICAgICAgIGRlcHRoQ2xlYXJWYWx1ZSwKKyAgICAgICAgICAgIGRlcHRoTG9hZE9wID8gc3Rk
OjpvcHRpb25hbCB7IFdlYkNvcmU6OmNvbnZlcnRUb0JhY2tpbmcoZGVwdGhMb2FkT3ApIH0gOiBz
dGQ6Om51bGxvcHQsCisgICAgICAgICAgICBkZXB0aFN0b3JlT3AgPyBzdGQ6Om9wdGlvbmFsIHsg
V2ViQ29yZTo6Y29udmVydFRvQmFja2luZyhkZXB0aFN0b3JlT3ApIH0gOiBzdGQ6Om51bGxvcHQs
CiAgICAgICAgICAgICBkZXB0aFJlYWRPbmx5LAotICAgICAgICAgICAgV1RGOjpzd2l0Y2hPbihz
dGVuY2lsTG9hZFZhbHVlLCBbJl0gKEdQVUxvYWRPcCBsb2FkT3ApIC0+IHN0ZDo6dmFyaWFudDxQ
QUw6OldlYkdQVTo6TG9hZE9wLCBQQUw6OldlYkdQVTo6U3RlbmNpbFZhbHVlPiB7Ci0gICAgICAg
ICAgICAgICAgcmV0dXJuIFdlYkNvcmU6OmNvbnZlcnRUb0JhY2tpbmcobG9hZE9wKTsKLSAgICAg
ICAgICAgIH0sIFsmXSAoR1BVU3RlbmNpbFZhbHVlIHN0ZW5jaWxWYWx1ZSkgLT4gc3RkOjp2YXJp
YW50PFBBTDo6V2ViR1BVOjpMb2FkT3AsIFBBTDo6V2ViR1BVOjpTdGVuY2lsVmFsdWU+IHsKLSAg
ICAgICAgICAgICAgICByZXR1cm4gc3RlbmNpbFZhbHVlOwotICAgICAgICAgICAgfSksCi0gICAg
ICAgICAgICBXZWJDb3JlOjpjb252ZXJ0VG9CYWNraW5nKHN0ZW5jaWxTdG9yZU9wKSwKKyAgICAg
ICAgICAgIHN0ZW5jaWxDbGVhclZhbHVlLAorICAgICAgICAgICAgc3RlbmNpbExvYWRPcCA/IHN0
ZDo6b3B0aW9uYWwgeyBXZWJDb3JlOjpjb252ZXJ0VG9CYWNraW5nKHN0ZW5jaWxMb2FkT3ApIH0g
OiBzdGQ6Om51bGxvcHQsCisgICAgICAgICAgICBzdGVuY2lsU3RvcmVPcCA/IHN0ZDo6b3B0aW9u
YWwgeyBXZWJDb3JlOjpjb252ZXJ0VG9CYWNraW5nKHN0ZW5jaWxTdG9yZU9wKSB9IDogc3RkOjpu
dWxsb3B0LAogICAgICAgICAgICAgc3RlbmNpbFJlYWRPbmx5LAogICAgICAgICB9OwogICAgIH0K
IAogICAgIEdQVVRleHR1cmVWaWV3KiB2aWV3IHsgbnVsbHB0ciB9OwogCi0gICAgc3RkOjp2YXJp
YW50PEdQVUxvYWRPcCwgZmxvYXQ+IGRlcHRoTG9hZFZhbHVlOwotICAgIEdQVVN0b3JlT3AgZGVw
dGhTdG9yZU9wIHsgR1BVU3RvcmVPcDo6U3RvcmUgfTsKLSAgICBib29sIGRlcHRoUmVhZE9ubHkg
eyBmYWxzZSB9OworICAgIHN0ZDo6b3B0aW9uYWw8ZmxvYXQ+IGRlcHRoQ2xlYXJWYWx1ZTsKKyAg
ICBzdGQ6Om9wdGlvbmFsPEdQVUxvYWRPcD4gZGVwdGhMb2FkT3A7CisgICAgc3RkOjpvcHRpb25h
bDxHUFVTdG9yZU9wPiBkZXB0aFN0b3JlT3A7CisgICAgc3RkOjpvcHRpb25hbDxib29sPiBkZXB0
aFJlYWRPbmx5OwogCi0gICAgc3RkOjp2YXJpYW50PEdQVUxvYWRPcCwgR1BVU3RlbmNpbFZhbHVl
PiBzdGVuY2lsTG9hZFZhbHVlOwotICAgIEdQVVN0b3JlT3Agc3RlbmNpbFN0b3JlT3AgeyBHUFVT
dG9yZU9wOjpTdG9yZSB9OwotICAgIGJvb2wgc3RlbmNpbFJlYWRPbmx5IHsgZmFsc2UgfTsKKyAg
ICBzdGQ6Om9wdGlvbmFsPEdQVVN0ZW5jaWxWYWx1ZT4gc3RlbmNpbENsZWFyVmFsdWU7CisgICAg
c3RkOjpvcHRpb25hbDxHUFVMb2FkT3A+IHN0ZW5jaWxMb2FkT3A7CisgICAgc3RkOjpvcHRpb25h
bDxHUFVTdG9yZU9wPiBzdGVuY2lsU3RvcmVPcDsKKyAgICBzdGQ6Om9wdGlvbmFsPGJvb2w+IHN0
ZW5jaWxSZWFkT25seTsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50LmlkbCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2ht
ZW50LmlkbAppbmRleCAzNzUwMjE5YTI4NWI3MjFjYzg1NjU3Yzk1ZGZhOWRjYzRhNWQwMTE4Li43
ZTY5NTdiNGY1N2I4ZjFkNTJhZGQwODA0MDkxZmZmYjg4MWY5YmI3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNo
bWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFz
c0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQuaWRsCkBAIC0zNCwxMSArMzQsMTMgQEAgdHlwZWRlZiBb
RW5mb3JjZVJhbmdlXSB1bnNpZ25lZCBsb25nIEdQVVN0ZW5jaWxWYWx1ZTsKIGRpY3Rpb25hcnkg
R1BVUmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQgewogICAgIHJlcXVpcmVkIEdQVVRl
eHR1cmVWaWV3IHZpZXc7CiAKLSAgICByZXF1aXJlZCAoR1BVTG9hZE9wIG9yIGZsb2F0KSBkZXB0
aExvYWRWYWx1ZTsKLSAgICByZXF1aXJlZCBHUFVTdG9yZU9wIGRlcHRoU3RvcmVPcDsKKyAgICBm
bG9hdCBkZXB0aENsZWFyVmFsdWUgPSAwOworICAgIEdQVUxvYWRPcCBkZXB0aExvYWRPcDsKKyAg
ICBHUFVTdG9yZU9wIGRlcHRoU3RvcmVPcDsKICAgICBib29sZWFuIGRlcHRoUmVhZE9ubHkgPSBm
YWxzZTsKIAotICAgIHJlcXVpcmVkIChHUFVMb2FkT3Agb3IgR1BVU3RlbmNpbFZhbHVlKSBzdGVu
Y2lsTG9hZFZhbHVlOwotICAgIHJlcXVpcmVkIEdQVVN0b3JlT3Agc3RlbmNpbFN0b3JlT3A7Cisg
ICAgR1BVU3RlbmNpbFZhbHVlIHN0ZW5jaWxDbGVhclZhbHVlID0gMDsKKyAgICBHUFVMb2FkT3Ag
c3RlbmNpbExvYWRPcDsKKyAgICBHUFVTdG9yZU9wIHN0ZW5jaWxTdG9yZU9wOwogICAgIGJvb2xl
YW4gc3RlbmNpbFJlYWRPbmx5ID0gZmFsc2U7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IuaCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NEZXNjcmlwdG9yLmgKaW5kZXggNTgyYWZl
MWU5NzM4MGYyOGFlMTUxMWZhZmMxYjUzNzFhMjhmZTQ3MS4uZmI3OGY1MmY4MjczMDNjMGEzMDE2
Zjc2MjdjYmUwMWVmZmY1ODI4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9X
ZWJHUFUvR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzRGVzY3JpcHRvci5oCkBAIC00Miw4ICs0MiwxMCBAQCBz
dHJ1Y3QgR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IgOiBwdWJsaWMgR1BVT2JqZWN0RGVzY3JpcHRv
ckJhc2UgewogICAgIHsKICAgICAgICAgcmV0dXJuIHsKICAgICAgICAgICAgIHsgbGFiZWwgfSwK
LSAgICAgICAgICAgIGNvbG9yQXR0YWNobWVudHMubWFwKFtdIChhdXRvJiBjb2xvckF0dGFjaG1l
bnQpIHsKLSAgICAgICAgICAgICAgICByZXR1cm4gY29sb3JBdHRhY2htZW50LmNvbnZlcnRUb0Jh
Y2tpbmcoKTsKKyAgICAgICAgICAgIGNvbG9yQXR0YWNobWVudHMubWFwKFtdIChhdXRvJiBjb2xv
ckF0dGFjaG1lbnQpIC0+IHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlJlbmRlclBhc3NDb2xv
ckF0dGFjaG1lbnQ+IHsKKyAgICAgICAgICAgICAgICBpZiAoY29sb3JBdHRhY2htZW50KQorICAg
ICAgICAgICAgICAgICAgICByZXR1cm4gY29sb3JBdHRhY2htZW50LT5jb252ZXJ0VG9CYWNraW5n
KCk7CisgICAgICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKICAgICAgICAgICAgIH0p
LAogICAgICAgICAgICAgZGVwdGhTdGVuY2lsQXR0YWNobWVudCA/IHN0ZDo6b3B0aW9uYWwgeyBk
ZXB0aFN0ZW5jaWxBdHRhY2htZW50LT5jb252ZXJ0VG9CYWNraW5nKCkgfSA6IHN0ZDo6bnVsbG9w
dCwKICAgICAgICAgICAgIG9jY2x1c2lvblF1ZXJ5U2V0ID8gJm9jY2x1c2lvblF1ZXJ5U2V0LT5i
YWNraW5nKCkgOiBudWxscHRyLApAQCAtNTEsNyArNTMsNyBAQCBzdHJ1Y3QgR1BVUmVuZGVyUGFz
c0Rlc2NyaXB0b3IgOiBwdWJsaWMgR1BVT2JqZWN0RGVzY3JpcHRvckJhc2UgewogICAgICAgICB9
OwogICAgIH0KIAotICAgIFZlY3RvcjxHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50PiBjb2xv
ckF0dGFjaG1lbnRzOworICAgIFZlY3RvcjxzdGQ6Om9wdGlvbmFsPEdQVVJlbmRlclBhc3NDb2xv
ckF0dGFjaG1lbnQ+PiBjb2xvckF0dGFjaG1lbnRzOwogICAgIHN0ZDo6b3B0aW9uYWw8R1BVUmVu
ZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQ+IGRlcHRoU3RlbmNpbEF0dGFjaG1lbnQ7CiAg
ICAgR1BVUXVlcnlTZXQqIG9jY2x1c2lvblF1ZXJ5U2V0IHsgbnVsbHB0ciB9OwogICAgIEdQVVJl
bmRlclBhc3NUaW1lc3RhbXBXcml0ZXMgdGltZXN0YW1wV3JpdGVzOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IuaWRsIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IuaWRs
CmluZGV4IDBjMWNkZTM4OGYyZjBjNmFlNDNhNmNiNTAzMDZhZjU5MzhjNzQyYzYuLjE2OWUxNWNi
YmU2NWVhNWNkNDA4NDIxODE3MjQ3ZjFhYmY4N2MwN2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NEZXNjcmlwdG9yLmlkbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzRGVzY3JpcHRvci5pZGwKQEAg
LTMyLDcgKzMyLDcgQEAgdHlwZWRlZiBzZXF1ZW5jZTxHUFVSZW5kZXJQYXNzVGltZXN0YW1wV3Jp
dGU+IEdQVVJlbmRlclBhc3NUaW1lc3RhbXBXcml0ZXM7CiAgICAgRW5hYmxlZEJ5U2V0dGluZz1X
ZWJHUFUKIF0KIGRpY3Rpb25hcnkgR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IgOiBHUFVPYmplY3RE
ZXNjcmlwdG9yQmFzZSB7Ci0gICAgcmVxdWlyZWQgc2VxdWVuY2U8R1BVUmVuZGVyUGFzc0NvbG9y
QXR0YWNobWVudD4gY29sb3JBdHRhY2htZW50czsKKyAgICByZXF1aXJlZCBzZXF1ZW5jZTxHUFVS
ZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50Pz4gY29sb3JBdHRhY2htZW50czsKICAgICBHUFVSZW5k
ZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNobWVudCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50OwogICAg
IEdQVVF1ZXJ5U2V0IG9jY2x1c2lvblF1ZXJ5U2V0OwogICAgIEdQVVJlbmRlclBhc3NUaW1lc3Rh
bXBXcml0ZXMgdGltZXN0YW1wV3JpdGVzID0gW107CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzRW5jb2Rlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzRW5jb2Rlci5jcHAKaW5kZXggYTk1MTAxNjZm
OGJlODIxMmU3NmNhZmU0YTdlMmE0NjI5NWYyYmI4MS4uZDY0NDM1MjljY2I5YjVjYThkYzFkNGU2
Y2RkMDhmNGM0M2I5ZjY2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJH
UFUvR1BVUmVuZGVyUGFzc0VuY29kZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
V2ViR1BVL0dQVVJlbmRlclBhc3NFbmNvZGVyLmNwcApAQCAtMTQ1LDE2ICsxNDUsNiBAQCB2b2lk
IEdQVVJlbmRlclBhc3NFbmNvZGVyOjplbmRPY2NsdXNpb25RdWVyeSgpCiAgICAgbV9iYWNraW5n
LT5lbmRPY2NsdXNpb25RdWVyeSgpOwogfQogCi12b2lkIEdQVVJlbmRlclBhc3NFbmNvZGVyOjpi
ZWdpblBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KGNvbnN0IEdQVVF1ZXJ5U2V0JiBxdWVyeVNldCwg
R1BVU2l6ZTMyIHF1ZXJ5SW5kZXgpCi17Ci0gICAgbV9iYWNraW5nLT5iZWdpblBpcGVsaW5lU3Rh
dGlzdGljc1F1ZXJ5KHF1ZXJ5U2V0LmJhY2tpbmcoKSwgcXVlcnlJbmRleCk7Ci19Ci0KLXZvaWQg
R1BVUmVuZGVyUGFzc0VuY29kZXI6OmVuZFBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KCkKLXsKLSAg
ICBtX2JhY2tpbmctPmVuZFBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KCk7Ci19Ci0KIHZvaWQgR1BV
UmVuZGVyUGFzc0VuY29kZXI6OmV4ZWN1dGVCdW5kbGVzKFZlY3RvcjxSZWZQdHI8R1BVUmVuZGVy
QnVuZGxlPj4mJiBidW5kbGVzKQogewogICAgIFZlY3RvcjxzdGQ6OnJlZmVyZW5jZV93cmFwcGVy
PFBBTDo6V2ViR1BVOjpSZW5kZXJCdW5kbGU+PiByZXN1bHQ7CkBAIC0xNjcsOSArMTU3LDkgQEAg
dm9pZCBHUFVSZW5kZXJQYXNzRW5jb2Rlcjo6ZXhlY3V0ZUJ1bmRsZXMoVmVjdG9yPFJlZlB0cjxH
UFVSZW5kZXJCdW5kbGU+PiYmIGJ1bmQKICAgICBtX2JhY2tpbmctPmV4ZWN1dGVCdW5kbGVzKFdU
Rk1vdmUocmVzdWx0KSk7CiB9CiAKLXZvaWQgR1BVUmVuZGVyUGFzc0VuY29kZXI6OmVuZFBhc3Mo
KQordm9pZCBHUFVSZW5kZXJQYXNzRW5jb2Rlcjo6ZW5kKCkKIHsKLSAgICBtX2JhY2tpbmctPmVu
ZFBhc3MoKTsKKyAgICBtX2JhY2tpbmctPmVuZCgpOwogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzRW5jb2Rlci5oIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0VuY29kZXIuaAppbmRleCBmYzgx
NzFjNGFlYTRlZWUzNmQ4YzI3MDc3ODY2ZTc2MGRiNmVkZGU3Li5hNWYwYTk2YWRmOTM2Y2U5NDE0
NThkYmQxN2FiODY2ZTMxNDZiM2NjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L1dlYkdQVS9HUFVSZW5kZXJQYXNzRW5jb2Rlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NFbmNvZGVyLmgKQEAgLTk1LDExICs5NSw4IEBAIHB1Ymxp
YzoKICAgICB2b2lkIGJlZ2luT2NjbHVzaW9uUXVlcnkoR1BVU2l6ZTMyIHF1ZXJ5SW5kZXgpOwog
ICAgIHZvaWQgZW5kT2NjbHVzaW9uUXVlcnkoKTsKIAotICAgIHZvaWQgYmVnaW5QaXBlbGluZVN0
YXRpc3RpY3NRdWVyeShjb25zdCBHUFVRdWVyeVNldCYsIEdQVVNpemUzMiBxdWVyeUluZGV4KTsK
LSAgICB2b2lkIGVuZFBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KCk7Ci0KICAgICB2b2lkIGV4ZWN1
dGVCdW5kbGVzKFZlY3RvcjxSZWZQdHI8R1BVUmVuZGVyQnVuZGxlPj4mJik7Ci0gICAgdm9pZCBl
bmRQYXNzKCk7CisgICAgdm9pZCBlbmQoKTsKIAogICAgIFBBTDo6V2ViR1BVOjpSZW5kZXJQYXNz
RW5jb2RlciYgYmFja2luZygpIHsgcmV0dXJuIG1fYmFja2luZzsgfQogICAgIGNvbnN0IFBBTDo6
V2ViR1BVOjpSZW5kZXJQYXNzRW5jb2RlciYgYmFja2luZygpIGNvbnN0IHsgcmV0dXJuIG1fYmFj
a2luZzsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVu
ZGVyUGFzc0VuY29kZXIuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVu
ZGVyUGFzc0VuY29kZXIuaWRsCmluZGV4IDQ4ODVlYTM2OGM0MDNmMGFhODUxYzA2OGZiY2MwNzJk
MDI3MWE2OWQuLjQ3NmVjYTVjNzBmNzZmMDczMGEzMmVjNjg3NjU1M2YzOTA3ODhkOTkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NFbmNvZGVy
LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzRW5j
b2Rlci5pZGwKQEAgLTUwLDEyICs1MCwxMSBAQCBpbnRlcmZhY2UgR1BVUmVuZGVyUGFzc0VuY29k
ZXIgewogICAgIHVuZGVmaW5lZCBiZWdpbk9jY2x1c2lvblF1ZXJ5KEdQVVNpemUzMiBxdWVyeUlu
ZGV4KTsKICAgICB1bmRlZmluZWQgZW5kT2NjbHVzaW9uUXVlcnkoKTsKIAotICAgIHVuZGVmaW5l
ZCBiZWdpblBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KEdQVVF1ZXJ5U2V0IHF1ZXJ5U2V0LCBHUFVT
aXplMzIgcXVlcnlJbmRleCk7Ci0gICAgdW5kZWZpbmVkIGVuZFBpcGVsaW5lU3RhdGlzdGljc1F1
ZXJ5KCk7Ci0KICAgICB1bmRlZmluZWQgZXhlY3V0ZUJ1bmRsZXMoc2VxdWVuY2U8R1BVUmVuZGVy
QnVuZGxlPiBidW5kbGVzKTsKLSAgICB1bmRlZmluZWQgZW5kUGFzcygpOworICAgIHVuZGVmaW5l
ZCBlbmQoKTsKIH07CiBHUFVSZW5kZXJQYXNzRW5jb2RlciBpbmNsdWRlcyBHUFVPYmplY3RCYXNl
OworR1BVUmVuZGVyUGFzc0VuY29kZXIgaW5jbHVkZXMgR1BVQ29tbWFuZHNNaXhpbjsKK0dQVVJl
bmRlclBhc3NFbmNvZGVyIGluY2x1ZGVzIEdQVURlYnVnQ29tbWFuZHNNaXhpbjsKIEdQVVJlbmRl
clBhc3NFbmNvZGVyIGluY2x1ZGVzIEdQVVByb2dyYW1tYWJsZVBhc3NFbmNvZGVyOwogR1BVUmVu
ZGVyUGFzc0VuY29kZXIgaW5jbHVkZXMgR1BVUmVuZGVyRW5jb2RlckJhc2U7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzTGF5b3V0LmggYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzTGF5b3V0LmgKaW5kZXgg
YjVhNTQwYWFhYWM3OGQ4OTAyY2I5MjdiNjIxYzFlYjgxMDRiMzk1NC4uMzZjZDViZjcwMjkyNmNi
YTk3MDQ4NmRhZmMyMWE4YmQ0NWIyN2NjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0xheW91dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NMYXlvdXQuaApAQCAtMzksMTUgKzM5LDE3IEBAIHN0
cnVjdCBHUFVSZW5kZXJQYXNzTGF5b3V0IDogcHVibGljIEdQVU9iamVjdERlc2NyaXB0b3JCYXNl
IHsKICAgICB7CiAgICAgICAgIHJldHVybiB7CiAgICAgICAgICAgICB7IGxhYmVsIH0sCi0gICAg
ICAgICAgICBjb2xvckZvcm1hdHMubWFwKFtdIChjb25zdCBhdXRvJiBjb2xvckZvcm1hdCkgewot
ICAgICAgICAgICAgICAgIHJldHVybiBXZWJDb3JlOjpjb252ZXJ0VG9CYWNraW5nKGNvbG9yRm9y
bWF0KTsKKyAgICAgICAgICAgIGNvbG9yRm9ybWF0cy5tYXAoW10gKGF1dG8mIGNvbG9yRm9ybWF0
KSAtPiBzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpUZXh0dXJlRm9ybWF0PiB7CisgICAgICAg
ICAgICAgICAgaWYgKGNvbG9yRm9ybWF0KQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gV2Vi
Q29yZTo6Y29udmVydFRvQmFja2luZyhjb2xvckZvcm1hdCk7CisgICAgICAgICAgICAgICAgcmV0
dXJuIHN0ZDo6bnVsbG9wdDsKICAgICAgICAgICAgIH0pLAogICAgICAgICAgICAgZGVwdGhTdGVu
Y2lsRm9ybWF0ID8gc3RkOjpvcHRpb25hbCB7IFdlYkNvcmU6OmNvbnZlcnRUb0JhY2tpbmcoKmRl
cHRoU3RlbmNpbEZvcm1hdCkgfSA6IHN0ZDo6bnVsbG9wdCwKICAgICAgICAgICAgIHNhbXBsZUNv
dW50LAogICAgICAgICB9OwogICAgIH0KIAotICAgIFZlY3RvcjxHUFVUZXh0dXJlRm9ybWF0PiBj
b2xvckZvcm1hdHM7CisgICAgVmVjdG9yPHN0ZDo6b3B0aW9uYWw8R1BVVGV4dHVyZUZvcm1hdD4+
IGNvbG9yRm9ybWF0czsKICAgICBzdGQ6Om9wdGlvbmFsPEdQVVRleHR1cmVGb3JtYXQ+IGRlcHRo
U3RlbmNpbEZvcm1hdDsKICAgICBHUFVTaXplMzIgc2FtcGxlQ291bnQgeyAxIH07CiB9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0xheW91
dC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzTGF5b3V0
LmlkbAppbmRleCA0YTc2OTY5MmUyNjAyYjA3NWUwMTNhOTAwZGNjZTkyMTlmMzg2YjUyLi42YmNi
ZGIxMzA2NzYzOTE4N2JiYTkyM2JkYmRlNDYyMjQ5NzU5ZmNhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzTGF5b3V0LmlkbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzTGF5b3V0LmlkbApAQCAtMzIs
NyArMzIsNyBAQCB0eXBlZGVmIFtFbmZvcmNlUmFuZ2VdIHVuc2lnbmVkIGxvbmcgR1BVU2l6ZTMy
OwogICAgIEVuYWJsZWRCeVNldHRpbmc9V2ViR1BVCiBdCiBkaWN0aW9uYXJ5IEdQVVJlbmRlclBh
c3NMYXlvdXQgOiBHUFVPYmplY3REZXNjcmlwdG9yQmFzZSB7Ci0gICAgcmVxdWlyZWQgc2VxdWVu
Y2U8R1BVVGV4dHVyZUZvcm1hdD4gY29sb3JGb3JtYXRzOworICAgIHJlcXVpcmVkIHNlcXVlbmNl
PEdQVVRleHR1cmVGb3JtYXQ/PiBjb2xvckZvcm1hdHM7CiAgICAgR1BVVGV4dHVyZUZvcm1hdCBk
ZXB0aFN0ZW5jaWxGb3JtYXQ7CiAgICAgR1BVU2l6ZTMyIHNhbXBsZUNvdW50ID0gMTsKIH07CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVTaGFkZXJNb2R1bGVD
b21waWxhdGlvbkhpbnQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVNoYWRl
ck1vZHVsZUNvbXBpbGF0aW9uSGludC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYyYTM2N2VkNzgxOTFhMzExZjdi
OWNlZWJjMDc1Mzg0ZGE0MGYwNjMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL1dlYkdQVS9HUFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQuaApAQCAtMCwwICsx
LDQ1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgor
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJHUFVQaXBlbGlu
ZUxheW91dC5oIgorI2luY2x1ZGUgPHBhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVU2hhZGVyTW9k
dWxlQ29tcGlsYXRpb25IaW50Lmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RydWN0IEdQ
VVNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludCB7CisgICAgUEFMOjpXZWJHUFU6OlNoYWRlck1v
ZHVsZUNvbXBpbGF0aW9uSGludCBjb252ZXJ0VG9CYWNraW5nKCkgY29uc3QKKyAgICB7CisgICAg
ICAgIEFTU0VSVChwaXBlbGluZUxheW91dCk7CisgICAgICAgIHJldHVybiB7CisgICAgICAgICAg
ICBwaXBlbGluZUxheW91dC0+YmFja2luZygpLAorICAgICAgICB9OworICAgIH0KKworICAgIEdQ
VVBpcGVsaW5lTGF5b3V0KiBwaXBlbGluZUxheW91dCB7IG51bGxwdHIgfTsKK307CisKK30KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVNoYWRlck1vZHVsZUNv
bXBpbGF0aW9uSGludC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVTaGFk
ZXJNb2R1bGVDb21waWxhdGlvbkhpbnQuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY4ODU2ZTg5ZmJkMjBmOGNj
M2E3NTlhOTE3MmQ1Y2NjNjUzYzAwNjMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL1dlYkdQVS9HUFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQuaWRsCkBAIC0w
LDAgKzEsMzMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjIgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisvLyBodHRwczovL2dwdXdlYi5naXRodWIuaW8vZ3B1
d2ViLyNkaWN0ZGVmLWdwdXNoYWRlcm1vZHVsZWNvbXBpbGF0aW9uaGludAorCitbCisgICAgRW5h
YmxlZEJ5U2V0dGluZz1XZWJHUFUKK10KK2RpY3Rpb25hcnkgR1BVU2hhZGVyTW9kdWxlQ29tcGls
YXRpb25IaW50IHsKKyAgICByZXF1aXJlZCBHUFVQaXBlbGluZUxheW91dCBsYXlvdXQ7Cit9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVU2hhZGVyTW9kdWxl
RGVzY3JpcHRvci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVU2hhZGVyTW9k
dWxlRGVzY3JpcHRvci5oCmluZGV4IDE2MTczMjVhZjNhYzczNDRkMjk3NTFlNTYwZTRmOTNiZjQy
NTkxMjIuLjBhYTczODkzZDMyOTdhMWY0MWY0MDE2NTZiM2IyYzY2NjNmNTU3ZGYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVNoYWRlck1vZHVsZURlc2NyaXB0
b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVTaGFkZXJNb2R1bGVE
ZXNjcmlwdG9yLmgKQEAgLTI1LDcgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpbmNsdWRl
ICJHUFVPYmplY3REZXNjcmlwdG9yQmFzZS5oIgorI2luY2x1ZGUgIkdQVVNoYWRlck1vZHVsZUNv
bXBpbGF0aW9uSGludC5oIgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTT2JqZWN0Lmg+CiAj
aW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvU3Ryb25nLmg+CiAjaW5jbHVkZSA8cGFsL2dyYXBoaWNz
L1dlYkdQVS9XZWJHUFVTaGFkZXJNb2R1bGVEZXNjcmlwdG9yLmg+CkBAIC00MCwxMSArNDAsMTYg
QEAgc3RydWN0IEdQVVNoYWRlck1vZHVsZURlc2NyaXB0b3IgOiBwdWJsaWMgR1BVT2JqZWN0RGVz
Y3JpcHRvckJhc2UgewogICAgICAgICAgICAgeyBsYWJlbCB9LAogICAgICAgICAgICAgY29kZSwK
ICAgICAgICAgICAgIC8vIEZJWE1FOiBIYW5kbGUgdGhlIHNvdXJjZU1hcC4KKyAgICAgICAgICAg
IGhpbnRzLm1hcChbXSAoYXV0byYgaGludCkgeworICAgICAgICAgICAgICAgIEFTU0VSVChoaW50
LnZhbHVlKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gS2V5VmFsdWVQYWlyPFN0cmluZywgUEFM
OjpXZWJHUFU6OlNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludD4oaGludC5rZXksIGhpbnQudmFs
dWUtPmNvbnZlcnRUb0JhY2tpbmcoKSk7CisgICAgICAgICAgICB9KSwKICAgICAgICAgfTsKICAg
ICB9CiAKICAgICBTdHJpbmcgY29kZTsKICAgICBKU0M6OlN0cm9uZzxKU0M6OkpTT2JqZWN0PiBz
b3VyY2VNYXA7CisgICAgVmVjdG9yPEtleVZhbHVlUGFpcjxTdHJpbmcsIEdQVVNoYWRlck1vZHVs
ZUNvbXBpbGF0aW9uSGludCo+PiBoaW50czsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVNoYWRlck1vZHVsZURlc2NyaXB0b3IuaWRsIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVU2hhZGVyTW9kdWxlRGVzY3JpcHRvci5pZGwK
aW5kZXggYjhhNzk1OWNlYjNjMzc2M2Y5NmE2YjYxZjNmNDVhYzA4NjY3MThiNC4uNDJlMDQ0ZDdk
NGQ0MTQ1ZTU1NzA5ODcwNTY2ZTcwOTAwZWFmYzA2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9XZWJHUFUvR1BVU2hhZGVyTW9kdWxlRGVzY3JpcHRvci5pZGwKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVU2hhZGVyTW9kdWxlRGVzY3JpcHRvci5pZGwK
QEAgLTMxLDQgKzMxLDUgQEAKIGRpY3Rpb25hcnkgR1BVU2hhZGVyTW9kdWxlRGVzY3JpcHRvciA6
IEdQVU9iamVjdERlc2NyaXB0b3JCYXNlIHsKICAgICByZXF1aXJlZCBVU1ZTdHJpbmcgY29kZTsK
ICAgICBvYmplY3Qgc291cmNlTWFwOworICAgIHJlY29yZDxVU1ZTdHJpbmcsIEdQVVNoYWRlck1v
ZHVsZUNvbXBpbGF0aW9uSGludD4gaGludHM7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9XZWJHUFUvR1BVVGV4dHVyZURlc2NyaXB0b3IuaCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvV2ViR1BVL0dQVVRleHR1cmVEZXNjcmlwdG9yLmgKaW5kZXggYzdkOGIyN2FjMTNl
OGJlZGY5NGNlZjY3NmMyOGI4NTQxNTY1YTNkOC4uNGQyZmE0NzI3ZTQ5MDNmNWYwZjg5MWQwOGNl
ZTI0Yjk3ZThlZDc3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUv
R1BVVGV4dHVyZURlc2NyaXB0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQ
VS9HUFVUZXh0dXJlRGVzY3JpcHRvci5oCkBAIC00Niw2ICs0Niw5IEBAIHN0cnVjdCBHUFVUZXh0
dXJlRGVzY3JpcHRvciA6IHB1YmxpYyBHUFVPYmplY3REZXNjcmlwdG9yQmFzZSB7CiAgICAgICAg
ICAgICBXZWJDb3JlOjpjb252ZXJ0VG9CYWNraW5nKGRpbWVuc2lvbiksCiAgICAgICAgICAgICBX
ZWJDb3JlOjpjb252ZXJ0VG9CYWNraW5nKGZvcm1hdCksCiAgICAgICAgICAgICBjb252ZXJ0VGV4
dHVyZVVzYWdlRmxhZ3NUb0JhY2tpbmcodXNhZ2UpLAorICAgICAgICAgICAgdmlld0Zvcm1hdHMu
bWFwKFtdIChhdXRvIHZpZXdGb3JtYXQpIHsKKyAgICAgICAgICAgICAgICByZXR1cm4gV2ViQ29y
ZTo6Y29udmVydFRvQmFja2luZyh2aWV3Rm9ybWF0KTsKKyAgICAgICAgICAgIH0pLAogICAgICAg
ICB9OwogICAgIH0KIApAQCAtNTUsNiArNTgsNyBAQCBzdHJ1Y3QgR1BVVGV4dHVyZURlc2NyaXB0
b3IgOiBwdWJsaWMgR1BVT2JqZWN0RGVzY3JpcHRvckJhc2UgewogICAgIEdQVVRleHR1cmVEaW1l
bnNpb24gZGltZW5zaW9uIHsgR1BVVGV4dHVyZURpbWVuc2lvbjo6XzJkIH07CiAgICAgR1BVVGV4
dHVyZUZvcm1hdCBmb3JtYXQgeyBHUFVUZXh0dXJlRm9ybWF0OjpSOHVub3JtIH07CiAgICAgR1BV
VGV4dHVyZVVzYWdlRmxhZ3MgdXNhZ2UgeyAwIH07CisgICAgVmVjdG9yPEdQVVRleHR1cmVGb3Jt
YXQ+IHZpZXdGb3JtYXRzOwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9XZWJHUFUvR1BVVGV4dHVyZURlc2NyaXB0b3IuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9XZWJHUFUvR1BVVGV4dHVyZURlc2NyaXB0b3IuaWRsCmluZGV4IGIyNGZkMzJmNjc3ODdl
YTc2OWEyMDc4OWY1ZTQ4MzJmY2I0MmM1ZDUuLjVkZjY3NzQ5ZDNlNjZhZmEwMzMzZDg4NTk3YmFi
ZmQ3NDZmYmYzNTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQ
VVRleHR1cmVEZXNjcmlwdG9yLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQ
VS9HUFVUZXh0dXJlRGVzY3JpcHRvci5pZGwKQEAgLTQxLDQgKzQxLDUgQEAgZGljdGlvbmFyeSBH
UFVUZXh0dXJlRGVzY3JpcHRvciA6IEdQVU9iamVjdERlc2NyaXB0b3JCYXNlIHsKICAgICBHUFVU
ZXh0dXJlRGltZW5zaW9uIGRpbWVuc2lvbiA9ICIyZCI7CiAgICAgcmVxdWlyZWQgR1BVVGV4dHVy
ZUZvcm1hdCBmb3JtYXQ7CiAgICAgcmVxdWlyZWQgR1BVVGV4dHVyZVVzYWdlRmxhZ3MgdXNhZ2U7
CisgICAgc2VxdWVuY2U8R1BVVGV4dHVyZUZvcm1hdD4gdmlld0Zvcm1hdHMgPSBbXTsKIH07CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVUZXh0dXJlRm9ybWF0
LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVUZXh0dXJlRm9ybWF0LmgKaW5k
ZXggYzlkODcyMTAxODllMmVkMWNjNGU4M2FkOWVhYWRlOTQ4OGFiMjEwMC4uZGExM2QxMzYxMWU3
ZmY5ZGJhNTgzOTdjYmExMzg2Nzk3ZmJmZjE2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9XZWJHUFUvR1BVVGV4dHVyZUZvcm1hdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvV2ViR1BVL0dQVVRleHR1cmVGb3JtYXQuaApAQCAtNzgsMTMgKzc4LDE5IEBAIGVudW0g
Y2xhc3MgR1BVVGV4dHVyZUZvcm1hdCA6IHVpbnQ4X3QgewogICAgIFJnYmEzMnNpbnQsCiAgICAg
UmdiYTMyZmxvYXQsCiAKLSAgICAvLyBEZXB0aCBhbmQgc3RlbmNpbCBmb3JtYXRzCisgICAgLy8g
RGVwdGgvc3RlbmNpbCBmb3JtYXRzCiAgICAgU3RlbmNpbDgsCiAgICAgRGVwdGgxNnVub3JtLAog
ICAgIERlcHRoMjRwbHVzLAogICAgIERlcHRoMjRwbHVzU3RlbmNpbDgsCiAgICAgRGVwdGgzMmZs
b2F0LAogCisgICAgLy8gZGVwdGgyNHVub3JtLXN0ZW5jaWw4IGZlYXR1cmUKKyAgICBEZXB0aDI0
dW5vcm1TdGVuY2lsOCwKKworICAgIC8vIGRlcHRoMzJmbG9hdC1zdGVuY2lsOCBmZWF0dXJlCisg
ICAgRGVwdGgzMmZsb2F0U3RlbmNpbDgsCisKICAgICAvLyBCQyBjb21wcmVzc2VkIGZvcm1hdHMg
dXNhYmxlIGlmIHRleHR1cmUtY29tcHJlc3Npb24tYmMgaXMgYm90aAogICAgIC8vIHN1cHBvcnRl
ZCBieSB0aGUgZGV2aWNlL3VzZXIgYWdlbnQgYW5kIGVuYWJsZWQgaW4gcmVxdWVzdERldmljZS4K
ICAgICBCYzFSZ2JhVW5vcm0sCkBAIC0xNDUsMTIgKzE1MSw2IEBAIGVudW0gY2xhc3MgR1BVVGV4
dHVyZUZvcm1hdCA6IHVpbnQ4X3QgewogICAgIEFzdGMxMngxMFVub3JtU1JHQiwKICAgICBBc3Rj
MTJ4MTJVbm9ybSwKICAgICBBc3RjMTJ4MTJVbm9ybVNSR0IsCi0KLSAgICAvLyBkZXB0aDI0dW5v
cm0tc3RlbmNpbDggZmVhdHVyZQotICAgIERlcHRoMjR1bm9ybVN0ZW5jaWw4LAotCi0gICAgLy8g
ZGVwdGgzMmZsb2F0LXN0ZW5jaWw4IGZlYXR1cmUKLSAgICBEZXB0aDMyZmxvYXRTdGVuY2lsOCwK
IH07CiAKIGlubGluZSBQQUw6OldlYkdQVTo6VGV4dHVyZUZvcm1hdCBjb252ZXJ0VG9CYWNraW5n
KEdQVVRleHR1cmVGb3JtYXQgdGV4dHVyZUZvcm1hdCkKQEAgLTIzOCw2ICsyMzgsMTAgQEAgaW5s
aW5lIFBBTDo6V2ViR1BVOjpUZXh0dXJlRm9ybWF0IGNvbnZlcnRUb0JhY2tpbmcoR1BVVGV4dHVy
ZUZvcm1hdCB0ZXh0dXJlRm9ybWEKICAgICAgICAgcmV0dXJuIFBBTDo6V2ViR1BVOjpUZXh0dXJl
Rm9ybWF0OjpEZXB0aDI0cGx1c1N0ZW5jaWw4OwogICAgIGNhc2UgR1BVVGV4dHVyZUZvcm1hdDo6
RGVwdGgzMmZsb2F0OgogICAgICAgICByZXR1cm4gUEFMOjpXZWJHUFU6OlRleHR1cmVGb3JtYXQ6
OkRlcHRoMzJmbG9hdDsKKyAgICBjYXNlIEdQVVRleHR1cmVGb3JtYXQ6OkRlcHRoMjR1bm9ybVN0
ZW5jaWw4OgorICAgICAgICByZXR1cm4gUEFMOjpXZWJHUFU6OlRleHR1cmVGb3JtYXQ6OkRlcHRo
MjR1bm9ybVN0ZW5jaWw4OworICAgIGNhc2UgR1BVVGV4dHVyZUZvcm1hdDo6RGVwdGgzMmZsb2F0
U3RlbmNpbDg6CisgICAgICAgIHJldHVybiBQQUw6OldlYkdQVTo6VGV4dHVyZUZvcm1hdDo6RGVw
dGgzMmZsb2F0U3RlbmNpbDg7CiAgICAgY2FzZSBHUFVUZXh0dXJlRm9ybWF0OjpCYzFSZ2JhVW5v
cm06CiAgICAgICAgIHJldHVybiBQQUw6OldlYkdQVTo6VGV4dHVyZUZvcm1hdDo6QmMxUmdiYVVu
b3JtOwogICAgIGNhc2UgR1BVVGV4dHVyZUZvcm1hdDo6QmMxUmdiYVVub3JtU1JHQjoKQEAgLTM0
MiwxMCArMzQ2LDYgQEAgaW5saW5lIFBBTDo6V2ViR1BVOjpUZXh0dXJlRm9ybWF0IGNvbnZlcnRU
b0JhY2tpbmcoR1BVVGV4dHVyZUZvcm1hdCB0ZXh0dXJlRm9ybWEKICAgICAgICAgcmV0dXJuIFBB
TDo6V2ViR1BVOjpUZXh0dXJlRm9ybWF0OjpBc3RjMTJ4MTJVbm9ybTsKICAgICBjYXNlIEdQVVRl
eHR1cmVGb3JtYXQ6OkFzdGMxMngxMlVub3JtU1JHQjoKICAgICAgICAgcmV0dXJuIFBBTDo6V2Vi
R1BVOjpUZXh0dXJlRm9ybWF0OjpBc3RjMTJ4MTJVbm9ybVNSR0I7Ci0gICAgY2FzZSBHUFVUZXh0
dXJlRm9ybWF0OjpEZXB0aDI0dW5vcm1TdGVuY2lsODoKLSAgICAgICAgcmV0dXJuIFBBTDo6V2Vi
R1BVOjpUZXh0dXJlRm9ybWF0OjpEZXB0aDI0dW5vcm1TdGVuY2lsODsKLSAgICBjYXNlIEdQVVRl
eHR1cmVGb3JtYXQ6OkRlcHRoMzJmbG9hdFN0ZW5jaWw4OgotICAgICAgICByZXR1cm4gUEFMOjpX
ZWJHUFU6OlRleHR1cmVGb3JtYXQ6OkRlcHRoMzJmbG9hdFN0ZW5jaWw4OwogICAgIH0KICAgICBS
RUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9XZWJHUFUvR1BVVGV4dHVyZUZvcm1hdC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL1dlYkdQVS9HUFVUZXh0dXJlRm9ybWF0LmlkbAppbmRleCAyNTFjZGRiZTAwNDNlYzlk
MTdiODQyMmE3M2FjOTQ0NWJlNzNjNGU3Li4zMDM2MTg4YzUyMTA4OGNiY2ExZjJmNGM2OTU1Nzk3
YTdlMjdlYTk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVU
ZXh0dXJlRm9ybWF0LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVU
ZXh0dXJlRm9ybWF0LmlkbApAQCAtNzYsMTMgKzc2LDE5IEBAIGVudW0gR1BVVGV4dHVyZUZvcm1h
dCB7CiAgICAgInJnYmEzMnNpbnQiLAogICAgICJyZ2JhMzJmbG9hdCIsCiAKLSAgICAvLyBEZXB0
aCBhbmQgc3RlbmNpbCBmb3JtYXRzCisgICAgLy8gRGVwdGgvc3RlbmNpbCBmb3JtYXRzCiAgICAg
InN0ZW5jaWw4IiwKICAgICAiZGVwdGgxNnVub3JtIiwKICAgICAiZGVwdGgyNHBsdXMiLAogICAg
ICJkZXB0aDI0cGx1cy1zdGVuY2lsOCIsCiAgICAgImRlcHRoMzJmbG9hdCIsCiAKKyAgICAvLyAi
ZGVwdGgyNHVub3JtLXN0ZW5jaWw4IiBmZWF0dXJlCisgICAgImRlcHRoMjR1bm9ybS1zdGVuY2ls
OCIsCisKKyAgICAvLyAiZGVwdGgzMmZsb2F0LXN0ZW5jaWw4IiBmZWF0dXJlCisgICAgImRlcHRo
MzJmbG9hdC1zdGVuY2lsOCIsCisKICAgICAvLyBCQyBjb21wcmVzc2VkIGZvcm1hdHMgdXNhYmxl
IGlmICJ0ZXh0dXJlLWNvbXByZXNzaW9uLWJjIiBpcyBib3RoCiAgICAgLy8gc3VwcG9ydGVkIGJ5
IHRoZSBkZXZpY2UvdXNlciBhZ2VudCBhbmQgZW5hYmxlZCBpbiByZXF1ZXN0RGV2aWNlLgogICAg
ICJiYzEtcmdiYS11bm9ybSIsCkBAIC0xNDIsMTEgKzE0OCw1IEBAIGVudW0gR1BVVGV4dHVyZUZv
cm1hdCB7CiAgICAgImFzdGMtMTJ4MTAtdW5vcm0iLAogICAgICJhc3RjLTEyeDEwLXVub3JtLXNy
Z2IiLAogICAgICJhc3RjLTEyeDEyLXVub3JtIiwKLSAgICAiYXN0Yy0xMngxMi11bm9ybS1zcmdi
IiwKLQotICAgIC8vICJkZXB0aDI0dW5vcm0tc3RlbmNpbDgiIGZlYXR1cmUKLSAgICAiZGVwdGgy
NHVub3JtLXN0ZW5jaWw4IiwKLQotICAgIC8vICJkZXB0aDMyZmxvYXQtc3RlbmNpbDgiIGZlYXR1
cmUKLSAgICAiZGVwdGgzMmZsb2F0LXN0ZW5jaWw4IgorICAgICJhc3RjLTEyeDEyLXVub3JtLXNy
Z2IiCiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVVW5j
YXB0dXJlZEVycm9yRXZlbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BV
VW5jYXB0dXJlZEVycm9yRXZlbnQuaWRsCmluZGV4IDMzMmViZWFkYmRhOTg3MjA2MDZkODg1NGM1
MTY0YzFhZDQ2OWI1N2QuLjFiOTI3ZDQyYWVjNWRjOGRlZDBhYjBiM2EzOTBlNTA0YmY3NDljMDAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVVuY2FwdHVyZWRF
cnJvckV2ZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVVbmNh
cHR1cmVkRXJyb3JFdmVudC5pZGwKQEAgLTM4LDUgKzM4LDUgQEAgaW50ZXJmYWNlIEdQVVVuY2Fw
dHVyZWRFcnJvckV2ZW50IDogRXZlbnQgewogICAgICAgICBET01TdHJpbmcgdHlwZSwKICAgICAg
ICAgR1BVVW5jYXB0dXJlZEVycm9yRXZlbnRJbml0IGdwdVVuY2FwdHVyZWRFcnJvckV2ZW50SW5p
dERpY3QKICAgICApOwotICAgIFtTYW1lT2JqZWN0XSByZWFkb25seSBhdHRyaWJ1dGUgR1BVRXJy
b3IgZXJyb3I7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIEdQVUVycm9yIGVycm9yOwogfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9QQUwueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
aiBiL1NvdXJjZS9XZWJDb3JlL1BBTC9QQUwueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRl
eCA4MzgwZWUwNjU1MmNiMGRkNzIzNmI5ZjQyMWM2NjA4Y2Q2ZDhmZWJlLi5kNzQ1ZjJkNDMzZGRi
NzVlNjA4YmEzNjI5MTNmNTgzNjdmNDQyMTNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvUEFMLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvUEFM
L1BBTC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yNDYsNyArMjQ2LDYgQEAKIAkJMUNF
RkEyMTcyNzM3QTRDODAwRjBEQTk1IC8qIFdlYkdQVUJpbmRHcm91cEVudHJ5LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQ0M1RTQ2OTI3Mzc0OTQ4MDA2
RjZGRjQgLyogV2ViR1BVQmluZEdyb3VwRW50cnkuaCAqLzsgfTsKIAkJMUNFRkEyMTgyNzM3QTRD
ODAwRjBEQTk1IC8qIFdlYkdQVVByaW1pdGl2ZVRvcG9sb2d5LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQ0M1RTQ1MzI3Mzc0OTQ3MDA2RjZGRjQgLyog
V2ViR1BVUHJpbWl0aXZlVG9wb2xvZ3kuaCAqLzsgfTsKIAkJMUNFRkEyMTkyNzM3QTRDODAwRjBE
QTk1IC8qIFdlYkdQVVRleHR1cmVCaW5kaW5nTGF5b3V0LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQ0M1RTQxOTI3Mzc0OTJDMDA2RjZGRjQgLyogV2Vi
R1BVVGV4dHVyZUJpbmRpbmdMYXlvdXQuaCAqLzsgfTsKLQkJMUNFRkEyMUEyNzM3QTRDODAwRjBE
QTk1IC8qIFdlYkdQVVBpcGVsaW5lU3RhdGlzdGljTmFtZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUNDNUU0MzkyNzM3NDk0NjAwNkY2RkY0IC8qIFdl
YkdQVVBpcGVsaW5lU3RhdGlzdGljTmFtZS5oICovOyB9OwogCQkxQ0VGQTIxQjI3MzdBNEM4MDBG
MERBOTUgLyogV2ViR1BVQmxlbmRDb21wb25lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDQzVFNDc4MjczNzQ5NDkwMDZGNkZGNCAvKiBXZWJHUFVC
bGVuZENvbXBvbmVudC5oICovOyB9OwogCQkxQ0VGQTIxQzI3MzdBNEM4MDBGMERBOTUgLyogV2Vi
R1BVVGV4dHVyZVZpZXdEaW1lbnNpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDFDQzVFNDMyMjczNzQ5MkQwMDZGNkZGNCAvKiBXZWJHUFVUZXh0dXJl
Vmlld0RpbWVuc2lvbi5oICovOyB9OwogCQkxQ0VGQTIxRDI3MzdBNEM4MDBGMERBOTUgLyogV2Vi
R1BVTG9hZE9wLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAxQ0M1RTQ1MDI3Mzc0OTQ3MDA2RjZGRjQgLyogV2ViR1BVTG9hZE9wLmggKi87IH07CkBAIC02
NTAsNyArNjQ5LDYgQEAKIAkJMUNDNUU0MzYyNzM3NDk0NjAwNkY2RkY0IC8qIFdlYkdQVUNvbXBp
bGF0aW9uTWVzc2FnZVR5cGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViR1BVQ29tcGlsYXRpb25NZXNz
YWdlVHlwZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQ0M1RTQzNzI3Mzc0OTQ2
MDA2RjZGRjQgLyogV2ViR1BVRXh0ZW50M0QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViR1BVRXh0ZW50
M0QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNDNUU0MzgyNzM3NDk0NjAwNkY2
RkY0IC8qIFdlYkdQVVByb2dyYW1tYWJsZVN0YWdlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkdQVVBy
b2dyYW1tYWJsZVN0YWdlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTFDQzVFNDM5
MjczNzQ5NDYwMDZGNkZGNCAvKiBXZWJHUFVQaXBlbGluZVN0YXRpc3RpY05hbWUuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gV2ViR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTFDQzVFNDNBMjczNzQ5NDYwMDZGNkZGNCAvKiBXZWJHUFVFeHRlcm5hbFRl
eHR1cmVCaW5kaW5nTGF5b3V0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkdQVUV4dGVybmFsVGV4dHVy
ZUJpbmRpbmdMYXlvdXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNDNUU0M0Iy
NzM3NDk0NjAwNkY2RkY0IC8qIFdlYkdQVVJlbmRlclBhc3NEZXNjcmlwdG9yLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFdlYkdQVVJlbmRlclBhc3NEZXNjcmlwdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTFDQzVFNDNDMjczNzQ5NDYwMDZGNkZGNCAvKiBXZWJHUFVTYW1wbGVyQmluZGlu
Z1R5cGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViR1BVU2FtcGxlckJpbmRpbmdUeXBlLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC03NDIsNiArNzQwLDcgQEAKIAkJMUNDNUU0OTMyNzM3
NDk0QTAwNkY2RkY0IC8qIFdlYkdQVUNhbnZhc0NvbXBvc2l0aW5nQWxwaGFNb2RlLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFdlYkdQVUNhbnZhc0NvbXBvc2l0aW5nQWxwaGFNb2RlLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTFDQ0VFNEY0MjBEODcxOTMwMDQ3QjA5NyAvKiBDb3JlVUlTUEku
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29yZVVJU1BJLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDQ0VFNEY2MjBEODc0M0YwMDQ3QjA5NyAvKiBOU0FwcGVh
cmFuY2VTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTlNBcHBlYXJhbmNl
U1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFDRUY0NUFBMjdCQjEwMUYwMEMz
QTZCQyAvKiBXZWJHUFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gV2ViR1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTFEMTJDQzRBMjQxMUJDQUUwMEZEQTBBMyAvKiBGZWF0dXJlRmxhZ3NTUEku
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gRmVhdHVyZUZsYWdzU1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTFEMkI0MTMyMjVGMDVFMzQwMEEzRjcwQSAvKiBDbG9ja0dlbmVyaWMuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ2xvY2tHZW5lcmljLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUQyQjQxMzMyNUYwNUUzNTAwQTNGNzBBIC8qIENs
b2NrR2VuZXJpYy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDbG9ja0dlbmVy
aWMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEwNTUsNyArMTA1NCw2IEBACiAJ
CQkJMEM3Nzg1ODQxRjQ1MTMwRjAwRjRFQkI2IC8qIE5TV2luZG93U1BJLmggKi8sCiAJCQkJMEM3
Nzg1ODUxRjQ1MTMwRjAwRjRFQkI2IC8qIFBJUFNQSS5oICovLAogCQkJCTBDNzc4NTg3MUY0NTEz
MEYwMEY0RUJCNiAvKiBRdWlja0xvb2tNYWNTUEkuaCAqLywKLQkJCQlBMTE3NUI0ODFGNkFGRjhF
MDBDNEI5RjAgLyogU3BlZWNoU3ludGhlc2lzU1BJLmggKi8sCiAJCQkJNzFCMTE0MUYyNjgyM0FD
RDAwNEQ2NzAxIC8qIFN5c3RlbVByZXZpZXdTUEkuaCAqLywKIAkJCQkwQzc3ODU4ODFGNDUxMzBG
MDBGNEVCQjYgLyogVGVsZXBob255VXRpbGl0aWVzU1BJLmggKi8sCiAJCQkpOwpAQCAtMTMzNyw3
ICsxMzM1LDYgQEAKIAkJCQkxQ0M1RTQ1RTI3Mzc0OTQ4MDA2RjZGRjQgLyogV2ViR1BVUGlwZWxp
bmVEZXNjcmlwdG9yQmFzZS5oICovLAogCQkJCTFDQzVFNDQ1MjczNzQ5NDcwMDZGNkZGNCAvKiBX
ZWJHUFVQaXBlbGluZUxheW91dC5oICovLAogCQkJCTFDQzVFNDREMjczNzQ5NDcwMDZGNkZGNCAv
KiBXZWJHUFVQaXBlbGluZUxheW91dERlc2NyaXB0b3IuaCAqLywKLQkJCQkxQ0M1RTQzOTI3Mzc0
OTQ2MDA2RjZGRjQgLyogV2ViR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lLmggKi8sCiAJCQkJMUND
NUU0N0EyNzM3NDk0OTAwNkY2RkY0IC8qIFdlYkdQVVBvd2VyUHJlZmVyZW5jZS5oICovLAogCQkJ
CTFDQzVFNDdEMjczNzQ5NDkwMDZGNkZGNCAvKiBXZWJHUFVQcmVkZWZpbmVkQ29sb3JTcGFjZS5o
ICovLAogCQkJCTFDQzVFNDZEMjczNzQ5NDgwMDZGNkZGNCAvKiBXZWJHUFVQcmltaXRpdmVTdGF0
ZS5oICovLApAQCAtMTM2Niw2ICsxMzYzLDcgQEAKIAkJCQkxQ0M1RTQzQzI3Mzc0OTQ2MDA2RjZG
RjQgLyogV2ViR1BVU2FtcGxlckJpbmRpbmdUeXBlLmggKi8sCiAJCQkJMUNDNUU0MjMyNzM3NDky
QzAwNkY2RkY0IC8qIFdlYkdQVVNhbXBsZXJEZXNjcmlwdG9yLmggKi8sCiAJCQkJMUNDNUU0MUQy
NzM3NDkyQzAwNkY2RkY0IC8qIFdlYkdQVVNoYWRlck1vZHVsZS5oICovLAorCQkJCTFDRUY0NUFB
MjdCQjEwMUYwMEMzQTZCQyAvKiBXZWJHUFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQuaCAq
LywKIAkJCQkxQ0M1RTQxQjI3Mzc0OTJDMDA2RjZGRjQgLyogV2ViR1BVU2hhZGVyTW9kdWxlRGVz
Y3JpcHRvci5oICovLAogCQkJCTFDQzVFNDI2MjczNzQ5MkQwMDZGNkZGNCAvKiBXZWJHUFVTaGFk
ZXJTdGFnZS5oICovLAogCQkJCTFDQzVFNDFDMjczNzQ5MkMwMDZGNkZGNCAvKiBXZWJHUFVTdGVu
Y2lsRmFjZVN0YXRlLmggKi8sCkBAIC0xNzcxLDcgKzE3NjksNiBAQAogCQkJCTFDRUZBMjI1Mjcz
N0E0QzgwMEYwREE5NSAvKiBXZWJHUFVQaXBlbGluZURlc2NyaXB0b3JCYXNlLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkxQ0VGQTFGRDI3MzdBNEM4MDBGMERBOTUgLyogV2ViR1BVUGlwZWxpbmVMYXlv
dXQuaCBpbiBIZWFkZXJzICovLAogCQkJCTFDRUZBMUY0MjczN0E0QzgwMEYwREE5NSAvKiBXZWJH
UFVQaXBlbGluZUxheW91dERlc2NyaXB0b3IuaCBpbiBIZWFkZXJzICovLAotCQkJCTFDRUZBMjFB
MjczN0E0QzgwMEYwREE5NSAvKiBXZWJHUFVQaXBlbGluZVN0YXRpc3RpY05hbWUuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTFDRUZBMURFMjczN0E0QzgwMEYwREE5NSAvKiBXZWJHUFVQb3dlclByZWZl
cmVuY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTFDRUZBMjE2MjczN0E0QzgwMEYwREE5NSAvKiBX
ZWJHUFVQcmVkZWZpbmVkQ29sb3JTcGFjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUNFRkExRTUy
NzM3QTRDODAwRjBEQTk1IC8qIFdlYkdQVVByaW1pdGl2ZVN0YXRlLmggaW4gSGVhZGVycyAqLywK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwv
V2ViR1BVQWRhcHRlckltcGwuY3BwIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9X
ZWJHUFUvSW1wbC9XZWJHUFVBZGFwdGVySW1wbC5jcHAKaW5kZXggN2Q1YjE2NTRlZWQwNzZjMTc2
MDI2OGRmMDAyNmRiNzIyMDY1N2I4Yy4uNTYxMzlhZjRhOTA3ODJmOGRkYWNiMzIyNWZiYTNkNzA4
YjQwOTFmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJH
UFUvSW1wbC9XZWJHUFVBZGFwdGVySW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3Bh
bC9ncmFwaGljcy9XZWJHUFUvSW1wbC9XZWJHUFVBZGFwdGVySW1wbC5jcHAKQEAgLTQzLDEzICs0
MywxNyBAQCBzdGF0aWMgU3RyaW5nIGFkYXB0ZXJOYW1lKFdHUFVBZGFwdGVyIGFkYXB0ZXIpCiAK
IHN0YXRpYyBSZWY8U3VwcG9ydGVkRmVhdHVyZXM+IHN1cHBvcnRlZEZlYXR1cmVzKFdHUFVBZGFw
dGVyIGFkYXB0ZXIpCiB7CisgICAgYXV0byBmZWF0dXJlQ291bnQgPSB3Z3B1QWRhcHRlckVudW1l
cmF0ZUZlYXR1cmVzKGFkYXB0ZXIsIG51bGxwdHIpOworICAgIFZlY3RvcjxXR1BVRmVhdHVyZU5h
bWU+IGZlYXR1cmVzKGZlYXR1cmVDb3VudCk7CisgICAgd2dwdUFkYXB0ZXJFbnVtZXJhdGVGZWF0
dXJlcyhhZGFwdGVyLCBmZWF0dXJlcy5kYXRhKCkpOworCiAgICAgVmVjdG9yPFN0cmluZz4gcmVz
dWx0OwotICAgIGZvciAoc2l6ZV90IGkgPSAwOyA7ICsraSkgewotICAgICAgICBhdXRvIGZlYXR1
cmUgPSB3Z3B1QWRhcHRlckdldEZlYXR1cmVBdEluZGV4KGFkYXB0ZXIsIGkpOwotICAgICAgICBp
ZiAoZmVhdHVyZSA9PSBXR1BVRmVhdHVyZU5hbWVfVW5kZWZpbmVkKQotICAgICAgICAgICAgYnJl
YWs7Ci0gICAgICAgIHN3aXRjaCAoc3RhdGljX2Nhc3Q8dWludD4oZmVhdHVyZSkpIHsKLSAgICAg
ICAgY2FzZSBXR1BVRmVhdHVyZU5hbWVfRGVwdGhDbGFtcGluZzoKKyAgICBmb3IgKGF1dG8gZmVh
dHVyZSA6IGZlYXR1cmVzKSB7CisgICAgICAgIHN3aXRjaCAoZmVhdHVyZSkgeworICAgICAgICBj
YXNlIFdHUFVGZWF0dXJlTmFtZV9VbmRlZmluZWQ6CisgICAgICAgICAgICBjb250aW51ZTsKKyAg
ICAgICAgY2FzZSBXR1BVRmVhdHVyZU5hbWVfRGVwdGhDbGlwQ29udHJvbDoKKyAgICAgICAgICAg
IHJlc3VsdC5hcHBlbmQoImRlcHRoLWNsaXAtY29udHJvbCJfcyk7CiAgICAgICAgICAgICBicmVh
azsKICAgICAgICAgY2FzZSBXR1BVRmVhdHVyZU5hbWVfRGVwdGgyNFVub3JtU3RlbmNpbDg6CiAg
ICAgICAgICAgICByZXN1bHQuYXBwZW5kKCJkZXB0aDI0dW5vcm0tc3RlbmNpbDgiX3MpOwpAQCAt
NjYsMjAgKzcwLDE3IEBAIHN0YXRpYyBSZWY8U3VwcG9ydGVkRmVhdHVyZXM+IHN1cHBvcnRlZEZl
YXR1cmVzKFdHUFVBZGFwdGVyIGFkYXB0ZXIpCiAgICAgICAgIGNhc2UgV0dQVUZlYXR1cmVOYW1l
X1RleHR1cmVDb21wcmVzc2lvbkJDOgogICAgICAgICAgICAgcmVzdWx0LmFwcGVuZCgidGV4dHVy
ZS1jb21wcmVzc2lvbi1iYyJfcyk7CiAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBX
R1BVRmVhdHVyZU5hbWVfRGVwdGhDbGlwQ29udHJvbDoKLSAgICAgICAgICAgIHJlc3VsdC5hcHBl
bmQoImRlcHRoLWNsaXAtY29udHJvbCJfcyk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAg
Y2FzZSBXR1BVRmVhdHVyZU5hbWVfSW5kaXJlY3RGaXJzdEluc3RhbmNlOgotICAgICAgICAgICAg
cmVzdWx0LmFwcGVuZCgiaW5kaXJlY3QtZmlyc3QtaW5zdGFuY2UiX3MpOwotICAgICAgICAgICAg
YnJlYWs7CiAgICAgICAgIGNhc2UgV0dQVUZlYXR1cmVOYW1lX1RleHR1cmVDb21wcmVzc2lvbkVU
QzI6CiAgICAgICAgICAgICByZXN1bHQuYXBwZW5kKCJ0ZXh0dXJlLWNvbXByZXNzaW9uLWV0YzIi
X3MpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgV0dQVUZlYXR1cmVOYW1lX1Rl
eHR1cmVDb21wcmVzc2lvbkFTVEM6CiAgICAgICAgICAgICByZXN1bHQuYXBwZW5kKCJ0ZXh0dXJl
LWNvbXByZXNzaW9uLWFzdGMiX3MpOwogICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGRlZmF1
bHQ6CisgICAgICAgIGNhc2UgV0dQVUZlYXR1cmVOYW1lX0luZGlyZWN0Rmlyc3RJbnN0YW5jZToK
KyAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQoImluZGlyZWN0LWZpcnN0LWluc3RhbmNlIl9zKTsK
ICAgICAgICAgICAgIGJyZWFrOworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgY29udGlu
dWU7CiAgICAgICAgIH0KICAgICB9CiAgICAgcmV0dXJuIFN1cHBvcnRlZEZlYXR1cmVzOjpjcmVh
dGUoV1RGTW92ZShyZXN1bHQpKTsKQEAgLTE1MSwxNSArMTUyLDYgQEAgdm9pZCBBZGFwdGVySW1w
bDo6cmVxdWVzdERldmljZShjb25zdCBEZXZpY2VEZXNjcmlwdG9yJiBkZXNjcmlwdG9yLCBXVEY6
OkZ1bmN0aW8KIAogICAgIGF1dG8gbGFiZWwgPSBkZXNjcmlwdG9yLmxhYmVsLnV0ZjgoKTsKIAot
ICAgIFdHUFVEZXZpY2VEZXNjcmlwdG9yTGFiZWwgYmFja2luZ0Rlc2NyaXB0b3JMYWJlbCB7Ci0g
ICAgICAgIHsKLSAgICAgICAgICAgIG51bGxwdHIsCi0gICAgICAgICAgICBzdGF0aWNfY2FzdDxX
R1BVU1R5cGU+KFdHUFVTVHlwZV9EZXZpY2VEZXNjcmlwdG9yTGFiZWwpLAotICAgICAgICB9LAot
ICAgICAgICBudWxscHRyLAotICAgICAgICBsYWJlbC5kYXRhKCkKLSAgICB9OwotCiAgICAgYXV0
byBmZWF0dXJlcyA9IGRlc2NyaXB0b3IucmVxdWlyZWRGZWF0dXJlcy5tYXAoW3RoaXNdIChhdXRv
IGZlYXR1cmVOYW1lKSB7CiAgICAgICAgIHJldHVybiBtX2NvbnZlcnRUb0JhY2tpbmdDb250ZXh0
LT5jb252ZXJ0VG9CYWNraW5nKGZlYXR1cmVOYW1lKTsKICAgICB9KTsKQEAgLTE5Niw3ICsxODgs
OCBAQCB2b2lkIEFkYXB0ZXJJbXBsOjpyZXF1ZXN0RGV2aWNlKGNvbnN0IERldmljZURlc2NyaXB0
b3ImIGRlc2NyaXB0b3IsIFdURjo6RnVuY3RpbwogICAgIH07CiAKICAgICBXR1BVRGV2aWNlRGVz
Y3JpcHRvciBiYWNraW5nRGVzY3JpcHRvciB7Ci0gICAgICAgICZiYWNraW5nRGVzY3JpcHRvckxh
YmVsLmhlYWRlciwKKyAgICAgICAgbnVsbHB0ciwKKyAgICAgICAgbGFiZWwuZGF0YSgpLAogICAg
ICAgICBzdGF0aWNfY2FzdDx1aW50MzJfdD4oZmVhdHVyZXMuc2l6ZSgpKSwKICAgICAgICAgZmVh
dHVyZXMuZGF0YSgpLAogICAgICAgICAmbGltaXRzLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9XZWJHUFVCdWZmZXJJbXBsLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwvV2ViR1BVQnVmZmVySW1w
bC5jcHAKaW5kZXggZDlhOWNlNWNhZDhkOWE1ZjkxNmZiNjBlY2U5MmMxMjdmM2JmODVkZS4uOGEw
ZWNjNThjZDZjZWMxYzZlNWZiMzc0ZDRjYTg1NzI2M2EwNWFlZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9XZWJHUFVCdWZmZXJJbXBsLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQ
VUJ1ZmZlckltcGwuY3BwCkBAIC01MCwxOSArNTAsMTggQEAgdm9pZCBtYXBDYWxsYmFjayhXR1BV
QnVmZmVyTWFwQXN5bmNTdGF0dXMgc3RhdHVzLCB2b2lkKiB1c2VyZGF0YSkKICAgICBidWZmZXIt
Pm1hcENhbGxiYWNrKHN0YXR1cyk7CiB9CiAKLXZvaWQgQnVmZmVySW1wbDo6bWFwQXN5bmMoTWFw
TW9kZUZsYWdzIG1hcE1vZGVGbGFncywgc3RkOjpvcHRpb25hbDxTaXplNjQ+IG9mZnNldCwgc3Rk
OjpvcHRpb25hbDxTaXplNjQ+IHNpemUsIFdURjo6RnVuY3Rpb248dm9pZCgpPiYmIGNhbGxiYWNr
KQordm9pZCBCdWZmZXJJbXBsOjptYXBBc3luYyhNYXBNb2RlRmxhZ3MgbWFwTW9kZUZsYWdzLCBT
aXplNjQgb2Zmc2V0LCBzdGQ6Om9wdGlvbmFsPFNpemU2ND4gc2l6ZSwgV1RGOjpGdW5jdGlvbjx2
b2lkKCk+JiYgY2FsbGJhY2spCiB7CiAgICAgUmVmIHByb3RlY3RlZFRoaXMoKnRoaXMpOwogCiAg
ICAgYXV0byBiYWNraW5nTWFwTW9kZUZsYWdzID0gbV9jb252ZXJ0VG9CYWNraW5nQ29udGV4dC0+
Y29udmVydE1hcE1vZGVGbGFnc1RvQmFja2luZyhtYXBNb2RlRmxhZ3MpOwogCi0gICAgYXV0byB1
c2VkT2Zmc2V0ID0gb2Zmc2V0LnZhbHVlX29yKDApOwotICAgIGF1dG8gdXNlZFNpemUgPSBzaXpl
LnZhbHVlX29yKFdHUFVfV0hPTEVfU0laRSk7CisgICAgYXV0byB1c2VkU2l6ZSA9IHNpemUudmFs
dWVfb3IoV0dQVV9XSE9MRV9NQVBfU0laRSk7CiAKICAgICBtX2NhbGxiYWNrcy5hcHBlbmQoV1RG
TW92ZShjYWxsYmFjaykpOwogCiAgICAgLy8gRklYTUU6IENoZWNrIHRoZSBjYXN0cy4KLSAgICB3
Z3B1QnVmZmVyTWFwQXN5bmMobV9iYWNraW5nLCBiYWNraW5nTWFwTW9kZUZsYWdzLCBzdGF0aWNf
Y2FzdDxzaXplX3Q+KHVzZWRPZmZzZXQpLCBzdGF0aWNfY2FzdDxzaXplX3Q+KHVzZWRTaXplKSwg
JldlYkdQVTo6bWFwQ2FsbGJhY2ssICZwcm90ZWN0ZWRUaGlzLmxlYWtSZWYoKSk7IC8vIGxlYWtS
ZWYgaXMgYmFsYW5jZWQgYnkgYWRvcHRSZWYgaW4gbWFwQ2FsbGJhY2soKSBhYm92ZS4gV2UgaGF2
ZSB0byBkbyB0aGlzIGJlY2F1c2Ugd2UncmUgdXNpbmcgYSBDIEFQSSB3aXRoIG5vIGNvbmNlcHQg
b2YgcmVmZXJlbmNlIGNvdW50aW5nIG9yIGJsb2Nrcy4KKyAgICB3Z3B1QnVmZmVyTWFwQXN5bmMo
bV9iYWNraW5nLCBiYWNraW5nTWFwTW9kZUZsYWdzLCBzdGF0aWNfY2FzdDxzaXplX3Q+KG9mZnNl
dCksIHN0YXRpY19jYXN0PHNpemVfdD4odXNlZFNpemUpLCAmV2ViR1BVOjptYXBDYWxsYmFjaywg
JnByb3RlY3RlZFRoaXMubGVha1JlZigpKTsgLy8gbGVha1JlZiBpcyBiYWxhbmNlZCBieSBhZG9w
dFJlZiBpbiBtYXBDYWxsYmFjaygpIGFib3ZlLiBXZSBoYXZlIHRvIGRvIHRoaXMgYmVjYXVzZSB3
ZSdyZSB1c2luZyBhIEMgQVBJIHdpdGggbm8gY29uY2VwdCBvZiByZWZlcmVuY2UgY291bnRpbmcg
b3IgYmxvY2tzLgogfQogCiB2b2lkIEJ1ZmZlckltcGw6Om1hcENhbGxiYWNrKFdHUFVCdWZmZXJN
YXBBc3luY1N0YXR1cyBzdGF0dXMpCkBAIC03MiwxMiArNzEsMTEgQEAgdm9pZCBCdWZmZXJJbXBs
OjptYXBDYWxsYmFjayhXR1BVQnVmZmVyTWFwQXN5bmNTdGF0dXMgc3RhdHVzKQogICAgIGNhbGxi
YWNrKCk7CiB9CiAKLWF1dG8gQnVmZmVySW1wbDo6Z2V0TWFwcGVkUmFuZ2Uoc3RkOjpvcHRpb25h
bDxTaXplNjQ+IG9mZnNldCwgc3RkOjpvcHRpb25hbDxTaXplNjQ+IHNpemUpIC0+IE1hcHBlZFJh
bmdlCithdXRvIEJ1ZmZlckltcGw6OmdldE1hcHBlZFJhbmdlKFNpemU2NCBvZmZzZXQsIHN0ZDo6
b3B0aW9uYWw8U2l6ZTY0PiBzaXplKSAtPiBNYXBwZWRSYW5nZQogewotICAgIGF1dG8gdXNlZE9m
ZnNldCA9IG9mZnNldC52YWx1ZV9vcigwKTsKLSAgICBhdXRvIHVzZWRTaXplID0gc2l6ZS52YWx1
ZV9vcihXR1BVX1dIT0xFX1NJWkUpOworICAgIGF1dG8gdXNlZFNpemUgPSBzaXplLnZhbHVlX29y
KFdHUFVfV0hPTEVfTUFQX1NJWkUpOwogICAgIC8vIEZJWE1FOiBDaGVjayB0aGUgY2FzdHMuCi0g
ICAgYXV0byogcG9pbnRlciA9IHdncHVCdWZmZXJHZXRNYXBwZWRSYW5nZShtX2JhY2tpbmcsIHN0
YXRpY19jYXN0PHNpemVfdD4odXNlZE9mZnNldCksIHN0YXRpY19jYXN0PHNpemVfdD4odXNlZFNp
emUpKTsKKyAgICBhdXRvKiBwb2ludGVyID0gd2dwdUJ1ZmZlckdldE1hcHBlZFJhbmdlKG1fYmFj
a2luZywgc3RhdGljX2Nhc3Q8c2l6ZV90PihvZmZzZXQpLCBzdGF0aWNfY2FzdDxzaXplX3Q+KHVz
ZWRTaXplKSk7CiAgICAgLy8gRklYTUU6IENoZWNrIHRoZSB0eXBlIG5hcnJvd2luZy4KICAgICBy
ZXR1cm4geyBwb2ludGVyLCBzdGF0aWNfY2FzdDxzaXplX3Q+KHVzZWRTaXplKSB9OwogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9XZWJH
UFVCdWZmZXJJbXBsLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9J
bXBsL1dlYkdQVUJ1ZmZlckltcGwuaAppbmRleCBjMTQ2NWVjNDc3ZGY1NTY1MjVmYTg4YzVhM2Ew
MTExMGNlOTBmMjg3Li45MjE4NzIzYjcwNzI1NzljYWU5OWQyMDFmNjIyZTIzY2MyODk2YzAzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dl
YkdQVUJ1ZmZlckltcGwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dl
YkdQVS9JbXBsL1dlYkdQVUJ1ZmZlckltcGwuaApAQCAtNTksOCArNTksOCBAQCBwcml2YXRlOgog
ICAgIFdHUFVCdWZmZXIgYmFja2luZygpIGNvbnN0IHsgcmV0dXJuIG1fYmFja2luZzsgfQogCiAg
ICAgdm9pZCBtYXBDYWxsYmFjayhXR1BVQnVmZmVyTWFwQXN5bmNTdGF0dXMpOwotICAgIHZvaWQg
bWFwQXN5bmMoTWFwTW9kZUZsYWdzLCBzdGQ6Om9wdGlvbmFsPFNpemU2ND4gb2Zmc2V0LCBzdGQ6
Om9wdGlvbmFsPFNpemU2ND4gc2l6ZUZvck1hcCwgV1RGOjpGdW5jdGlvbjx2b2lkKCk+JiYpIGZp
bmFsOwotICAgIE1hcHBlZFJhbmdlIGdldE1hcHBlZFJhbmdlKHN0ZDo6b3B0aW9uYWw8U2l6ZTY0
PiBvZmZzZXQsIHN0ZDo6b3B0aW9uYWw8U2l6ZTY0PikgZmluYWw7CisgICAgdm9pZCBtYXBBc3lu
YyhNYXBNb2RlRmxhZ3MsIFNpemU2NCBvZmZzZXQsIHN0ZDo6b3B0aW9uYWw8U2l6ZTY0PiBzaXpl
Rm9yTWFwLCBXVEY6OkZ1bmN0aW9uPHZvaWQoKT4mJikgZmluYWw7CisgICAgTWFwcGVkUmFuZ2Ug
Z2V0TWFwcGVkUmFuZ2UoU2l6ZTY0IG9mZnNldCwgc3RkOjpvcHRpb25hbDxTaXplNjQ+KSBmaW5h
bDsKICAgICB2b2lkIHVubWFwKCkgZmluYWw7CiAKICAgICB2b2lkIGRlc3Ryb3koKSBmaW5hbDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwv
V2ViR1BVQ29tbWFuZEVuY29kZXJJbXBsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3Jh
cGhpY3MvV2ViR1BVL0ltcGwvV2ViR1BVQ29tbWFuZEVuY29kZXJJbXBsLmNwcAppbmRleCBhODUz
NmJjZWNkMjRkNTcyMDdkMjE3NDU2MDlmODIwZWE5Y2JkOWI2Li5kODkwZTc0Yjg2NzU3NmZkOTlm
ZWYzYWQ5MDg3Mjc3OTdiY2U4MWExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFs
L2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVUNvbW1hbmRFbmNvZGVySW1wbC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9XZWJHUFVDb21tYW5k
RW5jb2RlckltcGwuY3BwCkBAIC01Niw3ICs1Niw3IEBAIFJlZjxSZW5kZXJQYXNzRW5jb2Rlcj4g
Q29tbWFuZEVuY29kZXJJbXBsOjpiZWdpblJlbmRlclBhc3MoY29uc3QgUmVuZGVyUGFzc0Rlc2Ny
CiAgICAgVmVjdG9yPFdHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50PiBjb2xvckF0dGFjaG1l
bnRzOwogICAgIGZvciAoY29uc3QgYXV0byYgY29sb3JBdHRhY2htZW50IDogZGVzY3JpcHRvci5j
b2xvckF0dGFjaG1lbnRzKSB7CiAgICAgICAgIGNvbG9yQXR0YWNobWVudHMuYXBwZW5kKFdHUFVS
ZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50IHsKLSAgICAgICAgICAgIG1fY29udmVydFRvQmFja2lu
Z0NvbnRleHQtPmNvbnZlcnRUb0JhY2tpbmcoY29sb3JBdHRhY2htZW50LnZpZXcpLAorICAgICAg
ICAgICAgY29sb3JBdHRhY2htZW50LnZpZXcgPyBtX2NvbnZlcnRUb0JhY2tpbmdDb250ZXh0LT5j
b252ZXJ0VG9CYWNraW5nKGNvbG9yQXR0YWNobWVudC52aWV3KSA6ICwKICAgICAgICAgICAgIGNv
bG9yQXR0YWNobWVudC5yZXNvbHZlVGFyZ2V0ID8gbV9jb252ZXJ0VG9CYWNraW5nQ29udGV4dC0+
Y29udmVydFRvQmFja2luZygqY29sb3JBdHRhY2htZW50LnJlc29sdmVUYXJnZXQpIDogbnVsbHB0
ciwKICAgICAgICAgICAgIHN0ZDo6aG9sZHNfYWx0ZXJuYXRpdmU8TG9hZE9wPihjb2xvckF0dGFj
aG1lbnQubG9hZFZhbHVlKSA/IG1fY29udmVydFRvQmFja2luZ0NvbnRleHQtPmNvbnZlcnRUb0Jh
Y2tpbmcoc3RkOjpnZXQ8TG9hZE9wPihjb2xvckF0dGFjaG1lbnQubG9hZFZhbHVlKSkgOiBXR1BV
TG9hZE9wX0NsZWFyLAogICAgICAgICAgICAgbV9jb252ZXJ0VG9CYWNraW5nQ29udGV4dC0+Y29u
dmVydFRvQmFja2luZyhjb2xvckF0dGFjaG1lbnQuc3RvcmVPcCksCkBAIC0yMjEsMTIgKzIyMSwx
MiBAQCB2b2lkIENvbW1hbmRFbmNvZGVySW1wbDo6Y29weVRleHR1cmVUb1RleHR1cmUoCiAgICAg
d2dwdUNvbW1hbmRFbmNvZGVyQ29weVRleHR1cmVUb1RleHR1cmUobV9iYWNraW5nLCAmYmFja2lu
Z1NvdXJjZSwgJmJhY2tpbmdEZXN0aW5hdGlvbiwgJmJhY2tpbmdDb3B5U2l6ZSk7CiB9CiAKLXZv
aWQgQ29tbWFuZEVuY29kZXJJbXBsOjpmaWxsQnVmZmVyKAotICAgIGNvbnN0IEJ1ZmZlciYgZGVz
dGluYXRpb24sCi0gICAgU2l6ZTY0IGRlc3RpbmF0aW9uT2Zmc2V0LAotICAgIFNpemU2NCBzaXpl
KQordm9pZCBDb21tYW5kRW5jb2RlckltcGw6OmNsZWFyQnVmZmVyKAorICAgIGNvbnN0IEJ1ZmZl
ciYgYnVmZmVyLAorICAgIFNpemU2NCBvZmZzZXQsCisgICAgc3RkOjpvcHRpb25hbDxTaXplNjQ+
IHNpemUpCiB7Ci0gICAgd2dwdUNvbW1hbmRFbmNvZGVyRmlsbEJ1ZmZlcihtX2JhY2tpbmcsIG1f
Y29udmVydFRvQmFja2luZ0NvbnRleHQtPmNvbnZlcnRUb0JhY2tpbmcoZGVzdGluYXRpb24pLCBk
ZXN0aW5hdGlvbk9mZnNldCwgc2l6ZSk7CisgICAgd2dwdUNvbW1hbmRFbmNvZGVyQ2xlYXJCdWZm
ZXIobV9iYWNraW5nLCBtX2NvbnZlcnRUb0JhY2tpbmdDb250ZXh0LT5jb252ZXJ0VG9CYWNraW5n
KGJ1ZmZlciksIG9mZnNldCwgc2l6ZS52YWx1ZV9vcihXR1BVX1dIT0xFX1NJWkUpKTsKIH0KIAog
dm9pZCBDb21tYW5kRW5jb2RlckltcGw6OnB1c2hEZWJ1Z0dyb3VwKFN0cmluZyYmIGdyb3VwTGFi
ZWwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9J
bXBsL1dlYkdQVUNvbW1hbmRFbmNvZGVySW1wbC5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9n
cmFwaGljcy9XZWJHUFUvSW1wbC9XZWJHUFVDb21tYW5kRW5jb2RlckltcGwuaAppbmRleCBhZDYw
YWMwMmIxYWQ2ZTI0MDg5NGI5ZDVhMjkxMGJiYmQ0MzYxMWE5Li4wYjI4YmI3ODEzYjZiNWI5MjE4
NTU1Zjg3N2VhMTU4ZjhiMjUxYWY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFs
L2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVUNvbW1hbmRFbmNvZGVySW1wbC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwvV2ViR1BVQ29tbWFuZEVu
Y29kZXJJbXBsLmgKQEAgLTgxLDEwICs4MSwxMCBAQCBwcml2YXRlOgogICAgICAgICBjb25zdCBJ
bWFnZUNvcHlUZXh0dXJlJiBkZXN0aW5hdGlvbiwKICAgICAgICAgY29uc3QgRXh0ZW50M0QmIGNv
cHlTaXplKSBmaW5hbDsKIAotICAgIHZvaWQgZmlsbEJ1ZmZlcigKLSAgICAgICAgY29uc3QgQnVm
ZmVyJiBkZXN0aW5hdGlvbiwKLSAgICAgICAgU2l6ZTY0IGRlc3RpbmF0aW9uT2Zmc2V0LAotICAg
ICAgICBTaXplNjQpIGZpbmFsOworICAgIHZvaWQgY2xlYXJCdWZmZXIoCisgICAgICAgIGNvbnN0
IEJ1ZmZlciYgYnVmZmVyLAorICAgICAgICBTaXplNjQgb2Zmc2V0LAorICAgICAgICBzdGQ6Om9w
dGlvbmFsPFNpemU2ND4gc2l6ZSkgZmluYWw7CiAKICAgICB2b2lkIHB1c2hEZWJ1Z0dyb3VwKFN0
cmluZyYmIGdyb3VwTGFiZWwpIGZpbmFsOwogICAgIHZvaWQgcG9wRGVidWdHcm91cCgpIGZpbmFs
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvSW1w
bC9XZWJHUFVDb21wdXRlUGFzc0VuY29kZXJJbXBsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9w
YWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwvV2ViR1BVQ29tcHV0ZVBhc3NFbmNvZGVySW1wbC5jcHAK
aW5kZXggZWRkNTlkNjU5NzZmMDRhN2MxYjM3ZmQxYWJiMDhkNTRiZTRmNzYxNy4uMmRkZWViNDlk
ZWU0YTY4OGIyNjEyMjE4YjQ0NTA4OTczMjM4NDQ3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9XZWJHUFVDb21wdXRlUGFzc0VuY29kZXJJ
bXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBs
L1dlYkdQVUNvbXB1dGVQYXNzRW5jb2RlckltcGwuY3BwCkBAIC01Myw5ICs1Myw5IEBAIHZvaWQg
Q29tcHV0ZVBhc3NFbmNvZGVySW1wbDo6c2V0UGlwZWxpbmUoY29uc3QgQ29tcHV0ZVBpcGVsaW5l
JiBjb21wdXRlUGlwZWxpbmUpCiAgICAgd2dwdUNvbXB1dGVQYXNzRW5jb2RlclNldFBpcGVsaW5l
KG1fYmFja2luZywgbV9jb252ZXJ0VG9CYWNraW5nQ29udGV4dC0+Y29udmVydFRvQmFja2luZyhj
b21wdXRlUGlwZWxpbmUpKTsKIH0KIAotdm9pZCBDb21wdXRlUGFzc0VuY29kZXJJbXBsOjpkaXNw
YXRjaChTaXplMzIgeCwgc3RkOjpvcHRpb25hbDxTaXplMzI+IHksIHN0ZDo6b3B0aW9uYWw8U2l6
ZTMyPiB6KQordm9pZCBDb21wdXRlUGFzc0VuY29kZXJJbXBsOjpkaXNwYXRjaChTaXplMzIgd29y
a2dyb3VwQ291bnRYLCBTaXplMzIgd29ya2dyb3VwQ291bnRZLCBTaXplMzIgd29ya2dyb3VwQ291
bnRaKQogewotICAgIHdncHVDb21wdXRlUGFzc0VuY29kZXJEaXNwYXRjaChtX2JhY2tpbmcsIHgs
IHkudmFsdWVfb3IoMSksIHoudmFsdWVfb3IoMSkpOworICAgIHdncHVDb21wdXRlUGFzc0VuY29k
ZXJEaXNwYXRjaChtX2JhY2tpbmcsIHdvcmtncm91cENvdW50WCwgd29ya2dyb3VwQ291bnRZLCB3
b3JrZ3JvdXBDb3VudFopOwogfQogCiB2b2lkIENvbXB1dGVQYXNzRW5jb2RlckltcGw6OmRpc3Bh
dGNoSW5kaXJlY3QoY29uc3QgQnVmZmVyJiBpbmRpcmVjdEJ1ZmZlciwgU2l6ZTY0IGluZGlyZWN0
T2Zmc2V0KQpAQCAtNjMsMTcgKzYzLDcgQEAgdm9pZCBDb21wdXRlUGFzc0VuY29kZXJJbXBsOjpk
aXNwYXRjaEluZGlyZWN0KGNvbnN0IEJ1ZmZlciYgaW5kaXJlY3RCdWZmZXIsIFNpemUKICAgICB3
Z3B1Q29tcHV0ZVBhc3NFbmNvZGVyRGlzcGF0Y2hJbmRpcmVjdChtX2JhY2tpbmcsIG1fY29udmVy
dFRvQmFja2luZ0NvbnRleHQtPmNvbnZlcnRUb0JhY2tpbmcoaW5kaXJlY3RCdWZmZXIpLCBpbmRp
cmVjdE9mZnNldCk7CiB9CiAKLXZvaWQgQ29tcHV0ZVBhc3NFbmNvZGVySW1wbDo6YmVnaW5QaXBl
bGluZVN0YXRpc3RpY3NRdWVyeShjb25zdCBRdWVyeVNldCYgcXVlcnlTZXQsIFNpemUzMiBxdWVy
eUluZGV4KQotewotICAgIHdncHVDb21wdXRlUGFzc0VuY29kZXJCZWdpblBpcGVsaW5lU3RhdGlz
dGljc1F1ZXJ5KG1fYmFja2luZywgbV9jb252ZXJ0VG9CYWNraW5nQ29udGV4dC0+Y29udmVydFRv
QmFja2luZyhxdWVyeVNldCksIHF1ZXJ5SW5kZXgpOwotfQotCi12b2lkIENvbXB1dGVQYXNzRW5j
b2RlckltcGw6OmVuZFBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KCkKLXsKLSAgICB3Z3B1Q29tcHV0
ZVBhc3NFbmNvZGVyRW5kUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkobV9iYWNraW5nKTsKLX0KLQot
dm9pZCBDb21wdXRlUGFzc0VuY29kZXJJbXBsOjplbmRQYXNzKCkKK3ZvaWQgQ29tcHV0ZVBhc3NF
bmNvZGVySW1wbDo6ZW5kKCkKIHsKICAgICB3Z3B1Q29tcHV0ZVBhc3NFbmNvZGVyRW5kUGFzcyht
X2JhY2tpbmcpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGlj
cy9XZWJHUFUvSW1wbC9XZWJHUFVDb21wdXRlUGFzc0VuY29kZXJJbXBsLmggYi9Tb3VyY2UvV2Vi
Q29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVUNvbXB1dGVQYXNzRW5jb2Rl
ckltcGwuaAppbmRleCA1Mjg4YjViOGMwZGJlN2E2MTBlYjExNjUzMTU1ZjMzY2ExNTNkNTEzLi4w
ZjM2NjFkOTliZWRiNGZjMjQ5MTgxZGFjNDdmNjNhNzU0MjJmM2QwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVUNvbXB1dGVQYXNz
RW5jb2RlckltcGwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQ
VS9JbXBsL1dlYkdQVUNvbXB1dGVQYXNzRW5jb2RlckltcGwuaApAQCAtNTcsMTMgKzU3LDEwIEBA
IHByaXZhdGU6CiAgICAgV0dQVUNvbXB1dGVQYXNzRW5jb2RlciBiYWNraW5nKCkgY29uc3QgeyBy
ZXR1cm4gbV9iYWNraW5nOyB9CiAKICAgICB2b2lkIHNldFBpcGVsaW5lKGNvbnN0IENvbXB1dGVQ
aXBlbGluZSYpIGZpbmFsOwotICAgIHZvaWQgZGlzcGF0Y2goU2l6ZTMyIHgsIHN0ZDo6b3B0aW9u
YWw8U2l6ZTMyPiB5LCBzdGQ6Om9wdGlvbmFsPFNpemUzMj4pIGZpbmFsOworICAgIHZvaWQgZGlz
cGF0Y2goU2l6ZTMyIHdvcmtncm91cENvdW50WCwgU2l6ZTMyIHdvcmtncm91cENvdW50WSwgU2l6
ZTMyIHdvcmtncm91cENvdW50WikgZmluYWw7CiAgICAgdm9pZCBkaXNwYXRjaEluZGlyZWN0KGNv
bnN0IEJ1ZmZlciYgaW5kaXJlY3RCdWZmZXIsIFNpemU2NCBpbmRpcmVjdE9mZnNldCkgZmluYWw7
CiAKLSAgICB2b2lkIGJlZ2luUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkoY29uc3QgUXVlcnlTZXQm
LCBTaXplMzIgcXVlcnlJbmRleCkgZmluYWw7Ci0gICAgdm9pZCBlbmRQaXBlbGluZVN0YXRpc3Rp
Y3NRdWVyeSgpIGZpbmFsOwotCi0gICAgdm9pZCBlbmRQYXNzKCkgZmluYWw7CisgICAgdm9pZCBl
bmQoKSBmaW5hbDsKIAogICAgIHZvaWQgc2V0QmluZEdyb3VwKEluZGV4MzIsIGNvbnN0IEJpbmRH
cm91cCYsCiAgICAgICAgIHN0ZDo6b3B0aW9uYWw8VmVjdG9yPEJ1ZmZlckR5bmFtaWNPZmZzZXQ+
PiYmKSBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3Mv
V2ViR1BVL0ltcGwvV2ViR1BVQ29udmVydFRvQmFja2luZ0NvbnRleHQuY3BwIGIvU291cmNlL1dl
YkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9XZWJHUFVDb252ZXJ0VG9CYWNraW5n
Q29udGV4dC5jcHAKaW5kZXggMGZiZmI0ZWNkNmI2NWM0NDFmNzE1NDMzZDJjNjUwOWQ4ZGU0MjNh
YS4uYzI5NGEwYTFlOTY4OTA4M2M1OWM4OTUzNzI1MmM4NjhiNGY4OTNhNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9XZWJHUFVDb252ZXJ0
VG9CYWNraW5nQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGlj
cy9XZWJHUFUvSW1wbC9XZWJHUFVDb252ZXJ0VG9CYWNraW5nQ29udGV4dC5jcHAKQEAgLTQxLDcg
KzQxLDYgQEAKICNpbmNsdWRlICJXZWJHUFVGcm9udEZhY2UuaCIKICNpbmNsdWRlICJXZWJHUFVJ
bmRleEZvcm1hdC5oIgogI2luY2x1ZGUgIldlYkdQVUxvYWRPcC5oIgotI2luY2x1ZGUgIldlYkdQ
VVBpcGVsaW5lU3RhdGlzdGljTmFtZS5oIgogI2luY2x1ZGUgIldlYkdQVVBvd2VyUHJlZmVyZW5j
ZS5oIgogI2luY2x1ZGUgIldlYkdQVVByaW1pdGl2ZVRvcG9sb2d5LmgiCiAjaW5jbHVkZSAiV2Vi
R1BVUXVlcnlUeXBlLmgiCkBAIC0xOTcsOCArMTk2LDYgQEAgV0dQVUZlYXR1cmVOYW1lIENvbnZl
cnRUb0JhY2tpbmdDb250ZXh0Ojpjb252ZXJ0VG9CYWNraW5nKEZlYXR1cmVOYW1lIGZlYXR1cmVO
YW0KICAgICAgICAgcmV0dXJuIFdHUFVGZWF0dXJlTmFtZV9EZXB0aDI0VW5vcm1TdGVuY2lsODsK
ICAgICBjYXNlIEZlYXR1cmVOYW1lOjpEZXB0aDMyZmxvYXRTdGVuY2lsODoKICAgICAgICAgcmV0
dXJuIFdHUFVGZWF0dXJlTmFtZV9EZXB0aDMyRmxvYXRTdGVuY2lsODsKLSAgICBjYXNlIEZlYXR1
cmVOYW1lOjpQaXBlbGluZVN0YXRpc3RpY3NRdWVyeToKLSAgICAgICAgcmV0dXJuIFdHUFVGZWF0
dXJlTmFtZV9QaXBlbGluZVN0YXRpc3RpY3NRdWVyeTsKICAgICBjYXNlIEZlYXR1cmVOYW1lOjpU
ZXh0dXJlQ29tcHJlc3Npb25CYzoKICAgICAgICAgcmV0dXJuIFdHUFVGZWF0dXJlTmFtZV9UZXh0
dXJlQ29tcHJlc3Npb25CQzsKICAgICBjYXNlIEZlYXR1cmVOYW1lOjpUZXh0dXJlQ29tcHJlc3Np
b25FdGMyOgpAQCAtMjQ3LDIyICsyNDQsOCBAQCBXR1BVTG9hZE9wIENvbnZlcnRUb0JhY2tpbmdD
b250ZXh0Ojpjb252ZXJ0VG9CYWNraW5nKExvYWRPcCBsb2FkT3ApCiAgICAgc3dpdGNoIChsb2Fk
T3ApIHsKICAgICBjYXNlIExvYWRPcDo6TG9hZDoKICAgICAgICAgcmV0dXJuIFdHUFVMb2FkT3Bf
TG9hZDsKLSAgICB9Ci19Ci0KLVdHUFVQaXBlbGluZVN0YXRpc3RpY05hbWUgQ29udmVydFRvQmFj
a2luZ0NvbnRleHQ6OmNvbnZlcnRUb0JhY2tpbmcoUGlwZWxpbmVTdGF0aXN0aWNOYW1lIHBpcGVs
aW5lU3RhdGlzdGljTmFtZSkKLXsKLSAgICBzd2l0Y2ggKHBpcGVsaW5lU3RhdGlzdGljTmFtZSkg
ewotICAgIGNhc2UgUGlwZWxpbmVTdGF0aXN0aWNOYW1lOjpWZXJ0ZXhTaGFkZXJJbnZvY2F0aW9u
czoKLSAgICAgICAgcmV0dXJuIFdHUFVQaXBlbGluZVN0YXRpc3RpY05hbWVfVmVydGV4U2hhZGVy
SW52b2NhdGlvbnM7Ci0gICAgY2FzZSBQaXBlbGluZVN0YXRpc3RpY05hbWU6OkNsaXBwZXJJbnZv
Y2F0aW9uczoKLSAgICAgICAgcmV0dXJuIFdHUFVQaXBlbGluZVN0YXRpc3RpY05hbWVfQ2xpcHBl
ckludm9jYXRpb25zOwotICAgIGNhc2UgUGlwZWxpbmVTdGF0aXN0aWNOYW1lOjpDbGlwcGVyUHJp
bWl0aXZlc091dDoKLSAgICAgICAgcmV0dXJuIFdHUFVQaXBlbGluZVN0YXRpc3RpY05hbWVfQ2xp
cHBlclByaW1pdGl2ZXNPdXQ7Ci0gICAgY2FzZSBQaXBlbGluZVN0YXRpc3RpY05hbWU6OkZyYWdt
ZW50U2hhZGVySW52b2NhdGlvbnM6Ci0gICAgICAgIHJldHVybiBXR1BVUGlwZWxpbmVTdGF0aXN0
aWNOYW1lX0ZyYWdtZW50U2hhZGVySW52b2NhdGlvbnM7Ci0gICAgY2FzZSBQaXBlbGluZVN0YXRp
c3RpY05hbWU6OkNvbXB1dGVTaGFkZXJJbnZvY2F0aW9uczoKLSAgICAgICAgcmV0dXJuIFdHUFVQ
aXBlbGluZVN0YXRpc3RpY05hbWVfQ29tcHV0ZVNoYWRlckludm9jYXRpb25zOworICAgIGNhc2Ug
TG9hZE9wOjpDbGVhcjoKKyAgICAgICAgcmV0dXJuIFdHUFVMb2FkT3BfQ2xlYXI7CiAgICAgfQog
fQogCkBAIC0yOTcsOCArMjgwLDYgQEAgV0dQVVF1ZXJ5VHlwZSBDb252ZXJ0VG9CYWNraW5nQ29u
dGV4dDo6Y29udmVydFRvQmFja2luZyhRdWVyeVR5cGUgcXVlcnlUeXBlKQogICAgIHN3aXRjaCAo
cXVlcnlUeXBlKSB7CiAgICAgY2FzZSBRdWVyeVR5cGU6Ok9jY2x1c2lvbjoKICAgICAgICAgcmV0
dXJuIFdHUFVRdWVyeVR5cGVfT2NjbHVzaW9uOwotICAgIGNhc2UgUXVlcnlUeXBlOjpQaXBlbGlu
ZVN0YXRpc3RpY3M6Ci0gICAgICAgIHJldHVybiBXR1BVUXVlcnlUeXBlX1BpcGVsaW5lU3RhdGlz
dGljczsKICAgICBjYXNlIFF1ZXJ5VHlwZTo6VGltZXN0YW1wOgogICAgICAgICByZXR1cm4gV0dQ
VVF1ZXJ5VHlwZV9UaW1lc3RhbXA7CiAgICAgfQpAQCAtNDk2LDExICs0NzcsMTEgQEAgV0dQVVRl
eHR1cmVGb3JtYXQgQ29udmVydFRvQmFja2luZ0NvbnRleHQ6OmNvbnZlcnRUb0JhY2tpbmcoVGV4
dHVyZUZvcm1hdCB0ZXh0dXIKICAgICBjYXNlIFRleHR1cmVGb3JtYXQ6OkV0YzJSZ2I4dW5vcm06
CiAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxXR1BVVGV4dHVyZUZvcm1hdD4oV0dQVVRleHR1
cmVGb3JtYXRfRVRDMlJHQjhVbm9ybSk7CiAgICAgY2FzZSBUZXh0dXJlRm9ybWF0OjpFdGMyUmdi
OHVub3JtU1JHQjoKLSAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFdHUFVUZXh0dXJlRm9ybWF0
PihXR1BVVGV4dHVyZUZvcm1hdF9FVEMyUkdCOHVub3JtU3JnYik7CisgICAgICAgIHJldHVybiBz
dGF0aWNfY2FzdDxXR1BVVGV4dHVyZUZvcm1hdD4oV0dQVVRleHR1cmVGb3JtYXRfRVRDMlJHQjhV
bm9ybVNyZ2IpOwogICAgIGNhc2UgVGV4dHVyZUZvcm1hdDo6RXRjMlJnYjhhMXVub3JtOgotICAg
ICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8V0dQVVRleHR1cmVGb3JtYXQ+KFdHUFVUZXh0dXJlRm9y
bWF0X0VUQzJSR0I4YTFVbm9ybSk7CisgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxXR1BVVGV4
dHVyZUZvcm1hdD4oV0dQVVRleHR1cmVGb3JtYXRfRVRDMlJHQjhBMVVub3JtKTsKICAgICBjYXNl
IFRleHR1cmVGb3JtYXQ6OkV0YzJSZ2I4YTF1bm9ybVNSR0I6Ci0gICAgICAgIHJldHVybiBzdGF0
aWNfY2FzdDxXR1BVVGV4dHVyZUZvcm1hdD4oV0dQVVRleHR1cmVGb3JtYXRfRVRDMlJHQjhhMXVu
b3JtU3JnYik7CisgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxXR1BVVGV4dHVyZUZvcm1hdD4o
V0dQVVRleHR1cmVGb3JtYXRfRVRDMlJHQjhBMVVub3JtU3JnYik7CiAgICAgY2FzZSBUZXh0dXJl
Rm9ybWF0OjpFdGMyUmdiYTh1bm9ybToKICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFdHUFVU
ZXh0dXJlRm9ybWF0PihXR1BVVGV4dHVyZUZvcm1hdF9FVEMyUkdCQThVbm9ybSk7CiAgICAgY2Fz
ZSBUZXh0dXJlRm9ybWF0OjpFdGMyUmdiYTh1bm9ybVNSR0I6CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVUNvbnZlcnRUb0JhY2tp
bmdDb250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBs
L1dlYkdQVUNvbnZlcnRUb0JhY2tpbmdDb250ZXh0LmgKaW5kZXggMDkzZDgzM2M0ZTNhZjAwMzRj
MjhlZjk0ZmYxOTZmODM5YWRhNDAyNy4uODUyYzA1MGNkYWY0MzZhZmRkYjI3ZTNhZGVkODViMjhm
YmYzZDk1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJH
UFUvSW1wbC9XZWJHUFVDb252ZXJ0VG9CYWNraW5nQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwvV2ViR1BVQ29udmVydFRvQmFja2luZ0Nv
bnRleHQuaApAQCAtNjYsNyArNjYsNiBAQCBjbGFzcyBHUFU7CiBlbnVtIGNsYXNzIEluZGV4Rm9y
bWF0IDogdWludDhfdDsKIGVudW0gY2xhc3MgTG9hZE9wIDogdWludDhfdDsKIGNsYXNzIFBpcGVs
aW5lTGF5b3V0OwotZW51bSBjbGFzcyBQaXBlbGluZVN0YXRpc3RpY05hbWUgOiB1aW50OF90Owog
ZW51bSBjbGFzcyBQb3dlclByZWZlcmVuY2UgOiB1aW50OF90OwogZW51bSBjbGFzcyBQcmltaXRp
dmVUb3BvbG9neSA6IHVpbnQ4X3Q7CiBjbGFzcyBRdWVyeVNldDsKQEAgLTExMCw3ICsxMDksNiBA
QCBwdWJsaWM6CiAgICAgV0dQVUZyb250RmFjZSBjb252ZXJ0VG9CYWNraW5nKEZyb250RmFjZSk7
CiAgICAgV0dQVUluZGV4Rm9ybWF0IGNvbnZlcnRUb0JhY2tpbmcoSW5kZXhGb3JtYXQpOwogICAg
IFdHUFVMb2FkT3AgY29udmVydFRvQmFja2luZyhMb2FkT3ApOwotICAgIFdHUFVQaXBlbGluZVN0
YXRpc3RpY05hbWUgY29udmVydFRvQmFja2luZyhQaXBlbGluZVN0YXRpc3RpY05hbWUpOwogICAg
IFdHUFVQb3dlclByZWZlcmVuY2UgY29udmVydFRvQmFja2luZyhQb3dlclByZWZlcmVuY2UpOwog
ICAgIFdHUFVQcmltaXRpdmVUb3BvbG9neSBjb252ZXJ0VG9CYWNraW5nKFByaW1pdGl2ZVRvcG9s
b2d5KTsKICAgICBXR1BVUXVlcnlUeXBlIGNvbnZlcnRUb0JhY2tpbmcoUXVlcnlUeXBlKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwvV2Vi
R1BVRGV2aWNlSW1wbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQ
VS9JbXBsL1dlYkdQVURldmljZUltcGwuY3BwCmluZGV4IGIzZjU1NWRiMzE3ODVlMmRiNmQ2NDE2
YzJmOTI5NmVmNDI0MGQ4M2IuLmE1ODUyNDQ0ZGU5YmRkMzdjZGU4YTU1MmYwNWYxZTIwOTkyYWFh
ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL0lt
cGwvV2ViR1BVRGV2aWNlSW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFw
aGljcy9XZWJHUFUvSW1wbC9XZWJHUFVEZXZpY2VJbXBsLmNwcApAQCAtNTQ3LDE3ICs1NDcsMTMg
QEAgUmVmPFF1ZXJ5U2V0PiBEZXZpY2VJbXBsOjpjcmVhdGVRdWVyeVNldChjb25zdCBRdWVyeVNl
dERlc2NyaXB0b3ImIGRlc2NyaXB0b3IpCiB7CiAgICAgYXV0byBsYWJlbCA9IGRlc2NyaXB0b3Iu
bGFiZWwudXRmOCgpOwogCi0gICAgYXV0byBiYWNraW5nUGlwZWxpbmVTdGF0aXN0aWNzID0gZGVz
Y3JpcHRvci5waXBlbGluZVN0YXRpc3RpY3MubWFwKFt0aGlzXSAoYXV0byBwaXBlbGluZVN0YXRp
c3RpYykgewotICAgICAgICByZXR1cm4gbV9jb252ZXJ0VG9CYWNraW5nQ29udGV4dC0+Y29udmVy
dFRvQmFja2luZyhwaXBlbGluZVN0YXRpc3RpYyk7Ci0gICAgfSk7Ci0KICAgICBXR1BVUXVlcnlT
ZXREZXNjcmlwdG9yIGJhY2tpbmdEZXNjcmlwdG9yIHsKICAgICAgICAgbnVsbHB0ciwKICAgICAg
ICAgbGFiZWwuZGF0YSgpLAogICAgICAgICBtX2NvbnZlcnRUb0JhY2tpbmdDb250ZXh0LT5jb252
ZXJ0VG9CYWNraW5nKGRlc2NyaXB0b3IudHlwZSksCiAgICAgICAgIGRlc2NyaXB0b3IuY291bnQs
Ci0gICAgICAgIGJhY2tpbmdQaXBlbGluZVN0YXRpc3RpY3MuZGF0YSgpLAotICAgICAgICBzdGF0
aWNfY2FzdDx1aW50MzJfdD4oYmFja2luZ1BpcGVsaW5lU3RhdGlzdGljcy5zaXplKCkpLAorICAg
ICAgICBudWxscHRyLAorICAgICAgICAwLAogICAgIH07CiAKICAgICByZXR1cm4gUXVlcnlTZXRJ
bXBsOjpjcmVhdGUod2dwdURldmljZUNyZWF0ZVF1ZXJ5U2V0KG1fYmFja2luZywgJmJhY2tpbmdE
ZXNjcmlwdG9yKSwgbV9jb252ZXJ0VG9CYWNraW5nQ29udGV4dCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVUltcGwuY3BwIGIv
U291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9XZWJHUFVJbXBsLmNw
cAppbmRleCA1ODFkOTI4MDE3MjhjNzI0MzJlNzBiNDNkYmIxY2I5NzUwZDlmM2YyLi5lNmFmNjlk
ZTZjYjhlNmY3M2U5NzY1ODI0MjRiZWU5ZDI4ZTUwNmUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVUltcGwuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwvV2ViR1BVSW1wbC5jcHAK
QEAgLTc2LDcgKzc2LDcgQEAgdm9pZCBHUFVJbXBsOjpyZXF1ZXN0QWRhcHRlcihjb25zdCBSZXF1
ZXN0QWRhcHRlck9wdGlvbnMmIG9wdGlvbnMsIFdURjo6RnVuY3Rpb24KICAgICBXR1BVUmVxdWVz
dEFkYXB0ZXJPcHRpb25zIGJhY2tpbmdPcHRpb25zIHsKICAgICAgICAgbnVsbHB0ciwKICAgICAg
ICAgbnVsbHB0ciwKLSAgICAgICAgb3B0aW9ucy5wb3dlclByZWZlcmVuY2UgPyBtX2NvbnZlcnRU
b0JhY2tpbmdDb250ZXh0LT5jb252ZXJ0VG9CYWNraW5nKCpvcHRpb25zLnBvd2VyUHJlZmVyZW5j
ZSkgOiBzdGF0aWNfY2FzdDxXR1BVUG93ZXJQcmVmZXJlbmNlPihXR1BVUG93ZXJQcmVmZXJlbmNl
X05vUHJlZmVyZW5jZSksCisgICAgICAgIG9wdGlvbnMucG93ZXJQcmVmZXJlbmNlID8gbV9jb252
ZXJ0VG9CYWNraW5nQ29udGV4dC0+Y29udmVydFRvQmFja2luZygqb3B0aW9ucy5wb3dlclByZWZl
cmVuY2UpIDogc3RhdGljX2Nhc3Q8V0dQVVBvd2VyUHJlZmVyZW5jZT4oV0dQVVBvd2VyUHJlZmVy
ZW5jZV9VbmRlZmluZWQpLAogICAgICAgICBvcHRpb25zLmZvcmNlRmFsbGJhY2tBZGFwdGVyLAog
ICAgIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2Vi
R1BVL0ltcGwvV2ViR1BVUmVuZGVyUGFzc0VuY29kZXJJbXBsLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwvV2ViR1BVUmVuZGVyUGFzc0VuY29kZXJJbXBs
LmNwcAppbmRleCBkMmZlNWRmNTI2Y2MzNjBmN2EzZWQyMzNlMzJmMzRjOTNkMTg2NjE2Li5mNTc3
NGQ3ZGI0ZmI4YzE0ZGMxM2Q1MTdhOWJiODc5NzI5OTE2Y2U1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVVJlbmRlclBhc3NFbmNv
ZGVySW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUv
SW1wbC9XZWJHUFVSZW5kZXJQYXNzRW5jb2RlckltcGwuY3BwCkBAIC0xNTYsMTYgKzE1Niw2IEBA
IHZvaWQgUmVuZGVyUGFzc0VuY29kZXJJbXBsOjplbmRPY2NsdXNpb25RdWVyeSgpCiAgICAgd2dw
dVJlbmRlclBhc3NFbmNvZGVyRW5kT2NjbHVzaW9uUXVlcnkobV9iYWNraW5nKTsKIH0KIAotdm9p
ZCBSZW5kZXJQYXNzRW5jb2RlckltcGw6OmJlZ2luUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkoY29u
c3QgUXVlcnlTZXQmIHF1ZXJ5U2V0LCBTaXplMzIgcXVlcnlJbmRleCkKLXsKLSAgICB3Z3B1UmVu
ZGVyUGFzc0VuY29kZXJCZWdpblBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KG1fYmFja2luZywgbV9j
b252ZXJ0VG9CYWNraW5nQ29udGV4dC0+Y29udmVydFRvQmFja2luZyhxdWVyeVNldCksIHF1ZXJ5
SW5kZXgpOwotfQotCi12b2lkIFJlbmRlclBhc3NFbmNvZGVySW1wbDo6ZW5kUGlwZWxpbmVTdGF0
aXN0aWNzUXVlcnkoKQotewotICAgIHdncHVSZW5kZXJQYXNzRW5jb2RlckVuZFBpcGVsaW5lU3Rh
dGlzdGljc1F1ZXJ5KG1fYmFja2luZyk7Ci19Ci0KIHZvaWQgUmVuZGVyUGFzc0VuY29kZXJJbXBs
OjpleGVjdXRlQnVuZGxlcyhWZWN0b3I8c3RkOjpyZWZlcmVuY2Vfd3JhcHBlcjxSZW5kZXJCdW5k
bGU+PiYmIHJlbmRlckJ1bmRsZXMpCiB7CiAgICAgYXV0byBiYWNraW5nQnVuZGxlcyA9IHJlbmRl
ckJ1bmRsZXMubWFwKFt0aGlzXSAoYXV0byByZW5kZXJCdW5kbGUpIHsKQEAgLTE3NSw3ICsxNjUs
NyBAQCB2b2lkIFJlbmRlclBhc3NFbmNvZGVySW1wbDo6ZXhlY3V0ZUJ1bmRsZXMoVmVjdG9yPHN0
ZDo6cmVmZXJlbmNlX3dyYXBwZXI8UmVuZGVyQgogICAgIHdncHVSZW5kZXJQYXNzRW5jb2RlckV4
ZWN1dGVCdW5kbGVzKG1fYmFja2luZywgYmFja2luZ0J1bmRsZXMuc2l6ZSgpLCBiYWNraW5nQnVu
ZGxlcy5kYXRhKCkpOwogfQogCi12b2lkIFJlbmRlclBhc3NFbmNvZGVySW1wbDo6ZW5kUGFzcygp
Cit2b2lkIFJlbmRlclBhc3NFbmNvZGVySW1wbDo6ZW5kKCkKIHsKICAgICB3Z3B1UmVuZGVyUGFz
c0VuY29kZXJFbmRQYXNzKG1fYmFja2luZyk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVVJlbmRlclBhc3NFbmNvZGVySW1w
bC5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9XZWJHUFVS
ZW5kZXJQYXNzRW5jb2RlckltcGwuaAppbmRleCAzZWU5MDcxNDU4Mjk3ZWJhOWU3MDk4MTdhNjIy
OGJmMmUyZWVjZjAyLi4zNGM1MDgyYWM1ODE4NTY3MGI2NmQ2NThkOTBiMjc3MzQ5ZDgzN2RiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dl
YkdQVVJlbmRlclBhc3NFbmNvZGVySW1wbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwv
Z3JhcGhpY3MvV2ViR1BVL0ltcGwvV2ViR1BVUmVuZGVyUGFzc0VuY29kZXJJbXBsLmgKQEAgLTk3
LDExICs5Nyw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCBiZWdpbk9jY2x1c2lvblF1ZXJ5KFNpemUz
MiBxdWVyeUluZGV4KSBmaW5hbDsKICAgICB2b2lkIGVuZE9jY2x1c2lvblF1ZXJ5KCkgZmluYWw7
CiAKLSAgICB2b2lkIGJlZ2luUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkoY29uc3QgUXVlcnlTZXQm
LCBTaXplMzIgcXVlcnlJbmRleCkgZmluYWw7Ci0gICAgdm9pZCBlbmRQaXBlbGluZVN0YXRpc3Rp
Y3NRdWVyeSgpIGZpbmFsOwotCiAgICAgdm9pZCBleGVjdXRlQnVuZGxlcyhWZWN0b3I8c3RkOjpy
ZWZlcmVuY2Vfd3JhcHBlcjxSZW5kZXJCdW5kbGU+PiYmKSBmaW5hbDsKLSAgICB2b2lkIGVuZFBh
c3MoKSBmaW5hbDsKKyAgICB2b2lkIGVuZCgpIGZpbmFsOwogCiAgICAgdm9pZCBzZXRMYWJlbElu
dGVybmFsKGNvbnN0IFN0cmluZyYpIGZpbmFsOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVCdWZmZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVUJ1ZmZlci5oCmluZGV4IDNmYWU5NGE0YWJh
ZmNlYTM5NjAzYzQ4NmQ2YTBhNjdiOGI4ZGU5YWUuLmY3OGMzNDc0MDgzNzUxOTEyODc4NjNkZmNk
YzUxYWMxODc3MzcxMWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhp
Y3MvV2ViR1BVL1dlYkdQVUJ1ZmZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3Jh
cGhpY3MvV2ViR1BVL1dlYkdQVUJ1ZmZlci5oCkBAIC00OCwxMiArNDgsMTIgQEAgcHVibGljOgog
ICAgICAgICBzZXRMYWJlbEludGVybmFsKG1fbGFiZWwpOwogICAgIH0KIAotICAgIHZpcnR1YWwg
dm9pZCBtYXBBc3luYyhNYXBNb2RlRmxhZ3MsIHN0ZDo6b3B0aW9uYWw8U2l6ZTY0PiBvZmZzZXQs
IHN0ZDo6b3B0aW9uYWw8U2l6ZTY0PiwgV1RGOjpGdW5jdGlvbjx2b2lkKCk+JiYpID0gMDsKKyAg
ICB2aXJ0dWFsIHZvaWQgbWFwQXN5bmMoTWFwTW9kZUZsYWdzLCBTaXplNjQgb2Zmc2V0LCBzdGQ6
Om9wdGlvbmFsPFNpemU2ND4sIFdURjo6RnVuY3Rpb248dm9pZCgpPiYmKSA9IDA7CiAgICAgc3Ry
dWN0IE1hcHBlZFJhbmdlIHsKICAgICAgICAgdm9pZCogc291cmNlIHsgbnVsbHB0ciB9OwogICAg
ICAgICBzaXplX3QgYnl0ZUxlbmd0aCB7IDAgfTsKICAgICB9OwotICAgIHZpcnR1YWwgTWFwcGVk
UmFuZ2UgZ2V0TWFwcGVkUmFuZ2Uoc3RkOjpvcHRpb25hbDxTaXplNjQ+IG9mZnNldCwgc3RkOjpv
cHRpb25hbDxTaXplNjQ+KSA9IDA7CisgICAgdmlydHVhbCBNYXBwZWRSYW5nZSBnZXRNYXBwZWRS
YW5nZShTaXplNjQgb2Zmc2V0LCBzdGQ6Om9wdGlvbmFsPFNpemU2ND4pID0gMDsKICAgICB2aXJ0
dWFsIHZvaWQgdW5tYXAoKSA9IDA7CiAKICAgICB2aXJ0dWFsIHZvaWQgZGVzdHJveSgpID0gMDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQ
VUNhbnZhc0NvbmZpZ3VyYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3Mv
V2ViR1BVL1dlYkdQVUNhbnZhc0NvbmZpZ3VyYXRpb24uaAppbmRleCBhZjkzN2YwOWM5YTAxZDRm
NTg1MzEyOWRkYjEzZGQ5NDMwMGI5M2VjLi5mZWRiMjQxNmNjMmE4ZTEzNGUxOWRjNDhmZWRiMDIx
OTM0Yzc0OWZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dl
YkdQVS9XZWJHUFVDYW52YXNDb25maWd1cmF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFM
L3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVQ2FudmFzQ29uZmlndXJhdGlvbi5oCkBAIC00Miw2
ICs0Miw3IEBAIHN0cnVjdCBDYW52YXNDb25maWd1cmF0aW9uIHsKICAgICBEZXZpY2UmIGRldmlj
ZTsKICAgICBUZXh0dXJlRm9ybWF0IGZvcm1hdCB7IFRleHR1cmVGb3JtYXQ6OlI4dW5vcm0gfTsK
ICAgICBUZXh0dXJlVXNhZ2VGbGFncyB1c2FnZSB7IFRleHR1cmVVc2FnZTo6UmVuZGVyQXR0YWNo
bWVudCB9OworICAgIFZlY3RvcjxUZXh0dXJlRm9ybWF0PiB2aWV3Rm9ybWF0czsKICAgICBQcmVk
ZWZpbmVkQ29sb3JTcGFjZSBjb2xvclNwYWNlIHsgUHJlZGVmaW5lZENvbG9yU3BhY2U6OlNSR0Ig
fTsKICAgICBDYW52YXNDb21wb3NpdGluZ0FscGhhTW9kZSBjb21wb3NpdGluZ0FscGhhTW9kZSB7
IENhbnZhc0NvbXBvc2l0aW5nQWxwaGFNb2RlOjpPcGFxdWUgfTsKICAgICBzdGQ6Om9wdGlvbmFs
PEV4dGVudDNEPiBzaXplOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFw
aGljcy9XZWJHUFUvV2ViR1BVQ29tbWFuZEVuY29kZXIuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9w
YWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVUNvbW1hbmRFbmNvZGVyLmgKaW5kZXggODgyNzk0OTY4
OTNjOGVhODRjZmQ5YzBhN2NkNmNhZWUxMTY0Y2I3Zi4uOTBkOWVmMzM3ZjdlMThhZGE1OTkzNzU4
ZmEzMGRhY2VjNTMzYWUzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFw
aGljcy9XZWJHUFUvV2ViR1BVQ29tbWFuZEVuY29kZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Q
QUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVDb21tYW5kRW5jb2Rlci5oCkBAIC04MiwxMCAr
ODIsMTAgQEAgcHVibGljOgogICAgICAgICBjb25zdCBJbWFnZUNvcHlUZXh0dXJlJiBkZXN0aW5h
dGlvbiwKICAgICAgICAgY29uc3QgRXh0ZW50M0QmIGNvcHlTaXplKSA9IDA7CiAKLSAgICB2aXJ0
dWFsIHZvaWQgZmlsbEJ1ZmZlcigKLSAgICAgICAgY29uc3QgQnVmZmVyJiBkZXN0aW5hdGlvbiwK
LSAgICAgICAgU2l6ZTY0IGRlc3RpbmF0aW9uT2Zmc2V0LAotICAgICAgICBTaXplNjQpID0gMDsK
KyAgICB2aXJ0dWFsIHZvaWQgY2xlYXJCdWZmZXIoCisgICAgICAgIGNvbnN0IEJ1ZmZlciYgYnVm
ZmVyLAorICAgICAgICBTaXplNjQgb2Zmc2V0ID0gMCwKKyAgICAgICAgc3RkOjpvcHRpb25hbDxT
aXplNjQ+IHNpemUgPSBzdGQ6Om51bGxvcHQpID0gMDsKIAogICAgIHZpcnR1YWwgdm9pZCBwdXNo
RGVidWdHcm91cChTdHJpbmcmJiBncm91cExhYmVsKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHBv
cERlYnVnR3JvdXAoKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dy
YXBoaWNzL1dlYkdQVS9XZWJHUFVDb21wdXRlUGFzc0VuY29kZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVUNvbXB1dGVQYXNzRW5jb2Rlci5oCmluZGV4
IGY0OWU3OGZiYWQ5MTYzY2NlZWQ4ZjgwODg0MTU3OGM5ZjRkYTViOTIuLmYyZjY0YmQwYjFlMmQ3
ZDZlMDk2ZTExMjc3MDJiMjdlM2RkYzA1ODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BB
TC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVUNvbXB1dGVQYXNzRW5jb2Rlci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVUNvbXB1dGVQYXNzRW5j
b2Rlci5oCkBAIC01MywxMyArNTMsMTAgQEAgcHVibGljOgogICAgIH0KIAogICAgIHZpcnR1YWwg
dm9pZCBzZXRQaXBlbGluZShjb25zdCBDb21wdXRlUGlwZWxpbmUmKSA9IDA7Ci0gICAgdmlydHVh
bCB2b2lkIGRpc3BhdGNoKFNpemUzMiB4LCBzdGQ6Om9wdGlvbmFsPFNpemUzMj4geSwgc3RkOjpv
cHRpb25hbDxTaXplMzI+KSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoKFNpemUzMiB3
b3JrZ3JvdXBDb3VudFgsIFNpemUzMiB3b3JrZ3JvdXBDb3VudFkgPSAxLCBTaXplMzIgd29ya2dy
b3VwQ291bnRaID0gMSkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaEluZGlyZWN0KGNv
bnN0IEJ1ZmZlciYgaW5kaXJlY3RCdWZmZXIsIFNpemU2NCBpbmRpcmVjdE9mZnNldCkgPSAwOwog
Ci0gICAgdmlydHVhbCB2b2lkIGJlZ2luUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkoY29uc3QgUXVl
cnlTZXQmLCBTaXplMzIgcXVlcnlJbmRleCkgPSAwOwotICAgIHZpcnR1YWwgdm9pZCBlbmRQaXBl
bGluZVN0YXRpc3RpY3NRdWVyeSgpID0gMDsKLQotICAgIHZpcnR1YWwgdm9pZCBlbmRQYXNzKCkg
PSAwOworICAgIHZpcnR1YWwgdm9pZCBlbmQoKSA9IDA7CiAKICAgICB2aXJ0dWFsIHZvaWQgc2V0
QmluZEdyb3VwKEluZGV4MzIsIGNvbnN0IEJpbmRHcm91cCYsCiAgICAgICAgIHN0ZDo6b3B0aW9u
YWw8VmVjdG9yPEJ1ZmZlckR5bmFtaWNPZmZzZXQ+PiYmKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVGZWF0dXJlTmFtZS5oIGIv
U291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVRmVhdHVyZU5hbWUu
aAppbmRleCA2YTMzNTg5ZDg5NDlmYTg0NzZjMTRkYjdmZDM1ODQ5YWZmNzNmMzk1Li5mMWIzNTFi
OWE0YTQ3Njg3ZTA1ODVlN2ViNTg2ZTcxNDgxMTFmZGE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVGZWF0dXJlTmFtZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVUZlYXR1cmVOYW1lLmgK
QEAgLTM0LDcgKzM0LDYgQEAgZW51bSBjbGFzcyBGZWF0dXJlTmFtZSA6IHVpbnQ4X3QgewogICAg
IERlcHRoQ2xpcENvbnRyb2wsCiAgICAgRGVwdGgyNHVub3JtU3RlbmNpbDgsCiAgICAgRGVwdGgz
MmZsb2F0U3RlbmNpbDgsCi0gICAgUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnksCiAgICAgVGV4dHVy
ZUNvbXByZXNzaW9uQmMsCiAgICAgVGV4dHVyZUNvbXByZXNzaW9uRXRjMiwKICAgICBUZXh0dXJl
Q29tcHJlc3Npb25Bc3RjLApAQCAtNTIsNyArNTEsNiBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBFbnVt
VHJhaXRzPFBBTDo6V2ViR1BVOjpGZWF0dXJlTmFtZT4gewogICAgICAgICBQQUw6OldlYkdQVTo6
RmVhdHVyZU5hbWU6OkRlcHRoQ2xpcENvbnRyb2wsCiAgICAgICAgIFBBTDo6V2ViR1BVOjpGZWF0
dXJlTmFtZTo6RGVwdGgyNHVub3JtU3RlbmNpbDgsCiAgICAgICAgIFBBTDo6V2ViR1BVOjpGZWF0
dXJlTmFtZTo6RGVwdGgzMmZsb2F0U3RlbmNpbDgsCi0gICAgICAgIFBBTDo6V2ViR1BVOjpGZWF0
dXJlTmFtZTo6UGlwZWxpbmVTdGF0aXN0aWNzUXVlcnksCiAgICAgICAgIFBBTDo6V2ViR1BVOjpG
ZWF0dXJlTmFtZTo6VGV4dHVyZUNvbXByZXNzaW9uQmMsCiAgICAgICAgIFBBTDo6V2ViR1BVOjpG
ZWF0dXJlTmFtZTo6VGV4dHVyZUNvbXByZXNzaW9uRXRjMiwKICAgICAgICAgUEFMOjpXZWJHUFU6
OkZlYXR1cmVOYW1lOjpUZXh0dXJlQ29tcHJlc3Npb25Bc3RjLApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVRnJhZ21lbnRTdGF0ZS5oIGIv
U291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVRnJhZ21lbnRTdGF0
ZS5oCmluZGV4IDhhNzBmMDkyOWEwN2NjMTRkNjNiMmE1MDU3ODY5N2U3YzA2YmRjNTUuLmMyMjk1
NGUwNzE0YzZkMjliYzBjZjZhOGMzYjU3ZTRlYmE0MDVlNzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVUZyYWdtZW50U3RhdGUuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVGcmFnbWVudFN0
YXRlLmgKQEAgLTI3LDEyICsyNywxMyBAQAogCiAjaW5jbHVkZSAiV2ViR1BVQ29sb3JUYXJnZXRT
dGF0ZS5oIgogI2luY2x1ZGUgIldlYkdQVVByb2dyYW1tYWJsZVN0YWdlLmgiCisjaW5jbHVkZSA8
b3B0aW9uYWw+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgUEFMOjpXZWJH
UFUgewogCiBzdHJ1Y3QgRnJhZ21lbnRTdGF0ZSA6IHB1YmxpYyBQcm9ncmFtbWFibGVTdGFnZSB7
Ci0gICAgVmVjdG9yPENvbG9yVGFyZ2V0U3RhdGU+IHRhcmdldHM7CisgICAgVmVjdG9yPHN0ZDo6
b3B0aW9uYWw8Q29sb3JUYXJnZXRTdGF0ZT4+IHRhcmdldHM7CiB9OwogCiB9IC8vIG5hbWVzcGFj
ZSBQQUw6OldlYkdQVQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGlj
cy9XZWJHUFUvV2ViR1BVSW1hZ2VDb3B5RXh0ZXJuYWxJbWFnZS5oIGIvU291cmNlL1dlYkNvcmUv
UEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVSW1hZ2VDb3B5RXh0ZXJuYWxJbWFnZS5oCmlu
ZGV4IDk1NWYwOTdkY2YwMGQ0MDFkMDA5NjA3ODBmYTNiMjY2OGNlNWY0YTcuLjA1NzEyZDVjMjAw
MDFmZjYwMDBlOGY2MTlmYmVmMzE1YmU0N2EyNTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVUltYWdlQ29weUV4dGVybmFsSW1hZ2UuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVJbWFnZUNv
cHlFeHRlcm5hbEltYWdlLmgKQEAgLTM0LDYgKzM0LDcgQEAgbmFtZXNwYWNlIFBBTDo6V2ViR1BV
IHsKIHN0cnVjdCBJbWFnZUNvcHlFeHRlcm5hbEltYWdlIHsKICAgICAvLyBGSVhNRTogSGFuZGxl
IHRoZSBzb3VyY2UuCiAgICAgc3RkOjpvcHRpb25hbDxPcmlnaW4yRD4gb3JpZ2luOworICAgIGJv
b2wgZmxpcFkgeyBmYWxzZSB9OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgUEFMOjpXZWJHUFUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVUxv
YWRPcC5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVTG9h
ZE9wLmgKaW5kZXggZGM4MjYwZDczMzBkNjhkODQ4NWVhNzY5ZjJkMGVjMGVhNTkwMTQxYi4uYjBm
ODhhOTJhNjU1ZmZmZGQyMmVmNDYzMDU3NTdjNjE2ZmJiYWQ5ZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVTG9hZE9wLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVTG9hZE9wLmgKQEAgLTMy
LDYgKzMyLDcgQEAgbmFtZXNwYWNlIFBBTDo6V2ViR1BVIHsKIAogZW51bSBjbGFzcyBMb2FkT3Ag
OiB1aW50OF90IHsKICAgICBMb2FkLAorICAgIENsZWFyLAogfTsKIAogfSAvLyBuYW1lc3BhY2Ug
UEFMOjpXZWJHUFUKQEAgLTQxLDcgKzQyLDggQEAgbmFtZXNwYWNlIFdURiB7CiB0ZW1wbGF0ZTw+
IHN0cnVjdCBFbnVtVHJhaXRzPFBBTDo6V2ViR1BVOjpMb2FkT3A+IHsKICAgICB1c2luZyB2YWx1
ZXMgPSBFbnVtVmFsdWVzPAogICAgICAgICBQQUw6OldlYkdQVTo6TG9hZE9wLAotICAgICAgICBQ
QUw6OldlYkdQVTo6TG9hZE9wOjpMb2FkCisgICAgICAgIFBBTDo6V2ViR1BVOjpMb2FkT3A6Okxv
YWQsCisgICAgICAgIFBBTDo6V2ViR1BVOjpMb2FkT3A6OkNsZWFyCiAgICAgPjsKIH07CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVBp
cGVsaW5lU3RhdGlzdGljTmFtZS5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9X
ZWJHUFUvV2ViR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGJmOTNmNjc5MDA0YWRjNjAzMDc1OWU1ZWMzOTM3OGFkZDVkOTRjNmIuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUv
UEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lLmgKKysr
IC9kZXYvbnVsbApAQCAtMSw1NiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDIxIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwot
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0g
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI3ByYWdtYSBvbmNlCi0K
LSNpbmNsdWRlIDxjc3RkaW50PgotI2luY2x1ZGUgPHd0Zi9FbnVtVHJhaXRzLmg+Ci0KLW5hbWVz
cGFjZSBQQUw6OldlYkdQVSB7Ci0KLWVudW0gY2xhc3MgUGlwZWxpbmVTdGF0aXN0aWNOYW1lIDog
dWludDhfdCB7Ci0gICAgVmVydGV4U2hhZGVySW52b2NhdGlvbnMsCi0gICAgQ2xpcHBlckludm9j
YXRpb25zLAotICAgIENsaXBwZXJQcmltaXRpdmVzT3V0LAotICAgIEZyYWdtZW50U2hhZGVySW52
b2NhdGlvbnMsCi0gICAgQ29tcHV0ZVNoYWRlckludm9jYXRpb25zLAotfTsKLQotfSAvLyBuYW1l
c3BhY2UgUEFMOjpXZWJHUFUKLQotbmFtZXNwYWNlIFdURiB7Ci0KLXRlbXBsYXRlPD4gc3RydWN0
IEVudW1UcmFpdHM8UEFMOjpXZWJHUFU6OlBpcGVsaW5lU3RhdGlzdGljTmFtZT4gewotICAgIHVz
aW5nIHZhbHVlcyA9IEVudW1WYWx1ZXM8Ci0gICAgICAgIFBBTDo6V2ViR1BVOjpQaXBlbGluZVN0
YXRpc3RpY05hbWUsCi0gICAgICAgIFBBTDo6V2ViR1BVOjpQaXBlbGluZVN0YXRpc3RpY05hbWU6
OlZlcnRleFNoYWRlckludm9jYXRpb25zLAotICAgICAgICBQQUw6OldlYkdQVTo6UGlwZWxpbmVT
dGF0aXN0aWNOYW1lOjpDbGlwcGVySW52b2NhdGlvbnMsCi0gICAgICAgIFBBTDo6V2ViR1BVOjpQ
aXBlbGluZVN0YXRpc3RpY05hbWU6OkNsaXBwZXJQcmltaXRpdmVzT3V0LAotICAgICAgICBQQUw6
OldlYkdQVTo6UGlwZWxpbmVTdGF0aXN0aWNOYW1lOjpGcmFnbWVudFNoYWRlckludm9jYXRpb25z
LAotICAgICAgICBQQUw6OldlYkdQVTo6UGlwZWxpbmVTdGF0aXN0aWNOYW1lOjpDb21wdXRlU2hh
ZGVySW52b2NhdGlvbnMKLSAgICA+OwotfTsKLQotfSAvLyBuYW1lc3BhY2UgV1RGCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVRdWVyeVNl
dERlc2NyaXB0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dl
YkdQVVF1ZXJ5U2V0RGVzY3JpcHRvci5oCmluZGV4IDg3OTEwOTA3Mjc1NjQ2MmJhZWMxMWY0Nzhk
ZDQ0NDU2ZjA5NTVmZDcuLjFhNTVjYTc3YmJkZmMwZDFmYmU2Yjk3YjU5MzIyNWMyMTQ5NjEwOGIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQ
VVF1ZXJ5U2V0RGVzY3JpcHRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhp
Y3MvV2ViR1BVL1dlYkdQVVF1ZXJ5U2V0RGVzY3JpcHRvci5oCkBAIC0yNyw3ICsyNyw2IEBACiAK
ICNpbmNsdWRlICJXZWJHUFVJbnRlZ3JhbFR5cGVzLmgiCiAjaW5jbHVkZSAiV2ViR1BVT2JqZWN0
RGVzY3JpcHRvckJhc2UuaCIKLSNpbmNsdWRlICJXZWJHUFVQaXBlbGluZVN0YXRpc3RpY05hbWUu
aCIKICNpbmNsdWRlICJXZWJHUFVRdWVyeVR5cGUuaCIKICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+
CiAKQEAgLTM2LDcgKzM1LDYgQEAgbmFtZXNwYWNlIFBBTDo6V2ViR1BVIHsKIHN0cnVjdCBRdWVy
eVNldERlc2NyaXB0b3IgOiBwdWJsaWMgT2JqZWN0RGVzY3JpcHRvckJhc2UgewogICAgIFF1ZXJ5
VHlwZSB0eXBlIHsgUXVlcnlUeXBlOjpPY2NsdXNpb24gfTsKICAgICBTaXplMzIgY291bnQgeyAw
IH07Ci0gICAgVmVjdG9yPFBpcGVsaW5lU3RhdGlzdGljTmFtZT4gcGlwZWxpbmVTdGF0aXN0aWNz
OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgUEFMOjpXZWJHUFUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVF1ZXJ5VHlwZS5oIGIvU291cmNl
L1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVUXVlcnlUeXBlLmgKaW5kZXgg
Y2MzMGQ0ODgzZmYyZGUwNmVkOWQ4YmM4Yzk5MmM1ZGI4MWM2M2RlNC4uYjJhYTVhZjVhYzEyMjE5
MDY0NjUyMzNjMzAyYWY4ODhlMmYzY2JlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFM
L3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVUXVlcnlUeXBlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVUXVlcnlUeXBlLmgKQEAgLTMyLDcgKzMy
LDYgQEAgbmFtZXNwYWNlIFBBTDo6V2ViR1BVIHsKIAogZW51bSBjbGFzcyBRdWVyeVR5cGUgOiB1
aW50OF90IHsKICAgICBPY2NsdXNpb24sCi0gICAgUGlwZWxpbmVTdGF0aXN0aWNzLAogICAgIFRp
bWVzdGFtcCwKIH07CiAKQEAgLTQ0LDcgKzQzLDYgQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRy
YWl0czxQQUw6OldlYkdQVTo6UXVlcnlUeXBlPiB7CiAgICAgdXNpbmcgdmFsdWVzID0gRW51bVZh
bHVlczwKICAgICAgICAgUEFMOjpXZWJHUFU6OlF1ZXJ5VHlwZSwKICAgICAgICAgUEFMOjpXZWJH
UFU6OlF1ZXJ5VHlwZTo6T2NjbHVzaW9uLAotICAgICAgICBQQUw6OldlYkdQVTo6UXVlcnlUeXBl
OjpQaXBlbGluZVN0YXRpc3RpY3MsCiAgICAgICAgIFBBTDo6V2ViR1BVOjpRdWVyeVR5cGU6OlRp
bWVzdGFtcAogICAgID47CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9n
cmFwaGljcy9XZWJHUFUvV2ViR1BVUXVldWUuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3Jh
cGhpY3MvV2ViR1BVL1dlYkdQVVF1ZXVlLmgKaW5kZXggNmY4ZjhmODEwYjhkMDFhMTI4YzZiZGVm
Y2RlMzJjZjVhNDA5MjM4YS4uNjQ4NjZlOGU2YTQ3OTZlOTEyYjk4NzVkM2Q2YmI1ZWY3MTE2NGEx
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2Vi
R1BVUXVldWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9X
ZWJHUFVRdWV1ZS5oCkBAIC02Niw4ICs2Niw4IEBAIHB1YmxpYzoKICAgICAgICAgU2l6ZTY0IGJ1
ZmZlck9mZnNldCwKICAgICAgICAgY29uc3Qgdm9pZCogc291cmNlLAogICAgICAgICBzaXplX3Qg
Ynl0ZUxlbmd0aCwKLSAgICAgICAgU2l6ZTY0IGRhdGFPZmZzZXQsCi0gICAgICAgIHN0ZDo6b3B0
aW9uYWw8U2l6ZTY0PikgPSAwOworICAgICAgICBTaXplNjQgZGF0YU9mZnNldCA9IDAsCisgICAg
ICAgIHN0ZDo6b3B0aW9uYWw8U2l6ZTY0PiA9IHN0ZDo6bnVsbG9wdCkgPSAwOwogCiAgICAgdmly
dHVhbCB2b2lkIHdyaXRlVGV4dHVyZSgKICAgICAgICAgY29uc3QgSW1hZ2VDb3B5VGV4dHVyZSYg
ZGVzdGluYXRpb24sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNz
L1dlYkdQVS9XZWJHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50LmggYi9Tb3VyY2UvV2ViQ29y
ZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50
LmgKaW5kZXggMjgzODEzNTYwN2ZjYWJhNTJlMTkxYzBiMjU0ZDM2NDhiYjMzOTUzNi4uZDc5ODIx
M2FkNDFiMDgwYTM0NjI1Yzk4MGVhZjFkMGQ0MmVjZmY5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNo
bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQ
VVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQuaApAQCAtNDAsNyArNDAsOCBAQCBzdHJ1Y3QgUmVu
ZGVyUGFzc0NvbG9yQXR0YWNobWVudCB7CiAgICAgVGV4dHVyZVZpZXcmIHZpZXc7CiAgICAgVGV4
dHVyZVZpZXcqIHJlc29sdmVUYXJnZXQgeyBudWxscHRyIH07CiAKLSAgICBzdGQ6OnZhcmlhbnQ8
TG9hZE9wLCBWZWN0b3I8ZG91YmxlPiwgQ29sb3JEaWN0PiBsb2FkVmFsdWU7CisgICAgc3RkOjpv
cHRpb25hbDxDb2xvcj4gY2xlYXJWYWx1ZTsKKyAgICBMb2FkT3AgbG9hZE9wIHsgTG9hZE9wOjpM
b2FkIH07CiAgICAgU3RvcmVPcCBzdG9yZU9wIHsgU3RvcmVPcDo6U3RvcmUgfTsKIH07CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVJl
bmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFs
L2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVSZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNobWVudC5o
CmluZGV4IGI0MzBlNDUyNjEwZDZlMTk2ZDUwMjIyOTE0ODZhMTVjNWFjN2Q0Y2YuLmRjMTM2ZDdi
NGQzYzYxYzYyNDJiMjhjMDQyOGJjN2M1ZTY5OWUzM2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVJlbmRlclBhc3NEZXB0aFN0ZW5jaWxB
dHRhY2htZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUv
V2ViR1BVUmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQuaApAQCAtMzgsMTMgKzM4LDE1
IEBAIGNsYXNzIFRleHR1cmVWaWV3Owogc3RydWN0IFJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRh
Y2htZW50IHsKICAgICBUZXh0dXJlVmlldyYgdmlldzsKIAotICAgIHN0ZDo6dmFyaWFudDxMb2Fk
T3AsIGZsb2F0PiBkZXB0aExvYWRWYWx1ZTsKLSAgICBTdG9yZU9wIGRlcHRoU3RvcmVPcCB7IFN0
b3JlT3A6OlN0b3JlIH07Ci0gICAgYm9vbCBkZXB0aFJlYWRPbmx5IHsgZmFsc2UgfTsKLQotICAg
IHN0ZDo6dmFyaWFudDxMb2FkT3AsIFN0ZW5jaWxWYWx1ZT4gc3RlbmNpbExvYWRWYWx1ZTsKLSAg
ICBTdG9yZU9wIHN0ZW5jaWxTdG9yZU9wIHsgU3RvcmVPcDo6U3RvcmUgfTsKLSAgICBib29sIHN0
ZW5jaWxSZWFkT25seSB7IGZhbHNlIH07CisgICAgc3RkOjpvcHRpb25hbDxmbG9hdD4gZGVwdGhD
bGVhclZhbHVlIHsgMCB9OworICAgIHN0ZDo6b3B0aW9uYWw8TG9hZE9wPiBkZXB0aExvYWRPcCB7
IExvYWRPcDo6TG9hZCB9OworICAgIHN0ZDo6b3B0aW9uYWw8U3RvcmVPcD4gZGVwdGhTdG9yZU9w
IHsgU3RvcmVPcDo6U3RvcmUgfTsKKyAgICBzdGQ6Om9wdGlvbmFsPGJvb2w+IGRlcHRoUmVhZE9u
bHkgeyBmYWxzZSB9OworCisgICAgc3RkOjpvcHRpb25hbDxTdGVuY2lsVmFsdWU+IHN0ZW5jaWxD
bGVhclZhbHVlIHsgMCB9OworICAgIHN0ZDo6b3B0aW9uYWw8TG9hZE9wPiBzdGVuY2lsTG9hZE9w
IHsgTG9hZE9wOjpMb2FkIH07CisgICAgc3RkOjpvcHRpb25hbDxTdG9yZU9wPiBzdGVuY2lsU3Rv
cmVPcCB7IFN0b3JlT3A6OlN0b3JlIH07CisgICAgc3RkOjpvcHRpb25hbDxib29sPiBzdGVuY2ls
UmVhZE9ubHkgeyBmYWxzZSB9OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgUEFMOjpXZWJHUFUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVJl
bmRlclBhc3NEZXNjcmlwdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dl
YkdQVS9XZWJHUFVSZW5kZXJQYXNzRGVzY3JpcHRvci5oCmluZGV4IDBmYWZlYjQ0NjU1ODYzZjhl
NzAzMzc0YWVjZTAxZmJiZmRhMDYxY2UuLjY2MDkwY2RjM2NkZGQzZTg3NTA4ZDJlODNhMzg4MjEw
ODVhMjc3OTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2Vi
R1BVL1dlYkdQVVJlbmRlclBhc3NEZXNjcmlwdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFM
L3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IuaApAQCAtMzYs
NyArMzYsNyBAQAogbmFtZXNwYWNlIFBBTDo6V2ViR1BVIHsKIAogc3RydWN0IFJlbmRlclBhc3NE
ZXNjcmlwdG9yIDogcHVibGljIE9iamVjdERlc2NyaXB0b3JCYXNlIHsKLSAgICBWZWN0b3I8UmVu
ZGVyUGFzc0NvbG9yQXR0YWNobWVudD4gY29sb3JBdHRhY2htZW50czsKKyAgICBWZWN0b3I8c3Rk
OjpvcHRpb25hbDxSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50Pj4gY29sb3JBdHRhY2htZW50czsK
ICAgICBzdGQ6Om9wdGlvbmFsPFJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50PiBkZXB0
aFN0ZW5jaWxBdHRhY2htZW50OwogICAgIFF1ZXJ5U2V0KiBvY2NsdXNpb25RdWVyeVNldCB7IG51
bGxwdHIgfTsKICAgICBSZW5kZXJQYXNzVGltZXN0YW1wV3JpdGVzIHRpbWVzdGFtcFdyaXRlczsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQ
VVJlbmRlclBhc3NFbmNvZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dl
YkdQVS9XZWJHUFVSZW5kZXJQYXNzRW5jb2Rlci5oCmluZGV4IDczNTJlYTFkZDhiOTUzYjI1ZjU4
MjQ2NmVhYTc3OTZlZTVkZjIyZjcuLjU1ODVmNGFmMmE5NmMxZmNkNWFjODA0MjE0Mjk0NjUyYmEx
OWYyMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BV
L1dlYkdQVVJlbmRlclBhc3NFbmNvZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9n
cmFwaGljcy9XZWJHUFUvV2ViR1BVUmVuZGVyUGFzc0VuY29kZXIuaApAQCAtOTcsMTEgKzk3LDgg
QEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBiZWdpbk9jY2x1c2lvblF1ZXJ5KFNpemUzMiBx
dWVyeUluZGV4KSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGVuZE9jY2x1c2lvblF1ZXJ5KCkgPSAw
OwogCi0gICAgdmlydHVhbCB2b2lkIGJlZ2luUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkoY29uc3Qg
UXVlcnlTZXQmLCBTaXplMzIgcXVlcnlJbmRleCkgPSAwOwotICAgIHZpcnR1YWwgdm9pZCBlbmRQ
aXBlbGluZVN0YXRpc3RpY3NRdWVyeSgpID0gMDsKLQogICAgIHZpcnR1YWwgdm9pZCBleGVjdXRl
QnVuZGxlcyhWZWN0b3I8c3RkOjpyZWZlcmVuY2Vfd3JhcHBlcjxSZW5kZXJCdW5kbGU+PiYmKSA9
IDA7Ci0gICAgdmlydHVhbCB2b2lkIGVuZFBhc3MoKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGVu
ZCgpID0gMDsKIAogcHJvdGVjdGVkOgogICAgIFJlbmRlclBhc3NFbmNvZGVyKCkgPSBkZWZhdWx0
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2Vi
R1BVUmVuZGVyUGFzc0xheW91dC5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9X
ZWJHUFUvV2ViR1BVUmVuZGVyUGFzc0xheW91dC5oCmluZGV4IGFmOTNmMWYxYjJkNzAxMWQ1ZTNi
ODVjN2Q0ZWMwOTAxNDRiMDIwNDUuLjgwZDgyZGEzNTdlNDkyNDQwMTMxZTRmMzZiMjNkYmM1NGU5
NGY1NTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BV
L1dlYkdQVVJlbmRlclBhc3NMYXlvdXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dy
YXBoaWNzL1dlYkdQVS9XZWJHUFVSZW5kZXJQYXNzTGF5b3V0LmgKQEAgLTM0LDcgKzM0LDcgQEAK
IG5hbWVzcGFjZSBQQUw6OldlYkdQVSB7CiAKIHN0cnVjdCBSZW5kZXJQYXNzTGF5b3V0IDogcHVi
bGljIE9iamVjdERlc2NyaXB0b3JCYXNlIHsKLSAgICBWZWN0b3I8VGV4dHVyZUZvcm1hdD4gY29s
b3JGb3JtYXRzOworICAgIFZlY3RvcjxzdGQ6Om9wdGlvbmFsPFRleHR1cmVGb3JtYXQ+PiBjb2xv
ckZvcm1hdHM7CiAgICAgc3RkOjpvcHRpb25hbDxUZXh0dXJlRm9ybWF0PiBkZXB0aFN0ZW5jaWxG
b3JtYXQ7CiAgICAgU2l6ZTMyIHNhbXBsZUNvdW50IHsgMSB9OwogfTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVNoYWRlck1vZHVsZUNv
bXBpbGF0aW9uSGludC5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUv
V2ViR1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDcyMjBkZGYw
OWVhYTA0NDk1NDVhMGNkYjRlNmNiMDFiNTEzMzU3MwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVNoYWRlck1vZHVsZUNvbXBp
bGF0aW9uSGludC5oCkBAIC0wLDAgKzEsMzYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UK
KworbmFtZXNwYWNlIFBBTDo6V2ViR1BVIHsKKworY2xhc3MgV2ViR1BVUGlwZWxpbmVMYXlvdXQ7
CisKK3N0cnVjdCBTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQgeworICAgIFBpcGVsaW5lTGF5
b3V0JiBwaXBlbGluZUxheW91dDsKK307CisKK30gLy8gbmFtZXNwYWNlIFBBTDo6V2ViR1BVCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVT
aGFkZXJNb2R1bGVEZXNjcmlwdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNz
L1dlYkdQVS9XZWJHUFVTaGFkZXJNb2R1bGVEZXNjcmlwdG9yLmgKaW5kZXggYzk5ZThlZTJmZjRm
MWZhODVlMzUxNjI2NTdkOWEzZDlmNmM3NTQ2Zi4uMzFlMjdhNjlkZGRmZDQzMWYyNzY0Y2JhZjQ1
YWJkNGJlNWY3ZmM1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGlj
cy9XZWJHUFUvV2ViR1BVU2hhZGVyTW9kdWxlRGVzY3JpcHRvci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVNoYWRlck1vZHVsZURlc2NyaXB0b3Iu
aApAQCAtMjYsNiArMjYsNyBAQAogI3ByYWdtYSBvbmNlCiAKICNpbmNsdWRlICJXZWJHUFVPYmpl
Y3REZXNjcmlwdG9yQmFzZS5oIgorI2luY2x1ZGUgIldlYkdQVVNoYWRlck1vZHVsZUNvbXBpbGF0
aW9uSGludC5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2Ug
UEFMOjpXZWJHUFUgewpAQCAtMzMsNiArMzQsNyBAQCBuYW1lc3BhY2UgUEFMOjpXZWJHUFUgewog
c3RydWN0IFNoYWRlck1vZHVsZURlc2NyaXB0b3IgOiBwdWJsaWMgT2JqZWN0RGVzY3JpcHRvckJh
c2UgewogICAgIFN0cmluZyBjb2RlOwogICAgIC8vIEpTQzo6U3Ryb25nPEpTQzo6SlNPYmplY3Q+
IHNvdXJjZU1hcDsKKyAgICBWZWN0b3I8S2V5VmFsdWVQYWlyPFN0cmluZywgU2hhZGVyTW9kdWxl
Q29tcGlsYXRpb25IaW50Pj4gaGludHM7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBQQUw6OldlYkdQ
VQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2Vi
R1BVVGV4dHVyZURlc2NyaXB0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3Mv
V2ViR1BVL1dlYkdQVVRleHR1cmVEZXNjcmlwdG9yLmgKaW5kZXggNThhMGZjYTc4OGQyNDI1Mzcz
ZDk3ZWJlOGIxMzFjOWZkZWQ2Y2Q1Yy4uNzcwM2IyMDQzZDkxYjc1ZjE3MThiMmZlNGQyZWZhMjI4
NDA0NzQyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJH
UFUvV2ViR1BVVGV4dHVyZURlc2NyaXB0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFs
L2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVUZXh0dXJlRGVzY3JpcHRvci5oCkBAIC00MSw2ICs0MSw3
IEBAIHN0cnVjdCBUZXh0dXJlRGVzY3JpcHRvciA6IHB1YmxpYyBPYmplY3REZXNjcmlwdG9yQmFz
ZSB7CiAgICAgVGV4dHVyZURpbWVuc2lvbiBkaW1lbnNpb24geyBUZXh0dXJlRGltZW5zaW9uOjpf
MmQgfTsKICAgICBUZXh0dXJlRm9ybWF0IGZvcm1hdCB7IFRleHR1cmVGb3JtYXQ6OlI4dW5vcm0g
fTsKICAgICBUZXh0dXJlVXNhZ2VGbGFncyB1c2FnZTsKKyAgICBWZWN0b3I8VGV4dHVyZUZvcm1h
dD4gdmlld0Zvcm1hdHM7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBQQUw6OldlYkdQVQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVVGV4dHVy
ZUZvcm1hdC5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BV
VGV4dHVyZUZvcm1hdC5oCmluZGV4IDYyNTk0NjAwNWYwZTg2M2FmOTAzMjgxNjViMzg4OTEyZGQ3
NTAyNDQuLjYzYjQyOThlYjM5M2ZmZDAxZTI5ZGY5ZWFiNjlmODlmNDA2ODMzZDcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVRleHR1cmVG
b3JtYXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJH
UFVUZXh0dXJlRm9ybWF0LmgKQEAgLTc4LDEzICs3OCwxOSBAQCBlbnVtIGNsYXNzIFRleHR1cmVG
b3JtYXQgOiB1aW50OF90IHsKICAgICBSZ2JhMzJzaW50LAogICAgIFJnYmEzMmZsb2F0LAogCi0g
ICAgLy8gRGVwdGggYW5kIHN0ZW5jaWwgZm9ybWF0cworICAgIC8vIERlcHRoL3N0ZW5jaWwgZm9y
bWF0cwogICAgIFN0ZW5jaWw4LAogICAgIERlcHRoMTZ1bm9ybSwKICAgICBEZXB0aDI0cGx1cywK
ICAgICBEZXB0aDI0cGx1c1N0ZW5jaWw4LAogICAgIERlcHRoMzJmbG9hdCwKIAorICAgIC8vIGRl
cHRoMjR1bm9ybS1zdGVuY2lsOCBmZWF0dXJlCisgICAgRGVwdGgyNHVub3JtU3RlbmNpbDgsCisK
KyAgICAvLyBkZXB0aDMyZmxvYXQtc3RlbmNpbDggZmVhdHVyZQorICAgIERlcHRoMzJmbG9hdFN0
ZW5jaWw4LAorCiAgICAgLy8gQkMgY29tcHJlc3NlZCBmb3JtYXRzIHVzYWJsZSBpZiB0ZXh0dXJl
LWNvbXByZXNzaW9uLWJjIGlzIGJvdGgKICAgICAvLyBzdXBwb3J0ZWQgYnkgdGhlIGRldmljZS91
c2VyIGFnZW50IGFuZCBlbmFibGVkIGluIHJlcXVlc3REZXZpY2UuCiAgICAgQmMxUmdiYVVub3Jt
LApAQCAtMTQ1LDEyICsxNTEsNiBAQCBlbnVtIGNsYXNzIFRleHR1cmVGb3JtYXQgOiB1aW50OF90
IHsKICAgICBBc3RjMTJ4MTBVbm9ybVNSR0IsCiAgICAgQXN0YzEyeDEyVW5vcm0sCiAgICAgQXN0
YzEyeDEyVW5vcm1TUkdCLAotCi0gICAgLy8gZGVwdGgyNHVub3JtLXN0ZW5jaWw4IGZlYXR1cmUK
LSAgICBEZXB0aDI0dW5vcm1TdGVuY2lsOCwKLQotICAgIC8vIGRlcHRoMzJmbG9hdC1zdGVuY2ls
OCBmZWF0dXJlCi0gICAgRGVwdGgzMmZsb2F0U3RlbmNpbDgsCiB9OwogCiB9IC8vIG5hbWVzcGFj
ZSBQQUw6OldlYkdQVQpAQCAtMjAxLDYgKzIwMSw4IEBAIHRlbXBsYXRlPD4gc3RydWN0IEVudW1U
cmFpdHM8UEFMOjpXZWJHUFU6OlRleHR1cmVGb3JtYXQ+IHsKICAgICAgICAgUEFMOjpXZWJHUFU6
OlRleHR1cmVGb3JtYXQ6OkRlcHRoMjRwbHVzLAogICAgICAgICBQQUw6OldlYkdQVTo6VGV4dHVy
ZUZvcm1hdDo6RGVwdGgyNHBsdXNTdGVuY2lsOCwKICAgICAgICAgUEFMOjpXZWJHUFU6OlRleHR1
cmVGb3JtYXQ6OkRlcHRoMzJmbG9hdCwKKyAgICAgICAgUEFMOjpXZWJHUFU6OlRleHR1cmVGb3Jt
YXQ6OkRlcHRoMjR1bm9ybVN0ZW5jaWw4LAorICAgICAgICBQQUw6OldlYkdQVTo6VGV4dHVyZUZv
cm1hdDo6RGVwdGgzMmZsb2F0U3RlbmNpbDgsCiAgICAgICAgIFBBTDo6V2ViR1BVOjpUZXh0dXJl
Rm9ybWF0OjpCYzFSZ2JhVW5vcm0sCiAgICAgICAgIFBBTDo6V2ViR1BVOjpUZXh0dXJlRm9ybWF0
OjpCYzFSZ2JhVW5vcm1TUkdCLAogICAgICAgICBQQUw6OldlYkdQVTo6VGV4dHVyZUZvcm1hdDo6
QmMyUmdiYVVub3JtLApAQCAtMjUyLDkgKzI1NCw3IEBAIHRlbXBsYXRlPD4gc3RydWN0IEVudW1U
cmFpdHM8UEFMOjpXZWJHUFU6OlRleHR1cmVGb3JtYXQ+IHsKICAgICAgICAgUEFMOjpXZWJHUFU6
OlRleHR1cmVGb3JtYXQ6OkFzdGMxMngxMFVub3JtLAogICAgICAgICBQQUw6OldlYkdQVTo6VGV4
dHVyZUZvcm1hdDo6QXN0YzEyeDEwVW5vcm1TUkdCLAogICAgICAgICBQQUw6OldlYkdQVTo6VGV4
dHVyZUZvcm1hdDo6QXN0YzEyeDEyVW5vcm0sCi0gICAgICAgIFBBTDo6V2ViR1BVOjpUZXh0dXJl
Rm9ybWF0OjpBc3RjMTJ4MTJVbm9ybVNSR0IsCi0gICAgICAgIFBBTDo6V2ViR1BVOjpUZXh0dXJl
Rm9ybWF0OjpEZXB0aDI0dW5vcm1TdGVuY2lsOCwKLSAgICAgICAgUEFMOjpXZWJHUFU6OlRleHR1
cmVGb3JtYXQ6OkRlcHRoMzJmbG9hdFN0ZW5jaWw4CisgICAgICAgIFBBTDo6V2ViR1BVOjpUZXh0
dXJlRm9ybWF0OjpBc3RjMTJ4MTJVbm9ybVNSR0IKICAgICA+OwogfTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApp
bmRleCA2MTQyZDI0M2RiMjg4MGM1MWVmZWY1OGEwNGM5YjBiYTc1M2Y2MDQxLi4xYWUyYzU3OGY5
MTA1MTFmY2EwZjE2ZjVkODM5OThmM2RiNDc0OWQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApAQCAtMzE4MSw2
ICszMTgxLDcgQEAgSlNHUFVDb21tYW5kQnVmZmVyLmNwcAogSlNHUFVDb21tYW5kQnVmZmVyRGVz
Y3JpcHRvci5jcHAKIEpTR1BVQ29tbWFuZEVuY29kZXIuY3BwCiBKU0dQVUNvbW1hbmRFbmNvZGVy
RGVzY3JpcHRvci5jcHAKK0pTR1BVQ29tbWFuZHNNaXhpbi5jcHAKIEpTR1BVQ29tcGFyZUZ1bmN0
aW9uLmNwcAogSlNHUFVDb21waWxhdGlvbkluZm8uY3BwCiBKU0dQVUNvbXBpbGF0aW9uTWVzc2Fn
ZS5jcHAKQEAgLTMxOTIsNiArMzE5Myw3IEBAIEpTR1BVQ29tcHV0ZVBhc3NUaW1lc3RhbXBXcml0
ZS5jcHAKIEpTR1BVQ29tcHV0ZVBpcGVsaW5lLmNwcAogSlNHUFVDb21wdXRlUGlwZWxpbmVEZXNj
cmlwdG9yLmNwcAogSlNHUFVDdWxsTW9kZS5jcHAKK0pTR1BVRGVidWdDb21tYW5kc01peGluLmNw
cAogSlNHUFVEZXB0aFN0ZW5jaWxTdGF0ZS5jcHAKIEpTR1BVRGV2aWNlLmNwcAogSlNHUFVEZXZp
Y2VEZXNjcmlwdG9yLmNwcApAQCAtMzIyNyw3ICszMjI5LDYgQEAgSlNHUFVQaXBlbGluZUJhc2Uu
Y3BwCiBKU0dQVVBpcGVsaW5lRGVzY3JpcHRvckJhc2UuY3BwCiBKU0dQVVBpcGVsaW5lTGF5b3V0
LmNwcAogSlNHUFVQaXBlbGluZUxheW91dERlc2NyaXB0b3IuY3BwCi1KU0dQVVBpcGVsaW5lU3Rh
dGlzdGljTmFtZS5jcHAKIEpTR1BVUG93ZXJQcmVmZXJlbmNlLmNwcAogSlNHUFVQcmVkZWZpbmVk
Q29sb3JTcGFjZS5jcHAKIEpTR1BVUHJpbWl0aXZlU3RhdGUuY3BwCkBAIC0zMjU4LDYgKzMyNTks
NyBAQCBKU0dQVVNhbXBsZXJCaW5kaW5nTGF5b3V0LmNwcAogSlNHUFVTYW1wbGVyQmluZGluZ1R5
cGUuY3BwCiBKU0dQVVNhbXBsZXJEZXNjcmlwdG9yLmNwcAogSlNHUFVTaGFkZXJNb2R1bGUuY3Bw
CitKU0dQVVNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludC5jcHAKIEpTR1BVU2hhZGVyTW9kdWxl
RGVzY3JpcHRvci5jcHAKIEpTR1BVU2hhZGVyU3RhZ2UuY3BwCiBKU0dQVVN0ZW5jaWxGYWNlU3Rh
dGUuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKaW5kZXggYThkNzM2ODVlMGJiNGY0YTc1NGVkZTQ5MTc2YTMyYjgwZTJkMmRiYi4uYjRj
NjE0NjgyNWU4YjUzMzMzNzFhMzAzOTMwZDQwZGEzZWZkNTI5ZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNzMxNiw3ICs3MzE2
LDYgQEAKIAkJMUM5MDc4MDgyNzUxRkQ1MzAwNEVGMTY1IC8qIEpTR1BVRXh0ZW50M0REaWN0Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEpTR1BVRXh0ZW50M0REaWN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTFDOTA3ODA5Mjc1MUZENTMwMDRFRjE2NSAvKiBKU0dQVVF1ZXJ5U2V0LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEpTR1BVUXVlcnlTZXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMUM5MDc4MEEyNzUxRkQ1NDAwNEVGMTY1IC8qIEpTR1BVSW1hZ2VEYXRhTGF5b3V0LmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IEpTR1BVSW1hZ2VEYXRhTGF5b3V0LmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKLQkJMUM5MDc4MEIyNzUxRkQ1NDAwNEVGMTY1IC8qIEpTR1BVUGlwZWxp
bmVTdGF0aXN0aWNOYW1lLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTR1BVUGlwZWxpbmVTdGF0aXN0aWNO
YW1lLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDOTA3ODBDMjc1MUZENTQwMDRF
RjE2NSAvKiBKU0dQVUJ1ZmZlckJpbmRpbmdUeXBlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpT
R1BVQnVmZmVyQmluZGluZ1R5cGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkx
QzkwNzgwRDI3NTFGRDU1MDA0RUYxNjUgLyogSlNHUFVEZXZpY2UuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
SlNHUFVEZXZpY2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUM5MDc4MEUyNzUx
RkQ1NTAwNEVGMTY1IC8qIEpTR1BVU2FtcGxlckJpbmRpbmdUeXBlLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IEpTR1BVU2FtcGxlckJpbmRpbmdUeXBlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKQEAgLTc0NDYsNyArNzQ0NSw2IEBACiAJCTFDOTA3ODhBMjc1MUZEODYwMDRFRjE2NSAv
KiBKU0dQVVNhbXBsZXJEZXNjcmlwdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTR1BVU2FtcGxlckRl
c2NyaXB0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUM5MDc4OEIyNzUxRkQ4
NzAwNEVGMTY1IC8qIEpTR1BVQ29tcGFyZUZ1bmN0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTR1BV
Q29tcGFyZUZ1bmN0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDOTA3ODhD
Mjc1MUZEODcwMDRFRjE2NSAvKiBKU0dQVVN1cHBvcnRlZEZlYXR1cmVzLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEpTR1BVU3VwcG9ydGVkRmVhdHVyZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
LQkJMUM5MDc4OEQyNzUxRkQ4NzAwNEVGMTY1IC8qIEpTR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1l
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUM5MDc4OEUyNzUxRkQ4ODAwNEVGMTY1IC8q
IEpTR1BVRGV2aWNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTR1BVRGV2aWNlLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUM5MDc4OEYyNzUxRkQ4ODAwNEVGMTY1IC8qIEpT
R1BVQnVmZmVyRGVzY3JpcHRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0dQVUJ1ZmZlckRlc2NyaXB0
b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUM5MDc4OTAyNzUxRkQ4OTAwNEVG
MTY1IC8qIEpTR1BVT3JpZ2luM0REaWN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTR1BVT3Jp
Z2luM0REaWN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTc2NjQsNyArNzY2
Miw2IEBACiAJCTFDQTRGQ0VCMjczNTFGQjEwMDI3RkQ1QSAvKiBHUFVDb21tYW5kRW5jb2Rlci5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBHUFVDb21tYW5kRW5jb2Rlci5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTFDQTRGQ0VDMjczNTFGQjIwMDI3RkQ1QSAvKiBHUFVRdWVyeVNl
dERlc2NyaXB0b3IuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gdGV4dDsgcGF0aCA9IEdQVVF1ZXJ5U2V0RGVzY3JpcHRvci5pZGw7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDQTRGQ0VEMjczNTFGQjIwMDI3RkQ1QSAvKiBHUFVDb21t
YW5kRW5jb2Rlci5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSB0ZXh0OyBwYXRoID0gR1BVQ29tbWFuZEVuY29kZXIuaWRsOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwotCQkxQ0E0RkNFRTI3MzUxRkIyMDAyN0ZENUEgLyogR1BVUGlwZWxpbmVT
dGF0aXN0aWNOYW1lLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHRleHQ7IHBhdGggPSBHUFVQaXBlbGluZVN0YXRpc3RpY05hbWUuaWRsOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQ0E0RkNFRjI3MzUxRkIzMDAyN0ZENUEgLyogR1BV
UmVuZGVyQnVuZGxlRW5jb2RlckRlc2NyaXB0b3IuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEdQVVJlbmRlckJ1bmRsZUVu
Y29kZXJEZXNjcmlwdG9yLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNBNEZD
RjAyNzM1MUZCMzAwMjdGRDVBIC8qIEdQVUNvbG9yRGljdC5pZGwgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gR1BVQ29sb3JEaWN0
LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNBNEZDRjEyNzM1MUZCMzAwMjdG
RDVBIC8qIEdQVVJlbmRlckVuY29kZXJCYXNlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBHUFVSZW5kZXJFbmNvZGVyQmFz
ZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC03NzA2LDcgKzc3MDMsNiBAQAog
CQkxQ0E0RkQxNTI3MzUxRkMxMDAyN0ZENUEgLyogR1BVUmVuZGVyUGFzc1RpbWVzdGFtcExvY2F0
aW9uLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHRleHQ7IHBhdGggPSBHUFVSZW5kZXJQYXNzVGltZXN0YW1wTG9jYXRpb24uaWRsOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkxQ0E0RkQxNjI3MzUxRkMyMDAyN0ZENUEgLyogR1BVSW1h
Z2VDb3B5RXh0ZXJuYWxJbWFnZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gR1BVSW1hZ2VDb3B5RXh0ZXJuYWxJbWFnZS5p
ZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDQTRGRDE3MjczNTFGQzIwMDI3RkQ1
QSAvKiBHUFVSZW5kZXJQYXNzRGVzY3JpcHRvci5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gR1BVUmVuZGVyUGFzc0Rlc2Ny
aXB0b3IuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkxQ0E0RkQxODI3MzUxRkMz
MDAyN0ZENUEgLyogR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdQ
VVBpcGVsaW5lU3RhdGlzdGljTmFtZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkx
Q0E0RkQxOTI3MzUxRkMzMDAyN0ZENUEgLyogR1BVQ29tbWFuZEVuY29kZXJEZXNjcmlwdG9yLmlk
bCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7
IHBhdGggPSBHUFVDb21tYW5kRW5jb2RlckRlc2NyaXB0b3IuaWRsOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkxQ0E0RkQxQTI3MzUxRkMzMDAyN0ZENUEgLyogR1BVUmVuZGVyUGFzc1Rp
bWVzdGFtcFdyaXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdQVVJlbmRlclBhc3NUaW1lc3RhbXBXcml0
ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQ0E0RkQxQjI3MzUxRkM0MDAyN0ZE
NUEgLyogR1BVT3JpZ2luMkREaWN0LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBHUFVPcmlnaW4yRERpY3QuaWRsOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNzc2Myw2ICs3NzU5LDE2IEBACiAJCTFDRUFBNTJG
MjZGMzFBRjgwMDg2ODUwNyAvKiBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuaWRsICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IENT
U0ZvbnRQYWxldHRlVmFsdWVzUnVsZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTFDRUFBNTMwMjZGMzMxQzEwMDg2ODUwNyAvKiBDU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRl
Q29sb3JzVmFsdWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ1NTRm9udFBhbGV0dGVWYWx1ZXNP
dmVycmlkZUNvbG9yc1ZhbHVlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNF
QUE1MzEyNkYzMzFDMTAwODY4NTA3IC8qIENTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xv
cnNWYWx1ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29s
b3JzVmFsdWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUNFRjQ1QTUyN0JCMDk2
QTAwQzNBNkJDIC8qIEdQVVNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludC5pZGwgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gR1BV
U2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMUNFRjQ1QTcyN0JCMEEzRDAwQzNBNkJDIC8qIEdQVVNoYWRlck1vZHVsZUNvbXBpbGF0
aW9uSGludC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHUFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUNFRjQ1QTgyN0JCMEJFMTAwQzNBNkJD
IC8qIEdQVUNvbW1hbmRzTWl4aW4uaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEdQVUNvbW1hbmRzTWl4aW4uaWRsOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQ0VGNDVBOTI3QkIwRDM5MDBDM0E2QkMgLyogR1BV
RGVidWdDb21tYW5kc01peGluLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBHUFVEZWJ1Z0NvbW1hbmRzTWl4aW4uaWRsOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQ0VGNDVCMDI3QkI5MDdGMDBDM0E2QkMgLyog
SlNHUFVDb21tYW5kc01peGluLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTR1BVQ29tbWFuZHNNaXhpbi5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQ0VGNDVCMTI3QkI5MDdGMDBDM0E2QkMg
LyogSlNHUFVDb21tYW5kc01peGluLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTR1BVQ29tbWFu
ZHNNaXhpbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFDRUY0NUIyMjdCQjkw
ODAwMEMzQTZCQyAvKiBKU0dQVURlYnVnQ29tbWFuZHNNaXhpbi5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBKU0dQVURlYnVnQ29tbWFuZHNNaXhpbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTFDRUY0NUIzMjdCQjkwODEwMEMzQTZCQyAvKiBKU0dQVVNoYWRlck1vZHVsZUNvbXBp
bGF0aW9uSGludC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0dQVVNoYWRlck1vZHVsZUNvbXBpbGF0aW9u
SGludC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQ0VGNDVCNDI3QkI5MDgxMDBD
M0E2QkMgLyogSlNHUFVEZWJ1Z0NvbW1hbmRzTWl4aW4uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNHUFVE
ZWJ1Z0NvbW1hbmRzTWl4aW4uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUNFRjQ1
QjUyN0JCOTA4MjAwQzNBNkJDIC8qIEpTR1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50LmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTR1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50LmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNGMEJGRDQyMjk4NzA2ODAwRUQyMDc0
IC8qIFRleHRTaXplQWRqdXN0bWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBUZXh0U2l6ZUFk
anVzdG1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQ0YxOEYzQzI2QkI1
QUYyMDA0QjE3MjIgLyogTG9nSW5pdGlhbGl6YXRpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
TG9nSW5pdGlhbGl6YXRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQ0ZB
RTMyMjBBNkQ2QTNGMDAzMjU5M0QgLyogbGlib2JqYy5keWxpYiAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9ICJjb21waWxlZC5tYWNoLW8uZHlsaWIiOyBu
YW1lID0gbGlib2JqYy5keWxpYjsgcGF0aCA9IC91c3IvbGliL2xpYm9iamMuZHlsaWI7IHNvdXJj
ZVRyZWUgPSAiPGFic29sdXRlPiI7IH07CkBAIC0yMDA3Miw2ICsyMDA3OCw3IEBACiAJCQkJMUNB
NEZDRUQyNzM1MUZCMjAwMjdGRDVBIC8qIEdQVUNvbW1hbmRFbmNvZGVyLmlkbCAqLywKIAkJCQkx
Q0E0RkNGRTI3MzUxRkI5MDAyN0ZENUEgLyogR1BVQ29tbWFuZEVuY29kZXJEZXNjcmlwdG9yLmgg
Ki8sCiAJCQkJMUNBNEZEMTkyNzM1MUZDMzAwMjdGRDVBIC8qIEdQVUNvbW1hbmRFbmNvZGVyRGVz
Y3JpcHRvci5pZGwgKi8sCisJCQkJMUNFRjQ1QTgyN0JCMEJFMTAwQzNBNkJDIC8qIEdQVUNvbW1h
bmRzTWl4aW4uaWRsICovLAogCQkJCTFDQTRGQzU5MjczNEVCQ0QwMDI3RkQ1QSAvKiBHUFVDb21w
YXJlRnVuY3Rpb24uaCAqLywKIAkJCQkxQ0E0RkM1QjI3MzRFQkNFMDAyN0ZENUEgLyogR1BVQ29t
cGFyZUZ1bmN0aW9uLmlkbCAqLywKIAkJCQkxQ0E0RkNFMjI3MzUxMjNBMDAyN0ZENUEgLyogR1BV
Q29tcGlsYXRpb25JbmZvLmNwcCAqLywKQEAgLTIwMDk4LDYgKzIwMTA1LDcgQEAKIAkJCQkxQ0E0
RkNCNDI3MzUwQ0VCMDAyN0ZENUEgLyogR1BVQ29tcHV0ZVBpcGVsaW5lRGVzY3JpcHRvci5pZGwg
Ki8sCiAJCQkJMUNBNEZDQTMyNzM1MENFNTAwMjdGRDVBIC8qIEdQVUN1bGxNb2RlLmggKi8sCiAJ
CQkJMUNBNEZDQ0UyNzM1MENGNTAwMjdGRDVBIC8qIEdQVUN1bGxNb2RlLmlkbCAqLywKKwkJCQkx
Q0VGNDVBOTI3QkIwRDM5MDBDM0E2QkMgLyogR1BVRGVidWdDb21tYW5kc01peGluLmlkbCAqLywK
IAkJCQkxQ0E0RkNENDI3MzUwQ0Y4MDAyN0ZENUEgLyogR1BVRGVwdGhTdGVuY2lsU3RhdGUuaCAq
LywKIAkJCQkxQ0E0RkNERDI3MzUwQ0ZCMDAyN0ZENUEgLyogR1BVRGVwdGhTdGVuY2lsU3RhdGUu
aWRsICovLAogCQkJCTFDMjg5NTdGMjcyRjQzRDgwMEIzRTJCNCAvKiBHUFVEZXZpY2UuY3BwICov
LApAQCAtMjAxNjksOCArMjAxNzcsNiBAQAogCQkJCTFDQTRGQzZFMjczNEY5RjYwMDI3RkQ1QSAv
KiBHUFVQaXBlbGluZUxheW91dC5pZGwgKi8sCiAJCQkJMUNBNEZDNzMyNzM0RjlGODAwMjdGRDVB
IC8qIEdQVVBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvci5oICovLAogCQkJCTFDQTRGQzY3MjczNEY5
RjQwMDI3RkQ1QSAvKiBHUFVQaXBlbGluZUxheW91dERlc2NyaXB0b3IuaWRsICovLAotCQkJCTFD
QTRGRDE4MjczNTFGQzMwMDI3RkQ1QSAvKiBHUFVQaXBlbGluZVN0YXRpc3RpY05hbWUuaCAqLywK
LQkJCQkxQ0E0RkNFRTI3MzUxRkIyMDAyN0ZENUEgLyogR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1l
LmlkbCAqLywKIAkJCQkxQzI4OTU4MjI3MkY0OEYyMDBCM0UyQjQgLyogR1BVUG93ZXJQcmVmZXJl
bmNlLmggKi8sCiAJCQkJMUMyODk1NjkyNzJGMjc0NzAwQjNFMkI0IC8qIEdQVVBvd2VyUHJlZmVy
ZW5jZS5pZGwgKi8sCiAJCQkJMUMyODk1OEIyNzJGNUFGNTAwQjNFMkI0IC8qIEdQVVByZWRlZmlu
ZWRDb2xvclNwYWNlLmggKi8sCkBAIC0yMDIzNyw2ICsyMDI0Myw4IEBACiAJCQkJMUNBNEZDQTUy
NzM1MENFNjAwMjdGRDVBIC8qIEdQVVNoYWRlck1vZHVsZS5jcHAgKi8sCiAJCQkJMUNBNEZDRDUy
NzM1MENGODAwMjdGRDVBIC8qIEdQVVNoYWRlck1vZHVsZS5oICovLAogCQkJCTFDQTRGQ0E3Mjcz
NTBDRTYwMDI3RkQ1QSAvKiBHUFVTaGFkZXJNb2R1bGUuaWRsICovLAorCQkJCTFDRUY0NUE3MjdC
QjBBM0QwMEMzQTZCQyAvKiBHUFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQuaCAqLywKKwkJ
CQkxQ0VGNDVBNTI3QkIwOTZBMDBDM0E2QkMgLyogR1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25I
aW50LmlkbCAqLywKIAkJCQkxQ0E0RkNCMTI3MzUwQ0VBMDAyN0ZENUEgLyogR1BVU2hhZGVyTW9k
dWxlRGVzY3JpcHRvci5oICovLAogCQkJCTFDQTRGQ0FDMjczNTBDRTgwMDI3RkQ1QSAvKiBHUFVT
aGFkZXJNb2R1bGVEZXNjcmlwdG9yLmlkbCAqLywKIAkJCQkxQ0E0RkM2QTI3MzRGOUY1MDAyN0ZE
NUEgLyogR1BVU2hhZGVyU3RhZ2UuaCAqLywKQEAgLTIzNTAyLDYgKzIzNTEwLDggQEAKIAkJCQkx
QzkwNzg0RTI3NTFGRDZGMDA0RUYxNjUgLyogSlNHUFVDb21tYW5kRW5jb2Rlci5oICovLAogCQkJ
CTFDOTA3N0U0Mjc1MUZENDQwMDRFRjE2NSAvKiBKU0dQVUNvbW1hbmRFbmNvZGVyRGVzY3JpcHRv
ci5jcHAgKi8sCiAJCQkJMUM5MDc4NUUyNzUxRkQ3NTAwNEVGMTY1IC8qIEpTR1BVQ29tbWFuZEVu
Y29kZXJEZXNjcmlwdG9yLmggKi8sCisJCQkJMUNFRjQ1QjEyN0JCOTA3RjAwQzNBNkJDIC8qIEpT
R1BVQ29tbWFuZHNNaXhpbi5jcHAgKi8sCisJCQkJMUNFRjQ1QjAyN0JCOTA3RjAwQzNBNkJDIC8q
IEpTR1BVQ29tbWFuZHNNaXhpbi5oICovLAogCQkJCTFDOTA3ODdCMjc1MUZEODAwMDRFRjE2NSAv
KiBKU0dQVUNvbXBhcmVGdW5jdGlvbi5jcHAgKi8sCiAJCQkJMUM5MDc4OEIyNzUxRkQ4NzAwNEVG
MTY1IC8qIEpTR1BVQ29tcGFyZUZ1bmN0aW9uLmggKi8sCiAJCQkJMUM5MDc4OTEyNzUxRkQ4OTAw
NEVGMTY1IC8qIEpTR1BVQ29tcGlsYXRpb25JbmZvLmNwcCAqLywKQEAgLTIzNTI0LDYgKzIzNTM0
LDggQEAKIAkJCQkxQzkwNzg3MDI3NTFGRDdDMDA0RUYxNjUgLyogSlNHUFVDb21wdXRlUGlwZWxp
bmVEZXNjcmlwdG9yLmggKi8sCiAJCQkJMUM5MDc4NTkyNzUxRkQ3MzAwNEVGMTY1IC8qIEpTR1BV
Q3VsbE1vZGUuY3BwICovLAogCQkJCTFDOTA3N0U4Mjc1MUZENDYwMDRFRjE2NSAvKiBKU0dQVUN1
bGxNb2RlLmggKi8sCisJCQkJMUNFRjQ1QjIyN0JCOTA4MDAwQzNBNkJDIC8qIEpTR1BVRGVidWdD
b21tYW5kc01peGluLmNwcCAqLywKKwkJCQkxQ0VGNDVCNDI3QkI5MDgxMDBDM0E2QkMgLyogSlNH
UFVEZWJ1Z0NvbW1hbmRzTWl4aW4uaCAqLywKIAkJCQkxQzkwNzg5NDI3NTFGRDhBMDA0RUYxNjUg
LyogSlNHUFVEZXB0aFN0ZW5jaWxTdGF0ZS5jcHAgKi8sCiAJCQkJMUM5MDc4OTkyNzUxRkQ4QzAw
NEVGMTY1IC8qIEpTR1BVRGVwdGhTdGVuY2lsU3RhdGUuaCAqLywKIAkJCQkxQzkwNzg4RTI3NTFG
RDg4MDA0RUYxNjUgLyogSlNHUFVEZXZpY2UuY3BwICovLApAQCAtMjM1OTQsOCArMjM2MDYsNiBA
QAogCQkJCTFDOTA3OEMwMjc1MUZEOUIwMDRFRjE2NSAvKiBKU0dQVVBpcGVsaW5lTGF5b3V0Lmgg
Ki8sCiAJCQkJMUM5MDc4NTAyNzUxRkQ2RjAwNEVGMTY1IC8qIEpTR1BVUGlwZWxpbmVMYXlvdXRE
ZXNjcmlwdG9yLmNwcCAqLywKIAkJCQkxQzkwNzdGQTI3NTFGRDREMDA0RUYxNjUgLyogSlNHUFVQ
aXBlbGluZUxheW91dERlc2NyaXB0b3IuaCAqLywKLQkJCQkxQzkwNzg4RDI3NTFGRDg3MDA0RUYx
NjUgLyogSlNHUFVQaXBlbGluZVN0YXRpc3RpY05hbWUuY3BwICovLAotCQkJCTFDOTA3ODBCMjc1
MUZENTQwMDRFRjE2NSAvKiBKU0dQVVBpcGVsaW5lU3RhdGlzdGljTmFtZS5oICovLAogCQkJCTFD
OTA3ODdFMjc1MUZEODIwMDRFRjE2NSAvKiBKU0dQVVBvd2VyUHJlZmVyZW5jZS5jcHAgKi8sCiAJ
CQkJMUM5MDc4OUUyNzUxRkQ4RTAwNEVGMTY1IC8qIEpTR1BVUG93ZXJQcmVmZXJlbmNlLmggKi8s
CiAJCQkJMUM5MDc4NTUyNzUxRkQ3MTAwNEVGMTY1IC8qIEpTR1BVUHJlZGVmaW5lZENvbG9yU3Bh
Y2UuY3BwICovLApAQCAtMjM2NTYsNiArMjM2NjYsOCBAQAogCQkJCTFDOTA3ODhBMjc1MUZEODYw
MDRFRjE2NSAvKiBKU0dQVVNhbXBsZXJEZXNjcmlwdG9yLmggKi8sCiAJCQkJMUM5MDc4NTcyNzUx
RkQ3MjAwNEVGMTY1IC8qIEpTR1BVU2hhZGVyTW9kdWxlLmNwcCAqLywKIAkJCQkxQzkwNzhBNTI3
NTFGRDkxMDA0RUYxNjUgLyogSlNHUFVTaGFkZXJNb2R1bGUuaCAqLywKKwkJCQkxQ0VGNDVCNTI3
QkI5MDgyMDBDM0E2QkMgLyogSlNHUFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQuY3BwICov
LAorCQkJCTFDRUY0NUIzMjdCQjkwODEwMEMzQTZCQyAvKiBKU0dQVVNoYWRlck1vZHVsZUNvbXBp
bGF0aW9uSGludC5oICovLAogCQkJCTFDOTA3N0U5Mjc1MUZENDYwMDRFRjE2NSAvKiBKU0dQVVNo
YWRlck1vZHVsZURlc2NyaXB0b3IuY3BwICovLAogCQkJCTFDOTA3ODM5Mjc1MUZENjYwMDRFRjE2
NSAvKiBKU0dQVVNoYWRlck1vZHVsZURlc2NyaXB0b3IuaCAqLywKIAkJCQkxQzkwNzg3MjI3NTFG
RDdEMDA0RUYxNjUgLyogSlNHUFVTaGFkZXJTdGFnZS5jcHAgKi8sCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai94Y3NoYXJlZGRhdGEveGNzY2hlbWVzL1dlYkNv
cmUueGNzY2hlbWUgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai94Y3NoYXJlZGRh
dGEveGNzY2hlbWVzL1dlYkNvcmUueGNzY2hlbWUKaW5kZXggMTU4MmUxYTNjNTZkZjllNzgyMDBk
OTlhOTk4NjgwNTkxYjRjZGYwYi4uMDdlOTQxOWY1ZjI2ZjcxZmU4YjRhYmQ3YWQzY2JkOWU5ZTZh
M2FlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2oveGNzaGFy
ZWRkYXRhL3hjc2NoZW1lcy9XZWJDb3JlLnhjc2NoZW1lCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3hjc2hhcmVkZGF0YS94Y3NjaGVtZXMvV2ViQ29yZS54Y3NjaGVtZQpA
QCAtNDAsNiArNDAsMTEgQEAKICAgICAgIGRlYnVnRG9jdW1lbnRWZXJzaW9uaW5nID0gIllFUyIK
ICAgICAgIGRlYnVnU2VydmljZUV4dGVuc2lvbiA9ICJpbnRlcm5hbCIKICAgICAgIGFsbG93TG9j
YXRpb25TaW11bGF0aW9uID0gIllFUyI+CisgICAgICA8UGF0aFJ1bm5hYmxlCisgICAgICAgICBy
dW5uYWJsZURlYnVnZ2luZ01vZGUgPSAiMCIKKyAgICAgICAgIEJ1bmRsZUlkZW50aWZpZXIgPSAi
b3JnLndlYmtpdC5NaW5pQnJvd3NlciIKKyAgICAgICAgIEZpbGVQYXRoID0gIi9Vc2Vycy9tbWF4
ZmllbGQvQnVpbGQvUHJvZHVjdHMvRGVidWcvTWluaUJyb3dzZXIuYXBwIj4KKyAgICAgIDwvUGF0
aFJ1bm5hYmxlPgogICAgPC9MYXVuY2hBY3Rpb24+CiAgICA8UHJvZmlsZUFjdGlvbgogICAgICAg
YnVpbGRDb25maWd1cmF0aW9uID0gIlJlbGVhc2UiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViR1BV
L1dlYkdQVS9BZGFwdGVyLmggYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9BZGFwdGVyLmgKaW5kZXgg
ZTdkNDM0OTg4NmU2NzkxYzVjNWJkODM3MzM0YmM1NTJiMWJkZWQwNC4uOGNhNGUwZjBlNGI5N2Vl
MGE0Nzg4YmI4YzQ3NmZiNTI3NGZiYjMyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkdQVS9XZWJH
UFUvQWRhcHRlci5oCisrKyBiL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0FkYXB0ZXIuaApAQCAtNDUs
MTAgKzQ1LDEwIEBAIHB1YmxpYzoKIAogICAgIH5BZGFwdGVyKCk7CiAKKyAgICBzaXplX3QgZW51
bWVyYXRlRmVhdHVyZXMoV0dQVUZlYXR1cmVOYW1lKiBmZWF0dXJlcyk7CiAgICAgYm9vbCBnZXRM
aW1pdHMoV0dQVVN1cHBvcnRlZExpbWl0cyopOwogICAgIHZvaWQgZ2V0UHJvcGVydGllcyhXR1BV
QWRhcHRlclByb3BlcnRpZXMqKTsKICAgICBib29sIGhhc0ZlYXR1cmUoV0dQVUZlYXR1cmVOYW1l
KTsKLSAgICBXR1BVRmVhdHVyZU5hbWUgZ2V0RmVhdHVyZUF0SW5kZXgoc2l6ZV90KTsKICAgICB2
b2lkIHJlcXVlc3REZXZpY2UoY29uc3QgV0dQVURldmljZURlc2NyaXB0b3IqLCBXVEY6OkZ1bmN0
aW9uPHZvaWQoV0dQVVJlcXVlc3REZXZpY2VTdGF0dXMsIFJlZjxEZXZpY2U+JiYsIGNvbnN0IGNo
YXIqKT4mJiBjYWxsYmFjayk7CiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViR1BV
L1dlYkdQVS9BZGFwdGVyLm1tIGIvU291cmNlL1dlYkdQVS9XZWJHUFUvQWRhcHRlci5tbQppbmRl
eCBlZTFiYjI4ZTI3ZTBkYzNiNzU4ZTZkOWU3NmM2NzNlZTVjMzE1YTQ0Li5lMjk0M2NjNGI1NDdh
OGUzYjYxNTY0ZGJlMDI4YzFlZDlmMWVmNjEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViR1BVL1dl
YkdQVS9BZGFwdGVyLm1tCisrKyBiL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0FkYXB0ZXIubW0KQEAg
LTM2LDYgKzM2LDEyIEBAIEFkYXB0ZXI6OkFkYXB0ZXIoKSA9IGRlZmF1bHQ7CiAKIEFkYXB0ZXI6
On5BZGFwdGVyKCkgPSBkZWZhdWx0OwogCitzaXplX3QgQWRhcHRlcjo6ZW51bWVyYXRlRmVhdHVy
ZXMoV0dQVUZlYXR1cmVOYW1lKiBmZWF0dXJlcykKK3sKKyAgICBVTlVTRURfUEFSQU0oZmVhdHVy
ZXMpOworICAgIHJldHVybiAwOworfQorCiBib29sIEFkYXB0ZXI6OmdldExpbWl0cyhXR1BVU3Vw
cG9ydGVkTGltaXRzKiBsaW1pdHMpCiB7CiAgICAgVU5VU0VEX1BBUkFNKGxpbWl0cyk7CkBAIC01
MywxMiArNTksNiBAQCBib29sIEFkYXB0ZXI6Omhhc0ZlYXR1cmUoV0dQVUZlYXR1cmVOYW1lIGZl
YXR1cmUpCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi1XR1BVRmVhdHVyZU5hbWUgQWRhcHRlcjo6
Z2V0RmVhdHVyZUF0SW5kZXgoc2l6ZV90IGluZGV4KQotewotICAgIFVOVVNFRF9QQVJBTShpbmRl
eCk7Ci0gICAgcmV0dXJuIFdHUFVGZWF0dXJlTmFtZV9VbmRlZmluZWQ7Ci19Ci0KIHZvaWQgQWRh
cHRlcjo6cmVxdWVzdERldmljZShjb25zdCBXR1BVRGV2aWNlRGVzY3JpcHRvciogZGVzY3JpcHRv
ciwgV1RGOjpGdW5jdGlvbjx2b2lkKFdHUFVSZXF1ZXN0RGV2aWNlU3RhdHVzLCBSZWY8RGV2aWNl
PiYmLCBjb25zdCBjaGFyKik+JiYgY2FsbGJhY2spCiB7CiAgICAgVU5VU0VEX1BBUkFNKGRlc2Ny
aXB0b3IpOwpAQCAtNzIsNiArNzIsMTEgQEAgdm9pZCB3Z3B1QWRhcHRlclJlbGVhc2UoV0dQVUFk
YXB0ZXIgYWRhcHRlcikKICAgICBkZWxldGUgYWRhcHRlcjsKIH0KIAorc2l6ZV90IHdncHVBZGFw
dGVyRW51bWVyYXRlRmVhdHVyZXMoV0dQVUFkYXB0ZXIgYWRhcHRlciwgV0dQVUZlYXR1cmVOYW1l
KiBmZWF0dXJlcykKK3sKKyAgICByZXR1cm4gYWRhcHRlci0+YWRhcHRlci0+ZW51bWVyYXRlRmVh
dHVyZXMoZmVhdHVyZXMpOworfQorCiBib29sIHdncHVBZGFwdGVyR2V0TGltaXRzKFdHUFVBZGFw
dGVyIGFkYXB0ZXIsIFdHUFVTdXBwb3J0ZWRMaW1pdHMqIGxpbWl0cykKIHsKICAgICByZXR1cm4g
YWRhcHRlci0+YWRhcHRlci0+Z2V0TGltaXRzKGxpbWl0cyk7CkBAIC04NywxMSArOTIsNiBAQCBi
b29sIHdncHVBZGFwdGVySGFzRmVhdHVyZShXR1BVQWRhcHRlciBhZGFwdGVyLCBXR1BVRmVhdHVy
ZU5hbWUgZmVhdHVyZSkKICAgICByZXR1cm4gYWRhcHRlci0+YWRhcHRlci0+aGFzRmVhdHVyZShm
ZWF0dXJlKTsKIH0KIAotV0dQVUZlYXR1cmVOYW1lIHdncHVBZGFwdGVyR2V0RmVhdHVyZUF0SW5k
ZXgoV0dQVUFkYXB0ZXIgYWRhcHRlciwgc2l6ZV90IGluZGV4KQotewotICAgIHJldHVybiBhZGFw
dGVyLT5hZGFwdGVyLT5nZXRGZWF0dXJlQXRJbmRleChpbmRleCk7Ci19Ci0KIHZvaWQgd2dwdUFk
YXB0ZXJSZXF1ZXN0RGV2aWNlKFdHUFVBZGFwdGVyIGFkYXB0ZXIsIGNvbnN0IFdHUFVEZXZpY2VE
ZXNjcmlwdG9yKiBkZXNjcmlwdG9yLCBXR1BVUmVxdWVzdERldmljZUNhbGxiYWNrIGNhbGxiYWNr
LCB2b2lkKiB1c2VyZGF0YSkKIHsKICAgICBhZGFwdGVyLT5hZGFwdGVyLT5yZXF1ZXN0RGV2aWNl
KGRlc2NyaXB0b3IsIFtjYWxsYmFjaywgdXNlcmRhdGFdIChXR1BVUmVxdWVzdERldmljZVN0YXR1
cyBzdGF0dXMsIFJlZjxXZWJHUFU6OkRldmljZT4mJiBkZXZpY2UsIGNvbnN0IGNoYXIqIG1lc3Nh
Z2UpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0NvbW1hbmRFbmNvZGVyLmgg
Yi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9Db21tYW5kRW5jb2Rlci5oCmluZGV4IDU5Y2I0MzEyZDM1
YmE5NDMzOGI4Y2U0YmY3ZDA0ZTUzOWYyOTlmNzcuLjkxMDU4ZmQ3MDM4NWY3MDFkMjNkN2Q1MmFk
YjM5ZTc4MDE0NGIwMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0NvbW1hbmRF
bmNvZGVyLmgKKysrIGIvU291cmNlL1dlYkdQVS9XZWJHUFUvQ29tbWFuZEVuY29kZXIuaApAQCAt
NTQsNyArNTQsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBjb3B5QnVmZmVyVG9UZXh0dXJlKGNvbnN0
IFdHUFVJbWFnZUNvcHlCdWZmZXIqIHNvdXJjZSwgY29uc3QgV0dQVUltYWdlQ29weVRleHR1cmUq
IGRlc3RpbmF0aW9uLCBjb25zdCBXR1BVRXh0ZW50M0QqIGNvcHlTaXplKTsKICAgICB2b2lkIGNv
cHlUZXh0dXJlVG9CdWZmZXIoY29uc3QgV0dQVUltYWdlQ29weVRleHR1cmUqIHNvdXJjZSwgY29u
c3QgV0dQVUltYWdlQ29weUJ1ZmZlciogZGVzdGluYXRpb24sIGNvbnN0IFdHUFVFeHRlbnQzRCog
Y29weVNpemUpOwogICAgIHZvaWQgY29weVRleHR1cmVUb1RleHR1cmUoY29uc3QgV0dQVUltYWdl
Q29weVRleHR1cmUqIHNvdXJjZSwgY29uc3QgV0dQVUltYWdlQ29weVRleHR1cmUqIGRlc3RpbmF0
aW9uLCBjb25zdCBXR1BVRXh0ZW50M0QqIGNvcHlTaXplKTsKLSAgICB2b2lkIGZpbGxCdWZmZXIo
Y29uc3QgQnVmZmVyJiBkZXN0aW5hdGlvbiwgdWludDY0X3QgZGVzdGluYXRpb25PZmZzZXQsIHVp
bnQ2NF90IHNpemUpOworICAgIHZvaWQgY2xlYXJCdWZmZXIoY29uc3QgQnVmZmVyJiBidWZmZXIs
IHVpbnQ2NF90IG9mZnNldCwgdWludDY0X3Qgc2l6ZSk7CiAgICAgUmVmPENvbW1hbmRCdWZmZXI+
IGZpbmlzaChjb25zdCBXR1BVQ29tbWFuZEJ1ZmZlckRlc2NyaXB0b3IqKTsKICAgICB2b2lkIGlu
c2VydERlYnVnTWFya2VyKGNvbnN0IGNoYXIqIG1hcmtlckxhYmVsKTsKICAgICB2b2lkIHBvcERl
YnVnR3JvdXAoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0NvbW1hbmRFbmNv
ZGVyLm1tIGIvU291cmNlL1dlYkdQVS9XZWJHUFUvQ29tbWFuZEVuY29kZXIubW0KaW5kZXggOGQz
OGUxNzlhNDQzOTdiZmY4MzYwZWY0MTRjOGY3MmYwMTViZGFmZi4uZGQ1Y2MzYjMzMGEwMjYyMDk2
ZjU0MTgzNGY2Y2M2ZjdlMmI0YjRiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkdQVS9XZWJHUFUv
Q29tbWFuZEVuY29kZXIubW0KKysrIGIvU291cmNlL1dlYkdQVS9XZWJHUFUvQ29tbWFuZEVuY29k
ZXIubW0KQEAgLTgxLDEwICs4MSwxMCBAQCB2b2lkIENvbW1hbmRFbmNvZGVyOjpjb3B5VGV4dHVy
ZVRvVGV4dHVyZShjb25zdCBXR1BVSW1hZ2VDb3B5VGV4dHVyZSogc291cmNlLCBjbwogICAgIFVO
VVNFRF9QQVJBTShjb3B5U2l6ZSk7CiB9CiAKLXZvaWQgQ29tbWFuZEVuY29kZXI6OmZpbGxCdWZm
ZXIoY29uc3QgQnVmZmVyJiBkZXN0aW5hdGlvbiwgdWludDY0X3QgZGVzdGluYXRpb25PZmZzZXQs
IHVpbnQ2NF90IHNpemUpCit2b2lkIENvbW1hbmRFbmNvZGVyOjpjbGVhckJ1ZmZlcihjb25zdCBC
dWZmZXImIGJ1ZmZlciwgdWludDY0X3Qgb2Zmc2V0LCB1aW50NjRfdCBzaXplKQogewotICAgIFVO
VVNFRF9QQVJBTShkZXN0aW5hdGlvbik7Ci0gICAgVU5VU0VEX1BBUkFNKGRlc3RpbmF0aW9uT2Zm
c2V0KTsKKyAgICBVTlVTRURfUEFSQU0oYnVmZmVyKTsKKyAgICBVTlVTRURfUEFSQU0ob2Zmc2V0
KTsKICAgICBVTlVTRURfUEFSQU0oc2l6ZSk7CiB9CiAKQEAgLTE2NSw5ICsxNjUsOSBAQCB2b2lk
IHdncHVDb21tYW5kRW5jb2RlckNvcHlUZXh0dXJlVG9UZXh0dXJlKFdHUFVDb21tYW5kRW5jb2Rl
ciBjb21tYW5kRW5jb2RlciwgYwogICAgIGNvbW1hbmRFbmNvZGVyLT5jb21tYW5kRW5jb2Rlci0+
Y29weVRleHR1cmVUb1RleHR1cmUoc291cmNlLCBkZXN0aW5hdGlvbiwgY29weVNpemUpOwogfQog
Ci12b2lkIHdncHVDb21tYW5kRW5jb2RlckZpbGxCdWZmZXIoV0dQVUNvbW1hbmRFbmNvZGVyIGNv
bW1hbmRFbmNvZGVyLCBXR1BVQnVmZmVyIGRlc3RpbmF0aW9uLCB1aW50NjRfdCBkZXN0aW5hdGlv
bk9mZnNldCwgdWludDY0X3Qgc2l6ZSkKK3ZvaWQgd2dwdUNvbW1hbmRFbmNvZGVyQ2xlYXJCdWZm
ZXIoV0dQVUNvbW1hbmRFbmNvZGVyIGNvbW1hbmRFbmNvZGVyLCBXR1BVQnVmZmVyIGJ1ZmZlciwg
dWludDY0X3Qgb2Zmc2V0LCB1aW50NjRfdCBzaXplKQogewotICAgIGNvbW1hbmRFbmNvZGVyLT5j
b21tYW5kRW5jb2Rlci0+ZmlsbEJ1ZmZlcihkZXN0aW5hdGlvbi0+YnVmZmVyLCBkZXN0aW5hdGlv
bk9mZnNldCwgc2l6ZSk7CisgICAgY29tbWFuZEVuY29kZXItPmNvbW1hbmRFbmNvZGVyLT5jbGVh
ckJ1ZmZlcihidWZmZXItPmJ1ZmZlciwgb2Zmc2V0LCBzaXplKTsKIH0KIAogV0dQVUNvbW1hbmRC
dWZmZXIgd2dwdUNvbW1hbmRFbmNvZGVyRmluaXNoKFdHUFVDb21tYW5kRW5jb2RlciBjb21tYW5k
RW5jb2RlciwgY29uc3QgV0dQVUNvbW1hbmRCdWZmZXJEZXNjcmlwdG9yKiBkZXNjcmlwdG9yKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkdQVS9XZWJHUFUvQ29tcHV0ZVBhc3NFbmNvZGVyLmggYi9T
b3VyY2UvV2ViR1BVL1dlYkdQVS9Db21wdXRlUGFzc0VuY29kZXIuaAppbmRleCAwYzY0YWQ5NjFj
Yjc2M2JiMGJlZDA2OThjYzJmZWZkMGJkOWJmODFmLi5kMDY0MzJiMjBkMmRiOGUyYjhlMmZiNDI4
ZGMwOGVlM2MwMDgyOTgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9Db21wdXRl
UGFzc0VuY29kZXIuaAorKysgYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9Db21wdXRlUGFzc0VuY29k
ZXIuaApAQCAtNTcsNyArNTcsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBwdXNoRGVidWdHcm91cChj
b25zdCBjaGFyKiBncm91cExhYmVsKTsKICAgICB2b2lkIHNldEJpbmRHcm91cCh1aW50MzJfdCBn
cm91cEluZGV4LCBjb25zdCBCaW5kR3JvdXAmLCB1aW50MzJfdCBkeW5hbWljT2Zmc2V0Q291bnQs
IGNvbnN0IHVpbnQzMl90KiBkeW5hbWljT2Zmc2V0cyk7CiAgICAgdm9pZCBzZXRQaXBlbGluZShj
b25zdCBDb21wdXRlUGlwZWxpbmUmKTsKLSAgICB2b2lkIHdyaXRlVGltZXN0YW1wKGNvbnN0IFF1
ZXJ5U2V0JiwgdWludDMyX3QgcXVlcnlJbmRleCk7CiAgICAgdm9pZCBzZXRMYWJlbChjb25zdCBj
aGFyKik7CiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9Db21w
dXRlUGFzc0VuY29kZXIubW0gYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9Db21wdXRlUGFzc0VuY29k
ZXIubW0KaW5kZXggYzExZDU0ZWQzNDQxNTZlM2Y1NWNlZWEzMWE3NzMzODgwMjMwZWUwYy4uODli
YTA0ZDUzZTlhNDA3ZWVjOGE3NjY2MjJmZWE1ZTU5ZTdhNTkxNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkdQVS9XZWJHUFUvQ29tcHV0ZVBhc3NFbmNvZGVyLm1tCisrKyBiL1NvdXJjZS9XZWJHUFUv
V2ViR1BVL0NvbXB1dGVQYXNzRW5jb2Rlci5tbQpAQCAtOTIsMTIgKzkyLDYgQEAgdm9pZCBDb21w
dXRlUGFzc0VuY29kZXI6OnNldFBpcGVsaW5lKGNvbnN0IENvbXB1dGVQaXBlbGluZSYgcGlwZWxp
bmUpCiAgICAgVU5VU0VEX1BBUkFNKHBpcGVsaW5lKTsKIH0KIAotdm9pZCBDb21wdXRlUGFzc0Vu
Y29kZXI6OndyaXRlVGltZXN0YW1wKGNvbnN0IFF1ZXJ5U2V0JiBxdWVyeVNldCwgdWludDMyX3Qg
cXVlcnlJbmRleCkKLXsKLSAgICBVTlVTRURfUEFSQU0ocXVlcnlTZXQpOwotICAgIFVOVVNFRF9Q
QVJBTShxdWVyeUluZGV4KTsKLX0KLQogdm9pZCBDb21wdXRlUGFzc0VuY29kZXI6OnNldExhYmVs
KGNvbnN0IGNoYXIqIGxhYmVsKQogewogICAgIFVOVVNFRF9QQVJBTShsYWJlbCk7CkBAIC0xNjAs
MTEgKzE1NCw2IEBAIHZvaWQgd2dwdUNvbXB1dGVQYXNzRW5jb2RlclNldFBpcGVsaW5lKFdHUFVD
b21wdXRlUGFzc0VuY29kZXIgY29tcHV0ZVBhc3NFbmNvZGVyCiAgICAgY29tcHV0ZVBhc3NFbmNv
ZGVyLT5jb21wdXRlUGFzc0VuY29kZXItPnNldFBpcGVsaW5lKHBpcGVsaW5lLT5jb21wdXRlUGlw
ZWxpbmUpOwogfQogCi12b2lkIHdncHVDb21wdXRlUGFzc0VuY29kZXJXcml0ZVRpbWVzdGFtcChX
R1BVQ29tcHV0ZVBhc3NFbmNvZGVyIGNvbXB1dGVQYXNzRW5jb2RlciwgV0dQVVF1ZXJ5U2V0IHF1
ZXJ5U2V0LCB1aW50MzJfdCBxdWVyeUluZGV4KQotewotICAgIGNvbXB1dGVQYXNzRW5jb2Rlci0+
Y29tcHV0ZVBhc3NFbmNvZGVyLT53cml0ZVRpbWVzdGFtcChxdWVyeVNldC0+cXVlcnlTZXQsIHF1
ZXJ5SW5kZXgpOwotfQotCiB2b2lkIHdncHVDb21wdXRlUGFzc0VuY29kZXJTZXRMYWJlbChXR1BV
Q29tcHV0ZVBhc3NFbmNvZGVyIGNvbXB1dGVQYXNzRW5jb2RlciwgY29uc3QgY2hhciogbGFiZWwp
CiB7CiAgICAgY29tcHV0ZVBhc3NFbmNvZGVyLT5jb21wdXRlUGFzc0VuY29kZXItPnNldExhYmVs
KGxhYmVsKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0RldmljZS5oIGIvU291
cmNlL1dlYkdQVS9XZWJHUFUvRGV2aWNlLmgKaW5kZXggMjg4N2FmZWFlNWJkNzQyMDZkYzI2NTIw
NzZkOTQ5ODBmMjYyMGE5Ni4uZGZkYjM1MzA4ZjdjM2NkMTc2ZTJmMGFkY2ZhOGMyZTZmYTcwOTY2
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkdQVS9XZWJHUFUvRGV2aWNlLmgKKysrIGIvU291cmNl
L1dlYkdQVS9XZWJHUFUvRGV2aWNlLmgKQEAgLTc1LDggKzc1LDEwIEBAIHB1YmxpYzoKICAgICBS
ZWY8U3dhcENoYWluPiBjcmVhdGVTd2FwQ2hhaW4oY29uc3QgU3VyZmFjZSYsIGNvbnN0IFdHUFVT
d2FwQ2hhaW5EZXNjcmlwdG9yKik7CiAgICAgUmVmPFRleHR1cmU+IGNyZWF0ZVRleHR1cmUoY29u
c3QgV0dQVVRleHR1cmVEZXNjcmlwdG9yKik7CiAgICAgdm9pZCBkZXN0cm95KCk7CisgICAgc2l6
ZV90IGVudW1lcmF0ZUZlYXR1cmVzKFdHUFVGZWF0dXJlTmFtZSogZmVhdHVyZXMpOwogICAgIGJv
b2wgZ2V0TGltaXRzKFdHUFVTdXBwb3J0ZWRMaW1pdHMqKTsKICAgICBSZWY8UXVldWU+IGdldFF1
ZXVlKCk7CisgICAgYm9vbCBoYXNGZWF0dXJlKFdHUFVGZWF0dXJlTmFtZSBmZWF0dXJlKTsKICAg
ICBib29sIHBvcEVycm9yU2NvcGUoV1RGOjpGdW5jdGlvbjx2b2lkKFdHUFVFcnJvclR5cGUsIGNv
bnN0IGNoYXIqKT4mJiBjYWxsYmFjayk7CiAgICAgdm9pZCBwdXNoRXJyb3JTY29wZShXR1BVRXJy
b3JGaWx0ZXIpOwogICAgIHZvaWQgc2V0RGV2aWNlTG9zdENhbGxiYWNrKFdURjo6RnVuY3Rpb248
dm9pZChXR1BVRGV2aWNlTG9zdFJlYXNvbiwgY29uc3QgY2hhciopPiYmKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJHUFUvV2ViR1BVL0RldmljZS5tbSBiL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0Rl
dmljZS5tbQppbmRleCBmMWE4NTRmZGIyYTk1NjQyNDlmNWIwZGQ1MzVlY2E0OGU1MWZhNTg0Li4x
NGY1NWNkNDBiMWJjN2FjM2U4ZTcyZWE1OTBkMDcxYTMyZmRlNzhiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViR1BVL1dlYkdQVS9EZXZpY2UubW0KKysrIGIvU291cmNlL1dlYkdQVS9XZWJHUFUvRGV2
aWNlLm1tCkBAIC0xNDUsNiArMTQ1LDEyIEBAIHZvaWQgRGV2aWNlOjpkZXN0cm95KCkKIHsKIH0K
IAorc2l6ZV90IERldmljZTo6ZW51bWVyYXRlRmVhdHVyZXMoV0dQVUZlYXR1cmVOYW1lKiBmZWF0
dXJlcykKK3sKKyAgICBVTlVTRURfUEFSQU0oZmVhdHVyZXMpOworICAgIHJldHVybiAwOworfQor
CiBib29sIERldmljZTo6Z2V0TGltaXRzKFdHUFVTdXBwb3J0ZWRMaW1pdHMqIGxpbWl0cykKIHsK
ICAgICBVTlVTRURfUEFSQU0obGltaXRzKTsKQEAgLTE1Niw2ICsxNjIsMTIgQEAgUmVmPFF1ZXVl
PiBEZXZpY2U6OmdldFF1ZXVlKCkKICAgICByZXR1cm4gUXVldWU6OmNyZWF0ZSgpOwogfQogCiti
b29sIERldmljZTo6aGFzRmVhdHVyZShXR1BVRmVhdHVyZU5hbWUgZmVhdHVyZSkKK3sKKyAgICBV
TlVTRURfUEFSQU0oZmVhdHVyZSk7CisgICAgcmV0dXJuIGZhbHNlOworfQorCiBib29sIERldmlj
ZTo6cG9wRXJyb3JTY29wZShXVEY6OkZ1bmN0aW9uPHZvaWQoV0dQVUVycm9yVHlwZSwgY29uc3Qg
Y2hhciopPiYmIGNhbGxiYWNrKQogewogICAgIFVOVVNFRF9QQVJBTShjYWxsYmFjayk7CkBAIC0y
NzMsNiArMjg1LDExIEBAIHZvaWQgd2dwdURldmljZURlc3Ryb3koV0dQVURldmljZSBkZXZpY2Up
CiAgICAgZGV2aWNlLT5kZXZpY2UtPmRlc3Ryb3koKTsKIH0KIAorc2l6ZV90IHdncHVEZXZpY2VF
bnVtZXJhdGVGZWF0dXJlcyhXR1BVRGV2aWNlIGRldmljZSwgV0dQVUZlYXR1cmVOYW1lKiBmZWF0
dXJlcykKK3sKKyAgICByZXR1cm4gZGV2aWNlLT5kZXZpY2UtPmVudW1lcmF0ZUZlYXR1cmVzKGZl
YXR1cmVzKTsKK30KKwogYm9vbCB3Z3B1RGV2aWNlR2V0TGltaXRzKFdHUFVEZXZpY2UgZGV2aWNl
LCBXR1BVU3VwcG9ydGVkTGltaXRzKiBsaW1pdHMpCiB7CiAgICAgcmV0dXJuIGRldmljZS0+ZGV2
aWNlLT5nZXRMaW1pdHMobGltaXRzKTsKQEAgLTI4Myw2ICszMDAsMTEgQEAgV0dQVVF1ZXVlIHdn
cHVEZXZpY2VHZXRRdWV1ZShXR1BVRGV2aWNlIGRldmljZSkKICAgICByZXR1cm4gbmV3IFdHUFVR
dWV1ZUltcGwgeyBkZXZpY2UtPmRldmljZS0+Z2V0UXVldWUoKSB9OwogfQogCitib29sIHdncHVE
ZXZpY2VIYXNGZWF0dXJlKFdHUFVEZXZpY2UgZGV2aWNlLCBXR1BVRmVhdHVyZU5hbWUgZmVhdHVy
ZSkKK3sKKyAgICByZXR1cm4gZGV2aWNlLT5kZXZpY2UtPmhhc0ZlYXR1cmUoZmVhdHVyZSk7Cit9
CisKIGJvb2wgd2dwdURldmljZVBvcEVycm9yU2NvcGUoV0dQVURldmljZSBkZXZpY2UsIFdHUFVF
cnJvckNhbGxiYWNrIGNhbGxiYWNrLCB2b2lkKiB1c2VyZGF0YSkKIHsKICAgICByZXR1cm4gZGV2
aWNlLT5kZXZpY2UtPnBvcEVycm9yU2NvcGUoW2NhbGxiYWNrLCB1c2VyZGF0YV0gKFdHUFVFcnJv
clR5cGUgdHlwZSwgY29uc3QgY2hhciogbWVzc2FnZSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkdQVS9XZWJHUFUvSW5zdGFuY2UubW0gYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9JbnN0YW5jZS5t
bQppbmRleCA1MDJiZTQ3OWIxYzk2ODAxYmIzMTNiNjAxODJkM2JlMmM5YjVlNTc1Li41MmNlMmE3
YzBmNjI2NWY1NjBjZTViNjc4OTk4ZTU4YjMyNzRkYjQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
R1BVL1dlYkdQVS9JbnN0YW5jZS5tbQorKysgYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9JbnN0YW5j
ZS5tbQpAQCAtNzIsMjYgKzcyLDE3IEBAIFdHUFVQcm9jIHdncHVHZXRQcm9jQWRkcmVzcyhXR1BV
RGV2aWNlIGRldmljZSwgY29uc3QgY2hhciogcHJvY05hbWUpCiB7CiAgICAgVU5VU0VEX1BBUkFN
KGRldmljZSk7CiAgICAgLy8gRklYTUU6IFVzZSBncGVyZiB0byBtYWtlIHRoaXMgZmFzdGVyLgot
ICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdUFkYXB0ZXJHZXRGZWF0dXJlQXRJbmRleCIp
KQotICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVBZGFwdGVy
R2V0RmVhdHVyZUF0SW5kZXgpOworICAgIC8vIEZJWE1FOiBHZW5lcmF0ZSB0aGlzIGF0IGJ1aWxk
IHRpbWUKKyAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVBZGFwdGVyRW51bWVyYXRlRmVh
dHVyZXMiKSkKKyAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1
QWRhcHRlckVudW1lcmF0ZUZlYXR1cmVzKTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndn
cHVBZGFwdGVyR2V0TGltaXRzIikpCiAgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdH
UFVQcm9jPigmd2dwdUFkYXB0ZXJHZXRMaW1pdHMpOwogICAgIGlmICghc3RyY21wKHByb2NOYW1l
LCAid2dwdUFkYXB0ZXJHZXRQcm9wZXJ0aWVzIikpCiAgICAgICAgIHJldHVybiByZWludGVycHJl
dF9jYXN0PFdHUFVQcm9jPigmd2dwdUFkYXB0ZXJHZXRQcm9wZXJ0aWVzKTsKICAgICBpZiAoIXN0
cmNtcChwcm9jTmFtZSwgIndncHVBZGFwdGVySGFzRmVhdHVyZSIpKQogICAgICAgICByZXR1cm4g
cmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVBZGFwdGVySGFzRmVhdHVyZSk7Ci0gICAg
aWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1QWRhcHRlclJlbGVhc2UiKSkKLSAgICAgICAgcmV0
dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1QWRhcHRlclJlbGVhc2UpOwogICAg
IGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdUFkYXB0ZXJSZXF1ZXN0RGV2aWNlIikpCiAgICAg
ICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdUFkYXB0ZXJSZXF1ZXN0
RGV2aWNlKTsKLSAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVCaW5kR3JvdXBMYXlvdXRS
ZWxlYXNlIikpCi0gICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dw
dUJpbmRHcm91cExheW91dFJlbGVhc2UpOwotICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dw
dUJpbmRHcm91cExheW91dFNldExhYmVsIikpCi0gICAgICAgIHJldHVybiByZWludGVycHJldF9j
YXN0PFdHUFVQcm9jPigmd2dwdUJpbmRHcm91cExheW91dFNldExhYmVsKTsKLSAgICBpZiAoIXN0
cmNtcChwcm9jTmFtZSwgIndncHVCaW5kR3JvdXBSZWxlYXNlIikpCi0gICAgICAgIHJldHVybiBy
ZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdUJpbmRHcm91cFJlbGVhc2UpOwotICAgIGlm
ICghc3RyY21wKHByb2NOYW1lLCAid2dwdUJpbmRHcm91cFNldExhYmVsIikpCi0gICAgICAgIHJl
dHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdUJpbmRHcm91cFNldExhYmVsKTsK
ICAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVCdWZmZXJEZXN0cm95IikpCiAgICAgICAg
IHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdUJ1ZmZlckRlc3Ryb3kpOwog
ICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdUJ1ZmZlckdldENvbnN0TWFwcGVkUmFuZ2Ui
KSkKQEAgLTEwMCwyMCArOTEsMTQgQEAgV0dQVVByb2Mgd2dwdUdldFByb2NBZGRyZXNzKFdHUFVE
ZXZpY2UgZGV2aWNlLCBjb25zdCBjaGFyKiBwcm9jTmFtZSkKICAgICAgICAgcmV0dXJuIHJlaW50
ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1QnVmZmVyR2V0TWFwcGVkUmFuZ2UpOwogICAgIGlm
ICghc3RyY21wKHByb2NOYW1lLCAid2dwdUJ1ZmZlck1hcEFzeW5jIikpCiAgICAgICAgIHJldHVy
biByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdUJ1ZmZlck1hcEFzeW5jKTsKLSAgICBp
ZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVCdWZmZXJSZWxlYXNlIikpCi0gICAgICAgIHJldHVy
biByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdUJ1ZmZlclJlbGVhc2UpOwotICAgIGlm
ICghc3RyY21wKHByb2NOYW1lLCAid2dwdUJ1ZmZlclNldExhYmVsIikpCi0gICAgICAgIHJldHVy
biByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdUJ1ZmZlclNldExhYmVsKTsKICAgICBp
ZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVCdWZmZXJVbm1hcCIpKQogICAgICAgICByZXR1cm4g
cmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVCdWZmZXJVbm1hcCk7Ci0gICAgaWYgKCFz
dHJjbXAocHJvY05hbWUsICJ3Z3B1Q29tbWFuZEJ1ZmZlclJlbGVhc2UiKSkKLSAgICAgICAgcmV0
dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1Q29tbWFuZEJ1ZmZlclJlbGVhc2Up
OwotICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdUNvbW1hbmRCdWZmZXJTZXRMYWJlbCIp
KQotICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVDb21tYW5k
QnVmZmVyU2V0TGFiZWwpOwogICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdUNvbW1hbmRF
bmNvZGVyQmVnaW5Db21wdXRlUGFzcyIpKQogICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2Fz
dDxXR1BVUHJvYz4oJndncHVDb21tYW5kRW5jb2RlckJlZ2luQ29tcHV0ZVBhc3MpOwogICAgIGlm
ICghc3RyY21wKHByb2NOYW1lLCAid2dwdUNvbW1hbmRFbmNvZGVyQmVnaW5SZW5kZXJQYXNzIikp
CiAgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdUNvbW1hbmRF
bmNvZGVyQmVnaW5SZW5kZXJQYXNzKTsKKyAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVD
b21tYW5kRW5jb2RlckNsZWFyQnVmZmVyIikpCisgICAgICAgIHJldHVybiByZWludGVycHJldF9j
YXN0PFdHUFVQcm9jPigmd2dwdUNvbW1hbmRFbmNvZGVyQ2xlYXJCdWZmZXIpOwogICAgIGlmICgh
c3RyY21wKHByb2NOYW1lLCAid2dwdUNvbW1hbmRFbmNvZGVyQ29weUJ1ZmZlclRvQnVmZmVyIikp
CiAgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdUNvbW1hbmRF
bmNvZGVyQ29weUJ1ZmZlclRvQnVmZmVyKTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndn
cHVDb21tYW5kRW5jb2RlckNvcHlCdWZmZXJUb1RleHR1cmUiKSkKQEAgLTEyMiw4ICsxMDcsNiBA
QCBXR1BVUHJvYyB3Z3B1R2V0UHJvY0FkZHJlc3MoV0dQVURldmljZSBkZXZpY2UsIGNvbnN0IGNo
YXIqIHByb2NOYW1lKQogICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4o
JndncHVDb21tYW5kRW5jb2RlckNvcHlUZXh0dXJlVG9CdWZmZXIpOwogICAgIGlmICghc3RyY21w
KHByb2NOYW1lLCAid2dwdUNvbW1hbmRFbmNvZGVyQ29weVRleHR1cmVUb1RleHR1cmUiKSkKICAg
ICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1Q29tbWFuZEVuY29k
ZXJDb3B5VGV4dHVyZVRvVGV4dHVyZSk7Ci0gICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1
Q29tbWFuZEVuY29kZXJGaWxsQnVmZmVyIikpCi0gICAgICAgIHJldHVybiByZWludGVycHJldF9j
YXN0PFdHUFVQcm9jPigmd2dwdUNvbW1hbmRFbmNvZGVyRmlsbEJ1ZmZlcik7CiAgICAgaWYgKCFz
dHJjbXAocHJvY05hbWUsICJ3Z3B1Q29tbWFuZEVuY29kZXJGaW5pc2giKSkKICAgICAgICAgcmV0
dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1Q29tbWFuZEVuY29kZXJGaW5pc2gp
OwogICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdUNvbW1hbmRFbmNvZGVySW5zZXJ0RGVi
dWdNYXJrZXIiKSkKQEAgLTEzMiwxMiArMTE1LDggQEAgV0dQVVByb2Mgd2dwdUdldFByb2NBZGRy
ZXNzKFdHUFVEZXZpY2UgZGV2aWNlLCBjb25zdCBjaGFyKiBwcm9jTmFtZSkKICAgICAgICAgcmV0
dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1Q29tbWFuZEVuY29kZXJQb3BEZWJ1
Z0dyb3VwKTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVDb21tYW5kRW5jb2RlclB1
c2hEZWJ1Z0dyb3VwIikpCiAgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9j
Pigmd2dwdUNvbW1hbmRFbmNvZGVyUHVzaERlYnVnR3JvdXApOwotICAgIGlmICghc3RyY21wKHBy
b2NOYW1lLCAid2dwdUNvbW1hbmRFbmNvZGVyUmVsZWFzZSIpKQotICAgICAgICByZXR1cm4gcmVp
bnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVDb21tYW5kRW5jb2RlclJlbGVhc2UpOwogICAg
IGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdUNvbW1hbmRFbmNvZGVyUmVzb2x2ZVF1ZXJ5U2V0
IikpCiAgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdUNvbW1h
bmRFbmNvZGVyUmVzb2x2ZVF1ZXJ5U2V0KTsKLSAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndn
cHVDb21tYW5kRW5jb2RlclNldExhYmVsIikpCi0gICAgICAgIHJldHVybiByZWludGVycHJldF9j
YXN0PFdHUFVQcm9jPigmd2dwdUNvbW1hbmRFbmNvZGVyU2V0TGFiZWwpOwogICAgIGlmICghc3Ry
Y21wKHByb2NOYW1lLCAid2dwdUNvbW1hbmRFbmNvZGVyV3JpdGVUaW1lc3RhbXAiKSkKICAgICAg
ICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1Q29tbWFuZEVuY29kZXJX
cml0ZVRpbWVzdGFtcCk7CiAgICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1Q29tcHV0ZVBh
c3NFbmNvZGVyQmVnaW5QaXBlbGluZVN0YXRpc3RpY3NRdWVyeSIpKQpAQCAtMTU2LDIwICsxMzUs
MTIgQEAgV0dQVVByb2Mgd2dwdUdldFByb2NBZGRyZXNzKFdHUFVEZXZpY2UgZGV2aWNlLCBjb25z
dCBjaGFyKiBwcm9jTmFtZSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVBy
b2M+KCZ3Z3B1Q29tcHV0ZVBhc3NFbmNvZGVyUG9wRGVidWdHcm91cCk7CiAgICAgaWYgKCFzdHJj
bXAocHJvY05hbWUsICJ3Z3B1Q29tcHV0ZVBhc3NFbmNvZGVyUHVzaERlYnVnR3JvdXAiKSkKICAg
ICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1Q29tcHV0ZVBhc3NF
bmNvZGVyUHVzaERlYnVnR3JvdXApOwotICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdUNv
bXB1dGVQYXNzRW5jb2RlclJlbGVhc2UiKSkKLSAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nh
c3Q8V0dQVVByb2M+KCZ3Z3B1Q29tcHV0ZVBhc3NFbmNvZGVyUmVsZWFzZSk7CiAgICAgaWYgKCFz
dHJjbXAocHJvY05hbWUsICJ3Z3B1Q29tcHV0ZVBhc3NFbmNvZGVyU2V0QmluZEdyb3VwIikpCiAg
ICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdUNvbXB1dGVQYXNz
RW5jb2RlclNldEJpbmRHcm91cCk7Ci0gICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1Q29t
cHV0ZVBhc3NFbmNvZGVyU2V0TGFiZWwiKSkKLSAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nh
c3Q8V0dQVVByb2M+KCZ3Z3B1Q29tcHV0ZVBhc3NFbmNvZGVyU2V0TGFiZWwpOwogICAgIGlmICgh
c3RyY21wKHByb2NOYW1lLCAid2dwdUNvbXB1dGVQYXNzRW5jb2RlclNldFBpcGVsaW5lIikpCiAg
ICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdUNvbXB1dGVQYXNz
RW5jb2RlclNldFBpcGVsaW5lKTsKLSAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVDb21w
dXRlUGFzc0VuY29kZXJXcml0ZVRpbWVzdGFtcCIpKQotICAgICAgICByZXR1cm4gcmVpbnRlcnBy
ZXRfY2FzdDxXR1BVUHJvYz4oJndncHVDb21wdXRlUGFzc0VuY29kZXJXcml0ZVRpbWVzdGFtcCk7
CiAgICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1Q29tcHV0ZVBpcGVsaW5lR2V0QmluZEdy
b3VwTGF5b3V0IikpCiAgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigm
d2dwdUNvbXB1dGVQaXBlbGluZUdldEJpbmRHcm91cExheW91dCk7Ci0gICAgaWYgKCFzdHJjbXAo
cHJvY05hbWUsICJ3Z3B1Q29tcHV0ZVBpcGVsaW5lUmVsZWFzZSIpKQotICAgICAgICByZXR1cm4g
cmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVDb21wdXRlUGlwZWxpbmVSZWxlYXNlKTsK
ICAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVDb21wdXRlUGlwZWxpbmVTZXRMYWJlbCIp
KQogICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVDb21wdXRl
UGlwZWxpbmVTZXRMYWJlbCk7CiAgICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1Q3JlYXRl
SW5zdGFuY2UiKSkKQEAgLTIwNiwyMCArMTc3LDIwIEBAIFdHUFVQcm9jIHdncHVHZXRQcm9jQWRk
cmVzcyhXR1BVRGV2aWNlIGRldmljZSwgY29uc3QgY2hhciogcHJvY05hbWUpCiAgICAgICAgIHJl
dHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdURldmljZUNyZWF0ZVRleHR1cmUp
OwogICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdURldmljZURlc3Ryb3kiKSkKICAgICAg
ICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1RGV2aWNlRGVzdHJveSk7
CisgICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1RGV2aWNlRW51bWVyYXRlRmVhdHVyZXMi
KSkKKyAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1RGV2aWNl
RW51bWVyYXRlRmVhdHVyZXMpOwogICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdURldmlj
ZUdldExpbWl0cyIpKQogICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4o
JndncHVEZXZpY2VHZXRMaW1pdHMpOwogICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdURl
dmljZUdldFF1ZXVlIikpCiAgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9j
Pigmd2dwdURldmljZUdldFF1ZXVlKTsKKyAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVE
ZXZpY2VIYXNGZWF0dXJlIikpCisgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQ
cm9jPigmd2dwdURldmljZUhhc0ZlYXR1cmUpOwogICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAi
d2dwdURldmljZVBvcEVycm9yU2NvcGUiKSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nh
c3Q8V0dQVVByb2M+KCZ3Z3B1RGV2aWNlUG9wRXJyb3JTY29wZSk7CiAgICAgaWYgKCFzdHJjbXAo
cHJvY05hbWUsICJ3Z3B1RGV2aWNlUHVzaEVycm9yU2NvcGUiKSkKICAgICAgICAgcmV0dXJuIHJl
aW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1RGV2aWNlUHVzaEVycm9yU2NvcGUpOwotICAg
IGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdURldmljZVJlbGVhc2UiKSkKLSAgICAgICAgcmV0
dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1RGV2aWNlUmVsZWFzZSk7CiAgICAg
aWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1RGV2aWNlU2V0RGV2aWNlTG9zdENhbGxiYWNrIikp
CiAgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdURldmljZVNl
dERldmljZUxvc3RDYWxsYmFjayk7Ci0gICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1RGV2
aWNlU2V0TGFiZWwiKSkKLSAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+
KCZ3Z3B1RGV2aWNlU2V0TGFiZWwpOwogICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdURl
dmljZVNldFVuY2FwdHVyZWRFcnJvckNhbGxiYWNrIikpCiAgICAgICAgIHJldHVybiByZWludGVy
cHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdURldmljZVNldFVuY2FwdHVyZWRFcnJvckNhbGxiYWNr
KTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVHZXRQcm9jQWRkcmVzcyIpKQpAQCAt
MjI4LDI2ICsxOTksMTIgQEAgV0dQVVByb2Mgd2dwdUdldFByb2NBZGRyZXNzKFdHUFVEZXZpY2Ug
ZGV2aWNlLCBjb25zdCBjaGFyKiBwcm9jTmFtZSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0
X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1SW5zdGFuY2VDcmVhdGVTdXJmYWNlKTsKICAgICBpZiAoIXN0
cmNtcChwcm9jTmFtZSwgIndncHVJbnN0YW5jZVByb2Nlc3NFdmVudHMiKSkKICAgICAgICAgcmV0
dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1SW5zdGFuY2VQcm9jZXNzRXZlbnRz
KTsKLSAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVJbnN0YW5jZVJlbGVhc2UiKSkKLSAg
ICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1SW5zdGFuY2VSZWxl
YXNlKTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVJbnN0YW5jZVJlcXVlc3RBZGFw
dGVyIikpCiAgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdUlu
c3RhbmNlUmVxdWVzdEFkYXB0ZXIpOwotICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdVBp
cGVsaW5lTGF5b3V0UmVsZWFzZSIpKQotICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxX
R1BVUHJvYz4oJndncHVQaXBlbGluZUxheW91dFJlbGVhc2UpOwotICAgIGlmICghc3RyY21wKHBy
b2NOYW1lLCAid2dwdVBpcGVsaW5lTGF5b3V0U2V0TGFiZWwiKSkKLSAgICAgICAgcmV0dXJuIHJl
aW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1UGlwZWxpbmVMYXlvdXRTZXRMYWJlbCk7CiAg
ICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1UXVlcnlTZXREZXN0cm95IikpCiAgICAgICAg
IHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdVF1ZXJ5U2V0RGVzdHJveSk7
Ci0gICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1UXVlcnlTZXRSZWxlYXNlIikpCi0gICAg
ICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdVF1ZXJ5U2V0UmVsZWFz
ZSk7Ci0gICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1UXVlcnlTZXRTZXRMYWJlbCIpKQot
ICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVRdWVyeVNldFNl
dExhYmVsKTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVRdWV1ZU9uU3VibWl0dGVk
V29ya0RvbmUiKSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3
Z3B1UXVldWVPblN1Ym1pdHRlZFdvcmtEb25lKTsKLSAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwg
IndncHVRdWV1ZVJlbGVhc2UiKSkKLSAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQ
VVByb2M+KCZ3Z3B1UXVldWVSZWxlYXNlKTsKLSAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndn
cHVRdWV1ZVNldExhYmVsIikpCi0gICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQ
cm9jPigmd2dwdVF1ZXVlU2V0TGFiZWwpOwogICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dw
dVF1ZXVlU3VibWl0IikpCiAgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9j
Pigmd2dwdVF1ZXVlU3VibWl0KTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVRdWV1
ZVdyaXRlQnVmZmVyIikpCkBAIC0yNzAsMjIgKzIyNywxNCBAQCBXR1BVUHJvYyB3Z3B1R2V0UHJv
Y0FkZHJlc3MoV0dQVURldmljZSBkZXZpY2UsIGNvbnN0IGNoYXIqIHByb2NOYW1lKQogICAgICAg
ICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVSZW5kZXJCdW5kbGVFbmNv
ZGVyUG9wRGVidWdHcm91cCk7CiAgICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1UmVuZGVy
QnVuZGxlRW5jb2RlclB1c2hEZWJ1Z0dyb3VwIikpCiAgICAgICAgIHJldHVybiByZWludGVycHJl
dF9jYXN0PFdHUFVQcm9jPigmd2dwdVJlbmRlckJ1bmRsZUVuY29kZXJQdXNoRGVidWdHcm91cCk7
Ci0gICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1UmVuZGVyQnVuZGxlRW5jb2RlclJlbGVh
c2UiKSkKLSAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1UmVu
ZGVyQnVuZGxlRW5jb2RlclJlbGVhc2UpOwogICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dw
dVJlbmRlckJ1bmRsZUVuY29kZXJTZXRCaW5kR3JvdXAiKSkKICAgICAgICAgcmV0dXJuIHJlaW50
ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1UmVuZGVyQnVuZGxlRW5jb2RlclNldEJpbmRHcm91
cCk7CiAgICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1UmVuZGVyQnVuZGxlRW5jb2RlclNl
dEluZGV4QnVmZmVyIikpCiAgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9j
Pigmd2dwdVJlbmRlckJ1bmRsZUVuY29kZXJTZXRJbmRleEJ1ZmZlcik7Ci0gICAgaWYgKCFzdHJj
bXAocHJvY05hbWUsICJ3Z3B1UmVuZGVyQnVuZGxlRW5jb2RlclNldExhYmVsIikpCi0gICAgICAg
IHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdVJlbmRlckJ1bmRsZUVuY29k
ZXJTZXRMYWJlbCk7CiAgICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1UmVuZGVyQnVuZGxl
RW5jb2RlclNldFBpcGVsaW5lIikpCiAgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdH
UFVQcm9jPigmd2dwdVJlbmRlckJ1bmRsZUVuY29kZXJTZXRQaXBlbGluZSk7CiAgICAgaWYgKCFz
dHJjbXAocHJvY05hbWUsICJ3Z3B1UmVuZGVyQnVuZGxlRW5jb2RlclNldFZlcnRleEJ1ZmZlciIp
KQogICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVSZW5kZXJC
dW5kbGVFbmNvZGVyU2V0VmVydGV4QnVmZmVyKTsKLSAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwg
IndncHVSZW5kZXJCdW5kbGVSZWxlYXNlIikpCi0gICAgICAgIHJldHVybiByZWludGVycHJldF9j
YXN0PFdHUFVQcm9jPigmd2dwdVJlbmRlckJ1bmRsZVJlbGVhc2UpOwotICAgIGlmICghc3RyY21w
KHByb2NOYW1lLCAid2dwdVJlbmRlckJ1bmRsZVNldExhYmVsIikpCi0gICAgICAgIHJldHVybiBy
ZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdVJlbmRlckJ1bmRsZVNldExhYmVsKTsKICAg
ICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVSZW5kZXJQYXNzRW5jb2RlckJlZ2luT2NjbHVz
aW9uUXVlcnkiKSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3
Z3B1UmVuZGVyUGFzc0VuY29kZXJCZWdpbk9jY2x1c2lvblF1ZXJ5KTsKICAgICBpZiAoIXN0cmNt
cChwcm9jTmFtZSwgIndncHVSZW5kZXJQYXNzRW5jb2RlckJlZ2luUGlwZWxpbmVTdGF0aXN0aWNz
UXVlcnkiKSkKQEAgLTMxMiwxNiArMjYxLDEyIEBAIFdHUFVQcm9jIHdncHVHZXRQcm9jQWRkcmVz
cyhXR1BVRGV2aWNlIGRldmljZSwgY29uc3QgY2hhciogcHJvY05hbWUpCiAgICAgICAgIHJldHVy
biByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdVJlbmRlclBhc3NFbmNvZGVyUG9wRGVi
dWdHcm91cCk7CiAgICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1UmVuZGVyUGFzc0VuY29k
ZXJQdXNoRGVidWdHcm91cCIpKQogICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BV
UHJvYz4oJndncHVSZW5kZXJQYXNzRW5jb2RlclB1c2hEZWJ1Z0dyb3VwKTsKLSAgICBpZiAoIXN0
cmNtcChwcm9jTmFtZSwgIndncHVSZW5kZXJQYXNzRW5jb2RlclJlbGVhc2UiKSkKLSAgICAgICAg
cmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1UmVuZGVyUGFzc0VuY29kZXJS
ZWxlYXNlKTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVSZW5kZXJQYXNzRW5jb2Rl
clNldEJpbmRHcm91cCIpKQogICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJv
Yz4oJndncHVSZW5kZXJQYXNzRW5jb2RlclNldEJpbmRHcm91cCk7CiAgICAgaWYgKCFzdHJjbXAo
cHJvY05hbWUsICJ3Z3B1UmVuZGVyUGFzc0VuY29kZXJTZXRCbGVuZENvbnN0YW50IikpCiAgICAg
ICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdVJlbmRlclBhc3NFbmNv
ZGVyU2V0QmxlbmRDb25zdGFudCk7CiAgICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1UmVu
ZGVyUGFzc0VuY29kZXJTZXRJbmRleEJ1ZmZlciIpKQogICAgICAgICByZXR1cm4gcmVpbnRlcnBy
ZXRfY2FzdDxXR1BVUHJvYz4oJndncHVSZW5kZXJQYXNzRW5jb2RlclNldEluZGV4QnVmZmVyKTsK
LSAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVSZW5kZXJQYXNzRW5jb2RlclNldExhYmVs
IikpCi0gICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdVJlbmRl
clBhc3NFbmNvZGVyU2V0TGFiZWwpOwogICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdVJl
bmRlclBhc3NFbmNvZGVyU2V0UGlwZWxpbmUiKSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0
X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1UmVuZGVyUGFzc0VuY29kZXJTZXRQaXBlbGluZSk7CiAgICAg
aWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1UmVuZGVyUGFzc0VuY29kZXJTZXRTY2lzc29yUmVj
dCIpKQpAQCAtMzMyLDQ0ICsyNzcsMjQgQEAgV0dQVVByb2Mgd2dwdUdldFByb2NBZGRyZXNzKFdH
UFVEZXZpY2UgZGV2aWNlLCBjb25zdCBjaGFyKiBwcm9jTmFtZSkKICAgICAgICAgcmV0dXJuIHJl
aW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1UmVuZGVyUGFzc0VuY29kZXJTZXRWZXJ0ZXhC
dWZmZXIpOwogICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdVJlbmRlclBhc3NFbmNvZGVy
U2V0Vmlld3BvcnQiKSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+
KCZ3Z3B1UmVuZGVyUGFzc0VuY29kZXJTZXRWaWV3cG9ydCk7Ci0gICAgaWYgKCFzdHJjbXAocHJv
Y05hbWUsICJ3Z3B1UmVuZGVyUGFzc0VuY29kZXJXcml0ZVRpbWVzdGFtcCIpKQotICAgICAgICBy
ZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVSZW5kZXJQYXNzRW5jb2Rlcldy
aXRlVGltZXN0YW1wKTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVSZW5kZXJQaXBl
bGluZUdldEJpbmRHcm91cExheW91dCIpKQogICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2Fz
dDxXR1BVUHJvYz4oJndncHVSZW5kZXJQaXBlbGluZUdldEJpbmRHcm91cExheW91dCk7Ci0gICAg
aWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1UmVuZGVyUGlwZWxpbmVSZWxlYXNlIikpCi0gICAg
ICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdVJlbmRlclBpcGVsaW5l
UmVsZWFzZSk7CiAgICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1UmVuZGVyUGlwZWxpbmVT
ZXRMYWJlbCIpKQogICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndn
cHVSZW5kZXJQaXBlbGluZVNldExhYmVsKTsKLSAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndn
cHVTYW1wbGVyUmVsZWFzZSIpKQotICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BV
UHJvYz4oJndncHVTYW1wbGVyUmVsZWFzZSk7Ci0gICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3
Z3B1U2FtcGxlclNldExhYmVsIikpCi0gICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdH
UFVQcm9jPigmd2dwdVNhbXBsZXJTZXRMYWJlbCk7Ci0gICAgaWYgKCFzdHJjbXAocHJvY05hbWUs
ICJ3Z3B1U2hhZGVyTW9kdWxlUmVsZWFzZSIpKQotICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRf
Y2FzdDxXR1BVUHJvYz4oJndncHVTaGFkZXJNb2R1bGVSZWxlYXNlKTsKKyAgICBpZiAoIXN0cmNt
cChwcm9jTmFtZSwgIndncHVTaGFkZXJNb2R1bGVHZXRDb21waWxhdGlvbkluZm8iKSkKKyAgICAg
ICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1U2hhZGVyTW9kdWxlR2V0
Q29tcGlsYXRpb25JbmZvKTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVTaGFkZXJN
b2R1bGVTZXRMYWJlbCIpKQogICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJv
Yz4oJndncHVTaGFkZXJNb2R1bGVTZXRMYWJlbCk7CiAgICAgaWYgKCFzdHJjbXAocHJvY05hbWUs
ICJ3Z3B1U3VyZmFjZUdldFByZWZlcnJlZEZvcm1hdCIpKQogICAgICAgICByZXR1cm4gcmVpbnRl
cnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVTdXJmYWNlR2V0UHJlZmVycmVkRm9ybWF0KTsKLSAg
ICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVTdXJmYWNlUmVsZWFzZSIpKQotICAgICAgICBy
ZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVTdXJmYWNlUmVsZWFzZSk7CiAg
ICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1U3dhcENoYWluR2V0Q3VycmVudFRleHR1cmVW
aWV3IikpCiAgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdVN3
YXBDaGFpbkdldEN1cnJlbnRUZXh0dXJlVmlldyk7CiAgICAgaWYgKCFzdHJjbXAocHJvY05hbWUs
ICJ3Z3B1U3dhcENoYWluUHJlc2VudCIpKQogICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2Fz
dDxXR1BVUHJvYz4oJndncHVTd2FwQ2hhaW5QcmVzZW50KTsKLSAgICBpZiAoIXN0cmNtcChwcm9j
TmFtZSwgIndncHVTd2FwQ2hhaW5SZWxlYXNlIikpCi0gICAgICAgIHJldHVybiByZWludGVycHJl
dF9jYXN0PFdHUFVQcm9jPigmd2dwdVN3YXBDaGFpblJlbGVhc2UpOwogICAgIGlmICghc3RyY21w
KHByb2NOYW1lLCAid2dwdVRleHR1cmVDcmVhdGVWaWV3IikpCiAgICAgICAgIHJldHVybiByZWlu
dGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdVRleHR1cmVDcmVhdGVWaWV3KTsKICAgICBpZiAo
IXN0cmNtcChwcm9jTmFtZSwgIndncHVUZXh0dXJlRGVzdHJveSIpKQogICAgICAgICByZXR1cm4g
cmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVUZXh0dXJlRGVzdHJveSk7Ci0gICAgaWYg
KCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1VGV4dHVyZVJlbGVhc2UiKSkKLSAgICAgICAgcmV0dXJu
IHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1VGV4dHVyZVJlbGVhc2UpOwotICAgIGlm
ICghc3RyY21wKHByb2NOYW1lLCAid2dwdVRleHR1cmVTZXRMYWJlbCIpKQotICAgICAgICByZXR1
cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVUZXh0dXJlU2V0TGFiZWwpOwotICAg
IGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdVRleHR1cmVWaWV3UmVsZWFzZSIpKQotICAgICAg
ICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVUZXh0dXJlVmlld1JlbGVh
c2UpOwotICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdVRleHR1cmVWaWV3U2V0TGFiZWwi
KSkKLSAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1VGV4dHVy
ZVZpZXdTZXRMYWJlbCk7CiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJHUFUvV2ViR1BVL1JlbmRlclBhc3NFbmNvZGVyLmggYi9Tb3VyY2UvV2ViR1BVL1dl
YkdQVS9SZW5kZXJQYXNzRW5jb2Rlci5oCmluZGV4IDZiNWJjYTM4ZjBhNWNkODFjY2FjZTJmMTFj
Y2I5NTk2NjliOWI0ZmEuLjVjOTQ5NWEwNTkzODg1Y2U5NmE1YWU4NGRhMDMwMjlkZmU3YjM3NDUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL1JlbmRlclBhc3NFbmNvZGVyLmgKKysr
IGIvU291cmNlL1dlYkdQVS9XZWJHUFUvUmVuZGVyUGFzc0VuY29kZXIuaApAQCAtNzEsNyArNzEs
NiBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRTdGVuY2lsUmVmZXJlbmNlKHVpbnQzMl90KTsKICAg
ICB2b2lkIHNldFZlcnRleEJ1ZmZlcih1aW50MzJfdCBzbG90LCBjb25zdCBCdWZmZXImLCB1aW50
NjRfdCBvZmZzZXQsIHVpbnQ2NF90IHNpemUpOwogICAgIHZvaWQgc2V0Vmlld3BvcnQoZmxvYXQg
eCwgZmxvYXQgeSwgZmxvYXQgd2lkdGgsIGZsb2F0IGhlaWdodCwgZmxvYXQgbWluRGVwdGgsIGZs
b2F0IG1heERlcHRoKTsKLSAgICB2b2lkIHdyaXRlVGltZXN0YW1wKGNvbnN0IFF1ZXJ5U2V0Jiwg
dWludDMyX3QgcXVlcnlJbmRleCk7CiAgICAgdm9pZCBzZXRMYWJlbChjb25zdCBjaGFyKik7CiAK
IHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9SZW5kZXJQYXNzRW5j
b2Rlci5tbSBiL1NvdXJjZS9XZWJHUFUvV2ViR1BVL1JlbmRlclBhc3NFbmNvZGVyLm1tCmluZGV4
IGIzYzM5M2U3MDEzZDkxZDJlZDFjOWRlOTIxMmM3NDI4YmVmY2VjYzUuLmNiOWRiYTFiZDM1ZWZh
YzVjZmNjZjliNmU0NjQxOTVhNmExZmYxODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJHUFUvV2Vi
R1BVL1JlbmRlclBhc3NFbmNvZGVyLm1tCisrKyBiL1NvdXJjZS9XZWJHUFUvV2ViR1BVL1JlbmRl
clBhc3NFbmNvZGVyLm1tCkBAIC0xNzEsMTIgKzE3MSw2IEBAIHZvaWQgUmVuZGVyUGFzc0VuY29k
ZXI6OnNldFZpZXdwb3J0KGZsb2F0IHgsIGZsb2F0IHksIGZsb2F0IHdpZHRoLCBmbG9hdCBoZWln
aHQsCiAgICAgVU5VU0VEX1BBUkFNKG1heERlcHRoKTsKIH0KIAotdm9pZCBSZW5kZXJQYXNzRW5j
b2Rlcjo6d3JpdGVUaW1lc3RhbXAoY29uc3QgUXVlcnlTZXQmIHF1ZXJ5U2V0LCB1aW50MzJfdCBx
dWVyeUluZGV4KQotewotICAgIFVOVVNFRF9QQVJBTShxdWVyeVNldCk7Ci0gICAgVU5VU0VEX1BB
UkFNKHF1ZXJ5SW5kZXgpOwotfQotCiB2b2lkIFJlbmRlclBhc3NFbmNvZGVyOjpzZXRMYWJlbChj
b25zdCBjaGFyKiBsYWJlbCkKIHsKICAgICBVTlVTRURfUEFSQU0obGFiZWwpOwpAQCAtMjk3LDEx
ICsyOTEsNiBAQCB2b2lkIHdncHVSZW5kZXJQYXNzRW5jb2RlclNldFZpZXdwb3J0KFdHUFVSZW5k
ZXJQYXNzRW5jb2RlciByZW5kZXJQYXNzRW5jb2RlciwgZgogICAgIHJlbmRlclBhc3NFbmNvZGVy
LT5yZW5kZXJQYXNzRW5jb2Rlci0+c2V0Vmlld3BvcnQoeCwgeSwgd2lkdGgsIGhlaWdodCwgbWlu
RGVwdGgsIG1heERlcHRoKTsKIH0KIAotdm9pZCB3Z3B1UmVuZGVyUGFzc0VuY29kZXJXcml0ZVRp
bWVzdGFtcChXR1BVUmVuZGVyUGFzc0VuY29kZXIgcmVuZGVyUGFzc0VuY29kZXIsIFdHUFVRdWVy
eVNldCBxdWVyeVNldCwgdWludDMyX3QgcXVlcnlJbmRleCkKLXsKLSAgICByZW5kZXJQYXNzRW5j
b2Rlci0+cmVuZGVyUGFzc0VuY29kZXItPndyaXRlVGltZXN0YW1wKHF1ZXJ5U2V0LT5xdWVyeVNl
dCwgcXVlcnlJbmRleCk7Ci19Ci0KIHZvaWQgd2dwdVJlbmRlclBhc3NFbmNvZGVyU2V0TGFiZWwo
V0dQVVJlbmRlclBhc3NFbmNvZGVyIHJlbmRlclBhc3NFbmNvZGVyLCBjb25zdCBjaGFyKiBsYWJl
bCkKIHsKICAgICByZW5kZXJQYXNzRW5jb2Rlci0+cmVuZGVyUGFzc0VuY29kZXItPnNldExhYmVs
KGxhYmVsKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL1NoYWRlck1vZHVsZS5o
IGIvU291cmNlL1dlYkdQVS9XZWJHUFUvU2hhZGVyTW9kdWxlLmgKaW5kZXggY2NkOTVlMDUzMDMw
NzUyYWFmN2I1Zjc2YTllZmI0NDNlZGM1NTgzYy4uYzJhZDNlZWQxODcxNTQxYjI5NTVlZGNlMGJj
ZmRkMGM5NTY2ZmQ2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkdQVS9XZWJHUFUvU2hhZGVyTW9k
dWxlLmgKKysrIGIvU291cmNlL1dlYkdQVS9XZWJHUFUvU2hhZGVyTW9kdWxlLmgKQEAgLTQyLDYg
KzQyLDcgQEAgcHVibGljOgogCiAgICAgflNoYWRlck1vZHVsZSgpOwogCisgICAgdm9pZCBnZXRD
b21waWxhdGlvbkluZm8oV1RGOjpGdW5jdGlvbjx2b2lkKFdHUFVDb21waWxhdGlvbkluZm9SZXF1
ZXN0U3RhdHVzLCBjb25zdCBXR1BVQ29tcGlsYXRpb25JbmZvKik+JiYgY2FsbGJhY2spOwogICAg
IHZvaWQgc2V0TGFiZWwoY29uc3QgY2hhciopOwogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkdQVS9XZWJHUFUvU2hhZGVyTW9kdWxlLm1tIGIvU291cmNlL1dlYkdQVS9XZWJHUFUv
U2hhZGVyTW9kdWxlLm1tCmluZGV4IDk1NGRjZjE0NmMyMzBmMTI2ZDBiYzg1NjJkMWE4NjUzY2E0
ZDIyY2MuLjZjYjNjOWU5ZjBkYWE0ZWUzYTNhNzIyODY4NDMxZGUxNzI1NjhjODMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL1NoYWRlck1vZHVsZS5tbQorKysgYi9Tb3VyY2UvV2Vi
R1BVL1dlYkdQVS9TaGFkZXJNb2R1bGUubW0KQEAgLTM0LDYgKzM0LDExIEBAIFNoYWRlck1vZHVs
ZTo6U2hhZGVyTW9kdWxlKCkgPSBkZWZhdWx0OwogCiBTaGFkZXJNb2R1bGU6On5TaGFkZXJNb2R1
bGUoKSA9IGRlZmF1bHQ7CiAKK3ZvaWQgU2hhZGVyTW9kdWxlOjpnZXRDb21waWxhdGlvbkluZm8o
V1RGOjpGdW5jdGlvbjx2b2lkKFdHUFVDb21waWxhdGlvbkluZm9SZXF1ZXN0U3RhdHVzLCBjb25z
dCBXR1BVQ29tcGlsYXRpb25JbmZvKik+JiYgY2FsbGJhY2spCit7CisgICAgVU5VU0VEX1BBUkFN
KGNhbGxiYWNrKTsKK30KKwogdm9pZCBTaGFkZXJNb2R1bGU6OnNldExhYmVsKGNvbnN0IGNoYXIq
IGxhYmVsKQogewogICAgIFVOVVNFRF9QQVJBTShsYWJlbCk7CkBAIC00Niw2ICs1MSwxMyBAQCB2
b2lkIHdncHVTaGFkZXJNb2R1bGVSZWxlYXNlKFdHUFVTaGFkZXJNb2R1bGUgc2hhZGVyTW9kdWxl
KQogICAgIGRlbGV0ZSBzaGFkZXJNb2R1bGU7CiB9CiAKK3ZvaWQgd2dwdVNoYWRlck1vZHVsZUdl
dENvbXBpbGF0aW9uSW5mbyhXR1BVU2hhZGVyTW9kdWxlIHNoYWRlck1vZHVsZSwgV0dQVUNvbXBp
bGF0aW9uSW5mb0NhbGxiYWNrIGNhbGxiYWNrLCB2b2lkICogdXNlcmRhdGEpCit7CisgICAgc2hh
ZGVyTW9kdWxlLT5zaGFkZXJNb2R1bGUtPmdldENvbXBpbGF0aW9uSW5mbyhbY2FsbGJhY2ssIHVz
ZXJkYXRhXSAoV0dQVUNvbXBpbGF0aW9uSW5mb1JlcXVlc3RTdGF0dXMgc3RhdHVzLCBjb25zdCBX
R1BVQ29tcGlsYXRpb25JbmZvKiBjb21waWxhdGlvbkluZm8pIHsKKyAgICAgICAgY2FsbGJhY2so
c3RhdHVzLCBjb21waWxhdGlvbkluZm8sIHVzZXJkYXRhKTsKKyAgICB9KTsKK30KKwogdm9pZCB3
Z3B1U2hhZGVyTW9kdWxlU2V0TGFiZWwoV0dQVVNoYWRlck1vZHVsZSBzaGFkZXJNb2R1bGUsIGNv
bnN0IGNoYXIqIGxhYmVsKQogewogICAgIHNoYWRlck1vZHVsZS0+c2hhZGVyTW9kdWxlLT5zZXRM
YWJlbChsYWJlbCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9XZWJHUFUuaCBi
L1NvdXJjZS9XZWJHUFUvV2ViR1BVL1dlYkdQVS5oCmluZGV4IDVhZmIzODMyNmJhYWJjOGQ2NGIw
MDNhMjU1MjBjMWRlMWIyN2ZiZjQuLjA5OTMxNmIxZDNiNzc4YmIwOGUzZDY1MjA0OGNmNjRiMzBi
ODhjMDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL1dlYkdQVS5oCisrKyBiL1Nv
dXJjZS9XZWJHUFUvV2ViR1BVL1dlYkdQVS5oCkBAIC01MiwxMiArNTIsMTMgQEAKICNpbmNsdWRl
IDxzdGRkZWYuaD4KICNpbmNsdWRlIDxzdGRib29sLmg+CiAKLSNkZWZpbmUgV0dQVV9XSE9MRV9T
SVpFICgweGZmZmZmZmZmZmZmZmZmZmZVTEwpCisjZGVmaW5lIFdHUFVfQVJSQVlfTEFZRVJfQ09V
TlRfVU5ERUZJTkVEICgweGZmZmZmZmZmVUwpCiAjZGVmaW5lIFdHUFVfQ09QWV9TVFJJREVfVU5E
RUZJTkVEICgweGZmZmZmZmZmVUwpCiAjZGVmaW5lIFdHUFVfTElNSVRfVTMyX1VOREVGSU5FRCAo
MHhmZmZmZmZmZlVMKQogI2RlZmluZSBXR1BVX0xJTUlUX1U2NF9VTkRFRklORUQgKDB4ZmZmZmZm
ZmZmZmZmZmZmZlVMTCkKLSNkZWZpbmUgV0dQVV9BUlJBWV9MQVlFUl9DT1VOVF9VTkRFRklORUQg
KDB4ZmZmZmZmZmZVTCkKICNkZWZpbmUgV0dQVV9NSVBfTEVWRUxfQ09VTlRfVU5ERUZJTkVEICgw
eGZmZmZmZmZmVUwpCisjZGVmaW5lIFdHUFVfV0hPTEVfTUFQX1NJWkUgU0laRV9NQVgKKyNkZWZp
bmUgV0dQVV9XSE9MRV9TSVpFICgweGZmZmZmZmZmZmZmZmZmZmZVTEwpCiAKIHR5cGVkZWYgdWlu
dDMyX3QgV0dQVUZsYWdzOwogCkBAIC0xNjksNiArMTcwLDE0IEBAIHR5cGVkZWYgZW51bSBXR1BV
Q29tcGFyZUZ1bmN0aW9uIHsKICAgICBXR1BVQ29tcGFyZUZ1bmN0aW9uX0ZvcmNlMzIgPSAweDdG
RkZGRkZGCiB9IFdHUFVDb21wYXJlRnVuY3Rpb247CiAKK3R5cGVkZWYgZW51bSBXR1BVQ29tcGls
YXRpb25JbmZvUmVxdWVzdFN0YXR1cyB7CisgICAgV0dQVUNvbXBpbGF0aW9uSW5mb1JlcXVlc3RT
dGF0dXNfU3VjY2VzcyA9IDB4MDAwMDAwMDAsCisgICAgV0dQVUNvbXBpbGF0aW9uSW5mb1JlcXVl
c3RTdGF0dXNfRXJyb3IgPSAweDAwMDAwMDAxLAorICAgIFdHUFVDb21waWxhdGlvbkluZm9SZXF1
ZXN0U3RhdHVzX0RldmljZUxvc3QgPSAweDAwMDAwMDAyLAorICAgIFdHUFVDb21waWxhdGlvbklu
Zm9SZXF1ZXN0U3RhdHVzX1Vua25vd24gPSAweDAwMDAwMDAzLAorICAgIFdHUFVDb21waWxhdGlv
bkluZm9SZXF1ZXN0U3RhdHVzX0ZvcmNlMzIgPSAweDdGRkZGRkZGCit9IFdHUFVDb21waWxhdGlv
bkluZm9SZXF1ZXN0U3RhdHVzOworCiB0eXBlZGVmIGVudW0gV0dQVUNvbXBpbGF0aW9uTWVzc2Fn
ZVR5cGUgewogICAgIFdHUFVDb21waWxhdGlvbk1lc3NhZ2VUeXBlX0Vycm9yID0gMHgwMDAwMDAw
MCwKICAgICBXR1BVQ29tcGlsYXRpb25NZXNzYWdlVHlwZV9XYXJuaW5nID0gMHgwMDAwMDAwMSwK
QEAgLTE3Niw2ICsxODUsMTIgQEAgdHlwZWRlZiBlbnVtIFdHUFVDb21waWxhdGlvbk1lc3NhZ2VU
eXBlIHsKICAgICBXR1BVQ29tcGlsYXRpb25NZXNzYWdlVHlwZV9Gb3JjZTMyID0gMHg3RkZGRkZG
RgogfSBXR1BVQ29tcGlsYXRpb25NZXNzYWdlVHlwZTsKIAordHlwZWRlZiBlbnVtIFdHUFVDb21w
dXRlUGFzc1RpbWVzdGFtcExvY2F0aW9uIHsKKyAgICBXR1BVQ29tcHV0ZVBhc3NUaW1lc3RhbXBM
b2NhdGlvbl9CZWdpbm5pbmcgPSAweDAwMDAwMDAwLAorICAgIFdHUFVDb21wdXRlUGFzc1RpbWVz
dGFtcExvY2F0aW9uX0VuZCA9IDB4MDAwMDAwMDEsCisgICAgV0dQVUNvbXB1dGVQYXNzVGltZXN0
YW1wTG9jYXRpb25fRm9yY2UzMiA9IDB4N0ZGRkZGRkYKK30gV0dQVUNvbXB1dGVQYXNzVGltZXN0
YW1wTG9jYXRpb247CisKIHR5cGVkZWYgZW51bSBXR1BVQ3JlYXRlUGlwZWxpbmVBc3luY1N0YXR1
cyB7CiAgICAgV0dQVUNyZWF0ZVBpcGVsaW5lQXN5bmNTdGF0dXNfU3VjY2VzcyA9IDB4MDAwMDAw
MDAsCiAgICAgV0dQVUNyZWF0ZVBpcGVsaW5lQXN5bmNTdGF0dXNfRXJyb3IgPSAweDAwMDAwMDAx
LApAQCAtMTk5LDkgKzIxNCw4IEBAIHR5cGVkZWYgZW51bSBXR1BVRGV2aWNlTG9zdFJlYXNvbiB7
CiB9IFdHUFVEZXZpY2VMb3N0UmVhc29uOwogCiB0eXBlZGVmIGVudW0gV0dQVUVycm9yRmlsdGVy
IHsKLSAgICBXR1BVRXJyb3JGaWx0ZXJfTm9uZSA9IDB4MDAwMDAwMDAsCi0gICAgV0dQVUVycm9y
RmlsdGVyX1ZhbGlkYXRpb24gPSAweDAwMDAwMDAxLAotICAgIFdHUFVFcnJvckZpbHRlcl9PdXRP
Zk1lbW9yeSA9IDB4MDAwMDAwMDIsCisgICAgV0dQVUVycm9yRmlsdGVyX1ZhbGlkYXRpb24gPSAw
eDAwMDAwMDAwLAorICAgIFdHUFVFcnJvckZpbHRlcl9PdXRPZk1lbW9yeSA9IDB4MDAwMDAwMDEs
CiAgICAgV0dQVUVycm9yRmlsdGVyX0ZvcmNlMzIgPSAweDdGRkZGRkZGCiB9IFdHUFVFcnJvckZp
bHRlcjsKIApAQCAtMjE2LDEyICsyMzAsMTUgQEAgdHlwZWRlZiBlbnVtIFdHUFVFcnJvclR5cGUg
ewogCiB0eXBlZGVmIGVudW0gV0dQVUZlYXR1cmVOYW1lIHsKICAgICBXR1BVRmVhdHVyZU5hbWVf
VW5kZWZpbmVkID0gMHgwMDAwMDAwMCwKLSAgICBXR1BVRmVhdHVyZU5hbWVfRGVwdGhDbGFtcGlu
ZyA9IDB4MDAwMDAwMDEsCisgICAgV0dQVUZlYXR1cmVOYW1lX0RlcHRoQ2xpcENvbnRyb2wgPSAw
eDAwMDAwMDAxLAogICAgIFdHUFVGZWF0dXJlTmFtZV9EZXB0aDI0VW5vcm1TdGVuY2lsOCA9IDB4
MDAwMDAwMDIsCiAgICAgV0dQVUZlYXR1cmVOYW1lX0RlcHRoMzJGbG9hdFN0ZW5jaWw4ID0gMHgw
MDAwMDAwMywKICAgICBXR1BVRmVhdHVyZU5hbWVfVGltZXN0YW1wUXVlcnkgPSAweDAwMDAwMDA0
LAogICAgIFdHUFVGZWF0dXJlTmFtZV9QaXBlbGluZVN0YXRpc3RpY3NRdWVyeSA9IDB4MDAwMDAw
MDUsCiAgICAgV0dQVUZlYXR1cmVOYW1lX1RleHR1cmVDb21wcmVzc2lvbkJDID0gMHgwMDAwMDAw
NiwKKyAgICBXR1BVRmVhdHVyZU5hbWVfVGV4dHVyZUNvbXByZXNzaW9uRVRDMiA9IDB4MDAwMDAw
MDcsCisgICAgV0dQVUZlYXR1cmVOYW1lX1RleHR1cmVDb21wcmVzc2lvbkFTVEMgPSAweDAwMDAw
MDA4LAorICAgIFdHUFVGZWF0dXJlTmFtZV9JbmRpcmVjdEZpcnN0SW5zdGFuY2UgPSAweDAwMDAw
MDA5LAogICAgIFdHUFVGZWF0dXJlTmFtZV9Gb3JjZTMyID0gMHg3RkZGRkZGRgogfSBXR1BVRmVh
dHVyZU5hbWU7CiAKQEAgLTI2MCw4ICsyNzcsOSBAQCB0eXBlZGVmIGVudW0gV0dQVVBpcGVsaW5l
U3RhdGlzdGljTmFtZSB7CiB9IFdHUFVQaXBlbGluZVN0YXRpc3RpY05hbWU7CiAKIHR5cGVkZWYg
ZW51bSBXR1BVUG93ZXJQcmVmZXJlbmNlIHsKLSAgICBXR1BVUG93ZXJQcmVmZXJlbmNlX0xvd1Bv
d2VyID0gMHgwMDAwMDAwMCwKLSAgICBXR1BVUG93ZXJQcmVmZXJlbmNlX0hpZ2hQZXJmb3JtYW5j
ZSA9IDB4MDAwMDAwMDEsCisgICAgV0dQVVBvd2VyUHJlZmVyZW5jZV9VbmRlZmluZWQgPSAweDAw
MDAwMDAwLAorICAgIFdHUFVQb3dlclByZWZlcmVuY2VfTG93UG93ZXIgPSAweDAwMDAwMDAxLAor
ICAgIFdHUFVQb3dlclByZWZlcmVuY2VfSGlnaFBlcmZvcm1hbmNlID0gMHgwMDAwMDAwMiwKICAg
ICBXR1BVUG93ZXJQcmVmZXJlbmNlX0ZvcmNlMzIgPSAweDdGRkZGRkZGCiB9IFdHUFVQb3dlclBy
ZWZlcmVuY2U7CiAKQEAgLTI5Niw2ICszMTQsMTIgQEAgdHlwZWRlZiBlbnVtIFdHUFVRdWV1ZVdv
cmtEb25lU3RhdHVzIHsKICAgICBXR1BVUXVldWVXb3JrRG9uZVN0YXR1c19Gb3JjZTMyID0gMHg3
RkZGRkZGRgogfSBXR1BVUXVldWVXb3JrRG9uZVN0YXR1czsKIAordHlwZWRlZiBlbnVtIFdHUFVS
ZW5kZXJQYXNzVGltZXN0YW1wTG9jYXRpb24geworICAgIFdHUFVSZW5kZXJQYXNzVGltZXN0YW1w
TG9jYXRpb25fQmVnaW5uaW5nID0gMHgwMDAwMDAwMCwKKyAgICBXR1BVUmVuZGVyUGFzc1RpbWVz
dGFtcExvY2F0aW9uX0VuZCA9IDB4MDAwMDAwMDEsCisgICAgV0dQVVJlbmRlclBhc3NUaW1lc3Rh
bXBMb2NhdGlvbl9Gb3JjZTMyID0gMHg3RkZGRkZGRgorfSBXR1BVUmVuZGVyUGFzc1RpbWVzdGFt
cExvY2F0aW9uOworCiB0eXBlZGVmIGVudW0gV0dQVVJlcXVlc3RBZGFwdGVyU3RhdHVzIHsKICAg
ICBXR1BVUmVxdWVzdEFkYXB0ZXJTdGF0dXNfU3VjY2VzcyA9IDB4MDAwMDAwMDAsCiAgICAgV0dQ
VVJlcXVlc3RBZGFwdGVyU3RhdHVzX1VuYXZhaWxhYmxlID0gMHgwMDAwMDAwMSwKQEAgLTMxOSw3
ICszNDMsOSBAQCB0eXBlZGVmIGVudW0gV0dQVVNUeXBlIHsKICAgICBXR1BVU1R5cGVfU3VyZmFj
ZURlc2NyaXB0b3JGcm9tQ2FudmFzSFRNTFNlbGVjdG9yID0gMHgwMDAwMDAwNCwKICAgICBXR1BV
U1R5cGVfU2hhZGVyTW9kdWxlU1BJUlZEZXNjcmlwdG9yID0gMHgwMDAwMDAwNSwKICAgICBXR1BV
U1R5cGVfU2hhZGVyTW9kdWxlV0dTTERlc2NyaXB0b3IgPSAweDAwMDAwMDA2LAotICAgIFdHUFVT
VHlwZV9QcmltaXRpdmVEZXB0aENsYW1waW5nU3RhdGUgPSAweDAwMDAwMDA3LAorICAgIFdHUFVT
VHlwZV9QcmltaXRpdmVEZXB0aENsaXBDb250cm9sID0gMHgwMDAwMDAwNywKKyAgICBXR1BVU1R5
cGVfU3VyZmFjZURlc2NyaXB0b3JGcm9tV2F5bGFuZFN1cmZhY2UgPSAweDAwMDAwMDA4LAorICAg
IFdHUFVTVHlwZV9TdXJmYWNlRGVzY3JpcHRvckZyb21BbmRyb2lkTmF0aXZlV2luZG93ID0gMHgw
MDAwMDAwOSwKICAgICBXR1BVU1R5cGVfRm9yY2UzMiA9IDB4N0ZGRkZGRkYKIH0gV0dQVVNUeXBl
OwogCkBAIC00MTksMjEgKzQ0NSw2MSBAQCB0eXBlZGVmIGVudW0gV0dQVVRleHR1cmVGb3JtYXQg
ewogICAgIFdHUFVUZXh0dXJlRm9ybWF0X0RlcHRoMTZVbm9ybSA9IDB4MDAwMDAwMjYsCiAgICAg
V0dQVVRleHR1cmVGb3JtYXRfRGVwdGgyNFBsdXMgPSAweDAwMDAwMDI3LAogICAgIFdHUFVUZXh0
dXJlRm9ybWF0X0RlcHRoMjRQbHVzU3RlbmNpbDggPSAweDAwMDAwMDI4LAotICAgIFdHUFVUZXh0
dXJlRm9ybWF0X0RlcHRoMzJGbG9hdCA9IDB4MDAwMDAwMjksCi0gICAgV0dQVVRleHR1cmVGb3Jt
YXRfQkMxUkdCQVVub3JtID0gMHgwMDAwMDAyQSwKLSAgICBXR1BVVGV4dHVyZUZvcm1hdF9CQzFS
R0JBVW5vcm1TcmdiID0gMHgwMDAwMDAyQiwKLSAgICBXR1BVVGV4dHVyZUZvcm1hdF9CQzJSR0JB
VW5vcm0gPSAweDAwMDAwMDJDLAotICAgIFdHUFVUZXh0dXJlRm9ybWF0X0JDMlJHQkFVbm9ybVNy
Z2IgPSAweDAwMDAwMDJELAotICAgIFdHUFVUZXh0dXJlRm9ybWF0X0JDM1JHQkFVbm9ybSA9IDB4
MDAwMDAwMkUsCi0gICAgV0dQVVRleHR1cmVGb3JtYXRfQkMzUkdCQVVub3JtU3JnYiA9IDB4MDAw
MDAwMkYsCi0gICAgV0dQVVRleHR1cmVGb3JtYXRfQkM0UlVub3JtID0gMHgwMDAwMDAzMCwKLSAg
ICBXR1BVVGV4dHVyZUZvcm1hdF9CQzRSU25vcm0gPSAweDAwMDAwMDMxLAotICAgIFdHUFVUZXh0
dXJlRm9ybWF0X0JDNVJHVW5vcm0gPSAweDAwMDAwMDMyLAotICAgIFdHUFVUZXh0dXJlRm9ybWF0
X0JDNVJHU25vcm0gPSAweDAwMDAwMDMzLAotICAgIFdHUFVUZXh0dXJlRm9ybWF0X0JDNkhSR0JV
ZmxvYXQgPSAweDAwMDAwMDM0LAotICAgIFdHUFVUZXh0dXJlRm9ybWF0X0JDNkhSR0JGbG9hdCA9
IDB4MDAwMDAwMzUsCi0gICAgV0dQVVRleHR1cmVGb3JtYXRfQkM3UkdCQVVub3JtID0gMHgwMDAw
MDAzNiwKLSAgICBXR1BVVGV4dHVyZUZvcm1hdF9CQzdSR0JBVW5vcm1TcmdiID0gMHgwMDAwMDAz
NywKKyAgICBXR1BVVGV4dHVyZUZvcm1hdF9EZXB0aDI0VW5vcm1TdGVuY2lsOCA9IDB4MDAwMDAw
MjksCisgICAgV0dQVVRleHR1cmVGb3JtYXRfRGVwdGgzMkZsb2F0ID0gMHgwMDAwMDAyQSwKKyAg
ICBXR1BVVGV4dHVyZUZvcm1hdF9EZXB0aDMyRmxvYXRTdGVuY2lsOCA9IDB4MDAwMDAwMkIsCisg
ICAgV0dQVVRleHR1cmVGb3JtYXRfQkMxUkdCQVVub3JtID0gMHgwMDAwMDAyQywKKyAgICBXR1BV
VGV4dHVyZUZvcm1hdF9CQzFSR0JBVW5vcm1TcmdiID0gMHgwMDAwMDAyRCwKKyAgICBXR1BVVGV4
dHVyZUZvcm1hdF9CQzJSR0JBVW5vcm0gPSAweDAwMDAwMDJFLAorICAgIFdHUFVUZXh0dXJlRm9y
bWF0X0JDMlJHQkFVbm9ybVNyZ2IgPSAweDAwMDAwMDJGLAorICAgIFdHUFVUZXh0dXJlRm9ybWF0
X0JDM1JHQkFVbm9ybSA9IDB4MDAwMDAwMzAsCisgICAgV0dQVVRleHR1cmVGb3JtYXRfQkMzUkdC
QVVub3JtU3JnYiA9IDB4MDAwMDAwMzEsCisgICAgV0dQVVRleHR1cmVGb3JtYXRfQkM0UlVub3Jt
ID0gMHgwMDAwMDAzMiwKKyAgICBXR1BVVGV4dHVyZUZvcm1hdF9CQzRSU25vcm0gPSAweDAwMDAw
MDMzLAorICAgIFdHUFVUZXh0dXJlRm9ybWF0X0JDNVJHVW5vcm0gPSAweDAwMDAwMDM0LAorICAg
IFdHUFVUZXh0dXJlRm9ybWF0X0JDNVJHU25vcm0gPSAweDAwMDAwMDM1LAorICAgIFdHUFVUZXh0
dXJlRm9ybWF0X0JDNkhSR0JVZmxvYXQgPSAweDAwMDAwMDM2LAorICAgIFdHUFVUZXh0dXJlRm9y
bWF0X0JDNkhSR0JGbG9hdCA9IDB4MDAwMDAwMzcsCisgICAgV0dQVVRleHR1cmVGb3JtYXRfQkM3
UkdCQVVub3JtID0gMHgwMDAwMDAzOCwKKyAgICBXR1BVVGV4dHVyZUZvcm1hdF9CQzdSR0JBVW5v
cm1TcmdiID0gMHgwMDAwMDAzOSwKKyAgICBXR1BVVGV4dHVyZUZvcm1hdF9FVEMyUkdCOFVub3Jt
ID0gMHgwMDAwMDAzQSwKKyAgICBXR1BVVGV4dHVyZUZvcm1hdF9FVEMyUkdCOFVub3JtU3JnYiA9
IDB4MDAwMDAwM0IsCisgICAgV0dQVVRleHR1cmVGb3JtYXRfRVRDMlJHQjhBMVVub3JtID0gMHgw
MDAwMDAzQywKKyAgICBXR1BVVGV4dHVyZUZvcm1hdF9FVEMyUkdCOEExVW5vcm1TcmdiID0gMHgw
MDAwMDAzRCwKKyAgICBXR1BVVGV4dHVyZUZvcm1hdF9FVEMyUkdCQThVbm9ybSA9IDB4MDAwMDAw
M0UsCisgICAgV0dQVVRleHR1cmVGb3JtYXRfRVRDMlJHQkE4VW5vcm1TcmdiID0gMHgwMDAwMDAz
RiwKKyAgICBXR1BVVGV4dHVyZUZvcm1hdF9FQUNSMTFVbm9ybSA9IDB4MDAwMDAwNDAsCisgICAg
V0dQVVRleHR1cmVGb3JtYXRfRUFDUjExU25vcm0gPSAweDAwMDAwMDQxLAorICAgIFdHUFVUZXh0
dXJlRm9ybWF0X0VBQ1JHMTFVbm9ybSA9IDB4MDAwMDAwNDIsCisgICAgV0dQVVRleHR1cmVGb3Jt
YXRfRUFDUkcxMVNub3JtID0gMHgwMDAwMDA0MywKKyAgICBXR1BVVGV4dHVyZUZvcm1hdF9BU1RD
NHg0VW5vcm0gPSAweDAwMDAwMDQ0LAorICAgIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEM0eDRVbm9y
bVNyZ2IgPSAweDAwMDAwMDQ1LAorICAgIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEM1eDRVbm9ybSA9
IDB4MDAwMDAwNDYsCisgICAgV0dQVVRleHR1cmVGb3JtYXRfQVNUQzV4NFVub3JtU3JnYiA9IDB4
MDAwMDAwNDcsCisgICAgV0dQVVRleHR1cmVGb3JtYXRfQVNUQzV4NVVub3JtID0gMHgwMDAwMDA0
OCwKKyAgICBXR1BVVGV4dHVyZUZvcm1hdF9BU1RDNXg1VW5vcm1TcmdiID0gMHgwMDAwMDA0OSwK
KyAgICBXR1BVVGV4dHVyZUZvcm1hdF9BU1RDNng1VW5vcm0gPSAweDAwMDAwMDRBLAorICAgIFdH
UFVUZXh0dXJlRm9ybWF0X0FTVEM2eDVVbm9ybVNyZ2IgPSAweDAwMDAwMDRCLAorICAgIFdHUFVU
ZXh0dXJlRm9ybWF0X0FTVEM2eDZVbm9ybSA9IDB4MDAwMDAwNEMsCisgICAgV0dQVVRleHR1cmVG
b3JtYXRfQVNUQzZ4NlVub3JtU3JnYiA9IDB4MDAwMDAwNEQsCisgICAgV0dQVVRleHR1cmVGb3Jt
YXRfQVNUQzh4NVVub3JtID0gMHgwMDAwMDA0RSwKKyAgICBXR1BVVGV4dHVyZUZvcm1hdF9BU1RD
OHg1VW5vcm1TcmdiID0gMHgwMDAwMDA0RiwKKyAgICBXR1BVVGV4dHVyZUZvcm1hdF9BU1RDOHg2
VW5vcm0gPSAweDAwMDAwMDUwLAorICAgIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEM4eDZVbm9ybVNy
Z2IgPSAweDAwMDAwMDUxLAorICAgIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEM4eDhVbm9ybSA9IDB4
MDAwMDAwNTIsCisgICAgV0dQVVRleHR1cmVGb3JtYXRfQVNUQzh4OFVub3JtU3JnYiA9IDB4MDAw
MDAwNTMsCisgICAgV0dQVVRleHR1cmVGb3JtYXRfQVNUQzEweDVVbm9ybSA9IDB4MDAwMDAwNTQs
CisgICAgV0dQVVRleHR1cmVGb3JtYXRfQVNUQzEweDVVbm9ybVNyZ2IgPSAweDAwMDAwMDU1LAor
ICAgIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEMxMHg2VW5vcm0gPSAweDAwMDAwMDU2LAorICAgIFdH
UFVUZXh0dXJlRm9ybWF0X0FTVEMxMHg2VW5vcm1TcmdiID0gMHgwMDAwMDA1NywKKyAgICBXR1BV
VGV4dHVyZUZvcm1hdF9BU1RDMTB4OFVub3JtID0gMHgwMDAwMDA1OCwKKyAgICBXR1BVVGV4dHVy
ZUZvcm1hdF9BU1RDMTB4OFVub3JtU3JnYiA9IDB4MDAwMDAwNTksCisgICAgV0dQVVRleHR1cmVG
b3JtYXRfQVNUQzEweDEwVW5vcm0gPSAweDAwMDAwMDVBLAorICAgIFdHUFVUZXh0dXJlRm9ybWF0
X0FTVEMxMHgxMFVub3JtU3JnYiA9IDB4MDAwMDAwNUIsCisgICAgV0dQVVRleHR1cmVGb3JtYXRf
QVNUQzEyeDEwVW5vcm0gPSAweDAwMDAwMDVDLAorICAgIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEMx
MngxMFVub3JtU3JnYiA9IDB4MDAwMDAwNUQsCisgICAgV0dQVVRleHR1cmVGb3JtYXRfQVNUQzEy
eDEyVW5vcm0gPSAweDAwMDAwMDVFLAorICAgIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEMxMngxMlVu
b3JtU3JnYiA9IDB4MDAwMDAwNUYsCiAgICAgV0dQVVRleHR1cmVGb3JtYXRfRm9yY2UzMiA9IDB4
N0ZGRkZGRkYKIH0gV0dQVVRleHR1cmVGb3JtYXQ7CiAKQEAgLTYzMiwxMCArNjk4LDExIEBAIHR5
cGVkZWYgc3RydWN0IFdHUFVDb21waWxhdGlvbk1lc3NhZ2UgewogICAgIHVpbnQ2NF90IGxlbmd0
aDsKIH0gV0dQVUNvbXBpbGF0aW9uTWVzc2FnZTsKIAotdHlwZWRlZiBzdHJ1Y3QgV0dQVUNvbXB1
dGVQYXNzRGVzY3JpcHRvciB7Ci0gICAgV0dQVUNoYWluZWRTdHJ1Y3QgY29uc3QgKiBuZXh0SW5D
aGFpbjsKLSAgICBjaGFyIGNvbnN0ICogbGFiZWw7Ci19IFdHUFVDb21wdXRlUGFzc0Rlc2NyaXB0
b3I7Cit0eXBlZGVmIHN0cnVjdCBXR1BVQ29tcHV0ZVBhc3NUaW1lc3RhbXBXcml0ZSB7CisgICAg
V0dQVVF1ZXJ5U2V0IHF1ZXJ5U2V0OworICAgIHVpbnQzMl90IHF1ZXJ5SW5kZXg7CisgICAgV0dQ
VUNvbXB1dGVQYXNzVGltZXN0YW1wTG9jYXRpb24gbG9jYXRpb247Cit9IFdHUFVDb21wdXRlUGFz
c1RpbWVzdGFtcFdyaXRlOwogCiB0eXBlZGVmIHN0cnVjdCBXR1BVQ29uc3RhbnRFbnRyeSB7CiAg
ICAgV0dQVUNoYWluZWRTdHJ1Y3QgY29uc3QgKiBuZXh0SW5DaGFpbjsKQEAgLTcwMiwxMCArNzY5
LDEwIEBAIHR5cGVkZWYgc3RydWN0IFdHUFVQaXBlbGluZUxheW91dERlc2NyaXB0b3IgewogICAg
IFdHUFVCaW5kR3JvdXBMYXlvdXQgY29uc3QgKiBiaW5kR3JvdXBMYXlvdXRzOwogfSBXR1BVUGlw
ZWxpbmVMYXlvdXREZXNjcmlwdG9yOwogCi10eXBlZGVmIHN0cnVjdCBXR1BVUHJpbWl0aXZlRGVw
dGhDbGFtcGluZ1N0YXRlIHsKK3R5cGVkZWYgc3RydWN0IFdHUFVQcmltaXRpdmVEZXB0aENsaXBD
b250cm9sIHsKICAgICBXR1BVQ2hhaW5lZFN0cnVjdCBjaGFpbjsKLSAgICBib29sIGNsYW1wRGVw
dGg7Ci19IFdHUFVQcmltaXRpdmVEZXB0aENsYW1waW5nU3RhdGU7CisgICAgYm9vbCB1bmNsaXBw
ZWREZXB0aDsKK30gV0dQVVByaW1pdGl2ZURlcHRoQ2xpcENvbnRyb2w7CiAKIHR5cGVkZWYgc3Ry
dWN0IFdHUFVQcmltaXRpdmVTdGF0ZSB7CiAgICAgV0dQVUNoYWluZWRTdHJ1Y3QgY29uc3QgKiBu
ZXh0SW5DaGFpbjsKQEAgLTczNiw2ICs4MDMsOCBAQCB0eXBlZGVmIHN0cnVjdCBXR1BVUmVuZGVy
QnVuZGxlRW5jb2RlckRlc2NyaXB0b3IgewogICAgIFdHUFVUZXh0dXJlRm9ybWF0IGNvbnN0ICog
Y29sb3JGb3JtYXRzOwogICAgIFdHUFVUZXh0dXJlRm9ybWF0IGRlcHRoU3RlbmNpbEZvcm1hdDsK
ICAgICB1aW50MzJfdCBzYW1wbGVDb3VudDsKKyAgICBib29sIGRlcHRoUmVhZE9ubHk7CisgICAg
Ym9vbCBzdGVuY2lsUmVhZE9ubHk7CiB9IFdHUFVSZW5kZXJCdW5kbGVFbmNvZGVyRGVzY3JpcHRv
cjsKIAogdHlwZWRlZiBzdHJ1Y3QgV0dQVVJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50
IHsKQEAgLTc1MCw2ICs4MTksMTIgQEAgdHlwZWRlZiBzdHJ1Y3QgV0dQVVJlbmRlclBhc3NEZXB0
aFN0ZW5jaWxBdHRhY2htZW50IHsKICAgICBib29sIHN0ZW5jaWxSZWFkT25seTsKIH0gV0dQVVJl
bmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50OwogCit0eXBlZGVmIHN0cnVjdCBXR1BVUmVu
ZGVyUGFzc1RpbWVzdGFtcFdyaXRlIHsKKyAgICBXR1BVUXVlcnlTZXQgcXVlcnlTZXQ7CisgICAg
dWludDMyX3QgcXVlcnlJbmRleDsKKyAgICBXR1BVUmVuZGVyUGFzc1RpbWVzdGFtcExvY2F0aW9u
IGxvY2F0aW9uOworfSBXR1BVUmVuZGVyUGFzc1RpbWVzdGFtcFdyaXRlOworCiB0eXBlZGVmIHN0
cnVjdCBXR1BVUmVxdWVzdEFkYXB0ZXJPcHRpb25zIHsKICAgICBXR1BVQ2hhaW5lZFN0cnVjdCBj
b25zdCAqIG5leHRJbkNoYWluOwogICAgIFdHUFVTdXJmYWNlIGNvbXBhdGlibGVTdXJmYWNlOwpA
QCAtNzkwLDcgKzg2NSw3IEBAIHR5cGVkZWYgc3RydWN0IFdHUFVTaGFkZXJNb2R1bGVTUElSVkRl
c2NyaXB0b3IgewogCiB0eXBlZGVmIHN0cnVjdCBXR1BVU2hhZGVyTW9kdWxlV0dTTERlc2NyaXB0
b3IgewogICAgIFdHUFVDaGFpbmVkU3RydWN0IGNoYWluOwotICAgIGNoYXIgY29uc3QgKiBzb3Vy
Y2U7CisgICAgY2hhciBjb25zdCAqIGNvZGU7CiB9IFdHUFVTaGFkZXJNb2R1bGVXR1NMRGVzY3Jp
cHRvcjsKIAogdHlwZWRlZiBzdHJ1Y3QgV0dQVVN0ZW5jaWxGYWNlU3RhdGUgewpAQCAtODM0LDYg
KzkwOSwxNyBAQCB0eXBlZGVmIHN0cnVjdCBXR1BVU3VyZmFjZURlc2NyaXB0b3JGcm9tWGxpYiB7
CiAgICAgdWludDMyX3Qgd2luZG93OwogfSBXR1BVU3VyZmFjZURlc2NyaXB0b3JGcm9tWGxpYjsK
IAordHlwZWRlZiBzdHJ1Y3QgV0dQVVN1cmZhY2VEZXNjcmlwdG9yRnJvbVdheWxhbmRTdXJmYWNl
IHsKKyAgICBXR1BVQ2hhaW5lZFN0cnVjdCBjaGFpbjsKKyAgICB2b2lkICogZGlzcGxheTsKKyAg
ICB2b2lkICogc3VyZmFjZTsKK30gV0dQVVN1cmZhY2VEZXNjcmlwdG9yRnJvbVdheWxhbmRTdXJm
YWNlOworCit0eXBlZGVmIHN0cnVjdCBXR1BVU3VyZmFjZURlc2NyaXB0b3JGcm9tQW5kcm9pZE5h
dGl2ZVdpbmRvdyB7CisgICAgV0dQVUNoYWluZWRTdHJ1Y3QgY2hhaW47CisgICAgdm9pZCAqIHdp
bmRvdzsKK30gV0dQVVN1cmZhY2VEZXNjcmlwdG9yRnJvbUFuZHJvaWROYXRpdmVXaW5kb3c7CisK
IHR5cGVkZWYgc3RydWN0IFdHUFVTd2FwQ2hhaW5EZXNjcmlwdG9yIHsKICAgICBXR1BVQ2hhaW5l
ZFN0cnVjdCBjb25zdCAqIG5leHRJbkNoYWluOwogICAgIGNoYXIgY29uc3QgKiBsYWJlbDsKQEAg
LTkwNSw2ICs5OTEsMTMgQEAgdHlwZWRlZiBzdHJ1Y3QgV0dQVUNvbXBpbGF0aW9uSW5mbyB7CiAg
ICAgV0dQVUNvbXBpbGF0aW9uTWVzc2FnZSBjb25zdCAqIG1lc3NhZ2VzOwogfSBXR1BVQ29tcGls
YXRpb25JbmZvOwogCit0eXBlZGVmIHN0cnVjdCBXR1BVQ29tcHV0ZVBhc3NEZXNjcmlwdG9yIHsK
KyAgICBXR1BVQ2hhaW5lZFN0cnVjdCBjb25zdCAqIG5leHRJbkNoYWluOworICAgIGNoYXIgY29u
c3QgKiBsYWJlbDsKKyAgICB1aW50MzJfdCB0aW1lc3RhbXBXcml0ZUNvdW50OworICAgIFdHUFVD
b21wdXRlUGFzc1RpbWVzdGFtcFdyaXRlIGNvbnN0ICogdGltZXN0YW1wV3JpdGVzOworfSBXR1BV
Q29tcHV0ZVBhc3NEZXNjcmlwdG9yOworCiB0eXBlZGVmIHN0cnVjdCBXR1BVRGVwdGhTdGVuY2ls
U3RhdGUgewogICAgIFdHUFVDaGFpbmVkU3RydWN0IGNvbnN0ICogbmV4dEluQ2hhaW47CiAgICAg
V0dQVVRleHR1cmVGb3JtYXQgZm9ybWF0OwpAQCAtMTAwMCw2ICsxMDkzLDcgQEAgdHlwZWRlZiBz
dHJ1Y3QgV0dQVUNvbXB1dGVQaXBlbGluZURlc2NyaXB0b3IgewogCiB0eXBlZGVmIHN0cnVjdCBX
R1BVRGV2aWNlRGVzY3JpcHRvciB7CiAgICAgV0dQVUNoYWluZWRTdHJ1Y3QgY29uc3QgKiBuZXh0
SW5DaGFpbjsKKyAgICBjaGFyIGNvbnN0ICogbGFiZWw7CiAgICAgdWludDMyX3QgcmVxdWlyZWRG
ZWF0dXJlc0NvdW50OwogICAgIFdHUFVGZWF0dXJlTmFtZSBjb25zdCAqIHJlcXVpcmVkRmVhdHVy
ZXM7CiAgICAgV0dQVVJlcXVpcmVkTGltaXRzIGNvbnN0ICogcmVxdWlyZWRMaW1pdHM7CkBAIC0x
MDEyLDYgKzExMDYsOCBAQCB0eXBlZGVmIHN0cnVjdCBXR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3Ig
ewogICAgIFdHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50IGNvbnN0ICogY29sb3JBdHRhY2ht
ZW50czsKICAgICBXR1BVUmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQgY29uc3QgKiBk
ZXB0aFN0ZW5jaWxBdHRhY2htZW50OwogICAgIFdHUFVRdWVyeVNldCBvY2NsdXNpb25RdWVyeVNl
dDsKKyAgICB1aW50MzJfdCB0aW1lc3RhbXBXcml0ZUNvdW50OworICAgIFdHUFVSZW5kZXJQYXNz
VGltZXN0YW1wV3JpdGUgY29uc3QgKiB0aW1lc3RhbXBXcml0ZXM7CiB9IFdHUFVSZW5kZXJQYXNz
RGVzY3JpcHRvcjsKIAogdHlwZWRlZiBzdHJ1Y3QgV0dQVVZlcnRleFN0YXRlIHsKQEAgLTEwNTAs
MjIgKzExNDYsMjMgQEAgZXh0ZXJuICJDIiB7CiAjZW5kaWYKIAogdHlwZWRlZiB2b2lkICgqV0dQ
VUJ1ZmZlck1hcENhbGxiYWNrKShXR1BVQnVmZmVyTWFwQXN5bmNTdGF0dXMgc3RhdHVzLCB2b2lk
ICogdXNlcmRhdGEpOwordHlwZWRlZiB2b2lkICgqV0dQVUNvbXBpbGF0aW9uSW5mb0NhbGxiYWNr
KShXR1BVQ29tcGlsYXRpb25JbmZvUmVxdWVzdFN0YXR1cyBzdGF0dXMsIFdHUFVDb21waWxhdGlv
bkluZm8gY29uc3QgKiBjb21waWxhdGlvbkluZm8sIHZvaWQgKiB1c2VyZGF0YSk7CiB0eXBlZGVm
IHZvaWQgKCpXR1BVQ3JlYXRlQ29tcHV0ZVBpcGVsaW5lQXN5bmNDYWxsYmFjaykoV0dQVUNyZWF0
ZVBpcGVsaW5lQXN5bmNTdGF0dXMgc3RhdHVzLCBXR1BVQ29tcHV0ZVBpcGVsaW5lIHBpcGVsaW5l
LCBjaGFyIGNvbnN0ICogbWVzc2FnZSwgdm9pZCAqIHVzZXJkYXRhKTsKIHR5cGVkZWYgdm9pZCAo
KldHUFVDcmVhdGVSZW5kZXJQaXBlbGluZUFzeW5jQ2FsbGJhY2spKFdHUFVDcmVhdGVQaXBlbGlu
ZUFzeW5jU3RhdHVzIHN0YXR1cywgV0dQVVJlbmRlclBpcGVsaW5lIHBpcGVsaW5lLCBjaGFyIGNv
bnN0ICogbWVzc2FnZSwgdm9pZCAqIHVzZXJkYXRhKTsKIHR5cGVkZWYgdm9pZCAoKldHUFVEZXZp
Y2VMb3N0Q2FsbGJhY2spKFdHUFVEZXZpY2VMb3N0UmVhc29uIHJlYXNvbiwgY2hhciBjb25zdCAq
IG1lc3NhZ2UsIHZvaWQgKiB1c2VyZGF0YSk7CiB0eXBlZGVmIHZvaWQgKCpXR1BVRXJyb3JDYWxs
YmFjaykoV0dQVUVycm9yVHlwZSB0eXBlLCBjaGFyIGNvbnN0ICogbWVzc2FnZSwgdm9pZCAqIHVz
ZXJkYXRhKTsKK3R5cGVkZWYgdm9pZCAoKldHUFVQcm9jKSgpOwogdHlwZWRlZiB2b2lkICgqV0dQ
VVF1ZXVlV29ya0RvbmVDYWxsYmFjaykoV0dQVVF1ZXVlV29ya0RvbmVTdGF0dXMgc3RhdHVzLCB2
b2lkICogdXNlcmRhdGEpOwogdHlwZWRlZiB2b2lkICgqV0dQVVJlcXVlc3RBZGFwdGVyQ2FsbGJh
Y2spKFdHUFVSZXF1ZXN0QWRhcHRlclN0YXR1cyBzdGF0dXMsIFdHUFVBZGFwdGVyIGFkYXB0ZXIs
IGNoYXIgY29uc3QgKiBtZXNzYWdlLCB2b2lkICogdXNlcmRhdGEpOwogdHlwZWRlZiB2b2lkICgq
V0dQVVJlcXVlc3REZXZpY2VDYWxsYmFjaykoV0dQVVJlcXVlc3REZXZpY2VTdGF0dXMgc3RhdHVz
LCBXR1BVRGV2aWNlIGRldmljZSwgY2hhciBjb25zdCAqIG1lc3NhZ2UsIHZvaWQgKiB1c2VyZGF0
YSk7CiAKLXR5cGVkZWYgdm9pZCAoKldHUFVQcm9jKSh2b2lkKTsKLQogI2lmICFkZWZpbmVkKFdH
UFVfU0tJUF9QUk9DUykKIAogdHlwZWRlZiBXR1BVSW5zdGFuY2UgKCpXR1BVUHJvY0NyZWF0ZUlu
c3RhbmNlKShXR1BVSW5zdGFuY2VEZXNjcmlwdG9yIGNvbnN0ICogZGVzY3JpcHRvcik7CiB0eXBl
ZGVmIFdHUFVQcm9jICgqV0dQVVByb2NHZXRQcm9jQWRkcmVzcykoV0dQVURldmljZSBkZXZpY2Us
IGNoYXIgY29uc3QgKiBwcm9jTmFtZSk7CiAKIC8vIFByb2NzIG9mIEFkYXB0ZXIKK3R5cGVkZWYg
c2l6ZV90ICgqV0dQVVByb2NBZGFwdGVyRW51bWVyYXRlRmVhdHVyZXMpKFdHUFVBZGFwdGVyIGFk
YXB0ZXIsIFdHUFVGZWF0dXJlTmFtZSogZmVhdHVyZXMpOwogdHlwZWRlZiBib29sICgqV0dQVVBy
b2NBZGFwdGVyR2V0TGltaXRzKShXR1BVQWRhcHRlciBhZGFwdGVyLCBXR1BVU3VwcG9ydGVkTGlt
aXRzICogbGltaXRzKTsKIHR5cGVkZWYgdm9pZCAoKldHUFVQcm9jQWRhcHRlckdldFByb3BlcnRp
ZXMpKFdHUFVBZGFwdGVyIGFkYXB0ZXIsIFdHUFVBZGFwdGVyUHJvcGVydGllcyAqIHByb3BlcnRp
ZXMpOwogdHlwZWRlZiBib29sICgqV0dQVVByb2NBZGFwdGVySGFzRmVhdHVyZSkoV0dQVUFkYXB0
ZXIgYWRhcHRlciwgV0dQVUZlYXR1cmVOYW1lIGZlYXR1cmUpOwpAQCAtMTA4MSw2ICsxMTc4LDcg
QEAgdHlwZWRlZiB2b2lkICgqV0dQVVByb2NCdWZmZXJVbm1hcCkoV0dQVUJ1ZmZlciBidWZmZXIp
OwogLy8gUHJvY3Mgb2YgQ29tbWFuZEVuY29kZXIKIHR5cGVkZWYgV0dQVUNvbXB1dGVQYXNzRW5j
b2RlciAoKldHUFVQcm9jQ29tbWFuZEVuY29kZXJCZWdpbkNvbXB1dGVQYXNzKShXR1BVQ29tbWFu
ZEVuY29kZXIgY29tbWFuZEVuY29kZXIsIFdHUFVDb21wdXRlUGFzc0Rlc2NyaXB0b3IgY29uc3Qg
KiBkZXNjcmlwdG9yKTsKIHR5cGVkZWYgV0dQVVJlbmRlclBhc3NFbmNvZGVyICgqV0dQVVByb2ND
b21tYW5kRW5jb2RlckJlZ2luUmVuZGVyUGFzcykoV0dQVUNvbW1hbmRFbmNvZGVyIGNvbW1hbmRF
bmNvZGVyLCBXR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IgY29uc3QgKiBkZXNjcmlwdG9yKTsKK3R5
cGVkZWYgdm9pZCAoKldHUFVQcm9jQ29tbWFuZEVuY29kZXJDbGVhckJ1ZmZlcikoV0dQVUNvbW1h
bmRFbmNvZGVyIGNvbW1hbmRFbmNvZGVyLCBXR1BVQnVmZmVyIGJ1ZmZlciwgdWludDY0X3Qgb2Zm
c2V0LCB1aW50NjRfdCBzaXplKTsKIHR5cGVkZWYgdm9pZCAoKldHUFVQcm9jQ29tbWFuZEVuY29k
ZXJDb3B5QnVmZmVyVG9CdWZmZXIpKFdHUFVDb21tYW5kRW5jb2RlciBjb21tYW5kRW5jb2Rlciwg
V0dQVUJ1ZmZlciBzb3VyY2UsIHVpbnQ2NF90IHNvdXJjZU9mZnNldCwgV0dQVUJ1ZmZlciBkZXN0
aW5hdGlvbiwgdWludDY0X3QgZGVzdGluYXRpb25PZmZzZXQsIHVpbnQ2NF90IHNpemUpOwogdHlw
ZWRlZiB2b2lkICgqV0dQVVByb2NDb21tYW5kRW5jb2RlckNvcHlCdWZmZXJUb1RleHR1cmUpKFdH
UFVDb21tYW5kRW5jb2RlciBjb21tYW5kRW5jb2RlciwgV0dQVUltYWdlQ29weUJ1ZmZlciBjb25z
dCAqIHNvdXJjZSwgV0dQVUltYWdlQ29weVRleHR1cmUgY29uc3QgKiBkZXN0aW5hdGlvbiwgV0dQ
VUV4dGVudDNEIGNvbnN0ICogY29weVNpemUpOwogdHlwZWRlZiB2b2lkICgqV0dQVVByb2NDb21t
YW5kRW5jb2RlckNvcHlUZXh0dXJlVG9CdWZmZXIpKFdHUFVDb21tYW5kRW5jb2RlciBjb21tYW5k
RW5jb2RlciwgV0dQVUltYWdlQ29weVRleHR1cmUgY29uc3QgKiBzb3VyY2UsIFdHUFVJbWFnZUNv
cHlCdWZmZXIgY29uc3QgKiBkZXN0aW5hdGlvbiwgV0dQVUV4dGVudDNEIGNvbnN0ICogY29weVNp
emUpOwpAQCAtMTEwMyw3ICsxMjAxLDYgQEAgdHlwZWRlZiB2b2lkICgqV0dQVVByb2NDb21wdXRl
UGFzc0VuY29kZXJQb3BEZWJ1Z0dyb3VwKShXR1BVQ29tcHV0ZVBhc3NFbmNvZGVyIGMKIHR5cGVk
ZWYgdm9pZCAoKldHUFVQcm9jQ29tcHV0ZVBhc3NFbmNvZGVyUHVzaERlYnVnR3JvdXApKFdHUFVD
b21wdXRlUGFzc0VuY29kZXIgY29tcHV0ZVBhc3NFbmNvZGVyLCBjaGFyIGNvbnN0ICogZ3JvdXBM
YWJlbCk7CiB0eXBlZGVmIHZvaWQgKCpXR1BVUHJvY0NvbXB1dGVQYXNzRW5jb2RlclNldEJpbmRH
cm91cCkoV0dQVUNvbXB1dGVQYXNzRW5jb2RlciBjb21wdXRlUGFzc0VuY29kZXIsIHVpbnQzMl90
IGdyb3VwSW5kZXgsIFdHUFVCaW5kR3JvdXAgZ3JvdXAsIHVpbnQzMl90IGR5bmFtaWNPZmZzZXRD
b3VudCwgdWludDMyX3QgY29uc3QgKiBkeW5hbWljT2Zmc2V0cyk7CiB0eXBlZGVmIHZvaWQgKCpX
R1BVUHJvY0NvbXB1dGVQYXNzRW5jb2RlclNldFBpcGVsaW5lKShXR1BVQ29tcHV0ZVBhc3NFbmNv
ZGVyIGNvbXB1dGVQYXNzRW5jb2RlciwgV0dQVUNvbXB1dGVQaXBlbGluZSBwaXBlbGluZSk7Ci10
eXBlZGVmIHZvaWQgKCpXR1BVUHJvY0NvbXB1dGVQYXNzRW5jb2RlcldyaXRlVGltZXN0YW1wKShX
R1BVQ29tcHV0ZVBhc3NFbmNvZGVyIGNvbXB1dGVQYXNzRW5jb2RlciwgV0dQVVF1ZXJ5U2V0IHF1
ZXJ5U2V0LCB1aW50MzJfdCBxdWVyeUluZGV4KTsKIAogLy8gUHJvY3Mgb2YgQ29tcHV0ZVBpcGVs
aW5lCiB0eXBlZGVmIFdHUFVCaW5kR3JvdXBMYXlvdXQgKCpXR1BVUHJvY0NvbXB1dGVQaXBlbGlu
ZUdldEJpbmRHcm91cExheW91dCkoV0dQVUNvbXB1dGVQaXBlbGluZSBjb21wdXRlUGlwZWxpbmUs
IHVpbnQzMl90IGdyb3VwSW5kZXgpOwpAQCAtMTEyNiw4ICsxMjIzLDEwIEBAIHR5cGVkZWYgV0dQ
VVNoYWRlck1vZHVsZSAoKldHUFVQcm9jRGV2aWNlQ3JlYXRlU2hhZGVyTW9kdWxlKShXR1BVRGV2
aWNlIGRldmljZSwKIHR5cGVkZWYgV0dQVVN3YXBDaGFpbiAoKldHUFVQcm9jRGV2aWNlQ3JlYXRl
U3dhcENoYWluKShXR1BVRGV2aWNlIGRldmljZSwgV0dQVVN1cmZhY2Ugc3VyZmFjZSwgV0dQVVN3
YXBDaGFpbkRlc2NyaXB0b3IgY29uc3QgKiBkZXNjcmlwdG9yKTsKIHR5cGVkZWYgV0dQVVRleHR1
cmUgKCpXR1BVUHJvY0RldmljZUNyZWF0ZVRleHR1cmUpKFdHUFVEZXZpY2UgZGV2aWNlLCBXR1BV
VGV4dHVyZURlc2NyaXB0b3IgY29uc3QgKiBkZXNjcmlwdG9yKTsKIHR5cGVkZWYgdm9pZCAoKldH
UFVQcm9jRGV2aWNlRGVzdHJveSkoV0dQVURldmljZSBkZXZpY2UpOwordHlwZWRlZiBzaXplX3Qg
KCpXR1BVUHJvY0RldmljZUVudW1lcmF0ZUZlYXR1cmVzKShXR1BVRGV2aWNlIGRldmljZSwgV0dQ
VUZlYXR1cmVOYW1lKiBmZWF0dXJlcyk7CiB0eXBlZGVmIGJvb2wgKCpXR1BVUHJvY0RldmljZUdl
dExpbWl0cykoV0dQVURldmljZSBkZXZpY2UsIFdHUFVTdXBwb3J0ZWRMaW1pdHMgKiBsaW1pdHMp
OwogdHlwZWRlZiBXR1BVUXVldWUgKCpXR1BVUHJvY0RldmljZUdldFF1ZXVlKShXR1BVRGV2aWNl
IGRldmljZSk7Cit0eXBlZGVmIGJvb2wgKCpXR1BVUHJvY0RldmljZUhhc0ZlYXR1cmUpKFdHUFVE
ZXZpY2UgZGV2aWNlLCBXR1BVRmVhdHVyZU5hbWUgZmVhdHVyZSk7CiB0eXBlZGVmIGJvb2wgKCpX
R1BVUHJvY0RldmljZVBvcEVycm9yU2NvcGUpKFdHUFVEZXZpY2UgZGV2aWNlLCBXR1BVRXJyb3JD
YWxsYmFjayBjYWxsYmFjaywgdm9pZCAqIHVzZXJkYXRhKTsKIHR5cGVkZWYgdm9pZCAoKldHUFVQ
cm9jRGV2aWNlUHVzaEVycm9yU2NvcGUpKFdHUFVEZXZpY2UgZGV2aWNlLCBXR1BVRXJyb3JGaWx0
ZXIgZmlsdGVyKTsKIHR5cGVkZWYgdm9pZCAoKldHUFVQcm9jRGV2aWNlU2V0RGV2aWNlTG9zdENh
bGxiYWNrKShXR1BVRGV2aWNlIGRldmljZSwgV0dQVURldmljZUxvc3RDYWxsYmFjayBjYWxsYmFj
aywgdm9pZCAqIHVzZXJkYXRhKTsKQEAgLTExODMsMTMgKzEyODIsMTMgQEAgdHlwZWRlZiB2b2lk
ICgqV0dQVVByb2NSZW5kZXJQYXNzRW5jb2RlclNldFNjaXNzb3JSZWN0KShXR1BVUmVuZGVyUGFz
c0VuY29kZXIgcmUKIHR5cGVkZWYgdm9pZCAoKldHUFVQcm9jUmVuZGVyUGFzc0VuY29kZXJTZXRT
dGVuY2lsUmVmZXJlbmNlKShXR1BVUmVuZGVyUGFzc0VuY29kZXIgcmVuZGVyUGFzc0VuY29kZXIs
IHVpbnQzMl90IHJlZmVyZW5jZSk7CiB0eXBlZGVmIHZvaWQgKCpXR1BVUHJvY1JlbmRlclBhc3NF
bmNvZGVyU2V0VmVydGV4QnVmZmVyKShXR1BVUmVuZGVyUGFzc0VuY29kZXIgcmVuZGVyUGFzc0Vu
Y29kZXIsIHVpbnQzMl90IHNsb3QsIFdHUFVCdWZmZXIgYnVmZmVyLCB1aW50NjRfdCBvZmZzZXQs
IHVpbnQ2NF90IHNpemUpOwogdHlwZWRlZiB2b2lkICgqV0dQVVByb2NSZW5kZXJQYXNzRW5jb2Rl
clNldFZpZXdwb3J0KShXR1BVUmVuZGVyUGFzc0VuY29kZXIgcmVuZGVyUGFzc0VuY29kZXIsIGZs
b2F0IHgsIGZsb2F0IHksIGZsb2F0IHdpZHRoLCBmbG9hdCBoZWlnaHQsIGZsb2F0IG1pbkRlcHRo
LCBmbG9hdCBtYXhEZXB0aCk7Ci10eXBlZGVmIHZvaWQgKCpXR1BVUHJvY1JlbmRlclBhc3NFbmNv
ZGVyV3JpdGVUaW1lc3RhbXApKFdHUFVSZW5kZXJQYXNzRW5jb2RlciByZW5kZXJQYXNzRW5jb2Rl
ciwgV0dQVVF1ZXJ5U2V0IHF1ZXJ5U2V0LCB1aW50MzJfdCBxdWVyeUluZGV4KTsKIAogLy8gUHJv
Y3Mgb2YgUmVuZGVyUGlwZWxpbmUKIHR5cGVkZWYgV0dQVUJpbmRHcm91cExheW91dCAoKldHUFVQ
cm9jUmVuZGVyUGlwZWxpbmVHZXRCaW5kR3JvdXBMYXlvdXQpKFdHUFVSZW5kZXJQaXBlbGluZSBy
ZW5kZXJQaXBlbGluZSwgdWludDMyX3QgZ3JvdXBJbmRleCk7CiB0eXBlZGVmIHZvaWQgKCpXR1BV
UHJvY1JlbmRlclBpcGVsaW5lU2V0TGFiZWwpKFdHUFVSZW5kZXJQaXBlbGluZSByZW5kZXJQaXBl
bGluZSwgY2hhciBjb25zdCAqIGxhYmVsKTsKIAogLy8gUHJvY3Mgb2YgU2hhZGVyTW9kdWxlCit0
eXBlZGVmIHZvaWQgKCpXR1BVUHJvY1NoYWRlck1vZHVsZUdldENvbXBpbGF0aW9uSW5mbykoV0dQ
VVNoYWRlck1vZHVsZSBzaGFkZXJNb2R1bGUsIFdHUFVDb21waWxhdGlvbkluZm9DYWxsYmFjayBj
YWxsYmFjaywgdm9pZCAqIHVzZXJkYXRhKTsKIHR5cGVkZWYgdm9pZCAoKldHUFVQcm9jU2hhZGVy
TW9kdWxlU2V0TGFiZWwpKFdHUFVTaGFkZXJNb2R1bGUgc2hhZGVyTW9kdWxlLCBjaGFyIGNvbnN0
ICogbGFiZWwpOwogCiAvLyBQcm9jcyBvZiBTdXJmYWNlCkBAIC0xMjExLDYgKzEzMTAsNyBAQCBX
R1BVX0VYUE9SVCBXR1BVSW5zdGFuY2Ugd2dwdUNyZWF0ZUluc3RhbmNlKFdHUFVJbnN0YW5jZURl
c2NyaXB0b3IgY29uc3QgKiBkZXNjcgogV0dQVV9FWFBPUlQgV0dQVVByb2Mgd2dwdUdldFByb2NB
ZGRyZXNzKFdHUFVEZXZpY2UgZGV2aWNlLCBjaGFyIGNvbnN0ICogcHJvY05hbWUpOwogCiAvLyBN
ZXRob2RzIG9mIEFkYXB0ZXIKK1dHUFVfRVhQT1JUIHNpemVfdCB3Z3B1QWRhcHRlckVudW1lcmF0
ZUZlYXR1cmVzKFdHUFVBZGFwdGVyIGFkYXB0ZXIsIFdHUFVGZWF0dXJlTmFtZSogZmVhdHVyZXMp
OwogV0dQVV9FWFBPUlQgYm9vbCB3Z3B1QWRhcHRlckdldExpbWl0cyhXR1BVQWRhcHRlciBhZGFw
dGVyLCBXR1BVU3VwcG9ydGVkTGltaXRzICogbGltaXRzKTsKIFdHUFVfRVhQT1JUIHZvaWQgd2dw
dUFkYXB0ZXJHZXRQcm9wZXJ0aWVzKFdHUFVBZGFwdGVyIGFkYXB0ZXIsIFdHUFVBZGFwdGVyUHJv
cGVydGllcyAqIHByb3BlcnRpZXMpOwogV0dQVV9FWFBPUlQgYm9vbCB3Z3B1QWRhcHRlckhhc0Zl
YXR1cmUoV0dQVUFkYXB0ZXIgYWRhcHRlciwgV0dQVUZlYXR1cmVOYW1lIGZlYXR1cmUpOwpAQCAt
MTIyNiw2ICsxMzI2LDcgQEAgV0dQVV9FWFBPUlQgdm9pZCB3Z3B1QnVmZmVyVW5tYXAoV0dQVUJ1
ZmZlciBidWZmZXIpOwogLy8gTWV0aG9kcyBvZiBDb21tYW5kRW5jb2RlcgogV0dQVV9FWFBPUlQg
V0dQVUNvbXB1dGVQYXNzRW5jb2RlciB3Z3B1Q29tbWFuZEVuY29kZXJCZWdpbkNvbXB1dGVQYXNz
KFdHUFVDb21tYW5kRW5jb2RlciBjb21tYW5kRW5jb2RlciwgV0dQVUNvbXB1dGVQYXNzRGVzY3Jp
cHRvciBjb25zdCAqIGRlc2NyaXB0b3IpOwogV0dQVV9FWFBPUlQgV0dQVVJlbmRlclBhc3NFbmNv
ZGVyIHdncHVDb21tYW5kRW5jb2RlckJlZ2luUmVuZGVyUGFzcyhXR1BVQ29tbWFuZEVuY29kZXIg
Y29tbWFuZEVuY29kZXIsIFdHUFVSZW5kZXJQYXNzRGVzY3JpcHRvciBjb25zdCAqIGRlc2NyaXB0
b3IpOworV0dQVV9FWFBPUlQgdm9pZCB3Z3B1Q29tbWFuZEVuY29kZXJDbGVhckJ1ZmZlcihXR1BV
Q29tbWFuZEVuY29kZXIgY29tbWFuZEVuY29kZXIsIFdHUFVCdWZmZXIgYnVmZmVyLCB1aW50NjRf
dCBvZmZzZXQsIHVpbnQ2NF90IHNpemUpOwogV0dQVV9FWFBPUlQgdm9pZCB3Z3B1Q29tbWFuZEVu
Y29kZXJDb3B5QnVmZmVyVG9CdWZmZXIoV0dQVUNvbW1hbmRFbmNvZGVyIGNvbW1hbmRFbmNvZGVy
LCBXR1BVQnVmZmVyIHNvdXJjZSwgdWludDY0X3Qgc291cmNlT2Zmc2V0LCBXR1BVQnVmZmVyIGRl
c3RpbmF0aW9uLCB1aW50NjRfdCBkZXN0aW5hdGlvbk9mZnNldCwgdWludDY0X3Qgc2l6ZSk7CiBX
R1BVX0VYUE9SVCB2b2lkIHdncHVDb21tYW5kRW5jb2RlckNvcHlCdWZmZXJUb1RleHR1cmUoV0dQ
VUNvbW1hbmRFbmNvZGVyIGNvbW1hbmRFbmNvZGVyLCBXR1BVSW1hZ2VDb3B5QnVmZmVyIGNvbnN0
ICogc291cmNlLCBXR1BVSW1hZ2VDb3B5VGV4dHVyZSBjb25zdCAqIGRlc3RpbmF0aW9uLCBXR1BV
RXh0ZW50M0QgY29uc3QgKiBjb3B5U2l6ZSk7CiBXR1BVX0VYUE9SVCB2b2lkIHdncHVDb21tYW5k
RW5jb2RlckNvcHlUZXh0dXJlVG9CdWZmZXIoV0dQVUNvbW1hbmRFbmNvZGVyIGNvbW1hbmRFbmNv
ZGVyLCBXR1BVSW1hZ2VDb3B5VGV4dHVyZSBjb25zdCAqIHNvdXJjZSwgV0dQVUltYWdlQ29weUJ1
ZmZlciBjb25zdCAqIGRlc3RpbmF0aW9uLCBXR1BVRXh0ZW50M0QgY29uc3QgKiBjb3B5U2l6ZSk7
CkBAIC0xMjQ4LDcgKzEzNDksNiBAQCBXR1BVX0VYUE9SVCB2b2lkIHdncHVDb21wdXRlUGFzc0Vu
Y29kZXJQb3BEZWJ1Z0dyb3VwKFdHUFVDb21wdXRlUGFzc0VuY29kZXIgY29tcAogV0dQVV9FWFBP
UlQgdm9pZCB3Z3B1Q29tcHV0ZVBhc3NFbmNvZGVyUHVzaERlYnVnR3JvdXAoV0dQVUNvbXB1dGVQ
YXNzRW5jb2RlciBjb21wdXRlUGFzc0VuY29kZXIsIGNoYXIgY29uc3QgKiBncm91cExhYmVsKTsK
IFdHUFVfRVhQT1JUIHZvaWQgd2dwdUNvbXB1dGVQYXNzRW5jb2RlclNldEJpbmRHcm91cChXR1BV
Q29tcHV0ZVBhc3NFbmNvZGVyIGNvbXB1dGVQYXNzRW5jb2RlciwgdWludDMyX3QgZ3JvdXBJbmRl
eCwgV0dQVUJpbmRHcm91cCBncm91cCwgdWludDMyX3QgZHluYW1pY09mZnNldENvdW50LCB1aW50
MzJfdCBjb25zdCAqIGR5bmFtaWNPZmZzZXRzKTsKIFdHUFVfRVhQT1JUIHZvaWQgd2dwdUNvbXB1
dGVQYXNzRW5jb2RlclNldFBpcGVsaW5lKFdHUFVDb21wdXRlUGFzc0VuY29kZXIgY29tcHV0ZVBh
c3NFbmNvZGVyLCBXR1BVQ29tcHV0ZVBpcGVsaW5lIHBpcGVsaW5lKTsKLVdHUFVfRVhQT1JUIHZv
aWQgd2dwdUNvbXB1dGVQYXNzRW5jb2RlcldyaXRlVGltZXN0YW1wKFdHUFVDb21wdXRlUGFzc0Vu
Y29kZXIgY29tcHV0ZVBhc3NFbmNvZGVyLCBXR1BVUXVlcnlTZXQgcXVlcnlTZXQsIHVpbnQzMl90
IHF1ZXJ5SW5kZXgpOwogCiAvLyBNZXRob2RzIG9mIENvbXB1dGVQaXBlbGluZQogV0dQVV9FWFBP
UlQgV0dQVUJpbmRHcm91cExheW91dCB3Z3B1Q29tcHV0ZVBpcGVsaW5lR2V0QmluZEdyb3VwTGF5
b3V0KFdHUFVDb21wdXRlUGlwZWxpbmUgY29tcHV0ZVBpcGVsaW5lLCB1aW50MzJfdCBncm91cElu
ZGV4KTsKQEAgLTEyNzEsOCArMTM3MSwxMCBAQCBXR1BVX0VYUE9SVCBXR1BVU2hhZGVyTW9kdWxl
IHdncHVEZXZpY2VDcmVhdGVTaGFkZXJNb2R1bGUoV0dQVURldmljZSBkZXZpY2UsIFdHUAogV0dQ
VV9FWFBPUlQgV0dQVVN3YXBDaGFpbiB3Z3B1RGV2aWNlQ3JlYXRlU3dhcENoYWluKFdHUFVEZXZp
Y2UgZGV2aWNlLCBXR1BVU3VyZmFjZSBzdXJmYWNlLCBXR1BVU3dhcENoYWluRGVzY3JpcHRvciBj
b25zdCAqIGRlc2NyaXB0b3IpOwogV0dQVV9FWFBPUlQgV0dQVVRleHR1cmUgd2dwdURldmljZUNy
ZWF0ZVRleHR1cmUoV0dQVURldmljZSBkZXZpY2UsIFdHUFVUZXh0dXJlRGVzY3JpcHRvciBjb25z
dCAqIGRlc2NyaXB0b3IpOwogV0dQVV9FWFBPUlQgdm9pZCB3Z3B1RGV2aWNlRGVzdHJveShXR1BV
RGV2aWNlIGRldmljZSk7CitXR1BVX0VYUE9SVCBzaXplX3Qgd2dwdURldmljZUVudW1lcmF0ZUZl
YXR1cmVzKFdHUFVEZXZpY2UgZGV2aWNlLCBXR1BVRmVhdHVyZU5hbWUqIGZlYXR1cmVzKTsKIFdH
UFVfRVhQT1JUIGJvb2wgd2dwdURldmljZUdldExpbWl0cyhXR1BVRGV2aWNlIGRldmljZSwgV0dQ
VVN1cHBvcnRlZExpbWl0cyAqIGxpbWl0cyk7CiBXR1BVX0VYUE9SVCBXR1BVUXVldWUgd2dwdURl
dmljZUdldFF1ZXVlKFdHUFVEZXZpY2UgZGV2aWNlKTsKK1dHUFVfRVhQT1JUIGJvb2wgd2dwdURl
dmljZUhhc0ZlYXR1cmUoV0dQVURldmljZSBkZXZpY2UsIFdHUFVGZWF0dXJlTmFtZSBmZWF0dXJl
KTsKIFdHUFVfRVhQT1JUIGJvb2wgd2dwdURldmljZVBvcEVycm9yU2NvcGUoV0dQVURldmljZSBk
ZXZpY2UsIFdHUFVFcnJvckNhbGxiYWNrIGNhbGxiYWNrLCB2b2lkICogdXNlcmRhdGEpOwogV0dQ
VV9FWFBPUlQgdm9pZCB3Z3B1RGV2aWNlUHVzaEVycm9yU2NvcGUoV0dQVURldmljZSBkZXZpY2Us
IFdHUFVFcnJvckZpbHRlciBmaWx0ZXIpOwogV0dQVV9FWFBPUlQgdm9pZCB3Z3B1RGV2aWNlU2V0
RGV2aWNlTG9zdENhbGxiYWNrKFdHUFVEZXZpY2UgZGV2aWNlLCBXR1BVRGV2aWNlTG9zdENhbGxi
YWNrIGNhbGxiYWNrLCB2b2lkICogdXNlcmRhdGEpOwpAQCAtMTMyOCwxMyArMTQzMCwxMyBAQCBX
R1BVX0VYUE9SVCB2b2lkIHdncHVSZW5kZXJQYXNzRW5jb2RlclNldFNjaXNzb3JSZWN0KFdHUFVS
ZW5kZXJQYXNzRW5jb2RlciByZW5kZQogV0dQVV9FWFBPUlQgdm9pZCB3Z3B1UmVuZGVyUGFzc0Vu
Y29kZXJTZXRTdGVuY2lsUmVmZXJlbmNlKFdHUFVSZW5kZXJQYXNzRW5jb2RlciByZW5kZXJQYXNz
RW5jb2RlciwgdWludDMyX3QgcmVmZXJlbmNlKTsKIFdHUFVfRVhQT1JUIHZvaWQgd2dwdVJlbmRl
clBhc3NFbmNvZGVyU2V0VmVydGV4QnVmZmVyKFdHUFVSZW5kZXJQYXNzRW5jb2RlciByZW5kZXJQ
YXNzRW5jb2RlciwgdWludDMyX3Qgc2xvdCwgV0dQVUJ1ZmZlciBidWZmZXIsIHVpbnQ2NF90IG9m
ZnNldCwgdWludDY0X3Qgc2l6ZSk7CiBXR1BVX0VYUE9SVCB2b2lkIHdncHVSZW5kZXJQYXNzRW5j
b2RlclNldFZpZXdwb3J0KFdHUFVSZW5kZXJQYXNzRW5jb2RlciByZW5kZXJQYXNzRW5jb2Rlciwg
ZmxvYXQgeCwgZmxvYXQgeSwgZmxvYXQgd2lkdGgsIGZsb2F0IGhlaWdodCwgZmxvYXQgbWluRGVw
dGgsIGZsb2F0IG1heERlcHRoKTsKLVdHUFVfRVhQT1JUIHZvaWQgd2dwdVJlbmRlclBhc3NFbmNv
ZGVyV3JpdGVUaW1lc3RhbXAoV0dQVVJlbmRlclBhc3NFbmNvZGVyIHJlbmRlclBhc3NFbmNvZGVy
LCBXR1BVUXVlcnlTZXQgcXVlcnlTZXQsIHVpbnQzMl90IHF1ZXJ5SW5kZXgpOwogCiAvLyBNZXRo
b2RzIG9mIFJlbmRlclBpcGVsaW5lCiBXR1BVX0VYUE9SVCBXR1BVQmluZEdyb3VwTGF5b3V0IHdn
cHVSZW5kZXJQaXBlbGluZUdldEJpbmRHcm91cExheW91dChXR1BVUmVuZGVyUGlwZWxpbmUgcmVu
ZGVyUGlwZWxpbmUsIHVpbnQzMl90IGdyb3VwSW5kZXgpOwogV0dQVV9FWFBPUlQgdm9pZCB3Z3B1
UmVuZGVyUGlwZWxpbmVTZXRMYWJlbChXR1BVUmVuZGVyUGlwZWxpbmUgcmVuZGVyUGlwZWxpbmUs
IGNoYXIgY29uc3QgKiBsYWJlbCk7CiAKIC8vIE1ldGhvZHMgb2YgU2hhZGVyTW9kdWxlCitXR1BV
X0VYUE9SVCB2b2lkIHdncHVTaGFkZXJNb2R1bGVHZXRDb21waWxhdGlvbkluZm8oV0dQVVNoYWRl
ck1vZHVsZSBzaGFkZXJNb2R1bGUsIFdHUFVDb21waWxhdGlvbkluZm9DYWxsYmFjayBjYWxsYmFj
aywgdm9pZCAqIHVzZXJkYXRhKTsKIFdHUFVfRVhQT1JUIHZvaWQgd2dwdVNoYWRlck1vZHVsZVNl
dExhYmVsKFdHUFVTaGFkZXJNb2R1bGUgc2hhZGVyTW9kdWxlLCBjaGFyIGNvbnN0ICogbGFiZWwp
OwogCiAvLyBNZXRob2RzIG9mIFN1cmZhY2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJHUFUvV2Vi
R1BVL1dlYkdQVUV4dC5oIGIvU291cmNlL1dlYkdQVS9XZWJHUFUvV2ViR1BVRXh0LmgKaW5kZXgg
NWE3MjhjMWZkOWM1YmExYjBhNmE2NGEwOTkyZjNhYTVmMGM2NDJlMS4uNmEwNmFiZjg2OGI2N2I0
OTU2NmY0YzI4MjJjYzVjMmI2MWUyNDlhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkdQVS9XZWJH
UFUvV2ViR1BVRXh0LmgKKysrIGIvU291cmNlL1dlYkdQVS9XZWJHUFUvV2ViR1BVRXh0LmgKQEAg
LTI2LDcxICsyNiw2IEBACiAjaWZuZGVmIFdFQkdQVUVYVF9IXwogI2RlZmluZSBXRUJHUFVFWFRf
SF8KIAotdHlwZWRlZiBlbnVtIFdHUFVTVHlwZUV4dGVuZGVkIHsKLSAgICBXR1BVU1R5cGVfRGV2
aWNlRGVzY3JpcHRvckxhYmVsID0gMHgyNDJBOTlFMCwgLy8gUmFuZG9tCi19IFdHUFVTVHlwZUV4
dGVuZGVkOwotCi10eXBlZGVmIGVudW0gV0dQVVRleHR1cmVGb3JtYXRFeHRlbmRlZCB7Ci0gICAg
V0dQVVRleHR1cmVGb3JtYXRfRVRDMlJHQjhVbm9ybSA9IDB4MjhDMjVDNjcsIC8vIFJhbmRvbQot
ICAgIFdHUFVUZXh0dXJlRm9ybWF0X0VUQzJSR0I4dW5vcm1TcmdiID0gMHg1NjZBQUZFRSwgLy8g
UmFuZG9tCi0gICAgV0dQVVRleHR1cmVGb3JtYXRfRVRDMlJHQjhhMVVub3JtID0gMHgyRjc5NDM0
OCwgLy8gUmFuZG9tCi0gICAgV0dQVVRleHR1cmVGb3JtYXRfRVRDMlJHQjhhMXVub3JtU3JnYiA9
IDB4NUVGMzhBQkEsIC8vIFJhbmRvbQotICAgIFdHUFVUZXh0dXJlRm9ybWF0X0VUQzJSR0JBOFVu
b3JtID0gMHg1QTRFNjQ4MCwgLy8gUmFuZG9tCi0gICAgV0dQVVRleHR1cmVGb3JtYXRfRVRDMlJH
QkE4VW5vcm1TcmdiID0gMHg3ODA5NjhFQiwgLy8gUmFuZG9tCi0gICAgV0dQVVRleHR1cmVGb3Jt
YXRfRUFDUjExVW5vcm0gPSAweDY5ODYzMDkwLCAvLyBSYW5kb20KLSAgICBXR1BVVGV4dHVyZUZv
cm1hdF9FQUNSMTFTbm9ybSA9IDB4MjVFNTQyOEEsIC8vIFJhbmRvbQotICAgIFdHUFVUZXh0dXJl
Rm9ybWF0X0VBQ1JHMTFVbm9ybSA9IDB4MUIwOTY5QjMsIC8vIFJhbmRvbQotICAgIFdHUFVUZXh0
dXJlRm9ybWF0X0VBQ1JHMTFTbm9ybSA9IDB4MTZGNEJCNkQsIC8vIFJhbmRvbQotCi0gICAgV0dQ
VVRleHR1cmVGb3JtYXRfQVNUQzR4NFVub3JtID0gMHgzOUY2MEY2RSwgLy8gUmFuZG9tCi0gICAg
V0dQVVRleHR1cmVGb3JtYXRfQVNUQzR4NFVub3JtU3JnYiA9IDB4MjQ0NzI3MDAsIC8vIFJhbmRv
bQotICAgIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEM1eDRVbm9ybSA9IDB4NjdEMzJCMEUsIC8vIFJh
bmRvbQotICAgIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEM1eDRVbm9ybVNyZ2IgPSAweDMxM0RBMUJF
LCAvLyBSYW5kb20KLSAgICBXR1BVVGV4dHVyZUZvcm1hdF9BU1RDNXg1VW5vcm0gPSAweDE1QUI4
REZELCAvLyBSYW5kb20KLSAgICBXR1BVVGV4dHVyZUZvcm1hdF9BU1RDNXg1VW5vcm1TcmdiID0g
MHg3QjAwRUI1NywgLy8gUmFuZG9tCi0gICAgV0dQVVRleHR1cmVGb3JtYXRfQVNUQzZ4NVVub3Jt
ID0gMHg2NTNFODBDMywgLy8gUmFuZG9tCi0gICAgV0dQVVRleHR1cmVGb3JtYXRfQVNUQzZ4NVVu
b3JtU3JnYiA9IDB4NTBBRTg2OUEsIC8vIFJhbmRvbQotICAgIFdHUFVUZXh0dXJlRm9ybWF0X0FT
VEM2eDZVbm9ybSA9IDB4NTc5QUY1OTgsIC8vIFJhbmRvbQotICAgIFdHUFVUZXh0dXJlRm9ybWF0
X0FTVEM2eDZVbm9ybVNyZ2IgPSAweDczQjY5NzMyLCAvLyBSYW5kb20KLSAgICBXR1BVVGV4dHVy
ZUZvcm1hdF9BU1RDOHg1VW5vcm0gPSAweDA2RjcwMzA4LCAvLyBSYW5kb20KLSAgICBXR1BVVGV4
dHVyZUZvcm1hdF9BU1RDOHg1VW5vcm1TcmdiID0gMHg0MjBFQTk0NiwgLy8gUmFuZG9tCi0gICAg
V0dQVVRleHR1cmVGb3JtYXRfQVNUQzh4NlVub3JtID0gMHg2MTA4NkFDOCwgLy8gUmFuZG9tCi0g
ICAgV0dQVVRleHR1cmVGb3JtYXRfQVNUQzh4NlVub3JtU3JnYiA9IDB4MEUxN0QzOUEsIC8vIFJh
bmRvbQotICAgIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEM4eDhVbm9ybSA9IDB4NTY5QkYyRTgsIC8v
IFJhbmRvbQotICAgIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEM4eDhVbm9ybVNyZ2IgPSAweDU3MkE0
ODQ5LCAvLyBSYW5kb20KLSAgICBXR1BVVGV4dHVyZUZvcm1hdF9BU1RDMTB4NVVub3JtID0gMHg2
M0FCRTQzMiwgLy8gUmFuZG9tCi0gICAgV0dQVVRleHR1cmVGb3JtYXRfQVNUQzEweDVVbm9ybVNy
Z2IgPSAweDNCQzNBQTRDLCAvLyBSYW5kb20KLSAgICBXR1BVVGV4dHVyZUZvcm1hdF9BU1RDMTB4
NlVub3JtID0gMHg2RkUxOTQ5OSwgLy8gUmFuZG9tCi0gICAgV0dQVVRleHR1cmVGb3JtYXRfQVNU
QzEweDZVbm9ybVNyZ2IgPSAweDdGRjBCNUMwLCAvLyBSYW5kb20KLSAgICBXR1BVVGV4dHVyZUZv
cm1hdF9BU1RDMTB4OFVub3JtID0gMHgyMDE1RjRDMywgLy8gUmFuZG9tCi0gICAgV0dQVVRleHR1
cmVGb3JtYXRfQVNUQzEweDhVbm9ybVNyZ2IgPSAweDdENTFEQzZGLCAvLyBSYW5kb20KLSAgICBX
R1BVVGV4dHVyZUZvcm1hdF9BU1RDMTB4MTBVbm9ybSA9IDB4NjdGMTAxNzMsIC8vIFJhbmRvbQot
ICAgIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEMxMHgxMFVub3JtU3JnYiA9IDB4MzVENzREMjEsIC8v
IFJhbmRvbQotICAgIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEMxMngxMFVub3JtID0gMHgwOURBRDBB
NywgLy8gUmFuZG9tCi0gICAgV0dQVVRleHR1cmVGb3JtYXRfQVNUQzEyeDEwVW5vcm1TcmdiID0g
MHgzNTYwQzkzQSwgLy8gUmFuZG9tCi0gICAgV0dQVVRleHR1cmVGb3JtYXRfQVNUQzEyeDEyVW5v
cm0gPSAweDI2Q0MzMDUwLCAvLyBSYW5kb20KLSAgICBXR1BVVGV4dHVyZUZvcm1hdF9BU1RDMTJ4
MTJVbm9ybVNyZ2IgPSAweDNFRjU3OEEwLCAvLyBSYW5kb20KLQotICAgIFdHUFVUZXh0dXJlRm9y
bWF0X0RlcHRoMzJGbG9hdFN0ZW5jaWw4ID0gMHg1M0RDMjMwNywgLy8gUmFuZG9tCi19IFdHUFVU
ZXh0dXJlRm9ybWF0RXh0ZW5kZWQ7Ci0KLXR5cGVkZWYgZW51bSBXR1BVRmVhdHVyZU5hbWVFeHRl
bmRlZCB7Ci0gICAgV0dQVUZlYXR1cmVOYW1lX0RlcHRoQ2xpcENvbnRyb2wgPSAweDU1QUJDMTNE
LCAvLyBSYW5kb20KLSAgICBXR1BVRmVhdHVyZU5hbWVfSW5kaXJlY3RGaXJzdEluc3RhbmNlID0g
MHgyQTcwODRGNSwgLy8gUmFuZG9tCi0gICAgV0dQVUZlYXR1cmVOYW1lX1RleHR1cmVDb21wcmVz
c2lvbkVUQzIgPSAweDdCRjY2RjY5LCAvLyBSYW5kb20KLSAgICBXR1BVRmVhdHVyZU5hbWVfVGV4
dHVyZUNvbXByZXNzaW9uQVNUQyA9IDB4MjYxNzMzOTksIC8vIFJhbmRvbQotfSBXR1BVRmVhdHVy
ZU5hbWVFeHRlbmRlZDsKLQotdHlwZWRlZiBlbnVtIFdHUFVQb3dlclByZWZlcmVuY2VFeHRlbmRl
ZCB7Ci0gICAgV0dQVVBvd2VyUHJlZmVyZW5jZV9Ob1ByZWZlcmVuY2UgPSAweDQ3NDgzMzZGLAot
fSBXR1BVUG93ZXJQcmVmZXJlbmNlRXh0ZW5kZWQ7Ci0KLXR5cGVkZWYgc3RydWN0IFdHUFVEZXZp
Y2VEZXNjcmlwdG9yTGFiZWwgewotICAgIFdHUFVDaGFpbmVkU3RydWN0IGhlYWRlcjsKLSAgICBX
R1BVQ2hhaW5lZFN0cnVjdCBjb25zdCAqIG5leHRJbkNoYWluOwotICAgIGNoYXIgY29uc3QgKiBs
YWJlbDsKLX0gV0dQVURldmljZURlc2NyaXB0b3JMYWJlbDsKLQogI2lmZGVmIF9fY3BsdXNwbHVz
CiBleHRlcm4gIkMiIHsKICNlbmRpZgpAQCAtMTM4LDEwICs3Myw2IEBAIHR5cGVkZWYgdm9pZCAo
KldHUFVQcm9jU2FtcGxlclNldExhYmVsKShXR1BVU2FtcGxlciBzYW1wbGVyLCBjaGFyIGNvbnN0
ICogbGFiZWwpCiB0eXBlZGVmIHZvaWQgKCpXR1BVUHJvY1RleHR1cmVTZXRMYWJlbCkoV0dQVVRl
eHR1cmUgc2FtcGxlciwgY2hhciBjb25zdCAqIGxhYmVsKTsKIHR5cGVkZWYgdm9pZCAoKldHUFVQ
cm9jVGV4dHVyZVZpZXdTZXRMYWJlbCkoV0dQVVRleHR1cmVWaWV3IHNhbXBsZXIsIGNoYXIgY29u
c3QgKiBsYWJlbCk7CiAKLXR5cGVkZWYgV0dQVUZlYXR1cmVOYW1lICgqV0dQVVByb2NBZGFwdGVy
R2V0RmVhdHVyZUF0SW5kZXgpKFdHUFVBZGFwdGVyIGFkYXB0ZXIsIHNpemVfdCBpbmRleCk7Ci0K
LXR5cGVkZWYgdm9pZCAoKldHUFVQcm9jQ29tbWFuZEVuY29kZXJGaWxsQnVmZmVyKShXR1BVQ29t
bWFuZEVuY29kZXIgY29tbWFuZEVuY29kZXIsIFdHUFVCdWZmZXIgZGVzdGluYXRpb24sIHVpbnQ2
NF90IGRlc3RpbmF0aW9uT2Zmc2V0LCB1aW50NjRfdCBzaXplKTsKLQogI2VuZGlmICAvLyAhZGVm
aW5lZChXR1BVX1NLSVBfUFJPQ1MpCiAKICNpZiAhZGVmaW5lZChXR1BVX1NLSVBfREVDTEFSQVRJ
T05TKQpAQCAtMTg3LDEwICsxMTgsNiBAQCBXR1BVX0VYUE9SVCB2b2lkIHdncHVTYW1wbGVyU2V0
TGFiZWwoV0dQVVNhbXBsZXIgc2FtcGxlciwgY2hhciBjb25zdCAqIGxhYmVsKTsKIFdHUFVfRVhQ
T1JUIHZvaWQgd2dwdVRleHR1cmVTZXRMYWJlbChXR1BVVGV4dHVyZSBzYW1wbGVyLCBjaGFyIGNv
bnN0ICogbGFiZWwpOwogV0dQVV9FWFBPUlQgdm9pZCB3Z3B1VGV4dHVyZVZpZXdTZXRMYWJlbChX
R1BVVGV4dHVyZVZpZXcgc2FtcGxlciwgY2hhciBjb25zdCAqIGxhYmVsKTsKIAotV0dQVV9FWFBP
UlQgV0dQVUZlYXR1cmVOYW1lIHdncHVBZGFwdGVyR2V0RmVhdHVyZUF0SW5kZXgoV0dQVUFkYXB0
ZXIgYWRhcHRlciwgc2l6ZV90IGluZGV4KTsKLQotV0dQVV9FWFBPUlQgdm9pZCB3Z3B1Q29tbWFu
ZEVuY29kZXJGaWxsQnVmZmVyKFdHUFVDb21tYW5kRW5jb2RlciBjb21tYW5kRW5jb2RlciwgV0dQ
VUJ1ZmZlciBkZXN0aW5hdGlvbiwgdWludDY0X3QgZGVzdGluYXRpb25PZmZzZXQsIHVpbnQ2NF90
IHNpemUpOwotCiAjZW5kaWYgIC8vICFkZWZpbmVkKFdHUFVfU0tJUF9ERUNMQVJBVElPTlMpCiAK
ICNpZmRlZiBfX2NwbHVzcGx1cwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>452133</attachid>
            <date>2022-02-15 20:42:10 -0800</date>
            <delta_ts>2022-02-15 20:56:44 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-236639-20220215204209.patch</filename>
            <type>text/plain</type>
            <size>301177</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg5NjM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTIxYmRhMzYyY2UzOTA3
NjI0ZmUxYWJhMDU5Y2NhMjhmZTgzMGRhZi4uNDk5MWFkYjc4Y2JlOTAxN2Y4MTRmNmZhMzBkZjU5
NGYzNzZiOGJjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDExOSBAQAorMjAyMi0wMi0xNSAgTXls
ZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFtXZWJHUFVd
IFVwZGF0ZSBJRExzIGFuZCBzdHVicyB0byBsYXRlc3QgdmVyc2lvbiBvZiB0aGUgc3BlYworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM2NjM5CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyB1cGRhdGVz
IG91ciBXZWJHUFUgaW5mcmFzdHJ1Y3R1cmUgdG8gc3BlYyByZXZpc2lvbiA2MjZmOGMwNWM4ZTY3
YjU0MTU5ZTkzYWU3YzM2OTlhODg5ZjBiMTE1LiBUaGlzCisgICAgICAgIGlzIGp1c3QgdGhlIHBs
dW1iaW5nIHRoYXQgY29ubmVjdHMgSURMIC0+IFdlYkNvcmUgQysrIC0+IFBBTCB2aXJ0dWFsIG1l
dGhvZHMgLT4gV2ViS2l0IFdlYiBwcm9jZXNzIC0+CisgICAgICAgIFdlYktpdCBHUFUgcHJvY2Vz
cyAtPiBQQUwgdmlydHVhbCBtZXRob2RzIC0+IFBBTCBXZWJHUFUgaW1wbGVtZW50YXRpb24gLT4g
V2ViR1BVLmZyYW1ld29yay4gVGhpcyBhbHNvCisgICAgICAgIHVwZGF0ZXMgdGhlIFdlYkdQVS5o
IHNoYXJlZCBoZWFkZXIgdG8gcmV2aXNpb24gMDhlZjU3NzMzNTAzYjhmYjUwNGUwNjgxYThkYjY1
MGM4ODIyNTk0Ny4gVGhpcyBpcyBqdXN0CisgICAgICAgIHBsdW1iaW5nIC0gdGhlIGFjdHVhbCBp
bXBsZW1lbnRhdGlvbiBvZiB0aGlzIHN0dWZmIGlzIHN0aWxsIGp1c3Qgc3R1YnMgaW4gV2ViR1BV
LmZyYW1ld29yay4KKworICAgICAgICBUaGVyZSBoYXZlIGJlZW4gYSBmZXcgdmFyaW91cyBjaGFu
Z2VzOgorICAgICAgICAtIEEgdmlld0Zvcm1hdHMgYXJyYXkgaGFzIGJlZW4gYWRkZWQgdG8gR1BV
Q2FudmFzQ29uZmlndXJhdGlvbiBhbmQgR1BVVGV4dHVyZURlc2NyaXB0b3IKKyAgICAgICAgLSBm
aWxsQnVmZmVyKCkgaGFzIGJlZW4gcmVuYW1lZCB0byBjbGVhckJ1ZmZlcigpCisgICAgICAgIC0g
UGlwZWxpbmUgc3RhdGlzdGljcyBxdWVyaWVzIGhhdmUgYmVlbiBkZWxldGVkCisgICAgICAgIC0g
QSBmZXcgcmVmYWN0b3JpbmdzIHRvIHR1cm4gVmVjdG9yPEZvbz4gdGhpbmdzIGludG8gVmVjdG9y
PHN0ZDo6b3B0aW9uYWw8Rm9vPj4KKyAgICAgICAgLSBmbGlwWSBoYXMgYmVlbiBhZGRlZCB0byBH
UFVJbWFnZUNvcHlFeHRlcm5hbEltYWdlCisgICAgICAgIC0gTG9hZCBvcGVyYXRpb25zIGhhdmUg
YmVlbiByZWRlc2lnbmVkIG9uIGJvdGggR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudCBhbmQK
KyAgICAgICAgICAgICAgR1BVUmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQKKyAgICAg
ICAgLSBlbmRQYXNzKCkgaGFzIGJlZW4gcmVuYW1lZCB0byBlbmQoKQorICAgICAgICAtIFNoYWRl
ciBjb21waWxhdGlvbiBub3cgdGFrZXMgYSByZWNvcmQ8ZW50cnkgcG9pbnQgbmFtZSwgR1BVU2hh
ZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50PgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBiZWNhdXNl
IHRoZSBpbXBsZW1lbnRhdGlvbiBpcyBzdGlsbCBqdXN0IHN0dWJzLgorCisgICAgICAgICogQ01h
a2VMaXN0cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdDoK
KyAgICAgICAgKiBEZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBE
ZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIEhlYWRlcnMuY21ha2U6CisgICAgICAgICog
TW9kdWxlcy9XZWJHUFUvR1BVQnVmZmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdQVUJ1ZmZl
cjo6bWFwQXN5bmMpOgorICAgICAgICAoV2ViQ29yZTo6R1BVQnVmZmVyOjpnZXRNYXBwZWRSYW5n
ZSk6CisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVQnVmZmVyLmg6CisgICAgICAgICogTW9k
dWxlcy9XZWJHUFUvR1BVQ2FudmFzQ29uZmlndXJhdGlvbi5oOgorICAgICAgICAoV2ViQ29yZTo6
R1BVQ2FudmFzQ29uZmlndXJhdGlvbjo6Y29udmVydFRvQmFja2luZyBjb25zdCk6CisgICAgICAg
ICogTW9kdWxlcy9XZWJHUFUvR1BVQ2FudmFzQ29uZmlndXJhdGlvbi5pZGw6CisgICAgICAgICog
TW9kdWxlcy9XZWJHUFUvR1BVQ29tbWFuZEVuY29kZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
R1BVQ29tbWFuZEVuY29kZXI6OmNsZWFyQnVmZmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkdQVUNv
bW1hbmRFbmNvZGVyOjpmaWxsQnVmZmVyKTogRGVsZXRlZC4KKyAgICAgICAgKiBNb2R1bGVzL1dl
YkdQVS9HUFVDb21tYW5kRW5jb2Rlci5oOgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVUNv
bW1hbmRFbmNvZGVyLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVDb21tYW5kc01p
eGluLmlkbDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVTG9h
ZE9wLmlkbC4KKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVDb21wdXRlUGFzc0VuY29kZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6R1BVQ29tcHV0ZVBhc3NFbmNvZGVyOjpkaXNwYXRjaCk6
CisgICAgICAgIChXZWJDb3JlOjpHUFVDb21wdXRlUGFzc0VuY29kZXI6OmVuZCk6CisgICAgICAg
IChXZWJDb3JlOjpHUFVDb21wdXRlUGFzc0VuY29kZXI6OmJlZ2luUGlwZWxpbmVTdGF0aXN0aWNz
UXVlcnkpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6R1BVQ29tcHV0ZVBhc3NFbmNvZGVy
OjplbmRQaXBlbGluZVN0YXRpc3RpY3NRdWVyeSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3Jl
OjpHUFVDb21wdXRlUGFzc0VuY29kZXI6OmVuZFBhc3MpOiBEZWxldGVkLgorICAgICAgICAqIE1v
ZHVsZXMvV2ViR1BVL0dQVUNvbXB1dGVQYXNzRW5jb2Rlci5oOgorICAgICAgICAqIE1vZHVsZXMv
V2ViR1BVL0dQVUNvbXB1dGVQYXNzRW5jb2Rlci5pZGw6CisgICAgICAgICogTW9kdWxlcy9XZWJH
UFUvR1BVRGVidWdDb21tYW5kc01peGluLmlkbDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9XZWJHUFUvR1BVRnJhZ21lbnRTdGF0ZS5pZGwuCisgICAgICAgICogTW9kdWxlcy9X
ZWJHUFUvR1BVRmVhdHVyZU5hbWUuaDoKKyAgICAgICAgKFdlYkNvcmU6OmNvbnZlcnRUb0JhY2tp
bmcpOgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVUZlYXR1cmVOYW1lLmlkbDoKKyAgICAg
ICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVGcmFnbWVudFN0YXRlLmg6CisgICAgICAgIChXZWJDb3Jl
OjpHUFVGcmFnbWVudFN0YXRlOjpjb252ZXJ0VG9CYWNraW5nIGNvbnN0KToKKyAgICAgICAgKiBN
b2R1bGVzL1dlYkdQVS9HUFVGcmFnbWVudFN0YXRlLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL1dl
YkdQVS9HUFVJbWFnZUNvcHlFeHRlcm5hbEltYWdlLmg6CisgICAgICAgIChXZWJDb3JlOjpHUFVJ
bWFnZUNvcHlFeHRlcm5hbEltYWdlOjpjb252ZXJ0VG9CYWNraW5nIGNvbnN0KToKKyAgICAgICAg
KiBNb2R1bGVzL1dlYkdQVS9HUFVJbWFnZUNvcHlFeHRlcm5hbEltYWdlLmlkbDoKKyAgICAgICAg
KiBNb2R1bGVzL1dlYkdQVS9HUFVMb2FkT3AuaDoKKyAgICAgICAgKFdlYkNvcmU6OmNvbnZlcnRU
b0JhY2tpbmcpOgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVUxvYWRPcC5pZGw6CisgICAg
ICAgICogTW9kdWxlcy9XZWJHUFUvR1BVT2JqZWN0QmFzZS5pZGw6CisgICAgICAgICogTW9kdWxl
cy9XZWJHUFUvR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lLmg6IFJlbW92ZWQuCisgICAgICAgICog
TW9kdWxlcy9XZWJHUFUvR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lLmlkbDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVQcm9ncmFtbWFibGVQYXNzRW5jb2Rlci5pZGw6Cisg
ICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVUXVlcnlTZXREZXNjcmlwdG9yLmg6CisgICAgICAg
IChXZWJDb3JlOjpHUFVRdWVyeVNldERlc2NyaXB0b3I6OmNvbnZlcnRUb0JhY2tpbmcgY29uc3Qp
OgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVVF1ZXJ5U2V0RGVzY3JpcHRvci5pZGw6Cisg
ICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVUXVlcnlUeXBlLmg6CisgICAgICAgIChXZWJDb3Jl
Ojpjb252ZXJ0VG9CYWNraW5nKToKKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVRdWVyeVR5
cGUuaWRsOgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVVF1ZXVlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkdQVVF1ZXVlOjp3cml0ZUJ1ZmZlcik6CisgICAgICAgICogTW9kdWxlcy9XZWJH
UFUvR1BVUXVldWUuaDoKKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJCdW5kbGVF
bmNvZGVyLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJCdW5kbGVFbmNv
ZGVyRGVzY3JpcHRvci5oOgorICAgICAgICAoV2ViQ29yZTo6R1BVUmVuZGVyQnVuZGxlRW5jb2Rl
ckRlc2NyaXB0b3I6OmNvbnZlcnRUb0JhY2tpbmcgY29uc3QpOgorICAgICAgICAqIE1vZHVsZXMv
V2ViR1BVL0dQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6
OkdQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQ6OmNvbnZlcnRUb0JhY2tpbmcgY29uc3QpOgor
ICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQuaWRs
OgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRh
Y2htZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpHUFVSZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0
YWNobWVudDo6Y29udmVydFRvQmFja2luZyBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy9XZWJH
UFUvR1BVUmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQuaWRsOgorICAgICAgICAqIE1v
ZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NEZXNjcmlwdG9yLmg6CisgICAgICAgIChXZWJDb3Jl
OjpHUFVSZW5kZXJQYXNzRGVzY3JpcHRvcjo6Y29udmVydFRvQmFja2luZyBjb25zdCk6CisgICAg
ICAgICogTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IuaWRsOgorICAgICAg
ICAqIE1vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NFbmNvZGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkdQVVJlbmRlclBhc3NFbmNvZGVyOjplbmQpOgorICAgICAgICAoV2ViQ29yZTo6R1BV
UmVuZGVyUGFzc0VuY29kZXI6OmJlZ2luUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkpOiBEZWxldGVk
LgorICAgICAgICAoV2ViQ29yZTo6R1BVUmVuZGVyUGFzc0VuY29kZXI6OmVuZFBpcGVsaW5lU3Rh
dGlzdGljc1F1ZXJ5KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkdQVVJlbmRlclBhc3NF
bmNvZGVyOjplbmRQYXNzKTogRGVsZXRlZC4KKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVS
ZW5kZXJQYXNzRW5jb2Rlci5oOgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBh
c3NFbmNvZGVyLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzTGF5
b3V0Lmg6CisgICAgICAgIChXZWJDb3JlOjpHUFVSZW5kZXJQYXNzTGF5b3V0Ojpjb252ZXJ0VG9C
YWNraW5nIGNvbnN0KToKKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzTGF5
b3V0LmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVTaGFkZXJNb2R1bGVDb21waWxh
dGlvbkhpbnQuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BV
TG9hZE9wLmguCisgICAgICAgIChXZWJDb3JlOjpHUFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhp
bnQ6OmNvbnZlcnRUb0JhY2tpbmcgY29uc3QpOgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQ
VVNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludC5pZGw6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvV2ViR1BVL0dQVVF1ZXJ5VHlwZS5pZGwuCisgICAgICAgICogTW9kdWxlcy9X
ZWJHUFUvR1BVU2hhZGVyTW9kdWxlRGVzY3JpcHRvci5oOgorICAgICAgICAoV2ViQ29yZTo6R1BV
U2hhZGVyTW9kdWxlRGVzY3JpcHRvcjo6Y29udmVydFRvQmFja2luZyBjb25zdCk6CisgICAgICAg
ICogTW9kdWxlcy9XZWJHUFUvR1BVU2hhZGVyTW9kdWxlRGVzY3JpcHRvci5pZGw6CisgICAgICAg
ICogTW9kdWxlcy9XZWJHUFUvR1BVVGV4dHVyZURlc2NyaXB0b3IuaDoKKyAgICAgICAgKFdlYkNv
cmU6OkdQVVRleHR1cmVEZXNjcmlwdG9yOjpjb252ZXJ0VG9CYWNraW5nIGNvbnN0KToKKyAgICAg
ICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVUZXh0dXJlRGVzY3JpcHRvci5pZGw6CisgICAgICAgICog
TW9kdWxlcy9XZWJHUFUvR1BVVGV4dHVyZUZvcm1hdC5oOgorICAgICAgICAoV2ViQ29yZTo6Y29u
dmVydFRvQmFja2luZyk6CisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVVGV4dHVyZUZvcm1h
dC5pZGw6CisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVVW5jYXB0dXJlZEVycm9yRXZlbnQu
aWRsOgorICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvajoKKwogMjAyMi0wMi0xMSAgVGltIE5ndXllbiAgPG50aW1AYXBwbGUu
Y29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgYnVpbGQgZml4OiByZXZlcnQgcjI4OTYxNgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL1BB
TC9DaGFuZ2VMb2cKaW5kZXggMGE3ODdlMDU4NDA2NjFiNDhiZjY3MGY2OTkzZjZmNGU4ZWFlMmJm
Mi4uN2E0NGNmNDM5OTY3Zjk4NmIwNDdiZDU3ODZmNTEzZTAwZWY4NTliZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsNzAgQEAKKzIwMjItMDItMTUgIE15bGVzIEMuIE1heGZpZWxkICA8
bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViR1BVXSBVcGRhdGUgSURMcyBhbmQg
c3R1YnMgdG8gbGF0ZXN0IHZlcnNpb24gb2YgdGhlIHNwZWMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNjYzOQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogUEFMLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6CisgICAgICAgICogcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVUFkYXB0ZXJJbXBs
LmNwcDoKKyAgICAgICAgKFBBTDo6V2ViR1BVOjpzdXBwb3J0ZWRGZWF0dXJlcyk6CisgICAgICAg
IChQQUw6OldlYkdQVTo6QWRhcHRlckltcGw6OnJlcXVlc3REZXZpY2UpOgorICAgICAgICAqIHBh
bC9ncmFwaGljcy9XZWJHUFUvSW1wbC9XZWJHUFVCdWZmZXJJbXBsLmNwcDoKKyAgICAgICAgKFBB
TDo6V2ViR1BVOjpCdWZmZXJJbXBsOjptYXBBc3luYyk6CisgICAgICAgIChQQUw6OldlYkdQVTo6
QnVmZmVySW1wbDo6Z2V0TWFwcGVkUmFuZ2UpOgorICAgICAgICAqIHBhbC9ncmFwaGljcy9XZWJH
UFUvSW1wbC9XZWJHUFVCdWZmZXJJbXBsLmg6CisgICAgICAgICogcGFsL2dyYXBoaWNzL1dlYkdQ
VS9JbXBsL1dlYkdQVUNvbW1hbmRFbmNvZGVySW1wbC5jcHA6CisgICAgICAgIChQQUw6OldlYkdQ
VTo6Q29tbWFuZEVuY29kZXJJbXBsOjpiZWdpblJlbmRlclBhc3MpOgorICAgICAgICAoUEFMOjpX
ZWJHUFU6OkNvbW1hbmRFbmNvZGVySW1wbDo6YmVnaW5Db21wdXRlUGFzcyk6CisgICAgICAgIChQ
QUw6OldlYkdQVTo6Q29tbWFuZEVuY29kZXJJbXBsOjpjbGVhckJ1ZmZlcik6CisgICAgICAgIChQ
QUw6OldlYkdQVTo6Q29tbWFuZEVuY29kZXJJbXBsOjpmaWxsQnVmZmVyKTogRGVsZXRlZC4KKyAg
ICAgICAgKiBwYWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwvV2ViR1BVQ29tbWFuZEVuY29kZXJJbXBs
Lmg6CisgICAgICAgICogcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVUNvbXB1dGVQYXNz
RW5jb2RlckltcGwuY3BwOgorICAgICAgICAoUEFMOjpXZWJHUFU6OkNvbXB1dGVQYXNzRW5jb2Rl
ckltcGw6OmRpc3BhdGNoKToKKyAgICAgICAgKFBBTDo6V2ViR1BVOjpDb21wdXRlUGFzc0VuY29k
ZXJJbXBsOjplbmQpOgorICAgICAgICAoUEFMOjpXZWJHUFU6OkNvbXB1dGVQYXNzRW5jb2Rlcklt
cGw6OmJlZ2luUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkpOiBEZWxldGVkLgorICAgICAgICAoUEFM
OjpXZWJHUFU6OkNvbXB1dGVQYXNzRW5jb2RlckltcGw6OmVuZFBpcGVsaW5lU3RhdGlzdGljc1F1
ZXJ5KTogRGVsZXRlZC4KKyAgICAgICAgKFBBTDo6V2ViR1BVOjpDb21wdXRlUGFzc0VuY29kZXJJ
bXBsOjplbmRQYXNzKTogRGVsZXRlZC4KKyAgICAgICAgKiBwYWwvZ3JhcGhpY3MvV2ViR1BVL0lt
cGwvV2ViR1BVQ29tcHV0ZVBhc3NFbmNvZGVySW1wbC5oOgorICAgICAgICAqIHBhbC9ncmFwaGlj
cy9XZWJHUFUvSW1wbC9XZWJHUFVDb252ZXJ0VG9CYWNraW5nQ29udGV4dC5jcHA6CisgICAgICAg
IChQQUw6OldlYkdQVTo6Q29udmVydFRvQmFja2luZ0NvbnRleHQ6OmNvbnZlcnRUb0JhY2tpbmcp
OgorICAgICAgICAqIHBhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9XZWJHUFVDb252ZXJ0VG9CYWNr
aW5nQ29udGV4dC5oOgorICAgICAgICAqIHBhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9XZWJHUFVE
ZXZpY2VJbXBsLmNwcDoKKyAgICAgICAgKFBBTDo6V2ViR1BVOjpEZXZpY2VJbXBsOjpjcmVhdGVU
ZXh0dXJlKToKKyAgICAgICAgKFBBTDo6V2ViR1BVOjpEZXZpY2VJbXBsOjpjcmVhdGVTaGFkZXJN
b2R1bGUpOgorICAgICAgICAoUEFMOjpXZWJHUFU6OmNvbnZlcnRUb0JhY2tpbmcpOgorICAgICAg
ICAoUEFMOjpXZWJHUFU6OkRldmljZUltcGw6OmNyZWF0ZVJlbmRlckJ1bmRsZUVuY29kZXIpOgor
ICAgICAgICAoUEFMOjpXZWJHUFU6OkRldmljZUltcGw6OmNyZWF0ZVF1ZXJ5U2V0KToKKyAgICAg
ICAgKiBwYWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwvV2ViR1BVSW1wbC5jcHA6CisgICAgICAgIChQ
QUw6OldlYkdQVTo6R1BVSW1wbDo6cmVxdWVzdEFkYXB0ZXIpOgorICAgICAgICAqIHBhbC9ncmFw
aGljcy9XZWJHUFUvSW1wbC9XZWJHUFVSZW5kZXJQYXNzRW5jb2RlckltcGwuY3BwOgorICAgICAg
ICAoUEFMOjpXZWJHUFU6OlJlbmRlclBhc3NFbmNvZGVySW1wbDo6ZW5kKToKKyAgICAgICAgKFBB
TDo6V2ViR1BVOjpSZW5kZXJQYXNzRW5jb2RlckltcGw6OmJlZ2luUGlwZWxpbmVTdGF0aXN0aWNz
UXVlcnkpOiBEZWxldGVkLgorICAgICAgICAoUEFMOjpXZWJHUFU6OlJlbmRlclBhc3NFbmNvZGVy
SW1wbDo6ZW5kUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkpOiBEZWxldGVkLgorICAgICAgICAoUEFM
OjpXZWJHUFU6OlJlbmRlclBhc3NFbmNvZGVySW1wbDo6ZW5kUGFzcyk6IERlbGV0ZWQuCisgICAg
ICAgICogcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVVJlbmRlclBhc3NFbmNvZGVySW1w
bC5oOgorICAgICAgICAqIHBhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVQnVmZmVyLmg6CisgICAg
ICAgICogcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVDYW52YXNDb25maWd1cmF0aW9uLmg6Cisg
ICAgICAgICogcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVDb21tYW5kRW5jb2Rlci5oOgorICAg
ICAgICAqIHBhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVQ29tcHV0ZVBhc3NFbmNvZGVyLmg6Cisg
ICAgICAgICogcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVGZWF0dXJlTmFtZS5oOgorICAgICAg
ICAqIHBhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVRnJhZ21lbnRTdGF0ZS5oOgorICAgICAgICAq
IHBhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVSW1hZ2VDb3B5RXh0ZXJuYWxJbWFnZS5oOgorICAg
ICAgICAqIHBhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVTG9hZE9wLmg6CisgICAgICAgICogcGFs
L2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVQaXBlbGluZVN0YXRpc3RpY05hbWUuaDogUmVtb3ZlZC4K
KyAgICAgICAgKiBwYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVF1ZXJ5U2V0RGVzY3JpcHRvci5o
OgorICAgICAgICAqIHBhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVUXVlcnlUeXBlLmg6CisgICAg
ICAgICogcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVRdWV1ZS5oOgorICAgICAgICAqIHBhbC9n
cmFwaGljcy9XZWJHUFUvV2ViR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudC5oOgorICAgICAg
ICAqIHBhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVUmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFj
aG1lbnQuaDoKKyAgICAgICAgKiBwYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVJlbmRlclBhc3NE
ZXNjcmlwdG9yLmg6CisgICAgICAgICogcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVSZW5kZXJQ
YXNzRW5jb2Rlci5oOgorICAgICAgICAqIHBhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVUmVuZGVy
UGFzc0xheW91dC5oOgorICAgICAgICAqIHBhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVU2hhZGVy
TW9kdWxlQ29tcGlsYXRpb25IaW50Lmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL1BBTC9w
YWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVUltYWdlQ29weUV4dGVybmFsSW1hZ2UuaC4KKyAgICAg
ICAgKiBwYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVNoYWRlck1vZHVsZURlc2NyaXB0b3IuaDoK
KyAgICAgICAgKiBwYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVRleHR1cmVEZXNjcmlwdG9yLmg6
CisgICAgICAgICogcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVUZXh0dXJlRm9ybWF0Lmg6CisK
IDIwMjItMDItMTAgIEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CiAKICAg
ICAgICAgW21hY09TXSBTdXBwb3J0IGJvdGggdmVyc2lvbnMgb2YgU2NyZWVuQ2FwdHVyZUtpdCBB
UEkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJHUFUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkdQVS9D
aGFuZ2VMb2cKaW5kZXggOGI1NzZmNmFlNWE4Yzk3MGI3YWUwZjYzOTYyYjMzMjVkNGNkZmUwNS4u
ZDI0MGUzOGNmM2M2NDgzYjZjYzYyNzY4OTgzMzFhZWNhYmEwNWViYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkdQVS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkdQVS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0NSBAQAorMjAyMi0wMi0xNSAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBw
bGUuY29tPgorCisgICAgICAgIFtXZWJHUFVdIFVwZGF0ZSBJRExzIGFuZCBzdHVicyB0byBsYXRl
c3QgdmVyc2lvbiBvZiB0aGUgc3BlYworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjM2NjM5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBXZWJHUFUvQWRhcHRlci5oOgorICAgICAgICAqIFdlYkdQVS9BZGFw
dGVyLm1tOgorICAgICAgICAoV2ViR1BVOjpBZGFwdGVyOjplbnVtZXJhdGVGZWF0dXJlcyk6Cisg
ICAgICAgICh3Z3B1QWRhcHRlckVudW1lcmF0ZUZlYXR1cmVzKToKKyAgICAgICAgKFdlYkdQVTo6
QWRhcHRlcjo6Z2V0RmVhdHVyZUF0SW5kZXgpOiBEZWxldGVkLgorICAgICAgICAod2dwdUFkYXB0
ZXJHZXRGZWF0dXJlQXRJbmRleCk6IERlbGV0ZWQuCisgICAgICAgICogV2ViR1BVL0NvbW1hbmRF
bmNvZGVyLmg6CisgICAgICAgICogV2ViR1BVL0NvbW1hbmRFbmNvZGVyLm1tOgorICAgICAgICAo
V2ViR1BVOjpDb21tYW5kRW5jb2Rlcjo6Y2xlYXJCdWZmZXIpOgorICAgICAgICAod2dwdUNvbW1h
bmRFbmNvZGVyQ2xlYXJCdWZmZXIpOgorICAgICAgICAoV2ViR1BVOjpDb21tYW5kRW5jb2Rlcjo6
ZmlsbEJ1ZmZlcik6IERlbGV0ZWQuCisgICAgICAgICh3Z3B1Q29tbWFuZEVuY29kZXJGaWxsQnVm
ZmVyKTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJHUFUvQ29tcHV0ZVBhc3NFbmNvZGVyLmg6Cisg
ICAgICAgICogV2ViR1BVL0NvbXB1dGVQYXNzRW5jb2Rlci5tbToKKyAgICAgICAgKFdlYkdQVTo6
Q29tcHV0ZVBhc3NFbmNvZGVyOjp3cml0ZVRpbWVzdGFtcCk6IERlbGV0ZWQuCisgICAgICAgICh3
Z3B1Q29tcHV0ZVBhc3NFbmNvZGVyV3JpdGVUaW1lc3RhbXApOiBEZWxldGVkLgorICAgICAgICAq
IFdlYkdQVS9EZXZpY2UuaDoKKyAgICAgICAgKiBXZWJHUFUvRGV2aWNlLm1tOgorICAgICAgICAo
V2ViR1BVOjpEZXZpY2U6OmVudW1lcmF0ZUZlYXR1cmVzKToKKyAgICAgICAgKFdlYkdQVTo6RGV2
aWNlOjpoYXNGZWF0dXJlKToKKyAgICAgICAgKHdncHVEZXZpY2VFbnVtZXJhdGVGZWF0dXJlcyk6
CisgICAgICAgICh3Z3B1RGV2aWNlSGFzRmVhdHVyZSk6CisgICAgICAgICogV2ViR1BVL0luc3Rh
bmNlLm1tOgorICAgICAgICAod2dwdUdldFByb2NBZGRyZXNzKToKKyAgICAgICAgKiBXZWJHUFUv
UmVuZGVyUGFzc0VuY29kZXIuaDoKKyAgICAgICAgKiBXZWJHUFUvUmVuZGVyUGFzc0VuY29kZXIu
bW06CisgICAgICAgIChXZWJHUFU6OlJlbmRlclBhc3NFbmNvZGVyOjp3cml0ZVRpbWVzdGFtcCk6
IERlbGV0ZWQuCisgICAgICAgICh3Z3B1UmVuZGVyUGFzc0VuY29kZXJXcml0ZVRpbWVzdGFtcCk6
IERlbGV0ZWQuCisgICAgICAgICogV2ViR1BVL1NoYWRlck1vZHVsZS5oOgorICAgICAgICAqIFdl
YkdQVS9TaGFkZXJNb2R1bGUubW06CisgICAgICAgIChXZWJHUFU6OlNoYWRlck1vZHVsZTo6Z2V0
Q29tcGlsYXRpb25JbmZvKToKKyAgICAgICAgKHdncHVTaGFkZXJNb2R1bGVHZXRDb21waWxhdGlv
bkluZm8pOgorICAgICAgICAqIFdlYkdQVS9XZWJHUFUuaDoKKyAgICAgICAgKiBXZWJHUFUvV2Vi
R1BVRXh0Lmg6CisKIDIwMjItMDEtMjYgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFw
cGxlLmNvbT4KIAogICAgICAgICBbV2ViR1BVXSBNYWtlIHN1cmUgV0dTTFVuaXRUZXN0cyBjYW4g
Y2FsbCBpbnRvIFdHU0wKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggMzllYjRiMmVhYzJjMTQ2MTg5OTkwNWIwZTM1ZGVl
ODBlMDJmYzJmMS4uNWEwYTM5NTM5NTVlMjUxYzY1MDk2NjA2NGE0OGMxNzAyOTVjY2U4OCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxMjQgQEAKKzIwMjItMDItMTUgIE15bGVzIEMuIE1heGZpZWxkICA8
bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViR1BVXSBVcGRhdGUgSURMcyBhbmQg
c3R1YnMgdG8gbGF0ZXN0IHZlcnNpb24gb2YgdGhlIHNwZWMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNjYzOQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUv
UmVtb3RlQnVmZmVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlQnVmZmVyOjptYXBBc3lu
Yyk6CisgICAgICAgICogR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQnVmZmVyLmg6
CisgICAgICAgICogR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQnVmZmVyLm1lc3Nh
Z2VzLmluOgorICAgICAgICAqIEdQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUNvbW1h
bmRFbmNvZGVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlQ29tbWFuZEVuY29kZXI6OmNs
ZWFyQnVmZmVyKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlQ29tbWFuZEVuY29kZXI6OmZpbGxC
dWZmZXIpOiBEZWxldGVkLgorICAgICAgICAqIEdQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1Jl
bW90ZUNvbW1hbmRFbmNvZGVyLmg6CisgICAgICAgICogR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJH
UFUvUmVtb3RlQ29tbWFuZEVuY29kZXIubWVzc2FnZXMuaW46CisgICAgICAgICogR1BVUHJvY2Vz
cy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQ29tcHV0ZVBhc3NFbmNvZGVyLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6UmVtb3RlQ29tcHV0ZVBhc3NFbmNvZGVyOjpkaXNwYXRjaCk6CisgICAgICAgIChX
ZWJLaXQ6OlJlbW90ZUNvbXB1dGVQYXNzRW5jb2Rlcjo6ZW5kKToKKyAgICAgICAgKFdlYktpdDo6
UmVtb3RlQ29tcHV0ZVBhc3NFbmNvZGVyOjpiZWdpblBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6UmVtb3RlQ29tcHV0ZVBhc3NFbmNvZGVyOjplbmRQ
aXBlbGluZVN0YXRpc3RpY3NRdWVyeSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OlJlbW90
ZUNvbXB1dGVQYXNzRW5jb2Rlcjo6ZW5kUGFzcyk6IERlbGV0ZWQuCisgICAgICAgICogR1BVUHJv
Y2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQ29tcHV0ZVBhc3NFbmNvZGVyLmg6CisgICAgICAg
ICogR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQ29tcHV0ZVBhc3NFbmNvZGVyLm1l
c3NhZ2VzLmluOgorICAgICAgICAqIEdQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZVJl
bmRlclBhc3NFbmNvZGVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlUmVuZGVyUGFzc0Vu
Y29kZXI6OmVuZCk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVJlbmRlclBhc3NFbmNvZGVyOjpi
ZWdpblBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6
UmVtb3RlUmVuZGVyUGFzc0VuY29kZXI6OmVuZFBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KTogRGVs
ZXRlZC4KKyAgICAgICAgKFdlYktpdDo6UmVtb3RlUmVuZGVyUGFzc0VuY29kZXI6OmVuZFBhc3Mp
OiBEZWxldGVkLgorICAgICAgICAqIEdQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZVJl
bmRlclBhc3NFbmNvZGVyLmg6CisgICAgICAgICogR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUv
UmVtb3RlUmVuZGVyUGFzc0VuY29kZXIubWVzc2FnZXMuaW46CisgICAgICAgICogU2hhcmVkL1dl
YkdQVS9XZWJHUFVDYW52YXNDb25maWd1cmF0aW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
R1BVOjpDb252ZXJ0VG9CYWNraW5nQ29udGV4dDo6Y29udmVydFRvQmFja2luZyk6CisgICAgICAg
IChXZWJLaXQ6OldlYkdQVTo6Q29udmVydEZyb21CYWNraW5nQ29udGV4dDo6Y29udmVydEZyb21C
YWNraW5nKToKKyAgICAgICAgKiBTaGFyZWQvV2ViR1BVL1dlYkdQVUNhbnZhc0NvbmZpZ3VyYXRp
b24uaDoKKyAgICAgICAgKFdlYktpdDo6V2ViR1BVOjpDYW52YXNDb25maWd1cmF0aW9uOjplbmNv
ZGUgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJHUFU6OkNhbnZhc0NvbmZpZ3VyYXRpb246
OmRlY29kZSk6CisgICAgICAgICogU2hhcmVkL1dlYkdQVS9XZWJHUFVDb252ZXJ0RnJvbUJhY2tp
bmdDb250ZXh0Lmg6CisgICAgICAgICogU2hhcmVkL1dlYkdQVS9XZWJHUFVDb252ZXJ0VG9CYWNr
aW5nQ29udGV4dC5oOgorICAgICAgICAqIFNoYXJlZC9XZWJHUFUvV2ViR1BVRnJhZ21lbnRTdGF0
ZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkdQVTo6Q29udmVydFRvQmFja2luZ0NvbnRleHQ6
OmNvbnZlcnRUb0JhY2tpbmcpOgorICAgICAgICAoV2ViS2l0OjpXZWJHUFU6OkNvbnZlcnRGcm9t
QmFja2luZ0NvbnRleHQ6OmNvbnZlcnRGcm9tQmFja2luZyk6CisgICAgICAgICogU2hhcmVkL1dl
YkdQVS9XZWJHUFVGcmFnbWVudFN0YXRlLmg6CisgICAgICAgIChXZWJLaXQ6OldlYkdQVTo6RnJh
Z21lbnRTdGF0ZTo6ZGVjb2RlKToKKyAgICAgICAgKiBTaGFyZWQvV2ViR1BVL1dlYkdQVUltYWdl
Q29weUV4dGVybmFsSW1hZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJHUFU6OkNvbnZlcnRU
b0JhY2tpbmdDb250ZXh0Ojpjb252ZXJ0VG9CYWNraW5nKToKKyAgICAgICAgKFdlYktpdDo6V2Vi
R1BVOjpDb252ZXJ0RnJvbUJhY2tpbmdDb250ZXh0Ojpjb252ZXJ0RnJvbUJhY2tpbmcpOgorICAg
ICAgICAqIFNoYXJlZC9XZWJHUFUvV2ViR1BVSW1hZ2VDb3B5RXh0ZXJuYWxJbWFnZS5oOgorICAg
ICAgICAoV2ViS2l0OjpXZWJHUFU6OkltYWdlQ29weUV4dGVybmFsSW1hZ2U6OmVuY29kZSBjb25z
dCk6CisgICAgICAgIChXZWJLaXQ6OldlYkdQVTo6SW1hZ2VDb3B5RXh0ZXJuYWxJbWFnZTo6ZGVj
b2RlKToKKyAgICAgICAgKiBTaGFyZWQvV2ViR1BVL1dlYkdQVUltYWdlQ29weVRleHR1cmUuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpXZWJHUFU6OkNvbnZlcnRUb0JhY2tpbmdDb250ZXh0Ojpjb252
ZXJ0VG9CYWNraW5nKToKKyAgICAgICAgKFdlYktpdDo6V2ViR1BVOjpDb252ZXJ0RnJvbUJhY2tp
bmdDb250ZXh0Ojpjb252ZXJ0RnJvbUJhY2tpbmcpOgorICAgICAgICAqIFNoYXJlZC9XZWJHUFUv
V2ViR1BVUXVlcnlTZXREZXNjcmlwdG9yLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViR1BVOjpD
b252ZXJ0VG9CYWNraW5nQ29udGV4dDo6Y29udmVydFRvQmFja2luZyk6CisgICAgICAgIChXZWJL
aXQ6OldlYkdQVTo6Q29udmVydEZyb21CYWNraW5nQ29udGV4dDo6Y29udmVydEZyb21CYWNraW5n
KToKKyAgICAgICAgKiBTaGFyZWQvV2ViR1BVL1dlYkdQVVF1ZXJ5U2V0RGVzY3JpcHRvci5oOgor
ICAgICAgICAoV2ViS2l0OjpXZWJHUFU6OlF1ZXJ5U2V0RGVzY3JpcHRvcjo6ZW5jb2RlIGNvbnN0
KToKKyAgICAgICAgKFdlYktpdDo6V2ViR1BVOjpRdWVyeVNldERlc2NyaXB0b3I6OmRlY29kZSk6
CisgICAgICAgICogU2hhcmVkL1dlYkdQVS9XZWJHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViR1BVOjpDb252ZXJ0VG9CYWNraW5nQ29udGV4dDo6
Y29udmVydFRvQmFja2luZyk6CisgICAgICAgIChXZWJLaXQ6OldlYkdQVTo6Q29udmVydEZyb21C
YWNraW5nQ29udGV4dDo6Y29udmVydEZyb21CYWNraW5nKToKKyAgICAgICAgKiBTaGFyZWQvV2Vi
R1BVL1dlYkdQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQuaDoKKyAgICAgICAgKFdlYktpdDo6
V2ViR1BVOjpSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50OjplbmNvZGUgY29uc3QpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJHUFU6OlJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQ6OmRlY29kZSk6Cisg
ICAgICAgICogU2hhcmVkL1dlYkdQVS9XZWJHUFVSZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNo
bWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkdQVTo6Q29udmVydFRvQmFja2luZ0NvbnRl
eHQ6OmNvbnZlcnRUb0JhY2tpbmcpOgorICAgICAgICAoV2ViS2l0OjpXZWJHUFU6OkNvbnZlcnRG
cm9tQmFja2luZ0NvbnRleHQ6OmNvbnZlcnRGcm9tQmFja2luZyk6CisgICAgICAgICogU2hhcmVk
L1dlYkdQVS9XZWJHUFVSZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNobWVudC5oOgorICAgICAg
ICAoV2ViS2l0OjpXZWJHUFU6OlJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50OjplbmNv
ZGUgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJHUFU6OlJlbmRlclBhc3NEZXB0aFN0ZW5j
aWxBdHRhY2htZW50OjpkZWNvZGUpOgorICAgICAgICAqIFNoYXJlZC9XZWJHUFUvV2ViR1BVUmVu
ZGVyUGFzc0Rlc2NyaXB0b3IuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJHUFU6OkNvbnZlcnRU
b0JhY2tpbmdDb250ZXh0Ojpjb252ZXJ0VG9CYWNraW5nKToKKyAgICAgICAgKFdlYktpdDo6V2Vi
R1BVOjpDb252ZXJ0RnJvbUJhY2tpbmdDb250ZXh0Ojpjb252ZXJ0RnJvbUJhY2tpbmcpOgorICAg
ICAgICAqIFNoYXJlZC9XZWJHUFUvV2ViR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IuaDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViR1BVOjpSZW5kZXJQYXNzRGVzY3JpcHRvcjo6ZGVjb2RlKToKKyAgICAg
ICAgKiBTaGFyZWQvV2ViR1BVL1dlYkdQVVJlbmRlclBhc3NMYXlvdXQuaDoKKyAgICAgICAgKFdl
YktpdDo6V2ViR1BVOjpSZW5kZXJQYXNzTGF5b3V0OjpkZWNvZGUpOgorICAgICAgICAqIFNoYXJl
ZC9XZWJHUFUvV2ViR1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50LmNwcDogQ29waWVkIGZy
b20gU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVVNoYWRlck1vZHVsZURlc2NyaXB0
b3IuY3BwLgorICAgICAgICAoV2ViS2l0OjpXZWJHUFU6OkNvbnZlcnRUb0JhY2tpbmdDb250ZXh0
Ojpjb252ZXJ0VG9CYWNraW5nKToKKyAgICAgICAgKFdlYktpdDo6V2ViR1BVOjpDb252ZXJ0RnJv
bUJhY2tpbmdDb250ZXh0Ojpjb252ZXJ0RnJvbUJhY2tpbmcpOgorICAgICAgICAqIFNoYXJlZC9X
ZWJHUFUvV2ViR1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50Lmg6IENvcGllZCBmcm9tIFNv
dXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVJbWFnZUNvcHlFeHRlcm5hbEltYWdlLmgu
CisgICAgICAgIChXZWJLaXQ6OldlYkdQVTo6U2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50Ojpl
bmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJHUFU6OlNoYWRlck1vZHVsZUNvbXBp
bGF0aW9uSGludDo6ZGVjb2RlKToKKyAgICAgICAgKiBTaGFyZWQvV2ViR1BVL1dlYkdQVVNoYWRl
ck1vZHVsZURlc2NyaXB0b3IuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJHUFU6OkNvbnZlcnRU
b0JhY2tpbmdDb250ZXh0Ojpjb252ZXJ0VG9CYWNraW5nKToKKyAgICAgICAgKFdlYktpdDo6V2Vi
R1BVOjpDb252ZXJ0RnJvbUJhY2tpbmdDb250ZXh0Ojpjb252ZXJ0RnJvbUJhY2tpbmcpOgorICAg
ICAgICAqIFNoYXJlZC9XZWJHUFUvV2ViR1BVU2hhZGVyTW9kdWxlRGVzY3JpcHRvci5oOgorICAg
ICAgICAoV2ViS2l0OjpXZWJHUFU6OlNoYWRlck1vZHVsZURlc2NyaXB0b3I6OmVuY29kZSBjb25z
dCk6CisgICAgICAgIChXZWJLaXQ6OldlYkdQVTo6U2hhZGVyTW9kdWxlRGVzY3JpcHRvcjo6ZGVj
b2RlKToKKyAgICAgICAgKiBTaGFyZWQvV2ViR1BVL1dlYkdQVVRleHR1cmVEZXNjcmlwdG9yLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6V2ViR1BVOjpDb252ZXJ0VG9CYWNraW5nQ29udGV4dDo6Y29u
dmVydFRvQmFja2luZyk6CisgICAgICAgIChXZWJLaXQ6OldlYkdQVTo6Q29udmVydEZyb21CYWNr
aW5nQ29udGV4dDo6Y29udmVydEZyb21CYWNraW5nKToKKyAgICAgICAgKiBTaGFyZWQvV2ViR1BV
L1dlYkdQVVRleHR1cmVEZXNjcmlwdG9yLmg6CisgICAgICAgIChXZWJLaXQ6OldlYkdQVTo6VGV4
dHVyZURlc2NyaXB0b3I6OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OldlYkdQVTo6
VGV4dHVyZURlc2NyaXB0b3I6OmRlY29kZSk6CisgICAgICAgICogU291cmNlcy50eHQ6CisgICAg
ICAgICogV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9HUFUvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUJ1ZmZlclByb3h5LmNwcDoKKyAgICAgICAg
KFdlYktpdDo6V2ViR1BVOjpSZW1vdGVCdWZmZXJQcm94eTo6bWFwQXN5bmMpOgorICAgICAgICAo
V2ViS2l0OjpXZWJHUFU6OlJlbW90ZUJ1ZmZlclByb3h5OjpnZXRNYXBwZWRSYW5nZSk6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUJ1ZmZlclByb3h5Lmg6
CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUNvbW1hbmRF
bmNvZGVyUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJHUFU6OlJlbW90ZUNvbW1hbmRF
bmNvZGVyUHJveHk6OmNsZWFyQnVmZmVyKToKKyAgICAgICAgKFdlYktpdDo6V2ViR1BVOjpSZW1v
dGVDb21tYW5kRW5jb2RlclByb3h5OjpmaWxsQnVmZmVyKTogRGVsZXRlZC4KKyAgICAgICAgKiBX
ZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQ29tbWFuZEVuY29kZXJQcm94eS5o
OgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVDb21wdXRl
UGFzc0VuY29kZXJQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkdQVTo6UmVtb3RlQ29t
cHV0ZVBhc3NFbmNvZGVyUHJveHk6OmRpc3BhdGNoKToKKyAgICAgICAgKFdlYktpdDo6V2ViR1BV
OjpSZW1vdGVDb21wdXRlUGFzc0VuY29kZXJQcm94eTo6ZW5kKToKKyAgICAgICAgKFdlYktpdDo6
V2ViR1BVOjpSZW1vdGVDb21wdXRlUGFzc0VuY29kZXJQcm94eTo6YmVnaW5QaXBlbGluZVN0YXRp
c3RpY3NRdWVyeSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OldlYkdQVTo6UmVtb3RlQ29t
cHV0ZVBhc3NFbmNvZGVyUHJveHk6OmVuZFBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KTogRGVsZXRl
ZC4KKyAgICAgICAgKFdlYktpdDo6V2ViR1BVOjpSZW1vdGVDb21wdXRlUGFzc0VuY29kZXJQcm94
eTo6ZW5kUGFzcyk6IERlbGV0ZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3Mv
V2ViR1BVL1JlbW90ZUNvbXB1dGVQYXNzRW5jb2RlclByb3h5Lmg6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9HUFUvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZVF1ZXVlUHJveHkuaDoKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9XZWJHUFUvUmVtb3RlUmVuZGVyUGFzc0VuY29kZXJQcm94
eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkdQVTo6UmVtb3RlUmVuZGVyUGFzc0VuY29kZXJQ
cm94eTo6ZW5kKToKKyAgICAgICAgKFdlYktpdDo6V2ViR1BVOjpSZW1vdGVSZW5kZXJQYXNzRW5j
b2RlclByb3h5OjpiZWdpblBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYktpdDo6V2ViR1BVOjpSZW1vdGVSZW5kZXJQYXNzRW5jb2RlclByb3h5OjplbmRQaXBl
bGluZVN0YXRpc3RpY3NRdWVyeSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OldlYkdQVTo6
UmVtb3RlUmVuZGVyUGFzc0VuY29kZXJQcm94eTo6ZW5kUGFzcyk6IERlbGV0ZWQuCisgICAgICAg
ICogV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZVJlbmRlclBhc3NFbmNvZGVy
UHJveHkuaDoKKwogMjAyMi0wMi0xMSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+
CiAKICAgICAgICAgU3VwcG9ydCByZW1vdGUgdmlkZW8gZnJhbWVzIGluIFdlYlJUQyB2aWRlbyBw
aXBlbGluZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCA0NTdjNGFhOWIxYTE4Y2NmYTlhYjI4N2U0
ZTBiMzcwZWUzYWQ1MDljLi4yODdhNWY4MzI4OWFjNzM0NWEyMTg4ZTU2MGRmYzhjYTY2ZDNlOThi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTUyOCw2ICsxNTI4LDcgQEAgbGlzdChBUFBFTkQg
V2ViQ29yZV9OT05fU1ZHX0lETF9GSUxFUwogICAgIE1vZHVsZXMvV2ViR1BVL0dQVUNvbW1hbmRC
dWZmZXJEZXNjcmlwdG9yLmlkbAogICAgIE1vZHVsZXMvV2ViR1BVL0dQVUNvbW1hbmRFbmNvZGVy
LmlkbAogICAgIE1vZHVsZXMvV2ViR1BVL0dQVUNvbW1hbmRFbmNvZGVyRGVzY3JpcHRvci5pZGwK
KyAgICBNb2R1bGVzL1dlYkdQVS9HUFVDb21tYW5kc01peGluLmlkbAogICAgIE1vZHVsZXMvV2Vi
R1BVL0dQVUNvbXBhcmVGdW5jdGlvbi5pZGwKICAgICBNb2R1bGVzL1dlYkdQVS9HUFVDb21waWxh
dGlvbkluZm8uaWRsCiAgICAgTW9kdWxlcy9XZWJHUFUvR1BVQ29tcGlsYXRpb25NZXNzYWdlLmlk
bApAQCAtMTUzOSw2ICsxNTQwLDcgQEAgbGlzdChBUFBFTkQgV2ViQ29yZV9OT05fU1ZHX0lETF9G
SUxFUwogICAgIE1vZHVsZXMvV2ViR1BVL0dQVUNvbXB1dGVQaXBlbGluZS5pZGwKICAgICBNb2R1
bGVzL1dlYkdQVS9HUFVDb21wdXRlUGlwZWxpbmVEZXNjcmlwdG9yLmlkbAogICAgIE1vZHVsZXMv
V2ViR1BVL0dQVUN1bGxNb2RlLmlkbAorICAgIE1vZHVsZXMvV2ViR1BVL0dQVURlYnVnQ29tbWFu
ZHNNaXhpbi5pZGwKICAgICBNb2R1bGVzL1dlYkdQVS9HUFVEZXB0aFN0ZW5jaWxTdGF0ZS5pZGwK
ICAgICBNb2R1bGVzL1dlYkdQVS9HUFVEZXZpY2UuaWRsCiAgICAgTW9kdWxlcy9XZWJHUFUvR1BV
RGV2aWNlRGVzY3JpcHRvci5pZGwKQEAgLTE1NzQsNyArMTU3Niw2IEBAIGxpc3QoQVBQRU5EIFdl
YkNvcmVfTk9OX1NWR19JRExfRklMRVMKICAgICBNb2R1bGVzL1dlYkdQVS9HUFVQaXBlbGluZURl
c2NyaXB0b3JCYXNlLmlkbAogICAgIE1vZHVsZXMvV2ViR1BVL0dQVVBpcGVsaW5lTGF5b3V0Lmlk
bAogICAgIE1vZHVsZXMvV2ViR1BVL0dQVVBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvci5pZGwKLSAg
ICBNb2R1bGVzL1dlYkdQVS9HUFVQaXBlbGluZVN0YXRpc3RpY05hbWUuaWRsCiAgICAgTW9kdWxl
cy9XZWJHUFUvR1BVUG93ZXJQcmVmZXJlbmNlLmlkbAogICAgIE1vZHVsZXMvV2ViR1BVL0dQVVBy
ZWRlZmluZWRDb2xvclNwYWNlLmlkbAogICAgIE1vZHVsZXMvV2ViR1BVL0dQVVByaW1pdGl2ZVN0
YXRlLmlkbApAQCAtMTYwNSw2ICsxNjA2LDcgQEAgbGlzdChBUFBFTkQgV2ViQ29yZV9OT05fU1ZH
X0lETF9GSUxFUwogICAgIE1vZHVsZXMvV2ViR1BVL0dQVVNhbXBsZXJCaW5kaW5nVHlwZS5pZGwK
ICAgICBNb2R1bGVzL1dlYkdQVS9HUFVTYW1wbGVyRGVzY3JpcHRvci5pZGwKICAgICBNb2R1bGVz
L1dlYkdQVS9HUFVTaGFkZXJNb2R1bGUuaWRsCisgICAgTW9kdWxlcy9XZWJHUFUvR1BVU2hhZGVy
TW9kdWxlQ29tcGlsYXRpb25IaW50LmlkbAogICAgIE1vZHVsZXMvV2ViR1BVL0dQVVNoYWRlck1v
ZHVsZURlc2NyaXB0b3IuaWRsCiAgICAgTW9kdWxlcy9XZWJHUFUvR1BVU2hhZGVyU3RhZ2UuaWRs
CiAgICAgTW9kdWxlcy9XZWJHUFUvR1BVU3RlbmNpbEZhY2VTdGF0ZS5pZGwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CmluZGV4IGE4MGNlMTMzMjBl
ZTVhMjM5ZDYzZDcyZmUyNGVmYzNkZDY4OGZiMDAuLjU5ODUyM2E0Nzk0NzE0N2ZiODA3NTU1NDVi
ZTNmNjgwMDUwYzM4NTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
LWlucHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5w
dXQueGNmaWxlbGlzdApAQCAtNjMsNiArNjMsNyBAQCAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL1dl
YkdQVS9HUFVDb21tYW5kQnVmZmVyLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9XZWJHUFUv
R1BVQ29tbWFuZEJ1ZmZlckRlc2NyaXB0b3IuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL1dl
YkdQVS9HUFVDb21tYW5kRW5jb2Rlci5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvV2ViR1BV
L0dQVUNvbW1hbmRFbmNvZGVyRGVzY3JpcHRvci5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMv
V2ViR1BVL0dQVUNvbW1hbmRzTWl4aW4uaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL1dlYkdQ
VS9HUFVDb21wYXJlRnVuY3Rpb24uaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL1dlYkdQVS9H
UFVDb21waWxhdGlvbkluZm8uaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL1dlYkdQVS9HUFVD
b21waWxhdGlvbk1lc3NhZ2UuaWRsCkBAIC03NCw2ICs3NSw3IEBAICQoUFJPSkVDVF9ESVIpL01v
ZHVsZXMvV2ViR1BVL0dQVUNvbXB1dGVQYXNzVGltZXN0YW1wV3JpdGUuaWRsCiAkKFBST0pFQ1Rf
RElSKS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21wdXRlUGlwZWxpbmUuaWRsCiAkKFBST0pFQ1RfRElS
KS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21wdXRlUGlwZWxpbmVEZXNjcmlwdG9yLmlkbAogJChQUk9K
RUNUX0RJUikvTW9kdWxlcy9XZWJHUFUvR1BVQ3VsbE1vZGUuaWRsCiskKFBST0pFQ1RfRElSKS9N
b2R1bGVzL1dlYkdQVS9HUFVEZWJ1Z0NvbW1hbmRzTWl4aW4uaWRsCiAkKFBST0pFQ1RfRElSKS9N
b2R1bGVzL1dlYkdQVS9HUFVEZXB0aFN0ZW5jaWxTdGF0ZS5pZGwKICQoUFJPSkVDVF9ESVIpL01v
ZHVsZXMvV2ViR1BVL0dQVURldmljZS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvV2ViR1BV
L0dQVURldmljZURlc2NyaXB0b3IuaWRsCkBAIC0xNDAsNiArMTQyLDcgQEAgJChQUk9KRUNUX0RJ
UikvTW9kdWxlcy9XZWJHUFUvR1BVU2FtcGxlckJpbmRpbmdMYXlvdXQuaWRsCiAkKFBST0pFQ1Rf
RElSKS9Nb2R1bGVzL1dlYkdQVS9HUFVTYW1wbGVyQmluZGluZ1R5cGUuaWRsCiAkKFBST0pFQ1Rf
RElSKS9Nb2R1bGVzL1dlYkdQVS9HUFVTYW1wbGVyRGVzY3JpcHRvci5pZGwKICQoUFJPSkVDVF9E
SVIpL01vZHVsZXMvV2ViR1BVL0dQVVNoYWRlck1vZHVsZS5pZGwKKyQoUFJPSkVDVF9ESVIpL01v
ZHVsZXMvV2ViR1BVL0dQVVNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludC5pZGwKICQoUFJPSkVD
VF9ESVIpL01vZHVsZXMvV2ViR1BVL0dQVVNoYWRlck1vZHVsZURlc2NyaXB0b3IuaWRsCiAkKFBS
T0pFQ1RfRElSKS9Nb2R1bGVzL1dlYkdQVS9HUFVTaGFkZXJTdGFnZS5pZGwKICQoUFJPSkVDVF9E
SVIpL01vZHVsZXMvV2ViR1BVL0dQVVNpemU2NC5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0IGIvU291cmNlL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKaW5kZXggZmFmMWQ5Zjg4ODg4NGM5MzRjYjRi
ZWYwMGIxMTFlN2ZiMjM3MGE3Mi4uNTkxYzRlMTM5Mjc2NmIzZGIxY2YxOWVmOTZiNmRkYThjMmI5
ODQ2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0Lnhj
ZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmls
ZWxpc3QKQEAgLTk0MSw2ICs5NDEsOCBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU0dQVUNvbW1hbmRFbmNvZGVyLmNwcAogJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVDb21tYW5kRW5jb2Rlci5oCiAkKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVUNvbW1hbmRFbmNvZGVy
RGVzY3JpcHRvci5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTR1BVQ29tbWFuZEVuY29kZXJEZXNjcmlwdG9yLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVQ29tbWFuZHNNaXhpbi5jcHAKKyQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVQ29tbWFuZHNNaXhpbi5o
CiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVUNvbXBh
cmVGdW5jdGlvbi5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTR1BVQ29tcGFyZUZ1bmN0aW9uLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTR1BVQ29tcGlsYXRpb25JbmZvLmNwcApAQCAtOTYzLDYgKzk2NSw4
IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVQ29t
cHV0ZVBpcGVsaW5lRGVzY3JpcHRvci5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTR1BVQ29tcHV0ZVBpcGVsaW5lRGVzY3JpcHRvci5oCiAkKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVUN1bGxNb2RlLmNwcAog
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVDdWxsTW9k
ZS5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVURl
YnVnQ29tbWFuZHNNaXhpbi5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTR1BVRGVidWdDb21tYW5kc01peGluLmgKICQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVRGVwdGhTdGVuY2lsU3RhdGUuY3BwCiAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVURlcHRoU3RlbmNp
bFN0YXRlLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
R1BVRGV2aWNlLmNwcApAQCAtMTA5NSw2ICsxMDk5LDggQEAgJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVTYW1wbGVyRGVzY3JpcHRvci5jcHAKICQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVU2FtcGxlckRlc2Ny
aXB0b3IuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNH
UFVTaGFkZXJNb2R1bGUuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU0dQVVNoYWRlck1vZHVsZS5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU0dQVVNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludC5jcHAKKyQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVU2hhZGVyTW9k
dWxlQ29tcGlsYXRpb25IaW50LmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTR1BVU2hhZGVyTW9kdWxlRGVzY3JpcHRvci5jcHAKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVU2hhZGVyTW9kdWxlRGVzY3JpcHRv
ci5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVVNo
YWRlclN0YWdlLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
bWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggMjFhNjViOTMx
M2FlN2M1M2JiMTU4MDQzZjU0NzNkMjliZGYwMjcwZS4uYzQ4MGQ5ZTI1NWU0ZjBjYWZjZTFiMzAx
NDY5ZTJmZTc1MGM4NzI3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC04Niw2
ICs4Niw3IEBAIEpTX0JJTkRJTkdfSURMUyA6PSBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL1dl
YkdQVS9HUFVDb21tYW5kQnVmZmVyRGVzY3JpcHRvci5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9k
dWxlcy9XZWJHUFUvR1BVQ29tbWFuZEVuY29kZXIuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVs
ZXMvV2ViR1BVL0dQVUNvbW1hbmRFbmNvZGVyRGVzY3JpcHRvci5pZGwgXAorICAgICQoV2ViQ29y
ZSkvTW9kdWxlcy9XZWJHUFUvR1BVQ29tbWFuZHNNaXhpbi5pZGwgXAogICAgICQoV2ViQ29yZSkv
TW9kdWxlcy9XZWJHUFUvR1BVQ29tcGFyZUZ1bmN0aW9uLmlkbCBcCiAgICAgJChXZWJDb3JlKS9N
b2R1bGVzL1dlYkdQVS9HUFVDb21waWxhdGlvbkluZm8uaWRsIFwKICAgICAkKFdlYkNvcmUpL01v
ZHVsZXMvV2ViR1BVL0dQVUNvbXBpbGF0aW9uTWVzc2FnZS5pZGwgXApAQCAtOTcsNiArOTgsNyBA
QCBKU19CSU5ESU5HX0lETFMgOj0gXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9XZWJHUFUvR1BV
Q29tcHV0ZVBpcGVsaW5lLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL1dlYkdQVS9HUFVD
b21wdXRlUGlwZWxpbmVEZXNjcmlwdG9yLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL1dl
YkdQVS9HUFVDdWxsTW9kZS5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9XZWJHUFUvR1BV
RGVidWdDb21tYW5kc01peGluLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL1dlYkdQVS9H
UFVEZXB0aFN0ZW5jaWxTdGF0ZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9XZWJHUFUv
R1BVRGV2aWNlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL1dlYkdQVS9HUFVEZXZpY2VE
ZXNjcmlwdG9yLmlkbCBcCkBAIC0xMzIsNyArMTM0LDYgQEAgSlNfQklORElOR19JRExTIDo9IFwK
ICAgICAkKFdlYkNvcmUpL01vZHVsZXMvV2ViR1BVL0dQVVBpcGVsaW5lRGVzY3JpcHRvckJhc2Uu
aWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvV2ViR1BVL0dQVVBpcGVsaW5lTGF5b3V0Lmlk
bCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL1dlYkdQVS9HUFVQaXBlbGluZUxheW91dERlc2Ny
aXB0b3IuaWRsIFwKLSAgICAkKFdlYkNvcmUpL01vZHVsZXMvV2ViR1BVL0dQVVBpcGVsaW5lU3Rh
dGlzdGljTmFtZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9XZWJHUFUvR1BVUG93ZXJQ
cmVmZXJlbmNlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL1dlYkdQVS9HUFVQcmVkZWZp
bmVkQ29sb3JTcGFjZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9XZWJHUFUvR1BVUHJp
bWl0aXZlU3RhdGUuaWRsIFwKQEAgLTE2Myw2ICsxNjQsNyBAQCBKU19CSU5ESU5HX0lETFMgOj0g
XAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9XZWJHUFUvR1BVU2FtcGxlckJpbmRpbmdUeXBlLmlk
bCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL1dlYkdQVS9HUFVTYW1wbGVyRGVzY3JpcHRvci5p
ZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9XZWJHUFUvR1BVU2hhZGVyTW9kdWxlLmlkbCBc
CisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL1dlYkdQVS9HUFVTaGFkZXJNb2R1bGVDb21waWxhdGlv
bkhpbnQuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvV2ViR1BVL0dQVVNoYWRlck1vZHVs
ZURlc2NyaXB0b3IuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvV2ViR1BVL0dQVVNoYWRl
clN0YWdlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL1dlYkdQVS9HUFVTdGVuY2lsRmFj
ZVN0YXRlLmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlIGIv
U291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQppbmRleCA4MDUwMDEzZWQ2NWY0MGM4OGYwNDM2
MTI3ODAyNWQ0NjA0ZmIzMDFjLi5kNTlmNjVmMmU2ZmRhNTFmNGE4ODkxZDU3ZDk1Mzc3ZDhhYTAx
YTYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKQEAgLTcxLDcgKzcxLDYgQEAgc2V0KFdlYkNvcmVfUFJJ
VkFURV9GUkFNRVdPUktfSEVBREVSUwogICAgIE1vZHVsZXMvV2ViR1BVL0dQVVBpcGVsaW5lRGVz
Y3JpcHRvckJhc2UuaAogICAgIE1vZHVsZXMvV2ViR1BVL0dQVVBpcGVsaW5lTGF5b3V0LmgKICAg
ICBNb2R1bGVzL1dlYkdQVS9HUFVQaXBlbGluZUxheW91dERlc2NyaXB0b3IuaAotICAgIE1vZHVs
ZXMvV2ViR1BVL0dQVVBpcGVsaW5lU3RhdGlzdGljTmFtZS5oCiAgICAgTW9kdWxlcy9XZWJHUFUv
R1BVUG93ZXJQcmVmZXJlbmNlLmgKICAgICBNb2R1bGVzL1dlYkdQVS9HUFVQcmVkZWZpbmVkQ29s
b3JTcGFjZS5oCiAgICAgTW9kdWxlcy9XZWJHUFUvR1BVUHJpbWl0aXZlU3RhdGUuaApAQCAtMTAw
LDYgKzk5LDcgQEAgc2V0KFdlYkNvcmVfUFJJVkFURV9GUkFNRVdPUktfSEVBREVSUwogICAgIE1v
ZHVsZXMvV2ViR1BVL0dQVVNhbXBsZXJCaW5kaW5nVHlwZS5oCiAgICAgTW9kdWxlcy9XZWJHUFUv
R1BVU2FtcGxlckRlc2NyaXB0b3IuaAogICAgIE1vZHVsZXMvV2ViR1BVL0dQVVNoYWRlck1vZHVs
ZS5oCisgICAgTW9kdWxlcy9XZWJHUFUvR1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50LmgK
ICAgICBNb2R1bGVzL1dlYkdQVS9HUFVTaGFkZXJNb2R1bGVEZXNjcmlwdG9yLmgKICAgICBNb2R1
bGVzL1dlYkdQVS9HUFVTaGFkZXJTdGFnZS5oCiAgICAgTW9kdWxlcy9XZWJHUFUvR1BVU3RlbmNp
bEZhY2VTdGF0ZS5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9H
UFVCdWZmZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQnVmZmVyLmNw
cAppbmRleCA3ZmQ0ODU3MmE5ZTU3M2M5OWIwM2ZiMzMyOGIyNGQ5NjQxYzI3NDk3Li40Yzk0YTRm
ZDkxNzg3MGNiNDBjNGZmOTRlODAxYzRhMWVlMzJiMDNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVCdWZmZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvV2ViR1BVL0dQVUJ1ZmZlci5jcHAKQEAgLTM4LDE0ICszOCwxNCBAQCB2b2lkIEdQVUJ1
ZmZlcjo6c2V0TGFiZWwoU3RyaW5nJiYgbGFiZWwpCiAgICAgbV9iYWNraW5nLT5zZXRMYWJlbChX
VEZNb3ZlKGxhYmVsKSk7CiB9CiAKLXZvaWQgR1BVQnVmZmVyOjptYXBBc3luYyhHUFVNYXBNb2Rl
RmxhZ3MgbW9kZSwgc3RkOjpvcHRpb25hbDxHUFVTaXplNjQ+IG9mZnNldCwgc3RkOjpvcHRpb25h
bDxHUFVTaXplNjQ+IHNpemUsIE1hcEFzeW5jUHJvbWlzZSYmIHByb21pc2UpCit2b2lkIEdQVUJ1
ZmZlcjo6bWFwQXN5bmMoR1BVTWFwTW9kZUZsYWdzIG1vZGUsIEdQVVNpemU2NCBvZmZzZXQsIHN0
ZDo6b3B0aW9uYWw8R1BVU2l6ZTY0PiBzaXplLCBNYXBBc3luY1Byb21pc2UmJiBwcm9taXNlKQog
ewogICAgIG1fYmFja2luZy0+bWFwQXN5bmMoY29udmVydE1hcE1vZGVGbGFnc1RvQmFja2luZyht
b2RlKSwgb2Zmc2V0LCBzaXplLCBbcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSldICgpIG11dGFi
bGUgewogICAgICAgICBwcm9taXNlLnJlc29sdmUobnVsbHB0cik7CiAgICAgfSk7CiB9CiAKLVJl
ZjxKU0M6OkFycmF5QnVmZmVyPiBHUFVCdWZmZXI6OmdldE1hcHBlZFJhbmdlKHN0ZDo6b3B0aW9u
YWw8R1BVU2l6ZTY0PiBvZmZzZXQsIHN0ZDo6b3B0aW9uYWw8R1BVU2l6ZTY0PiBzaXplKQorUmVm
PEpTQzo6QXJyYXlCdWZmZXI+IEdQVUJ1ZmZlcjo6Z2V0TWFwcGVkUmFuZ2UoR1BVU2l6ZTY0IG9m
ZnNldCwgc3RkOjpvcHRpb25hbDxHUFVTaXplNjQ+IHNpemUpCiB7CiAgICAgYXV0byBtYXBwZWRS
YW5nZSA9IG1fYmFja2luZy0+Z2V0TWFwcGVkUmFuZ2Uob2Zmc2V0LCBzaXplKTsKICAgICByZXR1
cm4gQXJyYXlCdWZmZXI6OmNyZWF0ZShtYXBwZWRSYW5nZS5zb3VyY2UsIG1hcHBlZFJhbmdlLmJ5
dGVMZW5ndGgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BV
QnVmZmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVCdWZmZXIuaAppbmRl
eCBjNjI4Y2MwNjdjMDQzMTAzMGM5NmY1YzkxNmQxY2I5MmE4MDA3N2RlLi40N2U5ZTQ1YWQzOTU4
MjM1OGE1NGVhMDE4ZjQyNjA5ODE4OTE4NTU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL1dlYkdQVS9HUFVCdWZmZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dl
YkdQVS9HUFVCdWZmZXIuaApAQCAtNDksOCArNDksOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRM
YWJlbChTdHJpbmcmJik7CiAKICAgICB1c2luZyBNYXBBc3luY1Byb21pc2UgPSBET01Qcm9taXNl
RGVmZXJyZWQ8SURMTnVsbD47Ci0gICAgdm9pZCBtYXBBc3luYyhHUFVNYXBNb2RlRmxhZ3MsIHN0
ZDo6b3B0aW9uYWw8R1BVU2l6ZTY0PiBvZmZzZXQsIHN0ZDo6b3B0aW9uYWw8R1BVU2l6ZTY0PiBz
aXplRm9yTWFwLCBNYXBBc3luY1Byb21pc2UmJik7Ci0gICAgUmVmPEpTQzo6QXJyYXlCdWZmZXI+
IGdldE1hcHBlZFJhbmdlKHN0ZDo6b3B0aW9uYWw8R1BVU2l6ZTY0PiBvZmZzZXQsIHN0ZDo6b3B0
aW9uYWw8R1BVU2l6ZTY0PiByYW5nZVNpemUpOworICAgIHZvaWQgbWFwQXN5bmMoR1BVTWFwTW9k
ZUZsYWdzLCBHUFVTaXplNjQgb2Zmc2V0LCBzdGQ6Om9wdGlvbmFsPEdQVVNpemU2ND4gc2l6ZUZv
ck1hcCwgTWFwQXN5bmNQcm9taXNlJiYpOworICAgIFJlZjxKU0M6OkFycmF5QnVmZmVyPiBnZXRN
YXBwZWRSYW5nZShHUFVTaXplNjQgb2Zmc2V0LCBzdGQ6Om9wdGlvbmFsPEdQVVNpemU2ND4gcmFu
Z2VTaXplKTsKICAgICB2b2lkIHVubWFwKCk7CiAKICAgICB2b2lkIGRlc3Ryb3koKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUNhbnZhc0NvbmZpZ3VyYXRp
b24uaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUNhbnZhc0NvbmZpZ3VyYXRp
b24uaAppbmRleCA2OTYwZTdkYjgxYjIyYzkwMmUzMWI2NzM2N2U2NjQyZmQzMGIzNTlmLi5hZjc1
YjVjNDhiMWI5YTVkODY0M2ViMTU5MjA1YjFiZGJkZWFlNWEyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVDYW52YXNDb25maWd1cmF0aW9uLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQ2FudmFzQ29uZmlndXJhdGlvbi5oCkBAIC0z
NSw2ICszNSw3IEBACiAjaW5jbHVkZSA8b3B0aW9uYWw+CiAjaW5jbHVkZSA8cGFsL2dyYXBoaWNz
L1dlYkdQVS9XZWJHUFVDYW52YXNDb25maWd1cmF0aW9uLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0
ci5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBA
IC00Niw2ICs0Nyw5IEBAIHN0cnVjdCBHUFVDYW52YXNDb25maWd1cmF0aW9uIHsKICAgICAgICAg
ICAgIGRldmljZS0+YmFja2luZygpLAogICAgICAgICAgICAgV2ViQ29yZTo6Y29udmVydFRvQmFj
a2luZyhmb3JtYXQpLAogICAgICAgICAgICAgY29udmVydFRleHR1cmVVc2FnZUZsYWdzVG9CYWNr
aW5nKHVzYWdlKSwKKyAgICAgICAgICAgIHZpZXdGb3JtYXRzLm1hcChbXSAoYXV0byYgdmlld0Zv
cm1hdCkgeworICAgICAgICAgICAgICAgIHJldHVybiBXZWJDb3JlOjpjb252ZXJ0VG9CYWNraW5n
KHZpZXdGb3JtYXQpOworICAgICAgICAgICAgfSksCiAgICAgICAgICAgICBXZWJDb3JlOjpjb252
ZXJ0VG9CYWNraW5nKGNvbG9yU3BhY2UpLAogICAgICAgICAgICAgV2ViQ29yZTo6Y29udmVydFRv
QmFja2luZyhjb21wb3NpdGluZ0FscGhhTW9kZSksCiAgICAgICAgICAgICBzaXplID8gc3RkOjpv
cHRpb25hbCB7IFdlYkNvcmU6OmNvbnZlcnRUb0JhY2tpbmcoKnNpemUpIH0gOiBzdGQ6Om51bGxv
cHQsCkBAIC01NSw2ICs1OSw3IEBAIHN0cnVjdCBHUFVDYW52YXNDb25maWd1cmF0aW9uIHsKICAg
ICBHUFVEZXZpY2UqIGRldmljZSB7IG51bGxwdHIgfTsKICAgICBHUFVUZXh0dXJlRm9ybWF0IGZv
cm1hdCB7IEdQVVRleHR1cmVGb3JtYXQ6OlI4dW5vcm0gfTsKICAgICBHUFVUZXh0dXJlVXNhZ2VG
bGFncyB1c2FnZSB7IEdQVVRleHR1cmVVc2FnZTo6UkVOREVSX0FUVEFDSE1FTlQgfTsKKyAgICBW
ZWN0b3I8R1BVVGV4dHVyZUZvcm1hdD4gdmlld0Zvcm1hdHM7CiAgICAgR1BVUHJlZGVmaW5lZENv
bG9yU3BhY2UgY29sb3JTcGFjZSB7IEdQVVByZWRlZmluZWRDb2xvclNwYWNlOjpTUkdCIH07CiAg
ICAgR1BVQ2FudmFzQ29tcG9zaXRpbmdBbHBoYU1vZGUgY29tcG9zaXRpbmdBbHBoYU1vZGUgeyBH
UFVDYW52YXNDb21wb3NpdGluZ0FscGhhTW9kZTo6T3BhcXVlIH07CiAgICAgc3RkOjpvcHRpb25h
bDxHUFVFeHRlbnQzRD4gc2l6ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
V2ViR1BVL0dQVUNhbnZhc0NvbmZpZ3VyYXRpb24uaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9XZWJHUFUvR1BVQ2FudmFzQ29uZmlndXJhdGlvbi5pZGwKaW5kZXggZmNhYzhjZGE5ZmVkMDIx
NmE2MWE0NzQ0NjU3ZTA0MDhiYmE4YzZhMS4uYjE0YTJjNzYxOWJiM2MxMmZlNjdhZTE5ODVmZTZm
N2RjZTYxM2E0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BV
Q2FudmFzQ29uZmlndXJhdGlvbi5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJH
UFUvR1BVQ2FudmFzQ29uZmlndXJhdGlvbi5pZGwKQEAgLTM3LDYgKzM3LDcgQEAgZGljdGlvbmFy
eSBHUFVDYW52YXNDb25maWd1cmF0aW9uIHsKICAgICByZXF1aXJlZCBHUFVEZXZpY2UgZGV2aWNl
OwogICAgIHJlcXVpcmVkIEdQVVRleHR1cmVGb3JtYXQgZm9ybWF0OwogICAgIEdQVVRleHR1cmVV
c2FnZUZsYWdzIHVzYWdlID0gMHgxMDsgIC8vIEdQVVRleHR1cmVVc2FnZS5SRU5ERVJfQVRUQUNI
TUVOVAorICAgIHNlcXVlbmNlPEdQVVRleHR1cmVGb3JtYXQ+IHZpZXdGb3JtYXRzID0gW107CiAg
ICAgR1BVUHJlZGVmaW5lZENvbG9yU3BhY2UgY29sb3JTcGFjZSA9ICJzcmdiIjsKICAgICBHUFVD
YW52YXNDb21wb3NpdGluZ0FscGhhTW9kZSBjb21wb3NpdGluZ0FscGhhTW9kZSA9ICJvcGFxdWUi
OwogICAgIEdQVUV4dGVudDNEIHNpemU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL1dlYkdQVS9HUFVDb21tYW5kRW5jb2Rlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L1dlYkdQVS9HUFVDb21tYW5kRW5jb2Rlci5jcHAKaW5kZXggODE3YzM1MmVjMDBhMmRkNTFlZTdi
MTdkNzBjNWRmMjU4ZmY4ZDRjNS4uYmRmZDJkNDliMjljNThiZmJmMDJiN2IyZTZjNTExZmY3ZmU0
NTk0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQ29tbWFu
ZEVuY29kZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUNvbW1h
bmRFbmNvZGVyLmNwcApAQCAtODUsMTIgKzg1LDEzIEBAIHZvaWQgR1BVQ29tbWFuZEVuY29kZXI6
OmNvcHlUZXh0dXJlVG9UZXh0dXJlKAogICAgIG1fYmFja2luZy0+Y29weVRleHR1cmVUb1RleHR1
cmUoc291cmNlLmNvbnZlcnRUb0JhY2tpbmcoKSwgZGVzdGluYXRpb24uY29udmVydFRvQmFja2lu
ZygpLCBjb252ZXJ0VG9CYWNraW5nKGNvcHlTaXplKSk7CiB9CiAKLXZvaWQgR1BVQ29tbWFuZEVu
Y29kZXI6OmZpbGxCdWZmZXIoCi0gICAgY29uc3QgR1BVQnVmZmVyJiBkZXN0aW5hdGlvbiwKLSAg
ICBHUFVTaXplNjQgZGVzdGluYXRpb25PZmZzZXQsCi0gICAgR1BVU2l6ZTY0IHNpemUpCisKK3Zv
aWQgR1BVQ29tbWFuZEVuY29kZXI6OmNsZWFyQnVmZmVyKAorICAgIGNvbnN0IEdQVUJ1ZmZlciYg
YnVmZmVyLAorICAgIEdQVVNpemU2NCBvZmZzZXQsCisgICAgc3RkOjpvcHRpb25hbDxHUFVTaXpl
NjQ+IHNpemUpCiB7Ci0gICAgbV9iYWNraW5nLT5maWxsQnVmZmVyKGRlc3RpbmF0aW9uLmJhY2tp
bmcoKSwgZGVzdGluYXRpb25PZmZzZXQsIHNpemUpOworICAgIG1fYmFja2luZy0+Y2xlYXJCdWZm
ZXIoYnVmZmVyLmJhY2tpbmcoKSwgb2Zmc2V0LCBzaXplKTsKIH0KIAogdm9pZCBHUFVDb21tYW5k
RW5jb2Rlcjo6cHVzaERlYnVnR3JvdXAoU3RyaW5nJiYgZ3JvdXBMYWJlbCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUNvbW1hbmRFbmNvZGVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21tYW5kRW5jb2Rlci5oCmluZGV4IGEwMWUz
MjY4NDU0ODgzZDlhNmU0YmUyZDg2MjY3YTI1ZDAwNGRkOTAuLjE3MWE4NGFmYmNlY2RlMmI3MDUy
Mzk4MTY1NjNmZjcyZGJlODQ5OTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
V2ViR1BVL0dQVUNvbW1hbmRFbmNvZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9X
ZWJHUFUvR1BVQ29tbWFuZEVuY29kZXIuaApAQCAtODEsMTAgKzgxLDEwIEBAIHB1YmxpYzoKICAg
ICAgICAgY29uc3QgR1BVSW1hZ2VDb3B5VGV4dHVyZSYgZGVzdGluYXRpb24sCiAgICAgICAgIGNv
bnN0IEdQVUV4dGVudDNEJiBjb3B5U2l6ZSk7CiAKLSAgICB2b2lkIGZpbGxCdWZmZXIoCi0gICAg
ICAgIGNvbnN0IEdQVUJ1ZmZlciYgZGVzdGluYXRpb24sCi0gICAgICAgIEdQVVNpemU2NCBkZXN0
aW5hdGlvbk9mZnNldCwKLSAgICAgICAgR1BVU2l6ZTY0KTsKKyAgICB2b2lkIGNsZWFyQnVmZmVy
KAorICAgICAgICBjb25zdCBHUFVCdWZmZXImLAorICAgICAgICBHUFVTaXplNjQgb2Zmc2V0LAor
ICAgICAgICBzdGQ6Om9wdGlvbmFsPEdQVVNpemU2ND4pOwogCiAgICAgdm9pZCBwdXNoRGVidWdH
cm91cChTdHJpbmcmJiBncm91cExhYmVsKTsKICAgICB2b2lkIHBvcERlYnVnR3JvdXAoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUNvbW1hbmRFbmNvZGVy
LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUNvbW1hbmRFbmNvZGVyLmlk
bAppbmRleCBhYTk0Y2EwMzQ0N2JmNWRiMTE0YTcwMzEwNDMzZmE4NjBiMDJhMTQzLi4yNjc5NmY2
ZDUzMThiMzA3NjQ4YjgyYjdkOTAyNDgyNTczMzc3MDQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21tYW5kRW5jb2Rlci5pZGwKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQ29tbWFuZEVuY29kZXIuaWRsCkBAIC02MiwxNCArNjIs
MTAgQEAgaW50ZXJmYWNlIEdQVUNvbW1hbmRFbmNvZGVyIHsKICAgICAgICAgR1BVSW1hZ2VDb3B5
VGV4dHVyZSBkZXN0aW5hdGlvbiwKICAgICAgICAgR1BVRXh0ZW50M0QgY29weVNpemUpOwogCi0g
ICAgdW5kZWZpbmVkIGZpbGxCdWZmZXIoCi0gICAgICAgIEdQVUJ1ZmZlciBkZXN0aW5hdGlvbiwK
LSAgICAgICAgR1BVU2l6ZTY0IGRlc3RpbmF0aW9uT2Zmc2V0LAotICAgICAgICBHUFVTaXplNjQg
c2l6ZSk7Ci0KLSAgICB1bmRlZmluZWQgcHVzaERlYnVnR3JvdXAoVVNWU3RyaW5nIGdyb3VwTGFi
ZWwpOwotICAgIHVuZGVmaW5lZCBwb3BEZWJ1Z0dyb3VwKCk7Ci0gICAgdW5kZWZpbmVkIGluc2Vy
dERlYnVnTWFya2VyKFVTVlN0cmluZyBtYXJrZXJMYWJlbCk7CisgICAgdW5kZWZpbmVkIGNsZWFy
QnVmZmVyKAorICAgICAgICBHUFVCdWZmZXIgYnVmZmVyLAorICAgICAgICBvcHRpb25hbCBHUFVT
aXplNjQgb2Zmc2V0ID0gMCwKKyAgICAgICAgb3B0aW9uYWwgR1BVU2l6ZTY0IHNpemUpOwogCiAg
ICAgdW5kZWZpbmVkIHdyaXRlVGltZXN0YW1wKEdQVVF1ZXJ5U2V0IHF1ZXJ5U2V0LCBHUFVTaXpl
MzIgcXVlcnlJbmRleCk7CiAKQEAgLTgzLDMgKzc5LDUgQEAgaW50ZXJmYWNlIEdQVUNvbW1hbmRF
bmNvZGVyIHsKICAgICBHUFVDb21tYW5kQnVmZmVyIGZpbmlzaChvcHRpb25hbCBHUFVDb21tYW5k
QnVmZmVyRGVzY3JpcHRvciBkZXNjcmlwdG9yKTsKIH07CiBHUFVDb21tYW5kRW5jb2RlciBpbmNs
dWRlcyBHUFVPYmplY3RCYXNlOworR1BVQ29tbWFuZEVuY29kZXIgaW5jbHVkZXMgR1BVQ29tbWFu
ZHNNaXhpbjsKK0dQVUNvbW1hbmRFbmNvZGVyIGluY2x1ZGVzIEdQVURlYnVnQ29tbWFuZHNNaXhp
bjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUNvbW1hbmRz
TWl4aW4uaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQ29tbWFuZHNNaXhp
bi5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMmFjYzNkZWU0MWQzOGQ2ZmNhNzk2ZWJlZmYyN2E1ZGVjZTZlYmNi
YQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUNv
bW1hbmRzTWl4aW4uaWRsCkBAIC0wLDAgKzEsMzIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MjIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisvLyBodHRwczov
L2dwdXdlYi5naXRodWIuaW8vZ3B1d2ViLyNncHVjb21tYW5kc21peGluCisKK1sKKyAgICBFbmFi
bGVkQnlTZXR0aW5nPVdlYkdQVQorXQoraW50ZXJmYWNlIG1peGluIEdQVUNvbW1hbmRzTWl4aW4g
eworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUNvbXB1
dGVQYXNzRW5jb2Rlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21w
dXRlUGFzc0VuY29kZXIuY3BwCmluZGV4IGIwMTFmNTBlNzY2MmUxZWE5ZTk5ZDc3NDQyOGI4Y2Ey
MjY4ZDRkMTYuLjk0ZDU4NGE2ZWM2OGY3YmE4NjM5NDM2NWY1OGI2MmMxNzBlNWQ5ZjggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUNvbXB1dGVQYXNzRW5jb2Rl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQ29tcHV0ZVBhc3NF
bmNvZGVyLmNwcApAQCAtNDgsOSArNDgsOSBAQCB2b2lkIEdQVUNvbXB1dGVQYXNzRW5jb2Rlcjo6
c2V0UGlwZWxpbmUoY29uc3QgR1BVQ29tcHV0ZVBpcGVsaW5lJiBjb21wdXRlUGlwZWxpbgogICAg
IG1fYmFja2luZy0+c2V0UGlwZWxpbmUoY29tcHV0ZVBpcGVsaW5lLmJhY2tpbmcoKSk7CiB9CiAK
LXZvaWQgR1BVQ29tcHV0ZVBhc3NFbmNvZGVyOjpkaXNwYXRjaChHUFVTaXplMzIgeCwgc3RkOjpv
cHRpb25hbDxHUFVTaXplMzI+IHksIHN0ZDo6b3B0aW9uYWw8R1BVU2l6ZTMyPiB6KQordm9pZCBH
UFVDb21wdXRlUGFzc0VuY29kZXI6OmRpc3BhdGNoKEdQVVNpemUzMiB3b3JrZ3JvdXBDb3VudFgs
IEdQVVNpemUzMiB3b3JrZ3JvdXBDb3VudFksIEdQVVNpemUzMiB3b3JrZ3JvdXBDb3VudFopCiB7
Ci0gICAgbV9iYWNraW5nLT5kaXNwYXRjaCh4LCB5LCB6KTsKKyAgICBtX2JhY2tpbmctPmRpc3Bh
dGNoKHdvcmtncm91cENvdW50WCwgd29ya2dyb3VwQ291bnRZLCB3b3JrZ3JvdXBDb3VudFopOwog
fQogCiB2b2lkIEdQVUNvbXB1dGVQYXNzRW5jb2Rlcjo6ZGlzcGF0Y2hJbmRpcmVjdChjb25zdCBH
UFVCdWZmZXImIGluZGlyZWN0QnVmZmVyLCBHUFVTaXplNjQgaW5kaXJlY3RPZmZzZXQpCkBAIC01
OCwxOSArNTgsOSBAQCB2b2lkIEdQVUNvbXB1dGVQYXNzRW5jb2Rlcjo6ZGlzcGF0Y2hJbmRpcmVj
dChjb25zdCBHUFVCdWZmZXImIGluZGlyZWN0QnVmZmVyLCBHUAogICAgIG1fYmFja2luZy0+ZGlz
cGF0Y2hJbmRpcmVjdChpbmRpcmVjdEJ1ZmZlci5iYWNraW5nKCksIGluZGlyZWN0T2Zmc2V0KTsK
IH0KIAotdm9pZCBHUFVDb21wdXRlUGFzc0VuY29kZXI6OmJlZ2luUGlwZWxpbmVTdGF0aXN0aWNz
UXVlcnkoY29uc3QgR1BVUXVlcnlTZXQmIHF1ZXJ5U2V0LCBHUFVTaXplMzIgcXVlcnlJbmRleCkK
K3ZvaWQgR1BVQ29tcHV0ZVBhc3NFbmNvZGVyOjplbmQoKQogewotICAgIG1fYmFja2luZy0+YmVn
aW5QaXBlbGluZVN0YXRpc3RpY3NRdWVyeShxdWVyeVNldC5iYWNraW5nKCksIHF1ZXJ5SW5kZXgp
OwotfQotCi12b2lkIEdQVUNvbXB1dGVQYXNzRW5jb2Rlcjo6ZW5kUGlwZWxpbmVTdGF0aXN0aWNz
UXVlcnkoKQotewotICAgIG1fYmFja2luZy0+ZW5kUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkoKTsK
LX0KLQotdm9pZCBHUFVDb21wdXRlUGFzc0VuY29kZXI6OmVuZFBhc3MoKQotewotICAgIG1fYmFj
a2luZy0+ZW5kUGFzcygpOworICAgIG1fYmFja2luZy0+ZW5kKCk7CiB9CiAKIHZvaWQgR1BVQ29t
cHV0ZVBhc3NFbmNvZGVyOjpzZXRCaW5kR3JvdXAoR1BVSW5kZXgzMiBpbmRleCwgY29uc3QgR1BV
QmluZEdyb3VwJiBiaW5kR3JvdXAsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L1dlYkdQVS9HUFVDb21wdXRlUGFzc0VuY29kZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
V2ViR1BVL0dQVUNvbXB1dGVQYXNzRW5jb2Rlci5oCmluZGV4IDcwNjY4YTcxZDYwMmIyOWVlYjAx
ODcyNTIzMWVkODA3YWIzZmJmMDAuLjdiN2VjYjM4MTEzNTk2OTNlZTZkZTgwYWUwMGRmNmE2YTg1
MWU3YjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUNvbXB1
dGVQYXNzRW5jb2Rlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUNv
bXB1dGVQYXNzRW5jb2Rlci5oCkBAIC01MiwxMyArNTIsMTAgQEAgcHVibGljOgogICAgIHZvaWQg
c2V0TGFiZWwoU3RyaW5nJiYpOwogCiAgICAgdm9pZCBzZXRQaXBlbGluZShjb25zdCBHUFVDb21w
dXRlUGlwZWxpbmUmKTsKLSAgICB2b2lkIGRpc3BhdGNoKEdQVVNpemUzMiB4LCBzdGQ6Om9wdGlv
bmFsPEdQVVNpemUzMj4geSwgc3RkOjpvcHRpb25hbDxHUFVTaXplMzI+KTsKKyAgICB2b2lkIGRp
c3BhdGNoKEdQVVNpemUzMiB3b3JrZ3JvdXBDb3VudFgsIEdQVVNpemUzMiB3b3JrZ3JvdXBDb3Vu
dFksIEdQVVNpemUzMiB3b3JrZ3JvdXBDb3VudFopOwogICAgIHZvaWQgZGlzcGF0Y2hJbmRpcmVj
dChjb25zdCBHUFVCdWZmZXImIGluZGlyZWN0QnVmZmVyLCBHUFVTaXplNjQgaW5kaXJlY3RPZmZz
ZXQpOwogCi0gICAgdm9pZCBiZWdpblBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KGNvbnN0IEdQVVF1
ZXJ5U2V0JiwgR1BVU2l6ZTMyIHF1ZXJ5SW5kZXgpOwotICAgIHZvaWQgZW5kUGlwZWxpbmVTdGF0
aXN0aWNzUXVlcnkoKTsKLQotICAgIHZvaWQgZW5kUGFzcygpOworICAgIHZvaWQgZW5kKCk7CiAK
ICAgICB2b2lkIHNldEJpbmRHcm91cChHUFVJbmRleDMyLCBjb25zdCBHUFVCaW5kR3JvdXAmLAog
ICAgICAgICBzdGQ6Om9wdGlvbmFsPFZlY3RvcjxHUFVCdWZmZXJEeW5hbWljT2Zmc2V0Pj4mJik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21wdXRlUGFz
c0VuY29kZXIuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQ29tcHV0ZVBh
c3NFbmNvZGVyLmlkbAppbmRleCA5NThkZDc3ZTc2NzQwNjI2Mjk4ZmQ0MmJkZDA0YWUxYzc4ZTVi
ODk4Li45ZmZhNmIwNjAxNzI4MWQ2ZDRmNjUyYzRmZGFkNjA0ZGZjMTU1MWNkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21wdXRlUGFzc0VuY29kZXIuaWRs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUNvbXB1dGVQYXNzRW5jb2Rl
ci5pZGwKQEAgLTM2LDEzICszNiwxMiBAQCB0eXBlZGVmIFtFbmZvcmNlUmFuZ2VdIHVuc2lnbmVk
IGxvbmcgbG9uZyBHUFVTaXplNjQ7CiBdCiBpbnRlcmZhY2UgR1BVQ29tcHV0ZVBhc3NFbmNvZGVy
IHsKICAgICB1bmRlZmluZWQgc2V0UGlwZWxpbmUoR1BVQ29tcHV0ZVBpcGVsaW5lIHBpcGVsaW5l
KTsKLSAgICB1bmRlZmluZWQgZGlzcGF0Y2goR1BVU2l6ZTMyIHgsIG9wdGlvbmFsIEdQVVNpemUz
MiB5ID0gMSwgb3B0aW9uYWwgR1BVU2l6ZTMyIHogPSAxKTsKKyAgICB1bmRlZmluZWQgZGlzcGF0
Y2goR1BVU2l6ZTMyIHdvcmtncm91cENvdW50WCwgb3B0aW9uYWwgR1BVU2l6ZTMyIHdvcmtncm91
cENvdW50WSA9IDEsIG9wdGlvbmFsIEdQVVNpemUzMiB3b3JrZ3JvdXBDb3VudFogPSAxKTsKICAg
ICB1bmRlZmluZWQgZGlzcGF0Y2hJbmRpcmVjdChHUFVCdWZmZXIgaW5kaXJlY3RCdWZmZXIsIEdQ
VVNpemU2NCBpbmRpcmVjdE9mZnNldCk7CiAKLSAgICB1bmRlZmluZWQgYmVnaW5QaXBlbGluZVN0
YXRpc3RpY3NRdWVyeShHUFVRdWVyeVNldCBxdWVyeVNldCwgR1BVU2l6ZTMyIHF1ZXJ5SW5kZXgp
OwotICAgIHVuZGVmaW5lZCBlbmRQaXBlbGluZVN0YXRpc3RpY3NRdWVyeSgpOwotCi0gICAgdW5k
ZWZpbmVkIGVuZFBhc3MoKTsKKyAgICB1bmRlZmluZWQgZW5kKCk7CiB9OwogR1BVQ29tcHV0ZVBh
c3NFbmNvZGVyIGluY2x1ZGVzIEdQVU9iamVjdEJhc2U7CitHUFVDb21wdXRlUGFzc0VuY29kZXIg
aW5jbHVkZXMgR1BVQ29tbWFuZHNNaXhpbjsKK0dQVUNvbXB1dGVQYXNzRW5jb2RlciBpbmNsdWRl
cyBHUFVEZWJ1Z0NvbW1hbmRzTWl4aW47CiBHUFVDb21wdXRlUGFzc0VuY29kZXIgaW5jbHVkZXMg
R1BVUHJvZ3JhbW1hYmxlUGFzc0VuY29kZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL1dlYkdQVS9HUFVEZWJ1Z0NvbW1hbmRzTWl4aW4uaWRsIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9XZWJHUFUvR1BVRGVidWdDb21tYW5kc01peGluLmlkbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xZjg0
OGE0MmRjYmNjYTY2YzMxODFiYThiZTE0MDhlNjNjMDU2NDA0Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVRGVidWdDb21tYW5kc01peGluLmlkbApA
QCAtMCwwICsxLDM1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIyIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8gaHR0cHM6Ly9ncHV3ZWIuZ2l0aHViLmlv
L2dwdXdlYi8jZ3B1ZGVidWdjb21tYW5kc21peGluCisKK1sKKyAgICBFbmFibGVkQnlTZXR0aW5n
PVdlYkdQVQorXQoraW50ZXJmYWNlIG1peGluIEdQVURlYnVnQ29tbWFuZHNNaXhpbiB7CisgICAg
dW5kZWZpbmVkIHB1c2hEZWJ1Z0dyb3VwKFVTVlN0cmluZyBncm91cExhYmVsKTsKKyAgICB1bmRl
ZmluZWQgcG9wRGVidWdHcm91cCgpOworICAgIHVuZGVmaW5lZCBpbnNlcnREZWJ1Z01hcmtlcihV
U1ZTdHJpbmcgbWFya2VyTGFiZWwpOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvV2ViR1BVL0dQVUZlYXR1cmVOYW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dl
YkdQVS9HUFVGZWF0dXJlTmFtZS5oCmluZGV4IDRmZWFiNTAxYzVhYzQ3ZTIzMmNiY2I3YmFkNTBi
MDBmNzM0MWNjOTguLmE4MDNhYzJmNTU4ZDg1YjZiZGZhNTFmNTE3NTA3ZTllODZlNmRlY2IgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUZlYXR1cmVOYW1lLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVRmVhdHVyZU5hbWUuaApAQCAt
MzQsNyArMzQsNiBAQCBlbnVtIGNsYXNzIEdQVUZlYXR1cmVOYW1lIDogdWludDhfdCB7CiAgICAg
RGVwdGhDbGlwQ29udHJvbCwKICAgICBEZXB0aDI0dW5vcm1TdGVuY2lsOCwKICAgICBEZXB0aDMy
ZmxvYXRTdGVuY2lsOCwKLSAgICBQaXBlbGluZVN0YXRpc3RpY3NRdWVyeSwKICAgICBUZXh0dXJl
Q29tcHJlc3Npb25CYywKICAgICBUZXh0dXJlQ29tcHJlc3Npb25FdGMyLAogICAgIFRleHR1cmVD
b21wcmVzc2lvbkFzdGMsCkBAIC01MSw4ICs1MCw2IEBAIGlubGluZSBQQUw6OldlYkdQVTo6RmVh
dHVyZU5hbWUgY29udmVydFRvQmFja2luZyhHUFVGZWF0dXJlTmFtZSBmZWF0dXJlTmFtZSkKICAg
ICAgICAgcmV0dXJuIFBBTDo6V2ViR1BVOjpGZWF0dXJlTmFtZTo6RGVwdGgyNHVub3JtU3RlbmNp
bDg7CiAgICAgY2FzZSBHUFVGZWF0dXJlTmFtZTo6RGVwdGgzMmZsb2F0U3RlbmNpbDg6CiAgICAg
ICAgIHJldHVybiBQQUw6OldlYkdQVTo6RmVhdHVyZU5hbWU6OkRlcHRoMzJmbG9hdFN0ZW5jaWw4
OwotICAgIGNhc2UgR1BVRmVhdHVyZU5hbWU6OlBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5OgotICAg
ICAgICByZXR1cm4gUEFMOjpXZWJHUFU6OkZlYXR1cmVOYW1lOjpQaXBlbGluZVN0YXRpc3RpY3NR
dWVyeTsKICAgICBjYXNlIEdQVUZlYXR1cmVOYW1lOjpUZXh0dXJlQ29tcHJlc3Npb25CYzoKICAg
ICAgICAgcmV0dXJuIFBBTDo6V2ViR1BVOjpGZWF0dXJlTmFtZTo6VGV4dHVyZUNvbXByZXNzaW9u
QmM7CiAgICAgY2FzZSBHUFVGZWF0dXJlTmFtZTo6VGV4dHVyZUNvbXByZXNzaW9uRXRjMjoKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUZlYXR1cmVOYW1lLmlk
bCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUZlYXR1cmVOYW1lLmlkbAppbmRl
eCAxODRlNWE1MWVjMTJkMTUzZTdlYjkzNDM4NDljY2Y3NTdhOTVmM2JiLi4yNWYwZjM4M2Q1MWFh
MTlkN2M0ZTBmNWIxNDMwNTZlZjUyNTAzYWVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL1dlYkdQVS9HUFVGZWF0dXJlTmFtZS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9XZWJHUFUvR1BVRmVhdHVyZU5hbWUuaWRsCkBAIC0zMiw3ICszMiw2IEBAIGVudW0gR1BV
RmVhdHVyZU5hbWUgewogICAgICJkZXB0aC1jbGlwLWNvbnRyb2wiLAogICAgICJkZXB0aDI0dW5v
cm0tc3RlbmNpbDgiLAogICAgICJkZXB0aDMyZmxvYXQtc3RlbmNpbDgiLAotICAgICJwaXBlbGlu
ZS1zdGF0aXN0aWNzLXF1ZXJ5IiwKICAgICAidGV4dHVyZS1jb21wcmVzc2lvbi1iYyIsCiAgICAg
InRleHR1cmUtY29tcHJlc3Npb24tZXRjMiIsCiAgICAgInRleHR1cmUtY29tcHJlc3Npb24tYXN0
YyIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVGcmFnbWVu
dFN0YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVGcmFnbWVudFN0YXRl
LmgKaW5kZXggZTliNjlhY2I1YWNiMDZjYTY5Yjg3MTcyZTk5M2U1MThlZjk1YjVmYi4uZTE3MmU0
MTU0ZjZiMzU4MTc1OGU0Y2M5OGJhMjdkZjY4MzdmMDA2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVRnJhZ21lbnRTdGF0ZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvV2ViR1BVL0dQVUZyYWdtZW50U3RhdGUuaApAQCAtMjcsNiArMjcsNyBAQAog
CiAjaW5jbHVkZSAiR1BVQ29sb3JUYXJnZXRTdGF0ZS5oIgogI2luY2x1ZGUgIkdQVVByb2dyYW1t
YWJsZVN0YWdlLmgiCisjaW5jbHVkZSA8b3B0aW9uYWw+CiAjaW5jbHVkZSA8cGFsL2dyYXBoaWNz
L1dlYkdQVS9XZWJHUFVGcmFnbWVudFN0YXRlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgog
CkBAIC00MiwxMyArNDMsMTUgQEAgc3RydWN0IEdQVUZyYWdtZW50U3RhdGUgOiBwdWJsaWMgR1BV
UHJvZ3JhbW1hYmxlU3RhZ2UgewogICAgICAgICAgICAgICAgIGVudHJ5UG9pbnQsCiAgICAgICAg
ICAgICAgICAgY29uc3RhbnRzLAogICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHRhcmdldHMu
bWFwKFtdIChhdXRvJiB0YXJnZXQpIHsKLSAgICAgICAgICAgICAgICByZXR1cm4gdGFyZ2V0LmNv
bnZlcnRUb0JhY2tpbmcoKTsKKyAgICAgICAgICAgIHRhcmdldHMubWFwKFtdIChhdXRvJiB0YXJn
ZXQpIC0+IHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OkNvbG9yVGFyZ2V0U3RhdGU+IHsKKyAg
ICAgICAgICAgICAgICBpZiAodGFyZ2V0KQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGFy
Z2V0LT5jb252ZXJ0VG9CYWNraW5nKCk7CisgICAgICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bnVs
bG9wdDsKICAgICAgICAgICAgIH0pLAogICAgICAgICB9OwogICAgIH0KIAotICAgIFZlY3RvcjxH
UFVDb2xvclRhcmdldFN0YXRlPiB0YXJnZXRzOworICAgIFZlY3RvcjxzdGQ6Om9wdGlvbmFsPEdQ
VUNvbG9yVGFyZ2V0U3RhdGU+PiB0YXJnZXRzOwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVRnJhZ21lbnRTdGF0ZS5pZGwgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVGcmFnbWVudFN0YXRlLmlkbAppbmRleCAxODk4NGU0ZWE2
OTYxMzA4MTBkZGU5NDkyNjdlZjk5NmU0OTNkMWRkLi40M2FmZmU5YWRlMDAxNzg3ZDgzMjIyMjVh
Njk0ZWViN2RiOTc0NzIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQ
VS9HUFVGcmFnbWVudFN0YXRlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQ
VS9HUFVGcmFnbWVudFN0YXRlLmlkbApAQCAtMjksNSArMjksNSBAQAogICAgIEVuYWJsZWRCeVNl
dHRpbmc9V2ViR1BVCiBdCiBkaWN0aW9uYXJ5IEdQVUZyYWdtZW50U3RhdGUgOiBHUFVQcm9ncmFt
bWFibGVTdGFnZSB7Ci0gICAgcmVxdWlyZWQgc2VxdWVuY2U8R1BVQ29sb3JUYXJnZXRTdGF0ZT4g
dGFyZ2V0czsKKyAgICByZXF1aXJlZCBzZXF1ZW5jZTxHUFVDb2xvclRhcmdldFN0YXRlPz4gdGFy
Z2V0czsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVJ
bWFnZUNvcHlFeHRlcm5hbEltYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9H
UFVJbWFnZUNvcHlFeHRlcm5hbEltYWdlLmgKaW5kZXggNGNjY2FiN2YwMDU2NmEzMTM2YTI1Nzg5
MGI4OTFiOTdkYzM1YTg4ZS4uOTU3Y2M5ZTM4MTFhZTI3ZDZmM2E4Mjg2N2FiMDZlNGM5Yzg2NmUw
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVSW1hZ2VDb3B5
RXh0ZXJuYWxJbWFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUlt
YWdlQ29weUV4dGVybmFsSW1hZ2UuaApAQCAtNDEsMTEgKzQxLDEzIEBAIHN0cnVjdCBHUFVJbWFn
ZUNvcHlFeHRlcm5hbEltYWdlIHsKICAgICAgICAgcmV0dXJuIHsKICAgICAgICAgICAgIC8vIEZJ
WE1FOiBIYW5kbGUgdGhlIGNhbnZhcyBlbGVtZW50LgogICAgICAgICAgICAgb3JpZ2luID8gc3Rk
OjpvcHRpb25hbCB7IFdlYkNvcmU6OmNvbnZlcnRUb0JhY2tpbmcoKm9yaWdpbikgfSA6IHN0ZDo6
bnVsbG9wdCwKKyAgICAgICAgICAgIGZsaXBZLAogICAgICAgICB9OwogICAgIH0KIAogICAgIHN0
ZDo6dmFyaWFudDxSZWZQdHI8SW1hZ2VCaXRtYXA+LCBSZWZQdHI8SFRNTENhbnZhc0VsZW1lbnQ+
PiBzb3VyY2U7CiAgICAgc3RkOjpvcHRpb25hbDxHUFVPcmlnaW4yRD4gb3JpZ2luOworICAgIGJv
b2wgZmxpcFkgeyBmYWxzZSB9OwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9XZWJHUFUvR1BVSW1hZ2VDb3B5RXh0ZXJuYWxJbWFnZS5pZGwgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVJbWFnZUNvcHlFeHRlcm5hbEltYWdlLmlkbAppbmRleCA5
ZTYxMmJiNTM2ODc3YWZmZjEwOTY1OGYzNWExNDE0YWRhYWQ5ZjJlLi4xZjIyMjJhNTViYWVlOWMy
N2QyZDI1ODZjOTc4MTUzNGM5YzljZTk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL1dlYkdQVS9HUFVJbWFnZUNvcHlFeHRlcm5hbEltYWdlLmlkbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVJbWFnZUNvcHlFeHRlcm5hbEltYWdlLmlkbApAQCAtMzUs
NCArMzUsNSBAQCB0eXBlZGVmIChzZXF1ZW5jZTxHUFVJbnRlZ2VyQ29vcmRpbmF0ZT4gb3IgR1BV
T3JpZ2luMkREaWN0KSBHUFVPcmlnaW4yRDsKIGRpY3Rpb25hcnkgR1BVSW1hZ2VDb3B5RXh0ZXJu
YWxJbWFnZSB7CiAgICAgcmVxdWlyZWQgKEltYWdlQml0bWFwIG9yIEhUTUxDYW52YXNFbGVtZW50
KSBzb3VyY2U7IC8vIEZJWE1FOiBPZmZzY3JlZW5DYW52YXMgZG9lc24ndCBzZWVtIHRvIHdvcmsg
d2l0aCBvdXIgYmluZGluZ3MgaGVyZS4KICAgICBHUFVPcmlnaW4yRCBvcmlnaW47CisgICAgYm9v
bGVhbiBmbGlwWSA9IGZhbHNlOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvV2ViR1BVL0dQVUxvYWRPcC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BV
TG9hZE9wLmgKaW5kZXggMzVlNTc0OWZlMTdkNWJkMjllMTU3MGIyMTdlNTk5MjExNTcxOTIyOS4u
MTJjYWRhZmIyYTU3MDM2YzA2YjY5ZDE4MGRjMWE1YWRlYzIzMzA4YiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVTG9hZE9wLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9XZWJHUFUvR1BVTG9hZE9wLmgKQEAgLTMyLDYgKzMyLDcgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBlbnVtIGNsYXNzIEdQVUxvYWRPcCA6IHVpbnQ4X3QgewogICAgIExvYWQs
CisgICAgQ2xlYXIsCiB9OwogCiBpbmxpbmUgUEFMOjpXZWJHUFU6OkxvYWRPcCBjb252ZXJ0VG9C
YWNraW5nKEdQVUxvYWRPcCBsb2FkT3ApCkBAIC0zOSw2ICs0MCw4IEBAIGlubGluZSBQQUw6Oldl
YkdQVTo6TG9hZE9wIGNvbnZlcnRUb0JhY2tpbmcoR1BVTG9hZE9wIGxvYWRPcCkKICAgICBzd2l0
Y2ggKGxvYWRPcCkgewogICAgIGNhc2UgR1BVTG9hZE9wOjpMb2FkOgogICAgICAgICByZXR1cm4g
UEFMOjpXZWJHUFU6OkxvYWRPcDo6TG9hZDsKKyAgICBjYXNlIEdQVUxvYWRPcDo6Q2xlYXI6Cisg
ICAgICAgIHJldHVybiBQQUw6OldlYkdQVTo6TG9hZE9wOjpDbGVhcjsKICAgICB9CiAgICAgUkVM
RUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvV2ViR1BVL0dQVUxvYWRPcC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dl
YkdQVS9HUFVMb2FkT3AuaWRsCmluZGV4IGM4NDk1NDFiNTI0Njc2NTEwYzU2MjhmYzk5MTAxYWNi
OTI5OWE4NTMuLmQ2MDJiNjFjNTJiNDgxMjY5ODNmNDhhZjBlN2MwNWQ1ZjUyMWVjNzQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUxvYWRPcC5pZGwKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVTG9hZE9wLmlkbApAQCAtMjksNSArMjks
NiBAQAogICAgIEVuYWJsZWRCeVNldHRpbmc9V2ViR1BVCiBdCiBlbnVtIEdQVUxvYWRPcCB7Ci0g
ICAgImxvYWQiCisgICAgImxvYWQiLAorICAgICJjbGVhciIKIH07CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVPYmplY3RCYXNlLmlkbCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvV2ViR1BVL0dQVU9iamVjdEJhc2UuaWRsCmluZGV4IGUxMzMxYjNlYzNjZDdl
ZjgzYjE3NTQzMmYzNzYyN2I3YWQ1ODQwZDQuLjhjZWZjNzFkNWU5ODZiNTBhNTZmYTIxYTQ4MDQ1
YzM2M2JjMTU3YmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQ
VU9iamVjdEJhc2UuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVU9i
amVjdEJhc2UuaWRsCkBAIC0yOSw1ICsyOSw1IEBACiAgICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJH
UFUKIF0KIGludGVyZmFjZSBtaXhpbiBHUFVPYmplY3RCYXNlIHsKLSAgICBhdHRyaWJ1dGUgVVNW
U3RyaW5nPyBsYWJlbDsKKyAgICBhdHRyaWJ1dGUgVVNWU3RyaW5nPyBsYWJlbDsgLy8gRklYTUU6
IFRoaXMgaXMgc3VwcG9zZWQgdG8gYmUgKFVTVlN0cmluZyBvciB1bmRlZmluZWQpIGJ1dCBvdXIg
YmluZGluZ3MgZ2VuZXJhdG9yIGNhbid0IGhhbmRsZSB0aGF0LgogfTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVBpcGVsaW5lU3RhdGlzdGljTmFtZS5oIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lLmgK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY4ZGU4YmZmOGY1NzNlYzRmM2FmNjczMmMy
OWZkZjJhMTA4ZWQ2NTEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUGlwZWxpbmVTdGF0aXN0aWNO
YW1lLmgKKysrIC9kZXYvbnVsbApAQCAtMSw1OCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChD
KSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
LSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI3ByYWdt
YSBvbmNlCi0KLSNpbmNsdWRlIDxjc3RkaW50PgotI2luY2x1ZGUgPHBhbC9ncmFwaGljcy9XZWJH
UFUvV2ViR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsK
LQotZW51bSBjbGFzcyBHUFVQaXBlbGluZVN0YXRpc3RpY05hbWUgOiB1aW50OF90IHsKLSAgICBW
ZXJ0ZXhTaGFkZXJJbnZvY2F0aW9ucywKLSAgICBDbGlwcGVySW52b2NhdGlvbnMsCi0gICAgQ2xp
cHBlclByaW1pdGl2ZXNPdXQsCi0gICAgRnJhZ21lbnRTaGFkZXJJbnZvY2F0aW9ucywKLSAgICBD
b21wdXRlU2hhZGVySW52b2NhdGlvbnMsCi19OwotCi1pbmxpbmUgUEFMOjpXZWJHUFU6OlBpcGVs
aW5lU3RhdGlzdGljTmFtZSBjb252ZXJ0VG9CYWNraW5nKEdQVVBpcGVsaW5lU3RhdGlzdGljTmFt
ZSBwaXBlbGluZVN0YXRpc3RpY05hbWUpCi17Ci0gICAgc3dpdGNoIChwaXBlbGluZVN0YXRpc3Rp
Y05hbWUpIHsKLSAgICBjYXNlIEdQVVBpcGVsaW5lU3RhdGlzdGljTmFtZTo6VmVydGV4U2hhZGVy
SW52b2NhdGlvbnM6Ci0gICAgICAgIHJldHVybiBQQUw6OldlYkdQVTo6UGlwZWxpbmVTdGF0aXN0
aWNOYW1lOjpWZXJ0ZXhTaGFkZXJJbnZvY2F0aW9uczsKLSAgICBjYXNlIEdQVVBpcGVsaW5lU3Rh
dGlzdGljTmFtZTo6Q2xpcHBlckludm9jYXRpb25zOgotICAgICAgICByZXR1cm4gUEFMOjpXZWJH
UFU6OlBpcGVsaW5lU3RhdGlzdGljTmFtZTo6Q2xpcHBlckludm9jYXRpb25zOwotICAgIGNhc2Ug
R1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lOjpDbGlwcGVyUHJpbWl0aXZlc091dDoKLSAgICAgICAg
cmV0dXJuIFBBTDo6V2ViR1BVOjpQaXBlbGluZVN0YXRpc3RpY05hbWU6OkNsaXBwZXJQcmltaXRp
dmVzT3V0OwotICAgIGNhc2UgR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lOjpGcmFnbWVudFNoYWRl
ckludm9jYXRpb25zOgotICAgICAgICByZXR1cm4gUEFMOjpXZWJHUFU6OlBpcGVsaW5lU3RhdGlz
dGljTmFtZTo6RnJhZ21lbnRTaGFkZXJJbnZvY2F0aW9uczsKLSAgICBjYXNlIEdQVVBpcGVsaW5l
U3RhdGlzdGljTmFtZTo6Q29tcHV0ZVNoYWRlckludm9jYXRpb25zOgotICAgICAgICByZXR1cm4g
UEFMOjpXZWJHUFU6OlBpcGVsaW5lU3RhdGlzdGljTmFtZTo6Q29tcHV0ZVNoYWRlckludm9jYXRp
b25zOwotICAgIH0KLSAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwotfQotCi19CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVQaXBlbGluZVN0YXRp
c3RpY05hbWUuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUGlwZWxpbmVT
dGF0aXN0aWNOYW1lLmlkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODc2NzdjMmNh
ZGNlNzU3MDZhMTEyMDJjMzQ1OWIzMzQ1YzBjN2Y5Ni4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVQ
aXBlbGluZVN0YXRpc3RpY05hbWUuaWRsCisrKyAvZGV2L251bGwKQEAgLTEsMzcgKzAsMCBAQAot
LyoKLSAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
Ci0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgotICovCi0KLS8vIGh0dHBzOi8vZ3B1d2ViLmdpdGh1Yi5pby9ncHV3ZWIvI2VudW1kZWYt
Z3B1cGlwZWxpbmVzdGF0aXN0aWNuYW1lCi0KLVsKLSAgICBFbmFibGVkQnlTZXR0aW5nPVdlYkdQ
VQotXQotZW51bSBHUFVQaXBlbGluZVN0YXRpc3RpY05hbWUgewotICAgICJ2ZXJ0ZXgtc2hhZGVy
LWludm9jYXRpb25zIiwKLSAgICAiY2xpcHBlci1pbnZvY2F0aW9ucyIsCi0gICAgImNsaXBwZXIt
cHJpbWl0aXZlcy1vdXQiLAotICAgICJmcmFnbWVudC1zaGFkZXItaW52b2NhdGlvbnMiLAotICAg
ICJjb21wdXRlLXNoYWRlci1pbnZvY2F0aW9ucyIKLX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVQcm9ncmFtbWFibGVQYXNzRW5jb2Rlci5pZGwgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVQcm9ncmFtbWFibGVQYXNzRW5jb2Rlci5pZGwK
aW5kZXggODFmMjI1MzgwODllZjVlYWMzOTViNTAxYTM0M2FiOWNmM2VlYzFiYi4uODY3MzQ5MmJm
NmNhMDM4ZDkwZDAyMDJjOWVkNTEwZDAyYTc5MjFlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9XZWJHUFUvR1BVUHJvZ3JhbW1hYmxlUGFzc0VuY29kZXIuaWRsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVByb2dyYW1tYWJsZVBhc3NFbmNvZGVyLmlk
bApAQCAtNDIsOCArNDIsNCBAQCBpbnRlcmZhY2UgbWl4aW4gR1BVUHJvZ3JhbW1hYmxlUGFzc0Vu
Y29kZXIgewogICAgICAgICBVaW50MzJBcnJheSBkeW5hbWljT2Zmc2V0c0RhdGEsCiAgICAgICAg
IEdQVVNpemU2NCBkeW5hbWljT2Zmc2V0c0RhdGFTdGFydCwKICAgICAgICAgR1BVU2l6ZTMyIGR5
bmFtaWNPZmZzZXRzRGF0YUxlbmd0aCk7Ci0KLSAgICB1bmRlZmluZWQgcHVzaERlYnVnR3JvdXAo
VVNWU3RyaW5nIGdyb3VwTGFiZWwpOwotICAgIHVuZGVmaW5lZCBwb3BEZWJ1Z0dyb3VwKCk7Ci0g
ICAgdW5kZWZpbmVkIGluc2VydERlYnVnTWFya2VyKFVTVlN0cmluZyBtYXJrZXJMYWJlbCk7CiB9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUXVlcnlTZXRE
ZXNjcmlwdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVRdWVyeVNldERl
c2NyaXB0b3IuaAppbmRleCBmMDA0M2JkNTcyZjEzZDg0MjYxZjAzYzlhNzEwZWE1NTNmOTkzZjQ0
Li5mZmQxZjc1MmU4ZDEwZmU4NWFhNGQxOWFiOTkxMTdmMGFlYWRlZDg0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVRdWVyeVNldERlc2NyaXB0b3IuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVRdWVyeVNldERlc2NyaXB0b3IuaApA
QCAtMjcsNyArMjcsNiBAQAogCiAjaW5jbHVkZSAiR1BVSW50ZWdyYWxUeXBlcy5oIgogI2luY2x1
ZGUgIkdQVU9iamVjdERlc2NyaXB0b3JCYXNlLmgiCi0jaW5jbHVkZSAiR1BVUGlwZWxpbmVTdGF0
aXN0aWNOYW1lLmgiCiAjaW5jbHVkZSAiR1BVUXVlcnlUeXBlLmgiCiAjaW5jbHVkZSA8cGFsL2dy
YXBoaWNzL1dlYkdQVS9XZWJHUFVRdWVyeVNldERlc2NyaXB0b3IuaD4KICNpbmNsdWRlIDx3dGYv
UmVmUHRyLmg+CkBAIC00MiwxNSArNDEsMTEgQEAgc3RydWN0IEdQVVF1ZXJ5U2V0RGVzY3JpcHRv
ciA6IHB1YmxpYyBHUFVPYmplY3REZXNjcmlwdG9yQmFzZSB7CiAgICAgICAgICAgICB7IGxhYmVs
IH0sCiAgICAgICAgICAgICBXZWJDb3JlOjpjb252ZXJ0VG9CYWNraW5nKHR5cGUpLAogICAgICAg
ICAgICAgY291bnQsCi0gICAgICAgICAgICBwaXBlbGluZVN0YXRpc3RpY3MubWFwKFtdIChjb25z
dCBhdXRvJiBwaXBlbGluZVN0YXRpc3RpYykgewotICAgICAgICAgICAgICAgIHJldHVybiBXZWJD
b3JlOjpjb252ZXJ0VG9CYWNraW5nKHBpcGVsaW5lU3RhdGlzdGljKTsKLSAgICAgICAgICAgIH0p
LAogICAgICAgICB9OwogICAgIH0KIAogICAgIEdQVVF1ZXJ5VHlwZSB0eXBlIHsgR1BVUXVlcnlU
eXBlOjpPY2NsdXNpb24gfTsKICAgICBHUFVTaXplMzIgY291bnQgeyAwIH07Ci0gICAgVmVjdG9y
PEdQVVBpcGVsaW5lU3RhdGlzdGljTmFtZT4gcGlwZWxpbmVTdGF0aXN0aWNzOwogfTsKIAogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUXVlcnlTZXREZXNj
cmlwdG9yLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVF1ZXJ5U2V0RGVz
Y3JpcHRvci5pZGwKaW5kZXggZmNkNTFiZDllMTk3NjllYWUzMmI1YmExYzdlN2E2MmQwOGM4NjFk
Yy4uNWE3ZTk1MDJiNmU1ZWFkYjFjOTE2NjUzODIxMTMzNGIzNmU5Y2JjZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUXVlcnlTZXREZXNjcmlwdG9yLmlkbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVRdWVyeVNldERlc2NyaXB0b3Iu
aWRsCkBAIC0zNCw1ICszNCw0IEBAIHR5cGVkZWYgW0VuZm9yY2VSYW5nZV0gdW5zaWduZWQgbG9u
ZyBHUFVTaXplMzI7CiBkaWN0aW9uYXJ5IEdQVVF1ZXJ5U2V0RGVzY3JpcHRvciA6IEdQVU9iamVj
dERlc2NyaXB0b3JCYXNlIHsKICAgICByZXF1aXJlZCBHUFVRdWVyeVR5cGUgdHlwZTsKICAgICBy
ZXF1aXJlZCBHUFVTaXplMzIgY291bnQ7Ci0gICAgc2VxdWVuY2U8R1BVUGlwZWxpbmVTdGF0aXN0
aWNOYW1lPiBwaXBlbGluZVN0YXRpc3RpY3MgPSBbXTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVRdWVyeVR5cGUuaCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvV2ViR1BVL0dQVVF1ZXJ5VHlwZS5oCmluZGV4IGU3YTU3NzJlNDg2M2M3YzZjNzg3OGE0
Njg1YmE0NDU2Njg2OTcwZGUuLjI5YjgzMzJiOWU5YWYyNGY3NzRjYTA4NzkwMWFkMWJkMzI1YWE2
NGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVF1ZXJ5VHlw
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVF1ZXJ5VHlwZS5oCkBA
IC0zMiw3ICszMiw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogZW51bSBjbGFzcyBHUFVRdWVy
eVR5cGUgOiB1aW50OF90IHsKICAgICBPY2NsdXNpb24sCi0gICAgUGlwZWxpbmVTdGF0aXN0aWNz
LAogICAgIFRpbWVzdGFtcCwKIH07CiAKQEAgLTQxLDggKzQwLDYgQEAgaW5saW5lIFBBTDo6V2Vi
R1BVOjpRdWVyeVR5cGUgY29udmVydFRvQmFja2luZyhHUFVRdWVyeVR5cGUgcXVlcnlUeXBlKQog
ICAgIHN3aXRjaCAocXVlcnlUeXBlKSB7CiAgICAgY2FzZSBHUFVRdWVyeVR5cGU6Ok9jY2x1c2lv
bjoKICAgICAgICAgcmV0dXJuIFBBTDo6V2ViR1BVOjpRdWVyeVR5cGU6Ok9jY2x1c2lvbjsKLSAg
ICBjYXNlIEdQVVF1ZXJ5VHlwZTo6UGlwZWxpbmVTdGF0aXN0aWNzOgotICAgICAgICByZXR1cm4g
UEFMOjpXZWJHUFU6OlF1ZXJ5VHlwZTo6UGlwZWxpbmVTdGF0aXN0aWNzOwogICAgIGNhc2UgR1BV
UXVlcnlUeXBlOjpUaW1lc3RhbXA6CiAgICAgICAgIHJldHVybiBQQUw6OldlYkdQVTo6UXVlcnlU
eXBlOjpUaW1lc3RhbXA7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9XZWJHUFUvR1BVUXVlcnlUeXBlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BV
L0dQVVF1ZXJ5VHlwZS5pZGwKaW5kZXggNTQ4MWI5MjJhMjMxZGU3YWY5NThkYzk0MjNmZTIyY2Ix
YTNmOTU2Ni4uZDU5MDJkNmJjMjQzNzAwZWIxODg3Yjg0NWVlNTNlNzc1OWYxZTRmNSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUXVlcnlUeXBlLmlkbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVRdWVyeVR5cGUuaWRsCkBAIC0zMCw2
ICszMCw1IEBACiBdCiBlbnVtIEdQVVF1ZXJ5VHlwZSB7CiAgICAgIm9jY2x1c2lvbiIsCi0gICAg
InBpcGVsaW5lLXN0YXRpc3RpY3MiLAogICAgICJ0aW1lc3RhbXAiCiB9OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUXVldWUuY3BwIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9XZWJHUFUvR1BVUXVldWUuY3BwCmluZGV4IGY1ODYxOTAyY2ZmZTY2ZjI4OGU1
YTY3Nzk5ZjIzNTVmNWQzNzc0YjMuLmI0YmViNDE4MzQ1MWE0NTgwMGJmNDIyMGRiNzYyY2JiODRl
MzI2YjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVF1ZXVl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVRdWV1ZS5jcHAKQEAg
LTYzLDEwICs2MywxMCBAQCB2b2lkIEdQVVF1ZXVlOjp3cml0ZUJ1ZmZlcigKICAgICBjb25zdCBH
UFVCdWZmZXImIGJ1ZmZlciwKICAgICBHUFVTaXplNjQgYnVmZmVyT2Zmc2V0LAogICAgIEJ1ZmZl
clNvdXJjZSYmIGRhdGEsCi0gICAgc3RkOjpvcHRpb25hbDxHUFVTaXplNjQ+IGRhdGFPZmZzZXQs
CisgICAgR1BVU2l6ZTY0IGRhdGFPZmZzZXQsCiAgICAgc3RkOjpvcHRpb25hbDxHUFVTaXplNjQ+
IHNpemUpCiB7Ci0gICAgbV9iYWNraW5nLT53cml0ZUJ1ZmZlcihidWZmZXIuYmFja2luZygpLCBi
dWZmZXJPZmZzZXQsIGRhdGEuZGF0YSgpLCBkYXRhLmxlbmd0aCgpLCBkYXRhT2Zmc2V0LnZhbHVl
X29yKDApLCBzaXplKTsKKyAgICBtX2JhY2tpbmctPndyaXRlQnVmZmVyKGJ1ZmZlci5iYWNraW5n
KCksIGJ1ZmZlck9mZnNldCwgZGF0YS5kYXRhKCksIGRhdGEubGVuZ3RoKCksIGRhdGFPZmZzZXQs
IHNpemUpOwogfQogCiB2b2lkIEdQVVF1ZXVlOjp3cml0ZVRleHR1cmUoCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVRdWV1ZS5oIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9XZWJHUFUvR1BVUXVldWUuaAppbmRleCBmZWMyZmJkMjc0ZGY5NWQzNDU2OWRkYmE1
ZGI1ZTBjMDI3YzIzN2RmLi43NTExOWUwYjM1NmJkMTcxNzZkODg1YmIwNjBlM2VkYjg1NmM3ZTlm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVRdWV1ZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVF1ZXVlLmgKQEAgLTY1LDcgKzY1
LDcgQEAgcHVibGljOgogICAgICAgICBjb25zdCBHUFVCdWZmZXImLAogICAgICAgICBHUFVTaXpl
NjQgYnVmZmVyT2Zmc2V0LAogICAgICAgICBCdWZmZXJTb3VyY2UmJiBkYXRhLAotICAgICAgICBz
dGQ6Om9wdGlvbmFsPEdQVVNpemU2ND4gZGF0YU9mZnNldCwKKyAgICAgICAgR1BVU2l6ZTY0IGRh
dGFPZmZzZXQsCiAgICAgICAgIHN0ZDo6b3B0aW9uYWw8R1BVU2l6ZTY0Pik7CiAKICAgICB2b2lk
IHdyaXRlVGV4dHVyZSgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BV
L0dQVVJlbmRlckJ1bmRsZUVuY29kZXIuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJH
UFUvR1BVUmVuZGVyQnVuZGxlRW5jb2Rlci5pZGwKaW5kZXggY2ZjNjg2ZDNjNjVhZDI2NDBjZTUy
MmEwYjliNGYzMGMwNDM2NjM4NS4uZTE5ZmVjNTU5NmRhZWQ2NWJkZDM5YjExOTNiM2M0OGUzNDg2
NzZiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVy
QnVuZGxlRW5jb2Rlci5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BV
UmVuZGVyQnVuZGxlRW5jb2Rlci5pZGwKQEAgLTM0LDUgKzM0LDcgQEAgaW50ZXJmYWNlIEdQVVJl
bmRlckJ1bmRsZUVuY29kZXIgewogICAgIEdQVVJlbmRlckJ1bmRsZSBmaW5pc2gob3B0aW9uYWwg
R1BVUmVuZGVyQnVuZGxlRGVzY3JpcHRvciBkZXNjcmlwdG9yKTsKIH07CiBHUFVSZW5kZXJCdW5k
bGVFbmNvZGVyIGluY2x1ZGVzIEdQVU9iamVjdEJhc2U7CitHUFVSZW5kZXJCdW5kbGVFbmNvZGVy
IGluY2x1ZGVzIEdQVUNvbW1hbmRzTWl4aW47CitHUFVSZW5kZXJCdW5kbGVFbmNvZGVyIGluY2x1
ZGVzIEdQVURlYnVnQ29tbWFuZHNNaXhpbjsKIEdQVVJlbmRlckJ1bmRsZUVuY29kZXIgaW5jbHVk
ZXMgR1BVUHJvZ3JhbW1hYmxlUGFzc0VuY29kZXI7CiBHUFVSZW5kZXJCdW5kbGVFbmNvZGVyIGlu
Y2x1ZGVzIEdQVVJlbmRlckVuY29kZXJCYXNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyQnVuZGxlRW5jb2RlckRlc2NyaXB0b3IuaCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlckJ1bmRsZUVuY29kZXJEZXNjcmlwdG9y
LmgKaW5kZXggOGQxODQ1MjYwNjA1NzI0ZGYyMjQ3MDFlNmQzYTU1MjYwMjljNmU1NC4uODg0YmU3
YzQ2MDgwMDMxYTY3NDZkM2EyNzkzN2ZlOGQxMzQ5MTAzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyQnVuZGxlRW5jb2RlckRlc2NyaXB0b3IuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJCdW5kbGVFbmNvZGVy
RGVzY3JpcHRvci5oCkBAIC0zNiw4ICszNiwxMCBAQCBzdHJ1Y3QgR1BVUmVuZGVyQnVuZGxlRW5j
b2RlckRlc2NyaXB0b3IgOiBwdWJsaWMgR1BVUmVuZGVyUGFzc0xheW91dCB7CiAgICAgICAgIHJl
dHVybiB7CiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgeyBsYWJlbCB9LAotICAgICAg
ICAgICAgICAgIGNvbG9yRm9ybWF0cy5tYXAoW10gKGNvbnN0IGF1dG8mIGNvbG9yRm9ybWF0KSB7
Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiBXZWJDb3JlOjpjb252ZXJ0VG9CYWNraW5nKGNv
bG9yRm9ybWF0KTsKKyAgICAgICAgICAgICAgICBjb2xvckZvcm1hdHMubWFwKFtdIChhdXRvJiBj
b2xvckZvcm1hdCkgLT4gc3RkOjpvcHRpb25hbDxQQUw6OldlYkdQVTo6VGV4dHVyZUZvcm1hdD4g
eworICAgICAgICAgICAgICAgICAgICBpZiAoY29sb3JGb3JtYXQpCisgICAgICAgICAgICAgICAg
ICAgICAgICByZXR1cm4gV2ViQ29yZTo6Y29udmVydFRvQmFja2luZygqY29sb3JGb3JtYXQpOwor
ICAgICAgICAgICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogICAgICAgICAgICAgICAg
IH0pLAogICAgICAgICAgICAgICAgIGRlcHRoU3RlbmNpbEZvcm1hdCA/IHN0ZDo6b3B0aW9uYWwg
eyBXZWJDb3JlOjpjb252ZXJ0VG9CYWNraW5nKCpkZXB0aFN0ZW5jaWxGb3JtYXQpIH0gOiBzdGQ6
Om51bGxvcHQsCiAgICAgICAgICAgICAgICAgc2FtcGxlQ291bnQsCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2ht
ZW50LmgKaW5kZXggODg2NTYwNjBjZjAwMDQzY2E4MzM3MjRhN2VmNmEzZGM4YzgzNWNiOC4uMTY0
ZjUzOTU1OWQ1YzQ1ZTI1ZjY4ZjNjZGFmNGY2MjRlZTJkOWFlNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NDb2xvckF0dGFj
aG1lbnQuaApAQCAtNDMsMTMgKzQzLDggQEAgc3RydWN0IEdQVVJlbmRlclBhc3NDb2xvckF0dGFj
aG1lbnQgewogICAgICAgICByZXR1cm4gewogICAgICAgICAgICAgdmlldy0+YmFja2luZygpLAog
ICAgICAgICAgICAgcmVzb2x2ZVRhcmdldCA/ICZyZXNvbHZlVGFyZ2V0LT5iYWNraW5nKCkgOiBu
dWxscHRyLAotICAgICAgICAgICAgV1RGOjpzd2l0Y2hPbihsb2FkVmFsdWUsIFsmXSAoR1BVTG9h
ZE9wIGxvYWRPcCkgLT4gc3RkOjp2YXJpYW50PFBBTDo6V2ViR1BVOjpMb2FkT3AsIFZlY3Rvcjxk
b3VibGU+LCBQQUw6OldlYkdQVTo6Q29sb3JEaWN0PiB7Ci0gICAgICAgICAgICAgICAgcmV0dXJu
IFdlYkNvcmU6OmNvbnZlcnRUb0JhY2tpbmcobG9hZE9wKTsKLSAgICAgICAgICAgIH0sIFsmXSAo
Y29uc3QgVmVjdG9yPGRvdWJsZT4mIHZlY3RvcikgLT4gc3RkOjp2YXJpYW50PFBBTDo6V2ViR1BV
OjpMb2FkT3AsIFZlY3Rvcjxkb3VibGU+LCBQQUw6OldlYkdQVTo6Q29sb3JEaWN0PiB7Ci0gICAg
ICAgICAgICAgICAgcmV0dXJuIHZlY3RvcjsKLSAgICAgICAgICAgIH0sIFsmXSAoY29uc3QgR1BV
Q29sb3JEaWN0JiBjb2xvcikgLT4gc3RkOjp2YXJpYW50PFBBTDo6V2ViR1BVOjpMb2FkT3AsIFZl
Y3Rvcjxkb3VibGU+LCBQQUw6OldlYkdQVTo6Q29sb3JEaWN0PiB7Ci0gICAgICAgICAgICAgICAg
cmV0dXJuIGNvbG9yLmNvbnZlcnRUb0JhY2tpbmcoKTsKLSAgICAgICAgICAgIH0pLAorICAgICAg
ICAgICAgY2xlYXJWYWx1ZSA/IHN0ZDo6b3B0aW9uYWwgeyBXZWJDb3JlOjpjb252ZXJ0VG9CYWNr
aW5nKCpjbGVhclZhbHVlKSB9IDogc3RkOjpudWxsb3B0LAorICAgICAgICAgICAgV2ViQ29yZTo6
Y29udmVydFRvQmFja2luZyhsb2FkT3ApLAogICAgICAgICAgICAgV2ViQ29yZTo6Y29udmVydFRv
QmFja2luZyhzdG9yZU9wKSwKICAgICAgICAgfTsKICAgICB9CkBAIC01Nyw3ICs1Miw4IEBAIHN0
cnVjdCBHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50IHsKICAgICBHUFVUZXh0dXJlVmlldyog
dmlldyB7IG51bGxwdHIgfTsKICAgICBHUFVUZXh0dXJlVmlldyogcmVzb2x2ZVRhcmdldCB7IG51
bGxwdHIgfTsKIAotICAgIHN0ZDo6dmFyaWFudDxHUFVMb2FkT3AsIFZlY3Rvcjxkb3VibGU+LCBH
UFVDb2xvckRpY3Q+IGxvYWRWYWx1ZTsKKyAgICBzdGQ6Om9wdGlvbmFsPEdQVUNvbG9yPiBjbGVh
clZhbHVlOworICAgIEdQVUxvYWRPcCBsb2FkT3AgeyBHUFVMb2FkT3A6OkxvYWQgfTsKICAgICBH
UFVTdG9yZU9wIHN0b3JlT3AgeyBHUFVTdG9yZU9wOjpTdG9yZSB9OwogfTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNo
bWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzQ29s
b3JBdHRhY2htZW50LmlkbAppbmRleCAyYmRjNmM0MzljMzkyMmU5NTA2N2NhYzI2MTY0MDczYTAz
N2U1MWQwLi44NTJhY2M2ZmIzNjM5YWMwYTRhNzk0NmJhNzk0ZjQxNjZmYjMyNWRlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzQ29sb3JBdHRh
Y2htZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQ
YXNzQ29sb3JBdHRhY2htZW50LmlkbApAQCAtMzUsNiArMzUsNyBAQCBkaWN0aW9uYXJ5IEdQVVJl
bmRlclBhc3NDb2xvckF0dGFjaG1lbnQgewogICAgIHJlcXVpcmVkIEdQVVRleHR1cmVWaWV3IHZp
ZXc7CiAgICAgR1BVVGV4dHVyZVZpZXcgcmVzb2x2ZVRhcmdldDsKIAotICAgIHJlcXVpcmVkIChH
UFVMb2FkT3Agb3IgR1BVQ29sb3IpIGxvYWRWYWx1ZTsKKyAgICBHUFVDb2xvciBjbGVhclZhbHVl
OworICAgIHJlcXVpcmVkIEdQVUxvYWRPcCBsb2FkT3A7CiAgICAgcmVxdWlyZWQgR1BVU3RvcmVP
cCBzdG9yZU9wOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BV
L0dQVVJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNobWVudC5oCmluZGV4
IGZhM2ZiNzYwMDE4MTBmYjYwZWEzMjgxYzcyZjc5NDNlMGEzMTM3MjIuLmNmYjRjN2JkZTdiMzBj
ZTQyZGU1Y2QxMGU4ZWQ5Yjc3Nzg1NmM2YjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0
dGFjaG1lbnQuaApAQCAtNDEsMzEgKzQxLDI3IEBAIHN0cnVjdCBHUFVSZW5kZXJQYXNzRGVwdGhT
dGVuY2lsQXR0YWNobWVudCB7CiAgICAgICAgIEFTU0VSVCh2aWV3KTsKICAgICAgICAgcmV0dXJu
IHsKICAgICAgICAgICAgIHZpZXctPmJhY2tpbmcoKSwKLSAgICAgICAgICAgIFdURjo6c3dpdGNo
T24oZGVwdGhMb2FkVmFsdWUsIFsmXSAoR1BVTG9hZE9wIGxvYWRPcCkgLT4gc3RkOjp2YXJpYW50
PFBBTDo6V2ViR1BVOjpMb2FkT3AsIGZsb2F0PiB7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIFdl
YkNvcmU6OmNvbnZlcnRUb0JhY2tpbmcobG9hZE9wKTsKLSAgICAgICAgICAgIH0sIFsmXSAoZmxv
YXQgZikgLT4gc3RkOjp2YXJpYW50PFBBTDo6V2ViR1BVOjpMb2FkT3AsIGZsb2F0PiB7Ci0gICAg
ICAgICAgICAgICAgcmV0dXJuIGY7Ci0gICAgICAgICAgICB9KSwKLSAgICAgICAgICAgIFdlYkNv
cmU6OmNvbnZlcnRUb0JhY2tpbmcoZGVwdGhTdG9yZU9wKSwKKyAgICAgICAgICAgIGRlcHRoQ2xl
YXJWYWx1ZSwKKyAgICAgICAgICAgIGRlcHRoTG9hZE9wID8gc3RkOjpvcHRpb25hbCB7IFdlYkNv
cmU6OmNvbnZlcnRUb0JhY2tpbmcoKmRlcHRoTG9hZE9wKSB9IDogc3RkOjpudWxsb3B0LAorICAg
ICAgICAgICAgZGVwdGhTdG9yZU9wID8gc3RkOjpvcHRpb25hbCB7IFdlYkNvcmU6OmNvbnZlcnRU
b0JhY2tpbmcoKmRlcHRoU3RvcmVPcCkgfSA6IHN0ZDo6bnVsbG9wdCwKICAgICAgICAgICAgIGRl
cHRoUmVhZE9ubHksCi0gICAgICAgICAgICBXVEY6OnN3aXRjaE9uKHN0ZW5jaWxMb2FkVmFsdWUs
IFsmXSAoR1BVTG9hZE9wIGxvYWRPcCkgLT4gc3RkOjp2YXJpYW50PFBBTDo6V2ViR1BVOjpMb2Fk
T3AsIFBBTDo6V2ViR1BVOjpTdGVuY2lsVmFsdWU+IHsKLSAgICAgICAgICAgICAgICByZXR1cm4g
V2ViQ29yZTo6Y29udmVydFRvQmFja2luZyhsb2FkT3ApOwotICAgICAgICAgICAgfSwgWyZdIChH
UFVTdGVuY2lsVmFsdWUgc3RlbmNpbFZhbHVlKSAtPiBzdGQ6OnZhcmlhbnQ8UEFMOjpXZWJHUFU6
OkxvYWRPcCwgUEFMOjpXZWJHUFU6OlN0ZW5jaWxWYWx1ZT4gewotICAgICAgICAgICAgICAgIHJl
dHVybiBzdGVuY2lsVmFsdWU7Ci0gICAgICAgICAgICB9KSwKLSAgICAgICAgICAgIFdlYkNvcmU6
OmNvbnZlcnRUb0JhY2tpbmcoc3RlbmNpbFN0b3JlT3ApLAorICAgICAgICAgICAgc3RlbmNpbENs
ZWFyVmFsdWUsCisgICAgICAgICAgICBzdGVuY2lsTG9hZE9wID8gc3RkOjpvcHRpb25hbCB7IFdl
YkNvcmU6OmNvbnZlcnRUb0JhY2tpbmcoKnN0ZW5jaWxMb2FkT3ApIH0gOiBzdGQ6Om51bGxvcHQs
CisgICAgICAgICAgICBzdGVuY2lsU3RvcmVPcCA/IHN0ZDo6b3B0aW9uYWwgeyBXZWJDb3JlOjpj
b252ZXJ0VG9CYWNraW5nKCpzdGVuY2lsU3RvcmVPcCkgfSA6IHN0ZDo6bnVsbG9wdCwKICAgICAg
ICAgICAgIHN0ZW5jaWxSZWFkT25seSwKICAgICAgICAgfTsKICAgICB9CiAKICAgICBHUFVUZXh0
dXJlVmlldyogdmlldyB7IG51bGxwdHIgfTsKIAotICAgIHN0ZDo6dmFyaWFudDxHUFVMb2FkT3As
IGZsb2F0PiBkZXB0aExvYWRWYWx1ZTsKLSAgICBHUFVTdG9yZU9wIGRlcHRoU3RvcmVPcCB7IEdQ
VVN0b3JlT3A6OlN0b3JlIH07CisgICAgZmxvYXQgZGVwdGhDbGVhclZhbHVlIHsgMCB9OworICAg
IHN0ZDo6b3B0aW9uYWw8R1BVTG9hZE9wPiBkZXB0aExvYWRPcDsKKyAgICBzdGQ6Om9wdGlvbmFs
PEdQVVN0b3JlT3A+IGRlcHRoU3RvcmVPcDsKICAgICBib29sIGRlcHRoUmVhZE9ubHkgeyBmYWxz
ZSB9OwogCi0gICAgc3RkOjp2YXJpYW50PEdQVUxvYWRPcCwgR1BVU3RlbmNpbFZhbHVlPiBzdGVu
Y2lsTG9hZFZhbHVlOwotICAgIEdQVVN0b3JlT3Agc3RlbmNpbFN0b3JlT3AgeyBHUFVTdG9yZU9w
OjpTdG9yZSB9OworICAgIEdQVVN0ZW5jaWxWYWx1ZSBzdGVuY2lsQ2xlYXJWYWx1ZSB7IDAgfTsK
KyAgICBzdGQ6Om9wdGlvbmFsPEdQVUxvYWRPcD4gc3RlbmNpbExvYWRPcDsKKyAgICBzdGQ6Om9w
dGlvbmFsPEdQVVN0b3JlT3A+IHN0ZW5jaWxTdG9yZU9wOwogICAgIGJvb2wgc3RlbmNpbFJlYWRP
bmx5IHsgZmFsc2UgfTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
V2ViR1BVL0dQVVJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50LmlkbCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50
LmlkbAppbmRleCAzNzUwMjE5YTI4NWI3MjFjYzg1NjU3Yzk1ZGZhOWRjYzRhNWQwMTE4Li43ZTY5
NTdiNGY1N2I4ZjFkNTJhZGQwODA0MDkxZmZmYjg4MWY5YmI3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNobWVu
dC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0Rl
cHRoU3RlbmNpbEF0dGFjaG1lbnQuaWRsCkBAIC0zNCwxMSArMzQsMTMgQEAgdHlwZWRlZiBbRW5m
b3JjZVJhbmdlXSB1bnNpZ25lZCBsb25nIEdQVVN0ZW5jaWxWYWx1ZTsKIGRpY3Rpb25hcnkgR1BV
UmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQgewogICAgIHJlcXVpcmVkIEdQVVRleHR1
cmVWaWV3IHZpZXc7CiAKLSAgICByZXF1aXJlZCAoR1BVTG9hZE9wIG9yIGZsb2F0KSBkZXB0aExv
YWRWYWx1ZTsKLSAgICByZXF1aXJlZCBHUFVTdG9yZU9wIGRlcHRoU3RvcmVPcDsKKyAgICBmbG9h
dCBkZXB0aENsZWFyVmFsdWUgPSAwOworICAgIEdQVUxvYWRPcCBkZXB0aExvYWRPcDsKKyAgICBH
UFVTdG9yZU9wIGRlcHRoU3RvcmVPcDsKICAgICBib29sZWFuIGRlcHRoUmVhZE9ubHkgPSBmYWxz
ZTsKIAotICAgIHJlcXVpcmVkIChHUFVMb2FkT3Agb3IgR1BVU3RlbmNpbFZhbHVlKSBzdGVuY2ls
TG9hZFZhbHVlOwotICAgIHJlcXVpcmVkIEdQVVN0b3JlT3Agc3RlbmNpbFN0b3JlT3A7CisgICAg
R1BVU3RlbmNpbFZhbHVlIHN0ZW5jaWxDbGVhclZhbHVlID0gMDsKKyAgICBHUFVMb2FkT3Agc3Rl
bmNpbExvYWRPcDsKKyAgICBHUFVTdG9yZU9wIHN0ZW5jaWxTdG9yZU9wOwogICAgIGJvb2xlYW4g
c3RlbmNpbFJlYWRPbmx5ID0gZmFsc2U7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IuaCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NEZXNjcmlwdG9yLmgKaW5kZXggNTgyYWZlMWU5
NzM4MGYyOGFlMTUxMWZhZmMxYjUzNzFhMjhmZTQ3MS4uZmI3OGY1MmY4MjczMDNjMGEzMDE2Zjc2
MjdjYmUwMWVmZmY1ODI4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJH
UFUvR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L1dlYkdQVS9HUFVSZW5kZXJQYXNzRGVzY3JpcHRvci5oCkBAIC00Miw4ICs0MiwxMCBAQCBzdHJ1
Y3QgR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IgOiBwdWJsaWMgR1BVT2JqZWN0RGVzY3JpcHRvckJh
c2UgewogICAgIHsKICAgICAgICAgcmV0dXJuIHsKICAgICAgICAgICAgIHsgbGFiZWwgfSwKLSAg
ICAgICAgICAgIGNvbG9yQXR0YWNobWVudHMubWFwKFtdIChhdXRvJiBjb2xvckF0dGFjaG1lbnQp
IHsKLSAgICAgICAgICAgICAgICByZXR1cm4gY29sb3JBdHRhY2htZW50LmNvbnZlcnRUb0JhY2tp
bmcoKTsKKyAgICAgICAgICAgIGNvbG9yQXR0YWNobWVudHMubWFwKFtdIChhdXRvJiBjb2xvckF0
dGFjaG1lbnQpIC0+IHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlJlbmRlclBhc3NDb2xvckF0
dGFjaG1lbnQ+IHsKKyAgICAgICAgICAgICAgICBpZiAoY29sb3JBdHRhY2htZW50KQorICAgICAg
ICAgICAgICAgICAgICByZXR1cm4gY29sb3JBdHRhY2htZW50LT5jb252ZXJ0VG9CYWNraW5nKCk7
CisgICAgICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKICAgICAgICAgICAgIH0pLAog
ICAgICAgICAgICAgZGVwdGhTdGVuY2lsQXR0YWNobWVudCA/IHN0ZDo6b3B0aW9uYWwgeyBkZXB0
aFN0ZW5jaWxBdHRhY2htZW50LT5jb252ZXJ0VG9CYWNraW5nKCkgfSA6IHN0ZDo6bnVsbG9wdCwK
ICAgICAgICAgICAgIG9jY2x1c2lvblF1ZXJ5U2V0ID8gJm9jY2x1c2lvblF1ZXJ5U2V0LT5iYWNr
aW5nKCkgOiBudWxscHRyLApAQCAtNTEsNyArNTMsNyBAQCBzdHJ1Y3QgR1BVUmVuZGVyUGFzc0Rl
c2NyaXB0b3IgOiBwdWJsaWMgR1BVT2JqZWN0RGVzY3JpcHRvckJhc2UgewogICAgICAgICB9Owog
ICAgIH0KIAotICAgIFZlY3RvcjxHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50PiBjb2xvckF0
dGFjaG1lbnRzOworICAgIFZlY3RvcjxzdGQ6Om9wdGlvbmFsPEdQVVJlbmRlclBhc3NDb2xvckF0
dGFjaG1lbnQ+PiBjb2xvckF0dGFjaG1lbnRzOwogICAgIHN0ZDo6b3B0aW9uYWw8R1BVUmVuZGVy
UGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQ+IGRlcHRoU3RlbmNpbEF0dGFjaG1lbnQ7CiAgICAg
R1BVUXVlcnlTZXQqIG9jY2x1c2lvblF1ZXJ5U2V0IHsgbnVsbHB0ciB9OwogICAgIEdQVVJlbmRl
clBhc3NUaW1lc3RhbXBXcml0ZXMgdGltZXN0YW1wV3JpdGVzOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IuaWRsIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IuaWRsCmlu
ZGV4IDBjMWNkZTM4OGYyZjBjNmFlNDNhNmNiNTAzMDZhZjU5MzhjNzQyYzYuLjE2OWUxNWNiYmU2
NWVhNWNkNDA4NDIxODE3MjQ3ZjFhYmY4N2MwN2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NEZXNjcmlwdG9yLmlkbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzRGVzY3JpcHRvci5pZGwKQEAgLTMy
LDcgKzMyLDcgQEAgdHlwZWRlZiBzZXF1ZW5jZTxHUFVSZW5kZXJQYXNzVGltZXN0YW1wV3JpdGU+
IEdQVVJlbmRlclBhc3NUaW1lc3RhbXBXcml0ZXM7CiAgICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJH
UFUKIF0KIGRpY3Rpb25hcnkgR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IgOiBHUFVPYmplY3REZXNj
cmlwdG9yQmFzZSB7Ci0gICAgcmVxdWlyZWQgc2VxdWVuY2U8R1BVUmVuZGVyUGFzc0NvbG9yQXR0
YWNobWVudD4gY29sb3JBdHRhY2htZW50czsKKyAgICByZXF1aXJlZCBzZXF1ZW5jZTxHUFVSZW5k
ZXJQYXNzQ29sb3JBdHRhY2htZW50Pz4gY29sb3JBdHRhY2htZW50czsKICAgICBHUFVSZW5kZXJQ
YXNzRGVwdGhTdGVuY2lsQXR0YWNobWVudCBkZXB0aFN0ZW5jaWxBdHRhY2htZW50OwogICAgIEdQ
VVF1ZXJ5U2V0IG9jY2x1c2lvblF1ZXJ5U2V0OwogICAgIEdQVVJlbmRlclBhc3NUaW1lc3RhbXBX
cml0ZXMgdGltZXN0YW1wV3JpdGVzID0gW107CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzRW5jb2Rlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzRW5jb2Rlci5jcHAKaW5kZXggYTk1MTAxNjZmOGJl
ODIxMmU3NmNhZmU0YTdlMmE0NjI5NWYyYmI4MS4uZDY0NDM1MjljY2I5YjVjYThkYzFkNGU2Y2Rk
MDhmNGM0M2I5ZjY2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUv
R1BVUmVuZGVyUGFzc0VuY29kZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2Vi
R1BVL0dQVVJlbmRlclBhc3NFbmNvZGVyLmNwcApAQCAtMTQ1LDE2ICsxNDUsNiBAQCB2b2lkIEdQ
VVJlbmRlclBhc3NFbmNvZGVyOjplbmRPY2NsdXNpb25RdWVyeSgpCiAgICAgbV9iYWNraW5nLT5l
bmRPY2NsdXNpb25RdWVyeSgpOwogfQogCi12b2lkIEdQVVJlbmRlclBhc3NFbmNvZGVyOjpiZWdp
blBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KGNvbnN0IEdQVVF1ZXJ5U2V0JiBxdWVyeVNldCwgR1BV
U2l6ZTMyIHF1ZXJ5SW5kZXgpCi17Ci0gICAgbV9iYWNraW5nLT5iZWdpblBpcGVsaW5lU3RhdGlz
dGljc1F1ZXJ5KHF1ZXJ5U2V0LmJhY2tpbmcoKSwgcXVlcnlJbmRleCk7Ci19Ci0KLXZvaWQgR1BV
UmVuZGVyUGFzc0VuY29kZXI6OmVuZFBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KCkKLXsKLSAgICBt
X2JhY2tpbmctPmVuZFBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KCk7Ci19Ci0KIHZvaWQgR1BVUmVu
ZGVyUGFzc0VuY29kZXI6OmV4ZWN1dGVCdW5kbGVzKFZlY3RvcjxSZWZQdHI8R1BVUmVuZGVyQnVu
ZGxlPj4mJiBidW5kbGVzKQogewogICAgIFZlY3RvcjxzdGQ6OnJlZmVyZW5jZV93cmFwcGVyPFBB
TDo6V2ViR1BVOjpSZW5kZXJCdW5kbGU+PiByZXN1bHQ7CkBAIC0xNjcsOSArMTU3LDkgQEAgdm9p
ZCBHUFVSZW5kZXJQYXNzRW5jb2Rlcjo6ZXhlY3V0ZUJ1bmRsZXMoVmVjdG9yPFJlZlB0cjxHUFVS
ZW5kZXJCdW5kbGU+PiYmIGJ1bmQKICAgICBtX2JhY2tpbmctPmV4ZWN1dGVCdW5kbGVzKFdURk1v
dmUocmVzdWx0KSk7CiB9CiAKLXZvaWQgR1BVUmVuZGVyUGFzc0VuY29kZXI6OmVuZFBhc3MoKQor
dm9pZCBHUFVSZW5kZXJQYXNzRW5jb2Rlcjo6ZW5kKCkKIHsKLSAgICBtX2JhY2tpbmctPmVuZFBh
c3MoKTsKKyAgICBtX2JhY2tpbmctPmVuZCgpOwogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzRW5jb2Rlci5oIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0VuY29kZXIuaAppbmRleCBmYzgxNzFj
NGFlYTRlZWUzNmQ4YzI3MDc3ODY2ZTc2MGRiNmVkZGU3Li5hNWYwYTk2YWRmOTM2Y2U5NDE0NThk
YmQxN2FiODY2ZTMxNDZiM2NjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dl
YkdQVS9HUFVSZW5kZXJQYXNzRW5jb2Rlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
V2ViR1BVL0dQVVJlbmRlclBhc3NFbmNvZGVyLmgKQEAgLTk1LDExICs5NSw4IEBAIHB1YmxpYzoK
ICAgICB2b2lkIGJlZ2luT2NjbHVzaW9uUXVlcnkoR1BVU2l6ZTMyIHF1ZXJ5SW5kZXgpOwogICAg
IHZvaWQgZW5kT2NjbHVzaW9uUXVlcnkoKTsKIAotICAgIHZvaWQgYmVnaW5QaXBlbGluZVN0YXRp
c3RpY3NRdWVyeShjb25zdCBHUFVRdWVyeVNldCYsIEdQVVNpemUzMiBxdWVyeUluZGV4KTsKLSAg
ICB2b2lkIGVuZFBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KCk7Ci0KICAgICB2b2lkIGV4ZWN1dGVC
dW5kbGVzKFZlY3RvcjxSZWZQdHI8R1BVUmVuZGVyQnVuZGxlPj4mJik7Ci0gICAgdm9pZCBlbmRQ
YXNzKCk7CisgICAgdm9pZCBlbmQoKTsKIAogICAgIFBBTDo6V2ViR1BVOjpSZW5kZXJQYXNzRW5j
b2RlciYgYmFja2luZygpIHsgcmV0dXJuIG1fYmFja2luZzsgfQogICAgIGNvbnN0IFBBTDo6V2Vi
R1BVOjpSZW5kZXJQYXNzRW5jb2RlciYgYmFja2luZygpIGNvbnN0IHsgcmV0dXJuIG1fYmFja2lu
ZzsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVy
UGFzc0VuY29kZXIuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVy
UGFzc0VuY29kZXIuaWRsCmluZGV4IDQ4ODVlYTM2OGM0MDNmMGFhODUxYzA2OGZiY2MwNzJkMDI3
MWE2OWQuLjQ3NmVjYTVjNzBmNzZmMDczMGEzMmVjNjg3NjU1M2YzOTA3ODhkOTkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NFbmNvZGVyLmlk
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzRW5jb2Rl
ci5pZGwKQEAgLTUwLDEyICs1MCwxMSBAQCBpbnRlcmZhY2UgR1BVUmVuZGVyUGFzc0VuY29kZXIg
ewogICAgIHVuZGVmaW5lZCBiZWdpbk9jY2x1c2lvblF1ZXJ5KEdQVVNpemUzMiBxdWVyeUluZGV4
KTsKICAgICB1bmRlZmluZWQgZW5kT2NjbHVzaW9uUXVlcnkoKTsKIAotICAgIHVuZGVmaW5lZCBi
ZWdpblBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KEdQVVF1ZXJ5U2V0IHF1ZXJ5U2V0LCBHUFVTaXpl
MzIgcXVlcnlJbmRleCk7Ci0gICAgdW5kZWZpbmVkIGVuZFBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5
KCk7Ci0KICAgICB1bmRlZmluZWQgZXhlY3V0ZUJ1bmRsZXMoc2VxdWVuY2U8R1BVUmVuZGVyQnVu
ZGxlPiBidW5kbGVzKTsKLSAgICB1bmRlZmluZWQgZW5kUGFzcygpOworICAgIHVuZGVmaW5lZCBl
bmQoKTsKIH07CiBHUFVSZW5kZXJQYXNzRW5jb2RlciBpbmNsdWRlcyBHUFVPYmplY3RCYXNlOwor
R1BVUmVuZGVyUGFzc0VuY29kZXIgaW5jbHVkZXMgR1BVQ29tbWFuZHNNaXhpbjsKK0dQVVJlbmRl
clBhc3NFbmNvZGVyIGluY2x1ZGVzIEdQVURlYnVnQ29tbWFuZHNNaXhpbjsKIEdQVVJlbmRlclBh
c3NFbmNvZGVyIGluY2x1ZGVzIEdQVVByb2dyYW1tYWJsZVBhc3NFbmNvZGVyOwogR1BVUmVuZGVy
UGFzc0VuY29kZXIgaW5jbHVkZXMgR1BVUmVuZGVyRW5jb2RlckJhc2U7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzTGF5b3V0LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzTGF5b3V0LmgKaW5kZXggYjVh
NTQwYWFhYWM3OGQ4OTAyY2I5MjdiNjIxYzFlYjgxMDRiMzk1NC4uYTQzZDQxOTFhM2VhMmI5NzZk
OTE1NmU0MWE3Y2IxMDU5NjdiNTQxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9XZWJHUFUvR1BVUmVuZGVyUGFzc0xheW91dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NMYXlvdXQuaApAQCAtMzksMTUgKzM5LDE3IEBAIHN0cnVj
dCBHUFVSZW5kZXJQYXNzTGF5b3V0IDogcHVibGljIEdQVU9iamVjdERlc2NyaXB0b3JCYXNlIHsK
ICAgICB7CiAgICAgICAgIHJldHVybiB7CiAgICAgICAgICAgICB7IGxhYmVsIH0sCi0gICAgICAg
ICAgICBjb2xvckZvcm1hdHMubWFwKFtdIChjb25zdCBhdXRvJiBjb2xvckZvcm1hdCkgewotICAg
ICAgICAgICAgICAgIHJldHVybiBXZWJDb3JlOjpjb252ZXJ0VG9CYWNraW5nKGNvbG9yRm9ybWF0
KTsKKyAgICAgICAgICAgIGNvbG9yRm9ybWF0cy5tYXAoW10gKGF1dG8mIGNvbG9yRm9ybWF0KSAt
PiBzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpUZXh0dXJlRm9ybWF0PiB7CisgICAgICAgICAg
ICAgICAgaWYgKGNvbG9yRm9ybWF0KQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gV2ViQ29y
ZTo6Y29udmVydFRvQmFja2luZygqY29sb3JGb3JtYXQpOworICAgICAgICAgICAgICAgIHJldHVy
biBzdGQ6Om51bGxvcHQ7CiAgICAgICAgICAgICB9KSwKICAgICAgICAgICAgIGRlcHRoU3RlbmNp
bEZvcm1hdCA/IHN0ZDo6b3B0aW9uYWwgeyBXZWJDb3JlOjpjb252ZXJ0VG9CYWNraW5nKCpkZXB0
aFN0ZW5jaWxGb3JtYXQpIH0gOiBzdGQ6Om51bGxvcHQsCiAgICAgICAgICAgICBzYW1wbGVDb3Vu
dCwKICAgICAgICAgfTsKICAgICB9CiAKLSAgICBWZWN0b3I8R1BVVGV4dHVyZUZvcm1hdD4gY29s
b3JGb3JtYXRzOworICAgIFZlY3RvcjxzdGQ6Om9wdGlvbmFsPEdQVVRleHR1cmVGb3JtYXQ+PiBj
b2xvckZvcm1hdHM7CiAgICAgc3RkOjpvcHRpb25hbDxHUFVUZXh0dXJlRm9ybWF0PiBkZXB0aFN0
ZW5jaWxGb3JtYXQ7CiAgICAgR1BVU2l6ZTMyIHNhbXBsZUNvdW50IHsgMSB9OwogfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NMYXlvdXQu
aWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0xheW91dC5p
ZGwKaW5kZXggNGE3Njk2OTJlMjYwMmIwNzVlMDEzYTkwMGRjY2U5MjE5ZjM4NmI1Mi4uNmJjYmRi
MTMwNjc2MzkxODdiYmE5MjNiZGJkZTQ2MjI0OTc1OWZjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0xheW91dC5pZGwKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0xheW91dC5pZGwKQEAgLTMyLDcg
KzMyLDcgQEAgdHlwZWRlZiBbRW5mb3JjZVJhbmdlXSB1bnNpZ25lZCBsb25nIEdQVVNpemUzMjsK
ICAgICBFbmFibGVkQnlTZXR0aW5nPVdlYkdQVQogXQogZGljdGlvbmFyeSBHUFVSZW5kZXJQYXNz
TGF5b3V0IDogR1BVT2JqZWN0RGVzY3JpcHRvckJhc2UgewotICAgIHJlcXVpcmVkIHNlcXVlbmNl
PEdQVVRleHR1cmVGb3JtYXQ+IGNvbG9yRm9ybWF0czsKKyAgICByZXF1aXJlZCBzZXF1ZW5jZTxH
UFVUZXh0dXJlRm9ybWF0Pz4gY29sb3JGb3JtYXRzOwogICAgIEdQVVRleHR1cmVGb3JtYXQgZGVw
dGhTdGVuY2lsRm9ybWF0OwogICAgIEdQVVNpemUzMiBzYW1wbGVDb3VudCA9IDE7CiB9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVU2hhZGVyTW9kdWxlQ29t
cGlsYXRpb25IaW50LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVTaGFkZXJN
b2R1bGVDb21waWxhdGlvbkhpbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yYzk1ZDQwMDQ2Yzc4OGViNGM3MTBh
ZDA5N2RlZjM5MGNhMTdkNjZmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9XZWJHUFUvR1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50LmgKQEAgLTAsMCArMSw0
NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiR1BVUGlwZWxpbmVM
YXlvdXQuaCIKKyNpbmNsdWRlIDxwYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVNoYWRlck1vZHVs
ZUNvbXBpbGF0aW9uSGludC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0cnVjdCBHUFVT
aGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQgeworICAgIFBBTDo6V2ViR1BVOjpTaGFkZXJNb2R1
bGVDb21waWxhdGlvbkhpbnQgY29udmVydFRvQmFja2luZygpIGNvbnN0CisgICAgeworICAgICAg
ICBBU1NFUlQobGF5b3V0KTsKKyAgICAgICAgcmV0dXJuIHsKKyAgICAgICAgICAgIGxheW91dC0+
YmFja2luZygpLAorICAgICAgICB9OworICAgIH0KKworICAgIEdQVVBpcGVsaW5lTGF5b3V0KiBs
YXlvdXQgeyBudWxscHRyIH07Cit9OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL1dlYkdQVS9HUFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQuaWRsIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50Lmlk
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mODg1NmU4OWZiZDIwZjhjYzNhNzU5YTkxNzJkNWNjYzY1M2MwMDYzCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVU2hhZGVy
TW9kdWxlQ29tcGlsYXRpb25IaW50LmlkbApAQCAtMCwwICsxLDMzIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDIyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
Ly8gaHR0cHM6Ly9ncHV3ZWIuZ2l0aHViLmlvL2dwdXdlYi8jZGljdGRlZi1ncHVzaGFkZXJtb2R1
bGVjb21waWxhdGlvbmhpbnQKKworWworICAgIEVuYWJsZWRCeVNldHRpbmc9V2ViR1BVCitdCitk
aWN0aW9uYXJ5IEdQVVNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludCB7CisgICAgcmVxdWlyZWQg
R1BVUGlwZWxpbmVMYXlvdXQgbGF5b3V0OworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvV2ViR1BVL0dQVVNoYWRlck1vZHVsZURlc2NyaXB0b3IuaCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvV2ViR1BVL0dQVVNoYWRlck1vZHVsZURlc2NyaXB0b3IuaAppbmRleCAxNjE3
MzI1YWYzYWM3MzQ0ZDI5NzUxZTU2MGU0ZjkzYmY0MjU5MTIyLi44Y2RjYmI5NTk2ZDg5M2Y4N2Uy
YWY4YWFmNTdjZGM3YjZhMzMxMDQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L1dlYkdQVS9HUFVTaGFkZXJNb2R1bGVEZXNjcmlwdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9XZWJHUFUvR1BVU2hhZGVyTW9kdWxlRGVzY3JpcHRvci5oCkBAIC0yNSw3ICsyNSw3
IEBACiAKICNwcmFnbWEgb25jZQogCi0jaW5jbHVkZSAiR1BVT2JqZWN0RGVzY3JpcHRvckJhc2Uu
aCIKKyNpbmNsdWRlICJHUFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQuaCIKICNpbmNsdWRl
IDxKYXZhU2NyaXB0Q29yZS9KU09iamVjdC5oPgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL1N0
cm9uZy5oPgogI2luY2x1ZGUgPHBhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVU2hhZGVyTW9kdWxl
RGVzY3JpcHRvci5oPgpAQCAtNDAsMTEgKzQwLDE1IEBAIHN0cnVjdCBHUFVTaGFkZXJNb2R1bGVE
ZXNjcmlwdG9yIDogcHVibGljIEdQVU9iamVjdERlc2NyaXB0b3JCYXNlIHsKICAgICAgICAgICAg
IHsgbGFiZWwgfSwKICAgICAgICAgICAgIGNvZGUsCiAgICAgICAgICAgICAvLyBGSVhNRTogSGFu
ZGxlIHRoZSBzb3VyY2VNYXAuCisgICAgICAgICAgICBoaW50cy5tYXAoW10gKGF1dG8mIGhpbnQp
IHsKKyAgICAgICAgICAgICAgICByZXR1cm4gS2V5VmFsdWVQYWlyPFN0cmluZywgUEFMOjpXZWJH
UFU6OlNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludD4oaGludC5rZXksIGhpbnQudmFsdWUuY29u
dmVydFRvQmFja2luZygpKTsKKyAgICAgICAgICAgIH0pLAogICAgICAgICB9OwogICAgIH0KIAog
ICAgIFN0cmluZyBjb2RlOwogICAgIEpTQzo6U3Ryb25nPEpTQzo6SlNPYmplY3Q+IHNvdXJjZU1h
cDsKKyAgICBWZWN0b3I8S2V5VmFsdWVQYWlyPFN0cmluZywgR1BVU2hhZGVyTW9kdWxlQ29tcGls
YXRpb25IaW50Pj4gaGludHM7CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL1dlYkdQVS9HUFVTaGFkZXJNb2R1bGVEZXNjcmlwdG9yLmlkbCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvV2ViR1BVL0dQVVNoYWRlck1vZHVsZURlc2NyaXB0b3IuaWRsCmluZGV4IGI4
YTc5NTljZWIzYzM3NjNmOTZhNmI2MWYzZjQ1YWMwODY2NzE4YjQuLjQyZTA0NGQ3ZDRkNDE0NWU1
NTcwOTg3MDU2NmU3MDkwMGVhZmMwNjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvV2ViR1BVL0dQVVNoYWRlck1vZHVsZURlc2NyaXB0b3IuaWRsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvV2ViR1BVL0dQVVNoYWRlck1vZHVsZURlc2NyaXB0b3IuaWRsCkBAIC0zMSw0
ICszMSw1IEBACiBkaWN0aW9uYXJ5IEdQVVNoYWRlck1vZHVsZURlc2NyaXB0b3IgOiBHUFVPYmpl
Y3REZXNjcmlwdG9yQmFzZSB7CiAgICAgcmVxdWlyZWQgVVNWU3RyaW5nIGNvZGU7CiAgICAgb2Jq
ZWN0IHNvdXJjZU1hcDsKKyAgICByZWNvcmQ8VVNWU3RyaW5nLCBHUFVTaGFkZXJNb2R1bGVDb21w
aWxhdGlvbkhpbnQ+IGhpbnRzOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvV2ViR1BVL0dQVVRleHR1cmVEZXNjcmlwdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L1dlYkdQVS9HUFVUZXh0dXJlRGVzY3JpcHRvci5oCmluZGV4IGM3ZDhiMjdhYzEzZThiZWRmOTRj
ZWY2NzZjMjhiODU0MTU2NWEzZDguLjRkMmZhNDcyN2U0OTAzZjVmMGY4OTFkMDhjZWUyNGI5N2U4
ZWQ3NzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVRleHR1
cmVEZXNjcmlwdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVVGV4
dHVyZURlc2NyaXB0b3IuaApAQCAtNDYsNiArNDYsOSBAQCBzdHJ1Y3QgR1BVVGV4dHVyZURlc2Ny
aXB0b3IgOiBwdWJsaWMgR1BVT2JqZWN0RGVzY3JpcHRvckJhc2UgewogICAgICAgICAgICAgV2Vi
Q29yZTo6Y29udmVydFRvQmFja2luZyhkaW1lbnNpb24pLAogICAgICAgICAgICAgV2ViQ29yZTo6
Y29udmVydFRvQmFja2luZyhmb3JtYXQpLAogICAgICAgICAgICAgY29udmVydFRleHR1cmVVc2Fn
ZUZsYWdzVG9CYWNraW5nKHVzYWdlKSwKKyAgICAgICAgICAgIHZpZXdGb3JtYXRzLm1hcChbXSAo
YXV0byB2aWV3Rm9ybWF0KSB7CisgICAgICAgICAgICAgICAgcmV0dXJuIFdlYkNvcmU6OmNvbnZl
cnRUb0JhY2tpbmcodmlld0Zvcm1hdCk7CisgICAgICAgICAgICB9KSwKICAgICAgICAgfTsKICAg
ICB9CiAKQEAgLTU1LDYgKzU4LDcgQEAgc3RydWN0IEdQVVRleHR1cmVEZXNjcmlwdG9yIDogcHVi
bGljIEdQVU9iamVjdERlc2NyaXB0b3JCYXNlIHsKICAgICBHUFVUZXh0dXJlRGltZW5zaW9uIGRp
bWVuc2lvbiB7IEdQVVRleHR1cmVEaW1lbnNpb246Ol8yZCB9OwogICAgIEdQVVRleHR1cmVGb3Jt
YXQgZm9ybWF0IHsgR1BVVGV4dHVyZUZvcm1hdDo6Ujh1bm9ybSB9OwogICAgIEdQVVRleHR1cmVV
c2FnZUZsYWdzIHVzYWdlIHsgMCB9OworICAgIFZlY3RvcjxHUFVUZXh0dXJlRm9ybWF0PiB2aWV3
Rm9ybWF0czsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2Vi
R1BVL0dQVVRleHR1cmVEZXNjcmlwdG9yLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2Vi
R1BVL0dQVVRleHR1cmVEZXNjcmlwdG9yLmlkbAppbmRleCBiMjRmZDMyZjY3Nzg3ZWE3NjlhMjA3
ODlmNWU0ODMyZmNiNDJjNWQ1Li41ZGY2Nzc0OWQzZTY2YWZhMDMzM2Q4ODU5N2JhYmZkNzQ2ZmJm
MzUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVUZXh0dXJl
RGVzY3JpcHRvci5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVVGV4
dHVyZURlc2NyaXB0b3IuaWRsCkBAIC00MSw0ICs0MSw1IEBAIGRpY3Rpb25hcnkgR1BVVGV4dHVy
ZURlc2NyaXB0b3IgOiBHUFVPYmplY3REZXNjcmlwdG9yQmFzZSB7CiAgICAgR1BVVGV4dHVyZURp
bWVuc2lvbiBkaW1lbnNpb24gPSAiMmQiOwogICAgIHJlcXVpcmVkIEdQVVRleHR1cmVGb3JtYXQg
Zm9ybWF0OwogICAgIHJlcXVpcmVkIEdQVVRleHR1cmVVc2FnZUZsYWdzIHVzYWdlOworICAgIHNl
cXVlbmNlPEdQVVRleHR1cmVGb3JtYXQ+IHZpZXdGb3JtYXRzID0gW107CiB9OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVVGV4dHVyZUZvcm1hdC5oIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVVGV4dHVyZUZvcm1hdC5oCmluZGV4IGM5ZDg3
MjEwMTg5ZTJlZDFjYzRlODNhZDllYWFkZTk0ODhhYjIxMDAuLmRhMTNkMTM2MTFlN2ZmOWRiYTU4
Mzk3Y2JhMTM4Njc5N2ZiZmYxNjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
V2ViR1BVL0dQVVRleHR1cmVGb3JtYXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dl
YkdQVS9HUFVUZXh0dXJlRm9ybWF0LmgKQEAgLTc4LDEzICs3OCwxOSBAQCBlbnVtIGNsYXNzIEdQ
VVRleHR1cmVGb3JtYXQgOiB1aW50OF90IHsKICAgICBSZ2JhMzJzaW50LAogICAgIFJnYmEzMmZs
b2F0LAogCi0gICAgLy8gRGVwdGggYW5kIHN0ZW5jaWwgZm9ybWF0cworICAgIC8vIERlcHRoL3N0
ZW5jaWwgZm9ybWF0cwogICAgIFN0ZW5jaWw4LAogICAgIERlcHRoMTZ1bm9ybSwKICAgICBEZXB0
aDI0cGx1cywKICAgICBEZXB0aDI0cGx1c1N0ZW5jaWw4LAogICAgIERlcHRoMzJmbG9hdCwKIAor
ICAgIC8vIGRlcHRoMjR1bm9ybS1zdGVuY2lsOCBmZWF0dXJlCisgICAgRGVwdGgyNHVub3JtU3Rl
bmNpbDgsCisKKyAgICAvLyBkZXB0aDMyZmxvYXQtc3RlbmNpbDggZmVhdHVyZQorICAgIERlcHRo
MzJmbG9hdFN0ZW5jaWw4LAorCiAgICAgLy8gQkMgY29tcHJlc3NlZCBmb3JtYXRzIHVzYWJsZSBp
ZiB0ZXh0dXJlLWNvbXByZXNzaW9uLWJjIGlzIGJvdGgKICAgICAvLyBzdXBwb3J0ZWQgYnkgdGhl
IGRldmljZS91c2VyIGFnZW50IGFuZCBlbmFibGVkIGluIHJlcXVlc3REZXZpY2UuCiAgICAgQmMx
UmdiYVVub3JtLApAQCAtMTQ1LDEyICsxNTEsNiBAQCBlbnVtIGNsYXNzIEdQVVRleHR1cmVGb3Jt
YXQgOiB1aW50OF90IHsKICAgICBBc3RjMTJ4MTBVbm9ybVNSR0IsCiAgICAgQXN0YzEyeDEyVW5v
cm0sCiAgICAgQXN0YzEyeDEyVW5vcm1TUkdCLAotCi0gICAgLy8gZGVwdGgyNHVub3JtLXN0ZW5j
aWw4IGZlYXR1cmUKLSAgICBEZXB0aDI0dW5vcm1TdGVuY2lsOCwKLQotICAgIC8vIGRlcHRoMzJm
bG9hdC1zdGVuY2lsOCBmZWF0dXJlCi0gICAgRGVwdGgzMmZsb2F0U3RlbmNpbDgsCiB9OwogCiBp
bmxpbmUgUEFMOjpXZWJHUFU6OlRleHR1cmVGb3JtYXQgY29udmVydFRvQmFja2luZyhHUFVUZXh0
dXJlRm9ybWF0IHRleHR1cmVGb3JtYXQpCkBAIC0yMzgsNiArMjM4LDEwIEBAIGlubGluZSBQQUw6
OldlYkdQVTo6VGV4dHVyZUZvcm1hdCBjb252ZXJ0VG9CYWNraW5nKEdQVVRleHR1cmVGb3JtYXQg
dGV4dHVyZUZvcm1hCiAgICAgICAgIHJldHVybiBQQUw6OldlYkdQVTo6VGV4dHVyZUZvcm1hdDo6
RGVwdGgyNHBsdXNTdGVuY2lsODsKICAgICBjYXNlIEdQVVRleHR1cmVGb3JtYXQ6OkRlcHRoMzJm
bG9hdDoKICAgICAgICAgcmV0dXJuIFBBTDo6V2ViR1BVOjpUZXh0dXJlRm9ybWF0OjpEZXB0aDMy
ZmxvYXQ7CisgICAgY2FzZSBHUFVUZXh0dXJlRm9ybWF0OjpEZXB0aDI0dW5vcm1TdGVuY2lsODoK
KyAgICAgICAgcmV0dXJuIFBBTDo6V2ViR1BVOjpUZXh0dXJlRm9ybWF0OjpEZXB0aDI0dW5vcm1T
dGVuY2lsODsKKyAgICBjYXNlIEdQVVRleHR1cmVGb3JtYXQ6OkRlcHRoMzJmbG9hdFN0ZW5jaWw4
OgorICAgICAgICByZXR1cm4gUEFMOjpXZWJHUFU6OlRleHR1cmVGb3JtYXQ6OkRlcHRoMzJmbG9h
dFN0ZW5jaWw4OwogICAgIGNhc2UgR1BVVGV4dHVyZUZvcm1hdDo6QmMxUmdiYVVub3JtOgogICAg
ICAgICByZXR1cm4gUEFMOjpXZWJHUFU6OlRleHR1cmVGb3JtYXQ6OkJjMVJnYmFVbm9ybTsKICAg
ICBjYXNlIEdQVVRleHR1cmVGb3JtYXQ6OkJjMVJnYmFVbm9ybVNSR0I6CkBAIC0zNDIsMTAgKzM0
Niw2IEBAIGlubGluZSBQQUw6OldlYkdQVTo6VGV4dHVyZUZvcm1hdCBjb252ZXJ0VG9CYWNraW5n
KEdQVVRleHR1cmVGb3JtYXQgdGV4dHVyZUZvcm1hCiAgICAgICAgIHJldHVybiBQQUw6OldlYkdQ
VTo6VGV4dHVyZUZvcm1hdDo6QXN0YzEyeDEyVW5vcm07CiAgICAgY2FzZSBHUFVUZXh0dXJlRm9y
bWF0OjpBc3RjMTJ4MTJVbm9ybVNSR0I6CiAgICAgICAgIHJldHVybiBQQUw6OldlYkdQVTo6VGV4
dHVyZUZvcm1hdDo6QXN0YzEyeDEyVW5vcm1TUkdCOwotICAgIGNhc2UgR1BVVGV4dHVyZUZvcm1h
dDo6RGVwdGgyNHVub3JtU3RlbmNpbDg6Ci0gICAgICAgIHJldHVybiBQQUw6OldlYkdQVTo6VGV4
dHVyZUZvcm1hdDo6RGVwdGgyNHVub3JtU3RlbmNpbDg7Ci0gICAgY2FzZSBHUFVUZXh0dXJlRm9y
bWF0OjpEZXB0aDMyZmxvYXRTdGVuY2lsODoKLSAgICAgICAgcmV0dXJuIFBBTDo6V2ViR1BVOjpU
ZXh0dXJlRm9ybWF0OjpEZXB0aDMyZmxvYXRTdGVuY2lsODsKICAgICB9CiAgICAgUkVMRUFTRV9B
U1NFUlRfTk9UX1JFQUNIRUQoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvV2ViR1BVL0dQVVRleHR1cmVGb3JtYXQuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9X
ZWJHUFUvR1BVVGV4dHVyZUZvcm1hdC5pZGwKaW5kZXggMjUxY2RkYmUwMDQzZWM5ZDE3Yjg0MjJh
NzNhYzk0NDViZTczYzRlNy4uMzAzNjE4OGM1MjEwODhjYmNhMWYyZjRjNjk1NTc5N2E3ZTI3ZWE5
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVVGV4dHVyZUZv
cm1hdC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVVGV4dHVyZUZv
cm1hdC5pZGwKQEAgLTc2LDEzICs3NiwxOSBAQCBlbnVtIEdQVVRleHR1cmVGb3JtYXQgewogICAg
ICJyZ2JhMzJzaW50IiwKICAgICAicmdiYTMyZmxvYXQiLAogCi0gICAgLy8gRGVwdGggYW5kIHN0
ZW5jaWwgZm9ybWF0cworICAgIC8vIERlcHRoL3N0ZW5jaWwgZm9ybWF0cwogICAgICJzdGVuY2ls
OCIsCiAgICAgImRlcHRoMTZ1bm9ybSIsCiAgICAgImRlcHRoMjRwbHVzIiwKICAgICAiZGVwdGgy
NHBsdXMtc3RlbmNpbDgiLAogICAgICJkZXB0aDMyZmxvYXQiLAogCisgICAgLy8gImRlcHRoMjR1
bm9ybS1zdGVuY2lsOCIgZmVhdHVyZQorICAgICJkZXB0aDI0dW5vcm0tc3RlbmNpbDgiLAorCisg
ICAgLy8gImRlcHRoMzJmbG9hdC1zdGVuY2lsOCIgZmVhdHVyZQorICAgICJkZXB0aDMyZmxvYXQt
c3RlbmNpbDgiLAorCiAgICAgLy8gQkMgY29tcHJlc3NlZCBmb3JtYXRzIHVzYWJsZSBpZiAidGV4
dHVyZS1jb21wcmVzc2lvbi1iYyIgaXMgYm90aAogICAgIC8vIHN1cHBvcnRlZCBieSB0aGUgZGV2
aWNlL3VzZXIgYWdlbnQgYW5kIGVuYWJsZWQgaW4gcmVxdWVzdERldmljZS4KICAgICAiYmMxLXJn
YmEtdW5vcm0iLApAQCAtMTQyLDExICsxNDgsNSBAQCBlbnVtIEdQVVRleHR1cmVGb3JtYXQgewog
ICAgICJhc3RjLTEyeDEwLXVub3JtIiwKICAgICAiYXN0Yy0xMngxMC11bm9ybS1zcmdiIiwKICAg
ICAiYXN0Yy0xMngxMi11bm9ybSIsCi0gICAgImFzdGMtMTJ4MTItdW5vcm0tc3JnYiIsCi0KLSAg
ICAvLyAiZGVwdGgyNHVub3JtLXN0ZW5jaWw4IiBmZWF0dXJlCi0gICAgImRlcHRoMjR1bm9ybS1z
dGVuY2lsOCIsCi0KLSAgICAvLyAiZGVwdGgzMmZsb2F0LXN0ZW5jaWw4IiBmZWF0dXJlCi0gICAg
ImRlcHRoMzJmbG9hdC1zdGVuY2lsOCIKKyAgICAiYXN0Yy0xMngxMi11bm9ybS1zcmdiIgogfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVVuY2FwdHVyZWRF
cnJvckV2ZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVVuY2FwdHVy
ZWRFcnJvckV2ZW50LmlkbAppbmRleCAzMzJlYmVhZGJkYTk4NzIwNjA2ZDg4NTRjNTE2NGMxYWQ0
NjliNTdkLi4xYjkyN2Q0MmFlYzVkYzhkZWQwYWIwYjNhMzkwZTUwNGJmNzQ5YzAwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVVbmNhcHR1cmVkRXJyb3JFdmVu
dC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVVW5jYXB0dXJlZEVy
cm9yRXZlbnQuaWRsCkBAIC0zOCw1ICszOCw1IEBAIGludGVyZmFjZSBHUFVVbmNhcHR1cmVkRXJy
b3JFdmVudCA6IEV2ZW50IHsKICAgICAgICAgRE9NU3RyaW5nIHR5cGUsCiAgICAgICAgIEdQVVVu
Y2FwdHVyZWRFcnJvckV2ZW50SW5pdCBncHVVbmNhcHR1cmVkRXJyb3JFdmVudEluaXREaWN0CiAg
ICAgKTsKLSAgICBbU2FtZU9iamVjdF0gcmVhZG9ubHkgYXR0cmlidXRlIEdQVUVycm9yIGVycm9y
OworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBHUFVFcnJvciBlcnJvcjsKIH07CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9QQUwvUEFMLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3Vy
Y2UvV2ViQ29yZS9QQUwvUEFMLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggODM4MGVl
MDY1NTJjYjBkZDcyMzZiOWY0MjFjNjYwOGNkNmQ4ZmViZS4uZDc0NWYyZDQzM2RkYjc1ZTYwOGJh
MzYyOTEzZjU4MzY3ZjQ0MjEzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML1BBTC54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9QQUwueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjQ2LDcgKzI0Niw2IEBACiAJCTFDRUZBMjE3Mjcz
N0E0QzgwMEYwREE5NSAvKiBXZWJHUFVCaW5kR3JvdXBFbnRyeS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUNDNUU0NjkyNzM3NDk0ODAwNkY2RkY0IC8q
IFdlYkdQVUJpbmRHcm91cEVudHJ5LmggKi87IH07CiAJCTFDRUZBMjE4MjczN0E0QzgwMEYwREE5
NSAvKiBXZWJHUFVQcmltaXRpdmVUb3BvbG9neS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMUNDNUU0NTMyNzM3NDk0NzAwNkY2RkY0IC8qIFdlYkdQVVBy
aW1pdGl2ZVRvcG9sb2d5LmggKi87IH07CiAJCTFDRUZBMjE5MjczN0E0QzgwMEYwREE5NSAvKiBX
ZWJHUFVUZXh0dXJlQmluZGluZ0xheW91dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMUNDNUU0MTkyNzM3NDkyQzAwNkY2RkY0IC8qIFdlYkdQVVRleHR1
cmVCaW5kaW5nTGF5b3V0LmggKi87IH07Ci0JCTFDRUZBMjFBMjczN0E0QzgwMEYwREE5NSAvKiBX
ZWJHUFVQaXBlbGluZVN0YXRpc3RpY05hbWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDFDQzVFNDM5MjczNzQ5NDYwMDZGNkZGNCAvKiBXZWJHUFVQaXBl
bGluZVN0YXRpc3RpY05hbWUuaCAqLzsgfTsKIAkJMUNFRkEyMUIyNzM3QTRDODAwRjBEQTk1IC8q
IFdlYkdQVUJsZW5kQ29tcG9uZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAxQ0M1RTQ3ODI3Mzc0OTQ5MDA2RjZGRjQgLyogV2ViR1BVQmxlbmRDb21w
b25lbnQuaCAqLzsgfTsKIAkJMUNFRkEyMUMyNzM3QTRDODAwRjBEQTk1IC8qIFdlYkdQVVRleHR1
cmVWaWV3RGltZW5zaW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAxQ0M1RTQzMjI3Mzc0OTJEMDA2RjZGRjQgLyogV2ViR1BVVGV4dHVyZVZpZXdEaW1l
bnNpb24uaCAqLzsgfTsKIAkJMUNFRkEyMUQyNzM3QTRDODAwRjBEQTk1IC8qIFdlYkdQVUxvYWRP
cC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUNDNUU0
NTAyNzM3NDk0NzAwNkY2RkY0IC8qIFdlYkdQVUxvYWRPcC5oICovOyB9OwpAQCAtNjUwLDcgKzY0
OSw2IEBACiAJCTFDQzVFNDM2MjczNzQ5NDYwMDZGNkZGNCAvKiBXZWJHUFVDb21waWxhdGlvbk1l
c3NhZ2VUeXBlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkdQVUNvbXBpbGF0aW9uTWVzc2FnZVR5cGUu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNDNUU0MzcyNzM3NDk0NjAwNkY2RkY0
IC8qIFdlYkdQVUV4dGVudDNELmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkdQVUV4dGVudDNELmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDQzVFNDM4MjczNzQ5NDYwMDZGNkZGNCAvKiBX
ZWJHUFVQcm9ncmFtbWFibGVTdGFnZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJHUFVQcm9ncmFtbWFi
bGVTdGFnZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkxQ0M1RTQzOTI3Mzc0OTQ2
MDA2RjZGRjQgLyogV2ViR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFdlYkdQVVBpcGVsaW5lU3RhdGlzdGljTmFtZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkxQ0M1RTQzQTI3Mzc0OTQ2MDA2RjZGRjQgLyogV2ViR1BVRXh0ZXJuYWxUZXh0dXJlQmlu
ZGluZ0xheW91dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJHUFVFeHRlcm5hbFRleHR1cmVCaW5kaW5n
TGF5b3V0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDQzVFNDNCMjczNzQ5NDYw
MDZGNkZGNCAvKiBXZWJHUFVSZW5kZXJQYXNzRGVzY3JpcHRvci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBX
ZWJHUFVSZW5kZXJQYXNzRGVzY3JpcHRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQkxQ0M1RTQzQzI3Mzc0OTQ2MDA2RjZGRjQgLyogV2ViR1BVU2FtcGxlckJpbmRpbmdUeXBlLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFdlYkdQVVNhbXBsZXJCaW5kaW5nVHlwZS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwpAQCAtNzQyLDYgKzc0MCw3IEBACiAJCTFDQzVFNDkzMjczNzQ5NEEwMDZG
NkZGNCAvKiBXZWJHUFVDYW52YXNDb21wb3NpdGluZ0FscGhhTW9kZS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBXZWJHUFVDYW52YXNDb21wb3NpdGluZ0FscGhhTW9kZS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkxQ0NFRTRGNDIwRDg3MTkzMDA0N0IwOTcgLyogQ29yZVVJU1BJLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvcmVVSVNQSS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkxQ0NFRTRGNjIwRDg3NDNGMDA0N0IwOTcgLyogTlNBcHBlYXJhbmNlU1BJ
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5TQXBwZWFyYW5jZVNQSS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQ0VGNDVBQTI3QkIxMDFGMDBDM0E2QkMgLyog
V2ViR1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkdQ
VVNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkxRDEyQ0M0QTI0MTFCQ0FFMDBGREEwQTMgLyogRmVhdHVyZUZsYWdzU1BJLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEZlYXR1cmVGbGFnc1NQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQkxRDJCNDEzMjI1RjA1RTM0MDBBM0Y3MEEgLyogQ2xvY2tHZW5lcmljLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENsb2NrR2VuZXJpYy5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTFEMkI0MTMzMjVGMDVFMzUwMEEzRjcwQSAvKiBDbG9ja0dlbmVy
aWMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2xvY2tHZW5lcmljLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMDU1LDcgKzEwNTQsNiBAQAogCQkJCTBDNzc4
NTg0MUY0NTEzMEYwMEY0RUJCNiAvKiBOU1dpbmRvd1NQSS5oICovLAogCQkJCTBDNzc4NTg1MUY0
NTEzMEYwMEY0RUJCNiAvKiBQSVBTUEkuaCAqLywKIAkJCQkwQzc3ODU4NzFGNDUxMzBGMDBGNEVC
QjYgLyogUXVpY2tMb29rTWFjU1BJLmggKi8sCi0JCQkJQTExNzVCNDgxRjZBRkY4RTAwQzRCOUYw
IC8qIFNwZWVjaFN5bnRoZXNpc1NQSS5oICovLAogCQkJCTcxQjExNDFGMjY4MjNBQ0QwMDRENjcw
MSAvKiBTeXN0ZW1QcmV2aWV3U1BJLmggKi8sCiAJCQkJMEM3Nzg1ODgxRjQ1MTMwRjAwRjRFQkI2
IC8qIFRlbGVwaG9ueVV0aWxpdGllc1NQSS5oICovLAogCQkJKTsKQEAgLTEzMzcsNyArMTMzNSw2
IEBACiAJCQkJMUNDNUU0NUUyNzM3NDk0ODAwNkY2RkY0IC8qIFdlYkdQVVBpcGVsaW5lRGVzY3Jp
cHRvckJhc2UuaCAqLywKIAkJCQkxQ0M1RTQ0NTI3Mzc0OTQ3MDA2RjZGRjQgLyogV2ViR1BVUGlw
ZWxpbmVMYXlvdXQuaCAqLywKIAkJCQkxQ0M1RTQ0RDI3Mzc0OTQ3MDA2RjZGRjQgLyogV2ViR1BV
UGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yLmggKi8sCi0JCQkJMUNDNUU0MzkyNzM3NDk0NjAwNkY2
RkY0IC8qIFdlYkdQVVBpcGVsaW5lU3RhdGlzdGljTmFtZS5oICovLAogCQkJCTFDQzVFNDdBMjcz
NzQ5NDkwMDZGNkZGNCAvKiBXZWJHUFVQb3dlclByZWZlcmVuY2UuaCAqLywKIAkJCQkxQ0M1RTQ3
RDI3Mzc0OTQ5MDA2RjZGRjQgLyogV2ViR1BVUHJlZGVmaW5lZENvbG9yU3BhY2UuaCAqLywKIAkJ
CQkxQ0M1RTQ2RDI3Mzc0OTQ4MDA2RjZGRjQgLyogV2ViR1BVUHJpbWl0aXZlU3RhdGUuaCAqLywK
QEAgLTEzNjYsNiArMTM2Myw3IEBACiAJCQkJMUNDNUU0M0MyNzM3NDk0NjAwNkY2RkY0IC8qIFdl
YkdQVVNhbXBsZXJCaW5kaW5nVHlwZS5oICovLAogCQkJCTFDQzVFNDIzMjczNzQ5MkMwMDZGNkZG
NCAvKiBXZWJHUFVTYW1wbGVyRGVzY3JpcHRvci5oICovLAogCQkJCTFDQzVFNDFEMjczNzQ5MkMw
MDZGNkZGNCAvKiBXZWJHUFVTaGFkZXJNb2R1bGUuaCAqLywKKwkJCQkxQ0VGNDVBQTI3QkIxMDFG
MDBDM0E2QkMgLyogV2ViR1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50LmggKi8sCiAJCQkJ
MUNDNUU0MUIyNzM3NDkyQzAwNkY2RkY0IC8qIFdlYkdQVVNoYWRlck1vZHVsZURlc2NyaXB0b3Iu
aCAqLywKIAkJCQkxQ0M1RTQyNjI3Mzc0OTJEMDA2RjZGRjQgLyogV2ViR1BVU2hhZGVyU3RhZ2Uu
aCAqLywKIAkJCQkxQ0M1RTQxQzI3Mzc0OTJDMDA2RjZGRjQgLyogV2ViR1BVU3RlbmNpbEZhY2VT
dGF0ZS5oICovLApAQCAtMTc3MSw3ICsxNzY5LDYgQEAKIAkJCQkxQ0VGQTIyNTI3MzdBNEM4MDBG
MERBOTUgLyogV2ViR1BVUGlwZWxpbmVEZXNjcmlwdG9yQmFzZS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMUNFRkExRkQyNzM3QTRDODAwRjBEQTk1IC8qIFdlYkdQVVBpcGVsaW5lTGF5b3V0LmggaW4g
SGVhZGVycyAqLywKIAkJCQkxQ0VGQTFGNDI3MzdBNEM4MDBGMERBOTUgLyogV2ViR1BVUGlwZWxp
bmVMYXlvdXREZXNjcmlwdG9yLmggaW4gSGVhZGVycyAqLywKLQkJCQkxQ0VGQTIxQTI3MzdBNEM4
MDBGMERBOTUgLyogV2ViR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lLmggaW4gSGVhZGVycyAqLywK
IAkJCQkxQ0VGQTFERTI3MzdBNEM4MDBGMERBOTUgLyogV2ViR1BVUG93ZXJQcmVmZXJlbmNlLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkxQ0VGQTIxNjI3MzdBNEM4MDBGMERBOTUgLyogV2ViR1BVUHJl
ZGVmaW5lZENvbG9yU3BhY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTFDRUZBMUU1MjczN0E0Qzgw
MEYwREE5NSAvKiBXZWJHUFVQcmltaXRpdmVTdGF0ZS5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVUFk
YXB0ZXJJbXBsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL0lt
cGwvV2ViR1BVQWRhcHRlckltcGwuY3BwCmluZGV4IDdkNWIxNjU0ZWVkMDc2YzE3NjAyNjhkZjAw
MjZkYjcyMjA2NTdiOGMuLjU2MTM5YWY0YTkwNzgyZjhkZGFjYjMyMjVmYmEzZDcwOGI0MDkxZmUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwv
V2ViR1BVQWRhcHRlckltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhp
Y3MvV2ViR1BVL0ltcGwvV2ViR1BVQWRhcHRlckltcGwuY3BwCkBAIC00MywxMyArNDMsMTcgQEAg
c3RhdGljIFN0cmluZyBhZGFwdGVyTmFtZShXR1BVQWRhcHRlciBhZGFwdGVyKQogCiBzdGF0aWMg
UmVmPFN1cHBvcnRlZEZlYXR1cmVzPiBzdXBwb3J0ZWRGZWF0dXJlcyhXR1BVQWRhcHRlciBhZGFw
dGVyKQogeworICAgIGF1dG8gZmVhdHVyZUNvdW50ID0gd2dwdUFkYXB0ZXJFbnVtZXJhdGVGZWF0
dXJlcyhhZGFwdGVyLCBudWxscHRyKTsKKyAgICBWZWN0b3I8V0dQVUZlYXR1cmVOYW1lPiBmZWF0
dXJlcyhmZWF0dXJlQ291bnQpOworICAgIHdncHVBZGFwdGVyRW51bWVyYXRlRmVhdHVyZXMoYWRh
cHRlciwgZmVhdHVyZXMuZGF0YSgpKTsKKwogICAgIFZlY3RvcjxTdHJpbmc+IHJlc3VsdDsKLSAg
ICBmb3IgKHNpemVfdCBpID0gMDsgOyArK2kpIHsKLSAgICAgICAgYXV0byBmZWF0dXJlID0gd2dw
dUFkYXB0ZXJHZXRGZWF0dXJlQXRJbmRleChhZGFwdGVyLCBpKTsKLSAgICAgICAgaWYgKGZlYXR1
cmUgPT0gV0dQVUZlYXR1cmVOYW1lX1VuZGVmaW5lZCkKLSAgICAgICAgICAgIGJyZWFrOwotICAg
ICAgICBzd2l0Y2ggKHN0YXRpY19jYXN0PHVpbnQ+KGZlYXR1cmUpKSB7Ci0gICAgICAgIGNhc2Ug
V0dQVUZlYXR1cmVOYW1lX0RlcHRoQ2xhbXBpbmc6CisgICAgZm9yIChhdXRvIGZlYXR1cmUgOiBm
ZWF0dXJlcykgeworICAgICAgICBzd2l0Y2ggKGZlYXR1cmUpIHsKKyAgICAgICAgY2FzZSBXR1BV
RmVhdHVyZU5hbWVfVW5kZWZpbmVkOgorICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIGNh
c2UgV0dQVUZlYXR1cmVOYW1lX0RlcHRoQ2xpcENvbnRyb2w6CisgICAgICAgICAgICByZXN1bHQu
YXBwZW5kKCJkZXB0aC1jbGlwLWNvbnRyb2wiX3MpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgIGNhc2UgV0dQVUZlYXR1cmVOYW1lX0RlcHRoMjRVbm9ybVN0ZW5jaWw4OgogICAgICAgICAg
ICAgcmVzdWx0LmFwcGVuZCgiZGVwdGgyNHVub3JtLXN0ZW5jaWw4Il9zKTsKQEAgLTY2LDIwICs3
MCwxNyBAQCBzdGF0aWMgUmVmPFN1cHBvcnRlZEZlYXR1cmVzPiBzdXBwb3J0ZWRGZWF0dXJlcyhX
R1BVQWRhcHRlciBhZGFwdGVyKQogICAgICAgICBjYXNlIFdHUFVGZWF0dXJlTmFtZV9UZXh0dXJl
Q29tcHJlc3Npb25CQzoKICAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQoInRleHR1cmUtY29tcHJl
c3Npb24tYmMiX3MpOwogICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgV0dQVUZlYXR1
cmVOYW1lX0RlcHRoQ2xpcENvbnRyb2w6Ci0gICAgICAgICAgICByZXN1bHQuYXBwZW5kKCJkZXB0
aC1jbGlwLWNvbnRyb2wiX3MpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgV0dQ
VUZlYXR1cmVOYW1lX0luZGlyZWN0Rmlyc3RJbnN0YW5jZToKLSAgICAgICAgICAgIHJlc3VsdC5h
cHBlbmQoImluZGlyZWN0LWZpcnN0LWluc3RhbmNlIl9zKTsKLSAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICBjYXNlIFdHUFVGZWF0dXJlTmFtZV9UZXh0dXJlQ29tcHJlc3Npb25FVEMyOgogICAg
ICAgICAgICAgcmVzdWx0LmFwcGVuZCgidGV4dHVyZS1jb21wcmVzc2lvbi1ldGMyIl9zKTsKICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIFdHUFVGZWF0dXJlTmFtZV9UZXh0dXJlQ29t
cHJlc3Npb25BU1RDOgogICAgICAgICAgICAgcmVzdWx0LmFwcGVuZCgidGV4dHVyZS1jb21wcmVz
c2lvbi1hc3RjIl9zKTsKICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBkZWZhdWx0OgorICAg
ICAgICBjYXNlIFdHUFVGZWF0dXJlTmFtZV9JbmRpcmVjdEZpcnN0SW5zdGFuY2U6CisgICAgICAg
ICAgICByZXN1bHQuYXBwZW5kKCJpbmRpcmVjdC1maXJzdC1pbnN0YW5jZSJfcyk7CiAgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIGNvbnRpbnVlOwogICAg
ICAgICB9CiAgICAgfQogICAgIHJldHVybiBTdXBwb3J0ZWRGZWF0dXJlczo6Y3JlYXRlKFdURk1v
dmUocmVzdWx0KSk7CkBAIC0xNTEsMTUgKzE1Miw2IEBAIHZvaWQgQWRhcHRlckltcGw6OnJlcXVl
c3REZXZpY2UoY29uc3QgRGV2aWNlRGVzY3JpcHRvciYgZGVzY3JpcHRvciwgV1RGOjpGdW5jdGlv
CiAKICAgICBhdXRvIGxhYmVsID0gZGVzY3JpcHRvci5sYWJlbC51dGY4KCk7CiAKLSAgICBXR1BV
RGV2aWNlRGVzY3JpcHRvckxhYmVsIGJhY2tpbmdEZXNjcmlwdG9yTGFiZWwgewotICAgICAgICB7
Ci0gICAgICAgICAgICBudWxscHRyLAotICAgICAgICAgICAgc3RhdGljX2Nhc3Q8V0dQVVNUeXBl
PihXR1BVU1R5cGVfRGV2aWNlRGVzY3JpcHRvckxhYmVsKSwKLSAgICAgICAgfSwKLSAgICAgICAg
bnVsbHB0ciwKLSAgICAgICAgbGFiZWwuZGF0YSgpCi0gICAgfTsKLQogICAgIGF1dG8gZmVhdHVy
ZXMgPSBkZXNjcmlwdG9yLnJlcXVpcmVkRmVhdHVyZXMubWFwKFt0aGlzXSAoYXV0byBmZWF0dXJl
TmFtZSkgewogICAgICAgICByZXR1cm4gbV9jb252ZXJ0VG9CYWNraW5nQ29udGV4dC0+Y29udmVy
dFRvQmFja2luZyhmZWF0dXJlTmFtZSk7CiAgICAgfSk7CkBAIC0xOTYsNyArMTg4LDggQEAgdm9p
ZCBBZGFwdGVySW1wbDo6cmVxdWVzdERldmljZShjb25zdCBEZXZpY2VEZXNjcmlwdG9yJiBkZXNj
cmlwdG9yLCBXVEY6OkZ1bmN0aW8KICAgICB9OwogCiAgICAgV0dQVURldmljZURlc2NyaXB0b3Ig
YmFja2luZ0Rlc2NyaXB0b3IgewotICAgICAgICAmYmFja2luZ0Rlc2NyaXB0b3JMYWJlbC5oZWFk
ZXIsCisgICAgICAgIG51bGxwdHIsCisgICAgICAgIGxhYmVsLmRhdGEoKSwKICAgICAgICAgc3Rh
dGljX2Nhc3Q8dWludDMyX3Q+KGZlYXR1cmVzLnNpemUoKSksCiAgICAgICAgIGZlYXR1cmVzLmRh
dGEoKSwKICAgICAgICAgJmxpbWl0cywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9w
YWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwvV2ViR1BVQnVmZmVySW1wbC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVUJ1ZmZlckltcGwuY3BwCmlu
ZGV4IGQ5YTljZTVjYWQ4ZDlhNWY5MTZmYjYwZWNlOTJjMTI3ZjNiZjg1ZGUuLjhhMGVjYzU4Y2Q2
Y2VjMWM2ZTVmYjM3NGQ0Y2E4NTcyNjNhMDVhZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwvV2ViR1BVQnVmZmVySW1wbC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9XZWJHUFVCdWZmZXJJ
bXBsLmNwcApAQCAtNTAsMTkgKzUwLDE4IEBAIHZvaWQgbWFwQ2FsbGJhY2soV0dQVUJ1ZmZlck1h
cEFzeW5jU3RhdHVzIHN0YXR1cywgdm9pZCogdXNlcmRhdGEpCiAgICAgYnVmZmVyLT5tYXBDYWxs
YmFjayhzdGF0dXMpOwogfQogCi12b2lkIEJ1ZmZlckltcGw6Om1hcEFzeW5jKE1hcE1vZGVGbGFn
cyBtYXBNb2RlRmxhZ3MsIHN0ZDo6b3B0aW9uYWw8U2l6ZTY0PiBvZmZzZXQsIHN0ZDo6b3B0aW9u
YWw8U2l6ZTY0PiBzaXplLCBXVEY6OkZ1bmN0aW9uPHZvaWQoKT4mJiBjYWxsYmFjaykKK3ZvaWQg
QnVmZmVySW1wbDo6bWFwQXN5bmMoTWFwTW9kZUZsYWdzIG1hcE1vZGVGbGFncywgU2l6ZTY0IG9m
ZnNldCwgc3RkOjpvcHRpb25hbDxTaXplNjQ+IHNpemUsIFdURjo6RnVuY3Rpb248dm9pZCgpPiYm
IGNhbGxiYWNrKQogewogICAgIFJlZiBwcm90ZWN0ZWRUaGlzKCp0aGlzKTsKIAogICAgIGF1dG8g
YmFja2luZ01hcE1vZGVGbGFncyA9IG1fY29udmVydFRvQmFja2luZ0NvbnRleHQtPmNvbnZlcnRN
YXBNb2RlRmxhZ3NUb0JhY2tpbmcobWFwTW9kZUZsYWdzKTsKIAotICAgIGF1dG8gdXNlZE9mZnNl
dCA9IG9mZnNldC52YWx1ZV9vcigwKTsKLSAgICBhdXRvIHVzZWRTaXplID0gc2l6ZS52YWx1ZV9v
cihXR1BVX1dIT0xFX1NJWkUpOworICAgIGF1dG8gdXNlZFNpemUgPSBzaXplLnZhbHVlX29yKFdH
UFVfV0hPTEVfTUFQX1NJWkUpOwogCiAgICAgbV9jYWxsYmFja3MuYXBwZW5kKFdURk1vdmUoY2Fs
bGJhY2spKTsKIAogICAgIC8vIEZJWE1FOiBDaGVjayB0aGUgY2FzdHMuCi0gICAgd2dwdUJ1ZmZl
ck1hcEFzeW5jKG1fYmFja2luZywgYmFja2luZ01hcE1vZGVGbGFncywgc3RhdGljX2Nhc3Q8c2l6
ZV90Pih1c2VkT2Zmc2V0KSwgc3RhdGljX2Nhc3Q8c2l6ZV90Pih1c2VkU2l6ZSksICZXZWJHUFU6
Om1hcENhbGxiYWNrLCAmcHJvdGVjdGVkVGhpcy5sZWFrUmVmKCkpOyAvLyBsZWFrUmVmIGlzIGJh
bGFuY2VkIGJ5IGFkb3B0UmVmIGluIG1hcENhbGxiYWNrKCkgYWJvdmUuIFdlIGhhdmUgdG8gZG8g
dGhpcyBiZWNhdXNlIHdlJ3JlIHVzaW5nIGEgQyBBUEkgd2l0aCBubyBjb25jZXB0IG9mIHJlZmVy
ZW5jZSBjb3VudGluZyBvciBibG9ja3MuCisgICAgd2dwdUJ1ZmZlck1hcEFzeW5jKG1fYmFja2lu
ZywgYmFja2luZ01hcE1vZGVGbGFncywgc3RhdGljX2Nhc3Q8c2l6ZV90PihvZmZzZXQpLCBzdGF0
aWNfY2FzdDxzaXplX3Q+KHVzZWRTaXplKSwgJldlYkdQVTo6bWFwQ2FsbGJhY2ssICZwcm90ZWN0
ZWRUaGlzLmxlYWtSZWYoKSk7IC8vIGxlYWtSZWYgaXMgYmFsYW5jZWQgYnkgYWRvcHRSZWYgaW4g
bWFwQ2FsbGJhY2soKSBhYm92ZS4gV2UgaGF2ZSB0byBkbyB0aGlzIGJlY2F1c2Ugd2UncmUgdXNp
bmcgYSBDIEFQSSB3aXRoIG5vIGNvbmNlcHQgb2YgcmVmZXJlbmNlIGNvdW50aW5nIG9yIGJsb2Nr
cy4KIH0KIAogdm9pZCBCdWZmZXJJbXBsOjptYXBDYWxsYmFjayhXR1BVQnVmZmVyTWFwQXN5bmNT
dGF0dXMgc3RhdHVzKQpAQCAtNzIsMTIgKzcxLDExIEBAIHZvaWQgQnVmZmVySW1wbDo6bWFwQ2Fs
bGJhY2soV0dQVUJ1ZmZlck1hcEFzeW5jU3RhdHVzIHN0YXR1cykKICAgICBjYWxsYmFjaygpOwog
fQogCi1hdXRvIEJ1ZmZlckltcGw6OmdldE1hcHBlZFJhbmdlKHN0ZDo6b3B0aW9uYWw8U2l6ZTY0
PiBvZmZzZXQsIHN0ZDo6b3B0aW9uYWw8U2l6ZTY0PiBzaXplKSAtPiBNYXBwZWRSYW5nZQorYXV0
byBCdWZmZXJJbXBsOjpnZXRNYXBwZWRSYW5nZShTaXplNjQgb2Zmc2V0LCBzdGQ6Om9wdGlvbmFs
PFNpemU2ND4gc2l6ZSkgLT4gTWFwcGVkUmFuZ2UKIHsKLSAgICBhdXRvIHVzZWRPZmZzZXQgPSBv
ZmZzZXQudmFsdWVfb3IoMCk7Ci0gICAgYXV0byB1c2VkU2l6ZSA9IHNpemUudmFsdWVfb3IoV0dQ
VV9XSE9MRV9TSVpFKTsKKyAgICBhdXRvIHVzZWRTaXplID0gc2l6ZS52YWx1ZV9vcihXR1BVX1dI
T0xFX01BUF9TSVpFKTsKICAgICAvLyBGSVhNRTogQ2hlY2sgdGhlIGNhc3RzLgotICAgIGF1dG8q
IHBvaW50ZXIgPSB3Z3B1QnVmZmVyR2V0TWFwcGVkUmFuZ2UobV9iYWNraW5nLCBzdGF0aWNfY2Fz
dDxzaXplX3Q+KHVzZWRPZmZzZXQpLCBzdGF0aWNfY2FzdDxzaXplX3Q+KHVzZWRTaXplKSk7Cisg
ICAgYXV0byogcG9pbnRlciA9IHdncHVCdWZmZXJHZXRNYXBwZWRSYW5nZShtX2JhY2tpbmcsIHN0
YXRpY19jYXN0PHNpemVfdD4ob2Zmc2V0KSwgc3RhdGljX2Nhc3Q8c2l6ZV90Pih1c2VkU2l6ZSkp
OwogICAgIC8vIEZJWE1FOiBDaGVjayB0aGUgdHlwZSBuYXJyb3dpbmcuCiAgICAgcmV0dXJuIHsg
cG9pbnRlciwgc3RhdGljX2Nhc3Q8c2l6ZV90Pih1c2VkU2l6ZSkgfTsKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwvV2ViR1BVQnVmZmVy
SW1wbC5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9XZWJH
UFVCdWZmZXJJbXBsLmgKaW5kZXggYzE0NjVlYzQ3N2RmNTU2NTI1ZmE4OGM1YTNhMDExMTBjZTkw
ZjI4Ny4uOTIxODcyM2I3MDcyNTc5Y2FlOTlkMjAxZjYyMmUyM2NjMjg5NmMwMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9XZWJHUFVCdWZm
ZXJJbXBsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvSW1w
bC9XZWJHUFVCdWZmZXJJbXBsLmgKQEAgLTU5LDggKzU5LDggQEAgcHJpdmF0ZToKICAgICBXR1BV
QnVmZmVyIGJhY2tpbmcoKSBjb25zdCB7IHJldHVybiBtX2JhY2tpbmc7IH0KIAogICAgIHZvaWQg
bWFwQ2FsbGJhY2soV0dQVUJ1ZmZlck1hcEFzeW5jU3RhdHVzKTsKLSAgICB2b2lkIG1hcEFzeW5j
KE1hcE1vZGVGbGFncywgc3RkOjpvcHRpb25hbDxTaXplNjQ+IG9mZnNldCwgc3RkOjpvcHRpb25h
bDxTaXplNjQ+IHNpemVGb3JNYXAsIFdURjo6RnVuY3Rpb248dm9pZCgpPiYmKSBmaW5hbDsKLSAg
ICBNYXBwZWRSYW5nZSBnZXRNYXBwZWRSYW5nZShzdGQ6Om9wdGlvbmFsPFNpemU2ND4gb2Zmc2V0
LCBzdGQ6Om9wdGlvbmFsPFNpemU2ND4pIGZpbmFsOworICAgIHZvaWQgbWFwQXN5bmMoTWFwTW9k
ZUZsYWdzLCBTaXplNjQgb2Zmc2V0LCBzdGQ6Om9wdGlvbmFsPFNpemU2ND4gc2l6ZUZvck1hcCwg
V1RGOjpGdW5jdGlvbjx2b2lkKCk+JiYpIGZpbmFsOworICAgIE1hcHBlZFJhbmdlIGdldE1hcHBl
ZFJhbmdlKFNpemU2NCBvZmZzZXQsIHN0ZDo6b3B0aW9uYWw8U2l6ZTY0PikgZmluYWw7CiAgICAg
dm9pZCB1bm1hcCgpIGZpbmFsOwogCiAgICAgdm9pZCBkZXN0cm95KCkgZmluYWw7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVUNv
bW1hbmRFbmNvZGVySW1wbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dl
YkdQVS9JbXBsL1dlYkdQVUNvbW1hbmRFbmNvZGVySW1wbC5jcHAKaW5kZXggYTg1MzZiY2VjZDI0
ZDU3MjA3ZDIxNzQ1NjA5ZjgyMGVhOWNiZDliNi4uYTAwNmRjMjM3MDFlODg0OWIxZDgwYzVmNjA2
NzAyMzQ1N2Q5NjY1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGlj
cy9XZWJHUFUvSW1wbC9XZWJHUFVDb21tYW5kRW5jb2RlckltcGwuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwvV2ViR1BVQ29tbWFuZEVuY29kZXJJ
bXBsLmNwcApAQCAtNTMsNTcgKzUzLDUxIEBAIENvbW1hbmRFbmNvZGVySW1wbDo6fkNvbW1hbmRF
bmNvZGVySW1wbCgpCiAKIFJlZjxSZW5kZXJQYXNzRW5jb2Rlcj4gQ29tbWFuZEVuY29kZXJJbXBs
OjpiZWdpblJlbmRlclBhc3MoY29uc3QgUmVuZGVyUGFzc0Rlc2NyaXB0b3ImIGRlc2NyaXB0b3Ip
CiB7CisgICAgYXV0byBsYWJlbCA9IGRlc2NyaXB0b3IubGFiZWwudXRmOCgpOworCiAgICAgVmVj
dG9yPFdHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50PiBjb2xvckF0dGFjaG1lbnRzOwogICAg
IGZvciAoY29uc3QgYXV0byYgY29sb3JBdHRhY2htZW50IDogZGVzY3JpcHRvci5jb2xvckF0dGFj
aG1lbnRzKSB7Ci0gICAgICAgIGNvbG9yQXR0YWNobWVudHMuYXBwZW5kKFdHUFVSZW5kZXJQYXNz
Q29sb3JBdHRhY2htZW50IHsKLSAgICAgICAgICAgIG1fY29udmVydFRvQmFja2luZ0NvbnRleHQt
PmNvbnZlcnRUb0JhY2tpbmcoY29sb3JBdHRhY2htZW50LnZpZXcpLAotICAgICAgICAgICAgY29s
b3JBdHRhY2htZW50LnJlc29sdmVUYXJnZXQgPyBtX2NvbnZlcnRUb0JhY2tpbmdDb250ZXh0LT5j
b252ZXJ0VG9CYWNraW5nKCpjb2xvckF0dGFjaG1lbnQucmVzb2x2ZVRhcmdldCkgOiBudWxscHRy
LAotICAgICAgICAgICAgc3RkOjpob2xkc19hbHRlcm5hdGl2ZTxMb2FkT3A+KGNvbG9yQXR0YWNo
bWVudC5sb2FkVmFsdWUpID8gbV9jb252ZXJ0VG9CYWNraW5nQ29udGV4dC0+Y29udmVydFRvQmFj
a2luZyhzdGQ6OmdldDxMb2FkT3A+KGNvbG9yQXR0YWNobWVudC5sb2FkVmFsdWUpKSA6IFdHUFVM
b2FkT3BfQ2xlYXIsCi0gICAgICAgICAgICBtX2NvbnZlcnRUb0JhY2tpbmdDb250ZXh0LT5jb252
ZXJ0VG9CYWNraW5nKGNvbG9yQXR0YWNobWVudC5zdG9yZU9wKSwKLSAgICAgICAgICAgIFdURjo6
c3dpdGNoT24oY29sb3JBdHRhY2htZW50LmxvYWRWYWx1ZSwgW10gKExvYWRPcCkgLT4gV0dQVUNv
bG9yIHsKLSAgICAgICAgICAgICAgICByZXR1cm4geyAwLCAwLCAwLCAwIH07Ci0gICAgICAgICAg
ICB9LCBbXSAoY29uc3QgVmVjdG9yPGRvdWJsZT4mIHZlY3RvcikgLT4gV0dQVUNvbG9yIHsKLSAg
ICAgICAgICAgICAgICByZXR1cm4gV0dQVUNvbG9yIHsKLSAgICAgICAgICAgICAgICAgICAgdmVj
dG9yLnNpemUoKSA+IDAgPyB2ZWN0b3JbMF0gOiAwLAotICAgICAgICAgICAgICAgICAgICB2ZWN0
b3Iuc2l6ZSgpID4gMSA/IHZlY3RvclsxXSA6IDAsCi0gICAgICAgICAgICAgICAgICAgIHZlY3Rv
ci5zaXplKCkgPiAyID8gdmVjdG9yWzJdIDogMCwKLSAgICAgICAgICAgICAgICAgICAgdmVjdG9y
LnNpemUoKSA+IDMgPyB2ZWN0b3JbM10gOiAwLAotICAgICAgICAgICAgICAgIH07Ci0gICAgICAg
ICAgICB9LCBbXSAoY29uc3QgQ29sb3JEaWN0JiBjb2xvcikgLT4gV0dQVUNvbG9yIHsKLSAgICAg
ICAgICAgICAgICByZXR1cm4gV0dQVUNvbG9yIHsKLSAgICAgICAgICAgICAgICAgICAgY29sb3Iu
ciwKLSAgICAgICAgICAgICAgICAgICAgY29sb3IuZywKLSAgICAgICAgICAgICAgICAgICAgY29s
b3IuYiwKLSAgICAgICAgICAgICAgICAgICAgY29sb3IuYSwKLSAgICAgICAgICAgICAgICB9Owot
ICAgICAgICAgICAgfSksCi0gICAgICAgIH0pOworICAgICAgICBpZiAoY29sb3JBdHRhY2htZW50
KSB7CisgICAgICAgICAgICBjb2xvckF0dGFjaG1lbnRzLmFwcGVuZChXR1BVUmVuZGVyUGFzc0Nv
bG9yQXR0YWNobWVudCB7CisgICAgICAgICAgICAgICAgbV9jb252ZXJ0VG9CYWNraW5nQ29udGV4
dC0+Y29udmVydFRvQmFja2luZyhjb2xvckF0dGFjaG1lbnQtPnZpZXcpLAorICAgICAgICAgICAg
ICAgIGNvbG9yQXR0YWNobWVudC0+cmVzb2x2ZVRhcmdldCA/IG1fY29udmVydFRvQmFja2luZ0Nv
bnRleHQtPmNvbnZlcnRUb0JhY2tpbmcoKmNvbG9yQXR0YWNobWVudC0+cmVzb2x2ZVRhcmdldCkg
OiBudWxscHRyLAorICAgICAgICAgICAgICAgIG1fY29udmVydFRvQmFja2luZ0NvbnRleHQtPmNv
bnZlcnRUb0JhY2tpbmcoY29sb3JBdHRhY2htZW50LT5sb2FkT3ApLAorICAgICAgICAgICAgICAg
IG1fY29udmVydFRvQmFja2luZ0NvbnRleHQtPmNvbnZlcnRUb0JhY2tpbmcoY29sb3JBdHRhY2ht
ZW50LT5zdG9yZU9wKSwKKyAgICAgICAgICAgICAgICBjb2xvckF0dGFjaG1lbnQtPmNsZWFyVmFs
dWUgPyBtX2NvbnZlcnRUb0JhY2tpbmdDb250ZXh0LT5jb252ZXJ0VG9CYWNraW5nKCpjb2xvckF0
dGFjaG1lbnQtPmNsZWFyVmFsdWUpIDogV0dQVUNvbG9yIHsgMCwgMCwgMCwgMCB9LAorICAgICAg
ICAgICAgfSk7CisgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgY29sb3JBdHRhY2htZW50cy5h
cHBlbmQoeworICAgICAgICAgICAgICAgIG51bGxwdHIsCisgICAgICAgICAgICAgICAgbnVsbHB0
ciwKKyAgICAgICAgICAgICAgICBXR1BVTG9hZE9wX0NsZWFyLAorICAgICAgICAgICAgICAgIFdH
UFVTdG9yZU9wX0Rpc2NhcmQsCisgICAgICAgICAgICAgICAgeyAwLCAwLCAwLCAwIH0sCisgICAg
ICAgICAgICB9KTsKICAgICB9CiAKICAgICBzdGQ6Om9wdGlvbmFsPFdHUFVSZW5kZXJQYXNzRGVw
dGhTdGVuY2lsQXR0YWNobWVudD4gZGVwdGhTdGVuY2lsQXR0YWNobWVudDsKICAgICBpZiAoZGVz
Y3JpcHRvci5kZXB0aFN0ZW5jaWxBdHRhY2htZW50KSB7CiAgICAgICAgIGRlcHRoU3RlbmNpbEF0
dGFjaG1lbnQgPSBXR1BVUmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQgewogICAgICAg
ICAgICAgbV9jb252ZXJ0VG9CYWNraW5nQ29udGV4dC0+Y29udmVydFRvQmFja2luZyhkZXNjcmlw
dG9yLmRlcHRoU3RlbmNpbEF0dGFjaG1lbnQtPnZpZXcpLAotICAgICAgICAgICAgc3RkOjpob2xk
c19hbHRlcm5hdGl2ZTxMb2FkT3A+KGRlc2NyaXB0b3IuZGVwdGhTdGVuY2lsQXR0YWNobWVudC0+
ZGVwdGhMb2FkVmFsdWUpID8gbV9jb252ZXJ0VG9CYWNraW5nQ29udGV4dC0+Y29udmVydFRvQmFj
a2luZyhzdGQ6OmdldDxMb2FkT3A+KGRlc2NyaXB0b3IuZGVwdGhTdGVuY2lsQXR0YWNobWVudC0+
ZGVwdGhMb2FkVmFsdWUpKSA6IFdHUFVMb2FkT3BfQ2xlYXIsCi0gICAgICAgICAgICBtX2NvbnZl
cnRUb0JhY2tpbmdDb250ZXh0LT5jb252ZXJ0VG9CYWNraW5nKGRlc2NyaXB0b3IuZGVwdGhTdGVu
Y2lsQXR0YWNobWVudC0+ZGVwdGhTdG9yZU9wKSwKLSAgICAgICAgICAgIFdURjo6c3dpdGNoT24o
ZGVzY3JpcHRvci5kZXB0aFN0ZW5jaWxBdHRhY2htZW50LT5kZXB0aExvYWRWYWx1ZSwgW10gKExv
YWRPcCkgLT4gZmxvYXQgewotICAgICAgICAgICAgICAgIHJldHVybiAwOwotICAgICAgICAgICAg
fSwgW10gKGZsb2F0IGNsZWFyRGVwdGgpIC0+IGZsb2F0IHsKLSAgICAgICAgICAgICAgICByZXR1
cm4gY2xlYXJEZXB0aDsKLSAgICAgICAgICAgIH0pLAorICAgICAgICAgICAgZGVzY3JpcHRvci5k
ZXB0aFN0ZW5jaWxBdHRhY2htZW50LT5kZXB0aExvYWRPcCA/IG1fY29udmVydFRvQmFja2luZ0Nv
bnRleHQtPmNvbnZlcnRUb0JhY2tpbmcoKmRlc2NyaXB0b3IuZGVwdGhTdGVuY2lsQXR0YWNobWVu
dC0+ZGVwdGhMb2FkT3ApIDogV0dQVUxvYWRPcF9DbGVhciwKKyAgICAgICAgICAgIGRlc2NyaXB0
b3IuZGVwdGhTdGVuY2lsQXR0YWNobWVudC0+ZGVwdGhTdG9yZU9wID8gbV9jb252ZXJ0VG9CYWNr
aW5nQ29udGV4dC0+Y29udmVydFRvQmFja2luZygqZGVzY3JpcHRvci5kZXB0aFN0ZW5jaWxBdHRh
Y2htZW50LT5kZXB0aFN0b3JlT3ApIDogV0dQVVN0b3JlT3BfRGlzY2FyZCwKKyAgICAgICAgICAg
IGRlc2NyaXB0b3IuZGVwdGhTdGVuY2lsQXR0YWNobWVudC0+ZGVwdGhDbGVhclZhbHVlLAogICAg
ICAgICAgICAgZGVzY3JpcHRvci5kZXB0aFN0ZW5jaWxBdHRhY2htZW50LT5kZXB0aFJlYWRPbmx5
LAotICAgICAgICAgICAgc3RkOjpob2xkc19hbHRlcm5hdGl2ZTxMb2FkT3A+KGRlc2NyaXB0b3Iu
ZGVwdGhTdGVuY2lsQXR0YWNobWVudC0+c3RlbmNpbExvYWRWYWx1ZSkgPyBtX2NvbnZlcnRUb0Jh
Y2tpbmdDb250ZXh0LT5jb252ZXJ0VG9CYWNraW5nKHN0ZDo6Z2V0PExvYWRPcD4oZGVzY3JpcHRv
ci5kZXB0aFN0ZW5jaWxBdHRhY2htZW50LT5zdGVuY2lsTG9hZFZhbHVlKSkgOiBXR1BVTG9hZE9w
X0NsZWFyLAotICAgICAgICAgICAgbV9jb252ZXJ0VG9CYWNraW5nQ29udGV4dC0+Y29udmVydFRv
QmFja2luZyhkZXNjcmlwdG9yLmRlcHRoU3RlbmNpbEF0dGFjaG1lbnQtPnN0ZW5jaWxTdG9yZU9w
KSwKLSAgICAgICAgICAgIFdURjo6c3dpdGNoT24oZGVzY3JpcHRvci5kZXB0aFN0ZW5jaWxBdHRh
Y2htZW50LT5zdGVuY2lsTG9hZFZhbHVlLCBbXSAoTG9hZE9wKSAtPiB1aW50MzJfdCB7Ci0gICAg
ICAgICAgICAgICAgcmV0dXJuIDA7Ci0gICAgICAgICAgICB9LCBbXSAoU3RlbmNpbFZhbHVlIGNs
ZWFyU3RlbmNpbCkgLT4gdWludDMyX3QgewotICAgICAgICAgICAgICAgIHJldHVybiBjbGVhclN0
ZW5jaWw7Ci0gICAgICAgICAgICB9KSwKKyAgICAgICAgICAgIGRlc2NyaXB0b3IuZGVwdGhTdGVu
Y2lsQXR0YWNobWVudC0+c3RlbmNpbExvYWRPcCA/IG1fY29udmVydFRvQmFja2luZ0NvbnRleHQt
PmNvbnZlcnRUb0JhY2tpbmcoKmRlc2NyaXB0b3IuZGVwdGhTdGVuY2lsQXR0YWNobWVudC0+c3Rl
bmNpbExvYWRPcCkgOiBXR1BVTG9hZE9wX0NsZWFyLAorICAgICAgICAgICAgZGVzY3JpcHRvci5k
ZXB0aFN0ZW5jaWxBdHRhY2htZW50LT5zdGVuY2lsU3RvcmVPcCA/IG1fY29udmVydFRvQmFja2lu
Z0NvbnRleHQtPmNvbnZlcnRUb0JhY2tpbmcoKmRlc2NyaXB0b3IuZGVwdGhTdGVuY2lsQXR0YWNo
bWVudC0+c3RlbmNpbFN0b3JlT3ApIDogV0dQVVN0b3JlT3BfRGlzY2FyZCwKKyAgICAgICAgICAg
IGRlc2NyaXB0b3IuZGVwdGhTdGVuY2lsQXR0YWNobWVudC0+c3RlbmNpbENsZWFyVmFsdWUsCiAg
ICAgICAgICAgICBkZXNjcmlwdG9yLmRlcHRoU3RlbmNpbEF0dGFjaG1lbnQtPnN0ZW5jaWxSZWFk
T25seSwKICAgICAgICAgfTsKICAgICB9CiAKLSAgICBhdXRvIGxhYmVsID0gZGVzY3JpcHRvci5s
YWJlbC51dGY4KCk7CisgICAgVmVjdG9yPFdHUFVSZW5kZXJQYXNzVGltZXN0YW1wV3JpdGU+IHRp
bWVzdGFtcFdyaXRlczsKKyAgICBmb3IgKGNvbnN0IGF1dG8mIHRpbWVzdGFtcFdyaXRlIDogZGVz
Y3JpcHRvci50aW1lc3RhbXBXcml0ZXMpIHsKKyAgICAgICAgdGltZXN0YW1wV3JpdGVzLmFwcGVu
ZChXR1BVUmVuZGVyUGFzc1RpbWVzdGFtcFdyaXRlIHsKKyAgICAgICAgICAgIG1fY29udmVydFRv
QmFja2luZ0NvbnRleHQtPmNvbnZlcnRUb0JhY2tpbmcodGltZXN0YW1wV3JpdGUucXVlcnlTZXQp
LAorICAgICAgICAgICAgdGltZXN0YW1wV3JpdGUucXVlcnlJbmRleCwKKyAgICAgICAgICAgIG1f
Y29udmVydFRvQmFja2luZ0NvbnRleHQtPmNvbnZlcnRUb0JhY2tpbmcodGltZXN0YW1wV3JpdGUu
bG9jYXRpb24pLAorICAgICAgICB9KTsKKyAgICB9CiAKICAgICBXR1BVUmVuZGVyUGFzc0Rlc2Ny
aXB0b3IgYmFja2luZ0Rlc2NyaXB0b3IgewogICAgICAgICBudWxscHRyLApAQCAtMTEyLDYgKzEw
Niw4IEBAIFJlZjxSZW5kZXJQYXNzRW5jb2Rlcj4gQ29tbWFuZEVuY29kZXJJbXBsOjpiZWdpblJl
bmRlclBhc3MoY29uc3QgUmVuZGVyUGFzc0Rlc2NyCiAgICAgICAgIGNvbG9yQXR0YWNobWVudHMu
ZGF0YSgpLAogICAgICAgICBkZXB0aFN0ZW5jaWxBdHRhY2htZW50ID8gJmRlcHRoU3RlbmNpbEF0
dGFjaG1lbnQudmFsdWUoKSA6IG51bGxwdHIsCiAgICAgICAgIGRlc2NyaXB0b3Iub2NjbHVzaW9u
UXVlcnlTZXQgPyBtX2NvbnZlcnRUb0JhY2tpbmdDb250ZXh0LT5jb252ZXJ0VG9CYWNraW5nKCpk
ZXNjcmlwdG9yLm9jY2x1c2lvblF1ZXJ5U2V0KSA6IG51bGxwdHIsCisgICAgICAgIHN0YXRpY19j
YXN0PHVpbnQzMl90Pih0aW1lc3RhbXBXcml0ZXMuc2l6ZSgpKSwKKyAgICAgICAgdGltZXN0YW1w
V3JpdGVzLmRhdGEoKSwKICAgICB9OwogCiAgICAgcmV0dXJuIFJlbmRlclBhc3NFbmNvZGVySW1w
bDo6Y3JlYXRlKHdncHVDb21tYW5kRW5jb2RlckJlZ2luUmVuZGVyUGFzcyhtX2JhY2tpbmcsICZi
YWNraW5nRGVzY3JpcHRvciksIG1fY29udmVydFRvQmFja2luZ0NvbnRleHQpOwpAQCAtMTIxLDkg
KzExNywyMiBAQCBSZWY8Q29tcHV0ZVBhc3NFbmNvZGVyPiBDb21tYW5kRW5jb2RlckltcGw6OmJl
Z2luQ29tcHV0ZVBhc3MoY29uc3Qgc3RkOjpvcHRpb25hbAogewogICAgIENTdHJpbmcgbGFiZWwg
PSBkZXNjcmlwdG9yID8gZGVzY3JpcHRvci0+bGFiZWwudXRmOCgpIDogQ1N0cmluZygiIik7CiAK
KyAgICBWZWN0b3I8V0dQVUNvbXB1dGVQYXNzVGltZXN0YW1wV3JpdGU+IHRpbWVzdGFtcFdyaXRl
czsKKyAgICBpZiAoZGVzY3JpcHRvcikgeworICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIHRpbWVz
dGFtcFdyaXRlIDogZGVzY3JpcHRvci0+dGltZXN0YW1wV3JpdGVzKSB7CisgICAgICAgICAgICB0
aW1lc3RhbXBXcml0ZXMuYXBwZW5kKFdHUFVDb21wdXRlUGFzc1RpbWVzdGFtcFdyaXRlIHsKKyAg
ICAgICAgICAgICAgICBtX2NvbnZlcnRUb0JhY2tpbmdDb250ZXh0LT5jb252ZXJ0VG9CYWNraW5n
KHRpbWVzdGFtcFdyaXRlLnF1ZXJ5U2V0KSwKKyAgICAgICAgICAgICAgICB0aW1lc3RhbXBXcml0
ZS5xdWVyeUluZGV4LAorICAgICAgICAgICAgICAgIG1fY29udmVydFRvQmFja2luZ0NvbnRleHQt
PmNvbnZlcnRUb0JhY2tpbmcodGltZXN0YW1wV3JpdGUubG9jYXRpb24pLAorICAgICAgICAgICAg
fSk7CisgICAgICAgIH0KKyAgICB9CisKICAgICBXR1BVQ29tcHV0ZVBhc3NEZXNjcmlwdG9yIGJh
Y2tpbmdEZXNjcmlwdG9yIHsKICAgICAgICAgbnVsbHB0ciwKICAgICAgICAgbGFiZWwuZGF0YSgp
LAorICAgICAgICBzdGF0aWNfY2FzdDx1aW50MzJfdD4odGltZXN0YW1wV3JpdGVzLnNpemUoKSks
CisgICAgICAgIHRpbWVzdGFtcFdyaXRlcy5kYXRhKCksCiAgICAgfTsKIAogICAgIHJldHVybiBD
b21wdXRlUGFzc0VuY29kZXJJbXBsOjpjcmVhdGUod2dwdUNvbW1hbmRFbmNvZGVyQmVnaW5Db21w
dXRlUGFzcyhtX2JhY2tpbmcsICZiYWNraW5nRGVzY3JpcHRvciksIG1fY29udmVydFRvQmFja2lu
Z0NvbnRleHQpOwpAQCAtMjIxLDEyICsyMzAsMTIgQEAgdm9pZCBDb21tYW5kRW5jb2RlckltcGw6
OmNvcHlUZXh0dXJlVG9UZXh0dXJlKAogICAgIHdncHVDb21tYW5kRW5jb2RlckNvcHlUZXh0dXJl
VG9UZXh0dXJlKG1fYmFja2luZywgJmJhY2tpbmdTb3VyY2UsICZiYWNraW5nRGVzdGluYXRpb24s
ICZiYWNraW5nQ29weVNpemUpOwogfQogCi12b2lkIENvbW1hbmRFbmNvZGVySW1wbDo6ZmlsbEJ1
ZmZlcigKLSAgICBjb25zdCBCdWZmZXImIGRlc3RpbmF0aW9uLAotICAgIFNpemU2NCBkZXN0aW5h
dGlvbk9mZnNldCwKLSAgICBTaXplNjQgc2l6ZSkKK3ZvaWQgQ29tbWFuZEVuY29kZXJJbXBsOjpj
bGVhckJ1ZmZlcigKKyAgICBjb25zdCBCdWZmZXImIGJ1ZmZlciwKKyAgICBTaXplNjQgb2Zmc2V0
LAorICAgIHN0ZDo6b3B0aW9uYWw8U2l6ZTY0PiBzaXplKQogewotICAgIHdncHVDb21tYW5kRW5j
b2RlckZpbGxCdWZmZXIobV9iYWNraW5nLCBtX2NvbnZlcnRUb0JhY2tpbmdDb250ZXh0LT5jb252
ZXJ0VG9CYWNraW5nKGRlc3RpbmF0aW9uKSwgZGVzdGluYXRpb25PZmZzZXQsIHNpemUpOworICAg
IHdncHVDb21tYW5kRW5jb2RlckNsZWFyQnVmZmVyKG1fYmFja2luZywgbV9jb252ZXJ0VG9CYWNr
aW5nQ29udGV4dC0+Y29udmVydFRvQmFja2luZyhidWZmZXIpLCBvZmZzZXQsIHNpemUudmFsdWVf
b3IoV0dQVV9XSE9MRV9TSVpFKSk7CiB9CiAKIHZvaWQgQ29tbWFuZEVuY29kZXJJbXBsOjpwdXNo
RGVidWdHcm91cChTdHJpbmcmJiBncm91cExhYmVsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9XZWJHUFVDb21tYW5kRW5jb2RlckltcGwu
aCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwvV2ViR1BVQ29t
bWFuZEVuY29kZXJJbXBsLmgKaW5kZXggYWQ2MGFjMDJiMWFkNmUyNDA4OTRiOWQ1YTI5MTBiYmJk
NDM2MTFhOS4uMTcxN2FkZDNiYzk4MGFjNTQ4NmFkNzNhMzkyOTE1YjQ4YWQ5NjIwYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9XZWJHUFVD
b21tYW5kRW5jb2RlckltcGwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNz
L1dlYkdQVS9JbXBsL1dlYkdQVUNvbW1hbmRFbmNvZGVySW1wbC5oCkBAIC04MSwxMCArODEsMTAg
QEAgcHJpdmF0ZToKICAgICAgICAgY29uc3QgSW1hZ2VDb3B5VGV4dHVyZSYgZGVzdGluYXRpb24s
CiAgICAgICAgIGNvbnN0IEV4dGVudDNEJiBjb3B5U2l6ZSkgZmluYWw7CiAKLSAgICB2b2lkIGZp
bGxCdWZmZXIoCi0gICAgICAgIGNvbnN0IEJ1ZmZlciYgZGVzdGluYXRpb24sCi0gICAgICAgIFNp
emU2NCBkZXN0aW5hdGlvbk9mZnNldCwKLSAgICAgICAgU2l6ZTY0KSBmaW5hbDsKKyAgICB2b2lk
IGNsZWFyQnVmZmVyKAorICAgICAgICBjb25zdCBCdWZmZXImLAorICAgICAgICBTaXplNjQgb2Zm
c2V0LAorICAgICAgICBzdGQ6Om9wdGlvbmFsPFNpemU2ND4pIGZpbmFsOwogCiAgICAgdm9pZCBw
dXNoRGVidWdHcm91cChTdHJpbmcmJiBncm91cExhYmVsKSBmaW5hbDsKICAgICB2b2lkIHBvcERl
YnVnR3JvdXAoKSBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3Jh
cGhpY3MvV2ViR1BVL0ltcGwvV2ViR1BVQ29tcHV0ZVBhc3NFbmNvZGVySW1wbC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVUNvbXB1dGVQYXNz
RW5jb2RlckltcGwuY3BwCmluZGV4IGVkZDU5ZDY1OTc2ZjA0YTdjMWIzN2ZkMWFiYjA4ZDU0YmU0
Zjc2MTcuLjJkZGVlYjQ5ZGVlNGE2ODhiMjYxMjIxOGI0NDUwODk3MzIzODQ0NzQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwvV2ViR1BVQ29t
cHV0ZVBhc3NFbmNvZGVySW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFw
aGljcy9XZWJHUFUvSW1wbC9XZWJHUFVDb21wdXRlUGFzc0VuY29kZXJJbXBsLmNwcApAQCAtNTMs
OSArNTMsOSBAQCB2b2lkIENvbXB1dGVQYXNzRW5jb2RlckltcGw6OnNldFBpcGVsaW5lKGNvbnN0
IENvbXB1dGVQaXBlbGluZSYgY29tcHV0ZVBpcGVsaW5lKQogICAgIHdncHVDb21wdXRlUGFzc0Vu
Y29kZXJTZXRQaXBlbGluZShtX2JhY2tpbmcsIG1fY29udmVydFRvQmFja2luZ0NvbnRleHQtPmNv
bnZlcnRUb0JhY2tpbmcoY29tcHV0ZVBpcGVsaW5lKSk7CiB9CiAKLXZvaWQgQ29tcHV0ZVBhc3NF
bmNvZGVySW1wbDo6ZGlzcGF0Y2goU2l6ZTMyIHgsIHN0ZDo6b3B0aW9uYWw8U2l6ZTMyPiB5LCBz
dGQ6Om9wdGlvbmFsPFNpemUzMj4geikKK3ZvaWQgQ29tcHV0ZVBhc3NFbmNvZGVySW1wbDo6ZGlz
cGF0Y2goU2l6ZTMyIHdvcmtncm91cENvdW50WCwgU2l6ZTMyIHdvcmtncm91cENvdW50WSwgU2l6
ZTMyIHdvcmtncm91cENvdW50WikKIHsKLSAgICB3Z3B1Q29tcHV0ZVBhc3NFbmNvZGVyRGlzcGF0
Y2gobV9iYWNraW5nLCB4LCB5LnZhbHVlX29yKDEpLCB6LnZhbHVlX29yKDEpKTsKKyAgICB3Z3B1
Q29tcHV0ZVBhc3NFbmNvZGVyRGlzcGF0Y2gobV9iYWNraW5nLCB3b3JrZ3JvdXBDb3VudFgsIHdv
cmtncm91cENvdW50WSwgd29ya2dyb3VwQ291bnRaKTsKIH0KIAogdm9pZCBDb21wdXRlUGFzc0Vu
Y29kZXJJbXBsOjpkaXNwYXRjaEluZGlyZWN0KGNvbnN0IEJ1ZmZlciYgaW5kaXJlY3RCdWZmZXIs
IFNpemU2NCBpbmRpcmVjdE9mZnNldCkKQEAgLTYzLDE3ICs2Myw3IEBAIHZvaWQgQ29tcHV0ZVBh
c3NFbmNvZGVySW1wbDo6ZGlzcGF0Y2hJbmRpcmVjdChjb25zdCBCdWZmZXImIGluZGlyZWN0QnVm
ZmVyLCBTaXplCiAgICAgd2dwdUNvbXB1dGVQYXNzRW5jb2RlckRpc3BhdGNoSW5kaXJlY3QobV9i
YWNraW5nLCBtX2NvbnZlcnRUb0JhY2tpbmdDb250ZXh0LT5jb252ZXJ0VG9CYWNraW5nKGluZGly
ZWN0QnVmZmVyKSwgaW5kaXJlY3RPZmZzZXQpOwogfQogCi12b2lkIENvbXB1dGVQYXNzRW5jb2Rl
ckltcGw6OmJlZ2luUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkoY29uc3QgUXVlcnlTZXQmIHF1ZXJ5
U2V0LCBTaXplMzIgcXVlcnlJbmRleCkKLXsKLSAgICB3Z3B1Q29tcHV0ZVBhc3NFbmNvZGVyQmVn
aW5QaXBlbGluZVN0YXRpc3RpY3NRdWVyeShtX2JhY2tpbmcsIG1fY29udmVydFRvQmFja2luZ0Nv
bnRleHQtPmNvbnZlcnRUb0JhY2tpbmcocXVlcnlTZXQpLCBxdWVyeUluZGV4KTsKLX0KLQotdm9p
ZCBDb21wdXRlUGFzc0VuY29kZXJJbXBsOjplbmRQaXBlbGluZVN0YXRpc3RpY3NRdWVyeSgpCi17
Ci0gICAgd2dwdUNvbXB1dGVQYXNzRW5jb2RlckVuZFBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KG1f
YmFja2luZyk7Ci19Ci0KLXZvaWQgQ29tcHV0ZVBhc3NFbmNvZGVySW1wbDo6ZW5kUGFzcygpCit2
b2lkIENvbXB1dGVQYXNzRW5jb2RlckltcGw6OmVuZCgpCiB7CiAgICAgd2dwdUNvbXB1dGVQYXNz
RW5jb2RlckVuZFBhc3MobV9iYWNraW5nKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwvV2ViR1BVQ29tcHV0ZVBhc3NFbmNvZGVySW1w
bC5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9XZWJHUFVD
b21wdXRlUGFzc0VuY29kZXJJbXBsLmgKaW5kZXggNTI4OGI1YjhjMGRiZTdhNjEwZWIxMTY1MzE1
NWYzM2NhMTUzZDUxMy4uMGYzNjYxZDk5YmVkYjRmYzI0OTE4MWRhYzQ3ZjYzYTc1NDIyZjNkMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9X
ZWJHUFVDb21wdXRlUGFzc0VuY29kZXJJbXBsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3Bh
bC9ncmFwaGljcy9XZWJHUFUvSW1wbC9XZWJHUFVDb21wdXRlUGFzc0VuY29kZXJJbXBsLmgKQEAg
LTU3LDEzICs1NywxMCBAQCBwcml2YXRlOgogICAgIFdHUFVDb21wdXRlUGFzc0VuY29kZXIgYmFj
a2luZygpIGNvbnN0IHsgcmV0dXJuIG1fYmFja2luZzsgfQogCiAgICAgdm9pZCBzZXRQaXBlbGlu
ZShjb25zdCBDb21wdXRlUGlwZWxpbmUmKSBmaW5hbDsKLSAgICB2b2lkIGRpc3BhdGNoKFNpemUz
MiB4LCBzdGQ6Om9wdGlvbmFsPFNpemUzMj4geSwgc3RkOjpvcHRpb25hbDxTaXplMzI+KSBmaW5h
bDsKKyAgICB2b2lkIGRpc3BhdGNoKFNpemUzMiB3b3JrZ3JvdXBDb3VudFgsIFNpemUzMiB3b3Jr
Z3JvdXBDb3VudFksIFNpemUzMiB3b3JrZ3JvdXBDb3VudFopIGZpbmFsOwogICAgIHZvaWQgZGlz
cGF0Y2hJbmRpcmVjdChjb25zdCBCdWZmZXImIGluZGlyZWN0QnVmZmVyLCBTaXplNjQgaW5kaXJl
Y3RPZmZzZXQpIGZpbmFsOwogCi0gICAgdm9pZCBiZWdpblBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5
KGNvbnN0IFF1ZXJ5U2V0JiwgU2l6ZTMyIHF1ZXJ5SW5kZXgpIGZpbmFsOwotICAgIHZvaWQgZW5k
UGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkoKSBmaW5hbDsKLQotICAgIHZvaWQgZW5kUGFzcygpIGZp
bmFsOworICAgIHZvaWQgZW5kKCkgZmluYWw7CiAKICAgICB2b2lkIHNldEJpbmRHcm91cChJbmRl
eDMyLCBjb25zdCBCaW5kR3JvdXAmLAogICAgICAgICBzdGQ6Om9wdGlvbmFsPFZlY3RvcjxCdWZm
ZXJEeW5hbWljT2Zmc2V0Pj4mJikgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVUNvbnZlcnRUb0JhY2tpbmdDb250ZXh0
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwvV2ViR1BV
Q29udmVydFRvQmFja2luZ0NvbnRleHQuY3BwCmluZGV4IDBmYmZiNGVjZDZiNjVjNDQxZjcxNTQz
M2QyYzY1MDlkOGRlNDIzYWEuLjc1Zjk3YzIzM2E1MWU1ZTkwOGI5YzVkZjliMGI3ZDUwNzc3Yzg2
N2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL0lt
cGwvV2ViR1BVQ29udmVydFRvQmFja2luZ0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwvV2ViR1BVQ29udmVydFRvQmFja2luZ0NvbnRl
eHQuY3BwCkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSAiV2ViR1BVQnVmZmVyQmluZGluZ1R5
cGUuaCIKICNpbmNsdWRlICJXZWJHUFVDb21wYXJlRnVuY3Rpb24uaCIKICNpbmNsdWRlICJXZWJH
UFVDb21waWxhdGlvbk1lc3NhZ2VUeXBlLmgiCisjaW5jbHVkZSAiV2ViR1BVQ29tcHV0ZVBhc3NU
aW1lc3RhbXBMb2NhdGlvbi5oIgogI2luY2x1ZGUgIldlYkdQVUN1bGxNb2RlLmgiCiAjaW5jbHVk
ZSAiV2ViR1BVRXJyb3JGaWx0ZXIuaCIKICNpbmNsdWRlICJXZWJHUFVGZWF0dXJlTmFtZS5oIgpA
QCAtNDEsMTAgKzQyLDEwIEBACiAjaW5jbHVkZSAiV2ViR1BVRnJvbnRGYWNlLmgiCiAjaW5jbHVk
ZSAiV2ViR1BVSW5kZXhGb3JtYXQuaCIKICNpbmNsdWRlICJXZWJHUFVMb2FkT3AuaCIKLSNpbmNs
dWRlICJXZWJHUFVQaXBlbGluZVN0YXRpc3RpY05hbWUuaCIKICNpbmNsdWRlICJXZWJHUFVQb3dl
clByZWZlcmVuY2UuaCIKICNpbmNsdWRlICJXZWJHUFVQcmltaXRpdmVUb3BvbG9neS5oIgogI2lu
Y2x1ZGUgIldlYkdQVVF1ZXJ5VHlwZS5oIgorI2luY2x1ZGUgIldlYkdQVVJlbmRlclBhc3NUaW1l
c3RhbXBMb2NhdGlvbi5oIgogI2luY2x1ZGUgIldlYkdQVVNhbXBsZXJCaW5kaW5nVHlwZS5oIgog
I2luY2x1ZGUgIldlYkdQVVN0ZW5jaWxPcGVyYXRpb24uaCIKICNpbmNsdWRlICJXZWJHUFVTdG9y
YWdlVGV4dHVyZUFjY2Vzcy5oIgpAQCAtMTY2LDYgKzE2NywxNiBAQCBXR1BVQ29tcGlsYXRpb25N
ZXNzYWdlVHlwZSBDb252ZXJ0VG9CYWNraW5nQ29udGV4dDo6Y29udmVydFRvQmFja2luZyhDb21w
aWxhdGlvbgogICAgIH0KIH0KIAorV0dQVUNvbXB1dGVQYXNzVGltZXN0YW1wTG9jYXRpb24gQ29u
dmVydFRvQmFja2luZ0NvbnRleHQ6OmNvbnZlcnRUb0JhY2tpbmcoQ29tcHV0ZVBhc3NUaW1lc3Rh
bXBMb2NhdGlvbiBjb21wdXRlUGFzc1RpbWVzdGFtcExvY2F0aW9uKQoreworICAgIHN3aXRjaCAo
Y29tcHV0ZVBhc3NUaW1lc3RhbXBMb2NhdGlvbikgeworICAgIGNhc2UgQ29tcHV0ZVBhc3NUaW1l
c3RhbXBMb2NhdGlvbjo6QmVnaW5uaW5nOgorICAgICAgICByZXR1cm4gV0dQVUNvbXB1dGVQYXNz
VGltZXN0YW1wTG9jYXRpb25fQmVnaW5uaW5nOworICAgIGNhc2UgQ29tcHV0ZVBhc3NUaW1lc3Rh
bXBMb2NhdGlvbjo6RW5kOgorICAgICAgICByZXR1cm4gV0dQVUNvbXB1dGVQYXNzVGltZXN0YW1w
TG9jYXRpb25fRW5kOworICAgIH0KK30KKwogV0dQVUN1bGxNb2RlIENvbnZlcnRUb0JhY2tpbmdD
b250ZXh0Ojpjb252ZXJ0VG9CYWNraW5nKEN1bGxNb2RlIGN1bGxNb2RlKQogewogICAgIHN3aXRj
aCAoY3VsbE1vZGUpIHsKQEAgLTE5Nyw4ICsyMDgsNiBAQCBXR1BVRmVhdHVyZU5hbWUgQ29udmVy
dFRvQmFja2luZ0NvbnRleHQ6OmNvbnZlcnRUb0JhY2tpbmcoRmVhdHVyZU5hbWUgZmVhdHVyZU5h
bQogICAgICAgICByZXR1cm4gV0dQVUZlYXR1cmVOYW1lX0RlcHRoMjRVbm9ybVN0ZW5jaWw4Owog
ICAgIGNhc2UgRmVhdHVyZU5hbWU6OkRlcHRoMzJmbG9hdFN0ZW5jaWw4OgogICAgICAgICByZXR1
cm4gV0dQVUZlYXR1cmVOYW1lX0RlcHRoMzJGbG9hdFN0ZW5jaWw4OwotICAgIGNhc2UgRmVhdHVy
ZU5hbWU6OlBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5OgotICAgICAgICByZXR1cm4gV0dQVUZlYXR1
cmVOYW1lX1BpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5OwogICAgIGNhc2UgRmVhdHVyZU5hbWU6OlRl
eHR1cmVDb21wcmVzc2lvbkJjOgogICAgICAgICByZXR1cm4gV0dQVUZlYXR1cmVOYW1lX1RleHR1
cmVDb21wcmVzc2lvbkJDOwogICAgIGNhc2UgRmVhdHVyZU5hbWU6OlRleHR1cmVDb21wcmVzc2lv
bkV0YzI6CkBAIC0yNDcsMjIgKzI1Niw4IEBAIFdHUFVMb2FkT3AgQ29udmVydFRvQmFja2luZ0Nv
bnRleHQ6OmNvbnZlcnRUb0JhY2tpbmcoTG9hZE9wIGxvYWRPcCkKICAgICBzd2l0Y2ggKGxvYWRP
cCkgewogICAgIGNhc2UgTG9hZE9wOjpMb2FkOgogICAgICAgICByZXR1cm4gV0dQVUxvYWRPcF9M
b2FkOwotICAgIH0KLX0KLQotV0dQVVBpcGVsaW5lU3RhdGlzdGljTmFtZSBDb252ZXJ0VG9CYWNr
aW5nQ29udGV4dDo6Y29udmVydFRvQmFja2luZyhQaXBlbGluZVN0YXRpc3RpY05hbWUgcGlwZWxp
bmVTdGF0aXN0aWNOYW1lKQotewotICAgIHN3aXRjaCAocGlwZWxpbmVTdGF0aXN0aWNOYW1lKSB7
Ci0gICAgY2FzZSBQaXBlbGluZVN0YXRpc3RpY05hbWU6OlZlcnRleFNoYWRlckludm9jYXRpb25z
OgotICAgICAgICByZXR1cm4gV0dQVVBpcGVsaW5lU3RhdGlzdGljTmFtZV9WZXJ0ZXhTaGFkZXJJ
bnZvY2F0aW9uczsKLSAgICBjYXNlIFBpcGVsaW5lU3RhdGlzdGljTmFtZTo6Q2xpcHBlckludm9j
YXRpb25zOgotICAgICAgICByZXR1cm4gV0dQVVBpcGVsaW5lU3RhdGlzdGljTmFtZV9DbGlwcGVy
SW52b2NhdGlvbnM7Ci0gICAgY2FzZSBQaXBlbGluZVN0YXRpc3RpY05hbWU6OkNsaXBwZXJQcmlt
aXRpdmVzT3V0OgotICAgICAgICByZXR1cm4gV0dQVVBpcGVsaW5lU3RhdGlzdGljTmFtZV9DbGlw
cGVyUHJpbWl0aXZlc091dDsKLSAgICBjYXNlIFBpcGVsaW5lU3RhdGlzdGljTmFtZTo6RnJhZ21l
bnRTaGFkZXJJbnZvY2F0aW9uczoKLSAgICAgICAgcmV0dXJuIFdHUFVQaXBlbGluZVN0YXRpc3Rp
Y05hbWVfRnJhZ21lbnRTaGFkZXJJbnZvY2F0aW9uczsKLSAgICBjYXNlIFBpcGVsaW5lU3RhdGlz
dGljTmFtZTo6Q29tcHV0ZVNoYWRlckludm9jYXRpb25zOgotICAgICAgICByZXR1cm4gV0dQVVBp
cGVsaW5lU3RhdGlzdGljTmFtZV9Db21wdXRlU2hhZGVySW52b2NhdGlvbnM7CisgICAgY2FzZSBM
b2FkT3A6OkNsZWFyOgorICAgICAgICByZXR1cm4gV0dQVUxvYWRPcF9DbGVhcjsKICAgICB9CiB9
CiAKQEAgLTI5NywxMyArMjkyLDIxIEBAIFdHUFVRdWVyeVR5cGUgQ29udmVydFRvQmFja2luZ0Nv
bnRleHQ6OmNvbnZlcnRUb0JhY2tpbmcoUXVlcnlUeXBlIHF1ZXJ5VHlwZSkKICAgICBzd2l0Y2gg
KHF1ZXJ5VHlwZSkgewogICAgIGNhc2UgUXVlcnlUeXBlOjpPY2NsdXNpb246CiAgICAgICAgIHJl
dHVybiBXR1BVUXVlcnlUeXBlX09jY2x1c2lvbjsKLSAgICBjYXNlIFF1ZXJ5VHlwZTo6UGlwZWxp
bmVTdGF0aXN0aWNzOgotICAgICAgICByZXR1cm4gV0dQVVF1ZXJ5VHlwZV9QaXBlbGluZVN0YXRp
c3RpY3M7CiAgICAgY2FzZSBRdWVyeVR5cGU6OlRpbWVzdGFtcDoKICAgICAgICAgcmV0dXJuIFdH
UFVRdWVyeVR5cGVfVGltZXN0YW1wOwogICAgIH0KIH0KIAorV0dQVVJlbmRlclBhc3NUaW1lc3Rh
bXBMb2NhdGlvbiBDb252ZXJ0VG9CYWNraW5nQ29udGV4dDo6Y29udmVydFRvQmFja2luZyhSZW5k
ZXJQYXNzVGltZXN0YW1wTG9jYXRpb24gcmVuZGVyUGFzc1RpbWVzdGFtcExvY2F0aW9uKQorewor
ICAgIHN3aXRjaCAocmVuZGVyUGFzc1RpbWVzdGFtcExvY2F0aW9uKSB7CisgICAgY2FzZSBSZW5k
ZXJQYXNzVGltZXN0YW1wTG9jYXRpb246OkJlZ2lubmluZzoKKyAgICAgICAgcmV0dXJuIFdHUFVS
ZW5kZXJQYXNzVGltZXN0YW1wTG9jYXRpb25fQmVnaW5uaW5nOworICAgIGNhc2UgUmVuZGVyUGFz
c1RpbWVzdGFtcExvY2F0aW9uOjpFbmQ6CisgICAgICAgIHJldHVybiBXR1BVUmVuZGVyUGFzc1Rp
bWVzdGFtcExvY2F0aW9uX0VuZDsKKyAgICB9Cit9CisKIFdHUFVTYW1wbGVyQmluZGluZ1R5cGUg
Q29udmVydFRvQmFja2luZ0NvbnRleHQ6OmNvbnZlcnRUb0JhY2tpbmcoU2FtcGxlckJpbmRpbmdU
eXBlIHNhbXBsZXJCaW5kaW5nVHlwZSkKIHsKICAgICBzd2l0Y2ggKHNhbXBsZXJCaW5kaW5nVHlw
ZSkgewpAQCAtNDk2LDExICs0OTksMTEgQEAgV0dQVVRleHR1cmVGb3JtYXQgQ29udmVydFRvQmFj
a2luZ0NvbnRleHQ6OmNvbnZlcnRUb0JhY2tpbmcoVGV4dHVyZUZvcm1hdCB0ZXh0dXIKICAgICBj
YXNlIFRleHR1cmVGb3JtYXQ6OkV0YzJSZ2I4dW5vcm06CiAgICAgICAgIHJldHVybiBzdGF0aWNf
Y2FzdDxXR1BVVGV4dHVyZUZvcm1hdD4oV0dQVVRleHR1cmVGb3JtYXRfRVRDMlJHQjhVbm9ybSk7
CiAgICAgY2FzZSBUZXh0dXJlRm9ybWF0OjpFdGMyUmdiOHVub3JtU1JHQjoKLSAgICAgICAgcmV0
dXJuIHN0YXRpY19jYXN0PFdHUFVUZXh0dXJlRm9ybWF0PihXR1BVVGV4dHVyZUZvcm1hdF9FVEMy
UkdCOHVub3JtU3JnYik7CisgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxXR1BVVGV4dHVyZUZv
cm1hdD4oV0dQVVRleHR1cmVGb3JtYXRfRVRDMlJHQjhVbm9ybVNyZ2IpOwogICAgIGNhc2UgVGV4
dHVyZUZvcm1hdDo6RXRjMlJnYjhhMXVub3JtOgotICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8
V0dQVVRleHR1cmVGb3JtYXQ+KFdHUFVUZXh0dXJlRm9ybWF0X0VUQzJSR0I4YTFVbm9ybSk7Cisg
ICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxXR1BVVGV4dHVyZUZvcm1hdD4oV0dQVVRleHR1cmVG
b3JtYXRfRVRDMlJHQjhBMVVub3JtKTsKICAgICBjYXNlIFRleHR1cmVGb3JtYXQ6OkV0YzJSZ2I4
YTF1bm9ybVNSR0I6Ci0gICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxXR1BVVGV4dHVyZUZvcm1h
dD4oV0dQVVRleHR1cmVGb3JtYXRfRVRDMlJHQjhhMXVub3JtU3JnYik7CisgICAgICAgIHJldHVy
biBzdGF0aWNfY2FzdDxXR1BVVGV4dHVyZUZvcm1hdD4oV0dQVVRleHR1cmVGb3JtYXRfRVRDMlJH
QjhBMVVub3JtU3JnYik7CiAgICAgY2FzZSBUZXh0dXJlRm9ybWF0OjpFdGMyUmdiYTh1bm9ybToK
ICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFdHUFVUZXh0dXJlRm9ybWF0PihXR1BVVGV4dHVy
ZUZvcm1hdF9FVEMyUkdCQThVbm9ybSk7CiAgICAgY2FzZSBUZXh0dXJlRm9ybWF0OjpFdGMyUmdi
YTh1bm9ybVNSR0I6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNz
L1dlYkdQVS9JbXBsL1dlYkdQVUNvbnZlcnRUb0JhY2tpbmdDb250ZXh0LmggYi9Tb3VyY2UvV2Vi
Q29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVUNvbnZlcnRUb0JhY2tpbmdD
b250ZXh0LmgKaW5kZXggMDkzZDgzM2M0ZTNhZjAwMzRjMjhlZjk0ZmYxOTZmODM5YWRhNDAyNy4u
NzU4NTA4YmQyMzVjOGYyNGNjOGQ3NDNmNzhjMjJjNWMzNThhZDQwMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9XZWJHUFVDb252ZXJ0VG9C
YWNraW5nQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2Vi
R1BVL0ltcGwvV2ViR1BVQ29udmVydFRvQmFja2luZ0NvbnRleHQuaApAQCAtNTQsNiArNTQsNyBA
QCBjbGFzcyBDb21tYW5kQnVmZmVyOwogY2xhc3MgQ29tbWFuZEVuY29kZXI7CiBlbnVtIGNsYXNz
IENvbXBhcmVGdW5jdGlvbiA6IHVpbnQ4X3Q7CiBlbnVtIGNsYXNzIENvbXBpbGF0aW9uTWVzc2Fn
ZVR5cGUgOiB1aW50OF90OworZW51bSBjbGFzcyBDb21wdXRlUGFzc1RpbWVzdGFtcExvY2F0aW9u
IDogdWludDhfdDsKIGNsYXNzIENvbXB1dGVQYXNzRW5jb2RlcjsKIGNsYXNzIENvbXB1dGVQaXBl
bGluZTsKIGVudW0gY2xhc3MgQ3VsbE1vZGUgOiB1aW50OF90OwpAQCAtNjYsNyArNjcsNiBAQCBj
bGFzcyBHUFU7CiBlbnVtIGNsYXNzIEluZGV4Rm9ybWF0IDogdWludDhfdDsKIGVudW0gY2xhc3Mg
TG9hZE9wIDogdWludDhfdDsKIGNsYXNzIFBpcGVsaW5lTGF5b3V0OwotZW51bSBjbGFzcyBQaXBl
bGluZVN0YXRpc3RpY05hbWUgOiB1aW50OF90OwogZW51bSBjbGFzcyBQb3dlclByZWZlcmVuY2Ug
OiB1aW50OF90OwogZW51bSBjbGFzcyBQcmltaXRpdmVUb3BvbG9neSA6IHVpbnQ4X3Q7CiBjbGFz
cyBRdWVyeVNldDsKQEAgLTc1LDYgKzc1LDcgQEAgY2xhc3MgUXVldWU7CiBjbGFzcyBSZW5kZXJC
dW5kbGVFbmNvZGVyOwogY2xhc3MgUmVuZGVyQnVuZGxlOwogY2xhc3MgUmVuZGVyUGFzc0VuY29k
ZXI7CitlbnVtIGNsYXNzIFJlbmRlclBhc3NUaW1lc3RhbXBMb2NhdGlvbiA6IHVpbnQ4X3Q7CiBj
bGFzcyBSZW5kZXJQaXBlbGluZTsKIGNsYXNzIFNhbXBsZXI7CiBlbnVtIGNsYXNzIFNhbXBsZXJC
aW5kaW5nVHlwZSA6IHVpbnQ4X3Q7CkBAIC0xMDMsNiArMTA0LDcgQEAgcHVibGljOgogICAgIFdH
UFVCdWZmZXJCaW5kaW5nVHlwZSBjb252ZXJ0VG9CYWNraW5nKEJ1ZmZlckJpbmRpbmdUeXBlKTsK
ICAgICBXR1BVQ29tcGFyZUZ1bmN0aW9uIGNvbnZlcnRUb0JhY2tpbmcoQ29tcGFyZUZ1bmN0aW9u
KTsKICAgICBXR1BVQ29tcGlsYXRpb25NZXNzYWdlVHlwZSBjb252ZXJ0VG9CYWNraW5nKENvbXBp
bGF0aW9uTWVzc2FnZVR5cGUpOworICAgIFdHUFVDb21wdXRlUGFzc1RpbWVzdGFtcExvY2F0aW9u
IGNvbnZlcnRUb0JhY2tpbmcoQ29tcHV0ZVBhc3NUaW1lc3RhbXBMb2NhdGlvbik7CiAgICAgV0dQ
VUN1bGxNb2RlIGNvbnZlcnRUb0JhY2tpbmcoQ3VsbE1vZGUpOwogICAgIFdHUFVFcnJvckZpbHRl
ciBjb252ZXJ0VG9CYWNraW5nKEVycm9yRmlsdGVyKTsKICAgICBXR1BVRmVhdHVyZU5hbWUgY29u
dmVydFRvQmFja2luZyhGZWF0dXJlTmFtZSk7CkBAIC0xMTAsMTAgKzExMiwxMCBAQCBwdWJsaWM6
CiAgICAgV0dQVUZyb250RmFjZSBjb252ZXJ0VG9CYWNraW5nKEZyb250RmFjZSk7CiAgICAgV0dQ
VUluZGV4Rm9ybWF0IGNvbnZlcnRUb0JhY2tpbmcoSW5kZXhGb3JtYXQpOwogICAgIFdHUFVMb2Fk
T3AgY29udmVydFRvQmFja2luZyhMb2FkT3ApOwotICAgIFdHUFVQaXBlbGluZVN0YXRpc3RpY05h
bWUgY29udmVydFRvQmFja2luZyhQaXBlbGluZVN0YXRpc3RpY05hbWUpOwogICAgIFdHUFVQb3dl
clByZWZlcmVuY2UgY29udmVydFRvQmFja2luZyhQb3dlclByZWZlcmVuY2UpOwogICAgIFdHUFVQ
cmltaXRpdmVUb3BvbG9neSBjb252ZXJ0VG9CYWNraW5nKFByaW1pdGl2ZVRvcG9sb2d5KTsKICAg
ICBXR1BVUXVlcnlUeXBlIGNvbnZlcnRUb0JhY2tpbmcoUXVlcnlUeXBlKTsKKyAgICBXR1BVUmVu
ZGVyUGFzc1RpbWVzdGFtcExvY2F0aW9uIGNvbnZlcnRUb0JhY2tpbmcoUmVuZGVyUGFzc1RpbWVz
dGFtcExvY2F0aW9uKTsKICAgICBXR1BVU2FtcGxlckJpbmRpbmdUeXBlIGNvbnZlcnRUb0JhY2tp
bmcoU2FtcGxlckJpbmRpbmdUeXBlKTsKICAgICBXR1BVU3RlbmNpbE9wZXJhdGlvbiBjb252ZXJ0
VG9CYWNraW5nKFN0ZW5jaWxPcGVyYXRpb24pOwogICAgIFdHUFVTdG9yYWdlVGV4dHVyZUFjY2Vz
cyBjb252ZXJ0VG9CYWNraW5nKFN0b3JhZ2VUZXh0dXJlQWNjZXNzKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwvV2ViR1BVRGV2aWNlSW1w
bC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQ
VURldmljZUltcGwuY3BwCmluZGV4IGIzZjU1NWRiMzE3ODVlMmRiNmQ2NDE2YzJmOTI5NmVmNDI0
MGQ4M2IuLmI5ZGE0ZTZjMGM5NzFhZmVhZjJmNmMxMDU0YjJmZjNhY2ZjZGY4ZTkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwvV2ViR1BVRGV2
aWNlSW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUv
SW1wbC9XZWJHUFVEZXZpY2VJbXBsLmNwcApAQCAtOTksOCArOTksMjEgQEAgUmVmPFRleHR1cmU+
IERldmljZUltcGw6OmNyZWF0ZVRleHR1cmUoY29uc3QgVGV4dHVyZURlc2NyaXB0b3ImIGRlc2Ny
aXB0b3IpCiAKICAgICBhdXRvIGxhYmVsID0gZGVzY3JpcHRvci5sYWJlbC51dGY4KCk7CiAKKyAg
ICBhdXRvIGJhY2tpbmdUZXh0dXJlRm9ybWF0cyA9IGRlc2NyaXB0b3Iudmlld0Zvcm1hdHMubWFw
KFsmXSAoVGV4dHVyZUZvcm1hdCB0ZXh0dXJlRm9ybWF0KSB7CisgICAgICAgIHJldHVybiBtX2Nv
bnZlcnRUb0JhY2tpbmdDb250ZXh0LT5jb252ZXJ0VG9CYWNraW5nKHRleHR1cmVGb3JtYXQpOwor
ICAgIH0pOworCisgICAgV0dQVVRleHR1cmVEZXNjcmlwdG9yVmlld0Zvcm1hdHMgYmFja2luZ1Zp
ZXdGb3JtYXRzIHsKKyAgICAgICAgeworICAgICAgICAgICAgbnVsbHB0ciwKKyAgICAgICAgICAg
IHN0YXRpY19jYXN0PFdHUFVTVHlwZT4oV0dQVVNUeXBlRXh0ZW5kZWRfVGV4dHVyZURlc2NyaXB0
b3JWaWV3Rm9ybWF0cyksCisgICAgICAgIH0sCisgICAgICAgIHN0YXRpY19jYXN0PHVpbnQzMl90
PihiYWNraW5nVGV4dHVyZUZvcm1hdHMuc2l6ZSgpKSwKKyAgICAgICAgYmFja2luZ1RleHR1cmVG
b3JtYXRzLmRhdGEoKSwKKyAgICB9OworCiAgICAgV0dQVVRleHR1cmVEZXNjcmlwdG9yIGJhY2tp
bmdEZXNjcmlwdG9yIHsKLSAgICAgICAgbnVsbHB0ciwKKyAgICAgICAgJmJhY2tpbmdWaWV3Rm9y
bWF0cy5jaGFpbiwKICAgICAgICAgbGFiZWwuZGF0YSgpLAogICAgICAgICBtX2NvbnZlcnRUb0Jh
Y2tpbmdDb250ZXh0LT5jb252ZXJ0VGV4dHVyZVVzYWdlRmxhZ3NUb0JhY2tpbmcoZGVzY3JpcHRv
ci51c2FnZSksCiAgICAgICAgIG1fY29udmVydFRvQmFja2luZ0NvbnRleHQtPmNvbnZlcnRUb0Jh
Y2tpbmcoZGVzY3JpcHRvci5kaW1lbnNpb24pLApAQCAtMjMxLDkgKzI0NCwzNCBAQCBSZWY8U2hh
ZGVyTW9kdWxlPiBEZXZpY2VJbXBsOjpjcmVhdGVTaGFkZXJNb2R1bGUoY29uc3QgU2hhZGVyTW9k
dWxlRGVzY3JpcHRvciYgZAogCiAgICAgYXV0byBzb3VyY2UgPSBkZXNjcmlwdG9yLmNvZGUudXRm
OCgpOwogCi0gICAgV0dQVVNoYWRlck1vZHVsZVdHU0xEZXNjcmlwdG9yIGJhY2tpbmdXR1NMRGVz
Y3JpcHRvciB7CisgICAgYXV0byBlbnRyeVBvaW50cyA9IGRlc2NyaXB0b3IuaGludHMubWFwKFtd
IChjb25zdCBhdXRvJiBoaW50KSB7CisgICAgICAgIHJldHVybiBoaW50LmtleS51dGY4KCk7Cisg
ICAgfSk7CisKKyAgICBWZWN0b3I8V0dQVVNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludEVudHJ5
PiBoaW50c0VudHJpZXM7CisgICAgaGludHNFbnRyaWVzLnJlc2VydmVJbml0aWFsQ2FwYWNpdHko
ZGVzY3JpcHRvci5oaW50cy5zaXplKCkpOworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgZGVz
Y3JpcHRvci5oaW50cy5zaXplKCk7ICsraSkgeworICAgICAgICBjb25zdCBhdXRvJiBoaW50ID0g
ZGVzY3JpcHRvci5oaW50c1tpXS52YWx1ZTsKKyAgICAgICAgaGludHNFbnRyaWVzLmFwcGVuZChX
R1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50RW50cnkgeworICAgICAgICAgICAgbnVsbHB0
ciwKKyAgICAgICAgICAgIGVudHJ5UG9pbnRzW2ldLmRhdGEoKSwgeworICAgICAgICAgICAgICAg
IG1fY29udmVydFRvQmFja2luZ0NvbnRleHQtPmNvbnZlcnRUb0JhY2tpbmcoaGludC5waXBlbGlu
ZUxheW91dCksCisgICAgICAgICAgICB9LAorICAgICAgICB9KTsKKyAgICB9CisKKyAgICBXR1BV
U2hhZGVyTW9kdWxlRGVzY3JpcHRvckhpbnRzIGJhY2tpbmdTaGFkZXJNb2R1bGVIaW50cyB7CiAg
ICAgICAgIHsKICAgICAgICAgICAgIG51bGxwdHIsCisgICAgICAgICAgICBzdGF0aWNfY2FzdDxX
R1BVU1R5cGU+KFdHUFVTVHlwZUV4dGVuZGVkX1NoYWRlck1vZHVsZURlc2NyaXB0b3JIaW50cyks
CisgICAgICAgIH0sCisgICAgICAgIHN0YXRpY19jYXN0PHVpbnQzMl90PihoaW50c0VudHJpZXMu
c2l6ZSgpKSwKKyAgICAgICAgaGludHNFbnRyaWVzLmRhdGEoKSwKKyAgICB9OworCisgICAgV0dQ
VVNoYWRlck1vZHVsZVdHU0xEZXNjcmlwdG9yIGJhY2tpbmdXR1NMRGVzY3JpcHRvciB7CisgICAg
ICAgIHsKKyAgICAgICAgICAgICZiYWNraW5nU2hhZGVyTW9kdWxlSGludHMuY2hhaW4sCiAgICAg
ICAgICAgICBXR1BVU1R5cGVfU2hhZGVyTW9kdWxlV0dTTERlc2NyaXB0b3IsCiAgICAgICAgIH0s
CiAgICAgICAgIHNvdXJjZS5kYXRhKCksCkBAIC0yNDgsNyArMjg2LDcgQEAgUmVmPFNoYWRlck1v
ZHVsZT4gRGV2aWNlSW1wbDo6Y3JlYXRlU2hhZGVyTW9kdWxlKGNvbnN0IFNoYWRlck1vZHVsZURl
c2NyaXB0b3ImIGQKIH0KIAogdGVtcGxhdGUgPHR5cGVuYW1lIFQ+Ci1hdXRvIGNvbnZlcnRUb0Jh
Y2tpbmcoY29uc3QgQ29tcHV0ZVBpcGVsaW5lRGVzY3JpcHRvciYgZGVzY3JpcHRvciwgQ29udmVy
dFRvQmFja2luZ0NvbnRleHQmIGNvbnZlcnRUb0JhY2tpbmdDb250ZXh0LCBUJiYgY2FsbGJhY2sp
CitzdGF0aWMgYXV0byBjb252ZXJ0VG9CYWNraW5nKGNvbnN0IENvbXB1dGVQaXBlbGluZURlc2Ny
aXB0b3ImIGRlc2NyaXB0b3IsIENvbnZlcnRUb0JhY2tpbmdDb250ZXh0JiBjb252ZXJ0VG9CYWNr
aW5nQ29udGV4dCwgVCYmIGNhbGxiYWNrKQogewogICAgIGF1dG8gbGFiZWwgPSBkZXNjcmlwdG9y
LmxhYmVsLnV0ZjgoKTsKIApAQCAtMjkyLDcgKzMzMCw3IEBAIFJlZjxDb21wdXRlUGlwZWxpbmU+
IERldmljZUltcGw6OmNyZWF0ZUNvbXB1dGVQaXBlbGluZShjb25zdCBDb21wdXRlUGlwZWxpbmVE
ZXNjCiB9CiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgotYXV0byBjb252ZXJ0VG9CYWNraW5nKGNv
bnN0IFJlbmRlclBpcGVsaW5lRGVzY3JpcHRvciYgZGVzY3JpcHRvciwgQ29udmVydFRvQmFja2lu
Z0NvbnRleHQmIGNvbnZlcnRUb0JhY2tpbmdDb250ZXh0LCBUJiYgY2FsbGJhY2spCitzdGF0aWMg
YXV0byBjb252ZXJ0VG9CYWNraW5nKGNvbnN0IFJlbmRlclBpcGVsaW5lRGVzY3JpcHRvciYgZGVz
Y3JpcHRvciwgQ29udmVydFRvQmFja2luZ0NvbnRleHQmIGNvbnZlcnRUb0JhY2tpbmdDb250ZXh0
LCBUJiYgY2FsbGJhY2spCiB7CiAgICAgYXV0byBsYWJlbCA9IGRlc2NyaXB0b3IubGFiZWwudXRm
OCgpOwogCkBAIC0zODUsMTYgKzQyMywxNiBAQCBhdXRvIGNvbnZlcnRUb0JhY2tpbmcoY29uc3Qg
UmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yJiBkZXNjcmlwdG9yLCBDb252ZXJ0VG9CYWNraQogICAg
IFZlY3RvcjxzdGQ6Om9wdGlvbmFsPFdHUFVCbGVuZFN0YXRlPj4gYmxlbmRTdGF0ZXM7CiAgICAg
aWYgKGRlc2NyaXB0b3IuZnJhZ21lbnQpIHsKICAgICAgICAgYmxlbmRTdGF0ZXMgPSBkZXNjcmlw
dG9yLmZyYWdtZW50LT50YXJnZXRzLm1hcChbJmNvbnZlcnRUb0JhY2tpbmdDb250ZXh0XSAoY29u
c3QgYXV0byYgdGFyZ2V0KSAtPiBzdGQ6Om9wdGlvbmFsPFdHUFVCbGVuZFN0YXRlPiB7Ci0gICAg
ICAgICAgICBpZiAodGFyZ2V0LmJsZW5kKSB7CisgICAgICAgICAgICBpZiAodGFyZ2V0ICYmIHRh
cmdldC0+YmxlbmQpIHsKICAgICAgICAgICAgICAgICByZXR1cm4gV0dQVUJsZW5kU3RhdGUgewog
ICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBjb252ZXJ0VG9C
YWNraW5nQ29udGV4dC5jb252ZXJ0VG9CYWNraW5nKHRhcmdldC5ibGVuZC0+Y29sb3Iub3BlcmF0
aW9uKSwKLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnZlcnRUb0JhY2tpbmdDb250ZXh0LmNv
bnZlcnRUb0JhY2tpbmcodGFyZ2V0LmJsZW5kLT5jb2xvci5zcmNGYWN0b3IpLAotICAgICAgICAg
ICAgICAgICAgICAgICAgY29udmVydFRvQmFja2luZ0NvbnRleHQuY29udmVydFRvQmFja2luZyh0
YXJnZXQuYmxlbmQtPmNvbG9yLmRzdEZhY3RvciksCisgICAgICAgICAgICAgICAgICAgICAgICBj
b252ZXJ0VG9CYWNraW5nQ29udGV4dC5jb252ZXJ0VG9CYWNraW5nKHRhcmdldC0+YmxlbmQtPmNv
bG9yLm9wZXJhdGlvbiksCisgICAgICAgICAgICAgICAgICAgICAgICBjb252ZXJ0VG9CYWNraW5n
Q29udGV4dC5jb252ZXJ0VG9CYWNraW5nKHRhcmdldC0+YmxlbmQtPmNvbG9yLnNyY0ZhY3Rvciks
CisgICAgICAgICAgICAgICAgICAgICAgICBjb252ZXJ0VG9CYWNraW5nQ29udGV4dC5jb252ZXJ0
VG9CYWNraW5nKHRhcmdldC0+YmxlbmQtPmNvbG9yLmRzdEZhY3RvciksCiAgICAgICAgICAgICAg
ICAgICAgIH0sIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnZlcnRUb0JhY2tpbmdDb250
ZXh0LmNvbnZlcnRUb0JhY2tpbmcodGFyZ2V0LmJsZW5kLT5hbHBoYS5vcGVyYXRpb24pLAotICAg
ICAgICAgICAgICAgICAgICAgICAgY29udmVydFRvQmFja2luZ0NvbnRleHQuY29udmVydFRvQmFj
a2luZyh0YXJnZXQuYmxlbmQtPmFscGhhLnNyY0ZhY3RvciksCi0gICAgICAgICAgICAgICAgICAg
ICAgICBjb252ZXJ0VG9CYWNraW5nQ29udGV4dC5jb252ZXJ0VG9CYWNraW5nKHRhcmdldC5ibGVu
ZC0+YWxwaGEuZHN0RmFjdG9yKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnZlcnRUb0Jh
Y2tpbmdDb250ZXh0LmNvbnZlcnRUb0JhY2tpbmcodGFyZ2V0LT5ibGVuZC0+YWxwaGEub3BlcmF0
aW9uKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnZlcnRUb0JhY2tpbmdDb250ZXh0LmNv
bnZlcnRUb0JhY2tpbmcodGFyZ2V0LT5ibGVuZC0+YWxwaGEuc3JjRmFjdG9yKSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnZlcnRUb0JhY2tpbmdDb250ZXh0LmNvbnZlcnRUb0JhY2tpbmco
dGFyZ2V0LT5ibGVuZC0+YWxwaGEuZHN0RmFjdG9yKSwKICAgICAgICAgICAgICAgICAgICAgfQog
ICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgICB9IGVsc2UKQEAgLTQwNiwxMyArNDQ0LDIx
IEBAIGF1dG8gY29udmVydFRvQmFja2luZyhjb25zdCBSZW5kZXJQaXBlbGluZURlc2NyaXB0b3Im
IGRlc2NyaXB0b3IsIENvbnZlcnRUb0JhY2tpCiAgICAgaWYgKGRlc2NyaXB0b3IuZnJhZ21lbnQp
IHsKICAgICAgICAgY29sb3JUYXJnZXRzLnJlc2VydmVJbml0aWFsQ2FwYWNpdHkoZGVzY3JpcHRv
ci5mcmFnbWVudC0+dGFyZ2V0cy5zaXplKCkpOwogICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsg
aSA8IGRlc2NyaXB0b3IuZnJhZ21lbnQtPnRhcmdldHMuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAg
ICAgIGNvbnN0IGF1dG8mIHRhcmdldCA9IGRlc2NyaXB0b3IuZnJhZ21lbnQtPnRhcmdldHNbaV07
Ci0gICAgICAgICAgICBjb2xvclRhcmdldHMudW5jaGVja2VkQXBwZW5kKFdHUFVDb2xvclRhcmdl
dFN0YXRlIHsKLSAgICAgICAgICAgICAgICBudWxscHRyLAotICAgICAgICAgICAgICAgIGNvbnZl
cnRUb0JhY2tpbmdDb250ZXh0LmNvbnZlcnRUb0JhY2tpbmcodGFyZ2V0LmZvcm1hdCksCi0gICAg
ICAgICAgICAgICAgYmxlbmRTdGF0ZXNbaV0gPyAmKmJsZW5kU3RhdGVzW2ldIDogbnVsbHB0ciwK
LSAgICAgICAgICAgICAgICBjb252ZXJ0VG9CYWNraW5nQ29udGV4dC5jb252ZXJ0Q29sb3JXcml0
ZUZsYWdzVG9CYWNraW5nKHRhcmdldC53cml0ZU1hc2spLAotICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICBpZiAoY29uc3QgYXV0byYgdGFyZ2V0ID0gZGVzY3JpcHRvci5mcmFnbWVudC0+dGFy
Z2V0c1tpXSkgeworICAgICAgICAgICAgICAgIGNvbG9yVGFyZ2V0cy51bmNoZWNrZWRBcHBlbmQo
V0dQVUNvbG9yVGFyZ2V0U3RhdGUgeworICAgICAgICAgICAgICAgICAgICBudWxscHRyLAorICAg
ICAgICAgICAgICAgICAgICBjb252ZXJ0VG9CYWNraW5nQ29udGV4dC5jb252ZXJ0VG9CYWNraW5n
KHRhcmdldC0+Zm9ybWF0KSwKKyAgICAgICAgICAgICAgICAgICAgYmxlbmRTdGF0ZXNbaV0gPyAm
KmJsZW5kU3RhdGVzW2ldIDogbnVsbHB0ciwKKyAgICAgICAgICAgICAgICAgICAgY29udmVydFRv
QmFja2luZ0NvbnRleHQuY29udmVydENvbG9yV3JpdGVGbGFnc1RvQmFja2luZyh0YXJnZXQtPndy
aXRlTWFzayksCisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9IGVsc2UgeworICAg
ICAgICAgICAgICAgIGNvbG9yVGFyZ2V0cy51bmNoZWNrZWRBcHBlbmQoV0dQVUNvbG9yVGFyZ2V0
U3RhdGUgeworICAgICAgICAgICAgICAgICAgICBudWxscHRyLAorICAgICAgICAgICAgICAgICAg
ICBXR1BVVGV4dHVyZUZvcm1hdF9VbmRlZmluZWQsCisgICAgICAgICAgICAgICAgICAgIG51bGxw
dHIsCisgICAgICAgICAgICAgICAgICAgIFdHUFVNYXBNb2RlX05vbmUsCisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9CiAKQEAgLTUyOCw3ICs1NzQs
NyBAQCBSZWY8UmVuZGVyQnVuZGxlRW5jb2Rlcj4gRGV2aWNlSW1wbDo6Y3JlYXRlUmVuZGVyQnVu
ZGxlRW5jb2Rlcihjb25zdCBSZW5kZXJCdW5kbAogICAgIGF1dG8gbGFiZWwgPSBkZXNjcmlwdG9y
LmxhYmVsLnV0ZjgoKTsKIAogICAgIGF1dG8gYmFja2luZ0NvbG9yRm9ybWF0cyA9IGRlc2NyaXB0
b3IuY29sb3JGb3JtYXRzLm1hcChbdGhpc10gKGF1dG8gY29sb3JGb3JtYXQpIHsKLSAgICAgICAg
cmV0dXJuIG1fY29udmVydFRvQmFja2luZ0NvbnRleHQtPmNvbnZlcnRUb0JhY2tpbmcoY29sb3JG
b3JtYXQpOworICAgICAgICByZXR1cm4gY29sb3JGb3JtYXQgPyBtX2NvbnZlcnRUb0JhY2tpbmdD
b250ZXh0LT5jb252ZXJ0VG9CYWNraW5nKCpjb2xvckZvcm1hdCkgOiBXR1BVVGV4dHVyZUZvcm1h
dF9VbmRlZmluZWQ7CiAgICAgfSk7CiAKICAgICBXR1BVUmVuZGVyQnVuZGxlRW5jb2RlckRlc2Ny
aXB0b3IgYmFja2luZ0Rlc2NyaXB0b3IgewpAQCAtNTM4LDYgKzU4NCw4IEBAIFJlZjxSZW5kZXJC
dW5kbGVFbmNvZGVyPiBEZXZpY2VJbXBsOjpjcmVhdGVSZW5kZXJCdW5kbGVFbmNvZGVyKGNvbnN0
IFJlbmRlckJ1bmRsCiAgICAgICAgIGJhY2tpbmdDb2xvckZvcm1hdHMuZGF0YSgpLAogICAgICAg
ICBkZXNjcmlwdG9yLmRlcHRoU3RlbmNpbEZvcm1hdCA/IG1fY29udmVydFRvQmFja2luZ0NvbnRl
eHQtPmNvbnZlcnRUb0JhY2tpbmcoKmRlc2NyaXB0b3IuZGVwdGhTdGVuY2lsRm9ybWF0KSA6IFdH
UFVUZXh0dXJlRm9ybWF0X1VuZGVmaW5lZCwKICAgICAgICAgZGVzY3JpcHRvci5zYW1wbGVDb3Vu
dCwKKyAgICAgICAgZGVzY3JpcHRvci5kZXB0aFJlYWRPbmx5LAorICAgICAgICBkZXNjcmlwdG9y
LnN0ZW5jaWxSZWFkT25seSwKICAgICB9OwogCiAgICAgcmV0dXJuIFJlbmRlckJ1bmRsZUVuY29k
ZXJJbXBsOjpjcmVhdGUod2dwdURldmljZUNyZWF0ZVJlbmRlckJ1bmRsZUVuY29kZXIobV9iYWNr
aW5nLCAmYmFja2luZ0Rlc2NyaXB0b3IpLCBtX2NvbnZlcnRUb0JhY2tpbmdDb250ZXh0KTsKQEAg
LTU0NywxNyArNTk1LDEzIEBAIFJlZjxRdWVyeVNldD4gRGV2aWNlSW1wbDo6Y3JlYXRlUXVlcnlT
ZXQoY29uc3QgUXVlcnlTZXREZXNjcmlwdG9yJiBkZXNjcmlwdG9yKQogewogICAgIGF1dG8gbGFi
ZWwgPSBkZXNjcmlwdG9yLmxhYmVsLnV0ZjgoKTsKIAotICAgIGF1dG8gYmFja2luZ1BpcGVsaW5l
U3RhdGlzdGljcyA9IGRlc2NyaXB0b3IucGlwZWxpbmVTdGF0aXN0aWNzLm1hcChbdGhpc10gKGF1
dG8gcGlwZWxpbmVTdGF0aXN0aWMpIHsKLSAgICAgICAgcmV0dXJuIG1fY29udmVydFRvQmFja2lu
Z0NvbnRleHQtPmNvbnZlcnRUb0JhY2tpbmcocGlwZWxpbmVTdGF0aXN0aWMpOwotICAgIH0pOwot
CiAgICAgV0dQVVF1ZXJ5U2V0RGVzY3JpcHRvciBiYWNraW5nRGVzY3JpcHRvciB7CiAgICAgICAg
IG51bGxwdHIsCiAgICAgICAgIGxhYmVsLmRhdGEoKSwKICAgICAgICAgbV9jb252ZXJ0VG9CYWNr
aW5nQ29udGV4dC0+Y29udmVydFRvQmFja2luZyhkZXNjcmlwdG9yLnR5cGUpLAogICAgICAgICBk
ZXNjcmlwdG9yLmNvdW50LAotICAgICAgICBiYWNraW5nUGlwZWxpbmVTdGF0aXN0aWNzLmRhdGEo
KSwKLSAgICAgICAgc3RhdGljX2Nhc3Q8dWludDMyX3Q+KGJhY2tpbmdQaXBlbGluZVN0YXRpc3Rp
Y3Muc2l6ZSgpKSwKKyAgICAgICAgbnVsbHB0ciwKKyAgICAgICAgMCwKICAgICB9OwogCiAgICAg
cmV0dXJuIFF1ZXJ5U2V0SW1wbDo6Y3JlYXRlKHdncHVEZXZpY2VDcmVhdGVRdWVyeVNldChtX2Jh
Y2tpbmcsICZiYWNraW5nRGVzY3JpcHRvciksIG1fY29udmVydFRvQmFja2luZ0NvbnRleHQpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9X
ZWJHUFVJbXBsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL0lt
cGwvV2ViR1BVSW1wbC5jcHAKaW5kZXggNTgxZDkyODAxNzI4YzcyNDMyZTcwYjQzZGJiMWNiOTc1
MGQ5ZjNmMi4uZTZhZjY5ZGU2Y2I4ZTZmNzNlOTc2NTgyNDI0YmVlOWQyOGU1MDZlMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9XZWJHUFVJ
bXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBs
L1dlYkdQVUltcGwuY3BwCkBAIC03Niw3ICs3Niw3IEBAIHZvaWQgR1BVSW1wbDo6cmVxdWVzdEFk
YXB0ZXIoY29uc3QgUmVxdWVzdEFkYXB0ZXJPcHRpb25zJiBvcHRpb25zLCBXVEY6OkZ1bmN0aW9u
CiAgICAgV0dQVVJlcXVlc3RBZGFwdGVyT3B0aW9ucyBiYWNraW5nT3B0aW9ucyB7CiAgICAgICAg
IG51bGxwdHIsCiAgICAgICAgIG51bGxwdHIsCi0gICAgICAgIG9wdGlvbnMucG93ZXJQcmVmZXJl
bmNlID8gbV9jb252ZXJ0VG9CYWNraW5nQ29udGV4dC0+Y29udmVydFRvQmFja2luZygqb3B0aW9u
cy5wb3dlclByZWZlcmVuY2UpIDogc3RhdGljX2Nhc3Q8V0dQVVBvd2VyUHJlZmVyZW5jZT4oV0dQ
VVBvd2VyUHJlZmVyZW5jZV9Ob1ByZWZlcmVuY2UpLAorICAgICAgICBvcHRpb25zLnBvd2VyUHJl
ZmVyZW5jZSA/IG1fY29udmVydFRvQmFja2luZ0NvbnRleHQtPmNvbnZlcnRUb0JhY2tpbmcoKm9w
dGlvbnMucG93ZXJQcmVmZXJlbmNlKSA6IHN0YXRpY19jYXN0PFdHUFVQb3dlclByZWZlcmVuY2U+
KFdHUFVQb3dlclByZWZlcmVuY2VfVW5kZWZpbmVkKSwKICAgICAgICAgb3B0aW9ucy5mb3JjZUZh
bGxiYWNrQWRhcHRlciwKICAgICB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwv
cGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVVJlbmRlclBhc3NFbmNvZGVySW1wbC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVVJlbmRl
clBhc3NFbmNvZGVySW1wbC5jcHAKaW5kZXggZDJmZTVkZjUyNmNjMzYwZjdhM2VkMjMzZTMyZjM0
YzkzZDE4NjYxNi4uZjU3NzRkN2RiNGZiOGMxNGRjMTNkNTE3YTliYjg3OTcyOTkxNmNlNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9XZWJH
UFVSZW5kZXJQYXNzRW5jb2RlckltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwv
Z3JhcGhpY3MvV2ViR1BVL0ltcGwvV2ViR1BVUmVuZGVyUGFzc0VuY29kZXJJbXBsLmNwcApAQCAt
MTU2LDE2ICsxNTYsNiBAQCB2b2lkIFJlbmRlclBhc3NFbmNvZGVySW1wbDo6ZW5kT2NjbHVzaW9u
UXVlcnkoKQogICAgIHdncHVSZW5kZXJQYXNzRW5jb2RlckVuZE9jY2x1c2lvblF1ZXJ5KG1fYmFj
a2luZyk7CiB9CiAKLXZvaWQgUmVuZGVyUGFzc0VuY29kZXJJbXBsOjpiZWdpblBpcGVsaW5lU3Rh
dGlzdGljc1F1ZXJ5KGNvbnN0IFF1ZXJ5U2V0JiBxdWVyeVNldCwgU2l6ZTMyIHF1ZXJ5SW5kZXgp
Ci17Ci0gICAgd2dwdVJlbmRlclBhc3NFbmNvZGVyQmVnaW5QaXBlbGluZVN0YXRpc3RpY3NRdWVy
eShtX2JhY2tpbmcsIG1fY29udmVydFRvQmFja2luZ0NvbnRleHQtPmNvbnZlcnRUb0JhY2tpbmco
cXVlcnlTZXQpLCBxdWVyeUluZGV4KTsKLX0KLQotdm9pZCBSZW5kZXJQYXNzRW5jb2RlckltcGw6
OmVuZFBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KCkKLXsKLSAgICB3Z3B1UmVuZGVyUGFzc0VuY29k
ZXJFbmRQaXBlbGluZVN0YXRpc3RpY3NRdWVyeShtX2JhY2tpbmcpOwotfQotCiB2b2lkIFJlbmRl
clBhc3NFbmNvZGVySW1wbDo6ZXhlY3V0ZUJ1bmRsZXMoVmVjdG9yPHN0ZDo6cmVmZXJlbmNlX3dy
YXBwZXI8UmVuZGVyQnVuZGxlPj4mJiByZW5kZXJCdW5kbGVzKQogewogICAgIGF1dG8gYmFja2lu
Z0J1bmRsZXMgPSByZW5kZXJCdW5kbGVzLm1hcChbdGhpc10gKGF1dG8gcmVuZGVyQnVuZGxlKSB7
CkBAIC0xNzUsNyArMTY1LDcgQEAgdm9pZCBSZW5kZXJQYXNzRW5jb2RlckltcGw6OmV4ZWN1dGVC
dW5kbGVzKFZlY3RvcjxzdGQ6OnJlZmVyZW5jZV93cmFwcGVyPFJlbmRlckIKICAgICB3Z3B1UmVu
ZGVyUGFzc0VuY29kZXJFeGVjdXRlQnVuZGxlcyhtX2JhY2tpbmcsIGJhY2tpbmdCdW5kbGVzLnNp
emUoKSwgYmFja2luZ0J1bmRsZXMuZGF0YSgpKTsKIH0KIAotdm9pZCBSZW5kZXJQYXNzRW5jb2Rl
ckltcGw6OmVuZFBhc3MoKQordm9pZCBSZW5kZXJQYXNzRW5jb2RlckltcGw6OmVuZCgpCiB7CiAg
ICAgd2dwdVJlbmRlclBhc3NFbmNvZGVyRW5kUGFzcyhtX2JhY2tpbmcpOwogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9XZWJHUFVSZW5k
ZXJQYXNzRW5jb2RlckltcGwuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2Vi
R1BVL0ltcGwvV2ViR1BVUmVuZGVyUGFzc0VuY29kZXJJbXBsLmgKaW5kZXggM2VlOTA3MTQ1ODI5
N2ViYTllNzA5ODE3YTYyMjhiZjJlMmVlY2YwMi4uMzRjNTA4MmFjNTgxODU2NzBiNjZkNjU4ZDkw
YjI3NzM0OWQ4MzdkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGlj
cy9XZWJHUFUvSW1wbC9XZWJHUFVSZW5kZXJQYXNzRW5jb2RlckltcGwuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVVJlbmRlclBhc3NFbmNv
ZGVySW1wbC5oCkBAIC05NywxMSArOTcsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgYmVnaW5PY2Ns
dXNpb25RdWVyeShTaXplMzIgcXVlcnlJbmRleCkgZmluYWw7CiAgICAgdm9pZCBlbmRPY2NsdXNp
b25RdWVyeSgpIGZpbmFsOwogCi0gICAgdm9pZCBiZWdpblBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5
KGNvbnN0IFF1ZXJ5U2V0JiwgU2l6ZTMyIHF1ZXJ5SW5kZXgpIGZpbmFsOwotICAgIHZvaWQgZW5k
UGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkoKSBmaW5hbDsKLQogICAgIHZvaWQgZXhlY3V0ZUJ1bmRs
ZXMoVmVjdG9yPHN0ZDo6cmVmZXJlbmNlX3dyYXBwZXI8UmVuZGVyQnVuZGxlPj4mJikgZmluYWw7
Ci0gICAgdm9pZCBlbmRQYXNzKCkgZmluYWw7CisgICAgdm9pZCBlbmQoKSBmaW5hbDsKIAogICAg
IHZvaWQgc2V0TGFiZWxJbnRlcm5hbChjb25zdCBTdHJpbmcmKSBmaW5hbDsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVQnVmZmVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVCdWZmZXIuaApp
bmRleCAzZmFlOTRhNGFiYWZjZWEzOTYwM2M0ODZkNmEwYTY3YjhiOGRlOWFlLi5mNzhjMzQ3NDA4
Mzc1MTkxMjg3ODYzZGZjZGM1MWFjMTg3NzM3MTFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVCdWZmZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVCdWZmZXIuaApAQCAtNDgsMTIgKzQ4
LDEyIEBAIHB1YmxpYzoKICAgICAgICAgc2V0TGFiZWxJbnRlcm5hbChtX2xhYmVsKTsKICAgICB9
CiAKLSAgICB2aXJ0dWFsIHZvaWQgbWFwQXN5bmMoTWFwTW9kZUZsYWdzLCBzdGQ6Om9wdGlvbmFs
PFNpemU2ND4gb2Zmc2V0LCBzdGQ6Om9wdGlvbmFsPFNpemU2ND4sIFdURjo6RnVuY3Rpb248dm9p
ZCgpPiYmKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIG1hcEFzeW5jKE1hcE1vZGVGbGFncywgU2l6
ZTY0IG9mZnNldCwgc3RkOjpvcHRpb25hbDxTaXplNjQ+LCBXVEY6OkZ1bmN0aW9uPHZvaWQoKT4m
JikgPSAwOwogICAgIHN0cnVjdCBNYXBwZWRSYW5nZSB7CiAgICAgICAgIHZvaWQqIHNvdXJjZSB7
IG51bGxwdHIgfTsKICAgICAgICAgc2l6ZV90IGJ5dGVMZW5ndGggeyAwIH07CiAgICAgfTsKLSAg
ICB2aXJ0dWFsIE1hcHBlZFJhbmdlIGdldE1hcHBlZFJhbmdlKHN0ZDo6b3B0aW9uYWw8U2l6ZTY0
PiBvZmZzZXQsIHN0ZDo6b3B0aW9uYWw8U2l6ZTY0PikgPSAwOworICAgIHZpcnR1YWwgTWFwcGVk
UmFuZ2UgZ2V0TWFwcGVkUmFuZ2UoU2l6ZTY0IG9mZnNldCwgc3RkOjpvcHRpb25hbDxTaXplNjQ+
KSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHVubWFwKCkgPSAwOwogCiAgICAgdmlydHVhbCB2b2lk
IGRlc3Ryb3koKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBo
aWNzL1dlYkdQVS9XZWJHUFVDYW52YXNDb25maWd1cmF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9Q
QUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVDYW52YXNDb25maWd1cmF0aW9uLmgKaW5kZXgg
YWY5MzdmMDljOWEwMWQ0ZjU4NTMxMjlkZGIxM2RkOTQzMDBiOTNlYy4uZmVkYjI0MTZjYzJhOGUx
MzRlMTlkYzQ4ZmVkYjAyMTkzNGM3NDlmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFM
L3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVQ2FudmFzQ29uZmlndXJhdGlvbi5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVUNhbnZhc0NvbmZpZ3Vy
YXRpb24uaApAQCAtNDIsNiArNDIsNyBAQCBzdHJ1Y3QgQ2FudmFzQ29uZmlndXJhdGlvbiB7CiAg
ICAgRGV2aWNlJiBkZXZpY2U7CiAgICAgVGV4dHVyZUZvcm1hdCBmb3JtYXQgeyBUZXh0dXJlRm9y
bWF0OjpSOHVub3JtIH07CiAgICAgVGV4dHVyZVVzYWdlRmxhZ3MgdXNhZ2UgeyBUZXh0dXJlVXNh
Z2U6OlJlbmRlckF0dGFjaG1lbnQgfTsKKyAgICBWZWN0b3I8VGV4dHVyZUZvcm1hdD4gdmlld0Zv
cm1hdHM7CiAgICAgUHJlZGVmaW5lZENvbG9yU3BhY2UgY29sb3JTcGFjZSB7IFByZWRlZmluZWRD
b2xvclNwYWNlOjpTUkdCIH07CiAgICAgQ2FudmFzQ29tcG9zaXRpbmdBbHBoYU1vZGUgY29tcG9z
aXRpbmdBbHBoYU1vZGUgeyBDYW52YXNDb21wb3NpdGluZ0FscGhhTW9kZTo6T3BhcXVlIH07CiAg
ICAgc3RkOjpvcHRpb25hbDxFeHRlbnQzRD4gc2l6ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVUNvbW1hbmRFbmNvZGVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVDb21tYW5kRW5jb2Rlci5o
CmluZGV4IDg4Mjc5NDk2ODkzYzhlYTg0Y2ZkOWMwYTdjZDZjYWVlMTE2NGNiN2YuLmI0NzFhMzAz
OThjYzg3M2U0ZTY2ZDI5MmM2N2NmYmZmYjczYjY4ODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVUNvbW1hbmRFbmNvZGVyLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVQ29tbWFuZEVuY29k
ZXIuaApAQCAtODIsMTAgKzgyLDEwIEBAIHB1YmxpYzoKICAgICAgICAgY29uc3QgSW1hZ2VDb3B5
VGV4dHVyZSYgZGVzdGluYXRpb24sCiAgICAgICAgIGNvbnN0IEV4dGVudDNEJiBjb3B5U2l6ZSkg
PSAwOwogCi0gICAgdmlydHVhbCB2b2lkIGZpbGxCdWZmZXIoCi0gICAgICAgIGNvbnN0IEJ1ZmZl
ciYgZGVzdGluYXRpb24sCi0gICAgICAgIFNpemU2NCBkZXN0aW5hdGlvbk9mZnNldCwKLSAgICAg
ICAgU2l6ZTY0KSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGNsZWFyQnVmZmVyKAorICAgICAgICBj
b25zdCBCdWZmZXImLAorICAgICAgICBTaXplNjQgb2Zmc2V0ID0gMCwKKyAgICAgICAgc3RkOjpv
cHRpb25hbDxTaXplNjQ+ID0gc3RkOjpudWxsb3B0KSA9IDA7CiAKICAgICB2aXJ0dWFsIHZvaWQg
cHVzaERlYnVnR3JvdXAoU3RyaW5nJiYgZ3JvdXBMYWJlbCkgPSAwOwogICAgIHZpcnR1YWwgdm9p
ZCBwb3BEZWJ1Z0dyb3VwKCkgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3Bh
bC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVQ29tcHV0ZVBhc3NFbmNvZGVyLmggYi9Tb3VyY2UvV2Vi
Q29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVDb21wdXRlUGFzc0VuY29kZXIuaApp
bmRleCBmNDllNzhmYmFkOTE2M2NjZWVkOGY4MDg4NDE1NzhjOWY0ZGE1YjkyLi5mMmY2NGJkMGIx
ZTJkN2Q2ZTA5NmUxMTI3NzAyYjI3ZTNkZGMwNTg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVDb21wdXRlUGFzc0VuY29kZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVDb21wdXRlUGFz
c0VuY29kZXIuaApAQCAtNTMsMTMgKzUzLDEwIEBAIHB1YmxpYzoKICAgICB9CiAKICAgICB2aXJ0
dWFsIHZvaWQgc2V0UGlwZWxpbmUoY29uc3QgQ29tcHV0ZVBpcGVsaW5lJikgPSAwOwotICAgIHZp
cnR1YWwgdm9pZCBkaXNwYXRjaChTaXplMzIgeCwgc3RkOjpvcHRpb25hbDxTaXplMzI+IHksIHN0
ZDo6b3B0aW9uYWw8U2l6ZTMyPikgPSAwOworICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaChTaXpl
MzIgd29ya2dyb3VwQ291bnRYLCBTaXplMzIgd29ya2dyb3VwQ291bnRZID0gMSwgU2l6ZTMyIHdv
cmtncm91cENvdW50WiA9IDEpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hJbmRpcmVj
dChjb25zdCBCdWZmZXImIGluZGlyZWN0QnVmZmVyLCBTaXplNjQgaW5kaXJlY3RPZmZzZXQpID0g
MDsKIAotICAgIHZpcnR1YWwgdm9pZCBiZWdpblBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KGNvbnN0
IFF1ZXJ5U2V0JiwgU2l6ZTMyIHF1ZXJ5SW5kZXgpID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgZW5k
UGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkoKSA9IDA7Ci0KLSAgICB2aXJ0dWFsIHZvaWQgZW5kUGFz
cygpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZW5kKCkgPSAwOwogCiAgICAgdmlydHVhbCB2b2lk
IHNldEJpbmRHcm91cChJbmRleDMyLCBjb25zdCBCaW5kR3JvdXAmLAogICAgICAgICBzdGQ6Om9w
dGlvbmFsPFZlY3RvcjxCdWZmZXJEeW5hbWljT2Zmc2V0Pj4mJikgPSAwOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVRmVhdHVyZU5hbWUu
aCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVUZlYXR1cmVO
YW1lLmgKaW5kZXggNmEzMzU4OWQ4OTQ5ZmE4NDc2YzE0ZGI3ZmQzNTg0OWFmZjczZjM5NS4uZjFi
MzUxYjlhNGE0NzY4N2UwNTg1ZTdlYjU4NmU3MTQ4MTExZmRhNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVRmVhdHVyZU5hbWUuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVGZWF0dXJlTmFt
ZS5oCkBAIC0zNCw3ICszNCw2IEBAIGVudW0gY2xhc3MgRmVhdHVyZU5hbWUgOiB1aW50OF90IHsK
ICAgICBEZXB0aENsaXBDb250cm9sLAogICAgIERlcHRoMjR1bm9ybVN0ZW5jaWw4LAogICAgIERl
cHRoMzJmbG9hdFN0ZW5jaWw4LAotICAgIFBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5LAogICAgIFRl
eHR1cmVDb21wcmVzc2lvbkJjLAogICAgIFRleHR1cmVDb21wcmVzc2lvbkV0YzIsCiAgICAgVGV4
dHVyZUNvbXByZXNzaW9uQXN0YywKQEAgLTUyLDcgKzUxLDYgQEAgdGVtcGxhdGU8PiBzdHJ1Y3Qg
RW51bVRyYWl0czxQQUw6OldlYkdQVTo6RmVhdHVyZU5hbWU+IHsKICAgICAgICAgUEFMOjpXZWJH
UFU6OkZlYXR1cmVOYW1lOjpEZXB0aENsaXBDb250cm9sLAogICAgICAgICBQQUw6OldlYkdQVTo6
RmVhdHVyZU5hbWU6OkRlcHRoMjR1bm9ybVN0ZW5jaWw4LAogICAgICAgICBQQUw6OldlYkdQVTo6
RmVhdHVyZU5hbWU6OkRlcHRoMzJmbG9hdFN0ZW5jaWw4LAotICAgICAgICBQQUw6OldlYkdQVTo6
RmVhdHVyZU5hbWU6OlBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5LAogICAgICAgICBQQUw6OldlYkdQ
VTo6RmVhdHVyZU5hbWU6OlRleHR1cmVDb21wcmVzc2lvbkJjLAogICAgICAgICBQQUw6OldlYkdQ
VTo6RmVhdHVyZU5hbWU6OlRleHR1cmVDb21wcmVzc2lvbkV0YzIsCiAgICAgICAgIFBBTDo6V2Vi
R1BVOjpGZWF0dXJlTmFtZTo6VGV4dHVyZUNvbXByZXNzaW9uQXN0YywKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVUZyYWdtZW50U3RhdGUu
aCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVUZyYWdtZW50
U3RhdGUuaAppbmRleCA4YTcwZjA5MjlhMDdjYzE0ZDYzYjJhNTA1Nzg2OTdlN2MwNmJkYzU1Li5j
MjI5NTRlMDcxNGM2ZDI5YmMwY2Y2YThjM2I1N2U0ZWJhNDA1ZTc3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVGcmFnbWVudFN0YXRlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVRnJhZ21l
bnRTdGF0ZS5oCkBAIC0yNywxMiArMjcsMTMgQEAKIAogI2luY2x1ZGUgIldlYkdQVUNvbG9yVGFy
Z2V0U3RhdGUuaCIKICNpbmNsdWRlICJXZWJHUFVQcm9ncmFtbWFibGVTdGFnZS5oIgorI2luY2x1
ZGUgPG9wdGlvbmFsPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFBBTDo6
V2ViR1BVIHsKIAogc3RydWN0IEZyYWdtZW50U3RhdGUgOiBwdWJsaWMgUHJvZ3JhbW1hYmxlU3Rh
Z2UgewotICAgIFZlY3RvcjxDb2xvclRhcmdldFN0YXRlPiB0YXJnZXRzOworICAgIFZlY3Rvcjxz
dGQ6Om9wdGlvbmFsPENvbG9yVGFyZ2V0U3RhdGU+PiB0YXJnZXRzOwogfTsKIAogfSAvLyBuYW1l
c3BhY2UgUEFMOjpXZWJHUFUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3Jh
cGhpY3MvV2ViR1BVL1dlYkdQVUltYWdlQ29weUV4dGVybmFsSW1hZ2UuaCBiL1NvdXJjZS9XZWJD
b3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVUltYWdlQ29weUV4dGVybmFsSW1hZ2Uu
aAppbmRleCA5NTVmMDk3ZGNmMDBkNDAxZDAwOTYwNzgwZmEzYjI2NjhjZTVmNGE3Li4wNTcxMmQ1
YzIwMDAxZmY2MDAwZThmNjE5ZmJlZjMxNWJlNDdhMjU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVJbWFnZUNvcHlFeHRlcm5hbEltYWdl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVSW1h
Z2VDb3B5RXh0ZXJuYWxJbWFnZS5oCkBAIC0zNCw2ICszNCw3IEBAIG5hbWVzcGFjZSBQQUw6Oldl
YkdQVSB7CiBzdHJ1Y3QgSW1hZ2VDb3B5RXh0ZXJuYWxJbWFnZSB7CiAgICAgLy8gRklYTUU6IEhh
bmRsZSB0aGUgc291cmNlLgogICAgIHN0ZDo6b3B0aW9uYWw8T3JpZ2luMkQ+IG9yaWdpbjsKKyAg
ICBib29sIGZsaXBZIHsgZmFsc2UgfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFBBTDo6V2ViR1BV
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJH
UFVMb2FkT3AuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQ
VUxvYWRPcC5oCmluZGV4IGRjODI2MGQ3MzMwZDY4ZDg0ODVlYTc2OWYyZDBlYzBlYTU5MDE0MWIu
LmIwZjg4YTkyYTY1NWZmZmRkMjJlZjQ2MzA1NzU3YzYxNmZiYmFkOWUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVUxvYWRPcC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVUxvYWRPcC5oCkBA
IC0zMiw2ICszMiw3IEBAIG5hbWVzcGFjZSBQQUw6OldlYkdQVSB7CiAKIGVudW0gY2xhc3MgTG9h
ZE9wIDogdWludDhfdCB7CiAgICAgTG9hZCwKKyAgICBDbGVhciwKIH07CiAKIH0gLy8gbmFtZXNw
YWNlIFBBTDo6V2ViR1BVCkBAIC00MSw3ICs0Miw4IEBAIG5hbWVzcGFjZSBXVEYgewogdGVtcGxh
dGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxQQUw6OldlYkdQVTo6TG9hZE9wPiB7CiAgICAgdXNpbmcg
dmFsdWVzID0gRW51bVZhbHVlczwKICAgICAgICAgUEFMOjpXZWJHUFU6OkxvYWRPcCwKLSAgICAg
ICAgUEFMOjpXZWJHUFU6OkxvYWRPcDo6TG9hZAorICAgICAgICBQQUw6OldlYkdQVTo6TG9hZE9w
OjpMb2FkLAorICAgICAgICBQQUw6OldlYkdQVTo6TG9hZE9wOjpDbGVhcgogICAgID47CiB9Owog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJH
UFVQaXBlbGluZVN0YXRpc3RpY05hbWUuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhp
Y3MvV2ViR1BVL1dlYkdQVVBpcGVsaW5lU3RhdGlzdGljTmFtZS5oCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCBiZjkzZjY3OTAwNGFkYzYwMzA3NTllNWVjMzkzNzhhZGQ1ZDk0YzZiLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJD
b3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVBpcGVsaW5lU3RhdGlzdGljTmFtZS5o
CisrKyAvZGV2L251bGwKQEAgLTEsNTYgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAy
MSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEgb25j
ZQotCi0jaW5jbHVkZSA8Y3N0ZGludD4KLSNpbmNsdWRlIDx3dGYvRW51bVRyYWl0cy5oPgotCi1u
YW1lc3BhY2UgUEFMOjpXZWJHUFUgewotCi1lbnVtIGNsYXNzIFBpcGVsaW5lU3RhdGlzdGljTmFt
ZSA6IHVpbnQ4X3QgewotICAgIFZlcnRleFNoYWRlckludm9jYXRpb25zLAotICAgIENsaXBwZXJJ
bnZvY2F0aW9ucywKLSAgICBDbGlwcGVyUHJpbWl0aXZlc091dCwKLSAgICBGcmFnbWVudFNoYWRl
ckludm9jYXRpb25zLAotICAgIENvbXB1dGVTaGFkZXJJbnZvY2F0aW9ucywKLX07Ci0KLX0gLy8g
bmFtZXNwYWNlIFBBTDo6V2ViR1BVCi0KLW5hbWVzcGFjZSBXVEYgewotCi10ZW1wbGF0ZTw+IHN0
cnVjdCBFbnVtVHJhaXRzPFBBTDo6V2ViR1BVOjpQaXBlbGluZVN0YXRpc3RpY05hbWU+IHsKLSAg
ICB1c2luZyB2YWx1ZXMgPSBFbnVtVmFsdWVzPAotICAgICAgICBQQUw6OldlYkdQVTo6UGlwZWxp
bmVTdGF0aXN0aWNOYW1lLAotICAgICAgICBQQUw6OldlYkdQVTo6UGlwZWxpbmVTdGF0aXN0aWNO
YW1lOjpWZXJ0ZXhTaGFkZXJJbnZvY2F0aW9ucywKLSAgICAgICAgUEFMOjpXZWJHUFU6OlBpcGVs
aW5lU3RhdGlzdGljTmFtZTo6Q2xpcHBlckludm9jYXRpb25zLAotICAgICAgICBQQUw6OldlYkdQ
VTo6UGlwZWxpbmVTdGF0aXN0aWNOYW1lOjpDbGlwcGVyUHJpbWl0aXZlc091dCwKLSAgICAgICAg
UEFMOjpXZWJHUFU6OlBpcGVsaW5lU3RhdGlzdGljTmFtZTo6RnJhZ21lbnRTaGFkZXJJbnZvY2F0
aW9ucywKLSAgICAgICAgUEFMOjpXZWJHUFU6OlBpcGVsaW5lU3RhdGlzdGljTmFtZTo6Q29tcHV0
ZVNoYWRlckludm9jYXRpb25zCi0gICAgPjsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdURgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVUXVl
cnlTZXREZXNjcmlwdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQ
VS9XZWJHUFVRdWVyeVNldERlc2NyaXB0b3IuaAppbmRleCA4NzkxMDkwNzI3NTY0NjJiYWVjMTFm
NDc4ZGQ0NDQ1NmYwOTU1ZmQ3Li4xYTU1Y2E3N2JiZGZjMGQxZmJlNmI5N2I1OTMyMjVjMjE0OTYx
MDhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9X
ZWJHUFVRdWVyeVNldERlc2NyaXB0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dy
YXBoaWNzL1dlYkdQVS9XZWJHUFVRdWVyeVNldERlc2NyaXB0b3IuaApAQCAtMjcsNyArMjcsNiBA
QAogCiAjaW5jbHVkZSAiV2ViR1BVSW50ZWdyYWxUeXBlcy5oIgogI2luY2x1ZGUgIldlYkdQVU9i
amVjdERlc2NyaXB0b3JCYXNlLmgiCi0jaW5jbHVkZSAiV2ViR1BVUGlwZWxpbmVTdGF0aXN0aWNO
YW1lLmgiCiAjaW5jbHVkZSAiV2ViR1BVUXVlcnlUeXBlLmgiCiAjaW5jbHVkZSA8d3RmL1ZlY3Rv
ci5oPgogCkBAIC0zNiw3ICszNSw2IEBAIG5hbWVzcGFjZSBQQUw6OldlYkdQVSB7CiBzdHJ1Y3Qg
UXVlcnlTZXREZXNjcmlwdG9yIDogcHVibGljIE9iamVjdERlc2NyaXB0b3JCYXNlIHsKICAgICBR
dWVyeVR5cGUgdHlwZSB7IFF1ZXJ5VHlwZTo6T2NjbHVzaW9uIH07CiAgICAgU2l6ZTMyIGNvdW50
IHsgMCB9OwotICAgIFZlY3RvcjxQaXBlbGluZVN0YXRpc3RpY05hbWU+IHBpcGVsaW5lU3RhdGlz
dGljczsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFBBTDo6V2ViR1BVCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVRdWVyeVR5cGUuaCBiL1Nv
dXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVF1ZXJ5VHlwZS5oCmlu
ZGV4IGNjMzBkNDg4M2ZmMmRlMDZlZDlkOGJjOGM5OTJjNWRiODFjNjNkZTQuLmIyYWE1YWY1YWMx
MjIxOTA2NDY1MjMzYzMwMmFmODg4ZTJmM2NiZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVF1ZXJ5VHlwZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVF1ZXJ5VHlwZS5oCkBAIC0zMiw3
ICszMiw2IEBAIG5hbWVzcGFjZSBQQUw6OldlYkdQVSB7CiAKIGVudW0gY2xhc3MgUXVlcnlUeXBl
IDogdWludDhfdCB7CiAgICAgT2NjbHVzaW9uLAotICAgIFBpcGVsaW5lU3RhdGlzdGljcywKICAg
ICBUaW1lc3RhbXAsCiB9OwogCkBAIC00NCw3ICs0Myw2IEBAIHRlbXBsYXRlPD4gc3RydWN0IEVu
dW1UcmFpdHM8UEFMOjpXZWJHUFU6OlF1ZXJ5VHlwZT4gewogICAgIHVzaW5nIHZhbHVlcyA9IEVu
dW1WYWx1ZXM8CiAgICAgICAgIFBBTDo6V2ViR1BVOjpRdWVyeVR5cGUsCiAgICAgICAgIFBBTDo6
V2ViR1BVOjpRdWVyeVR5cGU6Ok9jY2x1c2lvbiwKLSAgICAgICAgUEFMOjpXZWJHUFU6OlF1ZXJ5
VHlwZTo6UGlwZWxpbmVTdGF0aXN0aWNzLAogICAgICAgICBQQUw6OldlYkdQVTo6UXVlcnlUeXBl
OjpUaW1lc3RhbXAKICAgICA+OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9w
YWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVF1ZXVlLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFs
L2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVRdWV1ZS5oCmluZGV4IDZmOGY4ZjgxMGI4ZDAxYTEyOGM2
YmRlZmNkZTMyY2Y1YTQwOTIzOGEuLjY0ODY2ZThlNmE0Nzk2ZTkxMmI5ODc1ZDNkNmJiNWVmNzEx
NjRhMTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BV
L1dlYkdQVVF1ZXVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJH
UFUvV2ViR1BVUXVldWUuaApAQCAtNjYsOCArNjYsOCBAQCBwdWJsaWM6CiAgICAgICAgIFNpemU2
NCBidWZmZXJPZmZzZXQsCiAgICAgICAgIGNvbnN0IHZvaWQqIHNvdXJjZSwKICAgICAgICAgc2l6
ZV90IGJ5dGVMZW5ndGgsCi0gICAgICAgIFNpemU2NCBkYXRhT2Zmc2V0LAotICAgICAgICBzdGQ6
Om9wdGlvbmFsPFNpemU2ND4pID0gMDsKKyAgICAgICAgU2l6ZTY0IGRhdGFPZmZzZXQgPSAwLAor
ICAgICAgICBzdGQ6Om9wdGlvbmFsPFNpemU2ND4gPSBzdGQ6Om51bGxvcHQpID0gMDsKIAogICAg
IHZpcnR1YWwgdm9pZCB3cml0ZVRleHR1cmUoCiAgICAgICAgIGNvbnN0IEltYWdlQ29weVRleHR1
cmUmIGRlc3RpbmF0aW9uLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFw
aGljcy9XZWJHUFUvV2ViR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudC5oIGIvU291cmNlL1dl
YkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNo
bWVudC5oCmluZGV4IDI4MzgxMzU2MDdmY2FiYTUyZTE5MWMwYjI1NGQzNjQ4YmIzMzk1MzYuLmQ3
OTgyMTNhZDQxYjA4MGEzNDYyNWM5ODBlYWYxZDBkNDJlY2ZmOTggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVJlbmRlclBhc3NDb2xvckF0
dGFjaG1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9X
ZWJHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50LmgKQEAgLTQwLDcgKzQwLDggQEAgc3RydWN0
IFJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQgewogICAgIFRleHR1cmVWaWV3JiB2aWV3OwogICAg
IFRleHR1cmVWaWV3KiByZXNvbHZlVGFyZ2V0IHsgbnVsbHB0ciB9OwogCi0gICAgc3RkOjp2YXJp
YW50PExvYWRPcCwgVmVjdG9yPGRvdWJsZT4sIENvbG9yRGljdD4gbG9hZFZhbHVlOworICAgIHN0
ZDo6b3B0aW9uYWw8Q29sb3I+IGNsZWFyVmFsdWU7CisgICAgTG9hZE9wIGxvYWRPcCB7IExvYWRP
cDo6TG9hZCB9OwogICAgIFN0b3JlT3Agc3RvcmVPcCB7IFN0b3JlT3A6OlN0b3JlIH07CiB9Owog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJH
UFVSZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNobWVudC5oIGIvU291cmNlL1dlYkNvcmUvUEFM
L3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVUmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1l
bnQuaAppbmRleCBiNDMwZTQ1MjYxMGQ2ZTE5NmQ1MDIyMjkxNDg2YTE1YzVhYzdkNGNmLi44M2Iy
NzA2ZDQxZTI3YzI4OWM0NGNiZmViMjU4ZDcwYWQ0YjNjZDFmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVSZW5kZXJQYXNzRGVwdGhTdGVu
Y2lsQXR0YWNobWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2Vi
R1BVL1dlYkdQVVJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50LmgKQEAgLTM4LDEyICsz
OCwxNCBAQCBjbGFzcyBUZXh0dXJlVmlldzsKIHN0cnVjdCBSZW5kZXJQYXNzRGVwdGhTdGVuY2ls
QXR0YWNobWVudCB7CiAgICAgVGV4dHVyZVZpZXcmIHZpZXc7CiAKLSAgICBzdGQ6OnZhcmlhbnQ8
TG9hZE9wLCBmbG9hdD4gZGVwdGhMb2FkVmFsdWU7Ci0gICAgU3RvcmVPcCBkZXB0aFN0b3JlT3Ag
eyBTdG9yZU9wOjpTdG9yZSB9OworICAgIGZsb2F0IGRlcHRoQ2xlYXJWYWx1ZSB7IDAgfTsKKyAg
ICBzdGQ6Om9wdGlvbmFsPExvYWRPcD4gZGVwdGhMb2FkT3A7CisgICAgc3RkOjpvcHRpb25hbDxT
dG9yZU9wPiBkZXB0aFN0b3JlT3A7CiAgICAgYm9vbCBkZXB0aFJlYWRPbmx5IHsgZmFsc2UgfTsK
IAotICAgIHN0ZDo6dmFyaWFudDxMb2FkT3AsIFN0ZW5jaWxWYWx1ZT4gc3RlbmNpbExvYWRWYWx1
ZTsKLSAgICBTdG9yZU9wIHN0ZW5jaWxTdG9yZU9wIHsgU3RvcmVPcDo6U3RvcmUgfTsKKyAgICBT
dGVuY2lsVmFsdWUgc3RlbmNpbENsZWFyVmFsdWUgeyAwIH07CisgICAgc3RkOjpvcHRpb25hbDxM
b2FkT3A+IHN0ZW5jaWxMb2FkT3A7CisgICAgc3RkOjpvcHRpb25hbDxTdG9yZU9wPiBzdGVuY2ls
U3RvcmVPcDsKICAgICBib29sIHN0ZW5jaWxSZWFkT25seSB7IGZhbHNlIH07CiB9OwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVSZW5k
ZXJQYXNzRGVzY3JpcHRvci5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJH
UFUvV2ViR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IuaAppbmRleCAwZmFmZWI0NDY1NTg2M2Y4ZTcw
MzM3NGFlY2UwMWZiYmZkYTA2MWNlLi42NjA5MGNkYzNjZGRkM2U4NzUwOGQyZTgzYTM4ODIxMDg1
YTI3Nzk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQ
VS9XZWJHUFVSZW5kZXJQYXNzRGVzY3JpcHRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9w
YWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVJlbmRlclBhc3NEZXNjcmlwdG9yLmgKQEAgLTM2LDcg
KzM2LDcgQEAKIG5hbWVzcGFjZSBQQUw6OldlYkdQVSB7CiAKIHN0cnVjdCBSZW5kZXJQYXNzRGVz
Y3JpcHRvciA6IHB1YmxpYyBPYmplY3REZXNjcmlwdG9yQmFzZSB7Ci0gICAgVmVjdG9yPFJlbmRl
clBhc3NDb2xvckF0dGFjaG1lbnQ+IGNvbG9yQXR0YWNobWVudHM7CisgICAgVmVjdG9yPHN0ZDo6
b3B0aW9uYWw8UmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudD4+IGNvbG9yQXR0YWNobWVudHM7CiAg
ICAgc3RkOjpvcHRpb25hbDxSZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNobWVudD4gZGVwdGhT
dGVuY2lsQXR0YWNobWVudDsKICAgICBRdWVyeVNldCogb2NjbHVzaW9uUXVlcnlTZXQgeyBudWxs
cHRyIH07CiAgICAgUmVuZGVyUGFzc1RpbWVzdGFtcFdyaXRlcyB0aW1lc3RhbXBXcml0ZXM7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVS
ZW5kZXJQYXNzRW5jb2Rlci5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJH
UFUvV2ViR1BVUmVuZGVyUGFzc0VuY29kZXIuaAppbmRleCA3MzUyZWExZGQ4Yjk1M2IyNWY1ODI0
NjZlYWE3Nzk2ZWU1ZGYyMmY3Li41NTg1ZjRhZjJhOTZjMWZjZDVhYzgwNDIxNDI5NDY1MmJhMTlm
MjAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9X
ZWJHUFVSZW5kZXJQYXNzRW5jb2Rlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3Jh
cGhpY3MvV2ViR1BVL1dlYkdQVVJlbmRlclBhc3NFbmNvZGVyLmgKQEAgLTk3LDExICs5Nyw4IEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgYmVnaW5PY2NsdXNpb25RdWVyeShTaXplMzIgcXVl
cnlJbmRleCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBlbmRPY2NsdXNpb25RdWVyeSgpID0gMDsK
IAotICAgIHZpcnR1YWwgdm9pZCBiZWdpblBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KGNvbnN0IFF1
ZXJ5U2V0JiwgU2l6ZTMyIHF1ZXJ5SW5kZXgpID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgZW5kUGlw
ZWxpbmVTdGF0aXN0aWNzUXVlcnkoKSA9IDA7Ci0KICAgICB2aXJ0dWFsIHZvaWQgZXhlY3V0ZUJ1
bmRsZXMoVmVjdG9yPHN0ZDo6cmVmZXJlbmNlX3dyYXBwZXI8UmVuZGVyQnVuZGxlPj4mJikgPSAw
OwotICAgIHZpcnR1YWwgdm9pZCBlbmRQYXNzKCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBlbmQo
KSA9IDA7CiAKIHByb3RlY3RlZDoKICAgICBSZW5kZXJQYXNzRW5jb2RlcigpID0gZGVmYXVsdDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQ
VVJlbmRlclBhc3NMYXlvdXQuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2Vi
R1BVL1dlYkdQVVJlbmRlclBhc3NMYXlvdXQuaAppbmRleCBhZjkzZjFmMWIyZDcwMTFkNWUzYjg1
YzdkNGVjMDkwMTQ0YjAyMDQ1Li44MGQ4MmRhMzU3ZTQ5MjQ0MDEzMWU0ZjM2YjIzZGJjNTRlOTRm
NTU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9X
ZWJHUFVSZW5kZXJQYXNzTGF5b3V0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFw
aGljcy9XZWJHUFUvV2ViR1BVUmVuZGVyUGFzc0xheW91dC5oCkBAIC0zNCw3ICszNCw3IEBACiBu
YW1lc3BhY2UgUEFMOjpXZWJHUFUgewogCiBzdHJ1Y3QgUmVuZGVyUGFzc0xheW91dCA6IHB1Ymxp
YyBPYmplY3REZXNjcmlwdG9yQmFzZSB7Ci0gICAgVmVjdG9yPFRleHR1cmVGb3JtYXQ+IGNvbG9y
Rm9ybWF0czsKKyAgICBWZWN0b3I8c3RkOjpvcHRpb25hbDxUZXh0dXJlRm9ybWF0Pj4gY29sb3JG
b3JtYXRzOwogICAgIHN0ZDo6b3B0aW9uYWw8VGV4dHVyZUZvcm1hdD4gZGVwdGhTdGVuY2lsRm9y
bWF0OwogICAgIFNpemUzMiBzYW1wbGVDb3VudCB7IDEgfTsKIH07CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVTaGFkZXJNb2R1bGVDb21w
aWxhdGlvbkhpbnQuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dl
YkdQVVNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ3MjIwZGRmMDll
YWEwNDQ5NTQ1YTBjZGI0ZTZjYjAxYjUxMzM1NzMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVTaGFkZXJNb2R1bGVDb21waWxh
dGlvbkhpbnQuaApAQCAtMCwwICsxLDM2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisK
K25hbWVzcGFjZSBQQUw6OldlYkdQVSB7CisKK2NsYXNzIFdlYkdQVVBpcGVsaW5lTGF5b3V0Owor
CitzdHJ1Y3QgU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50IHsKKyAgICBQaXBlbGluZUxheW91
dCYgcGlwZWxpbmVMYXlvdXQ7Cit9OworCit9IC8vIG5hbWVzcGFjZSBQQUw6OldlYkdQVQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVU2hh
ZGVyTW9kdWxlRGVzY3JpcHRvci5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9X
ZWJHUFUvV2ViR1BVU2hhZGVyTW9kdWxlRGVzY3JpcHRvci5oCmluZGV4IGM5OWU4ZWUyZmY0ZjFm
YTg1ZTM1MTYyNjU3ZDlhM2Q5ZjZjNzU0NmYuLjMxZTI3YTY5ZGRkZmQ0MzFmMjc2NGNiYWY0NWFi
ZDRiZTVmN2ZjNTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3Mv
V2ViR1BVL1dlYkdQVVNoYWRlck1vZHVsZURlc2NyaXB0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVTaGFkZXJNb2R1bGVEZXNjcmlwdG9yLmgK
QEAgLTI2LDYgKzI2LDcgQEAKICNwcmFnbWEgb25jZQogCiAjaW5jbHVkZSAiV2ViR1BVT2JqZWN0
RGVzY3JpcHRvckJhc2UuaCIKKyNpbmNsdWRlICJXZWJHUFVTaGFkZXJNb2R1bGVDb21waWxhdGlv
bkhpbnQuaCIKICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFBB
TDo6V2ViR1BVIHsKQEAgLTMzLDYgKzM0LDcgQEAgbmFtZXNwYWNlIFBBTDo6V2ViR1BVIHsKIHN0
cnVjdCBTaGFkZXJNb2R1bGVEZXNjcmlwdG9yIDogcHVibGljIE9iamVjdERlc2NyaXB0b3JCYXNl
IHsKICAgICBTdHJpbmcgY29kZTsKICAgICAvLyBKU0M6OlN0cm9uZzxKU0M6OkpTT2JqZWN0PiBz
b3VyY2VNYXA7CisgICAgVmVjdG9yPEtleVZhbHVlUGFpcjxTdHJpbmcsIFNoYWRlck1vZHVsZUNv
bXBpbGF0aW9uSGludD4+IGhpbnRzOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgUEFMOjpXZWJHUFUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQ
VVRleHR1cmVEZXNjcmlwdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dl
YkdQVS9XZWJHUFVUZXh0dXJlRGVzY3JpcHRvci5oCmluZGV4IDU4YTBmY2E3ODhkMjQyNTM3M2Q5
N2ViZThiMTMxYzlmZGVkNmNkNWMuLjc3MDNiMjA0M2Q5MWI3NWYxNzE4YjJmZTRkMmVmYTIyODQw
NDc0MjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BV
L1dlYkdQVVRleHR1cmVEZXNjcmlwdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9n
cmFwaGljcy9XZWJHUFUvV2ViR1BVVGV4dHVyZURlc2NyaXB0b3IuaApAQCAtNDEsNiArNDEsNyBA
QCBzdHJ1Y3QgVGV4dHVyZURlc2NyaXB0b3IgOiBwdWJsaWMgT2JqZWN0RGVzY3JpcHRvckJhc2Ug
ewogICAgIFRleHR1cmVEaW1lbnNpb24gZGltZW5zaW9uIHsgVGV4dHVyZURpbWVuc2lvbjo6XzJk
IH07CiAgICAgVGV4dHVyZUZvcm1hdCBmb3JtYXQgeyBUZXh0dXJlRm9ybWF0OjpSOHVub3JtIH07
CiAgICAgVGV4dHVyZVVzYWdlRmxhZ3MgdXNhZ2U7CisgICAgVmVjdG9yPFRleHR1cmVGb3JtYXQ+
IHZpZXdGb3JtYXRzOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgUEFMOjpXZWJHUFUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVRleHR1cmVG
b3JtYXQuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVRl
eHR1cmVGb3JtYXQuaAppbmRleCA2MjU5NDYwMDVmMGU4NjNhZjkwMzI4MTY1YjM4ODkxMmRkNzUw
MjQ0Li42M2I0Mjk4ZWIzOTNmZmQwMWUyOWRmOWVhYjY5Zjg5ZjQwNjgzM2Q3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVUZXh0dXJlRm9y
bWF0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BV
VGV4dHVyZUZvcm1hdC5oCkBAIC03OCwxMyArNzgsMTkgQEAgZW51bSBjbGFzcyBUZXh0dXJlRm9y
bWF0IDogdWludDhfdCB7CiAgICAgUmdiYTMyc2ludCwKICAgICBSZ2JhMzJmbG9hdCwKIAotICAg
IC8vIERlcHRoIGFuZCBzdGVuY2lsIGZvcm1hdHMKKyAgICAvLyBEZXB0aC9zdGVuY2lsIGZvcm1h
dHMKICAgICBTdGVuY2lsOCwKICAgICBEZXB0aDE2dW5vcm0sCiAgICAgRGVwdGgyNHBsdXMsCiAg
ICAgRGVwdGgyNHBsdXNTdGVuY2lsOCwKICAgICBEZXB0aDMyZmxvYXQsCiAKKyAgICAvLyBkZXB0
aDI0dW5vcm0tc3RlbmNpbDggZmVhdHVyZQorICAgIERlcHRoMjR1bm9ybVN0ZW5jaWw4LAorCisg
ICAgLy8gZGVwdGgzMmZsb2F0LXN0ZW5jaWw4IGZlYXR1cmUKKyAgICBEZXB0aDMyZmxvYXRTdGVu
Y2lsOCwKKwogICAgIC8vIEJDIGNvbXByZXNzZWQgZm9ybWF0cyB1c2FibGUgaWYgdGV4dHVyZS1j
b21wcmVzc2lvbi1iYyBpcyBib3RoCiAgICAgLy8gc3VwcG9ydGVkIGJ5IHRoZSBkZXZpY2UvdXNl
ciBhZ2VudCBhbmQgZW5hYmxlZCBpbiByZXF1ZXN0RGV2aWNlLgogICAgIEJjMVJnYmFVbm9ybSwK
QEAgLTE0NSwxMiArMTUxLDYgQEAgZW51bSBjbGFzcyBUZXh0dXJlRm9ybWF0IDogdWludDhfdCB7
CiAgICAgQXN0YzEyeDEwVW5vcm1TUkdCLAogICAgIEFzdGMxMngxMlVub3JtLAogICAgIEFzdGMx
MngxMlVub3JtU1JHQiwKLQotICAgIC8vIGRlcHRoMjR1bm9ybS1zdGVuY2lsOCBmZWF0dXJlCi0g
ICAgRGVwdGgyNHVub3JtU3RlbmNpbDgsCi0KLSAgICAvLyBkZXB0aDMyZmxvYXQtc3RlbmNpbDgg
ZmVhdHVyZQotICAgIERlcHRoMzJmbG9hdFN0ZW5jaWw4LAogfTsKIAogfSAvLyBuYW1lc3BhY2Ug
UEFMOjpXZWJHUFUKQEAgLTIwMSw2ICsyMDEsOCBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBFbnVtVHJh
aXRzPFBBTDo6V2ViR1BVOjpUZXh0dXJlRm9ybWF0PiB7CiAgICAgICAgIFBBTDo6V2ViR1BVOjpU
ZXh0dXJlRm9ybWF0OjpEZXB0aDI0cGx1cywKICAgICAgICAgUEFMOjpXZWJHUFU6OlRleHR1cmVG
b3JtYXQ6OkRlcHRoMjRwbHVzU3RlbmNpbDgsCiAgICAgICAgIFBBTDo6V2ViR1BVOjpUZXh0dXJl
Rm9ybWF0OjpEZXB0aDMyZmxvYXQsCisgICAgICAgIFBBTDo6V2ViR1BVOjpUZXh0dXJlRm9ybWF0
OjpEZXB0aDI0dW5vcm1TdGVuY2lsOCwKKyAgICAgICAgUEFMOjpXZWJHUFU6OlRleHR1cmVGb3Jt
YXQ6OkRlcHRoMzJmbG9hdFN0ZW5jaWw4LAogICAgICAgICBQQUw6OldlYkdQVTo6VGV4dHVyZUZv
cm1hdDo6QmMxUmdiYVVub3JtLAogICAgICAgICBQQUw6OldlYkdQVTo6VGV4dHVyZUZvcm1hdDo6
QmMxUmdiYVVub3JtU1JHQiwKICAgICAgICAgUEFMOjpXZWJHUFU6OlRleHR1cmVGb3JtYXQ6OkJj
MlJnYmFVbm9ybSwKQEAgLTI1Miw5ICsyNTQsNyBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBFbnVtVHJh
aXRzPFBBTDo6V2ViR1BVOjpUZXh0dXJlRm9ybWF0PiB7CiAgICAgICAgIFBBTDo6V2ViR1BVOjpU
ZXh0dXJlRm9ybWF0OjpBc3RjMTJ4MTBVbm9ybSwKICAgICAgICAgUEFMOjpXZWJHUFU6OlRleHR1
cmVGb3JtYXQ6OkFzdGMxMngxMFVub3JtU1JHQiwKICAgICAgICAgUEFMOjpXZWJHUFU6OlRleHR1
cmVGb3JtYXQ6OkFzdGMxMngxMlVub3JtLAotICAgICAgICBQQUw6OldlYkdQVTo6VGV4dHVyZUZv
cm1hdDo6QXN0YzEyeDEyVW5vcm1TUkdCLAotICAgICAgICBQQUw6OldlYkdQVTo6VGV4dHVyZUZv
cm1hdDo6RGVwdGgyNHVub3JtU3RlbmNpbDgsCi0gICAgICAgIFBBTDo6V2ViR1BVOjpUZXh0dXJl
Rm9ybWF0OjpEZXB0aDMyZmxvYXRTdGVuY2lsOAorICAgICAgICBQQUw6OldlYkdQVTo6VGV4dHVy
ZUZvcm1hdDo6QXN0YzEyeDEyVW5vcm1TUkdCCiAgICAgPjsKIH07CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKaW5k
ZXggNjE0MmQyNDNkYjI4ODBjNTFlZmVmNThhMDRjOWIwYmE3NTNmNjA0MS4uMWFlMmM1NzhmOTEw
NTExZmNhMGYxNmY1ZDgzOTk4ZjNkYjQ3NDlkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
U291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTMxODEsNiAr
MzE4MSw3IEBAIEpTR1BVQ29tbWFuZEJ1ZmZlci5jcHAKIEpTR1BVQ29tbWFuZEJ1ZmZlckRlc2Ny
aXB0b3IuY3BwCiBKU0dQVUNvbW1hbmRFbmNvZGVyLmNwcAogSlNHUFVDb21tYW5kRW5jb2RlckRl
c2NyaXB0b3IuY3BwCitKU0dQVUNvbW1hbmRzTWl4aW4uY3BwCiBKU0dQVUNvbXBhcmVGdW5jdGlv
bi5jcHAKIEpTR1BVQ29tcGlsYXRpb25JbmZvLmNwcAogSlNHUFVDb21waWxhdGlvbk1lc3NhZ2Uu
Y3BwCkBAIC0zMTkyLDYgKzMxOTMsNyBAQCBKU0dQVUNvbXB1dGVQYXNzVGltZXN0YW1wV3JpdGUu
Y3BwCiBKU0dQVUNvbXB1dGVQaXBlbGluZS5jcHAKIEpTR1BVQ29tcHV0ZVBpcGVsaW5lRGVzY3Jp
cHRvci5jcHAKIEpTR1BVQ3VsbE1vZGUuY3BwCitKU0dQVURlYnVnQ29tbWFuZHNNaXhpbi5jcHAK
IEpTR1BVRGVwdGhTdGVuY2lsU3RhdGUuY3BwCiBKU0dQVURldmljZS5jcHAKIEpTR1BVRGV2aWNl
RGVzY3JpcHRvci5jcHAKQEAgLTMyMjcsNyArMzIyOSw2IEBAIEpTR1BVUGlwZWxpbmVCYXNlLmNw
cAogSlNHUFVQaXBlbGluZURlc2NyaXB0b3JCYXNlLmNwcAogSlNHUFVQaXBlbGluZUxheW91dC5j
cHAKIEpTR1BVUGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yLmNwcAotSlNHUFVQaXBlbGluZVN0YXRp
c3RpY05hbWUuY3BwCiBKU0dQVVBvd2VyUHJlZmVyZW5jZS5jcHAKIEpTR1BVUHJlZGVmaW5lZENv
bG9yU3BhY2UuY3BwCiBKU0dQVVByaW1pdGl2ZVN0YXRlLmNwcApAQCAtMzI1OCw2ICszMjU5LDcg
QEAgSlNHUFVTYW1wbGVyQmluZGluZ0xheW91dC5jcHAKIEpTR1BVU2FtcGxlckJpbmRpbmdUeXBl
LmNwcAogSlNHUFVTYW1wbGVyRGVzY3JpcHRvci5jcHAKIEpTR1BVU2hhZGVyTW9kdWxlLmNwcAor
SlNHUFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQuY3BwCiBKU0dQVVNoYWRlck1vZHVsZURl
c2NyaXB0b3IuY3BwCiBKU0dQVVNoYWRlclN0YWdlLmNwcAogSlNHUFVTdGVuY2lsRmFjZVN0YXRl
LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCmluZGV4IGE4ZDczNjg1ZTBiYjRmNGE3NTRlZGU0OTE3NmEzMmI4MGUyZDJkYmIuLmI0YzYx
NDY4MjVlOGI1MzMzMzcxYTMwMzkzMGQ0MGRhM2VmZDUyOWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTczMTYsNyArNzMxNiw2
IEBACiAJCTFDOTA3ODA4Mjc1MUZENTMwMDRFRjE2NSAvKiBKU0dQVUV4dGVudDNERGljdC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBKU0dQVUV4dGVudDNERGljdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkxQzkwNzgwOTI3NTFGRDUzMDA0RUYxNjUgLyogSlNHUFVRdWVyeVNldC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBKU0dQVVF1ZXJ5U2V0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTFDOTA3ODBBMjc1MUZENTQwMDRFRjE2NSAvKiBKU0dQVUltYWdlRGF0YUxheW91dC5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBKU0dQVUltYWdlRGF0YUxheW91dC5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07Ci0JCTFDOTA3ODBCMjc1MUZENTQwMDRFRjE2NSAvKiBKU0dQVVBpcGVsaW5l
U3RhdGlzdGljTmFtZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0dQVVBpcGVsaW5lU3RhdGlzdGljTmFt
ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQzkwNzgwQzI3NTFGRDU0MDA0RUYx
NjUgLyogSlNHUFVCdWZmZXJCaW5kaW5nVHlwZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0dQ
VUJ1ZmZlckJpbmRpbmdUeXBlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUM5
MDc4MEQyNzUxRkQ1NTAwNEVGMTY1IC8qIEpTR1BVRGV2aWNlLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpT
R1BVRGV2aWNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDOTA3ODBFMjc1MUZE
NTUwMDRFRjE2NSAvKiBKU0dQVVNhbXBsZXJCaW5kaW5nVHlwZS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBKU0dQVVNhbXBsZXJCaW5kaW5nVHlwZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC03NDQ2LDcgKzc0NDUsNiBAQAogCQkxQzkwNzg4QTI3NTFGRDg2MDA0RUYxNjUgLyog
SlNHUFVTYW1wbGVyRGVzY3JpcHRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0dQVVNhbXBsZXJEZXNj
cmlwdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDOTA3ODhCMjc1MUZEODcw
MDRFRjE2NSAvKiBKU0dQVUNvbXBhcmVGdW5jdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0dQVUNv
bXBhcmVGdW5jdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQzkwNzg4QzI3
NTFGRDg3MDA0RUYxNjUgLyogSlNHUFVTdXBwb3J0ZWRGZWF0dXJlcy5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBKU0dQVVN1cHBvcnRlZEZlYXR1cmVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0J
CTFDOTA3ODhEMjc1MUZEODcwMDRFRjE2NSAvKiBKU0dQVVBpcGVsaW5lU3RhdGlzdGljTmFtZS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0dQVVBpcGVsaW5lU3RhdGlzdGljTmFtZS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDOTA3ODhFMjc1MUZEODgwMDRFRjE2NSAvKiBK
U0dQVURldmljZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0dQVURldmljZS5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDOTA3ODhGMjc1MUZEODgwMDRFRjE2NSAvKiBKU0dQ
VUJ1ZmZlckRlc2NyaXB0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNHUFVCdWZmZXJEZXNjcmlwdG9y
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDOTA3ODkwMjc1MUZEODkwMDRFRjE2
NSAvKiBKU0dQVU9yaWdpbjNERGljdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0dQVU9yaWdp
bjNERGljdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC03NjY0LDcgKzc2NjIs
NiBAQAogCQkxQ0E0RkNFQjI3MzUxRkIxMDAyN0ZENUEgLyogR1BVQ29tbWFuZEVuY29kZXIuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gR1BVQ29tbWFuZEVuY29kZXIuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQkxQ0E0RkNFQzI3MzUxRkIyMDAyN0ZENUEgLyogR1BVUXVlcnlTZXRE
ZXNjcmlwdG9yLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQ7IHBhdGggPSBHUFVRdWVyeVNldERlc2NyaXB0b3IuaWRsOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkxQ0E0RkNFRDI3MzUxRkIyMDAyN0ZENUEgLyogR1BVQ29tbWFu
ZEVuY29kZXIuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gdGV4dDsgcGF0aCA9IEdQVUNvbW1hbmRFbmNvZGVyLmlkbDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKLQkJMUNBNEZDRUUyNzM1MUZCMjAwMjdGRDVBIC8qIEdQVVBpcGVsaW5lU3Rh
dGlzdGljTmFtZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSB0ZXh0OyBwYXRoID0gR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lLmlkbDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNBNEZDRUYyNzM1MUZCMzAwMjdGRDVBIC8qIEdQVVJl
bmRlckJ1bmRsZUVuY29kZXJEZXNjcmlwdG9yLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBHUFVSZW5kZXJCdW5kbGVFbmNv
ZGVyRGVzY3JpcHRvci5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDQTRGQ0Yw
MjczNTFGQjMwMDI3RkQ1QSAvKiBHUFVDb2xvckRpY3QuaWRsICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEdQVUNvbG9yRGljdC5p
ZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDQTRGQ0YxMjczNTFGQjMwMDI3RkQ1
QSAvKiBHUFVSZW5kZXJFbmNvZGVyQmFzZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gR1BVUmVuZGVyRW5jb2RlckJhc2Uu
aWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNzcwNiw3ICs3NzAzLDYgQEAKIAkJ
MUNBNEZEMTUyNzM1MUZDMTAwMjdGRDVBIC8qIEdQVVJlbmRlclBhc3NUaW1lc3RhbXBMb2NhdGlv
bi5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0
ZXh0OyBwYXRoID0gR1BVUmVuZGVyUGFzc1RpbWVzdGFtcExvY2F0aW9uLmlkbDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNBNEZEMTYyNzM1MUZDMjAwMjdGRDVBIC8qIEdQVUltYWdl
Q29weUV4dGVybmFsSW1hZ2UuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEdQVUltYWdlQ29weUV4dGVybmFsSW1hZ2UuaWRs
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQ0E0RkQxNzI3MzUxRkMyMDAyN0ZENUEg
LyogR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEdQVVJlbmRlclBhc3NEZXNjcmlw
dG9yLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMUNBNEZEMTgyNzM1MUZDMzAw
MjdGRDVBIC8qIEdQVVBpcGVsaW5lU3RhdGlzdGljTmFtZS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHUFVQ
aXBlbGluZVN0YXRpc3RpY05hbWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNB
NEZEMTkyNzM1MUZDMzAwMjdGRDVBIC8qIEdQVUNvbW1hbmRFbmNvZGVyRGVzY3JpcHRvci5pZGwg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBw
YXRoID0gR1BVQ29tbWFuZEVuY29kZXJEZXNjcmlwdG9yLmlkbDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMUNBNEZEMUEyNzM1MUZDMzAwMjdGRDVBIC8qIEdQVVJlbmRlclBhc3NUaW1l
c3RhbXBXcml0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHUFVSZW5kZXJQYXNzVGltZXN0YW1wV3JpdGUu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNBNEZEMUIyNzM1MUZDNDAwMjdGRDVB
IC8qIEdQVU9yaWdpbjJERGljdC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gR1BVT3JpZ2luMkREaWN0LmlkbDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTc3NjMsNiArNzc1OSwxNiBAQAogCQkxQ0VBQTUyRjI2
RjMxQUY4MDA4Njg1MDcgLyogQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmlkbCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBDU1NG
b250UGFsZXR0ZVZhbHVlc1J1bGUuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkx
Q0VBQTUzMDI2RjMzMUMxMDA4Njg1MDcgLyogQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNv
bG9yc1ZhbHVlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENTU0ZvbnRQYWxldHRlVmFsdWVzT3Zl
cnJpZGVDb2xvcnNWYWx1ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDRUFB
NTMxMjZGMzMxQzEwMDg2ODUwNyAvKiBDU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3Jz
VmFsdWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9y
c1ZhbHVlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFDRUY0NUE1MjdCQjA5NkEw
MEMzQTZCQyAvKiBHUFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQuaWRsICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEdQVVNo
YWRlck1vZHVsZUNvbXBpbGF0aW9uSGludC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTFDRUY0NUE3MjdCQjBBM0QwMEMzQTZCQyAvKiBHUFVTaGFkZXJNb2R1bGVDb21waWxhdGlv
bkhpbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFDRUY0NUE4MjdCQjBCRTEwMEMzQTZCQyAv
KiBHUFVDb21tYW5kc01peGluLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBHUFVDb21tYW5kc01peGluLmlkbDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUNFRjQ1QTkyN0JCMEQzOTAwQzNBNkJDIC8qIEdQVURl
YnVnQ29tbWFuZHNNaXhpbi5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gR1BVRGVidWdDb21tYW5kc01peGluLmlkbDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUNFRjQ1QjAyN0JCOTA3RjAwQzNBNkJDIC8qIEpT
R1BVQ29tbWFuZHNNaXhpbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0dQVUNvbW1hbmRzTWl4aW4uaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUNFRjQ1QjEyN0JCOTA3RjAwQzNBNkJDIC8q
IEpTR1BVQ29tbWFuZHNNaXhpbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0dQVUNvbW1hbmRz
TWl4aW4uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQ0VGNDVCMjI3QkI5MDgw
MDBDM0E2QkMgLyogSlNHUFVEZWJ1Z0NvbW1hbmRzTWl4aW4uY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gSlNHUFVEZWJ1Z0NvbW1hbmRzTWl4aW4uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQkxQ0VGNDVCMzI3QkI5MDgxMDBDM0E2QkMgLyogSlNHUFVTaGFkZXJNb2R1bGVDb21waWxh
dGlvbkhpbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNHUFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhp
bnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUNFRjQ1QjQyN0JCOTA4MTAwQzNB
NkJDIC8qIEpTR1BVRGVidWdDb21tYW5kc01peGluLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTR1BVRGVi
dWdDb21tYW5kc01peGluLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFDRUY0NUI1
MjdCQjkwODIwMEMzQTZCQyAvKiBKU0dQVVNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludC5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBKU0dQVVNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludC5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDRjBCRkQ0MjI5ODcwNjgwMEVEMjA3NCAv
KiBUZXh0U2l6ZUFkanVzdG1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVGV4dFNpemVBZGp1
c3RtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNGMThGM0MyNkJCNUFG
MjAwNEIxNzIyIC8qIExvZ0luaXRpYWxpemF0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExv
Z0luaXRpYWxpemF0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNGQUUz
MjIwQTZENkEzRjAwMzI1OTNEIC8qIGxpYm9iamMuZHlsaWIgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSAiY29tcGlsZWQubWFjaC1vLmR5bGliIjsgbmFt
ZSA9IGxpYm9iamMuZHlsaWI7IHBhdGggPSAvdXNyL2xpYi9saWJvYmpjLmR5bGliOyBzb3VyY2VU
cmVlID0gIjxhYnNvbHV0ZT4iOyB9OwpAQCAtMjAwNzIsNiArMjAwNzgsNyBAQAogCQkJCTFDQTRG
Q0VEMjczNTFGQjIwMDI3RkQ1QSAvKiBHUFVDb21tYW5kRW5jb2Rlci5pZGwgKi8sCiAJCQkJMUNB
NEZDRkUyNzM1MUZCOTAwMjdGRDVBIC8qIEdQVUNvbW1hbmRFbmNvZGVyRGVzY3JpcHRvci5oICov
LAogCQkJCTFDQTRGRDE5MjczNTFGQzMwMDI3RkQ1QSAvKiBHUFVDb21tYW5kRW5jb2RlckRlc2Ny
aXB0b3IuaWRsICovLAorCQkJCTFDRUY0NUE4MjdCQjBCRTEwMEMzQTZCQyAvKiBHUFVDb21tYW5k
c01peGluLmlkbCAqLywKIAkJCQkxQ0E0RkM1OTI3MzRFQkNEMDAyN0ZENUEgLyogR1BVQ29tcGFy
ZUZ1bmN0aW9uLmggKi8sCiAJCQkJMUNBNEZDNUIyNzM0RUJDRTAwMjdGRDVBIC8qIEdQVUNvbXBh
cmVGdW5jdGlvbi5pZGwgKi8sCiAJCQkJMUNBNEZDRTIyNzM1MTIzQTAwMjdGRDVBIC8qIEdQVUNv
bXBpbGF0aW9uSW5mby5jcHAgKi8sCkBAIC0yMDA5OCw2ICsyMDEwNSw3IEBACiAJCQkJMUNBNEZD
QjQyNzM1MENFQjAwMjdGRDVBIC8qIEdQVUNvbXB1dGVQaXBlbGluZURlc2NyaXB0b3IuaWRsICov
LAogCQkJCTFDQTRGQ0EzMjczNTBDRTUwMDI3RkQ1QSAvKiBHUFVDdWxsTW9kZS5oICovLAogCQkJ
CTFDQTRGQ0NFMjczNTBDRjUwMDI3RkQ1QSAvKiBHUFVDdWxsTW9kZS5pZGwgKi8sCisJCQkJMUNF
RjQ1QTkyN0JCMEQzOTAwQzNBNkJDIC8qIEdQVURlYnVnQ29tbWFuZHNNaXhpbi5pZGwgKi8sCiAJ
CQkJMUNBNEZDRDQyNzM1MENGODAwMjdGRDVBIC8qIEdQVURlcHRoU3RlbmNpbFN0YXRlLmggKi8s
CiAJCQkJMUNBNEZDREQyNzM1MENGQjAwMjdGRDVBIC8qIEdQVURlcHRoU3RlbmNpbFN0YXRlLmlk
bCAqLywKIAkJCQkxQzI4OTU3RjI3MkY0M0Q4MDBCM0UyQjQgLyogR1BVRGV2aWNlLmNwcCAqLywK
QEAgLTIwMTY5LDggKzIwMTc3LDYgQEAKIAkJCQkxQ0E0RkM2RTI3MzRGOUY2MDAyN0ZENUEgLyog
R1BVUGlwZWxpbmVMYXlvdXQuaWRsICovLAogCQkJCTFDQTRGQzczMjczNEY5RjgwMDI3RkQ1QSAv
KiBHUFVQaXBlbGluZUxheW91dERlc2NyaXB0b3IuaCAqLywKIAkJCQkxQ0E0RkM2NzI3MzRGOUY0
MDAyN0ZENUEgLyogR1BVUGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yLmlkbCAqLywKLQkJCQkxQ0E0
RkQxODI3MzUxRkMzMDAyN0ZENUEgLyogR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lLmggKi8sCi0J
CQkJMUNBNEZDRUUyNzM1MUZCMjAwMjdGRDVBIC8qIEdQVVBpcGVsaW5lU3RhdGlzdGljTmFtZS5p
ZGwgKi8sCiAJCQkJMUMyODk1ODIyNzJGNDhGMjAwQjNFMkI0IC8qIEdQVVBvd2VyUHJlZmVyZW5j
ZS5oICovLAogCQkJCTFDMjg5NTY5MjcyRjI3NDcwMEIzRTJCNCAvKiBHUFVQb3dlclByZWZlcmVu
Y2UuaWRsICovLAogCQkJCTFDMjg5NThCMjcyRjVBRjUwMEIzRTJCNCAvKiBHUFVQcmVkZWZpbmVk
Q29sb3JTcGFjZS5oICovLApAQCAtMjAyMzcsNiArMjAyNDMsOCBAQAogCQkJCTFDQTRGQ0E1Mjcz
NTBDRTYwMDI3RkQ1QSAvKiBHUFVTaGFkZXJNb2R1bGUuY3BwICovLAogCQkJCTFDQTRGQ0Q1Mjcz
NTBDRjgwMDI3RkQ1QSAvKiBHUFVTaGFkZXJNb2R1bGUuaCAqLywKIAkJCQkxQ0E0RkNBNzI3MzUw
Q0U2MDAyN0ZENUEgLyogR1BVU2hhZGVyTW9kdWxlLmlkbCAqLywKKwkJCQkxQ0VGNDVBNzI3QkIw
QTNEMDBDM0E2QkMgLyogR1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50LmggKi8sCisJCQkJ
MUNFRjQ1QTUyN0JCMDk2QTAwQzNBNkJDIC8qIEdQVVNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGlu
dC5pZGwgKi8sCiAJCQkJMUNBNEZDQjEyNzM1MENFQTAwMjdGRDVBIC8qIEdQVVNoYWRlck1vZHVs
ZURlc2NyaXB0b3IuaCAqLywKIAkJCQkxQ0E0RkNBQzI3MzUwQ0U4MDAyN0ZENUEgLyogR1BVU2hh
ZGVyTW9kdWxlRGVzY3JpcHRvci5pZGwgKi8sCiAJCQkJMUNBNEZDNkEyNzM0RjlGNTAwMjdGRDVB
IC8qIEdQVVNoYWRlclN0YWdlLmggKi8sCkBAIC0yMzUwMiw2ICsyMzUxMCw4IEBACiAJCQkJMUM5
MDc4NEUyNzUxRkQ2RjAwNEVGMTY1IC8qIEpTR1BVQ29tbWFuZEVuY29kZXIuaCAqLywKIAkJCQkx
QzkwNzdFNDI3NTFGRDQ0MDA0RUYxNjUgLyogSlNHUFVDb21tYW5kRW5jb2RlckRlc2NyaXB0b3Iu
Y3BwICovLAogCQkJCTFDOTA3ODVFMjc1MUZENzUwMDRFRjE2NSAvKiBKU0dQVUNvbW1hbmRFbmNv
ZGVyRGVzY3JpcHRvci5oICovLAorCQkJCTFDRUY0NUIxMjdCQjkwN0YwMEMzQTZCQyAvKiBKU0dQ
VUNvbW1hbmRzTWl4aW4uY3BwICovLAorCQkJCTFDRUY0NUIwMjdCQjkwN0YwMEMzQTZCQyAvKiBK
U0dQVUNvbW1hbmRzTWl4aW4uaCAqLywKIAkJCQkxQzkwNzg3QjI3NTFGRDgwMDA0RUYxNjUgLyog
SlNHUFVDb21wYXJlRnVuY3Rpb24uY3BwICovLAogCQkJCTFDOTA3ODhCMjc1MUZEODcwMDRFRjE2
NSAvKiBKU0dQVUNvbXBhcmVGdW5jdGlvbi5oICovLAogCQkJCTFDOTA3ODkxMjc1MUZEODkwMDRF
RjE2NSAvKiBKU0dQVUNvbXBpbGF0aW9uSW5mby5jcHAgKi8sCkBAIC0yMzUyNCw2ICsyMzUzNCw4
IEBACiAJCQkJMUM5MDc4NzAyNzUxRkQ3QzAwNEVGMTY1IC8qIEpTR1BVQ29tcHV0ZVBpcGVsaW5l
RGVzY3JpcHRvci5oICovLAogCQkJCTFDOTA3ODU5Mjc1MUZENzMwMDRFRjE2NSAvKiBKU0dQVUN1
bGxNb2RlLmNwcCAqLywKIAkJCQkxQzkwNzdFODI3NTFGRDQ2MDA0RUYxNjUgLyogSlNHUFVDdWxs
TW9kZS5oICovLAorCQkJCTFDRUY0NUIyMjdCQjkwODAwMEMzQTZCQyAvKiBKU0dQVURlYnVnQ29t
bWFuZHNNaXhpbi5jcHAgKi8sCisJCQkJMUNFRjQ1QjQyN0JCOTA4MTAwQzNBNkJDIC8qIEpTR1BV
RGVidWdDb21tYW5kc01peGluLmggKi8sCiAJCQkJMUM5MDc4OTQyNzUxRkQ4QTAwNEVGMTY1IC8q
IEpTR1BVRGVwdGhTdGVuY2lsU3RhdGUuY3BwICovLAogCQkJCTFDOTA3ODk5Mjc1MUZEOEMwMDRF
RjE2NSAvKiBKU0dQVURlcHRoU3RlbmNpbFN0YXRlLmggKi8sCiAJCQkJMUM5MDc4OEUyNzUxRkQ4
ODAwNEVGMTY1IC8qIEpTR1BVRGV2aWNlLmNwcCAqLywKQEAgLTIzNTk0LDggKzIzNjA2LDYgQEAK
IAkJCQkxQzkwNzhDMDI3NTFGRDlCMDA0RUYxNjUgLyogSlNHUFVQaXBlbGluZUxheW91dC5oICov
LAogCQkJCTFDOTA3ODUwMjc1MUZENkYwMDRFRjE2NSAvKiBKU0dQVVBpcGVsaW5lTGF5b3V0RGVz
Y3JpcHRvci5jcHAgKi8sCiAJCQkJMUM5MDc3RkEyNzUxRkQ0RDAwNEVGMTY1IC8qIEpTR1BVUGlw
ZWxpbmVMYXlvdXREZXNjcmlwdG9yLmggKi8sCi0JCQkJMUM5MDc4OEQyNzUxRkQ4NzAwNEVGMTY1
IC8qIEpTR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lLmNwcCAqLywKLQkJCQkxQzkwNzgwQjI3NTFG
RDU0MDA0RUYxNjUgLyogSlNHUFVQaXBlbGluZVN0YXRpc3RpY05hbWUuaCAqLywKIAkJCQkxQzkw
Nzg3RTI3NTFGRDgyMDA0RUYxNjUgLyogSlNHUFVQb3dlclByZWZlcmVuY2UuY3BwICovLAogCQkJ
CTFDOTA3ODlFMjc1MUZEOEUwMDRFRjE2NSAvKiBKU0dQVVBvd2VyUHJlZmVyZW5jZS5oICovLAog
CQkJCTFDOTA3ODU1Mjc1MUZENzEwMDRFRjE2NSAvKiBKU0dQVVByZWRlZmluZWRDb2xvclNwYWNl
LmNwcCAqLywKQEAgLTIzNjU2LDYgKzIzNjY2LDggQEAKIAkJCQkxQzkwNzg4QTI3NTFGRDg2MDA0
RUYxNjUgLyogSlNHUFVTYW1wbGVyRGVzY3JpcHRvci5oICovLAogCQkJCTFDOTA3ODU3Mjc1MUZE
NzIwMDRFRjE2NSAvKiBKU0dQVVNoYWRlck1vZHVsZS5jcHAgKi8sCiAJCQkJMUM5MDc4QTUyNzUx
RkQ5MTAwNEVGMTY1IC8qIEpTR1BVU2hhZGVyTW9kdWxlLmggKi8sCisJCQkJMUNFRjQ1QjUyN0JC
OTA4MjAwQzNBNkJDIC8qIEpTR1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50LmNwcCAqLywK
KwkJCQkxQ0VGNDVCMzI3QkI5MDgxMDBDM0E2QkMgLyogSlNHUFVTaGFkZXJNb2R1bGVDb21waWxh
dGlvbkhpbnQuaCAqLywKIAkJCQkxQzkwNzdFOTI3NTFGRDQ2MDA0RUYxNjUgLyogSlNHUFVTaGFk
ZXJNb2R1bGVEZXNjcmlwdG9yLmNwcCAqLywKIAkJCQkxQzkwNzgzOTI3NTFGRDY2MDA0RUYxNjUg
LyogSlNHUFVTaGFkZXJNb2R1bGVEZXNjcmlwdG9yLmggKi8sCiAJCQkJMUM5MDc4NzIyNzUxRkQ3
RDAwNEVGMTY1IC8qIEpTR1BVU2hhZGVyU3RhZ2UuY3BwICovLApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkdQVS9XZWJHUFUvQWRhcHRlci5oIGIvU291cmNlL1dlYkdQVS9XZWJHUFUvQWRhcHRlci5o
CmluZGV4IGU3ZDQzNDk4ODZlNjc5MWM1YzViZDgzNzMzNGJjNTUyYjFiZGVkMDQuLjhjYTRlMGYw
ZTRiOTdlZTBhNDc4OGJiOGM0NzZmYjUyNzRmYmIzMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJH
UFUvV2ViR1BVL0FkYXB0ZXIuaAorKysgYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9BZGFwdGVyLmgK
QEAgLTQ1LDEwICs0NSwxMCBAQCBwdWJsaWM6CiAKICAgICB+QWRhcHRlcigpOwogCisgICAgc2l6
ZV90IGVudW1lcmF0ZUZlYXR1cmVzKFdHUFVGZWF0dXJlTmFtZSogZmVhdHVyZXMpOwogICAgIGJv
b2wgZ2V0TGltaXRzKFdHUFVTdXBwb3J0ZWRMaW1pdHMqKTsKICAgICB2b2lkIGdldFByb3BlcnRp
ZXMoV0dQVUFkYXB0ZXJQcm9wZXJ0aWVzKik7CiAgICAgYm9vbCBoYXNGZWF0dXJlKFdHUFVGZWF0
dXJlTmFtZSk7Ci0gICAgV0dQVUZlYXR1cmVOYW1lIGdldEZlYXR1cmVBdEluZGV4KHNpemVfdCk7
CiAgICAgdm9pZCByZXF1ZXN0RGV2aWNlKGNvbnN0IFdHUFVEZXZpY2VEZXNjcmlwdG9yKiwgV1RG
OjpGdW5jdGlvbjx2b2lkKFdHUFVSZXF1ZXN0RGV2aWNlU3RhdHVzLCBSZWY8RGV2aWNlPiYmLCBj
b25zdCBjaGFyKik+JiYgY2FsbGJhY2spOwogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkdQVS9XZWJHUFUvQWRhcHRlci5tbSBiL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0FkYXB0ZXIu
bW0KaW5kZXggZWUxYmIyOGUyN2UwZGMzYjc1OGU2ZDllNzZjNjczZWU1YzMxNWE0NC4uZTI5NDNj
YzRiNTQ3YThlM2I2MTU2NGRiZTAyOGMxZWQ5ZjFlZjYxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkdQVS9XZWJHUFUvQWRhcHRlci5tbQorKysgYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9BZGFwdGVy
Lm1tCkBAIC0zNiw2ICszNiwxMiBAQCBBZGFwdGVyOjpBZGFwdGVyKCkgPSBkZWZhdWx0OwogCiBB
ZGFwdGVyOjp+QWRhcHRlcigpID0gZGVmYXVsdDsKIAorc2l6ZV90IEFkYXB0ZXI6OmVudW1lcmF0
ZUZlYXR1cmVzKFdHUFVGZWF0dXJlTmFtZSogZmVhdHVyZXMpCit7CisgICAgVU5VU0VEX1BBUkFN
KGZlYXR1cmVzKTsKKyAgICByZXR1cm4gMDsKK30KKwogYm9vbCBBZGFwdGVyOjpnZXRMaW1pdHMo
V0dQVVN1cHBvcnRlZExpbWl0cyogbGltaXRzKQogewogICAgIFVOVVNFRF9QQVJBTShsaW1pdHMp
OwpAQCAtNTMsMTIgKzU5LDYgQEAgYm9vbCBBZGFwdGVyOjpoYXNGZWF0dXJlKFdHUFVGZWF0dXJl
TmFtZSBmZWF0dXJlKQogICAgIHJldHVybiBmYWxzZTsKIH0KIAotV0dQVUZlYXR1cmVOYW1lIEFk
YXB0ZXI6OmdldEZlYXR1cmVBdEluZGV4KHNpemVfdCBpbmRleCkKLXsKLSAgICBVTlVTRURfUEFS
QU0oaW5kZXgpOwotICAgIHJldHVybiBXR1BVRmVhdHVyZU5hbWVfVW5kZWZpbmVkOwotfQotCiB2
b2lkIEFkYXB0ZXI6OnJlcXVlc3REZXZpY2UoY29uc3QgV0dQVURldmljZURlc2NyaXB0b3IqIGRl
c2NyaXB0b3IsIFdURjo6RnVuY3Rpb248dm9pZChXR1BVUmVxdWVzdERldmljZVN0YXR1cywgUmVm
PERldmljZT4mJiwgY29uc3QgY2hhciopPiYmIGNhbGxiYWNrKQogewogICAgIFVOVVNFRF9QQVJB
TShkZXNjcmlwdG9yKTsKQEAgLTcyLDYgKzcyLDExIEBAIHZvaWQgd2dwdUFkYXB0ZXJSZWxlYXNl
KFdHUFVBZGFwdGVyIGFkYXB0ZXIpCiAgICAgZGVsZXRlIGFkYXB0ZXI7CiB9CiAKK3NpemVfdCB3
Z3B1QWRhcHRlckVudW1lcmF0ZUZlYXR1cmVzKFdHUFVBZGFwdGVyIGFkYXB0ZXIsIFdHUFVGZWF0
dXJlTmFtZSogZmVhdHVyZXMpCit7CisgICAgcmV0dXJuIGFkYXB0ZXItPmFkYXB0ZXItPmVudW1l
cmF0ZUZlYXR1cmVzKGZlYXR1cmVzKTsKK30KKwogYm9vbCB3Z3B1QWRhcHRlckdldExpbWl0cyhX
R1BVQWRhcHRlciBhZGFwdGVyLCBXR1BVU3VwcG9ydGVkTGltaXRzKiBsaW1pdHMpCiB7CiAgICAg
cmV0dXJuIGFkYXB0ZXItPmFkYXB0ZXItPmdldExpbWl0cyhsaW1pdHMpOwpAQCAtODcsMTEgKzky
LDYgQEAgYm9vbCB3Z3B1QWRhcHRlckhhc0ZlYXR1cmUoV0dQVUFkYXB0ZXIgYWRhcHRlciwgV0dQ
VUZlYXR1cmVOYW1lIGZlYXR1cmUpCiAgICAgcmV0dXJuIGFkYXB0ZXItPmFkYXB0ZXItPmhhc0Zl
YXR1cmUoZmVhdHVyZSk7CiB9CiAKLVdHUFVGZWF0dXJlTmFtZSB3Z3B1QWRhcHRlckdldEZlYXR1
cmVBdEluZGV4KFdHUFVBZGFwdGVyIGFkYXB0ZXIsIHNpemVfdCBpbmRleCkKLXsKLSAgICByZXR1
cm4gYWRhcHRlci0+YWRhcHRlci0+Z2V0RmVhdHVyZUF0SW5kZXgoaW5kZXgpOwotfQotCiB2b2lk
IHdncHVBZGFwdGVyUmVxdWVzdERldmljZShXR1BVQWRhcHRlciBhZGFwdGVyLCBjb25zdCBXR1BV
RGV2aWNlRGVzY3JpcHRvciogZGVzY3JpcHRvciwgV0dQVVJlcXVlc3REZXZpY2VDYWxsYmFjayBj
YWxsYmFjaywgdm9pZCogdXNlcmRhdGEpCiB7CiAgICAgYWRhcHRlci0+YWRhcHRlci0+cmVxdWVz
dERldmljZShkZXNjcmlwdG9yLCBbY2FsbGJhY2ssIHVzZXJkYXRhXSAoV0dQVVJlcXVlc3REZXZp
Y2VTdGF0dXMgc3RhdHVzLCBSZWY8V2ViR1BVOjpEZXZpY2U+JiYgZGV2aWNlLCBjb25zdCBjaGFy
KiBtZXNzYWdlKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9Db21tYW5kRW5j
b2Rlci5oIGIvU291cmNlL1dlYkdQVS9XZWJHUFUvQ29tbWFuZEVuY29kZXIuaAppbmRleCA1OWNi
NDMxMmQzNWJhOTQzMzhiOGNlNGJmN2QwNGU1MzlmMjk5Zjc3Li4yZjYwZjFjOGE3NTJjZGU3ZjA4
MjQ0ZWJjZGM4OTEzM2Q3MWE3NGMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9D
b21tYW5kRW5jb2Rlci5oCisrKyBiL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0NvbW1hbmRFbmNvZGVy
LmgKQEAgLTU0LDcgKzU0LDcgQEAgcHVibGljOgogICAgIHZvaWQgY29weUJ1ZmZlclRvVGV4dHVy
ZShjb25zdCBXR1BVSW1hZ2VDb3B5QnVmZmVyKiBzb3VyY2UsIGNvbnN0IFdHUFVJbWFnZUNvcHlU
ZXh0dXJlKiBkZXN0aW5hdGlvbiwgY29uc3QgV0dQVUV4dGVudDNEKiBjb3B5U2l6ZSk7CiAgICAg
dm9pZCBjb3B5VGV4dHVyZVRvQnVmZmVyKGNvbnN0IFdHUFVJbWFnZUNvcHlUZXh0dXJlKiBzb3Vy
Y2UsIGNvbnN0IFdHUFVJbWFnZUNvcHlCdWZmZXIqIGRlc3RpbmF0aW9uLCBjb25zdCBXR1BVRXh0
ZW50M0QqIGNvcHlTaXplKTsKICAgICB2b2lkIGNvcHlUZXh0dXJlVG9UZXh0dXJlKGNvbnN0IFdH
UFVJbWFnZUNvcHlUZXh0dXJlKiBzb3VyY2UsIGNvbnN0IFdHUFVJbWFnZUNvcHlUZXh0dXJlKiBk
ZXN0aW5hdGlvbiwgY29uc3QgV0dQVUV4dGVudDNEKiBjb3B5U2l6ZSk7Ci0gICAgdm9pZCBmaWxs
QnVmZmVyKGNvbnN0IEJ1ZmZlciYgZGVzdGluYXRpb24sIHVpbnQ2NF90IGRlc3RpbmF0aW9uT2Zm
c2V0LCB1aW50NjRfdCBzaXplKTsKKyAgICB2b2lkIGNsZWFyQnVmZmVyKGNvbnN0IEJ1ZmZlciYs
IHVpbnQ2NF90IG9mZnNldCwgdWludDY0X3Qgc2l6ZSk7CiAgICAgUmVmPENvbW1hbmRCdWZmZXI+
IGZpbmlzaChjb25zdCBXR1BVQ29tbWFuZEJ1ZmZlckRlc2NyaXB0b3IqKTsKICAgICB2b2lkIGlu
c2VydERlYnVnTWFya2VyKGNvbnN0IGNoYXIqIG1hcmtlckxhYmVsKTsKICAgICB2b2lkIHBvcERl
YnVnR3JvdXAoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0NvbW1hbmRFbmNv
ZGVyLm1tIGIvU291cmNlL1dlYkdQVS9XZWJHUFUvQ29tbWFuZEVuY29kZXIubW0KaW5kZXggOGQz
OGUxNzlhNDQzOTdiZmY4MzYwZWY0MTRjOGY3MmYwMTViZGFmZi4uZGQ1Y2MzYjMzMGEwMjYyMDk2
ZjU0MTgzNGY2Y2M2ZjdlMmI0YjRiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkdQVS9XZWJHUFUv
Q29tbWFuZEVuY29kZXIubW0KKysrIGIvU291cmNlL1dlYkdQVS9XZWJHUFUvQ29tbWFuZEVuY29k
ZXIubW0KQEAgLTgxLDEwICs4MSwxMCBAQCB2b2lkIENvbW1hbmRFbmNvZGVyOjpjb3B5VGV4dHVy
ZVRvVGV4dHVyZShjb25zdCBXR1BVSW1hZ2VDb3B5VGV4dHVyZSogc291cmNlLCBjbwogICAgIFVO
VVNFRF9QQVJBTShjb3B5U2l6ZSk7CiB9CiAKLXZvaWQgQ29tbWFuZEVuY29kZXI6OmZpbGxCdWZm
ZXIoY29uc3QgQnVmZmVyJiBkZXN0aW5hdGlvbiwgdWludDY0X3QgZGVzdGluYXRpb25PZmZzZXQs
IHVpbnQ2NF90IHNpemUpCit2b2lkIENvbW1hbmRFbmNvZGVyOjpjbGVhckJ1ZmZlcihjb25zdCBC
dWZmZXImIGJ1ZmZlciwgdWludDY0X3Qgb2Zmc2V0LCB1aW50NjRfdCBzaXplKQogewotICAgIFVO
VVNFRF9QQVJBTShkZXN0aW5hdGlvbik7Ci0gICAgVU5VU0VEX1BBUkFNKGRlc3RpbmF0aW9uT2Zm
c2V0KTsKKyAgICBVTlVTRURfUEFSQU0oYnVmZmVyKTsKKyAgICBVTlVTRURfUEFSQU0ob2Zmc2V0
KTsKICAgICBVTlVTRURfUEFSQU0oc2l6ZSk7CiB9CiAKQEAgLTE2NSw5ICsxNjUsOSBAQCB2b2lk
IHdncHVDb21tYW5kRW5jb2RlckNvcHlUZXh0dXJlVG9UZXh0dXJlKFdHUFVDb21tYW5kRW5jb2Rl
ciBjb21tYW5kRW5jb2RlciwgYwogICAgIGNvbW1hbmRFbmNvZGVyLT5jb21tYW5kRW5jb2Rlci0+
Y29weVRleHR1cmVUb1RleHR1cmUoc291cmNlLCBkZXN0aW5hdGlvbiwgY29weVNpemUpOwogfQog
Ci12b2lkIHdncHVDb21tYW5kRW5jb2RlckZpbGxCdWZmZXIoV0dQVUNvbW1hbmRFbmNvZGVyIGNv
bW1hbmRFbmNvZGVyLCBXR1BVQnVmZmVyIGRlc3RpbmF0aW9uLCB1aW50NjRfdCBkZXN0aW5hdGlv
bk9mZnNldCwgdWludDY0X3Qgc2l6ZSkKK3ZvaWQgd2dwdUNvbW1hbmRFbmNvZGVyQ2xlYXJCdWZm
ZXIoV0dQVUNvbW1hbmRFbmNvZGVyIGNvbW1hbmRFbmNvZGVyLCBXR1BVQnVmZmVyIGJ1ZmZlciwg
dWludDY0X3Qgb2Zmc2V0LCB1aW50NjRfdCBzaXplKQogewotICAgIGNvbW1hbmRFbmNvZGVyLT5j
b21tYW5kRW5jb2Rlci0+ZmlsbEJ1ZmZlcihkZXN0aW5hdGlvbi0+YnVmZmVyLCBkZXN0aW5hdGlv
bk9mZnNldCwgc2l6ZSk7CisgICAgY29tbWFuZEVuY29kZXItPmNvbW1hbmRFbmNvZGVyLT5jbGVh
ckJ1ZmZlcihidWZmZXItPmJ1ZmZlciwgb2Zmc2V0LCBzaXplKTsKIH0KIAogV0dQVUNvbW1hbmRC
dWZmZXIgd2dwdUNvbW1hbmRFbmNvZGVyRmluaXNoKFdHUFVDb21tYW5kRW5jb2RlciBjb21tYW5k
RW5jb2RlciwgY29uc3QgV0dQVUNvbW1hbmRCdWZmZXJEZXNjcmlwdG9yKiBkZXNjcmlwdG9yKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkdQVS9XZWJHUFUvQ29tcHV0ZVBhc3NFbmNvZGVyLmggYi9T
b3VyY2UvV2ViR1BVL1dlYkdQVS9Db21wdXRlUGFzc0VuY29kZXIuaAppbmRleCAwYzY0YWQ5NjFj
Yjc2M2JiMGJlZDA2OThjYzJmZWZkMGJkOWJmODFmLi5kMDY0MzJiMjBkMmRiOGUyYjhlMmZiNDI4
ZGMwOGVlM2MwMDgyOTgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9Db21wdXRl
UGFzc0VuY29kZXIuaAorKysgYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9Db21wdXRlUGFzc0VuY29k
ZXIuaApAQCAtNTcsNyArNTcsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBwdXNoRGVidWdHcm91cChj
b25zdCBjaGFyKiBncm91cExhYmVsKTsKICAgICB2b2lkIHNldEJpbmRHcm91cCh1aW50MzJfdCBn
cm91cEluZGV4LCBjb25zdCBCaW5kR3JvdXAmLCB1aW50MzJfdCBkeW5hbWljT2Zmc2V0Q291bnQs
IGNvbnN0IHVpbnQzMl90KiBkeW5hbWljT2Zmc2V0cyk7CiAgICAgdm9pZCBzZXRQaXBlbGluZShj
b25zdCBDb21wdXRlUGlwZWxpbmUmKTsKLSAgICB2b2lkIHdyaXRlVGltZXN0YW1wKGNvbnN0IFF1
ZXJ5U2V0JiwgdWludDMyX3QgcXVlcnlJbmRleCk7CiAgICAgdm9pZCBzZXRMYWJlbChjb25zdCBj
aGFyKik7CiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9Db21w
dXRlUGFzc0VuY29kZXIubW0gYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9Db21wdXRlUGFzc0VuY29k
ZXIubW0KaW5kZXggYzExZDU0ZWQzNDQxNTZlM2Y1NWNlZWEzMWE3NzMzODgwMjMwZWUwYy4uODli
YTA0ZDUzZTlhNDA3ZWVjOGE3NjY2MjJmZWE1ZTU5ZTdhNTkxNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkdQVS9XZWJHUFUvQ29tcHV0ZVBhc3NFbmNvZGVyLm1tCisrKyBiL1NvdXJjZS9XZWJHUFUv
V2ViR1BVL0NvbXB1dGVQYXNzRW5jb2Rlci5tbQpAQCAtOTIsMTIgKzkyLDYgQEAgdm9pZCBDb21w
dXRlUGFzc0VuY29kZXI6OnNldFBpcGVsaW5lKGNvbnN0IENvbXB1dGVQaXBlbGluZSYgcGlwZWxp
bmUpCiAgICAgVU5VU0VEX1BBUkFNKHBpcGVsaW5lKTsKIH0KIAotdm9pZCBDb21wdXRlUGFzc0Vu
Y29kZXI6OndyaXRlVGltZXN0YW1wKGNvbnN0IFF1ZXJ5U2V0JiBxdWVyeVNldCwgdWludDMyX3Qg
cXVlcnlJbmRleCkKLXsKLSAgICBVTlVTRURfUEFSQU0ocXVlcnlTZXQpOwotICAgIFVOVVNFRF9Q
QVJBTShxdWVyeUluZGV4KTsKLX0KLQogdm9pZCBDb21wdXRlUGFzc0VuY29kZXI6OnNldExhYmVs
KGNvbnN0IGNoYXIqIGxhYmVsKQogewogICAgIFVOVVNFRF9QQVJBTShsYWJlbCk7CkBAIC0xNjAs
MTEgKzE1NCw2IEBAIHZvaWQgd2dwdUNvbXB1dGVQYXNzRW5jb2RlclNldFBpcGVsaW5lKFdHUFVD
b21wdXRlUGFzc0VuY29kZXIgY29tcHV0ZVBhc3NFbmNvZGVyCiAgICAgY29tcHV0ZVBhc3NFbmNv
ZGVyLT5jb21wdXRlUGFzc0VuY29kZXItPnNldFBpcGVsaW5lKHBpcGVsaW5lLT5jb21wdXRlUGlw
ZWxpbmUpOwogfQogCi12b2lkIHdncHVDb21wdXRlUGFzc0VuY29kZXJXcml0ZVRpbWVzdGFtcChX
R1BVQ29tcHV0ZVBhc3NFbmNvZGVyIGNvbXB1dGVQYXNzRW5jb2RlciwgV0dQVVF1ZXJ5U2V0IHF1
ZXJ5U2V0LCB1aW50MzJfdCBxdWVyeUluZGV4KQotewotICAgIGNvbXB1dGVQYXNzRW5jb2Rlci0+
Y29tcHV0ZVBhc3NFbmNvZGVyLT53cml0ZVRpbWVzdGFtcChxdWVyeVNldC0+cXVlcnlTZXQsIHF1
ZXJ5SW5kZXgpOwotfQotCiB2b2lkIHdncHVDb21wdXRlUGFzc0VuY29kZXJTZXRMYWJlbChXR1BV
Q29tcHV0ZVBhc3NFbmNvZGVyIGNvbXB1dGVQYXNzRW5jb2RlciwgY29uc3QgY2hhciogbGFiZWwp
CiB7CiAgICAgY29tcHV0ZVBhc3NFbmNvZGVyLT5jb21wdXRlUGFzc0VuY29kZXItPnNldExhYmVs
KGxhYmVsKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0RldmljZS5oIGIvU291
cmNlL1dlYkdQVS9XZWJHUFUvRGV2aWNlLmgKaW5kZXggMjg4N2FmZWFlNWJkNzQyMDZkYzI2NTIw
NzZkOTQ5ODBmMjYyMGE5Ni4uNTI1YzEzYjE3ZDk2NDdlNjJiY2QwOWFmYzdjYmEwZjM5NGU2NDk2
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkdQVS9XZWJHUFUvRGV2aWNlLmgKKysrIGIvU291cmNl
L1dlYkdQVS9XZWJHUFUvRGV2aWNlLmgKQEAgLTc1LDggKzc1LDEwIEBAIHB1YmxpYzoKICAgICBS
ZWY8U3dhcENoYWluPiBjcmVhdGVTd2FwQ2hhaW4oY29uc3QgU3VyZmFjZSYsIGNvbnN0IFdHUFVT
d2FwQ2hhaW5EZXNjcmlwdG9yKik7CiAgICAgUmVmPFRleHR1cmU+IGNyZWF0ZVRleHR1cmUoY29u
c3QgV0dQVVRleHR1cmVEZXNjcmlwdG9yKik7CiAgICAgdm9pZCBkZXN0cm95KCk7CisgICAgc2l6
ZV90IGVudW1lcmF0ZUZlYXR1cmVzKFdHUFVGZWF0dXJlTmFtZSogZmVhdHVyZXMpOwogICAgIGJv
b2wgZ2V0TGltaXRzKFdHUFVTdXBwb3J0ZWRMaW1pdHMqKTsKICAgICBSZWY8UXVldWU+IGdldFF1
ZXVlKCk7CisgICAgYm9vbCBoYXNGZWF0dXJlKFdHUFVGZWF0dXJlTmFtZSk7CiAgICAgYm9vbCBw
b3BFcnJvclNjb3BlKFdURjo6RnVuY3Rpb248dm9pZChXR1BVRXJyb3JUeXBlLCBjb25zdCBjaGFy
Kik+JiYgY2FsbGJhY2spOwogICAgIHZvaWQgcHVzaEVycm9yU2NvcGUoV0dQVUVycm9yRmlsdGVy
KTsKICAgICB2b2lkIHNldERldmljZUxvc3RDYWxsYmFjayhXVEY6OkZ1bmN0aW9uPHZvaWQoV0dQ
VURldmljZUxvc3RSZWFzb24sIGNvbnN0IGNoYXIqKT4mJik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViR1BVL1dlYkdQVS9EZXZpY2UubW0gYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9EZXZpY2UubW0K
aW5kZXggZjFhODU0ZmRiMmE5NTY0MjQ5ZjViMGRkNTM1ZWNhNDhlNTFmYTU4NC4uMTRmNTVjZDQw
YjFiYzdhYzNlOGU3MmVhNTkwZDA3MWEzMmZkZTc4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkdQ
VS9XZWJHUFUvRGV2aWNlLm1tCisrKyBiL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0RldmljZS5tbQpA
QCAtMTQ1LDYgKzE0NSwxMiBAQCB2b2lkIERldmljZTo6ZGVzdHJveSgpCiB7CiB9CiAKK3NpemVf
dCBEZXZpY2U6OmVudW1lcmF0ZUZlYXR1cmVzKFdHUFVGZWF0dXJlTmFtZSogZmVhdHVyZXMpCit7
CisgICAgVU5VU0VEX1BBUkFNKGZlYXR1cmVzKTsKKyAgICByZXR1cm4gMDsKK30KKwogYm9vbCBE
ZXZpY2U6OmdldExpbWl0cyhXR1BVU3VwcG9ydGVkTGltaXRzKiBsaW1pdHMpCiB7CiAgICAgVU5V
U0VEX1BBUkFNKGxpbWl0cyk7CkBAIC0xNTYsNiArMTYyLDEyIEBAIFJlZjxRdWV1ZT4gRGV2aWNl
OjpnZXRRdWV1ZSgpCiAgICAgcmV0dXJuIFF1ZXVlOjpjcmVhdGUoKTsKIH0KIAorYm9vbCBEZXZp
Y2U6Omhhc0ZlYXR1cmUoV0dQVUZlYXR1cmVOYW1lIGZlYXR1cmUpCit7CisgICAgVU5VU0VEX1BB
UkFNKGZlYXR1cmUpOworICAgIHJldHVybiBmYWxzZTsKK30KKwogYm9vbCBEZXZpY2U6OnBvcEVy
cm9yU2NvcGUoV1RGOjpGdW5jdGlvbjx2b2lkKFdHUFVFcnJvclR5cGUsIGNvbnN0IGNoYXIqKT4m
JiBjYWxsYmFjaykKIHsKICAgICBVTlVTRURfUEFSQU0oY2FsbGJhY2spOwpAQCAtMjczLDYgKzI4
NSwxMSBAQCB2b2lkIHdncHVEZXZpY2VEZXN0cm95KFdHUFVEZXZpY2UgZGV2aWNlKQogICAgIGRl
dmljZS0+ZGV2aWNlLT5kZXN0cm95KCk7CiB9CiAKK3NpemVfdCB3Z3B1RGV2aWNlRW51bWVyYXRl
RmVhdHVyZXMoV0dQVURldmljZSBkZXZpY2UsIFdHUFVGZWF0dXJlTmFtZSogZmVhdHVyZXMpCit7
CisgICAgcmV0dXJuIGRldmljZS0+ZGV2aWNlLT5lbnVtZXJhdGVGZWF0dXJlcyhmZWF0dXJlcyk7
Cit9CisKIGJvb2wgd2dwdURldmljZUdldExpbWl0cyhXR1BVRGV2aWNlIGRldmljZSwgV0dQVVN1
cHBvcnRlZExpbWl0cyogbGltaXRzKQogewogICAgIHJldHVybiBkZXZpY2UtPmRldmljZS0+Z2V0
TGltaXRzKGxpbWl0cyk7CkBAIC0yODMsNiArMzAwLDExIEBAIFdHUFVRdWV1ZSB3Z3B1RGV2aWNl
R2V0UXVldWUoV0dQVURldmljZSBkZXZpY2UpCiAgICAgcmV0dXJuIG5ldyBXR1BVUXVldWVJbXBs
IHsgZGV2aWNlLT5kZXZpY2UtPmdldFF1ZXVlKCkgfTsKIH0KIAorYm9vbCB3Z3B1RGV2aWNlSGFz
RmVhdHVyZShXR1BVRGV2aWNlIGRldmljZSwgV0dQVUZlYXR1cmVOYW1lIGZlYXR1cmUpCit7Cisg
ICAgcmV0dXJuIGRldmljZS0+ZGV2aWNlLT5oYXNGZWF0dXJlKGZlYXR1cmUpOworfQorCiBib29s
IHdncHVEZXZpY2VQb3BFcnJvclNjb3BlKFdHUFVEZXZpY2UgZGV2aWNlLCBXR1BVRXJyb3JDYWxs
YmFjayBjYWxsYmFjaywgdm9pZCogdXNlcmRhdGEpCiB7CiAgICAgcmV0dXJuIGRldmljZS0+ZGV2
aWNlLT5wb3BFcnJvclNjb3BlKFtjYWxsYmFjaywgdXNlcmRhdGFdIChXR1BVRXJyb3JUeXBlIHR5
cGUsIGNvbnN0IGNoYXIqIG1lc3NhZ2UpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJHUFUvV2Vi
R1BVL0luc3RhbmNlLm1tIGIvU291cmNlL1dlYkdQVS9XZWJHUFUvSW5zdGFuY2UubW0KaW5kZXgg
NTAyYmU0NzliMWM5NjgwMWJiMzEzYjYwMTgyZDNiZTJjOWI1ZTU3NS4uNTJjZTJhN2MwZjYyNjVm
NTYwY2U1YjY3ODk5OGU1OGIzMjc0ZGI0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkdQVS9XZWJH
UFUvSW5zdGFuY2UubW0KKysrIGIvU291cmNlL1dlYkdQVS9XZWJHUFUvSW5zdGFuY2UubW0KQEAg
LTcyLDI2ICs3MiwxNyBAQCBXR1BVUHJvYyB3Z3B1R2V0UHJvY0FkZHJlc3MoV0dQVURldmljZSBk
ZXZpY2UsIGNvbnN0IGNoYXIqIHByb2NOYW1lKQogewogICAgIFVOVVNFRF9QQVJBTShkZXZpY2Up
OwogICAgIC8vIEZJWE1FOiBVc2UgZ3BlcmYgdG8gbWFrZSB0aGlzIGZhc3Rlci4KLSAgICBpZiAo
IXN0cmNtcChwcm9jTmFtZSwgIndncHVBZGFwdGVyR2V0RmVhdHVyZUF0SW5kZXgiKSkKLSAgICAg
ICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1QWRhcHRlckdldEZlYXR1
cmVBdEluZGV4KTsKKyAgICAvLyBGSVhNRTogR2VuZXJhdGUgdGhpcyBhdCBidWlsZCB0aW1lCisg
ICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1QWRhcHRlckVudW1lcmF0ZUZlYXR1cmVzIikp
CisgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdUFkYXB0ZXJF
bnVtZXJhdGVGZWF0dXJlcyk7CiAgICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1QWRhcHRl
ckdldExpbWl0cyIpKQogICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4o
JndncHVBZGFwdGVyR2V0TGltaXRzKTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVB
ZGFwdGVyR2V0UHJvcGVydGllcyIpKQogICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxX
R1BVUHJvYz4oJndncHVBZGFwdGVyR2V0UHJvcGVydGllcyk7CiAgICAgaWYgKCFzdHJjbXAocHJv
Y05hbWUsICJ3Z3B1QWRhcHRlckhhc0ZlYXR1cmUiKSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJw
cmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1QWRhcHRlckhhc0ZlYXR1cmUpOwotICAgIGlmICghc3Ry
Y21wKHByb2NOYW1lLCAid2dwdUFkYXB0ZXJSZWxlYXNlIikpCi0gICAgICAgIHJldHVybiByZWlu
dGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdUFkYXB0ZXJSZWxlYXNlKTsKICAgICBpZiAoIXN0
cmNtcChwcm9jTmFtZSwgIndncHVBZGFwdGVyUmVxdWVzdERldmljZSIpKQogICAgICAgICByZXR1
cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVBZGFwdGVyUmVxdWVzdERldmljZSk7
Ci0gICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1QmluZEdyb3VwTGF5b3V0UmVsZWFzZSIp
KQotICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVCaW5kR3Jv
dXBMYXlvdXRSZWxlYXNlKTsKLSAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVCaW5kR3Jv
dXBMYXlvdXRTZXRMYWJlbCIpKQotICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BV
UHJvYz4oJndncHVCaW5kR3JvdXBMYXlvdXRTZXRMYWJlbCk7Ci0gICAgaWYgKCFzdHJjbXAocHJv
Y05hbWUsICJ3Z3B1QmluZEdyb3VwUmVsZWFzZSIpKQotICAgICAgICByZXR1cm4gcmVpbnRlcnBy
ZXRfY2FzdDxXR1BVUHJvYz4oJndncHVCaW5kR3JvdXBSZWxlYXNlKTsKLSAgICBpZiAoIXN0cmNt
cChwcm9jTmFtZSwgIndncHVCaW5kR3JvdXBTZXRMYWJlbCIpKQotICAgICAgICByZXR1cm4gcmVp
bnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVCaW5kR3JvdXBTZXRMYWJlbCk7CiAgICAgaWYg
KCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1QnVmZmVyRGVzdHJveSIpKQogICAgICAgICByZXR1cm4g
cmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVCdWZmZXJEZXN0cm95KTsKICAgICBpZiAo
IXN0cmNtcChwcm9jTmFtZSwgIndncHVCdWZmZXJHZXRDb25zdE1hcHBlZFJhbmdlIikpCkBAIC0x
MDAsMjAgKzkxLDE0IEBAIFdHUFVQcm9jIHdncHVHZXRQcm9jQWRkcmVzcyhXR1BVRGV2aWNlIGRl
dmljZSwgY29uc3QgY2hhciogcHJvY05hbWUpCiAgICAgICAgIHJldHVybiByZWludGVycHJldF9j
YXN0PFdHUFVQcm9jPigmd2dwdUJ1ZmZlckdldE1hcHBlZFJhbmdlKTsKICAgICBpZiAoIXN0cmNt
cChwcm9jTmFtZSwgIndncHVCdWZmZXJNYXBBc3luYyIpKQogICAgICAgICByZXR1cm4gcmVpbnRl
cnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVCdWZmZXJNYXBBc3luYyk7Ci0gICAgaWYgKCFzdHJj
bXAocHJvY05hbWUsICJ3Z3B1QnVmZmVyUmVsZWFzZSIpKQotICAgICAgICByZXR1cm4gcmVpbnRl
cnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVCdWZmZXJSZWxlYXNlKTsKLSAgICBpZiAoIXN0cmNt
cChwcm9jTmFtZSwgIndncHVCdWZmZXJTZXRMYWJlbCIpKQotICAgICAgICByZXR1cm4gcmVpbnRl
cnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVCdWZmZXJTZXRMYWJlbCk7CiAgICAgaWYgKCFzdHJj
bXAocHJvY05hbWUsICJ3Z3B1QnVmZmVyVW5tYXAiKSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJw
cmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1QnVmZmVyVW5tYXApOwotICAgIGlmICghc3RyY21wKHBy
b2NOYW1lLCAid2dwdUNvbW1hbmRCdWZmZXJSZWxlYXNlIikpCi0gICAgICAgIHJldHVybiByZWlu
dGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdUNvbW1hbmRCdWZmZXJSZWxlYXNlKTsKLSAgICBp
ZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVDb21tYW5kQnVmZmVyU2V0TGFiZWwiKSkKLSAgICAg
ICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1Q29tbWFuZEJ1ZmZlclNl
dExhYmVsKTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVDb21tYW5kRW5jb2RlckJl
Z2luQ29tcHV0ZVBhc3MiKSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVBy
b2M+KCZ3Z3B1Q29tbWFuZEVuY29kZXJCZWdpbkNvbXB1dGVQYXNzKTsKICAgICBpZiAoIXN0cmNt
cChwcm9jTmFtZSwgIndncHVDb21tYW5kRW5jb2RlckJlZ2luUmVuZGVyUGFzcyIpKQogICAgICAg
ICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVDb21tYW5kRW5jb2RlckJl
Z2luUmVuZGVyUGFzcyk7CisgICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1Q29tbWFuZEVu
Y29kZXJDbGVhckJ1ZmZlciIpKQorICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BV
UHJvYz4oJndncHVDb21tYW5kRW5jb2RlckNsZWFyQnVmZmVyKTsKICAgICBpZiAoIXN0cmNtcChw
cm9jTmFtZSwgIndncHVDb21tYW5kRW5jb2RlckNvcHlCdWZmZXJUb0J1ZmZlciIpKQogICAgICAg
ICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVDb21tYW5kRW5jb2RlckNv
cHlCdWZmZXJUb0J1ZmZlcik7CiAgICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1Q29tbWFu
ZEVuY29kZXJDb3B5QnVmZmVyVG9UZXh0dXJlIikpCkBAIC0xMjIsOCArMTA3LDYgQEAgV0dQVVBy
b2Mgd2dwdUdldFByb2NBZGRyZXNzKFdHUFVEZXZpY2UgZGV2aWNlLCBjb25zdCBjaGFyKiBwcm9j
TmFtZSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1Q29t
bWFuZEVuY29kZXJDb3B5VGV4dHVyZVRvQnVmZmVyKTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFt
ZSwgIndncHVDb21tYW5kRW5jb2RlckNvcHlUZXh0dXJlVG9UZXh0dXJlIikpCiAgICAgICAgIHJl
dHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdUNvbW1hbmRFbmNvZGVyQ29weVRl
eHR1cmVUb1RleHR1cmUpOwotICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdUNvbW1hbmRF
bmNvZGVyRmlsbEJ1ZmZlciIpKQotICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BV
UHJvYz4oJndncHVDb21tYW5kRW5jb2RlckZpbGxCdWZmZXIpOwogICAgIGlmICghc3RyY21wKHBy
b2NOYW1lLCAid2dwdUNvbW1hbmRFbmNvZGVyRmluaXNoIikpCiAgICAgICAgIHJldHVybiByZWlu
dGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdUNvbW1hbmRFbmNvZGVyRmluaXNoKTsKICAgICBp
ZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVDb21tYW5kRW5jb2Rlckluc2VydERlYnVnTWFya2Vy
IikpCkBAIC0xMzIsMTIgKzExNSw4IEBAIFdHUFVQcm9jIHdncHVHZXRQcm9jQWRkcmVzcyhXR1BV
RGV2aWNlIGRldmljZSwgY29uc3QgY2hhciogcHJvY05hbWUpCiAgICAgICAgIHJldHVybiByZWlu
dGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdUNvbW1hbmRFbmNvZGVyUG9wRGVidWdHcm91cCk7
CiAgICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1Q29tbWFuZEVuY29kZXJQdXNoRGVidWdH
cm91cCIpKQogICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVD
b21tYW5kRW5jb2RlclB1c2hEZWJ1Z0dyb3VwKTsKLSAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwg
IndncHVDb21tYW5kRW5jb2RlclJlbGVhc2UiKSkKLSAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0
X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1Q29tbWFuZEVuY29kZXJSZWxlYXNlKTsKICAgICBpZiAoIXN0
cmNtcChwcm9jTmFtZSwgIndncHVDb21tYW5kRW5jb2RlclJlc29sdmVRdWVyeVNldCIpKQogICAg
ICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVDb21tYW5kRW5jb2Rl
clJlc29sdmVRdWVyeVNldCk7Ci0gICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1Q29tbWFu
ZEVuY29kZXJTZXRMYWJlbCIpKQotICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BV
UHJvYz4oJndncHVDb21tYW5kRW5jb2RlclNldExhYmVsKTsKICAgICBpZiAoIXN0cmNtcChwcm9j
TmFtZSwgIndncHVDb21tYW5kRW5jb2RlcldyaXRlVGltZXN0YW1wIikpCiAgICAgICAgIHJldHVy
biByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdUNvbW1hbmRFbmNvZGVyV3JpdGVUaW1l
c3RhbXApOwogICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdUNvbXB1dGVQYXNzRW5jb2Rl
ckJlZ2luUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkiKSkKQEAgLTE1NiwyMCArMTM1LDEyIEBAIFdH
UFVQcm9jIHdncHVHZXRQcm9jQWRkcmVzcyhXR1BVRGV2aWNlIGRldmljZSwgY29uc3QgY2hhciog
cHJvY05hbWUpCiAgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dw
dUNvbXB1dGVQYXNzRW5jb2RlclBvcERlYnVnR3JvdXApOwogICAgIGlmICghc3RyY21wKHByb2NO
YW1lLCAid2dwdUNvbXB1dGVQYXNzRW5jb2RlclB1c2hEZWJ1Z0dyb3VwIikpCiAgICAgICAgIHJl
dHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdUNvbXB1dGVQYXNzRW5jb2RlclB1
c2hEZWJ1Z0dyb3VwKTsKLSAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVDb21wdXRlUGFz
c0VuY29kZXJSZWxlYXNlIikpCi0gICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQ
cm9jPigmd2dwdUNvbXB1dGVQYXNzRW5jb2RlclJlbGVhc2UpOwogICAgIGlmICghc3RyY21wKHBy
b2NOYW1lLCAid2dwdUNvbXB1dGVQYXNzRW5jb2RlclNldEJpbmRHcm91cCIpKQogICAgICAgICBy
ZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVDb21wdXRlUGFzc0VuY29kZXJT
ZXRCaW5kR3JvdXApOwotICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdUNvbXB1dGVQYXNz
RW5jb2RlclNldExhYmVsIikpCi0gICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQ
cm9jPigmd2dwdUNvbXB1dGVQYXNzRW5jb2RlclNldExhYmVsKTsKICAgICBpZiAoIXN0cmNtcChw
cm9jTmFtZSwgIndncHVDb21wdXRlUGFzc0VuY29kZXJTZXRQaXBlbGluZSIpKQogICAgICAgICBy
ZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVDb21wdXRlUGFzc0VuY29kZXJT
ZXRQaXBlbGluZSk7Ci0gICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1Q29tcHV0ZVBhc3NF
bmNvZGVyV3JpdGVUaW1lc3RhbXAiKSkKLSAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8
V0dQVVByb2M+KCZ3Z3B1Q29tcHV0ZVBhc3NFbmNvZGVyV3JpdGVUaW1lc3RhbXApOwogICAgIGlm
ICghc3RyY21wKHByb2NOYW1lLCAid2dwdUNvbXB1dGVQaXBlbGluZUdldEJpbmRHcm91cExheW91
dCIpKQogICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVDb21w
dXRlUGlwZWxpbmVHZXRCaW5kR3JvdXBMYXlvdXQpOwotICAgIGlmICghc3RyY21wKHByb2NOYW1l
LCAid2dwdUNvbXB1dGVQaXBlbGluZVJlbGVhc2UiKSkKLSAgICAgICAgcmV0dXJuIHJlaW50ZXJw
cmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1Q29tcHV0ZVBpcGVsaW5lUmVsZWFzZSk7CiAgICAgaWYg
KCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1Q29tcHV0ZVBpcGVsaW5lU2V0TGFiZWwiKSkKICAgICAg
ICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1Q29tcHV0ZVBpcGVsaW5l
U2V0TGFiZWwpOwogICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdUNyZWF0ZUluc3RhbmNl
IikpCkBAIC0yMDYsMjAgKzE3NywyMCBAQCBXR1BVUHJvYyB3Z3B1R2V0UHJvY0FkZHJlc3MoV0dQ
VURldmljZSBkZXZpY2UsIGNvbnN0IGNoYXIqIHByb2NOYW1lKQogICAgICAgICByZXR1cm4gcmVp
bnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVEZXZpY2VDcmVhdGVUZXh0dXJlKTsKICAgICBp
ZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVEZXZpY2VEZXN0cm95IikpCiAgICAgICAgIHJldHVy
biByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdURldmljZURlc3Ryb3kpOworICAgIGlm
ICghc3RyY21wKHByb2NOYW1lLCAid2dwdURldmljZUVudW1lcmF0ZUZlYXR1cmVzIikpCisgICAg
ICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdURldmljZUVudW1lcmF0
ZUZlYXR1cmVzKTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVEZXZpY2VHZXRMaW1p
dHMiKSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1RGV2
aWNlR2V0TGltaXRzKTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVEZXZpY2VHZXRR
dWV1ZSIpKQogICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVE
ZXZpY2VHZXRRdWV1ZSk7CisgICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1RGV2aWNlSGFz
RmVhdHVyZSIpKQorICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndn
cHVEZXZpY2VIYXNGZWF0dXJlKTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVEZXZp
Y2VQb3BFcnJvclNjb3BlIikpCiAgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQ
cm9jPigmd2dwdURldmljZVBvcEVycm9yU2NvcGUpOwogICAgIGlmICghc3RyY21wKHByb2NOYW1l
LCAid2dwdURldmljZVB1c2hFcnJvclNjb3BlIikpCiAgICAgICAgIHJldHVybiByZWludGVycHJl
dF9jYXN0PFdHUFVQcm9jPigmd2dwdURldmljZVB1c2hFcnJvclNjb3BlKTsKLSAgICBpZiAoIXN0
cmNtcChwcm9jTmFtZSwgIndncHVEZXZpY2VSZWxlYXNlIikpCi0gICAgICAgIHJldHVybiByZWlu
dGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdURldmljZVJlbGVhc2UpOwogICAgIGlmICghc3Ry
Y21wKHByb2NOYW1lLCAid2dwdURldmljZVNldERldmljZUxvc3RDYWxsYmFjayIpKQogICAgICAg
ICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVEZXZpY2VTZXREZXZpY2VM
b3N0Q2FsbGJhY2spOwotICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdURldmljZVNldExh
YmVsIikpCi0gICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdURl
dmljZVNldExhYmVsKTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVEZXZpY2VTZXRV
bmNhcHR1cmVkRXJyb3JDYWxsYmFjayIpKQogICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2Fz
dDxXR1BVUHJvYz4oJndncHVEZXZpY2VTZXRVbmNhcHR1cmVkRXJyb3JDYWxsYmFjayk7CiAgICAg
aWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1R2V0UHJvY0FkZHJlc3MiKSkKQEAgLTIyOCwyNiAr
MTk5LDEyIEBAIFdHUFVQcm9jIHdncHVHZXRQcm9jQWRkcmVzcyhXR1BVRGV2aWNlIGRldmljZSwg
Y29uc3QgY2hhciogcHJvY05hbWUpCiAgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdH
UFVQcm9jPigmd2dwdUluc3RhbmNlQ3JlYXRlU3VyZmFjZSk7CiAgICAgaWYgKCFzdHJjbXAocHJv
Y05hbWUsICJ3Z3B1SW5zdGFuY2VQcm9jZXNzRXZlbnRzIikpCiAgICAgICAgIHJldHVybiByZWlu
dGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdUluc3RhbmNlUHJvY2Vzc0V2ZW50cyk7Ci0gICAg
aWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1SW5zdGFuY2VSZWxlYXNlIikpCi0gICAgICAgIHJl
dHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdUluc3RhbmNlUmVsZWFzZSk7CiAg
ICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1SW5zdGFuY2VSZXF1ZXN0QWRhcHRlciIpKQog
ICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVJbnN0YW5jZVJl
cXVlc3RBZGFwdGVyKTsKLSAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVQaXBlbGluZUxh
eW91dFJlbGVhc2UiKSkKLSAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+
KCZ3Z3B1UGlwZWxpbmVMYXlvdXRSZWxlYXNlKTsKLSAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwg
IndncHVQaXBlbGluZUxheW91dFNldExhYmVsIikpCi0gICAgICAgIHJldHVybiByZWludGVycHJl
dF9jYXN0PFdHUFVQcm9jPigmd2dwdVBpcGVsaW5lTGF5b3V0U2V0TGFiZWwpOwogICAgIGlmICgh
c3RyY21wKHByb2NOYW1lLCAid2dwdVF1ZXJ5U2V0RGVzdHJveSIpKQogICAgICAgICByZXR1cm4g
cmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVRdWVyeVNldERlc3Ryb3kpOwotICAgIGlm
ICghc3RyY21wKHByb2NOYW1lLCAid2dwdVF1ZXJ5U2V0UmVsZWFzZSIpKQotICAgICAgICByZXR1
cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVRdWVyeVNldFJlbGVhc2UpOwotICAg
IGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdVF1ZXJ5U2V0U2V0TGFiZWwiKSkKLSAgICAgICAg
cmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1UXVlcnlTZXRTZXRMYWJlbCk7
CiAgICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1UXVldWVPblN1Ym1pdHRlZFdvcmtEb25l
IikpCiAgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdVF1ZXVl
T25TdWJtaXR0ZWRXb3JrRG9uZSk7Ci0gICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1UXVl
dWVSZWxlYXNlIikpCi0gICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigm
d2dwdVF1ZXVlUmVsZWFzZSk7Ci0gICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1UXVldWVT
ZXRMYWJlbCIpKQotICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndn
cHVRdWV1ZVNldExhYmVsKTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVRdWV1ZVN1
Ym1pdCIpKQogICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVR
dWV1ZVN1Ym1pdCk7CiAgICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1UXVldWVXcml0ZUJ1
ZmZlciIpKQpAQCAtMjcwLDIyICsyMjcsMTQgQEAgV0dQVVByb2Mgd2dwdUdldFByb2NBZGRyZXNz
KFdHUFVEZXZpY2UgZGV2aWNlLCBjb25zdCBjaGFyKiBwcm9jTmFtZSkKICAgICAgICAgcmV0dXJu
IHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1UmVuZGVyQnVuZGxlRW5jb2RlclBvcERl
YnVnR3JvdXApOwogICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdVJlbmRlckJ1bmRsZUVu
Y29kZXJQdXNoRGVidWdHcm91cCIpKQogICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxX
R1BVUHJvYz4oJndncHVSZW5kZXJCdW5kbGVFbmNvZGVyUHVzaERlYnVnR3JvdXApOwotICAgIGlm
ICghc3RyY21wKHByb2NOYW1lLCAid2dwdVJlbmRlckJ1bmRsZUVuY29kZXJSZWxlYXNlIikpCi0g
ICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdVJlbmRlckJ1bmRs
ZUVuY29kZXJSZWxlYXNlKTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVSZW5kZXJC
dW5kbGVFbmNvZGVyU2V0QmluZEdyb3VwIikpCiAgICAgICAgIHJldHVybiByZWludGVycHJldF9j
YXN0PFdHUFVQcm9jPigmd2dwdVJlbmRlckJ1bmRsZUVuY29kZXJTZXRCaW5kR3JvdXApOwogICAg
IGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdVJlbmRlckJ1bmRsZUVuY29kZXJTZXRJbmRleEJ1
ZmZlciIpKQogICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVS
ZW5kZXJCdW5kbGVFbmNvZGVyU2V0SW5kZXhCdWZmZXIpOwotICAgIGlmICghc3RyY21wKHByb2NO
YW1lLCAid2dwdVJlbmRlckJ1bmRsZUVuY29kZXJTZXRMYWJlbCIpKQotICAgICAgICByZXR1cm4g
cmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVSZW5kZXJCdW5kbGVFbmNvZGVyU2V0TGFi
ZWwpOwogICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdVJlbmRlckJ1bmRsZUVuY29kZXJT
ZXRQaXBlbGluZSIpKQogICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4o
JndncHVSZW5kZXJCdW5kbGVFbmNvZGVyU2V0UGlwZWxpbmUpOwogICAgIGlmICghc3RyY21wKHBy
b2NOYW1lLCAid2dwdVJlbmRlckJ1bmRsZUVuY29kZXJTZXRWZXJ0ZXhCdWZmZXIiKSkKICAgICAg
ICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1UmVuZGVyQnVuZGxlRW5j
b2RlclNldFZlcnRleEJ1ZmZlcik7Ci0gICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1UmVu
ZGVyQnVuZGxlUmVsZWFzZSIpKQotICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BV
UHJvYz4oJndncHVSZW5kZXJCdW5kbGVSZWxlYXNlKTsKLSAgICBpZiAoIXN0cmNtcChwcm9jTmFt
ZSwgIndncHVSZW5kZXJCdW5kbGVTZXRMYWJlbCIpKQotICAgICAgICByZXR1cm4gcmVpbnRlcnBy
ZXRfY2FzdDxXR1BVUHJvYz4oJndncHVSZW5kZXJCdW5kbGVTZXRMYWJlbCk7CiAgICAgaWYgKCFz
dHJjbXAocHJvY05hbWUsICJ3Z3B1UmVuZGVyUGFzc0VuY29kZXJCZWdpbk9jY2x1c2lvblF1ZXJ5
IikpCiAgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdVJlbmRl
clBhc3NFbmNvZGVyQmVnaW5PY2NsdXNpb25RdWVyeSk7CiAgICAgaWYgKCFzdHJjbXAocHJvY05h
bWUsICJ3Z3B1UmVuZGVyUGFzc0VuY29kZXJCZWdpblBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5Iikp
CkBAIC0zMTIsMTYgKzI2MSwxMiBAQCBXR1BVUHJvYyB3Z3B1R2V0UHJvY0FkZHJlc3MoV0dQVURl
dmljZSBkZXZpY2UsIGNvbnN0IGNoYXIqIHByb2NOYW1lKQogICAgICAgICByZXR1cm4gcmVpbnRl
cnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVSZW5kZXJQYXNzRW5jb2RlclBvcERlYnVnR3JvdXAp
OwogICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdVJlbmRlclBhc3NFbmNvZGVyUHVzaERl
YnVnR3JvdXAiKSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3
Z3B1UmVuZGVyUGFzc0VuY29kZXJQdXNoRGVidWdHcm91cCk7Ci0gICAgaWYgKCFzdHJjbXAocHJv
Y05hbWUsICJ3Z3B1UmVuZGVyUGFzc0VuY29kZXJSZWxlYXNlIikpCi0gICAgICAgIHJldHVybiBy
ZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdVJlbmRlclBhc3NFbmNvZGVyUmVsZWFzZSk7
CiAgICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1UmVuZGVyUGFzc0VuY29kZXJTZXRCaW5k
R3JvdXAiKSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1
UmVuZGVyUGFzc0VuY29kZXJTZXRCaW5kR3JvdXApOwogICAgIGlmICghc3RyY21wKHByb2NOYW1l
LCAid2dwdVJlbmRlclBhc3NFbmNvZGVyU2V0QmxlbmRDb25zdGFudCIpKQogICAgICAgICByZXR1
cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVSZW5kZXJQYXNzRW5jb2RlclNldEJs
ZW5kQ29uc3RhbnQpOwogICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdVJlbmRlclBhc3NF
bmNvZGVyU2V0SW5kZXhCdWZmZXIiKSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8
V0dQVVByb2M+KCZ3Z3B1UmVuZGVyUGFzc0VuY29kZXJTZXRJbmRleEJ1ZmZlcik7Ci0gICAgaWYg
KCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1UmVuZGVyUGFzc0VuY29kZXJTZXRMYWJlbCIpKQotICAg
ICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVSZW5kZXJQYXNzRW5j
b2RlclNldExhYmVsKTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVSZW5kZXJQYXNz
RW5jb2RlclNldFBpcGVsaW5lIikpCiAgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdH
UFVQcm9jPigmd2dwdVJlbmRlclBhc3NFbmNvZGVyU2V0UGlwZWxpbmUpOwogICAgIGlmICghc3Ry
Y21wKHByb2NOYW1lLCAid2dwdVJlbmRlclBhc3NFbmNvZGVyU2V0U2Npc3NvclJlY3QiKSkKQEAg
LTMzMiw0NCArMjc3LDI0IEBAIFdHUFVQcm9jIHdncHVHZXRQcm9jQWRkcmVzcyhXR1BVRGV2aWNl
IGRldmljZSwgY29uc3QgY2hhciogcHJvY05hbWUpCiAgICAgICAgIHJldHVybiByZWludGVycHJl
dF9jYXN0PFdHUFVQcm9jPigmd2dwdVJlbmRlclBhc3NFbmNvZGVyU2V0VmVydGV4QnVmZmVyKTsK
ICAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVSZW5kZXJQYXNzRW5jb2RlclNldFZpZXdw
b3J0IikpCiAgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdVJl
bmRlclBhc3NFbmNvZGVyU2V0Vmlld3BvcnQpOwotICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAi
d2dwdVJlbmRlclBhc3NFbmNvZGVyV3JpdGVUaW1lc3RhbXAiKSkKLSAgICAgICAgcmV0dXJuIHJl
aW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1UmVuZGVyUGFzc0VuY29kZXJXcml0ZVRpbWVz
dGFtcCk7CiAgICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1UmVuZGVyUGlwZWxpbmVHZXRC
aW5kR3JvdXBMYXlvdXQiKSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVBy
b2M+KCZ3Z3B1UmVuZGVyUGlwZWxpbmVHZXRCaW5kR3JvdXBMYXlvdXQpOwotICAgIGlmICghc3Ry
Y21wKHByb2NOYW1lLCAid2dwdVJlbmRlclBpcGVsaW5lUmVsZWFzZSIpKQotICAgICAgICByZXR1
cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVSZW5kZXJQaXBlbGluZVJlbGVhc2Up
OwogICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdVJlbmRlclBpcGVsaW5lU2V0TGFiZWwi
KSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1UmVuZGVy
UGlwZWxpbmVTZXRMYWJlbCk7Ci0gICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1U2FtcGxl
clJlbGVhc2UiKSkKLSAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3
Z3B1U2FtcGxlclJlbGVhc2UpOwotICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdVNhbXBs
ZXJTZXRMYWJlbCIpKQotICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4o
JndncHVTYW1wbGVyU2V0TGFiZWwpOwotICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdVNo
YWRlck1vZHVsZVJlbGVhc2UiKSkKLSAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQ
VVByb2M+KCZ3Z3B1U2hhZGVyTW9kdWxlUmVsZWFzZSk7CisgICAgaWYgKCFzdHJjbXAocHJvY05h
bWUsICJ3Z3B1U2hhZGVyTW9kdWxlR2V0Q29tcGlsYXRpb25JbmZvIikpCisgICAgICAgIHJldHVy
biByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdVNoYWRlck1vZHVsZUdldENvbXBpbGF0
aW9uSW5mbyk7CiAgICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1U2hhZGVyTW9kdWxlU2V0
TGFiZWwiKSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1
U2hhZGVyTW9kdWxlU2V0TGFiZWwpOwogICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdVN1
cmZhY2VHZXRQcmVmZXJyZWRGb3JtYXQiKSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nh
c3Q8V0dQVVByb2M+KCZ3Z3B1U3VyZmFjZUdldFByZWZlcnJlZEZvcm1hdCk7Ci0gICAgaWYgKCFz
dHJjbXAocHJvY05hbWUsICJ3Z3B1U3VyZmFjZVJlbGVhc2UiKSkKLSAgICAgICAgcmV0dXJuIHJl
aW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1U3VyZmFjZVJlbGVhc2UpOwogICAgIGlmICgh
c3RyY21wKHByb2NOYW1lLCAid2dwdVN3YXBDaGFpbkdldEN1cnJlbnRUZXh0dXJlVmlldyIpKQog
ICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVTd2FwQ2hhaW5H
ZXRDdXJyZW50VGV4dHVyZVZpZXcpOwogICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdVN3
YXBDaGFpblByZXNlbnQiKSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVBy
b2M+KCZ3Z3B1U3dhcENoYWluUHJlc2VudCk7Ci0gICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3
Z3B1U3dhcENoYWluUmVsZWFzZSIpKQotICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxX
R1BVUHJvYz4oJndncHVTd2FwQ2hhaW5SZWxlYXNlKTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFt
ZSwgIndncHVUZXh0dXJlQ3JlYXRlVmlldyIpKQogICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRf
Y2FzdDxXR1BVUHJvYz4oJndncHVUZXh0dXJlQ3JlYXRlVmlldyk7CiAgICAgaWYgKCFzdHJjbXAo
cHJvY05hbWUsICJ3Z3B1VGV4dHVyZURlc3Ryb3kiKSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJw
cmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1VGV4dHVyZURlc3Ryb3kpOwotICAgIGlmICghc3RyY21w
KHByb2NOYW1lLCAid2dwdVRleHR1cmVSZWxlYXNlIikpCi0gICAgICAgIHJldHVybiByZWludGVy
cHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdVRleHR1cmVSZWxlYXNlKTsKLSAgICBpZiAoIXN0cmNt
cChwcm9jTmFtZSwgIndncHVUZXh0dXJlU2V0TGFiZWwiKSkKLSAgICAgICAgcmV0dXJuIHJlaW50
ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1VGV4dHVyZVNldExhYmVsKTsKLSAgICBpZiAoIXN0
cmNtcChwcm9jTmFtZSwgIndncHVUZXh0dXJlVmlld1JlbGVhc2UiKSkKLSAgICAgICAgcmV0dXJu
IHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1VGV4dHVyZVZpZXdSZWxlYXNlKTsKLSAg
ICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVUZXh0dXJlVmlld1NldExhYmVsIikpCi0gICAg
ICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdVRleHR1cmVWaWV3U2V0
TGFiZWwpOwogICAgIHJldHVybiBudWxscHRyOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
R1BVL1dlYkdQVS9SZW5kZXJQYXNzRW5jb2Rlci5oIGIvU291cmNlL1dlYkdQVS9XZWJHUFUvUmVu
ZGVyUGFzc0VuY29kZXIuaAppbmRleCA2YjViY2EzOGYwYTVjZDgxY2NhY2UyZjExY2NiOTU5NjY5
YjliNGZhLi41Yzk0OTVhMDU5Mzg4NWNlOTZhNWFlODRkYTAzMDI5ZGZlN2IzNzQ1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9SZW5kZXJQYXNzRW5jb2Rlci5oCisrKyBiL1NvdXJj
ZS9XZWJHUFUvV2ViR1BVL1JlbmRlclBhc3NFbmNvZGVyLmgKQEAgLTcxLDcgKzcxLDYgQEAgcHVi
bGljOgogICAgIHZvaWQgc2V0U3RlbmNpbFJlZmVyZW5jZSh1aW50MzJfdCk7CiAgICAgdm9pZCBz
ZXRWZXJ0ZXhCdWZmZXIodWludDMyX3Qgc2xvdCwgY29uc3QgQnVmZmVyJiwgdWludDY0X3Qgb2Zm
c2V0LCB1aW50NjRfdCBzaXplKTsKICAgICB2b2lkIHNldFZpZXdwb3J0KGZsb2F0IHgsIGZsb2F0
IHksIGZsb2F0IHdpZHRoLCBmbG9hdCBoZWlnaHQsIGZsb2F0IG1pbkRlcHRoLCBmbG9hdCBtYXhE
ZXB0aCk7Ci0gICAgdm9pZCB3cml0ZVRpbWVzdGFtcChjb25zdCBRdWVyeVNldCYsIHVpbnQzMl90
IHF1ZXJ5SW5kZXgpOwogICAgIHZvaWQgc2V0TGFiZWwoY29uc3QgY2hhciopOwogCiBwcml2YXRl
OgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkdQVS9XZWJHUFUvUmVuZGVyUGFzc0VuY29kZXIubW0g
Yi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9SZW5kZXJQYXNzRW5jb2Rlci5tbQppbmRleCBiM2MzOTNl
NzAxM2Q5MWQyZWQxYzlkZTkyMTJjNzQyOGJlZmNlY2M1Li5jYjlkYmExYmQzNWVmYWM1Y2ZjY2Y5
YjZlNDY0MTk1YTZhMWZmMTg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9SZW5k
ZXJQYXNzRW5jb2Rlci5tbQorKysgYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9SZW5kZXJQYXNzRW5j
b2Rlci5tbQpAQCAtMTcxLDEyICsxNzEsNiBAQCB2b2lkIFJlbmRlclBhc3NFbmNvZGVyOjpzZXRW
aWV3cG9ydChmbG9hdCB4LCBmbG9hdCB5LCBmbG9hdCB3aWR0aCwgZmxvYXQgaGVpZ2h0LAogICAg
IFVOVVNFRF9QQVJBTShtYXhEZXB0aCk7CiB9CiAKLXZvaWQgUmVuZGVyUGFzc0VuY29kZXI6Ondy
aXRlVGltZXN0YW1wKGNvbnN0IFF1ZXJ5U2V0JiBxdWVyeVNldCwgdWludDMyX3QgcXVlcnlJbmRl
eCkKLXsKLSAgICBVTlVTRURfUEFSQU0ocXVlcnlTZXQpOwotICAgIFVOVVNFRF9QQVJBTShxdWVy
eUluZGV4KTsKLX0KLQogdm9pZCBSZW5kZXJQYXNzRW5jb2Rlcjo6c2V0TGFiZWwoY29uc3QgY2hh
ciogbGFiZWwpCiB7CiAgICAgVU5VU0VEX1BBUkFNKGxhYmVsKTsKQEAgLTI5NywxMSArMjkxLDYg
QEAgdm9pZCB3Z3B1UmVuZGVyUGFzc0VuY29kZXJTZXRWaWV3cG9ydChXR1BVUmVuZGVyUGFzc0Vu
Y29kZXIgcmVuZGVyUGFzc0VuY29kZXIsIGYKICAgICByZW5kZXJQYXNzRW5jb2Rlci0+cmVuZGVy
UGFzc0VuY29kZXItPnNldFZpZXdwb3J0KHgsIHksIHdpZHRoLCBoZWlnaHQsIG1pbkRlcHRoLCBt
YXhEZXB0aCk7CiB9CiAKLXZvaWQgd2dwdVJlbmRlclBhc3NFbmNvZGVyV3JpdGVUaW1lc3RhbXAo
V0dQVVJlbmRlclBhc3NFbmNvZGVyIHJlbmRlclBhc3NFbmNvZGVyLCBXR1BVUXVlcnlTZXQgcXVl
cnlTZXQsIHVpbnQzMl90IHF1ZXJ5SW5kZXgpCi17Ci0gICAgcmVuZGVyUGFzc0VuY29kZXItPnJl
bmRlclBhc3NFbmNvZGVyLT53cml0ZVRpbWVzdGFtcChxdWVyeVNldC0+cXVlcnlTZXQsIHF1ZXJ5
SW5kZXgpOwotfQotCiB2b2lkIHdncHVSZW5kZXJQYXNzRW5jb2RlclNldExhYmVsKFdHUFVSZW5k
ZXJQYXNzRW5jb2RlciByZW5kZXJQYXNzRW5jb2RlciwgY29uc3QgY2hhciogbGFiZWwpCiB7CiAg
ICAgcmVuZGVyUGFzc0VuY29kZXItPnJlbmRlclBhc3NFbmNvZGVyLT5zZXRMYWJlbChsYWJlbCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9TaGFkZXJNb2R1bGUuaCBiL1NvdXJj
ZS9XZWJHUFUvV2ViR1BVL1NoYWRlck1vZHVsZS5oCmluZGV4IGNjZDk1ZTA1MzAzMDc1MmFhZjdi
NWY3NmE5ZWZiNDQzZWRjNTU4M2MuLmMyYWQzZWVkMTg3MTU0MWIyOTU1ZWRjZTBiY2ZkZDBjOTU2
NmZkNjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL1NoYWRlck1vZHVsZS5oCisr
KyBiL1NvdXJjZS9XZWJHUFUvV2ViR1BVL1NoYWRlck1vZHVsZS5oCkBAIC00Miw2ICs0Miw3IEBA
IHB1YmxpYzoKIAogICAgIH5TaGFkZXJNb2R1bGUoKTsKIAorICAgIHZvaWQgZ2V0Q29tcGlsYXRp
b25JbmZvKFdURjo6RnVuY3Rpb248dm9pZChXR1BVQ29tcGlsYXRpb25JbmZvUmVxdWVzdFN0YXR1
cywgY29uc3QgV0dQVUNvbXBpbGF0aW9uSW5mbyopPiYmIGNhbGxiYWNrKTsKICAgICB2b2lkIHNl
dExhYmVsKGNvbnN0IGNoYXIqKTsKIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJH
UFUvV2ViR1BVL1NoYWRlck1vZHVsZS5tbSBiL1NvdXJjZS9XZWJHUFUvV2ViR1BVL1NoYWRlck1v
ZHVsZS5tbQppbmRleCA5NTRkY2YxNDZjMjMwZjEyNmQwYmM4NTYyZDFhODY1M2NhNGQyMmNjLi42
Y2IzYzllOWYwZGFhNGVlM2EzYTcyMjg2ODQzMWRlMTcyNTY4YzgzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViR1BVL1dlYkdQVS9TaGFkZXJNb2R1bGUubW0KKysrIGIvU291cmNlL1dlYkdQVS9XZWJH
UFUvU2hhZGVyTW9kdWxlLm1tCkBAIC0zNCw2ICszNCwxMSBAQCBTaGFkZXJNb2R1bGU6OlNoYWRl
ck1vZHVsZSgpID0gZGVmYXVsdDsKIAogU2hhZGVyTW9kdWxlOjp+U2hhZGVyTW9kdWxlKCkgPSBk
ZWZhdWx0OwogCit2b2lkIFNoYWRlck1vZHVsZTo6Z2V0Q29tcGlsYXRpb25JbmZvKFdURjo6RnVu
Y3Rpb248dm9pZChXR1BVQ29tcGlsYXRpb25JbmZvUmVxdWVzdFN0YXR1cywgY29uc3QgV0dQVUNv
bXBpbGF0aW9uSW5mbyopPiYmIGNhbGxiYWNrKQoreworICAgIFVOVVNFRF9QQVJBTShjYWxsYmFj
ayk7Cit9CisKIHZvaWQgU2hhZGVyTW9kdWxlOjpzZXRMYWJlbChjb25zdCBjaGFyKiBsYWJlbCkK
IHsKICAgICBVTlVTRURfUEFSQU0obGFiZWwpOwpAQCAtNDYsNiArNTEsMTMgQEAgdm9pZCB3Z3B1
U2hhZGVyTW9kdWxlUmVsZWFzZShXR1BVU2hhZGVyTW9kdWxlIHNoYWRlck1vZHVsZSkKICAgICBk
ZWxldGUgc2hhZGVyTW9kdWxlOwogfQogCit2b2lkIHdncHVTaGFkZXJNb2R1bGVHZXRDb21waWxh
dGlvbkluZm8oV0dQVVNoYWRlck1vZHVsZSBzaGFkZXJNb2R1bGUsIFdHUFVDb21waWxhdGlvbklu
Zm9DYWxsYmFjayBjYWxsYmFjaywgdm9pZCAqIHVzZXJkYXRhKQoreworICAgIHNoYWRlck1vZHVs
ZS0+c2hhZGVyTW9kdWxlLT5nZXRDb21waWxhdGlvbkluZm8oW2NhbGxiYWNrLCB1c2VyZGF0YV0g
KFdHUFVDb21waWxhdGlvbkluZm9SZXF1ZXN0U3RhdHVzIHN0YXR1cywgY29uc3QgV0dQVUNvbXBp
bGF0aW9uSW5mbyogY29tcGlsYXRpb25JbmZvKSB7CisgICAgICAgIGNhbGxiYWNrKHN0YXR1cywg
Y29tcGlsYXRpb25JbmZvLCB1c2VyZGF0YSk7CisgICAgfSk7Cit9CisKIHZvaWQgd2dwdVNoYWRl
ck1vZHVsZVNldExhYmVsKFdHUFVTaGFkZXJNb2R1bGUgc2hhZGVyTW9kdWxlLCBjb25zdCBjaGFy
KiBsYWJlbCkKIHsKICAgICBzaGFkZXJNb2R1bGUtPnNoYWRlck1vZHVsZS0+c2V0TGFiZWwobGFi
ZWwpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkdQVS9XZWJHUFUvV2ViR1BVLmggYi9Tb3VyY2Uv
V2ViR1BVL1dlYkdQVS9XZWJHUFUuaAppbmRleCA1YWZiMzgzMjZiYWFiYzhkNjRiMDAzYTI1NTIw
YzFkZTFiMjdmYmY0Li4wOTkzMTZiMWQzYjc3OGJiMDhlM2Q2NTIwNDhjZjY0YjMwYjg4YzAxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9XZWJHUFUuaAorKysgYi9Tb3VyY2UvV2Vi
R1BVL1dlYkdQVS9XZWJHUFUuaApAQCAtNTIsMTIgKzUyLDEzIEBACiAjaW5jbHVkZSA8c3RkZGVm
Lmg+CiAjaW5jbHVkZSA8c3RkYm9vbC5oPgogCi0jZGVmaW5lIFdHUFVfV0hPTEVfU0laRSAoMHhm
ZmZmZmZmZmZmZmZmZmZmVUxMKQorI2RlZmluZSBXR1BVX0FSUkFZX0xBWUVSX0NPVU5UX1VOREVG
SU5FRCAoMHhmZmZmZmZmZlVMKQogI2RlZmluZSBXR1BVX0NPUFlfU1RSSURFX1VOREVGSU5FRCAo
MHhmZmZmZmZmZlVMKQogI2RlZmluZSBXR1BVX0xJTUlUX1UzMl9VTkRFRklORUQgKDB4ZmZmZmZm
ZmZVTCkKICNkZWZpbmUgV0dQVV9MSU1JVF9VNjRfVU5ERUZJTkVEICgweGZmZmZmZmZmZmZmZmZm
ZmZVTEwpCi0jZGVmaW5lIFdHUFVfQVJSQVlfTEFZRVJfQ09VTlRfVU5ERUZJTkVEICgweGZmZmZm
ZmZmVUwpCiAjZGVmaW5lIFdHUFVfTUlQX0xFVkVMX0NPVU5UX1VOREVGSU5FRCAoMHhmZmZmZmZm
ZlVMKQorI2RlZmluZSBXR1BVX1dIT0xFX01BUF9TSVpFIFNJWkVfTUFYCisjZGVmaW5lIFdHUFVf
V0hPTEVfU0laRSAoMHhmZmZmZmZmZmZmZmZmZmZmVUxMKQogCiB0eXBlZGVmIHVpbnQzMl90IFdH
UFVGbGFnczsKIApAQCAtMTY5LDYgKzE3MCwxNCBAQCB0eXBlZGVmIGVudW0gV0dQVUNvbXBhcmVG
dW5jdGlvbiB7CiAgICAgV0dQVUNvbXBhcmVGdW5jdGlvbl9Gb3JjZTMyID0gMHg3RkZGRkZGRgog
fSBXR1BVQ29tcGFyZUZ1bmN0aW9uOwogCit0eXBlZGVmIGVudW0gV0dQVUNvbXBpbGF0aW9uSW5m
b1JlcXVlc3RTdGF0dXMgeworICAgIFdHUFVDb21waWxhdGlvbkluZm9SZXF1ZXN0U3RhdHVzX1N1
Y2Nlc3MgPSAweDAwMDAwMDAwLAorICAgIFdHUFVDb21waWxhdGlvbkluZm9SZXF1ZXN0U3RhdHVz
X0Vycm9yID0gMHgwMDAwMDAwMSwKKyAgICBXR1BVQ29tcGlsYXRpb25JbmZvUmVxdWVzdFN0YXR1
c19EZXZpY2VMb3N0ID0gMHgwMDAwMDAwMiwKKyAgICBXR1BVQ29tcGlsYXRpb25JbmZvUmVxdWVz
dFN0YXR1c19Vbmtub3duID0gMHgwMDAwMDAwMywKKyAgICBXR1BVQ29tcGlsYXRpb25JbmZvUmVx
dWVzdFN0YXR1c19Gb3JjZTMyID0gMHg3RkZGRkZGRgorfSBXR1BVQ29tcGlsYXRpb25JbmZvUmVx
dWVzdFN0YXR1czsKKwogdHlwZWRlZiBlbnVtIFdHUFVDb21waWxhdGlvbk1lc3NhZ2VUeXBlIHsK
ICAgICBXR1BVQ29tcGlsYXRpb25NZXNzYWdlVHlwZV9FcnJvciA9IDB4MDAwMDAwMDAsCiAgICAg
V0dQVUNvbXBpbGF0aW9uTWVzc2FnZVR5cGVfV2FybmluZyA9IDB4MDAwMDAwMDEsCkBAIC0xNzYs
NiArMTg1LDEyIEBAIHR5cGVkZWYgZW51bSBXR1BVQ29tcGlsYXRpb25NZXNzYWdlVHlwZSB7CiAg
ICAgV0dQVUNvbXBpbGF0aW9uTWVzc2FnZVR5cGVfRm9yY2UzMiA9IDB4N0ZGRkZGRkYKIH0gV0dQ
VUNvbXBpbGF0aW9uTWVzc2FnZVR5cGU7CiAKK3R5cGVkZWYgZW51bSBXR1BVQ29tcHV0ZVBhc3NU
aW1lc3RhbXBMb2NhdGlvbiB7CisgICAgV0dQVUNvbXB1dGVQYXNzVGltZXN0YW1wTG9jYXRpb25f
QmVnaW5uaW5nID0gMHgwMDAwMDAwMCwKKyAgICBXR1BVQ29tcHV0ZVBhc3NUaW1lc3RhbXBMb2Nh
dGlvbl9FbmQgPSAweDAwMDAwMDAxLAorICAgIFdHUFVDb21wdXRlUGFzc1RpbWVzdGFtcExvY2F0
aW9uX0ZvcmNlMzIgPSAweDdGRkZGRkZGCit9IFdHUFVDb21wdXRlUGFzc1RpbWVzdGFtcExvY2F0
aW9uOworCiB0eXBlZGVmIGVudW0gV0dQVUNyZWF0ZVBpcGVsaW5lQXN5bmNTdGF0dXMgewogICAg
IFdHUFVDcmVhdGVQaXBlbGluZUFzeW5jU3RhdHVzX1N1Y2Nlc3MgPSAweDAwMDAwMDAwLAogICAg
IFdHUFVDcmVhdGVQaXBlbGluZUFzeW5jU3RhdHVzX0Vycm9yID0gMHgwMDAwMDAwMSwKQEAgLTE5
OSw5ICsyMTQsOCBAQCB0eXBlZGVmIGVudW0gV0dQVURldmljZUxvc3RSZWFzb24gewogfSBXR1BV
RGV2aWNlTG9zdFJlYXNvbjsKIAogdHlwZWRlZiBlbnVtIFdHUFVFcnJvckZpbHRlciB7Ci0gICAg
V0dQVUVycm9yRmlsdGVyX05vbmUgPSAweDAwMDAwMDAwLAotICAgIFdHUFVFcnJvckZpbHRlcl9W
YWxpZGF0aW9uID0gMHgwMDAwMDAwMSwKLSAgICBXR1BVRXJyb3JGaWx0ZXJfT3V0T2ZNZW1vcnkg
PSAweDAwMDAwMDAyLAorICAgIFdHUFVFcnJvckZpbHRlcl9WYWxpZGF0aW9uID0gMHgwMDAwMDAw
MCwKKyAgICBXR1BVRXJyb3JGaWx0ZXJfT3V0T2ZNZW1vcnkgPSAweDAwMDAwMDAxLAogICAgIFdH
UFVFcnJvckZpbHRlcl9Gb3JjZTMyID0gMHg3RkZGRkZGRgogfSBXR1BVRXJyb3JGaWx0ZXI7CiAK
QEAgLTIxNiwxMiArMjMwLDE1IEBAIHR5cGVkZWYgZW51bSBXR1BVRXJyb3JUeXBlIHsKIAogdHlw
ZWRlZiBlbnVtIFdHUFVGZWF0dXJlTmFtZSB7CiAgICAgV0dQVUZlYXR1cmVOYW1lX1VuZGVmaW5l
ZCA9IDB4MDAwMDAwMDAsCi0gICAgV0dQVUZlYXR1cmVOYW1lX0RlcHRoQ2xhbXBpbmcgPSAweDAw
MDAwMDAxLAorICAgIFdHUFVGZWF0dXJlTmFtZV9EZXB0aENsaXBDb250cm9sID0gMHgwMDAwMDAw
MSwKICAgICBXR1BVRmVhdHVyZU5hbWVfRGVwdGgyNFVub3JtU3RlbmNpbDggPSAweDAwMDAwMDAy
LAogICAgIFdHUFVGZWF0dXJlTmFtZV9EZXB0aDMyRmxvYXRTdGVuY2lsOCA9IDB4MDAwMDAwMDMs
CiAgICAgV0dQVUZlYXR1cmVOYW1lX1RpbWVzdGFtcFF1ZXJ5ID0gMHgwMDAwMDAwNCwKICAgICBX
R1BVRmVhdHVyZU5hbWVfUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkgPSAweDAwMDAwMDA1LAogICAg
IFdHUFVGZWF0dXJlTmFtZV9UZXh0dXJlQ29tcHJlc3Npb25CQyA9IDB4MDAwMDAwMDYsCisgICAg
V0dQVUZlYXR1cmVOYW1lX1RleHR1cmVDb21wcmVzc2lvbkVUQzIgPSAweDAwMDAwMDA3LAorICAg
IFdHUFVGZWF0dXJlTmFtZV9UZXh0dXJlQ29tcHJlc3Npb25BU1RDID0gMHgwMDAwMDAwOCwKKyAg
ICBXR1BVRmVhdHVyZU5hbWVfSW5kaXJlY3RGaXJzdEluc3RhbmNlID0gMHgwMDAwMDAwOSwKICAg
ICBXR1BVRmVhdHVyZU5hbWVfRm9yY2UzMiA9IDB4N0ZGRkZGRkYKIH0gV0dQVUZlYXR1cmVOYW1l
OwogCkBAIC0yNjAsOCArMjc3LDkgQEAgdHlwZWRlZiBlbnVtIFdHUFVQaXBlbGluZVN0YXRpc3Rp
Y05hbWUgewogfSBXR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lOwogCiB0eXBlZGVmIGVudW0gV0dQ
VVBvd2VyUHJlZmVyZW5jZSB7Ci0gICAgV0dQVVBvd2VyUHJlZmVyZW5jZV9Mb3dQb3dlciA9IDB4
MDAwMDAwMDAsCi0gICAgV0dQVVBvd2VyUHJlZmVyZW5jZV9IaWdoUGVyZm9ybWFuY2UgPSAweDAw
MDAwMDAxLAorICAgIFdHUFVQb3dlclByZWZlcmVuY2VfVW5kZWZpbmVkID0gMHgwMDAwMDAwMCwK
KyAgICBXR1BVUG93ZXJQcmVmZXJlbmNlX0xvd1Bvd2VyID0gMHgwMDAwMDAwMSwKKyAgICBXR1BV
UG93ZXJQcmVmZXJlbmNlX0hpZ2hQZXJmb3JtYW5jZSA9IDB4MDAwMDAwMDIsCiAgICAgV0dQVVBv
d2VyUHJlZmVyZW5jZV9Gb3JjZTMyID0gMHg3RkZGRkZGRgogfSBXR1BVUG93ZXJQcmVmZXJlbmNl
OwogCkBAIC0yOTYsNiArMzE0LDEyIEBAIHR5cGVkZWYgZW51bSBXR1BVUXVldWVXb3JrRG9uZVN0
YXR1cyB7CiAgICAgV0dQVVF1ZXVlV29ya0RvbmVTdGF0dXNfRm9yY2UzMiA9IDB4N0ZGRkZGRkYK
IH0gV0dQVVF1ZXVlV29ya0RvbmVTdGF0dXM7CiAKK3R5cGVkZWYgZW51bSBXR1BVUmVuZGVyUGFz
c1RpbWVzdGFtcExvY2F0aW9uIHsKKyAgICBXR1BVUmVuZGVyUGFzc1RpbWVzdGFtcExvY2F0aW9u
X0JlZ2lubmluZyA9IDB4MDAwMDAwMDAsCisgICAgV0dQVVJlbmRlclBhc3NUaW1lc3RhbXBMb2Nh
dGlvbl9FbmQgPSAweDAwMDAwMDAxLAorICAgIFdHUFVSZW5kZXJQYXNzVGltZXN0YW1wTG9jYXRp
b25fRm9yY2UzMiA9IDB4N0ZGRkZGRkYKK30gV0dQVVJlbmRlclBhc3NUaW1lc3RhbXBMb2NhdGlv
bjsKKwogdHlwZWRlZiBlbnVtIFdHUFVSZXF1ZXN0QWRhcHRlclN0YXR1cyB7CiAgICAgV0dQVVJl
cXVlc3RBZGFwdGVyU3RhdHVzX1N1Y2Nlc3MgPSAweDAwMDAwMDAwLAogICAgIFdHUFVSZXF1ZXN0
QWRhcHRlclN0YXR1c19VbmF2YWlsYWJsZSA9IDB4MDAwMDAwMDEsCkBAIC0zMTksNyArMzQzLDkg
QEAgdHlwZWRlZiBlbnVtIFdHUFVTVHlwZSB7CiAgICAgV0dQVVNUeXBlX1N1cmZhY2VEZXNjcmlw
dG9yRnJvbUNhbnZhc0hUTUxTZWxlY3RvciA9IDB4MDAwMDAwMDQsCiAgICAgV0dQVVNUeXBlX1No
YWRlck1vZHVsZVNQSVJWRGVzY3JpcHRvciA9IDB4MDAwMDAwMDUsCiAgICAgV0dQVVNUeXBlX1No
YWRlck1vZHVsZVdHU0xEZXNjcmlwdG9yID0gMHgwMDAwMDAwNiwKLSAgICBXR1BVU1R5cGVfUHJp
bWl0aXZlRGVwdGhDbGFtcGluZ1N0YXRlID0gMHgwMDAwMDAwNywKKyAgICBXR1BVU1R5cGVfUHJp
bWl0aXZlRGVwdGhDbGlwQ29udHJvbCA9IDB4MDAwMDAwMDcsCisgICAgV0dQVVNUeXBlX1N1cmZh
Y2VEZXNjcmlwdG9yRnJvbVdheWxhbmRTdXJmYWNlID0gMHgwMDAwMDAwOCwKKyAgICBXR1BVU1R5
cGVfU3VyZmFjZURlc2NyaXB0b3JGcm9tQW5kcm9pZE5hdGl2ZVdpbmRvdyA9IDB4MDAwMDAwMDks
CiAgICAgV0dQVVNUeXBlX0ZvcmNlMzIgPSAweDdGRkZGRkZGCiB9IFdHUFVTVHlwZTsKIApAQCAt
NDE5LDIxICs0NDUsNjEgQEAgdHlwZWRlZiBlbnVtIFdHUFVUZXh0dXJlRm9ybWF0IHsKICAgICBX
R1BVVGV4dHVyZUZvcm1hdF9EZXB0aDE2VW5vcm0gPSAweDAwMDAwMDI2LAogICAgIFdHUFVUZXh0
dXJlRm9ybWF0X0RlcHRoMjRQbHVzID0gMHgwMDAwMDAyNywKICAgICBXR1BVVGV4dHVyZUZvcm1h
dF9EZXB0aDI0UGx1c1N0ZW5jaWw4ID0gMHgwMDAwMDAyOCwKLSAgICBXR1BVVGV4dHVyZUZvcm1h
dF9EZXB0aDMyRmxvYXQgPSAweDAwMDAwMDI5LAotICAgIFdHUFVUZXh0dXJlRm9ybWF0X0JDMVJH
QkFVbm9ybSA9IDB4MDAwMDAwMkEsCi0gICAgV0dQVVRleHR1cmVGb3JtYXRfQkMxUkdCQVVub3Jt
U3JnYiA9IDB4MDAwMDAwMkIsCi0gICAgV0dQVVRleHR1cmVGb3JtYXRfQkMyUkdCQVVub3JtID0g
MHgwMDAwMDAyQywKLSAgICBXR1BVVGV4dHVyZUZvcm1hdF9CQzJSR0JBVW5vcm1TcmdiID0gMHgw
MDAwMDAyRCwKLSAgICBXR1BVVGV4dHVyZUZvcm1hdF9CQzNSR0JBVW5vcm0gPSAweDAwMDAwMDJF
LAotICAgIFdHUFVUZXh0dXJlRm9ybWF0X0JDM1JHQkFVbm9ybVNyZ2IgPSAweDAwMDAwMDJGLAot
ICAgIFdHUFVUZXh0dXJlRm9ybWF0X0JDNFJVbm9ybSA9IDB4MDAwMDAwMzAsCi0gICAgV0dQVVRl
eHR1cmVGb3JtYXRfQkM0UlNub3JtID0gMHgwMDAwMDAzMSwKLSAgICBXR1BVVGV4dHVyZUZvcm1h
dF9CQzVSR1Vub3JtID0gMHgwMDAwMDAzMiwKLSAgICBXR1BVVGV4dHVyZUZvcm1hdF9CQzVSR1Nu
b3JtID0gMHgwMDAwMDAzMywKLSAgICBXR1BVVGV4dHVyZUZvcm1hdF9CQzZIUkdCVWZsb2F0ID0g
MHgwMDAwMDAzNCwKLSAgICBXR1BVVGV4dHVyZUZvcm1hdF9CQzZIUkdCRmxvYXQgPSAweDAwMDAw
MDM1LAotICAgIFdHUFVUZXh0dXJlRm9ybWF0X0JDN1JHQkFVbm9ybSA9IDB4MDAwMDAwMzYsCi0g
ICAgV0dQVVRleHR1cmVGb3JtYXRfQkM3UkdCQVVub3JtU3JnYiA9IDB4MDAwMDAwMzcsCisgICAg
V0dQVVRleHR1cmVGb3JtYXRfRGVwdGgyNFVub3JtU3RlbmNpbDggPSAweDAwMDAwMDI5LAorICAg
IFdHUFVUZXh0dXJlRm9ybWF0X0RlcHRoMzJGbG9hdCA9IDB4MDAwMDAwMkEsCisgICAgV0dQVVRl
eHR1cmVGb3JtYXRfRGVwdGgzMkZsb2F0U3RlbmNpbDggPSAweDAwMDAwMDJCLAorICAgIFdHUFVU
ZXh0dXJlRm9ybWF0X0JDMVJHQkFVbm9ybSA9IDB4MDAwMDAwMkMsCisgICAgV0dQVVRleHR1cmVG
b3JtYXRfQkMxUkdCQVVub3JtU3JnYiA9IDB4MDAwMDAwMkQsCisgICAgV0dQVVRleHR1cmVGb3Jt
YXRfQkMyUkdCQVVub3JtID0gMHgwMDAwMDAyRSwKKyAgICBXR1BVVGV4dHVyZUZvcm1hdF9CQzJS
R0JBVW5vcm1TcmdiID0gMHgwMDAwMDAyRiwKKyAgICBXR1BVVGV4dHVyZUZvcm1hdF9CQzNSR0JB
VW5vcm0gPSAweDAwMDAwMDMwLAorICAgIFdHUFVUZXh0dXJlRm9ybWF0X0JDM1JHQkFVbm9ybVNy
Z2IgPSAweDAwMDAwMDMxLAorICAgIFdHUFVUZXh0dXJlRm9ybWF0X0JDNFJVbm9ybSA9IDB4MDAw
MDAwMzIsCisgICAgV0dQVVRleHR1cmVGb3JtYXRfQkM0UlNub3JtID0gMHgwMDAwMDAzMywKKyAg
ICBXR1BVVGV4dHVyZUZvcm1hdF9CQzVSR1Vub3JtID0gMHgwMDAwMDAzNCwKKyAgICBXR1BVVGV4
dHVyZUZvcm1hdF9CQzVSR1Nub3JtID0gMHgwMDAwMDAzNSwKKyAgICBXR1BVVGV4dHVyZUZvcm1h
dF9CQzZIUkdCVWZsb2F0ID0gMHgwMDAwMDAzNiwKKyAgICBXR1BVVGV4dHVyZUZvcm1hdF9CQzZI
UkdCRmxvYXQgPSAweDAwMDAwMDM3LAorICAgIFdHUFVUZXh0dXJlRm9ybWF0X0JDN1JHQkFVbm9y
bSA9IDB4MDAwMDAwMzgsCisgICAgV0dQVVRleHR1cmVGb3JtYXRfQkM3UkdCQVVub3JtU3JnYiA9
IDB4MDAwMDAwMzksCisgICAgV0dQVVRleHR1cmVGb3JtYXRfRVRDMlJHQjhVbm9ybSA9IDB4MDAw
MDAwM0EsCisgICAgV0dQVVRleHR1cmVGb3JtYXRfRVRDMlJHQjhVbm9ybVNyZ2IgPSAweDAwMDAw
MDNCLAorICAgIFdHUFVUZXh0dXJlRm9ybWF0X0VUQzJSR0I4QTFVbm9ybSA9IDB4MDAwMDAwM0Ms
CisgICAgV0dQVVRleHR1cmVGb3JtYXRfRVRDMlJHQjhBMVVub3JtU3JnYiA9IDB4MDAwMDAwM0Qs
CisgICAgV0dQVVRleHR1cmVGb3JtYXRfRVRDMlJHQkE4VW5vcm0gPSAweDAwMDAwMDNFLAorICAg
IFdHUFVUZXh0dXJlRm9ybWF0X0VUQzJSR0JBOFVub3JtU3JnYiA9IDB4MDAwMDAwM0YsCisgICAg
V0dQVVRleHR1cmVGb3JtYXRfRUFDUjExVW5vcm0gPSAweDAwMDAwMDQwLAorICAgIFdHUFVUZXh0
dXJlRm9ybWF0X0VBQ1IxMVNub3JtID0gMHgwMDAwMDA0MSwKKyAgICBXR1BVVGV4dHVyZUZvcm1h
dF9FQUNSRzExVW5vcm0gPSAweDAwMDAwMDQyLAorICAgIFdHUFVUZXh0dXJlRm9ybWF0X0VBQ1JH
MTFTbm9ybSA9IDB4MDAwMDAwNDMsCisgICAgV0dQVVRleHR1cmVGb3JtYXRfQVNUQzR4NFVub3Jt
ID0gMHgwMDAwMDA0NCwKKyAgICBXR1BVVGV4dHVyZUZvcm1hdF9BU1RDNHg0VW5vcm1TcmdiID0g
MHgwMDAwMDA0NSwKKyAgICBXR1BVVGV4dHVyZUZvcm1hdF9BU1RDNXg0VW5vcm0gPSAweDAwMDAw
MDQ2LAorICAgIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEM1eDRVbm9ybVNyZ2IgPSAweDAwMDAwMDQ3
LAorICAgIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEM1eDVVbm9ybSA9IDB4MDAwMDAwNDgsCisgICAg
V0dQVVRleHR1cmVGb3JtYXRfQVNUQzV4NVVub3JtU3JnYiA9IDB4MDAwMDAwNDksCisgICAgV0dQ
VVRleHR1cmVGb3JtYXRfQVNUQzZ4NVVub3JtID0gMHgwMDAwMDA0QSwKKyAgICBXR1BVVGV4dHVy
ZUZvcm1hdF9BU1RDNng1VW5vcm1TcmdiID0gMHgwMDAwMDA0QiwKKyAgICBXR1BVVGV4dHVyZUZv
cm1hdF9BU1RDNng2VW5vcm0gPSAweDAwMDAwMDRDLAorICAgIFdHUFVUZXh0dXJlRm9ybWF0X0FT
VEM2eDZVbm9ybVNyZ2IgPSAweDAwMDAwMDRELAorICAgIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEM4
eDVVbm9ybSA9IDB4MDAwMDAwNEUsCisgICAgV0dQVVRleHR1cmVGb3JtYXRfQVNUQzh4NVVub3Jt
U3JnYiA9IDB4MDAwMDAwNEYsCisgICAgV0dQVVRleHR1cmVGb3JtYXRfQVNUQzh4NlVub3JtID0g
MHgwMDAwMDA1MCwKKyAgICBXR1BVVGV4dHVyZUZvcm1hdF9BU1RDOHg2VW5vcm1TcmdiID0gMHgw
MDAwMDA1MSwKKyAgICBXR1BVVGV4dHVyZUZvcm1hdF9BU1RDOHg4VW5vcm0gPSAweDAwMDAwMDUy
LAorICAgIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEM4eDhVbm9ybVNyZ2IgPSAweDAwMDAwMDUzLAor
ICAgIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEMxMHg1VW5vcm0gPSAweDAwMDAwMDU0LAorICAgIFdH
UFVUZXh0dXJlRm9ybWF0X0FTVEMxMHg1VW5vcm1TcmdiID0gMHgwMDAwMDA1NSwKKyAgICBXR1BV
VGV4dHVyZUZvcm1hdF9BU1RDMTB4NlVub3JtID0gMHgwMDAwMDA1NiwKKyAgICBXR1BVVGV4dHVy
ZUZvcm1hdF9BU1RDMTB4NlVub3JtU3JnYiA9IDB4MDAwMDAwNTcsCisgICAgV0dQVVRleHR1cmVG
b3JtYXRfQVNUQzEweDhVbm9ybSA9IDB4MDAwMDAwNTgsCisgICAgV0dQVVRleHR1cmVGb3JtYXRf
QVNUQzEweDhVbm9ybVNyZ2IgPSAweDAwMDAwMDU5LAorICAgIFdHUFVUZXh0dXJlRm9ybWF0X0FT
VEMxMHgxMFVub3JtID0gMHgwMDAwMDA1QSwKKyAgICBXR1BVVGV4dHVyZUZvcm1hdF9BU1RDMTB4
MTBVbm9ybVNyZ2IgPSAweDAwMDAwMDVCLAorICAgIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEMxMngx
MFVub3JtID0gMHgwMDAwMDA1QywKKyAgICBXR1BVVGV4dHVyZUZvcm1hdF9BU1RDMTJ4MTBVbm9y
bVNyZ2IgPSAweDAwMDAwMDVELAorICAgIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEMxMngxMlVub3Jt
ID0gMHgwMDAwMDA1RSwKKyAgICBXR1BVVGV4dHVyZUZvcm1hdF9BU1RDMTJ4MTJVbm9ybVNyZ2Ig
PSAweDAwMDAwMDVGLAogICAgIFdHUFVUZXh0dXJlRm9ybWF0X0ZvcmNlMzIgPSAweDdGRkZGRkZG
CiB9IFdHUFVUZXh0dXJlRm9ybWF0OwogCkBAIC02MzIsMTAgKzY5OCwxMSBAQCB0eXBlZGVmIHN0
cnVjdCBXR1BVQ29tcGlsYXRpb25NZXNzYWdlIHsKICAgICB1aW50NjRfdCBsZW5ndGg7CiB9IFdH
UFVDb21waWxhdGlvbk1lc3NhZ2U7CiAKLXR5cGVkZWYgc3RydWN0IFdHUFVDb21wdXRlUGFzc0Rl
c2NyaXB0b3IgewotICAgIFdHUFVDaGFpbmVkU3RydWN0IGNvbnN0ICogbmV4dEluQ2hhaW47Ci0g
ICAgY2hhciBjb25zdCAqIGxhYmVsOwotfSBXR1BVQ29tcHV0ZVBhc3NEZXNjcmlwdG9yOwordHlw
ZWRlZiBzdHJ1Y3QgV0dQVUNvbXB1dGVQYXNzVGltZXN0YW1wV3JpdGUgeworICAgIFdHUFVRdWVy
eVNldCBxdWVyeVNldDsKKyAgICB1aW50MzJfdCBxdWVyeUluZGV4OworICAgIFdHUFVDb21wdXRl
UGFzc1RpbWVzdGFtcExvY2F0aW9uIGxvY2F0aW9uOworfSBXR1BVQ29tcHV0ZVBhc3NUaW1lc3Rh
bXBXcml0ZTsKIAogdHlwZWRlZiBzdHJ1Y3QgV0dQVUNvbnN0YW50RW50cnkgewogICAgIFdHUFVD
aGFpbmVkU3RydWN0IGNvbnN0ICogbmV4dEluQ2hhaW47CkBAIC03MDIsMTAgKzc2OSwxMCBAQCB0
eXBlZGVmIHN0cnVjdCBXR1BVUGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yIHsKICAgICBXR1BVQmlu
ZEdyb3VwTGF5b3V0IGNvbnN0ICogYmluZEdyb3VwTGF5b3V0czsKIH0gV0dQVVBpcGVsaW5lTGF5
b3V0RGVzY3JpcHRvcjsKIAotdHlwZWRlZiBzdHJ1Y3QgV0dQVVByaW1pdGl2ZURlcHRoQ2xhbXBp
bmdTdGF0ZSB7Cit0eXBlZGVmIHN0cnVjdCBXR1BVUHJpbWl0aXZlRGVwdGhDbGlwQ29udHJvbCB7
CiAgICAgV0dQVUNoYWluZWRTdHJ1Y3QgY2hhaW47Ci0gICAgYm9vbCBjbGFtcERlcHRoOwotfSBX
R1BVUHJpbWl0aXZlRGVwdGhDbGFtcGluZ1N0YXRlOworICAgIGJvb2wgdW5jbGlwcGVkRGVwdGg7
Cit9IFdHUFVQcmltaXRpdmVEZXB0aENsaXBDb250cm9sOwogCiB0eXBlZGVmIHN0cnVjdCBXR1BV
UHJpbWl0aXZlU3RhdGUgewogICAgIFdHUFVDaGFpbmVkU3RydWN0IGNvbnN0ICogbmV4dEluQ2hh
aW47CkBAIC03MzYsNiArODAzLDggQEAgdHlwZWRlZiBzdHJ1Y3QgV0dQVVJlbmRlckJ1bmRsZUVu
Y29kZXJEZXNjcmlwdG9yIHsKICAgICBXR1BVVGV4dHVyZUZvcm1hdCBjb25zdCAqIGNvbG9yRm9y
bWF0czsKICAgICBXR1BVVGV4dHVyZUZvcm1hdCBkZXB0aFN0ZW5jaWxGb3JtYXQ7CiAgICAgdWlu
dDMyX3Qgc2FtcGxlQ291bnQ7CisgICAgYm9vbCBkZXB0aFJlYWRPbmx5OworICAgIGJvb2wgc3Rl
bmNpbFJlYWRPbmx5OwogfSBXR1BVUmVuZGVyQnVuZGxlRW5jb2RlckRlc2NyaXB0b3I7CiAKIHR5
cGVkZWYgc3RydWN0IFdHUFVSZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNobWVudCB7CkBAIC03
NTAsNiArODE5LDEyIEBAIHR5cGVkZWYgc3RydWN0IFdHUFVSZW5kZXJQYXNzRGVwdGhTdGVuY2ls
QXR0YWNobWVudCB7CiAgICAgYm9vbCBzdGVuY2lsUmVhZE9ubHk7CiB9IFdHUFVSZW5kZXJQYXNz
RGVwdGhTdGVuY2lsQXR0YWNobWVudDsKIAordHlwZWRlZiBzdHJ1Y3QgV0dQVVJlbmRlclBhc3NU
aW1lc3RhbXBXcml0ZSB7CisgICAgV0dQVVF1ZXJ5U2V0IHF1ZXJ5U2V0OworICAgIHVpbnQzMl90
IHF1ZXJ5SW5kZXg7CisgICAgV0dQVVJlbmRlclBhc3NUaW1lc3RhbXBMb2NhdGlvbiBsb2NhdGlv
bjsKK30gV0dQVVJlbmRlclBhc3NUaW1lc3RhbXBXcml0ZTsKKwogdHlwZWRlZiBzdHJ1Y3QgV0dQ
VVJlcXVlc3RBZGFwdGVyT3B0aW9ucyB7CiAgICAgV0dQVUNoYWluZWRTdHJ1Y3QgY29uc3QgKiBu
ZXh0SW5DaGFpbjsKICAgICBXR1BVU3VyZmFjZSBjb21wYXRpYmxlU3VyZmFjZTsKQEAgLTc5MCw3
ICs4NjUsNyBAQCB0eXBlZGVmIHN0cnVjdCBXR1BVU2hhZGVyTW9kdWxlU1BJUlZEZXNjcmlwdG9y
IHsKIAogdHlwZWRlZiBzdHJ1Y3QgV0dQVVNoYWRlck1vZHVsZVdHU0xEZXNjcmlwdG9yIHsKICAg
ICBXR1BVQ2hhaW5lZFN0cnVjdCBjaGFpbjsKLSAgICBjaGFyIGNvbnN0ICogc291cmNlOworICAg
IGNoYXIgY29uc3QgKiBjb2RlOwogfSBXR1BVU2hhZGVyTW9kdWxlV0dTTERlc2NyaXB0b3I7CiAK
IHR5cGVkZWYgc3RydWN0IFdHUFVTdGVuY2lsRmFjZVN0YXRlIHsKQEAgLTgzNCw2ICs5MDksMTcg
QEAgdHlwZWRlZiBzdHJ1Y3QgV0dQVVN1cmZhY2VEZXNjcmlwdG9yRnJvbVhsaWIgewogICAgIHVp
bnQzMl90IHdpbmRvdzsKIH0gV0dQVVN1cmZhY2VEZXNjcmlwdG9yRnJvbVhsaWI7CiAKK3R5cGVk
ZWYgc3RydWN0IFdHUFVTdXJmYWNlRGVzY3JpcHRvckZyb21XYXlsYW5kU3VyZmFjZSB7CisgICAg
V0dQVUNoYWluZWRTdHJ1Y3QgY2hhaW47CisgICAgdm9pZCAqIGRpc3BsYXk7CisgICAgdm9pZCAq
IHN1cmZhY2U7Cit9IFdHUFVTdXJmYWNlRGVzY3JpcHRvckZyb21XYXlsYW5kU3VyZmFjZTsKKwor
dHlwZWRlZiBzdHJ1Y3QgV0dQVVN1cmZhY2VEZXNjcmlwdG9yRnJvbUFuZHJvaWROYXRpdmVXaW5k
b3cgeworICAgIFdHUFVDaGFpbmVkU3RydWN0IGNoYWluOworICAgIHZvaWQgKiB3aW5kb3c7Cit9
IFdHUFVTdXJmYWNlRGVzY3JpcHRvckZyb21BbmRyb2lkTmF0aXZlV2luZG93OworCiB0eXBlZGVm
IHN0cnVjdCBXR1BVU3dhcENoYWluRGVzY3JpcHRvciB7CiAgICAgV0dQVUNoYWluZWRTdHJ1Y3Qg
Y29uc3QgKiBuZXh0SW5DaGFpbjsKICAgICBjaGFyIGNvbnN0ICogbGFiZWw7CkBAIC05MDUsNiAr
OTkxLDEzIEBAIHR5cGVkZWYgc3RydWN0IFdHUFVDb21waWxhdGlvbkluZm8gewogICAgIFdHUFVD
b21waWxhdGlvbk1lc3NhZ2UgY29uc3QgKiBtZXNzYWdlczsKIH0gV0dQVUNvbXBpbGF0aW9uSW5m
bzsKIAordHlwZWRlZiBzdHJ1Y3QgV0dQVUNvbXB1dGVQYXNzRGVzY3JpcHRvciB7CisgICAgV0dQ
VUNoYWluZWRTdHJ1Y3QgY29uc3QgKiBuZXh0SW5DaGFpbjsKKyAgICBjaGFyIGNvbnN0ICogbGFi
ZWw7CisgICAgdWludDMyX3QgdGltZXN0YW1wV3JpdGVDb3VudDsKKyAgICBXR1BVQ29tcHV0ZVBh
c3NUaW1lc3RhbXBXcml0ZSBjb25zdCAqIHRpbWVzdGFtcFdyaXRlczsKK30gV0dQVUNvbXB1dGVQ
YXNzRGVzY3JpcHRvcjsKKwogdHlwZWRlZiBzdHJ1Y3QgV0dQVURlcHRoU3RlbmNpbFN0YXRlIHsK
ICAgICBXR1BVQ2hhaW5lZFN0cnVjdCBjb25zdCAqIG5leHRJbkNoYWluOwogICAgIFdHUFVUZXh0
dXJlRm9ybWF0IGZvcm1hdDsKQEAgLTEwMDAsNiArMTA5Myw3IEBAIHR5cGVkZWYgc3RydWN0IFdH
UFVDb21wdXRlUGlwZWxpbmVEZXNjcmlwdG9yIHsKIAogdHlwZWRlZiBzdHJ1Y3QgV0dQVURldmlj
ZURlc2NyaXB0b3IgewogICAgIFdHUFVDaGFpbmVkU3RydWN0IGNvbnN0ICogbmV4dEluQ2hhaW47
CisgICAgY2hhciBjb25zdCAqIGxhYmVsOwogICAgIHVpbnQzMl90IHJlcXVpcmVkRmVhdHVyZXND
b3VudDsKICAgICBXR1BVRmVhdHVyZU5hbWUgY29uc3QgKiByZXF1aXJlZEZlYXR1cmVzOwogICAg
IFdHUFVSZXF1aXJlZExpbWl0cyBjb25zdCAqIHJlcXVpcmVkTGltaXRzOwpAQCAtMTAxMiw2ICsx
MTA2LDggQEAgdHlwZWRlZiBzdHJ1Y3QgV0dQVVJlbmRlclBhc3NEZXNjcmlwdG9yIHsKICAgICBX
R1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudCBjb25zdCAqIGNvbG9yQXR0YWNobWVudHM7CiAg
ICAgV0dQVVJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50IGNvbnN0ICogZGVwdGhTdGVu
Y2lsQXR0YWNobWVudDsKICAgICBXR1BVUXVlcnlTZXQgb2NjbHVzaW9uUXVlcnlTZXQ7CisgICAg
dWludDMyX3QgdGltZXN0YW1wV3JpdGVDb3VudDsKKyAgICBXR1BVUmVuZGVyUGFzc1RpbWVzdGFt
cFdyaXRlIGNvbnN0ICogdGltZXN0YW1wV3JpdGVzOwogfSBXR1BVUmVuZGVyUGFzc0Rlc2NyaXB0
b3I7CiAKIHR5cGVkZWYgc3RydWN0IFdHUFVWZXJ0ZXhTdGF0ZSB7CkBAIC0xMDUwLDIyICsxMTQ2
LDIzIEBAIGV4dGVybiAiQyIgewogI2VuZGlmCiAKIHR5cGVkZWYgdm9pZCAoKldHUFVCdWZmZXJN
YXBDYWxsYmFjaykoV0dQVUJ1ZmZlck1hcEFzeW5jU3RhdHVzIHN0YXR1cywgdm9pZCAqIHVzZXJk
YXRhKTsKK3R5cGVkZWYgdm9pZCAoKldHUFVDb21waWxhdGlvbkluZm9DYWxsYmFjaykoV0dQVUNv
bXBpbGF0aW9uSW5mb1JlcXVlc3RTdGF0dXMgc3RhdHVzLCBXR1BVQ29tcGlsYXRpb25JbmZvIGNv
bnN0ICogY29tcGlsYXRpb25JbmZvLCB2b2lkICogdXNlcmRhdGEpOwogdHlwZWRlZiB2b2lkICgq
V0dQVUNyZWF0ZUNvbXB1dGVQaXBlbGluZUFzeW5jQ2FsbGJhY2spKFdHUFVDcmVhdGVQaXBlbGlu
ZUFzeW5jU3RhdHVzIHN0YXR1cywgV0dQVUNvbXB1dGVQaXBlbGluZSBwaXBlbGluZSwgY2hhciBj
b25zdCAqIG1lc3NhZ2UsIHZvaWQgKiB1c2VyZGF0YSk7CiB0eXBlZGVmIHZvaWQgKCpXR1BVQ3Jl
YXRlUmVuZGVyUGlwZWxpbmVBc3luY0NhbGxiYWNrKShXR1BVQ3JlYXRlUGlwZWxpbmVBc3luY1N0
YXR1cyBzdGF0dXMsIFdHUFVSZW5kZXJQaXBlbGluZSBwaXBlbGluZSwgY2hhciBjb25zdCAqIG1l
c3NhZ2UsIHZvaWQgKiB1c2VyZGF0YSk7CiB0eXBlZGVmIHZvaWQgKCpXR1BVRGV2aWNlTG9zdENh
bGxiYWNrKShXR1BVRGV2aWNlTG9zdFJlYXNvbiByZWFzb24sIGNoYXIgY29uc3QgKiBtZXNzYWdl
LCB2b2lkICogdXNlcmRhdGEpOwogdHlwZWRlZiB2b2lkICgqV0dQVUVycm9yQ2FsbGJhY2spKFdH
UFVFcnJvclR5cGUgdHlwZSwgY2hhciBjb25zdCAqIG1lc3NhZ2UsIHZvaWQgKiB1c2VyZGF0YSk7
Cit0eXBlZGVmIHZvaWQgKCpXR1BVUHJvYykoKTsKIHR5cGVkZWYgdm9pZCAoKldHUFVRdWV1ZVdv
cmtEb25lQ2FsbGJhY2spKFdHUFVRdWV1ZVdvcmtEb25lU3RhdHVzIHN0YXR1cywgdm9pZCAqIHVz
ZXJkYXRhKTsKIHR5cGVkZWYgdm9pZCAoKldHUFVSZXF1ZXN0QWRhcHRlckNhbGxiYWNrKShXR1BV
UmVxdWVzdEFkYXB0ZXJTdGF0dXMgc3RhdHVzLCBXR1BVQWRhcHRlciBhZGFwdGVyLCBjaGFyIGNv
bnN0ICogbWVzc2FnZSwgdm9pZCAqIHVzZXJkYXRhKTsKIHR5cGVkZWYgdm9pZCAoKldHUFVSZXF1
ZXN0RGV2aWNlQ2FsbGJhY2spKFdHUFVSZXF1ZXN0RGV2aWNlU3RhdHVzIHN0YXR1cywgV0dQVURl
dmljZSBkZXZpY2UsIGNoYXIgY29uc3QgKiBtZXNzYWdlLCB2b2lkICogdXNlcmRhdGEpOwogCi10
eXBlZGVmIHZvaWQgKCpXR1BVUHJvYykodm9pZCk7Ci0KICNpZiAhZGVmaW5lZChXR1BVX1NLSVBf
UFJPQ1MpCiAKIHR5cGVkZWYgV0dQVUluc3RhbmNlICgqV0dQVVByb2NDcmVhdGVJbnN0YW5jZSko
V0dQVUluc3RhbmNlRGVzY3JpcHRvciBjb25zdCAqIGRlc2NyaXB0b3IpOwogdHlwZWRlZiBXR1BV
UHJvYyAoKldHUFVQcm9jR2V0UHJvY0FkZHJlc3MpKFdHUFVEZXZpY2UgZGV2aWNlLCBjaGFyIGNv
bnN0ICogcHJvY05hbWUpOwogCiAvLyBQcm9jcyBvZiBBZGFwdGVyCit0eXBlZGVmIHNpemVfdCAo
KldHUFVQcm9jQWRhcHRlckVudW1lcmF0ZUZlYXR1cmVzKShXR1BVQWRhcHRlciBhZGFwdGVyLCBX
R1BVRmVhdHVyZU5hbWUqIGZlYXR1cmVzKTsKIHR5cGVkZWYgYm9vbCAoKldHUFVQcm9jQWRhcHRl
ckdldExpbWl0cykoV0dQVUFkYXB0ZXIgYWRhcHRlciwgV0dQVVN1cHBvcnRlZExpbWl0cyAqIGxp
bWl0cyk7CiB0eXBlZGVmIHZvaWQgKCpXR1BVUHJvY0FkYXB0ZXJHZXRQcm9wZXJ0aWVzKShXR1BV
QWRhcHRlciBhZGFwdGVyLCBXR1BVQWRhcHRlclByb3BlcnRpZXMgKiBwcm9wZXJ0aWVzKTsKIHR5
cGVkZWYgYm9vbCAoKldHUFVQcm9jQWRhcHRlckhhc0ZlYXR1cmUpKFdHUFVBZGFwdGVyIGFkYXB0
ZXIsIFdHUFVGZWF0dXJlTmFtZSBmZWF0dXJlKTsKQEAgLTEwODEsNiArMTE3OCw3IEBAIHR5cGVk
ZWYgdm9pZCAoKldHUFVQcm9jQnVmZmVyVW5tYXApKFdHUFVCdWZmZXIgYnVmZmVyKTsKIC8vIFBy
b2NzIG9mIENvbW1hbmRFbmNvZGVyCiB0eXBlZGVmIFdHUFVDb21wdXRlUGFzc0VuY29kZXIgKCpX
R1BVUHJvY0NvbW1hbmRFbmNvZGVyQmVnaW5Db21wdXRlUGFzcykoV0dQVUNvbW1hbmRFbmNvZGVy
IGNvbW1hbmRFbmNvZGVyLCBXR1BVQ29tcHV0ZVBhc3NEZXNjcmlwdG9yIGNvbnN0ICogZGVzY3Jp
cHRvcik7CiB0eXBlZGVmIFdHUFVSZW5kZXJQYXNzRW5jb2RlciAoKldHUFVQcm9jQ29tbWFuZEVu
Y29kZXJCZWdpblJlbmRlclBhc3MpKFdHUFVDb21tYW5kRW5jb2RlciBjb21tYW5kRW5jb2Rlciwg
V0dQVVJlbmRlclBhc3NEZXNjcmlwdG9yIGNvbnN0ICogZGVzY3JpcHRvcik7Cit0eXBlZGVmIHZv
aWQgKCpXR1BVUHJvY0NvbW1hbmRFbmNvZGVyQ2xlYXJCdWZmZXIpKFdHUFVDb21tYW5kRW5jb2Rl
ciBjb21tYW5kRW5jb2RlciwgV0dQVUJ1ZmZlciBidWZmZXIsIHVpbnQ2NF90IG9mZnNldCwgdWlu
dDY0X3Qgc2l6ZSk7CiB0eXBlZGVmIHZvaWQgKCpXR1BVUHJvY0NvbW1hbmRFbmNvZGVyQ29weUJ1
ZmZlclRvQnVmZmVyKShXR1BVQ29tbWFuZEVuY29kZXIgY29tbWFuZEVuY29kZXIsIFdHUFVCdWZm
ZXIgc291cmNlLCB1aW50NjRfdCBzb3VyY2VPZmZzZXQsIFdHUFVCdWZmZXIgZGVzdGluYXRpb24s
IHVpbnQ2NF90IGRlc3RpbmF0aW9uT2Zmc2V0LCB1aW50NjRfdCBzaXplKTsKIHR5cGVkZWYgdm9p
ZCAoKldHUFVQcm9jQ29tbWFuZEVuY29kZXJDb3B5QnVmZmVyVG9UZXh0dXJlKShXR1BVQ29tbWFu
ZEVuY29kZXIgY29tbWFuZEVuY29kZXIsIFdHUFVJbWFnZUNvcHlCdWZmZXIgY29uc3QgKiBzb3Vy
Y2UsIFdHUFVJbWFnZUNvcHlUZXh0dXJlIGNvbnN0ICogZGVzdGluYXRpb24sIFdHUFVFeHRlbnQz
RCBjb25zdCAqIGNvcHlTaXplKTsKIHR5cGVkZWYgdm9pZCAoKldHUFVQcm9jQ29tbWFuZEVuY29k
ZXJDb3B5VGV4dHVyZVRvQnVmZmVyKShXR1BVQ29tbWFuZEVuY29kZXIgY29tbWFuZEVuY29kZXIs
IFdHUFVJbWFnZUNvcHlUZXh0dXJlIGNvbnN0ICogc291cmNlLCBXR1BVSW1hZ2VDb3B5QnVmZmVy
IGNvbnN0ICogZGVzdGluYXRpb24sIFdHUFVFeHRlbnQzRCBjb25zdCAqIGNvcHlTaXplKTsKQEAg
LTExMDMsNyArMTIwMSw2IEBAIHR5cGVkZWYgdm9pZCAoKldHUFVQcm9jQ29tcHV0ZVBhc3NFbmNv
ZGVyUG9wRGVidWdHcm91cCkoV0dQVUNvbXB1dGVQYXNzRW5jb2RlciBjCiB0eXBlZGVmIHZvaWQg
KCpXR1BVUHJvY0NvbXB1dGVQYXNzRW5jb2RlclB1c2hEZWJ1Z0dyb3VwKShXR1BVQ29tcHV0ZVBh
c3NFbmNvZGVyIGNvbXB1dGVQYXNzRW5jb2RlciwgY2hhciBjb25zdCAqIGdyb3VwTGFiZWwpOwog
dHlwZWRlZiB2b2lkICgqV0dQVVByb2NDb21wdXRlUGFzc0VuY29kZXJTZXRCaW5kR3JvdXApKFdH
UFVDb21wdXRlUGFzc0VuY29kZXIgY29tcHV0ZVBhc3NFbmNvZGVyLCB1aW50MzJfdCBncm91cElu
ZGV4LCBXR1BVQmluZEdyb3VwIGdyb3VwLCB1aW50MzJfdCBkeW5hbWljT2Zmc2V0Q291bnQsIHVp
bnQzMl90IGNvbnN0ICogZHluYW1pY09mZnNldHMpOwogdHlwZWRlZiB2b2lkICgqV0dQVVByb2ND
b21wdXRlUGFzc0VuY29kZXJTZXRQaXBlbGluZSkoV0dQVUNvbXB1dGVQYXNzRW5jb2RlciBjb21w
dXRlUGFzc0VuY29kZXIsIFdHUFVDb21wdXRlUGlwZWxpbmUgcGlwZWxpbmUpOwotdHlwZWRlZiB2
b2lkICgqV0dQVVByb2NDb21wdXRlUGFzc0VuY29kZXJXcml0ZVRpbWVzdGFtcCkoV0dQVUNvbXB1
dGVQYXNzRW5jb2RlciBjb21wdXRlUGFzc0VuY29kZXIsIFdHUFVRdWVyeVNldCBxdWVyeVNldCwg
dWludDMyX3QgcXVlcnlJbmRleCk7CiAKIC8vIFByb2NzIG9mIENvbXB1dGVQaXBlbGluZQogdHlw
ZWRlZiBXR1BVQmluZEdyb3VwTGF5b3V0ICgqV0dQVVByb2NDb21wdXRlUGlwZWxpbmVHZXRCaW5k
R3JvdXBMYXlvdXQpKFdHUFVDb21wdXRlUGlwZWxpbmUgY29tcHV0ZVBpcGVsaW5lLCB1aW50MzJf
dCBncm91cEluZGV4KTsKQEAgLTExMjYsOCArMTIyMywxMCBAQCB0eXBlZGVmIFdHUFVTaGFkZXJN
b2R1bGUgKCpXR1BVUHJvY0RldmljZUNyZWF0ZVNoYWRlck1vZHVsZSkoV0dQVURldmljZSBkZXZp
Y2UsCiB0eXBlZGVmIFdHUFVTd2FwQ2hhaW4gKCpXR1BVUHJvY0RldmljZUNyZWF0ZVN3YXBDaGFp
bikoV0dQVURldmljZSBkZXZpY2UsIFdHUFVTdXJmYWNlIHN1cmZhY2UsIFdHUFVTd2FwQ2hhaW5E
ZXNjcmlwdG9yIGNvbnN0ICogZGVzY3JpcHRvcik7CiB0eXBlZGVmIFdHUFVUZXh0dXJlICgqV0dQ
VVByb2NEZXZpY2VDcmVhdGVUZXh0dXJlKShXR1BVRGV2aWNlIGRldmljZSwgV0dQVVRleHR1cmVE
ZXNjcmlwdG9yIGNvbnN0ICogZGVzY3JpcHRvcik7CiB0eXBlZGVmIHZvaWQgKCpXR1BVUHJvY0Rl
dmljZURlc3Ryb3kpKFdHUFVEZXZpY2UgZGV2aWNlKTsKK3R5cGVkZWYgc2l6ZV90ICgqV0dQVVBy
b2NEZXZpY2VFbnVtZXJhdGVGZWF0dXJlcykoV0dQVURldmljZSBkZXZpY2UsIFdHUFVGZWF0dXJl
TmFtZSogZmVhdHVyZXMpOwogdHlwZWRlZiBib29sICgqV0dQVVByb2NEZXZpY2VHZXRMaW1pdHMp
KFdHUFVEZXZpY2UgZGV2aWNlLCBXR1BVU3VwcG9ydGVkTGltaXRzICogbGltaXRzKTsKIHR5cGVk
ZWYgV0dQVVF1ZXVlICgqV0dQVVByb2NEZXZpY2VHZXRRdWV1ZSkoV0dQVURldmljZSBkZXZpY2Up
OwordHlwZWRlZiBib29sICgqV0dQVVByb2NEZXZpY2VIYXNGZWF0dXJlKShXR1BVRGV2aWNlIGRl
dmljZSwgV0dQVUZlYXR1cmVOYW1lIGZlYXR1cmUpOwogdHlwZWRlZiBib29sICgqV0dQVVByb2NE
ZXZpY2VQb3BFcnJvclNjb3BlKShXR1BVRGV2aWNlIGRldmljZSwgV0dQVUVycm9yQ2FsbGJhY2sg
Y2FsbGJhY2ssIHZvaWQgKiB1c2VyZGF0YSk7CiB0eXBlZGVmIHZvaWQgKCpXR1BVUHJvY0Rldmlj
ZVB1c2hFcnJvclNjb3BlKShXR1BVRGV2aWNlIGRldmljZSwgV0dQVUVycm9yRmlsdGVyIGZpbHRl
cik7CiB0eXBlZGVmIHZvaWQgKCpXR1BVUHJvY0RldmljZVNldERldmljZUxvc3RDYWxsYmFjayko
V0dQVURldmljZSBkZXZpY2UsIFdHUFVEZXZpY2VMb3N0Q2FsbGJhY2sgY2FsbGJhY2ssIHZvaWQg
KiB1c2VyZGF0YSk7CkBAIC0xMTgzLDEzICsxMjgyLDEzIEBAIHR5cGVkZWYgdm9pZCAoKldHUFVQ
cm9jUmVuZGVyUGFzc0VuY29kZXJTZXRTY2lzc29yUmVjdCkoV0dQVVJlbmRlclBhc3NFbmNvZGVy
IHJlCiB0eXBlZGVmIHZvaWQgKCpXR1BVUHJvY1JlbmRlclBhc3NFbmNvZGVyU2V0U3RlbmNpbFJl
ZmVyZW5jZSkoV0dQVVJlbmRlclBhc3NFbmNvZGVyIHJlbmRlclBhc3NFbmNvZGVyLCB1aW50MzJf
dCByZWZlcmVuY2UpOwogdHlwZWRlZiB2b2lkICgqV0dQVVByb2NSZW5kZXJQYXNzRW5jb2RlclNl
dFZlcnRleEJ1ZmZlcikoV0dQVVJlbmRlclBhc3NFbmNvZGVyIHJlbmRlclBhc3NFbmNvZGVyLCB1
aW50MzJfdCBzbG90LCBXR1BVQnVmZmVyIGJ1ZmZlciwgdWludDY0X3Qgb2Zmc2V0LCB1aW50NjRf
dCBzaXplKTsKIHR5cGVkZWYgdm9pZCAoKldHUFVQcm9jUmVuZGVyUGFzc0VuY29kZXJTZXRWaWV3
cG9ydCkoV0dQVVJlbmRlclBhc3NFbmNvZGVyIHJlbmRlclBhc3NFbmNvZGVyLCBmbG9hdCB4LCBm
bG9hdCB5LCBmbG9hdCB3aWR0aCwgZmxvYXQgaGVpZ2h0LCBmbG9hdCBtaW5EZXB0aCwgZmxvYXQg
bWF4RGVwdGgpOwotdHlwZWRlZiB2b2lkICgqV0dQVVByb2NSZW5kZXJQYXNzRW5jb2RlcldyaXRl
VGltZXN0YW1wKShXR1BVUmVuZGVyUGFzc0VuY29kZXIgcmVuZGVyUGFzc0VuY29kZXIsIFdHUFVR
dWVyeVNldCBxdWVyeVNldCwgdWludDMyX3QgcXVlcnlJbmRleCk7CiAKIC8vIFByb2NzIG9mIFJl
bmRlclBpcGVsaW5lCiB0eXBlZGVmIFdHUFVCaW5kR3JvdXBMYXlvdXQgKCpXR1BVUHJvY1JlbmRl
clBpcGVsaW5lR2V0QmluZEdyb3VwTGF5b3V0KShXR1BVUmVuZGVyUGlwZWxpbmUgcmVuZGVyUGlw
ZWxpbmUsIHVpbnQzMl90IGdyb3VwSW5kZXgpOwogdHlwZWRlZiB2b2lkICgqV0dQVVByb2NSZW5k
ZXJQaXBlbGluZVNldExhYmVsKShXR1BVUmVuZGVyUGlwZWxpbmUgcmVuZGVyUGlwZWxpbmUsIGNo
YXIgY29uc3QgKiBsYWJlbCk7CiAKIC8vIFByb2NzIG9mIFNoYWRlck1vZHVsZQordHlwZWRlZiB2
b2lkICgqV0dQVVByb2NTaGFkZXJNb2R1bGVHZXRDb21waWxhdGlvbkluZm8pKFdHUFVTaGFkZXJN
b2R1bGUgc2hhZGVyTW9kdWxlLCBXR1BVQ29tcGlsYXRpb25JbmZvQ2FsbGJhY2sgY2FsbGJhY2ss
IHZvaWQgKiB1c2VyZGF0YSk7CiB0eXBlZGVmIHZvaWQgKCpXR1BVUHJvY1NoYWRlck1vZHVsZVNl
dExhYmVsKShXR1BVU2hhZGVyTW9kdWxlIHNoYWRlck1vZHVsZSwgY2hhciBjb25zdCAqIGxhYmVs
KTsKIAogLy8gUHJvY3Mgb2YgU3VyZmFjZQpAQCAtMTIxMSw2ICsxMzEwLDcgQEAgV0dQVV9FWFBP
UlQgV0dQVUluc3RhbmNlIHdncHVDcmVhdGVJbnN0YW5jZShXR1BVSW5zdGFuY2VEZXNjcmlwdG9y
IGNvbnN0ICogZGVzY3IKIFdHUFVfRVhQT1JUIFdHUFVQcm9jIHdncHVHZXRQcm9jQWRkcmVzcyhX
R1BVRGV2aWNlIGRldmljZSwgY2hhciBjb25zdCAqIHByb2NOYW1lKTsKIAogLy8gTWV0aG9kcyBv
ZiBBZGFwdGVyCitXR1BVX0VYUE9SVCBzaXplX3Qgd2dwdUFkYXB0ZXJFbnVtZXJhdGVGZWF0dXJl
cyhXR1BVQWRhcHRlciBhZGFwdGVyLCBXR1BVRmVhdHVyZU5hbWUqIGZlYXR1cmVzKTsKIFdHUFVf
RVhQT1JUIGJvb2wgd2dwdUFkYXB0ZXJHZXRMaW1pdHMoV0dQVUFkYXB0ZXIgYWRhcHRlciwgV0dQ
VVN1cHBvcnRlZExpbWl0cyAqIGxpbWl0cyk7CiBXR1BVX0VYUE9SVCB2b2lkIHdncHVBZGFwdGVy
R2V0UHJvcGVydGllcyhXR1BVQWRhcHRlciBhZGFwdGVyLCBXR1BVQWRhcHRlclByb3BlcnRpZXMg
KiBwcm9wZXJ0aWVzKTsKIFdHUFVfRVhQT1JUIGJvb2wgd2dwdUFkYXB0ZXJIYXNGZWF0dXJlKFdH
UFVBZGFwdGVyIGFkYXB0ZXIsIFdHUFVGZWF0dXJlTmFtZSBmZWF0dXJlKTsKQEAgLTEyMjYsNiAr
MTMyNiw3IEBAIFdHUFVfRVhQT1JUIHZvaWQgd2dwdUJ1ZmZlclVubWFwKFdHUFVCdWZmZXIgYnVm
ZmVyKTsKIC8vIE1ldGhvZHMgb2YgQ29tbWFuZEVuY29kZXIKIFdHUFVfRVhQT1JUIFdHUFVDb21w
dXRlUGFzc0VuY29kZXIgd2dwdUNvbW1hbmRFbmNvZGVyQmVnaW5Db21wdXRlUGFzcyhXR1BVQ29t
bWFuZEVuY29kZXIgY29tbWFuZEVuY29kZXIsIFdHUFVDb21wdXRlUGFzc0Rlc2NyaXB0b3IgY29u
c3QgKiBkZXNjcmlwdG9yKTsKIFdHUFVfRVhQT1JUIFdHUFVSZW5kZXJQYXNzRW5jb2RlciB3Z3B1
Q29tbWFuZEVuY29kZXJCZWdpblJlbmRlclBhc3MoV0dQVUNvbW1hbmRFbmNvZGVyIGNvbW1hbmRF
bmNvZGVyLCBXR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IgY29uc3QgKiBkZXNjcmlwdG9yKTsKK1dH
UFVfRVhQT1JUIHZvaWQgd2dwdUNvbW1hbmRFbmNvZGVyQ2xlYXJCdWZmZXIoV0dQVUNvbW1hbmRF
bmNvZGVyIGNvbW1hbmRFbmNvZGVyLCBXR1BVQnVmZmVyIGJ1ZmZlciwgdWludDY0X3Qgb2Zmc2V0
LCB1aW50NjRfdCBzaXplKTsKIFdHUFVfRVhQT1JUIHZvaWQgd2dwdUNvbW1hbmRFbmNvZGVyQ29w
eUJ1ZmZlclRvQnVmZmVyKFdHUFVDb21tYW5kRW5jb2RlciBjb21tYW5kRW5jb2RlciwgV0dQVUJ1
ZmZlciBzb3VyY2UsIHVpbnQ2NF90IHNvdXJjZU9mZnNldCwgV0dQVUJ1ZmZlciBkZXN0aW5hdGlv
biwgdWludDY0X3QgZGVzdGluYXRpb25PZmZzZXQsIHVpbnQ2NF90IHNpemUpOwogV0dQVV9FWFBP
UlQgdm9pZCB3Z3B1Q29tbWFuZEVuY29kZXJDb3B5QnVmZmVyVG9UZXh0dXJlKFdHUFVDb21tYW5k
RW5jb2RlciBjb21tYW5kRW5jb2RlciwgV0dQVUltYWdlQ29weUJ1ZmZlciBjb25zdCAqIHNvdXJj
ZSwgV0dQVUltYWdlQ29weVRleHR1cmUgY29uc3QgKiBkZXN0aW5hdGlvbiwgV0dQVUV4dGVudDNE
IGNvbnN0ICogY29weVNpemUpOwogV0dQVV9FWFBPUlQgdm9pZCB3Z3B1Q29tbWFuZEVuY29kZXJD
b3B5VGV4dHVyZVRvQnVmZmVyKFdHUFVDb21tYW5kRW5jb2RlciBjb21tYW5kRW5jb2RlciwgV0dQ
VUltYWdlQ29weVRleHR1cmUgY29uc3QgKiBzb3VyY2UsIFdHUFVJbWFnZUNvcHlCdWZmZXIgY29u
c3QgKiBkZXN0aW5hdGlvbiwgV0dQVUV4dGVudDNEIGNvbnN0ICogY29weVNpemUpOwpAQCAtMTI0
OCw3ICsxMzQ5LDYgQEAgV0dQVV9FWFBPUlQgdm9pZCB3Z3B1Q29tcHV0ZVBhc3NFbmNvZGVyUG9w
RGVidWdHcm91cChXR1BVQ29tcHV0ZVBhc3NFbmNvZGVyIGNvbXAKIFdHUFVfRVhQT1JUIHZvaWQg
d2dwdUNvbXB1dGVQYXNzRW5jb2RlclB1c2hEZWJ1Z0dyb3VwKFdHUFVDb21wdXRlUGFzc0VuY29k
ZXIgY29tcHV0ZVBhc3NFbmNvZGVyLCBjaGFyIGNvbnN0ICogZ3JvdXBMYWJlbCk7CiBXR1BVX0VY
UE9SVCB2b2lkIHdncHVDb21wdXRlUGFzc0VuY29kZXJTZXRCaW5kR3JvdXAoV0dQVUNvbXB1dGVQ
YXNzRW5jb2RlciBjb21wdXRlUGFzc0VuY29kZXIsIHVpbnQzMl90IGdyb3VwSW5kZXgsIFdHUFVC
aW5kR3JvdXAgZ3JvdXAsIHVpbnQzMl90IGR5bmFtaWNPZmZzZXRDb3VudCwgdWludDMyX3QgY29u
c3QgKiBkeW5hbWljT2Zmc2V0cyk7CiBXR1BVX0VYUE9SVCB2b2lkIHdncHVDb21wdXRlUGFzc0Vu
Y29kZXJTZXRQaXBlbGluZShXR1BVQ29tcHV0ZVBhc3NFbmNvZGVyIGNvbXB1dGVQYXNzRW5jb2Rl
ciwgV0dQVUNvbXB1dGVQaXBlbGluZSBwaXBlbGluZSk7Ci1XR1BVX0VYUE9SVCB2b2lkIHdncHVD
b21wdXRlUGFzc0VuY29kZXJXcml0ZVRpbWVzdGFtcChXR1BVQ29tcHV0ZVBhc3NFbmNvZGVyIGNv
bXB1dGVQYXNzRW5jb2RlciwgV0dQVVF1ZXJ5U2V0IHF1ZXJ5U2V0LCB1aW50MzJfdCBxdWVyeUlu
ZGV4KTsKIAogLy8gTWV0aG9kcyBvZiBDb21wdXRlUGlwZWxpbmUKIFdHUFVfRVhQT1JUIFdHUFVC
aW5kR3JvdXBMYXlvdXQgd2dwdUNvbXB1dGVQaXBlbGluZUdldEJpbmRHcm91cExheW91dChXR1BV
Q29tcHV0ZVBpcGVsaW5lIGNvbXB1dGVQaXBlbGluZSwgdWludDMyX3QgZ3JvdXBJbmRleCk7CkBA
IC0xMjcxLDggKzEzNzEsMTAgQEAgV0dQVV9FWFBPUlQgV0dQVVNoYWRlck1vZHVsZSB3Z3B1RGV2
aWNlQ3JlYXRlU2hhZGVyTW9kdWxlKFdHUFVEZXZpY2UgZGV2aWNlLCBXR1AKIFdHUFVfRVhQT1JU
IFdHUFVTd2FwQ2hhaW4gd2dwdURldmljZUNyZWF0ZVN3YXBDaGFpbihXR1BVRGV2aWNlIGRldmlj
ZSwgV0dQVVN1cmZhY2Ugc3VyZmFjZSwgV0dQVVN3YXBDaGFpbkRlc2NyaXB0b3IgY29uc3QgKiBk
ZXNjcmlwdG9yKTsKIFdHUFVfRVhQT1JUIFdHUFVUZXh0dXJlIHdncHVEZXZpY2VDcmVhdGVUZXh0
dXJlKFdHUFVEZXZpY2UgZGV2aWNlLCBXR1BVVGV4dHVyZURlc2NyaXB0b3IgY29uc3QgKiBkZXNj
cmlwdG9yKTsKIFdHUFVfRVhQT1JUIHZvaWQgd2dwdURldmljZURlc3Ryb3koV0dQVURldmljZSBk
ZXZpY2UpOworV0dQVV9FWFBPUlQgc2l6ZV90IHdncHVEZXZpY2VFbnVtZXJhdGVGZWF0dXJlcyhX
R1BVRGV2aWNlIGRldmljZSwgV0dQVUZlYXR1cmVOYW1lKiBmZWF0dXJlcyk7CiBXR1BVX0VYUE9S
VCBib29sIHdncHVEZXZpY2VHZXRMaW1pdHMoV0dQVURldmljZSBkZXZpY2UsIFdHUFVTdXBwb3J0
ZWRMaW1pdHMgKiBsaW1pdHMpOwogV0dQVV9FWFBPUlQgV0dQVVF1ZXVlIHdncHVEZXZpY2VHZXRR
dWV1ZShXR1BVRGV2aWNlIGRldmljZSk7CitXR1BVX0VYUE9SVCBib29sIHdncHVEZXZpY2VIYXNG
ZWF0dXJlKFdHUFVEZXZpY2UgZGV2aWNlLCBXR1BVRmVhdHVyZU5hbWUgZmVhdHVyZSk7CiBXR1BV
X0VYUE9SVCBib29sIHdncHVEZXZpY2VQb3BFcnJvclNjb3BlKFdHUFVEZXZpY2UgZGV2aWNlLCBX
R1BVRXJyb3JDYWxsYmFjayBjYWxsYmFjaywgdm9pZCAqIHVzZXJkYXRhKTsKIFdHUFVfRVhQT1JU
IHZvaWQgd2dwdURldmljZVB1c2hFcnJvclNjb3BlKFdHUFVEZXZpY2UgZGV2aWNlLCBXR1BVRXJy
b3JGaWx0ZXIgZmlsdGVyKTsKIFdHUFVfRVhQT1JUIHZvaWQgd2dwdURldmljZVNldERldmljZUxv
c3RDYWxsYmFjayhXR1BVRGV2aWNlIGRldmljZSwgV0dQVURldmljZUxvc3RDYWxsYmFjayBjYWxs
YmFjaywgdm9pZCAqIHVzZXJkYXRhKTsKQEAgLTEzMjgsMTMgKzE0MzAsMTMgQEAgV0dQVV9FWFBP
UlQgdm9pZCB3Z3B1UmVuZGVyUGFzc0VuY29kZXJTZXRTY2lzc29yUmVjdChXR1BVUmVuZGVyUGFz
c0VuY29kZXIgcmVuZGUKIFdHUFVfRVhQT1JUIHZvaWQgd2dwdVJlbmRlclBhc3NFbmNvZGVyU2V0
U3RlbmNpbFJlZmVyZW5jZShXR1BVUmVuZGVyUGFzc0VuY29kZXIgcmVuZGVyUGFzc0VuY29kZXIs
IHVpbnQzMl90IHJlZmVyZW5jZSk7CiBXR1BVX0VYUE9SVCB2b2lkIHdncHVSZW5kZXJQYXNzRW5j
b2RlclNldFZlcnRleEJ1ZmZlcihXR1BVUmVuZGVyUGFzc0VuY29kZXIgcmVuZGVyUGFzc0VuY29k
ZXIsIHVpbnQzMl90IHNsb3QsIFdHUFVCdWZmZXIgYnVmZmVyLCB1aW50NjRfdCBvZmZzZXQsIHVp
bnQ2NF90IHNpemUpOwogV0dQVV9FWFBPUlQgdm9pZCB3Z3B1UmVuZGVyUGFzc0VuY29kZXJTZXRW
aWV3cG9ydChXR1BVUmVuZGVyUGFzc0VuY29kZXIgcmVuZGVyUGFzc0VuY29kZXIsIGZsb2F0IHgs
IGZsb2F0IHksIGZsb2F0IHdpZHRoLCBmbG9hdCBoZWlnaHQsIGZsb2F0IG1pbkRlcHRoLCBmbG9h
dCBtYXhEZXB0aCk7Ci1XR1BVX0VYUE9SVCB2b2lkIHdncHVSZW5kZXJQYXNzRW5jb2RlcldyaXRl
VGltZXN0YW1wKFdHUFVSZW5kZXJQYXNzRW5jb2RlciByZW5kZXJQYXNzRW5jb2RlciwgV0dQVVF1
ZXJ5U2V0IHF1ZXJ5U2V0LCB1aW50MzJfdCBxdWVyeUluZGV4KTsKIAogLy8gTWV0aG9kcyBvZiBS
ZW5kZXJQaXBlbGluZQogV0dQVV9FWFBPUlQgV0dQVUJpbmRHcm91cExheW91dCB3Z3B1UmVuZGVy
UGlwZWxpbmVHZXRCaW5kR3JvdXBMYXlvdXQoV0dQVVJlbmRlclBpcGVsaW5lIHJlbmRlclBpcGVs
aW5lLCB1aW50MzJfdCBncm91cEluZGV4KTsKIFdHUFVfRVhQT1JUIHZvaWQgd2dwdVJlbmRlclBp
cGVsaW5lU2V0TGFiZWwoV0dQVVJlbmRlclBpcGVsaW5lIHJlbmRlclBpcGVsaW5lLCBjaGFyIGNv
bnN0ICogbGFiZWwpOwogCiAvLyBNZXRob2RzIG9mIFNoYWRlck1vZHVsZQorV0dQVV9FWFBPUlQg
dm9pZCB3Z3B1U2hhZGVyTW9kdWxlR2V0Q29tcGlsYXRpb25JbmZvKFdHUFVTaGFkZXJNb2R1bGUg
c2hhZGVyTW9kdWxlLCBXR1BVQ29tcGlsYXRpb25JbmZvQ2FsbGJhY2sgY2FsbGJhY2ssIHZvaWQg
KiB1c2VyZGF0YSk7CiBXR1BVX0VYUE9SVCB2b2lkIHdncHVTaGFkZXJNb2R1bGVTZXRMYWJlbChX
R1BVU2hhZGVyTW9kdWxlIHNoYWRlck1vZHVsZSwgY2hhciBjb25zdCAqIGxhYmVsKTsKIAogLy8g
TWV0aG9kcyBvZiBTdXJmYWNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9XZWJH
UFVFeHQuaCBiL1NvdXJjZS9XZWJHUFUvV2ViR1BVL1dlYkdQVUV4dC5oCmluZGV4IDVhNzI4YzFm
ZDljNWJhMWIwYTZhNjRhMDk5MmYzYWE1ZjBjNjQyZTEuLjJlNDIwMTIyYWFmNTVmMGRhYjRkZTA3
MmE3OWYwMDdiN2JkZTg5NGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL1dlYkdQ
VUV4dC5oCisrKyBiL1NvdXJjZS9XZWJHUFUvV2ViR1BVL1dlYkdQVUV4dC5oCkBAIC0yNiw3NCAr
MjYsMzcgQEAKICNpZm5kZWYgV0VCR1BVRVhUX0hfCiAjZGVmaW5lIFdFQkdQVUVYVF9IXwogCisj
aWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIgeworI2VuZGlmCisKIHR5cGVkZWYgZW51bSBX
R1BVU1R5cGVFeHRlbmRlZCB7Ci0gICAgV0dQVVNUeXBlX0RldmljZURlc2NyaXB0b3JMYWJlbCA9
IDB4MjQyQTk5RTAsIC8vIFJhbmRvbQorICAgIFdHUFVTVHlwZUV4dGVuZGVkX1NoYWRlck1vZHVs
ZURlc2NyaXB0b3JIaW50cyA9IDB4MzQ4OTcwRjMsIC8vIFJhbmRvbQorICAgIFdHUFVTVHlwZUV4
dGVuZGVkX1RleHR1cmVEZXNjcmlwdG9yVmlld0Zvcm1hdHMgPSAweDFENUJDNTcsIC8vIFJhbmRv
bQorICAgIFdHUFVTVHlwZUV4dGVuZGVkX0ZvcmNlMzIgPSAweDdGRkZGRkZGCiB9IFdHUFVTVHlw
ZUV4dGVuZGVkOwogCi10eXBlZGVmIGVudW0gV0dQVVRleHR1cmVGb3JtYXRFeHRlbmRlZCB7Ci0g
ICAgV0dQVVRleHR1cmVGb3JtYXRfRVRDMlJHQjhVbm9ybSA9IDB4MjhDMjVDNjcsIC8vIFJhbmRv
bQotICAgIFdHUFVUZXh0dXJlRm9ybWF0X0VUQzJSR0I4dW5vcm1TcmdiID0gMHg1NjZBQUZFRSwg
Ly8gUmFuZG9tCi0gICAgV0dQVVRleHR1cmVGb3JtYXRfRVRDMlJHQjhhMVVub3JtID0gMHgyRjc5
NDM0OCwgLy8gUmFuZG9tCi0gICAgV0dQVVRleHR1cmVGb3JtYXRfRVRDMlJHQjhhMXVub3JtU3Jn
YiA9IDB4NUVGMzhBQkEsIC8vIFJhbmRvbQotICAgIFdHUFVUZXh0dXJlRm9ybWF0X0VUQzJSR0JB
OFVub3JtID0gMHg1QTRFNjQ4MCwgLy8gUmFuZG9tCi0gICAgV0dQVVRleHR1cmVGb3JtYXRfRVRD
MlJHQkE4VW5vcm1TcmdiID0gMHg3ODA5NjhFQiwgLy8gUmFuZG9tCi0gICAgV0dQVVRleHR1cmVG
b3JtYXRfRUFDUjExVW5vcm0gPSAweDY5ODYzMDkwLCAvLyBSYW5kb20KLSAgICBXR1BVVGV4dHVy
ZUZvcm1hdF9FQUNSMTFTbm9ybSA9IDB4MjVFNTQyOEEsIC8vIFJhbmRvbQotICAgIFdHUFVUZXh0
dXJlRm9ybWF0X0VBQ1JHMTFVbm9ybSA9IDB4MUIwOTY5QjMsIC8vIFJhbmRvbQotICAgIFdHUFVU
ZXh0dXJlRm9ybWF0X0VBQ1JHMTFTbm9ybSA9IDB4MTZGNEJCNkQsIC8vIFJhbmRvbQotCi0gICAg
V0dQVVRleHR1cmVGb3JtYXRfQVNUQzR4NFVub3JtID0gMHgzOUY2MEY2RSwgLy8gUmFuZG9tCi0g
ICAgV0dQVVRleHR1cmVGb3JtYXRfQVNUQzR4NFVub3JtU3JnYiA9IDB4MjQ0NzI3MDAsIC8vIFJh
bmRvbQotICAgIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEM1eDRVbm9ybSA9IDB4NjdEMzJCMEUsIC8v
IFJhbmRvbQotICAgIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEM1eDRVbm9ybVNyZ2IgPSAweDMxM0RB
MUJFLCAvLyBSYW5kb20KLSAgICBXR1BVVGV4dHVyZUZvcm1hdF9BU1RDNXg1VW5vcm0gPSAweDE1
QUI4REZELCAvLyBSYW5kb20KLSAgICBXR1BVVGV4dHVyZUZvcm1hdF9BU1RDNXg1VW5vcm1Tcmdi
ID0gMHg3QjAwRUI1NywgLy8gUmFuZG9tCi0gICAgV0dQVVRleHR1cmVGb3JtYXRfQVNUQzZ4NVVu
b3JtID0gMHg2NTNFODBDMywgLy8gUmFuZG9tCi0gICAgV0dQVVRleHR1cmVGb3JtYXRfQVNUQzZ4
NVVub3JtU3JnYiA9IDB4NTBBRTg2OUEsIC8vIFJhbmRvbQotICAgIFdHUFVUZXh0dXJlRm9ybWF0
X0FTVEM2eDZVbm9ybSA9IDB4NTc5QUY1OTgsIC8vIFJhbmRvbQotICAgIFdHUFVUZXh0dXJlRm9y
bWF0X0FTVEM2eDZVbm9ybVNyZ2IgPSAweDczQjY5NzMyLCAvLyBSYW5kb20KLSAgICBXR1BVVGV4
dHVyZUZvcm1hdF9BU1RDOHg1VW5vcm0gPSAweDA2RjcwMzA4LCAvLyBSYW5kb20KLSAgICBXR1BV
VGV4dHVyZUZvcm1hdF9BU1RDOHg1VW5vcm1TcmdiID0gMHg0MjBFQTk0NiwgLy8gUmFuZG9tCi0g
ICAgV0dQVVRleHR1cmVGb3JtYXRfQVNUQzh4NlVub3JtID0gMHg2MTA4NkFDOCwgLy8gUmFuZG9t
Ci0gICAgV0dQVVRleHR1cmVGb3JtYXRfQVNUQzh4NlVub3JtU3JnYiA9IDB4MEUxN0QzOUEsIC8v
IFJhbmRvbQotICAgIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEM4eDhVbm9ybSA9IDB4NTY5QkYyRTgs
IC8vIFJhbmRvbQotICAgIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEM4eDhVbm9ybVNyZ2IgPSAweDU3
MkE0ODQ5LCAvLyBSYW5kb20KLSAgICBXR1BVVGV4dHVyZUZvcm1hdF9BU1RDMTB4NVVub3JtID0g
MHg2M0FCRTQzMiwgLy8gUmFuZG9tCi0gICAgV0dQVVRleHR1cmVGb3JtYXRfQVNUQzEweDVVbm9y
bVNyZ2IgPSAweDNCQzNBQTRDLCAvLyBSYW5kb20KLSAgICBXR1BVVGV4dHVyZUZvcm1hdF9BU1RD
MTB4NlVub3JtID0gMHg2RkUxOTQ5OSwgLy8gUmFuZG9tCi0gICAgV0dQVVRleHR1cmVGb3JtYXRf
QVNUQzEweDZVbm9ybVNyZ2IgPSAweDdGRjBCNUMwLCAvLyBSYW5kb20KLSAgICBXR1BVVGV4dHVy
ZUZvcm1hdF9BU1RDMTB4OFVub3JtID0gMHgyMDE1RjRDMywgLy8gUmFuZG9tCi0gICAgV0dQVVRl
eHR1cmVGb3JtYXRfQVNUQzEweDhVbm9ybVNyZ2IgPSAweDdENTFEQzZGLCAvLyBSYW5kb20KLSAg
ICBXR1BVVGV4dHVyZUZvcm1hdF9BU1RDMTB4MTBVbm9ybSA9IDB4NjdGMTAxNzMsIC8vIFJhbmRv
bQotICAgIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEMxMHgxMFVub3JtU3JnYiA9IDB4MzVENzREMjEs
IC8vIFJhbmRvbQotICAgIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEMxMngxMFVub3JtID0gMHgwOURB
RDBBNywgLy8gUmFuZG9tCi0gICAgV0dQVVRleHR1cmVGb3JtYXRfQVNUQzEyeDEwVW5vcm1Tcmdi
ID0gMHgzNTYwQzkzQSwgLy8gUmFuZG9tCi0gICAgV0dQVVRleHR1cmVGb3JtYXRfQVNUQzEyeDEy
VW5vcm0gPSAweDI2Q0MzMDUwLCAvLyBSYW5kb20KLSAgICBXR1BVVGV4dHVyZUZvcm1hdF9BU1RD
MTJ4MTJVbm9ybVNyZ2IgPSAweDNFRjU3OEEwLCAvLyBSYW5kb20KLQotICAgIFdHUFVUZXh0dXJl
Rm9ybWF0X0RlcHRoMzJGbG9hdFN0ZW5jaWw4ID0gMHg1M0RDMjMwNywgLy8gUmFuZG9tCi19IFdH
UFVUZXh0dXJlRm9ybWF0RXh0ZW5kZWQ7Ci0KLXR5cGVkZWYgZW51bSBXR1BVRmVhdHVyZU5hbWVF
eHRlbmRlZCB7Ci0gICAgV0dQVUZlYXR1cmVOYW1lX0RlcHRoQ2xpcENvbnRyb2wgPSAweDU1QUJD
MTNELCAvLyBSYW5kb20KLSAgICBXR1BVRmVhdHVyZU5hbWVfSW5kaXJlY3RGaXJzdEluc3RhbmNl
ID0gMHgyQTcwODRGNSwgLy8gUmFuZG9tCi0gICAgV0dQVUZlYXR1cmVOYW1lX1RleHR1cmVDb21w
cmVzc2lvbkVUQzIgPSAweDdCRjY2RjY5LCAvLyBSYW5kb20KLSAgICBXR1BVRmVhdHVyZU5hbWVf
VGV4dHVyZUNvbXByZXNzaW9uQVNUQyA9IDB4MjYxNzMzOTksIC8vIFJhbmRvbQotfSBXR1BVRmVh
dHVyZU5hbWVFeHRlbmRlZDsKLQotdHlwZWRlZiBlbnVtIFdHUFVQb3dlclByZWZlcmVuY2VFeHRl
bmRlZCB7Ci0gICAgV0dQVVBvd2VyUHJlZmVyZW5jZV9Ob1ByZWZlcmVuY2UgPSAweDQ3NDgzMzZG
LAotfSBXR1BVUG93ZXJQcmVmZXJlbmNlRXh0ZW5kZWQ7Ci0KLXR5cGVkZWYgc3RydWN0IFdHUFVE
ZXZpY2VEZXNjcmlwdG9yTGFiZWwgewotICAgIFdHUFVDaGFpbmVkU3RydWN0IGhlYWRlcjsKLSAg
ICBXR1BVQ2hhaW5lZFN0cnVjdCBjb25zdCAqIG5leHRJbkNoYWluOwotICAgIGNoYXIgY29uc3Qg
KiBsYWJlbDsKLX0gV0dQVURldmljZURlc2NyaXB0b3JMYWJlbDsKK3R5cGVkZWYgc3RydWN0IFdH
UFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQgeworICAgIFdHUFVQaXBlbGluZUxheW91dCBs
YXlvdXQ7Cit9IFdHUFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQ7CiAKLSNpZmRlZiBfX2Nw
bHVzcGx1cwotZXh0ZXJuICJDIiB7Ci0jZW5kaWYKK3R5cGVkZWYgc3RydWN0IFdHUFVTaGFkZXJN
b2R1bGVDb21waWxhdGlvbkhpbnRFbnRyeSB7CisgICAgV0dQVUNoYWluZWRTdHJ1Y3QgY29uc3Qg
KiBuZXh0SW5DaGFpbjsKKyAgICBjaGFyIGNvbnN0ICoga2V5OworICAgIFdHUFVTaGFkZXJNb2R1
bGVDb21waWxhdGlvbkhpbnQgaGludDsKK30gV0dQVVNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGlu
dEVudHJ5OworCit0eXBlZGVmIHN0cnVjdCBXR1BVU2hhZGVyTW9kdWxlRGVzY3JpcHRvckhpbnRz
IHsKKyAgICBXR1BVQ2hhaW5lZFN0cnVjdCBjaGFpbjsKKyAgICB1aW50MzJfdCBoaW50c0NvdW50
OworICAgIFdHUFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnRFbnRyeSBjb25zdCAqIGhpbnRz
OworfSBXR1BVU2hhZGVyTW9kdWxlRGVzY3JpcHRvckhpbnRzOworCit0eXBlZGVmIHN0cnVjdCBX
R1BVVGV4dHVyZURlc2NyaXB0b3JWaWV3Rm9ybWF0cyB7CisgICAgV0dQVUNoYWluZWRTdHJ1Y3Qg
Y2hhaW47CisgICAgdWludDMyX3Qgdmlld0Zvcm1hdHNDb3VudDsKKyAgICBXR1BVVGV4dHVyZUZv
cm1hdCBjb25zdCAqIHZpZXdGb3JtYXRzOworfSBXR1BVVGV4dHVyZURlc2NyaXB0b3JWaWV3Rm9y
bWF0czsKIAogI2lmICFkZWZpbmVkKFdHUFVfU0tJUF9QUk9DUykKIApAQCAtMTM4LDEwICsxMDEs
NiBAQCB0eXBlZGVmIHZvaWQgKCpXR1BVUHJvY1NhbXBsZXJTZXRMYWJlbCkoV0dQVVNhbXBsZXIg
c2FtcGxlciwgY2hhciBjb25zdCAqIGxhYmVsKQogdHlwZWRlZiB2b2lkICgqV0dQVVByb2NUZXh0
dXJlU2V0TGFiZWwpKFdHUFVUZXh0dXJlIHNhbXBsZXIsIGNoYXIgY29uc3QgKiBsYWJlbCk7CiB0
eXBlZGVmIHZvaWQgKCpXR1BVUHJvY1RleHR1cmVWaWV3U2V0TGFiZWwpKFdHUFVUZXh0dXJlVmll
dyBzYW1wbGVyLCBjaGFyIGNvbnN0ICogbGFiZWwpOwogCi10eXBlZGVmIFdHUFVGZWF0dXJlTmFt
ZSAoKldHUFVQcm9jQWRhcHRlckdldEZlYXR1cmVBdEluZGV4KShXR1BVQWRhcHRlciBhZGFwdGVy
LCBzaXplX3QgaW5kZXgpOwotCi10eXBlZGVmIHZvaWQgKCpXR1BVUHJvY0NvbW1hbmRFbmNvZGVy
RmlsbEJ1ZmZlcikoV0dQVUNvbW1hbmRFbmNvZGVyIGNvbW1hbmRFbmNvZGVyLCBXR1BVQnVmZmVy
IGRlc3RpbmF0aW9uLCB1aW50NjRfdCBkZXN0aW5hdGlvbk9mZnNldCwgdWludDY0X3Qgc2l6ZSk7
Ci0KICNlbmRpZiAgLy8gIWRlZmluZWQoV0dQVV9TS0lQX1BST0NTKQogCiAjaWYgIWRlZmluZWQo
V0dQVV9TS0lQX0RFQ0xBUkFUSU9OUykKQEAgLTE4NywxMCArMTQ2LDYgQEAgV0dQVV9FWFBPUlQg
dm9pZCB3Z3B1U2FtcGxlclNldExhYmVsKFdHUFVTYW1wbGVyIHNhbXBsZXIsIGNoYXIgY29uc3Qg
KiBsYWJlbCk7CiBXR1BVX0VYUE9SVCB2b2lkIHdncHVUZXh0dXJlU2V0TGFiZWwoV0dQVVRleHR1
cmUgc2FtcGxlciwgY2hhciBjb25zdCAqIGxhYmVsKTsKIFdHUFVfRVhQT1JUIHZvaWQgd2dwdVRl
eHR1cmVWaWV3U2V0TGFiZWwoV0dQVVRleHR1cmVWaWV3IHNhbXBsZXIsIGNoYXIgY29uc3QgKiBs
YWJlbCk7CiAKLVdHUFVfRVhQT1JUIFdHUFVGZWF0dXJlTmFtZSB3Z3B1QWRhcHRlckdldEZlYXR1
cmVBdEluZGV4KFdHUFVBZGFwdGVyIGFkYXB0ZXIsIHNpemVfdCBpbmRleCk7Ci0KLVdHUFVfRVhQ
T1JUIHZvaWQgd2dwdUNvbW1hbmRFbmNvZGVyRmlsbEJ1ZmZlcihXR1BVQ29tbWFuZEVuY29kZXIg
Y29tbWFuZEVuY29kZXIsIFdHUFVCdWZmZXIgZGVzdGluYXRpb24sIHVpbnQ2NF90IGRlc3RpbmF0
aW9uT2Zmc2V0LCB1aW50NjRfdCBzaXplKTsKLQogI2VuZGlmICAvLyAhZGVmaW5lZChXR1BVX1NL
SVBfREVDTEFSQVRJT05TKQogCiAjaWZkZWYgX19jcGx1c3BsdXMKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQnVmZmVyLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQnVmZmVyLmNwcApp
bmRleCAyNjUwOTM0YzNjOWU1MmYwN2Y0NWIwYThhZGMyZDQ3YzRjNGQzZDRkLi4xZmUwOWY0NWFj
YTRlZTUzNjYyZGUzMGRjOTM5NjBmMjkxMmMwNjU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUJ1ZmZlci5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVCdWZmZXIuY3BwCkBAIC01
MCw3ICs1MCw3IEBAIHZvaWQgUmVtb3RlQnVmZmVyOjpzdG9wTGlzdGVuaW5nRm9ySVBDKCkKICAg
ICBtX3N0cmVhbUNvbm5lY3Rpb24tPnN0b3BSZWNlaXZpbmdNZXNzYWdlcyhNZXNzYWdlczo6UmVt
b3RlQnVmZmVyOjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksIG1faWRlbnRpZmllci50b1VJbnQ2NCgp
KTsKIH0KIAotdm9pZCBSZW1vdGVCdWZmZXI6Om1hcEFzeW5jKFBBTDo6V2ViR1BVOjpNYXBNb2Rl
RmxhZ3MgbWFwTW9kZUZsYWdzLCBzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpTaXplNjQ+IG9m
ZnNldCwgc3RkOjpvcHRpb25hbDxQQUw6OldlYkdQVTo6U2l6ZTY0PiBzaXplLCBXVEY6OkNvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoc3RkOjpvcHRpb25hbDxWZWN0b3I8dWludDhfdD4+JiYpPiYmIGNh
bGxiYWNrKQordm9pZCBSZW1vdGVCdWZmZXI6Om1hcEFzeW5jKFBBTDo6V2ViR1BVOjpNYXBNb2Rl
RmxhZ3MgbWFwTW9kZUZsYWdzLCBQQUw6OldlYkdQVTo6U2l6ZTY0IG9mZnNldCwgc3RkOjpvcHRp
b25hbDxQQUw6OldlYkdQVTo6U2l6ZTY0PiBzaXplLCBXVEY6OkNvbXBsZXRpb25IYW5kbGVyPHZv
aWQoc3RkOjpvcHRpb25hbDxWZWN0b3I8dWludDhfdD4+JiYpPiYmIGNhbGxiYWNrKQogewogICAg
IGlmIChtX2lzTWFwcGVkKSB7CiAgICAgICAgIGNhbGxiYWNrKHN0ZDo6bnVsbG9wdCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUJ1
ZmZlci5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVC
dWZmZXIuaAppbmRleCBiMzc1MGZjZGI0ZjNiMDk0YzVkNjkyNTRkM2IxNDBkNWE5ZWI4Njc4Li44
ZTg3NzI3MTQ2Y2I3MTFjNTM0ODhiZWE2MDc5YTVmNWQzNjA3NGI4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUJ1ZmZlci5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQnVmZmVyLmgK
QEAgLTc3LDcgKzc3LDcgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgZGlkUmVjZWl2ZVN0cmVhbU1l
c3NhZ2UoSVBDOjpTdHJlYW1TZXJ2ZXJDb25uZWN0aW9uQmFzZSYsIElQQzo6RGVjb2RlciYpIGZp
bmFsOwogCi0gICAgdm9pZCBtYXBBc3luYyhQQUw6OldlYkdQVTo6TWFwTW9kZUZsYWdzLCBzdGQ6
Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpTaXplNjQ+IG9mZnNldCwgc3RkOjpvcHRpb25hbDxQQUw6
OldlYkdQVTo6U2l6ZTY0PiBzaXplRm9yTWFwLCBXVEY6OkNvbXBsZXRpb25IYW5kbGVyPHZvaWQo
c3RkOjpvcHRpb25hbDxWZWN0b3I8dWludDhfdD4+JiYpPiYmKTsKKyAgICB2b2lkIG1hcEFzeW5j
KFBBTDo6V2ViR1BVOjpNYXBNb2RlRmxhZ3MsIFBBTDo6V2ViR1BVOjpTaXplNjQgb2Zmc2V0LCBz
dGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpTaXplNjQ+IHNpemVGb3JNYXAsIFdURjo6Q29tcGxl
dGlvbkhhbmRsZXI8dm9pZChzdGQ6Om9wdGlvbmFsPFZlY3Rvcjx1aW50OF90Pj4mJik+JiYpOwog
ICAgIHZvaWQgdW5tYXAoVmVjdG9yPHVpbnQ4X3Q+JiYpOwogCiAgICAgdm9pZCBkZXN0cm95KCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1Jl
bW90ZUJ1ZmZlci5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGlj
cy9XZWJHUFUvUmVtb3RlQnVmZmVyLm1lc3NhZ2VzLmluCmluZGV4IDk3YTUxZjNjYTJjM2IwMTc1
OTBmMmMzYmJlNjM0MzgzNzhjYTQ1Y2IuLmI5ZjEzZDM2Y2I1NWJkOGFkOTkzNjExZDk1YzAxYjEz
NzI1ZGFiOWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9X
ZWJHUFUvUmVtb3RlQnVmZmVyLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQnVmZmVyLm1lc3NhZ2VzLmluCkBAIC0yNCw3ICsy
NCw3IEBACiAjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKQogCiBtZXNzYWdlcyAtPiBSZW1vdGVCdWZm
ZXIgTm90UmVmQ291bnRlZCBTdHJlYW0gewotICAgIHZvaWQgTWFwQXN5bmMoUEFMOjpXZWJHUFU6
Ok1hcE1vZGVGbGFncyBtYXBNb2RlRmxhZ3MsIHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlNp
emU2ND4gb2Zmc2V0LCBzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpTaXplNjQ+IHNpemUpIC0+
IChzdGQ6Om9wdGlvbmFsPFZlY3Rvcjx1aW50OF90Pj4gZGF0YSkgU3luY2hyb25vdXMKKyAgICB2
b2lkIE1hcEFzeW5jKFBBTDo6V2ViR1BVOjpNYXBNb2RlRmxhZ3MgbWFwTW9kZUZsYWdzLCBQQUw6
OldlYkdQVTo6U2l6ZTY0IG9mZnNldCwgc3RkOjpvcHRpb25hbDxQQUw6OldlYkdQVTo6U2l6ZTY0
PiBzaXplKSAtPiAoc3RkOjpvcHRpb25hbDxWZWN0b3I8dWludDhfdD4+IGRhdGEpIFN5bmNocm9u
b3VzCiAgICAgdm9pZCBVbm1hcChWZWN0b3I8dWludDhfdD4gZGF0YSkKICAgICB2b2lkIERlc3Ry
b3koKQogICAgIHZvaWQgU2V0TGFiZWwoU3RyaW5nIGxhYmVsKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVDb21tYW5kRW5jb2Rlci5j
cHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUNvbW1h
bmRFbmNvZGVyLmNwcAppbmRleCBkOWViNzkzZGFkNDQ1Nzc3MmFiMDNkZDBmYjU0MjQyMWMyOGNh
MDkwLi4xNDY5MTcwODhiMGQ2MzkxNzBlM2M3YjNhZTU2YTg1Y2Y4Yjk4OWJlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUNvbW1hbmRF
bmNvZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BV
L1JlbW90ZUNvbW1hbmRFbmNvZGVyLmNwcApAQCAtMTUxLDE3ICsxNTEsMTcgQEAgdm9pZCBSZW1v
dGVDb21tYW5kRW5jb2Rlcjo6Y29weVRleHR1cmVUb1RleHR1cmUoCiAgICAgbV9iYWNraW5nLT5j
b3B5VGV4dHVyZVRvVGV4dHVyZSgqY29udmVydGVkU291cmNlLCAqY29udmVydGVkRGVzdGluYXRp
b24sICpjb252ZXJ0ZWRDb3B5U2l6ZSk7CiB9CiAKLXZvaWQgUmVtb3RlQ29tbWFuZEVuY29kZXI6
OmZpbGxCdWZmZXIoCi0gICAgV2ViR1BVSWRlbnRpZmllciBkZXN0aW5hdGlvbiwKLSAgICBQQUw6
OldlYkdQVTo6U2l6ZTY0IGRlc3RpbmF0aW9uT2Zmc2V0LAotICAgIFBBTDo6V2ViR1BVOjpTaXpl
NjQgc2l6ZSkKLXsKLSAgICBhdXRvIGNvbnZlcnRlZERlc3RpbmF0aW9uID0gbV9vYmplY3RIZWFw
LmNvbnZlcnRCdWZmZXJGcm9tQmFja2luZyhkZXN0aW5hdGlvbik7Ci0gICAgQVNTRVJUKGNvbnZl
cnRlZERlc3RpbmF0aW9uKTsKLSAgICBpZiAoIWNvbnZlcnRlZERlc3RpbmF0aW9uKQordm9pZCBS
ZW1vdGVDb21tYW5kRW5jb2Rlcjo6Y2xlYXJCdWZmZXIoCisgICAgV2ViR1BVSWRlbnRpZmllciBi
dWZmZXIsCisgICAgUEFMOjpXZWJHUFU6OlNpemU2NCBvZmZzZXQsCisgICAgc3RkOjpvcHRpb25h
bDxQQUw6OldlYkdQVTo6U2l6ZTY0PiBzaXplKQoreworICAgIGF1dG8gY29udmVydGVkQnVmZmVy
ID0gbV9vYmplY3RIZWFwLmNvbnZlcnRCdWZmZXJGcm9tQmFja2luZyhidWZmZXIpOworICAgIEFT
U0VSVChjb252ZXJ0ZWRCdWZmZXIpOworICAgIGlmICghY29udmVydGVkQnVmZmVyKQogICAgICAg
ICByZXR1cm47CiAKLSAgICBtX2JhY2tpbmctPmZpbGxCdWZmZXIoKmNvbnZlcnRlZERlc3RpbmF0
aW9uLCBkZXN0aW5hdGlvbk9mZnNldCwgc2l6ZSk7CisgICAgbV9iYWNraW5nLT5jbGVhckJ1ZmZl
cigqY29udmVydGVkQnVmZmVyLCBvZmZzZXQsIHNpemUpOwogfQogCiB2b2lkIFJlbW90ZUNvbW1h
bmRFbmNvZGVyOjpwdXNoRGVidWdHcm91cChTdHJpbmcmJiBncm91cExhYmVsKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVDb21tYW5k
RW5jb2Rlci5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1v
dGVDb21tYW5kRW5jb2Rlci5oCmluZGV4IGE1YjQyYzkxZTAxZGE2ODNhYWYyZDI0ZTYyZDgwYTY5
OTdmMTM5NzIuLjE3MTBlYjlkNjVmZjZiNDg2NzI4NWFiZGM5MDBjODMzMTMxNTMyYmQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQ29t
bWFuZEVuY29kZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2Vi
R1BVL1JlbW90ZUNvbW1hbmRFbmNvZGVyLmgKQEAgLTEwNCwxMCArMTA0LDEwIEBAIHByaXZhdGU6
CiAgICAgICAgIGNvbnN0IFdlYkdQVTo6SW1hZ2VDb3B5VGV4dHVyZSYgZGVzdGluYXRpb24sCiAg
ICAgICAgIGNvbnN0IFdlYkdQVTo6RXh0ZW50M0QmIGNvcHlTaXplKTsKIAotICAgIHZvaWQgZmls
bEJ1ZmZlcigKLSAgICAgICAgV2ViR1BVSWRlbnRpZmllciBkZXN0aW5hdGlvbiwKLSAgICAgICAg
UEFMOjpXZWJHUFU6OlNpemU2NCBkZXN0aW5hdGlvbk9mZnNldCwKLSAgICAgICAgUEFMOjpXZWJH
UFU6OlNpemU2NCk7CisgICAgdm9pZCBjbGVhckJ1ZmZlcigKKyAgICAgICAgV2ViR1BVSWRlbnRp
ZmllciBidWZmZXIsCisgICAgICAgIFBBTDo6V2ViR1BVOjpTaXplNjQgb2Zmc2V0ID0gMCwKKyAg
ICAgICAgc3RkOjpvcHRpb25hbDxQQUw6OldlYkdQVTo6U2l6ZTY0PiA9IHN0ZDo6bnVsbG9wdCk7
CiAKICAgICB2b2lkIHB1c2hEZWJ1Z0dyb3VwKFN0cmluZyYmIGdyb3VwTGFiZWwpOwogICAgIHZv
aWQgcG9wRGVidWdHcm91cCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVDb21tYW5kRW5jb2Rlci5tZXNzYWdlcy5pbiBiL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQ29tbWFuZEVuY29kZXIu
bWVzc2FnZXMuaW4KaW5kZXggYmMwYmYzMzExNDhkMmU5NTMxYzU5N2NiOWNkZGQ2MTczYjdkMjlj
MC4uM2RjYTlmOWI5YjE4YjNiN2RjN2QwYjhmYzZkNTE4Zjk4NWE0ZGU0NiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVDb21tYW5kRW5j
b2Rlci5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3Mv
V2ViR1BVL1JlbW90ZUNvbW1hbmRFbmNvZGVyLm1lc3NhZ2VzLmluCkBAIC0zMCw3ICszMCw3IEBA
IG1lc3NhZ2VzIC0+IFJlbW90ZUNvbW1hbmRFbmNvZGVyIE5vdFJlZkNvdW50ZWQgU3RyZWFtIHsK
ICAgICB2b2lkIENvcHlCdWZmZXJUb1RleHR1cmUoV2ViS2l0OjpXZWJHUFU6OkltYWdlQ29weUJ1
ZmZlciBzb3VyY2UsIFdlYktpdDo6V2ViR1BVOjpJbWFnZUNvcHlUZXh0dXJlIGRlc3RpbmF0aW9u
LCBXZWJLaXQ6OldlYkdQVTo6RXh0ZW50M0QgY29weVNpemUpCiAgICAgdm9pZCBDb3B5VGV4dHVy
ZVRvQnVmZmVyKFdlYktpdDo6V2ViR1BVOjpJbWFnZUNvcHlUZXh0dXJlIHNvdXJjZSwgV2ViS2l0
OjpXZWJHUFU6OkltYWdlQ29weUJ1ZmZlciBkZXN0aW5hdGlvbiwgV2ViS2l0OjpXZWJHUFU6OkV4
dGVudDNEIGNvcHlTaXplKQogICAgIHZvaWQgQ29weVRleHR1cmVUb1RleHR1cmUoV2ViS2l0OjpX
ZWJHUFU6OkltYWdlQ29weVRleHR1cmUgc291cmNlLCBXZWJLaXQ6OldlYkdQVTo6SW1hZ2VDb3B5
VGV4dHVyZSBkZXN0aW5hdGlvbiwgV2ViS2l0OjpXZWJHUFU6OkV4dGVudDNEIGNvcHlTaXplKQot
ICAgIHZvaWQgRmlsbEJ1ZmZlcihXZWJLaXQ6OldlYkdQVUlkZW50aWZpZXIgZGVzdGluYXRpb24s
IFBBTDo6V2ViR1BVOjpTaXplNjQgZGVzdGluYXRpb25PZmZzZXQsIFBBTDo6V2ViR1BVOjpTaXpl
NjQgc2l6ZSkKKyAgICB2b2lkIENsZWFyQnVmZmVyKFdlYktpdDo6V2ViR1BVSWRlbnRpZmllciBi
dWZmZXIsIFBBTDo6V2ViR1BVOjpTaXplNjQgb2Zmc2V0LCBzdGQ6Om9wdGlvbmFsPFBBTDo6V2Vi
R1BVOjpTaXplNjQ+IHNpemUpCiAgICAgdm9pZCBQdXNoRGVidWdHcm91cChTdHJpbmcgZ3JvdXBM
YWJlbCkKICAgICB2b2lkIFBvcERlYnVnR3JvdXAoKQogICAgIHZvaWQgSW5zZXJ0RGVidWdNYXJr
ZXIoU3RyaW5nIG1hcmtlckxhYmVsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9j
ZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVDb21wdXRlUGFzc0VuY29kZXIuY3BwIGIvU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVDb21wdXRlUGFzc0VuY29k
ZXIuY3BwCmluZGV4IDhlMDczZWQxZGZjYmE0YWQ2ZGQ2NDc2OWVjNDgwNzM1ZmQ4OWViOWQuLmY4
ODFiZTllMmJmNWZhMWFhMGUzNDdkMWI2YmJhOGFiOGQwNDMzODQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQ29tcHV0ZVBhc3NFbmNv
ZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1Jl
bW90ZUNvbXB1dGVQYXNzRW5jb2Rlci5jcHAKQEAgLTYxLDkgKzYxLDkgQEAgdm9pZCBSZW1vdGVD
b21wdXRlUGFzc0VuY29kZXI6OnNldFBpcGVsaW5lKFdlYkdQVUlkZW50aWZpZXIgY29tcHV0ZVBp
cGVsaW5lKQogICAgIG1fYmFja2luZy0+c2V0UGlwZWxpbmUoKmNvbnZlcnRlZENvbXB1dGVQaXBl
bGluZSk7CiB9CiAKLXZvaWQgUmVtb3RlQ29tcHV0ZVBhc3NFbmNvZGVyOjpkaXNwYXRjaChQQUw6
OldlYkdQVTo6U2l6ZTMyIHgsIHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlNpemUzMj4geSwg
c3RkOjpvcHRpb25hbDxQQUw6OldlYkdQVTo6U2l6ZTMyPiB6KQordm9pZCBSZW1vdGVDb21wdXRl
UGFzc0VuY29kZXI6OmRpc3BhdGNoKFBBTDo6V2ViR1BVOjpTaXplMzIgd29ya2dyb3VwQ291bnRY
LCBQQUw6OldlYkdQVTo6U2l6ZTMyIHdvcmtncm91cENvdW50WSwgUEFMOjpXZWJHUFU6OlNpemUz
MiB3b3JrZ3JvdXBDb3VudFopCiB7Ci0gICAgbV9iYWNraW5nLT5kaXNwYXRjaCh4LCB5LCB6KTsK
KyAgICBtX2JhY2tpbmctPmRpc3BhdGNoKHdvcmtncm91cENvdW50WCwgd29ya2dyb3VwQ291bnRZ
LCB3b3JrZ3JvdXBDb3VudFopOwogfQogCiB2b2lkIFJlbW90ZUNvbXB1dGVQYXNzRW5jb2Rlcjo6
ZGlzcGF0Y2hJbmRpcmVjdChXZWJHUFVJZGVudGlmaWVyIGluZGlyZWN0QnVmZmVyLCBQQUw6Oldl
YkdQVTo6U2l6ZTY0IGluZGlyZWN0T2Zmc2V0KQpAQCAtNzYsMjQgKzc2LDkgQEAgdm9pZCBSZW1v
dGVDb21wdXRlUGFzc0VuY29kZXI6OmRpc3BhdGNoSW5kaXJlY3QoV2ViR1BVSWRlbnRpZmllciBp
bmRpcmVjdEJ1ZmZlciwKICAgICBtX2JhY2tpbmctPmRpc3BhdGNoSW5kaXJlY3QoKmNvbnZlcnRl
ZEluZGlyZWN0QnVmZmVyLCBpbmRpcmVjdE9mZnNldCk7CiB9CiAKLXZvaWQgUmVtb3RlQ29tcHV0
ZVBhc3NFbmNvZGVyOjpiZWdpblBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KFdlYkdQVUlkZW50aWZp
ZXIgcXVlcnlTZXQsIFBBTDo6V2ViR1BVOjpTaXplMzIgcXVlcnlJbmRleCkKK3ZvaWQgUmVtb3Rl
Q29tcHV0ZVBhc3NFbmNvZGVyOjplbmQoKQogewotICAgIGF1dG8gY29udmVydGVkUXVlcnlTZXQg
PSBtX29iamVjdEhlYXAuY29udmVydFF1ZXJ5U2V0RnJvbUJhY2tpbmcocXVlcnlTZXQpOwotICAg
IEFTU0VSVChjb252ZXJ0ZWRRdWVyeVNldCk7Ci0gICAgaWYgKCFjb252ZXJ0ZWRRdWVyeVNldCkK
LSAgICAgICAgcmV0dXJuOwotCi0gICAgbV9iYWNraW5nLT5iZWdpblBpcGVsaW5lU3RhdGlzdGlj
c1F1ZXJ5KCpjb252ZXJ0ZWRRdWVyeVNldCwgcXVlcnlJbmRleCk7Ci19Ci0KLXZvaWQgUmVtb3Rl
Q29tcHV0ZVBhc3NFbmNvZGVyOjplbmRQaXBlbGluZVN0YXRpc3RpY3NRdWVyeSgpCi17Ci0gICAg
bV9iYWNraW5nLT5lbmRQaXBlbGluZVN0YXRpc3RpY3NRdWVyeSgpOwotfQotCi12b2lkIFJlbW90
ZUNvbXB1dGVQYXNzRW5jb2Rlcjo6ZW5kUGFzcygpCi17Ci0gICAgbV9iYWNraW5nLT5lbmRQYXNz
KCk7CisgICAgbV9iYWNraW5nLT5lbmQoKTsKIH0KIAogdm9pZCBSZW1vdGVDb21wdXRlUGFzc0Vu
Y29kZXI6OnNldEJpbmRHcm91cChQQUw6OldlYkdQVTo6SW5kZXgzMiBpbmRleCwgV2ViR1BVSWRl
bnRpZmllciBiaW5kR3JvdXAsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mv
Z3JhcGhpY3MvV2ViR1BVL1JlbW90ZUNvbXB1dGVQYXNzRW5jb2Rlci5oIGIvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVDb21wdXRlUGFzc0VuY29kZXIuaApp
bmRleCAzNThlMDVkOWUxNmQ5ODIwNTNkMjE4MzhlZmY4OTFkZmUzYjJkN2U1Li44MzM3YTI5YmU5
NDQ3YjNkNDdhMDY5MWViZmE5ZTE0YTdhNGE1MmIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUNvbXB1dGVQYXNzRW5jb2Rlci5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQ29tcHV0
ZVBhc3NFbmNvZGVyLmgKQEAgLTc0LDEzICs3NCwxMCBAQCBwcml2YXRlOgogICAgIHZvaWQgZGlk
UmVjZWl2ZVN0cmVhbU1lc3NhZ2UoSVBDOjpTdHJlYW1TZXJ2ZXJDb25uZWN0aW9uQmFzZSYsIElQ
Qzo6RGVjb2RlciYpIGZpbmFsOwogCiAgICAgdm9pZCBzZXRQaXBlbGluZShXZWJHUFVJZGVudGlm
aWVyKTsKLSAgICB2b2lkIGRpc3BhdGNoKFBBTDo6V2ViR1BVOjpTaXplMzIgeCwgc3RkOjpvcHRp
b25hbDxQQUw6OldlYkdQVTo6U2l6ZTMyPiB5LCBzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpT
aXplMzI+KTsKKyAgICB2b2lkIGRpc3BhdGNoKFBBTDo6V2ViR1BVOjpTaXplMzIgd29ya2dyb3Vw
Q291bnRYLCBQQUw6OldlYkdQVTo6U2l6ZTMyIHdvcmtncm91cENvdW50WSA9IDEsIFBBTDo6V2Vi
R1BVOjpTaXplMzIgd29ya2dyb3VwQ291bnRaID0gMSk7CiAgICAgdm9pZCBkaXNwYXRjaEluZGly
ZWN0KFdlYkdQVUlkZW50aWZpZXIgaW5kaXJlY3RCdWZmZXIsIFBBTDo6V2ViR1BVOjpTaXplNjQg
aW5kaXJlY3RPZmZzZXQpOwogCi0gICAgdm9pZCBiZWdpblBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5
KFdlYkdQVUlkZW50aWZpZXIsIFBBTDo6V2ViR1BVOjpTaXplMzIgcXVlcnlJbmRleCk7Ci0gICAg
dm9pZCBlbmRQaXBlbGluZVN0YXRpc3RpY3NRdWVyeSgpOwotCi0gICAgdm9pZCBlbmRQYXNzKCk7
CisgICAgdm9pZCBlbmQoKTsKIAogICAgIHZvaWQgc2V0QmluZEdyb3VwKFBBTDo6V2ViR1BVOjpJ
bmRleDMyLCBXZWJHUFVJZGVudGlmaWVyLAogICAgICAgICBzdGQ6Om9wdGlvbmFsPFZlY3RvcjxQ
QUw6OldlYkdQVTo6QnVmZmVyRHluYW1pY09mZnNldD4+JiYpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVDb21wdXRlUGFzc0VuY29k
ZXIubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BV
L1JlbW90ZUNvbXB1dGVQYXNzRW5jb2Rlci5tZXNzYWdlcy5pbgppbmRleCA4NmJkMmI1NzJjYmE1
NDExYTIzYzI5Yzk3ZDA3Y2M2YzBjMGVjMmY1Li40MmU2MDhiZDMwOTdmMzI5NWFhMWFhYjA2YWYz
YzNkN2ZmNTY2NDU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhp
Y3MvV2ViR1BVL1JlbW90ZUNvbXB1dGVQYXNzRW5jb2Rlci5tZXNzYWdlcy5pbgorKysgYi9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUNvbXB1dGVQYXNzRW5j
b2Rlci5tZXNzYWdlcy5pbgpAQCAtMjUsMTEgKzI1LDkgQEAKIAogbWVzc2FnZXMgLT4gUmVtb3Rl
Q29tcHV0ZVBhc3NFbmNvZGVyIE5vdFJlZkNvdW50ZWQgU3RyZWFtIHsKICAgICB2b2lkIFNldFBp
cGVsaW5lKFdlYktpdDo6V2ViR1BVSWRlbnRpZmllciBpZGVudGlmaWVyKQotICAgIHZvaWQgRGlz
cGF0Y2goUEFMOjpXZWJHUFU6OlNpemUzMiB4LCBzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpT
aXplMzI+IHksIHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlNpemUzMj4geikKKyAgICB2b2lk
IERpc3BhdGNoKFBBTDo6V2ViR1BVOjpTaXplMzIgd29ya2dyb3VwQ291bnRYLCBQQUw6OldlYkdQ
VTo6U2l6ZTMyIHdvcmtncm91cENvdW50WSwgUEFMOjpXZWJHUFU6OlNpemUzMiB3b3JrZ3JvdXBD
b3VudFopCiAgICAgdm9pZCBEaXNwYXRjaEluZGlyZWN0KFdlYktpdDo6V2ViR1BVSWRlbnRpZmll
ciBpbmRpcmVjdEJ1ZmZlciwgUEFMOjpXZWJHUFU6OlNpemU2NCBpbmRpcmVjdE9mZnNldCkKLSAg
ICB2b2lkIEJlZ2luUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkoV2ViS2l0OjpXZWJHUFVJZGVudGlm
aWVyIGlkZW50aWZpZXIsIFBBTDo6V2ViR1BVOjpTaXplMzIgcXVlcnlJbmRleCkKLSAgICB2b2lk
IEVuZFBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KCkKLSAgICB2b2lkIEVuZFBhc3MoKQorICAgIHZv
aWQgRW5kKCkKICAgICB2b2lkIFNldEJpbmRHcm91cChQQUw6OldlYkdQVTo6SW5kZXgzMiBpbmRl
eCwgV2ViS2l0OjpXZWJHUFVJZGVudGlmaWVyIGlkZW50aWZpZXIsIHN0ZDo6b3B0aW9uYWw8VmVj
dG9yPFBBTDo6V2ViR1BVOjpCdWZmZXJEeW5hbWljT2Zmc2V0Pj4gZHluYW1pY09mZnNldHMpCiAg
ICAgdm9pZCBQdXNoRGVidWdHcm91cChTdHJpbmcgZ3JvdXBMYWJlbCkKICAgICB2b2lkIFBvcERl
YnVnR3JvdXAoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNz
L1dlYkdQVS9SZW1vdGVSZW5kZXJQYXNzRW5jb2Rlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVBy
b2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZVJlbmRlclBhc3NFbmNvZGVyLmNwcAppbmRleCA2
MmQwY2E3NWVhMmI2ODAyNzljNTY1MmE5YmYzYzgyYzIzYmExZjIyLi5hZDllMTg0YzdjYzZjMzIw
ODAxODY4ZjBmYTkyZjFiMThhYjRjNDc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVBy
b2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZVJlbmRlclBhc3NFbmNvZGVyLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZVJlbmRlclBhc3NF
bmNvZGVyLmNwcApAQCAtMTc5LDIxICsxNzksNiBAQCB2b2lkIFJlbW90ZVJlbmRlclBhc3NFbmNv
ZGVyOjplbmRPY2NsdXNpb25RdWVyeSgpCiAgICAgbV9iYWNraW5nLT5lbmRPY2NsdXNpb25RdWVy
eSgpOwogfQogCi12b2lkIFJlbW90ZVJlbmRlclBhc3NFbmNvZGVyOjpiZWdpblBpcGVsaW5lU3Rh
dGlzdGljc1F1ZXJ5KFdlYkdQVUlkZW50aWZpZXIgcXVlcnlTZXQsIFBBTDo6V2ViR1BVOjpTaXpl
MzIgcXVlcnlJbmRleCkKLXsKLSAgICBhdXRvIGNvbnZlcnRlZFF1ZXJ5U2V0ID0gbV9vYmplY3RI
ZWFwLmNvbnZlcnRRdWVyeVNldEZyb21CYWNraW5nKHF1ZXJ5U2V0KTsKLSAgICBBU1NFUlQoY29u
dmVydGVkUXVlcnlTZXQpOwotICAgIGlmICghY29udmVydGVkUXVlcnlTZXQpCi0gICAgICAgIHJl
dHVybjsKLQotICAgIG1fYmFja2luZy0+YmVnaW5QaXBlbGluZVN0YXRpc3RpY3NRdWVyeSgqY29u
dmVydGVkUXVlcnlTZXQsIHF1ZXJ5SW5kZXgpOwotfQotCi12b2lkIFJlbW90ZVJlbmRlclBhc3NF
bmNvZGVyOjplbmRQaXBlbGluZVN0YXRpc3RpY3NRdWVyeSgpCi17Ci0gICAgbV9iYWNraW5nLT5l
bmRQaXBlbGluZVN0YXRpc3RpY3NRdWVyeSgpOwotfQotCiB2b2lkIFJlbW90ZVJlbmRlclBhc3NF
bmNvZGVyOjpleGVjdXRlQnVuZGxlcyhWZWN0b3I8V2ViR1BVSWRlbnRpZmllcj4mJiByZW5kZXJC
dW5kbGVzKQogewogICAgIFZlY3RvcjxzdGQ6OnJlZmVyZW5jZV93cmFwcGVyPFBBTDo6V2ViR1BV
OjpSZW5kZXJCdW5kbGU+PiBjb252ZXJ0ZWRCdW5kbGVzOwpAQCAtMjA4LDkgKzE5Myw5IEBAIHZv
aWQgUmVtb3RlUmVuZGVyUGFzc0VuY29kZXI6OmV4ZWN1dGVCdW5kbGVzKFZlY3RvcjxXZWJHUFVJ
ZGVudGlmaWVyPiYmIHJlbmRlckJ1CiAgICAgbV9iYWNraW5nLT5leGVjdXRlQnVuZGxlcyhXVEZN
b3ZlKGNvbnZlcnRlZEJ1bmRsZXMpKTsKIH0KIAotdm9pZCBSZW1vdGVSZW5kZXJQYXNzRW5jb2Rl
cjo6ZW5kUGFzcygpCit2b2lkIFJlbW90ZVJlbmRlclBhc3NFbmNvZGVyOjplbmQoKQogewotICAg
IG1fYmFja2luZy0+ZW5kUGFzcygpOworICAgIG1fYmFja2luZy0+ZW5kKCk7CiB9CiAKIHZvaWQg
UmVtb3RlUmVuZGVyUGFzc0VuY29kZXI6OnNldExhYmVsKFN0cmluZyYmIGxhYmVsKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVSZW5k
ZXJQYXNzRW5jb2Rlci5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQ
VS9SZW1vdGVSZW5kZXJQYXNzRW5jb2Rlci5oCmluZGV4IGYyZjU0NTFjZWZkZDVkM2FiODc4MDZm
YzYyNTQ2MTIwNzkyZGNkN2IuLmM3ZGZlYjliNWU0ZDMyYjFjNmIyMTNmYjgxODQ4Y2JkMTA5ZDdk
MWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUv
UmVtb3RlUmVuZGVyUGFzc0VuY29kZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mv
Z3JhcGhpY3MvV2ViR1BVL1JlbW90ZVJlbmRlclBhc3NFbmNvZGVyLmgKQEAgLTExMCwxMSArMTEw
LDggQEAgcHJpdmF0ZToKICAgICB2b2lkIGJlZ2luT2NjbHVzaW9uUXVlcnkoUEFMOjpXZWJHUFU6
OlNpemUzMiBxdWVyeUluZGV4KTsKICAgICB2b2lkIGVuZE9jY2x1c2lvblF1ZXJ5KCk7CiAKLSAg
ICB2b2lkIGJlZ2luUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkoV2ViR1BVSWRlbnRpZmllciwgUEFM
OjpXZWJHUFU6OlNpemUzMiBxdWVyeUluZGV4KTsKLSAgICB2b2lkIGVuZFBpcGVsaW5lU3RhdGlz
dGljc1F1ZXJ5KCk7Ci0KICAgICB2b2lkIGV4ZWN1dGVCdW5kbGVzKFZlY3RvcjxXZWJHUFVJZGVu
dGlmaWVyPiYmKTsKLSAgICB2b2lkIGVuZFBhc3MoKTsKKyAgICB2b2lkIGVuZCgpOwogCiAgICAg
dm9pZCBzZXRMYWJlbChTdHJpbmcmJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlUmVuZGVyUGFzc0VuY29kZXIubWVzc2FnZXMu
aW4gYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZVJlbmRl
clBhc3NFbmNvZGVyLm1lc3NhZ2VzLmluCmluZGV4IGU4YjdiYWFhOGVhYzA5YjM3NWNmYmE3ODRh
OWQzMjhiZGQ2YjZhZWQuLjU3MmIwYWFlOTczZTg2MmZjMjhkNjQxMzg5ZjlhMTMxMTBkN2VmODIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVt
b3RlUmVuZGVyUGFzc0VuY29kZXIubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVSZW5kZXJQYXNzRW5jb2Rlci5tZXNzYWdlcy5p
bgpAQCAtNDEsMTAgKzQxLDggQEAgbWVzc2FnZXMgLT4gUmVtb3RlUmVuZGVyUGFzc0VuY29kZXIg
Tm90UmVmQ291bnRlZCBTdHJlYW0gewogICAgIHZvaWQgU2V0U3RlbmNpbFJlZmVyZW5jZShQQUw6
OldlYkdQVTo6U3RlbmNpbFZhbHVlIHN0ZW5jaWxWYWx1ZSkKICAgICB2b2lkIEJlZ2luT2NjbHVz
aW9uUXVlcnkoUEFMOjpXZWJHUFU6OlNpemUzMiBxdWVyeUluZGV4KQogICAgIHZvaWQgRW5kT2Nj
bHVzaW9uUXVlcnkoKQotICAgIHZvaWQgQmVnaW5QaXBlbGluZVN0YXRpc3RpY3NRdWVyeShXZWJL
aXQ6OldlYkdQVUlkZW50aWZpZXIgaWRlbnRpZmllciwgUEFMOjpXZWJHUFU6OlNpemUzMiBxdWVy
eUluZGV4KQotICAgIHZvaWQgRW5kUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkoKQogICAgIHZvaWQg
RXhlY3V0ZUJ1bmRsZXMoVmVjdG9yPFdlYktpdDo6V2ViR1BVSWRlbnRpZmllcj4gYnVuZGxlcykK
LSAgICB2b2lkIEVuZFBhc3MoKQorICAgIHZvaWQgRW5kKCkKICAgICB2b2lkIFNldExhYmVsKFN0
cmluZyBsYWJlbCkKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BV
L1dlYkdQVUNhbnZhc0NvbmZpZ3VyYXRpb24uY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2Vi
R1BVL1dlYkdQVUNhbnZhc0NvbmZpZ3VyYXRpb24uY3BwCmluZGV4IDQ4MTMyNTIyNmRmNjhjOTNh
OTE4MjdjMjIzZmUwOGZmYzRiODUyOGEuLjQ1YjY4N2UyNjUyYTI4MzFiYjM5NzQxMzk0MjllMDkw
Mjg4MTc0OWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVD
YW52YXNDb25maWd1cmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUv
V2ViR1BVQ2FudmFzQ29uZmlndXJhdGlvbi5jcHAKQEAgLTQ3LDcgKzQ3LDcgQEAgc3RkOjpvcHRp
b25hbDxDYW52YXNDb25maWd1cmF0aW9uPiBDb252ZXJ0VG9CYWNraW5nQ29udGV4dDo6Y29udmVy
dFRvQmFja2luZyhjb24KICAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAgICAgfQog
Ci0gICAgcmV0dXJuIHsgeyBkZXZpY2UsIGNhbnZhc0NvbmZpZ3VyYXRpb24uZm9ybWF0LCBjYW52
YXNDb25maWd1cmF0aW9uLnVzYWdlLCBjYW52YXNDb25maWd1cmF0aW9uLmNvbG9yU3BhY2UsIGNh
bnZhc0NvbmZpZ3VyYXRpb24uY29tcG9zaXRpbmdBbHBoYU1vZGUsIFdURk1vdmUoc2l6ZSkgfSB9
OworICAgIHJldHVybiB7IHsgZGV2aWNlLCBjYW52YXNDb25maWd1cmF0aW9uLmZvcm1hdCwgY2Fu
dmFzQ29uZmlndXJhdGlvbi51c2FnZSwgY2FudmFzQ29uZmlndXJhdGlvbi52aWV3Rm9ybWF0cywg
Y2FudmFzQ29uZmlndXJhdGlvbi5jb2xvclNwYWNlLCBjYW52YXNDb25maWd1cmF0aW9uLmNvbXBv
c2l0aW5nQWxwaGFNb2RlLCBXVEZNb3ZlKHNpemUpIH0gfTsKIH0KIAogc3RkOjpvcHRpb25hbDxQ
QUw6OldlYkdQVTo6Q2FudmFzQ29uZmlndXJhdGlvbj4gQ29udmVydEZyb21CYWNraW5nQ29udGV4
dDo6Y29udmVydEZyb21CYWNraW5nKGNvbnN0IENhbnZhc0NvbmZpZ3VyYXRpb24mIGNhbnZhc0Nv
bmZpZ3VyYXRpb24pCkBAIC02Myw3ICs2Myw3IEBAIHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6
OkNhbnZhc0NvbmZpZ3VyYXRpb24+IENvbnZlcnRGcm9tQmFja2luZ0NvbnRleHQ6OmNvbnZlCiAg
ICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogICAgIH0KIAotICAgIHJldHVybiB7IHsg
KmRldmljZSwgY2FudmFzQ29uZmlndXJhdGlvbi5mb3JtYXQsIGNhbnZhc0NvbmZpZ3VyYXRpb24u
dXNhZ2UsIGNhbnZhc0NvbmZpZ3VyYXRpb24uY29sb3JTcGFjZSwgY2FudmFzQ29uZmlndXJhdGlv
bi5jb21wb3NpdGluZ0FscGhhTW9kZSwgV1RGTW92ZShzaXplKSB9IH07CisgICAgcmV0dXJuIHsg
eyAqZGV2aWNlLCBjYW52YXNDb25maWd1cmF0aW9uLmZvcm1hdCwgY2FudmFzQ29uZmlndXJhdGlv
bi51c2FnZSwgY2FudmFzQ29uZmlndXJhdGlvbi52aWV3Rm9ybWF0cywgY2FudmFzQ29uZmlndXJh
dGlvbi5jb2xvclNwYWNlLCBjYW52YXNDb25maWd1cmF0aW9uLmNvbXBvc2l0aW5nQWxwaGFNb2Rl
LCBXVEZNb3ZlKHNpemUpIH0gfTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVQ2FudmFzQ29uZmlndXJhdGlv
bi5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVUNhbnZhc0NvbmZpZ3VyYXRp
b24uaAppbmRleCAzMDEwMTE5YjNlY2E3ZmM3YmE2MmFjMjViNDE3M2I4MWNkMDJhZjI4Li4wODc4
NGUzOTA1NjlmNzU4NGY1OTY0ZmM5MzY1NDJlZTkzOGNlYmMxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVQ2FudmFzQ29uZmlndXJhdGlvbi5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVDYW52YXNDb25maWd1cmF0aW9uLmgKQEAg
LTQ1LDYgKzQ1LDcgQEAgc3RydWN0IENhbnZhc0NvbmZpZ3VyYXRpb24gewogICAgIFdlYkdQVUlk
ZW50aWZpZXIgZGV2aWNlOwogICAgIFBBTDo6V2ViR1BVOjpUZXh0dXJlRm9ybWF0IGZvcm1hdCB7
IFBBTDo6V2ViR1BVOjpUZXh0dXJlRm9ybWF0OjpSOHVub3JtIH07CiAgICAgUEFMOjpXZWJHUFU6
OlRleHR1cmVVc2FnZUZsYWdzIHVzYWdlIHsgUEFMOjpXZWJHUFU6OlRleHR1cmVVc2FnZTo6UmVu
ZGVyQXR0YWNobWVudCB9OworICAgIFZlY3RvcjxQQUw6OldlYkdQVTo6VGV4dHVyZUZvcm1hdD4g
dmlld0Zvcm1hdHM7CiAgICAgUEFMOjpXZWJHUFU6OlByZWRlZmluZWRDb2xvclNwYWNlIGNvbG9y
U3BhY2UgeyBQQUw6OldlYkdQVTo6UHJlZGVmaW5lZENvbG9yU3BhY2U6OlNSR0IgfTsKICAgICBQ
QUw6OldlYkdQVTo6Q2FudmFzQ29tcG9zaXRpbmdBbHBoYU1vZGUgY29tcG9zaXRpbmdBbHBoYU1v
ZGUgeyBQQUw6OldlYkdQVTo6Q2FudmFzQ29tcG9zaXRpbmdBbHBoYU1vZGU6Ok9wYXF1ZSB9Owog
ICAgIHN0ZDo6b3B0aW9uYWw8RXh0ZW50M0Q+IHNpemU7CkBAIC01NCw2ICs1NSw3IEBAIHN0cnVj
dCBDYW52YXNDb25maWd1cmF0aW9uIHsKICAgICAgICAgZW5jb2RlciA8PCBkZXZpY2U7CiAgICAg
ICAgIGVuY29kZXIgPDwgZm9ybWF0OwogICAgICAgICBlbmNvZGVyIDw8IHVzYWdlOworICAgICAg
ICBlbmNvZGVyIDw8IHZpZXdGb3JtYXRzOwogICAgICAgICBlbmNvZGVyIDw8IGNvbG9yU3BhY2U7
CiAgICAgICAgIGVuY29kZXIgPDwgY29tcG9zaXRpbmdBbHBoYU1vZGU7CiAgICAgICAgIGVuY29k
ZXIgPDwgc2l6ZTsKQEAgLTc2LDYgKzc4LDExIEBAIHN0cnVjdCBDYW52YXNDb25maWd1cmF0aW9u
IHsKICAgICAgICAgaWYgKCF1c2FnZSkKICAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7
CiAKKyAgICAgICAgc3RkOjpvcHRpb25hbDxWZWN0b3I8UEFMOjpXZWJHUFU6OlRleHR1cmVGb3Jt
YXQ+PiB2aWV3Rm9ybWF0czsKKyAgICAgICAgZGVjb2RlciA+PiB2aWV3Rm9ybWF0czsKKyAgICAg
ICAgaWYgKCF2aWV3Rm9ybWF0cykKKyAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisK
ICAgICAgICAgc3RkOjpvcHRpb25hbDxQQUw6OldlYkdQVTo6UHJlZGVmaW5lZENvbG9yU3BhY2U+
IGNvbG9yU3BhY2U7CiAgICAgICAgIGRlY29kZXIgPj4gY29sb3JTcGFjZTsKICAgICAgICAgaWYg
KCFjb2xvclNwYWNlKQpAQCAtOTEsNyArOTgsNyBAQCBzdHJ1Y3QgQ2FudmFzQ29uZmlndXJhdGlv
biB7CiAgICAgICAgIGlmICghc2l6ZSkKICAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7
CiAKLSAgICAgICAgcmV0dXJuIHsgeyBXVEZNb3ZlKCpkZXZpY2UpLCBXVEZNb3ZlKCpmb3JtYXQp
LCBXVEZNb3ZlKCp1c2FnZSksIFdURk1vdmUoKmNvbG9yU3BhY2UpLCBXVEZNb3ZlKCpjb21wb3Np
dGluZ0FscGhhTW9kZSksIFdURk1vdmUoKnNpemUpIH0gfTsKKyAgICAgICAgcmV0dXJuIHsgeyBX
VEZNb3ZlKCpkZXZpY2UpLCBXVEZNb3ZlKCpmb3JtYXQpLCBXVEZNb3ZlKCp1c2FnZSksIFdURk1v
dmUoKnZpZXdGb3JtYXRzKSwgV1RGTW92ZSgqY29sb3JTcGFjZSksIFdURk1vdmUoKmNvbXBvc2l0
aW5nQWxwaGFNb2RlKSwgV1RGTW92ZSgqc2l6ZSkgfSB9OwogICAgIH0KIH07CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVDb252ZXJ0RnJvbUJhY2tpbmdD
b250ZXh0LmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVQ29udmVydEZyb21C
YWNraW5nQ29udGV4dC5oCmluZGV4IDk5MmYyN2RhMGU0YmE1MTVjZmJmZDk4MDY2OTQ3NzBkM2M5
ODg0MTcuLjM5NzJhZDM4ZmE3ZjFlZmQ5MjcyYzY4YzMwNDc4MWFhZjY3MjMzOTAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVDb252ZXJ0RnJvbUJhY2tpbmdD
b250ZXh0LmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVUNvbnZlcnRG
cm9tQmFja2luZ0NvbnRleHQuaApAQCAtMTEyLDYgKzExMiw3IEBAIGNsYXNzIFNhbXBsZXI7CiBz
dHJ1Y3QgU2FtcGxlckJpbmRpbmdMYXlvdXQ7CiBzdHJ1Y3QgU2FtcGxlckRlc2NyaXB0b3I7CiBj
bGFzcyBTaGFkZXJNb2R1bGU7CitzdHJ1Y3QgU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50Owog
c3RydWN0IFNoYWRlck1vZHVsZURlc2NyaXB0b3I7CiBzdHJ1Y3QgU3RlbmNpbEZhY2VTdGF0ZTsK
IHN0cnVjdCBTdG9yYWdlVGV4dHVyZUJpbmRpbmdMYXlvdXQ7CkBAIC0xNzYsNiArMTc3LDcgQEAg
c3RydWN0IFJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcjsKIHN0cnVjdCBSZXF1ZXN0QWRhcHRlck9w
dGlvbnM7CiBzdHJ1Y3QgU2FtcGxlckJpbmRpbmdMYXlvdXQ7CiBzdHJ1Y3QgU2FtcGxlckRlc2Ny
aXB0b3I7CitzdHJ1Y3QgU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50Owogc3RydWN0IFNoYWRl
ck1vZHVsZURlc2NyaXB0b3I7CiBzdHJ1Y3QgU3RlbmNpbEZhY2VTdGF0ZTsKIHN0cnVjdCBTdG9y
YWdlVGV4dHVyZUJpbmRpbmdMYXlvdXQ7CkBAIC0yNTEsNiArMjUzLDcgQEAgcHVibGljOgogICAg
IHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlJlcXVlc3RBZGFwdGVyT3B0aW9ucz4gY29udmVy
dEZyb21CYWNraW5nKGNvbnN0IFJlcXVlc3RBZGFwdGVyT3B0aW9ucyYpOwogICAgIHN0ZDo6b3B0
aW9uYWw8UEFMOjpXZWJHUFU6OlNhbXBsZXJCaW5kaW5nTGF5b3V0PiBjb252ZXJ0RnJvbUJhY2tp
bmcoY29uc3QgU2FtcGxlckJpbmRpbmdMYXlvdXQmKTsKICAgICBzdGQ6Om9wdGlvbmFsPFBBTDo6
V2ViR1BVOjpTYW1wbGVyRGVzY3JpcHRvcj4gY29udmVydEZyb21CYWNraW5nKGNvbnN0IFNhbXBs
ZXJEZXNjcmlwdG9yJik7CisgICAgc3RkOjpvcHRpb25hbDxQQUw6OldlYkdQVTo6U2hhZGVyTW9k
dWxlQ29tcGlsYXRpb25IaW50PiBjb252ZXJ0RnJvbUJhY2tpbmcoY29uc3QgU2hhZGVyTW9kdWxl
Q29tcGlsYXRpb25IaW50Jik7CiAgICAgc3RkOjpvcHRpb25hbDxQQUw6OldlYkdQVTo6U2hhZGVy
TW9kdWxlRGVzY3JpcHRvcj4gY29udmVydEZyb21CYWNraW5nKGNvbnN0IFNoYWRlck1vZHVsZURl
c2NyaXB0b3ImKTsKICAgICBzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpTdGVuY2lsRmFjZVN0
YXRlPiBjb252ZXJ0RnJvbUJhY2tpbmcoY29uc3QgU3RlbmNpbEZhY2VTdGF0ZSYpOwogICAgIHN0
ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlN0b3JhZ2VUZXh0dXJlQmluZGluZ0xheW91dD4gY29u
dmVydEZyb21CYWNraW5nKGNvbnN0IFN0b3JhZ2VUZXh0dXJlQmluZGluZ0xheW91dCYpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVUNvbnZlcnRUb0JhY2tp
bmdDb250ZXh0LmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVQ29udmVydFRv
QmFja2luZ0NvbnRleHQuaAppbmRleCBhNTMzODc2NzhjYjlkNzVhMjc2ZTQ2Mzc1NDFkMzE2MDY5
YjA3ZDljLi5kZTg0MGUzNzg1OTRjYjJjY2RlZWY3ZDI1NWNjNWY2ZWM0ZGM0OTYxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVQ29udmVydFRvQmFja2luZ0Nv
bnRleHQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVQ29udmVydFRv
QmFja2luZ0NvbnRleHQuaApAQCAtMTExLDYgKzExMSw3IEBAIGNsYXNzIFNhbXBsZXI7CiBzdHJ1
Y3QgU2FtcGxlckJpbmRpbmdMYXlvdXQ7CiBzdHJ1Y3QgU2FtcGxlckRlc2NyaXB0b3I7CiBjbGFz
cyBTaGFkZXJNb2R1bGU7CitzdHJ1Y3QgU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50Owogc3Ry
dWN0IFNoYWRlck1vZHVsZURlc2NyaXB0b3I7CiBzdHJ1Y3QgU3RlbmNpbEZhY2VTdGF0ZTsKIHN0
cnVjdCBTdG9yYWdlVGV4dHVyZUJpbmRpbmdMYXlvdXQ7CkBAIC0xNzUsNiArMTc2LDcgQEAgc3Ry
dWN0IFJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcjsKIHN0cnVjdCBSZXF1ZXN0QWRhcHRlck9wdGlv
bnM7CiBzdHJ1Y3QgU2FtcGxlckJpbmRpbmdMYXlvdXQ7CiBzdHJ1Y3QgU2FtcGxlckRlc2NyaXB0
b3I7CitzdHJ1Y3QgU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50Owogc3RydWN0IFNoYWRlck1v
ZHVsZURlc2NyaXB0b3I7CiBzdHJ1Y3QgU3RlbmNpbEZhY2VTdGF0ZTsKIHN0cnVjdCBTdG9yYWdl
VGV4dHVyZUJpbmRpbmdMYXlvdXQ7CkBAIC0yNTAsNiArMjUyLDcgQEAgcHVibGljOgogICAgIHN0
ZDo6b3B0aW9uYWw8UmVxdWVzdEFkYXB0ZXJPcHRpb25zPiBjb252ZXJ0VG9CYWNraW5nKGNvbnN0
IFBBTDo6V2ViR1BVOjpSZXF1ZXN0QWRhcHRlck9wdGlvbnMmKTsKICAgICBzdGQ6Om9wdGlvbmFs
PFNhbXBsZXJCaW5kaW5nTGF5b3V0PiBjb252ZXJ0VG9CYWNraW5nKGNvbnN0IFBBTDo6V2ViR1BV
OjpTYW1wbGVyQmluZGluZ0xheW91dCYpOwogICAgIHN0ZDo6b3B0aW9uYWw8U2FtcGxlckRlc2Ny
aXB0b3I+IGNvbnZlcnRUb0JhY2tpbmcoY29uc3QgUEFMOjpXZWJHUFU6OlNhbXBsZXJEZXNjcmlw
dG9yJik7CisgICAgc3RkOjpvcHRpb25hbDxTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQ+IGNv
bnZlcnRUb0JhY2tpbmcoY29uc3QgUEFMOjpXZWJHUFU6OlNoYWRlck1vZHVsZUNvbXBpbGF0aW9u
SGludCYpOwogICAgIHN0ZDo6b3B0aW9uYWw8U2hhZGVyTW9kdWxlRGVzY3JpcHRvcj4gY29udmVy
dFRvQmFja2luZyhjb25zdCBQQUw6OldlYkdQVTo6U2hhZGVyTW9kdWxlRGVzY3JpcHRvciYpOwog
ICAgIHN0ZDo6b3B0aW9uYWw8U3RlbmNpbEZhY2VTdGF0ZT4gY29udmVydFRvQmFja2luZyhjb25z
dCBQQUw6OldlYkdQVTo6U3RlbmNpbEZhY2VTdGF0ZSYpOwogICAgIHN0ZDo6b3B0aW9uYWw8U3Rv
cmFnZVRleHR1cmVCaW5kaW5nTGF5b3V0PiBjb252ZXJ0VG9CYWNraW5nKGNvbnN0IFBBTDo6V2Vi
R1BVOjpTdG9yYWdlVGV4dHVyZUJpbmRpbmdMYXlvdXQmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVGcmFnbWVudFN0YXRlLmNwcCBiL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVGcmFnbWVudFN0YXRlLmNwcAppbmRleCA1ZjA3MDEzMzNk
Y2RkMmJkMjc4YmZkZWI4NzNlMDU4YzBjMDU1MjI3Li5hYzU4YTM2OGQxNmNmYzgxZjczODg4ZGVh
YjBhMzc4ZTBjMzAwOTdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUv
V2ViR1BVRnJhZ21lbnRTdGF0ZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BV
L1dlYkdQVUZyYWdtZW50U3RhdGUuY3BwCkBAIC00MCwxMyArNDAsMTYgQEAgc3RkOjpvcHRpb25h
bDxGcmFnbWVudFN0YXRlPiBDb252ZXJ0VG9CYWNraW5nQ29udGV4dDo6Y29udmVydFRvQmFja2lu
Zyhjb25zdCBQQUwKICAgICBpZiAoIWJhc2UpCiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7
CiAKLSAgICBWZWN0b3I8Q29sb3JUYXJnZXRTdGF0ZT4gdGFyZ2V0czsKKyAgICBWZWN0b3I8c3Rk
OjpvcHRpb25hbDxDb2xvclRhcmdldFN0YXRlPj4gdGFyZ2V0czsKICAgICB0YXJnZXRzLnJlc2Vy
dmVJbml0aWFsQ2FwYWNpdHkoZnJhZ21lbnRTdGF0ZS50YXJnZXRzLnNpemUoKSk7CiAgICAgZm9y
IChjb25zdCBhdXRvJiB0YXJnZXQgOiBmcmFnbWVudFN0YXRlLnRhcmdldHMpIHsKLSAgICAgICAg
YXV0byBjb252ZXJ0ZWRUYXJnZXQgPSBjb252ZXJ0VG9CYWNraW5nKHRhcmdldCk7Ci0gICAgICAg
IGlmICghY29udmVydGVkVGFyZ2V0KQotICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsK
LSAgICAgICAgdGFyZ2V0cy51bmNoZWNrZWRBcHBlbmQoV1RGTW92ZSgqY29udmVydGVkVGFyZ2V0
KSk7CisgICAgICAgIGlmICh0YXJnZXQpIHsKKyAgICAgICAgICAgIGF1dG8gY29udmVydGVkVGFy
Z2V0ID0gY29udmVydFRvQmFja2luZygqdGFyZ2V0KTsKKyAgICAgICAgICAgIGlmICghY29udmVy
dGVkVGFyZ2V0KQorICAgICAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisgICAgICAg
ICAgICB0YXJnZXRzLnVuY2hlY2tlZEFwcGVuZChXVEZNb3ZlKCpjb252ZXJ0ZWRUYXJnZXQpKTsK
KyAgICAgICAgfSBlbHNlCisgICAgICAgICAgICB0YXJnZXRzLnVuY2hlY2tlZEFwcGVuZChzdGQ6
Om51bGxvcHQpOwogICAgIH0KIAogICAgIHJldHVybiB7IHsgV1RGTW92ZSgqYmFzZSksIFdURk1v
dmUodGFyZ2V0cykgfSB9OwpAQCAtNTgsMTMgKzYxLDE2IEBAIHN0ZDo6b3B0aW9uYWw8UEFMOjpX
ZWJHUFU6OkZyYWdtZW50U3RhdGU+IENvbnZlcnRGcm9tQmFja2luZ0NvbnRleHQ6OmNvbnZlcnRG
cm9tCiAgICAgaWYgKCFiYXNlKQogICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogCi0gICAg
VmVjdG9yPFBBTDo6V2ViR1BVOjpDb2xvclRhcmdldFN0YXRlPiB0YXJnZXRzOworICAgIFZlY3Rv
cjxzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpDb2xvclRhcmdldFN0YXRlPj4gdGFyZ2V0czsK
ICAgICB0YXJnZXRzLnJlc2VydmVJbml0aWFsQ2FwYWNpdHkoZnJhZ21lbnRTdGF0ZS50YXJnZXRz
LnNpemUoKSk7CiAgICAgZm9yIChjb25zdCBhdXRvJiBiYWNraW5nVGFyZ2V0IDogZnJhZ21lbnRT
dGF0ZS50YXJnZXRzKSB7Ci0gICAgICAgIGF1dG8gdGFyZ2V0ID0gY29udmVydEZyb21CYWNraW5n
KGJhY2tpbmdUYXJnZXQpOwotICAgICAgICBpZiAoIXRhcmdldCkKLSAgICAgICAgICAgIHJldHVy
biBzdGQ6Om51bGxvcHQ7Ci0gICAgICAgIHRhcmdldHMudW5jaGVja2VkQXBwZW5kKFdURk1vdmUo
KnRhcmdldCkpOworICAgICAgICBpZiAoYmFja2luZ1RhcmdldCkgeworICAgICAgICAgICAgYXV0
byB0YXJnZXQgPSBjb252ZXJ0RnJvbUJhY2tpbmcoKmJhY2tpbmdUYXJnZXQpOworICAgICAgICAg
ICAgaWYgKCF0YXJnZXQpCisgICAgICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKyAg
ICAgICAgICAgIHRhcmdldHMudW5jaGVja2VkQXBwZW5kKFdURk1vdmUoKnRhcmdldCkpOworICAg
ICAgICB9IGVsc2UKKyAgICAgICAgICAgIHRhcmdldHMudW5jaGVja2VkQXBwZW5kKHN0ZDo6bnVs
bG9wdCk7CiAgICAgfQogCiAgICAgcmV0dXJuIHsgeyBXVEZNb3ZlKCpiYXNlKSwgV1RGTW92ZSh0
YXJnZXRzKSB9IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2Vi
R1BVRnJhZ21lbnRTdGF0ZS5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVUZy
YWdtZW50U3RhdGUuaAppbmRleCAyODdiY2M0N2Q5NGI0ZGVmNTFjY2Y2YjEwYmFjNjk3OWY4ZDI1
MzljLi5jYmI0OGM5YTQ2ZTZkMDk2OWQxNDM4ODA4MmIzYTU0NWE1MWQ0YTcyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVRnJhZ21lbnRTdGF0ZS5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVGcmFnbWVudFN0YXRlLmgKQEAgLTM1
LDcgKzM1LDcgQEAKIG5hbWVzcGFjZSBXZWJLaXQ6OldlYkdQVSB7CiAKIHN0cnVjdCBGcmFnbWVu
dFN0YXRlIDogcHVibGljIFByb2dyYW1tYWJsZVN0YWdlIHsKLSAgICBWZWN0b3I8Q29sb3JUYXJn
ZXRTdGF0ZT4gdGFyZ2V0czsKKyAgICBWZWN0b3I8c3RkOjpvcHRpb25hbDxDb2xvclRhcmdldFN0
YXRlPj4gdGFyZ2V0czsKIAogICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5jb2Rl
KEVuY29kZXImIGVuY29kZXIpIGNvbnN0CiAgICAgewpAQCAtNTAsNyArNTAsNyBAQCBzdHJ1Y3Qg
RnJhZ21lbnRTdGF0ZSA6IHB1YmxpYyBQcm9ncmFtbWFibGVTdGFnZSB7CiAgICAgICAgIGlmICgh
cHJvZ3JhbW1hYmxlU3RhZ2UpCiAgICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogCi0g
ICAgICAgIHN0ZDo6b3B0aW9uYWw8VmVjdG9yPENvbG9yVGFyZ2V0U3RhdGU+PiB0YXJnZXRzOwor
ICAgICAgICBzdGQ6Om9wdGlvbmFsPFZlY3RvcjxzdGQ6Om9wdGlvbmFsPENvbG9yVGFyZ2V0U3Rh
dGU+Pj4gdGFyZ2V0czsKICAgICAgICAgZGVjb2RlciA+PiB0YXJnZXRzOwogICAgICAgICBpZiAo
IXRhcmdldHMpCiAgICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVUltYWdlQ29weUV4dGVybmFsSW1hZ2Uu
Y3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVUltYWdlQ29weUV4dGVybmFs
SW1hZ2UuY3BwCmluZGV4IDg2ODY4M2QxZDQ5OGI1ZmMxMTcyNDkzNzFjNTNiNDE4ZDNjYTMxY2Uu
LmFjODI2OGNlOWE5ZjFmZmIzZjM3MDI4NTUxYWYxOGY3ZGEyMWZkMzMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVJbWFnZUNvcHlFeHRlcm5hbEltYWdlLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVSW1hZ2VDb3B5RXh0ZXJu
YWxJbWFnZS5jcHAKQEAgLTM4LDI0ICszOCwyNCBAQCBzdGQ6Om9wdGlvbmFsPEltYWdlQ29weUV4
dGVybmFsSW1hZ2U+IENvbnZlcnRUb0JhY2tpbmdDb250ZXh0Ojpjb252ZXJ0VG9CYWNraW5nKAog
ewogICAgIHN0ZDo6b3B0aW9uYWw8T3JpZ2luMkQ+IG9yaWdpbjsKICAgICBpZiAoaW1hZ2VDb3B5
RXh0ZXJuYWxJbWFnZS5vcmlnaW4pIHsKLSAgICAgICAgYXV0byBjb252ZXJ0ZWRPcmlnaW4gPSBj
b252ZXJ0VG9CYWNraW5nKCppbWFnZUNvcHlFeHRlcm5hbEltYWdlLm9yaWdpbik7Ci0gICAgICAg
IGlmICghY29udmVydGVkT3JpZ2luKQorICAgICAgICBvcmlnaW4gPSBjb252ZXJ0VG9CYWNraW5n
KCppbWFnZUNvcHlFeHRlcm5hbEltYWdlLm9yaWdpbik7CisgICAgICAgIGlmICghb3JpZ2luKQog
ICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKICAgICB9CiAKLSAgICByZXR1cm4geyB7
IFdURk1vdmUob3JpZ2luKSB9IH07CisgICAgcmV0dXJuIHsgeyBXVEZNb3ZlKG9yaWdpbiksIGlt
YWdlQ29weUV4dGVybmFsSW1hZ2UuZmxpcFkgfSB9OwogfQogCiBzdGQ6Om9wdGlvbmFsPFBBTDo6
V2ViR1BVOjpJbWFnZUNvcHlFeHRlcm5hbEltYWdlPiBDb252ZXJ0RnJvbUJhY2tpbmdDb250ZXh0
Ojpjb252ZXJ0RnJvbUJhY2tpbmcoY29uc3QgSW1hZ2VDb3B5RXh0ZXJuYWxJbWFnZSYgaW1hZ2VD
b3B5RXh0ZXJuYWxJbWFnZSkKIHsKICAgICBzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpPcmln
aW4yRD4gb3JpZ2luOwogICAgIGlmIChpbWFnZUNvcHlFeHRlcm5hbEltYWdlLm9yaWdpbikgewot
ICAgICAgICBhdXRvIG9yaWdpbiA9IGNvbnZlcnRGcm9tQmFja2luZygqaW1hZ2VDb3B5RXh0ZXJu
YWxJbWFnZS5vcmlnaW4pOworICAgICAgICBvcmlnaW4gPSBjb252ZXJ0RnJvbUJhY2tpbmcoKmlt
YWdlQ29weUV4dGVybmFsSW1hZ2Uub3JpZ2luKTsKICAgICAgICAgaWYgKCFvcmlnaW4pCiAgICAg
ICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogICAgIH0KIAotICAgIHJldHVybiB7IHsgV1RG
TW92ZShvcmlnaW4pIH0gfTsKKyAgICByZXR1cm4geyB7IFdURk1vdmUob3JpZ2luKSwgaW1hZ2VD
b3B5RXh0ZXJuYWxJbWFnZS5mbGlwWSB9IH07CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVUltYWdlQ29weUV4
dGVybmFsSW1hZ2UuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVJbWFnZUNv
cHlFeHRlcm5hbEltYWdlLmgKaW5kZXggNWYyOTY2YzI2ZWNmMmVmYmU1OGRiYjM5NDMxZmEzYmFi
NWE4ZjA2ZS4uZGZmZTVlMDhjMThhN2YxMzIwZWIyMjE2YjY1NDBhNmJhYmYwY2YyNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVUltYWdlQ29weUV4dGVybmFs
SW1hZ2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVSW1hZ2VDb3B5
RXh0ZXJuYWxJbWFnZS5oCkBAIC0zNiwxMCArMzYsMTIgQEAgbmFtZXNwYWNlIFdlYktpdDo6V2Vi
R1BVIHsKIHN0cnVjdCBJbWFnZUNvcHlFeHRlcm5hbEltYWdlIHsKICAgICAvLyBGSVhNRTogSGFu
ZGxlIHRoZSBzb3VyY2UuCiAgICAgc3RkOjpvcHRpb25hbDxPcmlnaW4yRD4gb3JpZ2luOworICAg
IGJvb2wgZmxpcFkgeyBmYWxzZSB9OwogCiAgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9p
ZCBlbmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKICAgICB7CiAgICAgICAgIGVuY29kZXIg
PDwgb3JpZ2luOworICAgICAgICBlbmNvZGVyIDw8IGZsaXBZOwogICAgIH0KIAogICAgIHRlbXBs
YXRlPGNsYXNzIERlY29kZXI+IHN0YXRpYyBzdGQ6Om9wdGlvbmFsPEltYWdlQ29weUV4dGVybmFs
SW1hZ2U+IGRlY29kZShEZWNvZGVyJiBkZWNvZGVyKQpAQCAtNDksNyArNTEsMTIgQEAgc3RydWN0
IEltYWdlQ29weUV4dGVybmFsSW1hZ2UgewogICAgICAgICBpZiAoIW9yaWdpbikKICAgICAgICAg
ICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAKLSAgICAgICAgcmV0dXJuIHsgeyBXVEZNb3ZlKCpv
cmlnaW4pIH0gfTsKKyAgICAgICAgc3RkOjpvcHRpb25hbDxib29sPiBmbGlwWTsKKyAgICAgICAg
ZGVjb2RlciA+PiBmbGlwWTsKKyAgICAgICAgaWYgKCFmbGlwWSkKKyAgICAgICAgICAgIHJldHVy
biBzdGQ6Om51bGxvcHQ7CisKKyAgICAgICAgcmV0dXJuIHsgeyBXVEZNb3ZlKCpvcmlnaW4pLCBX
VEZNb3ZlKCpmbGlwWSkgfSB9OwogICAgIH0KIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVJbWFnZUNvcHlUZXh0dXJlLmNwcCBiL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVJbWFnZUNvcHlUZXh0dXJlLmNwcAppbmRleCA2MDkwODE5
NTc1MzJmZDNmMjdiYTIyMTkxNmFiN2E3MDY3MzNkZTczLi5kM2M3NWU0NjQ5NGEzY2I0ZmY3MGI1
MTQyN2M5MjJjYjVlODNhMzNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJH
UFUvV2ViR1BVSW1hZ2VDb3B5VGV4dHVyZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQv
V2ViR1BVL1dlYkdQVUltYWdlQ29weVRleHR1cmUuY3BwCkBAIC00Miw3ICs0Miw3IEBAIHN0ZDo6
b3B0aW9uYWw8SW1hZ2VDb3B5VGV4dHVyZT4gQ29udmVydFRvQmFja2luZ0NvbnRleHQ6OmNvbnZl
cnRUb0JhY2tpbmcoY29uc3QKIAogICAgIHN0ZDo6b3B0aW9uYWw8T3JpZ2luM0Q+IG9yaWdpbjsK
ICAgICBpZiAoaW1hZ2VDb3B5VGV4dHVyZS5vcmlnaW4pIHsKLSAgICAgICAgYXV0byBvcmlnaW4g
PSBjb252ZXJ0VG9CYWNraW5nKCppbWFnZUNvcHlUZXh0dXJlLm9yaWdpbik7CisgICAgICAgIG9y
aWdpbiA9IGNvbnZlcnRUb0JhY2tpbmcoKmltYWdlQ29weVRleHR1cmUub3JpZ2luKTsKICAgICAg
ICAgaWYgKCFvcmlnaW4pCiAgICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogICAgIH0K
QEAgLTU4LDcgKzU4LDcgQEAgc3RkOjpvcHRpb25hbDxQQUw6OldlYkdQVTo6SW1hZ2VDb3B5VGV4
dHVyZT4gQ29udmVydEZyb21CYWNraW5nQ29udGV4dDo6Y29udmVydEYKIAogICAgIHN0ZDo6b3B0
aW9uYWw8UEFMOjpXZWJHUFU6Ok9yaWdpbjNEPiBvcmlnaW47CiAgICAgaWYgKGltYWdlQ29weVRl
eHR1cmUub3JpZ2luKSB7Ci0gICAgICAgIGF1dG8gb3JpZ2luID0gY29udmVydEZyb21CYWNraW5n
KCppbWFnZUNvcHlUZXh0dXJlLm9yaWdpbik7CisgICAgICAgIG9yaWdpbiA9IGNvbnZlcnRGcm9t
QmFja2luZygqaW1hZ2VDb3B5VGV4dHVyZS5vcmlnaW4pOwogICAgICAgICBpZiAoIW9yaWdpbikK
ICAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVVF1ZXJ5U2V0RGVzY3JpcHRvci5jcHAgYi9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVUXVlcnlTZXREZXNjcmlwdG9yLmNwcApp
bmRleCBhMDc2MTgyMzEzOWUyOTJmMDUwNmQ3ZGZlNmJhNjdjNWI5MDkxNDY0Li4yYzQyZWJhZWNh
NWFiZGNiNDg2NjQyOGFlOWU2YWQ4ZGVlMGFmMzIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9XZWJHUFUvV2ViR1BVUXVlcnlTZXREZXNjcmlwdG9yLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVUXVlcnlTZXREZXNjcmlwdG9yLmNwcApAQCAtNDAs
NyArNDAsNyBAQCBzdGQ6Om9wdGlvbmFsPFF1ZXJ5U2V0RGVzY3JpcHRvcj4gQ29udmVydFRvQmFj
a2luZ0NvbnRleHQ6OmNvbnZlcnRUb0JhY2tpbmcoY29ucwogICAgIGlmICghYmFzZSkKICAgICAg
ICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKIAotICAgIHJldHVybiB7IHsgV1RGTW92ZSgqYmFzZSks
IHF1ZXJ5U2V0RGVzY3JpcHRvci50eXBlLCBxdWVyeVNldERlc2NyaXB0b3IuY291bnQsIHF1ZXJ5
U2V0RGVzY3JpcHRvci5waXBlbGluZVN0YXRpc3RpY3MgfSB9OworICAgIHJldHVybiB7IHsgV1RG
TW92ZSgqYmFzZSksIHF1ZXJ5U2V0RGVzY3JpcHRvci50eXBlLCBxdWVyeVNldERlc2NyaXB0b3Iu
Y291bnQgfSB9OwogfQogCiBzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpRdWVyeVNldERlc2Ny
aXB0b3I+IENvbnZlcnRGcm9tQmFja2luZ0NvbnRleHQ6OmNvbnZlcnRGcm9tQmFja2luZyhjb25z
dCBRdWVyeVNldERlc2NyaXB0b3ImIHF1ZXJ5U2V0RGVzY3JpcHRvcikKQEAgLTQ5LDcgKzQ5LDcg
QEAgc3RkOjpvcHRpb25hbDxQQUw6OldlYkdQVTo6UXVlcnlTZXREZXNjcmlwdG9yPiBDb252ZXJ0
RnJvbUJhY2tpbmdDb250ZXh0Ojpjb252ZXIKICAgICBpZiAoIWJhc2UpCiAgICAgICAgIHJldHVy
biBzdGQ6Om51bGxvcHQ7CiAKLSAgICByZXR1cm4geyB7IFdURk1vdmUoKmJhc2UpLCBxdWVyeVNl
dERlc2NyaXB0b3IudHlwZSwgcXVlcnlTZXREZXNjcmlwdG9yLmNvdW50LCBxdWVyeVNldERlc2Ny
aXB0b3IucGlwZWxpbmVTdGF0aXN0aWNzIH0gfTsKKyAgICByZXR1cm4geyB7IFdURk1vdmUoKmJh
c2UpLCBxdWVyeVNldERlc2NyaXB0b3IudHlwZSwgcXVlcnlTZXREZXNjcmlwdG9yLmNvdW50IH0g
fTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9XZWJHUFUvV2ViR1BVUXVlcnlTZXREZXNjcmlwdG9yLmggYi9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9XZWJHUFUvV2ViR1BVUXVlcnlTZXREZXNjcmlwdG9yLmgKaW5kZXggMWZkMjhjYzhi
NTJjZmFmY2VmYjRiMjM0MDMwMjBhNDE4MTlmNzExYy4uNzU3Njc5ZDY1NmZhNzIzYzc1N2E1MWZh
OTMxOGNmNmE2NWQwMTZiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BV
L1dlYkdQVVF1ZXJ5U2V0RGVzY3JpcHRvci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dl
YkdQVS9XZWJHUFVRdWVyeVNldERlc2NyaXB0b3IuaApAQCAtMzAsNyArMzAsNiBAQAogI2luY2x1
ZGUgIldlYkdQVU9iamVjdERlc2NyaXB0b3JCYXNlLmgiCiAjaW5jbHVkZSA8b3B0aW9uYWw+CiAj
aW5jbHVkZSA8cGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVJbnRlZ3JhbFR5cGVzLmg+Ci0jaW5j
bHVkZSA8cGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVQaXBlbGluZVN0YXRpc3RpY05hbWUuaD4K
ICNpbmNsdWRlIDxwYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVF1ZXJ5VHlwZS5oPgogI2luY2x1
ZGUgPHd0Zi9WZWN0b3IuaD4KIApAQCAtMzksMTQgKzM4LDEyIEBAIG5hbWVzcGFjZSBXZWJLaXQ6
OldlYkdQVSB7CiBzdHJ1Y3QgUXVlcnlTZXREZXNjcmlwdG9yIDogcHVibGljIE9iamVjdERlc2Ny
aXB0b3JCYXNlIHsKICAgICBQQUw6OldlYkdQVTo6UXVlcnlUeXBlIHR5cGUgeyBQQUw6OldlYkdQ
VTo6UXVlcnlUeXBlOjpPY2NsdXNpb24gfTsKICAgICBQQUw6OldlYkdQVTo6U2l6ZTMyIGNvdW50
IHsgMCB9OwotICAgIFZlY3RvcjxQQUw6OldlYkdQVTo6UGlwZWxpbmVTdGF0aXN0aWNOYW1lPiBw
aXBlbGluZVN0YXRpc3RpY3M7CiAKICAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVu
Y29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogICAgIHsKICAgICAgICAgZW5jb2RlciA8PCBz
dGF0aWNfY2FzdDxjb25zdCBPYmplY3REZXNjcmlwdG9yQmFzZSY+KCp0aGlzKTsKICAgICAgICAg
ZW5jb2RlciA8PCB0eXBlOwogICAgICAgICBlbmNvZGVyIDw8IGNvdW50OwotICAgICAgICBlbmNv
ZGVyIDw8IHBpcGVsaW5lU3RhdGlzdGljczsKICAgICB9CiAKICAgICB0ZW1wbGF0ZTxjbGFzcyBE
ZWNvZGVyPiBzdGF0aWMgc3RkOjpvcHRpb25hbDxRdWVyeVNldERlc2NyaXB0b3I+IGRlY29kZShE
ZWNvZGVyJiBkZWNvZGVyKQpAQCAtNjYsMTIgKzYzLDcgQEAgc3RydWN0IFF1ZXJ5U2V0RGVzY3Jp
cHRvciA6IHB1YmxpYyBPYmplY3REZXNjcmlwdG9yQmFzZSB7CiAgICAgICAgIGlmICghY291bnQp
CiAgICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogCi0gICAgICAgIHN0ZDo6b3B0aW9u
YWw8VmVjdG9yPFBBTDo6V2ViR1BVOjpQaXBlbGluZVN0YXRpc3RpY05hbWU+PiBwaXBlbGluZVN0
YXRpc3RpY3M7Ci0gICAgICAgIGRlY29kZXIgPj4gcGlwZWxpbmVTdGF0aXN0aWNzOwotICAgICAg
ICBpZiAoIXBpcGVsaW5lU3RhdGlzdGljcykKLSAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxv
cHQ7Ci0KLSAgICAgICAgcmV0dXJuIHsgeyBXVEZNb3ZlKCpvYmplY3REZXNjcmlwdG9yQmFzZSks
IFdURk1vdmUoKnR5cGUpLCBXVEZNb3ZlKCpjb3VudCksIFdURk1vdmUoKnBpcGVsaW5lU3RhdGlz
dGljcykgfSB9OworICAgICAgICByZXR1cm4geyB7IFdURk1vdmUoKm9iamVjdERlc2NyaXB0b3JC
YXNlKSwgV1RGTW92ZSgqdHlwZSksIFdURk1vdmUoKmNvdW50KSB9IH07CiAgICAgfQogfTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVVJlbmRlclBhc3ND
b2xvckF0dGFjaG1lbnQuY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVVJl
bmRlclBhc3NDb2xvckF0dGFjaG1lbnQuY3BwCmluZGV4IGM0NzUwYmY3ZjVlNjBkZjY5ZjY0NjYy
NzQ5ZTg0NzUzZWEwYWMyNzIuLjViYjg2ZTE2MzdkZDRkMjdjM2ZhYzc3YjA1NTYxY2M3ZTIzYTY3
OTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVSZW5kZXJQ
YXNzQ29sb3JBdHRhY2htZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUv
V2ViR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudC5jcHAKQEAgLTQ3LDIwICs0NywxNCBAQCBz
dGQ6Om9wdGlvbmFsPFJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQ+IENvbnZlcnRUb0JhY2tpbmdD
b250ZXh0Ojpjb252ZXJ0VG9CYWNraQogICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsK
ICAgICB9CiAKLSAgICBhdXRvIGxvYWRWYWx1ZSA9IFdURjo6c3dpdGNoT24ocmVuZGVyUGFzc0Nv
bG9yQXR0YWNobWVudC5sb2FkVmFsdWUsIFtdIChQQUw6OldlYkdQVTo6TG9hZE9wIGxvYWRPcCkg
LT4gc3RkOjpvcHRpb25hbDxzdGQ6OnZhcmlhbnQ8UEFMOjpXZWJHUFU6OkxvYWRPcCwgVmVjdG9y
PGRvdWJsZT4sIENvbG9yRGljdD4+IHsKLSAgICAgICAgcmV0dXJuIHsgeyBsb2FkT3AgfSB9Owot
ICAgIH0sIFtdIChjb25zdCBWZWN0b3I8ZG91YmxlPiYgdmVjdG9yKSAtPiBzdGQ6Om9wdGlvbmFs
PHN0ZDo6dmFyaWFudDxQQUw6OldlYkdQVTo6TG9hZE9wLCBWZWN0b3I8ZG91YmxlPiwgQ29sb3JE
aWN0Pj4gewotICAgICAgICByZXR1cm4geyB7IHZlY3RvciB9IH07Ci0gICAgfSwgW3RoaXNdIChj
b25zdCBQQUw6OldlYkdQVTo6Q29sb3JEaWN0JiBjb2xvckRpY3QpIC0+IHN0ZDo6b3B0aW9uYWw8
c3RkOjp2YXJpYW50PFBBTDo6V2ViR1BVOjpMb2FkT3AsIFZlY3Rvcjxkb3VibGU+LCBDb2xvckRp
Y3Q+PiB7Ci0gICAgICAgIGF1dG8gYmFja2luZ0NvbG9yRGljdCA9IGNvbnZlcnRUb0JhY2tpbmco
Y29sb3JEaWN0KTsKLSAgICAgICAgaWYgKCFiYWNraW5nQ29sb3JEaWN0KQorICAgIHN0ZDo6b3B0
aW9uYWw8Q29sb3I+IGNsZWFyVmFsdWU7CisgICAgaWYgKHJlbmRlclBhc3NDb2xvckF0dGFjaG1l
bnQuY2xlYXJWYWx1ZSkgeworICAgICAgICBjbGVhclZhbHVlID0gY29udmVydFRvQmFja2luZygq
cmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudC5jbGVhclZhbHVlKTsKKyAgICAgICAgaWYgKCFjbGVh
clZhbHVlKQogICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKLSAgICAgICAgcmV0dXJu
IHsgeyBXVEZNb3ZlKCpiYWNraW5nQ29sb3JEaWN0KSB9IH07Ci0gICAgfSk7Ci0gICAgaWYgKCFs
b2FkVmFsdWUpCi0gICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisgICAgfQogCi0gICAgcmV0
dXJuIHsgeyB2aWV3LCByZXNvbHZlVGFyZ2V0LCBXVEZNb3ZlKCpsb2FkVmFsdWUpLCByZW5kZXJQ
YXNzQ29sb3JBdHRhY2htZW50LnN0b3JlT3AgfSB9OworICAgIHJldHVybiB7IHsgdmlldywgcmVz
b2x2ZVRhcmdldCwgV1RGTW92ZShjbGVhclZhbHVlKSwgcmVuZGVyUGFzc0NvbG9yQXR0YWNobWVu
dC5sb2FkT3AsIHJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQuc3RvcmVPcCB9IH07CiB9CiAKIHN0
ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQ+IENvbnZl
cnRGcm9tQmFja2luZ0NvbnRleHQ6OmNvbnZlcnRGcm9tQmFja2luZyhjb25zdCBSZW5kZXJQYXNz
Q29sb3JBdHRhY2htZW50JiByZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50KQpAQCAtNzYsMjAgKzcw
LDE0IEBAIHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlJlbmRlclBhc3NDb2xvckF0dGFjaG1l
bnQ+IENvbnZlcnRGcm9tQmFja2luZ0NvbnRleHQ6CiAgICAgICAgICAgICByZXR1cm4gc3RkOjpu
dWxsb3B0OwogICAgIH0KIAotICAgIGF1dG8gbG9hZFZhbHVlID0gV1RGOjpzd2l0Y2hPbihyZW5k
ZXJQYXNzQ29sb3JBdHRhY2htZW50LmxvYWRWYWx1ZSwgW10gKFBBTDo6V2ViR1BVOjpMb2FkT3Ag
bG9hZE9wKSAtPiBzdGQ6Om9wdGlvbmFsPHN0ZDo6dmFyaWFudDxQQUw6OldlYkdQVTo6TG9hZE9w
LCBWZWN0b3I8ZG91YmxlPiwgUEFMOjpXZWJHUFU6OkNvbG9yRGljdD4+IHsKLSAgICAgICAgcmV0
dXJuIHsgeyBsb2FkT3AgfSB9OwotICAgIH0sIFtdIChjb25zdCBWZWN0b3I8ZG91YmxlPiYgdmVj
dG9yKSAtPiBzdGQ6Om9wdGlvbmFsPHN0ZDo6dmFyaWFudDxQQUw6OldlYkdQVTo6TG9hZE9wLCBW
ZWN0b3I8ZG91YmxlPiwgUEFMOjpXZWJHUFU6OkNvbG9yRGljdD4+IHsKLSAgICAgICAgcmV0dXJu
IHsgeyB2ZWN0b3IgfSB9OwotICAgIH0sIFt0aGlzXSAoY29uc3QgQ29sb3JEaWN0JiBjb2xvckRp
Y3QpIC0+IHN0ZDo6b3B0aW9uYWw8c3RkOjp2YXJpYW50PFBBTDo6V2ViR1BVOjpMb2FkT3AsIFZl
Y3Rvcjxkb3VibGU+LCBQQUw6OldlYkdQVTo6Q29sb3JEaWN0Pj4gewotICAgICAgICBhdXRvIGJh
Y2tpbmdDb2xvckRpY3QgPSBjb252ZXJ0RnJvbUJhY2tpbmcoY29sb3JEaWN0KTsKLSAgICAgICAg
aWYgKCFiYWNraW5nQ29sb3JEaWN0KQorICAgIHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OkNv
bG9yPiBjbGVhclZhbHVlOworICAgIGlmIChyZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50LmNsZWFy
VmFsdWUpIHsKKyAgICAgICAgY2xlYXJWYWx1ZSA9IGNvbnZlcnRGcm9tQmFja2luZygqcmVuZGVy
UGFzc0NvbG9yQXR0YWNobWVudC5jbGVhclZhbHVlKTsKKyAgICAgICAgaWYgKCFjbGVhclZhbHVl
KQogICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKLSAgICAgICAgcmV0dXJuIHsgeyBX
VEZNb3ZlKCpiYWNraW5nQ29sb3JEaWN0KSB9IH07Ci0gICAgfSk7Ci0gICAgaWYgKCFsb2FkVmFs
dWUpCi0gICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisgICAgfQogCi0gICAgcmV0dXJuIHsg
eyAqdmlldywgcmVzb2x2ZVRhcmdldCwgV1RGTW92ZSgqbG9hZFZhbHVlKSwgcmVuZGVyUGFzc0Nv
bG9yQXR0YWNobWVudC5zdG9yZU9wIH0gfTsKKyAgICByZXR1cm4geyB7ICp2aWV3LCByZXNvbHZl
VGFyZ2V0LCBXVEZNb3ZlKGNsZWFyVmFsdWUpLCByZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50Lmxv
YWRPcCwgcmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudC5zdG9yZU9wIH0gfTsKIH0KIAogfSAvLyBu
YW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUv
V2ViR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudC5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQv
V2ViR1BVL1dlYkdQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQuaAppbmRleCBjMTZhMTRmZjBk
NDY4YzYzNmY1NmM2NmEwMTM2Yzc0MTgzM2EwYzIwLi43YmVhNDI0ODYwMDQ2YzJkMjA3MWFhYTI5
OTUzMzk3MDgyYjY3ZWFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUv
V2ViR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL1dlYkdQVS9XZWJHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50LmgKQEAgLTQyLDE0ICs0
MiwxNiBAQCBzdHJ1Y3QgUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudCB7CiAgICAgV2ViR1BVSWRl
bnRpZmllciB2aWV3OwogICAgIFdlYkdQVUlkZW50aWZpZXIgcmVzb2x2ZVRhcmdldDsKIAotICAg
IHN0ZDo6dmFyaWFudDxQQUw6OldlYkdQVTo6TG9hZE9wLCBWZWN0b3I8ZG91YmxlPiwgQ29sb3JE
aWN0PiBsb2FkVmFsdWU7CisgICAgc3RkOjpvcHRpb25hbDxDb2xvcj4gY2xlYXJWYWx1ZTsKKyAg
ICBQQUw6OldlYkdQVTo6TG9hZE9wIGxvYWRPcCB7IFBBTDo6V2ViR1BVOjpMb2FkT3A6OkxvYWQg
fTsKICAgICBQQUw6OldlYkdQVTo6U3RvcmVPcCBzdG9yZU9wIHsgUEFMOjpXZWJHUFU6OlN0b3Jl
T3A6OlN0b3JlIH07CiAKICAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShF
bmNvZGVyJiBlbmNvZGVyKSBjb25zdAogICAgIHsKICAgICAgICAgZW5jb2RlciA8PCB2aWV3Owog
ICAgICAgICBlbmNvZGVyIDw8IHJlc29sdmVUYXJnZXQ7Ci0gICAgICAgIGVuY29kZXIgPDwgbG9h
ZFZhbHVlOworICAgICAgICBlbmNvZGVyIDw8IGNsZWFyVmFsdWU7CisgICAgICAgIGVuY29kZXIg
PDwgbG9hZE9wOwogICAgICAgICBlbmNvZGVyIDw8IHN0b3JlT3A7CiAgICAgfQogCkBAIC02NSw5
ICs2NywxNCBAQCBzdHJ1Y3QgUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudCB7CiAgICAgICAgIGlm
ICghcmVzb2x2ZVRhcmdldCkKICAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAKLSAg
ICAgICAgc3RkOjpvcHRpb25hbDxzdGQ6OnZhcmlhbnQ8UEFMOjpXZWJHUFU6OkxvYWRPcCwgVmVj
dG9yPGRvdWJsZT4sIENvbG9yRGljdD4+IGxvYWRWYWx1ZTsKLSAgICAgICAgZGVjb2RlciA+PiBs
b2FkVmFsdWU7Ci0gICAgICAgIGlmICghbG9hZFZhbHVlKQorICAgICAgICBzdGQ6Om9wdGlvbmFs
PHN0ZDo6b3B0aW9uYWw8Q29sb3I+PiBjbGVhclZhbHVlOworICAgICAgICBkZWNvZGVyID4+IGNs
ZWFyVmFsdWU7CisgICAgICAgIGlmICghY2xlYXJWYWx1ZSkKKyAgICAgICAgICAgIHJldHVybiBz
dGQ6Om51bGxvcHQ7CisKKyAgICAgICAgc3RkOjpvcHRpb25hbDxQQUw6OldlYkdQVTo6TG9hZE9w
PiBsb2FkT3A7CisgICAgICAgIGRlY29kZXIgPj4gbG9hZE9wOworICAgICAgICBpZiAoIWxvYWRP
cCkKICAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAKICAgICAgICAgc3RkOjpvcHRp
b25hbDxQQUw6OldlYkdQVTo6U3RvcmVPcD4gc3RvcmVPcDsKQEAgLTc1LDcgKzgyLDcgQEAgc3Ry
dWN0IFJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQgewogICAgICAgICBpZiAoIXN0b3JlT3ApCiAg
ICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogCi0gICAgICAgIHJldHVybiB7IHsgV1RG
TW92ZSgqdmlldyksIFdURk1vdmUoKnJlc29sdmVUYXJnZXQpLCBXVEZNb3ZlKCpsb2FkVmFsdWUp
LCBXVEZNb3ZlKCpzdG9yZU9wKSB9IH07CisgICAgICAgIHJldHVybiB7IHsgV1RGTW92ZSgqdmll
dyksIFdURk1vdmUoKnJlc29sdmVUYXJnZXQpLCBXVEZNb3ZlKCpjbGVhclZhbHVlKSwgV1RGTW92
ZSgqbG9hZE9wKSwgV1RGTW92ZSgqc3RvcmVPcCkgfSB9OwogICAgIH0KIH07CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVSZW5kZXJQYXNzRGVwdGhTdGVu
Y2lsQXR0YWNobWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVUmVu
ZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQuY3BwCmluZGV4IDM2NjQxY2Q2Nzc2ODBjOGZl
Y2YzMWJmZTY5M2YxOTUwMzgxMmFhYjIuLjI4NTFjYzJmNGE1OGI0ZjI0NmM5NDNlNTVmM2Q1Yzdl
NTNjMWU4YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVS
ZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNobWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9T
aGFyZWQvV2ViR1BVL1dlYkdQVVJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50LmNwcApA
QCAtNDAsNyArNDAsNyBAQCBzdGQ6Om9wdGlvbmFsPFJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRh
Y2htZW50PiBDb252ZXJ0VG9CYWNraW5nQ29udGV4dDo6Y29udmVydAogICAgIGlmICghdmlldykK
ICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKIAotICAgIHJldHVybiB7IHsgdmlldywgcmVu
ZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQuZGVwdGhMb2FkVmFsdWUsIHJlbmRlclBhc3NE
ZXB0aFN0ZW5jaWxBdHRhY2htZW50LmRlcHRoU3RvcmVPcCwgcmVuZGVyUGFzc0RlcHRoU3RlbmNp
bEF0dGFjaG1lbnQuZGVwdGhSZWFkT25seSwgcmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1l
bnQuc3RlbmNpbExvYWRWYWx1ZSwgcmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQuc3Rl
bmNpbFN0b3JlT3AsIHJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50LnN0ZW5jaWxSZWFk
T25seSB9IH07CisgICAgcmV0dXJuIHsgeyB2aWV3LCByZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0
YWNobWVudC5kZXB0aENsZWFyVmFsdWUsIHJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50
LmRlcHRoTG9hZE9wLCByZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNobWVudC5kZXB0aFN0b3Jl
T3AsIHJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50LmRlcHRoUmVhZE9ubHksIHJlbmRl
clBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50LnN0ZW5jaWxDbGVhclZhbHVlLCByZW5kZXJQYXNz
RGVwdGhTdGVuY2lsQXR0YWNobWVudC5zdGVuY2lsTG9hZE9wLCByZW5kZXJQYXNzRGVwdGhTdGVu
Y2lsQXR0YWNobWVudC5zdGVuY2lsU3RvcmVPcCwgcmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFj
aG1lbnQuc3RlbmNpbFJlYWRPbmx5IH0gfTsKIH0KIAogc3RkOjpvcHRpb25hbDxQQUw6OldlYkdQ
VTo6UmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQ+IENvbnZlcnRGcm9tQmFja2luZ0Nv
bnRleHQ6OmNvbnZlcnRGcm9tQmFja2luZyhjb25zdCBSZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0
YWNobWVudCYgcmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQpCkBAIC00OSw3ICs0OSw3
IEBAIHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRh
Y2htZW50PiBDb252ZXJ0RnJvbUJhY2tpbmdDCiAgICAgaWYgKCF2aWV3KQogICAgICAgICByZXR1
cm4gc3RkOjpudWxsb3B0OwogCi0gICAgcmV0dXJuIHsgeyAqdmlldywgcmVuZGVyUGFzc0RlcHRo
U3RlbmNpbEF0dGFjaG1lbnQuZGVwdGhMb2FkVmFsdWUsIHJlbmRlclBhc3NEZXB0aFN0ZW5jaWxB
dHRhY2htZW50LmRlcHRoU3RvcmVPcCwgcmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQu
ZGVwdGhSZWFkT25seSwgcmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQuc3RlbmNpbExv
YWRWYWx1ZSwgcmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQuc3RlbmNpbFN0b3JlT3As
IHJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50LnN0ZW5jaWxSZWFkT25seSB9IH07Cisg
ICAgcmV0dXJuIHsgeyAqdmlldywgcmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQuZGVw
dGhDbGVhclZhbHVlLCByZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNobWVudC5kZXB0aExvYWRP
cCwgcmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQuZGVwdGhTdG9yZU9wLCByZW5kZXJQ
YXNzRGVwdGhTdGVuY2lsQXR0YWNobWVudC5kZXB0aFJlYWRPbmx5LCByZW5kZXJQYXNzRGVwdGhT
dGVuY2lsQXR0YWNobWVudC5zdGVuY2lsQ2xlYXJWYWx1ZSwgcmVuZGVyUGFzc0RlcHRoU3RlbmNp
bEF0dGFjaG1lbnQuc3RlbmNpbExvYWRPcCwgcmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1l
bnQuc3RlbmNpbFN0b3JlT3AsIHJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50LnN0ZW5j
aWxSZWFkT25seSB9IH07CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVVJlbmRlclBhc3NEZXB0aFN0ZW5jaWxB
dHRhY2htZW50LmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVUmVuZGVyUGFz
c0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQuaAppbmRleCBiZTcxOGQyOGIyM2NmMDM3NjQ1ZjFiZGM5
MGYwYzQyZWM3YjM0MjdmLi41ZDQ3MzcwMjllMjdhMmY2MzljMjkzZGI3ZTUxODBhZGE1NDM4ZjBk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVUmVuZGVyUGFz
c0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJH
UFUvV2ViR1BVUmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQuaApAQCAtNDAsMjEgKzQw
LDI1IEBAIG5hbWVzcGFjZSBXZWJLaXQ6OldlYkdQVSB7CiBzdHJ1Y3QgUmVuZGVyUGFzc0RlcHRo
U3RlbmNpbEF0dGFjaG1lbnQgewogICAgIFdlYkdQVUlkZW50aWZpZXIgdmlldzsKIAotICAgIHN0
ZDo6dmFyaWFudDxQQUw6OldlYkdQVTo6TG9hZE9wLCBmbG9hdD4gZGVwdGhMb2FkVmFsdWU7Ci0g
ICAgUEFMOjpXZWJHUFU6OlN0b3JlT3AgZGVwdGhTdG9yZU9wIHsgUEFMOjpXZWJHUFU6OlN0b3Jl
T3A6OlN0b3JlIH07CisgICAgZmxvYXQgZGVwdGhDbGVhclZhbHVlIHsgMCB9OworICAgIHN0ZDo6
b3B0aW9uYWw8UEFMOjpXZWJHUFU6OkxvYWRPcD4gZGVwdGhMb2FkT3A7CisgICAgc3RkOjpvcHRp
b25hbDxQQUw6OldlYkdQVTo6U3RvcmVPcD4gZGVwdGhTdG9yZU9wOwogICAgIGJvb2wgZGVwdGhS
ZWFkT25seSB7IGZhbHNlIH07CiAKLSAgICBzdGQ6OnZhcmlhbnQ8UEFMOjpXZWJHUFU6OkxvYWRP
cCwgUEFMOjpXZWJHUFU6OlN0ZW5jaWxWYWx1ZT4gc3RlbmNpbExvYWRWYWx1ZTsKLSAgICBQQUw6
OldlYkdQVTo6U3RvcmVPcCBzdGVuY2lsU3RvcmVPcCB7IFBBTDo6V2ViR1BVOjpTdG9yZU9wOjpT
dG9yZSB9OworICAgIFBBTDo6V2ViR1BVOjpTdGVuY2lsVmFsdWUgc3RlbmNpbENsZWFyVmFsdWUg
eyAwIH07CisgICAgc3RkOjpvcHRpb25hbDxQQUw6OldlYkdQVTo6TG9hZE9wPiBzdGVuY2lsTG9h
ZE9wOworICAgIHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlN0b3JlT3A+IHN0ZW5jaWxTdG9y
ZU9wOwogICAgIGJvb2wgc3RlbmNpbFJlYWRPbmx5IHsgZmFsc2UgfTsKIAogICAgIHRlbXBsYXRl
PGNsYXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0CiAgICAg
ewogICAgICAgICBlbmNvZGVyIDw8IHZpZXc7Ci0gICAgICAgIGVuY29kZXIgPDwgZGVwdGhMb2Fk
VmFsdWU7CisgICAgICAgIGVuY29kZXIgPDwgZGVwdGhDbGVhclZhbHVlOworICAgICAgICBlbmNv
ZGVyIDw8IGRlcHRoTG9hZE9wOwogICAgICAgICBlbmNvZGVyIDw8IGRlcHRoU3RvcmVPcDsKICAg
ICAgICAgZW5jb2RlciA8PCBkZXB0aFJlYWRPbmx5OwotICAgICAgICBlbmNvZGVyIDw8IHN0ZW5j
aWxMb2FkVmFsdWU7CisgICAgICAgIGVuY29kZXIgPDwgc3RlbmNpbENsZWFyVmFsdWU7CisgICAg
ICAgIGVuY29kZXIgPDwgc3RlbmNpbExvYWRPcDsKICAgICAgICAgZW5jb2RlciA8PCBzdGVuY2ls
U3RvcmVPcDsKICAgICAgICAgZW5jb2RlciA8PCBzdGVuY2lsUmVhZE9ubHk7CiAgICAgfQpAQCAt
NjYsMTIgKzcwLDE3IEBAIHN0cnVjdCBSZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNobWVudCB7
CiAgICAgICAgIGlmICghdmlldykKICAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAK
LSAgICAgICAgc3RkOjpvcHRpb25hbDxzdGQ6OnZhcmlhbnQ8UEFMOjpXZWJHUFU6OkxvYWRPcCwg
ZmxvYXQ+PiBkZXB0aExvYWRWYWx1ZTsKLSAgICAgICAgZGVjb2RlciA+PiBkZXB0aExvYWRWYWx1
ZTsKLSAgICAgICAgaWYgKCFkZXB0aExvYWRWYWx1ZSkKKyAgICAgICAgc3RkOjpvcHRpb25hbDxm
bG9hdD4gZGVwdGhDbGVhclZhbHVlOworICAgICAgICBkZWNvZGVyID4+IGRlcHRoQ2xlYXJWYWx1
ZTsKKyAgICAgICAgaWYgKCFkZXB0aENsZWFyVmFsdWUpCiAgICAgICAgICAgICByZXR1cm4gc3Rk
OjpudWxsb3B0OwogCi0gICAgICAgIHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlN0b3JlT3A+
IGRlcHRoU3RvcmVPcDsKKyAgICAgICAgc3RkOjpvcHRpb25hbDxzdGQ6Om9wdGlvbmFsPFBBTDo6
V2ViR1BVOjpMb2FkT3A+PiBkZXB0aExvYWRPcDsKKyAgICAgICAgZGVjb2RlciA+PiBkZXB0aExv
YWRPcDsKKyAgICAgICAgaWYgKCFkZXB0aExvYWRPcCkKKyAgICAgICAgICAgIHJldHVybiBzdGQ6
Om51bGxvcHQ7CisKKyAgICAgICAgc3RkOjpvcHRpb25hbDxzdGQ6Om9wdGlvbmFsPFBBTDo6V2Vi
R1BVOjpTdG9yZU9wPj4gZGVwdGhTdG9yZU9wOwogICAgICAgICBkZWNvZGVyID4+IGRlcHRoU3Rv
cmVPcDsKICAgICAgICAgaWYgKCFkZXB0aFN0b3JlT3ApCiAgICAgICAgICAgICByZXR1cm4gc3Rk
OjpudWxsb3B0OwpAQCAtODEsMTIgKzkwLDE3IEBAIHN0cnVjdCBSZW5kZXJQYXNzRGVwdGhTdGVu
Y2lsQXR0YWNobWVudCB7CiAgICAgICAgIGlmICghZGVwdGhSZWFkT25seSkKICAgICAgICAgICAg
IHJldHVybiBzdGQ6Om51bGxvcHQ7CiAKLSAgICAgICAgc3RkOjpvcHRpb25hbDxzdGQ6OnZhcmlh
bnQ8UEFMOjpXZWJHUFU6OkxvYWRPcCwgUEFMOjpXZWJHUFU6OlN0ZW5jaWxWYWx1ZT4+IHN0ZW5j
aWxMb2FkVmFsdWU7Ci0gICAgICAgIGRlY29kZXIgPj4gc3RlbmNpbExvYWRWYWx1ZTsKLSAgICAg
ICAgaWYgKCFzdGVuY2lsTG9hZFZhbHVlKQorICAgICAgICBzdGQ6Om9wdGlvbmFsPFBBTDo6V2Vi
R1BVOjpTdGVuY2lsVmFsdWU+IHN0ZW5jaWxDbGVhclZhbHVlOworICAgICAgICBkZWNvZGVyID4+
IHN0ZW5jaWxDbGVhclZhbHVlOworICAgICAgICBpZiAoIXN0ZW5jaWxDbGVhclZhbHVlKQorICAg
ICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgICAgICBzdGQ6Om9wdGlvbmFsPHN0
ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OkxvYWRPcD4+IHN0ZW5jaWxMb2FkT3A7CisgICAgICAg
IGRlY29kZXIgPj4gc3RlbmNpbExvYWRPcDsKKyAgICAgICAgaWYgKCFzdGVuY2lsTG9hZE9wKQog
ICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKIAotICAgICAgICBzdGQ6Om9wdGlvbmFs
PFBBTDo6V2ViR1BVOjpTdG9yZU9wPiBzdGVuY2lsU3RvcmVPcDsKKyAgICAgICAgc3RkOjpvcHRp
b25hbDxzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpTdG9yZU9wPj4gc3RlbmNpbFN0b3JlT3A7
CiAgICAgICAgIGRlY29kZXIgPj4gc3RlbmNpbFN0b3JlT3A7CiAgICAgICAgIGlmICghc3RlbmNp
bFN0b3JlT3ApCiAgICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwpAQCAtOTYsNyArMTEw
LDcgQEAgc3RydWN0IFJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50IHsKICAgICAgICAg
aWYgKCFzdGVuY2lsUmVhZE9ubHkpCiAgICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0Owog
Ci0gICAgICAgIHJldHVybiB7IHsgV1RGTW92ZSgqdmlldyksIFdURk1vdmUoKmRlcHRoTG9hZFZh
bHVlKSwgV1RGTW92ZSgqZGVwdGhTdG9yZU9wKSwgV1RGTW92ZSgqZGVwdGhSZWFkT25seSksIFdU
Rk1vdmUoKnN0ZW5jaWxMb2FkVmFsdWUpLCBXVEZNb3ZlKCpzdGVuY2lsU3RvcmVPcCksIFdURk1v
dmUoKnN0ZW5jaWxSZWFkT25seSkgfSB9OworICAgICAgICByZXR1cm4geyB7IFdURk1vdmUoKnZp
ZXcpLCBXVEZNb3ZlKCpkZXB0aENsZWFyVmFsdWUpLCBXVEZNb3ZlKCpkZXB0aExvYWRPcCksIFdU
Rk1vdmUoKmRlcHRoU3RvcmVPcCksIFdURk1vdmUoKmRlcHRoUmVhZE9ubHkpLCBXVEZNb3ZlKCpz
dGVuY2lsQ2xlYXJWYWx1ZSksIFdURk1vdmUoKnN0ZW5jaWxMb2FkT3ApLCBXVEZNb3ZlKCpzdGVu
Y2lsU3RvcmVPcCksIFdURk1vdmUoKnN0ZW5jaWxSZWFkT25seSkgfSB9OwogICAgIH0KIH07CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVSZW5kZXJQYXNz
RGVzY3JpcHRvci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVUmVuZGVy
UGFzc0Rlc2NyaXB0b3IuY3BwCmluZGV4IDEzMmNmYTViOGZkY2MxYmQ3ODlmNmFiYmVlMjZlMjg0
NjQyMjYyYTUuLjQ4NWVjYzU4YzM0NzQyODllMGIwYjA2MGRhNjcwNmMxMzljMzVkYWIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVSZW5kZXJQYXNzRGVzY3Jp
cHRvci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVVJlbmRlclBh
c3NEZXNjcmlwdG9yLmNwcApAQCAtNDAsMTMgKzQwLDE2IEBAIHN0ZDo6b3B0aW9uYWw8UmVuZGVy
UGFzc0Rlc2NyaXB0b3I+IENvbnZlcnRUb0JhY2tpbmdDb250ZXh0Ojpjb252ZXJ0VG9CYWNraW5n
KGNvCiAgICAgaWYgKCFiYXNlKQogICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogCi0gICAg
VmVjdG9yPFJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQ+IGNvbG9yQXR0YWNobWVudHM7CisgICAg
VmVjdG9yPHN0ZDo6b3B0aW9uYWw8UmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudD4+IGNvbG9yQXR0
YWNobWVudHM7CiAgICAgY29sb3JBdHRhY2htZW50cy5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KHJl
bmRlclBhc3NEZXNjcmlwdG9yLmNvbG9yQXR0YWNobWVudHMuc2l6ZSgpKTsKICAgICBmb3IgKGNv
bnN0IGF1dG8mIGNvbG9yQXR0YWNobWVudCA6IHJlbmRlclBhc3NEZXNjcmlwdG9yLmNvbG9yQXR0
YWNobWVudHMpIHsKLSAgICAgICAgYXV0byBiYWNraW5nQ29sb3JBdHRhY2htZW50ID0gY29udmVy
dFRvQmFja2luZyhjb2xvckF0dGFjaG1lbnQpOwotICAgICAgICBpZiAoIWJhY2tpbmdDb2xvckF0
dGFjaG1lbnQpCi0gICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwotICAgICAgICBjb2xv
ckF0dGFjaG1lbnRzLnVuY2hlY2tlZEFwcGVuZChXVEZNb3ZlKCpiYWNraW5nQ29sb3JBdHRhY2ht
ZW50KSk7CisgICAgICAgIGlmIChjb2xvckF0dGFjaG1lbnQpIHsKKyAgICAgICAgICAgIGF1dG8g
YmFja2luZ0NvbG9yQXR0YWNobWVudCA9IGNvbnZlcnRUb0JhY2tpbmcoKmNvbG9yQXR0YWNobWVu
dCk7CisgICAgICAgICAgICBpZiAoIWJhY2tpbmdDb2xvckF0dGFjaG1lbnQpCisgICAgICAgICAg
ICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKyAgICAgICAgICAgIGNvbG9yQXR0YWNobWVudHMu
dW5jaGVja2VkQXBwZW5kKFdURk1vdmUoKmJhY2tpbmdDb2xvckF0dGFjaG1lbnQpKTsKKyAgICAg
ICAgfSBlbHNlCisgICAgICAgICAgICBjb2xvckF0dGFjaG1lbnRzLnVuY2hlY2tlZEFwcGVuZChz
dGQ6Om51bGxvcHQpOwogICAgIH0KIAogICAgIHN0ZDo6b3B0aW9uYWw8UmVuZGVyUGFzc0RlcHRo
U3RlbmNpbEF0dGFjaG1lbnQ+IGRlcHRoU3RlbmNpbEF0dGFjaG1lbnQ7CkBAIC03NiwxMyArNzks
MTYgQEAgc3RkOjpvcHRpb25hbDxQQUw6OldlYkdQVTo6UmVuZGVyUGFzc0Rlc2NyaXB0b3I+IENv
bnZlcnRGcm9tQmFja2luZ0NvbnRleHQ6OmNvbnYKICAgICBpZiAoIWJhc2UpCiAgICAgICAgIHJl
dHVybiBzdGQ6Om51bGxvcHQ7CiAKLSAgICBWZWN0b3I8UEFMOjpXZWJHUFU6OlJlbmRlclBhc3ND
b2xvckF0dGFjaG1lbnQ+IGNvbG9yQXR0YWNobWVudHM7CisgICAgVmVjdG9yPHN0ZDo6b3B0aW9u
YWw8UEFMOjpXZWJHUFU6OlJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQ+PiBjb2xvckF0dGFjaG1l
bnRzOwogICAgIGNvbG9yQXR0YWNobWVudHMucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShyZW5kZXJQ
YXNzRGVzY3JpcHRvci5jb2xvckF0dGFjaG1lbnRzLnNpemUoKSk7CiAgICAgZm9yIChjb25zdCBh
dXRvJiBiYWNraW5nQ29sb3JBdHRhY2htZW50IDogcmVuZGVyUGFzc0Rlc2NyaXB0b3IuY29sb3JB
dHRhY2htZW50cykgewotICAgICAgICBhdXRvIGNvbG9yQXR0YWNobWVudCA9IGNvbnZlcnRGcm9t
QmFja2luZyhiYWNraW5nQ29sb3JBdHRhY2htZW50KTsKLSAgICAgICAgaWYgKCFjb2xvckF0dGFj
aG1lbnQpCi0gICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwotICAgICAgICBjb2xvckF0
dGFjaG1lbnRzLnVuY2hlY2tlZEFwcGVuZChXVEZNb3ZlKCpjb2xvckF0dGFjaG1lbnQpKTsKKyAg
ICAgICAgaWYgKGJhY2tpbmdDb2xvckF0dGFjaG1lbnQpIHsKKyAgICAgICAgICAgIGF1dG8gY29s
b3JBdHRhY2htZW50ID0gY29udmVydEZyb21CYWNraW5nKCpiYWNraW5nQ29sb3JBdHRhY2htZW50
KTsKKyAgICAgICAgICAgIGlmICghY29sb3JBdHRhY2htZW50KQorICAgICAgICAgICAgICAgIHJl
dHVybiBzdGQ6Om51bGxvcHQ7CisgICAgICAgICAgICBjb2xvckF0dGFjaG1lbnRzLnVuY2hlY2tl
ZEFwcGVuZChXVEZNb3ZlKCpjb2xvckF0dGFjaG1lbnQpKTsKKyAgICAgICAgfSBlbHNlCisgICAg
ICAgICAgICBjb2xvckF0dGFjaG1lbnRzLnVuY2hlY2tlZEFwcGVuZChzdGQ6Om51bGxvcHQpOwog
ICAgIH0KIAogICAgIGF1dG8gZGVwdGhTdGVuY2lsQXR0YWNobWVudCA9IChbJl0gKCkgLT4gc3Rk
OjpvcHRpb25hbDxQQUw6OldlYkdQVTo6UmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQ+
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVSZW5kZXJQ
YXNzRGVzY3JpcHRvci5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVVJlbmRl
clBhc3NEZXNjcmlwdG9yLmgKaW5kZXggYjdlOGY1ZDg0YTE2MDlkMmRiOTUwMmY3NmEzZTQ4ZTZl
YjBmNjU5Yi4uZDViYzMxMWNkNzg5Y2M3NmE5NDAxZTM3N2UzY2M0ZjViZGY5NjBiMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVVJlbmRlclBhc3NEZXNjcmlw
dG9yLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVVJlbmRlclBhc3NE
ZXNjcmlwdG9yLmgKQEAgLTM4LDcgKzM4LDcgQEAKIG5hbWVzcGFjZSBXZWJLaXQ6OldlYkdQVSB7
CiAKIHN0cnVjdCBSZW5kZXJQYXNzRGVzY3JpcHRvciA6IHB1YmxpYyBPYmplY3REZXNjcmlwdG9y
QmFzZSB7Ci0gICAgVmVjdG9yPFJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQ+IGNvbG9yQXR0YWNo
bWVudHM7CisgICAgVmVjdG9yPHN0ZDo6b3B0aW9uYWw8UmVuZGVyUGFzc0NvbG9yQXR0YWNobWVu
dD4+IGNvbG9yQXR0YWNobWVudHM7CiAgICAgc3RkOjpvcHRpb25hbDxSZW5kZXJQYXNzRGVwdGhT
dGVuY2lsQXR0YWNobWVudD4gZGVwdGhTdGVuY2lsQXR0YWNobWVudDsKICAgICBXZWJHUFVJZGVu
dGlmaWVyIG9jY2x1c2lvblF1ZXJ5U2V0OwogICAgIFJlbmRlclBhc3NUaW1lc3RhbXBXcml0ZXMg
dGltZXN0YW1wV3JpdGVzOwpAQCAtNTksNyArNTksNyBAQCBzdHJ1Y3QgUmVuZGVyUGFzc0Rlc2Ny
aXB0b3IgOiBwdWJsaWMgT2JqZWN0RGVzY3JpcHRvckJhc2UgewogICAgICAgICBpZiAoIW9iamVj
dERlc2NyaXB0b3JCYXNlKQogICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKIAotICAg
ICAgICBzdGQ6Om9wdGlvbmFsPFZlY3RvcjxSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50Pj4gY29s
b3JBdHRhY2htZW50czsKKyAgICAgICAgc3RkOjpvcHRpb25hbDxWZWN0b3I8c3RkOjpvcHRpb25h
bDxSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50Pj4+IGNvbG9yQXR0YWNobWVudHM7CiAgICAgICAg
IGRlY29kZXIgPj4gY29sb3JBdHRhY2htZW50czsKICAgICAgICAgaWYgKCFjb2xvckF0dGFjaG1l
bnRzKQogICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVSZW5kZXJQYXNzTGF5b3V0LmggYi9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVUmVuZGVyUGFzc0xheW91dC5oCmluZGV4IGU5Y2Yy
MmJiYWU3ZTI1YjE2NzQ3ZmNmZjI0ZmJjYWNmMDY4OTA0MzguLjRkYWZkOWNlMTI3YTJiY2Q5MTcz
YjEwNDU3MDUyZWEzZGVjZGYyYTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dl
YkdQVS9XZWJHUFVSZW5kZXJQYXNzTGF5b3V0LmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQv
V2ViR1BVL1dlYkdQVVJlbmRlclBhc3NMYXlvdXQuaApAQCAtMzYsNyArMzYsNyBAQAogbmFtZXNw
YWNlIFdlYktpdDo6V2ViR1BVIHsKIAogc3RydWN0IFJlbmRlclBhc3NMYXlvdXQgOiBwdWJsaWMg
T2JqZWN0RGVzY3JpcHRvckJhc2UgewotICAgIFZlY3RvcjxQQUw6OldlYkdQVTo6VGV4dHVyZUZv
cm1hdD4gY29sb3JGb3JtYXRzOworICAgIFZlY3RvcjxzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BV
OjpUZXh0dXJlRm9ybWF0Pj4gY29sb3JGb3JtYXRzOwogICAgIHN0ZDo6b3B0aW9uYWw8UEFMOjpX
ZWJHUFU6OlRleHR1cmVGb3JtYXQ+IGRlcHRoU3RlbmNpbEZvcm1hdDsKICAgICBQQUw6OldlYkdQ
VTo6U2l6ZTMyIHNhbXBsZUNvdW50IHsgMSB9OwogCkBAIC01NSw3ICs1NSw3IEBAIHN0cnVjdCBS
ZW5kZXJQYXNzTGF5b3V0IDogcHVibGljIE9iamVjdERlc2NyaXB0b3JCYXNlIHsKICAgICAgICAg
aWYgKCFvYmplY3REZXNjcmlwdG9yQmFzZSkKICAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxv
cHQ7CiAKLSAgICAgICAgc3RkOjpvcHRpb25hbDxWZWN0b3I8UEFMOjpXZWJHUFU6OlRleHR1cmVG
b3JtYXQ+PiBjb2xvckZvcm1hdHM7CisgICAgICAgIHN0ZDo6b3B0aW9uYWw8VmVjdG9yPHN0ZDo6
b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlRleHR1cmVGb3JtYXQ+Pj4gY29sb3JGb3JtYXRzOwogICAg
ICAgICBkZWNvZGVyID4+IGNvbG9yRm9ybWF0czsKICAgICAgICAgaWYgKCFjb2xvckZvcm1hdHMp
CiAgICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVVNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludC5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRp
b25IaW50LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MDRjN2IwNDVhZmU3NDk5NjZjMjI5NjM2NmRjYWQ2Mzgz
OWZjMGRkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dl
YkdQVVNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludC5jcHAKQEAgLTAsMCArMSw1NyBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXZWJHUFVTaGFkZXJNb2R1
bGVDb21waWxhdGlvbkhpbnQuaCIKKworI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykKKworI2luY2x1
ZGUgIldlYkdQVUNvbnZlcnRGcm9tQmFja2luZ0NvbnRleHQuaCIKKyNpbmNsdWRlICJXZWJHUFVD
b252ZXJ0VG9CYWNraW5nQ29udGV4dC5oIgorI2luY2x1ZGUgPHBhbC9ncmFwaGljcy9XZWJHUFUv
V2ViR1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50Lmg+CisKK25hbWVzcGFjZSBXZWJLaXQ6
OldlYkdQVSB7CisKK3N0ZDo6b3B0aW9uYWw8U2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50PiBD
b252ZXJ0VG9CYWNraW5nQ29udGV4dDo6Y29udmVydFRvQmFja2luZyhjb25zdCBQQUw6OldlYkdQ
VTo6U2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50JiBzaGFkZXJNb2R1bGVDb21waWxhdGlvbkhp
bnQpCit7CisgICAgV2ViR1BVSWRlbnRpZmllciBwaXBlbGluZUxheW91dCA9IGNvbnZlcnRUb0Jh
Y2tpbmcoc2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50LnBpcGVsaW5lTGF5b3V0KTsKKyAgICBp
ZiAoIXBpcGVsaW5lTGF5b3V0KQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworCisgICAg
cmV0dXJuIHsgeyBwaXBlbGluZUxheW91dCB9IH07Cit9CisKK3N0ZDo6b3B0aW9uYWw8UEFMOjpX
ZWJHUFU6OlNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludD4gQ29udmVydEZyb21CYWNraW5nQ29u
dGV4dDo6Y29udmVydEZyb21CYWNraW5nKGNvbnN0IFNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGlu
dCYgc2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50KQoreworICAgIGF1dG8qIHBpcGVsaW5lTGF5
b3V0ID0gY29udmVydFBpcGVsaW5lTGF5b3V0RnJvbUJhY2tpbmcoc2hhZGVyTW9kdWxlQ29tcGls
YXRpb25IaW50LnBpcGVsaW5lTGF5b3V0KTsKKyAgICBpZiAoIXBpcGVsaW5lTGF5b3V0KQorICAg
ICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworCisgICAgcmV0dXJuIHsgeyAqcGlwZWxpbmVMYXlv
dXQgfSB9OworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIEVOQUJMRShH
UFVfUFJPQ0VTUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJH
UFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dl
YkdQVS9XZWJHUFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQuaApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lODkz
NjlkZmVhNGQwMjZmNTM3NGFhMTIyMjcyYTA2YmU0MTNlODliCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVVNoYWRlck1vZHVsZUNvbXBpbGF0aW9u
SGludC5oCkBAIC0wLDAgKzEsNTYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lm
IEVOQUJMRShHUFVfUFJPQ0VTUykKKworI2luY2x1ZGUgIldlYkdQVUlkZW50aWZpZXIuaCIKKyNp
bmNsdWRlIDxvcHRpb25hbD4KKworbmFtZXNwYWNlIFdlYktpdDo6V2ViR1BVIHsKKworc3RydWN0
IFNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludCB7CisgICAgV2ViR1BVSWRlbnRpZmllciBwaXBl
bGluZUxheW91dDsKKworICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlKEVu
Y29kZXImIGVuY29kZXIpIGNvbnN0CisgICAgeworICAgICAgICBlbmNvZGVyIDw8IHBpcGVsaW5l
TGF5b3V0OworICAgIH0KKworICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IHN0YXRpYyBzdGQ6
Om9wdGlvbmFsPFNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludD4gZGVjb2RlKERlY29kZXImIGRl
Y29kZXIpCisgICAgeworICAgICAgICBzdGQ6Om9wdGlvbmFsPFdlYkdQVUlkZW50aWZpZXI+IHBp
cGVsaW5lTGF5b3V0OworICAgICAgICBkZWNvZGVyID4+IHBpcGVsaW5lTGF5b3V0OworICAgICAg
ICBpZiAoIXBpcGVsaW5lTGF5b3V0KQorICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsK
KworICAgICAgICByZXR1cm4geyB7IFdURk1vdmUoKnBpcGVsaW5lTGF5b3V0KSB9IH07CisgICAg
fQorfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0OjpXZWJHUFUKKworI2VuZGlmIC8vIEVOQUJM
RShHUFVfUFJPQ0VTUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9X
ZWJHUFVTaGFkZXJNb2R1bGVEZXNjcmlwdG9yLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dl
YkdQVS9XZWJHUFVTaGFkZXJNb2R1bGVEZXNjcmlwdG9yLmNwcAppbmRleCAyNmRiZDY3OGVlZDY5
ZWM3YTUwMzU0ZDU4N2NkZGVjNmZhY2VkYjdmLi5mYmZlMjBiN2I0YzZhZWIxMDFlYzA2NzM5YjUz
ODNjYjZhYjkyZjFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2Vi
R1BVU2hhZGVyTW9kdWxlRGVzY3JpcHRvci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQv
V2ViR1BVL1dlYkdQVVNoYWRlck1vZHVsZURlc2NyaXB0b3IuY3BwCkBAIC00MCw3ICs0MCwxNiBA
QCBzdGQ6Om9wdGlvbmFsPFNoYWRlck1vZHVsZURlc2NyaXB0b3I+IENvbnZlcnRUb0JhY2tpbmdD
b250ZXh0Ojpjb252ZXJ0VG9CYWNraW5nKAogICAgIGlmICghYmFzZSkKICAgICAgICAgcmV0dXJu
IHN0ZDo6bnVsbG9wdDsKIAotICAgIHJldHVybiB7IHsgV1RGTW92ZSgqYmFzZSksIHNoYWRlck1v
ZHVsZURlc2NyaXB0b3IuY29kZSB9IH07CisgICAgVmVjdG9yPEtleVZhbHVlUGFpcjxTdHJpbmcs
IFNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludD4+IGhpbnRzOworICAgIGhpbnRzLnJlc2VydmVJ
bml0aWFsQ2FwYWNpdHkoc2hhZGVyTW9kdWxlRGVzY3JpcHRvci5oaW50cy5zaXplKCkpOworICAg
IGZvciAoY29uc3QgYXV0byYgaGludCA6IHNoYWRlck1vZHVsZURlc2NyaXB0b3IuaGludHMpIHsK
KyAgICAgICAgYXV0byB2YWx1ZSA9IGNvbnZlcnRUb0JhY2tpbmcoaGludC52YWx1ZSk7CisgICAg
ICAgIGlmICghdmFsdWUpCisgICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworICAgICAg
ICBoaW50cy51bmNoZWNrZWRBcHBlbmQobWFrZUtleVZhbHVlUGFpcihoaW50LmtleSwgV1RGTW92
ZSgqdmFsdWUpKSk7CisgICAgfQorCisgICAgcmV0dXJuIHsgeyBXVEZNb3ZlKCpiYXNlKSwgc2hh
ZGVyTW9kdWxlRGVzY3JpcHRvci5jb2RlLCBXVEZNb3ZlKGhpbnRzKSB9IH07CiB9CiAKIHN0ZDo6
b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlNoYWRlck1vZHVsZURlc2NyaXB0b3I+IENvbnZlcnRGcm9t
QmFja2luZ0NvbnRleHQ6OmNvbnZlcnRGcm9tQmFja2luZyhjb25zdCBTaGFkZXJNb2R1bGVEZXNj
cmlwdG9yJiBzaGFkZXJNb2R1bGVEZXNjcmlwdG9yKQpAQCAtNDksNyArNTgsMTYgQEAgc3RkOjpv
cHRpb25hbDxQQUw6OldlYkdQVTo6U2hhZGVyTW9kdWxlRGVzY3JpcHRvcj4gQ29udmVydEZyb21C
YWNraW5nQ29udGV4dDo6Y28KICAgICBpZiAoIWJhc2UpCiAgICAgICAgIHJldHVybiBzdGQ6Om51
bGxvcHQ7CiAKLSAgICByZXR1cm4geyB7IFdURk1vdmUoKmJhc2UpLCBzaGFkZXJNb2R1bGVEZXNj
cmlwdG9yLmNvZGUgfSB9OworICAgIFZlY3RvcjxLZXlWYWx1ZVBhaXI8U3RyaW5nLCBQQUw6Oldl
YkdQVTo6U2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50Pj4gaGludHM7CisgICAgaGludHMucmVz
ZXJ2ZUluaXRpYWxDYXBhY2l0eShzaGFkZXJNb2R1bGVEZXNjcmlwdG9yLmhpbnRzLnNpemUoKSk7
CisgICAgZm9yIChjb25zdCBhdXRvJiBoaW50IDogc2hhZGVyTW9kdWxlRGVzY3JpcHRvci5oaW50
cykgeworICAgICAgICBhdXRvIHZhbHVlID0gY29udmVydEZyb21CYWNraW5nKGhpbnQudmFsdWUp
OworICAgICAgICBpZiAoIXZhbHVlKQorICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsK
KyAgICAgICAgaGludHMudW5jaGVja2VkQXBwZW5kKG1ha2VLZXlWYWx1ZVBhaXIoaGludC5rZXks
IFdURk1vdmUoKnZhbHVlKSkpOworICAgIH0KKworICAgIHJldHVybiB7IHsgV1RGTW92ZSgqYmFz
ZSksIHNoYWRlck1vZHVsZURlc2NyaXB0b3IuY29kZSwgV1RGTW92ZShoaW50cykgfSB9OwogfQog
CiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L1dlYkdQVS9XZWJHUFVTaGFkZXJNb2R1bGVEZXNjcmlwdG9yLmggYi9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9XZWJHUFUvV2ViR1BVU2hhZGVyTW9kdWxlRGVzY3JpcHRvci5oCmluZGV4IDVjODFiNGRj
NDJhZGY5NDlkNDUyYWU1OTY4NTY2MDI3Mzc1YjhhNGIuLjg2MGUwYmE5NTNkMGExMTc3MzRhYzcx
NTJiNTlhMzM4M2Y1MGQ4ODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQ
VS9XZWJHUFVTaGFkZXJNb2R1bGVEZXNjcmlwdG9yLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFy
ZWQvV2ViR1BVL1dlYkdQVVNoYWRlck1vZHVsZURlc2NyaXB0b3IuaApAQCAtMjgsNiArMjgsNyBA
QAogI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykKIAogI2luY2x1ZGUgIldlYkdQVU9iamVjdERlc2Ny
aXB0b3JCYXNlLmgiCisjaW5jbHVkZSAiV2ViR1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50
LmgiCiAjaW5jbHVkZSA8b3B0aW9uYWw+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+
CiAKQEAgLTM2LDExICszNywxMyBAQCBuYW1lc3BhY2UgV2ViS2l0OjpXZWJHUFUgewogc3RydWN0
IFNoYWRlck1vZHVsZURlc2NyaXB0b3IgOiBwdWJsaWMgT2JqZWN0RGVzY3JpcHRvckJhc2Ugewog
ICAgIFN0cmluZyBjb2RlOwogICAgIC8vIEZJWE1FOiBIb29rIHVwIHRoZSBzb3VyY2VNYXAuCisg
ICAgVmVjdG9yPEtleVZhbHVlUGFpcjxTdHJpbmcsIFNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGlu
dD4+IGhpbnRzOwogCiAgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5j
b2RlciYgZW5jb2RlcikgY29uc3QKICAgICB7CiAgICAgICAgIGVuY29kZXIgPDwgc3RhdGljX2Nh
c3Q8Y29uc3QgT2JqZWN0RGVzY3JpcHRvckJhc2UmPigqdGhpcyk7CiAgICAgICAgIGVuY29kZXIg
PDwgY29kZTsKKyAgICAgICAgZW5jb2RlciA8PCBoaW50czsKICAgICB9CiAKICAgICB0ZW1wbGF0
ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgc3RkOjpvcHRpb25hbDxTaGFkZXJNb2R1bGVEZXNjcmlw
dG9yPiBkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKQEAgLTU1LDcgKzU4LDEyIEBAIHN0cnVjdCBT
aGFkZXJNb2R1bGVEZXNjcmlwdG9yIDogcHVibGljIE9iamVjdERlc2NyaXB0b3JCYXNlIHsKICAg
ICAgICAgaWYgKCFjb2RlKQogICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKIAotICAg
ICAgICByZXR1cm4geyB7IFdURk1vdmUoKm9iamVjdERlc2NyaXB0b3JCYXNlKSwgV1RGTW92ZSgq
Y29kZSkgfSB9OworICAgICAgICBzdGQ6Om9wdGlvbmFsPFZlY3RvcjxLZXlWYWx1ZVBhaXI8U3Ry
aW5nLCBTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQ+Pj4gaGludHM7CisgICAgICAgIGRlY29k
ZXIgPj4gaGludHM7CisgICAgICAgIGlmICghaGludHMpCisgICAgICAgICAgICByZXR1cm4gc3Rk
OjpudWxsb3B0OworCisgICAgICAgIHJldHVybiB7IHsgV1RGTW92ZSgqb2JqZWN0RGVzY3JpcHRv
ckJhc2UpLCBXVEZNb3ZlKCpjb2RlKSwgV1RGTW92ZSgqaGludHMpIH0gfTsKICAgICB9CiB9Owog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVVGV4dHVyZURl
c2NyaXB0b3IuY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVVRleHR1cmVE
ZXNjcmlwdG9yLmNwcAppbmRleCBiZjZiNGQzNTYyZTcwNzhhMWE0ZTU0YWNkZWRjMDVkOTBkNWYx
ZWEyLi5jYzAzMjMxMWExZDY0MTllYjBiNTI4NDdmNmU5NjZiYTc2NTI2ODE0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVVGV4dHVyZURlc2NyaXB0b3IuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVUZXh0dXJlRGVzY3JpcHRv
ci5jcHAKQEAgLTQ0LDcgKzQ0LDcgQEAgc3RkOjpvcHRpb25hbDxUZXh0dXJlRGVzY3JpcHRvcj4g
Q29udmVydFRvQmFja2luZ0NvbnRleHQ6OmNvbnZlcnRUb0JhY2tpbmcoY29uc3QKICAgICBpZiAo
IXNpemUpCiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAKLSAgICByZXR1cm4geyB7IFdU
Rk1vdmUoKmJhc2UpLCBXVEZNb3ZlKCpzaXplKSwgdGV4dHVyZURlc2NyaXB0b3IubWlwTGV2ZWxD
b3VudCwgdGV4dHVyZURlc2NyaXB0b3Iuc2FtcGxlQ291bnQsIHRleHR1cmVEZXNjcmlwdG9yLmRp
bWVuc2lvbiwgdGV4dHVyZURlc2NyaXB0b3IuZm9ybWF0LCB0ZXh0dXJlRGVzY3JpcHRvci51c2Fn
ZSB9IH07CisgICAgcmV0dXJuIHsgeyBXVEZNb3ZlKCpiYXNlKSwgV1RGTW92ZSgqc2l6ZSksIHRl
eHR1cmVEZXNjcmlwdG9yLm1pcExldmVsQ291bnQsIHRleHR1cmVEZXNjcmlwdG9yLnNhbXBsZUNv
dW50LCB0ZXh0dXJlRGVzY3JpcHRvci5kaW1lbnNpb24sIHRleHR1cmVEZXNjcmlwdG9yLmZvcm1h
dCwgdGV4dHVyZURlc2NyaXB0b3IudXNhZ2UsIHRleHR1cmVEZXNjcmlwdG9yLnZpZXdGb3JtYXRz
IH0gfTsKIH0KIAogc3RkOjpvcHRpb25hbDxQQUw6OldlYkdQVTo6VGV4dHVyZURlc2NyaXB0b3I+
IENvbnZlcnRGcm9tQmFja2luZ0NvbnRleHQ6OmNvbnZlcnRGcm9tQmFja2luZyhjb25zdCBUZXh0
dXJlRGVzY3JpcHRvciYgdGV4dHVyZURlc2NyaXB0b3IpCkBAIC01Nyw3ICs1Nyw3IEBAIHN0ZDo6
b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlRleHR1cmVEZXNjcmlwdG9yPiBDb252ZXJ0RnJvbUJhY2tp
bmdDb250ZXh0Ojpjb252ZXJ0CiAgICAgaWYgKCFzaXplKQogICAgICAgICByZXR1cm4gc3RkOjpu
dWxsb3B0OwogCi0gICAgcmV0dXJuIHsgeyBXVEZNb3ZlKCpiYXNlKSwgV1RGTW92ZSgqc2l6ZSks
IHRleHR1cmVEZXNjcmlwdG9yLm1pcExldmVsQ291bnQsIHRleHR1cmVEZXNjcmlwdG9yLnNhbXBs
ZUNvdW50LCB0ZXh0dXJlRGVzY3JpcHRvci5kaW1lbnNpb24sIHRleHR1cmVEZXNjcmlwdG9yLmZv
cm1hdCwgdGV4dHVyZURlc2NyaXB0b3IudXNhZ2UgfSB9OworICAgIHJldHVybiB7IHsgV1RGTW92
ZSgqYmFzZSksIFdURk1vdmUoKnNpemUpLCB0ZXh0dXJlRGVzY3JpcHRvci5taXBMZXZlbENvdW50
LCB0ZXh0dXJlRGVzY3JpcHRvci5zYW1wbGVDb3VudCwgdGV4dHVyZURlc2NyaXB0b3IuZGltZW5z
aW9uLCB0ZXh0dXJlRGVzY3JpcHRvci5mb3JtYXQsIHRleHR1cmVEZXNjcmlwdG9yLnVzYWdlLCB0
ZXh0dXJlRGVzY3JpcHRvci52aWV3Rm9ybWF0cyB9IH07CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVVRleHR1
cmVEZXNjcmlwdG9yLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVVGV4dHVy
ZURlc2NyaXB0b3IuaAppbmRleCBkOWVjZWZlZDBhODNjYjVmOTQzMDI3NTgwYTFkMTM4NzA4Yzdh
MGUzLi43YzRkYjQzZGI0YTBlN2MxNTNlY2VlOTQ0Mzk3MTVjYzAyOWY1YTIwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVVGV4dHVyZURlc2NyaXB0b3IuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVVGV4dHVyZURlc2NyaXB0b3Iu
aApAQCAtNDQsNiArNDQsNyBAQCBzdHJ1Y3QgVGV4dHVyZURlc2NyaXB0b3IgOiBwdWJsaWMgT2Jq
ZWN0RGVzY3JpcHRvckJhc2UgewogICAgIFBBTDo6V2ViR1BVOjpUZXh0dXJlRGltZW5zaW9uIGRp
bWVuc2lvbiB7IFBBTDo6V2ViR1BVOjpUZXh0dXJlRGltZW5zaW9uOjpfMmQgfTsKICAgICBQQUw6
OldlYkdQVTo6VGV4dHVyZUZvcm1hdCBmb3JtYXQgeyBQQUw6OldlYkdQVTo6VGV4dHVyZUZvcm1h
dDo6Ujh1bm9ybSB9OwogICAgIFBBTDo6V2ViR1BVOjpUZXh0dXJlVXNhZ2VGbGFncyB1c2FnZTsK
KyAgICBWZWN0b3I8UEFMOjpXZWJHUFU6OlRleHR1cmVGb3JtYXQ+IHZpZXdGb3JtYXRzOwogCiAg
ICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYgZW5jb2Rlcikg
Y29uc3QKICAgICB7CkBAIC01NCw2ICs1NSw3IEBAIHN0cnVjdCBUZXh0dXJlRGVzY3JpcHRvciA6
IHB1YmxpYyBPYmplY3REZXNjcmlwdG9yQmFzZSB7CiAgICAgICAgIGVuY29kZXIgPDwgZGltZW5z
aW9uOwogICAgICAgICBlbmNvZGVyIDw8IGZvcm1hdDsKICAgICAgICAgZW5jb2RlciA8PCB1c2Fn
ZTsKKyAgICAgICAgZW5jb2RlciA8PCB2aWV3Rm9ybWF0czsKICAgICB9CiAKICAgICB0ZW1wbGF0
ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgc3RkOjpvcHRpb25hbDxUZXh0dXJlRGVzY3JpcHRvcj4g
ZGVjb2RlKERlY29kZXImIGRlY29kZXIpCkBAIC05Myw3ICs5NSwxMiBAQCBzdHJ1Y3QgVGV4dHVy
ZURlc2NyaXB0b3IgOiBwdWJsaWMgT2JqZWN0RGVzY3JpcHRvckJhc2UgewogICAgICAgICBpZiAo
IXVzYWdlKQogICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKIAotICAgICAgICByZXR1
cm4geyB7IFdURk1vdmUoKm9iamVjdERlc2NyaXB0b3JCYXNlKSwgV1RGTW92ZSgqc2l6ZSksIFdU
Rk1vdmUoKm1pcExldmVsQ291bnQpLCBXVEZNb3ZlKCpzYW1wbGVDb3VudCksIFdURk1vdmUoKmRp
bWVuc2lvbiksIFdURk1vdmUoKmZvcm1hdCksIFdURk1vdmUoKnVzYWdlKSB9IH07CisgICAgICAg
IHN0ZDo6b3B0aW9uYWw8VmVjdG9yPFBBTDo6V2ViR1BVOjpUZXh0dXJlRm9ybWF0Pj4gdmlld0Zv
cm1hdHM7CisgICAgICAgIGRlY29kZXIgPj4gdmlld0Zvcm1hdHM7CisgICAgICAgIGlmICghdmll
d0Zvcm1hdHMpCisgICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworCisgICAgICAgIHJl
dHVybiB7IHsgV1RGTW92ZSgqb2JqZWN0RGVzY3JpcHRvckJhc2UpLCBXVEZNb3ZlKCpzaXplKSwg
V1RGTW92ZSgqbWlwTGV2ZWxDb3VudCksIFdURk1vdmUoKnNhbXBsZUNvdW50KSwgV1RGTW92ZSgq
ZGltZW5zaW9uKSwgV1RGTW92ZSgqZm9ybWF0KSwgV1RGTW92ZSgqdXNhZ2UpLCBXVEZNb3ZlKCp2
aWV3Rm9ybWF0cykgfSB9OwogICAgIH0KIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
U291cmNlcy50eHQgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0CmluZGV4IDA2NzcwZDBkZmM3
ZGExZjM4NWYxYTMzYTIyMDMyN2U4ODAwNjNiMjcuLjEzYTI1NjdiZDJlMjNlOGY0YzliNTA5Nzhh
NzI1MjQ2NWMwYWE1MTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQKKysr
IGIvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dApAQCAtMzgzLDYgKzM4Myw3IEBAIFNoYXJlZC9X
ZWJHUFUvV2ViR1BVUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yLmNwcAogU2hhcmVkL1dlYkdQVS9X
ZWJHUFVSZXF1ZXN0QWRhcHRlck9wdGlvbnMuY3BwCiBTaGFyZWQvV2ViR1BVL1dlYkdQVVNhbXBs
ZXJCaW5kaW5nTGF5b3V0LmNwcAogU2hhcmVkL1dlYkdQVS9XZWJHUFVTYW1wbGVyRGVzY3JpcHRv
ci5jcHAKK1NoYXJlZC9XZWJHUFUvV2ViR1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50LmNw
cAogU2hhcmVkL1dlYkdQVS9XZWJHUFVTaGFkZXJNb2R1bGVEZXNjcmlwdG9yLmNwcAogU2hhcmVk
L1dlYkdQVS9XZWJHUFVTdGVuY2lsRmFjZVN0YXRlLmNwcAogU2hhcmVkL1dlYkdQVS9XZWJHUFVT
dG9yYWdlVGV4dHVyZUJpbmRpbmdMYXlvdXQuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktpdC9XZWJLaXQu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA2MWQ2NWYwODQ1YzJkZjlhNmE4NDE4YjZi
YTI3NGFlOWIxZWIxYmUwLi5mY2Q4YzQ4ZmM5YmE0MWFhYWM5MDI5OTVhNDI1MTY0ODY0M2M1YzNh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
QEAgLTMzNjUsNiArMzM2NSw4IEBACiAJCTFDRERGQzdDMjc1NTg2NkQwMEM5M0M2MiAvKiBSZW1v
dGVHUFVQcm94eU1lc3NhZ2VzUmVwbGllcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW1vdGVHUFVQcm94
eU1lc3NhZ2VzUmVwbGllcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQ0RERkM3
RDI3NTU4NjZEMDBDOTNDNjIgLyogUmVtb3RlR1BVUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gUmVtb3RlR1BVUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQ0RERkM3RTI3NTU4NjZEMDBDOTNDNjIgLyogUmVt
b3RlR1BVUHJveHlNZXNzYWdlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW1vdGVHUFVQcm94eU1lc3Nh
Z2VzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFDRUY0NUJCMjdCQ0E0NkEwMEMz
QTZCQyAvKiBXZWJHUFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gV2ViR1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50LmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUNFRjQ1QkMyN0JDQTQ2QTAwQzNBNkJDIC8qIFdlYkdQVVNo
YWRlck1vZHVsZUNvbXBpbGF0aW9uSGludC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJHUFVTaGFkZXJN
b2R1bGVDb21waWxhdGlvbkhpbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNG
MThGM0UyNkJCNUQ5MDAwNEIxNzIyIC8qIExvZ0luaXRpYWxpemF0aW9uLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IExvZ0luaXRpYWxpemF0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJMUQwNTMwQzkyNThFQUI0NDAwRTQzNkY3IC8qIGNvbWJpbmUtZmVhdHVyZS1mbGFncy1w
bGlzdC5weSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHRleHQuc2NyaXB0LnB5dGhvbjsgcGF0aCA9ICJjb21iaW5lLWZlYXR1cmUtZmxhZ3MtcGxpc3Qu
cHkiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxRDA1MzBEMTI1OTE2MkM4MDBFNDM2
RjcgLyogV2ViS2l0LWlvcy5wbGlzdCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHRleHQucGxpc3QueG1sOyBwYXRoID0gIldlYktpdC1pb3MucGxpc3Qi
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNzk2MSw2ICs3OTYzLDggQEAKIAkJCQkx
Q0I3NDY2NzI3NDM5Q0FFMDBGMTk4NzQgLyogV2ViR1BVU2FtcGxlckJpbmRpbmdMYXlvdXQuaCAq
LywKIAkJCQkxQzk4QzBDQzI3NDYyNjgwMDAyQ0NCNzggLyogV2ViR1BVU2FtcGxlckRlc2NyaXB0
b3IuY3BwICovLAogCQkJCTFDQjc0NjhEMjc0MzlDQjcwMEYxOTg3NCAvKiBXZWJHUFVTYW1wbGVy
RGVzY3JpcHRvci5oICovLAorCQkJCTFDRUY0NUJCMjdCQ0E0NkEwMEMzQTZCQyAvKiBXZWJHUFVT
aGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQuY3BwICovLAorCQkJCTFDRUY0NUJDMjdCQ0E0NkEw
MEMzQTZCQyAvKiBXZWJHUFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQuaCAqLywKIAkJCQkx
Qzk4QzA5OTI3NDYyNjc4MDAyQ0NCNzggLyogV2ViR1BVU2hhZGVyTW9kdWxlRGVzY3JpcHRvci5j
cHAgKi8sCiAJCQkJMUNCNzQ2NkIyNzQzOUNBRjAwRjE5ODc0IC8qIFdlYkdQVVNoYWRlck1vZHVs
ZURlc2NyaXB0b3IuaCAqLywKIAkJCQkxQzk4QzBDQTI3NDYyNjgwMDAyQ0NCNzggLyogV2ViR1BV
U3RlbmNpbEZhY2VTdGF0ZS5jcHAgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvR1BVL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVCdWZmZXJQcm94eS5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVCdWZmZXJQcm94eS5j
cHAKaW5kZXggYTk5NmNkM2M2NzUyNTk5Mzg5NjdiODBkY2Q4NmIxNDI2ZTRhNWRkNS4uMjQwOTU3
ZjJjYjk4MGFkOTljNjY5NDAwMGIzMGRiM2RkNTIyYTA5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQnVmZmVyUHJveHkuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvV2ViR1BVL1JlbW90
ZUJ1ZmZlclByb3h5LmNwcApAQCAtNDQsNyArNDQsNyBAQCBSZW1vdGVCdWZmZXJQcm94eTo6flJl
bW90ZUJ1ZmZlclByb3h5KCkKIHsKIH0KIAotdm9pZCBSZW1vdGVCdWZmZXJQcm94eTo6bWFwQXN5
bmMoUEFMOjpXZWJHUFU6Ok1hcE1vZGVGbGFncyBtYXBNb2RlRmxhZ3MsIHN0ZDo6b3B0aW9uYWw8
UEFMOjpXZWJHUFU6OlNpemU2ND4gb2Zmc2V0LCBzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpT
aXplNjQ+IHNpemUsIFdURjo6RnVuY3Rpb248dm9pZCgpPiYmIGNhbGxiYWNrKQordm9pZCBSZW1v
dGVCdWZmZXJQcm94eTo6bWFwQXN5bmMoUEFMOjpXZWJHUFU6Ok1hcE1vZGVGbGFncyBtYXBNb2Rl
RmxhZ3MsIFBBTDo6V2ViR1BVOjpTaXplNjQgb2Zmc2V0LCBzdGQ6Om9wdGlvbmFsPFBBTDo6V2Vi
R1BVOjpTaXplNjQ+IHNpemUsIFdURjo6RnVuY3Rpb248dm9pZCgpPiYmIGNhbGxiYWNrKQogewog
ICAgIHN0ZDo6b3B0aW9uYWw8VmVjdG9yPHVpbnQ4X3Q+PiBkYXRhOwogICAgIGF1dG8gc2VuZFJl
c3VsdCA9IHNlbmRTeW5jKE1lc3NhZ2VzOjpSZW1vdGVCdWZmZXI6Ok1hcEFzeW5jKG1hcE1vZGVG
bGFncywgb2Zmc2V0LCBzaXplKSwgeyBkYXRhIH0pOwpAQCAtNTksMTQgKzU5LDEzIEBAIHZvaWQg
UmVtb3RlQnVmZmVyUHJveHk6Om1hcEFzeW5jKFBBTDo6V2ViR1BVOjpNYXBNb2RlRmxhZ3MgbWFw
TW9kZUZsYWdzLCBzdGQ6Om9wCiAgICAgY2FsbGJhY2soKTsKIH0KIAotYXV0byBSZW1vdGVCdWZm
ZXJQcm94eTo6Z2V0TWFwcGVkUmFuZ2Uoc3RkOjpvcHRpb25hbDxQQUw6OldlYkdQVTo6U2l6ZTY0
PiBvZmZzZXQsIHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlNpemU2ND4gc2l6ZSkgLT4gTWFw
cGVkUmFuZ2UKK2F1dG8gUmVtb3RlQnVmZmVyUHJveHk6OmdldE1hcHBlZFJhbmdlKFBBTDo6V2Vi
R1BVOjpTaXplNjQgb2Zmc2V0LCBzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpTaXplNjQ+IHNp
emUpIC0+IE1hcHBlZFJhbmdlCiB7CiAgICAgLy8gRklYTUU6IEltcGxlbWVudCBlcnJvciBoYW5k
bGluZy4KICAgICBpZiAoIW1fZGF0YSkKICAgICAgICAgcmV0dXJuIHsgfTsKIAotICAgIGF1dG8g
dXNlZE9mZnNldCA9IG9mZnNldC52YWx1ZV9vcigwKTsKLSAgICByZXR1cm4geyBtX2RhdGEtPmRh
dGEoKSArIHVzZWRPZmZzZXQsIHN0YXRpY19jYXN0PHNpemVfdD4oc2l6ZS52YWx1ZV9vcihtX2Rh
dGEtPnNpemUoKSAtIHVzZWRPZmZzZXQpKSB9OworICAgIHJldHVybiB7IG1fZGF0YS0+ZGF0YSgp
ICsgb2Zmc2V0LCBzdGF0aWNfY2FzdDxzaXplX3Q+KHNpemUudmFsdWVfb3IobV9kYXRhLT5zaXpl
KCkgLSBvZmZzZXQpKSB9OwogfQogCiB2b2lkIFJlbW90ZUJ1ZmZlclByb3h5Ojp1bm1hcCgpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1dlYkdQVS9S
ZW1vdGVCdWZmZXJQcm94eS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGlj
cy9XZWJHUFUvUmVtb3RlQnVmZmVyUHJveHkuaAppbmRleCA3YmE1NmE3MDZhODAxODY1Yzg0MzI2
YzEwZmIwZjRjOTRlMmI4NGYwLi40OTNhOGJmMDE2OWVhMzU1MTRlOWRhYWUxZjc2NzMyYzhkZGNk
NjdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1dl
YkdQVS9SZW1vdGVCdWZmZXJQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9H
UFUvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUJ1ZmZlclByb3h5LmgKQEAgLTczLDggKzczLDggQEAg
cHJpdmF0ZToKICAgICAgICAgcmV0dXJuIHJvb3QoKS5zdHJlYW1DbGllbnRDb25uZWN0aW9uKCku
c2VuZFN5bmMoV1RGTW92ZShtZXNzYWdlKSwgV1RGTW92ZShyZXBseSksIGJhY2tpbmcoKSwgZGVm
YXVsdFNlbmRUaW1lb3V0KTsKICAgICB9CiAKLSAgICB2b2lkIG1hcEFzeW5jKFBBTDo6V2ViR1BV
OjpNYXBNb2RlRmxhZ3MsIHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlNpemU2ND4gb2Zmc2V0
LCBzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpTaXplNjQ+IHNpemVGb3JNYXAsIFdURjo6RnVu
Y3Rpb248dm9pZCgpPiYmKSBmaW5hbDsKLSAgICBNYXBwZWRSYW5nZSBnZXRNYXBwZWRSYW5nZShz
dGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpTaXplNjQ+IG9mZnNldCwgc3RkOjpvcHRpb25hbDxQ
QUw6OldlYkdQVTo6U2l6ZTY0PikgZmluYWw7CisgICAgdm9pZCBtYXBBc3luYyhQQUw6OldlYkdQ
VTo6TWFwTW9kZUZsYWdzLCBQQUw6OldlYkdQVTo6U2l6ZTY0IG9mZnNldCwgc3RkOjpvcHRpb25h
bDxQQUw6OldlYkdQVTo6U2l6ZTY0PiBzaXplRm9yTWFwLCBXVEY6OkZ1bmN0aW9uPHZvaWQoKT4m
JikgZmluYWw7CisgICAgTWFwcGVkUmFuZ2UgZ2V0TWFwcGVkUmFuZ2UoUEFMOjpXZWJHUFU6OlNp
emU2NCBvZmZzZXQsIHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlNpemU2ND4pIGZpbmFsOwog
ICAgIHZvaWQgdW5tYXAoKSBmaW5hbDsKIAogICAgIHZvaWQgZGVzdHJveSgpIGZpbmFsOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9XZWJHUFUvUmVt
b3RlQ29tbWFuZEVuY29kZXJQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BV
L2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVDb21tYW5kRW5jb2RlclByb3h5LmNwcAppbmRleCBmZWEy
OWQ5OTI4MTY3ZTJiMmE0ZGY0NTVkOWY4N2FmMWY4YmY2YmVjLi42MTNlZDUwMTY0ZmEyNTU2Yzhi
MTcyNGNlMjc2MGQ2MTE5MzJhOTJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvR1BVL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVDb21tYW5kRW5jb2RlclByb3h5LmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVDb21t
YW5kRW5jb2RlclByb3h5LmNwcApAQCAtMTUyLDE3ICsxNTIsMTcgQEAgdm9pZCBSZW1vdGVDb21t
YW5kRW5jb2RlclByb3h5Ojpjb3B5VGV4dHVyZVRvVGV4dHVyZSgKICAgICBVTlVTRURfVkFSSUFC
TEUoc2VuZFJlc3VsdCk7CiB9CiAKLXZvaWQgUmVtb3RlQ29tbWFuZEVuY29kZXJQcm94eTo6Zmls
bEJ1ZmZlcigKLSAgICBjb25zdCBQQUw6OldlYkdQVTo6QnVmZmVyJiBkZXN0aW5hdGlvbiwKLSAg
ICBQQUw6OldlYkdQVTo6U2l6ZTY0IGRlc3RpbmF0aW9uT2Zmc2V0LAotICAgIFBBTDo6V2ViR1BV
OjpTaXplNjQgc2l6ZSkKLXsKLSAgICBhdXRvIGNvbnZlcnRlZERlc3RpbmF0aW9uID0gbV9jb252
ZXJ0VG9CYWNraW5nQ29udGV4dC0+Y29udmVydFRvQmFja2luZyhkZXN0aW5hdGlvbik7Ci0gICAg
QVNTRVJUKGNvbnZlcnRlZERlc3RpbmF0aW9uKTsKLSAgICBpZiAoIWNvbnZlcnRlZERlc3RpbmF0
aW9uKQordm9pZCBSZW1vdGVDb21tYW5kRW5jb2RlclByb3h5OjpjbGVhckJ1ZmZlcigKKyAgICBj
b25zdCBQQUw6OldlYkdQVTo6QnVmZmVyJiBidWZmZXIsCisgICAgUEFMOjpXZWJHUFU6OlNpemU2
NCBvZmZzZXQsCisgICAgc3RkOjpvcHRpb25hbDxQQUw6OldlYkdQVTo6U2l6ZTY0PiBzaXplKQor
eworICAgIGF1dG8gY29udmVydGVkQnVmZmVyID0gbV9jb252ZXJ0VG9CYWNraW5nQ29udGV4dC0+
Y29udmVydFRvQmFja2luZyhidWZmZXIpOworICAgIEFTU0VSVChjb252ZXJ0ZWRCdWZmZXIpOwor
ICAgIGlmICghY29udmVydGVkQnVmZmVyKQogICAgICAgICByZXR1cm47CiAKLSAgICBhdXRvIHNl
bmRSZXN1bHQgPSBzZW5kKE1lc3NhZ2VzOjpSZW1vdGVDb21tYW5kRW5jb2Rlcjo6RmlsbEJ1ZmZl
cihjb252ZXJ0ZWREZXN0aW5hdGlvbiwgZGVzdGluYXRpb25PZmZzZXQsIHNpemUpKTsKKyAgICBh
dXRvIHNlbmRSZXN1bHQgPSBzZW5kKE1lc3NhZ2VzOjpSZW1vdGVDb21tYW5kRW5jb2Rlcjo6Q2xl
YXJCdWZmZXIoY29udmVydGVkQnVmZmVyLCBvZmZzZXQsIHNpemUpKTsKICAgICBVTlVTRURfVkFS
SUFCTEUoc2VuZFJlc3VsdCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9HUFUvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUNvbW1hbmRFbmNvZGVyUHJveHkuaCBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUNvbW1hbmRF
bmNvZGVyUHJveHkuaAppbmRleCAxMWU2NzgxNTlhNGI0MTIzNjY3ZTY3ZDNiYTIwODU2OGZjODM1
YjBjLi5iMTc2ODE4YmUwMWVhNDIwYWRhZTQ4MTUwOTlkY2FkMGIwMTE3YjRlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVDb21t
YW5kRW5jb2RlclByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFw
aGljcy9XZWJHUFUvUmVtb3RlQ29tbWFuZEVuY29kZXJQcm94eS5oCkBAIC05NywxMCArOTcsMTAg
QEAgcHJpdmF0ZToKICAgICAgICAgY29uc3QgUEFMOjpXZWJHUFU6OkltYWdlQ29weVRleHR1cmUm
IGRlc3RpbmF0aW9uLAogICAgICAgICBjb25zdCBQQUw6OldlYkdQVTo6RXh0ZW50M0QmIGNvcHlT
aXplKSBmaW5hbDsKIAotICAgIHZvaWQgZmlsbEJ1ZmZlcigKLSAgICAgICAgY29uc3QgUEFMOjpX
ZWJHUFU6OkJ1ZmZlciYgZGVzdGluYXRpb24sCi0gICAgICAgIFBBTDo6V2ViR1BVOjpTaXplNjQg
ZGVzdGluYXRpb25PZmZzZXQsCi0gICAgICAgIFBBTDo6V2ViR1BVOjpTaXplNjQpIGZpbmFsOwor
ICAgIHZvaWQgY2xlYXJCdWZmZXIoCisgICAgICAgIGNvbnN0IFBBTDo6V2ViR1BVOjpCdWZmZXIm
LAorICAgICAgICBQQUw6OldlYkdQVTo6U2l6ZTY0IG9mZnNldCA9IDAsCisgICAgICAgIHN0ZDo6
b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlNpemU2ND4gPSBzdGQ6Om51bGxvcHQpIGZpbmFsOwogCiAg
ICAgdm9pZCBwdXNoRGVidWdHcm91cChTdHJpbmcmJiBncm91cExhYmVsKSBmaW5hbDsKICAgICB2
b2lkIHBvcERlYnVnR3JvdXAoKSBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9HUFUvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUNvbXB1dGVQYXNzRW5jb2RlclByb3h5
LmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvV2ViR1BVL1JlbW90
ZUNvbXB1dGVQYXNzRW5jb2RlclByb3h5LmNwcAppbmRleCA3MWY2Nzk1NWFiN2Q1Njk3YWEzYzZj
MThiMDY2MzNkMDI5MmFiOWY1Li42ZDBmODNjZDZkOTFjN2M4ZTY5OTNkMDA3ZWI4MDJiNTIyODg2
NDZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1dl
YkdQVS9SZW1vdGVDb21wdXRlUGFzc0VuY29kZXJQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQ29tcHV0ZVBhc3NFbmNvZGVy
UHJveHkuY3BwCkBAIC01NSw5ICs1NSw5IEBAIHZvaWQgUmVtb3RlQ29tcHV0ZVBhc3NFbmNvZGVy
UHJveHk6OnNldFBpcGVsaW5lKGNvbnN0IFBBTDo6V2ViR1BVOjpDb21wdXRlUGlwZWxpCiAgICAg
VU5VU0VEX1ZBUklBQkxFKHNlbmRSZXN1bHQpOwogfQogCi12b2lkIFJlbW90ZUNvbXB1dGVQYXNz
RW5jb2RlclByb3h5OjpkaXNwYXRjaChQQUw6OldlYkdQVTo6U2l6ZTMyIHgsIHN0ZDo6b3B0aW9u
YWw8UEFMOjpXZWJHUFU6OlNpemUzMj4geSwgc3RkOjpvcHRpb25hbDxQQUw6OldlYkdQVTo6U2l6
ZTMyPiB6KQordm9pZCBSZW1vdGVDb21wdXRlUGFzc0VuY29kZXJQcm94eTo6ZGlzcGF0Y2goUEFM
OjpXZWJHUFU6OlNpemUzMiB3b3JrZ3JvdXBDb3VudFgsIFBBTDo6V2ViR1BVOjpTaXplMzIgd29y
a2dyb3VwQ291bnRZLCBQQUw6OldlYkdQVTo6U2l6ZTMyIHdvcmtncm91cENvdW50WikKIHsKLSAg
ICBhdXRvIHNlbmRSZXN1bHQgPSBzZW5kKE1lc3NhZ2VzOjpSZW1vdGVDb21wdXRlUGFzc0VuY29k
ZXI6OkRpc3BhdGNoKHgsIHksIHopKTsKKyAgICBhdXRvIHNlbmRSZXN1bHQgPSBzZW5kKE1lc3Nh
Z2VzOjpSZW1vdGVDb21wdXRlUGFzc0VuY29kZXI6OkRpc3BhdGNoKHdvcmtncm91cENvdW50WCwg
d29ya2dyb3VwQ291bnRZLCB3b3JrZ3JvdXBDb3VudFopKTsKICAgICBVTlVTRURfVkFSSUFCTEUo
c2VuZFJlc3VsdCk7CiB9CiAKQEAgLTcyLDI2ICs3Miw5IEBAIHZvaWQgUmVtb3RlQ29tcHV0ZVBh
c3NFbmNvZGVyUHJveHk6OmRpc3BhdGNoSW5kaXJlY3QoY29uc3QgUEFMOjpXZWJHUFU6OkJ1ZmZl
ciYKICAgICBVTlVTRURfVkFSSUFCTEUoc2VuZFJlc3VsdCk7CiB9CiAKLXZvaWQgUmVtb3RlQ29t
cHV0ZVBhc3NFbmNvZGVyUHJveHk6OmJlZ2luUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkoY29uc3Qg
UEFMOjpXZWJHUFU6OlF1ZXJ5U2V0JiBxdWVyeVNldCwgUEFMOjpXZWJHUFU6OlNpemUzMiBxdWVy
eUluZGV4KQordm9pZCBSZW1vdGVDb21wdXRlUGFzc0VuY29kZXJQcm94eTo6ZW5kKCkKIHsKLSAg
ICBhdXRvIGNvbnZlcnRlZFF1ZXJ5U2V0ID0gbV9jb252ZXJ0VG9CYWNraW5nQ29udGV4dC0+Y29u
dmVydFRvQmFja2luZyhxdWVyeVNldCk7Ci0gICAgQVNTRVJUKGNvbnZlcnRlZFF1ZXJ5U2V0KTsK
LSAgICBpZiAoIWNvbnZlcnRlZFF1ZXJ5U2V0KQotICAgICAgICByZXR1cm47Ci0KLSAgICBhdXRv
IHNlbmRSZXN1bHQgPSBzZW5kKE1lc3NhZ2VzOjpSZW1vdGVDb21wdXRlUGFzc0VuY29kZXI6OkJl
Z2luUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkoY29udmVydGVkUXVlcnlTZXQsIHF1ZXJ5SW5kZXgp
KTsKLSAgICBVTlVTRURfVkFSSUFCTEUoc2VuZFJlc3VsdCk7Ci19Ci0KLXZvaWQgUmVtb3RlQ29t
cHV0ZVBhc3NFbmNvZGVyUHJveHk6OmVuZFBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KCkKLXsKLSAg
ICBhdXRvIHNlbmRSZXN1bHQgPSBzZW5kKE1lc3NhZ2VzOjpSZW1vdGVDb21wdXRlUGFzc0VuY29k
ZXI6OkVuZFBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KCkpOwotICAgIFVOVVNFRF9WQVJJQUJMRShz
ZW5kUmVzdWx0KTsKLX0KLQotdm9pZCBSZW1vdGVDb21wdXRlUGFzc0VuY29kZXJQcm94eTo6ZW5k
UGFzcygpCi17Ci0gICAgYXV0byBzZW5kUmVzdWx0ID0gc2VuZChNZXNzYWdlczo6UmVtb3RlQ29t
cHV0ZVBhc3NFbmNvZGVyOjpFbmRQYXNzKCkpOworICAgIGF1dG8gc2VuZFJlc3VsdCA9IHNlbmQo
TWVzc2FnZXM6OlJlbW90ZUNvbXB1dGVQYXNzRW5jb2Rlcjo6RW5kKCkpOwogICAgIFVOVVNFRF9W
QVJJQUJMRShzZW5kUmVzdWx0KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL0dQVS9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQ29tcHV0ZVBhc3NFbmNvZGVyUHJveHku
aCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUNv
bXB1dGVQYXNzRW5jb2RlclByb3h5LmgKaW5kZXggM2YyZGE3OTdhOTI5NjVkNzRiZDkwZDU4YWMy
ZjU4Nzc2ZjU0MGMxYy4uODdhOTU4YzE3NmE3NDE3YWEwMTk0ZTQ5NGYzNmU4MTI2NDhiNjg1YyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9XZWJHUFUv
UmVtb3RlQ29tcHV0ZVBhc3NFbmNvZGVyUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvR1BVL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVDb21wdXRlUGFzc0VuY29kZXJQcm94eS5o
CkBAIC03MywxMyArNzMsMTAgQEAgcHJpdmF0ZToKICAgICB9CiAKICAgICB2b2lkIHNldFBpcGVs
aW5lKGNvbnN0IFBBTDo6V2ViR1BVOjpDb21wdXRlUGlwZWxpbmUmKSBmaW5hbDsKLSAgICB2b2lk
IGRpc3BhdGNoKFBBTDo6V2ViR1BVOjpTaXplMzIgeCwgc3RkOjpvcHRpb25hbDxQQUw6OldlYkdQ
VTo6U2l6ZTMyPiB5LCBzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpTaXplMzI+KSBmaW5hbDsK
KyAgICB2b2lkIGRpc3BhdGNoKFBBTDo6V2ViR1BVOjpTaXplMzIgd29ya2dyb3VwQ291bnRYLCBQ
QUw6OldlYkdQVTo6U2l6ZTMyIHdvcmtncm91cENvdW50WSA9IDEsIFBBTDo6V2ViR1BVOjpTaXpl
MzIgd29ya2dyb3VwQ291bnRaID0gMSkgZmluYWw7CiAgICAgdm9pZCBkaXNwYXRjaEluZGlyZWN0
KGNvbnN0IFBBTDo6V2ViR1BVOjpCdWZmZXImIGluZGlyZWN0QnVmZmVyLCBQQUw6OldlYkdQVTo6
U2l6ZTY0IGluZGlyZWN0T2Zmc2V0KSBmaW5hbDsKIAotICAgIHZvaWQgYmVnaW5QaXBlbGluZVN0
YXRpc3RpY3NRdWVyeShjb25zdCBQQUw6OldlYkdQVTo6UXVlcnlTZXQmLCBQQUw6OldlYkdQVTo6
U2l6ZTMyIHF1ZXJ5SW5kZXgpIGZpbmFsOwotICAgIHZvaWQgZW5kUGlwZWxpbmVTdGF0aXN0aWNz
UXVlcnkoKSBmaW5hbDsKLQotICAgIHZvaWQgZW5kUGFzcygpIGZpbmFsOworICAgIHZvaWQgZW5k
KCkgZmluYWw7CiAKICAgICB2b2lkIHNldEJpbmRHcm91cChQQUw6OldlYkdQVTo6SW5kZXgzMiwg
Y29uc3QgUEFMOjpXZWJHUFU6OkJpbmRHcm91cCYsCiAgICAgICAgIHN0ZDo6b3B0aW9uYWw8VmVj
dG9yPFBBTDo6V2ViR1BVOjpCdWZmZXJEeW5hbWljT2Zmc2V0Pj4mJikgZmluYWw7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVR
dWV1ZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1dlYkdQ
VS9SZW1vdGVRdWV1ZVByb3h5LmgKaW5kZXggNWVhMjEwM2MxZmRiOWEyZTUyNzAzNWRkMTZjNDZk
NDRlMmQ3ZGVjMi4uZGE3NzVkM2UwY2E3YzI2ZjA3YjViYTE5MTIxNDUxYjc1ZjA3NjZmOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9XZWJHUFUvUmVt
b3RlUXVldWVQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhp
Y3MvV2ViR1BVL1JlbW90ZVF1ZXVlUHJveHkuaApAQCAtODIsOCArODIsOCBAQCBwcml2YXRlOgog
ICAgICAgICBQQUw6OldlYkdQVTo6U2l6ZTY0IGJ1ZmZlck9mZnNldCwKICAgICAgICAgY29uc3Qg
dm9pZCogc291cmNlLAogICAgICAgICBzaXplX3QgYnl0ZUxlbmd0aCwKLSAgICAgICAgUEFMOjpX
ZWJHUFU6OlNpemU2NCBkYXRhT2Zmc2V0LAotICAgICAgICBzdGQ6Om9wdGlvbmFsPFBBTDo6V2Vi
R1BVOjpTaXplNjQ+KSBmaW5hbDsKKyAgICAgICAgUEFMOjpXZWJHUFU6OlNpemU2NCBkYXRhT2Zm
c2V0ID0gMCwKKyAgICAgICAgc3RkOjpvcHRpb25hbDxQQUw6OldlYkdQVTo6U2l6ZTY0PiA9IHN0
ZDo6bnVsbG9wdCkgZmluYWw7CiAKICAgICB2b2lkIHdyaXRlVGV4dHVyZSgKICAgICAgICAgY29u
c3QgUEFMOjpXZWJHUFU6OkltYWdlQ29weVRleHR1cmUmIGRlc3RpbmF0aW9uLApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9XZWJHUFUvUmVtb3RlUmVu
ZGVyUGFzc0VuY29kZXJQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dy
YXBoaWNzL1dlYkdQVS9SZW1vdGVSZW5kZXJQYXNzRW5jb2RlclByb3h5LmNwcAppbmRleCAzZThm
NWE2M2Y0YWYxMjQ3MmI4ZjIzZjU4ZmRmMmQ4N2FiZmQzNTAwLi43ODNmZTBhMGY4NzgxYjBhMDI4
NzY5MTc1ZTU2OTBlODNmNGExZjc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvR1BVL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVSZW5kZXJQYXNzRW5jb2RlclByb3h5LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVS
ZW5kZXJQYXNzRW5jb2RlclByb3h5LmNwcApAQCAtMjA0LDIzICsyMDQsNiBAQCB2b2lkIFJlbW90
ZVJlbmRlclBhc3NFbmNvZGVyUHJveHk6OmVuZE9jY2x1c2lvblF1ZXJ5KCkKICAgICBVTlVTRURf
VkFSSUFCTEUoc2VuZFJlc3VsdCk7CiB9CiAKLXZvaWQgUmVtb3RlUmVuZGVyUGFzc0VuY29kZXJQ
cm94eTo6YmVnaW5QaXBlbGluZVN0YXRpc3RpY3NRdWVyeShjb25zdCBQQUw6OldlYkdQVTo6UXVl
cnlTZXQmIHF1ZXJ5U2V0LCBQQUw6OldlYkdQVTo6U2l6ZTMyIHF1ZXJ5SW5kZXgpCi17Ci0gICAg
YXV0byBjb252ZXJ0ZWRRdWVyeVNldCA9IG1fY29udmVydFRvQmFja2luZ0NvbnRleHQtPmNvbnZl
cnRUb0JhY2tpbmcocXVlcnlTZXQpOwotICAgIEFTU0VSVChjb252ZXJ0ZWRRdWVyeVNldCk7Ci0g
ICAgaWYgKCFjb252ZXJ0ZWRRdWVyeVNldCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgYXV0byBz
ZW5kUmVzdWx0ID0gc2VuZChNZXNzYWdlczo6UmVtb3RlUmVuZGVyUGFzc0VuY29kZXI6OkJlZ2lu
UGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkoY29udmVydGVkUXVlcnlTZXQsIHF1ZXJ5SW5kZXgpKTsK
LSAgICBVTlVTRURfVkFSSUFCTEUoc2VuZFJlc3VsdCk7Ci19Ci0KLXZvaWQgUmVtb3RlUmVuZGVy
UGFzc0VuY29kZXJQcm94eTo6ZW5kUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkoKQotewotICAgIGF1
dG8gc2VuZFJlc3VsdCA9IHNlbmQoTWVzc2FnZXM6OlJlbW90ZVJlbmRlclBhc3NFbmNvZGVyOjpF
bmRQaXBlbGluZVN0YXRpc3RpY3NRdWVyeSgpKTsKLSAgICBVTlVTRURfVkFSSUFCTEUoc2VuZFJl
c3VsdCk7Ci19Ci0KIHZvaWQgUmVtb3RlUmVuZGVyUGFzc0VuY29kZXJQcm94eTo6ZXhlY3V0ZUJ1
bmRsZXMoVmVjdG9yPHN0ZDo6cmVmZXJlbmNlX3dyYXBwZXI8UEFMOjpXZWJHUFU6OlJlbmRlckJ1
bmRsZT4+JiYgcmVuZGVyQnVuZGxlcykKIHsKICAgICBWZWN0b3I8V2ViR1BVSWRlbnRpZmllcj4g
Y29udmVydGVkUmVuZGVyQnVuZGxlczsKQEAgLTIzNyw5ICsyMjAsOSBAQCB2b2lkIFJlbW90ZVJl
bmRlclBhc3NFbmNvZGVyUHJveHk6OmV4ZWN1dGVCdW5kbGVzKFZlY3RvcjxzdGQ6OnJlZmVyZW5j
ZV93cmFwcGVyPAogICAgIFVOVVNFRF9WQVJJQUJMRShzZW5kUmVzdWx0KTsKIH0KIAotdm9pZCBS
ZW1vdGVSZW5kZXJQYXNzRW5jb2RlclByb3h5OjplbmRQYXNzKCkKK3ZvaWQgUmVtb3RlUmVuZGVy
UGFzc0VuY29kZXJQcm94eTo6ZW5kKCkKIHsKLSAgICBhdXRvIHNlbmRSZXN1bHQgPSBzZW5kKE1l
c3NhZ2VzOjpSZW1vdGVSZW5kZXJQYXNzRW5jb2Rlcjo6RW5kUGFzcygpKTsKKyAgICBhdXRvIHNl
bmRSZXN1bHQgPSBzZW5kKE1lc3NhZ2VzOjpSZW1vdGVSZW5kZXJQYXNzRW5jb2Rlcjo6RW5kKCkp
OwogICAgIFVOVVNFRF9WQVJJQUJMRShzZW5kUmVzdWx0KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9XZWJHUFUvUmVtb3RlUmVuZGVyUGFz
c0VuY29kZXJQcm94eS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9X
ZWJHUFUvUmVtb3RlUmVuZGVyUGFzc0VuY29kZXJQcm94eS5oCmluZGV4IGU1ZjY5M2Q4YzhlYmY2
ZTkwNWQ5MTQyZTBkM2ViZTczNGMxODRjMzcuLmZjNWI1OTZmNWJhOGRjZjdjOGI1NjUyY2JkNzU4
YjEwNGU5NWQ5NGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3Jh
cGhpY3MvV2ViR1BVL1JlbW90ZVJlbmRlclBhc3NFbmNvZGVyUHJveHkuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVSZW5kZXJQYXNzRW5j
b2RlclByb3h5LmgKQEAgLTExMywxMSArMTEzLDggQEAgcHJpdmF0ZToKICAgICB2b2lkIGJlZ2lu
T2NjbHVzaW9uUXVlcnkoUEFMOjpXZWJHUFU6OlNpemUzMiBxdWVyeUluZGV4KSBmaW5hbDsKICAg
ICB2b2lkIGVuZE9jY2x1c2lvblF1ZXJ5KCkgZmluYWw7CiAKLSAgICB2b2lkIGJlZ2luUGlwZWxp
bmVTdGF0aXN0aWNzUXVlcnkoY29uc3QgUEFMOjpXZWJHUFU6OlF1ZXJ5U2V0JiwgUEFMOjpXZWJH
UFU6OlNpemUzMiBxdWVyeUluZGV4KSBmaW5hbDsKLSAgICB2b2lkIGVuZFBpcGVsaW5lU3RhdGlz
dGljc1F1ZXJ5KCkgZmluYWw7Ci0KICAgICB2b2lkIGV4ZWN1dGVCdW5kbGVzKFZlY3RvcjxzdGQ6
OnJlZmVyZW5jZV93cmFwcGVyPFBBTDo6V2ViR1BVOjpSZW5kZXJCdW5kbGU+PiYmKSBmaW5hbDsK
LSAgICB2b2lkIGVuZFBhc3MoKSBmaW5hbDsKKyAgICB2b2lkIGVuZCgpIGZpbmFsOwogCiAgICAg
dm9pZCBzZXRMYWJlbEludGVybmFsKGNvbnN0IFN0cmluZyYpIGZpbmFsOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>452137</attachid>
            <date>2022-02-15 20:56:46 -0800</date>
            <delta_ts>2022-02-15 21:31:30 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-236639-20220215205645.patch</filename>
            <type>text/plain</type>
            <size>300831</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg5ODcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzM4NThhMzM1MTFjMTZj
MzBjMDdhMTJhMWJhMjNmYzdlNWJlMTdkZC4uYjRmMzZhMDgyYWQ5NjcwMjZiMzNjYTJiMzRlODdi
MjM2ZWY2ZGM5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDExOSBAQAorMjAyMi0wMi0xNSAgTXls
ZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFtXZWJHUFVd
IFVwZGF0ZSBJRExzIGFuZCBzdHVicyB0byBsYXRlc3QgdmVyc2lvbiBvZiB0aGUgc3BlYworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM2NjM5CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyB1cGRhdGVz
IG91ciBXZWJHUFUgaW5mcmFzdHJ1Y3R1cmUgdG8gc3BlYyByZXZpc2lvbiA2MjZmOGMwNWM4ZTY3
YjU0MTU5ZTkzYWU3YzM2OTlhODg5ZjBiMTE1LiBUaGlzCisgICAgICAgIGlzIGp1c3QgdGhlIHBs
dW1iaW5nIHRoYXQgY29ubmVjdHMgSURMIC0+IFdlYkNvcmUgQysrIC0+IFBBTCB2aXJ0dWFsIG1l
dGhvZHMgLT4gV2ViS2l0IFdlYiBwcm9jZXNzIC0+CisgICAgICAgIFdlYktpdCBHUFUgcHJvY2Vz
cyAtPiBQQUwgdmlydHVhbCBtZXRob2RzIC0+IFBBTCBXZWJHUFUgaW1wbGVtZW50YXRpb24gLT4g
V2ViR1BVLmZyYW1ld29yay4gVGhpcyBhbHNvCisgICAgICAgIHVwZGF0ZXMgdGhlIFdlYkdQVS5o
IHNoYXJlZCBoZWFkZXIgdG8gcmV2aXNpb24gMDhlZjU3NzMzNTAzYjhmYjUwNGUwNjgxYThkYjY1
MGM4ODIyNTk0Ny4gVGhpcyBpcyBqdXN0CisgICAgICAgIHBsdW1iaW5nIC0gdGhlIGFjdHVhbCBp
bXBsZW1lbnRhdGlvbiBvZiB0aGlzIHN0dWZmIGlzIHN0aWxsIGp1c3Qgc3R1YnMgaW4gV2ViR1BV
LmZyYW1ld29yay4KKworICAgICAgICBUaGVyZSBoYXZlIGJlZW4gYSBmZXcgdmFyaW91cyBjaGFu
Z2VzOgorICAgICAgICAtIEEgdmlld0Zvcm1hdHMgYXJyYXkgaGFzIGJlZW4gYWRkZWQgdG8gR1BV
Q2FudmFzQ29uZmlndXJhdGlvbiBhbmQgR1BVVGV4dHVyZURlc2NyaXB0b3IKKyAgICAgICAgLSBm
aWxsQnVmZmVyKCkgaGFzIGJlZW4gcmVuYW1lZCB0byBjbGVhckJ1ZmZlcigpCisgICAgICAgIC0g
UGlwZWxpbmUgc3RhdGlzdGljcyBxdWVyaWVzIGhhdmUgYmVlbiBkZWxldGVkCisgICAgICAgIC0g
QSBmZXcgcmVmYWN0b3JpbmdzIHRvIHR1cm4gVmVjdG9yPEZvbz4gdGhpbmdzIGludG8gVmVjdG9y
PHN0ZDo6b3B0aW9uYWw8Rm9vPj4KKyAgICAgICAgLSBmbGlwWSBoYXMgYmVlbiBhZGRlZCB0byBH
UFVJbWFnZUNvcHlFeHRlcm5hbEltYWdlCisgICAgICAgIC0gTG9hZCBvcGVyYXRpb25zIGhhdmUg
YmVlbiByZWRlc2lnbmVkIG9uIGJvdGggR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudCBhbmQK
KyAgICAgICAgICAgICAgR1BVUmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQKKyAgICAg
ICAgLSBlbmRQYXNzKCkgaGFzIGJlZW4gcmVuYW1lZCB0byBlbmQoKQorICAgICAgICAtIFNoYWRl
ciBjb21waWxhdGlvbiBub3cgdGFrZXMgYSByZWNvcmQ8ZW50cnkgcG9pbnQgbmFtZSwgR1BVU2hh
ZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50PgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBiZWNhdXNl
IHRoZSBpbXBsZW1lbnRhdGlvbiBpcyBzdGlsbCBqdXN0IHN0dWJzLgorCisgICAgICAgICogQ01h
a2VMaXN0cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdDoK
KyAgICAgICAgKiBEZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBE
ZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIEhlYWRlcnMuY21ha2U6CisgICAgICAgICog
TW9kdWxlcy9XZWJHUFUvR1BVQnVmZmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdQVUJ1ZmZl
cjo6bWFwQXN5bmMpOgorICAgICAgICAoV2ViQ29yZTo6R1BVQnVmZmVyOjpnZXRNYXBwZWRSYW5n
ZSk6CisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVQnVmZmVyLmg6CisgICAgICAgICogTW9k
dWxlcy9XZWJHUFUvR1BVQ2FudmFzQ29uZmlndXJhdGlvbi5oOgorICAgICAgICAoV2ViQ29yZTo6
R1BVQ2FudmFzQ29uZmlndXJhdGlvbjo6Y29udmVydFRvQmFja2luZyBjb25zdCk6CisgICAgICAg
ICogTW9kdWxlcy9XZWJHUFUvR1BVQ2FudmFzQ29uZmlndXJhdGlvbi5pZGw6CisgICAgICAgICog
TW9kdWxlcy9XZWJHUFUvR1BVQ29tbWFuZEVuY29kZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
R1BVQ29tbWFuZEVuY29kZXI6OmNsZWFyQnVmZmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkdQVUNv
bW1hbmRFbmNvZGVyOjpmaWxsQnVmZmVyKTogRGVsZXRlZC4KKyAgICAgICAgKiBNb2R1bGVzL1dl
YkdQVS9HUFVDb21tYW5kRW5jb2Rlci5oOgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVUNv
bW1hbmRFbmNvZGVyLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVDb21tYW5kc01p
eGluLmlkbDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVTG9h
ZE9wLmlkbC4KKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVDb21wdXRlUGFzc0VuY29kZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6R1BVQ29tcHV0ZVBhc3NFbmNvZGVyOjpkaXNwYXRjaCk6
CisgICAgICAgIChXZWJDb3JlOjpHUFVDb21wdXRlUGFzc0VuY29kZXI6OmVuZCk6CisgICAgICAg
IChXZWJDb3JlOjpHUFVDb21wdXRlUGFzc0VuY29kZXI6OmJlZ2luUGlwZWxpbmVTdGF0aXN0aWNz
UXVlcnkpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6R1BVQ29tcHV0ZVBhc3NFbmNvZGVy
OjplbmRQaXBlbGluZVN0YXRpc3RpY3NRdWVyeSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3Jl
OjpHUFVDb21wdXRlUGFzc0VuY29kZXI6OmVuZFBhc3MpOiBEZWxldGVkLgorICAgICAgICAqIE1v
ZHVsZXMvV2ViR1BVL0dQVUNvbXB1dGVQYXNzRW5jb2Rlci5oOgorICAgICAgICAqIE1vZHVsZXMv
V2ViR1BVL0dQVUNvbXB1dGVQYXNzRW5jb2Rlci5pZGw6CisgICAgICAgICogTW9kdWxlcy9XZWJH
UFUvR1BVRGVidWdDb21tYW5kc01peGluLmlkbDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9XZWJHUFUvR1BVRnJhZ21lbnRTdGF0ZS5pZGwuCisgICAgICAgICogTW9kdWxlcy9X
ZWJHUFUvR1BVRmVhdHVyZU5hbWUuaDoKKyAgICAgICAgKFdlYkNvcmU6OmNvbnZlcnRUb0JhY2tp
bmcpOgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVUZlYXR1cmVOYW1lLmlkbDoKKyAgICAg
ICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVGcmFnbWVudFN0YXRlLmg6CisgICAgICAgIChXZWJDb3Jl
OjpHUFVGcmFnbWVudFN0YXRlOjpjb252ZXJ0VG9CYWNraW5nIGNvbnN0KToKKyAgICAgICAgKiBN
b2R1bGVzL1dlYkdQVS9HUFVGcmFnbWVudFN0YXRlLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL1dl
YkdQVS9HUFVJbWFnZUNvcHlFeHRlcm5hbEltYWdlLmg6CisgICAgICAgIChXZWJDb3JlOjpHUFVJ
bWFnZUNvcHlFeHRlcm5hbEltYWdlOjpjb252ZXJ0VG9CYWNraW5nIGNvbnN0KToKKyAgICAgICAg
KiBNb2R1bGVzL1dlYkdQVS9HUFVJbWFnZUNvcHlFeHRlcm5hbEltYWdlLmlkbDoKKyAgICAgICAg
KiBNb2R1bGVzL1dlYkdQVS9HUFVMb2FkT3AuaDoKKyAgICAgICAgKFdlYkNvcmU6OmNvbnZlcnRU
b0JhY2tpbmcpOgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVUxvYWRPcC5pZGw6CisgICAg
ICAgICogTW9kdWxlcy9XZWJHUFUvR1BVT2JqZWN0QmFzZS5pZGw6CisgICAgICAgICogTW9kdWxl
cy9XZWJHUFUvR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lLmg6IFJlbW92ZWQuCisgICAgICAgICog
TW9kdWxlcy9XZWJHUFUvR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lLmlkbDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVQcm9ncmFtbWFibGVQYXNzRW5jb2Rlci5pZGw6Cisg
ICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVUXVlcnlTZXREZXNjcmlwdG9yLmg6CisgICAgICAg
IChXZWJDb3JlOjpHUFVRdWVyeVNldERlc2NyaXB0b3I6OmNvbnZlcnRUb0JhY2tpbmcgY29uc3Qp
OgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVVF1ZXJ5U2V0RGVzY3JpcHRvci5pZGw6Cisg
ICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVUXVlcnlUeXBlLmg6CisgICAgICAgIChXZWJDb3Jl
Ojpjb252ZXJ0VG9CYWNraW5nKToKKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVRdWVyeVR5
cGUuaWRsOgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVVF1ZXVlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkdQVVF1ZXVlOjp3cml0ZUJ1ZmZlcik6CisgICAgICAgICogTW9kdWxlcy9XZWJH
UFUvR1BVUXVldWUuaDoKKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJCdW5kbGVF
bmNvZGVyLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJCdW5kbGVFbmNv
ZGVyRGVzY3JpcHRvci5oOgorICAgICAgICAoV2ViQ29yZTo6R1BVUmVuZGVyQnVuZGxlRW5jb2Rl
ckRlc2NyaXB0b3I6OmNvbnZlcnRUb0JhY2tpbmcgY29uc3QpOgorICAgICAgICAqIE1vZHVsZXMv
V2ViR1BVL0dQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6
OkdQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQ6OmNvbnZlcnRUb0JhY2tpbmcgY29uc3QpOgor
ICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQuaWRs
OgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRh
Y2htZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpHUFVSZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0
YWNobWVudDo6Y29udmVydFRvQmFja2luZyBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy9XZWJH
UFUvR1BVUmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQuaWRsOgorICAgICAgICAqIE1v
ZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NEZXNjcmlwdG9yLmg6CisgICAgICAgIChXZWJDb3Jl
OjpHUFVSZW5kZXJQYXNzRGVzY3JpcHRvcjo6Y29udmVydFRvQmFja2luZyBjb25zdCk6CisgICAg
ICAgICogTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IuaWRsOgorICAgICAg
ICAqIE1vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NFbmNvZGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkdQVVJlbmRlclBhc3NFbmNvZGVyOjplbmQpOgorICAgICAgICAoV2ViQ29yZTo6R1BV
UmVuZGVyUGFzc0VuY29kZXI6OmJlZ2luUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkpOiBEZWxldGVk
LgorICAgICAgICAoV2ViQ29yZTo6R1BVUmVuZGVyUGFzc0VuY29kZXI6OmVuZFBpcGVsaW5lU3Rh
dGlzdGljc1F1ZXJ5KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkdQVVJlbmRlclBhc3NF
bmNvZGVyOjplbmRQYXNzKTogRGVsZXRlZC4KKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVS
ZW5kZXJQYXNzRW5jb2Rlci5oOgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBh
c3NFbmNvZGVyLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzTGF5
b3V0Lmg6CisgICAgICAgIChXZWJDb3JlOjpHUFVSZW5kZXJQYXNzTGF5b3V0Ojpjb252ZXJ0VG9C
YWNraW5nIGNvbnN0KToKKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzTGF5
b3V0LmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVTaGFkZXJNb2R1bGVDb21waWxh
dGlvbkhpbnQuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BV
TG9hZE9wLmguCisgICAgICAgIChXZWJDb3JlOjpHUFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhp
bnQ6OmNvbnZlcnRUb0JhY2tpbmcgY29uc3QpOgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQ
VVNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludC5pZGw6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvV2ViR1BVL0dQVVF1ZXJ5VHlwZS5pZGwuCisgICAgICAgICogTW9kdWxlcy9X
ZWJHUFUvR1BVU2hhZGVyTW9kdWxlRGVzY3JpcHRvci5oOgorICAgICAgICAoV2ViQ29yZTo6R1BV
U2hhZGVyTW9kdWxlRGVzY3JpcHRvcjo6Y29udmVydFRvQmFja2luZyBjb25zdCk6CisgICAgICAg
ICogTW9kdWxlcy9XZWJHUFUvR1BVU2hhZGVyTW9kdWxlRGVzY3JpcHRvci5pZGw6CisgICAgICAg
ICogTW9kdWxlcy9XZWJHUFUvR1BVVGV4dHVyZURlc2NyaXB0b3IuaDoKKyAgICAgICAgKFdlYkNv
cmU6OkdQVVRleHR1cmVEZXNjcmlwdG9yOjpjb252ZXJ0VG9CYWNraW5nIGNvbnN0KToKKyAgICAg
ICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVUZXh0dXJlRGVzY3JpcHRvci5pZGw6CisgICAgICAgICog
TW9kdWxlcy9XZWJHUFUvR1BVVGV4dHVyZUZvcm1hdC5oOgorICAgICAgICAoV2ViQ29yZTo6Y29u
dmVydFRvQmFja2luZyk6CisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVVGV4dHVyZUZvcm1h
dC5pZGw6CisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVVW5jYXB0dXJlZEVycm9yRXZlbnQu
aWRsOgorICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvajoKKwogMjAyMi0wMi0xNSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBw
bGUuY29tPgogCiAgICAgICAgIERvIHByZWxpbWluYXJ5IHdvcmsgdG8gcGFzcyBkb21haW4gbmFt
ZXMgdG8gQ29yZUxvY2F0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCAxN2YzOWIzZTg5ZWYyMTg0
MTc0NjVhZGJjY2E4MzYwZmM3NjBlYjU1Li41YzFlZTg2NzExYTY1NmYyYTA1MDU1NjgwNzllZjJi
ZDA0N2ZmYTEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSw3MCBAQAorMjAyMi0wMi0x
NSAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFtX
ZWJHUFVdIFVwZGF0ZSBJRExzIGFuZCBzdHVicyB0byBsYXRlc3QgdmVyc2lvbiBvZiB0aGUgc3Bl
YworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM2NjM5
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBQQUwu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBwYWwvZ3JhcGhpY3MvV2ViR1BV
L0ltcGwvV2ViR1BVQWRhcHRlckltcGwuY3BwOgorICAgICAgICAoUEFMOjpXZWJHUFU6OnN1cHBv
cnRlZEZlYXR1cmVzKToKKyAgICAgICAgKFBBTDo6V2ViR1BVOjpBZGFwdGVySW1wbDo6cmVxdWVz
dERldmljZSk6CisgICAgICAgICogcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVUJ1ZmZl
ckltcGwuY3BwOgorICAgICAgICAoUEFMOjpXZWJHUFU6OkJ1ZmZlckltcGw6Om1hcEFzeW5jKToK
KyAgICAgICAgKFBBTDo6V2ViR1BVOjpCdWZmZXJJbXBsOjpnZXRNYXBwZWRSYW5nZSk6CisgICAg
ICAgICogcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVUJ1ZmZlckltcGwuaDoKKyAgICAg
ICAgKiBwYWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwvV2ViR1BVQ29tbWFuZEVuY29kZXJJbXBsLmNw
cDoKKyAgICAgICAgKFBBTDo6V2ViR1BVOjpDb21tYW5kRW5jb2RlckltcGw6OmJlZ2luUmVuZGVy
UGFzcyk6CisgICAgICAgIChQQUw6OldlYkdQVTo6Q29tbWFuZEVuY29kZXJJbXBsOjpiZWdpbkNv
bXB1dGVQYXNzKToKKyAgICAgICAgKFBBTDo6V2ViR1BVOjpDb21tYW5kRW5jb2RlckltcGw6OmNs
ZWFyQnVmZmVyKToKKyAgICAgICAgKFBBTDo6V2ViR1BVOjpDb21tYW5kRW5jb2RlckltcGw6OmZp
bGxCdWZmZXIpOiBEZWxldGVkLgorICAgICAgICAqIHBhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9X
ZWJHUFVDb21tYW5kRW5jb2RlckltcGwuaDoKKyAgICAgICAgKiBwYWwvZ3JhcGhpY3MvV2ViR1BV
L0ltcGwvV2ViR1BVQ29tcHV0ZVBhc3NFbmNvZGVySW1wbC5jcHA6CisgICAgICAgIChQQUw6Oldl
YkdQVTo6Q29tcHV0ZVBhc3NFbmNvZGVySW1wbDo6ZGlzcGF0Y2gpOgorICAgICAgICAoUEFMOjpX
ZWJHUFU6OkNvbXB1dGVQYXNzRW5jb2RlckltcGw6OmVuZCk6CisgICAgICAgIChQQUw6OldlYkdQ
VTo6Q29tcHV0ZVBhc3NFbmNvZGVySW1wbDo6YmVnaW5QaXBlbGluZVN0YXRpc3RpY3NRdWVyeSk6
IERlbGV0ZWQuCisgICAgICAgIChQQUw6OldlYkdQVTo6Q29tcHV0ZVBhc3NFbmNvZGVySW1wbDo6
ZW5kUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkpOiBEZWxldGVkLgorICAgICAgICAoUEFMOjpXZWJH
UFU6OkNvbXB1dGVQYXNzRW5jb2RlckltcGw6OmVuZFBhc3MpOiBEZWxldGVkLgorICAgICAgICAq
IHBhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9XZWJHUFVDb21wdXRlUGFzc0VuY29kZXJJbXBsLmg6
CisgICAgICAgICogcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVUNvbnZlcnRUb0JhY2tp
bmdDb250ZXh0LmNwcDoKKyAgICAgICAgKFBBTDo6V2ViR1BVOjpDb252ZXJ0VG9CYWNraW5nQ29u
dGV4dDo6Y29udmVydFRvQmFja2luZyk6CisgICAgICAgICogcGFsL2dyYXBoaWNzL1dlYkdQVS9J
bXBsL1dlYkdQVUNvbnZlcnRUb0JhY2tpbmdDb250ZXh0Lmg6CisgICAgICAgICogcGFsL2dyYXBo
aWNzL1dlYkdQVS9JbXBsL1dlYkdQVURldmljZUltcGwuY3BwOgorICAgICAgICAoUEFMOjpXZWJH
UFU6OkRldmljZUltcGw6OmNyZWF0ZVRleHR1cmUpOgorICAgICAgICAoUEFMOjpXZWJHUFU6OkRl
dmljZUltcGw6OmNyZWF0ZVNoYWRlck1vZHVsZSk6CisgICAgICAgIChQQUw6OldlYkdQVTo6Y29u
dmVydFRvQmFja2luZyk6CisgICAgICAgIChQQUw6OldlYkdQVTo6RGV2aWNlSW1wbDo6Y3JlYXRl
UmVuZGVyQnVuZGxlRW5jb2Rlcik6CisgICAgICAgIChQQUw6OldlYkdQVTo6RGV2aWNlSW1wbDo6
Y3JlYXRlUXVlcnlTZXQpOgorICAgICAgICAqIHBhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9XZWJH
UFVJbXBsLmNwcDoKKyAgICAgICAgKFBBTDo6V2ViR1BVOjpHUFVJbXBsOjpyZXF1ZXN0QWRhcHRl
cik6CisgICAgICAgICogcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVVJlbmRlclBhc3NF
bmNvZGVySW1wbC5jcHA6CisgICAgICAgIChQQUw6OldlYkdQVTo6UmVuZGVyUGFzc0VuY29kZXJJ
bXBsOjplbmQpOgorICAgICAgICAoUEFMOjpXZWJHUFU6OlJlbmRlclBhc3NFbmNvZGVySW1wbDo6
YmVnaW5QaXBlbGluZVN0YXRpc3RpY3NRdWVyeSk6IERlbGV0ZWQuCisgICAgICAgIChQQUw6Oldl
YkdQVTo6UmVuZGVyUGFzc0VuY29kZXJJbXBsOjplbmRQaXBlbGluZVN0YXRpc3RpY3NRdWVyeSk6
IERlbGV0ZWQuCisgICAgICAgIChQQUw6OldlYkdQVTo6UmVuZGVyUGFzc0VuY29kZXJJbXBsOjpl
bmRQYXNzKTogRGVsZXRlZC4KKyAgICAgICAgKiBwYWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwvV2Vi
R1BVUmVuZGVyUGFzc0VuY29kZXJJbXBsLmg6CisgICAgICAgICogcGFsL2dyYXBoaWNzL1dlYkdQ
VS9XZWJHUFVCdWZmZXIuaDoKKyAgICAgICAgKiBwYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVUNh
bnZhc0NvbmZpZ3VyYXRpb24uaDoKKyAgICAgICAgKiBwYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQ
VUNvbW1hbmRFbmNvZGVyLmg6CisgICAgICAgICogcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVD
b21wdXRlUGFzc0VuY29kZXIuaDoKKyAgICAgICAgKiBwYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQ
VUZlYXR1cmVOYW1lLmg6CisgICAgICAgICogcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVGcmFn
bWVudFN0YXRlLmg6CisgICAgICAgICogcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVJbWFnZUNv
cHlFeHRlcm5hbEltYWdlLmg6CisgICAgICAgICogcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVM
b2FkT3AuaDoKKyAgICAgICAgKiBwYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVBpcGVsaW5lU3Rh
dGlzdGljTmFtZS5oOiBSZW1vdmVkLgorICAgICAgICAqIHBhbC9ncmFwaGljcy9XZWJHUFUvV2Vi
R1BVUXVlcnlTZXREZXNjcmlwdG9yLmg6CisgICAgICAgICogcGFsL2dyYXBoaWNzL1dlYkdQVS9X
ZWJHUFVRdWVyeVR5cGUuaDoKKyAgICAgICAgKiBwYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVF1
ZXVlLmg6CisgICAgICAgICogcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVSZW5kZXJQYXNzQ29s
b3JBdHRhY2htZW50Lmg6CisgICAgICAgICogcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVSZW5k
ZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNobWVudC5oOgorICAgICAgICAqIHBhbC9ncmFwaGljcy9X
ZWJHUFUvV2ViR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IuaDoKKyAgICAgICAgKiBwYWwvZ3JhcGhp
Y3MvV2ViR1BVL1dlYkdQVVJlbmRlclBhc3NFbmNvZGVyLmg6CisgICAgICAgICogcGFsL2dyYXBo
aWNzL1dlYkdQVS9XZWJHUFVSZW5kZXJQYXNzTGF5b3V0Lmg6CisgICAgICAgICogcGFsL2dyYXBo
aWNzL1dlYkdQVS9XZWJHUFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQuaDogQ29waWVkIGZy
b20gU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVSW1hZ2VDb3B5
RXh0ZXJuYWxJbWFnZS5oLgorICAgICAgICAqIHBhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVU2hh
ZGVyTW9kdWxlRGVzY3JpcHRvci5oOgorICAgICAgICAqIHBhbC9ncmFwaGljcy9XZWJHUFUvV2Vi
R1BVVGV4dHVyZURlc2NyaXB0b3IuaDoKKyAgICAgICAgKiBwYWwvZ3JhcGhpY3MvV2ViR1BVL1dl
YkdQVVRleHR1cmVGb3JtYXQuaDoKKwogMjAyMi0wMi0xNSAgQWxleCBDaHJpc3RlbnNlbiAgPGFj
aHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIEZpeCBpbnRlcm5hbCBCaWcgU3VyIGJ1
aWxkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViR1BVL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJHUFUv
Q2hhbmdlTG9nCmluZGV4IDgxZTMwMTUzMzEzNWEwZTM3NzUzN2EyMDRkNmVmMzBlODY2MjY0MmUu
LmFmNjM0MjA4YzY2NDg5NTVjMmNkODgyMTc2NzMyZWY1NWRlOTZiYjkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJHUFUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJHUFUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsNDUgQEAKKzIwMjItMDItMTUgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFw
cGxlLmNvbT4KKworICAgICAgICBbV2ViR1BVXSBVcGRhdGUgSURMcyBhbmQgc3R1YnMgdG8gbGF0
ZXN0IHZlcnNpb24gb2YgdGhlIHNwZWMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIzNjYzOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogV2ViR1BVL0FkYXB0ZXIuaDoKKyAgICAgICAgKiBXZWJHUFUvQWRh
cHRlci5tbToKKyAgICAgICAgKFdlYkdQVTo6QWRhcHRlcjo6ZW51bWVyYXRlRmVhdHVyZXMpOgor
ICAgICAgICAod2dwdUFkYXB0ZXJFbnVtZXJhdGVGZWF0dXJlcyk6CisgICAgICAgIChXZWJHUFU6
OkFkYXB0ZXI6OmdldEZlYXR1cmVBdEluZGV4KTogRGVsZXRlZC4KKyAgICAgICAgKHdncHVBZGFw
dGVyR2V0RmVhdHVyZUF0SW5kZXgpOiBEZWxldGVkLgorICAgICAgICAqIFdlYkdQVS9Db21tYW5k
RW5jb2Rlci5oOgorICAgICAgICAqIFdlYkdQVS9Db21tYW5kRW5jb2Rlci5tbToKKyAgICAgICAg
KFdlYkdQVTo6Q29tbWFuZEVuY29kZXI6OmNsZWFyQnVmZmVyKToKKyAgICAgICAgKHdncHVDb21t
YW5kRW5jb2RlckNsZWFyQnVmZmVyKToKKyAgICAgICAgKFdlYkdQVTo6Q29tbWFuZEVuY29kZXI6
OmZpbGxCdWZmZXIpOiBEZWxldGVkLgorICAgICAgICAod2dwdUNvbW1hbmRFbmNvZGVyRmlsbEJ1
ZmZlcik6IERlbGV0ZWQuCisgICAgICAgICogV2ViR1BVL0NvbXB1dGVQYXNzRW5jb2Rlci5oOgor
ICAgICAgICAqIFdlYkdQVS9Db21wdXRlUGFzc0VuY29kZXIubW06CisgICAgICAgIChXZWJHUFU6
OkNvbXB1dGVQYXNzRW5jb2Rlcjo6d3JpdGVUaW1lc3RhbXApOiBEZWxldGVkLgorICAgICAgICAo
d2dwdUNvbXB1dGVQYXNzRW5jb2RlcldyaXRlVGltZXN0YW1wKTogRGVsZXRlZC4KKyAgICAgICAg
KiBXZWJHUFUvRGV2aWNlLmg6CisgICAgICAgICogV2ViR1BVL0RldmljZS5tbToKKyAgICAgICAg
KFdlYkdQVTo6RGV2aWNlOjplbnVtZXJhdGVGZWF0dXJlcyk6CisgICAgICAgIChXZWJHUFU6OkRl
dmljZTo6aGFzRmVhdHVyZSk6CisgICAgICAgICh3Z3B1RGV2aWNlRW51bWVyYXRlRmVhdHVyZXMp
OgorICAgICAgICAod2dwdURldmljZUhhc0ZlYXR1cmUpOgorICAgICAgICAqIFdlYkdQVS9JbnN0
YW5jZS5tbToKKyAgICAgICAgKHdncHVHZXRQcm9jQWRkcmVzcyk6CisgICAgICAgICogV2ViR1BV
L1JlbmRlclBhc3NFbmNvZGVyLmg6CisgICAgICAgICogV2ViR1BVL1JlbmRlclBhc3NFbmNvZGVy
Lm1tOgorICAgICAgICAoV2ViR1BVOjpSZW5kZXJQYXNzRW5jb2Rlcjo6d3JpdGVUaW1lc3RhbXAp
OiBEZWxldGVkLgorICAgICAgICAod2dwdVJlbmRlclBhc3NFbmNvZGVyV3JpdGVUaW1lc3RhbXAp
OiBEZWxldGVkLgorICAgICAgICAqIFdlYkdQVS9TaGFkZXJNb2R1bGUuaDoKKyAgICAgICAgKiBX
ZWJHUFUvU2hhZGVyTW9kdWxlLm1tOgorICAgICAgICAoV2ViR1BVOjpTaGFkZXJNb2R1bGU6Omdl
dENvbXBpbGF0aW9uSW5mbyk6CisgICAgICAgICh3Z3B1U2hhZGVyTW9kdWxlR2V0Q29tcGlsYXRp
b25JbmZvKToKKyAgICAgICAgKiBXZWJHUFUvV2ViR1BVLmg6CisgICAgICAgICogV2ViR1BVL1dl
YkdQVUV4dC5oOgorCiAyMDIyLTAyLTE1ICBSb2JpbiBNb3Jpc3NldCAgPHJtb3Jpc3NldEBhcHBs
ZS5jb20+CiAKICAgICAgICAgW1dHU0xdIEltcGxlbWVudCBlbm91Z2ggb2YgdGhlIGxleGVyIGZv
ciB0aGUgc2ltcGxlc3Qgc2hhZGVycwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBkOGJkYjE5MWE0NmRiM2UxNGEzMmU4
NGY4NGMyMTMxNWRlNDRkM2Q2Li5hMjQ4N2M2NjdmZmZmNTBhNTUwOWY0MzZiZjg3YTAyMGY0ZmVh
ODAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyNCBAQAorMjAyMi0wMi0xNSAgTXlsZXMgQy4gTWF4
ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFtXZWJHUFVdIFVwZGF0ZSBJ
RExzIGFuZCBzdHVicyB0byBsYXRlc3QgdmVyc2lvbiBvZiB0aGUgc3BlYworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM2NjM5CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBHUFVQcm9jZXNzL2dyYXBoaWNz
L1dlYkdQVS9SZW1vdGVCdWZmZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVCdWZmZXI6
Om1hcEFzeW5jKToKKyAgICAgICAgKiBHUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVC
dWZmZXIuaDoKKyAgICAgICAgKiBHUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVCdWZm
ZXIubWVzc2FnZXMuaW46CisgICAgICAgICogR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVt
b3RlQ29tbWFuZEVuY29kZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVDb21tYW5kRW5j
b2Rlcjo6Y2xlYXJCdWZmZXIpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVDb21tYW5kRW5jb2Rl
cjo6ZmlsbEJ1ZmZlcik6IERlbGV0ZWQuCisgICAgICAgICogR1BVUHJvY2Vzcy9ncmFwaGljcy9X
ZWJHUFUvUmVtb3RlQ29tbWFuZEVuY29kZXIuaDoKKyAgICAgICAgKiBHUFVQcm9jZXNzL2dyYXBo
aWNzL1dlYkdQVS9SZW1vdGVDb21tYW5kRW5jb2Rlci5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBH
UFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVDb21wdXRlUGFzc0VuY29kZXIuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpSZW1vdGVDb21wdXRlUGFzc0VuY29kZXI6OmRpc3BhdGNoKToKKyAg
ICAgICAgKFdlYktpdDo6UmVtb3RlQ29tcHV0ZVBhc3NFbmNvZGVyOjplbmQpOgorICAgICAgICAo
V2ViS2l0OjpSZW1vdGVDb21wdXRlUGFzc0VuY29kZXI6OmJlZ2luUGlwZWxpbmVTdGF0aXN0aWNz
UXVlcnkpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVDb21wdXRlUGFzc0VuY29k
ZXI6OmVuZFBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktp
dDo6UmVtb3RlQ29tcHV0ZVBhc3NFbmNvZGVyOjplbmRQYXNzKTogRGVsZXRlZC4KKyAgICAgICAg
KiBHUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVDb21wdXRlUGFzc0VuY29kZXIuaDoK
KyAgICAgICAgKiBHUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVDb21wdXRlUGFzc0Vu
Y29kZXIubWVzc2FnZXMuaW46CisgICAgICAgICogR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUv
UmVtb3RlUmVuZGVyUGFzc0VuY29kZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVSZW5k
ZXJQYXNzRW5jb2Rlcjo6ZW5kKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlUmVuZGVyUGFzc0Vu
Y29kZXI6OmJlZ2luUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkpOiBEZWxldGVkLgorICAgICAgICAo
V2ViS2l0OjpSZW1vdGVSZW5kZXJQYXNzRW5jb2Rlcjo6ZW5kUGlwZWxpbmVTdGF0aXN0aWNzUXVl
cnkpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVSZW5kZXJQYXNzRW5jb2Rlcjo6
ZW5kUGFzcyk6IERlbGV0ZWQuCisgICAgICAgICogR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUv
UmVtb3RlUmVuZGVyUGFzc0VuY29kZXIuaDoKKyAgICAgICAgKiBHUFVQcm9jZXNzL2dyYXBoaWNz
L1dlYkdQVS9SZW1vdGVSZW5kZXJQYXNzRW5jb2Rlci5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBT
aGFyZWQvV2ViR1BVL1dlYkdQVUNhbnZhc0NvbmZpZ3VyYXRpb24uY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJHUFU6OkNvbnZlcnRUb0JhY2tpbmdDb250ZXh0Ojpjb252ZXJ0VG9CYWNraW5nKToK
KyAgICAgICAgKFdlYktpdDo6V2ViR1BVOjpDb252ZXJ0RnJvbUJhY2tpbmdDb250ZXh0Ojpjb252
ZXJ0RnJvbUJhY2tpbmcpOgorICAgICAgICAqIFNoYXJlZC9XZWJHUFUvV2ViR1BVQ2FudmFzQ29u
ZmlndXJhdGlvbi5oOgorICAgICAgICAoV2ViS2l0OjpXZWJHUFU6OkNhbnZhc0NvbmZpZ3VyYXRp
b246OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OldlYkdQVTo6Q2FudmFzQ29uZmln
dXJhdGlvbjo6ZGVjb2RlKToKKyAgICAgICAgKiBTaGFyZWQvV2ViR1BVL1dlYkdQVUNvbnZlcnRG
cm9tQmFja2luZ0NvbnRleHQuaDoKKyAgICAgICAgKiBTaGFyZWQvV2ViR1BVL1dlYkdQVUNvbnZl
cnRUb0JhY2tpbmdDb250ZXh0Lmg6CisgICAgICAgICogU2hhcmVkL1dlYkdQVS9XZWJHUFVGcmFn
bWVudFN0YXRlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViR1BVOjpDb252ZXJ0VG9CYWNraW5n
Q29udGV4dDo6Y29udmVydFRvQmFja2luZyk6CisgICAgICAgIChXZWJLaXQ6OldlYkdQVTo6Q29u
dmVydEZyb21CYWNraW5nQ29udGV4dDo6Y29udmVydEZyb21CYWNraW5nKToKKyAgICAgICAgKiBT
aGFyZWQvV2ViR1BVL1dlYkdQVUZyYWdtZW50U3RhdGUuaDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
R1BVOjpGcmFnbWVudFN0YXRlOjpkZWNvZGUpOgorICAgICAgICAqIFNoYXJlZC9XZWJHUFUvV2Vi
R1BVSW1hZ2VDb3B5RXh0ZXJuYWxJbWFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkdQVTo6
Q29udmVydFRvQmFja2luZ0NvbnRleHQ6OmNvbnZlcnRUb0JhY2tpbmcpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJHUFU6OkNvbnZlcnRGcm9tQmFja2luZ0NvbnRleHQ6OmNvbnZlcnRGcm9tQmFja2lu
Zyk6CisgICAgICAgICogU2hhcmVkL1dlYkdQVS9XZWJHUFVJbWFnZUNvcHlFeHRlcm5hbEltYWdl
Lmg6CisgICAgICAgIChXZWJLaXQ6OldlYkdQVTo6SW1hZ2VDb3B5RXh0ZXJuYWxJbWFnZTo6ZW5j
b2RlIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6V2ViR1BVOjpJbWFnZUNvcHlFeHRlcm5hbElt
YWdlOjpkZWNvZGUpOgorICAgICAgICAqIFNoYXJlZC9XZWJHUFUvV2ViR1BVSW1hZ2VDb3B5VGV4
dHVyZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkdQVTo6Q29udmVydFRvQmFja2luZ0NvbnRl
eHQ6OmNvbnZlcnRUb0JhY2tpbmcpOgorICAgICAgICAoV2ViS2l0OjpXZWJHUFU6OkNvbnZlcnRG
cm9tQmFja2luZ0NvbnRleHQ6OmNvbnZlcnRGcm9tQmFja2luZyk6CisgICAgICAgICogU2hhcmVk
L1dlYkdQVS9XZWJHUFVRdWVyeVNldERlc2NyaXB0b3IuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJHUFU6OkNvbnZlcnRUb0JhY2tpbmdDb250ZXh0Ojpjb252ZXJ0VG9CYWNraW5nKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViR1BVOjpDb252ZXJ0RnJvbUJhY2tpbmdDb250ZXh0Ojpjb252ZXJ0RnJv
bUJhY2tpbmcpOgorICAgICAgICAqIFNoYXJlZC9XZWJHUFUvV2ViR1BVUXVlcnlTZXREZXNjcmlw
dG9yLmg6CisgICAgICAgIChXZWJLaXQ6OldlYkdQVTo6UXVlcnlTZXREZXNjcmlwdG9yOjplbmNv
ZGUgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJHUFU6OlF1ZXJ5U2V0RGVzY3JpcHRvcjo6
ZGVjb2RlKToKKyAgICAgICAgKiBTaGFyZWQvV2ViR1BVL1dlYkdQVVJlbmRlclBhc3NDb2xvckF0
dGFjaG1lbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJHUFU6OkNvbnZlcnRUb0JhY2tpbmdD
b250ZXh0Ojpjb252ZXJ0VG9CYWNraW5nKToKKyAgICAgICAgKFdlYktpdDo6V2ViR1BVOjpDb252
ZXJ0RnJvbUJhY2tpbmdDb250ZXh0Ojpjb252ZXJ0RnJvbUJhY2tpbmcpOgorICAgICAgICAqIFNo
YXJlZC9XZWJHUFUvV2ViR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudC5oOgorICAgICAgICAo
V2ViS2l0OjpXZWJHUFU6OlJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQ6OmVuY29kZSBjb25zdCk6
CisgICAgICAgIChXZWJLaXQ6OldlYkdQVTo6UmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudDo6ZGVj
b2RlKToKKyAgICAgICAgKiBTaGFyZWQvV2ViR1BVL1dlYkdQVVJlbmRlclBhc3NEZXB0aFN0ZW5j
aWxBdHRhY2htZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViR1BVOjpDb252ZXJ0VG9CYWNr
aW5nQ29udGV4dDo6Y29udmVydFRvQmFja2luZyk6CisgICAgICAgIChXZWJLaXQ6OldlYkdQVTo6
Q29udmVydEZyb21CYWNraW5nQ29udGV4dDo6Y29udmVydEZyb21CYWNraW5nKToKKyAgICAgICAg
KiBTaGFyZWQvV2ViR1BVL1dlYkdQVVJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50Lmg6
CisgICAgICAgIChXZWJLaXQ6OldlYkdQVTo6UmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1l
bnQ6OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OldlYkdQVTo6UmVuZGVyUGFzc0Rl
cHRoU3RlbmNpbEF0dGFjaG1lbnQ6OmRlY29kZSk6CisgICAgICAgICogU2hhcmVkL1dlYkdQVS9X
ZWJHUFVSZW5kZXJQYXNzRGVzY3JpcHRvci5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkdQVTo6
Q29udmVydFRvQmFja2luZ0NvbnRleHQ6OmNvbnZlcnRUb0JhY2tpbmcpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJHUFU6OkNvbnZlcnRGcm9tQmFja2luZ0NvbnRleHQ6OmNvbnZlcnRGcm9tQmFja2lu
Zyk6CisgICAgICAgICogU2hhcmVkL1dlYkdQVS9XZWJHUFVSZW5kZXJQYXNzRGVzY3JpcHRvci5o
OgorICAgICAgICAoV2ViS2l0OjpXZWJHUFU6OlJlbmRlclBhc3NEZXNjcmlwdG9yOjpkZWNvZGUp
OgorICAgICAgICAqIFNoYXJlZC9XZWJHUFUvV2ViR1BVUmVuZGVyUGFzc0xheW91dC5oOgorICAg
ICAgICAoV2ViS2l0OjpXZWJHUFU6OlJlbmRlclBhc3NMYXlvdXQ6OmRlY29kZSk6CisgICAgICAg
ICogU2hhcmVkL1dlYkdQVS9XZWJHUFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQuY3BwOiBD
b3BpZWQgZnJvbSBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVU2hhZGVyTW9kdWxl
RGVzY3JpcHRvci5jcHAuCisgICAgICAgIChXZWJLaXQ6OldlYkdQVTo6Q29udmVydFRvQmFja2lu
Z0NvbnRleHQ6OmNvbnZlcnRUb0JhY2tpbmcpOgorICAgICAgICAoV2ViS2l0OjpXZWJHUFU6OkNv
bnZlcnRGcm9tQmFja2luZ0NvbnRleHQ6OmNvbnZlcnRGcm9tQmFja2luZyk6CisgICAgICAgICog
U2hhcmVkL1dlYkdQVS9XZWJHUFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQuaDogQ29waWVk
IGZyb20gU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVUltYWdlQ29weUV4dGVybmFs
SW1hZ2UuaC4KKyAgICAgICAgKFdlYktpdDo6V2ViR1BVOjpTaGFkZXJNb2R1bGVDb21waWxhdGlv
bkhpbnQ6OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OldlYkdQVTo6U2hhZGVyTW9k
dWxlQ29tcGlsYXRpb25IaW50OjpkZWNvZGUpOgorICAgICAgICAqIFNoYXJlZC9XZWJHUFUvV2Vi
R1BVU2hhZGVyTW9kdWxlRGVzY3JpcHRvci5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkdQVTo6
Q29udmVydFRvQmFja2luZ0NvbnRleHQ6OmNvbnZlcnRUb0JhY2tpbmcpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJHUFU6OkNvbnZlcnRGcm9tQmFja2luZ0NvbnRleHQ6OmNvbnZlcnRGcm9tQmFja2lu
Zyk6CisgICAgICAgICogU2hhcmVkL1dlYkdQVS9XZWJHUFVTaGFkZXJNb2R1bGVEZXNjcmlwdG9y
Lmg6CisgICAgICAgIChXZWJLaXQ6OldlYkdQVTo6U2hhZGVyTW9kdWxlRGVzY3JpcHRvcjo6ZW5j
b2RlIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6V2ViR1BVOjpTaGFkZXJNb2R1bGVEZXNjcmlw
dG9yOjpkZWNvZGUpOgorICAgICAgICAqIFNoYXJlZC9XZWJHUFUvV2ViR1BVVGV4dHVyZURlc2Ny
aXB0b3IuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJHUFU6OkNvbnZlcnRUb0JhY2tpbmdDb250
ZXh0Ojpjb252ZXJ0VG9CYWNraW5nKToKKyAgICAgICAgKFdlYktpdDo6V2ViR1BVOjpDb252ZXJ0
RnJvbUJhY2tpbmdDb250ZXh0Ojpjb252ZXJ0RnJvbUJhY2tpbmcpOgorICAgICAgICAqIFNoYXJl
ZC9XZWJHUFUvV2ViR1BVVGV4dHVyZURlc2NyaXB0b3IuaDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
R1BVOjpUZXh0dXJlRGVzY3JpcHRvcjo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6
V2ViR1BVOjpUZXh0dXJlRGVzY3JpcHRvcjo6ZGVjb2RlKToKKyAgICAgICAgKiBTb3VyY2VzLnR4
dDoKKyAgICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAg
KiBXZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQnVmZmVyUHJveHkuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJHUFU6OlJlbW90ZUJ1ZmZlclByb3h5OjptYXBBc3luYyk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYkdQVTo6UmVtb3RlQnVmZmVyUHJveHk6OmdldE1hcHBlZFJhbmdl
KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQnVmZmVy
UHJveHkuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9XZWJHUFUvUmVtb3Rl
Q29tbWFuZEVuY29kZXJQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkdQVTo6UmVtb3Rl
Q29tbWFuZEVuY29kZXJQcm94eTo6Y2xlYXJCdWZmZXIpOgorICAgICAgICAoV2ViS2l0OjpXZWJH
UFU6OlJlbW90ZUNvbW1hbmRFbmNvZGVyUHJveHk6OmZpbGxCdWZmZXIpOiBEZWxldGVkLgorICAg
ICAgICAqIFdlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVDb21tYW5kRW5jb2Rl
clByb3h5Lmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvV2ViR1BVL1JlbW90
ZUNvbXB1dGVQYXNzRW5jb2RlclByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViR1BVOjpS
ZW1vdGVDb21wdXRlUGFzc0VuY29kZXJQcm94eTo6ZGlzcGF0Y2gpOgorICAgICAgICAoV2ViS2l0
OjpXZWJHUFU6OlJlbW90ZUNvbXB1dGVQYXNzRW5jb2RlclByb3h5OjplbmQpOgorICAgICAgICAo
V2ViS2l0OjpXZWJHUFU6OlJlbW90ZUNvbXB1dGVQYXNzRW5jb2RlclByb3h5OjpiZWdpblBpcGVs
aW5lU3RhdGlzdGljc1F1ZXJ5KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViR1BVOjpS
ZW1vdGVDb21wdXRlUGFzc0VuY29kZXJQcm94eTo6ZW5kUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkp
OiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJHUFU6OlJlbW90ZUNvbXB1dGVQYXNzRW5j
b2RlclByb3h5OjplbmRQYXNzKTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9n
cmFwaGljcy9XZWJHUFUvUmVtb3RlQ29tcHV0ZVBhc3NFbmNvZGVyUHJveHkuaDoKKyAgICAgICAg
KiBXZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9XZWJHUFUvUmVtb3RlUXVldWVQcm94eS5oOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVSZW5kZXJQYXNzRW5j
b2RlclByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViR1BVOjpSZW1vdGVSZW5kZXJQYXNz
RW5jb2RlclByb3h5OjplbmQpOgorICAgICAgICAoV2ViS2l0OjpXZWJHUFU6OlJlbW90ZVJlbmRl
clBhc3NFbmNvZGVyUHJveHk6OmJlZ2luUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkpOiBEZWxldGVk
LgorICAgICAgICAoV2ViS2l0OjpXZWJHUFU6OlJlbW90ZVJlbmRlclBhc3NFbmNvZGVyUHJveHk6
OmVuZFBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6
V2ViR1BVOjpSZW1vdGVSZW5kZXJQYXNzRW5jb2RlclByb3h5OjplbmRQYXNzKTogRGVsZXRlZC4K
KyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9XZWJHUFUvUmVtb3RlUmVuZGVyUGFz
c0VuY29kZXJQcm94eS5oOgorCiAyMDIyLTAyLTE1ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBs
ZS5jb20+CiAKICAgICAgICAgRG8gcHJlbGltaW5hcnkgd29yayB0byBwYXNzIGRvbWFpbiBuYW1l
cyB0byBDb3JlTG9jYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMu
dHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggMWQ2ODAxNTBlYmY5YzEx
MTliYzk1ZTYxMTc3MGVlMzM1MzAyZDAyZi4uNzhjNmQyYmE5NmZmNzNkMTljYWUyNWU5NTYxMTY1
ZjNmMjc1ZjJjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysr
IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTE1MjgsNiArMTUyOCw3IEBAIGxp
c3QoQVBQRU5EIFdlYkNvcmVfTk9OX1NWR19JRExfRklMRVMKICAgICBNb2R1bGVzL1dlYkdQVS9H
UFVDb21tYW5kQnVmZmVyRGVzY3JpcHRvci5pZGwKICAgICBNb2R1bGVzL1dlYkdQVS9HUFVDb21t
YW5kRW5jb2Rlci5pZGwKICAgICBNb2R1bGVzL1dlYkdQVS9HUFVDb21tYW5kRW5jb2RlckRlc2Ny
aXB0b3IuaWRsCisgICAgTW9kdWxlcy9XZWJHUFUvR1BVQ29tbWFuZHNNaXhpbi5pZGwKICAgICBN
b2R1bGVzL1dlYkdQVS9HUFVDb21wYXJlRnVuY3Rpb24uaWRsCiAgICAgTW9kdWxlcy9XZWJHUFUv
R1BVQ29tcGlsYXRpb25JbmZvLmlkbAogICAgIE1vZHVsZXMvV2ViR1BVL0dQVUNvbXBpbGF0aW9u
TWVzc2FnZS5pZGwKQEAgLTE1MzksNiArMTU0MCw3IEBAIGxpc3QoQVBQRU5EIFdlYkNvcmVfTk9O
X1NWR19JRExfRklMRVMKICAgICBNb2R1bGVzL1dlYkdQVS9HUFVDb21wdXRlUGlwZWxpbmUuaWRs
CiAgICAgTW9kdWxlcy9XZWJHUFUvR1BVQ29tcHV0ZVBpcGVsaW5lRGVzY3JpcHRvci5pZGwKICAg
ICBNb2R1bGVzL1dlYkdQVS9HUFVDdWxsTW9kZS5pZGwKKyAgICBNb2R1bGVzL1dlYkdQVS9HUFVE
ZWJ1Z0NvbW1hbmRzTWl4aW4uaWRsCiAgICAgTW9kdWxlcy9XZWJHUFUvR1BVRGVwdGhTdGVuY2ls
U3RhdGUuaWRsCiAgICAgTW9kdWxlcy9XZWJHUFUvR1BVRGV2aWNlLmlkbAogICAgIE1vZHVsZXMv
V2ViR1BVL0dQVURldmljZURlc2NyaXB0b3IuaWRsCkBAIC0xNTc0LDcgKzE1NzYsNiBAQCBsaXN0
KEFQUEVORCBXZWJDb3JlX05PTl9TVkdfSURMX0ZJTEVTCiAgICAgTW9kdWxlcy9XZWJHUFUvR1BV
UGlwZWxpbmVEZXNjcmlwdG9yQmFzZS5pZGwKICAgICBNb2R1bGVzL1dlYkdQVS9HUFVQaXBlbGlu
ZUxheW91dC5pZGwKICAgICBNb2R1bGVzL1dlYkdQVS9HUFVQaXBlbGluZUxheW91dERlc2NyaXB0
b3IuaWRsCi0gICAgTW9kdWxlcy9XZWJHUFUvR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lLmlkbAog
ICAgIE1vZHVsZXMvV2ViR1BVL0dQVVBvd2VyUHJlZmVyZW5jZS5pZGwKICAgICBNb2R1bGVzL1dl
YkdQVS9HUFVQcmVkZWZpbmVkQ29sb3JTcGFjZS5pZGwKICAgICBNb2R1bGVzL1dlYkdQVS9HUFVQ
cmltaXRpdmVTdGF0ZS5pZGwKQEAgLTE2MDUsNiArMTYwNiw3IEBAIGxpc3QoQVBQRU5EIFdlYkNv
cmVfTk9OX1NWR19JRExfRklMRVMKICAgICBNb2R1bGVzL1dlYkdQVS9HUFVTYW1wbGVyQmluZGlu
Z1R5cGUuaWRsCiAgICAgTW9kdWxlcy9XZWJHUFUvR1BVU2FtcGxlckRlc2NyaXB0b3IuaWRsCiAg
ICAgTW9kdWxlcy9XZWJHUFUvR1BVU2hhZGVyTW9kdWxlLmlkbAorICAgIE1vZHVsZXMvV2ViR1BV
L0dQVVNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludC5pZGwKICAgICBNb2R1bGVzL1dlYkdQVS9H
UFVTaGFkZXJNb2R1bGVEZXNjcmlwdG9yLmlkbAogICAgIE1vZHVsZXMvV2ViR1BVL0dQVVNoYWRl
clN0YWdlLmlkbAogICAgIE1vZHVsZXMvV2ViR1BVL0dQVVN0ZW5jaWxGYWNlU3RhdGUuaWRsCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0
IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAppbmRleCBh
ODBjZTEzMzIwZWU1YTIzOWQ2M2Q3MmZlMjRlZmMzZGQ2ODhmYjAwLi41OTg1MjNhNDc5NDcxNDdm
YjgwNzU1NTQ1YmUzZjY4MDA1MGMzODUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKQEAgLTYzLDYgKzYzLDcgQEAgJChQUk9KRUNUX0RJUikv
TW9kdWxlcy9XZWJHUFUvR1BVQ29tbWFuZEJ1ZmZlci5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVs
ZXMvV2ViR1BVL0dQVUNvbW1hbmRCdWZmZXJEZXNjcmlwdG9yLmlkbAogJChQUk9KRUNUX0RJUikv
TW9kdWxlcy9XZWJHUFUvR1BVQ29tbWFuZEVuY29kZXIuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1
bGVzL1dlYkdQVS9HUFVDb21tYW5kRW5jb2RlckRlc2NyaXB0b3IuaWRsCiskKFBST0pFQ1RfRElS
KS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21tYW5kc01peGluLmlkbAogJChQUk9KRUNUX0RJUikvTW9k
dWxlcy9XZWJHUFUvR1BVQ29tcGFyZUZ1bmN0aW9uLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxl
cy9XZWJHUFUvR1BVQ29tcGlsYXRpb25JbmZvLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9X
ZWJHUFUvR1BVQ29tcGlsYXRpb25NZXNzYWdlLmlkbApAQCAtNzQsNiArNzUsNyBAQCAkKFBST0pF
Q1RfRElSKS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21wdXRlUGFzc1RpbWVzdGFtcFdyaXRlLmlkbAog
JChQUk9KRUNUX0RJUikvTW9kdWxlcy9XZWJHUFUvR1BVQ29tcHV0ZVBpcGVsaW5lLmlkbAogJChQ
Uk9KRUNUX0RJUikvTW9kdWxlcy9XZWJHUFUvR1BVQ29tcHV0ZVBpcGVsaW5lRGVzY3JpcHRvci5p
ZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvV2ViR1BVL0dQVUN1bGxNb2RlLmlkbAorJChQUk9K
RUNUX0RJUikvTW9kdWxlcy9XZWJHUFUvR1BVRGVidWdDb21tYW5kc01peGluLmlkbAogJChQUk9K
RUNUX0RJUikvTW9kdWxlcy9XZWJHUFUvR1BVRGVwdGhTdGVuY2lsU3RhdGUuaWRsCiAkKFBST0pF
Q1RfRElSKS9Nb2R1bGVzL1dlYkdQVS9HUFVEZXZpY2UuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1
bGVzL1dlYkdQVS9HUFVEZXZpY2VEZXNjcmlwdG9yLmlkbApAQCAtMTQwLDYgKzE0Miw3IEBAICQo
UFJPSkVDVF9ESVIpL01vZHVsZXMvV2ViR1BVL0dQVVNhbXBsZXJCaW5kaW5nTGF5b3V0LmlkbAog
JChQUk9KRUNUX0RJUikvTW9kdWxlcy9XZWJHUFUvR1BVU2FtcGxlckJpbmRpbmdUeXBlLmlkbAog
JChQUk9KRUNUX0RJUikvTW9kdWxlcy9XZWJHUFUvR1BVU2FtcGxlckRlc2NyaXB0b3IuaWRsCiAk
KFBST0pFQ1RfRElSKS9Nb2R1bGVzL1dlYkdQVS9HUFVTaGFkZXJNb2R1bGUuaWRsCiskKFBST0pF
Q1RfRElSKS9Nb2R1bGVzL1dlYkdQVS9HUFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQuaWRs
CiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL1dlYkdQVS9HUFVTaGFkZXJNb2R1bGVEZXNjcmlwdG9y
LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9XZWJHUFUvR1BVU2hhZGVyU3RhZ2UuaWRsCiAk
KFBST0pFQ1RfRElSKS9Nb2R1bGVzL1dlYkdQVS9HUFVTaXplNjQuaWRsCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CmluZGV4IGZhZjFkOWY4ODg4
ODRjOTM0Y2I0YmVmMDBiMTExZTdmYjIzNzBhNzIuLjU5MWM0ZTEzOTI3NjZiM2RiMWNmMTllZjk2
YjZkZGE4YzJiOTg0NjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
LW91dHB1dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91
dHB1dC54Y2ZpbGVsaXN0CkBAIC05NDEsNiArOTQxLDggQEAgJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVDb21tYW5kRW5jb2Rlci5jcHAKICQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVQ29tbWFuZEVuY29kZXIu
aAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVDb21t
YW5kRW5jb2RlckRlc2NyaXB0b3IuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU0dQVUNvbW1hbmRFbmNvZGVyRGVzY3JpcHRvci5oCiskKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVUNvbW1hbmRzTWl4aW4uY3Bw
CiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVUNvbW1h
bmRzTWl4aW4uaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNHUFVDb21wYXJlRnVuY3Rpb24uY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU0dQVUNvbXBhcmVGdW5jdGlvbi5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVUNvbXBpbGF0aW9uSW5mby5jcHAKQEAgLTk2
Myw2ICs5NjUsOCBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU0dQVUNvbXB1dGVQaXBlbGluZURlc2NyaXB0b3IuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVUNvbXB1dGVQaXBlbGluZURlc2NyaXB0b3Iu
aAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVDdWxs
TW9kZS5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
R1BVQ3VsbE1vZGUuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNHUFVEZWJ1Z0NvbW1hbmRzTWl4aW4uY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVURlYnVnQ29tbWFuZHNNaXhpbi5oCiAkKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVURlcHRoU3RlbmNpbFN0YXRl
LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVE
ZXB0aFN0ZW5jaWxTdGF0ZS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU0dQVURldmljZS5jcHAKQEAgLTEwOTUsNiArMTA5OSw4IEBAICQoQlVJTFRfUFJP
RFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVU2FtcGxlckRlc2NyaXB0b3Iu
Y3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVVNh
bXBsZXJEZXNjcmlwdG9yLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTR1BVU2hhZGVyTW9kdWxlLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVTaGFkZXJNb2R1bGUuaAorJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhp
bnQuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQ
VVNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludC5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVVNoYWRlck1vZHVsZURlc2NyaXB0b3IuY3BwCiAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVVNoYWRlck1vZHVs
ZURlc2NyaXB0b3IuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNHUFVTaGFkZXJTdGFnZS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4
IDIxYTY1YjkzMTNhZTdjNTNiYjE1ODA0M2Y1NDczZDI5YmRmMDI3MGUuLmM0ODBkOWUyNTVlNGYw
Y2FmY2UxYjMwMTQ2OWUyZmU3NTBjODcyNzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFr
ZQpAQCAtODYsNiArODYsNyBAQCBKU19CSU5ESU5HX0lETFMgOj0gXAogICAgICQoV2ViQ29yZSkv
TW9kdWxlcy9XZWJHUFUvR1BVQ29tbWFuZEJ1ZmZlckRlc2NyaXB0b3IuaWRsIFwKICAgICAkKFdl
YkNvcmUpL01vZHVsZXMvV2ViR1BVL0dQVUNvbW1hbmRFbmNvZGVyLmlkbCBcCiAgICAgJChXZWJD
b3JlKS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21tYW5kRW5jb2RlckRlc2NyaXB0b3IuaWRsIFwKKyAg
ICAkKFdlYkNvcmUpL01vZHVsZXMvV2ViR1BVL0dQVUNvbW1hbmRzTWl4aW4uaWRsIFwKICAgICAk
KFdlYkNvcmUpL01vZHVsZXMvV2ViR1BVL0dQVUNvbXBhcmVGdW5jdGlvbi5pZGwgXAogICAgICQo
V2ViQ29yZSkvTW9kdWxlcy9XZWJHUFUvR1BVQ29tcGlsYXRpb25JbmZvLmlkbCBcCiAgICAgJChX
ZWJDb3JlKS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21waWxhdGlvbk1lc3NhZ2UuaWRsIFwKQEAgLTk3
LDYgKzk4LDcgQEAgSlNfQklORElOR19JRExTIDo9IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMv
V2ViR1BVL0dQVUNvbXB1dGVQaXBlbGluZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9X
ZWJHUFUvR1BVQ29tcHV0ZVBpcGVsaW5lRGVzY3JpcHRvci5pZGwgXAogICAgICQoV2ViQ29yZSkv
TW9kdWxlcy9XZWJHUFUvR1BVQ3VsbE1vZGUuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMv
V2ViR1BVL0dQVURlYnVnQ29tbWFuZHNNaXhpbi5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxl
cy9XZWJHUFUvR1BVRGVwdGhTdGVuY2lsU3RhdGUuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVs
ZXMvV2ViR1BVL0dQVURldmljZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9XZWJHUFUv
R1BVRGV2aWNlRGVzY3JpcHRvci5pZGwgXApAQCAtMTMyLDcgKzEzNCw2IEBAIEpTX0JJTkRJTkdf
SURMUyA6PSBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL1dlYkdQVS9HUFVQaXBlbGluZURlc2Ny
aXB0b3JCYXNlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL1dlYkdQVS9HUFVQaXBlbGlu
ZUxheW91dC5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9XZWJHUFUvR1BVUGlwZWxpbmVM
YXlvdXREZXNjcmlwdG9yLmlkbCBcCi0gICAgJChXZWJDb3JlKS9Nb2R1bGVzL1dlYkdQVS9HUFVQ
aXBlbGluZVN0YXRpc3RpY05hbWUuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvV2ViR1BV
L0dQVVBvd2VyUHJlZmVyZW5jZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9XZWJHUFUv
R1BVUHJlZGVmaW5lZENvbG9yU3BhY2UuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvV2Vi
R1BVL0dQVVByaW1pdGl2ZVN0YXRlLmlkbCBcCkBAIC0xNjMsNiArMTY0LDcgQEAgSlNfQklORElO
R19JRExTIDo9IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvV2ViR1BVL0dQVVNhbXBsZXJCaW5k
aW5nVHlwZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9XZWJHUFUvR1BVU2FtcGxlckRl
c2NyaXB0b3IuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvV2ViR1BVL0dQVVNoYWRlck1v
ZHVsZS5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9XZWJHUFUvR1BVU2hhZGVyTW9kdWxl
Q29tcGlsYXRpb25IaW50LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL1dlYkdQVS9HUFVT
aGFkZXJNb2R1bGVEZXNjcmlwdG9yLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL1dlYkdQ
VS9HUFVTaGFkZXJTdGFnZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9XZWJHUFUvR1BV
U3RlbmNpbEZhY2VTdGF0ZS5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvSGVhZGVy
cy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKaW5kZXggYWM3NDZhOWU1ZWY1
YjRhNGQwZGZjZmE0ZGMxYTQ1YjkxZGM1NDJlYS4uZmVhMTQ5MGU5ZGEwMWQyYTJlODY2MmViZTIz
YmYyNzU5NjU5YjZhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCkBAIC03MSw3ICs3MSw2IEBAIHNldChX
ZWJDb3JlX1BSSVZBVEVfRlJBTUVXT1JLX0hFQURFUlMKICAgICBNb2R1bGVzL1dlYkdQVS9HUFVQ
aXBlbGluZURlc2NyaXB0b3JCYXNlLmgKICAgICBNb2R1bGVzL1dlYkdQVS9HUFVQaXBlbGluZUxh
eW91dC5oCiAgICAgTW9kdWxlcy9XZWJHUFUvR1BVUGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yLmgK
LSAgICBNb2R1bGVzL1dlYkdQVS9HUFVQaXBlbGluZVN0YXRpc3RpY05hbWUuaAogICAgIE1vZHVs
ZXMvV2ViR1BVL0dQVVBvd2VyUHJlZmVyZW5jZS5oCiAgICAgTW9kdWxlcy9XZWJHUFUvR1BVUHJl
ZGVmaW5lZENvbG9yU3BhY2UuaAogICAgIE1vZHVsZXMvV2ViR1BVL0dQVVByaW1pdGl2ZVN0YXRl
LmgKQEAgLTEwMCw2ICs5OSw3IEBAIHNldChXZWJDb3JlX1BSSVZBVEVfRlJBTUVXT1JLX0hFQURF
UlMKICAgICBNb2R1bGVzL1dlYkdQVS9HUFVTYW1wbGVyQmluZGluZ1R5cGUuaAogICAgIE1vZHVs
ZXMvV2ViR1BVL0dQVVNhbXBsZXJEZXNjcmlwdG9yLmgKICAgICBNb2R1bGVzL1dlYkdQVS9HUFVT
aGFkZXJNb2R1bGUuaAorICAgIE1vZHVsZXMvV2ViR1BVL0dQVVNoYWRlck1vZHVsZUNvbXBpbGF0
aW9uSGludC5oCiAgICAgTW9kdWxlcy9XZWJHUFUvR1BVU2hhZGVyTW9kdWxlRGVzY3JpcHRvci5o
CiAgICAgTW9kdWxlcy9XZWJHUFUvR1BVU2hhZGVyU3RhZ2UuaAogICAgIE1vZHVsZXMvV2ViR1BV
L0dQVVN0ZW5jaWxGYWNlU3RhdGUuaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9XZWJHUFUvR1BVQnVmZmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQ
VUJ1ZmZlci5jcHAKaW5kZXggN2ZkNDg1NzJhOWU1NzNjOTliMDNmYjMzMjhiMjRkOTY0MWMyNzQ5
Ny4uNGM5NGE0ZmQ5MTc4NzBjYjQwYzRmZjk0ZTgwMWM0YTFlZTMyYjAzYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQnVmZmVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVCdWZmZXIuY3BwCkBAIC0zOCwxNCArMzgsMTQgQEAg
dm9pZCBHUFVCdWZmZXI6OnNldExhYmVsKFN0cmluZyYmIGxhYmVsKQogICAgIG1fYmFja2luZy0+
c2V0TGFiZWwoV1RGTW92ZShsYWJlbCkpOwogfQogCi12b2lkIEdQVUJ1ZmZlcjo6bWFwQXN5bmMo
R1BVTWFwTW9kZUZsYWdzIG1vZGUsIHN0ZDo6b3B0aW9uYWw8R1BVU2l6ZTY0PiBvZmZzZXQsIHN0
ZDo6b3B0aW9uYWw8R1BVU2l6ZTY0PiBzaXplLCBNYXBBc3luY1Byb21pc2UmJiBwcm9taXNlKQor
dm9pZCBHUFVCdWZmZXI6Om1hcEFzeW5jKEdQVU1hcE1vZGVGbGFncyBtb2RlLCBHUFVTaXplNjQg
b2Zmc2V0LCBzdGQ6Om9wdGlvbmFsPEdQVVNpemU2ND4gc2l6ZSwgTWFwQXN5bmNQcm9taXNlJiYg
cHJvbWlzZSkKIHsKICAgICBtX2JhY2tpbmctPm1hcEFzeW5jKGNvbnZlcnRNYXBNb2RlRmxhZ3NU
b0JhY2tpbmcobW9kZSksIG9mZnNldCwgc2l6ZSwgW3Byb21pc2UgPSBXVEZNb3ZlKHByb21pc2Up
XSAoKSBtdXRhYmxlIHsKICAgICAgICAgcHJvbWlzZS5yZXNvbHZlKG51bGxwdHIpOwogICAgIH0p
OwogfQogCi1SZWY8SlNDOjpBcnJheUJ1ZmZlcj4gR1BVQnVmZmVyOjpnZXRNYXBwZWRSYW5nZShz
dGQ6Om9wdGlvbmFsPEdQVVNpemU2ND4gb2Zmc2V0LCBzdGQ6Om9wdGlvbmFsPEdQVVNpemU2ND4g
c2l6ZSkKK1JlZjxKU0M6OkFycmF5QnVmZmVyPiBHUFVCdWZmZXI6OmdldE1hcHBlZFJhbmdlKEdQ
VVNpemU2NCBvZmZzZXQsIHN0ZDo6b3B0aW9uYWw8R1BVU2l6ZTY0PiBzaXplKQogewogICAgIGF1
dG8gbWFwcGVkUmFuZ2UgPSBtX2JhY2tpbmctPmdldE1hcHBlZFJhbmdlKG9mZnNldCwgc2l6ZSk7
CiAgICAgcmV0dXJuIEFycmF5QnVmZmVyOjpjcmVhdGUobWFwcGVkUmFuZ2Uuc291cmNlLCBtYXBw
ZWRSYW5nZS5ieXRlTGVuZ3RoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
V2ViR1BVL0dQVUJ1ZmZlci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQnVm
ZmVyLmgKaW5kZXggYzYyOGNjMDY3YzA0MzEwMzBjOTZmNWM5MTZkMWNiOTJhODAwNzdkZS4uNDdl
OWU0NWFkMzk1ODIzNThhNTRlYTAxOGY0MjYwOTgxODkxODU1OSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQnVmZmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9XZWJHUFUvR1BVQnVmZmVyLmgKQEAgLTQ5LDggKzQ5LDggQEAgcHVibGljOgogICAg
IHZvaWQgc2V0TGFiZWwoU3RyaW5nJiYpOwogCiAgICAgdXNpbmcgTWFwQXN5bmNQcm9taXNlID0g
RE9NUHJvbWlzZURlZmVycmVkPElETE51bGw+OwotICAgIHZvaWQgbWFwQXN5bmMoR1BVTWFwTW9k
ZUZsYWdzLCBzdGQ6Om9wdGlvbmFsPEdQVVNpemU2ND4gb2Zmc2V0LCBzdGQ6Om9wdGlvbmFsPEdQ
VVNpemU2ND4gc2l6ZUZvck1hcCwgTWFwQXN5bmNQcm9taXNlJiYpOwotICAgIFJlZjxKU0M6OkFy
cmF5QnVmZmVyPiBnZXRNYXBwZWRSYW5nZShzdGQ6Om9wdGlvbmFsPEdQVVNpemU2ND4gb2Zmc2V0
LCBzdGQ6Om9wdGlvbmFsPEdQVVNpemU2ND4gcmFuZ2VTaXplKTsKKyAgICB2b2lkIG1hcEFzeW5j
KEdQVU1hcE1vZGVGbGFncywgR1BVU2l6ZTY0IG9mZnNldCwgc3RkOjpvcHRpb25hbDxHUFVTaXpl
NjQ+IHNpemVGb3JNYXAsIE1hcEFzeW5jUHJvbWlzZSYmKTsKKyAgICBSZWY8SlNDOjpBcnJheUJ1
ZmZlcj4gZ2V0TWFwcGVkUmFuZ2UoR1BVU2l6ZTY0IG9mZnNldCwgc3RkOjpvcHRpb25hbDxHUFVT
aXplNjQ+IHJhbmdlU2l6ZSk7CiAgICAgdm9pZCB1bm1hcCgpOwogCiAgICAgdm9pZCBkZXN0cm95
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVDYW52YXND
b25maWd1cmF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVDYW52YXND
b25maWd1cmF0aW9uLmgKaW5kZXggNjk2MGU3ZGI4MWIyMmM5MDJlMzFiNjczNjdlNjY0MmZkMzBi
MzU5Zi4uYWY3NWI1YzQ4YjFiOWE1ZDg2NDNlYjE1OTIwNWIxYmRiZGVhZTVhMiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQ2FudmFzQ29uZmlndXJhdGlvbi5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUNhbnZhc0NvbmZpZ3VyYXRp
b24uaApAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUgPG9wdGlvbmFsPgogI2luY2x1ZGUgPHBh
bC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVQ2FudmFzQ29uZmlndXJhdGlvbi5oPgogI2luY2x1ZGUg
PHd0Zi9SZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIApAQCAtNDYsNiArNDcsOSBAQCBzdHJ1Y3QgR1BVQ2FudmFzQ29uZmlndXJhdGlvbiB7
CiAgICAgICAgICAgICBkZXZpY2UtPmJhY2tpbmcoKSwKICAgICAgICAgICAgIFdlYkNvcmU6OmNv
bnZlcnRUb0JhY2tpbmcoZm9ybWF0KSwKICAgICAgICAgICAgIGNvbnZlcnRUZXh0dXJlVXNhZ2VG
bGFnc1RvQmFja2luZyh1c2FnZSksCisgICAgICAgICAgICB2aWV3Rm9ybWF0cy5tYXAoW10gKGF1
dG8mIHZpZXdGb3JtYXQpIHsKKyAgICAgICAgICAgICAgICByZXR1cm4gV2ViQ29yZTo6Y29udmVy
dFRvQmFja2luZyh2aWV3Rm9ybWF0KTsKKyAgICAgICAgICAgIH0pLAogICAgICAgICAgICAgV2Vi
Q29yZTo6Y29udmVydFRvQmFja2luZyhjb2xvclNwYWNlKSwKICAgICAgICAgICAgIFdlYkNvcmU6
OmNvbnZlcnRUb0JhY2tpbmcoY29tcG9zaXRpbmdBbHBoYU1vZGUpLAogICAgICAgICAgICAgc2l6
ZSA/IHN0ZDo6b3B0aW9uYWwgeyBXZWJDb3JlOjpjb252ZXJ0VG9CYWNraW5nKCpzaXplKSB9IDog
c3RkOjpudWxsb3B0LApAQCAtNTUsNiArNTksNyBAQCBzdHJ1Y3QgR1BVQ2FudmFzQ29uZmlndXJh
dGlvbiB7CiAgICAgR1BVRGV2aWNlKiBkZXZpY2UgeyBudWxscHRyIH07CiAgICAgR1BVVGV4dHVy
ZUZvcm1hdCBmb3JtYXQgeyBHUFVUZXh0dXJlRm9ybWF0OjpSOHVub3JtIH07CiAgICAgR1BVVGV4
dHVyZVVzYWdlRmxhZ3MgdXNhZ2UgeyBHUFVUZXh0dXJlVXNhZ2U6OlJFTkRFUl9BVFRBQ0hNRU5U
IH07CisgICAgVmVjdG9yPEdQVVRleHR1cmVGb3JtYXQ+IHZpZXdGb3JtYXRzOwogICAgIEdQVVBy
ZWRlZmluZWRDb2xvclNwYWNlIGNvbG9yU3BhY2UgeyBHUFVQcmVkZWZpbmVkQ29sb3JTcGFjZTo6
U1JHQiB9OwogICAgIEdQVUNhbnZhc0NvbXBvc2l0aW5nQWxwaGFNb2RlIGNvbXBvc2l0aW5nQWxw
aGFNb2RlIHsgR1BVQ2FudmFzQ29tcG9zaXRpbmdBbHBoYU1vZGU6Ok9wYXF1ZSB9OwogICAgIHN0
ZDo6b3B0aW9uYWw8R1BVRXh0ZW50M0Q+IHNpemU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL1dlYkdQVS9HUFVDYW52YXNDb25maWd1cmF0aW9uLmlkbCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvV2ViR1BVL0dQVUNhbnZhc0NvbmZpZ3VyYXRpb24uaWRsCmluZGV4IGZjYWM4
Y2RhOWZlZDAyMTZhNjFhNDc0NDY1N2UwNDA4YmJhOGM2YTEuLmIxNGEyYzc2MTliYjNjMTJmZTY3
YWUxOTg1ZmU2ZjdkY2U2MTNhNDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
V2ViR1BVL0dQVUNhbnZhc0NvbmZpZ3VyYXRpb24uaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvV2ViR1BVL0dQVUNhbnZhc0NvbmZpZ3VyYXRpb24uaWRsCkBAIC0zNyw2ICszNyw3IEBA
IGRpY3Rpb25hcnkgR1BVQ2FudmFzQ29uZmlndXJhdGlvbiB7CiAgICAgcmVxdWlyZWQgR1BVRGV2
aWNlIGRldmljZTsKICAgICByZXF1aXJlZCBHUFVUZXh0dXJlRm9ybWF0IGZvcm1hdDsKICAgICBH
UFVUZXh0dXJlVXNhZ2VGbGFncyB1c2FnZSA9IDB4MTA7ICAvLyBHUFVUZXh0dXJlVXNhZ2UuUkVO
REVSX0FUVEFDSE1FTlQKKyAgICBzZXF1ZW5jZTxHUFVUZXh0dXJlRm9ybWF0PiB2aWV3Rm9ybWF0
cyA9IFtdOwogICAgIEdQVVByZWRlZmluZWRDb2xvclNwYWNlIGNvbG9yU3BhY2UgPSAic3JnYiI7
CiAgICAgR1BVQ2FudmFzQ29tcG9zaXRpbmdBbHBoYU1vZGUgY29tcG9zaXRpbmdBbHBoYU1vZGUg
PSAib3BhcXVlIjsKICAgICBHUFVFeHRlbnQzRCBzaXplOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQ29tbWFuZEVuY29kZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9XZWJHUFUvR1BVQ29tbWFuZEVuY29kZXIuY3BwCmluZGV4IDgxN2MzNTJlYzAw
YTJkZDUxZWU3YjE3ZDcwYzVkZjI1OGZmOGQ0YzUuLmJkZmQyZDQ5YjI5YzU4YmZiZjAyYjdiMmU2
YzUxMWZmN2ZlNDU5NDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BV
L0dQVUNvbW1hbmRFbmNvZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQ
VS9HUFVDb21tYW5kRW5jb2Rlci5jcHAKQEAgLTg1LDEyICs4NSwxMyBAQCB2b2lkIEdQVUNvbW1h
bmRFbmNvZGVyOjpjb3B5VGV4dHVyZVRvVGV4dHVyZSgKICAgICBtX2JhY2tpbmctPmNvcHlUZXh0
dXJlVG9UZXh0dXJlKHNvdXJjZS5jb252ZXJ0VG9CYWNraW5nKCksIGRlc3RpbmF0aW9uLmNvbnZl
cnRUb0JhY2tpbmcoKSwgY29udmVydFRvQmFja2luZyhjb3B5U2l6ZSkpOwogfQogCi12b2lkIEdQ
VUNvbW1hbmRFbmNvZGVyOjpmaWxsQnVmZmVyKAotICAgIGNvbnN0IEdQVUJ1ZmZlciYgZGVzdGlu
YXRpb24sCi0gICAgR1BVU2l6ZTY0IGRlc3RpbmF0aW9uT2Zmc2V0LAotICAgIEdQVVNpemU2NCBz
aXplKQorCit2b2lkIEdQVUNvbW1hbmRFbmNvZGVyOjpjbGVhckJ1ZmZlcigKKyAgICBjb25zdCBH
UFVCdWZmZXImIGJ1ZmZlciwKKyAgICBHUFVTaXplNjQgb2Zmc2V0LAorICAgIHN0ZDo6b3B0aW9u
YWw8R1BVU2l6ZTY0PiBzaXplKQogewotICAgIG1fYmFja2luZy0+ZmlsbEJ1ZmZlcihkZXN0aW5h
dGlvbi5iYWNraW5nKCksIGRlc3RpbmF0aW9uT2Zmc2V0LCBzaXplKTsKKyAgICBtX2JhY2tpbmct
PmNsZWFyQnVmZmVyKGJ1ZmZlci5iYWNraW5nKCksIG9mZnNldCwgc2l6ZSk7CiB9CiAKIHZvaWQg
R1BVQ29tbWFuZEVuY29kZXI6OnB1c2hEZWJ1Z0dyb3VwKFN0cmluZyYmIGdyb3VwTGFiZWwpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21tYW5kRW5jb2Rl
ci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQ29tbWFuZEVuY29kZXIuaApp
bmRleCBhMDFlMzI2ODQ1NDg4M2Q5YTZlNGJlMmQ4NjI2N2EyNWQwMDRkZDkwLi4xNzFhODRhZmJj
ZWNkZTJiNzA1MjM5ODE2NTYzZmY3MmRiZTg0OTk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21tYW5kRW5jb2Rlci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvV2ViR1BVL0dQVUNvbW1hbmRFbmNvZGVyLmgKQEAgLTgxLDEwICs4MSwxMCBAQCBw
dWJsaWM6CiAgICAgICAgIGNvbnN0IEdQVUltYWdlQ29weVRleHR1cmUmIGRlc3RpbmF0aW9uLAog
ICAgICAgICBjb25zdCBHUFVFeHRlbnQzRCYgY29weVNpemUpOwogCi0gICAgdm9pZCBmaWxsQnVm
ZmVyKAotICAgICAgICBjb25zdCBHUFVCdWZmZXImIGRlc3RpbmF0aW9uLAotICAgICAgICBHUFVT
aXplNjQgZGVzdGluYXRpb25PZmZzZXQsCi0gICAgICAgIEdQVVNpemU2NCk7CisgICAgdm9pZCBj
bGVhckJ1ZmZlcigKKyAgICAgICAgY29uc3QgR1BVQnVmZmVyJiwKKyAgICAgICAgR1BVU2l6ZTY0
IG9mZnNldCwKKyAgICAgICAgc3RkOjpvcHRpb25hbDxHUFVTaXplNjQ+KTsKIAogICAgIHZvaWQg
cHVzaERlYnVnR3JvdXAoU3RyaW5nJiYgZ3JvdXBMYWJlbCk7CiAgICAgdm9pZCBwb3BEZWJ1Z0dy
b3VwKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21t
YW5kRW5jb2Rlci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21tYW5k
RW5jb2Rlci5pZGwKaW5kZXggYWE5NGNhMDM0NDdiZjVkYjExNGE3MDMxMDQzM2ZhODYwYjAyYTE0
My4uMjY3OTZmNmQ1MzE4YjMwNzY0OGI4MmI3ZDkwMjQ4MjU3MzM3NzA0NyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQ29tbWFuZEVuY29kZXIuaWRsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUNvbW1hbmRFbmNvZGVyLmlkbApAQCAt
NjIsMTQgKzYyLDEwIEBAIGludGVyZmFjZSBHUFVDb21tYW5kRW5jb2RlciB7CiAgICAgICAgIEdQ
VUltYWdlQ29weVRleHR1cmUgZGVzdGluYXRpb24sCiAgICAgICAgIEdQVUV4dGVudDNEIGNvcHlT
aXplKTsKIAotICAgIHVuZGVmaW5lZCBmaWxsQnVmZmVyKAotICAgICAgICBHUFVCdWZmZXIgZGVz
dGluYXRpb24sCi0gICAgICAgIEdQVVNpemU2NCBkZXN0aW5hdGlvbk9mZnNldCwKLSAgICAgICAg
R1BVU2l6ZTY0IHNpemUpOwotCi0gICAgdW5kZWZpbmVkIHB1c2hEZWJ1Z0dyb3VwKFVTVlN0cmlu
ZyBncm91cExhYmVsKTsKLSAgICB1bmRlZmluZWQgcG9wRGVidWdHcm91cCgpOwotICAgIHVuZGVm
aW5lZCBpbnNlcnREZWJ1Z01hcmtlcihVU1ZTdHJpbmcgbWFya2VyTGFiZWwpOworICAgIHVuZGVm
aW5lZCBjbGVhckJ1ZmZlcigKKyAgICAgICAgR1BVQnVmZmVyIGJ1ZmZlciwKKyAgICAgICAgb3B0
aW9uYWwgR1BVU2l6ZTY0IG9mZnNldCA9IDAsCisgICAgICAgIG9wdGlvbmFsIEdQVVNpemU2NCBz
aXplKTsKIAogICAgIHVuZGVmaW5lZCB3cml0ZVRpbWVzdGFtcChHUFVRdWVyeVNldCBxdWVyeVNl
dCwgR1BVU2l6ZTMyIHF1ZXJ5SW5kZXgpOwogCkBAIC04MywzICs3OSw1IEBAIGludGVyZmFjZSBH
UFVDb21tYW5kRW5jb2RlciB7CiAgICAgR1BVQ29tbWFuZEJ1ZmZlciBmaW5pc2gob3B0aW9uYWwg
R1BVQ29tbWFuZEJ1ZmZlckRlc2NyaXB0b3IgZGVzY3JpcHRvcik7CiB9OwogR1BVQ29tbWFuZEVu
Y29kZXIgaW5jbHVkZXMgR1BVT2JqZWN0QmFzZTsKK0dQVUNvbW1hbmRFbmNvZGVyIGluY2x1ZGVz
IEdQVUNvbW1hbmRzTWl4aW47CitHUFVDb21tYW5kRW5jb2RlciBpbmNsdWRlcyBHUFVEZWJ1Z0Nv
bW1hbmRzTWl4aW47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9H
UFVDb21tYW5kc01peGluLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUNv
bW1hbmRzTWl4aW4uaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJhY2MzZGVlNDFkMzhkNmZjYTc5NmViZWZmMjdh
NWRlY2U2ZWJjYmEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dl
YkdQVS9HUFVDb21tYW5kc01peGluLmlkbApAQCAtMCwwICsxLDMyIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDIyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
Ly8gaHR0cHM6Ly9ncHV3ZWIuZ2l0aHViLmlvL2dwdXdlYi8jZ3B1Y29tbWFuZHNtaXhpbgorCitb
CisgICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJHUFUKK10KK2ludGVyZmFjZSBtaXhpbiBHUFVDb21t
YW5kc01peGluIHsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQ
VS9HUFVDb21wdXRlUGFzc0VuY29kZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJH
UFUvR1BVQ29tcHV0ZVBhc3NFbmNvZGVyLmNwcAppbmRleCBiMDExZjUwZTc2NjJlMWVhOWU5OWQ3
NzQ0MjhiOGNhMjI2OGQ0ZDE2Li45NGQ1ODRhNmVjNjhmN2JhODYzOTQzNjVmNThiNjJjMTcwZTVk
OWY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21wdXRl
UGFzc0VuY29kZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUNv
bXB1dGVQYXNzRW5jb2Rlci5jcHAKQEAgLTQ4LDkgKzQ4LDkgQEAgdm9pZCBHUFVDb21wdXRlUGFz
c0VuY29kZXI6OnNldFBpcGVsaW5lKGNvbnN0IEdQVUNvbXB1dGVQaXBlbGluZSYgY29tcHV0ZVBp
cGVsaW4KICAgICBtX2JhY2tpbmctPnNldFBpcGVsaW5lKGNvbXB1dGVQaXBlbGluZS5iYWNraW5n
KCkpOwogfQogCi12b2lkIEdQVUNvbXB1dGVQYXNzRW5jb2Rlcjo6ZGlzcGF0Y2goR1BVU2l6ZTMy
IHgsIHN0ZDo6b3B0aW9uYWw8R1BVU2l6ZTMyPiB5LCBzdGQ6Om9wdGlvbmFsPEdQVVNpemUzMj4g
eikKK3ZvaWQgR1BVQ29tcHV0ZVBhc3NFbmNvZGVyOjpkaXNwYXRjaChHUFVTaXplMzIgd29ya2dy
b3VwQ291bnRYLCBHUFVTaXplMzIgd29ya2dyb3VwQ291bnRZLCBHUFVTaXplMzIgd29ya2dyb3Vw
Q291bnRaKQogewotICAgIG1fYmFja2luZy0+ZGlzcGF0Y2goeCwgeSwgeik7CisgICAgbV9iYWNr
aW5nLT5kaXNwYXRjaCh3b3JrZ3JvdXBDb3VudFgsIHdvcmtncm91cENvdW50WSwgd29ya2dyb3Vw
Q291bnRaKTsKIH0KIAogdm9pZCBHUFVDb21wdXRlUGFzc0VuY29kZXI6OmRpc3BhdGNoSW5kaXJl
Y3QoY29uc3QgR1BVQnVmZmVyJiBpbmRpcmVjdEJ1ZmZlciwgR1BVU2l6ZTY0IGluZGlyZWN0T2Zm
c2V0KQpAQCAtNTgsMTkgKzU4LDkgQEAgdm9pZCBHUFVDb21wdXRlUGFzc0VuY29kZXI6OmRpc3Bh
dGNoSW5kaXJlY3QoY29uc3QgR1BVQnVmZmVyJiBpbmRpcmVjdEJ1ZmZlciwgR1AKICAgICBtX2Jh
Y2tpbmctPmRpc3BhdGNoSW5kaXJlY3QoaW5kaXJlY3RCdWZmZXIuYmFja2luZygpLCBpbmRpcmVj
dE9mZnNldCk7CiB9CiAKLXZvaWQgR1BVQ29tcHV0ZVBhc3NFbmNvZGVyOjpiZWdpblBpcGVsaW5l
U3RhdGlzdGljc1F1ZXJ5KGNvbnN0IEdQVVF1ZXJ5U2V0JiBxdWVyeVNldCwgR1BVU2l6ZTMyIHF1
ZXJ5SW5kZXgpCit2b2lkIEdQVUNvbXB1dGVQYXNzRW5jb2Rlcjo6ZW5kKCkKIHsKLSAgICBtX2Jh
Y2tpbmctPmJlZ2luUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkocXVlcnlTZXQuYmFja2luZygpLCBx
dWVyeUluZGV4KTsKLX0KLQotdm9pZCBHUFVDb21wdXRlUGFzc0VuY29kZXI6OmVuZFBpcGVsaW5l
U3RhdGlzdGljc1F1ZXJ5KCkKLXsKLSAgICBtX2JhY2tpbmctPmVuZFBpcGVsaW5lU3RhdGlzdGlj
c1F1ZXJ5KCk7Ci19Ci0KLXZvaWQgR1BVQ29tcHV0ZVBhc3NFbmNvZGVyOjplbmRQYXNzKCkKLXsK
LSAgICBtX2JhY2tpbmctPmVuZFBhc3MoKTsKKyAgICBtX2JhY2tpbmctPmVuZCgpOwogfQogCiB2
b2lkIEdQVUNvbXB1dGVQYXNzRW5jb2Rlcjo6c2V0QmluZEdyb3VwKEdQVUluZGV4MzIgaW5kZXgs
IGNvbnN0IEdQVUJpbmRHcm91cCYgYmluZEdyb3VwLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9XZWJHUFUvR1BVQ29tcHV0ZVBhc3NFbmNvZGVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21wdXRlUGFzc0VuY29kZXIuaAppbmRleCA3MDY2OGE3MWQ2
MDJiMjllZWIwMTg3MjUyMzFlZDgwN2FiM2ZiZjAwLi43YjdlY2IzODExMzU5NjkzZWU2ZGU4MGFl
MDBkZjZhNmE4NTFlN2IyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQ
VS9HUFVDb21wdXRlUGFzc0VuY29kZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dl
YkdQVS9HUFVDb21wdXRlUGFzc0VuY29kZXIuaApAQCAtNTIsMTMgKzUyLDEwIEBAIHB1YmxpYzoK
ICAgICB2b2lkIHNldExhYmVsKFN0cmluZyYmKTsKIAogICAgIHZvaWQgc2V0UGlwZWxpbmUoY29u
c3QgR1BVQ29tcHV0ZVBpcGVsaW5lJik7Ci0gICAgdm9pZCBkaXNwYXRjaChHUFVTaXplMzIgeCwg
c3RkOjpvcHRpb25hbDxHUFVTaXplMzI+IHksIHN0ZDo6b3B0aW9uYWw8R1BVU2l6ZTMyPik7Cisg
ICAgdm9pZCBkaXNwYXRjaChHUFVTaXplMzIgd29ya2dyb3VwQ291bnRYLCBHUFVTaXplMzIgd29y
a2dyb3VwQ291bnRZLCBHUFVTaXplMzIgd29ya2dyb3VwQ291bnRaKTsKICAgICB2b2lkIGRpc3Bh
dGNoSW5kaXJlY3QoY29uc3QgR1BVQnVmZmVyJiBpbmRpcmVjdEJ1ZmZlciwgR1BVU2l6ZTY0IGlu
ZGlyZWN0T2Zmc2V0KTsKIAotICAgIHZvaWQgYmVnaW5QaXBlbGluZVN0YXRpc3RpY3NRdWVyeShj
b25zdCBHUFVRdWVyeVNldCYsIEdQVVNpemUzMiBxdWVyeUluZGV4KTsKLSAgICB2b2lkIGVuZFBp
cGVsaW5lU3RhdGlzdGljc1F1ZXJ5KCk7Ci0KLSAgICB2b2lkIGVuZFBhc3MoKTsKKyAgICB2b2lk
IGVuZCgpOwogCiAgICAgdm9pZCBzZXRCaW5kR3JvdXAoR1BVSW5kZXgzMiwgY29uc3QgR1BVQmlu
ZEdyb3VwJiwKICAgICAgICAgc3RkOjpvcHRpb25hbDxWZWN0b3I8R1BVQnVmZmVyRHluYW1pY09m
ZnNldD4+JiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BV
Q29tcHV0ZVBhc3NFbmNvZGVyLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQ
VUNvbXB1dGVQYXNzRW5jb2Rlci5pZGwKaW5kZXggOTU4ZGQ3N2U3Njc0MDYyNjI5OGZkNDJiZGQw
NGFlMWM3OGU1Yjg5OC4uOWZmYTZiMDYwMTcyODFkNmQ0ZjY1MmM0ZmRhZDYwNGRmYzE1NTFjZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQ29tcHV0ZVBhc3NF
bmNvZGVyLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21wdXRl
UGFzc0VuY29kZXIuaWRsCkBAIC0zNiwxMyArMzYsMTIgQEAgdHlwZWRlZiBbRW5mb3JjZVJhbmdl
XSB1bnNpZ25lZCBsb25nIGxvbmcgR1BVU2l6ZTY0OwogXQogaW50ZXJmYWNlIEdQVUNvbXB1dGVQ
YXNzRW5jb2RlciB7CiAgICAgdW5kZWZpbmVkIHNldFBpcGVsaW5lKEdQVUNvbXB1dGVQaXBlbGlu
ZSBwaXBlbGluZSk7Ci0gICAgdW5kZWZpbmVkIGRpc3BhdGNoKEdQVVNpemUzMiB4LCBvcHRpb25h
bCBHUFVTaXplMzIgeSA9IDEsIG9wdGlvbmFsIEdQVVNpemUzMiB6ID0gMSk7CisgICAgdW5kZWZp
bmVkIGRpc3BhdGNoKEdQVVNpemUzMiB3b3JrZ3JvdXBDb3VudFgsIG9wdGlvbmFsIEdQVVNpemUz
MiB3b3JrZ3JvdXBDb3VudFkgPSAxLCBvcHRpb25hbCBHUFVTaXplMzIgd29ya2dyb3VwQ291bnRa
ID0gMSk7CiAgICAgdW5kZWZpbmVkIGRpc3BhdGNoSW5kaXJlY3QoR1BVQnVmZmVyIGluZGlyZWN0
QnVmZmVyLCBHUFVTaXplNjQgaW5kaXJlY3RPZmZzZXQpOwogCi0gICAgdW5kZWZpbmVkIGJlZ2lu
UGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkoR1BVUXVlcnlTZXQgcXVlcnlTZXQsIEdQVVNpemUzMiBx
dWVyeUluZGV4KTsKLSAgICB1bmRlZmluZWQgZW5kUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkoKTsK
LQotICAgIHVuZGVmaW5lZCBlbmRQYXNzKCk7CisgICAgdW5kZWZpbmVkIGVuZCgpOwogfTsKIEdQ
VUNvbXB1dGVQYXNzRW5jb2RlciBpbmNsdWRlcyBHUFVPYmplY3RCYXNlOworR1BVQ29tcHV0ZVBh
c3NFbmNvZGVyIGluY2x1ZGVzIEdQVUNvbW1hbmRzTWl4aW47CitHUFVDb21wdXRlUGFzc0VuY29k
ZXIgaW5jbHVkZXMgR1BVRGVidWdDb21tYW5kc01peGluOwogR1BVQ29tcHV0ZVBhc3NFbmNvZGVy
IGluY2x1ZGVzIEdQVVByb2dyYW1tYWJsZVBhc3NFbmNvZGVyOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVRGVidWdDb21tYW5kc01peGluLmlkbCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVURlYnVnQ29tbWFuZHNNaXhpbi5pZGwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMWY4NDhhNDJkY2JjY2E2NmMzMTgxYmE4YmUxNDA4ZTYzYzA1NjQwNAotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVURlYnVnQ29tbWFuZHNN
aXhpbi5pZGwKQEAgLTAsMCArMSwzNSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMiBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8vIGh0dHBzOi8vZ3B1d2Vi
LmdpdGh1Yi5pby9ncHV3ZWIvI2dwdWRlYnVnY29tbWFuZHNtaXhpbgorCitbCisgICAgRW5hYmxl
ZEJ5U2V0dGluZz1XZWJHUFUKK10KK2ludGVyZmFjZSBtaXhpbiBHUFVEZWJ1Z0NvbW1hbmRzTWl4
aW4geworICAgIHVuZGVmaW5lZCBwdXNoRGVidWdHcm91cChVU1ZTdHJpbmcgZ3JvdXBMYWJlbCk7
CisgICAgdW5kZWZpbmVkIHBvcERlYnVnR3JvdXAoKTsKKyAgICB1bmRlZmluZWQgaW5zZXJ0RGVi
dWdNYXJrZXIoVVNWU3RyaW5nIG1hcmtlckxhYmVsKTsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVGZWF0dXJlTmFtZS5oIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9XZWJHUFUvR1BVRmVhdHVyZU5hbWUuaAppbmRleCA0ZmVhYjUwMWM1YWM0N2UyMzJj
YmNiN2JhZDUwYjAwZjczNDFjYzk4Li5hODAzYWMyZjU1OGQ4NWI2YmRmYTUxZjUxNzUwN2U5ZTg2
ZTZkZWNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVGZWF0
dXJlTmFtZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUZlYXR1cmVO
YW1lLmgKQEAgLTM0LDcgKzM0LDYgQEAgZW51bSBjbGFzcyBHUFVGZWF0dXJlTmFtZSA6IHVpbnQ4
X3QgewogICAgIERlcHRoQ2xpcENvbnRyb2wsCiAgICAgRGVwdGgyNHVub3JtU3RlbmNpbDgsCiAg
ICAgRGVwdGgzMmZsb2F0U3RlbmNpbDgsCi0gICAgUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnksCiAg
ICAgVGV4dHVyZUNvbXByZXNzaW9uQmMsCiAgICAgVGV4dHVyZUNvbXByZXNzaW9uRXRjMiwKICAg
ICBUZXh0dXJlQ29tcHJlc3Npb25Bc3RjLApAQCAtNTEsOCArNTAsNiBAQCBpbmxpbmUgUEFMOjpX
ZWJHUFU6OkZlYXR1cmVOYW1lIGNvbnZlcnRUb0JhY2tpbmcoR1BVRmVhdHVyZU5hbWUgZmVhdHVy
ZU5hbWUpCiAgICAgICAgIHJldHVybiBQQUw6OldlYkdQVTo6RmVhdHVyZU5hbWU6OkRlcHRoMjR1
bm9ybVN0ZW5jaWw4OwogICAgIGNhc2UgR1BVRmVhdHVyZU5hbWU6OkRlcHRoMzJmbG9hdFN0ZW5j
aWw4OgogICAgICAgICByZXR1cm4gUEFMOjpXZWJHUFU6OkZlYXR1cmVOYW1lOjpEZXB0aDMyZmxv
YXRTdGVuY2lsODsKLSAgICBjYXNlIEdQVUZlYXR1cmVOYW1lOjpQaXBlbGluZVN0YXRpc3RpY3NR
dWVyeToKLSAgICAgICAgcmV0dXJuIFBBTDo6V2ViR1BVOjpGZWF0dXJlTmFtZTo6UGlwZWxpbmVT
dGF0aXN0aWNzUXVlcnk7CiAgICAgY2FzZSBHUFVGZWF0dXJlTmFtZTo6VGV4dHVyZUNvbXByZXNz
aW9uQmM6CiAgICAgICAgIHJldHVybiBQQUw6OldlYkdQVTo6RmVhdHVyZU5hbWU6OlRleHR1cmVD
b21wcmVzc2lvbkJjOwogICAgIGNhc2UgR1BVRmVhdHVyZU5hbWU6OlRleHR1cmVDb21wcmVzc2lv
bkV0YzI6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVGZWF0
dXJlTmFtZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVGZWF0dXJlTmFt
ZS5pZGwKaW5kZXggMTg0ZTVhNTFlYzEyZDE1M2U3ZWI5MzQzODQ5Y2NmNzU3YTk1ZjNiYi4uMjVm
MGYzODNkNTFhYTE5ZDdjNGUwZjViMTQzMDU2ZWY1MjUwM2FlYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVRmVhdHVyZU5hbWUuaWRsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUZlYXR1cmVOYW1lLmlkbApAQCAtMzIsNyArMzIsNiBA
QCBlbnVtIEdQVUZlYXR1cmVOYW1lIHsKICAgICAiZGVwdGgtY2xpcC1jb250cm9sIiwKICAgICAi
ZGVwdGgyNHVub3JtLXN0ZW5jaWw4IiwKICAgICAiZGVwdGgzMmZsb2F0LXN0ZW5jaWw4IiwKLSAg
ICAicGlwZWxpbmUtc3RhdGlzdGljcy1xdWVyeSIsCiAgICAgInRleHR1cmUtY29tcHJlc3Npb24t
YmMiLAogICAgICJ0ZXh0dXJlLWNvbXByZXNzaW9uLWV0YzIiLAogICAgICJ0ZXh0dXJlLWNvbXBy
ZXNzaW9uLWFzdGMiLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUv
R1BVRnJhZ21lbnRTdGF0ZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVRnJh
Z21lbnRTdGF0ZS5oCmluZGV4IGU5YjY5YWNiNWFjYjA2Y2E2OWI4NzE3MmU5OTNlNTE4ZWY5NWI1
ZmIuLmUxNzJlNDE1NGY2YjM1ODE3NThlNGNjOThiYTI3ZGY2ODM3ZjAwNjggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUZyYWdtZW50U3RhdGUuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVGcmFnbWVudFN0YXRlLmgKQEAgLTI3LDYg
KzI3LDcgQEAKIAogI2luY2x1ZGUgIkdQVUNvbG9yVGFyZ2V0U3RhdGUuaCIKICNpbmNsdWRlICJH
UFVQcm9ncmFtbWFibGVTdGFnZS5oIgorI2luY2x1ZGUgPG9wdGlvbmFsPgogI2luY2x1ZGUgPHBh
bC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVRnJhZ21lbnRTdGF0ZS5oPgogI2luY2x1ZGUgPHd0Zi9W
ZWN0b3IuaD4KIApAQCAtNDIsMTMgKzQzLDE1IEBAIHN0cnVjdCBHUFVGcmFnbWVudFN0YXRlIDog
cHVibGljIEdQVVByb2dyYW1tYWJsZVN0YWdlIHsKICAgICAgICAgICAgICAgICBlbnRyeVBvaW50
LAogICAgICAgICAgICAgICAgIGNvbnN0YW50cywKICAgICAgICAgICAgIH0sCi0gICAgICAgICAg
ICB0YXJnZXRzLm1hcChbXSAoYXV0byYgdGFyZ2V0KSB7Ci0gICAgICAgICAgICAgICAgcmV0dXJu
IHRhcmdldC5jb252ZXJ0VG9CYWNraW5nKCk7CisgICAgICAgICAgICB0YXJnZXRzLm1hcChbXSAo
YXV0byYgdGFyZ2V0KSAtPiBzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpDb2xvclRhcmdldFN0
YXRlPiB7CisgICAgICAgICAgICAgICAgaWYgKHRhcmdldCkKKyAgICAgICAgICAgICAgICAgICAg
cmV0dXJuIHRhcmdldC0+Y29udmVydFRvQmFja2luZygpOworICAgICAgICAgICAgICAgIHJldHVy
biBzdGQ6Om51bGxvcHQ7CiAgICAgICAgICAgICB9KSwKICAgICAgICAgfTsKICAgICB9CiAKLSAg
ICBWZWN0b3I8R1BVQ29sb3JUYXJnZXRTdGF0ZT4gdGFyZ2V0czsKKyAgICBWZWN0b3I8c3RkOjpv
cHRpb25hbDxHUFVDb2xvclRhcmdldFN0YXRlPj4gdGFyZ2V0czsKIH07CiAKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUZyYWdtZW50U3RhdGUuaWRsIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVRnJhZ21lbnRTdGF0ZS5pZGwKaW5kZXgg
MTg5ODRlNGVhNjk2MTMwODEwZGRlOTQ5MjY3ZWY5OTZlNDkzZDFkZC4uNDNhZmZlOWFkZTAwMTc4
N2Q4MzIyMjI1YTY5NGVlYjdkYjk3NDcyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9XZWJHUFUvR1BVRnJhZ21lbnRTdGF0ZS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9XZWJHUFUvR1BVRnJhZ21lbnRTdGF0ZS5pZGwKQEAgLTI5LDUgKzI5LDUgQEAKICAgICBF
bmFibGVkQnlTZXR0aW5nPVdlYkdQVQogXQogZGljdGlvbmFyeSBHUFVGcmFnbWVudFN0YXRlIDog
R1BVUHJvZ3JhbW1hYmxlU3RhZ2UgewotICAgIHJlcXVpcmVkIHNlcXVlbmNlPEdQVUNvbG9yVGFy
Z2V0U3RhdGU+IHRhcmdldHM7CisgICAgcmVxdWlyZWQgc2VxdWVuY2U8R1BVQ29sb3JUYXJnZXRT
dGF0ZT8+IHRhcmdldHM7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9X
ZWJHUFUvR1BVSW1hZ2VDb3B5RXh0ZXJuYWxJbWFnZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9XZWJHUFUvR1BVSW1hZ2VDb3B5RXh0ZXJuYWxJbWFnZS5oCmluZGV4IDRjY2NhYjdmMDA1NjZh
MzEzNmEyNTc4OTBiODkxYjk3ZGMzNWE4OGUuLjk1N2NjOWUzODExYWUyN2Q2ZjNhODI4NjdhYjA2
ZTRjOWM4NjZlMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQ
VUltYWdlQ29weUV4dGVybmFsSW1hZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dl
YkdQVS9HUFVJbWFnZUNvcHlFeHRlcm5hbEltYWdlLmgKQEAgLTQxLDExICs0MSwxMyBAQCBzdHJ1
Y3QgR1BVSW1hZ2VDb3B5RXh0ZXJuYWxJbWFnZSB7CiAgICAgICAgIHJldHVybiB7CiAgICAgICAg
ICAgICAvLyBGSVhNRTogSGFuZGxlIHRoZSBjYW52YXMgZWxlbWVudC4KICAgICAgICAgICAgIG9y
aWdpbiA/IHN0ZDo6b3B0aW9uYWwgeyBXZWJDb3JlOjpjb252ZXJ0VG9CYWNraW5nKCpvcmlnaW4p
IH0gOiBzdGQ6Om51bGxvcHQsCisgICAgICAgICAgICBmbGlwWSwKICAgICAgICAgfTsKICAgICB9
CiAKICAgICBzdGQ6OnZhcmlhbnQ8UmVmUHRyPEltYWdlQml0bWFwPiwgUmVmUHRyPEhUTUxDYW52
YXNFbGVtZW50Pj4gc291cmNlOwogICAgIHN0ZDo6b3B0aW9uYWw8R1BVT3JpZ2luMkQ+IG9yaWdp
bjsKKyAgICBib29sIGZsaXBZIHsgZmFsc2UgfTsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUltYWdlQ29weUV4dGVybmFsSW1hZ2UuaWRsIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVSW1hZ2VDb3B5RXh0ZXJuYWxJbWFnZS5p
ZGwKaW5kZXggOWU2MTJiYjUzNjg3N2FmZmYxMDk2NThmMzVhMTQxNGFkYWFkOWYyZS4uMWYyMjIy
YTU1YmFlZTljMjdkMmQyNTg2Yzk3ODE1MzRjOWM5Y2U5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVSW1hZ2VDb3B5RXh0ZXJuYWxJbWFnZS5pZGwKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVSW1hZ2VDb3B5RXh0ZXJuYWxJbWFnZS5p
ZGwKQEAgLTM1LDQgKzM1LDUgQEAgdHlwZWRlZiAoc2VxdWVuY2U8R1BVSW50ZWdlckNvb3JkaW5h
dGU+IG9yIEdQVU9yaWdpbjJERGljdCkgR1BVT3JpZ2luMkQ7CiBkaWN0aW9uYXJ5IEdQVUltYWdl
Q29weUV4dGVybmFsSW1hZ2UgewogICAgIHJlcXVpcmVkIChJbWFnZUJpdG1hcCBvciBIVE1MQ2Fu
dmFzRWxlbWVudCkgc291cmNlOyAvLyBGSVhNRTogT2Zmc2NyZWVuQ2FudmFzIGRvZXNuJ3Qgc2Vl
bSB0byB3b3JrIHdpdGggb3VyIGJpbmRpbmdzIGhlcmUuCiAgICAgR1BVT3JpZ2luMkQgb3JpZ2lu
OworICAgIGJvb2xlYW4gZmxpcFkgPSBmYWxzZTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVMb2FkT3AuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
V2ViR1BVL0dQVUxvYWRPcC5oCmluZGV4IDM1ZTU3NDlmZTE3ZDViZDI5ZTE1NzBiMjE3ZTU5OTIx
MTU3MTkyMjkuLjEyY2FkYWZiMmE1NzAzNmMwNmI2OWQxODBkYzFhNWFkZWMyMzMwOGIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUxvYWRPcC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUxvYWRPcC5oCkBAIC0zMiw2ICszMiw3IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogZW51bSBjbGFzcyBHUFVMb2FkT3AgOiB1aW50OF90IHsK
ICAgICBMb2FkLAorICAgIENsZWFyLAogfTsKIAogaW5saW5lIFBBTDo6V2ViR1BVOjpMb2FkT3Ag
Y29udmVydFRvQmFja2luZyhHUFVMb2FkT3AgbG9hZE9wKQpAQCAtMzksNiArNDAsOCBAQCBpbmxp
bmUgUEFMOjpXZWJHUFU6OkxvYWRPcCBjb252ZXJ0VG9CYWNraW5nKEdQVUxvYWRPcCBsb2FkT3Ap
CiAgICAgc3dpdGNoIChsb2FkT3ApIHsKICAgICBjYXNlIEdQVUxvYWRPcDo6TG9hZDoKICAgICAg
ICAgcmV0dXJuIFBBTDo6V2ViR1BVOjpMb2FkT3A6OkxvYWQ7CisgICAgY2FzZSBHUFVMb2FkT3A6
OkNsZWFyOgorICAgICAgICByZXR1cm4gUEFMOjpXZWJHUFU6OkxvYWRPcDo6Q2xlYXI7CiAgICAg
fQogICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVMb2FkT3AuaWRsIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9XZWJHUFUvR1BVTG9hZE9wLmlkbAppbmRleCBjODQ5NTQxYjUyNDY3NjUxMGM1NjI4
ZmM5OTEwMWFjYjkyOTlhODUzLi5kNjAyYjYxYzUyYjQ4MTI2OTgzZjQ4YWYwZTdjMDVkNWY1MjFl
Yzc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVMb2FkT3Au
aWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUxvYWRPcC5pZGwKQEAg
LTI5LDUgKzI5LDYgQEAKICAgICBFbmFibGVkQnlTZXR0aW5nPVdlYkdQVQogXQogZW51bSBHUFVM
b2FkT3AgewotICAgICJsb2FkIgorICAgICJsb2FkIiwKKyAgICAiY2xlYXIiCiB9OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVT2JqZWN0QmFzZS5pZGwgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVPYmplY3RCYXNlLmlkbAppbmRleCBlMTMz
MWIzZWMzY2Q3ZWY4M2IxNzU0MzJmMzc2MjdiN2FkNTg0MGQ0Li44Y2VmYzcxZDVlOTg2YjUwYTU2
ZmEyMWE0ODA0NWMzNjNiYzE1N2JiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L1dlYkdQVS9HUFVPYmplY3RCYXNlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dl
YkdQVS9HUFVPYmplY3RCYXNlLmlkbApAQCAtMjksNSArMjksNSBAQAogICAgIEVuYWJsZWRCeVNl
dHRpbmc9V2ViR1BVCiBdCiBpbnRlcmZhY2UgbWl4aW4gR1BVT2JqZWN0QmFzZSB7Ci0gICAgYXR0
cmlidXRlIFVTVlN0cmluZz8gbGFiZWw7CisgICAgYXR0cmlidXRlIFVTVlN0cmluZz8gbGFiZWw7
IC8vIEZJWE1FOiBUaGlzIGlzIHN1cHBvc2VkIHRvIGJlIChVU1ZTdHJpbmcgb3IgdW5kZWZpbmVk
KSBidXQgb3VyIGJpbmRpbmdzIGdlbmVyYXRvciBjYW4ndCBoYW5kbGUgdGhhdC4KIH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVQaXBlbGluZVN0YXRpc3Rp
Y05hbWUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVBpcGVsaW5lU3RhdGlz
dGljTmFtZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmOGRlOGJmZjhmNTczZWM0
ZjNhZjY3MzJjMjlmZGYyYTEwOGVkNjUxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVBpcGVsaW5l
U3RhdGlzdGljTmFtZS5oCisrKyAvZGV2L251bGwKQEAgLTEsNTggKzAsMCBAQAotLyoKLSAqIENv
cHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
Ci0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
Ci0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0g
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQot
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICov
Ci0KLSNwcmFnbWEgb25jZQotCi0jaW5jbHVkZSA8Y3N0ZGludD4KLSNpbmNsdWRlIDxwYWwvZ3Jh
cGhpY3MvV2ViR1BVL1dlYkdQVVBpcGVsaW5lU3RhdGlzdGljTmFtZS5oPgotCi1uYW1lc3BhY2Ug
V2ViQ29yZSB7Ci0KLWVudW0gY2xhc3MgR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lIDogdWludDhf
dCB7Ci0gICAgVmVydGV4U2hhZGVySW52b2NhdGlvbnMsCi0gICAgQ2xpcHBlckludm9jYXRpb25z
LAotICAgIENsaXBwZXJQcmltaXRpdmVzT3V0LAotICAgIEZyYWdtZW50U2hhZGVySW52b2NhdGlv
bnMsCi0gICAgQ29tcHV0ZVNoYWRlckludm9jYXRpb25zLAotfTsKLQotaW5saW5lIFBBTDo6V2Vi
R1BVOjpQaXBlbGluZVN0YXRpc3RpY05hbWUgY29udmVydFRvQmFja2luZyhHUFVQaXBlbGluZVN0
YXRpc3RpY05hbWUgcGlwZWxpbmVTdGF0aXN0aWNOYW1lKQotewotICAgIHN3aXRjaCAocGlwZWxp
bmVTdGF0aXN0aWNOYW1lKSB7Ci0gICAgY2FzZSBHUFVQaXBlbGluZVN0YXRpc3RpY05hbWU6OlZl
cnRleFNoYWRlckludm9jYXRpb25zOgotICAgICAgICByZXR1cm4gUEFMOjpXZWJHUFU6OlBpcGVs
aW5lU3RhdGlzdGljTmFtZTo6VmVydGV4U2hhZGVySW52b2NhdGlvbnM7Ci0gICAgY2FzZSBHUFVQ
aXBlbGluZVN0YXRpc3RpY05hbWU6OkNsaXBwZXJJbnZvY2F0aW9uczoKLSAgICAgICAgcmV0dXJu
IFBBTDo6V2ViR1BVOjpQaXBlbGluZVN0YXRpc3RpY05hbWU6OkNsaXBwZXJJbnZvY2F0aW9uczsK
LSAgICBjYXNlIEdQVVBpcGVsaW5lU3RhdGlzdGljTmFtZTo6Q2xpcHBlclByaW1pdGl2ZXNPdXQ6
Ci0gICAgICAgIHJldHVybiBQQUw6OldlYkdQVTo6UGlwZWxpbmVTdGF0aXN0aWNOYW1lOjpDbGlw
cGVyUHJpbWl0aXZlc091dDsKLSAgICBjYXNlIEdQVVBpcGVsaW5lU3RhdGlzdGljTmFtZTo6RnJh
Z21lbnRTaGFkZXJJbnZvY2F0aW9uczoKLSAgICAgICAgcmV0dXJuIFBBTDo6V2ViR1BVOjpQaXBl
bGluZVN0YXRpc3RpY05hbWU6OkZyYWdtZW50U2hhZGVySW52b2NhdGlvbnM7Ci0gICAgY2FzZSBH
UFVQaXBlbGluZVN0YXRpc3RpY05hbWU6OkNvbXB1dGVTaGFkZXJJbnZvY2F0aW9uczoKLSAgICAg
ICAgcmV0dXJuIFBBTDo6V2ViR1BVOjpQaXBlbGluZVN0YXRpc3RpY05hbWU6OkNvbXB1dGVTaGFk
ZXJJbnZvY2F0aW9uczsKLSAgICB9Ci0gICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsK
LX0KLQotfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUGlw
ZWxpbmVTdGF0aXN0aWNOYW1lLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQ
VVBpcGVsaW5lU3RhdGlzdGljTmFtZS5pZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDg3Njc3YzJjYWRjZTc1NzA2YTExMjAyYzM0NTliMzM0NWMwYzdmOTYuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9X
ZWJHUFUvR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lLmlkbAorKysgL2Rldi9udWxsCkBAIC0xLDM3
ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0Ogot
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
Ci0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
Ci0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgot
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KLSAqLwotCi0vLyBodHRwczovL2dwdXdlYi5naXRodWIuaW8vZ3B1d2Vi
LyNlbnVtZGVmLWdwdXBpcGVsaW5lc3RhdGlzdGljbmFtZQotCi1bCi0gICAgRW5hYmxlZEJ5U2V0
dGluZz1XZWJHUFUKLV0KLWVudW0gR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lIHsKLSAgICAidmVy
dGV4LXNoYWRlci1pbnZvY2F0aW9ucyIsCi0gICAgImNsaXBwZXItaW52b2NhdGlvbnMiLAotICAg
ICJjbGlwcGVyLXByaW1pdGl2ZXMtb3V0IiwKLSAgICAiZnJhZ21lbnQtc2hhZGVyLWludm9jYXRp
b25zIiwKLSAgICAiY29tcHV0ZS1zaGFkZXItaW52b2NhdGlvbnMiCi19OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUHJvZ3JhbW1hYmxlUGFzc0VuY29kZXIu
aWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUHJvZ3JhbW1hYmxlUGFzc0Vu
Y29kZXIuaWRsCmluZGV4IDgxZjIyNTM4MDg5ZWY1ZWFjMzk1YjUwMWEzNDNhYjljZjNlZWMxYmIu
Ljg2NzM0OTJiZjZjYTAzOGQ5MGQwMjAyYzllZDUxMGQwMmE3OTIxZTggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVByb2dyYW1tYWJsZVBhc3NFbmNvZGVyLmlk
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVQcm9ncmFtbWFibGVQYXNz
RW5jb2Rlci5pZGwKQEAgLTQyLDggKzQyLDQgQEAgaW50ZXJmYWNlIG1peGluIEdQVVByb2dyYW1t
YWJsZVBhc3NFbmNvZGVyIHsKICAgICAgICAgVWludDMyQXJyYXkgZHluYW1pY09mZnNldHNEYXRh
LAogICAgICAgICBHUFVTaXplNjQgZHluYW1pY09mZnNldHNEYXRhU3RhcnQsCiAgICAgICAgIEdQ
VVNpemUzMiBkeW5hbWljT2Zmc2V0c0RhdGFMZW5ndGgpOwotCi0gICAgdW5kZWZpbmVkIHB1c2hE
ZWJ1Z0dyb3VwKFVTVlN0cmluZyBncm91cExhYmVsKTsKLSAgICB1bmRlZmluZWQgcG9wRGVidWdH
cm91cCgpOwotICAgIHVuZGVmaW5lZCBpbnNlcnREZWJ1Z01hcmtlcihVU1ZTdHJpbmcgbWFya2Vy
TGFiZWwpOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQ
VVF1ZXJ5U2V0RGVzY3JpcHRvci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BV
UXVlcnlTZXREZXNjcmlwdG9yLmgKaW5kZXggZjAwNDNiZDU3MmYxM2Q4NDI2MWYwM2M5YTcxMGVh
NTUzZjk5M2Y0NC4uZmZkMWY3NTJlOGQxMGZlODVhYTRkMTlhYjk5MTE3ZjBhZWFkZWQ4NCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUXVlcnlTZXREZXNjcmlw
dG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUXVlcnlTZXREZXNj
cmlwdG9yLmgKQEAgLTI3LDcgKzI3LDYgQEAKIAogI2luY2x1ZGUgIkdQVUludGVncmFsVHlwZXMu
aCIKICNpbmNsdWRlICJHUFVPYmplY3REZXNjcmlwdG9yQmFzZS5oIgotI2luY2x1ZGUgIkdQVVBp
cGVsaW5lU3RhdGlzdGljTmFtZS5oIgogI2luY2x1ZGUgIkdQVVF1ZXJ5VHlwZS5oIgogI2luY2x1
ZGUgPHBhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVUXVlcnlTZXREZXNjcmlwdG9yLmg+CiAjaW5j
bHVkZSA8d3RmL1JlZlB0ci5oPgpAQCAtNDIsMTUgKzQxLDExIEBAIHN0cnVjdCBHUFVRdWVyeVNl
dERlc2NyaXB0b3IgOiBwdWJsaWMgR1BVT2JqZWN0RGVzY3JpcHRvckJhc2UgewogICAgICAgICAg
ICAgeyBsYWJlbCB9LAogICAgICAgICAgICAgV2ViQ29yZTo6Y29udmVydFRvQmFja2luZyh0eXBl
KSwKICAgICAgICAgICAgIGNvdW50LAotICAgICAgICAgICAgcGlwZWxpbmVTdGF0aXN0aWNzLm1h
cChbXSAoY29uc3QgYXV0byYgcGlwZWxpbmVTdGF0aXN0aWMpIHsKLSAgICAgICAgICAgICAgICBy
ZXR1cm4gV2ViQ29yZTo6Y29udmVydFRvQmFja2luZyhwaXBlbGluZVN0YXRpc3RpYyk7Ci0gICAg
ICAgICAgICB9KSwKICAgICAgICAgfTsKICAgICB9CiAKICAgICBHUFVRdWVyeVR5cGUgdHlwZSB7
IEdQVVF1ZXJ5VHlwZTo6T2NjbHVzaW9uIH07CiAgICAgR1BVU2l6ZTMyIGNvdW50IHsgMCB9Owot
ICAgIFZlY3RvcjxHUFVQaXBlbGluZVN0YXRpc3RpY05hbWU+IHBpcGVsaW5lU3RhdGlzdGljczsK
IH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVF1
ZXJ5U2V0RGVzY3JpcHRvci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVR
dWVyeVNldERlc2NyaXB0b3IuaWRsCmluZGV4IGZjZDUxYmQ5ZTE5NzY5ZWFlMzJiNWJhMWM3ZTdh
NjJkMDhjODYxZGMuLjVhN2U5NTAyYjZlNWVhZGIxYzkxNjY1MzgyMTEzMzRiMzZlOWNiY2UgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVF1ZXJ5U2V0RGVzY3Jp
cHRvci5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUXVlcnlTZXRE
ZXNjcmlwdG9yLmlkbApAQCAtMzQsNSArMzQsNCBAQCB0eXBlZGVmIFtFbmZvcmNlUmFuZ2VdIHVu
c2lnbmVkIGxvbmcgR1BVU2l6ZTMyOwogZGljdGlvbmFyeSBHUFVRdWVyeVNldERlc2NyaXB0b3Ig
OiBHUFVPYmplY3REZXNjcmlwdG9yQmFzZSB7CiAgICAgcmVxdWlyZWQgR1BVUXVlcnlUeXBlIHR5
cGU7CiAgICAgcmVxdWlyZWQgR1BVU2l6ZTMyIGNvdW50OwotICAgIHNlcXVlbmNlPEdQVVBpcGVs
aW5lU3RhdGlzdGljTmFtZT4gcGlwZWxpbmVTdGF0aXN0aWNzID0gW107CiB9OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUXVlcnlUeXBlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVRdWVyeVR5cGUuaAppbmRleCBlN2E1NzcyZTQ4NjNj
N2M2Yzc4NzhhNDY4NWJhNDQ1NjY4Njk3MGRlLi4yOWI4MzMyYjllOWFmMjRmNzc0Y2EwODc5MDFh
ZDFiZDMyNWFhNjRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9H
UFVRdWVyeVR5cGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVRdWVy
eVR5cGUuaApAQCAtMzIsNyArMzIsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGVudW0gY2xh
c3MgR1BVUXVlcnlUeXBlIDogdWludDhfdCB7CiAgICAgT2NjbHVzaW9uLAotICAgIFBpcGVsaW5l
U3RhdGlzdGljcywKICAgICBUaW1lc3RhbXAsCiB9OwogCkBAIC00MSw4ICs0MCw2IEBAIGlubGlu
ZSBQQUw6OldlYkdQVTo6UXVlcnlUeXBlIGNvbnZlcnRUb0JhY2tpbmcoR1BVUXVlcnlUeXBlIHF1
ZXJ5VHlwZSkKICAgICBzd2l0Y2ggKHF1ZXJ5VHlwZSkgewogICAgIGNhc2UgR1BVUXVlcnlUeXBl
OjpPY2NsdXNpb246CiAgICAgICAgIHJldHVybiBQQUw6OldlYkdQVTo6UXVlcnlUeXBlOjpPY2Ns
dXNpb247Ci0gICAgY2FzZSBHUFVRdWVyeVR5cGU6OlBpcGVsaW5lU3RhdGlzdGljczoKLSAgICAg
ICAgcmV0dXJuIFBBTDo6V2ViR1BVOjpRdWVyeVR5cGU6OlBpcGVsaW5lU3RhdGlzdGljczsKICAg
ICBjYXNlIEdQVVF1ZXJ5VHlwZTo6VGltZXN0YW1wOgogICAgICAgICByZXR1cm4gUEFMOjpXZWJH
UFU6OlF1ZXJ5VHlwZTo6VGltZXN0YW1wOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvV2ViR1BVL0dQVVF1ZXJ5VHlwZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL1dlYkdQVS9HUFVRdWVyeVR5cGUuaWRsCmluZGV4IDU0ODFiOTIyYTIzMWRlN2FmOTU4ZGM5
NDIzZmUyMmNiMWEzZjk1NjYuLmQ1OTAyZDZiYzI0MzcwMGViMTg4N2I4NDVlZTUzZTc3NTlmMWU0
ZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVF1ZXJ5VHlw
ZS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUXVlcnlUeXBlLmlk
bApAQCAtMzAsNiArMzAsNSBAQAogXQogZW51bSBHUFVRdWVyeVR5cGUgewogICAgICJvY2NsdXNp
b24iLAotICAgICJwaXBlbGluZS1zdGF0aXN0aWNzIiwKICAgICAidGltZXN0YW1wIgogfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVF1ZXVlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVF1ZXVlLmNwcAppbmRleCBmNTg2MTkwMmNm
ZmU2NmYyODhlNWE2Nzc5OWYyMzU1ZjVkMzc3NGIzLi5iNGJlYjQxODM0NTFhNDU4MDBiZjQyMjBk
Yjc2MmNiYjg0ZTMyNmIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQ
VS9HUFVRdWV1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUXVl
dWUuY3BwCkBAIC02MywxMCArNjMsMTAgQEAgdm9pZCBHUFVRdWV1ZTo6d3JpdGVCdWZmZXIoCiAg
ICAgY29uc3QgR1BVQnVmZmVyJiBidWZmZXIsCiAgICAgR1BVU2l6ZTY0IGJ1ZmZlck9mZnNldCwK
ICAgICBCdWZmZXJTb3VyY2UmJiBkYXRhLAotICAgIHN0ZDo6b3B0aW9uYWw8R1BVU2l6ZTY0PiBk
YXRhT2Zmc2V0LAorICAgIEdQVVNpemU2NCBkYXRhT2Zmc2V0LAogICAgIHN0ZDo6b3B0aW9uYWw8
R1BVU2l6ZTY0PiBzaXplKQogewotICAgIG1fYmFja2luZy0+d3JpdGVCdWZmZXIoYnVmZmVyLmJh
Y2tpbmcoKSwgYnVmZmVyT2Zmc2V0LCBkYXRhLmRhdGEoKSwgZGF0YS5sZW5ndGgoKSwgZGF0YU9m
ZnNldC52YWx1ZV9vcigwKSwgc2l6ZSk7CisgICAgbV9iYWNraW5nLT53cml0ZUJ1ZmZlcihidWZm
ZXIuYmFja2luZygpLCBidWZmZXJPZmZzZXQsIGRhdGEuZGF0YSgpLCBkYXRhLmxlbmd0aCgpLCBk
YXRhT2Zmc2V0LCBzaXplKTsKIH0KIAogdm9pZCBHUFVRdWV1ZTo6d3JpdGVUZXh0dXJlKApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUXVldWUuaCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVF1ZXVlLmgKaW5kZXggZmVjMmZiZDI3NGRmOTVk
MzQ1NjlkZGJhNWRiNWUwYzAyN2MyMzdkZi4uNzUxMTllMGIzNTZiZDE3MTc2ZDg4NWJiMDYwZTNl
ZGI4NTZjN2U5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BV
UXVldWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVRdWV1ZS5oCkBA
IC02NSw3ICs2NSw3IEBAIHB1YmxpYzoKICAgICAgICAgY29uc3QgR1BVQnVmZmVyJiwKICAgICAg
ICAgR1BVU2l6ZTY0IGJ1ZmZlck9mZnNldCwKICAgICAgICAgQnVmZmVyU291cmNlJiYgZGF0YSwK
LSAgICAgICAgc3RkOjpvcHRpb25hbDxHUFVTaXplNjQ+IGRhdGFPZmZzZXQsCisgICAgICAgIEdQ
VVNpemU2NCBkYXRhT2Zmc2V0LAogICAgICAgICBzdGQ6Om9wdGlvbmFsPEdQVVNpemU2ND4pOwog
CiAgICAgdm9pZCB3cml0ZVRleHR1cmUoCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL1dlYkdQVS9HUFVSZW5kZXJCdW5kbGVFbmNvZGVyLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvV2ViR1BVL0dQVVJlbmRlckJ1bmRsZUVuY29kZXIuaWRsCmluZGV4IGNmYzY4NmQzYzY1
YWQyNjQwY2U1MjJhMGI5YjRmMzBjMDQzNjYzODUuLmUxOWZlYzU1OTZkYWVkNjViZGQzOWIxMTkz
YjNjNDhlMzQ4Njc2YjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BV
L0dQVVJlbmRlckJ1bmRsZUVuY29kZXIuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
V2ViR1BVL0dQVVJlbmRlckJ1bmRsZUVuY29kZXIuaWRsCkBAIC0zNCw1ICszNCw3IEBAIGludGVy
ZmFjZSBHUFVSZW5kZXJCdW5kbGVFbmNvZGVyIHsKICAgICBHUFVSZW5kZXJCdW5kbGUgZmluaXNo
KG9wdGlvbmFsIEdQVVJlbmRlckJ1bmRsZURlc2NyaXB0b3IgZGVzY3JpcHRvcik7CiB9OwogR1BV
UmVuZGVyQnVuZGxlRW5jb2RlciBpbmNsdWRlcyBHUFVPYmplY3RCYXNlOworR1BVUmVuZGVyQnVu
ZGxlRW5jb2RlciBpbmNsdWRlcyBHUFVDb21tYW5kc01peGluOworR1BVUmVuZGVyQnVuZGxlRW5j
b2RlciBpbmNsdWRlcyBHUFVEZWJ1Z0NvbW1hbmRzTWl4aW47CiBHUFVSZW5kZXJCdW5kbGVFbmNv
ZGVyIGluY2x1ZGVzIEdQVVByb2dyYW1tYWJsZVBhc3NFbmNvZGVyOwogR1BVUmVuZGVyQnVuZGxl
RW5jb2RlciBpbmNsdWRlcyBHUFVSZW5kZXJFbmNvZGVyQmFzZTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlckJ1bmRsZUVuY29kZXJEZXNjcmlwdG9y
LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJCdW5kbGVFbmNvZGVy
RGVzY3JpcHRvci5oCmluZGV4IDhkMTg0NTI2MDYwNTcyNGRmMjI0NzAxZTZkM2E1NTI2MDI5YzZl
NTQuLjg4NGJlN2M0NjA4MDAzMWE2NzQ2ZDNhMjc5MzdmZThkMTM0OTEwM2YgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlckJ1bmRsZUVuY29kZXJEZXNj
cmlwdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyQnVu
ZGxlRW5jb2RlckRlc2NyaXB0b3IuaApAQCAtMzYsOCArMzYsMTAgQEAgc3RydWN0IEdQVVJlbmRl
ckJ1bmRsZUVuY29kZXJEZXNjcmlwdG9yIDogcHVibGljIEdQVVJlbmRlclBhc3NMYXlvdXQgewog
ICAgICAgICByZXR1cm4gewogICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIHsgbGFiZWwg
fSwKLSAgICAgICAgICAgICAgICBjb2xvckZvcm1hdHMubWFwKFtdIChjb25zdCBhdXRvJiBjb2xv
ckZvcm1hdCkgewotICAgICAgICAgICAgICAgICAgICByZXR1cm4gV2ViQ29yZTo6Y29udmVydFRv
QmFja2luZyhjb2xvckZvcm1hdCk7CisgICAgICAgICAgICAgICAgY29sb3JGb3JtYXRzLm1hcChb
XSAoYXV0byYgY29sb3JGb3JtYXQpIC0+IHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlRleHR1
cmVGb3JtYXQ+IHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGNvbG9yRm9ybWF0KQorICAgICAg
ICAgICAgICAgICAgICAgICAgcmV0dXJuIFdlYkNvcmU6OmNvbnZlcnRUb0JhY2tpbmcoKmNvbG9y
Rm9ybWF0KTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKICAgICAg
ICAgICAgICAgICB9KSwKICAgICAgICAgICAgICAgICBkZXB0aFN0ZW5jaWxGb3JtYXQgPyBzdGQ6
Om9wdGlvbmFsIHsgV2ViQ29yZTo6Y29udmVydFRvQmFja2luZygqZGVwdGhTdGVuY2lsRm9ybWF0
KSB9IDogc3RkOjpudWxsb3B0LAogICAgICAgICAgICAgICAgIHNhbXBsZUNvdW50LApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0NvbG9yQXR0
YWNobWVudC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0Nv
bG9yQXR0YWNobWVudC5oCmluZGV4IDg4NjU2MDYwY2YwMDA0M2NhODMzNzI0YTdlZjZhM2RjOGM4
MzVjYjguLjE2NGY1Mzk1NTlkNWM0NWUyNWY2OGYzY2RhZjRmNjI0ZWUyZDlhZTUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NDb2xvckF0dGFj
aG1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNz
Q29sb3JBdHRhY2htZW50LmgKQEAgLTQzLDEzICs0Myw4IEBAIHN0cnVjdCBHUFVSZW5kZXJQYXNz
Q29sb3JBdHRhY2htZW50IHsKICAgICAgICAgcmV0dXJuIHsKICAgICAgICAgICAgIHZpZXctPmJh
Y2tpbmcoKSwKICAgICAgICAgICAgIHJlc29sdmVUYXJnZXQgPyAmcmVzb2x2ZVRhcmdldC0+YmFj
a2luZygpIDogbnVsbHB0ciwKLSAgICAgICAgICAgIFdURjo6c3dpdGNoT24obG9hZFZhbHVlLCBb
Jl0gKEdQVUxvYWRPcCBsb2FkT3ApIC0+IHN0ZDo6dmFyaWFudDxQQUw6OldlYkdQVTo6TG9hZE9w
LCBWZWN0b3I8ZG91YmxlPiwgUEFMOjpXZWJHUFU6OkNvbG9yRGljdD4gewotICAgICAgICAgICAg
ICAgIHJldHVybiBXZWJDb3JlOjpjb252ZXJ0VG9CYWNraW5nKGxvYWRPcCk7Ci0gICAgICAgICAg
ICB9LCBbJl0gKGNvbnN0IFZlY3Rvcjxkb3VibGU+JiB2ZWN0b3IpIC0+IHN0ZDo6dmFyaWFudDxQ
QUw6OldlYkdQVTo6TG9hZE9wLCBWZWN0b3I8ZG91YmxlPiwgUEFMOjpXZWJHUFU6OkNvbG9yRGlj
dD4gewotICAgICAgICAgICAgICAgIHJldHVybiB2ZWN0b3I7Ci0gICAgICAgICAgICB9LCBbJl0g
KGNvbnN0IEdQVUNvbG9yRGljdCYgY29sb3IpIC0+IHN0ZDo6dmFyaWFudDxQQUw6OldlYkdQVTo6
TG9hZE9wLCBWZWN0b3I8ZG91YmxlPiwgUEFMOjpXZWJHUFU6OkNvbG9yRGljdD4gewotICAgICAg
ICAgICAgICAgIHJldHVybiBjb2xvci5jb252ZXJ0VG9CYWNraW5nKCk7Ci0gICAgICAgICAgICB9
KSwKKyAgICAgICAgICAgIGNsZWFyVmFsdWUgPyBzdGQ6Om9wdGlvbmFsIHsgV2ViQ29yZTo6Y29u
dmVydFRvQmFja2luZygqY2xlYXJWYWx1ZSkgfSA6IHN0ZDo6bnVsbG9wdCwKKyAgICAgICAgICAg
IFdlYkNvcmU6OmNvbnZlcnRUb0JhY2tpbmcobG9hZE9wKSwKICAgICAgICAgICAgIFdlYkNvcmU6
OmNvbnZlcnRUb0JhY2tpbmcoc3RvcmVPcCksCiAgICAgICAgIH07CiAgICAgfQpAQCAtNTcsNyAr
NTIsOCBAQCBzdHJ1Y3QgR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudCB7CiAgICAgR1BVVGV4
dHVyZVZpZXcqIHZpZXcgeyBudWxscHRyIH07CiAgICAgR1BVVGV4dHVyZVZpZXcqIHJlc29sdmVU
YXJnZXQgeyBudWxscHRyIH07CiAKLSAgICBzdGQ6OnZhcmlhbnQ8R1BVTG9hZE9wLCBWZWN0b3I8
ZG91YmxlPiwgR1BVQ29sb3JEaWN0PiBsb2FkVmFsdWU7CisgICAgc3RkOjpvcHRpb25hbDxHUFVD
b2xvcj4gY2xlYXJWYWx1ZTsKKyAgICBHUFVMb2FkT3AgbG9hZE9wIHsgR1BVTG9hZE9wOjpMb2Fk
IH07CiAgICAgR1BVU3RvcmVPcCBzdG9yZU9wIHsgR1BVU3RvcmVPcDo6U3RvcmUgfTsKIH07CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3ND
b2xvckF0dGFjaG1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVu
ZGVyUGFzc0NvbG9yQXR0YWNobWVudC5pZGwKaW5kZXggMmJkYzZjNDM5YzM5MjJlOTUwNjdjYWMy
NjE2NDA3M2EwMzdlNTFkMC4uODUyYWNjNmZiMzYzOWFjMGE0YTc5NDZiYTc5NGY0MTY2ZmIzMjVk
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFz
c0NvbG9yQXR0YWNobWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUv
R1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudC5pZGwKQEAgLTM1LDYgKzM1LDcgQEAgZGljdGlv
bmFyeSBHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50IHsKICAgICByZXF1aXJlZCBHUFVUZXh0
dXJlVmlldyB2aWV3OwogICAgIEdQVVRleHR1cmVWaWV3IHJlc29sdmVUYXJnZXQ7CiAKLSAgICBy
ZXF1aXJlZCAoR1BVTG9hZE9wIG9yIEdQVUNvbG9yKSBsb2FkVmFsdWU7CisgICAgR1BVQ29sb3Ig
Y2xlYXJWYWx1ZTsKKyAgICByZXF1aXJlZCBHUFVMb2FkT3AgbG9hZE9wOwogICAgIHJlcXVpcmVk
IEdQVVN0b3JlT3Agc3RvcmVPcDsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNobWVudC5oIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1l
bnQuaAppbmRleCBmYTNmYjc2MDAxODEwZmI2MGVhMzI4MWM3MmY3OTQzZTBhMzEzNzIyLi5jZmI0
YzdiZGU3YjMwY2U0MmRlNWNkMTBlOGVkOWI3Nzc4NTZjNmIzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNobWVu
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NEZXB0
aFN0ZW5jaWxBdHRhY2htZW50LmgKQEAgLTQxLDMxICs0MSwyNyBAQCBzdHJ1Y3QgR1BVUmVuZGVy
UGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQgewogICAgICAgICBBU1NFUlQodmlldyk7CiAgICAg
ICAgIHJldHVybiB7CiAgICAgICAgICAgICB2aWV3LT5iYWNraW5nKCksCi0gICAgICAgICAgICBX
VEY6OnN3aXRjaE9uKGRlcHRoTG9hZFZhbHVlLCBbJl0gKEdQVUxvYWRPcCBsb2FkT3ApIC0+IHN0
ZDo6dmFyaWFudDxQQUw6OldlYkdQVTo6TG9hZE9wLCBmbG9hdD4gewotICAgICAgICAgICAgICAg
IHJldHVybiBXZWJDb3JlOjpjb252ZXJ0VG9CYWNraW5nKGxvYWRPcCk7Ci0gICAgICAgICAgICB9
LCBbJl0gKGZsb2F0IGYpIC0+IHN0ZDo6dmFyaWFudDxQQUw6OldlYkdQVTo6TG9hZE9wLCBmbG9h
dD4gewotICAgICAgICAgICAgICAgIHJldHVybiBmOwotICAgICAgICAgICAgfSksCi0gICAgICAg
ICAgICBXZWJDb3JlOjpjb252ZXJ0VG9CYWNraW5nKGRlcHRoU3RvcmVPcCksCisgICAgICAgICAg
ICBkZXB0aENsZWFyVmFsdWUsCisgICAgICAgICAgICBkZXB0aExvYWRPcCA/IHN0ZDo6b3B0aW9u
YWwgeyBXZWJDb3JlOjpjb252ZXJ0VG9CYWNraW5nKCpkZXB0aExvYWRPcCkgfSA6IHN0ZDo6bnVs
bG9wdCwKKyAgICAgICAgICAgIGRlcHRoU3RvcmVPcCA/IHN0ZDo6b3B0aW9uYWwgeyBXZWJDb3Jl
Ojpjb252ZXJ0VG9CYWNraW5nKCpkZXB0aFN0b3JlT3ApIH0gOiBzdGQ6Om51bGxvcHQsCiAgICAg
ICAgICAgICBkZXB0aFJlYWRPbmx5LAotICAgICAgICAgICAgV1RGOjpzd2l0Y2hPbihzdGVuY2ls
TG9hZFZhbHVlLCBbJl0gKEdQVUxvYWRPcCBsb2FkT3ApIC0+IHN0ZDo6dmFyaWFudDxQQUw6Oldl
YkdQVTo6TG9hZE9wLCBQQUw6OldlYkdQVTo6U3RlbmNpbFZhbHVlPiB7Ci0gICAgICAgICAgICAg
ICAgcmV0dXJuIFdlYkNvcmU6OmNvbnZlcnRUb0JhY2tpbmcobG9hZE9wKTsKLSAgICAgICAgICAg
IH0sIFsmXSAoR1BVU3RlbmNpbFZhbHVlIHN0ZW5jaWxWYWx1ZSkgLT4gc3RkOjp2YXJpYW50PFBB
TDo6V2ViR1BVOjpMb2FkT3AsIFBBTDo6V2ViR1BVOjpTdGVuY2lsVmFsdWU+IHsKLSAgICAgICAg
ICAgICAgICByZXR1cm4gc3RlbmNpbFZhbHVlOwotICAgICAgICAgICAgfSksCi0gICAgICAgICAg
ICBXZWJDb3JlOjpjb252ZXJ0VG9CYWNraW5nKHN0ZW5jaWxTdG9yZU9wKSwKKyAgICAgICAgICAg
IHN0ZW5jaWxDbGVhclZhbHVlLAorICAgICAgICAgICAgc3RlbmNpbExvYWRPcCA/IHN0ZDo6b3B0
aW9uYWwgeyBXZWJDb3JlOjpjb252ZXJ0VG9CYWNraW5nKCpzdGVuY2lsTG9hZE9wKSB9IDogc3Rk
OjpudWxsb3B0LAorICAgICAgICAgICAgc3RlbmNpbFN0b3JlT3AgPyBzdGQ6Om9wdGlvbmFsIHsg
V2ViQ29yZTo6Y29udmVydFRvQmFja2luZygqc3RlbmNpbFN0b3JlT3ApIH0gOiBzdGQ6Om51bGxv
cHQsCiAgICAgICAgICAgICBzdGVuY2lsUmVhZE9ubHksCiAgICAgICAgIH07CiAgICAgfQogCiAg
ICAgR1BVVGV4dHVyZVZpZXcqIHZpZXcgeyBudWxscHRyIH07CiAKLSAgICBzdGQ6OnZhcmlhbnQ8
R1BVTG9hZE9wLCBmbG9hdD4gZGVwdGhMb2FkVmFsdWU7Ci0gICAgR1BVU3RvcmVPcCBkZXB0aFN0
b3JlT3AgeyBHUFVTdG9yZU9wOjpTdG9yZSB9OworICAgIGZsb2F0IGRlcHRoQ2xlYXJWYWx1ZSB7
IDAgfTsKKyAgICBzdGQ6Om9wdGlvbmFsPEdQVUxvYWRPcD4gZGVwdGhMb2FkT3A7CisgICAgc3Rk
OjpvcHRpb25hbDxHUFVTdG9yZU9wPiBkZXB0aFN0b3JlT3A7CiAgICAgYm9vbCBkZXB0aFJlYWRP
bmx5IHsgZmFsc2UgfTsKIAotICAgIHN0ZDo6dmFyaWFudDxHUFVMb2FkT3AsIEdQVVN0ZW5jaWxW
YWx1ZT4gc3RlbmNpbExvYWRWYWx1ZTsKLSAgICBHUFVTdG9yZU9wIHN0ZW5jaWxTdG9yZU9wIHsg
R1BVU3RvcmVPcDo6U3RvcmUgfTsKKyAgICBHUFVTdGVuY2lsVmFsdWUgc3RlbmNpbENsZWFyVmFs
dWUgeyAwIH07CisgICAgc3RkOjpvcHRpb25hbDxHUFVMb2FkT3A+IHN0ZW5jaWxMb2FkT3A7Cisg
ICAgc3RkOjpvcHRpb25hbDxHUFVTdG9yZU9wPiBzdGVuY2lsU3RvcmVPcDsKICAgICBib29sIHN0
ZW5jaWxSZWFkT25seSB7IGZhbHNlIH07CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNobWVudC5pZGwg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzRGVwdGhTdGVuY2ls
QXR0YWNobWVudC5pZGwKaW5kZXggMzc1MDIxOWEyODViNzIxY2M4NTY1N2M5NWRmYTlkY2M0YTVk
MDExOC4uN2U2OTU3YjRmNTdiOGYxZDUyYWRkMDgwNDA5MWZmZmI4ODFmOWJiNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0RlcHRoU3RlbmNp
bEF0dGFjaG1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJl
bmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50LmlkbApAQCAtMzQsMTEgKzM0LDEzIEBAIHR5
cGVkZWYgW0VuZm9yY2VSYW5nZV0gdW5zaWduZWQgbG9uZyBHUFVTdGVuY2lsVmFsdWU7CiBkaWN0
aW9uYXJ5IEdQVVJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50IHsKICAgICByZXF1aXJl
ZCBHUFVUZXh0dXJlVmlldyB2aWV3OwogCi0gICAgcmVxdWlyZWQgKEdQVUxvYWRPcCBvciBmbG9h
dCkgZGVwdGhMb2FkVmFsdWU7Ci0gICAgcmVxdWlyZWQgR1BVU3RvcmVPcCBkZXB0aFN0b3JlT3A7
CisgICAgZmxvYXQgZGVwdGhDbGVhclZhbHVlID0gMDsKKyAgICBHUFVMb2FkT3AgZGVwdGhMb2Fk
T3A7CisgICAgR1BVU3RvcmVPcCBkZXB0aFN0b3JlT3A7CiAgICAgYm9vbGVhbiBkZXB0aFJlYWRP
bmx5ID0gZmFsc2U7CiAKLSAgICByZXF1aXJlZCAoR1BVTG9hZE9wIG9yIEdQVVN0ZW5jaWxWYWx1
ZSkgc3RlbmNpbExvYWRWYWx1ZTsKLSAgICByZXF1aXJlZCBHUFVTdG9yZU9wIHN0ZW5jaWxTdG9y
ZU9wOworICAgIEdQVVN0ZW5jaWxWYWx1ZSBzdGVuY2lsQ2xlYXJWYWx1ZSA9IDA7CisgICAgR1BV
TG9hZE9wIHN0ZW5jaWxMb2FkT3A7CisgICAgR1BVU3RvcmVPcCBzdGVuY2lsU3RvcmVPcDsKICAg
ICBib29sZWFuIHN0ZW5jaWxSZWFkT25seSA9IGZhbHNlOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NEZXNjcmlwdG9yLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzRGVzY3JpcHRvci5oCmluZGV4
IDU4MmFmZTFlOTczODBmMjhhZTE1MTFmYWZjMWI1MzcxYTI4ZmU0NzEuLmZiNzhmNTJmODI3MzAz
YzBhMzAxNmY3NjI3Y2JlMDFlZmZmNTgyOGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NEZXNjcmlwdG9yLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IuaApAQCAtNDIsOCArNDIs
MTAgQEAgc3RydWN0IEdQVVJlbmRlclBhc3NEZXNjcmlwdG9yIDogcHVibGljIEdQVU9iamVjdERl
c2NyaXB0b3JCYXNlIHsKICAgICB7CiAgICAgICAgIHJldHVybiB7CiAgICAgICAgICAgICB7IGxh
YmVsIH0sCi0gICAgICAgICAgICBjb2xvckF0dGFjaG1lbnRzLm1hcChbXSAoYXV0byYgY29sb3JB
dHRhY2htZW50KSB7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGNvbG9yQXR0YWNobWVudC5jb252
ZXJ0VG9CYWNraW5nKCk7CisgICAgICAgICAgICBjb2xvckF0dGFjaG1lbnRzLm1hcChbXSAoYXV0
byYgY29sb3JBdHRhY2htZW50KSAtPiBzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpSZW5kZXJQ
YXNzQ29sb3JBdHRhY2htZW50PiB7CisgICAgICAgICAgICAgICAgaWYgKGNvbG9yQXR0YWNobWVu
dCkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbG9yQXR0YWNobWVudC0+Y29udmVydFRv
QmFja2luZygpOworICAgICAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAgICAgICAg
ICAgICB9KSwKICAgICAgICAgICAgIGRlcHRoU3RlbmNpbEF0dGFjaG1lbnQgPyBzdGQ6Om9wdGlv
bmFsIHsgZGVwdGhTdGVuY2lsQXR0YWNobWVudC0+Y29udmVydFRvQmFja2luZygpIH0gOiBzdGQ6
Om51bGxvcHQsCiAgICAgICAgICAgICBvY2NsdXNpb25RdWVyeVNldCA/ICZvY2NsdXNpb25RdWVy
eVNldC0+YmFja2luZygpIDogbnVsbHB0ciwKQEAgLTUxLDcgKzUzLDcgQEAgc3RydWN0IEdQVVJl
bmRlclBhc3NEZXNjcmlwdG9yIDogcHVibGljIEdQVU9iamVjdERlc2NyaXB0b3JCYXNlIHsKICAg
ICAgICAgfTsKICAgICB9CiAKLSAgICBWZWN0b3I8R1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVu
dD4gY29sb3JBdHRhY2htZW50czsKKyAgICBWZWN0b3I8c3RkOjpvcHRpb25hbDxHUFVSZW5kZXJQ
YXNzQ29sb3JBdHRhY2htZW50Pj4gY29sb3JBdHRhY2htZW50czsKICAgICBzdGQ6Om9wdGlvbmFs
PEdQVVJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50PiBkZXB0aFN0ZW5jaWxBdHRhY2ht
ZW50OwogICAgIEdQVVF1ZXJ5U2V0KiBvY2NsdXNpb25RdWVyeVNldCB7IG51bGxwdHIgfTsKICAg
ICBHUFVSZW5kZXJQYXNzVGltZXN0YW1wV3JpdGVzIHRpbWVzdGFtcFdyaXRlczsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NEZXNjcmlwdG9y
LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NEZXNjcmlw
dG9yLmlkbAppbmRleCAwYzFjZGUzODhmMmYwYzZhZTQzYTZjYjUwMzA2YWY1OTM4Yzc0MmM2Li4x
NjllMTVjYmJlNjVlYTVjZDQwODQyMTgxNzI0N2YxYWJmODdjMDdiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzRGVzY3JpcHRvci5pZGwKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3Iu
aWRsCkBAIC0zMiw3ICszMiw3IEBAIHR5cGVkZWYgc2VxdWVuY2U8R1BVUmVuZGVyUGFzc1RpbWVz
dGFtcFdyaXRlPiBHUFVSZW5kZXJQYXNzVGltZXN0YW1wV3JpdGVzOwogICAgIEVuYWJsZWRCeVNl
dHRpbmc9V2ViR1BVCiBdCiBkaWN0aW9uYXJ5IEdQVVJlbmRlclBhc3NEZXNjcmlwdG9yIDogR1BV
T2JqZWN0RGVzY3JpcHRvckJhc2UgewotICAgIHJlcXVpcmVkIHNlcXVlbmNlPEdQVVJlbmRlclBh
c3NDb2xvckF0dGFjaG1lbnQ+IGNvbG9yQXR0YWNobWVudHM7CisgICAgcmVxdWlyZWQgc2VxdWVu
Y2U8R1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudD8+IGNvbG9yQXR0YWNobWVudHM7CiAgICAg
R1BVUmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQgZGVwdGhTdGVuY2lsQXR0YWNobWVu
dDsKICAgICBHUFVRdWVyeVNldCBvY2NsdXNpb25RdWVyeVNldDsKICAgICBHUFVSZW5kZXJQYXNz
VGltZXN0YW1wV3JpdGVzIHRpbWVzdGFtcFdyaXRlcyA9IFtdOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0VuY29kZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0VuY29kZXIuY3BwCmluZGV4IGE5
NTEwMTY2ZjhiZTgyMTJlNzZjYWZlNGE3ZTJhNDYyOTVmMmJiODEuLmQ2NDQzNTI5Y2NiOWI1Y2E4
ZGMxZDRlNmNkZDA4ZjRjNDNiOWY2NjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NFbmNvZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzRW5jb2Rlci5jcHAKQEAgLTE0NSwxNiArMTQ1LDYg
QEAgdm9pZCBHUFVSZW5kZXJQYXNzRW5jb2Rlcjo6ZW5kT2NjbHVzaW9uUXVlcnkoKQogICAgIG1f
YmFja2luZy0+ZW5kT2NjbHVzaW9uUXVlcnkoKTsKIH0KIAotdm9pZCBHUFVSZW5kZXJQYXNzRW5j
b2Rlcjo6YmVnaW5QaXBlbGluZVN0YXRpc3RpY3NRdWVyeShjb25zdCBHUFVRdWVyeVNldCYgcXVl
cnlTZXQsIEdQVVNpemUzMiBxdWVyeUluZGV4KQotewotICAgIG1fYmFja2luZy0+YmVnaW5QaXBl
bGluZVN0YXRpc3RpY3NRdWVyeShxdWVyeVNldC5iYWNraW5nKCksIHF1ZXJ5SW5kZXgpOwotfQot
Ci12b2lkIEdQVVJlbmRlclBhc3NFbmNvZGVyOjplbmRQaXBlbGluZVN0YXRpc3RpY3NRdWVyeSgp
Ci17Ci0gICAgbV9iYWNraW5nLT5lbmRQaXBlbGluZVN0YXRpc3RpY3NRdWVyeSgpOwotfQotCiB2
b2lkIEdQVVJlbmRlclBhc3NFbmNvZGVyOjpleGVjdXRlQnVuZGxlcyhWZWN0b3I8UmVmUHRyPEdQ
VVJlbmRlckJ1bmRsZT4+JiYgYnVuZGxlcykKIHsKICAgICBWZWN0b3I8c3RkOjpyZWZlcmVuY2Vf
d3JhcHBlcjxQQUw6OldlYkdQVTo6UmVuZGVyQnVuZGxlPj4gcmVzdWx0OwpAQCAtMTY3LDkgKzE1
Nyw5IEBAIHZvaWQgR1BVUmVuZGVyUGFzc0VuY29kZXI6OmV4ZWN1dGVCdW5kbGVzKFZlY3RvcjxS
ZWZQdHI8R1BVUmVuZGVyQnVuZGxlPj4mJiBidW5kCiAgICAgbV9iYWNraW5nLT5leGVjdXRlQnVu
ZGxlcyhXVEZNb3ZlKHJlc3VsdCkpOwogfQogCi12b2lkIEdQVVJlbmRlclBhc3NFbmNvZGVyOjpl
bmRQYXNzKCkKK3ZvaWQgR1BVUmVuZGVyUGFzc0VuY29kZXI6OmVuZCgpCiB7Ci0gICAgbV9iYWNr
aW5nLT5lbmRQYXNzKCk7CisgICAgbV9iYWNraW5nLT5lbmQoKTsKIH0KIAogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0VuY29kZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NFbmNvZGVyLmgKaW5k
ZXggZmM4MTcxYzRhZWE0ZWVlMzZkOGMyNzA3Nzg2NmU3NjBkYjZlZGRlNy4uYTVmMGE5NmFkZjkz
NmNlOTQxNDU4ZGJkMTdhYjg2NmUzMTQ2YjNjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0VuY29kZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzRW5jb2Rlci5oCkBAIC05NSwxMSArOTUsOCBA
QCBwdWJsaWM6CiAgICAgdm9pZCBiZWdpbk9jY2x1c2lvblF1ZXJ5KEdQVVNpemUzMiBxdWVyeUlu
ZGV4KTsKICAgICB2b2lkIGVuZE9jY2x1c2lvblF1ZXJ5KCk7CiAKLSAgICB2b2lkIGJlZ2luUGlw
ZWxpbmVTdGF0aXN0aWNzUXVlcnkoY29uc3QgR1BVUXVlcnlTZXQmLCBHUFVTaXplMzIgcXVlcnlJ
bmRleCk7Ci0gICAgdm9pZCBlbmRQaXBlbGluZVN0YXRpc3RpY3NRdWVyeSgpOwotCiAgICAgdm9p
ZCBleGVjdXRlQnVuZGxlcyhWZWN0b3I8UmVmUHRyPEdQVVJlbmRlckJ1bmRsZT4+JiYpOwotICAg
IHZvaWQgZW5kUGFzcygpOworICAgIHZvaWQgZW5kKCk7CiAKICAgICBQQUw6OldlYkdQVTo6UmVu
ZGVyUGFzc0VuY29kZXImIGJhY2tpbmcoKSB7IHJldHVybiBtX2JhY2tpbmc7IH0KICAgICBjb25z
dCBQQUw6OldlYkdQVTo6UmVuZGVyUGFzc0VuY29kZXImIGJhY2tpbmcoKSBjb25zdCB7IHJldHVy
biBtX2JhY2tpbmc7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BV
L0dQVVJlbmRlclBhc3NFbmNvZGVyLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BV
L0dQVVJlbmRlclBhc3NFbmNvZGVyLmlkbAppbmRleCA0ODg1ZWEzNjhjNDAzZjBhYTg1MWMwNjhm
YmNjMDcyZDAyNzFhNjlkLi40NzZlY2E1YzcwZjc2ZjA3MzBhMzJlYzY4NzY1NTNmMzkwNzg4ZDk5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNz
RW5jb2Rlci5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVy
UGFzc0VuY29kZXIuaWRsCkBAIC01MCwxMiArNTAsMTEgQEAgaW50ZXJmYWNlIEdQVVJlbmRlclBh
c3NFbmNvZGVyIHsKICAgICB1bmRlZmluZWQgYmVnaW5PY2NsdXNpb25RdWVyeShHUFVTaXplMzIg
cXVlcnlJbmRleCk7CiAgICAgdW5kZWZpbmVkIGVuZE9jY2x1c2lvblF1ZXJ5KCk7CiAKLSAgICB1
bmRlZmluZWQgYmVnaW5QaXBlbGluZVN0YXRpc3RpY3NRdWVyeShHUFVRdWVyeVNldCBxdWVyeVNl
dCwgR1BVU2l6ZTMyIHF1ZXJ5SW5kZXgpOwotICAgIHVuZGVmaW5lZCBlbmRQaXBlbGluZVN0YXRp
c3RpY3NRdWVyeSgpOwotCiAgICAgdW5kZWZpbmVkIGV4ZWN1dGVCdW5kbGVzKHNlcXVlbmNlPEdQ
VVJlbmRlckJ1bmRsZT4gYnVuZGxlcyk7Ci0gICAgdW5kZWZpbmVkIGVuZFBhc3MoKTsKKyAgICB1
bmRlZmluZWQgZW5kKCk7CiB9OwogR1BVUmVuZGVyUGFzc0VuY29kZXIgaW5jbHVkZXMgR1BVT2Jq
ZWN0QmFzZTsKK0dQVVJlbmRlclBhc3NFbmNvZGVyIGluY2x1ZGVzIEdQVUNvbW1hbmRzTWl4aW47
CitHUFVSZW5kZXJQYXNzRW5jb2RlciBpbmNsdWRlcyBHUFVEZWJ1Z0NvbW1hbmRzTWl4aW47CiBH
UFVSZW5kZXJQYXNzRW5jb2RlciBpbmNsdWRlcyBHUFVQcm9ncmFtbWFibGVQYXNzRW5jb2RlcjsK
IEdQVVJlbmRlclBhc3NFbmNvZGVyIGluY2x1ZGVzIEdQVVJlbmRlckVuY29kZXJCYXNlOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0xheW91
dC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0xheW91dC5o
CmluZGV4IGI1YTU0MGFhYWFjNzhkODkwMmNiOTI3YjYyMWMxZWI4MTA0YjM5NTQuLmE0M2Q0MTkx
YTNlYTJiOTc2ZDkxNTZlNDFhN2NiMTA1OTY3YjU0MTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NMYXlvdXQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzTGF5b3V0LmgKQEAgLTM5LDE1ICszOSwx
NyBAQCBzdHJ1Y3QgR1BVUmVuZGVyUGFzc0xheW91dCA6IHB1YmxpYyBHUFVPYmplY3REZXNjcmlw
dG9yQmFzZSB7CiAgICAgewogICAgICAgICByZXR1cm4gewogICAgICAgICAgICAgeyBsYWJlbCB9
LAotICAgICAgICAgICAgY29sb3JGb3JtYXRzLm1hcChbXSAoY29uc3QgYXV0byYgY29sb3JGb3Jt
YXQpIHsKLSAgICAgICAgICAgICAgICByZXR1cm4gV2ViQ29yZTo6Y29udmVydFRvQmFja2luZyhj
b2xvckZvcm1hdCk7CisgICAgICAgICAgICBjb2xvckZvcm1hdHMubWFwKFtdIChhdXRvJiBjb2xv
ckZvcm1hdCkgLT4gc3RkOjpvcHRpb25hbDxQQUw6OldlYkdQVTo6VGV4dHVyZUZvcm1hdD4gewor
ICAgICAgICAgICAgICAgIGlmIChjb2xvckZvcm1hdCkKKyAgICAgICAgICAgICAgICAgICAgcmV0
dXJuIFdlYkNvcmU6OmNvbnZlcnRUb0JhY2tpbmcoKmNvbG9yRm9ybWF0KTsKKyAgICAgICAgICAg
ICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogICAgICAgICAgICAgfSksCiAgICAgICAgICAgICBk
ZXB0aFN0ZW5jaWxGb3JtYXQgPyBzdGQ6Om9wdGlvbmFsIHsgV2ViQ29yZTo6Y29udmVydFRvQmFj
a2luZygqZGVwdGhTdGVuY2lsRm9ybWF0KSB9IDogc3RkOjpudWxsb3B0LAogICAgICAgICAgICAg
c2FtcGxlQ291bnQsCiAgICAgICAgIH07CiAgICAgfQogCi0gICAgVmVjdG9yPEdQVVRleHR1cmVG
b3JtYXQ+IGNvbG9yRm9ybWF0czsKKyAgICBWZWN0b3I8c3RkOjpvcHRpb25hbDxHUFVUZXh0dXJl
Rm9ybWF0Pj4gY29sb3JGb3JtYXRzOwogICAgIHN0ZDo6b3B0aW9uYWw8R1BVVGV4dHVyZUZvcm1h
dD4gZGVwdGhTdGVuY2lsRm9ybWF0OwogICAgIEdQVVNpemUzMiBzYW1wbGVDb3VudCB7IDEgfTsK
IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQ
YXNzTGF5b3V0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBh
c3NMYXlvdXQuaWRsCmluZGV4IDRhNzY5NjkyZTI2MDJiMDc1ZTAxM2E5MDBkY2NlOTIxOWYzODZi
NTIuLjZiY2JkYjEzMDY3NjM5MTg3YmJhOTIzYmRiZGU0NjIyNDk3NTlmY2EgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NMYXlvdXQuaWRsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NMYXlvdXQuaWRs
CkBAIC0zMiw3ICszMiw3IEBAIHR5cGVkZWYgW0VuZm9yY2VSYW5nZV0gdW5zaWduZWQgbG9uZyBH
UFVTaXplMzI7CiAgICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJHUFUKIF0KIGRpY3Rpb25hcnkgR1BV
UmVuZGVyUGFzc0xheW91dCA6IEdQVU9iamVjdERlc2NyaXB0b3JCYXNlIHsKLSAgICByZXF1aXJl
ZCBzZXF1ZW5jZTxHUFVUZXh0dXJlRm9ybWF0PiBjb2xvckZvcm1hdHM7CisgICAgcmVxdWlyZWQg
c2VxdWVuY2U8R1BVVGV4dHVyZUZvcm1hdD8+IGNvbG9yRm9ybWF0czsKICAgICBHUFVUZXh0dXJl
Rm9ybWF0IGRlcHRoU3RlbmNpbEZvcm1hdDsKICAgICBHUFVTaXplMzIgc2FtcGxlQ291bnQgPSAx
OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVNoYWRl
ck1vZHVsZUNvbXBpbGF0aW9uSGludC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUv
R1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmM5NWQ0MDA0NmM3
ODhlYjRjNzEwYWQwOTdkZWYzOTBjYTE3ZDY2ZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludC5oCkBA
IC0wLDAgKzEsNDUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIkdQ
VVBpcGVsaW5lTGF5b3V0LmgiCisjaW5jbHVkZSA8cGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVT
aGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitz
dHJ1Y3QgR1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50IHsKKyAgICBQQUw6OldlYkdQVTo6
U2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50IGNvbnZlcnRUb0JhY2tpbmcoKSBjb25zdAorICAg
IHsKKyAgICAgICAgQVNTRVJUKGxheW91dCk7CisgICAgICAgIHJldHVybiB7CisgICAgICAgICAg
ICBsYXlvdXQtPmJhY2tpbmcoKSwKKyAgICAgICAgfTsKKyAgICB9CisKKyAgICBHUFVQaXBlbGlu
ZUxheW91dCogbGF5b3V0IHsgbnVsbHB0ciB9OworfTsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50Lmlk
bCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVNoYWRlck1vZHVsZUNvbXBpbGF0
aW9uSGludC5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjg4NTZlODlmYmQyMGY4Y2MzYTc1OWE5MTcyZDVjY2M2
NTNjMDA2MwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BV
L0dQVVNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludC5pZGwKQEAgLTAsMCArMSwzMyBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAyMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKy8vIGh0dHBzOi8vZ3B1d2ViLmdpdGh1Yi5pby9ncHV3ZWIvI2RpY3RkZWYtZ3B1
c2hhZGVybW9kdWxlY29tcGlsYXRpb25oaW50CisKK1sKKyAgICBFbmFibGVkQnlTZXR0aW5nPVdl
YkdQVQorXQorZGljdGlvbmFyeSBHUFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQgeworICAg
IHJlcXVpcmVkIEdQVVBpcGVsaW5lTGF5b3V0IGxheW91dDsKK307CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVTaGFkZXJNb2R1bGVEZXNjcmlwdG9yLmggYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVTaGFkZXJNb2R1bGVEZXNjcmlwdG9yLmgK
aW5kZXggMTYxNzMyNWFmM2FjNzM0NGQyOTc1MWU1NjBlNGY5M2JmNDI1OTEyMi4uOGNkY2JiOTU5
NmQ4OTNmODdlMmFmOGFhZjU3Y2RjN2I2YTMzMTA0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9XZWJHUFUvR1BVU2hhZGVyTW9kdWxlRGVzY3JpcHRvci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVNoYWRlck1vZHVsZURlc2NyaXB0b3IuaApAQCAt
MjUsNyArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2luY2x1ZGUgIkdQVU9iamVjdERlc2Ny
aXB0b3JCYXNlLmgiCisjaW5jbHVkZSAiR1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50Lmgi
CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNPYmplY3QuaD4KICNpbmNsdWRlIDxKYXZhU2Ny
aXB0Q29yZS9TdHJvbmcuaD4KICNpbmNsdWRlIDxwYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVNo
YWRlck1vZHVsZURlc2NyaXB0b3IuaD4KQEAgLTQwLDExICs0MCwxNSBAQCBzdHJ1Y3QgR1BVU2hh
ZGVyTW9kdWxlRGVzY3JpcHRvciA6IHB1YmxpYyBHUFVPYmplY3REZXNjcmlwdG9yQmFzZSB7CiAg
ICAgICAgICAgICB7IGxhYmVsIH0sCiAgICAgICAgICAgICBjb2RlLAogICAgICAgICAgICAgLy8g
RklYTUU6IEhhbmRsZSB0aGUgc291cmNlTWFwLgorICAgICAgICAgICAgaGludHMubWFwKFtdIChh
dXRvJiBoaW50KSB7CisgICAgICAgICAgICAgICAgcmV0dXJuIEtleVZhbHVlUGFpcjxTdHJpbmcs
IFBBTDo6V2ViR1BVOjpTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQ+KGhpbnQua2V5LCBoaW50
LnZhbHVlLmNvbnZlcnRUb0JhY2tpbmcoKSk7CisgICAgICAgICAgICB9KSwKICAgICAgICAgfTsK
ICAgICB9CiAKICAgICBTdHJpbmcgY29kZTsKICAgICBKU0M6OlN0cm9uZzxKU0M6OkpTT2JqZWN0
PiBzb3VyY2VNYXA7CisgICAgVmVjdG9yPEtleVZhbHVlUGFpcjxTdHJpbmcsIEdQVVNoYWRlck1v
ZHVsZUNvbXBpbGF0aW9uSGludD4+IGhpbnRzOwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVU2hhZGVyTW9kdWxlRGVzY3JpcHRvci5pZGwgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVTaGFkZXJNb2R1bGVEZXNjcmlwdG9yLmlk
bAppbmRleCBiOGE3OTU5Y2ViM2MzNzYzZjk2YTZiNjFmM2Y0NWFjMDg2NjcxOGI0Li40MmUwNDRk
N2Q0ZDQxNDVlNTU3MDk4NzA1NjZlNzA5MDBlYWZjMDYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVTaGFkZXJNb2R1bGVEZXNjcmlwdG9yLmlkbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVTaGFkZXJNb2R1bGVEZXNjcmlwdG9yLmlk
bApAQCAtMzEsNCArMzEsNSBAQAogZGljdGlvbmFyeSBHUFVTaGFkZXJNb2R1bGVEZXNjcmlwdG9y
IDogR1BVT2JqZWN0RGVzY3JpcHRvckJhc2UgewogICAgIHJlcXVpcmVkIFVTVlN0cmluZyBjb2Rl
OwogICAgIG9iamVjdCBzb3VyY2VNYXA7CisgICAgcmVjb3JkPFVTVlN0cmluZywgR1BVU2hhZGVy
TW9kdWxlQ29tcGlsYXRpb25IaW50PiBoaW50czsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVUZXh0dXJlRGVzY3JpcHRvci5oIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9XZWJHUFUvR1BVVGV4dHVyZURlc2NyaXB0b3IuaAppbmRleCBjN2Q4YjI3YWMx
M2U4YmVkZjk0Y2VmNjc2YzI4Yjg1NDE1NjVhM2Q4Li40ZDJmYTQ3MjdlNDkwM2Y1ZjBmODkxZDA4
Y2VlMjRiOTdlOGVkNzcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQ
VS9HUFVUZXh0dXJlRGVzY3JpcHRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2Vi
R1BVL0dQVVRleHR1cmVEZXNjcmlwdG9yLmgKQEAgLTQ2LDYgKzQ2LDkgQEAgc3RydWN0IEdQVVRl
eHR1cmVEZXNjcmlwdG9yIDogcHVibGljIEdQVU9iamVjdERlc2NyaXB0b3JCYXNlIHsKICAgICAg
ICAgICAgIFdlYkNvcmU6OmNvbnZlcnRUb0JhY2tpbmcoZGltZW5zaW9uKSwKICAgICAgICAgICAg
IFdlYkNvcmU6OmNvbnZlcnRUb0JhY2tpbmcoZm9ybWF0KSwKICAgICAgICAgICAgIGNvbnZlcnRU
ZXh0dXJlVXNhZ2VGbGFnc1RvQmFja2luZyh1c2FnZSksCisgICAgICAgICAgICB2aWV3Rm9ybWF0
cy5tYXAoW10gKGF1dG8gdmlld0Zvcm1hdCkgeworICAgICAgICAgICAgICAgIHJldHVybiBXZWJD
b3JlOjpjb252ZXJ0VG9CYWNraW5nKHZpZXdGb3JtYXQpOworICAgICAgICAgICAgfSksCiAgICAg
ICAgIH07CiAgICAgfQogCkBAIC01NSw2ICs1OCw3IEBAIHN0cnVjdCBHUFVUZXh0dXJlRGVzY3Jp
cHRvciA6IHB1YmxpYyBHUFVPYmplY3REZXNjcmlwdG9yQmFzZSB7CiAgICAgR1BVVGV4dHVyZURp
bWVuc2lvbiBkaW1lbnNpb24geyBHUFVUZXh0dXJlRGltZW5zaW9uOjpfMmQgfTsKICAgICBHUFVU
ZXh0dXJlRm9ybWF0IGZvcm1hdCB7IEdQVVRleHR1cmVGb3JtYXQ6OlI4dW5vcm0gfTsKICAgICBH
UFVUZXh0dXJlVXNhZ2VGbGFncyB1c2FnZSB7IDAgfTsKKyAgICBWZWN0b3I8R1BVVGV4dHVyZUZv
cm1hdD4gdmlld0Zvcm1hdHM7CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL1dlYkdQVS9HUFVUZXh0dXJlRGVzY3JpcHRvci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL1dlYkdQVS9HUFVUZXh0dXJlRGVzY3JpcHRvci5pZGwKaW5kZXggYjI0ZmQzMmY2Nzc4
N2VhNzY5YTIwNzg5ZjVlNDgzMmZjYjQyYzVkNS4uNWRmNjc3NDlkM2U2NmFmYTAzMzNkODg1OTdi
YWJmZDc0NmZiZjM1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUv
R1BVVGV4dHVyZURlc2NyaXB0b3IuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2Vi
R1BVL0dQVVRleHR1cmVEZXNjcmlwdG9yLmlkbApAQCAtNDEsNCArNDEsNSBAQCBkaWN0aW9uYXJ5
IEdQVVRleHR1cmVEZXNjcmlwdG9yIDogR1BVT2JqZWN0RGVzY3JpcHRvckJhc2UgewogICAgIEdQ
VVRleHR1cmVEaW1lbnNpb24gZGltZW5zaW9uID0gIjJkIjsKICAgICByZXF1aXJlZCBHUFVUZXh0
dXJlRm9ybWF0IGZvcm1hdDsKICAgICByZXF1aXJlZCBHUFVUZXh0dXJlVXNhZ2VGbGFncyB1c2Fn
ZTsKKyAgICBzZXF1ZW5jZTxHUFVUZXh0dXJlRm9ybWF0PiB2aWV3Rm9ybWF0cyA9IFtdOwogfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVRleHR1cmVGb3Jt
YXQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVRleHR1cmVGb3JtYXQuaApp
bmRleCBjOWQ4NzIxMDE4OWUyZWQxY2M0ZTgzYWQ5ZWFhZGU5NDg4YWIyMTAwLi5kYTEzZDEzNjEx
ZTdmZjlkYmE1ODM5N2NiYTEzODY3OTdmYmZmMTYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL1dlYkdQVS9HUFVUZXh0dXJlRm9ybWF0LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9XZWJHUFUvR1BVVGV4dHVyZUZvcm1hdC5oCkBAIC03OCwxMyArNzgsMTkgQEAgZW51
bSBjbGFzcyBHUFVUZXh0dXJlRm9ybWF0IDogdWludDhfdCB7CiAgICAgUmdiYTMyc2ludCwKICAg
ICBSZ2JhMzJmbG9hdCwKIAotICAgIC8vIERlcHRoIGFuZCBzdGVuY2lsIGZvcm1hdHMKKyAgICAv
LyBEZXB0aC9zdGVuY2lsIGZvcm1hdHMKICAgICBTdGVuY2lsOCwKICAgICBEZXB0aDE2dW5vcm0s
CiAgICAgRGVwdGgyNHBsdXMsCiAgICAgRGVwdGgyNHBsdXNTdGVuY2lsOCwKICAgICBEZXB0aDMy
ZmxvYXQsCiAKKyAgICAvLyBkZXB0aDI0dW5vcm0tc3RlbmNpbDggZmVhdHVyZQorICAgIERlcHRo
MjR1bm9ybVN0ZW5jaWw4LAorCisgICAgLy8gZGVwdGgzMmZsb2F0LXN0ZW5jaWw4IGZlYXR1cmUK
KyAgICBEZXB0aDMyZmxvYXRTdGVuY2lsOCwKKwogICAgIC8vIEJDIGNvbXByZXNzZWQgZm9ybWF0
cyB1c2FibGUgaWYgdGV4dHVyZS1jb21wcmVzc2lvbi1iYyBpcyBib3RoCiAgICAgLy8gc3VwcG9y
dGVkIGJ5IHRoZSBkZXZpY2UvdXNlciBhZ2VudCBhbmQgZW5hYmxlZCBpbiByZXF1ZXN0RGV2aWNl
LgogICAgIEJjMVJnYmFVbm9ybSwKQEAgLTE0NSwxMiArMTUxLDYgQEAgZW51bSBjbGFzcyBHUFVU
ZXh0dXJlRm9ybWF0IDogdWludDhfdCB7CiAgICAgQXN0YzEyeDEwVW5vcm1TUkdCLAogICAgIEFz
dGMxMngxMlVub3JtLAogICAgIEFzdGMxMngxMlVub3JtU1JHQiwKLQotICAgIC8vIGRlcHRoMjR1
bm9ybS1zdGVuY2lsOCBmZWF0dXJlCi0gICAgRGVwdGgyNHVub3JtU3RlbmNpbDgsCi0KLSAgICAv
LyBkZXB0aDMyZmxvYXQtc3RlbmNpbDggZmVhdHVyZQotICAgIERlcHRoMzJmbG9hdFN0ZW5jaWw4
LAogfTsKIAogaW5saW5lIFBBTDo6V2ViR1BVOjpUZXh0dXJlRm9ybWF0IGNvbnZlcnRUb0JhY2tp
bmcoR1BVVGV4dHVyZUZvcm1hdCB0ZXh0dXJlRm9ybWF0KQpAQCAtMjM4LDYgKzIzOCwxMCBAQCBp
bmxpbmUgUEFMOjpXZWJHUFU6OlRleHR1cmVGb3JtYXQgY29udmVydFRvQmFja2luZyhHUFVUZXh0
dXJlRm9ybWF0IHRleHR1cmVGb3JtYQogICAgICAgICByZXR1cm4gUEFMOjpXZWJHUFU6OlRleHR1
cmVGb3JtYXQ6OkRlcHRoMjRwbHVzU3RlbmNpbDg7CiAgICAgY2FzZSBHUFVUZXh0dXJlRm9ybWF0
OjpEZXB0aDMyZmxvYXQ6CiAgICAgICAgIHJldHVybiBQQUw6OldlYkdQVTo6VGV4dHVyZUZvcm1h
dDo6RGVwdGgzMmZsb2F0OworICAgIGNhc2UgR1BVVGV4dHVyZUZvcm1hdDo6RGVwdGgyNHVub3Jt
U3RlbmNpbDg6CisgICAgICAgIHJldHVybiBQQUw6OldlYkdQVTo6VGV4dHVyZUZvcm1hdDo6RGVw
dGgyNHVub3JtU3RlbmNpbDg7CisgICAgY2FzZSBHUFVUZXh0dXJlRm9ybWF0OjpEZXB0aDMyZmxv
YXRTdGVuY2lsODoKKyAgICAgICAgcmV0dXJuIFBBTDo6V2ViR1BVOjpUZXh0dXJlRm9ybWF0OjpE
ZXB0aDMyZmxvYXRTdGVuY2lsODsKICAgICBjYXNlIEdQVVRleHR1cmVGb3JtYXQ6OkJjMVJnYmFV
bm9ybToKICAgICAgICAgcmV0dXJuIFBBTDo6V2ViR1BVOjpUZXh0dXJlRm9ybWF0OjpCYzFSZ2Jh
VW5vcm07CiAgICAgY2FzZSBHUFVUZXh0dXJlRm9ybWF0OjpCYzFSZ2JhVW5vcm1TUkdCOgpAQCAt
MzQyLDEwICszNDYsNiBAQCBpbmxpbmUgUEFMOjpXZWJHUFU6OlRleHR1cmVGb3JtYXQgY29udmVy
dFRvQmFja2luZyhHUFVUZXh0dXJlRm9ybWF0IHRleHR1cmVGb3JtYQogICAgICAgICByZXR1cm4g
UEFMOjpXZWJHUFU6OlRleHR1cmVGb3JtYXQ6OkFzdGMxMngxMlVub3JtOwogICAgIGNhc2UgR1BV
VGV4dHVyZUZvcm1hdDo6QXN0YzEyeDEyVW5vcm1TUkdCOgogICAgICAgICByZXR1cm4gUEFMOjpX
ZWJHUFU6OlRleHR1cmVGb3JtYXQ6OkFzdGMxMngxMlVub3JtU1JHQjsKLSAgICBjYXNlIEdQVVRl
eHR1cmVGb3JtYXQ6OkRlcHRoMjR1bm9ybVN0ZW5jaWw4OgotICAgICAgICByZXR1cm4gUEFMOjpX
ZWJHUFU6OlRleHR1cmVGb3JtYXQ6OkRlcHRoMjR1bm9ybVN0ZW5jaWw4OwotICAgIGNhc2UgR1BV
VGV4dHVyZUZvcm1hdDo6RGVwdGgzMmZsb2F0U3RlbmNpbDg6Ci0gICAgICAgIHJldHVybiBQQUw6
OldlYkdQVTo6VGV4dHVyZUZvcm1hdDo6RGVwdGgzMmZsb2F0U3RlbmNpbDg7CiAgICAgfQogICAg
IFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVUZXh0dXJlRm9ybWF0LmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvV2ViR1BVL0dQVVRleHR1cmVGb3JtYXQuaWRsCmluZGV4IDI1MWNkZGJlMDA0M2Vj
OWQxN2I4NDIyYTczYWM5NDQ1YmU3M2M0ZTcuLjMwMzYxODhjNTIxMDg4Y2JjYTFmMmY0YzY5NTU3
OTdhN2UyN2VhOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQ
VVRleHR1cmVGb3JtYXQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQ
VVRleHR1cmVGb3JtYXQuaWRsCkBAIC03NiwxMyArNzYsMTkgQEAgZW51bSBHUFVUZXh0dXJlRm9y
bWF0IHsKICAgICAicmdiYTMyc2ludCIsCiAgICAgInJnYmEzMmZsb2F0IiwKIAotICAgIC8vIERl
cHRoIGFuZCBzdGVuY2lsIGZvcm1hdHMKKyAgICAvLyBEZXB0aC9zdGVuY2lsIGZvcm1hdHMKICAg
ICAic3RlbmNpbDgiLAogICAgICJkZXB0aDE2dW5vcm0iLAogICAgICJkZXB0aDI0cGx1cyIsCiAg
ICAgImRlcHRoMjRwbHVzLXN0ZW5jaWw4IiwKICAgICAiZGVwdGgzMmZsb2F0IiwKIAorICAgIC8v
ICJkZXB0aDI0dW5vcm0tc3RlbmNpbDgiIGZlYXR1cmUKKyAgICAiZGVwdGgyNHVub3JtLXN0ZW5j
aWw4IiwKKworICAgIC8vICJkZXB0aDMyZmxvYXQtc3RlbmNpbDgiIGZlYXR1cmUKKyAgICAiZGVw
dGgzMmZsb2F0LXN0ZW5jaWw4IiwKKwogICAgIC8vIEJDIGNvbXByZXNzZWQgZm9ybWF0cyB1c2Fi
bGUgaWYgInRleHR1cmUtY29tcHJlc3Npb24tYmMiIGlzIGJvdGgKICAgICAvLyBzdXBwb3J0ZWQg
YnkgdGhlIGRldmljZS91c2VyIGFnZW50IGFuZCBlbmFibGVkIGluIHJlcXVlc3REZXZpY2UuCiAg
ICAgImJjMS1yZ2JhLXVub3JtIiwKQEAgLTE0MiwxMSArMTQ4LDUgQEAgZW51bSBHUFVUZXh0dXJl
Rm9ybWF0IHsKICAgICAiYXN0Yy0xMngxMC11bm9ybSIsCiAgICAgImFzdGMtMTJ4MTAtdW5vcm0t
c3JnYiIsCiAgICAgImFzdGMtMTJ4MTItdW5vcm0iLAotICAgICJhc3RjLTEyeDEyLXVub3JtLXNy
Z2IiLAotCi0gICAgLy8gImRlcHRoMjR1bm9ybS1zdGVuY2lsOCIgZmVhdHVyZQotICAgICJkZXB0
aDI0dW5vcm0tc3RlbmNpbDgiLAotCi0gICAgLy8gImRlcHRoMzJmbG9hdC1zdGVuY2lsOCIgZmVh
dHVyZQotICAgICJkZXB0aDMyZmxvYXQtc3RlbmNpbDgiCisgICAgImFzdGMtMTJ4MTItdW5vcm0t
c3JnYiIKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVV
bmNhcHR1cmVkRXJyb3JFdmVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9H
UFVVbmNhcHR1cmVkRXJyb3JFdmVudC5pZGwKaW5kZXggMzMyZWJlYWRiZGE5ODcyMDYwNmQ4ODU0
YzUxNjRjMWFkNDY5YjU3ZC4uMWI5MjdkNDJhZWM1ZGM4ZGVkMGFiMGIzYTM5MGU1MDRiZjc0OWMw
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVVW5jYXB0dXJl
ZEVycm9yRXZlbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVVu
Y2FwdHVyZWRFcnJvckV2ZW50LmlkbApAQCAtMzgsNSArMzgsNSBAQCBpbnRlcmZhY2UgR1BVVW5j
YXB0dXJlZEVycm9yRXZlbnQgOiBFdmVudCB7CiAgICAgICAgIERPTVN0cmluZyB0eXBlLAogICAg
ICAgICBHUFVVbmNhcHR1cmVkRXJyb3JFdmVudEluaXQgZ3B1VW5jYXB0dXJlZEVycm9yRXZlbnRJ
bml0RGljdAogICAgICk7Ci0gICAgW1NhbWVPYmplY3RdIHJlYWRvbmx5IGF0dHJpYnV0ZSBHUFVF
cnJvciBlcnJvcjsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgR1BVRXJyb3IgZXJyb3I7CiB9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML1BBTC54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qIGIvU291cmNlL1dlYkNvcmUvUEFML1BBTC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmlu
ZGV4IGM1YTkxOGY3ZDQwZDA0MWEyOTMzOTQ2ZTcyMDZjNzFjNzUzZjVkMDQuLjJhNzNjOGU3MTVi
ODI0NDAxOTE4MzRlMGMzNmQ1ZTBkNWI1ZmVhMjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1BBTC9QQUwueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9Q
QUwvUEFMLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTI0Nyw3ICsyNDcsNiBAQAogCQkx
Q0VGQTIxNzI3MzdBNEM4MDBGMERBOTUgLyogV2ViR1BVQmluZEdyb3VwRW50cnkuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDQzVFNDY5MjczNzQ5NDgw
MDZGNkZGNCAvKiBXZWJHUFVCaW5kR3JvdXBFbnRyeS5oICovOyB9OwogCQkxQ0VGQTIxODI3MzdB
NEM4MDBGMERBOTUgLyogV2ViR1BVUHJpbWl0aXZlVG9wb2xvZ3kuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDQzVFNDUzMjczNzQ5NDcwMDZGNkZGNCAv
KiBXZWJHUFVQcmltaXRpdmVUb3BvbG9neS5oICovOyB9OwogCQkxQ0VGQTIxOTI3MzdBNEM4MDBG
MERBOTUgLyogV2ViR1BVVGV4dHVyZUJpbmRpbmdMYXlvdXQuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDQzVFNDE5MjczNzQ5MkMwMDZGNkZGNCAvKiBX
ZWJHUFVUZXh0dXJlQmluZGluZ0xheW91dC5oICovOyB9OwotCQkxQ0VGQTIxQTI3MzdBNEM4MDBG
MERBOTUgLyogV2ViR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQ0M1RTQzOTI3Mzc0OTQ2MDA2RjZGRjQgLyog
V2ViR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lLmggKi87IH07CiAJCTFDRUZBMjFCMjczN0E0Qzgw
MEYwREE5NSAvKiBXZWJHUFVCbGVuZENvbXBvbmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUNDNUU0NzgyNzM3NDk0OTAwNkY2RkY0IC8qIFdlYkdQ
VUJsZW5kQ29tcG9uZW50LmggKi87IH07CiAJCTFDRUZBMjFDMjczN0E0QzgwMEYwREE5NSAvKiBX
ZWJHUFVUZXh0dXJlVmlld0RpbWVuc2lvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMUNDNUU0MzIyNzM3NDkyRDAwNkY2RkY0IC8qIFdlYkdQVVRleHR1
cmVWaWV3RGltZW5zaW9uLmggKi87IH07CiAJCTFDRUZBMjFEMjczN0E0QzgwMEYwREE5NSAvKiBX
ZWJHUFVMb2FkT3AuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDFDQzVFNDUwMjczNzQ5NDcwMDZGNkZGNCAvKiBXZWJHUFVMb2FkT3AuaCAqLzsgfTsKQEAg
LTY1Miw3ICs2NTEsNiBAQAogCQkxQ0M1RTQzNjI3Mzc0OTQ2MDA2RjZGRjQgLyogV2ViR1BVQ29t
cGlsYXRpb25NZXNzYWdlVHlwZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJHUFVDb21waWxhdGlvbk1l
c3NhZ2VUeXBlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDQzVFNDM3MjczNzQ5
NDYwMDZGNkZGNCAvKiBXZWJHUFVFeHRlbnQzRC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJHUFVFeHRl
bnQzRC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQ0M1RTQzODI3Mzc0OTQ2MDA2
RjZGRjQgLyogV2ViR1BVUHJvZ3JhbW1hYmxlU3RhZ2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViR1BV
UHJvZ3JhbW1hYmxlU3RhZ2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMUNDNUU0
MzkyNzM3NDk0NjAwNkY2RkY0IC8qIFdlYkdQVVBpcGVsaW5lU3RhdGlzdGljTmFtZS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBXZWJHUFVQaXBlbGluZVN0YXRpc3RpY05hbWUuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMUNDNUU0M0EyNzM3NDk0NjAwNkY2RkY0IC8qIFdlYkdQVUV4dGVybmFs
VGV4dHVyZUJpbmRpbmdMYXlvdXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViR1BVRXh0ZXJuYWxUZXh0
dXJlQmluZGluZ0xheW91dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQ0M1RTQz
QjI3Mzc0OTQ2MDA2RjZGRjQgLyogV2ViR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gV2ViR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMUNDNUU0M0MyNzM3NDk0NjAwNkY2RkY0IC8qIFdlYkdQVVNhbXBsZXJCaW5k
aW5nVHlwZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJHUFVTYW1wbGVyQmluZGluZ1R5cGUuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTc0NCw2ICs3NDIsNyBAQAogCQkxQ0M1RTQ5MzI3
Mzc0OTRBMDA2RjZGRjQgLyogV2ViR1BVQ2FudmFzQ29tcG9zaXRpbmdBbHBoYU1vZGUuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gV2ViR1BVQ2FudmFzQ29tcG9zaXRpbmdBbHBoYU1vZGUuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNDRUU0RjQyMEQ4NzE5MzAwNDdCMDk3IC8qIENvcmVVSVNQ
SS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb3JlVUlTUEkuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNDRUU0RjYyMEQ4NzQzRjAwNDdCMDk3IC8qIE5TQXBw
ZWFyYW5jZVNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOU0FwcGVhcmFu
Y2VTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUNFRjQ1QUEyN0JCMTAxRjAw
QzNBNkJDIC8qIFdlYkdQVVNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBXZWJHUFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMUQxMkNDNEEyNDExQkNBRTAwRkRBMEEzIC8qIEZlYXR1cmVGbGFnc1NQ
SS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBGZWF0dXJlRmxhZ3NTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMUQyQjQxMzIyNUYwNUUzNDAwQTNGNzBBIC8qIENsb2NrR2VuZXJpYy5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDbG9ja0dlbmVyaWMuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxRDJCNDEzMzI1RjA1RTM1MDBBM0Y3MEEgLyog
Q2xvY2tHZW5lcmljLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENsb2NrR2Vu
ZXJpYy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTMzOSw3ICsxMzM4LDYgQEAK
IAkJCQkxQ0M1RTQ1RTI3Mzc0OTQ4MDA2RjZGRjQgLyogV2ViR1BVUGlwZWxpbmVEZXNjcmlwdG9y
QmFzZS5oICovLAogCQkJCTFDQzVFNDQ1MjczNzQ5NDcwMDZGNkZGNCAvKiBXZWJHUFVQaXBlbGlu
ZUxheW91dC5oICovLAogCQkJCTFDQzVFNDREMjczNzQ5NDcwMDZGNkZGNCAvKiBXZWJHUFVQaXBl
bGluZUxheW91dERlc2NyaXB0b3IuaCAqLywKLQkJCQkxQ0M1RTQzOTI3Mzc0OTQ2MDA2RjZGRjQg
LyogV2ViR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lLmggKi8sCiAJCQkJMUNDNUU0N0EyNzM3NDk0
OTAwNkY2RkY0IC8qIFdlYkdQVVBvd2VyUHJlZmVyZW5jZS5oICovLAogCQkJCTFDQzVFNDdEMjcz
NzQ5NDkwMDZGNkZGNCAvKiBXZWJHUFVQcmVkZWZpbmVkQ29sb3JTcGFjZS5oICovLAogCQkJCTFD
QzVFNDZEMjczNzQ5NDgwMDZGNkZGNCAvKiBXZWJHUFVQcmltaXRpdmVTdGF0ZS5oICovLApAQCAt
MTM2OCw2ICsxMzY2LDcgQEAKIAkJCQkxQ0M1RTQzQzI3Mzc0OTQ2MDA2RjZGRjQgLyogV2ViR1BV
U2FtcGxlckJpbmRpbmdUeXBlLmggKi8sCiAJCQkJMUNDNUU0MjMyNzM3NDkyQzAwNkY2RkY0IC8q
IFdlYkdQVVNhbXBsZXJEZXNjcmlwdG9yLmggKi8sCiAJCQkJMUNDNUU0MUQyNzM3NDkyQzAwNkY2
RkY0IC8qIFdlYkdQVVNoYWRlck1vZHVsZS5oICovLAorCQkJCTFDRUY0NUFBMjdCQjEwMUYwMEMz
QTZCQyAvKiBXZWJHUFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQuaCAqLywKIAkJCQkxQ0M1
RTQxQjI3Mzc0OTJDMDA2RjZGRjQgLyogV2ViR1BVU2hhZGVyTW9kdWxlRGVzY3JpcHRvci5oICov
LAogCQkJCTFDQzVFNDI2MjczNzQ5MkQwMDZGNkZGNCAvKiBXZWJHUFVTaGFkZXJTdGFnZS5oICov
LAogCQkJCTFDQzVFNDFDMjczNzQ5MkMwMDZGNkZGNCAvKiBXZWJHUFVTdGVuY2lsRmFjZVN0YXRl
LmggKi8sCkBAIC0xNzc0LDcgKzE3NzMsNiBAQAogCQkJCTFDRUZBMjI1MjczN0E0QzgwMEYwREE5
NSAvKiBXZWJHUFVQaXBlbGluZURlc2NyaXB0b3JCYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQkx
Q0VGQTFGRDI3MzdBNEM4MDBGMERBOTUgLyogV2ViR1BVUGlwZWxpbmVMYXlvdXQuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTFDRUZBMUY0MjczN0E0QzgwMEYwREE5NSAvKiBXZWJHUFVQaXBlbGluZUxh
eW91dERlc2NyaXB0b3IuaCBpbiBIZWFkZXJzICovLAotCQkJCTFDRUZBMjFBMjczN0E0QzgwMEYw
REE5NSAvKiBXZWJHUFVQaXBlbGluZVN0YXRpc3RpY05hbWUuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTFDRUZBMURFMjczN0E0QzgwMEYwREE5NSAvKiBXZWJHUFVQb3dlclByZWZlcmVuY2UuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTFDRUZBMjE2MjczN0E0QzgwMEYwREE5NSAvKiBXZWJHUFVQcmVkZWZp
bmVkQ29sb3JTcGFjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUNFRkExRTUyNzM3QTRDODAwRjBE
QTk1IC8qIFdlYkdQVVByaW1pdGl2ZVN0YXRlLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwvV2ViR1BVQWRhcHRl
ckltcGwuY3BwIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9X
ZWJHUFVBZGFwdGVySW1wbC5jcHAKaW5kZXggN2Q1YjE2NTRlZWQwNzZjMTc2MDI2OGRmMDAyNmRi
NzIyMDY1N2I4Yy4uNTYxMzlhZjRhOTA3ODJmOGRkYWNiMzIyNWZiYTNkNzA4YjQwOTFmZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9XZWJH
UFVBZGFwdGVySW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9X
ZWJHUFUvSW1wbC9XZWJHUFVBZGFwdGVySW1wbC5jcHAKQEAgLTQzLDEzICs0MywxNyBAQCBzdGF0
aWMgU3RyaW5nIGFkYXB0ZXJOYW1lKFdHUFVBZGFwdGVyIGFkYXB0ZXIpCiAKIHN0YXRpYyBSZWY8
U3VwcG9ydGVkRmVhdHVyZXM+IHN1cHBvcnRlZEZlYXR1cmVzKFdHUFVBZGFwdGVyIGFkYXB0ZXIp
CiB7CisgICAgYXV0byBmZWF0dXJlQ291bnQgPSB3Z3B1QWRhcHRlckVudW1lcmF0ZUZlYXR1cmVz
KGFkYXB0ZXIsIG51bGxwdHIpOworICAgIFZlY3RvcjxXR1BVRmVhdHVyZU5hbWU+IGZlYXR1cmVz
KGZlYXR1cmVDb3VudCk7CisgICAgd2dwdUFkYXB0ZXJFbnVtZXJhdGVGZWF0dXJlcyhhZGFwdGVy
LCBmZWF0dXJlcy5kYXRhKCkpOworCiAgICAgVmVjdG9yPFN0cmluZz4gcmVzdWx0OwotICAgIGZv
ciAoc2l6ZV90IGkgPSAwOyA7ICsraSkgewotICAgICAgICBhdXRvIGZlYXR1cmUgPSB3Z3B1QWRh
cHRlckdldEZlYXR1cmVBdEluZGV4KGFkYXB0ZXIsIGkpOwotICAgICAgICBpZiAoZmVhdHVyZSA9
PSBXR1BVRmVhdHVyZU5hbWVfVW5kZWZpbmVkKQotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAg
IHN3aXRjaCAoc3RhdGljX2Nhc3Q8dWludD4oZmVhdHVyZSkpIHsKLSAgICAgICAgY2FzZSBXR1BV
RmVhdHVyZU5hbWVfRGVwdGhDbGFtcGluZzoKKyAgICBmb3IgKGF1dG8gZmVhdHVyZSA6IGZlYXR1
cmVzKSB7CisgICAgICAgIHN3aXRjaCAoZmVhdHVyZSkgeworICAgICAgICBjYXNlIFdHUFVGZWF0
dXJlTmFtZV9VbmRlZmluZWQ6CisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgY2FzZSBX
R1BVRmVhdHVyZU5hbWVfRGVwdGhDbGlwQ29udHJvbDoKKyAgICAgICAgICAgIHJlc3VsdC5hcHBl
bmQoImRlcHRoLWNsaXAtY29udHJvbCJfcyk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
Y2FzZSBXR1BVRmVhdHVyZU5hbWVfRGVwdGgyNFVub3JtU3RlbmNpbDg6CiAgICAgICAgICAgICBy
ZXN1bHQuYXBwZW5kKCJkZXB0aDI0dW5vcm0tc3RlbmNpbDgiX3MpOwpAQCAtNjYsMjAgKzcwLDE3
IEBAIHN0YXRpYyBSZWY8U3VwcG9ydGVkRmVhdHVyZXM+IHN1cHBvcnRlZEZlYXR1cmVzKFdHUFVB
ZGFwdGVyIGFkYXB0ZXIpCiAgICAgICAgIGNhc2UgV0dQVUZlYXR1cmVOYW1lX1RleHR1cmVDb21w
cmVzc2lvbkJDOgogICAgICAgICAgICAgcmVzdWx0LmFwcGVuZCgidGV4dHVyZS1jb21wcmVzc2lv
bi1iYyJfcyk7CiAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBXR1BVRmVhdHVyZU5h
bWVfRGVwdGhDbGlwQ29udHJvbDoKLSAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQoImRlcHRoLWNs
aXAtY29udHJvbCJfcyk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBXR1BVRmVh
dHVyZU5hbWVfSW5kaXJlY3RGaXJzdEluc3RhbmNlOgotICAgICAgICAgICAgcmVzdWx0LmFwcGVu
ZCgiaW5kaXJlY3QtZmlyc3QtaW5zdGFuY2UiX3MpOwotICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgIGNhc2UgV0dQVUZlYXR1cmVOYW1lX1RleHR1cmVDb21wcmVzc2lvbkVUQzI6CiAgICAgICAg
ICAgICByZXN1bHQuYXBwZW5kKCJ0ZXh0dXJlLWNvbXByZXNzaW9uLWV0YzIiX3MpOwogICAgICAg
ICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgV0dQVUZlYXR1cmVOYW1lX1RleHR1cmVDb21wcmVz
c2lvbkFTVEM6CiAgICAgICAgICAgICByZXN1bHQuYXBwZW5kKCJ0ZXh0dXJlLWNvbXByZXNzaW9u
LWFzdGMiX3MpOwogICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGRlZmF1bHQ6CisgICAgICAg
IGNhc2UgV0dQVUZlYXR1cmVOYW1lX0luZGlyZWN0Rmlyc3RJbnN0YW5jZToKKyAgICAgICAgICAg
IHJlc3VsdC5hcHBlbmQoImluZGlyZWN0LWZpcnN0LWluc3RhbmNlIl9zKTsKICAgICAgICAgICAg
IGJyZWFrOworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgY29udGludWU7CiAgICAgICAg
IH0KICAgICB9CiAgICAgcmV0dXJuIFN1cHBvcnRlZEZlYXR1cmVzOjpjcmVhdGUoV1RGTW92ZShy
ZXN1bHQpKTsKQEAgLTE1MSwxNSArMTUyLDYgQEAgdm9pZCBBZGFwdGVySW1wbDo6cmVxdWVzdERl
dmljZShjb25zdCBEZXZpY2VEZXNjcmlwdG9yJiBkZXNjcmlwdG9yLCBXVEY6OkZ1bmN0aW8KIAog
ICAgIGF1dG8gbGFiZWwgPSBkZXNjcmlwdG9yLmxhYmVsLnV0ZjgoKTsKIAotICAgIFdHUFVEZXZp
Y2VEZXNjcmlwdG9yTGFiZWwgYmFja2luZ0Rlc2NyaXB0b3JMYWJlbCB7Ci0gICAgICAgIHsKLSAg
ICAgICAgICAgIG51bGxwdHIsCi0gICAgICAgICAgICBzdGF0aWNfY2FzdDxXR1BVU1R5cGU+KFdH
UFVTVHlwZV9EZXZpY2VEZXNjcmlwdG9yTGFiZWwpLAotICAgICAgICB9LAotICAgICAgICBudWxs
cHRyLAotICAgICAgICBsYWJlbC5kYXRhKCkKLSAgICB9OwotCiAgICAgYXV0byBmZWF0dXJlcyA9
IGRlc2NyaXB0b3IucmVxdWlyZWRGZWF0dXJlcy5tYXAoW3RoaXNdIChhdXRvIGZlYXR1cmVOYW1l
KSB7CiAgICAgICAgIHJldHVybiBtX2NvbnZlcnRUb0JhY2tpbmdDb250ZXh0LT5jb252ZXJ0VG9C
YWNraW5nKGZlYXR1cmVOYW1lKTsKICAgICB9KTsKQEAgLTE5Niw3ICsxODgsOCBAQCB2b2lkIEFk
YXB0ZXJJbXBsOjpyZXF1ZXN0RGV2aWNlKGNvbnN0IERldmljZURlc2NyaXB0b3ImIGRlc2NyaXB0
b3IsIFdURjo6RnVuY3RpbwogICAgIH07CiAKICAgICBXR1BVRGV2aWNlRGVzY3JpcHRvciBiYWNr
aW5nRGVzY3JpcHRvciB7Ci0gICAgICAgICZiYWNraW5nRGVzY3JpcHRvckxhYmVsLmhlYWRlciwK
KyAgICAgICAgbnVsbHB0ciwKKyAgICAgICAgbGFiZWwuZGF0YSgpLAogICAgICAgICBzdGF0aWNf
Y2FzdDx1aW50MzJfdD4oZmVhdHVyZXMuc2l6ZSgpKSwKICAgICAgICAgZmVhdHVyZXMuZGF0YSgp
LAogICAgICAgICAmbGltaXRzLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9n
cmFwaGljcy9XZWJHUFUvSW1wbC9XZWJHUFVCdWZmZXJJbXBsLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwvV2ViR1BVQnVmZmVySW1wbC5jcHAKaW5kZXgg
ZDlhOWNlNWNhZDhkOWE1ZjkxNmZiNjBlY2U5MmMxMjdmM2JmODVkZS4uOGEwZWNjNThjZDZjZWMx
YzZlNWZiMzc0ZDRjYTg1NzI2M2EwNWFlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFM
L3BhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9XZWJHUFVCdWZmZXJJbXBsLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVUJ1ZmZlckltcGwu
Y3BwCkBAIC01MCwxOSArNTAsMTggQEAgdm9pZCBtYXBDYWxsYmFjayhXR1BVQnVmZmVyTWFwQXN5
bmNTdGF0dXMgc3RhdHVzLCB2b2lkKiB1c2VyZGF0YSkKICAgICBidWZmZXItPm1hcENhbGxiYWNr
KHN0YXR1cyk7CiB9CiAKLXZvaWQgQnVmZmVySW1wbDo6bWFwQXN5bmMoTWFwTW9kZUZsYWdzIG1h
cE1vZGVGbGFncywgc3RkOjpvcHRpb25hbDxTaXplNjQ+IG9mZnNldCwgc3RkOjpvcHRpb25hbDxT
aXplNjQ+IHNpemUsIFdURjo6RnVuY3Rpb248dm9pZCgpPiYmIGNhbGxiYWNrKQordm9pZCBCdWZm
ZXJJbXBsOjptYXBBc3luYyhNYXBNb2RlRmxhZ3MgbWFwTW9kZUZsYWdzLCBTaXplNjQgb2Zmc2V0
LCBzdGQ6Om9wdGlvbmFsPFNpemU2ND4gc2l6ZSwgV1RGOjpGdW5jdGlvbjx2b2lkKCk+JiYgY2Fs
bGJhY2spCiB7CiAgICAgUmVmIHByb3RlY3RlZFRoaXMoKnRoaXMpOwogCiAgICAgYXV0byBiYWNr
aW5nTWFwTW9kZUZsYWdzID0gbV9jb252ZXJ0VG9CYWNraW5nQ29udGV4dC0+Y29udmVydE1hcE1v
ZGVGbGFnc1RvQmFja2luZyhtYXBNb2RlRmxhZ3MpOwogCi0gICAgYXV0byB1c2VkT2Zmc2V0ID0g
b2Zmc2V0LnZhbHVlX29yKDApOwotICAgIGF1dG8gdXNlZFNpemUgPSBzaXplLnZhbHVlX29yKFdH
UFVfV0hPTEVfU0laRSk7CisgICAgYXV0byB1c2VkU2l6ZSA9IHNpemUudmFsdWVfb3IoV0dQVV9X
SE9MRV9NQVBfU0laRSk7CiAKICAgICBtX2NhbGxiYWNrcy5hcHBlbmQoV1RGTW92ZShjYWxsYmFj
aykpOwogCiAgICAgLy8gRklYTUU6IENoZWNrIHRoZSBjYXN0cy4KLSAgICB3Z3B1QnVmZmVyTWFw
QXN5bmMobV9iYWNraW5nLCBiYWNraW5nTWFwTW9kZUZsYWdzLCBzdGF0aWNfY2FzdDxzaXplX3Q+
KHVzZWRPZmZzZXQpLCBzdGF0aWNfY2FzdDxzaXplX3Q+KHVzZWRTaXplKSwgJldlYkdQVTo6bWFw
Q2FsbGJhY2ssICZwcm90ZWN0ZWRUaGlzLmxlYWtSZWYoKSk7IC8vIGxlYWtSZWYgaXMgYmFsYW5j
ZWQgYnkgYWRvcHRSZWYgaW4gbWFwQ2FsbGJhY2soKSBhYm92ZS4gV2UgaGF2ZSB0byBkbyB0aGlz
IGJlY2F1c2Ugd2UncmUgdXNpbmcgYSBDIEFQSSB3aXRoIG5vIGNvbmNlcHQgb2YgcmVmZXJlbmNl
IGNvdW50aW5nIG9yIGJsb2Nrcy4KKyAgICB3Z3B1QnVmZmVyTWFwQXN5bmMobV9iYWNraW5nLCBi
YWNraW5nTWFwTW9kZUZsYWdzLCBzdGF0aWNfY2FzdDxzaXplX3Q+KG9mZnNldCksIHN0YXRpY19j
YXN0PHNpemVfdD4odXNlZFNpemUpLCAmV2ViR1BVOjptYXBDYWxsYmFjaywgJnByb3RlY3RlZFRo
aXMubGVha1JlZigpKTsgLy8gbGVha1JlZiBpcyBiYWxhbmNlZCBieSBhZG9wdFJlZiBpbiBtYXBD
YWxsYmFjaygpIGFib3ZlLiBXZSBoYXZlIHRvIGRvIHRoaXMgYmVjYXVzZSB3ZSdyZSB1c2luZyBh
IEMgQVBJIHdpdGggbm8gY29uY2VwdCBvZiByZWZlcmVuY2UgY291bnRpbmcgb3IgYmxvY2tzLgog
fQogCiB2b2lkIEJ1ZmZlckltcGw6Om1hcENhbGxiYWNrKFdHUFVCdWZmZXJNYXBBc3luY1N0YXR1
cyBzdGF0dXMpCkBAIC03MiwxMiArNzEsMTEgQEAgdm9pZCBCdWZmZXJJbXBsOjptYXBDYWxsYmFj
ayhXR1BVQnVmZmVyTWFwQXN5bmNTdGF0dXMgc3RhdHVzKQogICAgIGNhbGxiYWNrKCk7CiB9CiAK
LWF1dG8gQnVmZmVySW1wbDo6Z2V0TWFwcGVkUmFuZ2Uoc3RkOjpvcHRpb25hbDxTaXplNjQ+IG9m
ZnNldCwgc3RkOjpvcHRpb25hbDxTaXplNjQ+IHNpemUpIC0+IE1hcHBlZFJhbmdlCithdXRvIEJ1
ZmZlckltcGw6OmdldE1hcHBlZFJhbmdlKFNpemU2NCBvZmZzZXQsIHN0ZDo6b3B0aW9uYWw8U2l6
ZTY0PiBzaXplKSAtPiBNYXBwZWRSYW5nZQogewotICAgIGF1dG8gdXNlZE9mZnNldCA9IG9mZnNl
dC52YWx1ZV9vcigwKTsKLSAgICBhdXRvIHVzZWRTaXplID0gc2l6ZS52YWx1ZV9vcihXR1BVX1dI
T0xFX1NJWkUpOworICAgIGF1dG8gdXNlZFNpemUgPSBzaXplLnZhbHVlX29yKFdHUFVfV0hPTEVf
TUFQX1NJWkUpOwogICAgIC8vIEZJWE1FOiBDaGVjayB0aGUgY2FzdHMuCi0gICAgYXV0byogcG9p
bnRlciA9IHdncHVCdWZmZXJHZXRNYXBwZWRSYW5nZShtX2JhY2tpbmcsIHN0YXRpY19jYXN0PHNp
emVfdD4odXNlZE9mZnNldCksIHN0YXRpY19jYXN0PHNpemVfdD4odXNlZFNpemUpKTsKKyAgICBh
dXRvKiBwb2ludGVyID0gd2dwdUJ1ZmZlckdldE1hcHBlZFJhbmdlKG1fYmFja2luZywgc3RhdGlj
X2Nhc3Q8c2l6ZV90PihvZmZzZXQpLCBzdGF0aWNfY2FzdDxzaXplX3Q+KHVzZWRTaXplKSk7CiAg
ICAgLy8gRklYTUU6IENoZWNrIHRoZSB0eXBlIG5hcnJvd2luZy4KICAgICByZXR1cm4geyBwb2lu
dGVyLCBzdGF0aWNfY2FzdDxzaXplX3Q+KHVzZWRTaXplKSB9OwogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9XZWJHUFVCdWZmZXJJbXBs
LmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVUJ1
ZmZlckltcGwuaAppbmRleCBjMTQ2NWVjNDc3ZGY1NTY1MjVmYTg4YzVhM2EwMTExMGNlOTBmMjg3
Li45MjE4NzIzYjcwNzI1NzljYWU5OWQyMDFmNjIyZTIzY2MyODk2YzAzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVUJ1ZmZlcklt
cGwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dl
YkdQVUJ1ZmZlckltcGwuaApAQCAtNTksOCArNTksOCBAQCBwcml2YXRlOgogICAgIFdHUFVCdWZm
ZXIgYmFja2luZygpIGNvbnN0IHsgcmV0dXJuIG1fYmFja2luZzsgfQogCiAgICAgdm9pZCBtYXBD
YWxsYmFjayhXR1BVQnVmZmVyTWFwQXN5bmNTdGF0dXMpOwotICAgIHZvaWQgbWFwQXN5bmMoTWFw
TW9kZUZsYWdzLCBzdGQ6Om9wdGlvbmFsPFNpemU2ND4gb2Zmc2V0LCBzdGQ6Om9wdGlvbmFsPFNp
emU2ND4gc2l6ZUZvck1hcCwgV1RGOjpGdW5jdGlvbjx2b2lkKCk+JiYpIGZpbmFsOwotICAgIE1h
cHBlZFJhbmdlIGdldE1hcHBlZFJhbmdlKHN0ZDo6b3B0aW9uYWw8U2l6ZTY0PiBvZmZzZXQsIHN0
ZDo6b3B0aW9uYWw8U2l6ZTY0PikgZmluYWw7CisgICAgdm9pZCBtYXBBc3luYyhNYXBNb2RlRmxh
Z3MsIFNpemU2NCBvZmZzZXQsIHN0ZDo6b3B0aW9uYWw8U2l6ZTY0PiBzaXplRm9yTWFwLCBXVEY6
OkZ1bmN0aW9uPHZvaWQoKT4mJikgZmluYWw7CisgICAgTWFwcGVkUmFuZ2UgZ2V0TWFwcGVkUmFu
Z2UoU2l6ZTY0IG9mZnNldCwgc3RkOjpvcHRpb25hbDxTaXplNjQ+KSBmaW5hbDsKICAgICB2b2lk
IHVubWFwKCkgZmluYWw7CiAKICAgICB2b2lkIGRlc3Ryb3koKSBmaW5hbDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwvV2ViR1BVQ29tbWFu
ZEVuY29kZXJJbXBsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BV
L0ltcGwvV2ViR1BVQ29tbWFuZEVuY29kZXJJbXBsLmNwcAppbmRleCBhODUzNmJjZWNkMjRkNTcy
MDdkMjE3NDU2MDlmODIwZWE5Y2JkOWI2Li5hMDA2ZGMyMzcwMWU4ODQ5YjFkODBjNWY2MDY3MDIz
NDU3ZDk2NjVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dl
YkdQVS9JbXBsL1dlYkdQVUNvbW1hbmRFbmNvZGVySW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9XZWJHUFVDb21tYW5kRW5jb2RlckltcGwu
Y3BwCkBAIC01Myw1NyArNTMsNTEgQEAgQ29tbWFuZEVuY29kZXJJbXBsOjp+Q29tbWFuZEVuY29k
ZXJJbXBsKCkKIAogUmVmPFJlbmRlclBhc3NFbmNvZGVyPiBDb21tYW5kRW5jb2RlckltcGw6OmJl
Z2luUmVuZGVyUGFzcyhjb25zdCBSZW5kZXJQYXNzRGVzY3JpcHRvciYgZGVzY3JpcHRvcikKIHsK
KyAgICBhdXRvIGxhYmVsID0gZGVzY3JpcHRvci5sYWJlbC51dGY4KCk7CisKICAgICBWZWN0b3I8
V0dQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQ+IGNvbG9yQXR0YWNobWVudHM7CiAgICAgZm9y
IChjb25zdCBhdXRvJiBjb2xvckF0dGFjaG1lbnQgOiBkZXNjcmlwdG9yLmNvbG9yQXR0YWNobWVu
dHMpIHsKLSAgICAgICAgY29sb3JBdHRhY2htZW50cy5hcHBlbmQoV0dQVVJlbmRlclBhc3NDb2xv
ckF0dGFjaG1lbnQgewotICAgICAgICAgICAgbV9jb252ZXJ0VG9CYWNraW5nQ29udGV4dC0+Y29u
dmVydFRvQmFja2luZyhjb2xvckF0dGFjaG1lbnQudmlldyksCi0gICAgICAgICAgICBjb2xvckF0
dGFjaG1lbnQucmVzb2x2ZVRhcmdldCA/IG1fY29udmVydFRvQmFja2luZ0NvbnRleHQtPmNvbnZl
cnRUb0JhY2tpbmcoKmNvbG9yQXR0YWNobWVudC5yZXNvbHZlVGFyZ2V0KSA6IG51bGxwdHIsCi0g
ICAgICAgICAgICBzdGQ6OmhvbGRzX2FsdGVybmF0aXZlPExvYWRPcD4oY29sb3JBdHRhY2htZW50
LmxvYWRWYWx1ZSkgPyBtX2NvbnZlcnRUb0JhY2tpbmdDb250ZXh0LT5jb252ZXJ0VG9CYWNraW5n
KHN0ZDo6Z2V0PExvYWRPcD4oY29sb3JBdHRhY2htZW50LmxvYWRWYWx1ZSkpIDogV0dQVUxvYWRP
cF9DbGVhciwKLSAgICAgICAgICAgIG1fY29udmVydFRvQmFja2luZ0NvbnRleHQtPmNvbnZlcnRU
b0JhY2tpbmcoY29sb3JBdHRhY2htZW50LnN0b3JlT3ApLAotICAgICAgICAgICAgV1RGOjpzd2l0
Y2hPbihjb2xvckF0dGFjaG1lbnQubG9hZFZhbHVlLCBbXSAoTG9hZE9wKSAtPiBXR1BVQ29sb3Ig
ewotICAgICAgICAgICAgICAgIHJldHVybiB7IDAsIDAsIDAsIDAgfTsKLSAgICAgICAgICAgIH0s
IFtdIChjb25zdCBWZWN0b3I8ZG91YmxlPiYgdmVjdG9yKSAtPiBXR1BVQ29sb3IgewotICAgICAg
ICAgICAgICAgIHJldHVybiBXR1BVQ29sb3IgewotICAgICAgICAgICAgICAgICAgICB2ZWN0b3Iu
c2l6ZSgpID4gMCA/IHZlY3RvclswXSA6IDAsCi0gICAgICAgICAgICAgICAgICAgIHZlY3Rvci5z
aXplKCkgPiAxID8gdmVjdG9yWzFdIDogMCwKLSAgICAgICAgICAgICAgICAgICAgdmVjdG9yLnNp
emUoKSA+IDIgPyB2ZWN0b3JbMl0gOiAwLAotICAgICAgICAgICAgICAgICAgICB2ZWN0b3Iuc2l6
ZSgpID4gMyA/IHZlY3RvclszXSA6IDAsCi0gICAgICAgICAgICAgICAgfTsKLSAgICAgICAgICAg
IH0sIFtdIChjb25zdCBDb2xvckRpY3QmIGNvbG9yKSAtPiBXR1BVQ29sb3IgewotICAgICAgICAg
ICAgICAgIHJldHVybiBXR1BVQ29sb3IgewotICAgICAgICAgICAgICAgICAgICBjb2xvci5yLAot
ICAgICAgICAgICAgICAgICAgICBjb2xvci5nLAotICAgICAgICAgICAgICAgICAgICBjb2xvci5i
LAotICAgICAgICAgICAgICAgICAgICBjb2xvci5hLAotICAgICAgICAgICAgICAgIH07Ci0gICAg
ICAgICAgICB9KSwKLSAgICAgICAgfSk7CisgICAgICAgIGlmIChjb2xvckF0dGFjaG1lbnQpIHsK
KyAgICAgICAgICAgIGNvbG9yQXR0YWNobWVudHMuYXBwZW5kKFdHUFVSZW5kZXJQYXNzQ29sb3JB
dHRhY2htZW50IHsKKyAgICAgICAgICAgICAgICBtX2NvbnZlcnRUb0JhY2tpbmdDb250ZXh0LT5j
b252ZXJ0VG9CYWNraW5nKGNvbG9yQXR0YWNobWVudC0+dmlldyksCisgICAgICAgICAgICAgICAg
Y29sb3JBdHRhY2htZW50LT5yZXNvbHZlVGFyZ2V0ID8gbV9jb252ZXJ0VG9CYWNraW5nQ29udGV4
dC0+Y29udmVydFRvQmFja2luZygqY29sb3JBdHRhY2htZW50LT5yZXNvbHZlVGFyZ2V0KSA6IG51
bGxwdHIsCisgICAgICAgICAgICAgICAgbV9jb252ZXJ0VG9CYWNraW5nQ29udGV4dC0+Y29udmVy
dFRvQmFja2luZyhjb2xvckF0dGFjaG1lbnQtPmxvYWRPcCksCisgICAgICAgICAgICAgICAgbV9j
b252ZXJ0VG9CYWNraW5nQ29udGV4dC0+Y29udmVydFRvQmFja2luZyhjb2xvckF0dGFjaG1lbnQt
PnN0b3JlT3ApLAorICAgICAgICAgICAgICAgIGNvbG9yQXR0YWNobWVudC0+Y2xlYXJWYWx1ZSA/
IG1fY29udmVydFRvQmFja2luZ0NvbnRleHQtPmNvbnZlcnRUb0JhY2tpbmcoKmNvbG9yQXR0YWNo
bWVudC0+Y2xlYXJWYWx1ZSkgOiBXR1BVQ29sb3IgeyAwLCAwLCAwLCAwIH0sCisgICAgICAgICAg
ICB9KTsKKyAgICAgICAgfSBlbHNlCisgICAgICAgICAgICBjb2xvckF0dGFjaG1lbnRzLmFwcGVu
ZCh7CisgICAgICAgICAgICAgICAgbnVsbHB0ciwKKyAgICAgICAgICAgICAgICBudWxscHRyLAor
ICAgICAgICAgICAgICAgIFdHUFVMb2FkT3BfQ2xlYXIsCisgICAgICAgICAgICAgICAgV0dQVVN0
b3JlT3BfRGlzY2FyZCwKKyAgICAgICAgICAgICAgICB7IDAsIDAsIDAsIDAgfSwKKyAgICAgICAg
ICAgIH0pOwogICAgIH0KIAogICAgIHN0ZDo6b3B0aW9uYWw8V0dQVVJlbmRlclBhc3NEZXB0aFN0
ZW5jaWxBdHRhY2htZW50PiBkZXB0aFN0ZW5jaWxBdHRhY2htZW50OwogICAgIGlmIChkZXNjcmlw
dG9yLmRlcHRoU3RlbmNpbEF0dGFjaG1lbnQpIHsKICAgICAgICAgZGVwdGhTdGVuY2lsQXR0YWNo
bWVudCA9IFdHUFVSZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNobWVudCB7CiAgICAgICAgICAg
ICBtX2NvbnZlcnRUb0JhY2tpbmdDb250ZXh0LT5jb252ZXJ0VG9CYWNraW5nKGRlc2NyaXB0b3Iu
ZGVwdGhTdGVuY2lsQXR0YWNobWVudC0+dmlldyksCi0gICAgICAgICAgICBzdGQ6OmhvbGRzX2Fs
dGVybmF0aXZlPExvYWRPcD4oZGVzY3JpcHRvci5kZXB0aFN0ZW5jaWxBdHRhY2htZW50LT5kZXB0
aExvYWRWYWx1ZSkgPyBtX2NvbnZlcnRUb0JhY2tpbmdDb250ZXh0LT5jb252ZXJ0VG9CYWNraW5n
KHN0ZDo6Z2V0PExvYWRPcD4oZGVzY3JpcHRvci5kZXB0aFN0ZW5jaWxBdHRhY2htZW50LT5kZXB0
aExvYWRWYWx1ZSkpIDogV0dQVUxvYWRPcF9DbGVhciwKLSAgICAgICAgICAgIG1fY29udmVydFRv
QmFja2luZ0NvbnRleHQtPmNvbnZlcnRUb0JhY2tpbmcoZGVzY3JpcHRvci5kZXB0aFN0ZW5jaWxB
dHRhY2htZW50LT5kZXB0aFN0b3JlT3ApLAotICAgICAgICAgICAgV1RGOjpzd2l0Y2hPbihkZXNj
cmlwdG9yLmRlcHRoU3RlbmNpbEF0dGFjaG1lbnQtPmRlcHRoTG9hZFZhbHVlLCBbXSAoTG9hZE9w
KSAtPiBmbG9hdCB7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIDA7Ci0gICAgICAgICAgICB9LCBb
XSAoZmxvYXQgY2xlYXJEZXB0aCkgLT4gZmxvYXQgewotICAgICAgICAgICAgICAgIHJldHVybiBj
bGVhckRlcHRoOwotICAgICAgICAgICAgfSksCisgICAgICAgICAgICBkZXNjcmlwdG9yLmRlcHRo
U3RlbmNpbEF0dGFjaG1lbnQtPmRlcHRoTG9hZE9wID8gbV9jb252ZXJ0VG9CYWNraW5nQ29udGV4
dC0+Y29udmVydFRvQmFja2luZygqZGVzY3JpcHRvci5kZXB0aFN0ZW5jaWxBdHRhY2htZW50LT5k
ZXB0aExvYWRPcCkgOiBXR1BVTG9hZE9wX0NsZWFyLAorICAgICAgICAgICAgZGVzY3JpcHRvci5k
ZXB0aFN0ZW5jaWxBdHRhY2htZW50LT5kZXB0aFN0b3JlT3AgPyBtX2NvbnZlcnRUb0JhY2tpbmdD
b250ZXh0LT5jb252ZXJ0VG9CYWNraW5nKCpkZXNjcmlwdG9yLmRlcHRoU3RlbmNpbEF0dGFjaG1l
bnQtPmRlcHRoU3RvcmVPcCkgOiBXR1BVU3RvcmVPcF9EaXNjYXJkLAorICAgICAgICAgICAgZGVz
Y3JpcHRvci5kZXB0aFN0ZW5jaWxBdHRhY2htZW50LT5kZXB0aENsZWFyVmFsdWUsCiAgICAgICAg
ICAgICBkZXNjcmlwdG9yLmRlcHRoU3RlbmNpbEF0dGFjaG1lbnQtPmRlcHRoUmVhZE9ubHksCi0g
ICAgICAgICAgICBzdGQ6OmhvbGRzX2FsdGVybmF0aXZlPExvYWRPcD4oZGVzY3JpcHRvci5kZXB0
aFN0ZW5jaWxBdHRhY2htZW50LT5zdGVuY2lsTG9hZFZhbHVlKSA/IG1fY29udmVydFRvQmFja2lu
Z0NvbnRleHQtPmNvbnZlcnRUb0JhY2tpbmcoc3RkOjpnZXQ8TG9hZE9wPihkZXNjcmlwdG9yLmRl
cHRoU3RlbmNpbEF0dGFjaG1lbnQtPnN0ZW5jaWxMb2FkVmFsdWUpKSA6IFdHUFVMb2FkT3BfQ2xl
YXIsCi0gICAgICAgICAgICBtX2NvbnZlcnRUb0JhY2tpbmdDb250ZXh0LT5jb252ZXJ0VG9CYWNr
aW5nKGRlc2NyaXB0b3IuZGVwdGhTdGVuY2lsQXR0YWNobWVudC0+c3RlbmNpbFN0b3JlT3ApLAot
ICAgICAgICAgICAgV1RGOjpzd2l0Y2hPbihkZXNjcmlwdG9yLmRlcHRoU3RlbmNpbEF0dGFjaG1l
bnQtPnN0ZW5jaWxMb2FkVmFsdWUsIFtdIChMb2FkT3ApIC0+IHVpbnQzMl90IHsKLSAgICAgICAg
ICAgICAgICByZXR1cm4gMDsKLSAgICAgICAgICAgIH0sIFtdIChTdGVuY2lsVmFsdWUgY2xlYXJT
dGVuY2lsKSAtPiB1aW50MzJfdCB7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGNsZWFyU3RlbmNp
bDsKLSAgICAgICAgICAgIH0pLAorICAgICAgICAgICAgZGVzY3JpcHRvci5kZXB0aFN0ZW5jaWxB
dHRhY2htZW50LT5zdGVuY2lsTG9hZE9wID8gbV9jb252ZXJ0VG9CYWNraW5nQ29udGV4dC0+Y29u
dmVydFRvQmFja2luZygqZGVzY3JpcHRvci5kZXB0aFN0ZW5jaWxBdHRhY2htZW50LT5zdGVuY2ls
TG9hZE9wKSA6IFdHUFVMb2FkT3BfQ2xlYXIsCisgICAgICAgICAgICBkZXNjcmlwdG9yLmRlcHRo
U3RlbmNpbEF0dGFjaG1lbnQtPnN0ZW5jaWxTdG9yZU9wID8gbV9jb252ZXJ0VG9CYWNraW5nQ29u
dGV4dC0+Y29udmVydFRvQmFja2luZygqZGVzY3JpcHRvci5kZXB0aFN0ZW5jaWxBdHRhY2htZW50
LT5zdGVuY2lsU3RvcmVPcCkgOiBXR1BVU3RvcmVPcF9EaXNjYXJkLAorICAgICAgICAgICAgZGVz
Y3JpcHRvci5kZXB0aFN0ZW5jaWxBdHRhY2htZW50LT5zdGVuY2lsQ2xlYXJWYWx1ZSwKICAgICAg
ICAgICAgIGRlc2NyaXB0b3IuZGVwdGhTdGVuY2lsQXR0YWNobWVudC0+c3RlbmNpbFJlYWRPbmx5
LAogICAgICAgICB9OwogICAgIH0KIAotICAgIGF1dG8gbGFiZWwgPSBkZXNjcmlwdG9yLmxhYmVs
LnV0ZjgoKTsKKyAgICBWZWN0b3I8V0dQVVJlbmRlclBhc3NUaW1lc3RhbXBXcml0ZT4gdGltZXN0
YW1wV3JpdGVzOworICAgIGZvciAoY29uc3QgYXV0byYgdGltZXN0YW1wV3JpdGUgOiBkZXNjcmlw
dG9yLnRpbWVzdGFtcFdyaXRlcykgeworICAgICAgICB0aW1lc3RhbXBXcml0ZXMuYXBwZW5kKFdH
UFVSZW5kZXJQYXNzVGltZXN0YW1wV3JpdGUgeworICAgICAgICAgICAgbV9jb252ZXJ0VG9CYWNr
aW5nQ29udGV4dC0+Y29udmVydFRvQmFja2luZyh0aW1lc3RhbXBXcml0ZS5xdWVyeVNldCksCisg
ICAgICAgICAgICB0aW1lc3RhbXBXcml0ZS5xdWVyeUluZGV4LAorICAgICAgICAgICAgbV9jb252
ZXJ0VG9CYWNraW5nQ29udGV4dC0+Y29udmVydFRvQmFja2luZyh0aW1lc3RhbXBXcml0ZS5sb2Nh
dGlvbiksCisgICAgICAgIH0pOworICAgIH0KIAogICAgIFdHUFVSZW5kZXJQYXNzRGVzY3JpcHRv
ciBiYWNraW5nRGVzY3JpcHRvciB7CiAgICAgICAgIG51bGxwdHIsCkBAIC0xMTIsNiArMTA2LDgg
QEAgUmVmPFJlbmRlclBhc3NFbmNvZGVyPiBDb21tYW5kRW5jb2RlckltcGw6OmJlZ2luUmVuZGVy
UGFzcyhjb25zdCBSZW5kZXJQYXNzRGVzY3IKICAgICAgICAgY29sb3JBdHRhY2htZW50cy5kYXRh
KCksCiAgICAgICAgIGRlcHRoU3RlbmNpbEF0dGFjaG1lbnQgPyAmZGVwdGhTdGVuY2lsQXR0YWNo
bWVudC52YWx1ZSgpIDogbnVsbHB0ciwKICAgICAgICAgZGVzY3JpcHRvci5vY2NsdXNpb25RdWVy
eVNldCA/IG1fY29udmVydFRvQmFja2luZ0NvbnRleHQtPmNvbnZlcnRUb0JhY2tpbmcoKmRlc2Ny
aXB0b3Iub2NjbHVzaW9uUXVlcnlTZXQpIDogbnVsbHB0ciwKKyAgICAgICAgc3RhdGljX2Nhc3Q8
dWludDMyX3Q+KHRpbWVzdGFtcFdyaXRlcy5zaXplKCkpLAorICAgICAgICB0aW1lc3RhbXBXcml0
ZXMuZGF0YSgpLAogICAgIH07CiAKICAgICByZXR1cm4gUmVuZGVyUGFzc0VuY29kZXJJbXBsOjpj
cmVhdGUod2dwdUNvbW1hbmRFbmNvZGVyQmVnaW5SZW5kZXJQYXNzKG1fYmFja2luZywgJmJhY2tp
bmdEZXNjcmlwdG9yKSwgbV9jb252ZXJ0VG9CYWNraW5nQ29udGV4dCk7CkBAIC0xMjEsOSArMTE3
LDIyIEBAIFJlZjxDb21wdXRlUGFzc0VuY29kZXI+IENvbW1hbmRFbmNvZGVySW1wbDo6YmVnaW5D
b21wdXRlUGFzcyhjb25zdCBzdGQ6Om9wdGlvbmFsCiB7CiAgICAgQ1N0cmluZyBsYWJlbCA9IGRl
c2NyaXB0b3IgPyBkZXNjcmlwdG9yLT5sYWJlbC51dGY4KCkgOiBDU3RyaW5nKCIiKTsKIAorICAg
IFZlY3RvcjxXR1BVQ29tcHV0ZVBhc3NUaW1lc3RhbXBXcml0ZT4gdGltZXN0YW1wV3JpdGVzOwor
ICAgIGlmIChkZXNjcmlwdG9yKSB7CisgICAgICAgIGZvciAoY29uc3QgYXV0byYgdGltZXN0YW1w
V3JpdGUgOiBkZXNjcmlwdG9yLT50aW1lc3RhbXBXcml0ZXMpIHsKKyAgICAgICAgICAgIHRpbWVz
dGFtcFdyaXRlcy5hcHBlbmQoV0dQVUNvbXB1dGVQYXNzVGltZXN0YW1wV3JpdGUgeworICAgICAg
ICAgICAgICAgIG1fY29udmVydFRvQmFja2luZ0NvbnRleHQtPmNvbnZlcnRUb0JhY2tpbmcodGlt
ZXN0YW1wV3JpdGUucXVlcnlTZXQpLAorICAgICAgICAgICAgICAgIHRpbWVzdGFtcFdyaXRlLnF1
ZXJ5SW5kZXgsCisgICAgICAgICAgICAgICAgbV9jb252ZXJ0VG9CYWNraW5nQ29udGV4dC0+Y29u
dmVydFRvQmFja2luZyh0aW1lc3RhbXBXcml0ZS5sb2NhdGlvbiksCisgICAgICAgICAgICB9KTsK
KyAgICAgICAgfQorICAgIH0KKwogICAgIFdHUFVDb21wdXRlUGFzc0Rlc2NyaXB0b3IgYmFja2lu
Z0Rlc2NyaXB0b3IgewogICAgICAgICBudWxscHRyLAogICAgICAgICBsYWJlbC5kYXRhKCksCisg
ICAgICAgIHN0YXRpY19jYXN0PHVpbnQzMl90Pih0aW1lc3RhbXBXcml0ZXMuc2l6ZSgpKSwKKyAg
ICAgICAgdGltZXN0YW1wV3JpdGVzLmRhdGEoKSwKICAgICB9OwogCiAgICAgcmV0dXJuIENvbXB1
dGVQYXNzRW5jb2RlckltcGw6OmNyZWF0ZSh3Z3B1Q29tbWFuZEVuY29kZXJCZWdpbkNvbXB1dGVQ
YXNzKG1fYmFja2luZywgJmJhY2tpbmdEZXNjcmlwdG9yKSwgbV9jb252ZXJ0VG9CYWNraW5nQ29u
dGV4dCk7CkBAIC0yMjEsMTIgKzIzMCwxMiBAQCB2b2lkIENvbW1hbmRFbmNvZGVySW1wbDo6Y29w
eVRleHR1cmVUb1RleHR1cmUoCiAgICAgd2dwdUNvbW1hbmRFbmNvZGVyQ29weVRleHR1cmVUb1Rl
eHR1cmUobV9iYWNraW5nLCAmYmFja2luZ1NvdXJjZSwgJmJhY2tpbmdEZXN0aW5hdGlvbiwgJmJh
Y2tpbmdDb3B5U2l6ZSk7CiB9CiAKLXZvaWQgQ29tbWFuZEVuY29kZXJJbXBsOjpmaWxsQnVmZmVy
KAotICAgIGNvbnN0IEJ1ZmZlciYgZGVzdGluYXRpb24sCi0gICAgU2l6ZTY0IGRlc3RpbmF0aW9u
T2Zmc2V0LAotICAgIFNpemU2NCBzaXplKQordm9pZCBDb21tYW5kRW5jb2RlckltcGw6OmNsZWFy
QnVmZmVyKAorICAgIGNvbnN0IEJ1ZmZlciYgYnVmZmVyLAorICAgIFNpemU2NCBvZmZzZXQsCisg
ICAgc3RkOjpvcHRpb25hbDxTaXplNjQ+IHNpemUpCiB7Ci0gICAgd2dwdUNvbW1hbmRFbmNvZGVy
RmlsbEJ1ZmZlcihtX2JhY2tpbmcsIG1fY29udmVydFRvQmFja2luZ0NvbnRleHQtPmNvbnZlcnRU
b0JhY2tpbmcoZGVzdGluYXRpb24pLCBkZXN0aW5hdGlvbk9mZnNldCwgc2l6ZSk7CisgICAgd2dw
dUNvbW1hbmRFbmNvZGVyQ2xlYXJCdWZmZXIobV9iYWNraW5nLCBtX2NvbnZlcnRUb0JhY2tpbmdD
b250ZXh0LT5jb252ZXJ0VG9CYWNraW5nKGJ1ZmZlciksIG9mZnNldCwgc2l6ZS52YWx1ZV9vcihX
R1BVX1dIT0xFX1NJWkUpKTsKIH0KIAogdm9pZCBDb21tYW5kRW5jb2RlckltcGw6OnB1c2hEZWJ1
Z0dyb3VwKFN0cmluZyYmIGdyb3VwTGFiZWwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVUNvbW1hbmRFbmNvZGVySW1wbC5oIGIv
U291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9XZWJHUFVDb21tYW5k
RW5jb2RlckltcGwuaAppbmRleCBhZDYwYWMwMmIxYWQ2ZTI0MDg5NGI5ZDVhMjkxMGJiYmQ0MzYx
MWE5Li4xNzE3YWRkM2JjOTgwYWM1NDg2YWQ3M2EzOTI5MTViNDhhZDk2MjBjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVUNvbW1h
bmRFbmNvZGVySW1wbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2Vi
R1BVL0ltcGwvV2ViR1BVQ29tbWFuZEVuY29kZXJJbXBsLmgKQEAgLTgxLDEwICs4MSwxMCBAQCBw
cml2YXRlOgogICAgICAgICBjb25zdCBJbWFnZUNvcHlUZXh0dXJlJiBkZXN0aW5hdGlvbiwKICAg
ICAgICAgY29uc3QgRXh0ZW50M0QmIGNvcHlTaXplKSBmaW5hbDsKIAotICAgIHZvaWQgZmlsbEJ1
ZmZlcigKLSAgICAgICAgY29uc3QgQnVmZmVyJiBkZXN0aW5hdGlvbiwKLSAgICAgICAgU2l6ZTY0
IGRlc3RpbmF0aW9uT2Zmc2V0LAotICAgICAgICBTaXplNjQpIGZpbmFsOworICAgIHZvaWQgY2xl
YXJCdWZmZXIoCisgICAgICAgIGNvbnN0IEJ1ZmZlciYsCisgICAgICAgIFNpemU2NCBvZmZzZXQs
CisgICAgICAgIHN0ZDo6b3B0aW9uYWw8U2l6ZTY0PikgZmluYWw7CiAKICAgICB2b2lkIHB1c2hE
ZWJ1Z0dyb3VwKFN0cmluZyYmIGdyb3VwTGFiZWwpIGZpbmFsOwogICAgIHZvaWQgcG9wRGVidWdH
cm91cCgpIGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGlj
cy9XZWJHUFUvSW1wbC9XZWJHUFVDb21wdXRlUGFzc0VuY29kZXJJbXBsLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwvV2ViR1BVQ29tcHV0ZVBhc3NFbmNv
ZGVySW1wbC5jcHAKaW5kZXggZWRkNTlkNjU5NzZmMDRhN2MxYjM3ZmQxYWJiMDhkNTRiZTRmNzYx
Ny4uMmRkZWViNDlkZWU0YTY4OGIyNjEyMjE4YjQ0NTA4OTczMjM4NDQ3NCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9XZWJHUFVDb21wdXRl
UGFzc0VuY29kZXJJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNz
L1dlYkdQVS9JbXBsL1dlYkdQVUNvbXB1dGVQYXNzRW5jb2RlckltcGwuY3BwCkBAIC01Myw5ICs1
Myw5IEBAIHZvaWQgQ29tcHV0ZVBhc3NFbmNvZGVySW1wbDo6c2V0UGlwZWxpbmUoY29uc3QgQ29t
cHV0ZVBpcGVsaW5lJiBjb21wdXRlUGlwZWxpbmUpCiAgICAgd2dwdUNvbXB1dGVQYXNzRW5jb2Rl
clNldFBpcGVsaW5lKG1fYmFja2luZywgbV9jb252ZXJ0VG9CYWNraW5nQ29udGV4dC0+Y29udmVy
dFRvQmFja2luZyhjb21wdXRlUGlwZWxpbmUpKTsKIH0KIAotdm9pZCBDb21wdXRlUGFzc0VuY29k
ZXJJbXBsOjpkaXNwYXRjaChTaXplMzIgeCwgc3RkOjpvcHRpb25hbDxTaXplMzI+IHksIHN0ZDo6
b3B0aW9uYWw8U2l6ZTMyPiB6KQordm9pZCBDb21wdXRlUGFzc0VuY29kZXJJbXBsOjpkaXNwYXRj
aChTaXplMzIgd29ya2dyb3VwQ291bnRYLCBTaXplMzIgd29ya2dyb3VwQ291bnRZLCBTaXplMzIg
d29ya2dyb3VwQ291bnRaKQogewotICAgIHdncHVDb21wdXRlUGFzc0VuY29kZXJEaXNwYXRjaCht
X2JhY2tpbmcsIHgsIHkudmFsdWVfb3IoMSksIHoudmFsdWVfb3IoMSkpOworICAgIHdncHVDb21w
dXRlUGFzc0VuY29kZXJEaXNwYXRjaChtX2JhY2tpbmcsIHdvcmtncm91cENvdW50WCwgd29ya2dy
b3VwQ291bnRZLCB3b3JrZ3JvdXBDb3VudFopOwogfQogCiB2b2lkIENvbXB1dGVQYXNzRW5jb2Rl
ckltcGw6OmRpc3BhdGNoSW5kaXJlY3QoY29uc3QgQnVmZmVyJiBpbmRpcmVjdEJ1ZmZlciwgU2l6
ZTY0IGluZGlyZWN0T2Zmc2V0KQpAQCAtNjMsMTcgKzYzLDcgQEAgdm9pZCBDb21wdXRlUGFzc0Vu
Y29kZXJJbXBsOjpkaXNwYXRjaEluZGlyZWN0KGNvbnN0IEJ1ZmZlciYgaW5kaXJlY3RCdWZmZXIs
IFNpemUKICAgICB3Z3B1Q29tcHV0ZVBhc3NFbmNvZGVyRGlzcGF0Y2hJbmRpcmVjdChtX2JhY2tp
bmcsIG1fY29udmVydFRvQmFja2luZ0NvbnRleHQtPmNvbnZlcnRUb0JhY2tpbmcoaW5kaXJlY3RC
dWZmZXIpLCBpbmRpcmVjdE9mZnNldCk7CiB9CiAKLXZvaWQgQ29tcHV0ZVBhc3NFbmNvZGVySW1w
bDo6YmVnaW5QaXBlbGluZVN0YXRpc3RpY3NRdWVyeShjb25zdCBRdWVyeVNldCYgcXVlcnlTZXQs
IFNpemUzMiBxdWVyeUluZGV4KQotewotICAgIHdncHVDb21wdXRlUGFzc0VuY29kZXJCZWdpblBp
cGVsaW5lU3RhdGlzdGljc1F1ZXJ5KG1fYmFja2luZywgbV9jb252ZXJ0VG9CYWNraW5nQ29udGV4
dC0+Y29udmVydFRvQmFja2luZyhxdWVyeVNldCksIHF1ZXJ5SW5kZXgpOwotfQotCi12b2lkIENv
bXB1dGVQYXNzRW5jb2RlckltcGw6OmVuZFBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KCkKLXsKLSAg
ICB3Z3B1Q29tcHV0ZVBhc3NFbmNvZGVyRW5kUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkobV9iYWNr
aW5nKTsKLX0KLQotdm9pZCBDb21wdXRlUGFzc0VuY29kZXJJbXBsOjplbmRQYXNzKCkKK3ZvaWQg
Q29tcHV0ZVBhc3NFbmNvZGVySW1wbDo6ZW5kKCkKIHsKICAgICB3Z3B1Q29tcHV0ZVBhc3NFbmNv
ZGVyRW5kUGFzcyhtX2JhY2tpbmcpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFM
L3BhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9XZWJHUFVDb21wdXRlUGFzc0VuY29kZXJJbXBsLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVUNvbXB1
dGVQYXNzRW5jb2RlckltcGwuaAppbmRleCA1Mjg4YjViOGMwZGJlN2E2MTBlYjExNjUzMTU1ZjMz
Y2ExNTNkNTEzLi4wZjM2NjFkOTliZWRiNGZjMjQ5MTgxZGFjNDdmNjNhNzU0MjJmM2QwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQ
VUNvbXB1dGVQYXNzRW5jb2RlckltcGwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dy
YXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVUNvbXB1dGVQYXNzRW5jb2RlckltcGwuaApAQCAtNTcs
MTMgKzU3LDEwIEBAIHByaXZhdGU6CiAgICAgV0dQVUNvbXB1dGVQYXNzRW5jb2RlciBiYWNraW5n
KCkgY29uc3QgeyByZXR1cm4gbV9iYWNraW5nOyB9CiAKICAgICB2b2lkIHNldFBpcGVsaW5lKGNv
bnN0IENvbXB1dGVQaXBlbGluZSYpIGZpbmFsOwotICAgIHZvaWQgZGlzcGF0Y2goU2l6ZTMyIHgs
IHN0ZDo6b3B0aW9uYWw8U2l6ZTMyPiB5LCBzdGQ6Om9wdGlvbmFsPFNpemUzMj4pIGZpbmFsOwor
ICAgIHZvaWQgZGlzcGF0Y2goU2l6ZTMyIHdvcmtncm91cENvdW50WCwgU2l6ZTMyIHdvcmtncm91
cENvdW50WSwgU2l6ZTMyIHdvcmtncm91cENvdW50WikgZmluYWw7CiAgICAgdm9pZCBkaXNwYXRj
aEluZGlyZWN0KGNvbnN0IEJ1ZmZlciYgaW5kaXJlY3RCdWZmZXIsIFNpemU2NCBpbmRpcmVjdE9m
ZnNldCkgZmluYWw7CiAKLSAgICB2b2lkIGJlZ2luUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkoY29u
c3QgUXVlcnlTZXQmLCBTaXplMzIgcXVlcnlJbmRleCkgZmluYWw7Ci0gICAgdm9pZCBlbmRQaXBl
bGluZVN0YXRpc3RpY3NRdWVyeSgpIGZpbmFsOwotCi0gICAgdm9pZCBlbmRQYXNzKCkgZmluYWw7
CisgICAgdm9pZCBlbmQoKSBmaW5hbDsKIAogICAgIHZvaWQgc2V0QmluZEdyb3VwKEluZGV4MzIs
IGNvbnN0IEJpbmRHcm91cCYsCiAgICAgICAgIHN0ZDo6b3B0aW9uYWw8VmVjdG9yPEJ1ZmZlckR5
bmFtaWNPZmZzZXQ+PiYmKSBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9w
YWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwvV2ViR1BVQ29udmVydFRvQmFja2luZ0NvbnRleHQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9XZWJHUFVDb252
ZXJ0VG9CYWNraW5nQ29udGV4dC5jcHAKaW5kZXggMGZiZmI0ZWNkNmI2NWM0NDFmNzE1NDMzZDJj
NjUwOWQ4ZGU0MjNhYS4uNzVmOTdjMjMzYTUxZTVlOTA4YjljNWRmOWIwYjdkNTA3NzdjODY3ZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9X
ZWJHUFVDb252ZXJ0VG9CYWNraW5nQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvUEFM
L3BhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9XZWJHUFVDb252ZXJ0VG9CYWNraW5nQ29udGV4dC5j
cHAKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNsdWRlICJXZWJHUFVCdWZmZXJCaW5kaW5nVHlwZS5o
IgogI2luY2x1ZGUgIldlYkdQVUNvbXBhcmVGdW5jdGlvbi5oIgogI2luY2x1ZGUgIldlYkdQVUNv
bXBpbGF0aW9uTWVzc2FnZVR5cGUuaCIKKyNpbmNsdWRlICJXZWJHUFVDb21wdXRlUGFzc1RpbWVz
dGFtcExvY2F0aW9uLmgiCiAjaW5jbHVkZSAiV2ViR1BVQ3VsbE1vZGUuaCIKICNpbmNsdWRlICJX
ZWJHUFVFcnJvckZpbHRlci5oIgogI2luY2x1ZGUgIldlYkdQVUZlYXR1cmVOYW1lLmgiCkBAIC00
MSwxMCArNDIsMTAgQEAKICNpbmNsdWRlICJXZWJHUFVGcm9udEZhY2UuaCIKICNpbmNsdWRlICJX
ZWJHUFVJbmRleEZvcm1hdC5oIgogI2luY2x1ZGUgIldlYkdQVUxvYWRPcC5oIgotI2luY2x1ZGUg
IldlYkdQVVBpcGVsaW5lU3RhdGlzdGljTmFtZS5oIgogI2luY2x1ZGUgIldlYkdQVVBvd2VyUHJl
ZmVyZW5jZS5oIgogI2luY2x1ZGUgIldlYkdQVVByaW1pdGl2ZVRvcG9sb2d5LmgiCiAjaW5jbHVk
ZSAiV2ViR1BVUXVlcnlUeXBlLmgiCisjaW5jbHVkZSAiV2ViR1BVUmVuZGVyUGFzc1RpbWVzdGFt
cExvY2F0aW9uLmgiCiAjaW5jbHVkZSAiV2ViR1BVU2FtcGxlckJpbmRpbmdUeXBlLmgiCiAjaW5j
bHVkZSAiV2ViR1BVU3RlbmNpbE9wZXJhdGlvbi5oIgogI2luY2x1ZGUgIldlYkdQVVN0b3JhZ2VU
ZXh0dXJlQWNjZXNzLmgiCkBAIC0xNjYsNiArMTY3LDE2IEBAIFdHUFVDb21waWxhdGlvbk1lc3Nh
Z2VUeXBlIENvbnZlcnRUb0JhY2tpbmdDb250ZXh0Ojpjb252ZXJ0VG9CYWNraW5nKENvbXBpbGF0
aW9uCiAgICAgfQogfQogCitXR1BVQ29tcHV0ZVBhc3NUaW1lc3RhbXBMb2NhdGlvbiBDb252ZXJ0
VG9CYWNraW5nQ29udGV4dDo6Y29udmVydFRvQmFja2luZyhDb21wdXRlUGFzc1RpbWVzdGFtcExv
Y2F0aW9uIGNvbXB1dGVQYXNzVGltZXN0YW1wTG9jYXRpb24pCit7CisgICAgc3dpdGNoIChjb21w
dXRlUGFzc1RpbWVzdGFtcExvY2F0aW9uKSB7CisgICAgY2FzZSBDb21wdXRlUGFzc1RpbWVzdGFt
cExvY2F0aW9uOjpCZWdpbm5pbmc6CisgICAgICAgIHJldHVybiBXR1BVQ29tcHV0ZVBhc3NUaW1l
c3RhbXBMb2NhdGlvbl9CZWdpbm5pbmc7CisgICAgY2FzZSBDb21wdXRlUGFzc1RpbWVzdGFtcExv
Y2F0aW9uOjpFbmQ6CisgICAgICAgIHJldHVybiBXR1BVQ29tcHV0ZVBhc3NUaW1lc3RhbXBMb2Nh
dGlvbl9FbmQ7CisgICAgfQorfQorCiBXR1BVQ3VsbE1vZGUgQ29udmVydFRvQmFja2luZ0NvbnRl
eHQ6OmNvbnZlcnRUb0JhY2tpbmcoQ3VsbE1vZGUgY3VsbE1vZGUpCiB7CiAgICAgc3dpdGNoIChj
dWxsTW9kZSkgewpAQCAtMTk3LDggKzIwOCw2IEBAIFdHUFVGZWF0dXJlTmFtZSBDb252ZXJ0VG9C
YWNraW5nQ29udGV4dDo6Y29udmVydFRvQmFja2luZyhGZWF0dXJlTmFtZSBmZWF0dXJlTmFtCiAg
ICAgICAgIHJldHVybiBXR1BVRmVhdHVyZU5hbWVfRGVwdGgyNFVub3JtU3RlbmNpbDg7CiAgICAg
Y2FzZSBGZWF0dXJlTmFtZTo6RGVwdGgzMmZsb2F0U3RlbmNpbDg6CiAgICAgICAgIHJldHVybiBX
R1BVRmVhdHVyZU5hbWVfRGVwdGgzMkZsb2F0U3RlbmNpbDg7Ci0gICAgY2FzZSBGZWF0dXJlTmFt
ZTo6UGlwZWxpbmVTdGF0aXN0aWNzUXVlcnk6Ci0gICAgICAgIHJldHVybiBXR1BVRmVhdHVyZU5h
bWVfUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnk7CiAgICAgY2FzZSBGZWF0dXJlTmFtZTo6VGV4dHVy
ZUNvbXByZXNzaW9uQmM6CiAgICAgICAgIHJldHVybiBXR1BVRmVhdHVyZU5hbWVfVGV4dHVyZUNv
bXByZXNzaW9uQkM7CiAgICAgY2FzZSBGZWF0dXJlTmFtZTo6VGV4dHVyZUNvbXByZXNzaW9uRXRj
MjoKQEAgLTI0NywyMiArMjU2LDggQEAgV0dQVUxvYWRPcCBDb252ZXJ0VG9CYWNraW5nQ29udGV4
dDo6Y29udmVydFRvQmFja2luZyhMb2FkT3AgbG9hZE9wKQogICAgIHN3aXRjaCAobG9hZE9wKSB7
CiAgICAgY2FzZSBMb2FkT3A6OkxvYWQ6CiAgICAgICAgIHJldHVybiBXR1BVTG9hZE9wX0xvYWQ7
Ci0gICAgfQotfQotCi1XR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lIENvbnZlcnRUb0JhY2tpbmdD
b250ZXh0Ojpjb252ZXJ0VG9CYWNraW5nKFBpcGVsaW5lU3RhdGlzdGljTmFtZSBwaXBlbGluZVN0
YXRpc3RpY05hbWUpCi17Ci0gICAgc3dpdGNoIChwaXBlbGluZVN0YXRpc3RpY05hbWUpIHsKLSAg
ICBjYXNlIFBpcGVsaW5lU3RhdGlzdGljTmFtZTo6VmVydGV4U2hhZGVySW52b2NhdGlvbnM6Ci0g
ICAgICAgIHJldHVybiBXR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lX1ZlcnRleFNoYWRlckludm9j
YXRpb25zOwotICAgIGNhc2UgUGlwZWxpbmVTdGF0aXN0aWNOYW1lOjpDbGlwcGVySW52b2NhdGlv
bnM6Ci0gICAgICAgIHJldHVybiBXR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lX0NsaXBwZXJJbnZv
Y2F0aW9uczsKLSAgICBjYXNlIFBpcGVsaW5lU3RhdGlzdGljTmFtZTo6Q2xpcHBlclByaW1pdGl2
ZXNPdXQ6Ci0gICAgICAgIHJldHVybiBXR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lX0NsaXBwZXJQ
cmltaXRpdmVzT3V0OwotICAgIGNhc2UgUGlwZWxpbmVTdGF0aXN0aWNOYW1lOjpGcmFnbWVudFNo
YWRlckludm9jYXRpb25zOgotICAgICAgICByZXR1cm4gV0dQVVBpcGVsaW5lU3RhdGlzdGljTmFt
ZV9GcmFnbWVudFNoYWRlckludm9jYXRpb25zOwotICAgIGNhc2UgUGlwZWxpbmVTdGF0aXN0aWNO
YW1lOjpDb21wdXRlU2hhZGVySW52b2NhdGlvbnM6Ci0gICAgICAgIHJldHVybiBXR1BVUGlwZWxp
bmVTdGF0aXN0aWNOYW1lX0NvbXB1dGVTaGFkZXJJbnZvY2F0aW9uczsKKyAgICBjYXNlIExvYWRP
cDo6Q2xlYXI6CisgICAgICAgIHJldHVybiBXR1BVTG9hZE9wX0NsZWFyOwogICAgIH0KIH0KIApA
QCAtMjk3LDEzICsyOTIsMjEgQEAgV0dQVVF1ZXJ5VHlwZSBDb252ZXJ0VG9CYWNraW5nQ29udGV4
dDo6Y29udmVydFRvQmFja2luZyhRdWVyeVR5cGUgcXVlcnlUeXBlKQogICAgIHN3aXRjaCAocXVl
cnlUeXBlKSB7CiAgICAgY2FzZSBRdWVyeVR5cGU6Ok9jY2x1c2lvbjoKICAgICAgICAgcmV0dXJu
IFdHUFVRdWVyeVR5cGVfT2NjbHVzaW9uOwotICAgIGNhc2UgUXVlcnlUeXBlOjpQaXBlbGluZVN0
YXRpc3RpY3M6Ci0gICAgICAgIHJldHVybiBXR1BVUXVlcnlUeXBlX1BpcGVsaW5lU3RhdGlzdGlj
czsKICAgICBjYXNlIFF1ZXJ5VHlwZTo6VGltZXN0YW1wOgogICAgICAgICByZXR1cm4gV0dQVVF1
ZXJ5VHlwZV9UaW1lc3RhbXA7CiAgICAgfQogfQogCitXR1BVUmVuZGVyUGFzc1RpbWVzdGFtcExv
Y2F0aW9uIENvbnZlcnRUb0JhY2tpbmdDb250ZXh0Ojpjb252ZXJ0VG9CYWNraW5nKFJlbmRlclBh
c3NUaW1lc3RhbXBMb2NhdGlvbiByZW5kZXJQYXNzVGltZXN0YW1wTG9jYXRpb24pCit7CisgICAg
c3dpdGNoIChyZW5kZXJQYXNzVGltZXN0YW1wTG9jYXRpb24pIHsKKyAgICBjYXNlIFJlbmRlclBh
c3NUaW1lc3RhbXBMb2NhdGlvbjo6QmVnaW5uaW5nOgorICAgICAgICByZXR1cm4gV0dQVVJlbmRl
clBhc3NUaW1lc3RhbXBMb2NhdGlvbl9CZWdpbm5pbmc7CisgICAgY2FzZSBSZW5kZXJQYXNzVGlt
ZXN0YW1wTG9jYXRpb246OkVuZDoKKyAgICAgICAgcmV0dXJuIFdHUFVSZW5kZXJQYXNzVGltZXN0
YW1wTG9jYXRpb25fRW5kOworICAgIH0KK30KKwogV0dQVVNhbXBsZXJCaW5kaW5nVHlwZSBDb252
ZXJ0VG9CYWNraW5nQ29udGV4dDo6Y29udmVydFRvQmFja2luZyhTYW1wbGVyQmluZGluZ1R5cGUg
c2FtcGxlckJpbmRpbmdUeXBlKQogewogICAgIHN3aXRjaCAoc2FtcGxlckJpbmRpbmdUeXBlKSB7
CkBAIC00OTYsMTEgKzQ5OSwxMSBAQCBXR1BVVGV4dHVyZUZvcm1hdCBDb252ZXJ0VG9CYWNraW5n
Q29udGV4dDo6Y29udmVydFRvQmFja2luZyhUZXh0dXJlRm9ybWF0IHRleHR1cgogICAgIGNhc2Ug
VGV4dHVyZUZvcm1hdDo6RXRjMlJnYjh1bm9ybToKICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0
PFdHUFVUZXh0dXJlRm9ybWF0PihXR1BVVGV4dHVyZUZvcm1hdF9FVEMyUkdCOFVub3JtKTsKICAg
ICBjYXNlIFRleHR1cmVGb3JtYXQ6OkV0YzJSZ2I4dW5vcm1TUkdCOgotICAgICAgICByZXR1cm4g
c3RhdGljX2Nhc3Q8V0dQVVRleHR1cmVGb3JtYXQ+KFdHUFVUZXh0dXJlRm9ybWF0X0VUQzJSR0I4
dW5vcm1TcmdiKTsKKyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFdHUFVUZXh0dXJlRm9ybWF0
PihXR1BVVGV4dHVyZUZvcm1hdF9FVEMyUkdCOFVub3JtU3JnYik7CiAgICAgY2FzZSBUZXh0dXJl
Rm9ybWF0OjpFdGMyUmdiOGExdW5vcm06Ci0gICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxXR1BV
VGV4dHVyZUZvcm1hdD4oV0dQVVRleHR1cmVGb3JtYXRfRVRDMlJHQjhhMVVub3JtKTsKKyAgICAg
ICAgcmV0dXJuIHN0YXRpY19jYXN0PFdHUFVUZXh0dXJlRm9ybWF0PihXR1BVVGV4dHVyZUZvcm1h
dF9FVEMyUkdCOEExVW5vcm0pOwogICAgIGNhc2UgVGV4dHVyZUZvcm1hdDo6RXRjMlJnYjhhMXVu
b3JtU1JHQjoKLSAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFdHUFVUZXh0dXJlRm9ybWF0PihX
R1BVVGV4dHVyZUZvcm1hdF9FVEMyUkdCOGExdW5vcm1TcmdiKTsKKyAgICAgICAgcmV0dXJuIHN0
YXRpY19jYXN0PFdHUFVUZXh0dXJlRm9ybWF0PihXR1BVVGV4dHVyZUZvcm1hdF9FVEMyUkdCOEEx
VW5vcm1TcmdiKTsKICAgICBjYXNlIFRleHR1cmVGb3JtYXQ6OkV0YzJSZ2JhOHVub3JtOgogICAg
ICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8V0dQVVRleHR1cmVGb3JtYXQ+KFdHUFVUZXh0dXJlRm9y
bWF0X0VUQzJSR0JBOFVub3JtKTsKICAgICBjYXNlIFRleHR1cmVGb3JtYXQ6OkV0YzJSZ2JhOHVu
b3JtU1JHQjoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2Vi
R1BVL0ltcGwvV2ViR1BVQ29udmVydFRvQmFja2luZ0NvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3Jl
L1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwvV2ViR1BVQ29udmVydFRvQmFja2luZ0NvbnRl
eHQuaAppbmRleCAwOTNkODMzYzRlM2FmMDAzNGMyOGVmOTRmZjE5NmY4MzlhZGE0MDI3Li43NTg1
MDhiZDIzNWM4ZjI0Y2M4ZDc0M2Y3OGMyMmM1YzM1OGFkNDAwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVUNvbnZlcnRUb0JhY2tp
bmdDb250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUv
SW1wbC9XZWJHUFVDb252ZXJ0VG9CYWNraW5nQ29udGV4dC5oCkBAIC01NCw2ICs1NCw3IEBAIGNs
YXNzIENvbW1hbmRCdWZmZXI7CiBjbGFzcyBDb21tYW5kRW5jb2RlcjsKIGVudW0gY2xhc3MgQ29t
cGFyZUZ1bmN0aW9uIDogdWludDhfdDsKIGVudW0gY2xhc3MgQ29tcGlsYXRpb25NZXNzYWdlVHlw
ZSA6IHVpbnQ4X3Q7CitlbnVtIGNsYXNzIENvbXB1dGVQYXNzVGltZXN0YW1wTG9jYXRpb24gOiB1
aW50OF90OwogY2xhc3MgQ29tcHV0ZVBhc3NFbmNvZGVyOwogY2xhc3MgQ29tcHV0ZVBpcGVsaW5l
OwogZW51bSBjbGFzcyBDdWxsTW9kZSA6IHVpbnQ4X3Q7CkBAIC02Niw3ICs2Nyw2IEBAIGNsYXNz
IEdQVTsKIGVudW0gY2xhc3MgSW5kZXhGb3JtYXQgOiB1aW50OF90OwogZW51bSBjbGFzcyBMb2Fk
T3AgOiB1aW50OF90OwogY2xhc3MgUGlwZWxpbmVMYXlvdXQ7Ci1lbnVtIGNsYXNzIFBpcGVsaW5l
U3RhdGlzdGljTmFtZSA6IHVpbnQ4X3Q7CiBlbnVtIGNsYXNzIFBvd2VyUHJlZmVyZW5jZSA6IHVp
bnQ4X3Q7CiBlbnVtIGNsYXNzIFByaW1pdGl2ZVRvcG9sb2d5IDogdWludDhfdDsKIGNsYXNzIFF1
ZXJ5U2V0OwpAQCAtNzUsNiArNzUsNyBAQCBjbGFzcyBRdWV1ZTsKIGNsYXNzIFJlbmRlckJ1bmRs
ZUVuY29kZXI7CiBjbGFzcyBSZW5kZXJCdW5kbGU7CiBjbGFzcyBSZW5kZXJQYXNzRW5jb2RlcjsK
K2VudW0gY2xhc3MgUmVuZGVyUGFzc1RpbWVzdGFtcExvY2F0aW9uIDogdWludDhfdDsKIGNsYXNz
IFJlbmRlclBpcGVsaW5lOwogY2xhc3MgU2FtcGxlcjsKIGVudW0gY2xhc3MgU2FtcGxlckJpbmRp
bmdUeXBlIDogdWludDhfdDsKQEAgLTEwMyw2ICsxMDQsNyBAQCBwdWJsaWM6CiAgICAgV0dQVUJ1
ZmZlckJpbmRpbmdUeXBlIGNvbnZlcnRUb0JhY2tpbmcoQnVmZmVyQmluZGluZ1R5cGUpOwogICAg
IFdHUFVDb21wYXJlRnVuY3Rpb24gY29udmVydFRvQmFja2luZyhDb21wYXJlRnVuY3Rpb24pOwog
ICAgIFdHUFVDb21waWxhdGlvbk1lc3NhZ2VUeXBlIGNvbnZlcnRUb0JhY2tpbmcoQ29tcGlsYXRp
b25NZXNzYWdlVHlwZSk7CisgICAgV0dQVUNvbXB1dGVQYXNzVGltZXN0YW1wTG9jYXRpb24gY29u
dmVydFRvQmFja2luZyhDb21wdXRlUGFzc1RpbWVzdGFtcExvY2F0aW9uKTsKICAgICBXR1BVQ3Vs
bE1vZGUgY29udmVydFRvQmFja2luZyhDdWxsTW9kZSk7CiAgICAgV0dQVUVycm9yRmlsdGVyIGNv
bnZlcnRUb0JhY2tpbmcoRXJyb3JGaWx0ZXIpOwogICAgIFdHUFVGZWF0dXJlTmFtZSBjb252ZXJ0
VG9CYWNraW5nKEZlYXR1cmVOYW1lKTsKQEAgLTExMCwxMCArMTEyLDEwIEBAIHB1YmxpYzoKICAg
ICBXR1BVRnJvbnRGYWNlIGNvbnZlcnRUb0JhY2tpbmcoRnJvbnRGYWNlKTsKICAgICBXR1BVSW5k
ZXhGb3JtYXQgY29udmVydFRvQmFja2luZyhJbmRleEZvcm1hdCk7CiAgICAgV0dQVUxvYWRPcCBj
b252ZXJ0VG9CYWNraW5nKExvYWRPcCk7Ci0gICAgV0dQVVBpcGVsaW5lU3RhdGlzdGljTmFtZSBj
b252ZXJ0VG9CYWNraW5nKFBpcGVsaW5lU3RhdGlzdGljTmFtZSk7CiAgICAgV0dQVVBvd2VyUHJl
ZmVyZW5jZSBjb252ZXJ0VG9CYWNraW5nKFBvd2VyUHJlZmVyZW5jZSk7CiAgICAgV0dQVVByaW1p
dGl2ZVRvcG9sb2d5IGNvbnZlcnRUb0JhY2tpbmcoUHJpbWl0aXZlVG9wb2xvZ3kpOwogICAgIFdH
UFVRdWVyeVR5cGUgY29udmVydFRvQmFja2luZyhRdWVyeVR5cGUpOworICAgIFdHUFVSZW5kZXJQ
YXNzVGltZXN0YW1wTG9jYXRpb24gY29udmVydFRvQmFja2luZyhSZW5kZXJQYXNzVGltZXN0YW1w
TG9jYXRpb24pOwogICAgIFdHUFVTYW1wbGVyQmluZGluZ1R5cGUgY29udmVydFRvQmFja2luZyhT
YW1wbGVyQmluZGluZ1R5cGUpOwogICAgIFdHUFVTdGVuY2lsT3BlcmF0aW9uIGNvbnZlcnRUb0Jh
Y2tpbmcoU3RlbmNpbE9wZXJhdGlvbik7CiAgICAgV0dQVVN0b3JhZ2VUZXh0dXJlQWNjZXNzIGNv
bnZlcnRUb0JhY2tpbmcoU3RvcmFnZVRleHR1cmVBY2Nlc3MpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9XZWJHUFVEZXZpY2VJbXBsLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwvV2ViR1BVRGV2
aWNlSW1wbC5jcHAKaW5kZXggYjNmNTU1ZGIzMTc4NWUyZGI2ZDY0MTZjMmY5Mjk2ZWY0MjQwZDgz
Yi4uYjlkYTRlNmMwYzk3MWFmZWFmMmY2YzEwNTRiMmZmM2FjZmNkZjhlOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9XZWJHUFVEZXZpY2VJ
bXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBs
L1dlYkdQVURldmljZUltcGwuY3BwCkBAIC05OSw4ICs5OSwyMSBAQCBSZWY8VGV4dHVyZT4gRGV2
aWNlSW1wbDo6Y3JlYXRlVGV4dHVyZShjb25zdCBUZXh0dXJlRGVzY3JpcHRvciYgZGVzY3JpcHRv
cikKIAogICAgIGF1dG8gbGFiZWwgPSBkZXNjcmlwdG9yLmxhYmVsLnV0ZjgoKTsKIAorICAgIGF1
dG8gYmFja2luZ1RleHR1cmVGb3JtYXRzID0gZGVzY3JpcHRvci52aWV3Rm9ybWF0cy5tYXAoWyZd
IChUZXh0dXJlRm9ybWF0IHRleHR1cmVGb3JtYXQpIHsKKyAgICAgICAgcmV0dXJuIG1fY29udmVy
dFRvQmFja2luZ0NvbnRleHQtPmNvbnZlcnRUb0JhY2tpbmcodGV4dHVyZUZvcm1hdCk7CisgICAg
fSk7CisKKyAgICBXR1BVVGV4dHVyZURlc2NyaXB0b3JWaWV3Rm9ybWF0cyBiYWNraW5nVmlld0Zv
cm1hdHMgeworICAgICAgICB7CisgICAgICAgICAgICBudWxscHRyLAorICAgICAgICAgICAgc3Rh
dGljX2Nhc3Q8V0dQVVNUeXBlPihXR1BVU1R5cGVFeHRlbmRlZF9UZXh0dXJlRGVzY3JpcHRvclZp
ZXdGb3JtYXRzKSwKKyAgICAgICAgfSwKKyAgICAgICAgc3RhdGljX2Nhc3Q8dWludDMyX3Q+KGJh
Y2tpbmdUZXh0dXJlRm9ybWF0cy5zaXplKCkpLAorICAgICAgICBiYWNraW5nVGV4dHVyZUZvcm1h
dHMuZGF0YSgpLAorICAgIH07CisKICAgICBXR1BVVGV4dHVyZURlc2NyaXB0b3IgYmFja2luZ0Rl
c2NyaXB0b3IgewotICAgICAgICBudWxscHRyLAorICAgICAgICAmYmFja2luZ1ZpZXdGb3JtYXRz
LmNoYWluLAogICAgICAgICBsYWJlbC5kYXRhKCksCiAgICAgICAgIG1fY29udmVydFRvQmFja2lu
Z0NvbnRleHQtPmNvbnZlcnRUZXh0dXJlVXNhZ2VGbGFnc1RvQmFja2luZyhkZXNjcmlwdG9yLnVz
YWdlKSwKICAgICAgICAgbV9jb252ZXJ0VG9CYWNraW5nQ29udGV4dC0+Y29udmVydFRvQmFja2lu
ZyhkZXNjcmlwdG9yLmRpbWVuc2lvbiksCkBAIC0yMzEsOSArMjQ0LDM0IEBAIFJlZjxTaGFkZXJN
b2R1bGU+IERldmljZUltcGw6OmNyZWF0ZVNoYWRlck1vZHVsZShjb25zdCBTaGFkZXJNb2R1bGVE
ZXNjcmlwdG9yJiBkCiAKICAgICBhdXRvIHNvdXJjZSA9IGRlc2NyaXB0b3IuY29kZS51dGY4KCk7
CiAKLSAgICBXR1BVU2hhZGVyTW9kdWxlV0dTTERlc2NyaXB0b3IgYmFja2luZ1dHU0xEZXNjcmlw
dG9yIHsKKyAgICBhdXRvIGVudHJ5UG9pbnRzID0gZGVzY3JpcHRvci5oaW50cy5tYXAoW10gKGNv
bnN0IGF1dG8mIGhpbnQpIHsKKyAgICAgICAgcmV0dXJuIGhpbnQua2V5LnV0ZjgoKTsKKyAgICB9
KTsKKworICAgIFZlY3RvcjxXR1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50RW50cnk+IGhp
bnRzRW50cmllczsKKyAgICBoaW50c0VudHJpZXMucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShkZXNj
cmlwdG9yLmhpbnRzLnNpemUoKSk7CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBkZXNjcmlw
dG9yLmhpbnRzLnNpemUoKTsgKytpKSB7CisgICAgICAgIGNvbnN0IGF1dG8mIGhpbnQgPSBkZXNj
cmlwdG9yLmhpbnRzW2ldLnZhbHVlOworICAgICAgICBoaW50c0VudHJpZXMuYXBwZW5kKFdHUFVT
aGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnRFbnRyeSB7CisgICAgICAgICAgICBudWxscHRyLAor
ICAgICAgICAgICAgZW50cnlQb2ludHNbaV0uZGF0YSgpLCB7CisgICAgICAgICAgICAgICAgbV9j
b252ZXJ0VG9CYWNraW5nQ29udGV4dC0+Y29udmVydFRvQmFja2luZyhoaW50LnBpcGVsaW5lTGF5
b3V0KSwKKyAgICAgICAgICAgIH0sCisgICAgICAgIH0pOworICAgIH0KKworICAgIFdHUFVTaGFk
ZXJNb2R1bGVEZXNjcmlwdG9ySGludHMgYmFja2luZ1NoYWRlck1vZHVsZUhpbnRzIHsKICAgICAg
ICAgewogICAgICAgICAgICAgbnVsbHB0ciwKKyAgICAgICAgICAgIHN0YXRpY19jYXN0PFdHUFVT
VHlwZT4oV0dQVVNUeXBlRXh0ZW5kZWRfU2hhZGVyTW9kdWxlRGVzY3JpcHRvckhpbnRzKSwKKyAg
ICAgICAgfSwKKyAgICAgICAgc3RhdGljX2Nhc3Q8dWludDMyX3Q+KGhpbnRzRW50cmllcy5zaXpl
KCkpLAorICAgICAgICBoaW50c0VudHJpZXMuZGF0YSgpLAorICAgIH07CisKKyAgICBXR1BVU2hh
ZGVyTW9kdWxlV0dTTERlc2NyaXB0b3IgYmFja2luZ1dHU0xEZXNjcmlwdG9yIHsKKyAgICAgICAg
eworICAgICAgICAgICAgJmJhY2tpbmdTaGFkZXJNb2R1bGVIaW50cy5jaGFpbiwKICAgICAgICAg
ICAgIFdHUFVTVHlwZV9TaGFkZXJNb2R1bGVXR1NMRGVzY3JpcHRvciwKICAgICAgICAgfSwKICAg
ICAgICAgc291cmNlLmRhdGEoKSwKQEAgLTI0OCw3ICsyODYsNyBAQCBSZWY8U2hhZGVyTW9kdWxl
PiBEZXZpY2VJbXBsOjpjcmVhdGVTaGFkZXJNb2R1bGUoY29uc3QgU2hhZGVyTW9kdWxlRGVzY3Jp
cHRvciYgZAogfQogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KLWF1dG8gY29udmVydFRvQmFja2lu
Zyhjb25zdCBDb21wdXRlUGlwZWxpbmVEZXNjcmlwdG9yJiBkZXNjcmlwdG9yLCBDb252ZXJ0VG9C
YWNraW5nQ29udGV4dCYgY29udmVydFRvQmFja2luZ0NvbnRleHQsIFQmJiBjYWxsYmFjaykKK3N0
YXRpYyBhdXRvIGNvbnZlcnRUb0JhY2tpbmcoY29uc3QgQ29tcHV0ZVBpcGVsaW5lRGVzY3JpcHRv
ciYgZGVzY3JpcHRvciwgQ29udmVydFRvQmFja2luZ0NvbnRleHQmIGNvbnZlcnRUb0JhY2tpbmdD
b250ZXh0LCBUJiYgY2FsbGJhY2spCiB7CiAgICAgYXV0byBsYWJlbCA9IGRlc2NyaXB0b3IubGFi
ZWwudXRmOCgpOwogCkBAIC0yOTIsNyArMzMwLDcgQEAgUmVmPENvbXB1dGVQaXBlbGluZT4gRGV2
aWNlSW1wbDo6Y3JlYXRlQ29tcHV0ZVBpcGVsaW5lKGNvbnN0IENvbXB1dGVQaXBlbGluZURlc2MK
IH0KIAogdGVtcGxhdGUgPHR5cGVuYW1lIFQ+Ci1hdXRvIGNvbnZlcnRUb0JhY2tpbmcoY29uc3Qg
UmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yJiBkZXNjcmlwdG9yLCBDb252ZXJ0VG9CYWNraW5nQ29u
dGV4dCYgY29udmVydFRvQmFja2luZ0NvbnRleHQsIFQmJiBjYWxsYmFjaykKK3N0YXRpYyBhdXRv
IGNvbnZlcnRUb0JhY2tpbmcoY29uc3QgUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yJiBkZXNjcmlw
dG9yLCBDb252ZXJ0VG9CYWNraW5nQ29udGV4dCYgY29udmVydFRvQmFja2luZ0NvbnRleHQsIFQm
JiBjYWxsYmFjaykKIHsKICAgICBhdXRvIGxhYmVsID0gZGVzY3JpcHRvci5sYWJlbC51dGY4KCk7
CiAKQEAgLTM4NSwxNiArNDIzLDE2IEBAIGF1dG8gY29udmVydFRvQmFja2luZyhjb25zdCBSZW5k
ZXJQaXBlbGluZURlc2NyaXB0b3ImIGRlc2NyaXB0b3IsIENvbnZlcnRUb0JhY2tpCiAgICAgVmVj
dG9yPHN0ZDo6b3B0aW9uYWw8V0dQVUJsZW5kU3RhdGU+PiBibGVuZFN0YXRlczsKICAgICBpZiAo
ZGVzY3JpcHRvci5mcmFnbWVudCkgewogICAgICAgICBibGVuZFN0YXRlcyA9IGRlc2NyaXB0b3Iu
ZnJhZ21lbnQtPnRhcmdldHMubWFwKFsmY29udmVydFRvQmFja2luZ0NvbnRleHRdIChjb25zdCBh
dXRvJiB0YXJnZXQpIC0+IHN0ZDo6b3B0aW9uYWw8V0dQVUJsZW5kU3RhdGU+IHsKLSAgICAgICAg
ICAgIGlmICh0YXJnZXQuYmxlbmQpIHsKKyAgICAgICAgICAgIGlmICh0YXJnZXQgJiYgdGFyZ2V0
LT5ibGVuZCkgewogICAgICAgICAgICAgICAgIHJldHVybiBXR1BVQmxlbmRTdGF0ZSB7CiAgICAg
ICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnZlcnRUb0JhY2tp
bmdDb250ZXh0LmNvbnZlcnRUb0JhY2tpbmcodGFyZ2V0LmJsZW5kLT5jb2xvci5vcGVyYXRpb24p
LAotICAgICAgICAgICAgICAgICAgICAgICAgY29udmVydFRvQmFja2luZ0NvbnRleHQuY29udmVy
dFRvQmFja2luZyh0YXJnZXQuYmxlbmQtPmNvbG9yLnNyY0ZhY3RvciksCi0gICAgICAgICAgICAg
ICAgICAgICAgICBjb252ZXJ0VG9CYWNraW5nQ29udGV4dC5jb252ZXJ0VG9CYWNraW5nKHRhcmdl
dC5ibGVuZC0+Y29sb3IuZHN0RmFjdG9yKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnZl
cnRUb0JhY2tpbmdDb250ZXh0LmNvbnZlcnRUb0JhY2tpbmcodGFyZ2V0LT5ibGVuZC0+Y29sb3Iu
b3BlcmF0aW9uKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnZlcnRUb0JhY2tpbmdDb250
ZXh0LmNvbnZlcnRUb0JhY2tpbmcodGFyZ2V0LT5ibGVuZC0+Y29sb3Iuc3JjRmFjdG9yKSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnZlcnRUb0JhY2tpbmdDb250ZXh0LmNvbnZlcnRUb0Jh
Y2tpbmcodGFyZ2V0LT5ibGVuZC0+Y29sb3IuZHN0RmFjdG9yKSwKICAgICAgICAgICAgICAgICAg
ICAgfSwgewotICAgICAgICAgICAgICAgICAgICAgICAgY29udmVydFRvQmFja2luZ0NvbnRleHQu
Y29udmVydFRvQmFja2luZyh0YXJnZXQuYmxlbmQtPmFscGhhLm9wZXJhdGlvbiksCi0gICAgICAg
ICAgICAgICAgICAgICAgICBjb252ZXJ0VG9CYWNraW5nQ29udGV4dC5jb252ZXJ0VG9CYWNraW5n
KHRhcmdldC5ibGVuZC0+YWxwaGEuc3JjRmFjdG9yKSwKLSAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnZlcnRUb0JhY2tpbmdDb250ZXh0LmNvbnZlcnRUb0JhY2tpbmcodGFyZ2V0LmJsZW5kLT5h
bHBoYS5kc3RGYWN0b3IpLAorICAgICAgICAgICAgICAgICAgICAgICAgY29udmVydFRvQmFja2lu
Z0NvbnRleHQuY29udmVydFRvQmFja2luZyh0YXJnZXQtPmJsZW5kLT5hbHBoYS5vcGVyYXRpb24p
LAorICAgICAgICAgICAgICAgICAgICAgICAgY29udmVydFRvQmFja2luZ0NvbnRleHQuY29udmVy
dFRvQmFja2luZyh0YXJnZXQtPmJsZW5kLT5hbHBoYS5zcmNGYWN0b3IpLAorICAgICAgICAgICAg
ICAgICAgICAgICAgY29udmVydFRvQmFja2luZ0NvbnRleHQuY29udmVydFRvQmFja2luZyh0YXJn
ZXQtPmJsZW5kLT5hbHBoYS5kc3RGYWN0b3IpLAogICAgICAgICAgICAgICAgICAgICB9CiAgICAg
ICAgICAgICAgICAgfTsKICAgICAgICAgICAgIH0gZWxzZQpAQCAtNDA2LDEzICs0NDQsMjEgQEAg
YXV0byBjb252ZXJ0VG9CYWNraW5nKGNvbnN0IFJlbmRlclBpcGVsaW5lRGVzY3JpcHRvciYgZGVz
Y3JpcHRvciwgQ29udmVydFRvQmFja2kKICAgICBpZiAoZGVzY3JpcHRvci5mcmFnbWVudCkgewog
ICAgICAgICBjb2xvclRhcmdldHMucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShkZXNjcmlwdG9yLmZy
YWdtZW50LT50YXJnZXRzLnNpemUoKSk7CiAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwg
ZGVzY3JpcHRvci5mcmFnbWVudC0+dGFyZ2V0cy5zaXplKCk7ICsraSkgewotICAgICAgICAgICAg
Y29uc3QgYXV0byYgdGFyZ2V0ID0gZGVzY3JpcHRvci5mcmFnbWVudC0+dGFyZ2V0c1tpXTsKLSAg
ICAgICAgICAgIGNvbG9yVGFyZ2V0cy51bmNoZWNrZWRBcHBlbmQoV0dQVUNvbG9yVGFyZ2V0U3Rh
dGUgewotICAgICAgICAgICAgICAgIG51bGxwdHIsCi0gICAgICAgICAgICAgICAgY29udmVydFRv
QmFja2luZ0NvbnRleHQuY29udmVydFRvQmFja2luZyh0YXJnZXQuZm9ybWF0KSwKLSAgICAgICAg
ICAgICAgICBibGVuZFN0YXRlc1tpXSA/ICYqYmxlbmRTdGF0ZXNbaV0gOiBudWxscHRyLAotICAg
ICAgICAgICAgICAgIGNvbnZlcnRUb0JhY2tpbmdDb250ZXh0LmNvbnZlcnRDb2xvcldyaXRlRmxh
Z3NUb0JhY2tpbmcodGFyZ2V0LndyaXRlTWFzayksCi0gICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIGlmIChjb25zdCBhdXRvJiB0YXJnZXQgPSBkZXNjcmlwdG9yLmZyYWdtZW50LT50YXJnZXRz
W2ldKSB7CisgICAgICAgICAgICAgICAgY29sb3JUYXJnZXRzLnVuY2hlY2tlZEFwcGVuZChXR1BV
Q29sb3JUYXJnZXRTdGF0ZSB7CisgICAgICAgICAgICAgICAgICAgIG51bGxwdHIsCisgICAgICAg
ICAgICAgICAgICAgIGNvbnZlcnRUb0JhY2tpbmdDb250ZXh0LmNvbnZlcnRUb0JhY2tpbmcodGFy
Z2V0LT5mb3JtYXQpLAorICAgICAgICAgICAgICAgICAgICBibGVuZFN0YXRlc1tpXSA/ICYqYmxl
bmRTdGF0ZXNbaV0gOiBudWxscHRyLAorICAgICAgICAgICAgICAgICAgICBjb252ZXJ0VG9CYWNr
aW5nQ29udGV4dC5jb252ZXJ0Q29sb3JXcml0ZUZsYWdzVG9CYWNraW5nKHRhcmdldC0+d3JpdGVN
YXNrKSwKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAg
ICAgICAgICAgY29sb3JUYXJnZXRzLnVuY2hlY2tlZEFwcGVuZChXR1BVQ29sb3JUYXJnZXRTdGF0
ZSB7CisgICAgICAgICAgICAgICAgICAgIG51bGxwdHIsCisgICAgICAgICAgICAgICAgICAgIFdH
UFVUZXh0dXJlRm9ybWF0X1VuZGVmaW5lZCwKKyAgICAgICAgICAgICAgICAgICAgbnVsbHB0ciwK
KyAgICAgICAgICAgICAgICAgICAgV0dQVU1hcE1vZGVfTm9uZSwKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0KIApAQCAtNTI4LDcgKzU3NCw3IEBA
IFJlZjxSZW5kZXJCdW5kbGVFbmNvZGVyPiBEZXZpY2VJbXBsOjpjcmVhdGVSZW5kZXJCdW5kbGVF
bmNvZGVyKGNvbnN0IFJlbmRlckJ1bmRsCiAgICAgYXV0byBsYWJlbCA9IGRlc2NyaXB0b3IubGFi
ZWwudXRmOCgpOwogCiAgICAgYXV0byBiYWNraW5nQ29sb3JGb3JtYXRzID0gZGVzY3JpcHRvci5j
b2xvckZvcm1hdHMubWFwKFt0aGlzXSAoYXV0byBjb2xvckZvcm1hdCkgewotICAgICAgICByZXR1
cm4gbV9jb252ZXJ0VG9CYWNraW5nQ29udGV4dC0+Y29udmVydFRvQmFja2luZyhjb2xvckZvcm1h
dCk7CisgICAgICAgIHJldHVybiBjb2xvckZvcm1hdCA/IG1fY29udmVydFRvQmFja2luZ0NvbnRl
eHQtPmNvbnZlcnRUb0JhY2tpbmcoKmNvbG9yRm9ybWF0KSA6IFdHUFVUZXh0dXJlRm9ybWF0X1Vu
ZGVmaW5lZDsKICAgICB9KTsKIAogICAgIFdHUFVSZW5kZXJCdW5kbGVFbmNvZGVyRGVzY3JpcHRv
ciBiYWNraW5nRGVzY3JpcHRvciB7CkBAIC01MzgsNiArNTg0LDggQEAgUmVmPFJlbmRlckJ1bmRs
ZUVuY29kZXI+IERldmljZUltcGw6OmNyZWF0ZVJlbmRlckJ1bmRsZUVuY29kZXIoY29uc3QgUmVu
ZGVyQnVuZGwKICAgICAgICAgYmFja2luZ0NvbG9yRm9ybWF0cy5kYXRhKCksCiAgICAgICAgIGRl
c2NyaXB0b3IuZGVwdGhTdGVuY2lsRm9ybWF0ID8gbV9jb252ZXJ0VG9CYWNraW5nQ29udGV4dC0+
Y29udmVydFRvQmFja2luZygqZGVzY3JpcHRvci5kZXB0aFN0ZW5jaWxGb3JtYXQpIDogV0dQVVRl
eHR1cmVGb3JtYXRfVW5kZWZpbmVkLAogICAgICAgICBkZXNjcmlwdG9yLnNhbXBsZUNvdW50LAor
ICAgICAgICBkZXNjcmlwdG9yLmRlcHRoUmVhZE9ubHksCisgICAgICAgIGRlc2NyaXB0b3Iuc3Rl
bmNpbFJlYWRPbmx5LAogICAgIH07CiAKICAgICByZXR1cm4gUmVuZGVyQnVuZGxlRW5jb2Rlcklt
cGw6OmNyZWF0ZSh3Z3B1RGV2aWNlQ3JlYXRlUmVuZGVyQnVuZGxlRW5jb2RlcihtX2JhY2tpbmcs
ICZiYWNraW5nRGVzY3JpcHRvciksIG1fY29udmVydFRvQmFja2luZ0NvbnRleHQpOwpAQCAtNTQ3
LDE3ICs1OTUsMTMgQEAgUmVmPFF1ZXJ5U2V0PiBEZXZpY2VJbXBsOjpjcmVhdGVRdWVyeVNldChj
b25zdCBRdWVyeVNldERlc2NyaXB0b3ImIGRlc2NyaXB0b3IpCiB7CiAgICAgYXV0byBsYWJlbCA9
IGRlc2NyaXB0b3IubGFiZWwudXRmOCgpOwogCi0gICAgYXV0byBiYWNraW5nUGlwZWxpbmVTdGF0
aXN0aWNzID0gZGVzY3JpcHRvci5waXBlbGluZVN0YXRpc3RpY3MubWFwKFt0aGlzXSAoYXV0byBw
aXBlbGluZVN0YXRpc3RpYykgewotICAgICAgICByZXR1cm4gbV9jb252ZXJ0VG9CYWNraW5nQ29u
dGV4dC0+Y29udmVydFRvQmFja2luZyhwaXBlbGluZVN0YXRpc3RpYyk7Ci0gICAgfSk7Ci0KICAg
ICBXR1BVUXVlcnlTZXREZXNjcmlwdG9yIGJhY2tpbmdEZXNjcmlwdG9yIHsKICAgICAgICAgbnVs
bHB0ciwKICAgICAgICAgbGFiZWwuZGF0YSgpLAogICAgICAgICBtX2NvbnZlcnRUb0JhY2tpbmdD
b250ZXh0LT5jb252ZXJ0VG9CYWNraW5nKGRlc2NyaXB0b3IudHlwZSksCiAgICAgICAgIGRlc2Ny
aXB0b3IuY291bnQsCi0gICAgICAgIGJhY2tpbmdQaXBlbGluZVN0YXRpc3RpY3MuZGF0YSgpLAot
ICAgICAgICBzdGF0aWNfY2FzdDx1aW50MzJfdD4oYmFja2luZ1BpcGVsaW5lU3RhdGlzdGljcy5z
aXplKCkpLAorICAgICAgICBudWxscHRyLAorICAgICAgICAwLAogICAgIH07CiAKICAgICByZXR1
cm4gUXVlcnlTZXRJbXBsOjpjcmVhdGUod2dwdURldmljZUNyZWF0ZVF1ZXJ5U2V0KG1fYmFja2lu
ZywgJmJhY2tpbmdEZXNjcmlwdG9yKSwgbV9jb252ZXJ0VG9CYWNraW5nQ29udGV4dCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQ
VUltcGwuY3BwIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9X
ZWJHUFVJbXBsLmNwcAppbmRleCA1ODFkOTI4MDE3MjhjNzI0MzJlNzBiNDNkYmIxY2I5NzUwZDlm
M2YyLi5lNmFmNjlkZTZjYjhlNmY3M2U5NzY1ODI0MjRiZWU5ZDI4ZTUwNmUyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVUltcGwu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwvV2Vi
R1BVSW1wbC5jcHAKQEAgLTc2LDcgKzc2LDcgQEAgdm9pZCBHUFVJbXBsOjpyZXF1ZXN0QWRhcHRl
cihjb25zdCBSZXF1ZXN0QWRhcHRlck9wdGlvbnMmIG9wdGlvbnMsIFdURjo6RnVuY3Rpb24KICAg
ICBXR1BVUmVxdWVzdEFkYXB0ZXJPcHRpb25zIGJhY2tpbmdPcHRpb25zIHsKICAgICAgICAgbnVs
bHB0ciwKICAgICAgICAgbnVsbHB0ciwKLSAgICAgICAgb3B0aW9ucy5wb3dlclByZWZlcmVuY2Ug
PyBtX2NvbnZlcnRUb0JhY2tpbmdDb250ZXh0LT5jb252ZXJ0VG9CYWNraW5nKCpvcHRpb25zLnBv
d2VyUHJlZmVyZW5jZSkgOiBzdGF0aWNfY2FzdDxXR1BVUG93ZXJQcmVmZXJlbmNlPihXR1BVUG93
ZXJQcmVmZXJlbmNlX05vUHJlZmVyZW5jZSksCisgICAgICAgIG9wdGlvbnMucG93ZXJQcmVmZXJl
bmNlID8gbV9jb252ZXJ0VG9CYWNraW5nQ29udGV4dC0+Y29udmVydFRvQmFja2luZygqb3B0aW9u
cy5wb3dlclByZWZlcmVuY2UpIDogc3RhdGljX2Nhc3Q8V0dQVVBvd2VyUHJlZmVyZW5jZT4oV0dQ
VVBvd2VyUHJlZmVyZW5jZV9VbmRlZmluZWQpLAogICAgICAgICBvcHRpb25zLmZvcmNlRmFsbGJh
Y2tBZGFwdGVyLAogICAgIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwv
Z3JhcGhpY3MvV2ViR1BVL0ltcGwvV2ViR1BVUmVuZGVyUGFzc0VuY29kZXJJbXBsLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwvV2ViR1BVUmVuZGVyUGFz
c0VuY29kZXJJbXBsLmNwcAppbmRleCBkMmZlNWRmNTI2Y2MzNjBmN2EzZWQyMzNlMzJmMzRjOTNk
MTg2NjE2Li5mNTc3NGQ3ZGI0ZmI4YzE0ZGMxM2Q1MTdhOWJiODc5NzI5OTE2Y2U1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVVJl
bmRlclBhc3NFbmNvZGVySW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFw
aGljcy9XZWJHUFUvSW1wbC9XZWJHUFVSZW5kZXJQYXNzRW5jb2RlckltcGwuY3BwCkBAIC0xNTYs
MTYgKzE1Niw2IEBAIHZvaWQgUmVuZGVyUGFzc0VuY29kZXJJbXBsOjplbmRPY2NsdXNpb25RdWVy
eSgpCiAgICAgd2dwdVJlbmRlclBhc3NFbmNvZGVyRW5kT2NjbHVzaW9uUXVlcnkobV9iYWNraW5n
KTsKIH0KIAotdm9pZCBSZW5kZXJQYXNzRW5jb2RlckltcGw6OmJlZ2luUGlwZWxpbmVTdGF0aXN0
aWNzUXVlcnkoY29uc3QgUXVlcnlTZXQmIHF1ZXJ5U2V0LCBTaXplMzIgcXVlcnlJbmRleCkKLXsK
LSAgICB3Z3B1UmVuZGVyUGFzc0VuY29kZXJCZWdpblBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KG1f
YmFja2luZywgbV9jb252ZXJ0VG9CYWNraW5nQ29udGV4dC0+Y29udmVydFRvQmFja2luZyhxdWVy
eVNldCksIHF1ZXJ5SW5kZXgpOwotfQotCi12b2lkIFJlbmRlclBhc3NFbmNvZGVySW1wbDo6ZW5k
UGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkoKQotewotICAgIHdncHVSZW5kZXJQYXNzRW5jb2RlckVu
ZFBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KG1fYmFja2luZyk7Ci19Ci0KIHZvaWQgUmVuZGVyUGFz
c0VuY29kZXJJbXBsOjpleGVjdXRlQnVuZGxlcyhWZWN0b3I8c3RkOjpyZWZlcmVuY2Vfd3JhcHBl
cjxSZW5kZXJCdW5kbGU+PiYmIHJlbmRlckJ1bmRsZXMpCiB7CiAgICAgYXV0byBiYWNraW5nQnVu
ZGxlcyA9IHJlbmRlckJ1bmRsZXMubWFwKFt0aGlzXSAoYXV0byByZW5kZXJCdW5kbGUpIHsKQEAg
LTE3NSw3ICsxNjUsNyBAQCB2b2lkIFJlbmRlclBhc3NFbmNvZGVySW1wbDo6ZXhlY3V0ZUJ1bmRs
ZXMoVmVjdG9yPHN0ZDo6cmVmZXJlbmNlX3dyYXBwZXI8UmVuZGVyQgogICAgIHdncHVSZW5kZXJQ
YXNzRW5jb2RlckV4ZWN1dGVCdW5kbGVzKG1fYmFja2luZywgYmFja2luZ0J1bmRsZXMuc2l6ZSgp
LCBiYWNraW5nQnVuZGxlcy5kYXRhKCkpOwogfQogCi12b2lkIFJlbmRlclBhc3NFbmNvZGVySW1w
bDo6ZW5kUGFzcygpCit2b2lkIFJlbmRlclBhc3NFbmNvZGVySW1wbDo6ZW5kKCkKIHsKICAgICB3
Z3B1UmVuZGVyUGFzc0VuY29kZXJFbmRQYXNzKG1fYmFja2luZyk7CiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVVJlbmRlclBh
c3NFbmNvZGVySW1wbC5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUv
SW1wbC9XZWJHUFVSZW5kZXJQYXNzRW5jb2RlckltcGwuaAppbmRleCAzZWU5MDcxNDU4Mjk3ZWJh
OWU3MDk4MTdhNjIyOGJmMmUyZWVjZjAyLi4zNGM1MDgyYWM1ODE4NTY3MGI2NmQ2NThkOTBiMjc3
MzQ5ZDgzN2RiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dl
YkdQVS9JbXBsL1dlYkdQVVJlbmRlclBhc3NFbmNvZGVySW1wbC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwvV2ViR1BVUmVuZGVyUGFzc0VuY29kZXJJ
bXBsLmgKQEAgLTk3LDExICs5Nyw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCBiZWdpbk9jY2x1c2lv
blF1ZXJ5KFNpemUzMiBxdWVyeUluZGV4KSBmaW5hbDsKICAgICB2b2lkIGVuZE9jY2x1c2lvblF1
ZXJ5KCkgZmluYWw7CiAKLSAgICB2b2lkIGJlZ2luUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkoY29u
c3QgUXVlcnlTZXQmLCBTaXplMzIgcXVlcnlJbmRleCkgZmluYWw7Ci0gICAgdm9pZCBlbmRQaXBl
bGluZVN0YXRpc3RpY3NRdWVyeSgpIGZpbmFsOwotCiAgICAgdm9pZCBleGVjdXRlQnVuZGxlcyhW
ZWN0b3I8c3RkOjpyZWZlcmVuY2Vfd3JhcHBlcjxSZW5kZXJCdW5kbGU+PiYmKSBmaW5hbDsKLSAg
ICB2b2lkIGVuZFBhc3MoKSBmaW5hbDsKKyAgICB2b2lkIGVuZCgpIGZpbmFsOwogCiAgICAgdm9p
ZCBzZXRMYWJlbEludGVybmFsKGNvbnN0IFN0cmluZyYpIGZpbmFsOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVCdWZmZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVUJ1ZmZlci5oCmluZGV4
IDNmYWU5NGE0YWJhZmNlYTM5NjAzYzQ4NmQ2YTBhNjdiOGI4ZGU5YWUuLmY3OGMzNDc0MDgzNzUx
OTEyODc4NjNkZmNkYzUxYWMxODc3MzcxMWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BB
TC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVUJ1ZmZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVUJ1ZmZlci5oCkBAIC00OCwxMiArNDgsMTIg
QEAgcHVibGljOgogICAgICAgICBzZXRMYWJlbEludGVybmFsKG1fbGFiZWwpOwogICAgIH0KIAot
ICAgIHZpcnR1YWwgdm9pZCBtYXBBc3luYyhNYXBNb2RlRmxhZ3MsIHN0ZDo6b3B0aW9uYWw8U2l6
ZTY0PiBvZmZzZXQsIHN0ZDo6b3B0aW9uYWw8U2l6ZTY0PiwgV1RGOjpGdW5jdGlvbjx2b2lkKCk+
JiYpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgbWFwQXN5bmMoTWFwTW9kZUZsYWdzLCBTaXplNjQg
b2Zmc2V0LCBzdGQ6Om9wdGlvbmFsPFNpemU2ND4sIFdURjo6RnVuY3Rpb248dm9pZCgpPiYmKSA9
IDA7CiAgICAgc3RydWN0IE1hcHBlZFJhbmdlIHsKICAgICAgICAgdm9pZCogc291cmNlIHsgbnVs
bHB0ciB9OwogICAgICAgICBzaXplX3QgYnl0ZUxlbmd0aCB7IDAgfTsKICAgICB9OwotICAgIHZp
cnR1YWwgTWFwcGVkUmFuZ2UgZ2V0TWFwcGVkUmFuZ2Uoc3RkOjpvcHRpb25hbDxTaXplNjQ+IG9m
ZnNldCwgc3RkOjpvcHRpb25hbDxTaXplNjQ+KSA9IDA7CisgICAgdmlydHVhbCBNYXBwZWRSYW5n
ZSBnZXRNYXBwZWRSYW5nZShTaXplNjQgb2Zmc2V0LCBzdGQ6Om9wdGlvbmFsPFNpemU2ND4pID0g
MDsKICAgICB2aXJ0dWFsIHZvaWQgdW5tYXAoKSA9IDA7CiAKICAgICB2aXJ0dWFsIHZvaWQgZGVz
dHJveSgpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3Mv
V2ViR1BVL1dlYkdQVUNhbnZhc0NvbmZpZ3VyYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9w
YWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVUNhbnZhc0NvbmZpZ3VyYXRpb24uaAppbmRleCBhZjkz
N2YwOWM5YTAxZDRmNTg1MzEyOWRkYjEzZGQ5NDMwMGI5M2VjLi5mZWRiMjQxNmNjMmE4ZTEzNGUx
OWRjNDhmZWRiMDIxOTM0Yzc0OWZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFs
L2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVDYW52YXNDb25maWd1cmF0aW9uLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVQ2FudmFzQ29uZmlndXJhdGlv
bi5oCkBAIC00Miw2ICs0Miw3IEBAIHN0cnVjdCBDYW52YXNDb25maWd1cmF0aW9uIHsKICAgICBE
ZXZpY2UmIGRldmljZTsKICAgICBUZXh0dXJlRm9ybWF0IGZvcm1hdCB7IFRleHR1cmVGb3JtYXQ6
OlI4dW5vcm0gfTsKICAgICBUZXh0dXJlVXNhZ2VGbGFncyB1c2FnZSB7IFRleHR1cmVVc2FnZTo6
UmVuZGVyQXR0YWNobWVudCB9OworICAgIFZlY3RvcjxUZXh0dXJlRm9ybWF0PiB2aWV3Rm9ybWF0
czsKICAgICBQcmVkZWZpbmVkQ29sb3JTcGFjZSBjb2xvclNwYWNlIHsgUHJlZGVmaW5lZENvbG9y
U3BhY2U6OlNSR0IgfTsKICAgICBDYW52YXNDb21wb3NpdGluZ0FscGhhTW9kZSBjb21wb3NpdGlu
Z0FscGhhTW9kZSB7IENhbnZhc0NvbXBvc2l0aW5nQWxwaGFNb2RlOjpPcGFxdWUgfTsKICAgICBz
dGQ6Om9wdGlvbmFsPEV4dGVudDNEPiBzaXplOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
UEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVQ29tbWFuZEVuY29kZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVUNvbW1hbmRFbmNvZGVyLmgKaW5k
ZXggODgyNzk0OTY4OTNjOGVhODRjZmQ5YzBhN2NkNmNhZWUxMTY0Y2I3Zi4uYjQ3MWEzMDM5OGNj
ODczZTRlNjZkMjkyYzY3Y2ZiZmZiNzNiNjg4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
UEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVQ29tbWFuZEVuY29kZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVDb21tYW5kRW5jb2Rlci5o
CkBAIC04MiwxMCArODIsMTAgQEAgcHVibGljOgogICAgICAgICBjb25zdCBJbWFnZUNvcHlUZXh0
dXJlJiBkZXN0aW5hdGlvbiwKICAgICAgICAgY29uc3QgRXh0ZW50M0QmIGNvcHlTaXplKSA9IDA7
CiAKLSAgICB2aXJ0dWFsIHZvaWQgZmlsbEJ1ZmZlcigKLSAgICAgICAgY29uc3QgQnVmZmVyJiBk
ZXN0aW5hdGlvbiwKLSAgICAgICAgU2l6ZTY0IGRlc3RpbmF0aW9uT2Zmc2V0LAotICAgICAgICBT
aXplNjQpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgY2xlYXJCdWZmZXIoCisgICAgICAgIGNvbnN0
IEJ1ZmZlciYsCisgICAgICAgIFNpemU2NCBvZmZzZXQgPSAwLAorICAgICAgICBzdGQ6Om9wdGlv
bmFsPFNpemU2ND4gPSBzdGQ6Om51bGxvcHQpID0gMDsKIAogICAgIHZpcnR1YWwgdm9pZCBwdXNo
RGVidWdHcm91cChTdHJpbmcmJiBncm91cExhYmVsKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHBv
cERlYnVnR3JvdXAoKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dy
YXBoaWNzL1dlYkdQVS9XZWJHUFVDb21wdXRlUGFzc0VuY29kZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVUNvbXB1dGVQYXNzRW5jb2Rlci5oCmluZGV4
IGY0OWU3OGZiYWQ5MTYzY2NlZWQ4ZjgwODg0MTU3OGM5ZjRkYTViOTIuLmYyZjY0YmQwYjFlMmQ3
ZDZlMDk2ZTExMjc3MDJiMjdlM2RkYzA1ODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BB
TC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVUNvbXB1dGVQYXNzRW5jb2Rlci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVUNvbXB1dGVQYXNzRW5j
b2Rlci5oCkBAIC01MywxMyArNTMsMTAgQEAgcHVibGljOgogICAgIH0KIAogICAgIHZpcnR1YWwg
dm9pZCBzZXRQaXBlbGluZShjb25zdCBDb21wdXRlUGlwZWxpbmUmKSA9IDA7Ci0gICAgdmlydHVh
bCB2b2lkIGRpc3BhdGNoKFNpemUzMiB4LCBzdGQ6Om9wdGlvbmFsPFNpemUzMj4geSwgc3RkOjpv
cHRpb25hbDxTaXplMzI+KSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoKFNpemUzMiB3
b3JrZ3JvdXBDb3VudFgsIFNpemUzMiB3b3JrZ3JvdXBDb3VudFkgPSAxLCBTaXplMzIgd29ya2dy
b3VwQ291bnRaID0gMSkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaEluZGlyZWN0KGNv
bnN0IEJ1ZmZlciYgaW5kaXJlY3RCdWZmZXIsIFNpemU2NCBpbmRpcmVjdE9mZnNldCkgPSAwOwog
Ci0gICAgdmlydHVhbCB2b2lkIGJlZ2luUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkoY29uc3QgUXVl
cnlTZXQmLCBTaXplMzIgcXVlcnlJbmRleCkgPSAwOwotICAgIHZpcnR1YWwgdm9pZCBlbmRQaXBl
bGluZVN0YXRpc3RpY3NRdWVyeSgpID0gMDsKLQotICAgIHZpcnR1YWwgdm9pZCBlbmRQYXNzKCkg
PSAwOworICAgIHZpcnR1YWwgdm9pZCBlbmQoKSA9IDA7CiAKICAgICB2aXJ0dWFsIHZvaWQgc2V0
QmluZEdyb3VwKEluZGV4MzIsIGNvbnN0IEJpbmRHcm91cCYsCiAgICAgICAgIHN0ZDo6b3B0aW9u
YWw8VmVjdG9yPEJ1ZmZlckR5bmFtaWNPZmZzZXQ+PiYmKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVGZWF0dXJlTmFtZS5oIGIv
U291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVRmVhdHVyZU5hbWUu
aAppbmRleCA2YTMzNTg5ZDg5NDlmYTg0NzZjMTRkYjdmZDM1ODQ5YWZmNzNmMzk1Li5mMWIzNTFi
OWE0YTQ3Njg3ZTA1ODVlN2ViNTg2ZTcxNDgxMTFmZGE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVGZWF0dXJlTmFtZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVUZlYXR1cmVOYW1lLmgK
QEAgLTM0LDcgKzM0LDYgQEAgZW51bSBjbGFzcyBGZWF0dXJlTmFtZSA6IHVpbnQ4X3QgewogICAg
IERlcHRoQ2xpcENvbnRyb2wsCiAgICAgRGVwdGgyNHVub3JtU3RlbmNpbDgsCiAgICAgRGVwdGgz
MmZsb2F0U3RlbmNpbDgsCi0gICAgUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnksCiAgICAgVGV4dHVy
ZUNvbXByZXNzaW9uQmMsCiAgICAgVGV4dHVyZUNvbXByZXNzaW9uRXRjMiwKICAgICBUZXh0dXJl
Q29tcHJlc3Npb25Bc3RjLApAQCAtNTIsNyArNTEsNiBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBFbnVt
VHJhaXRzPFBBTDo6V2ViR1BVOjpGZWF0dXJlTmFtZT4gewogICAgICAgICBQQUw6OldlYkdQVTo6
RmVhdHVyZU5hbWU6OkRlcHRoQ2xpcENvbnRyb2wsCiAgICAgICAgIFBBTDo6V2ViR1BVOjpGZWF0
dXJlTmFtZTo6RGVwdGgyNHVub3JtU3RlbmNpbDgsCiAgICAgICAgIFBBTDo6V2ViR1BVOjpGZWF0
dXJlTmFtZTo6RGVwdGgzMmZsb2F0U3RlbmNpbDgsCi0gICAgICAgIFBBTDo6V2ViR1BVOjpGZWF0
dXJlTmFtZTo6UGlwZWxpbmVTdGF0aXN0aWNzUXVlcnksCiAgICAgICAgIFBBTDo6V2ViR1BVOjpG
ZWF0dXJlTmFtZTo6VGV4dHVyZUNvbXByZXNzaW9uQmMsCiAgICAgICAgIFBBTDo6V2ViR1BVOjpG
ZWF0dXJlTmFtZTo6VGV4dHVyZUNvbXByZXNzaW9uRXRjMiwKICAgICAgICAgUEFMOjpXZWJHUFU6
OkZlYXR1cmVOYW1lOjpUZXh0dXJlQ29tcHJlc3Npb25Bc3RjLApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVRnJhZ21lbnRTdGF0ZS5oIGIv
U291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVRnJhZ21lbnRTdGF0
ZS5oCmluZGV4IDhhNzBmMDkyOWEwN2NjMTRkNjNiMmE1MDU3ODY5N2U3YzA2YmRjNTUuLmMyMjk1
NGUwNzE0YzZkMjliYzBjZjZhOGMzYjU3ZTRlYmE0MDVlNzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVUZyYWdtZW50U3RhdGUuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVGcmFnbWVudFN0
YXRlLmgKQEAgLTI3LDEyICsyNywxMyBAQAogCiAjaW5jbHVkZSAiV2ViR1BVQ29sb3JUYXJnZXRT
dGF0ZS5oIgogI2luY2x1ZGUgIldlYkdQVVByb2dyYW1tYWJsZVN0YWdlLmgiCisjaW5jbHVkZSA8
b3B0aW9uYWw+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgUEFMOjpXZWJH
UFUgewogCiBzdHJ1Y3QgRnJhZ21lbnRTdGF0ZSA6IHB1YmxpYyBQcm9ncmFtbWFibGVTdGFnZSB7
Ci0gICAgVmVjdG9yPENvbG9yVGFyZ2V0U3RhdGU+IHRhcmdldHM7CisgICAgVmVjdG9yPHN0ZDo6
b3B0aW9uYWw8Q29sb3JUYXJnZXRTdGF0ZT4+IHRhcmdldHM7CiB9OwogCiB9IC8vIG5hbWVzcGFj
ZSBQQUw6OldlYkdQVQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGlj
cy9XZWJHUFUvV2ViR1BVSW1hZ2VDb3B5RXh0ZXJuYWxJbWFnZS5oIGIvU291cmNlL1dlYkNvcmUv
UEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVSW1hZ2VDb3B5RXh0ZXJuYWxJbWFnZS5oCmlu
ZGV4IDk1NWYwOTdkY2YwMGQ0MDFkMDA5NjA3ODBmYTNiMjY2OGNlNWY0YTcuLjA1NzEyZDVjMjAw
MDFmZjYwMDBlOGY2MTlmYmVmMzE1YmU0N2EyNTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVUltYWdlQ29weUV4dGVybmFsSW1hZ2UuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVJbWFnZUNv
cHlFeHRlcm5hbEltYWdlLmgKQEAgLTM0LDYgKzM0LDcgQEAgbmFtZXNwYWNlIFBBTDo6V2ViR1BV
IHsKIHN0cnVjdCBJbWFnZUNvcHlFeHRlcm5hbEltYWdlIHsKICAgICAvLyBGSVhNRTogSGFuZGxl
IHRoZSBzb3VyY2UuCiAgICAgc3RkOjpvcHRpb25hbDxPcmlnaW4yRD4gb3JpZ2luOworICAgIGJv
b2wgZmxpcFkgeyBmYWxzZSB9OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgUEFMOjpXZWJHUFUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVUxv
YWRPcC5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVTG9h
ZE9wLmgKaW5kZXggZGM4MjYwZDczMzBkNjhkODQ4NWVhNzY5ZjJkMGVjMGVhNTkwMTQxYi4uYjBm
ODhhOTJhNjU1ZmZmZGQyMmVmNDYzMDU3NTdjNjE2ZmJiYWQ5ZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVTG9hZE9wLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVTG9hZE9wLmgKQEAgLTMy
LDYgKzMyLDcgQEAgbmFtZXNwYWNlIFBBTDo6V2ViR1BVIHsKIAogZW51bSBjbGFzcyBMb2FkT3Ag
OiB1aW50OF90IHsKICAgICBMb2FkLAorICAgIENsZWFyLAogfTsKIAogfSAvLyBuYW1lc3BhY2Ug
UEFMOjpXZWJHUFUKQEAgLTQxLDcgKzQyLDggQEAgbmFtZXNwYWNlIFdURiB7CiB0ZW1wbGF0ZTw+
IHN0cnVjdCBFbnVtVHJhaXRzPFBBTDo6V2ViR1BVOjpMb2FkT3A+IHsKICAgICB1c2luZyB2YWx1
ZXMgPSBFbnVtVmFsdWVzPAogICAgICAgICBQQUw6OldlYkdQVTo6TG9hZE9wLAotICAgICAgICBQ
QUw6OldlYkdQVTo6TG9hZE9wOjpMb2FkCisgICAgICAgIFBBTDo6V2ViR1BVOjpMb2FkT3A6Okxv
YWQsCisgICAgICAgIFBBTDo6V2ViR1BVOjpMb2FkT3A6OkNsZWFyCiAgICAgPjsKIH07CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVBp
cGVsaW5lU3RhdGlzdGljTmFtZS5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9X
ZWJHUFUvV2ViR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGJmOTNmNjc5MDA0YWRjNjAzMDc1OWU1ZWMzOTM3OGFkZDVkOTRjNmIuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUv
UEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lLmgKKysr
IC9kZXYvbnVsbApAQCAtMSw1NiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDIxIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwot
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0g
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI3ByYWdtYSBvbmNlCi0K
LSNpbmNsdWRlIDxjc3RkaW50PgotI2luY2x1ZGUgPHd0Zi9FbnVtVHJhaXRzLmg+Ci0KLW5hbWVz
cGFjZSBQQUw6OldlYkdQVSB7Ci0KLWVudW0gY2xhc3MgUGlwZWxpbmVTdGF0aXN0aWNOYW1lIDog
dWludDhfdCB7Ci0gICAgVmVydGV4U2hhZGVySW52b2NhdGlvbnMsCi0gICAgQ2xpcHBlckludm9j
YXRpb25zLAotICAgIENsaXBwZXJQcmltaXRpdmVzT3V0LAotICAgIEZyYWdtZW50U2hhZGVySW52
b2NhdGlvbnMsCi0gICAgQ29tcHV0ZVNoYWRlckludm9jYXRpb25zLAotfTsKLQotfSAvLyBuYW1l
c3BhY2UgUEFMOjpXZWJHUFUKLQotbmFtZXNwYWNlIFdURiB7Ci0KLXRlbXBsYXRlPD4gc3RydWN0
IEVudW1UcmFpdHM8UEFMOjpXZWJHUFU6OlBpcGVsaW5lU3RhdGlzdGljTmFtZT4gewotICAgIHVz
aW5nIHZhbHVlcyA9IEVudW1WYWx1ZXM8Ci0gICAgICAgIFBBTDo6V2ViR1BVOjpQaXBlbGluZVN0
YXRpc3RpY05hbWUsCi0gICAgICAgIFBBTDo6V2ViR1BVOjpQaXBlbGluZVN0YXRpc3RpY05hbWU6
OlZlcnRleFNoYWRlckludm9jYXRpb25zLAotICAgICAgICBQQUw6OldlYkdQVTo6UGlwZWxpbmVT
dGF0aXN0aWNOYW1lOjpDbGlwcGVySW52b2NhdGlvbnMsCi0gICAgICAgIFBBTDo6V2ViR1BVOjpQ
aXBlbGluZVN0YXRpc3RpY05hbWU6OkNsaXBwZXJQcmltaXRpdmVzT3V0LAotICAgICAgICBQQUw6
OldlYkdQVTo6UGlwZWxpbmVTdGF0aXN0aWNOYW1lOjpGcmFnbWVudFNoYWRlckludm9jYXRpb25z
LAotICAgICAgICBQQUw6OldlYkdQVTo6UGlwZWxpbmVTdGF0aXN0aWNOYW1lOjpDb21wdXRlU2hh
ZGVySW52b2NhdGlvbnMKLSAgICA+OwotfTsKLQotfSAvLyBuYW1lc3BhY2UgV1RGCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVRdWVyeVNl
dERlc2NyaXB0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dl
YkdQVVF1ZXJ5U2V0RGVzY3JpcHRvci5oCmluZGV4IDg3OTEwOTA3Mjc1NjQ2MmJhZWMxMWY0Nzhk
ZDQ0NDU2ZjA5NTVmZDcuLjFhNTVjYTc3YmJkZmMwZDFmYmU2Yjk3YjU5MzIyNWMyMTQ5NjEwOGIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQ
VVF1ZXJ5U2V0RGVzY3JpcHRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhp
Y3MvV2ViR1BVL1dlYkdQVVF1ZXJ5U2V0RGVzY3JpcHRvci5oCkBAIC0yNyw3ICsyNyw2IEBACiAK
ICNpbmNsdWRlICJXZWJHUFVJbnRlZ3JhbFR5cGVzLmgiCiAjaW5jbHVkZSAiV2ViR1BVT2JqZWN0
RGVzY3JpcHRvckJhc2UuaCIKLSNpbmNsdWRlICJXZWJHUFVQaXBlbGluZVN0YXRpc3RpY05hbWUu
aCIKICNpbmNsdWRlICJXZWJHUFVRdWVyeVR5cGUuaCIKICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+
CiAKQEAgLTM2LDcgKzM1LDYgQEAgbmFtZXNwYWNlIFBBTDo6V2ViR1BVIHsKIHN0cnVjdCBRdWVy
eVNldERlc2NyaXB0b3IgOiBwdWJsaWMgT2JqZWN0RGVzY3JpcHRvckJhc2UgewogICAgIFF1ZXJ5
VHlwZSB0eXBlIHsgUXVlcnlUeXBlOjpPY2NsdXNpb24gfTsKICAgICBTaXplMzIgY291bnQgeyAw
IH07Ci0gICAgVmVjdG9yPFBpcGVsaW5lU3RhdGlzdGljTmFtZT4gcGlwZWxpbmVTdGF0aXN0aWNz
OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgUEFMOjpXZWJHUFUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVF1ZXJ5VHlwZS5oIGIvU291cmNl
L1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVUXVlcnlUeXBlLmgKaW5kZXgg
Y2MzMGQ0ODgzZmYyZGUwNmVkOWQ4YmM4Yzk5MmM1ZGI4MWM2M2RlNC4uYjJhYTVhZjVhYzEyMjE5
MDY0NjUyMzNjMzAyYWY4ODhlMmYzY2JlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFM
L3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVUXVlcnlUeXBlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVUXVlcnlUeXBlLmgKQEAgLTMyLDcgKzMy
LDYgQEAgbmFtZXNwYWNlIFBBTDo6V2ViR1BVIHsKIAogZW51bSBjbGFzcyBRdWVyeVR5cGUgOiB1
aW50OF90IHsKICAgICBPY2NsdXNpb24sCi0gICAgUGlwZWxpbmVTdGF0aXN0aWNzLAogICAgIFRp
bWVzdGFtcCwKIH07CiAKQEAgLTQ0LDcgKzQzLDYgQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRy
YWl0czxQQUw6OldlYkdQVTo6UXVlcnlUeXBlPiB7CiAgICAgdXNpbmcgdmFsdWVzID0gRW51bVZh
bHVlczwKICAgICAgICAgUEFMOjpXZWJHUFU6OlF1ZXJ5VHlwZSwKICAgICAgICAgUEFMOjpXZWJH
UFU6OlF1ZXJ5VHlwZTo6T2NjbHVzaW9uLAotICAgICAgICBQQUw6OldlYkdQVTo6UXVlcnlUeXBl
OjpQaXBlbGluZVN0YXRpc3RpY3MsCiAgICAgICAgIFBBTDo6V2ViR1BVOjpRdWVyeVR5cGU6OlRp
bWVzdGFtcAogICAgID47CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9n
cmFwaGljcy9XZWJHUFUvV2ViR1BVUXVldWUuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3Jh
cGhpY3MvV2ViR1BVL1dlYkdQVVF1ZXVlLmgKaW5kZXggNmY4ZjhmODEwYjhkMDFhMTI4YzZiZGVm
Y2RlMzJjZjVhNDA5MjM4YS4uNjQ4NjZlOGU2YTQ3OTZlOTEyYjk4NzVkM2Q2YmI1ZWY3MTE2NGEx
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2Vi
R1BVUXVldWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9X
ZWJHUFVRdWV1ZS5oCkBAIC02Niw4ICs2Niw4IEBAIHB1YmxpYzoKICAgICAgICAgU2l6ZTY0IGJ1
ZmZlck9mZnNldCwKICAgICAgICAgY29uc3Qgdm9pZCogc291cmNlLAogICAgICAgICBzaXplX3Qg
Ynl0ZUxlbmd0aCwKLSAgICAgICAgU2l6ZTY0IGRhdGFPZmZzZXQsCi0gICAgICAgIHN0ZDo6b3B0
aW9uYWw8U2l6ZTY0PikgPSAwOworICAgICAgICBTaXplNjQgZGF0YU9mZnNldCA9IDAsCisgICAg
ICAgIHN0ZDo6b3B0aW9uYWw8U2l6ZTY0PiA9IHN0ZDo6bnVsbG9wdCkgPSAwOwogCiAgICAgdmly
dHVhbCB2b2lkIHdyaXRlVGV4dHVyZSgKICAgICAgICAgY29uc3QgSW1hZ2VDb3B5VGV4dHVyZSYg
ZGVzdGluYXRpb24sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNz
L1dlYkdQVS9XZWJHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50LmggYi9Tb3VyY2UvV2ViQ29y
ZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50
LmgKaW5kZXggMjgzODEzNTYwN2ZjYWJhNTJlMTkxYzBiMjU0ZDM2NDhiYjMzOTUzNi4uZDc5ODIx
M2FkNDFiMDgwYTM0NjI1Yzk4MGVhZjFkMGQ0MmVjZmY5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNo
bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQ
VVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQuaApAQCAtNDAsNyArNDAsOCBAQCBzdHJ1Y3QgUmVu
ZGVyUGFzc0NvbG9yQXR0YWNobWVudCB7CiAgICAgVGV4dHVyZVZpZXcmIHZpZXc7CiAgICAgVGV4
dHVyZVZpZXcqIHJlc29sdmVUYXJnZXQgeyBudWxscHRyIH07CiAKLSAgICBzdGQ6OnZhcmlhbnQ8
TG9hZE9wLCBWZWN0b3I8ZG91YmxlPiwgQ29sb3JEaWN0PiBsb2FkVmFsdWU7CisgICAgc3RkOjpv
cHRpb25hbDxDb2xvcj4gY2xlYXJWYWx1ZTsKKyAgICBMb2FkT3AgbG9hZE9wIHsgTG9hZE9wOjpM
b2FkIH07CiAgICAgU3RvcmVPcCBzdG9yZU9wIHsgU3RvcmVPcDo6U3RvcmUgfTsKIH07CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVJl
bmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFs
L2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVSZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNobWVudC5o
CmluZGV4IGI0MzBlNDUyNjEwZDZlMTk2ZDUwMjIyOTE0ODZhMTVjNWFjN2Q0Y2YuLjgzYjI3MDZk
NDFlMjdjMjg5YzQ0Y2JmZWIyNThkNzBhZDRiM2NkMWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVJlbmRlclBhc3NEZXB0aFN0ZW5jaWxB
dHRhY2htZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUv
V2ViR1BVUmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQuaApAQCAtMzgsMTIgKzM4LDE0
IEBAIGNsYXNzIFRleHR1cmVWaWV3Owogc3RydWN0IFJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRh
Y2htZW50IHsKICAgICBUZXh0dXJlVmlldyYgdmlldzsKIAotICAgIHN0ZDo6dmFyaWFudDxMb2Fk
T3AsIGZsb2F0PiBkZXB0aExvYWRWYWx1ZTsKLSAgICBTdG9yZU9wIGRlcHRoU3RvcmVPcCB7IFN0
b3JlT3A6OlN0b3JlIH07CisgICAgZmxvYXQgZGVwdGhDbGVhclZhbHVlIHsgMCB9OworICAgIHN0
ZDo6b3B0aW9uYWw8TG9hZE9wPiBkZXB0aExvYWRPcDsKKyAgICBzdGQ6Om9wdGlvbmFsPFN0b3Jl
T3A+IGRlcHRoU3RvcmVPcDsKICAgICBib29sIGRlcHRoUmVhZE9ubHkgeyBmYWxzZSB9OwogCi0g
ICAgc3RkOjp2YXJpYW50PExvYWRPcCwgU3RlbmNpbFZhbHVlPiBzdGVuY2lsTG9hZFZhbHVlOwot
ICAgIFN0b3JlT3Agc3RlbmNpbFN0b3JlT3AgeyBTdG9yZU9wOjpTdG9yZSB9OworICAgIFN0ZW5j
aWxWYWx1ZSBzdGVuY2lsQ2xlYXJWYWx1ZSB7IDAgfTsKKyAgICBzdGQ6Om9wdGlvbmFsPExvYWRP
cD4gc3RlbmNpbExvYWRPcDsKKyAgICBzdGQ6Om9wdGlvbmFsPFN0b3JlT3A+IHN0ZW5jaWxTdG9y
ZU9wOwogICAgIGJvb2wgc3RlbmNpbFJlYWRPbmx5IHsgZmFsc2UgfTsKIH07CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVJlbmRlclBh
c3NEZXNjcmlwdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9X
ZWJHUFVSZW5kZXJQYXNzRGVzY3JpcHRvci5oCmluZGV4IDBmYWZlYjQ0NjU1ODYzZjhlNzAzMzc0
YWVjZTAxZmJiZmRhMDYxY2UuLjY2MDkwY2RjM2NkZGQzZTg3NTA4ZDJlODNhMzg4MjEwODVhMjc3
OTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dl
YkdQVVJlbmRlclBhc3NEZXNjcmlwdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9n
cmFwaGljcy9XZWJHUFUvV2ViR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IuaApAQCAtMzYsNyArMzYs
NyBAQAogbmFtZXNwYWNlIFBBTDo6V2ViR1BVIHsKIAogc3RydWN0IFJlbmRlclBhc3NEZXNjcmlw
dG9yIDogcHVibGljIE9iamVjdERlc2NyaXB0b3JCYXNlIHsKLSAgICBWZWN0b3I8UmVuZGVyUGFz
c0NvbG9yQXR0YWNobWVudD4gY29sb3JBdHRhY2htZW50czsKKyAgICBWZWN0b3I8c3RkOjpvcHRp
b25hbDxSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50Pj4gY29sb3JBdHRhY2htZW50czsKICAgICBz
dGQ6Om9wdGlvbmFsPFJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50PiBkZXB0aFN0ZW5j
aWxBdHRhY2htZW50OwogICAgIFF1ZXJ5U2V0KiBvY2NsdXNpb25RdWVyeVNldCB7IG51bGxwdHIg
fTsKICAgICBSZW5kZXJQYXNzVGltZXN0YW1wV3JpdGVzIHRpbWVzdGFtcFdyaXRlczsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVJlbmRl
clBhc3NFbmNvZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9X
ZWJHUFVSZW5kZXJQYXNzRW5jb2Rlci5oCmluZGV4IDczNTJlYTFkZDhiOTUzYjI1ZjU4MjQ2NmVh
YTc3OTZlZTVkZjIyZjcuLjU1ODVmNGFmMmE5NmMxZmNkNWFjODA0MjE0Mjk0NjUyYmExOWYyMDAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQ
VVJlbmRlclBhc3NFbmNvZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGlj
cy9XZWJHUFUvV2ViR1BVUmVuZGVyUGFzc0VuY29kZXIuaApAQCAtOTcsMTEgKzk3LDggQEAgcHVi
bGljOgogICAgIHZpcnR1YWwgdm9pZCBiZWdpbk9jY2x1c2lvblF1ZXJ5KFNpemUzMiBxdWVyeUlu
ZGV4KSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGVuZE9jY2x1c2lvblF1ZXJ5KCkgPSAwOwogCi0g
ICAgdmlydHVhbCB2b2lkIGJlZ2luUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkoY29uc3QgUXVlcnlT
ZXQmLCBTaXplMzIgcXVlcnlJbmRleCkgPSAwOwotICAgIHZpcnR1YWwgdm9pZCBlbmRQaXBlbGlu
ZVN0YXRpc3RpY3NRdWVyeSgpID0gMDsKLQogICAgIHZpcnR1YWwgdm9pZCBleGVjdXRlQnVuZGxl
cyhWZWN0b3I8c3RkOjpyZWZlcmVuY2Vfd3JhcHBlcjxSZW5kZXJCdW5kbGU+PiYmKSA9IDA7Ci0g
ICAgdmlydHVhbCB2b2lkIGVuZFBhc3MoKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGVuZCgpID0g
MDsKIAogcHJvdGVjdGVkOgogICAgIFJlbmRlclBhc3NFbmNvZGVyKCkgPSBkZWZhdWx0OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVUmVu
ZGVyUGFzc0xheW91dC5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUv
V2ViR1BVUmVuZGVyUGFzc0xheW91dC5oCmluZGV4IGFmOTNmMWYxYjJkNzAxMWQ1ZTNiODVjN2Q0
ZWMwOTAxNDRiMDIwNDUuLjgwZDgyZGEzNTdlNDkyNDQwMTMxZTRmMzZiMjNkYmM1NGU5NGY1NTcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQ
VVJlbmRlclBhc3NMYXlvdXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNz
L1dlYkdQVS9XZWJHUFVSZW5kZXJQYXNzTGF5b3V0LmgKQEAgLTM0LDcgKzM0LDcgQEAKIG5hbWVz
cGFjZSBQQUw6OldlYkdQVSB7CiAKIHN0cnVjdCBSZW5kZXJQYXNzTGF5b3V0IDogcHVibGljIE9i
amVjdERlc2NyaXB0b3JCYXNlIHsKLSAgICBWZWN0b3I8VGV4dHVyZUZvcm1hdD4gY29sb3JGb3Jt
YXRzOworICAgIFZlY3RvcjxzdGQ6Om9wdGlvbmFsPFRleHR1cmVGb3JtYXQ+PiBjb2xvckZvcm1h
dHM7CiAgICAgc3RkOjpvcHRpb25hbDxUZXh0dXJlRm9ybWF0PiBkZXB0aFN0ZW5jaWxGb3JtYXQ7
CiAgICAgU2l6ZTMyIHNhbXBsZUNvdW50IHsgMSB9OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVNoYWRlck1vZHVsZUNvbXBpbGF0
aW9uSGludC5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BV
U2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDcyMjBkZGYwOWVhYTA0
NDk1NDVhMGNkYjRlNmNiMDFiNTEzMzU3MwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVNoYWRlck1vZHVsZUNvbXBpbGF0aW9u
SGludC5oCkBAIC0wLDAgKzEsMzYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworbmFt
ZXNwYWNlIFBBTDo6V2ViR1BVIHsKKworY2xhc3MgV2ViR1BVUGlwZWxpbmVMYXlvdXQ7CisKK3N0
cnVjdCBTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQgeworICAgIFBpcGVsaW5lTGF5b3V0JiBw
aXBlbGluZUxheW91dDsKK307CisKK30gLy8gbmFtZXNwYWNlIFBBTDo6V2ViR1BVCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVTaGFkZXJN
b2R1bGVEZXNjcmlwdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQ
VS9XZWJHUFVTaGFkZXJNb2R1bGVEZXNjcmlwdG9yLmgKaW5kZXggYzk5ZThlZTJmZjRmMWZhODVl
MzUxNjI2NTdkOWEzZDlmNmM3NTQ2Zi4uMzFlMjdhNjlkZGRmZDQzMWYyNzY0Y2JhZjQ1YWJkNGJl
NWY3ZmM1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJH
UFUvV2ViR1BVU2hhZGVyTW9kdWxlRGVzY3JpcHRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BB
TC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVNoYWRlck1vZHVsZURlc2NyaXB0b3IuaApAQCAt
MjYsNiArMjYsNyBAQAogI3ByYWdtYSBvbmNlCiAKICNpbmNsdWRlICJXZWJHUFVPYmplY3REZXNj
cmlwdG9yQmFzZS5oIgorI2luY2x1ZGUgIldlYkdQVVNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGlu
dC5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgUEFMOjpX
ZWJHUFUgewpAQCAtMzMsNiArMzQsNyBAQCBuYW1lc3BhY2UgUEFMOjpXZWJHUFUgewogc3RydWN0
IFNoYWRlck1vZHVsZURlc2NyaXB0b3IgOiBwdWJsaWMgT2JqZWN0RGVzY3JpcHRvckJhc2Ugewog
ICAgIFN0cmluZyBjb2RlOwogICAgIC8vIEpTQzo6U3Ryb25nPEpTQzo6SlNPYmplY3Q+IHNvdXJj
ZU1hcDsKKyAgICBWZWN0b3I8S2V5VmFsdWVQYWlyPFN0cmluZywgU2hhZGVyTW9kdWxlQ29tcGls
YXRpb25IaW50Pj4gaGludHM7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBQQUw6OldlYkdQVQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVVGV4
dHVyZURlc2NyaXB0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BV
L1dlYkdQVVRleHR1cmVEZXNjcmlwdG9yLmgKaW5kZXggNThhMGZjYTc4OGQyNDI1MzczZDk3ZWJl
OGIxMzFjOWZkZWQ2Y2Q1Yy4uNzcwM2IyMDQzZDkxYjc1ZjE3MThiMmZlNGQyZWZhMjI4NDA0NzQy
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2Vi
R1BVVGV4dHVyZURlc2NyaXB0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBo
aWNzL1dlYkdQVS9XZWJHUFVUZXh0dXJlRGVzY3JpcHRvci5oCkBAIC00MSw2ICs0MSw3IEBAIHN0
cnVjdCBUZXh0dXJlRGVzY3JpcHRvciA6IHB1YmxpYyBPYmplY3REZXNjcmlwdG9yQmFzZSB7CiAg
ICAgVGV4dHVyZURpbWVuc2lvbiBkaW1lbnNpb24geyBUZXh0dXJlRGltZW5zaW9uOjpfMmQgfTsK
ICAgICBUZXh0dXJlRm9ybWF0IGZvcm1hdCB7IFRleHR1cmVGb3JtYXQ6OlI4dW5vcm0gfTsKICAg
ICBUZXh0dXJlVXNhZ2VGbGFncyB1c2FnZTsKKyAgICBWZWN0b3I8VGV4dHVyZUZvcm1hdD4gdmll
d0Zvcm1hdHM7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBQQUw6OldlYkdQVQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVVGV4dHVyZUZvcm1h
dC5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVVGV4dHVy
ZUZvcm1hdC5oCmluZGV4IDYyNTk0NjAwNWYwZTg2M2FmOTAzMjgxNjViMzg4OTEyZGQ3NTAyNDQu
LjYzYjQyOThlYjM5M2ZmZDAxZTI5ZGY5ZWFiNjlmODlmNDA2ODMzZDcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVRleHR1cmVGb3JtYXQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVUZXh0
dXJlRm9ybWF0LmgKQEAgLTc4LDEzICs3OCwxOSBAQCBlbnVtIGNsYXNzIFRleHR1cmVGb3JtYXQg
OiB1aW50OF90IHsKICAgICBSZ2JhMzJzaW50LAogICAgIFJnYmEzMmZsb2F0LAogCi0gICAgLy8g
RGVwdGggYW5kIHN0ZW5jaWwgZm9ybWF0cworICAgIC8vIERlcHRoL3N0ZW5jaWwgZm9ybWF0cwog
ICAgIFN0ZW5jaWw4LAogICAgIERlcHRoMTZ1bm9ybSwKICAgICBEZXB0aDI0cGx1cywKICAgICBE
ZXB0aDI0cGx1c1N0ZW5jaWw4LAogICAgIERlcHRoMzJmbG9hdCwKIAorICAgIC8vIGRlcHRoMjR1
bm9ybS1zdGVuY2lsOCBmZWF0dXJlCisgICAgRGVwdGgyNHVub3JtU3RlbmNpbDgsCisKKyAgICAv
LyBkZXB0aDMyZmxvYXQtc3RlbmNpbDggZmVhdHVyZQorICAgIERlcHRoMzJmbG9hdFN0ZW5jaWw4
LAorCiAgICAgLy8gQkMgY29tcHJlc3NlZCBmb3JtYXRzIHVzYWJsZSBpZiB0ZXh0dXJlLWNvbXBy
ZXNzaW9uLWJjIGlzIGJvdGgKICAgICAvLyBzdXBwb3J0ZWQgYnkgdGhlIGRldmljZS91c2VyIGFn
ZW50IGFuZCBlbmFibGVkIGluIHJlcXVlc3REZXZpY2UuCiAgICAgQmMxUmdiYVVub3JtLApAQCAt
MTQ1LDEyICsxNTEsNiBAQCBlbnVtIGNsYXNzIFRleHR1cmVGb3JtYXQgOiB1aW50OF90IHsKICAg
ICBBc3RjMTJ4MTBVbm9ybVNSR0IsCiAgICAgQXN0YzEyeDEyVW5vcm0sCiAgICAgQXN0YzEyeDEy
VW5vcm1TUkdCLAotCi0gICAgLy8gZGVwdGgyNHVub3JtLXN0ZW5jaWw4IGZlYXR1cmUKLSAgICBE
ZXB0aDI0dW5vcm1TdGVuY2lsOCwKLQotICAgIC8vIGRlcHRoMzJmbG9hdC1zdGVuY2lsOCBmZWF0
dXJlCi0gICAgRGVwdGgzMmZsb2F0U3RlbmNpbDgsCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBQQUw6
OldlYkdQVQpAQCAtMjAxLDYgKzIwMSw4IEBAIHRlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8
UEFMOjpXZWJHUFU6OlRleHR1cmVGb3JtYXQ+IHsKICAgICAgICAgUEFMOjpXZWJHUFU6OlRleHR1
cmVGb3JtYXQ6OkRlcHRoMjRwbHVzLAogICAgICAgICBQQUw6OldlYkdQVTo6VGV4dHVyZUZvcm1h
dDo6RGVwdGgyNHBsdXNTdGVuY2lsOCwKICAgICAgICAgUEFMOjpXZWJHUFU6OlRleHR1cmVGb3Jt
YXQ6OkRlcHRoMzJmbG9hdCwKKyAgICAgICAgUEFMOjpXZWJHUFU6OlRleHR1cmVGb3JtYXQ6OkRl
cHRoMjR1bm9ybVN0ZW5jaWw4LAorICAgICAgICBQQUw6OldlYkdQVTo6VGV4dHVyZUZvcm1hdDo6
RGVwdGgzMmZsb2F0U3RlbmNpbDgsCiAgICAgICAgIFBBTDo6V2ViR1BVOjpUZXh0dXJlRm9ybWF0
OjpCYzFSZ2JhVW5vcm0sCiAgICAgICAgIFBBTDo6V2ViR1BVOjpUZXh0dXJlRm9ybWF0OjpCYzFS
Z2JhVW5vcm1TUkdCLAogICAgICAgICBQQUw6OldlYkdQVTo6VGV4dHVyZUZvcm1hdDo6QmMyUmdi
YVVub3JtLApAQCAtMjUyLDkgKzI1NCw3IEBAIHRlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8
UEFMOjpXZWJHUFU6OlRleHR1cmVGb3JtYXQ+IHsKICAgICAgICAgUEFMOjpXZWJHUFU6OlRleHR1
cmVGb3JtYXQ6OkFzdGMxMngxMFVub3JtLAogICAgICAgICBQQUw6OldlYkdQVTo6VGV4dHVyZUZv
cm1hdDo6QXN0YzEyeDEwVW5vcm1TUkdCLAogICAgICAgICBQQUw6OldlYkdQVTo6VGV4dHVyZUZv
cm1hdDo6QXN0YzEyeDEyVW5vcm0sCi0gICAgICAgIFBBTDo6V2ViR1BVOjpUZXh0dXJlRm9ybWF0
OjpBc3RjMTJ4MTJVbm9ybVNSR0IsCi0gICAgICAgIFBBTDo6V2ViR1BVOjpUZXh0dXJlRm9ybWF0
OjpEZXB0aDI0dW5vcm1TdGVuY2lsOCwKLSAgICAgICAgUEFMOjpXZWJHUFU6OlRleHR1cmVGb3Jt
YXQ6OkRlcHRoMzJmbG9hdFN0ZW5jaWw4CisgICAgICAgIFBBTDo6V2ViR1BVOjpUZXh0dXJlRm9y
bWF0OjpBc3RjMTJ4MTJVbm9ybVNSR0IKICAgICA+OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAppbmRleCAw
NmM5YjIxODE2NWY0ZTM1M2U5NDg5ZjA1MmYwZGZiOTkxYjkyNmE0Li40YzI3MjMxYzc5YWMzZTQw
ODQxZjUwM2YzOTZmNzA3MDIwNWQ5ZjIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3Vy
Y2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApAQCAtMzE4NSw2ICszMTg1
LDcgQEAgSlNHUFVDb21tYW5kQnVmZmVyLmNwcAogSlNHUFVDb21tYW5kQnVmZmVyRGVzY3JpcHRv
ci5jcHAKIEpTR1BVQ29tbWFuZEVuY29kZXIuY3BwCiBKU0dQVUNvbW1hbmRFbmNvZGVyRGVzY3Jp
cHRvci5jcHAKK0pTR1BVQ29tbWFuZHNNaXhpbi5jcHAKIEpTR1BVQ29tcGFyZUZ1bmN0aW9uLmNw
cAogSlNHUFVDb21waWxhdGlvbkluZm8uY3BwCiBKU0dQVUNvbXBpbGF0aW9uTWVzc2FnZS5jcHAK
QEAgLTMxOTYsNiArMzE5Nyw3IEBAIEpTR1BVQ29tcHV0ZVBhc3NUaW1lc3RhbXBXcml0ZS5jcHAK
IEpTR1BVQ29tcHV0ZVBpcGVsaW5lLmNwcAogSlNHUFVDb21wdXRlUGlwZWxpbmVEZXNjcmlwdG9y
LmNwcAogSlNHUFVDdWxsTW9kZS5jcHAKK0pTR1BVRGVidWdDb21tYW5kc01peGluLmNwcAogSlNH
UFVEZXB0aFN0ZW5jaWxTdGF0ZS5jcHAKIEpTR1BVRGV2aWNlLmNwcAogSlNHUFVEZXZpY2VEZXNj
cmlwdG9yLmNwcApAQCAtMzIzMSw3ICszMjMzLDYgQEAgSlNHUFVQaXBlbGluZUJhc2UuY3BwCiBK
U0dQVVBpcGVsaW5lRGVzY3JpcHRvckJhc2UuY3BwCiBKU0dQVVBpcGVsaW5lTGF5b3V0LmNwcAog
SlNHUFVQaXBlbGluZUxheW91dERlc2NyaXB0b3IuY3BwCi1KU0dQVVBpcGVsaW5lU3RhdGlzdGlj
TmFtZS5jcHAKIEpTR1BVUG93ZXJQcmVmZXJlbmNlLmNwcAogSlNHUFVQcmVkZWZpbmVkQ29sb3JT
cGFjZS5jcHAKIEpTR1BVUHJpbWl0aXZlU3RhdGUuY3BwCkBAIC0zMjYyLDYgKzMyNjMsNyBAQCBK
U0dQVVNhbXBsZXJCaW5kaW5nTGF5b3V0LmNwcAogSlNHUFVTYW1wbGVyQmluZGluZ1R5cGUuY3Bw
CiBKU0dQVVNhbXBsZXJEZXNjcmlwdG9yLmNwcAogSlNHUFVTaGFkZXJNb2R1bGUuY3BwCitKU0dQ
VVNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludC5jcHAKIEpTR1BVU2hhZGVyTW9kdWxlRGVzY3Jp
cHRvci5jcHAKIEpTR1BVU2hhZGVyU3RhZ2UuY3BwCiBKU0dQVVN0ZW5jaWxGYWNlU3RhdGUuY3Bw
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
aW5kZXggZmI5ZmI3Y2MyMjE4OWYwMzQzMDIwY2Y2YzBmYTNkNjY1ZGI5ZWIzOC4uMGE1OWIxN2Mx
YTBhMzIwOWRiOTgzNDcxMDNmZDYzODUxMjc0ZjI5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNzMyNCw3ICs3MzI0LDYgQEAK
IAkJMUM5MDc4MDgyNzUxRkQ1MzAwNEVGMTY1IC8qIEpTR1BVRXh0ZW50M0REaWN0LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEpTR1BVRXh0ZW50M0REaWN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTFDOTA3ODA5Mjc1MUZENTMwMDRFRjE2NSAvKiBKU0dQVVF1ZXJ5U2V0LmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEpTR1BVUXVlcnlTZXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUM5
MDc4MEEyNzUxRkQ1NDAwNEVGMTY1IC8qIEpTR1BVSW1hZ2VEYXRhTGF5b3V0LmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IEpTR1BVSW1hZ2VEYXRhTGF5b3V0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKLQkJMUM5MDc4MEIyNzUxRkQ1NDAwNEVGMTY1IC8qIEpTR1BVUGlwZWxpbmVTdGF0
aXN0aWNOYW1lLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDOTA3ODBDMjc1MUZENTQwMDRFRjE2NSAv
KiBKU0dQVUJ1ZmZlckJpbmRpbmdUeXBlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTR1BVQnVm
ZmVyQmluZGluZ1R5cGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQzkwNzgw
RDI3NTFGRDU1MDA0RUYxNjUgLyogSlNHUFVEZXZpY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNHUFVE
ZXZpY2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUM5MDc4MEUyNzUxRkQ1NTAw
NEVGMTY1IC8qIEpTR1BVU2FtcGxlckJpbmRpbmdUeXBlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEpTR1BVU2FtcGxlckJpbmRpbmdUeXBlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
QEAgLTc0NTQsNyArNzQ1Myw2IEBACiAJCTFDOTA3ODhBMjc1MUZEODYwMDRFRjE2NSAvKiBKU0dQ
VVNhbXBsZXJEZXNjcmlwdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTR1BVU2FtcGxlckRlc2NyaXB0
b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUM5MDc4OEIyNzUxRkQ4NzAwNEVG
MTY1IC8qIEpTR1BVQ29tcGFyZUZ1bmN0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTR1BVQ29tcGFy
ZUZ1bmN0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDOTA3ODhDMjc1MUZE
ODcwMDRFRjE2NSAvKiBKU0dQVVN1cHBvcnRlZEZlYXR1cmVzLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpT
R1BVU3VwcG9ydGVkRmVhdHVyZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMUM5
MDc4OEQyNzUxRkQ4NzAwNEVGMTY1IC8qIEpTR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IEpTR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUM5MDc4OEUyNzUxRkQ4ODAwNEVGMTY1IC8qIEpTR1BV
RGV2aWNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTR1BVRGV2aWNlLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUM5MDc4OEYyNzUxRkQ4ODAwNEVGMTY1IC8qIEpTR1BVQnVm
ZmVyRGVzY3JpcHRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0dQVUJ1ZmZlckRlc2NyaXB0b3IuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUM5MDc4OTAyNzUxRkQ4OTAwNEVGMTY1IC8q
IEpTR1BVT3JpZ2luM0REaWN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTR1BVT3JpZ2luM0RE
aWN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTc2NzIsNyArNzY3MCw2IEBA
CiAJCTFDQTRGQ0VCMjczNTFGQjEwMDI3RkQ1QSAvKiBHUFVDb21tYW5kRW5jb2Rlci5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBHUFVDb21tYW5kRW5jb2Rlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTFDQTRGQ0VDMjczNTFGQjIwMDI3RkQ1QSAvKiBHUFVRdWVyeVNldERlc2Ny
aXB0b3IuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gdGV4dDsgcGF0aCA9IEdQVVF1ZXJ5U2V0RGVzY3JpcHRvci5pZGw7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTFDQTRGQ0VEMjczNTFGQjIwMDI3RkQ1QSAvKiBHUFVDb21tYW5kRW5j
b2Rlci5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSB0ZXh0OyBwYXRoID0gR1BVQ29tbWFuZEVuY29kZXIuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwotCQkxQ0E0RkNFRTI3MzUxRkIyMDAyN0ZENUEgLyogR1BVUGlwZWxpbmVTdGF0aXN0
aWNOYW1lLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHRleHQ7IHBhdGggPSBHUFVQaXBlbGluZVN0YXRpc3RpY05hbWUuaWRsOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkxQ0E0RkNFRjI3MzUxRkIzMDAyN0ZENUEgLyogR1BVUmVuZGVy
QnVuZGxlRW5jb2RlckRlc2NyaXB0b3IuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEdQVVJlbmRlckJ1bmRsZUVuY29kZXJE
ZXNjcmlwdG9yLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNBNEZDRjAyNzM1
MUZCMzAwMjdGRDVBIC8qIEdQVUNvbG9yRGljdC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gR1BVQ29sb3JEaWN0LmlkbDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNBNEZDRjEyNzM1MUZCMzAwMjdGRDVBIC8q
IEdQVVJlbmRlckVuY29kZXJCYXNlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBHUFVSZW5kZXJFbmNvZGVyQmFzZS5pZGw7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC03NzE0LDcgKzc3MTEsNiBAQAogCQkxQ0E0
RkQxNTI3MzUxRkMxMDAyN0ZENUEgLyogR1BVUmVuZGVyUGFzc1RpbWVzdGFtcExvY2F0aW9uLmlk
bCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7
IHBhdGggPSBHUFVSZW5kZXJQYXNzVGltZXN0YW1wTG9jYXRpb24uaWRsOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQkxQ0E0RkQxNjI3MzUxRkMyMDAyN0ZENUEgLyogR1BVSW1hZ2VDb3B5
RXh0ZXJuYWxJbWFnZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gR1BVSW1hZ2VDb3B5RXh0ZXJuYWxJbWFnZS5pZGw7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDQTRGRDE3MjczNTFGQzIwMDI3RkQ1QSAvKiBH
UFVSZW5kZXJQYXNzRGVzY3JpcHRvci5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3Iu
aWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkxQ0E0RkQxODI3MzUxRkMzMDAyN0ZE
NUEgLyogR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdQVVBpcGVs
aW5lU3RhdGlzdGljTmFtZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQ0E0RkQx
OTI3MzUxRkMzMDAyN0ZENUEgLyogR1BVQ29tbWFuZEVuY29kZXJEZXNjcmlwdG9yLmlkbCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGgg
PSBHUFVDb21tYW5kRW5jb2RlckRlc2NyaXB0b3IuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkxQ0E0RkQxQTI3MzUxRkMzMDAyN0ZENUEgLyogR1BVUmVuZGVyUGFzc1RpbWVzdGFt
cFdyaXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdQVVJlbmRlclBhc3NUaW1lc3RhbXBXcml0ZS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQ0E0RkQxQjI3MzUxRkM0MDAyN0ZENUEgLyog
R1BVT3JpZ2luMkREaWN0LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBHUFVPcmlnaW4yRERpY3QuaWRsOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwpAQCAtNzc3MSw2ICs3NzY3LDE2IEBACiAJCTFDRUFBNTJGMjZGMzFB
RjgwMDg2ODUwNyAvKiBDU1NGb250UGFsZXR0ZVZhbHVlc1J1bGUuaWRsICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IENTU0ZvbnRQ
YWxldHRlVmFsdWVzUnVsZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDRUFB
NTMwMjZGMzMxQzEwMDg2ODUwNyAvKiBDU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3Jz
VmFsdWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlk
ZUNvbG9yc1ZhbHVlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNFQUE1MzEy
NkYzMzFDMTAwODY4NTA3IC8qIENTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvcnNWYWx1
ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBDU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JzVmFs
dWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUNFRjQ1QTUyN0JCMDk2QTAwQzNB
NkJDIC8qIEdQVVNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludC5pZGwgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gR1BVU2hhZGVy
TW9kdWxlQ29tcGlsYXRpb25IaW50LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MUNFRjQ1QTcyN0JCMEEzRDAwQzNBNkJDIC8qIEdQVVNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGlu
dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBHUFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUNFRjQ1QTgyN0JCMEJFMTAwQzNBNkJDIC8qIEdQ
VUNvbW1hbmRzTWl4aW4uaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEdQVUNvbW1hbmRzTWl4aW4uaWRsOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQkxQ0VGNDVBOTI3QkIwRDM5MDBDM0E2QkMgLyogR1BVRGVidWdD
b21tYW5kc01peGluLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHRleHQ7IHBhdGggPSBHUFVEZWJ1Z0NvbW1hbmRzTWl4aW4uaWRsOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkxQ0VGNDVCMDI3QkI5MDdGMDBDM0E2QkMgLyogSlNHUFVD
b21tYW5kc01peGluLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTR1BVQ29tbWFuZHNNaXhpbi5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQ0VGNDVCMTI3QkI5MDdGMDBDM0E2QkMgLyogSlNH
UFVDb21tYW5kc01peGluLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTR1BVQ29tbWFuZHNNaXhp
bi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFDRUY0NUIyMjdCQjkwODAwMEMz
QTZCQyAvKiBKU0dQVURlYnVnQ29tbWFuZHNNaXhpbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBK
U0dQVURlYnVnQ29tbWFuZHNNaXhpbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTFDRUY0NUIzMjdCQjkwODEwMEMzQTZCQyAvKiBKU0dQVVNoYWRlck1vZHVsZUNvbXBpbGF0aW9u
SGludC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBKU0dQVVNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQ0VGNDVCNDI3QkI5MDgxMDBDM0E2QkMg
LyogSlNHUFVEZWJ1Z0NvbW1hbmRzTWl4aW4uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNHUFVEZWJ1Z0Nv
bW1hbmRzTWl4aW4uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUNFRjQ1QjUyN0JC
OTA4MjAwQzNBNkJDIC8qIEpTR1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50LmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEpTR1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50LmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNGMEJGRDQyMjk4NzA2ODAwRUQyMDc0IC8qIFRl
eHRTaXplQWRqdXN0bWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBUZXh0U2l6ZUFkanVzdG1l
bnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQ0YxOEYzQzI2QkI1QUYyMDA0
QjE3MjIgLyogTG9nSW5pdGlhbGl6YXRpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTG9nSW5p
dGlhbGl6YXRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQ0ZBRTMyMjBB
NkQ2QTNGMDAzMjU5M0QgLyogbGlib2JqYy5keWxpYiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9ICJjb21waWxlZC5tYWNoLW8uZHlsaWIiOyBuYW1lID0g
bGlib2JqYy5keWxpYjsgcGF0aCA9IC91c3IvbGliL2xpYm9iamMuZHlsaWI7IHNvdXJjZVRyZWUg
PSAiPGFic29sdXRlPiI7IH07CkBAIC0yMDA5MSw2ICsyMDA5Nyw3IEBACiAJCQkJMUNBNEZDRUQy
NzM1MUZCMjAwMjdGRDVBIC8qIEdQVUNvbW1hbmRFbmNvZGVyLmlkbCAqLywKIAkJCQkxQ0E0RkNG
RTI3MzUxRkI5MDAyN0ZENUEgLyogR1BVQ29tbWFuZEVuY29kZXJEZXNjcmlwdG9yLmggKi8sCiAJ
CQkJMUNBNEZEMTkyNzM1MUZDMzAwMjdGRDVBIC8qIEdQVUNvbW1hbmRFbmNvZGVyRGVzY3JpcHRv
ci5pZGwgKi8sCisJCQkJMUNFRjQ1QTgyN0JCMEJFMTAwQzNBNkJDIC8qIEdQVUNvbW1hbmRzTWl4
aW4uaWRsICovLAogCQkJCTFDQTRGQzU5MjczNEVCQ0QwMDI3RkQ1QSAvKiBHUFVDb21wYXJlRnVu
Y3Rpb24uaCAqLywKIAkJCQkxQ0E0RkM1QjI3MzRFQkNFMDAyN0ZENUEgLyogR1BVQ29tcGFyZUZ1
bmN0aW9uLmlkbCAqLywKIAkJCQkxQ0E0RkNFMjI3MzUxMjNBMDAyN0ZENUEgLyogR1BVQ29tcGls
YXRpb25JbmZvLmNwcCAqLywKQEAgLTIwMTE3LDYgKzIwMTI0LDcgQEAKIAkJCQkxQ0E0RkNCNDI3
MzUwQ0VCMDAyN0ZENUEgLyogR1BVQ29tcHV0ZVBpcGVsaW5lRGVzY3JpcHRvci5pZGwgKi8sCiAJ
CQkJMUNBNEZDQTMyNzM1MENFNTAwMjdGRDVBIC8qIEdQVUN1bGxNb2RlLmggKi8sCiAJCQkJMUNB
NEZDQ0UyNzM1MENGNTAwMjdGRDVBIC8qIEdQVUN1bGxNb2RlLmlkbCAqLywKKwkJCQkxQ0VGNDVB
OTI3QkIwRDM5MDBDM0E2QkMgLyogR1BVRGVidWdDb21tYW5kc01peGluLmlkbCAqLywKIAkJCQkx
Q0E0RkNENDI3MzUwQ0Y4MDAyN0ZENUEgLyogR1BVRGVwdGhTdGVuY2lsU3RhdGUuaCAqLywKIAkJ
CQkxQ0E0RkNERDI3MzUwQ0ZCMDAyN0ZENUEgLyogR1BVRGVwdGhTdGVuY2lsU3RhdGUuaWRsICov
LAogCQkJCTFDMjg5NTdGMjcyRjQzRDgwMEIzRTJCNCAvKiBHUFVEZXZpY2UuY3BwICovLApAQCAt
MjAxODgsOCArMjAxOTYsNiBAQAogCQkJCTFDQTRGQzZFMjczNEY5RjYwMDI3RkQ1QSAvKiBHUFVQ
aXBlbGluZUxheW91dC5pZGwgKi8sCiAJCQkJMUNBNEZDNzMyNzM0RjlGODAwMjdGRDVBIC8qIEdQ
VVBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvci5oICovLAogCQkJCTFDQTRGQzY3MjczNEY5RjQwMDI3
RkQ1QSAvKiBHUFVQaXBlbGluZUxheW91dERlc2NyaXB0b3IuaWRsICovLAotCQkJCTFDQTRGRDE4
MjczNTFGQzMwMDI3RkQ1QSAvKiBHUFVQaXBlbGluZVN0YXRpc3RpY05hbWUuaCAqLywKLQkJCQkx
Q0E0RkNFRTI3MzUxRkIyMDAyN0ZENUEgLyogR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lLmlkbCAq
LywKIAkJCQkxQzI4OTU4MjI3MkY0OEYyMDBCM0UyQjQgLyogR1BVUG93ZXJQcmVmZXJlbmNlLmgg
Ki8sCiAJCQkJMUMyODk1NjkyNzJGMjc0NzAwQjNFMkI0IC8qIEdQVVBvd2VyUHJlZmVyZW5jZS5p
ZGwgKi8sCiAJCQkJMUMyODk1OEIyNzJGNUFGNTAwQjNFMkI0IC8qIEdQVVByZWRlZmluZWRDb2xv
clNwYWNlLmggKi8sCkBAIC0yMDI1Niw2ICsyMDI2Miw4IEBACiAJCQkJMUNBNEZDQTUyNzM1MENF
NjAwMjdGRDVBIC8qIEdQVVNoYWRlck1vZHVsZS5jcHAgKi8sCiAJCQkJMUNBNEZDRDUyNzM1MENG
ODAwMjdGRDVBIC8qIEdQVVNoYWRlck1vZHVsZS5oICovLAogCQkJCTFDQTRGQ0E3MjczNTBDRTYw
MDI3RkQ1QSAvKiBHUFVTaGFkZXJNb2R1bGUuaWRsICovLAorCQkJCTFDRUY0NUE3MjdCQjBBM0Qw
MEMzQTZCQyAvKiBHUFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQuaCAqLywKKwkJCQkxQ0VG
NDVBNTI3QkIwOTZBMDBDM0E2QkMgLyogR1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50Lmlk
bCAqLywKIAkJCQkxQ0E0RkNCMTI3MzUwQ0VBMDAyN0ZENUEgLyogR1BVU2hhZGVyTW9kdWxlRGVz
Y3JpcHRvci5oICovLAogCQkJCTFDQTRGQ0FDMjczNTBDRTgwMDI3RkQ1QSAvKiBHUFVTaGFkZXJN
b2R1bGVEZXNjcmlwdG9yLmlkbCAqLywKIAkJCQkxQ0E0RkM2QTI3MzRGOUY1MDAyN0ZENUEgLyog
R1BVU2hhZGVyU3RhZ2UuaCAqLywKQEAgLTIzNTMyLDYgKzIzNTQwLDggQEAKIAkJCQkxQzkwNzg0
RTI3NTFGRDZGMDA0RUYxNjUgLyogSlNHUFVDb21tYW5kRW5jb2Rlci5oICovLAogCQkJCTFDOTA3
N0U0Mjc1MUZENDQwMDRFRjE2NSAvKiBKU0dQVUNvbW1hbmRFbmNvZGVyRGVzY3JpcHRvci5jcHAg
Ki8sCiAJCQkJMUM5MDc4NUUyNzUxRkQ3NTAwNEVGMTY1IC8qIEpTR1BVQ29tbWFuZEVuY29kZXJE
ZXNjcmlwdG9yLmggKi8sCisJCQkJMUNFRjQ1QjEyN0JCOTA3RjAwQzNBNkJDIC8qIEpTR1BVQ29t
bWFuZHNNaXhpbi5jcHAgKi8sCisJCQkJMUNFRjQ1QjAyN0JCOTA3RjAwQzNBNkJDIC8qIEpTR1BV
Q29tbWFuZHNNaXhpbi5oICovLAogCQkJCTFDOTA3ODdCMjc1MUZEODAwMDRFRjE2NSAvKiBKU0dQ
VUNvbXBhcmVGdW5jdGlvbi5jcHAgKi8sCiAJCQkJMUM5MDc4OEIyNzUxRkQ4NzAwNEVGMTY1IC8q
IEpTR1BVQ29tcGFyZUZ1bmN0aW9uLmggKi8sCiAJCQkJMUM5MDc4OTEyNzUxRkQ4OTAwNEVGMTY1
IC8qIEpTR1BVQ29tcGlsYXRpb25JbmZvLmNwcCAqLywKQEAgLTIzNTU0LDYgKzIzNTY0LDggQEAK
IAkJCQkxQzkwNzg3MDI3NTFGRDdDMDA0RUYxNjUgLyogSlNHUFVDb21wdXRlUGlwZWxpbmVEZXNj
cmlwdG9yLmggKi8sCiAJCQkJMUM5MDc4NTkyNzUxRkQ3MzAwNEVGMTY1IC8qIEpTR1BVQ3VsbE1v
ZGUuY3BwICovLAogCQkJCTFDOTA3N0U4Mjc1MUZENDYwMDRFRjE2NSAvKiBKU0dQVUN1bGxNb2Rl
LmggKi8sCisJCQkJMUNFRjQ1QjIyN0JCOTA4MDAwQzNBNkJDIC8qIEpTR1BVRGVidWdDb21tYW5k
c01peGluLmNwcCAqLywKKwkJCQkxQ0VGNDVCNDI3QkI5MDgxMDBDM0E2QkMgLyogSlNHUFVEZWJ1
Z0NvbW1hbmRzTWl4aW4uaCAqLywKIAkJCQkxQzkwNzg5NDI3NTFGRDhBMDA0RUYxNjUgLyogSlNH
UFVEZXB0aFN0ZW5jaWxTdGF0ZS5jcHAgKi8sCiAJCQkJMUM5MDc4OTkyNzUxRkQ4QzAwNEVGMTY1
IC8qIEpTR1BVRGVwdGhTdGVuY2lsU3RhdGUuaCAqLywKIAkJCQkxQzkwNzg4RTI3NTFGRDg4MDA0
RUYxNjUgLyogSlNHUFVEZXZpY2UuY3BwICovLApAQCAtMjM2MjQsOCArMjM2MzYsNiBAQAogCQkJ
CTFDOTA3OEMwMjc1MUZEOUIwMDRFRjE2NSAvKiBKU0dQVVBpcGVsaW5lTGF5b3V0LmggKi8sCiAJ
CQkJMUM5MDc4NTAyNzUxRkQ2RjAwNEVGMTY1IC8qIEpTR1BVUGlwZWxpbmVMYXlvdXREZXNjcmlw
dG9yLmNwcCAqLywKIAkJCQkxQzkwNzdGQTI3NTFGRDREMDA0RUYxNjUgLyogSlNHUFVQaXBlbGlu
ZUxheW91dERlc2NyaXB0b3IuaCAqLywKLQkJCQkxQzkwNzg4RDI3NTFGRDg3MDA0RUYxNjUgLyog
SlNHUFVQaXBlbGluZVN0YXRpc3RpY05hbWUuY3BwICovLAotCQkJCTFDOTA3ODBCMjc1MUZENTQw
MDRFRjE2NSAvKiBKU0dQVVBpcGVsaW5lU3RhdGlzdGljTmFtZS5oICovLAogCQkJCTFDOTA3ODdF
Mjc1MUZEODIwMDRFRjE2NSAvKiBKU0dQVVBvd2VyUHJlZmVyZW5jZS5jcHAgKi8sCiAJCQkJMUM5
MDc4OUUyNzUxRkQ4RTAwNEVGMTY1IC8qIEpTR1BVUG93ZXJQcmVmZXJlbmNlLmggKi8sCiAJCQkJ
MUM5MDc4NTUyNzUxRkQ3MTAwNEVGMTY1IC8qIEpTR1BVUHJlZGVmaW5lZENvbG9yU3BhY2UuY3Bw
ICovLApAQCAtMjM2ODYsNiArMjM2OTYsOCBAQAogCQkJCTFDOTA3ODhBMjc1MUZEODYwMDRFRjE2
NSAvKiBKU0dQVVNhbXBsZXJEZXNjcmlwdG9yLmggKi8sCiAJCQkJMUM5MDc4NTcyNzUxRkQ3MjAw
NEVGMTY1IC8qIEpTR1BVU2hhZGVyTW9kdWxlLmNwcCAqLywKIAkJCQkxQzkwNzhBNTI3NTFGRDkx
MDA0RUYxNjUgLyogSlNHUFVTaGFkZXJNb2R1bGUuaCAqLywKKwkJCQkxQ0VGNDVCNTI3QkI5MDgy
MDBDM0E2QkMgLyogSlNHUFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQuY3BwICovLAorCQkJ
CTFDRUY0NUIzMjdCQjkwODEwMEMzQTZCQyAvKiBKU0dQVVNoYWRlck1vZHVsZUNvbXBpbGF0aW9u
SGludC5oICovLAogCQkJCTFDOTA3N0U5Mjc1MUZENDYwMDRFRjE2NSAvKiBKU0dQVVNoYWRlck1v
ZHVsZURlc2NyaXB0b3IuY3BwICovLAogCQkJCTFDOTA3ODM5Mjc1MUZENjYwMDRFRjE2NSAvKiBK
U0dQVVNoYWRlck1vZHVsZURlc2NyaXB0b3IuaCAqLywKIAkJCQkxQzkwNzg3MjI3NTFGRDdEMDA0
RUYxNjUgLyogSlNHUFVTaGFkZXJTdGFnZS5jcHAgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
R1BVL1dlYkdQVS9BZGFwdGVyLmggYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9BZGFwdGVyLmgKaW5k
ZXggZTdkNDM0OTg4NmU2NzkxYzVjNWJkODM3MzM0YmM1NTJiMWJkZWQwNC4uOGNhNGUwZjBlNGI5
N2VlMGE0Nzg4YmI4YzQ3NmZiNTI3NGZiYjMyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkdQVS9X
ZWJHUFUvQWRhcHRlci5oCisrKyBiL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0FkYXB0ZXIuaApAQCAt
NDUsMTAgKzQ1LDEwIEBAIHB1YmxpYzoKIAogICAgIH5BZGFwdGVyKCk7CiAKKyAgICBzaXplX3Qg
ZW51bWVyYXRlRmVhdHVyZXMoV0dQVUZlYXR1cmVOYW1lKiBmZWF0dXJlcyk7CiAgICAgYm9vbCBn
ZXRMaW1pdHMoV0dQVVN1cHBvcnRlZExpbWl0cyopOwogICAgIHZvaWQgZ2V0UHJvcGVydGllcyhX
R1BVQWRhcHRlclByb3BlcnRpZXMqKTsKICAgICBib29sIGhhc0ZlYXR1cmUoV0dQVUZlYXR1cmVO
YW1lKTsKLSAgICBXR1BVRmVhdHVyZU5hbWUgZ2V0RmVhdHVyZUF0SW5kZXgoc2l6ZV90KTsKICAg
ICB2b2lkIHJlcXVlc3REZXZpY2UoY29uc3QgV0dQVURldmljZURlc2NyaXB0b3IqLCBXVEY6OkZ1
bmN0aW9uPHZvaWQoV0dQVVJlcXVlc3REZXZpY2VTdGF0dXMsIFJlZjxEZXZpY2U+JiYsIGNvbnN0
IGNoYXIqKT4mJiBjYWxsYmFjayk7CiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
R1BVL1dlYkdQVS9BZGFwdGVyLm1tIGIvU291cmNlL1dlYkdQVS9XZWJHUFUvQWRhcHRlci5tbQpp
bmRleCBlZTFiYjI4ZTI3ZTBkYzNiNzU4ZTZkOWU3NmM2NzNlZTVjMzE1YTQ0Li5lMjk0M2NjNGI1
NDdhOGUzYjYxNTY0ZGJlMDI4YzFlZDlmMWVmNjEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViR1BV
L1dlYkdQVS9BZGFwdGVyLm1tCisrKyBiL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0FkYXB0ZXIubW0K
QEAgLTM2LDYgKzM2LDEyIEBAIEFkYXB0ZXI6OkFkYXB0ZXIoKSA9IGRlZmF1bHQ7CiAKIEFkYXB0
ZXI6On5BZGFwdGVyKCkgPSBkZWZhdWx0OwogCitzaXplX3QgQWRhcHRlcjo6ZW51bWVyYXRlRmVh
dHVyZXMoV0dQVUZlYXR1cmVOYW1lKiBmZWF0dXJlcykKK3sKKyAgICBVTlVTRURfUEFSQU0oZmVh
dHVyZXMpOworICAgIHJldHVybiAwOworfQorCiBib29sIEFkYXB0ZXI6OmdldExpbWl0cyhXR1BV
U3VwcG9ydGVkTGltaXRzKiBsaW1pdHMpCiB7CiAgICAgVU5VU0VEX1BBUkFNKGxpbWl0cyk7CkBA
IC01MywxMiArNTksNiBAQCBib29sIEFkYXB0ZXI6Omhhc0ZlYXR1cmUoV0dQVUZlYXR1cmVOYW1l
IGZlYXR1cmUpCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi1XR1BVRmVhdHVyZU5hbWUgQWRhcHRl
cjo6Z2V0RmVhdHVyZUF0SW5kZXgoc2l6ZV90IGluZGV4KQotewotICAgIFVOVVNFRF9QQVJBTShp
bmRleCk7Ci0gICAgcmV0dXJuIFdHUFVGZWF0dXJlTmFtZV9VbmRlZmluZWQ7Ci19Ci0KIHZvaWQg
QWRhcHRlcjo6cmVxdWVzdERldmljZShjb25zdCBXR1BVRGV2aWNlRGVzY3JpcHRvciogZGVzY3Jp
cHRvciwgV1RGOjpGdW5jdGlvbjx2b2lkKFdHUFVSZXF1ZXN0RGV2aWNlU3RhdHVzLCBSZWY8RGV2
aWNlPiYmLCBjb25zdCBjaGFyKik+JiYgY2FsbGJhY2spCiB7CiAgICAgVU5VU0VEX1BBUkFNKGRl
c2NyaXB0b3IpOwpAQCAtNzIsNiArNzIsMTEgQEAgdm9pZCB3Z3B1QWRhcHRlclJlbGVhc2UoV0dQ
VUFkYXB0ZXIgYWRhcHRlcikKICAgICBkZWxldGUgYWRhcHRlcjsKIH0KIAorc2l6ZV90IHdncHVB
ZGFwdGVyRW51bWVyYXRlRmVhdHVyZXMoV0dQVUFkYXB0ZXIgYWRhcHRlciwgV0dQVUZlYXR1cmVO
YW1lKiBmZWF0dXJlcykKK3sKKyAgICByZXR1cm4gYWRhcHRlci0+YWRhcHRlci0+ZW51bWVyYXRl
RmVhdHVyZXMoZmVhdHVyZXMpOworfQorCiBib29sIHdncHVBZGFwdGVyR2V0TGltaXRzKFdHUFVB
ZGFwdGVyIGFkYXB0ZXIsIFdHUFVTdXBwb3J0ZWRMaW1pdHMqIGxpbWl0cykKIHsKICAgICByZXR1
cm4gYWRhcHRlci0+YWRhcHRlci0+Z2V0TGltaXRzKGxpbWl0cyk7CkBAIC04NywxMSArOTIsNiBA
QCBib29sIHdncHVBZGFwdGVySGFzRmVhdHVyZShXR1BVQWRhcHRlciBhZGFwdGVyLCBXR1BVRmVh
dHVyZU5hbWUgZmVhdHVyZSkKICAgICByZXR1cm4gYWRhcHRlci0+YWRhcHRlci0+aGFzRmVhdHVy
ZShmZWF0dXJlKTsKIH0KIAotV0dQVUZlYXR1cmVOYW1lIHdncHVBZGFwdGVyR2V0RmVhdHVyZUF0
SW5kZXgoV0dQVUFkYXB0ZXIgYWRhcHRlciwgc2l6ZV90IGluZGV4KQotewotICAgIHJldHVybiBh
ZGFwdGVyLT5hZGFwdGVyLT5nZXRGZWF0dXJlQXRJbmRleChpbmRleCk7Ci19Ci0KIHZvaWQgd2dw
dUFkYXB0ZXJSZXF1ZXN0RGV2aWNlKFdHUFVBZGFwdGVyIGFkYXB0ZXIsIGNvbnN0IFdHUFVEZXZp
Y2VEZXNjcmlwdG9yKiBkZXNjcmlwdG9yLCBXR1BVUmVxdWVzdERldmljZUNhbGxiYWNrIGNhbGxi
YWNrLCB2b2lkKiB1c2VyZGF0YSkKIHsKICAgICBhZGFwdGVyLT5hZGFwdGVyLT5yZXF1ZXN0RGV2
aWNlKGRlc2NyaXB0b3IsIFtjYWxsYmFjaywgdXNlcmRhdGFdIChXR1BVUmVxdWVzdERldmljZVN0
YXR1cyBzdGF0dXMsIFJlZjxXZWJHUFU6OkRldmljZT4mJiBkZXZpY2UsIGNvbnN0IGNoYXIqIG1l
c3NhZ2UpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0NvbW1hbmRFbmNvZGVy
LmggYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9Db21tYW5kRW5jb2Rlci5oCmluZGV4IDU5Y2I0MzEy
ZDM1YmE5NDMzOGI4Y2U0YmY3ZDA0ZTUzOWYyOTlmNzcuLjJmNjBmMWM4YTc1MmNkZTdmMDgyNDRl
YmNkYzg5MTMzZDcxYTc0YzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0NvbW1h
bmRFbmNvZGVyLmgKKysrIGIvU291cmNlL1dlYkdQVS9XZWJHUFUvQ29tbWFuZEVuY29kZXIuaApA
QCAtNTQsNyArNTQsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBjb3B5QnVmZmVyVG9UZXh0dXJlKGNv
bnN0IFdHUFVJbWFnZUNvcHlCdWZmZXIqIHNvdXJjZSwgY29uc3QgV0dQVUltYWdlQ29weVRleHR1
cmUqIGRlc3RpbmF0aW9uLCBjb25zdCBXR1BVRXh0ZW50M0QqIGNvcHlTaXplKTsKICAgICB2b2lk
IGNvcHlUZXh0dXJlVG9CdWZmZXIoY29uc3QgV0dQVUltYWdlQ29weVRleHR1cmUqIHNvdXJjZSwg
Y29uc3QgV0dQVUltYWdlQ29weUJ1ZmZlciogZGVzdGluYXRpb24sIGNvbnN0IFdHUFVFeHRlbnQz
RCogY29weVNpemUpOwogICAgIHZvaWQgY29weVRleHR1cmVUb1RleHR1cmUoY29uc3QgV0dQVUlt
YWdlQ29weVRleHR1cmUqIHNvdXJjZSwgY29uc3QgV0dQVUltYWdlQ29weVRleHR1cmUqIGRlc3Rp
bmF0aW9uLCBjb25zdCBXR1BVRXh0ZW50M0QqIGNvcHlTaXplKTsKLSAgICB2b2lkIGZpbGxCdWZm
ZXIoY29uc3QgQnVmZmVyJiBkZXN0aW5hdGlvbiwgdWludDY0X3QgZGVzdGluYXRpb25PZmZzZXQs
IHVpbnQ2NF90IHNpemUpOworICAgIHZvaWQgY2xlYXJCdWZmZXIoY29uc3QgQnVmZmVyJiwgdWlu
dDY0X3Qgb2Zmc2V0LCB1aW50NjRfdCBzaXplKTsKICAgICBSZWY8Q29tbWFuZEJ1ZmZlcj4gZmlu
aXNoKGNvbnN0IFdHUFVDb21tYW5kQnVmZmVyRGVzY3JpcHRvciopOwogICAgIHZvaWQgaW5zZXJ0
RGVidWdNYXJrZXIoY29uc3QgY2hhciogbWFya2VyTGFiZWwpOwogICAgIHZvaWQgcG9wRGVidWdH
cm91cCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkdQVS9XZWJHUFUvQ29tbWFuZEVuY29kZXIu
bW0gYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9Db21tYW5kRW5jb2Rlci5tbQppbmRleCA4ZDM4ZTE3
OWE0NDM5N2JmZjgzNjBlZjQxNGM4ZjcyZjAxNWJkYWZmLi5kZDVjYzNiMzMwYTAyNjIwOTZmNTQx
ODM0ZjZjYzZmN2UyYjRiNGI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9Db21t
YW5kRW5jb2Rlci5tbQorKysgYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9Db21tYW5kRW5jb2Rlci5t
bQpAQCAtODEsMTAgKzgxLDEwIEBAIHZvaWQgQ29tbWFuZEVuY29kZXI6OmNvcHlUZXh0dXJlVG9U
ZXh0dXJlKGNvbnN0IFdHUFVJbWFnZUNvcHlUZXh0dXJlKiBzb3VyY2UsIGNvCiAgICAgVU5VU0VE
X1BBUkFNKGNvcHlTaXplKTsKIH0KIAotdm9pZCBDb21tYW5kRW5jb2Rlcjo6ZmlsbEJ1ZmZlcihj
b25zdCBCdWZmZXImIGRlc3RpbmF0aW9uLCB1aW50NjRfdCBkZXN0aW5hdGlvbk9mZnNldCwgdWlu
dDY0X3Qgc2l6ZSkKK3ZvaWQgQ29tbWFuZEVuY29kZXI6OmNsZWFyQnVmZmVyKGNvbnN0IEJ1ZmZl
ciYgYnVmZmVyLCB1aW50NjRfdCBvZmZzZXQsIHVpbnQ2NF90IHNpemUpCiB7Ci0gICAgVU5VU0VE
X1BBUkFNKGRlc3RpbmF0aW9uKTsKLSAgICBVTlVTRURfUEFSQU0oZGVzdGluYXRpb25PZmZzZXQp
OworICAgIFVOVVNFRF9QQVJBTShidWZmZXIpOworICAgIFVOVVNFRF9QQVJBTShvZmZzZXQpOwog
ICAgIFVOVVNFRF9QQVJBTShzaXplKTsKIH0KIApAQCAtMTY1LDkgKzE2NSw5IEBAIHZvaWQgd2dw
dUNvbW1hbmRFbmNvZGVyQ29weVRleHR1cmVUb1RleHR1cmUoV0dQVUNvbW1hbmRFbmNvZGVyIGNv
bW1hbmRFbmNvZGVyLCBjCiAgICAgY29tbWFuZEVuY29kZXItPmNvbW1hbmRFbmNvZGVyLT5jb3B5
VGV4dHVyZVRvVGV4dHVyZShzb3VyY2UsIGRlc3RpbmF0aW9uLCBjb3B5U2l6ZSk7CiB9CiAKLXZv
aWQgd2dwdUNvbW1hbmRFbmNvZGVyRmlsbEJ1ZmZlcihXR1BVQ29tbWFuZEVuY29kZXIgY29tbWFu
ZEVuY29kZXIsIFdHUFVCdWZmZXIgZGVzdGluYXRpb24sIHVpbnQ2NF90IGRlc3RpbmF0aW9uT2Zm
c2V0LCB1aW50NjRfdCBzaXplKQordm9pZCB3Z3B1Q29tbWFuZEVuY29kZXJDbGVhckJ1ZmZlcihX
R1BVQ29tbWFuZEVuY29kZXIgY29tbWFuZEVuY29kZXIsIFdHUFVCdWZmZXIgYnVmZmVyLCB1aW50
NjRfdCBvZmZzZXQsIHVpbnQ2NF90IHNpemUpCiB7Ci0gICAgY29tbWFuZEVuY29kZXItPmNvbW1h
bmRFbmNvZGVyLT5maWxsQnVmZmVyKGRlc3RpbmF0aW9uLT5idWZmZXIsIGRlc3RpbmF0aW9uT2Zm
c2V0LCBzaXplKTsKKyAgICBjb21tYW5kRW5jb2Rlci0+Y29tbWFuZEVuY29kZXItPmNsZWFyQnVm
ZmVyKGJ1ZmZlci0+YnVmZmVyLCBvZmZzZXQsIHNpemUpOwogfQogCiBXR1BVQ29tbWFuZEJ1ZmZl
ciB3Z3B1Q29tbWFuZEVuY29kZXJGaW5pc2goV0dQVUNvbW1hbmRFbmNvZGVyIGNvbW1hbmRFbmNv
ZGVyLCBjb25zdCBXR1BVQ29tbWFuZEJ1ZmZlckRlc2NyaXB0b3IqIGRlc2NyaXB0b3IpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9Db21wdXRlUGFzc0VuY29kZXIuaCBiL1NvdXJj
ZS9XZWJHUFUvV2ViR1BVL0NvbXB1dGVQYXNzRW5jb2Rlci5oCmluZGV4IDBjNjRhZDk2MWNiNzYz
YmIwYmVkMDY5OGNjMmZlZmQwYmQ5YmY4MWYuLmQwNjQzMmIyMGQyZGI4ZTJiOGUyZmI0MjhkYzA4
ZWUzYzAwODI5ODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0NvbXB1dGVQYXNz
RW5jb2Rlci5oCisrKyBiL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0NvbXB1dGVQYXNzRW5jb2Rlci5o
CkBAIC01Nyw3ICs1Nyw2IEBAIHB1YmxpYzoKICAgICB2b2lkIHB1c2hEZWJ1Z0dyb3VwKGNvbnN0
IGNoYXIqIGdyb3VwTGFiZWwpOwogICAgIHZvaWQgc2V0QmluZEdyb3VwKHVpbnQzMl90IGdyb3Vw
SW5kZXgsIGNvbnN0IEJpbmRHcm91cCYsIHVpbnQzMl90IGR5bmFtaWNPZmZzZXRDb3VudCwgY29u
c3QgdWludDMyX3QqIGR5bmFtaWNPZmZzZXRzKTsKICAgICB2b2lkIHNldFBpcGVsaW5lKGNvbnN0
IENvbXB1dGVQaXBlbGluZSYpOwotICAgIHZvaWQgd3JpdGVUaW1lc3RhbXAoY29uc3QgUXVlcnlT
ZXQmLCB1aW50MzJfdCBxdWVyeUluZGV4KTsKICAgICB2b2lkIHNldExhYmVsKGNvbnN0IGNoYXIq
KTsKIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0NvbXB1dGVQ
YXNzRW5jb2Rlci5tbSBiL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0NvbXB1dGVQYXNzRW5jb2Rlci5t
bQppbmRleCBjMTFkNTRlZDM0NDE1NmUzZjU1Y2VlYTMxYTc3MzM4ODAyMzBlZTBjLi44OWJhMDRk
NTNlOWE0MDdlZWM4YTc2NjYyMmZlYTVlNTllN2E1OTE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
R1BVL1dlYkdQVS9Db21wdXRlUGFzc0VuY29kZXIubW0KKysrIGIvU291cmNlL1dlYkdQVS9XZWJH
UFUvQ29tcHV0ZVBhc3NFbmNvZGVyLm1tCkBAIC05MiwxMiArOTIsNiBAQCB2b2lkIENvbXB1dGVQ
YXNzRW5jb2Rlcjo6c2V0UGlwZWxpbmUoY29uc3QgQ29tcHV0ZVBpcGVsaW5lJiBwaXBlbGluZSkK
ICAgICBVTlVTRURfUEFSQU0ocGlwZWxpbmUpOwogfQogCi12b2lkIENvbXB1dGVQYXNzRW5jb2Rl
cjo6d3JpdGVUaW1lc3RhbXAoY29uc3QgUXVlcnlTZXQmIHF1ZXJ5U2V0LCB1aW50MzJfdCBxdWVy
eUluZGV4KQotewotICAgIFVOVVNFRF9QQVJBTShxdWVyeVNldCk7Ci0gICAgVU5VU0VEX1BBUkFN
KHF1ZXJ5SW5kZXgpOwotfQotCiB2b2lkIENvbXB1dGVQYXNzRW5jb2Rlcjo6c2V0TGFiZWwoY29u
c3QgY2hhciogbGFiZWwpCiB7CiAgICAgVU5VU0VEX1BBUkFNKGxhYmVsKTsKQEAgLTE2MCwxMSAr
MTU0LDYgQEAgdm9pZCB3Z3B1Q29tcHV0ZVBhc3NFbmNvZGVyU2V0UGlwZWxpbmUoV0dQVUNvbXB1
dGVQYXNzRW5jb2RlciBjb21wdXRlUGFzc0VuY29kZXIKICAgICBjb21wdXRlUGFzc0VuY29kZXIt
PmNvbXB1dGVQYXNzRW5jb2Rlci0+c2V0UGlwZWxpbmUocGlwZWxpbmUtPmNvbXB1dGVQaXBlbGlu
ZSk7CiB9CiAKLXZvaWQgd2dwdUNvbXB1dGVQYXNzRW5jb2RlcldyaXRlVGltZXN0YW1wKFdHUFVD
b21wdXRlUGFzc0VuY29kZXIgY29tcHV0ZVBhc3NFbmNvZGVyLCBXR1BVUXVlcnlTZXQgcXVlcnlT
ZXQsIHVpbnQzMl90IHF1ZXJ5SW5kZXgpCi17Ci0gICAgY29tcHV0ZVBhc3NFbmNvZGVyLT5jb21w
dXRlUGFzc0VuY29kZXItPndyaXRlVGltZXN0YW1wKHF1ZXJ5U2V0LT5xdWVyeVNldCwgcXVlcnlJ
bmRleCk7Ci19Ci0KIHZvaWQgd2dwdUNvbXB1dGVQYXNzRW5jb2RlclNldExhYmVsKFdHUFVDb21w
dXRlUGFzc0VuY29kZXIgY29tcHV0ZVBhc3NFbmNvZGVyLCBjb25zdCBjaGFyKiBsYWJlbCkKIHsK
ICAgICBjb21wdXRlUGFzc0VuY29kZXItPmNvbXB1dGVQYXNzRW5jb2Rlci0+c2V0TGFiZWwobGFi
ZWwpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkdQVS9XZWJHUFUvRGV2aWNlLmggYi9Tb3VyY2Uv
V2ViR1BVL1dlYkdQVS9EZXZpY2UuaAppbmRleCAyODg3YWZlYWU1YmQ3NDIwNmRjMjY1MjA3NmQ5
NDk4MGYyNjIwYTk2Li41MjVjMTNiMTdkOTY0N2U2MmJjZDA5YWZjN2NiYTBmMzk0ZTY0OTZiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9EZXZpY2UuaAorKysgYi9Tb3VyY2UvV2Vi
R1BVL1dlYkdQVS9EZXZpY2UuaApAQCAtNzUsOCArNzUsMTAgQEAgcHVibGljOgogICAgIFJlZjxT
d2FwQ2hhaW4+IGNyZWF0ZVN3YXBDaGFpbihjb25zdCBTdXJmYWNlJiwgY29uc3QgV0dQVVN3YXBD
aGFpbkRlc2NyaXB0b3IqKTsKICAgICBSZWY8VGV4dHVyZT4gY3JlYXRlVGV4dHVyZShjb25zdCBX
R1BVVGV4dHVyZURlc2NyaXB0b3IqKTsKICAgICB2b2lkIGRlc3Ryb3koKTsKKyAgICBzaXplX3Qg
ZW51bWVyYXRlRmVhdHVyZXMoV0dQVUZlYXR1cmVOYW1lKiBmZWF0dXJlcyk7CiAgICAgYm9vbCBn
ZXRMaW1pdHMoV0dQVVN1cHBvcnRlZExpbWl0cyopOwogICAgIFJlZjxRdWV1ZT4gZ2V0UXVldWUo
KTsKKyAgICBib29sIGhhc0ZlYXR1cmUoV0dQVUZlYXR1cmVOYW1lKTsKICAgICBib29sIHBvcEVy
cm9yU2NvcGUoV1RGOjpGdW5jdGlvbjx2b2lkKFdHUFVFcnJvclR5cGUsIGNvbnN0IGNoYXIqKT4m
JiBjYWxsYmFjayk7CiAgICAgdm9pZCBwdXNoRXJyb3JTY29wZShXR1BVRXJyb3JGaWx0ZXIpOwog
ICAgIHZvaWQgc2V0RGV2aWNlTG9zdENhbGxiYWNrKFdURjo6RnVuY3Rpb248dm9pZChXR1BVRGV2
aWNlTG9zdFJlYXNvbiwgY29uc3QgY2hhciopPiYmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJH
UFUvV2ViR1BVL0RldmljZS5tbSBiL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0RldmljZS5tbQppbmRl
eCBmMWE4NTRmZGIyYTk1NjQyNDlmNWIwZGQ1MzVlY2E0OGU1MWZhNTg0Li4xNGY1NWNkNDBiMWJj
N2FjM2U4ZTcyZWE1OTBkMDcxYTMyZmRlNzhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViR1BVL1dl
YkdQVS9EZXZpY2UubW0KKysrIGIvU291cmNlL1dlYkdQVS9XZWJHUFUvRGV2aWNlLm1tCkBAIC0x
NDUsNiArMTQ1LDEyIEBAIHZvaWQgRGV2aWNlOjpkZXN0cm95KCkKIHsKIH0KIAorc2l6ZV90IERl
dmljZTo6ZW51bWVyYXRlRmVhdHVyZXMoV0dQVUZlYXR1cmVOYW1lKiBmZWF0dXJlcykKK3sKKyAg
ICBVTlVTRURfUEFSQU0oZmVhdHVyZXMpOworICAgIHJldHVybiAwOworfQorCiBib29sIERldmlj
ZTo6Z2V0TGltaXRzKFdHUFVTdXBwb3J0ZWRMaW1pdHMqIGxpbWl0cykKIHsKICAgICBVTlVTRURf
UEFSQU0obGltaXRzKTsKQEAgLTE1Niw2ICsxNjIsMTIgQEAgUmVmPFF1ZXVlPiBEZXZpY2U6Omdl
dFF1ZXVlKCkKICAgICByZXR1cm4gUXVldWU6OmNyZWF0ZSgpOwogfQogCitib29sIERldmljZTo6
aGFzRmVhdHVyZShXR1BVRmVhdHVyZU5hbWUgZmVhdHVyZSkKK3sKKyAgICBVTlVTRURfUEFSQU0o
ZmVhdHVyZSk7CisgICAgcmV0dXJuIGZhbHNlOworfQorCiBib29sIERldmljZTo6cG9wRXJyb3JT
Y29wZShXVEY6OkZ1bmN0aW9uPHZvaWQoV0dQVUVycm9yVHlwZSwgY29uc3QgY2hhciopPiYmIGNh
bGxiYWNrKQogewogICAgIFVOVVNFRF9QQVJBTShjYWxsYmFjayk7CkBAIC0yNzMsNiArMjg1LDEx
IEBAIHZvaWQgd2dwdURldmljZURlc3Ryb3koV0dQVURldmljZSBkZXZpY2UpCiAgICAgZGV2aWNl
LT5kZXZpY2UtPmRlc3Ryb3koKTsKIH0KIAorc2l6ZV90IHdncHVEZXZpY2VFbnVtZXJhdGVGZWF0
dXJlcyhXR1BVRGV2aWNlIGRldmljZSwgV0dQVUZlYXR1cmVOYW1lKiBmZWF0dXJlcykKK3sKKyAg
ICByZXR1cm4gZGV2aWNlLT5kZXZpY2UtPmVudW1lcmF0ZUZlYXR1cmVzKGZlYXR1cmVzKTsKK30K
KwogYm9vbCB3Z3B1RGV2aWNlR2V0TGltaXRzKFdHUFVEZXZpY2UgZGV2aWNlLCBXR1BVU3VwcG9y
dGVkTGltaXRzKiBsaW1pdHMpCiB7CiAgICAgcmV0dXJuIGRldmljZS0+ZGV2aWNlLT5nZXRMaW1p
dHMobGltaXRzKTsKQEAgLTI4Myw2ICszMDAsMTEgQEAgV0dQVVF1ZXVlIHdncHVEZXZpY2VHZXRR
dWV1ZShXR1BVRGV2aWNlIGRldmljZSkKICAgICByZXR1cm4gbmV3IFdHUFVRdWV1ZUltcGwgeyBk
ZXZpY2UtPmRldmljZS0+Z2V0UXVldWUoKSB9OwogfQogCitib29sIHdncHVEZXZpY2VIYXNGZWF0
dXJlKFdHUFVEZXZpY2UgZGV2aWNlLCBXR1BVRmVhdHVyZU5hbWUgZmVhdHVyZSkKK3sKKyAgICBy
ZXR1cm4gZGV2aWNlLT5kZXZpY2UtPmhhc0ZlYXR1cmUoZmVhdHVyZSk7Cit9CisKIGJvb2wgd2dw
dURldmljZVBvcEVycm9yU2NvcGUoV0dQVURldmljZSBkZXZpY2UsIFdHUFVFcnJvckNhbGxiYWNr
IGNhbGxiYWNrLCB2b2lkKiB1c2VyZGF0YSkKIHsKICAgICByZXR1cm4gZGV2aWNlLT5kZXZpY2Ut
PnBvcEVycm9yU2NvcGUoW2NhbGxiYWNrLCB1c2VyZGF0YV0gKFdHUFVFcnJvclR5cGUgdHlwZSwg
Y29uc3QgY2hhciogbWVzc2FnZSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkdQVS9XZWJHUFUv
SW5zdGFuY2UubW0gYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9JbnN0YW5jZS5tbQppbmRleCA1MDJi
ZTQ3OWIxYzk2ODAxYmIzMTNiNjAxODJkM2JlMmM5YjVlNTc1Li41MmNlMmE3YzBmNjI2NWY1NjBj
ZTViNjc4OTk4ZTU4YjMyNzRkYjQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9J
bnN0YW5jZS5tbQorKysgYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9JbnN0YW5jZS5tbQpAQCAtNzIs
MjYgKzcyLDE3IEBAIFdHUFVQcm9jIHdncHVHZXRQcm9jQWRkcmVzcyhXR1BVRGV2aWNlIGRldmlj
ZSwgY29uc3QgY2hhciogcHJvY05hbWUpCiB7CiAgICAgVU5VU0VEX1BBUkFNKGRldmljZSk7CiAg
ICAgLy8gRklYTUU6IFVzZSBncGVyZiB0byBtYWtlIHRoaXMgZmFzdGVyLgotICAgIGlmICghc3Ry
Y21wKHByb2NOYW1lLCAid2dwdUFkYXB0ZXJHZXRGZWF0dXJlQXRJbmRleCIpKQotICAgICAgICBy
ZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVBZGFwdGVyR2V0RmVhdHVyZUF0
SW5kZXgpOworICAgIC8vIEZJWE1FOiBHZW5lcmF0ZSB0aGlzIGF0IGJ1aWxkIHRpbWUKKyAgICBp
ZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVBZGFwdGVyRW51bWVyYXRlRmVhdHVyZXMiKSkKKyAg
ICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1QWRhcHRlckVudW1l
cmF0ZUZlYXR1cmVzKTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVBZGFwdGVyR2V0
TGltaXRzIikpCiAgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dw
dUFkYXB0ZXJHZXRMaW1pdHMpOwogICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdUFkYXB0
ZXJHZXRQcm9wZXJ0aWVzIikpCiAgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQ
cm9jPigmd2dwdUFkYXB0ZXJHZXRQcm9wZXJ0aWVzKTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFt
ZSwgIndncHVBZGFwdGVySGFzRmVhdHVyZSIpKQogICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRf
Y2FzdDxXR1BVUHJvYz4oJndncHVBZGFwdGVySGFzRmVhdHVyZSk7Ci0gICAgaWYgKCFzdHJjbXAo
cHJvY05hbWUsICJ3Z3B1QWRhcHRlclJlbGVhc2UiKSkKLSAgICAgICAgcmV0dXJuIHJlaW50ZXJw
cmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1QWRhcHRlclJlbGVhc2UpOwogICAgIGlmICghc3RyY21w
KHByb2NOYW1lLCAid2dwdUFkYXB0ZXJSZXF1ZXN0RGV2aWNlIikpCiAgICAgICAgIHJldHVybiBy
ZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdUFkYXB0ZXJSZXF1ZXN0RGV2aWNlKTsKLSAg
ICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVCaW5kR3JvdXBMYXlvdXRSZWxlYXNlIikpCi0g
ICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdUJpbmRHcm91cExh
eW91dFJlbGVhc2UpOwotICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdUJpbmRHcm91cExh
eW91dFNldExhYmVsIikpCi0gICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9j
Pigmd2dwdUJpbmRHcm91cExheW91dFNldExhYmVsKTsKLSAgICBpZiAoIXN0cmNtcChwcm9jTmFt
ZSwgIndncHVCaW5kR3JvdXBSZWxlYXNlIikpCi0gICAgICAgIHJldHVybiByZWludGVycHJldF9j
YXN0PFdHUFVQcm9jPigmd2dwdUJpbmRHcm91cFJlbGVhc2UpOwotICAgIGlmICghc3RyY21wKHBy
b2NOYW1lLCAid2dwdUJpbmRHcm91cFNldExhYmVsIikpCi0gICAgICAgIHJldHVybiByZWludGVy
cHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdUJpbmRHcm91cFNldExhYmVsKTsKICAgICBpZiAoIXN0
cmNtcChwcm9jTmFtZSwgIndncHVCdWZmZXJEZXN0cm95IikpCiAgICAgICAgIHJldHVybiByZWlu
dGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdUJ1ZmZlckRlc3Ryb3kpOwogICAgIGlmICghc3Ry
Y21wKHByb2NOYW1lLCAid2dwdUJ1ZmZlckdldENvbnN0TWFwcGVkUmFuZ2UiKSkKQEAgLTEwMCwy
MCArOTEsMTQgQEAgV0dQVVByb2Mgd2dwdUdldFByb2NBZGRyZXNzKFdHUFVEZXZpY2UgZGV2aWNl
LCBjb25zdCBjaGFyKiBwcm9jTmFtZSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8
V0dQVVByb2M+KCZ3Z3B1QnVmZmVyR2V0TWFwcGVkUmFuZ2UpOwogICAgIGlmICghc3RyY21wKHBy
b2NOYW1lLCAid2dwdUJ1ZmZlck1hcEFzeW5jIikpCiAgICAgICAgIHJldHVybiByZWludGVycHJl
dF9jYXN0PFdHUFVQcm9jPigmd2dwdUJ1ZmZlck1hcEFzeW5jKTsKLSAgICBpZiAoIXN0cmNtcChw
cm9jTmFtZSwgIndncHVCdWZmZXJSZWxlYXNlIikpCi0gICAgICAgIHJldHVybiByZWludGVycHJl
dF9jYXN0PFdHUFVQcm9jPigmd2dwdUJ1ZmZlclJlbGVhc2UpOwotICAgIGlmICghc3RyY21wKHBy
b2NOYW1lLCAid2dwdUJ1ZmZlclNldExhYmVsIikpCi0gICAgICAgIHJldHVybiByZWludGVycHJl
dF9jYXN0PFdHUFVQcm9jPigmd2dwdUJ1ZmZlclNldExhYmVsKTsKICAgICBpZiAoIXN0cmNtcChw
cm9jTmFtZSwgIndncHVCdWZmZXJVbm1hcCIpKQogICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRf
Y2FzdDxXR1BVUHJvYz4oJndncHVCdWZmZXJVbm1hcCk7Ci0gICAgaWYgKCFzdHJjbXAocHJvY05h
bWUsICJ3Z3B1Q29tbWFuZEJ1ZmZlclJlbGVhc2UiKSkKLSAgICAgICAgcmV0dXJuIHJlaW50ZXJw
cmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1Q29tbWFuZEJ1ZmZlclJlbGVhc2UpOwotICAgIGlmICgh
c3RyY21wKHByb2NOYW1lLCAid2dwdUNvbW1hbmRCdWZmZXJTZXRMYWJlbCIpKQotICAgICAgICBy
ZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVDb21tYW5kQnVmZmVyU2V0TGFi
ZWwpOwogICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdUNvbW1hbmRFbmNvZGVyQmVnaW5D
b21wdXRlUGFzcyIpKQogICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4o
JndncHVDb21tYW5kRW5jb2RlckJlZ2luQ29tcHV0ZVBhc3MpOwogICAgIGlmICghc3RyY21wKHBy
b2NOYW1lLCAid2dwdUNvbW1hbmRFbmNvZGVyQmVnaW5SZW5kZXJQYXNzIikpCiAgICAgICAgIHJl
dHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdUNvbW1hbmRFbmNvZGVyQmVnaW5S
ZW5kZXJQYXNzKTsKKyAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVDb21tYW5kRW5jb2Rl
ckNsZWFyQnVmZmVyIikpCisgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9j
Pigmd2dwdUNvbW1hbmRFbmNvZGVyQ2xlYXJCdWZmZXIpOwogICAgIGlmICghc3RyY21wKHByb2NO
YW1lLCAid2dwdUNvbW1hbmRFbmNvZGVyQ29weUJ1ZmZlclRvQnVmZmVyIikpCiAgICAgICAgIHJl
dHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdUNvbW1hbmRFbmNvZGVyQ29weUJ1
ZmZlclRvQnVmZmVyKTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVDb21tYW5kRW5j
b2RlckNvcHlCdWZmZXJUb1RleHR1cmUiKSkKQEAgLTEyMiw4ICsxMDcsNiBAQCBXR1BVUHJvYyB3
Z3B1R2V0UHJvY0FkZHJlc3MoV0dQVURldmljZSBkZXZpY2UsIGNvbnN0IGNoYXIqIHByb2NOYW1l
KQogICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVDb21tYW5k
RW5jb2RlckNvcHlUZXh0dXJlVG9CdWZmZXIpOwogICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAi
d2dwdUNvbW1hbmRFbmNvZGVyQ29weVRleHR1cmVUb1RleHR1cmUiKSkKICAgICAgICAgcmV0dXJu
IHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1Q29tbWFuZEVuY29kZXJDb3B5VGV4dHVy
ZVRvVGV4dHVyZSk7Ci0gICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1Q29tbWFuZEVuY29k
ZXJGaWxsQnVmZmVyIikpCi0gICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9j
Pigmd2dwdUNvbW1hbmRFbmNvZGVyRmlsbEJ1ZmZlcik7CiAgICAgaWYgKCFzdHJjbXAocHJvY05h
bWUsICJ3Z3B1Q29tbWFuZEVuY29kZXJGaW5pc2giKSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJw
cmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1Q29tbWFuZEVuY29kZXJGaW5pc2gpOwogICAgIGlmICgh
c3RyY21wKHByb2NOYW1lLCAid2dwdUNvbW1hbmRFbmNvZGVySW5zZXJ0RGVidWdNYXJrZXIiKSkK
QEAgLTEzMiwxMiArMTE1LDggQEAgV0dQVVByb2Mgd2dwdUdldFByb2NBZGRyZXNzKFdHUFVEZXZp
Y2UgZGV2aWNlLCBjb25zdCBjaGFyKiBwcm9jTmFtZSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJw
cmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1Q29tbWFuZEVuY29kZXJQb3BEZWJ1Z0dyb3VwKTsKICAg
ICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVDb21tYW5kRW5jb2RlclB1c2hEZWJ1Z0dyb3Vw
IikpCiAgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdUNvbW1h
bmRFbmNvZGVyUHVzaERlYnVnR3JvdXApOwotICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dw
dUNvbW1hbmRFbmNvZGVyUmVsZWFzZSIpKQotICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2Fz
dDxXR1BVUHJvYz4oJndncHVDb21tYW5kRW5jb2RlclJlbGVhc2UpOwogICAgIGlmICghc3RyY21w
KHByb2NOYW1lLCAid2dwdUNvbW1hbmRFbmNvZGVyUmVzb2x2ZVF1ZXJ5U2V0IikpCiAgICAgICAg
IHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdUNvbW1hbmRFbmNvZGVyUmVz
b2x2ZVF1ZXJ5U2V0KTsKLSAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVDb21tYW5kRW5j
b2RlclNldExhYmVsIikpCi0gICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9j
Pigmd2dwdUNvbW1hbmRFbmNvZGVyU2V0TGFiZWwpOwogICAgIGlmICghc3RyY21wKHByb2NOYW1l
LCAid2dwdUNvbW1hbmRFbmNvZGVyV3JpdGVUaW1lc3RhbXAiKSkKICAgICAgICAgcmV0dXJuIHJl
aW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1Q29tbWFuZEVuY29kZXJXcml0ZVRpbWVzdGFt
cCk7CiAgICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1Q29tcHV0ZVBhc3NFbmNvZGVyQmVn
aW5QaXBlbGluZVN0YXRpc3RpY3NRdWVyeSIpKQpAQCAtMTU2LDIwICsxMzUsMTIgQEAgV0dQVVBy
b2Mgd2dwdUdldFByb2NBZGRyZXNzKFdHUFVEZXZpY2UgZGV2aWNlLCBjb25zdCBjaGFyKiBwcm9j
TmFtZSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1Q29t
cHV0ZVBhc3NFbmNvZGVyUG9wRGVidWdHcm91cCk7CiAgICAgaWYgKCFzdHJjbXAocHJvY05hbWUs
ICJ3Z3B1Q29tcHV0ZVBhc3NFbmNvZGVyUHVzaERlYnVnR3JvdXAiKSkKICAgICAgICAgcmV0dXJu
IHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1Q29tcHV0ZVBhc3NFbmNvZGVyUHVzaERl
YnVnR3JvdXApOwotICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdUNvbXB1dGVQYXNzRW5j
b2RlclJlbGVhc2UiKSkKLSAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+
KCZ3Z3B1Q29tcHV0ZVBhc3NFbmNvZGVyUmVsZWFzZSk7CiAgICAgaWYgKCFzdHJjbXAocHJvY05h
bWUsICJ3Z3B1Q29tcHV0ZVBhc3NFbmNvZGVyU2V0QmluZEdyb3VwIikpCiAgICAgICAgIHJldHVy
biByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdUNvbXB1dGVQYXNzRW5jb2RlclNldEJp
bmRHcm91cCk7Ci0gICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1Q29tcHV0ZVBhc3NFbmNv
ZGVyU2V0TGFiZWwiKSkKLSAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+
KCZ3Z3B1Q29tcHV0ZVBhc3NFbmNvZGVyU2V0TGFiZWwpOwogICAgIGlmICghc3RyY21wKHByb2NO
YW1lLCAid2dwdUNvbXB1dGVQYXNzRW5jb2RlclNldFBpcGVsaW5lIikpCiAgICAgICAgIHJldHVy
biByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdUNvbXB1dGVQYXNzRW5jb2RlclNldFBp
cGVsaW5lKTsKLSAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVDb21wdXRlUGFzc0VuY29k
ZXJXcml0ZVRpbWVzdGFtcCIpKQotICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BV
UHJvYz4oJndncHVDb21wdXRlUGFzc0VuY29kZXJXcml0ZVRpbWVzdGFtcCk7CiAgICAgaWYgKCFz
dHJjbXAocHJvY05hbWUsICJ3Z3B1Q29tcHV0ZVBpcGVsaW5lR2V0QmluZEdyb3VwTGF5b3V0Iikp
CiAgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdUNvbXB1dGVQ
aXBlbGluZUdldEJpbmRHcm91cExheW91dCk7Ci0gICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3
Z3B1Q29tcHV0ZVBpcGVsaW5lUmVsZWFzZSIpKQotICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRf
Y2FzdDxXR1BVUHJvYz4oJndncHVDb21wdXRlUGlwZWxpbmVSZWxlYXNlKTsKICAgICBpZiAoIXN0
cmNtcChwcm9jTmFtZSwgIndncHVDb21wdXRlUGlwZWxpbmVTZXRMYWJlbCIpKQogICAgICAgICBy
ZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVDb21wdXRlUGlwZWxpbmVTZXRM
YWJlbCk7CiAgICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1Q3JlYXRlSW5zdGFuY2UiKSkK
QEAgLTIwNiwyMCArMTc3LDIwIEBAIFdHUFVQcm9jIHdncHVHZXRQcm9jQWRkcmVzcyhXR1BVRGV2
aWNlIGRldmljZSwgY29uc3QgY2hhciogcHJvY05hbWUpCiAgICAgICAgIHJldHVybiByZWludGVy
cHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdURldmljZUNyZWF0ZVRleHR1cmUpOwogICAgIGlmICgh
c3RyY21wKHByb2NOYW1lLCAid2dwdURldmljZURlc3Ryb3kiKSkKICAgICAgICAgcmV0dXJuIHJl
aW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1RGV2aWNlRGVzdHJveSk7CisgICAgaWYgKCFz
dHJjbXAocHJvY05hbWUsICJ3Z3B1RGV2aWNlRW51bWVyYXRlRmVhdHVyZXMiKSkKKyAgICAgICAg
cmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1RGV2aWNlRW51bWVyYXRlRmVh
dHVyZXMpOwogICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdURldmljZUdldExpbWl0cyIp
KQogICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVEZXZpY2VH
ZXRMaW1pdHMpOwogICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdURldmljZUdldFF1ZXVl
IikpCiAgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdURldmlj
ZUdldFF1ZXVlKTsKKyAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVEZXZpY2VIYXNGZWF0
dXJlIikpCisgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdURl
dmljZUhhc0ZlYXR1cmUpOwogICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdURldmljZVBv
cEVycm9yU2NvcGUiKSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+
KCZ3Z3B1RGV2aWNlUG9wRXJyb3JTY29wZSk7CiAgICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3
Z3B1RGV2aWNlUHVzaEVycm9yU2NvcGUiKSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nh
c3Q8V0dQVVByb2M+KCZ3Z3B1RGV2aWNlUHVzaEVycm9yU2NvcGUpOwotICAgIGlmICghc3RyY21w
KHByb2NOYW1lLCAid2dwdURldmljZVJlbGVhc2UiKSkKLSAgICAgICAgcmV0dXJuIHJlaW50ZXJw
cmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1RGV2aWNlUmVsZWFzZSk7CiAgICAgaWYgKCFzdHJjbXAo
cHJvY05hbWUsICJ3Z3B1RGV2aWNlU2V0RGV2aWNlTG9zdENhbGxiYWNrIikpCiAgICAgICAgIHJl
dHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdURldmljZVNldERldmljZUxvc3RD
YWxsYmFjayk7Ci0gICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1RGV2aWNlU2V0TGFiZWwi
KSkKLSAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1RGV2aWNl
U2V0TGFiZWwpOwogICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdURldmljZVNldFVuY2Fw
dHVyZWRFcnJvckNhbGxiYWNrIikpCiAgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdH
UFVQcm9jPigmd2dwdURldmljZVNldFVuY2FwdHVyZWRFcnJvckNhbGxiYWNrKTsKICAgICBpZiAo
IXN0cmNtcChwcm9jTmFtZSwgIndncHVHZXRQcm9jQWRkcmVzcyIpKQpAQCAtMjI4LDI2ICsxOTks
MTIgQEAgV0dQVVByb2Mgd2dwdUdldFByb2NBZGRyZXNzKFdHUFVEZXZpY2UgZGV2aWNlLCBjb25z
dCBjaGFyKiBwcm9jTmFtZSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVBy
b2M+KCZ3Z3B1SW5zdGFuY2VDcmVhdGVTdXJmYWNlKTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFt
ZSwgIndncHVJbnN0YW5jZVByb2Nlc3NFdmVudHMiKSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJw
cmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1SW5zdGFuY2VQcm9jZXNzRXZlbnRzKTsKLSAgICBpZiAo
IXN0cmNtcChwcm9jTmFtZSwgIndncHVJbnN0YW5jZVJlbGVhc2UiKSkKLSAgICAgICAgcmV0dXJu
IHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1SW5zdGFuY2VSZWxlYXNlKTsKICAgICBp
ZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVJbnN0YW5jZVJlcXVlc3RBZGFwdGVyIikpCiAgICAg
ICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdUluc3RhbmNlUmVxdWVz
dEFkYXB0ZXIpOwotICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdVBpcGVsaW5lTGF5b3V0
UmVsZWFzZSIpKQotICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndn
cHVQaXBlbGluZUxheW91dFJlbGVhc2UpOwotICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dw
dVBpcGVsaW5lTGF5b3V0U2V0TGFiZWwiKSkKLSAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nh
c3Q8V0dQVVByb2M+KCZ3Z3B1UGlwZWxpbmVMYXlvdXRTZXRMYWJlbCk7CiAgICAgaWYgKCFzdHJj
bXAocHJvY05hbWUsICJ3Z3B1UXVlcnlTZXREZXN0cm95IikpCiAgICAgICAgIHJldHVybiByZWlu
dGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdVF1ZXJ5U2V0RGVzdHJveSk7Ci0gICAgaWYgKCFz
dHJjbXAocHJvY05hbWUsICJ3Z3B1UXVlcnlTZXRSZWxlYXNlIikpCi0gICAgICAgIHJldHVybiBy
ZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdVF1ZXJ5U2V0UmVsZWFzZSk7Ci0gICAgaWYg
KCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1UXVlcnlTZXRTZXRMYWJlbCIpKQotICAgICAgICByZXR1
cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVRdWVyeVNldFNldExhYmVsKTsKICAg
ICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVRdWV1ZU9uU3VibWl0dGVkV29ya0RvbmUiKSkK
ICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1UXVldWVPblN1
Ym1pdHRlZFdvcmtEb25lKTsKLSAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVRdWV1ZVJl
bGVhc2UiKSkKLSAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1
UXVldWVSZWxlYXNlKTsKLSAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVRdWV1ZVNldExh
YmVsIikpCi0gICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdVF1
ZXVlU2V0TGFiZWwpOwogICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdVF1ZXVlU3VibWl0
IikpCiAgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdVF1ZXVl
U3VibWl0KTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVRdWV1ZVdyaXRlQnVmZmVy
IikpCkBAIC0yNzAsMjIgKzIyNywxNCBAQCBXR1BVUHJvYyB3Z3B1R2V0UHJvY0FkZHJlc3MoV0dQ
VURldmljZSBkZXZpY2UsIGNvbnN0IGNoYXIqIHByb2NOYW1lKQogICAgICAgICByZXR1cm4gcmVp
bnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVSZW5kZXJCdW5kbGVFbmNvZGVyUG9wRGVidWdH
cm91cCk7CiAgICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1UmVuZGVyQnVuZGxlRW5jb2Rl
clB1c2hEZWJ1Z0dyb3VwIikpCiAgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQ
cm9jPigmd2dwdVJlbmRlckJ1bmRsZUVuY29kZXJQdXNoRGVidWdHcm91cCk7Ci0gICAgaWYgKCFz
dHJjbXAocHJvY05hbWUsICJ3Z3B1UmVuZGVyQnVuZGxlRW5jb2RlclJlbGVhc2UiKSkKLSAgICAg
ICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1UmVuZGVyQnVuZGxlRW5j
b2RlclJlbGVhc2UpOwogICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdVJlbmRlckJ1bmRs
ZUVuY29kZXJTZXRCaW5kR3JvdXAiKSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8
V0dQVVByb2M+KCZ3Z3B1UmVuZGVyQnVuZGxlRW5jb2RlclNldEJpbmRHcm91cCk7CiAgICAgaWYg
KCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1UmVuZGVyQnVuZGxlRW5jb2RlclNldEluZGV4QnVmZmVy
IikpCiAgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdVJlbmRl
ckJ1bmRsZUVuY29kZXJTZXRJbmRleEJ1ZmZlcik7Ci0gICAgaWYgKCFzdHJjbXAocHJvY05hbWUs
ICJ3Z3B1UmVuZGVyQnVuZGxlRW5jb2RlclNldExhYmVsIikpCi0gICAgICAgIHJldHVybiByZWlu
dGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdVJlbmRlckJ1bmRsZUVuY29kZXJTZXRMYWJlbCk7
CiAgICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1UmVuZGVyQnVuZGxlRW5jb2RlclNldFBp
cGVsaW5lIikpCiAgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dw
dVJlbmRlckJ1bmRsZUVuY29kZXJTZXRQaXBlbGluZSk7CiAgICAgaWYgKCFzdHJjbXAocHJvY05h
bWUsICJ3Z3B1UmVuZGVyQnVuZGxlRW5jb2RlclNldFZlcnRleEJ1ZmZlciIpKQogICAgICAgICBy
ZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVSZW5kZXJCdW5kbGVFbmNvZGVy
U2V0VmVydGV4QnVmZmVyKTsKLSAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVSZW5kZXJC
dW5kbGVSZWxlYXNlIikpCi0gICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9j
Pigmd2dwdVJlbmRlckJ1bmRsZVJlbGVhc2UpOwotICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAi
d2dwdVJlbmRlckJ1bmRsZVNldExhYmVsIikpCi0gICAgICAgIHJldHVybiByZWludGVycHJldF9j
YXN0PFdHUFVQcm9jPigmd2dwdVJlbmRlckJ1bmRsZVNldExhYmVsKTsKICAgICBpZiAoIXN0cmNt
cChwcm9jTmFtZSwgIndncHVSZW5kZXJQYXNzRW5jb2RlckJlZ2luT2NjbHVzaW9uUXVlcnkiKSkK
ICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1UmVuZGVyUGFz
c0VuY29kZXJCZWdpbk9jY2x1c2lvblF1ZXJ5KTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwg
IndncHVSZW5kZXJQYXNzRW5jb2RlckJlZ2luUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkiKSkKQEAg
LTMxMiwxNiArMjYxLDEyIEBAIFdHUFVQcm9jIHdncHVHZXRQcm9jQWRkcmVzcyhXR1BVRGV2aWNl
IGRldmljZSwgY29uc3QgY2hhciogcHJvY05hbWUpCiAgICAgICAgIHJldHVybiByZWludGVycHJl
dF9jYXN0PFdHUFVQcm9jPigmd2dwdVJlbmRlclBhc3NFbmNvZGVyUG9wRGVidWdHcm91cCk7CiAg
ICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1UmVuZGVyUGFzc0VuY29kZXJQdXNoRGVidWdH
cm91cCIpKQogICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVS
ZW5kZXJQYXNzRW5jb2RlclB1c2hEZWJ1Z0dyb3VwKTsKLSAgICBpZiAoIXN0cmNtcChwcm9jTmFt
ZSwgIndncHVSZW5kZXJQYXNzRW5jb2RlclJlbGVhc2UiKSkKLSAgICAgICAgcmV0dXJuIHJlaW50
ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1UmVuZGVyUGFzc0VuY29kZXJSZWxlYXNlKTsKICAg
ICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVSZW5kZXJQYXNzRW5jb2RlclNldEJpbmRHcm91
cCIpKQogICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVSZW5k
ZXJQYXNzRW5jb2RlclNldEJpbmRHcm91cCk7CiAgICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3
Z3B1UmVuZGVyUGFzc0VuY29kZXJTZXRCbGVuZENvbnN0YW50IikpCiAgICAgICAgIHJldHVybiBy
ZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdVJlbmRlclBhc3NFbmNvZGVyU2V0QmxlbmRD
b25zdGFudCk7CiAgICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1UmVuZGVyUGFzc0VuY29k
ZXJTZXRJbmRleEJ1ZmZlciIpKQogICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BV
UHJvYz4oJndncHVSZW5kZXJQYXNzRW5jb2RlclNldEluZGV4QnVmZmVyKTsKLSAgICBpZiAoIXN0
cmNtcChwcm9jTmFtZSwgIndncHVSZW5kZXJQYXNzRW5jb2RlclNldExhYmVsIikpCi0gICAgICAg
IHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdVJlbmRlclBhc3NFbmNvZGVy
U2V0TGFiZWwpOwogICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdVJlbmRlclBhc3NFbmNv
ZGVyU2V0UGlwZWxpbmUiKSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVBy
b2M+KCZ3Z3B1UmVuZGVyUGFzc0VuY29kZXJTZXRQaXBlbGluZSk7CiAgICAgaWYgKCFzdHJjbXAo
cHJvY05hbWUsICJ3Z3B1UmVuZGVyUGFzc0VuY29kZXJTZXRTY2lzc29yUmVjdCIpKQpAQCAtMzMy
LDQ0ICsyNzcsMjQgQEAgV0dQVVByb2Mgd2dwdUdldFByb2NBZGRyZXNzKFdHUFVEZXZpY2UgZGV2
aWNlLCBjb25zdCBjaGFyKiBwcm9jTmFtZSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nh
c3Q8V0dQVVByb2M+KCZ3Z3B1UmVuZGVyUGFzc0VuY29kZXJTZXRWZXJ0ZXhCdWZmZXIpOwogICAg
IGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdVJlbmRlclBhc3NFbmNvZGVyU2V0Vmlld3BvcnQi
KSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1UmVuZGVy
UGFzc0VuY29kZXJTZXRWaWV3cG9ydCk7Ci0gICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1
UmVuZGVyUGFzc0VuY29kZXJXcml0ZVRpbWVzdGFtcCIpKQotICAgICAgICByZXR1cm4gcmVpbnRl
cnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVSZW5kZXJQYXNzRW5jb2RlcldyaXRlVGltZXN0YW1w
KTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVSZW5kZXJQaXBlbGluZUdldEJpbmRH
cm91cExheW91dCIpKQogICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4o
JndncHVSZW5kZXJQaXBlbGluZUdldEJpbmRHcm91cExheW91dCk7Ci0gICAgaWYgKCFzdHJjbXAo
cHJvY05hbWUsICJ3Z3B1UmVuZGVyUGlwZWxpbmVSZWxlYXNlIikpCi0gICAgICAgIHJldHVybiBy
ZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdVJlbmRlclBpcGVsaW5lUmVsZWFzZSk7CiAg
ICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1UmVuZGVyUGlwZWxpbmVTZXRMYWJlbCIpKQog
ICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVSZW5kZXJQaXBl
bGluZVNldExhYmVsKTsKLSAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVTYW1wbGVyUmVs
ZWFzZSIpKQotICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVT
YW1wbGVyUmVsZWFzZSk7Ci0gICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1U2FtcGxlclNl
dExhYmVsIikpCi0gICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dw
dVNhbXBsZXJTZXRMYWJlbCk7Ci0gICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1U2hhZGVy
TW9kdWxlUmVsZWFzZSIpKQotICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJv
Yz4oJndncHVTaGFkZXJNb2R1bGVSZWxlYXNlKTsKKyAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwg
IndncHVTaGFkZXJNb2R1bGVHZXRDb21waWxhdGlvbkluZm8iKSkKKyAgICAgICAgcmV0dXJuIHJl
aW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1U2hhZGVyTW9kdWxlR2V0Q29tcGlsYXRpb25J
bmZvKTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVTaGFkZXJNb2R1bGVTZXRMYWJl
bCIpKQogICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVTaGFk
ZXJNb2R1bGVTZXRMYWJlbCk7CiAgICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1U3VyZmFj
ZUdldFByZWZlcnJlZEZvcm1hdCIpKQogICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxX
R1BVUHJvYz4oJndncHVTdXJmYWNlR2V0UHJlZmVycmVkRm9ybWF0KTsKLSAgICBpZiAoIXN0cmNt
cChwcm9jTmFtZSwgIndncHVTdXJmYWNlUmVsZWFzZSIpKQotICAgICAgICByZXR1cm4gcmVpbnRl
cnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVTdXJmYWNlUmVsZWFzZSk7CiAgICAgaWYgKCFzdHJj
bXAocHJvY05hbWUsICJ3Z3B1U3dhcENoYWluR2V0Q3VycmVudFRleHR1cmVWaWV3IikpCiAgICAg
ICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdVN3YXBDaGFpbkdldEN1
cnJlbnRUZXh0dXJlVmlldyk7CiAgICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1U3dhcENo
YWluUHJlc2VudCIpKQogICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4o
JndncHVTd2FwQ2hhaW5QcmVzZW50KTsKLSAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVT
d2FwQ2hhaW5SZWxlYXNlIikpCi0gICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQ
cm9jPigmd2dwdVN3YXBDaGFpblJlbGVhc2UpOwogICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAi
d2dwdVRleHR1cmVDcmVhdGVWaWV3IikpCiAgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0
PFdHUFVQcm9jPigmd2dwdVRleHR1cmVDcmVhdGVWaWV3KTsKICAgICBpZiAoIXN0cmNtcChwcm9j
TmFtZSwgIndncHVUZXh0dXJlRGVzdHJveSIpKQogICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRf
Y2FzdDxXR1BVUHJvYz4oJndncHVUZXh0dXJlRGVzdHJveSk7Ci0gICAgaWYgKCFzdHJjbXAocHJv
Y05hbWUsICJ3Z3B1VGV4dHVyZVJlbGVhc2UiKSkKLSAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0
X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1VGV4dHVyZVJlbGVhc2UpOwotICAgIGlmICghc3RyY21wKHBy
b2NOYW1lLCAid2dwdVRleHR1cmVTZXRMYWJlbCIpKQotICAgICAgICByZXR1cm4gcmVpbnRlcnBy
ZXRfY2FzdDxXR1BVUHJvYz4oJndncHVUZXh0dXJlU2V0TGFiZWwpOwotICAgIGlmICghc3RyY21w
KHByb2NOYW1lLCAid2dwdVRleHR1cmVWaWV3UmVsZWFzZSIpKQotICAgICAgICByZXR1cm4gcmVp
bnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVUZXh0dXJlVmlld1JlbGVhc2UpOwotICAgIGlm
ICghc3RyY21wKHByb2NOYW1lLCAid2dwdVRleHR1cmVWaWV3U2V0TGFiZWwiKSkKLSAgICAgICAg
cmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1VGV4dHVyZVZpZXdTZXRMYWJl
bCk7CiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJHUFUv
V2ViR1BVL1JlbmRlclBhc3NFbmNvZGVyLmggYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9SZW5kZXJQ
YXNzRW5jb2Rlci5oCmluZGV4IDZiNWJjYTM4ZjBhNWNkODFjY2FjZTJmMTFjY2I5NTk2NjliOWI0
ZmEuLjVjOTQ5NWEwNTkzODg1Y2U5NmE1YWU4NGRhMDMwMjlkZmU3YjM3NDUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJHUFUvV2ViR1BVL1JlbmRlclBhc3NFbmNvZGVyLmgKKysrIGIvU291cmNlL1dl
YkdQVS9XZWJHUFUvUmVuZGVyUGFzc0VuY29kZXIuaApAQCAtNzEsNyArNzEsNiBAQCBwdWJsaWM6
CiAgICAgdm9pZCBzZXRTdGVuY2lsUmVmZXJlbmNlKHVpbnQzMl90KTsKICAgICB2b2lkIHNldFZl
cnRleEJ1ZmZlcih1aW50MzJfdCBzbG90LCBjb25zdCBCdWZmZXImLCB1aW50NjRfdCBvZmZzZXQs
IHVpbnQ2NF90IHNpemUpOwogICAgIHZvaWQgc2V0Vmlld3BvcnQoZmxvYXQgeCwgZmxvYXQgeSwg
ZmxvYXQgd2lkdGgsIGZsb2F0IGhlaWdodCwgZmxvYXQgbWluRGVwdGgsIGZsb2F0IG1heERlcHRo
KTsKLSAgICB2b2lkIHdyaXRlVGltZXN0YW1wKGNvbnN0IFF1ZXJ5U2V0JiwgdWludDMyX3QgcXVl
cnlJbmRleCk7CiAgICAgdm9pZCBzZXRMYWJlbChjb25zdCBjaGFyKik7CiAKIHByaXZhdGU6CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9SZW5kZXJQYXNzRW5jb2Rlci5tbSBiL1Nv
dXJjZS9XZWJHUFUvV2ViR1BVL1JlbmRlclBhc3NFbmNvZGVyLm1tCmluZGV4IGIzYzM5M2U3MDEz
ZDkxZDJlZDFjOWRlOTIxMmM3NDI4YmVmY2VjYzUuLmNiOWRiYTFiZDM1ZWZhYzVjZmNjZjliNmU0
NjQxOTVhNmExZmYxODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL1JlbmRlclBh
c3NFbmNvZGVyLm1tCisrKyBiL1NvdXJjZS9XZWJHUFUvV2ViR1BVL1JlbmRlclBhc3NFbmNvZGVy
Lm1tCkBAIC0xNzEsMTIgKzE3MSw2IEBAIHZvaWQgUmVuZGVyUGFzc0VuY29kZXI6OnNldFZpZXdw
b3J0KGZsb2F0IHgsIGZsb2F0IHksIGZsb2F0IHdpZHRoLCBmbG9hdCBoZWlnaHQsCiAgICAgVU5V
U0VEX1BBUkFNKG1heERlcHRoKTsKIH0KIAotdm9pZCBSZW5kZXJQYXNzRW5jb2Rlcjo6d3JpdGVU
aW1lc3RhbXAoY29uc3QgUXVlcnlTZXQmIHF1ZXJ5U2V0LCB1aW50MzJfdCBxdWVyeUluZGV4KQot
ewotICAgIFVOVVNFRF9QQVJBTShxdWVyeVNldCk7Ci0gICAgVU5VU0VEX1BBUkFNKHF1ZXJ5SW5k
ZXgpOwotfQotCiB2b2lkIFJlbmRlclBhc3NFbmNvZGVyOjpzZXRMYWJlbChjb25zdCBjaGFyKiBs
YWJlbCkKIHsKICAgICBVTlVTRURfUEFSQU0obGFiZWwpOwpAQCAtMjk3LDExICsyOTEsNiBAQCB2
b2lkIHdncHVSZW5kZXJQYXNzRW5jb2RlclNldFZpZXdwb3J0KFdHUFVSZW5kZXJQYXNzRW5jb2Rl
ciByZW5kZXJQYXNzRW5jb2RlciwgZgogICAgIHJlbmRlclBhc3NFbmNvZGVyLT5yZW5kZXJQYXNz
RW5jb2Rlci0+c2V0Vmlld3BvcnQoeCwgeSwgd2lkdGgsIGhlaWdodCwgbWluRGVwdGgsIG1heERl
cHRoKTsKIH0KIAotdm9pZCB3Z3B1UmVuZGVyUGFzc0VuY29kZXJXcml0ZVRpbWVzdGFtcChXR1BV
UmVuZGVyUGFzc0VuY29kZXIgcmVuZGVyUGFzc0VuY29kZXIsIFdHUFVRdWVyeVNldCBxdWVyeVNl
dCwgdWludDMyX3QgcXVlcnlJbmRleCkKLXsKLSAgICByZW5kZXJQYXNzRW5jb2Rlci0+cmVuZGVy
UGFzc0VuY29kZXItPndyaXRlVGltZXN0YW1wKHF1ZXJ5U2V0LT5xdWVyeVNldCwgcXVlcnlJbmRl
eCk7Ci19Ci0KIHZvaWQgd2dwdVJlbmRlclBhc3NFbmNvZGVyU2V0TGFiZWwoV0dQVVJlbmRlclBh
c3NFbmNvZGVyIHJlbmRlclBhc3NFbmNvZGVyLCBjb25zdCBjaGFyKiBsYWJlbCkKIHsKICAgICBy
ZW5kZXJQYXNzRW5jb2Rlci0+cmVuZGVyUGFzc0VuY29kZXItPnNldExhYmVsKGxhYmVsKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL1NoYWRlck1vZHVsZS5oIGIvU291cmNlL1dl
YkdQVS9XZWJHUFUvU2hhZGVyTW9kdWxlLmgKaW5kZXggY2NkOTVlMDUzMDMwNzUyYWFmN2I1Zjc2
YTllZmI0NDNlZGM1NTgzYy4uYzJhZDNlZWQxODcxNTQxYjI5NTVlZGNlMGJjZmRkMGM5NTY2ZmQ2
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkdQVS9XZWJHUFUvU2hhZGVyTW9kdWxlLmgKKysrIGIv
U291cmNlL1dlYkdQVS9XZWJHUFUvU2hhZGVyTW9kdWxlLmgKQEAgLTQyLDYgKzQyLDcgQEAgcHVi
bGljOgogCiAgICAgflNoYWRlck1vZHVsZSgpOwogCisgICAgdm9pZCBnZXRDb21waWxhdGlvbklu
Zm8oV1RGOjpGdW5jdGlvbjx2b2lkKFdHUFVDb21waWxhdGlvbkluZm9SZXF1ZXN0U3RhdHVzLCBj
b25zdCBXR1BVQ29tcGlsYXRpb25JbmZvKik+JiYgY2FsbGJhY2spOwogICAgIHZvaWQgc2V0TGFi
ZWwoY29uc3QgY2hhciopOwogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkdQVS9X
ZWJHUFUvU2hhZGVyTW9kdWxlLm1tIGIvU291cmNlL1dlYkdQVS9XZWJHUFUvU2hhZGVyTW9kdWxl
Lm1tCmluZGV4IDk1NGRjZjE0NmMyMzBmMTI2ZDBiYzg1NjJkMWE4NjUzY2E0ZDIyY2MuLjZjYjNj
OWU5ZjBkYWE0ZWUzYTNhNzIyODY4NDMxZGUxNzI1NjhjODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJHUFUvV2ViR1BVL1NoYWRlck1vZHVsZS5tbQorKysgYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9T
aGFkZXJNb2R1bGUubW0KQEAgLTM0LDYgKzM0LDExIEBAIFNoYWRlck1vZHVsZTo6U2hhZGVyTW9k
dWxlKCkgPSBkZWZhdWx0OwogCiBTaGFkZXJNb2R1bGU6On5TaGFkZXJNb2R1bGUoKSA9IGRlZmF1
bHQ7CiAKK3ZvaWQgU2hhZGVyTW9kdWxlOjpnZXRDb21waWxhdGlvbkluZm8oV1RGOjpGdW5jdGlv
bjx2b2lkKFdHUFVDb21waWxhdGlvbkluZm9SZXF1ZXN0U3RhdHVzLCBjb25zdCBXR1BVQ29tcGls
YXRpb25JbmZvKik+JiYgY2FsbGJhY2spCit7CisgICAgVU5VU0VEX1BBUkFNKGNhbGxiYWNrKTsK
K30KKwogdm9pZCBTaGFkZXJNb2R1bGU6OnNldExhYmVsKGNvbnN0IGNoYXIqIGxhYmVsKQogewog
ICAgIFVOVVNFRF9QQVJBTShsYWJlbCk7CkBAIC00Niw2ICs1MSwxMyBAQCB2b2lkIHdncHVTaGFk
ZXJNb2R1bGVSZWxlYXNlKFdHUFVTaGFkZXJNb2R1bGUgc2hhZGVyTW9kdWxlKQogICAgIGRlbGV0
ZSBzaGFkZXJNb2R1bGU7CiB9CiAKK3ZvaWQgd2dwdVNoYWRlck1vZHVsZUdldENvbXBpbGF0aW9u
SW5mbyhXR1BVU2hhZGVyTW9kdWxlIHNoYWRlck1vZHVsZSwgV0dQVUNvbXBpbGF0aW9uSW5mb0Nh
bGxiYWNrIGNhbGxiYWNrLCB2b2lkICogdXNlcmRhdGEpCit7CisgICAgc2hhZGVyTW9kdWxlLT5z
aGFkZXJNb2R1bGUtPmdldENvbXBpbGF0aW9uSW5mbyhbY2FsbGJhY2ssIHVzZXJkYXRhXSAoV0dQ
VUNvbXBpbGF0aW9uSW5mb1JlcXVlc3RTdGF0dXMgc3RhdHVzLCBjb25zdCBXR1BVQ29tcGlsYXRp
b25JbmZvKiBjb21waWxhdGlvbkluZm8pIHsKKyAgICAgICAgY2FsbGJhY2soc3RhdHVzLCBjb21w
aWxhdGlvbkluZm8sIHVzZXJkYXRhKTsKKyAgICB9KTsKK30KKwogdm9pZCB3Z3B1U2hhZGVyTW9k
dWxlU2V0TGFiZWwoV0dQVVNoYWRlck1vZHVsZSBzaGFkZXJNb2R1bGUsIGNvbnN0IGNoYXIqIGxh
YmVsKQogewogICAgIHNoYWRlck1vZHVsZS0+c2hhZGVyTW9kdWxlLT5zZXRMYWJlbChsYWJlbCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9XZWJHUFUuaCBiL1NvdXJjZS9XZWJH
UFUvV2ViR1BVL1dlYkdQVS5oCmluZGV4IDVhZmIzODMyNmJhYWJjOGQ2NGIwMDNhMjU1MjBjMWRl
MWIyN2ZiZjQuLjA5OTMxNmIxZDNiNzc4YmIwOGUzZDY1MjA0OGNmNjRiMzBiODhjMDEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL1dlYkdQVS5oCisrKyBiL1NvdXJjZS9XZWJHUFUv
V2ViR1BVL1dlYkdQVS5oCkBAIC01MiwxMiArNTIsMTMgQEAKICNpbmNsdWRlIDxzdGRkZWYuaD4K
ICNpbmNsdWRlIDxzdGRib29sLmg+CiAKLSNkZWZpbmUgV0dQVV9XSE9MRV9TSVpFICgweGZmZmZm
ZmZmZmZmZmZmZmZVTEwpCisjZGVmaW5lIFdHUFVfQVJSQVlfTEFZRVJfQ09VTlRfVU5ERUZJTkVE
ICgweGZmZmZmZmZmVUwpCiAjZGVmaW5lIFdHUFVfQ09QWV9TVFJJREVfVU5ERUZJTkVEICgweGZm
ZmZmZmZmVUwpCiAjZGVmaW5lIFdHUFVfTElNSVRfVTMyX1VOREVGSU5FRCAoMHhmZmZmZmZmZlVM
KQogI2RlZmluZSBXR1BVX0xJTUlUX1U2NF9VTkRFRklORUQgKDB4ZmZmZmZmZmZmZmZmZmZmZlVM
TCkKLSNkZWZpbmUgV0dQVV9BUlJBWV9MQVlFUl9DT1VOVF9VTkRFRklORUQgKDB4ZmZmZmZmZmZV
TCkKICNkZWZpbmUgV0dQVV9NSVBfTEVWRUxfQ09VTlRfVU5ERUZJTkVEICgweGZmZmZmZmZmVUwp
CisjZGVmaW5lIFdHUFVfV0hPTEVfTUFQX1NJWkUgU0laRV9NQVgKKyNkZWZpbmUgV0dQVV9XSE9M
RV9TSVpFICgweGZmZmZmZmZmZmZmZmZmZmZVTEwpCiAKIHR5cGVkZWYgdWludDMyX3QgV0dQVUZs
YWdzOwogCkBAIC0xNjksNiArMTcwLDE0IEBAIHR5cGVkZWYgZW51bSBXR1BVQ29tcGFyZUZ1bmN0
aW9uIHsKICAgICBXR1BVQ29tcGFyZUZ1bmN0aW9uX0ZvcmNlMzIgPSAweDdGRkZGRkZGCiB9IFdH
UFVDb21wYXJlRnVuY3Rpb247CiAKK3R5cGVkZWYgZW51bSBXR1BVQ29tcGlsYXRpb25JbmZvUmVx
dWVzdFN0YXR1cyB7CisgICAgV0dQVUNvbXBpbGF0aW9uSW5mb1JlcXVlc3RTdGF0dXNfU3VjY2Vz
cyA9IDB4MDAwMDAwMDAsCisgICAgV0dQVUNvbXBpbGF0aW9uSW5mb1JlcXVlc3RTdGF0dXNfRXJy
b3IgPSAweDAwMDAwMDAxLAorICAgIFdHUFVDb21waWxhdGlvbkluZm9SZXF1ZXN0U3RhdHVzX0Rl
dmljZUxvc3QgPSAweDAwMDAwMDAyLAorICAgIFdHUFVDb21waWxhdGlvbkluZm9SZXF1ZXN0U3Rh
dHVzX1Vua25vd24gPSAweDAwMDAwMDAzLAorICAgIFdHUFVDb21waWxhdGlvbkluZm9SZXF1ZXN0
U3RhdHVzX0ZvcmNlMzIgPSAweDdGRkZGRkZGCit9IFdHUFVDb21waWxhdGlvbkluZm9SZXF1ZXN0
U3RhdHVzOworCiB0eXBlZGVmIGVudW0gV0dQVUNvbXBpbGF0aW9uTWVzc2FnZVR5cGUgewogICAg
IFdHUFVDb21waWxhdGlvbk1lc3NhZ2VUeXBlX0Vycm9yID0gMHgwMDAwMDAwMCwKICAgICBXR1BV
Q29tcGlsYXRpb25NZXNzYWdlVHlwZV9XYXJuaW5nID0gMHgwMDAwMDAwMSwKQEAgLTE3Niw2ICsx
ODUsMTIgQEAgdHlwZWRlZiBlbnVtIFdHUFVDb21waWxhdGlvbk1lc3NhZ2VUeXBlIHsKICAgICBX
R1BVQ29tcGlsYXRpb25NZXNzYWdlVHlwZV9Gb3JjZTMyID0gMHg3RkZGRkZGRgogfSBXR1BVQ29t
cGlsYXRpb25NZXNzYWdlVHlwZTsKIAordHlwZWRlZiBlbnVtIFdHUFVDb21wdXRlUGFzc1RpbWVz
dGFtcExvY2F0aW9uIHsKKyAgICBXR1BVQ29tcHV0ZVBhc3NUaW1lc3RhbXBMb2NhdGlvbl9CZWdp
bm5pbmcgPSAweDAwMDAwMDAwLAorICAgIFdHUFVDb21wdXRlUGFzc1RpbWVzdGFtcExvY2F0aW9u
X0VuZCA9IDB4MDAwMDAwMDEsCisgICAgV0dQVUNvbXB1dGVQYXNzVGltZXN0YW1wTG9jYXRpb25f
Rm9yY2UzMiA9IDB4N0ZGRkZGRkYKK30gV0dQVUNvbXB1dGVQYXNzVGltZXN0YW1wTG9jYXRpb247
CisKIHR5cGVkZWYgZW51bSBXR1BVQ3JlYXRlUGlwZWxpbmVBc3luY1N0YXR1cyB7CiAgICAgV0dQ
VUNyZWF0ZVBpcGVsaW5lQXN5bmNTdGF0dXNfU3VjY2VzcyA9IDB4MDAwMDAwMDAsCiAgICAgV0dQ
VUNyZWF0ZVBpcGVsaW5lQXN5bmNTdGF0dXNfRXJyb3IgPSAweDAwMDAwMDAxLApAQCAtMTk5LDkg
KzIxNCw4IEBAIHR5cGVkZWYgZW51bSBXR1BVRGV2aWNlTG9zdFJlYXNvbiB7CiB9IFdHUFVEZXZp
Y2VMb3N0UmVhc29uOwogCiB0eXBlZGVmIGVudW0gV0dQVUVycm9yRmlsdGVyIHsKLSAgICBXR1BV
RXJyb3JGaWx0ZXJfTm9uZSA9IDB4MDAwMDAwMDAsCi0gICAgV0dQVUVycm9yRmlsdGVyX1ZhbGlk
YXRpb24gPSAweDAwMDAwMDAxLAotICAgIFdHUFVFcnJvckZpbHRlcl9PdXRPZk1lbW9yeSA9IDB4
MDAwMDAwMDIsCisgICAgV0dQVUVycm9yRmlsdGVyX1ZhbGlkYXRpb24gPSAweDAwMDAwMDAwLAor
ICAgIFdHUFVFcnJvckZpbHRlcl9PdXRPZk1lbW9yeSA9IDB4MDAwMDAwMDEsCiAgICAgV0dQVUVy
cm9yRmlsdGVyX0ZvcmNlMzIgPSAweDdGRkZGRkZGCiB9IFdHUFVFcnJvckZpbHRlcjsKIApAQCAt
MjE2LDEyICsyMzAsMTUgQEAgdHlwZWRlZiBlbnVtIFdHUFVFcnJvclR5cGUgewogCiB0eXBlZGVm
IGVudW0gV0dQVUZlYXR1cmVOYW1lIHsKICAgICBXR1BVRmVhdHVyZU5hbWVfVW5kZWZpbmVkID0g
MHgwMDAwMDAwMCwKLSAgICBXR1BVRmVhdHVyZU5hbWVfRGVwdGhDbGFtcGluZyA9IDB4MDAwMDAw
MDEsCisgICAgV0dQVUZlYXR1cmVOYW1lX0RlcHRoQ2xpcENvbnRyb2wgPSAweDAwMDAwMDAxLAog
ICAgIFdHUFVGZWF0dXJlTmFtZV9EZXB0aDI0VW5vcm1TdGVuY2lsOCA9IDB4MDAwMDAwMDIsCiAg
ICAgV0dQVUZlYXR1cmVOYW1lX0RlcHRoMzJGbG9hdFN0ZW5jaWw4ID0gMHgwMDAwMDAwMywKICAg
ICBXR1BVRmVhdHVyZU5hbWVfVGltZXN0YW1wUXVlcnkgPSAweDAwMDAwMDA0LAogICAgIFdHUFVG
ZWF0dXJlTmFtZV9QaXBlbGluZVN0YXRpc3RpY3NRdWVyeSA9IDB4MDAwMDAwMDUsCiAgICAgV0dQ
VUZlYXR1cmVOYW1lX1RleHR1cmVDb21wcmVzc2lvbkJDID0gMHgwMDAwMDAwNiwKKyAgICBXR1BV
RmVhdHVyZU5hbWVfVGV4dHVyZUNvbXByZXNzaW9uRVRDMiA9IDB4MDAwMDAwMDcsCisgICAgV0dQ
VUZlYXR1cmVOYW1lX1RleHR1cmVDb21wcmVzc2lvbkFTVEMgPSAweDAwMDAwMDA4LAorICAgIFdH
UFVGZWF0dXJlTmFtZV9JbmRpcmVjdEZpcnN0SW5zdGFuY2UgPSAweDAwMDAwMDA5LAogICAgIFdH
UFVGZWF0dXJlTmFtZV9Gb3JjZTMyID0gMHg3RkZGRkZGRgogfSBXR1BVRmVhdHVyZU5hbWU7CiAK
QEAgLTI2MCw4ICsyNzcsOSBAQCB0eXBlZGVmIGVudW0gV0dQVVBpcGVsaW5lU3RhdGlzdGljTmFt
ZSB7CiB9IFdHUFVQaXBlbGluZVN0YXRpc3RpY05hbWU7CiAKIHR5cGVkZWYgZW51bSBXR1BVUG93
ZXJQcmVmZXJlbmNlIHsKLSAgICBXR1BVUG93ZXJQcmVmZXJlbmNlX0xvd1Bvd2VyID0gMHgwMDAw
MDAwMCwKLSAgICBXR1BVUG93ZXJQcmVmZXJlbmNlX0hpZ2hQZXJmb3JtYW5jZSA9IDB4MDAwMDAw
MDEsCisgICAgV0dQVVBvd2VyUHJlZmVyZW5jZV9VbmRlZmluZWQgPSAweDAwMDAwMDAwLAorICAg
IFdHUFVQb3dlclByZWZlcmVuY2VfTG93UG93ZXIgPSAweDAwMDAwMDAxLAorICAgIFdHUFVQb3dl
clByZWZlcmVuY2VfSGlnaFBlcmZvcm1hbmNlID0gMHgwMDAwMDAwMiwKICAgICBXR1BVUG93ZXJQ
cmVmZXJlbmNlX0ZvcmNlMzIgPSAweDdGRkZGRkZGCiB9IFdHUFVQb3dlclByZWZlcmVuY2U7CiAK
QEAgLTI5Niw2ICszMTQsMTIgQEAgdHlwZWRlZiBlbnVtIFdHUFVRdWV1ZVdvcmtEb25lU3RhdHVz
IHsKICAgICBXR1BVUXVldWVXb3JrRG9uZVN0YXR1c19Gb3JjZTMyID0gMHg3RkZGRkZGRgogfSBX
R1BVUXVldWVXb3JrRG9uZVN0YXR1czsKIAordHlwZWRlZiBlbnVtIFdHUFVSZW5kZXJQYXNzVGlt
ZXN0YW1wTG9jYXRpb24geworICAgIFdHUFVSZW5kZXJQYXNzVGltZXN0YW1wTG9jYXRpb25fQmVn
aW5uaW5nID0gMHgwMDAwMDAwMCwKKyAgICBXR1BVUmVuZGVyUGFzc1RpbWVzdGFtcExvY2F0aW9u
X0VuZCA9IDB4MDAwMDAwMDEsCisgICAgV0dQVVJlbmRlclBhc3NUaW1lc3RhbXBMb2NhdGlvbl9G
b3JjZTMyID0gMHg3RkZGRkZGRgorfSBXR1BVUmVuZGVyUGFzc1RpbWVzdGFtcExvY2F0aW9uOwor
CiB0eXBlZGVmIGVudW0gV0dQVVJlcXVlc3RBZGFwdGVyU3RhdHVzIHsKICAgICBXR1BVUmVxdWVz
dEFkYXB0ZXJTdGF0dXNfU3VjY2VzcyA9IDB4MDAwMDAwMDAsCiAgICAgV0dQVVJlcXVlc3RBZGFw
dGVyU3RhdHVzX1VuYXZhaWxhYmxlID0gMHgwMDAwMDAwMSwKQEAgLTMxOSw3ICszNDMsOSBAQCB0
eXBlZGVmIGVudW0gV0dQVVNUeXBlIHsKICAgICBXR1BVU1R5cGVfU3VyZmFjZURlc2NyaXB0b3JG
cm9tQ2FudmFzSFRNTFNlbGVjdG9yID0gMHgwMDAwMDAwNCwKICAgICBXR1BVU1R5cGVfU2hhZGVy
TW9kdWxlU1BJUlZEZXNjcmlwdG9yID0gMHgwMDAwMDAwNSwKICAgICBXR1BVU1R5cGVfU2hhZGVy
TW9kdWxlV0dTTERlc2NyaXB0b3IgPSAweDAwMDAwMDA2LAotICAgIFdHUFVTVHlwZV9QcmltaXRp
dmVEZXB0aENsYW1waW5nU3RhdGUgPSAweDAwMDAwMDA3LAorICAgIFdHUFVTVHlwZV9QcmltaXRp
dmVEZXB0aENsaXBDb250cm9sID0gMHgwMDAwMDAwNywKKyAgICBXR1BVU1R5cGVfU3VyZmFjZURl
c2NyaXB0b3JGcm9tV2F5bGFuZFN1cmZhY2UgPSAweDAwMDAwMDA4LAorICAgIFdHUFVTVHlwZV9T
dXJmYWNlRGVzY3JpcHRvckZyb21BbmRyb2lkTmF0aXZlV2luZG93ID0gMHgwMDAwMDAwOSwKICAg
ICBXR1BVU1R5cGVfRm9yY2UzMiA9IDB4N0ZGRkZGRkYKIH0gV0dQVVNUeXBlOwogCkBAIC00MTks
MjEgKzQ0NSw2MSBAQCB0eXBlZGVmIGVudW0gV0dQVVRleHR1cmVGb3JtYXQgewogICAgIFdHUFVU
ZXh0dXJlRm9ybWF0X0RlcHRoMTZVbm9ybSA9IDB4MDAwMDAwMjYsCiAgICAgV0dQVVRleHR1cmVG
b3JtYXRfRGVwdGgyNFBsdXMgPSAweDAwMDAwMDI3LAogICAgIFdHUFVUZXh0dXJlRm9ybWF0X0Rl
cHRoMjRQbHVzU3RlbmNpbDggPSAweDAwMDAwMDI4LAotICAgIFdHUFVUZXh0dXJlRm9ybWF0X0Rl
cHRoMzJGbG9hdCA9IDB4MDAwMDAwMjksCi0gICAgV0dQVVRleHR1cmVGb3JtYXRfQkMxUkdCQVVu
b3JtID0gMHgwMDAwMDAyQSwKLSAgICBXR1BVVGV4dHVyZUZvcm1hdF9CQzFSR0JBVW5vcm1Tcmdi
ID0gMHgwMDAwMDAyQiwKLSAgICBXR1BVVGV4dHVyZUZvcm1hdF9CQzJSR0JBVW5vcm0gPSAweDAw
MDAwMDJDLAotICAgIFdHUFVUZXh0dXJlRm9ybWF0X0JDMlJHQkFVbm9ybVNyZ2IgPSAweDAwMDAw
MDJELAotICAgIFdHUFVUZXh0dXJlRm9ybWF0X0JDM1JHQkFVbm9ybSA9IDB4MDAwMDAwMkUsCi0g
ICAgV0dQVVRleHR1cmVGb3JtYXRfQkMzUkdCQVVub3JtU3JnYiA9IDB4MDAwMDAwMkYsCi0gICAg
V0dQVVRleHR1cmVGb3JtYXRfQkM0UlVub3JtID0gMHgwMDAwMDAzMCwKLSAgICBXR1BVVGV4dHVy
ZUZvcm1hdF9CQzRSU25vcm0gPSAweDAwMDAwMDMxLAotICAgIFdHUFVUZXh0dXJlRm9ybWF0X0JD
NVJHVW5vcm0gPSAweDAwMDAwMDMyLAotICAgIFdHUFVUZXh0dXJlRm9ybWF0X0JDNVJHU25vcm0g
PSAweDAwMDAwMDMzLAotICAgIFdHUFVUZXh0dXJlRm9ybWF0X0JDNkhSR0JVZmxvYXQgPSAweDAw
MDAwMDM0LAotICAgIFdHUFVUZXh0dXJlRm9ybWF0X0JDNkhSR0JGbG9hdCA9IDB4MDAwMDAwMzUs
Ci0gICAgV0dQVVRleHR1cmVGb3JtYXRfQkM3UkdCQVVub3JtID0gMHgwMDAwMDAzNiwKLSAgICBX
R1BVVGV4dHVyZUZvcm1hdF9CQzdSR0JBVW5vcm1TcmdiID0gMHgwMDAwMDAzNywKKyAgICBXR1BV
VGV4dHVyZUZvcm1hdF9EZXB0aDI0VW5vcm1TdGVuY2lsOCA9IDB4MDAwMDAwMjksCisgICAgV0dQ
VVRleHR1cmVGb3JtYXRfRGVwdGgzMkZsb2F0ID0gMHgwMDAwMDAyQSwKKyAgICBXR1BVVGV4dHVy
ZUZvcm1hdF9EZXB0aDMyRmxvYXRTdGVuY2lsOCA9IDB4MDAwMDAwMkIsCisgICAgV0dQVVRleHR1
cmVGb3JtYXRfQkMxUkdCQVVub3JtID0gMHgwMDAwMDAyQywKKyAgICBXR1BVVGV4dHVyZUZvcm1h
dF9CQzFSR0JBVW5vcm1TcmdiID0gMHgwMDAwMDAyRCwKKyAgICBXR1BVVGV4dHVyZUZvcm1hdF9C
QzJSR0JBVW5vcm0gPSAweDAwMDAwMDJFLAorICAgIFdHUFVUZXh0dXJlRm9ybWF0X0JDMlJHQkFV
bm9ybVNyZ2IgPSAweDAwMDAwMDJGLAorICAgIFdHUFVUZXh0dXJlRm9ybWF0X0JDM1JHQkFVbm9y
bSA9IDB4MDAwMDAwMzAsCisgICAgV0dQVVRleHR1cmVGb3JtYXRfQkMzUkdCQVVub3JtU3JnYiA9
IDB4MDAwMDAwMzEsCisgICAgV0dQVVRleHR1cmVGb3JtYXRfQkM0UlVub3JtID0gMHgwMDAwMDAz
MiwKKyAgICBXR1BVVGV4dHVyZUZvcm1hdF9CQzRSU25vcm0gPSAweDAwMDAwMDMzLAorICAgIFdH
UFVUZXh0dXJlRm9ybWF0X0JDNVJHVW5vcm0gPSAweDAwMDAwMDM0LAorICAgIFdHUFVUZXh0dXJl
Rm9ybWF0X0JDNVJHU25vcm0gPSAweDAwMDAwMDM1LAorICAgIFdHUFVUZXh0dXJlRm9ybWF0X0JD
NkhSR0JVZmxvYXQgPSAweDAwMDAwMDM2LAorICAgIFdHUFVUZXh0dXJlRm9ybWF0X0JDNkhSR0JG
bG9hdCA9IDB4MDAwMDAwMzcsCisgICAgV0dQVVRleHR1cmVGb3JtYXRfQkM3UkdCQVVub3JtID0g
MHgwMDAwMDAzOCwKKyAgICBXR1BVVGV4dHVyZUZvcm1hdF9CQzdSR0JBVW5vcm1TcmdiID0gMHgw
MDAwMDAzOSwKKyAgICBXR1BVVGV4dHVyZUZvcm1hdF9FVEMyUkdCOFVub3JtID0gMHgwMDAwMDAz
QSwKKyAgICBXR1BVVGV4dHVyZUZvcm1hdF9FVEMyUkdCOFVub3JtU3JnYiA9IDB4MDAwMDAwM0Is
CisgICAgV0dQVVRleHR1cmVGb3JtYXRfRVRDMlJHQjhBMVVub3JtID0gMHgwMDAwMDAzQywKKyAg
ICBXR1BVVGV4dHVyZUZvcm1hdF9FVEMyUkdCOEExVW5vcm1TcmdiID0gMHgwMDAwMDAzRCwKKyAg
ICBXR1BVVGV4dHVyZUZvcm1hdF9FVEMyUkdCQThVbm9ybSA9IDB4MDAwMDAwM0UsCisgICAgV0dQ
VVRleHR1cmVGb3JtYXRfRVRDMlJHQkE4VW5vcm1TcmdiID0gMHgwMDAwMDAzRiwKKyAgICBXR1BV
VGV4dHVyZUZvcm1hdF9FQUNSMTFVbm9ybSA9IDB4MDAwMDAwNDAsCisgICAgV0dQVVRleHR1cmVG
b3JtYXRfRUFDUjExU25vcm0gPSAweDAwMDAwMDQxLAorICAgIFdHUFVUZXh0dXJlRm9ybWF0X0VB
Q1JHMTFVbm9ybSA9IDB4MDAwMDAwNDIsCisgICAgV0dQVVRleHR1cmVGb3JtYXRfRUFDUkcxMVNu
b3JtID0gMHgwMDAwMDA0MywKKyAgICBXR1BVVGV4dHVyZUZvcm1hdF9BU1RDNHg0VW5vcm0gPSAw
eDAwMDAwMDQ0LAorICAgIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEM0eDRVbm9ybVNyZ2IgPSAweDAw
MDAwMDQ1LAorICAgIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEM1eDRVbm9ybSA9IDB4MDAwMDAwNDYs
CisgICAgV0dQVVRleHR1cmVGb3JtYXRfQVNUQzV4NFVub3JtU3JnYiA9IDB4MDAwMDAwNDcsCisg
ICAgV0dQVVRleHR1cmVGb3JtYXRfQVNUQzV4NVVub3JtID0gMHgwMDAwMDA0OCwKKyAgICBXR1BV
VGV4dHVyZUZvcm1hdF9BU1RDNXg1VW5vcm1TcmdiID0gMHgwMDAwMDA0OSwKKyAgICBXR1BVVGV4
dHVyZUZvcm1hdF9BU1RDNng1VW5vcm0gPSAweDAwMDAwMDRBLAorICAgIFdHUFVUZXh0dXJlRm9y
bWF0X0FTVEM2eDVVbm9ybVNyZ2IgPSAweDAwMDAwMDRCLAorICAgIFdHUFVUZXh0dXJlRm9ybWF0
X0FTVEM2eDZVbm9ybSA9IDB4MDAwMDAwNEMsCisgICAgV0dQVVRleHR1cmVGb3JtYXRfQVNUQzZ4
NlVub3JtU3JnYiA9IDB4MDAwMDAwNEQsCisgICAgV0dQVVRleHR1cmVGb3JtYXRfQVNUQzh4NVVu
b3JtID0gMHgwMDAwMDA0RSwKKyAgICBXR1BVVGV4dHVyZUZvcm1hdF9BU1RDOHg1VW5vcm1Tcmdi
ID0gMHgwMDAwMDA0RiwKKyAgICBXR1BVVGV4dHVyZUZvcm1hdF9BU1RDOHg2VW5vcm0gPSAweDAw
MDAwMDUwLAorICAgIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEM4eDZVbm9ybVNyZ2IgPSAweDAwMDAw
MDUxLAorICAgIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEM4eDhVbm9ybSA9IDB4MDAwMDAwNTIsCisg
ICAgV0dQVVRleHR1cmVGb3JtYXRfQVNUQzh4OFVub3JtU3JnYiA9IDB4MDAwMDAwNTMsCisgICAg
V0dQVVRleHR1cmVGb3JtYXRfQVNUQzEweDVVbm9ybSA9IDB4MDAwMDAwNTQsCisgICAgV0dQVVRl
eHR1cmVGb3JtYXRfQVNUQzEweDVVbm9ybVNyZ2IgPSAweDAwMDAwMDU1LAorICAgIFdHUFVUZXh0
dXJlRm9ybWF0X0FTVEMxMHg2VW5vcm0gPSAweDAwMDAwMDU2LAorICAgIFdHUFVUZXh0dXJlRm9y
bWF0X0FTVEMxMHg2VW5vcm1TcmdiID0gMHgwMDAwMDA1NywKKyAgICBXR1BVVGV4dHVyZUZvcm1h
dF9BU1RDMTB4OFVub3JtID0gMHgwMDAwMDA1OCwKKyAgICBXR1BVVGV4dHVyZUZvcm1hdF9BU1RD
MTB4OFVub3JtU3JnYiA9IDB4MDAwMDAwNTksCisgICAgV0dQVVRleHR1cmVGb3JtYXRfQVNUQzEw
eDEwVW5vcm0gPSAweDAwMDAwMDVBLAorICAgIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEMxMHgxMFVu
b3JtU3JnYiA9IDB4MDAwMDAwNUIsCisgICAgV0dQVVRleHR1cmVGb3JtYXRfQVNUQzEyeDEwVW5v
cm0gPSAweDAwMDAwMDVDLAorICAgIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEMxMngxMFVub3JtU3Jn
YiA9IDB4MDAwMDAwNUQsCisgICAgV0dQVVRleHR1cmVGb3JtYXRfQVNUQzEyeDEyVW5vcm0gPSAw
eDAwMDAwMDVFLAorICAgIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEMxMngxMlVub3JtU3JnYiA9IDB4
MDAwMDAwNUYsCiAgICAgV0dQVVRleHR1cmVGb3JtYXRfRm9yY2UzMiA9IDB4N0ZGRkZGRkYKIH0g
V0dQVVRleHR1cmVGb3JtYXQ7CiAKQEAgLTYzMiwxMCArNjk4LDExIEBAIHR5cGVkZWYgc3RydWN0
IFdHUFVDb21waWxhdGlvbk1lc3NhZ2UgewogICAgIHVpbnQ2NF90IGxlbmd0aDsKIH0gV0dQVUNv
bXBpbGF0aW9uTWVzc2FnZTsKIAotdHlwZWRlZiBzdHJ1Y3QgV0dQVUNvbXB1dGVQYXNzRGVzY3Jp
cHRvciB7Ci0gICAgV0dQVUNoYWluZWRTdHJ1Y3QgY29uc3QgKiBuZXh0SW5DaGFpbjsKLSAgICBj
aGFyIGNvbnN0ICogbGFiZWw7Ci19IFdHUFVDb21wdXRlUGFzc0Rlc2NyaXB0b3I7Cit0eXBlZGVm
IHN0cnVjdCBXR1BVQ29tcHV0ZVBhc3NUaW1lc3RhbXBXcml0ZSB7CisgICAgV0dQVVF1ZXJ5U2V0
IHF1ZXJ5U2V0OworICAgIHVpbnQzMl90IHF1ZXJ5SW5kZXg7CisgICAgV0dQVUNvbXB1dGVQYXNz
VGltZXN0YW1wTG9jYXRpb24gbG9jYXRpb247Cit9IFdHUFVDb21wdXRlUGFzc1RpbWVzdGFtcFdy
aXRlOwogCiB0eXBlZGVmIHN0cnVjdCBXR1BVQ29uc3RhbnRFbnRyeSB7CiAgICAgV0dQVUNoYWlu
ZWRTdHJ1Y3QgY29uc3QgKiBuZXh0SW5DaGFpbjsKQEAgLTcwMiwxMCArNzY5LDEwIEBAIHR5cGVk
ZWYgc3RydWN0IFdHUFVQaXBlbGluZUxheW91dERlc2NyaXB0b3IgewogICAgIFdHUFVCaW5kR3Jv
dXBMYXlvdXQgY29uc3QgKiBiaW5kR3JvdXBMYXlvdXRzOwogfSBXR1BVUGlwZWxpbmVMYXlvdXRE
ZXNjcmlwdG9yOwogCi10eXBlZGVmIHN0cnVjdCBXR1BVUHJpbWl0aXZlRGVwdGhDbGFtcGluZ1N0
YXRlIHsKK3R5cGVkZWYgc3RydWN0IFdHUFVQcmltaXRpdmVEZXB0aENsaXBDb250cm9sIHsKICAg
ICBXR1BVQ2hhaW5lZFN0cnVjdCBjaGFpbjsKLSAgICBib29sIGNsYW1wRGVwdGg7Ci19IFdHUFVQ
cmltaXRpdmVEZXB0aENsYW1waW5nU3RhdGU7CisgICAgYm9vbCB1bmNsaXBwZWREZXB0aDsKK30g
V0dQVVByaW1pdGl2ZURlcHRoQ2xpcENvbnRyb2w7CiAKIHR5cGVkZWYgc3RydWN0IFdHUFVQcmlt
aXRpdmVTdGF0ZSB7CiAgICAgV0dQVUNoYWluZWRTdHJ1Y3QgY29uc3QgKiBuZXh0SW5DaGFpbjsK
QEAgLTczNiw2ICs4MDMsOCBAQCB0eXBlZGVmIHN0cnVjdCBXR1BVUmVuZGVyQnVuZGxlRW5jb2Rl
ckRlc2NyaXB0b3IgewogICAgIFdHUFVUZXh0dXJlRm9ybWF0IGNvbnN0ICogY29sb3JGb3JtYXRz
OwogICAgIFdHUFVUZXh0dXJlRm9ybWF0IGRlcHRoU3RlbmNpbEZvcm1hdDsKICAgICB1aW50MzJf
dCBzYW1wbGVDb3VudDsKKyAgICBib29sIGRlcHRoUmVhZE9ubHk7CisgICAgYm9vbCBzdGVuY2ls
UmVhZE9ubHk7CiB9IFdHUFVSZW5kZXJCdW5kbGVFbmNvZGVyRGVzY3JpcHRvcjsKIAogdHlwZWRl
ZiBzdHJ1Y3QgV0dQVVJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50IHsKQEAgLTc1MCw2
ICs4MTksMTIgQEAgdHlwZWRlZiBzdHJ1Y3QgV0dQVVJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRh
Y2htZW50IHsKICAgICBib29sIHN0ZW5jaWxSZWFkT25seTsKIH0gV0dQVVJlbmRlclBhc3NEZXB0
aFN0ZW5jaWxBdHRhY2htZW50OwogCit0eXBlZGVmIHN0cnVjdCBXR1BVUmVuZGVyUGFzc1RpbWVz
dGFtcFdyaXRlIHsKKyAgICBXR1BVUXVlcnlTZXQgcXVlcnlTZXQ7CisgICAgdWludDMyX3QgcXVl
cnlJbmRleDsKKyAgICBXR1BVUmVuZGVyUGFzc1RpbWVzdGFtcExvY2F0aW9uIGxvY2F0aW9uOwor
fSBXR1BVUmVuZGVyUGFzc1RpbWVzdGFtcFdyaXRlOworCiB0eXBlZGVmIHN0cnVjdCBXR1BVUmVx
dWVzdEFkYXB0ZXJPcHRpb25zIHsKICAgICBXR1BVQ2hhaW5lZFN0cnVjdCBjb25zdCAqIG5leHRJ
bkNoYWluOwogICAgIFdHUFVTdXJmYWNlIGNvbXBhdGlibGVTdXJmYWNlOwpAQCAtNzkwLDcgKzg2
NSw3IEBAIHR5cGVkZWYgc3RydWN0IFdHUFVTaGFkZXJNb2R1bGVTUElSVkRlc2NyaXB0b3Igewog
CiB0eXBlZGVmIHN0cnVjdCBXR1BVU2hhZGVyTW9kdWxlV0dTTERlc2NyaXB0b3IgewogICAgIFdH
UFVDaGFpbmVkU3RydWN0IGNoYWluOwotICAgIGNoYXIgY29uc3QgKiBzb3VyY2U7CisgICAgY2hh
ciBjb25zdCAqIGNvZGU7CiB9IFdHUFVTaGFkZXJNb2R1bGVXR1NMRGVzY3JpcHRvcjsKIAogdHlw
ZWRlZiBzdHJ1Y3QgV0dQVVN0ZW5jaWxGYWNlU3RhdGUgewpAQCAtODM0LDYgKzkwOSwxNyBAQCB0
eXBlZGVmIHN0cnVjdCBXR1BVU3VyZmFjZURlc2NyaXB0b3JGcm9tWGxpYiB7CiAgICAgdWludDMy
X3Qgd2luZG93OwogfSBXR1BVU3VyZmFjZURlc2NyaXB0b3JGcm9tWGxpYjsKIAordHlwZWRlZiBz
dHJ1Y3QgV0dQVVN1cmZhY2VEZXNjcmlwdG9yRnJvbVdheWxhbmRTdXJmYWNlIHsKKyAgICBXR1BV
Q2hhaW5lZFN0cnVjdCBjaGFpbjsKKyAgICB2b2lkICogZGlzcGxheTsKKyAgICB2b2lkICogc3Vy
ZmFjZTsKK30gV0dQVVN1cmZhY2VEZXNjcmlwdG9yRnJvbVdheWxhbmRTdXJmYWNlOworCit0eXBl
ZGVmIHN0cnVjdCBXR1BVU3VyZmFjZURlc2NyaXB0b3JGcm9tQW5kcm9pZE5hdGl2ZVdpbmRvdyB7
CisgICAgV0dQVUNoYWluZWRTdHJ1Y3QgY2hhaW47CisgICAgdm9pZCAqIHdpbmRvdzsKK30gV0dQ
VVN1cmZhY2VEZXNjcmlwdG9yRnJvbUFuZHJvaWROYXRpdmVXaW5kb3c7CisKIHR5cGVkZWYgc3Ry
dWN0IFdHUFVTd2FwQ2hhaW5EZXNjcmlwdG9yIHsKICAgICBXR1BVQ2hhaW5lZFN0cnVjdCBjb25z
dCAqIG5leHRJbkNoYWluOwogICAgIGNoYXIgY29uc3QgKiBsYWJlbDsKQEAgLTkwNSw2ICs5OTEs
MTMgQEAgdHlwZWRlZiBzdHJ1Y3QgV0dQVUNvbXBpbGF0aW9uSW5mbyB7CiAgICAgV0dQVUNvbXBp
bGF0aW9uTWVzc2FnZSBjb25zdCAqIG1lc3NhZ2VzOwogfSBXR1BVQ29tcGlsYXRpb25JbmZvOwog
Cit0eXBlZGVmIHN0cnVjdCBXR1BVQ29tcHV0ZVBhc3NEZXNjcmlwdG9yIHsKKyAgICBXR1BVQ2hh
aW5lZFN0cnVjdCBjb25zdCAqIG5leHRJbkNoYWluOworICAgIGNoYXIgY29uc3QgKiBsYWJlbDsK
KyAgICB1aW50MzJfdCB0aW1lc3RhbXBXcml0ZUNvdW50OworICAgIFdHUFVDb21wdXRlUGFzc1Rp
bWVzdGFtcFdyaXRlIGNvbnN0ICogdGltZXN0YW1wV3JpdGVzOworfSBXR1BVQ29tcHV0ZVBhc3NE
ZXNjcmlwdG9yOworCiB0eXBlZGVmIHN0cnVjdCBXR1BVRGVwdGhTdGVuY2lsU3RhdGUgewogICAg
IFdHUFVDaGFpbmVkU3RydWN0IGNvbnN0ICogbmV4dEluQ2hhaW47CiAgICAgV0dQVVRleHR1cmVG
b3JtYXQgZm9ybWF0OwpAQCAtMTAwMCw2ICsxMDkzLDcgQEAgdHlwZWRlZiBzdHJ1Y3QgV0dQVUNv
bXB1dGVQaXBlbGluZURlc2NyaXB0b3IgewogCiB0eXBlZGVmIHN0cnVjdCBXR1BVRGV2aWNlRGVz
Y3JpcHRvciB7CiAgICAgV0dQVUNoYWluZWRTdHJ1Y3QgY29uc3QgKiBuZXh0SW5DaGFpbjsKKyAg
ICBjaGFyIGNvbnN0ICogbGFiZWw7CiAgICAgdWludDMyX3QgcmVxdWlyZWRGZWF0dXJlc0NvdW50
OwogICAgIFdHUFVGZWF0dXJlTmFtZSBjb25zdCAqIHJlcXVpcmVkRmVhdHVyZXM7CiAgICAgV0dQ
VVJlcXVpcmVkTGltaXRzIGNvbnN0ICogcmVxdWlyZWRMaW1pdHM7CkBAIC0xMDEyLDYgKzExMDYs
OCBAQCB0eXBlZGVmIHN0cnVjdCBXR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IgewogICAgIFdHUFVS
ZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50IGNvbnN0ICogY29sb3JBdHRhY2htZW50czsKICAgICBX
R1BVUmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQgY29uc3QgKiBkZXB0aFN0ZW5jaWxB
dHRhY2htZW50OwogICAgIFdHUFVRdWVyeVNldCBvY2NsdXNpb25RdWVyeVNldDsKKyAgICB1aW50
MzJfdCB0aW1lc3RhbXBXcml0ZUNvdW50OworICAgIFdHUFVSZW5kZXJQYXNzVGltZXN0YW1wV3Jp
dGUgY29uc3QgKiB0aW1lc3RhbXBXcml0ZXM7CiB9IFdHUFVSZW5kZXJQYXNzRGVzY3JpcHRvcjsK
IAogdHlwZWRlZiBzdHJ1Y3QgV0dQVVZlcnRleFN0YXRlIHsKQEAgLTEwNTAsMjIgKzExNDYsMjMg
QEAgZXh0ZXJuICJDIiB7CiAjZW5kaWYKIAogdHlwZWRlZiB2b2lkICgqV0dQVUJ1ZmZlck1hcENh
bGxiYWNrKShXR1BVQnVmZmVyTWFwQXN5bmNTdGF0dXMgc3RhdHVzLCB2b2lkICogdXNlcmRhdGEp
OwordHlwZWRlZiB2b2lkICgqV0dQVUNvbXBpbGF0aW9uSW5mb0NhbGxiYWNrKShXR1BVQ29tcGls
YXRpb25JbmZvUmVxdWVzdFN0YXR1cyBzdGF0dXMsIFdHUFVDb21waWxhdGlvbkluZm8gY29uc3Qg
KiBjb21waWxhdGlvbkluZm8sIHZvaWQgKiB1c2VyZGF0YSk7CiB0eXBlZGVmIHZvaWQgKCpXR1BV
Q3JlYXRlQ29tcHV0ZVBpcGVsaW5lQXN5bmNDYWxsYmFjaykoV0dQVUNyZWF0ZVBpcGVsaW5lQXN5
bmNTdGF0dXMgc3RhdHVzLCBXR1BVQ29tcHV0ZVBpcGVsaW5lIHBpcGVsaW5lLCBjaGFyIGNvbnN0
ICogbWVzc2FnZSwgdm9pZCAqIHVzZXJkYXRhKTsKIHR5cGVkZWYgdm9pZCAoKldHUFVDcmVhdGVS
ZW5kZXJQaXBlbGluZUFzeW5jQ2FsbGJhY2spKFdHUFVDcmVhdGVQaXBlbGluZUFzeW5jU3RhdHVz
IHN0YXR1cywgV0dQVVJlbmRlclBpcGVsaW5lIHBpcGVsaW5lLCBjaGFyIGNvbnN0ICogbWVzc2Fn
ZSwgdm9pZCAqIHVzZXJkYXRhKTsKIHR5cGVkZWYgdm9pZCAoKldHUFVEZXZpY2VMb3N0Q2FsbGJh
Y2spKFdHUFVEZXZpY2VMb3N0UmVhc29uIHJlYXNvbiwgY2hhciBjb25zdCAqIG1lc3NhZ2UsIHZv
aWQgKiB1c2VyZGF0YSk7CiB0eXBlZGVmIHZvaWQgKCpXR1BVRXJyb3JDYWxsYmFjaykoV0dQVUVy
cm9yVHlwZSB0eXBlLCBjaGFyIGNvbnN0ICogbWVzc2FnZSwgdm9pZCAqIHVzZXJkYXRhKTsKK3R5
cGVkZWYgdm9pZCAoKldHUFVQcm9jKSgpOwogdHlwZWRlZiB2b2lkICgqV0dQVVF1ZXVlV29ya0Rv
bmVDYWxsYmFjaykoV0dQVVF1ZXVlV29ya0RvbmVTdGF0dXMgc3RhdHVzLCB2b2lkICogdXNlcmRh
dGEpOwogdHlwZWRlZiB2b2lkICgqV0dQVVJlcXVlc3RBZGFwdGVyQ2FsbGJhY2spKFdHUFVSZXF1
ZXN0QWRhcHRlclN0YXR1cyBzdGF0dXMsIFdHUFVBZGFwdGVyIGFkYXB0ZXIsIGNoYXIgY29uc3Qg
KiBtZXNzYWdlLCB2b2lkICogdXNlcmRhdGEpOwogdHlwZWRlZiB2b2lkICgqV0dQVVJlcXVlc3RE
ZXZpY2VDYWxsYmFjaykoV0dQVVJlcXVlc3REZXZpY2VTdGF0dXMgc3RhdHVzLCBXR1BVRGV2aWNl
IGRldmljZSwgY2hhciBjb25zdCAqIG1lc3NhZ2UsIHZvaWQgKiB1c2VyZGF0YSk7CiAKLXR5cGVk
ZWYgdm9pZCAoKldHUFVQcm9jKSh2b2lkKTsKLQogI2lmICFkZWZpbmVkKFdHUFVfU0tJUF9QUk9D
UykKIAogdHlwZWRlZiBXR1BVSW5zdGFuY2UgKCpXR1BVUHJvY0NyZWF0ZUluc3RhbmNlKShXR1BV
SW5zdGFuY2VEZXNjcmlwdG9yIGNvbnN0ICogZGVzY3JpcHRvcik7CiB0eXBlZGVmIFdHUFVQcm9j
ICgqV0dQVVByb2NHZXRQcm9jQWRkcmVzcykoV0dQVURldmljZSBkZXZpY2UsIGNoYXIgY29uc3Qg
KiBwcm9jTmFtZSk7CiAKIC8vIFByb2NzIG9mIEFkYXB0ZXIKK3R5cGVkZWYgc2l6ZV90ICgqV0dQ
VVByb2NBZGFwdGVyRW51bWVyYXRlRmVhdHVyZXMpKFdHUFVBZGFwdGVyIGFkYXB0ZXIsIFdHUFVG
ZWF0dXJlTmFtZSogZmVhdHVyZXMpOwogdHlwZWRlZiBib29sICgqV0dQVVByb2NBZGFwdGVyR2V0
TGltaXRzKShXR1BVQWRhcHRlciBhZGFwdGVyLCBXR1BVU3VwcG9ydGVkTGltaXRzICogbGltaXRz
KTsKIHR5cGVkZWYgdm9pZCAoKldHUFVQcm9jQWRhcHRlckdldFByb3BlcnRpZXMpKFdHUFVBZGFw
dGVyIGFkYXB0ZXIsIFdHUFVBZGFwdGVyUHJvcGVydGllcyAqIHByb3BlcnRpZXMpOwogdHlwZWRl
ZiBib29sICgqV0dQVVByb2NBZGFwdGVySGFzRmVhdHVyZSkoV0dQVUFkYXB0ZXIgYWRhcHRlciwg
V0dQVUZlYXR1cmVOYW1lIGZlYXR1cmUpOwpAQCAtMTA4MSw2ICsxMTc4LDcgQEAgdHlwZWRlZiB2
b2lkICgqV0dQVVByb2NCdWZmZXJVbm1hcCkoV0dQVUJ1ZmZlciBidWZmZXIpOwogLy8gUHJvY3Mg
b2YgQ29tbWFuZEVuY29kZXIKIHR5cGVkZWYgV0dQVUNvbXB1dGVQYXNzRW5jb2RlciAoKldHUFVQ
cm9jQ29tbWFuZEVuY29kZXJCZWdpbkNvbXB1dGVQYXNzKShXR1BVQ29tbWFuZEVuY29kZXIgY29t
bWFuZEVuY29kZXIsIFdHUFVDb21wdXRlUGFzc0Rlc2NyaXB0b3IgY29uc3QgKiBkZXNjcmlwdG9y
KTsKIHR5cGVkZWYgV0dQVVJlbmRlclBhc3NFbmNvZGVyICgqV0dQVVByb2NDb21tYW5kRW5jb2Rl
ckJlZ2luUmVuZGVyUGFzcykoV0dQVUNvbW1hbmRFbmNvZGVyIGNvbW1hbmRFbmNvZGVyLCBXR1BV
UmVuZGVyUGFzc0Rlc2NyaXB0b3IgY29uc3QgKiBkZXNjcmlwdG9yKTsKK3R5cGVkZWYgdm9pZCAo
KldHUFVQcm9jQ29tbWFuZEVuY29kZXJDbGVhckJ1ZmZlcikoV0dQVUNvbW1hbmRFbmNvZGVyIGNv
bW1hbmRFbmNvZGVyLCBXR1BVQnVmZmVyIGJ1ZmZlciwgdWludDY0X3Qgb2Zmc2V0LCB1aW50NjRf
dCBzaXplKTsKIHR5cGVkZWYgdm9pZCAoKldHUFVQcm9jQ29tbWFuZEVuY29kZXJDb3B5QnVmZmVy
VG9CdWZmZXIpKFdHUFVDb21tYW5kRW5jb2RlciBjb21tYW5kRW5jb2RlciwgV0dQVUJ1ZmZlciBz
b3VyY2UsIHVpbnQ2NF90IHNvdXJjZU9mZnNldCwgV0dQVUJ1ZmZlciBkZXN0aW5hdGlvbiwgdWlu
dDY0X3QgZGVzdGluYXRpb25PZmZzZXQsIHVpbnQ2NF90IHNpemUpOwogdHlwZWRlZiB2b2lkICgq
V0dQVVByb2NDb21tYW5kRW5jb2RlckNvcHlCdWZmZXJUb1RleHR1cmUpKFdHUFVDb21tYW5kRW5j
b2RlciBjb21tYW5kRW5jb2RlciwgV0dQVUltYWdlQ29weUJ1ZmZlciBjb25zdCAqIHNvdXJjZSwg
V0dQVUltYWdlQ29weVRleHR1cmUgY29uc3QgKiBkZXN0aW5hdGlvbiwgV0dQVUV4dGVudDNEIGNv
bnN0ICogY29weVNpemUpOwogdHlwZWRlZiB2b2lkICgqV0dQVVByb2NDb21tYW5kRW5jb2RlckNv
cHlUZXh0dXJlVG9CdWZmZXIpKFdHUFVDb21tYW5kRW5jb2RlciBjb21tYW5kRW5jb2RlciwgV0dQ
VUltYWdlQ29weVRleHR1cmUgY29uc3QgKiBzb3VyY2UsIFdHUFVJbWFnZUNvcHlCdWZmZXIgY29u
c3QgKiBkZXN0aW5hdGlvbiwgV0dQVUV4dGVudDNEIGNvbnN0ICogY29weVNpemUpOwpAQCAtMTEw
Myw3ICsxMjAxLDYgQEAgdHlwZWRlZiB2b2lkICgqV0dQVVByb2NDb21wdXRlUGFzc0VuY29kZXJQ
b3BEZWJ1Z0dyb3VwKShXR1BVQ29tcHV0ZVBhc3NFbmNvZGVyIGMKIHR5cGVkZWYgdm9pZCAoKldH
UFVQcm9jQ29tcHV0ZVBhc3NFbmNvZGVyUHVzaERlYnVnR3JvdXApKFdHUFVDb21wdXRlUGFzc0Vu
Y29kZXIgY29tcHV0ZVBhc3NFbmNvZGVyLCBjaGFyIGNvbnN0ICogZ3JvdXBMYWJlbCk7CiB0eXBl
ZGVmIHZvaWQgKCpXR1BVUHJvY0NvbXB1dGVQYXNzRW5jb2RlclNldEJpbmRHcm91cCkoV0dQVUNv
bXB1dGVQYXNzRW5jb2RlciBjb21wdXRlUGFzc0VuY29kZXIsIHVpbnQzMl90IGdyb3VwSW5kZXgs
IFdHUFVCaW5kR3JvdXAgZ3JvdXAsIHVpbnQzMl90IGR5bmFtaWNPZmZzZXRDb3VudCwgdWludDMy
X3QgY29uc3QgKiBkeW5hbWljT2Zmc2V0cyk7CiB0eXBlZGVmIHZvaWQgKCpXR1BVUHJvY0NvbXB1
dGVQYXNzRW5jb2RlclNldFBpcGVsaW5lKShXR1BVQ29tcHV0ZVBhc3NFbmNvZGVyIGNvbXB1dGVQ
YXNzRW5jb2RlciwgV0dQVUNvbXB1dGVQaXBlbGluZSBwaXBlbGluZSk7Ci10eXBlZGVmIHZvaWQg
KCpXR1BVUHJvY0NvbXB1dGVQYXNzRW5jb2RlcldyaXRlVGltZXN0YW1wKShXR1BVQ29tcHV0ZVBh
c3NFbmNvZGVyIGNvbXB1dGVQYXNzRW5jb2RlciwgV0dQVVF1ZXJ5U2V0IHF1ZXJ5U2V0LCB1aW50
MzJfdCBxdWVyeUluZGV4KTsKIAogLy8gUHJvY3Mgb2YgQ29tcHV0ZVBpcGVsaW5lCiB0eXBlZGVm
IFdHUFVCaW5kR3JvdXBMYXlvdXQgKCpXR1BVUHJvY0NvbXB1dGVQaXBlbGluZUdldEJpbmRHcm91
cExheW91dCkoV0dQVUNvbXB1dGVQaXBlbGluZSBjb21wdXRlUGlwZWxpbmUsIHVpbnQzMl90IGdy
b3VwSW5kZXgpOwpAQCAtMTEyNiw4ICsxMjIzLDEwIEBAIHR5cGVkZWYgV0dQVVNoYWRlck1vZHVs
ZSAoKldHUFVQcm9jRGV2aWNlQ3JlYXRlU2hhZGVyTW9kdWxlKShXR1BVRGV2aWNlIGRldmljZSwK
IHR5cGVkZWYgV0dQVVN3YXBDaGFpbiAoKldHUFVQcm9jRGV2aWNlQ3JlYXRlU3dhcENoYWluKShX
R1BVRGV2aWNlIGRldmljZSwgV0dQVVN1cmZhY2Ugc3VyZmFjZSwgV0dQVVN3YXBDaGFpbkRlc2Ny
aXB0b3IgY29uc3QgKiBkZXNjcmlwdG9yKTsKIHR5cGVkZWYgV0dQVVRleHR1cmUgKCpXR1BVUHJv
Y0RldmljZUNyZWF0ZVRleHR1cmUpKFdHUFVEZXZpY2UgZGV2aWNlLCBXR1BVVGV4dHVyZURlc2Ny
aXB0b3IgY29uc3QgKiBkZXNjcmlwdG9yKTsKIHR5cGVkZWYgdm9pZCAoKldHUFVQcm9jRGV2aWNl
RGVzdHJveSkoV0dQVURldmljZSBkZXZpY2UpOwordHlwZWRlZiBzaXplX3QgKCpXR1BVUHJvY0Rl
dmljZUVudW1lcmF0ZUZlYXR1cmVzKShXR1BVRGV2aWNlIGRldmljZSwgV0dQVUZlYXR1cmVOYW1l
KiBmZWF0dXJlcyk7CiB0eXBlZGVmIGJvb2wgKCpXR1BVUHJvY0RldmljZUdldExpbWl0cykoV0dQ
VURldmljZSBkZXZpY2UsIFdHUFVTdXBwb3J0ZWRMaW1pdHMgKiBsaW1pdHMpOwogdHlwZWRlZiBX
R1BVUXVldWUgKCpXR1BVUHJvY0RldmljZUdldFF1ZXVlKShXR1BVRGV2aWNlIGRldmljZSk7Cit0
eXBlZGVmIGJvb2wgKCpXR1BVUHJvY0RldmljZUhhc0ZlYXR1cmUpKFdHUFVEZXZpY2UgZGV2aWNl
LCBXR1BVRmVhdHVyZU5hbWUgZmVhdHVyZSk7CiB0eXBlZGVmIGJvb2wgKCpXR1BVUHJvY0Rldmlj
ZVBvcEVycm9yU2NvcGUpKFdHUFVEZXZpY2UgZGV2aWNlLCBXR1BVRXJyb3JDYWxsYmFjayBjYWxs
YmFjaywgdm9pZCAqIHVzZXJkYXRhKTsKIHR5cGVkZWYgdm9pZCAoKldHUFVQcm9jRGV2aWNlUHVz
aEVycm9yU2NvcGUpKFdHUFVEZXZpY2UgZGV2aWNlLCBXR1BVRXJyb3JGaWx0ZXIgZmlsdGVyKTsK
IHR5cGVkZWYgdm9pZCAoKldHUFVQcm9jRGV2aWNlU2V0RGV2aWNlTG9zdENhbGxiYWNrKShXR1BV
RGV2aWNlIGRldmljZSwgV0dQVURldmljZUxvc3RDYWxsYmFjayBjYWxsYmFjaywgdm9pZCAqIHVz
ZXJkYXRhKTsKQEAgLTExODMsMTMgKzEyODIsMTMgQEAgdHlwZWRlZiB2b2lkICgqV0dQVVByb2NS
ZW5kZXJQYXNzRW5jb2RlclNldFNjaXNzb3JSZWN0KShXR1BVUmVuZGVyUGFzc0VuY29kZXIgcmUK
IHR5cGVkZWYgdm9pZCAoKldHUFVQcm9jUmVuZGVyUGFzc0VuY29kZXJTZXRTdGVuY2lsUmVmZXJl
bmNlKShXR1BVUmVuZGVyUGFzc0VuY29kZXIgcmVuZGVyUGFzc0VuY29kZXIsIHVpbnQzMl90IHJl
ZmVyZW5jZSk7CiB0eXBlZGVmIHZvaWQgKCpXR1BVUHJvY1JlbmRlclBhc3NFbmNvZGVyU2V0VmVy
dGV4QnVmZmVyKShXR1BVUmVuZGVyUGFzc0VuY29kZXIgcmVuZGVyUGFzc0VuY29kZXIsIHVpbnQz
Ml90IHNsb3QsIFdHUFVCdWZmZXIgYnVmZmVyLCB1aW50NjRfdCBvZmZzZXQsIHVpbnQ2NF90IHNp
emUpOwogdHlwZWRlZiB2b2lkICgqV0dQVVByb2NSZW5kZXJQYXNzRW5jb2RlclNldFZpZXdwb3J0
KShXR1BVUmVuZGVyUGFzc0VuY29kZXIgcmVuZGVyUGFzc0VuY29kZXIsIGZsb2F0IHgsIGZsb2F0
IHksIGZsb2F0IHdpZHRoLCBmbG9hdCBoZWlnaHQsIGZsb2F0IG1pbkRlcHRoLCBmbG9hdCBtYXhE
ZXB0aCk7Ci10eXBlZGVmIHZvaWQgKCpXR1BVUHJvY1JlbmRlclBhc3NFbmNvZGVyV3JpdGVUaW1l
c3RhbXApKFdHUFVSZW5kZXJQYXNzRW5jb2RlciByZW5kZXJQYXNzRW5jb2RlciwgV0dQVVF1ZXJ5
U2V0IHF1ZXJ5U2V0LCB1aW50MzJfdCBxdWVyeUluZGV4KTsKIAogLy8gUHJvY3Mgb2YgUmVuZGVy
UGlwZWxpbmUKIHR5cGVkZWYgV0dQVUJpbmRHcm91cExheW91dCAoKldHUFVQcm9jUmVuZGVyUGlw
ZWxpbmVHZXRCaW5kR3JvdXBMYXlvdXQpKFdHUFVSZW5kZXJQaXBlbGluZSByZW5kZXJQaXBlbGlu
ZSwgdWludDMyX3QgZ3JvdXBJbmRleCk7CiB0eXBlZGVmIHZvaWQgKCpXR1BVUHJvY1JlbmRlclBp
cGVsaW5lU2V0TGFiZWwpKFdHUFVSZW5kZXJQaXBlbGluZSByZW5kZXJQaXBlbGluZSwgY2hhciBj
b25zdCAqIGxhYmVsKTsKIAogLy8gUHJvY3Mgb2YgU2hhZGVyTW9kdWxlCit0eXBlZGVmIHZvaWQg
KCpXR1BVUHJvY1NoYWRlck1vZHVsZUdldENvbXBpbGF0aW9uSW5mbykoV0dQVVNoYWRlck1vZHVs
ZSBzaGFkZXJNb2R1bGUsIFdHUFVDb21waWxhdGlvbkluZm9DYWxsYmFjayBjYWxsYmFjaywgdm9p
ZCAqIHVzZXJkYXRhKTsKIHR5cGVkZWYgdm9pZCAoKldHUFVQcm9jU2hhZGVyTW9kdWxlU2V0TGFi
ZWwpKFdHUFVTaGFkZXJNb2R1bGUgc2hhZGVyTW9kdWxlLCBjaGFyIGNvbnN0ICogbGFiZWwpOwog
CiAvLyBQcm9jcyBvZiBTdXJmYWNlCkBAIC0xMjExLDYgKzEzMTAsNyBAQCBXR1BVX0VYUE9SVCBX
R1BVSW5zdGFuY2Ugd2dwdUNyZWF0ZUluc3RhbmNlKFdHUFVJbnN0YW5jZURlc2NyaXB0b3IgY29u
c3QgKiBkZXNjcgogV0dQVV9FWFBPUlQgV0dQVVByb2Mgd2dwdUdldFByb2NBZGRyZXNzKFdHUFVE
ZXZpY2UgZGV2aWNlLCBjaGFyIGNvbnN0ICogcHJvY05hbWUpOwogCiAvLyBNZXRob2RzIG9mIEFk
YXB0ZXIKK1dHUFVfRVhQT1JUIHNpemVfdCB3Z3B1QWRhcHRlckVudW1lcmF0ZUZlYXR1cmVzKFdH
UFVBZGFwdGVyIGFkYXB0ZXIsIFdHUFVGZWF0dXJlTmFtZSogZmVhdHVyZXMpOwogV0dQVV9FWFBP
UlQgYm9vbCB3Z3B1QWRhcHRlckdldExpbWl0cyhXR1BVQWRhcHRlciBhZGFwdGVyLCBXR1BVU3Vw
cG9ydGVkTGltaXRzICogbGltaXRzKTsKIFdHUFVfRVhQT1JUIHZvaWQgd2dwdUFkYXB0ZXJHZXRQ
cm9wZXJ0aWVzKFdHUFVBZGFwdGVyIGFkYXB0ZXIsIFdHUFVBZGFwdGVyUHJvcGVydGllcyAqIHBy
b3BlcnRpZXMpOwogV0dQVV9FWFBPUlQgYm9vbCB3Z3B1QWRhcHRlckhhc0ZlYXR1cmUoV0dQVUFk
YXB0ZXIgYWRhcHRlciwgV0dQVUZlYXR1cmVOYW1lIGZlYXR1cmUpOwpAQCAtMTIyNiw2ICsxMzI2
LDcgQEAgV0dQVV9FWFBPUlQgdm9pZCB3Z3B1QnVmZmVyVW5tYXAoV0dQVUJ1ZmZlciBidWZmZXIp
OwogLy8gTWV0aG9kcyBvZiBDb21tYW5kRW5jb2RlcgogV0dQVV9FWFBPUlQgV0dQVUNvbXB1dGVQ
YXNzRW5jb2RlciB3Z3B1Q29tbWFuZEVuY29kZXJCZWdpbkNvbXB1dGVQYXNzKFdHUFVDb21tYW5k
RW5jb2RlciBjb21tYW5kRW5jb2RlciwgV0dQVUNvbXB1dGVQYXNzRGVzY3JpcHRvciBjb25zdCAq
IGRlc2NyaXB0b3IpOwogV0dQVV9FWFBPUlQgV0dQVVJlbmRlclBhc3NFbmNvZGVyIHdncHVDb21t
YW5kRW5jb2RlckJlZ2luUmVuZGVyUGFzcyhXR1BVQ29tbWFuZEVuY29kZXIgY29tbWFuZEVuY29k
ZXIsIFdHUFVSZW5kZXJQYXNzRGVzY3JpcHRvciBjb25zdCAqIGRlc2NyaXB0b3IpOworV0dQVV9F
WFBPUlQgdm9pZCB3Z3B1Q29tbWFuZEVuY29kZXJDbGVhckJ1ZmZlcihXR1BVQ29tbWFuZEVuY29k
ZXIgY29tbWFuZEVuY29kZXIsIFdHUFVCdWZmZXIgYnVmZmVyLCB1aW50NjRfdCBvZmZzZXQsIHVp
bnQ2NF90IHNpemUpOwogV0dQVV9FWFBPUlQgdm9pZCB3Z3B1Q29tbWFuZEVuY29kZXJDb3B5QnVm
ZmVyVG9CdWZmZXIoV0dQVUNvbW1hbmRFbmNvZGVyIGNvbW1hbmRFbmNvZGVyLCBXR1BVQnVmZmVy
IHNvdXJjZSwgdWludDY0X3Qgc291cmNlT2Zmc2V0LCBXR1BVQnVmZmVyIGRlc3RpbmF0aW9uLCB1
aW50NjRfdCBkZXN0aW5hdGlvbk9mZnNldCwgdWludDY0X3Qgc2l6ZSk7CiBXR1BVX0VYUE9SVCB2
b2lkIHdncHVDb21tYW5kRW5jb2RlckNvcHlCdWZmZXJUb1RleHR1cmUoV0dQVUNvbW1hbmRFbmNv
ZGVyIGNvbW1hbmRFbmNvZGVyLCBXR1BVSW1hZ2VDb3B5QnVmZmVyIGNvbnN0ICogc291cmNlLCBX
R1BVSW1hZ2VDb3B5VGV4dHVyZSBjb25zdCAqIGRlc3RpbmF0aW9uLCBXR1BVRXh0ZW50M0QgY29u
c3QgKiBjb3B5U2l6ZSk7CiBXR1BVX0VYUE9SVCB2b2lkIHdncHVDb21tYW5kRW5jb2RlckNvcHlU
ZXh0dXJlVG9CdWZmZXIoV0dQVUNvbW1hbmRFbmNvZGVyIGNvbW1hbmRFbmNvZGVyLCBXR1BVSW1h
Z2VDb3B5VGV4dHVyZSBjb25zdCAqIHNvdXJjZSwgV0dQVUltYWdlQ29weUJ1ZmZlciBjb25zdCAq
IGRlc3RpbmF0aW9uLCBXR1BVRXh0ZW50M0QgY29uc3QgKiBjb3B5U2l6ZSk7CkBAIC0xMjQ4LDcg
KzEzNDksNiBAQCBXR1BVX0VYUE9SVCB2b2lkIHdncHVDb21wdXRlUGFzc0VuY29kZXJQb3BEZWJ1
Z0dyb3VwKFdHUFVDb21wdXRlUGFzc0VuY29kZXIgY29tcAogV0dQVV9FWFBPUlQgdm9pZCB3Z3B1
Q29tcHV0ZVBhc3NFbmNvZGVyUHVzaERlYnVnR3JvdXAoV0dQVUNvbXB1dGVQYXNzRW5jb2RlciBj
b21wdXRlUGFzc0VuY29kZXIsIGNoYXIgY29uc3QgKiBncm91cExhYmVsKTsKIFdHUFVfRVhQT1JU
IHZvaWQgd2dwdUNvbXB1dGVQYXNzRW5jb2RlclNldEJpbmRHcm91cChXR1BVQ29tcHV0ZVBhc3NF
bmNvZGVyIGNvbXB1dGVQYXNzRW5jb2RlciwgdWludDMyX3QgZ3JvdXBJbmRleCwgV0dQVUJpbmRH
cm91cCBncm91cCwgdWludDMyX3QgZHluYW1pY09mZnNldENvdW50LCB1aW50MzJfdCBjb25zdCAq
IGR5bmFtaWNPZmZzZXRzKTsKIFdHUFVfRVhQT1JUIHZvaWQgd2dwdUNvbXB1dGVQYXNzRW5jb2Rl
clNldFBpcGVsaW5lKFdHUFVDb21wdXRlUGFzc0VuY29kZXIgY29tcHV0ZVBhc3NFbmNvZGVyLCBX
R1BVQ29tcHV0ZVBpcGVsaW5lIHBpcGVsaW5lKTsKLVdHUFVfRVhQT1JUIHZvaWQgd2dwdUNvbXB1
dGVQYXNzRW5jb2RlcldyaXRlVGltZXN0YW1wKFdHUFVDb21wdXRlUGFzc0VuY29kZXIgY29tcHV0
ZVBhc3NFbmNvZGVyLCBXR1BVUXVlcnlTZXQgcXVlcnlTZXQsIHVpbnQzMl90IHF1ZXJ5SW5kZXgp
OwogCiAvLyBNZXRob2RzIG9mIENvbXB1dGVQaXBlbGluZQogV0dQVV9FWFBPUlQgV0dQVUJpbmRH
cm91cExheW91dCB3Z3B1Q29tcHV0ZVBpcGVsaW5lR2V0QmluZEdyb3VwTGF5b3V0KFdHUFVDb21w
dXRlUGlwZWxpbmUgY29tcHV0ZVBpcGVsaW5lLCB1aW50MzJfdCBncm91cEluZGV4KTsKQEAgLTEy
NzEsOCArMTM3MSwxMCBAQCBXR1BVX0VYUE9SVCBXR1BVU2hhZGVyTW9kdWxlIHdncHVEZXZpY2VD
cmVhdGVTaGFkZXJNb2R1bGUoV0dQVURldmljZSBkZXZpY2UsIFdHUAogV0dQVV9FWFBPUlQgV0dQ
VVN3YXBDaGFpbiB3Z3B1RGV2aWNlQ3JlYXRlU3dhcENoYWluKFdHUFVEZXZpY2UgZGV2aWNlLCBX
R1BVU3VyZmFjZSBzdXJmYWNlLCBXR1BVU3dhcENoYWluRGVzY3JpcHRvciBjb25zdCAqIGRlc2Ny
aXB0b3IpOwogV0dQVV9FWFBPUlQgV0dQVVRleHR1cmUgd2dwdURldmljZUNyZWF0ZVRleHR1cmUo
V0dQVURldmljZSBkZXZpY2UsIFdHUFVUZXh0dXJlRGVzY3JpcHRvciBjb25zdCAqIGRlc2NyaXB0
b3IpOwogV0dQVV9FWFBPUlQgdm9pZCB3Z3B1RGV2aWNlRGVzdHJveShXR1BVRGV2aWNlIGRldmlj
ZSk7CitXR1BVX0VYUE9SVCBzaXplX3Qgd2dwdURldmljZUVudW1lcmF0ZUZlYXR1cmVzKFdHUFVE
ZXZpY2UgZGV2aWNlLCBXR1BVRmVhdHVyZU5hbWUqIGZlYXR1cmVzKTsKIFdHUFVfRVhQT1JUIGJv
b2wgd2dwdURldmljZUdldExpbWl0cyhXR1BVRGV2aWNlIGRldmljZSwgV0dQVVN1cHBvcnRlZExp
bWl0cyAqIGxpbWl0cyk7CiBXR1BVX0VYUE9SVCBXR1BVUXVldWUgd2dwdURldmljZUdldFF1ZXVl
KFdHUFVEZXZpY2UgZGV2aWNlKTsKK1dHUFVfRVhQT1JUIGJvb2wgd2dwdURldmljZUhhc0ZlYXR1
cmUoV0dQVURldmljZSBkZXZpY2UsIFdHUFVGZWF0dXJlTmFtZSBmZWF0dXJlKTsKIFdHUFVfRVhQ
T1JUIGJvb2wgd2dwdURldmljZVBvcEVycm9yU2NvcGUoV0dQVURldmljZSBkZXZpY2UsIFdHUFVF
cnJvckNhbGxiYWNrIGNhbGxiYWNrLCB2b2lkICogdXNlcmRhdGEpOwogV0dQVV9FWFBPUlQgdm9p
ZCB3Z3B1RGV2aWNlUHVzaEVycm9yU2NvcGUoV0dQVURldmljZSBkZXZpY2UsIFdHUFVFcnJvckZp
bHRlciBmaWx0ZXIpOwogV0dQVV9FWFBPUlQgdm9pZCB3Z3B1RGV2aWNlU2V0RGV2aWNlTG9zdENh
bGxiYWNrKFdHUFVEZXZpY2UgZGV2aWNlLCBXR1BVRGV2aWNlTG9zdENhbGxiYWNrIGNhbGxiYWNr
LCB2b2lkICogdXNlcmRhdGEpOwpAQCAtMTMyOCwxMyArMTQzMCwxMyBAQCBXR1BVX0VYUE9SVCB2
b2lkIHdncHVSZW5kZXJQYXNzRW5jb2RlclNldFNjaXNzb3JSZWN0KFdHUFVSZW5kZXJQYXNzRW5j
b2RlciByZW5kZQogV0dQVV9FWFBPUlQgdm9pZCB3Z3B1UmVuZGVyUGFzc0VuY29kZXJTZXRTdGVu
Y2lsUmVmZXJlbmNlKFdHUFVSZW5kZXJQYXNzRW5jb2RlciByZW5kZXJQYXNzRW5jb2RlciwgdWlu
dDMyX3QgcmVmZXJlbmNlKTsKIFdHUFVfRVhQT1JUIHZvaWQgd2dwdVJlbmRlclBhc3NFbmNvZGVy
U2V0VmVydGV4QnVmZmVyKFdHUFVSZW5kZXJQYXNzRW5jb2RlciByZW5kZXJQYXNzRW5jb2Rlciwg
dWludDMyX3Qgc2xvdCwgV0dQVUJ1ZmZlciBidWZmZXIsIHVpbnQ2NF90IG9mZnNldCwgdWludDY0
X3Qgc2l6ZSk7CiBXR1BVX0VYUE9SVCB2b2lkIHdncHVSZW5kZXJQYXNzRW5jb2RlclNldFZpZXdw
b3J0KFdHUFVSZW5kZXJQYXNzRW5jb2RlciByZW5kZXJQYXNzRW5jb2RlciwgZmxvYXQgeCwgZmxv
YXQgeSwgZmxvYXQgd2lkdGgsIGZsb2F0IGhlaWdodCwgZmxvYXQgbWluRGVwdGgsIGZsb2F0IG1h
eERlcHRoKTsKLVdHUFVfRVhQT1JUIHZvaWQgd2dwdVJlbmRlclBhc3NFbmNvZGVyV3JpdGVUaW1l
c3RhbXAoV0dQVVJlbmRlclBhc3NFbmNvZGVyIHJlbmRlclBhc3NFbmNvZGVyLCBXR1BVUXVlcnlT
ZXQgcXVlcnlTZXQsIHVpbnQzMl90IHF1ZXJ5SW5kZXgpOwogCiAvLyBNZXRob2RzIG9mIFJlbmRl
clBpcGVsaW5lCiBXR1BVX0VYUE9SVCBXR1BVQmluZEdyb3VwTGF5b3V0IHdncHVSZW5kZXJQaXBl
bGluZUdldEJpbmRHcm91cExheW91dChXR1BVUmVuZGVyUGlwZWxpbmUgcmVuZGVyUGlwZWxpbmUs
IHVpbnQzMl90IGdyb3VwSW5kZXgpOwogV0dQVV9FWFBPUlQgdm9pZCB3Z3B1UmVuZGVyUGlwZWxp
bmVTZXRMYWJlbChXR1BVUmVuZGVyUGlwZWxpbmUgcmVuZGVyUGlwZWxpbmUsIGNoYXIgY29uc3Qg
KiBsYWJlbCk7CiAKIC8vIE1ldGhvZHMgb2YgU2hhZGVyTW9kdWxlCitXR1BVX0VYUE9SVCB2b2lk
IHdncHVTaGFkZXJNb2R1bGVHZXRDb21waWxhdGlvbkluZm8oV0dQVVNoYWRlck1vZHVsZSBzaGFk
ZXJNb2R1bGUsIFdHUFVDb21waWxhdGlvbkluZm9DYWxsYmFjayBjYWxsYmFjaywgdm9pZCAqIHVz
ZXJkYXRhKTsKIFdHUFVfRVhQT1JUIHZvaWQgd2dwdVNoYWRlck1vZHVsZVNldExhYmVsKFdHUFVT
aGFkZXJNb2R1bGUgc2hhZGVyTW9kdWxlLCBjaGFyIGNvbnN0ICogbGFiZWwpOwogCiAvLyBNZXRo
b2RzIG9mIFN1cmZhY2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL1dlYkdQVUV4
dC5oIGIvU291cmNlL1dlYkdQVS9XZWJHUFUvV2ViR1BVRXh0LmgKaW5kZXggNWE3MjhjMWZkOWM1
YmExYjBhNmE2NGEwOTkyZjNhYTVmMGM2NDJlMS4uMmU0MjAxMjJhYWY1NWYwZGFiNGRlMDcyYTc5
ZjAwN2I3YmRlODk0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkdQVS9XZWJHUFUvV2ViR1BVRXh0
LmgKKysrIGIvU291cmNlL1dlYkdQVS9XZWJHUFUvV2ViR1BVRXh0LmgKQEAgLTI2LDc0ICsyNiwz
NyBAQAogI2lmbmRlZiBXRUJHUFVFWFRfSF8KICNkZWZpbmUgV0VCR1BVRVhUX0hfCiAKKyNpZmRl
ZiBfX2NwbHVzcGx1cworZXh0ZXJuICJDIiB7CisjZW5kaWYKKwogdHlwZWRlZiBlbnVtIFdHUFVT
VHlwZUV4dGVuZGVkIHsKLSAgICBXR1BVU1R5cGVfRGV2aWNlRGVzY3JpcHRvckxhYmVsID0gMHgy
NDJBOTlFMCwgLy8gUmFuZG9tCisgICAgV0dQVVNUeXBlRXh0ZW5kZWRfU2hhZGVyTW9kdWxlRGVz
Y3JpcHRvckhpbnRzID0gMHgzNDg5NzBGMywgLy8gUmFuZG9tCisgICAgV0dQVVNUeXBlRXh0ZW5k
ZWRfVGV4dHVyZURlc2NyaXB0b3JWaWV3Rm9ybWF0cyA9IDB4MUQ1QkM1NywgLy8gUmFuZG9tCisg
ICAgV0dQVVNUeXBlRXh0ZW5kZWRfRm9yY2UzMiA9IDB4N0ZGRkZGRkYKIH0gV0dQVVNUeXBlRXh0
ZW5kZWQ7CiAKLXR5cGVkZWYgZW51bSBXR1BVVGV4dHVyZUZvcm1hdEV4dGVuZGVkIHsKLSAgICBX
R1BVVGV4dHVyZUZvcm1hdF9FVEMyUkdCOFVub3JtID0gMHgyOEMyNUM2NywgLy8gUmFuZG9tCi0g
ICAgV0dQVVRleHR1cmVGb3JtYXRfRVRDMlJHQjh1bm9ybVNyZ2IgPSAweDU2NkFBRkVFLCAvLyBS
YW5kb20KLSAgICBXR1BVVGV4dHVyZUZvcm1hdF9FVEMyUkdCOGExVW5vcm0gPSAweDJGNzk0MzQ4
LCAvLyBSYW5kb20KLSAgICBXR1BVVGV4dHVyZUZvcm1hdF9FVEMyUkdCOGExdW5vcm1TcmdiID0g
MHg1RUYzOEFCQSwgLy8gUmFuZG9tCi0gICAgV0dQVVRleHR1cmVGb3JtYXRfRVRDMlJHQkE4VW5v
cm0gPSAweDVBNEU2NDgwLCAvLyBSYW5kb20KLSAgICBXR1BVVGV4dHVyZUZvcm1hdF9FVEMyUkdC
QThVbm9ybVNyZ2IgPSAweDc4MDk2OEVCLCAvLyBSYW5kb20KLSAgICBXR1BVVGV4dHVyZUZvcm1h
dF9FQUNSMTFVbm9ybSA9IDB4Njk4NjMwOTAsIC8vIFJhbmRvbQotICAgIFdHUFVUZXh0dXJlRm9y
bWF0X0VBQ1IxMVNub3JtID0gMHgyNUU1NDI4QSwgLy8gUmFuZG9tCi0gICAgV0dQVVRleHR1cmVG
b3JtYXRfRUFDUkcxMVVub3JtID0gMHgxQjA5NjlCMywgLy8gUmFuZG9tCi0gICAgV0dQVVRleHR1
cmVGb3JtYXRfRUFDUkcxMVNub3JtID0gMHgxNkY0QkI2RCwgLy8gUmFuZG9tCi0KLSAgICBXR1BV
VGV4dHVyZUZvcm1hdF9BU1RDNHg0VW5vcm0gPSAweDM5RjYwRjZFLCAvLyBSYW5kb20KLSAgICBX
R1BVVGV4dHVyZUZvcm1hdF9BU1RDNHg0VW5vcm1TcmdiID0gMHgyNDQ3MjcwMCwgLy8gUmFuZG9t
Ci0gICAgV0dQVVRleHR1cmVGb3JtYXRfQVNUQzV4NFVub3JtID0gMHg2N0QzMkIwRSwgLy8gUmFu
ZG9tCi0gICAgV0dQVVRleHR1cmVGb3JtYXRfQVNUQzV4NFVub3JtU3JnYiA9IDB4MzEzREExQkUs
IC8vIFJhbmRvbQotICAgIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEM1eDVVbm9ybSA9IDB4MTVBQjhE
RkQsIC8vIFJhbmRvbQotICAgIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEM1eDVVbm9ybVNyZ2IgPSAw
eDdCMDBFQjU3LCAvLyBSYW5kb20KLSAgICBXR1BVVGV4dHVyZUZvcm1hdF9BU1RDNng1VW5vcm0g
PSAweDY1M0U4MEMzLCAvLyBSYW5kb20KLSAgICBXR1BVVGV4dHVyZUZvcm1hdF9BU1RDNng1VW5v
cm1TcmdiID0gMHg1MEFFODY5QSwgLy8gUmFuZG9tCi0gICAgV0dQVVRleHR1cmVGb3JtYXRfQVNU
QzZ4NlVub3JtID0gMHg1NzlBRjU5OCwgLy8gUmFuZG9tCi0gICAgV0dQVVRleHR1cmVGb3JtYXRf
QVNUQzZ4NlVub3JtU3JnYiA9IDB4NzNCNjk3MzIsIC8vIFJhbmRvbQotICAgIFdHUFVUZXh0dXJl
Rm9ybWF0X0FTVEM4eDVVbm9ybSA9IDB4MDZGNzAzMDgsIC8vIFJhbmRvbQotICAgIFdHUFVUZXh0
dXJlRm9ybWF0X0FTVEM4eDVVbm9ybVNyZ2IgPSAweDQyMEVBOTQ2LCAvLyBSYW5kb20KLSAgICBX
R1BVVGV4dHVyZUZvcm1hdF9BU1RDOHg2VW5vcm0gPSAweDYxMDg2QUM4LCAvLyBSYW5kb20KLSAg
ICBXR1BVVGV4dHVyZUZvcm1hdF9BU1RDOHg2VW5vcm1TcmdiID0gMHgwRTE3RDM5QSwgLy8gUmFu
ZG9tCi0gICAgV0dQVVRleHR1cmVGb3JtYXRfQVNUQzh4OFVub3JtID0gMHg1NjlCRjJFOCwgLy8g
UmFuZG9tCi0gICAgV0dQVVRleHR1cmVGb3JtYXRfQVNUQzh4OFVub3JtU3JnYiA9IDB4NTcyQTQ4
NDksIC8vIFJhbmRvbQotICAgIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEMxMHg1VW5vcm0gPSAweDYz
QUJFNDMyLCAvLyBSYW5kb20KLSAgICBXR1BVVGV4dHVyZUZvcm1hdF9BU1RDMTB4NVVub3JtU3Jn
YiA9IDB4M0JDM0FBNEMsIC8vIFJhbmRvbQotICAgIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEMxMHg2
VW5vcm0gPSAweDZGRTE5NDk5LCAvLyBSYW5kb20KLSAgICBXR1BVVGV4dHVyZUZvcm1hdF9BU1RD
MTB4NlVub3JtU3JnYiA9IDB4N0ZGMEI1QzAsIC8vIFJhbmRvbQotICAgIFdHUFVUZXh0dXJlRm9y
bWF0X0FTVEMxMHg4VW5vcm0gPSAweDIwMTVGNEMzLCAvLyBSYW5kb20KLSAgICBXR1BVVGV4dHVy
ZUZvcm1hdF9BU1RDMTB4OFVub3JtU3JnYiA9IDB4N0Q1MURDNkYsIC8vIFJhbmRvbQotICAgIFdH
UFVUZXh0dXJlRm9ybWF0X0FTVEMxMHgxMFVub3JtID0gMHg2N0YxMDE3MywgLy8gUmFuZG9tCi0g
ICAgV0dQVVRleHR1cmVGb3JtYXRfQVNUQzEweDEwVW5vcm1TcmdiID0gMHgzNUQ3NEQyMSwgLy8g
UmFuZG9tCi0gICAgV0dQVVRleHR1cmVGb3JtYXRfQVNUQzEyeDEwVW5vcm0gPSAweDA5REFEMEE3
LCAvLyBSYW5kb20KLSAgICBXR1BVVGV4dHVyZUZvcm1hdF9BU1RDMTJ4MTBVbm9ybVNyZ2IgPSAw
eDM1NjBDOTNBLCAvLyBSYW5kb20KLSAgICBXR1BVVGV4dHVyZUZvcm1hdF9BU1RDMTJ4MTJVbm9y
bSA9IDB4MjZDQzMwNTAsIC8vIFJhbmRvbQotICAgIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEMxMngx
MlVub3JtU3JnYiA9IDB4M0VGNTc4QTAsIC8vIFJhbmRvbQotCi0gICAgV0dQVVRleHR1cmVGb3Jt
YXRfRGVwdGgzMkZsb2F0U3RlbmNpbDggPSAweDUzREMyMzA3LCAvLyBSYW5kb20KLX0gV0dQVVRl
eHR1cmVGb3JtYXRFeHRlbmRlZDsKLQotdHlwZWRlZiBlbnVtIFdHUFVGZWF0dXJlTmFtZUV4dGVu
ZGVkIHsKLSAgICBXR1BVRmVhdHVyZU5hbWVfRGVwdGhDbGlwQ29udHJvbCA9IDB4NTVBQkMxM0Qs
IC8vIFJhbmRvbQotICAgIFdHUFVGZWF0dXJlTmFtZV9JbmRpcmVjdEZpcnN0SW5zdGFuY2UgPSAw
eDJBNzA4NEY1LCAvLyBSYW5kb20KLSAgICBXR1BVRmVhdHVyZU5hbWVfVGV4dHVyZUNvbXByZXNz
aW9uRVRDMiA9IDB4N0JGNjZGNjksIC8vIFJhbmRvbQotICAgIFdHUFVGZWF0dXJlTmFtZV9UZXh0
dXJlQ29tcHJlc3Npb25BU1RDID0gMHgyNjE3MzM5OSwgLy8gUmFuZG9tCi19IFdHUFVGZWF0dXJl
TmFtZUV4dGVuZGVkOwotCi10eXBlZGVmIGVudW0gV0dQVVBvd2VyUHJlZmVyZW5jZUV4dGVuZGVk
IHsKLSAgICBXR1BVUG93ZXJQcmVmZXJlbmNlX05vUHJlZmVyZW5jZSA9IDB4NDc0ODMzNkYsCi19
IFdHUFVQb3dlclByZWZlcmVuY2VFeHRlbmRlZDsKLQotdHlwZWRlZiBzdHJ1Y3QgV0dQVURldmlj
ZURlc2NyaXB0b3JMYWJlbCB7Ci0gICAgV0dQVUNoYWluZWRTdHJ1Y3QgaGVhZGVyOwotICAgIFdH
UFVDaGFpbmVkU3RydWN0IGNvbnN0ICogbmV4dEluQ2hhaW47Ci0gICAgY2hhciBjb25zdCAqIGxh
YmVsOwotfSBXR1BVRGV2aWNlRGVzY3JpcHRvckxhYmVsOwordHlwZWRlZiBzdHJ1Y3QgV0dQVVNo
YWRlck1vZHVsZUNvbXBpbGF0aW9uSGludCB7CisgICAgV0dQVVBpcGVsaW5lTGF5b3V0IGxheW91
dDsKK30gV0dQVVNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludDsKIAotI2lmZGVmIF9fY3BsdXNw
bHVzCi1leHRlcm4gIkMiIHsKLSNlbmRpZgordHlwZWRlZiBzdHJ1Y3QgV0dQVVNoYWRlck1vZHVs
ZUNvbXBpbGF0aW9uSGludEVudHJ5IHsKKyAgICBXR1BVQ2hhaW5lZFN0cnVjdCBjb25zdCAqIG5l
eHRJbkNoYWluOworICAgIGNoYXIgY29uc3QgKiBrZXk7CisgICAgV0dQVVNoYWRlck1vZHVsZUNv
bXBpbGF0aW9uSGludCBoaW50OworfSBXR1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50RW50
cnk7CisKK3R5cGVkZWYgc3RydWN0IFdHUFVTaGFkZXJNb2R1bGVEZXNjcmlwdG9ySGludHMgewor
ICAgIFdHUFVDaGFpbmVkU3RydWN0IGNoYWluOworICAgIHVpbnQzMl90IGhpbnRzQ291bnQ7Cisg
ICAgV0dQVVNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludEVudHJ5IGNvbnN0ICogaGludHM7Cit9
IFdHUFVTaGFkZXJNb2R1bGVEZXNjcmlwdG9ySGludHM7CisKK3R5cGVkZWYgc3RydWN0IFdHUFVU
ZXh0dXJlRGVzY3JpcHRvclZpZXdGb3JtYXRzIHsKKyAgICBXR1BVQ2hhaW5lZFN0cnVjdCBjaGFp
bjsKKyAgICB1aW50MzJfdCB2aWV3Rm9ybWF0c0NvdW50OworICAgIFdHUFVUZXh0dXJlRm9ybWF0
IGNvbnN0ICogdmlld0Zvcm1hdHM7Cit9IFdHUFVUZXh0dXJlRGVzY3JpcHRvclZpZXdGb3JtYXRz
OwogCiAjaWYgIWRlZmluZWQoV0dQVV9TS0lQX1BST0NTKQogCkBAIC0xMzgsMTAgKzEwMSw2IEBA
IHR5cGVkZWYgdm9pZCAoKldHUFVQcm9jU2FtcGxlclNldExhYmVsKShXR1BVU2FtcGxlciBzYW1w
bGVyLCBjaGFyIGNvbnN0ICogbGFiZWwpCiB0eXBlZGVmIHZvaWQgKCpXR1BVUHJvY1RleHR1cmVT
ZXRMYWJlbCkoV0dQVVRleHR1cmUgc2FtcGxlciwgY2hhciBjb25zdCAqIGxhYmVsKTsKIHR5cGVk
ZWYgdm9pZCAoKldHUFVQcm9jVGV4dHVyZVZpZXdTZXRMYWJlbCkoV0dQVVRleHR1cmVWaWV3IHNh
bXBsZXIsIGNoYXIgY29uc3QgKiBsYWJlbCk7CiAKLXR5cGVkZWYgV0dQVUZlYXR1cmVOYW1lICgq
V0dQVVByb2NBZGFwdGVyR2V0RmVhdHVyZUF0SW5kZXgpKFdHUFVBZGFwdGVyIGFkYXB0ZXIsIHNp
emVfdCBpbmRleCk7Ci0KLXR5cGVkZWYgdm9pZCAoKldHUFVQcm9jQ29tbWFuZEVuY29kZXJGaWxs
QnVmZmVyKShXR1BVQ29tbWFuZEVuY29kZXIgY29tbWFuZEVuY29kZXIsIFdHUFVCdWZmZXIgZGVz
dGluYXRpb24sIHVpbnQ2NF90IGRlc3RpbmF0aW9uT2Zmc2V0LCB1aW50NjRfdCBzaXplKTsKLQog
I2VuZGlmICAvLyAhZGVmaW5lZChXR1BVX1NLSVBfUFJPQ1MpCiAKICNpZiAhZGVmaW5lZChXR1BV
X1NLSVBfREVDTEFSQVRJT05TKQpAQCAtMTg3LDEwICsxNDYsNiBAQCBXR1BVX0VYUE9SVCB2b2lk
IHdncHVTYW1wbGVyU2V0TGFiZWwoV0dQVVNhbXBsZXIgc2FtcGxlciwgY2hhciBjb25zdCAqIGxh
YmVsKTsKIFdHUFVfRVhQT1JUIHZvaWQgd2dwdVRleHR1cmVTZXRMYWJlbChXR1BVVGV4dHVyZSBz
YW1wbGVyLCBjaGFyIGNvbnN0ICogbGFiZWwpOwogV0dQVV9FWFBPUlQgdm9pZCB3Z3B1VGV4dHVy
ZVZpZXdTZXRMYWJlbChXR1BVVGV4dHVyZVZpZXcgc2FtcGxlciwgY2hhciBjb25zdCAqIGxhYmVs
KTsKIAotV0dQVV9FWFBPUlQgV0dQVUZlYXR1cmVOYW1lIHdncHVBZGFwdGVyR2V0RmVhdHVyZUF0
SW5kZXgoV0dQVUFkYXB0ZXIgYWRhcHRlciwgc2l6ZV90IGluZGV4KTsKLQotV0dQVV9FWFBPUlQg
dm9pZCB3Z3B1Q29tbWFuZEVuY29kZXJGaWxsQnVmZmVyKFdHUFVDb21tYW5kRW5jb2RlciBjb21t
YW5kRW5jb2RlciwgV0dQVUJ1ZmZlciBkZXN0aW5hdGlvbiwgdWludDY0X3QgZGVzdGluYXRpb25P
ZmZzZXQsIHVpbnQ2NF90IHNpemUpOwotCiAjZW5kaWYgIC8vICFkZWZpbmVkKFdHUFVfU0tJUF9E
RUNMQVJBVElPTlMpCiAKICNpZmRlZiBfX2NwbHVzcGx1cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVCdWZmZXIuY3BwIGIvU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVCdWZmZXIuY3BwCmluZGV4
IDI2NTA5MzRjM2M5ZTUyZjA3ZjQ1YjBhOGFkYzJkNDdjNGM0ZDNkNGQuLjFmZTA5ZjQ1YWNhNGVl
NTM2NjJkZTMwZGM5Mzk2MGYyOTEyYzA2NTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQnVmZmVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUJ1ZmZlci5jcHAKQEAgLTUwLDcg
KzUwLDcgQEAgdm9pZCBSZW1vdGVCdWZmZXI6OnN0b3BMaXN0ZW5pbmdGb3JJUEMoKQogICAgIG1f
c3RyZWFtQ29ubmVjdGlvbi0+c3RvcFJlY2VpdmluZ01lc3NhZ2VzKE1lc3NhZ2VzOjpSZW1vdGVC
dWZmZXI6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSwgbV9pZGVudGlmaWVyLnRvVUludDY0KCkpOwog
fQogCi12b2lkIFJlbW90ZUJ1ZmZlcjo6bWFwQXN5bmMoUEFMOjpXZWJHUFU6Ok1hcE1vZGVGbGFn
cyBtYXBNb2RlRmxhZ3MsIHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlNpemU2ND4gb2Zmc2V0
LCBzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpTaXplNjQ+IHNpemUsIFdURjo6Q29tcGxldGlv
bkhhbmRsZXI8dm9pZChzdGQ6Om9wdGlvbmFsPFZlY3Rvcjx1aW50OF90Pj4mJik+JiYgY2FsbGJh
Y2spCit2b2lkIFJlbW90ZUJ1ZmZlcjo6bWFwQXN5bmMoUEFMOjpXZWJHUFU6Ok1hcE1vZGVGbGFn
cyBtYXBNb2RlRmxhZ3MsIFBBTDo6V2ViR1BVOjpTaXplNjQgb2Zmc2V0LCBzdGQ6Om9wdGlvbmFs
PFBBTDo6V2ViR1BVOjpTaXplNjQ+IHNpemUsIFdURjo6Q29tcGxldGlvbkhhbmRsZXI8dm9pZChz
dGQ6Om9wdGlvbmFsPFZlY3Rvcjx1aW50OF90Pj4mJik+JiYgY2FsbGJhY2spCiB7CiAgICAgaWYg
KG1faXNNYXBwZWQpIHsKICAgICAgICAgY2FsbGJhY2soc3RkOjpudWxsb3B0KTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQnVmZmVy
LmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUJ1ZmZl
ci5oCmluZGV4IGIzNzUwZmNkYjRmM2IwOTRjNWQ2OTI1NGQzYjE0MGQ1YTllYjg2NzguLjhlODc3
MjcxNDZjYjcxMWM1MzQ4OGJlYTYwNzlhNWY1ZDM2MDc0YjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQnVmZmVyLmgKKysrIGIvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVCdWZmZXIuaApAQCAt
NzcsNyArNzcsNyBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBkaWRSZWNlaXZlU3RyZWFtTWVzc2Fn
ZShJUEM6OlN0cmVhbVNlcnZlckNvbm5lY3Rpb25CYXNlJiwgSVBDOjpEZWNvZGVyJikgZmluYWw7
CiAKLSAgICB2b2lkIG1hcEFzeW5jKFBBTDo6V2ViR1BVOjpNYXBNb2RlRmxhZ3MsIHN0ZDo6b3B0
aW9uYWw8UEFMOjpXZWJHUFU6OlNpemU2ND4gb2Zmc2V0LCBzdGQ6Om9wdGlvbmFsPFBBTDo6V2Vi
R1BVOjpTaXplNjQ+IHNpemVGb3JNYXAsIFdURjo6Q29tcGxldGlvbkhhbmRsZXI8dm9pZChzdGQ6
Om9wdGlvbmFsPFZlY3Rvcjx1aW50OF90Pj4mJik+JiYpOworICAgIHZvaWQgbWFwQXN5bmMoUEFM
OjpXZWJHUFU6Ok1hcE1vZGVGbGFncywgUEFMOjpXZWJHUFU6OlNpemU2NCBvZmZzZXQsIHN0ZDo6
b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlNpemU2ND4gc2l6ZUZvck1hcCwgV1RGOjpDb21wbGV0aW9u
SGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8VmVjdG9yPHVpbnQ4X3Q+PiYmKT4mJik7CiAgICAg
dm9pZCB1bm1hcChWZWN0b3I8dWludDhfdD4mJik7CiAKICAgICB2b2lkIGRlc3Ryb3koKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVtb3Rl
QnVmZmVyLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dl
YkdQVS9SZW1vdGVCdWZmZXIubWVzc2FnZXMuaW4KaW5kZXggOTdhNTFmM2NhMmMzYjAxNzU5MGYy
YzNiYmU2MzQzODM3OGNhNDVjYi4uYjlmMTNkMzZjYjU1YmQ4YWQ5OTM2MTFkOTVjMDFiMTM3MjVk
YWI5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQ
VS9SZW1vdGVCdWZmZXIubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVCdWZmZXIubWVzc2FnZXMuaW4KQEAgLTI0LDcgKzI0LDcg
QEAKICNpZiBFTkFCTEUoR1BVX1BST0NFU1MpCiAKIG1lc3NhZ2VzIC0+IFJlbW90ZUJ1ZmZlciBO
b3RSZWZDb3VudGVkIFN0cmVhbSB7Ci0gICAgdm9pZCBNYXBBc3luYyhQQUw6OldlYkdQVTo6TWFw
TW9kZUZsYWdzIG1hcE1vZGVGbGFncywgc3RkOjpvcHRpb25hbDxQQUw6OldlYkdQVTo6U2l6ZTY0
PiBvZmZzZXQsIHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlNpemU2ND4gc2l6ZSkgLT4gKHN0
ZDo6b3B0aW9uYWw8VmVjdG9yPHVpbnQ4X3Q+PiBkYXRhKSBTeW5jaHJvbm91cworICAgIHZvaWQg
TWFwQXN5bmMoUEFMOjpXZWJHUFU6Ok1hcE1vZGVGbGFncyBtYXBNb2RlRmxhZ3MsIFBBTDo6V2Vi
R1BVOjpTaXplNjQgb2Zmc2V0LCBzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpTaXplNjQ+IHNp
emUpIC0+IChzdGQ6Om9wdGlvbmFsPFZlY3Rvcjx1aW50OF90Pj4gZGF0YSkgU3luY2hyb25vdXMK
ICAgICB2b2lkIFVubWFwKFZlY3Rvcjx1aW50OF90PiBkYXRhKQogICAgIHZvaWQgRGVzdHJveSgp
CiAgICAgdm9pZCBTZXRMYWJlbChTdHJpbmcgbGFiZWwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUNvbW1hbmRFbmNvZGVyLmNwcCBi
L1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQ29tbWFuZEVu
Y29kZXIuY3BwCmluZGV4IGQ5ZWI3OTNkYWQ0NDU3NzcyYWIwM2RkMGZiNTQyNDIxYzI4Y2EwOTAu
LjE0NjkxNzA4OGIwZDYzOTE3MGUzYzdiM2FlNTZhODVjZjhiOTg5YmUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQ29tbWFuZEVuY29k
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVt
b3RlQ29tbWFuZEVuY29kZXIuY3BwCkBAIC0xNTEsMTcgKzE1MSwxNyBAQCB2b2lkIFJlbW90ZUNv
bW1hbmRFbmNvZGVyOjpjb3B5VGV4dHVyZVRvVGV4dHVyZSgKICAgICBtX2JhY2tpbmctPmNvcHlU
ZXh0dXJlVG9UZXh0dXJlKCpjb252ZXJ0ZWRTb3VyY2UsICpjb252ZXJ0ZWREZXN0aW5hdGlvbiwg
KmNvbnZlcnRlZENvcHlTaXplKTsKIH0KIAotdm9pZCBSZW1vdGVDb21tYW5kRW5jb2Rlcjo6Zmls
bEJ1ZmZlcigKLSAgICBXZWJHUFVJZGVudGlmaWVyIGRlc3RpbmF0aW9uLAotICAgIFBBTDo6V2Vi
R1BVOjpTaXplNjQgZGVzdGluYXRpb25PZmZzZXQsCi0gICAgUEFMOjpXZWJHUFU6OlNpemU2NCBz
aXplKQotewotICAgIGF1dG8gY29udmVydGVkRGVzdGluYXRpb24gPSBtX29iamVjdEhlYXAuY29u
dmVydEJ1ZmZlckZyb21CYWNraW5nKGRlc3RpbmF0aW9uKTsKLSAgICBBU1NFUlQoY29udmVydGVk
RGVzdGluYXRpb24pOwotICAgIGlmICghY29udmVydGVkRGVzdGluYXRpb24pCit2b2lkIFJlbW90
ZUNvbW1hbmRFbmNvZGVyOjpjbGVhckJ1ZmZlcigKKyAgICBXZWJHUFVJZGVudGlmaWVyIGJ1ZmZl
ciwKKyAgICBQQUw6OldlYkdQVTo6U2l6ZTY0IG9mZnNldCwKKyAgICBzdGQ6Om9wdGlvbmFsPFBB
TDo6V2ViR1BVOjpTaXplNjQ+IHNpemUpCit7CisgICAgYXV0byBjb252ZXJ0ZWRCdWZmZXIgPSBt
X29iamVjdEhlYXAuY29udmVydEJ1ZmZlckZyb21CYWNraW5nKGJ1ZmZlcik7CisgICAgQVNTRVJU
KGNvbnZlcnRlZEJ1ZmZlcik7CisgICAgaWYgKCFjb252ZXJ0ZWRCdWZmZXIpCiAgICAgICAgIHJl
dHVybjsKIAotICAgIG1fYmFja2luZy0+ZmlsbEJ1ZmZlcigqY29udmVydGVkRGVzdGluYXRpb24s
IGRlc3RpbmF0aW9uT2Zmc2V0LCBzaXplKTsKKyAgICBtX2JhY2tpbmctPmNsZWFyQnVmZmVyKCpj
b252ZXJ0ZWRCdWZmZXIsIG9mZnNldCwgc2l6ZSk7CiB9CiAKIHZvaWQgUmVtb3RlQ29tbWFuZEVu
Y29kZXI6OnB1c2hEZWJ1Z0dyb3VwKFN0cmluZyYmIGdyb3VwTGFiZWwpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUNvbW1hbmRFbmNv
ZGVyLmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUNv
bW1hbmRFbmNvZGVyLmgKaW5kZXggYTViNDJjOTFlMDFkYTY4M2FhZjJkMjRlNjJkODBhNjk5N2Yx
Mzk3Mi4uMTcxMGViOWQ2NWZmNmI0ODY3Mjg1YWJkYzkwMGM4MzMxMzE1MzJiZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVDb21tYW5k
RW5jb2Rlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUv
UmVtb3RlQ29tbWFuZEVuY29kZXIuaApAQCAtMTA0LDEwICsxMDQsMTAgQEAgcHJpdmF0ZToKICAg
ICAgICAgY29uc3QgV2ViR1BVOjpJbWFnZUNvcHlUZXh0dXJlJiBkZXN0aW5hdGlvbiwKICAgICAg
ICAgY29uc3QgV2ViR1BVOjpFeHRlbnQzRCYgY29weVNpemUpOwogCi0gICAgdm9pZCBmaWxsQnVm
ZmVyKAotICAgICAgICBXZWJHUFVJZGVudGlmaWVyIGRlc3RpbmF0aW9uLAotICAgICAgICBQQUw6
OldlYkdQVTo6U2l6ZTY0IGRlc3RpbmF0aW9uT2Zmc2V0LAotICAgICAgICBQQUw6OldlYkdQVTo6
U2l6ZTY0KTsKKyAgICB2b2lkIGNsZWFyQnVmZmVyKAorICAgICAgICBXZWJHUFVJZGVudGlmaWVy
IGJ1ZmZlciwKKyAgICAgICAgUEFMOjpXZWJHUFU6OlNpemU2NCBvZmZzZXQgPSAwLAorICAgICAg
ICBzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpTaXplNjQ+ID0gc3RkOjpudWxsb3B0KTsKIAog
ICAgIHZvaWQgcHVzaERlYnVnR3JvdXAoU3RyaW5nJiYgZ3JvdXBMYWJlbCk7CiAgICAgdm9pZCBw
b3BEZWJ1Z0dyb3VwKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3Jh
cGhpY3MvV2ViR1BVL1JlbW90ZUNvbW1hbmRFbmNvZGVyLm1lc3NhZ2VzLmluIGIvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVDb21tYW5kRW5jb2Rlci5tZXNz
YWdlcy5pbgppbmRleCBiYzBiZjMzMTE0OGQyZTk1MzFjNTk3Y2I5Y2RkZDYxNzNiN2QyOWMwLi4z
ZGNhOWY5YjliMThiM2I3ZGM3ZDBiOGZjNmQ1MThmOTg1YTRkZTQ2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUNvbW1hbmRFbmNvZGVy
Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJH
UFUvUmVtb3RlQ29tbWFuZEVuY29kZXIubWVzc2FnZXMuaW4KQEAgLTMwLDcgKzMwLDcgQEAgbWVz
c2FnZXMgLT4gUmVtb3RlQ29tbWFuZEVuY29kZXIgTm90UmVmQ291bnRlZCBTdHJlYW0gewogICAg
IHZvaWQgQ29weUJ1ZmZlclRvVGV4dHVyZShXZWJLaXQ6OldlYkdQVTo6SW1hZ2VDb3B5QnVmZmVy
IHNvdXJjZSwgV2ViS2l0OjpXZWJHUFU6OkltYWdlQ29weVRleHR1cmUgZGVzdGluYXRpb24sIFdl
YktpdDo6V2ViR1BVOjpFeHRlbnQzRCBjb3B5U2l6ZSkKICAgICB2b2lkIENvcHlUZXh0dXJlVG9C
dWZmZXIoV2ViS2l0OjpXZWJHUFU6OkltYWdlQ29weVRleHR1cmUgc291cmNlLCBXZWJLaXQ6Oldl
YkdQVTo6SW1hZ2VDb3B5QnVmZmVyIGRlc3RpbmF0aW9uLCBXZWJLaXQ6OldlYkdQVTo6RXh0ZW50
M0QgY29weVNpemUpCiAgICAgdm9pZCBDb3B5VGV4dHVyZVRvVGV4dHVyZShXZWJLaXQ6OldlYkdQ
VTo6SW1hZ2VDb3B5VGV4dHVyZSBzb3VyY2UsIFdlYktpdDo6V2ViR1BVOjpJbWFnZUNvcHlUZXh0
dXJlIGRlc3RpbmF0aW9uLCBXZWJLaXQ6OldlYkdQVTo6RXh0ZW50M0QgY29weVNpemUpCi0gICAg
dm9pZCBGaWxsQnVmZmVyKFdlYktpdDo6V2ViR1BVSWRlbnRpZmllciBkZXN0aW5hdGlvbiwgUEFM
OjpXZWJHUFU6OlNpemU2NCBkZXN0aW5hdGlvbk9mZnNldCwgUEFMOjpXZWJHUFU6OlNpemU2NCBz
aXplKQorICAgIHZvaWQgQ2xlYXJCdWZmZXIoV2ViS2l0OjpXZWJHUFVJZGVudGlmaWVyIGJ1ZmZl
ciwgUEFMOjpXZWJHUFU6OlNpemU2NCBvZmZzZXQsIHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6
OlNpemU2ND4gc2l6ZSkKICAgICB2b2lkIFB1c2hEZWJ1Z0dyb3VwKFN0cmluZyBncm91cExhYmVs
KQogICAgIHZvaWQgUG9wRGVidWdHcm91cCgpCiAgICAgdm9pZCBJbnNlcnREZWJ1Z01hcmtlcihT
dHJpbmcgbWFya2VyTGFiZWwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mv
Z3JhcGhpY3MvV2ViR1BVL1JlbW90ZUNvbXB1dGVQYXNzRW5jb2Rlci5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUNvbXB1dGVQYXNzRW5jb2Rlci5j
cHAKaW5kZXggOGUwNzNlZDFkZmNiYTRhZDZkZDY0NzY5ZWM0ODA3MzVmZDg5ZWI5ZC4uZjg4MWJl
OWUyYmY1ZmExYWEwZTM0N2QxYjZiYmE4YWI4ZDA0MzM4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVDb21wdXRlUGFzc0VuY29kZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVtb3Rl
Q29tcHV0ZVBhc3NFbmNvZGVyLmNwcApAQCAtNjEsOSArNjEsOSBAQCB2b2lkIFJlbW90ZUNvbXB1
dGVQYXNzRW5jb2Rlcjo6c2V0UGlwZWxpbmUoV2ViR1BVSWRlbnRpZmllciBjb21wdXRlUGlwZWxp
bmUpCiAgICAgbV9iYWNraW5nLT5zZXRQaXBlbGluZSgqY29udmVydGVkQ29tcHV0ZVBpcGVsaW5l
KTsKIH0KIAotdm9pZCBSZW1vdGVDb21wdXRlUGFzc0VuY29kZXI6OmRpc3BhdGNoKFBBTDo6V2Vi
R1BVOjpTaXplMzIgeCwgc3RkOjpvcHRpb25hbDxQQUw6OldlYkdQVTo6U2l6ZTMyPiB5LCBzdGQ6
Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpTaXplMzI+IHopCit2b2lkIFJlbW90ZUNvbXB1dGVQYXNz
RW5jb2Rlcjo6ZGlzcGF0Y2goUEFMOjpXZWJHUFU6OlNpemUzMiB3b3JrZ3JvdXBDb3VudFgsIFBB
TDo6V2ViR1BVOjpTaXplMzIgd29ya2dyb3VwQ291bnRZLCBQQUw6OldlYkdQVTo6U2l6ZTMyIHdv
cmtncm91cENvdW50WikKIHsKLSAgICBtX2JhY2tpbmctPmRpc3BhdGNoKHgsIHksIHopOworICAg
IG1fYmFja2luZy0+ZGlzcGF0Y2god29ya2dyb3VwQ291bnRYLCB3b3JrZ3JvdXBDb3VudFksIHdv
cmtncm91cENvdW50Wik7CiB9CiAKIHZvaWQgUmVtb3RlQ29tcHV0ZVBhc3NFbmNvZGVyOjpkaXNw
YXRjaEluZGlyZWN0KFdlYkdQVUlkZW50aWZpZXIgaW5kaXJlY3RCdWZmZXIsIFBBTDo6V2ViR1BV
OjpTaXplNjQgaW5kaXJlY3RPZmZzZXQpCkBAIC03NiwyNCArNzYsOSBAQCB2b2lkIFJlbW90ZUNv
bXB1dGVQYXNzRW5jb2Rlcjo6ZGlzcGF0Y2hJbmRpcmVjdChXZWJHUFVJZGVudGlmaWVyIGluZGly
ZWN0QnVmZmVyLAogICAgIG1fYmFja2luZy0+ZGlzcGF0Y2hJbmRpcmVjdCgqY29udmVydGVkSW5k
aXJlY3RCdWZmZXIsIGluZGlyZWN0T2Zmc2V0KTsKIH0KIAotdm9pZCBSZW1vdGVDb21wdXRlUGFz
c0VuY29kZXI6OmJlZ2luUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkoV2ViR1BVSWRlbnRpZmllciBx
dWVyeVNldCwgUEFMOjpXZWJHUFU6OlNpemUzMiBxdWVyeUluZGV4KQordm9pZCBSZW1vdGVDb21w
dXRlUGFzc0VuY29kZXI6OmVuZCgpCiB7Ci0gICAgYXV0byBjb252ZXJ0ZWRRdWVyeVNldCA9IG1f
b2JqZWN0SGVhcC5jb252ZXJ0UXVlcnlTZXRGcm9tQmFja2luZyhxdWVyeVNldCk7Ci0gICAgQVNT
RVJUKGNvbnZlcnRlZFF1ZXJ5U2V0KTsKLSAgICBpZiAoIWNvbnZlcnRlZFF1ZXJ5U2V0KQotICAg
ICAgICByZXR1cm47Ci0KLSAgICBtX2JhY2tpbmctPmJlZ2luUGlwZWxpbmVTdGF0aXN0aWNzUXVl
cnkoKmNvbnZlcnRlZFF1ZXJ5U2V0LCBxdWVyeUluZGV4KTsKLX0KLQotdm9pZCBSZW1vdGVDb21w
dXRlUGFzc0VuY29kZXI6OmVuZFBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KCkKLXsKLSAgICBtX2Jh
Y2tpbmctPmVuZFBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KCk7Ci19Ci0KLXZvaWQgUmVtb3RlQ29t
cHV0ZVBhc3NFbmNvZGVyOjplbmRQYXNzKCkKLXsKLSAgICBtX2JhY2tpbmctPmVuZFBhc3MoKTsK
KyAgICBtX2JhY2tpbmctPmVuZCgpOwogfQogCiB2b2lkIFJlbW90ZUNvbXB1dGVQYXNzRW5jb2Rl
cjo6c2V0QmluZEdyb3VwKFBBTDo6V2ViR1BVOjpJbmRleDMyIGluZGV4LCBXZWJHUFVJZGVudGlm
aWVyIGJpbmRHcm91cCwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFw
aGljcy9XZWJHUFUvUmVtb3RlQ29tcHV0ZVBhc3NFbmNvZGVyLmggYi9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUNvbXB1dGVQYXNzRW5jb2Rlci5oCmluZGV4
IDM1OGUwNWQ5ZTE2ZDk4MjA1M2QyMTgzOGVmZjg5MWRmZTNiMmQ3ZTUuLjgzMzdhMjliZTk0NDdi
M2Q0N2EwNjkxZWJmYTllMTRhN2E0YTUyYjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQ29tcHV0ZVBhc3NFbmNvZGVyLmgKKysrIGIv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVDb21wdXRlUGFz
c0VuY29kZXIuaApAQCAtNzQsMTMgKzc0LDEwIEBAIHByaXZhdGU6CiAgICAgdm9pZCBkaWRSZWNl
aXZlU3RyZWFtTWVzc2FnZShJUEM6OlN0cmVhbVNlcnZlckNvbm5lY3Rpb25CYXNlJiwgSVBDOjpE
ZWNvZGVyJikgZmluYWw7CiAKICAgICB2b2lkIHNldFBpcGVsaW5lKFdlYkdQVUlkZW50aWZpZXIp
OwotICAgIHZvaWQgZGlzcGF0Y2goUEFMOjpXZWJHUFU6OlNpemUzMiB4LCBzdGQ6Om9wdGlvbmFs
PFBBTDo6V2ViR1BVOjpTaXplMzI+IHksIHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlNpemUz
Mj4pOworICAgIHZvaWQgZGlzcGF0Y2goUEFMOjpXZWJHUFU6OlNpemUzMiB3b3JrZ3JvdXBDb3Vu
dFgsIFBBTDo6V2ViR1BVOjpTaXplMzIgd29ya2dyb3VwQ291bnRZID0gMSwgUEFMOjpXZWJHUFU6
OlNpemUzMiB3b3JrZ3JvdXBDb3VudFogPSAxKTsKICAgICB2b2lkIGRpc3BhdGNoSW5kaXJlY3Qo
V2ViR1BVSWRlbnRpZmllciBpbmRpcmVjdEJ1ZmZlciwgUEFMOjpXZWJHUFU6OlNpemU2NCBpbmRp
cmVjdE9mZnNldCk7CiAKLSAgICB2b2lkIGJlZ2luUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkoV2Vi
R1BVSWRlbnRpZmllciwgUEFMOjpXZWJHUFU6OlNpemUzMiBxdWVyeUluZGV4KTsKLSAgICB2b2lk
IGVuZFBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KCk7Ci0KLSAgICB2b2lkIGVuZFBhc3MoKTsKKyAg
ICB2b2lkIGVuZCgpOwogCiAgICAgdm9pZCBzZXRCaW5kR3JvdXAoUEFMOjpXZWJHUFU6OkluZGV4
MzIsIFdlYkdQVUlkZW50aWZpZXIsCiAgICAgICAgIHN0ZDo6b3B0aW9uYWw8VmVjdG9yPFBBTDo6
V2ViR1BVOjpCdWZmZXJEeW5hbWljT2Zmc2V0Pj4mJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUNvbXB1dGVQYXNzRW5jb2Rlci5t
ZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVt
b3RlQ29tcHV0ZVBhc3NFbmNvZGVyLm1lc3NhZ2VzLmluCmluZGV4IDg2YmQyYjU3MmNiYTU0MTFh
MjNjMjljOTdkMDdjYzZjMGMwZWMyZjUuLjQyZTYwOGJkMzA5N2YzMjk1YWExYWFiMDZhZjNjM2Q3
ZmY1NjY0NTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9X
ZWJHUFUvUmVtb3RlQ29tcHV0ZVBhc3NFbmNvZGVyLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQ29tcHV0ZVBhc3NFbmNvZGVy
Lm1lc3NhZ2VzLmluCkBAIC0yNSwxMSArMjUsOSBAQAogCiBtZXNzYWdlcyAtPiBSZW1vdGVDb21w
dXRlUGFzc0VuY29kZXIgTm90UmVmQ291bnRlZCBTdHJlYW0gewogICAgIHZvaWQgU2V0UGlwZWxp
bmUoV2ViS2l0OjpXZWJHUFVJZGVudGlmaWVyIGlkZW50aWZpZXIpCi0gICAgdm9pZCBEaXNwYXRj
aChQQUw6OldlYkdQVTo6U2l6ZTMyIHgsIHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlNpemUz
Mj4geSwgc3RkOjpvcHRpb25hbDxQQUw6OldlYkdQVTo6U2l6ZTMyPiB6KQorICAgIHZvaWQgRGlz
cGF0Y2goUEFMOjpXZWJHUFU6OlNpemUzMiB3b3JrZ3JvdXBDb3VudFgsIFBBTDo6V2ViR1BVOjpT
aXplMzIgd29ya2dyb3VwQ291bnRZLCBQQUw6OldlYkdQVTo6U2l6ZTMyIHdvcmtncm91cENvdW50
WikKICAgICB2b2lkIERpc3BhdGNoSW5kaXJlY3QoV2ViS2l0OjpXZWJHUFVJZGVudGlmaWVyIGlu
ZGlyZWN0QnVmZmVyLCBQQUw6OldlYkdQVTo6U2l6ZTY0IGluZGlyZWN0T2Zmc2V0KQotICAgIHZv
aWQgQmVnaW5QaXBlbGluZVN0YXRpc3RpY3NRdWVyeShXZWJLaXQ6OldlYkdQVUlkZW50aWZpZXIg
aWRlbnRpZmllciwgUEFMOjpXZWJHUFU6OlNpemUzMiBxdWVyeUluZGV4KQotICAgIHZvaWQgRW5k
UGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkoKQotICAgIHZvaWQgRW5kUGFzcygpCisgICAgdm9pZCBF
bmQoKQogICAgIHZvaWQgU2V0QmluZEdyb3VwKFBBTDo6V2ViR1BVOjpJbmRleDMyIGluZGV4LCBX
ZWJLaXQ6OldlYkdQVUlkZW50aWZpZXIgaWRlbnRpZmllciwgc3RkOjpvcHRpb25hbDxWZWN0b3I8
UEFMOjpXZWJHUFU6OkJ1ZmZlckR5bmFtaWNPZmZzZXQ+PiBkeW5hbWljT2Zmc2V0cykKICAgICB2
b2lkIFB1c2hEZWJ1Z0dyb3VwKFN0cmluZyBncm91cExhYmVsKQogICAgIHZvaWQgUG9wRGVidWdH
cm91cCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2Vi
R1BVL1JlbW90ZVJlbmRlclBhc3NFbmNvZGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlUmVuZGVyUGFzc0VuY29kZXIuY3BwCmluZGV4IDYyZDBj
YTc1ZWEyYjY4MDI3OWM1NjUyYTliZjNjODJjMjNiYTFmMjIuLmFkOWUxODRjN2NjNmMzMjA4MDE4
NjhmMGZhOTJmMWIxOGFiNGM0NzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlUmVuZGVyUGFzc0VuY29kZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlUmVuZGVyUGFzc0VuY29k
ZXIuY3BwCkBAIC0xNzksMjEgKzE3OSw2IEBAIHZvaWQgUmVtb3RlUmVuZGVyUGFzc0VuY29kZXI6
OmVuZE9jY2x1c2lvblF1ZXJ5KCkKICAgICBtX2JhY2tpbmctPmVuZE9jY2x1c2lvblF1ZXJ5KCk7
CiB9CiAKLXZvaWQgUmVtb3RlUmVuZGVyUGFzc0VuY29kZXI6OmJlZ2luUGlwZWxpbmVTdGF0aXN0
aWNzUXVlcnkoV2ViR1BVSWRlbnRpZmllciBxdWVyeVNldCwgUEFMOjpXZWJHUFU6OlNpemUzMiBx
dWVyeUluZGV4KQotewotICAgIGF1dG8gY29udmVydGVkUXVlcnlTZXQgPSBtX29iamVjdEhlYXAu
Y29udmVydFF1ZXJ5U2V0RnJvbUJhY2tpbmcocXVlcnlTZXQpOwotICAgIEFTU0VSVChjb252ZXJ0
ZWRRdWVyeVNldCk7Ci0gICAgaWYgKCFjb252ZXJ0ZWRRdWVyeVNldCkKLSAgICAgICAgcmV0dXJu
OwotCi0gICAgbV9iYWNraW5nLT5iZWdpblBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KCpjb252ZXJ0
ZWRRdWVyeVNldCwgcXVlcnlJbmRleCk7Ci19Ci0KLXZvaWQgUmVtb3RlUmVuZGVyUGFzc0VuY29k
ZXI6OmVuZFBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KCkKLXsKLSAgICBtX2JhY2tpbmctPmVuZFBp
cGVsaW5lU3RhdGlzdGljc1F1ZXJ5KCk7Ci19Ci0KIHZvaWQgUmVtb3RlUmVuZGVyUGFzc0VuY29k
ZXI6OmV4ZWN1dGVCdW5kbGVzKFZlY3RvcjxXZWJHUFVJZGVudGlmaWVyPiYmIHJlbmRlckJ1bmRs
ZXMpCiB7CiAgICAgVmVjdG9yPHN0ZDo6cmVmZXJlbmNlX3dyYXBwZXI8UEFMOjpXZWJHUFU6OlJl
bmRlckJ1bmRsZT4+IGNvbnZlcnRlZEJ1bmRsZXM7CkBAIC0yMDgsOSArMTkzLDkgQEAgdm9pZCBS
ZW1vdGVSZW5kZXJQYXNzRW5jb2Rlcjo6ZXhlY3V0ZUJ1bmRsZXMoVmVjdG9yPFdlYkdQVUlkZW50
aWZpZXI+JiYgcmVuZGVyQnUKICAgICBtX2JhY2tpbmctPmV4ZWN1dGVCdW5kbGVzKFdURk1vdmUo
Y29udmVydGVkQnVuZGxlcykpOwogfQogCi12b2lkIFJlbW90ZVJlbmRlclBhc3NFbmNvZGVyOjpl
bmRQYXNzKCkKK3ZvaWQgUmVtb3RlUmVuZGVyUGFzc0VuY29kZXI6OmVuZCgpCiB7Ci0gICAgbV9i
YWNraW5nLT5lbmRQYXNzKCk7CisgICAgbV9iYWNraW5nLT5lbmQoKTsKIH0KIAogdm9pZCBSZW1v
dGVSZW5kZXJQYXNzRW5jb2Rlcjo6c2V0TGFiZWwoU3RyaW5nJiYgbGFiZWwpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZVJlbmRlclBh
c3NFbmNvZGVyLmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1Jl
bW90ZVJlbmRlclBhc3NFbmNvZGVyLmgKaW5kZXggZjJmNTQ1MWNlZmRkNWQzYWI4NzgwNmZjNjI1
NDYxMjA3OTJkY2Q3Yi4uYzdkZmViOWI1ZTRkMzJiMWM2YjIxM2ZiODE4NDhjYmQxMDlkN2QxZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1v
dGVSZW5kZXJQYXNzRW5jb2Rlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFw
aGljcy9XZWJHUFUvUmVtb3RlUmVuZGVyUGFzc0VuY29kZXIuaApAQCAtMTEwLDExICsxMTAsOCBA
QCBwcml2YXRlOgogICAgIHZvaWQgYmVnaW5PY2NsdXNpb25RdWVyeShQQUw6OldlYkdQVTo6U2l6
ZTMyIHF1ZXJ5SW5kZXgpOwogICAgIHZvaWQgZW5kT2NjbHVzaW9uUXVlcnkoKTsKIAotICAgIHZv
aWQgYmVnaW5QaXBlbGluZVN0YXRpc3RpY3NRdWVyeShXZWJHUFVJZGVudGlmaWVyLCBQQUw6Oldl
YkdQVTo6U2l6ZTMyIHF1ZXJ5SW5kZXgpOwotICAgIHZvaWQgZW5kUGlwZWxpbmVTdGF0aXN0aWNz
UXVlcnkoKTsKLQogICAgIHZvaWQgZXhlY3V0ZUJ1bmRsZXMoVmVjdG9yPFdlYkdQVUlkZW50aWZp
ZXI+JiYpOwotICAgIHZvaWQgZW5kUGFzcygpOworICAgIHZvaWQgZW5kKCk7CiAKICAgICB2b2lk
IHNldExhYmVsKFN0cmluZyYmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9j
ZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVSZW5kZXJQYXNzRW5jb2Rlci5tZXNzYWdlcy5pbiBi
L1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlUmVuZGVyUGFz
c0VuY29kZXIubWVzc2FnZXMuaW4KaW5kZXggZThiN2JhYWE4ZWFjMDliMzc1Y2ZiYTc4NGE5ZDMy
OGJkZDZiNmFlZC4uNTcyYjBhYWU5NzNlODYyZmMyOGQ2NDEzODlmOWExMzExMGQ3ZWY4MiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVS
ZW5kZXJQYXNzRW5jb2Rlci5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZVJlbmRlclBhc3NFbmNvZGVyLm1lc3NhZ2VzLmluCkBA
IC00MSwxMCArNDEsOCBAQCBtZXNzYWdlcyAtPiBSZW1vdGVSZW5kZXJQYXNzRW5jb2RlciBOb3RS
ZWZDb3VudGVkIFN0cmVhbSB7CiAgICAgdm9pZCBTZXRTdGVuY2lsUmVmZXJlbmNlKFBBTDo6V2Vi
R1BVOjpTdGVuY2lsVmFsdWUgc3RlbmNpbFZhbHVlKQogICAgIHZvaWQgQmVnaW5PY2NsdXNpb25R
dWVyeShQQUw6OldlYkdQVTo6U2l6ZTMyIHF1ZXJ5SW5kZXgpCiAgICAgdm9pZCBFbmRPY2NsdXNp
b25RdWVyeSgpCi0gICAgdm9pZCBCZWdpblBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KFdlYktpdDo6
V2ViR1BVSWRlbnRpZmllciBpZGVudGlmaWVyLCBQQUw6OldlYkdQVTo6U2l6ZTMyIHF1ZXJ5SW5k
ZXgpCi0gICAgdm9pZCBFbmRQaXBlbGluZVN0YXRpc3RpY3NRdWVyeSgpCiAgICAgdm9pZCBFeGVj
dXRlQnVuZGxlcyhWZWN0b3I8V2ViS2l0OjpXZWJHUFVJZGVudGlmaWVyPiBidW5kbGVzKQotICAg
IHZvaWQgRW5kUGFzcygpCisgICAgdm9pZCBFbmQoKQogICAgIHZvaWQgU2V0TGFiZWwoU3RyaW5n
IGxhYmVsKQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2Vi
R1BVQ2FudmFzQ29uZmlndXJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUv
V2ViR1BVQ2FudmFzQ29uZmlndXJhdGlvbi5jcHAKaW5kZXggNDgxMzI1MjI2ZGY2OGM5M2E5MTgy
N2MyMjNmZTA4ZmZjNGI4NTI4YS4uNDViNjg3ZTI2NTJhMjgzMWJiMzk3NDEzOTQyOWUwOTAyODgx
NzQ5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVUNhbnZh
c0NvbmZpZ3VyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJH
UFVDYW52YXNDb25maWd1cmF0aW9uLmNwcApAQCAtNDcsNyArNDcsNyBAQCBzdGQ6Om9wdGlvbmFs
PENhbnZhc0NvbmZpZ3VyYXRpb24+IENvbnZlcnRUb0JhY2tpbmdDb250ZXh0Ojpjb252ZXJ0VG9C
YWNraW5nKGNvbgogICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKICAgICB9CiAKLSAg
ICByZXR1cm4geyB7IGRldmljZSwgY2FudmFzQ29uZmlndXJhdGlvbi5mb3JtYXQsIGNhbnZhc0Nv
bmZpZ3VyYXRpb24udXNhZ2UsIGNhbnZhc0NvbmZpZ3VyYXRpb24uY29sb3JTcGFjZSwgY2FudmFz
Q29uZmlndXJhdGlvbi5jb21wb3NpdGluZ0FscGhhTW9kZSwgV1RGTW92ZShzaXplKSB9IH07Cisg
ICAgcmV0dXJuIHsgeyBkZXZpY2UsIGNhbnZhc0NvbmZpZ3VyYXRpb24uZm9ybWF0LCBjYW52YXND
b25maWd1cmF0aW9uLnVzYWdlLCBjYW52YXNDb25maWd1cmF0aW9uLnZpZXdGb3JtYXRzLCBjYW52
YXNDb25maWd1cmF0aW9uLmNvbG9yU3BhY2UsIGNhbnZhc0NvbmZpZ3VyYXRpb24uY29tcG9zaXRp
bmdBbHBoYU1vZGUsIFdURk1vdmUoc2l6ZSkgfSB9OwogfQogCiBzdGQ6Om9wdGlvbmFsPFBBTDo6
V2ViR1BVOjpDYW52YXNDb25maWd1cmF0aW9uPiBDb252ZXJ0RnJvbUJhY2tpbmdDb250ZXh0Ojpj
b252ZXJ0RnJvbUJhY2tpbmcoY29uc3QgQ2FudmFzQ29uZmlndXJhdGlvbiYgY2FudmFzQ29uZmln
dXJhdGlvbikKQEAgLTYzLDcgKzYzLDcgQEAgc3RkOjpvcHRpb25hbDxQQUw6OldlYkdQVTo6Q2Fu
dmFzQ29uZmlndXJhdGlvbj4gQ29udmVydEZyb21CYWNraW5nQ29udGV4dDo6Y29udmUKICAgICAg
ICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAgICAgfQogCi0gICAgcmV0dXJuIHsgeyAqZGV2
aWNlLCBjYW52YXNDb25maWd1cmF0aW9uLmZvcm1hdCwgY2FudmFzQ29uZmlndXJhdGlvbi51c2Fn
ZSwgY2FudmFzQ29uZmlndXJhdGlvbi5jb2xvclNwYWNlLCBjYW52YXNDb25maWd1cmF0aW9uLmNv
bXBvc2l0aW5nQWxwaGFNb2RlLCBXVEZNb3ZlKHNpemUpIH0gfTsKKyAgICByZXR1cm4geyB7ICpk
ZXZpY2UsIGNhbnZhc0NvbmZpZ3VyYXRpb24uZm9ybWF0LCBjYW52YXNDb25maWd1cmF0aW9uLnVz
YWdlLCBjYW52YXNDb25maWd1cmF0aW9uLnZpZXdGb3JtYXRzLCBjYW52YXNDb25maWd1cmF0aW9u
LmNvbG9yU3BhY2UsIGNhbnZhc0NvbmZpZ3VyYXRpb24uY29tcG9zaXRpbmdBbHBoYU1vZGUsIFdU
Rk1vdmUoc2l6ZSkgfSB9OwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVDYW52YXNDb25maWd1cmF0aW9uLmgg
Yi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVQ2FudmFzQ29uZmlndXJhdGlvbi5o
CmluZGV4IDMwMTAxMTliM2VjYTdmYzdiYTYyYWMyNWI0MTczYjgxY2QwMmFmMjguLjA4Nzg0ZTM5
MDU2OWY3NTg0ZjU5NjRmYzkzNjU0MmVlOTM4Y2ViYzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVDYW52YXNDb25maWd1cmF0aW9uLmgKKysrIGIvU291cmNl
L1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVUNhbnZhc0NvbmZpZ3VyYXRpb24uaApAQCAtNDUs
NiArNDUsNyBAQCBzdHJ1Y3QgQ2FudmFzQ29uZmlndXJhdGlvbiB7CiAgICAgV2ViR1BVSWRlbnRp
ZmllciBkZXZpY2U7CiAgICAgUEFMOjpXZWJHUFU6OlRleHR1cmVGb3JtYXQgZm9ybWF0IHsgUEFM
OjpXZWJHUFU6OlRleHR1cmVGb3JtYXQ6OlI4dW5vcm0gfTsKICAgICBQQUw6OldlYkdQVTo6VGV4
dHVyZVVzYWdlRmxhZ3MgdXNhZ2UgeyBQQUw6OldlYkdQVTo6VGV4dHVyZVVzYWdlOjpSZW5kZXJB
dHRhY2htZW50IH07CisgICAgVmVjdG9yPFBBTDo6V2ViR1BVOjpUZXh0dXJlRm9ybWF0PiB2aWV3
Rm9ybWF0czsKICAgICBQQUw6OldlYkdQVTo6UHJlZGVmaW5lZENvbG9yU3BhY2UgY29sb3JTcGFj
ZSB7IFBBTDo6V2ViR1BVOjpQcmVkZWZpbmVkQ29sb3JTcGFjZTo6U1JHQiB9OwogICAgIFBBTDo6
V2ViR1BVOjpDYW52YXNDb21wb3NpdGluZ0FscGhhTW9kZSBjb21wb3NpdGluZ0FscGhhTW9kZSB7
IFBBTDo6V2ViR1BVOjpDYW52YXNDb21wb3NpdGluZ0FscGhhTW9kZTo6T3BhcXVlIH07CiAgICAg
c3RkOjpvcHRpb25hbDxFeHRlbnQzRD4gc2l6ZTsKQEAgLTU0LDYgKzU1LDcgQEAgc3RydWN0IENh
bnZhc0NvbmZpZ3VyYXRpb24gewogICAgICAgICBlbmNvZGVyIDw8IGRldmljZTsKICAgICAgICAg
ZW5jb2RlciA8PCBmb3JtYXQ7CiAgICAgICAgIGVuY29kZXIgPDwgdXNhZ2U7CisgICAgICAgIGVu
Y29kZXIgPDwgdmlld0Zvcm1hdHM7CiAgICAgICAgIGVuY29kZXIgPDwgY29sb3JTcGFjZTsKICAg
ICAgICAgZW5jb2RlciA8PCBjb21wb3NpdGluZ0FscGhhTW9kZTsKICAgICAgICAgZW5jb2RlciA8
PCBzaXplOwpAQCAtNzYsNiArNzgsMTEgQEAgc3RydWN0IENhbnZhc0NvbmZpZ3VyYXRpb24gewog
ICAgICAgICBpZiAoIXVzYWdlKQogICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKIAor
ICAgICAgICBzdGQ6Om9wdGlvbmFsPFZlY3RvcjxQQUw6OldlYkdQVTo6VGV4dHVyZUZvcm1hdD4+
IHZpZXdGb3JtYXRzOworICAgICAgICBkZWNvZGVyID4+IHZpZXdGb3JtYXRzOworICAgICAgICBp
ZiAoIXZpZXdGb3JtYXRzKQorICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKwogICAg
ICAgICBzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpQcmVkZWZpbmVkQ29sb3JTcGFjZT4gY29s
b3JTcGFjZTsKICAgICAgICAgZGVjb2RlciA+PiBjb2xvclNwYWNlOwogICAgICAgICBpZiAoIWNv
bG9yU3BhY2UpCkBAIC05MSw3ICs5OCw3IEBAIHN0cnVjdCBDYW52YXNDb25maWd1cmF0aW9uIHsK
ICAgICAgICAgaWYgKCFzaXplKQogICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKIAot
ICAgICAgICByZXR1cm4geyB7IFdURk1vdmUoKmRldmljZSksIFdURk1vdmUoKmZvcm1hdCksIFdU
Rk1vdmUoKnVzYWdlKSwgV1RGTW92ZSgqY29sb3JTcGFjZSksIFdURk1vdmUoKmNvbXBvc2l0aW5n
QWxwaGFNb2RlKSwgV1RGTW92ZSgqc2l6ZSkgfSB9OworICAgICAgICByZXR1cm4geyB7IFdURk1v
dmUoKmRldmljZSksIFdURk1vdmUoKmZvcm1hdCksIFdURk1vdmUoKnVzYWdlKSwgV1RGTW92ZSgq
dmlld0Zvcm1hdHMpLCBXVEZNb3ZlKCpjb2xvclNwYWNlKSwgV1RGTW92ZSgqY29tcG9zaXRpbmdB
bHBoYU1vZGUpLCBXVEZNb3ZlKCpzaXplKSB9IH07CiAgICAgfQogfTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVUNvbnZlcnRGcm9tQmFja2luZ0NvbnRl
eHQuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVDb252ZXJ0RnJvbUJhY2tp
bmdDb250ZXh0LmgKaW5kZXggOTkyZjI3ZGEwZTRiYTUxNWNmYmZkOTgwNjY5NDc3MGQzYzk4ODQx
Ny4uMzk3MmFkMzhmYTdmMWVmZDkyNzJjNjhjMzA0NzgxYWFmNjcyMzM5MCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVUNvbnZlcnRGcm9tQmFja2luZ0NvbnRl
eHQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVQ29udmVydEZyb21C
YWNraW5nQ29udGV4dC5oCkBAIC0xMTIsNiArMTEyLDcgQEAgY2xhc3MgU2FtcGxlcjsKIHN0cnVj
dCBTYW1wbGVyQmluZGluZ0xheW91dDsKIHN0cnVjdCBTYW1wbGVyRGVzY3JpcHRvcjsKIGNsYXNz
IFNoYWRlck1vZHVsZTsKK3N0cnVjdCBTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQ7CiBzdHJ1
Y3QgU2hhZGVyTW9kdWxlRGVzY3JpcHRvcjsKIHN0cnVjdCBTdGVuY2lsRmFjZVN0YXRlOwogc3Ry
dWN0IFN0b3JhZ2VUZXh0dXJlQmluZGluZ0xheW91dDsKQEAgLTE3Niw2ICsxNzcsNyBAQCBzdHJ1
Y3QgUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yOwogc3RydWN0IFJlcXVlc3RBZGFwdGVyT3B0aW9u
czsKIHN0cnVjdCBTYW1wbGVyQmluZGluZ0xheW91dDsKIHN0cnVjdCBTYW1wbGVyRGVzY3JpcHRv
cjsKK3N0cnVjdCBTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQ7CiBzdHJ1Y3QgU2hhZGVyTW9k
dWxlRGVzY3JpcHRvcjsKIHN0cnVjdCBTdGVuY2lsRmFjZVN0YXRlOwogc3RydWN0IFN0b3JhZ2VU
ZXh0dXJlQmluZGluZ0xheW91dDsKQEAgLTI1MSw2ICsyNTMsNyBAQCBwdWJsaWM6CiAgICAgc3Rk
OjpvcHRpb25hbDxQQUw6OldlYkdQVTo6UmVxdWVzdEFkYXB0ZXJPcHRpb25zPiBjb252ZXJ0RnJv
bUJhY2tpbmcoY29uc3QgUmVxdWVzdEFkYXB0ZXJPcHRpb25zJik7CiAgICAgc3RkOjpvcHRpb25h
bDxQQUw6OldlYkdQVTo6U2FtcGxlckJpbmRpbmdMYXlvdXQ+IGNvbnZlcnRGcm9tQmFja2luZyhj
b25zdCBTYW1wbGVyQmluZGluZ0xheW91dCYpOwogICAgIHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJH
UFU6OlNhbXBsZXJEZXNjcmlwdG9yPiBjb252ZXJ0RnJvbUJhY2tpbmcoY29uc3QgU2FtcGxlckRl
c2NyaXB0b3ImKTsKKyAgICBzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpTaGFkZXJNb2R1bGVD
b21waWxhdGlvbkhpbnQ+IGNvbnZlcnRGcm9tQmFja2luZyhjb25zdCBTaGFkZXJNb2R1bGVDb21w
aWxhdGlvbkhpbnQmKTsKICAgICBzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpTaGFkZXJNb2R1
bGVEZXNjcmlwdG9yPiBjb252ZXJ0RnJvbUJhY2tpbmcoY29uc3QgU2hhZGVyTW9kdWxlRGVzY3Jp
cHRvciYpOwogICAgIHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlN0ZW5jaWxGYWNlU3RhdGU+
IGNvbnZlcnRGcm9tQmFja2luZyhjb25zdCBTdGVuY2lsRmFjZVN0YXRlJik7CiAgICAgc3RkOjpv
cHRpb25hbDxQQUw6OldlYkdQVTo6U3RvcmFnZVRleHR1cmVCaW5kaW5nTGF5b3V0PiBjb252ZXJ0
RnJvbUJhY2tpbmcoY29uc3QgU3RvcmFnZVRleHR1cmVCaW5kaW5nTGF5b3V0Jik7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVQ29udmVydFRvQmFja2luZ0Nv
bnRleHQuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVDb252ZXJ0VG9CYWNr
aW5nQ29udGV4dC5oCmluZGV4IGE1MzM4NzY3OGNiOWQ3NWEyNzZlNDYzNzU0MWQzMTYwNjliMDdk
OWMuLmRlODQwZTM3ODU5NGNiMmNjZGVlZjdkMjU1Y2M1ZjZlYzRkYzQ5NjEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVDb252ZXJ0VG9CYWNraW5nQ29udGV4
dC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVDb252ZXJ0VG9CYWNr
aW5nQ29udGV4dC5oCkBAIC0xMTEsNiArMTExLDcgQEAgY2xhc3MgU2FtcGxlcjsKIHN0cnVjdCBT
YW1wbGVyQmluZGluZ0xheW91dDsKIHN0cnVjdCBTYW1wbGVyRGVzY3JpcHRvcjsKIGNsYXNzIFNo
YWRlck1vZHVsZTsKK3N0cnVjdCBTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQ7CiBzdHJ1Y3Qg
U2hhZGVyTW9kdWxlRGVzY3JpcHRvcjsKIHN0cnVjdCBTdGVuY2lsRmFjZVN0YXRlOwogc3RydWN0
IFN0b3JhZ2VUZXh0dXJlQmluZGluZ0xheW91dDsKQEAgLTE3NSw2ICsxNzYsNyBAQCBzdHJ1Y3Qg
UmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yOwogc3RydWN0IFJlcXVlc3RBZGFwdGVyT3B0aW9uczsK
IHN0cnVjdCBTYW1wbGVyQmluZGluZ0xheW91dDsKIHN0cnVjdCBTYW1wbGVyRGVzY3JpcHRvcjsK
K3N0cnVjdCBTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQ7CiBzdHJ1Y3QgU2hhZGVyTW9kdWxl
RGVzY3JpcHRvcjsKIHN0cnVjdCBTdGVuY2lsRmFjZVN0YXRlOwogc3RydWN0IFN0b3JhZ2VUZXh0
dXJlQmluZGluZ0xheW91dDsKQEAgLTI1MCw2ICsyNTIsNyBAQCBwdWJsaWM6CiAgICAgc3RkOjpv
cHRpb25hbDxSZXF1ZXN0QWRhcHRlck9wdGlvbnM+IGNvbnZlcnRUb0JhY2tpbmcoY29uc3QgUEFM
OjpXZWJHUFU6OlJlcXVlc3RBZGFwdGVyT3B0aW9ucyYpOwogICAgIHN0ZDo6b3B0aW9uYWw8U2Ft
cGxlckJpbmRpbmdMYXlvdXQ+IGNvbnZlcnRUb0JhY2tpbmcoY29uc3QgUEFMOjpXZWJHUFU6OlNh
bXBsZXJCaW5kaW5nTGF5b3V0Jik7CiAgICAgc3RkOjpvcHRpb25hbDxTYW1wbGVyRGVzY3JpcHRv
cj4gY29udmVydFRvQmFja2luZyhjb25zdCBQQUw6OldlYkdQVTo6U2FtcGxlckRlc2NyaXB0b3Im
KTsKKyAgICBzdGQ6Om9wdGlvbmFsPFNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludD4gY29udmVy
dFRvQmFja2luZyhjb25zdCBQQUw6OldlYkdQVTo6U2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50
Jik7CiAgICAgc3RkOjpvcHRpb25hbDxTaGFkZXJNb2R1bGVEZXNjcmlwdG9yPiBjb252ZXJ0VG9C
YWNraW5nKGNvbnN0IFBBTDo6V2ViR1BVOjpTaGFkZXJNb2R1bGVEZXNjcmlwdG9yJik7CiAgICAg
c3RkOjpvcHRpb25hbDxTdGVuY2lsRmFjZVN0YXRlPiBjb252ZXJ0VG9CYWNraW5nKGNvbnN0IFBB
TDo6V2ViR1BVOjpTdGVuY2lsRmFjZVN0YXRlJik7CiAgICAgc3RkOjpvcHRpb25hbDxTdG9yYWdl
VGV4dHVyZUJpbmRpbmdMYXlvdXQ+IGNvbnZlcnRUb0JhY2tpbmcoY29uc3QgUEFMOjpXZWJHUFU6
OlN0b3JhZ2VUZXh0dXJlQmluZGluZ0xheW91dCYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9TaGFyZWQvV2ViR1BVL1dlYkdQVUZyYWdtZW50U3RhdGUuY3BwIGIvU291cmNlL1dlYktpdC9T
aGFyZWQvV2ViR1BVL1dlYkdQVUZyYWdtZW50U3RhdGUuY3BwCmluZGV4IDVmMDcwMTMzM2RjZGQy
YmQyNzhiZmRlYjg3M2UwNThjMGMwNTUyMjcuLmFjNThhMzY4ZDE2Y2ZjODFmNzM4ODhkZWFiMGEz
NzhlMGMzMDA5N2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJH
UFVGcmFnbWVudFN0YXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2Vi
R1BVRnJhZ21lbnRTdGF0ZS5jcHAKQEAgLTQwLDEzICs0MCwxNiBAQCBzdGQ6Om9wdGlvbmFsPEZy
YWdtZW50U3RhdGU+IENvbnZlcnRUb0JhY2tpbmdDb250ZXh0Ojpjb252ZXJ0VG9CYWNraW5nKGNv
bnN0IFBBTAogICAgIGlmICghYmFzZSkKICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKIAot
ICAgIFZlY3RvcjxDb2xvclRhcmdldFN0YXRlPiB0YXJnZXRzOworICAgIFZlY3RvcjxzdGQ6Om9w
dGlvbmFsPENvbG9yVGFyZ2V0U3RhdGU+PiB0YXJnZXRzOwogICAgIHRhcmdldHMucmVzZXJ2ZUlu
aXRpYWxDYXBhY2l0eShmcmFnbWVudFN0YXRlLnRhcmdldHMuc2l6ZSgpKTsKICAgICBmb3IgKGNv
bnN0IGF1dG8mIHRhcmdldCA6IGZyYWdtZW50U3RhdGUudGFyZ2V0cykgewotICAgICAgICBhdXRv
IGNvbnZlcnRlZFRhcmdldCA9IGNvbnZlcnRUb0JhY2tpbmcodGFyZ2V0KTsKLSAgICAgICAgaWYg
KCFjb252ZXJ0ZWRUYXJnZXQpCi0gICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwotICAg
ICAgICB0YXJnZXRzLnVuY2hlY2tlZEFwcGVuZChXVEZNb3ZlKCpjb252ZXJ0ZWRUYXJnZXQpKTsK
KyAgICAgICAgaWYgKHRhcmdldCkgeworICAgICAgICAgICAgYXV0byBjb252ZXJ0ZWRUYXJnZXQg
PSBjb252ZXJ0VG9CYWNraW5nKCp0YXJnZXQpOworICAgICAgICAgICAgaWYgKCFjb252ZXJ0ZWRU
YXJnZXQpCisgICAgICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKyAgICAgICAgICAg
IHRhcmdldHMudW5jaGVja2VkQXBwZW5kKFdURk1vdmUoKmNvbnZlcnRlZFRhcmdldCkpOworICAg
ICAgICB9IGVsc2UKKyAgICAgICAgICAgIHRhcmdldHMudW5jaGVja2VkQXBwZW5kKHN0ZDo6bnVs
bG9wdCk7CiAgICAgfQogCiAgICAgcmV0dXJuIHsgeyBXVEZNb3ZlKCpiYXNlKSwgV1RGTW92ZSh0
YXJnZXRzKSB9IH07CkBAIC01OCwxMyArNjEsMTYgQEAgc3RkOjpvcHRpb25hbDxQQUw6OldlYkdQ
VTo6RnJhZ21lbnRTdGF0ZT4gQ29udmVydEZyb21CYWNraW5nQ29udGV4dDo6Y29udmVydEZyb20K
ICAgICBpZiAoIWJhc2UpCiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAKLSAgICBWZWN0
b3I8UEFMOjpXZWJHUFU6OkNvbG9yVGFyZ2V0U3RhdGU+IHRhcmdldHM7CisgICAgVmVjdG9yPHN0
ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OkNvbG9yVGFyZ2V0U3RhdGU+PiB0YXJnZXRzOwogICAg
IHRhcmdldHMucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShmcmFnbWVudFN0YXRlLnRhcmdldHMuc2l6
ZSgpKTsKICAgICBmb3IgKGNvbnN0IGF1dG8mIGJhY2tpbmdUYXJnZXQgOiBmcmFnbWVudFN0YXRl
LnRhcmdldHMpIHsKLSAgICAgICAgYXV0byB0YXJnZXQgPSBjb252ZXJ0RnJvbUJhY2tpbmcoYmFj
a2luZ1RhcmdldCk7Ci0gICAgICAgIGlmICghdGFyZ2V0KQotICAgICAgICAgICAgcmV0dXJuIHN0
ZDo6bnVsbG9wdDsKLSAgICAgICAgdGFyZ2V0cy51bmNoZWNrZWRBcHBlbmQoV1RGTW92ZSgqdGFy
Z2V0KSk7CisgICAgICAgIGlmIChiYWNraW5nVGFyZ2V0KSB7CisgICAgICAgICAgICBhdXRvIHRh
cmdldCA9IGNvbnZlcnRGcm9tQmFja2luZygqYmFja2luZ1RhcmdldCk7CisgICAgICAgICAgICBp
ZiAoIXRhcmdldCkKKyAgICAgICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworICAgICAg
ICAgICAgdGFyZ2V0cy51bmNoZWNrZWRBcHBlbmQoV1RGTW92ZSgqdGFyZ2V0KSk7CisgICAgICAg
IH0gZWxzZQorICAgICAgICAgICAgdGFyZ2V0cy51bmNoZWNrZWRBcHBlbmQoc3RkOjpudWxsb3B0
KTsKICAgICB9CiAKICAgICByZXR1cm4geyB7IFdURk1vdmUoKmJhc2UpLCBXVEZNb3ZlKHRhcmdl
dHMpIH0gfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVG
cmFnbWVudFN0YXRlLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVRnJhZ21l
bnRTdGF0ZS5oCmluZGV4IDI4N2JjYzQ3ZDk0YjRkZWY1MWNjZjZiMTBiYWM2OTc5ZjhkMjUzOWMu
LmNiYjQ4YzlhNDZlNmQwOTY5ZDE0Mzg4MDgyYjNhNTQ1YTUxZDRhNzIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVGcmFnbWVudFN0YXRlLmgKKysrIGIvU291
cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVUZyYWdtZW50U3RhdGUuaApAQCAtMzUsNyAr
MzUsNyBAQAogbmFtZXNwYWNlIFdlYktpdDo6V2ViR1BVIHsKIAogc3RydWN0IEZyYWdtZW50U3Rh
dGUgOiBwdWJsaWMgUHJvZ3JhbW1hYmxlU3RhZ2UgewotICAgIFZlY3RvcjxDb2xvclRhcmdldFN0
YXRlPiB0YXJnZXRzOworICAgIFZlY3RvcjxzdGQ6Om9wdGlvbmFsPENvbG9yVGFyZ2V0U3RhdGU+
PiB0YXJnZXRzOwogCiAgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5j
b2RlciYgZW5jb2RlcikgY29uc3QKICAgICB7CkBAIC01MCw3ICs1MCw3IEBAIHN0cnVjdCBGcmFn
bWVudFN0YXRlIDogcHVibGljIFByb2dyYW1tYWJsZVN0YWdlIHsKICAgICAgICAgaWYgKCFwcm9n
cmFtbWFibGVTdGFnZSkKICAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAKLSAgICAg
ICAgc3RkOjpvcHRpb25hbDxWZWN0b3I8Q29sb3JUYXJnZXRTdGF0ZT4+IHRhcmdldHM7CisgICAg
ICAgIHN0ZDo6b3B0aW9uYWw8VmVjdG9yPHN0ZDo6b3B0aW9uYWw8Q29sb3JUYXJnZXRTdGF0ZT4+
PiB0YXJnZXRzOwogICAgICAgICBkZWNvZGVyID4+IHRhcmdldHM7CiAgICAgICAgIGlmICghdGFy
Z2V0cykKICAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVSW1hZ2VDb3B5RXh0ZXJuYWxJbWFnZS5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVSW1hZ2VDb3B5RXh0ZXJuYWxJbWFn
ZS5jcHAKaW5kZXggODY4NjgzZDFkNDk4YjVmYzExNzI0OTM3MWM1M2I0MThkM2NhMzFjZS4uYWM4
MjY4Y2U5YTlmMWZmYjNmMzcwMjg1NTFhZjE4ZjdkYTIxZmQzMyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVUltYWdlQ29weUV4dGVybmFsSW1hZ2UuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVJbWFnZUNvcHlFeHRlcm5hbElt
YWdlLmNwcApAQCAtMzgsMjQgKzM4LDI0IEBAIHN0ZDo6b3B0aW9uYWw8SW1hZ2VDb3B5RXh0ZXJu
YWxJbWFnZT4gQ29udmVydFRvQmFja2luZ0NvbnRleHQ6OmNvbnZlcnRUb0JhY2tpbmcoCiB7CiAg
ICAgc3RkOjpvcHRpb25hbDxPcmlnaW4yRD4gb3JpZ2luOwogICAgIGlmIChpbWFnZUNvcHlFeHRl
cm5hbEltYWdlLm9yaWdpbikgewotICAgICAgICBhdXRvIGNvbnZlcnRlZE9yaWdpbiA9IGNvbnZl
cnRUb0JhY2tpbmcoKmltYWdlQ29weUV4dGVybmFsSW1hZ2Uub3JpZ2luKTsKLSAgICAgICAgaWYg
KCFjb252ZXJ0ZWRPcmlnaW4pCisgICAgICAgIG9yaWdpbiA9IGNvbnZlcnRUb0JhY2tpbmcoKmlt
YWdlQ29weUV4dGVybmFsSW1hZ2Uub3JpZ2luKTsKKyAgICAgICAgaWYgKCFvcmlnaW4pCiAgICAg
ICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogICAgIH0KIAotICAgIHJldHVybiB7IHsgV1RG
TW92ZShvcmlnaW4pIH0gfTsKKyAgICByZXR1cm4geyB7IFdURk1vdmUob3JpZ2luKSwgaW1hZ2VD
b3B5RXh0ZXJuYWxJbWFnZS5mbGlwWSB9IH07CiB9CiAKIHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJH
UFU6OkltYWdlQ29weUV4dGVybmFsSW1hZ2U+IENvbnZlcnRGcm9tQmFja2luZ0NvbnRleHQ6OmNv
bnZlcnRGcm9tQmFja2luZyhjb25zdCBJbWFnZUNvcHlFeHRlcm5hbEltYWdlJiBpbWFnZUNvcHlF
eHRlcm5hbEltYWdlKQogewogICAgIHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6Ok9yaWdpbjJE
PiBvcmlnaW47CiAgICAgaWYgKGltYWdlQ29weUV4dGVybmFsSW1hZ2Uub3JpZ2luKSB7Ci0gICAg
ICAgIGF1dG8gb3JpZ2luID0gY29udmVydEZyb21CYWNraW5nKCppbWFnZUNvcHlFeHRlcm5hbElt
YWdlLm9yaWdpbik7CisgICAgICAgIG9yaWdpbiA9IGNvbnZlcnRGcm9tQmFja2luZygqaW1hZ2VD
b3B5RXh0ZXJuYWxJbWFnZS5vcmlnaW4pOwogICAgICAgICBpZiAoIW9yaWdpbikKICAgICAgICAg
ICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAgICAgfQogCi0gICAgcmV0dXJuIHsgeyBXVEZNb3Zl
KG9yaWdpbikgfSB9OworICAgIHJldHVybiB7IHsgV1RGTW92ZShvcmlnaW4pLCBpbWFnZUNvcHlF
eHRlcm5hbEltYWdlLmZsaXBZIH0gfTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVSW1hZ2VDb3B5RXh0ZXJu
YWxJbWFnZS5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVUltYWdlQ29weUV4
dGVybmFsSW1hZ2UuaAppbmRleCA1ZjI5NjZjMjZlY2YyZWZiZTU4ZGJiMzk0MzFmYTNiYWI1YThm
MDZlLi5kZmZlNWUwOGMxOGE3ZjEzMjBlYjIyMTZiNjU0MGE2YmFiZjBjZjI3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVSW1hZ2VDb3B5RXh0ZXJuYWxJbWFn
ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVJbWFnZUNvcHlFeHRl
cm5hbEltYWdlLmgKQEAgLTM2LDEwICszNiwxMiBAQCBuYW1lc3BhY2UgV2ViS2l0OjpXZWJHUFUg
ewogc3RydWN0IEltYWdlQ29weUV4dGVybmFsSW1hZ2UgewogICAgIC8vIEZJWE1FOiBIYW5kbGUg
dGhlIHNvdXJjZS4KICAgICBzdGQ6Om9wdGlvbmFsPE9yaWdpbjJEPiBvcmlnaW47CisgICAgYm9v
bCBmbGlwWSB7IGZhbHNlIH07CiAKICAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVu
Y29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogICAgIHsKICAgICAgICAgZW5jb2RlciA8PCBv
cmlnaW47CisgICAgICAgIGVuY29kZXIgPDwgZmxpcFk7CiAgICAgfQogCiAgICAgdGVtcGxhdGU8
Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIHN0ZDo6b3B0aW9uYWw8SW1hZ2VDb3B5RXh0ZXJuYWxJbWFn
ZT4gZGVjb2RlKERlY29kZXImIGRlY29kZXIpCkBAIC00OSw3ICs1MSwxMiBAQCBzdHJ1Y3QgSW1h
Z2VDb3B5RXh0ZXJuYWxJbWFnZSB7CiAgICAgICAgIGlmICghb3JpZ2luKQogICAgICAgICAgICAg
cmV0dXJuIHN0ZDo6bnVsbG9wdDsKIAotICAgICAgICByZXR1cm4geyB7IFdURk1vdmUoKm9yaWdp
bikgfSB9OworICAgICAgICBzdGQ6Om9wdGlvbmFsPGJvb2w+IGZsaXBZOworICAgICAgICBkZWNv
ZGVyID4+IGZsaXBZOworICAgICAgICBpZiAoIWZsaXBZKQorICAgICAgICAgICAgcmV0dXJuIHN0
ZDo6bnVsbG9wdDsKKworICAgICAgICByZXR1cm4geyB7IFdURk1vdmUoKm9yaWdpbiksIFdURk1v
dmUoKmZsaXBZKSB9IH07CiAgICAgfQogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9T
aGFyZWQvV2ViR1BVL1dlYkdQVUltYWdlQ29weVRleHR1cmUuY3BwIGIvU291cmNlL1dlYktpdC9T
aGFyZWQvV2ViR1BVL1dlYkdQVUltYWdlQ29weVRleHR1cmUuY3BwCmluZGV4IDYwOTA4MTk1NzUz
MmZkM2YyN2JhMjIxOTE2YWI3YTcwNjczM2RlNzMuLmQzYzc1ZTQ2NDk0YTNjYjRmZjcwYjUxNDI3
YzkyMmNiNWU4M2EzM2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9X
ZWJHUFVJbWFnZUNvcHlUZXh0dXJlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJH
UFUvV2ViR1BVSW1hZ2VDb3B5VGV4dHVyZS5jcHAKQEAgLTQyLDcgKzQyLDcgQEAgc3RkOjpvcHRp
b25hbDxJbWFnZUNvcHlUZXh0dXJlPiBDb252ZXJ0VG9CYWNraW5nQ29udGV4dDo6Y29udmVydFRv
QmFja2luZyhjb25zdAogCiAgICAgc3RkOjpvcHRpb25hbDxPcmlnaW4zRD4gb3JpZ2luOwogICAg
IGlmIChpbWFnZUNvcHlUZXh0dXJlLm9yaWdpbikgewotICAgICAgICBhdXRvIG9yaWdpbiA9IGNv
bnZlcnRUb0JhY2tpbmcoKmltYWdlQ29weVRleHR1cmUub3JpZ2luKTsKKyAgICAgICAgb3JpZ2lu
ID0gY29udmVydFRvQmFja2luZygqaW1hZ2VDb3B5VGV4dHVyZS5vcmlnaW4pOwogICAgICAgICBp
ZiAoIW9yaWdpbikKICAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAgICAgfQpAQCAt
NTgsNyArNTgsNyBAQCBzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpJbWFnZUNvcHlUZXh0dXJl
PiBDb252ZXJ0RnJvbUJhY2tpbmdDb250ZXh0Ojpjb252ZXJ0RgogCiAgICAgc3RkOjpvcHRpb25h
bDxQQUw6OldlYkdQVTo6T3JpZ2luM0Q+IG9yaWdpbjsKICAgICBpZiAoaW1hZ2VDb3B5VGV4dHVy
ZS5vcmlnaW4pIHsKLSAgICAgICAgYXV0byBvcmlnaW4gPSBjb252ZXJ0RnJvbUJhY2tpbmcoKmlt
YWdlQ29weVRleHR1cmUub3JpZ2luKTsKKyAgICAgICAgb3JpZ2luID0gY29udmVydEZyb21CYWNr
aW5nKCppbWFnZUNvcHlUZXh0dXJlLm9yaWdpbik7CiAgICAgICAgIGlmICghb3JpZ2luKQogICAg
ICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVUXVlcnlTZXREZXNjcmlwdG9yLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVRdWVyeVNldERlc2NyaXB0b3IuY3BwCmluZGV4
IGEwNzYxODIzMTM5ZTI5MmYwNTA2ZDdkZmU2YmE2N2M1YjkwOTE0NjQuLjJjNDJlYmFlY2E1YWJk
Y2I0ODY2NDI4YWU5ZTZhZDhkZWUwYWYzMjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL1dlYkdQVS9XZWJHUFVRdWVyeVNldERlc2NyaXB0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVRdWVyeVNldERlc2NyaXB0b3IuY3BwCkBAIC00MCw3ICs0
MCw3IEBAIHN0ZDo6b3B0aW9uYWw8UXVlcnlTZXREZXNjcmlwdG9yPiBDb252ZXJ0VG9CYWNraW5n
Q29udGV4dDo6Y29udmVydFRvQmFja2luZyhjb25zCiAgICAgaWYgKCFiYXNlKQogICAgICAgICBy
ZXR1cm4gc3RkOjpudWxsb3B0OwogCi0gICAgcmV0dXJuIHsgeyBXVEZNb3ZlKCpiYXNlKSwgcXVl
cnlTZXREZXNjcmlwdG9yLnR5cGUsIHF1ZXJ5U2V0RGVzY3JpcHRvci5jb3VudCwgcXVlcnlTZXRE
ZXNjcmlwdG9yLnBpcGVsaW5lU3RhdGlzdGljcyB9IH07CisgICAgcmV0dXJuIHsgeyBXVEZNb3Zl
KCpiYXNlKSwgcXVlcnlTZXREZXNjcmlwdG9yLnR5cGUsIHF1ZXJ5U2V0RGVzY3JpcHRvci5jb3Vu
dCB9IH07CiB9CiAKIHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlF1ZXJ5U2V0RGVzY3JpcHRv
cj4gQ29udmVydEZyb21CYWNraW5nQ29udGV4dDo6Y29udmVydEZyb21CYWNraW5nKGNvbnN0IFF1
ZXJ5U2V0RGVzY3JpcHRvciYgcXVlcnlTZXREZXNjcmlwdG9yKQpAQCAtNDksNyArNDksNyBAQCBz
dGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpRdWVyeVNldERlc2NyaXB0b3I+IENvbnZlcnRGcm9t
QmFja2luZ0NvbnRleHQ6OmNvbnZlcgogICAgIGlmICghYmFzZSkKICAgICAgICAgcmV0dXJuIHN0
ZDo6bnVsbG9wdDsKIAotICAgIHJldHVybiB7IHsgV1RGTW92ZSgqYmFzZSksIHF1ZXJ5U2V0RGVz
Y3JpcHRvci50eXBlLCBxdWVyeVNldERlc2NyaXB0b3IuY291bnQsIHF1ZXJ5U2V0RGVzY3JpcHRv
ci5waXBlbGluZVN0YXRpc3RpY3MgfSB9OworICAgIHJldHVybiB7IHsgV1RGTW92ZSgqYmFzZSks
IHF1ZXJ5U2V0RGVzY3JpcHRvci50eXBlLCBxdWVyeVNldERlc2NyaXB0b3IuY291bnQgfSB9Owog
fQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL1dlYkdQVS9XZWJHUFVRdWVyeVNldERlc2NyaXB0b3IuaCBiL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL1dlYkdQVS9XZWJHUFVRdWVyeVNldERlc2NyaXB0b3IuaAppbmRleCAxZmQyOGNjOGI1MmNm
YWZjZWZiNGIyMzQwMzAyMGE0MTgxOWY3MTFjLi43NTc2NzlkNjU2ZmE3MjNjNzU3YTUxZmE5MzE4
Y2Y2YTY1ZDAxNmI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2Vi
R1BVUXVlcnlTZXREZXNjcmlwdG9yLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BV
L1dlYkdQVVF1ZXJ5U2V0RGVzY3JpcHRvci5oCkBAIC0zMCw3ICszMCw2IEBACiAjaW5jbHVkZSAi
V2ViR1BVT2JqZWN0RGVzY3JpcHRvckJhc2UuaCIKICNpbmNsdWRlIDxvcHRpb25hbD4KICNpbmNs
dWRlIDxwYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVUludGVncmFsVHlwZXMuaD4KLSNpbmNsdWRl
IDxwYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVBpcGVsaW5lU3RhdGlzdGljTmFtZS5oPgogI2lu
Y2x1ZGUgPHBhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVUXVlcnlUeXBlLmg+CiAjaW5jbHVkZSA8
d3RmL1ZlY3Rvci5oPgogCkBAIC0zOSwxNCArMzgsMTIgQEAgbmFtZXNwYWNlIFdlYktpdDo6V2Vi
R1BVIHsKIHN0cnVjdCBRdWVyeVNldERlc2NyaXB0b3IgOiBwdWJsaWMgT2JqZWN0RGVzY3JpcHRv
ckJhc2UgewogICAgIFBBTDo6V2ViR1BVOjpRdWVyeVR5cGUgdHlwZSB7IFBBTDo6V2ViR1BVOjpR
dWVyeVR5cGU6Ok9jY2x1c2lvbiB9OwogICAgIFBBTDo6V2ViR1BVOjpTaXplMzIgY291bnQgeyAw
IH07Ci0gICAgVmVjdG9yPFBBTDo6V2ViR1BVOjpQaXBlbGluZVN0YXRpc3RpY05hbWU+IHBpcGVs
aW5lU3RhdGlzdGljczsKIAogICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5jb2Rl
KEVuY29kZXImIGVuY29kZXIpIGNvbnN0CiAgICAgewogICAgICAgICBlbmNvZGVyIDw8IHN0YXRp
Y19jYXN0PGNvbnN0IE9iamVjdERlc2NyaXB0b3JCYXNlJj4oKnRoaXMpOwogICAgICAgICBlbmNv
ZGVyIDw8IHR5cGU7CiAgICAgICAgIGVuY29kZXIgPDwgY291bnQ7Ci0gICAgICAgIGVuY29kZXIg
PDwgcGlwZWxpbmVTdGF0aXN0aWNzOwogICAgIH0KIAogICAgIHRlbXBsYXRlPGNsYXNzIERlY29k
ZXI+IHN0YXRpYyBzdGQ6Om9wdGlvbmFsPFF1ZXJ5U2V0RGVzY3JpcHRvcj4gZGVjb2RlKERlY29k
ZXImIGRlY29kZXIpCkBAIC02NiwxMiArNjMsNyBAQCBzdHJ1Y3QgUXVlcnlTZXREZXNjcmlwdG9y
IDogcHVibGljIE9iamVjdERlc2NyaXB0b3JCYXNlIHsKICAgICAgICAgaWYgKCFjb3VudCkKICAg
ICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAKLSAgICAgICAgc3RkOjpvcHRpb25hbDxW
ZWN0b3I8UEFMOjpXZWJHUFU6OlBpcGVsaW5lU3RhdGlzdGljTmFtZT4+IHBpcGVsaW5lU3RhdGlz
dGljczsKLSAgICAgICAgZGVjb2RlciA+PiBwaXBlbGluZVN0YXRpc3RpY3M7Ci0gICAgICAgIGlm
ICghcGlwZWxpbmVTdGF0aXN0aWNzKQotICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsK
LQotICAgICAgICByZXR1cm4geyB7IFdURk1vdmUoKm9iamVjdERlc2NyaXB0b3JCYXNlKSwgV1RG
TW92ZSgqdHlwZSksIFdURk1vdmUoKmNvdW50KSwgV1RGTW92ZSgqcGlwZWxpbmVTdGF0aXN0aWNz
KSB9IH07CisgICAgICAgIHJldHVybiB7IHsgV1RGTW92ZSgqb2JqZWN0RGVzY3JpcHRvckJhc2Up
LCBXVEZNb3ZlKCp0eXBlKSwgV1RGTW92ZSgqY291bnQpIH0gfTsKICAgICB9CiB9OwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVUmVuZGVyUGFzc0NvbG9y
QXR0YWNobWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVUmVuZGVy
UGFzc0NvbG9yQXR0YWNobWVudC5jcHAKaW5kZXggYzQ3NTBiZjdmNWU2MGRmNjlmNjQ2NjI3NDll
ODQ3NTNlYTBhYzI3Mi4uNWJiODZlMTYzN2RkNGQyN2MzZmFjNzdiMDU1NjFjYzdlMjNhNjc5MSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVVJlbmRlclBhc3ND
b2xvckF0dGFjaG1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJH
UFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50LmNwcApAQCAtNDcsMjAgKzQ3LDE0IEBAIHN0ZDo6
b3B0aW9uYWw8UmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudD4gQ29udmVydFRvQmFja2luZ0NvbnRl
eHQ6OmNvbnZlcnRUb0JhY2tpCiAgICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogICAg
IH0KIAotICAgIGF1dG8gbG9hZFZhbHVlID0gV1RGOjpzd2l0Y2hPbihyZW5kZXJQYXNzQ29sb3JB
dHRhY2htZW50LmxvYWRWYWx1ZSwgW10gKFBBTDo6V2ViR1BVOjpMb2FkT3AgbG9hZE9wKSAtPiBz
dGQ6Om9wdGlvbmFsPHN0ZDo6dmFyaWFudDxQQUw6OldlYkdQVTo6TG9hZE9wLCBWZWN0b3I8ZG91
YmxlPiwgQ29sb3JEaWN0Pj4gewotICAgICAgICByZXR1cm4geyB7IGxvYWRPcCB9IH07Ci0gICAg
fSwgW10gKGNvbnN0IFZlY3Rvcjxkb3VibGU+JiB2ZWN0b3IpIC0+IHN0ZDo6b3B0aW9uYWw8c3Rk
Ojp2YXJpYW50PFBBTDo6V2ViR1BVOjpMb2FkT3AsIFZlY3Rvcjxkb3VibGU+LCBDb2xvckRpY3Q+
PiB7Ci0gICAgICAgIHJldHVybiB7IHsgdmVjdG9yIH0gfTsKLSAgICB9LCBbdGhpc10gKGNvbnN0
IFBBTDo6V2ViR1BVOjpDb2xvckRpY3QmIGNvbG9yRGljdCkgLT4gc3RkOjpvcHRpb25hbDxzdGQ6
OnZhcmlhbnQ8UEFMOjpXZWJHUFU6OkxvYWRPcCwgVmVjdG9yPGRvdWJsZT4sIENvbG9yRGljdD4+
IHsKLSAgICAgICAgYXV0byBiYWNraW5nQ29sb3JEaWN0ID0gY29udmVydFRvQmFja2luZyhjb2xv
ckRpY3QpOwotICAgICAgICBpZiAoIWJhY2tpbmdDb2xvckRpY3QpCisgICAgc3RkOjpvcHRpb25h
bDxDb2xvcj4gY2xlYXJWYWx1ZTsKKyAgICBpZiAocmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudC5j
bGVhclZhbHVlKSB7CisgICAgICAgIGNsZWFyVmFsdWUgPSBjb252ZXJ0VG9CYWNraW5nKCpyZW5k
ZXJQYXNzQ29sb3JBdHRhY2htZW50LmNsZWFyVmFsdWUpOworICAgICAgICBpZiAoIWNsZWFyVmFs
dWUpCiAgICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwotICAgICAgICByZXR1cm4geyB7
IFdURk1vdmUoKmJhY2tpbmdDb2xvckRpY3QpIH0gfTsKLSAgICB9KTsKLSAgICBpZiAoIWxvYWRW
YWx1ZSkKLSAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKyAgICB9CiAKLSAgICByZXR1cm4g
eyB7IHZpZXcsIHJlc29sdmVUYXJnZXQsIFdURk1vdmUoKmxvYWRWYWx1ZSksIHJlbmRlclBhc3ND
b2xvckF0dGFjaG1lbnQuc3RvcmVPcCB9IH07CisgICAgcmV0dXJuIHsgeyB2aWV3LCByZXNvbHZl
VGFyZ2V0LCBXVEZNb3ZlKGNsZWFyVmFsdWUpLCByZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50Lmxv
YWRPcCwgcmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudC5zdG9yZU9wIH0gfTsKIH0KIAogc3RkOjpv
cHRpb25hbDxQQUw6OldlYkdQVTo6UmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudD4gQ29udmVydEZy
b21CYWNraW5nQ29udGV4dDo6Y29udmVydEZyb21CYWNraW5nKGNvbnN0IFJlbmRlclBhc3NDb2xv
ckF0dGFjaG1lbnQmIHJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQpCkBAIC03NiwyMCArNzAsMTQg
QEAgc3RkOjpvcHRpb25hbDxQQUw6OldlYkdQVTo6UmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudD4g
Q29udmVydEZyb21CYWNraW5nQ29udGV4dDoKICAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxv
cHQ7CiAgICAgfQogCi0gICAgYXV0byBsb2FkVmFsdWUgPSBXVEY6OnN3aXRjaE9uKHJlbmRlclBh
c3NDb2xvckF0dGFjaG1lbnQubG9hZFZhbHVlLCBbXSAoUEFMOjpXZWJHUFU6OkxvYWRPcCBsb2Fk
T3ApIC0+IHN0ZDo6b3B0aW9uYWw8c3RkOjp2YXJpYW50PFBBTDo6V2ViR1BVOjpMb2FkT3AsIFZl
Y3Rvcjxkb3VibGU+LCBQQUw6OldlYkdQVTo6Q29sb3JEaWN0Pj4gewotICAgICAgICByZXR1cm4g
eyB7IGxvYWRPcCB9IH07Ci0gICAgfSwgW10gKGNvbnN0IFZlY3Rvcjxkb3VibGU+JiB2ZWN0b3Ip
IC0+IHN0ZDo6b3B0aW9uYWw8c3RkOjp2YXJpYW50PFBBTDo6V2ViR1BVOjpMb2FkT3AsIFZlY3Rv
cjxkb3VibGU+LCBQQUw6OldlYkdQVTo6Q29sb3JEaWN0Pj4gewotICAgICAgICByZXR1cm4geyB7
IHZlY3RvciB9IH07Ci0gICAgfSwgW3RoaXNdIChjb25zdCBDb2xvckRpY3QmIGNvbG9yRGljdCkg
LT4gc3RkOjpvcHRpb25hbDxzdGQ6OnZhcmlhbnQ8UEFMOjpXZWJHUFU6OkxvYWRPcCwgVmVjdG9y
PGRvdWJsZT4sIFBBTDo6V2ViR1BVOjpDb2xvckRpY3Q+PiB7Ci0gICAgICAgIGF1dG8gYmFja2lu
Z0NvbG9yRGljdCA9IGNvbnZlcnRGcm9tQmFja2luZyhjb2xvckRpY3QpOwotICAgICAgICBpZiAo
IWJhY2tpbmdDb2xvckRpY3QpCisgICAgc3RkOjpvcHRpb25hbDxQQUw6OldlYkdQVTo6Q29sb3I+
IGNsZWFyVmFsdWU7CisgICAgaWYgKHJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQuY2xlYXJWYWx1
ZSkgeworICAgICAgICBjbGVhclZhbHVlID0gY29udmVydEZyb21CYWNraW5nKCpyZW5kZXJQYXNz
Q29sb3JBdHRhY2htZW50LmNsZWFyVmFsdWUpOworICAgICAgICBpZiAoIWNsZWFyVmFsdWUpCiAg
ICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwotICAgICAgICByZXR1cm4geyB7IFdURk1v
dmUoKmJhY2tpbmdDb2xvckRpY3QpIH0gfTsKLSAgICB9KTsKLSAgICBpZiAoIWxvYWRWYWx1ZSkK
LSAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKyAgICB9CiAKLSAgICByZXR1cm4geyB7ICp2
aWV3LCByZXNvbHZlVGFyZ2V0LCBXVEZNb3ZlKCpsb2FkVmFsdWUpLCByZW5kZXJQYXNzQ29sb3JB
dHRhY2htZW50LnN0b3JlT3AgfSB9OworICAgIHJldHVybiB7IHsgKnZpZXcsIHJlc29sdmVUYXJn
ZXQsIFdURk1vdmUoY2xlYXJWYWx1ZSksIHJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQubG9hZE9w
LCByZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50LnN0b3JlT3AgfSB9OwogfQogCiB9IC8vIG5hbWVz
cGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJH
UFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50LmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJH
UFUvV2ViR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudC5oCmluZGV4IGMxNmExNGZmMGQ0Njhj
NjM2ZjU2YzY2YTAxMzZjNzQxODMzYTBjMjAuLjdiZWE0MjQ4NjAwNDZjMmQyMDcxYWFhMjk5NTMz
OTcwODJiNjdlYWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJH
UFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQv
V2ViR1BVL1dlYkdQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQuaApAQCAtNDIsMTQgKzQyLDE2
IEBAIHN0cnVjdCBSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50IHsKICAgICBXZWJHUFVJZGVudGlm
aWVyIHZpZXc7CiAgICAgV2ViR1BVSWRlbnRpZmllciByZXNvbHZlVGFyZ2V0OwogCi0gICAgc3Rk
Ojp2YXJpYW50PFBBTDo6V2ViR1BVOjpMb2FkT3AsIFZlY3Rvcjxkb3VibGU+LCBDb2xvckRpY3Q+
IGxvYWRWYWx1ZTsKKyAgICBzdGQ6Om9wdGlvbmFsPENvbG9yPiBjbGVhclZhbHVlOworICAgIFBB
TDo6V2ViR1BVOjpMb2FkT3AgbG9hZE9wIHsgUEFMOjpXZWJHUFU6OkxvYWRPcDo6TG9hZCB9Owog
ICAgIFBBTDo6V2ViR1BVOjpTdG9yZU9wIHN0b3JlT3AgeyBQQUw6OldlYkdQVTo6U3RvcmVPcDo6
U3RvcmUgfTsKIAogICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlKEVuY29k
ZXImIGVuY29kZXIpIGNvbnN0CiAgICAgewogICAgICAgICBlbmNvZGVyIDw8IHZpZXc7CiAgICAg
ICAgIGVuY29kZXIgPDwgcmVzb2x2ZVRhcmdldDsKLSAgICAgICAgZW5jb2RlciA8PCBsb2FkVmFs
dWU7CisgICAgICAgIGVuY29kZXIgPDwgY2xlYXJWYWx1ZTsKKyAgICAgICAgZW5jb2RlciA8PCBs
b2FkT3A7CiAgICAgICAgIGVuY29kZXIgPDwgc3RvcmVPcDsKICAgICB9CiAKQEAgLTY1LDkgKzY3
LDE0IEBAIHN0cnVjdCBSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50IHsKICAgICAgICAgaWYgKCFy
ZXNvbHZlVGFyZ2V0KQogICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKIAotICAgICAg
ICBzdGQ6Om9wdGlvbmFsPHN0ZDo6dmFyaWFudDxQQUw6OldlYkdQVTo6TG9hZE9wLCBWZWN0b3I8
ZG91YmxlPiwgQ29sb3JEaWN0Pj4gbG9hZFZhbHVlOwotICAgICAgICBkZWNvZGVyID4+IGxvYWRW
YWx1ZTsKLSAgICAgICAgaWYgKCFsb2FkVmFsdWUpCisgICAgICAgIHN0ZDo6b3B0aW9uYWw8c3Rk
OjpvcHRpb25hbDxDb2xvcj4+IGNsZWFyVmFsdWU7CisgICAgICAgIGRlY29kZXIgPj4gY2xlYXJW
YWx1ZTsKKyAgICAgICAgaWYgKCFjbGVhclZhbHVlKQorICAgICAgICAgICAgcmV0dXJuIHN0ZDo6
bnVsbG9wdDsKKworICAgICAgICBzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpMb2FkT3A+IGxv
YWRPcDsKKyAgICAgICAgZGVjb2RlciA+PiBsb2FkT3A7CisgICAgICAgIGlmICghbG9hZE9wKQog
ICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKIAogICAgICAgICBzdGQ6Om9wdGlvbmFs
PFBBTDo6V2ViR1BVOjpTdG9yZU9wPiBzdG9yZU9wOwpAQCAtNzUsNyArODIsNyBAQCBzdHJ1Y3Qg
UmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudCB7CiAgICAgICAgIGlmICghc3RvcmVPcCkKICAgICAg
ICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAKLSAgICAgICAgcmV0dXJuIHsgeyBXVEZNb3Zl
KCp2aWV3KSwgV1RGTW92ZSgqcmVzb2x2ZVRhcmdldCksIFdURk1vdmUoKmxvYWRWYWx1ZSksIFdU
Rk1vdmUoKnN0b3JlT3ApIH0gfTsKKyAgICAgICAgcmV0dXJuIHsgeyBXVEZNb3ZlKCp2aWV3KSwg
V1RGTW92ZSgqcmVzb2x2ZVRhcmdldCksIFdURk1vdmUoKmNsZWFyVmFsdWUpLCBXVEZNb3ZlKCps
b2FkT3ApLCBXVEZNb3ZlKCpzdG9yZU9wKSB9IH07CiAgICAgfQogfTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVVJlbmRlclBhc3NEZXB0aFN0ZW5jaWxB
dHRhY2htZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVSZW5kZXJQ
YXNzRGVwdGhTdGVuY2lsQXR0YWNobWVudC5jcHAKaW5kZXggMzY2NDFjZDY3NzY4MGM4ZmVjZjMx
YmZlNjkzZjE5NTAzODEyYWFiMi4uMjg1MWNjMmY0YTU4YjRmMjQ2Yzk0M2U1NWYzZDVjN2U1M2Mx
ZThhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVVJlbmRl
clBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9XZWJHUFUvV2ViR1BVUmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQuY3BwCkBAIC00
MCw3ICs0MCw3IEBAIHN0ZDo6b3B0aW9uYWw8UmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1l
bnQ+IENvbnZlcnRUb0JhY2tpbmdDb250ZXh0Ojpjb252ZXJ0CiAgICAgaWYgKCF2aWV3KQogICAg
ICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogCi0gICAgcmV0dXJuIHsgeyB2aWV3LCByZW5kZXJQ
YXNzRGVwdGhTdGVuY2lsQXR0YWNobWVudC5kZXB0aExvYWRWYWx1ZSwgcmVuZGVyUGFzc0RlcHRo
U3RlbmNpbEF0dGFjaG1lbnQuZGVwdGhTdG9yZU9wLCByZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0
YWNobWVudC5kZXB0aFJlYWRPbmx5LCByZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNobWVudC5z
dGVuY2lsTG9hZFZhbHVlLCByZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNobWVudC5zdGVuY2ls
U3RvcmVPcCwgcmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQuc3RlbmNpbFJlYWRPbmx5
IH0gfTsKKyAgICByZXR1cm4geyB7IHZpZXcsIHJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2ht
ZW50LmRlcHRoQ2xlYXJWYWx1ZSwgcmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQuZGVw
dGhMb2FkT3AsIHJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50LmRlcHRoU3RvcmVPcCwg
cmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQuZGVwdGhSZWFkT25seSwgcmVuZGVyUGFz
c0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQuc3RlbmNpbENsZWFyVmFsdWUsIHJlbmRlclBhc3NEZXB0
aFN0ZW5jaWxBdHRhY2htZW50LnN0ZW5jaWxMb2FkT3AsIHJlbmRlclBhc3NEZXB0aFN0ZW5jaWxB
dHRhY2htZW50LnN0ZW5jaWxTdG9yZU9wLCByZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNobWVu
dC5zdGVuY2lsUmVhZE9ubHkgfSB9OwogfQogCiBzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpS
ZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNobWVudD4gQ29udmVydEZyb21CYWNraW5nQ29udGV4
dDo6Y29udmVydEZyb21CYWNraW5nKGNvbnN0IFJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2ht
ZW50JiByZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNobWVudCkKQEAgLTQ5LDcgKzQ5LDcgQEAg
c3RkOjpvcHRpb25hbDxQQUw6OldlYkdQVTo6UmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1l
bnQ+IENvbnZlcnRGcm9tQmFja2luZ0MKICAgICBpZiAoIXZpZXcpCiAgICAgICAgIHJldHVybiBz
dGQ6Om51bGxvcHQ7CiAKLSAgICByZXR1cm4geyB7ICp2aWV3LCByZW5kZXJQYXNzRGVwdGhTdGVu
Y2lsQXR0YWNobWVudC5kZXB0aExvYWRWYWx1ZSwgcmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFj
aG1lbnQuZGVwdGhTdG9yZU9wLCByZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNobWVudC5kZXB0
aFJlYWRPbmx5LCByZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNobWVudC5zdGVuY2lsTG9hZFZh
bHVlLCByZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNobWVudC5zdGVuY2lsU3RvcmVPcCwgcmVu
ZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQuc3RlbmNpbFJlYWRPbmx5IH0gfTsKKyAgICBy
ZXR1cm4geyB7ICp2aWV3LCByZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNobWVudC5kZXB0aENs
ZWFyVmFsdWUsIHJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50LmRlcHRoTG9hZE9wLCBy
ZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNobWVudC5kZXB0aFN0b3JlT3AsIHJlbmRlclBhc3NE
ZXB0aFN0ZW5jaWxBdHRhY2htZW50LmRlcHRoUmVhZE9ubHksIHJlbmRlclBhc3NEZXB0aFN0ZW5j
aWxBdHRhY2htZW50LnN0ZW5jaWxDbGVhclZhbHVlLCByZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0
YWNobWVudC5zdGVuY2lsTG9hZE9wLCByZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNobWVudC5z
dGVuY2lsU3RvcmVPcCwgcmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQuc3RlbmNpbFJl
YWRPbmx5IH0gfTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVUmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFj
aG1lbnQuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVSZW5kZXJQYXNzRGVw
dGhTdGVuY2lsQXR0YWNobWVudC5oCmluZGV4IGJlNzE4ZDI4YjIzY2YwMzc2NDVmMWJkYzkwZjBj
NDJlYzdiMzQyN2YuLjVkNDczNzAyOWUyN2EyZjYzOWMyOTNkYjdlNTE4MGFkYTU0MzhmMGQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVSZW5kZXJQYXNzRGVw
dGhTdGVuY2lsQXR0YWNobWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9X
ZWJHUFVSZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNobWVudC5oCkBAIC00MCwyMSArNDAsMjUg
QEAgbmFtZXNwYWNlIFdlYktpdDo6V2ViR1BVIHsKIHN0cnVjdCBSZW5kZXJQYXNzRGVwdGhTdGVu
Y2lsQXR0YWNobWVudCB7CiAgICAgV2ViR1BVSWRlbnRpZmllciB2aWV3OwogCi0gICAgc3RkOjp2
YXJpYW50PFBBTDo6V2ViR1BVOjpMb2FkT3AsIGZsb2F0PiBkZXB0aExvYWRWYWx1ZTsKLSAgICBQ
QUw6OldlYkdQVTo6U3RvcmVPcCBkZXB0aFN0b3JlT3AgeyBQQUw6OldlYkdQVTo6U3RvcmVPcDo6
U3RvcmUgfTsKKyAgICBmbG9hdCBkZXB0aENsZWFyVmFsdWUgeyAwIH07CisgICAgc3RkOjpvcHRp
b25hbDxQQUw6OldlYkdQVTo6TG9hZE9wPiBkZXB0aExvYWRPcDsKKyAgICBzdGQ6Om9wdGlvbmFs
PFBBTDo6V2ViR1BVOjpTdG9yZU9wPiBkZXB0aFN0b3JlT3A7CiAgICAgYm9vbCBkZXB0aFJlYWRP
bmx5IHsgZmFsc2UgfTsKIAotICAgIHN0ZDo6dmFyaWFudDxQQUw6OldlYkdQVTo6TG9hZE9wLCBQ
QUw6OldlYkdQVTo6U3RlbmNpbFZhbHVlPiBzdGVuY2lsTG9hZFZhbHVlOwotICAgIFBBTDo6V2Vi
R1BVOjpTdG9yZU9wIHN0ZW5jaWxTdG9yZU9wIHsgUEFMOjpXZWJHUFU6OlN0b3JlT3A6OlN0b3Jl
IH07CisgICAgUEFMOjpXZWJHUFU6OlN0ZW5jaWxWYWx1ZSBzdGVuY2lsQ2xlYXJWYWx1ZSB7IDAg
fTsKKyAgICBzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpMb2FkT3A+IHN0ZW5jaWxMb2FkT3A7
CisgICAgc3RkOjpvcHRpb25hbDxQQUw6OldlYkdQVTo6U3RvcmVPcD4gc3RlbmNpbFN0b3JlT3A7
CiAgICAgYm9vbCBzdGVuY2lsUmVhZE9ubHkgeyBmYWxzZSB9OwogCiAgICAgdGVtcGxhdGU8Y2xh
c3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKICAgICB7CiAg
ICAgICAgIGVuY29kZXIgPDwgdmlldzsKLSAgICAgICAgZW5jb2RlciA8PCBkZXB0aExvYWRWYWx1
ZTsKKyAgICAgICAgZW5jb2RlciA8PCBkZXB0aENsZWFyVmFsdWU7CisgICAgICAgIGVuY29kZXIg
PDwgZGVwdGhMb2FkT3A7CiAgICAgICAgIGVuY29kZXIgPDwgZGVwdGhTdG9yZU9wOwogICAgICAg
ICBlbmNvZGVyIDw8IGRlcHRoUmVhZE9ubHk7Ci0gICAgICAgIGVuY29kZXIgPDwgc3RlbmNpbExv
YWRWYWx1ZTsKKyAgICAgICAgZW5jb2RlciA8PCBzdGVuY2lsQ2xlYXJWYWx1ZTsKKyAgICAgICAg
ZW5jb2RlciA8PCBzdGVuY2lsTG9hZE9wOwogICAgICAgICBlbmNvZGVyIDw8IHN0ZW5jaWxTdG9y
ZU9wOwogICAgICAgICBlbmNvZGVyIDw8IHN0ZW5jaWxSZWFkT25seTsKICAgICB9CkBAIC02Niwx
MiArNzAsMTcgQEAgc3RydWN0IFJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50IHsKICAg
ICAgICAgaWYgKCF2aWV3KQogICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKIAotICAg
ICAgICBzdGQ6Om9wdGlvbmFsPHN0ZDo6dmFyaWFudDxQQUw6OldlYkdQVTo6TG9hZE9wLCBmbG9h
dD4+IGRlcHRoTG9hZFZhbHVlOwotICAgICAgICBkZWNvZGVyID4+IGRlcHRoTG9hZFZhbHVlOwot
ICAgICAgICBpZiAoIWRlcHRoTG9hZFZhbHVlKQorICAgICAgICBzdGQ6Om9wdGlvbmFsPGZsb2F0
PiBkZXB0aENsZWFyVmFsdWU7CisgICAgICAgIGRlY29kZXIgPj4gZGVwdGhDbGVhclZhbHVlOwor
ICAgICAgICBpZiAoIWRlcHRoQ2xlYXJWYWx1ZSkKICAgICAgICAgICAgIHJldHVybiBzdGQ6Om51
bGxvcHQ7CiAKLSAgICAgICAgc3RkOjpvcHRpb25hbDxQQUw6OldlYkdQVTo6U3RvcmVPcD4gZGVw
dGhTdG9yZU9wOworICAgICAgICBzdGQ6Om9wdGlvbmFsPHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJH
UFU6OkxvYWRPcD4+IGRlcHRoTG9hZE9wOworICAgICAgICBkZWNvZGVyID4+IGRlcHRoTG9hZE9w
OworICAgICAgICBpZiAoIWRlcHRoTG9hZE9wKQorICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bnVs
bG9wdDsKKworICAgICAgICBzdGQ6Om9wdGlvbmFsPHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6
OlN0b3JlT3A+PiBkZXB0aFN0b3JlT3A7CiAgICAgICAgIGRlY29kZXIgPj4gZGVwdGhTdG9yZU9w
OwogICAgICAgICBpZiAoIWRlcHRoU3RvcmVPcCkKICAgICAgICAgICAgIHJldHVybiBzdGQ6Om51
bGxvcHQ7CkBAIC04MSwxMiArOTAsMTcgQEAgc3RydWN0IFJlbmRlclBhc3NEZXB0aFN0ZW5jaWxB
dHRhY2htZW50IHsKICAgICAgICAgaWYgKCFkZXB0aFJlYWRPbmx5KQogICAgICAgICAgICAgcmV0
dXJuIHN0ZDo6bnVsbG9wdDsKIAotICAgICAgICBzdGQ6Om9wdGlvbmFsPHN0ZDo6dmFyaWFudDxQ
QUw6OldlYkdQVTo6TG9hZE9wLCBQQUw6OldlYkdQVTo6U3RlbmNpbFZhbHVlPj4gc3RlbmNpbExv
YWRWYWx1ZTsKLSAgICAgICAgZGVjb2RlciA+PiBzdGVuY2lsTG9hZFZhbHVlOwotICAgICAgICBp
ZiAoIXN0ZW5jaWxMb2FkVmFsdWUpCisgICAgICAgIHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6
OlN0ZW5jaWxWYWx1ZT4gc3RlbmNpbENsZWFyVmFsdWU7CisgICAgICAgIGRlY29kZXIgPj4gc3Rl
bmNpbENsZWFyVmFsdWU7CisgICAgICAgIGlmICghc3RlbmNpbENsZWFyVmFsdWUpCisgICAgICAg
ICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworCisgICAgICAgIHN0ZDo6b3B0aW9uYWw8c3RkOjpv
cHRpb25hbDxQQUw6OldlYkdQVTo6TG9hZE9wPj4gc3RlbmNpbExvYWRPcDsKKyAgICAgICAgZGVj
b2RlciA+PiBzdGVuY2lsTG9hZE9wOworICAgICAgICBpZiAoIXN0ZW5jaWxMb2FkT3ApCiAgICAg
ICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogCi0gICAgICAgIHN0ZDo6b3B0aW9uYWw8UEFM
OjpXZWJHUFU6OlN0b3JlT3A+IHN0ZW5jaWxTdG9yZU9wOworICAgICAgICBzdGQ6Om9wdGlvbmFs
PHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlN0b3JlT3A+PiBzdGVuY2lsU3RvcmVPcDsKICAg
ICAgICAgZGVjb2RlciA+PiBzdGVuY2lsU3RvcmVPcDsKICAgICAgICAgaWYgKCFzdGVuY2lsU3Rv
cmVPcCkKICAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CkBAIC05Niw3ICsxMTAsNyBA
QCBzdHJ1Y3QgUmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQgewogICAgICAgICBpZiAo
IXN0ZW5jaWxSZWFkT25seSkKICAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAKLSAg
ICAgICAgcmV0dXJuIHsgeyBXVEZNb3ZlKCp2aWV3KSwgV1RGTW92ZSgqZGVwdGhMb2FkVmFsdWUp
LCBXVEZNb3ZlKCpkZXB0aFN0b3JlT3ApLCBXVEZNb3ZlKCpkZXB0aFJlYWRPbmx5KSwgV1RGTW92
ZSgqc3RlbmNpbExvYWRWYWx1ZSksIFdURk1vdmUoKnN0ZW5jaWxTdG9yZU9wKSwgV1RGTW92ZSgq
c3RlbmNpbFJlYWRPbmx5KSB9IH07CisgICAgICAgIHJldHVybiB7IHsgV1RGTW92ZSgqdmlldyks
IFdURk1vdmUoKmRlcHRoQ2xlYXJWYWx1ZSksIFdURk1vdmUoKmRlcHRoTG9hZE9wKSwgV1RGTW92
ZSgqZGVwdGhTdG9yZU9wKSwgV1RGTW92ZSgqZGVwdGhSZWFkT25seSksIFdURk1vdmUoKnN0ZW5j
aWxDbGVhclZhbHVlKSwgV1RGTW92ZSgqc3RlbmNpbExvYWRPcCksIFdURk1vdmUoKnN0ZW5jaWxT
dG9yZU9wKSwgV1RGTW92ZSgqc3RlbmNpbFJlYWRPbmx5KSB9IH07CiAgICAgfQogfTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVVJlbmRlclBhc3NEZXNj
cmlwdG9yLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVSZW5kZXJQYXNz
RGVzY3JpcHRvci5jcHAKaW5kZXggMTMyY2ZhNWI4ZmRjYzFiZDc4OWY2YWJiZWUyNmUyODQ2NDIy
NjJhNS4uNDg1ZWNjNThjMzQ3NDI4OWUwYjBiMDYwZGE2NzA2YzEzOWMzNWRhYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVVJlbmRlclBhc3NEZXNjcmlwdG9y
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVUmVuZGVyUGFzc0Rl
c2NyaXB0b3IuY3BwCkBAIC00MCwxMyArNDAsMTYgQEAgc3RkOjpvcHRpb25hbDxSZW5kZXJQYXNz
RGVzY3JpcHRvcj4gQ29udmVydFRvQmFja2luZ0NvbnRleHQ6OmNvbnZlcnRUb0JhY2tpbmcoY28K
ICAgICBpZiAoIWJhc2UpCiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAKLSAgICBWZWN0
b3I8UmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudD4gY29sb3JBdHRhY2htZW50czsKKyAgICBWZWN0
b3I8c3RkOjpvcHRpb25hbDxSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50Pj4gY29sb3JBdHRhY2ht
ZW50czsKICAgICBjb2xvckF0dGFjaG1lbnRzLnJlc2VydmVJbml0aWFsQ2FwYWNpdHkocmVuZGVy
UGFzc0Rlc2NyaXB0b3IuY29sb3JBdHRhY2htZW50cy5zaXplKCkpOwogICAgIGZvciAoY29uc3Qg
YXV0byYgY29sb3JBdHRhY2htZW50IDogcmVuZGVyUGFzc0Rlc2NyaXB0b3IuY29sb3JBdHRhY2ht
ZW50cykgewotICAgICAgICBhdXRvIGJhY2tpbmdDb2xvckF0dGFjaG1lbnQgPSBjb252ZXJ0VG9C
YWNraW5nKGNvbG9yQXR0YWNobWVudCk7Ci0gICAgICAgIGlmICghYmFja2luZ0NvbG9yQXR0YWNo
bWVudCkKLSAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7Ci0gICAgICAgIGNvbG9yQXR0
YWNobWVudHMudW5jaGVja2VkQXBwZW5kKFdURk1vdmUoKmJhY2tpbmdDb2xvckF0dGFjaG1lbnQp
KTsKKyAgICAgICAgaWYgKGNvbG9yQXR0YWNobWVudCkgeworICAgICAgICAgICAgYXV0byBiYWNr
aW5nQ29sb3JBdHRhY2htZW50ID0gY29udmVydFRvQmFja2luZygqY29sb3JBdHRhY2htZW50KTsK
KyAgICAgICAgICAgIGlmICghYmFja2luZ0NvbG9yQXR0YWNobWVudCkKKyAgICAgICAgICAgICAg
ICByZXR1cm4gc3RkOjpudWxsb3B0OworICAgICAgICAgICAgY29sb3JBdHRhY2htZW50cy51bmNo
ZWNrZWRBcHBlbmQoV1RGTW92ZSgqYmFja2luZ0NvbG9yQXR0YWNobWVudCkpOworICAgICAgICB9
IGVsc2UKKyAgICAgICAgICAgIGNvbG9yQXR0YWNobWVudHMudW5jaGVja2VkQXBwZW5kKHN0ZDo6
bnVsbG9wdCk7CiAgICAgfQogCiAgICAgc3RkOjpvcHRpb25hbDxSZW5kZXJQYXNzRGVwdGhTdGVu
Y2lsQXR0YWNobWVudD4gZGVwdGhTdGVuY2lsQXR0YWNobWVudDsKQEAgLTc2LDEzICs3OSwxNiBA
QCBzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpSZW5kZXJQYXNzRGVzY3JpcHRvcj4gQ29udmVy
dEZyb21CYWNraW5nQ29udGV4dDo6Y29udgogICAgIGlmICghYmFzZSkKICAgICAgICAgcmV0dXJu
IHN0ZDo6bnVsbG9wdDsKIAotICAgIFZlY3RvcjxQQUw6OldlYkdQVTo6UmVuZGVyUGFzc0NvbG9y
QXR0YWNobWVudD4gY29sb3JBdHRhY2htZW50czsKKyAgICBWZWN0b3I8c3RkOjpvcHRpb25hbDxQ
QUw6OldlYkdQVTo6UmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudD4+IGNvbG9yQXR0YWNobWVudHM7
CiAgICAgY29sb3JBdHRhY2htZW50cy5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KHJlbmRlclBhc3NE
ZXNjcmlwdG9yLmNvbG9yQXR0YWNobWVudHMuc2l6ZSgpKTsKICAgICBmb3IgKGNvbnN0IGF1dG8m
IGJhY2tpbmdDb2xvckF0dGFjaG1lbnQgOiByZW5kZXJQYXNzRGVzY3JpcHRvci5jb2xvckF0dGFj
aG1lbnRzKSB7Ci0gICAgICAgIGF1dG8gY29sb3JBdHRhY2htZW50ID0gY29udmVydEZyb21CYWNr
aW5nKGJhY2tpbmdDb2xvckF0dGFjaG1lbnQpOwotICAgICAgICBpZiAoIWNvbG9yQXR0YWNobWVu
dCkKLSAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7Ci0gICAgICAgIGNvbG9yQXR0YWNo
bWVudHMudW5jaGVja2VkQXBwZW5kKFdURk1vdmUoKmNvbG9yQXR0YWNobWVudCkpOworICAgICAg
ICBpZiAoYmFja2luZ0NvbG9yQXR0YWNobWVudCkgeworICAgICAgICAgICAgYXV0byBjb2xvckF0
dGFjaG1lbnQgPSBjb252ZXJ0RnJvbUJhY2tpbmcoKmJhY2tpbmdDb2xvckF0dGFjaG1lbnQpOwor
ICAgICAgICAgICAgaWYgKCFjb2xvckF0dGFjaG1lbnQpCisgICAgICAgICAgICAgICAgcmV0dXJu
IHN0ZDo6bnVsbG9wdDsKKyAgICAgICAgICAgIGNvbG9yQXR0YWNobWVudHMudW5jaGVja2VkQXBw
ZW5kKFdURk1vdmUoKmNvbG9yQXR0YWNobWVudCkpOworICAgICAgICB9IGVsc2UKKyAgICAgICAg
ICAgIGNvbG9yQXR0YWNobWVudHMudW5jaGVja2VkQXBwZW5kKHN0ZDo6bnVsbG9wdCk7CiAgICAg
fQogCiAgICAgYXV0byBkZXB0aFN0ZW5jaWxBdHRhY2htZW50ID0gKFsmXSAoKSAtPiBzdGQ6Om9w
dGlvbmFsPFBBTDo6V2ViR1BVOjpSZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNobWVudD4gewpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVVJlbmRlclBhc3NE
ZXNjcmlwdG9yLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVUmVuZGVyUGFz
c0Rlc2NyaXB0b3IuaAppbmRleCBiN2U4ZjVkODRhMTYwOWQyZGI5NTAyZjc2YTNlNDhlNmViMGY2
NTliLi5kNWJjMzExY2Q3ODljYzc2YTk0MDFlMzc3ZTNjYzRmNWJkZjk2MGIwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3Iu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVUmVuZGVyUGFzc0Rlc2Ny
aXB0b3IuaApAQCAtMzgsNyArMzgsNyBAQAogbmFtZXNwYWNlIFdlYktpdDo6V2ViR1BVIHsKIAog
c3RydWN0IFJlbmRlclBhc3NEZXNjcmlwdG9yIDogcHVibGljIE9iamVjdERlc2NyaXB0b3JCYXNl
IHsKLSAgICBWZWN0b3I8UmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudD4gY29sb3JBdHRhY2htZW50
czsKKyAgICBWZWN0b3I8c3RkOjpvcHRpb25hbDxSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50Pj4g
Y29sb3JBdHRhY2htZW50czsKICAgICBzdGQ6Om9wdGlvbmFsPFJlbmRlclBhc3NEZXB0aFN0ZW5j
aWxBdHRhY2htZW50PiBkZXB0aFN0ZW5jaWxBdHRhY2htZW50OwogICAgIFdlYkdQVUlkZW50aWZp
ZXIgb2NjbHVzaW9uUXVlcnlTZXQ7CiAgICAgUmVuZGVyUGFzc1RpbWVzdGFtcFdyaXRlcyB0aW1l
c3RhbXBXcml0ZXM7CkBAIC01OSw3ICs1OSw3IEBAIHN0cnVjdCBSZW5kZXJQYXNzRGVzY3JpcHRv
ciA6IHB1YmxpYyBPYmplY3REZXNjcmlwdG9yQmFzZSB7CiAgICAgICAgIGlmICghb2JqZWN0RGVz
Y3JpcHRvckJhc2UpCiAgICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogCi0gICAgICAg
IHN0ZDo6b3B0aW9uYWw8VmVjdG9yPFJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQ+PiBjb2xvckF0
dGFjaG1lbnRzOworICAgICAgICBzdGQ6Om9wdGlvbmFsPFZlY3RvcjxzdGQ6Om9wdGlvbmFsPFJl
bmRlclBhc3NDb2xvckF0dGFjaG1lbnQ+Pj4gY29sb3JBdHRhY2htZW50czsKICAgICAgICAgZGVj
b2RlciA+PiBjb2xvckF0dGFjaG1lbnRzOwogICAgICAgICBpZiAoIWNvbG9yQXR0YWNobWVudHMp
CiAgICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVVJlbmRlclBhc3NMYXlvdXQuaCBiL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVSZW5kZXJQYXNzTGF5b3V0LmgKaW5kZXggZTljZjIyYmJh
ZTdlMjViMTY3NDdmY2ZmMjRmYmNhY2YwNjg5MDQzOC4uNGRhZmQ5Y2UxMjdhMmJjZDkxNzNiMTA0
NTcwNTJlYTNkZWNkZjJhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BV
L1dlYkdQVVJlbmRlclBhc3NMYXlvdXQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJH
UFUvV2ViR1BVUmVuZGVyUGFzc0xheW91dC5oCkBAIC0zNiw3ICszNiw3IEBACiBuYW1lc3BhY2Ug
V2ViS2l0OjpXZWJHUFUgewogCiBzdHJ1Y3QgUmVuZGVyUGFzc0xheW91dCA6IHB1YmxpYyBPYmpl
Y3REZXNjcmlwdG9yQmFzZSB7Ci0gICAgVmVjdG9yPFBBTDo6V2ViR1BVOjpUZXh0dXJlRm9ybWF0
PiBjb2xvckZvcm1hdHM7CisgICAgVmVjdG9yPHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlRl
eHR1cmVGb3JtYXQ+PiBjb2xvckZvcm1hdHM7CiAgICAgc3RkOjpvcHRpb25hbDxQQUw6OldlYkdQ
VTo6VGV4dHVyZUZvcm1hdD4gZGVwdGhTdGVuY2lsRm9ybWF0OwogICAgIFBBTDo6V2ViR1BVOjpT
aXplMzIgc2FtcGxlQ291bnQgeyAxIH07CiAKQEAgLTU1LDcgKzU1LDcgQEAgc3RydWN0IFJlbmRl
clBhc3NMYXlvdXQgOiBwdWJsaWMgT2JqZWN0RGVzY3JpcHRvckJhc2UgewogICAgICAgICBpZiAo
IW9iamVjdERlc2NyaXB0b3JCYXNlKQogICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsK
IAotICAgICAgICBzdGQ6Om9wdGlvbmFsPFZlY3RvcjxQQUw6OldlYkdQVTo6VGV4dHVyZUZvcm1h
dD4+IGNvbG9yRm9ybWF0czsKKyAgICAgICAgc3RkOjpvcHRpb25hbDxWZWN0b3I8c3RkOjpvcHRp
b25hbDxQQUw6OldlYkdQVTo6VGV4dHVyZUZvcm1hdD4+PiBjb2xvckZvcm1hdHM7CiAgICAgICAg
IGRlY29kZXIgPj4gY29sb3JGb3JtYXRzOwogICAgICAgICBpZiAoIWNvbG9yRm9ybWF0cykKICAg
ICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9XZWJHUFUvV2ViR1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50LmNwcCBiL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhp
bnQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjYwNGM3YjA0NWFmZTc0OTk2NmMyMjk2MzY2ZGNhZDYzODM5ZmMw
ZGQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BV
U2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50LmNwcApAQCAtMCwwICsxLDU3IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldlYkdQVVNoYWRlck1vZHVsZUNv
bXBpbGF0aW9uSGludC5oIgorCisjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKQorCisjaW5jbHVkZSAi
V2ViR1BVQ29udmVydEZyb21CYWNraW5nQ29udGV4dC5oIgorI2luY2x1ZGUgIldlYkdQVUNvbnZl
cnRUb0JhY2tpbmdDb250ZXh0LmgiCisjaW5jbHVkZSA8cGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJH
UFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQuaD4KKworbmFtZXNwYWNlIFdlYktpdDo6V2Vi
R1BVIHsKKworc3RkOjpvcHRpb25hbDxTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQ+IENvbnZl
cnRUb0JhY2tpbmdDb250ZXh0Ojpjb252ZXJ0VG9CYWNraW5nKGNvbnN0IFBBTDo6V2ViR1BVOjpT
aGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQmIHNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludCkK
K3sKKyAgICBXZWJHUFVJZGVudGlmaWVyIHBpcGVsaW5lTGF5b3V0ID0gY29udmVydFRvQmFja2lu
ZyhzaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQucGlwZWxpbmVMYXlvdXQpOworICAgIGlmICgh
cGlwZWxpbmVMYXlvdXQpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICByZXR1
cm4geyB7IHBpcGVsaW5lTGF5b3V0IH0gfTsKK30KKworc3RkOjpvcHRpb25hbDxQQUw6OldlYkdQ
VTo6U2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50PiBDb252ZXJ0RnJvbUJhY2tpbmdDb250ZXh0
Ojpjb252ZXJ0RnJvbUJhY2tpbmcoY29uc3QgU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50JiBz
aGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQpCit7CisgICAgYXV0byogcGlwZWxpbmVMYXlvdXQg
PSBjb252ZXJ0UGlwZWxpbmVMYXlvdXRGcm9tQmFja2luZyhzaGFkZXJNb2R1bGVDb21waWxhdGlv
bkhpbnQucGlwZWxpbmVMYXlvdXQpOworICAgIGlmICghcGlwZWxpbmVMYXlvdXQpCisgICAgICAg
IHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICByZXR1cm4geyB7ICpwaXBlbGluZUxheW91dCB9
IH07Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gRU5BQkxFKEdQVV9Q
Uk9DRVNTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVVNo
YWRlck1vZHVsZUNvbXBpbGF0aW9uSGludC5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BV
L1dlYkdQVVNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU4OTM2OWRm
ZWE0ZDAyNmY1Mzc0YWExMjIyNzJhMDZiZTQxM2U4OWIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50
LmgKQEAgLTAsMCArMSw1NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5B
QkxFKEdQVV9QUk9DRVNTKQorCisjaW5jbHVkZSAiV2ViR1BVSWRlbnRpZmllci5oIgorI2luY2x1
ZGUgPG9wdGlvbmFsPgorCituYW1lc3BhY2UgV2ViS2l0OjpXZWJHUFUgeworCitzdHJ1Y3QgU2hh
ZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50IHsKKyAgICBXZWJHUFVJZGVudGlmaWVyIHBpcGVsaW5l
TGF5b3V0OworCisgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2Rl
ciYgZW5jb2RlcikgY29uc3QKKyAgICB7CisgICAgICAgIGVuY29kZXIgPDwgcGlwZWxpbmVMYXlv
dXQ7CisgICAgfQorCisgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIHN0ZDo6b3B0
aW9uYWw8U2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50PiBkZWNvZGUoRGVjb2RlciYgZGVjb2Rl
cikKKyAgICB7CisgICAgICAgIHN0ZDo6b3B0aW9uYWw8V2ViR1BVSWRlbnRpZmllcj4gcGlwZWxp
bmVMYXlvdXQ7CisgICAgICAgIGRlY29kZXIgPj4gcGlwZWxpbmVMYXlvdXQ7CisgICAgICAgIGlm
ICghcGlwZWxpbmVMYXlvdXQpCisgICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworCisg
ICAgICAgIHJldHVybiB7IHsgV1RGTW92ZSgqcGlwZWxpbmVMYXlvdXQpIH0gfTsKKyAgICB9Cit9
OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQ6OldlYkdQVQorCisjZW5kaWYgLy8gRU5BQkxFKEdQ
VV9QUk9DRVNTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQ
VVNoYWRlck1vZHVsZURlc2NyaXB0b3IuY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BV
L1dlYkdQVVNoYWRlck1vZHVsZURlc2NyaXB0b3IuY3BwCmluZGV4IDI2ZGJkNjc4ZWVkNjllYzdh
NTAzNTRkNTg3Y2RkZWM2ZmFjZWRiN2YuLmZiZmUyMGI3YjRjNmFlYjEwMWVjMDY3MzliNTM4M2Ni
NmFiOTJmMWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVT
aGFkZXJNb2R1bGVEZXNjcmlwdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJH
UFUvV2ViR1BVU2hhZGVyTW9kdWxlRGVzY3JpcHRvci5jcHAKQEAgLTQwLDcgKzQwLDE2IEBAIHN0
ZDo6b3B0aW9uYWw8U2hhZGVyTW9kdWxlRGVzY3JpcHRvcj4gQ29udmVydFRvQmFja2luZ0NvbnRl
eHQ6OmNvbnZlcnRUb0JhY2tpbmcoCiAgICAgaWYgKCFiYXNlKQogICAgICAgICByZXR1cm4gc3Rk
OjpudWxsb3B0OwogCi0gICAgcmV0dXJuIHsgeyBXVEZNb3ZlKCpiYXNlKSwgc2hhZGVyTW9kdWxl
RGVzY3JpcHRvci5jb2RlIH0gfTsKKyAgICBWZWN0b3I8S2V5VmFsdWVQYWlyPFN0cmluZywgU2hh
ZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50Pj4gaGludHM7CisgICAgaGludHMucmVzZXJ2ZUluaXRp
YWxDYXBhY2l0eShzaGFkZXJNb2R1bGVEZXNjcmlwdG9yLmhpbnRzLnNpemUoKSk7CisgICAgZm9y
IChjb25zdCBhdXRvJiBoaW50IDogc2hhZGVyTW9kdWxlRGVzY3JpcHRvci5oaW50cykgeworICAg
ICAgICBhdXRvIHZhbHVlID0gY29udmVydFRvQmFja2luZyhoaW50LnZhbHVlKTsKKyAgICAgICAg
aWYgKCF2YWx1ZSkKKyAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisgICAgICAgIGhp
bnRzLnVuY2hlY2tlZEFwcGVuZChtYWtlS2V5VmFsdWVQYWlyKGhpbnQua2V5LCBXVEZNb3ZlKCp2
YWx1ZSkpKTsKKyAgICB9CisKKyAgICByZXR1cm4geyB7IFdURk1vdmUoKmJhc2UpLCBzaGFkZXJN
b2R1bGVEZXNjcmlwdG9yLmNvZGUsIFdURk1vdmUoaGludHMpIH0gfTsKIH0KIAogc3RkOjpvcHRp
b25hbDxQQUw6OldlYkdQVTo6U2hhZGVyTW9kdWxlRGVzY3JpcHRvcj4gQ29udmVydEZyb21CYWNr
aW5nQ29udGV4dDo6Y29udmVydEZyb21CYWNraW5nKGNvbnN0IFNoYWRlck1vZHVsZURlc2NyaXB0
b3ImIHNoYWRlck1vZHVsZURlc2NyaXB0b3IpCkBAIC00OSw3ICs1OCwxNiBAQCBzdGQ6Om9wdGlv
bmFsPFBBTDo6V2ViR1BVOjpTaGFkZXJNb2R1bGVEZXNjcmlwdG9yPiBDb252ZXJ0RnJvbUJhY2tp
bmdDb250ZXh0OjpjbwogICAgIGlmICghYmFzZSkKICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9w
dDsKIAotICAgIHJldHVybiB7IHsgV1RGTW92ZSgqYmFzZSksIHNoYWRlck1vZHVsZURlc2NyaXB0
b3IuY29kZSB9IH07CisgICAgVmVjdG9yPEtleVZhbHVlUGFpcjxTdHJpbmcsIFBBTDo6V2ViR1BV
OjpTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQ+PiBoaW50czsKKyAgICBoaW50cy5yZXNlcnZl
SW5pdGlhbENhcGFjaXR5KHNoYWRlck1vZHVsZURlc2NyaXB0b3IuaGludHMuc2l6ZSgpKTsKKyAg
ICBmb3IgKGNvbnN0IGF1dG8mIGhpbnQgOiBzaGFkZXJNb2R1bGVEZXNjcmlwdG9yLmhpbnRzKSB7
CisgICAgICAgIGF1dG8gdmFsdWUgPSBjb252ZXJ0RnJvbUJhY2tpbmcoaGludC52YWx1ZSk7Cisg
ICAgICAgIGlmICghdmFsdWUpCisgICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworICAg
ICAgICBoaW50cy51bmNoZWNrZWRBcHBlbmQobWFrZUtleVZhbHVlUGFpcihoaW50LmtleSwgV1RG
TW92ZSgqdmFsdWUpKSk7CisgICAgfQorCisgICAgcmV0dXJuIHsgeyBXVEZNb3ZlKCpiYXNlKSwg
c2hhZGVyTW9kdWxlRGVzY3JpcHRvci5jb2RlLCBXVEZNb3ZlKGhpbnRzKSB9IH07CiB9CiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2Vi
R1BVL1dlYkdQVVNoYWRlck1vZHVsZURlc2NyaXB0b3IuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L1dlYkdQVS9XZWJHUFVTaGFkZXJNb2R1bGVEZXNjcmlwdG9yLmgKaW5kZXggNWM4MWI0ZGM0MmFk
Zjk0OWQ0NTJhZTU5Njg1NjYwMjczNzViOGE0Yi4uODYwZTBiYTk1M2QwYTExNzczNGFjNzE1MmI1
OWEzMzgzZjUwZDg4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dl
YkdQVVNoYWRlck1vZHVsZURlc2NyaXB0b3IuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9X
ZWJHUFUvV2ViR1BVU2hhZGVyTW9kdWxlRGVzY3JpcHRvci5oCkBAIC0yOCw2ICsyOCw3IEBACiAj
aWYgRU5BQkxFKEdQVV9QUk9DRVNTKQogCiAjaW5jbHVkZSAiV2ViR1BVT2JqZWN0RGVzY3JpcHRv
ckJhc2UuaCIKKyNpbmNsdWRlICJXZWJHUFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQuaCIK
ICNpbmNsdWRlIDxvcHRpb25hbD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIApA
QCAtMzYsMTEgKzM3LDEzIEBAIG5hbWVzcGFjZSBXZWJLaXQ6OldlYkdQVSB7CiBzdHJ1Y3QgU2hh
ZGVyTW9kdWxlRGVzY3JpcHRvciA6IHB1YmxpYyBPYmplY3REZXNjcmlwdG9yQmFzZSB7CiAgICAg
U3RyaW5nIGNvZGU7CiAgICAgLy8gRklYTUU6IEhvb2sgdXAgdGhlIHNvdXJjZU1hcC4KKyAgICBW
ZWN0b3I8S2V5VmFsdWVQYWlyPFN0cmluZywgU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50Pj4g
aGludHM7CiAKICAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVy
JiBlbmNvZGVyKSBjb25zdAogICAgIHsKICAgICAgICAgZW5jb2RlciA8PCBzdGF0aWNfY2FzdDxj
b25zdCBPYmplY3REZXNjcmlwdG9yQmFzZSY+KCp0aGlzKTsKICAgICAgICAgZW5jb2RlciA8PCBj
b2RlOworICAgICAgICBlbmNvZGVyIDw8IGhpbnRzOwogICAgIH0KIAogICAgIHRlbXBsYXRlPGNs
YXNzIERlY29kZXI+IHN0YXRpYyBzdGQ6Om9wdGlvbmFsPFNoYWRlck1vZHVsZURlc2NyaXB0b3I+
IGRlY29kZShEZWNvZGVyJiBkZWNvZGVyKQpAQCAtNTUsNyArNTgsMTIgQEAgc3RydWN0IFNoYWRl
ck1vZHVsZURlc2NyaXB0b3IgOiBwdWJsaWMgT2JqZWN0RGVzY3JpcHRvckJhc2UgewogICAgICAg
ICBpZiAoIWNvZGUpCiAgICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogCi0gICAgICAg
IHJldHVybiB7IHsgV1RGTW92ZSgqb2JqZWN0RGVzY3JpcHRvckJhc2UpLCBXVEZNb3ZlKCpjb2Rl
KSB9IH07CisgICAgICAgIHN0ZDo6b3B0aW9uYWw8VmVjdG9yPEtleVZhbHVlUGFpcjxTdHJpbmcs
IFNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludD4+PiBoaW50czsKKyAgICAgICAgZGVjb2RlciA+
PiBoaW50czsKKyAgICAgICAgaWYgKCFoaW50cykKKyAgICAgICAgICAgIHJldHVybiBzdGQ6Om51
bGxvcHQ7CisKKyAgICAgICAgcmV0dXJuIHsgeyBXVEZNb3ZlKCpvYmplY3REZXNjcmlwdG9yQmFz
ZSksIFdURk1vdmUoKmNvZGUpLCBXVEZNb3ZlKCpoaW50cykgfSB9OwogICAgIH0KIH07CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVUZXh0dXJlRGVzY3Jp
cHRvci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVVGV4dHVyZURlc2Ny
aXB0b3IuY3BwCmluZGV4IGJmNmI0ZDM1NjJlNzA3OGExYTRlNTRhY2RlZGMwNWQ5MGQ1ZjFlYTIu
LmNjMDMyMzExYTFkNjQxOWViMGI1Mjg0N2Y2ZTk2NmJhNzY1MjY4MTQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVUZXh0dXJlRGVzY3JpcHRvci5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVVRleHR1cmVEZXNjcmlwdG9yLmNw
cApAQCAtNDQsNyArNDQsNyBAQCBzdGQ6Om9wdGlvbmFsPFRleHR1cmVEZXNjcmlwdG9yPiBDb252
ZXJ0VG9CYWNraW5nQ29udGV4dDo6Y29udmVydFRvQmFja2luZyhjb25zdAogICAgIGlmICghc2l6
ZSkKICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKIAotICAgIHJldHVybiB7IHsgV1RGTW92
ZSgqYmFzZSksIFdURk1vdmUoKnNpemUpLCB0ZXh0dXJlRGVzY3JpcHRvci5taXBMZXZlbENvdW50
LCB0ZXh0dXJlRGVzY3JpcHRvci5zYW1wbGVDb3VudCwgdGV4dHVyZURlc2NyaXB0b3IuZGltZW5z
aW9uLCB0ZXh0dXJlRGVzY3JpcHRvci5mb3JtYXQsIHRleHR1cmVEZXNjcmlwdG9yLnVzYWdlIH0g
fTsKKyAgICByZXR1cm4geyB7IFdURk1vdmUoKmJhc2UpLCBXVEZNb3ZlKCpzaXplKSwgdGV4dHVy
ZURlc2NyaXB0b3IubWlwTGV2ZWxDb3VudCwgdGV4dHVyZURlc2NyaXB0b3Iuc2FtcGxlQ291bnQs
IHRleHR1cmVEZXNjcmlwdG9yLmRpbWVuc2lvbiwgdGV4dHVyZURlc2NyaXB0b3IuZm9ybWF0LCB0
ZXh0dXJlRGVzY3JpcHRvci51c2FnZSwgdGV4dHVyZURlc2NyaXB0b3Iudmlld0Zvcm1hdHMgfSB9
OwogfQogCiBzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpUZXh0dXJlRGVzY3JpcHRvcj4gQ29u
dmVydEZyb21CYWNraW5nQ29udGV4dDo6Y29udmVydEZyb21CYWNraW5nKGNvbnN0IFRleHR1cmVE
ZXNjcmlwdG9yJiB0ZXh0dXJlRGVzY3JpcHRvcikKQEAgLTU3LDcgKzU3LDcgQEAgc3RkOjpvcHRp
b25hbDxQQUw6OldlYkdQVTo6VGV4dHVyZURlc2NyaXB0b3I+IENvbnZlcnRGcm9tQmFja2luZ0Nv
bnRleHQ6OmNvbnZlcnQKICAgICBpZiAoIXNpemUpCiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxv
cHQ7CiAKLSAgICByZXR1cm4geyB7IFdURk1vdmUoKmJhc2UpLCBXVEZNb3ZlKCpzaXplKSwgdGV4
dHVyZURlc2NyaXB0b3IubWlwTGV2ZWxDb3VudCwgdGV4dHVyZURlc2NyaXB0b3Iuc2FtcGxlQ291
bnQsIHRleHR1cmVEZXNjcmlwdG9yLmRpbWVuc2lvbiwgdGV4dHVyZURlc2NyaXB0b3IuZm9ybWF0
LCB0ZXh0dXJlRGVzY3JpcHRvci51c2FnZSB9IH07CisgICAgcmV0dXJuIHsgeyBXVEZNb3ZlKCpi
YXNlKSwgV1RGTW92ZSgqc2l6ZSksIHRleHR1cmVEZXNjcmlwdG9yLm1pcExldmVsQ291bnQsIHRl
eHR1cmVEZXNjcmlwdG9yLnNhbXBsZUNvdW50LCB0ZXh0dXJlRGVzY3JpcHRvci5kaW1lbnNpb24s
IHRleHR1cmVEZXNjcmlwdG9yLmZvcm1hdCwgdGV4dHVyZURlc2NyaXB0b3IudXNhZ2UsIHRleHR1
cmVEZXNjcmlwdG9yLnZpZXdGb3JtYXRzIH0gfTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVVGV4dHVyZURl
c2NyaXB0b3IuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVUZXh0dXJlRGVz
Y3JpcHRvci5oCmluZGV4IGQ5ZWNlZmVkMGE4M2NiNWY5NDMwMjc1ODBhMWQxMzg3MDhjN2EwZTMu
LjdjNGRiNDNkYjRhMGU3YzE1M2VjZWU5NDQzOTcxNWNjMDI5ZjVhMjAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVUZXh0dXJlRGVzY3JpcHRvci5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVUZXh0dXJlRGVzY3JpcHRvci5oCkBA
IC00NCw2ICs0NCw3IEBAIHN0cnVjdCBUZXh0dXJlRGVzY3JpcHRvciA6IHB1YmxpYyBPYmplY3RE
ZXNjcmlwdG9yQmFzZSB7CiAgICAgUEFMOjpXZWJHUFU6OlRleHR1cmVEaW1lbnNpb24gZGltZW5z
aW9uIHsgUEFMOjpXZWJHUFU6OlRleHR1cmVEaW1lbnNpb246Ol8yZCB9OwogICAgIFBBTDo6V2Vi
R1BVOjpUZXh0dXJlRm9ybWF0IGZvcm1hdCB7IFBBTDo6V2ViR1BVOjpUZXh0dXJlRm9ybWF0OjpS
OHVub3JtIH07CiAgICAgUEFMOjpXZWJHUFU6OlRleHR1cmVVc2FnZUZsYWdzIHVzYWdlOworICAg
IFZlY3RvcjxQQUw6OldlYkdQVTo6VGV4dHVyZUZvcm1hdD4gdmlld0Zvcm1hdHM7CiAKICAgICB0
ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25z
dAogICAgIHsKQEAgLTU0LDYgKzU1LDcgQEAgc3RydWN0IFRleHR1cmVEZXNjcmlwdG9yIDogcHVi
bGljIE9iamVjdERlc2NyaXB0b3JCYXNlIHsKICAgICAgICAgZW5jb2RlciA8PCBkaW1lbnNpb247
CiAgICAgICAgIGVuY29kZXIgPDwgZm9ybWF0OwogICAgICAgICBlbmNvZGVyIDw8IHVzYWdlOwor
ICAgICAgICBlbmNvZGVyIDw8IHZpZXdGb3JtYXRzOwogICAgIH0KIAogICAgIHRlbXBsYXRlPGNs
YXNzIERlY29kZXI+IHN0YXRpYyBzdGQ6Om9wdGlvbmFsPFRleHR1cmVEZXNjcmlwdG9yPiBkZWNv
ZGUoRGVjb2RlciYgZGVjb2RlcikKQEAgLTkzLDcgKzk1LDEyIEBAIHN0cnVjdCBUZXh0dXJlRGVz
Y3JpcHRvciA6IHB1YmxpYyBPYmplY3REZXNjcmlwdG9yQmFzZSB7CiAgICAgICAgIGlmICghdXNh
Z2UpCiAgICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogCi0gICAgICAgIHJldHVybiB7
IHsgV1RGTW92ZSgqb2JqZWN0RGVzY3JpcHRvckJhc2UpLCBXVEZNb3ZlKCpzaXplKSwgV1RGTW92
ZSgqbWlwTGV2ZWxDb3VudCksIFdURk1vdmUoKnNhbXBsZUNvdW50KSwgV1RGTW92ZSgqZGltZW5z
aW9uKSwgV1RGTW92ZSgqZm9ybWF0KSwgV1RGTW92ZSgqdXNhZ2UpIH0gfTsKKyAgICAgICAgc3Rk
OjpvcHRpb25hbDxWZWN0b3I8UEFMOjpXZWJHUFU6OlRleHR1cmVGb3JtYXQ+PiB2aWV3Rm9ybWF0
czsKKyAgICAgICAgZGVjb2RlciA+PiB2aWV3Rm9ybWF0czsKKyAgICAgICAgaWYgKCF2aWV3Rm9y
bWF0cykKKyAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICAgICAgcmV0dXJu
IHsgeyBXVEZNb3ZlKCpvYmplY3REZXNjcmlwdG9yQmFzZSksIFdURk1vdmUoKnNpemUpLCBXVEZN
b3ZlKCptaXBMZXZlbENvdW50KSwgV1RGTW92ZSgqc2FtcGxlQ291bnQpLCBXVEZNb3ZlKCpkaW1l
bnNpb24pLCBXVEZNb3ZlKCpmb3JtYXQpLCBXVEZNb3ZlKCp1c2FnZSksIFdURk1vdmUoKnZpZXdG
b3JtYXRzKSB9IH07CiAgICAgfQogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9Tb3Vy
Y2VzLnR4dCBiL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQKaW5kZXggZjM4YjNlZDcwMTUxZjY4
MjU5YjEzMzU1N2UyNTNmYTkzNTllYjEwZC4uYzczMjBiMTAyZTdkOGYyYjZmZWY4ZDJiNDZmY2M4
YjllZDdkMTA5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dAorKysgYi9T
b3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0CkBAIC0zODMsNiArMzgzLDcgQEAgU2hhcmVkL1dlYkdQ
VS9XZWJHUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3IuY3BwCiBTaGFyZWQvV2ViR1BVL1dlYkdQ
VVJlcXVlc3RBZGFwdGVyT3B0aW9ucy5jcHAKIFNoYXJlZC9XZWJHUFUvV2ViR1BVU2FtcGxlckJp
bmRpbmdMYXlvdXQuY3BwCiBTaGFyZWQvV2ViR1BVL1dlYkdQVVNhbXBsZXJEZXNjcmlwdG9yLmNw
cAorU2hhcmVkL1dlYkdQVS9XZWJHUFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQuY3BwCiBT
aGFyZWQvV2ViR1BVL1dlYkdQVVNoYWRlck1vZHVsZURlc2NyaXB0b3IuY3BwCiBTaGFyZWQvV2Vi
R1BVL1dlYkdQVVN0ZW5jaWxGYWNlU3RhdGUuY3BwCiBTaGFyZWQvV2ViR1BVL1dlYkdQVVN0b3Jh
Z2VUZXh0dXJlQmluZGluZ0xheW91dC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
S2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGNjMjk2MDk3YTg3NjM4ZmE2ZWYzZTg2MGI3ODMy
ZWFmOGViOWVkYmEuLmQxNTIzY2Q1MjJjNzg2NmE3NzA1MTllNDZmNTUyYWU1YjkyYTI1MDggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
KysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAt
MzM3MSw2ICszMzcxLDggQEAKIAkJMUNEREZDN0MyNzU1ODY2RDAwQzkzQzYyIC8qIFJlbW90ZUdQ
VVByb3h5TWVzc2FnZXNSZXBsaWVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbW90ZUdQVVByb3h5TWVz
c2FnZXNSZXBsaWVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDRERGQzdEMjc1
NTg2NkQwMEM5M0M2MiAvKiBSZW1vdGVHUFVQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBSZW1vdGVHUFVQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDRERGQzdFMjc1NTg2NkQwMEM5M0M2MiAvKiBSZW1vdGVH
UFVQcm94eU1lc3NhZ2VzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbW90ZUdQVVByb3h5TWVzc2FnZXMu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUNFRjQ1QkIyN0JDQTQ2QTAwQzNBNkJD
IC8qIFdlYkdQVVNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludC5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBXZWJHUFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkxQ0VGNDVCQzI3QkNBNDZBMDBDM0E2QkMgLyogV2ViR1BVU2hhZGVy
TW9kdWxlQ29tcGlsYXRpb25IaW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkdQVVNoYWRlck1vZHVs
ZUNvbXBpbGF0aW9uSGludC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQ0YxOEYz
RTI2QkI1RDkwMDA0QjE3MjIgLyogTG9nSW5pdGlhbGl6YXRpb24uY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gTG9nSW5pdGlhbGl6YXRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQkxRDA1MzBDOTI1OEVBQjQ0MDBFNDM2RjcgLyogY29tYmluZS1mZWF0dXJlLWZsYWdzLXBsaXN0
LnB5ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4
dC5zY3JpcHQucHl0aG9uOyBwYXRoID0gImNvbWJpbmUtZmVhdHVyZS1mbGFncy1wbGlzdC5weSI7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFEMDUzMEQxMjU5MTYyQzgwMEU0MzZGNyAv
KiBXZWJLaXQtaW9zLnBsaXN0ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gdGV4dC5wbGlzdC54bWw7IHBhdGggPSAiV2ViS2l0LWlvcy5wbGlzdCI7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC03OTc3LDYgKzc5NzksOCBAQAogCQkJCTFDQjc0
NjY3Mjc0MzlDQUUwMEYxOTg3NCAvKiBXZWJHUFVTYW1wbGVyQmluZGluZ0xheW91dC5oICovLAog
CQkJCTFDOThDMENDMjc0NjI2ODAwMDJDQ0I3OCAvKiBXZWJHUFVTYW1wbGVyRGVzY3JpcHRvci5j
cHAgKi8sCiAJCQkJMUNCNzQ2OEQyNzQzOUNCNzAwRjE5ODc0IC8qIFdlYkdQVVNhbXBsZXJEZXNj
cmlwdG9yLmggKi8sCisJCQkJMUNFRjQ1QkIyN0JDQTQ2QTAwQzNBNkJDIC8qIFdlYkdQVVNoYWRl
ck1vZHVsZUNvbXBpbGF0aW9uSGludC5jcHAgKi8sCisJCQkJMUNFRjQ1QkMyN0JDQTQ2QTAwQzNB
NkJDIC8qIFdlYkdQVVNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludC5oICovLAogCQkJCTFDOThD
MDk5Mjc0NjI2NzgwMDJDQ0I3OCAvKiBXZWJHUFVTaGFkZXJNb2R1bGVEZXNjcmlwdG9yLmNwcCAq
LywKIAkJCQkxQ0I3NDY2QjI3NDM5Q0FGMDBGMTk4NzQgLyogV2ViR1BVU2hhZGVyTW9kdWxlRGVz
Y3JpcHRvci5oICovLAogCQkJCTFDOThDMENBMjc0NjI2ODAwMDJDQ0I3OCAvKiBXZWJHUFVTdGVu
Y2lsRmFjZVN0YXRlLmNwcCAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9HUFUvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUJ1ZmZlclByb3h5LmNwcCBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUJ1ZmZlclByb3h5LmNwcApp
bmRleCBhOTk2Y2QzYzY3NTI1OTkzODk2N2I4MGRjZDg2YjE0MjZlNGE1ZGQ1Li4yNDA5NTdmMmNi
OTgwYWQ5OWM2Njk0MDAwYjMwZGIzZGQ1MjJhMDkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVCdWZmZXJQcm94eS5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQnVm
ZmVyUHJveHkuY3BwCkBAIC00NCw3ICs0NCw3IEBAIFJlbW90ZUJ1ZmZlclByb3h5Ojp+UmVtb3Rl
QnVmZmVyUHJveHkoKQogewogfQogCi12b2lkIFJlbW90ZUJ1ZmZlclByb3h5OjptYXBBc3luYyhQ
QUw6OldlYkdQVTo6TWFwTW9kZUZsYWdzIG1hcE1vZGVGbGFncywgc3RkOjpvcHRpb25hbDxQQUw6
OldlYkdQVTo6U2l6ZTY0PiBvZmZzZXQsIHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlNpemU2
ND4gc2l6ZSwgV1RGOjpGdW5jdGlvbjx2b2lkKCk+JiYgY2FsbGJhY2spCit2b2lkIFJlbW90ZUJ1
ZmZlclByb3h5OjptYXBBc3luYyhQQUw6OldlYkdQVTo6TWFwTW9kZUZsYWdzIG1hcE1vZGVGbGFn
cywgUEFMOjpXZWJHUFU6OlNpemU2NCBvZmZzZXQsIHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6
OlNpemU2ND4gc2l6ZSwgV1RGOjpGdW5jdGlvbjx2b2lkKCk+JiYgY2FsbGJhY2spCiB7CiAgICAg
c3RkOjpvcHRpb25hbDxWZWN0b3I8dWludDhfdD4+IGRhdGE7CiAgICAgYXV0byBzZW5kUmVzdWx0
ID0gc2VuZFN5bmMoTWVzc2FnZXM6OlJlbW90ZUJ1ZmZlcjo6TWFwQXN5bmMobWFwTW9kZUZsYWdz
LCBvZmZzZXQsIHNpemUpLCB7IGRhdGEgfSk7CkBAIC01OSwxNCArNTksMTMgQEAgdm9pZCBSZW1v
dGVCdWZmZXJQcm94eTo6bWFwQXN5bmMoUEFMOjpXZWJHUFU6Ok1hcE1vZGVGbGFncyBtYXBNb2Rl
RmxhZ3MsIHN0ZDo6b3AKICAgICBjYWxsYmFjaygpOwogfQogCi1hdXRvIFJlbW90ZUJ1ZmZlclBy
b3h5OjpnZXRNYXBwZWRSYW5nZShzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpTaXplNjQ+IG9m
ZnNldCwgc3RkOjpvcHRpb25hbDxQQUw6OldlYkdQVTo6U2l6ZTY0PiBzaXplKSAtPiBNYXBwZWRS
YW5nZQorYXV0byBSZW1vdGVCdWZmZXJQcm94eTo6Z2V0TWFwcGVkUmFuZ2UoUEFMOjpXZWJHUFU6
OlNpemU2NCBvZmZzZXQsIHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlNpemU2ND4gc2l6ZSkg
LT4gTWFwcGVkUmFuZ2UKIHsKICAgICAvLyBGSVhNRTogSW1wbGVtZW50IGVycm9yIGhhbmRsaW5n
LgogICAgIGlmICghbV9kYXRhKQogICAgICAgICByZXR1cm4geyB9OwogCi0gICAgYXV0byB1c2Vk
T2Zmc2V0ID0gb2Zmc2V0LnZhbHVlX29yKDApOwotICAgIHJldHVybiB7IG1fZGF0YS0+ZGF0YSgp
ICsgdXNlZE9mZnNldCwgc3RhdGljX2Nhc3Q8c2l6ZV90PihzaXplLnZhbHVlX29yKG1fZGF0YS0+
c2l6ZSgpIC0gdXNlZE9mZnNldCkpIH07CisgICAgcmV0dXJuIHsgbV9kYXRhLT5kYXRhKCkgKyBv
ZmZzZXQsIHN0YXRpY19jYXN0PHNpemVfdD4oc2l6ZS52YWx1ZV9vcihtX2RhdGEtPnNpemUoKSAt
IG9mZnNldCkpIH07CiB9CiAKIHZvaWQgUmVtb3RlQnVmZmVyUHJveHk6OnVubWFwKCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvV2ViR1BVL1JlbW90
ZUJ1ZmZlclByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1dl
YkdQVS9SZW1vdGVCdWZmZXJQcm94eS5oCmluZGV4IDdiYTU2YTcwNmE4MDE4NjVjODQzMjZjMTBm
YjBmNGM5NGUyYjg0ZjAuLjQ5M2E4YmYwMTY5ZWEzNTUxNGU5ZGFhZTFmNzY3MzJjOGRkY2Q2N2Ug
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvV2ViR1BV
L1JlbW90ZUJ1ZmZlclByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9n
cmFwaGljcy9XZWJHUFUvUmVtb3RlQnVmZmVyUHJveHkuaApAQCAtNzMsOCArNzMsOCBAQCBwcml2
YXRlOgogICAgICAgICByZXR1cm4gcm9vdCgpLnN0cmVhbUNsaWVudENvbm5lY3Rpb24oKS5zZW5k
U3luYyhXVEZNb3ZlKG1lc3NhZ2UpLCBXVEZNb3ZlKHJlcGx5KSwgYmFja2luZygpLCBkZWZhdWx0
U2VuZFRpbWVvdXQpOwogICAgIH0KIAotICAgIHZvaWQgbWFwQXN5bmMoUEFMOjpXZWJHUFU6Ok1h
cE1vZGVGbGFncywgc3RkOjpvcHRpb25hbDxQQUw6OldlYkdQVTo6U2l6ZTY0PiBvZmZzZXQsIHN0
ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlNpemU2ND4gc2l6ZUZvck1hcCwgV1RGOjpGdW5jdGlv
bjx2b2lkKCk+JiYpIGZpbmFsOwotICAgIE1hcHBlZFJhbmdlIGdldE1hcHBlZFJhbmdlKHN0ZDo6
b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlNpemU2ND4gb2Zmc2V0LCBzdGQ6Om9wdGlvbmFsPFBBTDo6
V2ViR1BVOjpTaXplNjQ+KSBmaW5hbDsKKyAgICB2b2lkIG1hcEFzeW5jKFBBTDo6V2ViR1BVOjpN
YXBNb2RlRmxhZ3MsIFBBTDo6V2ViR1BVOjpTaXplNjQgb2Zmc2V0LCBzdGQ6Om9wdGlvbmFsPFBB
TDo6V2ViR1BVOjpTaXplNjQ+IHNpemVGb3JNYXAsIFdURjo6RnVuY3Rpb248dm9pZCgpPiYmKSBm
aW5hbDsKKyAgICBNYXBwZWRSYW5nZSBnZXRNYXBwZWRSYW5nZShQQUw6OldlYkdQVTo6U2l6ZTY0
IG9mZnNldCwgc3RkOjpvcHRpb25hbDxQQUw6OldlYkdQVTo6U2l6ZTY0PikgZmluYWw7CiAgICAg
dm9pZCB1bm1hcCgpIGZpbmFsOwogCiAgICAgdm9pZCBkZXN0cm95KCkgZmluYWw7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVD
b21tYW5kRW5jb2RlclByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3Jh
cGhpY3MvV2ViR1BVL1JlbW90ZUNvbW1hbmRFbmNvZGVyUHJveHkuY3BwCmluZGV4IGZlYTI5ZDk5
MjgxNjdlMmIyYTRkZjQ1NWQ5Zjg3YWYxZjhiZjZiZWMuLjYxM2VkNTAxNjRmYTI1NTZjOGIxNzI0
Y2UyNzYwZDYxMTkzMmE5MmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9H
UFUvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUNvbW1hbmRFbmNvZGVyUHJveHkuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUNvbW1hbmRF
bmNvZGVyUHJveHkuY3BwCkBAIC0xNTIsMTcgKzE1MiwxNyBAQCB2b2lkIFJlbW90ZUNvbW1hbmRF
bmNvZGVyUHJveHk6OmNvcHlUZXh0dXJlVG9UZXh0dXJlKAogICAgIFVOVVNFRF9WQVJJQUJMRShz
ZW5kUmVzdWx0KTsKIH0KIAotdm9pZCBSZW1vdGVDb21tYW5kRW5jb2RlclByb3h5OjpmaWxsQnVm
ZmVyKAotICAgIGNvbnN0IFBBTDo6V2ViR1BVOjpCdWZmZXImIGRlc3RpbmF0aW9uLAotICAgIFBB
TDo6V2ViR1BVOjpTaXplNjQgZGVzdGluYXRpb25PZmZzZXQsCi0gICAgUEFMOjpXZWJHUFU6OlNp
emU2NCBzaXplKQotewotICAgIGF1dG8gY29udmVydGVkRGVzdGluYXRpb24gPSBtX2NvbnZlcnRU
b0JhY2tpbmdDb250ZXh0LT5jb252ZXJ0VG9CYWNraW5nKGRlc3RpbmF0aW9uKTsKLSAgICBBU1NF
UlQoY29udmVydGVkRGVzdGluYXRpb24pOwotICAgIGlmICghY29udmVydGVkRGVzdGluYXRpb24p
Cit2b2lkIFJlbW90ZUNvbW1hbmRFbmNvZGVyUHJveHk6OmNsZWFyQnVmZmVyKAorICAgIGNvbnN0
IFBBTDo6V2ViR1BVOjpCdWZmZXImIGJ1ZmZlciwKKyAgICBQQUw6OldlYkdQVTo6U2l6ZTY0IG9m
ZnNldCwKKyAgICBzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpTaXplNjQ+IHNpemUpCit7Cisg
ICAgYXV0byBjb252ZXJ0ZWRCdWZmZXIgPSBtX2NvbnZlcnRUb0JhY2tpbmdDb250ZXh0LT5jb252
ZXJ0VG9CYWNraW5nKGJ1ZmZlcik7CisgICAgQVNTRVJUKGNvbnZlcnRlZEJ1ZmZlcik7CisgICAg
aWYgKCFjb252ZXJ0ZWRCdWZmZXIpCiAgICAgICAgIHJldHVybjsKIAotICAgIGF1dG8gc2VuZFJl
c3VsdCA9IHNlbmQoTWVzc2FnZXM6OlJlbW90ZUNvbW1hbmRFbmNvZGVyOjpGaWxsQnVmZmVyKGNv
bnZlcnRlZERlc3RpbmF0aW9uLCBkZXN0aW5hdGlvbk9mZnNldCwgc2l6ZSkpOworICAgIGF1dG8g
c2VuZFJlc3VsdCA9IHNlbmQoTWVzc2FnZXM6OlJlbW90ZUNvbW1hbmRFbmNvZGVyOjpDbGVhckJ1
ZmZlcihjb252ZXJ0ZWRCdWZmZXIsIG9mZnNldCwgc2l6ZSkpOwogICAgIFVOVVNFRF9WQVJJQUJM
RShzZW5kUmVzdWx0KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L0dQVS9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQ29tbWFuZEVuY29kZXJQcm94eS5oIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQ29tbWFuZEVuY29k
ZXJQcm94eS5oCmluZGV4IDExZTY3ODE1OWE0YjQxMjM2NjdlNjdkM2JhMjA4NTY4ZmM4MzViMGMu
LmIxNzY4MThiZTAxZWE0MjBhZGFlNDgxNTA5OWRjYWQwYjAxMTdiNGUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUNvbW1hbmRF
bmNvZGVyUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNz
L1dlYkdQVS9SZW1vdGVDb21tYW5kRW5jb2RlclByb3h5LmgKQEAgLTk3LDEwICs5NywxMCBAQCBw
cml2YXRlOgogICAgICAgICBjb25zdCBQQUw6OldlYkdQVTo6SW1hZ2VDb3B5VGV4dHVyZSYgZGVz
dGluYXRpb24sCiAgICAgICAgIGNvbnN0IFBBTDo6V2ViR1BVOjpFeHRlbnQzRCYgY29weVNpemUp
IGZpbmFsOwogCi0gICAgdm9pZCBmaWxsQnVmZmVyKAotICAgICAgICBjb25zdCBQQUw6OldlYkdQ
VTo6QnVmZmVyJiBkZXN0aW5hdGlvbiwKLSAgICAgICAgUEFMOjpXZWJHUFU6OlNpemU2NCBkZXN0
aW5hdGlvbk9mZnNldCwKLSAgICAgICAgUEFMOjpXZWJHUFU6OlNpemU2NCkgZmluYWw7CisgICAg
dm9pZCBjbGVhckJ1ZmZlcigKKyAgICAgICAgY29uc3QgUEFMOjpXZWJHUFU6OkJ1ZmZlciYsCisg
ICAgICAgIFBBTDo6V2ViR1BVOjpTaXplNjQgb2Zmc2V0ID0gMCwKKyAgICAgICAgc3RkOjpvcHRp
b25hbDxQQUw6OldlYkdQVTo6U2l6ZTY0PiA9IHN0ZDo6bnVsbG9wdCkgZmluYWw7CiAKICAgICB2
b2lkIHB1c2hEZWJ1Z0dyb3VwKFN0cmluZyYmIGdyb3VwTGFiZWwpIGZpbmFsOwogICAgIHZvaWQg
cG9wRGVidWdHcm91cCgpIGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0dQVS9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQ29tcHV0ZVBhc3NFbmNvZGVyUHJveHkuY3Bw
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQ29t
cHV0ZVBhc3NFbmNvZGVyUHJveHkuY3BwCmluZGV4IDcxZjY3OTU1YWI3ZDU2OTdhYTNjNmMxOGIw
NjYzM2QwMjkyYWI5ZjUuLjZkMGY4M2NkNmQ5MWM3YzhlNjk5M2QwMDdlYjgwMmI1MjI4ODY0NmIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvV2ViR1BV
L1JlbW90ZUNvbXB1dGVQYXNzRW5jb2RlclByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvR1BVL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVDb21wdXRlUGFzc0VuY29kZXJQcm94
eS5jcHAKQEAgLTU1LDkgKzU1LDkgQEAgdm9pZCBSZW1vdGVDb21wdXRlUGFzc0VuY29kZXJQcm94
eTo6c2V0UGlwZWxpbmUoY29uc3QgUEFMOjpXZWJHUFU6OkNvbXB1dGVQaXBlbGkKICAgICBVTlVT
RURfVkFSSUFCTEUoc2VuZFJlc3VsdCk7CiB9CiAKLXZvaWQgUmVtb3RlQ29tcHV0ZVBhc3NFbmNv
ZGVyUHJveHk6OmRpc3BhdGNoKFBBTDo6V2ViR1BVOjpTaXplMzIgeCwgc3RkOjpvcHRpb25hbDxQ
QUw6OldlYkdQVTo6U2l6ZTMyPiB5LCBzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpTaXplMzI+
IHopCit2b2lkIFJlbW90ZUNvbXB1dGVQYXNzRW5jb2RlclByb3h5OjpkaXNwYXRjaChQQUw6Oldl
YkdQVTo6U2l6ZTMyIHdvcmtncm91cENvdW50WCwgUEFMOjpXZWJHUFU6OlNpemUzMiB3b3JrZ3Jv
dXBDb3VudFksIFBBTDo6V2ViR1BVOjpTaXplMzIgd29ya2dyb3VwQ291bnRaKQogewotICAgIGF1
dG8gc2VuZFJlc3VsdCA9IHNlbmQoTWVzc2FnZXM6OlJlbW90ZUNvbXB1dGVQYXNzRW5jb2Rlcjo6
RGlzcGF0Y2goeCwgeSwgeikpOworICAgIGF1dG8gc2VuZFJlc3VsdCA9IHNlbmQoTWVzc2FnZXM6
OlJlbW90ZUNvbXB1dGVQYXNzRW5jb2Rlcjo6RGlzcGF0Y2god29ya2dyb3VwQ291bnRYLCB3b3Jr
Z3JvdXBDb3VudFksIHdvcmtncm91cENvdW50WikpOwogICAgIFVOVVNFRF9WQVJJQUJMRShzZW5k
UmVzdWx0KTsKIH0KIApAQCAtNzIsMjYgKzcyLDkgQEAgdm9pZCBSZW1vdGVDb21wdXRlUGFzc0Vu
Y29kZXJQcm94eTo6ZGlzcGF0Y2hJbmRpcmVjdChjb25zdCBQQUw6OldlYkdQVTo6QnVmZmVyJgog
ICAgIFVOVVNFRF9WQVJJQUJMRShzZW5kUmVzdWx0KTsKIH0KIAotdm9pZCBSZW1vdGVDb21wdXRl
UGFzc0VuY29kZXJQcm94eTo6YmVnaW5QaXBlbGluZVN0YXRpc3RpY3NRdWVyeShjb25zdCBQQUw6
OldlYkdQVTo6UXVlcnlTZXQmIHF1ZXJ5U2V0LCBQQUw6OldlYkdQVTo6U2l6ZTMyIHF1ZXJ5SW5k
ZXgpCit2b2lkIFJlbW90ZUNvbXB1dGVQYXNzRW5jb2RlclByb3h5OjplbmQoKQogewotICAgIGF1
dG8gY29udmVydGVkUXVlcnlTZXQgPSBtX2NvbnZlcnRUb0JhY2tpbmdDb250ZXh0LT5jb252ZXJ0
VG9CYWNraW5nKHF1ZXJ5U2V0KTsKLSAgICBBU1NFUlQoY29udmVydGVkUXVlcnlTZXQpOwotICAg
IGlmICghY29udmVydGVkUXVlcnlTZXQpCi0gICAgICAgIHJldHVybjsKLQotICAgIGF1dG8gc2Vu
ZFJlc3VsdCA9IHNlbmQoTWVzc2FnZXM6OlJlbW90ZUNvbXB1dGVQYXNzRW5jb2Rlcjo6QmVnaW5Q
aXBlbGluZVN0YXRpc3RpY3NRdWVyeShjb252ZXJ0ZWRRdWVyeVNldCwgcXVlcnlJbmRleCkpOwot
ICAgIFVOVVNFRF9WQVJJQUJMRShzZW5kUmVzdWx0KTsKLX0KLQotdm9pZCBSZW1vdGVDb21wdXRl
UGFzc0VuY29kZXJQcm94eTo6ZW5kUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkoKQotewotICAgIGF1
dG8gc2VuZFJlc3VsdCA9IHNlbmQoTWVzc2FnZXM6OlJlbW90ZUNvbXB1dGVQYXNzRW5jb2Rlcjo6
RW5kUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkoKSk7Ci0gICAgVU5VU0VEX1ZBUklBQkxFKHNlbmRS
ZXN1bHQpOwotfQotCi12b2lkIFJlbW90ZUNvbXB1dGVQYXNzRW5jb2RlclByb3h5OjplbmRQYXNz
KCkKLXsKLSAgICBhdXRvIHNlbmRSZXN1bHQgPSBzZW5kKE1lc3NhZ2VzOjpSZW1vdGVDb21wdXRl
UGFzc0VuY29kZXI6OkVuZFBhc3MoKSk7CisgICAgYXV0byBzZW5kUmVzdWx0ID0gc2VuZChNZXNz
YWdlczo6UmVtb3RlQ29tcHV0ZVBhc3NFbmNvZGVyOjpFbmQoKSk7CiAgICAgVU5VU0VEX1ZBUklB
QkxFKHNlbmRSZXN1bHQpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvR1BVL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVDb21wdXRlUGFzc0VuY29kZXJQcm94eS5oIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQ29tcHV0
ZVBhc3NFbmNvZGVyUHJveHkuaAppbmRleCAzZjJkYTc5N2E5Mjk2NWQ3NGJkOTBkNThhYzJmNTg3
NzZmNTQwYzFjLi44N2E5NThjMTc2YTc0MTdhYTAxOTRlNDk0ZjM2ZTgxMjY0OGI2ODVjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1dlYkdQVS9SZW1v
dGVDb21wdXRlUGFzc0VuY29kZXJQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9HUFUvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUNvbXB1dGVQYXNzRW5jb2RlclByb3h5LmgKQEAg
LTczLDEzICs3MywxMCBAQCBwcml2YXRlOgogICAgIH0KIAogICAgIHZvaWQgc2V0UGlwZWxpbmUo
Y29uc3QgUEFMOjpXZWJHUFU6OkNvbXB1dGVQaXBlbGluZSYpIGZpbmFsOwotICAgIHZvaWQgZGlz
cGF0Y2goUEFMOjpXZWJHUFU6OlNpemUzMiB4LCBzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpT
aXplMzI+IHksIHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlNpemUzMj4pIGZpbmFsOworICAg
IHZvaWQgZGlzcGF0Y2goUEFMOjpXZWJHUFU6OlNpemUzMiB3b3JrZ3JvdXBDb3VudFgsIFBBTDo6
V2ViR1BVOjpTaXplMzIgd29ya2dyb3VwQ291bnRZID0gMSwgUEFMOjpXZWJHUFU6OlNpemUzMiB3
b3JrZ3JvdXBDb3VudFogPSAxKSBmaW5hbDsKICAgICB2b2lkIGRpc3BhdGNoSW5kaXJlY3QoY29u
c3QgUEFMOjpXZWJHUFU6OkJ1ZmZlciYgaW5kaXJlY3RCdWZmZXIsIFBBTDo6V2ViR1BVOjpTaXpl
NjQgaW5kaXJlY3RPZmZzZXQpIGZpbmFsOwogCi0gICAgdm9pZCBiZWdpblBpcGVsaW5lU3RhdGlz
dGljc1F1ZXJ5KGNvbnN0IFBBTDo6V2ViR1BVOjpRdWVyeVNldCYsIFBBTDo6V2ViR1BVOjpTaXpl
MzIgcXVlcnlJbmRleCkgZmluYWw7Ci0gICAgdm9pZCBlbmRQaXBlbGluZVN0YXRpc3RpY3NRdWVy
eSgpIGZpbmFsOwotCi0gICAgdm9pZCBlbmRQYXNzKCkgZmluYWw7CisgICAgdm9pZCBlbmQoKSBm
aW5hbDsKIAogICAgIHZvaWQgc2V0QmluZEdyb3VwKFBBTDo6V2ViR1BVOjpJbmRleDMyLCBjb25z
dCBQQUw6OldlYkdQVTo6QmluZEdyb3VwJiwKICAgICAgICAgc3RkOjpvcHRpb25hbDxWZWN0b3I8
UEFMOjpXZWJHUFU6OkJ1ZmZlckR5bmFtaWNPZmZzZXQ+PiYmKSBmaW5hbDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZVF1ZXVl
UHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvV2ViR1BVL1Jl
bW90ZVF1ZXVlUHJveHkuaAppbmRleCA1ZWEyMTAzYzFmZGI5YTJlNTI3MDM1ZGQxNmM0NmQ0NGUy
ZDdkZWMyLi5kYTc3NWQzZTBjYTdjMjZmMDdiNWJhMTkxMjE0NTFiNzVmMDc2NmY5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVR
dWV1ZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9X
ZWJHUFUvUmVtb3RlUXVldWVQcm94eS5oCkBAIC04Miw4ICs4Miw4IEBAIHByaXZhdGU6CiAgICAg
ICAgIFBBTDo6V2ViR1BVOjpTaXplNjQgYnVmZmVyT2Zmc2V0LAogICAgICAgICBjb25zdCB2b2lk
KiBzb3VyY2UsCiAgICAgICAgIHNpemVfdCBieXRlTGVuZ3RoLAotICAgICAgICBQQUw6OldlYkdQ
VTo6U2l6ZTY0IGRhdGFPZmZzZXQsCi0gICAgICAgIHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6
OlNpemU2ND4pIGZpbmFsOworICAgICAgICBQQUw6OldlYkdQVTo6U2l6ZTY0IGRhdGFPZmZzZXQg
PSAwLAorICAgICAgICBzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpTaXplNjQ+ID0gc3RkOjpu
dWxsb3B0KSBmaW5hbDsKIAogICAgIHZvaWQgd3JpdGVUZXh0dXJlKAogICAgICAgICBjb25zdCBQ
QUw6OldlYkdQVTo6SW1hZ2VDb3B5VGV4dHVyZSYgZGVzdGluYXRpb24sCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVSZW5kZXJQ
YXNzRW5jb2RlclByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhp
Y3MvV2ViR1BVL1JlbW90ZVJlbmRlclBhc3NFbmNvZGVyUHJveHkuY3BwCmluZGV4IDNlOGY1YTYz
ZjRhZjEyNDcyYjhmMjNmNThmZGYyZDg3YWJmZDM1MDAuLjc4M2ZlMGEwZjg3ODFiMGEwMjg3Njkx
NzVlNTY5MGU4M2Y0YTFmNzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9H
UFUvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZVJlbmRlclBhc3NFbmNvZGVyUHJveHkuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZVJlbmRl
clBhc3NFbmNvZGVyUHJveHkuY3BwCkBAIC0yMDQsMjMgKzIwNCw2IEBAIHZvaWQgUmVtb3RlUmVu
ZGVyUGFzc0VuY29kZXJQcm94eTo6ZW5kT2NjbHVzaW9uUXVlcnkoKQogICAgIFVOVVNFRF9WQVJJ
QUJMRShzZW5kUmVzdWx0KTsKIH0KIAotdm9pZCBSZW1vdGVSZW5kZXJQYXNzRW5jb2RlclByb3h5
OjpiZWdpblBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KGNvbnN0IFBBTDo6V2ViR1BVOjpRdWVyeVNl
dCYgcXVlcnlTZXQsIFBBTDo6V2ViR1BVOjpTaXplMzIgcXVlcnlJbmRleCkKLXsKLSAgICBhdXRv
IGNvbnZlcnRlZFF1ZXJ5U2V0ID0gbV9jb252ZXJ0VG9CYWNraW5nQ29udGV4dC0+Y29udmVydFRv
QmFja2luZyhxdWVyeVNldCk7Ci0gICAgQVNTRVJUKGNvbnZlcnRlZFF1ZXJ5U2V0KTsKLSAgICBp
ZiAoIWNvbnZlcnRlZFF1ZXJ5U2V0KQotICAgICAgICByZXR1cm47Ci0KLSAgICBhdXRvIHNlbmRS
ZXN1bHQgPSBzZW5kKE1lc3NhZ2VzOjpSZW1vdGVSZW5kZXJQYXNzRW5jb2Rlcjo6QmVnaW5QaXBl
bGluZVN0YXRpc3RpY3NRdWVyeShjb252ZXJ0ZWRRdWVyeVNldCwgcXVlcnlJbmRleCkpOwotICAg
IFVOVVNFRF9WQVJJQUJMRShzZW5kUmVzdWx0KTsKLX0KLQotdm9pZCBSZW1vdGVSZW5kZXJQYXNz
RW5jb2RlclByb3h5OjplbmRQaXBlbGluZVN0YXRpc3RpY3NRdWVyeSgpCi17Ci0gICAgYXV0byBz
ZW5kUmVzdWx0ID0gc2VuZChNZXNzYWdlczo6UmVtb3RlUmVuZGVyUGFzc0VuY29kZXI6OkVuZFBp
cGVsaW5lU3RhdGlzdGljc1F1ZXJ5KCkpOwotICAgIFVOVVNFRF9WQVJJQUJMRShzZW5kUmVzdWx0
KTsKLX0KLQogdm9pZCBSZW1vdGVSZW5kZXJQYXNzRW5jb2RlclByb3h5OjpleGVjdXRlQnVuZGxl
cyhWZWN0b3I8c3RkOjpyZWZlcmVuY2Vfd3JhcHBlcjxQQUw6OldlYkdQVTo6UmVuZGVyQnVuZGxl
Pj4mJiByZW5kZXJCdW5kbGVzKQogewogICAgIFZlY3RvcjxXZWJHUFVJZGVudGlmaWVyPiBjb252
ZXJ0ZWRSZW5kZXJCdW5kbGVzOwpAQCAtMjM3LDkgKzIyMCw5IEBAIHZvaWQgUmVtb3RlUmVuZGVy
UGFzc0VuY29kZXJQcm94eTo6ZXhlY3V0ZUJ1bmRsZXMoVmVjdG9yPHN0ZDo6cmVmZXJlbmNlX3dy
YXBwZXI8CiAgICAgVU5VU0VEX1ZBUklBQkxFKHNlbmRSZXN1bHQpOwogfQogCi12b2lkIFJlbW90
ZVJlbmRlclBhc3NFbmNvZGVyUHJveHk6OmVuZFBhc3MoKQordm9pZCBSZW1vdGVSZW5kZXJQYXNz
RW5jb2RlclByb3h5OjplbmQoKQogewotICAgIGF1dG8gc2VuZFJlc3VsdCA9IHNlbmQoTWVzc2Fn
ZXM6OlJlbW90ZVJlbmRlclBhc3NFbmNvZGVyOjpFbmRQYXNzKCkpOworICAgIGF1dG8gc2VuZFJl
c3VsdCA9IHNlbmQoTWVzc2FnZXM6OlJlbW90ZVJlbmRlclBhc3NFbmNvZGVyOjpFbmQoKSk7CiAg
ICAgVU5VU0VEX1ZBUklBQkxFKHNlbmRSZXN1bHQpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVSZW5kZXJQYXNzRW5j
b2RlclByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1dlYkdQ
VS9SZW1vdGVSZW5kZXJQYXNzRW5jb2RlclByb3h5LmgKaW5kZXggZTVmNjkzZDhjOGViZjZlOTA1
ZDkxNDJlMGQzZWJlNzM0YzE4NGMzNy4uZmM1YjU5NmY1YmE4ZGNmN2M4YjU2NTJjYmQ3NThiMTA0
ZTk1ZDk0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGlj
cy9XZWJHUFUvUmVtb3RlUmVuZGVyUGFzc0VuY29kZXJQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZVJlbmRlclBhc3NFbmNvZGVy
UHJveHkuaApAQCAtMTEzLDExICsxMTMsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgYmVnaW5PY2Ns
dXNpb25RdWVyeShQQUw6OldlYkdQVTo6U2l6ZTMyIHF1ZXJ5SW5kZXgpIGZpbmFsOwogICAgIHZv
aWQgZW5kT2NjbHVzaW9uUXVlcnkoKSBmaW5hbDsKIAotICAgIHZvaWQgYmVnaW5QaXBlbGluZVN0
YXRpc3RpY3NRdWVyeShjb25zdCBQQUw6OldlYkdQVTo6UXVlcnlTZXQmLCBQQUw6OldlYkdQVTo6
U2l6ZTMyIHF1ZXJ5SW5kZXgpIGZpbmFsOwotICAgIHZvaWQgZW5kUGlwZWxpbmVTdGF0aXN0aWNz
UXVlcnkoKSBmaW5hbDsKLQogICAgIHZvaWQgZXhlY3V0ZUJ1bmRsZXMoVmVjdG9yPHN0ZDo6cmVm
ZXJlbmNlX3dyYXBwZXI8UEFMOjpXZWJHUFU6OlJlbmRlckJ1bmRsZT4+JiYpIGZpbmFsOwotICAg
IHZvaWQgZW5kUGFzcygpIGZpbmFsOworICAgIHZvaWQgZW5kKCkgZmluYWw7CiAKICAgICB2b2lk
IHNldExhYmVsSW50ZXJuYWwoY29uc3QgU3RyaW5nJikgZmluYWw7CiAK
</data>
<flag name="commit-queue"
          id="479083"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>452140</attachid>
            <date>2022-02-15 21:04:59 -0800</date>
            <delta_ts>2022-02-15 22:22:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-236639-20220215210458.patch</filename>
            <type>text/plain</type>
            <size>302647</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg5ODcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzM4NThhMzM1MTFjMTZj
MzBjMDdhMTJhMWJhMjNmYzdlNWJlMTdkZC4uYjRmMzZhMDgyYWQ5NjcwMjZiMzNjYTJiMzRlODdi
MjM2ZWY2ZGM5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDExOSBAQAorMjAyMi0wMi0xNSAgTXls
ZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFtXZWJHUFVd
IFVwZGF0ZSBJRExzIGFuZCBzdHVicyB0byBsYXRlc3QgdmVyc2lvbiBvZiB0aGUgc3BlYworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM2NjM5CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyB1cGRhdGVz
IG91ciBXZWJHUFUgaW5mcmFzdHJ1Y3R1cmUgdG8gc3BlYyByZXZpc2lvbiA2MjZmOGMwNWM4ZTY3
YjU0MTU5ZTkzYWU3YzM2OTlhODg5ZjBiMTE1LiBUaGlzCisgICAgICAgIGlzIGp1c3QgdGhlIHBs
dW1iaW5nIHRoYXQgY29ubmVjdHMgSURMIC0+IFdlYkNvcmUgQysrIC0+IFBBTCB2aXJ0dWFsIG1l
dGhvZHMgLT4gV2ViS2l0IFdlYiBwcm9jZXNzIC0+CisgICAgICAgIFdlYktpdCBHUFUgcHJvY2Vz
cyAtPiBQQUwgdmlydHVhbCBtZXRob2RzIC0+IFBBTCBXZWJHUFUgaW1wbGVtZW50YXRpb24gLT4g
V2ViR1BVLmZyYW1ld29yay4gVGhpcyBhbHNvCisgICAgICAgIHVwZGF0ZXMgdGhlIFdlYkdQVS5o
IHNoYXJlZCBoZWFkZXIgdG8gcmV2aXNpb24gMDhlZjU3NzMzNTAzYjhmYjUwNGUwNjgxYThkYjY1
MGM4ODIyNTk0Ny4gVGhpcyBpcyBqdXN0CisgICAgICAgIHBsdW1iaW5nIC0gdGhlIGFjdHVhbCBp
bXBsZW1lbnRhdGlvbiBvZiB0aGlzIHN0dWZmIGlzIHN0aWxsIGp1c3Qgc3R1YnMgaW4gV2ViR1BV
LmZyYW1ld29yay4KKworICAgICAgICBUaGVyZSBoYXZlIGJlZW4gYSBmZXcgdmFyaW91cyBjaGFu
Z2VzOgorICAgICAgICAtIEEgdmlld0Zvcm1hdHMgYXJyYXkgaGFzIGJlZW4gYWRkZWQgdG8gR1BV
Q2FudmFzQ29uZmlndXJhdGlvbiBhbmQgR1BVVGV4dHVyZURlc2NyaXB0b3IKKyAgICAgICAgLSBm
aWxsQnVmZmVyKCkgaGFzIGJlZW4gcmVuYW1lZCB0byBjbGVhckJ1ZmZlcigpCisgICAgICAgIC0g
UGlwZWxpbmUgc3RhdGlzdGljcyBxdWVyaWVzIGhhdmUgYmVlbiBkZWxldGVkCisgICAgICAgIC0g
QSBmZXcgcmVmYWN0b3JpbmdzIHRvIHR1cm4gVmVjdG9yPEZvbz4gdGhpbmdzIGludG8gVmVjdG9y
PHN0ZDo6b3B0aW9uYWw8Rm9vPj4KKyAgICAgICAgLSBmbGlwWSBoYXMgYmVlbiBhZGRlZCB0byBH
UFVJbWFnZUNvcHlFeHRlcm5hbEltYWdlCisgICAgICAgIC0gTG9hZCBvcGVyYXRpb25zIGhhdmUg
YmVlbiByZWRlc2lnbmVkIG9uIGJvdGggR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudCBhbmQK
KyAgICAgICAgICAgICAgR1BVUmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQKKyAgICAg
ICAgLSBlbmRQYXNzKCkgaGFzIGJlZW4gcmVuYW1lZCB0byBlbmQoKQorICAgICAgICAtIFNoYWRl
ciBjb21waWxhdGlvbiBub3cgdGFrZXMgYSByZWNvcmQ8ZW50cnkgcG9pbnQgbmFtZSwgR1BVU2hh
ZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50PgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBiZWNhdXNl
IHRoZSBpbXBsZW1lbnRhdGlvbiBpcyBzdGlsbCBqdXN0IHN0dWJzLgorCisgICAgICAgICogQ01h
a2VMaXN0cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdDoK
KyAgICAgICAgKiBEZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBE
ZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIEhlYWRlcnMuY21ha2U6CisgICAgICAgICog
TW9kdWxlcy9XZWJHUFUvR1BVQnVmZmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdQVUJ1ZmZl
cjo6bWFwQXN5bmMpOgorICAgICAgICAoV2ViQ29yZTo6R1BVQnVmZmVyOjpnZXRNYXBwZWRSYW5n
ZSk6CisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVQnVmZmVyLmg6CisgICAgICAgICogTW9k
dWxlcy9XZWJHUFUvR1BVQ2FudmFzQ29uZmlndXJhdGlvbi5oOgorICAgICAgICAoV2ViQ29yZTo6
R1BVQ2FudmFzQ29uZmlndXJhdGlvbjo6Y29udmVydFRvQmFja2luZyBjb25zdCk6CisgICAgICAg
ICogTW9kdWxlcy9XZWJHUFUvR1BVQ2FudmFzQ29uZmlndXJhdGlvbi5pZGw6CisgICAgICAgICog
TW9kdWxlcy9XZWJHUFUvR1BVQ29tbWFuZEVuY29kZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
R1BVQ29tbWFuZEVuY29kZXI6OmNsZWFyQnVmZmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkdQVUNv
bW1hbmRFbmNvZGVyOjpmaWxsQnVmZmVyKTogRGVsZXRlZC4KKyAgICAgICAgKiBNb2R1bGVzL1dl
YkdQVS9HUFVDb21tYW5kRW5jb2Rlci5oOgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVUNv
bW1hbmRFbmNvZGVyLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVDb21tYW5kc01p
eGluLmlkbDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVTG9h
ZE9wLmlkbC4KKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVDb21wdXRlUGFzc0VuY29kZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6R1BVQ29tcHV0ZVBhc3NFbmNvZGVyOjpkaXNwYXRjaCk6
CisgICAgICAgIChXZWJDb3JlOjpHUFVDb21wdXRlUGFzc0VuY29kZXI6OmVuZCk6CisgICAgICAg
IChXZWJDb3JlOjpHUFVDb21wdXRlUGFzc0VuY29kZXI6OmJlZ2luUGlwZWxpbmVTdGF0aXN0aWNz
UXVlcnkpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6R1BVQ29tcHV0ZVBhc3NFbmNvZGVy
OjplbmRQaXBlbGluZVN0YXRpc3RpY3NRdWVyeSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3Jl
OjpHUFVDb21wdXRlUGFzc0VuY29kZXI6OmVuZFBhc3MpOiBEZWxldGVkLgorICAgICAgICAqIE1v
ZHVsZXMvV2ViR1BVL0dQVUNvbXB1dGVQYXNzRW5jb2Rlci5oOgorICAgICAgICAqIE1vZHVsZXMv
V2ViR1BVL0dQVUNvbXB1dGVQYXNzRW5jb2Rlci5pZGw6CisgICAgICAgICogTW9kdWxlcy9XZWJH
UFUvR1BVRGVidWdDb21tYW5kc01peGluLmlkbDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9XZWJHUFUvR1BVRnJhZ21lbnRTdGF0ZS5pZGwuCisgICAgICAgICogTW9kdWxlcy9X
ZWJHUFUvR1BVRmVhdHVyZU5hbWUuaDoKKyAgICAgICAgKFdlYkNvcmU6OmNvbnZlcnRUb0JhY2tp
bmcpOgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVUZlYXR1cmVOYW1lLmlkbDoKKyAgICAg
ICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVGcmFnbWVudFN0YXRlLmg6CisgICAgICAgIChXZWJDb3Jl
OjpHUFVGcmFnbWVudFN0YXRlOjpjb252ZXJ0VG9CYWNraW5nIGNvbnN0KToKKyAgICAgICAgKiBN
b2R1bGVzL1dlYkdQVS9HUFVGcmFnbWVudFN0YXRlLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL1dl
YkdQVS9HUFVJbWFnZUNvcHlFeHRlcm5hbEltYWdlLmg6CisgICAgICAgIChXZWJDb3JlOjpHUFVJ
bWFnZUNvcHlFeHRlcm5hbEltYWdlOjpjb252ZXJ0VG9CYWNraW5nIGNvbnN0KToKKyAgICAgICAg
KiBNb2R1bGVzL1dlYkdQVS9HUFVJbWFnZUNvcHlFeHRlcm5hbEltYWdlLmlkbDoKKyAgICAgICAg
KiBNb2R1bGVzL1dlYkdQVS9HUFVMb2FkT3AuaDoKKyAgICAgICAgKFdlYkNvcmU6OmNvbnZlcnRU
b0JhY2tpbmcpOgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVUxvYWRPcC5pZGw6CisgICAg
ICAgICogTW9kdWxlcy9XZWJHUFUvR1BVT2JqZWN0QmFzZS5pZGw6CisgICAgICAgICogTW9kdWxl
cy9XZWJHUFUvR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lLmg6IFJlbW92ZWQuCisgICAgICAgICog
TW9kdWxlcy9XZWJHUFUvR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lLmlkbDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVQcm9ncmFtbWFibGVQYXNzRW5jb2Rlci5pZGw6Cisg
ICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVUXVlcnlTZXREZXNjcmlwdG9yLmg6CisgICAgICAg
IChXZWJDb3JlOjpHUFVRdWVyeVNldERlc2NyaXB0b3I6OmNvbnZlcnRUb0JhY2tpbmcgY29uc3Qp
OgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVVF1ZXJ5U2V0RGVzY3JpcHRvci5pZGw6Cisg
ICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVUXVlcnlUeXBlLmg6CisgICAgICAgIChXZWJDb3Jl
Ojpjb252ZXJ0VG9CYWNraW5nKToKKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVRdWVyeVR5
cGUuaWRsOgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVVF1ZXVlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkdQVVF1ZXVlOjp3cml0ZUJ1ZmZlcik6CisgICAgICAgICogTW9kdWxlcy9XZWJH
UFUvR1BVUXVldWUuaDoKKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJCdW5kbGVF
bmNvZGVyLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJCdW5kbGVFbmNv
ZGVyRGVzY3JpcHRvci5oOgorICAgICAgICAoV2ViQ29yZTo6R1BVUmVuZGVyQnVuZGxlRW5jb2Rl
ckRlc2NyaXB0b3I6OmNvbnZlcnRUb0JhY2tpbmcgY29uc3QpOgorICAgICAgICAqIE1vZHVsZXMv
V2ViR1BVL0dQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6
OkdQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQ6OmNvbnZlcnRUb0JhY2tpbmcgY29uc3QpOgor
ICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQuaWRs
OgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRh
Y2htZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpHUFVSZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0
YWNobWVudDo6Y29udmVydFRvQmFja2luZyBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy9XZWJH
UFUvR1BVUmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQuaWRsOgorICAgICAgICAqIE1v
ZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NEZXNjcmlwdG9yLmg6CisgICAgICAgIChXZWJDb3Jl
OjpHUFVSZW5kZXJQYXNzRGVzY3JpcHRvcjo6Y29udmVydFRvQmFja2luZyBjb25zdCk6CisgICAg
ICAgICogTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IuaWRsOgorICAgICAg
ICAqIE1vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NFbmNvZGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkdQVVJlbmRlclBhc3NFbmNvZGVyOjplbmQpOgorICAgICAgICAoV2ViQ29yZTo6R1BV
UmVuZGVyUGFzc0VuY29kZXI6OmJlZ2luUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkpOiBEZWxldGVk
LgorICAgICAgICAoV2ViQ29yZTo6R1BVUmVuZGVyUGFzc0VuY29kZXI6OmVuZFBpcGVsaW5lU3Rh
dGlzdGljc1F1ZXJ5KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkdQVVJlbmRlclBhc3NF
bmNvZGVyOjplbmRQYXNzKTogRGVsZXRlZC4KKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVS
ZW5kZXJQYXNzRW5jb2Rlci5oOgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBh
c3NFbmNvZGVyLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzTGF5
b3V0Lmg6CisgICAgICAgIChXZWJDb3JlOjpHUFVSZW5kZXJQYXNzTGF5b3V0Ojpjb252ZXJ0VG9C
YWNraW5nIGNvbnN0KToKKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzTGF5
b3V0LmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVTaGFkZXJNb2R1bGVDb21waWxh
dGlvbkhpbnQuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BV
TG9hZE9wLmguCisgICAgICAgIChXZWJDb3JlOjpHUFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhp
bnQ6OmNvbnZlcnRUb0JhY2tpbmcgY29uc3QpOgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQ
VVNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludC5pZGw6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvV2ViR1BVL0dQVVF1ZXJ5VHlwZS5pZGwuCisgICAgICAgICogTW9kdWxlcy9X
ZWJHUFUvR1BVU2hhZGVyTW9kdWxlRGVzY3JpcHRvci5oOgorICAgICAgICAoV2ViQ29yZTo6R1BV
U2hhZGVyTW9kdWxlRGVzY3JpcHRvcjo6Y29udmVydFRvQmFja2luZyBjb25zdCk6CisgICAgICAg
ICogTW9kdWxlcy9XZWJHUFUvR1BVU2hhZGVyTW9kdWxlRGVzY3JpcHRvci5pZGw6CisgICAgICAg
ICogTW9kdWxlcy9XZWJHUFUvR1BVVGV4dHVyZURlc2NyaXB0b3IuaDoKKyAgICAgICAgKFdlYkNv
cmU6OkdQVVRleHR1cmVEZXNjcmlwdG9yOjpjb252ZXJ0VG9CYWNraW5nIGNvbnN0KToKKyAgICAg
ICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVUZXh0dXJlRGVzY3JpcHRvci5pZGw6CisgICAgICAgICog
TW9kdWxlcy9XZWJHUFUvR1BVVGV4dHVyZUZvcm1hdC5oOgorICAgICAgICAoV2ViQ29yZTo6Y29u
dmVydFRvQmFja2luZyk6CisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVVGV4dHVyZUZvcm1h
dC5pZGw6CisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVVW5jYXB0dXJlZEVycm9yRXZlbnQu
aWRsOgorICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvajoKKwogMjAyMi0wMi0xNSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBw
bGUuY29tPgogCiAgICAgICAgIERvIHByZWxpbWluYXJ5IHdvcmsgdG8gcGFzcyBkb21haW4gbmFt
ZXMgdG8gQ29yZUxvY2F0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCAxN2YzOWIzZTg5ZWYyMTg0
MTc0NjVhZGJjY2E4MzYwZmM3NjBlYjU1Li41YzFlZTg2NzExYTY1NmYyYTA1MDU1NjgwNzllZjJi
ZDA0N2ZmYTEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSw3MCBAQAorMjAyMi0wMi0x
NSAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFtX
ZWJHUFVdIFVwZGF0ZSBJRExzIGFuZCBzdHVicyB0byBsYXRlc3QgdmVyc2lvbiBvZiB0aGUgc3Bl
YworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM2NjM5
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBQQUwu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBwYWwvZ3JhcGhpY3MvV2ViR1BV
L0ltcGwvV2ViR1BVQWRhcHRlckltcGwuY3BwOgorICAgICAgICAoUEFMOjpXZWJHUFU6OnN1cHBv
cnRlZEZlYXR1cmVzKToKKyAgICAgICAgKFBBTDo6V2ViR1BVOjpBZGFwdGVySW1wbDo6cmVxdWVz
dERldmljZSk6CisgICAgICAgICogcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVUJ1ZmZl
ckltcGwuY3BwOgorICAgICAgICAoUEFMOjpXZWJHUFU6OkJ1ZmZlckltcGw6Om1hcEFzeW5jKToK
KyAgICAgICAgKFBBTDo6V2ViR1BVOjpCdWZmZXJJbXBsOjpnZXRNYXBwZWRSYW5nZSk6CisgICAg
ICAgICogcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVUJ1ZmZlckltcGwuaDoKKyAgICAg
ICAgKiBwYWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwvV2ViR1BVQ29tbWFuZEVuY29kZXJJbXBsLmNw
cDoKKyAgICAgICAgKFBBTDo6V2ViR1BVOjpDb21tYW5kRW5jb2RlckltcGw6OmJlZ2luUmVuZGVy
UGFzcyk6CisgICAgICAgIChQQUw6OldlYkdQVTo6Q29tbWFuZEVuY29kZXJJbXBsOjpiZWdpbkNv
bXB1dGVQYXNzKToKKyAgICAgICAgKFBBTDo6V2ViR1BVOjpDb21tYW5kRW5jb2RlckltcGw6OmNs
ZWFyQnVmZmVyKToKKyAgICAgICAgKFBBTDo6V2ViR1BVOjpDb21tYW5kRW5jb2RlckltcGw6OmZp
bGxCdWZmZXIpOiBEZWxldGVkLgorICAgICAgICAqIHBhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9X
ZWJHUFVDb21tYW5kRW5jb2RlckltcGwuaDoKKyAgICAgICAgKiBwYWwvZ3JhcGhpY3MvV2ViR1BV
L0ltcGwvV2ViR1BVQ29tcHV0ZVBhc3NFbmNvZGVySW1wbC5jcHA6CisgICAgICAgIChQQUw6Oldl
YkdQVTo6Q29tcHV0ZVBhc3NFbmNvZGVySW1wbDo6ZGlzcGF0Y2gpOgorICAgICAgICAoUEFMOjpX
ZWJHUFU6OkNvbXB1dGVQYXNzRW5jb2RlckltcGw6OmVuZCk6CisgICAgICAgIChQQUw6OldlYkdQ
VTo6Q29tcHV0ZVBhc3NFbmNvZGVySW1wbDo6YmVnaW5QaXBlbGluZVN0YXRpc3RpY3NRdWVyeSk6
IERlbGV0ZWQuCisgICAgICAgIChQQUw6OldlYkdQVTo6Q29tcHV0ZVBhc3NFbmNvZGVySW1wbDo6
ZW5kUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkpOiBEZWxldGVkLgorICAgICAgICAoUEFMOjpXZWJH
UFU6OkNvbXB1dGVQYXNzRW5jb2RlckltcGw6OmVuZFBhc3MpOiBEZWxldGVkLgorICAgICAgICAq
IHBhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9XZWJHUFVDb21wdXRlUGFzc0VuY29kZXJJbXBsLmg6
CisgICAgICAgICogcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVUNvbnZlcnRUb0JhY2tp
bmdDb250ZXh0LmNwcDoKKyAgICAgICAgKFBBTDo6V2ViR1BVOjpDb252ZXJ0VG9CYWNraW5nQ29u
dGV4dDo6Y29udmVydFRvQmFja2luZyk6CisgICAgICAgICogcGFsL2dyYXBoaWNzL1dlYkdQVS9J
bXBsL1dlYkdQVUNvbnZlcnRUb0JhY2tpbmdDb250ZXh0Lmg6CisgICAgICAgICogcGFsL2dyYXBo
aWNzL1dlYkdQVS9JbXBsL1dlYkdQVURldmljZUltcGwuY3BwOgorICAgICAgICAoUEFMOjpXZWJH
UFU6OkRldmljZUltcGw6OmNyZWF0ZVRleHR1cmUpOgorICAgICAgICAoUEFMOjpXZWJHUFU6OkRl
dmljZUltcGw6OmNyZWF0ZVNoYWRlck1vZHVsZSk6CisgICAgICAgIChQQUw6OldlYkdQVTo6Y29u
dmVydFRvQmFja2luZyk6CisgICAgICAgIChQQUw6OldlYkdQVTo6RGV2aWNlSW1wbDo6Y3JlYXRl
UmVuZGVyQnVuZGxlRW5jb2Rlcik6CisgICAgICAgIChQQUw6OldlYkdQVTo6RGV2aWNlSW1wbDo6
Y3JlYXRlUXVlcnlTZXQpOgorICAgICAgICAqIHBhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9XZWJH
UFVJbXBsLmNwcDoKKyAgICAgICAgKFBBTDo6V2ViR1BVOjpHUFVJbXBsOjpyZXF1ZXN0QWRhcHRl
cik6CisgICAgICAgICogcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVVJlbmRlclBhc3NF
bmNvZGVySW1wbC5jcHA6CisgICAgICAgIChQQUw6OldlYkdQVTo6UmVuZGVyUGFzc0VuY29kZXJJ
bXBsOjplbmQpOgorICAgICAgICAoUEFMOjpXZWJHUFU6OlJlbmRlclBhc3NFbmNvZGVySW1wbDo6
YmVnaW5QaXBlbGluZVN0YXRpc3RpY3NRdWVyeSk6IERlbGV0ZWQuCisgICAgICAgIChQQUw6Oldl
YkdQVTo6UmVuZGVyUGFzc0VuY29kZXJJbXBsOjplbmRQaXBlbGluZVN0YXRpc3RpY3NRdWVyeSk6
IERlbGV0ZWQuCisgICAgICAgIChQQUw6OldlYkdQVTo6UmVuZGVyUGFzc0VuY29kZXJJbXBsOjpl
bmRQYXNzKTogRGVsZXRlZC4KKyAgICAgICAgKiBwYWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwvV2Vi
R1BVUmVuZGVyUGFzc0VuY29kZXJJbXBsLmg6CisgICAgICAgICogcGFsL2dyYXBoaWNzL1dlYkdQ
VS9XZWJHUFVCdWZmZXIuaDoKKyAgICAgICAgKiBwYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVUNh
bnZhc0NvbmZpZ3VyYXRpb24uaDoKKyAgICAgICAgKiBwYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQ
VUNvbW1hbmRFbmNvZGVyLmg6CisgICAgICAgICogcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVD
b21wdXRlUGFzc0VuY29kZXIuaDoKKyAgICAgICAgKiBwYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQ
VUZlYXR1cmVOYW1lLmg6CisgICAgICAgICogcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVGcmFn
bWVudFN0YXRlLmg6CisgICAgICAgICogcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVJbWFnZUNv
cHlFeHRlcm5hbEltYWdlLmg6CisgICAgICAgICogcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVM
b2FkT3AuaDoKKyAgICAgICAgKiBwYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVBpcGVsaW5lU3Rh
dGlzdGljTmFtZS5oOiBSZW1vdmVkLgorICAgICAgICAqIHBhbC9ncmFwaGljcy9XZWJHUFUvV2Vi
R1BVUXVlcnlTZXREZXNjcmlwdG9yLmg6CisgICAgICAgICogcGFsL2dyYXBoaWNzL1dlYkdQVS9X
ZWJHUFVRdWVyeVR5cGUuaDoKKyAgICAgICAgKiBwYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVF1
ZXVlLmg6CisgICAgICAgICogcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVSZW5kZXJQYXNzQ29s
b3JBdHRhY2htZW50Lmg6CisgICAgICAgICogcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVSZW5k
ZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNobWVudC5oOgorICAgICAgICAqIHBhbC9ncmFwaGljcy9X
ZWJHUFUvV2ViR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IuaDoKKyAgICAgICAgKiBwYWwvZ3JhcGhp
Y3MvV2ViR1BVL1dlYkdQVVJlbmRlclBhc3NFbmNvZGVyLmg6CisgICAgICAgICogcGFsL2dyYXBo
aWNzL1dlYkdQVS9XZWJHUFVSZW5kZXJQYXNzTGF5b3V0Lmg6CisgICAgICAgICogcGFsL2dyYXBo
aWNzL1dlYkdQVS9XZWJHUFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQuaDogQ29waWVkIGZy
b20gU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVSW1hZ2VDb3B5
RXh0ZXJuYWxJbWFnZS5oLgorICAgICAgICAqIHBhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVU2hh
ZGVyTW9kdWxlRGVzY3JpcHRvci5oOgorICAgICAgICAqIHBhbC9ncmFwaGljcy9XZWJHUFUvV2Vi
R1BVVGV4dHVyZURlc2NyaXB0b3IuaDoKKyAgICAgICAgKiBwYWwvZ3JhcGhpY3MvV2ViR1BVL1dl
YkdQVVRleHR1cmVGb3JtYXQuaDoKKwogMjAyMi0wMi0xNSAgQWxleCBDaHJpc3RlbnNlbiAgPGFj
aHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIEZpeCBpbnRlcm5hbCBCaWcgU3VyIGJ1
aWxkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViR1BVL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJHUFUv
Q2hhbmdlTG9nCmluZGV4IDgxZTMwMTUzMzEzNWEwZTM3NzUzN2EyMDRkNmVmMzBlODY2MjY0MmUu
LmFmNjM0MjA4YzY2NDg5NTVjMmNkODgyMTc2NzMyZWY1NWRlOTZiYjkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJHUFUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJHUFUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsNDUgQEAKKzIwMjItMDItMTUgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFw
cGxlLmNvbT4KKworICAgICAgICBbV2ViR1BVXSBVcGRhdGUgSURMcyBhbmQgc3R1YnMgdG8gbGF0
ZXN0IHZlcnNpb24gb2YgdGhlIHNwZWMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIzNjYzOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogV2ViR1BVL0FkYXB0ZXIuaDoKKyAgICAgICAgKiBXZWJHUFUvQWRh
cHRlci5tbToKKyAgICAgICAgKFdlYkdQVTo6QWRhcHRlcjo6ZW51bWVyYXRlRmVhdHVyZXMpOgor
ICAgICAgICAod2dwdUFkYXB0ZXJFbnVtZXJhdGVGZWF0dXJlcyk6CisgICAgICAgIChXZWJHUFU6
OkFkYXB0ZXI6OmdldEZlYXR1cmVBdEluZGV4KTogRGVsZXRlZC4KKyAgICAgICAgKHdncHVBZGFw
dGVyR2V0RmVhdHVyZUF0SW5kZXgpOiBEZWxldGVkLgorICAgICAgICAqIFdlYkdQVS9Db21tYW5k
RW5jb2Rlci5oOgorICAgICAgICAqIFdlYkdQVS9Db21tYW5kRW5jb2Rlci5tbToKKyAgICAgICAg
KFdlYkdQVTo6Q29tbWFuZEVuY29kZXI6OmNsZWFyQnVmZmVyKToKKyAgICAgICAgKHdncHVDb21t
YW5kRW5jb2RlckNsZWFyQnVmZmVyKToKKyAgICAgICAgKFdlYkdQVTo6Q29tbWFuZEVuY29kZXI6
OmZpbGxCdWZmZXIpOiBEZWxldGVkLgorICAgICAgICAod2dwdUNvbW1hbmRFbmNvZGVyRmlsbEJ1
ZmZlcik6IERlbGV0ZWQuCisgICAgICAgICogV2ViR1BVL0NvbXB1dGVQYXNzRW5jb2Rlci5oOgor
ICAgICAgICAqIFdlYkdQVS9Db21wdXRlUGFzc0VuY29kZXIubW06CisgICAgICAgIChXZWJHUFU6
OkNvbXB1dGVQYXNzRW5jb2Rlcjo6d3JpdGVUaW1lc3RhbXApOiBEZWxldGVkLgorICAgICAgICAo
d2dwdUNvbXB1dGVQYXNzRW5jb2RlcldyaXRlVGltZXN0YW1wKTogRGVsZXRlZC4KKyAgICAgICAg
KiBXZWJHUFUvRGV2aWNlLmg6CisgICAgICAgICogV2ViR1BVL0RldmljZS5tbToKKyAgICAgICAg
KFdlYkdQVTo6RGV2aWNlOjplbnVtZXJhdGVGZWF0dXJlcyk6CisgICAgICAgIChXZWJHUFU6OkRl
dmljZTo6aGFzRmVhdHVyZSk6CisgICAgICAgICh3Z3B1RGV2aWNlRW51bWVyYXRlRmVhdHVyZXMp
OgorICAgICAgICAod2dwdURldmljZUhhc0ZlYXR1cmUpOgorICAgICAgICAqIFdlYkdQVS9JbnN0
YW5jZS5tbToKKyAgICAgICAgKHdncHVHZXRQcm9jQWRkcmVzcyk6CisgICAgICAgICogV2ViR1BV
L1JlbmRlclBhc3NFbmNvZGVyLmg6CisgICAgICAgICogV2ViR1BVL1JlbmRlclBhc3NFbmNvZGVy
Lm1tOgorICAgICAgICAoV2ViR1BVOjpSZW5kZXJQYXNzRW5jb2Rlcjo6d3JpdGVUaW1lc3RhbXAp
OiBEZWxldGVkLgorICAgICAgICAod2dwdVJlbmRlclBhc3NFbmNvZGVyV3JpdGVUaW1lc3RhbXAp
OiBEZWxldGVkLgorICAgICAgICAqIFdlYkdQVS9TaGFkZXJNb2R1bGUuaDoKKyAgICAgICAgKiBX
ZWJHUFUvU2hhZGVyTW9kdWxlLm1tOgorICAgICAgICAoV2ViR1BVOjpTaGFkZXJNb2R1bGU6Omdl
dENvbXBpbGF0aW9uSW5mbyk6CisgICAgICAgICh3Z3B1U2hhZGVyTW9kdWxlR2V0Q29tcGlsYXRp
b25JbmZvKToKKyAgICAgICAgKiBXZWJHUFUvV2ViR1BVLmg6CisgICAgICAgICogV2ViR1BVL1dl
YkdQVUV4dC5oOgorCiAyMDIyLTAyLTE1ICBSb2JpbiBNb3Jpc3NldCAgPHJtb3Jpc3NldEBhcHBs
ZS5jb20+CiAKICAgICAgICAgW1dHU0xdIEltcGxlbWVudCBlbm91Z2ggb2YgdGhlIGxleGVyIGZv
ciB0aGUgc2ltcGxlc3Qgc2hhZGVycwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBkOGJkYjE5MWE0NmRiM2UxNGEzMmU4
NGY4NGMyMTMxNWRlNDRkM2Q2Li5hMjQ4N2M2NjdmZmZmNTBhNTUwOWY0MzZiZjg3YTAyMGY0ZmVh
ODAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyNCBAQAorMjAyMi0wMi0xNSAgTXlsZXMgQy4gTWF4
ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFtXZWJHUFVdIFVwZGF0ZSBJ
RExzIGFuZCBzdHVicyB0byBsYXRlc3QgdmVyc2lvbiBvZiB0aGUgc3BlYworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM2NjM5CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBHUFVQcm9jZXNzL2dyYXBoaWNz
L1dlYkdQVS9SZW1vdGVCdWZmZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVCdWZmZXI6
Om1hcEFzeW5jKToKKyAgICAgICAgKiBHUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVC
dWZmZXIuaDoKKyAgICAgICAgKiBHUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVCdWZm
ZXIubWVzc2FnZXMuaW46CisgICAgICAgICogR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVt
b3RlQ29tbWFuZEVuY29kZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVDb21tYW5kRW5j
b2Rlcjo6Y2xlYXJCdWZmZXIpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVDb21tYW5kRW5jb2Rl
cjo6ZmlsbEJ1ZmZlcik6IERlbGV0ZWQuCisgICAgICAgICogR1BVUHJvY2Vzcy9ncmFwaGljcy9X
ZWJHUFUvUmVtb3RlQ29tbWFuZEVuY29kZXIuaDoKKyAgICAgICAgKiBHUFVQcm9jZXNzL2dyYXBo
aWNzL1dlYkdQVS9SZW1vdGVDb21tYW5kRW5jb2Rlci5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBH
UFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVDb21wdXRlUGFzc0VuY29kZXIuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpSZW1vdGVDb21wdXRlUGFzc0VuY29kZXI6OmRpc3BhdGNoKToKKyAg
ICAgICAgKFdlYktpdDo6UmVtb3RlQ29tcHV0ZVBhc3NFbmNvZGVyOjplbmQpOgorICAgICAgICAo
V2ViS2l0OjpSZW1vdGVDb21wdXRlUGFzc0VuY29kZXI6OmJlZ2luUGlwZWxpbmVTdGF0aXN0aWNz
UXVlcnkpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVDb21wdXRlUGFzc0VuY29k
ZXI6OmVuZFBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktp
dDo6UmVtb3RlQ29tcHV0ZVBhc3NFbmNvZGVyOjplbmRQYXNzKTogRGVsZXRlZC4KKyAgICAgICAg
KiBHUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVDb21wdXRlUGFzc0VuY29kZXIuaDoK
KyAgICAgICAgKiBHUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVDb21wdXRlUGFzc0Vu
Y29kZXIubWVzc2FnZXMuaW46CisgICAgICAgICogR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUv
UmVtb3RlUmVuZGVyUGFzc0VuY29kZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVSZW5k
ZXJQYXNzRW5jb2Rlcjo6ZW5kKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlUmVuZGVyUGFzc0Vu
Y29kZXI6OmJlZ2luUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkpOiBEZWxldGVkLgorICAgICAgICAo
V2ViS2l0OjpSZW1vdGVSZW5kZXJQYXNzRW5jb2Rlcjo6ZW5kUGlwZWxpbmVTdGF0aXN0aWNzUXVl
cnkpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVSZW5kZXJQYXNzRW5jb2Rlcjo6
ZW5kUGFzcyk6IERlbGV0ZWQuCisgICAgICAgICogR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUv
UmVtb3RlUmVuZGVyUGFzc0VuY29kZXIuaDoKKyAgICAgICAgKiBHUFVQcm9jZXNzL2dyYXBoaWNz
L1dlYkdQVS9SZW1vdGVSZW5kZXJQYXNzRW5jb2Rlci5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBT
aGFyZWQvV2ViR1BVL1dlYkdQVUNhbnZhc0NvbmZpZ3VyYXRpb24uY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJHUFU6OkNvbnZlcnRUb0JhY2tpbmdDb250ZXh0Ojpjb252ZXJ0VG9CYWNraW5nKToK
KyAgICAgICAgKFdlYktpdDo6V2ViR1BVOjpDb252ZXJ0RnJvbUJhY2tpbmdDb250ZXh0Ojpjb252
ZXJ0RnJvbUJhY2tpbmcpOgorICAgICAgICAqIFNoYXJlZC9XZWJHUFUvV2ViR1BVQ2FudmFzQ29u
ZmlndXJhdGlvbi5oOgorICAgICAgICAoV2ViS2l0OjpXZWJHUFU6OkNhbnZhc0NvbmZpZ3VyYXRp
b246OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OldlYkdQVTo6Q2FudmFzQ29uZmln
dXJhdGlvbjo6ZGVjb2RlKToKKyAgICAgICAgKiBTaGFyZWQvV2ViR1BVL1dlYkdQVUNvbnZlcnRG
cm9tQmFja2luZ0NvbnRleHQuaDoKKyAgICAgICAgKiBTaGFyZWQvV2ViR1BVL1dlYkdQVUNvbnZl
cnRUb0JhY2tpbmdDb250ZXh0Lmg6CisgICAgICAgICogU2hhcmVkL1dlYkdQVS9XZWJHUFVGcmFn
bWVudFN0YXRlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViR1BVOjpDb252ZXJ0VG9CYWNraW5n
Q29udGV4dDo6Y29udmVydFRvQmFja2luZyk6CisgICAgICAgIChXZWJLaXQ6OldlYkdQVTo6Q29u
dmVydEZyb21CYWNraW5nQ29udGV4dDo6Y29udmVydEZyb21CYWNraW5nKToKKyAgICAgICAgKiBT
aGFyZWQvV2ViR1BVL1dlYkdQVUZyYWdtZW50U3RhdGUuaDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
R1BVOjpGcmFnbWVudFN0YXRlOjpkZWNvZGUpOgorICAgICAgICAqIFNoYXJlZC9XZWJHUFUvV2Vi
R1BVSW1hZ2VDb3B5RXh0ZXJuYWxJbWFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkdQVTo6
Q29udmVydFRvQmFja2luZ0NvbnRleHQ6OmNvbnZlcnRUb0JhY2tpbmcpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJHUFU6OkNvbnZlcnRGcm9tQmFja2luZ0NvbnRleHQ6OmNvbnZlcnRGcm9tQmFja2lu
Zyk6CisgICAgICAgICogU2hhcmVkL1dlYkdQVS9XZWJHUFVJbWFnZUNvcHlFeHRlcm5hbEltYWdl
Lmg6CisgICAgICAgIChXZWJLaXQ6OldlYkdQVTo6SW1hZ2VDb3B5RXh0ZXJuYWxJbWFnZTo6ZW5j
b2RlIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6V2ViR1BVOjpJbWFnZUNvcHlFeHRlcm5hbElt
YWdlOjpkZWNvZGUpOgorICAgICAgICAqIFNoYXJlZC9XZWJHUFUvV2ViR1BVSW1hZ2VDb3B5VGV4
dHVyZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkdQVTo6Q29udmVydFRvQmFja2luZ0NvbnRl
eHQ6OmNvbnZlcnRUb0JhY2tpbmcpOgorICAgICAgICAoV2ViS2l0OjpXZWJHUFU6OkNvbnZlcnRG
cm9tQmFja2luZ0NvbnRleHQ6OmNvbnZlcnRGcm9tQmFja2luZyk6CisgICAgICAgICogU2hhcmVk
L1dlYkdQVS9XZWJHUFVRdWVyeVNldERlc2NyaXB0b3IuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJHUFU6OkNvbnZlcnRUb0JhY2tpbmdDb250ZXh0Ojpjb252ZXJ0VG9CYWNraW5nKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViR1BVOjpDb252ZXJ0RnJvbUJhY2tpbmdDb250ZXh0Ojpjb252ZXJ0RnJv
bUJhY2tpbmcpOgorICAgICAgICAqIFNoYXJlZC9XZWJHUFUvV2ViR1BVUXVlcnlTZXREZXNjcmlw
dG9yLmg6CisgICAgICAgIChXZWJLaXQ6OldlYkdQVTo6UXVlcnlTZXREZXNjcmlwdG9yOjplbmNv
ZGUgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJHUFU6OlF1ZXJ5U2V0RGVzY3JpcHRvcjo6
ZGVjb2RlKToKKyAgICAgICAgKiBTaGFyZWQvV2ViR1BVL1dlYkdQVVJlbmRlclBhc3NDb2xvckF0
dGFjaG1lbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJHUFU6OkNvbnZlcnRUb0JhY2tpbmdD
b250ZXh0Ojpjb252ZXJ0VG9CYWNraW5nKToKKyAgICAgICAgKFdlYktpdDo6V2ViR1BVOjpDb252
ZXJ0RnJvbUJhY2tpbmdDb250ZXh0Ojpjb252ZXJ0RnJvbUJhY2tpbmcpOgorICAgICAgICAqIFNo
YXJlZC9XZWJHUFUvV2ViR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudC5oOgorICAgICAgICAo
V2ViS2l0OjpXZWJHUFU6OlJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQ6OmVuY29kZSBjb25zdCk6
CisgICAgICAgIChXZWJLaXQ6OldlYkdQVTo6UmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudDo6ZGVj
b2RlKToKKyAgICAgICAgKiBTaGFyZWQvV2ViR1BVL1dlYkdQVVJlbmRlclBhc3NEZXB0aFN0ZW5j
aWxBdHRhY2htZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViR1BVOjpDb252ZXJ0VG9CYWNr
aW5nQ29udGV4dDo6Y29udmVydFRvQmFja2luZyk6CisgICAgICAgIChXZWJLaXQ6OldlYkdQVTo6
Q29udmVydEZyb21CYWNraW5nQ29udGV4dDo6Y29udmVydEZyb21CYWNraW5nKToKKyAgICAgICAg
KiBTaGFyZWQvV2ViR1BVL1dlYkdQVVJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50Lmg6
CisgICAgICAgIChXZWJLaXQ6OldlYkdQVTo6UmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1l
bnQ6OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OldlYkdQVTo6UmVuZGVyUGFzc0Rl
cHRoU3RlbmNpbEF0dGFjaG1lbnQ6OmRlY29kZSk6CisgICAgICAgICogU2hhcmVkL1dlYkdQVS9X
ZWJHUFVSZW5kZXJQYXNzRGVzY3JpcHRvci5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkdQVTo6
Q29udmVydFRvQmFja2luZ0NvbnRleHQ6OmNvbnZlcnRUb0JhY2tpbmcpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJHUFU6OkNvbnZlcnRGcm9tQmFja2luZ0NvbnRleHQ6OmNvbnZlcnRGcm9tQmFja2lu
Zyk6CisgICAgICAgICogU2hhcmVkL1dlYkdQVS9XZWJHUFVSZW5kZXJQYXNzRGVzY3JpcHRvci5o
OgorICAgICAgICAoV2ViS2l0OjpXZWJHUFU6OlJlbmRlclBhc3NEZXNjcmlwdG9yOjpkZWNvZGUp
OgorICAgICAgICAqIFNoYXJlZC9XZWJHUFUvV2ViR1BVUmVuZGVyUGFzc0xheW91dC5oOgorICAg
ICAgICAoV2ViS2l0OjpXZWJHUFU6OlJlbmRlclBhc3NMYXlvdXQ6OmRlY29kZSk6CisgICAgICAg
ICogU2hhcmVkL1dlYkdQVS9XZWJHUFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQuY3BwOiBD
b3BpZWQgZnJvbSBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVU2hhZGVyTW9kdWxl
RGVzY3JpcHRvci5jcHAuCisgICAgICAgIChXZWJLaXQ6OldlYkdQVTo6Q29udmVydFRvQmFja2lu
Z0NvbnRleHQ6OmNvbnZlcnRUb0JhY2tpbmcpOgorICAgICAgICAoV2ViS2l0OjpXZWJHUFU6OkNv
bnZlcnRGcm9tQmFja2luZ0NvbnRleHQ6OmNvbnZlcnRGcm9tQmFja2luZyk6CisgICAgICAgICog
U2hhcmVkL1dlYkdQVS9XZWJHUFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQuaDogQ29waWVk
IGZyb20gU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVUltYWdlQ29weUV4dGVybmFs
SW1hZ2UuaC4KKyAgICAgICAgKFdlYktpdDo6V2ViR1BVOjpTaGFkZXJNb2R1bGVDb21waWxhdGlv
bkhpbnQ6OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OldlYkdQVTo6U2hhZGVyTW9k
dWxlQ29tcGlsYXRpb25IaW50OjpkZWNvZGUpOgorICAgICAgICAqIFNoYXJlZC9XZWJHUFUvV2Vi
R1BVU2hhZGVyTW9kdWxlRGVzY3JpcHRvci5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkdQVTo6
Q29udmVydFRvQmFja2luZ0NvbnRleHQ6OmNvbnZlcnRUb0JhY2tpbmcpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJHUFU6OkNvbnZlcnRGcm9tQmFja2luZ0NvbnRleHQ6OmNvbnZlcnRGcm9tQmFja2lu
Zyk6CisgICAgICAgICogU2hhcmVkL1dlYkdQVS9XZWJHUFVTaGFkZXJNb2R1bGVEZXNjcmlwdG9y
Lmg6CisgICAgICAgIChXZWJLaXQ6OldlYkdQVTo6U2hhZGVyTW9kdWxlRGVzY3JpcHRvcjo6ZW5j
b2RlIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6V2ViR1BVOjpTaGFkZXJNb2R1bGVEZXNjcmlw
dG9yOjpkZWNvZGUpOgorICAgICAgICAqIFNoYXJlZC9XZWJHUFUvV2ViR1BVVGV4dHVyZURlc2Ny
aXB0b3IuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJHUFU6OkNvbnZlcnRUb0JhY2tpbmdDb250
ZXh0Ojpjb252ZXJ0VG9CYWNraW5nKToKKyAgICAgICAgKFdlYktpdDo6V2ViR1BVOjpDb252ZXJ0
RnJvbUJhY2tpbmdDb250ZXh0Ojpjb252ZXJ0RnJvbUJhY2tpbmcpOgorICAgICAgICAqIFNoYXJl
ZC9XZWJHUFUvV2ViR1BVVGV4dHVyZURlc2NyaXB0b3IuaDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
R1BVOjpUZXh0dXJlRGVzY3JpcHRvcjo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6
V2ViR1BVOjpUZXh0dXJlRGVzY3JpcHRvcjo6ZGVjb2RlKToKKyAgICAgICAgKiBTb3VyY2VzLnR4
dDoKKyAgICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAg
KiBXZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQnVmZmVyUHJveHkuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJHUFU6OlJlbW90ZUJ1ZmZlclByb3h5OjptYXBBc3luYyk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYkdQVTo6UmVtb3RlQnVmZmVyUHJveHk6OmdldE1hcHBlZFJhbmdl
KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQnVmZmVy
UHJveHkuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9XZWJHUFUvUmVtb3Rl
Q29tbWFuZEVuY29kZXJQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkdQVTo6UmVtb3Rl
Q29tbWFuZEVuY29kZXJQcm94eTo6Y2xlYXJCdWZmZXIpOgorICAgICAgICAoV2ViS2l0OjpXZWJH
UFU6OlJlbW90ZUNvbW1hbmRFbmNvZGVyUHJveHk6OmZpbGxCdWZmZXIpOiBEZWxldGVkLgorICAg
ICAgICAqIFdlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVDb21tYW5kRW5jb2Rl
clByb3h5Lmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvV2ViR1BVL1JlbW90
ZUNvbXB1dGVQYXNzRW5jb2RlclByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViR1BVOjpS
ZW1vdGVDb21wdXRlUGFzc0VuY29kZXJQcm94eTo6ZGlzcGF0Y2gpOgorICAgICAgICAoV2ViS2l0
OjpXZWJHUFU6OlJlbW90ZUNvbXB1dGVQYXNzRW5jb2RlclByb3h5OjplbmQpOgorICAgICAgICAo
V2ViS2l0OjpXZWJHUFU6OlJlbW90ZUNvbXB1dGVQYXNzRW5jb2RlclByb3h5OjpiZWdpblBpcGVs
aW5lU3RhdGlzdGljc1F1ZXJ5KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViR1BVOjpS
ZW1vdGVDb21wdXRlUGFzc0VuY29kZXJQcm94eTo6ZW5kUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkp
OiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJHUFU6OlJlbW90ZUNvbXB1dGVQYXNzRW5j
b2RlclByb3h5OjplbmRQYXNzKTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9n
cmFwaGljcy9XZWJHUFUvUmVtb3RlQ29tcHV0ZVBhc3NFbmNvZGVyUHJveHkuaDoKKyAgICAgICAg
KiBXZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9XZWJHUFUvUmVtb3RlUXVldWVQcm94eS5oOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVSZW5kZXJQYXNzRW5j
b2RlclByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViR1BVOjpSZW1vdGVSZW5kZXJQYXNz
RW5jb2RlclByb3h5OjplbmQpOgorICAgICAgICAoV2ViS2l0OjpXZWJHUFU6OlJlbW90ZVJlbmRl
clBhc3NFbmNvZGVyUHJveHk6OmJlZ2luUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkpOiBEZWxldGVk
LgorICAgICAgICAoV2ViS2l0OjpXZWJHUFU6OlJlbW90ZVJlbmRlclBhc3NFbmNvZGVyUHJveHk6
OmVuZFBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6
V2ViR1BVOjpSZW1vdGVSZW5kZXJQYXNzRW5jb2RlclByb3h5OjplbmRQYXNzKTogRGVsZXRlZC4K
KyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9XZWJHUFUvUmVtb3RlUmVuZGVyUGFz
c0VuY29kZXJQcm94eS5oOgorCiAyMDIyLTAyLTE1ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBs
ZS5jb20+CiAKICAgICAgICAgRG8gcHJlbGltaW5hcnkgd29yayB0byBwYXNzIGRvbWFpbiBuYW1l
cyB0byBDb3JlTG9jYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMu
dHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggMWQ2ODAxNTBlYmY5YzEx
MTliYzk1ZTYxMTc3MGVlMzM1MzAyZDAyZi4uNzhjNmQyYmE5NmZmNzNkMTljYWUyNWU5NTYxMTY1
ZjNmMjc1ZjJjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysr
IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTE1MjgsNiArMTUyOCw3IEBAIGxp
c3QoQVBQRU5EIFdlYkNvcmVfTk9OX1NWR19JRExfRklMRVMKICAgICBNb2R1bGVzL1dlYkdQVS9H
UFVDb21tYW5kQnVmZmVyRGVzY3JpcHRvci5pZGwKICAgICBNb2R1bGVzL1dlYkdQVS9HUFVDb21t
YW5kRW5jb2Rlci5pZGwKICAgICBNb2R1bGVzL1dlYkdQVS9HUFVDb21tYW5kRW5jb2RlckRlc2Ny
aXB0b3IuaWRsCisgICAgTW9kdWxlcy9XZWJHUFUvR1BVQ29tbWFuZHNNaXhpbi5pZGwKICAgICBN
b2R1bGVzL1dlYkdQVS9HUFVDb21wYXJlRnVuY3Rpb24uaWRsCiAgICAgTW9kdWxlcy9XZWJHUFUv
R1BVQ29tcGlsYXRpb25JbmZvLmlkbAogICAgIE1vZHVsZXMvV2ViR1BVL0dQVUNvbXBpbGF0aW9u
TWVzc2FnZS5pZGwKQEAgLTE1MzksNiArMTU0MCw3IEBAIGxpc3QoQVBQRU5EIFdlYkNvcmVfTk9O
X1NWR19JRExfRklMRVMKICAgICBNb2R1bGVzL1dlYkdQVS9HUFVDb21wdXRlUGlwZWxpbmUuaWRs
CiAgICAgTW9kdWxlcy9XZWJHUFUvR1BVQ29tcHV0ZVBpcGVsaW5lRGVzY3JpcHRvci5pZGwKICAg
ICBNb2R1bGVzL1dlYkdQVS9HUFVDdWxsTW9kZS5pZGwKKyAgICBNb2R1bGVzL1dlYkdQVS9HUFVE
ZWJ1Z0NvbW1hbmRzTWl4aW4uaWRsCiAgICAgTW9kdWxlcy9XZWJHUFUvR1BVRGVwdGhTdGVuY2ls
U3RhdGUuaWRsCiAgICAgTW9kdWxlcy9XZWJHUFUvR1BVRGV2aWNlLmlkbAogICAgIE1vZHVsZXMv
V2ViR1BVL0dQVURldmljZURlc2NyaXB0b3IuaWRsCkBAIC0xNTc0LDcgKzE1NzYsNiBAQCBsaXN0
KEFQUEVORCBXZWJDb3JlX05PTl9TVkdfSURMX0ZJTEVTCiAgICAgTW9kdWxlcy9XZWJHUFUvR1BV
UGlwZWxpbmVEZXNjcmlwdG9yQmFzZS5pZGwKICAgICBNb2R1bGVzL1dlYkdQVS9HUFVQaXBlbGlu
ZUxheW91dC5pZGwKICAgICBNb2R1bGVzL1dlYkdQVS9HUFVQaXBlbGluZUxheW91dERlc2NyaXB0
b3IuaWRsCi0gICAgTW9kdWxlcy9XZWJHUFUvR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lLmlkbAog
ICAgIE1vZHVsZXMvV2ViR1BVL0dQVVBvd2VyUHJlZmVyZW5jZS5pZGwKICAgICBNb2R1bGVzL1dl
YkdQVS9HUFVQcmVkZWZpbmVkQ29sb3JTcGFjZS5pZGwKICAgICBNb2R1bGVzL1dlYkdQVS9HUFVQ
cmltaXRpdmVTdGF0ZS5pZGwKQEAgLTE2MDUsNiArMTYwNiw3IEBAIGxpc3QoQVBQRU5EIFdlYkNv
cmVfTk9OX1NWR19JRExfRklMRVMKICAgICBNb2R1bGVzL1dlYkdQVS9HUFVTYW1wbGVyQmluZGlu
Z1R5cGUuaWRsCiAgICAgTW9kdWxlcy9XZWJHUFUvR1BVU2FtcGxlckRlc2NyaXB0b3IuaWRsCiAg
ICAgTW9kdWxlcy9XZWJHUFUvR1BVU2hhZGVyTW9kdWxlLmlkbAorICAgIE1vZHVsZXMvV2ViR1BV
L0dQVVNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludC5pZGwKICAgICBNb2R1bGVzL1dlYkdQVS9H
UFVTaGFkZXJNb2R1bGVEZXNjcmlwdG9yLmlkbAogICAgIE1vZHVsZXMvV2ViR1BVL0dQVVNoYWRl
clN0YWdlLmlkbAogICAgIE1vZHVsZXMvV2ViR1BVL0dQVVN0ZW5jaWxGYWNlU3RhdGUuaWRsCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0
IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAppbmRleCBh
ODBjZTEzMzIwZWU1YTIzOWQ2M2Q3MmZlMjRlZmMzZGQ2ODhmYjAwLi42YmU3ZjRmMDgzMThhZWE4
YTVhZTIxMzNiMWUyZmIxM2Y0YzEzYmMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKQEAgLTYzLDYgKzYzLDcgQEAgJChQUk9KRUNUX0RJUikv
TW9kdWxlcy9XZWJHUFUvR1BVQ29tbWFuZEJ1ZmZlci5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVs
ZXMvV2ViR1BVL0dQVUNvbW1hbmRCdWZmZXJEZXNjcmlwdG9yLmlkbAogJChQUk9KRUNUX0RJUikv
TW9kdWxlcy9XZWJHUFUvR1BVQ29tbWFuZEVuY29kZXIuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1
bGVzL1dlYkdQVS9HUFVDb21tYW5kRW5jb2RlckRlc2NyaXB0b3IuaWRsCiskKFBST0pFQ1RfRElS
KS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21tYW5kc01peGluLmlkbAogJChQUk9KRUNUX0RJUikvTW9k
dWxlcy9XZWJHUFUvR1BVQ29tcGFyZUZ1bmN0aW9uLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxl
cy9XZWJHUFUvR1BVQ29tcGlsYXRpb25JbmZvLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9X
ZWJHUFUvR1BVQ29tcGlsYXRpb25NZXNzYWdlLmlkbApAQCAtNzQsNiArNzUsNyBAQCAkKFBST0pF
Q1RfRElSKS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21wdXRlUGFzc1RpbWVzdGFtcFdyaXRlLmlkbAog
JChQUk9KRUNUX0RJUikvTW9kdWxlcy9XZWJHUFUvR1BVQ29tcHV0ZVBpcGVsaW5lLmlkbAogJChQ
Uk9KRUNUX0RJUikvTW9kdWxlcy9XZWJHUFUvR1BVQ29tcHV0ZVBpcGVsaW5lRGVzY3JpcHRvci5p
ZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvV2ViR1BVL0dQVUN1bGxNb2RlLmlkbAorJChQUk9K
RUNUX0RJUikvTW9kdWxlcy9XZWJHUFUvR1BVRGVidWdDb21tYW5kc01peGluLmlkbAogJChQUk9K
RUNUX0RJUikvTW9kdWxlcy9XZWJHUFUvR1BVRGVwdGhTdGVuY2lsU3RhdGUuaWRsCiAkKFBST0pF
Q1RfRElSKS9Nb2R1bGVzL1dlYkdQVS9HUFVEZXZpY2UuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1
bGVzL1dlYkdQVS9HUFVEZXZpY2VEZXNjcmlwdG9yLmlkbApAQCAtMTA5LDcgKzExMSw2IEBAICQo
UFJPSkVDVF9ESVIpL01vZHVsZXMvV2ViR1BVL0dQVVBpcGVsaW5lQmFzZS5pZGwKICQoUFJPSkVD
VF9ESVIpL01vZHVsZXMvV2ViR1BVL0dQVVBpcGVsaW5lRGVzY3JpcHRvckJhc2UuaWRsCiAkKFBS
T0pFQ1RfRElSKS9Nb2R1bGVzL1dlYkdQVS9HUFVQaXBlbGluZUxheW91dC5pZGwKICQoUFJPSkVD
VF9ESVIpL01vZHVsZXMvV2ViR1BVL0dQVVBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvci5pZGwKLSQo
UFJPSkVDVF9ESVIpL01vZHVsZXMvV2ViR1BVL0dQVVBpcGVsaW5lU3RhdGlzdGljTmFtZS5pZGwK
ICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvV2ViR1BVL0dQVVBvd2VyUHJlZmVyZW5jZS5pZGwKICQo
UFJPSkVDVF9ESVIpL01vZHVsZXMvV2ViR1BVL0dQVVByZWRlZmluZWRDb2xvclNwYWNlLmlkbAog
JChQUk9KRUNUX0RJUikvTW9kdWxlcy9XZWJHUFUvR1BVUHJpbWl0aXZlU3RhdGUuaWRsCkBAIC0x
NDAsNiArMTQxLDcgQEAgJChQUk9KRUNUX0RJUikvTW9kdWxlcy9XZWJHUFUvR1BVU2FtcGxlckJp
bmRpbmdMYXlvdXQuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL1dlYkdQVS9HUFVTYW1wbGVy
QmluZGluZ1R5cGUuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL1dlYkdQVS9HUFVTYW1wbGVy
RGVzY3JpcHRvci5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvV2ViR1BVL0dQVVNoYWRlck1v
ZHVsZS5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvV2ViR1BVL0dQVVNoYWRlck1vZHVsZUNv
bXBpbGF0aW9uSGludC5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvV2ViR1BVL0dQVVNoYWRl
ck1vZHVsZURlc2NyaXB0b3IuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL1dlYkdQVS9HUFVT
aGFkZXJTdGFnZS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvV2ViR1BVL0dQVVNpemU2NC5p
ZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2Zp
bGVsaXN0IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QK
aW5kZXggZmFmMWQ5Zjg4ODg4NGM5MzRjYjRiZWYwMGIxMTFlN2ZiMjM3MGE3Mi4uZGJjYjlmNmQ5
NTVhODdlMGVhZWE0OTNjMWUxMWRlNTkzMWZlZTM3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKQEAgLTk0MSw2ICs5NDEsOCBAQCAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVUNvbW1hbmRFbmNv
ZGVyLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNH
UFVDb21tYW5kRW5jb2Rlci5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU0dQVUNvbW1hbmRFbmNvZGVyRGVzY3JpcHRvci5jcHAKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVQ29tbWFuZEVuY29kZXJEZXNjcmlw
dG9yLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BV
Q29tbWFuZHNNaXhpbi5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTR1BVQ29tbWFuZHNNaXhpbi5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU0dQVUNvbXBhcmVGdW5jdGlvbi5jcHAKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVQ29tcGFyZUZ1bmN0aW9uLmgKICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVQ29tcGlsYXRp
b25JbmZvLmNwcApAQCAtOTYzLDYgKzk2NSw4IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTR1BVQ29tcHV0ZVBpcGVsaW5lRGVzY3JpcHRvci5jcHAKICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVQ29tcHV0ZVBp
cGVsaW5lRGVzY3JpcHRvci5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU0dQVUN1bGxNb2RlLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNHUFVDdWxsTW9kZS5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVURlYnVnQ29tbWFuZHNNaXhpbi5jcHAKKyQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVRGVidWdDb21tYW5kc01p
eGluLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BV
RGVwdGhTdGVuY2lsU3RhdGUuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU0dQVURlcHRoU3RlbmNpbFN0YXRlLmgKICQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVRGV2aWNlLmNwcApAQCAtMTAzMyw4ICsxMDM3
LDYgQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVQ
aXBlbGluZUxheW91dC5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTR1BVUGlwZWxpbmVMYXlvdXQuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVQaXBlbGluZUxheW91dERlc2NyaXB0b3IuY3BwCiAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVVBpcGVsaW5lTGF5
b3V0RGVzY3JpcHRvci5oCi0kKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU0dQVVBpcGVsaW5lU3RhdGlzdGljTmFtZS5jcHAKLSQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lLmgKICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVUG93ZXJQcmVm
ZXJlbmNlLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNHUFVQb3dlclByZWZlcmVuY2UuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNHUFVQcmVkZWZpbmVkQ29sb3JTcGFjZS5jcHAKQEAgLTEwOTUsNiArMTA5
Nyw4IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BV
U2FtcGxlckRlc2NyaXB0b3IuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU0dQVVNhbXBsZXJEZXNjcmlwdG9yLmgKICQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVU2hhZGVyTW9kdWxlLmNwcAogJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVTaGFkZXJNb2R1bGUuaAor
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVTaGFkZXJN
b2R1bGVDb21waWxhdGlvbkhpbnQuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU0dQVVNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludC5oCiAkKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVVNoYWRlck1vZHVsZURl
c2NyaXB0b3IuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU0dQVVNoYWRlck1vZHVsZURlc2NyaXB0b3IuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVTaGFkZXJTdGFnZS5jcHAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5tYWtlCmluZGV4IDIxYTY1YjkzMTNhZTdjNTNiYjE1ODA0M2Y1NDczZDI5YmRmMDI3
MGUuLmM0ODBkOWUyNTVlNGYwY2FmY2UxYjMwMTQ2OWUyZmU3NTBjODcyNzcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtODYsNiArODYsNyBAQCBKU19CSU5ESU5HX0lETFMgOj0g
XAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9XZWJHUFUvR1BVQ29tbWFuZEJ1ZmZlckRlc2NyaXB0
b3IuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvV2ViR1BVL0dQVUNvbW1hbmRFbmNvZGVy
LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21tYW5kRW5jb2RlckRl
c2NyaXB0b3IuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvV2ViR1BVL0dQVUNvbW1hbmRz
TWl4aW4uaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvV2ViR1BVL0dQVUNvbXBhcmVGdW5j
dGlvbi5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9XZWJHUFUvR1BVQ29tcGlsYXRpb25J
bmZvLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21waWxhdGlvbk1l
c3NhZ2UuaWRsIFwKQEAgLTk3LDYgKzk4LDcgQEAgSlNfQklORElOR19JRExTIDo9IFwKICAgICAk
KFdlYkNvcmUpL01vZHVsZXMvV2ViR1BVL0dQVUNvbXB1dGVQaXBlbGluZS5pZGwgXAogICAgICQo
V2ViQ29yZSkvTW9kdWxlcy9XZWJHUFUvR1BVQ29tcHV0ZVBpcGVsaW5lRGVzY3JpcHRvci5pZGwg
XAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9XZWJHUFUvR1BVQ3VsbE1vZGUuaWRsIFwKKyAgICAk
KFdlYkNvcmUpL01vZHVsZXMvV2ViR1BVL0dQVURlYnVnQ29tbWFuZHNNaXhpbi5pZGwgXAogICAg
ICQoV2ViQ29yZSkvTW9kdWxlcy9XZWJHUFUvR1BVRGVwdGhTdGVuY2lsU3RhdGUuaWRsIFwKICAg
ICAkKFdlYkNvcmUpL01vZHVsZXMvV2ViR1BVL0dQVURldmljZS5pZGwgXAogICAgICQoV2ViQ29y
ZSkvTW9kdWxlcy9XZWJHUFUvR1BVRGV2aWNlRGVzY3JpcHRvci5pZGwgXApAQCAtMTMyLDcgKzEz
NCw2IEBAIEpTX0JJTkRJTkdfSURMUyA6PSBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL1dlYkdQ
VS9HUFVQaXBlbGluZURlc2NyaXB0b3JCYXNlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVz
L1dlYkdQVS9HUFVQaXBlbGluZUxheW91dC5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9X
ZWJHUFUvR1BVUGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yLmlkbCBcCi0gICAgJChXZWJDb3JlKS9N
b2R1bGVzL1dlYkdQVS9HUFVQaXBlbGluZVN0YXRpc3RpY05hbWUuaWRsIFwKICAgICAkKFdlYkNv
cmUpL01vZHVsZXMvV2ViR1BVL0dQVVBvd2VyUHJlZmVyZW5jZS5pZGwgXAogICAgICQoV2ViQ29y
ZSkvTW9kdWxlcy9XZWJHUFUvR1BVUHJlZGVmaW5lZENvbG9yU3BhY2UuaWRsIFwKICAgICAkKFdl
YkNvcmUpL01vZHVsZXMvV2ViR1BVL0dQVVByaW1pdGl2ZVN0YXRlLmlkbCBcCkBAIC0xNjMsNiAr
MTY0LDcgQEAgSlNfQklORElOR19JRExTIDo9IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvV2Vi
R1BVL0dQVVNhbXBsZXJCaW5kaW5nVHlwZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9X
ZWJHUFUvR1BVU2FtcGxlckRlc2NyaXB0b3IuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMv
V2ViR1BVL0dQVVNoYWRlck1vZHVsZS5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9XZWJH
UFUvR1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50LmlkbCBcCiAgICAgJChXZWJDb3JlKS9N
b2R1bGVzL1dlYkdQVS9HUFVTaGFkZXJNb2R1bGVEZXNjcmlwdG9yLmlkbCBcCiAgICAgJChXZWJD
b3JlKS9Nb2R1bGVzL1dlYkdQVS9HUFVTaGFkZXJTdGFnZS5pZGwgXAogICAgICQoV2ViQ29yZSkv
TW9kdWxlcy9XZWJHUFUvR1BVU3RlbmNpbEZhY2VTdGF0ZS5pZGwgXApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UK
aW5kZXggYWM3NDZhOWU1ZWY1YjRhNGQwZGZjZmE0ZGMxYTQ1YjkxZGM1NDJlYS4uZmVhMTQ5MGU5
ZGEwMWQyYTJlODY2MmViZTIzYmYyNzU5NjU5YjZhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvSGVhZGVycy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCkBAIC03
MSw3ICs3MSw2IEBAIHNldChXZWJDb3JlX1BSSVZBVEVfRlJBTUVXT1JLX0hFQURFUlMKICAgICBN
b2R1bGVzL1dlYkdQVS9HUFVQaXBlbGluZURlc2NyaXB0b3JCYXNlLmgKICAgICBNb2R1bGVzL1dl
YkdQVS9HUFVQaXBlbGluZUxheW91dC5oCiAgICAgTW9kdWxlcy9XZWJHUFUvR1BVUGlwZWxpbmVM
YXlvdXREZXNjcmlwdG9yLmgKLSAgICBNb2R1bGVzL1dlYkdQVS9HUFVQaXBlbGluZVN0YXRpc3Rp
Y05hbWUuaAogICAgIE1vZHVsZXMvV2ViR1BVL0dQVVBvd2VyUHJlZmVyZW5jZS5oCiAgICAgTW9k
dWxlcy9XZWJHUFUvR1BVUHJlZGVmaW5lZENvbG9yU3BhY2UuaAogICAgIE1vZHVsZXMvV2ViR1BV
L0dQVVByaW1pdGl2ZVN0YXRlLmgKQEAgLTEwMCw2ICs5OSw3IEBAIHNldChXZWJDb3JlX1BSSVZB
VEVfRlJBTUVXT1JLX0hFQURFUlMKICAgICBNb2R1bGVzL1dlYkdQVS9HUFVTYW1wbGVyQmluZGlu
Z1R5cGUuaAogICAgIE1vZHVsZXMvV2ViR1BVL0dQVVNhbXBsZXJEZXNjcmlwdG9yLmgKICAgICBN
b2R1bGVzL1dlYkdQVS9HUFVTaGFkZXJNb2R1bGUuaAorICAgIE1vZHVsZXMvV2ViR1BVL0dQVVNo
YWRlck1vZHVsZUNvbXBpbGF0aW9uSGludC5oCiAgICAgTW9kdWxlcy9XZWJHUFUvR1BVU2hhZGVy
TW9kdWxlRGVzY3JpcHRvci5oCiAgICAgTW9kdWxlcy9XZWJHUFUvR1BVU2hhZGVyU3RhZ2UuaAog
ICAgIE1vZHVsZXMvV2ViR1BVL0dQVVN0ZW5jaWxGYWNlU3RhdGUuaApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQnVmZmVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvV2ViR1BVL0dQVUJ1ZmZlci5jcHAKaW5kZXggN2ZkNDg1NzJhOWU1NzNjOTliMDNm
YjMzMjhiMjRkOTY0MWMyNzQ5Ny4uNGM5NGE0ZmQ5MTc4NzBjYjQwYzRmZjk0ZTgwMWM0YTFlZTMy
YjAzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQnVmZmVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVCdWZmZXIuY3BwCkBA
IC0zOCwxNCArMzgsMTQgQEAgdm9pZCBHUFVCdWZmZXI6OnNldExhYmVsKFN0cmluZyYmIGxhYmVs
KQogICAgIG1fYmFja2luZy0+c2V0TGFiZWwoV1RGTW92ZShsYWJlbCkpOwogfQogCi12b2lkIEdQ
VUJ1ZmZlcjo6bWFwQXN5bmMoR1BVTWFwTW9kZUZsYWdzIG1vZGUsIHN0ZDo6b3B0aW9uYWw8R1BV
U2l6ZTY0PiBvZmZzZXQsIHN0ZDo6b3B0aW9uYWw8R1BVU2l6ZTY0PiBzaXplLCBNYXBBc3luY1By
b21pc2UmJiBwcm9taXNlKQordm9pZCBHUFVCdWZmZXI6Om1hcEFzeW5jKEdQVU1hcE1vZGVGbGFn
cyBtb2RlLCBHUFVTaXplNjQgb2Zmc2V0LCBzdGQ6Om9wdGlvbmFsPEdQVVNpemU2ND4gc2l6ZSwg
TWFwQXN5bmNQcm9taXNlJiYgcHJvbWlzZSkKIHsKICAgICBtX2JhY2tpbmctPm1hcEFzeW5jKGNv
bnZlcnRNYXBNb2RlRmxhZ3NUb0JhY2tpbmcobW9kZSksIG9mZnNldCwgc2l6ZSwgW3Byb21pc2Ug
PSBXVEZNb3ZlKHByb21pc2UpXSAoKSBtdXRhYmxlIHsKICAgICAgICAgcHJvbWlzZS5yZXNvbHZl
KG51bGxwdHIpOwogICAgIH0pOwogfQogCi1SZWY8SlNDOjpBcnJheUJ1ZmZlcj4gR1BVQnVmZmVy
OjpnZXRNYXBwZWRSYW5nZShzdGQ6Om9wdGlvbmFsPEdQVVNpemU2ND4gb2Zmc2V0LCBzdGQ6Om9w
dGlvbmFsPEdQVVNpemU2ND4gc2l6ZSkKK1JlZjxKU0M6OkFycmF5QnVmZmVyPiBHUFVCdWZmZXI6
OmdldE1hcHBlZFJhbmdlKEdQVVNpemU2NCBvZmZzZXQsIHN0ZDo6b3B0aW9uYWw8R1BVU2l6ZTY0
PiBzaXplKQogewogICAgIGF1dG8gbWFwcGVkUmFuZ2UgPSBtX2JhY2tpbmctPmdldE1hcHBlZFJh
bmdlKG9mZnNldCwgc2l6ZSk7CiAgICAgcmV0dXJuIEFycmF5QnVmZmVyOjpjcmVhdGUobWFwcGVk
UmFuZ2Uuc291cmNlLCBtYXBwZWRSYW5nZS5ieXRlTGVuZ3RoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUJ1ZmZlci5oIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9XZWJHUFUvR1BVQnVmZmVyLmgKaW5kZXggYzYyOGNjMDY3YzA0MzEwMzBjOTZmNWM5MTZk
MWNiOTJhODAwNzdkZS4uNDdlOWU0NWFkMzk1ODIzNThhNTRlYTAxOGY0MjYwOTgxODkxODU1OSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQnVmZmVyLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQnVmZmVyLmgKQEAgLTQ5LDggKzQ5
LDggQEAgcHVibGljOgogICAgIHZvaWQgc2V0TGFiZWwoU3RyaW5nJiYpOwogCiAgICAgdXNpbmcg
TWFwQXN5bmNQcm9taXNlID0gRE9NUHJvbWlzZURlZmVycmVkPElETE51bGw+OwotICAgIHZvaWQg
bWFwQXN5bmMoR1BVTWFwTW9kZUZsYWdzLCBzdGQ6Om9wdGlvbmFsPEdQVVNpemU2ND4gb2Zmc2V0
LCBzdGQ6Om9wdGlvbmFsPEdQVVNpemU2ND4gc2l6ZUZvck1hcCwgTWFwQXN5bmNQcm9taXNlJiYp
OwotICAgIFJlZjxKU0M6OkFycmF5QnVmZmVyPiBnZXRNYXBwZWRSYW5nZShzdGQ6Om9wdGlvbmFs
PEdQVVNpemU2ND4gb2Zmc2V0LCBzdGQ6Om9wdGlvbmFsPEdQVVNpemU2ND4gcmFuZ2VTaXplKTsK
KyAgICB2b2lkIG1hcEFzeW5jKEdQVU1hcE1vZGVGbGFncywgR1BVU2l6ZTY0IG9mZnNldCwgc3Rk
OjpvcHRpb25hbDxHUFVTaXplNjQ+IHNpemVGb3JNYXAsIE1hcEFzeW5jUHJvbWlzZSYmKTsKKyAg
ICBSZWY8SlNDOjpBcnJheUJ1ZmZlcj4gZ2V0TWFwcGVkUmFuZ2UoR1BVU2l6ZTY0IG9mZnNldCwg
c3RkOjpvcHRpb25hbDxHUFVTaXplNjQ+IHJhbmdlU2l6ZSk7CiAgICAgdm9pZCB1bm1hcCgpOwog
CiAgICAgdm9pZCBkZXN0cm95KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L1dlYkdQVS9HUFVDYW52YXNDb25maWd1cmF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L1dlYkdQVS9HUFVDYW52YXNDb25maWd1cmF0aW9uLmgKaW5kZXggNjk2MGU3ZGI4MWIyMmM5MDJl
MzFiNjczNjdlNjY0MmZkMzBiMzU5Zi4uYWY3NWI1YzQ4YjFiOWE1ZDg2NDNlYjE1OTIwNWIxYmRi
ZGVhZTVhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQ2Fu
dmFzQ29uZmlndXJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQ
VUNhbnZhc0NvbmZpZ3VyYXRpb24uaApAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUgPG9wdGlv
bmFsPgogI2luY2x1ZGUgPHBhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVQ2FudmFzQ29uZmlndXJh
dGlvbi5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDYsNiArNDcsOSBAQCBzdHJ1Y3QgR1BVQ2Fu
dmFzQ29uZmlndXJhdGlvbiB7CiAgICAgICAgICAgICBkZXZpY2UtPmJhY2tpbmcoKSwKICAgICAg
ICAgICAgIFdlYkNvcmU6OmNvbnZlcnRUb0JhY2tpbmcoZm9ybWF0KSwKICAgICAgICAgICAgIGNv
bnZlcnRUZXh0dXJlVXNhZ2VGbGFnc1RvQmFja2luZyh1c2FnZSksCisgICAgICAgICAgICB2aWV3
Rm9ybWF0cy5tYXAoW10gKGF1dG8mIHZpZXdGb3JtYXQpIHsKKyAgICAgICAgICAgICAgICByZXR1
cm4gV2ViQ29yZTo6Y29udmVydFRvQmFja2luZyh2aWV3Rm9ybWF0KTsKKyAgICAgICAgICAgIH0p
LAogICAgICAgICAgICAgV2ViQ29yZTo6Y29udmVydFRvQmFja2luZyhjb2xvclNwYWNlKSwKICAg
ICAgICAgICAgIFdlYkNvcmU6OmNvbnZlcnRUb0JhY2tpbmcoY29tcG9zaXRpbmdBbHBoYU1vZGUp
LAogICAgICAgICAgICAgc2l6ZSA/IHN0ZDo6b3B0aW9uYWwgeyBXZWJDb3JlOjpjb252ZXJ0VG9C
YWNraW5nKCpzaXplKSB9IDogc3RkOjpudWxsb3B0LApAQCAtNTUsNiArNTksNyBAQCBzdHJ1Y3Qg
R1BVQ2FudmFzQ29uZmlndXJhdGlvbiB7CiAgICAgR1BVRGV2aWNlKiBkZXZpY2UgeyBudWxscHRy
IH07CiAgICAgR1BVVGV4dHVyZUZvcm1hdCBmb3JtYXQgeyBHUFVUZXh0dXJlRm9ybWF0OjpSOHVu
b3JtIH07CiAgICAgR1BVVGV4dHVyZVVzYWdlRmxhZ3MgdXNhZ2UgeyBHUFVUZXh0dXJlVXNhZ2U6
OlJFTkRFUl9BVFRBQ0hNRU5UIH07CisgICAgVmVjdG9yPEdQVVRleHR1cmVGb3JtYXQ+IHZpZXdG
b3JtYXRzOwogICAgIEdQVVByZWRlZmluZWRDb2xvclNwYWNlIGNvbG9yU3BhY2UgeyBHUFVQcmVk
ZWZpbmVkQ29sb3JTcGFjZTo6U1JHQiB9OwogICAgIEdQVUNhbnZhc0NvbXBvc2l0aW5nQWxwaGFN
b2RlIGNvbXBvc2l0aW5nQWxwaGFNb2RlIHsgR1BVQ2FudmFzQ29tcG9zaXRpbmdBbHBoYU1vZGU6
Ok9wYXF1ZSB9OwogICAgIHN0ZDo6b3B0aW9uYWw8R1BVRXh0ZW50M0Q+IHNpemU7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVDYW52YXNDb25maWd1cmF0aW9u
LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUNhbnZhc0NvbmZpZ3VyYXRp
b24uaWRsCmluZGV4IGZjYWM4Y2RhOWZlZDAyMTZhNjFhNDc0NDY1N2UwNDA4YmJhOGM2YTEuLmIx
NGEyYzc2MTliYjNjMTJmZTY3YWUxOTg1ZmU2ZjdkY2U2MTNhNDQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUNhbnZhc0NvbmZpZ3VyYXRpb24uaWRsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUNhbnZhc0NvbmZpZ3VyYXRpb24uaWRs
CkBAIC0zNyw2ICszNyw3IEBAIGRpY3Rpb25hcnkgR1BVQ2FudmFzQ29uZmlndXJhdGlvbiB7CiAg
ICAgcmVxdWlyZWQgR1BVRGV2aWNlIGRldmljZTsKICAgICByZXF1aXJlZCBHUFVUZXh0dXJlRm9y
bWF0IGZvcm1hdDsKICAgICBHUFVUZXh0dXJlVXNhZ2VGbGFncyB1c2FnZSA9IDB4MTA7ICAvLyBH
UFVUZXh0dXJlVXNhZ2UuUkVOREVSX0FUVEFDSE1FTlQKKyAgICBzZXF1ZW5jZTxHUFVUZXh0dXJl
Rm9ybWF0PiB2aWV3Rm9ybWF0cyA9IFtdOwogICAgIEdQVVByZWRlZmluZWRDb2xvclNwYWNlIGNv
bG9yU3BhY2UgPSAic3JnYiI7CiAgICAgR1BVQ2FudmFzQ29tcG9zaXRpbmdBbHBoYU1vZGUgY29t
cG9zaXRpbmdBbHBoYU1vZGUgPSAib3BhcXVlIjsKICAgICBHUFVFeHRlbnQzRCBzaXplOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQ29tbWFuZEVuY29kZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQ29tbWFuZEVuY29kZXIuY3Bw
CmluZGV4IDgxN2MzNTJlYzAwYTJkZDUxZWU3YjE3ZDcwYzVkZjI1OGZmOGQ0YzUuLmJkZmQyZDQ5
YjI5YzU4YmZiZjAyYjdiMmU2YzUxMWZmN2ZlNDU5NDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvV2ViR1BVL0dQVUNvbW1hbmRFbmNvZGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21tYW5kRW5jb2Rlci5jcHAKQEAgLTg1LDEyICs4NSwx
MyBAQCB2b2lkIEdQVUNvbW1hbmRFbmNvZGVyOjpjb3B5VGV4dHVyZVRvVGV4dHVyZSgKICAgICBt
X2JhY2tpbmctPmNvcHlUZXh0dXJlVG9UZXh0dXJlKHNvdXJjZS5jb252ZXJ0VG9CYWNraW5nKCks
IGRlc3RpbmF0aW9uLmNvbnZlcnRUb0JhY2tpbmcoKSwgY29udmVydFRvQmFja2luZyhjb3B5U2l6
ZSkpOwogfQogCi12b2lkIEdQVUNvbW1hbmRFbmNvZGVyOjpmaWxsQnVmZmVyKAotICAgIGNvbnN0
IEdQVUJ1ZmZlciYgZGVzdGluYXRpb24sCi0gICAgR1BVU2l6ZTY0IGRlc3RpbmF0aW9uT2Zmc2V0
LAotICAgIEdQVVNpemU2NCBzaXplKQorCit2b2lkIEdQVUNvbW1hbmRFbmNvZGVyOjpjbGVhckJ1
ZmZlcigKKyAgICBjb25zdCBHUFVCdWZmZXImIGJ1ZmZlciwKKyAgICBHUFVTaXplNjQgb2Zmc2V0
LAorICAgIHN0ZDo6b3B0aW9uYWw8R1BVU2l6ZTY0PiBzaXplKQogewotICAgIG1fYmFja2luZy0+
ZmlsbEJ1ZmZlcihkZXN0aW5hdGlvbi5iYWNraW5nKCksIGRlc3RpbmF0aW9uT2Zmc2V0LCBzaXpl
KTsKKyAgICBtX2JhY2tpbmctPmNsZWFyQnVmZmVyKGJ1ZmZlci5iYWNraW5nKCksIG9mZnNldCwg
c2l6ZSk7CiB9CiAKIHZvaWQgR1BVQ29tbWFuZEVuY29kZXI6OnB1c2hEZWJ1Z0dyb3VwKFN0cmlu
ZyYmIGdyb3VwTGFiZWwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQ
VS9HUFVDb21tYW5kRW5jb2Rlci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BV
Q29tbWFuZEVuY29kZXIuaAppbmRleCBhMDFlMzI2ODQ1NDg4M2Q5YTZlNGJlMmQ4NjI2N2EyNWQw
MDRkZDkwLi4xNzFhODRhZmJjZWNkZTJiNzA1MjM5ODE2NTYzZmY3MmRiZTg0OTk1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21tYW5kRW5jb2Rlci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUNvbW1hbmRFbmNvZGVyLmgKQEAg
LTgxLDEwICs4MSwxMCBAQCBwdWJsaWM6CiAgICAgICAgIGNvbnN0IEdQVUltYWdlQ29weVRleHR1
cmUmIGRlc3RpbmF0aW9uLAogICAgICAgICBjb25zdCBHUFVFeHRlbnQzRCYgY29weVNpemUpOwog
Ci0gICAgdm9pZCBmaWxsQnVmZmVyKAotICAgICAgICBjb25zdCBHUFVCdWZmZXImIGRlc3RpbmF0
aW9uLAotICAgICAgICBHUFVTaXplNjQgZGVzdGluYXRpb25PZmZzZXQsCi0gICAgICAgIEdQVVNp
emU2NCk7CisgICAgdm9pZCBjbGVhckJ1ZmZlcigKKyAgICAgICAgY29uc3QgR1BVQnVmZmVyJiwK
KyAgICAgICAgR1BVU2l6ZTY0IG9mZnNldCwKKyAgICAgICAgc3RkOjpvcHRpb25hbDxHUFVTaXpl
NjQ+KTsKIAogICAgIHZvaWQgcHVzaERlYnVnR3JvdXAoU3RyaW5nJiYgZ3JvdXBMYWJlbCk7CiAg
ICAgdm9pZCBwb3BEZWJ1Z0dyb3VwKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL1dlYkdQVS9HUFVDb21tYW5kRW5jb2Rlci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L1dlYkdQVS9HUFVDb21tYW5kRW5jb2Rlci5pZGwKaW5kZXggYWE5NGNhMDM0NDdiZjVkYjExNGE3
MDMxMDQzM2ZhODYwYjAyYTE0My4uMjY3OTZmNmQ1MzE4YjMwNzY0OGI4MmI3ZDkwMjQ4MjU3MzM3
NzA0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQ29tbWFu
ZEVuY29kZXIuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUNvbW1h
bmRFbmNvZGVyLmlkbApAQCAtNjIsMTQgKzYyLDEwIEBAIGludGVyZmFjZSBHUFVDb21tYW5kRW5j
b2RlciB7CiAgICAgICAgIEdQVUltYWdlQ29weVRleHR1cmUgZGVzdGluYXRpb24sCiAgICAgICAg
IEdQVUV4dGVudDNEIGNvcHlTaXplKTsKIAotICAgIHVuZGVmaW5lZCBmaWxsQnVmZmVyKAotICAg
ICAgICBHUFVCdWZmZXIgZGVzdGluYXRpb24sCi0gICAgICAgIEdQVVNpemU2NCBkZXN0aW5hdGlv
bk9mZnNldCwKLSAgICAgICAgR1BVU2l6ZTY0IHNpemUpOwotCi0gICAgdW5kZWZpbmVkIHB1c2hE
ZWJ1Z0dyb3VwKFVTVlN0cmluZyBncm91cExhYmVsKTsKLSAgICB1bmRlZmluZWQgcG9wRGVidWdH
cm91cCgpOwotICAgIHVuZGVmaW5lZCBpbnNlcnREZWJ1Z01hcmtlcihVU1ZTdHJpbmcgbWFya2Vy
TGFiZWwpOworICAgIHVuZGVmaW5lZCBjbGVhckJ1ZmZlcigKKyAgICAgICAgR1BVQnVmZmVyIGJ1
ZmZlciwKKyAgICAgICAgb3B0aW9uYWwgR1BVU2l6ZTY0IG9mZnNldCA9IDAsCisgICAgICAgIG9w
dGlvbmFsIEdQVVNpemU2NCBzaXplKTsKIAogICAgIHVuZGVmaW5lZCB3cml0ZVRpbWVzdGFtcChH
UFVRdWVyeVNldCBxdWVyeVNldCwgR1BVU2l6ZTMyIHF1ZXJ5SW5kZXgpOwogCkBAIC04MywzICs3
OSw1IEBAIGludGVyZmFjZSBHUFVDb21tYW5kRW5jb2RlciB7CiAgICAgR1BVQ29tbWFuZEJ1ZmZl
ciBmaW5pc2gob3B0aW9uYWwgR1BVQ29tbWFuZEJ1ZmZlckRlc2NyaXB0b3IgZGVzY3JpcHRvcik7
CiB9OwogR1BVQ29tbWFuZEVuY29kZXIgaW5jbHVkZXMgR1BVT2JqZWN0QmFzZTsKK0dQVUNvbW1h
bmRFbmNvZGVyIGluY2x1ZGVzIEdQVUNvbW1hbmRzTWl4aW47CitHUFVDb21tYW5kRW5jb2RlciBp
bmNsdWRlcyBHUFVEZWJ1Z0NvbW1hbmRzTWl4aW47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21tYW5kc01peGluLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvV2ViR1BVL0dQVUNvbW1hbmRzTWl4aW4uaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJhY2MzZGVlNDFk
MzhkNmZjYTc5NmViZWZmMjdhNWRlY2U2ZWJjYmEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21tYW5kc01peGluLmlkbApAQCAtMCwwICsxLDMy
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworLy8gaHR0cHM6Ly9ncHV3ZWIuZ2l0aHViLmlvL2dwdXdlYi8jZ3B1
Y29tbWFuZHNtaXhpbgorCitbCisgICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJHUFUKK10KK2ludGVy
ZmFjZSBtaXhpbiBHUFVDb21tYW5kc01peGluIHsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21wdXRlUGFzc0VuY29kZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQ29tcHV0ZVBhc3NFbmNvZGVyLmNwcAppbmRleCBiMDEx
ZjUwZTc2NjJlMWVhOWU5OWQ3NzQ0MjhiOGNhMjI2OGQ0ZDE2Li45NGQ1ODRhNmVjNjhmN2JhODYz
OTQzNjVmNThiNjJjMTcwZTVkOWY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L1dlYkdQVS9HUFVDb21wdXRlUGFzc0VuY29kZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvV2ViR1BVL0dQVUNvbXB1dGVQYXNzRW5jb2Rlci5jcHAKQEAgLTQ4LDkgKzQ4LDkgQEAg
dm9pZCBHUFVDb21wdXRlUGFzc0VuY29kZXI6OnNldFBpcGVsaW5lKGNvbnN0IEdQVUNvbXB1dGVQ
aXBlbGluZSYgY29tcHV0ZVBpcGVsaW4KICAgICBtX2JhY2tpbmctPnNldFBpcGVsaW5lKGNvbXB1
dGVQaXBlbGluZS5iYWNraW5nKCkpOwogfQogCi12b2lkIEdQVUNvbXB1dGVQYXNzRW5jb2Rlcjo6
ZGlzcGF0Y2goR1BVU2l6ZTMyIHgsIHN0ZDo6b3B0aW9uYWw8R1BVU2l6ZTMyPiB5LCBzdGQ6Om9w
dGlvbmFsPEdQVVNpemUzMj4geikKK3ZvaWQgR1BVQ29tcHV0ZVBhc3NFbmNvZGVyOjpkaXNwYXRj
aChHUFVTaXplMzIgd29ya2dyb3VwQ291bnRYLCBHUFVTaXplMzIgd29ya2dyb3VwQ291bnRZLCBH
UFVTaXplMzIgd29ya2dyb3VwQ291bnRaKQogewotICAgIG1fYmFja2luZy0+ZGlzcGF0Y2goeCwg
eSwgeik7CisgICAgbV9iYWNraW5nLT5kaXNwYXRjaCh3b3JrZ3JvdXBDb3VudFgsIHdvcmtncm91
cENvdW50WSwgd29ya2dyb3VwQ291bnRaKTsKIH0KIAogdm9pZCBHUFVDb21wdXRlUGFzc0VuY29k
ZXI6OmRpc3BhdGNoSW5kaXJlY3QoY29uc3QgR1BVQnVmZmVyJiBpbmRpcmVjdEJ1ZmZlciwgR1BV
U2l6ZTY0IGluZGlyZWN0T2Zmc2V0KQpAQCAtNTgsMTkgKzU4LDkgQEAgdm9pZCBHUFVDb21wdXRl
UGFzc0VuY29kZXI6OmRpc3BhdGNoSW5kaXJlY3QoY29uc3QgR1BVQnVmZmVyJiBpbmRpcmVjdEJ1
ZmZlciwgR1AKICAgICBtX2JhY2tpbmctPmRpc3BhdGNoSW5kaXJlY3QoaW5kaXJlY3RCdWZmZXIu
YmFja2luZygpLCBpbmRpcmVjdE9mZnNldCk7CiB9CiAKLXZvaWQgR1BVQ29tcHV0ZVBhc3NFbmNv
ZGVyOjpiZWdpblBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KGNvbnN0IEdQVVF1ZXJ5U2V0JiBxdWVy
eVNldCwgR1BVU2l6ZTMyIHF1ZXJ5SW5kZXgpCit2b2lkIEdQVUNvbXB1dGVQYXNzRW5jb2Rlcjo6
ZW5kKCkKIHsKLSAgICBtX2JhY2tpbmctPmJlZ2luUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkocXVl
cnlTZXQuYmFja2luZygpLCBxdWVyeUluZGV4KTsKLX0KLQotdm9pZCBHUFVDb21wdXRlUGFzc0Vu
Y29kZXI6OmVuZFBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KCkKLXsKLSAgICBtX2JhY2tpbmctPmVu
ZFBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KCk7Ci19Ci0KLXZvaWQgR1BVQ29tcHV0ZVBhc3NFbmNv
ZGVyOjplbmRQYXNzKCkKLXsKLSAgICBtX2JhY2tpbmctPmVuZFBhc3MoKTsKKyAgICBtX2JhY2tp
bmctPmVuZCgpOwogfQogCiB2b2lkIEdQVUNvbXB1dGVQYXNzRW5jb2Rlcjo6c2V0QmluZEdyb3Vw
KEdQVUluZGV4MzIgaW5kZXgsIGNvbnN0IEdQVUJpbmRHcm91cCYgYmluZEdyb3VwLApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQ29tcHV0ZVBhc3NFbmNvZGVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21wdXRlUGFzc0VuY29kZXIu
aAppbmRleCA3MDY2OGE3MWQ2MDJiMjllZWIwMTg3MjUyMzFlZDgwN2FiM2ZiZjAwLi43YjdlY2Iz
ODExMzU5NjkzZWU2ZGU4MGFlMDBkZjZhNmE4NTFlN2IyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21wdXRlUGFzc0VuY29kZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21wdXRlUGFzc0VuY29kZXIuaApAQCAtNTIsMTMg
KzUyLDEwIEBAIHB1YmxpYzoKICAgICB2b2lkIHNldExhYmVsKFN0cmluZyYmKTsKIAogICAgIHZv
aWQgc2V0UGlwZWxpbmUoY29uc3QgR1BVQ29tcHV0ZVBpcGVsaW5lJik7Ci0gICAgdm9pZCBkaXNw
YXRjaChHUFVTaXplMzIgeCwgc3RkOjpvcHRpb25hbDxHUFVTaXplMzI+IHksIHN0ZDo6b3B0aW9u
YWw8R1BVU2l6ZTMyPik7CisgICAgdm9pZCBkaXNwYXRjaChHUFVTaXplMzIgd29ya2dyb3VwQ291
bnRYLCBHUFVTaXplMzIgd29ya2dyb3VwQ291bnRZLCBHUFVTaXplMzIgd29ya2dyb3VwQ291bnRa
KTsKICAgICB2b2lkIGRpc3BhdGNoSW5kaXJlY3QoY29uc3QgR1BVQnVmZmVyJiBpbmRpcmVjdEJ1
ZmZlciwgR1BVU2l6ZTY0IGluZGlyZWN0T2Zmc2V0KTsKIAotICAgIHZvaWQgYmVnaW5QaXBlbGlu
ZVN0YXRpc3RpY3NRdWVyeShjb25zdCBHUFVRdWVyeVNldCYsIEdQVVNpemUzMiBxdWVyeUluZGV4
KTsKLSAgICB2b2lkIGVuZFBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KCk7Ci0KLSAgICB2b2lkIGVu
ZFBhc3MoKTsKKyAgICB2b2lkIGVuZCgpOwogCiAgICAgdm9pZCBzZXRCaW5kR3JvdXAoR1BVSW5k
ZXgzMiwgY29uc3QgR1BVQmluZEdyb3VwJiwKICAgICAgICAgc3RkOjpvcHRpb25hbDxWZWN0b3I8
R1BVQnVmZmVyRHluYW1pY09mZnNldD4+JiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9XZWJHUFUvR1BVQ29tcHV0ZVBhc3NFbmNvZGVyLmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvV2ViR1BVL0dQVUNvbXB1dGVQYXNzRW5jb2Rlci5pZGwKaW5kZXggOTU4ZGQ3N2U3
Njc0MDYyNjI5OGZkNDJiZGQwNGFlMWM3OGU1Yjg5OC4uOWZmYTZiMDYwMTcyODFkNmQ0ZjY1MmM0
ZmRhZDYwNGRmYzE1NTFjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJH
UFUvR1BVQ29tcHV0ZVBhc3NFbmNvZGVyLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L1dlYkdQVS9HUFVDb21wdXRlUGFzc0VuY29kZXIuaWRsCkBAIC0zNiwxMyArMzYsMTIgQEAgdHlw
ZWRlZiBbRW5mb3JjZVJhbmdlXSB1bnNpZ25lZCBsb25nIGxvbmcgR1BVU2l6ZTY0OwogXQogaW50
ZXJmYWNlIEdQVUNvbXB1dGVQYXNzRW5jb2RlciB7CiAgICAgdW5kZWZpbmVkIHNldFBpcGVsaW5l
KEdQVUNvbXB1dGVQaXBlbGluZSBwaXBlbGluZSk7Ci0gICAgdW5kZWZpbmVkIGRpc3BhdGNoKEdQ
VVNpemUzMiB4LCBvcHRpb25hbCBHUFVTaXplMzIgeSA9IDEsIG9wdGlvbmFsIEdQVVNpemUzMiB6
ID0gMSk7CisgICAgdW5kZWZpbmVkIGRpc3BhdGNoKEdQVVNpemUzMiB3b3JrZ3JvdXBDb3VudFgs
IG9wdGlvbmFsIEdQVVNpemUzMiB3b3JrZ3JvdXBDb3VudFkgPSAxLCBvcHRpb25hbCBHUFVTaXpl
MzIgd29ya2dyb3VwQ291bnRaID0gMSk7CiAgICAgdW5kZWZpbmVkIGRpc3BhdGNoSW5kaXJlY3Qo
R1BVQnVmZmVyIGluZGlyZWN0QnVmZmVyLCBHUFVTaXplNjQgaW5kaXJlY3RPZmZzZXQpOwogCi0g
ICAgdW5kZWZpbmVkIGJlZ2luUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkoR1BVUXVlcnlTZXQgcXVl
cnlTZXQsIEdQVVNpemUzMiBxdWVyeUluZGV4KTsKLSAgICB1bmRlZmluZWQgZW5kUGlwZWxpbmVT
dGF0aXN0aWNzUXVlcnkoKTsKLQotICAgIHVuZGVmaW5lZCBlbmRQYXNzKCk7CisgICAgdW5kZWZp
bmVkIGVuZCgpOwogfTsKIEdQVUNvbXB1dGVQYXNzRW5jb2RlciBpbmNsdWRlcyBHUFVPYmplY3RC
YXNlOworR1BVQ29tcHV0ZVBhc3NFbmNvZGVyIGluY2x1ZGVzIEdQVUNvbW1hbmRzTWl4aW47CitH
UFVDb21wdXRlUGFzc0VuY29kZXIgaW5jbHVkZXMgR1BVRGVidWdDb21tYW5kc01peGluOwogR1BV
Q29tcHV0ZVBhc3NFbmNvZGVyIGluY2x1ZGVzIEdQVVByb2dyYW1tYWJsZVBhc3NFbmNvZGVyOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVRGVidWdDb21tYW5k
c01peGluLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVURlYnVnQ29tbWFu
ZHNNaXhpbi5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWY4NDhhNDJkY2JjY2E2NmMzMTgxYmE4YmUxNDA4ZTYz
YzA1NjQwNAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BV
L0dQVURlYnVnQ29tbWFuZHNNaXhpbi5pZGwKQEAgLTAsMCArMSwzNSBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAyMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
Ky8vIGh0dHBzOi8vZ3B1d2ViLmdpdGh1Yi5pby9ncHV3ZWIvI2dwdWRlYnVnY29tbWFuZHNtaXhp
bgorCitbCisgICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJHUFUKK10KK2ludGVyZmFjZSBtaXhpbiBH
UFVEZWJ1Z0NvbW1hbmRzTWl4aW4geworICAgIHVuZGVmaW5lZCBwdXNoRGVidWdHcm91cChVU1ZT
dHJpbmcgZ3JvdXBMYWJlbCk7CisgICAgdW5kZWZpbmVkIHBvcERlYnVnR3JvdXAoKTsKKyAgICB1
bmRlZmluZWQgaW5zZXJ0RGVidWdNYXJrZXIoVVNWU3RyaW5nIG1hcmtlckxhYmVsKTsKK307CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVGZWF0dXJlTmFtZS5o
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVRmVhdHVyZU5hbWUuaAppbmRleCA0
ZmVhYjUwMWM1YWM0N2UyMzJjYmNiN2JhZDUwYjAwZjczNDFjYzk4Li5hODAzYWMyZjU1OGQ4NWI2
YmRmYTUxZjUxNzUwN2U5ZTg2ZTZkZWNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL1dlYkdQVS9HUFVGZWF0dXJlTmFtZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
V2ViR1BVL0dQVUZlYXR1cmVOYW1lLmgKQEAgLTM0LDcgKzM0LDYgQEAgZW51bSBjbGFzcyBHUFVG
ZWF0dXJlTmFtZSA6IHVpbnQ4X3QgewogICAgIERlcHRoQ2xpcENvbnRyb2wsCiAgICAgRGVwdGgy
NHVub3JtU3RlbmNpbDgsCiAgICAgRGVwdGgzMmZsb2F0U3RlbmNpbDgsCi0gICAgUGlwZWxpbmVT
dGF0aXN0aWNzUXVlcnksCiAgICAgVGV4dHVyZUNvbXByZXNzaW9uQmMsCiAgICAgVGV4dHVyZUNv
bXByZXNzaW9uRXRjMiwKICAgICBUZXh0dXJlQ29tcHJlc3Npb25Bc3RjLApAQCAtNTEsOCArNTAs
NiBAQCBpbmxpbmUgUEFMOjpXZWJHUFU6OkZlYXR1cmVOYW1lIGNvbnZlcnRUb0JhY2tpbmcoR1BV
RmVhdHVyZU5hbWUgZmVhdHVyZU5hbWUpCiAgICAgICAgIHJldHVybiBQQUw6OldlYkdQVTo6RmVh
dHVyZU5hbWU6OkRlcHRoMjR1bm9ybVN0ZW5jaWw4OwogICAgIGNhc2UgR1BVRmVhdHVyZU5hbWU6
OkRlcHRoMzJmbG9hdFN0ZW5jaWw4OgogICAgICAgICByZXR1cm4gUEFMOjpXZWJHUFU6OkZlYXR1
cmVOYW1lOjpEZXB0aDMyZmxvYXRTdGVuY2lsODsKLSAgICBjYXNlIEdQVUZlYXR1cmVOYW1lOjpQ
aXBlbGluZVN0YXRpc3RpY3NRdWVyeToKLSAgICAgICAgcmV0dXJuIFBBTDo6V2ViR1BVOjpGZWF0
dXJlTmFtZTo6UGlwZWxpbmVTdGF0aXN0aWNzUXVlcnk7CiAgICAgY2FzZSBHUFVGZWF0dXJlTmFt
ZTo6VGV4dHVyZUNvbXByZXNzaW9uQmM6CiAgICAgICAgIHJldHVybiBQQUw6OldlYkdQVTo6RmVh
dHVyZU5hbWU6OlRleHR1cmVDb21wcmVzc2lvbkJjOwogICAgIGNhc2UgR1BVRmVhdHVyZU5hbWU6
OlRleHR1cmVDb21wcmVzc2lvbkV0YzI6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL1dlYkdQVS9HUFVGZWF0dXJlTmFtZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dl
YkdQVS9HUFVGZWF0dXJlTmFtZS5pZGwKaW5kZXggMTg0ZTVhNTFlYzEyZDE1M2U3ZWI5MzQzODQ5
Y2NmNzU3YTk1ZjNiYi4uMjVmMGYzODNkNTFhYTE5ZDdjNGUwZjViMTQzMDU2ZWY1MjUwM2FlYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVRmVhdHVyZU5hbWUu
aWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUZlYXR1cmVOYW1lLmlk
bApAQCAtMzIsNyArMzIsNiBAQCBlbnVtIEdQVUZlYXR1cmVOYW1lIHsKICAgICAiZGVwdGgtY2xp
cC1jb250cm9sIiwKICAgICAiZGVwdGgyNHVub3JtLXN0ZW5jaWw4IiwKICAgICAiZGVwdGgzMmZs
b2F0LXN0ZW5jaWw4IiwKLSAgICAicGlwZWxpbmUtc3RhdGlzdGljcy1xdWVyeSIsCiAgICAgInRl
eHR1cmUtY29tcHJlc3Npb24tYmMiLAogICAgICJ0ZXh0dXJlLWNvbXByZXNzaW9uLWV0YzIiLAog
ICAgICJ0ZXh0dXJlLWNvbXByZXNzaW9uLWFzdGMiLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9XZWJHUFUvR1BVRnJhZ21lbnRTdGF0ZS5oIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9XZWJHUFUvR1BVRnJhZ21lbnRTdGF0ZS5oCmluZGV4IGU5YjY5YWNiNWFjYjA2Y2E2OWI4
NzE3MmU5OTNlNTE4ZWY5NWI1ZmIuLmUxNzJlNDE1NGY2YjM1ODE3NThlNGNjOThiYTI3ZGY2ODM3
ZjAwNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUZyYWdt
ZW50U3RhdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVGcmFnbWVu
dFN0YXRlLmgKQEAgLTI3LDYgKzI3LDcgQEAKIAogI2luY2x1ZGUgIkdQVUNvbG9yVGFyZ2V0U3Rh
dGUuaCIKICNpbmNsdWRlICJHUFVQcm9ncmFtbWFibGVTdGFnZS5oIgorI2luY2x1ZGUgPG9wdGlv
bmFsPgogI2luY2x1ZGUgPHBhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVRnJhZ21lbnRTdGF0ZS5o
PgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIApAQCAtNDIsMTMgKzQzLDE1IEBAIHN0cnVjdCBH
UFVGcmFnbWVudFN0YXRlIDogcHVibGljIEdQVVByb2dyYW1tYWJsZVN0YWdlIHsKICAgICAgICAg
ICAgICAgICBlbnRyeVBvaW50LAogICAgICAgICAgICAgICAgIGNvbnN0YW50cywKICAgICAgICAg
ICAgIH0sCi0gICAgICAgICAgICB0YXJnZXRzLm1hcChbXSAoYXV0byYgdGFyZ2V0KSB7Ci0gICAg
ICAgICAgICAgICAgcmV0dXJuIHRhcmdldC5jb252ZXJ0VG9CYWNraW5nKCk7CisgICAgICAgICAg
ICB0YXJnZXRzLm1hcChbXSAoYXV0byYgdGFyZ2V0KSAtPiBzdGQ6Om9wdGlvbmFsPFBBTDo6V2Vi
R1BVOjpDb2xvclRhcmdldFN0YXRlPiB7CisgICAgICAgICAgICAgICAgaWYgKHRhcmdldCkKKyAg
ICAgICAgICAgICAgICAgICAgcmV0dXJuIHRhcmdldC0+Y29udmVydFRvQmFja2luZygpOworICAg
ICAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAgICAgICAgICAgICB9KSwKICAgICAg
ICAgfTsKICAgICB9CiAKLSAgICBWZWN0b3I8R1BVQ29sb3JUYXJnZXRTdGF0ZT4gdGFyZ2V0czsK
KyAgICBWZWN0b3I8c3RkOjpvcHRpb25hbDxHUFVDb2xvclRhcmdldFN0YXRlPj4gdGFyZ2V0czsK
IH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUZy
YWdtZW50U3RhdGUuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVRnJhZ21l
bnRTdGF0ZS5pZGwKaW5kZXggMTg5ODRlNGVhNjk2MTMwODEwZGRlOTQ5MjY3ZWY5OTZlNDkzZDFk
ZC4uNDNhZmZlOWFkZTAwMTc4N2Q4MzIyMjI1YTY5NGVlYjdkYjk3NDcyMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVRnJhZ21lbnRTdGF0ZS5pZGwKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVRnJhZ21lbnRTdGF0ZS5pZGwKQEAgLTI5
LDUgKzI5LDUgQEAKICAgICBFbmFibGVkQnlTZXR0aW5nPVdlYkdQVQogXQogZGljdGlvbmFyeSBH
UFVGcmFnbWVudFN0YXRlIDogR1BVUHJvZ3JhbW1hYmxlU3RhZ2UgewotICAgIHJlcXVpcmVkIHNl
cXVlbmNlPEdQVUNvbG9yVGFyZ2V0U3RhdGU+IHRhcmdldHM7CisgICAgcmVxdWlyZWQgc2VxdWVu
Y2U8R1BVQ29sb3JUYXJnZXRTdGF0ZT8+IHRhcmdldHM7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVSW1hZ2VDb3B5RXh0ZXJuYWxJbWFnZS5oIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVSW1hZ2VDb3B5RXh0ZXJuYWxJbWFnZS5oCmlu
ZGV4IDRjY2NhYjdmMDA1NjZhMzEzNmEyNTc4OTBiODkxYjk3ZGMzNWE4OGUuLjk1N2NjOWUzODEx
YWUyN2Q2ZjNhODI4NjdhYjA2ZTRjOWM4NjZlMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvV2ViR1BVL0dQVUltYWdlQ29weUV4dGVybmFsSW1hZ2UuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVJbWFnZUNvcHlFeHRlcm5hbEltYWdlLmgKQEAgLTQx
LDExICs0MSwxMyBAQCBzdHJ1Y3QgR1BVSW1hZ2VDb3B5RXh0ZXJuYWxJbWFnZSB7CiAgICAgICAg
IHJldHVybiB7CiAgICAgICAgICAgICAvLyBGSVhNRTogSGFuZGxlIHRoZSBjYW52YXMgZWxlbWVu
dC4KICAgICAgICAgICAgIG9yaWdpbiA/IHN0ZDo6b3B0aW9uYWwgeyBXZWJDb3JlOjpjb252ZXJ0
VG9CYWNraW5nKCpvcmlnaW4pIH0gOiBzdGQ6Om51bGxvcHQsCisgICAgICAgICAgICBmbGlwWSwK
ICAgICAgICAgfTsKICAgICB9CiAKICAgICBzdGQ6OnZhcmlhbnQ8UmVmUHRyPEltYWdlQml0bWFw
PiwgUmVmUHRyPEhUTUxDYW52YXNFbGVtZW50Pj4gc291cmNlOwogICAgIHN0ZDo6b3B0aW9uYWw8
R1BVT3JpZ2luMkQ+IG9yaWdpbjsKKyAgICBib29sIGZsaXBZIHsgZmFsc2UgfTsKIH07CiAKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUltYWdlQ29weUV4
dGVybmFsSW1hZ2UuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVSW1hZ2VD
b3B5RXh0ZXJuYWxJbWFnZS5pZGwKaW5kZXggOWU2MTJiYjUzNjg3N2FmZmYxMDk2NThmMzVhMTQx
NGFkYWFkOWYyZS4uMWYyMjIyYTU1YmFlZTljMjdkMmQyNTg2Yzk3ODE1MzRjOWM5Y2U5NSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVSW1hZ2VDb3B5RXh0ZXJu
YWxJbWFnZS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVSW1hZ2VD
b3B5RXh0ZXJuYWxJbWFnZS5pZGwKQEAgLTM1LDQgKzM1LDUgQEAgdHlwZWRlZiAoc2VxdWVuY2U8
R1BVSW50ZWdlckNvb3JkaW5hdGU+IG9yIEdQVU9yaWdpbjJERGljdCkgR1BVT3JpZ2luMkQ7CiBk
aWN0aW9uYXJ5IEdQVUltYWdlQ29weUV4dGVybmFsSW1hZ2UgewogICAgIHJlcXVpcmVkIChJbWFn
ZUJpdG1hcCBvciBIVE1MQ2FudmFzRWxlbWVudCkgc291cmNlOyAvLyBGSVhNRTogT2Zmc2NyZWVu
Q2FudmFzIGRvZXNuJ3Qgc2VlbSB0byB3b3JrIHdpdGggb3VyIGJpbmRpbmdzIGhlcmUuCiAgICAg
R1BVT3JpZ2luMkQgb3JpZ2luOworICAgIGJvb2xlYW4gZmxpcFkgPSBmYWxzZTsKIH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVMb2FkT3AuaCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUxvYWRPcC5oCmluZGV4IDM1ZTU3NDlmZTE3ZDVi
ZDI5ZTE1NzBiMjE3ZTU5OTIxMTU3MTkyMjkuLjEyY2FkYWZiMmE1NzAzNmMwNmI2OWQxODBkYzFh
NWFkZWMyMzMwOGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQ
VUxvYWRPcC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUxvYWRPcC5o
CkBAIC0zMiw2ICszMiw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogZW51bSBjbGFzcyBHUFVM
b2FkT3AgOiB1aW50OF90IHsKICAgICBMb2FkLAorICAgIENsZWFyLAogfTsKIAogaW5saW5lIFBB
TDo6V2ViR1BVOjpMb2FkT3AgY29udmVydFRvQmFja2luZyhHUFVMb2FkT3AgbG9hZE9wKQpAQCAt
MzksNiArNDAsOCBAQCBpbmxpbmUgUEFMOjpXZWJHUFU6OkxvYWRPcCBjb252ZXJ0VG9CYWNraW5n
KEdQVUxvYWRPcCBsb2FkT3ApCiAgICAgc3dpdGNoIChsb2FkT3ApIHsKICAgICBjYXNlIEdQVUxv
YWRPcDo6TG9hZDoKICAgICAgICAgcmV0dXJuIFBBTDo6V2ViR1BVOjpMb2FkT3A6OkxvYWQ7Cisg
ICAgY2FzZSBHUFVMb2FkT3A6OkNsZWFyOgorICAgICAgICByZXR1cm4gUEFMOjpXZWJHUFU6Okxv
YWRPcDo6Q2xlYXI7CiAgICAgfQogICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVMb2FkT3AuaWRs
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVTG9hZE9wLmlkbAppbmRleCBjODQ5
NTQxYjUyNDY3NjUxMGM1NjI4ZmM5OTEwMWFjYjkyOTlhODUzLi5kNjAyYjYxYzUyYjQ4MTI2OTgz
ZjQ4YWYwZTdjMDVkNWY1MjFlYzc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L1dlYkdQVS9HUFVMb2FkT3AuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BV
L0dQVUxvYWRPcC5pZGwKQEAgLTI5LDUgKzI5LDYgQEAKICAgICBFbmFibGVkQnlTZXR0aW5nPVdl
YkdQVQogXQogZW51bSBHUFVMb2FkT3AgewotICAgICJsb2FkIgorICAgICJsb2FkIiwKKyAgICAi
Y2xlYXIiCiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BV
T2JqZWN0QmFzZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVPYmplY3RC
YXNlLmlkbAppbmRleCBlMTMzMWIzZWMzY2Q3ZWY4M2IxNzU0MzJmMzc2MjdiN2FkNTg0MGQ0Li44
Y2VmYzcxZDVlOTg2YjUwYTU2ZmEyMWE0ODA0NWMzNjNiYzE1N2JiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVPYmplY3RCYXNlLmlkbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVPYmplY3RCYXNlLmlkbApAQCAtMjksNSArMjksNSBA
QAogICAgIEVuYWJsZWRCeVNldHRpbmc9V2ViR1BVCiBdCiBpbnRlcmZhY2UgbWl4aW4gR1BVT2Jq
ZWN0QmFzZSB7Ci0gICAgYXR0cmlidXRlIFVTVlN0cmluZz8gbGFiZWw7CisgICAgYXR0cmlidXRl
IFVTVlN0cmluZz8gbGFiZWw7IC8vIEZJWE1FOiBUaGlzIGlzIHN1cHBvc2VkIHRvIGJlIChVU1ZT
dHJpbmcgb3IgdW5kZWZpbmVkKSBidXQgb3VyIGJpbmRpbmdzIGdlbmVyYXRvciBjYW4ndCBoYW5k
bGUgdGhhdC4KIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9H
UFVQaXBlbGluZVN0YXRpc3RpY05hbWUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BV
L0dQVVBpcGVsaW5lU3RhdGlzdGljTmFtZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCBmOGRlOGJmZjhmNTczZWM0ZjNhZjY3MzJjMjlmZGYyYTEwOGVkNjUxLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
V2ViR1BVL0dQVVBpcGVsaW5lU3RhdGlzdGljTmFtZS5oCisrKyAvZGV2L251bGwKQEAgLTEsNTgg
KzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0g
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
LSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
Ci0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
LSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0g
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi0jaW5jbHVkZSA8Y3N0ZGludD4K
LSNpbmNsdWRlIDxwYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVBpcGVsaW5lU3RhdGlzdGljTmFt
ZS5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWVudW0gY2xhc3MgR1BVUGlwZWxpbmVTdGF0
aXN0aWNOYW1lIDogdWludDhfdCB7Ci0gICAgVmVydGV4U2hhZGVySW52b2NhdGlvbnMsCi0gICAg
Q2xpcHBlckludm9jYXRpb25zLAotICAgIENsaXBwZXJQcmltaXRpdmVzT3V0LAotICAgIEZyYWdt
ZW50U2hhZGVySW52b2NhdGlvbnMsCi0gICAgQ29tcHV0ZVNoYWRlckludm9jYXRpb25zLAotfTsK
LQotaW5saW5lIFBBTDo6V2ViR1BVOjpQaXBlbGluZVN0YXRpc3RpY05hbWUgY29udmVydFRvQmFj
a2luZyhHUFVQaXBlbGluZVN0YXRpc3RpY05hbWUgcGlwZWxpbmVTdGF0aXN0aWNOYW1lKQotewot
ICAgIHN3aXRjaCAocGlwZWxpbmVTdGF0aXN0aWNOYW1lKSB7Ci0gICAgY2FzZSBHUFVQaXBlbGlu
ZVN0YXRpc3RpY05hbWU6OlZlcnRleFNoYWRlckludm9jYXRpb25zOgotICAgICAgICByZXR1cm4g
UEFMOjpXZWJHUFU6OlBpcGVsaW5lU3RhdGlzdGljTmFtZTo6VmVydGV4U2hhZGVySW52b2NhdGlv
bnM7Ci0gICAgY2FzZSBHUFVQaXBlbGluZVN0YXRpc3RpY05hbWU6OkNsaXBwZXJJbnZvY2F0aW9u
czoKLSAgICAgICAgcmV0dXJuIFBBTDo6V2ViR1BVOjpQaXBlbGluZVN0YXRpc3RpY05hbWU6OkNs
aXBwZXJJbnZvY2F0aW9uczsKLSAgICBjYXNlIEdQVVBpcGVsaW5lU3RhdGlzdGljTmFtZTo6Q2xp
cHBlclByaW1pdGl2ZXNPdXQ6Ci0gICAgICAgIHJldHVybiBQQUw6OldlYkdQVTo6UGlwZWxpbmVT
dGF0aXN0aWNOYW1lOjpDbGlwcGVyUHJpbWl0aXZlc091dDsKLSAgICBjYXNlIEdQVVBpcGVsaW5l
U3RhdGlzdGljTmFtZTo6RnJhZ21lbnRTaGFkZXJJbnZvY2F0aW9uczoKLSAgICAgICAgcmV0dXJu
IFBBTDo6V2ViR1BVOjpQaXBlbGluZVN0YXRpc3RpY05hbWU6OkZyYWdtZW50U2hhZGVySW52b2Nh
dGlvbnM7Ci0gICAgY2FzZSBHUFVQaXBlbGluZVN0YXRpc3RpY05hbWU6OkNvbXB1dGVTaGFkZXJJ
bnZvY2F0aW9uczoKLSAgICAgICAgcmV0dXJuIFBBTDo6V2ViR1BVOjpQaXBlbGluZVN0YXRpc3Rp
Y05hbWU6OkNvbXB1dGVTaGFkZXJJbnZvY2F0aW9uczsKLSAgICB9Ci0gICAgUkVMRUFTRV9BU1NF
UlRfTk9UX1JFQUNIRUQoKTsKLX0KLQotfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9XZWJHUFUvR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lLmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvV2ViR1BVL0dQVVBpcGVsaW5lU3RhdGlzdGljTmFtZS5pZGwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDg3Njc3YzJjYWRjZTc1NzA2YTExMjAyYzM0NTliMzM0NWMwYzdm
OTYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lLmlkbAorKysg
L2Rldi9udWxsCkBAIC0xLDM3ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
Ci0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0g
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0vLyBodHRwczovL2dwdXdl
Yi5naXRodWIuaW8vZ3B1d2ViLyNlbnVtZGVmLWdwdXBpcGVsaW5lc3RhdGlzdGljbmFtZQotCi1b
Ci0gICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJHUFUKLV0KLWVudW0gR1BVUGlwZWxpbmVTdGF0aXN0
aWNOYW1lIHsKLSAgICAidmVydGV4LXNoYWRlci1pbnZvY2F0aW9ucyIsCi0gICAgImNsaXBwZXIt
aW52b2NhdGlvbnMiLAotICAgICJjbGlwcGVyLXByaW1pdGl2ZXMtb3V0IiwKLSAgICAiZnJhZ21l
bnQtc2hhZGVyLWludm9jYXRpb25zIiwKLSAgICAiY29tcHV0ZS1zaGFkZXItaW52b2NhdGlvbnMi
Ci19OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUHJvZ3Jh
bW1hYmxlUGFzc0VuY29kZXIuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BV
UHJvZ3JhbW1hYmxlUGFzc0VuY29kZXIuaWRsCmluZGV4IDgxZjIyNTM4MDg5ZWY1ZWFjMzk1YjUw
MWEzNDNhYjljZjNlZWMxYmIuLjg2NzM0OTJiZjZjYTAzOGQ5MGQwMjAyYzllZDUxMGQwMmE3OTIx
ZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVByb2dyYW1t
YWJsZVBhc3NFbmNvZGVyLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9H
UFVQcm9ncmFtbWFibGVQYXNzRW5jb2Rlci5pZGwKQEAgLTQyLDggKzQyLDQgQEAgaW50ZXJmYWNl
IG1peGluIEdQVVByb2dyYW1tYWJsZVBhc3NFbmNvZGVyIHsKICAgICAgICAgVWludDMyQXJyYXkg
ZHluYW1pY09mZnNldHNEYXRhLAogICAgICAgICBHUFVTaXplNjQgZHluYW1pY09mZnNldHNEYXRh
U3RhcnQsCiAgICAgICAgIEdQVVNpemUzMiBkeW5hbWljT2Zmc2V0c0RhdGFMZW5ndGgpOwotCi0g
ICAgdW5kZWZpbmVkIHB1c2hEZWJ1Z0dyb3VwKFVTVlN0cmluZyBncm91cExhYmVsKTsKLSAgICB1
bmRlZmluZWQgcG9wRGVidWdHcm91cCgpOwotICAgIHVuZGVmaW5lZCBpbnNlcnREZWJ1Z01hcmtl
cihVU1ZTdHJpbmcgbWFya2VyTGFiZWwpOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvV2ViR1BVL0dQVVF1ZXJ5U2V0RGVzY3JpcHRvci5oIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9XZWJHUFUvR1BVUXVlcnlTZXREZXNjcmlwdG9yLmgKaW5kZXggZjAwNDNiZDU3MmYx
M2Q4NDI2MWYwM2M5YTcxMGVhNTUzZjk5M2Y0NC4uZmZkMWY3NTJlOGQxMGZlODVhYTRkMTlhYjk5
MTE3ZjBhZWFkZWQ4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUv
R1BVUXVlcnlTZXREZXNjcmlwdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJH
UFUvR1BVUXVlcnlTZXREZXNjcmlwdG9yLmgKQEAgLTI3LDcgKzI3LDYgQEAKIAogI2luY2x1ZGUg
IkdQVUludGVncmFsVHlwZXMuaCIKICNpbmNsdWRlICJHUFVPYmplY3REZXNjcmlwdG9yQmFzZS5o
IgotI2luY2x1ZGUgIkdQVVBpcGVsaW5lU3RhdGlzdGljTmFtZS5oIgogI2luY2x1ZGUgIkdQVVF1
ZXJ5VHlwZS5oIgogI2luY2x1ZGUgPHBhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVUXVlcnlTZXRE
ZXNjcmlwdG9yLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgpAQCAtNDIsMTUgKzQxLDExIEBA
IHN0cnVjdCBHUFVRdWVyeVNldERlc2NyaXB0b3IgOiBwdWJsaWMgR1BVT2JqZWN0RGVzY3JpcHRv
ckJhc2UgewogICAgICAgICAgICAgeyBsYWJlbCB9LAogICAgICAgICAgICAgV2ViQ29yZTo6Y29u
dmVydFRvQmFja2luZyh0eXBlKSwKICAgICAgICAgICAgIGNvdW50LAotICAgICAgICAgICAgcGlw
ZWxpbmVTdGF0aXN0aWNzLm1hcChbXSAoY29uc3QgYXV0byYgcGlwZWxpbmVTdGF0aXN0aWMpIHsK
LSAgICAgICAgICAgICAgICByZXR1cm4gV2ViQ29yZTo6Y29udmVydFRvQmFja2luZyhwaXBlbGlu
ZVN0YXRpc3RpYyk7Ci0gICAgICAgICAgICB9KSwKICAgICAgICAgfTsKICAgICB9CiAKICAgICBH
UFVRdWVyeVR5cGUgdHlwZSB7IEdQVVF1ZXJ5VHlwZTo6T2NjbHVzaW9uIH07CiAgICAgR1BVU2l6
ZTMyIGNvdW50IHsgMCB9OwotICAgIFZlY3RvcjxHUFVQaXBlbGluZVN0YXRpc3RpY05hbWU+IHBp
cGVsaW5lU3RhdGlzdGljczsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvV2ViR1BVL0dQVVF1ZXJ5U2V0RGVzY3JpcHRvci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL1dlYkdQVS9HUFVRdWVyeVNldERlc2NyaXB0b3IuaWRsCmluZGV4IGZjZDUxYmQ5ZTE5
NzY5ZWFlMzJiNWJhMWM3ZTdhNjJkMDhjODYxZGMuLjVhN2U5NTAyYjZlNWVhZGIxYzkxNjY1Mzgy
MTEzMzRiMzZlOWNiY2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BV
L0dQVVF1ZXJ5U2V0RGVzY3JpcHRvci5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9X
ZWJHUFUvR1BVUXVlcnlTZXREZXNjcmlwdG9yLmlkbApAQCAtMzQsNSArMzQsNCBAQCB0eXBlZGVm
IFtFbmZvcmNlUmFuZ2VdIHVuc2lnbmVkIGxvbmcgR1BVU2l6ZTMyOwogZGljdGlvbmFyeSBHUFVR
dWVyeVNldERlc2NyaXB0b3IgOiBHUFVPYmplY3REZXNjcmlwdG9yQmFzZSB7CiAgICAgcmVxdWly
ZWQgR1BVUXVlcnlUeXBlIHR5cGU7CiAgICAgcmVxdWlyZWQgR1BVU2l6ZTMyIGNvdW50OwotICAg
IHNlcXVlbmNlPEdQVVBpcGVsaW5lU3RhdGlzdGljTmFtZT4gcGlwZWxpbmVTdGF0aXN0aWNzID0g
W107CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUXVl
cnlUeXBlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVRdWVyeVR5cGUuaApp
bmRleCBlN2E1NzcyZTQ4NjNjN2M2Yzc4NzhhNDY4NWJhNDQ1NjY4Njk3MGRlLi4yOWI4MzMyYjll
OWFmMjRmNzc0Y2EwODc5MDFhZDFiZDMyNWFhNjRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL1dlYkdQVS9HUFVRdWVyeVR5cGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL1dlYkdQVS9HUFVRdWVyeVR5cGUuaApAQCAtMzIsNyArMzIsNiBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIGVudW0gY2xhc3MgR1BVUXVlcnlUeXBlIDogdWludDhfdCB7CiAgICAgT2NjbHVz
aW9uLAotICAgIFBpcGVsaW5lU3RhdGlzdGljcywKICAgICBUaW1lc3RhbXAsCiB9OwogCkBAIC00
MSw4ICs0MCw2IEBAIGlubGluZSBQQUw6OldlYkdQVTo6UXVlcnlUeXBlIGNvbnZlcnRUb0JhY2tp
bmcoR1BVUXVlcnlUeXBlIHF1ZXJ5VHlwZSkKICAgICBzd2l0Y2ggKHF1ZXJ5VHlwZSkgewogICAg
IGNhc2UgR1BVUXVlcnlUeXBlOjpPY2NsdXNpb246CiAgICAgICAgIHJldHVybiBQQUw6OldlYkdQ
VTo6UXVlcnlUeXBlOjpPY2NsdXNpb247Ci0gICAgY2FzZSBHUFVRdWVyeVR5cGU6OlBpcGVsaW5l
U3RhdGlzdGljczoKLSAgICAgICAgcmV0dXJuIFBBTDo6V2ViR1BVOjpRdWVyeVR5cGU6OlBpcGVs
aW5lU3RhdGlzdGljczsKICAgICBjYXNlIEdQVVF1ZXJ5VHlwZTo6VGltZXN0YW1wOgogICAgICAg
ICByZXR1cm4gUEFMOjpXZWJHUFU6OlF1ZXJ5VHlwZTo6VGltZXN0YW1wOwogICAgIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVF1ZXJ5VHlwZS5pZGwgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVRdWVyeVR5cGUuaWRsCmluZGV4IDU0ODFi
OTIyYTIzMWRlN2FmOTU4ZGM5NDIzZmUyMmNiMWEzZjk1NjYuLmQ1OTAyZDZiYzI0MzcwMGViMTg4
N2I4NDVlZTUzZTc3NTlmMWU0ZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
V2ViR1BVL0dQVVF1ZXJ5VHlwZS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJH
UFUvR1BVUXVlcnlUeXBlLmlkbApAQCAtMzAsNiArMzAsNSBAQAogXQogZW51bSBHUFVRdWVyeVR5
cGUgewogICAgICJvY2NsdXNpb24iLAotICAgICJwaXBlbGluZS1zdGF0aXN0aWNzIiwKICAgICAi
dGltZXN0YW1wIgogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BV
L0dQVVF1ZXVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVF1ZXVlLmNw
cAppbmRleCBmNTg2MTkwMmNmZmU2NmYyODhlNWE2Nzc5OWYyMzU1ZjVkMzc3NGIzLi5iNGJlYjQx
ODM0NTFhNDU4MDBiZjQyMjBkYjc2MmNiYjg0ZTMyNmIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVRdWV1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9XZWJHUFUvR1BVUXVldWUuY3BwCkBAIC02MywxMCArNjMsMTAgQEAgdm9pZCBHUFVRdWV1
ZTo6d3JpdGVCdWZmZXIoCiAgICAgY29uc3QgR1BVQnVmZmVyJiBidWZmZXIsCiAgICAgR1BVU2l6
ZTY0IGJ1ZmZlck9mZnNldCwKICAgICBCdWZmZXJTb3VyY2UmJiBkYXRhLAotICAgIHN0ZDo6b3B0
aW9uYWw8R1BVU2l6ZTY0PiBkYXRhT2Zmc2V0LAorICAgIEdQVVNpemU2NCBkYXRhT2Zmc2V0LAog
ICAgIHN0ZDo6b3B0aW9uYWw8R1BVU2l6ZTY0PiBzaXplKQogewotICAgIG1fYmFja2luZy0+d3Jp
dGVCdWZmZXIoYnVmZmVyLmJhY2tpbmcoKSwgYnVmZmVyT2Zmc2V0LCBkYXRhLmRhdGEoKSwgZGF0
YS5sZW5ndGgoKSwgZGF0YU9mZnNldC52YWx1ZV9vcigwKSwgc2l6ZSk7CisgICAgbV9iYWNraW5n
LT53cml0ZUJ1ZmZlcihidWZmZXIuYmFja2luZygpLCBidWZmZXJPZmZzZXQsIGRhdGEuZGF0YSgp
LCBkYXRhLmxlbmd0aCgpLCBkYXRhT2Zmc2V0LCBzaXplKTsKIH0KIAogdm9pZCBHUFVRdWV1ZTo6
d3JpdGVUZXh0dXJlKApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUv
R1BVUXVldWUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVF1ZXVlLmgKaW5k
ZXggZmVjMmZiZDI3NGRmOTVkMzQ1NjlkZGJhNWRiNWUwYzAyN2MyMzdkZi4uNzUxMTllMGIzNTZi
ZDE3MTc2ZDg4NWJiMDYwZTNlZGI4NTZjN2U5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9XZWJHUFUvR1BVUXVldWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dl
YkdQVS9HUFVRdWV1ZS5oCkBAIC02NSw3ICs2NSw3IEBAIHB1YmxpYzoKICAgICAgICAgY29uc3Qg
R1BVQnVmZmVyJiwKICAgICAgICAgR1BVU2l6ZTY0IGJ1ZmZlck9mZnNldCwKICAgICAgICAgQnVm
ZmVyU291cmNlJiYgZGF0YSwKLSAgICAgICAgc3RkOjpvcHRpb25hbDxHUFVTaXplNjQ+IGRhdGFP
ZmZzZXQsCisgICAgICAgIEdQVVNpemU2NCBkYXRhT2Zmc2V0LAogICAgICAgICBzdGQ6Om9wdGlv
bmFsPEdQVVNpemU2ND4pOwogCiAgICAgdm9pZCB3cml0ZVRleHR1cmUoCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJCdW5kbGVFbmNvZGVyLmlkbCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlckJ1bmRsZUVuY29kZXIuaWRs
CmluZGV4IGNmYzY4NmQzYzY1YWQyNjQwY2U1MjJhMGI5YjRmMzBjMDQzNjYzODUuLmUxOWZlYzU1
OTZkYWVkNjViZGQzOWIxMTkzYjNjNDhlMzQ4Njc2YjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlckJ1bmRsZUVuY29kZXIuaWRsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlckJ1bmRsZUVuY29kZXIuaWRsCkBAIC0z
NCw1ICszNCw3IEBAIGludGVyZmFjZSBHUFVSZW5kZXJCdW5kbGVFbmNvZGVyIHsKICAgICBHUFVS
ZW5kZXJCdW5kbGUgZmluaXNoKG9wdGlvbmFsIEdQVVJlbmRlckJ1bmRsZURlc2NyaXB0b3IgZGVz
Y3JpcHRvcik7CiB9OwogR1BVUmVuZGVyQnVuZGxlRW5jb2RlciBpbmNsdWRlcyBHUFVPYmplY3RC
YXNlOworR1BVUmVuZGVyQnVuZGxlRW5jb2RlciBpbmNsdWRlcyBHUFVDb21tYW5kc01peGluOwor
R1BVUmVuZGVyQnVuZGxlRW5jb2RlciBpbmNsdWRlcyBHUFVEZWJ1Z0NvbW1hbmRzTWl4aW47CiBH
UFVSZW5kZXJCdW5kbGVFbmNvZGVyIGluY2x1ZGVzIEdQVVByb2dyYW1tYWJsZVBhc3NFbmNvZGVy
OwogR1BVUmVuZGVyQnVuZGxlRW5jb2RlciBpbmNsdWRlcyBHUFVSZW5kZXJFbmNvZGVyQmFzZTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlckJ1bmRs
ZUVuY29kZXJEZXNjcmlwdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVS
ZW5kZXJCdW5kbGVFbmNvZGVyRGVzY3JpcHRvci5oCmluZGV4IDhkMTg0NTI2MDYwNTcyNGRmMjI0
NzAxZTZkM2E1NTI2MDI5YzZlNTQuLjg4NGJlN2M0NjA4MDAzMWE2NzQ2ZDNhMjc5MzdmZThkMTM0
OTEwM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRl
ckJ1bmRsZUVuY29kZXJEZXNjcmlwdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9X
ZWJHUFUvR1BVUmVuZGVyQnVuZGxlRW5jb2RlckRlc2NyaXB0b3IuaApAQCAtMzYsOCArMzYsMTAg
QEAgc3RydWN0IEdQVVJlbmRlckJ1bmRsZUVuY29kZXJEZXNjcmlwdG9yIDogcHVibGljIEdQVVJl
bmRlclBhc3NMYXlvdXQgewogICAgICAgICByZXR1cm4gewogICAgICAgICAgICAgewogICAgICAg
ICAgICAgICAgIHsgbGFiZWwgfSwKLSAgICAgICAgICAgICAgICBjb2xvckZvcm1hdHMubWFwKFtd
IChjb25zdCBhdXRvJiBjb2xvckZvcm1hdCkgewotICAgICAgICAgICAgICAgICAgICByZXR1cm4g
V2ViQ29yZTo6Y29udmVydFRvQmFja2luZyhjb2xvckZvcm1hdCk7CisgICAgICAgICAgICAgICAg
Y29sb3JGb3JtYXRzLm1hcChbXSAoYXV0byYgY29sb3JGb3JtYXQpIC0+IHN0ZDo6b3B0aW9uYWw8
UEFMOjpXZWJHUFU6OlRleHR1cmVGb3JtYXQ+IHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGNv
bG9yRm9ybWF0KQorICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFdlYkNvcmU6OmNvbnZl
cnRUb0JhY2tpbmcoKmNvbG9yRm9ybWF0KTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHN0
ZDo6bnVsbG9wdDsKICAgICAgICAgICAgICAgICB9KSwKICAgICAgICAgICAgICAgICBkZXB0aFN0
ZW5jaWxGb3JtYXQgPyBzdGQ6Om9wdGlvbmFsIHsgV2ViQ29yZTo6Y29udmVydFRvQmFja2luZygq
ZGVwdGhTdGVuY2lsRm9ybWF0KSB9IDogc3RkOjpudWxsb3B0LAogICAgICAgICAgICAgICAgIHNh
bXBsZUNvdW50LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BV
UmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJH
UFUvR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudC5oCmluZGV4IDg4NjU2MDYwY2YwMDA0M2Nh
ODMzNzI0YTdlZjZhM2RjOGM4MzVjYjguLjE2NGY1Mzk1NTlkNWM0NWUyNWY2OGYzY2RhZjRmNjI0
ZWUyZDlhZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJl
bmRlclBhc3NDb2xvckF0dGFjaG1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dl
YkdQVS9HUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50LmgKQEAgLTQzLDEzICs0Myw4IEBAIHN0
cnVjdCBHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50IHsKICAgICAgICAgcmV0dXJuIHsKICAg
ICAgICAgICAgIHZpZXctPmJhY2tpbmcoKSwKICAgICAgICAgICAgIHJlc29sdmVUYXJnZXQgPyAm
cmVzb2x2ZVRhcmdldC0+YmFja2luZygpIDogbnVsbHB0ciwKLSAgICAgICAgICAgIFdURjo6c3dp
dGNoT24obG9hZFZhbHVlLCBbJl0gKEdQVUxvYWRPcCBsb2FkT3ApIC0+IHN0ZDo6dmFyaWFudDxQ
QUw6OldlYkdQVTo6TG9hZE9wLCBWZWN0b3I8ZG91YmxlPiwgUEFMOjpXZWJHUFU6OkNvbG9yRGlj
dD4gewotICAgICAgICAgICAgICAgIHJldHVybiBXZWJDb3JlOjpjb252ZXJ0VG9CYWNraW5nKGxv
YWRPcCk7Ci0gICAgICAgICAgICB9LCBbJl0gKGNvbnN0IFZlY3Rvcjxkb3VibGU+JiB2ZWN0b3Ip
IC0+IHN0ZDo6dmFyaWFudDxQQUw6OldlYkdQVTo6TG9hZE9wLCBWZWN0b3I8ZG91YmxlPiwgUEFM
OjpXZWJHUFU6OkNvbG9yRGljdD4gewotICAgICAgICAgICAgICAgIHJldHVybiB2ZWN0b3I7Ci0g
ICAgICAgICAgICB9LCBbJl0gKGNvbnN0IEdQVUNvbG9yRGljdCYgY29sb3IpIC0+IHN0ZDo6dmFy
aWFudDxQQUw6OldlYkdQVTo6TG9hZE9wLCBWZWN0b3I8ZG91YmxlPiwgUEFMOjpXZWJHUFU6OkNv
bG9yRGljdD4gewotICAgICAgICAgICAgICAgIHJldHVybiBjb2xvci5jb252ZXJ0VG9CYWNraW5n
KCk7Ci0gICAgICAgICAgICB9KSwKKyAgICAgICAgICAgIGNsZWFyVmFsdWUgPyBzdGQ6Om9wdGlv
bmFsIHsgV2ViQ29yZTo6Y29udmVydFRvQmFja2luZygqY2xlYXJWYWx1ZSkgfSA6IHN0ZDo6bnVs
bG9wdCwKKyAgICAgICAgICAgIFdlYkNvcmU6OmNvbnZlcnRUb0JhY2tpbmcobG9hZE9wKSwKICAg
ICAgICAgICAgIFdlYkNvcmU6OmNvbnZlcnRUb0JhY2tpbmcoc3RvcmVPcCksCiAgICAgICAgIH07
CiAgICAgfQpAQCAtNTcsNyArNTIsOCBAQCBzdHJ1Y3QgR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNo
bWVudCB7CiAgICAgR1BVVGV4dHVyZVZpZXcqIHZpZXcgeyBudWxscHRyIH07CiAgICAgR1BVVGV4
dHVyZVZpZXcqIHJlc29sdmVUYXJnZXQgeyBudWxscHRyIH07CiAKLSAgICBzdGQ6OnZhcmlhbnQ8
R1BVTG9hZE9wLCBWZWN0b3I8ZG91YmxlPiwgR1BVQ29sb3JEaWN0PiBsb2FkVmFsdWU7CisgICAg
c3RkOjpvcHRpb25hbDxHUFVDb2xvcj4gY2xlYXJWYWx1ZTsKKyAgICBHUFVMb2FkT3AgbG9hZE9w
IHsgR1BVTG9hZE9wOjpMb2FkIH07CiAgICAgR1BVU3RvcmVPcCBzdG9yZU9wIHsgR1BVU3RvcmVP
cDo6U3RvcmUgfTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2Vi
R1BVL0dQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudC5pZGwKaW5kZXggMmJkYzZj
NDM5YzM5MjJlOTUwNjdjYWMyNjE2NDA3M2EwMzdlNTFkMC4uODUyYWNjNmZiMzYzOWFjMGE0YTc5
NDZiYTc5NGY0MTY2ZmIzMjVkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9X
ZWJHUFUvR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudC5pZGwKQEAgLTM1
LDYgKzM1LDcgQEAgZGljdGlvbmFyeSBHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50IHsKICAg
ICByZXF1aXJlZCBHUFVUZXh0dXJlVmlldyB2aWV3OwogICAgIEdQVVRleHR1cmVWaWV3IHJlc29s
dmVUYXJnZXQ7CiAKLSAgICByZXF1aXJlZCAoR1BVTG9hZE9wIG9yIEdQVUNvbG9yKSBsb2FkVmFs
dWU7CisgICAgR1BVQ29sb3IgY2xlYXJWYWx1ZTsKKyAgICByZXF1aXJlZCBHUFVMb2FkT3AgbG9h
ZE9wOwogICAgIHJlcXVpcmVkIEdQVVN0b3JlT3Agc3RvcmVPcDsKIH07CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0
YWNobWVudC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0Rl
cHRoU3RlbmNpbEF0dGFjaG1lbnQuaAppbmRleCBmYTNmYjc2MDAxODEwZmI2MGVhMzI4MWM3MmY3
OTQzZTBhMzEzNzIyLi5jZmI0YzdiZGU3YjMwY2U0MmRlNWNkMTBlOGVkOWI3Nzc4NTZjNmIzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzRGVw
dGhTdGVuY2lsQXR0YWNobWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BV
L0dQVVJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50LmgKQEAgLTQxLDMxICs0MSwyNyBA
QCBzdHJ1Y3QgR1BVUmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQgewogICAgICAgICBB
U1NFUlQodmlldyk7CiAgICAgICAgIHJldHVybiB7CiAgICAgICAgICAgICB2aWV3LT5iYWNraW5n
KCksCi0gICAgICAgICAgICBXVEY6OnN3aXRjaE9uKGRlcHRoTG9hZFZhbHVlLCBbJl0gKEdQVUxv
YWRPcCBsb2FkT3ApIC0+IHN0ZDo6dmFyaWFudDxQQUw6OldlYkdQVTo6TG9hZE9wLCBmbG9hdD4g
ewotICAgICAgICAgICAgICAgIHJldHVybiBXZWJDb3JlOjpjb252ZXJ0VG9CYWNraW5nKGxvYWRP
cCk7Ci0gICAgICAgICAgICB9LCBbJl0gKGZsb2F0IGYpIC0+IHN0ZDo6dmFyaWFudDxQQUw6Oldl
YkdQVTo6TG9hZE9wLCBmbG9hdD4gewotICAgICAgICAgICAgICAgIHJldHVybiBmOwotICAgICAg
ICAgICAgfSksCi0gICAgICAgICAgICBXZWJDb3JlOjpjb252ZXJ0VG9CYWNraW5nKGRlcHRoU3Rv
cmVPcCksCisgICAgICAgICAgICBkZXB0aENsZWFyVmFsdWUsCisgICAgICAgICAgICBkZXB0aExv
YWRPcCA/IHN0ZDo6b3B0aW9uYWwgeyBXZWJDb3JlOjpjb252ZXJ0VG9CYWNraW5nKCpkZXB0aExv
YWRPcCkgfSA6IHN0ZDo6bnVsbG9wdCwKKyAgICAgICAgICAgIGRlcHRoU3RvcmVPcCA/IHN0ZDo6
b3B0aW9uYWwgeyBXZWJDb3JlOjpjb252ZXJ0VG9CYWNraW5nKCpkZXB0aFN0b3JlT3ApIH0gOiBz
dGQ6Om51bGxvcHQsCiAgICAgICAgICAgICBkZXB0aFJlYWRPbmx5LAotICAgICAgICAgICAgV1RG
Ojpzd2l0Y2hPbihzdGVuY2lsTG9hZFZhbHVlLCBbJl0gKEdQVUxvYWRPcCBsb2FkT3ApIC0+IHN0
ZDo6dmFyaWFudDxQQUw6OldlYkdQVTo6TG9hZE9wLCBQQUw6OldlYkdQVTo6U3RlbmNpbFZhbHVl
PiB7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIFdlYkNvcmU6OmNvbnZlcnRUb0JhY2tpbmcobG9h
ZE9wKTsKLSAgICAgICAgICAgIH0sIFsmXSAoR1BVU3RlbmNpbFZhbHVlIHN0ZW5jaWxWYWx1ZSkg
LT4gc3RkOjp2YXJpYW50PFBBTDo6V2ViR1BVOjpMb2FkT3AsIFBBTDo6V2ViR1BVOjpTdGVuY2ls
VmFsdWU+IHsKLSAgICAgICAgICAgICAgICByZXR1cm4gc3RlbmNpbFZhbHVlOwotICAgICAgICAg
ICAgfSksCi0gICAgICAgICAgICBXZWJDb3JlOjpjb252ZXJ0VG9CYWNraW5nKHN0ZW5jaWxTdG9y
ZU9wKSwKKyAgICAgICAgICAgIHN0ZW5jaWxDbGVhclZhbHVlLAorICAgICAgICAgICAgc3RlbmNp
bExvYWRPcCA/IHN0ZDo6b3B0aW9uYWwgeyBXZWJDb3JlOjpjb252ZXJ0VG9CYWNraW5nKCpzdGVu
Y2lsTG9hZE9wKSB9IDogc3RkOjpudWxsb3B0LAorICAgICAgICAgICAgc3RlbmNpbFN0b3JlT3Ag
PyBzdGQ6Om9wdGlvbmFsIHsgV2ViQ29yZTo6Y29udmVydFRvQmFja2luZygqc3RlbmNpbFN0b3Jl
T3ApIH0gOiBzdGQ6Om51bGxvcHQsCiAgICAgICAgICAgICBzdGVuY2lsUmVhZE9ubHksCiAgICAg
ICAgIH07CiAgICAgfQogCiAgICAgR1BVVGV4dHVyZVZpZXcqIHZpZXcgeyBudWxscHRyIH07CiAK
LSAgICBzdGQ6OnZhcmlhbnQ8R1BVTG9hZE9wLCBmbG9hdD4gZGVwdGhMb2FkVmFsdWU7Ci0gICAg
R1BVU3RvcmVPcCBkZXB0aFN0b3JlT3AgeyBHUFVTdG9yZU9wOjpTdG9yZSB9OworICAgIGZsb2F0
IGRlcHRoQ2xlYXJWYWx1ZSB7IDAgfTsKKyAgICBzdGQ6Om9wdGlvbmFsPEdQVUxvYWRPcD4gZGVw
dGhMb2FkT3A7CisgICAgc3RkOjpvcHRpb25hbDxHUFVTdG9yZU9wPiBkZXB0aFN0b3JlT3A7CiAg
ICAgYm9vbCBkZXB0aFJlYWRPbmx5IHsgZmFsc2UgfTsKIAotICAgIHN0ZDo6dmFyaWFudDxHUFVM
b2FkT3AsIEdQVVN0ZW5jaWxWYWx1ZT4gc3RlbmNpbExvYWRWYWx1ZTsKLSAgICBHUFVTdG9yZU9w
IHN0ZW5jaWxTdG9yZU9wIHsgR1BVU3RvcmVPcDo6U3RvcmUgfTsKKyAgICBHUFVTdGVuY2lsVmFs
dWUgc3RlbmNpbENsZWFyVmFsdWUgeyAwIH07CisgICAgc3RkOjpvcHRpb25hbDxHUFVMb2FkT3A+
IHN0ZW5jaWxMb2FkT3A7CisgICAgc3RkOjpvcHRpb25hbDxHUFVTdG9yZU9wPiBzdGVuY2lsU3Rv
cmVPcDsKICAgICBib29sIHN0ZW5jaWxSZWFkT25seSB7IGZhbHNlIH07CiB9OwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzRGVwdGhTdGVu
Y2lsQXR0YWNobWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5k
ZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNobWVudC5pZGwKaW5kZXggMzc1MDIxOWEyODViNzIxY2M4
NTY1N2M5NWRmYTlkY2M0YTVkMDExOC4uN2U2OTU3YjRmNTdiOGYxZDUyYWRkMDgwNDA5MWZmZmI4
ODFmOWJiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVu
ZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50LmlkbApAQCAt
MzQsMTEgKzM0LDEzIEBAIHR5cGVkZWYgW0VuZm9yY2VSYW5nZV0gdW5zaWduZWQgbG9uZyBHUFVT
dGVuY2lsVmFsdWU7CiBkaWN0aW9uYXJ5IEdQVVJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2ht
ZW50IHsKICAgICByZXF1aXJlZCBHUFVUZXh0dXJlVmlldyB2aWV3OwogCi0gICAgcmVxdWlyZWQg
KEdQVUxvYWRPcCBvciBmbG9hdCkgZGVwdGhMb2FkVmFsdWU7Ci0gICAgcmVxdWlyZWQgR1BVU3Rv
cmVPcCBkZXB0aFN0b3JlT3A7CisgICAgZmxvYXQgZGVwdGhDbGVhclZhbHVlID0gMDsKKyAgICBH
UFVMb2FkT3AgZGVwdGhMb2FkT3A7CisgICAgR1BVU3RvcmVPcCBkZXB0aFN0b3JlT3A7CiAgICAg
Ym9vbGVhbiBkZXB0aFJlYWRPbmx5ID0gZmFsc2U7CiAKLSAgICByZXF1aXJlZCAoR1BVTG9hZE9w
IG9yIEdQVVN0ZW5jaWxWYWx1ZSkgc3RlbmNpbExvYWRWYWx1ZTsKLSAgICByZXF1aXJlZCBHUFVT
dG9yZU9wIHN0ZW5jaWxTdG9yZU9wOworICAgIEdQVVN0ZW5jaWxWYWx1ZSBzdGVuY2lsQ2xlYXJW
YWx1ZSA9IDA7CisgICAgR1BVTG9hZE9wIHN0ZW5jaWxMb2FkT3A7CisgICAgR1BVU3RvcmVPcCBz
dGVuY2lsU3RvcmVPcDsKICAgICBib29sZWFuIHN0ZW5jaWxSZWFkT25seSA9IGZhbHNlOwogfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NE
ZXNjcmlwdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNz
RGVzY3JpcHRvci5oCmluZGV4IDU4MmFmZTFlOTczODBmMjhhZTE1MTFmYWZjMWI1MzcxYTI4ZmU0
NzEuLmZiNzhmNTJmODI3MzAzYzBhMzAxNmY3NjI3Y2JlMDFlZmZmNTgyOGMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NEZXNjcmlwdG9yLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0Rlc2NyaXB0
b3IuaApAQCAtNDIsOCArNDIsMTAgQEAgc3RydWN0IEdQVVJlbmRlclBhc3NEZXNjcmlwdG9yIDog
cHVibGljIEdQVU9iamVjdERlc2NyaXB0b3JCYXNlIHsKICAgICB7CiAgICAgICAgIHJldHVybiB7
CiAgICAgICAgICAgICB7IGxhYmVsIH0sCi0gICAgICAgICAgICBjb2xvckF0dGFjaG1lbnRzLm1h
cChbXSAoYXV0byYgY29sb3JBdHRhY2htZW50KSB7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGNv
bG9yQXR0YWNobWVudC5jb252ZXJ0VG9CYWNraW5nKCk7CisgICAgICAgICAgICBjb2xvckF0dGFj
aG1lbnRzLm1hcChbXSAoYXV0byYgY29sb3JBdHRhY2htZW50KSAtPiBzdGQ6Om9wdGlvbmFsPFBB
TDo6V2ViR1BVOjpSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50PiB7CisgICAgICAgICAgICAgICAg
aWYgKGNvbG9yQXR0YWNobWVudCkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbG9yQXR0
YWNobWVudC0+Y29udmVydFRvQmFja2luZygpOworICAgICAgICAgICAgICAgIHJldHVybiBzdGQ6
Om51bGxvcHQ7CiAgICAgICAgICAgICB9KSwKICAgICAgICAgICAgIGRlcHRoU3RlbmNpbEF0dGFj
aG1lbnQgPyBzdGQ6Om9wdGlvbmFsIHsgZGVwdGhTdGVuY2lsQXR0YWNobWVudC0+Y29udmVydFRv
QmFja2luZygpIH0gOiBzdGQ6Om51bGxvcHQsCiAgICAgICAgICAgICBvY2NsdXNpb25RdWVyeVNl
dCA/ICZvY2NsdXNpb25RdWVyeVNldC0+YmFja2luZygpIDogbnVsbHB0ciwKQEAgLTUxLDcgKzUz
LDcgQEAgc3RydWN0IEdQVVJlbmRlclBhc3NEZXNjcmlwdG9yIDogcHVibGljIEdQVU9iamVjdERl
c2NyaXB0b3JCYXNlIHsKICAgICAgICAgfTsKICAgICB9CiAKLSAgICBWZWN0b3I8R1BVUmVuZGVy
UGFzc0NvbG9yQXR0YWNobWVudD4gY29sb3JBdHRhY2htZW50czsKKyAgICBWZWN0b3I8c3RkOjpv
cHRpb25hbDxHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50Pj4gY29sb3JBdHRhY2htZW50czsK
ICAgICBzdGQ6Om9wdGlvbmFsPEdQVVJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50PiBk
ZXB0aFN0ZW5jaWxBdHRhY2htZW50OwogICAgIEdQVVF1ZXJ5U2V0KiBvY2NsdXNpb25RdWVyeVNl
dCB7IG51bGxwdHIgfTsKICAgICBHUFVSZW5kZXJQYXNzVGltZXN0YW1wV3JpdGVzIHRpbWVzdGFt
cFdyaXRlczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJl
bmRlclBhc3NEZXNjcmlwdG9yLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQ
VVJlbmRlclBhc3NEZXNjcmlwdG9yLmlkbAppbmRleCAwYzFjZGUzODhmMmYwYzZhZTQzYTZjYjUw
MzA2YWY1OTM4Yzc0MmM2Li4xNjllMTVjYmJlNjVlYTVjZDQwODQyMTgxNzI0N2YxYWJmODdjMDdi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNz
RGVzY3JpcHRvci5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVu
ZGVyUGFzc0Rlc2NyaXB0b3IuaWRsCkBAIC0zMiw3ICszMiw3IEBAIHR5cGVkZWYgc2VxdWVuY2U8
R1BVUmVuZGVyUGFzc1RpbWVzdGFtcFdyaXRlPiBHUFVSZW5kZXJQYXNzVGltZXN0YW1wV3JpdGVz
OwogICAgIEVuYWJsZWRCeVNldHRpbmc9V2ViR1BVCiBdCiBkaWN0aW9uYXJ5IEdQVVJlbmRlclBh
c3NEZXNjcmlwdG9yIDogR1BVT2JqZWN0RGVzY3JpcHRvckJhc2UgewotICAgIHJlcXVpcmVkIHNl
cXVlbmNlPEdQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQ+IGNvbG9yQXR0YWNobWVudHM7Cisg
ICAgcmVxdWlyZWQgc2VxdWVuY2U8R1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudD8+IGNvbG9y
QXR0YWNobWVudHM7CiAgICAgR1BVUmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQgZGVw
dGhTdGVuY2lsQXR0YWNobWVudDsKICAgICBHUFVRdWVyeVNldCBvY2NsdXNpb25RdWVyeVNldDsK
ICAgICBHUFVSZW5kZXJQYXNzVGltZXN0YW1wV3JpdGVzIHRpbWVzdGFtcFdyaXRlcyA9IFtdOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0Vu
Y29kZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0Vu
Y29kZXIuY3BwCmluZGV4IGE5NTEwMTY2ZjhiZTgyMTJlNzZjYWZlNGE3ZTJhNDYyOTVmMmJiODEu
LmQ2NDQzNTI5Y2NiOWI1Y2E4ZGMxZDRlNmNkZDA4ZjRjNDNiOWY2NjUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NFbmNvZGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzRW5jb2Rlci5jcHAK
QEAgLTE0NSwxNiArMTQ1LDYgQEAgdm9pZCBHUFVSZW5kZXJQYXNzRW5jb2Rlcjo6ZW5kT2NjbHVz
aW9uUXVlcnkoKQogICAgIG1fYmFja2luZy0+ZW5kT2NjbHVzaW9uUXVlcnkoKTsKIH0KIAotdm9p
ZCBHUFVSZW5kZXJQYXNzRW5jb2Rlcjo6YmVnaW5QaXBlbGluZVN0YXRpc3RpY3NRdWVyeShjb25z
dCBHUFVRdWVyeVNldCYgcXVlcnlTZXQsIEdQVVNpemUzMiBxdWVyeUluZGV4KQotewotICAgIG1f
YmFja2luZy0+YmVnaW5QaXBlbGluZVN0YXRpc3RpY3NRdWVyeShxdWVyeVNldC5iYWNraW5nKCks
IHF1ZXJ5SW5kZXgpOwotfQotCi12b2lkIEdQVVJlbmRlclBhc3NFbmNvZGVyOjplbmRQaXBlbGlu
ZVN0YXRpc3RpY3NRdWVyeSgpCi17Ci0gICAgbV9iYWNraW5nLT5lbmRQaXBlbGluZVN0YXRpc3Rp
Y3NRdWVyeSgpOwotfQotCiB2b2lkIEdQVVJlbmRlclBhc3NFbmNvZGVyOjpleGVjdXRlQnVuZGxl
cyhWZWN0b3I8UmVmUHRyPEdQVVJlbmRlckJ1bmRsZT4+JiYgYnVuZGxlcykKIHsKICAgICBWZWN0
b3I8c3RkOjpyZWZlcmVuY2Vfd3JhcHBlcjxQQUw6OldlYkdQVTo6UmVuZGVyQnVuZGxlPj4gcmVz
dWx0OwpAQCAtMTY3LDkgKzE1Nyw5IEBAIHZvaWQgR1BVUmVuZGVyUGFzc0VuY29kZXI6OmV4ZWN1
dGVCdW5kbGVzKFZlY3RvcjxSZWZQdHI8R1BVUmVuZGVyQnVuZGxlPj4mJiBidW5kCiAgICAgbV9i
YWNraW5nLT5leGVjdXRlQnVuZGxlcyhXVEZNb3ZlKHJlc3VsdCkpOwogfQogCi12b2lkIEdQVVJl
bmRlclBhc3NFbmNvZGVyOjplbmRQYXNzKCkKK3ZvaWQgR1BVUmVuZGVyUGFzc0VuY29kZXI6OmVu
ZCgpCiB7Ci0gICAgbV9iYWNraW5nLT5lbmRQYXNzKCk7CisgICAgbV9iYWNraW5nLT5lbmQoKTsK
IH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVu
ZGVyUGFzc0VuY29kZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRl
clBhc3NFbmNvZGVyLmgKaW5kZXggZmM4MTcxYzRhZWE0ZWVlMzZkOGMyNzA3Nzg2NmU3NjBkYjZl
ZGRlNy4uYTVmMGE5NmFkZjkzNmNlOTQxNDU4ZGJkMTdhYjg2NmUzMTQ2YjNjYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0VuY29kZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzRW5jb2Rlci5o
CkBAIC05NSwxMSArOTUsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBiZWdpbk9jY2x1c2lvblF1ZXJ5
KEdQVVNpemUzMiBxdWVyeUluZGV4KTsKICAgICB2b2lkIGVuZE9jY2x1c2lvblF1ZXJ5KCk7CiAK
LSAgICB2b2lkIGJlZ2luUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkoY29uc3QgR1BVUXVlcnlTZXQm
LCBHUFVTaXplMzIgcXVlcnlJbmRleCk7Ci0gICAgdm9pZCBlbmRQaXBlbGluZVN0YXRpc3RpY3NR
dWVyeSgpOwotCiAgICAgdm9pZCBleGVjdXRlQnVuZGxlcyhWZWN0b3I8UmVmUHRyPEdQVVJlbmRl
ckJ1bmRsZT4+JiYpOwotICAgIHZvaWQgZW5kUGFzcygpOworICAgIHZvaWQgZW5kKCk7CiAKICAg
ICBQQUw6OldlYkdQVTo6UmVuZGVyUGFzc0VuY29kZXImIGJhY2tpbmcoKSB7IHJldHVybiBtX2Jh
Y2tpbmc7IH0KICAgICBjb25zdCBQQUw6OldlYkdQVTo6UmVuZGVyUGFzc0VuY29kZXImIGJhY2tp
bmcoKSBjb25zdCB7IHJldHVybiBtX2JhY2tpbmc7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NFbmNvZGVyLmlkbCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NFbmNvZGVyLmlkbAppbmRleCA0ODg1ZWEz
NjhjNDAzZjBhYTg1MWMwNjhmYmNjMDcyZDAyNzFhNjlkLi40NzZlY2E1YzcwZjc2ZjA3MzBhMzJl
YzY4NzY1NTNmMzkwNzg4ZDk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dl
YkdQVS9HUFVSZW5kZXJQYXNzRW5jb2Rlci5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9XZWJHUFUvR1BVUmVuZGVyUGFzc0VuY29kZXIuaWRsCkBAIC01MCwxMiArNTAsMTEgQEAgaW50
ZXJmYWNlIEdQVVJlbmRlclBhc3NFbmNvZGVyIHsKICAgICB1bmRlZmluZWQgYmVnaW5PY2NsdXNp
b25RdWVyeShHUFVTaXplMzIgcXVlcnlJbmRleCk7CiAgICAgdW5kZWZpbmVkIGVuZE9jY2x1c2lv
blF1ZXJ5KCk7CiAKLSAgICB1bmRlZmluZWQgYmVnaW5QaXBlbGluZVN0YXRpc3RpY3NRdWVyeShH
UFVRdWVyeVNldCBxdWVyeVNldCwgR1BVU2l6ZTMyIHF1ZXJ5SW5kZXgpOwotICAgIHVuZGVmaW5l
ZCBlbmRQaXBlbGluZVN0YXRpc3RpY3NRdWVyeSgpOwotCiAgICAgdW5kZWZpbmVkIGV4ZWN1dGVC
dW5kbGVzKHNlcXVlbmNlPEdQVVJlbmRlckJ1bmRsZT4gYnVuZGxlcyk7Ci0gICAgdW5kZWZpbmVk
IGVuZFBhc3MoKTsKKyAgICB1bmRlZmluZWQgZW5kKCk7CiB9OwogR1BVUmVuZGVyUGFzc0VuY29k
ZXIgaW5jbHVkZXMgR1BVT2JqZWN0QmFzZTsKK0dQVVJlbmRlclBhc3NFbmNvZGVyIGluY2x1ZGVz
IEdQVUNvbW1hbmRzTWl4aW47CitHUFVSZW5kZXJQYXNzRW5jb2RlciBpbmNsdWRlcyBHUFVEZWJ1
Z0NvbW1hbmRzTWl4aW47CiBHUFVSZW5kZXJQYXNzRW5jb2RlciBpbmNsdWRlcyBHUFVQcm9ncmFt
bWFibGVQYXNzRW5jb2RlcjsKIEdQVVJlbmRlclBhc3NFbmNvZGVyIGluY2x1ZGVzIEdQVVJlbmRl
ckVuY29kZXJCYXNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUv
R1BVUmVuZGVyUGFzc0xheW91dC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BV
UmVuZGVyUGFzc0xheW91dC5oCmluZGV4IGI1YTU0MGFhYWFjNzhkODkwMmNiOTI3YjYyMWMxZWI4
MTA0YjM5NTQuLmE0M2Q0MTkxYTNlYTJiOTc2ZDkxNTZlNDFhN2NiMTA1OTY3YjU0MTMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NMYXlvdXQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzTGF5b3V0
LmgKQEAgLTM5LDE1ICszOSwxNyBAQCBzdHJ1Y3QgR1BVUmVuZGVyUGFzc0xheW91dCA6IHB1Ymxp
YyBHUFVPYmplY3REZXNjcmlwdG9yQmFzZSB7CiAgICAgewogICAgICAgICByZXR1cm4gewogICAg
ICAgICAgICAgeyBsYWJlbCB9LAotICAgICAgICAgICAgY29sb3JGb3JtYXRzLm1hcChbXSAoY29u
c3QgYXV0byYgY29sb3JGb3JtYXQpIHsKLSAgICAgICAgICAgICAgICByZXR1cm4gV2ViQ29yZTo6
Y29udmVydFRvQmFja2luZyhjb2xvckZvcm1hdCk7CisgICAgICAgICAgICBjb2xvckZvcm1hdHMu
bWFwKFtdIChhdXRvJiBjb2xvckZvcm1hdCkgLT4gc3RkOjpvcHRpb25hbDxQQUw6OldlYkdQVTo6
VGV4dHVyZUZvcm1hdD4geworICAgICAgICAgICAgICAgIGlmIChjb2xvckZvcm1hdCkKKyAgICAg
ICAgICAgICAgICAgICAgcmV0dXJuIFdlYkNvcmU6OmNvbnZlcnRUb0JhY2tpbmcoKmNvbG9yRm9y
bWF0KTsKKyAgICAgICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogICAgICAgICAgICAg
fSksCiAgICAgICAgICAgICBkZXB0aFN0ZW5jaWxGb3JtYXQgPyBzdGQ6Om9wdGlvbmFsIHsgV2Vi
Q29yZTo6Y29udmVydFRvQmFja2luZygqZGVwdGhTdGVuY2lsRm9ybWF0KSB9IDogc3RkOjpudWxs
b3B0LAogICAgICAgICAgICAgc2FtcGxlQ291bnQsCiAgICAgICAgIH07CiAgICAgfQogCi0gICAg
VmVjdG9yPEdQVVRleHR1cmVGb3JtYXQ+IGNvbG9yRm9ybWF0czsKKyAgICBWZWN0b3I8c3RkOjpv
cHRpb25hbDxHUFVUZXh0dXJlRm9ybWF0Pj4gY29sb3JGb3JtYXRzOwogICAgIHN0ZDo6b3B0aW9u
YWw8R1BVVGV4dHVyZUZvcm1hdD4gZGVwdGhTdGVuY2lsRm9ybWF0OwogICAgIEdQVVNpemUzMiBz
YW1wbGVDb3VudCB7IDEgfTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L1dlYkdQVS9HUFVSZW5kZXJQYXNzTGF5b3V0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
V2ViR1BVL0dQVVJlbmRlclBhc3NMYXlvdXQuaWRsCmluZGV4IDRhNzY5NjkyZTI2MDJiMDc1ZTAx
M2E5MDBkY2NlOTIxOWYzODZiNTIuLjZiY2JkYjEzMDY3NjM5MTg3YmJhOTIzYmRiZGU0NjIyNDk3
NTlmY2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRl
clBhc3NMYXlvdXQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJl
bmRlclBhc3NMYXlvdXQuaWRsCkBAIC0zMiw3ICszMiw3IEBAIHR5cGVkZWYgW0VuZm9yY2VSYW5n
ZV0gdW5zaWduZWQgbG9uZyBHUFVTaXplMzI7CiAgICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJHUFUK
IF0KIGRpY3Rpb25hcnkgR1BVUmVuZGVyUGFzc0xheW91dCA6IEdQVU9iamVjdERlc2NyaXB0b3JC
YXNlIHsKLSAgICByZXF1aXJlZCBzZXF1ZW5jZTxHUFVUZXh0dXJlRm9ybWF0PiBjb2xvckZvcm1h
dHM7CisgICAgcmVxdWlyZWQgc2VxdWVuY2U8R1BVVGV4dHVyZUZvcm1hdD8+IGNvbG9yRm9ybWF0
czsKICAgICBHUFVUZXh0dXJlRm9ybWF0IGRlcHRoU3RlbmNpbEZvcm1hdDsKICAgICBHUFVTaXpl
MzIgc2FtcGxlQ291bnQgPSAxOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvV2ViR1BVL0dQVVNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludC5oIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9XZWJHUFUvR1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50LmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMmM5NWQ0MDA0NmM3ODhlYjRjNzEwYWQwOTdkZWYzOTBjYTE3ZDY2ZgotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVNoYWRlck1vZHVsZUNv
bXBpbGF0aW9uSGludC5oCkBAIC0wLDAgKzEsNDUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9u
Y2UKKworI2luY2x1ZGUgIkdQVVBpcGVsaW5lTGF5b3V0LmgiCisjaW5jbHVkZSA8cGFsL2dyYXBo
aWNzL1dlYkdQVS9XZWJHUFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQuaD4KKworbmFtZXNw
YWNlIFdlYkNvcmUgeworCitzdHJ1Y3QgR1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50IHsK
KyAgICBQQUw6OldlYkdQVTo6U2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50IGNvbnZlcnRUb0Jh
Y2tpbmcoKSBjb25zdAorICAgIHsKKyAgICAgICAgQVNTRVJUKGxheW91dCk7CisgICAgICAgIHJl
dHVybiB7CisgICAgICAgICAgICBsYXlvdXQtPmJhY2tpbmcoKSwKKyAgICAgICAgfTsKKyAgICB9
CisKKyAgICBHUFVQaXBlbGluZUxheW91dCogbGF5b3V0IHsgbnVsbHB0ciB9OworfTsKKworfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVU2hhZGVyTW9kdWxl
Q29tcGlsYXRpb25IaW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVNo
YWRlck1vZHVsZUNvbXBpbGF0aW9uSGludC5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjg4NTZlODlmYmQyMGY4
Y2MzYTc1OWE5MTcyZDVjY2M2NTNjMDA2MwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvV2ViR1BVL0dQVVNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludC5pZGwKQEAg
LTAsMCArMSwzMyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMiBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8vIGh0dHBzOi8vZ3B1d2ViLmdpdGh1Yi5pby9n
cHV3ZWIvI2RpY3RkZWYtZ3B1c2hhZGVybW9kdWxlY29tcGlsYXRpb25oaW50CisKK1sKKyAgICBF
bmFibGVkQnlTZXR0aW5nPVdlYkdQVQorXQorZGljdGlvbmFyeSBHUFVTaGFkZXJNb2R1bGVDb21w
aWxhdGlvbkhpbnQgeworICAgIHJlcXVpcmVkIEdQVVBpcGVsaW5lTGF5b3V0IGxheW91dDsKK307
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVTaGFkZXJNb2R1
bGVEZXNjcmlwdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVTaGFkZXJN
b2R1bGVEZXNjcmlwdG9yLmgKaW5kZXggMTYxNzMyNWFmM2FjNzM0NGQyOTc1MWU1NjBlNGY5M2Jm
NDI1OTEyMi4uOGNkY2JiOTU5NmQ4OTNmODdlMmFmOGFhZjU3Y2RjN2I2YTMzMTA0MiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVU2hhZGVyTW9kdWxlRGVzY3Jp
cHRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVNoYWRlck1vZHVs
ZURlc2NyaXB0b3IuaApAQCAtMjUsNyArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2luY2x1
ZGUgIkdQVU9iamVjdERlc2NyaXB0b3JCYXNlLmgiCisjaW5jbHVkZSAiR1BVU2hhZGVyTW9kdWxl
Q29tcGlsYXRpb25IaW50LmgiCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNPYmplY3QuaD4K
ICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9TdHJvbmcuaD4KICNpbmNsdWRlIDxwYWwvZ3JhcGhp
Y3MvV2ViR1BVL1dlYkdQVVNoYWRlck1vZHVsZURlc2NyaXB0b3IuaD4KQEAgLTQwLDExICs0MCwx
NSBAQCBzdHJ1Y3QgR1BVU2hhZGVyTW9kdWxlRGVzY3JpcHRvciA6IHB1YmxpYyBHUFVPYmplY3RE
ZXNjcmlwdG9yQmFzZSB7CiAgICAgICAgICAgICB7IGxhYmVsIH0sCiAgICAgICAgICAgICBjb2Rl
LAogICAgICAgICAgICAgLy8gRklYTUU6IEhhbmRsZSB0aGUgc291cmNlTWFwLgorICAgICAgICAg
ICAgaGludHMubWFwKFtdIChhdXRvJiBoaW50KSB7CisgICAgICAgICAgICAgICAgcmV0dXJuIEtl
eVZhbHVlUGFpcjxTdHJpbmcsIFBBTDo6V2ViR1BVOjpTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhp
bnQ+KGhpbnQua2V5LCBoaW50LnZhbHVlLmNvbnZlcnRUb0JhY2tpbmcoKSk7CisgICAgICAgICAg
ICB9KSwKICAgICAgICAgfTsKICAgICB9CiAKICAgICBTdHJpbmcgY29kZTsKICAgICBKU0M6OlN0
cm9uZzxKU0M6OkpTT2JqZWN0PiBzb3VyY2VNYXA7CisgICAgVmVjdG9yPEtleVZhbHVlUGFpcjxT
dHJpbmcsIEdQVVNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludD4+IGhpbnRzOwogfTsKIAogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVU2hhZGVyTW9kdWxl
RGVzY3JpcHRvci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVTaGFkZXJN
b2R1bGVEZXNjcmlwdG9yLmlkbAppbmRleCBiOGE3OTU5Y2ViM2MzNzYzZjk2YTZiNjFmM2Y0NWFj
MDg2NjcxOGI0Li40MmUwNDRkN2Q0ZDQxNDVlNTU3MDk4NzA1NjZlNzA5MDBlYWZjMDYwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVTaGFkZXJNb2R1bGVEZXNj
cmlwdG9yLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVTaGFkZXJN
b2R1bGVEZXNjcmlwdG9yLmlkbApAQCAtMzEsNCArMzEsNSBAQAogZGljdGlvbmFyeSBHUFVTaGFk
ZXJNb2R1bGVEZXNjcmlwdG9yIDogR1BVT2JqZWN0RGVzY3JpcHRvckJhc2UgewogICAgIHJlcXVp
cmVkIFVTVlN0cmluZyBjb2RlOwogICAgIG9iamVjdCBzb3VyY2VNYXA7CisgICAgcmVjb3JkPFVT
VlN0cmluZywgR1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50PiBoaW50czsKIH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVUZXh0dXJlRGVzY3JpcHRv
ci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVVGV4dHVyZURlc2NyaXB0b3Iu
aAppbmRleCBjN2Q4YjI3YWMxM2U4YmVkZjk0Y2VmNjc2YzI4Yjg1NDE1NjVhM2Q4Li40ZDJmYTQ3
MjdlNDkwM2Y1ZjBmODkxZDA4Y2VlMjRiOTdlOGVkNzcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVUZXh0dXJlRGVzY3JpcHRvci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVRleHR1cmVEZXNjcmlwdG9yLmgKQEAgLTQ2LDYgKzQ2
LDkgQEAgc3RydWN0IEdQVVRleHR1cmVEZXNjcmlwdG9yIDogcHVibGljIEdQVU9iamVjdERlc2Ny
aXB0b3JCYXNlIHsKICAgICAgICAgICAgIFdlYkNvcmU6OmNvbnZlcnRUb0JhY2tpbmcoZGltZW5z
aW9uKSwKICAgICAgICAgICAgIFdlYkNvcmU6OmNvbnZlcnRUb0JhY2tpbmcoZm9ybWF0KSwKICAg
ICAgICAgICAgIGNvbnZlcnRUZXh0dXJlVXNhZ2VGbGFnc1RvQmFja2luZyh1c2FnZSksCisgICAg
ICAgICAgICB2aWV3Rm9ybWF0cy5tYXAoW10gKGF1dG8gdmlld0Zvcm1hdCkgeworICAgICAgICAg
ICAgICAgIHJldHVybiBXZWJDb3JlOjpjb252ZXJ0VG9CYWNraW5nKHZpZXdGb3JtYXQpOworICAg
ICAgICAgICAgfSksCiAgICAgICAgIH07CiAgICAgfQogCkBAIC01NSw2ICs1OCw3IEBAIHN0cnVj
dCBHUFVUZXh0dXJlRGVzY3JpcHRvciA6IHB1YmxpYyBHUFVPYmplY3REZXNjcmlwdG9yQmFzZSB7
CiAgICAgR1BVVGV4dHVyZURpbWVuc2lvbiBkaW1lbnNpb24geyBHUFVUZXh0dXJlRGltZW5zaW9u
OjpfMmQgfTsKICAgICBHUFVUZXh0dXJlRm9ybWF0IGZvcm1hdCB7IEdQVVRleHR1cmVGb3JtYXQ6
OlI4dW5vcm0gfTsKICAgICBHUFVUZXh0dXJlVXNhZ2VGbGFncyB1c2FnZSB7IDAgfTsKKyAgICBW
ZWN0b3I8R1BVVGV4dHVyZUZvcm1hdD4gdmlld0Zvcm1hdHM7CiB9OwogCiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVUZXh0dXJlRGVzY3JpcHRvci5pZGwg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVUZXh0dXJlRGVzY3JpcHRvci5pZGwK
aW5kZXggYjI0ZmQzMmY2Nzc4N2VhNzY5YTIwNzg5ZjVlNDgzMmZjYjQyYzVkNS4uNWRmNjc3NDlk
M2U2NmFmYTAzMzNkODg1OTdiYWJmZDc0NmZiZjM1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9XZWJHUFUvR1BVVGV4dHVyZURlc2NyaXB0b3IuaWRsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVRleHR1cmVEZXNjcmlwdG9yLmlkbApAQCAtNDEsNCAr
NDEsNSBAQCBkaWN0aW9uYXJ5IEdQVVRleHR1cmVEZXNjcmlwdG9yIDogR1BVT2JqZWN0RGVzY3Jp
cHRvckJhc2UgewogICAgIEdQVVRleHR1cmVEaW1lbnNpb24gZGltZW5zaW9uID0gIjJkIjsKICAg
ICByZXF1aXJlZCBHUFVUZXh0dXJlRm9ybWF0IGZvcm1hdDsKICAgICByZXF1aXJlZCBHUFVUZXh0
dXJlVXNhZ2VGbGFncyB1c2FnZTsKKyAgICBzZXF1ZW5jZTxHUFVUZXh0dXJlRm9ybWF0PiB2aWV3
Rm9ybWF0cyA9IFtdOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2Vi
R1BVL0dQVVRleHR1cmVGb3JtYXQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQ
VVRleHR1cmVGb3JtYXQuaAppbmRleCBjOWQ4NzIxMDE4OWUyZWQxY2M0ZTgzYWQ5ZWFhZGU5NDg4
YWIyMTAwLi5kYTEzZDEzNjExZTdmZjlkYmE1ODM5N2NiYTEzODY3OTdmYmZmMTYyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVUZXh0dXJlRm9ybWF0LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVVGV4dHVyZUZvcm1hdC5oCkBAIC03
OCwxMyArNzgsMTkgQEAgZW51bSBjbGFzcyBHUFVUZXh0dXJlRm9ybWF0IDogdWludDhfdCB7CiAg
ICAgUmdiYTMyc2ludCwKICAgICBSZ2JhMzJmbG9hdCwKIAotICAgIC8vIERlcHRoIGFuZCBzdGVu
Y2lsIGZvcm1hdHMKKyAgICAvLyBEZXB0aC9zdGVuY2lsIGZvcm1hdHMKICAgICBTdGVuY2lsOCwK
ICAgICBEZXB0aDE2dW5vcm0sCiAgICAgRGVwdGgyNHBsdXMsCiAgICAgRGVwdGgyNHBsdXNTdGVu
Y2lsOCwKICAgICBEZXB0aDMyZmxvYXQsCiAKKyAgICAvLyBkZXB0aDI0dW5vcm0tc3RlbmNpbDgg
ZmVhdHVyZQorICAgIERlcHRoMjR1bm9ybVN0ZW5jaWw4LAorCisgICAgLy8gZGVwdGgzMmZsb2F0
LXN0ZW5jaWw4IGZlYXR1cmUKKyAgICBEZXB0aDMyZmxvYXRTdGVuY2lsOCwKKwogICAgIC8vIEJD
IGNvbXByZXNzZWQgZm9ybWF0cyB1c2FibGUgaWYgdGV4dHVyZS1jb21wcmVzc2lvbi1iYyBpcyBi
b3RoCiAgICAgLy8gc3VwcG9ydGVkIGJ5IHRoZSBkZXZpY2UvdXNlciBhZ2VudCBhbmQgZW5hYmxl
ZCBpbiByZXF1ZXN0RGV2aWNlLgogICAgIEJjMVJnYmFVbm9ybSwKQEAgLTE0NSwxMiArMTUxLDYg
QEAgZW51bSBjbGFzcyBHUFVUZXh0dXJlRm9ybWF0IDogdWludDhfdCB7CiAgICAgQXN0YzEyeDEw
VW5vcm1TUkdCLAogICAgIEFzdGMxMngxMlVub3JtLAogICAgIEFzdGMxMngxMlVub3JtU1JHQiwK
LQotICAgIC8vIGRlcHRoMjR1bm9ybS1zdGVuY2lsOCBmZWF0dXJlCi0gICAgRGVwdGgyNHVub3Jt
U3RlbmNpbDgsCi0KLSAgICAvLyBkZXB0aDMyZmxvYXQtc3RlbmNpbDggZmVhdHVyZQotICAgIERl
cHRoMzJmbG9hdFN0ZW5jaWw4LAogfTsKIAogaW5saW5lIFBBTDo6V2ViR1BVOjpUZXh0dXJlRm9y
bWF0IGNvbnZlcnRUb0JhY2tpbmcoR1BVVGV4dHVyZUZvcm1hdCB0ZXh0dXJlRm9ybWF0KQpAQCAt
MjM4LDYgKzIzOCwxMCBAQCBpbmxpbmUgUEFMOjpXZWJHUFU6OlRleHR1cmVGb3JtYXQgY29udmVy
dFRvQmFja2luZyhHUFVUZXh0dXJlRm9ybWF0IHRleHR1cmVGb3JtYQogICAgICAgICByZXR1cm4g
UEFMOjpXZWJHUFU6OlRleHR1cmVGb3JtYXQ6OkRlcHRoMjRwbHVzU3RlbmNpbDg7CiAgICAgY2Fz
ZSBHUFVUZXh0dXJlRm9ybWF0OjpEZXB0aDMyZmxvYXQ6CiAgICAgICAgIHJldHVybiBQQUw6Oldl
YkdQVTo6VGV4dHVyZUZvcm1hdDo6RGVwdGgzMmZsb2F0OworICAgIGNhc2UgR1BVVGV4dHVyZUZv
cm1hdDo6RGVwdGgyNHVub3JtU3RlbmNpbDg6CisgICAgICAgIHJldHVybiBQQUw6OldlYkdQVTo6
VGV4dHVyZUZvcm1hdDo6RGVwdGgyNHVub3JtU3RlbmNpbDg7CisgICAgY2FzZSBHUFVUZXh0dXJl
Rm9ybWF0OjpEZXB0aDMyZmxvYXRTdGVuY2lsODoKKyAgICAgICAgcmV0dXJuIFBBTDo6V2ViR1BV
OjpUZXh0dXJlRm9ybWF0OjpEZXB0aDMyZmxvYXRTdGVuY2lsODsKICAgICBjYXNlIEdQVVRleHR1
cmVGb3JtYXQ6OkJjMVJnYmFVbm9ybToKICAgICAgICAgcmV0dXJuIFBBTDo6V2ViR1BVOjpUZXh0
dXJlRm9ybWF0OjpCYzFSZ2JhVW5vcm07CiAgICAgY2FzZSBHUFVUZXh0dXJlRm9ybWF0OjpCYzFS
Z2JhVW5vcm1TUkdCOgpAQCAtMzQyLDEwICszNDYsNiBAQCBpbmxpbmUgUEFMOjpXZWJHUFU6OlRl
eHR1cmVGb3JtYXQgY29udmVydFRvQmFja2luZyhHUFVUZXh0dXJlRm9ybWF0IHRleHR1cmVGb3Jt
YQogICAgICAgICByZXR1cm4gUEFMOjpXZWJHUFU6OlRleHR1cmVGb3JtYXQ6OkFzdGMxMngxMlVu
b3JtOwogICAgIGNhc2UgR1BVVGV4dHVyZUZvcm1hdDo6QXN0YzEyeDEyVW5vcm1TUkdCOgogICAg
ICAgICByZXR1cm4gUEFMOjpXZWJHUFU6OlRleHR1cmVGb3JtYXQ6OkFzdGMxMngxMlVub3JtU1JH
QjsKLSAgICBjYXNlIEdQVVRleHR1cmVGb3JtYXQ6OkRlcHRoMjR1bm9ybVN0ZW5jaWw4OgotICAg
ICAgICByZXR1cm4gUEFMOjpXZWJHUFU6OlRleHR1cmVGb3JtYXQ6OkRlcHRoMjR1bm9ybVN0ZW5j
aWw4OwotICAgIGNhc2UgR1BVVGV4dHVyZUZvcm1hdDo6RGVwdGgzMmZsb2F0U3RlbmNpbDg6Ci0g
ICAgICAgIHJldHVybiBQQUw6OldlYkdQVTo6VGV4dHVyZUZvcm1hdDo6RGVwdGgzMmZsb2F0U3Rl
bmNpbDg7CiAgICAgfQogICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVUZXh0dXJlRm9ybWF0Lmlk
bCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVRleHR1cmVGb3JtYXQuaWRsCmlu
ZGV4IDI1MWNkZGJlMDA0M2VjOWQxN2I4NDIyYTczYWM5NDQ1YmU3M2M0ZTcuLjMwMzYxODhjNTIx
MDg4Y2JjYTFmMmY0YzY5NTU3OTdhN2UyN2VhOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvV2ViR1BVL0dQVVRleHR1cmVGb3JtYXQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvV2ViR1BVL0dQVVRleHR1cmVGb3JtYXQuaWRsCkBAIC03NiwxMyArNzYsMTkgQEAg
ZW51bSBHUFVUZXh0dXJlRm9ybWF0IHsKICAgICAicmdiYTMyc2ludCIsCiAgICAgInJnYmEzMmZs
b2F0IiwKIAotICAgIC8vIERlcHRoIGFuZCBzdGVuY2lsIGZvcm1hdHMKKyAgICAvLyBEZXB0aC9z
dGVuY2lsIGZvcm1hdHMKICAgICAic3RlbmNpbDgiLAogICAgICJkZXB0aDE2dW5vcm0iLAogICAg
ICJkZXB0aDI0cGx1cyIsCiAgICAgImRlcHRoMjRwbHVzLXN0ZW5jaWw4IiwKICAgICAiZGVwdGgz
MmZsb2F0IiwKIAorICAgIC8vICJkZXB0aDI0dW5vcm0tc3RlbmNpbDgiIGZlYXR1cmUKKyAgICAi
ZGVwdGgyNHVub3JtLXN0ZW5jaWw4IiwKKworICAgIC8vICJkZXB0aDMyZmxvYXQtc3RlbmNpbDgi
IGZlYXR1cmUKKyAgICAiZGVwdGgzMmZsb2F0LXN0ZW5jaWw4IiwKKwogICAgIC8vIEJDIGNvbXBy
ZXNzZWQgZm9ybWF0cyB1c2FibGUgaWYgInRleHR1cmUtY29tcHJlc3Npb24tYmMiIGlzIGJvdGgK
ICAgICAvLyBzdXBwb3J0ZWQgYnkgdGhlIGRldmljZS91c2VyIGFnZW50IGFuZCBlbmFibGVkIGlu
IHJlcXVlc3REZXZpY2UuCiAgICAgImJjMS1yZ2JhLXVub3JtIiwKQEAgLTE0MiwxMSArMTQ4LDUg
QEAgZW51bSBHUFVUZXh0dXJlRm9ybWF0IHsKICAgICAiYXN0Yy0xMngxMC11bm9ybSIsCiAgICAg
ImFzdGMtMTJ4MTAtdW5vcm0tc3JnYiIsCiAgICAgImFzdGMtMTJ4MTItdW5vcm0iLAotICAgICJh
c3RjLTEyeDEyLXVub3JtLXNyZ2IiLAotCi0gICAgLy8gImRlcHRoMjR1bm9ybS1zdGVuY2lsOCIg
ZmVhdHVyZQotICAgICJkZXB0aDI0dW5vcm0tc3RlbmNpbDgiLAotCi0gICAgLy8gImRlcHRoMzJm
bG9hdC1zdGVuY2lsOCIgZmVhdHVyZQotICAgICJkZXB0aDMyZmxvYXQtc3RlbmNpbDgiCisgICAg
ImFzdGMtMTJ4MTItdW5vcm0tc3JnYiIKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL1dlYkdQVS9HUFVVbmNhcHR1cmVkRXJyb3JFdmVudC5pZGwgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL1dlYkdQVS9HUFVVbmNhcHR1cmVkRXJyb3JFdmVudC5pZGwKaW5kZXggMzMyZWJl
YWRiZGE5ODcyMDYwNmQ4ODU0YzUxNjRjMWFkNDY5YjU3ZC4uMWI5MjdkNDJhZWM1ZGM4ZGVkMGFi
MGIzYTM5MGU1MDRiZjc0OWMwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9X
ZWJHUFUvR1BVVW5jYXB0dXJlZEVycm9yRXZlbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvV2ViR1BVL0dQVVVuY2FwdHVyZWRFcnJvckV2ZW50LmlkbApAQCAtMzgsNSArMzgsNSBA
QCBpbnRlcmZhY2UgR1BVVW5jYXB0dXJlZEVycm9yRXZlbnQgOiBFdmVudCB7CiAgICAgICAgIERP
TVN0cmluZyB0eXBlLAogICAgICAgICBHUFVVbmNhcHR1cmVkRXJyb3JFdmVudEluaXQgZ3B1VW5j
YXB0dXJlZEVycm9yRXZlbnRJbml0RGljdAogICAgICk7Ci0gICAgW1NhbWVPYmplY3RdIHJlYWRv
bmx5IGF0dHJpYnV0ZSBHUFVFcnJvciBlcnJvcjsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgR1BV
RXJyb3IgZXJyb3I7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML1BBTC54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvUEFML1BBTC54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCmluZGV4IGM1YTkxOGY3ZDQwZDA0MWEyOTMzOTQ2ZTcyMDZjNzFjNzUz
ZjVkMDQuLjJhNzNjOGU3MTViODI0NDAxOTE4MzRlMGMzNmQ1ZTBkNWI1ZmVhMjkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9QQUwueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9QQUwvUEFMLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTI0
Nyw3ICsyNDcsNiBAQAogCQkxQ0VGQTIxNzI3MzdBNEM4MDBGMERBOTUgLyogV2ViR1BVQmluZEdy
b3VwRW50cnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDFDQzVFNDY5MjczNzQ5NDgwMDZGNkZGNCAvKiBXZWJHUFVCaW5kR3JvdXBFbnRyeS5oICovOyB9
OwogCQkxQ0VGQTIxODI3MzdBNEM4MDBGMERBOTUgLyogV2ViR1BVUHJpbWl0aXZlVG9wb2xvZ3ku
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDQzVFNDUz
MjczNzQ5NDcwMDZGNkZGNCAvKiBXZWJHUFVQcmltaXRpdmVUb3BvbG9neS5oICovOyB9OwogCQkx
Q0VGQTIxOTI3MzdBNEM4MDBGMERBOTUgLyogV2ViR1BVVGV4dHVyZUJpbmRpbmdMYXlvdXQuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDQzVFNDE5Mjcz
NzQ5MkMwMDZGNkZGNCAvKiBXZWJHUFVUZXh0dXJlQmluZGluZ0xheW91dC5oICovOyB9OwotCQkx
Q0VGQTIxQTI3MzdBNEM4MDBGMERBOTUgLyogV2ViR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQ0M1RTQzOTI3
Mzc0OTQ2MDA2RjZGRjQgLyogV2ViR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lLmggKi87IH07CiAJ
CTFDRUZBMjFCMjczN0E0QzgwMEYwREE5NSAvKiBXZWJHUFVCbGVuZENvbXBvbmVudC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUNDNUU0NzgyNzM3NDk0
OTAwNkY2RkY0IC8qIFdlYkdQVUJsZW5kQ29tcG9uZW50LmggKi87IH07CiAJCTFDRUZBMjFDMjcz
N0E0QzgwMEYwREE5NSAvKiBXZWJHUFVUZXh0dXJlVmlld0RpbWVuc2lvbi5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUNDNUU0MzIyNzM3NDkyRDAwNkY2
RkY0IC8qIFdlYkdQVVRleHR1cmVWaWV3RGltZW5zaW9uLmggKi87IH07CiAJCTFDRUZBMjFEMjcz
N0E0QzgwMEYwREE5NSAvKiBXZWJHUFVMb2FkT3AuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDQzVFNDUwMjczNzQ5NDcwMDZGNkZGNCAvKiBXZWJHUFVM
b2FkT3AuaCAqLzsgfTsKQEAgLTY1Miw3ICs2NTEsNiBAQAogCQkxQ0M1RTQzNjI3Mzc0OTQ2MDA2
RjZGRjQgLyogV2ViR1BVQ29tcGlsYXRpb25NZXNzYWdlVHlwZS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBX
ZWJHUFVDb21waWxhdGlvbk1lc3NhZ2VUeXBlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTFDQzVFNDM3MjczNzQ5NDYwMDZGNkZGNCAvKiBXZWJHUFVFeHRlbnQzRC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBXZWJHUFVFeHRlbnQzRC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkx
Q0M1RTQzODI3Mzc0OTQ2MDA2RjZGRjQgLyogV2ViR1BVUHJvZ3JhbW1hYmxlU3RhZ2UuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gV2ViR1BVUHJvZ3JhbW1hYmxlU3RhZ2UuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKLQkJMUNDNUU0MzkyNzM3NDk0NjAwNkY2RkY0IC8qIFdlYkdQVVBpcGVsaW5lU3Rh
dGlzdGljTmFtZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJHUFVQaXBlbGluZVN0YXRpc3RpY05hbWUu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNDNUU0M0EyNzM3NDk0NjAwNkY2RkY0
IC8qIFdlYkdQVUV4dGVybmFsVGV4dHVyZUJpbmRpbmdMYXlvdXQuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
V2ViR1BVRXh0ZXJuYWxUZXh0dXJlQmluZGluZ0xheW91dC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkxQ0M1RTQzQjI3Mzc0OTQ2MDA2RjZGRjQgLyogV2ViR1BVUmVuZGVyUGFzc0Rl
c2NyaXB0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNDNUU0M0MyNzM3NDk0NjAwNkY2RkY0IC8q
IFdlYkdQVVNhbXBsZXJCaW5kaW5nVHlwZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJHUFVTYW1wbGVy
QmluZGluZ1R5cGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTc0NCw2ICs3NDIs
NyBAQAogCQkxQ0M1RTQ5MzI3Mzc0OTRBMDA2RjZGRjQgLyogV2ViR1BVQ2FudmFzQ29tcG9zaXRp
bmdBbHBoYU1vZGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViR1BVQ2FudmFzQ29tcG9zaXRpbmdBbHBo
YU1vZGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNDRUU0RjQyMEQ4NzE5MzAw
NDdCMDk3IC8qIENvcmVVSVNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBD
b3JlVUlTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNDRUU0RjYyMEQ4NzQz
RjAwNDdCMDk3IC8qIE5TQXBwZWFyYW5jZVNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBOU0FwcGVhcmFuY2VTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MUNFRjQ1QUEyN0JCMTAxRjAwQzNBNkJDIC8qIFdlYkdQVVNoYWRlck1vZHVsZUNvbXBpbGF0aW9u
SGludC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJHUFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUQxMkNDNEEyNDExQkNBRTAwRkRBMEEz
IC8qIEZlYXR1cmVGbGFnc1NQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBGZWF0dXJlRmxhZ3NTUEkuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUQyQjQxMzIyNUYwNUUzNDAwQTNGNzBBIC8q
IENsb2NrR2VuZXJpYy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBD
bG9ja0dlbmVyaWMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxRDJCNDEzMzI1
RjA1RTM1MDBBM0Y3MEEgLyogQ2xvY2tHZW5lcmljLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IENsb2NrR2VuZXJpYy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
MTMzOSw3ICsxMzM4LDYgQEAKIAkJCQkxQ0M1RTQ1RTI3Mzc0OTQ4MDA2RjZGRjQgLyogV2ViR1BV
UGlwZWxpbmVEZXNjcmlwdG9yQmFzZS5oICovLAogCQkJCTFDQzVFNDQ1MjczNzQ5NDcwMDZGNkZG
NCAvKiBXZWJHUFVQaXBlbGluZUxheW91dC5oICovLAogCQkJCTFDQzVFNDREMjczNzQ5NDcwMDZG
NkZGNCAvKiBXZWJHUFVQaXBlbGluZUxheW91dERlc2NyaXB0b3IuaCAqLywKLQkJCQkxQ0M1RTQz
OTI3Mzc0OTQ2MDA2RjZGRjQgLyogV2ViR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lLmggKi8sCiAJ
CQkJMUNDNUU0N0EyNzM3NDk0OTAwNkY2RkY0IC8qIFdlYkdQVVBvd2VyUHJlZmVyZW5jZS5oICov
LAogCQkJCTFDQzVFNDdEMjczNzQ5NDkwMDZGNkZGNCAvKiBXZWJHUFVQcmVkZWZpbmVkQ29sb3JT
cGFjZS5oICovLAogCQkJCTFDQzVFNDZEMjczNzQ5NDgwMDZGNkZGNCAvKiBXZWJHUFVQcmltaXRp
dmVTdGF0ZS5oICovLApAQCAtMTM2OCw2ICsxMzY2LDcgQEAKIAkJCQkxQ0M1RTQzQzI3Mzc0OTQ2
MDA2RjZGRjQgLyogV2ViR1BVU2FtcGxlckJpbmRpbmdUeXBlLmggKi8sCiAJCQkJMUNDNUU0MjMy
NzM3NDkyQzAwNkY2RkY0IC8qIFdlYkdQVVNhbXBsZXJEZXNjcmlwdG9yLmggKi8sCiAJCQkJMUND
NUU0MUQyNzM3NDkyQzAwNkY2RkY0IC8qIFdlYkdQVVNoYWRlck1vZHVsZS5oICovLAorCQkJCTFD
RUY0NUFBMjdCQjEwMUYwMEMzQTZCQyAvKiBXZWJHUFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhp
bnQuaCAqLywKIAkJCQkxQ0M1RTQxQjI3Mzc0OTJDMDA2RjZGRjQgLyogV2ViR1BVU2hhZGVyTW9k
dWxlRGVzY3JpcHRvci5oICovLAogCQkJCTFDQzVFNDI2MjczNzQ5MkQwMDZGNkZGNCAvKiBXZWJH
UFVTaGFkZXJTdGFnZS5oICovLAogCQkJCTFDQzVFNDFDMjczNzQ5MkMwMDZGNkZGNCAvKiBXZWJH
UFVTdGVuY2lsRmFjZVN0YXRlLmggKi8sCkBAIC0xNzc0LDcgKzE3NzMsNiBAQAogCQkJCTFDRUZB
MjI1MjczN0E0QzgwMEYwREE5NSAvKiBXZWJHUFVQaXBlbGluZURlc2NyaXB0b3JCYXNlLmggaW4g
SGVhZGVycyAqLywKIAkJCQkxQ0VGQTFGRDI3MzdBNEM4MDBGMERBOTUgLyogV2ViR1BVUGlwZWxp
bmVMYXlvdXQuaCBpbiBIZWFkZXJzICovLAogCQkJCTFDRUZBMUY0MjczN0E0QzgwMEYwREE5NSAv
KiBXZWJHUFVQaXBlbGluZUxheW91dERlc2NyaXB0b3IuaCBpbiBIZWFkZXJzICovLAotCQkJCTFD
RUZBMjFBMjczN0E0QzgwMEYwREE5NSAvKiBXZWJHUFVQaXBlbGluZVN0YXRpc3RpY05hbWUuaCBp
biBIZWFkZXJzICovLAogCQkJCTFDRUZBMURFMjczN0E0QzgwMEYwREE5NSAvKiBXZWJHUFVQb3dl
clByZWZlcmVuY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTFDRUZBMjE2MjczN0E0QzgwMEYwREE5
NSAvKiBXZWJHUFVQcmVkZWZpbmVkQ29sb3JTcGFjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUNF
RkExRTUyNzM3QTRDODAwRjBEQTk1IC8qIFdlYkdQVVByaW1pdGl2ZVN0YXRlLmggaW4gSGVhZGVy
cyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvQ01ha2VMaXN0cy50eHQg
Yi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL0NNYWtlTGlzdHMudHh0CmluZGV4IDVmYWEyZmZmMTgx
YThmNGVkMDMwMjZmZDEyZTYyN2E1NWJjZWY1YjIuLjQ3YmE2MDk0YmYyYTQzYzdhYzg3OGNkYzBh
YTdmYTcwZDQzMjBiNDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvQ01ha2VM
aXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9DTWFrZUxpc3RzLnR4dApAQCAt
MTA1LDcgKzEwNSw2IEBAIHNldChQQUxfUFVCTElDX0hFQURFUlMKICAgICBncmFwaGljcy9XZWJH
UFUvV2ViR1BVUGlwZWxpbmVEZXNjcmlwdG9yQmFzZS5oCiAgICAgZ3JhcGhpY3MvV2ViR1BVL1dl
YkdQVVBpcGVsaW5lTGF5b3V0LmgKICAgICBncmFwaGljcy9XZWJHUFUvV2ViR1BVUGlwZWxpbmVM
YXlvdXREZXNjcmlwdG9yLmgKLSAgICBncmFwaGljcy9XZWJHUFUvV2ViR1BVUGlwZWxpbmVTdGF0
aXN0aWNOYW1lLmgKICAgICBncmFwaGljcy9XZWJHUFUvV2ViR1BVUG93ZXJQcmVmZXJlbmNlLmgK
ICAgICBncmFwaGljcy9XZWJHUFUvV2ViR1BVUHJlZGVmaW5lZENvbG9yU3BhY2UuaAogICAgIGdy
YXBoaWNzL1dlYkdQVS9XZWJHUFVQcmltaXRpdmVTdGF0ZS5oCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVUFkYXB0ZXJJbXBsLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwvV2ViR1BVQWRh
cHRlckltcGwuY3BwCmluZGV4IDdkNWIxNjU0ZWVkMDc2YzE3NjAyNjhkZjAwMjZkYjcyMjA2NTdi
OGMuLjU2MTM5YWY0YTkwNzgyZjhkZGFjYjMyMjVmYmEzZDcwOGI0MDkxZmUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwvV2ViR1BVQWRhcHRl
ckltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL0lt
cGwvV2ViR1BVQWRhcHRlckltcGwuY3BwCkBAIC00MywxMyArNDMsMTcgQEAgc3RhdGljIFN0cmlu
ZyBhZGFwdGVyTmFtZShXR1BVQWRhcHRlciBhZGFwdGVyKQogCiBzdGF0aWMgUmVmPFN1cHBvcnRl
ZEZlYXR1cmVzPiBzdXBwb3J0ZWRGZWF0dXJlcyhXR1BVQWRhcHRlciBhZGFwdGVyKQogeworICAg
IGF1dG8gZmVhdHVyZUNvdW50ID0gd2dwdUFkYXB0ZXJFbnVtZXJhdGVGZWF0dXJlcyhhZGFwdGVy
LCBudWxscHRyKTsKKyAgICBWZWN0b3I8V0dQVUZlYXR1cmVOYW1lPiBmZWF0dXJlcyhmZWF0dXJl
Q291bnQpOworICAgIHdncHVBZGFwdGVyRW51bWVyYXRlRmVhdHVyZXMoYWRhcHRlciwgZmVhdHVy
ZXMuZGF0YSgpKTsKKwogICAgIFZlY3RvcjxTdHJpbmc+IHJlc3VsdDsKLSAgICBmb3IgKHNpemVf
dCBpID0gMDsgOyArK2kpIHsKLSAgICAgICAgYXV0byBmZWF0dXJlID0gd2dwdUFkYXB0ZXJHZXRG
ZWF0dXJlQXRJbmRleChhZGFwdGVyLCBpKTsKLSAgICAgICAgaWYgKGZlYXR1cmUgPT0gV0dQVUZl
YXR1cmVOYW1lX1VuZGVmaW5lZCkKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBzd2l0Y2gg
KHN0YXRpY19jYXN0PHVpbnQ+KGZlYXR1cmUpKSB7Ci0gICAgICAgIGNhc2UgV0dQVUZlYXR1cmVO
YW1lX0RlcHRoQ2xhbXBpbmc6CisgICAgZm9yIChhdXRvIGZlYXR1cmUgOiBmZWF0dXJlcykgewor
ICAgICAgICBzd2l0Y2ggKGZlYXR1cmUpIHsKKyAgICAgICAgY2FzZSBXR1BVRmVhdHVyZU5hbWVf
VW5kZWZpbmVkOgorICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIGNhc2UgV0dQVUZlYXR1
cmVOYW1lX0RlcHRoQ2xpcENvbnRyb2w6CisgICAgICAgICAgICByZXN1bHQuYXBwZW5kKCJkZXB0
aC1jbGlwLWNvbnRyb2wiX3MpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgV0dQ
VUZlYXR1cmVOYW1lX0RlcHRoMjRVbm9ybVN0ZW5jaWw4OgogICAgICAgICAgICAgcmVzdWx0LmFw
cGVuZCgiZGVwdGgyNHVub3JtLXN0ZW5jaWw4Il9zKTsKQEAgLTY2LDIwICs3MCwxNyBAQCBzdGF0
aWMgUmVmPFN1cHBvcnRlZEZlYXR1cmVzPiBzdXBwb3J0ZWRGZWF0dXJlcyhXR1BVQWRhcHRlciBh
ZGFwdGVyKQogICAgICAgICBjYXNlIFdHUFVGZWF0dXJlTmFtZV9UZXh0dXJlQ29tcHJlc3Npb25C
QzoKICAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQoInRleHR1cmUtY29tcHJlc3Npb24tYmMiX3Mp
OwogICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgV0dQVUZlYXR1cmVOYW1lX0RlcHRo
Q2xpcENvbnRyb2w6Ci0gICAgICAgICAgICByZXN1bHQuYXBwZW5kKCJkZXB0aC1jbGlwLWNvbnRy
b2wiX3MpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgV0dQVUZlYXR1cmVOYW1l
X0luZGlyZWN0Rmlyc3RJbnN0YW5jZToKLSAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQoImluZGly
ZWN0LWZpcnN0LWluc3RhbmNlIl9zKTsKLSAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNl
IFdHUFVGZWF0dXJlTmFtZV9UZXh0dXJlQ29tcHJlc3Npb25FVEMyOgogICAgICAgICAgICAgcmVz
dWx0LmFwcGVuZCgidGV4dHVyZS1jb21wcmVzc2lvbi1ldGMyIl9zKTsKICAgICAgICAgICAgIGJy
ZWFrOwogICAgICAgICBjYXNlIFdHUFVGZWF0dXJlTmFtZV9UZXh0dXJlQ29tcHJlc3Npb25BU1RD
OgogICAgICAgICAgICAgcmVzdWx0LmFwcGVuZCgidGV4dHVyZS1jb21wcmVzc2lvbi1hc3RjIl9z
KTsKICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBkZWZhdWx0OgorICAgICAgICBjYXNlIFdH
UFVGZWF0dXJlTmFtZV9JbmRpcmVjdEZpcnN0SW5zdGFuY2U6CisgICAgICAgICAgICByZXN1bHQu
YXBwZW5kKCJpbmRpcmVjdC1maXJzdC1pbnN0YW5jZSJfcyk7CiAgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9CiAgICAg
fQogICAgIHJldHVybiBTdXBwb3J0ZWRGZWF0dXJlczo6Y3JlYXRlKFdURk1vdmUocmVzdWx0KSk7
CkBAIC0xNTEsMTUgKzE1Miw2IEBAIHZvaWQgQWRhcHRlckltcGw6OnJlcXVlc3REZXZpY2UoY29u
c3QgRGV2aWNlRGVzY3JpcHRvciYgZGVzY3JpcHRvciwgV1RGOjpGdW5jdGlvCiAKICAgICBhdXRv
IGxhYmVsID0gZGVzY3JpcHRvci5sYWJlbC51dGY4KCk7CiAKLSAgICBXR1BVRGV2aWNlRGVzY3Jp
cHRvckxhYmVsIGJhY2tpbmdEZXNjcmlwdG9yTGFiZWwgewotICAgICAgICB7Ci0gICAgICAgICAg
ICBudWxscHRyLAotICAgICAgICAgICAgc3RhdGljX2Nhc3Q8V0dQVVNUeXBlPihXR1BVU1R5cGVf
RGV2aWNlRGVzY3JpcHRvckxhYmVsKSwKLSAgICAgICAgfSwKLSAgICAgICAgbnVsbHB0ciwKLSAg
ICAgICAgbGFiZWwuZGF0YSgpCi0gICAgfTsKLQogICAgIGF1dG8gZmVhdHVyZXMgPSBkZXNjcmlw
dG9yLnJlcXVpcmVkRmVhdHVyZXMubWFwKFt0aGlzXSAoYXV0byBmZWF0dXJlTmFtZSkgewogICAg
ICAgICByZXR1cm4gbV9jb252ZXJ0VG9CYWNraW5nQ29udGV4dC0+Y29udmVydFRvQmFja2luZyhm
ZWF0dXJlTmFtZSk7CiAgICAgfSk7CkBAIC0xOTYsNyArMTg4LDggQEAgdm9pZCBBZGFwdGVySW1w
bDo6cmVxdWVzdERldmljZShjb25zdCBEZXZpY2VEZXNjcmlwdG9yJiBkZXNjcmlwdG9yLCBXVEY6
OkZ1bmN0aW8KICAgICB9OwogCiAgICAgV0dQVURldmljZURlc2NyaXB0b3IgYmFja2luZ0Rlc2Ny
aXB0b3IgewotICAgICAgICAmYmFja2luZ0Rlc2NyaXB0b3JMYWJlbC5oZWFkZXIsCisgICAgICAg
IG51bGxwdHIsCisgICAgICAgIGxhYmVsLmRhdGEoKSwKICAgICAgICAgc3RhdGljX2Nhc3Q8dWlu
dDMyX3Q+KGZlYXR1cmVzLnNpemUoKSksCiAgICAgICAgIGZlYXR1cmVzLmRhdGEoKSwKICAgICAg
ICAgJmxpbWl0cywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3Mv
V2ViR1BVL0ltcGwvV2ViR1BVQnVmZmVySW1wbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFs
L2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVUJ1ZmZlckltcGwuY3BwCmluZGV4IGQ5YTljZTVj
YWQ4ZDlhNWY5MTZmYjYwZWNlOTJjMTI3ZjNiZjg1ZGUuLjhhMGVjYzU4Y2Q2Y2VjMWM2ZTVmYjM3
NGQ0Y2E4NTcyNjNhMDVhZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3Jh
cGhpY3MvV2ViR1BVL0ltcGwvV2ViR1BVQnVmZmVySW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9XZWJHUFVCdWZmZXJJbXBsLmNwcApAQCAt
NTAsMTkgKzUwLDE4IEBAIHZvaWQgbWFwQ2FsbGJhY2soV0dQVUJ1ZmZlck1hcEFzeW5jU3RhdHVz
IHN0YXR1cywgdm9pZCogdXNlcmRhdGEpCiAgICAgYnVmZmVyLT5tYXBDYWxsYmFjayhzdGF0dXMp
OwogfQogCi12b2lkIEJ1ZmZlckltcGw6Om1hcEFzeW5jKE1hcE1vZGVGbGFncyBtYXBNb2RlRmxh
Z3MsIHN0ZDo6b3B0aW9uYWw8U2l6ZTY0PiBvZmZzZXQsIHN0ZDo6b3B0aW9uYWw8U2l6ZTY0PiBz
aXplLCBXVEY6OkZ1bmN0aW9uPHZvaWQoKT4mJiBjYWxsYmFjaykKK3ZvaWQgQnVmZmVySW1wbDo6
bWFwQXN5bmMoTWFwTW9kZUZsYWdzIG1hcE1vZGVGbGFncywgU2l6ZTY0IG9mZnNldCwgc3RkOjpv
cHRpb25hbDxTaXplNjQ+IHNpemUsIFdURjo6RnVuY3Rpb248dm9pZCgpPiYmIGNhbGxiYWNrKQog
ewogICAgIFJlZiBwcm90ZWN0ZWRUaGlzKCp0aGlzKTsKIAogICAgIGF1dG8gYmFja2luZ01hcE1v
ZGVGbGFncyA9IG1fY29udmVydFRvQmFja2luZ0NvbnRleHQtPmNvbnZlcnRNYXBNb2RlRmxhZ3NU
b0JhY2tpbmcobWFwTW9kZUZsYWdzKTsKIAotICAgIGF1dG8gdXNlZE9mZnNldCA9IG9mZnNldC52
YWx1ZV9vcigwKTsKLSAgICBhdXRvIHVzZWRTaXplID0gc2l6ZS52YWx1ZV9vcihXR1BVX1dIT0xF
X1NJWkUpOworICAgIGF1dG8gdXNlZFNpemUgPSBzaXplLnZhbHVlX29yKFdHUFVfV0hPTEVfTUFQ
X1NJWkUpOwogCiAgICAgbV9jYWxsYmFja3MuYXBwZW5kKFdURk1vdmUoY2FsbGJhY2spKTsKIAog
ICAgIC8vIEZJWE1FOiBDaGVjayB0aGUgY2FzdHMuCi0gICAgd2dwdUJ1ZmZlck1hcEFzeW5jKG1f
YmFja2luZywgYmFja2luZ01hcE1vZGVGbGFncywgc3RhdGljX2Nhc3Q8c2l6ZV90Pih1c2VkT2Zm
c2V0KSwgc3RhdGljX2Nhc3Q8c2l6ZV90Pih1c2VkU2l6ZSksICZXZWJHUFU6Om1hcENhbGxiYWNr
LCAmcHJvdGVjdGVkVGhpcy5sZWFrUmVmKCkpOyAvLyBsZWFrUmVmIGlzIGJhbGFuY2VkIGJ5IGFk
b3B0UmVmIGluIG1hcENhbGxiYWNrKCkgYWJvdmUuIFdlIGhhdmUgdG8gZG8gdGhpcyBiZWNhdXNl
IHdlJ3JlIHVzaW5nIGEgQyBBUEkgd2l0aCBubyBjb25jZXB0IG9mIHJlZmVyZW5jZSBjb3VudGlu
ZyBvciBibG9ja3MuCisgICAgd2dwdUJ1ZmZlck1hcEFzeW5jKG1fYmFja2luZywgYmFja2luZ01h
cE1vZGVGbGFncywgc3RhdGljX2Nhc3Q8c2l6ZV90PihvZmZzZXQpLCBzdGF0aWNfY2FzdDxzaXpl
X3Q+KHVzZWRTaXplKSwgJldlYkdQVTo6bWFwQ2FsbGJhY2ssICZwcm90ZWN0ZWRUaGlzLmxlYWtS
ZWYoKSk7IC8vIGxlYWtSZWYgaXMgYmFsYW5jZWQgYnkgYWRvcHRSZWYgaW4gbWFwQ2FsbGJhY2so
KSBhYm92ZS4gV2UgaGF2ZSB0byBkbyB0aGlzIGJlY2F1c2Ugd2UncmUgdXNpbmcgYSBDIEFQSSB3
aXRoIG5vIGNvbmNlcHQgb2YgcmVmZXJlbmNlIGNvdW50aW5nIG9yIGJsb2Nrcy4KIH0KIAogdm9p
ZCBCdWZmZXJJbXBsOjptYXBDYWxsYmFjayhXR1BVQnVmZmVyTWFwQXN5bmNTdGF0dXMgc3RhdHVz
KQpAQCAtNzIsMTIgKzcxLDExIEBAIHZvaWQgQnVmZmVySW1wbDo6bWFwQ2FsbGJhY2soV0dQVUJ1
ZmZlck1hcEFzeW5jU3RhdHVzIHN0YXR1cykKICAgICBjYWxsYmFjaygpOwogfQogCi1hdXRvIEJ1
ZmZlckltcGw6OmdldE1hcHBlZFJhbmdlKHN0ZDo6b3B0aW9uYWw8U2l6ZTY0PiBvZmZzZXQsIHN0
ZDo6b3B0aW9uYWw8U2l6ZTY0PiBzaXplKSAtPiBNYXBwZWRSYW5nZQorYXV0byBCdWZmZXJJbXBs
OjpnZXRNYXBwZWRSYW5nZShTaXplNjQgb2Zmc2V0LCBzdGQ6Om9wdGlvbmFsPFNpemU2ND4gc2l6
ZSkgLT4gTWFwcGVkUmFuZ2UKIHsKLSAgICBhdXRvIHVzZWRPZmZzZXQgPSBvZmZzZXQudmFsdWVf
b3IoMCk7Ci0gICAgYXV0byB1c2VkU2l6ZSA9IHNpemUudmFsdWVfb3IoV0dQVV9XSE9MRV9TSVpF
KTsKKyAgICBhdXRvIHVzZWRTaXplID0gc2l6ZS52YWx1ZV9vcihXR1BVX1dIT0xFX01BUF9TSVpF
KTsKICAgICAvLyBGSVhNRTogQ2hlY2sgdGhlIGNhc3RzLgotICAgIGF1dG8qIHBvaW50ZXIgPSB3
Z3B1QnVmZmVyR2V0TWFwcGVkUmFuZ2UobV9iYWNraW5nLCBzdGF0aWNfY2FzdDxzaXplX3Q+KHVz
ZWRPZmZzZXQpLCBzdGF0aWNfY2FzdDxzaXplX3Q+KHVzZWRTaXplKSk7CisgICAgYXV0byogcG9p
bnRlciA9IHdncHVCdWZmZXJHZXRNYXBwZWRSYW5nZShtX2JhY2tpbmcsIHN0YXRpY19jYXN0PHNp
emVfdD4ob2Zmc2V0KSwgc3RhdGljX2Nhc3Q8c2l6ZV90Pih1c2VkU2l6ZSkpOwogICAgIC8vIEZJ
WE1FOiBDaGVjayB0aGUgdHlwZSBuYXJyb3dpbmcuCiAgICAgcmV0dXJuIHsgcG9pbnRlciwgc3Rh
dGljX2Nhc3Q8c2l6ZV90Pih1c2VkU2l6ZSkgfTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwvV2ViR1BVQnVmZmVySW1wbC5oIGIvU291
cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9XZWJHUFVCdWZmZXJJbXBs
LmgKaW5kZXggYzE0NjVlYzQ3N2RmNTU2NTI1ZmE4OGM1YTNhMDExMTBjZTkwZjI4Ny4uOTIxODcy
M2I3MDcyNTc5Y2FlOTlkMjAxZjYyMmUyM2NjMjg5NmMwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9XZWJHUFVCdWZmZXJJbXBsLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9XZWJHUFVCdWZm
ZXJJbXBsLmgKQEAgLTU5LDggKzU5LDggQEAgcHJpdmF0ZToKICAgICBXR1BVQnVmZmVyIGJhY2tp
bmcoKSBjb25zdCB7IHJldHVybiBtX2JhY2tpbmc7IH0KIAogICAgIHZvaWQgbWFwQ2FsbGJhY2so
V0dQVUJ1ZmZlck1hcEFzeW5jU3RhdHVzKTsKLSAgICB2b2lkIG1hcEFzeW5jKE1hcE1vZGVGbGFn
cywgc3RkOjpvcHRpb25hbDxTaXplNjQ+IG9mZnNldCwgc3RkOjpvcHRpb25hbDxTaXplNjQ+IHNp
emVGb3JNYXAsIFdURjo6RnVuY3Rpb248dm9pZCgpPiYmKSBmaW5hbDsKLSAgICBNYXBwZWRSYW5n
ZSBnZXRNYXBwZWRSYW5nZShzdGQ6Om9wdGlvbmFsPFNpemU2ND4gb2Zmc2V0LCBzdGQ6Om9wdGlv
bmFsPFNpemU2ND4pIGZpbmFsOworICAgIHZvaWQgbWFwQXN5bmMoTWFwTW9kZUZsYWdzLCBTaXpl
NjQgb2Zmc2V0LCBzdGQ6Om9wdGlvbmFsPFNpemU2ND4gc2l6ZUZvck1hcCwgV1RGOjpGdW5jdGlv
bjx2b2lkKCk+JiYpIGZpbmFsOworICAgIE1hcHBlZFJhbmdlIGdldE1hcHBlZFJhbmdlKFNpemU2
NCBvZmZzZXQsIHN0ZDo6b3B0aW9uYWw8U2l6ZTY0PikgZmluYWw7CiAgICAgdm9pZCB1bm1hcCgp
IGZpbmFsOwogCiAgICAgdm9pZCBkZXN0cm95KCkgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVUNvbW1hbmRFbmNvZGVy
SW1wbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dl
YkdQVUNvbW1hbmRFbmNvZGVySW1wbC5jcHAKaW5kZXggYTg1MzZiY2VjZDI0ZDU3MjA3ZDIxNzQ1
NjA5ZjgyMGVhOWNiZDliNi4uYTAwNmRjMjM3MDFlODg0OWIxZDgwYzVmNjA2NzAyMzQ1N2Q5NjY1
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvSW1w
bC9XZWJHUFVDb21tYW5kRW5jb2RlckltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9w
YWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwvV2ViR1BVQ29tbWFuZEVuY29kZXJJbXBsLmNwcApAQCAt
NTMsNTcgKzUzLDUxIEBAIENvbW1hbmRFbmNvZGVySW1wbDo6fkNvbW1hbmRFbmNvZGVySW1wbCgp
CiAKIFJlZjxSZW5kZXJQYXNzRW5jb2Rlcj4gQ29tbWFuZEVuY29kZXJJbXBsOjpiZWdpblJlbmRl
clBhc3MoY29uc3QgUmVuZGVyUGFzc0Rlc2NyaXB0b3ImIGRlc2NyaXB0b3IpCiB7CisgICAgYXV0
byBsYWJlbCA9IGRlc2NyaXB0b3IubGFiZWwudXRmOCgpOworCiAgICAgVmVjdG9yPFdHUFVSZW5k
ZXJQYXNzQ29sb3JBdHRhY2htZW50PiBjb2xvckF0dGFjaG1lbnRzOwogICAgIGZvciAoY29uc3Qg
YXV0byYgY29sb3JBdHRhY2htZW50IDogZGVzY3JpcHRvci5jb2xvckF0dGFjaG1lbnRzKSB7Ci0g
ICAgICAgIGNvbG9yQXR0YWNobWVudHMuYXBwZW5kKFdHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2ht
ZW50IHsKLSAgICAgICAgICAgIG1fY29udmVydFRvQmFja2luZ0NvbnRleHQtPmNvbnZlcnRUb0Jh
Y2tpbmcoY29sb3JBdHRhY2htZW50LnZpZXcpLAotICAgICAgICAgICAgY29sb3JBdHRhY2htZW50
LnJlc29sdmVUYXJnZXQgPyBtX2NvbnZlcnRUb0JhY2tpbmdDb250ZXh0LT5jb252ZXJ0VG9CYWNr
aW5nKCpjb2xvckF0dGFjaG1lbnQucmVzb2x2ZVRhcmdldCkgOiBudWxscHRyLAotICAgICAgICAg
ICAgc3RkOjpob2xkc19hbHRlcm5hdGl2ZTxMb2FkT3A+KGNvbG9yQXR0YWNobWVudC5sb2FkVmFs
dWUpID8gbV9jb252ZXJ0VG9CYWNraW5nQ29udGV4dC0+Y29udmVydFRvQmFja2luZyhzdGQ6Omdl
dDxMb2FkT3A+KGNvbG9yQXR0YWNobWVudC5sb2FkVmFsdWUpKSA6IFdHUFVMb2FkT3BfQ2xlYXIs
Ci0gICAgICAgICAgICBtX2NvbnZlcnRUb0JhY2tpbmdDb250ZXh0LT5jb252ZXJ0VG9CYWNraW5n
KGNvbG9yQXR0YWNobWVudC5zdG9yZU9wKSwKLSAgICAgICAgICAgIFdURjo6c3dpdGNoT24oY29s
b3JBdHRhY2htZW50LmxvYWRWYWx1ZSwgW10gKExvYWRPcCkgLT4gV0dQVUNvbG9yIHsKLSAgICAg
ICAgICAgICAgICByZXR1cm4geyAwLCAwLCAwLCAwIH07Ci0gICAgICAgICAgICB9LCBbXSAoY29u
c3QgVmVjdG9yPGRvdWJsZT4mIHZlY3RvcikgLT4gV0dQVUNvbG9yIHsKLSAgICAgICAgICAgICAg
ICByZXR1cm4gV0dQVUNvbG9yIHsKLSAgICAgICAgICAgICAgICAgICAgdmVjdG9yLnNpemUoKSA+
IDAgPyB2ZWN0b3JbMF0gOiAwLAotICAgICAgICAgICAgICAgICAgICB2ZWN0b3Iuc2l6ZSgpID4g
MSA/IHZlY3RvclsxXSA6IDAsCi0gICAgICAgICAgICAgICAgICAgIHZlY3Rvci5zaXplKCkgPiAy
ID8gdmVjdG9yWzJdIDogMCwKLSAgICAgICAgICAgICAgICAgICAgdmVjdG9yLnNpemUoKSA+IDMg
PyB2ZWN0b3JbM10gOiAwLAotICAgICAgICAgICAgICAgIH07Ci0gICAgICAgICAgICB9LCBbXSAo
Y29uc3QgQ29sb3JEaWN0JiBjb2xvcikgLT4gV0dQVUNvbG9yIHsKLSAgICAgICAgICAgICAgICBy
ZXR1cm4gV0dQVUNvbG9yIHsKLSAgICAgICAgICAgICAgICAgICAgY29sb3IuciwKLSAgICAgICAg
ICAgICAgICAgICAgY29sb3IuZywKLSAgICAgICAgICAgICAgICAgICAgY29sb3IuYiwKLSAgICAg
ICAgICAgICAgICAgICAgY29sb3IuYSwKLSAgICAgICAgICAgICAgICB9OwotICAgICAgICAgICAg
fSksCi0gICAgICAgIH0pOworICAgICAgICBpZiAoY29sb3JBdHRhY2htZW50KSB7CisgICAgICAg
ICAgICBjb2xvckF0dGFjaG1lbnRzLmFwcGVuZChXR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVu
dCB7CisgICAgICAgICAgICAgICAgbV9jb252ZXJ0VG9CYWNraW5nQ29udGV4dC0+Y29udmVydFRv
QmFja2luZyhjb2xvckF0dGFjaG1lbnQtPnZpZXcpLAorICAgICAgICAgICAgICAgIGNvbG9yQXR0
YWNobWVudC0+cmVzb2x2ZVRhcmdldCA/IG1fY29udmVydFRvQmFja2luZ0NvbnRleHQtPmNvbnZl
cnRUb0JhY2tpbmcoKmNvbG9yQXR0YWNobWVudC0+cmVzb2x2ZVRhcmdldCkgOiBudWxscHRyLAor
ICAgICAgICAgICAgICAgIG1fY29udmVydFRvQmFja2luZ0NvbnRleHQtPmNvbnZlcnRUb0JhY2tp
bmcoY29sb3JBdHRhY2htZW50LT5sb2FkT3ApLAorICAgICAgICAgICAgICAgIG1fY29udmVydFRv
QmFja2luZ0NvbnRleHQtPmNvbnZlcnRUb0JhY2tpbmcoY29sb3JBdHRhY2htZW50LT5zdG9yZU9w
KSwKKyAgICAgICAgICAgICAgICBjb2xvckF0dGFjaG1lbnQtPmNsZWFyVmFsdWUgPyBtX2NvbnZl
cnRUb0JhY2tpbmdDb250ZXh0LT5jb252ZXJ0VG9CYWNraW5nKCpjb2xvckF0dGFjaG1lbnQtPmNs
ZWFyVmFsdWUpIDogV0dQVUNvbG9yIHsgMCwgMCwgMCwgMCB9LAorICAgICAgICAgICAgfSk7Cisg
ICAgICAgIH0gZWxzZQorICAgICAgICAgICAgY29sb3JBdHRhY2htZW50cy5hcHBlbmQoeworICAg
ICAgICAgICAgICAgIG51bGxwdHIsCisgICAgICAgICAgICAgICAgbnVsbHB0ciwKKyAgICAgICAg
ICAgICAgICBXR1BVTG9hZE9wX0NsZWFyLAorICAgICAgICAgICAgICAgIFdHUFVTdG9yZU9wX0Rp
c2NhcmQsCisgICAgICAgICAgICAgICAgeyAwLCAwLCAwLCAwIH0sCisgICAgICAgICAgICB9KTsK
ICAgICB9CiAKICAgICBzdGQ6Om9wdGlvbmFsPFdHUFVSZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0
YWNobWVudD4gZGVwdGhTdGVuY2lsQXR0YWNobWVudDsKICAgICBpZiAoZGVzY3JpcHRvci5kZXB0
aFN0ZW5jaWxBdHRhY2htZW50KSB7CiAgICAgICAgIGRlcHRoU3RlbmNpbEF0dGFjaG1lbnQgPSBX
R1BVUmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQgewogICAgICAgICAgICAgbV9jb252
ZXJ0VG9CYWNraW5nQ29udGV4dC0+Y29udmVydFRvQmFja2luZyhkZXNjcmlwdG9yLmRlcHRoU3Rl
bmNpbEF0dGFjaG1lbnQtPnZpZXcpLAotICAgICAgICAgICAgc3RkOjpob2xkc19hbHRlcm5hdGl2
ZTxMb2FkT3A+KGRlc2NyaXB0b3IuZGVwdGhTdGVuY2lsQXR0YWNobWVudC0+ZGVwdGhMb2FkVmFs
dWUpID8gbV9jb252ZXJ0VG9CYWNraW5nQ29udGV4dC0+Y29udmVydFRvQmFja2luZyhzdGQ6Omdl
dDxMb2FkT3A+KGRlc2NyaXB0b3IuZGVwdGhTdGVuY2lsQXR0YWNobWVudC0+ZGVwdGhMb2FkVmFs
dWUpKSA6IFdHUFVMb2FkT3BfQ2xlYXIsCi0gICAgICAgICAgICBtX2NvbnZlcnRUb0JhY2tpbmdD
b250ZXh0LT5jb252ZXJ0VG9CYWNraW5nKGRlc2NyaXB0b3IuZGVwdGhTdGVuY2lsQXR0YWNobWVu
dC0+ZGVwdGhTdG9yZU9wKSwKLSAgICAgICAgICAgIFdURjo6c3dpdGNoT24oZGVzY3JpcHRvci5k
ZXB0aFN0ZW5jaWxBdHRhY2htZW50LT5kZXB0aExvYWRWYWx1ZSwgW10gKExvYWRPcCkgLT4gZmxv
YXQgewotICAgICAgICAgICAgICAgIHJldHVybiAwOwotICAgICAgICAgICAgfSwgW10gKGZsb2F0
IGNsZWFyRGVwdGgpIC0+IGZsb2F0IHsKLSAgICAgICAgICAgICAgICByZXR1cm4gY2xlYXJEZXB0
aDsKLSAgICAgICAgICAgIH0pLAorICAgICAgICAgICAgZGVzY3JpcHRvci5kZXB0aFN0ZW5jaWxB
dHRhY2htZW50LT5kZXB0aExvYWRPcCA/IG1fY29udmVydFRvQmFja2luZ0NvbnRleHQtPmNvbnZl
cnRUb0JhY2tpbmcoKmRlc2NyaXB0b3IuZGVwdGhTdGVuY2lsQXR0YWNobWVudC0+ZGVwdGhMb2Fk
T3ApIDogV0dQVUxvYWRPcF9DbGVhciwKKyAgICAgICAgICAgIGRlc2NyaXB0b3IuZGVwdGhTdGVu
Y2lsQXR0YWNobWVudC0+ZGVwdGhTdG9yZU9wID8gbV9jb252ZXJ0VG9CYWNraW5nQ29udGV4dC0+
Y29udmVydFRvQmFja2luZygqZGVzY3JpcHRvci5kZXB0aFN0ZW5jaWxBdHRhY2htZW50LT5kZXB0
aFN0b3JlT3ApIDogV0dQVVN0b3JlT3BfRGlzY2FyZCwKKyAgICAgICAgICAgIGRlc2NyaXB0b3Iu
ZGVwdGhTdGVuY2lsQXR0YWNobWVudC0+ZGVwdGhDbGVhclZhbHVlLAogICAgICAgICAgICAgZGVz
Y3JpcHRvci5kZXB0aFN0ZW5jaWxBdHRhY2htZW50LT5kZXB0aFJlYWRPbmx5LAotICAgICAgICAg
ICAgc3RkOjpob2xkc19hbHRlcm5hdGl2ZTxMb2FkT3A+KGRlc2NyaXB0b3IuZGVwdGhTdGVuY2ls
QXR0YWNobWVudC0+c3RlbmNpbExvYWRWYWx1ZSkgPyBtX2NvbnZlcnRUb0JhY2tpbmdDb250ZXh0
LT5jb252ZXJ0VG9CYWNraW5nKHN0ZDo6Z2V0PExvYWRPcD4oZGVzY3JpcHRvci5kZXB0aFN0ZW5j
aWxBdHRhY2htZW50LT5zdGVuY2lsTG9hZFZhbHVlKSkgOiBXR1BVTG9hZE9wX0NsZWFyLAotICAg
ICAgICAgICAgbV9jb252ZXJ0VG9CYWNraW5nQ29udGV4dC0+Y29udmVydFRvQmFja2luZyhkZXNj
cmlwdG9yLmRlcHRoU3RlbmNpbEF0dGFjaG1lbnQtPnN0ZW5jaWxTdG9yZU9wKSwKLSAgICAgICAg
ICAgIFdURjo6c3dpdGNoT24oZGVzY3JpcHRvci5kZXB0aFN0ZW5jaWxBdHRhY2htZW50LT5zdGVu
Y2lsTG9hZFZhbHVlLCBbXSAoTG9hZE9wKSAtPiB1aW50MzJfdCB7Ci0gICAgICAgICAgICAgICAg
cmV0dXJuIDA7Ci0gICAgICAgICAgICB9LCBbXSAoU3RlbmNpbFZhbHVlIGNsZWFyU3RlbmNpbCkg
LT4gdWludDMyX3QgewotICAgICAgICAgICAgICAgIHJldHVybiBjbGVhclN0ZW5jaWw7Ci0gICAg
ICAgICAgICB9KSwKKyAgICAgICAgICAgIGRlc2NyaXB0b3IuZGVwdGhTdGVuY2lsQXR0YWNobWVu
dC0+c3RlbmNpbExvYWRPcCA/IG1fY29udmVydFRvQmFja2luZ0NvbnRleHQtPmNvbnZlcnRUb0Jh
Y2tpbmcoKmRlc2NyaXB0b3IuZGVwdGhTdGVuY2lsQXR0YWNobWVudC0+c3RlbmNpbExvYWRPcCkg
OiBXR1BVTG9hZE9wX0NsZWFyLAorICAgICAgICAgICAgZGVzY3JpcHRvci5kZXB0aFN0ZW5jaWxB
dHRhY2htZW50LT5zdGVuY2lsU3RvcmVPcCA/IG1fY29udmVydFRvQmFja2luZ0NvbnRleHQtPmNv
bnZlcnRUb0JhY2tpbmcoKmRlc2NyaXB0b3IuZGVwdGhTdGVuY2lsQXR0YWNobWVudC0+c3RlbmNp
bFN0b3JlT3ApIDogV0dQVVN0b3JlT3BfRGlzY2FyZCwKKyAgICAgICAgICAgIGRlc2NyaXB0b3Iu
ZGVwdGhTdGVuY2lsQXR0YWNobWVudC0+c3RlbmNpbENsZWFyVmFsdWUsCiAgICAgICAgICAgICBk
ZXNjcmlwdG9yLmRlcHRoU3RlbmNpbEF0dGFjaG1lbnQtPnN0ZW5jaWxSZWFkT25seSwKICAgICAg
ICAgfTsKICAgICB9CiAKLSAgICBhdXRvIGxhYmVsID0gZGVzY3JpcHRvci5sYWJlbC51dGY4KCk7
CisgICAgVmVjdG9yPFdHUFVSZW5kZXJQYXNzVGltZXN0YW1wV3JpdGU+IHRpbWVzdGFtcFdyaXRl
czsKKyAgICBmb3IgKGNvbnN0IGF1dG8mIHRpbWVzdGFtcFdyaXRlIDogZGVzY3JpcHRvci50aW1l
c3RhbXBXcml0ZXMpIHsKKyAgICAgICAgdGltZXN0YW1wV3JpdGVzLmFwcGVuZChXR1BVUmVuZGVy
UGFzc1RpbWVzdGFtcFdyaXRlIHsKKyAgICAgICAgICAgIG1fY29udmVydFRvQmFja2luZ0NvbnRl
eHQtPmNvbnZlcnRUb0JhY2tpbmcodGltZXN0YW1wV3JpdGUucXVlcnlTZXQpLAorICAgICAgICAg
ICAgdGltZXN0YW1wV3JpdGUucXVlcnlJbmRleCwKKyAgICAgICAgICAgIG1fY29udmVydFRvQmFj
a2luZ0NvbnRleHQtPmNvbnZlcnRUb0JhY2tpbmcodGltZXN0YW1wV3JpdGUubG9jYXRpb24pLAor
ICAgICAgICB9KTsKKyAgICB9CiAKICAgICBXR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IgYmFja2lu
Z0Rlc2NyaXB0b3IgewogICAgICAgICBudWxscHRyLApAQCAtMTEyLDYgKzEwNiw4IEBAIFJlZjxS
ZW5kZXJQYXNzRW5jb2Rlcj4gQ29tbWFuZEVuY29kZXJJbXBsOjpiZWdpblJlbmRlclBhc3MoY29u
c3QgUmVuZGVyUGFzc0Rlc2NyCiAgICAgICAgIGNvbG9yQXR0YWNobWVudHMuZGF0YSgpLAogICAg
ICAgICBkZXB0aFN0ZW5jaWxBdHRhY2htZW50ID8gJmRlcHRoU3RlbmNpbEF0dGFjaG1lbnQudmFs
dWUoKSA6IG51bGxwdHIsCiAgICAgICAgIGRlc2NyaXB0b3Iub2NjbHVzaW9uUXVlcnlTZXQgPyBt
X2NvbnZlcnRUb0JhY2tpbmdDb250ZXh0LT5jb252ZXJ0VG9CYWNraW5nKCpkZXNjcmlwdG9yLm9j
Y2x1c2lvblF1ZXJ5U2V0KSA6IG51bGxwdHIsCisgICAgICAgIHN0YXRpY19jYXN0PHVpbnQzMl90
Pih0aW1lc3RhbXBXcml0ZXMuc2l6ZSgpKSwKKyAgICAgICAgdGltZXN0YW1wV3JpdGVzLmRhdGEo
KSwKICAgICB9OwogCiAgICAgcmV0dXJuIFJlbmRlclBhc3NFbmNvZGVySW1wbDo6Y3JlYXRlKHdn
cHVDb21tYW5kRW5jb2RlckJlZ2luUmVuZGVyUGFzcyhtX2JhY2tpbmcsICZiYWNraW5nRGVzY3Jp
cHRvciksIG1fY29udmVydFRvQmFja2luZ0NvbnRleHQpOwpAQCAtMTIxLDkgKzExNywyMiBAQCBS
ZWY8Q29tcHV0ZVBhc3NFbmNvZGVyPiBDb21tYW5kRW5jb2RlckltcGw6OmJlZ2luQ29tcHV0ZVBh
c3MoY29uc3Qgc3RkOjpvcHRpb25hbAogewogICAgIENTdHJpbmcgbGFiZWwgPSBkZXNjcmlwdG9y
ID8gZGVzY3JpcHRvci0+bGFiZWwudXRmOCgpIDogQ1N0cmluZygiIik7CiAKKyAgICBWZWN0b3I8
V0dQVUNvbXB1dGVQYXNzVGltZXN0YW1wV3JpdGU+IHRpbWVzdGFtcFdyaXRlczsKKyAgICBpZiAo
ZGVzY3JpcHRvcikgeworICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIHRpbWVzdGFtcFdyaXRlIDog
ZGVzY3JpcHRvci0+dGltZXN0YW1wV3JpdGVzKSB7CisgICAgICAgICAgICB0aW1lc3RhbXBXcml0
ZXMuYXBwZW5kKFdHUFVDb21wdXRlUGFzc1RpbWVzdGFtcFdyaXRlIHsKKyAgICAgICAgICAgICAg
ICBtX2NvbnZlcnRUb0JhY2tpbmdDb250ZXh0LT5jb252ZXJ0VG9CYWNraW5nKHRpbWVzdGFtcFdy
aXRlLnF1ZXJ5U2V0KSwKKyAgICAgICAgICAgICAgICB0aW1lc3RhbXBXcml0ZS5xdWVyeUluZGV4
LAorICAgICAgICAgICAgICAgIG1fY29udmVydFRvQmFja2luZ0NvbnRleHQtPmNvbnZlcnRUb0Jh
Y2tpbmcodGltZXN0YW1wV3JpdGUubG9jYXRpb24pLAorICAgICAgICAgICAgfSk7CisgICAgICAg
IH0KKyAgICB9CisKICAgICBXR1BVQ29tcHV0ZVBhc3NEZXNjcmlwdG9yIGJhY2tpbmdEZXNjcmlw
dG9yIHsKICAgICAgICAgbnVsbHB0ciwKICAgICAgICAgbGFiZWwuZGF0YSgpLAorICAgICAgICBz
dGF0aWNfY2FzdDx1aW50MzJfdD4odGltZXN0YW1wV3JpdGVzLnNpemUoKSksCisgICAgICAgIHRp
bWVzdGFtcFdyaXRlcy5kYXRhKCksCiAgICAgfTsKIAogICAgIHJldHVybiBDb21wdXRlUGFzc0Vu
Y29kZXJJbXBsOjpjcmVhdGUod2dwdUNvbW1hbmRFbmNvZGVyQmVnaW5Db21wdXRlUGFzcyhtX2Jh
Y2tpbmcsICZiYWNraW5nRGVzY3JpcHRvciksIG1fY29udmVydFRvQmFja2luZ0NvbnRleHQpOwpA
QCAtMjIxLDEyICsyMzAsMTIgQEAgdm9pZCBDb21tYW5kRW5jb2RlckltcGw6OmNvcHlUZXh0dXJl
VG9UZXh0dXJlKAogICAgIHdncHVDb21tYW5kRW5jb2RlckNvcHlUZXh0dXJlVG9UZXh0dXJlKG1f
YmFja2luZywgJmJhY2tpbmdTb3VyY2UsICZiYWNraW5nRGVzdGluYXRpb24sICZiYWNraW5nQ29w
eVNpemUpOwogfQogCi12b2lkIENvbW1hbmRFbmNvZGVySW1wbDo6ZmlsbEJ1ZmZlcigKLSAgICBj
b25zdCBCdWZmZXImIGRlc3RpbmF0aW9uLAotICAgIFNpemU2NCBkZXN0aW5hdGlvbk9mZnNldCwK
LSAgICBTaXplNjQgc2l6ZSkKK3ZvaWQgQ29tbWFuZEVuY29kZXJJbXBsOjpjbGVhckJ1ZmZlcigK
KyAgICBjb25zdCBCdWZmZXImIGJ1ZmZlciwKKyAgICBTaXplNjQgb2Zmc2V0LAorICAgIHN0ZDo6
b3B0aW9uYWw8U2l6ZTY0PiBzaXplKQogewotICAgIHdncHVDb21tYW5kRW5jb2RlckZpbGxCdWZm
ZXIobV9iYWNraW5nLCBtX2NvbnZlcnRUb0JhY2tpbmdDb250ZXh0LT5jb252ZXJ0VG9CYWNraW5n
KGRlc3RpbmF0aW9uKSwgZGVzdGluYXRpb25PZmZzZXQsIHNpemUpOworICAgIHdncHVDb21tYW5k
RW5jb2RlckNsZWFyQnVmZmVyKG1fYmFja2luZywgbV9jb252ZXJ0VG9CYWNraW5nQ29udGV4dC0+
Y29udmVydFRvQmFja2luZyhidWZmZXIpLCBvZmZzZXQsIHNpemUudmFsdWVfb3IoV0dQVV9XSE9M
RV9TSVpFKSk7CiB9CiAKIHZvaWQgQ29tbWFuZEVuY29kZXJJbXBsOjpwdXNoRGVidWdHcm91cChT
dHJpbmcmJiBncm91cExhYmVsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9n
cmFwaGljcy9XZWJHUFUvSW1wbC9XZWJHUFVDb21tYW5kRW5jb2RlckltcGwuaCBiL1NvdXJjZS9X
ZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwvV2ViR1BVQ29tbWFuZEVuY29kZXJJ
bXBsLmgKaW5kZXggYWQ2MGFjMDJiMWFkNmUyNDA4OTRiOWQ1YTI5MTBiYmJkNDM2MTFhOS4uMTcx
N2FkZDNiYzk4MGFjNTQ4NmFkNzNhMzkyOTE1YjQ4YWQ5NjIwYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9XZWJHUFVDb21tYW5kRW5jb2Rl
ckltcGwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBs
L1dlYkdQVUNvbW1hbmRFbmNvZGVySW1wbC5oCkBAIC04MSwxMCArODEsMTAgQEAgcHJpdmF0ZToK
ICAgICAgICAgY29uc3QgSW1hZ2VDb3B5VGV4dHVyZSYgZGVzdGluYXRpb24sCiAgICAgICAgIGNv
bnN0IEV4dGVudDNEJiBjb3B5U2l6ZSkgZmluYWw7CiAKLSAgICB2b2lkIGZpbGxCdWZmZXIoCi0g
ICAgICAgIGNvbnN0IEJ1ZmZlciYgZGVzdGluYXRpb24sCi0gICAgICAgIFNpemU2NCBkZXN0aW5h
dGlvbk9mZnNldCwKLSAgICAgICAgU2l6ZTY0KSBmaW5hbDsKKyAgICB2b2lkIGNsZWFyQnVmZmVy
KAorICAgICAgICBjb25zdCBCdWZmZXImLAorICAgICAgICBTaXplNjQgb2Zmc2V0LAorICAgICAg
ICBzdGQ6Om9wdGlvbmFsPFNpemU2ND4pIGZpbmFsOwogCiAgICAgdm9pZCBwdXNoRGVidWdHcm91
cChTdHJpbmcmJiBncm91cExhYmVsKSBmaW5hbDsKICAgICB2b2lkIHBvcERlYnVnR3JvdXAoKSBm
aW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BV
L0ltcGwvV2ViR1BVQ29tcHV0ZVBhc3NFbmNvZGVySW1wbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Q
QUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVUNvbXB1dGVQYXNzRW5jb2RlckltcGwu
Y3BwCmluZGV4IGVkZDU5ZDY1OTc2ZjA0YTdjMWIzN2ZkMWFiYjA4ZDU0YmU0Zjc2MTcuLjJkZGVl
YjQ5ZGVlNGE2ODhiMjYxMjIxOGI0NDUwODk3MzIzODQ0NzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwvV2ViR1BVQ29tcHV0ZVBhc3NFbmNv
ZGVySW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUv
SW1wbC9XZWJHUFVDb21wdXRlUGFzc0VuY29kZXJJbXBsLmNwcApAQCAtNTMsOSArNTMsOSBAQCB2
b2lkIENvbXB1dGVQYXNzRW5jb2RlckltcGw6OnNldFBpcGVsaW5lKGNvbnN0IENvbXB1dGVQaXBl
bGluZSYgY29tcHV0ZVBpcGVsaW5lKQogICAgIHdncHVDb21wdXRlUGFzc0VuY29kZXJTZXRQaXBl
bGluZShtX2JhY2tpbmcsIG1fY29udmVydFRvQmFja2luZ0NvbnRleHQtPmNvbnZlcnRUb0JhY2tp
bmcoY29tcHV0ZVBpcGVsaW5lKSk7CiB9CiAKLXZvaWQgQ29tcHV0ZVBhc3NFbmNvZGVySW1wbDo6
ZGlzcGF0Y2goU2l6ZTMyIHgsIHN0ZDo6b3B0aW9uYWw8U2l6ZTMyPiB5LCBzdGQ6Om9wdGlvbmFs
PFNpemUzMj4geikKK3ZvaWQgQ29tcHV0ZVBhc3NFbmNvZGVySW1wbDo6ZGlzcGF0Y2goU2l6ZTMy
IHdvcmtncm91cENvdW50WCwgU2l6ZTMyIHdvcmtncm91cENvdW50WSwgU2l6ZTMyIHdvcmtncm91
cENvdW50WikKIHsKLSAgICB3Z3B1Q29tcHV0ZVBhc3NFbmNvZGVyRGlzcGF0Y2gobV9iYWNraW5n
LCB4LCB5LnZhbHVlX29yKDEpLCB6LnZhbHVlX29yKDEpKTsKKyAgICB3Z3B1Q29tcHV0ZVBhc3NF
bmNvZGVyRGlzcGF0Y2gobV9iYWNraW5nLCB3b3JrZ3JvdXBDb3VudFgsIHdvcmtncm91cENvdW50
WSwgd29ya2dyb3VwQ291bnRaKTsKIH0KIAogdm9pZCBDb21wdXRlUGFzc0VuY29kZXJJbXBsOjpk
aXNwYXRjaEluZGlyZWN0KGNvbnN0IEJ1ZmZlciYgaW5kaXJlY3RCdWZmZXIsIFNpemU2NCBpbmRp
cmVjdE9mZnNldCkKQEAgLTYzLDE3ICs2Myw3IEBAIHZvaWQgQ29tcHV0ZVBhc3NFbmNvZGVySW1w
bDo6ZGlzcGF0Y2hJbmRpcmVjdChjb25zdCBCdWZmZXImIGluZGlyZWN0QnVmZmVyLCBTaXplCiAg
ICAgd2dwdUNvbXB1dGVQYXNzRW5jb2RlckRpc3BhdGNoSW5kaXJlY3QobV9iYWNraW5nLCBtX2Nv
bnZlcnRUb0JhY2tpbmdDb250ZXh0LT5jb252ZXJ0VG9CYWNraW5nKGluZGlyZWN0QnVmZmVyKSwg
aW5kaXJlY3RPZmZzZXQpOwogfQogCi12b2lkIENvbXB1dGVQYXNzRW5jb2RlckltcGw6OmJlZ2lu
UGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkoY29uc3QgUXVlcnlTZXQmIHF1ZXJ5U2V0LCBTaXplMzIg
cXVlcnlJbmRleCkKLXsKLSAgICB3Z3B1Q29tcHV0ZVBhc3NFbmNvZGVyQmVnaW5QaXBlbGluZVN0
YXRpc3RpY3NRdWVyeShtX2JhY2tpbmcsIG1fY29udmVydFRvQmFja2luZ0NvbnRleHQtPmNvbnZl
cnRUb0JhY2tpbmcocXVlcnlTZXQpLCBxdWVyeUluZGV4KTsKLX0KLQotdm9pZCBDb21wdXRlUGFz
c0VuY29kZXJJbXBsOjplbmRQaXBlbGluZVN0YXRpc3RpY3NRdWVyeSgpCi17Ci0gICAgd2dwdUNv
bXB1dGVQYXNzRW5jb2RlckVuZFBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KG1fYmFja2luZyk7Ci19
Ci0KLXZvaWQgQ29tcHV0ZVBhc3NFbmNvZGVySW1wbDo6ZW5kUGFzcygpCit2b2lkIENvbXB1dGVQ
YXNzRW5jb2RlckltcGw6OmVuZCgpCiB7CiAgICAgd2dwdUNvbXB1dGVQYXNzRW5jb2RlckVuZFBh
c3MobV9iYWNraW5nKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3Jh
cGhpY3MvV2ViR1BVL0ltcGwvV2ViR1BVQ29tcHV0ZVBhc3NFbmNvZGVySW1wbC5oIGIvU291cmNl
L1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9XZWJHUFVDb21wdXRlUGFzc0Vu
Y29kZXJJbXBsLmgKaW5kZXggNTI4OGI1YjhjMGRiZTdhNjEwZWIxMTY1MzE1NWYzM2NhMTUzZDUx
My4uMGYzNjYxZDk5YmVkYjRmYzI0OTE4MWRhYzQ3ZjYzYTc1NDIyZjNkMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9XZWJHUFVDb21wdXRl
UGFzc0VuY29kZXJJbXBsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9X
ZWJHUFUvSW1wbC9XZWJHUFVDb21wdXRlUGFzc0VuY29kZXJJbXBsLmgKQEAgLTU3LDEzICs1Nywx
MCBAQCBwcml2YXRlOgogICAgIFdHUFVDb21wdXRlUGFzc0VuY29kZXIgYmFja2luZygpIGNvbnN0
IHsgcmV0dXJuIG1fYmFja2luZzsgfQogCiAgICAgdm9pZCBzZXRQaXBlbGluZShjb25zdCBDb21w
dXRlUGlwZWxpbmUmKSBmaW5hbDsKLSAgICB2b2lkIGRpc3BhdGNoKFNpemUzMiB4LCBzdGQ6Om9w
dGlvbmFsPFNpemUzMj4geSwgc3RkOjpvcHRpb25hbDxTaXplMzI+KSBmaW5hbDsKKyAgICB2b2lk
IGRpc3BhdGNoKFNpemUzMiB3b3JrZ3JvdXBDb3VudFgsIFNpemUzMiB3b3JrZ3JvdXBDb3VudFks
IFNpemUzMiB3b3JrZ3JvdXBDb3VudFopIGZpbmFsOwogICAgIHZvaWQgZGlzcGF0Y2hJbmRpcmVj
dChjb25zdCBCdWZmZXImIGluZGlyZWN0QnVmZmVyLCBTaXplNjQgaW5kaXJlY3RPZmZzZXQpIGZp
bmFsOwogCi0gICAgdm9pZCBiZWdpblBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KGNvbnN0IFF1ZXJ5
U2V0JiwgU2l6ZTMyIHF1ZXJ5SW5kZXgpIGZpbmFsOwotICAgIHZvaWQgZW5kUGlwZWxpbmVTdGF0
aXN0aWNzUXVlcnkoKSBmaW5hbDsKLQotICAgIHZvaWQgZW5kUGFzcygpIGZpbmFsOworICAgIHZv
aWQgZW5kKCkgZmluYWw7CiAKICAgICB2b2lkIHNldEJpbmRHcm91cChJbmRleDMyLCBjb25zdCBC
aW5kR3JvdXAmLAogICAgICAgICBzdGQ6Om9wdGlvbmFsPFZlY3RvcjxCdWZmZXJEeW5hbWljT2Zm
c2V0Pj4mJikgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBo
aWNzL1dlYkdQVS9JbXBsL1dlYkdQVUNvbnZlcnRUb0JhY2tpbmdDb250ZXh0LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwvV2ViR1BVQ29udmVydFRvQmFj
a2luZ0NvbnRleHQuY3BwCmluZGV4IDBmYmZiNGVjZDZiNjVjNDQxZjcxNTQzM2QyYzY1MDlkOGRl
NDIzYWEuLjc1Zjk3YzIzM2E1MWU1ZTkwOGI5YzVkZjliMGI3ZDUwNzc3Yzg2N2QgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwvV2ViR1BVQ29u
dmVydFRvQmFja2luZ0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3Jh
cGhpY3MvV2ViR1BVL0ltcGwvV2ViR1BVQ29udmVydFRvQmFja2luZ0NvbnRleHQuY3BwCkBAIC0z
NCw2ICszNCw3IEBACiAjaW5jbHVkZSAiV2ViR1BVQnVmZmVyQmluZGluZ1R5cGUuaCIKICNpbmNs
dWRlICJXZWJHUFVDb21wYXJlRnVuY3Rpb24uaCIKICNpbmNsdWRlICJXZWJHUFVDb21waWxhdGlv
bk1lc3NhZ2VUeXBlLmgiCisjaW5jbHVkZSAiV2ViR1BVQ29tcHV0ZVBhc3NUaW1lc3RhbXBMb2Nh
dGlvbi5oIgogI2luY2x1ZGUgIldlYkdQVUN1bGxNb2RlLmgiCiAjaW5jbHVkZSAiV2ViR1BVRXJy
b3JGaWx0ZXIuaCIKICNpbmNsdWRlICJXZWJHUFVGZWF0dXJlTmFtZS5oIgpAQCAtNDEsMTAgKzQy
LDEwIEBACiAjaW5jbHVkZSAiV2ViR1BVRnJvbnRGYWNlLmgiCiAjaW5jbHVkZSAiV2ViR1BVSW5k
ZXhGb3JtYXQuaCIKICNpbmNsdWRlICJXZWJHUFVMb2FkT3AuaCIKLSNpbmNsdWRlICJXZWJHUFVQ
aXBlbGluZVN0YXRpc3RpY05hbWUuaCIKICNpbmNsdWRlICJXZWJHUFVQb3dlclByZWZlcmVuY2Uu
aCIKICNpbmNsdWRlICJXZWJHUFVQcmltaXRpdmVUb3BvbG9neS5oIgogI2luY2x1ZGUgIldlYkdQ
VVF1ZXJ5VHlwZS5oIgorI2luY2x1ZGUgIldlYkdQVVJlbmRlclBhc3NUaW1lc3RhbXBMb2NhdGlv
bi5oIgogI2luY2x1ZGUgIldlYkdQVVNhbXBsZXJCaW5kaW5nVHlwZS5oIgogI2luY2x1ZGUgIldl
YkdQVVN0ZW5jaWxPcGVyYXRpb24uaCIKICNpbmNsdWRlICJXZWJHUFVTdG9yYWdlVGV4dHVyZUFj
Y2Vzcy5oIgpAQCAtMTY2LDYgKzE2NywxNiBAQCBXR1BVQ29tcGlsYXRpb25NZXNzYWdlVHlwZSBD
b252ZXJ0VG9CYWNraW5nQ29udGV4dDo6Y29udmVydFRvQmFja2luZyhDb21waWxhdGlvbgogICAg
IH0KIH0KIAorV0dQVUNvbXB1dGVQYXNzVGltZXN0YW1wTG9jYXRpb24gQ29udmVydFRvQmFja2lu
Z0NvbnRleHQ6OmNvbnZlcnRUb0JhY2tpbmcoQ29tcHV0ZVBhc3NUaW1lc3RhbXBMb2NhdGlvbiBj
b21wdXRlUGFzc1RpbWVzdGFtcExvY2F0aW9uKQoreworICAgIHN3aXRjaCAoY29tcHV0ZVBhc3NU
aW1lc3RhbXBMb2NhdGlvbikgeworICAgIGNhc2UgQ29tcHV0ZVBhc3NUaW1lc3RhbXBMb2NhdGlv
bjo6QmVnaW5uaW5nOgorICAgICAgICByZXR1cm4gV0dQVUNvbXB1dGVQYXNzVGltZXN0YW1wTG9j
YXRpb25fQmVnaW5uaW5nOworICAgIGNhc2UgQ29tcHV0ZVBhc3NUaW1lc3RhbXBMb2NhdGlvbjo6
RW5kOgorICAgICAgICByZXR1cm4gV0dQVUNvbXB1dGVQYXNzVGltZXN0YW1wTG9jYXRpb25fRW5k
OworICAgIH0KK30KKwogV0dQVUN1bGxNb2RlIENvbnZlcnRUb0JhY2tpbmdDb250ZXh0Ojpjb252
ZXJ0VG9CYWNraW5nKEN1bGxNb2RlIGN1bGxNb2RlKQogewogICAgIHN3aXRjaCAoY3VsbE1vZGUp
IHsKQEAgLTE5Nyw4ICsyMDgsNiBAQCBXR1BVRmVhdHVyZU5hbWUgQ29udmVydFRvQmFja2luZ0Nv
bnRleHQ6OmNvbnZlcnRUb0JhY2tpbmcoRmVhdHVyZU5hbWUgZmVhdHVyZU5hbQogICAgICAgICBy
ZXR1cm4gV0dQVUZlYXR1cmVOYW1lX0RlcHRoMjRVbm9ybVN0ZW5jaWw4OwogICAgIGNhc2UgRmVh
dHVyZU5hbWU6OkRlcHRoMzJmbG9hdFN0ZW5jaWw4OgogICAgICAgICByZXR1cm4gV0dQVUZlYXR1
cmVOYW1lX0RlcHRoMzJGbG9hdFN0ZW5jaWw4OwotICAgIGNhc2UgRmVhdHVyZU5hbWU6OlBpcGVs
aW5lU3RhdGlzdGljc1F1ZXJ5OgotICAgICAgICByZXR1cm4gV0dQVUZlYXR1cmVOYW1lX1BpcGVs
aW5lU3RhdGlzdGljc1F1ZXJ5OwogICAgIGNhc2UgRmVhdHVyZU5hbWU6OlRleHR1cmVDb21wcmVz
c2lvbkJjOgogICAgICAgICByZXR1cm4gV0dQVUZlYXR1cmVOYW1lX1RleHR1cmVDb21wcmVzc2lv
bkJDOwogICAgIGNhc2UgRmVhdHVyZU5hbWU6OlRleHR1cmVDb21wcmVzc2lvbkV0YzI6CkBAIC0y
NDcsMjIgKzI1Niw4IEBAIFdHUFVMb2FkT3AgQ29udmVydFRvQmFja2luZ0NvbnRleHQ6OmNvbnZl
cnRUb0JhY2tpbmcoTG9hZE9wIGxvYWRPcCkKICAgICBzd2l0Y2ggKGxvYWRPcCkgewogICAgIGNh
c2UgTG9hZE9wOjpMb2FkOgogICAgICAgICByZXR1cm4gV0dQVUxvYWRPcF9Mb2FkOwotICAgIH0K
LX0KLQotV0dQVVBpcGVsaW5lU3RhdGlzdGljTmFtZSBDb252ZXJ0VG9CYWNraW5nQ29udGV4dDo6
Y29udmVydFRvQmFja2luZyhQaXBlbGluZVN0YXRpc3RpY05hbWUgcGlwZWxpbmVTdGF0aXN0aWNO
YW1lKQotewotICAgIHN3aXRjaCAocGlwZWxpbmVTdGF0aXN0aWNOYW1lKSB7Ci0gICAgY2FzZSBQ
aXBlbGluZVN0YXRpc3RpY05hbWU6OlZlcnRleFNoYWRlckludm9jYXRpb25zOgotICAgICAgICBy
ZXR1cm4gV0dQVVBpcGVsaW5lU3RhdGlzdGljTmFtZV9WZXJ0ZXhTaGFkZXJJbnZvY2F0aW9uczsK
LSAgICBjYXNlIFBpcGVsaW5lU3RhdGlzdGljTmFtZTo6Q2xpcHBlckludm9jYXRpb25zOgotICAg
ICAgICByZXR1cm4gV0dQVVBpcGVsaW5lU3RhdGlzdGljTmFtZV9DbGlwcGVySW52b2NhdGlvbnM7
Ci0gICAgY2FzZSBQaXBlbGluZVN0YXRpc3RpY05hbWU6OkNsaXBwZXJQcmltaXRpdmVzT3V0Ogot
ICAgICAgICByZXR1cm4gV0dQVVBpcGVsaW5lU3RhdGlzdGljTmFtZV9DbGlwcGVyUHJpbWl0aXZl
c091dDsKLSAgICBjYXNlIFBpcGVsaW5lU3RhdGlzdGljTmFtZTo6RnJhZ21lbnRTaGFkZXJJbnZv
Y2F0aW9uczoKLSAgICAgICAgcmV0dXJuIFdHUFVQaXBlbGluZVN0YXRpc3RpY05hbWVfRnJhZ21l
bnRTaGFkZXJJbnZvY2F0aW9uczsKLSAgICBjYXNlIFBpcGVsaW5lU3RhdGlzdGljTmFtZTo6Q29t
cHV0ZVNoYWRlckludm9jYXRpb25zOgotICAgICAgICByZXR1cm4gV0dQVVBpcGVsaW5lU3RhdGlz
dGljTmFtZV9Db21wdXRlU2hhZGVySW52b2NhdGlvbnM7CisgICAgY2FzZSBMb2FkT3A6OkNsZWFy
OgorICAgICAgICByZXR1cm4gV0dQVUxvYWRPcF9DbGVhcjsKICAgICB9CiB9CiAKQEAgLTI5Nywx
MyArMjkyLDIxIEBAIFdHUFVRdWVyeVR5cGUgQ29udmVydFRvQmFja2luZ0NvbnRleHQ6OmNvbnZl
cnRUb0JhY2tpbmcoUXVlcnlUeXBlIHF1ZXJ5VHlwZSkKICAgICBzd2l0Y2ggKHF1ZXJ5VHlwZSkg
ewogICAgIGNhc2UgUXVlcnlUeXBlOjpPY2NsdXNpb246CiAgICAgICAgIHJldHVybiBXR1BVUXVl
cnlUeXBlX09jY2x1c2lvbjsKLSAgICBjYXNlIFF1ZXJ5VHlwZTo6UGlwZWxpbmVTdGF0aXN0aWNz
OgotICAgICAgICByZXR1cm4gV0dQVVF1ZXJ5VHlwZV9QaXBlbGluZVN0YXRpc3RpY3M7CiAgICAg
Y2FzZSBRdWVyeVR5cGU6OlRpbWVzdGFtcDoKICAgICAgICAgcmV0dXJuIFdHUFVRdWVyeVR5cGVf
VGltZXN0YW1wOwogICAgIH0KIH0KIAorV0dQVVJlbmRlclBhc3NUaW1lc3RhbXBMb2NhdGlvbiBD
b252ZXJ0VG9CYWNraW5nQ29udGV4dDo6Y29udmVydFRvQmFja2luZyhSZW5kZXJQYXNzVGltZXN0
YW1wTG9jYXRpb24gcmVuZGVyUGFzc1RpbWVzdGFtcExvY2F0aW9uKQoreworICAgIHN3aXRjaCAo
cmVuZGVyUGFzc1RpbWVzdGFtcExvY2F0aW9uKSB7CisgICAgY2FzZSBSZW5kZXJQYXNzVGltZXN0
YW1wTG9jYXRpb246OkJlZ2lubmluZzoKKyAgICAgICAgcmV0dXJuIFdHUFVSZW5kZXJQYXNzVGlt
ZXN0YW1wTG9jYXRpb25fQmVnaW5uaW5nOworICAgIGNhc2UgUmVuZGVyUGFzc1RpbWVzdGFtcExv
Y2F0aW9uOjpFbmQ6CisgICAgICAgIHJldHVybiBXR1BVUmVuZGVyUGFzc1RpbWVzdGFtcExvY2F0
aW9uX0VuZDsKKyAgICB9Cit9CisKIFdHUFVTYW1wbGVyQmluZGluZ1R5cGUgQ29udmVydFRvQmFj
a2luZ0NvbnRleHQ6OmNvbnZlcnRUb0JhY2tpbmcoU2FtcGxlckJpbmRpbmdUeXBlIHNhbXBsZXJC
aW5kaW5nVHlwZSkKIHsKICAgICBzd2l0Y2ggKHNhbXBsZXJCaW5kaW5nVHlwZSkgewpAQCAtNDk2
LDExICs0OTksMTEgQEAgV0dQVVRleHR1cmVGb3JtYXQgQ29udmVydFRvQmFja2luZ0NvbnRleHQ6
OmNvbnZlcnRUb0JhY2tpbmcoVGV4dHVyZUZvcm1hdCB0ZXh0dXIKICAgICBjYXNlIFRleHR1cmVG
b3JtYXQ6OkV0YzJSZ2I4dW5vcm06CiAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxXR1BVVGV4
dHVyZUZvcm1hdD4oV0dQVVRleHR1cmVGb3JtYXRfRVRDMlJHQjhVbm9ybSk7CiAgICAgY2FzZSBU
ZXh0dXJlRm9ybWF0OjpFdGMyUmdiOHVub3JtU1JHQjoKLSAgICAgICAgcmV0dXJuIHN0YXRpY19j
YXN0PFdHUFVUZXh0dXJlRm9ybWF0PihXR1BVVGV4dHVyZUZvcm1hdF9FVEMyUkdCOHVub3JtU3Jn
Yik7CisgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxXR1BVVGV4dHVyZUZvcm1hdD4oV0dQVVRl
eHR1cmVGb3JtYXRfRVRDMlJHQjhVbm9ybVNyZ2IpOwogICAgIGNhc2UgVGV4dHVyZUZvcm1hdDo6
RXRjMlJnYjhhMXVub3JtOgotICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8V0dQVVRleHR1cmVG
b3JtYXQ+KFdHUFVUZXh0dXJlRm9ybWF0X0VUQzJSR0I4YTFVbm9ybSk7CisgICAgICAgIHJldHVy
biBzdGF0aWNfY2FzdDxXR1BVVGV4dHVyZUZvcm1hdD4oV0dQVVRleHR1cmVGb3JtYXRfRVRDMlJH
QjhBMVVub3JtKTsKICAgICBjYXNlIFRleHR1cmVGb3JtYXQ6OkV0YzJSZ2I4YTF1bm9ybVNSR0I6
Ci0gICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxXR1BVVGV4dHVyZUZvcm1hdD4oV0dQVVRleHR1
cmVGb3JtYXRfRVRDMlJHQjhhMXVub3JtU3JnYik7CisgICAgICAgIHJldHVybiBzdGF0aWNfY2Fz
dDxXR1BVVGV4dHVyZUZvcm1hdD4oV0dQVVRleHR1cmVGb3JtYXRfRVRDMlJHQjhBMVVub3JtU3Jn
Yik7CiAgICAgY2FzZSBUZXh0dXJlRm9ybWF0OjpFdGMyUmdiYTh1bm9ybToKICAgICAgICAgcmV0
dXJuIHN0YXRpY19jYXN0PFdHUFVUZXh0dXJlRm9ybWF0PihXR1BVVGV4dHVyZUZvcm1hdF9FVEMy
UkdCQThVbm9ybSk7CiAgICAgY2FzZSBUZXh0dXJlRm9ybWF0OjpFdGMyUmdiYTh1bm9ybVNSR0I6
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBs
L1dlYkdQVUNvbnZlcnRUb0JhY2tpbmdDb250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFs
L2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVUNvbnZlcnRUb0JhY2tpbmdDb250ZXh0LmgKaW5k
ZXggMDkzZDgzM2M0ZTNhZjAwMzRjMjhlZjk0ZmYxOTZmODM5YWRhNDAyNy4uNzU4NTA4YmQyMzVj
OGYyNGNjOGQ3NDNmNzhjMjJjNWMzNThhZDQwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
UEFML3BhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9XZWJHUFVDb252ZXJ0VG9CYWNraW5nQ29udGV4
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwvV2Vi
R1BVQ29udmVydFRvQmFja2luZ0NvbnRleHQuaApAQCAtNTQsNiArNTQsNyBAQCBjbGFzcyBDb21t
YW5kQnVmZmVyOwogY2xhc3MgQ29tbWFuZEVuY29kZXI7CiBlbnVtIGNsYXNzIENvbXBhcmVGdW5j
dGlvbiA6IHVpbnQ4X3Q7CiBlbnVtIGNsYXNzIENvbXBpbGF0aW9uTWVzc2FnZVR5cGUgOiB1aW50
OF90OworZW51bSBjbGFzcyBDb21wdXRlUGFzc1RpbWVzdGFtcExvY2F0aW9uIDogdWludDhfdDsK
IGNsYXNzIENvbXB1dGVQYXNzRW5jb2RlcjsKIGNsYXNzIENvbXB1dGVQaXBlbGluZTsKIGVudW0g
Y2xhc3MgQ3VsbE1vZGUgOiB1aW50OF90OwpAQCAtNjYsNyArNjcsNiBAQCBjbGFzcyBHUFU7CiBl
bnVtIGNsYXNzIEluZGV4Rm9ybWF0IDogdWludDhfdDsKIGVudW0gY2xhc3MgTG9hZE9wIDogdWlu
dDhfdDsKIGNsYXNzIFBpcGVsaW5lTGF5b3V0OwotZW51bSBjbGFzcyBQaXBlbGluZVN0YXRpc3Rp
Y05hbWUgOiB1aW50OF90OwogZW51bSBjbGFzcyBQb3dlclByZWZlcmVuY2UgOiB1aW50OF90Owog
ZW51bSBjbGFzcyBQcmltaXRpdmVUb3BvbG9neSA6IHVpbnQ4X3Q7CiBjbGFzcyBRdWVyeVNldDsK
QEAgLTc1LDYgKzc1LDcgQEAgY2xhc3MgUXVldWU7CiBjbGFzcyBSZW5kZXJCdW5kbGVFbmNvZGVy
OwogY2xhc3MgUmVuZGVyQnVuZGxlOwogY2xhc3MgUmVuZGVyUGFzc0VuY29kZXI7CitlbnVtIGNs
YXNzIFJlbmRlclBhc3NUaW1lc3RhbXBMb2NhdGlvbiA6IHVpbnQ4X3Q7CiBjbGFzcyBSZW5kZXJQ
aXBlbGluZTsKIGNsYXNzIFNhbXBsZXI7CiBlbnVtIGNsYXNzIFNhbXBsZXJCaW5kaW5nVHlwZSA6
IHVpbnQ4X3Q7CkBAIC0xMDMsNiArMTA0LDcgQEAgcHVibGljOgogICAgIFdHUFVCdWZmZXJCaW5k
aW5nVHlwZSBjb252ZXJ0VG9CYWNraW5nKEJ1ZmZlckJpbmRpbmdUeXBlKTsKICAgICBXR1BVQ29t
cGFyZUZ1bmN0aW9uIGNvbnZlcnRUb0JhY2tpbmcoQ29tcGFyZUZ1bmN0aW9uKTsKICAgICBXR1BV
Q29tcGlsYXRpb25NZXNzYWdlVHlwZSBjb252ZXJ0VG9CYWNraW5nKENvbXBpbGF0aW9uTWVzc2Fn
ZVR5cGUpOworICAgIFdHUFVDb21wdXRlUGFzc1RpbWVzdGFtcExvY2F0aW9uIGNvbnZlcnRUb0Jh
Y2tpbmcoQ29tcHV0ZVBhc3NUaW1lc3RhbXBMb2NhdGlvbik7CiAgICAgV0dQVUN1bGxNb2RlIGNv
bnZlcnRUb0JhY2tpbmcoQ3VsbE1vZGUpOwogICAgIFdHUFVFcnJvckZpbHRlciBjb252ZXJ0VG9C
YWNraW5nKEVycm9yRmlsdGVyKTsKICAgICBXR1BVRmVhdHVyZU5hbWUgY29udmVydFRvQmFja2lu
ZyhGZWF0dXJlTmFtZSk7CkBAIC0xMTAsMTAgKzExMiwxMCBAQCBwdWJsaWM6CiAgICAgV0dQVUZy
b250RmFjZSBjb252ZXJ0VG9CYWNraW5nKEZyb250RmFjZSk7CiAgICAgV0dQVUluZGV4Rm9ybWF0
IGNvbnZlcnRUb0JhY2tpbmcoSW5kZXhGb3JtYXQpOwogICAgIFdHUFVMb2FkT3AgY29udmVydFRv
QmFja2luZyhMb2FkT3ApOwotICAgIFdHUFVQaXBlbGluZVN0YXRpc3RpY05hbWUgY29udmVydFRv
QmFja2luZyhQaXBlbGluZVN0YXRpc3RpY05hbWUpOwogICAgIFdHUFVQb3dlclByZWZlcmVuY2Ug
Y29udmVydFRvQmFja2luZyhQb3dlclByZWZlcmVuY2UpOwogICAgIFdHUFVQcmltaXRpdmVUb3Bv
bG9neSBjb252ZXJ0VG9CYWNraW5nKFByaW1pdGl2ZVRvcG9sb2d5KTsKICAgICBXR1BVUXVlcnlU
eXBlIGNvbnZlcnRUb0JhY2tpbmcoUXVlcnlUeXBlKTsKKyAgICBXR1BVUmVuZGVyUGFzc1RpbWVz
dGFtcExvY2F0aW9uIGNvbnZlcnRUb0JhY2tpbmcoUmVuZGVyUGFzc1RpbWVzdGFtcExvY2F0aW9u
KTsKICAgICBXR1BVU2FtcGxlckJpbmRpbmdUeXBlIGNvbnZlcnRUb0JhY2tpbmcoU2FtcGxlckJp
bmRpbmdUeXBlKTsKICAgICBXR1BVU3RlbmNpbE9wZXJhdGlvbiBjb252ZXJ0VG9CYWNraW5nKFN0
ZW5jaWxPcGVyYXRpb24pOwogICAgIFdHUFVTdG9yYWdlVGV4dHVyZUFjY2VzcyBjb252ZXJ0VG9C
YWNraW5nKFN0b3JhZ2VUZXh0dXJlQWNjZXNzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwvV2ViR1BVRGV2aWNlSW1wbC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVURldmljZUltcGwu
Y3BwCmluZGV4IGIzZjU1NWRiMzE3ODVlMmRiNmQ2NDE2YzJmOTI5NmVmNDI0MGQ4M2IuLmI5ZGE0
ZTZjMGM5NzFhZmVhZjJmNmMxMDU0YjJmZjNhY2ZjZGY4ZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwvV2ViR1BVRGV2aWNlSW1wbC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9XZWJHUFVE
ZXZpY2VJbXBsLmNwcApAQCAtOTksOCArOTksMjEgQEAgUmVmPFRleHR1cmU+IERldmljZUltcGw6
OmNyZWF0ZVRleHR1cmUoY29uc3QgVGV4dHVyZURlc2NyaXB0b3ImIGRlc2NyaXB0b3IpCiAKICAg
ICBhdXRvIGxhYmVsID0gZGVzY3JpcHRvci5sYWJlbC51dGY4KCk7CiAKKyAgICBhdXRvIGJhY2tp
bmdUZXh0dXJlRm9ybWF0cyA9IGRlc2NyaXB0b3Iudmlld0Zvcm1hdHMubWFwKFsmXSAoVGV4dHVy
ZUZvcm1hdCB0ZXh0dXJlRm9ybWF0KSB7CisgICAgICAgIHJldHVybiBtX2NvbnZlcnRUb0JhY2tp
bmdDb250ZXh0LT5jb252ZXJ0VG9CYWNraW5nKHRleHR1cmVGb3JtYXQpOworICAgIH0pOworCisg
ICAgV0dQVVRleHR1cmVEZXNjcmlwdG9yVmlld0Zvcm1hdHMgYmFja2luZ1ZpZXdGb3JtYXRzIHsK
KyAgICAgICAgeworICAgICAgICAgICAgbnVsbHB0ciwKKyAgICAgICAgICAgIHN0YXRpY19jYXN0
PFdHUFVTVHlwZT4oV0dQVVNUeXBlRXh0ZW5kZWRfVGV4dHVyZURlc2NyaXB0b3JWaWV3Rm9ybWF0
cyksCisgICAgICAgIH0sCisgICAgICAgIHN0YXRpY19jYXN0PHVpbnQzMl90PihiYWNraW5nVGV4
dHVyZUZvcm1hdHMuc2l6ZSgpKSwKKyAgICAgICAgYmFja2luZ1RleHR1cmVGb3JtYXRzLmRhdGEo
KSwKKyAgICB9OworCiAgICAgV0dQVVRleHR1cmVEZXNjcmlwdG9yIGJhY2tpbmdEZXNjcmlwdG9y
IHsKLSAgICAgICAgbnVsbHB0ciwKKyAgICAgICAgJmJhY2tpbmdWaWV3Rm9ybWF0cy5jaGFpbiwK
ICAgICAgICAgbGFiZWwuZGF0YSgpLAogICAgICAgICBtX2NvbnZlcnRUb0JhY2tpbmdDb250ZXh0
LT5jb252ZXJ0VGV4dHVyZVVzYWdlRmxhZ3NUb0JhY2tpbmcoZGVzY3JpcHRvci51c2FnZSksCiAg
ICAgICAgIG1fY29udmVydFRvQmFja2luZ0NvbnRleHQtPmNvbnZlcnRUb0JhY2tpbmcoZGVzY3Jp
cHRvci5kaW1lbnNpb24pLApAQCAtMjMxLDkgKzI0NCwzNCBAQCBSZWY8U2hhZGVyTW9kdWxlPiBE
ZXZpY2VJbXBsOjpjcmVhdGVTaGFkZXJNb2R1bGUoY29uc3QgU2hhZGVyTW9kdWxlRGVzY3JpcHRv
ciYgZAogCiAgICAgYXV0byBzb3VyY2UgPSBkZXNjcmlwdG9yLmNvZGUudXRmOCgpOwogCi0gICAg
V0dQVVNoYWRlck1vZHVsZVdHU0xEZXNjcmlwdG9yIGJhY2tpbmdXR1NMRGVzY3JpcHRvciB7Cisg
ICAgYXV0byBlbnRyeVBvaW50cyA9IGRlc2NyaXB0b3IuaGludHMubWFwKFtdIChjb25zdCBhdXRv
JiBoaW50KSB7CisgICAgICAgIHJldHVybiBoaW50LmtleS51dGY4KCk7CisgICAgfSk7CisKKyAg
ICBWZWN0b3I8V0dQVVNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludEVudHJ5PiBoaW50c0VudHJp
ZXM7CisgICAgaGludHNFbnRyaWVzLnJlc2VydmVJbml0aWFsQ2FwYWNpdHkoZGVzY3JpcHRvci5o
aW50cy5zaXplKCkpOworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgZGVzY3JpcHRvci5oaW50
cy5zaXplKCk7ICsraSkgeworICAgICAgICBjb25zdCBhdXRvJiBoaW50ID0gZGVzY3JpcHRvci5o
aW50c1tpXS52YWx1ZTsKKyAgICAgICAgaGludHNFbnRyaWVzLmFwcGVuZChXR1BVU2hhZGVyTW9k
dWxlQ29tcGlsYXRpb25IaW50RW50cnkgeworICAgICAgICAgICAgbnVsbHB0ciwKKyAgICAgICAg
ICAgIGVudHJ5UG9pbnRzW2ldLmRhdGEoKSwgeworICAgICAgICAgICAgICAgIG1fY29udmVydFRv
QmFja2luZ0NvbnRleHQtPmNvbnZlcnRUb0JhY2tpbmcoaGludC5waXBlbGluZUxheW91dCksCisg
ICAgICAgICAgICB9LAorICAgICAgICB9KTsKKyAgICB9CisKKyAgICBXR1BVU2hhZGVyTW9kdWxl
RGVzY3JpcHRvckhpbnRzIGJhY2tpbmdTaGFkZXJNb2R1bGVIaW50cyB7CiAgICAgICAgIHsKICAg
ICAgICAgICAgIG51bGxwdHIsCisgICAgICAgICAgICBzdGF0aWNfY2FzdDxXR1BVU1R5cGU+KFdH
UFVTVHlwZUV4dGVuZGVkX1NoYWRlck1vZHVsZURlc2NyaXB0b3JIaW50cyksCisgICAgICAgIH0s
CisgICAgICAgIHN0YXRpY19jYXN0PHVpbnQzMl90PihoaW50c0VudHJpZXMuc2l6ZSgpKSwKKyAg
ICAgICAgaGludHNFbnRyaWVzLmRhdGEoKSwKKyAgICB9OworCisgICAgV0dQVVNoYWRlck1vZHVs
ZVdHU0xEZXNjcmlwdG9yIGJhY2tpbmdXR1NMRGVzY3JpcHRvciB7CisgICAgICAgIHsKKyAgICAg
ICAgICAgICZiYWNraW5nU2hhZGVyTW9kdWxlSGludHMuY2hhaW4sCiAgICAgICAgICAgICBXR1BV
U1R5cGVfU2hhZGVyTW9kdWxlV0dTTERlc2NyaXB0b3IsCiAgICAgICAgIH0sCiAgICAgICAgIHNv
dXJjZS5kYXRhKCksCkBAIC0yNDgsNyArMjg2LDcgQEAgUmVmPFNoYWRlck1vZHVsZT4gRGV2aWNl
SW1wbDo6Y3JlYXRlU2hhZGVyTW9kdWxlKGNvbnN0IFNoYWRlck1vZHVsZURlc2NyaXB0b3ImIGQK
IH0KIAogdGVtcGxhdGUgPHR5cGVuYW1lIFQ+Ci1hdXRvIGNvbnZlcnRUb0JhY2tpbmcoY29uc3Qg
Q29tcHV0ZVBpcGVsaW5lRGVzY3JpcHRvciYgZGVzY3JpcHRvciwgQ29udmVydFRvQmFja2luZ0Nv
bnRleHQmIGNvbnZlcnRUb0JhY2tpbmdDb250ZXh0LCBUJiYgY2FsbGJhY2spCitzdGF0aWMgYXV0
byBjb252ZXJ0VG9CYWNraW5nKGNvbnN0IENvbXB1dGVQaXBlbGluZURlc2NyaXB0b3ImIGRlc2Ny
aXB0b3IsIENvbnZlcnRUb0JhY2tpbmdDb250ZXh0JiBjb252ZXJ0VG9CYWNraW5nQ29udGV4dCwg
VCYmIGNhbGxiYWNrKQogewogICAgIGF1dG8gbGFiZWwgPSBkZXNjcmlwdG9yLmxhYmVsLnV0Zjgo
KTsKIApAQCAtMjkyLDcgKzMzMCw3IEBAIFJlZjxDb21wdXRlUGlwZWxpbmU+IERldmljZUltcGw6
OmNyZWF0ZUNvbXB1dGVQaXBlbGluZShjb25zdCBDb21wdXRlUGlwZWxpbmVEZXNjCiB9CiAKIHRl
bXBsYXRlIDx0eXBlbmFtZSBUPgotYXV0byBjb252ZXJ0VG9CYWNraW5nKGNvbnN0IFJlbmRlclBp
cGVsaW5lRGVzY3JpcHRvciYgZGVzY3JpcHRvciwgQ29udmVydFRvQmFja2luZ0NvbnRleHQmIGNv
bnZlcnRUb0JhY2tpbmdDb250ZXh0LCBUJiYgY2FsbGJhY2spCitzdGF0aWMgYXV0byBjb252ZXJ0
VG9CYWNraW5nKGNvbnN0IFJlbmRlclBpcGVsaW5lRGVzY3JpcHRvciYgZGVzY3JpcHRvciwgQ29u
dmVydFRvQmFja2luZ0NvbnRleHQmIGNvbnZlcnRUb0JhY2tpbmdDb250ZXh0LCBUJiYgY2FsbGJh
Y2spCiB7CiAgICAgYXV0byBsYWJlbCA9IGRlc2NyaXB0b3IubGFiZWwudXRmOCgpOwogCkBAIC0z
ODUsMTYgKzQyMywxNiBAQCBhdXRvIGNvbnZlcnRUb0JhY2tpbmcoY29uc3QgUmVuZGVyUGlwZWxp
bmVEZXNjcmlwdG9yJiBkZXNjcmlwdG9yLCBDb252ZXJ0VG9CYWNraQogICAgIFZlY3RvcjxzdGQ6
Om9wdGlvbmFsPFdHUFVCbGVuZFN0YXRlPj4gYmxlbmRTdGF0ZXM7CiAgICAgaWYgKGRlc2NyaXB0
b3IuZnJhZ21lbnQpIHsKICAgICAgICAgYmxlbmRTdGF0ZXMgPSBkZXNjcmlwdG9yLmZyYWdtZW50
LT50YXJnZXRzLm1hcChbJmNvbnZlcnRUb0JhY2tpbmdDb250ZXh0XSAoY29uc3QgYXV0byYgdGFy
Z2V0KSAtPiBzdGQ6Om9wdGlvbmFsPFdHUFVCbGVuZFN0YXRlPiB7Ci0gICAgICAgICAgICBpZiAo
dGFyZ2V0LmJsZW5kKSB7CisgICAgICAgICAgICBpZiAodGFyZ2V0ICYmIHRhcmdldC0+YmxlbmQp
IHsKICAgICAgICAgICAgICAgICByZXR1cm4gV0dQVUJsZW5kU3RhdGUgewogICAgICAgICAgICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBjb252ZXJ0VG9CYWNraW5nQ29udGV4
dC5jb252ZXJ0VG9CYWNraW5nKHRhcmdldC5ibGVuZC0+Y29sb3Iub3BlcmF0aW9uKSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnZlcnRUb0JhY2tpbmdDb250ZXh0LmNvbnZlcnRUb0JhY2tp
bmcodGFyZ2V0LmJsZW5kLT5jb2xvci5zcmNGYWN0b3IpLAotICAgICAgICAgICAgICAgICAgICAg
ICAgY29udmVydFRvQmFja2luZ0NvbnRleHQuY29udmVydFRvQmFja2luZyh0YXJnZXQuYmxlbmQt
PmNvbG9yLmRzdEZhY3RvciksCisgICAgICAgICAgICAgICAgICAgICAgICBjb252ZXJ0VG9CYWNr
aW5nQ29udGV4dC5jb252ZXJ0VG9CYWNraW5nKHRhcmdldC0+YmxlbmQtPmNvbG9yLm9wZXJhdGlv
biksCisgICAgICAgICAgICAgICAgICAgICAgICBjb252ZXJ0VG9CYWNraW5nQ29udGV4dC5jb252
ZXJ0VG9CYWNraW5nKHRhcmdldC0+YmxlbmQtPmNvbG9yLnNyY0ZhY3RvciksCisgICAgICAgICAg
ICAgICAgICAgICAgICBjb252ZXJ0VG9CYWNraW5nQ29udGV4dC5jb252ZXJ0VG9CYWNraW5nKHRh
cmdldC0+YmxlbmQtPmNvbG9yLmRzdEZhY3RvciksCiAgICAgICAgICAgICAgICAgICAgIH0sIHsK
LSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnZlcnRUb0JhY2tpbmdDb250ZXh0LmNvbnZlcnRU
b0JhY2tpbmcodGFyZ2V0LmJsZW5kLT5hbHBoYS5vcGVyYXRpb24pLAotICAgICAgICAgICAgICAg
ICAgICAgICAgY29udmVydFRvQmFja2luZ0NvbnRleHQuY29udmVydFRvQmFja2luZyh0YXJnZXQu
YmxlbmQtPmFscGhhLnNyY0ZhY3RvciksCi0gICAgICAgICAgICAgICAgICAgICAgICBjb252ZXJ0
VG9CYWNraW5nQ29udGV4dC5jb252ZXJ0VG9CYWNraW5nKHRhcmdldC5ibGVuZC0+YWxwaGEuZHN0
RmFjdG9yKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnZlcnRUb0JhY2tpbmdDb250ZXh0
LmNvbnZlcnRUb0JhY2tpbmcodGFyZ2V0LT5ibGVuZC0+YWxwaGEub3BlcmF0aW9uKSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnZlcnRUb0JhY2tpbmdDb250ZXh0LmNvbnZlcnRUb0JhY2tp
bmcodGFyZ2V0LT5ibGVuZC0+YWxwaGEuc3JjRmFjdG9yKSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnZlcnRUb0JhY2tpbmdDb250ZXh0LmNvbnZlcnRUb0JhY2tpbmcodGFyZ2V0LT5ibGVu
ZC0+YWxwaGEuZHN0RmFjdG9yKSwKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg
ICAgIH07CiAgICAgICAgICAgICB9IGVsc2UKQEAgLTQwNiwxMyArNDQ0LDIxIEBAIGF1dG8gY29u
dmVydFRvQmFja2luZyhjb25zdCBSZW5kZXJQaXBlbGluZURlc2NyaXB0b3ImIGRlc2NyaXB0b3Is
IENvbnZlcnRUb0JhY2tpCiAgICAgaWYgKGRlc2NyaXB0b3IuZnJhZ21lbnQpIHsKICAgICAgICAg
Y29sb3JUYXJnZXRzLnJlc2VydmVJbml0aWFsQ2FwYWNpdHkoZGVzY3JpcHRvci5mcmFnbWVudC0+
dGFyZ2V0cy5zaXplKCkpOwogICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGRlc2NyaXB0
b3IuZnJhZ21lbnQtPnRhcmdldHMuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgICAgIGNvbnN0IGF1
dG8mIHRhcmdldCA9IGRlc2NyaXB0b3IuZnJhZ21lbnQtPnRhcmdldHNbaV07Ci0gICAgICAgICAg
ICBjb2xvclRhcmdldHMudW5jaGVja2VkQXBwZW5kKFdHUFVDb2xvclRhcmdldFN0YXRlIHsKLSAg
ICAgICAgICAgICAgICBudWxscHRyLAotICAgICAgICAgICAgICAgIGNvbnZlcnRUb0JhY2tpbmdD
b250ZXh0LmNvbnZlcnRUb0JhY2tpbmcodGFyZ2V0LmZvcm1hdCksCi0gICAgICAgICAgICAgICAg
YmxlbmRTdGF0ZXNbaV0gPyAmKmJsZW5kU3RhdGVzW2ldIDogbnVsbHB0ciwKLSAgICAgICAgICAg
ICAgICBjb252ZXJ0VG9CYWNraW5nQ29udGV4dC5jb252ZXJ0Q29sb3JXcml0ZUZsYWdzVG9CYWNr
aW5nKHRhcmdldC53cml0ZU1hc2spLAotICAgICAgICAgICAgfSk7CisgICAgICAgICAgICBpZiAo
Y29uc3QgYXV0byYgdGFyZ2V0ID0gZGVzY3JpcHRvci5mcmFnbWVudC0+dGFyZ2V0c1tpXSkgewor
ICAgICAgICAgICAgICAgIGNvbG9yVGFyZ2V0cy51bmNoZWNrZWRBcHBlbmQoV0dQVUNvbG9yVGFy
Z2V0U3RhdGUgeworICAgICAgICAgICAgICAgICAgICBudWxscHRyLAorICAgICAgICAgICAgICAg
ICAgICBjb252ZXJ0VG9CYWNraW5nQ29udGV4dC5jb252ZXJ0VG9CYWNraW5nKHRhcmdldC0+Zm9y
bWF0KSwKKyAgICAgICAgICAgICAgICAgICAgYmxlbmRTdGF0ZXNbaV0gPyAmKmJsZW5kU3RhdGVz
W2ldIDogbnVsbHB0ciwKKyAgICAgICAgICAgICAgICAgICAgY29udmVydFRvQmFja2luZ0NvbnRl
eHQuY29udmVydENvbG9yV3JpdGVGbGFnc1RvQmFja2luZyh0YXJnZXQtPndyaXRlTWFzayksCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAg
IGNvbG9yVGFyZ2V0cy51bmNoZWNrZWRBcHBlbmQoV0dQVUNvbG9yVGFyZ2V0U3RhdGUgeworICAg
ICAgICAgICAgICAgICAgICBudWxscHRyLAorICAgICAgICAgICAgICAgICAgICBXR1BVVGV4dHVy
ZUZvcm1hdF9VbmRlZmluZWQsCisgICAgICAgICAgICAgICAgICAgIG51bGxwdHIsCisgICAgICAg
ICAgICAgICAgICAgIFdHUFVNYXBNb2RlX05vbmUsCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9CiAgICAgICAgIH0KICAgICB9CiAKQEAgLTUyOCw3ICs1NzQsNyBAQCBSZWY8UmVu
ZGVyQnVuZGxlRW5jb2Rlcj4gRGV2aWNlSW1wbDo6Y3JlYXRlUmVuZGVyQnVuZGxlRW5jb2Rlcihj
b25zdCBSZW5kZXJCdW5kbAogICAgIGF1dG8gbGFiZWwgPSBkZXNjcmlwdG9yLmxhYmVsLnV0Zjgo
KTsKIAogICAgIGF1dG8gYmFja2luZ0NvbG9yRm9ybWF0cyA9IGRlc2NyaXB0b3IuY29sb3JGb3Jt
YXRzLm1hcChbdGhpc10gKGF1dG8gY29sb3JGb3JtYXQpIHsKLSAgICAgICAgcmV0dXJuIG1fY29u
dmVydFRvQmFja2luZ0NvbnRleHQtPmNvbnZlcnRUb0JhY2tpbmcoY29sb3JGb3JtYXQpOworICAg
ICAgICByZXR1cm4gY29sb3JGb3JtYXQgPyBtX2NvbnZlcnRUb0JhY2tpbmdDb250ZXh0LT5jb252
ZXJ0VG9CYWNraW5nKCpjb2xvckZvcm1hdCkgOiBXR1BVVGV4dHVyZUZvcm1hdF9VbmRlZmluZWQ7
CiAgICAgfSk7CiAKICAgICBXR1BVUmVuZGVyQnVuZGxlRW5jb2RlckRlc2NyaXB0b3IgYmFja2lu
Z0Rlc2NyaXB0b3IgewpAQCAtNTM4LDYgKzU4NCw4IEBAIFJlZjxSZW5kZXJCdW5kbGVFbmNvZGVy
PiBEZXZpY2VJbXBsOjpjcmVhdGVSZW5kZXJCdW5kbGVFbmNvZGVyKGNvbnN0IFJlbmRlckJ1bmRs
CiAgICAgICAgIGJhY2tpbmdDb2xvckZvcm1hdHMuZGF0YSgpLAogICAgICAgICBkZXNjcmlwdG9y
LmRlcHRoU3RlbmNpbEZvcm1hdCA/IG1fY29udmVydFRvQmFja2luZ0NvbnRleHQtPmNvbnZlcnRU
b0JhY2tpbmcoKmRlc2NyaXB0b3IuZGVwdGhTdGVuY2lsRm9ybWF0KSA6IFdHUFVUZXh0dXJlRm9y
bWF0X1VuZGVmaW5lZCwKICAgICAgICAgZGVzY3JpcHRvci5zYW1wbGVDb3VudCwKKyAgICAgICAg
ZGVzY3JpcHRvci5kZXB0aFJlYWRPbmx5LAorICAgICAgICBkZXNjcmlwdG9yLnN0ZW5jaWxSZWFk
T25seSwKICAgICB9OwogCiAgICAgcmV0dXJuIFJlbmRlckJ1bmRsZUVuY29kZXJJbXBsOjpjcmVh
dGUod2dwdURldmljZUNyZWF0ZVJlbmRlckJ1bmRsZUVuY29kZXIobV9iYWNraW5nLCAmYmFja2lu
Z0Rlc2NyaXB0b3IpLCBtX2NvbnZlcnRUb0JhY2tpbmdDb250ZXh0KTsKQEAgLTU0NywxNyArNTk1
LDEzIEBAIFJlZjxRdWVyeVNldD4gRGV2aWNlSW1wbDo6Y3JlYXRlUXVlcnlTZXQoY29uc3QgUXVl
cnlTZXREZXNjcmlwdG9yJiBkZXNjcmlwdG9yKQogewogICAgIGF1dG8gbGFiZWwgPSBkZXNjcmlw
dG9yLmxhYmVsLnV0ZjgoKTsKIAotICAgIGF1dG8gYmFja2luZ1BpcGVsaW5lU3RhdGlzdGljcyA9
IGRlc2NyaXB0b3IucGlwZWxpbmVTdGF0aXN0aWNzLm1hcChbdGhpc10gKGF1dG8gcGlwZWxpbmVT
dGF0aXN0aWMpIHsKLSAgICAgICAgcmV0dXJuIG1fY29udmVydFRvQmFja2luZ0NvbnRleHQtPmNv
bnZlcnRUb0JhY2tpbmcocGlwZWxpbmVTdGF0aXN0aWMpOwotICAgIH0pOwotCiAgICAgV0dQVVF1
ZXJ5U2V0RGVzY3JpcHRvciBiYWNraW5nRGVzY3JpcHRvciB7CiAgICAgICAgIG51bGxwdHIsCiAg
ICAgICAgIGxhYmVsLmRhdGEoKSwKICAgICAgICAgbV9jb252ZXJ0VG9CYWNraW5nQ29udGV4dC0+
Y29udmVydFRvQmFja2luZyhkZXNjcmlwdG9yLnR5cGUpLAogICAgICAgICBkZXNjcmlwdG9yLmNv
dW50LAotICAgICAgICBiYWNraW5nUGlwZWxpbmVTdGF0aXN0aWNzLmRhdGEoKSwKLSAgICAgICAg
c3RhdGljX2Nhc3Q8dWludDMyX3Q+KGJhY2tpbmdQaXBlbGluZVN0YXRpc3RpY3Muc2l6ZSgpKSwK
KyAgICAgICAgbnVsbHB0ciwKKyAgICAgICAgMCwKICAgICB9OwogCiAgICAgcmV0dXJuIFF1ZXJ5
U2V0SW1wbDo6Y3JlYXRlKHdncHVEZXZpY2VDcmVhdGVRdWVyeVNldChtX2JhY2tpbmcsICZiYWNr
aW5nRGVzY3JpcHRvciksIG1fY29udmVydFRvQmFja2luZ0NvbnRleHQpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9XZWJHUFVJbXBsLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwvV2ViR1BVSW1w
bC5jcHAKaW5kZXggNTgxZDkyODAxNzI4YzcyNDMyZTcwYjQzZGJiMWNiOTc1MGQ5ZjNmMi4uZTZh
ZjY5ZGU2Y2I4ZTZmNzNlOTc2NTgyNDI0YmVlOWQyOGU1MDZlMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9XZWJHUFVJbXBsLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVUltcGwu
Y3BwCkBAIC03Niw3ICs3Niw3IEBAIHZvaWQgR1BVSW1wbDo6cmVxdWVzdEFkYXB0ZXIoY29uc3Qg
UmVxdWVzdEFkYXB0ZXJPcHRpb25zJiBvcHRpb25zLCBXVEY6OkZ1bmN0aW9uCiAgICAgV0dQVVJl
cXVlc3RBZGFwdGVyT3B0aW9ucyBiYWNraW5nT3B0aW9ucyB7CiAgICAgICAgIG51bGxwdHIsCiAg
ICAgICAgIG51bGxwdHIsCi0gICAgICAgIG9wdGlvbnMucG93ZXJQcmVmZXJlbmNlID8gbV9jb252
ZXJ0VG9CYWNraW5nQ29udGV4dC0+Y29udmVydFRvQmFja2luZygqb3B0aW9ucy5wb3dlclByZWZl
cmVuY2UpIDogc3RhdGljX2Nhc3Q8V0dQVVBvd2VyUHJlZmVyZW5jZT4oV0dQVVBvd2VyUHJlZmVy
ZW5jZV9Ob1ByZWZlcmVuY2UpLAorICAgICAgICBvcHRpb25zLnBvd2VyUHJlZmVyZW5jZSA/IG1f
Y29udmVydFRvQmFja2luZ0NvbnRleHQtPmNvbnZlcnRUb0JhY2tpbmcoKm9wdGlvbnMucG93ZXJQ
cmVmZXJlbmNlKSA6IHN0YXRpY19jYXN0PFdHUFVQb3dlclByZWZlcmVuY2U+KFdHUFVQb3dlclBy
ZWZlcmVuY2VfVW5kZWZpbmVkKSwKICAgICAgICAgb3B0aW9ucy5mb3JjZUZhbGxiYWNrQWRhcHRl
ciwKICAgICB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNz
L1dlYkdQVS9JbXBsL1dlYkdQVVJlbmRlclBhc3NFbmNvZGVySW1wbC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVVJlbmRlclBhc3NFbmNvZGVy
SW1wbC5jcHAKaW5kZXggZDJmZTVkZjUyNmNjMzYwZjdhM2VkMjMzZTMyZjM0YzkzZDE4NjYxNi4u
ZjU3NzRkN2RiNGZiOGMxNGRjMTNkNTE3YTliYjg3OTcyOTkxNmNlNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9XZWJHUFVSZW5kZXJQYXNz
RW5jb2RlckltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2Vi
R1BVL0ltcGwvV2ViR1BVUmVuZGVyUGFzc0VuY29kZXJJbXBsLmNwcApAQCAtMTU2LDE2ICsxNTYs
NiBAQCB2b2lkIFJlbmRlclBhc3NFbmNvZGVySW1wbDo6ZW5kT2NjbHVzaW9uUXVlcnkoKQogICAg
IHdncHVSZW5kZXJQYXNzRW5jb2RlckVuZE9jY2x1c2lvblF1ZXJ5KG1fYmFja2luZyk7CiB9CiAK
LXZvaWQgUmVuZGVyUGFzc0VuY29kZXJJbXBsOjpiZWdpblBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5
KGNvbnN0IFF1ZXJ5U2V0JiBxdWVyeVNldCwgU2l6ZTMyIHF1ZXJ5SW5kZXgpCi17Ci0gICAgd2dw
dVJlbmRlclBhc3NFbmNvZGVyQmVnaW5QaXBlbGluZVN0YXRpc3RpY3NRdWVyeShtX2JhY2tpbmcs
IG1fY29udmVydFRvQmFja2luZ0NvbnRleHQtPmNvbnZlcnRUb0JhY2tpbmcocXVlcnlTZXQpLCBx
dWVyeUluZGV4KTsKLX0KLQotdm9pZCBSZW5kZXJQYXNzRW5jb2RlckltcGw6OmVuZFBpcGVsaW5l
U3RhdGlzdGljc1F1ZXJ5KCkKLXsKLSAgICB3Z3B1UmVuZGVyUGFzc0VuY29kZXJFbmRQaXBlbGlu
ZVN0YXRpc3RpY3NRdWVyeShtX2JhY2tpbmcpOwotfQotCiB2b2lkIFJlbmRlclBhc3NFbmNvZGVy
SW1wbDo6ZXhlY3V0ZUJ1bmRsZXMoVmVjdG9yPHN0ZDo6cmVmZXJlbmNlX3dyYXBwZXI8UmVuZGVy
QnVuZGxlPj4mJiByZW5kZXJCdW5kbGVzKQogewogICAgIGF1dG8gYmFja2luZ0J1bmRsZXMgPSBy
ZW5kZXJCdW5kbGVzLm1hcChbdGhpc10gKGF1dG8gcmVuZGVyQnVuZGxlKSB7CkBAIC0xNzUsNyAr
MTY1LDcgQEAgdm9pZCBSZW5kZXJQYXNzRW5jb2RlckltcGw6OmV4ZWN1dGVCdW5kbGVzKFZlY3Rv
cjxzdGQ6OnJlZmVyZW5jZV93cmFwcGVyPFJlbmRlckIKICAgICB3Z3B1UmVuZGVyUGFzc0VuY29k
ZXJFeGVjdXRlQnVuZGxlcyhtX2JhY2tpbmcsIGJhY2tpbmdCdW5kbGVzLnNpemUoKSwgYmFja2lu
Z0J1bmRsZXMuZGF0YSgpKTsKIH0KIAotdm9pZCBSZW5kZXJQYXNzRW5jb2RlckltcGw6OmVuZFBh
c3MoKQordm9pZCBSZW5kZXJQYXNzRW5jb2RlckltcGw6OmVuZCgpCiB7CiAgICAgd2dwdVJlbmRl
clBhc3NFbmNvZGVyRW5kUGFzcyhtX2JhY2tpbmcpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9XZWJHUFVSZW5kZXJQYXNzRW5jb2Rl
ckltcGwuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwvV2Vi
R1BVUmVuZGVyUGFzc0VuY29kZXJJbXBsLmgKaW5kZXggM2VlOTA3MTQ1ODI5N2ViYTllNzA5ODE3
YTYyMjhiZjJlMmVlY2YwMi4uMzRjNTA4MmFjNTgxODU2NzBiNjZkNjU4ZDkwYjI3NzM0OWQ4Mzdk
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvSW1w
bC9XZWJHUFVSZW5kZXJQYXNzRW5jb2RlckltcGwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwv
cGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVVJlbmRlclBhc3NFbmNvZGVySW1wbC5oCkBA
IC05NywxMSArOTcsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgYmVnaW5PY2NsdXNpb25RdWVyeShT
aXplMzIgcXVlcnlJbmRleCkgZmluYWw7CiAgICAgdm9pZCBlbmRPY2NsdXNpb25RdWVyeSgpIGZp
bmFsOwogCi0gICAgdm9pZCBiZWdpblBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KGNvbnN0IFF1ZXJ5
U2V0JiwgU2l6ZTMyIHF1ZXJ5SW5kZXgpIGZpbmFsOwotICAgIHZvaWQgZW5kUGlwZWxpbmVTdGF0
aXN0aWNzUXVlcnkoKSBmaW5hbDsKLQogICAgIHZvaWQgZXhlY3V0ZUJ1bmRsZXMoVmVjdG9yPHN0
ZDo6cmVmZXJlbmNlX3dyYXBwZXI8UmVuZGVyQnVuZGxlPj4mJikgZmluYWw7Ci0gICAgdm9pZCBl
bmRQYXNzKCkgZmluYWw7CisgICAgdm9pZCBlbmQoKSBmaW5hbDsKIAogICAgIHZvaWQgc2V0TGFi
ZWxJbnRlcm5hbChjb25zdCBTdHJpbmcmKSBmaW5hbDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVQnVmZmVyLmggYi9Tb3VyY2UvV2Vi
Q29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVCdWZmZXIuaAppbmRleCAzZmFlOTRh
NGFiYWZjZWEzOTYwM2M0ODZkNmEwYTY3YjhiOGRlOWFlLi5mNzhjMzQ3NDA4Mzc1MTkxMjg3ODYz
ZGZjZGM1MWFjMTg3NzM3MTFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dy
YXBoaWNzL1dlYkdQVS9XZWJHUFVCdWZmZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFs
L2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVCdWZmZXIuaApAQCAtNDgsMTIgKzQ4LDEyIEBAIHB1Ymxp
YzoKICAgICAgICAgc2V0TGFiZWxJbnRlcm5hbChtX2xhYmVsKTsKICAgICB9CiAKLSAgICB2aXJ0
dWFsIHZvaWQgbWFwQXN5bmMoTWFwTW9kZUZsYWdzLCBzdGQ6Om9wdGlvbmFsPFNpemU2ND4gb2Zm
c2V0LCBzdGQ6Om9wdGlvbmFsPFNpemU2ND4sIFdURjo6RnVuY3Rpb248dm9pZCgpPiYmKSA9IDA7
CisgICAgdmlydHVhbCB2b2lkIG1hcEFzeW5jKE1hcE1vZGVGbGFncywgU2l6ZTY0IG9mZnNldCwg
c3RkOjpvcHRpb25hbDxTaXplNjQ+LCBXVEY6OkZ1bmN0aW9uPHZvaWQoKT4mJikgPSAwOwogICAg
IHN0cnVjdCBNYXBwZWRSYW5nZSB7CiAgICAgICAgIHZvaWQqIHNvdXJjZSB7IG51bGxwdHIgfTsK
ICAgICAgICAgc2l6ZV90IGJ5dGVMZW5ndGggeyAwIH07CiAgICAgfTsKLSAgICB2aXJ0dWFsIE1h
cHBlZFJhbmdlIGdldE1hcHBlZFJhbmdlKHN0ZDo6b3B0aW9uYWw8U2l6ZTY0PiBvZmZzZXQsIHN0
ZDo6b3B0aW9uYWw8U2l6ZTY0PikgPSAwOworICAgIHZpcnR1YWwgTWFwcGVkUmFuZ2UgZ2V0TWFw
cGVkUmFuZ2UoU2l6ZTY0IG9mZnNldCwgc3RkOjpvcHRpb25hbDxTaXplNjQ+KSA9IDA7CiAgICAg
dmlydHVhbCB2b2lkIHVubWFwKCkgPSAwOwogCiAgICAgdmlydHVhbCB2b2lkIGRlc3Ryb3koKSA9
IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9X
ZWJHUFVDYW52YXNDb25maWd1cmF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBo
aWNzL1dlYkdQVS9XZWJHUFVDYW52YXNDb25maWd1cmF0aW9uLmgKaW5kZXggYWY5MzdmMDljOWEw
MWQ0ZjU4NTMxMjlkZGIxM2RkOTQzMDBiOTNlYy4uZmVkYjI0MTZjYzJhOGUxMzRlMTlkYzQ4ZmVk
YjAyMTkzNGM3NDlmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGlj
cy9XZWJHUFUvV2ViR1BVQ2FudmFzQ29uZmlndXJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVUNhbnZhc0NvbmZpZ3VyYXRpb24uaApAQCAt
NDIsNiArNDIsNyBAQCBzdHJ1Y3QgQ2FudmFzQ29uZmlndXJhdGlvbiB7CiAgICAgRGV2aWNlJiBk
ZXZpY2U7CiAgICAgVGV4dHVyZUZvcm1hdCBmb3JtYXQgeyBUZXh0dXJlRm9ybWF0OjpSOHVub3Jt
IH07CiAgICAgVGV4dHVyZVVzYWdlRmxhZ3MgdXNhZ2UgeyBUZXh0dXJlVXNhZ2U6OlJlbmRlckF0
dGFjaG1lbnQgfTsKKyAgICBWZWN0b3I8VGV4dHVyZUZvcm1hdD4gdmlld0Zvcm1hdHM7CiAgICAg
UHJlZGVmaW5lZENvbG9yU3BhY2UgY29sb3JTcGFjZSB7IFByZWRlZmluZWRDb2xvclNwYWNlOjpT
UkdCIH07CiAgICAgQ2FudmFzQ29tcG9zaXRpbmdBbHBoYU1vZGUgY29tcG9zaXRpbmdBbHBoYU1v
ZGUgeyBDYW52YXNDb21wb3NpdGluZ0FscGhhTW9kZTo6T3BhcXVlIH07CiAgICAgc3RkOjpvcHRp
b25hbDxFeHRlbnQzRD4gc2l6ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwv
Z3JhcGhpY3MvV2ViR1BVL1dlYkdQVUNvbW1hbmRFbmNvZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Q
QUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVDb21tYW5kRW5jb2Rlci5oCmluZGV4IDg4Mjc5
NDk2ODkzYzhlYTg0Y2ZkOWMwYTdjZDZjYWVlMTE2NGNiN2YuLmI0NzFhMzAzOThjYzg3M2U0ZTY2
ZDI5MmM2N2NmYmZmYjczYjY4ODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwv
Z3JhcGhpY3MvV2ViR1BVL1dlYkdQVUNvbW1hbmRFbmNvZGVyLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVQ29tbWFuZEVuY29kZXIuaApAQCAtODIs
MTAgKzgyLDEwIEBAIHB1YmxpYzoKICAgICAgICAgY29uc3QgSW1hZ2VDb3B5VGV4dHVyZSYgZGVz
dGluYXRpb24sCiAgICAgICAgIGNvbnN0IEV4dGVudDNEJiBjb3B5U2l6ZSkgPSAwOwogCi0gICAg
dmlydHVhbCB2b2lkIGZpbGxCdWZmZXIoCi0gICAgICAgIGNvbnN0IEJ1ZmZlciYgZGVzdGluYXRp
b24sCi0gICAgICAgIFNpemU2NCBkZXN0aW5hdGlvbk9mZnNldCwKLSAgICAgICAgU2l6ZTY0KSA9
IDA7CisgICAgdmlydHVhbCB2b2lkIGNsZWFyQnVmZmVyKAorICAgICAgICBjb25zdCBCdWZmZXIm
LAorICAgICAgICBTaXplNjQgb2Zmc2V0ID0gMCwKKyAgICAgICAgc3RkOjpvcHRpb25hbDxTaXpl
NjQ+ID0gc3RkOjpudWxsb3B0KSA9IDA7CiAKICAgICB2aXJ0dWFsIHZvaWQgcHVzaERlYnVnR3Jv
dXAoU3RyaW5nJiYgZ3JvdXBMYWJlbCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBwb3BEZWJ1Z0dy
b3VwKCkgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9X
ZWJHUFUvV2ViR1BVQ29tcHV0ZVBhc3NFbmNvZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFs
L2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVDb21wdXRlUGFzc0VuY29kZXIuaAppbmRleCBmNDllNzhm
YmFkOTE2M2NjZWVkOGY4MDg4NDE1NzhjOWY0ZGE1YjkyLi5mMmY2NGJkMGIxZTJkN2Q2ZTA5NmUx
MTI3NzAyYjI3ZTNkZGMwNTg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dy
YXBoaWNzL1dlYkdQVS9XZWJHUFVDb21wdXRlUGFzc0VuY29kZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVDb21wdXRlUGFzc0VuY29kZXIuaApA
QCAtNTMsMTMgKzUzLDEwIEBAIHB1YmxpYzoKICAgICB9CiAKICAgICB2aXJ0dWFsIHZvaWQgc2V0
UGlwZWxpbmUoY29uc3QgQ29tcHV0ZVBpcGVsaW5lJikgPSAwOwotICAgIHZpcnR1YWwgdm9pZCBk
aXNwYXRjaChTaXplMzIgeCwgc3RkOjpvcHRpb25hbDxTaXplMzI+IHksIHN0ZDo6b3B0aW9uYWw8
U2l6ZTMyPikgPSAwOworICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaChTaXplMzIgd29ya2dyb3Vw
Q291bnRYLCBTaXplMzIgd29ya2dyb3VwQ291bnRZID0gMSwgU2l6ZTMyIHdvcmtncm91cENvdW50
WiA9IDEpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hJbmRpcmVjdChjb25zdCBCdWZm
ZXImIGluZGlyZWN0QnVmZmVyLCBTaXplNjQgaW5kaXJlY3RPZmZzZXQpID0gMDsKIAotICAgIHZp
cnR1YWwgdm9pZCBiZWdpblBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KGNvbnN0IFF1ZXJ5U2V0Jiwg
U2l6ZTMyIHF1ZXJ5SW5kZXgpID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgZW5kUGlwZWxpbmVTdGF0
aXN0aWNzUXVlcnkoKSA9IDA7Ci0KLSAgICB2aXJ0dWFsIHZvaWQgZW5kUGFzcygpID0gMDsKKyAg
ICB2aXJ0dWFsIHZvaWQgZW5kKCkgPSAwOwogCiAgICAgdmlydHVhbCB2b2lkIHNldEJpbmRHcm91
cChJbmRleDMyLCBjb25zdCBCaW5kR3JvdXAmLAogICAgICAgICBzdGQ6Om9wdGlvbmFsPFZlY3Rv
cjxCdWZmZXJEeW5hbWljT2Zmc2V0Pj4mJikgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVRmVhdHVyZU5hbWUuaCBiL1NvdXJjZS9X
ZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVUZlYXR1cmVOYW1lLmgKaW5kZXgg
NmEzMzU4OWQ4OTQ5ZmE4NDc2YzE0ZGI3ZmQzNTg0OWFmZjczZjM5NS4uZjFiMzUxYjlhNGE0NzY4
N2UwNTg1ZTdlYjU4NmU3MTQ4MTExZmRhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFM
L3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVRmVhdHVyZU5hbWUuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVGZWF0dXJlTmFtZS5oCkBAIC0zNCw3
ICszNCw2IEBAIGVudW0gY2xhc3MgRmVhdHVyZU5hbWUgOiB1aW50OF90IHsKICAgICBEZXB0aENs
aXBDb250cm9sLAogICAgIERlcHRoMjR1bm9ybVN0ZW5jaWw4LAogICAgIERlcHRoMzJmbG9hdFN0
ZW5jaWw4LAotICAgIFBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5LAogICAgIFRleHR1cmVDb21wcmVz
c2lvbkJjLAogICAgIFRleHR1cmVDb21wcmVzc2lvbkV0YzIsCiAgICAgVGV4dHVyZUNvbXByZXNz
aW9uQXN0YywKQEAgLTUyLDcgKzUxLDYgQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxQ
QUw6OldlYkdQVTo6RmVhdHVyZU5hbWU+IHsKICAgICAgICAgUEFMOjpXZWJHUFU6OkZlYXR1cmVO
YW1lOjpEZXB0aENsaXBDb250cm9sLAogICAgICAgICBQQUw6OldlYkdQVTo6RmVhdHVyZU5hbWU6
OkRlcHRoMjR1bm9ybVN0ZW5jaWw4LAogICAgICAgICBQQUw6OldlYkdQVTo6RmVhdHVyZU5hbWU6
OkRlcHRoMzJmbG9hdFN0ZW5jaWw4LAotICAgICAgICBQQUw6OldlYkdQVTo6RmVhdHVyZU5hbWU6
OlBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5LAogICAgICAgICBQQUw6OldlYkdQVTo6RmVhdHVyZU5h
bWU6OlRleHR1cmVDb21wcmVzc2lvbkJjLAogICAgICAgICBQQUw6OldlYkdQVTo6RmVhdHVyZU5h
bWU6OlRleHR1cmVDb21wcmVzc2lvbkV0YzIsCiAgICAgICAgIFBBTDo6V2ViR1BVOjpGZWF0dXJl
TmFtZTo6VGV4dHVyZUNvbXByZXNzaW9uQXN0YywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVUZyYWdtZW50U3RhdGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVUZyYWdtZW50U3RhdGUuaAppbmRl
eCA4YTcwZjA5MjlhMDdjYzE0ZDYzYjJhNTA1Nzg2OTdlN2MwNmJkYzU1Li5jMjI5NTRlMDcxNGM2
ZDI5YmMwY2Y2YThjM2I1N2U0ZWJhNDA1ZTc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVGcmFnbWVudFN0YXRlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVRnJhZ21lbnRTdGF0ZS5oCkBA
IC0yNywxMiArMjcsMTMgQEAKIAogI2luY2x1ZGUgIldlYkdQVUNvbG9yVGFyZ2V0U3RhdGUuaCIK
ICNpbmNsdWRlICJXZWJHUFVQcm9ncmFtbWFibGVTdGFnZS5oIgorI2luY2x1ZGUgPG9wdGlvbmFs
PgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFBBTDo6V2ViR1BVIHsKIAog
c3RydWN0IEZyYWdtZW50U3RhdGUgOiBwdWJsaWMgUHJvZ3JhbW1hYmxlU3RhZ2UgewotICAgIFZl
Y3RvcjxDb2xvclRhcmdldFN0YXRlPiB0YXJnZXRzOworICAgIFZlY3RvcjxzdGQ6Om9wdGlvbmFs
PENvbG9yVGFyZ2V0U3RhdGU+PiB0YXJnZXRzOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgUEFMOjpX
ZWJHUFUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BV
L1dlYkdQVUltYWdlQ29weUV4dGVybmFsSW1hZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwv
Z3JhcGhpY3MvV2ViR1BVL1dlYkdQVUltYWdlQ29weUV4dGVybmFsSW1hZ2UuaAppbmRleCA5NTVm
MDk3ZGNmMDBkNDAxZDAwOTYwNzgwZmEzYjI2NjhjZTVmNGE3Li4wNTcxMmQ1YzIwMDAxZmY2MDAw
ZThmNjE5ZmJlZjMxNWJlNDdhMjU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFs
L2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVJbWFnZUNvcHlFeHRlcm5hbEltYWdlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVSW1hZ2VDb3B5RXh0ZXJu
YWxJbWFnZS5oCkBAIC0zNCw2ICszNCw3IEBAIG5hbWVzcGFjZSBQQUw6OldlYkdQVSB7CiBzdHJ1
Y3QgSW1hZ2VDb3B5RXh0ZXJuYWxJbWFnZSB7CiAgICAgLy8gRklYTUU6IEhhbmRsZSB0aGUgc291
cmNlLgogICAgIHN0ZDo6b3B0aW9uYWw8T3JpZ2luMkQ+IG9yaWdpbjsKKyAgICBib29sIGZsaXBZ
IHsgZmFsc2UgfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFBBTDo6V2ViR1BVCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVMb2FkT3AuaCBi
L1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVUxvYWRPcC5oCmlu
ZGV4IGRjODI2MGQ3MzMwZDY4ZDg0ODVlYTc2OWYyZDBlYzBlYTU5MDE0MWIuLmIwZjg4YTkyYTY1
NWZmZmRkMjJlZjQ2MzA1NzU3YzYxNmZiYmFkOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVUxvYWRPcC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVUxvYWRPcC5oCkBAIC0zMiw2ICszMiw3
IEBAIG5hbWVzcGFjZSBQQUw6OldlYkdQVSB7CiAKIGVudW0gY2xhc3MgTG9hZE9wIDogdWludDhf
dCB7CiAgICAgTG9hZCwKKyAgICBDbGVhciwKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFBBTDo6V2Vi
R1BVCkBAIC00MSw3ICs0Miw4IEBAIG5hbWVzcGFjZSBXVEYgewogdGVtcGxhdGU8PiBzdHJ1Y3Qg
RW51bVRyYWl0czxQQUw6OldlYkdQVTo6TG9hZE9wPiB7CiAgICAgdXNpbmcgdmFsdWVzID0gRW51
bVZhbHVlczwKICAgICAgICAgUEFMOjpXZWJHUFU6OkxvYWRPcCwKLSAgICAgICAgUEFMOjpXZWJH
UFU6OkxvYWRPcDo6TG9hZAorICAgICAgICBQQUw6OldlYkdQVTo6TG9hZE9wOjpMb2FkLAorICAg
ICAgICBQQUw6OldlYkdQVTo6TG9hZE9wOjpDbGVhcgogICAgID47CiB9OwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVQaXBlbGluZVN0
YXRpc3RpY05hbWUuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dl
YkdQVVBpcGVsaW5lU3RhdGlzdGljTmFtZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCBiZjkzZjY3OTAwNGFkYzYwMzA3NTllNWVjMzkzNzhhZGQ1ZDk0YzZiLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwv
Z3JhcGhpY3MvV2ViR1BVL1dlYkdQVVBpcGVsaW5lU3RhdGlzdGljTmFtZS5oCisrKyAvZGV2L251
bGwKQEAgLTEsNTYgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAq
IGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi0jaW5jbHVk
ZSA8Y3N0ZGludD4KLSNpbmNsdWRlIDx3dGYvRW51bVRyYWl0cy5oPgotCi1uYW1lc3BhY2UgUEFM
OjpXZWJHUFUgewotCi1lbnVtIGNsYXNzIFBpcGVsaW5lU3RhdGlzdGljTmFtZSA6IHVpbnQ4X3Qg
ewotICAgIFZlcnRleFNoYWRlckludm9jYXRpb25zLAotICAgIENsaXBwZXJJbnZvY2F0aW9ucywK
LSAgICBDbGlwcGVyUHJpbWl0aXZlc091dCwKLSAgICBGcmFnbWVudFNoYWRlckludm9jYXRpb25z
LAotICAgIENvbXB1dGVTaGFkZXJJbnZvY2F0aW9ucywKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFBB
TDo6V2ViR1BVCi0KLW5hbWVzcGFjZSBXVEYgewotCi10ZW1wbGF0ZTw+IHN0cnVjdCBFbnVtVHJh
aXRzPFBBTDo6V2ViR1BVOjpQaXBlbGluZVN0YXRpc3RpY05hbWU+IHsKLSAgICB1c2luZyB2YWx1
ZXMgPSBFbnVtVmFsdWVzPAotICAgICAgICBQQUw6OldlYkdQVTo6UGlwZWxpbmVTdGF0aXN0aWNO
YW1lLAotICAgICAgICBQQUw6OldlYkdQVTo6UGlwZWxpbmVTdGF0aXN0aWNOYW1lOjpWZXJ0ZXhT
aGFkZXJJbnZvY2F0aW9ucywKLSAgICAgICAgUEFMOjpXZWJHUFU6OlBpcGVsaW5lU3RhdGlzdGlj
TmFtZTo6Q2xpcHBlckludm9jYXRpb25zLAotICAgICAgICBQQUw6OldlYkdQVTo6UGlwZWxpbmVT
dGF0aXN0aWNOYW1lOjpDbGlwcGVyUHJpbWl0aXZlc091dCwKLSAgICAgICAgUEFMOjpXZWJHUFU6
OlBpcGVsaW5lU3RhdGlzdGljTmFtZTo6RnJhZ21lbnRTaGFkZXJJbnZvY2F0aW9ucywKLSAgICAg
ICAgUEFMOjpXZWJHUFU6OlBpcGVsaW5lU3RhdGlzdGljTmFtZTo6Q29tcHV0ZVNoYWRlckludm9j
YXRpb25zCi0gICAgPjsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdURgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVUXVlcnlTZXREZXNjcmlw
dG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVRdWVy
eVNldERlc2NyaXB0b3IuaAppbmRleCA4NzkxMDkwNzI3NTY0NjJiYWVjMTFmNDc4ZGQ0NDQ1NmYw
OTU1ZmQ3Li4xYTU1Y2E3N2JiZGZjMGQxZmJlNmI5N2I1OTMyMjVjMjE0OTYxMDhiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVRdWVyeVNl
dERlc2NyaXB0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQ
VS9XZWJHUFVRdWVyeVNldERlc2NyaXB0b3IuaApAQCAtMjcsNyArMjcsNiBAQAogCiAjaW5jbHVk
ZSAiV2ViR1BVSW50ZWdyYWxUeXBlcy5oIgogI2luY2x1ZGUgIldlYkdQVU9iamVjdERlc2NyaXB0
b3JCYXNlLmgiCi0jaW5jbHVkZSAiV2ViR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lLmgiCiAjaW5j
bHVkZSAiV2ViR1BVUXVlcnlUeXBlLmgiCiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCkBAIC0z
Niw3ICszNSw2IEBAIG5hbWVzcGFjZSBQQUw6OldlYkdQVSB7CiBzdHJ1Y3QgUXVlcnlTZXREZXNj
cmlwdG9yIDogcHVibGljIE9iamVjdERlc2NyaXB0b3JCYXNlIHsKICAgICBRdWVyeVR5cGUgdHlw
ZSB7IFF1ZXJ5VHlwZTo6T2NjbHVzaW9uIH07CiAgICAgU2l6ZTMyIGNvdW50IHsgMCB9OwotICAg
IFZlY3RvcjxQaXBlbGluZVN0YXRpc3RpY05hbWU+IHBpcGVsaW5lU3RhdGlzdGljczsKIH07CiAK
IH0gLy8gbmFtZXNwYWNlIFBBTDo6V2ViR1BVCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVRdWVyeVR5cGUuaCBiL1NvdXJjZS9XZWJDb3Jl
L1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVF1ZXJ5VHlwZS5oCmluZGV4IGNjMzBkNDg4
M2ZmMmRlMDZlZDlkOGJjOGM5OTJjNWRiODFjNjNkZTQuLmIyYWE1YWY1YWMxMjIxOTA2NDY1MjMz
YzMwMmFmODg4ZTJmM2NiZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3Jh
cGhpY3MvV2ViR1BVL1dlYkdQVVF1ZXJ5VHlwZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9w
YWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVF1ZXJ5VHlwZS5oCkBAIC0zMiw3ICszMiw2IEBAIG5h
bWVzcGFjZSBQQUw6OldlYkdQVSB7CiAKIGVudW0gY2xhc3MgUXVlcnlUeXBlIDogdWludDhfdCB7
CiAgICAgT2NjbHVzaW9uLAotICAgIFBpcGVsaW5lU3RhdGlzdGljcywKICAgICBUaW1lc3RhbXAs
CiB9OwogCkBAIC00NCw3ICs0Myw2IEBAIHRlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8UEFM
OjpXZWJHUFU6OlF1ZXJ5VHlwZT4gewogICAgIHVzaW5nIHZhbHVlcyA9IEVudW1WYWx1ZXM8CiAg
ICAgICAgIFBBTDo6V2ViR1BVOjpRdWVyeVR5cGUsCiAgICAgICAgIFBBTDo6V2ViR1BVOjpRdWVy
eVR5cGU6Ok9jY2x1c2lvbiwKLSAgICAgICAgUEFMOjpXZWJHUFU6OlF1ZXJ5VHlwZTo6UGlwZWxp
bmVTdGF0aXN0aWNzLAogICAgICAgICBQQUw6OldlYkdQVTo6UXVlcnlUeXBlOjpUaW1lc3RhbXAK
ICAgICA+OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3Mv
V2ViR1BVL1dlYkdQVVF1ZXVlLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dl
YkdQVS9XZWJHUFVRdWV1ZS5oCmluZGV4IDZmOGY4ZjgxMGI4ZDAxYTEyOGM2YmRlZmNkZTMyY2Y1
YTQwOTIzOGEuLjY0ODY2ZThlNmE0Nzk2ZTkxMmI5ODc1ZDNkNmJiNWVmNzExNjRhMTUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVF1ZXVl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVUXVl
dWUuaApAQCAtNjYsOCArNjYsOCBAQCBwdWJsaWM6CiAgICAgICAgIFNpemU2NCBidWZmZXJPZmZz
ZXQsCiAgICAgICAgIGNvbnN0IHZvaWQqIHNvdXJjZSwKICAgICAgICAgc2l6ZV90IGJ5dGVMZW5n
dGgsCi0gICAgICAgIFNpemU2NCBkYXRhT2Zmc2V0LAotICAgICAgICBzdGQ6Om9wdGlvbmFsPFNp
emU2ND4pID0gMDsKKyAgICAgICAgU2l6ZTY0IGRhdGFPZmZzZXQgPSAwLAorICAgICAgICBzdGQ6
Om9wdGlvbmFsPFNpemU2ND4gPSBzdGQ6Om51bGxvcHQpID0gMDsKIAogICAgIHZpcnR1YWwgdm9p
ZCB3cml0ZVRleHR1cmUoCiAgICAgICAgIGNvbnN0IEltYWdlQ29weVRleHR1cmUmIGRlc3RpbmF0
aW9uLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUv
V2ViR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudC5oIGIvU291cmNlL1dlYkNvcmUvUEFML3Bh
bC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudC5oCmluZGV4
IDI4MzgxMzU2MDdmY2FiYTUyZTE5MWMwYjI1NGQzNjQ4YmIzMzk1MzYuLmQ3OTgyMTNhZDQxYjA4
MGEzNDYyNWM5ODBlYWYxZDBkNDJlY2ZmOTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BB
TC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVSZW5kZXJQ
YXNzQ29sb3JBdHRhY2htZW50LmgKQEAgLTQwLDcgKzQwLDggQEAgc3RydWN0IFJlbmRlclBhc3ND
b2xvckF0dGFjaG1lbnQgewogICAgIFRleHR1cmVWaWV3JiB2aWV3OwogICAgIFRleHR1cmVWaWV3
KiByZXNvbHZlVGFyZ2V0IHsgbnVsbHB0ciB9OwogCi0gICAgc3RkOjp2YXJpYW50PExvYWRPcCwg
VmVjdG9yPGRvdWJsZT4sIENvbG9yRGljdD4gbG9hZFZhbHVlOworICAgIHN0ZDo6b3B0aW9uYWw8
Q29sb3I+IGNsZWFyVmFsdWU7CisgICAgTG9hZE9wIGxvYWRPcCB7IExvYWRPcDo6TG9hZCB9Owog
ICAgIFN0b3JlT3Agc3RvcmVPcCB7IFN0b3JlT3A6OlN0b3JlIH07CiB9OwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVSZW5kZXJQYXNz
RGVwdGhTdGVuY2lsQXR0YWNobWVudC5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGlj
cy9XZWJHUFUvV2ViR1BVUmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQuaAppbmRleCBi
NDMwZTQ1MjYxMGQ2ZTE5NmQ1MDIyMjkxNDg2YTE1YzVhYzdkNGNmLi44M2IyNzA2ZDQxZTI3YzI4
OWM0NGNiZmViMjU4ZDcwYWQ0YjNjZDFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwv
cGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVSZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNobWVu
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVJl
bmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50LmgKQEAgLTM4LDEyICszOCwxNCBAQCBjbGFz
cyBUZXh0dXJlVmlldzsKIHN0cnVjdCBSZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNobWVudCB7
CiAgICAgVGV4dHVyZVZpZXcmIHZpZXc7CiAKLSAgICBzdGQ6OnZhcmlhbnQ8TG9hZE9wLCBmbG9h
dD4gZGVwdGhMb2FkVmFsdWU7Ci0gICAgU3RvcmVPcCBkZXB0aFN0b3JlT3AgeyBTdG9yZU9wOjpT
dG9yZSB9OworICAgIGZsb2F0IGRlcHRoQ2xlYXJWYWx1ZSB7IDAgfTsKKyAgICBzdGQ6Om9wdGlv
bmFsPExvYWRPcD4gZGVwdGhMb2FkT3A7CisgICAgc3RkOjpvcHRpb25hbDxTdG9yZU9wPiBkZXB0
aFN0b3JlT3A7CiAgICAgYm9vbCBkZXB0aFJlYWRPbmx5IHsgZmFsc2UgfTsKIAotICAgIHN0ZDo6
dmFyaWFudDxMb2FkT3AsIFN0ZW5jaWxWYWx1ZT4gc3RlbmNpbExvYWRWYWx1ZTsKLSAgICBTdG9y
ZU9wIHN0ZW5jaWxTdG9yZU9wIHsgU3RvcmVPcDo6U3RvcmUgfTsKKyAgICBTdGVuY2lsVmFsdWUg
c3RlbmNpbENsZWFyVmFsdWUgeyAwIH07CisgICAgc3RkOjpvcHRpb25hbDxMb2FkT3A+IHN0ZW5j
aWxMb2FkT3A7CisgICAgc3RkOjpvcHRpb25hbDxTdG9yZU9wPiBzdGVuY2lsU3RvcmVPcDsKICAg
ICBib29sIHN0ZW5jaWxSZWFkT25seSB7IGZhbHNlIH07CiB9OwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVSZW5kZXJQYXNzRGVzY3Jp
cHRvci5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVUmVu
ZGVyUGFzc0Rlc2NyaXB0b3IuaAppbmRleCAwZmFmZWI0NDY1NTg2M2Y4ZTcwMzM3NGFlY2UwMWZi
YmZkYTA2MWNlLi42NjA5MGNkYzNjZGRkM2U4NzUwOGQyZTgzYTM4ODIxMDg1YTI3Nzk1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVSZW5k
ZXJQYXNzRGVzY3JpcHRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3Mv
V2ViR1BVL1dlYkdQVVJlbmRlclBhc3NEZXNjcmlwdG9yLmgKQEAgLTM2LDcgKzM2LDcgQEAKIG5h
bWVzcGFjZSBQQUw6OldlYkdQVSB7CiAKIHN0cnVjdCBSZW5kZXJQYXNzRGVzY3JpcHRvciA6IHB1
YmxpYyBPYmplY3REZXNjcmlwdG9yQmFzZSB7Ci0gICAgVmVjdG9yPFJlbmRlclBhc3NDb2xvckF0
dGFjaG1lbnQ+IGNvbG9yQXR0YWNobWVudHM7CisgICAgVmVjdG9yPHN0ZDo6b3B0aW9uYWw8UmVu
ZGVyUGFzc0NvbG9yQXR0YWNobWVudD4+IGNvbG9yQXR0YWNobWVudHM7CiAgICAgc3RkOjpvcHRp
b25hbDxSZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNobWVudD4gZGVwdGhTdGVuY2lsQXR0YWNo
bWVudDsKICAgICBRdWVyeVNldCogb2NjbHVzaW9uUXVlcnlTZXQgeyBudWxscHRyIH07CiAgICAg
UmVuZGVyUGFzc1RpbWVzdGFtcFdyaXRlcyB0aW1lc3RhbXBXcml0ZXM7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVSZW5kZXJQYXNzRW5j
b2Rlci5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVUmVu
ZGVyUGFzc0VuY29kZXIuaAppbmRleCA3MzUyZWExZGQ4Yjk1M2IyNWY1ODI0NjZlYWE3Nzk2ZWU1
ZGYyMmY3Li41NTg1ZjRhZjJhOTZjMWZjZDVhYzgwNDIxNDI5NDY1MmJhMTlmMjAwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVSZW5kZXJQ
YXNzRW5jb2Rlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BV
L1dlYkdQVVJlbmRlclBhc3NFbmNvZGVyLmgKQEAgLTk3LDExICs5Nyw4IEBAIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIHZvaWQgYmVnaW5PY2NsdXNpb25RdWVyeShTaXplMzIgcXVlcnlJbmRleCkgPSAw
OwogICAgIHZpcnR1YWwgdm9pZCBlbmRPY2NsdXNpb25RdWVyeSgpID0gMDsKIAotICAgIHZpcnR1
YWwgdm9pZCBiZWdpblBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KGNvbnN0IFF1ZXJ5U2V0JiwgU2l6
ZTMyIHF1ZXJ5SW5kZXgpID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgZW5kUGlwZWxpbmVTdGF0aXN0
aWNzUXVlcnkoKSA9IDA7Ci0KICAgICB2aXJ0dWFsIHZvaWQgZXhlY3V0ZUJ1bmRsZXMoVmVjdG9y
PHN0ZDo6cmVmZXJlbmNlX3dyYXBwZXI8UmVuZGVyQnVuZGxlPj4mJikgPSAwOwotICAgIHZpcnR1
YWwgdm9pZCBlbmRQYXNzKCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBlbmQoKSA9IDA7CiAKIHBy
b3RlY3RlZDoKICAgICBSZW5kZXJQYXNzRW5jb2RlcigpID0gZGVmYXVsdDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVJlbmRlclBhc3NM
YXlvdXQuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVJl
bmRlclBhc3NMYXlvdXQuaAppbmRleCBhZjkzZjFmMWIyZDcwMTFkNWUzYjg1YzdkNGVjMDkwMTQ0
YjAyMDQ1Li44MGQ4MmRhMzU3ZTQ5MjQ0MDEzMWU0ZjM2YjIzZGJjNTRlOTRmNTU3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVSZW5kZXJQ
YXNzTGF5b3V0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUv
V2ViR1BVUmVuZGVyUGFzc0xheW91dC5oCkBAIC0zNCw3ICszNCw3IEBACiBuYW1lc3BhY2UgUEFM
OjpXZWJHUFUgewogCiBzdHJ1Y3QgUmVuZGVyUGFzc0xheW91dCA6IHB1YmxpYyBPYmplY3REZXNj
cmlwdG9yQmFzZSB7Ci0gICAgVmVjdG9yPFRleHR1cmVGb3JtYXQ+IGNvbG9yRm9ybWF0czsKKyAg
ICBWZWN0b3I8c3RkOjpvcHRpb25hbDxUZXh0dXJlRm9ybWF0Pj4gY29sb3JGb3JtYXRzOwogICAg
IHN0ZDo6b3B0aW9uYWw8VGV4dHVyZUZvcm1hdD4gZGVwdGhTdGVuY2lsRm9ybWF0OwogICAgIFNp
emUzMiBzYW1wbGVDb3VudCB7IDEgfTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVNoYWRlck1v
ZHVsZUNvbXBpbGF0aW9uSGludC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ3MjIwZGRmMDllYWEwNDQ5NTQ1YTBj
ZGI0ZTZjYjAxYjUxMzM1NzMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwv
cGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQuaApA
QCAtMCwwICsxLDM2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKK25hbWVzcGFjZSBQ
QUw6OldlYkdQVSB7CisKK2NsYXNzIFdlYkdQVVBpcGVsaW5lTGF5b3V0OworCitzdHJ1Y3QgU2hh
ZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50IHsKKyAgICBQaXBlbGluZUxheW91dCYgcGlwZWxpbmVM
YXlvdXQ7Cit9OworCit9IC8vIG5hbWVzcGFjZSBQQUw6OldlYkdQVQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVU2hhZGVyTW9kdWxlRGVz
Y3JpcHRvci5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BV
U2hhZGVyTW9kdWxlRGVzY3JpcHRvci5oCmluZGV4IGM5OWU4ZWUyZmY0ZjFmYTg1ZTM1MTYyNjU3
ZDlhM2Q5ZjZjNzU0NmYuLjMxZTI3YTY5ZGRkZmQ0MzFmMjc2NGNiYWY0NWFiZDRiZTVmN2ZjNTgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQ
VVNoYWRlck1vZHVsZURlc2NyaXB0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dy
YXBoaWNzL1dlYkdQVS9XZWJHUFVTaGFkZXJNb2R1bGVEZXNjcmlwdG9yLmgKQEAgLTI2LDYgKzI2
LDcgQEAKICNwcmFnbWEgb25jZQogCiAjaW5jbHVkZSAiV2ViR1BVT2JqZWN0RGVzY3JpcHRvckJh
c2UuaCIKKyNpbmNsdWRlICJXZWJHUFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQuaCIKICNp
bmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFBBTDo6V2ViR1BVIHsK
QEAgLTMzLDYgKzM0LDcgQEAgbmFtZXNwYWNlIFBBTDo6V2ViR1BVIHsKIHN0cnVjdCBTaGFkZXJN
b2R1bGVEZXNjcmlwdG9yIDogcHVibGljIE9iamVjdERlc2NyaXB0b3JCYXNlIHsKICAgICBTdHJp
bmcgY29kZTsKICAgICAvLyBKU0M6OlN0cm9uZzxKU0M6OkpTT2JqZWN0PiBzb3VyY2VNYXA7Cisg
ICAgVmVjdG9yPEtleVZhbHVlUGFpcjxTdHJpbmcsIFNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGlu
dD4+IGhpbnRzOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgUEFMOjpXZWJHUFUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVRleHR1cmVEZXNj
cmlwdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVU
ZXh0dXJlRGVzY3JpcHRvci5oCmluZGV4IDU4YTBmY2E3ODhkMjQyNTM3M2Q5N2ViZThiMTMxYzlm
ZGVkNmNkNWMuLjc3MDNiMjA0M2Q5MWI3NWYxNzE4YjJmZTRkMmVmYTIyODQwNDc0MjUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVRleHR1
cmVEZXNjcmlwdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJH
UFUvV2ViR1BVVGV4dHVyZURlc2NyaXB0b3IuaApAQCAtNDEsNiArNDEsNyBAQCBzdHJ1Y3QgVGV4
dHVyZURlc2NyaXB0b3IgOiBwdWJsaWMgT2JqZWN0RGVzY3JpcHRvckJhc2UgewogICAgIFRleHR1
cmVEaW1lbnNpb24gZGltZW5zaW9uIHsgVGV4dHVyZURpbWVuc2lvbjo6XzJkIH07CiAgICAgVGV4
dHVyZUZvcm1hdCBmb3JtYXQgeyBUZXh0dXJlRm9ybWF0OjpSOHVub3JtIH07CiAgICAgVGV4dHVy
ZVVzYWdlRmxhZ3MgdXNhZ2U7CisgICAgVmVjdG9yPFRleHR1cmVGb3JtYXQ+IHZpZXdGb3JtYXRz
OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgUEFMOjpXZWJHUFUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVRleHR1cmVGb3JtYXQuaCBiL1Nv
dXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVRleHR1cmVGb3JtYXQu
aAppbmRleCA2MjU5NDYwMDVmMGU4NjNhZjkwMzI4MTY1YjM4ODkxMmRkNzUwMjQ0Li42M2I0Mjk4
ZWIzOTNmZmQwMWUyOWRmOWVhYjY5Zjg5ZjQwNjgzM2Q3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVUZXh0dXJlRm9ybWF0LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVVGV4dHVyZUZvcm1h
dC5oCkBAIC03OCwxMyArNzgsMTkgQEAgZW51bSBjbGFzcyBUZXh0dXJlRm9ybWF0IDogdWludDhf
dCB7CiAgICAgUmdiYTMyc2ludCwKICAgICBSZ2JhMzJmbG9hdCwKIAotICAgIC8vIERlcHRoIGFu
ZCBzdGVuY2lsIGZvcm1hdHMKKyAgICAvLyBEZXB0aC9zdGVuY2lsIGZvcm1hdHMKICAgICBTdGVu
Y2lsOCwKICAgICBEZXB0aDE2dW5vcm0sCiAgICAgRGVwdGgyNHBsdXMsCiAgICAgRGVwdGgyNHBs
dXNTdGVuY2lsOCwKICAgICBEZXB0aDMyZmxvYXQsCiAKKyAgICAvLyBkZXB0aDI0dW5vcm0tc3Rl
bmNpbDggZmVhdHVyZQorICAgIERlcHRoMjR1bm9ybVN0ZW5jaWw4LAorCisgICAgLy8gZGVwdGgz
MmZsb2F0LXN0ZW5jaWw4IGZlYXR1cmUKKyAgICBEZXB0aDMyZmxvYXRTdGVuY2lsOCwKKwogICAg
IC8vIEJDIGNvbXByZXNzZWQgZm9ybWF0cyB1c2FibGUgaWYgdGV4dHVyZS1jb21wcmVzc2lvbi1i
YyBpcyBib3RoCiAgICAgLy8gc3VwcG9ydGVkIGJ5IHRoZSBkZXZpY2UvdXNlciBhZ2VudCBhbmQg
ZW5hYmxlZCBpbiByZXF1ZXN0RGV2aWNlLgogICAgIEJjMVJnYmFVbm9ybSwKQEAgLTE0NSwxMiAr
MTUxLDYgQEAgZW51bSBjbGFzcyBUZXh0dXJlRm9ybWF0IDogdWludDhfdCB7CiAgICAgQXN0YzEy
eDEwVW5vcm1TUkdCLAogICAgIEFzdGMxMngxMlVub3JtLAogICAgIEFzdGMxMngxMlVub3JtU1JH
QiwKLQotICAgIC8vIGRlcHRoMjR1bm9ybS1zdGVuY2lsOCBmZWF0dXJlCi0gICAgRGVwdGgyNHVu
b3JtU3RlbmNpbDgsCi0KLSAgICAvLyBkZXB0aDMyZmxvYXQtc3RlbmNpbDggZmVhdHVyZQotICAg
IERlcHRoMzJmbG9hdFN0ZW5jaWw4LAogfTsKIAogfSAvLyBuYW1lc3BhY2UgUEFMOjpXZWJHUFUK
QEAgLTIwMSw2ICsyMDEsOCBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBFbnVtVHJhaXRzPFBBTDo6V2Vi
R1BVOjpUZXh0dXJlRm9ybWF0PiB7CiAgICAgICAgIFBBTDo6V2ViR1BVOjpUZXh0dXJlRm9ybWF0
OjpEZXB0aDI0cGx1cywKICAgICAgICAgUEFMOjpXZWJHUFU6OlRleHR1cmVGb3JtYXQ6OkRlcHRo
MjRwbHVzU3RlbmNpbDgsCiAgICAgICAgIFBBTDo6V2ViR1BVOjpUZXh0dXJlRm9ybWF0OjpEZXB0
aDMyZmxvYXQsCisgICAgICAgIFBBTDo6V2ViR1BVOjpUZXh0dXJlRm9ybWF0OjpEZXB0aDI0dW5v
cm1TdGVuY2lsOCwKKyAgICAgICAgUEFMOjpXZWJHUFU6OlRleHR1cmVGb3JtYXQ6OkRlcHRoMzJm
bG9hdFN0ZW5jaWw4LAogICAgICAgICBQQUw6OldlYkdQVTo6VGV4dHVyZUZvcm1hdDo6QmMxUmdi
YVVub3JtLAogICAgICAgICBQQUw6OldlYkdQVTo6VGV4dHVyZUZvcm1hdDo6QmMxUmdiYVVub3Jt
U1JHQiwKICAgICAgICAgUEFMOjpXZWJHUFU6OlRleHR1cmVGb3JtYXQ6OkJjMlJnYmFVbm9ybSwK
QEAgLTI1Miw5ICsyNTQsNyBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBFbnVtVHJhaXRzPFBBTDo6V2Vi
R1BVOjpUZXh0dXJlRm9ybWF0PiB7CiAgICAgICAgIFBBTDo6V2ViR1BVOjpUZXh0dXJlRm9ybWF0
OjpBc3RjMTJ4MTBVbm9ybSwKICAgICAgICAgUEFMOjpXZWJHUFU6OlRleHR1cmVGb3JtYXQ6OkFz
dGMxMngxMFVub3JtU1JHQiwKICAgICAgICAgUEFMOjpXZWJHUFU6OlRleHR1cmVGb3JtYXQ6OkFz
dGMxMngxMlVub3JtLAotICAgICAgICBQQUw6OldlYkdQVTo6VGV4dHVyZUZvcm1hdDo6QXN0YzEy
eDEyVW5vcm1TUkdCLAotICAgICAgICBQQUw6OldlYkdQVTo6VGV4dHVyZUZvcm1hdDo6RGVwdGgy
NHVub3JtU3RlbmNpbDgsCi0gICAgICAgIFBBTDo6V2ViR1BVOjpUZXh0dXJlRm9ybWF0OjpEZXB0
aDMyZmxvYXRTdGVuY2lsOAorICAgICAgICBQQUw6OldlYkdQVTo6VGV4dHVyZUZvcm1hdDo6QXN0
YzEyeDEyVW5vcm1TUkdCCiAgICAgPjsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1NvdXJjZXMudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKaW5kZXggMDZjOWIyMTgx
NjVmNGUzNTNlOTQ4OWYwNTJmMGRmYjk5MWI5MjZhNC4uNGMyNzIzMWM3OWFjM2U0MDg0MWY1MDNm
Mzk2ZjcwNzAyMDVkOWYyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQK
KysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTMxODUsNiArMzE4NSw3IEBAIEpT
R1BVQ29tbWFuZEJ1ZmZlci5jcHAKIEpTR1BVQ29tbWFuZEJ1ZmZlckRlc2NyaXB0b3IuY3BwCiBK
U0dQVUNvbW1hbmRFbmNvZGVyLmNwcAogSlNHUFVDb21tYW5kRW5jb2RlckRlc2NyaXB0b3IuY3Bw
CitKU0dQVUNvbW1hbmRzTWl4aW4uY3BwCiBKU0dQVUNvbXBhcmVGdW5jdGlvbi5jcHAKIEpTR1BV
Q29tcGlsYXRpb25JbmZvLmNwcAogSlNHUFVDb21waWxhdGlvbk1lc3NhZ2UuY3BwCkBAIC0zMTk2
LDYgKzMxOTcsNyBAQCBKU0dQVUNvbXB1dGVQYXNzVGltZXN0YW1wV3JpdGUuY3BwCiBKU0dQVUNv
bXB1dGVQaXBlbGluZS5jcHAKIEpTR1BVQ29tcHV0ZVBpcGVsaW5lRGVzY3JpcHRvci5jcHAKIEpT
R1BVQ3VsbE1vZGUuY3BwCitKU0dQVURlYnVnQ29tbWFuZHNNaXhpbi5jcHAKIEpTR1BVRGVwdGhT
dGVuY2lsU3RhdGUuY3BwCiBKU0dQVURldmljZS5jcHAKIEpTR1BVRGV2aWNlRGVzY3JpcHRvci5j
cHAKQEAgLTMyMzEsNyArMzIzMyw2IEBAIEpTR1BVUGlwZWxpbmVCYXNlLmNwcAogSlNHUFVQaXBl
bGluZURlc2NyaXB0b3JCYXNlLmNwcAogSlNHUFVQaXBlbGluZUxheW91dC5jcHAKIEpTR1BVUGlw
ZWxpbmVMYXlvdXREZXNjcmlwdG9yLmNwcAotSlNHUFVQaXBlbGluZVN0YXRpc3RpY05hbWUuY3Bw
CiBKU0dQVVBvd2VyUHJlZmVyZW5jZS5jcHAKIEpTR1BVUHJlZGVmaW5lZENvbG9yU3BhY2UuY3Bw
CiBKU0dQVVByaW1pdGl2ZVN0YXRlLmNwcApAQCAtMzI2Miw2ICszMjYzLDcgQEAgSlNHUFVTYW1w
bGVyQmluZGluZ0xheW91dC5jcHAKIEpTR1BVU2FtcGxlckJpbmRpbmdUeXBlLmNwcAogSlNHUFVT
YW1wbGVyRGVzY3JpcHRvci5jcHAKIEpTR1BVU2hhZGVyTW9kdWxlLmNwcAorSlNHUFVTaGFkZXJN
b2R1bGVDb21waWxhdGlvbkhpbnQuY3BwCiBKU0dQVVNoYWRlck1vZHVsZURlc2NyaXB0b3IuY3Bw
CiBKU0dQVVNoYWRlclN0YWdlLmNwcAogSlNHUFVTdGVuY2lsRmFjZVN0YXRlLmNwcApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGZi
OWZiN2NjMjIxODlmMDM0MzAyMGNmNmMwZmEzZDY2NWRiOWViMzguLjBhNTliMTdjMWEwYTMyMDlk
Yjk4MzQ3MTAzZmQ2Mzg1MTI3NGYyOWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTczMjQsNyArNzMyNCw2IEBACiAJCTFDOTA3
ODA4Mjc1MUZENTMwMDRFRjE2NSAvKiBKU0dQVUV4dGVudDNERGljdC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBKU0dQVUV4dGVudDNERGljdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQzkw
NzgwOTI3NTFGRDUzMDA0RUYxNjUgLyogSlNHUFVRdWVyeVNldC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBK
U0dQVVF1ZXJ5U2V0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDOTA3ODBBMjc1
MUZENTQwMDRFRjE2NSAvKiBKU0dQVUltYWdlRGF0YUxheW91dC5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBKU0dQVUltYWdlRGF0YUxheW91dC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
Ci0JCTFDOTA3ODBCMjc1MUZENTQwMDRFRjE2NSAvKiBKU0dQVVBpcGVsaW5lU3RhdGlzdGljTmFt
ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBKU0dQVVBpcGVsaW5lU3RhdGlzdGljTmFtZS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkxQzkwNzgwQzI3NTFGRDU0MDA0RUYxNjUgLyogSlNHUFVC
dWZmZXJCaW5kaW5nVHlwZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0dQVUJ1ZmZlckJpbmRp
bmdUeXBlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUM5MDc4MEQyNzUxRkQ1
NTAwNEVGMTY1IC8qIEpTR1BVRGV2aWNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTR1BVRGV2aWNlLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDOTA3ODBFMjc1MUZENTUwMDRFRjE2NSAv
KiBKU0dQVVNhbXBsZXJCaW5kaW5nVHlwZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0dQVVNh
bXBsZXJCaW5kaW5nVHlwZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC03NDU0
LDcgKzc0NTMsNiBAQAogCQkxQzkwNzg4QTI3NTFGRDg2MDA0RUYxNjUgLyogSlNHUFVTYW1wbGVy
RGVzY3JpcHRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0dQVVNhbXBsZXJEZXNjcmlwdG9yLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDOTA3ODhCMjc1MUZEODcwMDRFRjE2NSAvKiBK
U0dQVUNvbXBhcmVGdW5jdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0dQVUNvbXBhcmVGdW5jdGlv
bi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQzkwNzg4QzI3NTFGRDg3MDA0RUYx
NjUgLyogSlNHUFVTdXBwb3J0ZWRGZWF0dXJlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0dQVVN1cHBv
cnRlZEZlYXR1cmVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTFDOTA3ODhEMjc1
MUZEODcwMDRFRjE2NSAvKiBKU0dQVVBpcGVsaW5lU3RhdGlzdGljTmFtZS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBKU0dQVVBpcGVsaW5lU3RhdGlzdGljTmFtZS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTFDOTA3ODhFMjc1MUZEODgwMDRFRjE2NSAvKiBKU0dQVURldmljZS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0dQVURldmljZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTFDOTA3ODhGMjc1MUZEODgwMDRFRjE2NSAvKiBKU0dQVUJ1ZmZlckRlc2Ny
aXB0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNHUFVCdWZmZXJEZXNjcmlwdG9yLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDOTA3ODkwMjc1MUZEODkwMDRFRjE2NSAvKiBKU0dQVU9y
aWdpbjNERGljdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0dQVU9yaWdpbjNERGljdC5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC03NjcyLDcgKzc2NzAsNiBAQAogCQkxQ0E0
RkNFQjI3MzUxRkIxMDAyN0ZENUEgLyogR1BVQ29tbWFuZEVuY29kZXIuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gR1BVQ29tbWFuZEVuY29kZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkxQ0E0RkNFQzI3MzUxRkIyMDAyN0ZENUEgLyogR1BVUXVlcnlTZXREZXNjcmlwdG9yLmlk
bCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7
IHBhdGggPSBHUFVRdWVyeVNldERlc2NyaXB0b3IuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkxQ0E0RkNFRDI3MzUxRkIyMDAyN0ZENUEgLyogR1BVQ29tbWFuZEVuY29kZXIuaWRs
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsg
cGF0aCA9IEdQVUNvbW1hbmRFbmNvZGVyLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
LQkJMUNBNEZDRUUyNzM1MUZCMjAwMjdGRDVBIC8qIEdQVVBpcGVsaW5lU3RhdGlzdGljTmFtZS5p
ZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0
OyBwYXRoID0gR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lLmlkbDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMUNBNEZDRUYyNzM1MUZCMzAwMjdGRDVBIC8qIEdQVVJlbmRlckJ1bmRsZUVu
Y29kZXJEZXNjcmlwdG9yLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBHUFVSZW5kZXJCdW5kbGVFbmNvZGVyRGVzY3JpcHRv
ci5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDQTRGQ0YwMjczNTFGQjMwMDI3
RkQ1QSAvKiBHUFVDb2xvckRpY3QuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEdQVUNvbG9yRGljdC5pZGw7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDQTRGQ0YxMjczNTFGQjMwMDI3RkQ1QSAvKiBHUFVSZW5k
ZXJFbmNvZGVyQmFzZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gR1BVUmVuZGVyRW5jb2RlckJhc2UuaWRsOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwpAQCAtNzcxNCw3ICs3NzExLDYgQEAKIAkJMUNBNEZEMTUyNzM1
MUZDMTAwMjdGRDVBIC8qIEdQVVJlbmRlclBhc3NUaW1lc3RhbXBMb2NhdGlvbi5pZGwgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0g
R1BVUmVuZGVyUGFzc1RpbWVzdGFtcExvY2F0aW9uLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMUNBNEZEMTYyNzM1MUZDMjAwMjdGRDVBIC8qIEdQVUltYWdlQ29weUV4dGVybmFs
SW1hZ2UuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gdGV4dDsgcGF0aCA9IEdQVUltYWdlQ29weUV4dGVybmFsSW1hZ2UuaWRsOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkxQ0E0RkQxNzI3MzUxRkMyMDAyN0ZENUEgLyogR1BVUmVuZGVy
UGFzc0Rlc2NyaXB0b3IuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEdQVVJlbmRlclBhc3NEZXNjcmlwdG9yLmlkbDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMUNBNEZEMTgyNzM1MUZDMzAwMjdGRDVBIC8qIEdQ
VVBpcGVsaW5lU3RhdGlzdGljTmFtZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHUFVQaXBlbGluZVN0YXRp
c3RpY05hbWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNBNEZEMTkyNzM1MUZD
MzAwMjdGRDVBIC8qIEdQVUNvbW1hbmRFbmNvZGVyRGVzY3JpcHRvci5pZGwgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gR1BVQ29t
bWFuZEVuY29kZXJEZXNjcmlwdG9yLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
MUNBNEZEMUEyNzM1MUZDMzAwMjdGRDVBIC8qIEdQVVJlbmRlclBhc3NUaW1lc3RhbXBXcml0ZS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBHUFVSZW5kZXJQYXNzVGltZXN0YW1wV3JpdGUuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNBNEZEMUIyNzM1MUZDNDAwMjdGRDVBIC8qIEdQVU9yaWdp
bjJERGljdC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSB0ZXh0OyBwYXRoID0gR1BVT3JpZ2luMkREaWN0LmlkbDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKQEAgLTc3NzEsNiArNzc2NywxNiBAQAogCQkxQ0VBQTUyRjI2RjMxQUY4MDA4Njg1
MDcgLyogQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBDU1NGb250UGFsZXR0ZVZh
bHVlc1J1bGUuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQ0VBQTUzMDI2RjMz
MUMxMDA4Njg1MDcgLyogQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yc1ZhbHVlLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENTU0ZvbnRQYWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvcnNW
YWx1ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDRUFBNTMxMjZGMzMxQzEw
MDg2ODUwNyAvKiBDU1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JzVmFsdWUuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gQ1NTRm9udFBhbGV0dGVWYWx1ZXNPdmVycmlkZUNvbG9yc1ZhbHVlLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFDRUY0NUE1MjdCQjA5NkEwMEMzQTZCQyAvKiBH
UFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEdQVVNoYWRlck1vZHVsZUNv
bXBpbGF0aW9uSGludC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFDRUY0NUE3
MjdCQjBBM0QwMEMzQTZCQyAvKiBHUFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gR1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTFDRUY0NUE4MjdCQjBCRTEwMEMzQTZCQyAvKiBHUFVDb21tYW5k
c01peGluLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHRleHQ7IHBhdGggPSBHUFVDb21tYW5kc01peGluLmlkbDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJMUNFRjQ1QTkyN0JCMEQzOTAwQzNBNkJDIC8qIEdQVURlYnVnQ29tbWFuZHNN
aXhpbi5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSB0ZXh0OyBwYXRoID0gR1BVRGVidWdDb21tYW5kc01peGluLmlkbDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJMUNFRjQ1QjAyN0JCOTA3RjAwQzNBNkJDIC8qIEpTR1BVQ29tbWFuZHNN
aXhpbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBKU0dQVUNvbW1hbmRzTWl4aW4uaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJMUNFRjQ1QjEyN0JCOTA3RjAwQzNBNkJDIC8qIEpTR1BVQ29tbWFu
ZHNNaXhpbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0dQVUNvbW1hbmRzTWl4aW4uY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQ0VGNDVCMjI3QkI5MDgwMDBDM0E2QkMgLyog
SlNHUFVEZWJ1Z0NvbW1hbmRzTWl4aW4uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNHUFVEZWJ1
Z0NvbW1hbmRzTWl4aW4uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQ0VGNDVC
MzI3QkI5MDgxMDBDM0E2QkMgLyogSlNHUFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gSlNHUFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUNFRjQ1QjQyN0JCOTA4MTAwQzNBNkJDIC8qIEpTR1BV
RGVidWdDb21tYW5kc01peGluLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTR1BVRGVidWdDb21tYW5kc01p
eGluLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFDRUY0NUI1MjdCQjkwODIwMEMz
QTZCQyAvKiBKU0dQVVNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludC5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBKU0dQVVNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludC5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTFDRjBCRkQ0MjI5ODcwNjgwMEVEMjA3NCAvKiBUZXh0U2l6ZUFk
anVzdG1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVGV4dFNpemVBZGp1c3RtZW50LmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNGMThGM0MyNkJCNUFGMjAwNEIxNzIyIC8q
IExvZ0luaXRpYWxpemF0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExvZ0luaXRpYWxpemF0
aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNGQUUzMjIwQTZENkEzRjAw
MzI1OTNEIC8qIGxpYm9iamMuZHlsaWIgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSAiY29tcGlsZWQubWFjaC1vLmR5bGliIjsgbmFtZSA9IGxpYm9iamMu
ZHlsaWI7IHBhdGggPSAvdXNyL2xpYi9saWJvYmpjLmR5bGliOyBzb3VyY2VUcmVlID0gIjxhYnNv
bHV0ZT4iOyB9OwpAQCAtMjAwOTEsNiArMjAwOTcsNyBAQAogCQkJCTFDQTRGQ0VEMjczNTFGQjIw
MDI3RkQ1QSAvKiBHUFVDb21tYW5kRW5jb2Rlci5pZGwgKi8sCiAJCQkJMUNBNEZDRkUyNzM1MUZC
OTAwMjdGRDVBIC8qIEdQVUNvbW1hbmRFbmNvZGVyRGVzY3JpcHRvci5oICovLAogCQkJCTFDQTRG
RDE5MjczNTFGQzMwMDI3RkQ1QSAvKiBHUFVDb21tYW5kRW5jb2RlckRlc2NyaXB0b3IuaWRsICov
LAorCQkJCTFDRUY0NUE4MjdCQjBCRTEwMEMzQTZCQyAvKiBHUFVDb21tYW5kc01peGluLmlkbCAq
LywKIAkJCQkxQ0E0RkM1OTI3MzRFQkNEMDAyN0ZENUEgLyogR1BVQ29tcGFyZUZ1bmN0aW9uLmgg
Ki8sCiAJCQkJMUNBNEZDNUIyNzM0RUJDRTAwMjdGRDVBIC8qIEdQVUNvbXBhcmVGdW5jdGlvbi5p
ZGwgKi8sCiAJCQkJMUNBNEZDRTIyNzM1MTIzQTAwMjdGRDVBIC8qIEdQVUNvbXBpbGF0aW9uSW5m
by5jcHAgKi8sCkBAIC0yMDExNyw2ICsyMDEyNCw3IEBACiAJCQkJMUNBNEZDQjQyNzM1MENFQjAw
MjdGRDVBIC8qIEdQVUNvbXB1dGVQaXBlbGluZURlc2NyaXB0b3IuaWRsICovLAogCQkJCTFDQTRG
Q0EzMjczNTBDRTUwMDI3RkQ1QSAvKiBHUFVDdWxsTW9kZS5oICovLAogCQkJCTFDQTRGQ0NFMjcz
NTBDRjUwMDI3RkQ1QSAvKiBHUFVDdWxsTW9kZS5pZGwgKi8sCisJCQkJMUNFRjQ1QTkyN0JCMEQz
OTAwQzNBNkJDIC8qIEdQVURlYnVnQ29tbWFuZHNNaXhpbi5pZGwgKi8sCiAJCQkJMUNBNEZDRDQy
NzM1MENGODAwMjdGRDVBIC8qIEdQVURlcHRoU3RlbmNpbFN0YXRlLmggKi8sCiAJCQkJMUNBNEZD
REQyNzM1MENGQjAwMjdGRDVBIC8qIEdQVURlcHRoU3RlbmNpbFN0YXRlLmlkbCAqLywKIAkJCQkx
QzI4OTU3RjI3MkY0M0Q4MDBCM0UyQjQgLyogR1BVRGV2aWNlLmNwcCAqLywKQEAgLTIwMTg4LDgg
KzIwMTk2LDYgQEAKIAkJCQkxQ0E0RkM2RTI3MzRGOUY2MDAyN0ZENUEgLyogR1BVUGlwZWxpbmVM
YXlvdXQuaWRsICovLAogCQkJCTFDQTRGQzczMjczNEY5RjgwMDI3RkQ1QSAvKiBHUFVQaXBlbGlu
ZUxheW91dERlc2NyaXB0b3IuaCAqLywKIAkJCQkxQ0E0RkM2NzI3MzRGOUY0MDAyN0ZENUEgLyog
R1BVUGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yLmlkbCAqLywKLQkJCQkxQ0E0RkQxODI3MzUxRkMz
MDAyN0ZENUEgLyogR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lLmggKi8sCi0JCQkJMUNBNEZDRUUy
NzM1MUZCMjAwMjdGRDVBIC8qIEdQVVBpcGVsaW5lU3RhdGlzdGljTmFtZS5pZGwgKi8sCiAJCQkJ
MUMyODk1ODIyNzJGNDhGMjAwQjNFMkI0IC8qIEdQVVBvd2VyUHJlZmVyZW5jZS5oICovLAogCQkJ
CTFDMjg5NTY5MjcyRjI3NDcwMEIzRTJCNCAvKiBHUFVQb3dlclByZWZlcmVuY2UuaWRsICovLAog
CQkJCTFDMjg5NThCMjcyRjVBRjUwMEIzRTJCNCAvKiBHUFVQcmVkZWZpbmVkQ29sb3JTcGFjZS5o
ICovLApAQCAtMjAyNTYsNiArMjAyNjIsOCBAQAogCQkJCTFDQTRGQ0E1MjczNTBDRTYwMDI3RkQ1
QSAvKiBHUFVTaGFkZXJNb2R1bGUuY3BwICovLAogCQkJCTFDQTRGQ0Q1MjczNTBDRjgwMDI3RkQ1
QSAvKiBHUFVTaGFkZXJNb2R1bGUuaCAqLywKIAkJCQkxQ0E0RkNBNzI3MzUwQ0U2MDAyN0ZENUEg
LyogR1BVU2hhZGVyTW9kdWxlLmlkbCAqLywKKwkJCQkxQ0VGNDVBNzI3QkIwQTNEMDBDM0E2QkMg
LyogR1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50LmggKi8sCisJCQkJMUNFRjQ1QTUyN0JC
MDk2QTAwQzNBNkJDIC8qIEdQVVNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludC5pZGwgKi8sCiAJ
CQkJMUNBNEZDQjEyNzM1MENFQTAwMjdGRDVBIC8qIEdQVVNoYWRlck1vZHVsZURlc2NyaXB0b3Iu
aCAqLywKIAkJCQkxQ0E0RkNBQzI3MzUwQ0U4MDAyN0ZENUEgLyogR1BVU2hhZGVyTW9kdWxlRGVz
Y3JpcHRvci5pZGwgKi8sCiAJCQkJMUNBNEZDNkEyNzM0RjlGNTAwMjdGRDVBIC8qIEdQVVNoYWRl
clN0YWdlLmggKi8sCkBAIC0yMzUzMiw2ICsyMzU0MCw4IEBACiAJCQkJMUM5MDc4NEUyNzUxRkQ2
RjAwNEVGMTY1IC8qIEpTR1BVQ29tbWFuZEVuY29kZXIuaCAqLywKIAkJCQkxQzkwNzdFNDI3NTFG
RDQ0MDA0RUYxNjUgLyogSlNHUFVDb21tYW5kRW5jb2RlckRlc2NyaXB0b3IuY3BwICovLAogCQkJ
CTFDOTA3ODVFMjc1MUZENzUwMDRFRjE2NSAvKiBKU0dQVUNvbW1hbmRFbmNvZGVyRGVzY3JpcHRv
ci5oICovLAorCQkJCTFDRUY0NUIxMjdCQjkwN0YwMEMzQTZCQyAvKiBKU0dQVUNvbW1hbmRzTWl4
aW4uY3BwICovLAorCQkJCTFDRUY0NUIwMjdCQjkwN0YwMEMzQTZCQyAvKiBKU0dQVUNvbW1hbmRz
TWl4aW4uaCAqLywKIAkJCQkxQzkwNzg3QjI3NTFGRDgwMDA0RUYxNjUgLyogSlNHUFVDb21wYXJl
RnVuY3Rpb24uY3BwICovLAogCQkJCTFDOTA3ODhCMjc1MUZEODcwMDRFRjE2NSAvKiBKU0dQVUNv
bXBhcmVGdW5jdGlvbi5oICovLAogCQkJCTFDOTA3ODkxMjc1MUZEODkwMDRFRjE2NSAvKiBKU0dQ
VUNvbXBpbGF0aW9uSW5mby5jcHAgKi8sCkBAIC0yMzU1NCw2ICsyMzU2NCw4IEBACiAJCQkJMUM5
MDc4NzAyNzUxRkQ3QzAwNEVGMTY1IC8qIEpTR1BVQ29tcHV0ZVBpcGVsaW5lRGVzY3JpcHRvci5o
ICovLAogCQkJCTFDOTA3ODU5Mjc1MUZENzMwMDRFRjE2NSAvKiBKU0dQVUN1bGxNb2RlLmNwcCAq
LywKIAkJCQkxQzkwNzdFODI3NTFGRDQ2MDA0RUYxNjUgLyogSlNHUFVDdWxsTW9kZS5oICovLAor
CQkJCTFDRUY0NUIyMjdCQjkwODAwMEMzQTZCQyAvKiBKU0dQVURlYnVnQ29tbWFuZHNNaXhpbi5j
cHAgKi8sCisJCQkJMUNFRjQ1QjQyN0JCOTA4MTAwQzNBNkJDIC8qIEpTR1BVRGVidWdDb21tYW5k
c01peGluLmggKi8sCiAJCQkJMUM5MDc4OTQyNzUxRkQ4QTAwNEVGMTY1IC8qIEpTR1BVRGVwdGhT
dGVuY2lsU3RhdGUuY3BwICovLAogCQkJCTFDOTA3ODk5Mjc1MUZEOEMwMDRFRjE2NSAvKiBKU0dQ
VURlcHRoU3RlbmNpbFN0YXRlLmggKi8sCiAJCQkJMUM5MDc4OEUyNzUxRkQ4ODAwNEVGMTY1IC8q
IEpTR1BVRGV2aWNlLmNwcCAqLywKQEAgLTIzNjI0LDggKzIzNjM2LDYgQEAKIAkJCQkxQzkwNzhD
MDI3NTFGRDlCMDA0RUYxNjUgLyogSlNHUFVQaXBlbGluZUxheW91dC5oICovLAogCQkJCTFDOTA3
ODUwMjc1MUZENkYwMDRFRjE2NSAvKiBKU0dQVVBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvci5jcHAg
Ki8sCiAJCQkJMUM5MDc3RkEyNzUxRkQ0RDAwNEVGMTY1IC8qIEpTR1BVUGlwZWxpbmVMYXlvdXRE
ZXNjcmlwdG9yLmggKi8sCi0JCQkJMUM5MDc4OEQyNzUxRkQ4NzAwNEVGMTY1IC8qIEpTR1BVUGlw
ZWxpbmVTdGF0aXN0aWNOYW1lLmNwcCAqLywKLQkJCQkxQzkwNzgwQjI3NTFGRDU0MDA0RUYxNjUg
LyogSlNHUFVQaXBlbGluZVN0YXRpc3RpY05hbWUuaCAqLywKIAkJCQkxQzkwNzg3RTI3NTFGRDgy
MDA0RUYxNjUgLyogSlNHUFVQb3dlclByZWZlcmVuY2UuY3BwICovLAogCQkJCTFDOTA3ODlFMjc1
MUZEOEUwMDRFRjE2NSAvKiBKU0dQVVBvd2VyUHJlZmVyZW5jZS5oICovLAogCQkJCTFDOTA3ODU1
Mjc1MUZENzEwMDRFRjE2NSAvKiBKU0dQVVByZWRlZmluZWRDb2xvclNwYWNlLmNwcCAqLywKQEAg
LTIzNjg2LDYgKzIzNjk2LDggQEAKIAkJCQkxQzkwNzg4QTI3NTFGRDg2MDA0RUYxNjUgLyogSlNH
UFVTYW1wbGVyRGVzY3JpcHRvci5oICovLAogCQkJCTFDOTA3ODU3Mjc1MUZENzIwMDRFRjE2NSAv
KiBKU0dQVVNoYWRlck1vZHVsZS5jcHAgKi8sCiAJCQkJMUM5MDc4QTUyNzUxRkQ5MTAwNEVGMTY1
IC8qIEpTR1BVU2hhZGVyTW9kdWxlLmggKi8sCisJCQkJMUNFRjQ1QjUyN0JCOTA4MjAwQzNBNkJD
IC8qIEpTR1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50LmNwcCAqLywKKwkJCQkxQ0VGNDVC
MzI3QkI5MDgxMDBDM0E2QkMgLyogSlNHUFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQuaCAq
LywKIAkJCQkxQzkwNzdFOTI3NTFGRDQ2MDA0RUYxNjUgLyogSlNHUFVTaGFkZXJNb2R1bGVEZXNj
cmlwdG9yLmNwcCAqLywKIAkJCQkxQzkwNzgzOTI3NTFGRDY2MDA0RUYxNjUgLyogSlNHUFVTaGFk
ZXJNb2R1bGVEZXNjcmlwdG9yLmggKi8sCiAJCQkJMUM5MDc4NzIyNzUxRkQ3RDAwNEVGMTY1IC8q
IEpTR1BVU2hhZGVyU3RhZ2UuY3BwICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkdQVS9XZWJH
UFUvQWRhcHRlci5oIGIvU291cmNlL1dlYkdQVS9XZWJHUFUvQWRhcHRlci5oCmluZGV4IGU3ZDQz
NDk4ODZlNjc5MWM1YzViZDgzNzMzNGJjNTUyYjFiZGVkMDQuLjhjYTRlMGYwZTRiOTdlZTBhNDc4
OGJiOGM0NzZmYjUyNzRmYmIzMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0Fk
YXB0ZXIuaAorKysgYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9BZGFwdGVyLmgKQEAgLTQ1LDEwICs0
NSwxMCBAQCBwdWJsaWM6CiAKICAgICB+QWRhcHRlcigpOwogCisgICAgc2l6ZV90IGVudW1lcmF0
ZUZlYXR1cmVzKFdHUFVGZWF0dXJlTmFtZSogZmVhdHVyZXMpOwogICAgIGJvb2wgZ2V0TGltaXRz
KFdHUFVTdXBwb3J0ZWRMaW1pdHMqKTsKICAgICB2b2lkIGdldFByb3BlcnRpZXMoV0dQVUFkYXB0
ZXJQcm9wZXJ0aWVzKik7CiAgICAgYm9vbCBoYXNGZWF0dXJlKFdHUFVGZWF0dXJlTmFtZSk7Ci0g
ICAgV0dQVUZlYXR1cmVOYW1lIGdldEZlYXR1cmVBdEluZGV4KHNpemVfdCk7CiAgICAgdm9pZCBy
ZXF1ZXN0RGV2aWNlKGNvbnN0IFdHUFVEZXZpY2VEZXNjcmlwdG9yKiwgV1RGOjpGdW5jdGlvbjx2
b2lkKFdHUFVSZXF1ZXN0RGV2aWNlU3RhdHVzLCBSZWY8RGV2aWNlPiYmLCBjb25zdCBjaGFyKik+
JiYgY2FsbGJhY2spOwogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkdQVS9XZWJH
UFUvQWRhcHRlci5tbSBiL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0FkYXB0ZXIubW0KaW5kZXggZWUx
YmIyOGUyN2UwZGMzYjc1OGU2ZDllNzZjNjczZWU1YzMxNWE0NC4uZTI5NDNjYzRiNTQ3YThlM2I2
MTU2NGRiZTAyOGMxZWQ5ZjFlZjYxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkdQVS9XZWJHUFUv
QWRhcHRlci5tbQorKysgYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9BZGFwdGVyLm1tCkBAIC0zNiw2
ICszNiwxMiBAQCBBZGFwdGVyOjpBZGFwdGVyKCkgPSBkZWZhdWx0OwogCiBBZGFwdGVyOjp+QWRh
cHRlcigpID0gZGVmYXVsdDsKIAorc2l6ZV90IEFkYXB0ZXI6OmVudW1lcmF0ZUZlYXR1cmVzKFdH
UFVGZWF0dXJlTmFtZSogZmVhdHVyZXMpCit7CisgICAgVU5VU0VEX1BBUkFNKGZlYXR1cmVzKTsK
KyAgICByZXR1cm4gMDsKK30KKwogYm9vbCBBZGFwdGVyOjpnZXRMaW1pdHMoV0dQVVN1cHBvcnRl
ZExpbWl0cyogbGltaXRzKQogewogICAgIFVOVVNFRF9QQVJBTShsaW1pdHMpOwpAQCAtNTMsMTIg
KzU5LDYgQEAgYm9vbCBBZGFwdGVyOjpoYXNGZWF0dXJlKFdHUFVGZWF0dXJlTmFtZSBmZWF0dXJl
KQogICAgIHJldHVybiBmYWxzZTsKIH0KIAotV0dQVUZlYXR1cmVOYW1lIEFkYXB0ZXI6OmdldEZl
YXR1cmVBdEluZGV4KHNpemVfdCBpbmRleCkKLXsKLSAgICBVTlVTRURfUEFSQU0oaW5kZXgpOwot
ICAgIHJldHVybiBXR1BVRmVhdHVyZU5hbWVfVW5kZWZpbmVkOwotfQotCiB2b2lkIEFkYXB0ZXI6
OnJlcXVlc3REZXZpY2UoY29uc3QgV0dQVURldmljZURlc2NyaXB0b3IqIGRlc2NyaXB0b3IsIFdU
Rjo6RnVuY3Rpb248dm9pZChXR1BVUmVxdWVzdERldmljZVN0YXR1cywgUmVmPERldmljZT4mJiwg
Y29uc3QgY2hhciopPiYmIGNhbGxiYWNrKQogewogICAgIFVOVVNFRF9QQVJBTShkZXNjcmlwdG9y
KTsKQEAgLTcyLDYgKzcyLDExIEBAIHZvaWQgd2dwdUFkYXB0ZXJSZWxlYXNlKFdHUFVBZGFwdGVy
IGFkYXB0ZXIpCiAgICAgZGVsZXRlIGFkYXB0ZXI7CiB9CiAKK3NpemVfdCB3Z3B1QWRhcHRlckVu
dW1lcmF0ZUZlYXR1cmVzKFdHUFVBZGFwdGVyIGFkYXB0ZXIsIFdHUFVGZWF0dXJlTmFtZSogZmVh
dHVyZXMpCit7CisgICAgcmV0dXJuIGFkYXB0ZXItPmFkYXB0ZXItPmVudW1lcmF0ZUZlYXR1cmVz
KGZlYXR1cmVzKTsKK30KKwogYm9vbCB3Z3B1QWRhcHRlckdldExpbWl0cyhXR1BVQWRhcHRlciBh
ZGFwdGVyLCBXR1BVU3VwcG9ydGVkTGltaXRzKiBsaW1pdHMpCiB7CiAgICAgcmV0dXJuIGFkYXB0
ZXItPmFkYXB0ZXItPmdldExpbWl0cyhsaW1pdHMpOwpAQCAtODcsMTEgKzkyLDYgQEAgYm9vbCB3
Z3B1QWRhcHRlckhhc0ZlYXR1cmUoV0dQVUFkYXB0ZXIgYWRhcHRlciwgV0dQVUZlYXR1cmVOYW1l
IGZlYXR1cmUpCiAgICAgcmV0dXJuIGFkYXB0ZXItPmFkYXB0ZXItPmhhc0ZlYXR1cmUoZmVhdHVy
ZSk7CiB9CiAKLVdHUFVGZWF0dXJlTmFtZSB3Z3B1QWRhcHRlckdldEZlYXR1cmVBdEluZGV4KFdH
UFVBZGFwdGVyIGFkYXB0ZXIsIHNpemVfdCBpbmRleCkKLXsKLSAgICByZXR1cm4gYWRhcHRlci0+
YWRhcHRlci0+Z2V0RmVhdHVyZUF0SW5kZXgoaW5kZXgpOwotfQotCiB2b2lkIHdncHVBZGFwdGVy
UmVxdWVzdERldmljZShXR1BVQWRhcHRlciBhZGFwdGVyLCBjb25zdCBXR1BVRGV2aWNlRGVzY3Jp
cHRvciogZGVzY3JpcHRvciwgV0dQVVJlcXVlc3REZXZpY2VDYWxsYmFjayBjYWxsYmFjaywgdm9p
ZCogdXNlcmRhdGEpCiB7CiAgICAgYWRhcHRlci0+YWRhcHRlci0+cmVxdWVzdERldmljZShkZXNj
cmlwdG9yLCBbY2FsbGJhY2ssIHVzZXJkYXRhXSAoV0dQVVJlcXVlc3REZXZpY2VTdGF0dXMgc3Rh
dHVzLCBSZWY8V2ViR1BVOjpEZXZpY2U+JiYgZGV2aWNlLCBjb25zdCBjaGFyKiBtZXNzYWdlKSB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9Db21tYW5kRW5jb2Rlci5oIGIvU291
cmNlL1dlYkdQVS9XZWJHUFUvQ29tbWFuZEVuY29kZXIuaAppbmRleCA1OWNiNDMxMmQzNWJhOTQz
MzhiOGNlNGJmN2QwNGU1MzlmMjk5Zjc3Li4yZjYwZjFjOGE3NTJjZGU3ZjA4MjQ0ZWJjZGM4OTEz
M2Q3MWE3NGMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9Db21tYW5kRW5jb2Rl
ci5oCisrKyBiL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0NvbW1hbmRFbmNvZGVyLmgKQEAgLTU0LDcg
KzU0LDcgQEAgcHVibGljOgogICAgIHZvaWQgY29weUJ1ZmZlclRvVGV4dHVyZShjb25zdCBXR1BV
SW1hZ2VDb3B5QnVmZmVyKiBzb3VyY2UsIGNvbnN0IFdHUFVJbWFnZUNvcHlUZXh0dXJlKiBkZXN0
aW5hdGlvbiwgY29uc3QgV0dQVUV4dGVudDNEKiBjb3B5U2l6ZSk7CiAgICAgdm9pZCBjb3B5VGV4
dHVyZVRvQnVmZmVyKGNvbnN0IFdHUFVJbWFnZUNvcHlUZXh0dXJlKiBzb3VyY2UsIGNvbnN0IFdH
UFVJbWFnZUNvcHlCdWZmZXIqIGRlc3RpbmF0aW9uLCBjb25zdCBXR1BVRXh0ZW50M0QqIGNvcHlT
aXplKTsKICAgICB2b2lkIGNvcHlUZXh0dXJlVG9UZXh0dXJlKGNvbnN0IFdHUFVJbWFnZUNvcHlU
ZXh0dXJlKiBzb3VyY2UsIGNvbnN0IFdHUFVJbWFnZUNvcHlUZXh0dXJlKiBkZXN0aW5hdGlvbiwg
Y29uc3QgV0dQVUV4dGVudDNEKiBjb3B5U2l6ZSk7Ci0gICAgdm9pZCBmaWxsQnVmZmVyKGNvbnN0
IEJ1ZmZlciYgZGVzdGluYXRpb24sIHVpbnQ2NF90IGRlc3RpbmF0aW9uT2Zmc2V0LCB1aW50NjRf
dCBzaXplKTsKKyAgICB2b2lkIGNsZWFyQnVmZmVyKGNvbnN0IEJ1ZmZlciYsIHVpbnQ2NF90IG9m
ZnNldCwgdWludDY0X3Qgc2l6ZSk7CiAgICAgUmVmPENvbW1hbmRCdWZmZXI+IGZpbmlzaChjb25z
dCBXR1BVQ29tbWFuZEJ1ZmZlckRlc2NyaXB0b3IqKTsKICAgICB2b2lkIGluc2VydERlYnVnTWFy
a2VyKGNvbnN0IGNoYXIqIG1hcmtlckxhYmVsKTsKICAgICB2b2lkIHBvcERlYnVnR3JvdXAoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0NvbW1hbmRFbmNvZGVyLm1tIGIvU291
cmNlL1dlYkdQVS9XZWJHUFUvQ29tbWFuZEVuY29kZXIubW0KaW5kZXggOGQzOGUxNzlhNDQzOTdi
ZmY4MzYwZWY0MTRjOGY3MmYwMTViZGFmZi4uZGQ1Y2MzYjMzMGEwMjYyMDk2ZjU0MTgzNGY2Y2M2
ZjdlMmI0YjRiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkdQVS9XZWJHUFUvQ29tbWFuZEVuY29k
ZXIubW0KKysrIGIvU291cmNlL1dlYkdQVS9XZWJHUFUvQ29tbWFuZEVuY29kZXIubW0KQEAgLTgx
LDEwICs4MSwxMCBAQCB2b2lkIENvbW1hbmRFbmNvZGVyOjpjb3B5VGV4dHVyZVRvVGV4dHVyZShj
b25zdCBXR1BVSW1hZ2VDb3B5VGV4dHVyZSogc291cmNlLCBjbwogICAgIFVOVVNFRF9QQVJBTShj
b3B5U2l6ZSk7CiB9CiAKLXZvaWQgQ29tbWFuZEVuY29kZXI6OmZpbGxCdWZmZXIoY29uc3QgQnVm
ZmVyJiBkZXN0aW5hdGlvbiwgdWludDY0X3QgZGVzdGluYXRpb25PZmZzZXQsIHVpbnQ2NF90IHNp
emUpCit2b2lkIENvbW1hbmRFbmNvZGVyOjpjbGVhckJ1ZmZlcihjb25zdCBCdWZmZXImIGJ1ZmZl
ciwgdWludDY0X3Qgb2Zmc2V0LCB1aW50NjRfdCBzaXplKQogewotICAgIFVOVVNFRF9QQVJBTShk
ZXN0aW5hdGlvbik7Ci0gICAgVU5VU0VEX1BBUkFNKGRlc3RpbmF0aW9uT2Zmc2V0KTsKKyAgICBV
TlVTRURfUEFSQU0oYnVmZmVyKTsKKyAgICBVTlVTRURfUEFSQU0ob2Zmc2V0KTsKICAgICBVTlVT
RURfUEFSQU0oc2l6ZSk7CiB9CiAKQEAgLTE2NSw5ICsxNjUsOSBAQCB2b2lkIHdncHVDb21tYW5k
RW5jb2RlckNvcHlUZXh0dXJlVG9UZXh0dXJlKFdHUFVDb21tYW5kRW5jb2RlciBjb21tYW5kRW5j
b2RlciwgYwogICAgIGNvbW1hbmRFbmNvZGVyLT5jb21tYW5kRW5jb2Rlci0+Y29weVRleHR1cmVU
b1RleHR1cmUoc291cmNlLCBkZXN0aW5hdGlvbiwgY29weVNpemUpOwogfQogCi12b2lkIHdncHVD
b21tYW5kRW5jb2RlckZpbGxCdWZmZXIoV0dQVUNvbW1hbmRFbmNvZGVyIGNvbW1hbmRFbmNvZGVy
LCBXR1BVQnVmZmVyIGRlc3RpbmF0aW9uLCB1aW50NjRfdCBkZXN0aW5hdGlvbk9mZnNldCwgdWlu
dDY0X3Qgc2l6ZSkKK3ZvaWQgd2dwdUNvbW1hbmRFbmNvZGVyQ2xlYXJCdWZmZXIoV0dQVUNvbW1h
bmRFbmNvZGVyIGNvbW1hbmRFbmNvZGVyLCBXR1BVQnVmZmVyIGJ1ZmZlciwgdWludDY0X3Qgb2Zm
c2V0LCB1aW50NjRfdCBzaXplKQogewotICAgIGNvbW1hbmRFbmNvZGVyLT5jb21tYW5kRW5jb2Rl
ci0+ZmlsbEJ1ZmZlcihkZXN0aW5hdGlvbi0+YnVmZmVyLCBkZXN0aW5hdGlvbk9mZnNldCwgc2l6
ZSk7CisgICAgY29tbWFuZEVuY29kZXItPmNvbW1hbmRFbmNvZGVyLT5jbGVhckJ1ZmZlcihidWZm
ZXItPmJ1ZmZlciwgb2Zmc2V0LCBzaXplKTsKIH0KIAogV0dQVUNvbW1hbmRCdWZmZXIgd2dwdUNv
bW1hbmRFbmNvZGVyRmluaXNoKFdHUFVDb21tYW5kRW5jb2RlciBjb21tYW5kRW5jb2RlciwgY29u
c3QgV0dQVUNvbW1hbmRCdWZmZXJEZXNjcmlwdG9yKiBkZXNjcmlwdG9yKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkdQVS9XZWJHUFUvQ29tcHV0ZVBhc3NFbmNvZGVyLmggYi9Tb3VyY2UvV2ViR1BV
L1dlYkdQVS9Db21wdXRlUGFzc0VuY29kZXIuaAppbmRleCAwYzY0YWQ5NjFjYjc2M2JiMGJlZDA2
OThjYzJmZWZkMGJkOWJmODFmLi5kMDY0MzJiMjBkMmRiOGUyYjhlMmZiNDI4ZGMwOGVlM2MwMDgy
OTgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9Db21wdXRlUGFzc0VuY29kZXIu
aAorKysgYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9Db21wdXRlUGFzc0VuY29kZXIuaApAQCAtNTcs
NyArNTcsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBwdXNoRGVidWdHcm91cChjb25zdCBjaGFyKiBn
cm91cExhYmVsKTsKICAgICB2b2lkIHNldEJpbmRHcm91cCh1aW50MzJfdCBncm91cEluZGV4LCBj
b25zdCBCaW5kR3JvdXAmLCB1aW50MzJfdCBkeW5hbWljT2Zmc2V0Q291bnQsIGNvbnN0IHVpbnQz
Ml90KiBkeW5hbWljT2Zmc2V0cyk7CiAgICAgdm9pZCBzZXRQaXBlbGluZShjb25zdCBDb21wdXRl
UGlwZWxpbmUmKTsKLSAgICB2b2lkIHdyaXRlVGltZXN0YW1wKGNvbnN0IFF1ZXJ5U2V0JiwgdWlu
dDMyX3QgcXVlcnlJbmRleCk7CiAgICAgdm9pZCBzZXRMYWJlbChjb25zdCBjaGFyKik7CiAKIHBy
aXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9Db21wdXRlUGFzc0VuY29k
ZXIubW0gYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9Db21wdXRlUGFzc0VuY29kZXIubW0KaW5kZXgg
YzExZDU0ZWQzNDQxNTZlM2Y1NWNlZWEzMWE3NzMzODgwMjMwZWUwYy4uODliYTA0ZDUzZTlhNDA3
ZWVjOGE3NjY2MjJmZWE1ZTU5ZTdhNTkxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkdQVS9XZWJH
UFUvQ29tcHV0ZVBhc3NFbmNvZGVyLm1tCisrKyBiL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0NvbXB1
dGVQYXNzRW5jb2Rlci5tbQpAQCAtOTIsMTIgKzkyLDYgQEAgdm9pZCBDb21wdXRlUGFzc0VuY29k
ZXI6OnNldFBpcGVsaW5lKGNvbnN0IENvbXB1dGVQaXBlbGluZSYgcGlwZWxpbmUpCiAgICAgVU5V
U0VEX1BBUkFNKHBpcGVsaW5lKTsKIH0KIAotdm9pZCBDb21wdXRlUGFzc0VuY29kZXI6OndyaXRl
VGltZXN0YW1wKGNvbnN0IFF1ZXJ5U2V0JiBxdWVyeVNldCwgdWludDMyX3QgcXVlcnlJbmRleCkK
LXsKLSAgICBVTlVTRURfUEFSQU0ocXVlcnlTZXQpOwotICAgIFVOVVNFRF9QQVJBTShxdWVyeUlu
ZGV4KTsKLX0KLQogdm9pZCBDb21wdXRlUGFzc0VuY29kZXI6OnNldExhYmVsKGNvbnN0IGNoYXIq
IGxhYmVsKQogewogICAgIFVOVVNFRF9QQVJBTShsYWJlbCk7CkBAIC0xNjAsMTEgKzE1NCw2IEBA
IHZvaWQgd2dwdUNvbXB1dGVQYXNzRW5jb2RlclNldFBpcGVsaW5lKFdHUFVDb21wdXRlUGFzc0Vu
Y29kZXIgY29tcHV0ZVBhc3NFbmNvZGVyCiAgICAgY29tcHV0ZVBhc3NFbmNvZGVyLT5jb21wdXRl
UGFzc0VuY29kZXItPnNldFBpcGVsaW5lKHBpcGVsaW5lLT5jb21wdXRlUGlwZWxpbmUpOwogfQog
Ci12b2lkIHdncHVDb21wdXRlUGFzc0VuY29kZXJXcml0ZVRpbWVzdGFtcChXR1BVQ29tcHV0ZVBh
c3NFbmNvZGVyIGNvbXB1dGVQYXNzRW5jb2RlciwgV0dQVVF1ZXJ5U2V0IHF1ZXJ5U2V0LCB1aW50
MzJfdCBxdWVyeUluZGV4KQotewotICAgIGNvbXB1dGVQYXNzRW5jb2Rlci0+Y29tcHV0ZVBhc3NF
bmNvZGVyLT53cml0ZVRpbWVzdGFtcChxdWVyeVNldC0+cXVlcnlTZXQsIHF1ZXJ5SW5kZXgpOwot
fQotCiB2b2lkIHdncHVDb21wdXRlUGFzc0VuY29kZXJTZXRMYWJlbChXR1BVQ29tcHV0ZVBhc3NF
bmNvZGVyIGNvbXB1dGVQYXNzRW5jb2RlciwgY29uc3QgY2hhciogbGFiZWwpCiB7CiAgICAgY29t
cHV0ZVBhc3NFbmNvZGVyLT5jb21wdXRlUGFzc0VuY29kZXItPnNldExhYmVsKGxhYmVsKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0RldmljZS5oIGIvU291cmNlL1dlYkdQVS9X
ZWJHUFUvRGV2aWNlLmgKaW5kZXggMjg4N2FmZWFlNWJkNzQyMDZkYzI2NTIwNzZkOTQ5ODBmMjYy
MGE5Ni4uNTI1YzEzYjE3ZDk2NDdlNjJiY2QwOWFmYzdjYmEwZjM5NGU2NDk2YiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkdQVS9XZWJHUFUvRGV2aWNlLmgKKysrIGIvU291cmNlL1dlYkdQVS9XZWJH
UFUvRGV2aWNlLmgKQEAgLTc1LDggKzc1LDEwIEBAIHB1YmxpYzoKICAgICBSZWY8U3dhcENoYWlu
PiBjcmVhdGVTd2FwQ2hhaW4oY29uc3QgU3VyZmFjZSYsIGNvbnN0IFdHUFVTd2FwQ2hhaW5EZXNj
cmlwdG9yKik7CiAgICAgUmVmPFRleHR1cmU+IGNyZWF0ZVRleHR1cmUoY29uc3QgV0dQVVRleHR1
cmVEZXNjcmlwdG9yKik7CiAgICAgdm9pZCBkZXN0cm95KCk7CisgICAgc2l6ZV90IGVudW1lcmF0
ZUZlYXR1cmVzKFdHUFVGZWF0dXJlTmFtZSogZmVhdHVyZXMpOwogICAgIGJvb2wgZ2V0TGltaXRz
KFdHUFVTdXBwb3J0ZWRMaW1pdHMqKTsKICAgICBSZWY8UXVldWU+IGdldFF1ZXVlKCk7CisgICAg
Ym9vbCBoYXNGZWF0dXJlKFdHUFVGZWF0dXJlTmFtZSk7CiAgICAgYm9vbCBwb3BFcnJvclNjb3Bl
KFdURjo6RnVuY3Rpb248dm9pZChXR1BVRXJyb3JUeXBlLCBjb25zdCBjaGFyKik+JiYgY2FsbGJh
Y2spOwogICAgIHZvaWQgcHVzaEVycm9yU2NvcGUoV0dQVUVycm9yRmlsdGVyKTsKICAgICB2b2lk
IHNldERldmljZUxvc3RDYWxsYmFjayhXVEY6OkZ1bmN0aW9uPHZvaWQoV0dQVURldmljZUxvc3RS
ZWFzb24sIGNvbnN0IGNoYXIqKT4mJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViR1BVL1dlYkdQ
VS9EZXZpY2UubW0gYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9EZXZpY2UubW0KaW5kZXggZjFhODU0
ZmRiMmE5NTY0MjQ5ZjViMGRkNTM1ZWNhNDhlNTFmYTU4NC4uMTRmNTVjZDQwYjFiYzdhYzNlOGU3
MmVhNTkwZDA3MWEzMmZkZTc4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkdQVS9XZWJHUFUvRGV2
aWNlLm1tCisrKyBiL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0RldmljZS5tbQpAQCAtMTQ1LDYgKzE0
NSwxMiBAQCB2b2lkIERldmljZTo6ZGVzdHJveSgpCiB7CiB9CiAKK3NpemVfdCBEZXZpY2U6OmVu
dW1lcmF0ZUZlYXR1cmVzKFdHUFVGZWF0dXJlTmFtZSogZmVhdHVyZXMpCit7CisgICAgVU5VU0VE
X1BBUkFNKGZlYXR1cmVzKTsKKyAgICByZXR1cm4gMDsKK30KKwogYm9vbCBEZXZpY2U6OmdldExp
bWl0cyhXR1BVU3VwcG9ydGVkTGltaXRzKiBsaW1pdHMpCiB7CiAgICAgVU5VU0VEX1BBUkFNKGxp
bWl0cyk7CkBAIC0xNTYsNiArMTYyLDEyIEBAIFJlZjxRdWV1ZT4gRGV2aWNlOjpnZXRRdWV1ZSgp
CiAgICAgcmV0dXJuIFF1ZXVlOjpjcmVhdGUoKTsKIH0KIAorYm9vbCBEZXZpY2U6Omhhc0ZlYXR1
cmUoV0dQVUZlYXR1cmVOYW1lIGZlYXR1cmUpCit7CisgICAgVU5VU0VEX1BBUkFNKGZlYXR1cmUp
OworICAgIHJldHVybiBmYWxzZTsKK30KKwogYm9vbCBEZXZpY2U6OnBvcEVycm9yU2NvcGUoV1RG
OjpGdW5jdGlvbjx2b2lkKFdHUFVFcnJvclR5cGUsIGNvbnN0IGNoYXIqKT4mJiBjYWxsYmFjaykK
IHsKICAgICBVTlVTRURfUEFSQU0oY2FsbGJhY2spOwpAQCAtMjczLDYgKzI4NSwxMSBAQCB2b2lk
IHdncHVEZXZpY2VEZXN0cm95KFdHUFVEZXZpY2UgZGV2aWNlKQogICAgIGRldmljZS0+ZGV2aWNl
LT5kZXN0cm95KCk7CiB9CiAKK3NpemVfdCB3Z3B1RGV2aWNlRW51bWVyYXRlRmVhdHVyZXMoV0dQ
VURldmljZSBkZXZpY2UsIFdHUFVGZWF0dXJlTmFtZSogZmVhdHVyZXMpCit7CisgICAgcmV0dXJu
IGRldmljZS0+ZGV2aWNlLT5lbnVtZXJhdGVGZWF0dXJlcyhmZWF0dXJlcyk7Cit9CisKIGJvb2wg
d2dwdURldmljZUdldExpbWl0cyhXR1BVRGV2aWNlIGRldmljZSwgV0dQVVN1cHBvcnRlZExpbWl0
cyogbGltaXRzKQogewogICAgIHJldHVybiBkZXZpY2UtPmRldmljZS0+Z2V0TGltaXRzKGxpbWl0
cyk7CkBAIC0yODMsNiArMzAwLDExIEBAIFdHUFVRdWV1ZSB3Z3B1RGV2aWNlR2V0UXVldWUoV0dQ
VURldmljZSBkZXZpY2UpCiAgICAgcmV0dXJuIG5ldyBXR1BVUXVldWVJbXBsIHsgZGV2aWNlLT5k
ZXZpY2UtPmdldFF1ZXVlKCkgfTsKIH0KIAorYm9vbCB3Z3B1RGV2aWNlSGFzRmVhdHVyZShXR1BV
RGV2aWNlIGRldmljZSwgV0dQVUZlYXR1cmVOYW1lIGZlYXR1cmUpCit7CisgICAgcmV0dXJuIGRl
dmljZS0+ZGV2aWNlLT5oYXNGZWF0dXJlKGZlYXR1cmUpOworfQorCiBib29sIHdncHVEZXZpY2VQ
b3BFcnJvclNjb3BlKFdHUFVEZXZpY2UgZGV2aWNlLCBXR1BVRXJyb3JDYWxsYmFjayBjYWxsYmFj
aywgdm9pZCogdXNlcmRhdGEpCiB7CiAgICAgcmV0dXJuIGRldmljZS0+ZGV2aWNlLT5wb3BFcnJv
clNjb3BlKFtjYWxsYmFjaywgdXNlcmRhdGFdIChXR1BVRXJyb3JUeXBlIHR5cGUsIGNvbnN0IGNo
YXIqIG1lc3NhZ2UpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0luc3RhbmNl
Lm1tIGIvU291cmNlL1dlYkdQVS9XZWJHUFUvSW5zdGFuY2UubW0KaW5kZXggNTAyYmU0NzliMWM5
NjgwMWJiMzEzYjYwMTgyZDNiZTJjOWI1ZTU3NS4uNTJjZTJhN2MwZjYyNjVmNTYwY2U1YjY3ODk5
OGU1OGIzMjc0ZGI0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkdQVS9XZWJHUFUvSW5zdGFuY2Uu
bW0KKysrIGIvU291cmNlL1dlYkdQVS9XZWJHUFUvSW5zdGFuY2UubW0KQEAgLTcyLDI2ICs3Miwx
NyBAQCBXR1BVUHJvYyB3Z3B1R2V0UHJvY0FkZHJlc3MoV0dQVURldmljZSBkZXZpY2UsIGNvbnN0
IGNoYXIqIHByb2NOYW1lKQogewogICAgIFVOVVNFRF9QQVJBTShkZXZpY2UpOwogICAgIC8vIEZJ
WE1FOiBVc2UgZ3BlcmYgdG8gbWFrZSB0aGlzIGZhc3Rlci4KLSAgICBpZiAoIXN0cmNtcChwcm9j
TmFtZSwgIndncHVBZGFwdGVyR2V0RmVhdHVyZUF0SW5kZXgiKSkKLSAgICAgICAgcmV0dXJuIHJl
aW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1QWRhcHRlckdldEZlYXR1cmVBdEluZGV4KTsK
KyAgICAvLyBGSVhNRTogR2VuZXJhdGUgdGhpcyBhdCBidWlsZCB0aW1lCisgICAgaWYgKCFzdHJj
bXAocHJvY05hbWUsICJ3Z3B1QWRhcHRlckVudW1lcmF0ZUZlYXR1cmVzIikpCisgICAgICAgIHJl
dHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdUFkYXB0ZXJFbnVtZXJhdGVGZWF0
dXJlcyk7CiAgICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1QWRhcHRlckdldExpbWl0cyIp
KQogICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVBZGFwdGVy
R2V0TGltaXRzKTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVBZGFwdGVyR2V0UHJv
cGVydGllcyIpKQogICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndn
cHVBZGFwdGVyR2V0UHJvcGVydGllcyk7CiAgICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1
QWRhcHRlckhhc0ZlYXR1cmUiKSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQ
VVByb2M+KCZ3Z3B1QWRhcHRlckhhc0ZlYXR1cmUpOwotICAgIGlmICghc3RyY21wKHByb2NOYW1l
LCAid2dwdUFkYXB0ZXJSZWxlYXNlIikpCi0gICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0
PFdHUFVQcm9jPigmd2dwdUFkYXB0ZXJSZWxlYXNlKTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFt
ZSwgIndncHVBZGFwdGVyUmVxdWVzdERldmljZSIpKQogICAgICAgICByZXR1cm4gcmVpbnRlcnBy
ZXRfY2FzdDxXR1BVUHJvYz4oJndncHVBZGFwdGVyUmVxdWVzdERldmljZSk7Ci0gICAgaWYgKCFz
dHJjbXAocHJvY05hbWUsICJ3Z3B1QmluZEdyb3VwTGF5b3V0UmVsZWFzZSIpKQotICAgICAgICBy
ZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVCaW5kR3JvdXBMYXlvdXRSZWxl
YXNlKTsKLSAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVCaW5kR3JvdXBMYXlvdXRTZXRM
YWJlbCIpKQotICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVC
aW5kR3JvdXBMYXlvdXRTZXRMYWJlbCk7Ci0gICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1
QmluZEdyb3VwUmVsZWFzZSIpKQotICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BV
UHJvYz4oJndncHVCaW5kR3JvdXBSZWxlYXNlKTsKLSAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwg
IndncHVCaW5kR3JvdXBTZXRMYWJlbCIpKQotICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2Fz
dDxXR1BVUHJvYz4oJndncHVCaW5kR3JvdXBTZXRMYWJlbCk7CiAgICAgaWYgKCFzdHJjbXAocHJv
Y05hbWUsICJ3Z3B1QnVmZmVyRGVzdHJveSIpKQogICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRf
Y2FzdDxXR1BVUHJvYz4oJndncHVCdWZmZXJEZXN0cm95KTsKICAgICBpZiAoIXN0cmNtcChwcm9j
TmFtZSwgIndncHVCdWZmZXJHZXRDb25zdE1hcHBlZFJhbmdlIikpCkBAIC0xMDAsMjAgKzkxLDE0
IEBAIFdHUFVQcm9jIHdncHVHZXRQcm9jQWRkcmVzcyhXR1BVRGV2aWNlIGRldmljZSwgY29uc3Qg
Y2hhciogcHJvY05hbWUpCiAgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9j
Pigmd2dwdUJ1ZmZlckdldE1hcHBlZFJhbmdlKTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwg
IndncHVCdWZmZXJNYXBBc3luYyIpKQogICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxX
R1BVUHJvYz4oJndncHVCdWZmZXJNYXBBc3luYyk7Ci0gICAgaWYgKCFzdHJjbXAocHJvY05hbWUs
ICJ3Z3B1QnVmZmVyUmVsZWFzZSIpKQotICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxX
R1BVUHJvYz4oJndncHVCdWZmZXJSZWxlYXNlKTsKLSAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwg
IndncHVCdWZmZXJTZXRMYWJlbCIpKQotICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxX
R1BVUHJvYz4oJndncHVCdWZmZXJTZXRMYWJlbCk7CiAgICAgaWYgKCFzdHJjbXAocHJvY05hbWUs
ICJ3Z3B1QnVmZmVyVW5tYXAiKSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQ
VVByb2M+KCZ3Z3B1QnVmZmVyVW5tYXApOwotICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dw
dUNvbW1hbmRCdWZmZXJSZWxlYXNlIikpCi0gICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0
PFdHUFVQcm9jPigmd2dwdUNvbW1hbmRCdWZmZXJSZWxlYXNlKTsKLSAgICBpZiAoIXN0cmNtcChw
cm9jTmFtZSwgIndncHVDb21tYW5kQnVmZmVyU2V0TGFiZWwiKSkKLSAgICAgICAgcmV0dXJuIHJl
aW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1Q29tbWFuZEJ1ZmZlclNldExhYmVsKTsKICAg
ICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVDb21tYW5kRW5jb2RlckJlZ2luQ29tcHV0ZVBh
c3MiKSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1Q29t
bWFuZEVuY29kZXJCZWdpbkNvbXB1dGVQYXNzKTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwg
IndncHVDb21tYW5kRW5jb2RlckJlZ2luUmVuZGVyUGFzcyIpKQogICAgICAgICByZXR1cm4gcmVp
bnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVDb21tYW5kRW5jb2RlckJlZ2luUmVuZGVyUGFz
cyk7CisgICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1Q29tbWFuZEVuY29kZXJDbGVhckJ1
ZmZlciIpKQorICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVD
b21tYW5kRW5jb2RlckNsZWFyQnVmZmVyKTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndn
cHVDb21tYW5kRW5jb2RlckNvcHlCdWZmZXJUb0J1ZmZlciIpKQogICAgICAgICByZXR1cm4gcmVp
bnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVDb21tYW5kRW5jb2RlckNvcHlCdWZmZXJUb0J1
ZmZlcik7CiAgICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1Q29tbWFuZEVuY29kZXJDb3B5
QnVmZmVyVG9UZXh0dXJlIikpCkBAIC0xMjIsOCArMTA3LDYgQEAgV0dQVVByb2Mgd2dwdUdldFBy
b2NBZGRyZXNzKFdHUFVEZXZpY2UgZGV2aWNlLCBjb25zdCBjaGFyKiBwcm9jTmFtZSkKICAgICAg
ICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1Q29tbWFuZEVuY29kZXJD
b3B5VGV4dHVyZVRvQnVmZmVyKTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVDb21t
YW5kRW5jb2RlckNvcHlUZXh0dXJlVG9UZXh0dXJlIikpCiAgICAgICAgIHJldHVybiByZWludGVy
cHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdUNvbW1hbmRFbmNvZGVyQ29weVRleHR1cmVUb1RleHR1
cmUpOwotICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdUNvbW1hbmRFbmNvZGVyRmlsbEJ1
ZmZlciIpKQotICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVD
b21tYW5kRW5jb2RlckZpbGxCdWZmZXIpOwogICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dw
dUNvbW1hbmRFbmNvZGVyRmluaXNoIikpCiAgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0
PFdHUFVQcm9jPigmd2dwdUNvbW1hbmRFbmNvZGVyRmluaXNoKTsKICAgICBpZiAoIXN0cmNtcChw
cm9jTmFtZSwgIndncHVDb21tYW5kRW5jb2Rlckluc2VydERlYnVnTWFya2VyIikpCkBAIC0xMzIs
MTIgKzExNSw4IEBAIFdHUFVQcm9jIHdncHVHZXRQcm9jQWRkcmVzcyhXR1BVRGV2aWNlIGRldmlj
ZSwgY29uc3QgY2hhciogcHJvY05hbWUpCiAgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0
PFdHUFVQcm9jPigmd2dwdUNvbW1hbmRFbmNvZGVyUG9wRGVidWdHcm91cCk7CiAgICAgaWYgKCFz
dHJjbXAocHJvY05hbWUsICJ3Z3B1Q29tbWFuZEVuY29kZXJQdXNoRGVidWdHcm91cCIpKQogICAg
ICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVDb21tYW5kRW5jb2Rl
clB1c2hEZWJ1Z0dyb3VwKTsKLSAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVDb21tYW5k
RW5jb2RlclJlbGVhc2UiKSkKLSAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVBy
b2M+KCZ3Z3B1Q29tbWFuZEVuY29kZXJSZWxlYXNlKTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFt
ZSwgIndncHVDb21tYW5kRW5jb2RlclJlc29sdmVRdWVyeVNldCIpKQogICAgICAgICByZXR1cm4g
cmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVDb21tYW5kRW5jb2RlclJlc29sdmVRdWVy
eVNldCk7Ci0gICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1Q29tbWFuZEVuY29kZXJTZXRM
YWJlbCIpKQotICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVD
b21tYW5kRW5jb2RlclNldExhYmVsKTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVD
b21tYW5kRW5jb2RlcldyaXRlVGltZXN0YW1wIikpCiAgICAgICAgIHJldHVybiByZWludGVycHJl
dF9jYXN0PFdHUFVQcm9jPigmd2dwdUNvbW1hbmRFbmNvZGVyV3JpdGVUaW1lc3RhbXApOwogICAg
IGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdUNvbXB1dGVQYXNzRW5jb2RlckJlZ2luUGlwZWxp
bmVTdGF0aXN0aWNzUXVlcnkiKSkKQEAgLTE1NiwyMCArMTM1LDEyIEBAIFdHUFVQcm9jIHdncHVH
ZXRQcm9jQWRkcmVzcyhXR1BVRGV2aWNlIGRldmljZSwgY29uc3QgY2hhciogcHJvY05hbWUpCiAg
ICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdUNvbXB1dGVQYXNz
RW5jb2RlclBvcERlYnVnR3JvdXApOwogICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdUNv
bXB1dGVQYXNzRW5jb2RlclB1c2hEZWJ1Z0dyb3VwIikpCiAgICAgICAgIHJldHVybiByZWludGVy
cHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdUNvbXB1dGVQYXNzRW5jb2RlclB1c2hEZWJ1Z0dyb3Vw
KTsKLSAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVDb21wdXRlUGFzc0VuY29kZXJSZWxl
YXNlIikpCi0gICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdUNv
bXB1dGVQYXNzRW5jb2RlclJlbGVhc2UpOwogICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dw
dUNvbXB1dGVQYXNzRW5jb2RlclNldEJpbmRHcm91cCIpKQogICAgICAgICByZXR1cm4gcmVpbnRl
cnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVDb21wdXRlUGFzc0VuY29kZXJTZXRCaW5kR3JvdXAp
OwotICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdUNvbXB1dGVQYXNzRW5jb2RlclNldExh
YmVsIikpCi0gICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdUNv
bXB1dGVQYXNzRW5jb2RlclNldExhYmVsKTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndn
cHVDb21wdXRlUGFzc0VuY29kZXJTZXRQaXBlbGluZSIpKQogICAgICAgICByZXR1cm4gcmVpbnRl
cnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVDb21wdXRlUGFzc0VuY29kZXJTZXRQaXBlbGluZSk7
Ci0gICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1Q29tcHV0ZVBhc3NFbmNvZGVyV3JpdGVU
aW1lc3RhbXAiKSkKLSAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3
Z3B1Q29tcHV0ZVBhc3NFbmNvZGVyV3JpdGVUaW1lc3RhbXApOwogICAgIGlmICghc3RyY21wKHBy
b2NOYW1lLCAid2dwdUNvbXB1dGVQaXBlbGluZUdldEJpbmRHcm91cExheW91dCIpKQogICAgICAg
ICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVDb21wdXRlUGlwZWxpbmVH
ZXRCaW5kR3JvdXBMYXlvdXQpOwotICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdUNvbXB1
dGVQaXBlbGluZVJlbGVhc2UiKSkKLSAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQ
VVByb2M+KCZ3Z3B1Q29tcHV0ZVBpcGVsaW5lUmVsZWFzZSk7CiAgICAgaWYgKCFzdHJjbXAocHJv
Y05hbWUsICJ3Z3B1Q29tcHV0ZVBpcGVsaW5lU2V0TGFiZWwiKSkKICAgICAgICAgcmV0dXJuIHJl
aW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1Q29tcHV0ZVBpcGVsaW5lU2V0TGFiZWwpOwog
ICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdUNyZWF0ZUluc3RhbmNlIikpCkBAIC0yMDYs
MjAgKzE3NywyMCBAQCBXR1BVUHJvYyB3Z3B1R2V0UHJvY0FkZHJlc3MoV0dQVURldmljZSBkZXZp
Y2UsIGNvbnN0IGNoYXIqIHByb2NOYW1lKQogICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2Fz
dDxXR1BVUHJvYz4oJndncHVEZXZpY2VDcmVhdGVUZXh0dXJlKTsKICAgICBpZiAoIXN0cmNtcChw
cm9jTmFtZSwgIndncHVEZXZpY2VEZXN0cm95IikpCiAgICAgICAgIHJldHVybiByZWludGVycHJl
dF9jYXN0PFdHUFVQcm9jPigmd2dwdURldmljZURlc3Ryb3kpOworICAgIGlmICghc3RyY21wKHBy
b2NOYW1lLCAid2dwdURldmljZUVudW1lcmF0ZUZlYXR1cmVzIikpCisgICAgICAgIHJldHVybiBy
ZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdURldmljZUVudW1lcmF0ZUZlYXR1cmVzKTsK
ICAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVEZXZpY2VHZXRMaW1pdHMiKSkKICAgICAg
ICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1RGV2aWNlR2V0TGltaXRz
KTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVEZXZpY2VHZXRRdWV1ZSIpKQogICAg
ICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVEZXZpY2VHZXRRdWV1
ZSk7CisgICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1RGV2aWNlSGFzRmVhdHVyZSIpKQor
ICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVEZXZpY2VIYXNG
ZWF0dXJlKTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVEZXZpY2VQb3BFcnJvclNj
b3BlIikpCiAgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdURl
dmljZVBvcEVycm9yU2NvcGUpOwogICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdURldmlj
ZVB1c2hFcnJvclNjb3BlIikpCiAgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQ
cm9jPigmd2dwdURldmljZVB1c2hFcnJvclNjb3BlKTsKLSAgICBpZiAoIXN0cmNtcChwcm9jTmFt
ZSwgIndncHVEZXZpY2VSZWxlYXNlIikpCi0gICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0
PFdHUFVQcm9jPigmd2dwdURldmljZVJlbGVhc2UpOwogICAgIGlmICghc3RyY21wKHByb2NOYW1l
LCAid2dwdURldmljZVNldERldmljZUxvc3RDYWxsYmFjayIpKQogICAgICAgICByZXR1cm4gcmVp
bnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVEZXZpY2VTZXREZXZpY2VMb3N0Q2FsbGJhY2sp
OwotICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdURldmljZVNldExhYmVsIikpCi0gICAg
ICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdURldmljZVNldExhYmVs
KTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVEZXZpY2VTZXRVbmNhcHR1cmVkRXJy
b3JDYWxsYmFjayIpKQogICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4o
JndncHVEZXZpY2VTZXRVbmNhcHR1cmVkRXJyb3JDYWxsYmFjayk7CiAgICAgaWYgKCFzdHJjbXAo
cHJvY05hbWUsICJ3Z3B1R2V0UHJvY0FkZHJlc3MiKSkKQEAgLTIyOCwyNiArMTk5LDEyIEBAIFdH
UFVQcm9jIHdncHVHZXRQcm9jQWRkcmVzcyhXR1BVRGV2aWNlIGRldmljZSwgY29uc3QgY2hhciog
cHJvY05hbWUpCiAgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dw
dUluc3RhbmNlQ3JlYXRlU3VyZmFjZSk7CiAgICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1
SW5zdGFuY2VQcm9jZXNzRXZlbnRzIikpCiAgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0
PFdHUFVQcm9jPigmd2dwdUluc3RhbmNlUHJvY2Vzc0V2ZW50cyk7Ci0gICAgaWYgKCFzdHJjbXAo
cHJvY05hbWUsICJ3Z3B1SW5zdGFuY2VSZWxlYXNlIikpCi0gICAgICAgIHJldHVybiByZWludGVy
cHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdUluc3RhbmNlUmVsZWFzZSk7CiAgICAgaWYgKCFzdHJj
bXAocHJvY05hbWUsICJ3Z3B1SW5zdGFuY2VSZXF1ZXN0QWRhcHRlciIpKQogICAgICAgICByZXR1
cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVJbnN0YW5jZVJlcXVlc3RBZGFwdGVy
KTsKLSAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVQaXBlbGluZUxheW91dFJlbGVhc2Ui
KSkKLSAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1UGlwZWxp
bmVMYXlvdXRSZWxlYXNlKTsKLSAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVQaXBlbGlu
ZUxheW91dFNldExhYmVsIikpCi0gICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQ
cm9jPigmd2dwdVBpcGVsaW5lTGF5b3V0U2V0TGFiZWwpOwogICAgIGlmICghc3RyY21wKHByb2NO
YW1lLCAid2dwdVF1ZXJ5U2V0RGVzdHJveSIpKQogICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRf
Y2FzdDxXR1BVUHJvYz4oJndncHVRdWVyeVNldERlc3Ryb3kpOwotICAgIGlmICghc3RyY21wKHBy
b2NOYW1lLCAid2dwdVF1ZXJ5U2V0UmVsZWFzZSIpKQotICAgICAgICByZXR1cm4gcmVpbnRlcnBy
ZXRfY2FzdDxXR1BVUHJvYz4oJndncHVRdWVyeVNldFJlbGVhc2UpOwotICAgIGlmICghc3RyY21w
KHByb2NOYW1lLCAid2dwdVF1ZXJ5U2V0U2V0TGFiZWwiKSkKLSAgICAgICAgcmV0dXJuIHJlaW50
ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1UXVlcnlTZXRTZXRMYWJlbCk7CiAgICAgaWYgKCFz
dHJjbXAocHJvY05hbWUsICJ3Z3B1UXVldWVPblN1Ym1pdHRlZFdvcmtEb25lIikpCiAgICAgICAg
IHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdVF1ZXVlT25TdWJtaXR0ZWRX
b3JrRG9uZSk7Ci0gICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1UXVldWVSZWxlYXNlIikp
Ci0gICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdVF1ZXVlUmVs
ZWFzZSk7Ci0gICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1UXVldWVTZXRMYWJlbCIpKQot
ICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVRdWV1ZVNldExh
YmVsKTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVRdWV1ZVN1Ym1pdCIpKQogICAg
ICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVRdWV1ZVN1Ym1pdCk7
CiAgICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1UXVldWVXcml0ZUJ1ZmZlciIpKQpAQCAt
MjcwLDIyICsyMjcsMTQgQEAgV0dQVVByb2Mgd2dwdUdldFByb2NBZGRyZXNzKFdHUFVEZXZpY2Ug
ZGV2aWNlLCBjb25zdCBjaGFyKiBwcm9jTmFtZSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0
X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1UmVuZGVyQnVuZGxlRW5jb2RlclBvcERlYnVnR3JvdXApOwog
ICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdVJlbmRlckJ1bmRsZUVuY29kZXJQdXNoRGVi
dWdHcm91cCIpKQogICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndn
cHVSZW5kZXJCdW5kbGVFbmNvZGVyUHVzaERlYnVnR3JvdXApOwotICAgIGlmICghc3RyY21wKHBy
b2NOYW1lLCAid2dwdVJlbmRlckJ1bmRsZUVuY29kZXJSZWxlYXNlIikpCi0gICAgICAgIHJldHVy
biByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdVJlbmRlckJ1bmRsZUVuY29kZXJSZWxl
YXNlKTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVSZW5kZXJCdW5kbGVFbmNvZGVy
U2V0QmluZEdyb3VwIikpCiAgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9j
Pigmd2dwdVJlbmRlckJ1bmRsZUVuY29kZXJTZXRCaW5kR3JvdXApOwogICAgIGlmICghc3RyY21w
KHByb2NOYW1lLCAid2dwdVJlbmRlckJ1bmRsZUVuY29kZXJTZXRJbmRleEJ1ZmZlciIpKQogICAg
ICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVSZW5kZXJCdW5kbGVF
bmNvZGVyU2V0SW5kZXhCdWZmZXIpOwotICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdVJl
bmRlckJ1bmRsZUVuY29kZXJTZXRMYWJlbCIpKQotICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRf
Y2FzdDxXR1BVUHJvYz4oJndncHVSZW5kZXJCdW5kbGVFbmNvZGVyU2V0TGFiZWwpOwogICAgIGlm
ICghc3RyY21wKHByb2NOYW1lLCAid2dwdVJlbmRlckJ1bmRsZUVuY29kZXJTZXRQaXBlbGluZSIp
KQogICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVSZW5kZXJC
dW5kbGVFbmNvZGVyU2V0UGlwZWxpbmUpOwogICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dw
dVJlbmRlckJ1bmRsZUVuY29kZXJTZXRWZXJ0ZXhCdWZmZXIiKSkKICAgICAgICAgcmV0dXJuIHJl
aW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1UmVuZGVyQnVuZGxlRW5jb2RlclNldFZlcnRl
eEJ1ZmZlcik7Ci0gICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1UmVuZGVyQnVuZGxlUmVs
ZWFzZSIpKQotICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVS
ZW5kZXJCdW5kbGVSZWxlYXNlKTsKLSAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVSZW5k
ZXJCdW5kbGVTZXRMYWJlbCIpKQotICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BV
UHJvYz4oJndncHVSZW5kZXJCdW5kbGVTZXRMYWJlbCk7CiAgICAgaWYgKCFzdHJjbXAocHJvY05h
bWUsICJ3Z3B1UmVuZGVyUGFzc0VuY29kZXJCZWdpbk9jY2x1c2lvblF1ZXJ5IikpCiAgICAgICAg
IHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdVJlbmRlclBhc3NFbmNvZGVy
QmVnaW5PY2NsdXNpb25RdWVyeSk7CiAgICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1UmVu
ZGVyUGFzc0VuY29kZXJCZWdpblBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5IikpCkBAIC0zMTIsMTYg
KzI2MSwxMiBAQCBXR1BVUHJvYyB3Z3B1R2V0UHJvY0FkZHJlc3MoV0dQVURldmljZSBkZXZpY2Us
IGNvbnN0IGNoYXIqIHByb2NOYW1lKQogICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxX
R1BVUHJvYz4oJndncHVSZW5kZXJQYXNzRW5jb2RlclBvcERlYnVnR3JvdXApOwogICAgIGlmICgh
c3RyY21wKHByb2NOYW1lLCAid2dwdVJlbmRlclBhc3NFbmNvZGVyUHVzaERlYnVnR3JvdXAiKSkK
ICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1UmVuZGVyUGFz
c0VuY29kZXJQdXNoRGVidWdHcm91cCk7Ci0gICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1
UmVuZGVyUGFzc0VuY29kZXJSZWxlYXNlIikpCi0gICAgICAgIHJldHVybiByZWludGVycHJldF9j
YXN0PFdHUFVQcm9jPigmd2dwdVJlbmRlclBhc3NFbmNvZGVyUmVsZWFzZSk7CiAgICAgaWYgKCFz
dHJjbXAocHJvY05hbWUsICJ3Z3B1UmVuZGVyUGFzc0VuY29kZXJTZXRCaW5kR3JvdXAiKSkKICAg
ICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1UmVuZGVyUGFzc0Vu
Y29kZXJTZXRCaW5kR3JvdXApOwogICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdVJlbmRl
clBhc3NFbmNvZGVyU2V0QmxlbmRDb25zdGFudCIpKQogICAgICAgICByZXR1cm4gcmVpbnRlcnBy
ZXRfY2FzdDxXR1BVUHJvYz4oJndncHVSZW5kZXJQYXNzRW5jb2RlclNldEJsZW5kQ29uc3RhbnQp
OwogICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdVJlbmRlclBhc3NFbmNvZGVyU2V0SW5k
ZXhCdWZmZXIiKSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3
Z3B1UmVuZGVyUGFzc0VuY29kZXJTZXRJbmRleEJ1ZmZlcik7Ci0gICAgaWYgKCFzdHJjbXAocHJv
Y05hbWUsICJ3Z3B1UmVuZGVyUGFzc0VuY29kZXJTZXRMYWJlbCIpKQotICAgICAgICByZXR1cm4g
cmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVSZW5kZXJQYXNzRW5jb2RlclNldExhYmVs
KTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVSZW5kZXJQYXNzRW5jb2RlclNldFBp
cGVsaW5lIikpCiAgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dw
dVJlbmRlclBhc3NFbmNvZGVyU2V0UGlwZWxpbmUpOwogICAgIGlmICghc3RyY21wKHByb2NOYW1l
LCAid2dwdVJlbmRlclBhc3NFbmNvZGVyU2V0U2Npc3NvclJlY3QiKSkKQEAgLTMzMiw0NCArMjc3
LDI0IEBAIFdHUFVQcm9jIHdncHVHZXRQcm9jQWRkcmVzcyhXR1BVRGV2aWNlIGRldmljZSwgY29u
c3QgY2hhciogcHJvY05hbWUpCiAgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQ
cm9jPigmd2dwdVJlbmRlclBhc3NFbmNvZGVyU2V0VmVydGV4QnVmZmVyKTsKICAgICBpZiAoIXN0
cmNtcChwcm9jTmFtZSwgIndncHVSZW5kZXJQYXNzRW5jb2RlclNldFZpZXdwb3J0IikpCiAgICAg
ICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdVJlbmRlclBhc3NFbmNv
ZGVyU2V0Vmlld3BvcnQpOwotICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdVJlbmRlclBh
c3NFbmNvZGVyV3JpdGVUaW1lc3RhbXAiKSkKLSAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nh
c3Q8V0dQVVByb2M+KCZ3Z3B1UmVuZGVyUGFzc0VuY29kZXJXcml0ZVRpbWVzdGFtcCk7CiAgICAg
aWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1UmVuZGVyUGlwZWxpbmVHZXRCaW5kR3JvdXBMYXlv
dXQiKSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1UmVu
ZGVyUGlwZWxpbmVHZXRCaW5kR3JvdXBMYXlvdXQpOwotICAgIGlmICghc3RyY21wKHByb2NOYW1l
LCAid2dwdVJlbmRlclBpcGVsaW5lUmVsZWFzZSIpKQotICAgICAgICByZXR1cm4gcmVpbnRlcnBy
ZXRfY2FzdDxXR1BVUHJvYz4oJndncHVSZW5kZXJQaXBlbGluZVJlbGVhc2UpOwogICAgIGlmICgh
c3RyY21wKHByb2NOYW1lLCAid2dwdVJlbmRlclBpcGVsaW5lU2V0TGFiZWwiKSkKICAgICAgICAg
cmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1UmVuZGVyUGlwZWxpbmVTZXRM
YWJlbCk7Ci0gICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1U2FtcGxlclJlbGVhc2UiKSkK
LSAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1U2FtcGxlclJl
bGVhc2UpOwotICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdVNhbXBsZXJTZXRMYWJlbCIp
KQotICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVTYW1wbGVy
U2V0TGFiZWwpOwotICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdVNoYWRlck1vZHVsZVJl
bGVhc2UiKSkKLSAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1
U2hhZGVyTW9kdWxlUmVsZWFzZSk7CisgICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1U2hh
ZGVyTW9kdWxlR2V0Q29tcGlsYXRpb25JbmZvIikpCisgICAgICAgIHJldHVybiByZWludGVycHJl
dF9jYXN0PFdHUFVQcm9jPigmd2dwdVNoYWRlck1vZHVsZUdldENvbXBpbGF0aW9uSW5mbyk7CiAg
ICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1U2hhZGVyTW9kdWxlU2V0TGFiZWwiKSkKICAg
ICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1U2hhZGVyTW9kdWxl
U2V0TGFiZWwpOwogICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdVN1cmZhY2VHZXRQcmVm
ZXJyZWRGb3JtYXQiKSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+
KCZ3Z3B1U3VyZmFjZUdldFByZWZlcnJlZEZvcm1hdCk7Ci0gICAgaWYgKCFzdHJjbXAocHJvY05h
bWUsICJ3Z3B1U3VyZmFjZVJlbGVhc2UiKSkKLSAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nh
c3Q8V0dQVVByb2M+KCZ3Z3B1U3VyZmFjZVJlbGVhc2UpOwogICAgIGlmICghc3RyY21wKHByb2NO
YW1lLCAid2dwdVN3YXBDaGFpbkdldEN1cnJlbnRUZXh0dXJlVmlldyIpKQogICAgICAgICByZXR1
cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVTd2FwQ2hhaW5HZXRDdXJyZW50VGV4
dHVyZVZpZXcpOwogICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdVN3YXBDaGFpblByZXNl
bnQiKSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1U3dh
cENoYWluUHJlc2VudCk7Ci0gICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1U3dhcENoYWlu
UmVsZWFzZSIpKQotICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndn
cHVTd2FwQ2hhaW5SZWxlYXNlKTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVUZXh0
dXJlQ3JlYXRlVmlldyIpKQogICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJv
Yz4oJndncHVUZXh0dXJlQ3JlYXRlVmlldyk7CiAgICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3
Z3B1VGV4dHVyZURlc3Ryb3kiKSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQ
VVByb2M+KCZ3Z3B1VGV4dHVyZURlc3Ryb3kpOwotICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAi
d2dwdVRleHR1cmVSZWxlYXNlIikpCi0gICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdH
UFVQcm9jPigmd2dwdVRleHR1cmVSZWxlYXNlKTsKLSAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwg
IndncHVUZXh0dXJlU2V0TGFiZWwiKSkKLSAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8
V0dQVVByb2M+KCZ3Z3B1VGV4dHVyZVNldExhYmVsKTsKLSAgICBpZiAoIXN0cmNtcChwcm9jTmFt
ZSwgIndncHVUZXh0dXJlVmlld1JlbGVhc2UiKSkKLSAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0
X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1VGV4dHVyZVZpZXdSZWxlYXNlKTsKLSAgICBpZiAoIXN0cmNt
cChwcm9jTmFtZSwgIndncHVUZXh0dXJlVmlld1NldExhYmVsIikpCi0gICAgICAgIHJldHVybiBy
ZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdVRleHR1cmVWaWV3U2V0TGFiZWwpOwogICAg
IHJldHVybiBudWxscHRyOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9S
ZW5kZXJQYXNzRW5jb2Rlci5oIGIvU291cmNlL1dlYkdQVS9XZWJHUFUvUmVuZGVyUGFzc0VuY29k
ZXIuaAppbmRleCA2YjViY2EzOGYwYTVjZDgxY2NhY2UyZjExY2NiOTU5NjY5YjliNGZhLi41Yzk0
OTVhMDU5Mzg4NWNlOTZhNWFlODRkYTAzMDI5ZGZlN2IzNzQ1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViR1BVL1dlYkdQVS9SZW5kZXJQYXNzRW5jb2Rlci5oCisrKyBiL1NvdXJjZS9XZWJHUFUvV2Vi
R1BVL1JlbmRlclBhc3NFbmNvZGVyLmgKQEAgLTcxLDcgKzcxLDYgQEAgcHVibGljOgogICAgIHZv
aWQgc2V0U3RlbmNpbFJlZmVyZW5jZSh1aW50MzJfdCk7CiAgICAgdm9pZCBzZXRWZXJ0ZXhCdWZm
ZXIodWludDMyX3Qgc2xvdCwgY29uc3QgQnVmZmVyJiwgdWludDY0X3Qgb2Zmc2V0LCB1aW50NjRf
dCBzaXplKTsKICAgICB2b2lkIHNldFZpZXdwb3J0KGZsb2F0IHgsIGZsb2F0IHksIGZsb2F0IHdp
ZHRoLCBmbG9hdCBoZWlnaHQsIGZsb2F0IG1pbkRlcHRoLCBmbG9hdCBtYXhEZXB0aCk7Ci0gICAg
dm9pZCB3cml0ZVRpbWVzdGFtcChjb25zdCBRdWVyeVNldCYsIHVpbnQzMl90IHF1ZXJ5SW5kZXgp
OwogICAgIHZvaWQgc2V0TGFiZWwoY29uc3QgY2hhciopOwogCiBwcml2YXRlOgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkdQVS9XZWJHUFUvUmVuZGVyUGFzc0VuY29kZXIubW0gYi9Tb3VyY2UvV2Vi
R1BVL1dlYkdQVS9SZW5kZXJQYXNzRW5jb2Rlci5tbQppbmRleCBiM2MzOTNlNzAxM2Q5MWQyZWQx
YzlkZTkyMTJjNzQyOGJlZmNlY2M1Li5jYjlkYmExYmQzNWVmYWM1Y2ZjY2Y5YjZlNDY0MTk1YTZh
MWZmMTg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9SZW5kZXJQYXNzRW5jb2Rl
ci5tbQorKysgYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9SZW5kZXJQYXNzRW5jb2Rlci5tbQpAQCAt
MTcxLDEyICsxNzEsNiBAQCB2b2lkIFJlbmRlclBhc3NFbmNvZGVyOjpzZXRWaWV3cG9ydChmbG9h
dCB4LCBmbG9hdCB5LCBmbG9hdCB3aWR0aCwgZmxvYXQgaGVpZ2h0LAogICAgIFVOVVNFRF9QQVJB
TShtYXhEZXB0aCk7CiB9CiAKLXZvaWQgUmVuZGVyUGFzc0VuY29kZXI6OndyaXRlVGltZXN0YW1w
KGNvbnN0IFF1ZXJ5U2V0JiBxdWVyeVNldCwgdWludDMyX3QgcXVlcnlJbmRleCkKLXsKLSAgICBV
TlVTRURfUEFSQU0ocXVlcnlTZXQpOwotICAgIFVOVVNFRF9QQVJBTShxdWVyeUluZGV4KTsKLX0K
LQogdm9pZCBSZW5kZXJQYXNzRW5jb2Rlcjo6c2V0TGFiZWwoY29uc3QgY2hhciogbGFiZWwpCiB7
CiAgICAgVU5VU0VEX1BBUkFNKGxhYmVsKTsKQEAgLTI5NywxMSArMjkxLDYgQEAgdm9pZCB3Z3B1
UmVuZGVyUGFzc0VuY29kZXJTZXRWaWV3cG9ydChXR1BVUmVuZGVyUGFzc0VuY29kZXIgcmVuZGVy
UGFzc0VuY29kZXIsIGYKICAgICByZW5kZXJQYXNzRW5jb2Rlci0+cmVuZGVyUGFzc0VuY29kZXIt
PnNldFZpZXdwb3J0KHgsIHksIHdpZHRoLCBoZWlnaHQsIG1pbkRlcHRoLCBtYXhEZXB0aCk7CiB9
CiAKLXZvaWQgd2dwdVJlbmRlclBhc3NFbmNvZGVyV3JpdGVUaW1lc3RhbXAoV0dQVVJlbmRlclBh
c3NFbmNvZGVyIHJlbmRlclBhc3NFbmNvZGVyLCBXR1BVUXVlcnlTZXQgcXVlcnlTZXQsIHVpbnQz
Ml90IHF1ZXJ5SW5kZXgpCi17Ci0gICAgcmVuZGVyUGFzc0VuY29kZXItPnJlbmRlclBhc3NFbmNv
ZGVyLT53cml0ZVRpbWVzdGFtcChxdWVyeVNldC0+cXVlcnlTZXQsIHF1ZXJ5SW5kZXgpOwotfQot
CiB2b2lkIHdncHVSZW5kZXJQYXNzRW5jb2RlclNldExhYmVsKFdHUFVSZW5kZXJQYXNzRW5jb2Rl
ciByZW5kZXJQYXNzRW5jb2RlciwgY29uc3QgY2hhciogbGFiZWwpCiB7CiAgICAgcmVuZGVyUGFz
c0VuY29kZXItPnJlbmRlclBhc3NFbmNvZGVyLT5zZXRMYWJlbChsYWJlbCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9TaGFkZXJNb2R1bGUuaCBiL1NvdXJjZS9XZWJHUFUvV2Vi
R1BVL1NoYWRlck1vZHVsZS5oCmluZGV4IGNjZDk1ZTA1MzAzMDc1MmFhZjdiNWY3NmE5ZWZiNDQz
ZWRjNTU4M2MuLmMyYWQzZWVkMTg3MTU0MWIyOTU1ZWRjZTBiY2ZkZDBjOTU2NmZkNjUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL1NoYWRlck1vZHVsZS5oCisrKyBiL1NvdXJjZS9X
ZWJHUFUvV2ViR1BVL1NoYWRlck1vZHVsZS5oCkBAIC00Miw2ICs0Miw3IEBAIHB1YmxpYzoKIAog
ICAgIH5TaGFkZXJNb2R1bGUoKTsKIAorICAgIHZvaWQgZ2V0Q29tcGlsYXRpb25JbmZvKFdURjo6
RnVuY3Rpb248dm9pZChXR1BVQ29tcGlsYXRpb25JbmZvUmVxdWVzdFN0YXR1cywgY29uc3QgV0dQ
VUNvbXBpbGF0aW9uSW5mbyopPiYmIGNhbGxiYWNrKTsKICAgICB2b2lkIHNldExhYmVsKGNvbnN0
IGNoYXIqKTsKIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL1No
YWRlck1vZHVsZS5tbSBiL1NvdXJjZS9XZWJHUFUvV2ViR1BVL1NoYWRlck1vZHVsZS5tbQppbmRl
eCA5NTRkY2YxNDZjMjMwZjEyNmQwYmM4NTYyZDFhODY1M2NhNGQyMmNjLi42Y2IzYzllOWYwZGFh
NGVlM2EzYTcyMjg2ODQzMWRlMTcyNTY4YzgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViR1BVL1dl
YkdQVS9TaGFkZXJNb2R1bGUubW0KKysrIGIvU291cmNlL1dlYkdQVS9XZWJHUFUvU2hhZGVyTW9k
dWxlLm1tCkBAIC0zNCw2ICszNCwxMSBAQCBTaGFkZXJNb2R1bGU6OlNoYWRlck1vZHVsZSgpID0g
ZGVmYXVsdDsKIAogU2hhZGVyTW9kdWxlOjp+U2hhZGVyTW9kdWxlKCkgPSBkZWZhdWx0OwogCit2
b2lkIFNoYWRlck1vZHVsZTo6Z2V0Q29tcGlsYXRpb25JbmZvKFdURjo6RnVuY3Rpb248dm9pZChX
R1BVQ29tcGlsYXRpb25JbmZvUmVxdWVzdFN0YXR1cywgY29uc3QgV0dQVUNvbXBpbGF0aW9uSW5m
byopPiYmIGNhbGxiYWNrKQoreworICAgIFVOVVNFRF9QQVJBTShjYWxsYmFjayk7Cit9CisKIHZv
aWQgU2hhZGVyTW9kdWxlOjpzZXRMYWJlbChjb25zdCBjaGFyKiBsYWJlbCkKIHsKICAgICBVTlVT
RURfUEFSQU0obGFiZWwpOwpAQCAtNDYsNiArNTEsMTMgQEAgdm9pZCB3Z3B1U2hhZGVyTW9kdWxl
UmVsZWFzZShXR1BVU2hhZGVyTW9kdWxlIHNoYWRlck1vZHVsZSkKICAgICBkZWxldGUgc2hhZGVy
TW9kdWxlOwogfQogCit2b2lkIHdncHVTaGFkZXJNb2R1bGVHZXRDb21waWxhdGlvbkluZm8oV0dQ
VVNoYWRlck1vZHVsZSBzaGFkZXJNb2R1bGUsIFdHUFVDb21waWxhdGlvbkluZm9DYWxsYmFjayBj
YWxsYmFjaywgdm9pZCAqIHVzZXJkYXRhKQoreworICAgIHNoYWRlck1vZHVsZS0+c2hhZGVyTW9k
dWxlLT5nZXRDb21waWxhdGlvbkluZm8oW2NhbGxiYWNrLCB1c2VyZGF0YV0gKFdHUFVDb21waWxh
dGlvbkluZm9SZXF1ZXN0U3RhdHVzIHN0YXR1cywgY29uc3QgV0dQVUNvbXBpbGF0aW9uSW5mbyog
Y29tcGlsYXRpb25JbmZvKSB7CisgICAgICAgIGNhbGxiYWNrKHN0YXR1cywgY29tcGlsYXRpb25J
bmZvLCB1c2VyZGF0YSk7CisgICAgfSk7Cit9CisKIHZvaWQgd2dwdVNoYWRlck1vZHVsZVNldExh
YmVsKFdHUFVTaGFkZXJNb2R1bGUgc2hhZGVyTW9kdWxlLCBjb25zdCBjaGFyKiBsYWJlbCkKIHsK
ICAgICBzaGFkZXJNb2R1bGUtPnNoYWRlck1vZHVsZS0+c2V0TGFiZWwobGFiZWwpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkdQVS9XZWJHUFUvV2ViR1BVLmggYi9Tb3VyY2UvV2ViR1BVL1dlYkdQ
VS9XZWJHUFUuaAppbmRleCA1YWZiMzgzMjZiYWFiYzhkNjRiMDAzYTI1NTIwYzFkZTFiMjdmYmY0
Li4wOTkzMTZiMWQzYjc3OGJiMDhlM2Q2NTIwNDhjZjY0YjMwYjg4YzAxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViR1BVL1dlYkdQVS9XZWJHUFUuaAorKysgYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9X
ZWJHUFUuaApAQCAtNTIsMTIgKzUyLDEzIEBACiAjaW5jbHVkZSA8c3RkZGVmLmg+CiAjaW5jbHVk
ZSA8c3RkYm9vbC5oPgogCi0jZGVmaW5lIFdHUFVfV0hPTEVfU0laRSAoMHhmZmZmZmZmZmZmZmZm
ZmZmVUxMKQorI2RlZmluZSBXR1BVX0FSUkFZX0xBWUVSX0NPVU5UX1VOREVGSU5FRCAoMHhmZmZm
ZmZmZlVMKQogI2RlZmluZSBXR1BVX0NPUFlfU1RSSURFX1VOREVGSU5FRCAoMHhmZmZmZmZmZlVM
KQogI2RlZmluZSBXR1BVX0xJTUlUX1UzMl9VTkRFRklORUQgKDB4ZmZmZmZmZmZVTCkKICNkZWZp
bmUgV0dQVV9MSU1JVF9VNjRfVU5ERUZJTkVEICgweGZmZmZmZmZmZmZmZmZmZmZVTEwpCi0jZGVm
aW5lIFdHUFVfQVJSQVlfTEFZRVJfQ09VTlRfVU5ERUZJTkVEICgweGZmZmZmZmZmVUwpCiAjZGVm
aW5lIFdHUFVfTUlQX0xFVkVMX0NPVU5UX1VOREVGSU5FRCAoMHhmZmZmZmZmZlVMKQorI2RlZmlu
ZSBXR1BVX1dIT0xFX01BUF9TSVpFIFNJWkVfTUFYCisjZGVmaW5lIFdHUFVfV0hPTEVfU0laRSAo
MHhmZmZmZmZmZmZmZmZmZmZmVUxMKQogCiB0eXBlZGVmIHVpbnQzMl90IFdHUFVGbGFnczsKIApA
QCAtMTY5LDYgKzE3MCwxNCBAQCB0eXBlZGVmIGVudW0gV0dQVUNvbXBhcmVGdW5jdGlvbiB7CiAg
ICAgV0dQVUNvbXBhcmVGdW5jdGlvbl9Gb3JjZTMyID0gMHg3RkZGRkZGRgogfSBXR1BVQ29tcGFy
ZUZ1bmN0aW9uOwogCit0eXBlZGVmIGVudW0gV0dQVUNvbXBpbGF0aW9uSW5mb1JlcXVlc3RTdGF0
dXMgeworICAgIFdHUFVDb21waWxhdGlvbkluZm9SZXF1ZXN0U3RhdHVzX1N1Y2Nlc3MgPSAweDAw
MDAwMDAwLAorICAgIFdHUFVDb21waWxhdGlvbkluZm9SZXF1ZXN0U3RhdHVzX0Vycm9yID0gMHgw
MDAwMDAwMSwKKyAgICBXR1BVQ29tcGlsYXRpb25JbmZvUmVxdWVzdFN0YXR1c19EZXZpY2VMb3N0
ID0gMHgwMDAwMDAwMiwKKyAgICBXR1BVQ29tcGlsYXRpb25JbmZvUmVxdWVzdFN0YXR1c19Vbmtu
b3duID0gMHgwMDAwMDAwMywKKyAgICBXR1BVQ29tcGlsYXRpb25JbmZvUmVxdWVzdFN0YXR1c19G
b3JjZTMyID0gMHg3RkZGRkZGRgorfSBXR1BVQ29tcGlsYXRpb25JbmZvUmVxdWVzdFN0YXR1czsK
KwogdHlwZWRlZiBlbnVtIFdHUFVDb21waWxhdGlvbk1lc3NhZ2VUeXBlIHsKICAgICBXR1BVQ29t
cGlsYXRpb25NZXNzYWdlVHlwZV9FcnJvciA9IDB4MDAwMDAwMDAsCiAgICAgV0dQVUNvbXBpbGF0
aW9uTWVzc2FnZVR5cGVfV2FybmluZyA9IDB4MDAwMDAwMDEsCkBAIC0xNzYsNiArMTg1LDEyIEBA
IHR5cGVkZWYgZW51bSBXR1BVQ29tcGlsYXRpb25NZXNzYWdlVHlwZSB7CiAgICAgV0dQVUNvbXBp
bGF0aW9uTWVzc2FnZVR5cGVfRm9yY2UzMiA9IDB4N0ZGRkZGRkYKIH0gV0dQVUNvbXBpbGF0aW9u
TWVzc2FnZVR5cGU7CiAKK3R5cGVkZWYgZW51bSBXR1BVQ29tcHV0ZVBhc3NUaW1lc3RhbXBMb2Nh
dGlvbiB7CisgICAgV0dQVUNvbXB1dGVQYXNzVGltZXN0YW1wTG9jYXRpb25fQmVnaW5uaW5nID0g
MHgwMDAwMDAwMCwKKyAgICBXR1BVQ29tcHV0ZVBhc3NUaW1lc3RhbXBMb2NhdGlvbl9FbmQgPSAw
eDAwMDAwMDAxLAorICAgIFdHUFVDb21wdXRlUGFzc1RpbWVzdGFtcExvY2F0aW9uX0ZvcmNlMzIg
PSAweDdGRkZGRkZGCit9IFdHUFVDb21wdXRlUGFzc1RpbWVzdGFtcExvY2F0aW9uOworCiB0eXBl
ZGVmIGVudW0gV0dQVUNyZWF0ZVBpcGVsaW5lQXN5bmNTdGF0dXMgewogICAgIFdHUFVDcmVhdGVQ
aXBlbGluZUFzeW5jU3RhdHVzX1N1Y2Nlc3MgPSAweDAwMDAwMDAwLAogICAgIFdHUFVDcmVhdGVQ
aXBlbGluZUFzeW5jU3RhdHVzX0Vycm9yID0gMHgwMDAwMDAwMSwKQEAgLTE5OSw5ICsyMTQsOCBA
QCB0eXBlZGVmIGVudW0gV0dQVURldmljZUxvc3RSZWFzb24gewogfSBXR1BVRGV2aWNlTG9zdFJl
YXNvbjsKIAogdHlwZWRlZiBlbnVtIFdHUFVFcnJvckZpbHRlciB7Ci0gICAgV0dQVUVycm9yRmls
dGVyX05vbmUgPSAweDAwMDAwMDAwLAotICAgIFdHUFVFcnJvckZpbHRlcl9WYWxpZGF0aW9uID0g
MHgwMDAwMDAwMSwKLSAgICBXR1BVRXJyb3JGaWx0ZXJfT3V0T2ZNZW1vcnkgPSAweDAwMDAwMDAy
LAorICAgIFdHUFVFcnJvckZpbHRlcl9WYWxpZGF0aW9uID0gMHgwMDAwMDAwMCwKKyAgICBXR1BV
RXJyb3JGaWx0ZXJfT3V0T2ZNZW1vcnkgPSAweDAwMDAwMDAxLAogICAgIFdHUFVFcnJvckZpbHRl
cl9Gb3JjZTMyID0gMHg3RkZGRkZGRgogfSBXR1BVRXJyb3JGaWx0ZXI7CiAKQEAgLTIxNiwxMiAr
MjMwLDE1IEBAIHR5cGVkZWYgZW51bSBXR1BVRXJyb3JUeXBlIHsKIAogdHlwZWRlZiBlbnVtIFdH
UFVGZWF0dXJlTmFtZSB7CiAgICAgV0dQVUZlYXR1cmVOYW1lX1VuZGVmaW5lZCA9IDB4MDAwMDAw
MDAsCi0gICAgV0dQVUZlYXR1cmVOYW1lX0RlcHRoQ2xhbXBpbmcgPSAweDAwMDAwMDAxLAorICAg
IFdHUFVGZWF0dXJlTmFtZV9EZXB0aENsaXBDb250cm9sID0gMHgwMDAwMDAwMSwKICAgICBXR1BV
RmVhdHVyZU5hbWVfRGVwdGgyNFVub3JtU3RlbmNpbDggPSAweDAwMDAwMDAyLAogICAgIFdHUFVG
ZWF0dXJlTmFtZV9EZXB0aDMyRmxvYXRTdGVuY2lsOCA9IDB4MDAwMDAwMDMsCiAgICAgV0dQVUZl
YXR1cmVOYW1lX1RpbWVzdGFtcFF1ZXJ5ID0gMHgwMDAwMDAwNCwKICAgICBXR1BVRmVhdHVyZU5h
bWVfUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkgPSAweDAwMDAwMDA1LAogICAgIFdHUFVGZWF0dXJl
TmFtZV9UZXh0dXJlQ29tcHJlc3Npb25CQyA9IDB4MDAwMDAwMDYsCisgICAgV0dQVUZlYXR1cmVO
YW1lX1RleHR1cmVDb21wcmVzc2lvbkVUQzIgPSAweDAwMDAwMDA3LAorICAgIFdHUFVGZWF0dXJl
TmFtZV9UZXh0dXJlQ29tcHJlc3Npb25BU1RDID0gMHgwMDAwMDAwOCwKKyAgICBXR1BVRmVhdHVy
ZU5hbWVfSW5kaXJlY3RGaXJzdEluc3RhbmNlID0gMHgwMDAwMDAwOSwKICAgICBXR1BVRmVhdHVy
ZU5hbWVfRm9yY2UzMiA9IDB4N0ZGRkZGRkYKIH0gV0dQVUZlYXR1cmVOYW1lOwogCkBAIC0yNjAs
OCArMjc3LDkgQEAgdHlwZWRlZiBlbnVtIFdHUFVQaXBlbGluZVN0YXRpc3RpY05hbWUgewogfSBX
R1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lOwogCiB0eXBlZGVmIGVudW0gV0dQVVBvd2VyUHJlZmVy
ZW5jZSB7Ci0gICAgV0dQVVBvd2VyUHJlZmVyZW5jZV9Mb3dQb3dlciA9IDB4MDAwMDAwMDAsCi0g
ICAgV0dQVVBvd2VyUHJlZmVyZW5jZV9IaWdoUGVyZm9ybWFuY2UgPSAweDAwMDAwMDAxLAorICAg
IFdHUFVQb3dlclByZWZlcmVuY2VfVW5kZWZpbmVkID0gMHgwMDAwMDAwMCwKKyAgICBXR1BVUG93
ZXJQcmVmZXJlbmNlX0xvd1Bvd2VyID0gMHgwMDAwMDAwMSwKKyAgICBXR1BVUG93ZXJQcmVmZXJl
bmNlX0hpZ2hQZXJmb3JtYW5jZSA9IDB4MDAwMDAwMDIsCiAgICAgV0dQVVBvd2VyUHJlZmVyZW5j
ZV9Gb3JjZTMyID0gMHg3RkZGRkZGRgogfSBXR1BVUG93ZXJQcmVmZXJlbmNlOwogCkBAIC0yOTYs
NiArMzE0LDEyIEBAIHR5cGVkZWYgZW51bSBXR1BVUXVldWVXb3JrRG9uZVN0YXR1cyB7CiAgICAg
V0dQVVF1ZXVlV29ya0RvbmVTdGF0dXNfRm9yY2UzMiA9IDB4N0ZGRkZGRkYKIH0gV0dQVVF1ZXVl
V29ya0RvbmVTdGF0dXM7CiAKK3R5cGVkZWYgZW51bSBXR1BVUmVuZGVyUGFzc1RpbWVzdGFtcExv
Y2F0aW9uIHsKKyAgICBXR1BVUmVuZGVyUGFzc1RpbWVzdGFtcExvY2F0aW9uX0JlZ2lubmluZyA9
IDB4MDAwMDAwMDAsCisgICAgV0dQVVJlbmRlclBhc3NUaW1lc3RhbXBMb2NhdGlvbl9FbmQgPSAw
eDAwMDAwMDAxLAorICAgIFdHUFVSZW5kZXJQYXNzVGltZXN0YW1wTG9jYXRpb25fRm9yY2UzMiA9
IDB4N0ZGRkZGRkYKK30gV0dQVVJlbmRlclBhc3NUaW1lc3RhbXBMb2NhdGlvbjsKKwogdHlwZWRl
ZiBlbnVtIFdHUFVSZXF1ZXN0QWRhcHRlclN0YXR1cyB7CiAgICAgV0dQVVJlcXVlc3RBZGFwdGVy
U3RhdHVzX1N1Y2Nlc3MgPSAweDAwMDAwMDAwLAogICAgIFdHUFVSZXF1ZXN0QWRhcHRlclN0YXR1
c19VbmF2YWlsYWJsZSA9IDB4MDAwMDAwMDEsCkBAIC0zMTksNyArMzQzLDkgQEAgdHlwZWRlZiBl
bnVtIFdHUFVTVHlwZSB7CiAgICAgV0dQVVNUeXBlX1N1cmZhY2VEZXNjcmlwdG9yRnJvbUNhbnZh
c0hUTUxTZWxlY3RvciA9IDB4MDAwMDAwMDQsCiAgICAgV0dQVVNUeXBlX1NoYWRlck1vZHVsZVNQ
SVJWRGVzY3JpcHRvciA9IDB4MDAwMDAwMDUsCiAgICAgV0dQVVNUeXBlX1NoYWRlck1vZHVsZVdH
U0xEZXNjcmlwdG9yID0gMHgwMDAwMDAwNiwKLSAgICBXR1BVU1R5cGVfUHJpbWl0aXZlRGVwdGhD
bGFtcGluZ1N0YXRlID0gMHgwMDAwMDAwNywKKyAgICBXR1BVU1R5cGVfUHJpbWl0aXZlRGVwdGhD
bGlwQ29udHJvbCA9IDB4MDAwMDAwMDcsCisgICAgV0dQVVNUeXBlX1N1cmZhY2VEZXNjcmlwdG9y
RnJvbVdheWxhbmRTdXJmYWNlID0gMHgwMDAwMDAwOCwKKyAgICBXR1BVU1R5cGVfU3VyZmFjZURl
c2NyaXB0b3JGcm9tQW5kcm9pZE5hdGl2ZVdpbmRvdyA9IDB4MDAwMDAwMDksCiAgICAgV0dQVVNU
eXBlX0ZvcmNlMzIgPSAweDdGRkZGRkZGCiB9IFdHUFVTVHlwZTsKIApAQCAtNDE5LDIxICs0NDUs
NjEgQEAgdHlwZWRlZiBlbnVtIFdHUFVUZXh0dXJlRm9ybWF0IHsKICAgICBXR1BVVGV4dHVyZUZv
cm1hdF9EZXB0aDE2VW5vcm0gPSAweDAwMDAwMDI2LAogICAgIFdHUFVUZXh0dXJlRm9ybWF0X0Rl
cHRoMjRQbHVzID0gMHgwMDAwMDAyNywKICAgICBXR1BVVGV4dHVyZUZvcm1hdF9EZXB0aDI0UGx1
c1N0ZW5jaWw4ID0gMHgwMDAwMDAyOCwKLSAgICBXR1BVVGV4dHVyZUZvcm1hdF9EZXB0aDMyRmxv
YXQgPSAweDAwMDAwMDI5LAotICAgIFdHUFVUZXh0dXJlRm9ybWF0X0JDMVJHQkFVbm9ybSA9IDB4
MDAwMDAwMkEsCi0gICAgV0dQVVRleHR1cmVGb3JtYXRfQkMxUkdCQVVub3JtU3JnYiA9IDB4MDAw
MDAwMkIsCi0gICAgV0dQVVRleHR1cmVGb3JtYXRfQkMyUkdCQVVub3JtID0gMHgwMDAwMDAyQywK
LSAgICBXR1BVVGV4dHVyZUZvcm1hdF9CQzJSR0JBVW5vcm1TcmdiID0gMHgwMDAwMDAyRCwKLSAg
ICBXR1BVVGV4dHVyZUZvcm1hdF9CQzNSR0JBVW5vcm0gPSAweDAwMDAwMDJFLAotICAgIFdHUFVU
ZXh0dXJlRm9ybWF0X0JDM1JHQkFVbm9ybVNyZ2IgPSAweDAwMDAwMDJGLAotICAgIFdHUFVUZXh0
dXJlRm9ybWF0X0JDNFJVbm9ybSA9IDB4MDAwMDAwMzAsCi0gICAgV0dQVVRleHR1cmVGb3JtYXRf
QkM0UlNub3JtID0gMHgwMDAwMDAzMSwKLSAgICBXR1BVVGV4dHVyZUZvcm1hdF9CQzVSR1Vub3Jt
ID0gMHgwMDAwMDAzMiwKLSAgICBXR1BVVGV4dHVyZUZvcm1hdF9CQzVSR1Nub3JtID0gMHgwMDAw
MDAzMywKLSAgICBXR1BVVGV4dHVyZUZvcm1hdF9CQzZIUkdCVWZsb2F0ID0gMHgwMDAwMDAzNCwK
LSAgICBXR1BVVGV4dHVyZUZvcm1hdF9CQzZIUkdCRmxvYXQgPSAweDAwMDAwMDM1LAotICAgIFdH
UFVUZXh0dXJlRm9ybWF0X0JDN1JHQkFVbm9ybSA9IDB4MDAwMDAwMzYsCi0gICAgV0dQVVRleHR1
cmVGb3JtYXRfQkM3UkdCQVVub3JtU3JnYiA9IDB4MDAwMDAwMzcsCisgICAgV0dQVVRleHR1cmVG
b3JtYXRfRGVwdGgyNFVub3JtU3RlbmNpbDggPSAweDAwMDAwMDI5LAorICAgIFdHUFVUZXh0dXJl
Rm9ybWF0X0RlcHRoMzJGbG9hdCA9IDB4MDAwMDAwMkEsCisgICAgV0dQVVRleHR1cmVGb3JtYXRf
RGVwdGgzMkZsb2F0U3RlbmNpbDggPSAweDAwMDAwMDJCLAorICAgIFdHUFVUZXh0dXJlRm9ybWF0
X0JDMVJHQkFVbm9ybSA9IDB4MDAwMDAwMkMsCisgICAgV0dQVVRleHR1cmVGb3JtYXRfQkMxUkdC
QVVub3JtU3JnYiA9IDB4MDAwMDAwMkQsCisgICAgV0dQVVRleHR1cmVGb3JtYXRfQkMyUkdCQVVu
b3JtID0gMHgwMDAwMDAyRSwKKyAgICBXR1BVVGV4dHVyZUZvcm1hdF9CQzJSR0JBVW5vcm1Tcmdi
ID0gMHgwMDAwMDAyRiwKKyAgICBXR1BVVGV4dHVyZUZvcm1hdF9CQzNSR0JBVW5vcm0gPSAweDAw
MDAwMDMwLAorICAgIFdHUFVUZXh0dXJlRm9ybWF0X0JDM1JHQkFVbm9ybVNyZ2IgPSAweDAwMDAw
MDMxLAorICAgIFdHUFVUZXh0dXJlRm9ybWF0X0JDNFJVbm9ybSA9IDB4MDAwMDAwMzIsCisgICAg
V0dQVVRleHR1cmVGb3JtYXRfQkM0UlNub3JtID0gMHgwMDAwMDAzMywKKyAgICBXR1BVVGV4dHVy
ZUZvcm1hdF9CQzVSR1Vub3JtID0gMHgwMDAwMDAzNCwKKyAgICBXR1BVVGV4dHVyZUZvcm1hdF9C
QzVSR1Nub3JtID0gMHgwMDAwMDAzNSwKKyAgICBXR1BVVGV4dHVyZUZvcm1hdF9CQzZIUkdCVWZs
b2F0ID0gMHgwMDAwMDAzNiwKKyAgICBXR1BVVGV4dHVyZUZvcm1hdF9CQzZIUkdCRmxvYXQgPSAw
eDAwMDAwMDM3LAorICAgIFdHUFVUZXh0dXJlRm9ybWF0X0JDN1JHQkFVbm9ybSA9IDB4MDAwMDAw
MzgsCisgICAgV0dQVVRleHR1cmVGb3JtYXRfQkM3UkdCQVVub3JtU3JnYiA9IDB4MDAwMDAwMzks
CisgICAgV0dQVVRleHR1cmVGb3JtYXRfRVRDMlJHQjhVbm9ybSA9IDB4MDAwMDAwM0EsCisgICAg
V0dQVVRleHR1cmVGb3JtYXRfRVRDMlJHQjhVbm9ybVNyZ2IgPSAweDAwMDAwMDNCLAorICAgIFdH
UFVUZXh0dXJlRm9ybWF0X0VUQzJSR0I4QTFVbm9ybSA9IDB4MDAwMDAwM0MsCisgICAgV0dQVVRl
eHR1cmVGb3JtYXRfRVRDMlJHQjhBMVVub3JtU3JnYiA9IDB4MDAwMDAwM0QsCisgICAgV0dQVVRl
eHR1cmVGb3JtYXRfRVRDMlJHQkE4VW5vcm0gPSAweDAwMDAwMDNFLAorICAgIFdHUFVUZXh0dXJl
Rm9ybWF0X0VUQzJSR0JBOFVub3JtU3JnYiA9IDB4MDAwMDAwM0YsCisgICAgV0dQVVRleHR1cmVG
b3JtYXRfRUFDUjExVW5vcm0gPSAweDAwMDAwMDQwLAorICAgIFdHUFVUZXh0dXJlRm9ybWF0X0VB
Q1IxMVNub3JtID0gMHgwMDAwMDA0MSwKKyAgICBXR1BVVGV4dHVyZUZvcm1hdF9FQUNSRzExVW5v
cm0gPSAweDAwMDAwMDQyLAorICAgIFdHUFVUZXh0dXJlRm9ybWF0X0VBQ1JHMTFTbm9ybSA9IDB4
MDAwMDAwNDMsCisgICAgV0dQVVRleHR1cmVGb3JtYXRfQVNUQzR4NFVub3JtID0gMHgwMDAwMDA0
NCwKKyAgICBXR1BVVGV4dHVyZUZvcm1hdF9BU1RDNHg0VW5vcm1TcmdiID0gMHgwMDAwMDA0NSwK
KyAgICBXR1BVVGV4dHVyZUZvcm1hdF9BU1RDNXg0VW5vcm0gPSAweDAwMDAwMDQ2LAorICAgIFdH
UFVUZXh0dXJlRm9ybWF0X0FTVEM1eDRVbm9ybVNyZ2IgPSAweDAwMDAwMDQ3LAorICAgIFdHUFVU
ZXh0dXJlRm9ybWF0X0FTVEM1eDVVbm9ybSA9IDB4MDAwMDAwNDgsCisgICAgV0dQVVRleHR1cmVG
b3JtYXRfQVNUQzV4NVVub3JtU3JnYiA9IDB4MDAwMDAwNDksCisgICAgV0dQVVRleHR1cmVGb3Jt
YXRfQVNUQzZ4NVVub3JtID0gMHgwMDAwMDA0QSwKKyAgICBXR1BVVGV4dHVyZUZvcm1hdF9BU1RD
Nng1VW5vcm1TcmdiID0gMHgwMDAwMDA0QiwKKyAgICBXR1BVVGV4dHVyZUZvcm1hdF9BU1RDNng2
VW5vcm0gPSAweDAwMDAwMDRDLAorICAgIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEM2eDZVbm9ybVNy
Z2IgPSAweDAwMDAwMDRELAorICAgIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEM4eDVVbm9ybSA9IDB4
MDAwMDAwNEUsCisgICAgV0dQVVRleHR1cmVGb3JtYXRfQVNUQzh4NVVub3JtU3JnYiA9IDB4MDAw
MDAwNEYsCisgICAgV0dQVVRleHR1cmVGb3JtYXRfQVNUQzh4NlVub3JtID0gMHgwMDAwMDA1MCwK
KyAgICBXR1BVVGV4dHVyZUZvcm1hdF9BU1RDOHg2VW5vcm1TcmdiID0gMHgwMDAwMDA1MSwKKyAg
ICBXR1BVVGV4dHVyZUZvcm1hdF9BU1RDOHg4VW5vcm0gPSAweDAwMDAwMDUyLAorICAgIFdHUFVU
ZXh0dXJlRm9ybWF0X0FTVEM4eDhVbm9ybVNyZ2IgPSAweDAwMDAwMDUzLAorICAgIFdHUFVUZXh0
dXJlRm9ybWF0X0FTVEMxMHg1VW5vcm0gPSAweDAwMDAwMDU0LAorICAgIFdHUFVUZXh0dXJlRm9y
bWF0X0FTVEMxMHg1VW5vcm1TcmdiID0gMHgwMDAwMDA1NSwKKyAgICBXR1BVVGV4dHVyZUZvcm1h
dF9BU1RDMTB4NlVub3JtID0gMHgwMDAwMDA1NiwKKyAgICBXR1BVVGV4dHVyZUZvcm1hdF9BU1RD
MTB4NlVub3JtU3JnYiA9IDB4MDAwMDAwNTcsCisgICAgV0dQVVRleHR1cmVGb3JtYXRfQVNUQzEw
eDhVbm9ybSA9IDB4MDAwMDAwNTgsCisgICAgV0dQVVRleHR1cmVGb3JtYXRfQVNUQzEweDhVbm9y
bVNyZ2IgPSAweDAwMDAwMDU5LAorICAgIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEMxMHgxMFVub3Jt
ID0gMHgwMDAwMDA1QSwKKyAgICBXR1BVVGV4dHVyZUZvcm1hdF9BU1RDMTB4MTBVbm9ybVNyZ2Ig
PSAweDAwMDAwMDVCLAorICAgIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEMxMngxMFVub3JtID0gMHgw
MDAwMDA1QywKKyAgICBXR1BVVGV4dHVyZUZvcm1hdF9BU1RDMTJ4MTBVbm9ybVNyZ2IgPSAweDAw
MDAwMDVELAorICAgIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEMxMngxMlVub3JtID0gMHgwMDAwMDA1
RSwKKyAgICBXR1BVVGV4dHVyZUZvcm1hdF9BU1RDMTJ4MTJVbm9ybVNyZ2IgPSAweDAwMDAwMDVG
LAogICAgIFdHUFVUZXh0dXJlRm9ybWF0X0ZvcmNlMzIgPSAweDdGRkZGRkZGCiB9IFdHUFVUZXh0
dXJlRm9ybWF0OwogCkBAIC02MzIsMTAgKzY5OCwxMSBAQCB0eXBlZGVmIHN0cnVjdCBXR1BVQ29t
cGlsYXRpb25NZXNzYWdlIHsKICAgICB1aW50NjRfdCBsZW5ndGg7CiB9IFdHUFVDb21waWxhdGlv
bk1lc3NhZ2U7CiAKLXR5cGVkZWYgc3RydWN0IFdHUFVDb21wdXRlUGFzc0Rlc2NyaXB0b3Igewot
ICAgIFdHUFVDaGFpbmVkU3RydWN0IGNvbnN0ICogbmV4dEluQ2hhaW47Ci0gICAgY2hhciBjb25z
dCAqIGxhYmVsOwotfSBXR1BVQ29tcHV0ZVBhc3NEZXNjcmlwdG9yOwordHlwZWRlZiBzdHJ1Y3Qg
V0dQVUNvbXB1dGVQYXNzVGltZXN0YW1wV3JpdGUgeworICAgIFdHUFVRdWVyeVNldCBxdWVyeVNl
dDsKKyAgICB1aW50MzJfdCBxdWVyeUluZGV4OworICAgIFdHUFVDb21wdXRlUGFzc1RpbWVzdGFt
cExvY2F0aW9uIGxvY2F0aW9uOworfSBXR1BVQ29tcHV0ZVBhc3NUaW1lc3RhbXBXcml0ZTsKIAog
dHlwZWRlZiBzdHJ1Y3QgV0dQVUNvbnN0YW50RW50cnkgewogICAgIFdHUFVDaGFpbmVkU3RydWN0
IGNvbnN0ICogbmV4dEluQ2hhaW47CkBAIC03MDIsMTAgKzc2OSwxMCBAQCB0eXBlZGVmIHN0cnVj
dCBXR1BVUGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yIHsKICAgICBXR1BVQmluZEdyb3VwTGF5b3V0
IGNvbnN0ICogYmluZEdyb3VwTGF5b3V0czsKIH0gV0dQVVBpcGVsaW5lTGF5b3V0RGVzY3JpcHRv
cjsKIAotdHlwZWRlZiBzdHJ1Y3QgV0dQVVByaW1pdGl2ZURlcHRoQ2xhbXBpbmdTdGF0ZSB7Cit0
eXBlZGVmIHN0cnVjdCBXR1BVUHJpbWl0aXZlRGVwdGhDbGlwQ29udHJvbCB7CiAgICAgV0dQVUNo
YWluZWRTdHJ1Y3QgY2hhaW47Ci0gICAgYm9vbCBjbGFtcERlcHRoOwotfSBXR1BVUHJpbWl0aXZl
RGVwdGhDbGFtcGluZ1N0YXRlOworICAgIGJvb2wgdW5jbGlwcGVkRGVwdGg7Cit9IFdHUFVQcmlt
aXRpdmVEZXB0aENsaXBDb250cm9sOwogCiB0eXBlZGVmIHN0cnVjdCBXR1BVUHJpbWl0aXZlU3Rh
dGUgewogICAgIFdHUFVDaGFpbmVkU3RydWN0IGNvbnN0ICogbmV4dEluQ2hhaW47CkBAIC03MzYs
NiArODAzLDggQEAgdHlwZWRlZiBzdHJ1Y3QgV0dQVVJlbmRlckJ1bmRsZUVuY29kZXJEZXNjcmlw
dG9yIHsKICAgICBXR1BVVGV4dHVyZUZvcm1hdCBjb25zdCAqIGNvbG9yRm9ybWF0czsKICAgICBX
R1BVVGV4dHVyZUZvcm1hdCBkZXB0aFN0ZW5jaWxGb3JtYXQ7CiAgICAgdWludDMyX3Qgc2FtcGxl
Q291bnQ7CisgICAgYm9vbCBkZXB0aFJlYWRPbmx5OworICAgIGJvb2wgc3RlbmNpbFJlYWRPbmx5
OwogfSBXR1BVUmVuZGVyQnVuZGxlRW5jb2RlckRlc2NyaXB0b3I7CiAKIHR5cGVkZWYgc3RydWN0
IFdHUFVSZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNobWVudCB7CkBAIC03NTAsNiArODE5LDEy
IEBAIHR5cGVkZWYgc3RydWN0IFdHUFVSZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNobWVudCB7
CiAgICAgYm9vbCBzdGVuY2lsUmVhZE9ubHk7CiB9IFdHUFVSZW5kZXJQYXNzRGVwdGhTdGVuY2ls
QXR0YWNobWVudDsKIAordHlwZWRlZiBzdHJ1Y3QgV0dQVVJlbmRlclBhc3NUaW1lc3RhbXBXcml0
ZSB7CisgICAgV0dQVVF1ZXJ5U2V0IHF1ZXJ5U2V0OworICAgIHVpbnQzMl90IHF1ZXJ5SW5kZXg7
CisgICAgV0dQVVJlbmRlclBhc3NUaW1lc3RhbXBMb2NhdGlvbiBsb2NhdGlvbjsKK30gV0dQVVJl
bmRlclBhc3NUaW1lc3RhbXBXcml0ZTsKKwogdHlwZWRlZiBzdHJ1Y3QgV0dQVVJlcXVlc3RBZGFw
dGVyT3B0aW9ucyB7CiAgICAgV0dQVUNoYWluZWRTdHJ1Y3QgY29uc3QgKiBuZXh0SW5DaGFpbjsK
ICAgICBXR1BVU3VyZmFjZSBjb21wYXRpYmxlU3VyZmFjZTsKQEAgLTc5MCw3ICs4NjUsNyBAQCB0
eXBlZGVmIHN0cnVjdCBXR1BVU2hhZGVyTW9kdWxlU1BJUlZEZXNjcmlwdG9yIHsKIAogdHlwZWRl
ZiBzdHJ1Y3QgV0dQVVNoYWRlck1vZHVsZVdHU0xEZXNjcmlwdG9yIHsKICAgICBXR1BVQ2hhaW5l
ZFN0cnVjdCBjaGFpbjsKLSAgICBjaGFyIGNvbnN0ICogc291cmNlOworICAgIGNoYXIgY29uc3Qg
KiBjb2RlOwogfSBXR1BVU2hhZGVyTW9kdWxlV0dTTERlc2NyaXB0b3I7CiAKIHR5cGVkZWYgc3Ry
dWN0IFdHUFVTdGVuY2lsRmFjZVN0YXRlIHsKQEAgLTgzNCw2ICs5MDksMTcgQEAgdHlwZWRlZiBz
dHJ1Y3QgV0dQVVN1cmZhY2VEZXNjcmlwdG9yRnJvbVhsaWIgewogICAgIHVpbnQzMl90IHdpbmRv
dzsKIH0gV0dQVVN1cmZhY2VEZXNjcmlwdG9yRnJvbVhsaWI7CiAKK3R5cGVkZWYgc3RydWN0IFdH
UFVTdXJmYWNlRGVzY3JpcHRvckZyb21XYXlsYW5kU3VyZmFjZSB7CisgICAgV0dQVUNoYWluZWRT
dHJ1Y3QgY2hhaW47CisgICAgdm9pZCAqIGRpc3BsYXk7CisgICAgdm9pZCAqIHN1cmZhY2U7Cit9
IFdHUFVTdXJmYWNlRGVzY3JpcHRvckZyb21XYXlsYW5kU3VyZmFjZTsKKwordHlwZWRlZiBzdHJ1
Y3QgV0dQVVN1cmZhY2VEZXNjcmlwdG9yRnJvbUFuZHJvaWROYXRpdmVXaW5kb3cgeworICAgIFdH
UFVDaGFpbmVkU3RydWN0IGNoYWluOworICAgIHZvaWQgKiB3aW5kb3c7Cit9IFdHUFVTdXJmYWNl
RGVzY3JpcHRvckZyb21BbmRyb2lkTmF0aXZlV2luZG93OworCiB0eXBlZGVmIHN0cnVjdCBXR1BV
U3dhcENoYWluRGVzY3JpcHRvciB7CiAgICAgV0dQVUNoYWluZWRTdHJ1Y3QgY29uc3QgKiBuZXh0
SW5DaGFpbjsKICAgICBjaGFyIGNvbnN0ICogbGFiZWw7CkBAIC05MDUsNiArOTkxLDEzIEBAIHR5
cGVkZWYgc3RydWN0IFdHUFVDb21waWxhdGlvbkluZm8gewogICAgIFdHUFVDb21waWxhdGlvbk1l
c3NhZ2UgY29uc3QgKiBtZXNzYWdlczsKIH0gV0dQVUNvbXBpbGF0aW9uSW5mbzsKIAordHlwZWRl
ZiBzdHJ1Y3QgV0dQVUNvbXB1dGVQYXNzRGVzY3JpcHRvciB7CisgICAgV0dQVUNoYWluZWRTdHJ1
Y3QgY29uc3QgKiBuZXh0SW5DaGFpbjsKKyAgICBjaGFyIGNvbnN0ICogbGFiZWw7CisgICAgdWlu
dDMyX3QgdGltZXN0YW1wV3JpdGVDb3VudDsKKyAgICBXR1BVQ29tcHV0ZVBhc3NUaW1lc3RhbXBX
cml0ZSBjb25zdCAqIHRpbWVzdGFtcFdyaXRlczsKK30gV0dQVUNvbXB1dGVQYXNzRGVzY3JpcHRv
cjsKKwogdHlwZWRlZiBzdHJ1Y3QgV0dQVURlcHRoU3RlbmNpbFN0YXRlIHsKICAgICBXR1BVQ2hh
aW5lZFN0cnVjdCBjb25zdCAqIG5leHRJbkNoYWluOwogICAgIFdHUFVUZXh0dXJlRm9ybWF0IGZv
cm1hdDsKQEAgLTEwMDAsNiArMTA5Myw3IEBAIHR5cGVkZWYgc3RydWN0IFdHUFVDb21wdXRlUGlw
ZWxpbmVEZXNjcmlwdG9yIHsKIAogdHlwZWRlZiBzdHJ1Y3QgV0dQVURldmljZURlc2NyaXB0b3Ig
ewogICAgIFdHUFVDaGFpbmVkU3RydWN0IGNvbnN0ICogbmV4dEluQ2hhaW47CisgICAgY2hhciBj
b25zdCAqIGxhYmVsOwogICAgIHVpbnQzMl90IHJlcXVpcmVkRmVhdHVyZXNDb3VudDsKICAgICBX
R1BVRmVhdHVyZU5hbWUgY29uc3QgKiByZXF1aXJlZEZlYXR1cmVzOwogICAgIFdHUFVSZXF1aXJl
ZExpbWl0cyBjb25zdCAqIHJlcXVpcmVkTGltaXRzOwpAQCAtMTAxMiw2ICsxMTA2LDggQEAgdHlw
ZWRlZiBzdHJ1Y3QgV0dQVVJlbmRlclBhc3NEZXNjcmlwdG9yIHsKICAgICBXR1BVUmVuZGVyUGFz
c0NvbG9yQXR0YWNobWVudCBjb25zdCAqIGNvbG9yQXR0YWNobWVudHM7CiAgICAgV0dQVVJlbmRl
clBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50IGNvbnN0ICogZGVwdGhTdGVuY2lsQXR0YWNobWVu
dDsKICAgICBXR1BVUXVlcnlTZXQgb2NjbHVzaW9uUXVlcnlTZXQ7CisgICAgdWludDMyX3QgdGlt
ZXN0YW1wV3JpdGVDb3VudDsKKyAgICBXR1BVUmVuZGVyUGFzc1RpbWVzdGFtcFdyaXRlIGNvbnN0
ICogdGltZXN0YW1wV3JpdGVzOwogfSBXR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3I7CiAKIHR5cGVk
ZWYgc3RydWN0IFdHUFVWZXJ0ZXhTdGF0ZSB7CkBAIC0xMDUwLDIyICsxMTQ2LDIzIEBAIGV4dGVy
biAiQyIgewogI2VuZGlmCiAKIHR5cGVkZWYgdm9pZCAoKldHUFVCdWZmZXJNYXBDYWxsYmFjayko
V0dQVUJ1ZmZlck1hcEFzeW5jU3RhdHVzIHN0YXR1cywgdm9pZCAqIHVzZXJkYXRhKTsKK3R5cGVk
ZWYgdm9pZCAoKldHUFVDb21waWxhdGlvbkluZm9DYWxsYmFjaykoV0dQVUNvbXBpbGF0aW9uSW5m
b1JlcXVlc3RTdGF0dXMgc3RhdHVzLCBXR1BVQ29tcGlsYXRpb25JbmZvIGNvbnN0ICogY29tcGls
YXRpb25JbmZvLCB2b2lkICogdXNlcmRhdGEpOwogdHlwZWRlZiB2b2lkICgqV0dQVUNyZWF0ZUNv
bXB1dGVQaXBlbGluZUFzeW5jQ2FsbGJhY2spKFdHUFVDcmVhdGVQaXBlbGluZUFzeW5jU3RhdHVz
IHN0YXR1cywgV0dQVUNvbXB1dGVQaXBlbGluZSBwaXBlbGluZSwgY2hhciBjb25zdCAqIG1lc3Nh
Z2UsIHZvaWQgKiB1c2VyZGF0YSk7CiB0eXBlZGVmIHZvaWQgKCpXR1BVQ3JlYXRlUmVuZGVyUGlw
ZWxpbmVBc3luY0NhbGxiYWNrKShXR1BVQ3JlYXRlUGlwZWxpbmVBc3luY1N0YXR1cyBzdGF0dXMs
IFdHUFVSZW5kZXJQaXBlbGluZSBwaXBlbGluZSwgY2hhciBjb25zdCAqIG1lc3NhZ2UsIHZvaWQg
KiB1c2VyZGF0YSk7CiB0eXBlZGVmIHZvaWQgKCpXR1BVRGV2aWNlTG9zdENhbGxiYWNrKShXR1BV
RGV2aWNlTG9zdFJlYXNvbiByZWFzb24sIGNoYXIgY29uc3QgKiBtZXNzYWdlLCB2b2lkICogdXNl
cmRhdGEpOwogdHlwZWRlZiB2b2lkICgqV0dQVUVycm9yQ2FsbGJhY2spKFdHUFVFcnJvclR5cGUg
dHlwZSwgY2hhciBjb25zdCAqIG1lc3NhZ2UsIHZvaWQgKiB1c2VyZGF0YSk7Cit0eXBlZGVmIHZv
aWQgKCpXR1BVUHJvYykoKTsKIHR5cGVkZWYgdm9pZCAoKldHUFVRdWV1ZVdvcmtEb25lQ2FsbGJh
Y2spKFdHUFVRdWV1ZVdvcmtEb25lU3RhdHVzIHN0YXR1cywgdm9pZCAqIHVzZXJkYXRhKTsKIHR5
cGVkZWYgdm9pZCAoKldHUFVSZXF1ZXN0QWRhcHRlckNhbGxiYWNrKShXR1BVUmVxdWVzdEFkYXB0
ZXJTdGF0dXMgc3RhdHVzLCBXR1BVQWRhcHRlciBhZGFwdGVyLCBjaGFyIGNvbnN0ICogbWVzc2Fn
ZSwgdm9pZCAqIHVzZXJkYXRhKTsKIHR5cGVkZWYgdm9pZCAoKldHUFVSZXF1ZXN0RGV2aWNlQ2Fs
bGJhY2spKFdHUFVSZXF1ZXN0RGV2aWNlU3RhdHVzIHN0YXR1cywgV0dQVURldmljZSBkZXZpY2Us
IGNoYXIgY29uc3QgKiBtZXNzYWdlLCB2b2lkICogdXNlcmRhdGEpOwogCi10eXBlZGVmIHZvaWQg
KCpXR1BVUHJvYykodm9pZCk7Ci0KICNpZiAhZGVmaW5lZChXR1BVX1NLSVBfUFJPQ1MpCiAKIHR5
cGVkZWYgV0dQVUluc3RhbmNlICgqV0dQVVByb2NDcmVhdGVJbnN0YW5jZSkoV0dQVUluc3RhbmNl
RGVzY3JpcHRvciBjb25zdCAqIGRlc2NyaXB0b3IpOwogdHlwZWRlZiBXR1BVUHJvYyAoKldHUFVQ
cm9jR2V0UHJvY0FkZHJlc3MpKFdHUFVEZXZpY2UgZGV2aWNlLCBjaGFyIGNvbnN0ICogcHJvY05h
bWUpOwogCiAvLyBQcm9jcyBvZiBBZGFwdGVyCit0eXBlZGVmIHNpemVfdCAoKldHUFVQcm9jQWRh
cHRlckVudW1lcmF0ZUZlYXR1cmVzKShXR1BVQWRhcHRlciBhZGFwdGVyLCBXR1BVRmVhdHVyZU5h
bWUqIGZlYXR1cmVzKTsKIHR5cGVkZWYgYm9vbCAoKldHUFVQcm9jQWRhcHRlckdldExpbWl0cyko
V0dQVUFkYXB0ZXIgYWRhcHRlciwgV0dQVVN1cHBvcnRlZExpbWl0cyAqIGxpbWl0cyk7CiB0eXBl
ZGVmIHZvaWQgKCpXR1BVUHJvY0FkYXB0ZXJHZXRQcm9wZXJ0aWVzKShXR1BVQWRhcHRlciBhZGFw
dGVyLCBXR1BVQWRhcHRlclByb3BlcnRpZXMgKiBwcm9wZXJ0aWVzKTsKIHR5cGVkZWYgYm9vbCAo
KldHUFVQcm9jQWRhcHRlckhhc0ZlYXR1cmUpKFdHUFVBZGFwdGVyIGFkYXB0ZXIsIFdHUFVGZWF0
dXJlTmFtZSBmZWF0dXJlKTsKQEAgLTEwODEsNiArMTE3OCw3IEBAIHR5cGVkZWYgdm9pZCAoKldH
UFVQcm9jQnVmZmVyVW5tYXApKFdHUFVCdWZmZXIgYnVmZmVyKTsKIC8vIFByb2NzIG9mIENvbW1h
bmRFbmNvZGVyCiB0eXBlZGVmIFdHUFVDb21wdXRlUGFzc0VuY29kZXIgKCpXR1BVUHJvY0NvbW1h
bmRFbmNvZGVyQmVnaW5Db21wdXRlUGFzcykoV0dQVUNvbW1hbmRFbmNvZGVyIGNvbW1hbmRFbmNv
ZGVyLCBXR1BVQ29tcHV0ZVBhc3NEZXNjcmlwdG9yIGNvbnN0ICogZGVzY3JpcHRvcik7CiB0eXBl
ZGVmIFdHUFVSZW5kZXJQYXNzRW5jb2RlciAoKldHUFVQcm9jQ29tbWFuZEVuY29kZXJCZWdpblJl
bmRlclBhc3MpKFdHUFVDb21tYW5kRW5jb2RlciBjb21tYW5kRW5jb2RlciwgV0dQVVJlbmRlclBh
c3NEZXNjcmlwdG9yIGNvbnN0ICogZGVzY3JpcHRvcik7Cit0eXBlZGVmIHZvaWQgKCpXR1BVUHJv
Y0NvbW1hbmRFbmNvZGVyQ2xlYXJCdWZmZXIpKFdHUFVDb21tYW5kRW5jb2RlciBjb21tYW5kRW5j
b2RlciwgV0dQVUJ1ZmZlciBidWZmZXIsIHVpbnQ2NF90IG9mZnNldCwgdWludDY0X3Qgc2l6ZSk7
CiB0eXBlZGVmIHZvaWQgKCpXR1BVUHJvY0NvbW1hbmRFbmNvZGVyQ29weUJ1ZmZlclRvQnVmZmVy
KShXR1BVQ29tbWFuZEVuY29kZXIgY29tbWFuZEVuY29kZXIsIFdHUFVCdWZmZXIgc291cmNlLCB1
aW50NjRfdCBzb3VyY2VPZmZzZXQsIFdHUFVCdWZmZXIgZGVzdGluYXRpb24sIHVpbnQ2NF90IGRl
c3RpbmF0aW9uT2Zmc2V0LCB1aW50NjRfdCBzaXplKTsKIHR5cGVkZWYgdm9pZCAoKldHUFVQcm9j
Q29tbWFuZEVuY29kZXJDb3B5QnVmZmVyVG9UZXh0dXJlKShXR1BVQ29tbWFuZEVuY29kZXIgY29t
bWFuZEVuY29kZXIsIFdHUFVJbWFnZUNvcHlCdWZmZXIgY29uc3QgKiBzb3VyY2UsIFdHUFVJbWFn
ZUNvcHlUZXh0dXJlIGNvbnN0ICogZGVzdGluYXRpb24sIFdHUFVFeHRlbnQzRCBjb25zdCAqIGNv
cHlTaXplKTsKIHR5cGVkZWYgdm9pZCAoKldHUFVQcm9jQ29tbWFuZEVuY29kZXJDb3B5VGV4dHVy
ZVRvQnVmZmVyKShXR1BVQ29tbWFuZEVuY29kZXIgY29tbWFuZEVuY29kZXIsIFdHUFVJbWFnZUNv
cHlUZXh0dXJlIGNvbnN0ICogc291cmNlLCBXR1BVSW1hZ2VDb3B5QnVmZmVyIGNvbnN0ICogZGVz
dGluYXRpb24sIFdHUFVFeHRlbnQzRCBjb25zdCAqIGNvcHlTaXplKTsKQEAgLTExMDMsNyArMTIw
MSw2IEBAIHR5cGVkZWYgdm9pZCAoKldHUFVQcm9jQ29tcHV0ZVBhc3NFbmNvZGVyUG9wRGVidWdH
cm91cCkoV0dQVUNvbXB1dGVQYXNzRW5jb2RlciBjCiB0eXBlZGVmIHZvaWQgKCpXR1BVUHJvY0Nv
bXB1dGVQYXNzRW5jb2RlclB1c2hEZWJ1Z0dyb3VwKShXR1BVQ29tcHV0ZVBhc3NFbmNvZGVyIGNv
bXB1dGVQYXNzRW5jb2RlciwgY2hhciBjb25zdCAqIGdyb3VwTGFiZWwpOwogdHlwZWRlZiB2b2lk
ICgqV0dQVVByb2NDb21wdXRlUGFzc0VuY29kZXJTZXRCaW5kR3JvdXApKFdHUFVDb21wdXRlUGFz
c0VuY29kZXIgY29tcHV0ZVBhc3NFbmNvZGVyLCB1aW50MzJfdCBncm91cEluZGV4LCBXR1BVQmlu
ZEdyb3VwIGdyb3VwLCB1aW50MzJfdCBkeW5hbWljT2Zmc2V0Q291bnQsIHVpbnQzMl90IGNvbnN0
ICogZHluYW1pY09mZnNldHMpOwogdHlwZWRlZiB2b2lkICgqV0dQVVByb2NDb21wdXRlUGFzc0Vu
Y29kZXJTZXRQaXBlbGluZSkoV0dQVUNvbXB1dGVQYXNzRW5jb2RlciBjb21wdXRlUGFzc0VuY29k
ZXIsIFdHUFVDb21wdXRlUGlwZWxpbmUgcGlwZWxpbmUpOwotdHlwZWRlZiB2b2lkICgqV0dQVVBy
b2NDb21wdXRlUGFzc0VuY29kZXJXcml0ZVRpbWVzdGFtcCkoV0dQVUNvbXB1dGVQYXNzRW5jb2Rl
ciBjb21wdXRlUGFzc0VuY29kZXIsIFdHUFVRdWVyeVNldCBxdWVyeVNldCwgdWludDMyX3QgcXVl
cnlJbmRleCk7CiAKIC8vIFByb2NzIG9mIENvbXB1dGVQaXBlbGluZQogdHlwZWRlZiBXR1BVQmlu
ZEdyb3VwTGF5b3V0ICgqV0dQVVByb2NDb21wdXRlUGlwZWxpbmVHZXRCaW5kR3JvdXBMYXlvdXQp
KFdHUFVDb21wdXRlUGlwZWxpbmUgY29tcHV0ZVBpcGVsaW5lLCB1aW50MzJfdCBncm91cEluZGV4
KTsKQEAgLTExMjYsOCArMTIyMywxMCBAQCB0eXBlZGVmIFdHUFVTaGFkZXJNb2R1bGUgKCpXR1BV
UHJvY0RldmljZUNyZWF0ZVNoYWRlck1vZHVsZSkoV0dQVURldmljZSBkZXZpY2UsCiB0eXBlZGVm
IFdHUFVTd2FwQ2hhaW4gKCpXR1BVUHJvY0RldmljZUNyZWF0ZVN3YXBDaGFpbikoV0dQVURldmlj
ZSBkZXZpY2UsIFdHUFVTdXJmYWNlIHN1cmZhY2UsIFdHUFVTd2FwQ2hhaW5EZXNjcmlwdG9yIGNv
bnN0ICogZGVzY3JpcHRvcik7CiB0eXBlZGVmIFdHUFVUZXh0dXJlICgqV0dQVVByb2NEZXZpY2VD
cmVhdGVUZXh0dXJlKShXR1BVRGV2aWNlIGRldmljZSwgV0dQVVRleHR1cmVEZXNjcmlwdG9yIGNv
bnN0ICogZGVzY3JpcHRvcik7CiB0eXBlZGVmIHZvaWQgKCpXR1BVUHJvY0RldmljZURlc3Ryb3kp
KFdHUFVEZXZpY2UgZGV2aWNlKTsKK3R5cGVkZWYgc2l6ZV90ICgqV0dQVVByb2NEZXZpY2VFbnVt
ZXJhdGVGZWF0dXJlcykoV0dQVURldmljZSBkZXZpY2UsIFdHUFVGZWF0dXJlTmFtZSogZmVhdHVy
ZXMpOwogdHlwZWRlZiBib29sICgqV0dQVVByb2NEZXZpY2VHZXRMaW1pdHMpKFdHUFVEZXZpY2Ug
ZGV2aWNlLCBXR1BVU3VwcG9ydGVkTGltaXRzICogbGltaXRzKTsKIHR5cGVkZWYgV0dQVVF1ZXVl
ICgqV0dQVVByb2NEZXZpY2VHZXRRdWV1ZSkoV0dQVURldmljZSBkZXZpY2UpOwordHlwZWRlZiBi
b29sICgqV0dQVVByb2NEZXZpY2VIYXNGZWF0dXJlKShXR1BVRGV2aWNlIGRldmljZSwgV0dQVUZl
YXR1cmVOYW1lIGZlYXR1cmUpOwogdHlwZWRlZiBib29sICgqV0dQVVByb2NEZXZpY2VQb3BFcnJv
clNjb3BlKShXR1BVRGV2aWNlIGRldmljZSwgV0dQVUVycm9yQ2FsbGJhY2sgY2FsbGJhY2ssIHZv
aWQgKiB1c2VyZGF0YSk7CiB0eXBlZGVmIHZvaWQgKCpXR1BVUHJvY0RldmljZVB1c2hFcnJvclNj
b3BlKShXR1BVRGV2aWNlIGRldmljZSwgV0dQVUVycm9yRmlsdGVyIGZpbHRlcik7CiB0eXBlZGVm
IHZvaWQgKCpXR1BVUHJvY0RldmljZVNldERldmljZUxvc3RDYWxsYmFjaykoV0dQVURldmljZSBk
ZXZpY2UsIFdHUFVEZXZpY2VMb3N0Q2FsbGJhY2sgY2FsbGJhY2ssIHZvaWQgKiB1c2VyZGF0YSk7
CkBAIC0xMTgzLDEzICsxMjgyLDEzIEBAIHR5cGVkZWYgdm9pZCAoKldHUFVQcm9jUmVuZGVyUGFz
c0VuY29kZXJTZXRTY2lzc29yUmVjdCkoV0dQVVJlbmRlclBhc3NFbmNvZGVyIHJlCiB0eXBlZGVm
IHZvaWQgKCpXR1BVUHJvY1JlbmRlclBhc3NFbmNvZGVyU2V0U3RlbmNpbFJlZmVyZW5jZSkoV0dQ
VVJlbmRlclBhc3NFbmNvZGVyIHJlbmRlclBhc3NFbmNvZGVyLCB1aW50MzJfdCByZWZlcmVuY2Up
OwogdHlwZWRlZiB2b2lkICgqV0dQVVByb2NSZW5kZXJQYXNzRW5jb2RlclNldFZlcnRleEJ1ZmZl
cikoV0dQVVJlbmRlclBhc3NFbmNvZGVyIHJlbmRlclBhc3NFbmNvZGVyLCB1aW50MzJfdCBzbG90
LCBXR1BVQnVmZmVyIGJ1ZmZlciwgdWludDY0X3Qgb2Zmc2V0LCB1aW50NjRfdCBzaXplKTsKIHR5
cGVkZWYgdm9pZCAoKldHUFVQcm9jUmVuZGVyUGFzc0VuY29kZXJTZXRWaWV3cG9ydCkoV0dQVVJl
bmRlclBhc3NFbmNvZGVyIHJlbmRlclBhc3NFbmNvZGVyLCBmbG9hdCB4LCBmbG9hdCB5LCBmbG9h
dCB3aWR0aCwgZmxvYXQgaGVpZ2h0LCBmbG9hdCBtaW5EZXB0aCwgZmxvYXQgbWF4RGVwdGgpOwot
dHlwZWRlZiB2b2lkICgqV0dQVVByb2NSZW5kZXJQYXNzRW5jb2RlcldyaXRlVGltZXN0YW1wKShX
R1BVUmVuZGVyUGFzc0VuY29kZXIgcmVuZGVyUGFzc0VuY29kZXIsIFdHUFVRdWVyeVNldCBxdWVy
eVNldCwgdWludDMyX3QgcXVlcnlJbmRleCk7CiAKIC8vIFByb2NzIG9mIFJlbmRlclBpcGVsaW5l
CiB0eXBlZGVmIFdHUFVCaW5kR3JvdXBMYXlvdXQgKCpXR1BVUHJvY1JlbmRlclBpcGVsaW5lR2V0
QmluZEdyb3VwTGF5b3V0KShXR1BVUmVuZGVyUGlwZWxpbmUgcmVuZGVyUGlwZWxpbmUsIHVpbnQz
Ml90IGdyb3VwSW5kZXgpOwogdHlwZWRlZiB2b2lkICgqV0dQVVByb2NSZW5kZXJQaXBlbGluZVNl
dExhYmVsKShXR1BVUmVuZGVyUGlwZWxpbmUgcmVuZGVyUGlwZWxpbmUsIGNoYXIgY29uc3QgKiBs
YWJlbCk7CiAKIC8vIFByb2NzIG9mIFNoYWRlck1vZHVsZQordHlwZWRlZiB2b2lkICgqV0dQVVBy
b2NTaGFkZXJNb2R1bGVHZXRDb21waWxhdGlvbkluZm8pKFdHUFVTaGFkZXJNb2R1bGUgc2hhZGVy
TW9kdWxlLCBXR1BVQ29tcGlsYXRpb25JbmZvQ2FsbGJhY2sgY2FsbGJhY2ssIHZvaWQgKiB1c2Vy
ZGF0YSk7CiB0eXBlZGVmIHZvaWQgKCpXR1BVUHJvY1NoYWRlck1vZHVsZVNldExhYmVsKShXR1BV
U2hhZGVyTW9kdWxlIHNoYWRlck1vZHVsZSwgY2hhciBjb25zdCAqIGxhYmVsKTsKIAogLy8gUHJv
Y3Mgb2YgU3VyZmFjZQpAQCAtMTIxMSw2ICsxMzEwLDcgQEAgV0dQVV9FWFBPUlQgV0dQVUluc3Rh
bmNlIHdncHVDcmVhdGVJbnN0YW5jZShXR1BVSW5zdGFuY2VEZXNjcmlwdG9yIGNvbnN0ICogZGVz
Y3IKIFdHUFVfRVhQT1JUIFdHUFVQcm9jIHdncHVHZXRQcm9jQWRkcmVzcyhXR1BVRGV2aWNlIGRl
dmljZSwgY2hhciBjb25zdCAqIHByb2NOYW1lKTsKIAogLy8gTWV0aG9kcyBvZiBBZGFwdGVyCitX
R1BVX0VYUE9SVCBzaXplX3Qgd2dwdUFkYXB0ZXJFbnVtZXJhdGVGZWF0dXJlcyhXR1BVQWRhcHRl
ciBhZGFwdGVyLCBXR1BVRmVhdHVyZU5hbWUqIGZlYXR1cmVzKTsKIFdHUFVfRVhQT1JUIGJvb2wg
d2dwdUFkYXB0ZXJHZXRMaW1pdHMoV0dQVUFkYXB0ZXIgYWRhcHRlciwgV0dQVVN1cHBvcnRlZExp
bWl0cyAqIGxpbWl0cyk7CiBXR1BVX0VYUE9SVCB2b2lkIHdncHVBZGFwdGVyR2V0UHJvcGVydGll
cyhXR1BVQWRhcHRlciBhZGFwdGVyLCBXR1BVQWRhcHRlclByb3BlcnRpZXMgKiBwcm9wZXJ0aWVz
KTsKIFdHUFVfRVhQT1JUIGJvb2wgd2dwdUFkYXB0ZXJIYXNGZWF0dXJlKFdHUFVBZGFwdGVyIGFk
YXB0ZXIsIFdHUFVGZWF0dXJlTmFtZSBmZWF0dXJlKTsKQEAgLTEyMjYsNiArMTMyNiw3IEBAIFdH
UFVfRVhQT1JUIHZvaWQgd2dwdUJ1ZmZlclVubWFwKFdHUFVCdWZmZXIgYnVmZmVyKTsKIC8vIE1l
dGhvZHMgb2YgQ29tbWFuZEVuY29kZXIKIFdHUFVfRVhQT1JUIFdHUFVDb21wdXRlUGFzc0VuY29k
ZXIgd2dwdUNvbW1hbmRFbmNvZGVyQmVnaW5Db21wdXRlUGFzcyhXR1BVQ29tbWFuZEVuY29kZXIg
Y29tbWFuZEVuY29kZXIsIFdHUFVDb21wdXRlUGFzc0Rlc2NyaXB0b3IgY29uc3QgKiBkZXNjcmlw
dG9yKTsKIFdHUFVfRVhQT1JUIFdHUFVSZW5kZXJQYXNzRW5jb2RlciB3Z3B1Q29tbWFuZEVuY29k
ZXJCZWdpblJlbmRlclBhc3MoV0dQVUNvbW1hbmRFbmNvZGVyIGNvbW1hbmRFbmNvZGVyLCBXR1BV
UmVuZGVyUGFzc0Rlc2NyaXB0b3IgY29uc3QgKiBkZXNjcmlwdG9yKTsKK1dHUFVfRVhQT1JUIHZv
aWQgd2dwdUNvbW1hbmRFbmNvZGVyQ2xlYXJCdWZmZXIoV0dQVUNvbW1hbmRFbmNvZGVyIGNvbW1h
bmRFbmNvZGVyLCBXR1BVQnVmZmVyIGJ1ZmZlciwgdWludDY0X3Qgb2Zmc2V0LCB1aW50NjRfdCBz
aXplKTsKIFdHUFVfRVhQT1JUIHZvaWQgd2dwdUNvbW1hbmRFbmNvZGVyQ29weUJ1ZmZlclRvQnVm
ZmVyKFdHUFVDb21tYW5kRW5jb2RlciBjb21tYW5kRW5jb2RlciwgV0dQVUJ1ZmZlciBzb3VyY2Us
IHVpbnQ2NF90IHNvdXJjZU9mZnNldCwgV0dQVUJ1ZmZlciBkZXN0aW5hdGlvbiwgdWludDY0X3Qg
ZGVzdGluYXRpb25PZmZzZXQsIHVpbnQ2NF90IHNpemUpOwogV0dQVV9FWFBPUlQgdm9pZCB3Z3B1
Q29tbWFuZEVuY29kZXJDb3B5QnVmZmVyVG9UZXh0dXJlKFdHUFVDb21tYW5kRW5jb2RlciBjb21t
YW5kRW5jb2RlciwgV0dQVUltYWdlQ29weUJ1ZmZlciBjb25zdCAqIHNvdXJjZSwgV0dQVUltYWdl
Q29weVRleHR1cmUgY29uc3QgKiBkZXN0aW5hdGlvbiwgV0dQVUV4dGVudDNEIGNvbnN0ICogY29w
eVNpemUpOwogV0dQVV9FWFBPUlQgdm9pZCB3Z3B1Q29tbWFuZEVuY29kZXJDb3B5VGV4dHVyZVRv
QnVmZmVyKFdHUFVDb21tYW5kRW5jb2RlciBjb21tYW5kRW5jb2RlciwgV0dQVUltYWdlQ29weVRl
eHR1cmUgY29uc3QgKiBzb3VyY2UsIFdHUFVJbWFnZUNvcHlCdWZmZXIgY29uc3QgKiBkZXN0aW5h
dGlvbiwgV0dQVUV4dGVudDNEIGNvbnN0ICogY29weVNpemUpOwpAQCAtMTI0OCw3ICsxMzQ5LDYg
QEAgV0dQVV9FWFBPUlQgdm9pZCB3Z3B1Q29tcHV0ZVBhc3NFbmNvZGVyUG9wRGVidWdHcm91cChX
R1BVQ29tcHV0ZVBhc3NFbmNvZGVyIGNvbXAKIFdHUFVfRVhQT1JUIHZvaWQgd2dwdUNvbXB1dGVQ
YXNzRW5jb2RlclB1c2hEZWJ1Z0dyb3VwKFdHUFVDb21wdXRlUGFzc0VuY29kZXIgY29tcHV0ZVBh
c3NFbmNvZGVyLCBjaGFyIGNvbnN0ICogZ3JvdXBMYWJlbCk7CiBXR1BVX0VYUE9SVCB2b2lkIHdn
cHVDb21wdXRlUGFzc0VuY29kZXJTZXRCaW5kR3JvdXAoV0dQVUNvbXB1dGVQYXNzRW5jb2RlciBj
b21wdXRlUGFzc0VuY29kZXIsIHVpbnQzMl90IGdyb3VwSW5kZXgsIFdHUFVCaW5kR3JvdXAgZ3Jv
dXAsIHVpbnQzMl90IGR5bmFtaWNPZmZzZXRDb3VudCwgdWludDMyX3QgY29uc3QgKiBkeW5hbWlj
T2Zmc2V0cyk7CiBXR1BVX0VYUE9SVCB2b2lkIHdncHVDb21wdXRlUGFzc0VuY29kZXJTZXRQaXBl
bGluZShXR1BVQ29tcHV0ZVBhc3NFbmNvZGVyIGNvbXB1dGVQYXNzRW5jb2RlciwgV0dQVUNvbXB1
dGVQaXBlbGluZSBwaXBlbGluZSk7Ci1XR1BVX0VYUE9SVCB2b2lkIHdncHVDb21wdXRlUGFzc0Vu
Y29kZXJXcml0ZVRpbWVzdGFtcChXR1BVQ29tcHV0ZVBhc3NFbmNvZGVyIGNvbXB1dGVQYXNzRW5j
b2RlciwgV0dQVVF1ZXJ5U2V0IHF1ZXJ5U2V0LCB1aW50MzJfdCBxdWVyeUluZGV4KTsKIAogLy8g
TWV0aG9kcyBvZiBDb21wdXRlUGlwZWxpbmUKIFdHUFVfRVhQT1JUIFdHUFVCaW5kR3JvdXBMYXlv
dXQgd2dwdUNvbXB1dGVQaXBlbGluZUdldEJpbmRHcm91cExheW91dChXR1BVQ29tcHV0ZVBpcGVs
aW5lIGNvbXB1dGVQaXBlbGluZSwgdWludDMyX3QgZ3JvdXBJbmRleCk7CkBAIC0xMjcxLDggKzEz
NzEsMTAgQEAgV0dQVV9FWFBPUlQgV0dQVVNoYWRlck1vZHVsZSB3Z3B1RGV2aWNlQ3JlYXRlU2hh
ZGVyTW9kdWxlKFdHUFVEZXZpY2UgZGV2aWNlLCBXR1AKIFdHUFVfRVhQT1JUIFdHUFVTd2FwQ2hh
aW4gd2dwdURldmljZUNyZWF0ZVN3YXBDaGFpbihXR1BVRGV2aWNlIGRldmljZSwgV0dQVVN1cmZh
Y2Ugc3VyZmFjZSwgV0dQVVN3YXBDaGFpbkRlc2NyaXB0b3IgY29uc3QgKiBkZXNjcmlwdG9yKTsK
IFdHUFVfRVhQT1JUIFdHUFVUZXh0dXJlIHdncHVEZXZpY2VDcmVhdGVUZXh0dXJlKFdHUFVEZXZp
Y2UgZGV2aWNlLCBXR1BVVGV4dHVyZURlc2NyaXB0b3IgY29uc3QgKiBkZXNjcmlwdG9yKTsKIFdH
UFVfRVhQT1JUIHZvaWQgd2dwdURldmljZURlc3Ryb3koV0dQVURldmljZSBkZXZpY2UpOworV0dQ
VV9FWFBPUlQgc2l6ZV90IHdncHVEZXZpY2VFbnVtZXJhdGVGZWF0dXJlcyhXR1BVRGV2aWNlIGRl
dmljZSwgV0dQVUZlYXR1cmVOYW1lKiBmZWF0dXJlcyk7CiBXR1BVX0VYUE9SVCBib29sIHdncHVE
ZXZpY2VHZXRMaW1pdHMoV0dQVURldmljZSBkZXZpY2UsIFdHUFVTdXBwb3J0ZWRMaW1pdHMgKiBs
aW1pdHMpOwogV0dQVV9FWFBPUlQgV0dQVVF1ZXVlIHdncHVEZXZpY2VHZXRRdWV1ZShXR1BVRGV2
aWNlIGRldmljZSk7CitXR1BVX0VYUE9SVCBib29sIHdncHVEZXZpY2VIYXNGZWF0dXJlKFdHUFVE
ZXZpY2UgZGV2aWNlLCBXR1BVRmVhdHVyZU5hbWUgZmVhdHVyZSk7CiBXR1BVX0VYUE9SVCBib29s
IHdncHVEZXZpY2VQb3BFcnJvclNjb3BlKFdHUFVEZXZpY2UgZGV2aWNlLCBXR1BVRXJyb3JDYWxs
YmFjayBjYWxsYmFjaywgdm9pZCAqIHVzZXJkYXRhKTsKIFdHUFVfRVhQT1JUIHZvaWQgd2dwdURl
dmljZVB1c2hFcnJvclNjb3BlKFdHUFVEZXZpY2UgZGV2aWNlLCBXR1BVRXJyb3JGaWx0ZXIgZmls
dGVyKTsKIFdHUFVfRVhQT1JUIHZvaWQgd2dwdURldmljZVNldERldmljZUxvc3RDYWxsYmFjayhX
R1BVRGV2aWNlIGRldmljZSwgV0dQVURldmljZUxvc3RDYWxsYmFjayBjYWxsYmFjaywgdm9pZCAq
IHVzZXJkYXRhKTsKQEAgLTEzMjgsMTMgKzE0MzAsMTMgQEAgV0dQVV9FWFBPUlQgdm9pZCB3Z3B1
UmVuZGVyUGFzc0VuY29kZXJTZXRTY2lzc29yUmVjdChXR1BVUmVuZGVyUGFzc0VuY29kZXIgcmVu
ZGUKIFdHUFVfRVhQT1JUIHZvaWQgd2dwdVJlbmRlclBhc3NFbmNvZGVyU2V0U3RlbmNpbFJlZmVy
ZW5jZShXR1BVUmVuZGVyUGFzc0VuY29kZXIgcmVuZGVyUGFzc0VuY29kZXIsIHVpbnQzMl90IHJl
ZmVyZW5jZSk7CiBXR1BVX0VYUE9SVCB2b2lkIHdncHVSZW5kZXJQYXNzRW5jb2RlclNldFZlcnRl
eEJ1ZmZlcihXR1BVUmVuZGVyUGFzc0VuY29kZXIgcmVuZGVyUGFzc0VuY29kZXIsIHVpbnQzMl90
IHNsb3QsIFdHUFVCdWZmZXIgYnVmZmVyLCB1aW50NjRfdCBvZmZzZXQsIHVpbnQ2NF90IHNpemUp
OwogV0dQVV9FWFBPUlQgdm9pZCB3Z3B1UmVuZGVyUGFzc0VuY29kZXJTZXRWaWV3cG9ydChXR1BV
UmVuZGVyUGFzc0VuY29kZXIgcmVuZGVyUGFzc0VuY29kZXIsIGZsb2F0IHgsIGZsb2F0IHksIGZs
b2F0IHdpZHRoLCBmbG9hdCBoZWlnaHQsIGZsb2F0IG1pbkRlcHRoLCBmbG9hdCBtYXhEZXB0aCk7
Ci1XR1BVX0VYUE9SVCB2b2lkIHdncHVSZW5kZXJQYXNzRW5jb2RlcldyaXRlVGltZXN0YW1wKFdH
UFVSZW5kZXJQYXNzRW5jb2RlciByZW5kZXJQYXNzRW5jb2RlciwgV0dQVVF1ZXJ5U2V0IHF1ZXJ5
U2V0LCB1aW50MzJfdCBxdWVyeUluZGV4KTsKIAogLy8gTWV0aG9kcyBvZiBSZW5kZXJQaXBlbGlu
ZQogV0dQVV9FWFBPUlQgV0dQVUJpbmRHcm91cExheW91dCB3Z3B1UmVuZGVyUGlwZWxpbmVHZXRC
aW5kR3JvdXBMYXlvdXQoV0dQVVJlbmRlclBpcGVsaW5lIHJlbmRlclBpcGVsaW5lLCB1aW50MzJf
dCBncm91cEluZGV4KTsKIFdHUFVfRVhQT1JUIHZvaWQgd2dwdVJlbmRlclBpcGVsaW5lU2V0TGFi
ZWwoV0dQVVJlbmRlclBpcGVsaW5lIHJlbmRlclBpcGVsaW5lLCBjaGFyIGNvbnN0ICogbGFiZWwp
OwogCiAvLyBNZXRob2RzIG9mIFNoYWRlck1vZHVsZQorV0dQVV9FWFBPUlQgdm9pZCB3Z3B1U2hh
ZGVyTW9kdWxlR2V0Q29tcGlsYXRpb25JbmZvKFdHUFVTaGFkZXJNb2R1bGUgc2hhZGVyTW9kdWxl
LCBXR1BVQ29tcGlsYXRpb25JbmZvQ2FsbGJhY2sgY2FsbGJhY2ssIHZvaWQgKiB1c2VyZGF0YSk7
CiBXR1BVX0VYUE9SVCB2b2lkIHdncHVTaGFkZXJNb2R1bGVTZXRMYWJlbChXR1BVU2hhZGVyTW9k
dWxlIHNoYWRlck1vZHVsZSwgY2hhciBjb25zdCAqIGxhYmVsKTsKIAogLy8gTWV0aG9kcyBvZiBT
dXJmYWNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9XZWJHUFVFeHQuaCBiL1Nv
dXJjZS9XZWJHUFUvV2ViR1BVL1dlYkdQVUV4dC5oCmluZGV4IDVhNzI4YzFmZDljNWJhMWIwYTZh
NjRhMDk5MmYzYWE1ZjBjNjQyZTEuLjJlNDIwMTIyYWFmNTVmMGRhYjRkZTA3MmE3OWYwMDdiN2Jk
ZTg5NGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL1dlYkdQVUV4dC5oCisrKyBi
L1NvdXJjZS9XZWJHUFUvV2ViR1BVL1dlYkdQVUV4dC5oCkBAIC0yNiw3NCArMjYsMzcgQEAKICNp
Zm5kZWYgV0VCR1BVRVhUX0hfCiAjZGVmaW5lIFdFQkdQVUVYVF9IXwogCisjaWZkZWYgX19jcGx1
c3BsdXMKK2V4dGVybiAiQyIgeworI2VuZGlmCisKIHR5cGVkZWYgZW51bSBXR1BVU1R5cGVFeHRl
bmRlZCB7Ci0gICAgV0dQVVNUeXBlX0RldmljZURlc2NyaXB0b3JMYWJlbCA9IDB4MjQyQTk5RTAs
IC8vIFJhbmRvbQorICAgIFdHUFVTVHlwZUV4dGVuZGVkX1NoYWRlck1vZHVsZURlc2NyaXB0b3JI
aW50cyA9IDB4MzQ4OTcwRjMsIC8vIFJhbmRvbQorICAgIFdHUFVTVHlwZUV4dGVuZGVkX1RleHR1
cmVEZXNjcmlwdG9yVmlld0Zvcm1hdHMgPSAweDFENUJDNTcsIC8vIFJhbmRvbQorICAgIFdHUFVT
VHlwZUV4dGVuZGVkX0ZvcmNlMzIgPSAweDdGRkZGRkZGCiB9IFdHUFVTVHlwZUV4dGVuZGVkOwog
Ci10eXBlZGVmIGVudW0gV0dQVVRleHR1cmVGb3JtYXRFeHRlbmRlZCB7Ci0gICAgV0dQVVRleHR1
cmVGb3JtYXRfRVRDMlJHQjhVbm9ybSA9IDB4MjhDMjVDNjcsIC8vIFJhbmRvbQotICAgIFdHUFVU
ZXh0dXJlRm9ybWF0X0VUQzJSR0I4dW5vcm1TcmdiID0gMHg1NjZBQUZFRSwgLy8gUmFuZG9tCi0g
ICAgV0dQVVRleHR1cmVGb3JtYXRfRVRDMlJHQjhhMVVub3JtID0gMHgyRjc5NDM0OCwgLy8gUmFu
ZG9tCi0gICAgV0dQVVRleHR1cmVGb3JtYXRfRVRDMlJHQjhhMXVub3JtU3JnYiA9IDB4NUVGMzhB
QkEsIC8vIFJhbmRvbQotICAgIFdHUFVUZXh0dXJlRm9ybWF0X0VUQzJSR0JBOFVub3JtID0gMHg1
QTRFNjQ4MCwgLy8gUmFuZG9tCi0gICAgV0dQVVRleHR1cmVGb3JtYXRfRVRDMlJHQkE4VW5vcm1T
cmdiID0gMHg3ODA5NjhFQiwgLy8gUmFuZG9tCi0gICAgV0dQVVRleHR1cmVGb3JtYXRfRUFDUjEx
VW5vcm0gPSAweDY5ODYzMDkwLCAvLyBSYW5kb20KLSAgICBXR1BVVGV4dHVyZUZvcm1hdF9FQUNS
MTFTbm9ybSA9IDB4MjVFNTQyOEEsIC8vIFJhbmRvbQotICAgIFdHUFVUZXh0dXJlRm9ybWF0X0VB
Q1JHMTFVbm9ybSA9IDB4MUIwOTY5QjMsIC8vIFJhbmRvbQotICAgIFdHUFVUZXh0dXJlRm9ybWF0
X0VBQ1JHMTFTbm9ybSA9IDB4MTZGNEJCNkQsIC8vIFJhbmRvbQotCi0gICAgV0dQVVRleHR1cmVG
b3JtYXRfQVNUQzR4NFVub3JtID0gMHgzOUY2MEY2RSwgLy8gUmFuZG9tCi0gICAgV0dQVVRleHR1
cmVGb3JtYXRfQVNUQzR4NFVub3JtU3JnYiA9IDB4MjQ0NzI3MDAsIC8vIFJhbmRvbQotICAgIFdH
UFVUZXh0dXJlRm9ybWF0X0FTVEM1eDRVbm9ybSA9IDB4NjdEMzJCMEUsIC8vIFJhbmRvbQotICAg
IFdHUFVUZXh0dXJlRm9ybWF0X0FTVEM1eDRVbm9ybVNyZ2IgPSAweDMxM0RBMUJFLCAvLyBSYW5k
b20KLSAgICBXR1BVVGV4dHVyZUZvcm1hdF9BU1RDNXg1VW5vcm0gPSAweDE1QUI4REZELCAvLyBS
YW5kb20KLSAgICBXR1BVVGV4dHVyZUZvcm1hdF9BU1RDNXg1VW5vcm1TcmdiID0gMHg3QjAwRUI1
NywgLy8gUmFuZG9tCi0gICAgV0dQVVRleHR1cmVGb3JtYXRfQVNUQzZ4NVVub3JtID0gMHg2NTNF
ODBDMywgLy8gUmFuZG9tCi0gICAgV0dQVVRleHR1cmVGb3JtYXRfQVNUQzZ4NVVub3JtU3JnYiA9
IDB4NTBBRTg2OUEsIC8vIFJhbmRvbQotICAgIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEM2eDZVbm9y
bSA9IDB4NTc5QUY1OTgsIC8vIFJhbmRvbQotICAgIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEM2eDZV
bm9ybVNyZ2IgPSAweDczQjY5NzMyLCAvLyBSYW5kb20KLSAgICBXR1BVVGV4dHVyZUZvcm1hdF9B
U1RDOHg1VW5vcm0gPSAweDA2RjcwMzA4LCAvLyBSYW5kb20KLSAgICBXR1BVVGV4dHVyZUZvcm1h
dF9BU1RDOHg1VW5vcm1TcmdiID0gMHg0MjBFQTk0NiwgLy8gUmFuZG9tCi0gICAgV0dQVVRleHR1
cmVGb3JtYXRfQVNUQzh4NlVub3JtID0gMHg2MTA4NkFDOCwgLy8gUmFuZG9tCi0gICAgV0dQVVRl
eHR1cmVGb3JtYXRfQVNUQzh4NlVub3JtU3JnYiA9IDB4MEUxN0QzOUEsIC8vIFJhbmRvbQotICAg
IFdHUFVUZXh0dXJlRm9ybWF0X0FTVEM4eDhVbm9ybSA9IDB4NTY5QkYyRTgsIC8vIFJhbmRvbQot
ICAgIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEM4eDhVbm9ybVNyZ2IgPSAweDU3MkE0ODQ5LCAvLyBS
YW5kb20KLSAgICBXR1BVVGV4dHVyZUZvcm1hdF9BU1RDMTB4NVVub3JtID0gMHg2M0FCRTQzMiwg
Ly8gUmFuZG9tCi0gICAgV0dQVVRleHR1cmVGb3JtYXRfQVNUQzEweDVVbm9ybVNyZ2IgPSAweDNC
QzNBQTRDLCAvLyBSYW5kb20KLSAgICBXR1BVVGV4dHVyZUZvcm1hdF9BU1RDMTB4NlVub3JtID0g
MHg2RkUxOTQ5OSwgLy8gUmFuZG9tCi0gICAgV0dQVVRleHR1cmVGb3JtYXRfQVNUQzEweDZVbm9y
bVNyZ2IgPSAweDdGRjBCNUMwLCAvLyBSYW5kb20KLSAgICBXR1BVVGV4dHVyZUZvcm1hdF9BU1RD
MTB4OFVub3JtID0gMHgyMDE1RjRDMywgLy8gUmFuZG9tCi0gICAgV0dQVVRleHR1cmVGb3JtYXRf
QVNUQzEweDhVbm9ybVNyZ2IgPSAweDdENTFEQzZGLCAvLyBSYW5kb20KLSAgICBXR1BVVGV4dHVy
ZUZvcm1hdF9BU1RDMTB4MTBVbm9ybSA9IDB4NjdGMTAxNzMsIC8vIFJhbmRvbQotICAgIFdHUFVU
ZXh0dXJlRm9ybWF0X0FTVEMxMHgxMFVub3JtU3JnYiA9IDB4MzVENzREMjEsIC8vIFJhbmRvbQot
ICAgIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEMxMngxMFVub3JtID0gMHgwOURBRDBBNywgLy8gUmFu
ZG9tCi0gICAgV0dQVVRleHR1cmVGb3JtYXRfQVNUQzEyeDEwVW5vcm1TcmdiID0gMHgzNTYwQzkz
QSwgLy8gUmFuZG9tCi0gICAgV0dQVVRleHR1cmVGb3JtYXRfQVNUQzEyeDEyVW5vcm0gPSAweDI2
Q0MzMDUwLCAvLyBSYW5kb20KLSAgICBXR1BVVGV4dHVyZUZvcm1hdF9BU1RDMTJ4MTJVbm9ybVNy
Z2IgPSAweDNFRjU3OEEwLCAvLyBSYW5kb20KLQotICAgIFdHUFVUZXh0dXJlRm9ybWF0X0RlcHRo
MzJGbG9hdFN0ZW5jaWw4ID0gMHg1M0RDMjMwNywgLy8gUmFuZG9tCi19IFdHUFVUZXh0dXJlRm9y
bWF0RXh0ZW5kZWQ7Ci0KLXR5cGVkZWYgZW51bSBXR1BVRmVhdHVyZU5hbWVFeHRlbmRlZCB7Ci0g
ICAgV0dQVUZlYXR1cmVOYW1lX0RlcHRoQ2xpcENvbnRyb2wgPSAweDU1QUJDMTNELCAvLyBSYW5k
b20KLSAgICBXR1BVRmVhdHVyZU5hbWVfSW5kaXJlY3RGaXJzdEluc3RhbmNlID0gMHgyQTcwODRG
NSwgLy8gUmFuZG9tCi0gICAgV0dQVUZlYXR1cmVOYW1lX1RleHR1cmVDb21wcmVzc2lvbkVUQzIg
PSAweDdCRjY2RjY5LCAvLyBSYW5kb20KLSAgICBXR1BVRmVhdHVyZU5hbWVfVGV4dHVyZUNvbXBy
ZXNzaW9uQVNUQyA9IDB4MjYxNzMzOTksIC8vIFJhbmRvbQotfSBXR1BVRmVhdHVyZU5hbWVFeHRl
bmRlZDsKLQotdHlwZWRlZiBlbnVtIFdHUFVQb3dlclByZWZlcmVuY2VFeHRlbmRlZCB7Ci0gICAg
V0dQVVBvd2VyUHJlZmVyZW5jZV9Ob1ByZWZlcmVuY2UgPSAweDQ3NDgzMzZGLAotfSBXR1BVUG93
ZXJQcmVmZXJlbmNlRXh0ZW5kZWQ7Ci0KLXR5cGVkZWYgc3RydWN0IFdHUFVEZXZpY2VEZXNjcmlw
dG9yTGFiZWwgewotICAgIFdHUFVDaGFpbmVkU3RydWN0IGhlYWRlcjsKLSAgICBXR1BVQ2hhaW5l
ZFN0cnVjdCBjb25zdCAqIG5leHRJbkNoYWluOwotICAgIGNoYXIgY29uc3QgKiBsYWJlbDsKLX0g
V0dQVURldmljZURlc2NyaXB0b3JMYWJlbDsKK3R5cGVkZWYgc3RydWN0IFdHUFVTaGFkZXJNb2R1
bGVDb21waWxhdGlvbkhpbnQgeworICAgIFdHUFVQaXBlbGluZUxheW91dCBsYXlvdXQ7Cit9IFdH
UFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQ7CiAKLSNpZmRlZiBfX2NwbHVzcGx1cwotZXh0
ZXJuICJDIiB7Ci0jZW5kaWYKK3R5cGVkZWYgc3RydWN0IFdHUFVTaGFkZXJNb2R1bGVDb21waWxh
dGlvbkhpbnRFbnRyeSB7CisgICAgV0dQVUNoYWluZWRTdHJ1Y3QgY29uc3QgKiBuZXh0SW5DaGFp
bjsKKyAgICBjaGFyIGNvbnN0ICoga2V5OworICAgIFdHUFVTaGFkZXJNb2R1bGVDb21waWxhdGlv
bkhpbnQgaGludDsKK30gV0dQVVNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludEVudHJ5OworCit0
eXBlZGVmIHN0cnVjdCBXR1BVU2hhZGVyTW9kdWxlRGVzY3JpcHRvckhpbnRzIHsKKyAgICBXR1BV
Q2hhaW5lZFN0cnVjdCBjaGFpbjsKKyAgICB1aW50MzJfdCBoaW50c0NvdW50OworICAgIFdHUFVT
aGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnRFbnRyeSBjb25zdCAqIGhpbnRzOworfSBXR1BVU2hh
ZGVyTW9kdWxlRGVzY3JpcHRvckhpbnRzOworCit0eXBlZGVmIHN0cnVjdCBXR1BVVGV4dHVyZURl
c2NyaXB0b3JWaWV3Rm9ybWF0cyB7CisgICAgV0dQVUNoYWluZWRTdHJ1Y3QgY2hhaW47CisgICAg
dWludDMyX3Qgdmlld0Zvcm1hdHNDb3VudDsKKyAgICBXR1BVVGV4dHVyZUZvcm1hdCBjb25zdCAq
IHZpZXdGb3JtYXRzOworfSBXR1BVVGV4dHVyZURlc2NyaXB0b3JWaWV3Rm9ybWF0czsKIAogI2lm
ICFkZWZpbmVkKFdHUFVfU0tJUF9QUk9DUykKIApAQCAtMTM4LDEwICsxMDEsNiBAQCB0eXBlZGVm
IHZvaWQgKCpXR1BVUHJvY1NhbXBsZXJTZXRMYWJlbCkoV0dQVVNhbXBsZXIgc2FtcGxlciwgY2hh
ciBjb25zdCAqIGxhYmVsKQogdHlwZWRlZiB2b2lkICgqV0dQVVByb2NUZXh0dXJlU2V0TGFiZWwp
KFdHUFVUZXh0dXJlIHNhbXBsZXIsIGNoYXIgY29uc3QgKiBsYWJlbCk7CiB0eXBlZGVmIHZvaWQg
KCpXR1BVUHJvY1RleHR1cmVWaWV3U2V0TGFiZWwpKFdHUFVUZXh0dXJlVmlldyBzYW1wbGVyLCBj
aGFyIGNvbnN0ICogbGFiZWwpOwogCi10eXBlZGVmIFdHUFVGZWF0dXJlTmFtZSAoKldHUFVQcm9j
QWRhcHRlckdldEZlYXR1cmVBdEluZGV4KShXR1BVQWRhcHRlciBhZGFwdGVyLCBzaXplX3QgaW5k
ZXgpOwotCi10eXBlZGVmIHZvaWQgKCpXR1BVUHJvY0NvbW1hbmRFbmNvZGVyRmlsbEJ1ZmZlciko
V0dQVUNvbW1hbmRFbmNvZGVyIGNvbW1hbmRFbmNvZGVyLCBXR1BVQnVmZmVyIGRlc3RpbmF0aW9u
LCB1aW50NjRfdCBkZXN0aW5hdGlvbk9mZnNldCwgdWludDY0X3Qgc2l6ZSk7Ci0KICNlbmRpZiAg
Ly8gIWRlZmluZWQoV0dQVV9TS0lQX1BST0NTKQogCiAjaWYgIWRlZmluZWQoV0dQVV9TS0lQX0RF
Q0xBUkFUSU9OUykKQEAgLTE4NywxMCArMTQ2LDYgQEAgV0dQVV9FWFBPUlQgdm9pZCB3Z3B1U2Ft
cGxlclNldExhYmVsKFdHUFVTYW1wbGVyIHNhbXBsZXIsIGNoYXIgY29uc3QgKiBsYWJlbCk7CiBX
R1BVX0VYUE9SVCB2b2lkIHdncHVUZXh0dXJlU2V0TGFiZWwoV0dQVVRleHR1cmUgc2FtcGxlciwg
Y2hhciBjb25zdCAqIGxhYmVsKTsKIFdHUFVfRVhQT1JUIHZvaWQgd2dwdVRleHR1cmVWaWV3U2V0
TGFiZWwoV0dQVVRleHR1cmVWaWV3IHNhbXBsZXIsIGNoYXIgY29uc3QgKiBsYWJlbCk7CiAKLVdH
UFVfRVhQT1JUIFdHUFVGZWF0dXJlTmFtZSB3Z3B1QWRhcHRlckdldEZlYXR1cmVBdEluZGV4KFdH
UFVBZGFwdGVyIGFkYXB0ZXIsIHNpemVfdCBpbmRleCk7Ci0KLVdHUFVfRVhQT1JUIHZvaWQgd2dw
dUNvbW1hbmRFbmNvZGVyRmlsbEJ1ZmZlcihXR1BVQ29tbWFuZEVuY29kZXIgY29tbWFuZEVuY29k
ZXIsIFdHUFVCdWZmZXIgZGVzdGluYXRpb24sIHVpbnQ2NF90IGRlc3RpbmF0aW9uT2Zmc2V0LCB1
aW50NjRfdCBzaXplKTsKLQogI2VuZGlmICAvLyAhZGVmaW5lZChXR1BVX1NLSVBfREVDTEFSQVRJ
T05TKQogCiAjaWZkZWYgX19jcGx1c3BsdXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQnVmZmVyLmNwcCBiL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQnVmZmVyLmNwcAppbmRleCAyNjUwOTM0
YzNjOWU1MmYwN2Y0NWIwYThhZGMyZDQ3YzRjNGQzZDRkLi4xZmUwOWY0NWFjYTRlZTUzNjYyZGUz
MGRjOTM5NjBmMjkxMmMwNjU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mv
Z3JhcGhpY3MvV2ViR1BVL1JlbW90ZUJ1ZmZlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVCdWZmZXIuY3BwCkBAIC01MCw3ICs1MCw3IEBA
IHZvaWQgUmVtb3RlQnVmZmVyOjpzdG9wTGlzdGVuaW5nRm9ySVBDKCkKICAgICBtX3N0cmVhbUNv
bm5lY3Rpb24tPnN0b3BSZWNlaXZpbmdNZXNzYWdlcyhNZXNzYWdlczo6UmVtb3RlQnVmZmVyOjpt
ZXNzYWdlUmVjZWl2ZXJOYW1lKCksIG1faWRlbnRpZmllci50b1VJbnQ2NCgpKTsKIH0KIAotdm9p
ZCBSZW1vdGVCdWZmZXI6Om1hcEFzeW5jKFBBTDo6V2ViR1BVOjpNYXBNb2RlRmxhZ3MgbWFwTW9k
ZUZsYWdzLCBzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpTaXplNjQ+IG9mZnNldCwgc3RkOjpv
cHRpb25hbDxQQUw6OldlYkdQVTo6U2l6ZTY0PiBzaXplLCBXVEY6OkNvbXBsZXRpb25IYW5kbGVy
PHZvaWQoc3RkOjpvcHRpb25hbDxWZWN0b3I8dWludDhfdD4+JiYpPiYmIGNhbGxiYWNrKQordm9p
ZCBSZW1vdGVCdWZmZXI6Om1hcEFzeW5jKFBBTDo6V2ViR1BVOjpNYXBNb2RlRmxhZ3MgbWFwTW9k
ZUZsYWdzLCBQQUw6OldlYkdQVTo6U2l6ZTY0IG9mZnNldCwgc3RkOjpvcHRpb25hbDxQQUw6Oldl
YkdQVTo6U2l6ZTY0PiBzaXplLCBXVEY6OkNvbXBsZXRpb25IYW5kbGVyPHZvaWQoc3RkOjpvcHRp
b25hbDxWZWN0b3I8dWludDhfdD4+JiYpPiYmIGNhbGxiYWNrKQogewogICAgIGlmIChtX2lzTWFw
cGVkKSB7CiAgICAgICAgIGNhbGxiYWNrKHN0ZDo6bnVsbG9wdCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUJ1ZmZlci5oIGIvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVCdWZmZXIuaAppbmRl
eCBiMzc1MGZjZGI0ZjNiMDk0YzVkNjkyNTRkM2IxNDBkNWE5ZWI4Njc4Li44ZTg3NzI3MTQ2Y2I3
MTFjNTM0ODhiZWE2MDc5YTVmNWQzNjA3NGI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUJ1ZmZlci5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQnVmZmVyLmgKQEAgLTc3LDcgKzc3
LDcgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgZGlkUmVjZWl2ZVN0cmVhbU1lc3NhZ2UoSVBDOjpT
dHJlYW1TZXJ2ZXJDb25uZWN0aW9uQmFzZSYsIElQQzo6RGVjb2RlciYpIGZpbmFsOwogCi0gICAg
dm9pZCBtYXBBc3luYyhQQUw6OldlYkdQVTo6TWFwTW9kZUZsYWdzLCBzdGQ6Om9wdGlvbmFsPFBB
TDo6V2ViR1BVOjpTaXplNjQ+IG9mZnNldCwgc3RkOjpvcHRpb25hbDxQQUw6OldlYkdQVTo6U2l6
ZTY0PiBzaXplRm9yTWFwLCBXVEY6OkNvbXBsZXRpb25IYW5kbGVyPHZvaWQoc3RkOjpvcHRpb25h
bDxWZWN0b3I8dWludDhfdD4+JiYpPiYmKTsKKyAgICB2b2lkIG1hcEFzeW5jKFBBTDo6V2ViR1BV
OjpNYXBNb2RlRmxhZ3MsIFBBTDo6V2ViR1BVOjpTaXplNjQgb2Zmc2V0LCBzdGQ6Om9wdGlvbmFs
PFBBTDo6V2ViR1BVOjpTaXplNjQ+IHNpemVGb3JNYXAsIFdURjo6Q29tcGxldGlvbkhhbmRsZXI8
dm9pZChzdGQ6Om9wdGlvbmFsPFZlY3Rvcjx1aW50OF90Pj4mJik+JiYpOwogICAgIHZvaWQgdW5t
YXAoVmVjdG9yPHVpbnQ4X3Q+JiYpOwogCiAgICAgdm9pZCBkZXN0cm95KCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUJ1ZmZlci5t
ZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVt
b3RlQnVmZmVyLm1lc3NhZ2VzLmluCmluZGV4IDk3YTUxZjNjYTJjM2IwMTc1OTBmMmMzYmJlNjM0
MzgzNzhjYTQ1Y2IuLmI5ZjEzZDM2Y2I1NWJkOGFkOTkzNjExZDk1YzAxYjEzNzI1ZGFiOWMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVtb3Rl
QnVmZmVyLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGlj
cy9XZWJHUFUvUmVtb3RlQnVmZmVyLm1lc3NhZ2VzLmluCkBAIC0yNCw3ICsyNCw3IEBACiAjaWYg
RU5BQkxFKEdQVV9QUk9DRVNTKQogCiBtZXNzYWdlcyAtPiBSZW1vdGVCdWZmZXIgTm90UmVmQ291
bnRlZCBTdHJlYW0gewotICAgIHZvaWQgTWFwQXN5bmMoUEFMOjpXZWJHUFU6Ok1hcE1vZGVGbGFn
cyBtYXBNb2RlRmxhZ3MsIHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlNpemU2ND4gb2Zmc2V0
LCBzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpTaXplNjQ+IHNpemUpIC0+IChzdGQ6Om9wdGlv
bmFsPFZlY3Rvcjx1aW50OF90Pj4gZGF0YSkgU3luY2hyb25vdXMKKyAgICB2b2lkIE1hcEFzeW5j
KFBBTDo6V2ViR1BVOjpNYXBNb2RlRmxhZ3MgbWFwTW9kZUZsYWdzLCBQQUw6OldlYkdQVTo6U2l6
ZTY0IG9mZnNldCwgc3RkOjpvcHRpb25hbDxQQUw6OldlYkdQVTo6U2l6ZTY0PiBzaXplKSAtPiAo
c3RkOjpvcHRpb25hbDxWZWN0b3I8dWludDhfdD4+IGRhdGEpIFN5bmNocm9ub3VzCiAgICAgdm9p
ZCBVbm1hcChWZWN0b3I8dWludDhfdD4gZGF0YSkKICAgICB2b2lkIERlc3Ryb3koKQogICAgIHZv
aWQgU2V0TGFiZWwoU3RyaW5nIGxhYmVsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVDb21tYW5kRW5jb2Rlci5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUNvbW1hbmRFbmNvZGVyLmNw
cAppbmRleCBkOWViNzkzZGFkNDQ1Nzc3MmFiMDNkZDBmYjU0MjQyMWMyOGNhMDkwLi4xNDY5MTcw
ODhiMGQ2MzkxNzBlM2M3YjNhZTU2YTg1Y2Y4Yjk4OWJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUNvbW1hbmRFbmNvZGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUNvbW1h
bmRFbmNvZGVyLmNwcApAQCAtMTUxLDE3ICsxNTEsMTcgQEAgdm9pZCBSZW1vdGVDb21tYW5kRW5j
b2Rlcjo6Y29weVRleHR1cmVUb1RleHR1cmUoCiAgICAgbV9iYWNraW5nLT5jb3B5VGV4dHVyZVRv
VGV4dHVyZSgqY29udmVydGVkU291cmNlLCAqY29udmVydGVkRGVzdGluYXRpb24sICpjb252ZXJ0
ZWRDb3B5U2l6ZSk7CiB9CiAKLXZvaWQgUmVtb3RlQ29tbWFuZEVuY29kZXI6OmZpbGxCdWZmZXIo
Ci0gICAgV2ViR1BVSWRlbnRpZmllciBkZXN0aW5hdGlvbiwKLSAgICBQQUw6OldlYkdQVTo6U2l6
ZTY0IGRlc3RpbmF0aW9uT2Zmc2V0LAotICAgIFBBTDo6V2ViR1BVOjpTaXplNjQgc2l6ZSkKLXsK
LSAgICBhdXRvIGNvbnZlcnRlZERlc3RpbmF0aW9uID0gbV9vYmplY3RIZWFwLmNvbnZlcnRCdWZm
ZXJGcm9tQmFja2luZyhkZXN0aW5hdGlvbik7Ci0gICAgQVNTRVJUKGNvbnZlcnRlZERlc3RpbmF0
aW9uKTsKLSAgICBpZiAoIWNvbnZlcnRlZERlc3RpbmF0aW9uKQordm9pZCBSZW1vdGVDb21tYW5k
RW5jb2Rlcjo6Y2xlYXJCdWZmZXIoCisgICAgV2ViR1BVSWRlbnRpZmllciBidWZmZXIsCisgICAg
UEFMOjpXZWJHUFU6OlNpemU2NCBvZmZzZXQsCisgICAgc3RkOjpvcHRpb25hbDxQQUw6OldlYkdQ
VTo6U2l6ZTY0PiBzaXplKQoreworICAgIGF1dG8gY29udmVydGVkQnVmZmVyID0gbV9vYmplY3RI
ZWFwLmNvbnZlcnRCdWZmZXJGcm9tQmFja2luZyhidWZmZXIpOworICAgIEFTU0VSVChjb252ZXJ0
ZWRCdWZmZXIpOworICAgIGlmICghY29udmVydGVkQnVmZmVyKQogICAgICAgICByZXR1cm47CiAK
LSAgICBtX2JhY2tpbmctPmZpbGxCdWZmZXIoKmNvbnZlcnRlZERlc3RpbmF0aW9uLCBkZXN0aW5h
dGlvbk9mZnNldCwgc2l6ZSk7CisgICAgbV9iYWNraW5nLT5jbGVhckJ1ZmZlcigqY29udmVydGVk
QnVmZmVyLCBvZmZzZXQsIHNpemUpOwogfQogCiB2b2lkIFJlbW90ZUNvbW1hbmRFbmNvZGVyOjpw
dXNoRGVidWdHcm91cChTdHJpbmcmJiBncm91cExhYmVsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVDb21tYW5kRW5jb2Rlci5oIGIv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVDb21tYW5kRW5j
b2Rlci5oCmluZGV4IGE1YjQyYzkxZTAxZGE2ODNhYWYyZDI0ZTYyZDgwYTY5OTdmMTM5NzIuLjE3
MTBlYjlkNjVmZjZiNDg2NzI4NWFiZGM5MDBjODMzMTMxNTMyYmQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQ29tbWFuZEVuY29kZXIu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUNv
bW1hbmRFbmNvZGVyLmgKQEAgLTEwNCwxMCArMTA0LDEwIEBAIHByaXZhdGU6CiAgICAgICAgIGNv
bnN0IFdlYkdQVTo6SW1hZ2VDb3B5VGV4dHVyZSYgZGVzdGluYXRpb24sCiAgICAgICAgIGNvbnN0
IFdlYkdQVTo6RXh0ZW50M0QmIGNvcHlTaXplKTsKIAotICAgIHZvaWQgZmlsbEJ1ZmZlcigKLSAg
ICAgICAgV2ViR1BVSWRlbnRpZmllciBkZXN0aW5hdGlvbiwKLSAgICAgICAgUEFMOjpXZWJHUFU6
OlNpemU2NCBkZXN0aW5hdGlvbk9mZnNldCwKLSAgICAgICAgUEFMOjpXZWJHUFU6OlNpemU2NCk7
CisgICAgdm9pZCBjbGVhckJ1ZmZlcigKKyAgICAgICAgV2ViR1BVSWRlbnRpZmllciBidWZmZXIs
CisgICAgICAgIFBBTDo6V2ViR1BVOjpTaXplNjQgb2Zmc2V0ID0gMCwKKyAgICAgICAgc3RkOjpv
cHRpb25hbDxQQUw6OldlYkdQVTo6U2l6ZTY0PiA9IHN0ZDo6bnVsbG9wdCk7CiAKICAgICB2b2lk
IHB1c2hEZWJ1Z0dyb3VwKFN0cmluZyYmIGdyb3VwTGFiZWwpOwogICAgIHZvaWQgcG9wRGVidWdH
cm91cCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dl
YkdQVS9SZW1vdGVDb21tYW5kRW5jb2Rlci5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQ29tbWFuZEVuY29kZXIubWVzc2FnZXMuaW4K
aW5kZXggYmMwYmYzMzExNDhkMmU5NTMxYzU5N2NiOWNkZGQ2MTczYjdkMjljMC4uM2RjYTlmOWI5
YjE4YjNiN2RjN2QwYjhmYzZkNTE4Zjk4NWE0ZGU0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVDb21tYW5kRW5jb2Rlci5tZXNzYWdl
cy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90
ZUNvbW1hbmRFbmNvZGVyLm1lc3NhZ2VzLmluCkBAIC0zMCw3ICszMCw3IEBAIG1lc3NhZ2VzIC0+
IFJlbW90ZUNvbW1hbmRFbmNvZGVyIE5vdFJlZkNvdW50ZWQgU3RyZWFtIHsKICAgICB2b2lkIENv
cHlCdWZmZXJUb1RleHR1cmUoV2ViS2l0OjpXZWJHUFU6OkltYWdlQ29weUJ1ZmZlciBzb3VyY2Us
IFdlYktpdDo6V2ViR1BVOjpJbWFnZUNvcHlUZXh0dXJlIGRlc3RpbmF0aW9uLCBXZWJLaXQ6Oldl
YkdQVTo6RXh0ZW50M0QgY29weVNpemUpCiAgICAgdm9pZCBDb3B5VGV4dHVyZVRvQnVmZmVyKFdl
YktpdDo6V2ViR1BVOjpJbWFnZUNvcHlUZXh0dXJlIHNvdXJjZSwgV2ViS2l0OjpXZWJHUFU6Oklt
YWdlQ29weUJ1ZmZlciBkZXN0aW5hdGlvbiwgV2ViS2l0OjpXZWJHUFU6OkV4dGVudDNEIGNvcHlT
aXplKQogICAgIHZvaWQgQ29weVRleHR1cmVUb1RleHR1cmUoV2ViS2l0OjpXZWJHUFU6OkltYWdl
Q29weVRleHR1cmUgc291cmNlLCBXZWJLaXQ6OldlYkdQVTo6SW1hZ2VDb3B5VGV4dHVyZSBkZXN0
aW5hdGlvbiwgV2ViS2l0OjpXZWJHUFU6OkV4dGVudDNEIGNvcHlTaXplKQotICAgIHZvaWQgRmls
bEJ1ZmZlcihXZWJLaXQ6OldlYkdQVUlkZW50aWZpZXIgZGVzdGluYXRpb24sIFBBTDo6V2ViR1BV
OjpTaXplNjQgZGVzdGluYXRpb25PZmZzZXQsIFBBTDo6V2ViR1BVOjpTaXplNjQgc2l6ZSkKKyAg
ICB2b2lkIENsZWFyQnVmZmVyKFdlYktpdDo6V2ViR1BVSWRlbnRpZmllciBidWZmZXIsIFBBTDo6
V2ViR1BVOjpTaXplNjQgb2Zmc2V0LCBzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpTaXplNjQ+
IHNpemUpCiAgICAgdm9pZCBQdXNoRGVidWdHcm91cChTdHJpbmcgZ3JvdXBMYWJlbCkKICAgICB2
b2lkIFBvcERlYnVnR3JvdXAoKQogICAgIHZvaWQgSW5zZXJ0RGVidWdNYXJrZXIoU3RyaW5nIG1h
cmtlckxhYmVsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNz
L1dlYkdQVS9SZW1vdGVDb21wdXRlUGFzc0VuY29kZXIuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVDb21wdXRlUGFzc0VuY29kZXIuY3BwCmluZGV4
IDhlMDczZWQxZGZjYmE0YWQ2ZGQ2NDc2OWVjNDgwNzM1ZmQ4OWViOWQuLmY4ODFiZTllMmJmNWZh
MWFhMGUzNDdkMWI2YmJhOGFiOGQwNDMzODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQ29tcHV0ZVBhc3NFbmNvZGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUNvbXB1dGVQ
YXNzRW5jb2Rlci5jcHAKQEAgLTYxLDkgKzYxLDkgQEAgdm9pZCBSZW1vdGVDb21wdXRlUGFzc0Vu
Y29kZXI6OnNldFBpcGVsaW5lKFdlYkdQVUlkZW50aWZpZXIgY29tcHV0ZVBpcGVsaW5lKQogICAg
IG1fYmFja2luZy0+c2V0UGlwZWxpbmUoKmNvbnZlcnRlZENvbXB1dGVQaXBlbGluZSk7CiB9CiAK
LXZvaWQgUmVtb3RlQ29tcHV0ZVBhc3NFbmNvZGVyOjpkaXNwYXRjaChQQUw6OldlYkdQVTo6U2l6
ZTMyIHgsIHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlNpemUzMj4geSwgc3RkOjpvcHRpb25h
bDxQQUw6OldlYkdQVTo6U2l6ZTMyPiB6KQordm9pZCBSZW1vdGVDb21wdXRlUGFzc0VuY29kZXI6
OmRpc3BhdGNoKFBBTDo6V2ViR1BVOjpTaXplMzIgd29ya2dyb3VwQ291bnRYLCBQQUw6OldlYkdQ
VTo6U2l6ZTMyIHdvcmtncm91cENvdW50WSwgUEFMOjpXZWJHUFU6OlNpemUzMiB3b3JrZ3JvdXBD
b3VudFopCiB7Ci0gICAgbV9iYWNraW5nLT5kaXNwYXRjaCh4LCB5LCB6KTsKKyAgICBtX2JhY2tp
bmctPmRpc3BhdGNoKHdvcmtncm91cENvdW50WCwgd29ya2dyb3VwQ291bnRZLCB3b3JrZ3JvdXBD
b3VudFopOwogfQogCiB2b2lkIFJlbW90ZUNvbXB1dGVQYXNzRW5jb2Rlcjo6ZGlzcGF0Y2hJbmRp
cmVjdChXZWJHUFVJZGVudGlmaWVyIGluZGlyZWN0QnVmZmVyLCBQQUw6OldlYkdQVTo6U2l6ZTY0
IGluZGlyZWN0T2Zmc2V0KQpAQCAtNzYsMjQgKzc2LDkgQEAgdm9pZCBSZW1vdGVDb21wdXRlUGFz
c0VuY29kZXI6OmRpc3BhdGNoSW5kaXJlY3QoV2ViR1BVSWRlbnRpZmllciBpbmRpcmVjdEJ1ZmZl
ciwKICAgICBtX2JhY2tpbmctPmRpc3BhdGNoSW5kaXJlY3QoKmNvbnZlcnRlZEluZGlyZWN0QnVm
ZmVyLCBpbmRpcmVjdE9mZnNldCk7CiB9CiAKLXZvaWQgUmVtb3RlQ29tcHV0ZVBhc3NFbmNvZGVy
OjpiZWdpblBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KFdlYkdQVUlkZW50aWZpZXIgcXVlcnlTZXQs
IFBBTDo6V2ViR1BVOjpTaXplMzIgcXVlcnlJbmRleCkKK3ZvaWQgUmVtb3RlQ29tcHV0ZVBhc3NF
bmNvZGVyOjplbmQoKQogewotICAgIGF1dG8gY29udmVydGVkUXVlcnlTZXQgPSBtX29iamVjdEhl
YXAuY29udmVydFF1ZXJ5U2V0RnJvbUJhY2tpbmcocXVlcnlTZXQpOwotICAgIEFTU0VSVChjb252
ZXJ0ZWRRdWVyeVNldCk7Ci0gICAgaWYgKCFjb252ZXJ0ZWRRdWVyeVNldCkKLSAgICAgICAgcmV0
dXJuOwotCi0gICAgbV9iYWNraW5nLT5iZWdpblBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KCpjb252
ZXJ0ZWRRdWVyeVNldCwgcXVlcnlJbmRleCk7Ci19Ci0KLXZvaWQgUmVtb3RlQ29tcHV0ZVBhc3NF
bmNvZGVyOjplbmRQaXBlbGluZVN0YXRpc3RpY3NRdWVyeSgpCi17Ci0gICAgbV9iYWNraW5nLT5l
bmRQaXBlbGluZVN0YXRpc3RpY3NRdWVyeSgpOwotfQotCi12b2lkIFJlbW90ZUNvbXB1dGVQYXNz
RW5jb2Rlcjo6ZW5kUGFzcygpCi17Ci0gICAgbV9iYWNraW5nLT5lbmRQYXNzKCk7CisgICAgbV9i
YWNraW5nLT5lbmQoKTsKIH0KIAogdm9pZCBSZW1vdGVDb21wdXRlUGFzc0VuY29kZXI6OnNldEJp
bmRHcm91cChQQUw6OldlYkdQVTo6SW5kZXgzMiBpbmRleCwgV2ViR1BVSWRlbnRpZmllciBiaW5k
R3JvdXAsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2Vi
R1BVL1JlbW90ZUNvbXB1dGVQYXNzRW5jb2Rlci5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVDb21wdXRlUGFzc0VuY29kZXIuaAppbmRleCAzNThlMDVk
OWUxNmQ5ODIwNTNkMjE4MzhlZmY4OTFkZmUzYjJkN2U1Li44MzM3YTI5YmU5NDQ3YjNkNDdhMDY5
MWViZmE5ZTE0YTdhNGE1MmIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mv
Z3JhcGhpY3MvV2ViR1BVL1JlbW90ZUNvbXB1dGVQYXNzRW5jb2Rlci5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQ29tcHV0ZVBhc3NFbmNvZGVy
LmgKQEAgLTc0LDEzICs3NCwxMCBAQCBwcml2YXRlOgogICAgIHZvaWQgZGlkUmVjZWl2ZVN0cmVh
bU1lc3NhZ2UoSVBDOjpTdHJlYW1TZXJ2ZXJDb25uZWN0aW9uQmFzZSYsIElQQzo6RGVjb2RlciYp
IGZpbmFsOwogCiAgICAgdm9pZCBzZXRQaXBlbGluZShXZWJHUFVJZGVudGlmaWVyKTsKLSAgICB2
b2lkIGRpc3BhdGNoKFBBTDo6V2ViR1BVOjpTaXplMzIgeCwgc3RkOjpvcHRpb25hbDxQQUw6Oldl
YkdQVTo6U2l6ZTMyPiB5LCBzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpTaXplMzI+KTsKKyAg
ICB2b2lkIGRpc3BhdGNoKFBBTDo6V2ViR1BVOjpTaXplMzIgd29ya2dyb3VwQ291bnRYLCBQQUw6
OldlYkdQVTo6U2l6ZTMyIHdvcmtncm91cENvdW50WSA9IDEsIFBBTDo6V2ViR1BVOjpTaXplMzIg
d29ya2dyb3VwQ291bnRaID0gMSk7CiAgICAgdm9pZCBkaXNwYXRjaEluZGlyZWN0KFdlYkdQVUlk
ZW50aWZpZXIgaW5kaXJlY3RCdWZmZXIsIFBBTDo6V2ViR1BVOjpTaXplNjQgaW5kaXJlY3RPZmZz
ZXQpOwogCi0gICAgdm9pZCBiZWdpblBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KFdlYkdQVUlkZW50
aWZpZXIsIFBBTDo6V2ViR1BVOjpTaXplMzIgcXVlcnlJbmRleCk7Ci0gICAgdm9pZCBlbmRQaXBl
bGluZVN0YXRpc3RpY3NRdWVyeSgpOwotCi0gICAgdm9pZCBlbmRQYXNzKCk7CisgICAgdm9pZCBl
bmQoKTsKIAogICAgIHZvaWQgc2V0QmluZEdyb3VwKFBBTDo6V2ViR1BVOjpJbmRleDMyLCBXZWJH
UFVJZGVudGlmaWVyLAogICAgICAgICBzdGQ6Om9wdGlvbmFsPFZlY3RvcjxQQUw6OldlYkdQVTo6
QnVmZmVyRHluYW1pY09mZnNldD4+JiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVDb21wdXRlUGFzc0VuY29kZXIubWVzc2FnZXMu
aW4gYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUNvbXB1
dGVQYXNzRW5jb2Rlci5tZXNzYWdlcy5pbgppbmRleCA4NmJkMmI1NzJjYmE1NDExYTIzYzI5Yzk3
ZDA3Y2M2YzBjMGVjMmY1Li40MmU2MDhiZDMwOTdmMzI5NWFhMWFhYjA2YWYzYzNkN2ZmNTY2NDU4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1Jl
bW90ZUNvbXB1dGVQYXNzRW5jb2Rlci5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUNvbXB1dGVQYXNzRW5jb2Rlci5tZXNzYWdl
cy5pbgpAQCAtMjUsMTEgKzI1LDkgQEAKIAogbWVzc2FnZXMgLT4gUmVtb3RlQ29tcHV0ZVBhc3NF
bmNvZGVyIE5vdFJlZkNvdW50ZWQgU3RyZWFtIHsKICAgICB2b2lkIFNldFBpcGVsaW5lKFdlYktp
dDo6V2ViR1BVSWRlbnRpZmllciBpZGVudGlmaWVyKQotICAgIHZvaWQgRGlzcGF0Y2goUEFMOjpX
ZWJHUFU6OlNpemUzMiB4LCBzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpTaXplMzI+IHksIHN0
ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlNpemUzMj4geikKKyAgICB2b2lkIERpc3BhdGNoKFBB
TDo6V2ViR1BVOjpTaXplMzIgd29ya2dyb3VwQ291bnRYLCBQQUw6OldlYkdQVTo6U2l6ZTMyIHdv
cmtncm91cENvdW50WSwgUEFMOjpXZWJHUFU6OlNpemUzMiB3b3JrZ3JvdXBDb3VudFopCiAgICAg
dm9pZCBEaXNwYXRjaEluZGlyZWN0KFdlYktpdDo6V2ViR1BVSWRlbnRpZmllciBpbmRpcmVjdEJ1
ZmZlciwgUEFMOjpXZWJHUFU6OlNpemU2NCBpbmRpcmVjdE9mZnNldCkKLSAgICB2b2lkIEJlZ2lu
UGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkoV2ViS2l0OjpXZWJHUFVJZGVudGlmaWVyIGlkZW50aWZp
ZXIsIFBBTDo6V2ViR1BVOjpTaXplMzIgcXVlcnlJbmRleCkKLSAgICB2b2lkIEVuZFBpcGVsaW5l
U3RhdGlzdGljc1F1ZXJ5KCkKLSAgICB2b2lkIEVuZFBhc3MoKQorICAgIHZvaWQgRW5kKCkKICAg
ICB2b2lkIFNldEJpbmRHcm91cChQQUw6OldlYkdQVTo6SW5kZXgzMiBpbmRleCwgV2ViS2l0OjpX
ZWJHUFVJZGVudGlmaWVyIGlkZW50aWZpZXIsIHN0ZDo6b3B0aW9uYWw8VmVjdG9yPFBBTDo6V2Vi
R1BVOjpCdWZmZXJEeW5hbWljT2Zmc2V0Pj4gZHluYW1pY09mZnNldHMpCiAgICAgdm9pZCBQdXNo
RGVidWdHcm91cChTdHJpbmcgZ3JvdXBMYWJlbCkKICAgICB2b2lkIFBvcERlYnVnR3JvdXAoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1v
dGVSZW5kZXJQYXNzRW5jb2Rlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhp
Y3MvV2ViR1BVL1JlbW90ZVJlbmRlclBhc3NFbmNvZGVyLmNwcAppbmRleCA2MmQwY2E3NWVhMmI2
ODAyNzljNTY1MmE5YmYzYzgyYzIzYmExZjIyLi5hZDllMTg0YzdjYzZjMzIwODAxODY4ZjBmYTky
ZjFiMThhYjRjNDc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhp
Y3MvV2ViR1BVL1JlbW90ZVJlbmRlclBhc3NFbmNvZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZVJlbmRlclBhc3NFbmNvZGVyLmNwcApA
QCAtMTc5LDIxICsxNzksNiBAQCB2b2lkIFJlbW90ZVJlbmRlclBhc3NFbmNvZGVyOjplbmRPY2Ns
dXNpb25RdWVyeSgpCiAgICAgbV9iYWNraW5nLT5lbmRPY2NsdXNpb25RdWVyeSgpOwogfQogCi12
b2lkIFJlbW90ZVJlbmRlclBhc3NFbmNvZGVyOjpiZWdpblBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5
KFdlYkdQVUlkZW50aWZpZXIgcXVlcnlTZXQsIFBBTDo6V2ViR1BVOjpTaXplMzIgcXVlcnlJbmRl
eCkKLXsKLSAgICBhdXRvIGNvbnZlcnRlZFF1ZXJ5U2V0ID0gbV9vYmplY3RIZWFwLmNvbnZlcnRR
dWVyeVNldEZyb21CYWNraW5nKHF1ZXJ5U2V0KTsKLSAgICBBU1NFUlQoY29udmVydGVkUXVlcnlT
ZXQpOwotICAgIGlmICghY29udmVydGVkUXVlcnlTZXQpCi0gICAgICAgIHJldHVybjsKLQotICAg
IG1fYmFja2luZy0+YmVnaW5QaXBlbGluZVN0YXRpc3RpY3NRdWVyeSgqY29udmVydGVkUXVlcnlT
ZXQsIHF1ZXJ5SW5kZXgpOwotfQotCi12b2lkIFJlbW90ZVJlbmRlclBhc3NFbmNvZGVyOjplbmRQ
aXBlbGluZVN0YXRpc3RpY3NRdWVyeSgpCi17Ci0gICAgbV9iYWNraW5nLT5lbmRQaXBlbGluZVN0
YXRpc3RpY3NRdWVyeSgpOwotfQotCiB2b2lkIFJlbW90ZVJlbmRlclBhc3NFbmNvZGVyOjpleGVj
dXRlQnVuZGxlcyhWZWN0b3I8V2ViR1BVSWRlbnRpZmllcj4mJiByZW5kZXJCdW5kbGVzKQogewog
ICAgIFZlY3RvcjxzdGQ6OnJlZmVyZW5jZV93cmFwcGVyPFBBTDo6V2ViR1BVOjpSZW5kZXJCdW5k
bGU+PiBjb252ZXJ0ZWRCdW5kbGVzOwpAQCAtMjA4LDkgKzE5Myw5IEBAIHZvaWQgUmVtb3RlUmVu
ZGVyUGFzc0VuY29kZXI6OmV4ZWN1dGVCdW5kbGVzKFZlY3RvcjxXZWJHUFVJZGVudGlmaWVyPiYm
IHJlbmRlckJ1CiAgICAgbV9iYWNraW5nLT5leGVjdXRlQnVuZGxlcyhXVEZNb3ZlKGNvbnZlcnRl
ZEJ1bmRsZXMpKTsKIH0KIAotdm9pZCBSZW1vdGVSZW5kZXJQYXNzRW5jb2Rlcjo6ZW5kUGFzcygp
Cit2b2lkIFJlbW90ZVJlbmRlclBhc3NFbmNvZGVyOjplbmQoKQogewotICAgIG1fYmFja2luZy0+
ZW5kUGFzcygpOworICAgIG1fYmFja2luZy0+ZW5kKCk7CiB9CiAKIHZvaWQgUmVtb3RlUmVuZGVy
UGFzc0VuY29kZXI6OnNldExhYmVsKFN0cmluZyYmIGxhYmVsKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVSZW5kZXJQYXNzRW5jb2Rl
ci5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVSZW5k
ZXJQYXNzRW5jb2Rlci5oCmluZGV4IGYyZjU0NTFjZWZkZDVkM2FiODc4MDZmYzYyNTQ2MTIwNzky
ZGNkN2IuLmM3ZGZlYjliNWU0ZDMyYjFjNmIyMTNmYjgxODQ4Y2JkMTA5ZDdkMWQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlUmVuZGVy
UGFzc0VuY29kZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2Vi
R1BVL1JlbW90ZVJlbmRlclBhc3NFbmNvZGVyLmgKQEAgLTExMCwxMSArMTEwLDggQEAgcHJpdmF0
ZToKICAgICB2b2lkIGJlZ2luT2NjbHVzaW9uUXVlcnkoUEFMOjpXZWJHUFU6OlNpemUzMiBxdWVy
eUluZGV4KTsKICAgICB2b2lkIGVuZE9jY2x1c2lvblF1ZXJ5KCk7CiAKLSAgICB2b2lkIGJlZ2lu
UGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkoV2ViR1BVSWRlbnRpZmllciwgUEFMOjpXZWJHUFU6OlNp
emUzMiBxdWVyeUluZGV4KTsKLSAgICB2b2lkIGVuZFBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KCk7
Ci0KICAgICB2b2lkIGV4ZWN1dGVCdW5kbGVzKFZlY3RvcjxXZWJHUFVJZGVudGlmaWVyPiYmKTsK
LSAgICB2b2lkIGVuZFBhc3MoKTsKKyAgICB2b2lkIGVuZCgpOwogCiAgICAgdm9pZCBzZXRMYWJl
bChTdHJpbmcmJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFw
aGljcy9XZWJHUFUvUmVtb3RlUmVuZGVyUGFzc0VuY29kZXIubWVzc2FnZXMuaW4gYi9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZVJlbmRlclBhc3NFbmNvZGVy
Lm1lc3NhZ2VzLmluCmluZGV4IGU4YjdiYWFhOGVhYzA5YjM3NWNmYmE3ODRhOWQzMjhiZGQ2YjZh
ZWQuLjU3MmIwYWFlOTczZTg2MmZjMjhkNjQxMzg5ZjlhMTMxMTBkN2VmODIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlUmVuZGVyUGFz
c0VuY29kZXIubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBo
aWNzL1dlYkdQVS9SZW1vdGVSZW5kZXJQYXNzRW5jb2Rlci5tZXNzYWdlcy5pbgpAQCAtNDEsMTAg
KzQxLDggQEAgbWVzc2FnZXMgLT4gUmVtb3RlUmVuZGVyUGFzc0VuY29kZXIgTm90UmVmQ291bnRl
ZCBTdHJlYW0gewogICAgIHZvaWQgU2V0U3RlbmNpbFJlZmVyZW5jZShQQUw6OldlYkdQVTo6U3Rl
bmNpbFZhbHVlIHN0ZW5jaWxWYWx1ZSkKICAgICB2b2lkIEJlZ2luT2NjbHVzaW9uUXVlcnkoUEFM
OjpXZWJHUFU6OlNpemUzMiBxdWVyeUluZGV4KQogICAgIHZvaWQgRW5kT2NjbHVzaW9uUXVlcnko
KQotICAgIHZvaWQgQmVnaW5QaXBlbGluZVN0YXRpc3RpY3NRdWVyeShXZWJLaXQ6OldlYkdQVUlk
ZW50aWZpZXIgaWRlbnRpZmllciwgUEFMOjpXZWJHUFU6OlNpemUzMiBxdWVyeUluZGV4KQotICAg
IHZvaWQgRW5kUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkoKQogICAgIHZvaWQgRXhlY3V0ZUJ1bmRs
ZXMoVmVjdG9yPFdlYktpdDo6V2ViR1BVSWRlbnRpZmllcj4gYnVuZGxlcykKLSAgICB2b2lkIEVu
ZFBhc3MoKQorICAgIHZvaWQgRW5kKCkKICAgICB2b2lkIFNldExhYmVsKFN0cmluZyBsYWJlbCkK
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVUNhbnZh
c0NvbmZpZ3VyYXRpb24uY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVUNh
bnZhc0NvbmZpZ3VyYXRpb24uY3BwCmluZGV4IDQ4MTMyNTIyNmRmNjhjOTNhOTE4MjdjMjIzZmUw
OGZmYzRiODUyOGEuLjQ1YjY4N2UyNjUyYTI4MzFiYjM5NzQxMzk0MjllMDkwMjg4MTc0OWUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVDYW52YXNDb25maWd1
cmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVQ2FudmFz
Q29uZmlndXJhdGlvbi5jcHAKQEAgLTQ3LDcgKzQ3LDcgQEAgc3RkOjpvcHRpb25hbDxDYW52YXND
b25maWd1cmF0aW9uPiBDb252ZXJ0VG9CYWNraW5nQ29udGV4dDo6Y29udmVydFRvQmFja2luZyhj
b24KICAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAgICAgfQogCi0gICAgcmV0dXJu
IHsgeyBkZXZpY2UsIGNhbnZhc0NvbmZpZ3VyYXRpb24uZm9ybWF0LCBjYW52YXNDb25maWd1cmF0
aW9uLnVzYWdlLCBjYW52YXNDb25maWd1cmF0aW9uLmNvbG9yU3BhY2UsIGNhbnZhc0NvbmZpZ3Vy
YXRpb24uY29tcG9zaXRpbmdBbHBoYU1vZGUsIFdURk1vdmUoc2l6ZSkgfSB9OworICAgIHJldHVy
biB7IHsgZGV2aWNlLCBjYW52YXNDb25maWd1cmF0aW9uLmZvcm1hdCwgY2FudmFzQ29uZmlndXJh
dGlvbi51c2FnZSwgY2FudmFzQ29uZmlndXJhdGlvbi52aWV3Rm9ybWF0cywgY2FudmFzQ29uZmln
dXJhdGlvbi5jb2xvclNwYWNlLCBjYW52YXNDb25maWd1cmF0aW9uLmNvbXBvc2l0aW5nQWxwaGFN
b2RlLCBXVEZNb3ZlKHNpemUpIH0gfTsKIH0KIAogc3RkOjpvcHRpb25hbDxQQUw6OldlYkdQVTo6
Q2FudmFzQ29uZmlndXJhdGlvbj4gQ29udmVydEZyb21CYWNraW5nQ29udGV4dDo6Y29udmVydEZy
b21CYWNraW5nKGNvbnN0IENhbnZhc0NvbmZpZ3VyYXRpb24mIGNhbnZhc0NvbmZpZ3VyYXRpb24p
CkBAIC02Myw3ICs2Myw3IEBAIHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OkNhbnZhc0NvbmZp
Z3VyYXRpb24+IENvbnZlcnRGcm9tQmFja2luZ0NvbnRleHQ6OmNvbnZlCiAgICAgICAgICAgICBy
ZXR1cm4gc3RkOjpudWxsb3B0OwogICAgIH0KIAotICAgIHJldHVybiB7IHsgKmRldmljZSwgY2Fu
dmFzQ29uZmlndXJhdGlvbi5mb3JtYXQsIGNhbnZhc0NvbmZpZ3VyYXRpb24udXNhZ2UsIGNhbnZh
c0NvbmZpZ3VyYXRpb24uY29sb3JTcGFjZSwgY2FudmFzQ29uZmlndXJhdGlvbi5jb21wb3NpdGlu
Z0FscGhhTW9kZSwgV1RGTW92ZShzaXplKSB9IH07CisgICAgcmV0dXJuIHsgeyAqZGV2aWNlLCBj
YW52YXNDb25maWd1cmF0aW9uLmZvcm1hdCwgY2FudmFzQ29uZmlndXJhdGlvbi51c2FnZSwgY2Fu
dmFzQ29uZmlndXJhdGlvbi52aWV3Rm9ybWF0cywgY2FudmFzQ29uZmlndXJhdGlvbi5jb2xvclNw
YWNlLCBjYW52YXNDb25maWd1cmF0aW9uLmNvbXBvc2l0aW5nQWxwaGFNb2RlLCBXVEZNb3ZlKHNp
emUpIH0gfTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVQ2FudmFzQ29uZmlndXJhdGlvbi5oIGIvU291cmNl
L1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVUNhbnZhc0NvbmZpZ3VyYXRpb24uaAppbmRleCAz
MDEwMTE5YjNlY2E3ZmM3YmE2MmFjMjViNDE3M2I4MWNkMDJhZjI4Li4wODc4NGUzOTA1NjlmNzU4
NGY1OTY0ZmM5MzY1NDJlZTkzOGNlYmMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9XZWJHUFUvV2ViR1BVQ2FudmFzQ29uZmlndXJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL1dlYkdQVS9XZWJHUFVDYW52YXNDb25maWd1cmF0aW9uLmgKQEAgLTQ1LDYgKzQ1LDcg
QEAgc3RydWN0IENhbnZhc0NvbmZpZ3VyYXRpb24gewogICAgIFdlYkdQVUlkZW50aWZpZXIgZGV2
aWNlOwogICAgIFBBTDo6V2ViR1BVOjpUZXh0dXJlRm9ybWF0IGZvcm1hdCB7IFBBTDo6V2ViR1BV
OjpUZXh0dXJlRm9ybWF0OjpSOHVub3JtIH07CiAgICAgUEFMOjpXZWJHUFU6OlRleHR1cmVVc2Fn
ZUZsYWdzIHVzYWdlIHsgUEFMOjpXZWJHUFU6OlRleHR1cmVVc2FnZTo6UmVuZGVyQXR0YWNobWVu
dCB9OworICAgIFZlY3RvcjxQQUw6OldlYkdQVTo6VGV4dHVyZUZvcm1hdD4gdmlld0Zvcm1hdHM7
CiAgICAgUEFMOjpXZWJHUFU6OlByZWRlZmluZWRDb2xvclNwYWNlIGNvbG9yU3BhY2UgeyBQQUw6
OldlYkdQVTo6UHJlZGVmaW5lZENvbG9yU3BhY2U6OlNSR0IgfTsKICAgICBQQUw6OldlYkdQVTo6
Q2FudmFzQ29tcG9zaXRpbmdBbHBoYU1vZGUgY29tcG9zaXRpbmdBbHBoYU1vZGUgeyBQQUw6Oldl
YkdQVTo6Q2FudmFzQ29tcG9zaXRpbmdBbHBoYU1vZGU6Ok9wYXF1ZSB9OwogICAgIHN0ZDo6b3B0
aW9uYWw8RXh0ZW50M0Q+IHNpemU7CkBAIC01NCw2ICs1NSw3IEBAIHN0cnVjdCBDYW52YXNDb25m
aWd1cmF0aW9uIHsKICAgICAgICAgZW5jb2RlciA8PCBkZXZpY2U7CiAgICAgICAgIGVuY29kZXIg
PDwgZm9ybWF0OwogICAgICAgICBlbmNvZGVyIDw8IHVzYWdlOworICAgICAgICBlbmNvZGVyIDw8
IHZpZXdGb3JtYXRzOwogICAgICAgICBlbmNvZGVyIDw8IGNvbG9yU3BhY2U7CiAgICAgICAgIGVu
Y29kZXIgPDwgY29tcG9zaXRpbmdBbHBoYU1vZGU7CiAgICAgICAgIGVuY29kZXIgPDwgc2l6ZTsK
QEAgLTc2LDYgKzc4LDExIEBAIHN0cnVjdCBDYW52YXNDb25maWd1cmF0aW9uIHsKICAgICAgICAg
aWYgKCF1c2FnZSkKICAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAKKyAgICAgICAg
c3RkOjpvcHRpb25hbDxWZWN0b3I8UEFMOjpXZWJHUFU6OlRleHR1cmVGb3JtYXQ+PiB2aWV3Rm9y
bWF0czsKKyAgICAgICAgZGVjb2RlciA+PiB2aWV3Rm9ybWF0czsKKyAgICAgICAgaWYgKCF2aWV3
Rm9ybWF0cykKKyAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisKICAgICAgICAgc3Rk
OjpvcHRpb25hbDxQQUw6OldlYkdQVTo6UHJlZGVmaW5lZENvbG9yU3BhY2U+IGNvbG9yU3BhY2U7
CiAgICAgICAgIGRlY29kZXIgPj4gY29sb3JTcGFjZTsKICAgICAgICAgaWYgKCFjb2xvclNwYWNl
KQpAQCAtOTEsNyArOTgsNyBAQCBzdHJ1Y3QgQ2FudmFzQ29uZmlndXJhdGlvbiB7CiAgICAgICAg
IGlmICghc2l6ZSkKICAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAKLSAgICAgICAg
cmV0dXJuIHsgeyBXVEZNb3ZlKCpkZXZpY2UpLCBXVEZNb3ZlKCpmb3JtYXQpLCBXVEZNb3ZlKCp1
c2FnZSksIFdURk1vdmUoKmNvbG9yU3BhY2UpLCBXVEZNb3ZlKCpjb21wb3NpdGluZ0FscGhhTW9k
ZSksIFdURk1vdmUoKnNpemUpIH0gfTsKKyAgICAgICAgcmV0dXJuIHsgeyBXVEZNb3ZlKCpkZXZp
Y2UpLCBXVEZNb3ZlKCpmb3JtYXQpLCBXVEZNb3ZlKCp1c2FnZSksIFdURk1vdmUoKnZpZXdGb3Jt
YXRzKSwgV1RGTW92ZSgqY29sb3JTcGFjZSksIFdURk1vdmUoKmNvbXBvc2l0aW5nQWxwaGFNb2Rl
KSwgV1RGTW92ZSgqc2l6ZSkgfSB9OwogICAgIH0KIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVDb252ZXJ0RnJvbUJhY2tpbmdDb250ZXh0LmggYi9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVQ29udmVydEZyb21CYWNraW5nQ29udGV4
dC5oCmluZGV4IDk5MmYyN2RhMGU0YmE1MTVjZmJmZDk4MDY2OTQ3NzBkM2M5ODg0MTcuLjM5NzJh
ZDM4ZmE3ZjFlZmQ5MjcyYzY4YzMwNDc4MWFhZjY3MjMzOTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVDb252ZXJ0RnJvbUJhY2tpbmdDb250ZXh0LmgKKysr
IGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVUNvbnZlcnRGcm9tQmFja2luZ0Nv
bnRleHQuaApAQCAtMTEyLDYgKzExMiw3IEBAIGNsYXNzIFNhbXBsZXI7CiBzdHJ1Y3QgU2FtcGxl
ckJpbmRpbmdMYXlvdXQ7CiBzdHJ1Y3QgU2FtcGxlckRlc2NyaXB0b3I7CiBjbGFzcyBTaGFkZXJN
b2R1bGU7CitzdHJ1Y3QgU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50Owogc3RydWN0IFNoYWRl
ck1vZHVsZURlc2NyaXB0b3I7CiBzdHJ1Y3QgU3RlbmNpbEZhY2VTdGF0ZTsKIHN0cnVjdCBTdG9y
YWdlVGV4dHVyZUJpbmRpbmdMYXlvdXQ7CkBAIC0xNzYsNiArMTc3LDcgQEAgc3RydWN0IFJlbmRl
clBpcGVsaW5lRGVzY3JpcHRvcjsKIHN0cnVjdCBSZXF1ZXN0QWRhcHRlck9wdGlvbnM7CiBzdHJ1
Y3QgU2FtcGxlckJpbmRpbmdMYXlvdXQ7CiBzdHJ1Y3QgU2FtcGxlckRlc2NyaXB0b3I7CitzdHJ1
Y3QgU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50Owogc3RydWN0IFNoYWRlck1vZHVsZURlc2Ny
aXB0b3I7CiBzdHJ1Y3QgU3RlbmNpbEZhY2VTdGF0ZTsKIHN0cnVjdCBTdG9yYWdlVGV4dHVyZUJp
bmRpbmdMYXlvdXQ7CkBAIC0yNTEsNiArMjUzLDcgQEAgcHVibGljOgogICAgIHN0ZDo6b3B0aW9u
YWw8UEFMOjpXZWJHUFU6OlJlcXVlc3RBZGFwdGVyT3B0aW9ucz4gY29udmVydEZyb21CYWNraW5n
KGNvbnN0IFJlcXVlc3RBZGFwdGVyT3B0aW9ucyYpOwogICAgIHN0ZDo6b3B0aW9uYWw8UEFMOjpX
ZWJHUFU6OlNhbXBsZXJCaW5kaW5nTGF5b3V0PiBjb252ZXJ0RnJvbUJhY2tpbmcoY29uc3QgU2Ft
cGxlckJpbmRpbmdMYXlvdXQmKTsKICAgICBzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpTYW1w
bGVyRGVzY3JpcHRvcj4gY29udmVydEZyb21CYWNraW5nKGNvbnN0IFNhbXBsZXJEZXNjcmlwdG9y
Jik7CisgICAgc3RkOjpvcHRpb25hbDxQQUw6OldlYkdQVTo6U2hhZGVyTW9kdWxlQ29tcGlsYXRp
b25IaW50PiBjb252ZXJ0RnJvbUJhY2tpbmcoY29uc3QgU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25I
aW50Jik7CiAgICAgc3RkOjpvcHRpb25hbDxQQUw6OldlYkdQVTo6U2hhZGVyTW9kdWxlRGVzY3Jp
cHRvcj4gY29udmVydEZyb21CYWNraW5nKGNvbnN0IFNoYWRlck1vZHVsZURlc2NyaXB0b3ImKTsK
ICAgICBzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpTdGVuY2lsRmFjZVN0YXRlPiBjb252ZXJ0
RnJvbUJhY2tpbmcoY29uc3QgU3RlbmNpbEZhY2VTdGF0ZSYpOwogICAgIHN0ZDo6b3B0aW9uYWw8
UEFMOjpXZWJHUFU6OlN0b3JhZ2VUZXh0dXJlQmluZGluZ0xheW91dD4gY29udmVydEZyb21CYWNr
aW5nKGNvbnN0IFN0b3JhZ2VUZXh0dXJlQmluZGluZ0xheW91dCYpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVUNvbnZlcnRUb0JhY2tpbmdDb250ZXh0Lmgg
Yi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVQ29udmVydFRvQmFja2luZ0NvbnRl
eHQuaAppbmRleCBhNTMzODc2NzhjYjlkNzVhMjc2ZTQ2Mzc1NDFkMzE2MDY5YjA3ZDljLi5kZTg0
MGUzNzg1OTRjYjJjY2RlZWY3ZDI1NWNjNWY2ZWM0ZGM0OTYxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVQ29udmVydFRvQmFja2luZ0NvbnRleHQuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVQ29udmVydFRvQmFja2luZ0NvbnRl
eHQuaApAQCAtMTExLDYgKzExMSw3IEBAIGNsYXNzIFNhbXBsZXI7CiBzdHJ1Y3QgU2FtcGxlckJp
bmRpbmdMYXlvdXQ7CiBzdHJ1Y3QgU2FtcGxlckRlc2NyaXB0b3I7CiBjbGFzcyBTaGFkZXJNb2R1
bGU7CitzdHJ1Y3QgU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50Owogc3RydWN0IFNoYWRlck1v
ZHVsZURlc2NyaXB0b3I7CiBzdHJ1Y3QgU3RlbmNpbEZhY2VTdGF0ZTsKIHN0cnVjdCBTdG9yYWdl
VGV4dHVyZUJpbmRpbmdMYXlvdXQ7CkBAIC0xNzUsNiArMTc2LDcgQEAgc3RydWN0IFJlbmRlclBp
cGVsaW5lRGVzY3JpcHRvcjsKIHN0cnVjdCBSZXF1ZXN0QWRhcHRlck9wdGlvbnM7CiBzdHJ1Y3Qg
U2FtcGxlckJpbmRpbmdMYXlvdXQ7CiBzdHJ1Y3QgU2FtcGxlckRlc2NyaXB0b3I7CitzdHJ1Y3Qg
U2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50Owogc3RydWN0IFNoYWRlck1vZHVsZURlc2NyaXB0
b3I7CiBzdHJ1Y3QgU3RlbmNpbEZhY2VTdGF0ZTsKIHN0cnVjdCBTdG9yYWdlVGV4dHVyZUJpbmRp
bmdMYXlvdXQ7CkBAIC0yNTAsNiArMjUyLDcgQEAgcHVibGljOgogICAgIHN0ZDo6b3B0aW9uYWw8
UmVxdWVzdEFkYXB0ZXJPcHRpb25zPiBjb252ZXJ0VG9CYWNraW5nKGNvbnN0IFBBTDo6V2ViR1BV
OjpSZXF1ZXN0QWRhcHRlck9wdGlvbnMmKTsKICAgICBzdGQ6Om9wdGlvbmFsPFNhbXBsZXJCaW5k
aW5nTGF5b3V0PiBjb252ZXJ0VG9CYWNraW5nKGNvbnN0IFBBTDo6V2ViR1BVOjpTYW1wbGVyQmlu
ZGluZ0xheW91dCYpOwogICAgIHN0ZDo6b3B0aW9uYWw8U2FtcGxlckRlc2NyaXB0b3I+IGNvbnZl
cnRUb0JhY2tpbmcoY29uc3QgUEFMOjpXZWJHUFU6OlNhbXBsZXJEZXNjcmlwdG9yJik7CisgICAg
c3RkOjpvcHRpb25hbDxTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQ+IGNvbnZlcnRUb0JhY2tp
bmcoY29uc3QgUEFMOjpXZWJHUFU6OlNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludCYpOwogICAg
IHN0ZDo6b3B0aW9uYWw8U2hhZGVyTW9kdWxlRGVzY3JpcHRvcj4gY29udmVydFRvQmFja2luZyhj
b25zdCBQQUw6OldlYkdQVTo6U2hhZGVyTW9kdWxlRGVzY3JpcHRvciYpOwogICAgIHN0ZDo6b3B0
aW9uYWw8U3RlbmNpbEZhY2VTdGF0ZT4gY29udmVydFRvQmFja2luZyhjb25zdCBQQUw6OldlYkdQ
VTo6U3RlbmNpbEZhY2VTdGF0ZSYpOwogICAgIHN0ZDo6b3B0aW9uYWw8U3RvcmFnZVRleHR1cmVC
aW5kaW5nTGF5b3V0PiBjb252ZXJ0VG9CYWNraW5nKGNvbnN0IFBBTDo6V2ViR1BVOjpTdG9yYWdl
VGV4dHVyZUJpbmRpbmdMYXlvdXQmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L1dlYkdQVS9XZWJHUFVGcmFnbWVudFN0YXRlLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dl
YkdQVS9XZWJHUFVGcmFnbWVudFN0YXRlLmNwcAppbmRleCA1ZjA3MDEzMzNkY2RkMmJkMjc4YmZk
ZWI4NzNlMDU4YzBjMDU1MjI3Li5hYzU4YTM2OGQxNmNmYzgxZjczODg4ZGVhYjBhMzc4ZTBjMzAw
OTdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVRnJhZ21l
bnRTdGF0ZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVUZyYWdt
ZW50U3RhdGUuY3BwCkBAIC00MCwxMyArNDAsMTYgQEAgc3RkOjpvcHRpb25hbDxGcmFnbWVudFN0
YXRlPiBDb252ZXJ0VG9CYWNraW5nQ29udGV4dDo6Y29udmVydFRvQmFja2luZyhjb25zdCBQQUwK
ICAgICBpZiAoIWJhc2UpCiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAKLSAgICBWZWN0
b3I8Q29sb3JUYXJnZXRTdGF0ZT4gdGFyZ2V0czsKKyAgICBWZWN0b3I8c3RkOjpvcHRpb25hbDxD
b2xvclRhcmdldFN0YXRlPj4gdGFyZ2V0czsKICAgICB0YXJnZXRzLnJlc2VydmVJbml0aWFsQ2Fw
YWNpdHkoZnJhZ21lbnRTdGF0ZS50YXJnZXRzLnNpemUoKSk7CiAgICAgZm9yIChjb25zdCBhdXRv
JiB0YXJnZXQgOiBmcmFnbWVudFN0YXRlLnRhcmdldHMpIHsKLSAgICAgICAgYXV0byBjb252ZXJ0
ZWRUYXJnZXQgPSBjb252ZXJ0VG9CYWNraW5nKHRhcmdldCk7Ci0gICAgICAgIGlmICghY29udmVy
dGVkVGFyZ2V0KQotICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKLSAgICAgICAgdGFy
Z2V0cy51bmNoZWNrZWRBcHBlbmQoV1RGTW92ZSgqY29udmVydGVkVGFyZ2V0KSk7CisgICAgICAg
IGlmICh0YXJnZXQpIHsKKyAgICAgICAgICAgIGF1dG8gY29udmVydGVkVGFyZ2V0ID0gY29udmVy
dFRvQmFja2luZygqdGFyZ2V0KTsKKyAgICAgICAgICAgIGlmICghY29udmVydGVkVGFyZ2V0KQor
ICAgICAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisgICAgICAgICAgICB0YXJnZXRz
LnVuY2hlY2tlZEFwcGVuZChXVEZNb3ZlKCpjb252ZXJ0ZWRUYXJnZXQpKTsKKyAgICAgICAgfSBl
bHNlCisgICAgICAgICAgICB0YXJnZXRzLnVuY2hlY2tlZEFwcGVuZChzdGQ6Om51bGxvcHQpOwog
ICAgIH0KIAogICAgIHJldHVybiB7IHsgV1RGTW92ZSgqYmFzZSksIFdURk1vdmUodGFyZ2V0cykg
fSB9OwpAQCAtNTgsMTMgKzYxLDE2IEBAIHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OkZyYWdt
ZW50U3RhdGU+IENvbnZlcnRGcm9tQmFja2luZ0NvbnRleHQ6OmNvbnZlcnRGcm9tCiAgICAgaWYg
KCFiYXNlKQogICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogCi0gICAgVmVjdG9yPFBBTDo6
V2ViR1BVOjpDb2xvclRhcmdldFN0YXRlPiB0YXJnZXRzOworICAgIFZlY3RvcjxzdGQ6Om9wdGlv
bmFsPFBBTDo6V2ViR1BVOjpDb2xvclRhcmdldFN0YXRlPj4gdGFyZ2V0czsKICAgICB0YXJnZXRz
LnJlc2VydmVJbml0aWFsQ2FwYWNpdHkoZnJhZ21lbnRTdGF0ZS50YXJnZXRzLnNpemUoKSk7CiAg
ICAgZm9yIChjb25zdCBhdXRvJiBiYWNraW5nVGFyZ2V0IDogZnJhZ21lbnRTdGF0ZS50YXJnZXRz
KSB7Ci0gICAgICAgIGF1dG8gdGFyZ2V0ID0gY29udmVydEZyb21CYWNraW5nKGJhY2tpbmdUYXJn
ZXQpOwotICAgICAgICBpZiAoIXRhcmdldCkKLSAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxv
cHQ7Ci0gICAgICAgIHRhcmdldHMudW5jaGVja2VkQXBwZW5kKFdURk1vdmUoKnRhcmdldCkpOwor
ICAgICAgICBpZiAoYmFja2luZ1RhcmdldCkgeworICAgICAgICAgICAgYXV0byB0YXJnZXQgPSBj
b252ZXJ0RnJvbUJhY2tpbmcoKmJhY2tpbmdUYXJnZXQpOworICAgICAgICAgICAgaWYgKCF0YXJn
ZXQpCisgICAgICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKyAgICAgICAgICAgIHRh
cmdldHMudW5jaGVja2VkQXBwZW5kKFdURk1vdmUoKnRhcmdldCkpOworICAgICAgICB9IGVsc2UK
KyAgICAgICAgICAgIHRhcmdldHMudW5jaGVja2VkQXBwZW5kKHN0ZDo6bnVsbG9wdCk7CiAgICAg
fQogCiAgICAgcmV0dXJuIHsgeyBXVEZNb3ZlKCpiYXNlKSwgV1RGTW92ZSh0YXJnZXRzKSB9IH07
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVRnJhZ21lbnRT
dGF0ZS5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVUZyYWdtZW50U3RhdGUu
aAppbmRleCAyODdiY2M0N2Q5NGI0ZGVmNTFjY2Y2YjEwYmFjNjk3OWY4ZDI1MzljLi5jYmI0OGM5
YTQ2ZTZkMDk2OWQxNDM4ODA4MmIzYTU0NWE1MWQ0YTcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVRnJhZ21lbnRTdGF0ZS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVGcmFnbWVudFN0YXRlLmgKQEAgLTM1LDcgKzM1LDcgQEAK
IG5hbWVzcGFjZSBXZWJLaXQ6OldlYkdQVSB7CiAKIHN0cnVjdCBGcmFnbWVudFN0YXRlIDogcHVi
bGljIFByb2dyYW1tYWJsZVN0YWdlIHsKLSAgICBWZWN0b3I8Q29sb3JUYXJnZXRTdGF0ZT4gdGFy
Z2V0czsKKyAgICBWZWN0b3I8c3RkOjpvcHRpb25hbDxDb2xvclRhcmdldFN0YXRlPj4gdGFyZ2V0
czsKIAogICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImIGVu
Y29kZXIpIGNvbnN0CiAgICAgewpAQCAtNTAsNyArNTAsNyBAQCBzdHJ1Y3QgRnJhZ21lbnRTdGF0
ZSA6IHB1YmxpYyBQcm9ncmFtbWFibGVTdGFnZSB7CiAgICAgICAgIGlmICghcHJvZ3JhbW1hYmxl
U3RhZ2UpCiAgICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogCi0gICAgICAgIHN0ZDo6
b3B0aW9uYWw8VmVjdG9yPENvbG9yVGFyZ2V0U3RhdGU+PiB0YXJnZXRzOworICAgICAgICBzdGQ6
Om9wdGlvbmFsPFZlY3RvcjxzdGQ6Om9wdGlvbmFsPENvbG9yVGFyZ2V0U3RhdGU+Pj4gdGFyZ2V0
czsKICAgICAgICAgZGVjb2RlciA+PiB0YXJnZXRzOwogICAgICAgICBpZiAoIXRhcmdldHMpCiAg
ICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9TaGFyZWQvV2ViR1BVL1dlYkdQVUltYWdlQ29weUV4dGVybmFsSW1hZ2UuY3BwIGIvU291cmNl
L1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVUltYWdlQ29weUV4dGVybmFsSW1hZ2UuY3BwCmlu
ZGV4IDg2ODY4M2QxZDQ5OGI1ZmMxMTcyNDkzNzFjNTNiNDE4ZDNjYTMxY2UuLmFjODI2OGNlOWE5
ZjFmZmIzZjM3MDI4NTUxYWYxOGY3ZGEyMWZkMzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL1dlYkdQVS9XZWJHUFVJbWFnZUNvcHlFeHRlcm5hbEltYWdlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVSW1hZ2VDb3B5RXh0ZXJuYWxJbWFnZS5jcHAK
QEAgLTM4LDI0ICszOCwyNCBAQCBzdGQ6Om9wdGlvbmFsPEltYWdlQ29weUV4dGVybmFsSW1hZ2U+
IENvbnZlcnRUb0JhY2tpbmdDb250ZXh0Ojpjb252ZXJ0VG9CYWNraW5nKAogewogICAgIHN0ZDo6
b3B0aW9uYWw8T3JpZ2luMkQ+IG9yaWdpbjsKICAgICBpZiAoaW1hZ2VDb3B5RXh0ZXJuYWxJbWFn
ZS5vcmlnaW4pIHsKLSAgICAgICAgYXV0byBjb252ZXJ0ZWRPcmlnaW4gPSBjb252ZXJ0VG9CYWNr
aW5nKCppbWFnZUNvcHlFeHRlcm5hbEltYWdlLm9yaWdpbik7Ci0gICAgICAgIGlmICghY29udmVy
dGVkT3JpZ2luKQorICAgICAgICBvcmlnaW4gPSBjb252ZXJ0VG9CYWNraW5nKCppbWFnZUNvcHlF
eHRlcm5hbEltYWdlLm9yaWdpbik7CisgICAgICAgIGlmICghb3JpZ2luKQogICAgICAgICAgICAg
cmV0dXJuIHN0ZDo6bnVsbG9wdDsKICAgICB9CiAKLSAgICByZXR1cm4geyB7IFdURk1vdmUob3Jp
Z2luKSB9IH07CisgICAgcmV0dXJuIHsgeyBXVEZNb3ZlKG9yaWdpbiksIGltYWdlQ29weUV4dGVy
bmFsSW1hZ2UuZmxpcFkgfSB9OwogfQogCiBzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpJbWFn
ZUNvcHlFeHRlcm5hbEltYWdlPiBDb252ZXJ0RnJvbUJhY2tpbmdDb250ZXh0Ojpjb252ZXJ0RnJv
bUJhY2tpbmcoY29uc3QgSW1hZ2VDb3B5RXh0ZXJuYWxJbWFnZSYgaW1hZ2VDb3B5RXh0ZXJuYWxJ
bWFnZSkKIHsKICAgICBzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpPcmlnaW4yRD4gb3JpZ2lu
OwogICAgIGlmIChpbWFnZUNvcHlFeHRlcm5hbEltYWdlLm9yaWdpbikgewotICAgICAgICBhdXRv
IG9yaWdpbiA9IGNvbnZlcnRGcm9tQmFja2luZygqaW1hZ2VDb3B5RXh0ZXJuYWxJbWFnZS5vcmln
aW4pOworICAgICAgICBvcmlnaW4gPSBjb252ZXJ0RnJvbUJhY2tpbmcoKmltYWdlQ29weUV4dGVy
bmFsSW1hZ2Uub3JpZ2luKTsKICAgICAgICAgaWYgKCFvcmlnaW4pCiAgICAgICAgICAgICByZXR1
cm4gc3RkOjpudWxsb3B0OwogICAgIH0KIAotICAgIHJldHVybiB7IHsgV1RGTW92ZShvcmlnaW4p
IH0gfTsKKyAgICByZXR1cm4geyB7IFdURk1vdmUob3JpZ2luKSwgaW1hZ2VDb3B5RXh0ZXJuYWxJ
bWFnZS5mbGlwWSB9IH07CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVUltYWdlQ29weUV4dGVybmFsSW1hZ2Uu
aCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVJbWFnZUNvcHlFeHRlcm5hbElt
YWdlLmgKaW5kZXggNWYyOTY2YzI2ZWNmMmVmYmU1OGRiYjM5NDMxZmEzYmFiNWE4ZjA2ZS4uZGZm
ZTVlMDhjMThhN2YxMzIwZWIyMjE2YjY1NDBhNmJhYmYwY2YyNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVUltYWdlQ29weUV4dGVybmFsSW1hZ2UuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVSW1hZ2VDb3B5RXh0ZXJuYWxJbWFn
ZS5oCkBAIC0zNiwxMCArMzYsMTIgQEAgbmFtZXNwYWNlIFdlYktpdDo6V2ViR1BVIHsKIHN0cnVj
dCBJbWFnZUNvcHlFeHRlcm5hbEltYWdlIHsKICAgICAvLyBGSVhNRTogSGFuZGxlIHRoZSBzb3Vy
Y2UuCiAgICAgc3RkOjpvcHRpb25hbDxPcmlnaW4yRD4gb3JpZ2luOworICAgIGJvb2wgZmxpcFkg
eyBmYWxzZSB9OwogCiAgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5j
b2RlciYgZW5jb2RlcikgY29uc3QKICAgICB7CiAgICAgICAgIGVuY29kZXIgPDwgb3JpZ2luOwor
ICAgICAgICBlbmNvZGVyIDw8IGZsaXBZOwogICAgIH0KIAogICAgIHRlbXBsYXRlPGNsYXNzIERl
Y29kZXI+IHN0YXRpYyBzdGQ6Om9wdGlvbmFsPEltYWdlQ29weUV4dGVybmFsSW1hZ2U+IGRlY29k
ZShEZWNvZGVyJiBkZWNvZGVyKQpAQCAtNDksNyArNTEsMTIgQEAgc3RydWN0IEltYWdlQ29weUV4
dGVybmFsSW1hZ2UgewogICAgICAgICBpZiAoIW9yaWdpbikKICAgICAgICAgICAgIHJldHVybiBz
dGQ6Om51bGxvcHQ7CiAKLSAgICAgICAgcmV0dXJuIHsgeyBXVEZNb3ZlKCpvcmlnaW4pIH0gfTsK
KyAgICAgICAgc3RkOjpvcHRpb25hbDxib29sPiBmbGlwWTsKKyAgICAgICAgZGVjb2RlciA+PiBm
bGlwWTsKKyAgICAgICAgaWYgKCFmbGlwWSkKKyAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxv
cHQ7CisKKyAgICAgICAgcmV0dXJuIHsgeyBXVEZNb3ZlKCpvcmlnaW4pLCBXVEZNb3ZlKCpmbGlw
WSkgfSB9OwogICAgIH0KIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dl
YkdQVS9XZWJHUFVJbWFnZUNvcHlUZXh0dXJlLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dl
YkdQVS9XZWJHUFVJbWFnZUNvcHlUZXh0dXJlLmNwcAppbmRleCA2MDkwODE5NTc1MzJmZDNmMjdi
YTIyMTkxNmFiN2E3MDY3MzNkZTczLi5kM2M3NWU0NjQ5NGEzY2I0ZmY3MGI1MTQyN2M5MjJjYjVl
ODNhMzNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVSW1h
Z2VDb3B5VGV4dHVyZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQ
VUltYWdlQ29weVRleHR1cmUuY3BwCkBAIC00Miw3ICs0Miw3IEBAIHN0ZDo6b3B0aW9uYWw8SW1h
Z2VDb3B5VGV4dHVyZT4gQ29udmVydFRvQmFja2luZ0NvbnRleHQ6OmNvbnZlcnRUb0JhY2tpbmco
Y29uc3QKIAogICAgIHN0ZDo6b3B0aW9uYWw8T3JpZ2luM0Q+IG9yaWdpbjsKICAgICBpZiAoaW1h
Z2VDb3B5VGV4dHVyZS5vcmlnaW4pIHsKLSAgICAgICAgYXV0byBvcmlnaW4gPSBjb252ZXJ0VG9C
YWNraW5nKCppbWFnZUNvcHlUZXh0dXJlLm9yaWdpbik7CisgICAgICAgIG9yaWdpbiA9IGNvbnZl
cnRUb0JhY2tpbmcoKmltYWdlQ29weVRleHR1cmUub3JpZ2luKTsKICAgICAgICAgaWYgKCFvcmln
aW4pCiAgICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogICAgIH0KQEAgLTU4LDcgKzU4
LDcgQEAgc3RkOjpvcHRpb25hbDxQQUw6OldlYkdQVTo6SW1hZ2VDb3B5VGV4dHVyZT4gQ29udmVy
dEZyb21CYWNraW5nQ29udGV4dDo6Y29udmVydEYKIAogICAgIHN0ZDo6b3B0aW9uYWw8UEFMOjpX
ZWJHUFU6Ok9yaWdpbjNEPiBvcmlnaW47CiAgICAgaWYgKGltYWdlQ29weVRleHR1cmUub3JpZ2lu
KSB7Ci0gICAgICAgIGF1dG8gb3JpZ2luID0gY29udmVydEZyb21CYWNraW5nKCppbWFnZUNvcHlU
ZXh0dXJlLm9yaWdpbik7CisgICAgICAgIG9yaWdpbiA9IGNvbnZlcnRGcm9tQmFja2luZygqaW1h
Z2VDb3B5VGV4dHVyZS5vcmlnaW4pOwogICAgICAgICBpZiAoIW9yaWdpbikKICAgICAgICAgICAg
IHJldHVybiBzdGQ6Om51bGxvcHQ7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9T
aGFyZWQvV2ViR1BVL1dlYkdQVVF1ZXJ5U2V0RGVzY3JpcHRvci5jcHAgYi9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9XZWJHUFUvV2ViR1BVUXVlcnlTZXREZXNjcmlwdG9yLmNwcAppbmRleCBhMDc2MTgy
MzEzOWUyOTJmMDUwNmQ3ZGZlNmJhNjdjNWI5MDkxNDY0Li4yYzQyZWJhZWNhNWFiZGNiNDg2NjQy
OGFlOWU2YWQ4ZGVlMGFmMzIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJH
UFUvV2ViR1BVUXVlcnlTZXREZXNjcmlwdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9XZWJHUFUvV2ViR1BVUXVlcnlTZXREZXNjcmlwdG9yLmNwcApAQCAtNDAsNyArNDAsNyBAQCBz
dGQ6Om9wdGlvbmFsPFF1ZXJ5U2V0RGVzY3JpcHRvcj4gQ29udmVydFRvQmFja2luZ0NvbnRleHQ6
OmNvbnZlcnRUb0JhY2tpbmcoY29ucwogICAgIGlmICghYmFzZSkKICAgICAgICAgcmV0dXJuIHN0
ZDo6bnVsbG9wdDsKIAotICAgIHJldHVybiB7IHsgV1RGTW92ZSgqYmFzZSksIHF1ZXJ5U2V0RGVz
Y3JpcHRvci50eXBlLCBxdWVyeVNldERlc2NyaXB0b3IuY291bnQsIHF1ZXJ5U2V0RGVzY3JpcHRv
ci5waXBlbGluZVN0YXRpc3RpY3MgfSB9OworICAgIHJldHVybiB7IHsgV1RGTW92ZSgqYmFzZSks
IHF1ZXJ5U2V0RGVzY3JpcHRvci50eXBlLCBxdWVyeVNldERlc2NyaXB0b3IuY291bnQgfSB9Owog
fQogCiBzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpRdWVyeVNldERlc2NyaXB0b3I+IENvbnZl
cnRGcm9tQmFja2luZ0NvbnRleHQ6OmNvbnZlcnRGcm9tQmFja2luZyhjb25zdCBRdWVyeVNldERl
c2NyaXB0b3ImIHF1ZXJ5U2V0RGVzY3JpcHRvcikKQEAgLTQ5LDcgKzQ5LDcgQEAgc3RkOjpvcHRp
b25hbDxQQUw6OldlYkdQVTo6UXVlcnlTZXREZXNjcmlwdG9yPiBDb252ZXJ0RnJvbUJhY2tpbmdD
b250ZXh0Ojpjb252ZXIKICAgICBpZiAoIWJhc2UpCiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxv
cHQ7CiAKLSAgICByZXR1cm4geyB7IFdURk1vdmUoKmJhc2UpLCBxdWVyeVNldERlc2NyaXB0b3Iu
dHlwZSwgcXVlcnlTZXREZXNjcmlwdG9yLmNvdW50LCBxdWVyeVNldERlc2NyaXB0b3IucGlwZWxp
bmVTdGF0aXN0aWNzIH0gfTsKKyAgICByZXR1cm4geyB7IFdURk1vdmUoKmJhc2UpLCBxdWVyeVNl
dERlc2NyaXB0b3IudHlwZSwgcXVlcnlTZXREZXNjcmlwdG9yLmNvdW50IH0gfTsKIH0KIAogfSAv
LyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJH
UFUvV2ViR1BVUXVlcnlTZXREZXNjcmlwdG9yLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJH
UFUvV2ViR1BVUXVlcnlTZXREZXNjcmlwdG9yLmgKaW5kZXggMWZkMjhjYzhiNTJjZmFmY2VmYjRi
MjM0MDMwMjBhNDE4MTlmNzExYy4uNzU3Njc5ZDY1NmZhNzIzYzc1N2E1MWZhOTMxOGNmNmE2NWQw
MTZiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVVF1ZXJ5
U2V0RGVzY3JpcHRvci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVR
dWVyeVNldERlc2NyaXB0b3IuaApAQCAtMzAsNyArMzAsNiBAQAogI2luY2x1ZGUgIldlYkdQVU9i
amVjdERlc2NyaXB0b3JCYXNlLmgiCiAjaW5jbHVkZSA8b3B0aW9uYWw+CiAjaW5jbHVkZSA8cGFs
L2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVJbnRlZ3JhbFR5cGVzLmg+Ci0jaW5jbHVkZSA8cGFsL2dy
YXBoaWNzL1dlYkdQVS9XZWJHUFVQaXBlbGluZVN0YXRpc3RpY05hbWUuaD4KICNpbmNsdWRlIDxw
YWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVF1ZXJ5VHlwZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0
b3IuaD4KIApAQCAtMzksMTQgKzM4LDEyIEBAIG5hbWVzcGFjZSBXZWJLaXQ6OldlYkdQVSB7CiBz
dHJ1Y3QgUXVlcnlTZXREZXNjcmlwdG9yIDogcHVibGljIE9iamVjdERlc2NyaXB0b3JCYXNlIHsK
ICAgICBQQUw6OldlYkdQVTo6UXVlcnlUeXBlIHR5cGUgeyBQQUw6OldlYkdQVTo6UXVlcnlUeXBl
OjpPY2NsdXNpb24gfTsKICAgICBQQUw6OldlYkdQVTo6U2l6ZTMyIGNvdW50IHsgMCB9OwotICAg
IFZlY3RvcjxQQUw6OldlYkdQVTo6UGlwZWxpbmVTdGF0aXN0aWNOYW1lPiBwaXBlbGluZVN0YXRp
c3RpY3M7CiAKICAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVy
JiBlbmNvZGVyKSBjb25zdAogICAgIHsKICAgICAgICAgZW5jb2RlciA8PCBzdGF0aWNfY2FzdDxj
b25zdCBPYmplY3REZXNjcmlwdG9yQmFzZSY+KCp0aGlzKTsKICAgICAgICAgZW5jb2RlciA8PCB0
eXBlOwogICAgICAgICBlbmNvZGVyIDw8IGNvdW50OwotICAgICAgICBlbmNvZGVyIDw8IHBpcGVs
aW5lU3RhdGlzdGljczsKICAgICB9CiAKICAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0
aWMgc3RkOjpvcHRpb25hbDxRdWVyeVNldERlc2NyaXB0b3I+IGRlY29kZShEZWNvZGVyJiBkZWNv
ZGVyKQpAQCAtNjYsMTIgKzYzLDcgQEAgc3RydWN0IFF1ZXJ5U2V0RGVzY3JpcHRvciA6IHB1Ymxp
YyBPYmplY3REZXNjcmlwdG9yQmFzZSB7CiAgICAgICAgIGlmICghY291bnQpCiAgICAgICAgICAg
ICByZXR1cm4gc3RkOjpudWxsb3B0OwogCi0gICAgICAgIHN0ZDo6b3B0aW9uYWw8VmVjdG9yPFBB
TDo6V2ViR1BVOjpQaXBlbGluZVN0YXRpc3RpY05hbWU+PiBwaXBlbGluZVN0YXRpc3RpY3M7Ci0g
ICAgICAgIGRlY29kZXIgPj4gcGlwZWxpbmVTdGF0aXN0aWNzOwotICAgICAgICBpZiAoIXBpcGVs
aW5lU3RhdGlzdGljcykKLSAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7Ci0KLSAgICAg
ICAgcmV0dXJuIHsgeyBXVEZNb3ZlKCpvYmplY3REZXNjcmlwdG9yQmFzZSksIFdURk1vdmUoKnR5
cGUpLCBXVEZNb3ZlKCpjb3VudCksIFdURk1vdmUoKnBpcGVsaW5lU3RhdGlzdGljcykgfSB9Owor
ICAgICAgICByZXR1cm4geyB7IFdURk1vdmUoKm9iamVjdERlc2NyaXB0b3JCYXNlKSwgV1RGTW92
ZSgqdHlwZSksIFdURk1vdmUoKmNvdW50KSB9IH07CiAgICAgfQogfTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1l
bnQuY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVVJlbmRlclBhc3NDb2xv
ckF0dGFjaG1lbnQuY3BwCmluZGV4IGM0NzUwYmY3ZjVlNjBkZjY5ZjY0NjYyNzQ5ZTg0NzUzZWEw
YWMyNzIuLjViYjg2ZTE2MzdkZDRkMjdjM2ZhYzc3YjA1NTYxY2M3ZTIzYTY3OTEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVSZW5kZXJQYXNzQ29sb3JBdHRh
Y2htZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVUmVuZGVy
UGFzc0NvbG9yQXR0YWNobWVudC5jcHAKQEAgLTQ3LDIwICs0NywxNCBAQCBzdGQ6Om9wdGlvbmFs
PFJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQ+IENvbnZlcnRUb0JhY2tpbmdDb250ZXh0Ojpjb252
ZXJ0VG9CYWNraQogICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKICAgICB9CiAKLSAg
ICBhdXRvIGxvYWRWYWx1ZSA9IFdURjo6c3dpdGNoT24ocmVuZGVyUGFzc0NvbG9yQXR0YWNobWVu
dC5sb2FkVmFsdWUsIFtdIChQQUw6OldlYkdQVTo6TG9hZE9wIGxvYWRPcCkgLT4gc3RkOjpvcHRp
b25hbDxzdGQ6OnZhcmlhbnQ8UEFMOjpXZWJHUFU6OkxvYWRPcCwgVmVjdG9yPGRvdWJsZT4sIENv
bG9yRGljdD4+IHsKLSAgICAgICAgcmV0dXJuIHsgeyBsb2FkT3AgfSB9OwotICAgIH0sIFtdIChj
b25zdCBWZWN0b3I8ZG91YmxlPiYgdmVjdG9yKSAtPiBzdGQ6Om9wdGlvbmFsPHN0ZDo6dmFyaWFu
dDxQQUw6OldlYkdQVTo6TG9hZE9wLCBWZWN0b3I8ZG91YmxlPiwgQ29sb3JEaWN0Pj4gewotICAg
ICAgICByZXR1cm4geyB7IHZlY3RvciB9IH07Ci0gICAgfSwgW3RoaXNdIChjb25zdCBQQUw6Oldl
YkdQVTo6Q29sb3JEaWN0JiBjb2xvckRpY3QpIC0+IHN0ZDo6b3B0aW9uYWw8c3RkOjp2YXJpYW50
PFBBTDo6V2ViR1BVOjpMb2FkT3AsIFZlY3Rvcjxkb3VibGU+LCBDb2xvckRpY3Q+PiB7Ci0gICAg
ICAgIGF1dG8gYmFja2luZ0NvbG9yRGljdCA9IGNvbnZlcnRUb0JhY2tpbmcoY29sb3JEaWN0KTsK
LSAgICAgICAgaWYgKCFiYWNraW5nQ29sb3JEaWN0KQorICAgIHN0ZDo6b3B0aW9uYWw8Q29sb3I+
IGNsZWFyVmFsdWU7CisgICAgaWYgKHJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQuY2xlYXJWYWx1
ZSkgeworICAgICAgICBjbGVhclZhbHVlID0gY29udmVydFRvQmFja2luZygqcmVuZGVyUGFzc0Nv
bG9yQXR0YWNobWVudC5jbGVhclZhbHVlKTsKKyAgICAgICAgaWYgKCFjbGVhclZhbHVlKQogICAg
ICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKLSAgICAgICAgcmV0dXJuIHsgeyBXVEZNb3Zl
KCpiYWNraW5nQ29sb3JEaWN0KSB9IH07Ci0gICAgfSk7Ci0gICAgaWYgKCFsb2FkVmFsdWUpCi0g
ICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisgICAgfQogCi0gICAgcmV0dXJuIHsgeyB2aWV3
LCByZXNvbHZlVGFyZ2V0LCBXVEZNb3ZlKCpsb2FkVmFsdWUpLCByZW5kZXJQYXNzQ29sb3JBdHRh
Y2htZW50LnN0b3JlT3AgfSB9OworICAgIHJldHVybiB7IHsgdmlldywgcmVzb2x2ZVRhcmdldCwg
V1RGTW92ZShjbGVhclZhbHVlKSwgcmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudC5sb2FkT3AsIHJl
bmRlclBhc3NDb2xvckF0dGFjaG1lbnQuc3RvcmVPcCB9IH07CiB9CiAKIHN0ZDo6b3B0aW9uYWw8
UEFMOjpXZWJHUFU6OlJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQ+IENvbnZlcnRGcm9tQmFja2lu
Z0NvbnRleHQ6OmNvbnZlcnRGcm9tQmFja2luZyhjb25zdCBSZW5kZXJQYXNzQ29sb3JBdHRhY2ht
ZW50JiByZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50KQpAQCAtNzYsMjAgKzcwLDE0IEBAIHN0ZDo6
b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQ+IENvbnZlcnRG
cm9tQmFja2luZ0NvbnRleHQ6CiAgICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogICAg
IH0KIAotICAgIGF1dG8gbG9hZFZhbHVlID0gV1RGOjpzd2l0Y2hPbihyZW5kZXJQYXNzQ29sb3JB
dHRhY2htZW50LmxvYWRWYWx1ZSwgW10gKFBBTDo6V2ViR1BVOjpMb2FkT3AgbG9hZE9wKSAtPiBz
dGQ6Om9wdGlvbmFsPHN0ZDo6dmFyaWFudDxQQUw6OldlYkdQVTo6TG9hZE9wLCBWZWN0b3I8ZG91
YmxlPiwgUEFMOjpXZWJHUFU6OkNvbG9yRGljdD4+IHsKLSAgICAgICAgcmV0dXJuIHsgeyBsb2Fk
T3AgfSB9OwotICAgIH0sIFtdIChjb25zdCBWZWN0b3I8ZG91YmxlPiYgdmVjdG9yKSAtPiBzdGQ6
Om9wdGlvbmFsPHN0ZDo6dmFyaWFudDxQQUw6OldlYkdQVTo6TG9hZE9wLCBWZWN0b3I8ZG91Ymxl
PiwgUEFMOjpXZWJHUFU6OkNvbG9yRGljdD4+IHsKLSAgICAgICAgcmV0dXJuIHsgeyB2ZWN0b3Ig
fSB9OwotICAgIH0sIFt0aGlzXSAoY29uc3QgQ29sb3JEaWN0JiBjb2xvckRpY3QpIC0+IHN0ZDo6
b3B0aW9uYWw8c3RkOjp2YXJpYW50PFBBTDo6V2ViR1BVOjpMb2FkT3AsIFZlY3Rvcjxkb3VibGU+
LCBQQUw6OldlYkdQVTo6Q29sb3JEaWN0Pj4gewotICAgICAgICBhdXRvIGJhY2tpbmdDb2xvckRp
Y3QgPSBjb252ZXJ0RnJvbUJhY2tpbmcoY29sb3JEaWN0KTsKLSAgICAgICAgaWYgKCFiYWNraW5n
Q29sb3JEaWN0KQorICAgIHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OkNvbG9yPiBjbGVhclZh
bHVlOworICAgIGlmIChyZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50LmNsZWFyVmFsdWUpIHsKKyAg
ICAgICAgY2xlYXJWYWx1ZSA9IGNvbnZlcnRGcm9tQmFja2luZygqcmVuZGVyUGFzc0NvbG9yQXR0
YWNobWVudC5jbGVhclZhbHVlKTsKKyAgICAgICAgaWYgKCFjbGVhclZhbHVlKQogICAgICAgICAg
ICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKLSAgICAgICAgcmV0dXJuIHsgeyBXVEZNb3ZlKCpiYWNr
aW5nQ29sb3JEaWN0KSB9IH07Ci0gICAgfSk7Ci0gICAgaWYgKCFsb2FkVmFsdWUpCi0gICAgICAg
IHJldHVybiBzdGQ6Om51bGxvcHQ7CisgICAgfQogCi0gICAgcmV0dXJuIHsgeyAqdmlldywgcmVz
b2x2ZVRhcmdldCwgV1RGTW92ZSgqbG9hZFZhbHVlKSwgcmVuZGVyUGFzc0NvbG9yQXR0YWNobWVu
dC5zdG9yZU9wIH0gfTsKKyAgICByZXR1cm4geyB7ICp2aWV3LCByZXNvbHZlVGFyZ2V0LCBXVEZN
b3ZlKGNsZWFyVmFsdWUpLCByZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50LmxvYWRPcCwgcmVuZGVy
UGFzc0NvbG9yQXR0YWNobWVudC5zdG9yZU9wIH0gfTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2Vi
S2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVUmVuZGVy
UGFzc0NvbG9yQXR0YWNobWVudC5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQ
VVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQuaAppbmRleCBjMTZhMTRmZjBkNDY4YzYzNmY1NmM2
NmEwMTM2Yzc0MTgzM2EwYzIwLi43YmVhNDI0ODYwMDQ2YzJkMjA3MWFhYTI5OTUzMzk3MDgyYjY3
ZWFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVUmVuZGVy
UGFzc0NvbG9yQXR0YWNobWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9X
ZWJHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50LmgKQEAgLTQyLDE0ICs0MiwxNiBAQCBzdHJ1
Y3QgUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudCB7CiAgICAgV2ViR1BVSWRlbnRpZmllciB2aWV3
OwogICAgIFdlYkdQVUlkZW50aWZpZXIgcmVzb2x2ZVRhcmdldDsKIAotICAgIHN0ZDo6dmFyaWFu
dDxQQUw6OldlYkdQVTo6TG9hZE9wLCBWZWN0b3I8ZG91YmxlPiwgQ29sb3JEaWN0PiBsb2FkVmFs
dWU7CisgICAgc3RkOjpvcHRpb25hbDxDb2xvcj4gY2xlYXJWYWx1ZTsKKyAgICBQQUw6OldlYkdQ
VTo6TG9hZE9wIGxvYWRPcCB7IFBBTDo6V2ViR1BVOjpMb2FkT3A6OkxvYWQgfTsKICAgICBQQUw6
OldlYkdQVTo6U3RvcmVPcCBzdG9yZU9wIHsgUEFMOjpXZWJHUFU6OlN0b3JlT3A6OlN0b3JlIH07
CiAKICAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJiBlbmNv
ZGVyKSBjb25zdAogICAgIHsKICAgICAgICAgZW5jb2RlciA8PCB2aWV3OwogICAgICAgICBlbmNv
ZGVyIDw8IHJlc29sdmVUYXJnZXQ7Ci0gICAgICAgIGVuY29kZXIgPDwgbG9hZFZhbHVlOworICAg
ICAgICBlbmNvZGVyIDw8IGNsZWFyVmFsdWU7CisgICAgICAgIGVuY29kZXIgPDwgbG9hZE9wOwog
ICAgICAgICBlbmNvZGVyIDw8IHN0b3JlT3A7CiAgICAgfQogCkBAIC02NSw5ICs2NywxNCBAQCBz
dHJ1Y3QgUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudCB7CiAgICAgICAgIGlmICghcmVzb2x2ZVRh
cmdldCkKICAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAKLSAgICAgICAgc3RkOjpv
cHRpb25hbDxzdGQ6OnZhcmlhbnQ8UEFMOjpXZWJHUFU6OkxvYWRPcCwgVmVjdG9yPGRvdWJsZT4s
IENvbG9yRGljdD4+IGxvYWRWYWx1ZTsKLSAgICAgICAgZGVjb2RlciA+PiBsb2FkVmFsdWU7Ci0g
ICAgICAgIGlmICghbG9hZFZhbHVlKQorICAgICAgICBzdGQ6Om9wdGlvbmFsPHN0ZDo6b3B0aW9u
YWw8Q29sb3I+PiBjbGVhclZhbHVlOworICAgICAgICBkZWNvZGVyID4+IGNsZWFyVmFsdWU7Cisg
ICAgICAgIGlmICghY2xlYXJWYWx1ZSkKKyAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7
CisKKyAgICAgICAgc3RkOjpvcHRpb25hbDxQQUw6OldlYkdQVTo6TG9hZE9wPiBsb2FkT3A7Cisg
ICAgICAgIGRlY29kZXIgPj4gbG9hZE9wOworICAgICAgICBpZiAoIWxvYWRPcCkKICAgICAgICAg
ICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAKICAgICAgICAgc3RkOjpvcHRpb25hbDxQQUw6Oldl
YkdQVTo6U3RvcmVPcD4gc3RvcmVPcDsKQEAgLTc1LDcgKzgyLDcgQEAgc3RydWN0IFJlbmRlclBh
c3NDb2xvckF0dGFjaG1lbnQgewogICAgICAgICBpZiAoIXN0b3JlT3ApCiAgICAgICAgICAgICBy
ZXR1cm4gc3RkOjpudWxsb3B0OwogCi0gICAgICAgIHJldHVybiB7IHsgV1RGTW92ZSgqdmlldyks
IFdURk1vdmUoKnJlc29sdmVUYXJnZXQpLCBXVEZNb3ZlKCpsb2FkVmFsdWUpLCBXVEZNb3ZlKCpz
dG9yZU9wKSB9IH07CisgICAgICAgIHJldHVybiB7IHsgV1RGTW92ZSgqdmlldyksIFdURk1vdmUo
KnJlc29sdmVUYXJnZXQpLCBXVEZNb3ZlKCpjbGVhclZhbHVlKSwgV1RGTW92ZSgqbG9hZE9wKSwg
V1RGTW92ZSgqc3RvcmVPcCkgfSB9OwogICAgIH0KIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVSZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNobWVu
dC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVUmVuZGVyUGFzc0RlcHRo
U3RlbmNpbEF0dGFjaG1lbnQuY3BwCmluZGV4IDM2NjQxY2Q2Nzc2ODBjOGZlY2YzMWJmZTY5M2Yx
OTUwMzgxMmFhYjIuLjI4NTFjYzJmNGE1OGI0ZjI0NmM5NDNlNTVmM2Q1YzdlNTNjMWU4YWYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVSZW5kZXJQYXNzRGVw
dGhTdGVuY2lsQXR0YWNobWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BV
L1dlYkdQVVJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50LmNwcApAQCAtNDAsNyArNDAs
NyBAQCBzdGQ6Om9wdGlvbmFsPFJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50PiBDb252
ZXJ0VG9CYWNraW5nQ29udGV4dDo6Y29udmVydAogICAgIGlmICghdmlldykKICAgICAgICAgcmV0
dXJuIHN0ZDo6bnVsbG9wdDsKIAotICAgIHJldHVybiB7IHsgdmlldywgcmVuZGVyUGFzc0RlcHRo
U3RlbmNpbEF0dGFjaG1lbnQuZGVwdGhMb2FkVmFsdWUsIHJlbmRlclBhc3NEZXB0aFN0ZW5jaWxB
dHRhY2htZW50LmRlcHRoU3RvcmVPcCwgcmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQu
ZGVwdGhSZWFkT25seSwgcmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQuc3RlbmNpbExv
YWRWYWx1ZSwgcmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQuc3RlbmNpbFN0b3JlT3As
IHJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50LnN0ZW5jaWxSZWFkT25seSB9IH07Cisg
ICAgcmV0dXJuIHsgeyB2aWV3LCByZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNobWVudC5kZXB0
aENsZWFyVmFsdWUsIHJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50LmRlcHRoTG9hZE9w
LCByZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNobWVudC5kZXB0aFN0b3JlT3AsIHJlbmRlclBh
c3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50LmRlcHRoUmVhZE9ubHksIHJlbmRlclBhc3NEZXB0aFN0
ZW5jaWxBdHRhY2htZW50LnN0ZW5jaWxDbGVhclZhbHVlLCByZW5kZXJQYXNzRGVwdGhTdGVuY2ls
QXR0YWNobWVudC5zdGVuY2lsTG9hZE9wLCByZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNobWVu
dC5zdGVuY2lsU3RvcmVPcCwgcmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQuc3RlbmNp
bFJlYWRPbmx5IH0gfTsKIH0KIAogc3RkOjpvcHRpb25hbDxQQUw6OldlYkdQVTo6UmVuZGVyUGFz
c0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQ+IENvbnZlcnRGcm9tQmFja2luZ0NvbnRleHQ6OmNvbnZl
cnRGcm9tQmFja2luZyhjb25zdCBSZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNobWVudCYgcmVu
ZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQpCkBAIC00OSw3ICs0OSw3IEBAIHN0ZDo6b3B0
aW9uYWw8UEFMOjpXZWJHUFU6OlJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50PiBDb252
ZXJ0RnJvbUJhY2tpbmdDCiAgICAgaWYgKCF2aWV3KQogICAgICAgICByZXR1cm4gc3RkOjpudWxs
b3B0OwogCi0gICAgcmV0dXJuIHsgeyAqdmlldywgcmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFj
aG1lbnQuZGVwdGhMb2FkVmFsdWUsIHJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50LmRl
cHRoU3RvcmVPcCwgcmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQuZGVwdGhSZWFkT25s
eSwgcmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQuc3RlbmNpbExvYWRWYWx1ZSwgcmVu
ZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQuc3RlbmNpbFN0b3JlT3AsIHJlbmRlclBhc3NE
ZXB0aFN0ZW5jaWxBdHRhY2htZW50LnN0ZW5jaWxSZWFkT25seSB9IH07CisgICAgcmV0dXJuIHsg
eyAqdmlldywgcmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQuZGVwdGhDbGVhclZhbHVl
LCByZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNobWVudC5kZXB0aExvYWRPcCwgcmVuZGVyUGFz
c0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQuZGVwdGhTdG9yZU9wLCByZW5kZXJQYXNzRGVwdGhTdGVu
Y2lsQXR0YWNobWVudC5kZXB0aFJlYWRPbmx5LCByZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNo
bWVudC5zdGVuY2lsQ2xlYXJWYWx1ZSwgcmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQu
c3RlbmNpbExvYWRPcCwgcmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQuc3RlbmNpbFN0
b3JlT3AsIHJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50LnN0ZW5jaWxSZWFkT25seSB9
IH07CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9TaGFyZWQvV2ViR1BVL1dlYkdQVVJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50Lmgg
Yi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVUmVuZGVyUGFzc0RlcHRoU3RlbmNp
bEF0dGFjaG1lbnQuaAppbmRleCBiZTcxOGQyOGIyM2NmMDM3NjQ1ZjFiZGM5MGYwYzQyZWM3YjM0
MjdmLi41ZDQ3MzcwMjllMjdhMmY2MzljMjkzZGI3ZTUxODBhZGE1NDM4ZjBkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVUmVuZGVyUGFzc0RlcHRoU3RlbmNp
bEF0dGFjaG1lbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVUmVu
ZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQuaApAQCAtNDAsMjEgKzQwLDI1IEBAIG5hbWVz
cGFjZSBXZWJLaXQ6OldlYkdQVSB7CiBzdHJ1Y3QgUmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFj
aG1lbnQgewogICAgIFdlYkdQVUlkZW50aWZpZXIgdmlldzsKIAotICAgIHN0ZDo6dmFyaWFudDxQ
QUw6OldlYkdQVTo6TG9hZE9wLCBmbG9hdD4gZGVwdGhMb2FkVmFsdWU7Ci0gICAgUEFMOjpXZWJH
UFU6OlN0b3JlT3AgZGVwdGhTdG9yZU9wIHsgUEFMOjpXZWJHUFU6OlN0b3JlT3A6OlN0b3JlIH07
CisgICAgZmxvYXQgZGVwdGhDbGVhclZhbHVlIHsgMCB9OworICAgIHN0ZDo6b3B0aW9uYWw8UEFM
OjpXZWJHUFU6OkxvYWRPcD4gZGVwdGhMb2FkT3A7CisgICAgc3RkOjpvcHRpb25hbDxQQUw6Oldl
YkdQVTo6U3RvcmVPcD4gZGVwdGhTdG9yZU9wOwogICAgIGJvb2wgZGVwdGhSZWFkT25seSB7IGZh
bHNlIH07CiAKLSAgICBzdGQ6OnZhcmlhbnQ8UEFMOjpXZWJHUFU6OkxvYWRPcCwgUEFMOjpXZWJH
UFU6OlN0ZW5jaWxWYWx1ZT4gc3RlbmNpbExvYWRWYWx1ZTsKLSAgICBQQUw6OldlYkdQVTo6U3Rv
cmVPcCBzdGVuY2lsU3RvcmVPcCB7IFBBTDo6V2ViR1BVOjpTdG9yZU9wOjpTdG9yZSB9OworICAg
IFBBTDo6V2ViR1BVOjpTdGVuY2lsVmFsdWUgc3RlbmNpbENsZWFyVmFsdWUgeyAwIH07CisgICAg
c3RkOjpvcHRpb25hbDxQQUw6OldlYkdQVTo6TG9hZE9wPiBzdGVuY2lsTG9hZE9wOworICAgIHN0
ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlN0b3JlT3A+IHN0ZW5jaWxTdG9yZU9wOwogICAgIGJv
b2wgc3RlbmNpbFJlYWRPbmx5IHsgZmFsc2UgfTsKIAogICAgIHRlbXBsYXRlPGNsYXNzIEVuY29k
ZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0CiAgICAgewogICAgICAgICBl
bmNvZGVyIDw8IHZpZXc7Ci0gICAgICAgIGVuY29kZXIgPDwgZGVwdGhMb2FkVmFsdWU7CisgICAg
ICAgIGVuY29kZXIgPDwgZGVwdGhDbGVhclZhbHVlOworICAgICAgICBlbmNvZGVyIDw8IGRlcHRo
TG9hZE9wOwogICAgICAgICBlbmNvZGVyIDw8IGRlcHRoU3RvcmVPcDsKICAgICAgICAgZW5jb2Rl
ciA8PCBkZXB0aFJlYWRPbmx5OwotICAgICAgICBlbmNvZGVyIDw8IHN0ZW5jaWxMb2FkVmFsdWU7
CisgICAgICAgIGVuY29kZXIgPDwgc3RlbmNpbENsZWFyVmFsdWU7CisgICAgICAgIGVuY29kZXIg
PDwgc3RlbmNpbExvYWRPcDsKICAgICAgICAgZW5jb2RlciA8PCBzdGVuY2lsU3RvcmVPcDsKICAg
ICAgICAgZW5jb2RlciA8PCBzdGVuY2lsUmVhZE9ubHk7CiAgICAgfQpAQCAtNjYsMTIgKzcwLDE3
IEBAIHN0cnVjdCBSZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNobWVudCB7CiAgICAgICAgIGlm
ICghdmlldykKICAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAKLSAgICAgICAgc3Rk
OjpvcHRpb25hbDxzdGQ6OnZhcmlhbnQ8UEFMOjpXZWJHUFU6OkxvYWRPcCwgZmxvYXQ+PiBkZXB0
aExvYWRWYWx1ZTsKLSAgICAgICAgZGVjb2RlciA+PiBkZXB0aExvYWRWYWx1ZTsKLSAgICAgICAg
aWYgKCFkZXB0aExvYWRWYWx1ZSkKKyAgICAgICAgc3RkOjpvcHRpb25hbDxmbG9hdD4gZGVwdGhD
bGVhclZhbHVlOworICAgICAgICBkZWNvZGVyID4+IGRlcHRoQ2xlYXJWYWx1ZTsKKyAgICAgICAg
aWYgKCFkZXB0aENsZWFyVmFsdWUpCiAgICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0Owog
Ci0gICAgICAgIHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlN0b3JlT3A+IGRlcHRoU3RvcmVP
cDsKKyAgICAgICAgc3RkOjpvcHRpb25hbDxzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpMb2Fk
T3A+PiBkZXB0aExvYWRPcDsKKyAgICAgICAgZGVjb2RlciA+PiBkZXB0aExvYWRPcDsKKyAgICAg
ICAgaWYgKCFkZXB0aExvYWRPcCkKKyAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisK
KyAgICAgICAgc3RkOjpvcHRpb25hbDxzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpTdG9yZU9w
Pj4gZGVwdGhTdG9yZU9wOwogICAgICAgICBkZWNvZGVyID4+IGRlcHRoU3RvcmVPcDsKICAgICAg
ICAgaWYgKCFkZXB0aFN0b3JlT3ApCiAgICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwpA
QCAtODEsMTIgKzkwLDE3IEBAIHN0cnVjdCBSZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNobWVu
dCB7CiAgICAgICAgIGlmICghZGVwdGhSZWFkT25seSkKICAgICAgICAgICAgIHJldHVybiBzdGQ6
Om51bGxvcHQ7CiAKLSAgICAgICAgc3RkOjpvcHRpb25hbDxzdGQ6OnZhcmlhbnQ8UEFMOjpXZWJH
UFU6OkxvYWRPcCwgUEFMOjpXZWJHUFU6OlN0ZW5jaWxWYWx1ZT4+IHN0ZW5jaWxMb2FkVmFsdWU7
Ci0gICAgICAgIGRlY29kZXIgPj4gc3RlbmNpbExvYWRWYWx1ZTsKLSAgICAgICAgaWYgKCFzdGVu
Y2lsTG9hZFZhbHVlKQorICAgICAgICBzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpTdGVuY2ls
VmFsdWU+IHN0ZW5jaWxDbGVhclZhbHVlOworICAgICAgICBkZWNvZGVyID4+IHN0ZW5jaWxDbGVh
clZhbHVlOworICAgICAgICBpZiAoIXN0ZW5jaWxDbGVhclZhbHVlKQorICAgICAgICAgICAgcmV0
dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgICAgICBzdGQ6Om9wdGlvbmFsPHN0ZDo6b3B0aW9uYWw8
UEFMOjpXZWJHUFU6OkxvYWRPcD4+IHN0ZW5jaWxMb2FkT3A7CisgICAgICAgIGRlY29kZXIgPj4g
c3RlbmNpbExvYWRPcDsKKyAgICAgICAgaWYgKCFzdGVuY2lsTG9hZE9wKQogICAgICAgICAgICAg
cmV0dXJuIHN0ZDo6bnVsbG9wdDsKIAotICAgICAgICBzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BV
OjpTdG9yZU9wPiBzdGVuY2lsU3RvcmVPcDsKKyAgICAgICAgc3RkOjpvcHRpb25hbDxzdGQ6Om9w
dGlvbmFsPFBBTDo6V2ViR1BVOjpTdG9yZU9wPj4gc3RlbmNpbFN0b3JlT3A7CiAgICAgICAgIGRl
Y29kZXIgPj4gc3RlbmNpbFN0b3JlT3A7CiAgICAgICAgIGlmICghc3RlbmNpbFN0b3JlT3ApCiAg
ICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwpAQCAtOTYsNyArMTEwLDcgQEAgc3RydWN0
IFJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50IHsKICAgICAgICAgaWYgKCFzdGVuY2ls
UmVhZE9ubHkpCiAgICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogCi0gICAgICAgIHJl
dHVybiB7IHsgV1RGTW92ZSgqdmlldyksIFdURk1vdmUoKmRlcHRoTG9hZFZhbHVlKSwgV1RGTW92
ZSgqZGVwdGhTdG9yZU9wKSwgV1RGTW92ZSgqZGVwdGhSZWFkT25seSksIFdURk1vdmUoKnN0ZW5j
aWxMb2FkVmFsdWUpLCBXVEZNb3ZlKCpzdGVuY2lsU3RvcmVPcCksIFdURk1vdmUoKnN0ZW5jaWxS
ZWFkT25seSkgfSB9OworICAgICAgICByZXR1cm4geyB7IFdURk1vdmUoKnZpZXcpLCBXVEZNb3Zl
KCpkZXB0aENsZWFyVmFsdWUpLCBXVEZNb3ZlKCpkZXB0aExvYWRPcCksIFdURk1vdmUoKmRlcHRo
U3RvcmVPcCksIFdURk1vdmUoKmRlcHRoUmVhZE9ubHkpLCBXVEZNb3ZlKCpzdGVuY2lsQ2xlYXJW
YWx1ZSksIFdURk1vdmUoKnN0ZW5jaWxMb2FkT3ApLCBXVEZNb3ZlKCpzdGVuY2lsU3RvcmVPcCks
IFdURk1vdmUoKnN0ZW5jaWxSZWFkT25seSkgfSB9OwogICAgIH0KIH07CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVSZW5kZXJQYXNzRGVzY3JpcHRvci5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVUmVuZGVyUGFzc0Rlc2NyaXB0
b3IuY3BwCmluZGV4IDEzMmNmYTViOGZkY2MxYmQ3ODlmNmFiYmVlMjZlMjg0NjQyMjYyYTUuLjQ4
NWVjYzU4YzM0NzQyODllMGIwYjA2MGRhNjcwNmMxMzljMzVkYWIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVSZW5kZXJQYXNzRGVzY3JpcHRvci5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVVJlbmRlclBhc3NEZXNjcmlwdG9y
LmNwcApAQCAtNDAsMTMgKzQwLDE2IEBAIHN0ZDo6b3B0aW9uYWw8UmVuZGVyUGFzc0Rlc2NyaXB0
b3I+IENvbnZlcnRUb0JhY2tpbmdDb250ZXh0Ojpjb252ZXJ0VG9CYWNraW5nKGNvCiAgICAgaWYg
KCFiYXNlKQogICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogCi0gICAgVmVjdG9yPFJlbmRl
clBhc3NDb2xvckF0dGFjaG1lbnQ+IGNvbG9yQXR0YWNobWVudHM7CisgICAgVmVjdG9yPHN0ZDo6
b3B0aW9uYWw8UmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudD4+IGNvbG9yQXR0YWNobWVudHM7CiAg
ICAgY29sb3JBdHRhY2htZW50cy5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KHJlbmRlclBhc3NEZXNj
cmlwdG9yLmNvbG9yQXR0YWNobWVudHMuc2l6ZSgpKTsKICAgICBmb3IgKGNvbnN0IGF1dG8mIGNv
bG9yQXR0YWNobWVudCA6IHJlbmRlclBhc3NEZXNjcmlwdG9yLmNvbG9yQXR0YWNobWVudHMpIHsK
LSAgICAgICAgYXV0byBiYWNraW5nQ29sb3JBdHRhY2htZW50ID0gY29udmVydFRvQmFja2luZyhj
b2xvckF0dGFjaG1lbnQpOwotICAgICAgICBpZiAoIWJhY2tpbmdDb2xvckF0dGFjaG1lbnQpCi0g
ICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwotICAgICAgICBjb2xvckF0dGFjaG1lbnRz
LnVuY2hlY2tlZEFwcGVuZChXVEZNb3ZlKCpiYWNraW5nQ29sb3JBdHRhY2htZW50KSk7CisgICAg
ICAgIGlmIChjb2xvckF0dGFjaG1lbnQpIHsKKyAgICAgICAgICAgIGF1dG8gYmFja2luZ0NvbG9y
QXR0YWNobWVudCA9IGNvbnZlcnRUb0JhY2tpbmcoKmNvbG9yQXR0YWNobWVudCk7CisgICAgICAg
ICAgICBpZiAoIWJhY2tpbmdDb2xvckF0dGFjaG1lbnQpCisgICAgICAgICAgICAgICAgcmV0dXJu
IHN0ZDo6bnVsbG9wdDsKKyAgICAgICAgICAgIGNvbG9yQXR0YWNobWVudHMudW5jaGVja2VkQXBw
ZW5kKFdURk1vdmUoKmJhY2tpbmdDb2xvckF0dGFjaG1lbnQpKTsKKyAgICAgICAgfSBlbHNlCisg
ICAgICAgICAgICBjb2xvckF0dGFjaG1lbnRzLnVuY2hlY2tlZEFwcGVuZChzdGQ6Om51bGxvcHQp
OwogICAgIH0KIAogICAgIHN0ZDo6b3B0aW9uYWw8UmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFj
aG1lbnQ+IGRlcHRoU3RlbmNpbEF0dGFjaG1lbnQ7CkBAIC03NiwxMyArNzksMTYgQEAgc3RkOjpv
cHRpb25hbDxQQUw6OldlYkdQVTo6UmVuZGVyUGFzc0Rlc2NyaXB0b3I+IENvbnZlcnRGcm9tQmFj
a2luZ0NvbnRleHQ6OmNvbnYKICAgICBpZiAoIWJhc2UpCiAgICAgICAgIHJldHVybiBzdGQ6Om51
bGxvcHQ7CiAKLSAgICBWZWN0b3I8UEFMOjpXZWJHUFU6OlJlbmRlclBhc3NDb2xvckF0dGFjaG1l
bnQ+IGNvbG9yQXR0YWNobWVudHM7CisgICAgVmVjdG9yPHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJH
UFU6OlJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQ+PiBjb2xvckF0dGFjaG1lbnRzOwogICAgIGNv
bG9yQXR0YWNobWVudHMucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShyZW5kZXJQYXNzRGVzY3JpcHRv
ci5jb2xvckF0dGFjaG1lbnRzLnNpemUoKSk7CiAgICAgZm9yIChjb25zdCBhdXRvJiBiYWNraW5n
Q29sb3JBdHRhY2htZW50IDogcmVuZGVyUGFzc0Rlc2NyaXB0b3IuY29sb3JBdHRhY2htZW50cykg
ewotICAgICAgICBhdXRvIGNvbG9yQXR0YWNobWVudCA9IGNvbnZlcnRGcm9tQmFja2luZyhiYWNr
aW5nQ29sb3JBdHRhY2htZW50KTsKLSAgICAgICAgaWYgKCFjb2xvckF0dGFjaG1lbnQpCi0gICAg
ICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwotICAgICAgICBjb2xvckF0dGFjaG1lbnRzLnVu
Y2hlY2tlZEFwcGVuZChXVEZNb3ZlKCpjb2xvckF0dGFjaG1lbnQpKTsKKyAgICAgICAgaWYgKGJh
Y2tpbmdDb2xvckF0dGFjaG1lbnQpIHsKKyAgICAgICAgICAgIGF1dG8gY29sb3JBdHRhY2htZW50
ID0gY29udmVydEZyb21CYWNraW5nKCpiYWNraW5nQ29sb3JBdHRhY2htZW50KTsKKyAgICAgICAg
ICAgIGlmICghY29sb3JBdHRhY2htZW50KQorICAgICAgICAgICAgICAgIHJldHVybiBzdGQ6Om51
bGxvcHQ7CisgICAgICAgICAgICBjb2xvckF0dGFjaG1lbnRzLnVuY2hlY2tlZEFwcGVuZChXVEZN
b3ZlKCpjb2xvckF0dGFjaG1lbnQpKTsKKyAgICAgICAgfSBlbHNlCisgICAgICAgICAgICBjb2xv
ckF0dGFjaG1lbnRzLnVuY2hlY2tlZEFwcGVuZChzdGQ6Om51bGxvcHQpOwogICAgIH0KIAogICAg
IGF1dG8gZGVwdGhTdGVuY2lsQXR0YWNobWVudCA9IChbJl0gKCkgLT4gc3RkOjpvcHRpb25hbDxQ
QUw6OldlYkdQVTo6UmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQ+IHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVSZW5kZXJQYXNzRGVzY3JpcHRv
ci5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVVJlbmRlclBhc3NEZXNjcmlw
dG9yLmgKaW5kZXggYjdlOGY1ZDg0YTE2MDlkMmRiOTUwMmY3NmEzZTQ4ZTZlYjBmNjU5Yi4uZDVi
YzMxMWNkNzg5Y2M3NmE5NDAxZTM3N2UzY2M0ZjViZGY5NjBiMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVVJlbmRlclBhc3NEZXNjcmlwdG9yLmgKKysrIGIv
U291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVVJlbmRlclBhc3NEZXNjcmlwdG9yLmgK
QEAgLTM4LDcgKzM4LDcgQEAKIG5hbWVzcGFjZSBXZWJLaXQ6OldlYkdQVSB7CiAKIHN0cnVjdCBS
ZW5kZXJQYXNzRGVzY3JpcHRvciA6IHB1YmxpYyBPYmplY3REZXNjcmlwdG9yQmFzZSB7Ci0gICAg
VmVjdG9yPFJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQ+IGNvbG9yQXR0YWNobWVudHM7CisgICAg
VmVjdG9yPHN0ZDo6b3B0aW9uYWw8UmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudD4+IGNvbG9yQXR0
YWNobWVudHM7CiAgICAgc3RkOjpvcHRpb25hbDxSZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNo
bWVudD4gZGVwdGhTdGVuY2lsQXR0YWNobWVudDsKICAgICBXZWJHUFVJZGVudGlmaWVyIG9jY2x1
c2lvblF1ZXJ5U2V0OwogICAgIFJlbmRlclBhc3NUaW1lc3RhbXBXcml0ZXMgdGltZXN0YW1wV3Jp
dGVzOwpAQCAtNTksNyArNTksNyBAQCBzdHJ1Y3QgUmVuZGVyUGFzc0Rlc2NyaXB0b3IgOiBwdWJs
aWMgT2JqZWN0RGVzY3JpcHRvckJhc2UgewogICAgICAgICBpZiAoIW9iamVjdERlc2NyaXB0b3JC
YXNlKQogICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKIAotICAgICAgICBzdGQ6Om9w
dGlvbmFsPFZlY3RvcjxSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50Pj4gY29sb3JBdHRhY2htZW50
czsKKyAgICAgICAgc3RkOjpvcHRpb25hbDxWZWN0b3I8c3RkOjpvcHRpb25hbDxSZW5kZXJQYXNz
Q29sb3JBdHRhY2htZW50Pj4+IGNvbG9yQXR0YWNobWVudHM7CiAgICAgICAgIGRlY29kZXIgPj4g
Y29sb3JBdHRhY2htZW50czsKICAgICAgICAgaWYgKCFjb2xvckF0dGFjaG1lbnRzKQogICAgICAg
ICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL1dlYkdQVS9XZWJHUFVSZW5kZXJQYXNzTGF5b3V0LmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9XZWJHUFUvV2ViR1BVUmVuZGVyUGFzc0xheW91dC5oCmluZGV4IGU5Y2YyMmJiYWU3ZTI1YjE2
NzQ3ZmNmZjI0ZmJjYWNmMDY4OTA0MzguLjRkYWZkOWNlMTI3YTJiY2Q5MTczYjEwNDU3MDUyZWEz
ZGVjZGYyYTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVS
ZW5kZXJQYXNzTGF5b3V0LmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQ
VVJlbmRlclBhc3NMYXlvdXQuaApAQCAtMzYsNyArMzYsNyBAQAogbmFtZXNwYWNlIFdlYktpdDo6
V2ViR1BVIHsKIAogc3RydWN0IFJlbmRlclBhc3NMYXlvdXQgOiBwdWJsaWMgT2JqZWN0RGVzY3Jp
cHRvckJhc2UgewotICAgIFZlY3RvcjxQQUw6OldlYkdQVTo6VGV4dHVyZUZvcm1hdD4gY29sb3JG
b3JtYXRzOworICAgIFZlY3RvcjxzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpUZXh0dXJlRm9y
bWF0Pj4gY29sb3JGb3JtYXRzOwogICAgIHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlRleHR1
cmVGb3JtYXQ+IGRlcHRoU3RlbmNpbEZvcm1hdDsKICAgICBQQUw6OldlYkdQVTo6U2l6ZTMyIHNh
bXBsZUNvdW50IHsgMSB9OwogCkBAIC01NSw3ICs1NSw3IEBAIHN0cnVjdCBSZW5kZXJQYXNzTGF5
b3V0IDogcHVibGljIE9iamVjdERlc2NyaXB0b3JCYXNlIHsKICAgICAgICAgaWYgKCFvYmplY3RE
ZXNjcmlwdG9yQmFzZSkKICAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAKLSAgICAg
ICAgc3RkOjpvcHRpb25hbDxWZWN0b3I8UEFMOjpXZWJHUFU6OlRleHR1cmVGb3JtYXQ+PiBjb2xv
ckZvcm1hdHM7CisgICAgICAgIHN0ZDo6b3B0aW9uYWw8VmVjdG9yPHN0ZDo6b3B0aW9uYWw8UEFM
OjpXZWJHUFU6OlRleHR1cmVGb3JtYXQ+Pj4gY29sb3JGb3JtYXRzOwogICAgICAgICBkZWNvZGVy
ID4+IGNvbG9yRm9ybWF0czsKICAgICAgICAgaWYgKCFjb2xvckZvcm1hdHMpCiAgICAgICAgICAg
ICByZXR1cm4gc3RkOjpudWxsb3B0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQv
V2ViR1BVL1dlYkdQVVNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludC5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50LmNwcApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi42MDRjN2IwNDVhZmU3NDk5NjZjMjI5NjM2NmRjYWQ2MzgzOWZjMGRkCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVVNoYWRlck1v
ZHVsZUNvbXBpbGF0aW9uSGludC5jcHAKQEAgLTAsMCArMSw1NyBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
bmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXZWJHUFVTaGFkZXJNb2R1bGVDb21waWxhdGlv
bkhpbnQuaCIKKworI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykKKworI2luY2x1ZGUgIldlYkdQVUNv
bnZlcnRGcm9tQmFja2luZ0NvbnRleHQuaCIKKyNpbmNsdWRlICJXZWJHUFVDb252ZXJ0VG9CYWNr
aW5nQ29udGV4dC5oIgorI2luY2x1ZGUgPHBhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVU2hhZGVy
TW9kdWxlQ29tcGlsYXRpb25IaW50Lmg+CisKK25hbWVzcGFjZSBXZWJLaXQ6OldlYkdQVSB7CisK
K3N0ZDo6b3B0aW9uYWw8U2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50PiBDb252ZXJ0VG9CYWNr
aW5nQ29udGV4dDo6Y29udmVydFRvQmFja2luZyhjb25zdCBQQUw6OldlYkdQVTo6U2hhZGVyTW9k
dWxlQ29tcGlsYXRpb25IaW50JiBzaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQpCit7CisgICAg
V2ViR1BVSWRlbnRpZmllciBwaXBlbGluZUxheW91dCA9IGNvbnZlcnRUb0JhY2tpbmcoc2hhZGVy
TW9kdWxlQ29tcGlsYXRpb25IaW50LnBpcGVsaW5lTGF5b3V0KTsKKyAgICBpZiAoIXBpcGVsaW5l
TGF5b3V0KQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworCisgICAgcmV0dXJuIHsgeyBw
aXBlbGluZUxheW91dCB9IH07Cit9CisKK3N0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlNoYWRl
ck1vZHVsZUNvbXBpbGF0aW9uSGludD4gQ29udmVydEZyb21CYWNraW5nQ29udGV4dDo6Y29udmVy
dEZyb21CYWNraW5nKGNvbnN0IFNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludCYgc2hhZGVyTW9k
dWxlQ29tcGlsYXRpb25IaW50KQoreworICAgIGF1dG8qIHBpcGVsaW5lTGF5b3V0ID0gY29udmVy
dFBpcGVsaW5lTGF5b3V0RnJvbUJhY2tpbmcoc2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50LnBp
cGVsaW5lTGF5b3V0KTsKKyAgICBpZiAoIXBpcGVsaW5lTGF5b3V0KQorICAgICAgICByZXR1cm4g
c3RkOjpudWxsb3B0OworCisgICAgcmV0dXJuIHsgeyAqcGlwZWxpbmVMYXlvdXQgfSB9OworfQor
Cit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIEVOQUJMRShHUFVfUFJPQ0VTUykK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVTaGFkZXJNb2R1
bGVDb21waWxhdGlvbkhpbnQuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVT
aGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lODkzNjlkZmVhNGQwMjZm
NTM3NGFhMTIyMjcyYTA2YmU0MTNlODliCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktp
dC9TaGFyZWQvV2ViR1BVL1dlYkdQVVNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludC5oCkBAIC0w
LDAgKzEsNTYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShHUFVf
UFJPQ0VTUykKKworI2luY2x1ZGUgIldlYkdQVUlkZW50aWZpZXIuaCIKKyNpbmNsdWRlIDxvcHRp
b25hbD4KKworbmFtZXNwYWNlIFdlYktpdDo6V2ViR1BVIHsKKworc3RydWN0IFNoYWRlck1vZHVs
ZUNvbXBpbGF0aW9uSGludCB7CisgICAgV2ViR1BVSWRlbnRpZmllciBwaXBlbGluZUxheW91dDsK
KworICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImIGVuY29k
ZXIpIGNvbnN0CisgICAgeworICAgICAgICBlbmNvZGVyIDw8IHBpcGVsaW5lTGF5b3V0OworICAg
IH0KKworICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IHN0YXRpYyBzdGQ6Om9wdGlvbmFsPFNo
YWRlck1vZHVsZUNvbXBpbGF0aW9uSGludD4gZGVjb2RlKERlY29kZXImIGRlY29kZXIpCisgICAg
eworICAgICAgICBzdGQ6Om9wdGlvbmFsPFdlYkdQVUlkZW50aWZpZXI+IHBpcGVsaW5lTGF5b3V0
OworICAgICAgICBkZWNvZGVyID4+IHBpcGVsaW5lTGF5b3V0OworICAgICAgICBpZiAoIXBpcGVs
aW5lTGF5b3V0KQorICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgICAgICBy
ZXR1cm4geyB7IFdURk1vdmUoKnBpcGVsaW5lTGF5b3V0KSB9IH07CisgICAgfQorfTsKKworfSAv
LyBuYW1lc3BhY2UgV2ViS2l0OjpXZWJHUFUKKworI2VuZGlmIC8vIEVOQUJMRShHUFVfUFJPQ0VT
UykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVTaGFkZXJN
b2R1bGVEZXNjcmlwdG9yLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVT
aGFkZXJNb2R1bGVEZXNjcmlwdG9yLmNwcAppbmRleCAyNmRiZDY3OGVlZDY5ZWM3YTUwMzU0ZDU4
N2NkZGVjNmZhY2VkYjdmLi5mYmZlMjBiN2I0YzZhZWIxMDFlYzA2NzM5YjUzODNjYjZhYjkyZjFm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVU2hhZGVyTW9k
dWxlRGVzY3JpcHRvci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQ
VVNoYWRlck1vZHVsZURlc2NyaXB0b3IuY3BwCkBAIC00MCw3ICs0MCwxNiBAQCBzdGQ6Om9wdGlv
bmFsPFNoYWRlck1vZHVsZURlc2NyaXB0b3I+IENvbnZlcnRUb0JhY2tpbmdDb250ZXh0Ojpjb252
ZXJ0VG9CYWNraW5nKAogICAgIGlmICghYmFzZSkKICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9w
dDsKIAotICAgIHJldHVybiB7IHsgV1RGTW92ZSgqYmFzZSksIHNoYWRlck1vZHVsZURlc2NyaXB0
b3IuY29kZSB9IH07CisgICAgVmVjdG9yPEtleVZhbHVlUGFpcjxTdHJpbmcsIFNoYWRlck1vZHVs
ZUNvbXBpbGF0aW9uSGludD4+IGhpbnRzOworICAgIGhpbnRzLnJlc2VydmVJbml0aWFsQ2FwYWNp
dHkoc2hhZGVyTW9kdWxlRGVzY3JpcHRvci5oaW50cy5zaXplKCkpOworICAgIGZvciAoY29uc3Qg
YXV0byYgaGludCA6IHNoYWRlck1vZHVsZURlc2NyaXB0b3IuaGludHMpIHsKKyAgICAgICAgYXV0
byB2YWx1ZSA9IGNvbnZlcnRUb0JhY2tpbmcoaGludC52YWx1ZSk7CisgICAgICAgIGlmICghdmFs
dWUpCisgICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworICAgICAgICBoaW50cy51bmNo
ZWNrZWRBcHBlbmQobWFrZUtleVZhbHVlUGFpcihoaW50LmtleSwgV1RGTW92ZSgqdmFsdWUpKSk7
CisgICAgfQorCisgICAgcmV0dXJuIHsgeyBXVEZNb3ZlKCpiYXNlKSwgc2hhZGVyTW9kdWxlRGVz
Y3JpcHRvci5jb2RlLCBXVEZNb3ZlKGhpbnRzKSB9IH07CiB9CiAKIHN0ZDo6b3B0aW9uYWw8UEFM
OjpXZWJHUFU6OlNoYWRlck1vZHVsZURlc2NyaXB0b3I+IENvbnZlcnRGcm9tQmFja2luZ0NvbnRl
eHQ6OmNvbnZlcnRGcm9tQmFja2luZyhjb25zdCBTaGFkZXJNb2R1bGVEZXNjcmlwdG9yJiBzaGFk
ZXJNb2R1bGVEZXNjcmlwdG9yKQpAQCAtNDksNyArNTgsMTYgQEAgc3RkOjpvcHRpb25hbDxQQUw6
OldlYkdQVTo6U2hhZGVyTW9kdWxlRGVzY3JpcHRvcj4gQ29udmVydEZyb21CYWNraW5nQ29udGV4
dDo6Y28KICAgICBpZiAoIWJhc2UpCiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAKLSAg
ICByZXR1cm4geyB7IFdURk1vdmUoKmJhc2UpLCBzaGFkZXJNb2R1bGVEZXNjcmlwdG9yLmNvZGUg
fSB9OworICAgIFZlY3RvcjxLZXlWYWx1ZVBhaXI8U3RyaW5nLCBQQUw6OldlYkdQVTo6U2hhZGVy
TW9kdWxlQ29tcGlsYXRpb25IaW50Pj4gaGludHM7CisgICAgaGludHMucmVzZXJ2ZUluaXRpYWxD
YXBhY2l0eShzaGFkZXJNb2R1bGVEZXNjcmlwdG9yLmhpbnRzLnNpemUoKSk7CisgICAgZm9yIChj
b25zdCBhdXRvJiBoaW50IDogc2hhZGVyTW9kdWxlRGVzY3JpcHRvci5oaW50cykgeworICAgICAg
ICBhdXRvIHZhbHVlID0gY29udmVydEZyb21CYWNraW5nKGhpbnQudmFsdWUpOworICAgICAgICBp
ZiAoIXZhbHVlKQorICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKyAgICAgICAgaGlu
dHMudW5jaGVja2VkQXBwZW5kKG1ha2VLZXlWYWx1ZVBhaXIoaGludC5rZXksIFdURk1vdmUoKnZh
bHVlKSkpOworICAgIH0KKworICAgIHJldHVybiB7IHsgV1RGTW92ZSgqYmFzZSksIHNoYWRlck1v
ZHVsZURlc2NyaXB0b3IuY29kZSwgV1RGTW92ZShoaW50cykgfSB9OwogfQogCiB9IC8vIG5hbWVz
cGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJH
UFVTaGFkZXJNb2R1bGVEZXNjcmlwdG9yLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUv
V2ViR1BVU2hhZGVyTW9kdWxlRGVzY3JpcHRvci5oCmluZGV4IDVjODFiNGRjNDJhZGY5NDlkNDUy
YWU1OTY4NTY2MDI3Mzc1YjhhNGIuLjg2MGUwYmE5NTNkMGExMTc3MzRhYzcxNTJiNTlhMzM4M2Y1
MGQ4ODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVTaGFk
ZXJNb2R1bGVEZXNjcmlwdG9yLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dl
YkdQVVNoYWRlck1vZHVsZURlc2NyaXB0b3IuaApAQCAtMjgsNiArMjgsNyBAQAogI2lmIEVOQUJM
RShHUFVfUFJPQ0VTUykKIAogI2luY2x1ZGUgIldlYkdQVU9iamVjdERlc2NyaXB0b3JCYXNlLmgi
CisjaW5jbHVkZSAiV2ViR1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50LmgiCiAjaW5jbHVk
ZSA8b3B0aW9uYWw+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKQEAgLTM2LDEx
ICszNywxMyBAQCBuYW1lc3BhY2UgV2ViS2l0OjpXZWJHUFUgewogc3RydWN0IFNoYWRlck1vZHVs
ZURlc2NyaXB0b3IgOiBwdWJsaWMgT2JqZWN0RGVzY3JpcHRvckJhc2UgewogICAgIFN0cmluZyBj
b2RlOwogICAgIC8vIEZJWE1FOiBIb29rIHVwIHRoZSBzb3VyY2VNYXAuCisgICAgVmVjdG9yPEtl
eVZhbHVlUGFpcjxTdHJpbmcsIFNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludD4+IGhpbnRzOwog
CiAgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYgZW5jb2Rl
cikgY29uc3QKICAgICB7CiAgICAgICAgIGVuY29kZXIgPDwgc3RhdGljX2Nhc3Q8Y29uc3QgT2Jq
ZWN0RGVzY3JpcHRvckJhc2UmPigqdGhpcyk7CiAgICAgICAgIGVuY29kZXIgPDwgY29kZTsKKyAg
ICAgICAgZW5jb2RlciA8PCBoaW50czsKICAgICB9CiAKICAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNv
ZGVyPiBzdGF0aWMgc3RkOjpvcHRpb25hbDxTaGFkZXJNb2R1bGVEZXNjcmlwdG9yPiBkZWNvZGUo
RGVjb2RlciYgZGVjb2RlcikKQEAgLTU1LDcgKzU4LDEyIEBAIHN0cnVjdCBTaGFkZXJNb2R1bGVE
ZXNjcmlwdG9yIDogcHVibGljIE9iamVjdERlc2NyaXB0b3JCYXNlIHsKICAgICAgICAgaWYgKCFj
b2RlKQogICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKIAotICAgICAgICByZXR1cm4g
eyB7IFdURk1vdmUoKm9iamVjdERlc2NyaXB0b3JCYXNlKSwgV1RGTW92ZSgqY29kZSkgfSB9Owor
ICAgICAgICBzdGQ6Om9wdGlvbmFsPFZlY3RvcjxLZXlWYWx1ZVBhaXI8U3RyaW5nLCBTaGFkZXJN
b2R1bGVDb21waWxhdGlvbkhpbnQ+Pj4gaGludHM7CisgICAgICAgIGRlY29kZXIgPj4gaGludHM7
CisgICAgICAgIGlmICghaGludHMpCisgICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0Owor
CisgICAgICAgIHJldHVybiB7IHsgV1RGTW92ZSgqb2JqZWN0RGVzY3JpcHRvckJhc2UpLCBXVEZN
b3ZlKCpjb2RlKSwgV1RGTW92ZSgqaGludHMpIH0gfTsKICAgICB9CiB9OwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVVGV4dHVyZURlc2NyaXB0b3IuY3Bw
IGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVVRleHR1cmVEZXNjcmlwdG9yLmNw
cAppbmRleCBiZjZiNGQzNTYyZTcwNzhhMWE0ZTU0YWNkZWRjMDVkOTBkNWYxZWEyLi5jYzAzMjMx
MWExZDY0MTllYjBiNTI4NDdmNmU5NjZiYTc2NTI2ODE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVVGV4dHVyZURlc2NyaXB0b3IuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVUZXh0dXJlRGVzY3JpcHRvci5jcHAKQEAgLTQ0
LDcgKzQ0LDcgQEAgc3RkOjpvcHRpb25hbDxUZXh0dXJlRGVzY3JpcHRvcj4gQ29udmVydFRvQmFj
a2luZ0NvbnRleHQ6OmNvbnZlcnRUb0JhY2tpbmcoY29uc3QKICAgICBpZiAoIXNpemUpCiAgICAg
ICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAKLSAgICByZXR1cm4geyB7IFdURk1vdmUoKmJhc2Up
LCBXVEZNb3ZlKCpzaXplKSwgdGV4dHVyZURlc2NyaXB0b3IubWlwTGV2ZWxDb3VudCwgdGV4dHVy
ZURlc2NyaXB0b3Iuc2FtcGxlQ291bnQsIHRleHR1cmVEZXNjcmlwdG9yLmRpbWVuc2lvbiwgdGV4
dHVyZURlc2NyaXB0b3IuZm9ybWF0LCB0ZXh0dXJlRGVzY3JpcHRvci51c2FnZSB9IH07CisgICAg
cmV0dXJuIHsgeyBXVEZNb3ZlKCpiYXNlKSwgV1RGTW92ZSgqc2l6ZSksIHRleHR1cmVEZXNjcmlw
dG9yLm1pcExldmVsQ291bnQsIHRleHR1cmVEZXNjcmlwdG9yLnNhbXBsZUNvdW50LCB0ZXh0dXJl
RGVzY3JpcHRvci5kaW1lbnNpb24sIHRleHR1cmVEZXNjcmlwdG9yLmZvcm1hdCwgdGV4dHVyZURl
c2NyaXB0b3IudXNhZ2UsIHRleHR1cmVEZXNjcmlwdG9yLnZpZXdGb3JtYXRzIH0gfTsKIH0KIAog
c3RkOjpvcHRpb25hbDxQQUw6OldlYkdQVTo6VGV4dHVyZURlc2NyaXB0b3I+IENvbnZlcnRGcm9t
QmFja2luZ0NvbnRleHQ6OmNvbnZlcnRGcm9tQmFja2luZyhjb25zdCBUZXh0dXJlRGVzY3JpcHRv
ciYgdGV4dHVyZURlc2NyaXB0b3IpCkBAIC01Nyw3ICs1Nyw3IEBAIHN0ZDo6b3B0aW9uYWw8UEFM
OjpXZWJHUFU6OlRleHR1cmVEZXNjcmlwdG9yPiBDb252ZXJ0RnJvbUJhY2tpbmdDb250ZXh0Ojpj
b252ZXJ0CiAgICAgaWYgKCFzaXplKQogICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogCi0g
ICAgcmV0dXJuIHsgeyBXVEZNb3ZlKCpiYXNlKSwgV1RGTW92ZSgqc2l6ZSksIHRleHR1cmVEZXNj
cmlwdG9yLm1pcExldmVsQ291bnQsIHRleHR1cmVEZXNjcmlwdG9yLnNhbXBsZUNvdW50LCB0ZXh0
dXJlRGVzY3JpcHRvci5kaW1lbnNpb24sIHRleHR1cmVEZXNjcmlwdG9yLmZvcm1hdCwgdGV4dHVy
ZURlc2NyaXB0b3IudXNhZ2UgfSB9OworICAgIHJldHVybiB7IHsgV1RGTW92ZSgqYmFzZSksIFdU
Rk1vdmUoKnNpemUpLCB0ZXh0dXJlRGVzY3JpcHRvci5taXBMZXZlbENvdW50LCB0ZXh0dXJlRGVz
Y3JpcHRvci5zYW1wbGVDb3VudCwgdGV4dHVyZURlc2NyaXB0b3IuZGltZW5zaW9uLCB0ZXh0dXJl
RGVzY3JpcHRvci5mb3JtYXQsIHRleHR1cmVEZXNjcmlwdG9yLnVzYWdlLCB0ZXh0dXJlRGVzY3Jp
cHRvci52aWV3Rm9ybWF0cyB9IH07CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVVRleHR1cmVEZXNjcmlwdG9y
LmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVVGV4dHVyZURlc2NyaXB0b3Iu
aAppbmRleCBkOWVjZWZlZDBhODNjYjVmOTQzMDI3NTgwYTFkMTM4NzA4YzdhMGUzLi43YzRkYjQz
ZGI0YTBlN2MxNTNlY2VlOTQ0Mzk3MTVjYzAyOWY1YTIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVVGV4dHVyZURlc2NyaXB0b3IuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVVGV4dHVyZURlc2NyaXB0b3IuaApAQCAtNDQsNiAr
NDQsNyBAQCBzdHJ1Y3QgVGV4dHVyZURlc2NyaXB0b3IgOiBwdWJsaWMgT2JqZWN0RGVzY3JpcHRv
ckJhc2UgewogICAgIFBBTDo6V2ViR1BVOjpUZXh0dXJlRGltZW5zaW9uIGRpbWVuc2lvbiB7IFBB
TDo6V2ViR1BVOjpUZXh0dXJlRGltZW5zaW9uOjpfMmQgfTsKICAgICBQQUw6OldlYkdQVTo6VGV4
dHVyZUZvcm1hdCBmb3JtYXQgeyBQQUw6OldlYkdQVTo6VGV4dHVyZUZvcm1hdDo6Ujh1bm9ybSB9
OwogICAgIFBBTDo6V2ViR1BVOjpUZXh0dXJlVXNhZ2VGbGFncyB1c2FnZTsKKyAgICBWZWN0b3I8
UEFMOjpXZWJHUFU6OlRleHR1cmVGb3JtYXQ+IHZpZXdGb3JtYXRzOwogCiAgICAgdGVtcGxhdGU8
Y2xhc3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKICAgICB7
CkBAIC01NCw2ICs1NSw3IEBAIHN0cnVjdCBUZXh0dXJlRGVzY3JpcHRvciA6IHB1YmxpYyBPYmpl
Y3REZXNjcmlwdG9yQmFzZSB7CiAgICAgICAgIGVuY29kZXIgPDwgZGltZW5zaW9uOwogICAgICAg
ICBlbmNvZGVyIDw8IGZvcm1hdDsKICAgICAgICAgZW5jb2RlciA8PCB1c2FnZTsKKyAgICAgICAg
ZW5jb2RlciA8PCB2aWV3Rm9ybWF0czsKICAgICB9CiAKICAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNv
ZGVyPiBzdGF0aWMgc3RkOjpvcHRpb25hbDxUZXh0dXJlRGVzY3JpcHRvcj4gZGVjb2RlKERlY29k
ZXImIGRlY29kZXIpCkBAIC05Myw3ICs5NSwxMiBAQCBzdHJ1Y3QgVGV4dHVyZURlc2NyaXB0b3Ig
OiBwdWJsaWMgT2JqZWN0RGVzY3JpcHRvckJhc2UgewogICAgICAgICBpZiAoIXVzYWdlKQogICAg
ICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKIAotICAgICAgICByZXR1cm4geyB7IFdURk1v
dmUoKm9iamVjdERlc2NyaXB0b3JCYXNlKSwgV1RGTW92ZSgqc2l6ZSksIFdURk1vdmUoKm1pcExl
dmVsQ291bnQpLCBXVEZNb3ZlKCpzYW1wbGVDb3VudCksIFdURk1vdmUoKmRpbWVuc2lvbiksIFdU
Rk1vdmUoKmZvcm1hdCksIFdURk1vdmUoKnVzYWdlKSB9IH07CisgICAgICAgIHN0ZDo6b3B0aW9u
YWw8VmVjdG9yPFBBTDo6V2ViR1BVOjpUZXh0dXJlRm9ybWF0Pj4gdmlld0Zvcm1hdHM7CisgICAg
ICAgIGRlY29kZXIgPj4gdmlld0Zvcm1hdHM7CisgICAgICAgIGlmICghdmlld0Zvcm1hdHMpCisg
ICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworCisgICAgICAgIHJldHVybiB7IHsgV1RG
TW92ZSgqb2JqZWN0RGVzY3JpcHRvckJhc2UpLCBXVEZNb3ZlKCpzaXplKSwgV1RGTW92ZSgqbWlw
TGV2ZWxDb3VudCksIFdURk1vdmUoKnNhbXBsZUNvdW50KSwgV1RGTW92ZSgqZGltZW5zaW9uKSwg
V1RGTW92ZSgqZm9ybWF0KSwgV1RGTW92ZSgqdXNhZ2UpLCBXVEZNb3ZlKCp2aWV3Rm9ybWF0cykg
fSB9OwogICAgIH0KIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQg
Yi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0CmluZGV4IGYzOGIzZWQ3MDE1MWY2ODI1OWIxMzM1
NTdlMjUzZmE5MzU5ZWIxMGQuLmM3MzIwYjEwMmU3ZDhmMmI2ZmVmOGQyYjQ2ZmNjOGI5ZWQ3ZDEw
OWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dl
YktpdC9Tb3VyY2VzLnR4dApAQCAtMzgzLDYgKzM4Myw3IEBAIFNoYXJlZC9XZWJHUFUvV2ViR1BV
UmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yLmNwcAogU2hhcmVkL1dlYkdQVS9XZWJHUFVSZXF1ZXN0
QWRhcHRlck9wdGlvbnMuY3BwCiBTaGFyZWQvV2ViR1BVL1dlYkdQVVNhbXBsZXJCaW5kaW5nTGF5
b3V0LmNwcAogU2hhcmVkL1dlYkdQVS9XZWJHUFVTYW1wbGVyRGVzY3JpcHRvci5jcHAKK1NoYXJl
ZC9XZWJHUFUvV2ViR1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50LmNwcAogU2hhcmVkL1dl
YkdQVS9XZWJHUFVTaGFkZXJNb2R1bGVEZXNjcmlwdG9yLmNwcAogU2hhcmVkL1dlYkdQVS9XZWJH
UFVTdGVuY2lsRmFjZVN0YXRlLmNwcAogU2hhcmVkL1dlYkdQVS9XZWJHUFVTdG9yYWdlVGV4dHVy
ZUJpbmRpbmdMYXlvdXQuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagppbmRleCBjYzI5NjA5N2E4NzYzOGZhNmVmM2U4NjBiNzgzMmVhZjhlYjll
ZGJhLi5kMTUyM2NkNTIyYzc4NjZhNzcwNTE5ZTQ2ZjU1MmFlNWI5MmEyNTA4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Nv
dXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTMzNzEsNiAr
MzM3MSw4IEBACiAJCTFDRERGQzdDMjc1NTg2NkQwMEM5M0M2MiAvKiBSZW1vdGVHUFVQcm94eU1l
c3NhZ2VzUmVwbGllcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW1vdGVHUFVQcm94eU1lc3NhZ2VzUmVw
bGllcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQ0RERkM3RDI3NTU4NjZEMDBD
OTNDNjIgLyogUmVtb3RlR1BVUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gUmVtb3RlR1BVUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkxQ0RERkM3RTI3NTU4NjZEMDBDOTNDNjIgLyogUmVtb3RlR1BVUHJveHlN
ZXNzYWdlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW1vdGVHUFVQcm94eU1lc3NhZ2VzLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFDRUY0NUJCMjdCQ0E0NkEwMEMzQTZCQyAvKiBXZWJH
UFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2Vi
R1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJMUNFRjQ1QkMyN0JDQTQ2QTAwQzNBNkJDIC8qIFdlYkdQVVNoYWRlck1vZHVsZUNv
bXBpbGF0aW9uSGludC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJHUFVTaGFkZXJNb2R1bGVDb21waWxh
dGlvbkhpbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNGMThGM0UyNkJCNUQ5
MDAwNEIxNzIyIC8qIExvZ0luaXRpYWxpemF0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExv
Z0luaXRpYWxpemF0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUQwNTMw
QzkyNThFQUI0NDAwRTQzNkY3IC8qIGNvbWJpbmUtZmVhdHVyZS1mbGFncy1wbGlzdC5weSAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuc2NyaXB0
LnB5dGhvbjsgcGF0aCA9ICJjb21iaW5lLWZlYXR1cmUtZmxhZ3MtcGxpc3QucHkiOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkxRDA1MzBEMTI1OTE2MkM4MDBFNDM2RjcgLyogV2ViS2l0
LWlvcy5wbGlzdCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHRleHQucGxpc3QueG1sOyBwYXRoID0gIldlYktpdC1pb3MucGxpc3QiOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwpAQCAtNzk3Nyw2ICs3OTc5LDggQEAKIAkJCQkxQ0I3NDY2NzI3NDM5
Q0FFMDBGMTk4NzQgLyogV2ViR1BVU2FtcGxlckJpbmRpbmdMYXlvdXQuaCAqLywKIAkJCQkxQzk4
QzBDQzI3NDYyNjgwMDAyQ0NCNzggLyogV2ViR1BVU2FtcGxlckRlc2NyaXB0b3IuY3BwICovLAog
CQkJCTFDQjc0NjhEMjc0MzlDQjcwMEYxOTg3NCAvKiBXZWJHUFVTYW1wbGVyRGVzY3JpcHRvci5o
ICovLAorCQkJCTFDRUY0NUJCMjdCQ0E0NkEwMEMzQTZCQyAvKiBXZWJHUFVTaGFkZXJNb2R1bGVD
b21waWxhdGlvbkhpbnQuY3BwICovLAorCQkJCTFDRUY0NUJDMjdCQ0E0NkEwMEMzQTZCQyAvKiBX
ZWJHUFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQuaCAqLywKIAkJCQkxQzk4QzA5OTI3NDYy
Njc4MDAyQ0NCNzggLyogV2ViR1BVU2hhZGVyTW9kdWxlRGVzY3JpcHRvci5jcHAgKi8sCiAJCQkJ
MUNCNzQ2NkIyNzQzOUNBRjAwRjE5ODc0IC8qIFdlYkdQVVNoYWRlck1vZHVsZURlc2NyaXB0b3Iu
aCAqLywKIAkJCQkxQzk4QzBDQTI3NDYyNjgwMDAyQ0NCNzggLyogV2ViR1BVU3RlbmNpbEZhY2VT
dGF0ZS5jcHAgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dy
YXBoaWNzL1dlYkdQVS9SZW1vdGVCdWZmZXJQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvR1BVL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVCdWZmZXJQcm94eS5jcHAKaW5kZXggYTk5
NmNkM2M2NzUyNTk5Mzg5NjdiODBkY2Q4NmIxNDI2ZTRhNWRkNS4uMjQwOTU3ZjJjYjk4MGFkOTlj
NjY5NDAwMGIzMGRiM2RkNTIyYTA5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0dQVS9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQnVmZmVyUHJveHkuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUJ1ZmZlclByb3h5
LmNwcApAQCAtNDQsNyArNDQsNyBAQCBSZW1vdGVCdWZmZXJQcm94eTo6flJlbW90ZUJ1ZmZlclBy
b3h5KCkKIHsKIH0KIAotdm9pZCBSZW1vdGVCdWZmZXJQcm94eTo6bWFwQXN5bmMoUEFMOjpXZWJH
UFU6Ok1hcE1vZGVGbGFncyBtYXBNb2RlRmxhZ3MsIHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6
OlNpemU2ND4gb2Zmc2V0LCBzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpTaXplNjQ+IHNpemUs
IFdURjo6RnVuY3Rpb248dm9pZCgpPiYmIGNhbGxiYWNrKQordm9pZCBSZW1vdGVCdWZmZXJQcm94
eTo6bWFwQXN5bmMoUEFMOjpXZWJHUFU6Ok1hcE1vZGVGbGFncyBtYXBNb2RlRmxhZ3MsIFBBTDo6
V2ViR1BVOjpTaXplNjQgb2Zmc2V0LCBzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpTaXplNjQ+
IHNpemUsIFdURjo6RnVuY3Rpb248dm9pZCgpPiYmIGNhbGxiYWNrKQogewogICAgIHN0ZDo6b3B0
aW9uYWw8VmVjdG9yPHVpbnQ4X3Q+PiBkYXRhOwogICAgIGF1dG8gc2VuZFJlc3VsdCA9IHNlbmRT
eW5jKE1lc3NhZ2VzOjpSZW1vdGVCdWZmZXI6Ok1hcEFzeW5jKG1hcE1vZGVGbGFncywgb2Zmc2V0
LCBzaXplKSwgeyBkYXRhIH0pOwpAQCAtNTksMTQgKzU5LDEzIEBAIHZvaWQgUmVtb3RlQnVmZmVy
UHJveHk6Om1hcEFzeW5jKFBBTDo6V2ViR1BVOjpNYXBNb2RlRmxhZ3MgbWFwTW9kZUZsYWdzLCBz
dGQ6Om9wCiAgICAgY2FsbGJhY2soKTsKIH0KIAotYXV0byBSZW1vdGVCdWZmZXJQcm94eTo6Z2V0
TWFwcGVkUmFuZ2Uoc3RkOjpvcHRpb25hbDxQQUw6OldlYkdQVTo6U2l6ZTY0PiBvZmZzZXQsIHN0
ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlNpemU2ND4gc2l6ZSkgLT4gTWFwcGVkUmFuZ2UKK2F1
dG8gUmVtb3RlQnVmZmVyUHJveHk6OmdldE1hcHBlZFJhbmdlKFBBTDo6V2ViR1BVOjpTaXplNjQg
b2Zmc2V0LCBzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpTaXplNjQ+IHNpemUpIC0+IE1hcHBl
ZFJhbmdlCiB7CiAgICAgLy8gRklYTUU6IEltcGxlbWVudCBlcnJvciBoYW5kbGluZy4KICAgICBp
ZiAoIW1fZGF0YSkKICAgICAgICAgcmV0dXJuIHsgfTsKIAotICAgIGF1dG8gdXNlZE9mZnNldCA9
IG9mZnNldC52YWx1ZV9vcigwKTsKLSAgICByZXR1cm4geyBtX2RhdGEtPmRhdGEoKSArIHVzZWRP
ZmZzZXQsIHN0YXRpY19jYXN0PHNpemVfdD4oc2l6ZS52YWx1ZV9vcihtX2RhdGEtPnNpemUoKSAt
IHVzZWRPZmZzZXQpKSB9OworICAgIHJldHVybiB7IG1fZGF0YS0+ZGF0YSgpICsgb2Zmc2V0LCBz
dGF0aWNfY2FzdDxzaXplX3Q+KHNpemUudmFsdWVfb3IobV9kYXRhLT5zaXplKCkgLSBvZmZzZXQp
KSB9OwogfQogCiB2b2lkIFJlbW90ZUJ1ZmZlclByb3h5Ojp1bm1hcCgpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVCdWZmZXJQ
cm94eS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9XZWJHUFUvUmVt
b3RlQnVmZmVyUHJveHkuaAppbmRleCA3YmE1NmE3MDZhODAxODY1Yzg0MzI2YzEwZmIwZjRjOTRl
MmI4NGYwLi40OTNhOGJmMDE2OWVhMzU1MTRlOWRhYWUxZjc2NzMyYzhkZGNkNjdlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVC
dWZmZXJQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3Mv
V2ViR1BVL1JlbW90ZUJ1ZmZlclByb3h5LmgKQEAgLTczLDggKzczLDggQEAgcHJpdmF0ZToKICAg
ICAgICAgcmV0dXJuIHJvb3QoKS5zdHJlYW1DbGllbnRDb25uZWN0aW9uKCkuc2VuZFN5bmMoV1RG
TW92ZShtZXNzYWdlKSwgV1RGTW92ZShyZXBseSksIGJhY2tpbmcoKSwgZGVmYXVsdFNlbmRUaW1l
b3V0KTsKICAgICB9CiAKLSAgICB2b2lkIG1hcEFzeW5jKFBBTDo6V2ViR1BVOjpNYXBNb2RlRmxh
Z3MsIHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlNpemU2ND4gb2Zmc2V0LCBzdGQ6Om9wdGlv
bmFsPFBBTDo6V2ViR1BVOjpTaXplNjQ+IHNpemVGb3JNYXAsIFdURjo6RnVuY3Rpb248dm9pZCgp
PiYmKSBmaW5hbDsKLSAgICBNYXBwZWRSYW5nZSBnZXRNYXBwZWRSYW5nZShzdGQ6Om9wdGlvbmFs
PFBBTDo6V2ViR1BVOjpTaXplNjQ+IG9mZnNldCwgc3RkOjpvcHRpb25hbDxQQUw6OldlYkdQVTo6
U2l6ZTY0PikgZmluYWw7CisgICAgdm9pZCBtYXBBc3luYyhQQUw6OldlYkdQVTo6TWFwTW9kZUZs
YWdzLCBQQUw6OldlYkdQVTo6U2l6ZTY0IG9mZnNldCwgc3RkOjpvcHRpb25hbDxQQUw6OldlYkdQ
VTo6U2l6ZTY0PiBzaXplRm9yTWFwLCBXVEY6OkZ1bmN0aW9uPHZvaWQoKT4mJikgZmluYWw7Cisg
ICAgTWFwcGVkUmFuZ2UgZ2V0TWFwcGVkUmFuZ2UoUEFMOjpXZWJHUFU6OlNpemU2NCBvZmZzZXQs
IHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlNpemU2ND4pIGZpbmFsOwogICAgIHZvaWQgdW5t
YXAoKSBmaW5hbDsKIAogICAgIHZvaWQgZGVzdHJveSgpIGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQ29tbWFuZEVu
Y29kZXJQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1dl
YkdQVS9SZW1vdGVDb21tYW5kRW5jb2RlclByb3h5LmNwcAppbmRleCBmZWEyOWQ5OTI4MTY3ZTJi
MmE0ZGY0NTVkOWY4N2FmMWY4YmY2YmVjLi42MTNlZDUwMTY0ZmEyNTU2YzhiMTcyNGNlMjc2MGQ2
MTE5MzJhOTJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBo
aWNzL1dlYkdQVS9SZW1vdGVDb21tYW5kRW5jb2RlclByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVDb21tYW5kRW5jb2RlclBy
b3h5LmNwcApAQCAtMTUyLDE3ICsxNTIsMTcgQEAgdm9pZCBSZW1vdGVDb21tYW5kRW5jb2RlclBy
b3h5Ojpjb3B5VGV4dHVyZVRvVGV4dHVyZSgKICAgICBVTlVTRURfVkFSSUFCTEUoc2VuZFJlc3Vs
dCk7CiB9CiAKLXZvaWQgUmVtb3RlQ29tbWFuZEVuY29kZXJQcm94eTo6ZmlsbEJ1ZmZlcigKLSAg
ICBjb25zdCBQQUw6OldlYkdQVTo6QnVmZmVyJiBkZXN0aW5hdGlvbiwKLSAgICBQQUw6OldlYkdQ
VTo6U2l6ZTY0IGRlc3RpbmF0aW9uT2Zmc2V0LAotICAgIFBBTDo6V2ViR1BVOjpTaXplNjQgc2l6
ZSkKLXsKLSAgICBhdXRvIGNvbnZlcnRlZERlc3RpbmF0aW9uID0gbV9jb252ZXJ0VG9CYWNraW5n
Q29udGV4dC0+Y29udmVydFRvQmFja2luZyhkZXN0aW5hdGlvbik7Ci0gICAgQVNTRVJUKGNvbnZl
cnRlZERlc3RpbmF0aW9uKTsKLSAgICBpZiAoIWNvbnZlcnRlZERlc3RpbmF0aW9uKQordm9pZCBS
ZW1vdGVDb21tYW5kRW5jb2RlclByb3h5OjpjbGVhckJ1ZmZlcigKKyAgICBjb25zdCBQQUw6Oldl
YkdQVTo6QnVmZmVyJiBidWZmZXIsCisgICAgUEFMOjpXZWJHUFU6OlNpemU2NCBvZmZzZXQsCisg
ICAgc3RkOjpvcHRpb25hbDxQQUw6OldlYkdQVTo6U2l6ZTY0PiBzaXplKQoreworICAgIGF1dG8g
Y29udmVydGVkQnVmZmVyID0gbV9jb252ZXJ0VG9CYWNraW5nQ29udGV4dC0+Y29udmVydFRvQmFj
a2luZyhidWZmZXIpOworICAgIEFTU0VSVChjb252ZXJ0ZWRCdWZmZXIpOworICAgIGlmICghY29u
dmVydGVkQnVmZmVyKQogICAgICAgICByZXR1cm47CiAKLSAgICBhdXRvIHNlbmRSZXN1bHQgPSBz
ZW5kKE1lc3NhZ2VzOjpSZW1vdGVDb21tYW5kRW5jb2Rlcjo6RmlsbEJ1ZmZlcihjb252ZXJ0ZWRE
ZXN0aW5hdGlvbiwgZGVzdGluYXRpb25PZmZzZXQsIHNpemUpKTsKKyAgICBhdXRvIHNlbmRSZXN1
bHQgPSBzZW5kKE1lc3NhZ2VzOjpSZW1vdGVDb21tYW5kRW5jb2Rlcjo6Q2xlYXJCdWZmZXIoY29u
dmVydGVkQnVmZmVyLCBvZmZzZXQsIHNpemUpKTsKICAgICBVTlVTRURfVkFSSUFCTEUoc2VuZFJl
c3VsdCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3Jh
cGhpY3MvV2ViR1BVL1JlbW90ZUNvbW1hbmRFbmNvZGVyUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUNvbW1hbmRFbmNvZGVyUHJveHku
aAppbmRleCAxMWU2NzgxNTlhNGI0MTIzNjY3ZTY3ZDNiYTIwODU2OGZjODM1YjBjLi5iMTc2ODE4
YmUwMWVhNDIwYWRhZTQ4MTUwOTlkY2FkMGIwMTE3YjRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVDb21tYW5kRW5jb2RlclBy
b3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9XZWJHUFUv
UmVtb3RlQ29tbWFuZEVuY29kZXJQcm94eS5oCkBAIC05NywxMCArOTcsMTAgQEAgcHJpdmF0ZToK
ICAgICAgICAgY29uc3QgUEFMOjpXZWJHUFU6OkltYWdlQ29weVRleHR1cmUmIGRlc3RpbmF0aW9u
LAogICAgICAgICBjb25zdCBQQUw6OldlYkdQVTo6RXh0ZW50M0QmIGNvcHlTaXplKSBmaW5hbDsK
IAotICAgIHZvaWQgZmlsbEJ1ZmZlcigKLSAgICAgICAgY29uc3QgUEFMOjpXZWJHUFU6OkJ1ZmZl
ciYgZGVzdGluYXRpb24sCi0gICAgICAgIFBBTDo6V2ViR1BVOjpTaXplNjQgZGVzdGluYXRpb25P
ZmZzZXQsCi0gICAgICAgIFBBTDo6V2ViR1BVOjpTaXplNjQpIGZpbmFsOworICAgIHZvaWQgY2xl
YXJCdWZmZXIoCisgICAgICAgIGNvbnN0IFBBTDo6V2ViR1BVOjpCdWZmZXImLAorICAgICAgICBQ
QUw6OldlYkdQVTo6U2l6ZTY0IG9mZnNldCA9IDAsCisgICAgICAgIHN0ZDo6b3B0aW9uYWw8UEFM
OjpXZWJHUFU6OlNpemU2ND4gPSBzdGQ6Om51bGxvcHQpIGZpbmFsOwogCiAgICAgdm9pZCBwdXNo
RGVidWdHcm91cChTdHJpbmcmJiBncm91cExhYmVsKSBmaW5hbDsKICAgICB2b2lkIHBvcERlYnVn
R3JvdXAoKSBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUv
Z3JhcGhpY3MvV2ViR1BVL1JlbW90ZUNvbXB1dGVQYXNzRW5jb2RlclByb3h5LmNwcCBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUNvbXB1dGVQYXNz
RW5jb2RlclByb3h5LmNwcAppbmRleCA3MWY2Nzk1NWFiN2Q1Njk3YWEzYzZjMThiMDY2MzNkMDI5
MmFiOWY1Li42ZDBmODNjZDZkOTFjN2M4ZTY5OTNkMDA3ZWI4MDJiNTIyODg2NDZiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVD
b21wdXRlUGFzc0VuY29kZXJQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L0dQVS9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQ29tcHV0ZVBhc3NFbmNvZGVyUHJveHkuY3BwCkBA
IC01NSw5ICs1NSw5IEBAIHZvaWQgUmVtb3RlQ29tcHV0ZVBhc3NFbmNvZGVyUHJveHk6OnNldFBp
cGVsaW5lKGNvbnN0IFBBTDo6V2ViR1BVOjpDb21wdXRlUGlwZWxpCiAgICAgVU5VU0VEX1ZBUklB
QkxFKHNlbmRSZXN1bHQpOwogfQogCi12b2lkIFJlbW90ZUNvbXB1dGVQYXNzRW5jb2RlclByb3h5
OjpkaXNwYXRjaChQQUw6OldlYkdQVTo6U2l6ZTMyIHgsIHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJH
UFU6OlNpemUzMj4geSwgc3RkOjpvcHRpb25hbDxQQUw6OldlYkdQVTo6U2l6ZTMyPiB6KQordm9p
ZCBSZW1vdGVDb21wdXRlUGFzc0VuY29kZXJQcm94eTo6ZGlzcGF0Y2goUEFMOjpXZWJHUFU6OlNp
emUzMiB3b3JrZ3JvdXBDb3VudFgsIFBBTDo6V2ViR1BVOjpTaXplMzIgd29ya2dyb3VwQ291bnRZ
LCBQQUw6OldlYkdQVTo6U2l6ZTMyIHdvcmtncm91cENvdW50WikKIHsKLSAgICBhdXRvIHNlbmRS
ZXN1bHQgPSBzZW5kKE1lc3NhZ2VzOjpSZW1vdGVDb21wdXRlUGFzc0VuY29kZXI6OkRpc3BhdGNo
KHgsIHksIHopKTsKKyAgICBhdXRvIHNlbmRSZXN1bHQgPSBzZW5kKE1lc3NhZ2VzOjpSZW1vdGVD
b21wdXRlUGFzc0VuY29kZXI6OkRpc3BhdGNoKHdvcmtncm91cENvdW50WCwgd29ya2dyb3VwQ291
bnRZLCB3b3JrZ3JvdXBDb3VudFopKTsKICAgICBVTlVTRURfVkFSSUFCTEUoc2VuZFJlc3VsdCk7
CiB9CiAKQEAgLTcyLDI2ICs3Miw5IEBAIHZvaWQgUmVtb3RlQ29tcHV0ZVBhc3NFbmNvZGVyUHJv
eHk6OmRpc3BhdGNoSW5kaXJlY3QoY29uc3QgUEFMOjpXZWJHUFU6OkJ1ZmZlciYKICAgICBVTlVT
RURfVkFSSUFCTEUoc2VuZFJlc3VsdCk7CiB9CiAKLXZvaWQgUmVtb3RlQ29tcHV0ZVBhc3NFbmNv
ZGVyUHJveHk6OmJlZ2luUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkoY29uc3QgUEFMOjpXZWJHUFU6
OlF1ZXJ5U2V0JiBxdWVyeVNldCwgUEFMOjpXZWJHUFU6OlNpemUzMiBxdWVyeUluZGV4KQordm9p
ZCBSZW1vdGVDb21wdXRlUGFzc0VuY29kZXJQcm94eTo6ZW5kKCkKIHsKLSAgICBhdXRvIGNvbnZl
cnRlZFF1ZXJ5U2V0ID0gbV9jb252ZXJ0VG9CYWNraW5nQ29udGV4dC0+Y29udmVydFRvQmFja2lu
ZyhxdWVyeVNldCk7Ci0gICAgQVNTRVJUKGNvbnZlcnRlZFF1ZXJ5U2V0KTsKLSAgICBpZiAoIWNv
bnZlcnRlZFF1ZXJ5U2V0KQotICAgICAgICByZXR1cm47Ci0KLSAgICBhdXRvIHNlbmRSZXN1bHQg
PSBzZW5kKE1lc3NhZ2VzOjpSZW1vdGVDb21wdXRlUGFzc0VuY29kZXI6OkJlZ2luUGlwZWxpbmVT
dGF0aXN0aWNzUXVlcnkoY29udmVydGVkUXVlcnlTZXQsIHF1ZXJ5SW5kZXgpKTsKLSAgICBVTlVT
RURfVkFSSUFCTEUoc2VuZFJlc3VsdCk7Ci19Ci0KLXZvaWQgUmVtb3RlQ29tcHV0ZVBhc3NFbmNv
ZGVyUHJveHk6OmVuZFBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KCkKLXsKLSAgICBhdXRvIHNlbmRS
ZXN1bHQgPSBzZW5kKE1lc3NhZ2VzOjpSZW1vdGVDb21wdXRlUGFzc0VuY29kZXI6OkVuZFBpcGVs
aW5lU3RhdGlzdGljc1F1ZXJ5KCkpOwotICAgIFVOVVNFRF9WQVJJQUJMRShzZW5kUmVzdWx0KTsK
LX0KLQotdm9pZCBSZW1vdGVDb21wdXRlUGFzc0VuY29kZXJQcm94eTo6ZW5kUGFzcygpCi17Ci0g
ICAgYXV0byBzZW5kUmVzdWx0ID0gc2VuZChNZXNzYWdlczo6UmVtb3RlQ29tcHV0ZVBhc3NFbmNv
ZGVyOjpFbmRQYXNzKCkpOworICAgIGF1dG8gc2VuZFJlc3VsdCA9IHNlbmQoTWVzc2FnZXM6OlJl
bW90ZUNvbXB1dGVQYXNzRW5jb2Rlcjo6RW5kKCkpOwogICAgIFVOVVNFRF9WQVJJQUJMRShzZW5k
UmVzdWx0KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9n
cmFwaGljcy9XZWJHUFUvUmVtb3RlQ29tcHV0ZVBhc3NFbmNvZGVyUHJveHkuaCBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUNvbXB1dGVQYXNzRW5j
b2RlclByb3h5LmgKaW5kZXggM2YyZGE3OTdhOTI5NjVkNzRiZDkwZDU4YWMyZjU4Nzc2ZjU0MGMx
Yy4uODdhOTU4YzE3NmE3NDE3YWEwMTk0ZTQ5NGYzNmU4MTI2NDhiNjg1YyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQ29tcHV0
ZVBhc3NFbmNvZGVyUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dy
YXBoaWNzL1dlYkdQVS9SZW1vdGVDb21wdXRlUGFzc0VuY29kZXJQcm94eS5oCkBAIC03MywxMyAr
NzMsMTAgQEAgcHJpdmF0ZToKICAgICB9CiAKICAgICB2b2lkIHNldFBpcGVsaW5lKGNvbnN0IFBB
TDo6V2ViR1BVOjpDb21wdXRlUGlwZWxpbmUmKSBmaW5hbDsKLSAgICB2b2lkIGRpc3BhdGNoKFBB
TDo6V2ViR1BVOjpTaXplMzIgeCwgc3RkOjpvcHRpb25hbDxQQUw6OldlYkdQVTo6U2l6ZTMyPiB5
LCBzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpTaXplMzI+KSBmaW5hbDsKKyAgICB2b2lkIGRp
c3BhdGNoKFBBTDo6V2ViR1BVOjpTaXplMzIgd29ya2dyb3VwQ291bnRYLCBQQUw6OldlYkdQVTo6
U2l6ZTMyIHdvcmtncm91cENvdW50WSA9IDEsIFBBTDo6V2ViR1BVOjpTaXplMzIgd29ya2dyb3Vw
Q291bnRaID0gMSkgZmluYWw7CiAgICAgdm9pZCBkaXNwYXRjaEluZGlyZWN0KGNvbnN0IFBBTDo6
V2ViR1BVOjpCdWZmZXImIGluZGlyZWN0QnVmZmVyLCBQQUw6OldlYkdQVTo6U2l6ZTY0IGluZGly
ZWN0T2Zmc2V0KSBmaW5hbDsKIAotICAgIHZvaWQgYmVnaW5QaXBlbGluZVN0YXRpc3RpY3NRdWVy
eShjb25zdCBQQUw6OldlYkdQVTo6UXVlcnlTZXQmLCBQQUw6OldlYkdQVTo6U2l6ZTMyIHF1ZXJ5
SW5kZXgpIGZpbmFsOwotICAgIHZvaWQgZW5kUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkoKSBmaW5h
bDsKLQotICAgIHZvaWQgZW5kUGFzcygpIGZpbmFsOworICAgIHZvaWQgZW5kKCkgZmluYWw7CiAK
ICAgICB2b2lkIHNldEJpbmRHcm91cChQQUw6OldlYkdQVTo6SW5kZXgzMiwgY29uc3QgUEFMOjpX
ZWJHUFU6OkJpbmRHcm91cCYsCiAgICAgICAgIHN0ZDo6b3B0aW9uYWw8VmVjdG9yPFBBTDo6V2Vi
R1BVOjpCdWZmZXJEeW5hbWljT2Zmc2V0Pj4mJikgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVRdWV1ZVByb3h5Lmgg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVRdWV1
ZVByb3h5LmgKaW5kZXggNWVhMjEwM2MxZmRiOWEyZTUyNzAzNWRkMTZjNDZkNDRlMmQ3ZGVjMi4u
ZGE3NzVkM2UwY2E3YzI2ZjA3YjViYTE5MTIxNDUxYjc1ZjA3NjZmOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9XZWJHUFUvUmVtb3RlUXVldWVQcm94
eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvV2ViR1BVL1Jl
bW90ZVF1ZXVlUHJveHkuaApAQCAtODIsOCArODIsOCBAQCBwcml2YXRlOgogICAgICAgICBQQUw6
OldlYkdQVTo6U2l6ZTY0IGJ1ZmZlck9mZnNldCwKICAgICAgICAgY29uc3Qgdm9pZCogc291cmNl
LAogICAgICAgICBzaXplX3QgYnl0ZUxlbmd0aCwKLSAgICAgICAgUEFMOjpXZWJHUFU6OlNpemU2
NCBkYXRhT2Zmc2V0LAotICAgICAgICBzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpTaXplNjQ+
KSBmaW5hbDsKKyAgICAgICAgUEFMOjpXZWJHUFU6OlNpemU2NCBkYXRhT2Zmc2V0ID0gMCwKKyAg
ICAgICAgc3RkOjpvcHRpb25hbDxQQUw6OldlYkdQVTo6U2l6ZTY0PiA9IHN0ZDo6bnVsbG9wdCkg
ZmluYWw7CiAKICAgICB2b2lkIHdyaXRlVGV4dHVyZSgKICAgICAgICAgY29uc3QgUEFMOjpXZWJH
UFU6OkltYWdlQ29weVRleHR1cmUmIGRlc3RpbmF0aW9uLApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9XZWJHUFUvUmVtb3RlUmVuZGVyUGFzc0VuY29k
ZXJQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1dlYkdQ
VS9SZW1vdGVSZW5kZXJQYXNzRW5jb2RlclByb3h5LmNwcAppbmRleCAzZThmNWE2M2Y0YWYxMjQ3
MmI4ZjIzZjU4ZmRmMmQ4N2FiZmQzNTAwLi43ODNmZTBhMGY4NzgxYjBhMDI4NzY5MTc1ZTU2OTBl
ODNmNGExZjc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBo
aWNzL1dlYkdQVS9SZW1vdGVSZW5kZXJQYXNzRW5jb2RlclByb3h5LmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVSZW5kZXJQYXNzRW5j
b2RlclByb3h5LmNwcApAQCAtMjA0LDIzICsyMDQsNiBAQCB2b2lkIFJlbW90ZVJlbmRlclBhc3NF
bmNvZGVyUHJveHk6OmVuZE9jY2x1c2lvblF1ZXJ5KCkKICAgICBVTlVTRURfVkFSSUFCTEUoc2Vu
ZFJlc3VsdCk7CiB9CiAKLXZvaWQgUmVtb3RlUmVuZGVyUGFzc0VuY29kZXJQcm94eTo6YmVnaW5Q
aXBlbGluZVN0YXRpc3RpY3NRdWVyeShjb25zdCBQQUw6OldlYkdQVTo6UXVlcnlTZXQmIHF1ZXJ5
U2V0LCBQQUw6OldlYkdQVTo6U2l6ZTMyIHF1ZXJ5SW5kZXgpCi17Ci0gICAgYXV0byBjb252ZXJ0
ZWRRdWVyeVNldCA9IG1fY29udmVydFRvQmFja2luZ0NvbnRleHQtPmNvbnZlcnRUb0JhY2tpbmco
cXVlcnlTZXQpOwotICAgIEFTU0VSVChjb252ZXJ0ZWRRdWVyeVNldCk7Ci0gICAgaWYgKCFjb252
ZXJ0ZWRRdWVyeVNldCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgYXV0byBzZW5kUmVzdWx0ID0g
c2VuZChNZXNzYWdlczo6UmVtb3RlUmVuZGVyUGFzc0VuY29kZXI6OkJlZ2luUGlwZWxpbmVTdGF0
aXN0aWNzUXVlcnkoY29udmVydGVkUXVlcnlTZXQsIHF1ZXJ5SW5kZXgpKTsKLSAgICBVTlVTRURf
VkFSSUFCTEUoc2VuZFJlc3VsdCk7Ci19Ci0KLXZvaWQgUmVtb3RlUmVuZGVyUGFzc0VuY29kZXJQ
cm94eTo6ZW5kUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkoKQotewotICAgIGF1dG8gc2VuZFJlc3Vs
dCA9IHNlbmQoTWVzc2FnZXM6OlJlbW90ZVJlbmRlclBhc3NFbmNvZGVyOjpFbmRQaXBlbGluZVN0
YXRpc3RpY3NRdWVyeSgpKTsKLSAgICBVTlVTRURfVkFSSUFCTEUoc2VuZFJlc3VsdCk7Ci19Ci0K
IHZvaWQgUmVtb3RlUmVuZGVyUGFzc0VuY29kZXJQcm94eTo6ZXhlY3V0ZUJ1bmRsZXMoVmVjdG9y
PHN0ZDo6cmVmZXJlbmNlX3dyYXBwZXI8UEFMOjpXZWJHUFU6OlJlbmRlckJ1bmRsZT4+JiYgcmVu
ZGVyQnVuZGxlcykKIHsKICAgICBWZWN0b3I8V2ViR1BVSWRlbnRpZmllcj4gY29udmVydGVkUmVu
ZGVyQnVuZGxlczsKQEAgLTIzNyw5ICsyMjAsOSBAQCB2b2lkIFJlbW90ZVJlbmRlclBhc3NFbmNv
ZGVyUHJveHk6OmV4ZWN1dGVCdW5kbGVzKFZlY3RvcjxzdGQ6OnJlZmVyZW5jZV93cmFwcGVyPAog
ICAgIFVOVVNFRF9WQVJJQUJMRShzZW5kUmVzdWx0KTsKIH0KIAotdm9pZCBSZW1vdGVSZW5kZXJQ
YXNzRW5jb2RlclByb3h5OjplbmRQYXNzKCkKK3ZvaWQgUmVtb3RlUmVuZGVyUGFzc0VuY29kZXJQ
cm94eTo6ZW5kKCkKIHsKLSAgICBhdXRvIHNlbmRSZXN1bHQgPSBzZW5kKE1lc3NhZ2VzOjpSZW1v
dGVSZW5kZXJQYXNzRW5jb2Rlcjo6RW5kUGFzcygpKTsKKyAgICBhdXRvIHNlbmRSZXN1bHQgPSBz
ZW5kKE1lc3NhZ2VzOjpSZW1vdGVSZW5kZXJQYXNzRW5jb2Rlcjo6RW5kKCkpOwogICAgIFVOVVNF
RF9WQVJJQUJMRShzZW5kUmVzdWx0KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9XZWJHUFUvUmVtb3RlUmVuZGVyUGFzc0VuY29kZXJQcm94
eS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9XZWJHUFUvUmVtb3Rl
UmVuZGVyUGFzc0VuY29kZXJQcm94eS5oCmluZGV4IGU1ZjY5M2Q4YzhlYmY2ZTkwNWQ5MTQyZTBk
M2ViZTczNGMxODRjMzcuLmZjNWI1OTZmNWJhOGRjZjdjOGI1NjUyY2JkNzU4YjEwNGU5NWQ5NGUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvV2ViR1BV
L1JlbW90ZVJlbmRlclBhc3NFbmNvZGVyUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvR1BVL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVSZW5kZXJQYXNzRW5jb2RlclByb3h5LmgK
QEAgLTExMywxMSArMTEzLDggQEAgcHJpdmF0ZToKICAgICB2b2lkIGJlZ2luT2NjbHVzaW9uUXVl
cnkoUEFMOjpXZWJHUFU6OlNpemUzMiBxdWVyeUluZGV4KSBmaW5hbDsKICAgICB2b2lkIGVuZE9j
Y2x1c2lvblF1ZXJ5KCkgZmluYWw7CiAKLSAgICB2b2lkIGJlZ2luUGlwZWxpbmVTdGF0aXN0aWNz
UXVlcnkoY29uc3QgUEFMOjpXZWJHUFU6OlF1ZXJ5U2V0JiwgUEFMOjpXZWJHUFU6OlNpemUzMiBx
dWVyeUluZGV4KSBmaW5hbDsKLSAgICB2b2lkIGVuZFBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KCkg
ZmluYWw7Ci0KICAgICB2b2lkIGV4ZWN1dGVCdW5kbGVzKFZlY3RvcjxzdGQ6OnJlZmVyZW5jZV93
cmFwcGVyPFBBTDo6V2ViR1BVOjpSZW5kZXJCdW5kbGU+PiYmKSBmaW5hbDsKLSAgICB2b2lkIGVu
ZFBhc3MoKSBmaW5hbDsKKyAgICB2b2lkIGVuZCgpIGZpbmFsOwogCiAgICAgdm9pZCBzZXRMYWJl
bEludGVybmFsKGNvbnN0IFN0cmluZyYpIGZpbmFsOwogCg==
</data>
<flag name="commit-queue"
          id="479087"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>452145</attachid>
            <date>2022-02-15 22:20:22 -0800</date>
            <delta_ts>2022-02-16 04:23:32 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-236639-20220215222021.patch</filename>
            <type>text/plain</type>
            <size>303023</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg5ODcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzM4NThhMzM1MTFjMTZj
MzBjMDdhMTJhMWJhMjNmYzdlNWJlMTdkZC4uYjRmMzZhMDgyYWQ5NjcwMjZiMzNjYTJiMzRlODdi
MjM2ZWY2ZGM5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDExOSBAQAorMjAyMi0wMi0xNSAgTXls
ZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFtXZWJHUFVd
IFVwZGF0ZSBJRExzIGFuZCBzdHVicyB0byBsYXRlc3QgdmVyc2lvbiBvZiB0aGUgc3BlYworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM2NjM5CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyB1cGRhdGVz
IG91ciBXZWJHUFUgaW5mcmFzdHJ1Y3R1cmUgdG8gc3BlYyByZXZpc2lvbiA2MjZmOGMwNWM4ZTY3
YjU0MTU5ZTkzYWU3YzM2OTlhODg5ZjBiMTE1LiBUaGlzCisgICAgICAgIGlzIGp1c3QgdGhlIHBs
dW1iaW5nIHRoYXQgY29ubmVjdHMgSURMIC0+IFdlYkNvcmUgQysrIC0+IFBBTCB2aXJ0dWFsIG1l
dGhvZHMgLT4gV2ViS2l0IFdlYiBwcm9jZXNzIC0+CisgICAgICAgIFdlYktpdCBHUFUgcHJvY2Vz
cyAtPiBQQUwgdmlydHVhbCBtZXRob2RzIC0+IFBBTCBXZWJHUFUgaW1wbGVtZW50YXRpb24gLT4g
V2ViR1BVLmZyYW1ld29yay4gVGhpcyBhbHNvCisgICAgICAgIHVwZGF0ZXMgdGhlIFdlYkdQVS5o
IHNoYXJlZCBoZWFkZXIgdG8gcmV2aXNpb24gMDhlZjU3NzMzNTAzYjhmYjUwNGUwNjgxYThkYjY1
MGM4ODIyNTk0Ny4gVGhpcyBpcyBqdXN0CisgICAgICAgIHBsdW1iaW5nIC0gdGhlIGFjdHVhbCBp
bXBsZW1lbnRhdGlvbiBvZiB0aGlzIHN0dWZmIGlzIHN0aWxsIGp1c3Qgc3R1YnMgaW4gV2ViR1BV
LmZyYW1ld29yay4KKworICAgICAgICBUaGVyZSBoYXZlIGJlZW4gYSBmZXcgdmFyaW91cyBjaGFu
Z2VzOgorICAgICAgICAtIEEgdmlld0Zvcm1hdHMgYXJyYXkgaGFzIGJlZW4gYWRkZWQgdG8gR1BV
Q2FudmFzQ29uZmlndXJhdGlvbiBhbmQgR1BVVGV4dHVyZURlc2NyaXB0b3IKKyAgICAgICAgLSBm
aWxsQnVmZmVyKCkgaGFzIGJlZW4gcmVuYW1lZCB0byBjbGVhckJ1ZmZlcigpCisgICAgICAgIC0g
UGlwZWxpbmUgc3RhdGlzdGljcyBxdWVyaWVzIGhhdmUgYmVlbiBkZWxldGVkCisgICAgICAgIC0g
QSBmZXcgcmVmYWN0b3JpbmdzIHRvIHR1cm4gVmVjdG9yPEZvbz4gdGhpbmdzIGludG8gVmVjdG9y
PHN0ZDo6b3B0aW9uYWw8Rm9vPj4KKyAgICAgICAgLSBmbGlwWSBoYXMgYmVlbiBhZGRlZCB0byBH
UFVJbWFnZUNvcHlFeHRlcm5hbEltYWdlCisgICAgICAgIC0gTG9hZCBvcGVyYXRpb25zIGhhdmUg
YmVlbiByZWRlc2lnbmVkIG9uIGJvdGggR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudCBhbmQK
KyAgICAgICAgICAgICAgR1BVUmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQKKyAgICAg
ICAgLSBlbmRQYXNzKCkgaGFzIGJlZW4gcmVuYW1lZCB0byBlbmQoKQorICAgICAgICAtIFNoYWRl
ciBjb21waWxhdGlvbiBub3cgdGFrZXMgYSByZWNvcmQ8ZW50cnkgcG9pbnQgbmFtZSwgR1BVU2hh
ZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50PgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBiZWNhdXNl
IHRoZSBpbXBsZW1lbnRhdGlvbiBpcyBzdGlsbCBqdXN0IHN0dWJzLgorCisgICAgICAgICogQ01h
a2VMaXN0cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdDoK
KyAgICAgICAgKiBEZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBE
ZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIEhlYWRlcnMuY21ha2U6CisgICAgICAgICog
TW9kdWxlcy9XZWJHUFUvR1BVQnVmZmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdQVUJ1ZmZl
cjo6bWFwQXN5bmMpOgorICAgICAgICAoV2ViQ29yZTo6R1BVQnVmZmVyOjpnZXRNYXBwZWRSYW5n
ZSk6CisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVQnVmZmVyLmg6CisgICAgICAgICogTW9k
dWxlcy9XZWJHUFUvR1BVQ2FudmFzQ29uZmlndXJhdGlvbi5oOgorICAgICAgICAoV2ViQ29yZTo6
R1BVQ2FudmFzQ29uZmlndXJhdGlvbjo6Y29udmVydFRvQmFja2luZyBjb25zdCk6CisgICAgICAg
ICogTW9kdWxlcy9XZWJHUFUvR1BVQ2FudmFzQ29uZmlndXJhdGlvbi5pZGw6CisgICAgICAgICog
TW9kdWxlcy9XZWJHUFUvR1BVQ29tbWFuZEVuY29kZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
R1BVQ29tbWFuZEVuY29kZXI6OmNsZWFyQnVmZmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkdQVUNv
bW1hbmRFbmNvZGVyOjpmaWxsQnVmZmVyKTogRGVsZXRlZC4KKyAgICAgICAgKiBNb2R1bGVzL1dl
YkdQVS9HUFVDb21tYW5kRW5jb2Rlci5oOgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVUNv
bW1hbmRFbmNvZGVyLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVDb21tYW5kc01p
eGluLmlkbDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVTG9h
ZE9wLmlkbC4KKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVDb21wdXRlUGFzc0VuY29kZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6R1BVQ29tcHV0ZVBhc3NFbmNvZGVyOjpkaXNwYXRjaCk6
CisgICAgICAgIChXZWJDb3JlOjpHUFVDb21wdXRlUGFzc0VuY29kZXI6OmVuZCk6CisgICAgICAg
IChXZWJDb3JlOjpHUFVDb21wdXRlUGFzc0VuY29kZXI6OmJlZ2luUGlwZWxpbmVTdGF0aXN0aWNz
UXVlcnkpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6R1BVQ29tcHV0ZVBhc3NFbmNvZGVy
OjplbmRQaXBlbGluZVN0YXRpc3RpY3NRdWVyeSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3Jl
OjpHUFVDb21wdXRlUGFzc0VuY29kZXI6OmVuZFBhc3MpOiBEZWxldGVkLgorICAgICAgICAqIE1v
ZHVsZXMvV2ViR1BVL0dQVUNvbXB1dGVQYXNzRW5jb2Rlci5oOgorICAgICAgICAqIE1vZHVsZXMv
V2ViR1BVL0dQVUNvbXB1dGVQYXNzRW5jb2Rlci5pZGw6CisgICAgICAgICogTW9kdWxlcy9XZWJH
UFUvR1BVRGVidWdDb21tYW5kc01peGluLmlkbDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9XZWJHUFUvR1BVRnJhZ21lbnRTdGF0ZS5pZGwuCisgICAgICAgICogTW9kdWxlcy9X
ZWJHUFUvR1BVRmVhdHVyZU5hbWUuaDoKKyAgICAgICAgKFdlYkNvcmU6OmNvbnZlcnRUb0JhY2tp
bmcpOgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVUZlYXR1cmVOYW1lLmlkbDoKKyAgICAg
ICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVGcmFnbWVudFN0YXRlLmg6CisgICAgICAgIChXZWJDb3Jl
OjpHUFVGcmFnbWVudFN0YXRlOjpjb252ZXJ0VG9CYWNraW5nIGNvbnN0KToKKyAgICAgICAgKiBN
b2R1bGVzL1dlYkdQVS9HUFVGcmFnbWVudFN0YXRlLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL1dl
YkdQVS9HUFVJbWFnZUNvcHlFeHRlcm5hbEltYWdlLmg6CisgICAgICAgIChXZWJDb3JlOjpHUFVJ
bWFnZUNvcHlFeHRlcm5hbEltYWdlOjpjb252ZXJ0VG9CYWNraW5nIGNvbnN0KToKKyAgICAgICAg
KiBNb2R1bGVzL1dlYkdQVS9HUFVJbWFnZUNvcHlFeHRlcm5hbEltYWdlLmlkbDoKKyAgICAgICAg
KiBNb2R1bGVzL1dlYkdQVS9HUFVMb2FkT3AuaDoKKyAgICAgICAgKFdlYkNvcmU6OmNvbnZlcnRU
b0JhY2tpbmcpOgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVUxvYWRPcC5pZGw6CisgICAg
ICAgICogTW9kdWxlcy9XZWJHUFUvR1BVT2JqZWN0QmFzZS5pZGw6CisgICAgICAgICogTW9kdWxl
cy9XZWJHUFUvR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lLmg6IFJlbW92ZWQuCisgICAgICAgICog
TW9kdWxlcy9XZWJHUFUvR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lLmlkbDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVQcm9ncmFtbWFibGVQYXNzRW5jb2Rlci5pZGw6Cisg
ICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVUXVlcnlTZXREZXNjcmlwdG9yLmg6CisgICAgICAg
IChXZWJDb3JlOjpHUFVRdWVyeVNldERlc2NyaXB0b3I6OmNvbnZlcnRUb0JhY2tpbmcgY29uc3Qp
OgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVVF1ZXJ5U2V0RGVzY3JpcHRvci5pZGw6Cisg
ICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVUXVlcnlUeXBlLmg6CisgICAgICAgIChXZWJDb3Jl
Ojpjb252ZXJ0VG9CYWNraW5nKToKKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVRdWVyeVR5
cGUuaWRsOgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVVF1ZXVlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkdQVVF1ZXVlOjp3cml0ZUJ1ZmZlcik6CisgICAgICAgICogTW9kdWxlcy9XZWJH
UFUvR1BVUXVldWUuaDoKKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJCdW5kbGVF
bmNvZGVyLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJCdW5kbGVFbmNv
ZGVyRGVzY3JpcHRvci5oOgorICAgICAgICAoV2ViQ29yZTo6R1BVUmVuZGVyQnVuZGxlRW5jb2Rl
ckRlc2NyaXB0b3I6OmNvbnZlcnRUb0JhY2tpbmcgY29uc3QpOgorICAgICAgICAqIE1vZHVsZXMv
V2ViR1BVL0dQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6
OkdQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQ6OmNvbnZlcnRUb0JhY2tpbmcgY29uc3QpOgor
ICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQuaWRs
OgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRh
Y2htZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpHUFVSZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0
YWNobWVudDo6Y29udmVydFRvQmFja2luZyBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy9XZWJH
UFUvR1BVUmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQuaWRsOgorICAgICAgICAqIE1v
ZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NEZXNjcmlwdG9yLmg6CisgICAgICAgIChXZWJDb3Jl
OjpHUFVSZW5kZXJQYXNzRGVzY3JpcHRvcjo6Y29udmVydFRvQmFja2luZyBjb25zdCk6CisgICAg
ICAgICogTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IuaWRsOgorICAgICAg
ICAqIE1vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NFbmNvZGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkdQVVJlbmRlclBhc3NFbmNvZGVyOjplbmQpOgorICAgICAgICAoV2ViQ29yZTo6R1BV
UmVuZGVyUGFzc0VuY29kZXI6OmJlZ2luUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkpOiBEZWxldGVk
LgorICAgICAgICAoV2ViQ29yZTo6R1BVUmVuZGVyUGFzc0VuY29kZXI6OmVuZFBpcGVsaW5lU3Rh
dGlzdGljc1F1ZXJ5KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkdQVVJlbmRlclBhc3NF
bmNvZGVyOjplbmRQYXNzKTogRGVsZXRlZC4KKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVS
ZW5kZXJQYXNzRW5jb2Rlci5oOgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBh
c3NFbmNvZGVyLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzTGF5
b3V0Lmg6CisgICAgICAgIChXZWJDb3JlOjpHUFVSZW5kZXJQYXNzTGF5b3V0Ojpjb252ZXJ0VG9C
YWNraW5nIGNvbnN0KToKKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzTGF5
b3V0LmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVTaGFkZXJNb2R1bGVDb21waWxh
dGlvbkhpbnQuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BV
TG9hZE9wLmguCisgICAgICAgIChXZWJDb3JlOjpHUFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhp
bnQ6OmNvbnZlcnRUb0JhY2tpbmcgY29uc3QpOgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQ
VVNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludC5pZGw6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvV2ViR1BVL0dQVVF1ZXJ5VHlwZS5pZGwuCisgICAgICAgICogTW9kdWxlcy9X
ZWJHUFUvR1BVU2hhZGVyTW9kdWxlRGVzY3JpcHRvci5oOgorICAgICAgICAoV2ViQ29yZTo6R1BV
U2hhZGVyTW9kdWxlRGVzY3JpcHRvcjo6Y29udmVydFRvQmFja2luZyBjb25zdCk6CisgICAgICAg
ICogTW9kdWxlcy9XZWJHUFUvR1BVU2hhZGVyTW9kdWxlRGVzY3JpcHRvci5pZGw6CisgICAgICAg
ICogTW9kdWxlcy9XZWJHUFUvR1BVVGV4dHVyZURlc2NyaXB0b3IuaDoKKyAgICAgICAgKFdlYkNv
cmU6OkdQVVRleHR1cmVEZXNjcmlwdG9yOjpjb252ZXJ0VG9CYWNraW5nIGNvbnN0KToKKyAgICAg
ICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVUZXh0dXJlRGVzY3JpcHRvci5pZGw6CisgICAgICAgICog
TW9kdWxlcy9XZWJHUFUvR1BVVGV4dHVyZUZvcm1hdC5oOgorICAgICAgICAoV2ViQ29yZTo6Y29u
dmVydFRvQmFja2luZyk6CisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVVGV4dHVyZUZvcm1h
dC5pZGw6CisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVVW5jYXB0dXJlZEVycm9yRXZlbnQu
aWRsOgorICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvajoKKwogMjAyMi0wMi0xNSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBw
bGUuY29tPgogCiAgICAgICAgIERvIHByZWxpbWluYXJ5IHdvcmsgdG8gcGFzcyBkb21haW4gbmFt
ZXMgdG8gQ29yZUxvY2F0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCAxN2YzOWIzZTg5ZWYyMTg0
MTc0NjVhZGJjY2E4MzYwZmM3NjBlYjU1Li41YzFlZTg2NzExYTY1NmYyYTA1MDU1NjgwNzllZjJi
ZDA0N2ZmYTEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSw3MCBAQAorMjAyMi0wMi0x
NSAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFtX
ZWJHUFVdIFVwZGF0ZSBJRExzIGFuZCBzdHVicyB0byBsYXRlc3QgdmVyc2lvbiBvZiB0aGUgc3Bl
YworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM2NjM5
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBQQUwu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBwYWwvZ3JhcGhpY3MvV2ViR1BV
L0ltcGwvV2ViR1BVQWRhcHRlckltcGwuY3BwOgorICAgICAgICAoUEFMOjpXZWJHUFU6OnN1cHBv
cnRlZEZlYXR1cmVzKToKKyAgICAgICAgKFBBTDo6V2ViR1BVOjpBZGFwdGVySW1wbDo6cmVxdWVz
dERldmljZSk6CisgICAgICAgICogcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVUJ1ZmZl
ckltcGwuY3BwOgorICAgICAgICAoUEFMOjpXZWJHUFU6OkJ1ZmZlckltcGw6Om1hcEFzeW5jKToK
KyAgICAgICAgKFBBTDo6V2ViR1BVOjpCdWZmZXJJbXBsOjpnZXRNYXBwZWRSYW5nZSk6CisgICAg
ICAgICogcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVUJ1ZmZlckltcGwuaDoKKyAgICAg
ICAgKiBwYWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwvV2ViR1BVQ29tbWFuZEVuY29kZXJJbXBsLmNw
cDoKKyAgICAgICAgKFBBTDo6V2ViR1BVOjpDb21tYW5kRW5jb2RlckltcGw6OmJlZ2luUmVuZGVy
UGFzcyk6CisgICAgICAgIChQQUw6OldlYkdQVTo6Q29tbWFuZEVuY29kZXJJbXBsOjpiZWdpbkNv
bXB1dGVQYXNzKToKKyAgICAgICAgKFBBTDo6V2ViR1BVOjpDb21tYW5kRW5jb2RlckltcGw6OmNs
ZWFyQnVmZmVyKToKKyAgICAgICAgKFBBTDo6V2ViR1BVOjpDb21tYW5kRW5jb2RlckltcGw6OmZp
bGxCdWZmZXIpOiBEZWxldGVkLgorICAgICAgICAqIHBhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9X
ZWJHUFVDb21tYW5kRW5jb2RlckltcGwuaDoKKyAgICAgICAgKiBwYWwvZ3JhcGhpY3MvV2ViR1BV
L0ltcGwvV2ViR1BVQ29tcHV0ZVBhc3NFbmNvZGVySW1wbC5jcHA6CisgICAgICAgIChQQUw6Oldl
YkdQVTo6Q29tcHV0ZVBhc3NFbmNvZGVySW1wbDo6ZGlzcGF0Y2gpOgorICAgICAgICAoUEFMOjpX
ZWJHUFU6OkNvbXB1dGVQYXNzRW5jb2RlckltcGw6OmVuZCk6CisgICAgICAgIChQQUw6OldlYkdQ
VTo6Q29tcHV0ZVBhc3NFbmNvZGVySW1wbDo6YmVnaW5QaXBlbGluZVN0YXRpc3RpY3NRdWVyeSk6
IERlbGV0ZWQuCisgICAgICAgIChQQUw6OldlYkdQVTo6Q29tcHV0ZVBhc3NFbmNvZGVySW1wbDo6
ZW5kUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkpOiBEZWxldGVkLgorICAgICAgICAoUEFMOjpXZWJH
UFU6OkNvbXB1dGVQYXNzRW5jb2RlckltcGw6OmVuZFBhc3MpOiBEZWxldGVkLgorICAgICAgICAq
IHBhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9XZWJHUFVDb21wdXRlUGFzc0VuY29kZXJJbXBsLmg6
CisgICAgICAgICogcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVUNvbnZlcnRUb0JhY2tp
bmdDb250ZXh0LmNwcDoKKyAgICAgICAgKFBBTDo6V2ViR1BVOjpDb252ZXJ0VG9CYWNraW5nQ29u
dGV4dDo6Y29udmVydFRvQmFja2luZyk6CisgICAgICAgICogcGFsL2dyYXBoaWNzL1dlYkdQVS9J
bXBsL1dlYkdQVUNvbnZlcnRUb0JhY2tpbmdDb250ZXh0Lmg6CisgICAgICAgICogcGFsL2dyYXBo
aWNzL1dlYkdQVS9JbXBsL1dlYkdQVURldmljZUltcGwuY3BwOgorICAgICAgICAoUEFMOjpXZWJH
UFU6OkRldmljZUltcGw6OmNyZWF0ZVRleHR1cmUpOgorICAgICAgICAoUEFMOjpXZWJHUFU6OkRl
dmljZUltcGw6OmNyZWF0ZVNoYWRlck1vZHVsZSk6CisgICAgICAgIChQQUw6OldlYkdQVTo6Y29u
dmVydFRvQmFja2luZyk6CisgICAgICAgIChQQUw6OldlYkdQVTo6RGV2aWNlSW1wbDo6Y3JlYXRl
UmVuZGVyQnVuZGxlRW5jb2Rlcik6CisgICAgICAgIChQQUw6OldlYkdQVTo6RGV2aWNlSW1wbDo6
Y3JlYXRlUXVlcnlTZXQpOgorICAgICAgICAqIHBhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9XZWJH
UFVJbXBsLmNwcDoKKyAgICAgICAgKFBBTDo6V2ViR1BVOjpHUFVJbXBsOjpyZXF1ZXN0QWRhcHRl
cik6CisgICAgICAgICogcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVVJlbmRlclBhc3NF
bmNvZGVySW1wbC5jcHA6CisgICAgICAgIChQQUw6OldlYkdQVTo6UmVuZGVyUGFzc0VuY29kZXJJ
bXBsOjplbmQpOgorICAgICAgICAoUEFMOjpXZWJHUFU6OlJlbmRlclBhc3NFbmNvZGVySW1wbDo6
YmVnaW5QaXBlbGluZVN0YXRpc3RpY3NRdWVyeSk6IERlbGV0ZWQuCisgICAgICAgIChQQUw6Oldl
YkdQVTo6UmVuZGVyUGFzc0VuY29kZXJJbXBsOjplbmRQaXBlbGluZVN0YXRpc3RpY3NRdWVyeSk6
IERlbGV0ZWQuCisgICAgICAgIChQQUw6OldlYkdQVTo6UmVuZGVyUGFzc0VuY29kZXJJbXBsOjpl
bmRQYXNzKTogRGVsZXRlZC4KKyAgICAgICAgKiBwYWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwvV2Vi
R1BVUmVuZGVyUGFzc0VuY29kZXJJbXBsLmg6CisgICAgICAgICogcGFsL2dyYXBoaWNzL1dlYkdQ
VS9XZWJHUFVCdWZmZXIuaDoKKyAgICAgICAgKiBwYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVUNh
bnZhc0NvbmZpZ3VyYXRpb24uaDoKKyAgICAgICAgKiBwYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQ
VUNvbW1hbmRFbmNvZGVyLmg6CisgICAgICAgICogcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVD
b21wdXRlUGFzc0VuY29kZXIuaDoKKyAgICAgICAgKiBwYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQ
VUZlYXR1cmVOYW1lLmg6CisgICAgICAgICogcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVGcmFn
bWVudFN0YXRlLmg6CisgICAgICAgICogcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVJbWFnZUNv
cHlFeHRlcm5hbEltYWdlLmg6CisgICAgICAgICogcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVM
b2FkT3AuaDoKKyAgICAgICAgKiBwYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVBpcGVsaW5lU3Rh
dGlzdGljTmFtZS5oOiBSZW1vdmVkLgorICAgICAgICAqIHBhbC9ncmFwaGljcy9XZWJHUFUvV2Vi
R1BVUXVlcnlTZXREZXNjcmlwdG9yLmg6CisgICAgICAgICogcGFsL2dyYXBoaWNzL1dlYkdQVS9X
ZWJHUFVRdWVyeVR5cGUuaDoKKyAgICAgICAgKiBwYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVF1
ZXVlLmg6CisgICAgICAgICogcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVSZW5kZXJQYXNzQ29s
b3JBdHRhY2htZW50Lmg6CisgICAgICAgICogcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVSZW5k
ZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNobWVudC5oOgorICAgICAgICAqIHBhbC9ncmFwaGljcy9X
ZWJHUFUvV2ViR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IuaDoKKyAgICAgICAgKiBwYWwvZ3JhcGhp
Y3MvV2ViR1BVL1dlYkdQVVJlbmRlclBhc3NFbmNvZGVyLmg6CisgICAgICAgICogcGFsL2dyYXBo
aWNzL1dlYkdQVS9XZWJHUFVSZW5kZXJQYXNzTGF5b3V0Lmg6CisgICAgICAgICogcGFsL2dyYXBo
aWNzL1dlYkdQVS9XZWJHUFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQuaDogQ29waWVkIGZy
b20gU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVSW1hZ2VDb3B5
RXh0ZXJuYWxJbWFnZS5oLgorICAgICAgICAqIHBhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVU2hh
ZGVyTW9kdWxlRGVzY3JpcHRvci5oOgorICAgICAgICAqIHBhbC9ncmFwaGljcy9XZWJHUFUvV2Vi
R1BVVGV4dHVyZURlc2NyaXB0b3IuaDoKKyAgICAgICAgKiBwYWwvZ3JhcGhpY3MvV2ViR1BVL1dl
YkdQVVRleHR1cmVGb3JtYXQuaDoKKwogMjAyMi0wMi0xNSAgQWxleCBDaHJpc3RlbnNlbiAgPGFj
aHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIEZpeCBpbnRlcm5hbCBCaWcgU3VyIGJ1
aWxkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViR1BVL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJHUFUv
Q2hhbmdlTG9nCmluZGV4IDgxZTMwMTUzMzEzNWEwZTM3NzUzN2EyMDRkNmVmMzBlODY2MjY0MmUu
LmFmNjM0MjA4YzY2NDg5NTVjMmNkODgyMTc2NzMyZWY1NWRlOTZiYjkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJHUFUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJHUFUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsNDUgQEAKKzIwMjItMDItMTUgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFw
cGxlLmNvbT4KKworICAgICAgICBbV2ViR1BVXSBVcGRhdGUgSURMcyBhbmQgc3R1YnMgdG8gbGF0
ZXN0IHZlcnNpb24gb2YgdGhlIHNwZWMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIzNjYzOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogV2ViR1BVL0FkYXB0ZXIuaDoKKyAgICAgICAgKiBXZWJHUFUvQWRh
cHRlci5tbToKKyAgICAgICAgKFdlYkdQVTo6QWRhcHRlcjo6ZW51bWVyYXRlRmVhdHVyZXMpOgor
ICAgICAgICAod2dwdUFkYXB0ZXJFbnVtZXJhdGVGZWF0dXJlcyk6CisgICAgICAgIChXZWJHUFU6
OkFkYXB0ZXI6OmdldEZlYXR1cmVBdEluZGV4KTogRGVsZXRlZC4KKyAgICAgICAgKHdncHVBZGFw
dGVyR2V0RmVhdHVyZUF0SW5kZXgpOiBEZWxldGVkLgorICAgICAgICAqIFdlYkdQVS9Db21tYW5k
RW5jb2Rlci5oOgorICAgICAgICAqIFdlYkdQVS9Db21tYW5kRW5jb2Rlci5tbToKKyAgICAgICAg
KFdlYkdQVTo6Q29tbWFuZEVuY29kZXI6OmNsZWFyQnVmZmVyKToKKyAgICAgICAgKHdncHVDb21t
YW5kRW5jb2RlckNsZWFyQnVmZmVyKToKKyAgICAgICAgKFdlYkdQVTo6Q29tbWFuZEVuY29kZXI6
OmZpbGxCdWZmZXIpOiBEZWxldGVkLgorICAgICAgICAod2dwdUNvbW1hbmRFbmNvZGVyRmlsbEJ1
ZmZlcik6IERlbGV0ZWQuCisgICAgICAgICogV2ViR1BVL0NvbXB1dGVQYXNzRW5jb2Rlci5oOgor
ICAgICAgICAqIFdlYkdQVS9Db21wdXRlUGFzc0VuY29kZXIubW06CisgICAgICAgIChXZWJHUFU6
OkNvbXB1dGVQYXNzRW5jb2Rlcjo6d3JpdGVUaW1lc3RhbXApOiBEZWxldGVkLgorICAgICAgICAo
d2dwdUNvbXB1dGVQYXNzRW5jb2RlcldyaXRlVGltZXN0YW1wKTogRGVsZXRlZC4KKyAgICAgICAg
KiBXZWJHUFUvRGV2aWNlLmg6CisgICAgICAgICogV2ViR1BVL0RldmljZS5tbToKKyAgICAgICAg
KFdlYkdQVTo6RGV2aWNlOjplbnVtZXJhdGVGZWF0dXJlcyk6CisgICAgICAgIChXZWJHUFU6OkRl
dmljZTo6aGFzRmVhdHVyZSk6CisgICAgICAgICh3Z3B1RGV2aWNlRW51bWVyYXRlRmVhdHVyZXMp
OgorICAgICAgICAod2dwdURldmljZUhhc0ZlYXR1cmUpOgorICAgICAgICAqIFdlYkdQVS9JbnN0
YW5jZS5tbToKKyAgICAgICAgKHdncHVHZXRQcm9jQWRkcmVzcyk6CisgICAgICAgICogV2ViR1BV
L1JlbmRlclBhc3NFbmNvZGVyLmg6CisgICAgICAgICogV2ViR1BVL1JlbmRlclBhc3NFbmNvZGVy
Lm1tOgorICAgICAgICAoV2ViR1BVOjpSZW5kZXJQYXNzRW5jb2Rlcjo6d3JpdGVUaW1lc3RhbXAp
OiBEZWxldGVkLgorICAgICAgICAod2dwdVJlbmRlclBhc3NFbmNvZGVyV3JpdGVUaW1lc3RhbXAp
OiBEZWxldGVkLgorICAgICAgICAqIFdlYkdQVS9TaGFkZXJNb2R1bGUuaDoKKyAgICAgICAgKiBX
ZWJHUFUvU2hhZGVyTW9kdWxlLm1tOgorICAgICAgICAoV2ViR1BVOjpTaGFkZXJNb2R1bGU6Omdl
dENvbXBpbGF0aW9uSW5mbyk6CisgICAgICAgICh3Z3B1U2hhZGVyTW9kdWxlR2V0Q29tcGlsYXRp
b25JbmZvKToKKyAgICAgICAgKiBXZWJHUFUvV2ViR1BVLmg6CisgICAgICAgICogV2ViR1BVL1dl
YkdQVUV4dC5oOgorCiAyMDIyLTAyLTE1ICBSb2JpbiBNb3Jpc3NldCAgPHJtb3Jpc3NldEBhcHBs
ZS5jb20+CiAKICAgICAgICAgW1dHU0xdIEltcGxlbWVudCBlbm91Z2ggb2YgdGhlIGxleGVyIGZv
ciB0aGUgc2ltcGxlc3Qgc2hhZGVycwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBkOGJkYjE5MWE0NmRiM2UxNGEzMmU4
NGY4NGMyMTMxNWRlNDRkM2Q2Li5hMjQ4N2M2NjdmZmZmNTBhNTUwOWY0MzZiZjg3YTAyMGY0ZmVh
ODAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyNCBAQAorMjAyMi0wMi0xNSAgTXlsZXMgQy4gTWF4
ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFtXZWJHUFVdIFVwZGF0ZSBJ
RExzIGFuZCBzdHVicyB0byBsYXRlc3QgdmVyc2lvbiBvZiB0aGUgc3BlYworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM2NjM5CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBHUFVQcm9jZXNzL2dyYXBoaWNz
L1dlYkdQVS9SZW1vdGVCdWZmZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVCdWZmZXI6
Om1hcEFzeW5jKToKKyAgICAgICAgKiBHUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVC
dWZmZXIuaDoKKyAgICAgICAgKiBHUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVCdWZm
ZXIubWVzc2FnZXMuaW46CisgICAgICAgICogR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVt
b3RlQ29tbWFuZEVuY29kZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVDb21tYW5kRW5j
b2Rlcjo6Y2xlYXJCdWZmZXIpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVDb21tYW5kRW5jb2Rl
cjo6ZmlsbEJ1ZmZlcik6IERlbGV0ZWQuCisgICAgICAgICogR1BVUHJvY2Vzcy9ncmFwaGljcy9X
ZWJHUFUvUmVtb3RlQ29tbWFuZEVuY29kZXIuaDoKKyAgICAgICAgKiBHUFVQcm9jZXNzL2dyYXBo
aWNzL1dlYkdQVS9SZW1vdGVDb21tYW5kRW5jb2Rlci5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBH
UFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVDb21wdXRlUGFzc0VuY29kZXIuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpSZW1vdGVDb21wdXRlUGFzc0VuY29kZXI6OmRpc3BhdGNoKToKKyAg
ICAgICAgKFdlYktpdDo6UmVtb3RlQ29tcHV0ZVBhc3NFbmNvZGVyOjplbmQpOgorICAgICAgICAo
V2ViS2l0OjpSZW1vdGVDb21wdXRlUGFzc0VuY29kZXI6OmJlZ2luUGlwZWxpbmVTdGF0aXN0aWNz
UXVlcnkpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVDb21wdXRlUGFzc0VuY29k
ZXI6OmVuZFBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktp
dDo6UmVtb3RlQ29tcHV0ZVBhc3NFbmNvZGVyOjplbmRQYXNzKTogRGVsZXRlZC4KKyAgICAgICAg
KiBHUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVDb21wdXRlUGFzc0VuY29kZXIuaDoK
KyAgICAgICAgKiBHUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVDb21wdXRlUGFzc0Vu
Y29kZXIubWVzc2FnZXMuaW46CisgICAgICAgICogR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUv
UmVtb3RlUmVuZGVyUGFzc0VuY29kZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVSZW5k
ZXJQYXNzRW5jb2Rlcjo6ZW5kKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlUmVuZGVyUGFzc0Vu
Y29kZXI6OmJlZ2luUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkpOiBEZWxldGVkLgorICAgICAgICAo
V2ViS2l0OjpSZW1vdGVSZW5kZXJQYXNzRW5jb2Rlcjo6ZW5kUGlwZWxpbmVTdGF0aXN0aWNzUXVl
cnkpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVSZW5kZXJQYXNzRW5jb2Rlcjo6
ZW5kUGFzcyk6IERlbGV0ZWQuCisgICAgICAgICogR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUv
UmVtb3RlUmVuZGVyUGFzc0VuY29kZXIuaDoKKyAgICAgICAgKiBHUFVQcm9jZXNzL2dyYXBoaWNz
L1dlYkdQVS9SZW1vdGVSZW5kZXJQYXNzRW5jb2Rlci5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBT
aGFyZWQvV2ViR1BVL1dlYkdQVUNhbnZhc0NvbmZpZ3VyYXRpb24uY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJHUFU6OkNvbnZlcnRUb0JhY2tpbmdDb250ZXh0Ojpjb252ZXJ0VG9CYWNraW5nKToK
KyAgICAgICAgKFdlYktpdDo6V2ViR1BVOjpDb252ZXJ0RnJvbUJhY2tpbmdDb250ZXh0Ojpjb252
ZXJ0RnJvbUJhY2tpbmcpOgorICAgICAgICAqIFNoYXJlZC9XZWJHUFUvV2ViR1BVQ2FudmFzQ29u
ZmlndXJhdGlvbi5oOgorICAgICAgICAoV2ViS2l0OjpXZWJHUFU6OkNhbnZhc0NvbmZpZ3VyYXRp
b246OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OldlYkdQVTo6Q2FudmFzQ29uZmln
dXJhdGlvbjo6ZGVjb2RlKToKKyAgICAgICAgKiBTaGFyZWQvV2ViR1BVL1dlYkdQVUNvbnZlcnRG
cm9tQmFja2luZ0NvbnRleHQuaDoKKyAgICAgICAgKiBTaGFyZWQvV2ViR1BVL1dlYkdQVUNvbnZl
cnRUb0JhY2tpbmdDb250ZXh0Lmg6CisgICAgICAgICogU2hhcmVkL1dlYkdQVS9XZWJHUFVGcmFn
bWVudFN0YXRlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViR1BVOjpDb252ZXJ0VG9CYWNraW5n
Q29udGV4dDo6Y29udmVydFRvQmFja2luZyk6CisgICAgICAgIChXZWJLaXQ6OldlYkdQVTo6Q29u
dmVydEZyb21CYWNraW5nQ29udGV4dDo6Y29udmVydEZyb21CYWNraW5nKToKKyAgICAgICAgKiBT
aGFyZWQvV2ViR1BVL1dlYkdQVUZyYWdtZW50U3RhdGUuaDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
R1BVOjpGcmFnbWVudFN0YXRlOjpkZWNvZGUpOgorICAgICAgICAqIFNoYXJlZC9XZWJHUFUvV2Vi
R1BVSW1hZ2VDb3B5RXh0ZXJuYWxJbWFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkdQVTo6
Q29udmVydFRvQmFja2luZ0NvbnRleHQ6OmNvbnZlcnRUb0JhY2tpbmcpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJHUFU6OkNvbnZlcnRGcm9tQmFja2luZ0NvbnRleHQ6OmNvbnZlcnRGcm9tQmFja2lu
Zyk6CisgICAgICAgICogU2hhcmVkL1dlYkdQVS9XZWJHUFVJbWFnZUNvcHlFeHRlcm5hbEltYWdl
Lmg6CisgICAgICAgIChXZWJLaXQ6OldlYkdQVTo6SW1hZ2VDb3B5RXh0ZXJuYWxJbWFnZTo6ZW5j
b2RlIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6V2ViR1BVOjpJbWFnZUNvcHlFeHRlcm5hbElt
YWdlOjpkZWNvZGUpOgorICAgICAgICAqIFNoYXJlZC9XZWJHUFUvV2ViR1BVSW1hZ2VDb3B5VGV4
dHVyZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkdQVTo6Q29udmVydFRvQmFja2luZ0NvbnRl
eHQ6OmNvbnZlcnRUb0JhY2tpbmcpOgorICAgICAgICAoV2ViS2l0OjpXZWJHUFU6OkNvbnZlcnRG
cm9tQmFja2luZ0NvbnRleHQ6OmNvbnZlcnRGcm9tQmFja2luZyk6CisgICAgICAgICogU2hhcmVk
L1dlYkdQVS9XZWJHUFVRdWVyeVNldERlc2NyaXB0b3IuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJHUFU6OkNvbnZlcnRUb0JhY2tpbmdDb250ZXh0Ojpjb252ZXJ0VG9CYWNraW5nKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViR1BVOjpDb252ZXJ0RnJvbUJhY2tpbmdDb250ZXh0Ojpjb252ZXJ0RnJv
bUJhY2tpbmcpOgorICAgICAgICAqIFNoYXJlZC9XZWJHUFUvV2ViR1BVUXVlcnlTZXREZXNjcmlw
dG9yLmg6CisgICAgICAgIChXZWJLaXQ6OldlYkdQVTo6UXVlcnlTZXREZXNjcmlwdG9yOjplbmNv
ZGUgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJHUFU6OlF1ZXJ5U2V0RGVzY3JpcHRvcjo6
ZGVjb2RlKToKKyAgICAgICAgKiBTaGFyZWQvV2ViR1BVL1dlYkdQVVJlbmRlclBhc3NDb2xvckF0
dGFjaG1lbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJHUFU6OkNvbnZlcnRUb0JhY2tpbmdD
b250ZXh0Ojpjb252ZXJ0VG9CYWNraW5nKToKKyAgICAgICAgKFdlYktpdDo6V2ViR1BVOjpDb252
ZXJ0RnJvbUJhY2tpbmdDb250ZXh0Ojpjb252ZXJ0RnJvbUJhY2tpbmcpOgorICAgICAgICAqIFNo
YXJlZC9XZWJHUFUvV2ViR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudC5oOgorICAgICAgICAo
V2ViS2l0OjpXZWJHUFU6OlJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQ6OmVuY29kZSBjb25zdCk6
CisgICAgICAgIChXZWJLaXQ6OldlYkdQVTo6UmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudDo6ZGVj
b2RlKToKKyAgICAgICAgKiBTaGFyZWQvV2ViR1BVL1dlYkdQVVJlbmRlclBhc3NEZXB0aFN0ZW5j
aWxBdHRhY2htZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViR1BVOjpDb252ZXJ0VG9CYWNr
aW5nQ29udGV4dDo6Y29udmVydFRvQmFja2luZyk6CisgICAgICAgIChXZWJLaXQ6OldlYkdQVTo6
Q29udmVydEZyb21CYWNraW5nQ29udGV4dDo6Y29udmVydEZyb21CYWNraW5nKToKKyAgICAgICAg
KiBTaGFyZWQvV2ViR1BVL1dlYkdQVVJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50Lmg6
CisgICAgICAgIChXZWJLaXQ6OldlYkdQVTo6UmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1l
bnQ6OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OldlYkdQVTo6UmVuZGVyUGFzc0Rl
cHRoU3RlbmNpbEF0dGFjaG1lbnQ6OmRlY29kZSk6CisgICAgICAgICogU2hhcmVkL1dlYkdQVS9X
ZWJHUFVSZW5kZXJQYXNzRGVzY3JpcHRvci5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkdQVTo6
Q29udmVydFRvQmFja2luZ0NvbnRleHQ6OmNvbnZlcnRUb0JhY2tpbmcpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJHUFU6OkNvbnZlcnRGcm9tQmFja2luZ0NvbnRleHQ6OmNvbnZlcnRGcm9tQmFja2lu
Zyk6CisgICAgICAgICogU2hhcmVkL1dlYkdQVS9XZWJHUFVSZW5kZXJQYXNzRGVzY3JpcHRvci5o
OgorICAgICAgICAoV2ViS2l0OjpXZWJHUFU6OlJlbmRlclBhc3NEZXNjcmlwdG9yOjpkZWNvZGUp
OgorICAgICAgICAqIFNoYXJlZC9XZWJHUFUvV2ViR1BVUmVuZGVyUGFzc0xheW91dC5oOgorICAg
ICAgICAoV2ViS2l0OjpXZWJHUFU6OlJlbmRlclBhc3NMYXlvdXQ6OmRlY29kZSk6CisgICAgICAg
ICogU2hhcmVkL1dlYkdQVS9XZWJHUFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQuY3BwOiBD
b3BpZWQgZnJvbSBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVU2hhZGVyTW9kdWxl
RGVzY3JpcHRvci5jcHAuCisgICAgICAgIChXZWJLaXQ6OldlYkdQVTo6Q29udmVydFRvQmFja2lu
Z0NvbnRleHQ6OmNvbnZlcnRUb0JhY2tpbmcpOgorICAgICAgICAoV2ViS2l0OjpXZWJHUFU6OkNv
bnZlcnRGcm9tQmFja2luZ0NvbnRleHQ6OmNvbnZlcnRGcm9tQmFja2luZyk6CisgICAgICAgICog
U2hhcmVkL1dlYkdQVS9XZWJHUFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQuaDogQ29waWVk
IGZyb20gU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVUltYWdlQ29weUV4dGVybmFs
SW1hZ2UuaC4KKyAgICAgICAgKFdlYktpdDo6V2ViR1BVOjpTaGFkZXJNb2R1bGVDb21waWxhdGlv
bkhpbnQ6OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OldlYkdQVTo6U2hhZGVyTW9k
dWxlQ29tcGlsYXRpb25IaW50OjpkZWNvZGUpOgorICAgICAgICAqIFNoYXJlZC9XZWJHUFUvV2Vi
R1BVU2hhZGVyTW9kdWxlRGVzY3JpcHRvci5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkdQVTo6
Q29udmVydFRvQmFja2luZ0NvbnRleHQ6OmNvbnZlcnRUb0JhY2tpbmcpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJHUFU6OkNvbnZlcnRGcm9tQmFja2luZ0NvbnRleHQ6OmNvbnZlcnRGcm9tQmFja2lu
Zyk6CisgICAgICAgICogU2hhcmVkL1dlYkdQVS9XZWJHUFVTaGFkZXJNb2R1bGVEZXNjcmlwdG9y
Lmg6CisgICAgICAgIChXZWJLaXQ6OldlYkdQVTo6U2hhZGVyTW9kdWxlRGVzY3JpcHRvcjo6ZW5j
b2RlIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6V2ViR1BVOjpTaGFkZXJNb2R1bGVEZXNjcmlw
dG9yOjpkZWNvZGUpOgorICAgICAgICAqIFNoYXJlZC9XZWJHUFUvV2ViR1BVVGV4dHVyZURlc2Ny
aXB0b3IuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJHUFU6OkNvbnZlcnRUb0JhY2tpbmdDb250
ZXh0Ojpjb252ZXJ0VG9CYWNraW5nKToKKyAgICAgICAgKFdlYktpdDo6V2ViR1BVOjpDb252ZXJ0
RnJvbUJhY2tpbmdDb250ZXh0Ojpjb252ZXJ0RnJvbUJhY2tpbmcpOgorICAgICAgICAqIFNoYXJl
ZC9XZWJHUFUvV2ViR1BVVGV4dHVyZURlc2NyaXB0b3IuaDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
R1BVOjpUZXh0dXJlRGVzY3JpcHRvcjo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6
V2ViR1BVOjpUZXh0dXJlRGVzY3JpcHRvcjo6ZGVjb2RlKToKKyAgICAgICAgKiBTb3VyY2VzLnR4
dDoKKyAgICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAg
KiBXZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQnVmZmVyUHJveHkuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJHUFU6OlJlbW90ZUJ1ZmZlclByb3h5OjptYXBBc3luYyk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYkdQVTo6UmVtb3RlQnVmZmVyUHJveHk6OmdldE1hcHBlZFJhbmdl
KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQnVmZmVy
UHJveHkuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9XZWJHUFUvUmVtb3Rl
Q29tbWFuZEVuY29kZXJQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkdQVTo6UmVtb3Rl
Q29tbWFuZEVuY29kZXJQcm94eTo6Y2xlYXJCdWZmZXIpOgorICAgICAgICAoV2ViS2l0OjpXZWJH
UFU6OlJlbW90ZUNvbW1hbmRFbmNvZGVyUHJveHk6OmZpbGxCdWZmZXIpOiBEZWxldGVkLgorICAg
ICAgICAqIFdlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVDb21tYW5kRW5jb2Rl
clByb3h5Lmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvV2ViR1BVL1JlbW90
ZUNvbXB1dGVQYXNzRW5jb2RlclByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViR1BVOjpS
ZW1vdGVDb21wdXRlUGFzc0VuY29kZXJQcm94eTo6ZGlzcGF0Y2gpOgorICAgICAgICAoV2ViS2l0
OjpXZWJHUFU6OlJlbW90ZUNvbXB1dGVQYXNzRW5jb2RlclByb3h5OjplbmQpOgorICAgICAgICAo
V2ViS2l0OjpXZWJHUFU6OlJlbW90ZUNvbXB1dGVQYXNzRW5jb2RlclByb3h5OjpiZWdpblBpcGVs
aW5lU3RhdGlzdGljc1F1ZXJ5KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViR1BVOjpS
ZW1vdGVDb21wdXRlUGFzc0VuY29kZXJQcm94eTo6ZW5kUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkp
OiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJHUFU6OlJlbW90ZUNvbXB1dGVQYXNzRW5j
b2RlclByb3h5OjplbmRQYXNzKTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9n
cmFwaGljcy9XZWJHUFUvUmVtb3RlQ29tcHV0ZVBhc3NFbmNvZGVyUHJveHkuaDoKKyAgICAgICAg
KiBXZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9XZWJHUFUvUmVtb3RlUXVldWVQcm94eS5oOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVSZW5kZXJQYXNzRW5j
b2RlclByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViR1BVOjpSZW1vdGVSZW5kZXJQYXNz
RW5jb2RlclByb3h5OjplbmQpOgorICAgICAgICAoV2ViS2l0OjpXZWJHUFU6OlJlbW90ZVJlbmRl
clBhc3NFbmNvZGVyUHJveHk6OmJlZ2luUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkpOiBEZWxldGVk
LgorICAgICAgICAoV2ViS2l0OjpXZWJHUFU6OlJlbW90ZVJlbmRlclBhc3NFbmNvZGVyUHJveHk6
OmVuZFBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6
V2ViR1BVOjpSZW1vdGVSZW5kZXJQYXNzRW5jb2RlclByb3h5OjplbmRQYXNzKTogRGVsZXRlZC4K
KyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9XZWJHUFUvUmVtb3RlUmVuZGVyUGFz
c0VuY29kZXJQcm94eS5oOgorCiAyMDIyLTAyLTE1ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBs
ZS5jb20+CiAKICAgICAgICAgRG8gcHJlbGltaW5hcnkgd29yayB0byBwYXNzIGRvbWFpbiBuYW1l
cyB0byBDb3JlTG9jYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMu
dHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggMWQ2ODAxNTBlYmY5YzEx
MTliYzk1ZTYxMTc3MGVlMzM1MzAyZDAyZi4uNzhjNmQyYmE5NmZmNzNkMTljYWUyNWU5NTYxMTY1
ZjNmMjc1ZjJjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysr
IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTE1MjgsNiArMTUyOCw3IEBAIGxp
c3QoQVBQRU5EIFdlYkNvcmVfTk9OX1NWR19JRExfRklMRVMKICAgICBNb2R1bGVzL1dlYkdQVS9H
UFVDb21tYW5kQnVmZmVyRGVzY3JpcHRvci5pZGwKICAgICBNb2R1bGVzL1dlYkdQVS9HUFVDb21t
YW5kRW5jb2Rlci5pZGwKICAgICBNb2R1bGVzL1dlYkdQVS9HUFVDb21tYW5kRW5jb2RlckRlc2Ny
aXB0b3IuaWRsCisgICAgTW9kdWxlcy9XZWJHUFUvR1BVQ29tbWFuZHNNaXhpbi5pZGwKICAgICBN
b2R1bGVzL1dlYkdQVS9HUFVDb21wYXJlRnVuY3Rpb24uaWRsCiAgICAgTW9kdWxlcy9XZWJHUFUv
R1BVQ29tcGlsYXRpb25JbmZvLmlkbAogICAgIE1vZHVsZXMvV2ViR1BVL0dQVUNvbXBpbGF0aW9u
TWVzc2FnZS5pZGwKQEAgLTE1MzksNiArMTU0MCw3IEBAIGxpc3QoQVBQRU5EIFdlYkNvcmVfTk9O
X1NWR19JRExfRklMRVMKICAgICBNb2R1bGVzL1dlYkdQVS9HUFVDb21wdXRlUGlwZWxpbmUuaWRs
CiAgICAgTW9kdWxlcy9XZWJHUFUvR1BVQ29tcHV0ZVBpcGVsaW5lRGVzY3JpcHRvci5pZGwKICAg
ICBNb2R1bGVzL1dlYkdQVS9HUFVDdWxsTW9kZS5pZGwKKyAgICBNb2R1bGVzL1dlYkdQVS9HUFVE
ZWJ1Z0NvbW1hbmRzTWl4aW4uaWRsCiAgICAgTW9kdWxlcy9XZWJHUFUvR1BVRGVwdGhTdGVuY2ls
U3RhdGUuaWRsCiAgICAgTW9kdWxlcy9XZWJHUFUvR1BVRGV2aWNlLmlkbAogICAgIE1vZHVsZXMv
V2ViR1BVL0dQVURldmljZURlc2NyaXB0b3IuaWRsCkBAIC0xNTc0LDcgKzE1NzYsNiBAQCBsaXN0
KEFQUEVORCBXZWJDb3JlX05PTl9TVkdfSURMX0ZJTEVTCiAgICAgTW9kdWxlcy9XZWJHUFUvR1BV
UGlwZWxpbmVEZXNjcmlwdG9yQmFzZS5pZGwKICAgICBNb2R1bGVzL1dlYkdQVS9HUFVQaXBlbGlu
ZUxheW91dC5pZGwKICAgICBNb2R1bGVzL1dlYkdQVS9HUFVQaXBlbGluZUxheW91dERlc2NyaXB0
b3IuaWRsCi0gICAgTW9kdWxlcy9XZWJHUFUvR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lLmlkbAog
ICAgIE1vZHVsZXMvV2ViR1BVL0dQVVBvd2VyUHJlZmVyZW5jZS5pZGwKICAgICBNb2R1bGVzL1dl
YkdQVS9HUFVQcmVkZWZpbmVkQ29sb3JTcGFjZS5pZGwKICAgICBNb2R1bGVzL1dlYkdQVS9HUFVQ
cmltaXRpdmVTdGF0ZS5pZGwKQEAgLTE2MDUsNiArMTYwNiw3IEBAIGxpc3QoQVBQRU5EIFdlYkNv
cmVfTk9OX1NWR19JRExfRklMRVMKICAgICBNb2R1bGVzL1dlYkdQVS9HUFVTYW1wbGVyQmluZGlu
Z1R5cGUuaWRsCiAgICAgTW9kdWxlcy9XZWJHUFUvR1BVU2FtcGxlckRlc2NyaXB0b3IuaWRsCiAg
ICAgTW9kdWxlcy9XZWJHUFUvR1BVU2hhZGVyTW9kdWxlLmlkbAorICAgIE1vZHVsZXMvV2ViR1BV
L0dQVVNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludC5pZGwKICAgICBNb2R1bGVzL1dlYkdQVS9H
UFVTaGFkZXJNb2R1bGVEZXNjcmlwdG9yLmlkbAogICAgIE1vZHVsZXMvV2ViR1BVL0dQVVNoYWRl
clN0YWdlLmlkbAogICAgIE1vZHVsZXMvV2ViR1BVL0dQVVN0ZW5jaWxGYWNlU3RhdGUuaWRsCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0
IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAppbmRleCBh
ODBjZTEzMzIwZWU1YTIzOWQ2M2Q3MmZlMjRlZmMzZGQ2ODhmYjAwLi42YmU3ZjRmMDgzMThhZWE4
YTVhZTIxMzNiMWUyZmIxM2Y0YzEzYmMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKQEAgLTYzLDYgKzYzLDcgQEAgJChQUk9KRUNUX0RJUikv
TW9kdWxlcy9XZWJHUFUvR1BVQ29tbWFuZEJ1ZmZlci5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVs
ZXMvV2ViR1BVL0dQVUNvbW1hbmRCdWZmZXJEZXNjcmlwdG9yLmlkbAogJChQUk9KRUNUX0RJUikv
TW9kdWxlcy9XZWJHUFUvR1BVQ29tbWFuZEVuY29kZXIuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1
bGVzL1dlYkdQVS9HUFVDb21tYW5kRW5jb2RlckRlc2NyaXB0b3IuaWRsCiskKFBST0pFQ1RfRElS
KS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21tYW5kc01peGluLmlkbAogJChQUk9KRUNUX0RJUikvTW9k
dWxlcy9XZWJHUFUvR1BVQ29tcGFyZUZ1bmN0aW9uLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxl
cy9XZWJHUFUvR1BVQ29tcGlsYXRpb25JbmZvLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9X
ZWJHUFUvR1BVQ29tcGlsYXRpb25NZXNzYWdlLmlkbApAQCAtNzQsNiArNzUsNyBAQCAkKFBST0pF
Q1RfRElSKS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21wdXRlUGFzc1RpbWVzdGFtcFdyaXRlLmlkbAog
JChQUk9KRUNUX0RJUikvTW9kdWxlcy9XZWJHUFUvR1BVQ29tcHV0ZVBpcGVsaW5lLmlkbAogJChQ
Uk9KRUNUX0RJUikvTW9kdWxlcy9XZWJHUFUvR1BVQ29tcHV0ZVBpcGVsaW5lRGVzY3JpcHRvci5p
ZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvV2ViR1BVL0dQVUN1bGxNb2RlLmlkbAorJChQUk9K
RUNUX0RJUikvTW9kdWxlcy9XZWJHUFUvR1BVRGVidWdDb21tYW5kc01peGluLmlkbAogJChQUk9K
RUNUX0RJUikvTW9kdWxlcy9XZWJHUFUvR1BVRGVwdGhTdGVuY2lsU3RhdGUuaWRsCiAkKFBST0pF
Q1RfRElSKS9Nb2R1bGVzL1dlYkdQVS9HUFVEZXZpY2UuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1
bGVzL1dlYkdQVS9HUFVEZXZpY2VEZXNjcmlwdG9yLmlkbApAQCAtMTA5LDcgKzExMSw2IEBAICQo
UFJPSkVDVF9ESVIpL01vZHVsZXMvV2ViR1BVL0dQVVBpcGVsaW5lQmFzZS5pZGwKICQoUFJPSkVD
VF9ESVIpL01vZHVsZXMvV2ViR1BVL0dQVVBpcGVsaW5lRGVzY3JpcHRvckJhc2UuaWRsCiAkKFBS
T0pFQ1RfRElSKS9Nb2R1bGVzL1dlYkdQVS9HUFVQaXBlbGluZUxheW91dC5pZGwKICQoUFJPSkVD
VF9ESVIpL01vZHVsZXMvV2ViR1BVL0dQVVBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvci5pZGwKLSQo
UFJPSkVDVF9ESVIpL01vZHVsZXMvV2ViR1BVL0dQVVBpcGVsaW5lU3RhdGlzdGljTmFtZS5pZGwK
ICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvV2ViR1BVL0dQVVBvd2VyUHJlZmVyZW5jZS5pZGwKICQo
UFJPSkVDVF9ESVIpL01vZHVsZXMvV2ViR1BVL0dQVVByZWRlZmluZWRDb2xvclNwYWNlLmlkbAog
JChQUk9KRUNUX0RJUikvTW9kdWxlcy9XZWJHUFUvR1BVUHJpbWl0aXZlU3RhdGUuaWRsCkBAIC0x
NDAsNiArMTQxLDcgQEAgJChQUk9KRUNUX0RJUikvTW9kdWxlcy9XZWJHUFUvR1BVU2FtcGxlckJp
bmRpbmdMYXlvdXQuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL1dlYkdQVS9HUFVTYW1wbGVy
QmluZGluZ1R5cGUuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL1dlYkdQVS9HUFVTYW1wbGVy
RGVzY3JpcHRvci5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvV2ViR1BVL0dQVVNoYWRlck1v
ZHVsZS5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvV2ViR1BVL0dQVVNoYWRlck1vZHVsZUNv
bXBpbGF0aW9uSGludC5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvV2ViR1BVL0dQVVNoYWRl
ck1vZHVsZURlc2NyaXB0b3IuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL1dlYkdQVS9HUFVT
aGFkZXJTdGFnZS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvV2ViR1BVL0dQVVNpemU2NC5p
ZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2Zp
bGVsaXN0IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QK
aW5kZXggZmFmMWQ5Zjg4ODg4NGM5MzRjYjRiZWYwMGIxMTFlN2ZiMjM3MGE3Mi4uZGJjYjlmNmQ5
NTVhODdlMGVhZWE0OTNjMWUxMWRlNTkzMWZlZTM3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKQEAgLTk0MSw2ICs5NDEsOCBAQCAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVUNvbW1hbmRFbmNv
ZGVyLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNH
UFVDb21tYW5kRW5jb2Rlci5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU0dQVUNvbW1hbmRFbmNvZGVyRGVzY3JpcHRvci5jcHAKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVQ29tbWFuZEVuY29kZXJEZXNjcmlw
dG9yLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BV
Q29tbWFuZHNNaXhpbi5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTR1BVQ29tbWFuZHNNaXhpbi5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU0dQVUNvbXBhcmVGdW5jdGlvbi5jcHAKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVQ29tcGFyZUZ1bmN0aW9uLmgKICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVQ29tcGlsYXRp
b25JbmZvLmNwcApAQCAtOTYzLDYgKzk2NSw4IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTR1BVQ29tcHV0ZVBpcGVsaW5lRGVzY3JpcHRvci5jcHAKICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVQ29tcHV0ZVBp
cGVsaW5lRGVzY3JpcHRvci5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU0dQVUN1bGxNb2RlLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNHUFVDdWxsTW9kZS5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVURlYnVnQ29tbWFuZHNNaXhpbi5jcHAKKyQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVRGVidWdDb21tYW5kc01p
eGluLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BV
RGVwdGhTdGVuY2lsU3RhdGUuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU0dQVURlcHRoU3RlbmNpbFN0YXRlLmgKICQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVRGV2aWNlLmNwcApAQCAtMTAzMyw4ICsxMDM3
LDYgQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVQ
aXBlbGluZUxheW91dC5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTR1BVUGlwZWxpbmVMYXlvdXQuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVQaXBlbGluZUxheW91dERlc2NyaXB0b3IuY3BwCiAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVVBpcGVsaW5lTGF5
b3V0RGVzY3JpcHRvci5oCi0kKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU0dQVVBpcGVsaW5lU3RhdGlzdGljTmFtZS5jcHAKLSQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lLmgKICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVUG93ZXJQcmVm
ZXJlbmNlLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNHUFVQb3dlclByZWZlcmVuY2UuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNHUFVQcmVkZWZpbmVkQ29sb3JTcGFjZS5jcHAKQEAgLTEwOTUsNiArMTA5
Nyw4IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BV
U2FtcGxlckRlc2NyaXB0b3IuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU0dQVVNhbXBsZXJEZXNjcmlwdG9yLmgKICQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVU2hhZGVyTW9kdWxlLmNwcAogJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVTaGFkZXJNb2R1bGUuaAor
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVTaGFkZXJN
b2R1bGVDb21waWxhdGlvbkhpbnQuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU0dQVVNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludC5oCiAkKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVVNoYWRlck1vZHVsZURl
c2NyaXB0b3IuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU0dQVVNoYWRlck1vZHVsZURlc2NyaXB0b3IuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVTaGFkZXJTdGFnZS5jcHAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5tYWtlCmluZGV4IDIxYTY1YjkzMTNhZTdjNTNiYjE1ODA0M2Y1NDczZDI5YmRmMDI3
MGUuLmM0ODBkOWUyNTVlNGYwY2FmY2UxYjMwMTQ2OWUyZmU3NTBjODcyNzcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtODYsNiArODYsNyBAQCBKU19CSU5ESU5HX0lETFMgOj0g
XAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9XZWJHUFUvR1BVQ29tbWFuZEJ1ZmZlckRlc2NyaXB0
b3IuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvV2ViR1BVL0dQVUNvbW1hbmRFbmNvZGVy
LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21tYW5kRW5jb2RlckRl
c2NyaXB0b3IuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvV2ViR1BVL0dQVUNvbW1hbmRz
TWl4aW4uaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvV2ViR1BVL0dQVUNvbXBhcmVGdW5j
dGlvbi5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9XZWJHUFUvR1BVQ29tcGlsYXRpb25J
bmZvLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21waWxhdGlvbk1l
c3NhZ2UuaWRsIFwKQEAgLTk3LDYgKzk4LDcgQEAgSlNfQklORElOR19JRExTIDo9IFwKICAgICAk
KFdlYkNvcmUpL01vZHVsZXMvV2ViR1BVL0dQVUNvbXB1dGVQaXBlbGluZS5pZGwgXAogICAgICQo
V2ViQ29yZSkvTW9kdWxlcy9XZWJHUFUvR1BVQ29tcHV0ZVBpcGVsaW5lRGVzY3JpcHRvci5pZGwg
XAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9XZWJHUFUvR1BVQ3VsbE1vZGUuaWRsIFwKKyAgICAk
KFdlYkNvcmUpL01vZHVsZXMvV2ViR1BVL0dQVURlYnVnQ29tbWFuZHNNaXhpbi5pZGwgXAogICAg
ICQoV2ViQ29yZSkvTW9kdWxlcy9XZWJHUFUvR1BVRGVwdGhTdGVuY2lsU3RhdGUuaWRsIFwKICAg
ICAkKFdlYkNvcmUpL01vZHVsZXMvV2ViR1BVL0dQVURldmljZS5pZGwgXAogICAgICQoV2ViQ29y
ZSkvTW9kdWxlcy9XZWJHUFUvR1BVRGV2aWNlRGVzY3JpcHRvci5pZGwgXApAQCAtMTMyLDcgKzEz
NCw2IEBAIEpTX0JJTkRJTkdfSURMUyA6PSBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL1dlYkdQ
VS9HUFVQaXBlbGluZURlc2NyaXB0b3JCYXNlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVz
L1dlYkdQVS9HUFVQaXBlbGluZUxheW91dC5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9X
ZWJHUFUvR1BVUGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yLmlkbCBcCi0gICAgJChXZWJDb3JlKS9N
b2R1bGVzL1dlYkdQVS9HUFVQaXBlbGluZVN0YXRpc3RpY05hbWUuaWRsIFwKICAgICAkKFdlYkNv
cmUpL01vZHVsZXMvV2ViR1BVL0dQVVBvd2VyUHJlZmVyZW5jZS5pZGwgXAogICAgICQoV2ViQ29y
ZSkvTW9kdWxlcy9XZWJHUFUvR1BVUHJlZGVmaW5lZENvbG9yU3BhY2UuaWRsIFwKICAgICAkKFdl
YkNvcmUpL01vZHVsZXMvV2ViR1BVL0dQVVByaW1pdGl2ZVN0YXRlLmlkbCBcCkBAIC0xNjMsNiAr
MTY0LDcgQEAgSlNfQklORElOR19JRExTIDo9IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvV2Vi
R1BVL0dQVVNhbXBsZXJCaW5kaW5nVHlwZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9X
ZWJHUFUvR1BVU2FtcGxlckRlc2NyaXB0b3IuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMv
V2ViR1BVL0dQVVNoYWRlck1vZHVsZS5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9XZWJH
UFUvR1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50LmlkbCBcCiAgICAgJChXZWJDb3JlKS9N
b2R1bGVzL1dlYkdQVS9HUFVTaGFkZXJNb2R1bGVEZXNjcmlwdG9yLmlkbCBcCiAgICAgJChXZWJD
b3JlKS9Nb2R1bGVzL1dlYkdQVS9HUFVTaGFkZXJTdGFnZS5pZGwgXAogICAgICQoV2ViQ29yZSkv
TW9kdWxlcy9XZWJHUFUvR1BVU3RlbmNpbEZhY2VTdGF0ZS5pZGwgXApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UK
aW5kZXggYWM3NDZhOWU1ZWY1YjRhNGQwZGZjZmE0ZGMxYTQ1YjkxZGM1NDJlYS4uZmVhMTQ5MGU5
ZGEwMWQyYTJlODY2MmViZTIzYmYyNzU5NjU5YjZhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvSGVhZGVycy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCkBAIC03
MSw3ICs3MSw2IEBAIHNldChXZWJDb3JlX1BSSVZBVEVfRlJBTUVXT1JLX0hFQURFUlMKICAgICBN
b2R1bGVzL1dlYkdQVS9HUFVQaXBlbGluZURlc2NyaXB0b3JCYXNlLmgKICAgICBNb2R1bGVzL1dl
YkdQVS9HUFVQaXBlbGluZUxheW91dC5oCiAgICAgTW9kdWxlcy9XZWJHUFUvR1BVUGlwZWxpbmVM
YXlvdXREZXNjcmlwdG9yLmgKLSAgICBNb2R1bGVzL1dlYkdQVS9HUFVQaXBlbGluZVN0YXRpc3Rp
Y05hbWUuaAogICAgIE1vZHVsZXMvV2ViR1BVL0dQVVBvd2VyUHJlZmVyZW5jZS5oCiAgICAgTW9k
dWxlcy9XZWJHUFUvR1BVUHJlZGVmaW5lZENvbG9yU3BhY2UuaAogICAgIE1vZHVsZXMvV2ViR1BV
L0dQVVByaW1pdGl2ZVN0YXRlLmgKQEAgLTEwMCw2ICs5OSw3IEBAIHNldChXZWJDb3JlX1BSSVZB
VEVfRlJBTUVXT1JLX0hFQURFUlMKICAgICBNb2R1bGVzL1dlYkdQVS9HUFVTYW1wbGVyQmluZGlu
Z1R5cGUuaAogICAgIE1vZHVsZXMvV2ViR1BVL0dQVVNhbXBsZXJEZXNjcmlwdG9yLmgKICAgICBN
b2R1bGVzL1dlYkdQVS9HUFVTaGFkZXJNb2R1bGUuaAorICAgIE1vZHVsZXMvV2ViR1BVL0dQVVNo
YWRlck1vZHVsZUNvbXBpbGF0aW9uSGludC5oCiAgICAgTW9kdWxlcy9XZWJHUFUvR1BVU2hhZGVy
TW9kdWxlRGVzY3JpcHRvci5oCiAgICAgTW9kdWxlcy9XZWJHUFUvR1BVU2hhZGVyU3RhZ2UuaAog
ICAgIE1vZHVsZXMvV2ViR1BVL0dQVVN0ZW5jaWxGYWNlU3RhdGUuaApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQnVmZmVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvV2ViR1BVL0dQVUJ1ZmZlci5jcHAKaW5kZXggN2ZkNDg1NzJhOWU1NzNjOTliMDNm
YjMzMjhiMjRkOTY0MWMyNzQ5Ny4uNGM5NGE0ZmQ5MTc4NzBjYjQwYzRmZjk0ZTgwMWM0YTFlZTMy
YjAzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQnVmZmVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVCdWZmZXIuY3BwCkBA
IC0zOCwxNCArMzgsMTQgQEAgdm9pZCBHUFVCdWZmZXI6OnNldExhYmVsKFN0cmluZyYmIGxhYmVs
KQogICAgIG1fYmFja2luZy0+c2V0TGFiZWwoV1RGTW92ZShsYWJlbCkpOwogfQogCi12b2lkIEdQ
VUJ1ZmZlcjo6bWFwQXN5bmMoR1BVTWFwTW9kZUZsYWdzIG1vZGUsIHN0ZDo6b3B0aW9uYWw8R1BV
U2l6ZTY0PiBvZmZzZXQsIHN0ZDo6b3B0aW9uYWw8R1BVU2l6ZTY0PiBzaXplLCBNYXBBc3luY1By
b21pc2UmJiBwcm9taXNlKQordm9pZCBHUFVCdWZmZXI6Om1hcEFzeW5jKEdQVU1hcE1vZGVGbGFn
cyBtb2RlLCBHUFVTaXplNjQgb2Zmc2V0LCBzdGQ6Om9wdGlvbmFsPEdQVVNpemU2ND4gc2l6ZSwg
TWFwQXN5bmNQcm9taXNlJiYgcHJvbWlzZSkKIHsKICAgICBtX2JhY2tpbmctPm1hcEFzeW5jKGNv
bnZlcnRNYXBNb2RlRmxhZ3NUb0JhY2tpbmcobW9kZSksIG9mZnNldCwgc2l6ZSwgW3Byb21pc2Ug
PSBXVEZNb3ZlKHByb21pc2UpXSAoKSBtdXRhYmxlIHsKICAgICAgICAgcHJvbWlzZS5yZXNvbHZl
KG51bGxwdHIpOwogICAgIH0pOwogfQogCi1SZWY8SlNDOjpBcnJheUJ1ZmZlcj4gR1BVQnVmZmVy
OjpnZXRNYXBwZWRSYW5nZShzdGQ6Om9wdGlvbmFsPEdQVVNpemU2ND4gb2Zmc2V0LCBzdGQ6Om9w
dGlvbmFsPEdQVVNpemU2ND4gc2l6ZSkKK1JlZjxKU0M6OkFycmF5QnVmZmVyPiBHUFVCdWZmZXI6
OmdldE1hcHBlZFJhbmdlKEdQVVNpemU2NCBvZmZzZXQsIHN0ZDo6b3B0aW9uYWw8R1BVU2l6ZTY0
PiBzaXplKQogewogICAgIGF1dG8gbWFwcGVkUmFuZ2UgPSBtX2JhY2tpbmctPmdldE1hcHBlZFJh
bmdlKG9mZnNldCwgc2l6ZSk7CiAgICAgcmV0dXJuIEFycmF5QnVmZmVyOjpjcmVhdGUobWFwcGVk
UmFuZ2Uuc291cmNlLCBtYXBwZWRSYW5nZS5ieXRlTGVuZ3RoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUJ1ZmZlci5oIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9XZWJHUFUvR1BVQnVmZmVyLmgKaW5kZXggYzYyOGNjMDY3YzA0MzEwMzBjOTZmNWM5MTZk
MWNiOTJhODAwNzdkZS4uNDdlOWU0NWFkMzk1ODIzNThhNTRlYTAxOGY0MjYwOTgxODkxODU1OSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQnVmZmVyLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQnVmZmVyLmgKQEAgLTQ5LDggKzQ5
LDggQEAgcHVibGljOgogICAgIHZvaWQgc2V0TGFiZWwoU3RyaW5nJiYpOwogCiAgICAgdXNpbmcg
TWFwQXN5bmNQcm9taXNlID0gRE9NUHJvbWlzZURlZmVycmVkPElETE51bGw+OwotICAgIHZvaWQg
bWFwQXN5bmMoR1BVTWFwTW9kZUZsYWdzLCBzdGQ6Om9wdGlvbmFsPEdQVVNpemU2ND4gb2Zmc2V0
LCBzdGQ6Om9wdGlvbmFsPEdQVVNpemU2ND4gc2l6ZUZvck1hcCwgTWFwQXN5bmNQcm9taXNlJiYp
OwotICAgIFJlZjxKU0M6OkFycmF5QnVmZmVyPiBnZXRNYXBwZWRSYW5nZShzdGQ6Om9wdGlvbmFs
PEdQVVNpemU2ND4gb2Zmc2V0LCBzdGQ6Om9wdGlvbmFsPEdQVVNpemU2ND4gcmFuZ2VTaXplKTsK
KyAgICB2b2lkIG1hcEFzeW5jKEdQVU1hcE1vZGVGbGFncywgR1BVU2l6ZTY0IG9mZnNldCwgc3Rk
OjpvcHRpb25hbDxHUFVTaXplNjQ+IHNpemVGb3JNYXAsIE1hcEFzeW5jUHJvbWlzZSYmKTsKKyAg
ICBSZWY8SlNDOjpBcnJheUJ1ZmZlcj4gZ2V0TWFwcGVkUmFuZ2UoR1BVU2l6ZTY0IG9mZnNldCwg
c3RkOjpvcHRpb25hbDxHUFVTaXplNjQ+IHJhbmdlU2l6ZSk7CiAgICAgdm9pZCB1bm1hcCgpOwog
CiAgICAgdm9pZCBkZXN0cm95KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L1dlYkdQVS9HUFVDYW52YXNDb25maWd1cmF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L1dlYkdQVS9HUFVDYW52YXNDb25maWd1cmF0aW9uLmgKaW5kZXggNjk2MGU3ZGI4MWIyMmM5MDJl
MzFiNjczNjdlNjY0MmZkMzBiMzU5Zi4uYWY3NWI1YzQ4YjFiOWE1ZDg2NDNlYjE1OTIwNWIxYmRi
ZGVhZTVhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQ2Fu
dmFzQ29uZmlndXJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQ
VUNhbnZhc0NvbmZpZ3VyYXRpb24uaApAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUgPG9wdGlv
bmFsPgogI2luY2x1ZGUgPHBhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVQ2FudmFzQ29uZmlndXJh
dGlvbi5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDYsNiArNDcsOSBAQCBzdHJ1Y3QgR1BVQ2Fu
dmFzQ29uZmlndXJhdGlvbiB7CiAgICAgICAgICAgICBkZXZpY2UtPmJhY2tpbmcoKSwKICAgICAg
ICAgICAgIFdlYkNvcmU6OmNvbnZlcnRUb0JhY2tpbmcoZm9ybWF0KSwKICAgICAgICAgICAgIGNv
bnZlcnRUZXh0dXJlVXNhZ2VGbGFnc1RvQmFja2luZyh1c2FnZSksCisgICAgICAgICAgICB2aWV3
Rm9ybWF0cy5tYXAoW10gKGF1dG8mIHZpZXdGb3JtYXQpIHsKKyAgICAgICAgICAgICAgICByZXR1
cm4gV2ViQ29yZTo6Y29udmVydFRvQmFja2luZyh2aWV3Rm9ybWF0KTsKKyAgICAgICAgICAgIH0p
LAogICAgICAgICAgICAgV2ViQ29yZTo6Y29udmVydFRvQmFja2luZyhjb2xvclNwYWNlKSwKICAg
ICAgICAgICAgIFdlYkNvcmU6OmNvbnZlcnRUb0JhY2tpbmcoY29tcG9zaXRpbmdBbHBoYU1vZGUp
LAogICAgICAgICAgICAgc2l6ZSA/IHN0ZDo6b3B0aW9uYWwgeyBXZWJDb3JlOjpjb252ZXJ0VG9C
YWNraW5nKCpzaXplKSB9IDogc3RkOjpudWxsb3B0LApAQCAtNTUsNiArNTksNyBAQCBzdHJ1Y3Qg
R1BVQ2FudmFzQ29uZmlndXJhdGlvbiB7CiAgICAgR1BVRGV2aWNlKiBkZXZpY2UgeyBudWxscHRy
IH07CiAgICAgR1BVVGV4dHVyZUZvcm1hdCBmb3JtYXQgeyBHUFVUZXh0dXJlRm9ybWF0OjpSOHVu
b3JtIH07CiAgICAgR1BVVGV4dHVyZVVzYWdlRmxhZ3MgdXNhZ2UgeyBHUFVUZXh0dXJlVXNhZ2U6
OlJFTkRFUl9BVFRBQ0hNRU5UIH07CisgICAgVmVjdG9yPEdQVVRleHR1cmVGb3JtYXQ+IHZpZXdG
b3JtYXRzOwogICAgIEdQVVByZWRlZmluZWRDb2xvclNwYWNlIGNvbG9yU3BhY2UgeyBHUFVQcmVk
ZWZpbmVkQ29sb3JTcGFjZTo6U1JHQiB9OwogICAgIEdQVUNhbnZhc0NvbXBvc2l0aW5nQWxwaGFN
b2RlIGNvbXBvc2l0aW5nQWxwaGFNb2RlIHsgR1BVQ2FudmFzQ29tcG9zaXRpbmdBbHBoYU1vZGU6
Ok9wYXF1ZSB9OwogICAgIHN0ZDo6b3B0aW9uYWw8R1BVRXh0ZW50M0Q+IHNpemU7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVDYW52YXNDb25maWd1cmF0aW9u
LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUNhbnZhc0NvbmZpZ3VyYXRp
b24uaWRsCmluZGV4IGZjYWM4Y2RhOWZlZDAyMTZhNjFhNDc0NDY1N2UwNDA4YmJhOGM2YTEuLmIx
NGEyYzc2MTliYjNjMTJmZTY3YWUxOTg1ZmU2ZjdkY2U2MTNhNDQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUNhbnZhc0NvbmZpZ3VyYXRpb24uaWRsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUNhbnZhc0NvbmZpZ3VyYXRpb24uaWRs
CkBAIC0zNyw2ICszNyw3IEBAIGRpY3Rpb25hcnkgR1BVQ2FudmFzQ29uZmlndXJhdGlvbiB7CiAg
ICAgcmVxdWlyZWQgR1BVRGV2aWNlIGRldmljZTsKICAgICByZXF1aXJlZCBHUFVUZXh0dXJlRm9y
bWF0IGZvcm1hdDsKICAgICBHUFVUZXh0dXJlVXNhZ2VGbGFncyB1c2FnZSA9IDB4MTA7ICAvLyBH
UFVUZXh0dXJlVXNhZ2UuUkVOREVSX0FUVEFDSE1FTlQKKyAgICBzZXF1ZW5jZTxHUFVUZXh0dXJl
Rm9ybWF0PiB2aWV3Rm9ybWF0cyA9IFtdOwogICAgIEdQVVByZWRlZmluZWRDb2xvclNwYWNlIGNv
bG9yU3BhY2UgPSAic3JnYiI7CiAgICAgR1BVQ2FudmFzQ29tcG9zaXRpbmdBbHBoYU1vZGUgY29t
cG9zaXRpbmdBbHBoYU1vZGUgPSAib3BhcXVlIjsKICAgICBHUFVFeHRlbnQzRCBzaXplOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQ29tbWFuZEVuY29kZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQ29tbWFuZEVuY29kZXIuY3Bw
CmluZGV4IDgxN2MzNTJlYzAwYTJkZDUxZWU3YjE3ZDcwYzVkZjI1OGZmOGQ0YzUuLmJkZmQyZDQ5
YjI5YzU4YmZiZjAyYjdiMmU2YzUxMWZmN2ZlNDU5NDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvV2ViR1BVL0dQVUNvbW1hbmRFbmNvZGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21tYW5kRW5jb2Rlci5jcHAKQEAgLTg1LDEyICs4NSwx
MyBAQCB2b2lkIEdQVUNvbW1hbmRFbmNvZGVyOjpjb3B5VGV4dHVyZVRvVGV4dHVyZSgKICAgICBt
X2JhY2tpbmctPmNvcHlUZXh0dXJlVG9UZXh0dXJlKHNvdXJjZS5jb252ZXJ0VG9CYWNraW5nKCks
IGRlc3RpbmF0aW9uLmNvbnZlcnRUb0JhY2tpbmcoKSwgY29udmVydFRvQmFja2luZyhjb3B5U2l6
ZSkpOwogfQogCi12b2lkIEdQVUNvbW1hbmRFbmNvZGVyOjpmaWxsQnVmZmVyKAotICAgIGNvbnN0
IEdQVUJ1ZmZlciYgZGVzdGluYXRpb24sCi0gICAgR1BVU2l6ZTY0IGRlc3RpbmF0aW9uT2Zmc2V0
LAotICAgIEdQVVNpemU2NCBzaXplKQorCit2b2lkIEdQVUNvbW1hbmRFbmNvZGVyOjpjbGVhckJ1
ZmZlcigKKyAgICBjb25zdCBHUFVCdWZmZXImIGJ1ZmZlciwKKyAgICBHUFVTaXplNjQgb2Zmc2V0
LAorICAgIHN0ZDo6b3B0aW9uYWw8R1BVU2l6ZTY0PiBzaXplKQogewotICAgIG1fYmFja2luZy0+
ZmlsbEJ1ZmZlcihkZXN0aW5hdGlvbi5iYWNraW5nKCksIGRlc3RpbmF0aW9uT2Zmc2V0LCBzaXpl
KTsKKyAgICBtX2JhY2tpbmctPmNsZWFyQnVmZmVyKGJ1ZmZlci5iYWNraW5nKCksIG9mZnNldCwg
c2l6ZSk7CiB9CiAKIHZvaWQgR1BVQ29tbWFuZEVuY29kZXI6OnB1c2hEZWJ1Z0dyb3VwKFN0cmlu
ZyYmIGdyb3VwTGFiZWwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQ
VS9HUFVDb21tYW5kRW5jb2Rlci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BV
Q29tbWFuZEVuY29kZXIuaAppbmRleCBhMDFlMzI2ODQ1NDg4M2Q5YTZlNGJlMmQ4NjI2N2EyNWQw
MDRkZDkwLi4xNzFhODRhZmJjZWNkZTJiNzA1MjM5ODE2NTYzZmY3MmRiZTg0OTk1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21tYW5kRW5jb2Rlci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUNvbW1hbmRFbmNvZGVyLmgKQEAg
LTgxLDEwICs4MSwxMCBAQCBwdWJsaWM6CiAgICAgICAgIGNvbnN0IEdQVUltYWdlQ29weVRleHR1
cmUmIGRlc3RpbmF0aW9uLAogICAgICAgICBjb25zdCBHUFVFeHRlbnQzRCYgY29weVNpemUpOwog
Ci0gICAgdm9pZCBmaWxsQnVmZmVyKAotICAgICAgICBjb25zdCBHUFVCdWZmZXImIGRlc3RpbmF0
aW9uLAotICAgICAgICBHUFVTaXplNjQgZGVzdGluYXRpb25PZmZzZXQsCi0gICAgICAgIEdQVVNp
emU2NCk7CisgICAgdm9pZCBjbGVhckJ1ZmZlcigKKyAgICAgICAgY29uc3QgR1BVQnVmZmVyJiwK
KyAgICAgICAgR1BVU2l6ZTY0IG9mZnNldCwKKyAgICAgICAgc3RkOjpvcHRpb25hbDxHUFVTaXpl
NjQ+KTsKIAogICAgIHZvaWQgcHVzaERlYnVnR3JvdXAoU3RyaW5nJiYgZ3JvdXBMYWJlbCk7CiAg
ICAgdm9pZCBwb3BEZWJ1Z0dyb3VwKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL1dlYkdQVS9HUFVDb21tYW5kRW5jb2Rlci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L1dlYkdQVS9HUFVDb21tYW5kRW5jb2Rlci5pZGwKaW5kZXggYWE5NGNhMDM0NDdiZjVkYjExNGE3
MDMxMDQzM2ZhODYwYjAyYTE0My4uMjY3OTZmNmQ1MzE4YjMwNzY0OGI4MmI3ZDkwMjQ4MjU3MzM3
NzA0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQ29tbWFu
ZEVuY29kZXIuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUNvbW1h
bmRFbmNvZGVyLmlkbApAQCAtNjIsMTQgKzYyLDEwIEBAIGludGVyZmFjZSBHUFVDb21tYW5kRW5j
b2RlciB7CiAgICAgICAgIEdQVUltYWdlQ29weVRleHR1cmUgZGVzdGluYXRpb24sCiAgICAgICAg
IEdQVUV4dGVudDNEIGNvcHlTaXplKTsKIAotICAgIHVuZGVmaW5lZCBmaWxsQnVmZmVyKAotICAg
ICAgICBHUFVCdWZmZXIgZGVzdGluYXRpb24sCi0gICAgICAgIEdQVVNpemU2NCBkZXN0aW5hdGlv
bk9mZnNldCwKLSAgICAgICAgR1BVU2l6ZTY0IHNpemUpOwotCi0gICAgdW5kZWZpbmVkIHB1c2hE
ZWJ1Z0dyb3VwKFVTVlN0cmluZyBncm91cExhYmVsKTsKLSAgICB1bmRlZmluZWQgcG9wRGVidWdH
cm91cCgpOwotICAgIHVuZGVmaW5lZCBpbnNlcnREZWJ1Z01hcmtlcihVU1ZTdHJpbmcgbWFya2Vy
TGFiZWwpOworICAgIHVuZGVmaW5lZCBjbGVhckJ1ZmZlcigKKyAgICAgICAgR1BVQnVmZmVyIGJ1
ZmZlciwKKyAgICAgICAgb3B0aW9uYWwgR1BVU2l6ZTY0IG9mZnNldCA9IDAsCisgICAgICAgIG9w
dGlvbmFsIEdQVVNpemU2NCBzaXplKTsKIAogICAgIHVuZGVmaW5lZCB3cml0ZVRpbWVzdGFtcChH
UFVRdWVyeVNldCBxdWVyeVNldCwgR1BVU2l6ZTMyIHF1ZXJ5SW5kZXgpOwogCkBAIC04MywzICs3
OSw1IEBAIGludGVyZmFjZSBHUFVDb21tYW5kRW5jb2RlciB7CiAgICAgR1BVQ29tbWFuZEJ1ZmZl
ciBmaW5pc2gob3B0aW9uYWwgR1BVQ29tbWFuZEJ1ZmZlckRlc2NyaXB0b3IgZGVzY3JpcHRvcik7
CiB9OwogR1BVQ29tbWFuZEVuY29kZXIgaW5jbHVkZXMgR1BVT2JqZWN0QmFzZTsKK0dQVUNvbW1h
bmRFbmNvZGVyIGluY2x1ZGVzIEdQVUNvbW1hbmRzTWl4aW47CitHUFVDb21tYW5kRW5jb2RlciBp
bmNsdWRlcyBHUFVEZWJ1Z0NvbW1hbmRzTWl4aW47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21tYW5kc01peGluLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvV2ViR1BVL0dQVUNvbW1hbmRzTWl4aW4uaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJhY2MzZGVlNDFk
MzhkNmZjYTc5NmViZWZmMjdhNWRlY2U2ZWJjYmEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21tYW5kc01peGluLmlkbApAQCAtMCwwICsxLDMy
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworLy8gaHR0cHM6Ly9ncHV3ZWIuZ2l0aHViLmlvL2dwdXdlYi8jZ3B1
Y29tbWFuZHNtaXhpbgorCitbCisgICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJHUFUKK10KK2ludGVy
ZmFjZSBtaXhpbiBHUFVDb21tYW5kc01peGluIHsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21wdXRlUGFzc0VuY29kZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQ29tcHV0ZVBhc3NFbmNvZGVyLmNwcAppbmRleCBiMDEx
ZjUwZTc2NjJlMWVhOWU5OWQ3NzQ0MjhiOGNhMjI2OGQ0ZDE2Li45NGQ1ODRhNmVjNjhmN2JhODYz
OTQzNjVmNThiNjJjMTcwZTVkOWY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L1dlYkdQVS9HUFVDb21wdXRlUGFzc0VuY29kZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvV2ViR1BVL0dQVUNvbXB1dGVQYXNzRW5jb2Rlci5jcHAKQEAgLTQ4LDkgKzQ4LDkgQEAg
dm9pZCBHUFVDb21wdXRlUGFzc0VuY29kZXI6OnNldFBpcGVsaW5lKGNvbnN0IEdQVUNvbXB1dGVQ
aXBlbGluZSYgY29tcHV0ZVBpcGVsaW4KICAgICBtX2JhY2tpbmctPnNldFBpcGVsaW5lKGNvbXB1
dGVQaXBlbGluZS5iYWNraW5nKCkpOwogfQogCi12b2lkIEdQVUNvbXB1dGVQYXNzRW5jb2Rlcjo6
ZGlzcGF0Y2goR1BVU2l6ZTMyIHgsIHN0ZDo6b3B0aW9uYWw8R1BVU2l6ZTMyPiB5LCBzdGQ6Om9w
dGlvbmFsPEdQVVNpemUzMj4geikKK3ZvaWQgR1BVQ29tcHV0ZVBhc3NFbmNvZGVyOjpkaXNwYXRj
aChHUFVTaXplMzIgd29ya2dyb3VwQ291bnRYLCBHUFVTaXplMzIgd29ya2dyb3VwQ291bnRZLCBH
UFVTaXplMzIgd29ya2dyb3VwQ291bnRaKQogewotICAgIG1fYmFja2luZy0+ZGlzcGF0Y2goeCwg
eSwgeik7CisgICAgbV9iYWNraW5nLT5kaXNwYXRjaCh3b3JrZ3JvdXBDb3VudFgsIHdvcmtncm91
cENvdW50WSwgd29ya2dyb3VwQ291bnRaKTsKIH0KIAogdm9pZCBHUFVDb21wdXRlUGFzc0VuY29k
ZXI6OmRpc3BhdGNoSW5kaXJlY3QoY29uc3QgR1BVQnVmZmVyJiBpbmRpcmVjdEJ1ZmZlciwgR1BV
U2l6ZTY0IGluZGlyZWN0T2Zmc2V0KQpAQCAtNTgsMTkgKzU4LDkgQEAgdm9pZCBHUFVDb21wdXRl
UGFzc0VuY29kZXI6OmRpc3BhdGNoSW5kaXJlY3QoY29uc3QgR1BVQnVmZmVyJiBpbmRpcmVjdEJ1
ZmZlciwgR1AKICAgICBtX2JhY2tpbmctPmRpc3BhdGNoSW5kaXJlY3QoaW5kaXJlY3RCdWZmZXIu
YmFja2luZygpLCBpbmRpcmVjdE9mZnNldCk7CiB9CiAKLXZvaWQgR1BVQ29tcHV0ZVBhc3NFbmNv
ZGVyOjpiZWdpblBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KGNvbnN0IEdQVVF1ZXJ5U2V0JiBxdWVy
eVNldCwgR1BVU2l6ZTMyIHF1ZXJ5SW5kZXgpCit2b2lkIEdQVUNvbXB1dGVQYXNzRW5jb2Rlcjo6
ZW5kKCkKIHsKLSAgICBtX2JhY2tpbmctPmJlZ2luUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkocXVl
cnlTZXQuYmFja2luZygpLCBxdWVyeUluZGV4KTsKLX0KLQotdm9pZCBHUFVDb21wdXRlUGFzc0Vu
Y29kZXI6OmVuZFBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KCkKLXsKLSAgICBtX2JhY2tpbmctPmVu
ZFBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KCk7Ci19Ci0KLXZvaWQgR1BVQ29tcHV0ZVBhc3NFbmNv
ZGVyOjplbmRQYXNzKCkKLXsKLSAgICBtX2JhY2tpbmctPmVuZFBhc3MoKTsKKyAgICBtX2JhY2tp
bmctPmVuZCgpOwogfQogCiB2b2lkIEdQVUNvbXB1dGVQYXNzRW5jb2Rlcjo6c2V0QmluZEdyb3Vw
KEdQVUluZGV4MzIgaW5kZXgsIGNvbnN0IEdQVUJpbmRHcm91cCYgYmluZEdyb3VwLApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQ29tcHV0ZVBhc3NFbmNvZGVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21wdXRlUGFzc0VuY29kZXIu
aAppbmRleCA3MDY2OGE3MWQ2MDJiMjllZWIwMTg3MjUyMzFlZDgwN2FiM2ZiZjAwLi43YjdlY2Iz
ODExMzU5NjkzZWU2ZGU4MGFlMDBkZjZhNmE4NTFlN2IyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21wdXRlUGFzc0VuY29kZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21wdXRlUGFzc0VuY29kZXIuaApAQCAtNTIsMTMg
KzUyLDEwIEBAIHB1YmxpYzoKICAgICB2b2lkIHNldExhYmVsKFN0cmluZyYmKTsKIAogICAgIHZv
aWQgc2V0UGlwZWxpbmUoY29uc3QgR1BVQ29tcHV0ZVBpcGVsaW5lJik7Ci0gICAgdm9pZCBkaXNw
YXRjaChHUFVTaXplMzIgeCwgc3RkOjpvcHRpb25hbDxHUFVTaXplMzI+IHksIHN0ZDo6b3B0aW9u
YWw8R1BVU2l6ZTMyPik7CisgICAgdm9pZCBkaXNwYXRjaChHUFVTaXplMzIgd29ya2dyb3VwQ291
bnRYLCBHUFVTaXplMzIgd29ya2dyb3VwQ291bnRZLCBHUFVTaXplMzIgd29ya2dyb3VwQ291bnRa
KTsKICAgICB2b2lkIGRpc3BhdGNoSW5kaXJlY3QoY29uc3QgR1BVQnVmZmVyJiBpbmRpcmVjdEJ1
ZmZlciwgR1BVU2l6ZTY0IGluZGlyZWN0T2Zmc2V0KTsKIAotICAgIHZvaWQgYmVnaW5QaXBlbGlu
ZVN0YXRpc3RpY3NRdWVyeShjb25zdCBHUFVRdWVyeVNldCYsIEdQVVNpemUzMiBxdWVyeUluZGV4
KTsKLSAgICB2b2lkIGVuZFBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KCk7Ci0KLSAgICB2b2lkIGVu
ZFBhc3MoKTsKKyAgICB2b2lkIGVuZCgpOwogCiAgICAgdm9pZCBzZXRCaW5kR3JvdXAoR1BVSW5k
ZXgzMiwgY29uc3QgR1BVQmluZEdyb3VwJiwKICAgICAgICAgc3RkOjpvcHRpb25hbDxWZWN0b3I8
R1BVQnVmZmVyRHluYW1pY09mZnNldD4+JiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9XZWJHUFUvR1BVQ29tcHV0ZVBhc3NFbmNvZGVyLmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvV2ViR1BVL0dQVUNvbXB1dGVQYXNzRW5jb2Rlci5pZGwKaW5kZXggOTU4ZGQ3N2U3
Njc0MDYyNjI5OGZkNDJiZGQwNGFlMWM3OGU1Yjg5OC4uOWZmYTZiMDYwMTcyODFkNmQ0ZjY1MmM0
ZmRhZDYwNGRmYzE1NTFjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJH
UFUvR1BVQ29tcHV0ZVBhc3NFbmNvZGVyLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L1dlYkdQVS9HUFVDb21wdXRlUGFzc0VuY29kZXIuaWRsCkBAIC0zNiwxMyArMzYsMTIgQEAgdHlw
ZWRlZiBbRW5mb3JjZVJhbmdlXSB1bnNpZ25lZCBsb25nIGxvbmcgR1BVU2l6ZTY0OwogXQogaW50
ZXJmYWNlIEdQVUNvbXB1dGVQYXNzRW5jb2RlciB7CiAgICAgdW5kZWZpbmVkIHNldFBpcGVsaW5l
KEdQVUNvbXB1dGVQaXBlbGluZSBwaXBlbGluZSk7Ci0gICAgdW5kZWZpbmVkIGRpc3BhdGNoKEdQ
VVNpemUzMiB4LCBvcHRpb25hbCBHUFVTaXplMzIgeSA9IDEsIG9wdGlvbmFsIEdQVVNpemUzMiB6
ID0gMSk7CisgICAgdW5kZWZpbmVkIGRpc3BhdGNoKEdQVVNpemUzMiB3b3JrZ3JvdXBDb3VudFgs
IG9wdGlvbmFsIEdQVVNpemUzMiB3b3JrZ3JvdXBDb3VudFkgPSAxLCBvcHRpb25hbCBHUFVTaXpl
MzIgd29ya2dyb3VwQ291bnRaID0gMSk7CiAgICAgdW5kZWZpbmVkIGRpc3BhdGNoSW5kaXJlY3Qo
R1BVQnVmZmVyIGluZGlyZWN0QnVmZmVyLCBHUFVTaXplNjQgaW5kaXJlY3RPZmZzZXQpOwogCi0g
ICAgdW5kZWZpbmVkIGJlZ2luUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkoR1BVUXVlcnlTZXQgcXVl
cnlTZXQsIEdQVVNpemUzMiBxdWVyeUluZGV4KTsKLSAgICB1bmRlZmluZWQgZW5kUGlwZWxpbmVT
dGF0aXN0aWNzUXVlcnkoKTsKLQotICAgIHVuZGVmaW5lZCBlbmRQYXNzKCk7CisgICAgdW5kZWZp
bmVkIGVuZCgpOwogfTsKIEdQVUNvbXB1dGVQYXNzRW5jb2RlciBpbmNsdWRlcyBHUFVPYmplY3RC
YXNlOworR1BVQ29tcHV0ZVBhc3NFbmNvZGVyIGluY2x1ZGVzIEdQVUNvbW1hbmRzTWl4aW47CitH
UFVDb21wdXRlUGFzc0VuY29kZXIgaW5jbHVkZXMgR1BVRGVidWdDb21tYW5kc01peGluOwogR1BV
Q29tcHV0ZVBhc3NFbmNvZGVyIGluY2x1ZGVzIEdQVVByb2dyYW1tYWJsZVBhc3NFbmNvZGVyOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVRGVidWdDb21tYW5k
c01peGluLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVURlYnVnQ29tbWFu
ZHNNaXhpbi5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWY4NDhhNDJkY2JjY2E2NmMzMTgxYmE4YmUxNDA4ZTYz
YzA1NjQwNAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BV
L0dQVURlYnVnQ29tbWFuZHNNaXhpbi5pZGwKQEAgLTAsMCArMSwzNSBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAyMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
Ky8vIGh0dHBzOi8vZ3B1d2ViLmdpdGh1Yi5pby9ncHV3ZWIvI2dwdWRlYnVnY29tbWFuZHNtaXhp
bgorCitbCisgICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJHUFUKK10KK2ludGVyZmFjZSBtaXhpbiBH
UFVEZWJ1Z0NvbW1hbmRzTWl4aW4geworICAgIHVuZGVmaW5lZCBwdXNoRGVidWdHcm91cChVU1ZT
dHJpbmcgZ3JvdXBMYWJlbCk7CisgICAgdW5kZWZpbmVkIHBvcERlYnVnR3JvdXAoKTsKKyAgICB1
bmRlZmluZWQgaW5zZXJ0RGVidWdNYXJrZXIoVVNWU3RyaW5nIG1hcmtlckxhYmVsKTsKK307CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVGZWF0dXJlTmFtZS5o
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVRmVhdHVyZU5hbWUuaAppbmRleCA0
ZmVhYjUwMWM1YWM0N2UyMzJjYmNiN2JhZDUwYjAwZjczNDFjYzk4Li5hODAzYWMyZjU1OGQ4NWI2
YmRmYTUxZjUxNzUwN2U5ZTg2ZTZkZWNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL1dlYkdQVS9HUFVGZWF0dXJlTmFtZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
V2ViR1BVL0dQVUZlYXR1cmVOYW1lLmgKQEAgLTM0LDcgKzM0LDYgQEAgZW51bSBjbGFzcyBHUFVG
ZWF0dXJlTmFtZSA6IHVpbnQ4X3QgewogICAgIERlcHRoQ2xpcENvbnRyb2wsCiAgICAgRGVwdGgy
NHVub3JtU3RlbmNpbDgsCiAgICAgRGVwdGgzMmZsb2F0U3RlbmNpbDgsCi0gICAgUGlwZWxpbmVT
dGF0aXN0aWNzUXVlcnksCiAgICAgVGV4dHVyZUNvbXByZXNzaW9uQmMsCiAgICAgVGV4dHVyZUNv
bXByZXNzaW9uRXRjMiwKICAgICBUZXh0dXJlQ29tcHJlc3Npb25Bc3RjLApAQCAtNTEsOCArNTAs
NiBAQCBpbmxpbmUgUEFMOjpXZWJHUFU6OkZlYXR1cmVOYW1lIGNvbnZlcnRUb0JhY2tpbmcoR1BV
RmVhdHVyZU5hbWUgZmVhdHVyZU5hbWUpCiAgICAgICAgIHJldHVybiBQQUw6OldlYkdQVTo6RmVh
dHVyZU5hbWU6OkRlcHRoMjR1bm9ybVN0ZW5jaWw4OwogICAgIGNhc2UgR1BVRmVhdHVyZU5hbWU6
OkRlcHRoMzJmbG9hdFN0ZW5jaWw4OgogICAgICAgICByZXR1cm4gUEFMOjpXZWJHUFU6OkZlYXR1
cmVOYW1lOjpEZXB0aDMyZmxvYXRTdGVuY2lsODsKLSAgICBjYXNlIEdQVUZlYXR1cmVOYW1lOjpQ
aXBlbGluZVN0YXRpc3RpY3NRdWVyeToKLSAgICAgICAgcmV0dXJuIFBBTDo6V2ViR1BVOjpGZWF0
dXJlTmFtZTo6UGlwZWxpbmVTdGF0aXN0aWNzUXVlcnk7CiAgICAgY2FzZSBHUFVGZWF0dXJlTmFt
ZTo6VGV4dHVyZUNvbXByZXNzaW9uQmM6CiAgICAgICAgIHJldHVybiBQQUw6OldlYkdQVTo6RmVh
dHVyZU5hbWU6OlRleHR1cmVDb21wcmVzc2lvbkJjOwogICAgIGNhc2UgR1BVRmVhdHVyZU5hbWU6
OlRleHR1cmVDb21wcmVzc2lvbkV0YzI6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL1dlYkdQVS9HUFVGZWF0dXJlTmFtZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dl
YkdQVS9HUFVGZWF0dXJlTmFtZS5pZGwKaW5kZXggMTg0ZTVhNTFlYzEyZDE1M2U3ZWI5MzQzODQ5
Y2NmNzU3YTk1ZjNiYi4uMjVmMGYzODNkNTFhYTE5ZDdjNGUwZjViMTQzMDU2ZWY1MjUwM2FlYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVRmVhdHVyZU5hbWUu
aWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUZlYXR1cmVOYW1lLmlk
bApAQCAtMzIsNyArMzIsNiBAQCBlbnVtIEdQVUZlYXR1cmVOYW1lIHsKICAgICAiZGVwdGgtY2xp
cC1jb250cm9sIiwKICAgICAiZGVwdGgyNHVub3JtLXN0ZW5jaWw4IiwKICAgICAiZGVwdGgzMmZs
b2F0LXN0ZW5jaWw4IiwKLSAgICAicGlwZWxpbmUtc3RhdGlzdGljcy1xdWVyeSIsCiAgICAgInRl
eHR1cmUtY29tcHJlc3Npb24tYmMiLAogICAgICJ0ZXh0dXJlLWNvbXByZXNzaW9uLWV0YzIiLAog
ICAgICJ0ZXh0dXJlLWNvbXByZXNzaW9uLWFzdGMiLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9XZWJHUFUvR1BVRnJhZ21lbnRTdGF0ZS5oIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9XZWJHUFUvR1BVRnJhZ21lbnRTdGF0ZS5oCmluZGV4IGU5YjY5YWNiNWFjYjA2Y2E2OWI4
NzE3MmU5OTNlNTE4ZWY5NWI1ZmIuLmUxNzJlNDE1NGY2YjM1ODE3NThlNGNjOThiYTI3ZGY2ODM3
ZjAwNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUZyYWdt
ZW50U3RhdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVGcmFnbWVu
dFN0YXRlLmgKQEAgLTI3LDYgKzI3LDcgQEAKIAogI2luY2x1ZGUgIkdQVUNvbG9yVGFyZ2V0U3Rh
dGUuaCIKICNpbmNsdWRlICJHUFVQcm9ncmFtbWFibGVTdGFnZS5oIgorI2luY2x1ZGUgPG9wdGlv
bmFsPgogI2luY2x1ZGUgPHBhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVRnJhZ21lbnRTdGF0ZS5o
PgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIApAQCAtNDIsMTMgKzQzLDE1IEBAIHN0cnVjdCBH
UFVGcmFnbWVudFN0YXRlIDogcHVibGljIEdQVVByb2dyYW1tYWJsZVN0YWdlIHsKICAgICAgICAg
ICAgICAgICBlbnRyeVBvaW50LAogICAgICAgICAgICAgICAgIGNvbnN0YW50cywKICAgICAgICAg
ICAgIH0sCi0gICAgICAgICAgICB0YXJnZXRzLm1hcChbXSAoYXV0byYgdGFyZ2V0KSB7Ci0gICAg
ICAgICAgICAgICAgcmV0dXJuIHRhcmdldC5jb252ZXJ0VG9CYWNraW5nKCk7CisgICAgICAgICAg
ICB0YXJnZXRzLm1hcChbXSAoYXV0byYgdGFyZ2V0KSAtPiBzdGQ6Om9wdGlvbmFsPFBBTDo6V2Vi
R1BVOjpDb2xvclRhcmdldFN0YXRlPiB7CisgICAgICAgICAgICAgICAgaWYgKHRhcmdldCkKKyAg
ICAgICAgICAgICAgICAgICAgcmV0dXJuIHRhcmdldC0+Y29udmVydFRvQmFja2luZygpOworICAg
ICAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAgICAgICAgICAgICB9KSwKICAgICAg
ICAgfTsKICAgICB9CiAKLSAgICBWZWN0b3I8R1BVQ29sb3JUYXJnZXRTdGF0ZT4gdGFyZ2V0czsK
KyAgICBWZWN0b3I8c3RkOjpvcHRpb25hbDxHUFVDb2xvclRhcmdldFN0YXRlPj4gdGFyZ2V0czsK
IH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUZy
YWdtZW50U3RhdGUuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVRnJhZ21l
bnRTdGF0ZS5pZGwKaW5kZXggMTg5ODRlNGVhNjk2MTMwODEwZGRlOTQ5MjY3ZWY5OTZlNDkzZDFk
ZC4uNDNhZmZlOWFkZTAwMTc4N2Q4MzIyMjI1YTY5NGVlYjdkYjk3NDcyMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVRnJhZ21lbnRTdGF0ZS5pZGwKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVRnJhZ21lbnRTdGF0ZS5pZGwKQEAgLTI5
LDUgKzI5LDUgQEAKICAgICBFbmFibGVkQnlTZXR0aW5nPVdlYkdQVQogXQogZGljdGlvbmFyeSBH
UFVGcmFnbWVudFN0YXRlIDogR1BVUHJvZ3JhbW1hYmxlU3RhZ2UgewotICAgIHJlcXVpcmVkIHNl
cXVlbmNlPEdQVUNvbG9yVGFyZ2V0U3RhdGU+IHRhcmdldHM7CisgICAgcmVxdWlyZWQgc2VxdWVu
Y2U8R1BVQ29sb3JUYXJnZXRTdGF0ZT8+IHRhcmdldHM7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVSW1hZ2VDb3B5RXh0ZXJuYWxJbWFnZS5oIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVSW1hZ2VDb3B5RXh0ZXJuYWxJbWFnZS5oCmlu
ZGV4IDRjY2NhYjdmMDA1NjZhMzEzNmEyNTc4OTBiODkxYjk3ZGMzNWE4OGUuLjk1N2NjOWUzODEx
YWUyN2Q2ZjNhODI4NjdhYjA2ZTRjOWM4NjZlMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvV2ViR1BVL0dQVUltYWdlQ29weUV4dGVybmFsSW1hZ2UuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVJbWFnZUNvcHlFeHRlcm5hbEltYWdlLmgKQEAgLTQx
LDExICs0MSwxMyBAQCBzdHJ1Y3QgR1BVSW1hZ2VDb3B5RXh0ZXJuYWxJbWFnZSB7CiAgICAgICAg
IHJldHVybiB7CiAgICAgICAgICAgICAvLyBGSVhNRTogSGFuZGxlIHRoZSBjYW52YXMgZWxlbWVu
dC4KICAgICAgICAgICAgIG9yaWdpbiA/IHN0ZDo6b3B0aW9uYWwgeyBXZWJDb3JlOjpjb252ZXJ0
VG9CYWNraW5nKCpvcmlnaW4pIH0gOiBzdGQ6Om51bGxvcHQsCisgICAgICAgICAgICBmbGlwWSwK
ICAgICAgICAgfTsKICAgICB9CiAKICAgICBzdGQ6OnZhcmlhbnQ8UmVmUHRyPEltYWdlQml0bWFw
PiwgUmVmUHRyPEhUTUxDYW52YXNFbGVtZW50Pj4gc291cmNlOwogICAgIHN0ZDo6b3B0aW9uYWw8
R1BVT3JpZ2luMkQ+IG9yaWdpbjsKKyAgICBib29sIGZsaXBZIHsgZmFsc2UgfTsKIH07CiAKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUltYWdlQ29weUV4
dGVybmFsSW1hZ2UuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVSW1hZ2VD
b3B5RXh0ZXJuYWxJbWFnZS5pZGwKaW5kZXggOWU2MTJiYjUzNjg3N2FmZmYxMDk2NThmMzVhMTQx
NGFkYWFkOWYyZS4uMWYyMjIyYTU1YmFlZTljMjdkMmQyNTg2Yzk3ODE1MzRjOWM5Y2U5NSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVSW1hZ2VDb3B5RXh0ZXJu
YWxJbWFnZS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVSW1hZ2VD
b3B5RXh0ZXJuYWxJbWFnZS5pZGwKQEAgLTM1LDQgKzM1LDUgQEAgdHlwZWRlZiAoc2VxdWVuY2U8
R1BVSW50ZWdlckNvb3JkaW5hdGU+IG9yIEdQVU9yaWdpbjJERGljdCkgR1BVT3JpZ2luMkQ7CiBk
aWN0aW9uYXJ5IEdQVUltYWdlQ29weUV4dGVybmFsSW1hZ2UgewogICAgIHJlcXVpcmVkIChJbWFn
ZUJpdG1hcCBvciBIVE1MQ2FudmFzRWxlbWVudCkgc291cmNlOyAvLyBGSVhNRTogT2Zmc2NyZWVu
Q2FudmFzIGRvZXNuJ3Qgc2VlbSB0byB3b3JrIHdpdGggb3VyIGJpbmRpbmdzIGhlcmUuCiAgICAg
R1BVT3JpZ2luMkQgb3JpZ2luOworICAgIGJvb2xlYW4gZmxpcFkgPSBmYWxzZTsKIH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVMb2FkT3AuaCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUxvYWRPcC5oCmluZGV4IDM1ZTU3NDlmZTE3ZDVi
ZDI5ZTE1NzBiMjE3ZTU5OTIxMTU3MTkyMjkuLjEyY2FkYWZiMmE1NzAzNmMwNmI2OWQxODBkYzFh
NWFkZWMyMzMwOGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQ
VUxvYWRPcC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUxvYWRPcC5o
CkBAIC0zMiw2ICszMiw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogZW51bSBjbGFzcyBHUFVM
b2FkT3AgOiB1aW50OF90IHsKICAgICBMb2FkLAorICAgIENsZWFyLAogfTsKIAogaW5saW5lIFBB
TDo6V2ViR1BVOjpMb2FkT3AgY29udmVydFRvQmFja2luZyhHUFVMb2FkT3AgbG9hZE9wKQpAQCAt
MzksNiArNDAsOCBAQCBpbmxpbmUgUEFMOjpXZWJHUFU6OkxvYWRPcCBjb252ZXJ0VG9CYWNraW5n
KEdQVUxvYWRPcCBsb2FkT3ApCiAgICAgc3dpdGNoIChsb2FkT3ApIHsKICAgICBjYXNlIEdQVUxv
YWRPcDo6TG9hZDoKICAgICAgICAgcmV0dXJuIFBBTDo6V2ViR1BVOjpMb2FkT3A6OkxvYWQ7Cisg
ICAgY2FzZSBHUFVMb2FkT3A6OkNsZWFyOgorICAgICAgICByZXR1cm4gUEFMOjpXZWJHUFU6Okxv
YWRPcDo6Q2xlYXI7CiAgICAgfQogICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVMb2FkT3AuaWRs
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVTG9hZE9wLmlkbAppbmRleCBjODQ5
NTQxYjUyNDY3NjUxMGM1NjI4ZmM5OTEwMWFjYjkyOTlhODUzLi5kNjAyYjYxYzUyYjQ4MTI2OTgz
ZjQ4YWYwZTdjMDVkNWY1MjFlYzc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L1dlYkdQVS9HUFVMb2FkT3AuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BV
L0dQVUxvYWRPcC5pZGwKQEAgLTI5LDUgKzI5LDYgQEAKICAgICBFbmFibGVkQnlTZXR0aW5nPVdl
YkdQVQogXQogZW51bSBHUFVMb2FkT3AgewotICAgICJsb2FkIgorICAgICJsb2FkIiwKKyAgICAi
Y2xlYXIiCiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BV
T2JqZWN0QmFzZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVPYmplY3RC
YXNlLmlkbAppbmRleCBlMTMzMWIzZWMzY2Q3ZWY4M2IxNzU0MzJmMzc2MjdiN2FkNTg0MGQ0Li44
Y2VmYzcxZDVlOTg2YjUwYTU2ZmEyMWE0ODA0NWMzNjNiYzE1N2JiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVPYmplY3RCYXNlLmlkbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVPYmplY3RCYXNlLmlkbApAQCAtMjksNSArMjksNSBA
QAogICAgIEVuYWJsZWRCeVNldHRpbmc9V2ViR1BVCiBdCiBpbnRlcmZhY2UgbWl4aW4gR1BVT2Jq
ZWN0QmFzZSB7Ci0gICAgYXR0cmlidXRlIFVTVlN0cmluZz8gbGFiZWw7CisgICAgYXR0cmlidXRl
IFVTVlN0cmluZz8gbGFiZWw7IC8vIEZJWE1FOiBUaGlzIGlzIHN1cHBvc2VkIHRvIGJlIChVU1ZT
dHJpbmcgb3IgdW5kZWZpbmVkKSBidXQgb3VyIGJpbmRpbmdzIGdlbmVyYXRvciBjYW4ndCBoYW5k
bGUgdGhhdC4KIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9H
UFVQaXBlbGluZVN0YXRpc3RpY05hbWUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BV
L0dQVVBpcGVsaW5lU3RhdGlzdGljTmFtZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCBmOGRlOGJmZjhmNTczZWM0ZjNhZjY3MzJjMjlmZGYyYTEwOGVkNjUxLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
V2ViR1BVL0dQVVBpcGVsaW5lU3RhdGlzdGljTmFtZS5oCisrKyAvZGV2L251bGwKQEAgLTEsNTgg
KzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0g
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
LSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
Ci0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
LSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0g
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi0jaW5jbHVkZSA8Y3N0ZGludD4K
LSNpbmNsdWRlIDxwYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVBpcGVsaW5lU3RhdGlzdGljTmFt
ZS5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWVudW0gY2xhc3MgR1BVUGlwZWxpbmVTdGF0
aXN0aWNOYW1lIDogdWludDhfdCB7Ci0gICAgVmVydGV4U2hhZGVySW52b2NhdGlvbnMsCi0gICAg
Q2xpcHBlckludm9jYXRpb25zLAotICAgIENsaXBwZXJQcmltaXRpdmVzT3V0LAotICAgIEZyYWdt
ZW50U2hhZGVySW52b2NhdGlvbnMsCi0gICAgQ29tcHV0ZVNoYWRlckludm9jYXRpb25zLAotfTsK
LQotaW5saW5lIFBBTDo6V2ViR1BVOjpQaXBlbGluZVN0YXRpc3RpY05hbWUgY29udmVydFRvQmFj
a2luZyhHUFVQaXBlbGluZVN0YXRpc3RpY05hbWUgcGlwZWxpbmVTdGF0aXN0aWNOYW1lKQotewot
ICAgIHN3aXRjaCAocGlwZWxpbmVTdGF0aXN0aWNOYW1lKSB7Ci0gICAgY2FzZSBHUFVQaXBlbGlu
ZVN0YXRpc3RpY05hbWU6OlZlcnRleFNoYWRlckludm9jYXRpb25zOgotICAgICAgICByZXR1cm4g
UEFMOjpXZWJHUFU6OlBpcGVsaW5lU3RhdGlzdGljTmFtZTo6VmVydGV4U2hhZGVySW52b2NhdGlv
bnM7Ci0gICAgY2FzZSBHUFVQaXBlbGluZVN0YXRpc3RpY05hbWU6OkNsaXBwZXJJbnZvY2F0aW9u
czoKLSAgICAgICAgcmV0dXJuIFBBTDo6V2ViR1BVOjpQaXBlbGluZVN0YXRpc3RpY05hbWU6OkNs
aXBwZXJJbnZvY2F0aW9uczsKLSAgICBjYXNlIEdQVVBpcGVsaW5lU3RhdGlzdGljTmFtZTo6Q2xp
cHBlclByaW1pdGl2ZXNPdXQ6Ci0gICAgICAgIHJldHVybiBQQUw6OldlYkdQVTo6UGlwZWxpbmVT
dGF0aXN0aWNOYW1lOjpDbGlwcGVyUHJpbWl0aXZlc091dDsKLSAgICBjYXNlIEdQVVBpcGVsaW5l
U3RhdGlzdGljTmFtZTo6RnJhZ21lbnRTaGFkZXJJbnZvY2F0aW9uczoKLSAgICAgICAgcmV0dXJu
IFBBTDo6V2ViR1BVOjpQaXBlbGluZVN0YXRpc3RpY05hbWU6OkZyYWdtZW50U2hhZGVySW52b2Nh
dGlvbnM7Ci0gICAgY2FzZSBHUFVQaXBlbGluZVN0YXRpc3RpY05hbWU6OkNvbXB1dGVTaGFkZXJJ
bnZvY2F0aW9uczoKLSAgICAgICAgcmV0dXJuIFBBTDo6V2ViR1BVOjpQaXBlbGluZVN0YXRpc3Rp
Y05hbWU6OkNvbXB1dGVTaGFkZXJJbnZvY2F0aW9uczsKLSAgICB9Ci0gICAgUkVMRUFTRV9BU1NF
UlRfTk9UX1JFQUNIRUQoKTsKLX0KLQotfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9XZWJHUFUvR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lLmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvV2ViR1BVL0dQVVBpcGVsaW5lU3RhdGlzdGljTmFtZS5pZGwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDg3Njc3YzJjYWRjZTc1NzA2YTExMjAyYzM0NTliMzM0NWMwYzdm
OTYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lLmlkbAorKysg
L2Rldi9udWxsCkBAIC0xLDM3ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
Ci0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0g
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0vLyBodHRwczovL2dwdXdl
Yi5naXRodWIuaW8vZ3B1d2ViLyNlbnVtZGVmLWdwdXBpcGVsaW5lc3RhdGlzdGljbmFtZQotCi1b
Ci0gICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJHUFUKLV0KLWVudW0gR1BVUGlwZWxpbmVTdGF0aXN0
aWNOYW1lIHsKLSAgICAidmVydGV4LXNoYWRlci1pbnZvY2F0aW9ucyIsCi0gICAgImNsaXBwZXIt
aW52b2NhdGlvbnMiLAotICAgICJjbGlwcGVyLXByaW1pdGl2ZXMtb3V0IiwKLSAgICAiZnJhZ21l
bnQtc2hhZGVyLWludm9jYXRpb25zIiwKLSAgICAiY29tcHV0ZS1zaGFkZXItaW52b2NhdGlvbnMi
Ci19OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUHJvZ3Jh
bW1hYmxlUGFzc0VuY29kZXIuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BV
UHJvZ3JhbW1hYmxlUGFzc0VuY29kZXIuaWRsCmluZGV4IDgxZjIyNTM4MDg5ZWY1ZWFjMzk1YjUw
MWEzNDNhYjljZjNlZWMxYmIuLjg2NzM0OTJiZjZjYTAzOGQ5MGQwMjAyYzllZDUxMGQwMmE3OTIx
ZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVByb2dyYW1t
YWJsZVBhc3NFbmNvZGVyLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9H
UFVQcm9ncmFtbWFibGVQYXNzRW5jb2Rlci5pZGwKQEAgLTQyLDggKzQyLDQgQEAgaW50ZXJmYWNl
IG1peGluIEdQVVByb2dyYW1tYWJsZVBhc3NFbmNvZGVyIHsKICAgICAgICAgVWludDMyQXJyYXkg
ZHluYW1pY09mZnNldHNEYXRhLAogICAgICAgICBHUFVTaXplNjQgZHluYW1pY09mZnNldHNEYXRh
U3RhcnQsCiAgICAgICAgIEdQVVNpemUzMiBkeW5hbWljT2Zmc2V0c0RhdGFMZW5ndGgpOwotCi0g
ICAgdW5kZWZpbmVkIHB1c2hEZWJ1Z0dyb3VwKFVTVlN0cmluZyBncm91cExhYmVsKTsKLSAgICB1
bmRlZmluZWQgcG9wRGVidWdHcm91cCgpOwotICAgIHVuZGVmaW5lZCBpbnNlcnREZWJ1Z01hcmtl
cihVU1ZTdHJpbmcgbWFya2VyTGFiZWwpOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvV2ViR1BVL0dQVVF1ZXJ5U2V0RGVzY3JpcHRvci5oIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9XZWJHUFUvR1BVUXVlcnlTZXREZXNjcmlwdG9yLmgKaW5kZXggZjAwNDNiZDU3MmYx
M2Q4NDI2MWYwM2M5YTcxMGVhNTUzZjk5M2Y0NC4uZmZkMWY3NTJlOGQxMGZlODVhYTRkMTlhYjk5
MTE3ZjBhZWFkZWQ4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUv
R1BVUXVlcnlTZXREZXNjcmlwdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJH
UFUvR1BVUXVlcnlTZXREZXNjcmlwdG9yLmgKQEAgLTI3LDcgKzI3LDYgQEAKIAogI2luY2x1ZGUg
IkdQVUludGVncmFsVHlwZXMuaCIKICNpbmNsdWRlICJHUFVPYmplY3REZXNjcmlwdG9yQmFzZS5o
IgotI2luY2x1ZGUgIkdQVVBpcGVsaW5lU3RhdGlzdGljTmFtZS5oIgogI2luY2x1ZGUgIkdQVVF1
ZXJ5VHlwZS5oIgogI2luY2x1ZGUgPHBhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVUXVlcnlTZXRE
ZXNjcmlwdG9yLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgpAQCAtNDIsMTUgKzQxLDExIEBA
IHN0cnVjdCBHUFVRdWVyeVNldERlc2NyaXB0b3IgOiBwdWJsaWMgR1BVT2JqZWN0RGVzY3JpcHRv
ckJhc2UgewogICAgICAgICAgICAgeyBsYWJlbCB9LAogICAgICAgICAgICAgV2ViQ29yZTo6Y29u
dmVydFRvQmFja2luZyh0eXBlKSwKICAgICAgICAgICAgIGNvdW50LAotICAgICAgICAgICAgcGlw
ZWxpbmVTdGF0aXN0aWNzLm1hcChbXSAoY29uc3QgYXV0byYgcGlwZWxpbmVTdGF0aXN0aWMpIHsK
LSAgICAgICAgICAgICAgICByZXR1cm4gV2ViQ29yZTo6Y29udmVydFRvQmFja2luZyhwaXBlbGlu
ZVN0YXRpc3RpYyk7Ci0gICAgICAgICAgICB9KSwKICAgICAgICAgfTsKICAgICB9CiAKICAgICBH
UFVRdWVyeVR5cGUgdHlwZSB7IEdQVVF1ZXJ5VHlwZTo6T2NjbHVzaW9uIH07CiAgICAgR1BVU2l6
ZTMyIGNvdW50IHsgMCB9OwotICAgIFZlY3RvcjxHUFVQaXBlbGluZVN0YXRpc3RpY05hbWU+IHBp
cGVsaW5lU3RhdGlzdGljczsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvV2ViR1BVL0dQVVF1ZXJ5U2V0RGVzY3JpcHRvci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL1dlYkdQVS9HUFVRdWVyeVNldERlc2NyaXB0b3IuaWRsCmluZGV4IGZjZDUxYmQ5ZTE5
NzY5ZWFlMzJiNWJhMWM3ZTdhNjJkMDhjODYxZGMuLjVhN2U5NTAyYjZlNWVhZGIxYzkxNjY1Mzgy
MTEzMzRiMzZlOWNiY2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BV
L0dQVVF1ZXJ5U2V0RGVzY3JpcHRvci5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9X
ZWJHUFUvR1BVUXVlcnlTZXREZXNjcmlwdG9yLmlkbApAQCAtMzQsNSArMzQsNCBAQCB0eXBlZGVm
IFtFbmZvcmNlUmFuZ2VdIHVuc2lnbmVkIGxvbmcgR1BVU2l6ZTMyOwogZGljdGlvbmFyeSBHUFVR
dWVyeVNldERlc2NyaXB0b3IgOiBHUFVPYmplY3REZXNjcmlwdG9yQmFzZSB7CiAgICAgcmVxdWly
ZWQgR1BVUXVlcnlUeXBlIHR5cGU7CiAgICAgcmVxdWlyZWQgR1BVU2l6ZTMyIGNvdW50OwotICAg
IHNlcXVlbmNlPEdQVVBpcGVsaW5lU3RhdGlzdGljTmFtZT4gcGlwZWxpbmVTdGF0aXN0aWNzID0g
W107CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUXVl
cnlUeXBlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVRdWVyeVR5cGUuaApp
bmRleCBlN2E1NzcyZTQ4NjNjN2M2Yzc4NzhhNDY4NWJhNDQ1NjY4Njk3MGRlLi4yOWI4MzMyYjll
OWFmMjRmNzc0Y2EwODc5MDFhZDFiZDMyNWFhNjRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL1dlYkdQVS9HUFVRdWVyeVR5cGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL1dlYkdQVS9HUFVRdWVyeVR5cGUuaApAQCAtMzIsNyArMzIsNiBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIGVudW0gY2xhc3MgR1BVUXVlcnlUeXBlIDogdWludDhfdCB7CiAgICAgT2NjbHVz
aW9uLAotICAgIFBpcGVsaW5lU3RhdGlzdGljcywKICAgICBUaW1lc3RhbXAsCiB9OwogCkBAIC00
MSw4ICs0MCw2IEBAIGlubGluZSBQQUw6OldlYkdQVTo6UXVlcnlUeXBlIGNvbnZlcnRUb0JhY2tp
bmcoR1BVUXVlcnlUeXBlIHF1ZXJ5VHlwZSkKICAgICBzd2l0Y2ggKHF1ZXJ5VHlwZSkgewogICAg
IGNhc2UgR1BVUXVlcnlUeXBlOjpPY2NsdXNpb246CiAgICAgICAgIHJldHVybiBQQUw6OldlYkdQ
VTo6UXVlcnlUeXBlOjpPY2NsdXNpb247Ci0gICAgY2FzZSBHUFVRdWVyeVR5cGU6OlBpcGVsaW5l
U3RhdGlzdGljczoKLSAgICAgICAgcmV0dXJuIFBBTDo6V2ViR1BVOjpRdWVyeVR5cGU6OlBpcGVs
aW5lU3RhdGlzdGljczsKICAgICBjYXNlIEdQVVF1ZXJ5VHlwZTo6VGltZXN0YW1wOgogICAgICAg
ICByZXR1cm4gUEFMOjpXZWJHUFU6OlF1ZXJ5VHlwZTo6VGltZXN0YW1wOwogICAgIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVF1ZXJ5VHlwZS5pZGwgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVRdWVyeVR5cGUuaWRsCmluZGV4IDU0ODFi
OTIyYTIzMWRlN2FmOTU4ZGM5NDIzZmUyMmNiMWEzZjk1NjYuLmQ1OTAyZDZiYzI0MzcwMGViMTg4
N2I4NDVlZTUzZTc3NTlmMWU0ZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
V2ViR1BVL0dQVVF1ZXJ5VHlwZS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJH
UFUvR1BVUXVlcnlUeXBlLmlkbApAQCAtMzAsNiArMzAsNSBAQAogXQogZW51bSBHUFVRdWVyeVR5
cGUgewogICAgICJvY2NsdXNpb24iLAotICAgICJwaXBlbGluZS1zdGF0aXN0aWNzIiwKICAgICAi
dGltZXN0YW1wIgogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BV
L0dQVVF1ZXVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVF1ZXVlLmNw
cAppbmRleCBmNTg2MTkwMmNmZmU2NmYyODhlNWE2Nzc5OWYyMzU1ZjVkMzc3NGIzLi5iNGJlYjQx
ODM0NTFhNDU4MDBiZjQyMjBkYjc2MmNiYjg0ZTMyNmIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVRdWV1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9XZWJHUFUvR1BVUXVldWUuY3BwCkBAIC02MywxMCArNjMsMTAgQEAgdm9pZCBHUFVRdWV1
ZTo6d3JpdGVCdWZmZXIoCiAgICAgY29uc3QgR1BVQnVmZmVyJiBidWZmZXIsCiAgICAgR1BVU2l6
ZTY0IGJ1ZmZlck9mZnNldCwKICAgICBCdWZmZXJTb3VyY2UmJiBkYXRhLAotICAgIHN0ZDo6b3B0
aW9uYWw8R1BVU2l6ZTY0PiBkYXRhT2Zmc2V0LAorICAgIEdQVVNpemU2NCBkYXRhT2Zmc2V0LAog
ICAgIHN0ZDo6b3B0aW9uYWw8R1BVU2l6ZTY0PiBzaXplKQogewotICAgIG1fYmFja2luZy0+d3Jp
dGVCdWZmZXIoYnVmZmVyLmJhY2tpbmcoKSwgYnVmZmVyT2Zmc2V0LCBkYXRhLmRhdGEoKSwgZGF0
YS5sZW5ndGgoKSwgZGF0YU9mZnNldC52YWx1ZV9vcigwKSwgc2l6ZSk7CisgICAgbV9iYWNraW5n
LT53cml0ZUJ1ZmZlcihidWZmZXIuYmFja2luZygpLCBidWZmZXJPZmZzZXQsIGRhdGEuZGF0YSgp
LCBkYXRhLmxlbmd0aCgpLCBkYXRhT2Zmc2V0LCBzaXplKTsKIH0KIAogdm9pZCBHUFVRdWV1ZTo6
d3JpdGVUZXh0dXJlKApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUv
R1BVUXVldWUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVF1ZXVlLmgKaW5k
ZXggZmVjMmZiZDI3NGRmOTVkMzQ1NjlkZGJhNWRiNWUwYzAyN2MyMzdkZi4uNzUxMTllMGIzNTZi
ZDE3MTc2ZDg4NWJiMDYwZTNlZGI4NTZjN2U5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9XZWJHUFUvR1BVUXVldWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dl
YkdQVS9HUFVRdWV1ZS5oCkBAIC02NSw3ICs2NSw3IEBAIHB1YmxpYzoKICAgICAgICAgY29uc3Qg
R1BVQnVmZmVyJiwKICAgICAgICAgR1BVU2l6ZTY0IGJ1ZmZlck9mZnNldCwKICAgICAgICAgQnVm
ZmVyU291cmNlJiYgZGF0YSwKLSAgICAgICAgc3RkOjpvcHRpb25hbDxHUFVTaXplNjQ+IGRhdGFP
ZmZzZXQsCisgICAgICAgIEdQVVNpemU2NCBkYXRhT2Zmc2V0LAogICAgICAgICBzdGQ6Om9wdGlv
bmFsPEdQVVNpemU2ND4pOwogCiAgICAgdm9pZCB3cml0ZVRleHR1cmUoCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJCdW5kbGVFbmNvZGVyLmlkbCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlckJ1bmRsZUVuY29kZXIuaWRs
CmluZGV4IGNmYzY4NmQzYzY1YWQyNjQwY2U1MjJhMGI5YjRmMzBjMDQzNjYzODUuLmUxOWZlYzU1
OTZkYWVkNjViZGQzOWIxMTkzYjNjNDhlMzQ4Njc2YjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlckJ1bmRsZUVuY29kZXIuaWRsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlckJ1bmRsZUVuY29kZXIuaWRsCkBAIC0z
NCw1ICszNCw3IEBAIGludGVyZmFjZSBHUFVSZW5kZXJCdW5kbGVFbmNvZGVyIHsKICAgICBHUFVS
ZW5kZXJCdW5kbGUgZmluaXNoKG9wdGlvbmFsIEdQVVJlbmRlckJ1bmRsZURlc2NyaXB0b3IgZGVz
Y3JpcHRvcik7CiB9OwogR1BVUmVuZGVyQnVuZGxlRW5jb2RlciBpbmNsdWRlcyBHUFVPYmplY3RC
YXNlOworR1BVUmVuZGVyQnVuZGxlRW5jb2RlciBpbmNsdWRlcyBHUFVDb21tYW5kc01peGluOwor
R1BVUmVuZGVyQnVuZGxlRW5jb2RlciBpbmNsdWRlcyBHUFVEZWJ1Z0NvbW1hbmRzTWl4aW47CiBH
UFVSZW5kZXJCdW5kbGVFbmNvZGVyIGluY2x1ZGVzIEdQVVByb2dyYW1tYWJsZVBhc3NFbmNvZGVy
OwogR1BVUmVuZGVyQnVuZGxlRW5jb2RlciBpbmNsdWRlcyBHUFVSZW5kZXJFbmNvZGVyQmFzZTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlckJ1bmRs
ZUVuY29kZXJEZXNjcmlwdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVS
ZW5kZXJCdW5kbGVFbmNvZGVyRGVzY3JpcHRvci5oCmluZGV4IDhkMTg0NTI2MDYwNTcyNGRmMjI0
NzAxZTZkM2E1NTI2MDI5YzZlNTQuLjg4NGJlN2M0NjA4MDAzMWE2NzQ2ZDNhMjc5MzdmZThkMTM0
OTEwM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRl
ckJ1bmRsZUVuY29kZXJEZXNjcmlwdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9X
ZWJHUFUvR1BVUmVuZGVyQnVuZGxlRW5jb2RlckRlc2NyaXB0b3IuaApAQCAtMzYsOCArMzYsMTAg
QEAgc3RydWN0IEdQVVJlbmRlckJ1bmRsZUVuY29kZXJEZXNjcmlwdG9yIDogcHVibGljIEdQVVJl
bmRlclBhc3NMYXlvdXQgewogICAgICAgICByZXR1cm4gewogICAgICAgICAgICAgewogICAgICAg
ICAgICAgICAgIHsgbGFiZWwgfSwKLSAgICAgICAgICAgICAgICBjb2xvckZvcm1hdHMubWFwKFtd
IChjb25zdCBhdXRvJiBjb2xvckZvcm1hdCkgewotICAgICAgICAgICAgICAgICAgICByZXR1cm4g
V2ViQ29yZTo6Y29udmVydFRvQmFja2luZyhjb2xvckZvcm1hdCk7CisgICAgICAgICAgICAgICAg
Y29sb3JGb3JtYXRzLm1hcChbXSAoYXV0byYgY29sb3JGb3JtYXQpIC0+IHN0ZDo6b3B0aW9uYWw8
UEFMOjpXZWJHUFU6OlRleHR1cmVGb3JtYXQ+IHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGNv
bG9yRm9ybWF0KQorICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFdlYkNvcmU6OmNvbnZl
cnRUb0JhY2tpbmcoKmNvbG9yRm9ybWF0KTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHN0
ZDo6bnVsbG9wdDsKICAgICAgICAgICAgICAgICB9KSwKICAgICAgICAgICAgICAgICBkZXB0aFN0
ZW5jaWxGb3JtYXQgPyBzdGQ6Om9wdGlvbmFsIHsgV2ViQ29yZTo6Y29udmVydFRvQmFja2luZygq
ZGVwdGhTdGVuY2lsRm9ybWF0KSB9IDogc3RkOjpudWxsb3B0LAogICAgICAgICAgICAgICAgIHNh
bXBsZUNvdW50LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BV
UmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJH
UFUvR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudC5oCmluZGV4IDg4NjU2MDYwY2YwMDA0M2Nh
ODMzNzI0YTdlZjZhM2RjOGM4MzVjYjguLjE2NGY1Mzk1NTlkNWM0NWUyNWY2OGYzY2RhZjRmNjI0
ZWUyZDlhZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJl
bmRlclBhc3NDb2xvckF0dGFjaG1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dl
YkdQVS9HUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50LmgKQEAgLTQzLDEzICs0Myw4IEBAIHN0
cnVjdCBHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50IHsKICAgICAgICAgcmV0dXJuIHsKICAg
ICAgICAgICAgIHZpZXctPmJhY2tpbmcoKSwKICAgICAgICAgICAgIHJlc29sdmVUYXJnZXQgPyAm
cmVzb2x2ZVRhcmdldC0+YmFja2luZygpIDogbnVsbHB0ciwKLSAgICAgICAgICAgIFdURjo6c3dp
dGNoT24obG9hZFZhbHVlLCBbJl0gKEdQVUxvYWRPcCBsb2FkT3ApIC0+IHN0ZDo6dmFyaWFudDxQ
QUw6OldlYkdQVTo6TG9hZE9wLCBWZWN0b3I8ZG91YmxlPiwgUEFMOjpXZWJHUFU6OkNvbG9yRGlj
dD4gewotICAgICAgICAgICAgICAgIHJldHVybiBXZWJDb3JlOjpjb252ZXJ0VG9CYWNraW5nKGxv
YWRPcCk7Ci0gICAgICAgICAgICB9LCBbJl0gKGNvbnN0IFZlY3Rvcjxkb3VibGU+JiB2ZWN0b3Ip
IC0+IHN0ZDo6dmFyaWFudDxQQUw6OldlYkdQVTo6TG9hZE9wLCBWZWN0b3I8ZG91YmxlPiwgUEFM
OjpXZWJHUFU6OkNvbG9yRGljdD4gewotICAgICAgICAgICAgICAgIHJldHVybiB2ZWN0b3I7Ci0g
ICAgICAgICAgICB9LCBbJl0gKGNvbnN0IEdQVUNvbG9yRGljdCYgY29sb3IpIC0+IHN0ZDo6dmFy
aWFudDxQQUw6OldlYkdQVTo6TG9hZE9wLCBWZWN0b3I8ZG91YmxlPiwgUEFMOjpXZWJHUFU6OkNv
bG9yRGljdD4gewotICAgICAgICAgICAgICAgIHJldHVybiBjb2xvci5jb252ZXJ0VG9CYWNraW5n
KCk7Ci0gICAgICAgICAgICB9KSwKKyAgICAgICAgICAgIGNsZWFyVmFsdWUgPyBzdGQ6Om9wdGlv
bmFsIHsgV2ViQ29yZTo6Y29udmVydFRvQmFja2luZygqY2xlYXJWYWx1ZSkgfSA6IHN0ZDo6bnVs
bG9wdCwKKyAgICAgICAgICAgIFdlYkNvcmU6OmNvbnZlcnRUb0JhY2tpbmcobG9hZE9wKSwKICAg
ICAgICAgICAgIFdlYkNvcmU6OmNvbnZlcnRUb0JhY2tpbmcoc3RvcmVPcCksCiAgICAgICAgIH07
CiAgICAgfQpAQCAtNTcsNyArNTIsOCBAQCBzdHJ1Y3QgR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNo
bWVudCB7CiAgICAgR1BVVGV4dHVyZVZpZXcqIHZpZXcgeyBudWxscHRyIH07CiAgICAgR1BVVGV4
dHVyZVZpZXcqIHJlc29sdmVUYXJnZXQgeyBudWxscHRyIH07CiAKLSAgICBzdGQ6OnZhcmlhbnQ8
R1BVTG9hZE9wLCBWZWN0b3I8ZG91YmxlPiwgR1BVQ29sb3JEaWN0PiBsb2FkVmFsdWU7CisgICAg
c3RkOjpvcHRpb25hbDxHUFVDb2xvcj4gY2xlYXJWYWx1ZTsKKyAgICBHUFVMb2FkT3AgbG9hZE9w
IHsgR1BVTG9hZE9wOjpMb2FkIH07CiAgICAgR1BVU3RvcmVPcCBzdG9yZU9wIHsgR1BVU3RvcmVP
cDo6U3RvcmUgfTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2Vi
R1BVL0dQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudC5pZGwKaW5kZXggMmJkYzZj
NDM5YzM5MjJlOTUwNjdjYWMyNjE2NDA3M2EwMzdlNTFkMC4uODUyYWNjNmZiMzYzOWFjMGE0YTc5
NDZiYTc5NGY0MTY2ZmIzMjVkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9X
ZWJHUFUvR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudC5pZGwKQEAgLTM1
LDYgKzM1LDcgQEAgZGljdGlvbmFyeSBHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50IHsKICAg
ICByZXF1aXJlZCBHUFVUZXh0dXJlVmlldyB2aWV3OwogICAgIEdQVVRleHR1cmVWaWV3IHJlc29s
dmVUYXJnZXQ7CiAKLSAgICByZXF1aXJlZCAoR1BVTG9hZE9wIG9yIEdQVUNvbG9yKSBsb2FkVmFs
dWU7CisgICAgR1BVQ29sb3IgY2xlYXJWYWx1ZTsKKyAgICByZXF1aXJlZCBHUFVMb2FkT3AgbG9h
ZE9wOwogICAgIHJlcXVpcmVkIEdQVVN0b3JlT3Agc3RvcmVPcDsKIH07CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0
YWNobWVudC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0Rl
cHRoU3RlbmNpbEF0dGFjaG1lbnQuaAppbmRleCBmYTNmYjc2MDAxODEwZmI2MGVhMzI4MWM3MmY3
OTQzZTBhMzEzNzIyLi5jZmI0YzdiZGU3YjMwY2U0MmRlNWNkMTBlOGVkOWI3Nzc4NTZjNmIzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzRGVw
dGhTdGVuY2lsQXR0YWNobWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BV
L0dQVVJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50LmgKQEAgLTQxLDMxICs0MSwyNyBA
QCBzdHJ1Y3QgR1BVUmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQgewogICAgICAgICBB
U1NFUlQodmlldyk7CiAgICAgICAgIHJldHVybiB7CiAgICAgICAgICAgICB2aWV3LT5iYWNraW5n
KCksCi0gICAgICAgICAgICBXVEY6OnN3aXRjaE9uKGRlcHRoTG9hZFZhbHVlLCBbJl0gKEdQVUxv
YWRPcCBsb2FkT3ApIC0+IHN0ZDo6dmFyaWFudDxQQUw6OldlYkdQVTo6TG9hZE9wLCBmbG9hdD4g
ewotICAgICAgICAgICAgICAgIHJldHVybiBXZWJDb3JlOjpjb252ZXJ0VG9CYWNraW5nKGxvYWRP
cCk7Ci0gICAgICAgICAgICB9LCBbJl0gKGZsb2F0IGYpIC0+IHN0ZDo6dmFyaWFudDxQQUw6Oldl
YkdQVTo6TG9hZE9wLCBmbG9hdD4gewotICAgICAgICAgICAgICAgIHJldHVybiBmOwotICAgICAg
ICAgICAgfSksCi0gICAgICAgICAgICBXZWJDb3JlOjpjb252ZXJ0VG9CYWNraW5nKGRlcHRoU3Rv
cmVPcCksCisgICAgICAgICAgICBkZXB0aENsZWFyVmFsdWUsCisgICAgICAgICAgICBkZXB0aExv
YWRPcCA/IHN0ZDo6b3B0aW9uYWwgeyBXZWJDb3JlOjpjb252ZXJ0VG9CYWNraW5nKCpkZXB0aExv
YWRPcCkgfSA6IHN0ZDo6bnVsbG9wdCwKKyAgICAgICAgICAgIGRlcHRoU3RvcmVPcCA/IHN0ZDo6
b3B0aW9uYWwgeyBXZWJDb3JlOjpjb252ZXJ0VG9CYWNraW5nKCpkZXB0aFN0b3JlT3ApIH0gOiBz
dGQ6Om51bGxvcHQsCiAgICAgICAgICAgICBkZXB0aFJlYWRPbmx5LAotICAgICAgICAgICAgV1RG
Ojpzd2l0Y2hPbihzdGVuY2lsTG9hZFZhbHVlLCBbJl0gKEdQVUxvYWRPcCBsb2FkT3ApIC0+IHN0
ZDo6dmFyaWFudDxQQUw6OldlYkdQVTo6TG9hZE9wLCBQQUw6OldlYkdQVTo6U3RlbmNpbFZhbHVl
PiB7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIFdlYkNvcmU6OmNvbnZlcnRUb0JhY2tpbmcobG9h
ZE9wKTsKLSAgICAgICAgICAgIH0sIFsmXSAoR1BVU3RlbmNpbFZhbHVlIHN0ZW5jaWxWYWx1ZSkg
LT4gc3RkOjp2YXJpYW50PFBBTDo6V2ViR1BVOjpMb2FkT3AsIFBBTDo6V2ViR1BVOjpTdGVuY2ls
VmFsdWU+IHsKLSAgICAgICAgICAgICAgICByZXR1cm4gc3RlbmNpbFZhbHVlOwotICAgICAgICAg
ICAgfSksCi0gICAgICAgICAgICBXZWJDb3JlOjpjb252ZXJ0VG9CYWNraW5nKHN0ZW5jaWxTdG9y
ZU9wKSwKKyAgICAgICAgICAgIHN0ZW5jaWxDbGVhclZhbHVlLAorICAgICAgICAgICAgc3RlbmNp
bExvYWRPcCA/IHN0ZDo6b3B0aW9uYWwgeyBXZWJDb3JlOjpjb252ZXJ0VG9CYWNraW5nKCpzdGVu
Y2lsTG9hZE9wKSB9IDogc3RkOjpudWxsb3B0LAorICAgICAgICAgICAgc3RlbmNpbFN0b3JlT3Ag
PyBzdGQ6Om9wdGlvbmFsIHsgV2ViQ29yZTo6Y29udmVydFRvQmFja2luZygqc3RlbmNpbFN0b3Jl
T3ApIH0gOiBzdGQ6Om51bGxvcHQsCiAgICAgICAgICAgICBzdGVuY2lsUmVhZE9ubHksCiAgICAg
ICAgIH07CiAgICAgfQogCiAgICAgR1BVVGV4dHVyZVZpZXcqIHZpZXcgeyBudWxscHRyIH07CiAK
LSAgICBzdGQ6OnZhcmlhbnQ8R1BVTG9hZE9wLCBmbG9hdD4gZGVwdGhMb2FkVmFsdWU7Ci0gICAg
R1BVU3RvcmVPcCBkZXB0aFN0b3JlT3AgeyBHUFVTdG9yZU9wOjpTdG9yZSB9OworICAgIGZsb2F0
IGRlcHRoQ2xlYXJWYWx1ZSB7IDAgfTsKKyAgICBzdGQ6Om9wdGlvbmFsPEdQVUxvYWRPcD4gZGVw
dGhMb2FkT3A7CisgICAgc3RkOjpvcHRpb25hbDxHUFVTdG9yZU9wPiBkZXB0aFN0b3JlT3A7CiAg
ICAgYm9vbCBkZXB0aFJlYWRPbmx5IHsgZmFsc2UgfTsKIAotICAgIHN0ZDo6dmFyaWFudDxHUFVM
b2FkT3AsIEdQVVN0ZW5jaWxWYWx1ZT4gc3RlbmNpbExvYWRWYWx1ZTsKLSAgICBHUFVTdG9yZU9w
IHN0ZW5jaWxTdG9yZU9wIHsgR1BVU3RvcmVPcDo6U3RvcmUgfTsKKyAgICBHUFVTdGVuY2lsVmFs
dWUgc3RlbmNpbENsZWFyVmFsdWUgeyAwIH07CisgICAgc3RkOjpvcHRpb25hbDxHUFVMb2FkT3A+
IHN0ZW5jaWxMb2FkT3A7CisgICAgc3RkOjpvcHRpb25hbDxHUFVTdG9yZU9wPiBzdGVuY2lsU3Rv
cmVPcDsKICAgICBib29sIHN0ZW5jaWxSZWFkT25seSB7IGZhbHNlIH07CiB9OwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzRGVwdGhTdGVu
Y2lsQXR0YWNobWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5k
ZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNobWVudC5pZGwKaW5kZXggMzc1MDIxOWEyODViNzIxY2M4
NTY1N2M5NWRmYTlkY2M0YTVkMDExOC4uN2U2OTU3YjRmNTdiOGYxZDUyYWRkMDgwNDA5MWZmZmI4
ODFmOWJiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVu
ZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50LmlkbApAQCAt
MzQsMTEgKzM0LDEzIEBAIHR5cGVkZWYgW0VuZm9yY2VSYW5nZV0gdW5zaWduZWQgbG9uZyBHUFVT
dGVuY2lsVmFsdWU7CiBkaWN0aW9uYXJ5IEdQVVJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2ht
ZW50IHsKICAgICByZXF1aXJlZCBHUFVUZXh0dXJlVmlldyB2aWV3OwogCi0gICAgcmVxdWlyZWQg
KEdQVUxvYWRPcCBvciBmbG9hdCkgZGVwdGhMb2FkVmFsdWU7Ci0gICAgcmVxdWlyZWQgR1BVU3Rv
cmVPcCBkZXB0aFN0b3JlT3A7CisgICAgZmxvYXQgZGVwdGhDbGVhclZhbHVlID0gMDsKKyAgICBH
UFVMb2FkT3AgZGVwdGhMb2FkT3A7CisgICAgR1BVU3RvcmVPcCBkZXB0aFN0b3JlT3A7CiAgICAg
Ym9vbGVhbiBkZXB0aFJlYWRPbmx5ID0gZmFsc2U7CiAKLSAgICByZXF1aXJlZCAoR1BVTG9hZE9w
IG9yIEdQVVN0ZW5jaWxWYWx1ZSkgc3RlbmNpbExvYWRWYWx1ZTsKLSAgICByZXF1aXJlZCBHUFVT
dG9yZU9wIHN0ZW5jaWxTdG9yZU9wOworICAgIEdQVVN0ZW5jaWxWYWx1ZSBzdGVuY2lsQ2xlYXJW
YWx1ZSA9IDA7CisgICAgR1BVTG9hZE9wIHN0ZW5jaWxMb2FkT3A7CisgICAgR1BVU3RvcmVPcCBz
dGVuY2lsU3RvcmVPcDsKICAgICBib29sZWFuIHN0ZW5jaWxSZWFkT25seSA9IGZhbHNlOwogfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NE
ZXNjcmlwdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNz
RGVzY3JpcHRvci5oCmluZGV4IDU4MmFmZTFlOTczODBmMjhhZTE1MTFmYWZjMWI1MzcxYTI4ZmU0
NzEuLmZiNzhmNTJmODI3MzAzYzBhMzAxNmY3NjI3Y2JlMDFlZmZmNTgyOGMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NEZXNjcmlwdG9yLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0Rlc2NyaXB0
b3IuaApAQCAtNDIsOCArNDIsMTAgQEAgc3RydWN0IEdQVVJlbmRlclBhc3NEZXNjcmlwdG9yIDog
cHVibGljIEdQVU9iamVjdERlc2NyaXB0b3JCYXNlIHsKICAgICB7CiAgICAgICAgIHJldHVybiB7
CiAgICAgICAgICAgICB7IGxhYmVsIH0sCi0gICAgICAgICAgICBjb2xvckF0dGFjaG1lbnRzLm1h
cChbXSAoYXV0byYgY29sb3JBdHRhY2htZW50KSB7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGNv
bG9yQXR0YWNobWVudC5jb252ZXJ0VG9CYWNraW5nKCk7CisgICAgICAgICAgICBjb2xvckF0dGFj
aG1lbnRzLm1hcChbXSAoYXV0byYgY29sb3JBdHRhY2htZW50KSAtPiBzdGQ6Om9wdGlvbmFsPFBB
TDo6V2ViR1BVOjpSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50PiB7CisgICAgICAgICAgICAgICAg
aWYgKGNvbG9yQXR0YWNobWVudCkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbG9yQXR0
YWNobWVudC0+Y29udmVydFRvQmFja2luZygpOworICAgICAgICAgICAgICAgIHJldHVybiBzdGQ6
Om51bGxvcHQ7CiAgICAgICAgICAgICB9KSwKICAgICAgICAgICAgIGRlcHRoU3RlbmNpbEF0dGFj
aG1lbnQgPyBzdGQ6Om9wdGlvbmFsIHsgZGVwdGhTdGVuY2lsQXR0YWNobWVudC0+Y29udmVydFRv
QmFja2luZygpIH0gOiBzdGQ6Om51bGxvcHQsCiAgICAgICAgICAgICBvY2NsdXNpb25RdWVyeVNl
dCA/ICZvY2NsdXNpb25RdWVyeVNldC0+YmFja2luZygpIDogbnVsbHB0ciwKQEAgLTUxLDcgKzUz
LDcgQEAgc3RydWN0IEdQVVJlbmRlclBhc3NEZXNjcmlwdG9yIDogcHVibGljIEdQVU9iamVjdERl
c2NyaXB0b3JCYXNlIHsKICAgICAgICAgfTsKICAgICB9CiAKLSAgICBWZWN0b3I8R1BVUmVuZGVy
UGFzc0NvbG9yQXR0YWNobWVudD4gY29sb3JBdHRhY2htZW50czsKKyAgICBWZWN0b3I8c3RkOjpv
cHRpb25hbDxHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50Pj4gY29sb3JBdHRhY2htZW50czsK
ICAgICBzdGQ6Om9wdGlvbmFsPEdQVVJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50PiBk
ZXB0aFN0ZW5jaWxBdHRhY2htZW50OwogICAgIEdQVVF1ZXJ5U2V0KiBvY2NsdXNpb25RdWVyeVNl
dCB7IG51bGxwdHIgfTsKICAgICBHUFVSZW5kZXJQYXNzVGltZXN0YW1wV3JpdGVzIHRpbWVzdGFt
cFdyaXRlczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJl
bmRlclBhc3NEZXNjcmlwdG9yLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQ
VVJlbmRlclBhc3NEZXNjcmlwdG9yLmlkbAppbmRleCAwYzFjZGUzODhmMmYwYzZhZTQzYTZjYjUw
MzA2YWY1OTM4Yzc0MmM2Li4xNjllMTVjYmJlNjVlYTVjZDQwODQyMTgxNzI0N2YxYWJmODdjMDdi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNz
RGVzY3JpcHRvci5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVu
ZGVyUGFzc0Rlc2NyaXB0b3IuaWRsCkBAIC0zMiw3ICszMiw3IEBAIHR5cGVkZWYgc2VxdWVuY2U8
R1BVUmVuZGVyUGFzc1RpbWVzdGFtcFdyaXRlPiBHUFVSZW5kZXJQYXNzVGltZXN0YW1wV3JpdGVz
OwogICAgIEVuYWJsZWRCeVNldHRpbmc9V2ViR1BVCiBdCiBkaWN0aW9uYXJ5IEdQVVJlbmRlclBh
c3NEZXNjcmlwdG9yIDogR1BVT2JqZWN0RGVzY3JpcHRvckJhc2UgewotICAgIHJlcXVpcmVkIHNl
cXVlbmNlPEdQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQ+IGNvbG9yQXR0YWNobWVudHM7Cisg
ICAgcmVxdWlyZWQgc2VxdWVuY2U8R1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudD8+IGNvbG9y
QXR0YWNobWVudHM7CiAgICAgR1BVUmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQgZGVw
dGhTdGVuY2lsQXR0YWNobWVudDsKICAgICBHUFVRdWVyeVNldCBvY2NsdXNpb25RdWVyeVNldDsK
ICAgICBHUFVSZW5kZXJQYXNzVGltZXN0YW1wV3JpdGVzIHRpbWVzdGFtcFdyaXRlcyA9IFtdOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0Vu
Y29kZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0Vu
Y29kZXIuY3BwCmluZGV4IGE5NTEwMTY2ZjhiZTgyMTJlNzZjYWZlNGE3ZTJhNDYyOTVmMmJiODEu
LmQ2NDQzNTI5Y2NiOWI1Y2E4ZGMxZDRlNmNkZDA4ZjRjNDNiOWY2NjUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NFbmNvZGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzRW5jb2Rlci5jcHAK
QEAgLTE0NSwxNiArMTQ1LDYgQEAgdm9pZCBHUFVSZW5kZXJQYXNzRW5jb2Rlcjo6ZW5kT2NjbHVz
aW9uUXVlcnkoKQogICAgIG1fYmFja2luZy0+ZW5kT2NjbHVzaW9uUXVlcnkoKTsKIH0KIAotdm9p
ZCBHUFVSZW5kZXJQYXNzRW5jb2Rlcjo6YmVnaW5QaXBlbGluZVN0YXRpc3RpY3NRdWVyeShjb25z
dCBHUFVRdWVyeVNldCYgcXVlcnlTZXQsIEdQVVNpemUzMiBxdWVyeUluZGV4KQotewotICAgIG1f
YmFja2luZy0+YmVnaW5QaXBlbGluZVN0YXRpc3RpY3NRdWVyeShxdWVyeVNldC5iYWNraW5nKCks
IHF1ZXJ5SW5kZXgpOwotfQotCi12b2lkIEdQVVJlbmRlclBhc3NFbmNvZGVyOjplbmRQaXBlbGlu
ZVN0YXRpc3RpY3NRdWVyeSgpCi17Ci0gICAgbV9iYWNraW5nLT5lbmRQaXBlbGluZVN0YXRpc3Rp
Y3NRdWVyeSgpOwotfQotCiB2b2lkIEdQVVJlbmRlclBhc3NFbmNvZGVyOjpleGVjdXRlQnVuZGxl
cyhWZWN0b3I8UmVmUHRyPEdQVVJlbmRlckJ1bmRsZT4+JiYgYnVuZGxlcykKIHsKICAgICBWZWN0
b3I8c3RkOjpyZWZlcmVuY2Vfd3JhcHBlcjxQQUw6OldlYkdQVTo6UmVuZGVyQnVuZGxlPj4gcmVz
dWx0OwpAQCAtMTY3LDkgKzE1Nyw5IEBAIHZvaWQgR1BVUmVuZGVyUGFzc0VuY29kZXI6OmV4ZWN1
dGVCdW5kbGVzKFZlY3RvcjxSZWZQdHI8R1BVUmVuZGVyQnVuZGxlPj4mJiBidW5kCiAgICAgbV9i
YWNraW5nLT5leGVjdXRlQnVuZGxlcyhXVEZNb3ZlKHJlc3VsdCkpOwogfQogCi12b2lkIEdQVVJl
bmRlclBhc3NFbmNvZGVyOjplbmRQYXNzKCkKK3ZvaWQgR1BVUmVuZGVyUGFzc0VuY29kZXI6OmVu
ZCgpCiB7Ci0gICAgbV9iYWNraW5nLT5lbmRQYXNzKCk7CisgICAgbV9iYWNraW5nLT5lbmQoKTsK
IH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVu
ZGVyUGFzc0VuY29kZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRl
clBhc3NFbmNvZGVyLmgKaW5kZXggZmM4MTcxYzRhZWE0ZWVlMzZkOGMyNzA3Nzg2NmU3NjBkYjZl
ZGRlNy4uYTVmMGE5NmFkZjkzNmNlOTQxNDU4ZGJkMTdhYjg2NmUzMTQ2YjNjYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0VuY29kZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzRW5jb2Rlci5o
CkBAIC05NSwxMSArOTUsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBiZWdpbk9jY2x1c2lvblF1ZXJ5
KEdQVVNpemUzMiBxdWVyeUluZGV4KTsKICAgICB2b2lkIGVuZE9jY2x1c2lvblF1ZXJ5KCk7CiAK
LSAgICB2b2lkIGJlZ2luUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkoY29uc3QgR1BVUXVlcnlTZXQm
LCBHUFVTaXplMzIgcXVlcnlJbmRleCk7Ci0gICAgdm9pZCBlbmRQaXBlbGluZVN0YXRpc3RpY3NR
dWVyeSgpOwotCiAgICAgdm9pZCBleGVjdXRlQnVuZGxlcyhWZWN0b3I8UmVmUHRyPEdQVVJlbmRl
ckJ1bmRsZT4+JiYpOwotICAgIHZvaWQgZW5kUGFzcygpOworICAgIHZvaWQgZW5kKCk7CiAKICAg
ICBQQUw6OldlYkdQVTo6UmVuZGVyUGFzc0VuY29kZXImIGJhY2tpbmcoKSB7IHJldHVybiBtX2Jh
Y2tpbmc7IH0KICAgICBjb25zdCBQQUw6OldlYkdQVTo6UmVuZGVyUGFzc0VuY29kZXImIGJhY2tp
bmcoKSBjb25zdCB7IHJldHVybiBtX2JhY2tpbmc7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NFbmNvZGVyLmlkbCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NFbmNvZGVyLmlkbAppbmRleCA0ODg1ZWEz
NjhjNDAzZjBhYTg1MWMwNjhmYmNjMDcyZDAyNzFhNjlkLi40NzZlY2E1YzcwZjc2ZjA3MzBhMzJl
YzY4NzY1NTNmMzkwNzg4ZDk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dl
YkdQVS9HUFVSZW5kZXJQYXNzRW5jb2Rlci5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9XZWJHUFUvR1BVUmVuZGVyUGFzc0VuY29kZXIuaWRsCkBAIC01MCwxMiArNTAsMTEgQEAgaW50
ZXJmYWNlIEdQVVJlbmRlclBhc3NFbmNvZGVyIHsKICAgICB1bmRlZmluZWQgYmVnaW5PY2NsdXNp
b25RdWVyeShHUFVTaXplMzIgcXVlcnlJbmRleCk7CiAgICAgdW5kZWZpbmVkIGVuZE9jY2x1c2lv
blF1ZXJ5KCk7CiAKLSAgICB1bmRlZmluZWQgYmVnaW5QaXBlbGluZVN0YXRpc3RpY3NRdWVyeShH
UFVRdWVyeVNldCBxdWVyeVNldCwgR1BVU2l6ZTMyIHF1ZXJ5SW5kZXgpOwotICAgIHVuZGVmaW5l
ZCBlbmRQaXBlbGluZVN0YXRpc3RpY3NRdWVyeSgpOwotCiAgICAgdW5kZWZpbmVkIGV4ZWN1dGVC
dW5kbGVzKHNlcXVlbmNlPEdQVVJlbmRlckJ1bmRsZT4gYnVuZGxlcyk7Ci0gICAgdW5kZWZpbmVk
IGVuZFBhc3MoKTsKKyAgICB1bmRlZmluZWQgZW5kKCk7CiB9OwogR1BVUmVuZGVyUGFzc0VuY29k
ZXIgaW5jbHVkZXMgR1BVT2JqZWN0QmFzZTsKK0dQVVJlbmRlclBhc3NFbmNvZGVyIGluY2x1ZGVz
IEdQVUNvbW1hbmRzTWl4aW47CitHUFVSZW5kZXJQYXNzRW5jb2RlciBpbmNsdWRlcyBHUFVEZWJ1
Z0NvbW1hbmRzTWl4aW47CiBHUFVSZW5kZXJQYXNzRW5jb2RlciBpbmNsdWRlcyBHUFVQcm9ncmFt
bWFibGVQYXNzRW5jb2RlcjsKIEdQVVJlbmRlclBhc3NFbmNvZGVyIGluY2x1ZGVzIEdQVVJlbmRl
ckVuY29kZXJCYXNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUv
R1BVUmVuZGVyUGFzc0xheW91dC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BV
UmVuZGVyUGFzc0xheW91dC5oCmluZGV4IGI1YTU0MGFhYWFjNzhkODkwMmNiOTI3YjYyMWMxZWI4
MTA0YjM5NTQuLmE0M2Q0MTkxYTNlYTJiOTc2ZDkxNTZlNDFhN2NiMTA1OTY3YjU0MTMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NMYXlvdXQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzTGF5b3V0
LmgKQEAgLTM5LDE1ICszOSwxNyBAQCBzdHJ1Y3QgR1BVUmVuZGVyUGFzc0xheW91dCA6IHB1Ymxp
YyBHUFVPYmplY3REZXNjcmlwdG9yQmFzZSB7CiAgICAgewogICAgICAgICByZXR1cm4gewogICAg
ICAgICAgICAgeyBsYWJlbCB9LAotICAgICAgICAgICAgY29sb3JGb3JtYXRzLm1hcChbXSAoY29u
c3QgYXV0byYgY29sb3JGb3JtYXQpIHsKLSAgICAgICAgICAgICAgICByZXR1cm4gV2ViQ29yZTo6
Y29udmVydFRvQmFja2luZyhjb2xvckZvcm1hdCk7CisgICAgICAgICAgICBjb2xvckZvcm1hdHMu
bWFwKFtdIChhdXRvJiBjb2xvckZvcm1hdCkgLT4gc3RkOjpvcHRpb25hbDxQQUw6OldlYkdQVTo6
VGV4dHVyZUZvcm1hdD4geworICAgICAgICAgICAgICAgIGlmIChjb2xvckZvcm1hdCkKKyAgICAg
ICAgICAgICAgICAgICAgcmV0dXJuIFdlYkNvcmU6OmNvbnZlcnRUb0JhY2tpbmcoKmNvbG9yRm9y
bWF0KTsKKyAgICAgICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogICAgICAgICAgICAg
fSksCiAgICAgICAgICAgICBkZXB0aFN0ZW5jaWxGb3JtYXQgPyBzdGQ6Om9wdGlvbmFsIHsgV2Vi
Q29yZTo6Y29udmVydFRvQmFja2luZygqZGVwdGhTdGVuY2lsRm9ybWF0KSB9IDogc3RkOjpudWxs
b3B0LAogICAgICAgICAgICAgc2FtcGxlQ291bnQsCiAgICAgICAgIH07CiAgICAgfQogCi0gICAg
VmVjdG9yPEdQVVRleHR1cmVGb3JtYXQ+IGNvbG9yRm9ybWF0czsKKyAgICBWZWN0b3I8c3RkOjpv
cHRpb25hbDxHUFVUZXh0dXJlRm9ybWF0Pj4gY29sb3JGb3JtYXRzOwogICAgIHN0ZDo6b3B0aW9u
YWw8R1BVVGV4dHVyZUZvcm1hdD4gZGVwdGhTdGVuY2lsRm9ybWF0OwogICAgIEdQVVNpemUzMiBz
YW1wbGVDb3VudCB7IDEgfTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L1dlYkdQVS9HUFVSZW5kZXJQYXNzTGF5b3V0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
V2ViR1BVL0dQVVJlbmRlclBhc3NMYXlvdXQuaWRsCmluZGV4IDRhNzY5NjkyZTI2MDJiMDc1ZTAx
M2E5MDBkY2NlOTIxOWYzODZiNTIuLjZiY2JkYjEzMDY3NjM5MTg3YmJhOTIzYmRiZGU0NjIyNDk3
NTlmY2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRl
clBhc3NMYXlvdXQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJl
bmRlclBhc3NMYXlvdXQuaWRsCkBAIC0zMiw3ICszMiw3IEBAIHR5cGVkZWYgW0VuZm9yY2VSYW5n
ZV0gdW5zaWduZWQgbG9uZyBHUFVTaXplMzI7CiAgICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJHUFUK
IF0KIGRpY3Rpb25hcnkgR1BVUmVuZGVyUGFzc0xheW91dCA6IEdQVU9iamVjdERlc2NyaXB0b3JC
YXNlIHsKLSAgICByZXF1aXJlZCBzZXF1ZW5jZTxHUFVUZXh0dXJlRm9ybWF0PiBjb2xvckZvcm1h
dHM7CisgICAgcmVxdWlyZWQgc2VxdWVuY2U8R1BVVGV4dHVyZUZvcm1hdD8+IGNvbG9yRm9ybWF0
czsKICAgICBHUFVUZXh0dXJlRm9ybWF0IGRlcHRoU3RlbmNpbEZvcm1hdDsKICAgICBHUFVTaXpl
MzIgc2FtcGxlQ291bnQgPSAxOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvV2ViR1BVL0dQVVNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludC5oIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9XZWJHUFUvR1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50LmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMmM5NWQ0MDA0NmM3ODhlYjRjNzEwYWQwOTdkZWYzOTBjYTE3ZDY2ZgotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVNoYWRlck1vZHVsZUNv
bXBpbGF0aW9uSGludC5oCkBAIC0wLDAgKzEsNDUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9u
Y2UKKworI2luY2x1ZGUgIkdQVVBpcGVsaW5lTGF5b3V0LmgiCisjaW5jbHVkZSA8cGFsL2dyYXBo
aWNzL1dlYkdQVS9XZWJHUFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQuaD4KKworbmFtZXNw
YWNlIFdlYkNvcmUgeworCitzdHJ1Y3QgR1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50IHsK
KyAgICBQQUw6OldlYkdQVTo6U2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50IGNvbnZlcnRUb0Jh
Y2tpbmcoKSBjb25zdAorICAgIHsKKyAgICAgICAgQVNTRVJUKGxheW91dCk7CisgICAgICAgIHJl
dHVybiB7CisgICAgICAgICAgICBsYXlvdXQtPmJhY2tpbmcoKSwKKyAgICAgICAgfTsKKyAgICB9
CisKKyAgICBHUFVQaXBlbGluZUxheW91dCogbGF5b3V0IHsgbnVsbHB0ciB9OworfTsKKworfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVU2hhZGVyTW9kdWxl
Q29tcGlsYXRpb25IaW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVNo
YWRlck1vZHVsZUNvbXBpbGF0aW9uSGludC5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjg4NTZlODlmYmQyMGY4
Y2MzYTc1OWE5MTcyZDVjY2M2NTNjMDA2MwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvV2ViR1BVL0dQVVNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludC5pZGwKQEAg
LTAsMCArMSwzMyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMiBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8vIGh0dHBzOi8vZ3B1d2ViLmdpdGh1Yi5pby9n
cHV3ZWIvI2RpY3RkZWYtZ3B1c2hhZGVybW9kdWxlY29tcGlsYXRpb25oaW50CisKK1sKKyAgICBF
bmFibGVkQnlTZXR0aW5nPVdlYkdQVQorXQorZGljdGlvbmFyeSBHUFVTaGFkZXJNb2R1bGVDb21w
aWxhdGlvbkhpbnQgeworICAgIHJlcXVpcmVkIEdQVVBpcGVsaW5lTGF5b3V0IGxheW91dDsKK307
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVTaGFkZXJNb2R1
bGVEZXNjcmlwdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVTaGFkZXJN
b2R1bGVEZXNjcmlwdG9yLmgKaW5kZXggMTYxNzMyNWFmM2FjNzM0NGQyOTc1MWU1NjBlNGY5M2Jm
NDI1OTEyMi4uOGNkY2JiOTU5NmQ4OTNmODdlMmFmOGFhZjU3Y2RjN2I2YTMzMTA0MiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVU2hhZGVyTW9kdWxlRGVzY3Jp
cHRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVNoYWRlck1vZHVs
ZURlc2NyaXB0b3IuaApAQCAtMjUsNyArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2luY2x1
ZGUgIkdQVU9iamVjdERlc2NyaXB0b3JCYXNlLmgiCisjaW5jbHVkZSAiR1BVU2hhZGVyTW9kdWxl
Q29tcGlsYXRpb25IaW50LmgiCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNPYmplY3QuaD4K
ICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9TdHJvbmcuaD4KICNpbmNsdWRlIDxwYWwvZ3JhcGhp
Y3MvV2ViR1BVL1dlYkdQVVNoYWRlck1vZHVsZURlc2NyaXB0b3IuaD4KQEAgLTQwLDExICs0MCwx
NSBAQCBzdHJ1Y3QgR1BVU2hhZGVyTW9kdWxlRGVzY3JpcHRvciA6IHB1YmxpYyBHUFVPYmplY3RE
ZXNjcmlwdG9yQmFzZSB7CiAgICAgICAgICAgICB7IGxhYmVsIH0sCiAgICAgICAgICAgICBjb2Rl
LAogICAgICAgICAgICAgLy8gRklYTUU6IEhhbmRsZSB0aGUgc291cmNlTWFwLgorICAgICAgICAg
ICAgaGludHMubWFwKFtdIChhdXRvJiBoaW50KSB7CisgICAgICAgICAgICAgICAgcmV0dXJuIEtl
eVZhbHVlUGFpcjxTdHJpbmcsIFBBTDo6V2ViR1BVOjpTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhp
bnQ+KGhpbnQua2V5LCBoaW50LnZhbHVlLmNvbnZlcnRUb0JhY2tpbmcoKSk7CisgICAgICAgICAg
ICB9KSwKICAgICAgICAgfTsKICAgICB9CiAKICAgICBTdHJpbmcgY29kZTsKICAgICBKU0M6OlN0
cm9uZzxKU0M6OkpTT2JqZWN0PiBzb3VyY2VNYXA7CisgICAgVmVjdG9yPEtleVZhbHVlUGFpcjxT
dHJpbmcsIEdQVVNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludD4+IGhpbnRzOwogfTsKIAogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVU2hhZGVyTW9kdWxl
RGVzY3JpcHRvci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVTaGFkZXJN
b2R1bGVEZXNjcmlwdG9yLmlkbAppbmRleCBiOGE3OTU5Y2ViM2MzNzYzZjk2YTZiNjFmM2Y0NWFj
MDg2NjcxOGI0Li40MmUwNDRkN2Q0ZDQxNDVlNTU3MDk4NzA1NjZlNzA5MDBlYWZjMDYwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVTaGFkZXJNb2R1bGVEZXNj
cmlwdG9yLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVTaGFkZXJN
b2R1bGVEZXNjcmlwdG9yLmlkbApAQCAtMzEsNCArMzEsNSBAQAogZGljdGlvbmFyeSBHUFVTaGFk
ZXJNb2R1bGVEZXNjcmlwdG9yIDogR1BVT2JqZWN0RGVzY3JpcHRvckJhc2UgewogICAgIHJlcXVp
cmVkIFVTVlN0cmluZyBjb2RlOwogICAgIG9iamVjdCBzb3VyY2VNYXA7CisgICAgcmVjb3JkPFVT
VlN0cmluZywgR1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50PiBoaW50czsKIH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVUZXh0dXJlRGVzY3JpcHRv
ci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVVGV4dHVyZURlc2NyaXB0b3Iu
aAppbmRleCBjN2Q4YjI3YWMxM2U4YmVkZjk0Y2VmNjc2YzI4Yjg1NDE1NjVhM2Q4Li40ZDJmYTQ3
MjdlNDkwM2Y1ZjBmODkxZDA4Y2VlMjRiOTdlOGVkNzcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVUZXh0dXJlRGVzY3JpcHRvci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVRleHR1cmVEZXNjcmlwdG9yLmgKQEAgLTQ2LDYgKzQ2
LDkgQEAgc3RydWN0IEdQVVRleHR1cmVEZXNjcmlwdG9yIDogcHVibGljIEdQVU9iamVjdERlc2Ny
aXB0b3JCYXNlIHsKICAgICAgICAgICAgIFdlYkNvcmU6OmNvbnZlcnRUb0JhY2tpbmcoZGltZW5z
aW9uKSwKICAgICAgICAgICAgIFdlYkNvcmU6OmNvbnZlcnRUb0JhY2tpbmcoZm9ybWF0KSwKICAg
ICAgICAgICAgIGNvbnZlcnRUZXh0dXJlVXNhZ2VGbGFnc1RvQmFja2luZyh1c2FnZSksCisgICAg
ICAgICAgICB2aWV3Rm9ybWF0cy5tYXAoW10gKGF1dG8gdmlld0Zvcm1hdCkgeworICAgICAgICAg
ICAgICAgIHJldHVybiBXZWJDb3JlOjpjb252ZXJ0VG9CYWNraW5nKHZpZXdGb3JtYXQpOworICAg
ICAgICAgICAgfSksCiAgICAgICAgIH07CiAgICAgfQogCkBAIC01NSw2ICs1OCw3IEBAIHN0cnVj
dCBHUFVUZXh0dXJlRGVzY3JpcHRvciA6IHB1YmxpYyBHUFVPYmplY3REZXNjcmlwdG9yQmFzZSB7
CiAgICAgR1BVVGV4dHVyZURpbWVuc2lvbiBkaW1lbnNpb24geyBHUFVUZXh0dXJlRGltZW5zaW9u
OjpfMmQgfTsKICAgICBHUFVUZXh0dXJlRm9ybWF0IGZvcm1hdCB7IEdQVVRleHR1cmVGb3JtYXQ6
OlI4dW5vcm0gfTsKICAgICBHUFVUZXh0dXJlVXNhZ2VGbGFncyB1c2FnZSB7IDAgfTsKKyAgICBW
ZWN0b3I8R1BVVGV4dHVyZUZvcm1hdD4gdmlld0Zvcm1hdHM7CiB9OwogCiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVUZXh0dXJlRGVzY3JpcHRvci5pZGwg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVUZXh0dXJlRGVzY3JpcHRvci5pZGwK
aW5kZXggYjI0ZmQzMmY2Nzc4N2VhNzY5YTIwNzg5ZjVlNDgzMmZjYjQyYzVkNS4uNWRmNjc3NDlk
M2U2NmFmYTAzMzNkODg1OTdiYWJmZDc0NmZiZjM1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9XZWJHUFUvR1BVVGV4dHVyZURlc2NyaXB0b3IuaWRsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVRleHR1cmVEZXNjcmlwdG9yLmlkbApAQCAtNDEsNCAr
NDEsNSBAQCBkaWN0aW9uYXJ5IEdQVVRleHR1cmVEZXNjcmlwdG9yIDogR1BVT2JqZWN0RGVzY3Jp
cHRvckJhc2UgewogICAgIEdQVVRleHR1cmVEaW1lbnNpb24gZGltZW5zaW9uID0gIjJkIjsKICAg
ICByZXF1aXJlZCBHUFVUZXh0dXJlRm9ybWF0IGZvcm1hdDsKICAgICByZXF1aXJlZCBHUFVUZXh0
dXJlVXNhZ2VGbGFncyB1c2FnZTsKKyAgICBzZXF1ZW5jZTxHUFVUZXh0dXJlRm9ybWF0PiB2aWV3
Rm9ybWF0cyA9IFtdOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2Vi
R1BVL0dQVVRleHR1cmVGb3JtYXQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQ
VVRleHR1cmVGb3JtYXQuaAppbmRleCBjOWQ4NzIxMDE4OWUyZWQxY2M0ZTgzYWQ5ZWFhZGU5NDg4
YWIyMTAwLi5kYTEzZDEzNjExZTdmZjlkYmE1ODM5N2NiYTEzODY3OTdmYmZmMTYyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVUZXh0dXJlRm9ybWF0LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVVGV4dHVyZUZvcm1hdC5oCkBAIC03
OCwxMyArNzgsMTkgQEAgZW51bSBjbGFzcyBHUFVUZXh0dXJlRm9ybWF0IDogdWludDhfdCB7CiAg
ICAgUmdiYTMyc2ludCwKICAgICBSZ2JhMzJmbG9hdCwKIAotICAgIC8vIERlcHRoIGFuZCBzdGVu
Y2lsIGZvcm1hdHMKKyAgICAvLyBEZXB0aC9zdGVuY2lsIGZvcm1hdHMKICAgICBTdGVuY2lsOCwK
ICAgICBEZXB0aDE2dW5vcm0sCiAgICAgRGVwdGgyNHBsdXMsCiAgICAgRGVwdGgyNHBsdXNTdGVu
Y2lsOCwKICAgICBEZXB0aDMyZmxvYXQsCiAKKyAgICAvLyBkZXB0aDI0dW5vcm0tc3RlbmNpbDgg
ZmVhdHVyZQorICAgIERlcHRoMjR1bm9ybVN0ZW5jaWw4LAorCisgICAgLy8gZGVwdGgzMmZsb2F0
LXN0ZW5jaWw4IGZlYXR1cmUKKyAgICBEZXB0aDMyZmxvYXRTdGVuY2lsOCwKKwogICAgIC8vIEJD
IGNvbXByZXNzZWQgZm9ybWF0cyB1c2FibGUgaWYgdGV4dHVyZS1jb21wcmVzc2lvbi1iYyBpcyBi
b3RoCiAgICAgLy8gc3VwcG9ydGVkIGJ5IHRoZSBkZXZpY2UvdXNlciBhZ2VudCBhbmQgZW5hYmxl
ZCBpbiByZXF1ZXN0RGV2aWNlLgogICAgIEJjMVJnYmFVbm9ybSwKQEAgLTE0NSwxMiArMTUxLDYg
QEAgZW51bSBjbGFzcyBHUFVUZXh0dXJlRm9ybWF0IDogdWludDhfdCB7CiAgICAgQXN0YzEyeDEw
VW5vcm1TUkdCLAogICAgIEFzdGMxMngxMlVub3JtLAogICAgIEFzdGMxMngxMlVub3JtU1JHQiwK
LQotICAgIC8vIGRlcHRoMjR1bm9ybS1zdGVuY2lsOCBmZWF0dXJlCi0gICAgRGVwdGgyNHVub3Jt
U3RlbmNpbDgsCi0KLSAgICAvLyBkZXB0aDMyZmxvYXQtc3RlbmNpbDggZmVhdHVyZQotICAgIERl
cHRoMzJmbG9hdFN0ZW5jaWw4LAogfTsKIAogaW5saW5lIFBBTDo6V2ViR1BVOjpUZXh0dXJlRm9y
bWF0IGNvbnZlcnRUb0JhY2tpbmcoR1BVVGV4dHVyZUZvcm1hdCB0ZXh0dXJlRm9ybWF0KQpAQCAt
MjM4LDYgKzIzOCwxMCBAQCBpbmxpbmUgUEFMOjpXZWJHUFU6OlRleHR1cmVGb3JtYXQgY29udmVy
dFRvQmFja2luZyhHUFVUZXh0dXJlRm9ybWF0IHRleHR1cmVGb3JtYQogICAgICAgICByZXR1cm4g
UEFMOjpXZWJHUFU6OlRleHR1cmVGb3JtYXQ6OkRlcHRoMjRwbHVzU3RlbmNpbDg7CiAgICAgY2Fz
ZSBHUFVUZXh0dXJlRm9ybWF0OjpEZXB0aDMyZmxvYXQ6CiAgICAgICAgIHJldHVybiBQQUw6Oldl
YkdQVTo6VGV4dHVyZUZvcm1hdDo6RGVwdGgzMmZsb2F0OworICAgIGNhc2UgR1BVVGV4dHVyZUZv
cm1hdDo6RGVwdGgyNHVub3JtU3RlbmNpbDg6CisgICAgICAgIHJldHVybiBQQUw6OldlYkdQVTo6
VGV4dHVyZUZvcm1hdDo6RGVwdGgyNHVub3JtU3RlbmNpbDg7CisgICAgY2FzZSBHUFVUZXh0dXJl
Rm9ybWF0OjpEZXB0aDMyZmxvYXRTdGVuY2lsODoKKyAgICAgICAgcmV0dXJuIFBBTDo6V2ViR1BV
OjpUZXh0dXJlRm9ybWF0OjpEZXB0aDMyZmxvYXRTdGVuY2lsODsKICAgICBjYXNlIEdQVVRleHR1
cmVGb3JtYXQ6OkJjMVJnYmFVbm9ybToKICAgICAgICAgcmV0dXJuIFBBTDo6V2ViR1BVOjpUZXh0
dXJlRm9ybWF0OjpCYzFSZ2JhVW5vcm07CiAgICAgY2FzZSBHUFVUZXh0dXJlRm9ybWF0OjpCYzFS
Z2JhVW5vcm1TUkdCOgpAQCAtMzQyLDEwICszNDYsNiBAQCBpbmxpbmUgUEFMOjpXZWJHUFU6OlRl
eHR1cmVGb3JtYXQgY29udmVydFRvQmFja2luZyhHUFVUZXh0dXJlRm9ybWF0IHRleHR1cmVGb3Jt
YQogICAgICAgICByZXR1cm4gUEFMOjpXZWJHUFU6OlRleHR1cmVGb3JtYXQ6OkFzdGMxMngxMlVu
b3JtOwogICAgIGNhc2UgR1BVVGV4dHVyZUZvcm1hdDo6QXN0YzEyeDEyVW5vcm1TUkdCOgogICAg
ICAgICByZXR1cm4gUEFMOjpXZWJHUFU6OlRleHR1cmVGb3JtYXQ6OkFzdGMxMngxMlVub3JtU1JH
QjsKLSAgICBjYXNlIEdQVVRleHR1cmVGb3JtYXQ6OkRlcHRoMjR1bm9ybVN0ZW5jaWw4OgotICAg
ICAgICByZXR1cm4gUEFMOjpXZWJHUFU6OlRleHR1cmVGb3JtYXQ6OkRlcHRoMjR1bm9ybVN0ZW5j
aWw4OwotICAgIGNhc2UgR1BVVGV4dHVyZUZvcm1hdDo6RGVwdGgzMmZsb2F0U3RlbmNpbDg6Ci0g
ICAgICAgIHJldHVybiBQQUw6OldlYkdQVTo6VGV4dHVyZUZvcm1hdDo6RGVwdGgzMmZsb2F0U3Rl
bmNpbDg7CiAgICAgfQogICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVUZXh0dXJlRm9ybWF0Lmlk
bCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVRleHR1cmVGb3JtYXQuaWRsCmlu
ZGV4IDI1MWNkZGJlMDA0M2VjOWQxN2I4NDIyYTczYWM5NDQ1YmU3M2M0ZTcuLjMwMzYxODhjNTIx
MDg4Y2JjYTFmMmY0YzY5NTU3OTdhN2UyN2VhOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvV2ViR1BVL0dQVVRleHR1cmVGb3JtYXQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvV2ViR1BVL0dQVVRleHR1cmVGb3JtYXQuaWRsCkBAIC03NiwxMyArNzYsMTkgQEAg
ZW51bSBHUFVUZXh0dXJlRm9ybWF0IHsKICAgICAicmdiYTMyc2ludCIsCiAgICAgInJnYmEzMmZs
b2F0IiwKIAotICAgIC8vIERlcHRoIGFuZCBzdGVuY2lsIGZvcm1hdHMKKyAgICAvLyBEZXB0aC9z
dGVuY2lsIGZvcm1hdHMKICAgICAic3RlbmNpbDgiLAogICAgICJkZXB0aDE2dW5vcm0iLAogICAg
ICJkZXB0aDI0cGx1cyIsCiAgICAgImRlcHRoMjRwbHVzLXN0ZW5jaWw4IiwKICAgICAiZGVwdGgz
MmZsb2F0IiwKIAorICAgIC8vICJkZXB0aDI0dW5vcm0tc3RlbmNpbDgiIGZlYXR1cmUKKyAgICAi
ZGVwdGgyNHVub3JtLXN0ZW5jaWw4IiwKKworICAgIC8vICJkZXB0aDMyZmxvYXQtc3RlbmNpbDgi
IGZlYXR1cmUKKyAgICAiZGVwdGgzMmZsb2F0LXN0ZW5jaWw4IiwKKwogICAgIC8vIEJDIGNvbXBy
ZXNzZWQgZm9ybWF0cyB1c2FibGUgaWYgInRleHR1cmUtY29tcHJlc3Npb24tYmMiIGlzIGJvdGgK
ICAgICAvLyBzdXBwb3J0ZWQgYnkgdGhlIGRldmljZS91c2VyIGFnZW50IGFuZCBlbmFibGVkIGlu
IHJlcXVlc3REZXZpY2UuCiAgICAgImJjMS1yZ2JhLXVub3JtIiwKQEAgLTE0MiwxMSArMTQ4LDUg
QEAgZW51bSBHUFVUZXh0dXJlRm9ybWF0IHsKICAgICAiYXN0Yy0xMngxMC11bm9ybSIsCiAgICAg
ImFzdGMtMTJ4MTAtdW5vcm0tc3JnYiIsCiAgICAgImFzdGMtMTJ4MTItdW5vcm0iLAotICAgICJh
c3RjLTEyeDEyLXVub3JtLXNyZ2IiLAotCi0gICAgLy8gImRlcHRoMjR1bm9ybS1zdGVuY2lsOCIg
ZmVhdHVyZQotICAgICJkZXB0aDI0dW5vcm0tc3RlbmNpbDgiLAotCi0gICAgLy8gImRlcHRoMzJm
bG9hdC1zdGVuY2lsOCIgZmVhdHVyZQotICAgICJkZXB0aDMyZmxvYXQtc3RlbmNpbDgiCisgICAg
ImFzdGMtMTJ4MTItdW5vcm0tc3JnYiIKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL1dlYkdQVS9HUFVVbmNhcHR1cmVkRXJyb3JFdmVudC5pZGwgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL1dlYkdQVS9HUFVVbmNhcHR1cmVkRXJyb3JFdmVudC5pZGwKaW5kZXggMzMyZWJl
YWRiZGE5ODcyMDYwNmQ4ODU0YzUxNjRjMWFkNDY5YjU3ZC4uMWI5MjdkNDJhZWM1ZGM4ZGVkMGFi
MGIzYTM5MGU1MDRiZjc0OWMwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9X
ZWJHUFUvR1BVVW5jYXB0dXJlZEVycm9yRXZlbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvV2ViR1BVL0dQVVVuY2FwdHVyZWRFcnJvckV2ZW50LmlkbApAQCAtMzgsNSArMzgsNSBA
QCBpbnRlcmZhY2UgR1BVVW5jYXB0dXJlZEVycm9yRXZlbnQgOiBFdmVudCB7CiAgICAgICAgIERP
TVN0cmluZyB0eXBlLAogICAgICAgICBHUFVVbmNhcHR1cmVkRXJyb3JFdmVudEluaXQgZ3B1VW5j
YXB0dXJlZEVycm9yRXZlbnRJbml0RGljdAogICAgICk7Ci0gICAgW1NhbWVPYmplY3RdIHJlYWRv
bmx5IGF0dHJpYnV0ZSBHUFVFcnJvciBlcnJvcjsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgR1BV
RXJyb3IgZXJyb3I7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML1BBTC54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvUEFML1BBTC54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCmluZGV4IGM1YTkxOGY3ZDQwZDA0MWEyOTMzOTQ2ZTcyMDZjNzFjNzUz
ZjVkMDQuLjJhNzNjOGU3MTViODI0NDAxOTE4MzRlMGMzNmQ1ZTBkNWI1ZmVhMjkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9QQUwueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9QQUwvUEFMLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTI0
Nyw3ICsyNDcsNiBAQAogCQkxQ0VGQTIxNzI3MzdBNEM4MDBGMERBOTUgLyogV2ViR1BVQmluZEdy
b3VwRW50cnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDFDQzVFNDY5MjczNzQ5NDgwMDZGNkZGNCAvKiBXZWJHUFVCaW5kR3JvdXBFbnRyeS5oICovOyB9
OwogCQkxQ0VGQTIxODI3MzdBNEM4MDBGMERBOTUgLyogV2ViR1BVUHJpbWl0aXZlVG9wb2xvZ3ku
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDQzVFNDUz
MjczNzQ5NDcwMDZGNkZGNCAvKiBXZWJHUFVQcmltaXRpdmVUb3BvbG9neS5oICovOyB9OwogCQkx
Q0VGQTIxOTI3MzdBNEM4MDBGMERBOTUgLyogV2ViR1BVVGV4dHVyZUJpbmRpbmdMYXlvdXQuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDQzVFNDE5Mjcz
NzQ5MkMwMDZGNkZGNCAvKiBXZWJHUFVUZXh0dXJlQmluZGluZ0xheW91dC5oICovOyB9OwotCQkx
Q0VGQTIxQTI3MzdBNEM4MDBGMERBOTUgLyogV2ViR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQ0M1RTQzOTI3
Mzc0OTQ2MDA2RjZGRjQgLyogV2ViR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lLmggKi87IH07CiAJ
CTFDRUZBMjFCMjczN0E0QzgwMEYwREE5NSAvKiBXZWJHUFVCbGVuZENvbXBvbmVudC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUNDNUU0NzgyNzM3NDk0
OTAwNkY2RkY0IC8qIFdlYkdQVUJsZW5kQ29tcG9uZW50LmggKi87IH07CiAJCTFDRUZBMjFDMjcz
N0E0QzgwMEYwREE5NSAvKiBXZWJHUFVUZXh0dXJlVmlld0RpbWVuc2lvbi5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUNDNUU0MzIyNzM3NDkyRDAwNkY2
RkY0IC8qIFdlYkdQVVRleHR1cmVWaWV3RGltZW5zaW9uLmggKi87IH07CiAJCTFDRUZBMjFEMjcz
N0E0QzgwMEYwREE5NSAvKiBXZWJHUFVMb2FkT3AuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDQzVFNDUwMjczNzQ5NDcwMDZGNkZGNCAvKiBXZWJHUFVM
b2FkT3AuaCAqLzsgfTsKQEAgLTY1Miw3ICs2NTEsNiBAQAogCQkxQ0M1RTQzNjI3Mzc0OTQ2MDA2
RjZGRjQgLyogV2ViR1BVQ29tcGlsYXRpb25NZXNzYWdlVHlwZS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBX
ZWJHUFVDb21waWxhdGlvbk1lc3NhZ2VUeXBlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTFDQzVFNDM3MjczNzQ5NDYwMDZGNkZGNCAvKiBXZWJHUFVFeHRlbnQzRC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBXZWJHUFVFeHRlbnQzRC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkx
Q0M1RTQzODI3Mzc0OTQ2MDA2RjZGRjQgLyogV2ViR1BVUHJvZ3JhbW1hYmxlU3RhZ2UuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gV2ViR1BVUHJvZ3JhbW1hYmxlU3RhZ2UuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKLQkJMUNDNUU0MzkyNzM3NDk0NjAwNkY2RkY0IC8qIFdlYkdQVVBpcGVsaW5lU3Rh
dGlzdGljTmFtZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJHUFVQaXBlbGluZVN0YXRpc3RpY05hbWUu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNDNUU0M0EyNzM3NDk0NjAwNkY2RkY0
IC8qIFdlYkdQVUV4dGVybmFsVGV4dHVyZUJpbmRpbmdMYXlvdXQuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
V2ViR1BVRXh0ZXJuYWxUZXh0dXJlQmluZGluZ0xheW91dC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkxQ0M1RTQzQjI3Mzc0OTQ2MDA2RjZGRjQgLyogV2ViR1BVUmVuZGVyUGFzc0Rl
c2NyaXB0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNDNUU0M0MyNzM3NDk0NjAwNkY2RkY0IC8q
IFdlYkdQVVNhbXBsZXJCaW5kaW5nVHlwZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJHUFVTYW1wbGVy
QmluZGluZ1R5cGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTc0NCw2ICs3NDIs
NyBAQAogCQkxQ0M1RTQ5MzI3Mzc0OTRBMDA2RjZGRjQgLyogV2ViR1BVQ2FudmFzQ29tcG9zaXRp
bmdBbHBoYU1vZGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViR1BVQ2FudmFzQ29tcG9zaXRpbmdBbHBo
YU1vZGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNDRUU0RjQyMEQ4NzE5MzAw
NDdCMDk3IC8qIENvcmVVSVNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBD
b3JlVUlTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNDRUU0RjYyMEQ4NzQz
RjAwNDdCMDk3IC8qIE5TQXBwZWFyYW5jZVNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBOU0FwcGVhcmFuY2VTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MUNFRjQ1QUEyN0JCMTAxRjAwQzNBNkJDIC8qIFdlYkdQVVNoYWRlck1vZHVsZUNvbXBpbGF0aW9u
SGludC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJHUFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUQxMkNDNEEyNDExQkNBRTAwRkRBMEEz
IC8qIEZlYXR1cmVGbGFnc1NQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBGZWF0dXJlRmxhZ3NTUEkuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUQyQjQxMzIyNUYwNUUzNDAwQTNGNzBBIC8q
IENsb2NrR2VuZXJpYy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBD
bG9ja0dlbmVyaWMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxRDJCNDEzMzI1
RjA1RTM1MDBBM0Y3MEEgLyogQ2xvY2tHZW5lcmljLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IENsb2NrR2VuZXJpYy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
MTMzOSw3ICsxMzM4LDYgQEAKIAkJCQkxQ0M1RTQ1RTI3Mzc0OTQ4MDA2RjZGRjQgLyogV2ViR1BV
UGlwZWxpbmVEZXNjcmlwdG9yQmFzZS5oICovLAogCQkJCTFDQzVFNDQ1MjczNzQ5NDcwMDZGNkZG
NCAvKiBXZWJHUFVQaXBlbGluZUxheW91dC5oICovLAogCQkJCTFDQzVFNDREMjczNzQ5NDcwMDZG
NkZGNCAvKiBXZWJHUFVQaXBlbGluZUxheW91dERlc2NyaXB0b3IuaCAqLywKLQkJCQkxQ0M1RTQz
OTI3Mzc0OTQ2MDA2RjZGRjQgLyogV2ViR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lLmggKi8sCiAJ
CQkJMUNDNUU0N0EyNzM3NDk0OTAwNkY2RkY0IC8qIFdlYkdQVVBvd2VyUHJlZmVyZW5jZS5oICov
LAogCQkJCTFDQzVFNDdEMjczNzQ5NDkwMDZGNkZGNCAvKiBXZWJHUFVQcmVkZWZpbmVkQ29sb3JT
cGFjZS5oICovLAogCQkJCTFDQzVFNDZEMjczNzQ5NDgwMDZGNkZGNCAvKiBXZWJHUFVQcmltaXRp
dmVTdGF0ZS5oICovLApAQCAtMTM2OCw2ICsxMzY2LDcgQEAKIAkJCQkxQ0M1RTQzQzI3Mzc0OTQ2
MDA2RjZGRjQgLyogV2ViR1BVU2FtcGxlckJpbmRpbmdUeXBlLmggKi8sCiAJCQkJMUNDNUU0MjMy
NzM3NDkyQzAwNkY2RkY0IC8qIFdlYkdQVVNhbXBsZXJEZXNjcmlwdG9yLmggKi8sCiAJCQkJMUND
NUU0MUQyNzM3NDkyQzAwNkY2RkY0IC8qIFdlYkdQVVNoYWRlck1vZHVsZS5oICovLAorCQkJCTFD
RUY0NUFBMjdCQjEwMUYwMEMzQTZCQyAvKiBXZWJHUFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhp
bnQuaCAqLywKIAkJCQkxQ0M1RTQxQjI3Mzc0OTJDMDA2RjZGRjQgLyogV2ViR1BVU2hhZGVyTW9k
dWxlRGVzY3JpcHRvci5oICovLAogCQkJCTFDQzVFNDI2MjczNzQ5MkQwMDZGNkZGNCAvKiBXZWJH
UFVTaGFkZXJTdGFnZS5oICovLAogCQkJCTFDQzVFNDFDMjczNzQ5MkMwMDZGNkZGNCAvKiBXZWJH
UFVTdGVuY2lsRmFjZVN0YXRlLmggKi8sCkBAIC0xNzc0LDcgKzE3NzMsNiBAQAogCQkJCTFDRUZB
MjI1MjczN0E0QzgwMEYwREE5NSAvKiBXZWJHUFVQaXBlbGluZURlc2NyaXB0b3JCYXNlLmggaW4g
SGVhZGVycyAqLywKIAkJCQkxQ0VGQTFGRDI3MzdBNEM4MDBGMERBOTUgLyogV2ViR1BVUGlwZWxp
bmVMYXlvdXQuaCBpbiBIZWFkZXJzICovLAogCQkJCTFDRUZBMUY0MjczN0E0QzgwMEYwREE5NSAv
KiBXZWJHUFVQaXBlbGluZUxheW91dERlc2NyaXB0b3IuaCBpbiBIZWFkZXJzICovLAotCQkJCTFD
RUZBMjFBMjczN0E0QzgwMEYwREE5NSAvKiBXZWJHUFVQaXBlbGluZVN0YXRpc3RpY05hbWUuaCBp
biBIZWFkZXJzICovLAogCQkJCTFDRUZBMURFMjczN0E0QzgwMEYwREE5NSAvKiBXZWJHUFVQb3dl
clByZWZlcmVuY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTFDRUZBMjE2MjczN0E0QzgwMEYwREE5
NSAvKiBXZWJHUFVQcmVkZWZpbmVkQ29sb3JTcGFjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUNF
RkExRTUyNzM3QTRDODAwRjBEQTk1IC8qIFdlYkdQVVByaW1pdGl2ZVN0YXRlLmggaW4gSGVhZGVy
cyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvQ01ha2VMaXN0cy50eHQg
Yi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL0NNYWtlTGlzdHMudHh0CmluZGV4IDVmYWEyZmZmMTgx
YThmNGVkMDMwMjZmZDEyZTYyN2E1NWJjZWY1YjIuLmQyNGFiNmMwZGQ1NzQ5MjM5YWIyZmRhNTVj
ZmEyZThmMWNlMmZjMmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvQ01ha2VM
aXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9DTWFrZUxpc3RzLnR4dApAQCAt
MTA1LDcgKzEwNSw2IEBAIHNldChQQUxfUFVCTElDX0hFQURFUlMKICAgICBncmFwaGljcy9XZWJH
UFUvV2ViR1BVUGlwZWxpbmVEZXNjcmlwdG9yQmFzZS5oCiAgICAgZ3JhcGhpY3MvV2ViR1BVL1dl
YkdQVVBpcGVsaW5lTGF5b3V0LmgKICAgICBncmFwaGljcy9XZWJHUFUvV2ViR1BVUGlwZWxpbmVM
YXlvdXREZXNjcmlwdG9yLmgKLSAgICBncmFwaGljcy9XZWJHUFUvV2ViR1BVUGlwZWxpbmVTdGF0
aXN0aWNOYW1lLmgKICAgICBncmFwaGljcy9XZWJHUFUvV2ViR1BVUG93ZXJQcmVmZXJlbmNlLmgK
ICAgICBncmFwaGljcy9XZWJHUFUvV2ViR1BVUHJlZGVmaW5lZENvbG9yU3BhY2UuaAogICAgIGdy
YXBoaWNzL1dlYkdQVS9XZWJHUFVQcmltaXRpdmVTdGF0ZS5oCkBAIC0xMzQsNiArMTMzLDcgQEAg
c2V0KFBBTF9QVUJMSUNfSEVBREVSUwogICAgIGdyYXBoaWNzL1dlYkdQVS9XZWJHUFVTYW1wbGVy
QmluZGluZ1R5cGUuaAogICAgIGdyYXBoaWNzL1dlYkdQVS9XZWJHUFVTYW1wbGVyRGVzY3JpcHRv
ci5oCiAgICAgZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVNoYWRlck1vZHVsZS5oCisgICAgZ3JhcGhp
Y3MvV2ViR1BVL1dlYkdQVVNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludC5oCiAgICAgZ3JhcGhp
Y3MvV2ViR1BVL1dlYkdQVVNoYWRlck1vZHVsZURlc2NyaXB0b3IuaAogICAgIGdyYXBoaWNzL1dl
YkdQVS9XZWJHUFVTaGFkZXJTdGFnZS5oCiAgICAgZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVN0ZW5j
aWxGYWNlU3RhdGUuaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGlj
cy9XZWJHUFUvSW1wbC9XZWJHUFVBZGFwdGVySW1wbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9QQUwv
cGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVUFkYXB0ZXJJbXBsLmNwcAppbmRleCA3ZDVi
MTY1NGVlZDA3NmMxNzYwMjY4ZGYwMDI2ZGI3MjIwNjU3YjhjLi41NjEzOWFmNGE5MDc4MmY4ZGRh
Y2IzMjI1ZmJhM2Q3MDhiNDA5MWZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFs
L2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVUFkYXB0ZXJJbXBsLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVUFkYXB0ZXJJbXBsLmNw
cApAQCAtNDMsMTMgKzQzLDE3IEBAIHN0YXRpYyBTdHJpbmcgYWRhcHRlck5hbWUoV0dQVUFkYXB0
ZXIgYWRhcHRlcikKIAogc3RhdGljIFJlZjxTdXBwb3J0ZWRGZWF0dXJlcz4gc3VwcG9ydGVkRmVh
dHVyZXMoV0dQVUFkYXB0ZXIgYWRhcHRlcikKIHsKKyAgICBhdXRvIGZlYXR1cmVDb3VudCA9IHdn
cHVBZGFwdGVyRW51bWVyYXRlRmVhdHVyZXMoYWRhcHRlciwgbnVsbHB0cik7CisgICAgVmVjdG9y
PFdHUFVGZWF0dXJlTmFtZT4gZmVhdHVyZXMoZmVhdHVyZUNvdW50KTsKKyAgICB3Z3B1QWRhcHRl
ckVudW1lcmF0ZUZlYXR1cmVzKGFkYXB0ZXIsIGZlYXR1cmVzLmRhdGEoKSk7CisKICAgICBWZWN0
b3I8U3RyaW5nPiByZXN1bHQ7Ci0gICAgZm9yIChzaXplX3QgaSA9IDA7IDsgKytpKSB7Ci0gICAg
ICAgIGF1dG8gZmVhdHVyZSA9IHdncHVBZGFwdGVyR2V0RmVhdHVyZUF0SW5kZXgoYWRhcHRlciwg
aSk7Ci0gICAgICAgIGlmIChmZWF0dXJlID09IFdHUFVGZWF0dXJlTmFtZV9VbmRlZmluZWQpCi0g
ICAgICAgICAgICBicmVhazsKLSAgICAgICAgc3dpdGNoIChzdGF0aWNfY2FzdDx1aW50PihmZWF0
dXJlKSkgewotICAgICAgICBjYXNlIFdHUFVGZWF0dXJlTmFtZV9EZXB0aENsYW1waW5nOgorICAg
IGZvciAoYXV0byBmZWF0dXJlIDogZmVhdHVyZXMpIHsKKyAgICAgICAgc3dpdGNoIChmZWF0dXJl
KSB7CisgICAgICAgIGNhc2UgV0dQVUZlYXR1cmVOYW1lX1VuZGVmaW5lZDoKKyAgICAgICAgICAg
IGNvbnRpbnVlOworICAgICAgICBjYXNlIFdHUFVGZWF0dXJlTmFtZV9EZXB0aENsaXBDb250cm9s
OgorICAgICAgICAgICAgcmVzdWx0LmFwcGVuZCgiZGVwdGgtY2xpcC1jb250cm9sIl9zKTsKICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIFdHUFVGZWF0dXJlTmFtZV9EZXB0aDI0VW5v
cm1TdGVuY2lsODoKICAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQoImRlcHRoMjR1bm9ybS1zdGVu
Y2lsOCJfcyk7CkBAIC02NiwyMCArNzAsMTcgQEAgc3RhdGljIFJlZjxTdXBwb3J0ZWRGZWF0dXJl
cz4gc3VwcG9ydGVkRmVhdHVyZXMoV0dQVUFkYXB0ZXIgYWRhcHRlcikKICAgICAgICAgY2FzZSBX
R1BVRmVhdHVyZU5hbWVfVGV4dHVyZUNvbXByZXNzaW9uQkM6CiAgICAgICAgICAgICByZXN1bHQu
YXBwZW5kKCJ0ZXh0dXJlLWNvbXByZXNzaW9uLWJjIl9zKTsKICAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICBjYXNlIFdHUFVGZWF0dXJlTmFtZV9EZXB0aENsaXBDb250cm9sOgotICAgICAgICAg
ICAgcmVzdWx0LmFwcGVuZCgiZGVwdGgtY2xpcC1jb250cm9sIl9zKTsKLSAgICAgICAgICAgIGJy
ZWFrOwotICAgICAgICBjYXNlIFdHUFVGZWF0dXJlTmFtZV9JbmRpcmVjdEZpcnN0SW5zdGFuY2U6
Ci0gICAgICAgICAgICByZXN1bHQuYXBwZW5kKCJpbmRpcmVjdC1maXJzdC1pbnN0YW5jZSJfcyk7
Ci0gICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBXR1BVRmVhdHVyZU5hbWVfVGV4dHVy
ZUNvbXByZXNzaW9uRVRDMjoKICAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQoInRleHR1cmUtY29t
cHJlc3Npb24tZXRjMiJfcyk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBXR1BV
RmVhdHVyZU5hbWVfVGV4dHVyZUNvbXByZXNzaW9uQVNUQzoKICAgICAgICAgICAgIHJlc3VsdC5h
cHBlbmQoInRleHR1cmUtY29tcHJlc3Npb24tYXN0YyJfcyk7CiAgICAgICAgICAgICBicmVhazsK
LSAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgY2FzZSBXR1BVRmVhdHVyZU5hbWVfSW5kaXJlY3RG
aXJzdEluc3RhbmNlOgorICAgICAgICAgICAgcmVzdWx0LmFwcGVuZCgiaW5kaXJlY3QtZmlyc3Qt
aW5zdGFuY2UiX3MpOwogICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGRlZmF1bHQ6CisgICAg
ICAgICAgICBjb250aW51ZTsKICAgICAgICAgfQogICAgIH0KICAgICByZXR1cm4gU3VwcG9ydGVk
RmVhdHVyZXM6OmNyZWF0ZShXVEZNb3ZlKHJlc3VsdCkpOwpAQCAtMTUxLDE1ICsxNTIsNiBAQCB2
b2lkIEFkYXB0ZXJJbXBsOjpyZXF1ZXN0RGV2aWNlKGNvbnN0IERldmljZURlc2NyaXB0b3ImIGRl
c2NyaXB0b3IsIFdURjo6RnVuY3RpbwogCiAgICAgYXV0byBsYWJlbCA9IGRlc2NyaXB0b3IubGFi
ZWwudXRmOCgpOwogCi0gICAgV0dQVURldmljZURlc2NyaXB0b3JMYWJlbCBiYWNraW5nRGVzY3Jp
cHRvckxhYmVsIHsKLSAgICAgICAgewotICAgICAgICAgICAgbnVsbHB0ciwKLSAgICAgICAgICAg
IHN0YXRpY19jYXN0PFdHUFVTVHlwZT4oV0dQVVNUeXBlX0RldmljZURlc2NyaXB0b3JMYWJlbCks
Ci0gICAgICAgIH0sCi0gICAgICAgIG51bGxwdHIsCi0gICAgICAgIGxhYmVsLmRhdGEoKQotICAg
IH07Ci0KICAgICBhdXRvIGZlYXR1cmVzID0gZGVzY3JpcHRvci5yZXF1aXJlZEZlYXR1cmVzLm1h
cChbdGhpc10gKGF1dG8gZmVhdHVyZU5hbWUpIHsKICAgICAgICAgcmV0dXJuIG1fY29udmVydFRv
QmFja2luZ0NvbnRleHQtPmNvbnZlcnRUb0JhY2tpbmcoZmVhdHVyZU5hbWUpOwogICAgIH0pOwpA
QCAtMTk2LDcgKzE4OCw4IEBAIHZvaWQgQWRhcHRlckltcGw6OnJlcXVlc3REZXZpY2UoY29uc3Qg
RGV2aWNlRGVzY3JpcHRvciYgZGVzY3JpcHRvciwgV1RGOjpGdW5jdGlvCiAgICAgfTsKIAogICAg
IFdHUFVEZXZpY2VEZXNjcmlwdG9yIGJhY2tpbmdEZXNjcmlwdG9yIHsKLSAgICAgICAgJmJhY2tp
bmdEZXNjcmlwdG9yTGFiZWwuaGVhZGVyLAorICAgICAgICBudWxscHRyLAorICAgICAgICBsYWJl
bC5kYXRhKCksCiAgICAgICAgIHN0YXRpY19jYXN0PHVpbnQzMl90PihmZWF0dXJlcy5zaXplKCkp
LAogICAgICAgICBmZWF0dXJlcy5kYXRhKCksCiAgICAgICAgICZsaW1pdHMsCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVUJ1ZmZl
ckltcGwuY3BwIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9X
ZWJHUFVCdWZmZXJJbXBsLmNwcAppbmRleCBkOWE5Y2U1Y2FkOGQ5YTVmOTE2ZmI2MGVjZTkyYzEy
N2YzYmY4NWRlLi44YTBlY2M1OGNkNmNlYzFjNmU1ZmIzNzRkNGNhODU3MjYzYTA1YWVmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQ
VUJ1ZmZlckltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2Vi
R1BVL0ltcGwvV2ViR1BVQnVmZmVySW1wbC5jcHAKQEAgLTUwLDE5ICs1MCwxOCBAQCB2b2lkIG1h
cENhbGxiYWNrKFdHUFVCdWZmZXJNYXBBc3luY1N0YXR1cyBzdGF0dXMsIHZvaWQqIHVzZXJkYXRh
KQogICAgIGJ1ZmZlci0+bWFwQ2FsbGJhY2soc3RhdHVzKTsKIH0KIAotdm9pZCBCdWZmZXJJbXBs
OjptYXBBc3luYyhNYXBNb2RlRmxhZ3MgbWFwTW9kZUZsYWdzLCBzdGQ6Om9wdGlvbmFsPFNpemU2
ND4gb2Zmc2V0LCBzdGQ6Om9wdGlvbmFsPFNpemU2ND4gc2l6ZSwgV1RGOjpGdW5jdGlvbjx2b2lk
KCk+JiYgY2FsbGJhY2spCit2b2lkIEJ1ZmZlckltcGw6Om1hcEFzeW5jKE1hcE1vZGVGbGFncyBt
YXBNb2RlRmxhZ3MsIFNpemU2NCBvZmZzZXQsIHN0ZDo6b3B0aW9uYWw8U2l6ZTY0PiBzaXplLCBX
VEY6OkZ1bmN0aW9uPHZvaWQoKT4mJiBjYWxsYmFjaykKIHsKICAgICBSZWYgcHJvdGVjdGVkVGhp
cygqdGhpcyk7CiAKICAgICBhdXRvIGJhY2tpbmdNYXBNb2RlRmxhZ3MgPSBtX2NvbnZlcnRUb0Jh
Y2tpbmdDb250ZXh0LT5jb252ZXJ0TWFwTW9kZUZsYWdzVG9CYWNraW5nKG1hcE1vZGVGbGFncyk7
CiAKLSAgICBhdXRvIHVzZWRPZmZzZXQgPSBvZmZzZXQudmFsdWVfb3IoMCk7Ci0gICAgYXV0byB1
c2VkU2l6ZSA9IHNpemUudmFsdWVfb3IoV0dQVV9XSE9MRV9TSVpFKTsKKyAgICBhdXRvIHVzZWRT
aXplID0gc2l6ZS52YWx1ZV9vcihXR1BVX1dIT0xFX01BUF9TSVpFKTsKIAogICAgIG1fY2FsbGJh
Y2tzLmFwcGVuZChXVEZNb3ZlKGNhbGxiYWNrKSk7CiAKICAgICAvLyBGSVhNRTogQ2hlY2sgdGhl
IGNhc3RzLgotICAgIHdncHVCdWZmZXJNYXBBc3luYyhtX2JhY2tpbmcsIGJhY2tpbmdNYXBNb2Rl
RmxhZ3MsIHN0YXRpY19jYXN0PHNpemVfdD4odXNlZE9mZnNldCksIHN0YXRpY19jYXN0PHNpemVf
dD4odXNlZFNpemUpLCAmV2ViR1BVOjptYXBDYWxsYmFjaywgJnByb3RlY3RlZFRoaXMubGVha1Jl
ZigpKTsgLy8gbGVha1JlZiBpcyBiYWxhbmNlZCBieSBhZG9wdFJlZiBpbiBtYXBDYWxsYmFjaygp
IGFib3ZlLiBXZSBoYXZlIHRvIGRvIHRoaXMgYmVjYXVzZSB3ZSdyZSB1c2luZyBhIEMgQVBJIHdp
dGggbm8gY29uY2VwdCBvZiByZWZlcmVuY2UgY291bnRpbmcgb3IgYmxvY2tzLgorICAgIHdncHVC
dWZmZXJNYXBBc3luYyhtX2JhY2tpbmcsIGJhY2tpbmdNYXBNb2RlRmxhZ3MsIHN0YXRpY19jYXN0
PHNpemVfdD4ob2Zmc2V0KSwgc3RhdGljX2Nhc3Q8c2l6ZV90Pih1c2VkU2l6ZSksICZXZWJHUFU6
Om1hcENhbGxiYWNrLCAmcHJvdGVjdGVkVGhpcy5sZWFrUmVmKCkpOyAvLyBsZWFrUmVmIGlzIGJh
bGFuY2VkIGJ5IGFkb3B0UmVmIGluIG1hcENhbGxiYWNrKCkgYWJvdmUuIFdlIGhhdmUgdG8gZG8g
dGhpcyBiZWNhdXNlIHdlJ3JlIHVzaW5nIGEgQyBBUEkgd2l0aCBubyBjb25jZXB0IG9mIHJlZmVy
ZW5jZSBjb3VudGluZyBvciBibG9ja3MuCiB9CiAKIHZvaWQgQnVmZmVySW1wbDo6bWFwQ2FsbGJh
Y2soV0dQVUJ1ZmZlck1hcEFzeW5jU3RhdHVzIHN0YXR1cykKQEAgLTcyLDEyICs3MSwxMSBAQCB2
b2lkIEJ1ZmZlckltcGw6Om1hcENhbGxiYWNrKFdHUFVCdWZmZXJNYXBBc3luY1N0YXR1cyBzdGF0
dXMpCiAgICAgY2FsbGJhY2soKTsKIH0KIAotYXV0byBCdWZmZXJJbXBsOjpnZXRNYXBwZWRSYW5n
ZShzdGQ6Om9wdGlvbmFsPFNpemU2ND4gb2Zmc2V0LCBzdGQ6Om9wdGlvbmFsPFNpemU2ND4gc2l6
ZSkgLT4gTWFwcGVkUmFuZ2UKK2F1dG8gQnVmZmVySW1wbDo6Z2V0TWFwcGVkUmFuZ2UoU2l6ZTY0
IG9mZnNldCwgc3RkOjpvcHRpb25hbDxTaXplNjQ+IHNpemUpIC0+IE1hcHBlZFJhbmdlCiB7Ci0g
ICAgYXV0byB1c2VkT2Zmc2V0ID0gb2Zmc2V0LnZhbHVlX29yKDApOwotICAgIGF1dG8gdXNlZFNp
emUgPSBzaXplLnZhbHVlX29yKFdHUFVfV0hPTEVfU0laRSk7CisgICAgYXV0byB1c2VkU2l6ZSA9
IHNpemUudmFsdWVfb3IoV0dQVV9XSE9MRV9NQVBfU0laRSk7CiAgICAgLy8gRklYTUU6IENoZWNr
IHRoZSBjYXN0cy4KLSAgICBhdXRvKiBwb2ludGVyID0gd2dwdUJ1ZmZlckdldE1hcHBlZFJhbmdl
KG1fYmFja2luZywgc3RhdGljX2Nhc3Q8c2l6ZV90Pih1c2VkT2Zmc2V0KSwgc3RhdGljX2Nhc3Q8
c2l6ZV90Pih1c2VkU2l6ZSkpOworICAgIGF1dG8qIHBvaW50ZXIgPSB3Z3B1QnVmZmVyR2V0TWFw
cGVkUmFuZ2UobV9iYWNraW5nLCBzdGF0aWNfY2FzdDxzaXplX3Q+KG9mZnNldCksIHN0YXRpY19j
YXN0PHNpemVfdD4odXNlZFNpemUpKTsKICAgICAvLyBGSVhNRTogQ2hlY2sgdGhlIHR5cGUgbmFy
cm93aW5nLgogICAgIHJldHVybiB7IHBvaW50ZXIsIHN0YXRpY19jYXN0PHNpemVfdD4odXNlZFNp
emUpIH07CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dl
YkdQVS9JbXBsL1dlYkdQVUJ1ZmZlckltcGwuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3Jh
cGhpY3MvV2ViR1BVL0ltcGwvV2ViR1BVQnVmZmVySW1wbC5oCmluZGV4IGMxNDY1ZWM0NzdkZjU1
NjUyNWZhODhjNWEzYTAxMTEwY2U5MGYyODcuLjkyMTg3MjNiNzA3MjU3OWNhZTk5ZDIwMWY2MjJl
MjNjYzI4OTZjMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3Mv
V2ViR1BVL0ltcGwvV2ViR1BVQnVmZmVySW1wbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9w
YWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwvV2ViR1BVQnVmZmVySW1wbC5oCkBAIC01OSw4ICs1OSw4
IEBAIHByaXZhdGU6CiAgICAgV0dQVUJ1ZmZlciBiYWNraW5nKCkgY29uc3QgeyByZXR1cm4gbV9i
YWNraW5nOyB9CiAKICAgICB2b2lkIG1hcENhbGxiYWNrKFdHUFVCdWZmZXJNYXBBc3luY1N0YXR1
cyk7Ci0gICAgdm9pZCBtYXBBc3luYyhNYXBNb2RlRmxhZ3MsIHN0ZDo6b3B0aW9uYWw8U2l6ZTY0
PiBvZmZzZXQsIHN0ZDo6b3B0aW9uYWw8U2l6ZTY0PiBzaXplRm9yTWFwLCBXVEY6OkZ1bmN0aW9u
PHZvaWQoKT4mJikgZmluYWw7Ci0gICAgTWFwcGVkUmFuZ2UgZ2V0TWFwcGVkUmFuZ2Uoc3RkOjpv
cHRpb25hbDxTaXplNjQ+IG9mZnNldCwgc3RkOjpvcHRpb25hbDxTaXplNjQ+KSBmaW5hbDsKKyAg
ICB2b2lkIG1hcEFzeW5jKE1hcE1vZGVGbGFncywgU2l6ZTY0IG9mZnNldCwgc3RkOjpvcHRpb25h
bDxTaXplNjQ+IHNpemVGb3JNYXAsIFdURjo6RnVuY3Rpb248dm9pZCgpPiYmKSBmaW5hbDsKKyAg
ICBNYXBwZWRSYW5nZSBnZXRNYXBwZWRSYW5nZShTaXplNjQgb2Zmc2V0LCBzdGQ6Om9wdGlvbmFs
PFNpemU2ND4pIGZpbmFsOwogICAgIHZvaWQgdW5tYXAoKSBmaW5hbDsKIAogICAgIHZvaWQgZGVz
dHJveSgpIGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGlj
cy9XZWJHUFUvSW1wbC9XZWJHUFVDb21tYW5kRW5jb2RlckltcGwuY3BwIGIvU291cmNlL1dlYkNv
cmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9XZWJHUFVDb21tYW5kRW5jb2RlckltcGwu
Y3BwCmluZGV4IGE4NTM2YmNlY2QyNGQ1NzIwN2QyMTc0NTYwOWY4MjBlYTljYmQ5YjYuLmEwMDZk
YzIzNzAxZTg4NDliMWQ4MGM1ZjYwNjcwMjM0NTdkOTY2NWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwvV2ViR1BVQ29tbWFuZEVuY29kZXJJ
bXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBs
L1dlYkdQVUNvbW1hbmRFbmNvZGVySW1wbC5jcHAKQEAgLTUzLDU3ICs1Myw1MSBAQCBDb21tYW5k
RW5jb2RlckltcGw6On5Db21tYW5kRW5jb2RlckltcGwoKQogCiBSZWY8UmVuZGVyUGFzc0VuY29k
ZXI+IENvbW1hbmRFbmNvZGVySW1wbDo6YmVnaW5SZW5kZXJQYXNzKGNvbnN0IFJlbmRlclBhc3NE
ZXNjcmlwdG9yJiBkZXNjcmlwdG9yKQogeworICAgIGF1dG8gbGFiZWwgPSBkZXNjcmlwdG9yLmxh
YmVsLnV0ZjgoKTsKKwogICAgIFZlY3RvcjxXR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudD4g
Y29sb3JBdHRhY2htZW50czsKICAgICBmb3IgKGNvbnN0IGF1dG8mIGNvbG9yQXR0YWNobWVudCA6
IGRlc2NyaXB0b3IuY29sb3JBdHRhY2htZW50cykgewotICAgICAgICBjb2xvckF0dGFjaG1lbnRz
LmFwcGVuZChXR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudCB7Ci0gICAgICAgICAgICBtX2Nv
bnZlcnRUb0JhY2tpbmdDb250ZXh0LT5jb252ZXJ0VG9CYWNraW5nKGNvbG9yQXR0YWNobWVudC52
aWV3KSwKLSAgICAgICAgICAgIGNvbG9yQXR0YWNobWVudC5yZXNvbHZlVGFyZ2V0ID8gbV9jb252
ZXJ0VG9CYWNraW5nQ29udGV4dC0+Y29udmVydFRvQmFja2luZygqY29sb3JBdHRhY2htZW50LnJl
c29sdmVUYXJnZXQpIDogbnVsbHB0ciwKLSAgICAgICAgICAgIHN0ZDo6aG9sZHNfYWx0ZXJuYXRp
dmU8TG9hZE9wPihjb2xvckF0dGFjaG1lbnQubG9hZFZhbHVlKSA/IG1fY29udmVydFRvQmFja2lu
Z0NvbnRleHQtPmNvbnZlcnRUb0JhY2tpbmcoc3RkOjpnZXQ8TG9hZE9wPihjb2xvckF0dGFjaG1l
bnQubG9hZFZhbHVlKSkgOiBXR1BVTG9hZE9wX0NsZWFyLAotICAgICAgICAgICAgbV9jb252ZXJ0
VG9CYWNraW5nQ29udGV4dC0+Y29udmVydFRvQmFja2luZyhjb2xvckF0dGFjaG1lbnQuc3RvcmVP
cCksCi0gICAgICAgICAgICBXVEY6OnN3aXRjaE9uKGNvbG9yQXR0YWNobWVudC5sb2FkVmFsdWUs
IFtdIChMb2FkT3ApIC0+IFdHUFVDb2xvciB7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIHsgMCwg
MCwgMCwgMCB9OwotICAgICAgICAgICAgfSwgW10gKGNvbnN0IFZlY3Rvcjxkb3VibGU+JiB2ZWN0
b3IpIC0+IFdHUFVDb2xvciB7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIFdHUFVDb2xvciB7Ci0g
ICAgICAgICAgICAgICAgICAgIHZlY3Rvci5zaXplKCkgPiAwID8gdmVjdG9yWzBdIDogMCwKLSAg
ICAgICAgICAgICAgICAgICAgdmVjdG9yLnNpemUoKSA+IDEgPyB2ZWN0b3JbMV0gOiAwLAotICAg
ICAgICAgICAgICAgICAgICB2ZWN0b3Iuc2l6ZSgpID4gMiA/IHZlY3RvclsyXSA6IDAsCi0gICAg
ICAgICAgICAgICAgICAgIHZlY3Rvci5zaXplKCkgPiAzID8gdmVjdG9yWzNdIDogMCwKLSAgICAg
ICAgICAgICAgICB9OwotICAgICAgICAgICAgfSwgW10gKGNvbnN0IENvbG9yRGljdCYgY29sb3Ip
IC0+IFdHUFVDb2xvciB7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIFdHUFVDb2xvciB7Ci0gICAg
ICAgICAgICAgICAgICAgIGNvbG9yLnIsCi0gICAgICAgICAgICAgICAgICAgIGNvbG9yLmcsCi0g
ICAgICAgICAgICAgICAgICAgIGNvbG9yLmIsCi0gICAgICAgICAgICAgICAgICAgIGNvbG9yLmEs
Ci0gICAgICAgICAgICAgICAgfTsKLSAgICAgICAgICAgIH0pLAotICAgICAgICB9KTsKKyAgICAg
ICAgaWYgKGNvbG9yQXR0YWNobWVudCkgeworICAgICAgICAgICAgY29sb3JBdHRhY2htZW50cy5h
cHBlbmQoV0dQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQgeworICAgICAgICAgICAgICAgIG1f
Y29udmVydFRvQmFja2luZ0NvbnRleHQtPmNvbnZlcnRUb0JhY2tpbmcoY29sb3JBdHRhY2htZW50
LT52aWV3KSwKKyAgICAgICAgICAgICAgICBjb2xvckF0dGFjaG1lbnQtPnJlc29sdmVUYXJnZXQg
PyBtX2NvbnZlcnRUb0JhY2tpbmdDb250ZXh0LT5jb252ZXJ0VG9CYWNraW5nKCpjb2xvckF0dGFj
aG1lbnQtPnJlc29sdmVUYXJnZXQpIDogbnVsbHB0ciwKKyAgICAgICAgICAgICAgICBtX2NvbnZl
cnRUb0JhY2tpbmdDb250ZXh0LT5jb252ZXJ0VG9CYWNraW5nKGNvbG9yQXR0YWNobWVudC0+bG9h
ZE9wKSwKKyAgICAgICAgICAgICAgICBtX2NvbnZlcnRUb0JhY2tpbmdDb250ZXh0LT5jb252ZXJ0
VG9CYWNraW5nKGNvbG9yQXR0YWNobWVudC0+c3RvcmVPcCksCisgICAgICAgICAgICAgICAgY29s
b3JBdHRhY2htZW50LT5jbGVhclZhbHVlID8gbV9jb252ZXJ0VG9CYWNraW5nQ29udGV4dC0+Y29u
dmVydFRvQmFja2luZygqY29sb3JBdHRhY2htZW50LT5jbGVhclZhbHVlKSA6IFdHUFVDb2xvciB7
IDAsIDAsIDAsIDAgfSwKKyAgICAgICAgICAgIH0pOworICAgICAgICB9IGVsc2UKKyAgICAgICAg
ICAgIGNvbG9yQXR0YWNobWVudHMuYXBwZW5kKHsKKyAgICAgICAgICAgICAgICBudWxscHRyLAor
ICAgICAgICAgICAgICAgIG51bGxwdHIsCisgICAgICAgICAgICAgICAgV0dQVUxvYWRPcF9DbGVh
ciwKKyAgICAgICAgICAgICAgICBXR1BVU3RvcmVPcF9EaXNjYXJkLAorICAgICAgICAgICAgICAg
IHsgMCwgMCwgMCwgMCB9LAorICAgICAgICAgICAgfSk7CiAgICAgfQogCiAgICAgc3RkOjpvcHRp
b25hbDxXR1BVUmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQ+IGRlcHRoU3RlbmNpbEF0
dGFjaG1lbnQ7CiAgICAgaWYgKGRlc2NyaXB0b3IuZGVwdGhTdGVuY2lsQXR0YWNobWVudCkgewog
ICAgICAgICBkZXB0aFN0ZW5jaWxBdHRhY2htZW50ID0gV0dQVVJlbmRlclBhc3NEZXB0aFN0ZW5j
aWxBdHRhY2htZW50IHsKICAgICAgICAgICAgIG1fY29udmVydFRvQmFja2luZ0NvbnRleHQtPmNv
bnZlcnRUb0JhY2tpbmcoZGVzY3JpcHRvci5kZXB0aFN0ZW5jaWxBdHRhY2htZW50LT52aWV3KSwK
LSAgICAgICAgICAgIHN0ZDo6aG9sZHNfYWx0ZXJuYXRpdmU8TG9hZE9wPihkZXNjcmlwdG9yLmRl
cHRoU3RlbmNpbEF0dGFjaG1lbnQtPmRlcHRoTG9hZFZhbHVlKSA/IG1fY29udmVydFRvQmFja2lu
Z0NvbnRleHQtPmNvbnZlcnRUb0JhY2tpbmcoc3RkOjpnZXQ8TG9hZE9wPihkZXNjcmlwdG9yLmRl
cHRoU3RlbmNpbEF0dGFjaG1lbnQtPmRlcHRoTG9hZFZhbHVlKSkgOiBXR1BVTG9hZE9wX0NsZWFy
LAotICAgICAgICAgICAgbV9jb252ZXJ0VG9CYWNraW5nQ29udGV4dC0+Y29udmVydFRvQmFja2lu
ZyhkZXNjcmlwdG9yLmRlcHRoU3RlbmNpbEF0dGFjaG1lbnQtPmRlcHRoU3RvcmVPcCksCi0gICAg
ICAgICAgICBXVEY6OnN3aXRjaE9uKGRlc2NyaXB0b3IuZGVwdGhTdGVuY2lsQXR0YWNobWVudC0+
ZGVwdGhMb2FkVmFsdWUsIFtdIChMb2FkT3ApIC0+IGZsb2F0IHsKLSAgICAgICAgICAgICAgICBy
ZXR1cm4gMDsKLSAgICAgICAgICAgIH0sIFtdIChmbG9hdCBjbGVhckRlcHRoKSAtPiBmbG9hdCB7
Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGNsZWFyRGVwdGg7Ci0gICAgICAgICAgICB9KSwKKyAg
ICAgICAgICAgIGRlc2NyaXB0b3IuZGVwdGhTdGVuY2lsQXR0YWNobWVudC0+ZGVwdGhMb2FkT3Ag
PyBtX2NvbnZlcnRUb0JhY2tpbmdDb250ZXh0LT5jb252ZXJ0VG9CYWNraW5nKCpkZXNjcmlwdG9y
LmRlcHRoU3RlbmNpbEF0dGFjaG1lbnQtPmRlcHRoTG9hZE9wKSA6IFdHUFVMb2FkT3BfQ2xlYXIs
CisgICAgICAgICAgICBkZXNjcmlwdG9yLmRlcHRoU3RlbmNpbEF0dGFjaG1lbnQtPmRlcHRoU3Rv
cmVPcCA/IG1fY29udmVydFRvQmFja2luZ0NvbnRleHQtPmNvbnZlcnRUb0JhY2tpbmcoKmRlc2Ny
aXB0b3IuZGVwdGhTdGVuY2lsQXR0YWNobWVudC0+ZGVwdGhTdG9yZU9wKSA6IFdHUFVTdG9yZU9w
X0Rpc2NhcmQsCisgICAgICAgICAgICBkZXNjcmlwdG9yLmRlcHRoU3RlbmNpbEF0dGFjaG1lbnQt
PmRlcHRoQ2xlYXJWYWx1ZSwKICAgICAgICAgICAgIGRlc2NyaXB0b3IuZGVwdGhTdGVuY2lsQXR0
YWNobWVudC0+ZGVwdGhSZWFkT25seSwKLSAgICAgICAgICAgIHN0ZDo6aG9sZHNfYWx0ZXJuYXRp
dmU8TG9hZE9wPihkZXNjcmlwdG9yLmRlcHRoU3RlbmNpbEF0dGFjaG1lbnQtPnN0ZW5jaWxMb2Fk
VmFsdWUpID8gbV9jb252ZXJ0VG9CYWNraW5nQ29udGV4dC0+Y29udmVydFRvQmFja2luZyhzdGQ6
OmdldDxMb2FkT3A+KGRlc2NyaXB0b3IuZGVwdGhTdGVuY2lsQXR0YWNobWVudC0+c3RlbmNpbExv
YWRWYWx1ZSkpIDogV0dQVUxvYWRPcF9DbGVhciwKLSAgICAgICAgICAgIG1fY29udmVydFRvQmFj
a2luZ0NvbnRleHQtPmNvbnZlcnRUb0JhY2tpbmcoZGVzY3JpcHRvci5kZXB0aFN0ZW5jaWxBdHRh
Y2htZW50LT5zdGVuY2lsU3RvcmVPcCksCi0gICAgICAgICAgICBXVEY6OnN3aXRjaE9uKGRlc2Ny
aXB0b3IuZGVwdGhTdGVuY2lsQXR0YWNobWVudC0+c3RlbmNpbExvYWRWYWx1ZSwgW10gKExvYWRP
cCkgLT4gdWludDMyX3QgewotICAgICAgICAgICAgICAgIHJldHVybiAwOwotICAgICAgICAgICAg
fSwgW10gKFN0ZW5jaWxWYWx1ZSBjbGVhclN0ZW5jaWwpIC0+IHVpbnQzMl90IHsKLSAgICAgICAg
ICAgICAgICByZXR1cm4gY2xlYXJTdGVuY2lsOwotICAgICAgICAgICAgfSksCisgICAgICAgICAg
ICBkZXNjcmlwdG9yLmRlcHRoU3RlbmNpbEF0dGFjaG1lbnQtPnN0ZW5jaWxMb2FkT3AgPyBtX2Nv
bnZlcnRUb0JhY2tpbmdDb250ZXh0LT5jb252ZXJ0VG9CYWNraW5nKCpkZXNjcmlwdG9yLmRlcHRo
U3RlbmNpbEF0dGFjaG1lbnQtPnN0ZW5jaWxMb2FkT3ApIDogV0dQVUxvYWRPcF9DbGVhciwKKyAg
ICAgICAgICAgIGRlc2NyaXB0b3IuZGVwdGhTdGVuY2lsQXR0YWNobWVudC0+c3RlbmNpbFN0b3Jl
T3AgPyBtX2NvbnZlcnRUb0JhY2tpbmdDb250ZXh0LT5jb252ZXJ0VG9CYWNraW5nKCpkZXNjcmlw
dG9yLmRlcHRoU3RlbmNpbEF0dGFjaG1lbnQtPnN0ZW5jaWxTdG9yZU9wKSA6IFdHUFVTdG9yZU9w
X0Rpc2NhcmQsCisgICAgICAgICAgICBkZXNjcmlwdG9yLmRlcHRoU3RlbmNpbEF0dGFjaG1lbnQt
PnN0ZW5jaWxDbGVhclZhbHVlLAogICAgICAgICAgICAgZGVzY3JpcHRvci5kZXB0aFN0ZW5jaWxB
dHRhY2htZW50LT5zdGVuY2lsUmVhZE9ubHksCiAgICAgICAgIH07CiAgICAgfQogCi0gICAgYXV0
byBsYWJlbCA9IGRlc2NyaXB0b3IubGFiZWwudXRmOCgpOworICAgIFZlY3RvcjxXR1BVUmVuZGVy
UGFzc1RpbWVzdGFtcFdyaXRlPiB0aW1lc3RhbXBXcml0ZXM7CisgICAgZm9yIChjb25zdCBhdXRv
JiB0aW1lc3RhbXBXcml0ZSA6IGRlc2NyaXB0b3IudGltZXN0YW1wV3JpdGVzKSB7CisgICAgICAg
IHRpbWVzdGFtcFdyaXRlcy5hcHBlbmQoV0dQVVJlbmRlclBhc3NUaW1lc3RhbXBXcml0ZSB7Cisg
ICAgICAgICAgICBtX2NvbnZlcnRUb0JhY2tpbmdDb250ZXh0LT5jb252ZXJ0VG9CYWNraW5nKHRp
bWVzdGFtcFdyaXRlLnF1ZXJ5U2V0KSwKKyAgICAgICAgICAgIHRpbWVzdGFtcFdyaXRlLnF1ZXJ5
SW5kZXgsCisgICAgICAgICAgICBtX2NvbnZlcnRUb0JhY2tpbmdDb250ZXh0LT5jb252ZXJ0VG9C
YWNraW5nKHRpbWVzdGFtcFdyaXRlLmxvY2F0aW9uKSwKKyAgICAgICAgfSk7CisgICAgfQogCiAg
ICAgV0dQVVJlbmRlclBhc3NEZXNjcmlwdG9yIGJhY2tpbmdEZXNjcmlwdG9yIHsKICAgICAgICAg
bnVsbHB0ciwKQEAgLTExMiw2ICsxMDYsOCBAQCBSZWY8UmVuZGVyUGFzc0VuY29kZXI+IENvbW1h
bmRFbmNvZGVySW1wbDo6YmVnaW5SZW5kZXJQYXNzKGNvbnN0IFJlbmRlclBhc3NEZXNjcgogICAg
ICAgICBjb2xvckF0dGFjaG1lbnRzLmRhdGEoKSwKICAgICAgICAgZGVwdGhTdGVuY2lsQXR0YWNo
bWVudCA/ICZkZXB0aFN0ZW5jaWxBdHRhY2htZW50LnZhbHVlKCkgOiBudWxscHRyLAogICAgICAg
ICBkZXNjcmlwdG9yLm9jY2x1c2lvblF1ZXJ5U2V0ID8gbV9jb252ZXJ0VG9CYWNraW5nQ29udGV4
dC0+Y29udmVydFRvQmFja2luZygqZGVzY3JpcHRvci5vY2NsdXNpb25RdWVyeVNldCkgOiBudWxs
cHRyLAorICAgICAgICBzdGF0aWNfY2FzdDx1aW50MzJfdD4odGltZXN0YW1wV3JpdGVzLnNpemUo
KSksCisgICAgICAgIHRpbWVzdGFtcFdyaXRlcy5kYXRhKCksCiAgICAgfTsKIAogICAgIHJldHVy
biBSZW5kZXJQYXNzRW5jb2RlckltcGw6OmNyZWF0ZSh3Z3B1Q29tbWFuZEVuY29kZXJCZWdpblJl
bmRlclBhc3MobV9iYWNraW5nLCAmYmFja2luZ0Rlc2NyaXB0b3IpLCBtX2NvbnZlcnRUb0JhY2tp
bmdDb250ZXh0KTsKQEAgLTEyMSw5ICsxMTcsMjIgQEAgUmVmPENvbXB1dGVQYXNzRW5jb2Rlcj4g
Q29tbWFuZEVuY29kZXJJbXBsOjpiZWdpbkNvbXB1dGVQYXNzKGNvbnN0IHN0ZDo6b3B0aW9uYWwK
IHsKICAgICBDU3RyaW5nIGxhYmVsID0gZGVzY3JpcHRvciA/IGRlc2NyaXB0b3ItPmxhYmVsLnV0
ZjgoKSA6IENTdHJpbmcoIiIpOwogCisgICAgVmVjdG9yPFdHUFVDb21wdXRlUGFzc1RpbWVzdGFt
cFdyaXRlPiB0aW1lc3RhbXBXcml0ZXM7CisgICAgaWYgKGRlc2NyaXB0b3IpIHsKKyAgICAgICAg
Zm9yIChjb25zdCBhdXRvJiB0aW1lc3RhbXBXcml0ZSA6IGRlc2NyaXB0b3ItPnRpbWVzdGFtcFdy
aXRlcykgeworICAgICAgICAgICAgdGltZXN0YW1wV3JpdGVzLmFwcGVuZChXR1BVQ29tcHV0ZVBh
c3NUaW1lc3RhbXBXcml0ZSB7CisgICAgICAgICAgICAgICAgbV9jb252ZXJ0VG9CYWNraW5nQ29u
dGV4dC0+Y29udmVydFRvQmFja2luZyh0aW1lc3RhbXBXcml0ZS5xdWVyeVNldCksCisgICAgICAg
ICAgICAgICAgdGltZXN0YW1wV3JpdGUucXVlcnlJbmRleCwKKyAgICAgICAgICAgICAgICBtX2Nv
bnZlcnRUb0JhY2tpbmdDb250ZXh0LT5jb252ZXJ0VG9CYWNraW5nKHRpbWVzdGFtcFdyaXRlLmxv
Y2F0aW9uKSwKKyAgICAgICAgICAgIH0pOworICAgICAgICB9CisgICAgfQorCiAgICAgV0dQVUNv
bXB1dGVQYXNzRGVzY3JpcHRvciBiYWNraW5nRGVzY3JpcHRvciB7CiAgICAgICAgIG51bGxwdHIs
CiAgICAgICAgIGxhYmVsLmRhdGEoKSwKKyAgICAgICAgc3RhdGljX2Nhc3Q8dWludDMyX3Q+KHRp
bWVzdGFtcFdyaXRlcy5zaXplKCkpLAorICAgICAgICB0aW1lc3RhbXBXcml0ZXMuZGF0YSgpLAog
ICAgIH07CiAKICAgICByZXR1cm4gQ29tcHV0ZVBhc3NFbmNvZGVySW1wbDo6Y3JlYXRlKHdncHVD
b21tYW5kRW5jb2RlckJlZ2luQ29tcHV0ZVBhc3MobV9iYWNraW5nLCAmYmFja2luZ0Rlc2NyaXB0
b3IpLCBtX2NvbnZlcnRUb0JhY2tpbmdDb250ZXh0KTsKQEAgLTIyMSwxMiArMjMwLDEyIEBAIHZv
aWQgQ29tbWFuZEVuY29kZXJJbXBsOjpjb3B5VGV4dHVyZVRvVGV4dHVyZSgKICAgICB3Z3B1Q29t
bWFuZEVuY29kZXJDb3B5VGV4dHVyZVRvVGV4dHVyZShtX2JhY2tpbmcsICZiYWNraW5nU291cmNl
LCAmYmFja2luZ0Rlc3RpbmF0aW9uLCAmYmFja2luZ0NvcHlTaXplKTsKIH0KIAotdm9pZCBDb21t
YW5kRW5jb2RlckltcGw6OmZpbGxCdWZmZXIoCi0gICAgY29uc3QgQnVmZmVyJiBkZXN0aW5hdGlv
biwKLSAgICBTaXplNjQgZGVzdGluYXRpb25PZmZzZXQsCi0gICAgU2l6ZTY0IHNpemUpCit2b2lk
IENvbW1hbmRFbmNvZGVySW1wbDo6Y2xlYXJCdWZmZXIoCisgICAgY29uc3QgQnVmZmVyJiBidWZm
ZXIsCisgICAgU2l6ZTY0IG9mZnNldCwKKyAgICBzdGQ6Om9wdGlvbmFsPFNpemU2ND4gc2l6ZSkK
IHsKLSAgICB3Z3B1Q29tbWFuZEVuY29kZXJGaWxsQnVmZmVyKG1fYmFja2luZywgbV9jb252ZXJ0
VG9CYWNraW5nQ29udGV4dC0+Y29udmVydFRvQmFja2luZyhkZXN0aW5hdGlvbiksIGRlc3RpbmF0
aW9uT2Zmc2V0LCBzaXplKTsKKyAgICB3Z3B1Q29tbWFuZEVuY29kZXJDbGVhckJ1ZmZlcihtX2Jh
Y2tpbmcsIG1fY29udmVydFRvQmFja2luZ0NvbnRleHQtPmNvbnZlcnRUb0JhY2tpbmcoYnVmZmVy
KSwgb2Zmc2V0LCBzaXplLnZhbHVlX29yKFdHUFVfV0hPTEVfU0laRSkpOwogfQogCiB2b2lkIENv
bW1hbmRFbmNvZGVySW1wbDo6cHVzaERlYnVnR3JvdXAoU3RyaW5nJiYgZ3JvdXBMYWJlbCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwvV2Vi
R1BVQ29tbWFuZEVuY29kZXJJbXBsLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNz
L1dlYkdQVS9JbXBsL1dlYkdQVUNvbW1hbmRFbmNvZGVySW1wbC5oCmluZGV4IGFkNjBhYzAyYjFh
ZDZlMjQwODk0YjlkNWEyOTEwYmJiZDQzNjExYTkuLjE3MTdhZGQzYmM5ODBhYzU0ODZhZDczYTM5
MjkxNWI0OGFkOTYyMGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhp
Y3MvV2ViR1BVL0ltcGwvV2ViR1BVQ29tbWFuZEVuY29kZXJJbXBsLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9XZWJHUFVDb21tYW5kRW5jb2Rlcklt
cGwuaApAQCAtODEsMTAgKzgxLDEwIEBAIHByaXZhdGU6CiAgICAgICAgIGNvbnN0IEltYWdlQ29w
eVRleHR1cmUmIGRlc3RpbmF0aW9uLAogICAgICAgICBjb25zdCBFeHRlbnQzRCYgY29weVNpemUp
IGZpbmFsOwogCi0gICAgdm9pZCBmaWxsQnVmZmVyKAotICAgICAgICBjb25zdCBCdWZmZXImIGRl
c3RpbmF0aW9uLAotICAgICAgICBTaXplNjQgZGVzdGluYXRpb25PZmZzZXQsCi0gICAgICAgIFNp
emU2NCkgZmluYWw7CisgICAgdm9pZCBjbGVhckJ1ZmZlcigKKyAgICAgICAgY29uc3QgQnVmZmVy
JiwKKyAgICAgICAgU2l6ZTY0IG9mZnNldCwKKyAgICAgICAgc3RkOjpvcHRpb25hbDxTaXplNjQ+
KSBmaW5hbDsKIAogICAgIHZvaWQgcHVzaERlYnVnR3JvdXAoU3RyaW5nJiYgZ3JvdXBMYWJlbCkg
ZmluYWw7CiAgICAgdm9pZCBwb3BEZWJ1Z0dyb3VwKCkgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVUNvbXB1dGVQYXNz
RW5jb2RlckltcGwuY3BwIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUv
SW1wbC9XZWJHUFVDb21wdXRlUGFzc0VuY29kZXJJbXBsLmNwcAppbmRleCBlZGQ1OWQ2NTk3NmYw
NGE3YzFiMzdmZDFhYmIwOGQ1NGJlNGY3NjE3Li4yZGRlZWI0OWRlZTRhNjg4YjI2MTIyMThiNDQ1
MDg5NzMyMzg0NDc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNz
L1dlYkdQVS9JbXBsL1dlYkdQVUNvbXB1dGVQYXNzRW5jb2RlckltcGwuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwvV2ViR1BVQ29tcHV0ZVBhc3NF
bmNvZGVySW1wbC5jcHAKQEAgLTUzLDkgKzUzLDkgQEAgdm9pZCBDb21wdXRlUGFzc0VuY29kZXJJ
bXBsOjpzZXRQaXBlbGluZShjb25zdCBDb21wdXRlUGlwZWxpbmUmIGNvbXB1dGVQaXBlbGluZSkK
ICAgICB3Z3B1Q29tcHV0ZVBhc3NFbmNvZGVyU2V0UGlwZWxpbmUobV9iYWNraW5nLCBtX2NvbnZl
cnRUb0JhY2tpbmdDb250ZXh0LT5jb252ZXJ0VG9CYWNraW5nKGNvbXB1dGVQaXBlbGluZSkpOwog
fQogCi12b2lkIENvbXB1dGVQYXNzRW5jb2RlckltcGw6OmRpc3BhdGNoKFNpemUzMiB4LCBzdGQ6
Om9wdGlvbmFsPFNpemUzMj4geSwgc3RkOjpvcHRpb25hbDxTaXplMzI+IHopCit2b2lkIENvbXB1
dGVQYXNzRW5jb2RlckltcGw6OmRpc3BhdGNoKFNpemUzMiB3b3JrZ3JvdXBDb3VudFgsIFNpemUz
MiB3b3JrZ3JvdXBDb3VudFksIFNpemUzMiB3b3JrZ3JvdXBDb3VudFopCiB7Ci0gICAgd2dwdUNv
bXB1dGVQYXNzRW5jb2RlckRpc3BhdGNoKG1fYmFja2luZywgeCwgeS52YWx1ZV9vcigxKSwgei52
YWx1ZV9vcigxKSk7CisgICAgd2dwdUNvbXB1dGVQYXNzRW5jb2RlckRpc3BhdGNoKG1fYmFja2lu
Zywgd29ya2dyb3VwQ291bnRYLCB3b3JrZ3JvdXBDb3VudFksIHdvcmtncm91cENvdW50Wik7CiB9
CiAKIHZvaWQgQ29tcHV0ZVBhc3NFbmNvZGVySW1wbDo6ZGlzcGF0Y2hJbmRpcmVjdChjb25zdCBC
dWZmZXImIGluZGlyZWN0QnVmZmVyLCBTaXplNjQgaW5kaXJlY3RPZmZzZXQpCkBAIC02MywxNyAr
NjMsNyBAQCB2b2lkIENvbXB1dGVQYXNzRW5jb2RlckltcGw6OmRpc3BhdGNoSW5kaXJlY3QoY29u
c3QgQnVmZmVyJiBpbmRpcmVjdEJ1ZmZlciwgU2l6ZQogICAgIHdncHVDb21wdXRlUGFzc0VuY29k
ZXJEaXNwYXRjaEluZGlyZWN0KG1fYmFja2luZywgbV9jb252ZXJ0VG9CYWNraW5nQ29udGV4dC0+
Y29udmVydFRvQmFja2luZyhpbmRpcmVjdEJ1ZmZlciksIGluZGlyZWN0T2Zmc2V0KTsKIH0KIAot
dm9pZCBDb21wdXRlUGFzc0VuY29kZXJJbXBsOjpiZWdpblBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5
KGNvbnN0IFF1ZXJ5U2V0JiBxdWVyeVNldCwgU2l6ZTMyIHF1ZXJ5SW5kZXgpCi17Ci0gICAgd2dw
dUNvbXB1dGVQYXNzRW5jb2RlckJlZ2luUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkobV9iYWNraW5n
LCBtX2NvbnZlcnRUb0JhY2tpbmdDb250ZXh0LT5jb252ZXJ0VG9CYWNraW5nKHF1ZXJ5U2V0KSwg
cXVlcnlJbmRleCk7Ci19Ci0KLXZvaWQgQ29tcHV0ZVBhc3NFbmNvZGVySW1wbDo6ZW5kUGlwZWxp
bmVTdGF0aXN0aWNzUXVlcnkoKQotewotICAgIHdncHVDb21wdXRlUGFzc0VuY29kZXJFbmRQaXBl
bGluZVN0YXRpc3RpY3NRdWVyeShtX2JhY2tpbmcpOwotfQotCi12b2lkIENvbXB1dGVQYXNzRW5j
b2RlckltcGw6OmVuZFBhc3MoKQordm9pZCBDb21wdXRlUGFzc0VuY29kZXJJbXBsOjplbmQoKQog
ewogICAgIHdncHVDb21wdXRlUGFzc0VuY29kZXJFbmRQYXNzKG1fYmFja2luZyk7CiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQ
VUNvbXB1dGVQYXNzRW5jb2RlckltcGwuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhp
Y3MvV2ViR1BVL0ltcGwvV2ViR1BVQ29tcHV0ZVBhc3NFbmNvZGVySW1wbC5oCmluZGV4IDUyODhi
NWI4YzBkYmU3YTYxMGViMTE2NTMxNTVmMzNjYTE1M2Q1MTMuLjBmMzY2MWQ5OWJlZGI0ZmMyNDkx
ODFkYWM0N2Y2M2E3NTQyMmYzZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwv
Z3JhcGhpY3MvV2ViR1BVL0ltcGwvV2ViR1BVQ29tcHV0ZVBhc3NFbmNvZGVySW1wbC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwvV2ViR1BVQ29tcHV0
ZVBhc3NFbmNvZGVySW1wbC5oCkBAIC01NywxMyArNTcsMTAgQEAgcHJpdmF0ZToKICAgICBXR1BV
Q29tcHV0ZVBhc3NFbmNvZGVyIGJhY2tpbmcoKSBjb25zdCB7IHJldHVybiBtX2JhY2tpbmc7IH0K
IAogICAgIHZvaWQgc2V0UGlwZWxpbmUoY29uc3QgQ29tcHV0ZVBpcGVsaW5lJikgZmluYWw7Ci0g
ICAgdm9pZCBkaXNwYXRjaChTaXplMzIgeCwgc3RkOjpvcHRpb25hbDxTaXplMzI+IHksIHN0ZDo6
b3B0aW9uYWw8U2l6ZTMyPikgZmluYWw7CisgICAgdm9pZCBkaXNwYXRjaChTaXplMzIgd29ya2dy
b3VwQ291bnRYLCBTaXplMzIgd29ya2dyb3VwQ291bnRZLCBTaXplMzIgd29ya2dyb3VwQ291bnRa
KSBmaW5hbDsKICAgICB2b2lkIGRpc3BhdGNoSW5kaXJlY3QoY29uc3QgQnVmZmVyJiBpbmRpcmVj
dEJ1ZmZlciwgU2l6ZTY0IGluZGlyZWN0T2Zmc2V0KSBmaW5hbDsKIAotICAgIHZvaWQgYmVnaW5Q
aXBlbGluZVN0YXRpc3RpY3NRdWVyeShjb25zdCBRdWVyeVNldCYsIFNpemUzMiBxdWVyeUluZGV4
KSBmaW5hbDsKLSAgICB2b2lkIGVuZFBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KCkgZmluYWw7Ci0K
LSAgICB2b2lkIGVuZFBhc3MoKSBmaW5hbDsKKyAgICB2b2lkIGVuZCgpIGZpbmFsOwogCiAgICAg
dm9pZCBzZXRCaW5kR3JvdXAoSW5kZXgzMiwgY29uc3QgQmluZEdyb3VwJiwKICAgICAgICAgc3Rk
OjpvcHRpb25hbDxWZWN0b3I8QnVmZmVyRHluYW1pY09mZnNldD4+JiYpIGZpbmFsOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9XZWJHUFVD
b252ZXJ0VG9CYWNraW5nQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBo
aWNzL1dlYkdQVS9JbXBsL1dlYkdQVUNvbnZlcnRUb0JhY2tpbmdDb250ZXh0LmNwcAppbmRleCAw
ZmJmYjRlY2Q2YjY1YzQ0MWY3MTU0MzNkMmM2NTA5ZDhkZTQyM2FhLi43NWY5N2MyMzNhNTFlNWU5
MDhiOWM1ZGY5YjBiN2Q1MDc3N2M4NjdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwv
cGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVUNvbnZlcnRUb0JhY2tpbmdDb250ZXh0LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQ
VUNvbnZlcnRUb0JhY2tpbmdDb250ZXh0LmNwcApAQCAtMzQsNiArMzQsNyBAQAogI2luY2x1ZGUg
IldlYkdQVUJ1ZmZlckJpbmRpbmdUeXBlLmgiCiAjaW5jbHVkZSAiV2ViR1BVQ29tcGFyZUZ1bmN0
aW9uLmgiCiAjaW5jbHVkZSAiV2ViR1BVQ29tcGlsYXRpb25NZXNzYWdlVHlwZS5oIgorI2luY2x1
ZGUgIldlYkdQVUNvbXB1dGVQYXNzVGltZXN0YW1wTG9jYXRpb24uaCIKICNpbmNsdWRlICJXZWJH
UFVDdWxsTW9kZS5oIgogI2luY2x1ZGUgIldlYkdQVUVycm9yRmlsdGVyLmgiCiAjaW5jbHVkZSAi
V2ViR1BVRmVhdHVyZU5hbWUuaCIKQEAgLTQxLDEwICs0MiwxMCBAQAogI2luY2x1ZGUgIldlYkdQ
VUZyb250RmFjZS5oIgogI2luY2x1ZGUgIldlYkdQVUluZGV4Rm9ybWF0LmgiCiAjaW5jbHVkZSAi
V2ViR1BVTG9hZE9wLmgiCi0jaW5jbHVkZSAiV2ViR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lLmgi
CiAjaW5jbHVkZSAiV2ViR1BVUG93ZXJQcmVmZXJlbmNlLmgiCiAjaW5jbHVkZSAiV2ViR1BVUHJp
bWl0aXZlVG9wb2xvZ3kuaCIKICNpbmNsdWRlICJXZWJHUFVRdWVyeVR5cGUuaCIKKyNpbmNsdWRl
ICJXZWJHUFVSZW5kZXJQYXNzVGltZXN0YW1wTG9jYXRpb24uaCIKICNpbmNsdWRlICJXZWJHUFVT
YW1wbGVyQmluZGluZ1R5cGUuaCIKICNpbmNsdWRlICJXZWJHUFVTdGVuY2lsT3BlcmF0aW9uLmgi
CiAjaW5jbHVkZSAiV2ViR1BVU3RvcmFnZVRleHR1cmVBY2Nlc3MuaCIKQEAgLTE2Niw2ICsxNjcs
MTYgQEAgV0dQVUNvbXBpbGF0aW9uTWVzc2FnZVR5cGUgQ29udmVydFRvQmFja2luZ0NvbnRleHQ6
OmNvbnZlcnRUb0JhY2tpbmcoQ29tcGlsYXRpb24KICAgICB9CiB9CiAKK1dHUFVDb21wdXRlUGFz
c1RpbWVzdGFtcExvY2F0aW9uIENvbnZlcnRUb0JhY2tpbmdDb250ZXh0Ojpjb252ZXJ0VG9CYWNr
aW5nKENvbXB1dGVQYXNzVGltZXN0YW1wTG9jYXRpb24gY29tcHV0ZVBhc3NUaW1lc3RhbXBMb2Nh
dGlvbikKK3sKKyAgICBzd2l0Y2ggKGNvbXB1dGVQYXNzVGltZXN0YW1wTG9jYXRpb24pIHsKKyAg
ICBjYXNlIENvbXB1dGVQYXNzVGltZXN0YW1wTG9jYXRpb246OkJlZ2lubmluZzoKKyAgICAgICAg
cmV0dXJuIFdHUFVDb21wdXRlUGFzc1RpbWVzdGFtcExvY2F0aW9uX0JlZ2lubmluZzsKKyAgICBj
YXNlIENvbXB1dGVQYXNzVGltZXN0YW1wTG9jYXRpb246OkVuZDoKKyAgICAgICAgcmV0dXJuIFdH
UFVDb21wdXRlUGFzc1RpbWVzdGFtcExvY2F0aW9uX0VuZDsKKyAgICB9Cit9CisKIFdHUFVDdWxs
TW9kZSBDb252ZXJ0VG9CYWNraW5nQ29udGV4dDo6Y29udmVydFRvQmFja2luZyhDdWxsTW9kZSBj
dWxsTW9kZSkKIHsKICAgICBzd2l0Y2ggKGN1bGxNb2RlKSB7CkBAIC0xOTcsOCArMjA4LDYgQEAg
V0dQVUZlYXR1cmVOYW1lIENvbnZlcnRUb0JhY2tpbmdDb250ZXh0Ojpjb252ZXJ0VG9CYWNraW5n
KEZlYXR1cmVOYW1lIGZlYXR1cmVOYW0KICAgICAgICAgcmV0dXJuIFdHUFVGZWF0dXJlTmFtZV9E
ZXB0aDI0VW5vcm1TdGVuY2lsODsKICAgICBjYXNlIEZlYXR1cmVOYW1lOjpEZXB0aDMyZmxvYXRT
dGVuY2lsODoKICAgICAgICAgcmV0dXJuIFdHUFVGZWF0dXJlTmFtZV9EZXB0aDMyRmxvYXRTdGVu
Y2lsODsKLSAgICBjYXNlIEZlYXR1cmVOYW1lOjpQaXBlbGluZVN0YXRpc3RpY3NRdWVyeToKLSAg
ICAgICAgcmV0dXJuIFdHUFVGZWF0dXJlTmFtZV9QaXBlbGluZVN0YXRpc3RpY3NRdWVyeTsKICAg
ICBjYXNlIEZlYXR1cmVOYW1lOjpUZXh0dXJlQ29tcHJlc3Npb25CYzoKICAgICAgICAgcmV0dXJu
IFdHUFVGZWF0dXJlTmFtZV9UZXh0dXJlQ29tcHJlc3Npb25CQzsKICAgICBjYXNlIEZlYXR1cmVO
YW1lOjpUZXh0dXJlQ29tcHJlc3Npb25FdGMyOgpAQCAtMjQ3LDIyICsyNTYsOCBAQCBXR1BVTG9h
ZE9wIENvbnZlcnRUb0JhY2tpbmdDb250ZXh0Ojpjb252ZXJ0VG9CYWNraW5nKExvYWRPcCBsb2Fk
T3ApCiAgICAgc3dpdGNoIChsb2FkT3ApIHsKICAgICBjYXNlIExvYWRPcDo6TG9hZDoKICAgICAg
ICAgcmV0dXJuIFdHUFVMb2FkT3BfTG9hZDsKLSAgICB9Ci19Ci0KLVdHUFVQaXBlbGluZVN0YXRp
c3RpY05hbWUgQ29udmVydFRvQmFja2luZ0NvbnRleHQ6OmNvbnZlcnRUb0JhY2tpbmcoUGlwZWxp
bmVTdGF0aXN0aWNOYW1lIHBpcGVsaW5lU3RhdGlzdGljTmFtZSkKLXsKLSAgICBzd2l0Y2ggKHBp
cGVsaW5lU3RhdGlzdGljTmFtZSkgewotICAgIGNhc2UgUGlwZWxpbmVTdGF0aXN0aWNOYW1lOjpW
ZXJ0ZXhTaGFkZXJJbnZvY2F0aW9uczoKLSAgICAgICAgcmV0dXJuIFdHUFVQaXBlbGluZVN0YXRp
c3RpY05hbWVfVmVydGV4U2hhZGVySW52b2NhdGlvbnM7Ci0gICAgY2FzZSBQaXBlbGluZVN0YXRp
c3RpY05hbWU6OkNsaXBwZXJJbnZvY2F0aW9uczoKLSAgICAgICAgcmV0dXJuIFdHUFVQaXBlbGlu
ZVN0YXRpc3RpY05hbWVfQ2xpcHBlckludm9jYXRpb25zOwotICAgIGNhc2UgUGlwZWxpbmVTdGF0
aXN0aWNOYW1lOjpDbGlwcGVyUHJpbWl0aXZlc091dDoKLSAgICAgICAgcmV0dXJuIFdHUFVQaXBl
bGluZVN0YXRpc3RpY05hbWVfQ2xpcHBlclByaW1pdGl2ZXNPdXQ7Ci0gICAgY2FzZSBQaXBlbGlu
ZVN0YXRpc3RpY05hbWU6OkZyYWdtZW50U2hhZGVySW52b2NhdGlvbnM6Ci0gICAgICAgIHJldHVy
biBXR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lX0ZyYWdtZW50U2hhZGVySW52b2NhdGlvbnM7Ci0g
ICAgY2FzZSBQaXBlbGluZVN0YXRpc3RpY05hbWU6OkNvbXB1dGVTaGFkZXJJbnZvY2F0aW9uczoK
LSAgICAgICAgcmV0dXJuIFdHUFVQaXBlbGluZVN0YXRpc3RpY05hbWVfQ29tcHV0ZVNoYWRlcklu
dm9jYXRpb25zOworICAgIGNhc2UgTG9hZE9wOjpDbGVhcjoKKyAgICAgICAgcmV0dXJuIFdHUFVM
b2FkT3BfQ2xlYXI7CiAgICAgfQogfQogCkBAIC0yOTcsMTMgKzI5MiwyMSBAQCBXR1BVUXVlcnlU
eXBlIENvbnZlcnRUb0JhY2tpbmdDb250ZXh0Ojpjb252ZXJ0VG9CYWNraW5nKFF1ZXJ5VHlwZSBx
dWVyeVR5cGUpCiAgICAgc3dpdGNoIChxdWVyeVR5cGUpIHsKICAgICBjYXNlIFF1ZXJ5VHlwZTo6
T2NjbHVzaW9uOgogICAgICAgICByZXR1cm4gV0dQVVF1ZXJ5VHlwZV9PY2NsdXNpb247Ci0gICAg
Y2FzZSBRdWVyeVR5cGU6OlBpcGVsaW5lU3RhdGlzdGljczoKLSAgICAgICAgcmV0dXJuIFdHUFVR
dWVyeVR5cGVfUGlwZWxpbmVTdGF0aXN0aWNzOwogICAgIGNhc2UgUXVlcnlUeXBlOjpUaW1lc3Rh
bXA6CiAgICAgICAgIHJldHVybiBXR1BVUXVlcnlUeXBlX1RpbWVzdGFtcDsKICAgICB9CiB9CiAK
K1dHUFVSZW5kZXJQYXNzVGltZXN0YW1wTG9jYXRpb24gQ29udmVydFRvQmFja2luZ0NvbnRleHQ6
OmNvbnZlcnRUb0JhY2tpbmcoUmVuZGVyUGFzc1RpbWVzdGFtcExvY2F0aW9uIHJlbmRlclBhc3NU
aW1lc3RhbXBMb2NhdGlvbikKK3sKKyAgICBzd2l0Y2ggKHJlbmRlclBhc3NUaW1lc3RhbXBMb2Nh
dGlvbikgeworICAgIGNhc2UgUmVuZGVyUGFzc1RpbWVzdGFtcExvY2F0aW9uOjpCZWdpbm5pbmc6
CisgICAgICAgIHJldHVybiBXR1BVUmVuZGVyUGFzc1RpbWVzdGFtcExvY2F0aW9uX0JlZ2lubmlu
ZzsKKyAgICBjYXNlIFJlbmRlclBhc3NUaW1lc3RhbXBMb2NhdGlvbjo6RW5kOgorICAgICAgICBy
ZXR1cm4gV0dQVVJlbmRlclBhc3NUaW1lc3RhbXBMb2NhdGlvbl9FbmQ7CisgICAgfQorfQorCiBX
R1BVU2FtcGxlckJpbmRpbmdUeXBlIENvbnZlcnRUb0JhY2tpbmdDb250ZXh0Ojpjb252ZXJ0VG9C
YWNraW5nKFNhbXBsZXJCaW5kaW5nVHlwZSBzYW1wbGVyQmluZGluZ1R5cGUpCiB7CiAgICAgc3dp
dGNoIChzYW1wbGVyQmluZGluZ1R5cGUpIHsKQEAgLTQ5NiwxMSArNDk5LDExIEBAIFdHUFVUZXh0
dXJlRm9ybWF0IENvbnZlcnRUb0JhY2tpbmdDb250ZXh0Ojpjb252ZXJ0VG9CYWNraW5nKFRleHR1
cmVGb3JtYXQgdGV4dHVyCiAgICAgY2FzZSBUZXh0dXJlRm9ybWF0OjpFdGMyUmdiOHVub3JtOgog
ICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8V0dQVVRleHR1cmVGb3JtYXQ+KFdHUFVUZXh0dXJl
Rm9ybWF0X0VUQzJSR0I4VW5vcm0pOwogICAgIGNhc2UgVGV4dHVyZUZvcm1hdDo6RXRjMlJnYjh1
bm9ybVNSR0I6Ci0gICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxXR1BVVGV4dHVyZUZvcm1hdD4o
V0dQVVRleHR1cmVGb3JtYXRfRVRDMlJHQjh1bm9ybVNyZ2IpOworICAgICAgICByZXR1cm4gc3Rh
dGljX2Nhc3Q8V0dQVVRleHR1cmVGb3JtYXQ+KFdHUFVUZXh0dXJlRm9ybWF0X0VUQzJSR0I4VW5v
cm1TcmdiKTsKICAgICBjYXNlIFRleHR1cmVGb3JtYXQ6OkV0YzJSZ2I4YTF1bm9ybToKLSAgICAg
ICAgcmV0dXJuIHN0YXRpY19jYXN0PFdHUFVUZXh0dXJlRm9ybWF0PihXR1BVVGV4dHVyZUZvcm1h
dF9FVEMyUkdCOGExVW5vcm0pOworICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8V0dQVVRleHR1
cmVGb3JtYXQ+KFdHUFVUZXh0dXJlRm9ybWF0X0VUQzJSR0I4QTFVbm9ybSk7CiAgICAgY2FzZSBU
ZXh0dXJlRm9ybWF0OjpFdGMyUmdiOGExdW5vcm1TUkdCOgotICAgICAgICByZXR1cm4gc3RhdGlj
X2Nhc3Q8V0dQVVRleHR1cmVGb3JtYXQ+KFdHUFVUZXh0dXJlRm9ybWF0X0VUQzJSR0I4YTF1bm9y
bVNyZ2IpOworICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8V0dQVVRleHR1cmVGb3JtYXQ+KFdH
UFVUZXh0dXJlRm9ybWF0X0VUQzJSR0I4QTFVbm9ybVNyZ2IpOwogICAgIGNhc2UgVGV4dHVyZUZv
cm1hdDo6RXRjMlJnYmE4dW5vcm06CiAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxXR1BVVGV4
dHVyZUZvcm1hdD4oV0dQVVRleHR1cmVGb3JtYXRfRVRDMlJHQkE4VW5vcm0pOwogICAgIGNhc2Ug
VGV4dHVyZUZvcm1hdDo6RXRjMlJnYmE4dW5vcm1TUkdCOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9XZWJHUFVDb252ZXJ0VG9CYWNraW5n
Q29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9X
ZWJHUFVDb252ZXJ0VG9CYWNraW5nQ29udGV4dC5oCmluZGV4IDA5M2Q4MzNjNGUzYWYwMDM0YzI4
ZWY5NGZmMTk2ZjgzOWFkYTQwMjcuLjc1ODUwOGJkMjM1YzhmMjRjYzhkNzQzZjc4YzIyYzVjMzU4
YWQ0MDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BV
L0ltcGwvV2ViR1BVQ29udmVydFRvQmFja2luZ0NvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVUNvbnZlcnRUb0JhY2tpbmdDb250
ZXh0LmgKQEAgLTU0LDYgKzU0LDcgQEAgY2xhc3MgQ29tbWFuZEJ1ZmZlcjsKIGNsYXNzIENvbW1h
bmRFbmNvZGVyOwogZW51bSBjbGFzcyBDb21wYXJlRnVuY3Rpb24gOiB1aW50OF90OwogZW51bSBj
bGFzcyBDb21waWxhdGlvbk1lc3NhZ2VUeXBlIDogdWludDhfdDsKK2VudW0gY2xhc3MgQ29tcHV0
ZVBhc3NUaW1lc3RhbXBMb2NhdGlvbiA6IHVpbnQ4X3Q7CiBjbGFzcyBDb21wdXRlUGFzc0VuY29k
ZXI7CiBjbGFzcyBDb21wdXRlUGlwZWxpbmU7CiBlbnVtIGNsYXNzIEN1bGxNb2RlIDogdWludDhf
dDsKQEAgLTY2LDcgKzY3LDYgQEAgY2xhc3MgR1BVOwogZW51bSBjbGFzcyBJbmRleEZvcm1hdCA6
IHVpbnQ4X3Q7CiBlbnVtIGNsYXNzIExvYWRPcCA6IHVpbnQ4X3Q7CiBjbGFzcyBQaXBlbGluZUxh
eW91dDsKLWVudW0gY2xhc3MgUGlwZWxpbmVTdGF0aXN0aWNOYW1lIDogdWludDhfdDsKIGVudW0g
Y2xhc3MgUG93ZXJQcmVmZXJlbmNlIDogdWludDhfdDsKIGVudW0gY2xhc3MgUHJpbWl0aXZlVG9w
b2xvZ3kgOiB1aW50OF90OwogY2xhc3MgUXVlcnlTZXQ7CkBAIC03NSw2ICs3NSw3IEBAIGNsYXNz
IFF1ZXVlOwogY2xhc3MgUmVuZGVyQnVuZGxlRW5jb2RlcjsKIGNsYXNzIFJlbmRlckJ1bmRsZTsK
IGNsYXNzIFJlbmRlclBhc3NFbmNvZGVyOworZW51bSBjbGFzcyBSZW5kZXJQYXNzVGltZXN0YW1w
TG9jYXRpb24gOiB1aW50OF90OwogY2xhc3MgUmVuZGVyUGlwZWxpbmU7CiBjbGFzcyBTYW1wbGVy
OwogZW51bSBjbGFzcyBTYW1wbGVyQmluZGluZ1R5cGUgOiB1aW50OF90OwpAQCAtMTAzLDYgKzEw
NCw3IEBAIHB1YmxpYzoKICAgICBXR1BVQnVmZmVyQmluZGluZ1R5cGUgY29udmVydFRvQmFja2lu
ZyhCdWZmZXJCaW5kaW5nVHlwZSk7CiAgICAgV0dQVUNvbXBhcmVGdW5jdGlvbiBjb252ZXJ0VG9C
YWNraW5nKENvbXBhcmVGdW5jdGlvbik7CiAgICAgV0dQVUNvbXBpbGF0aW9uTWVzc2FnZVR5cGUg
Y29udmVydFRvQmFja2luZyhDb21waWxhdGlvbk1lc3NhZ2VUeXBlKTsKKyAgICBXR1BVQ29tcHV0
ZVBhc3NUaW1lc3RhbXBMb2NhdGlvbiBjb252ZXJ0VG9CYWNraW5nKENvbXB1dGVQYXNzVGltZXN0
YW1wTG9jYXRpb24pOwogICAgIFdHUFVDdWxsTW9kZSBjb252ZXJ0VG9CYWNraW5nKEN1bGxNb2Rl
KTsKICAgICBXR1BVRXJyb3JGaWx0ZXIgY29udmVydFRvQmFja2luZyhFcnJvckZpbHRlcik7CiAg
ICAgV0dQVUZlYXR1cmVOYW1lIGNvbnZlcnRUb0JhY2tpbmcoRmVhdHVyZU5hbWUpOwpAQCAtMTEw
LDEwICsxMTIsMTAgQEAgcHVibGljOgogICAgIFdHUFVGcm9udEZhY2UgY29udmVydFRvQmFja2lu
ZyhGcm9udEZhY2UpOwogICAgIFdHUFVJbmRleEZvcm1hdCBjb252ZXJ0VG9CYWNraW5nKEluZGV4
Rm9ybWF0KTsKICAgICBXR1BVTG9hZE9wIGNvbnZlcnRUb0JhY2tpbmcoTG9hZE9wKTsKLSAgICBX
R1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lIGNvbnZlcnRUb0JhY2tpbmcoUGlwZWxpbmVTdGF0aXN0
aWNOYW1lKTsKICAgICBXR1BVUG93ZXJQcmVmZXJlbmNlIGNvbnZlcnRUb0JhY2tpbmcoUG93ZXJQ
cmVmZXJlbmNlKTsKICAgICBXR1BVUHJpbWl0aXZlVG9wb2xvZ3kgY29udmVydFRvQmFja2luZyhQ
cmltaXRpdmVUb3BvbG9neSk7CiAgICAgV0dQVVF1ZXJ5VHlwZSBjb252ZXJ0VG9CYWNraW5nKFF1
ZXJ5VHlwZSk7CisgICAgV0dQVVJlbmRlclBhc3NUaW1lc3RhbXBMb2NhdGlvbiBjb252ZXJ0VG9C
YWNraW5nKFJlbmRlclBhc3NUaW1lc3RhbXBMb2NhdGlvbik7CiAgICAgV0dQVVNhbXBsZXJCaW5k
aW5nVHlwZSBjb252ZXJ0VG9CYWNraW5nKFNhbXBsZXJCaW5kaW5nVHlwZSk7CiAgICAgV0dQVVN0
ZW5jaWxPcGVyYXRpb24gY29udmVydFRvQmFja2luZyhTdGVuY2lsT3BlcmF0aW9uKTsKICAgICBX
R1BVU3RvcmFnZVRleHR1cmVBY2Nlc3MgY29udmVydFRvQmFja2luZyhTdG9yYWdlVGV4dHVyZUFj
Y2Vzcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQ
VS9JbXBsL1dlYkdQVURldmljZUltcGwuY3BwIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFw
aGljcy9XZWJHUFUvSW1wbC9XZWJHUFVEZXZpY2VJbXBsLmNwcAppbmRleCBiM2Y1NTVkYjMxNzg1
ZTJkYjZkNjQxNmMyZjkyOTZlZjQyNDBkODNiLi5iOWRhNGU2YzBjOTcxYWZlYWYyZjZjMTA1NGIy
ZmYzYWNmY2RmOGU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNz
L1dlYkdQVS9JbXBsL1dlYkdQVURldmljZUltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BB
TC9wYWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwvV2ViR1BVRGV2aWNlSW1wbC5jcHAKQEAgLTk5LDgg
Kzk5LDIxIEBAIFJlZjxUZXh0dXJlPiBEZXZpY2VJbXBsOjpjcmVhdGVUZXh0dXJlKGNvbnN0IFRl
eHR1cmVEZXNjcmlwdG9yJiBkZXNjcmlwdG9yKQogCiAgICAgYXV0byBsYWJlbCA9IGRlc2NyaXB0
b3IubGFiZWwudXRmOCgpOwogCisgICAgYXV0byBiYWNraW5nVGV4dHVyZUZvcm1hdHMgPSBkZXNj
cmlwdG9yLnZpZXdGb3JtYXRzLm1hcChbJl0gKFRleHR1cmVGb3JtYXQgdGV4dHVyZUZvcm1hdCkg
eworICAgICAgICByZXR1cm4gbV9jb252ZXJ0VG9CYWNraW5nQ29udGV4dC0+Y29udmVydFRvQmFj
a2luZyh0ZXh0dXJlRm9ybWF0KTsKKyAgICB9KTsKKworICAgIFdHUFVUZXh0dXJlRGVzY3JpcHRv
clZpZXdGb3JtYXRzIGJhY2tpbmdWaWV3Rm9ybWF0cyB7CisgICAgICAgIHsKKyAgICAgICAgICAg
IG51bGxwdHIsCisgICAgICAgICAgICBzdGF0aWNfY2FzdDxXR1BVU1R5cGU+KFdHUFVTVHlwZUV4
dGVuZGVkX1RleHR1cmVEZXNjcmlwdG9yVmlld0Zvcm1hdHMpLAorICAgICAgICB9LAorICAgICAg
ICBzdGF0aWNfY2FzdDx1aW50MzJfdD4oYmFja2luZ1RleHR1cmVGb3JtYXRzLnNpemUoKSksCisg
ICAgICAgIGJhY2tpbmdUZXh0dXJlRm9ybWF0cy5kYXRhKCksCisgICAgfTsKKwogICAgIFdHUFVU
ZXh0dXJlRGVzY3JpcHRvciBiYWNraW5nRGVzY3JpcHRvciB7Ci0gICAgICAgIG51bGxwdHIsCisg
ICAgICAgICZiYWNraW5nVmlld0Zvcm1hdHMuY2hhaW4sCiAgICAgICAgIGxhYmVsLmRhdGEoKSwK
ICAgICAgICAgbV9jb252ZXJ0VG9CYWNraW5nQ29udGV4dC0+Y29udmVydFRleHR1cmVVc2FnZUZs
YWdzVG9CYWNraW5nKGRlc2NyaXB0b3IudXNhZ2UpLAogICAgICAgICBtX2NvbnZlcnRUb0JhY2tp
bmdDb250ZXh0LT5jb252ZXJ0VG9CYWNraW5nKGRlc2NyaXB0b3IuZGltZW5zaW9uKSwKQEAgLTIz
MSw5ICsyNDQsMzQgQEAgUmVmPFNoYWRlck1vZHVsZT4gRGV2aWNlSW1wbDo6Y3JlYXRlU2hhZGVy
TW9kdWxlKGNvbnN0IFNoYWRlck1vZHVsZURlc2NyaXB0b3ImIGQKIAogICAgIGF1dG8gc291cmNl
ID0gZGVzY3JpcHRvci5jb2RlLnV0ZjgoKTsKIAotICAgIFdHUFVTaGFkZXJNb2R1bGVXR1NMRGVz
Y3JpcHRvciBiYWNraW5nV0dTTERlc2NyaXB0b3IgeworICAgIGF1dG8gZW50cnlQb2ludHMgPSBk
ZXNjcmlwdG9yLmhpbnRzLm1hcChbXSAoY29uc3QgYXV0byYgaGludCkgeworICAgICAgICByZXR1
cm4gaGludC5rZXkudXRmOCgpOworICAgIH0pOworCisgICAgVmVjdG9yPFdHUFVTaGFkZXJNb2R1
bGVDb21waWxhdGlvbkhpbnRFbnRyeT4gaGludHNFbnRyaWVzOworICAgIGhpbnRzRW50cmllcy5y
ZXNlcnZlSW5pdGlhbENhcGFjaXR5KGRlc2NyaXB0b3IuaGludHMuc2l6ZSgpKTsKKyAgICBmb3Ig
KHNpemVfdCBpID0gMDsgaSA8IGRlc2NyaXB0b3IuaGludHMuc2l6ZSgpOyArK2kpIHsKKyAgICAg
ICAgY29uc3QgYXV0byYgaGludCA9IGRlc2NyaXB0b3IuaGludHNbaV0udmFsdWU7CisgICAgICAg
IGhpbnRzRW50cmllcy5hcHBlbmQoV0dQVVNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludEVudHJ5
IHsKKyAgICAgICAgICAgIG51bGxwdHIsCisgICAgICAgICAgICBlbnRyeVBvaW50c1tpXS5kYXRh
KCksIHsKKyAgICAgICAgICAgICAgICBtX2NvbnZlcnRUb0JhY2tpbmdDb250ZXh0LT5jb252ZXJ0
VG9CYWNraW5nKGhpbnQucGlwZWxpbmVMYXlvdXQpLAorICAgICAgICAgICAgfSwKKyAgICAgICAg
fSk7CisgICAgfQorCisgICAgV0dQVVNoYWRlck1vZHVsZURlc2NyaXB0b3JIaW50cyBiYWNraW5n
U2hhZGVyTW9kdWxlSGludHMgewogICAgICAgICB7CiAgICAgICAgICAgICBudWxscHRyLAorICAg
ICAgICAgICAgc3RhdGljX2Nhc3Q8V0dQVVNUeXBlPihXR1BVU1R5cGVFeHRlbmRlZF9TaGFkZXJN
b2R1bGVEZXNjcmlwdG9ySGludHMpLAorICAgICAgICB9LAorICAgICAgICBzdGF0aWNfY2FzdDx1
aW50MzJfdD4oaGludHNFbnRyaWVzLnNpemUoKSksCisgICAgICAgIGhpbnRzRW50cmllcy5kYXRh
KCksCisgICAgfTsKKworICAgIFdHUFVTaGFkZXJNb2R1bGVXR1NMRGVzY3JpcHRvciBiYWNraW5n
V0dTTERlc2NyaXB0b3IgeworICAgICAgICB7CisgICAgICAgICAgICAmYmFja2luZ1NoYWRlck1v
ZHVsZUhpbnRzLmNoYWluLAogICAgICAgICAgICAgV0dQVVNUeXBlX1NoYWRlck1vZHVsZVdHU0xE
ZXNjcmlwdG9yLAogICAgICAgICB9LAogICAgICAgICBzb3VyY2UuZGF0YSgpLApAQCAtMjQ4LDcg
KzI4Niw3IEBAIFJlZjxTaGFkZXJNb2R1bGU+IERldmljZUltcGw6OmNyZWF0ZVNoYWRlck1vZHVs
ZShjb25zdCBTaGFkZXJNb2R1bGVEZXNjcmlwdG9yJiBkCiB9CiAKIHRlbXBsYXRlIDx0eXBlbmFt
ZSBUPgotYXV0byBjb252ZXJ0VG9CYWNraW5nKGNvbnN0IENvbXB1dGVQaXBlbGluZURlc2NyaXB0
b3ImIGRlc2NyaXB0b3IsIENvbnZlcnRUb0JhY2tpbmdDb250ZXh0JiBjb252ZXJ0VG9CYWNraW5n
Q29udGV4dCwgVCYmIGNhbGxiYWNrKQorc3RhdGljIGF1dG8gY29udmVydFRvQmFja2luZyhjb25z
dCBDb21wdXRlUGlwZWxpbmVEZXNjcmlwdG9yJiBkZXNjcmlwdG9yLCBDb252ZXJ0VG9CYWNraW5n
Q29udGV4dCYgY29udmVydFRvQmFja2luZ0NvbnRleHQsIFQmJiBjYWxsYmFjaykKIHsKICAgICBh
dXRvIGxhYmVsID0gZGVzY3JpcHRvci5sYWJlbC51dGY4KCk7CiAKQEAgLTI5Miw3ICszMzAsNyBA
QCBSZWY8Q29tcHV0ZVBpcGVsaW5lPiBEZXZpY2VJbXBsOjpjcmVhdGVDb21wdXRlUGlwZWxpbmUo
Y29uc3QgQ29tcHV0ZVBpcGVsaW5lRGVzYwogfQogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KLWF1
dG8gY29udmVydFRvQmFja2luZyhjb25zdCBSZW5kZXJQaXBlbGluZURlc2NyaXB0b3ImIGRlc2Ny
aXB0b3IsIENvbnZlcnRUb0JhY2tpbmdDb250ZXh0JiBjb252ZXJ0VG9CYWNraW5nQ29udGV4dCwg
VCYmIGNhbGxiYWNrKQorc3RhdGljIGF1dG8gY29udmVydFRvQmFja2luZyhjb25zdCBSZW5kZXJQ
aXBlbGluZURlc2NyaXB0b3ImIGRlc2NyaXB0b3IsIENvbnZlcnRUb0JhY2tpbmdDb250ZXh0JiBj
b252ZXJ0VG9CYWNraW5nQ29udGV4dCwgVCYmIGNhbGxiYWNrKQogewogICAgIGF1dG8gbGFiZWwg
PSBkZXNjcmlwdG9yLmxhYmVsLnV0ZjgoKTsKIApAQCAtMzg1LDE2ICs0MjMsMTYgQEAgYXV0byBj
b252ZXJ0VG9CYWNraW5nKGNvbnN0IFJlbmRlclBpcGVsaW5lRGVzY3JpcHRvciYgZGVzY3JpcHRv
ciwgQ29udmVydFRvQmFja2kKICAgICBWZWN0b3I8c3RkOjpvcHRpb25hbDxXR1BVQmxlbmRTdGF0
ZT4+IGJsZW5kU3RhdGVzOwogICAgIGlmIChkZXNjcmlwdG9yLmZyYWdtZW50KSB7CiAgICAgICAg
IGJsZW5kU3RhdGVzID0gZGVzY3JpcHRvci5mcmFnbWVudC0+dGFyZ2V0cy5tYXAoWyZjb252ZXJ0
VG9CYWNraW5nQ29udGV4dF0gKGNvbnN0IGF1dG8mIHRhcmdldCkgLT4gc3RkOjpvcHRpb25hbDxX
R1BVQmxlbmRTdGF0ZT4gewotICAgICAgICAgICAgaWYgKHRhcmdldC5ibGVuZCkgeworICAgICAg
ICAgICAgaWYgKHRhcmdldCAmJiB0YXJnZXQtPmJsZW5kKSB7CiAgICAgICAgICAgICAgICAgcmV0
dXJuIFdHUFVCbGVuZFN0YXRlIHsKICAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgICAgICAgICAgY29udmVydFRvQmFja2luZ0NvbnRleHQuY29udmVydFRvQmFja2luZyh0YXJn
ZXQuYmxlbmQtPmNvbG9yLm9wZXJhdGlvbiksCi0gICAgICAgICAgICAgICAgICAgICAgICBjb252
ZXJ0VG9CYWNraW5nQ29udGV4dC5jb252ZXJ0VG9CYWNraW5nKHRhcmdldC5ibGVuZC0+Y29sb3Iu
c3JjRmFjdG9yKSwKLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnZlcnRUb0JhY2tpbmdDb250
ZXh0LmNvbnZlcnRUb0JhY2tpbmcodGFyZ2V0LmJsZW5kLT5jb2xvci5kc3RGYWN0b3IpLAorICAg
ICAgICAgICAgICAgICAgICAgICAgY29udmVydFRvQmFja2luZ0NvbnRleHQuY29udmVydFRvQmFj
a2luZyh0YXJnZXQtPmJsZW5kLT5jb2xvci5vcGVyYXRpb24pLAorICAgICAgICAgICAgICAgICAg
ICAgICAgY29udmVydFRvQmFja2luZ0NvbnRleHQuY29udmVydFRvQmFja2luZyh0YXJnZXQtPmJs
ZW5kLT5jb2xvci5zcmNGYWN0b3IpLAorICAgICAgICAgICAgICAgICAgICAgICAgY29udmVydFRv
QmFja2luZ0NvbnRleHQuY29udmVydFRvQmFja2luZyh0YXJnZXQtPmJsZW5kLT5jb2xvci5kc3RG
YWN0b3IpLAogICAgICAgICAgICAgICAgICAgICB9LCB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICBjb252ZXJ0VG9CYWNraW5nQ29udGV4dC5jb252ZXJ0VG9CYWNraW5nKHRhcmdldC5ibGVuZC0+
YWxwaGEub3BlcmF0aW9uKSwKLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnZlcnRUb0JhY2tp
bmdDb250ZXh0LmNvbnZlcnRUb0JhY2tpbmcodGFyZ2V0LmJsZW5kLT5hbHBoYS5zcmNGYWN0b3Ip
LAotICAgICAgICAgICAgICAgICAgICAgICAgY29udmVydFRvQmFja2luZ0NvbnRleHQuY29udmVy
dFRvQmFja2luZyh0YXJnZXQuYmxlbmQtPmFscGhhLmRzdEZhY3RvciksCisgICAgICAgICAgICAg
ICAgICAgICAgICBjb252ZXJ0VG9CYWNraW5nQ29udGV4dC5jb252ZXJ0VG9CYWNraW5nKHRhcmdl
dC0+YmxlbmQtPmFscGhhLm9wZXJhdGlvbiksCisgICAgICAgICAgICAgICAgICAgICAgICBjb252
ZXJ0VG9CYWNraW5nQ29udGV4dC5jb252ZXJ0VG9CYWNraW5nKHRhcmdldC0+YmxlbmQtPmFscGhh
LnNyY0ZhY3RvciksCisgICAgICAgICAgICAgICAgICAgICAgICBjb252ZXJ0VG9CYWNraW5nQ29u
dGV4dC5jb252ZXJ0VG9CYWNraW5nKHRhcmdldC0+YmxlbmQtPmFscGhhLmRzdEZhY3RvciksCiAg
ICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICAgfSBl
bHNlCkBAIC00MDYsMTMgKzQ0NCwyMSBAQCBhdXRvIGNvbnZlcnRUb0JhY2tpbmcoY29uc3QgUmVu
ZGVyUGlwZWxpbmVEZXNjcmlwdG9yJiBkZXNjcmlwdG9yLCBDb252ZXJ0VG9CYWNraQogICAgIGlm
IChkZXNjcmlwdG9yLmZyYWdtZW50KSB7CiAgICAgICAgIGNvbG9yVGFyZ2V0cy5yZXNlcnZlSW5p
dGlhbENhcGFjaXR5KGRlc2NyaXB0b3IuZnJhZ21lbnQtPnRhcmdldHMuc2l6ZSgpKTsKICAgICAg
ICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBkZXNjcmlwdG9yLmZyYWdtZW50LT50YXJnZXRzLnNp
emUoKTsgKytpKSB7Ci0gICAgICAgICAgICBjb25zdCBhdXRvJiB0YXJnZXQgPSBkZXNjcmlwdG9y
LmZyYWdtZW50LT50YXJnZXRzW2ldOwotICAgICAgICAgICAgY29sb3JUYXJnZXRzLnVuY2hlY2tl
ZEFwcGVuZChXR1BVQ29sb3JUYXJnZXRTdGF0ZSB7Ci0gICAgICAgICAgICAgICAgbnVsbHB0ciwK
LSAgICAgICAgICAgICAgICBjb252ZXJ0VG9CYWNraW5nQ29udGV4dC5jb252ZXJ0VG9CYWNraW5n
KHRhcmdldC5mb3JtYXQpLAotICAgICAgICAgICAgICAgIGJsZW5kU3RhdGVzW2ldID8gJipibGVu
ZFN0YXRlc1tpXSA6IG51bGxwdHIsCi0gICAgICAgICAgICAgICAgY29udmVydFRvQmFja2luZ0Nv
bnRleHQuY29udmVydENvbG9yV3JpdGVGbGFnc1RvQmFja2luZyh0YXJnZXQud3JpdGVNYXNrKSwK
LSAgICAgICAgICAgIH0pOworICAgICAgICAgICAgaWYgKGNvbnN0IGF1dG8mIHRhcmdldCA9IGRl
c2NyaXB0b3IuZnJhZ21lbnQtPnRhcmdldHNbaV0pIHsKKyAgICAgICAgICAgICAgICBjb2xvclRh
cmdldHMudW5jaGVja2VkQXBwZW5kKFdHUFVDb2xvclRhcmdldFN0YXRlIHsKKyAgICAgICAgICAg
ICAgICAgICAgbnVsbHB0ciwKKyAgICAgICAgICAgICAgICAgICAgY29udmVydFRvQmFja2luZ0Nv
bnRleHQuY29udmVydFRvQmFja2luZyh0YXJnZXQtPmZvcm1hdCksCisgICAgICAgICAgICAgICAg
ICAgIGJsZW5kU3RhdGVzW2ldID8gJipibGVuZFN0YXRlc1tpXSA6IG51bGxwdHIsCisgICAgICAg
ICAgICAgICAgICAgIGNvbnZlcnRUb0JhY2tpbmdDb250ZXh0LmNvbnZlcnRDb2xvcldyaXRlRmxh
Z3NUb0JhY2tpbmcodGFyZ2V0LT53cml0ZU1hc2spLAorICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBjb2xvclRhcmdldHMudW5jaGVja2Vk
QXBwZW5kKFdHUFVDb2xvclRhcmdldFN0YXRlIHsKKyAgICAgICAgICAgICAgICAgICAgbnVsbHB0
ciwKKyAgICAgICAgICAgICAgICAgICAgV0dQVVRleHR1cmVGb3JtYXRfVW5kZWZpbmVkLAorICAg
ICAgICAgICAgICAgICAgICBudWxscHRyLAorICAgICAgICAgICAgICAgICAgICBXR1BVTWFwTW9k
ZV9Ob25lLAorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfQogICAgICAgICB9CiAg
ICAgfQogCkBAIC01MjgsNyArNTc0LDcgQEAgUmVmPFJlbmRlckJ1bmRsZUVuY29kZXI+IERldmlj
ZUltcGw6OmNyZWF0ZVJlbmRlckJ1bmRsZUVuY29kZXIoY29uc3QgUmVuZGVyQnVuZGwKICAgICBh
dXRvIGxhYmVsID0gZGVzY3JpcHRvci5sYWJlbC51dGY4KCk7CiAKICAgICBhdXRvIGJhY2tpbmdD
b2xvckZvcm1hdHMgPSBkZXNjcmlwdG9yLmNvbG9yRm9ybWF0cy5tYXAoW3RoaXNdIChhdXRvIGNv
bG9yRm9ybWF0KSB7Ci0gICAgICAgIHJldHVybiBtX2NvbnZlcnRUb0JhY2tpbmdDb250ZXh0LT5j
b252ZXJ0VG9CYWNraW5nKGNvbG9yRm9ybWF0KTsKKyAgICAgICAgcmV0dXJuIGNvbG9yRm9ybWF0
ID8gbV9jb252ZXJ0VG9CYWNraW5nQ29udGV4dC0+Y29udmVydFRvQmFja2luZygqY29sb3JGb3Jt
YXQpIDogV0dQVVRleHR1cmVGb3JtYXRfVW5kZWZpbmVkOwogICAgIH0pOwogCiAgICAgV0dQVVJl
bmRlckJ1bmRsZUVuY29kZXJEZXNjcmlwdG9yIGJhY2tpbmdEZXNjcmlwdG9yIHsKQEAgLTUzOCw2
ICs1ODQsOCBAQCBSZWY8UmVuZGVyQnVuZGxlRW5jb2Rlcj4gRGV2aWNlSW1wbDo6Y3JlYXRlUmVu
ZGVyQnVuZGxlRW5jb2Rlcihjb25zdCBSZW5kZXJCdW5kbAogICAgICAgICBiYWNraW5nQ29sb3JG
b3JtYXRzLmRhdGEoKSwKICAgICAgICAgZGVzY3JpcHRvci5kZXB0aFN0ZW5jaWxGb3JtYXQgPyBt
X2NvbnZlcnRUb0JhY2tpbmdDb250ZXh0LT5jb252ZXJ0VG9CYWNraW5nKCpkZXNjcmlwdG9yLmRl
cHRoU3RlbmNpbEZvcm1hdCkgOiBXR1BVVGV4dHVyZUZvcm1hdF9VbmRlZmluZWQsCiAgICAgICAg
IGRlc2NyaXB0b3Iuc2FtcGxlQ291bnQsCisgICAgICAgIGRlc2NyaXB0b3IuZGVwdGhSZWFkT25s
eSwKKyAgICAgICAgZGVzY3JpcHRvci5zdGVuY2lsUmVhZE9ubHksCiAgICAgfTsKIAogICAgIHJl
dHVybiBSZW5kZXJCdW5kbGVFbmNvZGVySW1wbDo6Y3JlYXRlKHdncHVEZXZpY2VDcmVhdGVSZW5k
ZXJCdW5kbGVFbmNvZGVyKG1fYmFja2luZywgJmJhY2tpbmdEZXNjcmlwdG9yKSwgbV9jb252ZXJ0
VG9CYWNraW5nQ29udGV4dCk7CkBAIC01NDcsMTcgKzU5NSwxMyBAQCBSZWY8UXVlcnlTZXQ+IERl
dmljZUltcGw6OmNyZWF0ZVF1ZXJ5U2V0KGNvbnN0IFF1ZXJ5U2V0RGVzY3JpcHRvciYgZGVzY3Jp
cHRvcikKIHsKICAgICBhdXRvIGxhYmVsID0gZGVzY3JpcHRvci5sYWJlbC51dGY4KCk7CiAKLSAg
ICBhdXRvIGJhY2tpbmdQaXBlbGluZVN0YXRpc3RpY3MgPSBkZXNjcmlwdG9yLnBpcGVsaW5lU3Rh
dGlzdGljcy5tYXAoW3RoaXNdIChhdXRvIHBpcGVsaW5lU3RhdGlzdGljKSB7Ci0gICAgICAgIHJl
dHVybiBtX2NvbnZlcnRUb0JhY2tpbmdDb250ZXh0LT5jb252ZXJ0VG9CYWNraW5nKHBpcGVsaW5l
U3RhdGlzdGljKTsKLSAgICB9KTsKLQogICAgIFdHUFVRdWVyeVNldERlc2NyaXB0b3IgYmFja2lu
Z0Rlc2NyaXB0b3IgewogICAgICAgICBudWxscHRyLAogICAgICAgICBsYWJlbC5kYXRhKCksCiAg
ICAgICAgIG1fY29udmVydFRvQmFja2luZ0NvbnRleHQtPmNvbnZlcnRUb0JhY2tpbmcoZGVzY3Jp
cHRvci50eXBlKSwKICAgICAgICAgZGVzY3JpcHRvci5jb3VudCwKLSAgICAgICAgYmFja2luZ1Bp
cGVsaW5lU3RhdGlzdGljcy5kYXRhKCksCi0gICAgICAgIHN0YXRpY19jYXN0PHVpbnQzMl90Pihi
YWNraW5nUGlwZWxpbmVTdGF0aXN0aWNzLnNpemUoKSksCisgICAgICAgIG51bGxwdHIsCisgICAg
ICAgIDAsCiAgICAgfTsKIAogICAgIHJldHVybiBRdWVyeVNldEltcGw6OmNyZWF0ZSh3Z3B1RGV2
aWNlQ3JlYXRlUXVlcnlTZXQobV9iYWNraW5nLCAmYmFja2luZ0Rlc2NyaXB0b3IpLCBtX2NvbnZl
cnRUb0JhY2tpbmdDb250ZXh0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwv
Z3JhcGhpY3MvV2ViR1BVL0ltcGwvV2ViR1BVSW1wbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9QQUwv
cGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVUltcGwuY3BwCmluZGV4IDU4MWQ5MjgwMTcy
OGM3MjQzMmU3MGI0M2RiYjFjYjk3NTBkOWYzZjIuLmU2YWY2OWRlNmNiOGU2ZjczZTk3NjU4MjQy
NGJlZTlkMjhlNTA2ZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhp
Y3MvV2ViR1BVL0ltcGwvV2ViR1BVSW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3Bh
bC9ncmFwaGljcy9XZWJHUFUvSW1wbC9XZWJHUFVJbXBsLmNwcApAQCAtNzYsNyArNzYsNyBAQCB2
b2lkIEdQVUltcGw6OnJlcXVlc3RBZGFwdGVyKGNvbnN0IFJlcXVlc3RBZGFwdGVyT3B0aW9ucyYg
b3B0aW9ucywgV1RGOjpGdW5jdGlvbgogICAgIFdHUFVSZXF1ZXN0QWRhcHRlck9wdGlvbnMgYmFj
a2luZ09wdGlvbnMgewogICAgICAgICBudWxscHRyLAogICAgICAgICBudWxscHRyLAotICAgICAg
ICBvcHRpb25zLnBvd2VyUHJlZmVyZW5jZSA/IG1fY29udmVydFRvQmFja2luZ0NvbnRleHQtPmNv
bnZlcnRUb0JhY2tpbmcoKm9wdGlvbnMucG93ZXJQcmVmZXJlbmNlKSA6IHN0YXRpY19jYXN0PFdH
UFVQb3dlclByZWZlcmVuY2U+KFdHUFVQb3dlclByZWZlcmVuY2VfTm9QcmVmZXJlbmNlKSwKKyAg
ICAgICAgb3B0aW9ucy5wb3dlclByZWZlcmVuY2UgPyBtX2NvbnZlcnRUb0JhY2tpbmdDb250ZXh0
LT5jb252ZXJ0VG9CYWNraW5nKCpvcHRpb25zLnBvd2VyUHJlZmVyZW5jZSkgOiBzdGF0aWNfY2Fz
dDxXR1BVUG93ZXJQcmVmZXJlbmNlPihXR1BVUG93ZXJQcmVmZXJlbmNlX1VuZGVmaW5lZCksCiAg
ICAgICAgIG9wdGlvbnMuZm9yY2VGYWxsYmFja0FkYXB0ZXIsCiAgICAgfTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9XZWJHUFVSZW5k
ZXJQYXNzRW5jb2RlckltcGwuY3BwIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9X
ZWJHUFUvSW1wbC9XZWJHUFVSZW5kZXJQYXNzRW5jb2RlckltcGwuY3BwCmluZGV4IGQyZmU1ZGY1
MjZjYzM2MGY3YTNlZDIzM2UzMmYzNGM5M2QxODY2MTYuLmY1Nzc0ZDdkYjRmYjhjMTRkYzEzZDUx
N2E5YmI4Nzk3Mjk5MTZjZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3Jh
cGhpY3MvV2ViR1BVL0ltcGwvV2ViR1BVUmVuZGVyUGFzc0VuY29kZXJJbXBsLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVVJlbmRlclBh
c3NFbmNvZGVySW1wbC5jcHAKQEAgLTE1NiwxNiArMTU2LDYgQEAgdm9pZCBSZW5kZXJQYXNzRW5j
b2RlckltcGw6OmVuZE9jY2x1c2lvblF1ZXJ5KCkKICAgICB3Z3B1UmVuZGVyUGFzc0VuY29kZXJF
bmRPY2NsdXNpb25RdWVyeShtX2JhY2tpbmcpOwogfQogCi12b2lkIFJlbmRlclBhc3NFbmNvZGVy
SW1wbDo6YmVnaW5QaXBlbGluZVN0YXRpc3RpY3NRdWVyeShjb25zdCBRdWVyeVNldCYgcXVlcnlT
ZXQsIFNpemUzMiBxdWVyeUluZGV4KQotewotICAgIHdncHVSZW5kZXJQYXNzRW5jb2RlckJlZ2lu
UGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkobV9iYWNraW5nLCBtX2NvbnZlcnRUb0JhY2tpbmdDb250
ZXh0LT5jb252ZXJ0VG9CYWNraW5nKHF1ZXJ5U2V0KSwgcXVlcnlJbmRleCk7Ci19Ci0KLXZvaWQg
UmVuZGVyUGFzc0VuY29kZXJJbXBsOjplbmRQaXBlbGluZVN0YXRpc3RpY3NRdWVyeSgpCi17Ci0g
ICAgd2dwdVJlbmRlclBhc3NFbmNvZGVyRW5kUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkobV9iYWNr
aW5nKTsKLX0KLQogdm9pZCBSZW5kZXJQYXNzRW5jb2RlckltcGw6OmV4ZWN1dGVCdW5kbGVzKFZl
Y3RvcjxzdGQ6OnJlZmVyZW5jZV93cmFwcGVyPFJlbmRlckJ1bmRsZT4+JiYgcmVuZGVyQnVuZGxl
cykKIHsKICAgICBhdXRvIGJhY2tpbmdCdW5kbGVzID0gcmVuZGVyQnVuZGxlcy5tYXAoW3RoaXNd
IChhdXRvIHJlbmRlckJ1bmRsZSkgewpAQCAtMTc1LDcgKzE2NSw3IEBAIHZvaWQgUmVuZGVyUGFz
c0VuY29kZXJJbXBsOjpleGVjdXRlQnVuZGxlcyhWZWN0b3I8c3RkOjpyZWZlcmVuY2Vfd3JhcHBl
cjxSZW5kZXJCCiAgICAgd2dwdVJlbmRlclBhc3NFbmNvZGVyRXhlY3V0ZUJ1bmRsZXMobV9iYWNr
aW5nLCBiYWNraW5nQnVuZGxlcy5zaXplKCksIGJhY2tpbmdCdW5kbGVzLmRhdGEoKSk7CiB9CiAK
LXZvaWQgUmVuZGVyUGFzc0VuY29kZXJJbXBsOjplbmRQYXNzKCkKK3ZvaWQgUmVuZGVyUGFzc0Vu
Y29kZXJJbXBsOjplbmQoKQogewogICAgIHdncHVSZW5kZXJQYXNzRW5jb2RlckVuZFBhc3MobV9i
YWNraW5nKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3Mv
V2ViR1BVL0ltcGwvV2ViR1BVUmVuZGVyUGFzc0VuY29kZXJJbXBsLmggYi9Tb3VyY2UvV2ViQ29y
ZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVVJlbmRlclBhc3NFbmNvZGVySW1w
bC5oCmluZGV4IDNlZTkwNzE0NTgyOTdlYmE5ZTcwOTgxN2E2MjI4YmYyZTJlZWNmMDIuLjM0YzUw
ODJhYzU4MTg1NjcwYjY2ZDY1OGQ5MGIyNzczNDlkODM3ZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwvV2ViR1BVUmVuZGVyUGFzc0VuY29k
ZXJJbXBsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvSW1w
bC9XZWJHUFVSZW5kZXJQYXNzRW5jb2RlckltcGwuaApAQCAtOTcsMTEgKzk3LDggQEAgcHJpdmF0
ZToKICAgICB2b2lkIGJlZ2luT2NjbHVzaW9uUXVlcnkoU2l6ZTMyIHF1ZXJ5SW5kZXgpIGZpbmFs
OwogICAgIHZvaWQgZW5kT2NjbHVzaW9uUXVlcnkoKSBmaW5hbDsKIAotICAgIHZvaWQgYmVnaW5Q
aXBlbGluZVN0YXRpc3RpY3NRdWVyeShjb25zdCBRdWVyeVNldCYsIFNpemUzMiBxdWVyeUluZGV4
KSBmaW5hbDsKLSAgICB2b2lkIGVuZFBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KCkgZmluYWw7Ci0K
ICAgICB2b2lkIGV4ZWN1dGVCdW5kbGVzKFZlY3RvcjxzdGQ6OnJlZmVyZW5jZV93cmFwcGVyPFJl
bmRlckJ1bmRsZT4+JiYpIGZpbmFsOwotICAgIHZvaWQgZW5kUGFzcygpIGZpbmFsOworICAgIHZv
aWQgZW5kKCkgZmluYWw7CiAKICAgICB2b2lkIHNldExhYmVsSW50ZXJuYWwoY29uc3QgU3RyaW5n
JikgZmluYWw7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3Mv
V2ViR1BVL1dlYkdQVUJ1ZmZlci5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9X
ZWJHUFUvV2ViR1BVQnVmZmVyLmgKaW5kZXggM2ZhZTk0YTRhYmFmY2VhMzk2MDNjNDg2ZDZhMGE2
N2I4YjhkZTlhZS4uZjc4YzM0NzQwODM3NTE5MTI4Nzg2M2RmY2RjNTFhYzE4NzczNzExYSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVQnVm
ZmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BV
QnVmZmVyLmgKQEAgLTQ4LDEyICs0OCwxMiBAQCBwdWJsaWM6CiAgICAgICAgIHNldExhYmVsSW50
ZXJuYWwobV9sYWJlbCk7CiAgICAgfQogCi0gICAgdmlydHVhbCB2b2lkIG1hcEFzeW5jKE1hcE1v
ZGVGbGFncywgc3RkOjpvcHRpb25hbDxTaXplNjQ+IG9mZnNldCwgc3RkOjpvcHRpb25hbDxTaXpl
NjQ+LCBXVEY6OkZ1bmN0aW9uPHZvaWQoKT4mJikgPSAwOworICAgIHZpcnR1YWwgdm9pZCBtYXBB
c3luYyhNYXBNb2RlRmxhZ3MsIFNpemU2NCBvZmZzZXQsIHN0ZDo6b3B0aW9uYWw8U2l6ZTY0Piwg
V1RGOjpGdW5jdGlvbjx2b2lkKCk+JiYpID0gMDsKICAgICBzdHJ1Y3QgTWFwcGVkUmFuZ2Ugewog
ICAgICAgICB2b2lkKiBzb3VyY2UgeyBudWxscHRyIH07CiAgICAgICAgIHNpemVfdCBieXRlTGVu
Z3RoIHsgMCB9OwogICAgIH07Ci0gICAgdmlydHVhbCBNYXBwZWRSYW5nZSBnZXRNYXBwZWRSYW5n
ZShzdGQ6Om9wdGlvbmFsPFNpemU2ND4gb2Zmc2V0LCBzdGQ6Om9wdGlvbmFsPFNpemU2ND4pID0g
MDsKKyAgICB2aXJ0dWFsIE1hcHBlZFJhbmdlIGdldE1hcHBlZFJhbmdlKFNpemU2NCBvZmZzZXQs
IHN0ZDo6b3B0aW9uYWw8U2l6ZTY0PikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCB1bm1hcCgpID0g
MDsKIAogICAgIHZpcnR1YWwgdm9pZCBkZXN0cm95KCkgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVQ2FudmFzQ29uZmlndXJhdGlv
bi5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVQ2FudmFz
Q29uZmlndXJhdGlvbi5oCmluZGV4IGFmOTM3ZjA5YzlhMDFkNGY1ODUzMTI5ZGRiMTNkZDk0MzAw
YjkzZWMuLmZlZGIyNDE2Y2MyYThlMTM0ZTE5ZGM0OGZlZGIwMjE5MzRjNzQ5ZmUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVUNhbnZhc0Nv
bmZpZ3VyYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQ
VS9XZWJHUFVDYW52YXNDb25maWd1cmF0aW9uLmgKQEAgLTQyLDYgKzQyLDcgQEAgc3RydWN0IENh
bnZhc0NvbmZpZ3VyYXRpb24gewogICAgIERldmljZSYgZGV2aWNlOwogICAgIFRleHR1cmVGb3Jt
YXQgZm9ybWF0IHsgVGV4dHVyZUZvcm1hdDo6Ujh1bm9ybSB9OwogICAgIFRleHR1cmVVc2FnZUZs
YWdzIHVzYWdlIHsgVGV4dHVyZVVzYWdlOjpSZW5kZXJBdHRhY2htZW50IH07CisgICAgVmVjdG9y
PFRleHR1cmVGb3JtYXQ+IHZpZXdGb3JtYXRzOwogICAgIFByZWRlZmluZWRDb2xvclNwYWNlIGNv
bG9yU3BhY2UgeyBQcmVkZWZpbmVkQ29sb3JTcGFjZTo6U1JHQiB9OwogICAgIENhbnZhc0NvbXBv
c2l0aW5nQWxwaGFNb2RlIGNvbXBvc2l0aW5nQWxwaGFNb2RlIHsgQ2FudmFzQ29tcG9zaXRpbmdB
bHBoYU1vZGU6Ok9wYXF1ZSB9OwogICAgIHN0ZDo6b3B0aW9uYWw8RXh0ZW50M0Q+IHNpemU7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVD
b21tYW5kRW5jb2Rlci5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUv
V2ViR1BVQ29tbWFuZEVuY29kZXIuaAppbmRleCA4ODI3OTQ5Njg5M2M4ZWE4NGNmZDljMGE3Y2Q2
Y2FlZTExNjRjYjdmLi5iNDcxYTMwMzk4Y2M4NzNlNGU2NmQyOTJjNjdjZmJmZmI3M2I2ODg5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVD
b21tYW5kRW5jb2Rlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2Vi
R1BVL1dlYkdQVUNvbW1hbmRFbmNvZGVyLmgKQEAgLTgyLDEwICs4MiwxMCBAQCBwdWJsaWM6CiAg
ICAgICAgIGNvbnN0IEltYWdlQ29weVRleHR1cmUmIGRlc3RpbmF0aW9uLAogICAgICAgICBjb25z
dCBFeHRlbnQzRCYgY29weVNpemUpID0gMDsKIAotICAgIHZpcnR1YWwgdm9pZCBmaWxsQnVmZmVy
KAotICAgICAgICBjb25zdCBCdWZmZXImIGRlc3RpbmF0aW9uLAotICAgICAgICBTaXplNjQgZGVz
dGluYXRpb25PZmZzZXQsCi0gICAgICAgIFNpemU2NCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBj
bGVhckJ1ZmZlcigKKyAgICAgICAgY29uc3QgQnVmZmVyJiwKKyAgICAgICAgU2l6ZTY0IG9mZnNl
dCA9IDAsCisgICAgICAgIHN0ZDo6b3B0aW9uYWw8U2l6ZTY0PiA9IHN0ZDo6bnVsbG9wdCkgPSAw
OwogCiAgICAgdmlydHVhbCB2b2lkIHB1c2hEZWJ1Z0dyb3VwKFN0cmluZyYmIGdyb3VwTGFiZWwp
ID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgcG9wRGVidWdHcm91cCgpID0gMDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVUNvbXB1dGVQYXNz
RW5jb2Rlci5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BV
Q29tcHV0ZVBhc3NFbmNvZGVyLmgKaW5kZXggZjQ5ZTc4ZmJhZDkxNjNjY2VlZDhmODA4ODQxNTc4
YzlmNGRhNWI5Mi4uZjJmNjRiZDBiMWUyZDdkNmUwOTZlMTEyNzcwMmIyN2UzZGRjMDU4NyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVQ29t
cHV0ZVBhc3NFbmNvZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9X
ZWJHUFUvV2ViR1BVQ29tcHV0ZVBhc3NFbmNvZGVyLmgKQEAgLTUzLDEzICs1MywxMCBAQCBwdWJs
aWM6CiAgICAgfQogCiAgICAgdmlydHVhbCB2b2lkIHNldFBpcGVsaW5lKGNvbnN0IENvbXB1dGVQ
aXBlbGluZSYpID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2goU2l6ZTMyIHgsIHN0ZDo6
b3B0aW9uYWw8U2l6ZTMyPiB5LCBzdGQ6Om9wdGlvbmFsPFNpemUzMj4pID0gMDsKKyAgICB2aXJ0
dWFsIHZvaWQgZGlzcGF0Y2goU2l6ZTMyIHdvcmtncm91cENvdW50WCwgU2l6ZTMyIHdvcmtncm91
cENvdW50WSA9IDEsIFNpemUzMiB3b3JrZ3JvdXBDb3VudFogPSAxKSA9IDA7CiAgICAgdmlydHVh
bCB2b2lkIGRpc3BhdGNoSW5kaXJlY3QoY29uc3QgQnVmZmVyJiBpbmRpcmVjdEJ1ZmZlciwgU2l6
ZTY0IGluZGlyZWN0T2Zmc2V0KSA9IDA7CiAKLSAgICB2aXJ0dWFsIHZvaWQgYmVnaW5QaXBlbGlu
ZVN0YXRpc3RpY3NRdWVyeShjb25zdCBRdWVyeVNldCYsIFNpemUzMiBxdWVyeUluZGV4KSA9IDA7
Ci0gICAgdmlydHVhbCB2b2lkIGVuZFBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KCkgPSAwOwotCi0g
ICAgdmlydHVhbCB2b2lkIGVuZFBhc3MoKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGVuZCgpID0g
MDsKIAogICAgIHZpcnR1YWwgdm9pZCBzZXRCaW5kR3JvdXAoSW5kZXgzMiwgY29uc3QgQmluZEdy
b3VwJiwKICAgICAgICAgc3RkOjpvcHRpb25hbDxWZWN0b3I8QnVmZmVyRHluYW1pY09mZnNldD4+
JiYpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2Vi
R1BVL1dlYkdQVUZlYXR1cmVOYW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNz
L1dlYkdQVS9XZWJHUFVGZWF0dXJlTmFtZS5oCmluZGV4IDZhMzM1ODlkODk0OWZhODQ3NmMxNGRi
N2ZkMzU4NDlhZmY3M2YzOTUuLmYxYjM1MWI5YTRhNDc2ODdlMDU4NWU3ZWI1ODZlNzE0ODExMWZk
YTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dl
YkdQVUZlYXR1cmVOYW1lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9X
ZWJHUFUvV2ViR1BVRmVhdHVyZU5hbWUuaApAQCAtMzQsNyArMzQsNiBAQCBlbnVtIGNsYXNzIEZl
YXR1cmVOYW1lIDogdWludDhfdCB7CiAgICAgRGVwdGhDbGlwQ29udHJvbCwKICAgICBEZXB0aDI0
dW5vcm1TdGVuY2lsOCwKICAgICBEZXB0aDMyZmxvYXRTdGVuY2lsOCwKLSAgICBQaXBlbGluZVN0
YXRpc3RpY3NRdWVyeSwKICAgICBUZXh0dXJlQ29tcHJlc3Npb25CYywKICAgICBUZXh0dXJlQ29t
cHJlc3Npb25FdGMyLAogICAgIFRleHR1cmVDb21wcmVzc2lvbkFzdGMsCkBAIC01Miw3ICs1MSw2
IEBAIHRlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8UEFMOjpXZWJHUFU6OkZlYXR1cmVOYW1l
PiB7CiAgICAgICAgIFBBTDo6V2ViR1BVOjpGZWF0dXJlTmFtZTo6RGVwdGhDbGlwQ29udHJvbCwK
ICAgICAgICAgUEFMOjpXZWJHUFU6OkZlYXR1cmVOYW1lOjpEZXB0aDI0dW5vcm1TdGVuY2lsOCwK
ICAgICAgICAgUEFMOjpXZWJHUFU6OkZlYXR1cmVOYW1lOjpEZXB0aDMyZmxvYXRTdGVuY2lsOCwK
LSAgICAgICAgUEFMOjpXZWJHUFU6OkZlYXR1cmVOYW1lOjpQaXBlbGluZVN0YXRpc3RpY3NRdWVy
eSwKICAgICAgICAgUEFMOjpXZWJHUFU6OkZlYXR1cmVOYW1lOjpUZXh0dXJlQ29tcHJlc3Npb25C
YywKICAgICAgICAgUEFMOjpXZWJHUFU6OkZlYXR1cmVOYW1lOjpUZXh0dXJlQ29tcHJlc3Npb25F
dGMyLAogICAgICAgICBQQUw6OldlYkdQVTo6RmVhdHVyZU5hbWU6OlRleHR1cmVDb21wcmVzc2lv
bkFzdGMsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQ
VS9XZWJHUFVGcmFnbWVudFN0YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNz
L1dlYkdQVS9XZWJHUFVGcmFnbWVudFN0YXRlLmgKaW5kZXggOGE3MGYwOTI5YTA3Y2MxNGQ2M2Iy
YTUwNTc4Njk3ZTdjMDZiZGM1NS4uYzIyOTU0ZTA3MTRjNmQyOWJjMGNmNmE4YzNiNTdlNGViYTQw
NWU3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUv
V2ViR1BVRnJhZ21lbnRTdGF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhp
Y3MvV2ViR1BVL1dlYkdQVUZyYWdtZW50U3RhdGUuaApAQCAtMjcsMTIgKzI3LDEzIEBACiAKICNp
bmNsdWRlICJXZWJHUFVDb2xvclRhcmdldFN0YXRlLmgiCiAjaW5jbHVkZSAiV2ViR1BVUHJvZ3Jh
bW1hYmxlU3RhZ2UuaCIKKyNpbmNsdWRlIDxvcHRpb25hbD4KICNpbmNsdWRlIDx3dGYvVmVjdG9y
Lmg+CiAKIG5hbWVzcGFjZSBQQUw6OldlYkdQVSB7CiAKIHN0cnVjdCBGcmFnbWVudFN0YXRlIDog
cHVibGljIFByb2dyYW1tYWJsZVN0YWdlIHsKLSAgICBWZWN0b3I8Q29sb3JUYXJnZXRTdGF0ZT4g
dGFyZ2V0czsKKyAgICBWZWN0b3I8c3RkOjpvcHRpb25hbDxDb2xvclRhcmdldFN0YXRlPj4gdGFy
Z2V0czsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFBBTDo6V2ViR1BVCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVJbWFnZUNvcHlFeHRlcm5h
bEltYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVJ
bWFnZUNvcHlFeHRlcm5hbEltYWdlLmgKaW5kZXggOTU1ZjA5N2RjZjAwZDQwMWQwMDk2MDc4MGZh
M2IyNjY4Y2U1ZjRhNy4uMDU3MTJkNWMyMDAwMWZmNjAwMGU4ZjYxOWZiZWYzMTViZTQ3YTI1NyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BV
SW1hZ2VDb3B5RXh0ZXJuYWxJbWFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3Jh
cGhpY3MvV2ViR1BVL1dlYkdQVUltYWdlQ29weUV4dGVybmFsSW1hZ2UuaApAQCAtMzQsNiArMzQs
NyBAQCBuYW1lc3BhY2UgUEFMOjpXZWJHUFUgewogc3RydWN0IEltYWdlQ29weUV4dGVybmFsSW1h
Z2UgewogICAgIC8vIEZJWE1FOiBIYW5kbGUgdGhlIHNvdXJjZS4KICAgICBzdGQ6Om9wdGlvbmFs
PE9yaWdpbjJEPiBvcmlnaW47CisgICAgYm9vbCBmbGlwWSB7IGZhbHNlIH07CiB9OwogCiB9IC8v
IG5hbWVzcGFjZSBQQUw6OldlYkdQVQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3Bh
bC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVTG9hZE9wLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFs
L2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVMb2FkT3AuaAppbmRleCBkYzgyNjBkNzMzMGQ2OGQ4NDg1
ZWE3NjlmMmQwZWMwZWE1OTAxNDFiLi5iMGY4OGE5MmE2NTVmZmZkZDIyZWY0NjMwNTc1N2M2MTZm
YmJhZDllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQ
VS9XZWJHUFVMb2FkT3AuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dl
YkdQVS9XZWJHUFVMb2FkT3AuaApAQCAtMzIsNiArMzIsNyBAQCBuYW1lc3BhY2UgUEFMOjpXZWJH
UFUgewogCiBlbnVtIGNsYXNzIExvYWRPcCA6IHVpbnQ4X3QgewogICAgIExvYWQsCisgICAgQ2xl
YXIsCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBQQUw6OldlYkdQVQpAQCAtNDEsNyArNDIsOCBAQCBu
YW1lc3BhY2UgV1RGIHsKIHRlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8UEFMOjpXZWJHUFU6
OkxvYWRPcD4gewogICAgIHVzaW5nIHZhbHVlcyA9IEVudW1WYWx1ZXM8CiAgICAgICAgIFBBTDo6
V2ViR1BVOjpMb2FkT3AsCi0gICAgICAgIFBBTDo6V2ViR1BVOjpMb2FkT3A6OkxvYWQKKyAgICAg
ICAgUEFMOjpXZWJHUFU6OkxvYWRPcDo6TG9hZCwKKyAgICAgICAgUEFMOjpXZWJHUFU6OkxvYWRP
cDo6Q2xlYXIKICAgICA+OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3Bh
bC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lLmggYi9Tb3VyY2Uv
V2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVQaXBlbGluZVN0YXRpc3RpY05h
bWUuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmY5M2Y2NzkwMDRhZGM2MDMwNzU5
ZTVlYzM5Mzc4YWRkNWQ5NGM2Yi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVQ
aXBlbGluZVN0YXRpc3RpY05hbWUuaAorKysgL2Rldi9udWxsCkBAIC0xLDU2ICswLDAgQEAKLS8q
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgot
ICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
LSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2luY2x1ZGUgPGNzdGRpbnQ+Ci0jaW5jbHVkZSA8
d3RmL0VudW1UcmFpdHMuaD4KLQotbmFtZXNwYWNlIFBBTDo6V2ViR1BVIHsKLQotZW51bSBjbGFz
cyBQaXBlbGluZVN0YXRpc3RpY05hbWUgOiB1aW50OF90IHsKLSAgICBWZXJ0ZXhTaGFkZXJJbnZv
Y2F0aW9ucywKLSAgICBDbGlwcGVySW52b2NhdGlvbnMsCi0gICAgQ2xpcHBlclByaW1pdGl2ZXNP
dXQsCi0gICAgRnJhZ21lbnRTaGFkZXJJbnZvY2F0aW9ucywKLSAgICBDb21wdXRlU2hhZGVySW52
b2NhdGlvbnMsCi19OwotCi19IC8vIG5hbWVzcGFjZSBQQUw6OldlYkdQVQotCi1uYW1lc3BhY2Ug
V1RGIHsKLQotdGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxQQUw6OldlYkdQVTo6UGlwZWxp
bmVTdGF0aXN0aWNOYW1lPiB7Ci0gICAgdXNpbmcgdmFsdWVzID0gRW51bVZhbHVlczwKLSAgICAg
ICAgUEFMOjpXZWJHUFU6OlBpcGVsaW5lU3RhdGlzdGljTmFtZSwKLSAgICAgICAgUEFMOjpXZWJH
UFU6OlBpcGVsaW5lU3RhdGlzdGljTmFtZTo6VmVydGV4U2hhZGVySW52b2NhdGlvbnMsCi0gICAg
ICAgIFBBTDo6V2ViR1BVOjpQaXBlbGluZVN0YXRpc3RpY05hbWU6OkNsaXBwZXJJbnZvY2F0aW9u
cywKLSAgICAgICAgUEFMOjpXZWJHUFU6OlBpcGVsaW5lU3RhdGlzdGljTmFtZTo6Q2xpcHBlclBy
aW1pdGl2ZXNPdXQsCi0gICAgICAgIFBBTDo6V2ViR1BVOjpQaXBlbGluZVN0YXRpc3RpY05hbWU6
OkZyYWdtZW50U2hhZGVySW52b2NhdGlvbnMsCi0gICAgICAgIFBBTDo6V2ViR1BVOjpQaXBlbGlu
ZVN0YXRpc3RpY05hbWU6OkNvbXB1dGVTaGFkZXJJbnZvY2F0aW9ucwotICAgID47Ci19OwotCi19
IC8vIG5hbWVzcGFjZSBXVEYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3Jh
cGhpY3MvV2ViR1BVL1dlYkdQVVF1ZXJ5U2V0RGVzY3JpcHRvci5oIGIvU291cmNlL1dlYkNvcmUv
UEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVUXVlcnlTZXREZXNjcmlwdG9yLmgKaW5kZXgg
ODc5MTA5MDcyNzU2NDYyYmFlYzExZjQ3OGRkNDQ0NTZmMDk1NWZkNy4uMWE1NWNhNzdiYmRmYzBk
MWZiZTZiOTdiNTkzMjI1YzIxNDk2MTA4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFM
L3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVUXVlcnlTZXREZXNjcmlwdG9yLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVUXVlcnlTZXREZXNjcmlw
dG9yLmgKQEAgLTI3LDcgKzI3LDYgQEAKIAogI2luY2x1ZGUgIldlYkdQVUludGVncmFsVHlwZXMu
aCIKICNpbmNsdWRlICJXZWJHUFVPYmplY3REZXNjcmlwdG9yQmFzZS5oIgotI2luY2x1ZGUgIldl
YkdQVVBpcGVsaW5lU3RhdGlzdGljTmFtZS5oIgogI2luY2x1ZGUgIldlYkdQVVF1ZXJ5VHlwZS5o
IgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIApAQCAtMzYsNyArMzUsNiBAQCBuYW1lc3BhY2Ug
UEFMOjpXZWJHUFUgewogc3RydWN0IFF1ZXJ5U2V0RGVzY3JpcHRvciA6IHB1YmxpYyBPYmplY3RE
ZXNjcmlwdG9yQmFzZSB7CiAgICAgUXVlcnlUeXBlIHR5cGUgeyBRdWVyeVR5cGU6Ok9jY2x1c2lv
biB9OwogICAgIFNpemUzMiBjb3VudCB7IDAgfTsKLSAgICBWZWN0b3I8UGlwZWxpbmVTdGF0aXN0
aWNOYW1lPiBwaXBlbGluZVN0YXRpc3RpY3M7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBQQUw6Oldl
YkdQVQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUv
V2ViR1BVUXVlcnlUeXBlLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQ
VS9XZWJHUFVRdWVyeVR5cGUuaAppbmRleCBjYzMwZDQ4ODNmZjJkZTA2ZWQ5ZDhiYzhjOTkyYzVk
YjgxYzYzZGU0Li5iMmFhNWFmNWFjMTIyMTkwNjQ2NTIzM2MzMDJhZjg4OGUyZjNjYmVmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVRdWVy
eVR5cGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJH
UFVRdWVyeVR5cGUuaApAQCAtMzIsNyArMzIsNiBAQCBuYW1lc3BhY2UgUEFMOjpXZWJHUFUgewog
CiBlbnVtIGNsYXNzIFF1ZXJ5VHlwZSA6IHVpbnQ4X3QgewogICAgIE9jY2x1c2lvbiwKLSAgICBQ
aXBlbGluZVN0YXRpc3RpY3MsCiAgICAgVGltZXN0YW1wLAogfTsKIApAQCAtNDQsNyArNDMsNiBA
QCB0ZW1wbGF0ZTw+IHN0cnVjdCBFbnVtVHJhaXRzPFBBTDo6V2ViR1BVOjpRdWVyeVR5cGU+IHsK
ICAgICB1c2luZyB2YWx1ZXMgPSBFbnVtVmFsdWVzPAogICAgICAgICBQQUw6OldlYkdQVTo6UXVl
cnlUeXBlLAogICAgICAgICBQQUw6OldlYkdQVTo6UXVlcnlUeXBlOjpPY2NsdXNpb24sCi0gICAg
ICAgIFBBTDo6V2ViR1BVOjpRdWVyeVR5cGU6OlBpcGVsaW5lU3RhdGlzdGljcywKICAgICAgICAg
UEFMOjpXZWJHUFU6OlF1ZXJ5VHlwZTo6VGltZXN0YW1wCiAgICAgPjsKIH07CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVRdWV1ZS5oIGIv
U291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVUXVldWUuaAppbmRl
eCA2ZjhmOGY4MTBiOGQwMWExMjhjNmJkZWZjZGUzMmNmNWE0MDkyMzhhLi42NDg2NmU4ZTZhNDc5
NmU5MTJiOTg3NWQzZDZiYjVlZjcxMTY0YTE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVRdWV1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVF1ZXVlLmgKQEAgLTY2LDggKzY2LDggQEAg
cHVibGljOgogICAgICAgICBTaXplNjQgYnVmZmVyT2Zmc2V0LAogICAgICAgICBjb25zdCB2b2lk
KiBzb3VyY2UsCiAgICAgICAgIHNpemVfdCBieXRlTGVuZ3RoLAotICAgICAgICBTaXplNjQgZGF0
YU9mZnNldCwKLSAgICAgICAgc3RkOjpvcHRpb25hbDxTaXplNjQ+KSA9IDA7CisgICAgICAgIFNp
emU2NCBkYXRhT2Zmc2V0ID0gMCwKKyAgICAgICAgc3RkOjpvcHRpb25hbDxTaXplNjQ+ID0gc3Rk
OjpudWxsb3B0KSA9IDA7CiAKICAgICB2aXJ0dWFsIHZvaWQgd3JpdGVUZXh0dXJlKAogICAgICAg
ICBjb25zdCBJbWFnZUNvcHlUZXh0dXJlJiBkZXN0aW5hdGlvbiwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVJlbmRlclBhc3NDb2xvckF0
dGFjaG1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQ
VVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQuaAppbmRleCAyODM4MTM1NjA3ZmNhYmE1MmUxOTFj
MGIyNTRkMzY0OGJiMzM5NTM2Li5kNzk4MjEzYWQ0MWIwODBhMzQ2MjVjOTgwZWFmMWQwZDQyZWNm
Zjk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9X
ZWJHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFM
L3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudC5oCkBA
IC00MCw3ICs0MCw4IEBAIHN0cnVjdCBSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50IHsKICAgICBU
ZXh0dXJlVmlldyYgdmlldzsKICAgICBUZXh0dXJlVmlldyogcmVzb2x2ZVRhcmdldCB7IG51bGxw
dHIgfTsKIAotICAgIHN0ZDo6dmFyaWFudDxMb2FkT3AsIFZlY3Rvcjxkb3VibGU+LCBDb2xvckRp
Y3Q+IGxvYWRWYWx1ZTsKKyAgICBzdGQ6Om9wdGlvbmFsPENvbG9yPiBjbGVhclZhbHVlOworICAg
IExvYWRPcCBsb2FkT3AgeyBMb2FkT3A6OkxvYWQgfTsKICAgICBTdG9yZU9wIHN0b3JlT3AgeyBT
dG9yZU9wOjpTdG9yZSB9OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3Bh
bC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVUmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVJlbmRlclBh
c3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50LmgKaW5kZXggYjQzMGU0NTI2MTBkNmUxOTZkNTAyMjI5
MTQ4NmExNWM1YWM3ZDRjZi4uODNiMjcwNmQ0MWUyN2MyODljNDRjYmZlYjI1OGQ3MGFkNGIzY2Qx
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2Vi
R1BVUmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVSZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0
YWNobWVudC5oCkBAIC0zOCwxMiArMzgsMTQgQEAgY2xhc3MgVGV4dHVyZVZpZXc7CiBzdHJ1Y3Qg
UmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQgewogICAgIFRleHR1cmVWaWV3JiB2aWV3
OwogCi0gICAgc3RkOjp2YXJpYW50PExvYWRPcCwgZmxvYXQ+IGRlcHRoTG9hZFZhbHVlOwotICAg
IFN0b3JlT3AgZGVwdGhTdG9yZU9wIHsgU3RvcmVPcDo6U3RvcmUgfTsKKyAgICBmbG9hdCBkZXB0
aENsZWFyVmFsdWUgeyAwIH07CisgICAgc3RkOjpvcHRpb25hbDxMb2FkT3A+IGRlcHRoTG9hZE9w
OworICAgIHN0ZDo6b3B0aW9uYWw8U3RvcmVPcD4gZGVwdGhTdG9yZU9wOwogICAgIGJvb2wgZGVw
dGhSZWFkT25seSB7IGZhbHNlIH07CiAKLSAgICBzdGQ6OnZhcmlhbnQ8TG9hZE9wLCBTdGVuY2ls
VmFsdWU+IHN0ZW5jaWxMb2FkVmFsdWU7Ci0gICAgU3RvcmVPcCBzdGVuY2lsU3RvcmVPcCB7IFN0
b3JlT3A6OlN0b3JlIH07CisgICAgU3RlbmNpbFZhbHVlIHN0ZW5jaWxDbGVhclZhbHVlIHsgMCB9
OworICAgIHN0ZDo6b3B0aW9uYWw8TG9hZE9wPiBzdGVuY2lsTG9hZE9wOworICAgIHN0ZDo6b3B0
aW9uYWw8U3RvcmVPcD4gc3RlbmNpbFN0b3JlT3A7CiAgICAgYm9vbCBzdGVuY2lsUmVhZE9ubHkg
eyBmYWxzZSB9OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFw
aGljcy9XZWJHUFUvV2ViR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IuaCBiL1NvdXJjZS9XZWJDb3Jl
L1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVJlbmRlclBhc3NEZXNjcmlwdG9yLmgKaW5k
ZXggMGZhZmViNDQ2NTU4NjNmOGU3MDMzNzRhZWNlMDFmYmJmZGEwNjFjZS4uNjYwOTBjZGMzY2Rk
ZDNlODc1MDhkMmU4M2EzODgyMTA4NWEyNzc5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
UEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVSZW5kZXJQYXNz
RGVzY3JpcHRvci5oCkBAIC0zNiw3ICszNiw3IEBACiBuYW1lc3BhY2UgUEFMOjpXZWJHUFUgewog
CiBzdHJ1Y3QgUmVuZGVyUGFzc0Rlc2NyaXB0b3IgOiBwdWJsaWMgT2JqZWN0RGVzY3JpcHRvckJh
c2UgewotICAgIFZlY3RvcjxSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50PiBjb2xvckF0dGFjaG1l
bnRzOworICAgIFZlY3RvcjxzdGQ6Om9wdGlvbmFsPFJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQ+
PiBjb2xvckF0dGFjaG1lbnRzOwogICAgIHN0ZDo6b3B0aW9uYWw8UmVuZGVyUGFzc0RlcHRoU3Rl
bmNpbEF0dGFjaG1lbnQ+IGRlcHRoU3RlbmNpbEF0dGFjaG1lbnQ7CiAgICAgUXVlcnlTZXQqIG9j
Y2x1c2lvblF1ZXJ5U2V0IHsgbnVsbHB0ciB9OwogICAgIFJlbmRlclBhc3NUaW1lc3RhbXBXcml0
ZXMgdGltZXN0YW1wV3JpdGVzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9n
cmFwaGljcy9XZWJHUFUvV2ViR1BVUmVuZGVyUGFzc0VuY29kZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVJlbmRlclBhc3NFbmNvZGVyLmgKaW5kZXgg
NzM1MmVhMWRkOGI5NTNiMjVmNTgyNDY2ZWFhNzc5NmVlNWRmMjJmNy4uNTU4NWY0YWYyYTk2YzFm
Y2Q1YWM4MDQyMTQyOTQ2NTJiYTE5ZjIwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFM
L3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVUmVuZGVyUGFzc0VuY29kZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVSZW5kZXJQYXNzRW5jb2Rl
ci5oCkBAIC05NywxMSArOTcsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGJlZ2luT2Nj
bHVzaW9uUXVlcnkoU2l6ZTMyIHF1ZXJ5SW5kZXgpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgZW5k
T2NjbHVzaW9uUXVlcnkoKSA9IDA7CiAKLSAgICB2aXJ0dWFsIHZvaWQgYmVnaW5QaXBlbGluZVN0
YXRpc3RpY3NRdWVyeShjb25zdCBRdWVyeVNldCYsIFNpemUzMiBxdWVyeUluZGV4KSA9IDA7Ci0g
ICAgdmlydHVhbCB2b2lkIGVuZFBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KCkgPSAwOwotCiAgICAg
dmlydHVhbCB2b2lkIGV4ZWN1dGVCdW5kbGVzKFZlY3RvcjxzdGQ6OnJlZmVyZW5jZV93cmFwcGVy
PFJlbmRlckJ1bmRsZT4+JiYpID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgZW5kUGFzcygpID0gMDsK
KyAgICB2aXJ0dWFsIHZvaWQgZW5kKCkgPSAwOwogCiBwcm90ZWN0ZWQ6CiAgICAgUmVuZGVyUGFz
c0VuY29kZXIoKSA9IGRlZmF1bHQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFs
L2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVSZW5kZXJQYXNzTGF5b3V0LmggYi9Tb3VyY2UvV2ViQ29y
ZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVSZW5kZXJQYXNzTGF5b3V0LmgKaW5kZXgg
YWY5M2YxZjFiMmQ3MDExZDVlM2I4NWM3ZDRlYzA5MDE0NGIwMjA0NS4uODBkODJkYTM1N2U0OTI0
NDAxMzFlNGYzNmIyM2RiYzU0ZTk0ZjU1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFM
L3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVUmVuZGVyUGFzc0xheW91dC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVJlbmRlclBhc3NMYXlvdXQu
aApAQCAtMzQsNyArMzQsNyBAQAogbmFtZXNwYWNlIFBBTDo6V2ViR1BVIHsKIAogc3RydWN0IFJl
bmRlclBhc3NMYXlvdXQgOiBwdWJsaWMgT2JqZWN0RGVzY3JpcHRvckJhc2UgewotICAgIFZlY3Rv
cjxUZXh0dXJlRm9ybWF0PiBjb2xvckZvcm1hdHM7CisgICAgVmVjdG9yPHN0ZDo6b3B0aW9uYWw8
VGV4dHVyZUZvcm1hdD4+IGNvbG9yRm9ybWF0czsKICAgICBzdGQ6Om9wdGlvbmFsPFRleHR1cmVG
b3JtYXQ+IGRlcHRoU3RlbmNpbEZvcm1hdDsKICAgICBTaXplMzIgc2FtcGxlQ291bnQgeyAxIH07
CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUv
V2ViR1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50LmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwv
cGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQuaApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5kNzIyMGRkZjA5ZWFhMDQ0OTU0NWEwY2RiNGU2Y2IwMWI1MTMzNTczCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2Vi
R1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50LmgKQEAgLTAsMCArMSwzNiBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNwcmFnbWEgb25jZQorCituYW1lc3BhY2UgUEFMOjpXZWJHUFUgeworCitjbGFzcyBX
ZWJHUFVQaXBlbGluZUxheW91dDsKKworc3RydWN0IFNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGlu
dCB7CisgICAgUGlwZWxpbmVMYXlvdXQmIHBpcGVsaW5lTGF5b3V0OworfTsKKworfSAvLyBuYW1l
c3BhY2UgUEFMOjpXZWJHUFUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3Jh
cGhpY3MvV2ViR1BVL1dlYkdQVVNoYWRlck1vZHVsZURlc2NyaXB0b3IuaCBiL1NvdXJjZS9XZWJD
b3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVNoYWRlck1vZHVsZURlc2NyaXB0b3Iu
aAppbmRleCBjOTllOGVlMmZmNGYxZmE4NWUzNTE2MjY1N2Q5YTNkOWY2Yzc1NDZmLi4zMWUyN2E2
OWRkZGZkNDMxZjI3NjRjYmFmNDVhYmQ0YmU1ZjdmYzU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVTaGFkZXJNb2R1bGVEZXNjcmlwdG9y
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVU2hh
ZGVyTW9kdWxlRGVzY3JpcHRvci5oCkBAIC0yNiw2ICsyNiw3IEBACiAjcHJhZ21hIG9uY2UKIAog
I2luY2x1ZGUgIldlYkdQVU9iamVjdERlc2NyaXB0b3JCYXNlLmgiCisjaW5jbHVkZSAiV2ViR1BV
U2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50LmgiCiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3Ry
aW5nLmg+CiAKIG5hbWVzcGFjZSBQQUw6OldlYkdQVSB7CkBAIC0zMyw2ICszNCw3IEBAIG5hbWVz
cGFjZSBQQUw6OldlYkdQVSB7CiBzdHJ1Y3QgU2hhZGVyTW9kdWxlRGVzY3JpcHRvciA6IHB1Ymxp
YyBPYmplY3REZXNjcmlwdG9yQmFzZSB7CiAgICAgU3RyaW5nIGNvZGU7CiAgICAgLy8gSlNDOjpT
dHJvbmc8SlNDOjpKU09iamVjdD4gc291cmNlTWFwOworICAgIFZlY3RvcjxLZXlWYWx1ZVBhaXI8
U3RyaW5nLCBTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQ+PiBoaW50czsKIH07CiAKIH0gLy8g
bmFtZXNwYWNlIFBBTDo6V2ViR1BVCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFs
L2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVUZXh0dXJlRGVzY3JpcHRvci5oIGIvU291cmNlL1dlYkNv
cmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVVGV4dHVyZURlc2NyaXB0b3IuaAppbmRl
eCA1OGEwZmNhNzg4ZDI0MjUzNzNkOTdlYmU4YjEzMWM5ZmRlZDZjZDVjLi43NzAzYjIwNDNkOTFi
NzVmMTcxOGIyZmU0ZDJlZmEyMjg0MDQ3NDI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVUZXh0dXJlRGVzY3JpcHRvci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVRleHR1cmVEZXNjcmlw
dG9yLmgKQEAgLTQxLDYgKzQxLDcgQEAgc3RydWN0IFRleHR1cmVEZXNjcmlwdG9yIDogcHVibGlj
IE9iamVjdERlc2NyaXB0b3JCYXNlIHsKICAgICBUZXh0dXJlRGltZW5zaW9uIGRpbWVuc2lvbiB7
IFRleHR1cmVEaW1lbnNpb246Ol8yZCB9OwogICAgIFRleHR1cmVGb3JtYXQgZm9ybWF0IHsgVGV4
dHVyZUZvcm1hdDo6Ujh1bm9ybSB9OwogICAgIFRleHR1cmVVc2FnZUZsYWdzIHVzYWdlOworICAg
IFZlY3RvcjxUZXh0dXJlRm9ybWF0PiB2aWV3Rm9ybWF0czsKIH07CiAKIH0gLy8gbmFtZXNwYWNl
IFBBTDo6V2ViR1BVCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNz
L1dlYkdQVS9XZWJHUFVUZXh0dXJlRm9ybWF0LmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dy
YXBoaWNzL1dlYkdQVS9XZWJHUFVUZXh0dXJlRm9ybWF0LmgKaW5kZXggNjI1OTQ2MDA1ZjBlODYz
YWY5MDMyODE2NWIzODg5MTJkZDc1MDI0NC4uNjNiNDI5OGViMzkzZmZkMDFlMjlkZjllYWI2OWY4
OWY0MDY4MzNkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9X
ZWJHUFUvV2ViR1BVVGV4dHVyZUZvcm1hdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwv
Z3JhcGhpY3MvV2ViR1BVL1dlYkdQVVRleHR1cmVGb3JtYXQuaApAQCAtNzgsMTMgKzc4LDE5IEBA
IGVudW0gY2xhc3MgVGV4dHVyZUZvcm1hdCA6IHVpbnQ4X3QgewogICAgIFJnYmEzMnNpbnQsCiAg
ICAgUmdiYTMyZmxvYXQsCiAKLSAgICAvLyBEZXB0aCBhbmQgc3RlbmNpbCBmb3JtYXRzCisgICAg
Ly8gRGVwdGgvc3RlbmNpbCBmb3JtYXRzCiAgICAgU3RlbmNpbDgsCiAgICAgRGVwdGgxNnVub3Jt
LAogICAgIERlcHRoMjRwbHVzLAogICAgIERlcHRoMjRwbHVzU3RlbmNpbDgsCiAgICAgRGVwdGgz
MmZsb2F0LAogCisgICAgLy8gZGVwdGgyNHVub3JtLXN0ZW5jaWw4IGZlYXR1cmUKKyAgICBEZXB0
aDI0dW5vcm1TdGVuY2lsOCwKKworICAgIC8vIGRlcHRoMzJmbG9hdC1zdGVuY2lsOCBmZWF0dXJl
CisgICAgRGVwdGgzMmZsb2F0U3RlbmNpbDgsCisKICAgICAvLyBCQyBjb21wcmVzc2VkIGZvcm1h
dHMgdXNhYmxlIGlmIHRleHR1cmUtY29tcHJlc3Npb24tYmMgaXMgYm90aAogICAgIC8vIHN1cHBv
cnRlZCBieSB0aGUgZGV2aWNlL3VzZXIgYWdlbnQgYW5kIGVuYWJsZWQgaW4gcmVxdWVzdERldmlj
ZS4KICAgICBCYzFSZ2JhVW5vcm0sCkBAIC0xNDUsMTIgKzE1MSw2IEBAIGVudW0gY2xhc3MgVGV4
dHVyZUZvcm1hdCA6IHVpbnQ4X3QgewogICAgIEFzdGMxMngxMFVub3JtU1JHQiwKICAgICBBc3Rj
MTJ4MTJVbm9ybSwKICAgICBBc3RjMTJ4MTJVbm9ybVNSR0IsCi0KLSAgICAvLyBkZXB0aDI0dW5v
cm0tc3RlbmNpbDggZmVhdHVyZQotICAgIERlcHRoMjR1bm9ybVN0ZW5jaWw4LAotCi0gICAgLy8g
ZGVwdGgzMmZsb2F0LXN0ZW5jaWw4IGZlYXR1cmUKLSAgICBEZXB0aDMyZmxvYXRTdGVuY2lsOCwK
IH07CiAKIH0gLy8gbmFtZXNwYWNlIFBBTDo6V2ViR1BVCkBAIC0yMDEsNiArMjAxLDggQEAgdGVt
cGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxQQUw6OldlYkdQVTo6VGV4dHVyZUZvcm1hdD4gewog
ICAgICAgICBQQUw6OldlYkdQVTo6VGV4dHVyZUZvcm1hdDo6RGVwdGgyNHBsdXMsCiAgICAgICAg
IFBBTDo6V2ViR1BVOjpUZXh0dXJlRm9ybWF0OjpEZXB0aDI0cGx1c1N0ZW5jaWw4LAogICAgICAg
ICBQQUw6OldlYkdQVTo6VGV4dHVyZUZvcm1hdDo6RGVwdGgzMmZsb2F0LAorICAgICAgICBQQUw6
OldlYkdQVTo6VGV4dHVyZUZvcm1hdDo6RGVwdGgyNHVub3JtU3RlbmNpbDgsCisgICAgICAgIFBB
TDo6V2ViR1BVOjpUZXh0dXJlRm9ybWF0OjpEZXB0aDMyZmxvYXRTdGVuY2lsOCwKICAgICAgICAg
UEFMOjpXZWJHUFU6OlRleHR1cmVGb3JtYXQ6OkJjMVJnYmFVbm9ybSwKICAgICAgICAgUEFMOjpX
ZWJHUFU6OlRleHR1cmVGb3JtYXQ6OkJjMVJnYmFVbm9ybVNSR0IsCiAgICAgICAgIFBBTDo6V2Vi
R1BVOjpUZXh0dXJlRm9ybWF0OjpCYzJSZ2JhVW5vcm0sCkBAIC0yNTIsOSArMjU0LDcgQEAgdGVt
cGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxQQUw6OldlYkdQVTo6VGV4dHVyZUZvcm1hdD4gewog
ICAgICAgICBQQUw6OldlYkdQVTo6VGV4dHVyZUZvcm1hdDo6QXN0YzEyeDEwVW5vcm0sCiAgICAg
ICAgIFBBTDo6V2ViR1BVOjpUZXh0dXJlRm9ybWF0OjpBc3RjMTJ4MTBVbm9ybVNSR0IsCiAgICAg
ICAgIFBBTDo6V2ViR1BVOjpUZXh0dXJlRm9ybWF0OjpBc3RjMTJ4MTJVbm9ybSwKLSAgICAgICAg
UEFMOjpXZWJHUFU6OlRleHR1cmVGb3JtYXQ6OkFzdGMxMngxMlVub3JtU1JHQiwKLSAgICAgICAg
UEFMOjpXZWJHUFU6OlRleHR1cmVGb3JtYXQ6OkRlcHRoMjR1bm9ybVN0ZW5jaWw4LAotICAgICAg
ICBQQUw6OldlYkdQVTo6VGV4dHVyZUZvcm1hdDo6RGVwdGgzMmZsb2F0U3RlbmNpbDgKKyAgICAg
ICAgUEFMOjpXZWJHUFU6OlRleHR1cmVGb3JtYXQ6OkFzdGMxMngxMlVub3JtU1JHQgogICAgID47
CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9X
ZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4IDA2YzliMjE4MTY1ZjRlMzUzZTk0ODlmMDUyZjBkZmI5
OTFiOTI2YTQuLjRjMjcyMzFjNzlhYzNlNDA4NDFmNTAzZjM5NmY3MDcwMjA1ZDlmMjMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1Nv
dXJjZXMudHh0CkBAIC0zMTg1LDYgKzMxODUsNyBAQCBKU0dQVUNvbW1hbmRCdWZmZXIuY3BwCiBK
U0dQVUNvbW1hbmRCdWZmZXJEZXNjcmlwdG9yLmNwcAogSlNHUFVDb21tYW5kRW5jb2Rlci5jcHAK
IEpTR1BVQ29tbWFuZEVuY29kZXJEZXNjcmlwdG9yLmNwcAorSlNHUFVDb21tYW5kc01peGluLmNw
cAogSlNHUFVDb21wYXJlRnVuY3Rpb24uY3BwCiBKU0dQVUNvbXBpbGF0aW9uSW5mby5jcHAKIEpT
R1BVQ29tcGlsYXRpb25NZXNzYWdlLmNwcApAQCAtMzE5Niw2ICszMTk3LDcgQEAgSlNHUFVDb21w
dXRlUGFzc1RpbWVzdGFtcFdyaXRlLmNwcAogSlNHUFVDb21wdXRlUGlwZWxpbmUuY3BwCiBKU0dQ
VUNvbXB1dGVQaXBlbGluZURlc2NyaXB0b3IuY3BwCiBKU0dQVUN1bGxNb2RlLmNwcAorSlNHUFVE
ZWJ1Z0NvbW1hbmRzTWl4aW4uY3BwCiBKU0dQVURlcHRoU3RlbmNpbFN0YXRlLmNwcAogSlNHUFVE
ZXZpY2UuY3BwCiBKU0dQVURldmljZURlc2NyaXB0b3IuY3BwCkBAIC0zMjMxLDcgKzMyMzMsNiBA
QCBKU0dQVVBpcGVsaW5lQmFzZS5jcHAKIEpTR1BVUGlwZWxpbmVEZXNjcmlwdG9yQmFzZS5jcHAK
IEpTR1BVUGlwZWxpbmVMYXlvdXQuY3BwCiBKU0dQVVBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvci5j
cHAKLUpTR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lLmNwcAogSlNHUFVQb3dlclByZWZlcmVuY2Uu
Y3BwCiBKU0dQVVByZWRlZmluZWRDb2xvclNwYWNlLmNwcAogSlNHUFVQcmltaXRpdmVTdGF0ZS5j
cHAKQEAgLTMyNjIsNiArMzI2Myw3IEBAIEpTR1BVU2FtcGxlckJpbmRpbmdMYXlvdXQuY3BwCiBK
U0dQVVNhbXBsZXJCaW5kaW5nVHlwZS5jcHAKIEpTR1BVU2FtcGxlckRlc2NyaXB0b3IuY3BwCiBK
U0dQVVNoYWRlck1vZHVsZS5jcHAKK0pTR1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50LmNw
cAogSlNHUFVTaGFkZXJNb2R1bGVEZXNjcmlwdG9yLmNwcAogSlNHUFVTaGFkZXJTdGFnZS5jcHAK
IEpTR1BVU3RlbmNpbEZhY2VTdGF0ZS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBmYjlmYjdjYzIyMTg5ZjAzNDMwMjBjZjZj
MGZhM2Q2NjVkYjllYjM4Li4wYTU5YjE3YzFhMGEzMjA5ZGI5ODM0NzEwM2ZkNjM4NTEyNzRmMjlm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCkBAIC03MzI0LDcgKzczMjQsNiBAQAogCQkxQzkwNzgwODI3NTFGRDUzMDA0RUYxNjUgLyog
SlNHUFVFeHRlbnQzRERpY3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNHUFVFeHRlbnQzRERpY3QuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUM5MDc4MDkyNzUxRkQ1MzAwNEVGMTY1IC8q
IEpTR1BVUXVlcnlTZXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNHUFVRdWVyeVNldC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkxQzkwNzgwQTI3NTFGRDU0MDA0RUYxNjUgLyogSlNHUFVJ
bWFnZURhdGFMYXlvdXQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNHUFVJbWFnZURhdGFMYXlv
dXQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkxQzkwNzgwQjI3NTFGRDU0MDA0
RUYxNjUgLyogSlNHUFVQaXBlbGluZVN0YXRpc3RpY05hbWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNH
UFVQaXBlbGluZVN0YXRpc3RpY05hbWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
MUM5MDc4MEMyNzUxRkQ1NDAwNEVGMTY1IC8qIEpTR1BVQnVmZmVyQmluZGluZ1R5cGUuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gSlNHUFVCdWZmZXJCaW5kaW5nVHlwZS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTFDOTA3ODBEMjc1MUZENTUwMDRFRjE2NSAvKiBKU0dQVURldmlj
ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBKU0dQVURldmljZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkxQzkwNzgwRTI3NTFGRDU1MDA0RUYxNjUgLyogSlNHUFVTYW1wbGVyQmluZGluZ1R5
cGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNHUFVTYW1wbGVyQmluZGluZ1R5cGUuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNzQ1NCw3ICs3NDUzLDYgQEAKIAkJMUM5MDc4
OEEyNzUxRkQ4NjAwNEVGMTY1IC8qIEpTR1BVU2FtcGxlckRlc2NyaXB0b3IuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gSlNHUFVTYW1wbGVyRGVzY3JpcHRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkxQzkwNzg4QjI3NTFGRDg3MDA0RUYxNjUgLyogSlNHUFVDb21wYXJlRnVuY3Rpb24uaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gSlNHUFVDb21wYXJlRnVuY3Rpb24uaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMUM5MDc4OEMyNzUxRkQ4NzAwNEVGMTY1IC8qIEpTR1BVU3VwcG9ydGVkRmVh
dHVyZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNHUFVTdXBwb3J0ZWRGZWF0dXJlcy5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwotCQkxQzkwNzg4RDI3NTFGRDg3MDA0RUYxNjUgLyogSlNHUFVQ
aXBlbGluZVN0YXRpc3RpY05hbWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNHUFVQaXBlbGlu
ZVN0YXRpc3RpY05hbWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQzkwNzg4
RTI3NTFGRDg4MDA0RUYxNjUgLyogSlNHUFVEZXZpY2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
SlNHUFVEZXZpY2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQzkwNzg4RjI3
NTFGRDg4MDA0RUYxNjUgLyogSlNHUFVCdWZmZXJEZXNjcmlwdG9yLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEpTR1BVQnVmZmVyRGVzY3JpcHRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkx
QzkwNzg5MDI3NTFGRDg5MDA0RUYxNjUgLyogSlNHUFVPcmlnaW4zRERpY3QuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gSlNHUFVPcmlnaW4zRERpY3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwpAQCAtNzY3Miw3ICs3NjcwLDYgQEAKIAkJMUNBNEZDRUIyNzM1MUZCMTAwMjdGRDVBIC8q
IEdQVUNvbW1hbmRFbmNvZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEdQVUNvbW1hbmRFbmNv
ZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNBNEZDRUMyNzM1MUZCMjAw
MjdGRDVBIC8qIEdQVVF1ZXJ5U2V0RGVzY3JpcHRvci5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gR1BVUXVlcnlTZXREZXNj
cmlwdG9yLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNBNEZDRUQyNzM1MUZC
MjAwMjdGRDVBIC8qIEdQVUNvbW1hbmRFbmNvZGVyLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBHUFVDb21tYW5kRW5jb2Rl
ci5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTFDQTRGQ0VFMjczNTFGQjIwMDI3
RkQ1QSAvKiBHUFVQaXBlbGluZVN0YXRpc3RpY05hbWUuaWRsICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEdQVVBpcGVsaW5lU3Rh
dGlzdGljTmFtZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDQTRGQ0VGMjcz
NTFGQjMwMDI3RkQ1QSAvKiBHUFVSZW5kZXJCdW5kbGVFbmNvZGVyRGVzY3JpcHRvci5pZGwgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRo
ID0gR1BVUmVuZGVyQnVuZGxlRW5jb2RlckRlc2NyaXB0b3IuaWRsOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkxQ0E0RkNGMDI3MzUxRkIzMDAyN0ZENUEgLyogR1BVQ29sb3JEaWN0Lmlk
bCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7
IHBhdGggPSBHUFVDb2xvckRpY3QuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkx
Q0E0RkNGMTI3MzUxRkIzMDAyN0ZENUEgLyogR1BVUmVuZGVyRW5jb2RlckJhc2UuaWRsICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9
IEdQVVJlbmRlckVuY29kZXJCYXNlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAg
LTc3MTQsNyArNzcxMSw2IEBACiAJCTFDQTRGRDE1MjczNTFGQzEwMDI3RkQ1QSAvKiBHUFVSZW5k
ZXJQYXNzVGltZXN0YW1wTG9jYXRpb24uaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEdQVVJlbmRlclBhc3NUaW1lc3RhbXBM
b2NhdGlvbi5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDQTRGRDE2MjczNTFG
QzIwMDI3RkQ1QSAvKiBHUFVJbWFnZUNvcHlFeHRlcm5hbEltYWdlLmlkbCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBHUFVJbWFn
ZUNvcHlFeHRlcm5hbEltYWdlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNB
NEZEMTcyNzM1MUZDMjAwMjdGRDVBIC8qIEdQVVJlbmRlclBhc3NEZXNjcmlwdG9yLmlkbCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGgg
PSBHUFVSZW5kZXJQYXNzRGVzY3JpcHRvci5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
Ci0JCTFDQTRGRDE4MjczNTFGQzMwMDI3RkQ1QSAvKiBHUFVQaXBlbGluZVN0YXRpc3RpY05hbWUu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTFDQTRGRDE5MjczNTFGQzMwMDI3RkQ1QSAvKiBHUFVDb21tYW5k
RW5jb2RlckRlc2NyaXB0b3IuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEdQVUNvbW1hbmRFbmNvZGVyRGVzY3JpcHRvci5p
ZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDQTRGRDFBMjczNTFGQzMwMDI3RkQ1
QSAvKiBHUFVSZW5kZXJQYXNzVGltZXN0YW1wV3JpdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR1BVUmVu
ZGVyUGFzc1RpbWVzdGFtcFdyaXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFD
QTRGRDFCMjczNTFGQzQwMDI3RkQ1QSAvKiBHUFVPcmlnaW4yRERpY3QuaWRsICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEdQVU9y
aWdpbjJERGljdC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC03NzcxLDYgKzc3
NjcsMTYgQEAKIAkJMUNFQUE1MkYyNkYzMUFGODAwODY4NTA3IC8qIENTU0ZvbnRQYWxldHRlVmFs
dWVzUnVsZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSB0ZXh0OyBwYXRoID0gQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmlkbDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNFQUE1MzAyNkYzMzFDMTAwODY4NTA3IC8qIENTU0ZvbnRQ
YWxldHRlVmFsdWVzT3ZlcnJpZGVDb2xvcnNWYWx1ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBD
U1NGb250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JzVmFsdWUuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQkxQ0VBQTUzMTI2RjMzMUMxMDA4Njg1MDcgLyogQ1NTRm9udFBhbGV0
dGVWYWx1ZXNPdmVycmlkZUNvbG9yc1ZhbHVlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENTU0ZvbnRQYWxl
dHRlVmFsdWVzT3ZlcnJpZGVDb2xvcnNWYWx1ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQkxQ0VGNDVBNTI3QkIwOTZBMDBDM0E2QkMgLyogR1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRp
b25IaW50LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHRleHQ7IHBhdGggPSBHUFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQuaWRsOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQ0VGNDVBNzI3QkIwQTNEMDBDM0E2QkMgLyogR1BV
U2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdQVVNoYWRlck1v
ZHVsZUNvbXBpbGF0aW9uSGludC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQ0VG
NDVBODI3QkIwQkUxMDBDM0E2QkMgLyogR1BVQ29tbWFuZHNNaXhpbi5pZGwgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gR1BVQ29t
bWFuZHNNaXhpbi5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFDRUY0NUE5MjdC
QjBEMzkwMEMzQTZCQyAvKiBHUFVEZWJ1Z0NvbW1hbmRzTWl4aW4uaWRsICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEdQVURlYnVn
Q29tbWFuZHNNaXhpbi5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFDRUY0NUIw
MjdCQjkwN0YwMEMzQTZCQyAvKiBKU0dQVUNvbW1hbmRzTWl4aW4uaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
SlNHUFVDb21tYW5kc01peGluLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFDRUY0
NUIxMjdCQjkwN0YwMEMzQTZCQyAvKiBKU0dQVUNvbW1hbmRzTWl4aW4uY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gSlNHUFVDb21tYW5kc01peGluLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMUNFRjQ1QjIyN0JCOTA4MDAwQzNBNkJDIC8qIEpTR1BVRGVidWdDb21tYW5kc01peGlu
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTR1BVRGVidWdDb21tYW5kc01peGluLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUNFRjQ1QjMyN0JCOTA4MTAwQzNBNkJDIC8qIEpT
R1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTR1BVU2hh
ZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTFDRUY0NUI0MjdCQjkwODEwMEMzQTZCQyAvKiBKU0dQVURlYnVnQ29tbWFuZHNNaXhpbi5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBKU0dQVURlYnVnQ29tbWFuZHNNaXhpbi5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQkxQ0VGNDVCNTI3QkI5MDgyMDBDM0E2QkMgLyogSlNHUFVTaGFkZXJNb2R1
bGVDb21waWxhdGlvbkhpbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNHUFVTaGFkZXJNb2R1
bGVDb21waWxhdGlvbkhpbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQ0Yw
QkZENDIyOTg3MDY4MDBFRDIwNzQgLyogVGV4dFNpemVBZGp1c3RtZW50LmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFRleHRTaXplQWRqdXN0bWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTFDRjE4RjNDMjZCQjVBRjIwMDRCMTcyMiAvKiBMb2dJbml0aWFsaXphdGlvbi5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBMb2dJbml0aWFsaXphdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTFDRkFFMzIyMEE2RDZBM0YwMDMyNTkzRCAvKiBsaWJvYmpjLmR5bGli
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gImNvbXBp
bGVkLm1hY2gtby5keWxpYiI7IG5hbWUgPSBsaWJvYmpjLmR5bGliOyBwYXRoID0gL3Vzci9saWIv
bGlib2JqYy5keWxpYjsgc291cmNlVHJlZSA9ICI8YWJzb2x1dGU+IjsgfTsKQEAgLTIwMDkxLDYg
KzIwMDk3LDcgQEAKIAkJCQkxQ0E0RkNFRDI3MzUxRkIyMDAyN0ZENUEgLyogR1BVQ29tbWFuZEVu
Y29kZXIuaWRsICovLAogCQkJCTFDQTRGQ0ZFMjczNTFGQjkwMDI3RkQ1QSAvKiBHUFVDb21tYW5k
RW5jb2RlckRlc2NyaXB0b3IuaCAqLywKIAkJCQkxQ0E0RkQxOTI3MzUxRkMzMDAyN0ZENUEgLyog
R1BVQ29tbWFuZEVuY29kZXJEZXNjcmlwdG9yLmlkbCAqLywKKwkJCQkxQ0VGNDVBODI3QkIwQkUx
MDBDM0E2QkMgLyogR1BVQ29tbWFuZHNNaXhpbi5pZGwgKi8sCiAJCQkJMUNBNEZDNTkyNzM0RUJD
RDAwMjdGRDVBIC8qIEdQVUNvbXBhcmVGdW5jdGlvbi5oICovLAogCQkJCTFDQTRGQzVCMjczNEVC
Q0UwMDI3RkQ1QSAvKiBHUFVDb21wYXJlRnVuY3Rpb24uaWRsICovLAogCQkJCTFDQTRGQ0UyMjcz
NTEyM0EwMDI3RkQ1QSAvKiBHUFVDb21waWxhdGlvbkluZm8uY3BwICovLApAQCAtMjAxMTcsNiAr
MjAxMjQsNyBAQAogCQkJCTFDQTRGQ0I0MjczNTBDRUIwMDI3RkQ1QSAvKiBHUFVDb21wdXRlUGlw
ZWxpbmVEZXNjcmlwdG9yLmlkbCAqLywKIAkJCQkxQ0E0RkNBMzI3MzUwQ0U1MDAyN0ZENUEgLyog
R1BVQ3VsbE1vZGUuaCAqLywKIAkJCQkxQ0E0RkNDRTI3MzUwQ0Y1MDAyN0ZENUEgLyogR1BVQ3Vs
bE1vZGUuaWRsICovLAorCQkJCTFDRUY0NUE5MjdCQjBEMzkwMEMzQTZCQyAvKiBHUFVEZWJ1Z0Nv
bW1hbmRzTWl4aW4uaWRsICovLAogCQkJCTFDQTRGQ0Q0MjczNTBDRjgwMDI3RkQ1QSAvKiBHUFVE
ZXB0aFN0ZW5jaWxTdGF0ZS5oICovLAogCQkJCTFDQTRGQ0REMjczNTBDRkIwMDI3RkQ1QSAvKiBH
UFVEZXB0aFN0ZW5jaWxTdGF0ZS5pZGwgKi8sCiAJCQkJMUMyODk1N0YyNzJGNDNEODAwQjNFMkI0
IC8qIEdQVURldmljZS5jcHAgKi8sCkBAIC0yMDE4OCw4ICsyMDE5Niw2IEBACiAJCQkJMUNBNEZD
NkUyNzM0RjlGNjAwMjdGRDVBIC8qIEdQVVBpcGVsaW5lTGF5b3V0LmlkbCAqLywKIAkJCQkxQ0E0
RkM3MzI3MzRGOUY4MDAyN0ZENUEgLyogR1BVUGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yLmggKi8s
CiAJCQkJMUNBNEZDNjcyNzM0RjlGNDAwMjdGRDVBIC8qIEdQVVBpcGVsaW5lTGF5b3V0RGVzY3Jp
cHRvci5pZGwgKi8sCi0JCQkJMUNBNEZEMTgyNzM1MUZDMzAwMjdGRDVBIC8qIEdQVVBpcGVsaW5l
U3RhdGlzdGljTmFtZS5oICovLAotCQkJCTFDQTRGQ0VFMjczNTFGQjIwMDI3RkQ1QSAvKiBHUFVQ
aXBlbGluZVN0YXRpc3RpY05hbWUuaWRsICovLAogCQkJCTFDMjg5NTgyMjcyRjQ4RjIwMEIzRTJC
NCAvKiBHUFVQb3dlclByZWZlcmVuY2UuaCAqLywKIAkJCQkxQzI4OTU2OTI3MkYyNzQ3MDBCM0Uy
QjQgLyogR1BVUG93ZXJQcmVmZXJlbmNlLmlkbCAqLywKIAkJCQkxQzI4OTU4QjI3MkY1QUY1MDBC
M0UyQjQgLyogR1BVUHJlZGVmaW5lZENvbG9yU3BhY2UuaCAqLywKQEAgLTIwMjU2LDYgKzIwMjYy
LDggQEAKIAkJCQkxQ0E0RkNBNTI3MzUwQ0U2MDAyN0ZENUEgLyogR1BVU2hhZGVyTW9kdWxlLmNw
cCAqLywKIAkJCQkxQ0E0RkNENTI3MzUwQ0Y4MDAyN0ZENUEgLyogR1BVU2hhZGVyTW9kdWxlLmgg
Ki8sCiAJCQkJMUNBNEZDQTcyNzM1MENFNjAwMjdGRDVBIC8qIEdQVVNoYWRlck1vZHVsZS5pZGwg
Ki8sCisJCQkJMUNFRjQ1QTcyN0JCMEEzRDAwQzNBNkJDIC8qIEdQVVNoYWRlck1vZHVsZUNvbXBp
bGF0aW9uSGludC5oICovLAorCQkJCTFDRUY0NUE1MjdCQjA5NkEwMEMzQTZCQyAvKiBHUFVTaGFk
ZXJNb2R1bGVDb21waWxhdGlvbkhpbnQuaWRsICovLAogCQkJCTFDQTRGQ0IxMjczNTBDRUEwMDI3
RkQ1QSAvKiBHUFVTaGFkZXJNb2R1bGVEZXNjcmlwdG9yLmggKi8sCiAJCQkJMUNBNEZDQUMyNzM1
MENFODAwMjdGRDVBIC8qIEdQVVNoYWRlck1vZHVsZURlc2NyaXB0b3IuaWRsICovLAogCQkJCTFD
QTRGQzZBMjczNEY5RjUwMDI3RkQ1QSAvKiBHUFVTaGFkZXJTdGFnZS5oICovLApAQCAtMjM1MzIs
NiArMjM1NDAsOCBAQAogCQkJCTFDOTA3ODRFMjc1MUZENkYwMDRFRjE2NSAvKiBKU0dQVUNvbW1h
bmRFbmNvZGVyLmggKi8sCiAJCQkJMUM5MDc3RTQyNzUxRkQ0NDAwNEVGMTY1IC8qIEpTR1BVQ29t
bWFuZEVuY29kZXJEZXNjcmlwdG9yLmNwcCAqLywKIAkJCQkxQzkwNzg1RTI3NTFGRDc1MDA0RUYx
NjUgLyogSlNHUFVDb21tYW5kRW5jb2RlckRlc2NyaXB0b3IuaCAqLywKKwkJCQkxQ0VGNDVCMTI3
QkI5MDdGMDBDM0E2QkMgLyogSlNHUFVDb21tYW5kc01peGluLmNwcCAqLywKKwkJCQkxQ0VGNDVC
MDI3QkI5MDdGMDBDM0E2QkMgLyogSlNHUFVDb21tYW5kc01peGluLmggKi8sCiAJCQkJMUM5MDc4
N0IyNzUxRkQ4MDAwNEVGMTY1IC8qIEpTR1BVQ29tcGFyZUZ1bmN0aW9uLmNwcCAqLywKIAkJCQkx
QzkwNzg4QjI3NTFGRDg3MDA0RUYxNjUgLyogSlNHUFVDb21wYXJlRnVuY3Rpb24uaCAqLywKIAkJ
CQkxQzkwNzg5MTI3NTFGRDg5MDA0RUYxNjUgLyogSlNHUFVDb21waWxhdGlvbkluZm8uY3BwICov
LApAQCAtMjM1NTQsNiArMjM1NjQsOCBAQAogCQkJCTFDOTA3ODcwMjc1MUZEN0MwMDRFRjE2NSAv
KiBKU0dQVUNvbXB1dGVQaXBlbGluZURlc2NyaXB0b3IuaCAqLywKIAkJCQkxQzkwNzg1OTI3NTFG
RDczMDA0RUYxNjUgLyogSlNHUFVDdWxsTW9kZS5jcHAgKi8sCiAJCQkJMUM5MDc3RTgyNzUxRkQ0
NjAwNEVGMTY1IC8qIEpTR1BVQ3VsbE1vZGUuaCAqLywKKwkJCQkxQ0VGNDVCMjI3QkI5MDgwMDBD
M0E2QkMgLyogSlNHUFVEZWJ1Z0NvbW1hbmRzTWl4aW4uY3BwICovLAorCQkJCTFDRUY0NUI0MjdC
QjkwODEwMEMzQTZCQyAvKiBKU0dQVURlYnVnQ29tbWFuZHNNaXhpbi5oICovLAogCQkJCTFDOTA3
ODk0Mjc1MUZEOEEwMDRFRjE2NSAvKiBKU0dQVURlcHRoU3RlbmNpbFN0YXRlLmNwcCAqLywKIAkJ
CQkxQzkwNzg5OTI3NTFGRDhDMDA0RUYxNjUgLyogSlNHUFVEZXB0aFN0ZW5jaWxTdGF0ZS5oICov
LAogCQkJCTFDOTA3ODhFMjc1MUZEODgwMDRFRjE2NSAvKiBKU0dQVURldmljZS5jcHAgKi8sCkBA
IC0yMzYyNCw4ICsyMzYzNiw2IEBACiAJCQkJMUM5MDc4QzAyNzUxRkQ5QjAwNEVGMTY1IC8qIEpT
R1BVUGlwZWxpbmVMYXlvdXQuaCAqLywKIAkJCQkxQzkwNzg1MDI3NTFGRDZGMDA0RUYxNjUgLyog
SlNHUFVQaXBlbGluZUxheW91dERlc2NyaXB0b3IuY3BwICovLAogCQkJCTFDOTA3N0ZBMjc1MUZE
NEQwMDRFRjE2NSAvKiBKU0dQVVBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvci5oICovLAotCQkJCTFD
OTA3ODhEMjc1MUZEODcwMDRFRjE2NSAvKiBKU0dQVVBpcGVsaW5lU3RhdGlzdGljTmFtZS5jcHAg
Ki8sCi0JCQkJMUM5MDc4MEIyNzUxRkQ1NDAwNEVGMTY1IC8qIEpTR1BVUGlwZWxpbmVTdGF0aXN0
aWNOYW1lLmggKi8sCiAJCQkJMUM5MDc4N0UyNzUxRkQ4MjAwNEVGMTY1IC8qIEpTR1BVUG93ZXJQ
cmVmZXJlbmNlLmNwcCAqLywKIAkJCQkxQzkwNzg5RTI3NTFGRDhFMDA0RUYxNjUgLyogSlNHUFVQ
b3dlclByZWZlcmVuY2UuaCAqLywKIAkJCQkxQzkwNzg1NTI3NTFGRDcxMDA0RUYxNjUgLyogSlNH
UFVQcmVkZWZpbmVkQ29sb3JTcGFjZS5jcHAgKi8sCkBAIC0yMzY4Niw2ICsyMzY5Niw4IEBACiAJ
CQkJMUM5MDc4OEEyNzUxRkQ4NjAwNEVGMTY1IC8qIEpTR1BVU2FtcGxlckRlc2NyaXB0b3IuaCAq
LywKIAkJCQkxQzkwNzg1NzI3NTFGRDcyMDA0RUYxNjUgLyogSlNHUFVTaGFkZXJNb2R1bGUuY3Bw
ICovLAogCQkJCTFDOTA3OEE1Mjc1MUZEOTEwMDRFRjE2NSAvKiBKU0dQVVNoYWRlck1vZHVsZS5o
ICovLAorCQkJCTFDRUY0NUI1MjdCQjkwODIwMEMzQTZCQyAvKiBKU0dQVVNoYWRlck1vZHVsZUNv
bXBpbGF0aW9uSGludC5jcHAgKi8sCisJCQkJMUNFRjQ1QjMyN0JCOTA4MTAwQzNBNkJDIC8qIEpT
R1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50LmggKi8sCiAJCQkJMUM5MDc3RTkyNzUxRkQ0
NjAwNEVGMTY1IC8qIEpTR1BVU2hhZGVyTW9kdWxlRGVzY3JpcHRvci5jcHAgKi8sCiAJCQkJMUM5
MDc4MzkyNzUxRkQ2NjAwNEVGMTY1IC8qIEpTR1BVU2hhZGVyTW9kdWxlRGVzY3JpcHRvci5oICov
LAogCQkJCTFDOTA3ODcyMjc1MUZEN0QwMDRFRjE2NSAvKiBKU0dQVVNoYWRlclN0YWdlLmNwcCAq
LywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0FkYXB0ZXIuaCBiL1NvdXJjZS9X
ZWJHUFUvV2ViR1BVL0FkYXB0ZXIuaAppbmRleCBlN2Q0MzQ5ODg2ZTY3OTFjNWM1YmQ4MzczMzRi
YzU1MmIxYmRlZDA0Li44Y2E0ZTBmMGU0Yjk3ZWUwYTQ3ODhiYjhjNDc2ZmI1Mjc0ZmJiMzIxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9BZGFwdGVyLmgKKysrIGIvU291cmNlL1dl
YkdQVS9XZWJHUFUvQWRhcHRlci5oCkBAIC00NSwxMCArNDUsMTAgQEAgcHVibGljOgogCiAgICAg
fkFkYXB0ZXIoKTsKIAorICAgIHNpemVfdCBlbnVtZXJhdGVGZWF0dXJlcyhXR1BVRmVhdHVyZU5h
bWUqIGZlYXR1cmVzKTsKICAgICBib29sIGdldExpbWl0cyhXR1BVU3VwcG9ydGVkTGltaXRzKik7
CiAgICAgdm9pZCBnZXRQcm9wZXJ0aWVzKFdHUFVBZGFwdGVyUHJvcGVydGllcyopOwogICAgIGJv
b2wgaGFzRmVhdHVyZShXR1BVRmVhdHVyZU5hbWUpOwotICAgIFdHUFVGZWF0dXJlTmFtZSBnZXRG
ZWF0dXJlQXRJbmRleChzaXplX3QpOwogICAgIHZvaWQgcmVxdWVzdERldmljZShjb25zdCBXR1BV
RGV2aWNlRGVzY3JpcHRvciosIFdURjo6RnVuY3Rpb248dm9pZChXR1BVUmVxdWVzdERldmljZVN0
YXR1cywgUmVmPERldmljZT4mJiwgY29uc3QgY2hhciopPiYmIGNhbGxiYWNrKTsKIAogcHJpdmF0
ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0FkYXB0ZXIubW0gYi9Tb3VyY2Uv
V2ViR1BVL1dlYkdQVS9BZGFwdGVyLm1tCmluZGV4IGVlMWJiMjhlMjdlMGRjM2I3NThlNmQ5ZTc2
YzY3M2VlNWMzMTVhNDQuLmUyOTQzY2M0YjU0N2E4ZTNiNjE1NjRkYmUwMjhjMWVkOWYxZWY2MTMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0FkYXB0ZXIubW0KKysrIGIvU291cmNl
L1dlYkdQVS9XZWJHUFUvQWRhcHRlci5tbQpAQCAtMzYsNiArMzYsMTIgQEAgQWRhcHRlcjo6QWRh
cHRlcigpID0gZGVmYXVsdDsKIAogQWRhcHRlcjo6fkFkYXB0ZXIoKSA9IGRlZmF1bHQ7CiAKK3Np
emVfdCBBZGFwdGVyOjplbnVtZXJhdGVGZWF0dXJlcyhXR1BVRmVhdHVyZU5hbWUqIGZlYXR1cmVz
KQoreworICAgIFVOVVNFRF9QQVJBTShmZWF0dXJlcyk7CisgICAgcmV0dXJuIDA7Cit9CisKIGJv
b2wgQWRhcHRlcjo6Z2V0TGltaXRzKFdHUFVTdXBwb3J0ZWRMaW1pdHMqIGxpbWl0cykKIHsKICAg
ICBVTlVTRURfUEFSQU0obGltaXRzKTsKQEAgLTUzLDEyICs1OSw2IEBAIGJvb2wgQWRhcHRlcjo6
aGFzRmVhdHVyZShXR1BVRmVhdHVyZU5hbWUgZmVhdHVyZSkKICAgICByZXR1cm4gZmFsc2U7CiB9
CiAKLVdHUFVGZWF0dXJlTmFtZSBBZGFwdGVyOjpnZXRGZWF0dXJlQXRJbmRleChzaXplX3QgaW5k
ZXgpCi17Ci0gICAgVU5VU0VEX1BBUkFNKGluZGV4KTsKLSAgICByZXR1cm4gV0dQVUZlYXR1cmVO
YW1lX1VuZGVmaW5lZDsKLX0KLQogdm9pZCBBZGFwdGVyOjpyZXF1ZXN0RGV2aWNlKGNvbnN0IFdH
UFVEZXZpY2VEZXNjcmlwdG9yKiBkZXNjcmlwdG9yLCBXVEY6OkZ1bmN0aW9uPHZvaWQoV0dQVVJl
cXVlc3REZXZpY2VTdGF0dXMsIFJlZjxEZXZpY2U+JiYsIGNvbnN0IGNoYXIqKT4mJiBjYWxsYmFj
aykKIHsKICAgICBVTlVTRURfUEFSQU0oZGVzY3JpcHRvcik7CkBAIC03Miw2ICs3MiwxMSBAQCB2
b2lkIHdncHVBZGFwdGVyUmVsZWFzZShXR1BVQWRhcHRlciBhZGFwdGVyKQogICAgIGRlbGV0ZSBh
ZGFwdGVyOwogfQogCitzaXplX3Qgd2dwdUFkYXB0ZXJFbnVtZXJhdGVGZWF0dXJlcyhXR1BVQWRh
cHRlciBhZGFwdGVyLCBXR1BVRmVhdHVyZU5hbWUqIGZlYXR1cmVzKQoreworICAgIHJldHVybiBh
ZGFwdGVyLT5hZGFwdGVyLT5lbnVtZXJhdGVGZWF0dXJlcyhmZWF0dXJlcyk7Cit9CisKIGJvb2wg
d2dwdUFkYXB0ZXJHZXRMaW1pdHMoV0dQVUFkYXB0ZXIgYWRhcHRlciwgV0dQVVN1cHBvcnRlZExp
bWl0cyogbGltaXRzKQogewogICAgIHJldHVybiBhZGFwdGVyLT5hZGFwdGVyLT5nZXRMaW1pdHMo
bGltaXRzKTsKQEAgLTg3LDExICs5Miw2IEBAIGJvb2wgd2dwdUFkYXB0ZXJIYXNGZWF0dXJlKFdH
UFVBZGFwdGVyIGFkYXB0ZXIsIFdHUFVGZWF0dXJlTmFtZSBmZWF0dXJlKQogICAgIHJldHVybiBh
ZGFwdGVyLT5hZGFwdGVyLT5oYXNGZWF0dXJlKGZlYXR1cmUpOwogfQogCi1XR1BVRmVhdHVyZU5h
bWUgd2dwdUFkYXB0ZXJHZXRGZWF0dXJlQXRJbmRleChXR1BVQWRhcHRlciBhZGFwdGVyLCBzaXpl
X3QgaW5kZXgpCi17Ci0gICAgcmV0dXJuIGFkYXB0ZXItPmFkYXB0ZXItPmdldEZlYXR1cmVBdElu
ZGV4KGluZGV4KTsKLX0KLQogdm9pZCB3Z3B1QWRhcHRlclJlcXVlc3REZXZpY2UoV0dQVUFkYXB0
ZXIgYWRhcHRlciwgY29uc3QgV0dQVURldmljZURlc2NyaXB0b3IqIGRlc2NyaXB0b3IsIFdHUFVS
ZXF1ZXN0RGV2aWNlQ2FsbGJhY2sgY2FsbGJhY2ssIHZvaWQqIHVzZXJkYXRhKQogewogICAgIGFk
YXB0ZXItPmFkYXB0ZXItPnJlcXVlc3REZXZpY2UoZGVzY3JpcHRvciwgW2NhbGxiYWNrLCB1c2Vy
ZGF0YV0gKFdHUFVSZXF1ZXN0RGV2aWNlU3RhdHVzIHN0YXR1cywgUmVmPFdlYkdQVTo6RGV2aWNl
PiYmIGRldmljZSwgY29uc3QgY2hhciogbWVzc2FnZSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkdQVS9XZWJHUFUvQ29tbWFuZEVuY29kZXIuaCBiL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0NvbW1h
bmRFbmNvZGVyLmgKaW5kZXggNTljYjQzMTJkMzViYTk0MzM4YjhjZTRiZjdkMDRlNTM5ZjI5OWY3
Ny4uMmY2MGYxYzhhNzUyY2RlN2YwODI0NGViY2RjODkxMzNkNzFhNzRjMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkdQVS9XZWJHUFUvQ29tbWFuZEVuY29kZXIuaAorKysgYi9Tb3VyY2UvV2ViR1BV
L1dlYkdQVS9Db21tYW5kRW5jb2Rlci5oCkBAIC01NCw3ICs1NCw3IEBAIHB1YmxpYzoKICAgICB2
b2lkIGNvcHlCdWZmZXJUb1RleHR1cmUoY29uc3QgV0dQVUltYWdlQ29weUJ1ZmZlciogc291cmNl
LCBjb25zdCBXR1BVSW1hZ2VDb3B5VGV4dHVyZSogZGVzdGluYXRpb24sIGNvbnN0IFdHUFVFeHRl
bnQzRCogY29weVNpemUpOwogICAgIHZvaWQgY29weVRleHR1cmVUb0J1ZmZlcihjb25zdCBXR1BV
SW1hZ2VDb3B5VGV4dHVyZSogc291cmNlLCBjb25zdCBXR1BVSW1hZ2VDb3B5QnVmZmVyKiBkZXN0
aW5hdGlvbiwgY29uc3QgV0dQVUV4dGVudDNEKiBjb3B5U2l6ZSk7CiAgICAgdm9pZCBjb3B5VGV4
dHVyZVRvVGV4dHVyZShjb25zdCBXR1BVSW1hZ2VDb3B5VGV4dHVyZSogc291cmNlLCBjb25zdCBX
R1BVSW1hZ2VDb3B5VGV4dHVyZSogZGVzdGluYXRpb24sIGNvbnN0IFdHUFVFeHRlbnQzRCogY29w
eVNpemUpOwotICAgIHZvaWQgZmlsbEJ1ZmZlcihjb25zdCBCdWZmZXImIGRlc3RpbmF0aW9uLCB1
aW50NjRfdCBkZXN0aW5hdGlvbk9mZnNldCwgdWludDY0X3Qgc2l6ZSk7CisgICAgdm9pZCBjbGVh
ckJ1ZmZlcihjb25zdCBCdWZmZXImLCB1aW50NjRfdCBvZmZzZXQsIHVpbnQ2NF90IHNpemUpOwog
ICAgIFJlZjxDb21tYW5kQnVmZmVyPiBmaW5pc2goY29uc3QgV0dQVUNvbW1hbmRCdWZmZXJEZXNj
cmlwdG9yKik7CiAgICAgdm9pZCBpbnNlcnREZWJ1Z01hcmtlcihjb25zdCBjaGFyKiBtYXJrZXJM
YWJlbCk7CiAgICAgdm9pZCBwb3BEZWJ1Z0dyb3VwKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
R1BVL1dlYkdQVS9Db21tYW5kRW5jb2Rlci5tbSBiL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0NvbW1h
bmRFbmNvZGVyLm1tCmluZGV4IDhkMzhlMTc5YTQ0Mzk3YmZmODM2MGVmNDE0YzhmNzJmMDE1YmRh
ZmYuLmRkNWNjM2IzMzBhMDI2MjA5NmY1NDE4MzRmNmNjNmY3ZTJiNGI0YjcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJHUFUvV2ViR1BVL0NvbW1hbmRFbmNvZGVyLm1tCisrKyBiL1NvdXJjZS9XZWJH
UFUvV2ViR1BVL0NvbW1hbmRFbmNvZGVyLm1tCkBAIC04MSwxMCArODEsMTAgQEAgdm9pZCBDb21t
YW5kRW5jb2Rlcjo6Y29weVRleHR1cmVUb1RleHR1cmUoY29uc3QgV0dQVUltYWdlQ29weVRleHR1
cmUqIHNvdXJjZSwgY28KICAgICBVTlVTRURfUEFSQU0oY29weVNpemUpOwogfQogCi12b2lkIENv
bW1hbmRFbmNvZGVyOjpmaWxsQnVmZmVyKGNvbnN0IEJ1ZmZlciYgZGVzdGluYXRpb24sIHVpbnQ2
NF90IGRlc3RpbmF0aW9uT2Zmc2V0LCB1aW50NjRfdCBzaXplKQordm9pZCBDb21tYW5kRW5jb2Rl
cjo6Y2xlYXJCdWZmZXIoY29uc3QgQnVmZmVyJiBidWZmZXIsIHVpbnQ2NF90IG9mZnNldCwgdWlu
dDY0X3Qgc2l6ZSkKIHsKLSAgICBVTlVTRURfUEFSQU0oZGVzdGluYXRpb24pOwotICAgIFVOVVNF
RF9QQVJBTShkZXN0aW5hdGlvbk9mZnNldCk7CisgICAgVU5VU0VEX1BBUkFNKGJ1ZmZlcik7Cisg
ICAgVU5VU0VEX1BBUkFNKG9mZnNldCk7CiAgICAgVU5VU0VEX1BBUkFNKHNpemUpOwogfQogCkBA
IC0xNjUsOSArMTY1LDkgQEAgdm9pZCB3Z3B1Q29tbWFuZEVuY29kZXJDb3B5VGV4dHVyZVRvVGV4
dHVyZShXR1BVQ29tbWFuZEVuY29kZXIgY29tbWFuZEVuY29kZXIsIGMKICAgICBjb21tYW5kRW5j
b2Rlci0+Y29tbWFuZEVuY29kZXItPmNvcHlUZXh0dXJlVG9UZXh0dXJlKHNvdXJjZSwgZGVzdGlu
YXRpb24sIGNvcHlTaXplKTsKIH0KIAotdm9pZCB3Z3B1Q29tbWFuZEVuY29kZXJGaWxsQnVmZmVy
KFdHUFVDb21tYW5kRW5jb2RlciBjb21tYW5kRW5jb2RlciwgV0dQVUJ1ZmZlciBkZXN0aW5hdGlv
biwgdWludDY0X3QgZGVzdGluYXRpb25PZmZzZXQsIHVpbnQ2NF90IHNpemUpCit2b2lkIHdncHVD
b21tYW5kRW5jb2RlckNsZWFyQnVmZmVyKFdHUFVDb21tYW5kRW5jb2RlciBjb21tYW5kRW5jb2Rl
ciwgV0dQVUJ1ZmZlciBidWZmZXIsIHVpbnQ2NF90IG9mZnNldCwgdWludDY0X3Qgc2l6ZSkKIHsK
LSAgICBjb21tYW5kRW5jb2Rlci0+Y29tbWFuZEVuY29kZXItPmZpbGxCdWZmZXIoZGVzdGluYXRp
b24tPmJ1ZmZlciwgZGVzdGluYXRpb25PZmZzZXQsIHNpemUpOworICAgIGNvbW1hbmRFbmNvZGVy
LT5jb21tYW5kRW5jb2Rlci0+Y2xlYXJCdWZmZXIoYnVmZmVyLT5idWZmZXIsIG9mZnNldCwgc2l6
ZSk7CiB9CiAKIFdHUFVDb21tYW5kQnVmZmVyIHdncHVDb21tYW5kRW5jb2RlckZpbmlzaChXR1BV
Q29tbWFuZEVuY29kZXIgY29tbWFuZEVuY29kZXIsIGNvbnN0IFdHUFVDb21tYW5kQnVmZmVyRGVz
Y3JpcHRvciogZGVzY3JpcHRvcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0Nv
bXB1dGVQYXNzRW5jb2Rlci5oIGIvU291cmNlL1dlYkdQVS9XZWJHUFUvQ29tcHV0ZVBhc3NFbmNv
ZGVyLmgKaW5kZXggMGM2NGFkOTYxY2I3NjNiYjBiZWQwNjk4Y2MyZmVmZDBiZDliZjgxZi4uZDA2
NDMyYjIwZDJkYjhlMmI4ZTJmYjQyOGRjMDhlZTNjMDA4Mjk4MiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkdQVS9XZWJHUFUvQ29tcHV0ZVBhc3NFbmNvZGVyLmgKKysrIGIvU291cmNlL1dlYkdQVS9X
ZWJHUFUvQ29tcHV0ZVBhc3NFbmNvZGVyLmgKQEAgLTU3LDcgKzU3LDYgQEAgcHVibGljOgogICAg
IHZvaWQgcHVzaERlYnVnR3JvdXAoY29uc3QgY2hhciogZ3JvdXBMYWJlbCk7CiAgICAgdm9pZCBz
ZXRCaW5kR3JvdXAodWludDMyX3QgZ3JvdXBJbmRleCwgY29uc3QgQmluZEdyb3VwJiwgdWludDMy
X3QgZHluYW1pY09mZnNldENvdW50LCBjb25zdCB1aW50MzJfdCogZHluYW1pY09mZnNldHMpOwog
ICAgIHZvaWQgc2V0UGlwZWxpbmUoY29uc3QgQ29tcHV0ZVBpcGVsaW5lJik7Ci0gICAgdm9pZCB3
cml0ZVRpbWVzdGFtcChjb25zdCBRdWVyeVNldCYsIHVpbnQzMl90IHF1ZXJ5SW5kZXgpOwogICAg
IHZvaWQgc2V0TGFiZWwoY29uc3QgY2hhciopOwogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkdQVS9XZWJHUFUvQ29tcHV0ZVBhc3NFbmNvZGVyLm1tIGIvU291cmNlL1dlYkdQVS9X
ZWJHUFUvQ29tcHV0ZVBhc3NFbmNvZGVyLm1tCmluZGV4IGMxMWQ1NGVkMzQ0MTU2ZTNmNTVjZWVh
MzFhNzczMzg4MDIzMGVlMGMuLjg5YmEwNGQ1M2U5YTQwN2VlYzhhNzY2NjIyZmVhNWU1OWU3YTU5
MTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0NvbXB1dGVQYXNzRW5jb2Rlci5t
bQorKysgYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9Db21wdXRlUGFzc0VuY29kZXIubW0KQEAgLTky
LDEyICs5Miw2IEBAIHZvaWQgQ29tcHV0ZVBhc3NFbmNvZGVyOjpzZXRQaXBlbGluZShjb25zdCBD
b21wdXRlUGlwZWxpbmUmIHBpcGVsaW5lKQogICAgIFVOVVNFRF9QQVJBTShwaXBlbGluZSk7CiB9
CiAKLXZvaWQgQ29tcHV0ZVBhc3NFbmNvZGVyOjp3cml0ZVRpbWVzdGFtcChjb25zdCBRdWVyeVNl
dCYgcXVlcnlTZXQsIHVpbnQzMl90IHF1ZXJ5SW5kZXgpCi17Ci0gICAgVU5VU0VEX1BBUkFNKHF1
ZXJ5U2V0KTsKLSAgICBVTlVTRURfUEFSQU0ocXVlcnlJbmRleCk7Ci19Ci0KIHZvaWQgQ29tcHV0
ZVBhc3NFbmNvZGVyOjpzZXRMYWJlbChjb25zdCBjaGFyKiBsYWJlbCkKIHsKICAgICBVTlVTRURf
UEFSQU0obGFiZWwpOwpAQCAtMTYwLDExICsxNTQsNiBAQCB2b2lkIHdncHVDb21wdXRlUGFzc0Vu
Y29kZXJTZXRQaXBlbGluZShXR1BVQ29tcHV0ZVBhc3NFbmNvZGVyIGNvbXB1dGVQYXNzRW5jb2Rl
cgogICAgIGNvbXB1dGVQYXNzRW5jb2Rlci0+Y29tcHV0ZVBhc3NFbmNvZGVyLT5zZXRQaXBlbGlu
ZShwaXBlbGluZS0+Y29tcHV0ZVBpcGVsaW5lKTsKIH0KIAotdm9pZCB3Z3B1Q29tcHV0ZVBhc3NF
bmNvZGVyV3JpdGVUaW1lc3RhbXAoV0dQVUNvbXB1dGVQYXNzRW5jb2RlciBjb21wdXRlUGFzc0Vu
Y29kZXIsIFdHUFVRdWVyeVNldCBxdWVyeVNldCwgdWludDMyX3QgcXVlcnlJbmRleCkKLXsKLSAg
ICBjb21wdXRlUGFzc0VuY29kZXItPmNvbXB1dGVQYXNzRW5jb2Rlci0+d3JpdGVUaW1lc3RhbXAo
cXVlcnlTZXQtPnF1ZXJ5U2V0LCBxdWVyeUluZGV4KTsKLX0KLQogdm9pZCB3Z3B1Q29tcHV0ZVBh
c3NFbmNvZGVyU2V0TGFiZWwoV0dQVUNvbXB1dGVQYXNzRW5jb2RlciBjb21wdXRlUGFzc0VuY29k
ZXIsIGNvbnN0IGNoYXIqIGxhYmVsKQogewogICAgIGNvbXB1dGVQYXNzRW5jb2Rlci0+Y29tcHV0
ZVBhc3NFbmNvZGVyLT5zZXRMYWJlbChsYWJlbCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViR1BV
L1dlYkdQVS9EZXZpY2UuaCBiL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0RldmljZS5oCmluZGV4IDI4
ODdhZmVhZTViZDc0MjA2ZGMyNjUyMDc2ZDk0OTgwZjI2MjBhOTYuLjUyNWMxM2IxN2Q5NjQ3ZTYy
YmNkMDlhZmM3Y2JhMGYzOTRlNjQ5NmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJHUFUvV2ViR1BV
L0RldmljZS5oCisrKyBiL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0RldmljZS5oCkBAIC03NSw4ICs3
NSwxMCBAQCBwdWJsaWM6CiAgICAgUmVmPFN3YXBDaGFpbj4gY3JlYXRlU3dhcENoYWluKGNvbnN0
IFN1cmZhY2UmLCBjb25zdCBXR1BVU3dhcENoYWluRGVzY3JpcHRvciopOwogICAgIFJlZjxUZXh0
dXJlPiBjcmVhdGVUZXh0dXJlKGNvbnN0IFdHUFVUZXh0dXJlRGVzY3JpcHRvciopOwogICAgIHZv
aWQgZGVzdHJveSgpOworICAgIHNpemVfdCBlbnVtZXJhdGVGZWF0dXJlcyhXR1BVRmVhdHVyZU5h
bWUqIGZlYXR1cmVzKTsKICAgICBib29sIGdldExpbWl0cyhXR1BVU3VwcG9ydGVkTGltaXRzKik7
CiAgICAgUmVmPFF1ZXVlPiBnZXRRdWV1ZSgpOworICAgIGJvb2wgaGFzRmVhdHVyZShXR1BVRmVh
dHVyZU5hbWUpOwogICAgIGJvb2wgcG9wRXJyb3JTY29wZShXVEY6OkZ1bmN0aW9uPHZvaWQoV0dQ
VUVycm9yVHlwZSwgY29uc3QgY2hhciopPiYmIGNhbGxiYWNrKTsKICAgICB2b2lkIHB1c2hFcnJv
clNjb3BlKFdHUFVFcnJvckZpbHRlcik7CiAgICAgdm9pZCBzZXREZXZpY2VMb3N0Q2FsbGJhY2so
V1RGOjpGdW5jdGlvbjx2b2lkKFdHUFVEZXZpY2VMb3N0UmVhc29uLCBjb25zdCBjaGFyKik+JiYp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkdQVS9XZWJHUFUvRGV2aWNlLm1tIGIvU291cmNlL1dl
YkdQVS9XZWJHUFUvRGV2aWNlLm1tCmluZGV4IGYxYTg1NGZkYjJhOTU2NDI0OWY1YjBkZDUzNWVj
YTQ4ZTUxZmE1ODQuLjE0ZjU1Y2Q0MGIxYmM3YWMzZThlNzJlYTU5MGQwNzFhMzJmZGU3OGIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0RldmljZS5tbQorKysgYi9Tb3VyY2UvV2Vi
R1BVL1dlYkdQVS9EZXZpY2UubW0KQEAgLTE0NSw2ICsxNDUsMTIgQEAgdm9pZCBEZXZpY2U6OmRl
c3Ryb3koKQogewogfQogCitzaXplX3QgRGV2aWNlOjplbnVtZXJhdGVGZWF0dXJlcyhXR1BVRmVh
dHVyZU5hbWUqIGZlYXR1cmVzKQoreworICAgIFVOVVNFRF9QQVJBTShmZWF0dXJlcyk7CisgICAg
cmV0dXJuIDA7Cit9CisKIGJvb2wgRGV2aWNlOjpnZXRMaW1pdHMoV0dQVVN1cHBvcnRlZExpbWl0
cyogbGltaXRzKQogewogICAgIFVOVVNFRF9QQVJBTShsaW1pdHMpOwpAQCAtMTU2LDYgKzE2Miwx
MiBAQCBSZWY8UXVldWU+IERldmljZTo6Z2V0UXVldWUoKQogICAgIHJldHVybiBRdWV1ZTo6Y3Jl
YXRlKCk7CiB9CiAKK2Jvb2wgRGV2aWNlOjpoYXNGZWF0dXJlKFdHUFVGZWF0dXJlTmFtZSBmZWF0
dXJlKQoreworICAgIFVOVVNFRF9QQVJBTShmZWF0dXJlKTsKKyAgICByZXR1cm4gZmFsc2U7Cit9
CisKIGJvb2wgRGV2aWNlOjpwb3BFcnJvclNjb3BlKFdURjo6RnVuY3Rpb248dm9pZChXR1BVRXJy
b3JUeXBlLCBjb25zdCBjaGFyKik+JiYgY2FsbGJhY2spCiB7CiAgICAgVU5VU0VEX1BBUkFNKGNh
bGxiYWNrKTsKQEAgLTI3Myw2ICsyODUsMTEgQEAgdm9pZCB3Z3B1RGV2aWNlRGVzdHJveShXR1BV
RGV2aWNlIGRldmljZSkKICAgICBkZXZpY2UtPmRldmljZS0+ZGVzdHJveSgpOwogfQogCitzaXpl
X3Qgd2dwdURldmljZUVudW1lcmF0ZUZlYXR1cmVzKFdHUFVEZXZpY2UgZGV2aWNlLCBXR1BVRmVh
dHVyZU5hbWUqIGZlYXR1cmVzKQoreworICAgIHJldHVybiBkZXZpY2UtPmRldmljZS0+ZW51bWVy
YXRlRmVhdHVyZXMoZmVhdHVyZXMpOworfQorCiBib29sIHdncHVEZXZpY2VHZXRMaW1pdHMoV0dQ
VURldmljZSBkZXZpY2UsIFdHUFVTdXBwb3J0ZWRMaW1pdHMqIGxpbWl0cykKIHsKICAgICByZXR1
cm4gZGV2aWNlLT5kZXZpY2UtPmdldExpbWl0cyhsaW1pdHMpOwpAQCAtMjgzLDYgKzMwMCwxMSBA
QCBXR1BVUXVldWUgd2dwdURldmljZUdldFF1ZXVlKFdHUFVEZXZpY2UgZGV2aWNlKQogICAgIHJl
dHVybiBuZXcgV0dQVVF1ZXVlSW1wbCB7IGRldmljZS0+ZGV2aWNlLT5nZXRRdWV1ZSgpIH07CiB9
CiAKK2Jvb2wgd2dwdURldmljZUhhc0ZlYXR1cmUoV0dQVURldmljZSBkZXZpY2UsIFdHUFVGZWF0
dXJlTmFtZSBmZWF0dXJlKQoreworICAgIHJldHVybiBkZXZpY2UtPmRldmljZS0+aGFzRmVhdHVy
ZShmZWF0dXJlKTsKK30KKwogYm9vbCB3Z3B1RGV2aWNlUG9wRXJyb3JTY29wZShXR1BVRGV2aWNl
IGRldmljZSwgV0dQVUVycm9yQ2FsbGJhY2sgY2FsbGJhY2ssIHZvaWQqIHVzZXJkYXRhKQogewog
ICAgIHJldHVybiBkZXZpY2UtPmRldmljZS0+cG9wRXJyb3JTY29wZShbY2FsbGJhY2ssIHVzZXJk
YXRhXSAoV0dQVUVycm9yVHlwZSB0eXBlLCBjb25zdCBjaGFyKiBtZXNzYWdlKSB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9JbnN0YW5jZS5tbSBiL1NvdXJjZS9XZWJHUFUvV2Vi
R1BVL0luc3RhbmNlLm1tCmluZGV4IDUwMmJlNDc5YjFjOTY4MDFiYjMxM2I2MDE4MmQzYmUyYzli
NWU1NzUuLjUyY2UyYTdjMGY2MjY1ZjU2MGNlNWI2Nzg5OThlNThiMzI3NGRiNDUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0luc3RhbmNlLm1tCisrKyBiL1NvdXJjZS9XZWJHUFUv
V2ViR1BVL0luc3RhbmNlLm1tCkBAIC03MiwyNiArNzIsMTcgQEAgV0dQVVByb2Mgd2dwdUdldFBy
b2NBZGRyZXNzKFdHUFVEZXZpY2UgZGV2aWNlLCBjb25zdCBjaGFyKiBwcm9jTmFtZSkKIHsKICAg
ICBVTlVTRURfUEFSQU0oZGV2aWNlKTsKICAgICAvLyBGSVhNRTogVXNlIGdwZXJmIHRvIG1ha2Ug
dGhpcyBmYXN0ZXIuCi0gICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1QWRhcHRlckdldEZl
YXR1cmVBdEluZGV4IikpCi0gICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9j
Pigmd2dwdUFkYXB0ZXJHZXRGZWF0dXJlQXRJbmRleCk7CisgICAgLy8gRklYTUU6IEdlbmVyYXRl
IHRoaXMgYXQgYnVpbGQgdGltZQorICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdUFkYXB0
ZXJFbnVtZXJhdGVGZWF0dXJlcyIpKQorICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxX
R1BVUHJvYz4oJndncHVBZGFwdGVyRW51bWVyYXRlRmVhdHVyZXMpOwogICAgIGlmICghc3RyY21w
KHByb2NOYW1lLCAid2dwdUFkYXB0ZXJHZXRMaW1pdHMiKSkKICAgICAgICAgcmV0dXJuIHJlaW50
ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1QWRhcHRlckdldExpbWl0cyk7CiAgICAgaWYgKCFz
dHJjbXAocHJvY05hbWUsICJ3Z3B1QWRhcHRlckdldFByb3BlcnRpZXMiKSkKICAgICAgICAgcmV0
dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1QWRhcHRlckdldFByb3BlcnRpZXMp
OwogICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdUFkYXB0ZXJIYXNGZWF0dXJlIikpCiAg
ICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdUFkYXB0ZXJIYXNG
ZWF0dXJlKTsKLSAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVBZGFwdGVyUmVsZWFzZSIp
KQotICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVBZGFwdGVy
UmVsZWFzZSk7CiAgICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1QWRhcHRlclJlcXVlc3RE
ZXZpY2UiKSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1
QWRhcHRlclJlcXVlc3REZXZpY2UpOwotICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdUJp
bmRHcm91cExheW91dFJlbGVhc2UiKSkKLSAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8
V0dQVVByb2M+KCZ3Z3B1QmluZEdyb3VwTGF5b3V0UmVsZWFzZSk7Ci0gICAgaWYgKCFzdHJjbXAo
cHJvY05hbWUsICJ3Z3B1QmluZEdyb3VwTGF5b3V0U2V0TGFiZWwiKSkKLSAgICAgICAgcmV0dXJu
IHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1QmluZEdyb3VwTGF5b3V0U2V0TGFiZWwp
OwotICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdUJpbmRHcm91cFJlbGVhc2UiKSkKLSAg
ICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1QmluZEdyb3VwUmVs
ZWFzZSk7Ci0gICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1QmluZEdyb3VwU2V0TGFiZWwi
KSkKLSAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1QmluZEdy
b3VwU2V0TGFiZWwpOwogICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdUJ1ZmZlckRlc3Ry
b3kiKSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1QnVm
ZmVyRGVzdHJveSk7CiAgICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1QnVmZmVyR2V0Q29u
c3RNYXBwZWRSYW5nZSIpKQpAQCAtMTAwLDIwICs5MSwxNCBAQCBXR1BVUHJvYyB3Z3B1R2V0UHJv
Y0FkZHJlc3MoV0dQVURldmljZSBkZXZpY2UsIGNvbnN0IGNoYXIqIHByb2NOYW1lKQogICAgICAg
ICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVCdWZmZXJHZXRNYXBwZWRS
YW5nZSk7CiAgICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1QnVmZmVyTWFwQXN5bmMiKSkK
ICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1QnVmZmVyTWFw
QXN5bmMpOwotICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdUJ1ZmZlclJlbGVhc2UiKSkK
LSAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1QnVmZmVyUmVs
ZWFzZSk7Ci0gICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1QnVmZmVyU2V0TGFiZWwiKSkK
LSAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1QnVmZmVyU2V0
TGFiZWwpOwogICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdUJ1ZmZlclVubWFwIikpCiAg
ICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdUJ1ZmZlclVubWFw
KTsKLSAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVDb21tYW5kQnVmZmVyUmVsZWFzZSIp
KQotICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVDb21tYW5k
QnVmZmVyUmVsZWFzZSk7Ci0gICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1Q29tbWFuZEJ1
ZmZlclNldExhYmVsIikpCi0gICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9j
Pigmd2dwdUNvbW1hbmRCdWZmZXJTZXRMYWJlbCk7CiAgICAgaWYgKCFzdHJjbXAocHJvY05hbWUs
ICJ3Z3B1Q29tbWFuZEVuY29kZXJCZWdpbkNvbXB1dGVQYXNzIikpCiAgICAgICAgIHJldHVybiBy
ZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdUNvbW1hbmRFbmNvZGVyQmVnaW5Db21wdXRl
UGFzcyk7CiAgICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1Q29tbWFuZEVuY29kZXJCZWdp
blJlbmRlclBhc3MiKSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+
KCZ3Z3B1Q29tbWFuZEVuY29kZXJCZWdpblJlbmRlclBhc3MpOworICAgIGlmICghc3RyY21wKHBy
b2NOYW1lLCAid2dwdUNvbW1hbmRFbmNvZGVyQ2xlYXJCdWZmZXIiKSkKKyAgICAgICAgcmV0dXJu
IHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1Q29tbWFuZEVuY29kZXJDbGVhckJ1ZmZl
cik7CiAgICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1Q29tbWFuZEVuY29kZXJDb3B5QnVm
ZmVyVG9CdWZmZXIiKSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+
KCZ3Z3B1Q29tbWFuZEVuY29kZXJDb3B5QnVmZmVyVG9CdWZmZXIpOwogICAgIGlmICghc3RyY21w
KHByb2NOYW1lLCAid2dwdUNvbW1hbmRFbmNvZGVyQ29weUJ1ZmZlclRvVGV4dHVyZSIpKQpAQCAt
MTIyLDggKzEwNyw2IEBAIFdHUFVQcm9jIHdncHVHZXRQcm9jQWRkcmVzcyhXR1BVRGV2aWNlIGRl
dmljZSwgY29uc3QgY2hhciogcHJvY05hbWUpCiAgICAgICAgIHJldHVybiByZWludGVycHJldF9j
YXN0PFdHUFVQcm9jPigmd2dwdUNvbW1hbmRFbmNvZGVyQ29weVRleHR1cmVUb0J1ZmZlcik7CiAg
ICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1Q29tbWFuZEVuY29kZXJDb3B5VGV4dHVyZVRv
VGV4dHVyZSIpKQogICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndn
cHVDb21tYW5kRW5jb2RlckNvcHlUZXh0dXJlVG9UZXh0dXJlKTsKLSAgICBpZiAoIXN0cmNtcChw
cm9jTmFtZSwgIndncHVDb21tYW5kRW5jb2RlckZpbGxCdWZmZXIiKSkKLSAgICAgICAgcmV0dXJu
IHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1Q29tbWFuZEVuY29kZXJGaWxsQnVmZmVy
KTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVDb21tYW5kRW5jb2RlckZpbmlzaCIp
KQogICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVDb21tYW5k
RW5jb2RlckZpbmlzaCk7CiAgICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1Q29tbWFuZEVu
Y29kZXJJbnNlcnREZWJ1Z01hcmtlciIpKQpAQCAtMTMyLDEyICsxMTUsOCBAQCBXR1BVUHJvYyB3
Z3B1R2V0UHJvY0FkZHJlc3MoV0dQVURldmljZSBkZXZpY2UsIGNvbnN0IGNoYXIqIHByb2NOYW1l
KQogICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVDb21tYW5k
RW5jb2RlclBvcERlYnVnR3JvdXApOwogICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdUNv
bW1hbmRFbmNvZGVyUHVzaERlYnVnR3JvdXAiKSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0
X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1Q29tbWFuZEVuY29kZXJQdXNoRGVidWdHcm91cCk7Ci0gICAg
aWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1Q29tbWFuZEVuY29kZXJSZWxlYXNlIikpCi0gICAg
ICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdUNvbW1hbmRFbmNvZGVy
UmVsZWFzZSk7CiAgICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1Q29tbWFuZEVuY29kZXJS
ZXNvbHZlUXVlcnlTZXQiKSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVBy
b2M+KCZ3Z3B1Q29tbWFuZEVuY29kZXJSZXNvbHZlUXVlcnlTZXQpOwotICAgIGlmICghc3RyY21w
KHByb2NOYW1lLCAid2dwdUNvbW1hbmRFbmNvZGVyU2V0TGFiZWwiKSkKLSAgICAgICAgcmV0dXJu
IHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1Q29tbWFuZEVuY29kZXJTZXRMYWJlbCk7
CiAgICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1Q29tbWFuZEVuY29kZXJXcml0ZVRpbWVz
dGFtcCIpKQogICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVD
b21tYW5kRW5jb2RlcldyaXRlVGltZXN0YW1wKTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwg
IndncHVDb21wdXRlUGFzc0VuY29kZXJCZWdpblBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5IikpCkBA
IC0xNTYsMjAgKzEzNSwxMiBAQCBXR1BVUHJvYyB3Z3B1R2V0UHJvY0FkZHJlc3MoV0dQVURldmlj
ZSBkZXZpY2UsIGNvbnN0IGNoYXIqIHByb2NOYW1lKQogICAgICAgICByZXR1cm4gcmVpbnRlcnBy
ZXRfY2FzdDxXR1BVUHJvYz4oJndncHVDb21wdXRlUGFzc0VuY29kZXJQb3BEZWJ1Z0dyb3VwKTsK
ICAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVDb21wdXRlUGFzc0VuY29kZXJQdXNoRGVi
dWdHcm91cCIpKQogICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndn
cHVDb21wdXRlUGFzc0VuY29kZXJQdXNoRGVidWdHcm91cCk7Ci0gICAgaWYgKCFzdHJjbXAocHJv
Y05hbWUsICJ3Z3B1Q29tcHV0ZVBhc3NFbmNvZGVyUmVsZWFzZSIpKQotICAgICAgICByZXR1cm4g
cmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVDb21wdXRlUGFzc0VuY29kZXJSZWxlYXNl
KTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVDb21wdXRlUGFzc0VuY29kZXJTZXRC
aW5kR3JvdXAiKSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3
Z3B1Q29tcHV0ZVBhc3NFbmNvZGVyU2V0QmluZEdyb3VwKTsKLSAgICBpZiAoIXN0cmNtcChwcm9j
TmFtZSwgIndncHVDb21wdXRlUGFzc0VuY29kZXJTZXRMYWJlbCIpKQotICAgICAgICByZXR1cm4g
cmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVDb21wdXRlUGFzc0VuY29kZXJTZXRMYWJl
bCk7CiAgICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1Q29tcHV0ZVBhc3NFbmNvZGVyU2V0
UGlwZWxpbmUiKSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3
Z3B1Q29tcHV0ZVBhc3NFbmNvZGVyU2V0UGlwZWxpbmUpOwotICAgIGlmICghc3RyY21wKHByb2NO
YW1lLCAid2dwdUNvbXB1dGVQYXNzRW5jb2RlcldyaXRlVGltZXN0YW1wIikpCi0gICAgICAgIHJl
dHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdUNvbXB1dGVQYXNzRW5jb2Rlcldy
aXRlVGltZXN0YW1wKTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVDb21wdXRlUGlw
ZWxpbmVHZXRCaW5kR3JvdXBMYXlvdXQiKSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nh
c3Q8V0dQVVByb2M+KCZ3Z3B1Q29tcHV0ZVBpcGVsaW5lR2V0QmluZEdyb3VwTGF5b3V0KTsKLSAg
ICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVDb21wdXRlUGlwZWxpbmVSZWxlYXNlIikpCi0g
ICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdUNvbXB1dGVQaXBl
bGluZVJlbGVhc2UpOwogICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdUNvbXB1dGVQaXBl
bGluZVNldExhYmVsIikpCiAgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9j
Pigmd2dwdUNvbXB1dGVQaXBlbGluZVNldExhYmVsKTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFt
ZSwgIndncHVDcmVhdGVJbnN0YW5jZSIpKQpAQCAtMjA2LDIwICsxNzcsMjAgQEAgV0dQVVByb2Mg
d2dwdUdldFByb2NBZGRyZXNzKFdHUFVEZXZpY2UgZGV2aWNlLCBjb25zdCBjaGFyKiBwcm9jTmFt
ZSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1RGV2aWNl
Q3JlYXRlVGV4dHVyZSk7CiAgICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1RGV2aWNlRGVz
dHJveSIpKQogICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVE
ZXZpY2VEZXN0cm95KTsKKyAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVEZXZpY2VFbnVt
ZXJhdGVGZWF0dXJlcyIpKQorICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJv
Yz4oJndncHVEZXZpY2VFbnVtZXJhdGVGZWF0dXJlcyk7CiAgICAgaWYgKCFzdHJjbXAocHJvY05h
bWUsICJ3Z3B1RGV2aWNlR2V0TGltaXRzIikpCiAgICAgICAgIHJldHVybiByZWludGVycHJldF9j
YXN0PFdHUFVQcm9jPigmd2dwdURldmljZUdldExpbWl0cyk7CiAgICAgaWYgKCFzdHJjbXAocHJv
Y05hbWUsICJ3Z3B1RGV2aWNlR2V0UXVldWUiKSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0
X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1RGV2aWNlR2V0UXVldWUpOworICAgIGlmICghc3RyY21wKHBy
b2NOYW1lLCAid2dwdURldmljZUhhc0ZlYXR1cmUiKSkKKyAgICAgICAgcmV0dXJuIHJlaW50ZXJw
cmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1RGV2aWNlSGFzRmVhdHVyZSk7CiAgICAgaWYgKCFzdHJj
bXAocHJvY05hbWUsICJ3Z3B1RGV2aWNlUG9wRXJyb3JTY29wZSIpKQogICAgICAgICByZXR1cm4g
cmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVEZXZpY2VQb3BFcnJvclNjb3BlKTsKICAg
ICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVEZXZpY2VQdXNoRXJyb3JTY29wZSIpKQogICAg
ICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVEZXZpY2VQdXNoRXJy
b3JTY29wZSk7Ci0gICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1RGV2aWNlUmVsZWFzZSIp
KQotICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVEZXZpY2VS
ZWxlYXNlKTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVEZXZpY2VTZXREZXZpY2VM
b3N0Q2FsbGJhY2siKSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+
KCZ3Z3B1RGV2aWNlU2V0RGV2aWNlTG9zdENhbGxiYWNrKTsKLSAgICBpZiAoIXN0cmNtcChwcm9j
TmFtZSwgIndncHVEZXZpY2VTZXRMYWJlbCIpKQotICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRf
Y2FzdDxXR1BVUHJvYz4oJndncHVEZXZpY2VTZXRMYWJlbCk7CiAgICAgaWYgKCFzdHJjbXAocHJv
Y05hbWUsICJ3Z3B1RGV2aWNlU2V0VW5jYXB0dXJlZEVycm9yQ2FsbGJhY2siKSkKICAgICAgICAg
cmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1RGV2aWNlU2V0VW5jYXB0dXJl
ZEVycm9yQ2FsbGJhY2spOwogICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdUdldFByb2NB
ZGRyZXNzIikpCkBAIC0yMjgsMjYgKzE5OSwxMiBAQCBXR1BVUHJvYyB3Z3B1R2V0UHJvY0FkZHJl
c3MoV0dQVURldmljZSBkZXZpY2UsIGNvbnN0IGNoYXIqIHByb2NOYW1lKQogICAgICAgICByZXR1
cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVJbnN0YW5jZUNyZWF0ZVN1cmZhY2Up
OwogICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdUluc3RhbmNlUHJvY2Vzc0V2ZW50cyIp
KQogICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVJbnN0YW5j
ZVByb2Nlc3NFdmVudHMpOwotICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdUluc3RhbmNl
UmVsZWFzZSIpKQotICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndn
cHVJbnN0YW5jZVJlbGVhc2UpOwogICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdUluc3Rh
bmNlUmVxdWVzdEFkYXB0ZXIiKSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQ
VVByb2M+KCZ3Z3B1SW5zdGFuY2VSZXF1ZXN0QWRhcHRlcik7Ci0gICAgaWYgKCFzdHJjbXAocHJv
Y05hbWUsICJ3Z3B1UGlwZWxpbmVMYXlvdXRSZWxlYXNlIikpCi0gICAgICAgIHJldHVybiByZWlu
dGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdVBpcGVsaW5lTGF5b3V0UmVsZWFzZSk7Ci0gICAg
aWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1UGlwZWxpbmVMYXlvdXRTZXRMYWJlbCIpKQotICAg
ICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVQaXBlbGluZUxheW91
dFNldExhYmVsKTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVRdWVyeVNldERlc3Ry
b3kiKSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1UXVl
cnlTZXREZXN0cm95KTsKLSAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVRdWVyeVNldFJl
bGVhc2UiKSkKLSAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1
UXVlcnlTZXRSZWxlYXNlKTsKLSAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVRdWVyeVNl
dFNldExhYmVsIikpCi0gICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigm
d2dwdVF1ZXJ5U2V0U2V0TGFiZWwpOwogICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdVF1
ZXVlT25TdWJtaXR0ZWRXb3JrRG9uZSIpKQogICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2Fz
dDxXR1BVUHJvYz4oJndncHVRdWV1ZU9uU3VibWl0dGVkV29ya0RvbmUpOwotICAgIGlmICghc3Ry
Y21wKHByb2NOYW1lLCAid2dwdVF1ZXVlUmVsZWFzZSIpKQotICAgICAgICByZXR1cm4gcmVpbnRl
cnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVRdWV1ZVJlbGVhc2UpOwotICAgIGlmICghc3RyY21w
KHByb2NOYW1lLCAid2dwdVF1ZXVlU2V0TGFiZWwiKSkKLSAgICAgICAgcmV0dXJuIHJlaW50ZXJw
cmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1UXVldWVTZXRMYWJlbCk7CiAgICAgaWYgKCFzdHJjbXAo
cHJvY05hbWUsICJ3Z3B1UXVldWVTdWJtaXQiKSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0
X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1UXVldWVTdWJtaXQpOwogICAgIGlmICghc3RyY21wKHByb2NO
YW1lLCAid2dwdVF1ZXVlV3JpdGVCdWZmZXIiKSkKQEAgLTI3MCwyMiArMjI3LDE0IEBAIFdHUFVQ
cm9jIHdncHVHZXRQcm9jQWRkcmVzcyhXR1BVRGV2aWNlIGRldmljZSwgY29uc3QgY2hhciogcHJv
Y05hbWUpCiAgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdVJl
bmRlckJ1bmRsZUVuY29kZXJQb3BEZWJ1Z0dyb3VwKTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFt
ZSwgIndncHVSZW5kZXJCdW5kbGVFbmNvZGVyUHVzaERlYnVnR3JvdXAiKSkKICAgICAgICAgcmV0
dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1UmVuZGVyQnVuZGxlRW5jb2RlclB1
c2hEZWJ1Z0dyb3VwKTsKLSAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVSZW5kZXJCdW5k
bGVFbmNvZGVyUmVsZWFzZSIpKQotICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BV
UHJvYz4oJndncHVSZW5kZXJCdW5kbGVFbmNvZGVyUmVsZWFzZSk7CiAgICAgaWYgKCFzdHJjbXAo
cHJvY05hbWUsICJ3Z3B1UmVuZGVyQnVuZGxlRW5jb2RlclNldEJpbmRHcm91cCIpKQogICAgICAg
ICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVSZW5kZXJCdW5kbGVFbmNv
ZGVyU2V0QmluZEdyb3VwKTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVSZW5kZXJC
dW5kbGVFbmNvZGVyU2V0SW5kZXhCdWZmZXIiKSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0
X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1UmVuZGVyQnVuZGxlRW5jb2RlclNldEluZGV4QnVmZmVyKTsK
LSAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVSZW5kZXJCdW5kbGVFbmNvZGVyU2V0TGFi
ZWwiKSkKLSAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1UmVu
ZGVyQnVuZGxlRW5jb2RlclNldExhYmVsKTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndn
cHVSZW5kZXJCdW5kbGVFbmNvZGVyU2V0UGlwZWxpbmUiKSkKICAgICAgICAgcmV0dXJuIHJlaW50
ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1UmVuZGVyQnVuZGxlRW5jb2RlclNldFBpcGVsaW5l
KTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVSZW5kZXJCdW5kbGVFbmNvZGVyU2V0
VmVydGV4QnVmZmVyIikpCiAgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9j
Pigmd2dwdVJlbmRlckJ1bmRsZUVuY29kZXJTZXRWZXJ0ZXhCdWZmZXIpOwotICAgIGlmICghc3Ry
Y21wKHByb2NOYW1lLCAid2dwdVJlbmRlckJ1bmRsZVJlbGVhc2UiKSkKLSAgICAgICAgcmV0dXJu
IHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1UmVuZGVyQnVuZGxlUmVsZWFzZSk7Ci0g
ICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1UmVuZGVyQnVuZGxlU2V0TGFiZWwiKSkKLSAg
ICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1UmVuZGVyQnVuZGxl
U2V0TGFiZWwpOwogICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdVJlbmRlclBhc3NFbmNv
ZGVyQmVnaW5PY2NsdXNpb25RdWVyeSIpKQogICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2Fz
dDxXR1BVUHJvYz4oJndncHVSZW5kZXJQYXNzRW5jb2RlckJlZ2luT2NjbHVzaW9uUXVlcnkpOwog
ICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdVJlbmRlclBhc3NFbmNvZGVyQmVnaW5QaXBl
bGluZVN0YXRpc3RpY3NRdWVyeSIpKQpAQCAtMzEyLDE2ICsyNjEsMTIgQEAgV0dQVVByb2Mgd2dw
dUdldFByb2NBZGRyZXNzKFdHUFVEZXZpY2UgZGV2aWNlLCBjb25zdCBjaGFyKiBwcm9jTmFtZSkK
ICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1UmVuZGVyUGFz
c0VuY29kZXJQb3BEZWJ1Z0dyb3VwKTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVS
ZW5kZXJQYXNzRW5jb2RlclB1c2hEZWJ1Z0dyb3VwIikpCiAgICAgICAgIHJldHVybiByZWludGVy
cHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdVJlbmRlclBhc3NFbmNvZGVyUHVzaERlYnVnR3JvdXAp
OwotICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdVJlbmRlclBhc3NFbmNvZGVyUmVsZWFz
ZSIpKQotICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVSZW5k
ZXJQYXNzRW5jb2RlclJlbGVhc2UpOwogICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdVJl
bmRlclBhc3NFbmNvZGVyU2V0QmluZEdyb3VwIikpCiAgICAgICAgIHJldHVybiByZWludGVycHJl
dF9jYXN0PFdHUFVQcm9jPigmd2dwdVJlbmRlclBhc3NFbmNvZGVyU2V0QmluZEdyb3VwKTsKICAg
ICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVSZW5kZXJQYXNzRW5jb2RlclNldEJsZW5kQ29u
c3RhbnQiKSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1
UmVuZGVyUGFzc0VuY29kZXJTZXRCbGVuZENvbnN0YW50KTsKICAgICBpZiAoIXN0cmNtcChwcm9j
TmFtZSwgIndncHVSZW5kZXJQYXNzRW5jb2RlclNldEluZGV4QnVmZmVyIikpCiAgICAgICAgIHJl
dHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdVJlbmRlclBhc3NFbmNvZGVyU2V0
SW5kZXhCdWZmZXIpOwotICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdVJlbmRlclBhc3NF
bmNvZGVyU2V0TGFiZWwiKSkKLSAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVBy
b2M+KCZ3Z3B1UmVuZGVyUGFzc0VuY29kZXJTZXRMYWJlbCk7CiAgICAgaWYgKCFzdHJjbXAocHJv
Y05hbWUsICJ3Z3B1UmVuZGVyUGFzc0VuY29kZXJTZXRQaXBlbGluZSIpKQogICAgICAgICByZXR1
cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVSZW5kZXJQYXNzRW5jb2RlclNldFBp
cGVsaW5lKTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVSZW5kZXJQYXNzRW5jb2Rl
clNldFNjaXNzb3JSZWN0IikpCkBAIC0zMzIsNDQgKzI3NywyNCBAQCBXR1BVUHJvYyB3Z3B1R2V0
UHJvY0FkZHJlc3MoV0dQVURldmljZSBkZXZpY2UsIGNvbnN0IGNoYXIqIHByb2NOYW1lKQogICAg
ICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVSZW5kZXJQYXNzRW5j
b2RlclNldFZlcnRleEJ1ZmZlcik7CiAgICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1UmVu
ZGVyUGFzc0VuY29kZXJTZXRWaWV3cG9ydCIpKQogICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRf
Y2FzdDxXR1BVUHJvYz4oJndncHVSZW5kZXJQYXNzRW5jb2RlclNldFZpZXdwb3J0KTsKLSAgICBp
ZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVSZW5kZXJQYXNzRW5jb2RlcldyaXRlVGltZXN0YW1w
IikpCi0gICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdVJlbmRl
clBhc3NFbmNvZGVyV3JpdGVUaW1lc3RhbXApOwogICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAi
d2dwdVJlbmRlclBpcGVsaW5lR2V0QmluZEdyb3VwTGF5b3V0IikpCiAgICAgICAgIHJldHVybiBy
ZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdVJlbmRlclBpcGVsaW5lR2V0QmluZEdyb3Vw
TGF5b3V0KTsKLSAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVSZW5kZXJQaXBlbGluZVJl
bGVhc2UiKSkKLSAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1
UmVuZGVyUGlwZWxpbmVSZWxlYXNlKTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVS
ZW5kZXJQaXBlbGluZVNldExhYmVsIikpCiAgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0
PFdHUFVQcm9jPigmd2dwdVJlbmRlclBpcGVsaW5lU2V0TGFiZWwpOwotICAgIGlmICghc3RyY21w
KHByb2NOYW1lLCAid2dwdVNhbXBsZXJSZWxlYXNlIikpCi0gICAgICAgIHJldHVybiByZWludGVy
cHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdVNhbXBsZXJSZWxlYXNlKTsKLSAgICBpZiAoIXN0cmNt
cChwcm9jTmFtZSwgIndncHVTYW1wbGVyU2V0TGFiZWwiKSkKLSAgICAgICAgcmV0dXJuIHJlaW50
ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1U2FtcGxlclNldExhYmVsKTsKLSAgICBpZiAoIXN0
cmNtcChwcm9jTmFtZSwgIndncHVTaGFkZXJNb2R1bGVSZWxlYXNlIikpCi0gICAgICAgIHJldHVy
biByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdVNoYWRlck1vZHVsZVJlbGVhc2UpOwor
ICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdVNoYWRlck1vZHVsZUdldENvbXBpbGF0aW9u
SW5mbyIpKQorICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVT
aGFkZXJNb2R1bGVHZXRDb21waWxhdGlvbkluZm8pOwogICAgIGlmICghc3RyY21wKHByb2NOYW1l
LCAid2dwdVNoYWRlck1vZHVsZVNldExhYmVsIikpCiAgICAgICAgIHJldHVybiByZWludGVycHJl
dF9jYXN0PFdHUFVQcm9jPigmd2dwdVNoYWRlck1vZHVsZVNldExhYmVsKTsKICAgICBpZiAoIXN0
cmNtcChwcm9jTmFtZSwgIndncHVTdXJmYWNlR2V0UHJlZmVycmVkRm9ybWF0IikpCiAgICAgICAg
IHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdVN1cmZhY2VHZXRQcmVmZXJy
ZWRGb3JtYXQpOwotICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdVN1cmZhY2VSZWxlYXNl
IikpCi0gICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdVN1cmZh
Y2VSZWxlYXNlKTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVTd2FwQ2hhaW5HZXRD
dXJyZW50VGV4dHVyZVZpZXciKSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQ
VVByb2M+KCZ3Z3B1U3dhcENoYWluR2V0Q3VycmVudFRleHR1cmVWaWV3KTsKICAgICBpZiAoIXN0
cmNtcChwcm9jTmFtZSwgIndncHVTd2FwQ2hhaW5QcmVzZW50IikpCiAgICAgICAgIHJldHVybiBy
ZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdVN3YXBDaGFpblByZXNlbnQpOwotICAgIGlm
ICghc3RyY21wKHByb2NOYW1lLCAid2dwdVN3YXBDaGFpblJlbGVhc2UiKSkKLSAgICAgICAgcmV0
dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1U3dhcENoYWluUmVsZWFzZSk7CiAg
ICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1VGV4dHVyZUNyZWF0ZVZpZXciKSkKICAgICAg
ICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1VGV4dHVyZUNyZWF0ZVZp
ZXcpOwogICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdVRleHR1cmVEZXN0cm95IikpCiAg
ICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdVRleHR1cmVEZXN0
cm95KTsKLSAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVUZXh0dXJlUmVsZWFzZSIpKQot
ICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVUZXh0dXJlUmVs
ZWFzZSk7Ci0gICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1VGV4dHVyZVNldExhYmVsIikp
Ci0gICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdVRleHR1cmVT
ZXRMYWJlbCk7Ci0gICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1VGV4dHVyZVZpZXdSZWxl
YXNlIikpCi0gICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdVRl
eHR1cmVWaWV3UmVsZWFzZSk7Ci0gICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1VGV4dHVy
ZVZpZXdTZXRMYWJlbCIpKQotICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJv
Yz4oJndncHVUZXh0dXJlVmlld1NldExhYmVsKTsKICAgICByZXR1cm4gbnVsbHB0cjsKIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkdQVS9XZWJHUFUvUmVuZGVyUGFzc0VuY29kZXIuaCBiL1Nv
dXJjZS9XZWJHUFUvV2ViR1BVL1JlbmRlclBhc3NFbmNvZGVyLmgKaW5kZXggNmI1YmNhMzhmMGE1
Y2Q4MWNjYWNlMmYxMWNjYjk1OTY2OWI5YjRmYS4uNWM5NDk1YTA1OTM4ODVjZTk2YTVhZTg0ZGEw
MzAyOWRmZTdiMzc0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkdQVS9XZWJHUFUvUmVuZGVyUGFz
c0VuY29kZXIuaAorKysgYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9SZW5kZXJQYXNzRW5jb2Rlci5o
CkBAIC03MSw3ICs3MSw2IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFN0ZW5jaWxSZWZlcmVuY2Uo
dWludDMyX3QpOwogICAgIHZvaWQgc2V0VmVydGV4QnVmZmVyKHVpbnQzMl90IHNsb3QsIGNvbnN0
IEJ1ZmZlciYsIHVpbnQ2NF90IG9mZnNldCwgdWludDY0X3Qgc2l6ZSk7CiAgICAgdm9pZCBzZXRW
aWV3cG9ydChmbG9hdCB4LCBmbG9hdCB5LCBmbG9hdCB3aWR0aCwgZmxvYXQgaGVpZ2h0LCBmbG9h
dCBtaW5EZXB0aCwgZmxvYXQgbWF4RGVwdGgpOwotICAgIHZvaWQgd3JpdGVUaW1lc3RhbXAoY29u
c3QgUXVlcnlTZXQmLCB1aW50MzJfdCBxdWVyeUluZGV4KTsKICAgICB2b2lkIHNldExhYmVsKGNv
bnN0IGNoYXIqKTsKIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJHUFUvV2ViR1BV
L1JlbmRlclBhc3NFbmNvZGVyLm1tIGIvU291cmNlL1dlYkdQVS9XZWJHUFUvUmVuZGVyUGFzc0Vu
Y29kZXIubW0KaW5kZXggYjNjMzkzZTcwMTNkOTFkMmVkMWM5ZGU5MjEyYzc0MjhiZWZjZWNjNS4u
Y2I5ZGJhMWJkMzVlZmFjNWNmY2NmOWI2ZTQ2NDE5NWE2YTFmZjE4NSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkdQVS9XZWJHUFUvUmVuZGVyUGFzc0VuY29kZXIubW0KKysrIGIvU291cmNlL1dlYkdQ
VS9XZWJHUFUvUmVuZGVyUGFzc0VuY29kZXIubW0KQEAgLTE3MSwxMiArMTcxLDYgQEAgdm9pZCBS
ZW5kZXJQYXNzRW5jb2Rlcjo6c2V0Vmlld3BvcnQoZmxvYXQgeCwgZmxvYXQgeSwgZmxvYXQgd2lk
dGgsIGZsb2F0IGhlaWdodCwKICAgICBVTlVTRURfUEFSQU0obWF4RGVwdGgpOwogfQogCi12b2lk
IFJlbmRlclBhc3NFbmNvZGVyOjp3cml0ZVRpbWVzdGFtcChjb25zdCBRdWVyeVNldCYgcXVlcnlT
ZXQsIHVpbnQzMl90IHF1ZXJ5SW5kZXgpCi17Ci0gICAgVU5VU0VEX1BBUkFNKHF1ZXJ5U2V0KTsK
LSAgICBVTlVTRURfUEFSQU0ocXVlcnlJbmRleCk7Ci19Ci0KIHZvaWQgUmVuZGVyUGFzc0VuY29k
ZXI6OnNldExhYmVsKGNvbnN0IGNoYXIqIGxhYmVsKQogewogICAgIFVOVVNFRF9QQVJBTShsYWJl
bCk7CkBAIC0yOTcsMTEgKzI5MSw2IEBAIHZvaWQgd2dwdVJlbmRlclBhc3NFbmNvZGVyU2V0Vmll
d3BvcnQoV0dQVVJlbmRlclBhc3NFbmNvZGVyIHJlbmRlclBhc3NFbmNvZGVyLCBmCiAgICAgcmVu
ZGVyUGFzc0VuY29kZXItPnJlbmRlclBhc3NFbmNvZGVyLT5zZXRWaWV3cG9ydCh4LCB5LCB3aWR0
aCwgaGVpZ2h0LCBtaW5EZXB0aCwgbWF4RGVwdGgpOwogfQogCi12b2lkIHdncHVSZW5kZXJQYXNz
RW5jb2RlcldyaXRlVGltZXN0YW1wKFdHUFVSZW5kZXJQYXNzRW5jb2RlciByZW5kZXJQYXNzRW5j
b2RlciwgV0dQVVF1ZXJ5U2V0IHF1ZXJ5U2V0LCB1aW50MzJfdCBxdWVyeUluZGV4KQotewotICAg
IHJlbmRlclBhc3NFbmNvZGVyLT5yZW5kZXJQYXNzRW5jb2Rlci0+d3JpdGVUaW1lc3RhbXAocXVl
cnlTZXQtPnF1ZXJ5U2V0LCBxdWVyeUluZGV4KTsKLX0KLQogdm9pZCB3Z3B1UmVuZGVyUGFzc0Vu
Y29kZXJTZXRMYWJlbChXR1BVUmVuZGVyUGFzc0VuY29kZXIgcmVuZGVyUGFzc0VuY29kZXIsIGNv
bnN0IGNoYXIqIGxhYmVsKQogewogICAgIHJlbmRlclBhc3NFbmNvZGVyLT5yZW5kZXJQYXNzRW5j
b2Rlci0+c2V0TGFiZWwobGFiZWwpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkdQVS9XZWJHUFUv
U2hhZGVyTW9kdWxlLmggYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9TaGFkZXJNb2R1bGUuaAppbmRl
eCBjY2Q5NWUwNTMwMzA3NTJhYWY3YjVmNzZhOWVmYjQ0M2VkYzU1ODNjLi5jMmFkM2VlZDE4NzE1
NDFiMjk1NWVkY2UwYmNmZGQwYzk1NjZmZDY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViR1BVL1dl
YkdQVS9TaGFkZXJNb2R1bGUuaAorKysgYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9TaGFkZXJNb2R1
bGUuaApAQCAtNDIsNiArNDIsNyBAQCBwdWJsaWM6CiAKICAgICB+U2hhZGVyTW9kdWxlKCk7CiAK
KyAgICB2b2lkIGdldENvbXBpbGF0aW9uSW5mbyhXVEY6OkZ1bmN0aW9uPHZvaWQoV0dQVUNvbXBp
bGF0aW9uSW5mb1JlcXVlc3RTdGF0dXMsIGNvbnN0IFdHUFVDb21waWxhdGlvbkluZm8qKT4mJiBj
YWxsYmFjayk7CiAgICAgdm9pZCBzZXRMYWJlbChjb25zdCBjaGFyKik7CiAKIHByaXZhdGU6CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9TaGFkZXJNb2R1bGUubW0gYi9Tb3VyY2Uv
V2ViR1BVL1dlYkdQVS9TaGFkZXJNb2R1bGUubW0KaW5kZXggOTU0ZGNmMTQ2YzIzMGYxMjZkMGJj
ODU2MmQxYTg2NTNjYTRkMjJjYy4uNmNiM2M5ZTlmMGRhYTRlZTNhM2E3MjI4Njg0MzFkZTE3MjU2
OGM4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkdQVS9XZWJHUFUvU2hhZGVyTW9kdWxlLm1tCisr
KyBiL1NvdXJjZS9XZWJHUFUvV2ViR1BVL1NoYWRlck1vZHVsZS5tbQpAQCAtMzQsNiArMzQsMTEg
QEAgU2hhZGVyTW9kdWxlOjpTaGFkZXJNb2R1bGUoKSA9IGRlZmF1bHQ7CiAKIFNoYWRlck1vZHVs
ZTo6flNoYWRlck1vZHVsZSgpID0gZGVmYXVsdDsKIAordm9pZCBTaGFkZXJNb2R1bGU6OmdldENv
bXBpbGF0aW9uSW5mbyhXVEY6OkZ1bmN0aW9uPHZvaWQoV0dQVUNvbXBpbGF0aW9uSW5mb1JlcXVl
c3RTdGF0dXMsIGNvbnN0IFdHUFVDb21waWxhdGlvbkluZm8qKT4mJiBjYWxsYmFjaykKK3sKKyAg
ICBVTlVTRURfUEFSQU0oY2FsbGJhY2spOworfQorCiB2b2lkIFNoYWRlck1vZHVsZTo6c2V0TGFi
ZWwoY29uc3QgY2hhciogbGFiZWwpCiB7CiAgICAgVU5VU0VEX1BBUkFNKGxhYmVsKTsKQEAgLTQ2
LDYgKzUxLDEzIEBAIHZvaWQgd2dwdVNoYWRlck1vZHVsZVJlbGVhc2UoV0dQVVNoYWRlck1vZHVs
ZSBzaGFkZXJNb2R1bGUpCiAgICAgZGVsZXRlIHNoYWRlck1vZHVsZTsKIH0KIAordm9pZCB3Z3B1
U2hhZGVyTW9kdWxlR2V0Q29tcGlsYXRpb25JbmZvKFdHUFVTaGFkZXJNb2R1bGUgc2hhZGVyTW9k
dWxlLCBXR1BVQ29tcGlsYXRpb25JbmZvQ2FsbGJhY2sgY2FsbGJhY2ssIHZvaWQgKiB1c2VyZGF0
YSkKK3sKKyAgICBzaGFkZXJNb2R1bGUtPnNoYWRlck1vZHVsZS0+Z2V0Q29tcGlsYXRpb25JbmZv
KFtjYWxsYmFjaywgdXNlcmRhdGFdIChXR1BVQ29tcGlsYXRpb25JbmZvUmVxdWVzdFN0YXR1cyBz
dGF0dXMsIGNvbnN0IFdHUFVDb21waWxhdGlvbkluZm8qIGNvbXBpbGF0aW9uSW5mbykgeworICAg
ICAgICBjYWxsYmFjayhzdGF0dXMsIGNvbXBpbGF0aW9uSW5mbywgdXNlcmRhdGEpOworICAgIH0p
OworfQorCiB2b2lkIHdncHVTaGFkZXJNb2R1bGVTZXRMYWJlbChXR1BVU2hhZGVyTW9kdWxlIHNo
YWRlck1vZHVsZSwgY29uc3QgY2hhciogbGFiZWwpCiB7CiAgICAgc2hhZGVyTW9kdWxlLT5zaGFk
ZXJNb2R1bGUtPnNldExhYmVsKGxhYmVsKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJHUFUvV2Vi
R1BVL1dlYkdQVS5oIGIvU291cmNlL1dlYkdQVS9XZWJHUFUvV2ViR1BVLmgKaW5kZXggNWFmYjM4
MzI2YmFhYmM4ZDY0YjAwM2EyNTUyMGMxZGUxYjI3ZmJmNC4uMDk5MzE2YjFkM2I3NzhiYjA4ZTNk
NjUyMDQ4Y2Y2NGIzMGI4OGMwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkdQVS9XZWJHUFUvV2Vi
R1BVLmgKKysrIGIvU291cmNlL1dlYkdQVS9XZWJHUFUvV2ViR1BVLmgKQEAgLTUyLDEyICs1Miwx
MyBAQAogI2luY2x1ZGUgPHN0ZGRlZi5oPgogI2luY2x1ZGUgPHN0ZGJvb2wuaD4KIAotI2RlZmlu
ZSBXR1BVX1dIT0xFX1NJWkUgKDB4ZmZmZmZmZmZmZmZmZmZmZlVMTCkKKyNkZWZpbmUgV0dQVV9B
UlJBWV9MQVlFUl9DT1VOVF9VTkRFRklORUQgKDB4ZmZmZmZmZmZVTCkKICNkZWZpbmUgV0dQVV9D
T1BZX1NUUklERV9VTkRFRklORUQgKDB4ZmZmZmZmZmZVTCkKICNkZWZpbmUgV0dQVV9MSU1JVF9V
MzJfVU5ERUZJTkVEICgweGZmZmZmZmZmVUwpCiAjZGVmaW5lIFdHUFVfTElNSVRfVTY0X1VOREVG
SU5FRCAoMHhmZmZmZmZmZmZmZmZmZmZmVUxMKQotI2RlZmluZSBXR1BVX0FSUkFZX0xBWUVSX0NP
VU5UX1VOREVGSU5FRCAoMHhmZmZmZmZmZlVMKQogI2RlZmluZSBXR1BVX01JUF9MRVZFTF9DT1VO
VF9VTkRFRklORUQgKDB4ZmZmZmZmZmZVTCkKKyNkZWZpbmUgV0dQVV9XSE9MRV9NQVBfU0laRSBT
SVpFX01BWAorI2RlZmluZSBXR1BVX1dIT0xFX1NJWkUgKDB4ZmZmZmZmZmZmZmZmZmZmZlVMTCkK
IAogdHlwZWRlZiB1aW50MzJfdCBXR1BVRmxhZ3M7CiAKQEAgLTE2OSw2ICsxNzAsMTQgQEAgdHlw
ZWRlZiBlbnVtIFdHUFVDb21wYXJlRnVuY3Rpb24gewogICAgIFdHUFVDb21wYXJlRnVuY3Rpb25f
Rm9yY2UzMiA9IDB4N0ZGRkZGRkYKIH0gV0dQVUNvbXBhcmVGdW5jdGlvbjsKIAordHlwZWRlZiBl
bnVtIFdHUFVDb21waWxhdGlvbkluZm9SZXF1ZXN0U3RhdHVzIHsKKyAgICBXR1BVQ29tcGlsYXRp
b25JbmZvUmVxdWVzdFN0YXR1c19TdWNjZXNzID0gMHgwMDAwMDAwMCwKKyAgICBXR1BVQ29tcGls
YXRpb25JbmZvUmVxdWVzdFN0YXR1c19FcnJvciA9IDB4MDAwMDAwMDEsCisgICAgV0dQVUNvbXBp
bGF0aW9uSW5mb1JlcXVlc3RTdGF0dXNfRGV2aWNlTG9zdCA9IDB4MDAwMDAwMDIsCisgICAgV0dQ
VUNvbXBpbGF0aW9uSW5mb1JlcXVlc3RTdGF0dXNfVW5rbm93biA9IDB4MDAwMDAwMDMsCisgICAg
V0dQVUNvbXBpbGF0aW9uSW5mb1JlcXVlc3RTdGF0dXNfRm9yY2UzMiA9IDB4N0ZGRkZGRkYKK30g
V0dQVUNvbXBpbGF0aW9uSW5mb1JlcXVlc3RTdGF0dXM7CisKIHR5cGVkZWYgZW51bSBXR1BVQ29t
cGlsYXRpb25NZXNzYWdlVHlwZSB7CiAgICAgV0dQVUNvbXBpbGF0aW9uTWVzc2FnZVR5cGVfRXJy
b3IgPSAweDAwMDAwMDAwLAogICAgIFdHUFVDb21waWxhdGlvbk1lc3NhZ2VUeXBlX1dhcm5pbmcg
PSAweDAwMDAwMDAxLApAQCAtMTc2LDYgKzE4NSwxMiBAQCB0eXBlZGVmIGVudW0gV0dQVUNvbXBp
bGF0aW9uTWVzc2FnZVR5cGUgewogICAgIFdHUFVDb21waWxhdGlvbk1lc3NhZ2VUeXBlX0ZvcmNl
MzIgPSAweDdGRkZGRkZGCiB9IFdHUFVDb21waWxhdGlvbk1lc3NhZ2VUeXBlOwogCit0eXBlZGVm
IGVudW0gV0dQVUNvbXB1dGVQYXNzVGltZXN0YW1wTG9jYXRpb24geworICAgIFdHUFVDb21wdXRl
UGFzc1RpbWVzdGFtcExvY2F0aW9uX0JlZ2lubmluZyA9IDB4MDAwMDAwMDAsCisgICAgV0dQVUNv
bXB1dGVQYXNzVGltZXN0YW1wTG9jYXRpb25fRW5kID0gMHgwMDAwMDAwMSwKKyAgICBXR1BVQ29t
cHV0ZVBhc3NUaW1lc3RhbXBMb2NhdGlvbl9Gb3JjZTMyID0gMHg3RkZGRkZGRgorfSBXR1BVQ29t
cHV0ZVBhc3NUaW1lc3RhbXBMb2NhdGlvbjsKKwogdHlwZWRlZiBlbnVtIFdHUFVDcmVhdGVQaXBl
bGluZUFzeW5jU3RhdHVzIHsKICAgICBXR1BVQ3JlYXRlUGlwZWxpbmVBc3luY1N0YXR1c19TdWNj
ZXNzID0gMHgwMDAwMDAwMCwKICAgICBXR1BVQ3JlYXRlUGlwZWxpbmVBc3luY1N0YXR1c19FcnJv
ciA9IDB4MDAwMDAwMDEsCkBAIC0xOTksOSArMjE0LDggQEAgdHlwZWRlZiBlbnVtIFdHUFVEZXZp
Y2VMb3N0UmVhc29uIHsKIH0gV0dQVURldmljZUxvc3RSZWFzb247CiAKIHR5cGVkZWYgZW51bSBX
R1BVRXJyb3JGaWx0ZXIgewotICAgIFdHUFVFcnJvckZpbHRlcl9Ob25lID0gMHgwMDAwMDAwMCwK
LSAgICBXR1BVRXJyb3JGaWx0ZXJfVmFsaWRhdGlvbiA9IDB4MDAwMDAwMDEsCi0gICAgV0dQVUVy
cm9yRmlsdGVyX091dE9mTWVtb3J5ID0gMHgwMDAwMDAwMiwKKyAgICBXR1BVRXJyb3JGaWx0ZXJf
VmFsaWRhdGlvbiA9IDB4MDAwMDAwMDAsCisgICAgV0dQVUVycm9yRmlsdGVyX091dE9mTWVtb3J5
ID0gMHgwMDAwMDAwMSwKICAgICBXR1BVRXJyb3JGaWx0ZXJfRm9yY2UzMiA9IDB4N0ZGRkZGRkYK
IH0gV0dQVUVycm9yRmlsdGVyOwogCkBAIC0yMTYsMTIgKzIzMCwxNSBAQCB0eXBlZGVmIGVudW0g
V0dQVUVycm9yVHlwZSB7CiAKIHR5cGVkZWYgZW51bSBXR1BVRmVhdHVyZU5hbWUgewogICAgIFdH
UFVGZWF0dXJlTmFtZV9VbmRlZmluZWQgPSAweDAwMDAwMDAwLAotICAgIFdHUFVGZWF0dXJlTmFt
ZV9EZXB0aENsYW1waW5nID0gMHgwMDAwMDAwMSwKKyAgICBXR1BVRmVhdHVyZU5hbWVfRGVwdGhD
bGlwQ29udHJvbCA9IDB4MDAwMDAwMDEsCiAgICAgV0dQVUZlYXR1cmVOYW1lX0RlcHRoMjRVbm9y
bVN0ZW5jaWw4ID0gMHgwMDAwMDAwMiwKICAgICBXR1BVRmVhdHVyZU5hbWVfRGVwdGgzMkZsb2F0
U3RlbmNpbDggPSAweDAwMDAwMDAzLAogICAgIFdHUFVGZWF0dXJlTmFtZV9UaW1lc3RhbXBRdWVy
eSA9IDB4MDAwMDAwMDQsCiAgICAgV0dQVUZlYXR1cmVOYW1lX1BpcGVsaW5lU3RhdGlzdGljc1F1
ZXJ5ID0gMHgwMDAwMDAwNSwKICAgICBXR1BVRmVhdHVyZU5hbWVfVGV4dHVyZUNvbXByZXNzaW9u
QkMgPSAweDAwMDAwMDA2LAorICAgIFdHUFVGZWF0dXJlTmFtZV9UZXh0dXJlQ29tcHJlc3Npb25F
VEMyID0gMHgwMDAwMDAwNywKKyAgICBXR1BVRmVhdHVyZU5hbWVfVGV4dHVyZUNvbXByZXNzaW9u
QVNUQyA9IDB4MDAwMDAwMDgsCisgICAgV0dQVUZlYXR1cmVOYW1lX0luZGlyZWN0Rmlyc3RJbnN0
YW5jZSA9IDB4MDAwMDAwMDksCiAgICAgV0dQVUZlYXR1cmVOYW1lX0ZvcmNlMzIgPSAweDdGRkZG
RkZGCiB9IFdHUFVGZWF0dXJlTmFtZTsKIApAQCAtMjYwLDggKzI3Nyw5IEBAIHR5cGVkZWYgZW51
bSBXR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lIHsKIH0gV0dQVVBpcGVsaW5lU3RhdGlzdGljTmFt
ZTsKIAogdHlwZWRlZiBlbnVtIFdHUFVQb3dlclByZWZlcmVuY2UgewotICAgIFdHUFVQb3dlclBy
ZWZlcmVuY2VfTG93UG93ZXIgPSAweDAwMDAwMDAwLAotICAgIFdHUFVQb3dlclByZWZlcmVuY2Vf
SGlnaFBlcmZvcm1hbmNlID0gMHgwMDAwMDAwMSwKKyAgICBXR1BVUG93ZXJQcmVmZXJlbmNlX1Vu
ZGVmaW5lZCA9IDB4MDAwMDAwMDAsCisgICAgV0dQVVBvd2VyUHJlZmVyZW5jZV9Mb3dQb3dlciA9
IDB4MDAwMDAwMDEsCisgICAgV0dQVVBvd2VyUHJlZmVyZW5jZV9IaWdoUGVyZm9ybWFuY2UgPSAw
eDAwMDAwMDAyLAogICAgIFdHUFVQb3dlclByZWZlcmVuY2VfRm9yY2UzMiA9IDB4N0ZGRkZGRkYK
IH0gV0dQVVBvd2VyUHJlZmVyZW5jZTsKIApAQCAtMjk2LDYgKzMxNCwxMiBAQCB0eXBlZGVmIGVu
dW0gV0dQVVF1ZXVlV29ya0RvbmVTdGF0dXMgewogICAgIFdHUFVRdWV1ZVdvcmtEb25lU3RhdHVz
X0ZvcmNlMzIgPSAweDdGRkZGRkZGCiB9IFdHUFVRdWV1ZVdvcmtEb25lU3RhdHVzOwogCit0eXBl
ZGVmIGVudW0gV0dQVVJlbmRlclBhc3NUaW1lc3RhbXBMb2NhdGlvbiB7CisgICAgV0dQVVJlbmRl
clBhc3NUaW1lc3RhbXBMb2NhdGlvbl9CZWdpbm5pbmcgPSAweDAwMDAwMDAwLAorICAgIFdHUFVS
ZW5kZXJQYXNzVGltZXN0YW1wTG9jYXRpb25fRW5kID0gMHgwMDAwMDAwMSwKKyAgICBXR1BVUmVu
ZGVyUGFzc1RpbWVzdGFtcExvY2F0aW9uX0ZvcmNlMzIgPSAweDdGRkZGRkZGCit9IFdHUFVSZW5k
ZXJQYXNzVGltZXN0YW1wTG9jYXRpb247CisKIHR5cGVkZWYgZW51bSBXR1BVUmVxdWVzdEFkYXB0
ZXJTdGF0dXMgewogICAgIFdHUFVSZXF1ZXN0QWRhcHRlclN0YXR1c19TdWNjZXNzID0gMHgwMDAw
MDAwMCwKICAgICBXR1BVUmVxdWVzdEFkYXB0ZXJTdGF0dXNfVW5hdmFpbGFibGUgPSAweDAwMDAw
MDAxLApAQCAtMzE5LDcgKzM0Myw5IEBAIHR5cGVkZWYgZW51bSBXR1BVU1R5cGUgewogICAgIFdH
UFVTVHlwZV9TdXJmYWNlRGVzY3JpcHRvckZyb21DYW52YXNIVE1MU2VsZWN0b3IgPSAweDAwMDAw
MDA0LAogICAgIFdHUFVTVHlwZV9TaGFkZXJNb2R1bGVTUElSVkRlc2NyaXB0b3IgPSAweDAwMDAw
MDA1LAogICAgIFdHUFVTVHlwZV9TaGFkZXJNb2R1bGVXR1NMRGVzY3JpcHRvciA9IDB4MDAwMDAw
MDYsCi0gICAgV0dQVVNUeXBlX1ByaW1pdGl2ZURlcHRoQ2xhbXBpbmdTdGF0ZSA9IDB4MDAwMDAw
MDcsCisgICAgV0dQVVNUeXBlX1ByaW1pdGl2ZURlcHRoQ2xpcENvbnRyb2wgPSAweDAwMDAwMDA3
LAorICAgIFdHUFVTVHlwZV9TdXJmYWNlRGVzY3JpcHRvckZyb21XYXlsYW5kU3VyZmFjZSA9IDB4
MDAwMDAwMDgsCisgICAgV0dQVVNUeXBlX1N1cmZhY2VEZXNjcmlwdG9yRnJvbUFuZHJvaWROYXRp
dmVXaW5kb3cgPSAweDAwMDAwMDA5LAogICAgIFdHUFVTVHlwZV9Gb3JjZTMyID0gMHg3RkZGRkZG
RgogfSBXR1BVU1R5cGU7CiAKQEAgLTQxOSwyMSArNDQ1LDYxIEBAIHR5cGVkZWYgZW51bSBXR1BV
VGV4dHVyZUZvcm1hdCB7CiAgICAgV0dQVVRleHR1cmVGb3JtYXRfRGVwdGgxNlVub3JtID0gMHgw
MDAwMDAyNiwKICAgICBXR1BVVGV4dHVyZUZvcm1hdF9EZXB0aDI0UGx1cyA9IDB4MDAwMDAwMjcs
CiAgICAgV0dQVVRleHR1cmVGb3JtYXRfRGVwdGgyNFBsdXNTdGVuY2lsOCA9IDB4MDAwMDAwMjgs
Ci0gICAgV0dQVVRleHR1cmVGb3JtYXRfRGVwdGgzMkZsb2F0ID0gMHgwMDAwMDAyOSwKLSAgICBX
R1BVVGV4dHVyZUZvcm1hdF9CQzFSR0JBVW5vcm0gPSAweDAwMDAwMDJBLAotICAgIFdHUFVUZXh0
dXJlRm9ybWF0X0JDMVJHQkFVbm9ybVNyZ2IgPSAweDAwMDAwMDJCLAotICAgIFdHUFVUZXh0dXJl
Rm9ybWF0X0JDMlJHQkFVbm9ybSA9IDB4MDAwMDAwMkMsCi0gICAgV0dQVVRleHR1cmVGb3JtYXRf
QkMyUkdCQVVub3JtU3JnYiA9IDB4MDAwMDAwMkQsCi0gICAgV0dQVVRleHR1cmVGb3JtYXRfQkMz
UkdCQVVub3JtID0gMHgwMDAwMDAyRSwKLSAgICBXR1BVVGV4dHVyZUZvcm1hdF9CQzNSR0JBVW5v
cm1TcmdiID0gMHgwMDAwMDAyRiwKLSAgICBXR1BVVGV4dHVyZUZvcm1hdF9CQzRSVW5vcm0gPSAw
eDAwMDAwMDMwLAotICAgIFdHUFVUZXh0dXJlRm9ybWF0X0JDNFJTbm9ybSA9IDB4MDAwMDAwMzEs
Ci0gICAgV0dQVVRleHR1cmVGb3JtYXRfQkM1UkdVbm9ybSA9IDB4MDAwMDAwMzIsCi0gICAgV0dQ
VVRleHR1cmVGb3JtYXRfQkM1UkdTbm9ybSA9IDB4MDAwMDAwMzMsCi0gICAgV0dQVVRleHR1cmVG
b3JtYXRfQkM2SFJHQlVmbG9hdCA9IDB4MDAwMDAwMzQsCi0gICAgV0dQVVRleHR1cmVGb3JtYXRf
QkM2SFJHQkZsb2F0ID0gMHgwMDAwMDAzNSwKLSAgICBXR1BVVGV4dHVyZUZvcm1hdF9CQzdSR0JB
VW5vcm0gPSAweDAwMDAwMDM2LAotICAgIFdHUFVUZXh0dXJlRm9ybWF0X0JDN1JHQkFVbm9ybVNy
Z2IgPSAweDAwMDAwMDM3LAorICAgIFdHUFVUZXh0dXJlRm9ybWF0X0RlcHRoMjRVbm9ybVN0ZW5j
aWw4ID0gMHgwMDAwMDAyOSwKKyAgICBXR1BVVGV4dHVyZUZvcm1hdF9EZXB0aDMyRmxvYXQgPSAw
eDAwMDAwMDJBLAorICAgIFdHUFVUZXh0dXJlRm9ybWF0X0RlcHRoMzJGbG9hdFN0ZW5jaWw4ID0g
MHgwMDAwMDAyQiwKKyAgICBXR1BVVGV4dHVyZUZvcm1hdF9CQzFSR0JBVW5vcm0gPSAweDAwMDAw
MDJDLAorICAgIFdHUFVUZXh0dXJlRm9ybWF0X0JDMVJHQkFVbm9ybVNyZ2IgPSAweDAwMDAwMDJE
LAorICAgIFdHUFVUZXh0dXJlRm9ybWF0X0JDMlJHQkFVbm9ybSA9IDB4MDAwMDAwMkUsCisgICAg
V0dQVVRleHR1cmVGb3JtYXRfQkMyUkdCQVVub3JtU3JnYiA9IDB4MDAwMDAwMkYsCisgICAgV0dQ
VVRleHR1cmVGb3JtYXRfQkMzUkdCQVVub3JtID0gMHgwMDAwMDAzMCwKKyAgICBXR1BVVGV4dHVy
ZUZvcm1hdF9CQzNSR0JBVW5vcm1TcmdiID0gMHgwMDAwMDAzMSwKKyAgICBXR1BVVGV4dHVyZUZv
cm1hdF9CQzRSVW5vcm0gPSAweDAwMDAwMDMyLAorICAgIFdHUFVUZXh0dXJlRm9ybWF0X0JDNFJT
bm9ybSA9IDB4MDAwMDAwMzMsCisgICAgV0dQVVRleHR1cmVGb3JtYXRfQkM1UkdVbm9ybSA9IDB4
MDAwMDAwMzQsCisgICAgV0dQVVRleHR1cmVGb3JtYXRfQkM1UkdTbm9ybSA9IDB4MDAwMDAwMzUs
CisgICAgV0dQVVRleHR1cmVGb3JtYXRfQkM2SFJHQlVmbG9hdCA9IDB4MDAwMDAwMzYsCisgICAg
V0dQVVRleHR1cmVGb3JtYXRfQkM2SFJHQkZsb2F0ID0gMHgwMDAwMDAzNywKKyAgICBXR1BVVGV4
dHVyZUZvcm1hdF9CQzdSR0JBVW5vcm0gPSAweDAwMDAwMDM4LAorICAgIFdHUFVUZXh0dXJlRm9y
bWF0X0JDN1JHQkFVbm9ybVNyZ2IgPSAweDAwMDAwMDM5LAorICAgIFdHUFVUZXh0dXJlRm9ybWF0
X0VUQzJSR0I4VW5vcm0gPSAweDAwMDAwMDNBLAorICAgIFdHUFVUZXh0dXJlRm9ybWF0X0VUQzJS
R0I4VW5vcm1TcmdiID0gMHgwMDAwMDAzQiwKKyAgICBXR1BVVGV4dHVyZUZvcm1hdF9FVEMyUkdC
OEExVW5vcm0gPSAweDAwMDAwMDNDLAorICAgIFdHUFVUZXh0dXJlRm9ybWF0X0VUQzJSR0I4QTFV
bm9ybVNyZ2IgPSAweDAwMDAwMDNELAorICAgIFdHUFVUZXh0dXJlRm9ybWF0X0VUQzJSR0JBOFVu
b3JtID0gMHgwMDAwMDAzRSwKKyAgICBXR1BVVGV4dHVyZUZvcm1hdF9FVEMyUkdCQThVbm9ybVNy
Z2IgPSAweDAwMDAwMDNGLAorICAgIFdHUFVUZXh0dXJlRm9ybWF0X0VBQ1IxMVVub3JtID0gMHgw
MDAwMDA0MCwKKyAgICBXR1BVVGV4dHVyZUZvcm1hdF9FQUNSMTFTbm9ybSA9IDB4MDAwMDAwNDEs
CisgICAgV0dQVVRleHR1cmVGb3JtYXRfRUFDUkcxMVVub3JtID0gMHgwMDAwMDA0MiwKKyAgICBX
R1BVVGV4dHVyZUZvcm1hdF9FQUNSRzExU25vcm0gPSAweDAwMDAwMDQzLAorICAgIFdHUFVUZXh0
dXJlRm9ybWF0X0FTVEM0eDRVbm9ybSA9IDB4MDAwMDAwNDQsCisgICAgV0dQVVRleHR1cmVGb3Jt
YXRfQVNUQzR4NFVub3JtU3JnYiA9IDB4MDAwMDAwNDUsCisgICAgV0dQVVRleHR1cmVGb3JtYXRf
QVNUQzV4NFVub3JtID0gMHgwMDAwMDA0NiwKKyAgICBXR1BVVGV4dHVyZUZvcm1hdF9BU1RDNXg0
VW5vcm1TcmdiID0gMHgwMDAwMDA0NywKKyAgICBXR1BVVGV4dHVyZUZvcm1hdF9BU1RDNXg1VW5v
cm0gPSAweDAwMDAwMDQ4LAorICAgIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEM1eDVVbm9ybVNyZ2Ig
PSAweDAwMDAwMDQ5LAorICAgIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEM2eDVVbm9ybSA9IDB4MDAw
MDAwNEEsCisgICAgV0dQVVRleHR1cmVGb3JtYXRfQVNUQzZ4NVVub3JtU3JnYiA9IDB4MDAwMDAw
NEIsCisgICAgV0dQVVRleHR1cmVGb3JtYXRfQVNUQzZ4NlVub3JtID0gMHgwMDAwMDA0QywKKyAg
ICBXR1BVVGV4dHVyZUZvcm1hdF9BU1RDNng2VW5vcm1TcmdiID0gMHgwMDAwMDA0RCwKKyAgICBX
R1BVVGV4dHVyZUZvcm1hdF9BU1RDOHg1VW5vcm0gPSAweDAwMDAwMDRFLAorICAgIFdHUFVUZXh0
dXJlRm9ybWF0X0FTVEM4eDVVbm9ybVNyZ2IgPSAweDAwMDAwMDRGLAorICAgIFdHUFVUZXh0dXJl
Rm9ybWF0X0FTVEM4eDZVbm9ybSA9IDB4MDAwMDAwNTAsCisgICAgV0dQVVRleHR1cmVGb3JtYXRf
QVNUQzh4NlVub3JtU3JnYiA9IDB4MDAwMDAwNTEsCisgICAgV0dQVVRleHR1cmVGb3JtYXRfQVNU
Qzh4OFVub3JtID0gMHgwMDAwMDA1MiwKKyAgICBXR1BVVGV4dHVyZUZvcm1hdF9BU1RDOHg4VW5v
cm1TcmdiID0gMHgwMDAwMDA1MywKKyAgICBXR1BVVGV4dHVyZUZvcm1hdF9BU1RDMTB4NVVub3Jt
ID0gMHgwMDAwMDA1NCwKKyAgICBXR1BVVGV4dHVyZUZvcm1hdF9BU1RDMTB4NVVub3JtU3JnYiA9
IDB4MDAwMDAwNTUsCisgICAgV0dQVVRleHR1cmVGb3JtYXRfQVNUQzEweDZVbm9ybSA9IDB4MDAw
MDAwNTYsCisgICAgV0dQVVRleHR1cmVGb3JtYXRfQVNUQzEweDZVbm9ybVNyZ2IgPSAweDAwMDAw
MDU3LAorICAgIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEMxMHg4VW5vcm0gPSAweDAwMDAwMDU4LAor
ICAgIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEMxMHg4VW5vcm1TcmdiID0gMHgwMDAwMDA1OSwKKyAg
ICBXR1BVVGV4dHVyZUZvcm1hdF9BU1RDMTB4MTBVbm9ybSA9IDB4MDAwMDAwNUEsCisgICAgV0dQ
VVRleHR1cmVGb3JtYXRfQVNUQzEweDEwVW5vcm1TcmdiID0gMHgwMDAwMDA1QiwKKyAgICBXR1BV
VGV4dHVyZUZvcm1hdF9BU1RDMTJ4MTBVbm9ybSA9IDB4MDAwMDAwNUMsCisgICAgV0dQVVRleHR1
cmVGb3JtYXRfQVNUQzEyeDEwVW5vcm1TcmdiID0gMHgwMDAwMDA1RCwKKyAgICBXR1BVVGV4dHVy
ZUZvcm1hdF9BU1RDMTJ4MTJVbm9ybSA9IDB4MDAwMDAwNUUsCisgICAgV0dQVVRleHR1cmVGb3Jt
YXRfQVNUQzEyeDEyVW5vcm1TcmdiID0gMHgwMDAwMDA1RiwKICAgICBXR1BVVGV4dHVyZUZvcm1h
dF9Gb3JjZTMyID0gMHg3RkZGRkZGRgogfSBXR1BVVGV4dHVyZUZvcm1hdDsKIApAQCAtNjMyLDEw
ICs2OTgsMTEgQEAgdHlwZWRlZiBzdHJ1Y3QgV0dQVUNvbXBpbGF0aW9uTWVzc2FnZSB7CiAgICAg
dWludDY0X3QgbGVuZ3RoOwogfSBXR1BVQ29tcGlsYXRpb25NZXNzYWdlOwogCi10eXBlZGVmIHN0
cnVjdCBXR1BVQ29tcHV0ZVBhc3NEZXNjcmlwdG9yIHsKLSAgICBXR1BVQ2hhaW5lZFN0cnVjdCBj
b25zdCAqIG5leHRJbkNoYWluOwotICAgIGNoYXIgY29uc3QgKiBsYWJlbDsKLX0gV0dQVUNvbXB1
dGVQYXNzRGVzY3JpcHRvcjsKK3R5cGVkZWYgc3RydWN0IFdHUFVDb21wdXRlUGFzc1RpbWVzdGFt
cFdyaXRlIHsKKyAgICBXR1BVUXVlcnlTZXQgcXVlcnlTZXQ7CisgICAgdWludDMyX3QgcXVlcnlJ
bmRleDsKKyAgICBXR1BVQ29tcHV0ZVBhc3NUaW1lc3RhbXBMb2NhdGlvbiBsb2NhdGlvbjsKK30g
V0dQVUNvbXB1dGVQYXNzVGltZXN0YW1wV3JpdGU7CiAKIHR5cGVkZWYgc3RydWN0IFdHUFVDb25z
dGFudEVudHJ5IHsKICAgICBXR1BVQ2hhaW5lZFN0cnVjdCBjb25zdCAqIG5leHRJbkNoYWluOwpA
QCAtNzAyLDEwICs3NjksMTAgQEAgdHlwZWRlZiBzdHJ1Y3QgV0dQVVBpcGVsaW5lTGF5b3V0RGVz
Y3JpcHRvciB7CiAgICAgV0dQVUJpbmRHcm91cExheW91dCBjb25zdCAqIGJpbmRHcm91cExheW91
dHM7CiB9IFdHUFVQaXBlbGluZUxheW91dERlc2NyaXB0b3I7CiAKLXR5cGVkZWYgc3RydWN0IFdH
UFVQcmltaXRpdmVEZXB0aENsYW1waW5nU3RhdGUgewordHlwZWRlZiBzdHJ1Y3QgV0dQVVByaW1p
dGl2ZURlcHRoQ2xpcENvbnRyb2wgewogICAgIFdHUFVDaGFpbmVkU3RydWN0IGNoYWluOwotICAg
IGJvb2wgY2xhbXBEZXB0aDsKLX0gV0dQVVByaW1pdGl2ZURlcHRoQ2xhbXBpbmdTdGF0ZTsKKyAg
ICBib29sIHVuY2xpcHBlZERlcHRoOworfSBXR1BVUHJpbWl0aXZlRGVwdGhDbGlwQ29udHJvbDsK
IAogdHlwZWRlZiBzdHJ1Y3QgV0dQVVByaW1pdGl2ZVN0YXRlIHsKICAgICBXR1BVQ2hhaW5lZFN0
cnVjdCBjb25zdCAqIG5leHRJbkNoYWluOwpAQCAtNzM2LDYgKzgwMyw4IEBAIHR5cGVkZWYgc3Ry
dWN0IFdHUFVSZW5kZXJCdW5kbGVFbmNvZGVyRGVzY3JpcHRvciB7CiAgICAgV0dQVVRleHR1cmVG
b3JtYXQgY29uc3QgKiBjb2xvckZvcm1hdHM7CiAgICAgV0dQVVRleHR1cmVGb3JtYXQgZGVwdGhT
dGVuY2lsRm9ybWF0OwogICAgIHVpbnQzMl90IHNhbXBsZUNvdW50OworICAgIGJvb2wgZGVwdGhS
ZWFkT25seTsKKyAgICBib29sIHN0ZW5jaWxSZWFkT25seTsKIH0gV0dQVVJlbmRlckJ1bmRsZUVu
Y29kZXJEZXNjcmlwdG9yOwogCiB0eXBlZGVmIHN0cnVjdCBXR1BVUmVuZGVyUGFzc0RlcHRoU3Rl
bmNpbEF0dGFjaG1lbnQgewpAQCAtNzUwLDYgKzgxOSwxMiBAQCB0eXBlZGVmIHN0cnVjdCBXR1BV
UmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQgewogICAgIGJvb2wgc3RlbmNpbFJlYWRP
bmx5OwogfSBXR1BVUmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQ7CiAKK3R5cGVkZWYg
c3RydWN0IFdHUFVSZW5kZXJQYXNzVGltZXN0YW1wV3JpdGUgeworICAgIFdHUFVRdWVyeVNldCBx
dWVyeVNldDsKKyAgICB1aW50MzJfdCBxdWVyeUluZGV4OworICAgIFdHUFVSZW5kZXJQYXNzVGlt
ZXN0YW1wTG9jYXRpb24gbG9jYXRpb247Cit9IFdHUFVSZW5kZXJQYXNzVGltZXN0YW1wV3JpdGU7
CisKIHR5cGVkZWYgc3RydWN0IFdHUFVSZXF1ZXN0QWRhcHRlck9wdGlvbnMgewogICAgIFdHUFVD
aGFpbmVkU3RydWN0IGNvbnN0ICogbmV4dEluQ2hhaW47CiAgICAgV0dQVVN1cmZhY2UgY29tcGF0
aWJsZVN1cmZhY2U7CkBAIC03OTAsNyArODY1LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgV0dQVVNoYWRl
ck1vZHVsZVNQSVJWRGVzY3JpcHRvciB7CiAKIHR5cGVkZWYgc3RydWN0IFdHUFVTaGFkZXJNb2R1
bGVXR1NMRGVzY3JpcHRvciB7CiAgICAgV0dQVUNoYWluZWRTdHJ1Y3QgY2hhaW47Ci0gICAgY2hh
ciBjb25zdCAqIHNvdXJjZTsKKyAgICBjaGFyIGNvbnN0ICogY29kZTsKIH0gV0dQVVNoYWRlck1v
ZHVsZVdHU0xEZXNjcmlwdG9yOwogCiB0eXBlZGVmIHN0cnVjdCBXR1BVU3RlbmNpbEZhY2VTdGF0
ZSB7CkBAIC04MzQsNiArOTA5LDE3IEBAIHR5cGVkZWYgc3RydWN0IFdHUFVTdXJmYWNlRGVzY3Jp
cHRvckZyb21YbGliIHsKICAgICB1aW50MzJfdCB3aW5kb3c7CiB9IFdHUFVTdXJmYWNlRGVzY3Jp
cHRvckZyb21YbGliOwogCit0eXBlZGVmIHN0cnVjdCBXR1BVU3VyZmFjZURlc2NyaXB0b3JGcm9t
V2F5bGFuZFN1cmZhY2UgeworICAgIFdHUFVDaGFpbmVkU3RydWN0IGNoYWluOworICAgIHZvaWQg
KiBkaXNwbGF5OworICAgIHZvaWQgKiBzdXJmYWNlOworfSBXR1BVU3VyZmFjZURlc2NyaXB0b3JG
cm9tV2F5bGFuZFN1cmZhY2U7CisKK3R5cGVkZWYgc3RydWN0IFdHUFVTdXJmYWNlRGVzY3JpcHRv
ckZyb21BbmRyb2lkTmF0aXZlV2luZG93IHsKKyAgICBXR1BVQ2hhaW5lZFN0cnVjdCBjaGFpbjsK
KyAgICB2b2lkICogd2luZG93OworfSBXR1BVU3VyZmFjZURlc2NyaXB0b3JGcm9tQW5kcm9pZE5h
dGl2ZVdpbmRvdzsKKwogdHlwZWRlZiBzdHJ1Y3QgV0dQVVN3YXBDaGFpbkRlc2NyaXB0b3Igewog
ICAgIFdHUFVDaGFpbmVkU3RydWN0IGNvbnN0ICogbmV4dEluQ2hhaW47CiAgICAgY2hhciBjb25z
dCAqIGxhYmVsOwpAQCAtOTA1LDYgKzk5MSwxMyBAQCB0eXBlZGVmIHN0cnVjdCBXR1BVQ29tcGls
YXRpb25JbmZvIHsKICAgICBXR1BVQ29tcGlsYXRpb25NZXNzYWdlIGNvbnN0ICogbWVzc2FnZXM7
CiB9IFdHUFVDb21waWxhdGlvbkluZm87CiAKK3R5cGVkZWYgc3RydWN0IFdHUFVDb21wdXRlUGFz
c0Rlc2NyaXB0b3IgeworICAgIFdHUFVDaGFpbmVkU3RydWN0IGNvbnN0ICogbmV4dEluQ2hhaW47
CisgICAgY2hhciBjb25zdCAqIGxhYmVsOworICAgIHVpbnQzMl90IHRpbWVzdGFtcFdyaXRlQ291
bnQ7CisgICAgV0dQVUNvbXB1dGVQYXNzVGltZXN0YW1wV3JpdGUgY29uc3QgKiB0aW1lc3RhbXBX
cml0ZXM7Cit9IFdHUFVDb21wdXRlUGFzc0Rlc2NyaXB0b3I7CisKIHR5cGVkZWYgc3RydWN0IFdH
UFVEZXB0aFN0ZW5jaWxTdGF0ZSB7CiAgICAgV0dQVUNoYWluZWRTdHJ1Y3QgY29uc3QgKiBuZXh0
SW5DaGFpbjsKICAgICBXR1BVVGV4dHVyZUZvcm1hdCBmb3JtYXQ7CkBAIC0xMDAwLDYgKzEwOTMs
NyBAQCB0eXBlZGVmIHN0cnVjdCBXR1BVQ29tcHV0ZVBpcGVsaW5lRGVzY3JpcHRvciB7CiAKIHR5
cGVkZWYgc3RydWN0IFdHUFVEZXZpY2VEZXNjcmlwdG9yIHsKICAgICBXR1BVQ2hhaW5lZFN0cnVj
dCBjb25zdCAqIG5leHRJbkNoYWluOworICAgIGNoYXIgY29uc3QgKiBsYWJlbDsKICAgICB1aW50
MzJfdCByZXF1aXJlZEZlYXR1cmVzQ291bnQ7CiAgICAgV0dQVUZlYXR1cmVOYW1lIGNvbnN0ICog
cmVxdWlyZWRGZWF0dXJlczsKICAgICBXR1BVUmVxdWlyZWRMaW1pdHMgY29uc3QgKiByZXF1aXJl
ZExpbWl0czsKQEAgLTEwMTIsNiArMTEwNiw4IEBAIHR5cGVkZWYgc3RydWN0IFdHUFVSZW5kZXJQ
YXNzRGVzY3JpcHRvciB7CiAgICAgV0dQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQgY29uc3Qg
KiBjb2xvckF0dGFjaG1lbnRzOwogICAgIFdHUFVSZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNo
bWVudCBjb25zdCAqIGRlcHRoU3RlbmNpbEF0dGFjaG1lbnQ7CiAgICAgV0dQVVF1ZXJ5U2V0IG9j
Y2x1c2lvblF1ZXJ5U2V0OworICAgIHVpbnQzMl90IHRpbWVzdGFtcFdyaXRlQ291bnQ7CisgICAg
V0dQVVJlbmRlclBhc3NUaW1lc3RhbXBXcml0ZSBjb25zdCAqIHRpbWVzdGFtcFdyaXRlczsKIH0g
V0dQVVJlbmRlclBhc3NEZXNjcmlwdG9yOwogCiB0eXBlZGVmIHN0cnVjdCBXR1BVVmVydGV4U3Rh
dGUgewpAQCAtMTA1MCwyMiArMTE0NiwyMyBAQCBleHRlcm4gIkMiIHsKICNlbmRpZgogCiB0eXBl
ZGVmIHZvaWQgKCpXR1BVQnVmZmVyTWFwQ2FsbGJhY2spKFdHUFVCdWZmZXJNYXBBc3luY1N0YXR1
cyBzdGF0dXMsIHZvaWQgKiB1c2VyZGF0YSk7Cit0eXBlZGVmIHZvaWQgKCpXR1BVQ29tcGlsYXRp
b25JbmZvQ2FsbGJhY2spKFdHUFVDb21waWxhdGlvbkluZm9SZXF1ZXN0U3RhdHVzIHN0YXR1cywg
V0dQVUNvbXBpbGF0aW9uSW5mbyBjb25zdCAqIGNvbXBpbGF0aW9uSW5mbywgdm9pZCAqIHVzZXJk
YXRhKTsKIHR5cGVkZWYgdm9pZCAoKldHUFVDcmVhdGVDb21wdXRlUGlwZWxpbmVBc3luY0NhbGxi
YWNrKShXR1BVQ3JlYXRlUGlwZWxpbmVBc3luY1N0YXR1cyBzdGF0dXMsIFdHUFVDb21wdXRlUGlw
ZWxpbmUgcGlwZWxpbmUsIGNoYXIgY29uc3QgKiBtZXNzYWdlLCB2b2lkICogdXNlcmRhdGEpOwog
dHlwZWRlZiB2b2lkICgqV0dQVUNyZWF0ZVJlbmRlclBpcGVsaW5lQXN5bmNDYWxsYmFjaykoV0dQ
VUNyZWF0ZVBpcGVsaW5lQXN5bmNTdGF0dXMgc3RhdHVzLCBXR1BVUmVuZGVyUGlwZWxpbmUgcGlw
ZWxpbmUsIGNoYXIgY29uc3QgKiBtZXNzYWdlLCB2b2lkICogdXNlcmRhdGEpOwogdHlwZWRlZiB2
b2lkICgqV0dQVURldmljZUxvc3RDYWxsYmFjaykoV0dQVURldmljZUxvc3RSZWFzb24gcmVhc29u
LCBjaGFyIGNvbnN0ICogbWVzc2FnZSwgdm9pZCAqIHVzZXJkYXRhKTsKIHR5cGVkZWYgdm9pZCAo
KldHUFVFcnJvckNhbGxiYWNrKShXR1BVRXJyb3JUeXBlIHR5cGUsIGNoYXIgY29uc3QgKiBtZXNz
YWdlLCB2b2lkICogdXNlcmRhdGEpOwordHlwZWRlZiB2b2lkICgqV0dQVVByb2MpKCk7CiB0eXBl
ZGVmIHZvaWQgKCpXR1BVUXVldWVXb3JrRG9uZUNhbGxiYWNrKShXR1BVUXVldWVXb3JrRG9uZVN0
YXR1cyBzdGF0dXMsIHZvaWQgKiB1c2VyZGF0YSk7CiB0eXBlZGVmIHZvaWQgKCpXR1BVUmVxdWVz
dEFkYXB0ZXJDYWxsYmFjaykoV0dQVVJlcXVlc3RBZGFwdGVyU3RhdHVzIHN0YXR1cywgV0dQVUFk
YXB0ZXIgYWRhcHRlciwgY2hhciBjb25zdCAqIG1lc3NhZ2UsIHZvaWQgKiB1c2VyZGF0YSk7CiB0
eXBlZGVmIHZvaWQgKCpXR1BVUmVxdWVzdERldmljZUNhbGxiYWNrKShXR1BVUmVxdWVzdERldmlj
ZVN0YXR1cyBzdGF0dXMsIFdHUFVEZXZpY2UgZGV2aWNlLCBjaGFyIGNvbnN0ICogbWVzc2FnZSwg
dm9pZCAqIHVzZXJkYXRhKTsKIAotdHlwZWRlZiB2b2lkICgqV0dQVVByb2MpKHZvaWQpOwotCiAj
aWYgIWRlZmluZWQoV0dQVV9TS0lQX1BST0NTKQogCiB0eXBlZGVmIFdHUFVJbnN0YW5jZSAoKldH
UFVQcm9jQ3JlYXRlSW5zdGFuY2UpKFdHUFVJbnN0YW5jZURlc2NyaXB0b3IgY29uc3QgKiBkZXNj
cmlwdG9yKTsKIHR5cGVkZWYgV0dQVVByb2MgKCpXR1BVUHJvY0dldFByb2NBZGRyZXNzKShXR1BV
RGV2aWNlIGRldmljZSwgY2hhciBjb25zdCAqIHByb2NOYW1lKTsKIAogLy8gUHJvY3Mgb2YgQWRh
cHRlcgordHlwZWRlZiBzaXplX3QgKCpXR1BVUHJvY0FkYXB0ZXJFbnVtZXJhdGVGZWF0dXJlcyko
V0dQVUFkYXB0ZXIgYWRhcHRlciwgV0dQVUZlYXR1cmVOYW1lKiBmZWF0dXJlcyk7CiB0eXBlZGVm
IGJvb2wgKCpXR1BVUHJvY0FkYXB0ZXJHZXRMaW1pdHMpKFdHUFVBZGFwdGVyIGFkYXB0ZXIsIFdH
UFVTdXBwb3J0ZWRMaW1pdHMgKiBsaW1pdHMpOwogdHlwZWRlZiB2b2lkICgqV0dQVVByb2NBZGFw
dGVyR2V0UHJvcGVydGllcykoV0dQVUFkYXB0ZXIgYWRhcHRlciwgV0dQVUFkYXB0ZXJQcm9wZXJ0
aWVzICogcHJvcGVydGllcyk7CiB0eXBlZGVmIGJvb2wgKCpXR1BVUHJvY0FkYXB0ZXJIYXNGZWF0
dXJlKShXR1BVQWRhcHRlciBhZGFwdGVyLCBXR1BVRmVhdHVyZU5hbWUgZmVhdHVyZSk7CkBAIC0x
MDgxLDYgKzExNzgsNyBAQCB0eXBlZGVmIHZvaWQgKCpXR1BVUHJvY0J1ZmZlclVubWFwKShXR1BV
QnVmZmVyIGJ1ZmZlcik7CiAvLyBQcm9jcyBvZiBDb21tYW5kRW5jb2RlcgogdHlwZWRlZiBXR1BV
Q29tcHV0ZVBhc3NFbmNvZGVyICgqV0dQVVByb2NDb21tYW5kRW5jb2RlckJlZ2luQ29tcHV0ZVBh
c3MpKFdHUFVDb21tYW5kRW5jb2RlciBjb21tYW5kRW5jb2RlciwgV0dQVUNvbXB1dGVQYXNzRGVz
Y3JpcHRvciBjb25zdCAqIGRlc2NyaXB0b3IpOwogdHlwZWRlZiBXR1BVUmVuZGVyUGFzc0VuY29k
ZXIgKCpXR1BVUHJvY0NvbW1hbmRFbmNvZGVyQmVnaW5SZW5kZXJQYXNzKShXR1BVQ29tbWFuZEVu
Y29kZXIgY29tbWFuZEVuY29kZXIsIFdHUFVSZW5kZXJQYXNzRGVzY3JpcHRvciBjb25zdCAqIGRl
c2NyaXB0b3IpOwordHlwZWRlZiB2b2lkICgqV0dQVVByb2NDb21tYW5kRW5jb2RlckNsZWFyQnVm
ZmVyKShXR1BVQ29tbWFuZEVuY29kZXIgY29tbWFuZEVuY29kZXIsIFdHUFVCdWZmZXIgYnVmZmVy
LCB1aW50NjRfdCBvZmZzZXQsIHVpbnQ2NF90IHNpemUpOwogdHlwZWRlZiB2b2lkICgqV0dQVVBy
b2NDb21tYW5kRW5jb2RlckNvcHlCdWZmZXJUb0J1ZmZlcikoV0dQVUNvbW1hbmRFbmNvZGVyIGNv
bW1hbmRFbmNvZGVyLCBXR1BVQnVmZmVyIHNvdXJjZSwgdWludDY0X3Qgc291cmNlT2Zmc2V0LCBX
R1BVQnVmZmVyIGRlc3RpbmF0aW9uLCB1aW50NjRfdCBkZXN0aW5hdGlvbk9mZnNldCwgdWludDY0
X3Qgc2l6ZSk7CiB0eXBlZGVmIHZvaWQgKCpXR1BVUHJvY0NvbW1hbmRFbmNvZGVyQ29weUJ1ZmZl
clRvVGV4dHVyZSkoV0dQVUNvbW1hbmRFbmNvZGVyIGNvbW1hbmRFbmNvZGVyLCBXR1BVSW1hZ2VD
b3B5QnVmZmVyIGNvbnN0ICogc291cmNlLCBXR1BVSW1hZ2VDb3B5VGV4dHVyZSBjb25zdCAqIGRl
c3RpbmF0aW9uLCBXR1BVRXh0ZW50M0QgY29uc3QgKiBjb3B5U2l6ZSk7CiB0eXBlZGVmIHZvaWQg
KCpXR1BVUHJvY0NvbW1hbmRFbmNvZGVyQ29weVRleHR1cmVUb0J1ZmZlcikoV0dQVUNvbW1hbmRF
bmNvZGVyIGNvbW1hbmRFbmNvZGVyLCBXR1BVSW1hZ2VDb3B5VGV4dHVyZSBjb25zdCAqIHNvdXJj
ZSwgV0dQVUltYWdlQ29weUJ1ZmZlciBjb25zdCAqIGRlc3RpbmF0aW9uLCBXR1BVRXh0ZW50M0Qg
Y29uc3QgKiBjb3B5U2l6ZSk7CkBAIC0xMTAzLDcgKzEyMDEsNiBAQCB0eXBlZGVmIHZvaWQgKCpX
R1BVUHJvY0NvbXB1dGVQYXNzRW5jb2RlclBvcERlYnVnR3JvdXApKFdHUFVDb21wdXRlUGFzc0Vu
Y29kZXIgYwogdHlwZWRlZiB2b2lkICgqV0dQVVByb2NDb21wdXRlUGFzc0VuY29kZXJQdXNoRGVi
dWdHcm91cCkoV0dQVUNvbXB1dGVQYXNzRW5jb2RlciBjb21wdXRlUGFzc0VuY29kZXIsIGNoYXIg
Y29uc3QgKiBncm91cExhYmVsKTsKIHR5cGVkZWYgdm9pZCAoKldHUFVQcm9jQ29tcHV0ZVBhc3NF
bmNvZGVyU2V0QmluZEdyb3VwKShXR1BVQ29tcHV0ZVBhc3NFbmNvZGVyIGNvbXB1dGVQYXNzRW5j
b2RlciwgdWludDMyX3QgZ3JvdXBJbmRleCwgV0dQVUJpbmRHcm91cCBncm91cCwgdWludDMyX3Qg
ZHluYW1pY09mZnNldENvdW50LCB1aW50MzJfdCBjb25zdCAqIGR5bmFtaWNPZmZzZXRzKTsKIHR5
cGVkZWYgdm9pZCAoKldHUFVQcm9jQ29tcHV0ZVBhc3NFbmNvZGVyU2V0UGlwZWxpbmUpKFdHUFVD
b21wdXRlUGFzc0VuY29kZXIgY29tcHV0ZVBhc3NFbmNvZGVyLCBXR1BVQ29tcHV0ZVBpcGVsaW5l
IHBpcGVsaW5lKTsKLXR5cGVkZWYgdm9pZCAoKldHUFVQcm9jQ29tcHV0ZVBhc3NFbmNvZGVyV3Jp
dGVUaW1lc3RhbXApKFdHUFVDb21wdXRlUGFzc0VuY29kZXIgY29tcHV0ZVBhc3NFbmNvZGVyLCBX
R1BVUXVlcnlTZXQgcXVlcnlTZXQsIHVpbnQzMl90IHF1ZXJ5SW5kZXgpOwogCiAvLyBQcm9jcyBv
ZiBDb21wdXRlUGlwZWxpbmUKIHR5cGVkZWYgV0dQVUJpbmRHcm91cExheW91dCAoKldHUFVQcm9j
Q29tcHV0ZVBpcGVsaW5lR2V0QmluZEdyb3VwTGF5b3V0KShXR1BVQ29tcHV0ZVBpcGVsaW5lIGNv
bXB1dGVQaXBlbGluZSwgdWludDMyX3QgZ3JvdXBJbmRleCk7CkBAIC0xMTI2LDggKzEyMjMsMTAg
QEAgdHlwZWRlZiBXR1BVU2hhZGVyTW9kdWxlICgqV0dQVVByb2NEZXZpY2VDcmVhdGVTaGFkZXJN
b2R1bGUpKFdHUFVEZXZpY2UgZGV2aWNlLAogdHlwZWRlZiBXR1BVU3dhcENoYWluICgqV0dQVVBy
b2NEZXZpY2VDcmVhdGVTd2FwQ2hhaW4pKFdHUFVEZXZpY2UgZGV2aWNlLCBXR1BVU3VyZmFjZSBz
dXJmYWNlLCBXR1BVU3dhcENoYWluRGVzY3JpcHRvciBjb25zdCAqIGRlc2NyaXB0b3IpOwogdHlw
ZWRlZiBXR1BVVGV4dHVyZSAoKldHUFVQcm9jRGV2aWNlQ3JlYXRlVGV4dHVyZSkoV0dQVURldmlj
ZSBkZXZpY2UsIFdHUFVUZXh0dXJlRGVzY3JpcHRvciBjb25zdCAqIGRlc2NyaXB0b3IpOwogdHlw
ZWRlZiB2b2lkICgqV0dQVVByb2NEZXZpY2VEZXN0cm95KShXR1BVRGV2aWNlIGRldmljZSk7Cit0
eXBlZGVmIHNpemVfdCAoKldHUFVQcm9jRGV2aWNlRW51bWVyYXRlRmVhdHVyZXMpKFdHUFVEZXZp
Y2UgZGV2aWNlLCBXR1BVRmVhdHVyZU5hbWUqIGZlYXR1cmVzKTsKIHR5cGVkZWYgYm9vbCAoKldH
UFVQcm9jRGV2aWNlR2V0TGltaXRzKShXR1BVRGV2aWNlIGRldmljZSwgV0dQVVN1cHBvcnRlZExp
bWl0cyAqIGxpbWl0cyk7CiB0eXBlZGVmIFdHUFVRdWV1ZSAoKldHUFVQcm9jRGV2aWNlR2V0UXVl
dWUpKFdHUFVEZXZpY2UgZGV2aWNlKTsKK3R5cGVkZWYgYm9vbCAoKldHUFVQcm9jRGV2aWNlSGFz
RmVhdHVyZSkoV0dQVURldmljZSBkZXZpY2UsIFdHUFVGZWF0dXJlTmFtZSBmZWF0dXJlKTsKIHR5
cGVkZWYgYm9vbCAoKldHUFVQcm9jRGV2aWNlUG9wRXJyb3JTY29wZSkoV0dQVURldmljZSBkZXZp
Y2UsIFdHUFVFcnJvckNhbGxiYWNrIGNhbGxiYWNrLCB2b2lkICogdXNlcmRhdGEpOwogdHlwZWRl
ZiB2b2lkICgqV0dQVVByb2NEZXZpY2VQdXNoRXJyb3JTY29wZSkoV0dQVURldmljZSBkZXZpY2Us
IFdHUFVFcnJvckZpbHRlciBmaWx0ZXIpOwogdHlwZWRlZiB2b2lkICgqV0dQVVByb2NEZXZpY2VT
ZXREZXZpY2VMb3N0Q2FsbGJhY2spKFdHUFVEZXZpY2UgZGV2aWNlLCBXR1BVRGV2aWNlTG9zdENh
bGxiYWNrIGNhbGxiYWNrLCB2b2lkICogdXNlcmRhdGEpOwpAQCAtMTE4MywxMyArMTI4MiwxMyBA
QCB0eXBlZGVmIHZvaWQgKCpXR1BVUHJvY1JlbmRlclBhc3NFbmNvZGVyU2V0U2Npc3NvclJlY3Qp
KFdHUFVSZW5kZXJQYXNzRW5jb2RlciByZQogdHlwZWRlZiB2b2lkICgqV0dQVVByb2NSZW5kZXJQ
YXNzRW5jb2RlclNldFN0ZW5jaWxSZWZlcmVuY2UpKFdHUFVSZW5kZXJQYXNzRW5jb2RlciByZW5k
ZXJQYXNzRW5jb2RlciwgdWludDMyX3QgcmVmZXJlbmNlKTsKIHR5cGVkZWYgdm9pZCAoKldHUFVQ
cm9jUmVuZGVyUGFzc0VuY29kZXJTZXRWZXJ0ZXhCdWZmZXIpKFdHUFVSZW5kZXJQYXNzRW5jb2Rl
ciByZW5kZXJQYXNzRW5jb2RlciwgdWludDMyX3Qgc2xvdCwgV0dQVUJ1ZmZlciBidWZmZXIsIHVp
bnQ2NF90IG9mZnNldCwgdWludDY0X3Qgc2l6ZSk7CiB0eXBlZGVmIHZvaWQgKCpXR1BVUHJvY1Jl
bmRlclBhc3NFbmNvZGVyU2V0Vmlld3BvcnQpKFdHUFVSZW5kZXJQYXNzRW5jb2RlciByZW5kZXJQ
YXNzRW5jb2RlciwgZmxvYXQgeCwgZmxvYXQgeSwgZmxvYXQgd2lkdGgsIGZsb2F0IGhlaWdodCwg
ZmxvYXQgbWluRGVwdGgsIGZsb2F0IG1heERlcHRoKTsKLXR5cGVkZWYgdm9pZCAoKldHUFVQcm9j
UmVuZGVyUGFzc0VuY29kZXJXcml0ZVRpbWVzdGFtcCkoV0dQVVJlbmRlclBhc3NFbmNvZGVyIHJl
bmRlclBhc3NFbmNvZGVyLCBXR1BVUXVlcnlTZXQgcXVlcnlTZXQsIHVpbnQzMl90IHF1ZXJ5SW5k
ZXgpOwogCiAvLyBQcm9jcyBvZiBSZW5kZXJQaXBlbGluZQogdHlwZWRlZiBXR1BVQmluZEdyb3Vw
TGF5b3V0ICgqV0dQVVByb2NSZW5kZXJQaXBlbGluZUdldEJpbmRHcm91cExheW91dCkoV0dQVVJl
bmRlclBpcGVsaW5lIHJlbmRlclBpcGVsaW5lLCB1aW50MzJfdCBncm91cEluZGV4KTsKIHR5cGVk
ZWYgdm9pZCAoKldHUFVQcm9jUmVuZGVyUGlwZWxpbmVTZXRMYWJlbCkoV0dQVVJlbmRlclBpcGVs
aW5lIHJlbmRlclBpcGVsaW5lLCBjaGFyIGNvbnN0ICogbGFiZWwpOwogCiAvLyBQcm9jcyBvZiBT
aGFkZXJNb2R1bGUKK3R5cGVkZWYgdm9pZCAoKldHUFVQcm9jU2hhZGVyTW9kdWxlR2V0Q29tcGls
YXRpb25JbmZvKShXR1BVU2hhZGVyTW9kdWxlIHNoYWRlck1vZHVsZSwgV0dQVUNvbXBpbGF0aW9u
SW5mb0NhbGxiYWNrIGNhbGxiYWNrLCB2b2lkICogdXNlcmRhdGEpOwogdHlwZWRlZiB2b2lkICgq
V0dQVVByb2NTaGFkZXJNb2R1bGVTZXRMYWJlbCkoV0dQVVNoYWRlck1vZHVsZSBzaGFkZXJNb2R1
bGUsIGNoYXIgY29uc3QgKiBsYWJlbCk7CiAKIC8vIFByb2NzIG9mIFN1cmZhY2UKQEAgLTEyMTEs
NiArMTMxMCw3IEBAIFdHUFVfRVhQT1JUIFdHUFVJbnN0YW5jZSB3Z3B1Q3JlYXRlSW5zdGFuY2Uo
V0dQVUluc3RhbmNlRGVzY3JpcHRvciBjb25zdCAqIGRlc2NyCiBXR1BVX0VYUE9SVCBXR1BVUHJv
YyB3Z3B1R2V0UHJvY0FkZHJlc3MoV0dQVURldmljZSBkZXZpY2UsIGNoYXIgY29uc3QgKiBwcm9j
TmFtZSk7CiAKIC8vIE1ldGhvZHMgb2YgQWRhcHRlcgorV0dQVV9FWFBPUlQgc2l6ZV90IHdncHVB
ZGFwdGVyRW51bWVyYXRlRmVhdHVyZXMoV0dQVUFkYXB0ZXIgYWRhcHRlciwgV0dQVUZlYXR1cmVO
YW1lKiBmZWF0dXJlcyk7CiBXR1BVX0VYUE9SVCBib29sIHdncHVBZGFwdGVyR2V0TGltaXRzKFdH
UFVBZGFwdGVyIGFkYXB0ZXIsIFdHUFVTdXBwb3J0ZWRMaW1pdHMgKiBsaW1pdHMpOwogV0dQVV9F
WFBPUlQgdm9pZCB3Z3B1QWRhcHRlckdldFByb3BlcnRpZXMoV0dQVUFkYXB0ZXIgYWRhcHRlciwg
V0dQVUFkYXB0ZXJQcm9wZXJ0aWVzICogcHJvcGVydGllcyk7CiBXR1BVX0VYUE9SVCBib29sIHdn
cHVBZGFwdGVySGFzRmVhdHVyZShXR1BVQWRhcHRlciBhZGFwdGVyLCBXR1BVRmVhdHVyZU5hbWUg
ZmVhdHVyZSk7CkBAIC0xMjI2LDYgKzEzMjYsNyBAQCBXR1BVX0VYUE9SVCB2b2lkIHdncHVCdWZm
ZXJVbm1hcChXR1BVQnVmZmVyIGJ1ZmZlcik7CiAvLyBNZXRob2RzIG9mIENvbW1hbmRFbmNvZGVy
CiBXR1BVX0VYUE9SVCBXR1BVQ29tcHV0ZVBhc3NFbmNvZGVyIHdncHVDb21tYW5kRW5jb2RlckJl
Z2luQ29tcHV0ZVBhc3MoV0dQVUNvbW1hbmRFbmNvZGVyIGNvbW1hbmRFbmNvZGVyLCBXR1BVQ29t
cHV0ZVBhc3NEZXNjcmlwdG9yIGNvbnN0ICogZGVzY3JpcHRvcik7CiBXR1BVX0VYUE9SVCBXR1BV
UmVuZGVyUGFzc0VuY29kZXIgd2dwdUNvbW1hbmRFbmNvZGVyQmVnaW5SZW5kZXJQYXNzKFdHUFVD
b21tYW5kRW5jb2RlciBjb21tYW5kRW5jb2RlciwgV0dQVVJlbmRlclBhc3NEZXNjcmlwdG9yIGNv
bnN0ICogZGVzY3JpcHRvcik7CitXR1BVX0VYUE9SVCB2b2lkIHdncHVDb21tYW5kRW5jb2RlckNs
ZWFyQnVmZmVyKFdHUFVDb21tYW5kRW5jb2RlciBjb21tYW5kRW5jb2RlciwgV0dQVUJ1ZmZlciBi
dWZmZXIsIHVpbnQ2NF90IG9mZnNldCwgdWludDY0X3Qgc2l6ZSk7CiBXR1BVX0VYUE9SVCB2b2lk
IHdncHVDb21tYW5kRW5jb2RlckNvcHlCdWZmZXJUb0J1ZmZlcihXR1BVQ29tbWFuZEVuY29kZXIg
Y29tbWFuZEVuY29kZXIsIFdHUFVCdWZmZXIgc291cmNlLCB1aW50NjRfdCBzb3VyY2VPZmZzZXQs
IFdHUFVCdWZmZXIgZGVzdGluYXRpb24sIHVpbnQ2NF90IGRlc3RpbmF0aW9uT2Zmc2V0LCB1aW50
NjRfdCBzaXplKTsKIFdHUFVfRVhQT1JUIHZvaWQgd2dwdUNvbW1hbmRFbmNvZGVyQ29weUJ1ZmZl
clRvVGV4dHVyZShXR1BVQ29tbWFuZEVuY29kZXIgY29tbWFuZEVuY29kZXIsIFdHUFVJbWFnZUNv
cHlCdWZmZXIgY29uc3QgKiBzb3VyY2UsIFdHUFVJbWFnZUNvcHlUZXh0dXJlIGNvbnN0ICogZGVz
dGluYXRpb24sIFdHUFVFeHRlbnQzRCBjb25zdCAqIGNvcHlTaXplKTsKIFdHUFVfRVhQT1JUIHZv
aWQgd2dwdUNvbW1hbmRFbmNvZGVyQ29weVRleHR1cmVUb0J1ZmZlcihXR1BVQ29tbWFuZEVuY29k
ZXIgY29tbWFuZEVuY29kZXIsIFdHUFVJbWFnZUNvcHlUZXh0dXJlIGNvbnN0ICogc291cmNlLCBX
R1BVSW1hZ2VDb3B5QnVmZmVyIGNvbnN0ICogZGVzdGluYXRpb24sIFdHUFVFeHRlbnQzRCBjb25z
dCAqIGNvcHlTaXplKTsKQEAgLTEyNDgsNyArMTM0OSw2IEBAIFdHUFVfRVhQT1JUIHZvaWQgd2dw
dUNvbXB1dGVQYXNzRW5jb2RlclBvcERlYnVnR3JvdXAoV0dQVUNvbXB1dGVQYXNzRW5jb2RlciBj
b21wCiBXR1BVX0VYUE9SVCB2b2lkIHdncHVDb21wdXRlUGFzc0VuY29kZXJQdXNoRGVidWdHcm91
cChXR1BVQ29tcHV0ZVBhc3NFbmNvZGVyIGNvbXB1dGVQYXNzRW5jb2RlciwgY2hhciBjb25zdCAq
IGdyb3VwTGFiZWwpOwogV0dQVV9FWFBPUlQgdm9pZCB3Z3B1Q29tcHV0ZVBhc3NFbmNvZGVyU2V0
QmluZEdyb3VwKFdHUFVDb21wdXRlUGFzc0VuY29kZXIgY29tcHV0ZVBhc3NFbmNvZGVyLCB1aW50
MzJfdCBncm91cEluZGV4LCBXR1BVQmluZEdyb3VwIGdyb3VwLCB1aW50MzJfdCBkeW5hbWljT2Zm
c2V0Q291bnQsIHVpbnQzMl90IGNvbnN0ICogZHluYW1pY09mZnNldHMpOwogV0dQVV9FWFBPUlQg
dm9pZCB3Z3B1Q29tcHV0ZVBhc3NFbmNvZGVyU2V0UGlwZWxpbmUoV0dQVUNvbXB1dGVQYXNzRW5j
b2RlciBjb21wdXRlUGFzc0VuY29kZXIsIFdHUFVDb21wdXRlUGlwZWxpbmUgcGlwZWxpbmUpOwot
V0dQVV9FWFBPUlQgdm9pZCB3Z3B1Q29tcHV0ZVBhc3NFbmNvZGVyV3JpdGVUaW1lc3RhbXAoV0dQ
VUNvbXB1dGVQYXNzRW5jb2RlciBjb21wdXRlUGFzc0VuY29kZXIsIFdHUFVRdWVyeVNldCBxdWVy
eVNldCwgdWludDMyX3QgcXVlcnlJbmRleCk7CiAKIC8vIE1ldGhvZHMgb2YgQ29tcHV0ZVBpcGVs
aW5lCiBXR1BVX0VYUE9SVCBXR1BVQmluZEdyb3VwTGF5b3V0IHdncHVDb21wdXRlUGlwZWxpbmVH
ZXRCaW5kR3JvdXBMYXlvdXQoV0dQVUNvbXB1dGVQaXBlbGluZSBjb21wdXRlUGlwZWxpbmUsIHVp
bnQzMl90IGdyb3VwSW5kZXgpOwpAQCAtMTI3MSw4ICsxMzcxLDEwIEBAIFdHUFVfRVhQT1JUIFdH
UFVTaGFkZXJNb2R1bGUgd2dwdURldmljZUNyZWF0ZVNoYWRlck1vZHVsZShXR1BVRGV2aWNlIGRl
dmljZSwgV0dQCiBXR1BVX0VYUE9SVCBXR1BVU3dhcENoYWluIHdncHVEZXZpY2VDcmVhdGVTd2Fw
Q2hhaW4oV0dQVURldmljZSBkZXZpY2UsIFdHUFVTdXJmYWNlIHN1cmZhY2UsIFdHUFVTd2FwQ2hh
aW5EZXNjcmlwdG9yIGNvbnN0ICogZGVzY3JpcHRvcik7CiBXR1BVX0VYUE9SVCBXR1BVVGV4dHVy
ZSB3Z3B1RGV2aWNlQ3JlYXRlVGV4dHVyZShXR1BVRGV2aWNlIGRldmljZSwgV0dQVVRleHR1cmVE
ZXNjcmlwdG9yIGNvbnN0ICogZGVzY3JpcHRvcik7CiBXR1BVX0VYUE9SVCB2b2lkIHdncHVEZXZp
Y2VEZXN0cm95KFdHUFVEZXZpY2UgZGV2aWNlKTsKK1dHUFVfRVhQT1JUIHNpemVfdCB3Z3B1RGV2
aWNlRW51bWVyYXRlRmVhdHVyZXMoV0dQVURldmljZSBkZXZpY2UsIFdHUFVGZWF0dXJlTmFtZSog
ZmVhdHVyZXMpOwogV0dQVV9FWFBPUlQgYm9vbCB3Z3B1RGV2aWNlR2V0TGltaXRzKFdHUFVEZXZp
Y2UgZGV2aWNlLCBXR1BVU3VwcG9ydGVkTGltaXRzICogbGltaXRzKTsKIFdHUFVfRVhQT1JUIFdH
UFVRdWV1ZSB3Z3B1RGV2aWNlR2V0UXVldWUoV0dQVURldmljZSBkZXZpY2UpOworV0dQVV9FWFBP
UlQgYm9vbCB3Z3B1RGV2aWNlSGFzRmVhdHVyZShXR1BVRGV2aWNlIGRldmljZSwgV0dQVUZlYXR1
cmVOYW1lIGZlYXR1cmUpOwogV0dQVV9FWFBPUlQgYm9vbCB3Z3B1RGV2aWNlUG9wRXJyb3JTY29w
ZShXR1BVRGV2aWNlIGRldmljZSwgV0dQVUVycm9yQ2FsbGJhY2sgY2FsbGJhY2ssIHZvaWQgKiB1
c2VyZGF0YSk7CiBXR1BVX0VYUE9SVCB2b2lkIHdncHVEZXZpY2VQdXNoRXJyb3JTY29wZShXR1BV
RGV2aWNlIGRldmljZSwgV0dQVUVycm9yRmlsdGVyIGZpbHRlcik7CiBXR1BVX0VYUE9SVCB2b2lk
IHdncHVEZXZpY2VTZXREZXZpY2VMb3N0Q2FsbGJhY2soV0dQVURldmljZSBkZXZpY2UsIFdHUFVE
ZXZpY2VMb3N0Q2FsbGJhY2sgY2FsbGJhY2ssIHZvaWQgKiB1c2VyZGF0YSk7CkBAIC0xMzI4LDEz
ICsxNDMwLDEzIEBAIFdHUFVfRVhQT1JUIHZvaWQgd2dwdVJlbmRlclBhc3NFbmNvZGVyU2V0U2Np
c3NvclJlY3QoV0dQVVJlbmRlclBhc3NFbmNvZGVyIHJlbmRlCiBXR1BVX0VYUE9SVCB2b2lkIHdn
cHVSZW5kZXJQYXNzRW5jb2RlclNldFN0ZW5jaWxSZWZlcmVuY2UoV0dQVVJlbmRlclBhc3NFbmNv
ZGVyIHJlbmRlclBhc3NFbmNvZGVyLCB1aW50MzJfdCByZWZlcmVuY2UpOwogV0dQVV9FWFBPUlQg
dm9pZCB3Z3B1UmVuZGVyUGFzc0VuY29kZXJTZXRWZXJ0ZXhCdWZmZXIoV0dQVVJlbmRlclBhc3NF
bmNvZGVyIHJlbmRlclBhc3NFbmNvZGVyLCB1aW50MzJfdCBzbG90LCBXR1BVQnVmZmVyIGJ1ZmZl
ciwgdWludDY0X3Qgb2Zmc2V0LCB1aW50NjRfdCBzaXplKTsKIFdHUFVfRVhQT1JUIHZvaWQgd2dw
dVJlbmRlclBhc3NFbmNvZGVyU2V0Vmlld3BvcnQoV0dQVVJlbmRlclBhc3NFbmNvZGVyIHJlbmRl
clBhc3NFbmNvZGVyLCBmbG9hdCB4LCBmbG9hdCB5LCBmbG9hdCB3aWR0aCwgZmxvYXQgaGVpZ2h0
LCBmbG9hdCBtaW5EZXB0aCwgZmxvYXQgbWF4RGVwdGgpOwotV0dQVV9FWFBPUlQgdm9pZCB3Z3B1
UmVuZGVyUGFzc0VuY29kZXJXcml0ZVRpbWVzdGFtcChXR1BVUmVuZGVyUGFzc0VuY29kZXIgcmVu
ZGVyUGFzc0VuY29kZXIsIFdHUFVRdWVyeVNldCBxdWVyeVNldCwgdWludDMyX3QgcXVlcnlJbmRl
eCk7CiAKIC8vIE1ldGhvZHMgb2YgUmVuZGVyUGlwZWxpbmUKIFdHUFVfRVhQT1JUIFdHUFVCaW5k
R3JvdXBMYXlvdXQgd2dwdVJlbmRlclBpcGVsaW5lR2V0QmluZEdyb3VwTGF5b3V0KFdHUFVSZW5k
ZXJQaXBlbGluZSByZW5kZXJQaXBlbGluZSwgdWludDMyX3QgZ3JvdXBJbmRleCk7CiBXR1BVX0VY
UE9SVCB2b2lkIHdncHVSZW5kZXJQaXBlbGluZVNldExhYmVsKFdHUFVSZW5kZXJQaXBlbGluZSBy
ZW5kZXJQaXBlbGluZSwgY2hhciBjb25zdCAqIGxhYmVsKTsKIAogLy8gTWV0aG9kcyBvZiBTaGFk
ZXJNb2R1bGUKK1dHUFVfRVhQT1JUIHZvaWQgd2dwdVNoYWRlck1vZHVsZUdldENvbXBpbGF0aW9u
SW5mbyhXR1BVU2hhZGVyTW9kdWxlIHNoYWRlck1vZHVsZSwgV0dQVUNvbXBpbGF0aW9uSW5mb0Nh
bGxiYWNrIGNhbGxiYWNrLCB2b2lkICogdXNlcmRhdGEpOwogV0dQVV9FWFBPUlQgdm9pZCB3Z3B1
U2hhZGVyTW9kdWxlU2V0TGFiZWwoV0dQVVNoYWRlck1vZHVsZSBzaGFkZXJNb2R1bGUsIGNoYXIg
Y29uc3QgKiBsYWJlbCk7CiAKIC8vIE1ldGhvZHMgb2YgU3VyZmFjZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkdQVS9XZWJHUFUvV2ViR1BVRXh0LmggYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9XZWJH
UFVFeHQuaAppbmRleCA1YTcyOGMxZmQ5YzViYTFiMGE2YTY0YTA5OTJmM2FhNWYwYzY0MmUxLi4y
ZTQyMDEyMmFhZjU1ZjBkYWI0ZGUwNzJhNzlmMDA3YjdiZGU4OTRkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViR1BVL1dlYkdQVS9XZWJHUFVFeHQuaAorKysgYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9X
ZWJHUFVFeHQuaApAQCAtMjYsNzQgKzI2LDM3IEBACiAjaWZuZGVmIFdFQkdQVUVYVF9IXwogI2Rl
ZmluZSBXRUJHUFVFWFRfSF8KIAorI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiIHsKKyNl
bmRpZgorCiB0eXBlZGVmIGVudW0gV0dQVVNUeXBlRXh0ZW5kZWQgewotICAgIFdHUFVTVHlwZV9E
ZXZpY2VEZXNjcmlwdG9yTGFiZWwgPSAweDI0MkE5OUUwLCAvLyBSYW5kb20KKyAgICBXR1BVU1R5
cGVFeHRlbmRlZF9TaGFkZXJNb2R1bGVEZXNjcmlwdG9ySGludHMgPSAweDM0ODk3MEYzLCAvLyBS
YW5kb20KKyAgICBXR1BVU1R5cGVFeHRlbmRlZF9UZXh0dXJlRGVzY3JpcHRvclZpZXdGb3JtYXRz
ID0gMHgxRDVCQzU3LCAvLyBSYW5kb20KKyAgICBXR1BVU1R5cGVFeHRlbmRlZF9Gb3JjZTMyID0g
MHg3RkZGRkZGRgogfSBXR1BVU1R5cGVFeHRlbmRlZDsKIAotdHlwZWRlZiBlbnVtIFdHUFVUZXh0
dXJlRm9ybWF0RXh0ZW5kZWQgewotICAgIFdHUFVUZXh0dXJlRm9ybWF0X0VUQzJSR0I4VW5vcm0g
PSAweDI4QzI1QzY3LCAvLyBSYW5kb20KLSAgICBXR1BVVGV4dHVyZUZvcm1hdF9FVEMyUkdCOHVu
b3JtU3JnYiA9IDB4NTY2QUFGRUUsIC8vIFJhbmRvbQotICAgIFdHUFVUZXh0dXJlRm9ybWF0X0VU
QzJSR0I4YTFVbm9ybSA9IDB4MkY3OTQzNDgsIC8vIFJhbmRvbQotICAgIFdHUFVUZXh0dXJlRm9y
bWF0X0VUQzJSR0I4YTF1bm9ybVNyZ2IgPSAweDVFRjM4QUJBLCAvLyBSYW5kb20KLSAgICBXR1BV
VGV4dHVyZUZvcm1hdF9FVEMyUkdCQThVbm9ybSA9IDB4NUE0RTY0ODAsIC8vIFJhbmRvbQotICAg
IFdHUFVUZXh0dXJlRm9ybWF0X0VUQzJSR0JBOFVub3JtU3JnYiA9IDB4NzgwOTY4RUIsIC8vIFJh
bmRvbQotICAgIFdHUFVUZXh0dXJlRm9ybWF0X0VBQ1IxMVVub3JtID0gMHg2OTg2MzA5MCwgLy8g
UmFuZG9tCi0gICAgV0dQVVRleHR1cmVGb3JtYXRfRUFDUjExU25vcm0gPSAweDI1RTU0MjhBLCAv
LyBSYW5kb20KLSAgICBXR1BVVGV4dHVyZUZvcm1hdF9FQUNSRzExVW5vcm0gPSAweDFCMDk2OUIz
LCAvLyBSYW5kb20KLSAgICBXR1BVVGV4dHVyZUZvcm1hdF9FQUNSRzExU25vcm0gPSAweDE2RjRC
QjZELCAvLyBSYW5kb20KLQotICAgIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEM0eDRVbm9ybSA9IDB4
MzlGNjBGNkUsIC8vIFJhbmRvbQotICAgIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEM0eDRVbm9ybVNy
Z2IgPSAweDI0NDcyNzAwLCAvLyBSYW5kb20KLSAgICBXR1BVVGV4dHVyZUZvcm1hdF9BU1RDNXg0
VW5vcm0gPSAweDY3RDMyQjBFLCAvLyBSYW5kb20KLSAgICBXR1BVVGV4dHVyZUZvcm1hdF9BU1RD
NXg0VW5vcm1TcmdiID0gMHgzMTNEQTFCRSwgLy8gUmFuZG9tCi0gICAgV0dQVVRleHR1cmVGb3Jt
YXRfQVNUQzV4NVVub3JtID0gMHgxNUFCOERGRCwgLy8gUmFuZG9tCi0gICAgV0dQVVRleHR1cmVG
b3JtYXRfQVNUQzV4NVVub3JtU3JnYiA9IDB4N0IwMEVCNTcsIC8vIFJhbmRvbQotICAgIFdHUFVU
ZXh0dXJlRm9ybWF0X0FTVEM2eDVVbm9ybSA9IDB4NjUzRTgwQzMsIC8vIFJhbmRvbQotICAgIFdH
UFVUZXh0dXJlRm9ybWF0X0FTVEM2eDVVbm9ybVNyZ2IgPSAweDUwQUU4NjlBLCAvLyBSYW5kb20K
LSAgICBXR1BVVGV4dHVyZUZvcm1hdF9BU1RDNng2VW5vcm0gPSAweDU3OUFGNTk4LCAvLyBSYW5k
b20KLSAgICBXR1BVVGV4dHVyZUZvcm1hdF9BU1RDNng2VW5vcm1TcmdiID0gMHg3M0I2OTczMiwg
Ly8gUmFuZG9tCi0gICAgV0dQVVRleHR1cmVGb3JtYXRfQVNUQzh4NVVub3JtID0gMHgwNkY3MDMw
OCwgLy8gUmFuZG9tCi0gICAgV0dQVVRleHR1cmVGb3JtYXRfQVNUQzh4NVVub3JtU3JnYiA9IDB4
NDIwRUE5NDYsIC8vIFJhbmRvbQotICAgIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEM4eDZVbm9ybSA9
IDB4NjEwODZBQzgsIC8vIFJhbmRvbQotICAgIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEM4eDZVbm9y
bVNyZ2IgPSAweDBFMTdEMzlBLCAvLyBSYW5kb20KLSAgICBXR1BVVGV4dHVyZUZvcm1hdF9BU1RD
OHg4VW5vcm0gPSAweDU2OUJGMkU4LCAvLyBSYW5kb20KLSAgICBXR1BVVGV4dHVyZUZvcm1hdF9B
U1RDOHg4VW5vcm1TcmdiID0gMHg1NzJBNDg0OSwgLy8gUmFuZG9tCi0gICAgV0dQVVRleHR1cmVG
b3JtYXRfQVNUQzEweDVVbm9ybSA9IDB4NjNBQkU0MzIsIC8vIFJhbmRvbQotICAgIFdHUFVUZXh0
dXJlRm9ybWF0X0FTVEMxMHg1VW5vcm1TcmdiID0gMHgzQkMzQUE0QywgLy8gUmFuZG9tCi0gICAg
V0dQVVRleHR1cmVGb3JtYXRfQVNUQzEweDZVbm9ybSA9IDB4NkZFMTk0OTksIC8vIFJhbmRvbQot
ICAgIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEMxMHg2VW5vcm1TcmdiID0gMHg3RkYwQjVDMCwgLy8g
UmFuZG9tCi0gICAgV0dQVVRleHR1cmVGb3JtYXRfQVNUQzEweDhVbm9ybSA9IDB4MjAxNUY0QzMs
IC8vIFJhbmRvbQotICAgIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEMxMHg4VW5vcm1TcmdiID0gMHg3
RDUxREM2RiwgLy8gUmFuZG9tCi0gICAgV0dQVVRleHR1cmVGb3JtYXRfQVNUQzEweDEwVW5vcm0g
PSAweDY3RjEwMTczLCAvLyBSYW5kb20KLSAgICBXR1BVVGV4dHVyZUZvcm1hdF9BU1RDMTB4MTBV
bm9ybVNyZ2IgPSAweDM1RDc0RDIxLCAvLyBSYW5kb20KLSAgICBXR1BVVGV4dHVyZUZvcm1hdF9B
U1RDMTJ4MTBVbm9ybSA9IDB4MDlEQUQwQTcsIC8vIFJhbmRvbQotICAgIFdHUFVUZXh0dXJlRm9y
bWF0X0FTVEMxMngxMFVub3JtU3JnYiA9IDB4MzU2MEM5M0EsIC8vIFJhbmRvbQotICAgIFdHUFVU
ZXh0dXJlRm9ybWF0X0FTVEMxMngxMlVub3JtID0gMHgyNkNDMzA1MCwgLy8gUmFuZG9tCi0gICAg
V0dQVVRleHR1cmVGb3JtYXRfQVNUQzEyeDEyVW5vcm1TcmdiID0gMHgzRUY1NzhBMCwgLy8gUmFu
ZG9tCi0KLSAgICBXR1BVVGV4dHVyZUZvcm1hdF9EZXB0aDMyRmxvYXRTdGVuY2lsOCA9IDB4NTNE
QzIzMDcsIC8vIFJhbmRvbQotfSBXR1BVVGV4dHVyZUZvcm1hdEV4dGVuZGVkOwotCi10eXBlZGVm
IGVudW0gV0dQVUZlYXR1cmVOYW1lRXh0ZW5kZWQgewotICAgIFdHUFVGZWF0dXJlTmFtZV9EZXB0
aENsaXBDb250cm9sID0gMHg1NUFCQzEzRCwgLy8gUmFuZG9tCi0gICAgV0dQVUZlYXR1cmVOYW1l
X0luZGlyZWN0Rmlyc3RJbnN0YW5jZSA9IDB4MkE3MDg0RjUsIC8vIFJhbmRvbQotICAgIFdHUFVG
ZWF0dXJlTmFtZV9UZXh0dXJlQ29tcHJlc3Npb25FVEMyID0gMHg3QkY2NkY2OSwgLy8gUmFuZG9t
Ci0gICAgV0dQVUZlYXR1cmVOYW1lX1RleHR1cmVDb21wcmVzc2lvbkFTVEMgPSAweDI2MTczMzk5
LCAvLyBSYW5kb20KLX0gV0dQVUZlYXR1cmVOYW1lRXh0ZW5kZWQ7Ci0KLXR5cGVkZWYgZW51bSBX
R1BVUG93ZXJQcmVmZXJlbmNlRXh0ZW5kZWQgewotICAgIFdHUFVQb3dlclByZWZlcmVuY2VfTm9Q
cmVmZXJlbmNlID0gMHg0NzQ4MzM2RiwKLX0gV0dQVVBvd2VyUHJlZmVyZW5jZUV4dGVuZGVkOwot
Ci10eXBlZGVmIHN0cnVjdCBXR1BVRGV2aWNlRGVzY3JpcHRvckxhYmVsIHsKLSAgICBXR1BVQ2hh
aW5lZFN0cnVjdCBoZWFkZXI7Ci0gICAgV0dQVUNoYWluZWRTdHJ1Y3QgY29uc3QgKiBuZXh0SW5D
aGFpbjsKLSAgICBjaGFyIGNvbnN0ICogbGFiZWw7Ci19IFdHUFVEZXZpY2VEZXNjcmlwdG9yTGFi
ZWw7Cit0eXBlZGVmIHN0cnVjdCBXR1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50IHsKKyAg
ICBXR1BVUGlwZWxpbmVMYXlvdXQgbGF5b3V0OworfSBXR1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRp
b25IaW50OwogCi0jaWZkZWYgX19jcGx1c3BsdXMKLWV4dGVybiAiQyIgewotI2VuZGlmCit0eXBl
ZGVmIHN0cnVjdCBXR1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50RW50cnkgeworICAgIFdH
UFVDaGFpbmVkU3RydWN0IGNvbnN0ICogbmV4dEluQ2hhaW47CisgICAgY2hhciBjb25zdCAqIGtl
eTsKKyAgICBXR1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50IGhpbnQ7Cit9IFdHUFVTaGFk
ZXJNb2R1bGVDb21waWxhdGlvbkhpbnRFbnRyeTsKKwordHlwZWRlZiBzdHJ1Y3QgV0dQVVNoYWRl
ck1vZHVsZURlc2NyaXB0b3JIaW50cyB7CisgICAgV0dQVUNoYWluZWRTdHJ1Y3QgY2hhaW47Cisg
ICAgdWludDMyX3QgaGludHNDb3VudDsKKyAgICBXR1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25I
aW50RW50cnkgY29uc3QgKiBoaW50czsKK30gV0dQVVNoYWRlck1vZHVsZURlc2NyaXB0b3JIaW50
czsKKwordHlwZWRlZiBzdHJ1Y3QgV0dQVVRleHR1cmVEZXNjcmlwdG9yVmlld0Zvcm1hdHMgewor
ICAgIFdHUFVDaGFpbmVkU3RydWN0IGNoYWluOworICAgIHVpbnQzMl90IHZpZXdGb3JtYXRzQ291
bnQ7CisgICAgV0dQVVRleHR1cmVGb3JtYXQgY29uc3QgKiB2aWV3Rm9ybWF0czsKK30gV0dQVVRl
eHR1cmVEZXNjcmlwdG9yVmlld0Zvcm1hdHM7CiAKICNpZiAhZGVmaW5lZChXR1BVX1NLSVBfUFJP
Q1MpCiAKQEAgLTEzOCwxMCArMTAxLDYgQEAgdHlwZWRlZiB2b2lkICgqV0dQVVByb2NTYW1wbGVy
U2V0TGFiZWwpKFdHUFVTYW1wbGVyIHNhbXBsZXIsIGNoYXIgY29uc3QgKiBsYWJlbCkKIHR5cGVk
ZWYgdm9pZCAoKldHUFVQcm9jVGV4dHVyZVNldExhYmVsKShXR1BVVGV4dHVyZSBzYW1wbGVyLCBj
aGFyIGNvbnN0ICogbGFiZWwpOwogdHlwZWRlZiB2b2lkICgqV0dQVVByb2NUZXh0dXJlVmlld1Nl
dExhYmVsKShXR1BVVGV4dHVyZVZpZXcgc2FtcGxlciwgY2hhciBjb25zdCAqIGxhYmVsKTsKIAot
dHlwZWRlZiBXR1BVRmVhdHVyZU5hbWUgKCpXR1BVUHJvY0FkYXB0ZXJHZXRGZWF0dXJlQXRJbmRl
eCkoV0dQVUFkYXB0ZXIgYWRhcHRlciwgc2l6ZV90IGluZGV4KTsKLQotdHlwZWRlZiB2b2lkICgq
V0dQVVByb2NDb21tYW5kRW5jb2RlckZpbGxCdWZmZXIpKFdHUFVDb21tYW5kRW5jb2RlciBjb21t
YW5kRW5jb2RlciwgV0dQVUJ1ZmZlciBkZXN0aW5hdGlvbiwgdWludDY0X3QgZGVzdGluYXRpb25P
ZmZzZXQsIHVpbnQ2NF90IHNpemUpOwotCiAjZW5kaWYgIC8vICFkZWZpbmVkKFdHUFVfU0tJUF9Q
Uk9DUykKIAogI2lmICFkZWZpbmVkKFdHUFVfU0tJUF9ERUNMQVJBVElPTlMpCkBAIC0xODcsMTAg
KzE0Niw2IEBAIFdHUFVfRVhQT1JUIHZvaWQgd2dwdVNhbXBsZXJTZXRMYWJlbChXR1BVU2FtcGxl
ciBzYW1wbGVyLCBjaGFyIGNvbnN0ICogbGFiZWwpOwogV0dQVV9FWFBPUlQgdm9pZCB3Z3B1VGV4
dHVyZVNldExhYmVsKFdHUFVUZXh0dXJlIHNhbXBsZXIsIGNoYXIgY29uc3QgKiBsYWJlbCk7CiBX
R1BVX0VYUE9SVCB2b2lkIHdncHVUZXh0dXJlVmlld1NldExhYmVsKFdHUFVUZXh0dXJlVmlldyBz
YW1wbGVyLCBjaGFyIGNvbnN0ICogbGFiZWwpOwogCi1XR1BVX0VYUE9SVCBXR1BVRmVhdHVyZU5h
bWUgd2dwdUFkYXB0ZXJHZXRGZWF0dXJlQXRJbmRleChXR1BVQWRhcHRlciBhZGFwdGVyLCBzaXpl
X3QgaW5kZXgpOwotCi1XR1BVX0VYUE9SVCB2b2lkIHdncHVDb21tYW5kRW5jb2RlckZpbGxCdWZm
ZXIoV0dQVUNvbW1hbmRFbmNvZGVyIGNvbW1hbmRFbmNvZGVyLCBXR1BVQnVmZmVyIGRlc3RpbmF0
aW9uLCB1aW50NjRfdCBkZXN0aW5hdGlvbk9mZnNldCwgdWludDY0X3Qgc2l6ZSk7Ci0KICNlbmRp
ZiAgLy8gIWRlZmluZWQoV0dQVV9TS0lQX0RFQ0xBUkFUSU9OUykKIAogI2lmZGVmIF9fY3BsdXNw
bHVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BV
L1JlbW90ZUJ1ZmZlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2Vi
R1BVL1JlbW90ZUJ1ZmZlci5jcHAKaW5kZXggMjY1MDkzNGMzYzllNTJmMDdmNDViMGE4YWRjMmQ0
N2M0YzRkM2Q0ZC4uMWZlMDlmNDVhY2E0ZWU1MzY2MmRlMzBkYzkzOTYwZjI5MTJjMDY1OSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVC
dWZmZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUv
UmVtb3RlQnVmZmVyLmNwcApAQCAtNTAsNyArNTAsNyBAQCB2b2lkIFJlbW90ZUJ1ZmZlcjo6c3Rv
cExpc3RlbmluZ0ZvcklQQygpCiAgICAgbV9zdHJlYW1Db25uZWN0aW9uLT5zdG9wUmVjZWl2aW5n
TWVzc2FnZXMoTWVzc2FnZXM6OlJlbW90ZUJ1ZmZlcjo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCBt
X2lkZW50aWZpZXIudG9VSW50NjQoKSk7CiB9CiAKLXZvaWQgUmVtb3RlQnVmZmVyOjptYXBBc3lu
YyhQQUw6OldlYkdQVTo6TWFwTW9kZUZsYWdzIG1hcE1vZGVGbGFncywgc3RkOjpvcHRpb25hbDxQ
QUw6OldlYkdQVTo6U2l6ZTY0PiBvZmZzZXQsIHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlNp
emU2ND4gc2l6ZSwgV1RGOjpDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8VmVj
dG9yPHVpbnQ4X3Q+PiYmKT4mJiBjYWxsYmFjaykKK3ZvaWQgUmVtb3RlQnVmZmVyOjptYXBBc3lu
YyhQQUw6OldlYkdQVTo6TWFwTW9kZUZsYWdzIG1hcE1vZGVGbGFncywgUEFMOjpXZWJHUFU6OlNp
emU2NCBvZmZzZXQsIHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlNpemU2ND4gc2l6ZSwgV1RG
OjpDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8VmVjdG9yPHVpbnQ4X3Q+PiYm
KT4mJiBjYWxsYmFjaykKIHsKICAgICBpZiAobV9pc01hcHBlZCkgewogICAgICAgICBjYWxsYmFj
ayhzdGQ6Om51bGxvcHQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dy
YXBoaWNzL1dlYkdQVS9SZW1vdGVCdWZmZXIuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9n
cmFwaGljcy9XZWJHUFUvUmVtb3RlQnVmZmVyLmgKaW5kZXggYjM3NTBmY2RiNGYzYjA5NGM1ZDY5
MjU0ZDNiMTQwZDVhOWViODY3OC4uOGU4NzcyNzE0NmNiNzExYzUzNDg4YmVhNjA3OWE1ZjVkMzYw
NzRiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQ
VS9SZW1vdGVCdWZmZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3Mv
V2ViR1BVL1JlbW90ZUJ1ZmZlci5oCkBAIC03Nyw3ICs3Nyw3IEBAIHByaXZhdGU6CiAKICAgICB2
b2lkIGRpZFJlY2VpdmVTdHJlYW1NZXNzYWdlKElQQzo6U3RyZWFtU2VydmVyQ29ubmVjdGlvbkJh
c2UmLCBJUEM6OkRlY29kZXImKSBmaW5hbDsKIAotICAgIHZvaWQgbWFwQXN5bmMoUEFMOjpXZWJH
UFU6Ok1hcE1vZGVGbGFncywgc3RkOjpvcHRpb25hbDxQQUw6OldlYkdQVTo6U2l6ZTY0PiBvZmZz
ZXQsIHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlNpemU2ND4gc2l6ZUZvck1hcCwgV1RGOjpD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8VmVjdG9yPHVpbnQ4X3Q+PiYmKT4m
Jik7CisgICAgdm9pZCBtYXBBc3luYyhQQUw6OldlYkdQVTo6TWFwTW9kZUZsYWdzLCBQQUw6Oldl
YkdQVTo6U2l6ZTY0IG9mZnNldCwgc3RkOjpvcHRpb25hbDxQQUw6OldlYkdQVTo6U2l6ZTY0PiBz
aXplRm9yTWFwLCBXVEY6OkNvbXBsZXRpb25IYW5kbGVyPHZvaWQoc3RkOjpvcHRpb25hbDxWZWN0
b3I8dWludDhfdD4+JiYpPiYmKTsKICAgICB2b2lkIHVubWFwKFZlY3Rvcjx1aW50OF90PiYmKTsK
IAogICAgIHZvaWQgZGVzdHJveSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9j
ZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVCdWZmZXIubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUJ1ZmZlci5tZXNzYWdlcy5pbgpp
bmRleCA5N2E1MWYzY2EyYzNiMDE3NTkwZjJjM2JiZTYzNDM4Mzc4Y2E0NWNiLi5iOWYxM2QzNmNi
NTViZDhhZDk5MzYxMWQ5NWMwMWIxMzcyNWRhYjljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUJ1ZmZlci5tZXNzYWdlcy5pbgorKysg
Yi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUJ1ZmZlci5t
ZXNzYWdlcy5pbgpAQCAtMjQsNyArMjQsNyBAQAogI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykKIAog
bWVzc2FnZXMgLT4gUmVtb3RlQnVmZmVyIE5vdFJlZkNvdW50ZWQgU3RyZWFtIHsKLSAgICB2b2lk
IE1hcEFzeW5jKFBBTDo6V2ViR1BVOjpNYXBNb2RlRmxhZ3MgbWFwTW9kZUZsYWdzLCBzdGQ6Om9w
dGlvbmFsPFBBTDo6V2ViR1BVOjpTaXplNjQ+IG9mZnNldCwgc3RkOjpvcHRpb25hbDxQQUw6Oldl
YkdQVTo6U2l6ZTY0PiBzaXplKSAtPiAoc3RkOjpvcHRpb25hbDxWZWN0b3I8dWludDhfdD4+IGRh
dGEpIFN5bmNocm9ub3VzCisgICAgdm9pZCBNYXBBc3luYyhQQUw6OldlYkdQVTo6TWFwTW9kZUZs
YWdzIG1hcE1vZGVGbGFncywgUEFMOjpXZWJHUFU6OlNpemU2NCBvZmZzZXQsIHN0ZDo6b3B0aW9u
YWw8UEFMOjpXZWJHUFU6OlNpemU2ND4gc2l6ZSkgLT4gKHN0ZDo6b3B0aW9uYWw8VmVjdG9yPHVp
bnQ4X3Q+PiBkYXRhKSBTeW5jaHJvbm91cwogICAgIHZvaWQgVW5tYXAoVmVjdG9yPHVpbnQ4X3Q+
IGRhdGEpCiAgICAgdm9pZCBEZXN0cm95KCkKICAgICB2b2lkIFNldExhYmVsKFN0cmluZyBsYWJl
bCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUv
UmVtb3RlQ29tbWFuZEVuY29kZXIuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBo
aWNzL1dlYkdQVS9SZW1vdGVDb21tYW5kRW5jb2Rlci5jcHAKaW5kZXggZDllYjc5M2RhZDQ0NTc3
NzJhYjAzZGQwZmI1NDI0MjFjMjhjYTA5MC4uMTQ2OTE3MDg4YjBkNjM5MTcwZTNjN2IzYWU1NmE4
NWNmOGI5ODliZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNz
L1dlYkdQVS9SZW1vdGVDb21tYW5kRW5jb2Rlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVDb21tYW5kRW5jb2Rlci5jcHAKQEAgLTE1MSwx
NyArMTUxLDE3IEBAIHZvaWQgUmVtb3RlQ29tbWFuZEVuY29kZXI6OmNvcHlUZXh0dXJlVG9UZXh0
dXJlKAogICAgIG1fYmFja2luZy0+Y29weVRleHR1cmVUb1RleHR1cmUoKmNvbnZlcnRlZFNvdXJj
ZSwgKmNvbnZlcnRlZERlc3RpbmF0aW9uLCAqY29udmVydGVkQ29weVNpemUpOwogfQogCi12b2lk
IFJlbW90ZUNvbW1hbmRFbmNvZGVyOjpmaWxsQnVmZmVyKAotICAgIFdlYkdQVUlkZW50aWZpZXIg
ZGVzdGluYXRpb24sCi0gICAgUEFMOjpXZWJHUFU6OlNpemU2NCBkZXN0aW5hdGlvbk9mZnNldCwK
LSAgICBQQUw6OldlYkdQVTo6U2l6ZTY0IHNpemUpCi17Ci0gICAgYXV0byBjb252ZXJ0ZWREZXN0
aW5hdGlvbiA9IG1fb2JqZWN0SGVhcC5jb252ZXJ0QnVmZmVyRnJvbUJhY2tpbmcoZGVzdGluYXRp
b24pOwotICAgIEFTU0VSVChjb252ZXJ0ZWREZXN0aW5hdGlvbik7Ci0gICAgaWYgKCFjb252ZXJ0
ZWREZXN0aW5hdGlvbikKK3ZvaWQgUmVtb3RlQ29tbWFuZEVuY29kZXI6OmNsZWFyQnVmZmVyKAor
ICAgIFdlYkdQVUlkZW50aWZpZXIgYnVmZmVyLAorICAgIFBBTDo6V2ViR1BVOjpTaXplNjQgb2Zm
c2V0LAorICAgIHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlNpemU2ND4gc2l6ZSkKK3sKKyAg
ICBhdXRvIGNvbnZlcnRlZEJ1ZmZlciA9IG1fb2JqZWN0SGVhcC5jb252ZXJ0QnVmZmVyRnJvbUJh
Y2tpbmcoYnVmZmVyKTsKKyAgICBBU1NFUlQoY29udmVydGVkQnVmZmVyKTsKKyAgICBpZiAoIWNv
bnZlcnRlZEJ1ZmZlcikKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9iYWNraW5nLT5maWxsQnVm
ZmVyKCpjb252ZXJ0ZWREZXN0aW5hdGlvbiwgZGVzdGluYXRpb25PZmZzZXQsIHNpemUpOworICAg
IG1fYmFja2luZy0+Y2xlYXJCdWZmZXIoKmNvbnZlcnRlZEJ1ZmZlciwgb2Zmc2V0LCBzaXplKTsK
IH0KIAogdm9pZCBSZW1vdGVDb21tYW5kRW5jb2Rlcjo6cHVzaERlYnVnR3JvdXAoU3RyaW5nJiYg
Z3JvdXBMYWJlbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGlj
cy9XZWJHUFUvUmVtb3RlQ29tbWFuZEVuY29kZXIuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQ29tbWFuZEVuY29kZXIuaAppbmRleCBhNWI0MmM5MWUw
MWRhNjgzYWFmMmQyNGU2MmQ4MGE2OTk3ZjEzOTcyLi4xNzEwZWI5ZDY1ZmY2YjQ4NjcyODVhYmRj
OTAwYzgzMzEzMTUzMmJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3Jh
cGhpY3MvV2ViR1BVL1JlbW90ZUNvbW1hbmRFbmNvZGVyLmgKKysrIGIvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVDb21tYW5kRW5jb2Rlci5oCkBAIC0xMDQs
MTAgKzEwNCwxMCBAQCBwcml2YXRlOgogICAgICAgICBjb25zdCBXZWJHUFU6OkltYWdlQ29weVRl
eHR1cmUmIGRlc3RpbmF0aW9uLAogICAgICAgICBjb25zdCBXZWJHUFU6OkV4dGVudDNEJiBjb3B5
U2l6ZSk7CiAKLSAgICB2b2lkIGZpbGxCdWZmZXIoCi0gICAgICAgIFdlYkdQVUlkZW50aWZpZXIg
ZGVzdGluYXRpb24sCi0gICAgICAgIFBBTDo6V2ViR1BVOjpTaXplNjQgZGVzdGluYXRpb25PZmZz
ZXQsCi0gICAgICAgIFBBTDo6V2ViR1BVOjpTaXplNjQpOworICAgIHZvaWQgY2xlYXJCdWZmZXIo
CisgICAgICAgIFdlYkdQVUlkZW50aWZpZXIgYnVmZmVyLAorICAgICAgICBQQUw6OldlYkdQVTo6
U2l6ZTY0IG9mZnNldCA9IDAsCisgICAgICAgIHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlNp
emU2ND4gPSBzdGQ6Om51bGxvcHQpOwogCiAgICAgdm9pZCBwdXNoRGVidWdHcm91cChTdHJpbmcm
JiBncm91cExhYmVsKTsKICAgICB2b2lkIHBvcERlYnVnR3JvdXAoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQ29tbWFuZEVuY29k
ZXIubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BV
L1JlbW90ZUNvbW1hbmRFbmNvZGVyLm1lc3NhZ2VzLmluCmluZGV4IGJjMGJmMzMxMTQ4ZDJlOTUz
MWM1OTdjYjljZGRkNjE3M2I3ZDI5YzAuLjNkY2E5ZjliOWIxOGIzYjdkYzdkMGI4ZmM2ZDUxOGY5
ODVhNGRlNDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9X
ZWJHUFUvUmVtb3RlQ29tbWFuZEVuY29kZXIubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVDb21tYW5kRW5jb2Rlci5tZXNzYWdl
cy5pbgpAQCAtMzAsNyArMzAsNyBAQCBtZXNzYWdlcyAtPiBSZW1vdGVDb21tYW5kRW5jb2RlciBO
b3RSZWZDb3VudGVkIFN0cmVhbSB7CiAgICAgdm9pZCBDb3B5QnVmZmVyVG9UZXh0dXJlKFdlYktp
dDo6V2ViR1BVOjpJbWFnZUNvcHlCdWZmZXIgc291cmNlLCBXZWJLaXQ6OldlYkdQVTo6SW1hZ2VD
b3B5VGV4dHVyZSBkZXN0aW5hdGlvbiwgV2ViS2l0OjpXZWJHUFU6OkV4dGVudDNEIGNvcHlTaXpl
KQogICAgIHZvaWQgQ29weVRleHR1cmVUb0J1ZmZlcihXZWJLaXQ6OldlYkdQVTo6SW1hZ2VDb3B5
VGV4dHVyZSBzb3VyY2UsIFdlYktpdDo6V2ViR1BVOjpJbWFnZUNvcHlCdWZmZXIgZGVzdGluYXRp
b24sIFdlYktpdDo6V2ViR1BVOjpFeHRlbnQzRCBjb3B5U2l6ZSkKICAgICB2b2lkIENvcHlUZXh0
dXJlVG9UZXh0dXJlKFdlYktpdDo6V2ViR1BVOjpJbWFnZUNvcHlUZXh0dXJlIHNvdXJjZSwgV2Vi
S2l0OjpXZWJHUFU6OkltYWdlQ29weVRleHR1cmUgZGVzdGluYXRpb24sIFdlYktpdDo6V2ViR1BV
OjpFeHRlbnQzRCBjb3B5U2l6ZSkKLSAgICB2b2lkIEZpbGxCdWZmZXIoV2ViS2l0OjpXZWJHUFVJ
ZGVudGlmaWVyIGRlc3RpbmF0aW9uLCBQQUw6OldlYkdQVTo6U2l6ZTY0IGRlc3RpbmF0aW9uT2Zm
c2V0LCBQQUw6OldlYkdQVTo6U2l6ZTY0IHNpemUpCisgICAgdm9pZCBDbGVhckJ1ZmZlcihXZWJL
aXQ6OldlYkdQVUlkZW50aWZpZXIgYnVmZmVyLCBQQUw6OldlYkdQVTo6U2l6ZTY0IG9mZnNldCwg
c3RkOjpvcHRpb25hbDxQQUw6OldlYkdQVTo6U2l6ZTY0PiBzaXplKQogICAgIHZvaWQgUHVzaERl
YnVnR3JvdXAoU3RyaW5nIGdyb3VwTGFiZWwpCiAgICAgdm9pZCBQb3BEZWJ1Z0dyb3VwKCkKICAg
ICB2b2lkIEluc2VydERlYnVnTWFya2VyKFN0cmluZyBtYXJrZXJMYWJlbCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQ29tcHV0ZVBh
c3NFbmNvZGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUv
UmVtb3RlQ29tcHV0ZVBhc3NFbmNvZGVyLmNwcAppbmRleCA4ZTA3M2VkMWRmY2JhNGFkNmRkNjQ3
NjllYzQ4MDczNWZkODllYjlkLi5mODgxYmU5ZTJiZjVmYTFhYTBlMzQ3ZDFiNmJiYThhYjhkMDQz
Mzg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BV
L1JlbW90ZUNvbXB1dGVQYXNzRW5jb2Rlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9j
ZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVDb21wdXRlUGFzc0VuY29kZXIuY3BwCkBAIC02MSw5
ICs2MSw5IEBAIHZvaWQgUmVtb3RlQ29tcHV0ZVBhc3NFbmNvZGVyOjpzZXRQaXBlbGluZShXZWJH
UFVJZGVudGlmaWVyIGNvbXB1dGVQaXBlbGluZSkKICAgICBtX2JhY2tpbmctPnNldFBpcGVsaW5l
KCpjb252ZXJ0ZWRDb21wdXRlUGlwZWxpbmUpOwogfQogCi12b2lkIFJlbW90ZUNvbXB1dGVQYXNz
RW5jb2Rlcjo6ZGlzcGF0Y2goUEFMOjpXZWJHUFU6OlNpemUzMiB4LCBzdGQ6Om9wdGlvbmFsPFBB
TDo6V2ViR1BVOjpTaXplMzI+IHksIHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlNpemUzMj4g
eikKK3ZvaWQgUmVtb3RlQ29tcHV0ZVBhc3NFbmNvZGVyOjpkaXNwYXRjaChQQUw6OldlYkdQVTo6
U2l6ZTMyIHdvcmtncm91cENvdW50WCwgUEFMOjpXZWJHUFU6OlNpemUzMiB3b3JrZ3JvdXBDb3Vu
dFksIFBBTDo6V2ViR1BVOjpTaXplMzIgd29ya2dyb3VwQ291bnRaKQogewotICAgIG1fYmFja2lu
Zy0+ZGlzcGF0Y2goeCwgeSwgeik7CisgICAgbV9iYWNraW5nLT5kaXNwYXRjaCh3b3JrZ3JvdXBD
b3VudFgsIHdvcmtncm91cENvdW50WSwgd29ya2dyb3VwQ291bnRaKTsKIH0KIAogdm9pZCBSZW1v
dGVDb21wdXRlUGFzc0VuY29kZXI6OmRpc3BhdGNoSW5kaXJlY3QoV2ViR1BVSWRlbnRpZmllciBp
bmRpcmVjdEJ1ZmZlciwgUEFMOjpXZWJHUFU6OlNpemU2NCBpbmRpcmVjdE9mZnNldCkKQEAgLTc2
LDI0ICs3Niw5IEBAIHZvaWQgUmVtb3RlQ29tcHV0ZVBhc3NFbmNvZGVyOjpkaXNwYXRjaEluZGly
ZWN0KFdlYkdQVUlkZW50aWZpZXIgaW5kaXJlY3RCdWZmZXIsCiAgICAgbV9iYWNraW5nLT5kaXNw
YXRjaEluZGlyZWN0KCpjb252ZXJ0ZWRJbmRpcmVjdEJ1ZmZlciwgaW5kaXJlY3RPZmZzZXQpOwog
fQogCi12b2lkIFJlbW90ZUNvbXB1dGVQYXNzRW5jb2Rlcjo6YmVnaW5QaXBlbGluZVN0YXRpc3Rp
Y3NRdWVyeShXZWJHUFVJZGVudGlmaWVyIHF1ZXJ5U2V0LCBQQUw6OldlYkdQVTo6U2l6ZTMyIHF1
ZXJ5SW5kZXgpCit2b2lkIFJlbW90ZUNvbXB1dGVQYXNzRW5jb2Rlcjo6ZW5kKCkKIHsKLSAgICBh
dXRvIGNvbnZlcnRlZFF1ZXJ5U2V0ID0gbV9vYmplY3RIZWFwLmNvbnZlcnRRdWVyeVNldEZyb21C
YWNraW5nKHF1ZXJ5U2V0KTsKLSAgICBBU1NFUlQoY29udmVydGVkUXVlcnlTZXQpOwotICAgIGlm
ICghY29udmVydGVkUXVlcnlTZXQpCi0gICAgICAgIHJldHVybjsKLQotICAgIG1fYmFja2luZy0+
YmVnaW5QaXBlbGluZVN0YXRpc3RpY3NRdWVyeSgqY29udmVydGVkUXVlcnlTZXQsIHF1ZXJ5SW5k
ZXgpOwotfQotCi12b2lkIFJlbW90ZUNvbXB1dGVQYXNzRW5jb2Rlcjo6ZW5kUGlwZWxpbmVTdGF0
aXN0aWNzUXVlcnkoKQotewotICAgIG1fYmFja2luZy0+ZW5kUGlwZWxpbmVTdGF0aXN0aWNzUXVl
cnkoKTsKLX0KLQotdm9pZCBSZW1vdGVDb21wdXRlUGFzc0VuY29kZXI6OmVuZFBhc3MoKQotewot
ICAgIG1fYmFja2luZy0+ZW5kUGFzcygpOworICAgIG1fYmFja2luZy0+ZW5kKCk7CiB9CiAKIHZv
aWQgUmVtb3RlQ29tcHV0ZVBhc3NFbmNvZGVyOjpzZXRCaW5kR3JvdXAoUEFMOjpXZWJHUFU6Oklu
ZGV4MzIgaW5kZXgsIFdlYkdQVUlkZW50aWZpZXIgYmluZEdyb3VwLApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVDb21wdXRlUGFzc0Vu
Y29kZXIuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVtb3Rl
Q29tcHV0ZVBhc3NFbmNvZGVyLmgKaW5kZXggMzU4ZTA1ZDllMTZkOTgyMDUzZDIxODM4ZWZmODkx
ZGZlM2IyZDdlNS4uODMzN2EyOWJlOTQ0N2IzZDQ3YTA2OTFlYmZhOWUxNGE3YTRhNTJiMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVD
b21wdXRlUGFzc0VuY29kZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhp
Y3MvV2ViR1BVL1JlbW90ZUNvbXB1dGVQYXNzRW5jb2Rlci5oCkBAIC03NCwxMyArNzQsMTAgQEAg
cHJpdmF0ZToKICAgICB2b2lkIGRpZFJlY2VpdmVTdHJlYW1NZXNzYWdlKElQQzo6U3RyZWFtU2Vy
dmVyQ29ubmVjdGlvbkJhc2UmLCBJUEM6OkRlY29kZXImKSBmaW5hbDsKIAogICAgIHZvaWQgc2V0
UGlwZWxpbmUoV2ViR1BVSWRlbnRpZmllcik7Ci0gICAgdm9pZCBkaXNwYXRjaChQQUw6OldlYkdQ
VTo6U2l6ZTMyIHgsIHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlNpemUzMj4geSwgc3RkOjpv
cHRpb25hbDxQQUw6OldlYkdQVTo6U2l6ZTMyPik7CisgICAgdm9pZCBkaXNwYXRjaChQQUw6Oldl
YkdQVTo6U2l6ZTMyIHdvcmtncm91cENvdW50WCwgUEFMOjpXZWJHUFU6OlNpemUzMiB3b3JrZ3Jv
dXBDb3VudFkgPSAxLCBQQUw6OldlYkdQVTo6U2l6ZTMyIHdvcmtncm91cENvdW50WiA9IDEpOwog
ICAgIHZvaWQgZGlzcGF0Y2hJbmRpcmVjdChXZWJHUFVJZGVudGlmaWVyIGluZGlyZWN0QnVmZmVy
LCBQQUw6OldlYkdQVTo6U2l6ZTY0IGluZGlyZWN0T2Zmc2V0KTsKIAotICAgIHZvaWQgYmVnaW5Q
aXBlbGluZVN0YXRpc3RpY3NRdWVyeShXZWJHUFVJZGVudGlmaWVyLCBQQUw6OldlYkdQVTo6U2l6
ZTMyIHF1ZXJ5SW5kZXgpOwotICAgIHZvaWQgZW5kUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkoKTsK
LQotICAgIHZvaWQgZW5kUGFzcygpOworICAgIHZvaWQgZW5kKCk7CiAKICAgICB2b2lkIHNldEJp
bmRHcm91cChQQUw6OldlYkdQVTo6SW5kZXgzMiwgV2ViR1BVSWRlbnRpZmllciwKICAgICAgICAg
c3RkOjpvcHRpb25hbDxWZWN0b3I8UEFMOjpXZWJHUFU6OkJ1ZmZlckR5bmFtaWNPZmZzZXQ+PiYm
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUv
UmVtb3RlQ29tcHV0ZVBhc3NFbmNvZGVyLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVDb21wdXRlUGFzc0VuY29kZXIubWVzc2FnZXMu
aW4KaW5kZXggODZiZDJiNTcyY2JhNTQxMWEyM2MyOWM5N2QwN2NjNmMwYzBlYzJmNS4uNDJlNjA4
YmQzMDk3ZjMyOTVhYTFhYWIwNmFmM2MzZDdmZjU2NjQ1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVDb21wdXRlUGFzc0VuY29kZXIu
bWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQ
VS9SZW1vdGVDb21wdXRlUGFzc0VuY29kZXIubWVzc2FnZXMuaW4KQEAgLTI1LDExICsyNSw5IEBA
CiAKIG1lc3NhZ2VzIC0+IFJlbW90ZUNvbXB1dGVQYXNzRW5jb2RlciBOb3RSZWZDb3VudGVkIFN0
cmVhbSB7CiAgICAgdm9pZCBTZXRQaXBlbGluZShXZWJLaXQ6OldlYkdQVUlkZW50aWZpZXIgaWRl
bnRpZmllcikKLSAgICB2b2lkIERpc3BhdGNoKFBBTDo6V2ViR1BVOjpTaXplMzIgeCwgc3RkOjpv
cHRpb25hbDxQQUw6OldlYkdQVTo6U2l6ZTMyPiB5LCBzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BV
OjpTaXplMzI+IHopCisgICAgdm9pZCBEaXNwYXRjaChQQUw6OldlYkdQVTo6U2l6ZTMyIHdvcmtn
cm91cENvdW50WCwgUEFMOjpXZWJHUFU6OlNpemUzMiB3b3JrZ3JvdXBDb3VudFksIFBBTDo6V2Vi
R1BVOjpTaXplMzIgd29ya2dyb3VwQ291bnRaKQogICAgIHZvaWQgRGlzcGF0Y2hJbmRpcmVjdChX
ZWJLaXQ6OldlYkdQVUlkZW50aWZpZXIgaW5kaXJlY3RCdWZmZXIsIFBBTDo6V2ViR1BVOjpTaXpl
NjQgaW5kaXJlY3RPZmZzZXQpCi0gICAgdm9pZCBCZWdpblBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5
KFdlYktpdDo6V2ViR1BVSWRlbnRpZmllciBpZGVudGlmaWVyLCBQQUw6OldlYkdQVTo6U2l6ZTMy
IHF1ZXJ5SW5kZXgpCi0gICAgdm9pZCBFbmRQaXBlbGluZVN0YXRpc3RpY3NRdWVyeSgpCi0gICAg
dm9pZCBFbmRQYXNzKCkKKyAgICB2b2lkIEVuZCgpCiAgICAgdm9pZCBTZXRCaW5kR3JvdXAoUEFM
OjpXZWJHUFU6OkluZGV4MzIgaW5kZXgsIFdlYktpdDo6V2ViR1BVSWRlbnRpZmllciBpZGVudGlm
aWVyLCBzdGQ6Om9wdGlvbmFsPFZlY3RvcjxQQUw6OldlYkdQVTo6QnVmZmVyRHluYW1pY09mZnNl
dD4+IGR5bmFtaWNPZmZzZXRzKQogICAgIHZvaWQgUHVzaERlYnVnR3JvdXAoU3RyaW5nIGdyb3Vw
TGFiZWwpCiAgICAgdm9pZCBQb3BEZWJ1Z0dyb3VwKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlUmVuZGVyUGFzc0VuY29kZXIuY3Bw
IGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVSZW5kZXJQ
YXNzRW5jb2Rlci5jcHAKaW5kZXggNjJkMGNhNzVlYTJiNjgwMjc5YzU2NTJhOWJmM2M4MmMyM2Jh
MWYyMi4uYWQ5ZTE4NGM3Y2M2YzMyMDgwMTg2OGYwZmE5MmYxYjE4YWI0YzQ3NCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVSZW5kZXJQ
YXNzRW5jb2Rlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dl
YkdQVS9SZW1vdGVSZW5kZXJQYXNzRW5jb2Rlci5jcHAKQEAgLTE3OSwyMSArMTc5LDYgQEAgdm9p
ZCBSZW1vdGVSZW5kZXJQYXNzRW5jb2Rlcjo6ZW5kT2NjbHVzaW9uUXVlcnkoKQogICAgIG1fYmFj
a2luZy0+ZW5kT2NjbHVzaW9uUXVlcnkoKTsKIH0KIAotdm9pZCBSZW1vdGVSZW5kZXJQYXNzRW5j
b2Rlcjo6YmVnaW5QaXBlbGluZVN0YXRpc3RpY3NRdWVyeShXZWJHUFVJZGVudGlmaWVyIHF1ZXJ5
U2V0LCBQQUw6OldlYkdQVTo6U2l6ZTMyIHF1ZXJ5SW5kZXgpCi17Ci0gICAgYXV0byBjb252ZXJ0
ZWRRdWVyeVNldCA9IG1fb2JqZWN0SGVhcC5jb252ZXJ0UXVlcnlTZXRGcm9tQmFja2luZyhxdWVy
eVNldCk7Ci0gICAgQVNTRVJUKGNvbnZlcnRlZFF1ZXJ5U2V0KTsKLSAgICBpZiAoIWNvbnZlcnRl
ZFF1ZXJ5U2V0KQotICAgICAgICByZXR1cm47Ci0KLSAgICBtX2JhY2tpbmctPmJlZ2luUGlwZWxp
bmVTdGF0aXN0aWNzUXVlcnkoKmNvbnZlcnRlZFF1ZXJ5U2V0LCBxdWVyeUluZGV4KTsKLX0KLQot
dm9pZCBSZW1vdGVSZW5kZXJQYXNzRW5jb2Rlcjo6ZW5kUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnko
KQotewotICAgIG1fYmFja2luZy0+ZW5kUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkoKTsKLX0KLQog
dm9pZCBSZW1vdGVSZW5kZXJQYXNzRW5jb2Rlcjo6ZXhlY3V0ZUJ1bmRsZXMoVmVjdG9yPFdlYkdQ
VUlkZW50aWZpZXI+JiYgcmVuZGVyQnVuZGxlcykKIHsKICAgICBWZWN0b3I8c3RkOjpyZWZlcmVu
Y2Vfd3JhcHBlcjxQQUw6OldlYkdQVTo6UmVuZGVyQnVuZGxlPj4gY29udmVydGVkQnVuZGxlczsK
QEAgLTIwOCw5ICsxOTMsOSBAQCB2b2lkIFJlbW90ZVJlbmRlclBhc3NFbmNvZGVyOjpleGVjdXRl
QnVuZGxlcyhWZWN0b3I8V2ViR1BVSWRlbnRpZmllcj4mJiByZW5kZXJCdQogICAgIG1fYmFja2lu
Zy0+ZXhlY3V0ZUJ1bmRsZXMoV1RGTW92ZShjb252ZXJ0ZWRCdW5kbGVzKSk7CiB9CiAKLXZvaWQg
UmVtb3RlUmVuZGVyUGFzc0VuY29kZXI6OmVuZFBhc3MoKQordm9pZCBSZW1vdGVSZW5kZXJQYXNz
RW5jb2Rlcjo6ZW5kKCkKIHsKLSAgICBtX2JhY2tpbmctPmVuZFBhc3MoKTsKKyAgICBtX2JhY2tp
bmctPmVuZCgpOwogfQogCiB2b2lkIFJlbW90ZVJlbmRlclBhc3NFbmNvZGVyOjpzZXRMYWJlbChT
dHJpbmcmJiBsYWJlbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFw
aGljcy9XZWJHUFUvUmVtb3RlUmVuZGVyUGFzc0VuY29kZXIuaCBiL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlUmVuZGVyUGFzc0VuY29kZXIuaAppbmRleCBm
MmY1NDUxY2VmZGQ1ZDNhYjg3ODA2ZmM2MjU0NjEyMDc5MmRjZDdiLi5jN2RmZWI5YjVlNGQzMmIx
YzZiMjEzZmI4MTg0OGNiZDEwOWQ3ZDFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVBy
b2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZVJlbmRlclBhc3NFbmNvZGVyLmgKKysrIGIvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVSZW5kZXJQYXNzRW5j
b2Rlci5oCkBAIC0xMTAsMTEgKzExMCw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCBiZWdpbk9jY2x1
c2lvblF1ZXJ5KFBBTDo6V2ViR1BVOjpTaXplMzIgcXVlcnlJbmRleCk7CiAgICAgdm9pZCBlbmRP
Y2NsdXNpb25RdWVyeSgpOwogCi0gICAgdm9pZCBiZWdpblBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5
KFdlYkdQVUlkZW50aWZpZXIsIFBBTDo6V2ViR1BVOjpTaXplMzIgcXVlcnlJbmRleCk7Ci0gICAg
dm9pZCBlbmRQaXBlbGluZVN0YXRpc3RpY3NRdWVyeSgpOwotCiAgICAgdm9pZCBleGVjdXRlQnVu
ZGxlcyhWZWN0b3I8V2ViR1BVSWRlbnRpZmllcj4mJik7Ci0gICAgdm9pZCBlbmRQYXNzKCk7Cisg
ICAgdm9pZCBlbmQoKTsKIAogICAgIHZvaWQgc2V0TGFiZWwoU3RyaW5nJiYpOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZVJlbmRl
clBhc3NFbmNvZGVyLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBo
aWNzL1dlYkdQVS9SZW1vdGVSZW5kZXJQYXNzRW5jb2Rlci5tZXNzYWdlcy5pbgppbmRleCBlOGI3
YmFhYThlYWMwOWIzNzVjZmJhNzg0YTlkMzI4YmRkNmI2YWVkLi41NzJiMGFhZTk3M2U4NjJmYzI4
ZDY0MTM4OWY5YTEzMTEwZDdlZjgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZVJlbmRlclBhc3NFbmNvZGVyLm1lc3NhZ2VzLmluCisr
KyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlUmVuZGVy
UGFzc0VuY29kZXIubWVzc2FnZXMuaW4KQEAgLTQxLDEwICs0MSw4IEBAIG1lc3NhZ2VzIC0+IFJl
bW90ZVJlbmRlclBhc3NFbmNvZGVyIE5vdFJlZkNvdW50ZWQgU3RyZWFtIHsKICAgICB2b2lkIFNl
dFN0ZW5jaWxSZWZlcmVuY2UoUEFMOjpXZWJHUFU6OlN0ZW5jaWxWYWx1ZSBzdGVuY2lsVmFsdWUp
CiAgICAgdm9pZCBCZWdpbk9jY2x1c2lvblF1ZXJ5KFBBTDo6V2ViR1BVOjpTaXplMzIgcXVlcnlJ
bmRleCkKICAgICB2b2lkIEVuZE9jY2x1c2lvblF1ZXJ5KCkKLSAgICB2b2lkIEJlZ2luUGlwZWxp
bmVTdGF0aXN0aWNzUXVlcnkoV2ViS2l0OjpXZWJHUFVJZGVudGlmaWVyIGlkZW50aWZpZXIsIFBB
TDo6V2ViR1BVOjpTaXplMzIgcXVlcnlJbmRleCkKLSAgICB2b2lkIEVuZFBpcGVsaW5lU3RhdGlz
dGljc1F1ZXJ5KCkKICAgICB2b2lkIEV4ZWN1dGVCdW5kbGVzKFZlY3RvcjxXZWJLaXQ6OldlYkdQ
VUlkZW50aWZpZXI+IGJ1bmRsZXMpCi0gICAgdm9pZCBFbmRQYXNzKCkKKyAgICB2b2lkIEVuZCgp
CiAgICAgdm9pZCBTZXRMYWJlbChTdHJpbmcgbGFiZWwpCiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVDYW52YXNDb25maWd1cmF0aW9uLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVDYW52YXNDb25maWd1cmF0aW9uLmNwcApp
bmRleCA0ODEzMjUyMjZkZjY4YzkzYTkxODI3YzIyM2ZlMDhmZmM0Yjg1MjhhLi40NWI2ODdlMjY1
MmEyODMxYmIzOTc0MTM5NDI5ZTA5MDI4ODE3NDllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9XZWJHUFUvV2ViR1BVQ2FudmFzQ29uZmlndXJhdGlvbi5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVUNhbnZhc0NvbmZpZ3VyYXRpb24uY3BwCkBAIC00
Nyw3ICs0Nyw3IEBAIHN0ZDo6b3B0aW9uYWw8Q2FudmFzQ29uZmlndXJhdGlvbj4gQ29udmVydFRv
QmFja2luZ0NvbnRleHQ6OmNvbnZlcnRUb0JhY2tpbmcoY29uCiAgICAgICAgICAgICByZXR1cm4g
c3RkOjpudWxsb3B0OwogICAgIH0KIAotICAgIHJldHVybiB7IHsgZGV2aWNlLCBjYW52YXNDb25m
aWd1cmF0aW9uLmZvcm1hdCwgY2FudmFzQ29uZmlndXJhdGlvbi51c2FnZSwgY2FudmFzQ29uZmln
dXJhdGlvbi5jb2xvclNwYWNlLCBjYW52YXNDb25maWd1cmF0aW9uLmNvbXBvc2l0aW5nQWxwaGFN
b2RlLCBXVEZNb3ZlKHNpemUpIH0gfTsKKyAgICByZXR1cm4geyB7IGRldmljZSwgY2FudmFzQ29u
ZmlndXJhdGlvbi5mb3JtYXQsIGNhbnZhc0NvbmZpZ3VyYXRpb24udXNhZ2UsIGNhbnZhc0NvbmZp
Z3VyYXRpb24udmlld0Zvcm1hdHMsIGNhbnZhc0NvbmZpZ3VyYXRpb24uY29sb3JTcGFjZSwgY2Fu
dmFzQ29uZmlndXJhdGlvbi5jb21wb3NpdGluZ0FscGhhTW9kZSwgV1RGTW92ZShzaXplKSB9IH07
CiB9CiAKIHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OkNhbnZhc0NvbmZpZ3VyYXRpb24+IENv
bnZlcnRGcm9tQmFja2luZ0NvbnRleHQ6OmNvbnZlcnRGcm9tQmFja2luZyhjb25zdCBDYW52YXND
b25maWd1cmF0aW9uJiBjYW52YXNDb25maWd1cmF0aW9uKQpAQCAtNjMsNyArNjMsNyBAQCBzdGQ6
Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpDYW52YXNDb25maWd1cmF0aW9uPiBDb252ZXJ0RnJvbUJh
Y2tpbmdDb250ZXh0Ojpjb252ZQogICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKICAg
ICB9CiAKLSAgICByZXR1cm4geyB7ICpkZXZpY2UsIGNhbnZhc0NvbmZpZ3VyYXRpb24uZm9ybWF0
LCBjYW52YXNDb25maWd1cmF0aW9uLnVzYWdlLCBjYW52YXNDb25maWd1cmF0aW9uLmNvbG9yU3Bh
Y2UsIGNhbnZhc0NvbmZpZ3VyYXRpb24uY29tcG9zaXRpbmdBbHBoYU1vZGUsIFdURk1vdmUoc2l6
ZSkgfSB9OworICAgIHJldHVybiB7IHsgKmRldmljZSwgY2FudmFzQ29uZmlndXJhdGlvbi5mb3Jt
YXQsIGNhbnZhc0NvbmZpZ3VyYXRpb24udXNhZ2UsIGNhbnZhc0NvbmZpZ3VyYXRpb24udmlld0Zv
cm1hdHMsIGNhbnZhc0NvbmZpZ3VyYXRpb24uY29sb3JTcGFjZSwgY2FudmFzQ29uZmlndXJhdGlv
bi5jb21wb3NpdGluZ0FscGhhTW9kZSwgV1RGTW92ZShzaXplKSB9IH07CiB9CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dl
YkdQVUNhbnZhc0NvbmZpZ3VyYXRpb24uaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9X
ZWJHUFVDYW52YXNDb25maWd1cmF0aW9uLmgKaW5kZXggMzAxMDExOWIzZWNhN2ZjN2JhNjJhYzI1
YjQxNzNiODFjZDAyYWYyOC4uMDg3ODRlMzkwNTY5Zjc1ODRmNTk2NGZjOTM2NTQyZWU5MzhjZWJj
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVUNhbnZhc0Nv
bmZpZ3VyYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVQ2Fu
dmFzQ29uZmlndXJhdGlvbi5oCkBAIC00NSw2ICs0NSw3IEBAIHN0cnVjdCBDYW52YXNDb25maWd1
cmF0aW9uIHsKICAgICBXZWJHUFVJZGVudGlmaWVyIGRldmljZTsKICAgICBQQUw6OldlYkdQVTo6
VGV4dHVyZUZvcm1hdCBmb3JtYXQgeyBQQUw6OldlYkdQVTo6VGV4dHVyZUZvcm1hdDo6Ujh1bm9y
bSB9OwogICAgIFBBTDo6V2ViR1BVOjpUZXh0dXJlVXNhZ2VGbGFncyB1c2FnZSB7IFBBTDo6V2Vi
R1BVOjpUZXh0dXJlVXNhZ2U6OlJlbmRlckF0dGFjaG1lbnQgfTsKKyAgICBWZWN0b3I8UEFMOjpX
ZWJHUFU6OlRleHR1cmVGb3JtYXQ+IHZpZXdGb3JtYXRzOwogICAgIFBBTDo6V2ViR1BVOjpQcmVk
ZWZpbmVkQ29sb3JTcGFjZSBjb2xvclNwYWNlIHsgUEFMOjpXZWJHUFU6OlByZWRlZmluZWRDb2xv
clNwYWNlOjpTUkdCIH07CiAgICAgUEFMOjpXZWJHUFU6OkNhbnZhc0NvbXBvc2l0aW5nQWxwaGFN
b2RlIGNvbXBvc2l0aW5nQWxwaGFNb2RlIHsgUEFMOjpXZWJHUFU6OkNhbnZhc0NvbXBvc2l0aW5n
QWxwaGFNb2RlOjpPcGFxdWUgfTsKICAgICBzdGQ6Om9wdGlvbmFsPEV4dGVudDNEPiBzaXplOwpA
QCAtNTQsNiArNTUsNyBAQCBzdHJ1Y3QgQ2FudmFzQ29uZmlndXJhdGlvbiB7CiAgICAgICAgIGVu
Y29kZXIgPDwgZGV2aWNlOwogICAgICAgICBlbmNvZGVyIDw8IGZvcm1hdDsKICAgICAgICAgZW5j
b2RlciA8PCB1c2FnZTsKKyAgICAgICAgZW5jb2RlciA8PCB2aWV3Rm9ybWF0czsKICAgICAgICAg
ZW5jb2RlciA8PCBjb2xvclNwYWNlOwogICAgICAgICBlbmNvZGVyIDw8IGNvbXBvc2l0aW5nQWxw
aGFNb2RlOwogICAgICAgICBlbmNvZGVyIDw8IHNpemU7CkBAIC03Niw2ICs3OCwxMSBAQCBzdHJ1
Y3QgQ2FudmFzQ29uZmlndXJhdGlvbiB7CiAgICAgICAgIGlmICghdXNhZ2UpCiAgICAgICAgICAg
ICByZXR1cm4gc3RkOjpudWxsb3B0OwogCisgICAgICAgIHN0ZDo6b3B0aW9uYWw8VmVjdG9yPFBB
TDo6V2ViR1BVOjpUZXh0dXJlRm9ybWF0Pj4gdmlld0Zvcm1hdHM7CisgICAgICAgIGRlY29kZXIg
Pj4gdmlld0Zvcm1hdHM7CisgICAgICAgIGlmICghdmlld0Zvcm1hdHMpCisgICAgICAgICAgICBy
ZXR1cm4gc3RkOjpudWxsb3B0OworCiAgICAgICAgIHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6
OlByZWRlZmluZWRDb2xvclNwYWNlPiBjb2xvclNwYWNlOwogICAgICAgICBkZWNvZGVyID4+IGNv
bG9yU3BhY2U7CiAgICAgICAgIGlmICghY29sb3JTcGFjZSkKQEAgLTkxLDcgKzk4LDcgQEAgc3Ry
dWN0IENhbnZhc0NvbmZpZ3VyYXRpb24gewogICAgICAgICBpZiAoIXNpemUpCiAgICAgICAgICAg
ICByZXR1cm4gc3RkOjpudWxsb3B0OwogCi0gICAgICAgIHJldHVybiB7IHsgV1RGTW92ZSgqZGV2
aWNlKSwgV1RGTW92ZSgqZm9ybWF0KSwgV1RGTW92ZSgqdXNhZ2UpLCBXVEZNb3ZlKCpjb2xvclNw
YWNlKSwgV1RGTW92ZSgqY29tcG9zaXRpbmdBbHBoYU1vZGUpLCBXVEZNb3ZlKCpzaXplKSB9IH07
CisgICAgICAgIHJldHVybiB7IHsgV1RGTW92ZSgqZGV2aWNlKSwgV1RGTW92ZSgqZm9ybWF0KSwg
V1RGTW92ZSgqdXNhZ2UpLCBXVEZNb3ZlKCp2aWV3Rm9ybWF0cyksIFdURk1vdmUoKmNvbG9yU3Bh
Y2UpLCBXVEZNb3ZlKCpjb21wb3NpdGluZ0FscGhhTW9kZSksIFdURk1vdmUoKnNpemUpIH0gfTsK
ICAgICB9CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2Vi
R1BVQ29udmVydEZyb21CYWNraW5nQ29udGV4dC5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2Vi
R1BVL1dlYkdQVUNvbnZlcnRGcm9tQmFja2luZ0NvbnRleHQuaAppbmRleCA5OTJmMjdkYTBlNGJh
NTE1Y2ZiZmQ5ODA2Njk0NzcwZDNjOTg4NDE3Li4zOTcyYWQzOGZhN2YxZWZkOTI3MmM2OGMzMDQ3
ODFhYWY2NzIzMzkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2Vi
R1BVQ29udmVydEZyb21CYWNraW5nQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L1dlYkdQVS9XZWJHUFVDb252ZXJ0RnJvbUJhY2tpbmdDb250ZXh0LmgKQEAgLTExMiw2ICsxMTIs
NyBAQCBjbGFzcyBTYW1wbGVyOwogc3RydWN0IFNhbXBsZXJCaW5kaW5nTGF5b3V0Owogc3RydWN0
IFNhbXBsZXJEZXNjcmlwdG9yOwogY2xhc3MgU2hhZGVyTW9kdWxlOworc3RydWN0IFNoYWRlck1v
ZHVsZUNvbXBpbGF0aW9uSGludDsKIHN0cnVjdCBTaGFkZXJNb2R1bGVEZXNjcmlwdG9yOwogc3Ry
dWN0IFN0ZW5jaWxGYWNlU3RhdGU7CiBzdHJ1Y3QgU3RvcmFnZVRleHR1cmVCaW5kaW5nTGF5b3V0
OwpAQCAtMTc2LDYgKzE3Nyw3IEBAIHN0cnVjdCBSZW5kZXJQaXBlbGluZURlc2NyaXB0b3I7CiBz
dHJ1Y3QgUmVxdWVzdEFkYXB0ZXJPcHRpb25zOwogc3RydWN0IFNhbXBsZXJCaW5kaW5nTGF5b3V0
Owogc3RydWN0IFNhbXBsZXJEZXNjcmlwdG9yOworc3RydWN0IFNoYWRlck1vZHVsZUNvbXBpbGF0
aW9uSGludDsKIHN0cnVjdCBTaGFkZXJNb2R1bGVEZXNjcmlwdG9yOwogc3RydWN0IFN0ZW5jaWxG
YWNlU3RhdGU7CiBzdHJ1Y3QgU3RvcmFnZVRleHR1cmVCaW5kaW5nTGF5b3V0OwpAQCAtMjUxLDYg
KzI1Myw3IEBAIHB1YmxpYzoKICAgICBzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpSZXF1ZXN0
QWRhcHRlck9wdGlvbnM+IGNvbnZlcnRGcm9tQmFja2luZyhjb25zdCBSZXF1ZXN0QWRhcHRlck9w
dGlvbnMmKTsKICAgICBzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpTYW1wbGVyQmluZGluZ0xh
eW91dD4gY29udmVydEZyb21CYWNraW5nKGNvbnN0IFNhbXBsZXJCaW5kaW5nTGF5b3V0Jik7CiAg
ICAgc3RkOjpvcHRpb25hbDxQQUw6OldlYkdQVTo6U2FtcGxlckRlc2NyaXB0b3I+IGNvbnZlcnRG
cm9tQmFja2luZyhjb25zdCBTYW1wbGVyRGVzY3JpcHRvciYpOworICAgIHN0ZDo6b3B0aW9uYWw8
UEFMOjpXZWJHUFU6OlNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludD4gY29udmVydEZyb21CYWNr
aW5nKGNvbnN0IFNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludCYpOwogICAgIHN0ZDo6b3B0aW9u
YWw8UEFMOjpXZWJHUFU6OlNoYWRlck1vZHVsZURlc2NyaXB0b3I+IGNvbnZlcnRGcm9tQmFja2lu
Zyhjb25zdCBTaGFkZXJNb2R1bGVEZXNjcmlwdG9yJik7CiAgICAgc3RkOjpvcHRpb25hbDxQQUw6
OldlYkdQVTo6U3RlbmNpbEZhY2VTdGF0ZT4gY29udmVydEZyb21CYWNraW5nKGNvbnN0IFN0ZW5j
aWxGYWNlU3RhdGUmKTsKICAgICBzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpTdG9yYWdlVGV4
dHVyZUJpbmRpbmdMYXlvdXQ+IGNvbnZlcnRGcm9tQmFja2luZyhjb25zdCBTdG9yYWdlVGV4dHVy
ZUJpbmRpbmdMYXlvdXQmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQ
VS9XZWJHUFVDb252ZXJ0VG9CYWNraW5nQ29udGV4dC5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQv
V2ViR1BVL1dlYkdQVUNvbnZlcnRUb0JhY2tpbmdDb250ZXh0LmgKaW5kZXggYTUzMzg3Njc4Y2I5
ZDc1YTI3NmU0NjM3NTQxZDMxNjA2OWIwN2Q5Yy4uZGU4NDBlMzc4NTk0Y2IyY2NkZWVmN2QyNTVj
YzVmNmVjNGRjNDk2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dl
YkdQVUNvbnZlcnRUb0JhY2tpbmdDb250ZXh0LmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQv
V2ViR1BVL1dlYkdQVUNvbnZlcnRUb0JhY2tpbmdDb250ZXh0LmgKQEAgLTExMSw2ICsxMTEsNyBA
QCBjbGFzcyBTYW1wbGVyOwogc3RydWN0IFNhbXBsZXJCaW5kaW5nTGF5b3V0Owogc3RydWN0IFNh
bXBsZXJEZXNjcmlwdG9yOwogY2xhc3MgU2hhZGVyTW9kdWxlOworc3RydWN0IFNoYWRlck1vZHVs
ZUNvbXBpbGF0aW9uSGludDsKIHN0cnVjdCBTaGFkZXJNb2R1bGVEZXNjcmlwdG9yOwogc3RydWN0
IFN0ZW5jaWxGYWNlU3RhdGU7CiBzdHJ1Y3QgU3RvcmFnZVRleHR1cmVCaW5kaW5nTGF5b3V0OwpA
QCAtMTc1LDYgKzE3Niw3IEBAIHN0cnVjdCBSZW5kZXJQaXBlbGluZURlc2NyaXB0b3I7CiBzdHJ1
Y3QgUmVxdWVzdEFkYXB0ZXJPcHRpb25zOwogc3RydWN0IFNhbXBsZXJCaW5kaW5nTGF5b3V0Owog
c3RydWN0IFNhbXBsZXJEZXNjcmlwdG9yOworc3RydWN0IFNoYWRlck1vZHVsZUNvbXBpbGF0aW9u
SGludDsKIHN0cnVjdCBTaGFkZXJNb2R1bGVEZXNjcmlwdG9yOwogc3RydWN0IFN0ZW5jaWxGYWNl
U3RhdGU7CiBzdHJ1Y3QgU3RvcmFnZVRleHR1cmVCaW5kaW5nTGF5b3V0OwpAQCAtMjUwLDYgKzI1
Miw3IEBAIHB1YmxpYzoKICAgICBzdGQ6Om9wdGlvbmFsPFJlcXVlc3RBZGFwdGVyT3B0aW9ucz4g
Y29udmVydFRvQmFja2luZyhjb25zdCBQQUw6OldlYkdQVTo6UmVxdWVzdEFkYXB0ZXJPcHRpb25z
Jik7CiAgICAgc3RkOjpvcHRpb25hbDxTYW1wbGVyQmluZGluZ0xheW91dD4gY29udmVydFRvQmFj
a2luZyhjb25zdCBQQUw6OldlYkdQVTo6U2FtcGxlckJpbmRpbmdMYXlvdXQmKTsKICAgICBzdGQ6
Om9wdGlvbmFsPFNhbXBsZXJEZXNjcmlwdG9yPiBjb252ZXJ0VG9CYWNraW5nKGNvbnN0IFBBTDo6
V2ViR1BVOjpTYW1wbGVyRGVzY3JpcHRvciYpOworICAgIHN0ZDo6b3B0aW9uYWw8U2hhZGVyTW9k
dWxlQ29tcGlsYXRpb25IaW50PiBjb252ZXJ0VG9CYWNraW5nKGNvbnN0IFBBTDo6V2ViR1BVOjpT
aGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQmKTsKICAgICBzdGQ6Om9wdGlvbmFsPFNoYWRlck1v
ZHVsZURlc2NyaXB0b3I+IGNvbnZlcnRUb0JhY2tpbmcoY29uc3QgUEFMOjpXZWJHUFU6OlNoYWRl
ck1vZHVsZURlc2NyaXB0b3ImKTsKICAgICBzdGQ6Om9wdGlvbmFsPFN0ZW5jaWxGYWNlU3RhdGU+
IGNvbnZlcnRUb0JhY2tpbmcoY29uc3QgUEFMOjpXZWJHUFU6OlN0ZW5jaWxGYWNlU3RhdGUmKTsK
ICAgICBzdGQ6Om9wdGlvbmFsPFN0b3JhZ2VUZXh0dXJlQmluZGluZ0xheW91dD4gY29udmVydFRv
QmFja2luZyhjb25zdCBQQUw6OldlYkdQVTo6U3RvcmFnZVRleHR1cmVCaW5kaW5nTGF5b3V0Jik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVRnJhZ21lbnRT
dGF0ZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVRnJhZ21lbnRTdGF0
ZS5jcHAKaW5kZXggNWYwNzAxMzMzZGNkZDJiZDI3OGJmZGViODczZTA1OGMwYzA1NTIyNy4uYWM1
OGEzNjhkMTZjZmM4MWY3Mzg4OGRlYWIwYTM3OGUwYzMwMDk3ZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVUZyYWdtZW50U3RhdGUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVGcmFnbWVudFN0YXRlLmNwcApAQCAtNDAsMTMg
KzQwLDE2IEBAIHN0ZDo6b3B0aW9uYWw8RnJhZ21lbnRTdGF0ZT4gQ29udmVydFRvQmFja2luZ0Nv
bnRleHQ6OmNvbnZlcnRUb0JhY2tpbmcoY29uc3QgUEFMCiAgICAgaWYgKCFiYXNlKQogICAgICAg
ICByZXR1cm4gc3RkOjpudWxsb3B0OwogCi0gICAgVmVjdG9yPENvbG9yVGFyZ2V0U3RhdGU+IHRh
cmdldHM7CisgICAgVmVjdG9yPHN0ZDo6b3B0aW9uYWw8Q29sb3JUYXJnZXRTdGF0ZT4+IHRhcmdl
dHM7CiAgICAgdGFyZ2V0cy5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KGZyYWdtZW50U3RhdGUudGFy
Z2V0cy5zaXplKCkpOwogICAgIGZvciAoY29uc3QgYXV0byYgdGFyZ2V0IDogZnJhZ21lbnRTdGF0
ZS50YXJnZXRzKSB7Ci0gICAgICAgIGF1dG8gY29udmVydGVkVGFyZ2V0ID0gY29udmVydFRvQmFj
a2luZyh0YXJnZXQpOwotICAgICAgICBpZiAoIWNvbnZlcnRlZFRhcmdldCkKLSAgICAgICAgICAg
IHJldHVybiBzdGQ6Om51bGxvcHQ7Ci0gICAgICAgIHRhcmdldHMudW5jaGVja2VkQXBwZW5kKFdU
Rk1vdmUoKmNvbnZlcnRlZFRhcmdldCkpOworICAgICAgICBpZiAodGFyZ2V0KSB7CisgICAgICAg
ICAgICBhdXRvIGNvbnZlcnRlZFRhcmdldCA9IGNvbnZlcnRUb0JhY2tpbmcoKnRhcmdldCk7Cisg
ICAgICAgICAgICBpZiAoIWNvbnZlcnRlZFRhcmdldCkKKyAgICAgICAgICAgICAgICByZXR1cm4g
c3RkOjpudWxsb3B0OworICAgICAgICAgICAgdGFyZ2V0cy51bmNoZWNrZWRBcHBlbmQoV1RGTW92
ZSgqY29udmVydGVkVGFyZ2V0KSk7CisgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgdGFyZ2V0
cy51bmNoZWNrZWRBcHBlbmQoc3RkOjpudWxsb3B0KTsKICAgICB9CiAKICAgICByZXR1cm4geyB7
IFdURk1vdmUoKmJhc2UpLCBXVEZNb3ZlKHRhcmdldHMpIH0gfTsKQEAgLTU4LDEzICs2MSwxNiBA
QCBzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpGcmFnbWVudFN0YXRlPiBDb252ZXJ0RnJvbUJh
Y2tpbmdDb250ZXh0Ojpjb252ZXJ0RnJvbQogICAgIGlmICghYmFzZSkKICAgICAgICAgcmV0dXJu
IHN0ZDo6bnVsbG9wdDsKIAotICAgIFZlY3RvcjxQQUw6OldlYkdQVTo6Q29sb3JUYXJnZXRTdGF0
ZT4gdGFyZ2V0czsKKyAgICBWZWN0b3I8c3RkOjpvcHRpb25hbDxQQUw6OldlYkdQVTo6Q29sb3JU
YXJnZXRTdGF0ZT4+IHRhcmdldHM7CiAgICAgdGFyZ2V0cy5yZXNlcnZlSW5pdGlhbENhcGFjaXR5
KGZyYWdtZW50U3RhdGUudGFyZ2V0cy5zaXplKCkpOwogICAgIGZvciAoY29uc3QgYXV0byYgYmFj
a2luZ1RhcmdldCA6IGZyYWdtZW50U3RhdGUudGFyZ2V0cykgewotICAgICAgICBhdXRvIHRhcmdl
dCA9IGNvbnZlcnRGcm9tQmFja2luZyhiYWNraW5nVGFyZ2V0KTsKLSAgICAgICAgaWYgKCF0YXJn
ZXQpCi0gICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwotICAgICAgICB0YXJnZXRzLnVu
Y2hlY2tlZEFwcGVuZChXVEZNb3ZlKCp0YXJnZXQpKTsKKyAgICAgICAgaWYgKGJhY2tpbmdUYXJn
ZXQpIHsKKyAgICAgICAgICAgIGF1dG8gdGFyZ2V0ID0gY29udmVydEZyb21CYWNraW5nKCpiYWNr
aW5nVGFyZ2V0KTsKKyAgICAgICAgICAgIGlmICghdGFyZ2V0KQorICAgICAgICAgICAgICAgIHJl
dHVybiBzdGQ6Om51bGxvcHQ7CisgICAgICAgICAgICB0YXJnZXRzLnVuY2hlY2tlZEFwcGVuZChX
VEZNb3ZlKCp0YXJnZXQpKTsKKyAgICAgICAgfSBlbHNlCisgICAgICAgICAgICB0YXJnZXRzLnVu
Y2hlY2tlZEFwcGVuZChzdGQ6Om51bGxvcHQpOwogICAgIH0KIAogICAgIHJldHVybiB7IHsgV1RG
TW92ZSgqYmFzZSksIFdURk1vdmUodGFyZ2V0cykgfSB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVUZyYWdtZW50U3RhdGUuaCBiL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL1dlYkdQVS9XZWJHUFVGcmFnbWVudFN0YXRlLmgKaW5kZXggMjg3YmNjNDdkOTRiNGRl
ZjUxY2NmNmIxMGJhYzY5NzlmOGQyNTM5Yy4uY2JiNDhjOWE0NmU2ZDA5NjlkMTQzODgwODJiM2E1
NDVhNTFkNGE3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQ
VUZyYWdtZW50U3RhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BV
RnJhZ21lbnRTdGF0ZS5oCkBAIC0zNSw3ICszNSw3IEBACiBuYW1lc3BhY2UgV2ViS2l0OjpXZWJH
UFUgewogCiBzdHJ1Y3QgRnJhZ21lbnRTdGF0ZSA6IHB1YmxpYyBQcm9ncmFtbWFibGVTdGFnZSB7
Ci0gICAgVmVjdG9yPENvbG9yVGFyZ2V0U3RhdGU+IHRhcmdldHM7CisgICAgVmVjdG9yPHN0ZDo6
b3B0aW9uYWw8Q29sb3JUYXJnZXRTdGF0ZT4+IHRhcmdldHM7CiAKICAgICB0ZW1wbGF0ZTxjbGFz
cyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogICAgIHsKQEAg
LTUwLDcgKzUwLDcgQEAgc3RydWN0IEZyYWdtZW50U3RhdGUgOiBwdWJsaWMgUHJvZ3JhbW1hYmxl
U3RhZ2UgewogICAgICAgICBpZiAoIXByb2dyYW1tYWJsZVN0YWdlKQogICAgICAgICAgICAgcmV0
dXJuIHN0ZDo6bnVsbG9wdDsKIAotICAgICAgICBzdGQ6Om9wdGlvbmFsPFZlY3RvcjxDb2xvclRh
cmdldFN0YXRlPj4gdGFyZ2V0czsKKyAgICAgICAgc3RkOjpvcHRpb25hbDxWZWN0b3I8c3RkOjpv
cHRpb25hbDxDb2xvclRhcmdldFN0YXRlPj4+IHRhcmdldHM7CiAgICAgICAgIGRlY29kZXIgPj4g
dGFyZ2V0czsKICAgICAgICAgaWYgKCF0YXJnZXRzKQogICAgICAgICAgICAgcmV0dXJuIHN0ZDo6
bnVsbG9wdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVJ
bWFnZUNvcHlFeHRlcm5hbEltYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9X
ZWJHUFVJbWFnZUNvcHlFeHRlcm5hbEltYWdlLmNwcAppbmRleCA4Njg2ODNkMWQ0OThiNWZjMTE3
MjQ5MzcxYzUzYjQxOGQzY2EzMWNlLi5hYzgyNjhjZTlhOWYxZmZiM2YzNzAyODU1MWFmMThmN2Rh
MjFmZDMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVSW1h
Z2VDb3B5RXh0ZXJuYWxJbWFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BV
L1dlYkdQVUltYWdlQ29weUV4dGVybmFsSW1hZ2UuY3BwCkBAIC0zOCwyNCArMzgsMjQgQEAgc3Rk
OjpvcHRpb25hbDxJbWFnZUNvcHlFeHRlcm5hbEltYWdlPiBDb252ZXJ0VG9CYWNraW5nQ29udGV4
dDo6Y29udmVydFRvQmFja2luZygKIHsKICAgICBzdGQ6Om9wdGlvbmFsPE9yaWdpbjJEPiBvcmln
aW47CiAgICAgaWYgKGltYWdlQ29weUV4dGVybmFsSW1hZ2Uub3JpZ2luKSB7Ci0gICAgICAgIGF1
dG8gY29udmVydGVkT3JpZ2luID0gY29udmVydFRvQmFja2luZygqaW1hZ2VDb3B5RXh0ZXJuYWxJ
bWFnZS5vcmlnaW4pOwotICAgICAgICBpZiAoIWNvbnZlcnRlZE9yaWdpbikKKyAgICAgICAgb3Jp
Z2luID0gY29udmVydFRvQmFja2luZygqaW1hZ2VDb3B5RXh0ZXJuYWxJbWFnZS5vcmlnaW4pOwor
ICAgICAgICBpZiAoIW9yaWdpbikKICAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAg
ICAgfQogCi0gICAgcmV0dXJuIHsgeyBXVEZNb3ZlKG9yaWdpbikgfSB9OworICAgIHJldHVybiB7
IHsgV1RGTW92ZShvcmlnaW4pLCBpbWFnZUNvcHlFeHRlcm5hbEltYWdlLmZsaXBZIH0gfTsKIH0K
IAogc3RkOjpvcHRpb25hbDxQQUw6OldlYkdQVTo6SW1hZ2VDb3B5RXh0ZXJuYWxJbWFnZT4gQ29u
dmVydEZyb21CYWNraW5nQ29udGV4dDo6Y29udmVydEZyb21CYWNraW5nKGNvbnN0IEltYWdlQ29w
eUV4dGVybmFsSW1hZ2UmIGltYWdlQ29weUV4dGVybmFsSW1hZ2UpCiB7CiAgICAgc3RkOjpvcHRp
b25hbDxQQUw6OldlYkdQVTo6T3JpZ2luMkQ+IG9yaWdpbjsKICAgICBpZiAoaW1hZ2VDb3B5RXh0
ZXJuYWxJbWFnZS5vcmlnaW4pIHsKLSAgICAgICAgYXV0byBvcmlnaW4gPSBjb252ZXJ0RnJvbUJh
Y2tpbmcoKmltYWdlQ29weUV4dGVybmFsSW1hZ2Uub3JpZ2luKTsKKyAgICAgICAgb3JpZ2luID0g
Y29udmVydEZyb21CYWNraW5nKCppbWFnZUNvcHlFeHRlcm5hbEltYWdlLm9yaWdpbik7CiAgICAg
ICAgIGlmICghb3JpZ2luKQogICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKICAgICB9
CiAKLSAgICByZXR1cm4geyB7IFdURk1vdmUob3JpZ2luKSB9IH07CisgICAgcmV0dXJuIHsgeyBX
VEZNb3ZlKG9yaWdpbiksIGltYWdlQ29weUV4dGVybmFsSW1hZ2UuZmxpcFkgfSB9OwogfQogCiB9
IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dl
YkdQVS9XZWJHUFVJbWFnZUNvcHlFeHRlcm5hbEltYWdlLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9XZWJHUFUvV2ViR1BVSW1hZ2VDb3B5RXh0ZXJuYWxJbWFnZS5oCmluZGV4IDVmMjk2NmMyNmVj
ZjJlZmJlNThkYmIzOTQzMWZhM2JhYjVhOGYwNmUuLmRmZmU1ZTA4YzE4YTdmMTMyMGViMjIxNmI2
NTQwYTZiYWJmMGNmMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9X
ZWJHUFVJbWFnZUNvcHlFeHRlcm5hbEltYWdlLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQv
V2ViR1BVL1dlYkdQVUltYWdlQ29weUV4dGVybmFsSW1hZ2UuaApAQCAtMzYsMTAgKzM2LDEyIEBA
IG5hbWVzcGFjZSBXZWJLaXQ6OldlYkdQVSB7CiBzdHJ1Y3QgSW1hZ2VDb3B5RXh0ZXJuYWxJbWFn
ZSB7CiAgICAgLy8gRklYTUU6IEhhbmRsZSB0aGUgc291cmNlLgogICAgIHN0ZDo6b3B0aW9uYWw8
T3JpZ2luMkQ+IG9yaWdpbjsKKyAgICBib29sIGZsaXBZIHsgZmFsc2UgfTsKIAogICAgIHRlbXBs
YXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0CiAg
ICAgewogICAgICAgICBlbmNvZGVyIDw8IG9yaWdpbjsKKyAgICAgICAgZW5jb2RlciA8PCBmbGlw
WTsKICAgICB9CiAKICAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgc3RkOjpvcHRp
b25hbDxJbWFnZUNvcHlFeHRlcm5hbEltYWdlPiBkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKQEAg
LTQ5LDcgKzUxLDEyIEBAIHN0cnVjdCBJbWFnZUNvcHlFeHRlcm5hbEltYWdlIHsKICAgICAgICAg
aWYgKCFvcmlnaW4pCiAgICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogCi0gICAgICAg
IHJldHVybiB7IHsgV1RGTW92ZSgqb3JpZ2luKSB9IH07CisgICAgICAgIHN0ZDo6b3B0aW9uYWw8
Ym9vbD4gZmxpcFk7CisgICAgICAgIGRlY29kZXIgPj4gZmxpcFk7CisgICAgICAgIGlmICghZmxp
cFkpCisgICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworCisgICAgICAgIHJldHVybiB7
IHsgV1RGTW92ZSgqb3JpZ2luKSwgV1RGTW92ZSgqZmxpcFkpIH0gfTsKICAgICB9CiB9OwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVSW1hZ2VDb3B5VGV4
dHVyZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVSW1hZ2VDb3B5VGV4
dHVyZS5jcHAKaW5kZXggNjA5MDgxOTU3NTMyZmQzZjI3YmEyMjE5MTZhYjdhNzA2NzMzZGU3My4u
ZDNjNzVlNDY0OTRhM2NiNGZmNzBiNTE0MjdjOTIyY2I1ZTgzYTMzZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVUltYWdlQ29weVRleHR1cmUuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVJbWFnZUNvcHlUZXh0dXJlLmNwcApA
QCAtNDIsNyArNDIsNyBAQCBzdGQ6Om9wdGlvbmFsPEltYWdlQ29weVRleHR1cmU+IENvbnZlcnRU
b0JhY2tpbmdDb250ZXh0Ojpjb252ZXJ0VG9CYWNraW5nKGNvbnN0CiAKICAgICBzdGQ6Om9wdGlv
bmFsPE9yaWdpbjNEPiBvcmlnaW47CiAgICAgaWYgKGltYWdlQ29weVRleHR1cmUub3JpZ2luKSB7
Ci0gICAgICAgIGF1dG8gb3JpZ2luID0gY29udmVydFRvQmFja2luZygqaW1hZ2VDb3B5VGV4dHVy
ZS5vcmlnaW4pOworICAgICAgICBvcmlnaW4gPSBjb252ZXJ0VG9CYWNraW5nKCppbWFnZUNvcHlU
ZXh0dXJlLm9yaWdpbik7CiAgICAgICAgIGlmICghb3JpZ2luKQogICAgICAgICAgICAgcmV0dXJu
IHN0ZDo6bnVsbG9wdDsKICAgICB9CkBAIC01OCw3ICs1OCw3IEBAIHN0ZDo6b3B0aW9uYWw8UEFM
OjpXZWJHUFU6OkltYWdlQ29weVRleHR1cmU+IENvbnZlcnRGcm9tQmFja2luZ0NvbnRleHQ6OmNv
bnZlcnRGCiAKICAgICBzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpPcmlnaW4zRD4gb3JpZ2lu
OwogICAgIGlmIChpbWFnZUNvcHlUZXh0dXJlLm9yaWdpbikgewotICAgICAgICBhdXRvIG9yaWdp
biA9IGNvbnZlcnRGcm9tQmFja2luZygqaW1hZ2VDb3B5VGV4dHVyZS5vcmlnaW4pOworICAgICAg
ICBvcmlnaW4gPSBjb252ZXJ0RnJvbUJhY2tpbmcoKmltYWdlQ29weVRleHR1cmUub3JpZ2luKTsK
ICAgICAgICAgaWYgKCFvcmlnaW4pCiAgICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0Owog
ICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVRdWVy
eVNldERlc2NyaXB0b3IuY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVVF1
ZXJ5U2V0RGVzY3JpcHRvci5jcHAKaW5kZXggYTA3NjE4MjMxMzllMjkyZjA1MDZkN2RmZTZiYTY3
YzViOTA5MTQ2NC4uMmM0MmViYWVjYTVhYmRjYjQ4NjY0MjhhZTllNmFkOGRlZTBhZjMyMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVVF1ZXJ5U2V0RGVzY3Jp
cHRvci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVVF1ZXJ5U2V0
RGVzY3JpcHRvci5jcHAKQEAgLTQwLDcgKzQwLDcgQEAgc3RkOjpvcHRpb25hbDxRdWVyeVNldERl
c2NyaXB0b3I+IENvbnZlcnRUb0JhY2tpbmdDb250ZXh0Ojpjb252ZXJ0VG9CYWNraW5nKGNvbnMK
ICAgICBpZiAoIWJhc2UpCiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAKLSAgICByZXR1
cm4geyB7IFdURk1vdmUoKmJhc2UpLCBxdWVyeVNldERlc2NyaXB0b3IudHlwZSwgcXVlcnlTZXRE
ZXNjcmlwdG9yLmNvdW50LCBxdWVyeVNldERlc2NyaXB0b3IucGlwZWxpbmVTdGF0aXN0aWNzIH0g
fTsKKyAgICByZXR1cm4geyB7IFdURk1vdmUoKmJhc2UpLCBxdWVyeVNldERlc2NyaXB0b3IudHlw
ZSwgcXVlcnlTZXREZXNjcmlwdG9yLmNvdW50IH0gfTsKIH0KIAogc3RkOjpvcHRpb25hbDxQQUw6
OldlYkdQVTo6UXVlcnlTZXREZXNjcmlwdG9yPiBDb252ZXJ0RnJvbUJhY2tpbmdDb250ZXh0Ojpj
b252ZXJ0RnJvbUJhY2tpbmcoY29uc3QgUXVlcnlTZXREZXNjcmlwdG9yJiBxdWVyeVNldERlc2Ny
aXB0b3IpCkBAIC00OSw3ICs0OSw3IEBAIHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlF1ZXJ5
U2V0RGVzY3JpcHRvcj4gQ29udmVydEZyb21CYWNraW5nQ29udGV4dDo6Y29udmVyCiAgICAgaWYg
KCFiYXNlKQogICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogCi0gICAgcmV0dXJuIHsgeyBX
VEZNb3ZlKCpiYXNlKSwgcXVlcnlTZXREZXNjcmlwdG9yLnR5cGUsIHF1ZXJ5U2V0RGVzY3JpcHRv
ci5jb3VudCwgcXVlcnlTZXREZXNjcmlwdG9yLnBpcGVsaW5lU3RhdGlzdGljcyB9IH07CisgICAg
cmV0dXJuIHsgeyBXVEZNb3ZlKCpiYXNlKSwgcXVlcnlTZXREZXNjcmlwdG9yLnR5cGUsIHF1ZXJ5
U2V0RGVzY3JpcHRvci5jb3VudCB9IH07CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVVF1ZXJ5U2V0RGVzY3Jp
cHRvci5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVVF1ZXJ5U2V0RGVzY3Jp
cHRvci5oCmluZGV4IDFmZDI4Y2M4YjUyY2ZhZmNlZmI0YjIzNDAzMDIwYTQxODE5ZjcxMWMuLjc1
NzY3OWQ2NTZmYTcyM2M3NTdhNTFmYTkzMThjZjZhNjVkMDE2YjcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVRdWVyeVNldERlc2NyaXB0b3IuaAorKysgYi9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVUXVlcnlTZXREZXNjcmlwdG9yLmgKQEAg
LTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlICJXZWJHUFVPYmplY3REZXNjcmlwdG9yQmFzZS5oIgog
I2luY2x1ZGUgPG9wdGlvbmFsPgogI2luY2x1ZGUgPHBhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BV
SW50ZWdyYWxUeXBlcy5oPgotI2luY2x1ZGUgPHBhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVUGlw
ZWxpbmVTdGF0aXN0aWNOYW1lLmg+CiAjaW5jbHVkZSA8cGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJH
UFVRdWVyeVR5cGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKQEAgLTM5LDE0ICszOCwx
MiBAQCBuYW1lc3BhY2UgV2ViS2l0OjpXZWJHUFUgewogc3RydWN0IFF1ZXJ5U2V0RGVzY3JpcHRv
ciA6IHB1YmxpYyBPYmplY3REZXNjcmlwdG9yQmFzZSB7CiAgICAgUEFMOjpXZWJHUFU6OlF1ZXJ5
VHlwZSB0eXBlIHsgUEFMOjpXZWJHUFU6OlF1ZXJ5VHlwZTo6T2NjbHVzaW9uIH07CiAgICAgUEFM
OjpXZWJHUFU6OlNpemUzMiBjb3VudCB7IDAgfTsKLSAgICBWZWN0b3I8UEFMOjpXZWJHUFU6OlBp
cGVsaW5lU3RhdGlzdGljTmFtZT4gcGlwZWxpbmVTdGF0aXN0aWNzOwogCiAgICAgdGVtcGxhdGU8
Y2xhc3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKICAgICB7
CiAgICAgICAgIGVuY29kZXIgPDwgc3RhdGljX2Nhc3Q8Y29uc3QgT2JqZWN0RGVzY3JpcHRvckJh
c2UmPigqdGhpcyk7CiAgICAgICAgIGVuY29kZXIgPDwgdHlwZTsKICAgICAgICAgZW5jb2RlciA8
PCBjb3VudDsKLSAgICAgICAgZW5jb2RlciA8PCBwaXBlbGluZVN0YXRpc3RpY3M7CiAgICAgfQog
CiAgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIHN0ZDo6b3B0aW9uYWw8UXVlcnlT
ZXREZXNjcmlwdG9yPiBkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKQEAgLTY2LDEyICs2Myw3IEBA
IHN0cnVjdCBRdWVyeVNldERlc2NyaXB0b3IgOiBwdWJsaWMgT2JqZWN0RGVzY3JpcHRvckJhc2Ug
ewogICAgICAgICBpZiAoIWNvdW50KQogICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsK
IAotICAgICAgICBzdGQ6Om9wdGlvbmFsPFZlY3RvcjxQQUw6OldlYkdQVTo6UGlwZWxpbmVTdGF0
aXN0aWNOYW1lPj4gcGlwZWxpbmVTdGF0aXN0aWNzOwotICAgICAgICBkZWNvZGVyID4+IHBpcGVs
aW5lU3RhdGlzdGljczsKLSAgICAgICAgaWYgKCFwaXBlbGluZVN0YXRpc3RpY3MpCi0gICAgICAg
ICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwotCi0gICAgICAgIHJldHVybiB7IHsgV1RGTW92ZSgq
b2JqZWN0RGVzY3JpcHRvckJhc2UpLCBXVEZNb3ZlKCp0eXBlKSwgV1RGTW92ZSgqY291bnQpLCBX
VEZNb3ZlKCpwaXBlbGluZVN0YXRpc3RpY3MpIH0gfTsKKyAgICAgICAgcmV0dXJuIHsgeyBXVEZN
b3ZlKCpvYmplY3REZXNjcmlwdG9yQmFzZSksIFdURk1vdmUoKnR5cGUpLCBXVEZNb3ZlKCpjb3Vu
dCkgfSB9OwogICAgIH0KIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dl
YkdQVS9XZWJHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL1dlYkdQVS9XZWJHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50LmNwcAppbmRleCBj
NDc1MGJmN2Y1ZTYwZGY2OWY2NDY2Mjc0OWU4NDc1M2VhMGFjMjcyLi41YmI4NmUxNjM3ZGQ0ZDI3
YzNmYWM3N2IwNTU2MWNjN2UyM2E2NzkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9XZWJHUFUvV2ViR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudC5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQuY3Bw
CkBAIC00NywyMCArNDcsMTQgQEAgc3RkOjpvcHRpb25hbDxSZW5kZXJQYXNzQ29sb3JBdHRhY2ht
ZW50PiBDb252ZXJ0VG9CYWNraW5nQ29udGV4dDo6Y29udmVydFRvQmFja2kKICAgICAgICAgICAg
IHJldHVybiBzdGQ6Om51bGxvcHQ7CiAgICAgfQogCi0gICAgYXV0byBsb2FkVmFsdWUgPSBXVEY6
OnN3aXRjaE9uKHJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQubG9hZFZhbHVlLCBbXSAoUEFMOjpX
ZWJHUFU6OkxvYWRPcCBsb2FkT3ApIC0+IHN0ZDo6b3B0aW9uYWw8c3RkOjp2YXJpYW50PFBBTDo6
V2ViR1BVOjpMb2FkT3AsIFZlY3Rvcjxkb3VibGU+LCBDb2xvckRpY3Q+PiB7Ci0gICAgICAgIHJl
dHVybiB7IHsgbG9hZE9wIH0gfTsKLSAgICB9LCBbXSAoY29uc3QgVmVjdG9yPGRvdWJsZT4mIHZl
Y3RvcikgLT4gc3RkOjpvcHRpb25hbDxzdGQ6OnZhcmlhbnQ8UEFMOjpXZWJHUFU6OkxvYWRPcCwg
VmVjdG9yPGRvdWJsZT4sIENvbG9yRGljdD4+IHsKLSAgICAgICAgcmV0dXJuIHsgeyB2ZWN0b3Ig
fSB9OwotICAgIH0sIFt0aGlzXSAoY29uc3QgUEFMOjpXZWJHUFU6OkNvbG9yRGljdCYgY29sb3JE
aWN0KSAtPiBzdGQ6Om9wdGlvbmFsPHN0ZDo6dmFyaWFudDxQQUw6OldlYkdQVTo6TG9hZE9wLCBW
ZWN0b3I8ZG91YmxlPiwgQ29sb3JEaWN0Pj4gewotICAgICAgICBhdXRvIGJhY2tpbmdDb2xvckRp
Y3QgPSBjb252ZXJ0VG9CYWNraW5nKGNvbG9yRGljdCk7Ci0gICAgICAgIGlmICghYmFja2luZ0Nv
bG9yRGljdCkKKyAgICBzdGQ6Om9wdGlvbmFsPENvbG9yPiBjbGVhclZhbHVlOworICAgIGlmIChy
ZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50LmNsZWFyVmFsdWUpIHsKKyAgICAgICAgY2xlYXJWYWx1
ZSA9IGNvbnZlcnRUb0JhY2tpbmcoKnJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQuY2xlYXJWYWx1
ZSk7CisgICAgICAgIGlmICghY2xlYXJWYWx1ZSkKICAgICAgICAgICAgIHJldHVybiBzdGQ6Om51
bGxvcHQ7Ci0gICAgICAgIHJldHVybiB7IHsgV1RGTW92ZSgqYmFja2luZ0NvbG9yRGljdCkgfSB9
OwotICAgIH0pOwotICAgIGlmICghbG9hZFZhbHVlKQotICAgICAgICByZXR1cm4gc3RkOjpudWxs
b3B0OworICAgIH0KIAotICAgIHJldHVybiB7IHsgdmlldywgcmVzb2x2ZVRhcmdldCwgV1RGTW92
ZSgqbG9hZFZhbHVlKSwgcmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudC5zdG9yZU9wIH0gfTsKKyAg
ICByZXR1cm4geyB7IHZpZXcsIHJlc29sdmVUYXJnZXQsIFdURk1vdmUoY2xlYXJWYWx1ZSksIHJl
bmRlclBhc3NDb2xvckF0dGFjaG1lbnQubG9hZE9wLCByZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50
LnN0b3JlT3AgfSB9OwogfQogCiBzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpSZW5kZXJQYXNz
Q29sb3JBdHRhY2htZW50PiBDb252ZXJ0RnJvbUJhY2tpbmdDb250ZXh0Ojpjb252ZXJ0RnJvbUJh
Y2tpbmcoY29uc3QgUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudCYgcmVuZGVyUGFzc0NvbG9yQXR0
YWNobWVudCkKQEAgLTc2LDIwICs3MCwxNCBAQCBzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpS
ZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50PiBDb252ZXJ0RnJvbUJhY2tpbmdDb250ZXh0OgogICAg
ICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKICAgICB9CiAKLSAgICBhdXRvIGxvYWRWYWx1
ZSA9IFdURjo6c3dpdGNoT24ocmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudC5sb2FkVmFsdWUsIFtd
IChQQUw6OldlYkdQVTo6TG9hZE9wIGxvYWRPcCkgLT4gc3RkOjpvcHRpb25hbDxzdGQ6OnZhcmlh
bnQ8UEFMOjpXZWJHUFU6OkxvYWRPcCwgVmVjdG9yPGRvdWJsZT4sIFBBTDo6V2ViR1BVOjpDb2xv
ckRpY3Q+PiB7Ci0gICAgICAgIHJldHVybiB7IHsgbG9hZE9wIH0gfTsKLSAgICB9LCBbXSAoY29u
c3QgVmVjdG9yPGRvdWJsZT4mIHZlY3RvcikgLT4gc3RkOjpvcHRpb25hbDxzdGQ6OnZhcmlhbnQ8
UEFMOjpXZWJHUFU6OkxvYWRPcCwgVmVjdG9yPGRvdWJsZT4sIFBBTDo6V2ViR1BVOjpDb2xvckRp
Y3Q+PiB7Ci0gICAgICAgIHJldHVybiB7IHsgdmVjdG9yIH0gfTsKLSAgICB9LCBbdGhpc10gKGNv
bnN0IENvbG9yRGljdCYgY29sb3JEaWN0KSAtPiBzdGQ6Om9wdGlvbmFsPHN0ZDo6dmFyaWFudDxQ
QUw6OldlYkdQVTo6TG9hZE9wLCBWZWN0b3I8ZG91YmxlPiwgUEFMOjpXZWJHUFU6OkNvbG9yRGlj
dD4+IHsKLSAgICAgICAgYXV0byBiYWNraW5nQ29sb3JEaWN0ID0gY29udmVydEZyb21CYWNraW5n
KGNvbG9yRGljdCk7Ci0gICAgICAgIGlmICghYmFja2luZ0NvbG9yRGljdCkKKyAgICBzdGQ6Om9w
dGlvbmFsPFBBTDo6V2ViR1BVOjpDb2xvcj4gY2xlYXJWYWx1ZTsKKyAgICBpZiAocmVuZGVyUGFz
c0NvbG9yQXR0YWNobWVudC5jbGVhclZhbHVlKSB7CisgICAgICAgIGNsZWFyVmFsdWUgPSBjb252
ZXJ0RnJvbUJhY2tpbmcoKnJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQuY2xlYXJWYWx1ZSk7Cisg
ICAgICAgIGlmICghY2xlYXJWYWx1ZSkKICAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7
Ci0gICAgICAgIHJldHVybiB7IHsgV1RGTW92ZSgqYmFja2luZ0NvbG9yRGljdCkgfSB9OwotICAg
IH0pOwotICAgIGlmICghbG9hZFZhbHVlKQotICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0Owor
ICAgIH0KIAotICAgIHJldHVybiB7IHsgKnZpZXcsIHJlc29sdmVUYXJnZXQsIFdURk1vdmUoKmxv
YWRWYWx1ZSksIHJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQuc3RvcmVPcCB9IH07CisgICAgcmV0
dXJuIHsgeyAqdmlldywgcmVzb2x2ZVRhcmdldCwgV1RGTW92ZShjbGVhclZhbHVlKSwgcmVuZGVy
UGFzc0NvbG9yQXR0YWNobWVudC5sb2FkT3AsIHJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQuc3Rv
cmVPcCB9IH07CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQuaCBi
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2ht
ZW50LmgKaW5kZXggYzE2YTE0ZmYwZDQ2OGM2MzZmNTZjNjZhMDEzNmM3NDE4MzNhMGMyMC4uN2Jl
YTQyNDg2MDA0NmMyZDIwNzFhYWEyOTk1MzM5NzA4MmI2N2VhYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVUmVuZGVyUGFzc0NvbG9yQXR0
YWNobWVudC5oCkBAIC00MiwxNCArNDIsMTYgQEAgc3RydWN0IFJlbmRlclBhc3NDb2xvckF0dGFj
aG1lbnQgewogICAgIFdlYkdQVUlkZW50aWZpZXIgdmlldzsKICAgICBXZWJHUFVJZGVudGlmaWVy
IHJlc29sdmVUYXJnZXQ7CiAKLSAgICBzdGQ6OnZhcmlhbnQ8UEFMOjpXZWJHUFU6OkxvYWRPcCwg
VmVjdG9yPGRvdWJsZT4sIENvbG9yRGljdD4gbG9hZFZhbHVlOworICAgIHN0ZDo6b3B0aW9uYWw8
Q29sb3I+IGNsZWFyVmFsdWU7CisgICAgUEFMOjpXZWJHUFU6OkxvYWRPcCBsb2FkT3AgeyBQQUw6
OldlYkdQVTo6TG9hZE9wOjpMb2FkIH07CiAgICAgUEFMOjpXZWJHUFU6OlN0b3JlT3Agc3RvcmVP
cCB7IFBBTDo6V2ViR1BVOjpTdG9yZU9wOjpTdG9yZSB9OwogCiAgICAgdGVtcGxhdGU8Y2xhc3Mg
RW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKICAgICB7CiAgICAg
ICAgIGVuY29kZXIgPDwgdmlldzsKICAgICAgICAgZW5jb2RlciA8PCByZXNvbHZlVGFyZ2V0Owot
ICAgICAgICBlbmNvZGVyIDw8IGxvYWRWYWx1ZTsKKyAgICAgICAgZW5jb2RlciA8PCBjbGVhclZh
bHVlOworICAgICAgICBlbmNvZGVyIDw8IGxvYWRPcDsKICAgICAgICAgZW5jb2RlciA8PCBzdG9y
ZU9wOwogICAgIH0KIApAQCAtNjUsOSArNjcsMTQgQEAgc3RydWN0IFJlbmRlclBhc3NDb2xvckF0
dGFjaG1lbnQgewogICAgICAgICBpZiAoIXJlc29sdmVUYXJnZXQpCiAgICAgICAgICAgICByZXR1
cm4gc3RkOjpudWxsb3B0OwogCi0gICAgICAgIHN0ZDo6b3B0aW9uYWw8c3RkOjp2YXJpYW50PFBB
TDo6V2ViR1BVOjpMb2FkT3AsIFZlY3Rvcjxkb3VibGU+LCBDb2xvckRpY3Q+PiBsb2FkVmFsdWU7
Ci0gICAgICAgIGRlY29kZXIgPj4gbG9hZFZhbHVlOwotICAgICAgICBpZiAoIWxvYWRWYWx1ZSkK
KyAgICAgICAgc3RkOjpvcHRpb25hbDxzdGQ6Om9wdGlvbmFsPENvbG9yPj4gY2xlYXJWYWx1ZTsK
KyAgICAgICAgZGVjb2RlciA+PiBjbGVhclZhbHVlOworICAgICAgICBpZiAoIWNsZWFyVmFsdWUp
CisgICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworCisgICAgICAgIHN0ZDo6b3B0aW9u
YWw8UEFMOjpXZWJHUFU6OkxvYWRPcD4gbG9hZE9wOworICAgICAgICBkZWNvZGVyID4+IGxvYWRP
cDsKKyAgICAgICAgaWYgKCFsb2FkT3ApCiAgICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0
OwogCiAgICAgICAgIHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlN0b3JlT3A+IHN0b3JlT3A7
CkBAIC03NSw3ICs4Miw3IEBAIHN0cnVjdCBSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50IHsKICAg
ICAgICAgaWYgKCFzdG9yZU9wKQogICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKIAot
ICAgICAgICByZXR1cm4geyB7IFdURk1vdmUoKnZpZXcpLCBXVEZNb3ZlKCpyZXNvbHZlVGFyZ2V0
KSwgV1RGTW92ZSgqbG9hZFZhbHVlKSwgV1RGTW92ZSgqc3RvcmVPcCkgfSB9OworICAgICAgICBy
ZXR1cm4geyB7IFdURk1vdmUoKnZpZXcpLCBXVEZNb3ZlKCpyZXNvbHZlVGFyZ2V0KSwgV1RGTW92
ZSgqY2xlYXJWYWx1ZSksIFdURk1vdmUoKmxvYWRPcCksIFdURk1vdmUoKnN0b3JlT3ApIH0gfTsK
ICAgICB9CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2Vi
R1BVUmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQuY3BwIGIvU291cmNlL1dlYktpdC9T
aGFyZWQvV2ViR1BVL1dlYkdQVVJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50LmNwcApp
bmRleCAzNjY0MWNkNjc3NjgwYzhmZWNmMzFiZmU2OTNmMTk1MDM4MTJhYWIyLi4yODUxY2MyZjRh
NThiNGYyNDZjOTQzZTU1ZjNkNWM3ZTUzYzFlOGFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9XZWJHUFUvV2ViR1BVUmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVSZW5kZXJQYXNzRGVwdGhT
dGVuY2lsQXR0YWNobWVudC5jcHAKQEAgLTQwLDcgKzQwLDcgQEAgc3RkOjpvcHRpb25hbDxSZW5k
ZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNobWVudD4gQ29udmVydFRvQmFja2luZ0NvbnRleHQ6OmNv
bnZlcnQKICAgICBpZiAoIXZpZXcpCiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAKLSAg
ICByZXR1cm4geyB7IHZpZXcsIHJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50LmRlcHRo
TG9hZFZhbHVlLCByZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNobWVudC5kZXB0aFN0b3JlT3As
IHJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50LmRlcHRoUmVhZE9ubHksIHJlbmRlclBh
c3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50LnN0ZW5jaWxMb2FkVmFsdWUsIHJlbmRlclBhc3NEZXB0
aFN0ZW5jaWxBdHRhY2htZW50LnN0ZW5jaWxTdG9yZU9wLCByZW5kZXJQYXNzRGVwdGhTdGVuY2ls
QXR0YWNobWVudC5zdGVuY2lsUmVhZE9ubHkgfSB9OworICAgIHJldHVybiB7IHsgdmlldywgcmVu
ZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQuZGVwdGhDbGVhclZhbHVlLCByZW5kZXJQYXNz
RGVwdGhTdGVuY2lsQXR0YWNobWVudC5kZXB0aExvYWRPcCwgcmVuZGVyUGFzc0RlcHRoU3RlbmNp
bEF0dGFjaG1lbnQuZGVwdGhTdG9yZU9wLCByZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNobWVu
dC5kZXB0aFJlYWRPbmx5LCByZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNobWVudC5zdGVuY2ls
Q2xlYXJWYWx1ZSwgcmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQuc3RlbmNpbExvYWRP
cCwgcmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQuc3RlbmNpbFN0b3JlT3AsIHJlbmRl
clBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50LnN0ZW5jaWxSZWFkT25seSB9IH07CiB9CiAKIHN0
ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50
PiBDb252ZXJ0RnJvbUJhY2tpbmdDb250ZXh0Ojpjb252ZXJ0RnJvbUJhY2tpbmcoY29uc3QgUmVu
ZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQmIHJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRh
Y2htZW50KQpAQCAtNDksNyArNDksNyBAQCBzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpSZW5k
ZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNobWVudD4gQ29udmVydEZyb21CYWNraW5nQwogICAgIGlm
ICghdmlldykKICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKIAotICAgIHJldHVybiB7IHsg
KnZpZXcsIHJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50LmRlcHRoTG9hZFZhbHVlLCBy
ZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNobWVudC5kZXB0aFN0b3JlT3AsIHJlbmRlclBhc3NE
ZXB0aFN0ZW5jaWxBdHRhY2htZW50LmRlcHRoUmVhZE9ubHksIHJlbmRlclBhc3NEZXB0aFN0ZW5j
aWxBdHRhY2htZW50LnN0ZW5jaWxMb2FkVmFsdWUsIHJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRh
Y2htZW50LnN0ZW5jaWxTdG9yZU9wLCByZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNobWVudC5z
dGVuY2lsUmVhZE9ubHkgfSB9OworICAgIHJldHVybiB7IHsgKnZpZXcsIHJlbmRlclBhc3NEZXB0
aFN0ZW5jaWxBdHRhY2htZW50LmRlcHRoQ2xlYXJWYWx1ZSwgcmVuZGVyUGFzc0RlcHRoU3RlbmNp
bEF0dGFjaG1lbnQuZGVwdGhMb2FkT3AsIHJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50
LmRlcHRoU3RvcmVPcCwgcmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQuZGVwdGhSZWFk
T25seSwgcmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQuc3RlbmNpbENsZWFyVmFsdWUs
IHJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50LnN0ZW5jaWxMb2FkT3AsIHJlbmRlclBh
c3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50LnN0ZW5jaWxTdG9yZU9wLCByZW5kZXJQYXNzRGVwdGhT
dGVuY2lsQXR0YWNobWVudC5zdGVuY2lsUmVhZE9ubHkgfSB9OwogfQogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVS
ZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNobWVudC5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQv
V2ViR1BVL1dlYkdQVVJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50LmgKaW5kZXggYmU3
MThkMjhiMjNjZjAzNzY0NWYxYmRjOTBmMGM0MmVjN2IzNDI3Zi4uNWQ0NzM3MDI5ZTI3YTJmNjM5
YzI5M2RiN2U1MTgwYWRhNTQzOGYwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQv
V2ViR1BVL1dlYkdQVVJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50LmgKKysrIGIvU291
cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVVJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRh
Y2htZW50LmgKQEAgLTQwLDIxICs0MCwyNSBAQCBuYW1lc3BhY2UgV2ViS2l0OjpXZWJHUFUgewog
c3RydWN0IFJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50IHsKICAgICBXZWJHUFVJZGVu
dGlmaWVyIHZpZXc7CiAKLSAgICBzdGQ6OnZhcmlhbnQ8UEFMOjpXZWJHUFU6OkxvYWRPcCwgZmxv
YXQ+IGRlcHRoTG9hZFZhbHVlOwotICAgIFBBTDo6V2ViR1BVOjpTdG9yZU9wIGRlcHRoU3RvcmVP
cCB7IFBBTDo6V2ViR1BVOjpTdG9yZU9wOjpTdG9yZSB9OworICAgIGZsb2F0IGRlcHRoQ2xlYXJW
YWx1ZSB7IDAgfTsKKyAgICBzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpMb2FkT3A+IGRlcHRo
TG9hZE9wOworICAgIHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlN0b3JlT3A+IGRlcHRoU3Rv
cmVPcDsKICAgICBib29sIGRlcHRoUmVhZE9ubHkgeyBmYWxzZSB9OwogCi0gICAgc3RkOjp2YXJp
YW50PFBBTDo6V2ViR1BVOjpMb2FkT3AsIFBBTDo6V2ViR1BVOjpTdGVuY2lsVmFsdWU+IHN0ZW5j
aWxMb2FkVmFsdWU7Ci0gICAgUEFMOjpXZWJHUFU6OlN0b3JlT3Agc3RlbmNpbFN0b3JlT3AgeyBQ
QUw6OldlYkdQVTo6U3RvcmVPcDo6U3RvcmUgfTsKKyAgICBQQUw6OldlYkdQVTo6U3RlbmNpbFZh
bHVlIHN0ZW5jaWxDbGVhclZhbHVlIHsgMCB9OworICAgIHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJH
UFU6OkxvYWRPcD4gc3RlbmNpbExvYWRPcDsKKyAgICBzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BV
OjpTdG9yZU9wPiBzdGVuY2lsU3RvcmVPcDsKICAgICBib29sIHN0ZW5jaWxSZWFkT25seSB7IGZh
bHNlIH07CiAKICAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVy
JiBlbmNvZGVyKSBjb25zdAogICAgIHsKICAgICAgICAgZW5jb2RlciA8PCB2aWV3OwotICAgICAg
ICBlbmNvZGVyIDw8IGRlcHRoTG9hZFZhbHVlOworICAgICAgICBlbmNvZGVyIDw8IGRlcHRoQ2xl
YXJWYWx1ZTsKKyAgICAgICAgZW5jb2RlciA8PCBkZXB0aExvYWRPcDsKICAgICAgICAgZW5jb2Rl
ciA8PCBkZXB0aFN0b3JlT3A7CiAgICAgICAgIGVuY29kZXIgPDwgZGVwdGhSZWFkT25seTsKLSAg
ICAgICAgZW5jb2RlciA8PCBzdGVuY2lsTG9hZFZhbHVlOworICAgICAgICBlbmNvZGVyIDw8IHN0
ZW5jaWxDbGVhclZhbHVlOworICAgICAgICBlbmNvZGVyIDw8IHN0ZW5jaWxMb2FkT3A7CiAgICAg
ICAgIGVuY29kZXIgPDwgc3RlbmNpbFN0b3JlT3A7CiAgICAgICAgIGVuY29kZXIgPDwgc3RlbmNp
bFJlYWRPbmx5OwogICAgIH0KQEAgLTY2LDEyICs3MCwxNyBAQCBzdHJ1Y3QgUmVuZGVyUGFzc0Rl
cHRoU3RlbmNpbEF0dGFjaG1lbnQgewogICAgICAgICBpZiAoIXZpZXcpCiAgICAgICAgICAgICBy
ZXR1cm4gc3RkOjpudWxsb3B0OwogCi0gICAgICAgIHN0ZDo6b3B0aW9uYWw8c3RkOjp2YXJpYW50
PFBBTDo6V2ViR1BVOjpMb2FkT3AsIGZsb2F0Pj4gZGVwdGhMb2FkVmFsdWU7Ci0gICAgICAgIGRl
Y29kZXIgPj4gZGVwdGhMb2FkVmFsdWU7Ci0gICAgICAgIGlmICghZGVwdGhMb2FkVmFsdWUpCisg
ICAgICAgIHN0ZDo6b3B0aW9uYWw8ZmxvYXQ+IGRlcHRoQ2xlYXJWYWx1ZTsKKyAgICAgICAgZGVj
b2RlciA+PiBkZXB0aENsZWFyVmFsdWU7CisgICAgICAgIGlmICghZGVwdGhDbGVhclZhbHVlKQog
ICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKIAotICAgICAgICBzdGQ6Om9wdGlvbmFs
PFBBTDo6V2ViR1BVOjpTdG9yZU9wPiBkZXB0aFN0b3JlT3A7CisgICAgICAgIHN0ZDo6b3B0aW9u
YWw8c3RkOjpvcHRpb25hbDxQQUw6OldlYkdQVTo6TG9hZE9wPj4gZGVwdGhMb2FkT3A7CisgICAg
ICAgIGRlY29kZXIgPj4gZGVwdGhMb2FkT3A7CisgICAgICAgIGlmICghZGVwdGhMb2FkT3ApCisg
ICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworCisgICAgICAgIHN0ZDo6b3B0aW9uYWw8
c3RkOjpvcHRpb25hbDxQQUw6OldlYkdQVTo6U3RvcmVPcD4+IGRlcHRoU3RvcmVPcDsKICAgICAg
ICAgZGVjb2RlciA+PiBkZXB0aFN0b3JlT3A7CiAgICAgICAgIGlmICghZGVwdGhTdG9yZU9wKQog
ICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKQEAgLTgxLDEyICs5MCwxNyBAQCBzdHJ1
Y3QgUmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQgewogICAgICAgICBpZiAoIWRlcHRo
UmVhZE9ubHkpCiAgICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogCi0gICAgICAgIHN0
ZDo6b3B0aW9uYWw8c3RkOjp2YXJpYW50PFBBTDo6V2ViR1BVOjpMb2FkT3AsIFBBTDo6V2ViR1BV
OjpTdGVuY2lsVmFsdWU+PiBzdGVuY2lsTG9hZFZhbHVlOwotICAgICAgICBkZWNvZGVyID4+IHN0
ZW5jaWxMb2FkVmFsdWU7Ci0gICAgICAgIGlmICghc3RlbmNpbExvYWRWYWx1ZSkKKyAgICAgICAg
c3RkOjpvcHRpb25hbDxQQUw6OldlYkdQVTo6U3RlbmNpbFZhbHVlPiBzdGVuY2lsQ2xlYXJWYWx1
ZTsKKyAgICAgICAgZGVjb2RlciA+PiBzdGVuY2lsQ2xlYXJWYWx1ZTsKKyAgICAgICAgaWYgKCFz
dGVuY2lsQ2xlYXJWYWx1ZSkKKyAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAg
ICAgICAgc3RkOjpvcHRpb25hbDxzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpMb2FkT3A+PiBz
dGVuY2lsTG9hZE9wOworICAgICAgICBkZWNvZGVyID4+IHN0ZW5jaWxMb2FkT3A7CisgICAgICAg
IGlmICghc3RlbmNpbExvYWRPcCkKICAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAK
LSAgICAgICAgc3RkOjpvcHRpb25hbDxQQUw6OldlYkdQVTo6U3RvcmVPcD4gc3RlbmNpbFN0b3Jl
T3A7CisgICAgICAgIHN0ZDo6b3B0aW9uYWw8c3RkOjpvcHRpb25hbDxQQUw6OldlYkdQVTo6U3Rv
cmVPcD4+IHN0ZW5jaWxTdG9yZU9wOwogICAgICAgICBkZWNvZGVyID4+IHN0ZW5jaWxTdG9yZU9w
OwogICAgICAgICBpZiAoIXN0ZW5jaWxTdG9yZU9wKQogICAgICAgICAgICAgcmV0dXJuIHN0ZDo6
bnVsbG9wdDsKQEAgLTk2LDcgKzExMCw3IEBAIHN0cnVjdCBSZW5kZXJQYXNzRGVwdGhTdGVuY2ls
QXR0YWNobWVudCB7CiAgICAgICAgIGlmICghc3RlbmNpbFJlYWRPbmx5KQogICAgICAgICAgICAg
cmV0dXJuIHN0ZDo6bnVsbG9wdDsKIAotICAgICAgICByZXR1cm4geyB7IFdURk1vdmUoKnZpZXcp
LCBXVEZNb3ZlKCpkZXB0aExvYWRWYWx1ZSksIFdURk1vdmUoKmRlcHRoU3RvcmVPcCksIFdURk1v
dmUoKmRlcHRoUmVhZE9ubHkpLCBXVEZNb3ZlKCpzdGVuY2lsTG9hZFZhbHVlKSwgV1RGTW92ZSgq
c3RlbmNpbFN0b3JlT3ApLCBXVEZNb3ZlKCpzdGVuY2lsUmVhZE9ubHkpIH0gfTsKKyAgICAgICAg
cmV0dXJuIHsgeyBXVEZNb3ZlKCp2aWV3KSwgV1RGTW92ZSgqZGVwdGhDbGVhclZhbHVlKSwgV1RG
TW92ZSgqZGVwdGhMb2FkT3ApLCBXVEZNb3ZlKCpkZXB0aFN0b3JlT3ApLCBXVEZNb3ZlKCpkZXB0
aFJlYWRPbmx5KSwgV1RGTW92ZSgqc3RlbmNpbENsZWFyVmFsdWUpLCBXVEZNb3ZlKCpzdGVuY2ls
TG9hZE9wKSwgV1RGTW92ZSgqc3RlbmNpbFN0b3JlT3ApLCBXVEZNb3ZlKCpzdGVuY2lsUmVhZE9u
bHkpIH0gfTsKICAgICB9CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9X
ZWJHUFUvV2ViR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IuY3BwIGIvU291cmNlL1dlYktpdC9TaGFy
ZWQvV2ViR1BVL1dlYkdQVVJlbmRlclBhc3NEZXNjcmlwdG9yLmNwcAppbmRleCAxMzJjZmE1Yjhm
ZGNjMWJkNzg5ZjZhYmJlZTI2ZTI4NDY0MjI2MmE1Li40ODVlY2M1OGMzNDc0Mjg5ZTBiMGIwNjBk
YTY3MDZjMTM5YzM1ZGFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUv
V2ViR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L1dlYkdQVS9XZWJHUFVSZW5kZXJQYXNzRGVzY3JpcHRvci5jcHAKQEAgLTQwLDEzICs0MCwxNiBA
QCBzdGQ6Om9wdGlvbmFsPFJlbmRlclBhc3NEZXNjcmlwdG9yPiBDb252ZXJ0VG9CYWNraW5nQ29u
dGV4dDo6Y29udmVydFRvQmFja2luZyhjbwogICAgIGlmICghYmFzZSkKICAgICAgICAgcmV0dXJu
IHN0ZDo6bnVsbG9wdDsKIAotICAgIFZlY3RvcjxSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50PiBj
b2xvckF0dGFjaG1lbnRzOworICAgIFZlY3RvcjxzdGQ6Om9wdGlvbmFsPFJlbmRlclBhc3NDb2xv
ckF0dGFjaG1lbnQ+PiBjb2xvckF0dGFjaG1lbnRzOwogICAgIGNvbG9yQXR0YWNobWVudHMucmVz
ZXJ2ZUluaXRpYWxDYXBhY2l0eShyZW5kZXJQYXNzRGVzY3JpcHRvci5jb2xvckF0dGFjaG1lbnRz
LnNpemUoKSk7CiAgICAgZm9yIChjb25zdCBhdXRvJiBjb2xvckF0dGFjaG1lbnQgOiByZW5kZXJQ
YXNzRGVzY3JpcHRvci5jb2xvckF0dGFjaG1lbnRzKSB7Ci0gICAgICAgIGF1dG8gYmFja2luZ0Nv
bG9yQXR0YWNobWVudCA9IGNvbnZlcnRUb0JhY2tpbmcoY29sb3JBdHRhY2htZW50KTsKLSAgICAg
ICAgaWYgKCFiYWNraW5nQ29sb3JBdHRhY2htZW50KQotICAgICAgICAgICAgcmV0dXJuIHN0ZDo6
bnVsbG9wdDsKLSAgICAgICAgY29sb3JBdHRhY2htZW50cy51bmNoZWNrZWRBcHBlbmQoV1RGTW92
ZSgqYmFja2luZ0NvbG9yQXR0YWNobWVudCkpOworICAgICAgICBpZiAoY29sb3JBdHRhY2htZW50
KSB7CisgICAgICAgICAgICBhdXRvIGJhY2tpbmdDb2xvckF0dGFjaG1lbnQgPSBjb252ZXJ0VG9C
YWNraW5nKCpjb2xvckF0dGFjaG1lbnQpOworICAgICAgICAgICAgaWYgKCFiYWNraW5nQ29sb3JB
dHRhY2htZW50KQorICAgICAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisgICAgICAg
ICAgICBjb2xvckF0dGFjaG1lbnRzLnVuY2hlY2tlZEFwcGVuZChXVEZNb3ZlKCpiYWNraW5nQ29s
b3JBdHRhY2htZW50KSk7CisgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgY29sb3JBdHRhY2ht
ZW50cy51bmNoZWNrZWRBcHBlbmQoc3RkOjpudWxsb3B0KTsKICAgICB9CiAKICAgICBzdGQ6Om9w
dGlvbmFsPFJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50PiBkZXB0aFN0ZW5jaWxBdHRh
Y2htZW50OwpAQCAtNzYsMTMgKzc5LDE2IEBAIHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlJl
bmRlclBhc3NEZXNjcmlwdG9yPiBDb252ZXJ0RnJvbUJhY2tpbmdDb250ZXh0Ojpjb252CiAgICAg
aWYgKCFiYXNlKQogICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogCi0gICAgVmVjdG9yPFBB
TDo6V2ViR1BVOjpSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50PiBjb2xvckF0dGFjaG1lbnRzOwor
ICAgIFZlY3RvcjxzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpSZW5kZXJQYXNzQ29sb3JBdHRh
Y2htZW50Pj4gY29sb3JBdHRhY2htZW50czsKICAgICBjb2xvckF0dGFjaG1lbnRzLnJlc2VydmVJ
bml0aWFsQ2FwYWNpdHkocmVuZGVyUGFzc0Rlc2NyaXB0b3IuY29sb3JBdHRhY2htZW50cy5zaXpl
KCkpOwogICAgIGZvciAoY29uc3QgYXV0byYgYmFja2luZ0NvbG9yQXR0YWNobWVudCA6IHJlbmRl
clBhc3NEZXNjcmlwdG9yLmNvbG9yQXR0YWNobWVudHMpIHsKLSAgICAgICAgYXV0byBjb2xvckF0
dGFjaG1lbnQgPSBjb252ZXJ0RnJvbUJhY2tpbmcoYmFja2luZ0NvbG9yQXR0YWNobWVudCk7Ci0g
ICAgICAgIGlmICghY29sb3JBdHRhY2htZW50KQotICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bnVs
bG9wdDsKLSAgICAgICAgY29sb3JBdHRhY2htZW50cy51bmNoZWNrZWRBcHBlbmQoV1RGTW92ZSgq
Y29sb3JBdHRhY2htZW50KSk7CisgICAgICAgIGlmIChiYWNraW5nQ29sb3JBdHRhY2htZW50KSB7
CisgICAgICAgICAgICBhdXRvIGNvbG9yQXR0YWNobWVudCA9IGNvbnZlcnRGcm9tQmFja2luZygq
YmFja2luZ0NvbG9yQXR0YWNobWVudCk7CisgICAgICAgICAgICBpZiAoIWNvbG9yQXR0YWNobWVu
dCkKKyAgICAgICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworICAgICAgICAgICAgY29s
b3JBdHRhY2htZW50cy51bmNoZWNrZWRBcHBlbmQoV1RGTW92ZSgqY29sb3JBdHRhY2htZW50KSk7
CisgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgY29sb3JBdHRhY2htZW50cy51bmNoZWNrZWRB
cHBlbmQoc3RkOjpudWxsb3B0KTsKICAgICB9CiAKICAgICBhdXRvIGRlcHRoU3RlbmNpbEF0dGFj
aG1lbnQgPSAoWyZdICgpIC0+IHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlJlbmRlclBhc3NE
ZXB0aFN0ZW5jaWxBdHRhY2htZW50PiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9XZWJHUFUvV2ViR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IuaCBiL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL1dlYkdQVS9XZWJHUFVSZW5kZXJQYXNzRGVzY3JpcHRvci5oCmluZGV4IGI3ZThmNWQ4NGEx
NjA5ZDJkYjk1MDJmNzZhM2U0OGU2ZWIwZjY1OWIuLmQ1YmMzMTFjZDc4OWNjNzZhOTQwMWUzNzdl
M2NjNGY1YmRmOTYwYjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9X
ZWJHUFVSZW5kZXJQYXNzRGVzY3JpcHRvci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dl
YkdQVS9XZWJHUFVSZW5kZXJQYXNzRGVzY3JpcHRvci5oCkBAIC0zOCw3ICszOCw3IEBACiBuYW1l
c3BhY2UgV2ViS2l0OjpXZWJHUFUgewogCiBzdHJ1Y3QgUmVuZGVyUGFzc0Rlc2NyaXB0b3IgOiBw
dWJsaWMgT2JqZWN0RGVzY3JpcHRvckJhc2UgewotICAgIFZlY3RvcjxSZW5kZXJQYXNzQ29sb3JB
dHRhY2htZW50PiBjb2xvckF0dGFjaG1lbnRzOworICAgIFZlY3RvcjxzdGQ6Om9wdGlvbmFsPFJl
bmRlclBhc3NDb2xvckF0dGFjaG1lbnQ+PiBjb2xvckF0dGFjaG1lbnRzOwogICAgIHN0ZDo6b3B0
aW9uYWw8UmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQ+IGRlcHRoU3RlbmNpbEF0dGFj
aG1lbnQ7CiAgICAgV2ViR1BVSWRlbnRpZmllciBvY2NsdXNpb25RdWVyeVNldDsKICAgICBSZW5k
ZXJQYXNzVGltZXN0YW1wV3JpdGVzIHRpbWVzdGFtcFdyaXRlczsKQEAgLTU5LDcgKzU5LDcgQEAg
c3RydWN0IFJlbmRlclBhc3NEZXNjcmlwdG9yIDogcHVibGljIE9iamVjdERlc2NyaXB0b3JCYXNl
IHsKICAgICAgICAgaWYgKCFvYmplY3REZXNjcmlwdG9yQmFzZSkKICAgICAgICAgICAgIHJldHVy
biBzdGQ6Om51bGxvcHQ7CiAKLSAgICAgICAgc3RkOjpvcHRpb25hbDxWZWN0b3I8UmVuZGVyUGFz
c0NvbG9yQXR0YWNobWVudD4+IGNvbG9yQXR0YWNobWVudHM7CisgICAgICAgIHN0ZDo6b3B0aW9u
YWw8VmVjdG9yPHN0ZDo6b3B0aW9uYWw8UmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudD4+PiBjb2xv
ckF0dGFjaG1lbnRzOwogICAgICAgICBkZWNvZGVyID4+IGNvbG9yQXR0YWNobWVudHM7CiAgICAg
ICAgIGlmICghY29sb3JBdHRhY2htZW50cykKICAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxv
cHQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVUmVuZGVy
UGFzc0xheW91dC5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVVJlbmRlclBh
c3NMYXlvdXQuaAppbmRleCBlOWNmMjJiYmFlN2UyNWIxNjc0N2ZjZmYyNGZiY2FjZjA2ODkwNDM4
Li40ZGFmZDljZTEyN2EyYmNkOTE3M2IxMDQ1NzA1MmVhM2RlY2RmMmE3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVUmVuZGVyUGFzc0xheW91dC5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVSZW5kZXJQYXNzTGF5b3V0LmgKQEAg
LTM2LDcgKzM2LDcgQEAKIG5hbWVzcGFjZSBXZWJLaXQ6OldlYkdQVSB7CiAKIHN0cnVjdCBSZW5k
ZXJQYXNzTGF5b3V0IDogcHVibGljIE9iamVjdERlc2NyaXB0b3JCYXNlIHsKLSAgICBWZWN0b3I8
UEFMOjpXZWJHUFU6OlRleHR1cmVGb3JtYXQ+IGNvbG9yRm9ybWF0czsKKyAgICBWZWN0b3I8c3Rk
OjpvcHRpb25hbDxQQUw6OldlYkdQVTo6VGV4dHVyZUZvcm1hdD4+IGNvbG9yRm9ybWF0czsKICAg
ICBzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpUZXh0dXJlRm9ybWF0PiBkZXB0aFN0ZW5jaWxG
b3JtYXQ7CiAgICAgUEFMOjpXZWJHUFU6OlNpemUzMiBzYW1wbGVDb3VudCB7IDEgfTsKIApAQCAt
NTUsNyArNTUsNyBAQCBzdHJ1Y3QgUmVuZGVyUGFzc0xheW91dCA6IHB1YmxpYyBPYmplY3REZXNj
cmlwdG9yQmFzZSB7CiAgICAgICAgIGlmICghb2JqZWN0RGVzY3JpcHRvckJhc2UpCiAgICAgICAg
ICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogCi0gICAgICAgIHN0ZDo6b3B0aW9uYWw8VmVjdG9y
PFBBTDo6V2ViR1BVOjpUZXh0dXJlRm9ybWF0Pj4gY29sb3JGb3JtYXRzOworICAgICAgICBzdGQ6
Om9wdGlvbmFsPFZlY3RvcjxzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpUZXh0dXJlRm9ybWF0
Pj4+IGNvbG9yRm9ybWF0czsKICAgICAgICAgZGVjb2RlciA+PiBjb2xvckZvcm1hdHM7CiAgICAg
ICAgIGlmICghY29sb3JGb3JtYXRzKQogICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVTaGFkZXJNb2R1
bGVDb21waWxhdGlvbkhpbnQuY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQ
VVNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjA0YzdiMDQ1YWZl
NzQ5OTY2YzIyOTYzNjZkY2FkNjM4MzlmYzBkZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQuY3Bw
CkBAIC0wLDAgKzEsNTcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5j
bHVkZSAiV2ViR1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50LmgiCisKKyNpZiBFTkFCTEUo
R1BVX1BST0NFU1MpCisKKyNpbmNsdWRlICJXZWJHUFVDb252ZXJ0RnJvbUJhY2tpbmdDb250ZXh0
LmgiCisjaW5jbHVkZSAiV2ViR1BVQ29udmVydFRvQmFja2luZ0NvbnRleHQuaCIKKyNpbmNsdWRl
IDxwYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludC5o
PgorCituYW1lc3BhY2UgV2ViS2l0OjpXZWJHUFUgeworCitzdGQ6Om9wdGlvbmFsPFNoYWRlck1v
ZHVsZUNvbXBpbGF0aW9uSGludD4gQ29udmVydFRvQmFja2luZ0NvbnRleHQ6OmNvbnZlcnRUb0Jh
Y2tpbmcoY29uc3QgUEFMOjpXZWJHUFU6OlNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludCYgc2hh
ZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50KQoreworICAgIFdlYkdQVUlkZW50aWZpZXIgcGlwZWxp
bmVMYXlvdXQgPSBjb252ZXJ0VG9CYWNraW5nKHNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludC5w
aXBlbGluZUxheW91dCk7CisgICAgaWYgKCFwaXBlbGluZUxheW91dCkKKyAgICAgICAgcmV0dXJu
IHN0ZDo6bnVsbG9wdDsKKworICAgIHJldHVybiB7IHsgcGlwZWxpbmVMYXlvdXQgfSB9OworfQor
CitzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQ+
IENvbnZlcnRGcm9tQmFja2luZ0NvbnRleHQ6OmNvbnZlcnRGcm9tQmFja2luZyhjb25zdCBTaGFk
ZXJNb2R1bGVDb21waWxhdGlvbkhpbnQmIHNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludCkKK3sK
KyAgICBhdXRvKiBwaXBlbGluZUxheW91dCA9IGNvbnZlcnRQaXBlbGluZUxheW91dEZyb21CYWNr
aW5nKHNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludC5waXBlbGluZUxheW91dCk7CisgICAgaWYg
KCFwaXBlbGluZUxheW91dCkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHJl
dHVybiB7IHsgKnBpcGVsaW5lTGF5b3V0IH0gfTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0
CisKKyNlbmRpZiAvLyBFTkFCTEUoR1BVX1BST0NFU1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50LmggYi9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25I
aW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZTg5MzY5ZGZlYTRkMDI2ZjUzNzRhYTEyMjI3MmEwNmJlNDEzZTg5
YgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVT
aGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQuaApAQCAtMCwwICsxLDU2IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisg
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoR1BVX1BST0NFU1MpCisKKyNpbmNsdWRlICJX
ZWJHUFVJZGVudGlmaWVyLmgiCisjaW5jbHVkZSA8b3B0aW9uYWw+CisKK25hbWVzcGFjZSBXZWJL
aXQ6OldlYkdQVSB7CisKK3N0cnVjdCBTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQgeworICAg
IFdlYkdQVUlkZW50aWZpZXIgcGlwZWxpbmVMYXlvdXQ7CisKKyAgICB0ZW1wbGF0ZTxjbGFzcyBF
bmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAorICAgIHsKKyAgICAg
ICAgZW5jb2RlciA8PCBwaXBlbGluZUxheW91dDsKKyAgICB9CisKKyAgICB0ZW1wbGF0ZTxjbGFz
cyBEZWNvZGVyPiBzdGF0aWMgc3RkOjpvcHRpb25hbDxTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhp
bnQ+IGRlY29kZShEZWNvZGVyJiBkZWNvZGVyKQorICAgIHsKKyAgICAgICAgc3RkOjpvcHRpb25h
bDxXZWJHUFVJZGVudGlmaWVyPiBwaXBlbGluZUxheW91dDsKKyAgICAgICAgZGVjb2RlciA+PiBw
aXBlbGluZUxheW91dDsKKyAgICAgICAgaWYgKCFwaXBlbGluZUxheW91dCkKKyAgICAgICAgICAg
IHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICAgICAgcmV0dXJuIHsgeyBXVEZNb3ZlKCpwaXBl
bGluZUxheW91dCkgfSB9OworICAgIH0KK307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdDo6V2Vi
R1BVCisKKyNlbmRpZiAvLyBFTkFCTEUoR1BVX1BST0NFU1MpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVU2hhZGVyTW9kdWxlRGVzY3JpcHRvci5jcHAgYi9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVU2hhZGVyTW9kdWxlRGVzY3JpcHRvci5j
cHAKaW5kZXggMjZkYmQ2NzhlZWQ2OWVjN2E1MDM1NGQ1ODdjZGRlYzZmYWNlZGI3Zi4uZmJmZTIw
YjdiNGM2YWViMTAxZWMwNjczOWI1MzgzY2I2YWI5MmYxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVVNoYWRlck1vZHVsZURlc2NyaXB0b3IuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVTaGFkZXJNb2R1bGVEZXNjcmlwdG9y
LmNwcApAQCAtNDAsNyArNDAsMTYgQEAgc3RkOjpvcHRpb25hbDxTaGFkZXJNb2R1bGVEZXNjcmlw
dG9yPiBDb252ZXJ0VG9CYWNraW5nQ29udGV4dDo6Y29udmVydFRvQmFja2luZygKICAgICBpZiAo
IWJhc2UpCiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAKLSAgICByZXR1cm4geyB7IFdU
Rk1vdmUoKmJhc2UpLCBzaGFkZXJNb2R1bGVEZXNjcmlwdG9yLmNvZGUgfSB9OworICAgIFZlY3Rv
cjxLZXlWYWx1ZVBhaXI8U3RyaW5nLCBTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQ+PiBoaW50
czsKKyAgICBoaW50cy5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KHNoYWRlck1vZHVsZURlc2NyaXB0
b3IuaGludHMuc2l6ZSgpKTsKKyAgICBmb3IgKGNvbnN0IGF1dG8mIGhpbnQgOiBzaGFkZXJNb2R1
bGVEZXNjcmlwdG9yLmhpbnRzKSB7CisgICAgICAgIGF1dG8gdmFsdWUgPSBjb252ZXJ0VG9CYWNr
aW5nKGhpbnQudmFsdWUpOworICAgICAgICBpZiAoIXZhbHVlKQorICAgICAgICAgICAgcmV0dXJu
IHN0ZDo6bnVsbG9wdDsKKyAgICAgICAgaGludHMudW5jaGVja2VkQXBwZW5kKG1ha2VLZXlWYWx1
ZVBhaXIoaGludC5rZXksIFdURk1vdmUoKnZhbHVlKSkpOworICAgIH0KKworICAgIHJldHVybiB7
IHsgV1RGTW92ZSgqYmFzZSksIHNoYWRlck1vZHVsZURlc2NyaXB0b3IuY29kZSwgV1RGTW92ZSho
aW50cykgfSB9OwogfQogCiBzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpTaGFkZXJNb2R1bGVE
ZXNjcmlwdG9yPiBDb252ZXJ0RnJvbUJhY2tpbmdDb250ZXh0Ojpjb252ZXJ0RnJvbUJhY2tpbmco
Y29uc3QgU2hhZGVyTW9kdWxlRGVzY3JpcHRvciYgc2hhZGVyTW9kdWxlRGVzY3JpcHRvcikKQEAg
LTQ5LDcgKzU4LDE2IEBAIHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlNoYWRlck1vZHVsZURl
c2NyaXB0b3I+IENvbnZlcnRGcm9tQmFja2luZ0NvbnRleHQ6OmNvCiAgICAgaWYgKCFiYXNlKQog
ICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogCi0gICAgcmV0dXJuIHsgeyBXVEZNb3ZlKCpi
YXNlKSwgc2hhZGVyTW9kdWxlRGVzY3JpcHRvci5jb2RlIH0gfTsKKyAgICBWZWN0b3I8S2V5VmFs
dWVQYWlyPFN0cmluZywgUEFMOjpXZWJHUFU6OlNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludD4+
IGhpbnRzOworICAgIGhpbnRzLnJlc2VydmVJbml0aWFsQ2FwYWNpdHkoc2hhZGVyTW9kdWxlRGVz
Y3JpcHRvci5oaW50cy5zaXplKCkpOworICAgIGZvciAoY29uc3QgYXV0byYgaGludCA6IHNoYWRl
ck1vZHVsZURlc2NyaXB0b3IuaGludHMpIHsKKyAgICAgICAgYXV0byB2YWx1ZSA9IGNvbnZlcnRG
cm9tQmFja2luZyhoaW50LnZhbHVlKTsKKyAgICAgICAgaWYgKCF2YWx1ZSkKKyAgICAgICAgICAg
IHJldHVybiBzdGQ6Om51bGxvcHQ7CisgICAgICAgIGhpbnRzLnVuY2hlY2tlZEFwcGVuZChtYWtl
S2V5VmFsdWVQYWlyKGhpbnQua2V5LCBXVEZNb3ZlKCp2YWx1ZSkpKTsKKyAgICB9CisKKyAgICBy
ZXR1cm4geyB7IFdURk1vdmUoKmJhc2UpLCBzaGFkZXJNb2R1bGVEZXNjcmlwdG9yLmNvZGUsIFdU
Rk1vdmUoaGludHMpIH0gfTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVU2hhZGVyTW9kdWxlRGVzY3JpcHRv
ci5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVVNoYWRlck1vZHVsZURlc2Ny
aXB0b3IuaAppbmRleCA1YzgxYjRkYzQyYWRmOTQ5ZDQ1MmFlNTk2ODU2NjAyNzM3NWI4YTRiLi44
NjBlMGJhOTUzZDBhMTE3NzM0YWM3MTUyYjU5YTMzODNmNTBkODg2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVU2hhZGVyTW9kdWxlRGVzY3JpcHRvci5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVTaGFkZXJNb2R1bGVEZXNjcmlw
dG9yLmgKQEAgLTI4LDYgKzI4LDcgQEAKICNpZiBFTkFCTEUoR1BVX1BST0NFU1MpCiAKICNpbmNs
dWRlICJXZWJHUFVPYmplY3REZXNjcmlwdG9yQmFzZS5oIgorI2luY2x1ZGUgIldlYkdQVVNoYWRl
ck1vZHVsZUNvbXBpbGF0aW9uSGludC5oIgogI2luY2x1ZGUgPG9wdGlvbmFsPgogI2luY2x1ZGUg
PHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCkBAIC0zNiwxMSArMzcsMTMgQEAgbmFtZXNwYWNlIFdl
YktpdDo6V2ViR1BVIHsKIHN0cnVjdCBTaGFkZXJNb2R1bGVEZXNjcmlwdG9yIDogcHVibGljIE9i
amVjdERlc2NyaXB0b3JCYXNlIHsKICAgICBTdHJpbmcgY29kZTsKICAgICAvLyBGSVhNRTogSG9v
ayB1cCB0aGUgc291cmNlTWFwLgorICAgIFZlY3RvcjxLZXlWYWx1ZVBhaXI8U3RyaW5nLCBTaGFk
ZXJNb2R1bGVDb21waWxhdGlvbkhpbnQ+PiBoaW50czsKIAogICAgIHRlbXBsYXRlPGNsYXNzIEVu
Y29kZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0CiAgICAgewogICAgICAg
ICBlbmNvZGVyIDw8IHN0YXRpY19jYXN0PGNvbnN0IE9iamVjdERlc2NyaXB0b3JCYXNlJj4oKnRo
aXMpOwogICAgICAgICBlbmNvZGVyIDw8IGNvZGU7CisgICAgICAgIGVuY29kZXIgPDwgaGludHM7
CiAgICAgfQogCiAgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIHN0ZDo6b3B0aW9u
YWw8U2hhZGVyTW9kdWxlRGVzY3JpcHRvcj4gZGVjb2RlKERlY29kZXImIGRlY29kZXIpCkBAIC01
NSw3ICs1OCwxMiBAQCBzdHJ1Y3QgU2hhZGVyTW9kdWxlRGVzY3JpcHRvciA6IHB1YmxpYyBPYmpl
Y3REZXNjcmlwdG9yQmFzZSB7CiAgICAgICAgIGlmICghY29kZSkKICAgICAgICAgICAgIHJldHVy
biBzdGQ6Om51bGxvcHQ7CiAKLSAgICAgICAgcmV0dXJuIHsgeyBXVEZNb3ZlKCpvYmplY3REZXNj
cmlwdG9yQmFzZSksIFdURk1vdmUoKmNvZGUpIH0gfTsKKyAgICAgICAgc3RkOjpvcHRpb25hbDxW
ZWN0b3I8S2V5VmFsdWVQYWlyPFN0cmluZywgU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50Pj4+
IGhpbnRzOworICAgICAgICBkZWNvZGVyID4+IGhpbnRzOworICAgICAgICBpZiAoIWhpbnRzKQor
ICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgICAgICByZXR1cm4geyB7IFdU
Rk1vdmUoKm9iamVjdERlc2NyaXB0b3JCYXNlKSwgV1RGTW92ZSgqY29kZSksIFdURk1vdmUoKmhp
bnRzKSB9IH07CiAgICAgfQogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQv
V2ViR1BVL1dlYkdQVVRleHR1cmVEZXNjcmlwdG9yLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L1dlYkdQVS9XZWJHUFVUZXh0dXJlRGVzY3JpcHRvci5jcHAKaW5kZXggYmY2YjRkMzU2MmU3MDc4
YTFhNGU1NGFjZGVkYzA1ZDkwZDVmMWVhMi4uY2MwMzIzMTFhMWQ2NDE5ZWIwYjUyODQ3ZjZlOTY2
YmE3NjUyNjgxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQ
VVRleHR1cmVEZXNjcmlwdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUv
V2ViR1BVVGV4dHVyZURlc2NyaXB0b3IuY3BwCkBAIC00NCw3ICs0NCw3IEBAIHN0ZDo6b3B0aW9u
YWw8VGV4dHVyZURlc2NyaXB0b3I+IENvbnZlcnRUb0JhY2tpbmdDb250ZXh0Ojpjb252ZXJ0VG9C
YWNraW5nKGNvbnN0CiAgICAgaWYgKCFzaXplKQogICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0
OwogCi0gICAgcmV0dXJuIHsgeyBXVEZNb3ZlKCpiYXNlKSwgV1RGTW92ZSgqc2l6ZSksIHRleHR1
cmVEZXNjcmlwdG9yLm1pcExldmVsQ291bnQsIHRleHR1cmVEZXNjcmlwdG9yLnNhbXBsZUNvdW50
LCB0ZXh0dXJlRGVzY3JpcHRvci5kaW1lbnNpb24sIHRleHR1cmVEZXNjcmlwdG9yLmZvcm1hdCwg
dGV4dHVyZURlc2NyaXB0b3IudXNhZ2UgfSB9OworICAgIHJldHVybiB7IHsgV1RGTW92ZSgqYmFz
ZSksIFdURk1vdmUoKnNpemUpLCB0ZXh0dXJlRGVzY3JpcHRvci5taXBMZXZlbENvdW50LCB0ZXh0
dXJlRGVzY3JpcHRvci5zYW1wbGVDb3VudCwgdGV4dHVyZURlc2NyaXB0b3IuZGltZW5zaW9uLCB0
ZXh0dXJlRGVzY3JpcHRvci5mb3JtYXQsIHRleHR1cmVEZXNjcmlwdG9yLnVzYWdlLCB0ZXh0dXJl
RGVzY3JpcHRvci52aWV3Rm9ybWF0cyB9IH07CiB9CiAKIHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJH
UFU6OlRleHR1cmVEZXNjcmlwdG9yPiBDb252ZXJ0RnJvbUJhY2tpbmdDb250ZXh0Ojpjb252ZXJ0
RnJvbUJhY2tpbmcoY29uc3QgVGV4dHVyZURlc2NyaXB0b3ImIHRleHR1cmVEZXNjcmlwdG9yKQpA
QCAtNTcsNyArNTcsNyBAQCBzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpUZXh0dXJlRGVzY3Jp
cHRvcj4gQ29udmVydEZyb21CYWNraW5nQ29udGV4dDo6Y29udmVydAogICAgIGlmICghc2l6ZSkK
ICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKIAotICAgIHJldHVybiB7IHsgV1RGTW92ZSgq
YmFzZSksIFdURk1vdmUoKnNpemUpLCB0ZXh0dXJlRGVzY3JpcHRvci5taXBMZXZlbENvdW50LCB0
ZXh0dXJlRGVzY3JpcHRvci5zYW1wbGVDb3VudCwgdGV4dHVyZURlc2NyaXB0b3IuZGltZW5zaW9u
LCB0ZXh0dXJlRGVzY3JpcHRvci5mb3JtYXQsIHRleHR1cmVEZXNjcmlwdG9yLnVzYWdlIH0gfTsK
KyAgICByZXR1cm4geyB7IFdURk1vdmUoKmJhc2UpLCBXVEZNb3ZlKCpzaXplKSwgdGV4dHVyZURl
c2NyaXB0b3IubWlwTGV2ZWxDb3VudCwgdGV4dHVyZURlc2NyaXB0b3Iuc2FtcGxlQ291bnQsIHRl
eHR1cmVEZXNjcmlwdG9yLmRpbWVuc2lvbiwgdGV4dHVyZURlc2NyaXB0b3IuZm9ybWF0LCB0ZXh0
dXJlRGVzY3JpcHRvci51c2FnZSwgdGV4dHVyZURlc2NyaXB0b3Iudmlld0Zvcm1hdHMgfSB9Owog
fQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL1dlYkdQVS9XZWJHUFVUZXh0dXJlRGVzY3JpcHRvci5oIGIvU291cmNlL1dlYktpdC9TaGFy
ZWQvV2ViR1BVL1dlYkdQVVRleHR1cmVEZXNjcmlwdG9yLmgKaW5kZXggZDllY2VmZWQwYTgzY2I1
Zjk0MzAyNzU4MGExZDEzODcwOGM3YTBlMy4uN2M0ZGI0M2RiNGEwZTdjMTUzZWNlZTk0NDM5NzE1
Y2MwMjlmNWEyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQ
VVRleHR1cmVEZXNjcmlwdG9yLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dl
YkdQVVRleHR1cmVEZXNjcmlwdG9yLmgKQEAgLTQ0LDYgKzQ0LDcgQEAgc3RydWN0IFRleHR1cmVE
ZXNjcmlwdG9yIDogcHVibGljIE9iamVjdERlc2NyaXB0b3JCYXNlIHsKICAgICBQQUw6OldlYkdQ
VTo6VGV4dHVyZURpbWVuc2lvbiBkaW1lbnNpb24geyBQQUw6OldlYkdQVTo6VGV4dHVyZURpbWVu
c2lvbjo6XzJkIH07CiAgICAgUEFMOjpXZWJHUFU6OlRleHR1cmVGb3JtYXQgZm9ybWF0IHsgUEFM
OjpXZWJHUFU6OlRleHR1cmVGb3JtYXQ6OlI4dW5vcm0gfTsKICAgICBQQUw6OldlYkdQVTo6VGV4
dHVyZVVzYWdlRmxhZ3MgdXNhZ2U7CisgICAgVmVjdG9yPFBBTDo6V2ViR1BVOjpUZXh0dXJlRm9y
bWF0PiB2aWV3Rm9ybWF0czsKIAogICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5j
b2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0CiAgICAgewpAQCAtNTQsNiArNTUsNyBAQCBzdHJ1
Y3QgVGV4dHVyZURlc2NyaXB0b3IgOiBwdWJsaWMgT2JqZWN0RGVzY3JpcHRvckJhc2UgewogICAg
ICAgICBlbmNvZGVyIDw8IGRpbWVuc2lvbjsKICAgICAgICAgZW5jb2RlciA8PCBmb3JtYXQ7CiAg
ICAgICAgIGVuY29kZXIgPDwgdXNhZ2U7CisgICAgICAgIGVuY29kZXIgPDwgdmlld0Zvcm1hdHM7
CiAgICAgfQogCiAgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIHN0ZDo6b3B0aW9u
YWw8VGV4dHVyZURlc2NyaXB0b3I+IGRlY29kZShEZWNvZGVyJiBkZWNvZGVyKQpAQCAtOTMsNyAr
OTUsMTIgQEAgc3RydWN0IFRleHR1cmVEZXNjcmlwdG9yIDogcHVibGljIE9iamVjdERlc2NyaXB0
b3JCYXNlIHsKICAgICAgICAgaWYgKCF1c2FnZSkKICAgICAgICAgICAgIHJldHVybiBzdGQ6Om51
bGxvcHQ7CiAKLSAgICAgICAgcmV0dXJuIHsgeyBXVEZNb3ZlKCpvYmplY3REZXNjcmlwdG9yQmFz
ZSksIFdURk1vdmUoKnNpemUpLCBXVEZNb3ZlKCptaXBMZXZlbENvdW50KSwgV1RGTW92ZSgqc2Ft
cGxlQ291bnQpLCBXVEZNb3ZlKCpkaW1lbnNpb24pLCBXVEZNb3ZlKCpmb3JtYXQpLCBXVEZNb3Zl
KCp1c2FnZSkgfSB9OworICAgICAgICBzdGQ6Om9wdGlvbmFsPFZlY3RvcjxQQUw6OldlYkdQVTo6
VGV4dHVyZUZvcm1hdD4+IHZpZXdGb3JtYXRzOworICAgICAgICBkZWNvZGVyID4+IHZpZXdGb3Jt
YXRzOworICAgICAgICBpZiAoIXZpZXdGb3JtYXRzKQorICAgICAgICAgICAgcmV0dXJuIHN0ZDo6
bnVsbG9wdDsKKworICAgICAgICByZXR1cm4geyB7IFdURk1vdmUoKm9iamVjdERlc2NyaXB0b3JC
YXNlKSwgV1RGTW92ZSgqc2l6ZSksIFdURk1vdmUoKm1pcExldmVsQ291bnQpLCBXVEZNb3ZlKCpz
YW1wbGVDb3VudCksIFdURk1vdmUoKmRpbWVuc2lvbiksIFdURk1vdmUoKmZvcm1hdCksIFdURk1v
dmUoKnVzYWdlKSwgV1RGTW92ZSgqdmlld0Zvcm1hdHMpIH0gfTsKICAgICB9CiB9OwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0IGIvU291cmNlL1dlYktpdC9Tb3VyY2Vz
LnR4dAppbmRleCBmMzhiM2VkNzAxNTFmNjgyNTliMTMzNTU3ZTI1M2ZhOTM1OWViMTBkLi5jNzMy
MGIxMDJlN2Q4ZjJiNmZlZjhkMmI0NmZjYzhiOWVkN2QxMDlhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQKQEAgLTM4
Myw2ICszODMsNyBAQCBTaGFyZWQvV2ViR1BVL1dlYkdQVVJlbmRlclBpcGVsaW5lRGVzY3JpcHRv
ci5jcHAKIFNoYXJlZC9XZWJHUFUvV2ViR1BVUmVxdWVzdEFkYXB0ZXJPcHRpb25zLmNwcAogU2hh
cmVkL1dlYkdQVS9XZWJHUFVTYW1wbGVyQmluZGluZ0xheW91dC5jcHAKIFNoYXJlZC9XZWJHUFUv
V2ViR1BVU2FtcGxlckRlc2NyaXB0b3IuY3BwCitTaGFyZWQvV2ViR1BVL1dlYkdQVVNoYWRlck1v
ZHVsZUNvbXBpbGF0aW9uSGludC5jcHAKIFNoYXJlZC9XZWJHUFUvV2ViR1BVU2hhZGVyTW9kdWxl
RGVzY3JpcHRvci5jcHAKIFNoYXJlZC9XZWJHUFUvV2ViR1BVU3RlbmNpbEZhY2VTdGF0ZS5jcHAK
IFNoYXJlZC9XZWJHUFUvV2ViR1BVU3RvcmFnZVRleHR1cmVCaW5kaW5nTGF5b3V0LmNwcApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBi
L1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggY2My
OTYwOTdhODc2MzhmYTZlZjNlODYwYjc4MzJlYWY4ZWI5ZWRiYS4uZDE1MjNjZDUyMmM3ODY2YTc3
MDUxOWU0NmY1NTJhZTViOTJhMjUwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0zMzcxLDYgKzMzNzEsOCBAQAogCQkxQ0RERkM3QzI3
NTU4NjZEMDBDOTNDNjIgLyogUmVtb3RlR1BVUHJveHlNZXNzYWdlc1JlcGxpZXMuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gUmVtb3RlR1BVUHJveHlNZXNzYWdlc1JlcGxpZXMuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMUNEREZDN0QyNzU1ODY2RDAwQzkzQzYyIC8qIFJlbW90ZUdQVVByb3h5
TWVzc2FnZVJlY2VpdmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlbW90ZUdQVVByb3h5TWVz
c2FnZVJlY2VpdmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNEREZDN0Uy
NzU1ODY2RDAwQzkzQzYyIC8qIFJlbW90ZUdQVVByb3h5TWVzc2FnZXMuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gUmVtb3RlR1BVUHJveHlNZXNzYWdlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkxQ0VGNDVCQjI3QkNBNDZBMDBDM0E2QkMgLyogV2ViR1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRp
b25IaW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkdQVVNoYWRlck1vZHVsZUNvbXBpbGF0
aW9uSGludC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFDRUY0NUJDMjdCQ0E0
NkEwMEMzQTZCQyAvKiBXZWJHUFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gV2ViR1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTFDRjE4RjNFMjZCQjVEOTAwMDRCMTcyMiAvKiBMb2dJbml0aWFs
aXphdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBMb2dJbml0aWFsaXphdGlvbi5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFEMDUzMEM5MjU4RUFCNDQwMEU0MzZGNyAvKiBj
b21iaW5lLWZlYXR1cmUtZmxhZ3MtcGxpc3QucHkgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnNjcmlwdC5weXRob247IHBhdGggPSAiY29tYmlu
ZS1mZWF0dXJlLWZsYWdzLXBsaXN0LnB5Ijsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
MUQwNTMwRDEyNTkxNjJDODAwRTQzNkY3IC8qIFdlYktpdC1pb3MucGxpc3QgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnBsaXN0LnhtbDsgcGF0
aCA9ICJXZWJLaXQtaW9zLnBsaXN0Ijsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTc5
NzcsNiArNzk3OSw4IEBACiAJCQkJMUNCNzQ2NjcyNzQzOUNBRTAwRjE5ODc0IC8qIFdlYkdQVVNh
bXBsZXJCaW5kaW5nTGF5b3V0LmggKi8sCiAJCQkJMUM5OEMwQ0MyNzQ2MjY4MDAwMkNDQjc4IC8q
IFdlYkdQVVNhbXBsZXJEZXNjcmlwdG9yLmNwcCAqLywKIAkJCQkxQ0I3NDY4RDI3NDM5Q0I3MDBG
MTk4NzQgLyogV2ViR1BVU2FtcGxlckRlc2NyaXB0b3IuaCAqLywKKwkJCQkxQ0VGNDVCQjI3QkNB
NDZBMDBDM0E2QkMgLyogV2ViR1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50LmNwcCAqLywK
KwkJCQkxQ0VGNDVCQzI3QkNBNDZBMDBDM0E2QkMgLyogV2ViR1BVU2hhZGVyTW9kdWxlQ29tcGls
YXRpb25IaW50LmggKi8sCiAJCQkJMUM5OEMwOTkyNzQ2MjY3ODAwMkNDQjc4IC8qIFdlYkdQVVNo
YWRlck1vZHVsZURlc2NyaXB0b3IuY3BwICovLAogCQkJCTFDQjc0NjZCMjc0MzlDQUYwMEYxOTg3
NCAvKiBXZWJHUFVTaGFkZXJNb2R1bGVEZXNjcmlwdG9yLmggKi8sCiAJCQkJMUM5OEMwQ0EyNzQ2
MjY4MDAwMkNDQjc4IC8qIFdlYkdQVVN0ZW5jaWxGYWNlU3RhdGUuY3BwICovLApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQnVm
ZmVyUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9XZWJH
UFUvUmVtb3RlQnVmZmVyUHJveHkuY3BwCmluZGV4IGE5OTZjZDNjNjc1MjU5OTM4OTY3YjgwZGNk
ODZiMTQyNmU0YTVkZDUuLjI0MDk1N2YyY2I5ODBhZDk5YzY2OTQwMDBiMzBkYjNkZDUyMmEwOTIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvV2ViR1BV
L1JlbW90ZUJ1ZmZlclByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BV
L2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVCdWZmZXJQcm94eS5jcHAKQEAgLTQ0LDcgKzQ0LDcgQEAg
UmVtb3RlQnVmZmVyUHJveHk6On5SZW1vdGVCdWZmZXJQcm94eSgpCiB7CiB9CiAKLXZvaWQgUmVt
b3RlQnVmZmVyUHJveHk6Om1hcEFzeW5jKFBBTDo6V2ViR1BVOjpNYXBNb2RlRmxhZ3MgbWFwTW9k
ZUZsYWdzLCBzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpTaXplNjQ+IG9mZnNldCwgc3RkOjpv
cHRpb25hbDxQQUw6OldlYkdQVTo6U2l6ZTY0PiBzaXplLCBXVEY6OkZ1bmN0aW9uPHZvaWQoKT4m
JiBjYWxsYmFjaykKK3ZvaWQgUmVtb3RlQnVmZmVyUHJveHk6Om1hcEFzeW5jKFBBTDo6V2ViR1BV
OjpNYXBNb2RlRmxhZ3MgbWFwTW9kZUZsYWdzLCBQQUw6OldlYkdQVTo6U2l6ZTY0IG9mZnNldCwg
c3RkOjpvcHRpb25hbDxQQUw6OldlYkdQVTo6U2l6ZTY0PiBzaXplLCBXVEY6OkZ1bmN0aW9uPHZv
aWQoKT4mJiBjYWxsYmFjaykKIHsKICAgICBzdGQ6Om9wdGlvbmFsPFZlY3Rvcjx1aW50OF90Pj4g
ZGF0YTsKICAgICBhdXRvIHNlbmRSZXN1bHQgPSBzZW5kU3luYyhNZXNzYWdlczo6UmVtb3RlQnVm
ZmVyOjpNYXBBc3luYyhtYXBNb2RlRmxhZ3MsIG9mZnNldCwgc2l6ZSksIHsgZGF0YSB9KTsKQEAg
LTU5LDE0ICs1OSwxMyBAQCB2b2lkIFJlbW90ZUJ1ZmZlclByb3h5OjptYXBBc3luYyhQQUw6Oldl
YkdQVTo6TWFwTW9kZUZsYWdzIG1hcE1vZGVGbGFncywgc3RkOjpvcAogICAgIGNhbGxiYWNrKCk7
CiB9CiAKLWF1dG8gUmVtb3RlQnVmZmVyUHJveHk6OmdldE1hcHBlZFJhbmdlKHN0ZDo6b3B0aW9u
YWw8UEFMOjpXZWJHUFU6OlNpemU2ND4gb2Zmc2V0LCBzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BV
OjpTaXplNjQ+IHNpemUpIC0+IE1hcHBlZFJhbmdlCithdXRvIFJlbW90ZUJ1ZmZlclByb3h5Ojpn
ZXRNYXBwZWRSYW5nZShQQUw6OldlYkdQVTo6U2l6ZTY0IG9mZnNldCwgc3RkOjpvcHRpb25hbDxQ
QUw6OldlYkdQVTo6U2l6ZTY0PiBzaXplKSAtPiBNYXBwZWRSYW5nZQogewogICAgIC8vIEZJWE1F
OiBJbXBsZW1lbnQgZXJyb3IgaGFuZGxpbmcuCiAgICAgaWYgKCFtX2RhdGEpCiAgICAgICAgIHJl
dHVybiB7IH07CiAKLSAgICBhdXRvIHVzZWRPZmZzZXQgPSBvZmZzZXQudmFsdWVfb3IoMCk7Ci0g
ICAgcmV0dXJuIHsgbV9kYXRhLT5kYXRhKCkgKyB1c2VkT2Zmc2V0LCBzdGF0aWNfY2FzdDxzaXpl
X3Q+KHNpemUudmFsdWVfb3IobV9kYXRhLT5zaXplKCkgLSB1c2VkT2Zmc2V0KSkgfTsKKyAgICBy
ZXR1cm4geyBtX2RhdGEtPmRhdGEoKSArIG9mZnNldCwgc3RhdGljX2Nhc3Q8c2l6ZV90PihzaXpl
LnZhbHVlX29yKG1fZGF0YS0+c2l6ZSgpIC0gb2Zmc2V0KSkgfTsKIH0KIAogdm9pZCBSZW1vdGVC
dWZmZXJQcm94eTo6dW5tYXAoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L0dQVS9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQnVmZmVyUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUJ1ZmZlclByb3h5LmgKaW5kZXgg
N2JhNTZhNzA2YTgwMTg2NWM4NDMyNmMxMGZiMGY0Yzk0ZTJiODRmMC4uNDkzYThiZjAxNjllYTM1
NTE0ZTlkYWFlMWY3NjczMmM4ZGRjZDY3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL0dQVS9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQnVmZmVyUHJveHkuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVCdWZmZXJQcm94
eS5oCkBAIC03Myw4ICs3Myw4IEBAIHByaXZhdGU6CiAgICAgICAgIHJldHVybiByb290KCkuc3Ry
ZWFtQ2xpZW50Q29ubmVjdGlvbigpLnNlbmRTeW5jKFdURk1vdmUobWVzc2FnZSksIFdURk1vdmUo
cmVwbHkpLCBiYWNraW5nKCksIGRlZmF1bHRTZW5kVGltZW91dCk7CiAgICAgfQogCi0gICAgdm9p
ZCBtYXBBc3luYyhQQUw6OldlYkdQVTo6TWFwTW9kZUZsYWdzLCBzdGQ6Om9wdGlvbmFsPFBBTDo6
V2ViR1BVOjpTaXplNjQ+IG9mZnNldCwgc3RkOjpvcHRpb25hbDxQQUw6OldlYkdQVTo6U2l6ZTY0
PiBzaXplRm9yTWFwLCBXVEY6OkZ1bmN0aW9uPHZvaWQoKT4mJikgZmluYWw7Ci0gICAgTWFwcGVk
UmFuZ2UgZ2V0TWFwcGVkUmFuZ2Uoc3RkOjpvcHRpb25hbDxQQUw6OldlYkdQVTo6U2l6ZTY0PiBv
ZmZzZXQsIHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlNpemU2ND4pIGZpbmFsOworICAgIHZv
aWQgbWFwQXN5bmMoUEFMOjpXZWJHUFU6Ok1hcE1vZGVGbGFncywgUEFMOjpXZWJHUFU6OlNpemU2
NCBvZmZzZXQsIHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlNpemU2ND4gc2l6ZUZvck1hcCwg
V1RGOjpGdW5jdGlvbjx2b2lkKCk+JiYpIGZpbmFsOworICAgIE1hcHBlZFJhbmdlIGdldE1hcHBl
ZFJhbmdlKFBBTDo6V2ViR1BVOjpTaXplNjQgb2Zmc2V0LCBzdGQ6Om9wdGlvbmFsPFBBTDo6V2Vi
R1BVOjpTaXplNjQ+KSBmaW5hbDsKICAgICB2b2lkIHVubWFwKCkgZmluYWw7CiAKICAgICB2b2lk
IGRlc3Ryb3koKSBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9H
UFUvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUNvbW1hbmRFbmNvZGVyUHJveHkuY3BwIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQ29tbWFuZEVuY29k
ZXJQcm94eS5jcHAKaW5kZXggZmVhMjlkOTkyODE2N2UyYjJhNGRmNDU1ZDlmODdhZjFmOGJmNmJl
Yy4uNjEzZWQ1MDE2NGZhMjU1NmM4YjE3MjRjZTI3NjBkNjExOTMyYTkyYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQ29tbWFu
ZEVuY29kZXJQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFw
aGljcy9XZWJHUFUvUmVtb3RlQ29tbWFuZEVuY29kZXJQcm94eS5jcHAKQEAgLTE1MiwxNyArMTUy
LDE3IEBAIHZvaWQgUmVtb3RlQ29tbWFuZEVuY29kZXJQcm94eTo6Y29weVRleHR1cmVUb1RleHR1
cmUoCiAgICAgVU5VU0VEX1ZBUklBQkxFKHNlbmRSZXN1bHQpOwogfQogCi12b2lkIFJlbW90ZUNv
bW1hbmRFbmNvZGVyUHJveHk6OmZpbGxCdWZmZXIoCi0gICAgY29uc3QgUEFMOjpXZWJHUFU6OkJ1
ZmZlciYgZGVzdGluYXRpb24sCi0gICAgUEFMOjpXZWJHUFU6OlNpemU2NCBkZXN0aW5hdGlvbk9m
ZnNldCwKLSAgICBQQUw6OldlYkdQVTo6U2l6ZTY0IHNpemUpCi17Ci0gICAgYXV0byBjb252ZXJ0
ZWREZXN0aW5hdGlvbiA9IG1fY29udmVydFRvQmFja2luZ0NvbnRleHQtPmNvbnZlcnRUb0JhY2tp
bmcoZGVzdGluYXRpb24pOwotICAgIEFTU0VSVChjb252ZXJ0ZWREZXN0aW5hdGlvbik7Ci0gICAg
aWYgKCFjb252ZXJ0ZWREZXN0aW5hdGlvbikKK3ZvaWQgUmVtb3RlQ29tbWFuZEVuY29kZXJQcm94
eTo6Y2xlYXJCdWZmZXIoCisgICAgY29uc3QgUEFMOjpXZWJHUFU6OkJ1ZmZlciYgYnVmZmVyLAor
ICAgIFBBTDo6V2ViR1BVOjpTaXplNjQgb2Zmc2V0LAorICAgIHN0ZDo6b3B0aW9uYWw8UEFMOjpX
ZWJHUFU6OlNpemU2ND4gc2l6ZSkKK3sKKyAgICBhdXRvIGNvbnZlcnRlZEJ1ZmZlciA9IG1fY29u
dmVydFRvQmFja2luZ0NvbnRleHQtPmNvbnZlcnRUb0JhY2tpbmcoYnVmZmVyKTsKKyAgICBBU1NF
UlQoY29udmVydGVkQnVmZmVyKTsKKyAgICBpZiAoIWNvbnZlcnRlZEJ1ZmZlcikKICAgICAgICAg
cmV0dXJuOwogCi0gICAgYXV0byBzZW5kUmVzdWx0ID0gc2VuZChNZXNzYWdlczo6UmVtb3RlQ29t
bWFuZEVuY29kZXI6OkZpbGxCdWZmZXIoY29udmVydGVkRGVzdGluYXRpb24sIGRlc3RpbmF0aW9u
T2Zmc2V0LCBzaXplKSk7CisgICAgYXV0byBzZW5kUmVzdWx0ID0gc2VuZChNZXNzYWdlczo6UmVt
b3RlQ29tbWFuZEVuY29kZXI6OkNsZWFyQnVmZmVyKGNvbnZlcnRlZEJ1ZmZlciwgb2Zmc2V0LCBz
aXplKSk7CiAgICAgVU5VU0VEX1ZBUklBQkxFKHNlbmRSZXN1bHQpOwogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVDb21t
YW5kRW5jb2RlclByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNz
L1dlYkdQVS9SZW1vdGVDb21tYW5kRW5jb2RlclByb3h5LmgKaW5kZXggMTFlNjc4MTU5YTRiNDEy
MzY2N2U2N2QzYmEyMDg1NjhmYzgzNWIwYy4uYjE3NjgxOGJlMDFlYTQyMGFkYWU0ODE1MDk5ZGNh
ZDBiMDExN2I0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFw
aGljcy9XZWJHUFUvUmVtb3RlQ29tbWFuZEVuY29kZXJQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUNvbW1hbmRFbmNvZGVyUHJv
eHkuaApAQCAtOTcsMTAgKzk3LDEwIEBAIHByaXZhdGU6CiAgICAgICAgIGNvbnN0IFBBTDo6V2Vi
R1BVOjpJbWFnZUNvcHlUZXh0dXJlJiBkZXN0aW5hdGlvbiwKICAgICAgICAgY29uc3QgUEFMOjpX
ZWJHUFU6OkV4dGVudDNEJiBjb3B5U2l6ZSkgZmluYWw7CiAKLSAgICB2b2lkIGZpbGxCdWZmZXIo
Ci0gICAgICAgIGNvbnN0IFBBTDo6V2ViR1BVOjpCdWZmZXImIGRlc3RpbmF0aW9uLAotICAgICAg
ICBQQUw6OldlYkdQVTo6U2l6ZTY0IGRlc3RpbmF0aW9uT2Zmc2V0LAotICAgICAgICBQQUw6Oldl
YkdQVTo6U2l6ZTY0KSBmaW5hbDsKKyAgICB2b2lkIGNsZWFyQnVmZmVyKAorICAgICAgICBjb25z
dCBQQUw6OldlYkdQVTo6QnVmZmVyJiwKKyAgICAgICAgUEFMOjpXZWJHUFU6OlNpemU2NCBvZmZz
ZXQgPSAwLAorICAgICAgICBzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpTaXplNjQ+ID0gc3Rk
OjpudWxsb3B0KSBmaW5hbDsKIAogICAgIHZvaWQgcHVzaERlYnVnR3JvdXAoU3RyaW5nJiYgZ3Jv
dXBMYWJlbCkgZmluYWw7CiAgICAgdm9pZCBwb3BEZWJ1Z0dyb3VwKCkgZmluYWw7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVD
b21wdXRlUGFzc0VuY29kZXJQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BV
L2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVDb21wdXRlUGFzc0VuY29kZXJQcm94eS5jcHAKaW5kZXgg
NzFmNjc5NTVhYjdkNTY5N2FhM2M2YzE4YjA2NjMzZDAyOTJhYjlmNS4uNmQwZjgzY2Q2ZDkxYzdj
OGU2OTkzZDAwN2ViODAyYjUyMjg4NjQ2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL0dQVS9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQ29tcHV0ZVBhc3NFbmNvZGVyUHJveHku
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvV2ViR1BVL1Jl
bW90ZUNvbXB1dGVQYXNzRW5jb2RlclByb3h5LmNwcApAQCAtNTUsOSArNTUsOSBAQCB2b2lkIFJl
bW90ZUNvbXB1dGVQYXNzRW5jb2RlclByb3h5OjpzZXRQaXBlbGluZShjb25zdCBQQUw6OldlYkdQ
VTo6Q29tcHV0ZVBpcGVsaQogICAgIFVOVVNFRF9WQVJJQUJMRShzZW5kUmVzdWx0KTsKIH0KIAot
dm9pZCBSZW1vdGVDb21wdXRlUGFzc0VuY29kZXJQcm94eTo6ZGlzcGF0Y2goUEFMOjpXZWJHUFU6
OlNpemUzMiB4LCBzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpTaXplMzI+IHksIHN0ZDo6b3B0
aW9uYWw8UEFMOjpXZWJHUFU6OlNpemUzMj4geikKK3ZvaWQgUmVtb3RlQ29tcHV0ZVBhc3NFbmNv
ZGVyUHJveHk6OmRpc3BhdGNoKFBBTDo6V2ViR1BVOjpTaXplMzIgd29ya2dyb3VwQ291bnRYLCBQ
QUw6OldlYkdQVTo6U2l6ZTMyIHdvcmtncm91cENvdW50WSwgUEFMOjpXZWJHUFU6OlNpemUzMiB3
b3JrZ3JvdXBDb3VudFopCiB7Ci0gICAgYXV0byBzZW5kUmVzdWx0ID0gc2VuZChNZXNzYWdlczo6
UmVtb3RlQ29tcHV0ZVBhc3NFbmNvZGVyOjpEaXNwYXRjaCh4LCB5LCB6KSk7CisgICAgYXV0byBz
ZW5kUmVzdWx0ID0gc2VuZChNZXNzYWdlczo6UmVtb3RlQ29tcHV0ZVBhc3NFbmNvZGVyOjpEaXNw
YXRjaCh3b3JrZ3JvdXBDb3VudFgsIHdvcmtncm91cENvdW50WSwgd29ya2dyb3VwQ291bnRaKSk7
CiAgICAgVU5VU0VEX1ZBUklBQkxFKHNlbmRSZXN1bHQpOwogfQogCkBAIC03MiwyNiArNzIsOSBA
QCB2b2lkIFJlbW90ZUNvbXB1dGVQYXNzRW5jb2RlclByb3h5OjpkaXNwYXRjaEluZGlyZWN0KGNv
bnN0IFBBTDo6V2ViR1BVOjpCdWZmZXImCiAgICAgVU5VU0VEX1ZBUklBQkxFKHNlbmRSZXN1bHQp
OwogfQogCi12b2lkIFJlbW90ZUNvbXB1dGVQYXNzRW5jb2RlclByb3h5OjpiZWdpblBpcGVsaW5l
U3RhdGlzdGljc1F1ZXJ5KGNvbnN0IFBBTDo6V2ViR1BVOjpRdWVyeVNldCYgcXVlcnlTZXQsIFBB
TDo6V2ViR1BVOjpTaXplMzIgcXVlcnlJbmRleCkKK3ZvaWQgUmVtb3RlQ29tcHV0ZVBhc3NFbmNv
ZGVyUHJveHk6OmVuZCgpCiB7Ci0gICAgYXV0byBjb252ZXJ0ZWRRdWVyeVNldCA9IG1fY29udmVy
dFRvQmFja2luZ0NvbnRleHQtPmNvbnZlcnRUb0JhY2tpbmcocXVlcnlTZXQpOwotICAgIEFTU0VS
VChjb252ZXJ0ZWRRdWVyeVNldCk7Ci0gICAgaWYgKCFjb252ZXJ0ZWRRdWVyeVNldCkKLSAgICAg
ICAgcmV0dXJuOwotCi0gICAgYXV0byBzZW5kUmVzdWx0ID0gc2VuZChNZXNzYWdlczo6UmVtb3Rl
Q29tcHV0ZVBhc3NFbmNvZGVyOjpCZWdpblBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KGNvbnZlcnRl
ZFF1ZXJ5U2V0LCBxdWVyeUluZGV4KSk7Ci0gICAgVU5VU0VEX1ZBUklBQkxFKHNlbmRSZXN1bHQp
OwotfQotCi12b2lkIFJlbW90ZUNvbXB1dGVQYXNzRW5jb2RlclByb3h5OjplbmRQaXBlbGluZVN0
YXRpc3RpY3NRdWVyeSgpCi17Ci0gICAgYXV0byBzZW5kUmVzdWx0ID0gc2VuZChNZXNzYWdlczo6
UmVtb3RlQ29tcHV0ZVBhc3NFbmNvZGVyOjpFbmRQaXBlbGluZVN0YXRpc3RpY3NRdWVyeSgpKTsK
LSAgICBVTlVTRURfVkFSSUFCTEUoc2VuZFJlc3VsdCk7Ci19Ci0KLXZvaWQgUmVtb3RlQ29tcHV0
ZVBhc3NFbmNvZGVyUHJveHk6OmVuZFBhc3MoKQotewotICAgIGF1dG8gc2VuZFJlc3VsdCA9IHNl
bmQoTWVzc2FnZXM6OlJlbW90ZUNvbXB1dGVQYXNzRW5jb2Rlcjo6RW5kUGFzcygpKTsKKyAgICBh
dXRvIHNlbmRSZXN1bHQgPSBzZW5kKE1lc3NhZ2VzOjpSZW1vdGVDb21wdXRlUGFzc0VuY29kZXI6
OkVuZCgpKTsKICAgICBVTlVTRURfVkFSSUFCTEUoc2VuZFJlc3VsdCk7CiB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUNv
bXB1dGVQYXNzRW5jb2RlclByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dy
YXBoaWNzL1dlYkdQVS9SZW1vdGVDb21wdXRlUGFzc0VuY29kZXJQcm94eS5oCmluZGV4IDNmMmRh
Nzk3YTkyOTY1ZDc0YmQ5MGQ1OGFjMmY1ODc3NmY1NDBjMWMuLjg3YTk1OGMxNzZhNzQxN2FhMDE5
NGU0OTRmMzZlODEyNjQ4YjY4NWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9HUFUvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUNvbXB1dGVQYXNzRW5jb2RlclByb3h5LmgKKysr
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQ29t
cHV0ZVBhc3NFbmNvZGVyUHJveHkuaApAQCAtNzMsMTMgKzczLDEwIEBAIHByaXZhdGU6CiAgICAg
fQogCiAgICAgdm9pZCBzZXRQaXBlbGluZShjb25zdCBQQUw6OldlYkdQVTo6Q29tcHV0ZVBpcGVs
aW5lJikgZmluYWw7Ci0gICAgdm9pZCBkaXNwYXRjaChQQUw6OldlYkdQVTo6U2l6ZTMyIHgsIHN0
ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlNpemUzMj4geSwgc3RkOjpvcHRpb25hbDxQQUw6Oldl
YkdQVTo6U2l6ZTMyPikgZmluYWw7CisgICAgdm9pZCBkaXNwYXRjaChQQUw6OldlYkdQVTo6U2l6
ZTMyIHdvcmtncm91cENvdW50WCwgUEFMOjpXZWJHUFU6OlNpemUzMiB3b3JrZ3JvdXBDb3VudFkg
PSAxLCBQQUw6OldlYkdQVTo6U2l6ZTMyIHdvcmtncm91cENvdW50WiA9IDEpIGZpbmFsOwogICAg
IHZvaWQgZGlzcGF0Y2hJbmRpcmVjdChjb25zdCBQQUw6OldlYkdQVTo6QnVmZmVyJiBpbmRpcmVj
dEJ1ZmZlciwgUEFMOjpXZWJHUFU6OlNpemU2NCBpbmRpcmVjdE9mZnNldCkgZmluYWw7CiAKLSAg
ICB2b2lkIGJlZ2luUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkoY29uc3QgUEFMOjpXZWJHUFU6OlF1
ZXJ5U2V0JiwgUEFMOjpXZWJHUFU6OlNpemUzMiBxdWVyeUluZGV4KSBmaW5hbDsKLSAgICB2b2lk
IGVuZFBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KCkgZmluYWw7Ci0KLSAgICB2b2lkIGVuZFBhc3Mo
KSBmaW5hbDsKKyAgICB2b2lkIGVuZCgpIGZpbmFsOwogCiAgICAgdm9pZCBzZXRCaW5kR3JvdXAo
UEFMOjpXZWJHUFU6OkluZGV4MzIsIGNvbnN0IFBBTDo6V2ViR1BVOjpCaW5kR3JvdXAmLAogICAg
ICAgICBzdGQ6Om9wdGlvbmFsPFZlY3RvcjxQQUw6OldlYkdQVTo6QnVmZmVyRHluYW1pY09mZnNl
dD4+JiYpIGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9n
cmFwaGljcy9XZWJHUFUvUmVtb3RlUXVldWVQcm94eS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0dQVS9ncmFwaGljcy9XZWJHUFUvUmVtb3RlUXVldWVQcm94eS5oCmluZGV4IDVlYTIxMDNj
MWZkYjlhMmU1MjcwMzVkZDE2YzQ2ZDQ0ZTJkN2RlYzIuLmRhNzc1ZDNlMGNhN2MyNmYwN2I1YmEx
OTEyMTQ1MWI3NWYwNzY2ZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9H
UFUvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZVF1ZXVlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVRdWV1ZVByb3h5LmgKQEAgLTgy
LDggKzgyLDggQEAgcHJpdmF0ZToKICAgICAgICAgUEFMOjpXZWJHUFU6OlNpemU2NCBidWZmZXJP
ZmZzZXQsCiAgICAgICAgIGNvbnN0IHZvaWQqIHNvdXJjZSwKICAgICAgICAgc2l6ZV90IGJ5dGVM
ZW5ndGgsCi0gICAgICAgIFBBTDo6V2ViR1BVOjpTaXplNjQgZGF0YU9mZnNldCwKLSAgICAgICAg
c3RkOjpvcHRpb25hbDxQQUw6OldlYkdQVTo6U2l6ZTY0PikgZmluYWw7CisgICAgICAgIFBBTDo6
V2ViR1BVOjpTaXplNjQgZGF0YU9mZnNldCA9IDAsCisgICAgICAgIHN0ZDo6b3B0aW9uYWw8UEFM
OjpXZWJHUFU6OlNpemU2ND4gPSBzdGQ6Om51bGxvcHQpIGZpbmFsOwogCiAgICAgdm9pZCB3cml0
ZVRleHR1cmUoCiAgICAgICAgIGNvbnN0IFBBTDo6V2ViR1BVOjpJbWFnZUNvcHlUZXh0dXJlJiBk
ZXN0aW5hdGlvbiwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3Jh
cGhpY3MvV2ViR1BVL1JlbW90ZVJlbmRlclBhc3NFbmNvZGVyUHJveHkuY3BwIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9XZWJHUFUvUmVtb3RlUmVuZGVyUGFzc0VuY29k
ZXJQcm94eS5jcHAKaW5kZXggM2U4ZjVhNjNmNGFmMTI0NzJiOGYyM2Y1OGZkZjJkODdhYmZkMzUw
MC4uNzgzZmUwYTBmODc4MWIwYTAyODc2OTE3NWU1NjkwZTgzZjRhMWY3NyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9XZWJHUFUvUmVtb3RlUmVuZGVy
UGFzc0VuY29kZXJQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9n
cmFwaGljcy9XZWJHUFUvUmVtb3RlUmVuZGVyUGFzc0VuY29kZXJQcm94eS5jcHAKQEAgLTIwNCwy
MyArMjA0LDYgQEAgdm9pZCBSZW1vdGVSZW5kZXJQYXNzRW5jb2RlclByb3h5OjplbmRPY2NsdXNp
b25RdWVyeSgpCiAgICAgVU5VU0VEX1ZBUklBQkxFKHNlbmRSZXN1bHQpOwogfQogCi12b2lkIFJl
bW90ZVJlbmRlclBhc3NFbmNvZGVyUHJveHk6OmJlZ2luUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnko
Y29uc3QgUEFMOjpXZWJHUFU6OlF1ZXJ5U2V0JiBxdWVyeVNldCwgUEFMOjpXZWJHUFU6OlNpemUz
MiBxdWVyeUluZGV4KQotewotICAgIGF1dG8gY29udmVydGVkUXVlcnlTZXQgPSBtX2NvbnZlcnRU
b0JhY2tpbmdDb250ZXh0LT5jb252ZXJ0VG9CYWNraW5nKHF1ZXJ5U2V0KTsKLSAgICBBU1NFUlQo
Y29udmVydGVkUXVlcnlTZXQpOwotICAgIGlmICghY29udmVydGVkUXVlcnlTZXQpCi0gICAgICAg
IHJldHVybjsKLQotICAgIGF1dG8gc2VuZFJlc3VsdCA9IHNlbmQoTWVzc2FnZXM6OlJlbW90ZVJl
bmRlclBhc3NFbmNvZGVyOjpCZWdpblBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KGNvbnZlcnRlZFF1
ZXJ5U2V0LCBxdWVyeUluZGV4KSk7Ci0gICAgVU5VU0VEX1ZBUklBQkxFKHNlbmRSZXN1bHQpOwot
fQotCi12b2lkIFJlbW90ZVJlbmRlclBhc3NFbmNvZGVyUHJveHk6OmVuZFBpcGVsaW5lU3RhdGlz
dGljc1F1ZXJ5KCkKLXsKLSAgICBhdXRvIHNlbmRSZXN1bHQgPSBzZW5kKE1lc3NhZ2VzOjpSZW1v
dGVSZW5kZXJQYXNzRW5jb2Rlcjo6RW5kUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkoKSk7Ci0gICAg
VU5VU0VEX1ZBUklBQkxFKHNlbmRSZXN1bHQpOwotfQotCiB2b2lkIFJlbW90ZVJlbmRlclBhc3NF
bmNvZGVyUHJveHk6OmV4ZWN1dGVCdW5kbGVzKFZlY3RvcjxzdGQ6OnJlZmVyZW5jZV93cmFwcGVy
PFBBTDo6V2ViR1BVOjpSZW5kZXJCdW5kbGU+PiYmIHJlbmRlckJ1bmRsZXMpCiB7CiAgICAgVmVj
dG9yPFdlYkdQVUlkZW50aWZpZXI+IGNvbnZlcnRlZFJlbmRlckJ1bmRsZXM7CkBAIC0yMzcsOSAr
MjIwLDkgQEAgdm9pZCBSZW1vdGVSZW5kZXJQYXNzRW5jb2RlclByb3h5OjpleGVjdXRlQnVuZGxl
cyhWZWN0b3I8c3RkOjpyZWZlcmVuY2Vfd3JhcHBlcjwKICAgICBVTlVTRURfVkFSSUFCTEUoc2Vu
ZFJlc3VsdCk7CiB9CiAKLXZvaWQgUmVtb3RlUmVuZGVyUGFzc0VuY29kZXJQcm94eTo6ZW5kUGFz
cygpCit2b2lkIFJlbW90ZVJlbmRlclBhc3NFbmNvZGVyUHJveHk6OmVuZCgpCiB7Ci0gICAgYXV0
byBzZW5kUmVzdWx0ID0gc2VuZChNZXNzYWdlczo6UmVtb3RlUmVuZGVyUGFzc0VuY29kZXI6OkVu
ZFBhc3MoKSk7CisgICAgYXV0byBzZW5kUmVzdWx0ID0gc2VuZChNZXNzYWdlczo6UmVtb3RlUmVu
ZGVyUGFzc0VuY29kZXI6OkVuZCgpKTsKICAgICBVTlVTRURfVkFSSUFCTEUoc2VuZFJlc3VsdCk7
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3Mv
V2ViR1BVL1JlbW90ZVJlbmRlclBhc3NFbmNvZGVyUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9HUFUvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZVJlbmRlclBhc3NFbmNvZGVyUHJveHku
aAppbmRleCBlNWY2OTNkOGM4ZWJmNmU5MDVkOTE0MmUwZDNlYmU3MzRjMTg0YzM3Li5mYzViNTk2
ZjViYThkY2Y3YzhiNTY1MmNiZDc1OGIxMDRlOTVkOTRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVSZW5kZXJQYXNzRW5jb2Rl
clByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9XZWJH
UFUvUmVtb3RlUmVuZGVyUGFzc0VuY29kZXJQcm94eS5oCkBAIC0xMTMsMTEgKzExMyw4IEBAIHBy
aXZhdGU6CiAgICAgdm9pZCBiZWdpbk9jY2x1c2lvblF1ZXJ5KFBBTDo6V2ViR1BVOjpTaXplMzIg
cXVlcnlJbmRleCkgZmluYWw7CiAgICAgdm9pZCBlbmRPY2NsdXNpb25RdWVyeSgpIGZpbmFsOwog
Ci0gICAgdm9pZCBiZWdpblBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KGNvbnN0IFBBTDo6V2ViR1BV
OjpRdWVyeVNldCYsIFBBTDo6V2ViR1BVOjpTaXplMzIgcXVlcnlJbmRleCkgZmluYWw7Ci0gICAg
dm9pZCBlbmRQaXBlbGluZVN0YXRpc3RpY3NRdWVyeSgpIGZpbmFsOwotCiAgICAgdm9pZCBleGVj
dXRlQnVuZGxlcyhWZWN0b3I8c3RkOjpyZWZlcmVuY2Vfd3JhcHBlcjxQQUw6OldlYkdQVTo6UmVu
ZGVyQnVuZGxlPj4mJikgZmluYWw7Ci0gICAgdm9pZCBlbmRQYXNzKCkgZmluYWw7CisgICAgdm9p
ZCBlbmQoKSBmaW5hbDsKIAogICAgIHZvaWQgc2V0TGFiZWxJbnRlcm5hbChjb25zdCBTdHJpbmcm
KSBmaW5hbDsKIAo=
</data>
<flag name="review"
          id="479086"
          type_id="1"
          status="+"
          setter="dino"
    />
    <flag name="commit-queue"
          id="479095"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>452244</attachid>
            <date>2022-02-16 13:41:19 -0800</date>
            <delta_ts>2022-02-16 15:44:13 -0800</delta_ts>
            <desc>Patch for committing</desc>
            <filename>bug-236639-20220216134118.patch</filename>
            <type>text/plain</type>
            <size>337264</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg5ODcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzM4NThhMzM1MTFjMTZj
MzBjMDdhMTJhMWJhMjNmYzdlNWJlMTdkZC4uOGZjMjJmZDA0OWQ5ZGY5N2EyNjEwODJjNGVmYjE4
YzFhZDhlOGQxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDExOSBAQAorMjAyMi0wMi0xNSAgTXls
ZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFtXZWJHUFVd
IFVwZGF0ZSBJRExzIGFuZCBzdHVicyB0byBsYXRlc3QgdmVyc2lvbiBvZiB0aGUgc3BlYworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM2NjM5CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgRGVhbiBKYWNrc29uLgorCisgICAgICAgIFRoaXMgdXBkYXRlcyBv
dXIgV2ViR1BVIGluZnJhc3RydWN0dXJlIHRvIHNwZWMgcmV2aXNpb24gNjI2ZjhjMDVjOGU2N2I1
NDE1OWU5M2FlN2MzNjk5YTg4OWYwYjExNS4gVGhpcworICAgICAgICBpcyBqdXN0IHRoZSBwbHVt
YmluZyB0aGF0IGNvbm5lY3RzIElETCAtPiBXZWJDb3JlIEMrKyAtPiBQQUwgdmlydHVhbCBtZXRo
b2RzIC0+IFdlYktpdCBXZWIgcHJvY2VzcyAtPgorICAgICAgICBXZWJLaXQgR1BVIHByb2Nlc3Mg
LT4gUEFMIHZpcnR1YWwgbWV0aG9kcyAtPiBQQUwgV2ViR1BVIGltcGxlbWVudGF0aW9uIC0+IFdl
YkdQVS5mcmFtZXdvcmsuIFRoaXMgYWxzbworICAgICAgICB1cGRhdGVzIHRoZSBXZWJHUFUuaCBz
aGFyZWQgaGVhZGVyIHRvIHJldmlzaW9uIDA4ZWY1NzczMzUwM2I4ZmI1MDRlMDY4MWE4ZGI2NTBj
ODgyMjU5NDcuIFRoaXMgaXMganVzdAorICAgICAgICBwbHVtYmluZyAtIHRoZSBhY3R1YWwgaW1w
bGVtZW50YXRpb24gb2YgdGhpcyBzdHVmZiBpcyBzdGlsbCBqdXN0IHN0dWJzIGluIFdlYkdQVS5m
cmFtZXdvcmsuCisKKyAgICAgICAgVGhlcmUgaGF2ZSBiZWVuIGEgZmV3IHZhcmlvdXMgY2hhbmdl
czoKKyAgICAgICAgLSBBIHZpZXdGb3JtYXRzIGFycmF5IGhhcyBiZWVuIGFkZGVkIHRvIEdQVUNh
bnZhc0NvbmZpZ3VyYXRpb24gYW5kIEdQVVRleHR1cmVEZXNjcmlwdG9yCisgICAgICAgIC0gZmls
bEJ1ZmZlcigpIGhhcyBiZWVuIHJlbmFtZWQgdG8gY2xlYXJCdWZmZXIoKQorICAgICAgICAtIFBp
cGVsaW5lIHN0YXRpc3RpY3MgcXVlcmllcyBoYXZlIGJlZW4gZGVsZXRlZAorICAgICAgICAtIEEg
ZmV3IHJlZmFjdG9yaW5ncyB0byB0dXJuIFZlY3RvcjxGb28+IHRoaW5ncyBpbnRvIFZlY3Rvcjxz
dGQ6Om9wdGlvbmFsPEZvbz4+CisgICAgICAgIC0gZmxpcFkgaGFzIGJlZW4gYWRkZWQgdG8gR1BV
SW1hZ2VDb3B5RXh0ZXJuYWxJbWFnZQorICAgICAgICAtIExvYWQgb3BlcmF0aW9ucyBoYXZlIGJl
ZW4gcmVkZXNpZ25lZCBvbiBib3RoIEdQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQgYW5kCisg
ICAgICAgICAgICAgIEdQVVJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50CisgICAgICAg
IC0gZW5kUGFzcygpIGhhcyBiZWVuIHJlbmFtZWQgdG8gZW5kKCkKKyAgICAgICAgLSBTaGFkZXIg
Y29tcGlsYXRpb24gbm93IHRha2VzIGEgcmVjb3JkPGVudHJ5IHBvaW50IG5hbWUsIEdQVVNoYWRl
ck1vZHVsZUNvbXBpbGF0aW9uSGludD4KKworICAgICAgICBObyBuZXcgdGVzdHMgYmVjYXVzZSB0
aGUgaW1wbGVtZW50YXRpb24gaXMgc3RpbGwganVzdCBzdHVicy4KKworICAgICAgICAqIENNYWtl
TGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3Q6Cisg
ICAgICAgICogRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVy
aXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBIZWFkZXJzLmNtYWtlOgorICAgICAgICAqIE1v
ZHVsZXMvV2ViR1BVL0dQVUJ1ZmZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHUFVCdWZmZXI6
Om1hcEFzeW5jKToKKyAgICAgICAgKFdlYkNvcmU6OkdQVUJ1ZmZlcjo6Z2V0TWFwcGVkUmFuZ2Up
OgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVUJ1ZmZlci5oOgorICAgICAgICAqIE1vZHVs
ZXMvV2ViR1BVL0dQVUNhbnZhc0NvbmZpZ3VyYXRpb24uaDoKKyAgICAgICAgKFdlYkNvcmU6OkdQ
VUNhbnZhc0NvbmZpZ3VyYXRpb246OmNvbnZlcnRUb0JhY2tpbmcgY29uc3QpOgorICAgICAgICAq
IE1vZHVsZXMvV2ViR1BVL0dQVUNhbnZhc0NvbmZpZ3VyYXRpb24uaWRsOgorICAgICAgICAqIE1v
ZHVsZXMvV2ViR1BVL0dQVUNvbW1hbmRFbmNvZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdQ
VUNvbW1hbmRFbmNvZGVyOjpjbGVhckJ1ZmZlcik6CisgICAgICAgIChXZWJDb3JlOjpHUFVDb21t
YW5kRW5jb2Rlcjo6ZmlsbEJ1ZmZlcik6IERlbGV0ZWQuCisgICAgICAgICogTW9kdWxlcy9XZWJH
UFUvR1BVQ29tbWFuZEVuY29kZXIuaDoKKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVDb21t
YW5kRW5jb2Rlci5pZGw6CisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVQ29tbWFuZHNNaXhp
bi5pZGw6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUxvYWRP
cC5pZGwuCisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVQ29tcHV0ZVBhc3NFbmNvZGVyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkdQVUNvbXB1dGVQYXNzRW5jb2Rlcjo6ZGlzcGF0Y2gpOgor
ICAgICAgICAoV2ViQ29yZTo6R1BVQ29tcHV0ZVBhc3NFbmNvZGVyOjplbmQpOgorICAgICAgICAo
V2ViQ29yZTo6R1BVQ29tcHV0ZVBhc3NFbmNvZGVyOjpiZWdpblBpcGVsaW5lU3RhdGlzdGljc1F1
ZXJ5KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkdQVUNvbXB1dGVQYXNzRW5jb2Rlcjo6
ZW5kUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6
R1BVQ29tcHV0ZVBhc3NFbmNvZGVyOjplbmRQYXNzKTogRGVsZXRlZC4KKyAgICAgICAgKiBNb2R1
bGVzL1dlYkdQVS9HUFVDb21wdXRlUGFzc0VuY29kZXIuaDoKKyAgICAgICAgKiBNb2R1bGVzL1dl
YkdQVS9HUFVDb21wdXRlUGFzc0VuY29kZXIuaWRsOgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BV
L0dQVURlYnVnQ29tbWFuZHNNaXhpbi5pZGw6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvV2ViR1BVL0dQVUZyYWdtZW50U3RhdGUuaWRsLgorICAgICAgICAqIE1vZHVsZXMvV2Vi
R1BVL0dQVUZlYXR1cmVOYW1lLmg6CisgICAgICAgIChXZWJDb3JlOjpjb252ZXJ0VG9CYWNraW5n
KToKKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVGZWF0dXJlTmFtZS5pZGw6CisgICAgICAg
ICogTW9kdWxlcy9XZWJHUFUvR1BVRnJhZ21lbnRTdGF0ZS5oOgorICAgICAgICAoV2ViQ29yZTo6
R1BVRnJhZ21lbnRTdGF0ZTo6Y29udmVydFRvQmFja2luZyBjb25zdCk6CisgICAgICAgICogTW9k
dWxlcy9XZWJHUFUvR1BVRnJhZ21lbnRTdGF0ZS5pZGw6CisgICAgICAgICogTW9kdWxlcy9XZWJH
UFUvR1BVSW1hZ2VDb3B5RXh0ZXJuYWxJbWFnZS5oOgorICAgICAgICAoV2ViQ29yZTo6R1BVSW1h
Z2VDb3B5RXh0ZXJuYWxJbWFnZTo6Y29udmVydFRvQmFja2luZyBjb25zdCk6CisgICAgICAgICog
TW9kdWxlcy9XZWJHUFUvR1BVSW1hZ2VDb3B5RXh0ZXJuYWxJbWFnZS5pZGw6CisgICAgICAgICog
TW9kdWxlcy9XZWJHUFUvR1BVTG9hZE9wLmg6CisgICAgICAgIChXZWJDb3JlOjpjb252ZXJ0VG9C
YWNraW5nKToKKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVMb2FkT3AuaWRsOgorICAgICAg
ICAqIE1vZHVsZXMvV2ViR1BVL0dQVU9iamVjdEJhc2UuaWRsOgorICAgICAgICAqIE1vZHVsZXMv
V2ViR1BVL0dQVVBpcGVsaW5lU3RhdGlzdGljTmFtZS5oOiBSZW1vdmVkLgorICAgICAgICAqIE1v
ZHVsZXMvV2ViR1BVL0dQVVBpcGVsaW5lU3RhdGlzdGljTmFtZS5pZGw6IFJlbW92ZWQuCisgICAg
ICAgICogTW9kdWxlcy9XZWJHUFUvR1BVUHJvZ3JhbW1hYmxlUGFzc0VuY29kZXIuaWRsOgorICAg
ICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVVF1ZXJ5U2V0RGVzY3JpcHRvci5oOgorICAgICAgICAo
V2ViQ29yZTo6R1BVUXVlcnlTZXREZXNjcmlwdG9yOjpjb252ZXJ0VG9CYWNraW5nIGNvbnN0KToK
KyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVRdWVyeVNldERlc2NyaXB0b3IuaWRsOgorICAg
ICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVVF1ZXJ5VHlwZS5oOgorICAgICAgICAoV2ViQ29yZTo6
Y29udmVydFRvQmFja2luZyk6CisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVUXVlcnlUeXBl
LmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVRdWV1ZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpHUFVRdWV1ZTo6d3JpdGVCdWZmZXIpOgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BV
L0dQVVF1ZXVlLmg6CisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyQnVuZGxlRW5j
b2Rlci5pZGw6CisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyQnVuZGxlRW5jb2Rl
ckRlc2NyaXB0b3IuaDoKKyAgICAgICAgKFdlYkNvcmU6OkdQVVJlbmRlckJ1bmRsZUVuY29kZXJE
ZXNjcmlwdG9yOjpjb252ZXJ0VG9CYWNraW5nIGNvbnN0KToKKyAgICAgICAgKiBNb2R1bGVzL1dl
YkdQVS9HUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpH
UFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50Ojpjb252ZXJ0VG9CYWNraW5nIGNvbnN0KToKKyAg
ICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50LmlkbDoK
KyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNo
bWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6R1BVUmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFj
aG1lbnQ6OmNvbnZlcnRUb0JhY2tpbmcgY29uc3QpOgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BV
L0dQVVJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50LmlkbDoKKyAgICAgICAgKiBNb2R1
bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzRGVzY3JpcHRvci5oOgorICAgICAgICAoV2ViQ29yZTo6
R1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3I6OmNvbnZlcnRUb0JhY2tpbmcgY29uc3QpOgorICAgICAg
ICAqIE1vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NEZXNjcmlwdG9yLmlkbDoKKyAgICAgICAg
KiBNb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzRW5jb2Rlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpHUFVSZW5kZXJQYXNzRW5jb2Rlcjo6ZW5kKToKKyAgICAgICAgKFdlYkNvcmU6OkdQVVJl
bmRlclBhc3NFbmNvZGVyOjpiZWdpblBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KTogRGVsZXRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OkdQVVJlbmRlclBhc3NFbmNvZGVyOjplbmRQaXBlbGluZVN0YXRp
c3RpY3NRdWVyeSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpHUFVSZW5kZXJQYXNzRW5j
b2Rlcjo6ZW5kUGFzcyk6IERlbGV0ZWQuCisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVUmVu
ZGVyUGFzc0VuY29kZXIuaDoKKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNz
RW5jb2Rlci5pZGw6CisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0xheW91
dC5oOgorICAgICAgICAoV2ViQ29yZTo6R1BVUmVuZGVyUGFzc0xheW91dDo6Y29udmVydFRvQmFj
a2luZyBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0xheW91
dC5pZGw6CisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRp
b25IaW50Lmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUxv
YWRPcC5oLgorICAgICAgICAoV2ViQ29yZTo6R1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50
Ojpjb252ZXJ0VG9CYWNraW5nIGNvbnN0KToKKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVT
aGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQuaWRsOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL1dlYkdQVS9HUFVRdWVyeVR5cGUuaWRsLgorICAgICAgICAqIE1vZHVsZXMvV2Vi
R1BVL0dQVVNoYWRlck1vZHVsZURlc2NyaXB0b3IuaDoKKyAgICAgICAgKFdlYkNvcmU6OkdQVVNo
YWRlck1vZHVsZURlc2NyaXB0b3I6OmNvbnZlcnRUb0JhY2tpbmcgY29uc3QpOgorICAgICAgICAq
IE1vZHVsZXMvV2ViR1BVL0dQVVNoYWRlck1vZHVsZURlc2NyaXB0b3IuaWRsOgorICAgICAgICAq
IE1vZHVsZXMvV2ViR1BVL0dQVVRleHR1cmVEZXNjcmlwdG9yLmg6CisgICAgICAgIChXZWJDb3Jl
OjpHUFVUZXh0dXJlRGVzY3JpcHRvcjo6Y29udmVydFRvQmFja2luZyBjb25zdCk6CisgICAgICAg
ICogTW9kdWxlcy9XZWJHUFUvR1BVVGV4dHVyZURlc2NyaXB0b3IuaWRsOgorICAgICAgICAqIE1v
ZHVsZXMvV2ViR1BVL0dQVVRleHR1cmVGb3JtYXQuaDoKKyAgICAgICAgKFdlYkNvcmU6OmNvbnZl
cnRUb0JhY2tpbmcpOgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVVRleHR1cmVGb3JtYXQu
aWRsOgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVVVuY2FwdHVyZWRFcnJvckV2ZW50Lmlk
bDoKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2o6CisKIDIwMjItMDItMTUgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxl
LmNvbT4KIAogICAgICAgICBEbyBwcmVsaW1pbmFyeSB3b3JrIHRvIHBhc3MgZG9tYWluIG5hbWVz
IHRvIENvcmVMb2NhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKaW5kZXggMTdmMzliM2U4OWVmMjE4NDE3
NDY1YWRiY2NhODM2MGZjNzYwZWI1NS4uNDZhNWExODdhYWQ4NTg2OWU5ZGY1NTNkYmFiZDQxOWMy
ZGI2MDFlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNzAgQEAKKzIwMjItMDItMTUg
IE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBbV2Vi
R1BVXSBVcGRhdGUgSURMcyBhbmQgc3R1YnMgdG8gbGF0ZXN0IHZlcnNpb24gb2YgdGhlIHNwZWMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNjYzOQor
CisgICAgICAgIFJldmlld2VkIGJ5IERlYW4gSmFja3Nvbi4KKworICAgICAgICAqIFBBTC54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHBhbC9ncmFwaGljcy9XZWJHUFUvSW1w
bC9XZWJHUFVBZGFwdGVySW1wbC5jcHA6CisgICAgICAgIChQQUw6OldlYkdQVTo6c3VwcG9ydGVk
RmVhdHVyZXMpOgorICAgICAgICAoUEFMOjpXZWJHUFU6OkFkYXB0ZXJJbXBsOjpyZXF1ZXN0RGV2
aWNlKToKKyAgICAgICAgKiBwYWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwvV2ViR1BVQnVmZmVySW1w
bC5jcHA6CisgICAgICAgIChQQUw6OldlYkdQVTo6QnVmZmVySW1wbDo6bWFwQXN5bmMpOgorICAg
ICAgICAoUEFMOjpXZWJHUFU6OkJ1ZmZlckltcGw6OmdldE1hcHBlZFJhbmdlKToKKyAgICAgICAg
KiBwYWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwvV2ViR1BVQnVmZmVySW1wbC5oOgorICAgICAgICAq
IHBhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9XZWJHUFVDb21tYW5kRW5jb2RlckltcGwuY3BwOgor
ICAgICAgICAoUEFMOjpXZWJHUFU6OkNvbW1hbmRFbmNvZGVySW1wbDo6YmVnaW5SZW5kZXJQYXNz
KToKKyAgICAgICAgKFBBTDo6V2ViR1BVOjpDb21tYW5kRW5jb2RlckltcGw6OmJlZ2luQ29tcHV0
ZVBhc3MpOgorICAgICAgICAoUEFMOjpXZWJHUFU6OkNvbW1hbmRFbmNvZGVySW1wbDo6Y2xlYXJC
dWZmZXIpOgorICAgICAgICAoUEFMOjpXZWJHUFU6OkNvbW1hbmRFbmNvZGVySW1wbDo6ZmlsbEJ1
ZmZlcik6IERlbGV0ZWQuCisgICAgICAgICogcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQ
VUNvbW1hbmRFbmNvZGVySW1wbC5oOgorICAgICAgICAqIHBhbC9ncmFwaGljcy9XZWJHUFUvSW1w
bC9XZWJHUFVDb21wdXRlUGFzc0VuY29kZXJJbXBsLmNwcDoKKyAgICAgICAgKFBBTDo6V2ViR1BV
OjpDb21wdXRlUGFzc0VuY29kZXJJbXBsOjpkaXNwYXRjaCk6CisgICAgICAgIChQQUw6OldlYkdQ
VTo6Q29tcHV0ZVBhc3NFbmNvZGVySW1wbDo6ZW5kKToKKyAgICAgICAgKFBBTDo6V2ViR1BVOjpD
b21wdXRlUGFzc0VuY29kZXJJbXBsOjpiZWdpblBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KTogRGVs
ZXRlZC4KKyAgICAgICAgKFBBTDo6V2ViR1BVOjpDb21wdXRlUGFzc0VuY29kZXJJbXBsOjplbmRQ
aXBlbGluZVN0YXRpc3RpY3NRdWVyeSk6IERlbGV0ZWQuCisgICAgICAgIChQQUw6OldlYkdQVTo6
Q29tcHV0ZVBhc3NFbmNvZGVySW1wbDo6ZW5kUGFzcyk6IERlbGV0ZWQuCisgICAgICAgICogcGFs
L2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVUNvbXB1dGVQYXNzRW5jb2RlckltcGwuaDoKKyAg
ICAgICAgKiBwYWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwvV2ViR1BVQ29udmVydFRvQmFja2luZ0Nv
bnRleHQuY3BwOgorICAgICAgICAoUEFMOjpXZWJHUFU6OkNvbnZlcnRUb0JhY2tpbmdDb250ZXh0
Ojpjb252ZXJ0VG9CYWNraW5nKToKKyAgICAgICAgKiBwYWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwv
V2ViR1BVQ29udmVydFRvQmFja2luZ0NvbnRleHQuaDoKKyAgICAgICAgKiBwYWwvZ3JhcGhpY3Mv
V2ViR1BVL0ltcGwvV2ViR1BVRGV2aWNlSW1wbC5jcHA6CisgICAgICAgIChQQUw6OldlYkdQVTo6
RGV2aWNlSW1wbDo6Y3JlYXRlVGV4dHVyZSk6CisgICAgICAgIChQQUw6OldlYkdQVTo6RGV2aWNl
SW1wbDo6Y3JlYXRlU2hhZGVyTW9kdWxlKToKKyAgICAgICAgKFBBTDo6V2ViR1BVOjpjb252ZXJ0
VG9CYWNraW5nKToKKyAgICAgICAgKFBBTDo6V2ViR1BVOjpEZXZpY2VJbXBsOjpjcmVhdGVSZW5k
ZXJCdW5kbGVFbmNvZGVyKToKKyAgICAgICAgKFBBTDo6V2ViR1BVOjpEZXZpY2VJbXBsOjpjcmVh
dGVRdWVyeVNldCk6CisgICAgICAgICogcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVUlt
cGwuY3BwOgorICAgICAgICAoUEFMOjpXZWJHUFU6OkdQVUltcGw6OnJlcXVlc3RBZGFwdGVyKToK
KyAgICAgICAgKiBwYWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwvV2ViR1BVUmVuZGVyUGFzc0VuY29k
ZXJJbXBsLmNwcDoKKyAgICAgICAgKFBBTDo6V2ViR1BVOjpSZW5kZXJQYXNzRW5jb2RlckltcGw6
OmVuZCk6CisgICAgICAgIChQQUw6OldlYkdQVTo6UmVuZGVyUGFzc0VuY29kZXJJbXBsOjpiZWdp
blBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KTogRGVsZXRlZC4KKyAgICAgICAgKFBBTDo6V2ViR1BV
OjpSZW5kZXJQYXNzRW5jb2RlckltcGw6OmVuZFBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KTogRGVs
ZXRlZC4KKyAgICAgICAgKFBBTDo6V2ViR1BVOjpSZW5kZXJQYXNzRW5jb2RlckltcGw6OmVuZFBh
c3MpOiBEZWxldGVkLgorICAgICAgICAqIHBhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9XZWJHUFVS
ZW5kZXJQYXNzRW5jb2RlckltcGwuaDoKKyAgICAgICAgKiBwYWwvZ3JhcGhpY3MvV2ViR1BVL1dl
YkdQVUJ1ZmZlci5oOgorICAgICAgICAqIHBhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVQ2FudmFz
Q29uZmlndXJhdGlvbi5oOgorICAgICAgICAqIHBhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVQ29t
bWFuZEVuY29kZXIuaDoKKyAgICAgICAgKiBwYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVUNvbXB1
dGVQYXNzRW5jb2Rlci5oOgorICAgICAgICAqIHBhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVRmVh
dHVyZU5hbWUuaDoKKyAgICAgICAgKiBwYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVUZyYWdtZW50
U3RhdGUuaDoKKyAgICAgICAgKiBwYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVUltYWdlQ29weUV4
dGVybmFsSW1hZ2UuaDoKKyAgICAgICAgKiBwYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVUxvYWRP
cC5oOgorICAgICAgICAqIHBhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVUGlwZWxpbmVTdGF0aXN0
aWNOYW1lLmg6IFJlbW92ZWQuCisgICAgICAgICogcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVR
dWVyeVNldERlc2NyaXB0b3IuaDoKKyAgICAgICAgKiBwYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQ
VVF1ZXJ5VHlwZS5oOgorICAgICAgICAqIHBhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVUXVldWUu
aDoKKyAgICAgICAgKiBwYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVJlbmRlclBhc3NDb2xvckF0
dGFjaG1lbnQuaDoKKyAgICAgICAgKiBwYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVJlbmRlclBh
c3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50Lmg6CisgICAgICAgICogcGFsL2dyYXBoaWNzL1dlYkdQ
VS9XZWJHUFVSZW5kZXJQYXNzRGVzY3JpcHRvci5oOgorICAgICAgICAqIHBhbC9ncmFwaGljcy9X
ZWJHUFUvV2ViR1BVUmVuZGVyUGFzc0VuY29kZXIuaDoKKyAgICAgICAgKiBwYWwvZ3JhcGhpY3Mv
V2ViR1BVL1dlYkdQVVJlbmRlclBhc3NMYXlvdXQuaDoKKyAgICAgICAgKiBwYWwvZ3JhcGhpY3Mv
V2ViR1BVL1dlYkdQVVNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludC5oOiBDb3BpZWQgZnJvbSBT
b3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVJbWFnZUNvcHlFeHRl
cm5hbEltYWdlLmguCisgICAgICAgICogcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVTaGFkZXJN
b2R1bGVEZXNjcmlwdG9yLmg6CisgICAgICAgICogcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVU
ZXh0dXJlRGVzY3JpcHRvci5oOgorICAgICAgICAqIHBhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BV
VGV4dHVyZUZvcm1hdC5oOgorCiAyMDIyLTAyLTE1ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlz
dGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgRml4IGludGVybmFsIEJpZyBTdXIgYnVpbGQK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJHUFUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkdQVS9DaGFu
Z2VMb2cKaW5kZXggODFlMzAxNTMzMTM1YTBlMzc3NTM3YTIwNGQ2ZWYzMGU4NjYyNjQyZS4uMzc2
YjgxOGIxZDkzNzlmOTMzYTViNDljN2Q2YzBjMWJhNzFhMWYwZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkdQVS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkdQVS9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSw0NSBAQAorMjAyMi0wMi0xNSAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUu
Y29tPgorCisgICAgICAgIFtXZWJHUFVdIFVwZGF0ZSBJRExzIGFuZCBzdHVicyB0byBsYXRlc3Qg
dmVyc2lvbiBvZiB0aGUgc3BlYworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjM2NjM5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGVhbiBKYWNrc29uLgor
CisgICAgICAgICogV2ViR1BVL0FkYXB0ZXIuaDoKKyAgICAgICAgKiBXZWJHUFUvQWRhcHRlci5t
bToKKyAgICAgICAgKFdlYkdQVTo6QWRhcHRlcjo6ZW51bWVyYXRlRmVhdHVyZXMpOgorICAgICAg
ICAod2dwdUFkYXB0ZXJFbnVtZXJhdGVGZWF0dXJlcyk6CisgICAgICAgIChXZWJHUFU6OkFkYXB0
ZXI6OmdldEZlYXR1cmVBdEluZGV4KTogRGVsZXRlZC4KKyAgICAgICAgKHdncHVBZGFwdGVyR2V0
RmVhdHVyZUF0SW5kZXgpOiBEZWxldGVkLgorICAgICAgICAqIFdlYkdQVS9Db21tYW5kRW5jb2Rl
ci5oOgorICAgICAgICAqIFdlYkdQVS9Db21tYW5kRW5jb2Rlci5tbToKKyAgICAgICAgKFdlYkdQ
VTo6Q29tbWFuZEVuY29kZXI6OmNsZWFyQnVmZmVyKToKKyAgICAgICAgKHdncHVDb21tYW5kRW5j
b2RlckNsZWFyQnVmZmVyKToKKyAgICAgICAgKFdlYkdQVTo6Q29tbWFuZEVuY29kZXI6OmZpbGxC
dWZmZXIpOiBEZWxldGVkLgorICAgICAgICAod2dwdUNvbW1hbmRFbmNvZGVyRmlsbEJ1ZmZlcik6
IERlbGV0ZWQuCisgICAgICAgICogV2ViR1BVL0NvbXB1dGVQYXNzRW5jb2Rlci5oOgorICAgICAg
ICAqIFdlYkdQVS9Db21wdXRlUGFzc0VuY29kZXIubW06CisgICAgICAgIChXZWJHUFU6OkNvbXB1
dGVQYXNzRW5jb2Rlcjo6d3JpdGVUaW1lc3RhbXApOiBEZWxldGVkLgorICAgICAgICAod2dwdUNv
bXB1dGVQYXNzRW5jb2RlcldyaXRlVGltZXN0YW1wKTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJH
UFUvRGV2aWNlLmg6CisgICAgICAgICogV2ViR1BVL0RldmljZS5tbToKKyAgICAgICAgKFdlYkdQ
VTo6RGV2aWNlOjplbnVtZXJhdGVGZWF0dXJlcyk6CisgICAgICAgIChXZWJHUFU6OkRldmljZTo6
aGFzRmVhdHVyZSk6CisgICAgICAgICh3Z3B1RGV2aWNlRW51bWVyYXRlRmVhdHVyZXMpOgorICAg
ICAgICAod2dwdURldmljZUhhc0ZlYXR1cmUpOgorICAgICAgICAqIFdlYkdQVS9JbnN0YW5jZS5t
bToKKyAgICAgICAgKHdncHVHZXRQcm9jQWRkcmVzcyk6CisgICAgICAgICogV2ViR1BVL1JlbmRl
clBhc3NFbmNvZGVyLmg6CisgICAgICAgICogV2ViR1BVL1JlbmRlclBhc3NFbmNvZGVyLm1tOgor
ICAgICAgICAoV2ViR1BVOjpSZW5kZXJQYXNzRW5jb2Rlcjo6d3JpdGVUaW1lc3RhbXApOiBEZWxl
dGVkLgorICAgICAgICAod2dwdVJlbmRlclBhc3NFbmNvZGVyV3JpdGVUaW1lc3RhbXApOiBEZWxl
dGVkLgorICAgICAgICAqIFdlYkdQVS9TaGFkZXJNb2R1bGUuaDoKKyAgICAgICAgKiBXZWJHUFUv
U2hhZGVyTW9kdWxlLm1tOgorICAgICAgICAoV2ViR1BVOjpTaGFkZXJNb2R1bGU6OmdldENvbXBp
bGF0aW9uSW5mbyk6CisgICAgICAgICh3Z3B1U2hhZGVyTW9kdWxlR2V0Q29tcGlsYXRpb25JbmZv
KToKKyAgICAgICAgKiBXZWJHUFUvV2ViR1BVLmg6CisgICAgICAgICogV2ViR1BVL1dlYkdQVUV4
dC5oOgorCiAyMDIyLTAyLTE1ICBSb2JpbiBNb3Jpc3NldCAgPHJtb3Jpc3NldEBhcHBsZS5jb20+
CiAKICAgICAgICAgW1dHU0xdIEltcGxlbWVudCBlbm91Z2ggb2YgdGhlIGxleGVyIGZvciB0aGUg
c2ltcGxlc3Qgc2hhZGVycwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBkOGJkYjE5MWE0NmRiM2UxNGEzMmU4NGY4NGMy
MTMxNWRlNDRkM2Q2Li4wM2E2MmI2YTExM2U5ZTUyM2U5MzRjODE4M2VhYzYyZjc2YzJlODI2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZwpAQCAtMSwzICsxLDEyNCBAQAorMjAyMi0wMi0xNSAgTXlsZXMgQy4gTWF4ZmllbGQg
IDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFtXZWJHUFVdIFVwZGF0ZSBJRExzIGFu
ZCBzdHVicyB0byBsYXRlc3QgdmVyc2lvbiBvZiB0aGUgc3BlYworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM2NjM5CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgRGVhbiBKYWNrc29uLgorCisgICAgICAgICogR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUv
UmVtb3RlQnVmZmVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlQnVmZmVyOjptYXBBc3lu
Yyk6CisgICAgICAgICogR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQnVmZmVyLmg6
CisgICAgICAgICogR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQnVmZmVyLm1lc3Nh
Z2VzLmluOgorICAgICAgICAqIEdQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUNvbW1h
bmRFbmNvZGVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlQ29tbWFuZEVuY29kZXI6OmNs
ZWFyQnVmZmVyKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlQ29tbWFuZEVuY29kZXI6OmZpbGxC
dWZmZXIpOiBEZWxldGVkLgorICAgICAgICAqIEdQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1Jl
bW90ZUNvbW1hbmRFbmNvZGVyLmg6CisgICAgICAgICogR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJH
UFUvUmVtb3RlQ29tbWFuZEVuY29kZXIubWVzc2FnZXMuaW46CisgICAgICAgICogR1BVUHJvY2Vz
cy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQ29tcHV0ZVBhc3NFbmNvZGVyLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6UmVtb3RlQ29tcHV0ZVBhc3NFbmNvZGVyOjpkaXNwYXRjaCk6CisgICAgICAgIChX
ZWJLaXQ6OlJlbW90ZUNvbXB1dGVQYXNzRW5jb2Rlcjo6ZW5kKToKKyAgICAgICAgKFdlYktpdDo6
UmVtb3RlQ29tcHV0ZVBhc3NFbmNvZGVyOjpiZWdpblBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6UmVtb3RlQ29tcHV0ZVBhc3NFbmNvZGVyOjplbmRQ
aXBlbGluZVN0YXRpc3RpY3NRdWVyeSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OlJlbW90
ZUNvbXB1dGVQYXNzRW5jb2Rlcjo6ZW5kUGFzcyk6IERlbGV0ZWQuCisgICAgICAgICogR1BVUHJv
Y2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQ29tcHV0ZVBhc3NFbmNvZGVyLmg6CisgICAgICAg
ICogR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQ29tcHV0ZVBhc3NFbmNvZGVyLm1l
c3NhZ2VzLmluOgorICAgICAgICAqIEdQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZVJl
bmRlclBhc3NFbmNvZGVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlUmVuZGVyUGFzc0Vu
Y29kZXI6OmVuZCk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVJlbmRlclBhc3NFbmNvZGVyOjpi
ZWdpblBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6
UmVtb3RlUmVuZGVyUGFzc0VuY29kZXI6OmVuZFBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KTogRGVs
ZXRlZC4KKyAgICAgICAgKFdlYktpdDo6UmVtb3RlUmVuZGVyUGFzc0VuY29kZXI6OmVuZFBhc3Mp
OiBEZWxldGVkLgorICAgICAgICAqIEdQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZVJl
bmRlclBhc3NFbmNvZGVyLmg6CisgICAgICAgICogR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUv
UmVtb3RlUmVuZGVyUGFzc0VuY29kZXIubWVzc2FnZXMuaW46CisgICAgICAgICogU2hhcmVkL1dl
YkdQVS9XZWJHUFVDYW52YXNDb25maWd1cmF0aW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
R1BVOjpDb252ZXJ0VG9CYWNraW5nQ29udGV4dDo6Y29udmVydFRvQmFja2luZyk6CisgICAgICAg
IChXZWJLaXQ6OldlYkdQVTo6Q29udmVydEZyb21CYWNraW5nQ29udGV4dDo6Y29udmVydEZyb21C
YWNraW5nKToKKyAgICAgICAgKiBTaGFyZWQvV2ViR1BVL1dlYkdQVUNhbnZhc0NvbmZpZ3VyYXRp
b24uaDoKKyAgICAgICAgKFdlYktpdDo6V2ViR1BVOjpDYW52YXNDb25maWd1cmF0aW9uOjplbmNv
ZGUgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJHUFU6OkNhbnZhc0NvbmZpZ3VyYXRpb246
OmRlY29kZSk6CisgICAgICAgICogU2hhcmVkL1dlYkdQVS9XZWJHUFVDb252ZXJ0RnJvbUJhY2tp
bmdDb250ZXh0Lmg6CisgICAgICAgICogU2hhcmVkL1dlYkdQVS9XZWJHUFVDb252ZXJ0VG9CYWNr
aW5nQ29udGV4dC5oOgorICAgICAgICAqIFNoYXJlZC9XZWJHUFUvV2ViR1BVRnJhZ21lbnRTdGF0
ZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkdQVTo6Q29udmVydFRvQmFja2luZ0NvbnRleHQ6
OmNvbnZlcnRUb0JhY2tpbmcpOgorICAgICAgICAoV2ViS2l0OjpXZWJHUFU6OkNvbnZlcnRGcm9t
QmFja2luZ0NvbnRleHQ6OmNvbnZlcnRGcm9tQmFja2luZyk6CisgICAgICAgICogU2hhcmVkL1dl
YkdQVS9XZWJHUFVGcmFnbWVudFN0YXRlLmg6CisgICAgICAgIChXZWJLaXQ6OldlYkdQVTo6RnJh
Z21lbnRTdGF0ZTo6ZGVjb2RlKToKKyAgICAgICAgKiBTaGFyZWQvV2ViR1BVL1dlYkdQVUltYWdl
Q29weUV4dGVybmFsSW1hZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJHUFU6OkNvbnZlcnRU
b0JhY2tpbmdDb250ZXh0Ojpjb252ZXJ0VG9CYWNraW5nKToKKyAgICAgICAgKFdlYktpdDo6V2Vi
R1BVOjpDb252ZXJ0RnJvbUJhY2tpbmdDb250ZXh0Ojpjb252ZXJ0RnJvbUJhY2tpbmcpOgorICAg
ICAgICAqIFNoYXJlZC9XZWJHUFUvV2ViR1BVSW1hZ2VDb3B5RXh0ZXJuYWxJbWFnZS5oOgorICAg
ICAgICAoV2ViS2l0OjpXZWJHUFU6OkltYWdlQ29weUV4dGVybmFsSW1hZ2U6OmVuY29kZSBjb25z
dCk6CisgICAgICAgIChXZWJLaXQ6OldlYkdQVTo6SW1hZ2VDb3B5RXh0ZXJuYWxJbWFnZTo6ZGVj
b2RlKToKKyAgICAgICAgKiBTaGFyZWQvV2ViR1BVL1dlYkdQVUltYWdlQ29weVRleHR1cmUuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpXZWJHUFU6OkNvbnZlcnRUb0JhY2tpbmdDb250ZXh0Ojpjb252
ZXJ0VG9CYWNraW5nKToKKyAgICAgICAgKFdlYktpdDo6V2ViR1BVOjpDb252ZXJ0RnJvbUJhY2tp
bmdDb250ZXh0Ojpjb252ZXJ0RnJvbUJhY2tpbmcpOgorICAgICAgICAqIFNoYXJlZC9XZWJHUFUv
V2ViR1BVUXVlcnlTZXREZXNjcmlwdG9yLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViR1BVOjpD
b252ZXJ0VG9CYWNraW5nQ29udGV4dDo6Y29udmVydFRvQmFja2luZyk6CisgICAgICAgIChXZWJL
aXQ6OldlYkdQVTo6Q29udmVydEZyb21CYWNraW5nQ29udGV4dDo6Y29udmVydEZyb21CYWNraW5n
KToKKyAgICAgICAgKiBTaGFyZWQvV2ViR1BVL1dlYkdQVVF1ZXJ5U2V0RGVzY3JpcHRvci5oOgor
ICAgICAgICAoV2ViS2l0OjpXZWJHUFU6OlF1ZXJ5U2V0RGVzY3JpcHRvcjo6ZW5jb2RlIGNvbnN0
KToKKyAgICAgICAgKFdlYktpdDo6V2ViR1BVOjpRdWVyeVNldERlc2NyaXB0b3I6OmRlY29kZSk6
CisgICAgICAgICogU2hhcmVkL1dlYkdQVS9XZWJHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViR1BVOjpDb252ZXJ0VG9CYWNraW5nQ29udGV4dDo6
Y29udmVydFRvQmFja2luZyk6CisgICAgICAgIChXZWJLaXQ6OldlYkdQVTo6Q29udmVydEZyb21C
YWNraW5nQ29udGV4dDo6Y29udmVydEZyb21CYWNraW5nKToKKyAgICAgICAgKiBTaGFyZWQvV2Vi
R1BVL1dlYkdQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQuaDoKKyAgICAgICAgKFdlYktpdDo6
V2ViR1BVOjpSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50OjplbmNvZGUgY29uc3QpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJHUFU6OlJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQ6OmRlY29kZSk6Cisg
ICAgICAgICogU2hhcmVkL1dlYkdQVS9XZWJHUFVSZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNo
bWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkdQVTo6Q29udmVydFRvQmFja2luZ0NvbnRl
eHQ6OmNvbnZlcnRUb0JhY2tpbmcpOgorICAgICAgICAoV2ViS2l0OjpXZWJHUFU6OkNvbnZlcnRG
cm9tQmFja2luZ0NvbnRleHQ6OmNvbnZlcnRGcm9tQmFja2luZyk6CisgICAgICAgICogU2hhcmVk
L1dlYkdQVS9XZWJHUFVSZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNobWVudC5oOgorICAgICAg
ICAoV2ViS2l0OjpXZWJHUFU6OlJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50OjplbmNv
ZGUgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJHUFU6OlJlbmRlclBhc3NEZXB0aFN0ZW5j
aWxBdHRhY2htZW50OjpkZWNvZGUpOgorICAgICAgICAqIFNoYXJlZC9XZWJHUFUvV2ViR1BVUmVu
ZGVyUGFzc0Rlc2NyaXB0b3IuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJHUFU6OkNvbnZlcnRU
b0JhY2tpbmdDb250ZXh0Ojpjb252ZXJ0VG9CYWNraW5nKToKKyAgICAgICAgKFdlYktpdDo6V2Vi
R1BVOjpDb252ZXJ0RnJvbUJhY2tpbmdDb250ZXh0Ojpjb252ZXJ0RnJvbUJhY2tpbmcpOgorICAg
ICAgICAqIFNoYXJlZC9XZWJHUFUvV2ViR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IuaDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViR1BVOjpSZW5kZXJQYXNzRGVzY3JpcHRvcjo6ZGVjb2RlKToKKyAgICAg
ICAgKiBTaGFyZWQvV2ViR1BVL1dlYkdQVVJlbmRlclBhc3NMYXlvdXQuaDoKKyAgICAgICAgKFdl
YktpdDo6V2ViR1BVOjpSZW5kZXJQYXNzTGF5b3V0OjpkZWNvZGUpOgorICAgICAgICAqIFNoYXJl
ZC9XZWJHUFUvV2ViR1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50LmNwcDogQ29waWVkIGZy
b20gU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVVNoYWRlck1vZHVsZURlc2NyaXB0
b3IuY3BwLgorICAgICAgICAoV2ViS2l0OjpXZWJHUFU6OkNvbnZlcnRUb0JhY2tpbmdDb250ZXh0
Ojpjb252ZXJ0VG9CYWNraW5nKToKKyAgICAgICAgKFdlYktpdDo6V2ViR1BVOjpDb252ZXJ0RnJv
bUJhY2tpbmdDb250ZXh0Ojpjb252ZXJ0RnJvbUJhY2tpbmcpOgorICAgICAgICAqIFNoYXJlZC9X
ZWJHUFUvV2ViR1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50Lmg6IENvcGllZCBmcm9tIFNv
dXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVJbWFnZUNvcHlFeHRlcm5hbEltYWdlLmgu
CisgICAgICAgIChXZWJLaXQ6OldlYkdQVTo6U2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50Ojpl
bmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJHUFU6OlNoYWRlck1vZHVsZUNvbXBp
bGF0aW9uSGludDo6ZGVjb2RlKToKKyAgICAgICAgKiBTaGFyZWQvV2ViR1BVL1dlYkdQVVNoYWRl
ck1vZHVsZURlc2NyaXB0b3IuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJHUFU6OkNvbnZlcnRU
b0JhY2tpbmdDb250ZXh0Ojpjb252ZXJ0VG9CYWNraW5nKToKKyAgICAgICAgKFdlYktpdDo6V2Vi
R1BVOjpDb252ZXJ0RnJvbUJhY2tpbmdDb250ZXh0Ojpjb252ZXJ0RnJvbUJhY2tpbmcpOgorICAg
ICAgICAqIFNoYXJlZC9XZWJHUFUvV2ViR1BVU2hhZGVyTW9kdWxlRGVzY3JpcHRvci5oOgorICAg
ICAgICAoV2ViS2l0OjpXZWJHUFU6OlNoYWRlck1vZHVsZURlc2NyaXB0b3I6OmVuY29kZSBjb25z
dCk6CisgICAgICAgIChXZWJLaXQ6OldlYkdQVTo6U2hhZGVyTW9kdWxlRGVzY3JpcHRvcjo6ZGVj
b2RlKToKKyAgICAgICAgKiBTaGFyZWQvV2ViR1BVL1dlYkdQVVRleHR1cmVEZXNjcmlwdG9yLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6V2ViR1BVOjpDb252ZXJ0VG9CYWNraW5nQ29udGV4dDo6Y29u
dmVydFRvQmFja2luZyk6CisgICAgICAgIChXZWJLaXQ6OldlYkdQVTo6Q29udmVydEZyb21CYWNr
aW5nQ29udGV4dDo6Y29udmVydEZyb21CYWNraW5nKToKKyAgICAgICAgKiBTaGFyZWQvV2ViR1BV
L1dlYkdQVVRleHR1cmVEZXNjcmlwdG9yLmg6CisgICAgICAgIChXZWJLaXQ6OldlYkdQVTo6VGV4
dHVyZURlc2NyaXB0b3I6OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OldlYkdQVTo6
VGV4dHVyZURlc2NyaXB0b3I6OmRlY29kZSk6CisgICAgICAgICogU291cmNlcy50eHQ6CisgICAg
ICAgICogV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9HUFUvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUJ1ZmZlclByb3h5LmNwcDoKKyAgICAgICAg
KFdlYktpdDo6V2ViR1BVOjpSZW1vdGVCdWZmZXJQcm94eTo6bWFwQXN5bmMpOgorICAgICAgICAo
V2ViS2l0OjpXZWJHUFU6OlJlbW90ZUJ1ZmZlclByb3h5OjpnZXRNYXBwZWRSYW5nZSk6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUJ1ZmZlclByb3h5Lmg6
CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUNvbW1hbmRF
bmNvZGVyUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJHUFU6OlJlbW90ZUNvbW1hbmRF
bmNvZGVyUHJveHk6OmNsZWFyQnVmZmVyKToKKyAgICAgICAgKFdlYktpdDo6V2ViR1BVOjpSZW1v
dGVDb21tYW5kRW5jb2RlclByb3h5OjpmaWxsQnVmZmVyKTogRGVsZXRlZC4KKyAgICAgICAgKiBX
ZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQ29tbWFuZEVuY29kZXJQcm94eS5o
OgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVDb21wdXRl
UGFzc0VuY29kZXJQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkdQVTo6UmVtb3RlQ29t
cHV0ZVBhc3NFbmNvZGVyUHJveHk6OmRpc3BhdGNoKToKKyAgICAgICAgKFdlYktpdDo6V2ViR1BV
OjpSZW1vdGVDb21wdXRlUGFzc0VuY29kZXJQcm94eTo6ZW5kKToKKyAgICAgICAgKFdlYktpdDo6
V2ViR1BVOjpSZW1vdGVDb21wdXRlUGFzc0VuY29kZXJQcm94eTo6YmVnaW5QaXBlbGluZVN0YXRp
c3RpY3NRdWVyeSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OldlYkdQVTo6UmVtb3RlQ29t
cHV0ZVBhc3NFbmNvZGVyUHJveHk6OmVuZFBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KTogRGVsZXRl
ZC4KKyAgICAgICAgKFdlYktpdDo6V2ViR1BVOjpSZW1vdGVDb21wdXRlUGFzc0VuY29kZXJQcm94
eTo6ZW5kUGFzcyk6IERlbGV0ZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3Mv
V2ViR1BVL1JlbW90ZUNvbXB1dGVQYXNzRW5jb2RlclByb3h5Lmg6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9HUFUvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZVF1ZXVlUHJveHkuaDoKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9XZWJHUFUvUmVtb3RlUmVuZGVyUGFzc0VuY29kZXJQcm94
eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkdQVTo6UmVtb3RlUmVuZGVyUGFzc0VuY29kZXJQ
cm94eTo6ZW5kKToKKyAgICAgICAgKFdlYktpdDo6V2ViR1BVOjpSZW1vdGVSZW5kZXJQYXNzRW5j
b2RlclByb3h5OjpiZWdpblBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYktpdDo6V2ViR1BVOjpSZW1vdGVSZW5kZXJQYXNzRW5jb2RlclByb3h5OjplbmRQaXBl
bGluZVN0YXRpc3RpY3NRdWVyeSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OldlYkdQVTo6
UmVtb3RlUmVuZGVyUGFzc0VuY29kZXJQcm94eTo6ZW5kUGFzcyk6IERlbGV0ZWQuCisgICAgICAg
ICogV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZVJlbmRlclBhc3NFbmNvZGVy
UHJveHkuaDoKKwogMjAyMi0wMi0xNSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgog
CiAgICAgICAgIERvIHByZWxpbWluYXJ5IHdvcmsgdG8gcGFzcyBkb21haW4gbmFtZXMgdG8gQ29y
ZUxvY2F0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1Nv
dXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDFkNjgwMTUwZWJmOWMxMTE5YmM5NWU2
MTE3NzBlZTMzNTMwMmQwMmYuLjc4YzZkMmJhOTZmZjczZDE5Y2FlMjVlOTU2MTE2NWYzZjI3NWYy
YzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJj
ZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0xNTI4LDYgKzE1MjgsNyBAQCBsaXN0KEFQUEVO
RCBXZWJDb3JlX05PTl9TVkdfSURMX0ZJTEVTCiAgICAgTW9kdWxlcy9XZWJHUFUvR1BVQ29tbWFu
ZEJ1ZmZlckRlc2NyaXB0b3IuaWRsCiAgICAgTW9kdWxlcy9XZWJHUFUvR1BVQ29tbWFuZEVuY29k
ZXIuaWRsCiAgICAgTW9kdWxlcy9XZWJHUFUvR1BVQ29tbWFuZEVuY29kZXJEZXNjcmlwdG9yLmlk
bAorICAgIE1vZHVsZXMvV2ViR1BVL0dQVUNvbW1hbmRzTWl4aW4uaWRsCiAgICAgTW9kdWxlcy9X
ZWJHUFUvR1BVQ29tcGFyZUZ1bmN0aW9uLmlkbAogICAgIE1vZHVsZXMvV2ViR1BVL0dQVUNvbXBp
bGF0aW9uSW5mby5pZGwKICAgICBNb2R1bGVzL1dlYkdQVS9HUFVDb21waWxhdGlvbk1lc3NhZ2Uu
aWRsCkBAIC0xNTM5LDYgKzE1NDAsNyBAQCBsaXN0KEFQUEVORCBXZWJDb3JlX05PTl9TVkdfSURM
X0ZJTEVTCiAgICAgTW9kdWxlcy9XZWJHUFUvR1BVQ29tcHV0ZVBpcGVsaW5lLmlkbAogICAgIE1v
ZHVsZXMvV2ViR1BVL0dQVUNvbXB1dGVQaXBlbGluZURlc2NyaXB0b3IuaWRsCiAgICAgTW9kdWxl
cy9XZWJHUFUvR1BVQ3VsbE1vZGUuaWRsCisgICAgTW9kdWxlcy9XZWJHUFUvR1BVRGVidWdDb21t
YW5kc01peGluLmlkbAogICAgIE1vZHVsZXMvV2ViR1BVL0dQVURlcHRoU3RlbmNpbFN0YXRlLmlk
bAogICAgIE1vZHVsZXMvV2ViR1BVL0dQVURldmljZS5pZGwKICAgICBNb2R1bGVzL1dlYkdQVS9H
UFVEZXZpY2VEZXNjcmlwdG9yLmlkbApAQCAtMTU3NCw3ICsxNTc2LDYgQEAgbGlzdChBUFBFTkQg
V2ViQ29yZV9OT05fU1ZHX0lETF9GSUxFUwogICAgIE1vZHVsZXMvV2ViR1BVL0dQVVBpcGVsaW5l
RGVzY3JpcHRvckJhc2UuaWRsCiAgICAgTW9kdWxlcy9XZWJHUFUvR1BVUGlwZWxpbmVMYXlvdXQu
aWRsCiAgICAgTW9kdWxlcy9XZWJHUFUvR1BVUGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yLmlkbAot
ICAgIE1vZHVsZXMvV2ViR1BVL0dQVVBpcGVsaW5lU3RhdGlzdGljTmFtZS5pZGwKICAgICBNb2R1
bGVzL1dlYkdQVS9HUFVQb3dlclByZWZlcmVuY2UuaWRsCiAgICAgTW9kdWxlcy9XZWJHUFUvR1BV
UHJlZGVmaW5lZENvbG9yU3BhY2UuaWRsCiAgICAgTW9kdWxlcy9XZWJHUFUvR1BVUHJpbWl0aXZl
U3RhdGUuaWRsCkBAIC0xNjA1LDYgKzE2MDYsNyBAQCBsaXN0KEFQUEVORCBXZWJDb3JlX05PTl9T
VkdfSURMX0ZJTEVTCiAgICAgTW9kdWxlcy9XZWJHUFUvR1BVU2FtcGxlckJpbmRpbmdUeXBlLmlk
bAogICAgIE1vZHVsZXMvV2ViR1BVL0dQVVNhbXBsZXJEZXNjcmlwdG9yLmlkbAogICAgIE1vZHVs
ZXMvV2ViR1BVL0dQVVNoYWRlck1vZHVsZS5pZGwKKyAgICBNb2R1bGVzL1dlYkdQVS9HUFVTaGFk
ZXJNb2R1bGVDb21waWxhdGlvbkhpbnQuaWRsCiAgICAgTW9kdWxlcy9XZWJHUFUvR1BVU2hhZGVy
TW9kdWxlRGVzY3JpcHRvci5pZGwKICAgICBNb2R1bGVzL1dlYkdQVS9HUFVTaGFkZXJTdGFnZS5p
ZGwKICAgICBNb2R1bGVzL1dlYkdQVS9HUFVTdGVuY2lsRmFjZVN0YXRlLmlkbApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdCBiL1NvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKaW5kZXggYTgwY2UxMzMy
MGVlNWEyMzlkNjNkNzJmZTI0ZWZjM2RkNjg4ZmIwMC4uNmJlN2Y0ZjA4MzE4YWVhOGE1YWUyMTMz
YjFlMmZiMTNmNGMxM2JjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMtaW5wdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1p
bnB1dC54Y2ZpbGVsaXN0CkBAIC02Myw2ICs2Myw3IEBAICQoUFJPSkVDVF9ESVIpL01vZHVsZXMv
V2ViR1BVL0dQVUNvbW1hbmRCdWZmZXIuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL1dlYkdQ
VS9HUFVDb21tYW5kQnVmZmVyRGVzY3JpcHRvci5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMv
V2ViR1BVL0dQVUNvbW1hbmRFbmNvZGVyLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9XZWJH
UFUvR1BVQ29tbWFuZEVuY29kZXJEZXNjcmlwdG9yLmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxl
cy9XZWJHUFUvR1BVQ29tbWFuZHNNaXhpbi5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvV2Vi
R1BVL0dQVUNvbXBhcmVGdW5jdGlvbi5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvV2ViR1BV
L0dQVUNvbXBpbGF0aW9uSW5mby5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvV2ViR1BVL0dQ
VUNvbXBpbGF0aW9uTWVzc2FnZS5pZGwKQEAgLTc0LDYgKzc1LDcgQEAgJChQUk9KRUNUX0RJUikv
TW9kdWxlcy9XZWJHUFUvR1BVQ29tcHV0ZVBhc3NUaW1lc3RhbXBXcml0ZS5pZGwKICQoUFJPSkVD
VF9ESVIpL01vZHVsZXMvV2ViR1BVL0dQVUNvbXB1dGVQaXBlbGluZS5pZGwKICQoUFJPSkVDVF9E
SVIpL01vZHVsZXMvV2ViR1BVL0dQVUNvbXB1dGVQaXBlbGluZURlc2NyaXB0b3IuaWRsCiAkKFBS
T0pFQ1RfRElSKS9Nb2R1bGVzL1dlYkdQVS9HUFVDdWxsTW9kZS5pZGwKKyQoUFJPSkVDVF9ESVIp
L01vZHVsZXMvV2ViR1BVL0dQVURlYnVnQ29tbWFuZHNNaXhpbi5pZGwKICQoUFJPSkVDVF9ESVIp
L01vZHVsZXMvV2ViR1BVL0dQVURlcHRoU3RlbmNpbFN0YXRlLmlkbAogJChQUk9KRUNUX0RJUikv
TW9kdWxlcy9XZWJHUFUvR1BVRGV2aWNlLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9XZWJH
UFUvR1BVRGV2aWNlRGVzY3JpcHRvci5pZGwKQEAgLTEwOSw3ICsxMTEsNiBAQCAkKFBST0pFQ1Rf
RElSKS9Nb2R1bGVzL1dlYkdQVS9HUFVQaXBlbGluZUJhc2UuaWRsCiAkKFBST0pFQ1RfRElSKS9N
b2R1bGVzL1dlYkdQVS9HUFVQaXBlbGluZURlc2NyaXB0b3JCYXNlLmlkbAogJChQUk9KRUNUX0RJ
UikvTW9kdWxlcy9XZWJHUFUvR1BVUGlwZWxpbmVMYXlvdXQuaWRsCiAkKFBST0pFQ1RfRElSKS9N
b2R1bGVzL1dlYkdQVS9HUFVQaXBlbGluZUxheW91dERlc2NyaXB0b3IuaWRsCi0kKFBST0pFQ1Rf
RElSKS9Nb2R1bGVzL1dlYkdQVS9HUFVQaXBlbGluZVN0YXRpc3RpY05hbWUuaWRsCiAkKFBST0pF
Q1RfRElSKS9Nb2R1bGVzL1dlYkdQVS9HUFVQb3dlclByZWZlcmVuY2UuaWRsCiAkKFBST0pFQ1Rf
RElSKS9Nb2R1bGVzL1dlYkdQVS9HUFVQcmVkZWZpbmVkQ29sb3JTcGFjZS5pZGwKICQoUFJPSkVD
VF9ESVIpL01vZHVsZXMvV2ViR1BVL0dQVVByaW1pdGl2ZVN0YXRlLmlkbApAQCAtMTQwLDYgKzE0
MSw3IEBAICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvV2ViR1BVL0dQVVNhbXBsZXJCaW5kaW5nTGF5
b3V0LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9XZWJHUFUvR1BVU2FtcGxlckJpbmRpbmdU
eXBlLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9XZWJHUFUvR1BVU2FtcGxlckRlc2NyaXB0
b3IuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL1dlYkdQVS9HUFVTaGFkZXJNb2R1bGUuaWRs
CiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL1dlYkdQVS9HUFVTaGFkZXJNb2R1bGVDb21waWxhdGlv
bkhpbnQuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL1dlYkdQVS9HUFVTaGFkZXJNb2R1bGVE
ZXNjcmlwdG9yLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9XZWJHUFUvR1BVU2hhZGVyU3Rh
Z2UuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL1dlYkdQVS9HUFVTaXplNjQuaWRsCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdCBi
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CmluZGV4IGZh
ZjFkOWY4ODg4ODRjOTM0Y2I0YmVmMDBiMTExZTdmYjIzNzBhNzIuLmRiY2I5ZjZkOTU1YTg3ZTBl
YWVhNDkzYzFlMTFkZTU5MzFmZWUzNzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CkBAIC05NDEsNiArOTQxLDggQEAgJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVDb21tYW5kRW5jb2Rlci5jcHAK
ICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVQ29tbWFu
ZEVuY29kZXIuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNHUFVDb21tYW5kRW5jb2RlckRlc2NyaXB0b3IuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVUNvbW1hbmRFbmNvZGVyRGVzY3JpcHRvci5oCisk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVUNvbW1hbmRz
TWl4aW4uY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U0dQVUNvbW1hbmRzTWl4aW4uaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNHUFVDb21wYXJlRnVuY3Rpb24uY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVUNvbXBhcmVGdW5jdGlvbi5oCiAkKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVUNvbXBpbGF0aW9uSW5mby5j
cHAKQEAgLTk2Myw2ICs5NjUsOCBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU0dQVUNvbXB1dGVQaXBlbGluZURlc2NyaXB0b3IuY3BwCiAkKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVUNvbXB1dGVQaXBlbGluZURl
c2NyaXB0b3IuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNHUFVDdWxsTW9kZS5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTR1BVQ3VsbE1vZGUuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNHUFVEZWJ1Z0NvbW1hbmRzTWl4aW4uY3BwCiskKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVURlYnVnQ29tbWFuZHNNaXhpbi5oCiAk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVURlcHRoU3Rl
bmNpbFN0YXRlLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNHUFVEZXB0aFN0ZW5jaWxTdGF0ZS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU0dQVURldmljZS5jcHAKQEAgLTEwMzMsOCArMTAzNyw2IEBAICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVUGlwZWxpbmVM
YXlvdXQuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U0dQVVBpcGVsaW5lTGF5b3V0LmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTR1BVUGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yLmNwcAogJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVQaXBlbGluZUxheW91dERlc2Ny
aXB0b3IuaAotJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNH
UFVQaXBlbGluZVN0YXRpc3RpY05hbWUuY3BwCi0kKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU0dQVVBpcGVsaW5lU3RhdGlzdGljTmFtZS5oCiAkKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVVBvd2VyUHJlZmVyZW5jZS5j
cHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVUG93
ZXJQcmVmZXJlbmNlLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTR1BVUHJlZGVmaW5lZENvbG9yU3BhY2UuY3BwCkBAIC0xMDk1LDYgKzEwOTcsOCBAQCAk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVVNhbXBsZXJE
ZXNjcmlwdG9yLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNHUFVTYW1wbGVyRGVzY3JpcHRvci5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU0dQVVNoYWRlck1vZHVsZS5jcHAKICQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVU2hhZGVyTW9kdWxlLmgKKyQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR1BVU2hhZGVyTW9kdWxlQ29t
cGlsYXRpb25IaW50LmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNHUFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQuaAogJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVTaGFkZXJNb2R1bGVEZXNjcmlwdG9y
LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVT
aGFkZXJNb2R1bGVEZXNjcmlwdG9yLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTR1BVU2hhZGVyU3RhZ2UuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
bWFrZQppbmRleCAyMWE2NWI5MzEzYWU3YzUzYmIxNTgwNDNmNTQ3M2QyOWJkZjAyNzBlLi44N2Ri
YTc5ODc4ZWZiY2VjNTAwMTU5MDVjZGM3ZWY2MzBlZDRkM2NlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLm1ha2UKQEAgLTEsNCArMSw0IEBACi0jIENvcHlyaWdodCAoQykgMjAwNi0yMDIxIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMgQ29weXJpZ2h0IChDKSAyMDA2LTIwMjIg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogIyBDb3B5cmlnaHQgKEMpIDIwMDYgU2Ft
dWVsIFdlaW5pZyA8c2FtLndlaW5pZ0BnbWFpbC5jb20+CiAjIENvcHlyaWdodCAoQykgMjAwOSBD
YW1lcm9uIE1jQ29ybWFjayA8Y2FtQG1jYy5pZC5hdT4KICMKQEAgLTg2LDYgKzg2LDcgQEAgSlNf
QklORElOR19JRExTIDo9IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvV2ViR1BVL0dQVUNvbW1h
bmRCdWZmZXJEZXNjcmlwdG9yLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL1dlYkdQVS9H
UFVDb21tYW5kRW5jb2Rlci5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9XZWJHUFUvR1BV
Q29tbWFuZEVuY29kZXJEZXNjcmlwdG9yLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL1dl
YkdQVS9HUFVDb21tYW5kc01peGluLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL1dlYkdQ
VS9HUFVDb21wYXJlRnVuY3Rpb24uaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvV2ViR1BV
L0dQVUNvbXBpbGF0aW9uSW5mby5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9XZWJHUFUv
R1BVQ29tcGlsYXRpb25NZXNzYWdlLmlkbCBcCkBAIC05Nyw2ICs5OCw3IEBAIEpTX0JJTkRJTkdf
SURMUyA6PSBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21wdXRlUGlwZWxp
bmUuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvV2ViR1BVL0dQVUNvbXB1dGVQaXBlbGlu
ZURlc2NyaXB0b3IuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvV2ViR1BVL0dQVUN1bGxN
b2RlLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL1dlYkdQVS9HUFVEZWJ1Z0NvbW1hbmRz
TWl4aW4uaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvV2ViR1BVL0dQVURlcHRoU3RlbmNp
bFN0YXRlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL1dlYkdQVS9HUFVEZXZpY2UuaWRs
IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvV2ViR1BVL0dQVURldmljZURlc2NyaXB0b3IuaWRs
IFwKQEAgLTEzMiw3ICsxMzQsNiBAQCBKU19CSU5ESU5HX0lETFMgOj0gXAogICAgICQoV2ViQ29y
ZSkvTW9kdWxlcy9XZWJHUFUvR1BVUGlwZWxpbmVEZXNjcmlwdG9yQmFzZS5pZGwgXAogICAgICQo
V2ViQ29yZSkvTW9kdWxlcy9XZWJHUFUvR1BVUGlwZWxpbmVMYXlvdXQuaWRsIFwKICAgICAkKFdl
YkNvcmUpL01vZHVsZXMvV2ViR1BVL0dQVVBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvci5pZGwgXAot
ICAgICQoV2ViQ29yZSkvTW9kdWxlcy9XZWJHUFUvR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lLmlk
bCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL1dlYkdQVS9HUFVQb3dlclByZWZlcmVuY2UuaWRs
IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvV2ViR1BVL0dQVVByZWRlZmluZWRDb2xvclNwYWNl
LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL1dlYkdQVS9HUFVQcmltaXRpdmVTdGF0ZS5p
ZGwgXApAQCAtMTYzLDYgKzE2NCw3IEBAIEpTX0JJTkRJTkdfSURMUyA6PSBcCiAgICAgJChXZWJD
b3JlKS9Nb2R1bGVzL1dlYkdQVS9HUFVTYW1wbGVyQmluZGluZ1R5cGUuaWRsIFwKICAgICAkKFdl
YkNvcmUpL01vZHVsZXMvV2ViR1BVL0dQVVNhbXBsZXJEZXNjcmlwdG9yLmlkbCBcCiAgICAgJChX
ZWJDb3JlKS9Nb2R1bGVzL1dlYkdQVS9HUFVTaGFkZXJNb2R1bGUuaWRsIFwKKyAgICAkKFdlYkNv
cmUpL01vZHVsZXMvV2ViR1BVL0dQVVNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludC5pZGwgXAog
ICAgICQoV2ViQ29yZSkvTW9kdWxlcy9XZWJHUFUvR1BVU2hhZGVyTW9kdWxlRGVzY3JpcHRvci5p
ZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9XZWJHUFUvR1BVU2hhZGVyU3RhZ2UuaWRsIFwK
ICAgICAkKFdlYkNvcmUpL01vZHVsZXMvV2ViR1BVL0dQVVN0ZW5jaWxGYWNlU3RhdGUuaWRsIFwK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UgYi9Tb3VyY2UvV2ViQ29y
ZS9IZWFkZXJzLmNtYWtlCmluZGV4IGFjNzQ2YTllNWVmNWI0YTRkMGRmY2ZhNGRjMWE0NWI5MWRj
NTQyZWEuLmZlYTE0OTBlOWRhMDFkMmEyZTg2NjJlYmUyM2JmMjc1OTY1OWI2YTcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvSGVh
ZGVycy5jbWFrZQpAQCAtNzEsNyArNzEsNiBAQCBzZXQoV2ViQ29yZV9QUklWQVRFX0ZSQU1FV09S
S19IRUFERVJTCiAgICAgTW9kdWxlcy9XZWJHUFUvR1BVUGlwZWxpbmVEZXNjcmlwdG9yQmFzZS5o
CiAgICAgTW9kdWxlcy9XZWJHUFUvR1BVUGlwZWxpbmVMYXlvdXQuaAogICAgIE1vZHVsZXMvV2Vi
R1BVL0dQVVBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvci5oCi0gICAgTW9kdWxlcy9XZWJHUFUvR1BV
UGlwZWxpbmVTdGF0aXN0aWNOYW1lLmgKICAgICBNb2R1bGVzL1dlYkdQVS9HUFVQb3dlclByZWZl
cmVuY2UuaAogICAgIE1vZHVsZXMvV2ViR1BVL0dQVVByZWRlZmluZWRDb2xvclNwYWNlLmgKICAg
ICBNb2R1bGVzL1dlYkdQVS9HUFVQcmltaXRpdmVTdGF0ZS5oCkBAIC0xMDAsNiArOTksNyBAQCBz
ZXQoV2ViQ29yZV9QUklWQVRFX0ZSQU1FV09SS19IRUFERVJTCiAgICAgTW9kdWxlcy9XZWJHUFUv
R1BVU2FtcGxlckJpbmRpbmdUeXBlLmgKICAgICBNb2R1bGVzL1dlYkdQVS9HUFVTYW1wbGVyRGVz
Y3JpcHRvci5oCiAgICAgTW9kdWxlcy9XZWJHUFUvR1BVU2hhZGVyTW9kdWxlLmgKKyAgICBNb2R1
bGVzL1dlYkdQVS9HUFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQuaAogICAgIE1vZHVsZXMv
V2ViR1BVL0dQVVNoYWRlck1vZHVsZURlc2NyaXB0b3IuaAogICAgIE1vZHVsZXMvV2ViR1BVL0dQ
VVNoYWRlclN0YWdlLmgKICAgICBNb2R1bGVzL1dlYkdQVS9HUFVTdGVuY2lsRmFjZVN0YXRlLmgK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUJ1ZmZlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVCdWZmZXIuY3BwCmluZGV4IDdmZDQ4
NTcyYTllNTczYzk5YjAzZmIzMzI4YjI0ZDk2NDFjMjc0OTcuLjVjYzMxM2ExZTRjZGI5YzM1MTdm
ZmVjNTUxMDBlMzliYjhmMjU3M2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
V2ViR1BVL0dQVUJ1ZmZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUv
R1BVQnVmZmVyLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMjEg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDIxLTIw
MjIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCkBAIC0zOCwxNCArMzgsMTQgQEAgdm9pZCBHUFVCdWZmZXI6OnNldExhYmVsKFN0
cmluZyYmIGxhYmVsKQogICAgIG1fYmFja2luZy0+c2V0TGFiZWwoV1RGTW92ZShsYWJlbCkpOwog
fQogCi12b2lkIEdQVUJ1ZmZlcjo6bWFwQXN5bmMoR1BVTWFwTW9kZUZsYWdzIG1vZGUsIHN0ZDo6
b3B0aW9uYWw8R1BVU2l6ZTY0PiBvZmZzZXQsIHN0ZDo6b3B0aW9uYWw8R1BVU2l6ZTY0PiBzaXpl
LCBNYXBBc3luY1Byb21pc2UmJiBwcm9taXNlKQordm9pZCBHUFVCdWZmZXI6Om1hcEFzeW5jKEdQ
VU1hcE1vZGVGbGFncyBtb2RlLCBHUFVTaXplNjQgb2Zmc2V0LCBzdGQ6Om9wdGlvbmFsPEdQVVNp
emU2ND4gc2l6ZSwgTWFwQXN5bmNQcm9taXNlJiYgcHJvbWlzZSkKIHsKICAgICBtX2JhY2tpbmct
Pm1hcEFzeW5jKGNvbnZlcnRNYXBNb2RlRmxhZ3NUb0JhY2tpbmcobW9kZSksIG9mZnNldCwgc2l6
ZSwgW3Byb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpXSAoKSBtdXRhYmxlIHsKICAgICAgICAgcHJv
bWlzZS5yZXNvbHZlKG51bGxwdHIpOwogICAgIH0pOwogfQogCi1SZWY8SlNDOjpBcnJheUJ1ZmZl
cj4gR1BVQnVmZmVyOjpnZXRNYXBwZWRSYW5nZShzdGQ6Om9wdGlvbmFsPEdQVVNpemU2ND4gb2Zm
c2V0LCBzdGQ6Om9wdGlvbmFsPEdQVVNpemU2ND4gc2l6ZSkKK1JlZjxKU0M6OkFycmF5QnVmZmVy
PiBHUFVCdWZmZXI6OmdldE1hcHBlZFJhbmdlKEdQVVNpemU2NCBvZmZzZXQsIHN0ZDo6b3B0aW9u
YWw8R1BVU2l6ZTY0PiBzaXplKQogewogICAgIGF1dG8gbWFwcGVkUmFuZ2UgPSBtX2JhY2tpbmct
PmdldE1hcHBlZFJhbmdlKG9mZnNldCwgc2l6ZSk7CiAgICAgcmV0dXJuIEFycmF5QnVmZmVyOjpj
cmVhdGUobWFwcGVkUmFuZ2Uuc291cmNlLCBtYXBwZWRSYW5nZS5ieXRlTGVuZ3RoKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUJ1ZmZlci5oIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQnVmZmVyLmgKaW5kZXggYzYyOGNjMDY3YzA0MzEw
MzBjOTZmNWM5MTZkMWNiOTJhODAwNzdkZS4uODJmOTJlNDlhNTdlNGU3NThmODY1YTMwZmViZmY3
MGNjZWEyYjE2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BV
QnVmZmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQnVmZmVyLmgK
QEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAyMS0yMDIyIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAt
NDksOCArNDksOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRMYWJlbChTdHJpbmcmJik7CiAKICAg
ICB1c2luZyBNYXBBc3luY1Byb21pc2UgPSBET01Qcm9taXNlRGVmZXJyZWQ8SURMTnVsbD47Ci0g
ICAgdm9pZCBtYXBBc3luYyhHUFVNYXBNb2RlRmxhZ3MsIHN0ZDo6b3B0aW9uYWw8R1BVU2l6ZTY0
PiBvZmZzZXQsIHN0ZDo6b3B0aW9uYWw8R1BVU2l6ZTY0PiBzaXplRm9yTWFwLCBNYXBBc3luY1By
b21pc2UmJik7Ci0gICAgUmVmPEpTQzo6QXJyYXlCdWZmZXI+IGdldE1hcHBlZFJhbmdlKHN0ZDo6
b3B0aW9uYWw8R1BVU2l6ZTY0PiBvZmZzZXQsIHN0ZDo6b3B0aW9uYWw8R1BVU2l6ZTY0PiByYW5n
ZVNpemUpOworICAgIHZvaWQgbWFwQXN5bmMoR1BVTWFwTW9kZUZsYWdzLCBHUFVTaXplNjQgb2Zm
c2V0LCBzdGQ6Om9wdGlvbmFsPEdQVVNpemU2ND4gc2l6ZUZvck1hcCwgTWFwQXN5bmNQcm9taXNl
JiYpOworICAgIFJlZjxKU0M6OkFycmF5QnVmZmVyPiBnZXRNYXBwZWRSYW5nZShHUFVTaXplNjQg
b2Zmc2V0LCBzdGQ6Om9wdGlvbmFsPEdQVVNpemU2ND4gcmFuZ2VTaXplKTsKICAgICB2b2lkIHVu
bWFwKCk7CiAKICAgICB2b2lkIGRlc3Ryb3koKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvV2ViR1BVL0dQVUNhbnZhc0NvbmZpZ3VyYXRpb24uaCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvV2ViR1BVL0dQVUNhbnZhc0NvbmZpZ3VyYXRpb24uaAppbmRleCA2OTYwZTdkYjgx
YjIyYzkwMmUzMWI2NzM2N2U2NjQyZmQzMGIzNTlmLi5iMzRhYWNjZmZhZWRhNDQ4NmQzZWIyZGQ2
Yjg5NDlkMGQ1ZTk5MzQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQ
VS9HUFVDYW52YXNDb25maWd1cmF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9X
ZWJHUFUvR1BVQ2FudmFzQ29uZmlndXJhdGlvbi5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENv
cHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5
cmlnaHQgKEMpIDIwMjEtMjAyMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgog
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNsdWRlIDxv
cHRpb25hbD4KICNpbmNsdWRlIDxwYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVUNhbnZhc0NvbmZp
Z3VyYXRpb24uaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rv
ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQ2LDYgKzQ3LDkgQEAgc3RydWN0IEdQ
VUNhbnZhc0NvbmZpZ3VyYXRpb24gewogICAgICAgICAgICAgZGV2aWNlLT5iYWNraW5nKCksCiAg
ICAgICAgICAgICBXZWJDb3JlOjpjb252ZXJ0VG9CYWNraW5nKGZvcm1hdCksCiAgICAgICAgICAg
ICBjb252ZXJ0VGV4dHVyZVVzYWdlRmxhZ3NUb0JhY2tpbmcodXNhZ2UpLAorICAgICAgICAgICAg
dmlld0Zvcm1hdHMubWFwKFtdIChhdXRvJiB2aWV3Rm9ybWF0KSB7CisgICAgICAgICAgICAgICAg
cmV0dXJuIFdlYkNvcmU6OmNvbnZlcnRUb0JhY2tpbmcodmlld0Zvcm1hdCk7CisgICAgICAgICAg
ICB9KSwKICAgICAgICAgICAgIFdlYkNvcmU6OmNvbnZlcnRUb0JhY2tpbmcoY29sb3JTcGFjZSks
CiAgICAgICAgICAgICBXZWJDb3JlOjpjb252ZXJ0VG9CYWNraW5nKGNvbXBvc2l0aW5nQWxwaGFN
b2RlKSwKICAgICAgICAgICAgIHNpemUgPyBzdGQ6Om9wdGlvbmFsIHsgV2ViQ29yZTo6Y29udmVy
dFRvQmFja2luZygqc2l6ZSkgfSA6IHN0ZDo6bnVsbG9wdCwKQEAgLTU1LDYgKzU5LDcgQEAgc3Ry
dWN0IEdQVUNhbnZhc0NvbmZpZ3VyYXRpb24gewogICAgIEdQVURldmljZSogZGV2aWNlIHsgbnVs
bHB0ciB9OwogICAgIEdQVVRleHR1cmVGb3JtYXQgZm9ybWF0IHsgR1BVVGV4dHVyZUZvcm1hdDo6
Ujh1bm9ybSB9OwogICAgIEdQVVRleHR1cmVVc2FnZUZsYWdzIHVzYWdlIHsgR1BVVGV4dHVyZVVz
YWdlOjpSRU5ERVJfQVRUQUNITUVOVCB9OworICAgIFZlY3RvcjxHUFVUZXh0dXJlRm9ybWF0PiB2
aWV3Rm9ybWF0czsKICAgICBHUFVQcmVkZWZpbmVkQ29sb3JTcGFjZSBjb2xvclNwYWNlIHsgR1BV
UHJlZGVmaW5lZENvbG9yU3BhY2U6OlNSR0IgfTsKICAgICBHUFVDYW52YXNDb21wb3NpdGluZ0Fs
cGhhTW9kZSBjb21wb3NpdGluZ0FscGhhTW9kZSB7IEdQVUNhbnZhc0NvbXBvc2l0aW5nQWxwaGFN
b2RlOjpPcGFxdWUgfTsKICAgICBzdGQ6Om9wdGlvbmFsPEdQVUV4dGVudDNEPiBzaXplOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQ2FudmFzQ29uZmlndXJh
dGlvbi5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVDYW52YXNDb25maWd1
cmF0aW9uLmlkbAppbmRleCBmY2FjOGNkYTlmZWQwMjE2YTYxYTQ3NDQ2NTdlMDQwOGJiYThjNmEx
Li5jN2ZmNDFlYjI1MWNmMmEwZTMzMjA1MzlkMTQ3MzVkNjU4ZTc3NWZhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVDYW52YXNDb25maWd1cmF0aW9uLmlkbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVDYW52YXNDb25maWd1cmF0aW9u
LmlkbApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDIxLTIwMjIgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CkBAIC0zNyw2ICszNyw3IEBAIGRpY3Rpb25hcnkgR1BVQ2FudmFzQ29uZmlndXJhdGlvbiB7CiAg
ICAgcmVxdWlyZWQgR1BVRGV2aWNlIGRldmljZTsKICAgICByZXF1aXJlZCBHUFVUZXh0dXJlRm9y
bWF0IGZvcm1hdDsKICAgICBHUFVUZXh0dXJlVXNhZ2VGbGFncyB1c2FnZSA9IDB4MTA7ICAvLyBH
UFVUZXh0dXJlVXNhZ2UuUkVOREVSX0FUVEFDSE1FTlQKKyAgICBzZXF1ZW5jZTxHUFVUZXh0dXJl
Rm9ybWF0PiB2aWV3Rm9ybWF0cyA9IFtdOwogICAgIEdQVVByZWRlZmluZWRDb2xvclNwYWNlIGNv
bG9yU3BhY2UgPSAic3JnYiI7CiAgICAgR1BVQ2FudmFzQ29tcG9zaXRpbmdBbHBoYU1vZGUgY29t
cG9zaXRpbmdBbHBoYU1vZGUgPSAib3BhcXVlIjsKICAgICBHUFVFeHRlbnQzRCBzaXplOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQ29tbWFuZEVuY29kZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQ29tbWFuZEVuY29kZXIuY3Bw
CmluZGV4IDgxN2MzNTJlYzAwYTJkZDUxZWU3YjE3ZDcwYzVkZjI1OGZmOGQ0YzUuLmUxNjlmNDAz
NzU2NDE0YjQ1NTcwNTUzZGU2NjFmNGExOGVlMzYzYmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvV2ViR1BVL0dQVUNvbW1hbmRFbmNvZGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21tYW5kRW5jb2Rlci5jcHAKQEAgLTEsNSArMSw1IEBA
CiAvKgotICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqIENvcHlyaWdodCAoQykgMjAyMS0yMDIyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtODUsMTIgKzg1LDEzIEBA
IHZvaWQgR1BVQ29tbWFuZEVuY29kZXI6OmNvcHlUZXh0dXJlVG9UZXh0dXJlKAogICAgIG1fYmFj
a2luZy0+Y29weVRleHR1cmVUb1RleHR1cmUoc291cmNlLmNvbnZlcnRUb0JhY2tpbmcoKSwgZGVz
dGluYXRpb24uY29udmVydFRvQmFja2luZygpLCBjb252ZXJ0VG9CYWNraW5nKGNvcHlTaXplKSk7
CiB9CiAKLXZvaWQgR1BVQ29tbWFuZEVuY29kZXI6OmZpbGxCdWZmZXIoCi0gICAgY29uc3QgR1BV
QnVmZmVyJiBkZXN0aW5hdGlvbiwKLSAgICBHUFVTaXplNjQgZGVzdGluYXRpb25PZmZzZXQsCi0g
ICAgR1BVU2l6ZTY0IHNpemUpCisKK3ZvaWQgR1BVQ29tbWFuZEVuY29kZXI6OmNsZWFyQnVmZmVy
KAorICAgIGNvbnN0IEdQVUJ1ZmZlciYgYnVmZmVyLAorICAgIEdQVVNpemU2NCBvZmZzZXQsCisg
ICAgc3RkOjpvcHRpb25hbDxHUFVTaXplNjQ+IHNpemUpCiB7Ci0gICAgbV9iYWNraW5nLT5maWxs
QnVmZmVyKGRlc3RpbmF0aW9uLmJhY2tpbmcoKSwgZGVzdGluYXRpb25PZmZzZXQsIHNpemUpOwor
ICAgIG1fYmFja2luZy0+Y2xlYXJCdWZmZXIoYnVmZmVyLmJhY2tpbmcoKSwgb2Zmc2V0LCBzaXpl
KTsKIH0KIAogdm9pZCBHUFVDb21tYW5kRW5jb2Rlcjo6cHVzaERlYnVnR3JvdXAoU3RyaW5nJiYg
Z3JvdXBMYWJlbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQ
VUNvbW1hbmRFbmNvZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21t
YW5kRW5jb2Rlci5oCmluZGV4IGEwMWUzMjY4NDU0ODgzZDlhNmU0YmUyZDg2MjY3YTI1ZDAwNGRk
OTAuLjk1NTJiMTRhYWZmMDdlN2FmMjljYjA5NGE0ZTM2NmEzY2JmYzllNjggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUNvbW1hbmRFbmNvZGVyLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQ29tbWFuZEVuY29kZXIuaApAQCAtMSw1
ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDIxLTIwMjIgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC04MSwxMCAr
ODEsMTAgQEAgcHVibGljOgogICAgICAgICBjb25zdCBHUFVJbWFnZUNvcHlUZXh0dXJlJiBkZXN0
aW5hdGlvbiwKICAgICAgICAgY29uc3QgR1BVRXh0ZW50M0QmIGNvcHlTaXplKTsKIAotICAgIHZv
aWQgZmlsbEJ1ZmZlcigKLSAgICAgICAgY29uc3QgR1BVQnVmZmVyJiBkZXN0aW5hdGlvbiwKLSAg
ICAgICAgR1BVU2l6ZTY0IGRlc3RpbmF0aW9uT2Zmc2V0LAotICAgICAgICBHUFVTaXplNjQpOwor
ICAgIHZvaWQgY2xlYXJCdWZmZXIoCisgICAgICAgIGNvbnN0IEdQVUJ1ZmZlciYsCisgICAgICAg
IEdQVVNpemU2NCBvZmZzZXQsCisgICAgICAgIHN0ZDo6b3B0aW9uYWw8R1BVU2l6ZTY0Pik7CiAK
ICAgICB2b2lkIHB1c2hEZWJ1Z0dyb3VwKFN0cmluZyYmIGdyb3VwTGFiZWwpOwogICAgIHZvaWQg
cG9wRGVidWdHcm91cCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJH
UFUvR1BVQ29tbWFuZEVuY29kZXIuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUv
R1BVQ29tbWFuZEVuY29kZXIuaWRsCmluZGV4IGFhOTRjYTAzNDQ3YmY1ZGIxMTRhNzAzMTA0MzNm
YTg2MGIwMmExNDMuLmI4MjI1YTA0YjYxOTk3ODZkZGYxYjk5MGE3M2ZlZmIxMzcxZGU5ZjcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUNvbW1hbmRFbmNvZGVy
LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21tYW5kRW5jb2Rl
ci5pZGwKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAyMS0yMDIyIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwpAQCAtNjIsMTQgKzYyLDEwIEBAIGludGVyZmFjZSBHUFVDb21tYW5kRW5jb2RlciB7CiAgICAg
ICAgIEdQVUltYWdlQ29weVRleHR1cmUgZGVzdGluYXRpb24sCiAgICAgICAgIEdQVUV4dGVudDNE
IGNvcHlTaXplKTsKIAotICAgIHVuZGVmaW5lZCBmaWxsQnVmZmVyKAotICAgICAgICBHUFVCdWZm
ZXIgZGVzdGluYXRpb24sCi0gICAgICAgIEdQVVNpemU2NCBkZXN0aW5hdGlvbk9mZnNldCwKLSAg
ICAgICAgR1BVU2l6ZTY0IHNpemUpOwotCi0gICAgdW5kZWZpbmVkIHB1c2hEZWJ1Z0dyb3VwKFVT
VlN0cmluZyBncm91cExhYmVsKTsKLSAgICB1bmRlZmluZWQgcG9wRGVidWdHcm91cCgpOwotICAg
IHVuZGVmaW5lZCBpbnNlcnREZWJ1Z01hcmtlcihVU1ZTdHJpbmcgbWFya2VyTGFiZWwpOworICAg
IHVuZGVmaW5lZCBjbGVhckJ1ZmZlcigKKyAgICAgICAgR1BVQnVmZmVyIGJ1ZmZlciwKKyAgICAg
ICAgb3B0aW9uYWwgR1BVU2l6ZTY0IG9mZnNldCA9IDAsCisgICAgICAgIG9wdGlvbmFsIEdQVVNp
emU2NCBzaXplKTsKIAogICAgIHVuZGVmaW5lZCB3cml0ZVRpbWVzdGFtcChHUFVRdWVyeVNldCBx
dWVyeVNldCwgR1BVU2l6ZTMyIHF1ZXJ5SW5kZXgpOwogCkBAIC04MywzICs3OSw1IEBAIGludGVy
ZmFjZSBHUFVDb21tYW5kRW5jb2RlciB7CiAgICAgR1BVQ29tbWFuZEJ1ZmZlciBmaW5pc2gob3B0
aW9uYWwgR1BVQ29tbWFuZEJ1ZmZlckRlc2NyaXB0b3IgZGVzY3JpcHRvcik7CiB9OwogR1BVQ29t
bWFuZEVuY29kZXIgaW5jbHVkZXMgR1BVT2JqZWN0QmFzZTsKK0dQVUNvbW1hbmRFbmNvZGVyIGlu
Y2x1ZGVzIEdQVUNvbW1hbmRzTWl4aW47CitHUFVDb21tYW5kRW5jb2RlciBpbmNsdWRlcyBHUFVE
ZWJ1Z0NvbW1hbmRzTWl4aW47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dl
YkdQVS9HUFVDb21tYW5kc01peGluLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BV
L0dQVUNvbW1hbmRzTWl4aW4uaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJhY2MzZGVlNDFkMzhkNmZjYTc5NmVi
ZWZmMjdhNWRlY2U2ZWJjYmEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL1dlYkdQVS9HUFVDb21tYW5kc01peGluLmlkbApAQCAtMCwwICsxLDMyIEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDIyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworLy8gaHR0cHM6Ly9ncHV3ZWIuZ2l0aHViLmlvL2dwdXdlYi8jZ3B1Y29tbWFuZHNtaXhp
bgorCitbCisgICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJHUFUKK10KK2ludGVyZmFjZSBtaXhpbiBH
UFVDb21tYW5kc01peGluIHsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L1dlYkdQVS9HUFVDb21wdXRlUGFzc0VuY29kZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9XZWJHUFUvR1BVQ29tcHV0ZVBhc3NFbmNvZGVyLmNwcAppbmRleCBiMDExZjUwZTc2NjJlMWVh
OWU5OWQ3NzQ0MjhiOGNhMjI2OGQ0ZDE2Li45MGUzNjQyZDAxMTFmMzVhMzFhNDFhMDY2NDk4YmMx
OWU3NDk5YzljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVD
b21wdXRlUGFzc0VuY29kZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BV
L0dQVUNvbXB1dGVQYXNzRW5jb2Rlci5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJp
Z2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdo
dCAoQykgMjAyMS0yMDIyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNDgsOSArNDgsOSBAQCB2b2lkIEdQVUNvbXB1dGVQ
YXNzRW5jb2Rlcjo6c2V0UGlwZWxpbmUoY29uc3QgR1BVQ29tcHV0ZVBpcGVsaW5lJiBjb21wdXRl
UGlwZWxpbgogICAgIG1fYmFja2luZy0+c2V0UGlwZWxpbmUoY29tcHV0ZVBpcGVsaW5lLmJhY2tp
bmcoKSk7CiB9CiAKLXZvaWQgR1BVQ29tcHV0ZVBhc3NFbmNvZGVyOjpkaXNwYXRjaChHUFVTaXpl
MzIgeCwgc3RkOjpvcHRpb25hbDxHUFVTaXplMzI+IHksIHN0ZDo6b3B0aW9uYWw8R1BVU2l6ZTMy
PiB6KQordm9pZCBHUFVDb21wdXRlUGFzc0VuY29kZXI6OmRpc3BhdGNoKEdQVVNpemUzMiB3b3Jr
Z3JvdXBDb3VudFgsIEdQVVNpemUzMiB3b3JrZ3JvdXBDb3VudFksIEdQVVNpemUzMiB3b3JrZ3Jv
dXBDb3VudFopCiB7Ci0gICAgbV9iYWNraW5nLT5kaXNwYXRjaCh4LCB5LCB6KTsKKyAgICBtX2Jh
Y2tpbmctPmRpc3BhdGNoKHdvcmtncm91cENvdW50WCwgd29ya2dyb3VwQ291bnRZLCB3b3JrZ3Jv
dXBDb3VudFopOwogfQogCiB2b2lkIEdQVUNvbXB1dGVQYXNzRW5jb2Rlcjo6ZGlzcGF0Y2hJbmRp
cmVjdChjb25zdCBHUFVCdWZmZXImIGluZGlyZWN0QnVmZmVyLCBHUFVTaXplNjQgaW5kaXJlY3RP
ZmZzZXQpCkBAIC01OCwxOSArNTgsOSBAQCB2b2lkIEdQVUNvbXB1dGVQYXNzRW5jb2Rlcjo6ZGlz
cGF0Y2hJbmRpcmVjdChjb25zdCBHUFVCdWZmZXImIGluZGlyZWN0QnVmZmVyLCBHUAogICAgIG1f
YmFja2luZy0+ZGlzcGF0Y2hJbmRpcmVjdChpbmRpcmVjdEJ1ZmZlci5iYWNraW5nKCksIGluZGly
ZWN0T2Zmc2V0KTsKIH0KIAotdm9pZCBHUFVDb21wdXRlUGFzc0VuY29kZXI6OmJlZ2luUGlwZWxp
bmVTdGF0aXN0aWNzUXVlcnkoY29uc3QgR1BVUXVlcnlTZXQmIHF1ZXJ5U2V0LCBHUFVTaXplMzIg
cXVlcnlJbmRleCkKK3ZvaWQgR1BVQ29tcHV0ZVBhc3NFbmNvZGVyOjplbmQoKQogewotICAgIG1f
YmFja2luZy0+YmVnaW5QaXBlbGluZVN0YXRpc3RpY3NRdWVyeShxdWVyeVNldC5iYWNraW5nKCks
IHF1ZXJ5SW5kZXgpOwotfQotCi12b2lkIEdQVUNvbXB1dGVQYXNzRW5jb2Rlcjo6ZW5kUGlwZWxp
bmVTdGF0aXN0aWNzUXVlcnkoKQotewotICAgIG1fYmFja2luZy0+ZW5kUGlwZWxpbmVTdGF0aXN0
aWNzUXVlcnkoKTsKLX0KLQotdm9pZCBHUFVDb21wdXRlUGFzc0VuY29kZXI6OmVuZFBhc3MoKQot
ewotICAgIG1fYmFja2luZy0+ZW5kUGFzcygpOworICAgIG1fYmFja2luZy0+ZW5kKCk7CiB9CiAK
IHZvaWQgR1BVQ29tcHV0ZVBhc3NFbmNvZGVyOjpzZXRCaW5kR3JvdXAoR1BVSW5kZXgzMiBpbmRl
eCwgY29uc3QgR1BVQmluZEdyb3VwJiBiaW5kR3JvdXAsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVDb21wdXRlUGFzc0VuY29kZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvV2ViR1BVL0dQVUNvbXB1dGVQYXNzRW5jb2Rlci5oCmluZGV4IDcwNjY4YTcx
ZDYwMmIyOWVlYjAxODcyNTIzMWVkODA3YWIzZmJmMDAuLjJkODg5NmZlMGZiYWE4YWUzZTJhN2Uw
MDQ0NzlkN2NlYmQxMjc0ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2Vi
R1BVL0dQVUNvbXB1dGVQYXNzRW5jb2Rlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
V2ViR1BVL0dQVUNvbXB1dGVQYXNzRW5jb2Rlci5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENv
cHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5
cmlnaHQgKEMpIDIwMjEtMjAyMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgog
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTUyLDEzICs1MiwxMCBAQCBwdWJsaWM6CiAg
ICAgdm9pZCBzZXRMYWJlbChTdHJpbmcmJik7CiAKICAgICB2b2lkIHNldFBpcGVsaW5lKGNvbnN0
IEdQVUNvbXB1dGVQaXBlbGluZSYpOwotICAgIHZvaWQgZGlzcGF0Y2goR1BVU2l6ZTMyIHgsIHN0
ZDo6b3B0aW9uYWw8R1BVU2l6ZTMyPiB5LCBzdGQ6Om9wdGlvbmFsPEdQVVNpemUzMj4pOworICAg
IHZvaWQgZGlzcGF0Y2goR1BVU2l6ZTMyIHdvcmtncm91cENvdW50WCwgR1BVU2l6ZTMyIHdvcmtn
cm91cENvdW50WSwgR1BVU2l6ZTMyIHdvcmtncm91cENvdW50Wik7CiAgICAgdm9pZCBkaXNwYXRj
aEluZGlyZWN0KGNvbnN0IEdQVUJ1ZmZlciYgaW5kaXJlY3RCdWZmZXIsIEdQVVNpemU2NCBpbmRp
cmVjdE9mZnNldCk7CiAKLSAgICB2b2lkIGJlZ2luUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkoY29u
c3QgR1BVUXVlcnlTZXQmLCBHUFVTaXplMzIgcXVlcnlJbmRleCk7Ci0gICAgdm9pZCBlbmRQaXBl
bGluZVN0YXRpc3RpY3NRdWVyeSgpOwotCi0gICAgdm9pZCBlbmRQYXNzKCk7CisgICAgdm9pZCBl
bmQoKTsKIAogICAgIHZvaWQgc2V0QmluZEdyb3VwKEdQVUluZGV4MzIsIGNvbnN0IEdQVUJpbmRH
cm91cCYsCiAgICAgICAgIHN0ZDo6b3B0aW9uYWw8VmVjdG9yPEdQVUJ1ZmZlckR5bmFtaWNPZmZz
ZXQ+PiYmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUNv
bXB1dGVQYXNzRW5jb2Rlci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVD
b21wdXRlUGFzc0VuY29kZXIuaWRsCmluZGV4IDk1OGRkNzdlNzY3NDA2MjYyOThmZDQyYmRkMDRh
ZTFjNzhlNWI4OTguLmExOTM1M2IyNmIwYzFmNDExNmQzNzJhNjM1YTgyMmU5OWQzN2I5MTEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUNvbXB1dGVQYXNzRW5j
b2Rlci5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVQ29tcHV0ZVBh
c3NFbmNvZGVyLmlkbApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMjEg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDIxLTIw
MjIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCkBAIC0zNiwxMyArMzYsMTIgQEAgdHlwZWRlZiBbRW5mb3JjZVJhbmdlXSB1bnNp
Z25lZCBsb25nIGxvbmcgR1BVU2l6ZTY0OwogXQogaW50ZXJmYWNlIEdQVUNvbXB1dGVQYXNzRW5j
b2RlciB7CiAgICAgdW5kZWZpbmVkIHNldFBpcGVsaW5lKEdQVUNvbXB1dGVQaXBlbGluZSBwaXBl
bGluZSk7Ci0gICAgdW5kZWZpbmVkIGRpc3BhdGNoKEdQVVNpemUzMiB4LCBvcHRpb25hbCBHUFVT
aXplMzIgeSA9IDEsIG9wdGlvbmFsIEdQVVNpemUzMiB6ID0gMSk7CisgICAgdW5kZWZpbmVkIGRp
c3BhdGNoKEdQVVNpemUzMiB3b3JrZ3JvdXBDb3VudFgsIG9wdGlvbmFsIEdQVVNpemUzMiB3b3Jr
Z3JvdXBDb3VudFkgPSAxLCBvcHRpb25hbCBHUFVTaXplMzIgd29ya2dyb3VwQ291bnRaID0gMSk7
CiAgICAgdW5kZWZpbmVkIGRpc3BhdGNoSW5kaXJlY3QoR1BVQnVmZmVyIGluZGlyZWN0QnVmZmVy
LCBHUFVTaXplNjQgaW5kaXJlY3RPZmZzZXQpOwogCi0gICAgdW5kZWZpbmVkIGJlZ2luUGlwZWxp
bmVTdGF0aXN0aWNzUXVlcnkoR1BVUXVlcnlTZXQgcXVlcnlTZXQsIEdQVVNpemUzMiBxdWVyeUlu
ZGV4KTsKLSAgICB1bmRlZmluZWQgZW5kUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkoKTsKLQotICAg
IHVuZGVmaW5lZCBlbmRQYXNzKCk7CisgICAgdW5kZWZpbmVkIGVuZCgpOwogfTsKIEdQVUNvbXB1
dGVQYXNzRW5jb2RlciBpbmNsdWRlcyBHUFVPYmplY3RCYXNlOworR1BVQ29tcHV0ZVBhc3NFbmNv
ZGVyIGluY2x1ZGVzIEdQVUNvbW1hbmRzTWl4aW47CitHUFVDb21wdXRlUGFzc0VuY29kZXIgaW5j
bHVkZXMgR1BVRGVidWdDb21tYW5kc01peGluOwogR1BVQ29tcHV0ZVBhc3NFbmNvZGVyIGluY2x1
ZGVzIEdQVVByb2dyYW1tYWJsZVBhc3NFbmNvZGVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9XZWJHUFUvR1BVRGVidWdDb21tYW5kc01peGluLmlkbCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvV2ViR1BVL0dQVURlYnVnQ29tbWFuZHNNaXhpbi5pZGwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MWY4NDhhNDJkY2JjY2E2NmMzMTgxYmE4YmUxNDA4ZTYzYzA1NjQwNAotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVURlYnVnQ29tbWFuZHNNaXhpbi5p
ZGwKQEAgLTAsMCArMSwzNSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMiBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8vIGh0dHBzOi8vZ3B1d2ViLmdpdGh1
Yi5pby9ncHV3ZWIvI2dwdWRlYnVnY29tbWFuZHNtaXhpbgorCitbCisgICAgRW5hYmxlZEJ5U2V0
dGluZz1XZWJHUFUKK10KK2ludGVyZmFjZSBtaXhpbiBHUFVEZWJ1Z0NvbW1hbmRzTWl4aW4gewor
ICAgIHVuZGVmaW5lZCBwdXNoRGVidWdHcm91cChVU1ZTdHJpbmcgZ3JvdXBMYWJlbCk7CisgICAg
dW5kZWZpbmVkIHBvcERlYnVnR3JvdXAoKTsKKyAgICB1bmRlZmluZWQgaW5zZXJ0RGVidWdNYXJr
ZXIoVVNWU3RyaW5nIG1hcmtlckxhYmVsKTsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL1dlYkdQVS9HUFVGZWF0dXJlTmFtZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9XZWJHUFUvR1BVRmVhdHVyZU5hbWUuaAppbmRleCA0ZmVhYjUwMWM1YWM0N2UyMzJjYmNiN2Jh
ZDUwYjAwZjczNDFjYzk4Li4xMzQ4ZGIyMTY2ZTE4YjM4NDIxNDFjNjM5YzM1ZjYzMmY3ZWEzOWE2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVGZWF0dXJlTmFt
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUZlYXR1cmVOYW1lLmgK
QEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAyMS0yMDIyIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAt
MzQsNyArMzQsNiBAQCBlbnVtIGNsYXNzIEdQVUZlYXR1cmVOYW1lIDogdWludDhfdCB7CiAgICAg
RGVwdGhDbGlwQ29udHJvbCwKICAgICBEZXB0aDI0dW5vcm1TdGVuY2lsOCwKICAgICBEZXB0aDMy
ZmxvYXRTdGVuY2lsOCwKLSAgICBQaXBlbGluZVN0YXRpc3RpY3NRdWVyeSwKICAgICBUZXh0dXJl
Q29tcHJlc3Npb25CYywKICAgICBUZXh0dXJlQ29tcHJlc3Npb25FdGMyLAogICAgIFRleHR1cmVD
b21wcmVzc2lvbkFzdGMsCkBAIC01MSw4ICs1MCw2IEBAIGlubGluZSBQQUw6OldlYkdQVTo6RmVh
dHVyZU5hbWUgY29udmVydFRvQmFja2luZyhHUFVGZWF0dXJlTmFtZSBmZWF0dXJlTmFtZSkKICAg
ICAgICAgcmV0dXJuIFBBTDo6V2ViR1BVOjpGZWF0dXJlTmFtZTo6RGVwdGgyNHVub3JtU3RlbmNp
bDg7CiAgICAgY2FzZSBHUFVGZWF0dXJlTmFtZTo6RGVwdGgzMmZsb2F0U3RlbmNpbDg6CiAgICAg
ICAgIHJldHVybiBQQUw6OldlYkdQVTo6RmVhdHVyZU5hbWU6OkRlcHRoMzJmbG9hdFN0ZW5jaWw4
OwotICAgIGNhc2UgR1BVRmVhdHVyZU5hbWU6OlBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5OgotICAg
ICAgICByZXR1cm4gUEFMOjpXZWJHUFU6OkZlYXR1cmVOYW1lOjpQaXBlbGluZVN0YXRpc3RpY3NR
dWVyeTsKICAgICBjYXNlIEdQVUZlYXR1cmVOYW1lOjpUZXh0dXJlQ29tcHJlc3Npb25CYzoKICAg
ICAgICAgcmV0dXJuIFBBTDo6V2ViR1BVOjpGZWF0dXJlTmFtZTo6VGV4dHVyZUNvbXByZXNzaW9u
QmM7CiAgICAgY2FzZSBHUFVGZWF0dXJlTmFtZTo6VGV4dHVyZUNvbXByZXNzaW9uRXRjMjoKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUZlYXR1cmVOYW1lLmlk
bCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUZlYXR1cmVOYW1lLmlkbAppbmRl
eCAxODRlNWE1MWVjMTJkMTUzZTdlYjkzNDM4NDljY2Y3NTdhOTVmM2JiLi43NDk3MWJkZGFmZjk3
MTE4NDUzYWVjNGQ5ODYwZGI1ZWQxZWUwMTFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL1dlYkdQVS9HUFVGZWF0dXJlTmFtZS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9XZWJHUFUvR1BVRmVhdHVyZU5hbWUuaWRsCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENv
cHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5
cmlnaHQgKEMpIDIwMjEtMjAyMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgog
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTMyLDcgKzMyLDYgQEAgZW51bSBHUFVGZWF0
dXJlTmFtZSB7CiAgICAgImRlcHRoLWNsaXAtY29udHJvbCIsCiAgICAgImRlcHRoMjR1bm9ybS1z
dGVuY2lsOCIsCiAgICAgImRlcHRoMzJmbG9hdC1zdGVuY2lsOCIsCi0gICAgInBpcGVsaW5lLXN0
YXRpc3RpY3MtcXVlcnkiLAogICAgICJ0ZXh0dXJlLWNvbXByZXNzaW9uLWJjIiwKICAgICAidGV4
dHVyZS1jb21wcmVzc2lvbi1ldGMyIiwKICAgICAidGV4dHVyZS1jb21wcmVzc2lvbi1hc3RjIiwK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUZyYWdtZW50U3Rh
dGUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUZyYWdtZW50U3RhdGUuaApp
bmRleCBlOWI2OWFjYjVhY2IwNmNhNjliODcxNzJlOTkzZTUxOGVmOTViNWZiLi40NTBkYTI4Mzlh
ZjlmNTcwNDJmOTQ3ZDgwOGY3MWI1NWUzMDVmMjUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL1dlYkdQVS9HUFVGcmFnbWVudFN0YXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9XZWJHUFUvR1BVRnJhZ21lbnRTdGF0ZS5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAq
IENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBD
b3B5cmlnaHQgKEMpIDIwMjEtMjAyMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAg
KgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI3LDYgKzI3LDcgQEAKIAogI2luY2x1
ZGUgIkdQVUNvbG9yVGFyZ2V0U3RhdGUuaCIKICNpbmNsdWRlICJHUFVQcm9ncmFtbWFibGVTdGFn
ZS5oIgorI2luY2x1ZGUgPG9wdGlvbmFsPgogI2luY2x1ZGUgPHBhbC9ncmFwaGljcy9XZWJHUFUv
V2ViR1BVRnJhZ21lbnRTdGF0ZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIApAQCAtNDIs
MTMgKzQzLDE1IEBAIHN0cnVjdCBHUFVGcmFnbWVudFN0YXRlIDogcHVibGljIEdQVVByb2dyYW1t
YWJsZVN0YWdlIHsKICAgICAgICAgICAgICAgICBlbnRyeVBvaW50LAogICAgICAgICAgICAgICAg
IGNvbnN0YW50cywKICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB0YXJnZXRzLm1hcChbXSAo
YXV0byYgdGFyZ2V0KSB7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIHRhcmdldC5jb252ZXJ0VG9C
YWNraW5nKCk7CisgICAgICAgICAgICB0YXJnZXRzLm1hcChbXSAoYXV0byYgdGFyZ2V0KSAtPiBz
dGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpDb2xvclRhcmdldFN0YXRlPiB7CisgICAgICAgICAg
ICAgICAgaWYgKHRhcmdldCkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRhcmdldC0+Y29u
dmVydFRvQmFja2luZygpOworICAgICAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAg
ICAgICAgICAgICB9KSwKICAgICAgICAgfTsKICAgICB9CiAKLSAgICBWZWN0b3I8R1BVQ29sb3JU
YXJnZXRTdGF0ZT4gdGFyZ2V0czsKKyAgICBWZWN0b3I8c3RkOjpvcHRpb25hbDxHUFVDb2xvclRh
cmdldFN0YXRlPj4gdGFyZ2V0czsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvV2ViR1BVL0dQVUZyYWdtZW50U3RhdGUuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9XZWJHUFUvR1BVRnJhZ21lbnRTdGF0ZS5pZGwKaW5kZXggMTg5ODRlNGVhNjk2MTMwODEw
ZGRlOTQ5MjY3ZWY5OTZlNDkzZDFkZC4uOWYwNjc1YmRkNWVmZjQwODJhZjNiYTcyODViZGVmMTFm
OWY3M2JhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVRnJh
Z21lbnRTdGF0ZS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVRnJh
Z21lbnRTdGF0ZS5pZGwKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDIx
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAyMS0y
MDIyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucwpAQCAtMjksNSArMjksNSBAQAogICAgIEVuYWJsZWRCeVNldHRpbmc9V2ViR1BV
CiBdCiBkaWN0aW9uYXJ5IEdQVUZyYWdtZW50U3RhdGUgOiBHUFVQcm9ncmFtbWFibGVTdGFnZSB7
Ci0gICAgcmVxdWlyZWQgc2VxdWVuY2U8R1BVQ29sb3JUYXJnZXRTdGF0ZT4gdGFyZ2V0czsKKyAg
ICByZXF1aXJlZCBzZXF1ZW5jZTxHUFVDb2xvclRhcmdldFN0YXRlPz4gdGFyZ2V0czsKIH07CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVJbWFnZUNvcHlFeHRl
cm5hbEltYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVJbWFnZUNvcHlF
eHRlcm5hbEltYWdlLmgKaW5kZXggNGNjY2FiN2YwMDU2NmEzMTM2YTI1Nzg5MGI4OTFiOTdkYzM1
YTg4ZS4uYzA0ODY2MDI0Yjg3YTE4YTZhNjk3MjFhYWU3ZGY5ZjUwOWVhYjQyZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVSW1hZ2VDb3B5RXh0ZXJuYWxJbWFn
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUltYWdlQ29weUV4dGVy
bmFsSW1hZ2UuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDIxLTIwMjIg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCkBAIC00MSwxMSArNDEsMTMgQEAgc3RydWN0IEdQVUltYWdlQ29weUV4dGVybmFsSW1h
Z2UgewogICAgICAgICByZXR1cm4gewogICAgICAgICAgICAgLy8gRklYTUU6IEhhbmRsZSB0aGUg
Y2FudmFzIGVsZW1lbnQuCiAgICAgICAgICAgICBvcmlnaW4gPyBzdGQ6Om9wdGlvbmFsIHsgV2Vi
Q29yZTo6Y29udmVydFRvQmFja2luZygqb3JpZ2luKSB9IDogc3RkOjpudWxsb3B0LAorICAgICAg
ICAgICAgZmxpcFksCiAgICAgICAgIH07CiAgICAgfQogCiAgICAgc3RkOjp2YXJpYW50PFJlZlB0
cjxJbWFnZUJpdG1hcD4sIFJlZlB0cjxIVE1MQ2FudmFzRWxlbWVudD4+IHNvdXJjZTsKICAgICBz
dGQ6Om9wdGlvbmFsPEdQVU9yaWdpbjJEPiBvcmlnaW47CisgICAgYm9vbCBmbGlwWSB7IGZhbHNl
IH07CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9H
UFVJbWFnZUNvcHlFeHRlcm5hbEltYWdlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2Vi
R1BVL0dQVUltYWdlQ29weUV4dGVybmFsSW1hZ2UuaWRsCmluZGV4IDllNjEyYmI1MzY4NzdhZmZm
MTA5NjU4ZjM1YTE0MTRhZGFhZDlmMmUuLjgwZjA1OGViOTUxZmIxMDY3ZmMwZDEyYjE1YmQwZjM0
NDNiYTM1NzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUlt
YWdlQ29weUV4dGVybmFsSW1hZ2UuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2Vi
R1BVL0dQVUltYWdlQ29weUV4dGVybmFsSW1hZ2UuaWRsCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAq
IENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBD
b3B5cmlnaHQgKEMpIDIwMjEtMjAyMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAg
KgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTM1LDQgKzM1LDUgQEAgdHlwZWRlZiAo
c2VxdWVuY2U8R1BVSW50ZWdlckNvb3JkaW5hdGU+IG9yIEdQVU9yaWdpbjJERGljdCkgR1BVT3Jp
Z2luMkQ7CiBkaWN0aW9uYXJ5IEdQVUltYWdlQ29weUV4dGVybmFsSW1hZ2UgewogICAgIHJlcXVp
cmVkIChJbWFnZUJpdG1hcCBvciBIVE1MQ2FudmFzRWxlbWVudCkgc291cmNlOyAvLyBGSVhNRTog
T2Zmc2NyZWVuQ2FudmFzIGRvZXNuJ3Qgc2VlbSB0byB3b3JrIHdpdGggb3VyIGJpbmRpbmdzIGhl
cmUuCiAgICAgR1BVT3JpZ2luMkQgb3JpZ2luOworICAgIGJvb2xlYW4gZmxpcFkgPSBmYWxzZTsK
IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVMb2FkT3Au
aCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUxvYWRPcC5oCmluZGV4IDM1ZTU3
NDlmZTE3ZDViZDI5ZTE1NzBiMjE3ZTU5OTIxMTU3MTkyMjkuLjZmY2JiMDJmYjYyNGQwMjZlZmU5
ZDAxYWIwMDI5NDFmZTkwYzFhNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
V2ViR1BVL0dQVUxvYWRPcC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQ
VUxvYWRPcC5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEtMjAyMiBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKQEAgLTMyLDYgKzMyLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBlbnVtIGNsYXNz
IEdQVUxvYWRPcCA6IHVpbnQ4X3QgewogICAgIExvYWQsCisgICAgQ2xlYXIsCiB9OwogCiBpbmxp
bmUgUEFMOjpXZWJHUFU6OkxvYWRPcCBjb252ZXJ0VG9CYWNraW5nKEdQVUxvYWRPcCBsb2FkT3Ap
CkBAIC0zOSw2ICs0MCw4IEBAIGlubGluZSBQQUw6OldlYkdQVTo6TG9hZE9wIGNvbnZlcnRUb0Jh
Y2tpbmcoR1BVTG9hZE9wIGxvYWRPcCkKICAgICBzd2l0Y2ggKGxvYWRPcCkgewogICAgIGNhc2Ug
R1BVTG9hZE9wOjpMb2FkOgogICAgICAgICByZXR1cm4gUEFMOjpXZWJHUFU6OkxvYWRPcDo6TG9h
ZDsKKyAgICBjYXNlIEdQVUxvYWRPcDo6Q2xlYXI6CisgICAgICAgIHJldHVybiBQQUw6OldlYkdQ
VTo6TG9hZE9wOjpDbGVhcjsKICAgICB9CiAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQo
KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVUxvYWRP
cC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVMb2FkT3AuaWRsCmluZGV4
IGM4NDk1NDFiNTI0Njc2NTEwYzU2MjhmYzk5MTAxYWNiOTI5OWE4NTMuLjExMTkzNWY1MzAwYzM0
Mzg4OTFlM2NjYjhhN2MzYmE0MjUwNTlkYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvV2ViR1BVL0dQVUxvYWRPcC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9X
ZWJHUFUvR1BVTG9hZE9wLmlkbApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMp
IDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAy
MDIxLTIwMjIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCkBAIC0yOSw1ICsyOSw2IEBACiAgICAgRW5hYmxlZEJ5U2V0dGluZz1X
ZWJHUFUKIF0KIGVudW0gR1BVTG9hZE9wIHsKLSAgICAibG9hZCIKKyAgICAibG9hZCIsCisgICAg
ImNsZWFyIgogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQ
VU9iamVjdEJhc2UuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVT2JqZWN0
QmFzZS5pZGwKaW5kZXggZTEzMzFiM2VjM2NkN2VmODNiMTc1NDMyZjM3NjI3YjdhZDU4NDBkNC4u
NmMwMTNjMjE2ZmE5YzAzMjAyOTA0NTE3ZWY5MmI4ZmRkYjhhZWI0MSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVT2JqZWN0QmFzZS5pZGwKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVT2JqZWN0QmFzZS5pZGwKQEAgLTEsNSArMSw1IEBA
CiAvKgotICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqIENvcHlyaWdodCAoQykgMjAyMS0yMDIyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjksNSArMjksNSBAQAog
ICAgIEVuYWJsZWRCeVNldHRpbmc9V2ViR1BVCiBdCiBpbnRlcmZhY2UgbWl4aW4gR1BVT2JqZWN0
QmFzZSB7Ci0gICAgYXR0cmlidXRlIFVTVlN0cmluZz8gbGFiZWw7CisgICAgYXR0cmlidXRlIFVT
VlN0cmluZz8gbGFiZWw7IC8vIEZJWE1FOiBUaGlzIGlzIHN1cHBvc2VkIHRvIGJlIChVU1ZTdHJp
bmcgb3IgdW5kZWZpbmVkKSBidXQgb3VyIGJpbmRpbmdzIGdlbmVyYXRvciBjYW4ndCBoYW5kbGUg
dGhhdC4KIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVQ
aXBlbGluZVN0YXRpc3RpY05hbWUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQ
VVBpcGVsaW5lU3RhdGlzdGljTmFtZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBm
OGRlOGJmZjhmNTczZWM0ZjNhZjY3MzJjMjlmZGYyYTEwOGVkNjUxLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2Vi
R1BVL0dQVVBpcGVsaW5lU3RhdGlzdGljTmFtZS5oCisrKyAvZGV2L251bGwKQEAgLTEsNTggKzAs
MCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0g
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi0jaW5jbHVkZSA8Y3N0ZGludD4KLSNp
bmNsdWRlIDxwYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVBpcGVsaW5lU3RhdGlzdGljTmFtZS5o
PgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWVudW0gY2xhc3MgR1BVUGlwZWxpbmVTdGF0aXN0
aWNOYW1lIDogdWludDhfdCB7Ci0gICAgVmVydGV4U2hhZGVySW52b2NhdGlvbnMsCi0gICAgQ2xp
cHBlckludm9jYXRpb25zLAotICAgIENsaXBwZXJQcmltaXRpdmVzT3V0LAotICAgIEZyYWdtZW50
U2hhZGVySW52b2NhdGlvbnMsCi0gICAgQ29tcHV0ZVNoYWRlckludm9jYXRpb25zLAotfTsKLQot
aW5saW5lIFBBTDo6V2ViR1BVOjpQaXBlbGluZVN0YXRpc3RpY05hbWUgY29udmVydFRvQmFja2lu
ZyhHUFVQaXBlbGluZVN0YXRpc3RpY05hbWUgcGlwZWxpbmVTdGF0aXN0aWNOYW1lKQotewotICAg
IHN3aXRjaCAocGlwZWxpbmVTdGF0aXN0aWNOYW1lKSB7Ci0gICAgY2FzZSBHUFVQaXBlbGluZVN0
YXRpc3RpY05hbWU6OlZlcnRleFNoYWRlckludm9jYXRpb25zOgotICAgICAgICByZXR1cm4gUEFM
OjpXZWJHUFU6OlBpcGVsaW5lU3RhdGlzdGljTmFtZTo6VmVydGV4U2hhZGVySW52b2NhdGlvbnM7
Ci0gICAgY2FzZSBHUFVQaXBlbGluZVN0YXRpc3RpY05hbWU6OkNsaXBwZXJJbnZvY2F0aW9uczoK
LSAgICAgICAgcmV0dXJuIFBBTDo6V2ViR1BVOjpQaXBlbGluZVN0YXRpc3RpY05hbWU6OkNsaXBw
ZXJJbnZvY2F0aW9uczsKLSAgICBjYXNlIEdQVVBpcGVsaW5lU3RhdGlzdGljTmFtZTo6Q2xpcHBl
clByaW1pdGl2ZXNPdXQ6Ci0gICAgICAgIHJldHVybiBQQUw6OldlYkdQVTo6UGlwZWxpbmVTdGF0
aXN0aWNOYW1lOjpDbGlwcGVyUHJpbWl0aXZlc091dDsKLSAgICBjYXNlIEdQVVBpcGVsaW5lU3Rh
dGlzdGljTmFtZTo6RnJhZ21lbnRTaGFkZXJJbnZvY2F0aW9uczoKLSAgICAgICAgcmV0dXJuIFBB
TDo6V2ViR1BVOjpQaXBlbGluZVN0YXRpc3RpY05hbWU6OkZyYWdtZW50U2hhZGVySW52b2NhdGlv
bnM7Ci0gICAgY2FzZSBHUFVQaXBlbGluZVN0YXRpc3RpY05hbWU6OkNvbXB1dGVTaGFkZXJJbnZv
Y2F0aW9uczoKLSAgICAgICAgcmV0dXJuIFBBTDo6V2ViR1BVOjpQaXBlbGluZVN0YXRpc3RpY05h
bWU6OkNvbXB1dGVTaGFkZXJJbnZvY2F0aW9uczsKLSAgICB9Ci0gICAgUkVMRUFTRV9BU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKLX0KLQotfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9XZWJHUFUvR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvV2ViR1BVL0dQVVBpcGVsaW5lU3RhdGlzdGljTmFtZS5pZGwKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDg3Njc3YzJjYWRjZTc1NzA2YTExMjAyYzM0NTliMzM0NWMwYzdmOTYu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lLmlkbAorKysgL2Rl
di9udWxsCkBAIC0xLDM3ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
Ci0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0g
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
LSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0g
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0vLyBodHRwczovL2dwdXdlYi5n
aXRodWIuaW8vZ3B1d2ViLyNlbnVtZGVmLWdwdXBpcGVsaW5lc3RhdGlzdGljbmFtZQotCi1bCi0g
ICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJHUFUKLV0KLWVudW0gR1BVUGlwZWxpbmVTdGF0aXN0aWNO
YW1lIHsKLSAgICAidmVydGV4LXNoYWRlci1pbnZvY2F0aW9ucyIsCi0gICAgImNsaXBwZXItaW52
b2NhdGlvbnMiLAotICAgICJjbGlwcGVyLXByaW1pdGl2ZXMtb3V0IiwKLSAgICAiZnJhZ21lbnQt
c2hhZGVyLWludm9jYXRpb25zIiwKLSAgICAiY29tcHV0ZS1zaGFkZXItaW52b2NhdGlvbnMiCi19
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUHJvZ3JhbW1h
YmxlUGFzc0VuY29kZXIuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUHJv
Z3JhbW1hYmxlUGFzc0VuY29kZXIuaWRsCmluZGV4IDgxZjIyNTM4MDg5ZWY1ZWFjMzk1YjUwMWEz
NDNhYjljZjNlZWMxYmIuLjRkZGQxYTYzMDY5NWFmM2FiYTg2MjdhMzA1MWM1OTg1MGQwYTA5MDAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVByb2dyYW1tYWJs
ZVBhc3NFbmNvZGVyLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVQ
cm9ncmFtbWFibGVQYXNzRW5jb2Rlci5pZGwKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJp
Z2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdo
dCAoQykgMjAyMS0yMDIyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNDIsOCArNDIsNCBAQCBpbnRlcmZhY2UgbWl4aW4g
R1BVUHJvZ3JhbW1hYmxlUGFzc0VuY29kZXIgewogICAgICAgICBVaW50MzJBcnJheSBkeW5hbWlj
T2Zmc2V0c0RhdGEsCiAgICAgICAgIEdQVVNpemU2NCBkeW5hbWljT2Zmc2V0c0RhdGFTdGFydCwK
ICAgICAgICAgR1BVU2l6ZTMyIGR5bmFtaWNPZmZzZXRzRGF0YUxlbmd0aCk7Ci0KLSAgICB1bmRl
ZmluZWQgcHVzaERlYnVnR3JvdXAoVVNWU3RyaW5nIGdyb3VwTGFiZWwpOwotICAgIHVuZGVmaW5l
ZCBwb3BEZWJ1Z0dyb3VwKCk7Ci0gICAgdW5kZWZpbmVkIGluc2VydERlYnVnTWFya2VyKFVTVlN0
cmluZyBtYXJrZXJMYWJlbCk7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9XZWJHUFUvR1BVUXVlcnlTZXREZXNjcmlwdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L1dlYkdQVS9HUFVRdWVyeVNldERlc2NyaXB0b3IuaAppbmRleCBmMDA0M2JkNTcyZjEzZDg0MjYx
ZjAzYzlhNzEwZWE1NTNmOTkzZjQ0Li42MGEyMDlkMmI4NWYzMDBlMmVjMWEwMWYwZjc4NTc2Mjg3
MzUzNjk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVRdWVy
eVNldERlc2NyaXB0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVR
dWVyeVNldERlc2NyaXB0b3IuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMp
IDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAy
MDIxLTIwMjIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCkBAIC0yNyw3ICsyNyw2IEBACiAKICNpbmNsdWRlICJHUFVJbnRlZ3Jh
bFR5cGVzLmgiCiAjaW5jbHVkZSAiR1BVT2JqZWN0RGVzY3JpcHRvckJhc2UuaCIKLSNpbmNsdWRl
ICJHUFVQaXBlbGluZVN0YXRpc3RpY05hbWUuaCIKICNpbmNsdWRlICJHUFVRdWVyeVR5cGUuaCIK
ICNpbmNsdWRlIDxwYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVF1ZXJ5U2V0RGVzY3JpcHRvci5o
PgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KQEAgLTQyLDE1ICs0MSwxMSBAQCBzdHJ1Y3QgR1BV
UXVlcnlTZXREZXNjcmlwdG9yIDogcHVibGljIEdQVU9iamVjdERlc2NyaXB0b3JCYXNlIHsKICAg
ICAgICAgICAgIHsgbGFiZWwgfSwKICAgICAgICAgICAgIFdlYkNvcmU6OmNvbnZlcnRUb0JhY2tp
bmcodHlwZSksCiAgICAgICAgICAgICBjb3VudCwKLSAgICAgICAgICAgIHBpcGVsaW5lU3RhdGlz
dGljcy5tYXAoW10gKGNvbnN0IGF1dG8mIHBpcGVsaW5lU3RhdGlzdGljKSB7Ci0gICAgICAgICAg
ICAgICAgcmV0dXJuIFdlYkNvcmU6OmNvbnZlcnRUb0JhY2tpbmcocGlwZWxpbmVTdGF0aXN0aWMp
OwotICAgICAgICAgICAgfSksCiAgICAgICAgIH07CiAgICAgfQogCiAgICAgR1BVUXVlcnlUeXBl
IHR5cGUgeyBHUFVRdWVyeVR5cGU6Ok9jY2x1c2lvbiB9OwogICAgIEdQVVNpemUzMiBjb3VudCB7
IDAgfTsKLSAgICBWZWN0b3I8R1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lPiBwaXBlbGluZVN0YXRp
c3RpY3M7CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQ
VS9HUFVRdWVyeVNldERlc2NyaXB0b3IuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJH
UFUvR1BVUXVlcnlTZXREZXNjcmlwdG9yLmlkbAppbmRleCBmY2Q1MWJkOWUxOTc2OWVhZTMyYjVi
YTFjN2U3YTYyZDA4Yzg2MWRjLi4xMDQ1OTBiZmJjOTAxOWQ0MmQ5MDQxNmRlMDBjMDVlNGU2NDM2
YTNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVRdWVyeVNl
dERlc2NyaXB0b3IuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVF1
ZXJ5U2V0RGVzY3JpcHRvci5pZGwKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChD
KSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykg
MjAyMS0yMDIyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucwpAQCAtMzQsNSArMzQsNCBAQCB0eXBlZGVmIFtFbmZvcmNlUmFuZ2Vd
IHVuc2lnbmVkIGxvbmcgR1BVU2l6ZTMyOwogZGljdGlvbmFyeSBHUFVRdWVyeVNldERlc2NyaXB0
b3IgOiBHUFVPYmplY3REZXNjcmlwdG9yQmFzZSB7CiAgICAgcmVxdWlyZWQgR1BVUXVlcnlUeXBl
IHR5cGU7CiAgICAgcmVxdWlyZWQgR1BVU2l6ZTMyIGNvdW50OwotICAgIHNlcXVlbmNlPEdQVVBp
cGVsaW5lU3RhdGlzdGljTmFtZT4gcGlwZWxpbmVTdGF0aXN0aWNzID0gW107CiB9OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUXVlcnlUeXBlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVRdWVyeVR5cGUuaAppbmRleCBlN2E1NzcyZTQ4
NjNjN2M2Yzc4NzhhNDY4NWJhNDQ1NjY4Njk3MGRlLi43NDI3YzZjOWVlN2M3MDhhMDBlOTYyNjM3
YzE0OWYyODA4NDg2NzFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQ
VS9HUFVRdWVyeVR5cGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVR
dWVyeVR5cGUuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDIxLTIwMjIg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCkBAIC0zMiw3ICszMiw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogZW51bSBjbGFz
cyBHUFVRdWVyeVR5cGUgOiB1aW50OF90IHsKICAgICBPY2NsdXNpb24sCi0gICAgUGlwZWxpbmVT
dGF0aXN0aWNzLAogICAgIFRpbWVzdGFtcCwKIH07CiAKQEAgLTQxLDggKzQwLDYgQEAgaW5saW5l
IFBBTDo6V2ViR1BVOjpRdWVyeVR5cGUgY29udmVydFRvQmFja2luZyhHUFVRdWVyeVR5cGUgcXVl
cnlUeXBlKQogICAgIHN3aXRjaCAocXVlcnlUeXBlKSB7CiAgICAgY2FzZSBHUFVRdWVyeVR5cGU6
Ok9jY2x1c2lvbjoKICAgICAgICAgcmV0dXJuIFBBTDo6V2ViR1BVOjpRdWVyeVR5cGU6Ok9jY2x1
c2lvbjsKLSAgICBjYXNlIEdQVVF1ZXJ5VHlwZTo6UGlwZWxpbmVTdGF0aXN0aWNzOgotICAgICAg
ICByZXR1cm4gUEFMOjpXZWJHUFU6OlF1ZXJ5VHlwZTo6UGlwZWxpbmVTdGF0aXN0aWNzOwogICAg
IGNhc2UgR1BVUXVlcnlUeXBlOjpUaW1lc3RhbXA6CiAgICAgICAgIHJldHVybiBQQUw6OldlYkdQ
VTo6UXVlcnlUeXBlOjpUaW1lc3RhbXA7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9XZWJHUFUvR1BVUXVlcnlUeXBlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvV2ViR1BVL0dQVVF1ZXJ5VHlwZS5pZGwKaW5kZXggNTQ4MWI5MjJhMjMxZGU3YWY5NThkYzk0
MjNmZTIyY2IxYTNmOTU2Ni4uZTY0ZWFkZmQyMjExYjE4ZDI1M2NkOWU1YjI1ZmVhYWRiNTIzYzFj
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUXVlcnlUeXBl
LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVRdWVyeVR5cGUuaWRs
CkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEtMjAyMiBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAg
LTMwLDYgKzMwLDUgQEAKIF0KIGVudW0gR1BVUXVlcnlUeXBlIHsKICAgICAib2NjbHVzaW9uIiwK
LSAgICAicGlwZWxpbmUtc3RhdGlzdGljcyIsCiAgICAgInRpbWVzdGFtcCIKIH07CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVRdWV1ZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVRdWV1ZS5jcHAKaW5kZXggZjU4NjE5MDJjZmZlNjZm
Mjg4ZTVhNjc3OTlmMjM1NWY1ZDM3NzRiMy4uZmZmYTJjZTI5MWI0MTQ0ZGRiYTIzNzM1NmMzZWNh
Mzg0YjE5YTdlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BV
UXVldWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVF1ZXVlLmNw
cApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDIxLTIwMjIgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBA
IC02MywxMCArNjMsMTAgQEAgdm9pZCBHUFVRdWV1ZTo6d3JpdGVCdWZmZXIoCiAgICAgY29uc3Qg
R1BVQnVmZmVyJiBidWZmZXIsCiAgICAgR1BVU2l6ZTY0IGJ1ZmZlck9mZnNldCwKICAgICBCdWZm
ZXJTb3VyY2UmJiBkYXRhLAotICAgIHN0ZDo6b3B0aW9uYWw8R1BVU2l6ZTY0PiBkYXRhT2Zmc2V0
LAorICAgIEdQVVNpemU2NCBkYXRhT2Zmc2V0LAogICAgIHN0ZDo6b3B0aW9uYWw8R1BVU2l6ZTY0
PiBzaXplKQogewotICAgIG1fYmFja2luZy0+d3JpdGVCdWZmZXIoYnVmZmVyLmJhY2tpbmcoKSwg
YnVmZmVyT2Zmc2V0LCBkYXRhLmRhdGEoKSwgZGF0YS5sZW5ndGgoKSwgZGF0YU9mZnNldC52YWx1
ZV9vcigwKSwgc2l6ZSk7CisgICAgbV9iYWNraW5nLT53cml0ZUJ1ZmZlcihidWZmZXIuYmFja2lu
ZygpLCBidWZmZXJPZmZzZXQsIGRhdGEuZGF0YSgpLCBkYXRhLmxlbmd0aCgpLCBkYXRhT2Zmc2V0
LCBzaXplKTsKIH0KIAogdm9pZCBHUFVRdWV1ZTo6d3JpdGVUZXh0dXJlKApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUXVldWUuaCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvV2ViR1BVL0dQVVF1ZXVlLmgKaW5kZXggZmVjMmZiZDI3NGRmOTVkMzQ1NjlkZGJh
NWRiNWUwYzAyN2MyMzdkZi4uMmNkMjRmMDhmMGFiYTNjN2ZjZGMxMGEzMmQ1YzI0NzJiOTZmYzc1
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUXVldWUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVRdWV1ZS5oCkBAIC0xLDUgKzEs
NSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEtMjAyMiBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTY1LDcgKzY1LDcg
QEAgcHVibGljOgogICAgICAgICBjb25zdCBHUFVCdWZmZXImLAogICAgICAgICBHUFVTaXplNjQg
YnVmZmVyT2Zmc2V0LAogICAgICAgICBCdWZmZXJTb3VyY2UmJiBkYXRhLAotICAgICAgICBzdGQ6
Om9wdGlvbmFsPEdQVVNpemU2ND4gZGF0YU9mZnNldCwKKyAgICAgICAgR1BVU2l6ZTY0IGRhdGFP
ZmZzZXQsCiAgICAgICAgIHN0ZDo6b3B0aW9uYWw8R1BVU2l6ZTY0Pik7CiAKICAgICB2b2lkIHdy
aXRlVGV4dHVyZSgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQ
VVJlbmRlckJ1bmRsZUVuY29kZXIuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUv
R1BVUmVuZGVyQnVuZGxlRW5jb2Rlci5pZGwKaW5kZXggY2ZjNjg2ZDNjNjVhZDI2NDBjZTUyMmEw
YjliNGYzMGMwNDM2NjM4NS4uMGQxNzU0YjZhYTZiNWQwNTI5NDMwMTE0NmNkZGMwN2M2MDAwZGE3
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyQnVu
ZGxlRW5jb2Rlci5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVu
ZGVyQnVuZGxlRW5jb2Rlci5pZGwKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChD
KSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykg
MjAyMS0yMDIyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucwpAQCAtMzQsNSArMzQsNyBAQCBpbnRlcmZhY2UgR1BVUmVuZGVyQnVu
ZGxlRW5jb2RlciB7CiAgICAgR1BVUmVuZGVyQnVuZGxlIGZpbmlzaChvcHRpb25hbCBHUFVSZW5k
ZXJCdW5kbGVEZXNjcmlwdG9yIGRlc2NyaXB0b3IpOwogfTsKIEdQVVJlbmRlckJ1bmRsZUVuY29k
ZXIgaW5jbHVkZXMgR1BVT2JqZWN0QmFzZTsKK0dQVVJlbmRlckJ1bmRsZUVuY29kZXIgaW5jbHVk
ZXMgR1BVQ29tbWFuZHNNaXhpbjsKK0dQVVJlbmRlckJ1bmRsZUVuY29kZXIgaW5jbHVkZXMgR1BV
RGVidWdDb21tYW5kc01peGluOwogR1BVUmVuZGVyQnVuZGxlRW5jb2RlciBpbmNsdWRlcyBHUFVQ
cm9ncmFtbWFibGVQYXNzRW5jb2RlcjsKIEdQVVJlbmRlckJ1bmRsZUVuY29kZXIgaW5jbHVkZXMg
R1BVUmVuZGVyRW5jb2RlckJhc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L1dlYkdQVS9HUFVSZW5kZXJCdW5kbGVFbmNvZGVyRGVzY3JpcHRvci5oIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyQnVuZGxlRW5jb2RlckRlc2NyaXB0b3IuaAppbmRl
eCA4ZDE4NDUyNjA2MDU3MjRkZjIyNDcwMWU2ZDNhNTUyNjAyOWM2ZTU0Li4yYjBlMDkxODg2ZWI3
NDA2NzI4ZGFlZTI5YTYxY2U4YjlhOGRmNjA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJCdW5kbGVFbmNvZGVyRGVzY3JpcHRvci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlckJ1bmRsZUVuY29kZXJEZXNjcmlw
dG9yLmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAyMS0yMDIyIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwpAQCAtMzYsOCArMzYsMTAgQEAgc3RydWN0IEdQVVJlbmRlckJ1bmRsZUVuY29kZXJEZXNjcmlw
dG9yIDogcHVibGljIEdQVVJlbmRlclBhc3NMYXlvdXQgewogICAgICAgICByZXR1cm4gewogICAg
ICAgICAgICAgewogICAgICAgICAgICAgICAgIHsgbGFiZWwgfSwKLSAgICAgICAgICAgICAgICBj
b2xvckZvcm1hdHMubWFwKFtdIChjb25zdCBhdXRvJiBjb2xvckZvcm1hdCkgewotICAgICAgICAg
ICAgICAgICAgICByZXR1cm4gV2ViQ29yZTo6Y29udmVydFRvQmFja2luZyhjb2xvckZvcm1hdCk7
CisgICAgICAgICAgICAgICAgY29sb3JGb3JtYXRzLm1hcChbXSAoYXV0byYgY29sb3JGb3JtYXQp
IC0+IHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlRleHR1cmVGb3JtYXQ+IHsKKyAgICAgICAg
ICAgICAgICAgICAgaWYgKGNvbG9yRm9ybWF0KQorICAgICAgICAgICAgICAgICAgICAgICAgcmV0
dXJuIFdlYkNvcmU6OmNvbnZlcnRUb0JhY2tpbmcoKmNvbG9yRm9ybWF0KTsKKyAgICAgICAgICAg
ICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKICAgICAgICAgICAgICAgICB9KSwKICAgICAg
ICAgICAgICAgICBkZXB0aFN0ZW5jaWxGb3JtYXQgPyBzdGQ6Om9wdGlvbmFsIHsgV2ViQ29yZTo6
Y29udmVydFRvQmFja2luZygqZGVwdGhTdGVuY2lsRm9ybWF0KSB9IDogc3RkOjpudWxsb3B0LAog
ICAgICAgICAgICAgICAgIHNhbXBsZUNvdW50LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudC5oIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudC5oCmluZGV4
IDg4NjU2MDYwY2YwMDA0M2NhODMzNzI0YTdlZjZhM2RjOGM4MzVjYjguLjUwYmUwMmUwOThlMjMx
NmUxNTFlODAwYzY5NWEwN2ZiMmE4MjVkMGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50LmgKQEAg
LTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAyMS0yMDIyIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNDMs
MTMgKzQzLDggQEAgc3RydWN0IEdQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQgewogICAgICAg
ICByZXR1cm4gewogICAgICAgICAgICAgdmlldy0+YmFja2luZygpLAogICAgICAgICAgICAgcmVz
b2x2ZVRhcmdldCA/ICZyZXNvbHZlVGFyZ2V0LT5iYWNraW5nKCkgOiBudWxscHRyLAotICAgICAg
ICAgICAgV1RGOjpzd2l0Y2hPbihsb2FkVmFsdWUsIFsmXSAoR1BVTG9hZE9wIGxvYWRPcCkgLT4g
c3RkOjp2YXJpYW50PFBBTDo6V2ViR1BVOjpMb2FkT3AsIFZlY3Rvcjxkb3VibGU+LCBQQUw6Oldl
YkdQVTo6Q29sb3JEaWN0PiB7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIFdlYkNvcmU6OmNvbnZl
cnRUb0JhY2tpbmcobG9hZE9wKTsKLSAgICAgICAgICAgIH0sIFsmXSAoY29uc3QgVmVjdG9yPGRv
dWJsZT4mIHZlY3RvcikgLT4gc3RkOjp2YXJpYW50PFBBTDo6V2ViR1BVOjpMb2FkT3AsIFZlY3Rv
cjxkb3VibGU+LCBQQUw6OldlYkdQVTo6Q29sb3JEaWN0PiB7Ci0gICAgICAgICAgICAgICAgcmV0
dXJuIHZlY3RvcjsKLSAgICAgICAgICAgIH0sIFsmXSAoY29uc3QgR1BVQ29sb3JEaWN0JiBjb2xv
cikgLT4gc3RkOjp2YXJpYW50PFBBTDo6V2ViR1BVOjpMb2FkT3AsIFZlY3Rvcjxkb3VibGU+LCBQ
QUw6OldlYkdQVTo6Q29sb3JEaWN0PiB7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGNvbG9yLmNv
bnZlcnRUb0JhY2tpbmcoKTsKLSAgICAgICAgICAgIH0pLAorICAgICAgICAgICAgY2xlYXJWYWx1
ZSA/IHN0ZDo6b3B0aW9uYWwgeyBXZWJDb3JlOjpjb252ZXJ0VG9CYWNraW5nKCpjbGVhclZhbHVl
KSB9IDogc3RkOjpudWxsb3B0LAorICAgICAgICAgICAgV2ViQ29yZTo6Y29udmVydFRvQmFja2lu
Zyhsb2FkT3ApLAogICAgICAgICAgICAgV2ViQ29yZTo6Y29udmVydFRvQmFja2luZyhzdG9yZU9w
KSwKICAgICAgICAgfTsKICAgICB9CkBAIC01Nyw3ICs1Miw4IEBAIHN0cnVjdCBHUFVSZW5kZXJQ
YXNzQ29sb3JBdHRhY2htZW50IHsKICAgICBHUFVUZXh0dXJlVmlldyogdmlldyB7IG51bGxwdHIg
fTsKICAgICBHUFVUZXh0dXJlVmlldyogcmVzb2x2ZVRhcmdldCB7IG51bGxwdHIgfTsKIAotICAg
IHN0ZDo6dmFyaWFudDxHUFVMb2FkT3AsIFZlY3Rvcjxkb3VibGU+LCBHUFVDb2xvckRpY3Q+IGxv
YWRWYWx1ZTsKKyAgICBzdGQ6Om9wdGlvbmFsPEdQVUNvbG9yPiBjbGVhclZhbHVlOworICAgIEdQ
VUxvYWRPcCBsb2FkT3AgeyBHUFVMb2FkT3A6OkxvYWQgfTsKICAgICBHUFVTdG9yZU9wIHN0b3Jl
T3AgeyBHUFVTdG9yZU9wOjpTdG9yZSB9OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudC5pZGwgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50Lmlk
bAppbmRleCAyYmRjNmM0MzljMzkyMmU5NTA2N2NhYzI2MTY0MDczYTAzN2U1MWQwLi43MDk3MzRi
NDMwZWNhZWZiMThkNzZjZmUxNGIwYzg3YWUzODg5NDVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50LmlkbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2ht
ZW50LmlkbApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDIxLTIwMjIgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCkBAIC0zNSw2ICszNSw3IEBAIGRpY3Rpb25hcnkgR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNo
bWVudCB7CiAgICAgcmVxdWlyZWQgR1BVVGV4dHVyZVZpZXcgdmlldzsKICAgICBHUFVUZXh0dXJl
VmlldyByZXNvbHZlVGFyZ2V0OwogCi0gICAgcmVxdWlyZWQgKEdQVUxvYWRPcCBvciBHUFVDb2xv
cikgbG9hZFZhbHVlOworICAgIEdQVUNvbG9yIGNsZWFyVmFsdWU7CisgICAgcmVxdWlyZWQgR1BV
TG9hZE9wIGxvYWRPcDsKICAgICByZXF1aXJlZCBHUFVTdG9yZU9wIHN0b3JlT3A7CiB9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0RlcHRo
U3RlbmNpbEF0dGFjaG1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJl
bmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50LmgKaW5kZXggZmEzZmI3NjAwMTgxMGZiNjBl
YTMyODFjNzJmNzk0M2UwYTMxMzcyMi4uZjI4MWIwMDI0MmI3ZWM0NzEyMDkzYzkwZGUyMTgxOGM0
OTRkMmYzOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVu
ZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNobWVudC5oCkBAIC0xLDUg
KzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEtMjAyMiBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTQxLDMxICs0
MSwyNyBAQCBzdHJ1Y3QgR1BVUmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQgewogICAg
ICAgICBBU1NFUlQodmlldyk7CiAgICAgICAgIHJldHVybiB7CiAgICAgICAgICAgICB2aWV3LT5i
YWNraW5nKCksCi0gICAgICAgICAgICBXVEY6OnN3aXRjaE9uKGRlcHRoTG9hZFZhbHVlLCBbJl0g
KEdQVUxvYWRPcCBsb2FkT3ApIC0+IHN0ZDo6dmFyaWFudDxQQUw6OldlYkdQVTo6TG9hZE9wLCBm
bG9hdD4gewotICAgICAgICAgICAgICAgIHJldHVybiBXZWJDb3JlOjpjb252ZXJ0VG9CYWNraW5n
KGxvYWRPcCk7Ci0gICAgICAgICAgICB9LCBbJl0gKGZsb2F0IGYpIC0+IHN0ZDo6dmFyaWFudDxQ
QUw6OldlYkdQVTo6TG9hZE9wLCBmbG9hdD4gewotICAgICAgICAgICAgICAgIHJldHVybiBmOwot
ICAgICAgICAgICAgfSksCi0gICAgICAgICAgICBXZWJDb3JlOjpjb252ZXJ0VG9CYWNraW5nKGRl
cHRoU3RvcmVPcCksCisgICAgICAgICAgICBkZXB0aENsZWFyVmFsdWUsCisgICAgICAgICAgICBk
ZXB0aExvYWRPcCA/IHN0ZDo6b3B0aW9uYWwgeyBXZWJDb3JlOjpjb252ZXJ0VG9CYWNraW5nKCpk
ZXB0aExvYWRPcCkgfSA6IHN0ZDo6bnVsbG9wdCwKKyAgICAgICAgICAgIGRlcHRoU3RvcmVPcCA/
IHN0ZDo6b3B0aW9uYWwgeyBXZWJDb3JlOjpjb252ZXJ0VG9CYWNraW5nKCpkZXB0aFN0b3JlT3Ap
IH0gOiBzdGQ6Om51bGxvcHQsCiAgICAgICAgICAgICBkZXB0aFJlYWRPbmx5LAotICAgICAgICAg
ICAgV1RGOjpzd2l0Y2hPbihzdGVuY2lsTG9hZFZhbHVlLCBbJl0gKEdQVUxvYWRPcCBsb2FkT3Ap
IC0+IHN0ZDo6dmFyaWFudDxQQUw6OldlYkdQVTo6TG9hZE9wLCBQQUw6OldlYkdQVTo6U3RlbmNp
bFZhbHVlPiB7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIFdlYkNvcmU6OmNvbnZlcnRUb0JhY2tp
bmcobG9hZE9wKTsKLSAgICAgICAgICAgIH0sIFsmXSAoR1BVU3RlbmNpbFZhbHVlIHN0ZW5jaWxW
YWx1ZSkgLT4gc3RkOjp2YXJpYW50PFBBTDo6V2ViR1BVOjpMb2FkT3AsIFBBTDo6V2ViR1BVOjpT
dGVuY2lsVmFsdWU+IHsKLSAgICAgICAgICAgICAgICByZXR1cm4gc3RlbmNpbFZhbHVlOwotICAg
ICAgICAgICAgfSksCi0gICAgICAgICAgICBXZWJDb3JlOjpjb252ZXJ0VG9CYWNraW5nKHN0ZW5j
aWxTdG9yZU9wKSwKKyAgICAgICAgICAgIHN0ZW5jaWxDbGVhclZhbHVlLAorICAgICAgICAgICAg
c3RlbmNpbExvYWRPcCA/IHN0ZDo6b3B0aW9uYWwgeyBXZWJDb3JlOjpjb252ZXJ0VG9CYWNraW5n
KCpzdGVuY2lsTG9hZE9wKSB9IDogc3RkOjpudWxsb3B0LAorICAgICAgICAgICAgc3RlbmNpbFN0
b3JlT3AgPyBzdGQ6Om9wdGlvbmFsIHsgV2ViQ29yZTo6Y29udmVydFRvQmFja2luZygqc3RlbmNp
bFN0b3JlT3ApIH0gOiBzdGQ6Om51bGxvcHQsCiAgICAgICAgICAgICBzdGVuY2lsUmVhZE9ubHks
CiAgICAgICAgIH07CiAgICAgfQogCiAgICAgR1BVVGV4dHVyZVZpZXcqIHZpZXcgeyBudWxscHRy
IH07CiAKLSAgICBzdGQ6OnZhcmlhbnQ8R1BVTG9hZE9wLCBmbG9hdD4gZGVwdGhMb2FkVmFsdWU7
Ci0gICAgR1BVU3RvcmVPcCBkZXB0aFN0b3JlT3AgeyBHUFVTdG9yZU9wOjpTdG9yZSB9OworICAg
IGZsb2F0IGRlcHRoQ2xlYXJWYWx1ZSB7IDAgfTsKKyAgICBzdGQ6Om9wdGlvbmFsPEdQVUxvYWRP
cD4gZGVwdGhMb2FkT3A7CisgICAgc3RkOjpvcHRpb25hbDxHUFVTdG9yZU9wPiBkZXB0aFN0b3Jl
T3A7CiAgICAgYm9vbCBkZXB0aFJlYWRPbmx5IHsgZmFsc2UgfTsKIAotICAgIHN0ZDo6dmFyaWFu
dDxHUFVMb2FkT3AsIEdQVVN0ZW5jaWxWYWx1ZT4gc3RlbmNpbExvYWRWYWx1ZTsKLSAgICBHUFVT
dG9yZU9wIHN0ZW5jaWxTdG9yZU9wIHsgR1BVU3RvcmVPcDo6U3RvcmUgfTsKKyAgICBHUFVTdGVu
Y2lsVmFsdWUgc3RlbmNpbENsZWFyVmFsdWUgeyAwIH07CisgICAgc3RkOjpvcHRpb25hbDxHUFVM
b2FkT3A+IHN0ZW5jaWxMb2FkT3A7CisgICAgc3RkOjpvcHRpb25hbDxHUFVTdG9yZU9wPiBzdGVu
Y2lsU3RvcmVPcDsKICAgICBib29sIHN0ZW5jaWxSZWFkT25seSB7IGZhbHNlIH07CiB9OwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzRGVw
dGhTdGVuY2lsQXR0YWNobWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9H
UFVSZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNobWVudC5pZGwKaW5kZXggMzc1MDIxOWEyODVi
NzIxY2M4NTY1N2M5NWRmYTlkY2M0YTVkMDExOC4uMDMxM2Y5NzE2OGZkYWU2ZGI5ZWZlYmYzN2Iy
MzEzYzI2OWRhZjM4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUv
R1BVUmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50Lmlk
bApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDIxLTIwMjIgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBA
IC0zNCwxMSArMzQsMTMgQEAgdHlwZWRlZiBbRW5mb3JjZVJhbmdlXSB1bnNpZ25lZCBsb25nIEdQ
VVN0ZW5jaWxWYWx1ZTsKIGRpY3Rpb25hcnkgR1BVUmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFj
aG1lbnQgewogICAgIHJlcXVpcmVkIEdQVVRleHR1cmVWaWV3IHZpZXc7CiAKLSAgICByZXF1aXJl
ZCAoR1BVTG9hZE9wIG9yIGZsb2F0KSBkZXB0aExvYWRWYWx1ZTsKLSAgICByZXF1aXJlZCBHUFVT
dG9yZU9wIGRlcHRoU3RvcmVPcDsKKyAgICBmbG9hdCBkZXB0aENsZWFyVmFsdWUgPSAwOworICAg
IEdQVUxvYWRPcCBkZXB0aExvYWRPcDsKKyAgICBHUFVTdG9yZU9wIGRlcHRoU3RvcmVPcDsKICAg
ICBib29sZWFuIGRlcHRoUmVhZE9ubHkgPSBmYWxzZTsKIAotICAgIHJlcXVpcmVkIChHUFVMb2Fk
T3Agb3IgR1BVU3RlbmNpbFZhbHVlKSBzdGVuY2lsTG9hZFZhbHVlOwotICAgIHJlcXVpcmVkIEdQ
VVN0b3JlT3Agc3RlbmNpbFN0b3JlT3A7CisgICAgR1BVU3RlbmNpbFZhbHVlIHN0ZW5jaWxDbGVh
clZhbHVlID0gMDsKKyAgICBHUFVMb2FkT3Agc3RlbmNpbExvYWRPcDsKKyAgICBHUFVTdG9yZU9w
IHN0ZW5jaWxTdG9yZU9wOwogICAgIGJvb2xlYW4gc3RlbmNpbFJlYWRPbmx5ID0gZmFsc2U7CiB9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFz
c0Rlc2NyaXB0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBh
c3NEZXNjcmlwdG9yLmgKaW5kZXggNTgyYWZlMWU5NzM4MGYyOGFlMTUxMWZhZmMxYjUzNzFhMjhm
ZTQ3MS4uNmViODAzNjIwZjIwYWIyNTBkMDlkMjdjNzExNzJkOTA1OGFjNjYyNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3Iu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzRGVzY3Jp
cHRvci5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEtMjAyMiBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKQEAgLTQyLDggKzQyLDEwIEBAIHN0cnVjdCBHUFVSZW5kZXJQYXNzRGVzY3JpcHRvciA6IHB1
YmxpYyBHUFVPYmplY3REZXNjcmlwdG9yQmFzZSB7CiAgICAgewogICAgICAgICByZXR1cm4gewog
ICAgICAgICAgICAgeyBsYWJlbCB9LAotICAgICAgICAgICAgY29sb3JBdHRhY2htZW50cy5tYXAo
W10gKGF1dG8mIGNvbG9yQXR0YWNobWVudCkgewotICAgICAgICAgICAgICAgIHJldHVybiBjb2xv
ckF0dGFjaG1lbnQuY29udmVydFRvQmFja2luZygpOworICAgICAgICAgICAgY29sb3JBdHRhY2ht
ZW50cy5tYXAoW10gKGF1dG8mIGNvbG9yQXR0YWNobWVudCkgLT4gc3RkOjpvcHRpb25hbDxQQUw6
OldlYkdQVTo6UmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudD4geworICAgICAgICAgICAgICAgIGlm
IChjb2xvckF0dGFjaG1lbnQpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBjb2xvckF0dGFj
aG1lbnQtPmNvbnZlcnRUb0JhY2tpbmcoKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gc3RkOjpu
dWxsb3B0OwogICAgICAgICAgICAgfSksCiAgICAgICAgICAgICBkZXB0aFN0ZW5jaWxBdHRhY2ht
ZW50ID8gc3RkOjpvcHRpb25hbCB7IGRlcHRoU3RlbmNpbEF0dGFjaG1lbnQtPmNvbnZlcnRUb0Jh
Y2tpbmcoKSB9IDogc3RkOjpudWxsb3B0LAogICAgICAgICAgICAgb2NjbHVzaW9uUXVlcnlTZXQg
PyAmb2NjbHVzaW9uUXVlcnlTZXQtPmJhY2tpbmcoKSA6IG51bGxwdHIsCkBAIC01MSw3ICs1Myw3
IEBAIHN0cnVjdCBHUFVSZW5kZXJQYXNzRGVzY3JpcHRvciA6IHB1YmxpYyBHUFVPYmplY3REZXNj
cmlwdG9yQmFzZSB7CiAgICAgICAgIH07CiAgICAgfQogCi0gICAgVmVjdG9yPEdQVVJlbmRlclBh
c3NDb2xvckF0dGFjaG1lbnQ+IGNvbG9yQXR0YWNobWVudHM7CisgICAgVmVjdG9yPHN0ZDo6b3B0
aW9uYWw8R1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudD4+IGNvbG9yQXR0YWNobWVudHM7CiAg
ICAgc3RkOjpvcHRpb25hbDxHUFVSZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNobWVudD4gZGVw
dGhTdGVuY2lsQXR0YWNobWVudDsKICAgICBHUFVRdWVyeVNldCogb2NjbHVzaW9uUXVlcnlTZXQg
eyBudWxscHRyIH07CiAgICAgR1BVUmVuZGVyUGFzc1RpbWVzdGFtcFdyaXRlcyB0aW1lc3RhbXBX
cml0ZXM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5k
ZXJQYXNzRGVzY3JpcHRvci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVS
ZW5kZXJQYXNzRGVzY3JpcHRvci5pZGwKaW5kZXggMGMxY2RlMzg4ZjJmMGM2YWU0M2E2Y2I1MDMw
NmFmNTkzOGM3NDJjNi4uNzU5NGZjNWNlMTY3OGU1YjU0YTIwMmMzNjEzZjFhMGM0Yjk4MDU5OSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0Rl
c2NyaXB0b3IuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRl
clBhc3NEZXNjcmlwdG9yLmlkbApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMp
IDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAy
MDIxLTIwMjIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCkBAIC0zMiw3ICszMiw3IEBAIHR5cGVkZWYgc2VxdWVuY2U8R1BVUmVu
ZGVyUGFzc1RpbWVzdGFtcFdyaXRlPiBHUFVSZW5kZXJQYXNzVGltZXN0YW1wV3JpdGVzOwogICAg
IEVuYWJsZWRCeVNldHRpbmc9V2ViR1BVCiBdCiBkaWN0aW9uYXJ5IEdQVVJlbmRlclBhc3NEZXNj
cmlwdG9yIDogR1BVT2JqZWN0RGVzY3JpcHRvckJhc2UgewotICAgIHJlcXVpcmVkIHNlcXVlbmNl
PEdQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQ+IGNvbG9yQXR0YWNobWVudHM7CisgICAgcmVx
dWlyZWQgc2VxdWVuY2U8R1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudD8+IGNvbG9yQXR0YWNo
bWVudHM7CiAgICAgR1BVUmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQgZGVwdGhTdGVu
Y2lsQXR0YWNobWVudDsKICAgICBHUFVRdWVyeVNldCBvY2NsdXNpb25RdWVyeVNldDsKICAgICBH
UFVSZW5kZXJQYXNzVGltZXN0YW1wV3JpdGVzIHRpbWVzdGFtcFdyaXRlcyA9IFtdOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0VuY29kZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0VuY29kZXIu
Y3BwCmluZGV4IGE5NTEwMTY2ZjhiZTgyMTJlNzZjYWZlNGE3ZTJhNDYyOTVmMmJiODEuLmQwMWQx
OGQyMzM4ZGQ2Nzk5NTE2MDM1ZmY4ZTBiNjU2OGRhMjdlMTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NFbmNvZGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzRW5jb2Rlci5jcHAKQEAgLTEs
NSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAyMS0yMDIyIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMTQ1LDE2
ICsxNDUsNiBAQCB2b2lkIEdQVVJlbmRlclBhc3NFbmNvZGVyOjplbmRPY2NsdXNpb25RdWVyeSgp
CiAgICAgbV9iYWNraW5nLT5lbmRPY2NsdXNpb25RdWVyeSgpOwogfQogCi12b2lkIEdQVVJlbmRl
clBhc3NFbmNvZGVyOjpiZWdpblBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KGNvbnN0IEdQVVF1ZXJ5
U2V0JiBxdWVyeVNldCwgR1BVU2l6ZTMyIHF1ZXJ5SW5kZXgpCi17Ci0gICAgbV9iYWNraW5nLT5i
ZWdpblBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KHF1ZXJ5U2V0LmJhY2tpbmcoKSwgcXVlcnlJbmRl
eCk7Ci19Ci0KLXZvaWQgR1BVUmVuZGVyUGFzc0VuY29kZXI6OmVuZFBpcGVsaW5lU3RhdGlzdGlj
c1F1ZXJ5KCkKLXsKLSAgICBtX2JhY2tpbmctPmVuZFBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KCk7
Ci19Ci0KIHZvaWQgR1BVUmVuZGVyUGFzc0VuY29kZXI6OmV4ZWN1dGVCdW5kbGVzKFZlY3RvcjxS
ZWZQdHI8R1BVUmVuZGVyQnVuZGxlPj4mJiBidW5kbGVzKQogewogICAgIFZlY3RvcjxzdGQ6OnJl
ZmVyZW5jZV93cmFwcGVyPFBBTDo6V2ViR1BVOjpSZW5kZXJCdW5kbGU+PiByZXN1bHQ7CkBAIC0x
NjcsOSArMTU3LDkgQEAgdm9pZCBHUFVSZW5kZXJQYXNzRW5jb2Rlcjo6ZXhlY3V0ZUJ1bmRsZXMo
VmVjdG9yPFJlZlB0cjxHUFVSZW5kZXJCdW5kbGU+PiYmIGJ1bmQKICAgICBtX2JhY2tpbmctPmV4
ZWN1dGVCdW5kbGVzKFdURk1vdmUocmVzdWx0KSk7CiB9CiAKLXZvaWQgR1BVUmVuZGVyUGFzc0Vu
Y29kZXI6OmVuZFBhc3MoKQordm9pZCBHUFVSZW5kZXJQYXNzRW5jb2Rlcjo6ZW5kKCkKIHsKLSAg
ICBtX2JhY2tpbmctPmVuZFBhc3MoKTsKKyAgICBtX2JhY2tpbmctPmVuZCgpOwogfQogCiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzRW5j
b2Rlci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0VuY29k
ZXIuaAppbmRleCBmYzgxNzFjNGFlYTRlZWUzNmQ4YzI3MDc3ODY2ZTc2MGRiNmVkZGU3Li5hMGJm
MmY4YWM2ZWUwZjY3ODhiM2I5NmVmMmM3M2JhMzljNWM0ZWNhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzRW5jb2Rlci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NFbmNvZGVyLmgKQEAgLTEsNSAr
MSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAyMS0yMDIyIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtOTUsMTEgKzk1
LDggQEAgcHVibGljOgogICAgIHZvaWQgYmVnaW5PY2NsdXNpb25RdWVyeShHUFVTaXplMzIgcXVl
cnlJbmRleCk7CiAgICAgdm9pZCBlbmRPY2NsdXNpb25RdWVyeSgpOwogCi0gICAgdm9pZCBiZWdp
blBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KGNvbnN0IEdQVVF1ZXJ5U2V0JiwgR1BVU2l6ZTMyIHF1
ZXJ5SW5kZXgpOwotICAgIHZvaWQgZW5kUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkoKTsKLQogICAg
IHZvaWQgZXhlY3V0ZUJ1bmRsZXMoVmVjdG9yPFJlZlB0cjxHUFVSZW5kZXJCdW5kbGU+PiYmKTsK
LSAgICB2b2lkIGVuZFBhc3MoKTsKKyAgICB2b2lkIGVuZCgpOwogCiAgICAgUEFMOjpXZWJHUFU6
OlJlbmRlclBhc3NFbmNvZGVyJiBiYWNraW5nKCkgeyByZXR1cm4gbV9iYWNraW5nOyB9CiAgICAg
Y29uc3QgUEFMOjpXZWJHUFU6OlJlbmRlclBhc3NFbmNvZGVyJiBiYWNraW5nKCkgY29uc3QgeyBy
ZXR1cm4gbV9iYWNraW5nOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dl
YkdQVS9HUFVSZW5kZXJQYXNzRW5jb2Rlci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dl
YkdQVS9HUFVSZW5kZXJQYXNzRW5jb2Rlci5pZGwKaW5kZXggNDg4NWVhMzY4YzQwM2YwYWE4NTFj
MDY4ZmJjYzA3MmQwMjcxYTY5ZC4uYmIwODc1MDhlMDg3Mjc0ZjExOTEyMDhlMGViMjQ4NWEyZGJk
NTgzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVy
UGFzc0VuY29kZXIuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJl
bmRlclBhc3NFbmNvZGVyLmlkbApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMp
IDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAy
MDIxLTIwMjIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCkBAIC01MCwxMiArNTAsMTEgQEAgaW50ZXJmYWNlIEdQVVJlbmRlclBh
c3NFbmNvZGVyIHsKICAgICB1bmRlZmluZWQgYmVnaW5PY2NsdXNpb25RdWVyeShHUFVTaXplMzIg
cXVlcnlJbmRleCk7CiAgICAgdW5kZWZpbmVkIGVuZE9jY2x1c2lvblF1ZXJ5KCk7CiAKLSAgICB1
bmRlZmluZWQgYmVnaW5QaXBlbGluZVN0YXRpc3RpY3NRdWVyeShHUFVRdWVyeVNldCBxdWVyeVNl
dCwgR1BVU2l6ZTMyIHF1ZXJ5SW5kZXgpOwotICAgIHVuZGVmaW5lZCBlbmRQaXBlbGluZVN0YXRp
c3RpY3NRdWVyeSgpOwotCiAgICAgdW5kZWZpbmVkIGV4ZWN1dGVCdW5kbGVzKHNlcXVlbmNlPEdQ
VVJlbmRlckJ1bmRsZT4gYnVuZGxlcyk7Ci0gICAgdW5kZWZpbmVkIGVuZFBhc3MoKTsKKyAgICB1
bmRlZmluZWQgZW5kKCk7CiB9OwogR1BVUmVuZGVyUGFzc0VuY29kZXIgaW5jbHVkZXMgR1BVT2Jq
ZWN0QmFzZTsKK0dQVVJlbmRlclBhc3NFbmNvZGVyIGluY2x1ZGVzIEdQVUNvbW1hbmRzTWl4aW47
CitHUFVSZW5kZXJQYXNzRW5jb2RlciBpbmNsdWRlcyBHUFVEZWJ1Z0NvbW1hbmRzTWl4aW47CiBH
UFVSZW5kZXJQYXNzRW5jb2RlciBpbmNsdWRlcyBHUFVQcm9ncmFtbWFibGVQYXNzRW5jb2RlcjsK
IEdQVVJlbmRlclBhc3NFbmNvZGVyIGluY2x1ZGVzIEdQVVJlbmRlckVuY29kZXJCYXNlOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0xheW91
dC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0xheW91dC5o
CmluZGV4IGI1YTU0MGFhYWFjNzhkODkwMmNiOTI3YjYyMWMxZWI4MTA0YjM5NTQuLjM4N2Q1Yzc4
NzZhNGQ0MjNkNzViOWU2ZWFjNWE4MmU3YWY2ZTg2N2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NMYXlvdXQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVSZW5kZXJQYXNzTGF5b3V0LmgKQEAgLTEsNSArMSw1IEBA
CiAvKgotICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqIENvcHlyaWdodCAoQykgMjAyMS0yMDIyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMzksMTUgKzM5LDE3IEBA
IHN0cnVjdCBHUFVSZW5kZXJQYXNzTGF5b3V0IDogcHVibGljIEdQVU9iamVjdERlc2NyaXB0b3JC
YXNlIHsKICAgICB7CiAgICAgICAgIHJldHVybiB7CiAgICAgICAgICAgICB7IGxhYmVsIH0sCi0g
ICAgICAgICAgICBjb2xvckZvcm1hdHMubWFwKFtdIChjb25zdCBhdXRvJiBjb2xvckZvcm1hdCkg
ewotICAgICAgICAgICAgICAgIHJldHVybiBXZWJDb3JlOjpjb252ZXJ0VG9CYWNraW5nKGNvbG9y
Rm9ybWF0KTsKKyAgICAgICAgICAgIGNvbG9yRm9ybWF0cy5tYXAoW10gKGF1dG8mIGNvbG9yRm9y
bWF0KSAtPiBzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpUZXh0dXJlRm9ybWF0PiB7CisgICAg
ICAgICAgICAgICAgaWYgKGNvbG9yRm9ybWF0KQorICAgICAgICAgICAgICAgICAgICByZXR1cm4g
V2ViQ29yZTo6Y29udmVydFRvQmFja2luZygqY29sb3JGb3JtYXQpOworICAgICAgICAgICAgICAg
IHJldHVybiBzdGQ6Om51bGxvcHQ7CiAgICAgICAgICAgICB9KSwKICAgICAgICAgICAgIGRlcHRo
U3RlbmNpbEZvcm1hdCA/IHN0ZDo6b3B0aW9uYWwgeyBXZWJDb3JlOjpjb252ZXJ0VG9CYWNraW5n
KCpkZXB0aFN0ZW5jaWxGb3JtYXQpIH0gOiBzdGQ6Om51bGxvcHQsCiAgICAgICAgICAgICBzYW1w
bGVDb3VudCwKICAgICAgICAgfTsKICAgICB9CiAKLSAgICBWZWN0b3I8R1BVVGV4dHVyZUZvcm1h
dD4gY29sb3JGb3JtYXRzOworICAgIFZlY3RvcjxzdGQ6Om9wdGlvbmFsPEdQVVRleHR1cmVGb3Jt
YXQ+PiBjb2xvckZvcm1hdHM7CiAgICAgc3RkOjpvcHRpb25hbDxHUFVUZXh0dXJlRm9ybWF0PiBk
ZXB0aFN0ZW5jaWxGb3JtYXQ7CiAgICAgR1BVU2l6ZTMyIHNhbXBsZUNvdW50IHsgMSB9OwogfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVJlbmRlclBhc3NM
YXlvdXQuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0xh
eW91dC5pZGwKaW5kZXggNGE3Njk2OTJlMjYwMmIwNzVlMDEzYTkwMGRjY2U5MjE5ZjM4NmI1Mi4u
NDFlMzI2YjU5OGY1NDI0ZmRjMjg2ZDQ2NzAxMzkxMzAxZDhkNzY3YyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0xheW91dC5pZGwKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVUmVuZGVyUGFzc0xheW91dC5pZGwKQEAg
LTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAyMS0yMDIyIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMzIs
NyArMzIsNyBAQCB0eXBlZGVmIFtFbmZvcmNlUmFuZ2VdIHVuc2lnbmVkIGxvbmcgR1BVU2l6ZTMy
OwogICAgIEVuYWJsZWRCeVNldHRpbmc9V2ViR1BVCiBdCiBkaWN0aW9uYXJ5IEdQVVJlbmRlclBh
c3NMYXlvdXQgOiBHUFVPYmplY3REZXNjcmlwdG9yQmFzZSB7Ci0gICAgcmVxdWlyZWQgc2VxdWVu
Y2U8R1BVVGV4dHVyZUZvcm1hdD4gY29sb3JGb3JtYXRzOworICAgIHJlcXVpcmVkIHNlcXVlbmNl
PEdQVVRleHR1cmVGb3JtYXQ/PiBjb2xvckZvcm1hdHM7CiAgICAgR1BVVGV4dHVyZUZvcm1hdCBk
ZXB0aFN0ZW5jaWxGb3JtYXQ7CiAgICAgR1BVU2l6ZTMyIHNhbXBsZUNvdW50ID0gMTsKIH07CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVTaGFkZXJNb2R1bGVD
b21waWxhdGlvbkhpbnQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVNoYWRl
ck1vZHVsZUNvbXBpbGF0aW9uSGludC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ5ZWE3YTExNzIyZTMzYTA1ODI3
MzUwMDY4NTE5OWM5YjhkZjBmOTgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL1dlYkdQVS9HUFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQuaApAQCAtMCwwICsx
LDQ1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxLTIwMjIgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIkdQVVBp
cGVsaW5lTGF5b3V0LmgiCisjaW5jbHVkZSA8cGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVTaGFk
ZXJNb2R1bGVDb21waWxhdGlvbkhpbnQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1
Y3QgR1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50IHsKKyAgICBQQUw6OldlYkdQVTo6U2hh
ZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50IGNvbnZlcnRUb0JhY2tpbmcoKSBjb25zdAorICAgIHsK
KyAgICAgICAgQVNTRVJUKGxheW91dCk7CisgICAgICAgIHJldHVybiB7CisgICAgICAgICAgICBs
YXlvdXQtPmJhY2tpbmcoKSwKKyAgICAgICAgfTsKKyAgICB9CisKKyAgICBHUFVQaXBlbGluZUxh
eW91dCogbGF5b3V0IHsgbnVsbHB0ciB9OworfTsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50LmlkbCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVNoYWRlck1vZHVsZUNvbXBpbGF0aW9u
SGludC5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjg4NTZlODlmYmQyMGY4Y2MzYTc1OWE5MTcyZDVjY2M2NTNj
MDA2MwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQ
VVNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludC5pZGwKQEAgLTAsMCArMSwzMyBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAyMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKy8vIGh0dHBzOi8vZ3B1d2ViLmdpdGh1Yi5pby9ncHV3ZWIvI2RpY3RkZWYtZ3B1c2hh
ZGVybW9kdWxlY29tcGlsYXRpb25oaW50CisKK1sKKyAgICBFbmFibGVkQnlTZXR0aW5nPVdlYkdQ
VQorXQorZGljdGlvbmFyeSBHUFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQgeworICAgIHJl
cXVpcmVkIEdQVVBpcGVsaW5lTGF5b3V0IGxheW91dDsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVTaGFkZXJNb2R1bGVEZXNjcmlwdG9yLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVTaGFkZXJNb2R1bGVEZXNjcmlwdG9yLmgKaW5k
ZXggMTYxNzMyNWFmM2FjNzM0NGQyOTc1MWU1NjBlNGY5M2JmNDI1OTEyMi4uZDU2ZDlkOWFlNDI0
ZjhiMDI2OGExZjVlMTcyMTFkNzhhZDMwZDdjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9XZWJHUFUvR1BVU2hhZGVyTW9kdWxlRGVzY3JpcHRvci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVNoYWRlck1vZHVsZURlc2NyaXB0b3IuaApAQCAtMSw1
ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDIxLTIwMjIgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yNiw2ICsy
Niw3IEBACiAjcHJhZ21hIG9uY2UKIAogI2luY2x1ZGUgIkdQVU9iamVjdERlc2NyaXB0b3JCYXNl
LmgiCisjaW5jbHVkZSAiR1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50LmgiCiAjaW5jbHVk
ZSA8SmF2YVNjcmlwdENvcmUvSlNPYmplY3QuaD4KICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9T
dHJvbmcuaD4KICNpbmNsdWRlIDxwYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVNoYWRlck1vZHVs
ZURlc2NyaXB0b3IuaD4KQEAgLTQwLDExICs0MSwxNSBAQCBzdHJ1Y3QgR1BVU2hhZGVyTW9kdWxl
RGVzY3JpcHRvciA6IHB1YmxpYyBHUFVPYmplY3REZXNjcmlwdG9yQmFzZSB7CiAgICAgICAgICAg
ICB7IGxhYmVsIH0sCiAgICAgICAgICAgICBjb2RlLAogICAgICAgICAgICAgLy8gRklYTUU6IEhh
bmRsZSB0aGUgc291cmNlTWFwLgorICAgICAgICAgICAgaGludHMubWFwKFtdIChhdXRvJiBoaW50
KSB7CisgICAgICAgICAgICAgICAgcmV0dXJuIEtleVZhbHVlUGFpcjxTdHJpbmcsIFBBTDo6V2Vi
R1BVOjpTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQ+KGhpbnQua2V5LCBoaW50LnZhbHVlLmNv
bnZlcnRUb0JhY2tpbmcoKSk7CisgICAgICAgICAgICB9KSwKICAgICAgICAgfTsKICAgICB9CiAK
ICAgICBTdHJpbmcgY29kZTsKICAgICBKU0M6OlN0cm9uZzxKU0M6OkpTT2JqZWN0PiBzb3VyY2VN
YXA7CisgICAgVmVjdG9yPEtleVZhbHVlUGFpcjxTdHJpbmcsIEdQVVNoYWRlck1vZHVsZUNvbXBp
bGF0aW9uSGludD4+IGhpbnRzOwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9XZWJHUFUvR1BVU2hhZGVyTW9kdWxlRGVzY3JpcHRvci5pZGwgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVTaGFkZXJNb2R1bGVEZXNjcmlwdG9yLmlkbAppbmRleCBi
OGE3OTU5Y2ViM2MzNzYzZjk2YTZiNjFmM2Y0NWFjMDg2NjcxOGI0Li40N2UxYzQyMDBkYzE1NjY3
M2FmZTVjZTNhNmEzOTFjNTc1NGJmOGEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL1dlYkdQVS9HUFVTaGFkZXJNb2R1bGVEZXNjcmlwdG9yLmlkbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVTaGFkZXJNb2R1bGVEZXNjcmlwdG9yLmlkbApAQCAtMSw1
ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDIxLTIwMjIgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0zMSw0ICsz
MSw1IEBACiBkaWN0aW9uYXJ5IEdQVVNoYWRlck1vZHVsZURlc2NyaXB0b3IgOiBHUFVPYmplY3RE
ZXNjcmlwdG9yQmFzZSB7CiAgICAgcmVxdWlyZWQgVVNWU3RyaW5nIGNvZGU7CiAgICAgb2JqZWN0
IHNvdXJjZU1hcDsKKyAgICByZWNvcmQ8VVNWU3RyaW5nLCBHUFVTaGFkZXJNb2R1bGVDb21waWxh
dGlvbkhpbnQ+IGhpbnRzOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
V2ViR1BVL0dQVVRleHR1cmVEZXNjcmlwdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dl
YkdQVS9HUFVUZXh0dXJlRGVzY3JpcHRvci5oCmluZGV4IGM3ZDhiMjdhYzEzZThiZWRmOTRjZWY2
NzZjMjhiODU0MTU2NWEzZDguLmM3YzYwN2FjZjBmODIwMDcyOTMxN2ZhMzk0Y2Y4Y2U2NDEyOWQy
YTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVRleHR1cmVE
ZXNjcmlwdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVVGV4dHVy
ZURlc2NyaXB0b3IuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMjEg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDIxLTIw
MjIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCkBAIC00Niw2ICs0Niw5IEBAIHN0cnVjdCBHUFVUZXh0dXJlRGVzY3JpcHRvciA6
IHB1YmxpYyBHUFVPYmplY3REZXNjcmlwdG9yQmFzZSB7CiAgICAgICAgICAgICBXZWJDb3JlOjpj
b252ZXJ0VG9CYWNraW5nKGRpbWVuc2lvbiksCiAgICAgICAgICAgICBXZWJDb3JlOjpjb252ZXJ0
VG9CYWNraW5nKGZvcm1hdCksCiAgICAgICAgICAgICBjb252ZXJ0VGV4dHVyZVVzYWdlRmxhZ3NU
b0JhY2tpbmcodXNhZ2UpLAorICAgICAgICAgICAgdmlld0Zvcm1hdHMubWFwKFtdIChhdXRvIHZp
ZXdGb3JtYXQpIHsKKyAgICAgICAgICAgICAgICByZXR1cm4gV2ViQ29yZTo6Y29udmVydFRvQmFj
a2luZyh2aWV3Rm9ybWF0KTsKKyAgICAgICAgICAgIH0pLAogICAgICAgICB9OwogICAgIH0KIApA
QCAtNTUsNiArNTgsNyBAQCBzdHJ1Y3QgR1BVVGV4dHVyZURlc2NyaXB0b3IgOiBwdWJsaWMgR1BV
T2JqZWN0RGVzY3JpcHRvckJhc2UgewogICAgIEdQVVRleHR1cmVEaW1lbnNpb24gZGltZW5zaW9u
IHsgR1BVVGV4dHVyZURpbWVuc2lvbjo6XzJkIH07CiAgICAgR1BVVGV4dHVyZUZvcm1hdCBmb3Jt
YXQgeyBHUFVUZXh0dXJlRm9ybWF0OjpSOHVub3JtIH07CiAgICAgR1BVVGV4dHVyZVVzYWdlRmxh
Z3MgdXNhZ2UgeyAwIH07CisgICAgVmVjdG9yPEdQVVRleHR1cmVGb3JtYXQ+IHZpZXdGb3JtYXRz
OwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BV
VGV4dHVyZURlc2NyaXB0b3IuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BV
VGV4dHVyZURlc2NyaXB0b3IuaWRsCmluZGV4IGIyNGZkMzJmNjc3ODdlYTc2OWEyMDc4OWY1ZTQ4
MzJmY2I0MmM1ZDUuLjEwZjExNzNhMjJiMmVhNTIxY2MwNjQwYmUyN2NiMjYwY2U3NTQ0Y2QgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVRleHR1cmVEZXNjcmlw
dG9yLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVUZXh0dXJlRGVz
Y3JpcHRvci5pZGwKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDIxIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAyMS0yMDIy
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucwpAQCAtNDEsNCArNDEsNSBAQCBkaWN0aW9uYXJ5IEdQVVRleHR1cmVEZXNjcmlwdG9y
IDogR1BVT2JqZWN0RGVzY3JpcHRvckJhc2UgewogICAgIEdQVVRleHR1cmVEaW1lbnNpb24gZGlt
ZW5zaW9uID0gIjJkIjsKICAgICByZXF1aXJlZCBHUFVUZXh0dXJlRm9ybWF0IGZvcm1hdDsKICAg
ICByZXF1aXJlZCBHUFVUZXh0dXJlVXNhZ2VGbGFncyB1c2FnZTsKKyAgICBzZXF1ZW5jZTxHUFVU
ZXh0dXJlRm9ybWF0PiB2aWV3Rm9ybWF0cyA9IFtdOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVRleHR1cmVGb3JtYXQuaCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvV2ViR1BVL0dQVVRleHR1cmVGb3JtYXQuaAppbmRleCBjOWQ4NzIxMDE4OWUyZWQx
Y2M0ZTgzYWQ5ZWFhZGU5NDg4YWIyMTAwLi5lODI3ODQ3YTk0ZjEwMTUxYzgwYjYzMWUxODAwYzY5
ZWJjZWVmM2EzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVU
ZXh0dXJlRm9ybWF0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVVGV4
dHVyZUZvcm1hdC5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAyMSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEtMjAy
MiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKQEAgLTc4LDEzICs3OCwxOSBAQCBlbnVtIGNsYXNzIEdQVVRleHR1cmVGb3JtYXQg
OiB1aW50OF90IHsKICAgICBSZ2JhMzJzaW50LAogICAgIFJnYmEzMmZsb2F0LAogCi0gICAgLy8g
RGVwdGggYW5kIHN0ZW5jaWwgZm9ybWF0cworICAgIC8vIERlcHRoL3N0ZW5jaWwgZm9ybWF0cwog
ICAgIFN0ZW5jaWw4LAogICAgIERlcHRoMTZ1bm9ybSwKICAgICBEZXB0aDI0cGx1cywKICAgICBE
ZXB0aDI0cGx1c1N0ZW5jaWw4LAogICAgIERlcHRoMzJmbG9hdCwKIAorICAgIC8vIGRlcHRoMjR1
bm9ybS1zdGVuY2lsOCBmZWF0dXJlCisgICAgRGVwdGgyNHVub3JtU3RlbmNpbDgsCisKKyAgICAv
LyBkZXB0aDMyZmxvYXQtc3RlbmNpbDggZmVhdHVyZQorICAgIERlcHRoMzJmbG9hdFN0ZW5jaWw4
LAorCiAgICAgLy8gQkMgY29tcHJlc3NlZCBmb3JtYXRzIHVzYWJsZSBpZiB0ZXh0dXJlLWNvbXBy
ZXNzaW9uLWJjIGlzIGJvdGgKICAgICAvLyBzdXBwb3J0ZWQgYnkgdGhlIGRldmljZS91c2VyIGFn
ZW50IGFuZCBlbmFibGVkIGluIHJlcXVlc3REZXZpY2UuCiAgICAgQmMxUmdiYVVub3JtLApAQCAt
MTQ1LDEyICsxNTEsNiBAQCBlbnVtIGNsYXNzIEdQVVRleHR1cmVGb3JtYXQgOiB1aW50OF90IHsK
ICAgICBBc3RjMTJ4MTBVbm9ybVNSR0IsCiAgICAgQXN0YzEyeDEyVW5vcm0sCiAgICAgQXN0YzEy
eDEyVW5vcm1TUkdCLAotCi0gICAgLy8gZGVwdGgyNHVub3JtLXN0ZW5jaWw4IGZlYXR1cmUKLSAg
ICBEZXB0aDI0dW5vcm1TdGVuY2lsOCwKLQotICAgIC8vIGRlcHRoMzJmbG9hdC1zdGVuY2lsOCBm
ZWF0dXJlCi0gICAgRGVwdGgzMmZsb2F0U3RlbmNpbDgsCiB9OwogCiBpbmxpbmUgUEFMOjpXZWJH
UFU6OlRleHR1cmVGb3JtYXQgY29udmVydFRvQmFja2luZyhHUFVUZXh0dXJlRm9ybWF0IHRleHR1
cmVGb3JtYXQpCkBAIC0yMzgsNiArMjM4LDEwIEBAIGlubGluZSBQQUw6OldlYkdQVTo6VGV4dHVy
ZUZvcm1hdCBjb252ZXJ0VG9CYWNraW5nKEdQVVRleHR1cmVGb3JtYXQgdGV4dHVyZUZvcm1hCiAg
ICAgICAgIHJldHVybiBQQUw6OldlYkdQVTo6VGV4dHVyZUZvcm1hdDo6RGVwdGgyNHBsdXNTdGVu
Y2lsODsKICAgICBjYXNlIEdQVVRleHR1cmVGb3JtYXQ6OkRlcHRoMzJmbG9hdDoKICAgICAgICAg
cmV0dXJuIFBBTDo6V2ViR1BVOjpUZXh0dXJlRm9ybWF0OjpEZXB0aDMyZmxvYXQ7CisgICAgY2Fz
ZSBHUFVUZXh0dXJlRm9ybWF0OjpEZXB0aDI0dW5vcm1TdGVuY2lsODoKKyAgICAgICAgcmV0dXJu
IFBBTDo6V2ViR1BVOjpUZXh0dXJlRm9ybWF0OjpEZXB0aDI0dW5vcm1TdGVuY2lsODsKKyAgICBj
YXNlIEdQVVRleHR1cmVGb3JtYXQ6OkRlcHRoMzJmbG9hdFN0ZW5jaWw4OgorICAgICAgICByZXR1
cm4gUEFMOjpXZWJHUFU6OlRleHR1cmVGb3JtYXQ6OkRlcHRoMzJmbG9hdFN0ZW5jaWw4OwogICAg
IGNhc2UgR1BVVGV4dHVyZUZvcm1hdDo6QmMxUmdiYVVub3JtOgogICAgICAgICByZXR1cm4gUEFM
OjpXZWJHUFU6OlRleHR1cmVGb3JtYXQ6OkJjMVJnYmFVbm9ybTsKICAgICBjYXNlIEdQVVRleHR1
cmVGb3JtYXQ6OkJjMVJnYmFVbm9ybVNSR0I6CkBAIC0zNDIsMTAgKzM0Niw2IEBAIGlubGluZSBQ
QUw6OldlYkdQVTo6VGV4dHVyZUZvcm1hdCBjb252ZXJ0VG9CYWNraW5nKEdQVVRleHR1cmVGb3Jt
YXQgdGV4dHVyZUZvcm1hCiAgICAgICAgIHJldHVybiBQQUw6OldlYkdQVTo6VGV4dHVyZUZvcm1h
dDo6QXN0YzEyeDEyVW5vcm07CiAgICAgY2FzZSBHUFVUZXh0dXJlRm9ybWF0OjpBc3RjMTJ4MTJV
bm9ybVNSR0I6CiAgICAgICAgIHJldHVybiBQQUw6OldlYkdQVTo6VGV4dHVyZUZvcm1hdDo6QXN0
YzEyeDEyVW5vcm1TUkdCOwotICAgIGNhc2UgR1BVVGV4dHVyZUZvcm1hdDo6RGVwdGgyNHVub3Jt
U3RlbmNpbDg6Ci0gICAgICAgIHJldHVybiBQQUw6OldlYkdQVTo6VGV4dHVyZUZvcm1hdDo6RGVw
dGgyNHVub3JtU3RlbmNpbDg7Ci0gICAgY2FzZSBHUFVUZXh0dXJlRm9ybWF0OjpEZXB0aDMyZmxv
YXRTdGVuY2lsODoKLSAgICAgICAgcmV0dXJuIFBBTDo6V2ViR1BVOjpUZXh0dXJlRm9ybWF0OjpE
ZXB0aDMyZmxvYXRTdGVuY2lsODsKICAgICB9CiAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNI
RUQoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVVRl
eHR1cmVGb3JtYXQuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVVGV4dHVy
ZUZvcm1hdC5pZGwKaW5kZXggMjUxY2RkYmUwMDQzZWM5ZDE3Yjg0MjJhNzNhYzk0NDViZTczYzRl
Ny4uYzVjMjFiYmFmMThjNTg0Mzg5ZjBjNDAwM2Y5YzNhNmE0ODQyNjJjYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVVGV4dHVyZUZvcm1hdC5pZGwKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVVGV4dHVyZUZvcm1hdC5pZGwKQEAgLTEs
NSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAyMS0yMDIyIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNzYsMTMg
Kzc2LDE5IEBAIGVudW0gR1BVVGV4dHVyZUZvcm1hdCB7CiAgICAgInJnYmEzMnNpbnQiLAogICAg
ICJyZ2JhMzJmbG9hdCIsCiAKLSAgICAvLyBEZXB0aCBhbmQgc3RlbmNpbCBmb3JtYXRzCisgICAg
Ly8gRGVwdGgvc3RlbmNpbCBmb3JtYXRzCiAgICAgInN0ZW5jaWw4IiwKICAgICAiZGVwdGgxNnVu
b3JtIiwKICAgICAiZGVwdGgyNHBsdXMiLAogICAgICJkZXB0aDI0cGx1cy1zdGVuY2lsOCIsCiAg
ICAgImRlcHRoMzJmbG9hdCIsCiAKKyAgICAvLyAiZGVwdGgyNHVub3JtLXN0ZW5jaWw4IiBmZWF0
dXJlCisgICAgImRlcHRoMjR1bm9ybS1zdGVuY2lsOCIsCisKKyAgICAvLyAiZGVwdGgzMmZsb2F0
LXN0ZW5jaWw4IiBmZWF0dXJlCisgICAgImRlcHRoMzJmbG9hdC1zdGVuY2lsOCIsCisKICAgICAv
LyBCQyBjb21wcmVzc2VkIGZvcm1hdHMgdXNhYmxlIGlmICJ0ZXh0dXJlLWNvbXByZXNzaW9uLWJj
IiBpcyBib3RoCiAgICAgLy8gc3VwcG9ydGVkIGJ5IHRoZSBkZXZpY2UvdXNlciBhZ2VudCBhbmQg
ZW5hYmxlZCBpbiByZXF1ZXN0RGV2aWNlLgogICAgICJiYzEtcmdiYS11bm9ybSIsCkBAIC0xNDIs
MTEgKzE0OCw1IEBAIGVudW0gR1BVVGV4dHVyZUZvcm1hdCB7CiAgICAgImFzdGMtMTJ4MTAtdW5v
cm0iLAogICAgICJhc3RjLTEyeDEwLXVub3JtLXNyZ2IiLAogICAgICJhc3RjLTEyeDEyLXVub3Jt
IiwKLSAgICAiYXN0Yy0xMngxMi11bm9ybS1zcmdiIiwKLQotICAgIC8vICJkZXB0aDI0dW5vcm0t
c3RlbmNpbDgiIGZlYXR1cmUKLSAgICAiZGVwdGgyNHVub3JtLXN0ZW5jaWw4IiwKLQotICAgIC8v
ICJkZXB0aDMyZmxvYXQtc3RlbmNpbDgiIGZlYXR1cmUKLSAgICAiZGVwdGgzMmZsb2F0LXN0ZW5j
aWw4IgorICAgICJhc3RjLTEyeDEyLXVub3JtLXNyZ2IiCiB9OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVVW5jYXB0dXJlZEVycm9yRXZlbnQuaWRsIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVVW5jYXB0dXJlZEVycm9yRXZlbnQuaWRsCmlu
ZGV4IDMzMmViZWFkYmRhOTg3MjA2MDZkODg1NGM1MTY0YzFhZDQ2OWI1N2QuLjZlNTU0OGVlNGFj
YzQ5NjY3YmU2ZjMwN2E3NTI5YTVhMDU4OTk5NzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvV2ViR1BVL0dQVVVuY2FwdHVyZWRFcnJvckV2ZW50LmlkbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVVbmNhcHR1cmVkRXJyb3JFdmVudC5pZGwKQEAgLTEs
NSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAyMS0yMDIyIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMzgsNSAr
MzgsNSBAQCBpbnRlcmZhY2UgR1BVVW5jYXB0dXJlZEVycm9yRXZlbnQgOiBFdmVudCB7CiAgICAg
ICAgIERPTVN0cmluZyB0eXBlLAogICAgICAgICBHUFVVbmNhcHR1cmVkRXJyb3JFdmVudEluaXQg
Z3B1VW5jYXB0dXJlZEVycm9yRXZlbnRJbml0RGljdAogICAgICk7Ci0gICAgW1NhbWVPYmplY3Rd
IHJlYWRvbmx5IGF0dHJpYnV0ZSBHUFVFcnJvciBlcnJvcjsKKyAgICByZWFkb25seSBhdHRyaWJ1
dGUgR1BVRXJyb3IgZXJyb3I7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML1BB
TC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvUEFML1BBTC54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGM1YTkxOGY3ZDQwZDA0MWEyOTMzOTQ2ZTcyMDZj
NzFjNzUzZjVkMDQuLjJhNzNjOGU3MTViODI0NDAxOTE4MzRlMGMzNmQ1ZTBkNWI1ZmVhMjkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9QQUwueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvUEFMLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
QEAgLTI0Nyw3ICsyNDcsNiBAQAogCQkxQ0VGQTIxNzI3MzdBNEM4MDBGMERBOTUgLyogV2ViR1BV
QmluZEdyb3VwRW50cnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDFDQzVFNDY5MjczNzQ5NDgwMDZGNkZGNCAvKiBXZWJHUFVCaW5kR3JvdXBFbnRyeS5o
ICovOyB9OwogCQkxQ0VGQTIxODI3MzdBNEM4MDBGMERBOTUgLyogV2ViR1BVUHJpbWl0aXZlVG9w
b2xvZ3kuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFD
QzVFNDUzMjczNzQ5NDcwMDZGNkZGNCAvKiBXZWJHUFVQcmltaXRpdmVUb3BvbG9neS5oICovOyB9
OwogCQkxQ0VGQTIxOTI3MzdBNEM4MDBGMERBOTUgLyogV2ViR1BVVGV4dHVyZUJpbmRpbmdMYXlv
dXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDQzVF
NDE5MjczNzQ5MkMwMDZGNkZGNCAvKiBXZWJHUFVUZXh0dXJlQmluZGluZ0xheW91dC5oICovOyB9
OwotCQkxQ0VGQTIxQTI3MzdBNEM4MDBGMERBOTUgLyogV2ViR1BVUGlwZWxpbmVTdGF0aXN0aWNO
YW1lLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQ0M1
RTQzOTI3Mzc0OTQ2MDA2RjZGRjQgLyogV2ViR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lLmggKi87
IH07CiAJCTFDRUZBMjFCMjczN0E0QzgwMEYwREE5NSAvKiBXZWJHUFVCbGVuZENvbXBvbmVudC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUNDNUU0Nzgy
NzM3NDk0OTAwNkY2RkY0IC8qIFdlYkdQVUJsZW5kQ29tcG9uZW50LmggKi87IH07CiAJCTFDRUZB
MjFDMjczN0E0QzgwMEYwREE5NSAvKiBXZWJHUFVUZXh0dXJlVmlld0RpbWVuc2lvbi5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUNDNUU0MzIyNzM3NDky
RDAwNkY2RkY0IC8qIFdlYkdQVVRleHR1cmVWaWV3RGltZW5zaW9uLmggKi87IH07CiAJCTFDRUZB
MjFEMjczN0E0QzgwMEYwREE5NSAvKiBXZWJHUFVMb2FkT3AuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDQzVFNDUwMjczNzQ5NDcwMDZGNkZGNCAvKiBX
ZWJHUFVMb2FkT3AuaCAqLzsgfTsKQEAgLTY1Miw3ICs2NTEsNiBAQAogCQkxQ0M1RTQzNjI3Mzc0
OTQ2MDA2RjZGRjQgLyogV2ViR1BVQ29tcGlsYXRpb25NZXNzYWdlVHlwZS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBXZWJHUFVDb21waWxhdGlvbk1lc3NhZ2VUeXBlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTFDQzVFNDM3MjczNzQ5NDYwMDZGNkZGNCAvKiBXZWJHUFVFeHRlbnQzRC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBXZWJHUFVFeHRlbnQzRC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkxQ0M1RTQzODI3Mzc0OTQ2MDA2RjZGRjQgLyogV2ViR1BVUHJvZ3JhbW1hYmxlU3RhZ2Uu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gV2ViR1BVUHJvZ3JhbW1hYmxlU3RhZ2UuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKLQkJMUNDNUU0MzkyNzM3NDk0NjAwNkY2RkY0IC8qIFdlYkdQVVBpcGVs
aW5lU3RhdGlzdGljTmFtZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJHUFVQaXBlbGluZVN0YXRpc3Rp
Y05hbWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNDNUU0M0EyNzM3NDk0NjAw
NkY2RkY0IC8qIFdlYkdQVUV4dGVybmFsVGV4dHVyZUJpbmRpbmdMYXlvdXQuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gV2ViR1BVRXh0ZXJuYWxUZXh0dXJlQmluZGluZ0xheW91dC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQkxQ0M1RTQzQjI3Mzc0OTQ2MDA2RjZGRjQgLyogV2ViR1BVUmVuZGVy
UGFzc0Rlc2NyaXB0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViR1BVUmVuZGVyUGFzc0Rlc2NyaXB0
b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNDNUU0M0MyNzM3NDk0NjAwNkY2
RkY0IC8qIFdlYkdQVVNhbXBsZXJCaW5kaW5nVHlwZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJHUFVT
YW1wbGVyQmluZGluZ1R5cGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTc0NCw2
ICs3NDIsNyBAQAogCQkxQ0M1RTQ5MzI3Mzc0OTRBMDA2RjZGRjQgLyogV2ViR1BVQ2FudmFzQ29t
cG9zaXRpbmdBbHBoYU1vZGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViR1BVQ2FudmFzQ29tcG9zaXRp
bmdBbHBoYU1vZGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNDRUU0RjQyMEQ4
NzE5MzAwNDdCMDk3IC8qIENvcmVVSVNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBDb3JlVUlTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNDRUU0RjYy
MEQ4NzQzRjAwNDdCMDk3IC8qIE5TQXBwZWFyYW5jZVNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBOU0FwcGVhcmFuY2VTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMUNFRjQ1QUEyN0JCMTAxRjAwQzNBNkJDIC8qIFdlYkdQVVNoYWRlck1vZHVsZUNvbXBp
bGF0aW9uSGludC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJHUFVTaGFkZXJNb2R1bGVDb21waWxhdGlv
bkhpbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUQxMkNDNEEyNDExQkNBRTAw
RkRBMEEzIC8qIEZlYXR1cmVGbGFnc1NQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBGZWF0dXJlRmxhZ3NT
UEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUQyQjQxMzIyNUYwNUUzNDAwQTNG
NzBBIC8qIENsb2NrR2VuZXJpYy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBDbG9ja0dlbmVyaWMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxRDJC
NDEzMzI1RjA1RTM1MDBBM0Y3MEEgLyogQ2xvY2tHZW5lcmljLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IENsb2NrR2VuZXJpYy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtMTMzOSw3ICsxMzM4LDYgQEAKIAkJCQkxQ0M1RTQ1RTI3Mzc0OTQ4MDA2RjZGRjQgLyog
V2ViR1BVUGlwZWxpbmVEZXNjcmlwdG9yQmFzZS5oICovLAogCQkJCTFDQzVFNDQ1MjczNzQ5NDcw
MDZGNkZGNCAvKiBXZWJHUFVQaXBlbGluZUxheW91dC5oICovLAogCQkJCTFDQzVFNDREMjczNzQ5
NDcwMDZGNkZGNCAvKiBXZWJHUFVQaXBlbGluZUxheW91dERlc2NyaXB0b3IuaCAqLywKLQkJCQkx
Q0M1RTQzOTI3Mzc0OTQ2MDA2RjZGRjQgLyogV2ViR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lLmgg
Ki8sCiAJCQkJMUNDNUU0N0EyNzM3NDk0OTAwNkY2RkY0IC8qIFdlYkdQVVBvd2VyUHJlZmVyZW5j
ZS5oICovLAogCQkJCTFDQzVFNDdEMjczNzQ5NDkwMDZGNkZGNCAvKiBXZWJHUFVQcmVkZWZpbmVk
Q29sb3JTcGFjZS5oICovLAogCQkJCTFDQzVFNDZEMjczNzQ5NDgwMDZGNkZGNCAvKiBXZWJHUFVQ
cmltaXRpdmVTdGF0ZS5oICovLApAQCAtMTM2OCw2ICsxMzY2LDcgQEAKIAkJCQkxQ0M1RTQzQzI3
Mzc0OTQ2MDA2RjZGRjQgLyogV2ViR1BVU2FtcGxlckJpbmRpbmdUeXBlLmggKi8sCiAJCQkJMUND
NUU0MjMyNzM3NDkyQzAwNkY2RkY0IC8qIFdlYkdQVVNhbXBsZXJEZXNjcmlwdG9yLmggKi8sCiAJ
CQkJMUNDNUU0MUQyNzM3NDkyQzAwNkY2RkY0IC8qIFdlYkdQVVNoYWRlck1vZHVsZS5oICovLAor
CQkJCTFDRUY0NUFBMjdCQjEwMUYwMEMzQTZCQyAvKiBXZWJHUFVTaGFkZXJNb2R1bGVDb21waWxh
dGlvbkhpbnQuaCAqLywKIAkJCQkxQ0M1RTQxQjI3Mzc0OTJDMDA2RjZGRjQgLyogV2ViR1BVU2hh
ZGVyTW9kdWxlRGVzY3JpcHRvci5oICovLAogCQkJCTFDQzVFNDI2MjczNzQ5MkQwMDZGNkZGNCAv
KiBXZWJHUFVTaGFkZXJTdGFnZS5oICovLAogCQkJCTFDQzVFNDFDMjczNzQ5MkMwMDZGNkZGNCAv
KiBXZWJHUFVTdGVuY2lsRmFjZVN0YXRlLmggKi8sCkBAIC0xNzc0LDcgKzE3NzMsNiBAQAogCQkJ
CTFDRUZBMjI1MjczN0E0QzgwMEYwREE5NSAvKiBXZWJHUFVQaXBlbGluZURlc2NyaXB0b3JCYXNl
LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQ0VGQTFGRDI3MzdBNEM4MDBGMERBOTUgLyogV2ViR1BV
UGlwZWxpbmVMYXlvdXQuaCBpbiBIZWFkZXJzICovLAogCQkJCTFDRUZBMUY0MjczN0E0QzgwMEYw
REE5NSAvKiBXZWJHUFVQaXBlbGluZUxheW91dERlc2NyaXB0b3IuaCBpbiBIZWFkZXJzICovLAot
CQkJCTFDRUZBMjFBMjczN0E0QzgwMEYwREE5NSAvKiBXZWJHUFVQaXBlbGluZVN0YXRpc3RpY05h
bWUuaCBpbiBIZWFkZXJzICovLAogCQkJCTFDRUZBMURFMjczN0E0QzgwMEYwREE5NSAvKiBXZWJH
UFVQb3dlclByZWZlcmVuY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTFDRUZBMjE2MjczN0E0Qzgw
MEYwREE5NSAvKiBXZWJHUFVQcmVkZWZpbmVkQ29sb3JTcGFjZS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMUNFRkExRTUyNzM3QTRDODAwRjBEQTk1IC8qIFdlYkdQVVByaW1pdGl2ZVN0YXRlLmggaW4g
SGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvQ01ha2VMaXN0
cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL0NNYWtlTGlzdHMudHh0CmluZGV4IDVmYWEy
ZmZmMTgxYThmNGVkMDMwMjZmZDEyZTYyN2E1NWJjZWY1YjIuLmQyNGFiNmMwZGQ1NzQ5MjM5YWIy
ZmRhNTVjZmEyZThmMWNlMmZjMmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwv
Q01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9DTWFrZUxpc3RzLnR4
dApAQCAtMTA1LDcgKzEwNSw2IEBAIHNldChQQUxfUFVCTElDX0hFQURFUlMKICAgICBncmFwaGlj
cy9XZWJHUFUvV2ViR1BVUGlwZWxpbmVEZXNjcmlwdG9yQmFzZS5oCiAgICAgZ3JhcGhpY3MvV2Vi
R1BVL1dlYkdQVVBpcGVsaW5lTGF5b3V0LmgKICAgICBncmFwaGljcy9XZWJHUFUvV2ViR1BVUGlw
ZWxpbmVMYXlvdXREZXNjcmlwdG9yLmgKLSAgICBncmFwaGljcy9XZWJHUFUvV2ViR1BVUGlwZWxp
bmVTdGF0aXN0aWNOYW1lLmgKICAgICBncmFwaGljcy9XZWJHUFUvV2ViR1BVUG93ZXJQcmVmZXJl
bmNlLmgKICAgICBncmFwaGljcy9XZWJHUFUvV2ViR1BVUHJlZGVmaW5lZENvbG9yU3BhY2UuaAog
ICAgIGdyYXBoaWNzL1dlYkdQVS9XZWJHUFVQcmltaXRpdmVTdGF0ZS5oCkBAIC0xMzQsNiArMTMz
LDcgQEAgc2V0KFBBTF9QVUJMSUNfSEVBREVSUwogICAgIGdyYXBoaWNzL1dlYkdQVS9XZWJHUFVT
YW1wbGVyQmluZGluZ1R5cGUuaAogICAgIGdyYXBoaWNzL1dlYkdQVS9XZWJHUFVTYW1wbGVyRGVz
Y3JpcHRvci5oCiAgICAgZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVNoYWRlck1vZHVsZS5oCisgICAg
Z3JhcGhpY3MvV2ViR1BVL1dlYkdQVVNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludC5oCiAgICAg
Z3JhcGhpY3MvV2ViR1BVL1dlYkdQVVNoYWRlck1vZHVsZURlc2NyaXB0b3IuaAogICAgIGdyYXBo
aWNzL1dlYkdQVS9XZWJHUFVTaGFkZXJTdGFnZS5oCiAgICAgZ3JhcGhpY3MvV2ViR1BVL1dlYkdQ
VVN0ZW5jaWxGYWNlU3RhdGUuaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9n
cmFwaGljcy9XZWJHUFUvSW1wbC9XZWJHUFVBZGFwdGVySW1wbC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVUFkYXB0ZXJJbXBsLmNwcAppbmRl
eCA3ZDViMTY1NGVlZDA3NmMxNzYwMjY4ZGYwMDI2ZGI3MjIwNjU3YjhjLi5iZjc0ZGUzNjBkMWY4
NTk5ZWZkN2QyNmE1ZWE0YzQyMWEwNjJiYmQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVUFkYXB0ZXJJbXBsLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVUFkYXB0ZXJJ
bXBsLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDIxLTIwMjIgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCkBAIC00MywxMyArNDMsMTcgQEAgc3RhdGljIFN0cmluZyBhZGFwdGVyTmFtZShXR1BVQWRh
cHRlciBhZGFwdGVyKQogCiBzdGF0aWMgUmVmPFN1cHBvcnRlZEZlYXR1cmVzPiBzdXBwb3J0ZWRG
ZWF0dXJlcyhXR1BVQWRhcHRlciBhZGFwdGVyKQogeworICAgIGF1dG8gZmVhdHVyZUNvdW50ID0g
d2dwdUFkYXB0ZXJFbnVtZXJhdGVGZWF0dXJlcyhhZGFwdGVyLCBudWxscHRyKTsKKyAgICBWZWN0
b3I8V0dQVUZlYXR1cmVOYW1lPiBmZWF0dXJlcyhmZWF0dXJlQ291bnQpOworICAgIHdncHVBZGFw
dGVyRW51bWVyYXRlRmVhdHVyZXMoYWRhcHRlciwgZmVhdHVyZXMuZGF0YSgpKTsKKwogICAgIFZl
Y3RvcjxTdHJpbmc+IHJlc3VsdDsKLSAgICBmb3IgKHNpemVfdCBpID0gMDsgOyArK2kpIHsKLSAg
ICAgICAgYXV0byBmZWF0dXJlID0gd2dwdUFkYXB0ZXJHZXRGZWF0dXJlQXRJbmRleChhZGFwdGVy
LCBpKTsKLSAgICAgICAgaWYgKGZlYXR1cmUgPT0gV0dQVUZlYXR1cmVOYW1lX1VuZGVmaW5lZCkK
LSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBzd2l0Y2ggKHN0YXRpY19jYXN0PHVpbnQ+KGZl
YXR1cmUpKSB7Ci0gICAgICAgIGNhc2UgV0dQVUZlYXR1cmVOYW1lX0RlcHRoQ2xhbXBpbmc6Cisg
ICAgZm9yIChhdXRvIGZlYXR1cmUgOiBmZWF0dXJlcykgeworICAgICAgICBzd2l0Y2ggKGZlYXR1
cmUpIHsKKyAgICAgICAgY2FzZSBXR1BVRmVhdHVyZU5hbWVfVW5kZWZpbmVkOgorICAgICAgICAg
ICAgY29udGludWU7CisgICAgICAgIGNhc2UgV0dQVUZlYXR1cmVOYW1lX0RlcHRoQ2xpcENvbnRy
b2w6CisgICAgICAgICAgICByZXN1bHQuYXBwZW5kKCJkZXB0aC1jbGlwLWNvbnRyb2wiX3MpOwog
ICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgV0dQVUZlYXR1cmVOYW1lX0RlcHRoMjRV
bm9ybVN0ZW5jaWw4OgogICAgICAgICAgICAgcmVzdWx0LmFwcGVuZCgiZGVwdGgyNHVub3JtLXN0
ZW5jaWw4Il9zKTsKQEAgLTY2LDIwICs3MCwxNyBAQCBzdGF0aWMgUmVmPFN1cHBvcnRlZEZlYXR1
cmVzPiBzdXBwb3J0ZWRGZWF0dXJlcyhXR1BVQWRhcHRlciBhZGFwdGVyKQogICAgICAgICBjYXNl
IFdHUFVGZWF0dXJlTmFtZV9UZXh0dXJlQ29tcHJlc3Npb25CQzoKICAgICAgICAgICAgIHJlc3Vs
dC5hcHBlbmQoInRleHR1cmUtY29tcHJlc3Npb24tYmMiX3MpOwogICAgICAgICAgICAgYnJlYWs7
Ci0gICAgICAgIGNhc2UgV0dQVUZlYXR1cmVOYW1lX0RlcHRoQ2xpcENvbnRyb2w6Ci0gICAgICAg
ICAgICByZXN1bHQuYXBwZW5kKCJkZXB0aC1jbGlwLWNvbnRyb2wiX3MpOwotICAgICAgICAgICAg
YnJlYWs7Ci0gICAgICAgIGNhc2UgV0dQVUZlYXR1cmVOYW1lX0luZGlyZWN0Rmlyc3RJbnN0YW5j
ZToKLSAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQoImluZGlyZWN0LWZpcnN0LWluc3RhbmNlIl9z
KTsKLSAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIFdHUFVGZWF0dXJlTmFtZV9UZXh0
dXJlQ29tcHJlc3Npb25FVEMyOgogICAgICAgICAgICAgcmVzdWx0LmFwcGVuZCgidGV4dHVyZS1j
b21wcmVzc2lvbi1ldGMyIl9zKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIFdH
UFVGZWF0dXJlTmFtZV9UZXh0dXJlQ29tcHJlc3Npb25BU1RDOgogICAgICAgICAgICAgcmVzdWx0
LmFwcGVuZCgidGV4dHVyZS1jb21wcmVzc2lvbi1hc3RjIl9zKTsKICAgICAgICAgICAgIGJyZWFr
OwotICAgICAgICBkZWZhdWx0OgorICAgICAgICBjYXNlIFdHUFVGZWF0dXJlTmFtZV9JbmRpcmVj
dEZpcnN0SW5zdGFuY2U6CisgICAgICAgICAgICByZXN1bHQuYXBwZW5kKCJpbmRpcmVjdC1maXJz
dC1pbnN0YW5jZSJfcyk7CiAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgZGVmYXVsdDoKKyAg
ICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9CiAgICAgfQogICAgIHJldHVybiBTdXBwb3J0
ZWRGZWF0dXJlczo6Y3JlYXRlKFdURk1vdmUocmVzdWx0KSk7CkBAIC0xNTEsMTUgKzE1Miw2IEBA
IHZvaWQgQWRhcHRlckltcGw6OnJlcXVlc3REZXZpY2UoY29uc3QgRGV2aWNlRGVzY3JpcHRvciYg
ZGVzY3JpcHRvciwgV1RGOjpGdW5jdGlvCiAKICAgICBhdXRvIGxhYmVsID0gZGVzY3JpcHRvci5s
YWJlbC51dGY4KCk7CiAKLSAgICBXR1BVRGV2aWNlRGVzY3JpcHRvckxhYmVsIGJhY2tpbmdEZXNj
cmlwdG9yTGFiZWwgewotICAgICAgICB7Ci0gICAgICAgICAgICBudWxscHRyLAotICAgICAgICAg
ICAgc3RhdGljX2Nhc3Q8V0dQVVNUeXBlPihXR1BVU1R5cGVfRGV2aWNlRGVzY3JpcHRvckxhYmVs
KSwKLSAgICAgICAgfSwKLSAgICAgICAgbnVsbHB0ciwKLSAgICAgICAgbGFiZWwuZGF0YSgpCi0g
ICAgfTsKLQogICAgIGF1dG8gZmVhdHVyZXMgPSBkZXNjcmlwdG9yLnJlcXVpcmVkRmVhdHVyZXMu
bWFwKFt0aGlzXSAoYXV0byBmZWF0dXJlTmFtZSkgewogICAgICAgICByZXR1cm4gbV9jb252ZXJ0
VG9CYWNraW5nQ29udGV4dC0+Y29udmVydFRvQmFja2luZyhmZWF0dXJlTmFtZSk7CiAgICAgfSk7
CkBAIC0xOTYsNyArMTg4LDggQEAgdm9pZCBBZGFwdGVySW1wbDo6cmVxdWVzdERldmljZShjb25z
dCBEZXZpY2VEZXNjcmlwdG9yJiBkZXNjcmlwdG9yLCBXVEY6OkZ1bmN0aW8KICAgICB9OwogCiAg
ICAgV0dQVURldmljZURlc2NyaXB0b3IgYmFja2luZ0Rlc2NyaXB0b3IgewotICAgICAgICAmYmFj
a2luZ0Rlc2NyaXB0b3JMYWJlbC5oZWFkZXIsCisgICAgICAgIG51bGxwdHIsCisgICAgICAgIGxh
YmVsLmRhdGEoKSwKICAgICAgICAgc3RhdGljX2Nhc3Q8dWludDMyX3Q+KGZlYXR1cmVzLnNpemUo
KSksCiAgICAgICAgIGZlYXR1cmVzLmRhdGEoKSwKICAgICAgICAgJmxpbWl0cywKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwvV2ViR1BVQnVm
ZmVySW1wbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBs
L1dlYkdQVUJ1ZmZlckltcGwuY3BwCmluZGV4IGQ5YTljZTVjYWQ4ZDlhNWY5MTZmYjYwZWNlOTJj
MTI3ZjNiZjg1ZGUuLjI4OWZjY2UxNjk2N2VmZGRlNzU1ODUzNTliNTljNGQzOTU0OTk0MjQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwvV2Vi
R1BVQnVmZmVySW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9X
ZWJHUFUvSW1wbC9XZWJHUFVCdWZmZXJJbXBsLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29w
eXJpZ2h0IChDKSAyMDIxLTIwMjIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoK
ICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC01MCwxOSArNTAsMTggQEAgdm9pZCBtYXBD
YWxsYmFjayhXR1BVQnVmZmVyTWFwQXN5bmNTdGF0dXMgc3RhdHVzLCB2b2lkKiB1c2VyZGF0YSkK
ICAgICBidWZmZXItPm1hcENhbGxiYWNrKHN0YXR1cyk7CiB9CiAKLXZvaWQgQnVmZmVySW1wbDo6
bWFwQXN5bmMoTWFwTW9kZUZsYWdzIG1hcE1vZGVGbGFncywgc3RkOjpvcHRpb25hbDxTaXplNjQ+
IG9mZnNldCwgc3RkOjpvcHRpb25hbDxTaXplNjQ+IHNpemUsIFdURjo6RnVuY3Rpb248dm9pZCgp
PiYmIGNhbGxiYWNrKQordm9pZCBCdWZmZXJJbXBsOjptYXBBc3luYyhNYXBNb2RlRmxhZ3MgbWFw
TW9kZUZsYWdzLCBTaXplNjQgb2Zmc2V0LCBzdGQ6Om9wdGlvbmFsPFNpemU2ND4gc2l6ZSwgV1RG
OjpGdW5jdGlvbjx2b2lkKCk+JiYgY2FsbGJhY2spCiB7CiAgICAgUmVmIHByb3RlY3RlZFRoaXMo
KnRoaXMpOwogCiAgICAgYXV0byBiYWNraW5nTWFwTW9kZUZsYWdzID0gbV9jb252ZXJ0VG9CYWNr
aW5nQ29udGV4dC0+Y29udmVydE1hcE1vZGVGbGFnc1RvQmFja2luZyhtYXBNb2RlRmxhZ3MpOwog
Ci0gICAgYXV0byB1c2VkT2Zmc2V0ID0gb2Zmc2V0LnZhbHVlX29yKDApOwotICAgIGF1dG8gdXNl
ZFNpemUgPSBzaXplLnZhbHVlX29yKFdHUFVfV0hPTEVfU0laRSk7CisgICAgYXV0byB1c2VkU2l6
ZSA9IHNpemUudmFsdWVfb3IoV0dQVV9XSE9MRV9NQVBfU0laRSk7CiAKICAgICBtX2NhbGxiYWNr
cy5hcHBlbmQoV1RGTW92ZShjYWxsYmFjaykpOwogCiAgICAgLy8gRklYTUU6IENoZWNrIHRoZSBj
YXN0cy4KLSAgICB3Z3B1QnVmZmVyTWFwQXN5bmMobV9iYWNraW5nLCBiYWNraW5nTWFwTW9kZUZs
YWdzLCBzdGF0aWNfY2FzdDxzaXplX3Q+KHVzZWRPZmZzZXQpLCBzdGF0aWNfY2FzdDxzaXplX3Q+
KHVzZWRTaXplKSwgJldlYkdQVTo6bWFwQ2FsbGJhY2ssICZwcm90ZWN0ZWRUaGlzLmxlYWtSZWYo
KSk7IC8vIGxlYWtSZWYgaXMgYmFsYW5jZWQgYnkgYWRvcHRSZWYgaW4gbWFwQ2FsbGJhY2soKSBh
Ym92ZS4gV2UgaGF2ZSB0byBkbyB0aGlzIGJlY2F1c2Ugd2UncmUgdXNpbmcgYSBDIEFQSSB3aXRo
IG5vIGNvbmNlcHQgb2YgcmVmZXJlbmNlIGNvdW50aW5nIG9yIGJsb2Nrcy4KKyAgICB3Z3B1QnVm
ZmVyTWFwQXN5bmMobV9iYWNraW5nLCBiYWNraW5nTWFwTW9kZUZsYWdzLCBzdGF0aWNfY2FzdDxz
aXplX3Q+KG9mZnNldCksIHN0YXRpY19jYXN0PHNpemVfdD4odXNlZFNpemUpLCAmV2ViR1BVOjpt
YXBDYWxsYmFjaywgJnByb3RlY3RlZFRoaXMubGVha1JlZigpKTsgLy8gbGVha1JlZiBpcyBiYWxh
bmNlZCBieSBhZG9wdFJlZiBpbiBtYXBDYWxsYmFjaygpIGFib3ZlLiBXZSBoYXZlIHRvIGRvIHRo
aXMgYmVjYXVzZSB3ZSdyZSB1c2luZyBhIEMgQVBJIHdpdGggbm8gY29uY2VwdCBvZiByZWZlcmVu
Y2UgY291bnRpbmcgb3IgYmxvY2tzLgogfQogCiB2b2lkIEJ1ZmZlckltcGw6Om1hcENhbGxiYWNr
KFdHUFVCdWZmZXJNYXBBc3luY1N0YXR1cyBzdGF0dXMpCkBAIC03MiwxMiArNzEsMTEgQEAgdm9p
ZCBCdWZmZXJJbXBsOjptYXBDYWxsYmFjayhXR1BVQnVmZmVyTWFwQXN5bmNTdGF0dXMgc3RhdHVz
KQogICAgIGNhbGxiYWNrKCk7CiB9CiAKLWF1dG8gQnVmZmVySW1wbDo6Z2V0TWFwcGVkUmFuZ2Uo
c3RkOjpvcHRpb25hbDxTaXplNjQ+IG9mZnNldCwgc3RkOjpvcHRpb25hbDxTaXplNjQ+IHNpemUp
IC0+IE1hcHBlZFJhbmdlCithdXRvIEJ1ZmZlckltcGw6OmdldE1hcHBlZFJhbmdlKFNpemU2NCBv
ZmZzZXQsIHN0ZDo6b3B0aW9uYWw8U2l6ZTY0PiBzaXplKSAtPiBNYXBwZWRSYW5nZQogewotICAg
IGF1dG8gdXNlZE9mZnNldCA9IG9mZnNldC52YWx1ZV9vcigwKTsKLSAgICBhdXRvIHVzZWRTaXpl
ID0gc2l6ZS52YWx1ZV9vcihXR1BVX1dIT0xFX1NJWkUpOworICAgIGF1dG8gdXNlZFNpemUgPSBz
aXplLnZhbHVlX29yKFdHUFVfV0hPTEVfTUFQX1NJWkUpOwogICAgIC8vIEZJWE1FOiBDaGVjayB0
aGUgY2FzdHMuCi0gICAgYXV0byogcG9pbnRlciA9IHdncHVCdWZmZXJHZXRNYXBwZWRSYW5nZSht
X2JhY2tpbmcsIHN0YXRpY19jYXN0PHNpemVfdD4odXNlZE9mZnNldCksIHN0YXRpY19jYXN0PHNp
emVfdD4odXNlZFNpemUpKTsKKyAgICBhdXRvKiBwb2ludGVyID0gd2dwdUJ1ZmZlckdldE1hcHBl
ZFJhbmdlKG1fYmFja2luZywgc3RhdGljX2Nhc3Q8c2l6ZV90PihvZmZzZXQpLCBzdGF0aWNfY2Fz
dDxzaXplX3Q+KHVzZWRTaXplKSk7CiAgICAgLy8gRklYTUU6IENoZWNrIHRoZSB0eXBlIG5hcnJv
d2luZy4KICAgICByZXR1cm4geyBwb2ludGVyLCBzdGF0aWNfY2FzdDxzaXplX3Q+KHVzZWRTaXpl
KSB9OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJH
UFUvSW1wbC9XZWJHUFVCdWZmZXJJbXBsLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBo
aWNzL1dlYkdQVS9JbXBsL1dlYkdQVUJ1ZmZlckltcGwuaAppbmRleCBjMTQ2NWVjNDc3ZGY1NTY1
MjVmYTg4YzVhM2EwMTExMGNlOTBmMjg3Li5jN2NiNDMxNjZjMDI4MmY2ZTEwYmQ0NDYzOWM5Mjg3
MjIwNzI4NzZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dl
YkdQVS9JbXBsL1dlYkdQVUJ1ZmZlckltcGwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFs
L2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVUJ1ZmZlckltcGwuaApAQCAtMSw1ICsxLDUgQEAK
IC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICogQ29weXJpZ2h0IChDKSAyMDIxLTIwMjIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC01OSw4ICs1OSw4IEBAIHBy
aXZhdGU6CiAgICAgV0dQVUJ1ZmZlciBiYWNraW5nKCkgY29uc3QgeyByZXR1cm4gbV9iYWNraW5n
OyB9CiAKICAgICB2b2lkIG1hcENhbGxiYWNrKFdHUFVCdWZmZXJNYXBBc3luY1N0YXR1cyk7Ci0g
ICAgdm9pZCBtYXBBc3luYyhNYXBNb2RlRmxhZ3MsIHN0ZDo6b3B0aW9uYWw8U2l6ZTY0PiBvZmZz
ZXQsIHN0ZDo6b3B0aW9uYWw8U2l6ZTY0PiBzaXplRm9yTWFwLCBXVEY6OkZ1bmN0aW9uPHZvaWQo
KT4mJikgZmluYWw7Ci0gICAgTWFwcGVkUmFuZ2UgZ2V0TWFwcGVkUmFuZ2Uoc3RkOjpvcHRpb25h
bDxTaXplNjQ+IG9mZnNldCwgc3RkOjpvcHRpb25hbDxTaXplNjQ+KSBmaW5hbDsKKyAgICB2b2lk
IG1hcEFzeW5jKE1hcE1vZGVGbGFncywgU2l6ZTY0IG9mZnNldCwgc3RkOjpvcHRpb25hbDxTaXpl
NjQ+IHNpemVGb3JNYXAsIFdURjo6RnVuY3Rpb248dm9pZCgpPiYmKSBmaW5hbDsKKyAgICBNYXBw
ZWRSYW5nZSBnZXRNYXBwZWRSYW5nZShTaXplNjQgb2Zmc2V0LCBzdGQ6Om9wdGlvbmFsPFNpemU2
ND4pIGZpbmFsOwogICAgIHZvaWQgdW5tYXAoKSBmaW5hbDsKIAogICAgIHZvaWQgZGVzdHJveSgp
IGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJH
UFUvSW1wbC9XZWJHUFVDb21tYW5kRW5jb2RlckltcGwuY3BwIGIvU291cmNlL1dlYkNvcmUvUEFM
L3BhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9XZWJHUFVDb21tYW5kRW5jb2RlckltcGwuY3BwCmlu
ZGV4IGE4NTM2YmNlY2QyNGQ1NzIwN2QyMTc0NTYwOWY4MjBlYTljYmQ5YjYuLmU3MjQ5MWYxNzdm
NzYxZjEwYzMwZTJhYjM2ODY3ZjZmNWMwOWRjMDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwvV2ViR1BVQ29tbWFuZEVuY29kZXJJbXBsLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQ
VUNvbW1hbmRFbmNvZGVySW1wbC5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0
IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAo
QykgMjAyMS0yMDIyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNTMsNTcgKzUzLDUxIEBAIENvbW1hbmRFbmNvZGVySW1w
bDo6fkNvbW1hbmRFbmNvZGVySW1wbCgpCiAKIFJlZjxSZW5kZXJQYXNzRW5jb2Rlcj4gQ29tbWFu
ZEVuY29kZXJJbXBsOjpiZWdpblJlbmRlclBhc3MoY29uc3QgUmVuZGVyUGFzc0Rlc2NyaXB0b3Im
IGRlc2NyaXB0b3IpCiB7CisgICAgYXV0byBsYWJlbCA9IGRlc2NyaXB0b3IubGFiZWwudXRmOCgp
OworCiAgICAgVmVjdG9yPFdHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50PiBjb2xvckF0dGFj
aG1lbnRzOwogICAgIGZvciAoY29uc3QgYXV0byYgY29sb3JBdHRhY2htZW50IDogZGVzY3JpcHRv
ci5jb2xvckF0dGFjaG1lbnRzKSB7Ci0gICAgICAgIGNvbG9yQXR0YWNobWVudHMuYXBwZW5kKFdH
UFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50IHsKLSAgICAgICAgICAgIG1fY29udmVydFRvQmFj
a2luZ0NvbnRleHQtPmNvbnZlcnRUb0JhY2tpbmcoY29sb3JBdHRhY2htZW50LnZpZXcpLAotICAg
ICAgICAgICAgY29sb3JBdHRhY2htZW50LnJlc29sdmVUYXJnZXQgPyBtX2NvbnZlcnRUb0JhY2tp
bmdDb250ZXh0LT5jb252ZXJ0VG9CYWNraW5nKCpjb2xvckF0dGFjaG1lbnQucmVzb2x2ZVRhcmdl
dCkgOiBudWxscHRyLAotICAgICAgICAgICAgc3RkOjpob2xkc19hbHRlcm5hdGl2ZTxMb2FkT3A+
KGNvbG9yQXR0YWNobWVudC5sb2FkVmFsdWUpID8gbV9jb252ZXJ0VG9CYWNraW5nQ29udGV4dC0+
Y29udmVydFRvQmFja2luZyhzdGQ6OmdldDxMb2FkT3A+KGNvbG9yQXR0YWNobWVudC5sb2FkVmFs
dWUpKSA6IFdHUFVMb2FkT3BfQ2xlYXIsCi0gICAgICAgICAgICBtX2NvbnZlcnRUb0JhY2tpbmdD
b250ZXh0LT5jb252ZXJ0VG9CYWNraW5nKGNvbG9yQXR0YWNobWVudC5zdG9yZU9wKSwKLSAgICAg
ICAgICAgIFdURjo6c3dpdGNoT24oY29sb3JBdHRhY2htZW50LmxvYWRWYWx1ZSwgW10gKExvYWRP
cCkgLT4gV0dQVUNvbG9yIHsKLSAgICAgICAgICAgICAgICByZXR1cm4geyAwLCAwLCAwLCAwIH07
Ci0gICAgICAgICAgICB9LCBbXSAoY29uc3QgVmVjdG9yPGRvdWJsZT4mIHZlY3RvcikgLT4gV0dQ
VUNvbG9yIHsKLSAgICAgICAgICAgICAgICByZXR1cm4gV0dQVUNvbG9yIHsKLSAgICAgICAgICAg
ICAgICAgICAgdmVjdG9yLnNpemUoKSA+IDAgPyB2ZWN0b3JbMF0gOiAwLAotICAgICAgICAgICAg
ICAgICAgICB2ZWN0b3Iuc2l6ZSgpID4gMSA/IHZlY3RvclsxXSA6IDAsCi0gICAgICAgICAgICAg
ICAgICAgIHZlY3Rvci5zaXplKCkgPiAyID8gdmVjdG9yWzJdIDogMCwKLSAgICAgICAgICAgICAg
ICAgICAgdmVjdG9yLnNpemUoKSA+IDMgPyB2ZWN0b3JbM10gOiAwLAotICAgICAgICAgICAgICAg
IH07Ci0gICAgICAgICAgICB9LCBbXSAoY29uc3QgQ29sb3JEaWN0JiBjb2xvcikgLT4gV0dQVUNv
bG9yIHsKLSAgICAgICAgICAgICAgICByZXR1cm4gV0dQVUNvbG9yIHsKLSAgICAgICAgICAgICAg
ICAgICAgY29sb3IuciwKLSAgICAgICAgICAgICAgICAgICAgY29sb3IuZywKLSAgICAgICAgICAg
ICAgICAgICAgY29sb3IuYiwKLSAgICAgICAgICAgICAgICAgICAgY29sb3IuYSwKLSAgICAgICAg
ICAgICAgICB9OwotICAgICAgICAgICAgfSksCi0gICAgICAgIH0pOworICAgICAgICBpZiAoY29s
b3JBdHRhY2htZW50KSB7CisgICAgICAgICAgICBjb2xvckF0dGFjaG1lbnRzLmFwcGVuZChXR1BV
UmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudCB7CisgICAgICAgICAgICAgICAgbV9jb252ZXJ0VG9C
YWNraW5nQ29udGV4dC0+Y29udmVydFRvQmFja2luZyhjb2xvckF0dGFjaG1lbnQtPnZpZXcpLAor
ICAgICAgICAgICAgICAgIGNvbG9yQXR0YWNobWVudC0+cmVzb2x2ZVRhcmdldCA/IG1fY29udmVy
dFRvQmFja2luZ0NvbnRleHQtPmNvbnZlcnRUb0JhY2tpbmcoKmNvbG9yQXR0YWNobWVudC0+cmVz
b2x2ZVRhcmdldCkgOiBudWxscHRyLAorICAgICAgICAgICAgICAgIG1fY29udmVydFRvQmFja2lu
Z0NvbnRleHQtPmNvbnZlcnRUb0JhY2tpbmcoY29sb3JBdHRhY2htZW50LT5sb2FkT3ApLAorICAg
ICAgICAgICAgICAgIG1fY29udmVydFRvQmFja2luZ0NvbnRleHQtPmNvbnZlcnRUb0JhY2tpbmco
Y29sb3JBdHRhY2htZW50LT5zdG9yZU9wKSwKKyAgICAgICAgICAgICAgICBjb2xvckF0dGFjaG1l
bnQtPmNsZWFyVmFsdWUgPyBtX2NvbnZlcnRUb0JhY2tpbmdDb250ZXh0LT5jb252ZXJ0VG9CYWNr
aW5nKCpjb2xvckF0dGFjaG1lbnQtPmNsZWFyVmFsdWUpIDogV0dQVUNvbG9yIHsgMCwgMCwgMCwg
MCB9LAorICAgICAgICAgICAgfSk7CisgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgY29sb3JB
dHRhY2htZW50cy5hcHBlbmQoeworICAgICAgICAgICAgICAgIG51bGxwdHIsCisgICAgICAgICAg
ICAgICAgbnVsbHB0ciwKKyAgICAgICAgICAgICAgICBXR1BVTG9hZE9wX0NsZWFyLAorICAgICAg
ICAgICAgICAgIFdHUFVTdG9yZU9wX0Rpc2NhcmQsCisgICAgICAgICAgICAgICAgeyAwLCAwLCAw
LCAwIH0sCisgICAgICAgICAgICB9KTsKICAgICB9CiAKICAgICBzdGQ6Om9wdGlvbmFsPFdHUFVS
ZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNobWVudD4gZGVwdGhTdGVuY2lsQXR0YWNobWVudDsK
ICAgICBpZiAoZGVzY3JpcHRvci5kZXB0aFN0ZW5jaWxBdHRhY2htZW50KSB7CiAgICAgICAgIGRl
cHRoU3RlbmNpbEF0dGFjaG1lbnQgPSBXR1BVUmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1l
bnQgewogICAgICAgICAgICAgbV9jb252ZXJ0VG9CYWNraW5nQ29udGV4dC0+Y29udmVydFRvQmFj
a2luZyhkZXNjcmlwdG9yLmRlcHRoU3RlbmNpbEF0dGFjaG1lbnQtPnZpZXcpLAotICAgICAgICAg
ICAgc3RkOjpob2xkc19hbHRlcm5hdGl2ZTxMb2FkT3A+KGRlc2NyaXB0b3IuZGVwdGhTdGVuY2ls
QXR0YWNobWVudC0+ZGVwdGhMb2FkVmFsdWUpID8gbV9jb252ZXJ0VG9CYWNraW5nQ29udGV4dC0+
Y29udmVydFRvQmFja2luZyhzdGQ6OmdldDxMb2FkT3A+KGRlc2NyaXB0b3IuZGVwdGhTdGVuY2ls
QXR0YWNobWVudC0+ZGVwdGhMb2FkVmFsdWUpKSA6IFdHUFVMb2FkT3BfQ2xlYXIsCi0gICAgICAg
ICAgICBtX2NvbnZlcnRUb0JhY2tpbmdDb250ZXh0LT5jb252ZXJ0VG9CYWNraW5nKGRlc2NyaXB0
b3IuZGVwdGhTdGVuY2lsQXR0YWNobWVudC0+ZGVwdGhTdG9yZU9wKSwKLSAgICAgICAgICAgIFdU
Rjo6c3dpdGNoT24oZGVzY3JpcHRvci5kZXB0aFN0ZW5jaWxBdHRhY2htZW50LT5kZXB0aExvYWRW
YWx1ZSwgW10gKExvYWRPcCkgLT4gZmxvYXQgewotICAgICAgICAgICAgICAgIHJldHVybiAwOwot
ICAgICAgICAgICAgfSwgW10gKGZsb2F0IGNsZWFyRGVwdGgpIC0+IGZsb2F0IHsKLSAgICAgICAg
ICAgICAgICByZXR1cm4gY2xlYXJEZXB0aDsKLSAgICAgICAgICAgIH0pLAorICAgICAgICAgICAg
ZGVzY3JpcHRvci5kZXB0aFN0ZW5jaWxBdHRhY2htZW50LT5kZXB0aExvYWRPcCA/IG1fY29udmVy
dFRvQmFja2luZ0NvbnRleHQtPmNvbnZlcnRUb0JhY2tpbmcoKmRlc2NyaXB0b3IuZGVwdGhTdGVu
Y2lsQXR0YWNobWVudC0+ZGVwdGhMb2FkT3ApIDogV0dQVUxvYWRPcF9DbGVhciwKKyAgICAgICAg
ICAgIGRlc2NyaXB0b3IuZGVwdGhTdGVuY2lsQXR0YWNobWVudC0+ZGVwdGhTdG9yZU9wID8gbV9j
b252ZXJ0VG9CYWNraW5nQ29udGV4dC0+Y29udmVydFRvQmFja2luZygqZGVzY3JpcHRvci5kZXB0
aFN0ZW5jaWxBdHRhY2htZW50LT5kZXB0aFN0b3JlT3ApIDogV0dQVVN0b3JlT3BfRGlzY2FyZCwK
KyAgICAgICAgICAgIGRlc2NyaXB0b3IuZGVwdGhTdGVuY2lsQXR0YWNobWVudC0+ZGVwdGhDbGVh
clZhbHVlLAogICAgICAgICAgICAgZGVzY3JpcHRvci5kZXB0aFN0ZW5jaWxBdHRhY2htZW50LT5k
ZXB0aFJlYWRPbmx5LAotICAgICAgICAgICAgc3RkOjpob2xkc19hbHRlcm5hdGl2ZTxMb2FkT3A+
KGRlc2NyaXB0b3IuZGVwdGhTdGVuY2lsQXR0YWNobWVudC0+c3RlbmNpbExvYWRWYWx1ZSkgPyBt
X2NvbnZlcnRUb0JhY2tpbmdDb250ZXh0LT5jb252ZXJ0VG9CYWNraW5nKHN0ZDo6Z2V0PExvYWRP
cD4oZGVzY3JpcHRvci5kZXB0aFN0ZW5jaWxBdHRhY2htZW50LT5zdGVuY2lsTG9hZFZhbHVlKSkg
OiBXR1BVTG9hZE9wX0NsZWFyLAotICAgICAgICAgICAgbV9jb252ZXJ0VG9CYWNraW5nQ29udGV4
dC0+Y29udmVydFRvQmFja2luZyhkZXNjcmlwdG9yLmRlcHRoU3RlbmNpbEF0dGFjaG1lbnQtPnN0
ZW5jaWxTdG9yZU9wKSwKLSAgICAgICAgICAgIFdURjo6c3dpdGNoT24oZGVzY3JpcHRvci5kZXB0
aFN0ZW5jaWxBdHRhY2htZW50LT5zdGVuY2lsTG9hZFZhbHVlLCBbXSAoTG9hZE9wKSAtPiB1aW50
MzJfdCB7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIDA7Ci0gICAgICAgICAgICB9LCBbXSAoU3Rl
bmNpbFZhbHVlIGNsZWFyU3RlbmNpbCkgLT4gdWludDMyX3QgewotICAgICAgICAgICAgICAgIHJl
dHVybiBjbGVhclN0ZW5jaWw7Ci0gICAgICAgICAgICB9KSwKKyAgICAgICAgICAgIGRlc2NyaXB0
b3IuZGVwdGhTdGVuY2lsQXR0YWNobWVudC0+c3RlbmNpbExvYWRPcCA/IG1fY29udmVydFRvQmFj
a2luZ0NvbnRleHQtPmNvbnZlcnRUb0JhY2tpbmcoKmRlc2NyaXB0b3IuZGVwdGhTdGVuY2lsQXR0
YWNobWVudC0+c3RlbmNpbExvYWRPcCkgOiBXR1BVTG9hZE9wX0NsZWFyLAorICAgICAgICAgICAg
ZGVzY3JpcHRvci5kZXB0aFN0ZW5jaWxBdHRhY2htZW50LT5zdGVuY2lsU3RvcmVPcCA/IG1fY29u
dmVydFRvQmFja2luZ0NvbnRleHQtPmNvbnZlcnRUb0JhY2tpbmcoKmRlc2NyaXB0b3IuZGVwdGhT
dGVuY2lsQXR0YWNobWVudC0+c3RlbmNpbFN0b3JlT3ApIDogV0dQVVN0b3JlT3BfRGlzY2FyZCwK
KyAgICAgICAgICAgIGRlc2NyaXB0b3IuZGVwdGhTdGVuY2lsQXR0YWNobWVudC0+c3RlbmNpbENs
ZWFyVmFsdWUsCiAgICAgICAgICAgICBkZXNjcmlwdG9yLmRlcHRoU3RlbmNpbEF0dGFjaG1lbnQt
PnN0ZW5jaWxSZWFkT25seSwKICAgICAgICAgfTsKICAgICB9CiAKLSAgICBhdXRvIGxhYmVsID0g
ZGVzY3JpcHRvci5sYWJlbC51dGY4KCk7CisgICAgVmVjdG9yPFdHUFVSZW5kZXJQYXNzVGltZXN0
YW1wV3JpdGU+IHRpbWVzdGFtcFdyaXRlczsKKyAgICBmb3IgKGNvbnN0IGF1dG8mIHRpbWVzdGFt
cFdyaXRlIDogZGVzY3JpcHRvci50aW1lc3RhbXBXcml0ZXMpIHsKKyAgICAgICAgdGltZXN0YW1w
V3JpdGVzLmFwcGVuZChXR1BVUmVuZGVyUGFzc1RpbWVzdGFtcFdyaXRlIHsKKyAgICAgICAgICAg
IG1fY29udmVydFRvQmFja2luZ0NvbnRleHQtPmNvbnZlcnRUb0JhY2tpbmcodGltZXN0YW1wV3Jp
dGUucXVlcnlTZXQpLAorICAgICAgICAgICAgdGltZXN0YW1wV3JpdGUucXVlcnlJbmRleCwKKyAg
ICAgICAgICAgIG1fY29udmVydFRvQmFja2luZ0NvbnRleHQtPmNvbnZlcnRUb0JhY2tpbmcodGlt
ZXN0YW1wV3JpdGUubG9jYXRpb24pLAorICAgICAgICB9KTsKKyAgICB9CiAKICAgICBXR1BVUmVu
ZGVyUGFzc0Rlc2NyaXB0b3IgYmFja2luZ0Rlc2NyaXB0b3IgewogICAgICAgICBudWxscHRyLApA
QCAtMTEyLDYgKzEwNiw4IEBAIFJlZjxSZW5kZXJQYXNzRW5jb2Rlcj4gQ29tbWFuZEVuY29kZXJJ
bXBsOjpiZWdpblJlbmRlclBhc3MoY29uc3QgUmVuZGVyUGFzc0Rlc2NyCiAgICAgICAgIGNvbG9y
QXR0YWNobWVudHMuZGF0YSgpLAogICAgICAgICBkZXB0aFN0ZW5jaWxBdHRhY2htZW50ID8gJmRl
cHRoU3RlbmNpbEF0dGFjaG1lbnQudmFsdWUoKSA6IG51bGxwdHIsCiAgICAgICAgIGRlc2NyaXB0
b3Iub2NjbHVzaW9uUXVlcnlTZXQgPyBtX2NvbnZlcnRUb0JhY2tpbmdDb250ZXh0LT5jb252ZXJ0
VG9CYWNraW5nKCpkZXNjcmlwdG9yLm9jY2x1c2lvblF1ZXJ5U2V0KSA6IG51bGxwdHIsCisgICAg
ICAgIHN0YXRpY19jYXN0PHVpbnQzMl90Pih0aW1lc3RhbXBXcml0ZXMuc2l6ZSgpKSwKKyAgICAg
ICAgdGltZXN0YW1wV3JpdGVzLmRhdGEoKSwKICAgICB9OwogCiAgICAgcmV0dXJuIFJlbmRlclBh
c3NFbmNvZGVySW1wbDo6Y3JlYXRlKHdncHVDb21tYW5kRW5jb2RlckJlZ2luUmVuZGVyUGFzcyht
X2JhY2tpbmcsICZiYWNraW5nRGVzY3JpcHRvciksIG1fY29udmVydFRvQmFja2luZ0NvbnRleHQp
OwpAQCAtMTIxLDkgKzExNywyMiBAQCBSZWY8Q29tcHV0ZVBhc3NFbmNvZGVyPiBDb21tYW5kRW5j
b2RlckltcGw6OmJlZ2luQ29tcHV0ZVBhc3MoY29uc3Qgc3RkOjpvcHRpb25hbAogewogICAgIENT
dHJpbmcgbGFiZWwgPSBkZXNjcmlwdG9yID8gZGVzY3JpcHRvci0+bGFiZWwudXRmOCgpIDogQ1N0
cmluZygiIik7CiAKKyAgICBWZWN0b3I8V0dQVUNvbXB1dGVQYXNzVGltZXN0YW1wV3JpdGU+IHRp
bWVzdGFtcFdyaXRlczsKKyAgICBpZiAoZGVzY3JpcHRvcikgeworICAgICAgICBmb3IgKGNvbnN0
IGF1dG8mIHRpbWVzdGFtcFdyaXRlIDogZGVzY3JpcHRvci0+dGltZXN0YW1wV3JpdGVzKSB7Cisg
ICAgICAgICAgICB0aW1lc3RhbXBXcml0ZXMuYXBwZW5kKFdHUFVDb21wdXRlUGFzc1RpbWVzdGFt
cFdyaXRlIHsKKyAgICAgICAgICAgICAgICBtX2NvbnZlcnRUb0JhY2tpbmdDb250ZXh0LT5jb252
ZXJ0VG9CYWNraW5nKHRpbWVzdGFtcFdyaXRlLnF1ZXJ5U2V0KSwKKyAgICAgICAgICAgICAgICB0
aW1lc3RhbXBXcml0ZS5xdWVyeUluZGV4LAorICAgICAgICAgICAgICAgIG1fY29udmVydFRvQmFj
a2luZ0NvbnRleHQtPmNvbnZlcnRUb0JhY2tpbmcodGltZXN0YW1wV3JpdGUubG9jYXRpb24pLAor
ICAgICAgICAgICAgfSk7CisgICAgICAgIH0KKyAgICB9CisKICAgICBXR1BVQ29tcHV0ZVBhc3NE
ZXNjcmlwdG9yIGJhY2tpbmdEZXNjcmlwdG9yIHsKICAgICAgICAgbnVsbHB0ciwKICAgICAgICAg
bGFiZWwuZGF0YSgpLAorICAgICAgICBzdGF0aWNfY2FzdDx1aW50MzJfdD4odGltZXN0YW1wV3Jp
dGVzLnNpemUoKSksCisgICAgICAgIHRpbWVzdGFtcFdyaXRlcy5kYXRhKCksCiAgICAgfTsKIAog
ICAgIHJldHVybiBDb21wdXRlUGFzc0VuY29kZXJJbXBsOjpjcmVhdGUod2dwdUNvbW1hbmRFbmNv
ZGVyQmVnaW5Db21wdXRlUGFzcyhtX2JhY2tpbmcsICZiYWNraW5nRGVzY3JpcHRvciksIG1fY29u
dmVydFRvQmFja2luZ0NvbnRleHQpOwpAQCAtMjIxLDEyICsyMzAsMTIgQEAgdm9pZCBDb21tYW5k
RW5jb2RlckltcGw6OmNvcHlUZXh0dXJlVG9UZXh0dXJlKAogICAgIHdncHVDb21tYW5kRW5jb2Rl
ckNvcHlUZXh0dXJlVG9UZXh0dXJlKG1fYmFja2luZywgJmJhY2tpbmdTb3VyY2UsICZiYWNraW5n
RGVzdGluYXRpb24sICZiYWNraW5nQ29weVNpemUpOwogfQogCi12b2lkIENvbW1hbmRFbmNvZGVy
SW1wbDo6ZmlsbEJ1ZmZlcigKLSAgICBjb25zdCBCdWZmZXImIGRlc3RpbmF0aW9uLAotICAgIFNp
emU2NCBkZXN0aW5hdGlvbk9mZnNldCwKLSAgICBTaXplNjQgc2l6ZSkKK3ZvaWQgQ29tbWFuZEVu
Y29kZXJJbXBsOjpjbGVhckJ1ZmZlcigKKyAgICBjb25zdCBCdWZmZXImIGJ1ZmZlciwKKyAgICBT
aXplNjQgb2Zmc2V0LAorICAgIHN0ZDo6b3B0aW9uYWw8U2l6ZTY0PiBzaXplKQogewotICAgIHdn
cHVDb21tYW5kRW5jb2RlckZpbGxCdWZmZXIobV9iYWNraW5nLCBtX2NvbnZlcnRUb0JhY2tpbmdD
b250ZXh0LT5jb252ZXJ0VG9CYWNraW5nKGRlc3RpbmF0aW9uKSwgZGVzdGluYXRpb25PZmZzZXQs
IHNpemUpOworICAgIHdncHVDb21tYW5kRW5jb2RlckNsZWFyQnVmZmVyKG1fYmFja2luZywgbV9j
b252ZXJ0VG9CYWNraW5nQ29udGV4dC0+Y29udmVydFRvQmFja2luZyhidWZmZXIpLCBvZmZzZXQs
IHNpemUudmFsdWVfb3IoV0dQVV9XSE9MRV9TSVpFKSk7CiB9CiAKIHZvaWQgQ29tbWFuZEVuY29k
ZXJJbXBsOjpwdXNoRGVidWdHcm91cChTdHJpbmcmJiBncm91cExhYmVsKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9XZWJHUFVDb21tYW5k
RW5jb2RlckltcGwuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL0lt
cGwvV2ViR1BVQ29tbWFuZEVuY29kZXJJbXBsLmgKaW5kZXggYWQ2MGFjMDJiMWFkNmUyNDA4OTRi
OWQ1YTI5MTBiYmJkNDM2MTFhOS4uMTBjZjkwYjI0OWE0ZGExNzM5MjJkMDY0ZjFkMjIxNWZiNTY3
ODkyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUv
SW1wbC9XZWJHUFVDb21tYW5kRW5jb2RlckltcGwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwv
cGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVUNvbW1hbmRFbmNvZGVySW1wbC5oCkBAIC0x
LDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEtMjAyMiBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTgxLDEw
ICs4MSwxMCBAQCBwcml2YXRlOgogICAgICAgICBjb25zdCBJbWFnZUNvcHlUZXh0dXJlJiBkZXN0
aW5hdGlvbiwKICAgICAgICAgY29uc3QgRXh0ZW50M0QmIGNvcHlTaXplKSBmaW5hbDsKIAotICAg
IHZvaWQgZmlsbEJ1ZmZlcigKLSAgICAgICAgY29uc3QgQnVmZmVyJiBkZXN0aW5hdGlvbiwKLSAg
ICAgICAgU2l6ZTY0IGRlc3RpbmF0aW9uT2Zmc2V0LAotICAgICAgICBTaXplNjQpIGZpbmFsOwor
ICAgIHZvaWQgY2xlYXJCdWZmZXIoCisgICAgICAgIGNvbnN0IEJ1ZmZlciYsCisgICAgICAgIFNp
emU2NCBvZmZzZXQsCisgICAgICAgIHN0ZDo6b3B0aW9uYWw8U2l6ZTY0PikgZmluYWw7CiAKICAg
ICB2b2lkIHB1c2hEZWJ1Z0dyb3VwKFN0cmluZyYmIGdyb3VwTGFiZWwpIGZpbmFsOwogICAgIHZv
aWQgcG9wRGVidWdHcm91cCgpIGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFM
L3BhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9XZWJHUFVDb21wdXRlUGFzc0VuY29kZXJJbXBsLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwvV2ViR1BVQ29t
cHV0ZVBhc3NFbmNvZGVySW1wbC5jcHAKaW5kZXggZWRkNTlkNjU5NzZmMDRhN2MxYjM3ZmQxYWJi
MDhkNTRiZTRmNzYxNy4uZGI3ZTI5OWJhZDFiZDhhOGRiYzA0ODNlMDE1N2UwZWZjY2EyNWMwNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9X
ZWJHUFVDb21wdXRlUGFzc0VuY29kZXJJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwv
cGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVUNvbXB1dGVQYXNzRW5jb2RlckltcGwuY3Bw
CkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEtMjAyMiBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAg
LTUzLDkgKzUzLDkgQEAgdm9pZCBDb21wdXRlUGFzc0VuY29kZXJJbXBsOjpzZXRQaXBlbGluZShj
b25zdCBDb21wdXRlUGlwZWxpbmUmIGNvbXB1dGVQaXBlbGluZSkKICAgICB3Z3B1Q29tcHV0ZVBh
c3NFbmNvZGVyU2V0UGlwZWxpbmUobV9iYWNraW5nLCBtX2NvbnZlcnRUb0JhY2tpbmdDb250ZXh0
LT5jb252ZXJ0VG9CYWNraW5nKGNvbXB1dGVQaXBlbGluZSkpOwogfQogCi12b2lkIENvbXB1dGVQ
YXNzRW5jb2RlckltcGw6OmRpc3BhdGNoKFNpemUzMiB4LCBzdGQ6Om9wdGlvbmFsPFNpemUzMj4g
eSwgc3RkOjpvcHRpb25hbDxTaXplMzI+IHopCit2b2lkIENvbXB1dGVQYXNzRW5jb2RlckltcGw6
OmRpc3BhdGNoKFNpemUzMiB3b3JrZ3JvdXBDb3VudFgsIFNpemUzMiB3b3JrZ3JvdXBDb3VudFks
IFNpemUzMiB3b3JrZ3JvdXBDb3VudFopCiB7Ci0gICAgd2dwdUNvbXB1dGVQYXNzRW5jb2RlckRp
c3BhdGNoKG1fYmFja2luZywgeCwgeS52YWx1ZV9vcigxKSwgei52YWx1ZV9vcigxKSk7CisgICAg
d2dwdUNvbXB1dGVQYXNzRW5jb2RlckRpc3BhdGNoKG1fYmFja2luZywgd29ya2dyb3VwQ291bnRY
LCB3b3JrZ3JvdXBDb3VudFksIHdvcmtncm91cENvdW50Wik7CiB9CiAKIHZvaWQgQ29tcHV0ZVBh
c3NFbmNvZGVySW1wbDo6ZGlzcGF0Y2hJbmRpcmVjdChjb25zdCBCdWZmZXImIGluZGlyZWN0QnVm
ZmVyLCBTaXplNjQgaW5kaXJlY3RPZmZzZXQpCkBAIC02MywxNyArNjMsNyBAQCB2b2lkIENvbXB1
dGVQYXNzRW5jb2RlckltcGw6OmRpc3BhdGNoSW5kaXJlY3QoY29uc3QgQnVmZmVyJiBpbmRpcmVj
dEJ1ZmZlciwgU2l6ZQogICAgIHdncHVDb21wdXRlUGFzc0VuY29kZXJEaXNwYXRjaEluZGlyZWN0
KG1fYmFja2luZywgbV9jb252ZXJ0VG9CYWNraW5nQ29udGV4dC0+Y29udmVydFRvQmFja2luZyhp
bmRpcmVjdEJ1ZmZlciksIGluZGlyZWN0T2Zmc2V0KTsKIH0KIAotdm9pZCBDb21wdXRlUGFzc0Vu
Y29kZXJJbXBsOjpiZWdpblBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KGNvbnN0IFF1ZXJ5U2V0JiBx
dWVyeVNldCwgU2l6ZTMyIHF1ZXJ5SW5kZXgpCi17Ci0gICAgd2dwdUNvbXB1dGVQYXNzRW5jb2Rl
ckJlZ2luUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkobV9iYWNraW5nLCBtX2NvbnZlcnRUb0JhY2tp
bmdDb250ZXh0LT5jb252ZXJ0VG9CYWNraW5nKHF1ZXJ5U2V0KSwgcXVlcnlJbmRleCk7Ci19Ci0K
LXZvaWQgQ29tcHV0ZVBhc3NFbmNvZGVySW1wbDo6ZW5kUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnko
KQotewotICAgIHdncHVDb21wdXRlUGFzc0VuY29kZXJFbmRQaXBlbGluZVN0YXRpc3RpY3NRdWVy
eShtX2JhY2tpbmcpOwotfQotCi12b2lkIENvbXB1dGVQYXNzRW5jb2RlckltcGw6OmVuZFBhc3Mo
KQordm9pZCBDb21wdXRlUGFzc0VuY29kZXJJbXBsOjplbmQoKQogewogICAgIHdncHVDb21wdXRl
UGFzc0VuY29kZXJFbmRQYXNzKG1fYmFja2luZyk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVUNvbXB1dGVQYXNzRW5jb2Rl
ckltcGwuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwvV2Vi
R1BVQ29tcHV0ZVBhc3NFbmNvZGVySW1wbC5oCmluZGV4IDUyODhiNWI4YzBkYmU3YTYxMGViMTE2
NTMxNTVmMzNjYTE1M2Q1MTMuLjEzYjgwMDhjMTRkNGY4OTFmNTI1NGViOWRhY2U2MTRhOGQ1ZTFk
N2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL0lt
cGwvV2ViR1BVQ29tcHV0ZVBhc3NFbmNvZGVySW1wbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BB
TC9wYWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwvV2ViR1BVQ29tcHV0ZVBhc3NFbmNvZGVySW1wbC5o
CkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEtMjAyMiBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAg
LTU3LDEzICs1NywxMCBAQCBwcml2YXRlOgogICAgIFdHUFVDb21wdXRlUGFzc0VuY29kZXIgYmFj
a2luZygpIGNvbnN0IHsgcmV0dXJuIG1fYmFja2luZzsgfQogCiAgICAgdm9pZCBzZXRQaXBlbGlu
ZShjb25zdCBDb21wdXRlUGlwZWxpbmUmKSBmaW5hbDsKLSAgICB2b2lkIGRpc3BhdGNoKFNpemUz
MiB4LCBzdGQ6Om9wdGlvbmFsPFNpemUzMj4geSwgc3RkOjpvcHRpb25hbDxTaXplMzI+KSBmaW5h
bDsKKyAgICB2b2lkIGRpc3BhdGNoKFNpemUzMiB3b3JrZ3JvdXBDb3VudFgsIFNpemUzMiB3b3Jr
Z3JvdXBDb3VudFksIFNpemUzMiB3b3JrZ3JvdXBDb3VudFopIGZpbmFsOwogICAgIHZvaWQgZGlz
cGF0Y2hJbmRpcmVjdChjb25zdCBCdWZmZXImIGluZGlyZWN0QnVmZmVyLCBTaXplNjQgaW5kaXJl
Y3RPZmZzZXQpIGZpbmFsOwogCi0gICAgdm9pZCBiZWdpblBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5
KGNvbnN0IFF1ZXJ5U2V0JiwgU2l6ZTMyIHF1ZXJ5SW5kZXgpIGZpbmFsOwotICAgIHZvaWQgZW5k
UGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkoKSBmaW5hbDsKLQotICAgIHZvaWQgZW5kUGFzcygpIGZp
bmFsOworICAgIHZvaWQgZW5kKCkgZmluYWw7CiAKICAgICB2b2lkIHNldEJpbmRHcm91cChJbmRl
eDMyLCBjb25zdCBCaW5kR3JvdXAmLAogICAgICAgICBzdGQ6Om9wdGlvbmFsPFZlY3RvcjxCdWZm
ZXJEeW5hbWljT2Zmc2V0Pj4mJikgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVUNvbnZlcnRUb0JhY2tpbmdDb250ZXh0
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwvV2ViR1BV
Q29udmVydFRvQmFja2luZ0NvbnRleHQuY3BwCmluZGV4IDBmYmZiNGVjZDZiNjVjNDQxZjcxNTQz
M2QyYzY1MDlkOGRlNDIzYWEuLmYyN2YzY2Y3OTY5MjUxYzg4ODFjYjdhYTY5NTQ1ZTIxNTM5YjQz
YTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL0lt
cGwvV2ViR1BVQ29udmVydFRvQmFja2luZ0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwvV2ViR1BVQ29udmVydFRvQmFja2luZ0NvbnRl
eHQuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEtMjAyMiBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNsdWRlICJXZWJHUFVCdWZmZXJCaW5kaW5nVHlwZS5o
IgogI2luY2x1ZGUgIldlYkdQVUNvbXBhcmVGdW5jdGlvbi5oIgogI2luY2x1ZGUgIldlYkdQVUNv
bXBpbGF0aW9uTWVzc2FnZVR5cGUuaCIKKyNpbmNsdWRlICJXZWJHUFVDb21wdXRlUGFzc1RpbWVz
dGFtcExvY2F0aW9uLmgiCiAjaW5jbHVkZSAiV2ViR1BVQ3VsbE1vZGUuaCIKICNpbmNsdWRlICJX
ZWJHUFVFcnJvckZpbHRlci5oIgogI2luY2x1ZGUgIldlYkdQVUZlYXR1cmVOYW1lLmgiCkBAIC00
MSwxMCArNDIsMTAgQEAKICNpbmNsdWRlICJXZWJHUFVGcm9udEZhY2UuaCIKICNpbmNsdWRlICJX
ZWJHUFVJbmRleEZvcm1hdC5oIgogI2luY2x1ZGUgIldlYkdQVUxvYWRPcC5oIgotI2luY2x1ZGUg
IldlYkdQVVBpcGVsaW5lU3RhdGlzdGljTmFtZS5oIgogI2luY2x1ZGUgIldlYkdQVVBvd2VyUHJl
ZmVyZW5jZS5oIgogI2luY2x1ZGUgIldlYkdQVVByaW1pdGl2ZVRvcG9sb2d5LmgiCiAjaW5jbHVk
ZSAiV2ViR1BVUXVlcnlUeXBlLmgiCisjaW5jbHVkZSAiV2ViR1BVUmVuZGVyUGFzc1RpbWVzdGFt
cExvY2F0aW9uLmgiCiAjaW5jbHVkZSAiV2ViR1BVU2FtcGxlckJpbmRpbmdUeXBlLmgiCiAjaW5j
bHVkZSAiV2ViR1BVU3RlbmNpbE9wZXJhdGlvbi5oIgogI2luY2x1ZGUgIldlYkdQVVN0b3JhZ2VU
ZXh0dXJlQWNjZXNzLmgiCkBAIC0xNjYsNiArMTY3LDE2IEBAIFdHUFVDb21waWxhdGlvbk1lc3Nh
Z2VUeXBlIENvbnZlcnRUb0JhY2tpbmdDb250ZXh0Ojpjb252ZXJ0VG9CYWNraW5nKENvbXBpbGF0
aW9uCiAgICAgfQogfQogCitXR1BVQ29tcHV0ZVBhc3NUaW1lc3RhbXBMb2NhdGlvbiBDb252ZXJ0
VG9CYWNraW5nQ29udGV4dDo6Y29udmVydFRvQmFja2luZyhDb21wdXRlUGFzc1RpbWVzdGFtcExv
Y2F0aW9uIGNvbXB1dGVQYXNzVGltZXN0YW1wTG9jYXRpb24pCit7CisgICAgc3dpdGNoIChjb21w
dXRlUGFzc1RpbWVzdGFtcExvY2F0aW9uKSB7CisgICAgY2FzZSBDb21wdXRlUGFzc1RpbWVzdGFt
cExvY2F0aW9uOjpCZWdpbm5pbmc6CisgICAgICAgIHJldHVybiBXR1BVQ29tcHV0ZVBhc3NUaW1l
c3RhbXBMb2NhdGlvbl9CZWdpbm5pbmc7CisgICAgY2FzZSBDb21wdXRlUGFzc1RpbWVzdGFtcExv
Y2F0aW9uOjpFbmQ6CisgICAgICAgIHJldHVybiBXR1BVQ29tcHV0ZVBhc3NUaW1lc3RhbXBMb2Nh
dGlvbl9FbmQ7CisgICAgfQorfQorCiBXR1BVQ3VsbE1vZGUgQ29udmVydFRvQmFja2luZ0NvbnRl
eHQ6OmNvbnZlcnRUb0JhY2tpbmcoQ3VsbE1vZGUgY3VsbE1vZGUpCiB7CiAgICAgc3dpdGNoIChj
dWxsTW9kZSkgewpAQCAtMTk3LDggKzIwOCw2IEBAIFdHUFVGZWF0dXJlTmFtZSBDb252ZXJ0VG9C
YWNraW5nQ29udGV4dDo6Y29udmVydFRvQmFja2luZyhGZWF0dXJlTmFtZSBmZWF0dXJlTmFtCiAg
ICAgICAgIHJldHVybiBXR1BVRmVhdHVyZU5hbWVfRGVwdGgyNFVub3JtU3RlbmNpbDg7CiAgICAg
Y2FzZSBGZWF0dXJlTmFtZTo6RGVwdGgzMmZsb2F0U3RlbmNpbDg6CiAgICAgICAgIHJldHVybiBX
R1BVRmVhdHVyZU5hbWVfRGVwdGgzMkZsb2F0U3RlbmNpbDg7Ci0gICAgY2FzZSBGZWF0dXJlTmFt
ZTo6UGlwZWxpbmVTdGF0aXN0aWNzUXVlcnk6Ci0gICAgICAgIHJldHVybiBXR1BVRmVhdHVyZU5h
bWVfUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnk7CiAgICAgY2FzZSBGZWF0dXJlTmFtZTo6VGV4dHVy
ZUNvbXByZXNzaW9uQmM6CiAgICAgICAgIHJldHVybiBXR1BVRmVhdHVyZU5hbWVfVGV4dHVyZUNv
bXByZXNzaW9uQkM7CiAgICAgY2FzZSBGZWF0dXJlTmFtZTo6VGV4dHVyZUNvbXByZXNzaW9uRXRj
MjoKQEAgLTI0NywyMiArMjU2LDggQEAgV0dQVUxvYWRPcCBDb252ZXJ0VG9CYWNraW5nQ29udGV4
dDo6Y29udmVydFRvQmFja2luZyhMb2FkT3AgbG9hZE9wKQogICAgIHN3aXRjaCAobG9hZE9wKSB7
CiAgICAgY2FzZSBMb2FkT3A6OkxvYWQ6CiAgICAgICAgIHJldHVybiBXR1BVTG9hZE9wX0xvYWQ7
Ci0gICAgfQotfQotCi1XR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lIENvbnZlcnRUb0JhY2tpbmdD
b250ZXh0Ojpjb252ZXJ0VG9CYWNraW5nKFBpcGVsaW5lU3RhdGlzdGljTmFtZSBwaXBlbGluZVN0
YXRpc3RpY05hbWUpCi17Ci0gICAgc3dpdGNoIChwaXBlbGluZVN0YXRpc3RpY05hbWUpIHsKLSAg
ICBjYXNlIFBpcGVsaW5lU3RhdGlzdGljTmFtZTo6VmVydGV4U2hhZGVySW52b2NhdGlvbnM6Ci0g
ICAgICAgIHJldHVybiBXR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lX1ZlcnRleFNoYWRlckludm9j
YXRpb25zOwotICAgIGNhc2UgUGlwZWxpbmVTdGF0aXN0aWNOYW1lOjpDbGlwcGVySW52b2NhdGlv
bnM6Ci0gICAgICAgIHJldHVybiBXR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lX0NsaXBwZXJJbnZv
Y2F0aW9uczsKLSAgICBjYXNlIFBpcGVsaW5lU3RhdGlzdGljTmFtZTo6Q2xpcHBlclByaW1pdGl2
ZXNPdXQ6Ci0gICAgICAgIHJldHVybiBXR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lX0NsaXBwZXJQ
cmltaXRpdmVzT3V0OwotICAgIGNhc2UgUGlwZWxpbmVTdGF0aXN0aWNOYW1lOjpGcmFnbWVudFNo
YWRlckludm9jYXRpb25zOgotICAgICAgICByZXR1cm4gV0dQVVBpcGVsaW5lU3RhdGlzdGljTmFt
ZV9GcmFnbWVudFNoYWRlckludm9jYXRpb25zOwotICAgIGNhc2UgUGlwZWxpbmVTdGF0aXN0aWNO
YW1lOjpDb21wdXRlU2hhZGVySW52b2NhdGlvbnM6Ci0gICAgICAgIHJldHVybiBXR1BVUGlwZWxp
bmVTdGF0aXN0aWNOYW1lX0NvbXB1dGVTaGFkZXJJbnZvY2F0aW9uczsKKyAgICBjYXNlIExvYWRP
cDo6Q2xlYXI6CisgICAgICAgIHJldHVybiBXR1BVTG9hZE9wX0NsZWFyOwogICAgIH0KIH0KIApA
QCAtMjk3LDEzICsyOTIsMjEgQEAgV0dQVVF1ZXJ5VHlwZSBDb252ZXJ0VG9CYWNraW5nQ29udGV4
dDo6Y29udmVydFRvQmFja2luZyhRdWVyeVR5cGUgcXVlcnlUeXBlKQogICAgIHN3aXRjaCAocXVl
cnlUeXBlKSB7CiAgICAgY2FzZSBRdWVyeVR5cGU6Ok9jY2x1c2lvbjoKICAgICAgICAgcmV0dXJu
IFdHUFVRdWVyeVR5cGVfT2NjbHVzaW9uOwotICAgIGNhc2UgUXVlcnlUeXBlOjpQaXBlbGluZVN0
YXRpc3RpY3M6Ci0gICAgICAgIHJldHVybiBXR1BVUXVlcnlUeXBlX1BpcGVsaW5lU3RhdGlzdGlj
czsKICAgICBjYXNlIFF1ZXJ5VHlwZTo6VGltZXN0YW1wOgogICAgICAgICByZXR1cm4gV0dQVVF1
ZXJ5VHlwZV9UaW1lc3RhbXA7CiAgICAgfQogfQogCitXR1BVUmVuZGVyUGFzc1RpbWVzdGFtcExv
Y2F0aW9uIENvbnZlcnRUb0JhY2tpbmdDb250ZXh0Ojpjb252ZXJ0VG9CYWNraW5nKFJlbmRlclBh
c3NUaW1lc3RhbXBMb2NhdGlvbiByZW5kZXJQYXNzVGltZXN0YW1wTG9jYXRpb24pCit7CisgICAg
c3dpdGNoIChyZW5kZXJQYXNzVGltZXN0YW1wTG9jYXRpb24pIHsKKyAgICBjYXNlIFJlbmRlclBh
c3NUaW1lc3RhbXBMb2NhdGlvbjo6QmVnaW5uaW5nOgorICAgICAgICByZXR1cm4gV0dQVVJlbmRl
clBhc3NUaW1lc3RhbXBMb2NhdGlvbl9CZWdpbm5pbmc7CisgICAgY2FzZSBSZW5kZXJQYXNzVGlt
ZXN0YW1wTG9jYXRpb246OkVuZDoKKyAgICAgICAgcmV0dXJuIFdHUFVSZW5kZXJQYXNzVGltZXN0
YW1wTG9jYXRpb25fRW5kOworICAgIH0KK30KKwogV0dQVVNhbXBsZXJCaW5kaW5nVHlwZSBDb252
ZXJ0VG9CYWNraW5nQ29udGV4dDo6Y29udmVydFRvQmFja2luZyhTYW1wbGVyQmluZGluZ1R5cGUg
c2FtcGxlckJpbmRpbmdUeXBlKQogewogICAgIHN3aXRjaCAoc2FtcGxlckJpbmRpbmdUeXBlKSB7
CkBAIC00OTYsMTEgKzQ5OSwxMSBAQCBXR1BVVGV4dHVyZUZvcm1hdCBDb252ZXJ0VG9CYWNraW5n
Q29udGV4dDo6Y29udmVydFRvQmFja2luZyhUZXh0dXJlRm9ybWF0IHRleHR1cgogICAgIGNhc2Ug
VGV4dHVyZUZvcm1hdDo6RXRjMlJnYjh1bm9ybToKICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0
PFdHUFVUZXh0dXJlRm9ybWF0PihXR1BVVGV4dHVyZUZvcm1hdF9FVEMyUkdCOFVub3JtKTsKICAg
ICBjYXNlIFRleHR1cmVGb3JtYXQ6OkV0YzJSZ2I4dW5vcm1TUkdCOgotICAgICAgICByZXR1cm4g
c3RhdGljX2Nhc3Q8V0dQVVRleHR1cmVGb3JtYXQ+KFdHUFVUZXh0dXJlRm9ybWF0X0VUQzJSR0I4
dW5vcm1TcmdiKTsKKyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFdHUFVUZXh0dXJlRm9ybWF0
PihXR1BVVGV4dHVyZUZvcm1hdF9FVEMyUkdCOFVub3JtU3JnYik7CiAgICAgY2FzZSBUZXh0dXJl
Rm9ybWF0OjpFdGMyUmdiOGExdW5vcm06Ci0gICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxXR1BV
VGV4dHVyZUZvcm1hdD4oV0dQVVRleHR1cmVGb3JtYXRfRVRDMlJHQjhhMVVub3JtKTsKKyAgICAg
ICAgcmV0dXJuIHN0YXRpY19jYXN0PFdHUFVUZXh0dXJlRm9ybWF0PihXR1BVVGV4dHVyZUZvcm1h
dF9FVEMyUkdCOEExVW5vcm0pOwogICAgIGNhc2UgVGV4dHVyZUZvcm1hdDo6RXRjMlJnYjhhMXVu
b3JtU1JHQjoKLSAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFdHUFVUZXh0dXJlRm9ybWF0PihX
R1BVVGV4dHVyZUZvcm1hdF9FVEMyUkdCOGExdW5vcm1TcmdiKTsKKyAgICAgICAgcmV0dXJuIHN0
YXRpY19jYXN0PFdHUFVUZXh0dXJlRm9ybWF0PihXR1BVVGV4dHVyZUZvcm1hdF9FVEMyUkdCOEEx
VW5vcm1TcmdiKTsKICAgICBjYXNlIFRleHR1cmVGb3JtYXQ6OkV0YzJSZ2JhOHVub3JtOgogICAg
ICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8V0dQVVRleHR1cmVGb3JtYXQ+KFdHUFVUZXh0dXJlRm9y
bWF0X0VUQzJSR0JBOFVub3JtKTsKICAgICBjYXNlIFRleHR1cmVGb3JtYXQ6OkV0YzJSZ2JhOHVu
b3JtU1JHQjoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2Vi
R1BVL0ltcGwvV2ViR1BVQ29udmVydFRvQmFja2luZ0NvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3Jl
L1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwvV2ViR1BVQ29udmVydFRvQmFja2luZ0NvbnRl
eHQuaAppbmRleCAwOTNkODMzYzRlM2FmMDAzNGMyOGVmOTRmZjE5NmY4MzlhZGE0MDI3Li42ODc2
NTc4ZDZjMDgyM2NmOTRmOGQwN2Y2YjRlNzNhZGJkOWVkMDA0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVUNvbnZlcnRUb0JhY2tp
bmdDb250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUv
SW1wbC9XZWJHUFVDb252ZXJ0VG9CYWNraW5nQ29udGV4dC5oCkBAIC0xLDUgKzEsNSBAQAogLyoK
LSAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KiBDb3B5cmlnaHQgKEMpIDIwMjEtMjAyMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTU0LDYgKzU0LDcgQEAgY2xhc3Mg
Q29tbWFuZEJ1ZmZlcjsKIGNsYXNzIENvbW1hbmRFbmNvZGVyOwogZW51bSBjbGFzcyBDb21wYXJl
RnVuY3Rpb24gOiB1aW50OF90OwogZW51bSBjbGFzcyBDb21waWxhdGlvbk1lc3NhZ2VUeXBlIDog
dWludDhfdDsKK2VudW0gY2xhc3MgQ29tcHV0ZVBhc3NUaW1lc3RhbXBMb2NhdGlvbiA6IHVpbnQ4
X3Q7CiBjbGFzcyBDb21wdXRlUGFzc0VuY29kZXI7CiBjbGFzcyBDb21wdXRlUGlwZWxpbmU7CiBl
bnVtIGNsYXNzIEN1bGxNb2RlIDogdWludDhfdDsKQEAgLTY2LDcgKzY3LDYgQEAgY2xhc3MgR1BV
OwogZW51bSBjbGFzcyBJbmRleEZvcm1hdCA6IHVpbnQ4X3Q7CiBlbnVtIGNsYXNzIExvYWRPcCA6
IHVpbnQ4X3Q7CiBjbGFzcyBQaXBlbGluZUxheW91dDsKLWVudW0gY2xhc3MgUGlwZWxpbmVTdGF0
aXN0aWNOYW1lIDogdWludDhfdDsKIGVudW0gY2xhc3MgUG93ZXJQcmVmZXJlbmNlIDogdWludDhf
dDsKIGVudW0gY2xhc3MgUHJpbWl0aXZlVG9wb2xvZ3kgOiB1aW50OF90OwogY2xhc3MgUXVlcnlT
ZXQ7CkBAIC03NSw2ICs3NSw3IEBAIGNsYXNzIFF1ZXVlOwogY2xhc3MgUmVuZGVyQnVuZGxlRW5j
b2RlcjsKIGNsYXNzIFJlbmRlckJ1bmRsZTsKIGNsYXNzIFJlbmRlclBhc3NFbmNvZGVyOworZW51
bSBjbGFzcyBSZW5kZXJQYXNzVGltZXN0YW1wTG9jYXRpb24gOiB1aW50OF90OwogY2xhc3MgUmVu
ZGVyUGlwZWxpbmU7CiBjbGFzcyBTYW1wbGVyOwogZW51bSBjbGFzcyBTYW1wbGVyQmluZGluZ1R5
cGUgOiB1aW50OF90OwpAQCAtMTAzLDYgKzEwNCw3IEBAIHB1YmxpYzoKICAgICBXR1BVQnVmZmVy
QmluZGluZ1R5cGUgY29udmVydFRvQmFja2luZyhCdWZmZXJCaW5kaW5nVHlwZSk7CiAgICAgV0dQ
VUNvbXBhcmVGdW5jdGlvbiBjb252ZXJ0VG9CYWNraW5nKENvbXBhcmVGdW5jdGlvbik7CiAgICAg
V0dQVUNvbXBpbGF0aW9uTWVzc2FnZVR5cGUgY29udmVydFRvQmFja2luZyhDb21waWxhdGlvbk1l
c3NhZ2VUeXBlKTsKKyAgICBXR1BVQ29tcHV0ZVBhc3NUaW1lc3RhbXBMb2NhdGlvbiBjb252ZXJ0
VG9CYWNraW5nKENvbXB1dGVQYXNzVGltZXN0YW1wTG9jYXRpb24pOwogICAgIFdHUFVDdWxsTW9k
ZSBjb252ZXJ0VG9CYWNraW5nKEN1bGxNb2RlKTsKICAgICBXR1BVRXJyb3JGaWx0ZXIgY29udmVy
dFRvQmFja2luZyhFcnJvckZpbHRlcik7CiAgICAgV0dQVUZlYXR1cmVOYW1lIGNvbnZlcnRUb0Jh
Y2tpbmcoRmVhdHVyZU5hbWUpOwpAQCAtMTEwLDEwICsxMTIsMTAgQEAgcHVibGljOgogICAgIFdH
UFVGcm9udEZhY2UgY29udmVydFRvQmFja2luZyhGcm9udEZhY2UpOwogICAgIFdHUFVJbmRleEZv
cm1hdCBjb252ZXJ0VG9CYWNraW5nKEluZGV4Rm9ybWF0KTsKICAgICBXR1BVTG9hZE9wIGNvbnZl
cnRUb0JhY2tpbmcoTG9hZE9wKTsKLSAgICBXR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lIGNvbnZl
cnRUb0JhY2tpbmcoUGlwZWxpbmVTdGF0aXN0aWNOYW1lKTsKICAgICBXR1BVUG93ZXJQcmVmZXJl
bmNlIGNvbnZlcnRUb0JhY2tpbmcoUG93ZXJQcmVmZXJlbmNlKTsKICAgICBXR1BVUHJpbWl0aXZl
VG9wb2xvZ3kgY29udmVydFRvQmFja2luZyhQcmltaXRpdmVUb3BvbG9neSk7CiAgICAgV0dQVVF1
ZXJ5VHlwZSBjb252ZXJ0VG9CYWNraW5nKFF1ZXJ5VHlwZSk7CisgICAgV0dQVVJlbmRlclBhc3NU
aW1lc3RhbXBMb2NhdGlvbiBjb252ZXJ0VG9CYWNraW5nKFJlbmRlclBhc3NUaW1lc3RhbXBMb2Nh
dGlvbik7CiAgICAgV0dQVVNhbXBsZXJCaW5kaW5nVHlwZSBjb252ZXJ0VG9CYWNraW5nKFNhbXBs
ZXJCaW5kaW5nVHlwZSk7CiAgICAgV0dQVVN0ZW5jaWxPcGVyYXRpb24gY29udmVydFRvQmFja2lu
ZyhTdGVuY2lsT3BlcmF0aW9uKTsKICAgICBXR1BVU3RvcmFnZVRleHR1cmVBY2Nlc3MgY29udmVy
dFRvQmFja2luZyhTdG9yYWdlVGV4dHVyZUFjY2Vzcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVURldmljZUltcGwuY3BwIGIv
U291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9XZWJHUFVEZXZpY2VJ
bXBsLmNwcAppbmRleCBiM2Y1NTVkYjMxNzg1ZTJkYjZkNjQxNmMyZjkyOTZlZjQyNDBkODNiLi41
ZGFkNjY4MDg1MWFiYjhlNGYwMzNjY2Y1ZjhjYWM1NDM5OTFlYmFkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVURldmljZUltcGwu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwvV2Vi
R1BVRGV2aWNlSW1wbC5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAy
MDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAy
MS0yMDIyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
ICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucwpAQCAtOTksOCArOTksMjEgQEAgUmVmPFRleHR1cmU+IERldmljZUltcGw6
OmNyZWF0ZVRleHR1cmUoY29uc3QgVGV4dHVyZURlc2NyaXB0b3ImIGRlc2NyaXB0b3IpCiAKICAg
ICBhdXRvIGxhYmVsID0gZGVzY3JpcHRvci5sYWJlbC51dGY4KCk7CiAKKyAgICBhdXRvIGJhY2tp
bmdUZXh0dXJlRm9ybWF0cyA9IGRlc2NyaXB0b3Iudmlld0Zvcm1hdHMubWFwKFsmXSAoVGV4dHVy
ZUZvcm1hdCB0ZXh0dXJlRm9ybWF0KSB7CisgICAgICAgIHJldHVybiBtX2NvbnZlcnRUb0JhY2tp
bmdDb250ZXh0LT5jb252ZXJ0VG9CYWNraW5nKHRleHR1cmVGb3JtYXQpOworICAgIH0pOworCisg
ICAgV0dQVVRleHR1cmVEZXNjcmlwdG9yVmlld0Zvcm1hdHMgYmFja2luZ1ZpZXdGb3JtYXRzIHsK
KyAgICAgICAgeworICAgICAgICAgICAgbnVsbHB0ciwKKyAgICAgICAgICAgIHN0YXRpY19jYXN0
PFdHUFVTVHlwZT4oV0dQVVNUeXBlRXh0ZW5kZWRfVGV4dHVyZURlc2NyaXB0b3JWaWV3Rm9ybWF0
cyksCisgICAgICAgIH0sCisgICAgICAgIHN0YXRpY19jYXN0PHVpbnQzMl90PihiYWNraW5nVGV4
dHVyZUZvcm1hdHMuc2l6ZSgpKSwKKyAgICAgICAgYmFja2luZ1RleHR1cmVGb3JtYXRzLmRhdGEo
KSwKKyAgICB9OworCiAgICAgV0dQVVRleHR1cmVEZXNjcmlwdG9yIGJhY2tpbmdEZXNjcmlwdG9y
IHsKLSAgICAgICAgbnVsbHB0ciwKKyAgICAgICAgJmJhY2tpbmdWaWV3Rm9ybWF0cy5jaGFpbiwK
ICAgICAgICAgbGFiZWwuZGF0YSgpLAogICAgICAgICBtX2NvbnZlcnRUb0JhY2tpbmdDb250ZXh0
LT5jb252ZXJ0VGV4dHVyZVVzYWdlRmxhZ3NUb0JhY2tpbmcoZGVzY3JpcHRvci51c2FnZSksCiAg
ICAgICAgIG1fY29udmVydFRvQmFja2luZ0NvbnRleHQtPmNvbnZlcnRUb0JhY2tpbmcoZGVzY3Jp
cHRvci5kaW1lbnNpb24pLApAQCAtMjMxLDkgKzI0NCwzNCBAQCBSZWY8U2hhZGVyTW9kdWxlPiBE
ZXZpY2VJbXBsOjpjcmVhdGVTaGFkZXJNb2R1bGUoY29uc3QgU2hhZGVyTW9kdWxlRGVzY3JpcHRv
ciYgZAogCiAgICAgYXV0byBzb3VyY2UgPSBkZXNjcmlwdG9yLmNvZGUudXRmOCgpOwogCi0gICAg
V0dQVVNoYWRlck1vZHVsZVdHU0xEZXNjcmlwdG9yIGJhY2tpbmdXR1NMRGVzY3JpcHRvciB7Cisg
ICAgYXV0byBlbnRyeVBvaW50cyA9IGRlc2NyaXB0b3IuaGludHMubWFwKFtdIChjb25zdCBhdXRv
JiBoaW50KSB7CisgICAgICAgIHJldHVybiBoaW50LmtleS51dGY4KCk7CisgICAgfSk7CisKKyAg
ICBWZWN0b3I8V0dQVVNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludEVudHJ5PiBoaW50c0VudHJp
ZXM7CisgICAgaGludHNFbnRyaWVzLnJlc2VydmVJbml0aWFsQ2FwYWNpdHkoZGVzY3JpcHRvci5o
aW50cy5zaXplKCkpOworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgZGVzY3JpcHRvci5oaW50
cy5zaXplKCk7ICsraSkgeworICAgICAgICBjb25zdCBhdXRvJiBoaW50ID0gZGVzY3JpcHRvci5o
aW50c1tpXS52YWx1ZTsKKyAgICAgICAgaGludHNFbnRyaWVzLmFwcGVuZChXR1BVU2hhZGVyTW9k
dWxlQ29tcGlsYXRpb25IaW50RW50cnkgeworICAgICAgICAgICAgbnVsbHB0ciwKKyAgICAgICAg
ICAgIGVudHJ5UG9pbnRzW2ldLmRhdGEoKSwgeworICAgICAgICAgICAgICAgIG1fY29udmVydFRv
QmFja2luZ0NvbnRleHQtPmNvbnZlcnRUb0JhY2tpbmcoaGludC5waXBlbGluZUxheW91dCksCisg
ICAgICAgICAgICB9LAorICAgICAgICB9KTsKKyAgICB9CisKKyAgICBXR1BVU2hhZGVyTW9kdWxl
RGVzY3JpcHRvckhpbnRzIGJhY2tpbmdTaGFkZXJNb2R1bGVIaW50cyB7CiAgICAgICAgIHsKICAg
ICAgICAgICAgIG51bGxwdHIsCisgICAgICAgICAgICBzdGF0aWNfY2FzdDxXR1BVU1R5cGU+KFdH
UFVTVHlwZUV4dGVuZGVkX1NoYWRlck1vZHVsZURlc2NyaXB0b3JIaW50cyksCisgICAgICAgIH0s
CisgICAgICAgIHN0YXRpY19jYXN0PHVpbnQzMl90PihoaW50c0VudHJpZXMuc2l6ZSgpKSwKKyAg
ICAgICAgaGludHNFbnRyaWVzLmRhdGEoKSwKKyAgICB9OworCisgICAgV0dQVVNoYWRlck1vZHVs
ZVdHU0xEZXNjcmlwdG9yIGJhY2tpbmdXR1NMRGVzY3JpcHRvciB7CisgICAgICAgIHsKKyAgICAg
ICAgICAgICZiYWNraW5nU2hhZGVyTW9kdWxlSGludHMuY2hhaW4sCiAgICAgICAgICAgICBXR1BV
U1R5cGVfU2hhZGVyTW9kdWxlV0dTTERlc2NyaXB0b3IsCiAgICAgICAgIH0sCiAgICAgICAgIHNv
dXJjZS5kYXRhKCksCkBAIC0yNDgsNyArMjg2LDcgQEAgUmVmPFNoYWRlck1vZHVsZT4gRGV2aWNl
SW1wbDo6Y3JlYXRlU2hhZGVyTW9kdWxlKGNvbnN0IFNoYWRlck1vZHVsZURlc2NyaXB0b3ImIGQK
IH0KIAogdGVtcGxhdGUgPHR5cGVuYW1lIFQ+Ci1hdXRvIGNvbnZlcnRUb0JhY2tpbmcoY29uc3Qg
Q29tcHV0ZVBpcGVsaW5lRGVzY3JpcHRvciYgZGVzY3JpcHRvciwgQ29udmVydFRvQmFja2luZ0Nv
bnRleHQmIGNvbnZlcnRUb0JhY2tpbmdDb250ZXh0LCBUJiYgY2FsbGJhY2spCitzdGF0aWMgYXV0
byBjb252ZXJ0VG9CYWNraW5nKGNvbnN0IENvbXB1dGVQaXBlbGluZURlc2NyaXB0b3ImIGRlc2Ny
aXB0b3IsIENvbnZlcnRUb0JhY2tpbmdDb250ZXh0JiBjb252ZXJ0VG9CYWNraW5nQ29udGV4dCwg
VCYmIGNhbGxiYWNrKQogewogICAgIGF1dG8gbGFiZWwgPSBkZXNjcmlwdG9yLmxhYmVsLnV0Zjgo
KTsKIApAQCAtMjkyLDcgKzMzMCw3IEBAIFJlZjxDb21wdXRlUGlwZWxpbmU+IERldmljZUltcGw6
OmNyZWF0ZUNvbXB1dGVQaXBlbGluZShjb25zdCBDb21wdXRlUGlwZWxpbmVEZXNjCiB9CiAKIHRl
bXBsYXRlIDx0eXBlbmFtZSBUPgotYXV0byBjb252ZXJ0VG9CYWNraW5nKGNvbnN0IFJlbmRlclBp
cGVsaW5lRGVzY3JpcHRvciYgZGVzY3JpcHRvciwgQ29udmVydFRvQmFja2luZ0NvbnRleHQmIGNv
bnZlcnRUb0JhY2tpbmdDb250ZXh0LCBUJiYgY2FsbGJhY2spCitzdGF0aWMgYXV0byBjb252ZXJ0
VG9CYWNraW5nKGNvbnN0IFJlbmRlclBpcGVsaW5lRGVzY3JpcHRvciYgZGVzY3JpcHRvciwgQ29u
dmVydFRvQmFja2luZ0NvbnRleHQmIGNvbnZlcnRUb0JhY2tpbmdDb250ZXh0LCBUJiYgY2FsbGJh
Y2spCiB7CiAgICAgYXV0byBsYWJlbCA9IGRlc2NyaXB0b3IubGFiZWwudXRmOCgpOwogCkBAIC0z
ODUsMTYgKzQyMywxNiBAQCBhdXRvIGNvbnZlcnRUb0JhY2tpbmcoY29uc3QgUmVuZGVyUGlwZWxp
bmVEZXNjcmlwdG9yJiBkZXNjcmlwdG9yLCBDb252ZXJ0VG9CYWNraQogICAgIFZlY3RvcjxzdGQ6
Om9wdGlvbmFsPFdHUFVCbGVuZFN0YXRlPj4gYmxlbmRTdGF0ZXM7CiAgICAgaWYgKGRlc2NyaXB0
b3IuZnJhZ21lbnQpIHsKICAgICAgICAgYmxlbmRTdGF0ZXMgPSBkZXNjcmlwdG9yLmZyYWdtZW50
LT50YXJnZXRzLm1hcChbJmNvbnZlcnRUb0JhY2tpbmdDb250ZXh0XSAoY29uc3QgYXV0byYgdGFy
Z2V0KSAtPiBzdGQ6Om9wdGlvbmFsPFdHUFVCbGVuZFN0YXRlPiB7Ci0gICAgICAgICAgICBpZiAo
dGFyZ2V0LmJsZW5kKSB7CisgICAgICAgICAgICBpZiAodGFyZ2V0ICYmIHRhcmdldC0+YmxlbmQp
IHsKICAgICAgICAgICAgICAgICByZXR1cm4gV0dQVUJsZW5kU3RhdGUgewogICAgICAgICAgICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBjb252ZXJ0VG9CYWNraW5nQ29udGV4
dC5jb252ZXJ0VG9CYWNraW5nKHRhcmdldC5ibGVuZC0+Y29sb3Iub3BlcmF0aW9uKSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnZlcnRUb0JhY2tpbmdDb250ZXh0LmNvbnZlcnRUb0JhY2tp
bmcodGFyZ2V0LmJsZW5kLT5jb2xvci5zcmNGYWN0b3IpLAotICAgICAgICAgICAgICAgICAgICAg
ICAgY29udmVydFRvQmFja2luZ0NvbnRleHQuY29udmVydFRvQmFja2luZyh0YXJnZXQuYmxlbmQt
PmNvbG9yLmRzdEZhY3RvciksCisgICAgICAgICAgICAgICAgICAgICAgICBjb252ZXJ0VG9CYWNr
aW5nQ29udGV4dC5jb252ZXJ0VG9CYWNraW5nKHRhcmdldC0+YmxlbmQtPmNvbG9yLm9wZXJhdGlv
biksCisgICAgICAgICAgICAgICAgICAgICAgICBjb252ZXJ0VG9CYWNraW5nQ29udGV4dC5jb252
ZXJ0VG9CYWNraW5nKHRhcmdldC0+YmxlbmQtPmNvbG9yLnNyY0ZhY3RvciksCisgICAgICAgICAg
ICAgICAgICAgICAgICBjb252ZXJ0VG9CYWNraW5nQ29udGV4dC5jb252ZXJ0VG9CYWNraW5nKHRh
cmdldC0+YmxlbmQtPmNvbG9yLmRzdEZhY3RvciksCiAgICAgICAgICAgICAgICAgICAgIH0sIHsK
LSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnZlcnRUb0JhY2tpbmdDb250ZXh0LmNvbnZlcnRU
b0JhY2tpbmcodGFyZ2V0LmJsZW5kLT5hbHBoYS5vcGVyYXRpb24pLAotICAgICAgICAgICAgICAg
ICAgICAgICAgY29udmVydFRvQmFja2luZ0NvbnRleHQuY29udmVydFRvQmFja2luZyh0YXJnZXQu
YmxlbmQtPmFscGhhLnNyY0ZhY3RvciksCi0gICAgICAgICAgICAgICAgICAgICAgICBjb252ZXJ0
VG9CYWNraW5nQ29udGV4dC5jb252ZXJ0VG9CYWNraW5nKHRhcmdldC5ibGVuZC0+YWxwaGEuZHN0
RmFjdG9yKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnZlcnRUb0JhY2tpbmdDb250ZXh0
LmNvbnZlcnRUb0JhY2tpbmcodGFyZ2V0LT5ibGVuZC0+YWxwaGEub3BlcmF0aW9uKSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnZlcnRUb0JhY2tpbmdDb250ZXh0LmNvbnZlcnRUb0JhY2tp
bmcodGFyZ2V0LT5ibGVuZC0+YWxwaGEuc3JjRmFjdG9yKSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnZlcnRUb0JhY2tpbmdDb250ZXh0LmNvbnZlcnRUb0JhY2tpbmcodGFyZ2V0LT5ibGVu
ZC0+YWxwaGEuZHN0RmFjdG9yKSwKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg
ICAgIH07CiAgICAgICAgICAgICB9IGVsc2UKQEAgLTQwNiwxMyArNDQ0LDIxIEBAIGF1dG8gY29u
dmVydFRvQmFja2luZyhjb25zdCBSZW5kZXJQaXBlbGluZURlc2NyaXB0b3ImIGRlc2NyaXB0b3Is
IENvbnZlcnRUb0JhY2tpCiAgICAgaWYgKGRlc2NyaXB0b3IuZnJhZ21lbnQpIHsKICAgICAgICAg
Y29sb3JUYXJnZXRzLnJlc2VydmVJbml0aWFsQ2FwYWNpdHkoZGVzY3JpcHRvci5mcmFnbWVudC0+
dGFyZ2V0cy5zaXplKCkpOwogICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGRlc2NyaXB0
b3IuZnJhZ21lbnQtPnRhcmdldHMuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgICAgIGNvbnN0IGF1
dG8mIHRhcmdldCA9IGRlc2NyaXB0b3IuZnJhZ21lbnQtPnRhcmdldHNbaV07Ci0gICAgICAgICAg
ICBjb2xvclRhcmdldHMudW5jaGVja2VkQXBwZW5kKFdHUFVDb2xvclRhcmdldFN0YXRlIHsKLSAg
ICAgICAgICAgICAgICBudWxscHRyLAotICAgICAgICAgICAgICAgIGNvbnZlcnRUb0JhY2tpbmdD
b250ZXh0LmNvbnZlcnRUb0JhY2tpbmcodGFyZ2V0LmZvcm1hdCksCi0gICAgICAgICAgICAgICAg
YmxlbmRTdGF0ZXNbaV0gPyAmKmJsZW5kU3RhdGVzW2ldIDogbnVsbHB0ciwKLSAgICAgICAgICAg
ICAgICBjb252ZXJ0VG9CYWNraW5nQ29udGV4dC5jb252ZXJ0Q29sb3JXcml0ZUZsYWdzVG9CYWNr
aW5nKHRhcmdldC53cml0ZU1hc2spLAotICAgICAgICAgICAgfSk7CisgICAgICAgICAgICBpZiAo
Y29uc3QgYXV0byYgdGFyZ2V0ID0gZGVzY3JpcHRvci5mcmFnbWVudC0+dGFyZ2V0c1tpXSkgewor
ICAgICAgICAgICAgICAgIGNvbG9yVGFyZ2V0cy51bmNoZWNrZWRBcHBlbmQoV0dQVUNvbG9yVGFy
Z2V0U3RhdGUgeworICAgICAgICAgICAgICAgICAgICBudWxscHRyLAorICAgICAgICAgICAgICAg
ICAgICBjb252ZXJ0VG9CYWNraW5nQ29udGV4dC5jb252ZXJ0VG9CYWNraW5nKHRhcmdldC0+Zm9y
bWF0KSwKKyAgICAgICAgICAgICAgICAgICAgYmxlbmRTdGF0ZXNbaV0gPyAmKmJsZW5kU3RhdGVz
W2ldIDogbnVsbHB0ciwKKyAgICAgICAgICAgICAgICAgICAgY29udmVydFRvQmFja2luZ0NvbnRl
eHQuY29udmVydENvbG9yV3JpdGVGbGFnc1RvQmFja2luZyh0YXJnZXQtPndyaXRlTWFzayksCisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAg
IGNvbG9yVGFyZ2V0cy51bmNoZWNrZWRBcHBlbmQoV0dQVUNvbG9yVGFyZ2V0U3RhdGUgeworICAg
ICAgICAgICAgICAgICAgICBudWxscHRyLAorICAgICAgICAgICAgICAgICAgICBXR1BVVGV4dHVy
ZUZvcm1hdF9VbmRlZmluZWQsCisgICAgICAgICAgICAgICAgICAgIG51bGxwdHIsCisgICAgICAg
ICAgICAgICAgICAgIFdHUFVNYXBNb2RlX05vbmUsCisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9CiAgICAgICAgIH0KICAgICB9CiAKQEAgLTUyOCw3ICs1NzQsNyBAQCBSZWY8UmVu
ZGVyQnVuZGxlRW5jb2Rlcj4gRGV2aWNlSW1wbDo6Y3JlYXRlUmVuZGVyQnVuZGxlRW5jb2Rlcihj
b25zdCBSZW5kZXJCdW5kbAogICAgIGF1dG8gbGFiZWwgPSBkZXNjcmlwdG9yLmxhYmVsLnV0Zjgo
KTsKIAogICAgIGF1dG8gYmFja2luZ0NvbG9yRm9ybWF0cyA9IGRlc2NyaXB0b3IuY29sb3JGb3Jt
YXRzLm1hcChbdGhpc10gKGF1dG8gY29sb3JGb3JtYXQpIHsKLSAgICAgICAgcmV0dXJuIG1fY29u
dmVydFRvQmFja2luZ0NvbnRleHQtPmNvbnZlcnRUb0JhY2tpbmcoY29sb3JGb3JtYXQpOworICAg
ICAgICByZXR1cm4gY29sb3JGb3JtYXQgPyBtX2NvbnZlcnRUb0JhY2tpbmdDb250ZXh0LT5jb252
ZXJ0VG9CYWNraW5nKCpjb2xvckZvcm1hdCkgOiBXR1BVVGV4dHVyZUZvcm1hdF9VbmRlZmluZWQ7
CiAgICAgfSk7CiAKICAgICBXR1BVUmVuZGVyQnVuZGxlRW5jb2RlckRlc2NyaXB0b3IgYmFja2lu
Z0Rlc2NyaXB0b3IgewpAQCAtNTM4LDYgKzU4NCw4IEBAIFJlZjxSZW5kZXJCdW5kbGVFbmNvZGVy
PiBEZXZpY2VJbXBsOjpjcmVhdGVSZW5kZXJCdW5kbGVFbmNvZGVyKGNvbnN0IFJlbmRlckJ1bmRs
CiAgICAgICAgIGJhY2tpbmdDb2xvckZvcm1hdHMuZGF0YSgpLAogICAgICAgICBkZXNjcmlwdG9y
LmRlcHRoU3RlbmNpbEZvcm1hdCA/IG1fY29udmVydFRvQmFja2luZ0NvbnRleHQtPmNvbnZlcnRU
b0JhY2tpbmcoKmRlc2NyaXB0b3IuZGVwdGhTdGVuY2lsRm9ybWF0KSA6IFdHUFVUZXh0dXJlRm9y
bWF0X1VuZGVmaW5lZCwKICAgICAgICAgZGVzY3JpcHRvci5zYW1wbGVDb3VudCwKKyAgICAgICAg
ZGVzY3JpcHRvci5kZXB0aFJlYWRPbmx5LAorICAgICAgICBkZXNjcmlwdG9yLnN0ZW5jaWxSZWFk
T25seSwKICAgICB9OwogCiAgICAgcmV0dXJuIFJlbmRlckJ1bmRsZUVuY29kZXJJbXBsOjpjcmVh
dGUod2dwdURldmljZUNyZWF0ZVJlbmRlckJ1bmRsZUVuY29kZXIobV9iYWNraW5nLCAmYmFja2lu
Z0Rlc2NyaXB0b3IpLCBtX2NvbnZlcnRUb0JhY2tpbmdDb250ZXh0KTsKQEAgLTU0NywxNyArNTk1
LDEzIEBAIFJlZjxRdWVyeVNldD4gRGV2aWNlSW1wbDo6Y3JlYXRlUXVlcnlTZXQoY29uc3QgUXVl
cnlTZXREZXNjcmlwdG9yJiBkZXNjcmlwdG9yKQogewogICAgIGF1dG8gbGFiZWwgPSBkZXNjcmlw
dG9yLmxhYmVsLnV0ZjgoKTsKIAotICAgIGF1dG8gYmFja2luZ1BpcGVsaW5lU3RhdGlzdGljcyA9
IGRlc2NyaXB0b3IucGlwZWxpbmVTdGF0aXN0aWNzLm1hcChbdGhpc10gKGF1dG8gcGlwZWxpbmVT
dGF0aXN0aWMpIHsKLSAgICAgICAgcmV0dXJuIG1fY29udmVydFRvQmFja2luZ0NvbnRleHQtPmNv
bnZlcnRUb0JhY2tpbmcocGlwZWxpbmVTdGF0aXN0aWMpOwotICAgIH0pOwotCiAgICAgV0dQVVF1
ZXJ5U2V0RGVzY3JpcHRvciBiYWNraW5nRGVzY3JpcHRvciB7CiAgICAgICAgIG51bGxwdHIsCiAg
ICAgICAgIGxhYmVsLmRhdGEoKSwKICAgICAgICAgbV9jb252ZXJ0VG9CYWNraW5nQ29udGV4dC0+
Y29udmVydFRvQmFja2luZyhkZXNjcmlwdG9yLnR5cGUpLAogICAgICAgICBkZXNjcmlwdG9yLmNv
dW50LAotICAgICAgICBiYWNraW5nUGlwZWxpbmVTdGF0aXN0aWNzLmRhdGEoKSwKLSAgICAgICAg
c3RhdGljX2Nhc3Q8dWludDMyX3Q+KGJhY2tpbmdQaXBlbGluZVN0YXRpc3RpY3Muc2l6ZSgpKSwK
KyAgICAgICAgbnVsbHB0ciwKKyAgICAgICAgMCwKICAgICB9OwogCiAgICAgcmV0dXJuIFF1ZXJ5
U2V0SW1wbDo6Y3JlYXRlKHdncHVEZXZpY2VDcmVhdGVRdWVyeVNldChtX2JhY2tpbmcsICZiYWNr
aW5nRGVzY3JpcHRvciksIG1fY29udmVydFRvQmFja2luZ0NvbnRleHQpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9XZWJHUFVJbXBsLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwvV2ViR1BVSW1w
bC5jcHAKaW5kZXggNTgxZDkyODAxNzI4YzcyNDMyZTcwYjQzZGJiMWNiOTc1MGQ5ZjNmMi4uYmI4
ZTA0ZTNhYzU4MTY3OWQ3MGNkNTY2ZWY1YjU0MTI1MmM0ZTBmNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9XZWJHUFVJbXBsLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVUltcGwu
Y3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEtMjAyMiBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
QEAgLTc2LDcgKzc2LDcgQEAgdm9pZCBHUFVJbXBsOjpyZXF1ZXN0QWRhcHRlcihjb25zdCBSZXF1
ZXN0QWRhcHRlck9wdGlvbnMmIG9wdGlvbnMsIFdURjo6RnVuY3Rpb24KICAgICBXR1BVUmVxdWVz
dEFkYXB0ZXJPcHRpb25zIGJhY2tpbmdPcHRpb25zIHsKICAgICAgICAgbnVsbHB0ciwKICAgICAg
ICAgbnVsbHB0ciwKLSAgICAgICAgb3B0aW9ucy5wb3dlclByZWZlcmVuY2UgPyBtX2NvbnZlcnRU
b0JhY2tpbmdDb250ZXh0LT5jb252ZXJ0VG9CYWNraW5nKCpvcHRpb25zLnBvd2VyUHJlZmVyZW5j
ZSkgOiBzdGF0aWNfY2FzdDxXR1BVUG93ZXJQcmVmZXJlbmNlPihXR1BVUG93ZXJQcmVmZXJlbmNl
X05vUHJlZmVyZW5jZSksCisgICAgICAgIG9wdGlvbnMucG93ZXJQcmVmZXJlbmNlID8gbV9jb252
ZXJ0VG9CYWNraW5nQ29udGV4dC0+Y29udmVydFRvQmFja2luZygqb3B0aW9ucy5wb3dlclByZWZl
cmVuY2UpIDogc3RhdGljX2Nhc3Q8V0dQVVBvd2VyUHJlZmVyZW5jZT4oV0dQVVBvd2VyUHJlZmVy
ZW5jZV9VbmRlZmluZWQpLAogICAgICAgICBvcHRpb25zLmZvcmNlRmFsbGJhY2tBZGFwdGVyLAog
ICAgIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2Vi
R1BVL0ltcGwvV2ViR1BVUmVuZGVyUGFzc0VuY29kZXJJbXBsLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwvV2ViR1BVUmVuZGVyUGFzc0VuY29kZXJJbXBs
LmNwcAppbmRleCBkMmZlNWRmNTI2Y2MzNjBmN2EzZWQyMzNlMzJmMzRjOTNkMTg2NjE2Li45NWNh
OTg2Y2U0NWMzYWU1MDk5Y2YwZTA2M2ExNDI1MjEzMGI4OTQ1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVVJlbmRlclBhc3NFbmNv
ZGVySW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUv
SW1wbC9XZWJHUFVSZW5kZXJQYXNzRW5jb2RlckltcGwuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoK
LSAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KiBDb3B5cmlnaHQgKEMpIDIwMjEtMjAyMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTE1NiwxNiArMTU2LDYgQEAgdm9p
ZCBSZW5kZXJQYXNzRW5jb2RlckltcGw6OmVuZE9jY2x1c2lvblF1ZXJ5KCkKICAgICB3Z3B1UmVu
ZGVyUGFzc0VuY29kZXJFbmRPY2NsdXNpb25RdWVyeShtX2JhY2tpbmcpOwogfQogCi12b2lkIFJl
bmRlclBhc3NFbmNvZGVySW1wbDo6YmVnaW5QaXBlbGluZVN0YXRpc3RpY3NRdWVyeShjb25zdCBR
dWVyeVNldCYgcXVlcnlTZXQsIFNpemUzMiBxdWVyeUluZGV4KQotewotICAgIHdncHVSZW5kZXJQ
YXNzRW5jb2RlckJlZ2luUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkobV9iYWNraW5nLCBtX2NvbnZl
cnRUb0JhY2tpbmdDb250ZXh0LT5jb252ZXJ0VG9CYWNraW5nKHF1ZXJ5U2V0KSwgcXVlcnlJbmRl
eCk7Ci19Ci0KLXZvaWQgUmVuZGVyUGFzc0VuY29kZXJJbXBsOjplbmRQaXBlbGluZVN0YXRpc3Rp
Y3NRdWVyeSgpCi17Ci0gICAgd2dwdVJlbmRlclBhc3NFbmNvZGVyRW5kUGlwZWxpbmVTdGF0aXN0
aWNzUXVlcnkobV9iYWNraW5nKTsKLX0KLQogdm9pZCBSZW5kZXJQYXNzRW5jb2RlckltcGw6OmV4
ZWN1dGVCdW5kbGVzKFZlY3RvcjxzdGQ6OnJlZmVyZW5jZV93cmFwcGVyPFJlbmRlckJ1bmRsZT4+
JiYgcmVuZGVyQnVuZGxlcykKIHsKICAgICBhdXRvIGJhY2tpbmdCdW5kbGVzID0gcmVuZGVyQnVu
ZGxlcy5tYXAoW3RoaXNdIChhdXRvIHJlbmRlckJ1bmRsZSkgewpAQCAtMTc1LDcgKzE2NSw3IEBA
IHZvaWQgUmVuZGVyUGFzc0VuY29kZXJJbXBsOjpleGVjdXRlQnVuZGxlcyhWZWN0b3I8c3RkOjpy
ZWZlcmVuY2Vfd3JhcHBlcjxSZW5kZXJCCiAgICAgd2dwdVJlbmRlclBhc3NFbmNvZGVyRXhlY3V0
ZUJ1bmRsZXMobV9iYWNraW5nLCBiYWNraW5nQnVuZGxlcy5zaXplKCksIGJhY2tpbmdCdW5kbGVz
LmRhdGEoKSk7CiB9CiAKLXZvaWQgUmVuZGVyUGFzc0VuY29kZXJJbXBsOjplbmRQYXNzKCkKK3Zv
aWQgUmVuZGVyUGFzc0VuY29kZXJJbXBsOjplbmQoKQogewogICAgIHdncHVSZW5kZXJQYXNzRW5j
b2RlckVuZFBhc3MobV9iYWNraW5nKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BB
TC9wYWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwvV2ViR1BVUmVuZGVyUGFzc0VuY29kZXJJbXBsLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVVJlbmRl
clBhc3NFbmNvZGVySW1wbC5oCmluZGV4IDNlZTkwNzE0NTgyOTdlYmE5ZTcwOTgxN2E2MjI4YmYy
ZTJlZWNmMDIuLmQxY2Y3MDUxZWNiMTljMDBhMjA5MzQ3MjEzNjNhNzU0OGZkZDZiNGEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwvV2ViR1BV
UmVuZGVyUGFzc0VuY29kZXJJbXBsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFw
aGljcy9XZWJHUFUvSW1wbC9XZWJHUFVSZW5kZXJQYXNzRW5jb2RlckltcGwuaApAQCAtMSw1ICsx
LDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDIxLTIwMjIgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC05NywxMSArOTcs
OCBAQCBwcml2YXRlOgogICAgIHZvaWQgYmVnaW5PY2NsdXNpb25RdWVyeShTaXplMzIgcXVlcnlJ
bmRleCkgZmluYWw7CiAgICAgdm9pZCBlbmRPY2NsdXNpb25RdWVyeSgpIGZpbmFsOwogCi0gICAg
dm9pZCBiZWdpblBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KGNvbnN0IFF1ZXJ5U2V0JiwgU2l6ZTMy
IHF1ZXJ5SW5kZXgpIGZpbmFsOwotICAgIHZvaWQgZW5kUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnko
KSBmaW5hbDsKLQogICAgIHZvaWQgZXhlY3V0ZUJ1bmRsZXMoVmVjdG9yPHN0ZDo6cmVmZXJlbmNl
X3dyYXBwZXI8UmVuZGVyQnVuZGxlPj4mJikgZmluYWw7Ci0gICAgdm9pZCBlbmRQYXNzKCkgZmlu
YWw7CisgICAgdm9pZCBlbmQoKSBmaW5hbDsKIAogICAgIHZvaWQgc2V0TGFiZWxJbnRlcm5hbChj
b25zdCBTdHJpbmcmKSBmaW5hbDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3Bh
bC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVQnVmZmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFs
L2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVCdWZmZXIuaAppbmRleCAzZmFlOTRhNGFiYWZjZWEzOTYw
M2M0ODZkNmEwYTY3YjhiOGRlOWFlLi42YzVlYmNhZmE4YjE1MWE0MmNmMjAxNzVkNThlZjU4NzVi
MGFkZjAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQ
VS9XZWJHUFVCdWZmZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dl
YkdQVS9XZWJHUFVCdWZmZXIuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMp
IDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAy
MDIxLTIwMjIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCkBAIC00OCwxMiArNDgsMTIgQEAgcHVibGljOgogICAgICAgICBzZXRM
YWJlbEludGVybmFsKG1fbGFiZWwpOwogICAgIH0KIAotICAgIHZpcnR1YWwgdm9pZCBtYXBBc3lu
YyhNYXBNb2RlRmxhZ3MsIHN0ZDo6b3B0aW9uYWw8U2l6ZTY0PiBvZmZzZXQsIHN0ZDo6b3B0aW9u
YWw8U2l6ZTY0PiwgV1RGOjpGdW5jdGlvbjx2b2lkKCk+JiYpID0gMDsKKyAgICB2aXJ0dWFsIHZv
aWQgbWFwQXN5bmMoTWFwTW9kZUZsYWdzLCBTaXplNjQgb2Zmc2V0LCBzdGQ6Om9wdGlvbmFsPFNp
emU2ND4sIFdURjo6RnVuY3Rpb248dm9pZCgpPiYmKSA9IDA7CiAgICAgc3RydWN0IE1hcHBlZFJh
bmdlIHsKICAgICAgICAgdm9pZCogc291cmNlIHsgbnVsbHB0ciB9OwogICAgICAgICBzaXplX3Qg
Ynl0ZUxlbmd0aCB7IDAgfTsKICAgICB9OwotICAgIHZpcnR1YWwgTWFwcGVkUmFuZ2UgZ2V0TWFw
cGVkUmFuZ2Uoc3RkOjpvcHRpb25hbDxTaXplNjQ+IG9mZnNldCwgc3RkOjpvcHRpb25hbDxTaXpl
NjQ+KSA9IDA7CisgICAgdmlydHVhbCBNYXBwZWRSYW5nZSBnZXRNYXBwZWRSYW5nZShTaXplNjQg
b2Zmc2V0LCBzdGQ6Om9wdGlvbmFsPFNpemU2ND4pID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgdW5t
YXAoKSA9IDA7CiAKICAgICB2aXJ0dWFsIHZvaWQgZGVzdHJveSgpID0gMDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVUNhbnZhc0NvbmZp
Z3VyYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQ
VUNhbnZhc0NvbmZpZ3VyYXRpb24uaAppbmRleCBhZjkzN2YwOWM5YTAxZDRmNTg1MzEyOWRkYjEz
ZGQ5NDMwMGI5M2VjLi5kOTQ0M2U2MTA2MmJhYTYxMjZiMzAzMTRjYmEzYTk0ZDA2ZWIyY2MxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVD
YW52YXNDb25maWd1cmF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGlj
cy9XZWJHUFUvV2ViR1BVQ2FudmFzQ29uZmlndXJhdGlvbi5oCkBAIC0xLDUgKzEsNSBAQAogLyoK
LSAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KiBDb3B5cmlnaHQgKEMpIDIwMjEtMjAyMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTQyLDYgKzQyLDcgQEAgc3RydWN0
IENhbnZhc0NvbmZpZ3VyYXRpb24gewogICAgIERldmljZSYgZGV2aWNlOwogICAgIFRleHR1cmVG
b3JtYXQgZm9ybWF0IHsgVGV4dHVyZUZvcm1hdDo6Ujh1bm9ybSB9OwogICAgIFRleHR1cmVVc2Fn
ZUZsYWdzIHVzYWdlIHsgVGV4dHVyZVVzYWdlOjpSZW5kZXJBdHRhY2htZW50IH07CisgICAgVmVj
dG9yPFRleHR1cmVGb3JtYXQ+IHZpZXdGb3JtYXRzOwogICAgIFByZWRlZmluZWRDb2xvclNwYWNl
IGNvbG9yU3BhY2UgeyBQcmVkZWZpbmVkQ29sb3JTcGFjZTo6U1JHQiB9OwogICAgIENhbnZhc0Nv
bXBvc2l0aW5nQWxwaGFNb2RlIGNvbXBvc2l0aW5nQWxwaGFNb2RlIHsgQ2FudmFzQ29tcG9zaXRp
bmdBbHBoYU1vZGU6Ok9wYXF1ZSB9OwogICAgIHN0ZDo6b3B0aW9uYWw8RXh0ZW50M0Q+IHNpemU7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJH
UFVDb21tYW5kRW5jb2Rlci5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJH
UFUvV2ViR1BVQ29tbWFuZEVuY29kZXIuaAppbmRleCA4ODI3OTQ5Njg5M2M4ZWE4NGNmZDljMGE3
Y2Q2Y2FlZTExNjRjYjdmLi40ZGI4ZTQ3NDQxOTNmZGM1NzJkZGRlNzI4NzFjMzMwOWNmMjZkNWZi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJH
UFVDb21tYW5kRW5jb2Rlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3Mv
V2ViR1BVL1dlYkdQVUNvbW1hbmRFbmNvZGVyLmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29w
eXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHly
aWdodCAoQykgMjAyMS0yMDIyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtODIsMTAgKzgyLDEwIEBAIHB1YmxpYzoKICAg
ICAgICAgY29uc3QgSW1hZ2VDb3B5VGV4dHVyZSYgZGVzdGluYXRpb24sCiAgICAgICAgIGNvbnN0
IEV4dGVudDNEJiBjb3B5U2l6ZSkgPSAwOwogCi0gICAgdmlydHVhbCB2b2lkIGZpbGxCdWZmZXIo
Ci0gICAgICAgIGNvbnN0IEJ1ZmZlciYgZGVzdGluYXRpb24sCi0gICAgICAgIFNpemU2NCBkZXN0
aW5hdGlvbk9mZnNldCwKLSAgICAgICAgU2l6ZTY0KSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGNs
ZWFyQnVmZmVyKAorICAgICAgICBjb25zdCBCdWZmZXImLAorICAgICAgICBTaXplNjQgb2Zmc2V0
ID0gMCwKKyAgICAgICAgc3RkOjpvcHRpb25hbDxTaXplNjQ+ID0gc3RkOjpudWxsb3B0KSA9IDA7
CiAKICAgICB2aXJ0dWFsIHZvaWQgcHVzaERlYnVnR3JvdXAoU3RyaW5nJiYgZ3JvdXBMYWJlbCkg
PSAwOwogICAgIHZpcnR1YWwgdm9pZCBwb3BEZWJ1Z0dyb3VwKCkgPSAwOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVQ29tcHV0ZVBhc3NF
bmNvZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVD
b21wdXRlUGFzc0VuY29kZXIuaAppbmRleCBmNDllNzhmYmFkOTE2M2NjZWVkOGY4MDg4NDE1Nzhj
OWY0ZGE1YjkyLi43NjRiN2ZiYTVhZWRlZWFhODI5ZDRjYjQyZDNiMjM3YjljODZmMGYyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVDb21w
dXRlUGFzc0VuY29kZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dl
YkdQVS9XZWJHUFVDb21wdXRlUGFzc0VuY29kZXIuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29w
eXJpZ2h0IChDKSAyMDIxLTIwMjIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoK
ICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC01MywxMyArNTMsMTAgQEAgcHVibGljOgog
ICAgIH0KIAogICAgIHZpcnR1YWwgdm9pZCBzZXRQaXBlbGluZShjb25zdCBDb21wdXRlUGlwZWxp
bmUmKSA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoKFNpemUzMiB4LCBzdGQ6Om9wdGlv
bmFsPFNpemUzMj4geSwgc3RkOjpvcHRpb25hbDxTaXplMzI+KSA9IDA7CisgICAgdmlydHVhbCB2
b2lkIGRpc3BhdGNoKFNpemUzMiB3b3JrZ3JvdXBDb3VudFgsIFNpemUzMiB3b3JrZ3JvdXBDb3Vu
dFkgPSAxLCBTaXplMzIgd29ya2dyb3VwQ291bnRaID0gMSkgPSAwOwogICAgIHZpcnR1YWwgdm9p
ZCBkaXNwYXRjaEluZGlyZWN0KGNvbnN0IEJ1ZmZlciYgaW5kaXJlY3RCdWZmZXIsIFNpemU2NCBp
bmRpcmVjdE9mZnNldCkgPSAwOwogCi0gICAgdmlydHVhbCB2b2lkIGJlZ2luUGlwZWxpbmVTdGF0
aXN0aWNzUXVlcnkoY29uc3QgUXVlcnlTZXQmLCBTaXplMzIgcXVlcnlJbmRleCkgPSAwOwotICAg
IHZpcnR1YWwgdm9pZCBlbmRQaXBlbGluZVN0YXRpc3RpY3NRdWVyeSgpID0gMDsKLQotICAgIHZp
cnR1YWwgdm9pZCBlbmRQYXNzKCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBlbmQoKSA9IDA7CiAK
ICAgICB2aXJ0dWFsIHZvaWQgc2V0QmluZEdyb3VwKEluZGV4MzIsIGNvbnN0IEJpbmRHcm91cCYs
CiAgICAgICAgIHN0ZDo6b3B0aW9uYWw8VmVjdG9yPEJ1ZmZlckR5bmFtaWNPZmZzZXQ+PiYmKSA9
IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9X
ZWJHUFVGZWF0dXJlTmFtZS5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJH
UFUvV2ViR1BVRmVhdHVyZU5hbWUuaAppbmRleCA2YTMzNTg5ZDg5NDlmYTg0NzZjMTRkYjdmZDM1
ODQ5YWZmNzNmMzk1Li5jMGZlYWNkMzljNDhjNGZiZWFmOWZmMDFiMzFmY2MyYWM0MDhiMTAxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVG
ZWF0dXJlTmFtZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BV
L1dlYkdQVUZlYXR1cmVOYW1lLmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChD
KSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykg
MjAyMS0yMDIyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucwpAQCAtMzQsNyArMzQsNiBAQCBlbnVtIGNsYXNzIEZlYXR1cmVOYW1l
IDogdWludDhfdCB7CiAgICAgRGVwdGhDbGlwQ29udHJvbCwKICAgICBEZXB0aDI0dW5vcm1TdGVu
Y2lsOCwKICAgICBEZXB0aDMyZmxvYXRTdGVuY2lsOCwKLSAgICBQaXBlbGluZVN0YXRpc3RpY3NR
dWVyeSwKICAgICBUZXh0dXJlQ29tcHJlc3Npb25CYywKICAgICBUZXh0dXJlQ29tcHJlc3Npb25F
dGMyLAogICAgIFRleHR1cmVDb21wcmVzc2lvbkFzdGMsCkBAIC01Miw3ICs1MSw2IEBAIHRlbXBs
YXRlPD4gc3RydWN0IEVudW1UcmFpdHM8UEFMOjpXZWJHUFU6OkZlYXR1cmVOYW1lPiB7CiAgICAg
ICAgIFBBTDo6V2ViR1BVOjpGZWF0dXJlTmFtZTo6RGVwdGhDbGlwQ29udHJvbCwKICAgICAgICAg
UEFMOjpXZWJHUFU6OkZlYXR1cmVOYW1lOjpEZXB0aDI0dW5vcm1TdGVuY2lsOCwKICAgICAgICAg
UEFMOjpXZWJHUFU6OkZlYXR1cmVOYW1lOjpEZXB0aDMyZmxvYXRTdGVuY2lsOCwKLSAgICAgICAg
UEFMOjpXZWJHUFU6OkZlYXR1cmVOYW1lOjpQaXBlbGluZVN0YXRpc3RpY3NRdWVyeSwKICAgICAg
ICAgUEFMOjpXZWJHUFU6OkZlYXR1cmVOYW1lOjpUZXh0dXJlQ29tcHJlc3Npb25CYywKICAgICAg
ICAgUEFMOjpXZWJHUFU6OkZlYXR1cmVOYW1lOjpUZXh0dXJlQ29tcHJlc3Npb25FdGMyLAogICAg
ICAgICBQQUw6OldlYkdQVTo6RmVhdHVyZU5hbWU6OlRleHR1cmVDb21wcmVzc2lvbkFzdGMsCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVG
cmFnbWVudFN0YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9X
ZWJHUFVGcmFnbWVudFN0YXRlLmgKaW5kZXggOGE3MGYwOTI5YTA3Y2MxNGQ2M2IyYTUwNTc4Njk3
ZTdjMDZiZGM1NS4uN2I1YzhiMmFhMDEyNTMxNzQ5NjZhYWM0ZjkzZGQ5ZTczZTcyZDJjOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVRnJh
Z21lbnRTdGF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BV
L1dlYkdQVUZyYWdtZW50U3RhdGUuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChD
KSAyMDIxLTIwMjIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCkBAIC0yNywxMiArMjcsMTMgQEAKIAogI2luY2x1ZGUgIldlYkdQ
VUNvbG9yVGFyZ2V0U3RhdGUuaCIKICNpbmNsdWRlICJXZWJHUFVQcm9ncmFtbWFibGVTdGFnZS5o
IgorI2luY2x1ZGUgPG9wdGlvbmFsPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNw
YWNlIFBBTDo6V2ViR1BVIHsKIAogc3RydWN0IEZyYWdtZW50U3RhdGUgOiBwdWJsaWMgUHJvZ3Jh
bW1hYmxlU3RhZ2UgewotICAgIFZlY3RvcjxDb2xvclRhcmdldFN0YXRlPiB0YXJnZXRzOworICAg
IFZlY3RvcjxzdGQ6Om9wdGlvbmFsPENvbG9yVGFyZ2V0U3RhdGU+PiB0YXJnZXRzOwogfTsKIAog
fSAvLyBuYW1lc3BhY2UgUEFMOjpXZWJHUFUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BB
TC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVUltYWdlQ29weUV4dGVybmFsSW1hZ2UuaCBiL1Nv
dXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVUltYWdlQ29weUV4dGVy
bmFsSW1hZ2UuaAppbmRleCA5NTVmMDk3ZGNmMDBkNDAxZDAwOTYwNzgwZmEzYjI2NjhjZTVmNGE3
Li4xYWVhNWNjZWQwNzdjYWM3OThkYmNkNjY5NmZmMWE2ZDM0OThkNThmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVJbWFnZUNvcHlFeHRl
cm5hbEltYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUv
V2ViR1BVSW1hZ2VDb3B5RXh0ZXJuYWxJbWFnZS5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENv
cHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5
cmlnaHQgKEMpIDIwMjEtMjAyMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgog
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTM0LDYgKzM0LDcgQEAgbmFtZXNwYWNlIFBB
TDo6V2ViR1BVIHsKIHN0cnVjdCBJbWFnZUNvcHlFeHRlcm5hbEltYWdlIHsKICAgICAvLyBGSVhN
RTogSGFuZGxlIHRoZSBzb3VyY2UuCiAgICAgc3RkOjpvcHRpb25hbDxPcmlnaW4yRD4gb3JpZ2lu
OworICAgIGJvb2wgZmxpcFkgeyBmYWxzZSB9OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgUEFMOjpX
ZWJHUFUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BV
L1dlYkdQVUxvYWRPcC5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUv
V2ViR1BVTG9hZE9wLmgKaW5kZXggZGM4MjYwZDczMzBkNjhkODQ4NWVhNzY5ZjJkMGVjMGVhNTkw
MTQxYi4uZDM0ODJkOGJmZTdjMmViOGZkN2I3N2I0MWJjZWJiZmFmZmJiMWZhNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVTG9hZE9wLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVTG9hZE9w
LmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAyMS0yMDIyIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpA
QCAtMzIsNiArMzIsNyBAQCBuYW1lc3BhY2UgUEFMOjpXZWJHUFUgewogCiBlbnVtIGNsYXNzIExv
YWRPcCA6IHVpbnQ4X3QgewogICAgIExvYWQsCisgICAgQ2xlYXIsCiB9OwogCiB9IC8vIG5hbWVz
cGFjZSBQQUw6OldlYkdQVQpAQCAtNDEsNyArNDIsOCBAQCBuYW1lc3BhY2UgV1RGIHsKIHRlbXBs
YXRlPD4gc3RydWN0IEVudW1UcmFpdHM8UEFMOjpXZWJHUFU6OkxvYWRPcD4gewogICAgIHVzaW5n
IHZhbHVlcyA9IEVudW1WYWx1ZXM8CiAgICAgICAgIFBBTDo6V2ViR1BVOjpMb2FkT3AsCi0gICAg
ICAgIFBBTDo6V2ViR1BVOjpMb2FkT3A6OkxvYWQKKyAgICAgICAgUEFMOjpXZWJHUFU6OkxvYWRP
cDo6TG9hZCwKKyAgICAgICAgUEFMOjpXZWJHUFU6OkxvYWRPcDo6Q2xlYXIKICAgICA+OwogfTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2Vi
R1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBo
aWNzL1dlYkdQVS9XZWJHUFVQaXBlbGluZVN0YXRpc3RpY05hbWUuaApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggYmY5M2Y2NzkwMDRhZGM2MDMwNzU5ZTVlYzM5Mzc4YWRkNWQ5NGM2Yi4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVQaXBlbGluZVN0YXRpc3RpY05hbWUu
aAorKysgL2Rldi9udWxsCkBAIC0xLDU2ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIw
MjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jcHJhZ21hIG9u
Y2UKLQotI2luY2x1ZGUgPGNzdGRpbnQ+Ci0jaW5jbHVkZSA8d3RmL0VudW1UcmFpdHMuaD4KLQot
bmFtZXNwYWNlIFBBTDo6V2ViR1BVIHsKLQotZW51bSBjbGFzcyBQaXBlbGluZVN0YXRpc3RpY05h
bWUgOiB1aW50OF90IHsKLSAgICBWZXJ0ZXhTaGFkZXJJbnZvY2F0aW9ucywKLSAgICBDbGlwcGVy
SW52b2NhdGlvbnMsCi0gICAgQ2xpcHBlclByaW1pdGl2ZXNPdXQsCi0gICAgRnJhZ21lbnRTaGFk
ZXJJbnZvY2F0aW9ucywKLSAgICBDb21wdXRlU2hhZGVySW52b2NhdGlvbnMsCi19OwotCi19IC8v
IG5hbWVzcGFjZSBQQUw6OldlYkdQVQotCi1uYW1lc3BhY2UgV1RGIHsKLQotdGVtcGxhdGU8PiBz
dHJ1Y3QgRW51bVRyYWl0czxQQUw6OldlYkdQVTo6UGlwZWxpbmVTdGF0aXN0aWNOYW1lPiB7Ci0g
ICAgdXNpbmcgdmFsdWVzID0gRW51bVZhbHVlczwKLSAgICAgICAgUEFMOjpXZWJHUFU6OlBpcGVs
aW5lU3RhdGlzdGljTmFtZSwKLSAgICAgICAgUEFMOjpXZWJHUFU6OlBpcGVsaW5lU3RhdGlzdGlj
TmFtZTo6VmVydGV4U2hhZGVySW52b2NhdGlvbnMsCi0gICAgICAgIFBBTDo6V2ViR1BVOjpQaXBl
bGluZVN0YXRpc3RpY05hbWU6OkNsaXBwZXJJbnZvY2F0aW9ucywKLSAgICAgICAgUEFMOjpXZWJH
UFU6OlBpcGVsaW5lU3RhdGlzdGljTmFtZTo6Q2xpcHBlclByaW1pdGl2ZXNPdXQsCi0gICAgICAg
IFBBTDo6V2ViR1BVOjpQaXBlbGluZVN0YXRpc3RpY05hbWU6OkZyYWdtZW50U2hhZGVySW52b2Nh
dGlvbnMsCi0gICAgICAgIFBBTDo6V2ViR1BVOjpQaXBlbGluZVN0YXRpc3RpY05hbWU6OkNvbXB1
dGVTaGFkZXJJbnZvY2F0aW9ucwotICAgID47Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXVEYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVF1
ZXJ5U2V0RGVzY3JpcHRvci5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJH
UFUvV2ViR1BVUXVlcnlTZXREZXNjcmlwdG9yLmgKaW5kZXggODc5MTA5MDcyNzU2NDYyYmFlYzEx
ZjQ3OGRkNDQ0NTZmMDk1NWZkNy4uNWNlZWFiZTUwZjA3ZjMyZDE3YzI5OTM2YzBhMDRiMTg0ZGZm
NDQ4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUv
V2ViR1BVUXVlcnlTZXREZXNjcmlwdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9n
cmFwaGljcy9XZWJHUFUvV2ViR1BVUXVlcnlTZXREZXNjcmlwdG9yLmgKQEAgLTEsNSArMSw1IEBA
CiAvKgotICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqIENvcHlyaWdodCAoQykgMjAyMS0yMDIyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjcsNyArMjcsNiBAQAog
CiAjaW5jbHVkZSAiV2ViR1BVSW50ZWdyYWxUeXBlcy5oIgogI2luY2x1ZGUgIldlYkdQVU9iamVj
dERlc2NyaXB0b3JCYXNlLmgiCi0jaW5jbHVkZSAiV2ViR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1l
LmgiCiAjaW5jbHVkZSAiV2ViR1BVUXVlcnlUeXBlLmgiCiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5o
PgogCkBAIC0zNiw3ICszNSw2IEBAIG5hbWVzcGFjZSBQQUw6OldlYkdQVSB7CiBzdHJ1Y3QgUXVl
cnlTZXREZXNjcmlwdG9yIDogcHVibGljIE9iamVjdERlc2NyaXB0b3JCYXNlIHsKICAgICBRdWVy
eVR5cGUgdHlwZSB7IFF1ZXJ5VHlwZTo6T2NjbHVzaW9uIH07CiAgICAgU2l6ZTMyIGNvdW50IHsg
MCB9OwotICAgIFZlY3RvcjxQaXBlbGluZVN0YXRpc3RpY05hbWU+IHBpcGVsaW5lU3RhdGlzdGlj
czsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFBBTDo6V2ViR1BVCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVRdWVyeVR5cGUuaCBiL1NvdXJj
ZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVF1ZXJ5VHlwZS5oCmluZGV4
IGNjMzBkNDg4M2ZmMmRlMDZlZDlkOGJjOGM5OTJjNWRiODFjNjNkZTQuLjgwN2I5ODY5YzljOGUz
OTQ4ZDZlMjk2YWQ2MjA2ZTczNDdiMzg2YWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BB
TC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVF1ZXJ5VHlwZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVF1ZXJ5VHlwZS5oCkBAIC0xLDUgKzEs
NSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEtMjAyMiBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTMyLDcgKzMyLDYg
QEAgbmFtZXNwYWNlIFBBTDo6V2ViR1BVIHsKIAogZW51bSBjbGFzcyBRdWVyeVR5cGUgOiB1aW50
OF90IHsKICAgICBPY2NsdXNpb24sCi0gICAgUGlwZWxpbmVTdGF0aXN0aWNzLAogICAgIFRpbWVz
dGFtcCwKIH07CiAKQEAgLTQ0LDcgKzQzLDYgQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0
czxQQUw6OldlYkdQVTo6UXVlcnlUeXBlPiB7CiAgICAgdXNpbmcgdmFsdWVzID0gRW51bVZhbHVl
czwKICAgICAgICAgUEFMOjpXZWJHUFU6OlF1ZXJ5VHlwZSwKICAgICAgICAgUEFMOjpXZWJHUFU6
OlF1ZXJ5VHlwZTo6T2NjbHVzaW9uLAotICAgICAgICBQQUw6OldlYkdQVTo6UXVlcnlUeXBlOjpQ
aXBlbGluZVN0YXRpc3RpY3MsCiAgICAgICAgIFBBTDo6V2ViR1BVOjpRdWVyeVR5cGU6OlRpbWVz
dGFtcAogICAgID47CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFw
aGljcy9XZWJHUFUvV2ViR1BVUXVldWUuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhp
Y3MvV2ViR1BVL1dlYkdQVVF1ZXVlLmgKaW5kZXggNmY4ZjhmODEwYjhkMDFhMTI4YzZiZGVmY2Rl
MzJjZjVhNDA5MjM4YS4uNTUxZGEwZTJiMDg2NjM5NzIwYjEyYjk1Njg1MTRlNzk5OGQ1MmJhNyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BV
UXVldWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJH
UFVRdWV1ZS5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEtMjAyMiBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKQEAgLTY2LDggKzY2LDggQEAgcHVibGljOgogICAgICAgICBTaXplNjQgYnVmZmVyT2Zm
c2V0LAogICAgICAgICBjb25zdCB2b2lkKiBzb3VyY2UsCiAgICAgICAgIHNpemVfdCBieXRlTGVu
Z3RoLAotICAgICAgICBTaXplNjQgZGF0YU9mZnNldCwKLSAgICAgICAgc3RkOjpvcHRpb25hbDxT
aXplNjQ+KSA9IDA7CisgICAgICAgIFNpemU2NCBkYXRhT2Zmc2V0ID0gMCwKKyAgICAgICAgc3Rk
OjpvcHRpb25hbDxTaXplNjQ+ID0gc3RkOjpudWxsb3B0KSA9IDA7CiAKICAgICB2aXJ0dWFsIHZv
aWQgd3JpdGVUZXh0dXJlKAogICAgICAgICBjb25zdCBJbWFnZUNvcHlUZXh0dXJlJiBkZXN0aW5h
dGlvbiwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BV
L1dlYkdQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9w
YWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQuaAppbmRl
eCAyODM4MTM1NjA3ZmNhYmE1MmUxOTFjMGIyNTRkMzY0OGJiMzM5NTM2Li45ZDM1ZWVhNWMxM2E4
YjUwYWJkYTg4YjFiZDkzNDI1MmE5YjMwMDdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVUmVuZGVy
UGFzc0NvbG9yQXR0YWNobWVudC5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAo
QykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMp
IDIwMjEtMjAyMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKQEAgLTQwLDcgKzQwLDggQEAgc3RydWN0IFJlbmRlclBhc3NDb2xv
ckF0dGFjaG1lbnQgewogICAgIFRleHR1cmVWaWV3JiB2aWV3OwogICAgIFRleHR1cmVWaWV3KiBy
ZXNvbHZlVGFyZ2V0IHsgbnVsbHB0ciB9OwogCi0gICAgc3RkOjp2YXJpYW50PExvYWRPcCwgVmVj
dG9yPGRvdWJsZT4sIENvbG9yRGljdD4gbG9hZFZhbHVlOworICAgIHN0ZDo6b3B0aW9uYWw8Q29s
b3I+IGNsZWFyVmFsdWU7CisgICAgTG9hZE9wIGxvYWRPcCB7IExvYWRPcDo6TG9hZCB9OwogICAg
IFN0b3JlT3Agc3RvcmVPcCB7IFN0b3JlT3A6OlN0b3JlIH07CiB9OwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVSZW5kZXJQYXNzRGVw
dGhTdGVuY2lsQXR0YWNobWVudC5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9X
ZWJHUFUvV2ViR1BVUmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQuaAppbmRleCBiNDMw
ZTQ1MjYxMGQ2ZTE5NmQ1MDIyMjkxNDg2YTE1YzVhYzdkNGNmLi4zYWJjMjliNmUxZjQ5MzFiODMx
YjkyY2IyYjA3YjRjOTI0YzljODYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFs
L2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVSZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNobWVudC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVJlbmRl
clBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50LmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29w
eXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHly
aWdodCAoQykgMjAyMS0yMDIyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMzgsMTIgKzM4LDE0IEBAIGNsYXNzIFRleHR1
cmVWaWV3Owogc3RydWN0IFJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50IHsKICAgICBU
ZXh0dXJlVmlldyYgdmlldzsKIAotICAgIHN0ZDo6dmFyaWFudDxMb2FkT3AsIGZsb2F0PiBkZXB0
aExvYWRWYWx1ZTsKLSAgICBTdG9yZU9wIGRlcHRoU3RvcmVPcCB7IFN0b3JlT3A6OlN0b3JlIH07
CisgICAgZmxvYXQgZGVwdGhDbGVhclZhbHVlIHsgMCB9OworICAgIHN0ZDo6b3B0aW9uYWw8TG9h
ZE9wPiBkZXB0aExvYWRPcDsKKyAgICBzdGQ6Om9wdGlvbmFsPFN0b3JlT3A+IGRlcHRoU3RvcmVP
cDsKICAgICBib29sIGRlcHRoUmVhZE9ubHkgeyBmYWxzZSB9OwogCi0gICAgc3RkOjp2YXJpYW50
PExvYWRPcCwgU3RlbmNpbFZhbHVlPiBzdGVuY2lsTG9hZFZhbHVlOwotICAgIFN0b3JlT3Agc3Rl
bmNpbFN0b3JlT3AgeyBTdG9yZU9wOjpTdG9yZSB9OworICAgIFN0ZW5jaWxWYWx1ZSBzdGVuY2ls
Q2xlYXJWYWx1ZSB7IDAgfTsKKyAgICBzdGQ6Om9wdGlvbmFsPExvYWRPcD4gc3RlbmNpbExvYWRP
cDsKKyAgICBzdGQ6Om9wdGlvbmFsPFN0b3JlT3A+IHN0ZW5jaWxTdG9yZU9wOwogICAgIGJvb2wg
c3RlbmNpbFJlYWRPbmx5IHsgZmFsc2UgfTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVJlbmRlclBhc3NEZXNjcmlwdG9yLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVSZW5kZXJQYXNz
RGVzY3JpcHRvci5oCmluZGV4IDBmYWZlYjQ0NjU1ODYzZjhlNzAzMzc0YWVjZTAxZmJiZmRhMDYx
Y2UuLmUyMjJiMzE2MjAzY2Y2MmQ1NGIwZWRhOTQ0Y2RjYzMyOTAyOGIzNzUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVJlbmRlclBhc3NE
ZXNjcmlwdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUv
V2ViR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJp
Z2h0IChDKSAyMDIxLTIwMjIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0zNiw3ICszNiw3IEBACiBuYW1lc3BhY2UgUEFM
OjpXZWJHUFUgewogCiBzdHJ1Y3QgUmVuZGVyUGFzc0Rlc2NyaXB0b3IgOiBwdWJsaWMgT2JqZWN0
RGVzY3JpcHRvckJhc2UgewotICAgIFZlY3RvcjxSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50PiBj
b2xvckF0dGFjaG1lbnRzOworICAgIFZlY3RvcjxzdGQ6Om9wdGlvbmFsPFJlbmRlclBhc3NDb2xv
ckF0dGFjaG1lbnQ+PiBjb2xvckF0dGFjaG1lbnRzOwogICAgIHN0ZDo6b3B0aW9uYWw8UmVuZGVy
UGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQ+IGRlcHRoU3RlbmNpbEF0dGFjaG1lbnQ7CiAgICAg
UXVlcnlTZXQqIG9jY2x1c2lvblF1ZXJ5U2V0IHsgbnVsbHB0ciB9OwogICAgIFJlbmRlclBhc3NU
aW1lc3RhbXBXcml0ZXMgdGltZXN0YW1wV3JpdGVzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVUmVuZGVyUGFzc0VuY29kZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVJlbmRlclBhc3NFbmNv
ZGVyLmgKaW5kZXggNzM1MmVhMWRkOGI5NTNiMjVmNTgyNDY2ZWFhNzc5NmVlNWRmMjJmNy4uN2Qx
NTQ1MDVjNGM3MWE1NmU4NDUwMzQyMzBjMjY2MWM3NDc3YTQ5NyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVUmVuZGVyUGFzc0VuY29kZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVSZW5k
ZXJQYXNzRW5jb2Rlci5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAy
MSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEt
MjAyMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKQEAgLTk3LDExICs5Nyw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQg
YmVnaW5PY2NsdXNpb25RdWVyeShTaXplMzIgcXVlcnlJbmRleCkgPSAwOwogICAgIHZpcnR1YWwg
dm9pZCBlbmRPY2NsdXNpb25RdWVyeSgpID0gMDsKIAotICAgIHZpcnR1YWwgdm9pZCBiZWdpblBp
cGVsaW5lU3RhdGlzdGljc1F1ZXJ5KGNvbnN0IFF1ZXJ5U2V0JiwgU2l6ZTMyIHF1ZXJ5SW5kZXgp
ID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgZW5kUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkoKSA9IDA7
Ci0KICAgICB2aXJ0dWFsIHZvaWQgZXhlY3V0ZUJ1bmRsZXMoVmVjdG9yPHN0ZDo6cmVmZXJlbmNl
X3dyYXBwZXI8UmVuZGVyQnVuZGxlPj4mJikgPSAwOwotICAgIHZpcnR1YWwgdm9pZCBlbmRQYXNz
KCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBlbmQoKSA9IDA7CiAKIHByb3RlY3RlZDoKICAgICBS
ZW5kZXJQYXNzRW5jb2RlcigpID0gZGVmYXVsdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVJlbmRlclBhc3NMYXlvdXQuaCBiL1NvdXJj
ZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVJlbmRlclBhc3NMYXlvdXQu
aAppbmRleCBhZjkzZjFmMWIyZDcwMTFkNWUzYjg1YzdkNGVjMDkwMTQ0YjAyMDQ1Li5iMzc2MDhl
ZTMyZWEwZmU5ZWI2ODQ4YzNiY2VlYzg0ZmZlZjUxY2M0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVSZW5kZXJQYXNzTGF5b3V0LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVUmVuZGVyUGFz
c0xheW91dC5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEtMjAyMiBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKQEAgLTM0LDcgKzM0LDcgQEAKIG5hbWVzcGFjZSBQQUw6OldlYkdQVSB7CiAKIHN0cnVj
dCBSZW5kZXJQYXNzTGF5b3V0IDogcHVibGljIE9iamVjdERlc2NyaXB0b3JCYXNlIHsKLSAgICBW
ZWN0b3I8VGV4dHVyZUZvcm1hdD4gY29sb3JGb3JtYXRzOworICAgIFZlY3RvcjxzdGQ6Om9wdGlv
bmFsPFRleHR1cmVGb3JtYXQ+PiBjb2xvckZvcm1hdHM7CiAgICAgc3RkOjpvcHRpb25hbDxUZXh0
dXJlRm9ybWF0PiBkZXB0aFN0ZW5jaWxGb3JtYXQ7CiAgICAgU2l6ZTMyIHNhbXBsZUNvdW50IHsg
MSB9OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2Vi
R1BVL1dlYkdQVVNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludC5oIGIvU291cmNlL1dlYkNvcmUv
UEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50
LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uY2IyNjhhZjc0Y2Y0NGFkZWNlNjQwNWY3OWNkM2Y1YTdkNmNmNDAyYwot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BV
L1dlYkdQVVNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludC5oCkBAIC0wLDAgKzEsMzYgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMjEtMjAyMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCituYW1lc3BhY2UgUEFMOjpXZWJHUFUgewor
CitjbGFzcyBXZWJHUFVQaXBlbGluZUxheW91dDsKKworc3RydWN0IFNoYWRlck1vZHVsZUNvbXBp
bGF0aW9uSGludCB7CisgICAgUGlwZWxpbmVMYXlvdXQmIHBpcGVsaW5lTGF5b3V0OworfTsKKwor
fSAvLyBuYW1lc3BhY2UgUEFMOjpXZWJHUFUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BB
TC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVNoYWRlck1vZHVsZURlc2NyaXB0b3IuaCBiL1Nv
dXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVNoYWRlck1vZHVsZURl
c2NyaXB0b3IuaAppbmRleCBjOTllOGVlMmZmNGYxZmE4NWUzNTE2MjY1N2Q5YTNkOWY2Yzc1NDZm
Li44ZmMwYTQ2ZjBkNjk0NGEwMjIxMWQ3ZDJjOWFjZTYyMDVhNzJmZDllIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVTaGFkZXJNb2R1bGVE
ZXNjcmlwdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUv
V2ViR1BVU2hhZGVyTW9kdWxlRGVzY3JpcHRvci5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENv
cHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5
cmlnaHQgKEMpIDIwMjEtMjAyMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgog
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI2LDYgKzI2LDcgQEAKICNwcmFnbWEgb25j
ZQogCiAjaW5jbHVkZSAiV2ViR1BVT2JqZWN0RGVzY3JpcHRvckJhc2UuaCIKKyNpbmNsdWRlICJX
ZWJHUFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQuaCIKICNpbmNsdWRlIDx3dGYvdGV4dC9X
VEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFBBTDo6V2ViR1BVIHsKQEAgLTMzLDYgKzM0LDcgQEAg
bmFtZXNwYWNlIFBBTDo6V2ViR1BVIHsKIHN0cnVjdCBTaGFkZXJNb2R1bGVEZXNjcmlwdG9yIDog
cHVibGljIE9iamVjdERlc2NyaXB0b3JCYXNlIHsKICAgICBTdHJpbmcgY29kZTsKICAgICAvLyBK
U0M6OlN0cm9uZzxKU0M6OkpTT2JqZWN0PiBzb3VyY2VNYXA7CisgICAgVmVjdG9yPEtleVZhbHVl
UGFpcjxTdHJpbmcsIFNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludD4+IGhpbnRzOwogfTsKIAog
fSAvLyBuYW1lc3BhY2UgUEFMOjpXZWJHUFUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BB
TC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVRleHR1cmVEZXNjcmlwdG9yLmggYi9Tb3VyY2Uv
V2ViQ29yZS9QQUwvcGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVUZXh0dXJlRGVzY3JpcHRvci5o
CmluZGV4IDU4YTBmY2E3ODhkMjQyNTM3M2Q5N2ViZThiMTMxYzlmZGVkNmNkNWMuLjFhNjE5Zjgx
YmY2OGJlZGRjMTdlM2NlZmMzNTgwNzkzZjdjMTQ5ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1BBTC9wYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVVRleHR1cmVEZXNjcmlwdG9yLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVVGV4dHVyZURl
c2NyaXB0b3IuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDIxLTIwMjIg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCkBAIC00MSw2ICs0MSw3IEBAIHN0cnVjdCBUZXh0dXJlRGVzY3JpcHRvciA6IHB1Ymxp
YyBPYmplY3REZXNjcmlwdG9yQmFzZSB7CiAgICAgVGV4dHVyZURpbWVuc2lvbiBkaW1lbnNpb24g
eyBUZXh0dXJlRGltZW5zaW9uOjpfMmQgfTsKICAgICBUZXh0dXJlRm9ybWF0IGZvcm1hdCB7IFRl
eHR1cmVGb3JtYXQ6OlI4dW5vcm0gfTsKICAgICBUZXh0dXJlVXNhZ2VGbGFncyB1c2FnZTsKKyAg
ICBWZWN0b3I8VGV4dHVyZUZvcm1hdD4gdmlld0Zvcm1hdHM7CiB9OwogCiB9IC8vIG5hbWVzcGFj
ZSBQQUw6OldlYkdQVQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9ncmFwaGlj
cy9XZWJHUFUvV2ViR1BVVGV4dHVyZUZvcm1hdC5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9n
cmFwaGljcy9XZWJHUFUvV2ViR1BVVGV4dHVyZUZvcm1hdC5oCmluZGV4IDYyNTk0NjAwNWYwZTg2
M2FmOTAzMjgxNjViMzg4OTEyZGQ3NTAyNDQuLjhmMTUyMmRlZWZkZjE2YzJlMTExMTdmNmExNDYz
ZDdkNTdhMjk5YjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvZ3JhcGhpY3Mv
V2ViR1BVL1dlYkdQVVRleHR1cmVGb3JtYXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFs
L2dyYXBoaWNzL1dlYkdQVS9XZWJHUFVUZXh0dXJlRm9ybWF0LmgKQEAgLTEsNSArMSw1IEBACiAv
KgotICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqIENvcHlyaWdodCAoQykgMjAyMS0yMDIyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNzgsMTMgKzc4LDE5IEBAIGVu
dW0gY2xhc3MgVGV4dHVyZUZvcm1hdCA6IHVpbnQ4X3QgewogICAgIFJnYmEzMnNpbnQsCiAgICAg
UmdiYTMyZmxvYXQsCiAKLSAgICAvLyBEZXB0aCBhbmQgc3RlbmNpbCBmb3JtYXRzCisgICAgLy8g
RGVwdGgvc3RlbmNpbCBmb3JtYXRzCiAgICAgU3RlbmNpbDgsCiAgICAgRGVwdGgxNnVub3JtLAog
ICAgIERlcHRoMjRwbHVzLAogICAgIERlcHRoMjRwbHVzU3RlbmNpbDgsCiAgICAgRGVwdGgzMmZs
b2F0LAogCisgICAgLy8gZGVwdGgyNHVub3JtLXN0ZW5jaWw4IGZlYXR1cmUKKyAgICBEZXB0aDI0
dW5vcm1TdGVuY2lsOCwKKworICAgIC8vIGRlcHRoMzJmbG9hdC1zdGVuY2lsOCBmZWF0dXJlCisg
ICAgRGVwdGgzMmZsb2F0U3RlbmNpbDgsCisKICAgICAvLyBCQyBjb21wcmVzc2VkIGZvcm1hdHMg
dXNhYmxlIGlmIHRleHR1cmUtY29tcHJlc3Npb24tYmMgaXMgYm90aAogICAgIC8vIHN1cHBvcnRl
ZCBieSB0aGUgZGV2aWNlL3VzZXIgYWdlbnQgYW5kIGVuYWJsZWQgaW4gcmVxdWVzdERldmljZS4K
ICAgICBCYzFSZ2JhVW5vcm0sCkBAIC0xNDUsMTIgKzE1MSw2IEBAIGVudW0gY2xhc3MgVGV4dHVy
ZUZvcm1hdCA6IHVpbnQ4X3QgewogICAgIEFzdGMxMngxMFVub3JtU1JHQiwKICAgICBBc3RjMTJ4
MTJVbm9ybSwKICAgICBBc3RjMTJ4MTJVbm9ybVNSR0IsCi0KLSAgICAvLyBkZXB0aDI0dW5vcm0t
c3RlbmNpbDggZmVhdHVyZQotICAgIERlcHRoMjR1bm9ybVN0ZW5jaWw4LAotCi0gICAgLy8gZGVw
dGgzMmZsb2F0LXN0ZW5jaWw4IGZlYXR1cmUKLSAgICBEZXB0aDMyZmxvYXRTdGVuY2lsOCwKIH07
CiAKIH0gLy8gbmFtZXNwYWNlIFBBTDo6V2ViR1BVCkBAIC0yMDEsNiArMjAxLDggQEAgdGVtcGxh
dGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxQQUw6OldlYkdQVTo6VGV4dHVyZUZvcm1hdD4gewogICAg
ICAgICBQQUw6OldlYkdQVTo6VGV4dHVyZUZvcm1hdDo6RGVwdGgyNHBsdXMsCiAgICAgICAgIFBB
TDo6V2ViR1BVOjpUZXh0dXJlRm9ybWF0OjpEZXB0aDI0cGx1c1N0ZW5jaWw4LAogICAgICAgICBQ
QUw6OldlYkdQVTo6VGV4dHVyZUZvcm1hdDo6RGVwdGgzMmZsb2F0LAorICAgICAgICBQQUw6Oldl
YkdQVTo6VGV4dHVyZUZvcm1hdDo6RGVwdGgyNHVub3JtU3RlbmNpbDgsCisgICAgICAgIFBBTDo6
V2ViR1BVOjpUZXh0dXJlRm9ybWF0OjpEZXB0aDMyZmxvYXRTdGVuY2lsOCwKICAgICAgICAgUEFM
OjpXZWJHUFU6OlRleHR1cmVGb3JtYXQ6OkJjMVJnYmFVbm9ybSwKICAgICAgICAgUEFMOjpXZWJH
UFU6OlRleHR1cmVGb3JtYXQ6OkJjMVJnYmFVbm9ybVNSR0IsCiAgICAgICAgIFBBTDo6V2ViR1BV
OjpUZXh0dXJlRm9ybWF0OjpCYzJSZ2JhVW5vcm0sCkBAIC0yNTIsOSArMjU0LDcgQEAgdGVtcGxh
dGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxQQUw6OldlYkdQVTo6VGV4dHVyZUZvcm1hdD4gewogICAg
ICAgICBQQUw6OldlYkdQVTo6VGV4dHVyZUZvcm1hdDo6QXN0YzEyeDEwVW5vcm0sCiAgICAgICAg
IFBBTDo6V2ViR1BVOjpUZXh0dXJlRm9ybWF0OjpBc3RjMTJ4MTBVbm9ybVNSR0IsCiAgICAgICAg
IFBBTDo6V2ViR1BVOjpUZXh0dXJlRm9ybWF0OjpBc3RjMTJ4MTJVbm9ybSwKLSAgICAgICAgUEFM
OjpXZWJHUFU6OlRleHR1cmVGb3JtYXQ6OkFzdGMxMngxMlVub3JtU1JHQiwKLSAgICAgICAgUEFM
OjpXZWJHUFU6OlRleHR1cmVGb3JtYXQ6OkRlcHRoMjR1bm9ybVN0ZW5jaWw4LAotICAgICAgICBQ
QUw6OldlYkdQVTo6VGV4dHVyZUZvcm1hdDo6RGVwdGgzMmZsb2F0U3RlbmNpbDgKKyAgICAgICAg
UEFMOjpXZWJHUFU6OlRleHR1cmVGb3JtYXQ6OkFzdGMxMngxMlVub3JtU1JHQgogICAgID47CiB9
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJD
b3JlL1NvdXJjZXMudHh0CmluZGV4IDA2YzliMjE4MTY1ZjRlMzUzZTk0ODlmMDUyZjBkZmI5OTFi
OTI2YTQuLjRjMjcyMzFjNzlhYzNlNDA4NDFmNTAzZjM5NmY3MDcwMjA1ZDlmMjMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJj
ZXMudHh0CkBAIC0zMTg1LDYgKzMxODUsNyBAQCBKU0dQVUNvbW1hbmRCdWZmZXIuY3BwCiBKU0dQ
VUNvbW1hbmRCdWZmZXJEZXNjcmlwdG9yLmNwcAogSlNHUFVDb21tYW5kRW5jb2Rlci5jcHAKIEpT
R1BVQ29tbWFuZEVuY29kZXJEZXNjcmlwdG9yLmNwcAorSlNHUFVDb21tYW5kc01peGluLmNwcAog
SlNHUFVDb21wYXJlRnVuY3Rpb24uY3BwCiBKU0dQVUNvbXBpbGF0aW9uSW5mby5jcHAKIEpTR1BV
Q29tcGlsYXRpb25NZXNzYWdlLmNwcApAQCAtMzE5Niw2ICszMTk3LDcgQEAgSlNHUFVDb21wdXRl
UGFzc1RpbWVzdGFtcFdyaXRlLmNwcAogSlNHUFVDb21wdXRlUGlwZWxpbmUuY3BwCiBKU0dQVUNv
bXB1dGVQaXBlbGluZURlc2NyaXB0b3IuY3BwCiBKU0dQVUN1bGxNb2RlLmNwcAorSlNHUFVEZWJ1
Z0NvbW1hbmRzTWl4aW4uY3BwCiBKU0dQVURlcHRoU3RlbmNpbFN0YXRlLmNwcAogSlNHUFVEZXZp
Y2UuY3BwCiBKU0dQVURldmljZURlc2NyaXB0b3IuY3BwCkBAIC0zMjMxLDcgKzMyMzMsNiBAQCBK
U0dQVVBpcGVsaW5lQmFzZS5jcHAKIEpTR1BVUGlwZWxpbmVEZXNjcmlwdG9yQmFzZS5jcHAKIEpT
R1BVUGlwZWxpbmVMYXlvdXQuY3BwCiBKU0dQVVBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvci5jcHAK
LUpTR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lLmNwcAogSlNHUFVQb3dlclByZWZlcmVuY2UuY3Bw
CiBKU0dQVVByZWRlZmluZWRDb2xvclNwYWNlLmNwcAogSlNHUFVQcmltaXRpdmVTdGF0ZS5jcHAK
QEAgLTMyNjIsNiArMzI2Myw3IEBAIEpTR1BVU2FtcGxlckJpbmRpbmdMYXlvdXQuY3BwCiBKU0dQ
VVNhbXBsZXJCaW5kaW5nVHlwZS5jcHAKIEpTR1BVU2FtcGxlckRlc2NyaXB0b3IuY3BwCiBKU0dQ
VVNoYWRlck1vZHVsZS5jcHAKK0pTR1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50LmNwcAog
SlNHUFVTaGFkZXJNb2R1bGVEZXNjcmlwdG9yLmNwcAogSlNHUFVTaGFkZXJTdGFnZS5jcHAKIEpT
R1BVU3RlbmNpbEZhY2VTdGF0ZS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBmYjlmYjdjYzIyMTg5ZjAzNDMwMjBjZjZjMGZh
M2Q2NjVkYjllYjM4Li4wYTU5YjE3YzFhMGEzMjA5ZGI5ODM0NzEwM2ZkNjM4NTEyNzRmMjlmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CkBAIC03MzI0LDcgKzczMjQsNiBAQAogCQkxQzkwNzgwODI3NTFGRDUzMDA0RUYxNjUgLyogSlNH
UFVFeHRlbnQzRERpY3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNHUFVFeHRlbnQzRERpY3QuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUM5MDc4MDkyNzUxRkQ1MzAwNEVGMTY1IC8qIEpT
R1BVUXVlcnlTZXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNHUFVRdWVyeVNldC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkxQzkwNzgwQTI3NTFGRDU0MDA0RUYxNjUgLyogSlNHUFVJbWFn
ZURhdGFMYXlvdXQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNHUFVJbWFnZURhdGFMYXlvdXQu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkxQzkwNzgwQjI3NTFGRDU0MDA0RUYx
NjUgLyogSlNHUFVQaXBlbGluZVN0YXRpc3RpY05hbWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNHUFVQ
aXBlbGluZVN0YXRpc3RpY05hbWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUM5
MDc4MEMyNzUxRkQ1NDAwNEVGMTY1IC8qIEpTR1BVQnVmZmVyQmluZGluZ1R5cGUuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gSlNHUFVCdWZmZXJCaW5kaW5nVHlwZS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTFDOTA3ODBEMjc1MUZENTUwMDRFRjE2NSAvKiBKU0dQVURldmljZS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBKU0dQVURldmljZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkxQzkwNzgwRTI3NTFGRDU1MDA0RUYxNjUgLyogSlNHUFVTYW1wbGVyQmluZGluZ1R5cGUu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNHUFVTYW1wbGVyQmluZGluZ1R5cGUuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNzQ1NCw3ICs3NDUzLDYgQEAKIAkJMUM5MDc4OEEy
NzUxRkQ4NjAwNEVGMTY1IC8qIEpTR1BVU2FtcGxlckRlc2NyaXB0b3IuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gSlNHUFVTYW1wbGVyRGVzY3JpcHRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQkxQzkwNzg4QjI3NTFGRDg3MDA0RUYxNjUgLyogSlNHUFVDb21wYXJlRnVuY3Rpb24uaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gSlNHUFVDb21wYXJlRnVuY3Rpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMUM5MDc4OEMyNzUxRkQ4NzAwNEVGMTY1IC8qIEpTR1BVU3VwcG9ydGVkRmVhdHVy
ZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gSlNHUFVTdXBwb3J0ZWRGZWF0dXJlcy5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwotCQkxQzkwNzg4RDI3NTFGRDg3MDA0RUYxNjUgLyogSlNHUFVQaXBl
bGluZVN0YXRpc3RpY05hbWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNHUFVQaXBlbGluZVN0
YXRpc3RpY05hbWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQzkwNzg4RTI3
NTFGRDg4MDA0RUYxNjUgLyogSlNHUFVEZXZpY2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNH
UFVEZXZpY2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQzkwNzg4RjI3NTFG
RDg4MDA0RUYxNjUgLyogSlNHUFVCdWZmZXJEZXNjcmlwdG9yLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpT
R1BVQnVmZmVyRGVzY3JpcHRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQzkw
Nzg5MDI3NTFGRDg5MDA0RUYxNjUgLyogSlNHUFVPcmlnaW4zRERpY3QuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gSlNHUFVPcmlnaW4zRERpY3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtNzY3Miw3ICs3NjcwLDYgQEAKIAkJMUNBNEZDRUIyNzM1MUZCMTAwMjdGRDVBIC8qIEdQ
VUNvbW1hbmRFbmNvZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEdQVUNvbW1hbmRFbmNvZGVy
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNBNEZDRUMyNzM1MUZCMjAwMjdG
RDVBIC8qIEdQVVF1ZXJ5U2V0RGVzY3JpcHRvci5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gR1BVUXVlcnlTZXREZXNjcmlw
dG9yLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNBNEZDRUQyNzM1MUZCMjAw
MjdGRDVBIC8qIEdQVUNvbW1hbmRFbmNvZGVyLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBHUFVDb21tYW5kRW5jb2Rlci5p
ZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTFDQTRGQ0VFMjczNTFGQjIwMDI3RkQ1
QSAvKiBHUFVQaXBlbGluZVN0YXRpc3RpY05hbWUuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEdQVVBpcGVsaW5lU3RhdGlz
dGljTmFtZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDQTRGQ0VGMjczNTFG
QjMwMDI3RkQ1QSAvKiBHUFVSZW5kZXJCdW5kbGVFbmNvZGVyRGVzY3JpcHRvci5pZGwgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0g
R1BVUmVuZGVyQnVuZGxlRW5jb2RlckRlc2NyaXB0b3IuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkxQ0E0RkNGMDI3MzUxRkIzMDAyN0ZENUEgLyogR1BVQ29sb3JEaWN0LmlkbCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBh
dGggPSBHUFVDb2xvckRpY3QuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQ0E0
RkNGMTI3MzUxRkIzMDAyN0ZENUEgLyogR1BVUmVuZGVyRW5jb2RlckJhc2UuaWRsICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEdQ
VVJlbmRlckVuY29kZXJCYXNlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTc3
MTQsNyArNzcxMSw2IEBACiAJCTFDQTRGRDE1MjczNTFGQzEwMDI3RkQ1QSAvKiBHUFVSZW5kZXJQ
YXNzVGltZXN0YW1wTG9jYXRpb24uaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEdQVVJlbmRlclBhc3NUaW1lc3RhbXBMb2Nh
dGlvbi5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDQTRGRDE2MjczNTFGQzIw
MDI3RkQ1QSAvKiBHUFVJbWFnZUNvcHlFeHRlcm5hbEltYWdlLmlkbCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBHUFVJbWFnZUNv
cHlFeHRlcm5hbEltYWdlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNBNEZE
MTcyNzM1MUZDMjAwMjdGRDVBIC8qIEdQVVJlbmRlclBhc3NEZXNjcmlwdG9yLmlkbCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBH
UFVSZW5kZXJQYXNzRGVzY3JpcHRvci5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0J
CTFDQTRGRDE4MjczNTFGQzMwMDI3RkQ1QSAvKiBHUFVQaXBlbGluZVN0YXRpc3RpY05hbWUuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gR1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTFDQTRGRDE5MjczNTFGQzMwMDI3RkQ1QSAvKiBHUFVDb21tYW5kRW5j
b2RlckRlc2NyaXB0b3IuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEdQVUNvbW1hbmRFbmNvZGVyRGVzY3JpcHRvci5pZGw7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDQTRGRDFBMjczNTFGQzMwMDI3RkQ1QSAv
KiBHUFVSZW5kZXJQYXNzVGltZXN0YW1wV3JpdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR1BVUmVuZGVy
UGFzc1RpbWVzdGFtcFdyaXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDQTRG
RDFCMjczNTFGQzQwMDI3RkQ1QSAvKiBHUFVPcmlnaW4yRERpY3QuaWRsICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEdQVU9yaWdp
bjJERGljdC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC03NzcxLDYgKzc3Njcs
MTYgQEAKIAkJMUNFQUE1MkYyNkYzMUFGODAwODY4NTA3IC8qIENTU0ZvbnRQYWxldHRlVmFsdWVz
UnVsZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSB0ZXh0OyBwYXRoID0gQ1NTRm9udFBhbGV0dGVWYWx1ZXNSdWxlLmlkbDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJMUNFQUE1MzAyNkYzMzFDMTAwODY4NTA3IC8qIENTU0ZvbnRQYWxl
dHRlVmFsdWVzT3ZlcnJpZGVDb2xvcnNWYWx1ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDU1NG
b250UGFsZXR0ZVZhbHVlc092ZXJyaWRlQ29sb3JzVmFsdWUuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkxQ0VBQTUzMTI2RjMzMUMxMDA4Njg1MDcgLyogQ1NTRm9udFBhbGV0dGVW
YWx1ZXNPdmVycmlkZUNvbG9yc1ZhbHVlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENTU0ZvbnRQYWxldHRl
VmFsdWVzT3ZlcnJpZGVDb2xvcnNWYWx1ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkxQ0VGNDVBNTI3QkIwOTZBMDBDM0E2QkMgLyogR1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25I
aW50LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHRleHQ7IHBhdGggPSBHUFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQuaWRsOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkxQ0VGNDVBNzI3QkIwQTNEMDBDM0E2QkMgLyogR1BVU2hh
ZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdQVVNoYWRlck1vZHVs
ZUNvbXBpbGF0aW9uSGludC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQ0VGNDVB
ODI3QkIwQkUxMDBDM0E2QkMgLyogR1BVQ29tbWFuZHNNaXhpbi5pZGwgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gR1BVQ29tbWFu
ZHNNaXhpbi5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFDRUY0NUE5MjdCQjBE
MzkwMEMzQTZCQyAvKiBHUFVEZWJ1Z0NvbW1hbmRzTWl4aW4uaWRsICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEdQVURlYnVnQ29t
bWFuZHNNaXhpbi5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFDRUY0NUIwMjdC
QjkwN0YwMEMzQTZCQyAvKiBKU0dQVUNvbW1hbmRzTWl4aW4uaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNH
UFVDb21tYW5kc01peGluLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFDRUY0NUIx
MjdCQjkwN0YwMEMzQTZCQyAvKiBKU0dQVUNvbW1hbmRzTWl4aW4uY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gSlNHUFVDb21tYW5kc01peGluLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMUNFRjQ1QjIyN0JCOTA4MDAwQzNBNkJDIC8qIEpTR1BVRGVidWdDb21tYW5kc01peGluLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTR1BVRGVidWdDb21tYW5kc01peGluLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUNFRjQ1QjMyN0JCOTA4MTAwQzNBNkJDIC8qIEpTR1BV
U2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTR1BVU2hhZGVy
TW9kdWxlQ29tcGlsYXRpb25IaW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFD
RUY0NUI0MjdCQjkwODEwMEMzQTZCQyAvKiBKU0dQVURlYnVnQ29tbWFuZHNNaXhpbi5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBKU0dQVURlYnVnQ29tbWFuZHNNaXhpbi5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQkxQ0VGNDVCNTI3QkI5MDgyMDBDM0E2QkMgLyogSlNHUFVTaGFkZXJNb2R1bGVD
b21waWxhdGlvbkhpbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNHUFVTaGFkZXJNb2R1bGVD
b21waWxhdGlvbkhpbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQ0YwQkZE
NDIyOTg3MDY4MDBFRDIwNzQgLyogVGV4dFNpemVBZGp1c3RtZW50LmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFRleHRTaXplQWRqdXN0bWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTFDRjE4RjNDMjZCQjVBRjIwMDRCMTcyMiAvKiBMb2dJbml0aWFsaXphdGlvbi5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBMb2dJbml0aWFsaXphdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTFDRkFFMzIyMEE2RDZBM0YwMDMyNTkzRCAvKiBsaWJvYmpjLmR5bGliICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gImNvbXBpbGVk
Lm1hY2gtby5keWxpYiI7IG5hbWUgPSBsaWJvYmpjLmR5bGliOyBwYXRoID0gL3Vzci9saWIvbGli
b2JqYy5keWxpYjsgc291cmNlVHJlZSA9ICI8YWJzb2x1dGU+IjsgfTsKQEAgLTIwMDkxLDYgKzIw
MDk3LDcgQEAKIAkJCQkxQ0E0RkNFRDI3MzUxRkIyMDAyN0ZENUEgLyogR1BVQ29tbWFuZEVuY29k
ZXIuaWRsICovLAogCQkJCTFDQTRGQ0ZFMjczNTFGQjkwMDI3RkQ1QSAvKiBHUFVDb21tYW5kRW5j
b2RlckRlc2NyaXB0b3IuaCAqLywKIAkJCQkxQ0E0RkQxOTI3MzUxRkMzMDAyN0ZENUEgLyogR1BV
Q29tbWFuZEVuY29kZXJEZXNjcmlwdG9yLmlkbCAqLywKKwkJCQkxQ0VGNDVBODI3QkIwQkUxMDBD
M0E2QkMgLyogR1BVQ29tbWFuZHNNaXhpbi5pZGwgKi8sCiAJCQkJMUNBNEZDNTkyNzM0RUJDRDAw
MjdGRDVBIC8qIEdQVUNvbXBhcmVGdW5jdGlvbi5oICovLAogCQkJCTFDQTRGQzVCMjczNEVCQ0Uw
MDI3RkQ1QSAvKiBHUFVDb21wYXJlRnVuY3Rpb24uaWRsICovLAogCQkJCTFDQTRGQ0UyMjczNTEy
M0EwMDI3RkQ1QSAvKiBHUFVDb21waWxhdGlvbkluZm8uY3BwICovLApAQCAtMjAxMTcsNiArMjAx
MjQsNyBAQAogCQkJCTFDQTRGQ0I0MjczNTBDRUIwMDI3RkQ1QSAvKiBHUFVDb21wdXRlUGlwZWxp
bmVEZXNjcmlwdG9yLmlkbCAqLywKIAkJCQkxQ0E0RkNBMzI3MzUwQ0U1MDAyN0ZENUEgLyogR1BV
Q3VsbE1vZGUuaCAqLywKIAkJCQkxQ0E0RkNDRTI3MzUwQ0Y1MDAyN0ZENUEgLyogR1BVQ3VsbE1v
ZGUuaWRsICovLAorCQkJCTFDRUY0NUE5MjdCQjBEMzkwMEMzQTZCQyAvKiBHUFVEZWJ1Z0NvbW1h
bmRzTWl4aW4uaWRsICovLAogCQkJCTFDQTRGQ0Q0MjczNTBDRjgwMDI3RkQ1QSAvKiBHUFVEZXB0
aFN0ZW5jaWxTdGF0ZS5oICovLAogCQkJCTFDQTRGQ0REMjczNTBDRkIwMDI3RkQ1QSAvKiBHUFVE
ZXB0aFN0ZW5jaWxTdGF0ZS5pZGwgKi8sCiAJCQkJMUMyODk1N0YyNzJGNDNEODAwQjNFMkI0IC8q
IEdQVURldmljZS5jcHAgKi8sCkBAIC0yMDE4OCw4ICsyMDE5Niw2IEBACiAJCQkJMUNBNEZDNkUy
NzM0RjlGNjAwMjdGRDVBIC8qIEdQVVBpcGVsaW5lTGF5b3V0LmlkbCAqLywKIAkJCQkxQ0E0RkM3
MzI3MzRGOUY4MDAyN0ZENUEgLyogR1BVUGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yLmggKi8sCiAJ
CQkJMUNBNEZDNjcyNzM0RjlGNDAwMjdGRDVBIC8qIEdQVVBpcGVsaW5lTGF5b3V0RGVzY3JpcHRv
ci5pZGwgKi8sCi0JCQkJMUNBNEZEMTgyNzM1MUZDMzAwMjdGRDVBIC8qIEdQVVBpcGVsaW5lU3Rh
dGlzdGljTmFtZS5oICovLAotCQkJCTFDQTRGQ0VFMjczNTFGQjIwMDI3RkQ1QSAvKiBHUFVQaXBl
bGluZVN0YXRpc3RpY05hbWUuaWRsICovLAogCQkJCTFDMjg5NTgyMjcyRjQ4RjIwMEIzRTJCNCAv
KiBHUFVQb3dlclByZWZlcmVuY2UuaCAqLywKIAkJCQkxQzI4OTU2OTI3MkYyNzQ3MDBCM0UyQjQg
LyogR1BVUG93ZXJQcmVmZXJlbmNlLmlkbCAqLywKIAkJCQkxQzI4OTU4QjI3MkY1QUY1MDBCM0Uy
QjQgLyogR1BVUHJlZGVmaW5lZENvbG9yU3BhY2UuaCAqLywKQEAgLTIwMjU2LDYgKzIwMjYyLDgg
QEAKIAkJCQkxQ0E0RkNBNTI3MzUwQ0U2MDAyN0ZENUEgLyogR1BVU2hhZGVyTW9kdWxlLmNwcCAq
LywKIAkJCQkxQ0E0RkNENTI3MzUwQ0Y4MDAyN0ZENUEgLyogR1BVU2hhZGVyTW9kdWxlLmggKi8s
CiAJCQkJMUNBNEZDQTcyNzM1MENFNjAwMjdGRDVBIC8qIEdQVVNoYWRlck1vZHVsZS5pZGwgKi8s
CisJCQkJMUNFRjQ1QTcyN0JCMEEzRDAwQzNBNkJDIC8qIEdQVVNoYWRlck1vZHVsZUNvbXBpbGF0
aW9uSGludC5oICovLAorCQkJCTFDRUY0NUE1MjdCQjA5NkEwMEMzQTZCQyAvKiBHUFVTaGFkZXJN
b2R1bGVDb21waWxhdGlvbkhpbnQuaWRsICovLAogCQkJCTFDQTRGQ0IxMjczNTBDRUEwMDI3RkQ1
QSAvKiBHUFVTaGFkZXJNb2R1bGVEZXNjcmlwdG9yLmggKi8sCiAJCQkJMUNBNEZDQUMyNzM1MENF
ODAwMjdGRDVBIC8qIEdQVVNoYWRlck1vZHVsZURlc2NyaXB0b3IuaWRsICovLAogCQkJCTFDQTRG
QzZBMjczNEY5RjUwMDI3RkQ1QSAvKiBHUFVTaGFkZXJTdGFnZS5oICovLApAQCAtMjM1MzIsNiAr
MjM1NDAsOCBAQAogCQkJCTFDOTA3ODRFMjc1MUZENkYwMDRFRjE2NSAvKiBKU0dQVUNvbW1hbmRF
bmNvZGVyLmggKi8sCiAJCQkJMUM5MDc3RTQyNzUxRkQ0NDAwNEVGMTY1IC8qIEpTR1BVQ29tbWFu
ZEVuY29kZXJEZXNjcmlwdG9yLmNwcCAqLywKIAkJCQkxQzkwNzg1RTI3NTFGRDc1MDA0RUYxNjUg
LyogSlNHUFVDb21tYW5kRW5jb2RlckRlc2NyaXB0b3IuaCAqLywKKwkJCQkxQ0VGNDVCMTI3QkI5
MDdGMDBDM0E2QkMgLyogSlNHUFVDb21tYW5kc01peGluLmNwcCAqLywKKwkJCQkxQ0VGNDVCMDI3
QkI5MDdGMDBDM0E2QkMgLyogSlNHUFVDb21tYW5kc01peGluLmggKi8sCiAJCQkJMUM5MDc4N0Iy
NzUxRkQ4MDAwNEVGMTY1IC8qIEpTR1BVQ29tcGFyZUZ1bmN0aW9uLmNwcCAqLywKIAkJCQkxQzkw
Nzg4QjI3NTFGRDg3MDA0RUYxNjUgLyogSlNHUFVDb21wYXJlRnVuY3Rpb24uaCAqLywKIAkJCQkx
QzkwNzg5MTI3NTFGRDg5MDA0RUYxNjUgLyogSlNHUFVDb21waWxhdGlvbkluZm8uY3BwICovLApA
QCAtMjM1NTQsNiArMjM1NjQsOCBAQAogCQkJCTFDOTA3ODcwMjc1MUZEN0MwMDRFRjE2NSAvKiBK
U0dQVUNvbXB1dGVQaXBlbGluZURlc2NyaXB0b3IuaCAqLywKIAkJCQkxQzkwNzg1OTI3NTFGRDcz
MDA0RUYxNjUgLyogSlNHUFVDdWxsTW9kZS5jcHAgKi8sCiAJCQkJMUM5MDc3RTgyNzUxRkQ0NjAw
NEVGMTY1IC8qIEpTR1BVQ3VsbE1vZGUuaCAqLywKKwkJCQkxQ0VGNDVCMjI3QkI5MDgwMDBDM0E2
QkMgLyogSlNHUFVEZWJ1Z0NvbW1hbmRzTWl4aW4uY3BwICovLAorCQkJCTFDRUY0NUI0MjdCQjkw
ODEwMEMzQTZCQyAvKiBKU0dQVURlYnVnQ29tbWFuZHNNaXhpbi5oICovLAogCQkJCTFDOTA3ODk0
Mjc1MUZEOEEwMDRFRjE2NSAvKiBKU0dQVURlcHRoU3RlbmNpbFN0YXRlLmNwcCAqLywKIAkJCQkx
QzkwNzg5OTI3NTFGRDhDMDA0RUYxNjUgLyogSlNHUFVEZXB0aFN0ZW5jaWxTdGF0ZS5oICovLAog
CQkJCTFDOTA3ODhFMjc1MUZEODgwMDRFRjE2NSAvKiBKU0dQVURldmljZS5jcHAgKi8sCkBAIC0y
MzYyNCw4ICsyMzYzNiw2IEBACiAJCQkJMUM5MDc4QzAyNzUxRkQ5QjAwNEVGMTY1IC8qIEpTR1BV
UGlwZWxpbmVMYXlvdXQuaCAqLywKIAkJCQkxQzkwNzg1MDI3NTFGRDZGMDA0RUYxNjUgLyogSlNH
UFVQaXBlbGluZUxheW91dERlc2NyaXB0b3IuY3BwICovLAogCQkJCTFDOTA3N0ZBMjc1MUZENEQw
MDRFRjE2NSAvKiBKU0dQVVBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvci5oICovLAotCQkJCTFDOTA3
ODhEMjc1MUZEODcwMDRFRjE2NSAvKiBKU0dQVVBpcGVsaW5lU3RhdGlzdGljTmFtZS5jcHAgKi8s
Ci0JCQkJMUM5MDc4MEIyNzUxRkQ1NDAwNEVGMTY1IC8qIEpTR1BVUGlwZWxpbmVTdGF0aXN0aWNO
YW1lLmggKi8sCiAJCQkJMUM5MDc4N0UyNzUxRkQ4MjAwNEVGMTY1IC8qIEpTR1BVUG93ZXJQcmVm
ZXJlbmNlLmNwcCAqLywKIAkJCQkxQzkwNzg5RTI3NTFGRDhFMDA0RUYxNjUgLyogSlNHUFVQb3dl
clByZWZlcmVuY2UuaCAqLywKIAkJCQkxQzkwNzg1NTI3NTFGRDcxMDA0RUYxNjUgLyogSlNHUFVQ
cmVkZWZpbmVkQ29sb3JTcGFjZS5jcHAgKi8sCkBAIC0yMzY4Niw2ICsyMzY5Niw4IEBACiAJCQkJ
MUM5MDc4OEEyNzUxRkQ4NjAwNEVGMTY1IC8qIEpTR1BVU2FtcGxlckRlc2NyaXB0b3IuaCAqLywK
IAkJCQkxQzkwNzg1NzI3NTFGRDcyMDA0RUYxNjUgLyogSlNHUFVTaGFkZXJNb2R1bGUuY3BwICov
LAogCQkJCTFDOTA3OEE1Mjc1MUZEOTEwMDRFRjE2NSAvKiBKU0dQVVNoYWRlck1vZHVsZS5oICov
LAorCQkJCTFDRUY0NUI1MjdCQjkwODIwMEMzQTZCQyAvKiBKU0dQVVNoYWRlck1vZHVsZUNvbXBp
bGF0aW9uSGludC5jcHAgKi8sCisJCQkJMUNFRjQ1QjMyN0JCOTA4MTAwQzNBNkJDIC8qIEpTR1BV
U2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50LmggKi8sCiAJCQkJMUM5MDc3RTkyNzUxRkQ0NjAw
NEVGMTY1IC8qIEpTR1BVU2hhZGVyTW9kdWxlRGVzY3JpcHRvci5jcHAgKi8sCiAJCQkJMUM5MDc4
MzkyNzUxRkQ2NjAwNEVGMTY1IC8qIEpTR1BVU2hhZGVyTW9kdWxlRGVzY3JpcHRvci5oICovLAog
CQkJCTFDOTA3ODcyMjc1MUZEN0QwMDRFRjE2NSAvKiBKU0dQVVNoYWRlclN0YWdlLmNwcCAqLywK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0FkYXB0ZXIuaCBiL1NvdXJjZS9XZWJH
UFUvV2ViR1BVL0FkYXB0ZXIuaAppbmRleCBlN2Q0MzQ5ODg2ZTY3OTFjNWM1YmQ4MzczMzRiYzU1
MmIxYmRlZDA0Li44Y2E0ZTBmMGU0Yjk3ZWUwYTQ3ODhiYjhjNDc2ZmI1Mjc0ZmJiMzIxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9BZGFwdGVyLmgKKysrIGIvU291cmNlL1dlYkdQ
VS9XZWJHUFUvQWRhcHRlci5oCkBAIC00NSwxMCArNDUsMTAgQEAgcHVibGljOgogCiAgICAgfkFk
YXB0ZXIoKTsKIAorICAgIHNpemVfdCBlbnVtZXJhdGVGZWF0dXJlcyhXR1BVRmVhdHVyZU5hbWUq
IGZlYXR1cmVzKTsKICAgICBib29sIGdldExpbWl0cyhXR1BVU3VwcG9ydGVkTGltaXRzKik7CiAg
ICAgdm9pZCBnZXRQcm9wZXJ0aWVzKFdHUFVBZGFwdGVyUHJvcGVydGllcyopOwogICAgIGJvb2wg
aGFzRmVhdHVyZShXR1BVRmVhdHVyZU5hbWUpOwotICAgIFdHUFVGZWF0dXJlTmFtZSBnZXRGZWF0
dXJlQXRJbmRleChzaXplX3QpOwogICAgIHZvaWQgcmVxdWVzdERldmljZShjb25zdCBXR1BVRGV2
aWNlRGVzY3JpcHRvciosIFdURjo6RnVuY3Rpb248dm9pZChXR1BVUmVxdWVzdERldmljZVN0YXR1
cywgUmVmPERldmljZT4mJiwgY29uc3QgY2hhciopPiYmIGNhbGxiYWNrKTsKIAogcHJpdmF0ZToK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0FkYXB0ZXIubW0gYi9Tb3VyY2UvV2Vi
R1BVL1dlYkdQVS9BZGFwdGVyLm1tCmluZGV4IGVlMWJiMjhlMjdlMGRjM2I3NThlNmQ5ZTc2YzY3
M2VlNWMzMTVhNDQuLmUyOTQzY2M0YjU0N2E4ZTNiNjE1NjRkYmUwMjhjMWVkOWYxZWY2MTMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0FkYXB0ZXIubW0KKysrIGIvU291cmNlL1dl
YkdQVS9XZWJHUFUvQWRhcHRlci5tbQpAQCAtMzYsNiArMzYsMTIgQEAgQWRhcHRlcjo6QWRhcHRl
cigpID0gZGVmYXVsdDsKIAogQWRhcHRlcjo6fkFkYXB0ZXIoKSA9IGRlZmF1bHQ7CiAKK3NpemVf
dCBBZGFwdGVyOjplbnVtZXJhdGVGZWF0dXJlcyhXR1BVRmVhdHVyZU5hbWUqIGZlYXR1cmVzKQor
eworICAgIFVOVVNFRF9QQVJBTShmZWF0dXJlcyk7CisgICAgcmV0dXJuIDA7Cit9CisKIGJvb2wg
QWRhcHRlcjo6Z2V0TGltaXRzKFdHUFVTdXBwb3J0ZWRMaW1pdHMqIGxpbWl0cykKIHsKICAgICBV
TlVTRURfUEFSQU0obGltaXRzKTsKQEAgLTUzLDEyICs1OSw2IEBAIGJvb2wgQWRhcHRlcjo6aGFz
RmVhdHVyZShXR1BVRmVhdHVyZU5hbWUgZmVhdHVyZSkKICAgICByZXR1cm4gZmFsc2U7CiB9CiAK
LVdHUFVGZWF0dXJlTmFtZSBBZGFwdGVyOjpnZXRGZWF0dXJlQXRJbmRleChzaXplX3QgaW5kZXgp
Ci17Ci0gICAgVU5VU0VEX1BBUkFNKGluZGV4KTsKLSAgICByZXR1cm4gV0dQVUZlYXR1cmVOYW1l
X1VuZGVmaW5lZDsKLX0KLQogdm9pZCBBZGFwdGVyOjpyZXF1ZXN0RGV2aWNlKGNvbnN0IFdHUFVE
ZXZpY2VEZXNjcmlwdG9yKiBkZXNjcmlwdG9yLCBXVEY6OkZ1bmN0aW9uPHZvaWQoV0dQVVJlcXVl
c3REZXZpY2VTdGF0dXMsIFJlZjxEZXZpY2U+JiYsIGNvbnN0IGNoYXIqKT4mJiBjYWxsYmFjaykK
IHsKICAgICBVTlVTRURfUEFSQU0oZGVzY3JpcHRvcik7CkBAIC03Miw2ICs3MiwxMSBAQCB2b2lk
IHdncHVBZGFwdGVyUmVsZWFzZShXR1BVQWRhcHRlciBhZGFwdGVyKQogICAgIGRlbGV0ZSBhZGFw
dGVyOwogfQogCitzaXplX3Qgd2dwdUFkYXB0ZXJFbnVtZXJhdGVGZWF0dXJlcyhXR1BVQWRhcHRl
ciBhZGFwdGVyLCBXR1BVRmVhdHVyZU5hbWUqIGZlYXR1cmVzKQoreworICAgIHJldHVybiBhZGFw
dGVyLT5hZGFwdGVyLT5lbnVtZXJhdGVGZWF0dXJlcyhmZWF0dXJlcyk7Cit9CisKIGJvb2wgd2dw
dUFkYXB0ZXJHZXRMaW1pdHMoV0dQVUFkYXB0ZXIgYWRhcHRlciwgV0dQVVN1cHBvcnRlZExpbWl0
cyogbGltaXRzKQogewogICAgIHJldHVybiBhZGFwdGVyLT5hZGFwdGVyLT5nZXRMaW1pdHMobGlt
aXRzKTsKQEAgLTg3LDExICs5Miw2IEBAIGJvb2wgd2dwdUFkYXB0ZXJIYXNGZWF0dXJlKFdHUFVB
ZGFwdGVyIGFkYXB0ZXIsIFdHUFVGZWF0dXJlTmFtZSBmZWF0dXJlKQogICAgIHJldHVybiBhZGFw
dGVyLT5hZGFwdGVyLT5oYXNGZWF0dXJlKGZlYXR1cmUpOwogfQogCi1XR1BVRmVhdHVyZU5hbWUg
d2dwdUFkYXB0ZXJHZXRGZWF0dXJlQXRJbmRleChXR1BVQWRhcHRlciBhZGFwdGVyLCBzaXplX3Qg
aW5kZXgpCi17Ci0gICAgcmV0dXJuIGFkYXB0ZXItPmFkYXB0ZXItPmdldEZlYXR1cmVBdEluZGV4
KGluZGV4KTsKLX0KLQogdm9pZCB3Z3B1QWRhcHRlclJlcXVlc3REZXZpY2UoV0dQVUFkYXB0ZXIg
YWRhcHRlciwgY29uc3QgV0dQVURldmljZURlc2NyaXB0b3IqIGRlc2NyaXB0b3IsIFdHUFVSZXF1
ZXN0RGV2aWNlQ2FsbGJhY2sgY2FsbGJhY2ssIHZvaWQqIHVzZXJkYXRhKQogewogICAgIGFkYXB0
ZXItPmFkYXB0ZXItPnJlcXVlc3REZXZpY2UoZGVzY3JpcHRvciwgW2NhbGxiYWNrLCB1c2VyZGF0
YV0gKFdHUFVSZXF1ZXN0RGV2aWNlU3RhdHVzIHN0YXR1cywgUmVmPFdlYkdQVTo6RGV2aWNlPiYm
IGRldmljZSwgY29uc3QgY2hhciogbWVzc2FnZSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkdQ
VS9XZWJHUFUvQ29tbWFuZEVuY29kZXIuaCBiL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0NvbW1hbmRF
bmNvZGVyLmgKaW5kZXggNTljYjQzMTJkMzViYTk0MzM4YjhjZTRiZjdkMDRlNTM5ZjI5OWY3Ny4u
MmY2MGYxYzhhNzUyY2RlN2YwODI0NGViY2RjODkxMzNkNzFhNzRjMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkdQVS9XZWJHUFUvQ29tbWFuZEVuY29kZXIuaAorKysgYi9Tb3VyY2UvV2ViR1BVL1dl
YkdQVS9Db21tYW5kRW5jb2Rlci5oCkBAIC01NCw3ICs1NCw3IEBAIHB1YmxpYzoKICAgICB2b2lk
IGNvcHlCdWZmZXJUb1RleHR1cmUoY29uc3QgV0dQVUltYWdlQ29weUJ1ZmZlciogc291cmNlLCBj
b25zdCBXR1BVSW1hZ2VDb3B5VGV4dHVyZSogZGVzdGluYXRpb24sIGNvbnN0IFdHUFVFeHRlbnQz
RCogY29weVNpemUpOwogICAgIHZvaWQgY29weVRleHR1cmVUb0J1ZmZlcihjb25zdCBXR1BVSW1h
Z2VDb3B5VGV4dHVyZSogc291cmNlLCBjb25zdCBXR1BVSW1hZ2VDb3B5QnVmZmVyKiBkZXN0aW5h
dGlvbiwgY29uc3QgV0dQVUV4dGVudDNEKiBjb3B5U2l6ZSk7CiAgICAgdm9pZCBjb3B5VGV4dHVy
ZVRvVGV4dHVyZShjb25zdCBXR1BVSW1hZ2VDb3B5VGV4dHVyZSogc291cmNlLCBjb25zdCBXR1BV
SW1hZ2VDb3B5VGV4dHVyZSogZGVzdGluYXRpb24sIGNvbnN0IFdHUFVFeHRlbnQzRCogY29weVNp
emUpOwotICAgIHZvaWQgZmlsbEJ1ZmZlcihjb25zdCBCdWZmZXImIGRlc3RpbmF0aW9uLCB1aW50
NjRfdCBkZXN0aW5hdGlvbk9mZnNldCwgdWludDY0X3Qgc2l6ZSk7CisgICAgdm9pZCBjbGVhckJ1
ZmZlcihjb25zdCBCdWZmZXImLCB1aW50NjRfdCBvZmZzZXQsIHVpbnQ2NF90IHNpemUpOwogICAg
IFJlZjxDb21tYW5kQnVmZmVyPiBmaW5pc2goY29uc3QgV0dQVUNvbW1hbmRCdWZmZXJEZXNjcmlw
dG9yKik7CiAgICAgdm9pZCBpbnNlcnREZWJ1Z01hcmtlcihjb25zdCBjaGFyKiBtYXJrZXJMYWJl
bCk7CiAgICAgdm9pZCBwb3BEZWJ1Z0dyb3VwKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViR1BV
L1dlYkdQVS9Db21tYW5kRW5jb2Rlci5tbSBiL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0NvbW1hbmRF
bmNvZGVyLm1tCmluZGV4IDhkMzhlMTc5YTQ0Mzk3YmZmODM2MGVmNDE0YzhmNzJmMDE1YmRhZmYu
LmRkNWNjM2IzMzBhMDI2MjA5NmY1NDE4MzRmNmNjNmY3ZTJiNGI0YjcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJHUFUvV2ViR1BVL0NvbW1hbmRFbmNvZGVyLm1tCisrKyBiL1NvdXJjZS9XZWJHUFUv
V2ViR1BVL0NvbW1hbmRFbmNvZGVyLm1tCkBAIC04MSwxMCArODEsMTAgQEAgdm9pZCBDb21tYW5k
RW5jb2Rlcjo6Y29weVRleHR1cmVUb1RleHR1cmUoY29uc3QgV0dQVUltYWdlQ29weVRleHR1cmUq
IHNvdXJjZSwgY28KICAgICBVTlVTRURfUEFSQU0oY29weVNpemUpOwogfQogCi12b2lkIENvbW1h
bmRFbmNvZGVyOjpmaWxsQnVmZmVyKGNvbnN0IEJ1ZmZlciYgZGVzdGluYXRpb24sIHVpbnQ2NF90
IGRlc3RpbmF0aW9uT2Zmc2V0LCB1aW50NjRfdCBzaXplKQordm9pZCBDb21tYW5kRW5jb2Rlcjo6
Y2xlYXJCdWZmZXIoY29uc3QgQnVmZmVyJiBidWZmZXIsIHVpbnQ2NF90IG9mZnNldCwgdWludDY0
X3Qgc2l6ZSkKIHsKLSAgICBVTlVTRURfUEFSQU0oZGVzdGluYXRpb24pOwotICAgIFVOVVNFRF9Q
QVJBTShkZXN0aW5hdGlvbk9mZnNldCk7CisgICAgVU5VU0VEX1BBUkFNKGJ1ZmZlcik7CisgICAg
VU5VU0VEX1BBUkFNKG9mZnNldCk7CiAgICAgVU5VU0VEX1BBUkFNKHNpemUpOwogfQogCkBAIC0x
NjUsOSArMTY1LDkgQEAgdm9pZCB3Z3B1Q29tbWFuZEVuY29kZXJDb3B5VGV4dHVyZVRvVGV4dHVy
ZShXR1BVQ29tbWFuZEVuY29kZXIgY29tbWFuZEVuY29kZXIsIGMKICAgICBjb21tYW5kRW5jb2Rl
ci0+Y29tbWFuZEVuY29kZXItPmNvcHlUZXh0dXJlVG9UZXh0dXJlKHNvdXJjZSwgZGVzdGluYXRp
b24sIGNvcHlTaXplKTsKIH0KIAotdm9pZCB3Z3B1Q29tbWFuZEVuY29kZXJGaWxsQnVmZmVyKFdH
UFVDb21tYW5kRW5jb2RlciBjb21tYW5kRW5jb2RlciwgV0dQVUJ1ZmZlciBkZXN0aW5hdGlvbiwg
dWludDY0X3QgZGVzdGluYXRpb25PZmZzZXQsIHVpbnQ2NF90IHNpemUpCit2b2lkIHdncHVDb21t
YW5kRW5jb2RlckNsZWFyQnVmZmVyKFdHUFVDb21tYW5kRW5jb2RlciBjb21tYW5kRW5jb2Rlciwg
V0dQVUJ1ZmZlciBidWZmZXIsIHVpbnQ2NF90IG9mZnNldCwgdWludDY0X3Qgc2l6ZSkKIHsKLSAg
ICBjb21tYW5kRW5jb2Rlci0+Y29tbWFuZEVuY29kZXItPmZpbGxCdWZmZXIoZGVzdGluYXRpb24t
PmJ1ZmZlciwgZGVzdGluYXRpb25PZmZzZXQsIHNpemUpOworICAgIGNvbW1hbmRFbmNvZGVyLT5j
b21tYW5kRW5jb2Rlci0+Y2xlYXJCdWZmZXIoYnVmZmVyLT5idWZmZXIsIG9mZnNldCwgc2l6ZSk7
CiB9CiAKIFdHUFVDb21tYW5kQnVmZmVyIHdncHVDb21tYW5kRW5jb2RlckZpbmlzaChXR1BVQ29t
bWFuZEVuY29kZXIgY29tbWFuZEVuY29kZXIsIGNvbnN0IFdHUFVDb21tYW5kQnVmZmVyRGVzY3Jp
cHRvciogZGVzY3JpcHRvcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0NvbXB1
dGVQYXNzRW5jb2Rlci5oIGIvU291cmNlL1dlYkdQVS9XZWJHUFUvQ29tcHV0ZVBhc3NFbmNvZGVy
LmgKaW5kZXggMGM2NGFkOTYxY2I3NjNiYjBiZWQwNjk4Y2MyZmVmZDBiZDliZjgxZi4uZDA2NDMy
YjIwZDJkYjhlMmI4ZTJmYjQyOGRjMDhlZTNjMDA4Mjk4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkdQVS9XZWJHUFUvQ29tcHV0ZVBhc3NFbmNvZGVyLmgKKysrIGIvU291cmNlL1dlYkdQVS9XZWJH
UFUvQ29tcHV0ZVBhc3NFbmNvZGVyLmgKQEAgLTU3LDcgKzU3LDYgQEAgcHVibGljOgogICAgIHZv
aWQgcHVzaERlYnVnR3JvdXAoY29uc3QgY2hhciogZ3JvdXBMYWJlbCk7CiAgICAgdm9pZCBzZXRC
aW5kR3JvdXAodWludDMyX3QgZ3JvdXBJbmRleCwgY29uc3QgQmluZEdyb3VwJiwgdWludDMyX3Qg
ZHluYW1pY09mZnNldENvdW50LCBjb25zdCB1aW50MzJfdCogZHluYW1pY09mZnNldHMpOwogICAg
IHZvaWQgc2V0UGlwZWxpbmUoY29uc3QgQ29tcHV0ZVBpcGVsaW5lJik7Ci0gICAgdm9pZCB3cml0
ZVRpbWVzdGFtcChjb25zdCBRdWVyeVNldCYsIHVpbnQzMl90IHF1ZXJ5SW5kZXgpOwogICAgIHZv
aWQgc2V0TGFiZWwoY29uc3QgY2hhciopOwogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkdQVS9XZWJHUFUvQ29tcHV0ZVBhc3NFbmNvZGVyLm1tIGIvU291cmNlL1dlYkdQVS9XZWJH
UFUvQ29tcHV0ZVBhc3NFbmNvZGVyLm1tCmluZGV4IGMxMWQ1NGVkMzQ0MTU2ZTNmNTVjZWVhMzFh
NzczMzg4MDIzMGVlMGMuLjg5YmEwNGQ1M2U5YTQwN2VlYzhhNzY2NjIyZmVhNWU1OWU3YTU5MTYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0NvbXB1dGVQYXNzRW5jb2Rlci5tbQor
KysgYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9Db21wdXRlUGFzc0VuY29kZXIubW0KQEAgLTkyLDEy
ICs5Miw2IEBAIHZvaWQgQ29tcHV0ZVBhc3NFbmNvZGVyOjpzZXRQaXBlbGluZShjb25zdCBDb21w
dXRlUGlwZWxpbmUmIHBpcGVsaW5lKQogICAgIFVOVVNFRF9QQVJBTShwaXBlbGluZSk7CiB9CiAK
LXZvaWQgQ29tcHV0ZVBhc3NFbmNvZGVyOjp3cml0ZVRpbWVzdGFtcChjb25zdCBRdWVyeVNldCYg
cXVlcnlTZXQsIHVpbnQzMl90IHF1ZXJ5SW5kZXgpCi17Ci0gICAgVU5VU0VEX1BBUkFNKHF1ZXJ5
U2V0KTsKLSAgICBVTlVTRURfUEFSQU0ocXVlcnlJbmRleCk7Ci19Ci0KIHZvaWQgQ29tcHV0ZVBh
c3NFbmNvZGVyOjpzZXRMYWJlbChjb25zdCBjaGFyKiBsYWJlbCkKIHsKICAgICBVTlVTRURfUEFS
QU0obGFiZWwpOwpAQCAtMTYwLDExICsxNTQsNiBAQCB2b2lkIHdncHVDb21wdXRlUGFzc0VuY29k
ZXJTZXRQaXBlbGluZShXR1BVQ29tcHV0ZVBhc3NFbmNvZGVyIGNvbXB1dGVQYXNzRW5jb2Rlcgog
ICAgIGNvbXB1dGVQYXNzRW5jb2Rlci0+Y29tcHV0ZVBhc3NFbmNvZGVyLT5zZXRQaXBlbGluZShw
aXBlbGluZS0+Y29tcHV0ZVBpcGVsaW5lKTsKIH0KIAotdm9pZCB3Z3B1Q29tcHV0ZVBhc3NFbmNv
ZGVyV3JpdGVUaW1lc3RhbXAoV0dQVUNvbXB1dGVQYXNzRW5jb2RlciBjb21wdXRlUGFzc0VuY29k
ZXIsIFdHUFVRdWVyeVNldCBxdWVyeVNldCwgdWludDMyX3QgcXVlcnlJbmRleCkKLXsKLSAgICBj
b21wdXRlUGFzc0VuY29kZXItPmNvbXB1dGVQYXNzRW5jb2Rlci0+d3JpdGVUaW1lc3RhbXAocXVl
cnlTZXQtPnF1ZXJ5U2V0LCBxdWVyeUluZGV4KTsKLX0KLQogdm9pZCB3Z3B1Q29tcHV0ZVBhc3NF
bmNvZGVyU2V0TGFiZWwoV0dQVUNvbXB1dGVQYXNzRW5jb2RlciBjb21wdXRlUGFzc0VuY29kZXIs
IGNvbnN0IGNoYXIqIGxhYmVsKQogewogICAgIGNvbXB1dGVQYXNzRW5jb2Rlci0+Y29tcHV0ZVBh
c3NFbmNvZGVyLT5zZXRMYWJlbChsYWJlbCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViR1BVL1dl
YkdQVS9EZXZpY2UuaCBiL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0RldmljZS5oCmluZGV4IDI4ODdh
ZmVhZTViZDc0MjA2ZGMyNjUyMDc2ZDk0OTgwZjI2MjBhOTYuLjUyNWMxM2IxN2Q5NjQ3ZTYyYmNk
MDlhZmM3Y2JhMGYzOTRlNjQ5NmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0Rl
dmljZS5oCisrKyBiL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0RldmljZS5oCkBAIC03NSw4ICs3NSwx
MCBAQCBwdWJsaWM6CiAgICAgUmVmPFN3YXBDaGFpbj4gY3JlYXRlU3dhcENoYWluKGNvbnN0IFN1
cmZhY2UmLCBjb25zdCBXR1BVU3dhcENoYWluRGVzY3JpcHRvciopOwogICAgIFJlZjxUZXh0dXJl
PiBjcmVhdGVUZXh0dXJlKGNvbnN0IFdHUFVUZXh0dXJlRGVzY3JpcHRvciopOwogICAgIHZvaWQg
ZGVzdHJveSgpOworICAgIHNpemVfdCBlbnVtZXJhdGVGZWF0dXJlcyhXR1BVRmVhdHVyZU5hbWUq
IGZlYXR1cmVzKTsKICAgICBib29sIGdldExpbWl0cyhXR1BVU3VwcG9ydGVkTGltaXRzKik7CiAg
ICAgUmVmPFF1ZXVlPiBnZXRRdWV1ZSgpOworICAgIGJvb2wgaGFzRmVhdHVyZShXR1BVRmVhdHVy
ZU5hbWUpOwogICAgIGJvb2wgcG9wRXJyb3JTY29wZShXVEY6OkZ1bmN0aW9uPHZvaWQoV0dQVUVy
cm9yVHlwZSwgY29uc3QgY2hhciopPiYmIGNhbGxiYWNrKTsKICAgICB2b2lkIHB1c2hFcnJvclNj
b3BlKFdHUFVFcnJvckZpbHRlcik7CiAgICAgdm9pZCBzZXREZXZpY2VMb3N0Q2FsbGJhY2soV1RG
OjpGdW5jdGlvbjx2b2lkKFdHUFVEZXZpY2VMb3N0UmVhc29uLCBjb25zdCBjaGFyKik+JiYpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkdQVS9XZWJHUFUvRGV2aWNlLm1tIGIvU291cmNlL1dlYkdQ
VS9XZWJHUFUvRGV2aWNlLm1tCmluZGV4IGYxYTg1NGZkYjJhOTU2NDI0OWY1YjBkZDUzNWVjYTQ4
ZTUxZmE1ODQuLjE0ZjU1Y2Q0MGIxYmM3YWMzZThlNzJlYTU5MGQwNzFhMzJmZGU3OGIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0RldmljZS5tbQorKysgYi9Tb3VyY2UvV2ViR1BV
L1dlYkdQVS9EZXZpY2UubW0KQEAgLTE0NSw2ICsxNDUsMTIgQEAgdm9pZCBEZXZpY2U6OmRlc3Ry
b3koKQogewogfQogCitzaXplX3QgRGV2aWNlOjplbnVtZXJhdGVGZWF0dXJlcyhXR1BVRmVhdHVy
ZU5hbWUqIGZlYXR1cmVzKQoreworICAgIFVOVVNFRF9QQVJBTShmZWF0dXJlcyk7CisgICAgcmV0
dXJuIDA7Cit9CisKIGJvb2wgRGV2aWNlOjpnZXRMaW1pdHMoV0dQVVN1cHBvcnRlZExpbWl0cyog
bGltaXRzKQogewogICAgIFVOVVNFRF9QQVJBTShsaW1pdHMpOwpAQCAtMTU2LDYgKzE2MiwxMiBA
QCBSZWY8UXVldWU+IERldmljZTo6Z2V0UXVldWUoKQogICAgIHJldHVybiBRdWV1ZTo6Y3JlYXRl
KCk7CiB9CiAKK2Jvb2wgRGV2aWNlOjpoYXNGZWF0dXJlKFdHUFVGZWF0dXJlTmFtZSBmZWF0dXJl
KQoreworICAgIFVOVVNFRF9QQVJBTShmZWF0dXJlKTsKKyAgICByZXR1cm4gZmFsc2U7Cit9CisK
IGJvb2wgRGV2aWNlOjpwb3BFcnJvclNjb3BlKFdURjo6RnVuY3Rpb248dm9pZChXR1BVRXJyb3JU
eXBlLCBjb25zdCBjaGFyKik+JiYgY2FsbGJhY2spCiB7CiAgICAgVU5VU0VEX1BBUkFNKGNhbGxi
YWNrKTsKQEAgLTI3Myw2ICsyODUsMTEgQEAgdm9pZCB3Z3B1RGV2aWNlRGVzdHJveShXR1BVRGV2
aWNlIGRldmljZSkKICAgICBkZXZpY2UtPmRldmljZS0+ZGVzdHJveSgpOwogfQogCitzaXplX3Qg
d2dwdURldmljZUVudW1lcmF0ZUZlYXR1cmVzKFdHUFVEZXZpY2UgZGV2aWNlLCBXR1BVRmVhdHVy
ZU5hbWUqIGZlYXR1cmVzKQoreworICAgIHJldHVybiBkZXZpY2UtPmRldmljZS0+ZW51bWVyYXRl
RmVhdHVyZXMoZmVhdHVyZXMpOworfQorCiBib29sIHdncHVEZXZpY2VHZXRMaW1pdHMoV0dQVURl
dmljZSBkZXZpY2UsIFdHUFVTdXBwb3J0ZWRMaW1pdHMqIGxpbWl0cykKIHsKICAgICByZXR1cm4g
ZGV2aWNlLT5kZXZpY2UtPmdldExpbWl0cyhsaW1pdHMpOwpAQCAtMjgzLDYgKzMwMCwxMSBAQCBX
R1BVUXVldWUgd2dwdURldmljZUdldFF1ZXVlKFdHUFVEZXZpY2UgZGV2aWNlKQogICAgIHJldHVy
biBuZXcgV0dQVVF1ZXVlSW1wbCB7IGRldmljZS0+ZGV2aWNlLT5nZXRRdWV1ZSgpIH07CiB9CiAK
K2Jvb2wgd2dwdURldmljZUhhc0ZlYXR1cmUoV0dQVURldmljZSBkZXZpY2UsIFdHUFVGZWF0dXJl
TmFtZSBmZWF0dXJlKQoreworICAgIHJldHVybiBkZXZpY2UtPmRldmljZS0+aGFzRmVhdHVyZShm
ZWF0dXJlKTsKK30KKwogYm9vbCB3Z3B1RGV2aWNlUG9wRXJyb3JTY29wZShXR1BVRGV2aWNlIGRl
dmljZSwgV0dQVUVycm9yQ2FsbGJhY2sgY2FsbGJhY2ssIHZvaWQqIHVzZXJkYXRhKQogewogICAg
IHJldHVybiBkZXZpY2UtPmRldmljZS0+cG9wRXJyb3JTY29wZShbY2FsbGJhY2ssIHVzZXJkYXRh
XSAoV0dQVUVycm9yVHlwZSB0eXBlLCBjb25zdCBjaGFyKiBtZXNzYWdlKSB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9JbnN0YW5jZS5tbSBiL1NvdXJjZS9XZWJHUFUvV2ViR1BV
L0luc3RhbmNlLm1tCmluZGV4IDUwMmJlNDc5YjFjOTY4MDFiYjMxM2I2MDE4MmQzYmUyYzliNWU1
NzUuLjUyY2UyYTdjMGY2MjY1ZjU2MGNlNWI2Nzg5OThlNThiMzI3NGRiNDUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJHUFUvV2ViR1BVL0luc3RhbmNlLm1tCisrKyBiL1NvdXJjZS9XZWJHUFUvV2Vi
R1BVL0luc3RhbmNlLm1tCkBAIC03MiwyNiArNzIsMTcgQEAgV0dQVVByb2Mgd2dwdUdldFByb2NB
ZGRyZXNzKFdHUFVEZXZpY2UgZGV2aWNlLCBjb25zdCBjaGFyKiBwcm9jTmFtZSkKIHsKICAgICBV
TlVTRURfUEFSQU0oZGV2aWNlKTsKICAgICAvLyBGSVhNRTogVXNlIGdwZXJmIHRvIG1ha2UgdGhp
cyBmYXN0ZXIuCi0gICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1QWRhcHRlckdldEZlYXR1
cmVBdEluZGV4IikpCi0gICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigm
d2dwdUFkYXB0ZXJHZXRGZWF0dXJlQXRJbmRleCk7CisgICAgLy8gRklYTUU6IEdlbmVyYXRlIHRo
aXMgYXQgYnVpbGQgdGltZQorICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdUFkYXB0ZXJF
bnVtZXJhdGVGZWF0dXJlcyIpKQorICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BV
UHJvYz4oJndncHVBZGFwdGVyRW51bWVyYXRlRmVhdHVyZXMpOwogICAgIGlmICghc3RyY21wKHBy
b2NOYW1lLCAid2dwdUFkYXB0ZXJHZXRMaW1pdHMiKSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJw
cmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1QWRhcHRlckdldExpbWl0cyk7CiAgICAgaWYgKCFzdHJj
bXAocHJvY05hbWUsICJ3Z3B1QWRhcHRlckdldFByb3BlcnRpZXMiKSkKICAgICAgICAgcmV0dXJu
IHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1QWRhcHRlckdldFByb3BlcnRpZXMpOwog
ICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdUFkYXB0ZXJIYXNGZWF0dXJlIikpCiAgICAg
ICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdUFkYXB0ZXJIYXNGZWF0
dXJlKTsKLSAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVBZGFwdGVyUmVsZWFzZSIpKQot
ICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVBZGFwdGVyUmVs
ZWFzZSk7CiAgICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1QWRhcHRlclJlcXVlc3REZXZp
Y2UiKSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1QWRh
cHRlclJlcXVlc3REZXZpY2UpOwotICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdUJpbmRH
cm91cExheW91dFJlbGVhc2UiKSkKLSAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQ
VVByb2M+KCZ3Z3B1QmluZEdyb3VwTGF5b3V0UmVsZWFzZSk7Ci0gICAgaWYgKCFzdHJjbXAocHJv
Y05hbWUsICJ3Z3B1QmluZEdyb3VwTGF5b3V0U2V0TGFiZWwiKSkKLSAgICAgICAgcmV0dXJuIHJl
aW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1QmluZEdyb3VwTGF5b3V0U2V0TGFiZWwpOwot
ICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdUJpbmRHcm91cFJlbGVhc2UiKSkKLSAgICAg
ICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1QmluZEdyb3VwUmVsZWFz
ZSk7Ci0gICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1QmluZEdyb3VwU2V0TGFiZWwiKSkK
LSAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1QmluZEdyb3Vw
U2V0TGFiZWwpOwogICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdUJ1ZmZlckRlc3Ryb3ki
KSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1QnVmZmVy
RGVzdHJveSk7CiAgICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1QnVmZmVyR2V0Q29uc3RN
YXBwZWRSYW5nZSIpKQpAQCAtMTAwLDIwICs5MSwxNCBAQCBXR1BVUHJvYyB3Z3B1R2V0UHJvY0Fk
ZHJlc3MoV0dQVURldmljZSBkZXZpY2UsIGNvbnN0IGNoYXIqIHByb2NOYW1lKQogICAgICAgICBy
ZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVCdWZmZXJHZXRNYXBwZWRSYW5n
ZSk7CiAgICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1QnVmZmVyTWFwQXN5bmMiKSkKICAg
ICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1QnVmZmVyTWFwQXN5
bmMpOwotICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdUJ1ZmZlclJlbGVhc2UiKSkKLSAg
ICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1QnVmZmVyUmVsZWFz
ZSk7Ci0gICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1QnVmZmVyU2V0TGFiZWwiKSkKLSAg
ICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1QnVmZmVyU2V0TGFi
ZWwpOwogICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdUJ1ZmZlclVubWFwIikpCiAgICAg
ICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdUJ1ZmZlclVubWFwKTsK
LSAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVDb21tYW5kQnVmZmVyUmVsZWFzZSIpKQot
ICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVDb21tYW5kQnVm
ZmVyUmVsZWFzZSk7Ci0gICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1Q29tbWFuZEJ1ZmZl
clNldExhYmVsIikpCi0gICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigm
d2dwdUNvbW1hbmRCdWZmZXJTZXRMYWJlbCk7CiAgICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3
Z3B1Q29tbWFuZEVuY29kZXJCZWdpbkNvbXB1dGVQYXNzIikpCiAgICAgICAgIHJldHVybiByZWlu
dGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdUNvbW1hbmRFbmNvZGVyQmVnaW5Db21wdXRlUGFz
cyk7CiAgICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1Q29tbWFuZEVuY29kZXJCZWdpblJl
bmRlclBhc3MiKSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3
Z3B1Q29tbWFuZEVuY29kZXJCZWdpblJlbmRlclBhc3MpOworICAgIGlmICghc3RyY21wKHByb2NO
YW1lLCAid2dwdUNvbW1hbmRFbmNvZGVyQ2xlYXJCdWZmZXIiKSkKKyAgICAgICAgcmV0dXJuIHJl
aW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1Q29tbWFuZEVuY29kZXJDbGVhckJ1ZmZlcik7
CiAgICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1Q29tbWFuZEVuY29kZXJDb3B5QnVmZmVy
VG9CdWZmZXIiKSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3
Z3B1Q29tbWFuZEVuY29kZXJDb3B5QnVmZmVyVG9CdWZmZXIpOwogICAgIGlmICghc3RyY21wKHBy
b2NOYW1lLCAid2dwdUNvbW1hbmRFbmNvZGVyQ29weUJ1ZmZlclRvVGV4dHVyZSIpKQpAQCAtMTIy
LDggKzEwNyw2IEBAIFdHUFVQcm9jIHdncHVHZXRQcm9jQWRkcmVzcyhXR1BVRGV2aWNlIGRldmlj
ZSwgY29uc3QgY2hhciogcHJvY05hbWUpCiAgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0
PFdHUFVQcm9jPigmd2dwdUNvbW1hbmRFbmNvZGVyQ29weVRleHR1cmVUb0J1ZmZlcik7CiAgICAg
aWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1Q29tbWFuZEVuY29kZXJDb3B5VGV4dHVyZVRvVGV4
dHVyZSIpKQogICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVD
b21tYW5kRW5jb2RlckNvcHlUZXh0dXJlVG9UZXh0dXJlKTsKLSAgICBpZiAoIXN0cmNtcChwcm9j
TmFtZSwgIndncHVDb21tYW5kRW5jb2RlckZpbGxCdWZmZXIiKSkKLSAgICAgICAgcmV0dXJuIHJl
aW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1Q29tbWFuZEVuY29kZXJGaWxsQnVmZmVyKTsK
ICAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVDb21tYW5kRW5jb2RlckZpbmlzaCIpKQog
ICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVDb21tYW5kRW5j
b2RlckZpbmlzaCk7CiAgICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1Q29tbWFuZEVuY29k
ZXJJbnNlcnREZWJ1Z01hcmtlciIpKQpAQCAtMTMyLDEyICsxMTUsOCBAQCBXR1BVUHJvYyB3Z3B1
R2V0UHJvY0FkZHJlc3MoV0dQVURldmljZSBkZXZpY2UsIGNvbnN0IGNoYXIqIHByb2NOYW1lKQog
ICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVDb21tYW5kRW5j
b2RlclBvcERlYnVnR3JvdXApOwogICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdUNvbW1h
bmRFbmNvZGVyUHVzaERlYnVnR3JvdXAiKSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nh
c3Q8V0dQVVByb2M+KCZ3Z3B1Q29tbWFuZEVuY29kZXJQdXNoRGVidWdHcm91cCk7Ci0gICAgaWYg
KCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1Q29tbWFuZEVuY29kZXJSZWxlYXNlIikpCi0gICAgICAg
IHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdUNvbW1hbmRFbmNvZGVyUmVs
ZWFzZSk7CiAgICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1Q29tbWFuZEVuY29kZXJSZXNv
bHZlUXVlcnlTZXQiKSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+
KCZ3Z3B1Q29tbWFuZEVuY29kZXJSZXNvbHZlUXVlcnlTZXQpOwotICAgIGlmICghc3RyY21wKHBy
b2NOYW1lLCAid2dwdUNvbW1hbmRFbmNvZGVyU2V0TGFiZWwiKSkKLSAgICAgICAgcmV0dXJuIHJl
aW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1Q29tbWFuZEVuY29kZXJTZXRMYWJlbCk7CiAg
ICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1Q29tbWFuZEVuY29kZXJXcml0ZVRpbWVzdGFt
cCIpKQogICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVDb21t
YW5kRW5jb2RlcldyaXRlVGltZXN0YW1wKTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndn
cHVDb21wdXRlUGFzc0VuY29kZXJCZWdpblBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5IikpCkBAIC0x
NTYsMjAgKzEzNSwxMiBAQCBXR1BVUHJvYyB3Z3B1R2V0UHJvY0FkZHJlc3MoV0dQVURldmljZSBk
ZXZpY2UsIGNvbnN0IGNoYXIqIHByb2NOYW1lKQogICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRf
Y2FzdDxXR1BVUHJvYz4oJndncHVDb21wdXRlUGFzc0VuY29kZXJQb3BEZWJ1Z0dyb3VwKTsKICAg
ICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVDb21wdXRlUGFzc0VuY29kZXJQdXNoRGVidWdH
cm91cCIpKQogICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVD
b21wdXRlUGFzc0VuY29kZXJQdXNoRGVidWdHcm91cCk7Ci0gICAgaWYgKCFzdHJjbXAocHJvY05h
bWUsICJ3Z3B1Q29tcHV0ZVBhc3NFbmNvZGVyUmVsZWFzZSIpKQotICAgICAgICByZXR1cm4gcmVp
bnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVDb21wdXRlUGFzc0VuY29kZXJSZWxlYXNlKTsK
ICAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVDb21wdXRlUGFzc0VuY29kZXJTZXRCaW5k
R3JvdXAiKSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1
Q29tcHV0ZVBhc3NFbmNvZGVyU2V0QmluZEdyb3VwKTsKLSAgICBpZiAoIXN0cmNtcChwcm9jTmFt
ZSwgIndncHVDb21wdXRlUGFzc0VuY29kZXJTZXRMYWJlbCIpKQotICAgICAgICByZXR1cm4gcmVp
bnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVDb21wdXRlUGFzc0VuY29kZXJTZXRMYWJlbCk7
CiAgICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1Q29tcHV0ZVBhc3NFbmNvZGVyU2V0UGlw
ZWxpbmUiKSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1
Q29tcHV0ZVBhc3NFbmNvZGVyU2V0UGlwZWxpbmUpOwotICAgIGlmICghc3RyY21wKHByb2NOYW1l
LCAid2dwdUNvbXB1dGVQYXNzRW5jb2RlcldyaXRlVGltZXN0YW1wIikpCi0gICAgICAgIHJldHVy
biByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdUNvbXB1dGVQYXNzRW5jb2RlcldyaXRl
VGltZXN0YW1wKTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVDb21wdXRlUGlwZWxp
bmVHZXRCaW5kR3JvdXBMYXlvdXQiKSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8
V0dQVVByb2M+KCZ3Z3B1Q29tcHV0ZVBpcGVsaW5lR2V0QmluZEdyb3VwTGF5b3V0KTsKLSAgICBp
ZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVDb21wdXRlUGlwZWxpbmVSZWxlYXNlIikpCi0gICAg
ICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdUNvbXB1dGVQaXBlbGlu
ZVJlbGVhc2UpOwogICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdUNvbXB1dGVQaXBlbGlu
ZVNldExhYmVsIikpCiAgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigm
d2dwdUNvbXB1dGVQaXBlbGluZVNldExhYmVsKTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwg
IndncHVDcmVhdGVJbnN0YW5jZSIpKQpAQCAtMjA2LDIwICsxNzcsMjAgQEAgV0dQVVByb2Mgd2dw
dUdldFByb2NBZGRyZXNzKFdHUFVEZXZpY2UgZGV2aWNlLCBjb25zdCBjaGFyKiBwcm9jTmFtZSkK
ICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1RGV2aWNlQ3Jl
YXRlVGV4dHVyZSk7CiAgICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1RGV2aWNlRGVzdHJv
eSIpKQogICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVEZXZp
Y2VEZXN0cm95KTsKKyAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVEZXZpY2VFbnVtZXJh
dGVGZWF0dXJlcyIpKQorICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4o
JndncHVEZXZpY2VFbnVtZXJhdGVGZWF0dXJlcyk7CiAgICAgaWYgKCFzdHJjbXAocHJvY05hbWUs
ICJ3Z3B1RGV2aWNlR2V0TGltaXRzIikpCiAgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0
PFdHUFVQcm9jPigmd2dwdURldmljZUdldExpbWl0cyk7CiAgICAgaWYgKCFzdHJjbXAocHJvY05h
bWUsICJ3Z3B1RGV2aWNlR2V0UXVldWUiKSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nh
c3Q8V0dQVVByb2M+KCZ3Z3B1RGV2aWNlR2V0UXVldWUpOworICAgIGlmICghc3RyY21wKHByb2NO
YW1lLCAid2dwdURldmljZUhhc0ZlYXR1cmUiKSkKKyAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0
X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1RGV2aWNlSGFzRmVhdHVyZSk7CiAgICAgaWYgKCFzdHJjbXAo
cHJvY05hbWUsICJ3Z3B1RGV2aWNlUG9wRXJyb3JTY29wZSIpKQogICAgICAgICByZXR1cm4gcmVp
bnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVEZXZpY2VQb3BFcnJvclNjb3BlKTsKICAgICBp
ZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVEZXZpY2VQdXNoRXJyb3JTY29wZSIpKQogICAgICAg
ICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVEZXZpY2VQdXNoRXJyb3JT
Y29wZSk7Ci0gICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1RGV2aWNlUmVsZWFzZSIpKQot
ICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVEZXZpY2VSZWxl
YXNlKTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVEZXZpY2VTZXREZXZpY2VMb3N0
Q2FsbGJhY2siKSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3
Z3B1RGV2aWNlU2V0RGV2aWNlTG9zdENhbGxiYWNrKTsKLSAgICBpZiAoIXN0cmNtcChwcm9jTmFt
ZSwgIndncHVEZXZpY2VTZXRMYWJlbCIpKQotICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2Fz
dDxXR1BVUHJvYz4oJndncHVEZXZpY2VTZXRMYWJlbCk7CiAgICAgaWYgKCFzdHJjbXAocHJvY05h
bWUsICJ3Z3B1RGV2aWNlU2V0VW5jYXB0dXJlZEVycm9yQ2FsbGJhY2siKSkKICAgICAgICAgcmV0
dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1RGV2aWNlU2V0VW5jYXB0dXJlZEVy
cm9yQ2FsbGJhY2spOwogICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdUdldFByb2NBZGRy
ZXNzIikpCkBAIC0yMjgsMjYgKzE5OSwxMiBAQCBXR1BVUHJvYyB3Z3B1R2V0UHJvY0FkZHJlc3Mo
V0dQVURldmljZSBkZXZpY2UsIGNvbnN0IGNoYXIqIHByb2NOYW1lKQogICAgICAgICByZXR1cm4g
cmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVJbnN0YW5jZUNyZWF0ZVN1cmZhY2UpOwog
ICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdUluc3RhbmNlUHJvY2Vzc0V2ZW50cyIpKQog
ICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVJbnN0YW5jZVBy
b2Nlc3NFdmVudHMpOwotICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdUluc3RhbmNlUmVs
ZWFzZSIpKQotICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVJ
bnN0YW5jZVJlbGVhc2UpOwogICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdUluc3RhbmNl
UmVxdWVzdEFkYXB0ZXIiKSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVBy
b2M+KCZ3Z3B1SW5zdGFuY2VSZXF1ZXN0QWRhcHRlcik7Ci0gICAgaWYgKCFzdHJjbXAocHJvY05h
bWUsICJ3Z3B1UGlwZWxpbmVMYXlvdXRSZWxlYXNlIikpCi0gICAgICAgIHJldHVybiByZWludGVy
cHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdVBpcGVsaW5lTGF5b3V0UmVsZWFzZSk7Ci0gICAgaWYg
KCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1UGlwZWxpbmVMYXlvdXRTZXRMYWJlbCIpKQotICAgICAg
ICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVQaXBlbGluZUxheW91dFNl
dExhYmVsKTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVRdWVyeVNldERlc3Ryb3ki
KSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1UXVlcnlT
ZXREZXN0cm95KTsKLSAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVRdWVyeVNldFJlbGVh
c2UiKSkKLSAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1UXVl
cnlTZXRSZWxlYXNlKTsKLSAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVRdWVyeVNldFNl
dExhYmVsIikpCi0gICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dw
dVF1ZXJ5U2V0U2V0TGFiZWwpOwogICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdVF1ZXVl
T25TdWJtaXR0ZWRXb3JrRG9uZSIpKQogICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxX
R1BVUHJvYz4oJndncHVRdWV1ZU9uU3VibWl0dGVkV29ya0RvbmUpOwotICAgIGlmICghc3RyY21w
KHByb2NOYW1lLCAid2dwdVF1ZXVlUmVsZWFzZSIpKQotICAgICAgICByZXR1cm4gcmVpbnRlcnBy
ZXRfY2FzdDxXR1BVUHJvYz4oJndncHVRdWV1ZVJlbGVhc2UpOwotICAgIGlmICghc3RyY21wKHBy
b2NOYW1lLCAid2dwdVF1ZXVlU2V0TGFiZWwiKSkKLSAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0
X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1UXVldWVTZXRMYWJlbCk7CiAgICAgaWYgKCFzdHJjbXAocHJv
Y05hbWUsICJ3Z3B1UXVldWVTdWJtaXQiKSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nh
c3Q8V0dQVVByb2M+KCZ3Z3B1UXVldWVTdWJtaXQpOwogICAgIGlmICghc3RyY21wKHByb2NOYW1l
LCAid2dwdVF1ZXVlV3JpdGVCdWZmZXIiKSkKQEAgLTI3MCwyMiArMjI3LDE0IEBAIFdHUFVQcm9j
IHdncHVHZXRQcm9jQWRkcmVzcyhXR1BVRGV2aWNlIGRldmljZSwgY29uc3QgY2hhciogcHJvY05h
bWUpCiAgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdVJlbmRl
ckJ1bmRsZUVuY29kZXJQb3BEZWJ1Z0dyb3VwKTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwg
IndncHVSZW5kZXJCdW5kbGVFbmNvZGVyUHVzaERlYnVnR3JvdXAiKSkKICAgICAgICAgcmV0dXJu
IHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1UmVuZGVyQnVuZGxlRW5jb2RlclB1c2hE
ZWJ1Z0dyb3VwKTsKLSAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVSZW5kZXJCdW5kbGVF
bmNvZGVyUmVsZWFzZSIpKQotICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJv
Yz4oJndncHVSZW5kZXJCdW5kbGVFbmNvZGVyUmVsZWFzZSk7CiAgICAgaWYgKCFzdHJjbXAocHJv
Y05hbWUsICJ3Z3B1UmVuZGVyQnVuZGxlRW5jb2RlclNldEJpbmRHcm91cCIpKQogICAgICAgICBy
ZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVSZW5kZXJCdW5kbGVFbmNvZGVy
U2V0QmluZEdyb3VwKTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVSZW5kZXJCdW5k
bGVFbmNvZGVyU2V0SW5kZXhCdWZmZXIiKSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nh
c3Q8V0dQVVByb2M+KCZ3Z3B1UmVuZGVyQnVuZGxlRW5jb2RlclNldEluZGV4QnVmZmVyKTsKLSAg
ICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVSZW5kZXJCdW5kbGVFbmNvZGVyU2V0TGFiZWwi
KSkKLSAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1UmVuZGVy
QnVuZGxlRW5jb2RlclNldExhYmVsKTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVS
ZW5kZXJCdW5kbGVFbmNvZGVyU2V0UGlwZWxpbmUiKSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJw
cmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1UmVuZGVyQnVuZGxlRW5jb2RlclNldFBpcGVsaW5lKTsK
ICAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVSZW5kZXJCdW5kbGVFbmNvZGVyU2V0VmVy
dGV4QnVmZmVyIikpCiAgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigm
d2dwdVJlbmRlckJ1bmRsZUVuY29kZXJTZXRWZXJ0ZXhCdWZmZXIpOwotICAgIGlmICghc3RyY21w
KHByb2NOYW1lLCAid2dwdVJlbmRlckJ1bmRsZVJlbGVhc2UiKSkKLSAgICAgICAgcmV0dXJuIHJl
aW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1UmVuZGVyQnVuZGxlUmVsZWFzZSk7Ci0gICAg
aWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1UmVuZGVyQnVuZGxlU2V0TGFiZWwiKSkKLSAgICAg
ICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1UmVuZGVyQnVuZGxlU2V0
TGFiZWwpOwogICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdVJlbmRlclBhc3NFbmNvZGVy
QmVnaW5PY2NsdXNpb25RdWVyeSIpKQogICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxX
R1BVUHJvYz4oJndncHVSZW5kZXJQYXNzRW5jb2RlckJlZ2luT2NjbHVzaW9uUXVlcnkpOwogICAg
IGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdVJlbmRlclBhc3NFbmNvZGVyQmVnaW5QaXBlbGlu
ZVN0YXRpc3RpY3NRdWVyeSIpKQpAQCAtMzEyLDE2ICsyNjEsMTIgQEAgV0dQVVByb2Mgd2dwdUdl
dFByb2NBZGRyZXNzKFdHUFVEZXZpY2UgZGV2aWNlLCBjb25zdCBjaGFyKiBwcm9jTmFtZSkKICAg
ICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1UmVuZGVyUGFzc0Vu
Y29kZXJQb3BEZWJ1Z0dyb3VwKTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVSZW5k
ZXJQYXNzRW5jb2RlclB1c2hEZWJ1Z0dyb3VwIikpCiAgICAgICAgIHJldHVybiByZWludGVycHJl
dF9jYXN0PFdHUFVQcm9jPigmd2dwdVJlbmRlclBhc3NFbmNvZGVyUHVzaERlYnVnR3JvdXApOwot
ICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdVJlbmRlclBhc3NFbmNvZGVyUmVsZWFzZSIp
KQotICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVSZW5kZXJQ
YXNzRW5jb2RlclJlbGVhc2UpOwogICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdVJlbmRl
clBhc3NFbmNvZGVyU2V0QmluZEdyb3VwIikpCiAgICAgICAgIHJldHVybiByZWludGVycHJldF9j
YXN0PFdHUFVQcm9jPigmd2dwdVJlbmRlclBhc3NFbmNvZGVyU2V0QmluZEdyb3VwKTsKICAgICBp
ZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVSZW5kZXJQYXNzRW5jb2RlclNldEJsZW5kQ29uc3Rh
bnQiKSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1UmVu
ZGVyUGFzc0VuY29kZXJTZXRCbGVuZENvbnN0YW50KTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFt
ZSwgIndncHVSZW5kZXJQYXNzRW5jb2RlclNldEluZGV4QnVmZmVyIikpCiAgICAgICAgIHJldHVy
biByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdVJlbmRlclBhc3NFbmNvZGVyU2V0SW5k
ZXhCdWZmZXIpOwotICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdVJlbmRlclBhc3NFbmNv
ZGVyU2V0TGFiZWwiKSkKLSAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+
KCZ3Z3B1UmVuZGVyUGFzc0VuY29kZXJTZXRMYWJlbCk7CiAgICAgaWYgKCFzdHJjbXAocHJvY05h
bWUsICJ3Z3B1UmVuZGVyUGFzc0VuY29kZXJTZXRQaXBlbGluZSIpKQogICAgICAgICByZXR1cm4g
cmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVSZW5kZXJQYXNzRW5jb2RlclNldFBpcGVs
aW5lKTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVSZW5kZXJQYXNzRW5jb2RlclNl
dFNjaXNzb3JSZWN0IikpCkBAIC0zMzIsNDQgKzI3NywyNCBAQCBXR1BVUHJvYyB3Z3B1R2V0UHJv
Y0FkZHJlc3MoV0dQVURldmljZSBkZXZpY2UsIGNvbnN0IGNoYXIqIHByb2NOYW1lKQogICAgICAg
ICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVSZW5kZXJQYXNzRW5jb2Rl
clNldFZlcnRleEJ1ZmZlcik7CiAgICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1UmVuZGVy
UGFzc0VuY29kZXJTZXRWaWV3cG9ydCIpKQogICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2Fz
dDxXR1BVUHJvYz4oJndncHVSZW5kZXJQYXNzRW5jb2RlclNldFZpZXdwb3J0KTsKLSAgICBpZiAo
IXN0cmNtcChwcm9jTmFtZSwgIndncHVSZW5kZXJQYXNzRW5jb2RlcldyaXRlVGltZXN0YW1wIikp
Ci0gICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdVJlbmRlclBh
c3NFbmNvZGVyV3JpdGVUaW1lc3RhbXApOwogICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dw
dVJlbmRlclBpcGVsaW5lR2V0QmluZEdyb3VwTGF5b3V0IikpCiAgICAgICAgIHJldHVybiByZWlu
dGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdVJlbmRlclBpcGVsaW5lR2V0QmluZEdyb3VwTGF5
b3V0KTsKLSAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVSZW5kZXJQaXBlbGluZVJlbGVh
c2UiKSkKLSAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1UmVu
ZGVyUGlwZWxpbmVSZWxlYXNlKTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVSZW5k
ZXJQaXBlbGluZVNldExhYmVsIikpCiAgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdH
UFVQcm9jPigmd2dwdVJlbmRlclBpcGVsaW5lU2V0TGFiZWwpOwotICAgIGlmICghc3RyY21wKHBy
b2NOYW1lLCAid2dwdVNhbXBsZXJSZWxlYXNlIikpCi0gICAgICAgIHJldHVybiByZWludGVycHJl
dF9jYXN0PFdHUFVQcm9jPigmd2dwdVNhbXBsZXJSZWxlYXNlKTsKLSAgICBpZiAoIXN0cmNtcChw
cm9jTmFtZSwgIndncHVTYW1wbGVyU2V0TGFiZWwiKSkKLSAgICAgICAgcmV0dXJuIHJlaW50ZXJw
cmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1U2FtcGxlclNldExhYmVsKTsKLSAgICBpZiAoIXN0cmNt
cChwcm9jTmFtZSwgIndncHVTaGFkZXJNb2R1bGVSZWxlYXNlIikpCi0gICAgICAgIHJldHVybiBy
ZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdVNoYWRlck1vZHVsZVJlbGVhc2UpOworICAg
IGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdVNoYWRlck1vZHVsZUdldENvbXBpbGF0aW9uSW5m
byIpKQorICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVTaGFk
ZXJNb2R1bGVHZXRDb21waWxhdGlvbkluZm8pOwogICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAi
d2dwdVNoYWRlck1vZHVsZVNldExhYmVsIikpCiAgICAgICAgIHJldHVybiByZWludGVycHJldF9j
YXN0PFdHUFVQcm9jPigmd2dwdVNoYWRlck1vZHVsZVNldExhYmVsKTsKICAgICBpZiAoIXN0cmNt
cChwcm9jTmFtZSwgIndncHVTdXJmYWNlR2V0UHJlZmVycmVkRm9ybWF0IikpCiAgICAgICAgIHJl
dHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdVN1cmZhY2VHZXRQcmVmZXJyZWRG
b3JtYXQpOwotICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdVN1cmZhY2VSZWxlYXNlIikp
Ci0gICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdVN1cmZhY2VS
ZWxlYXNlKTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVTd2FwQ2hhaW5HZXRDdXJy
ZW50VGV4dHVyZVZpZXciKSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVBy
b2M+KCZ3Z3B1U3dhcENoYWluR2V0Q3VycmVudFRleHR1cmVWaWV3KTsKICAgICBpZiAoIXN0cmNt
cChwcm9jTmFtZSwgIndncHVTd2FwQ2hhaW5QcmVzZW50IikpCiAgICAgICAgIHJldHVybiByZWlu
dGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdVN3YXBDaGFpblByZXNlbnQpOwotICAgIGlmICgh
c3RyY21wKHByb2NOYW1lLCAid2dwdVN3YXBDaGFpblJlbGVhc2UiKSkKLSAgICAgICAgcmV0dXJu
IHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1U3dhcENoYWluUmVsZWFzZSk7CiAgICAg
aWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1VGV4dHVyZUNyZWF0ZVZpZXciKSkKICAgICAgICAg
cmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1VGV4dHVyZUNyZWF0ZVZpZXcp
OwogICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdVRleHR1cmVEZXN0cm95IikpCiAgICAg
ICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdVRleHR1cmVEZXN0cm95
KTsKLSAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVUZXh0dXJlUmVsZWFzZSIpKQotICAg
ICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVUZXh0dXJlUmVsZWFz
ZSk7Ci0gICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1VGV4dHVyZVNldExhYmVsIikpCi0g
ICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdVRleHR1cmVTZXRM
YWJlbCk7Ci0gICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1VGV4dHVyZVZpZXdSZWxlYXNl
IikpCi0gICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdVRleHR1
cmVWaWV3UmVsZWFzZSk7Ci0gICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1VGV4dHVyZVZp
ZXdTZXRMYWJlbCIpKQotICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4o
JndncHVUZXh0dXJlVmlld1NldExhYmVsKTsKICAgICByZXR1cm4gbnVsbHB0cjsKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkdQVS9XZWJHUFUvUmVuZGVyUGFzc0VuY29kZXIuaCBiL1NvdXJj
ZS9XZWJHUFUvV2ViR1BVL1JlbmRlclBhc3NFbmNvZGVyLmgKaW5kZXggNmI1YmNhMzhmMGE1Y2Q4
MWNjYWNlMmYxMWNjYjk1OTY2OWI5YjRmYS4uNWM5NDk1YTA1OTM4ODVjZTk2YTVhZTg0ZGEwMzAy
OWRmZTdiMzc0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkdQVS9XZWJHUFUvUmVuZGVyUGFzc0Vu
Y29kZXIuaAorKysgYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9SZW5kZXJQYXNzRW5jb2Rlci5oCkBA
IC03MSw3ICs3MSw2IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFN0ZW5jaWxSZWZlcmVuY2UodWlu
dDMyX3QpOwogICAgIHZvaWQgc2V0VmVydGV4QnVmZmVyKHVpbnQzMl90IHNsb3QsIGNvbnN0IEJ1
ZmZlciYsIHVpbnQ2NF90IG9mZnNldCwgdWludDY0X3Qgc2l6ZSk7CiAgICAgdm9pZCBzZXRWaWV3
cG9ydChmbG9hdCB4LCBmbG9hdCB5LCBmbG9hdCB3aWR0aCwgZmxvYXQgaGVpZ2h0LCBmbG9hdCBt
aW5EZXB0aCwgZmxvYXQgbWF4RGVwdGgpOwotICAgIHZvaWQgd3JpdGVUaW1lc3RhbXAoY29uc3Qg
UXVlcnlTZXQmLCB1aW50MzJfdCBxdWVyeUluZGV4KTsKICAgICB2b2lkIHNldExhYmVsKGNvbnN0
IGNoYXIqKTsKIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL1Jl
bmRlclBhc3NFbmNvZGVyLm1tIGIvU291cmNlL1dlYkdQVS9XZWJHUFUvUmVuZGVyUGFzc0VuY29k
ZXIubW0KaW5kZXggYjNjMzkzZTcwMTNkOTFkMmVkMWM5ZGU5MjEyYzc0MjhiZWZjZWNjNS4uY2I5
ZGJhMWJkMzVlZmFjNWNmY2NmOWI2ZTQ2NDE5NWE2YTFmZjE4NSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkdQVS9XZWJHUFUvUmVuZGVyUGFzc0VuY29kZXIubW0KKysrIGIvU291cmNlL1dlYkdQVS9X
ZWJHUFUvUmVuZGVyUGFzc0VuY29kZXIubW0KQEAgLTE3MSwxMiArMTcxLDYgQEAgdm9pZCBSZW5k
ZXJQYXNzRW5jb2Rlcjo6c2V0Vmlld3BvcnQoZmxvYXQgeCwgZmxvYXQgeSwgZmxvYXQgd2lkdGgs
IGZsb2F0IGhlaWdodCwKICAgICBVTlVTRURfUEFSQU0obWF4RGVwdGgpOwogfQogCi12b2lkIFJl
bmRlclBhc3NFbmNvZGVyOjp3cml0ZVRpbWVzdGFtcChjb25zdCBRdWVyeVNldCYgcXVlcnlTZXQs
IHVpbnQzMl90IHF1ZXJ5SW5kZXgpCi17Ci0gICAgVU5VU0VEX1BBUkFNKHF1ZXJ5U2V0KTsKLSAg
ICBVTlVTRURfUEFSQU0ocXVlcnlJbmRleCk7Ci19Ci0KIHZvaWQgUmVuZGVyUGFzc0VuY29kZXI6
OnNldExhYmVsKGNvbnN0IGNoYXIqIGxhYmVsKQogewogICAgIFVOVVNFRF9QQVJBTShsYWJlbCk7
CkBAIC0yOTcsMTEgKzI5MSw2IEBAIHZvaWQgd2dwdVJlbmRlclBhc3NFbmNvZGVyU2V0Vmlld3Bv
cnQoV0dQVVJlbmRlclBhc3NFbmNvZGVyIHJlbmRlclBhc3NFbmNvZGVyLCBmCiAgICAgcmVuZGVy
UGFzc0VuY29kZXItPnJlbmRlclBhc3NFbmNvZGVyLT5zZXRWaWV3cG9ydCh4LCB5LCB3aWR0aCwg
aGVpZ2h0LCBtaW5EZXB0aCwgbWF4RGVwdGgpOwogfQogCi12b2lkIHdncHVSZW5kZXJQYXNzRW5j
b2RlcldyaXRlVGltZXN0YW1wKFdHUFVSZW5kZXJQYXNzRW5jb2RlciByZW5kZXJQYXNzRW5jb2Rl
ciwgV0dQVVF1ZXJ5U2V0IHF1ZXJ5U2V0LCB1aW50MzJfdCBxdWVyeUluZGV4KQotewotICAgIHJl
bmRlclBhc3NFbmNvZGVyLT5yZW5kZXJQYXNzRW5jb2Rlci0+d3JpdGVUaW1lc3RhbXAocXVlcnlT
ZXQtPnF1ZXJ5U2V0LCBxdWVyeUluZGV4KTsKLX0KLQogdm9pZCB3Z3B1UmVuZGVyUGFzc0VuY29k
ZXJTZXRMYWJlbChXR1BVUmVuZGVyUGFzc0VuY29kZXIgcmVuZGVyUGFzc0VuY29kZXIsIGNvbnN0
IGNoYXIqIGxhYmVsKQogewogICAgIHJlbmRlclBhc3NFbmNvZGVyLT5yZW5kZXJQYXNzRW5jb2Rl
ci0+c2V0TGFiZWwobGFiZWwpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkdQVS9XZWJHUFUvU2hh
ZGVyTW9kdWxlLmggYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9TaGFkZXJNb2R1bGUuaAppbmRleCBj
Y2Q5NWUwNTMwMzA3NTJhYWY3YjVmNzZhOWVmYjQ0M2VkYzU1ODNjLi5jMmFkM2VlZDE4NzE1NDFi
Mjk1NWVkY2UwYmNmZGQwYzk1NjZmZDY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViR1BVL1dlYkdQ
VS9TaGFkZXJNb2R1bGUuaAorKysgYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9TaGFkZXJNb2R1bGUu
aApAQCAtNDIsNiArNDIsNyBAQCBwdWJsaWM6CiAKICAgICB+U2hhZGVyTW9kdWxlKCk7CiAKKyAg
ICB2b2lkIGdldENvbXBpbGF0aW9uSW5mbyhXVEY6OkZ1bmN0aW9uPHZvaWQoV0dQVUNvbXBpbGF0
aW9uSW5mb1JlcXVlc3RTdGF0dXMsIGNvbnN0IFdHUFVDb21waWxhdGlvbkluZm8qKT4mJiBjYWxs
YmFjayk7CiAgICAgdm9pZCBzZXRMYWJlbChjb25zdCBjaGFyKik7CiAKIHByaXZhdGU6CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9TaGFkZXJNb2R1bGUubW0gYi9Tb3VyY2UvV2Vi
R1BVL1dlYkdQVS9TaGFkZXJNb2R1bGUubW0KaW5kZXggOTU0ZGNmMTQ2YzIzMGYxMjZkMGJjODU2
MmQxYTg2NTNjYTRkMjJjYy4uNmNiM2M5ZTlmMGRhYTRlZTNhM2E3MjI4Njg0MzFkZTE3MjU2OGM4
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkdQVS9XZWJHUFUvU2hhZGVyTW9kdWxlLm1tCisrKyBi
L1NvdXJjZS9XZWJHUFUvV2ViR1BVL1NoYWRlck1vZHVsZS5tbQpAQCAtMzQsNiArMzQsMTEgQEAg
U2hhZGVyTW9kdWxlOjpTaGFkZXJNb2R1bGUoKSA9IGRlZmF1bHQ7CiAKIFNoYWRlck1vZHVsZTo6
flNoYWRlck1vZHVsZSgpID0gZGVmYXVsdDsKIAordm9pZCBTaGFkZXJNb2R1bGU6OmdldENvbXBp
bGF0aW9uSW5mbyhXVEY6OkZ1bmN0aW9uPHZvaWQoV0dQVUNvbXBpbGF0aW9uSW5mb1JlcXVlc3RT
dGF0dXMsIGNvbnN0IFdHUFVDb21waWxhdGlvbkluZm8qKT4mJiBjYWxsYmFjaykKK3sKKyAgICBV
TlVTRURfUEFSQU0oY2FsbGJhY2spOworfQorCiB2b2lkIFNoYWRlck1vZHVsZTo6c2V0TGFiZWwo
Y29uc3QgY2hhciogbGFiZWwpCiB7CiAgICAgVU5VU0VEX1BBUkFNKGxhYmVsKTsKQEAgLTQ2LDYg
KzUxLDEzIEBAIHZvaWQgd2dwdVNoYWRlck1vZHVsZVJlbGVhc2UoV0dQVVNoYWRlck1vZHVsZSBz
aGFkZXJNb2R1bGUpCiAgICAgZGVsZXRlIHNoYWRlck1vZHVsZTsKIH0KIAordm9pZCB3Z3B1U2hh
ZGVyTW9kdWxlR2V0Q29tcGlsYXRpb25JbmZvKFdHUFVTaGFkZXJNb2R1bGUgc2hhZGVyTW9kdWxl
LCBXR1BVQ29tcGlsYXRpb25JbmZvQ2FsbGJhY2sgY2FsbGJhY2ssIHZvaWQgKiB1c2VyZGF0YSkK
K3sKKyAgICBzaGFkZXJNb2R1bGUtPnNoYWRlck1vZHVsZS0+Z2V0Q29tcGlsYXRpb25JbmZvKFtj
YWxsYmFjaywgdXNlcmRhdGFdIChXR1BVQ29tcGlsYXRpb25JbmZvUmVxdWVzdFN0YXR1cyBzdGF0
dXMsIGNvbnN0IFdHUFVDb21waWxhdGlvbkluZm8qIGNvbXBpbGF0aW9uSW5mbykgeworICAgICAg
ICBjYWxsYmFjayhzdGF0dXMsIGNvbXBpbGF0aW9uSW5mbywgdXNlcmRhdGEpOworICAgIH0pOwor
fQorCiB2b2lkIHdncHVTaGFkZXJNb2R1bGVTZXRMYWJlbChXR1BVU2hhZGVyTW9kdWxlIHNoYWRl
ck1vZHVsZSwgY29uc3QgY2hhciogbGFiZWwpCiB7CiAgICAgc2hhZGVyTW9kdWxlLT5zaGFkZXJN
b2R1bGUtPnNldExhYmVsKGxhYmVsKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJHUFUvV2ViR1BV
L1dlYkdQVS5oIGIvU291cmNlL1dlYkdQVS9XZWJHUFUvV2ViR1BVLmgKaW5kZXggNWFmYjM4MzI2
YmFhYmM4ZDY0YjAwM2EyNTUyMGMxZGUxYjI3ZmJmNC4uMDk5MzE2YjFkM2I3NzhiYjA4ZTNkNjUy
MDQ4Y2Y2NGIzMGI4OGMwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkdQVS9XZWJHUFUvV2ViR1BV
LmgKKysrIGIvU291cmNlL1dlYkdQVS9XZWJHUFUvV2ViR1BVLmgKQEAgLTUyLDEyICs1MiwxMyBA
QAogI2luY2x1ZGUgPHN0ZGRlZi5oPgogI2luY2x1ZGUgPHN0ZGJvb2wuaD4KIAotI2RlZmluZSBX
R1BVX1dIT0xFX1NJWkUgKDB4ZmZmZmZmZmZmZmZmZmZmZlVMTCkKKyNkZWZpbmUgV0dQVV9BUlJB
WV9MQVlFUl9DT1VOVF9VTkRFRklORUQgKDB4ZmZmZmZmZmZVTCkKICNkZWZpbmUgV0dQVV9DT1BZ
X1NUUklERV9VTkRFRklORUQgKDB4ZmZmZmZmZmZVTCkKICNkZWZpbmUgV0dQVV9MSU1JVF9VMzJf
VU5ERUZJTkVEICgweGZmZmZmZmZmVUwpCiAjZGVmaW5lIFdHUFVfTElNSVRfVTY0X1VOREVGSU5F
RCAoMHhmZmZmZmZmZmZmZmZmZmZmVUxMKQotI2RlZmluZSBXR1BVX0FSUkFZX0xBWUVSX0NPVU5U
X1VOREVGSU5FRCAoMHhmZmZmZmZmZlVMKQogI2RlZmluZSBXR1BVX01JUF9MRVZFTF9DT1VOVF9V
TkRFRklORUQgKDB4ZmZmZmZmZmZVTCkKKyNkZWZpbmUgV0dQVV9XSE9MRV9NQVBfU0laRSBTSVpF
X01BWAorI2RlZmluZSBXR1BVX1dIT0xFX1NJWkUgKDB4ZmZmZmZmZmZmZmZmZmZmZlVMTCkKIAog
dHlwZWRlZiB1aW50MzJfdCBXR1BVRmxhZ3M7CiAKQEAgLTE2OSw2ICsxNzAsMTQgQEAgdHlwZWRl
ZiBlbnVtIFdHUFVDb21wYXJlRnVuY3Rpb24gewogICAgIFdHUFVDb21wYXJlRnVuY3Rpb25fRm9y
Y2UzMiA9IDB4N0ZGRkZGRkYKIH0gV0dQVUNvbXBhcmVGdW5jdGlvbjsKIAordHlwZWRlZiBlbnVt
IFdHUFVDb21waWxhdGlvbkluZm9SZXF1ZXN0U3RhdHVzIHsKKyAgICBXR1BVQ29tcGlsYXRpb25J
bmZvUmVxdWVzdFN0YXR1c19TdWNjZXNzID0gMHgwMDAwMDAwMCwKKyAgICBXR1BVQ29tcGlsYXRp
b25JbmZvUmVxdWVzdFN0YXR1c19FcnJvciA9IDB4MDAwMDAwMDEsCisgICAgV0dQVUNvbXBpbGF0
aW9uSW5mb1JlcXVlc3RTdGF0dXNfRGV2aWNlTG9zdCA9IDB4MDAwMDAwMDIsCisgICAgV0dQVUNv
bXBpbGF0aW9uSW5mb1JlcXVlc3RTdGF0dXNfVW5rbm93biA9IDB4MDAwMDAwMDMsCisgICAgV0dQ
VUNvbXBpbGF0aW9uSW5mb1JlcXVlc3RTdGF0dXNfRm9yY2UzMiA9IDB4N0ZGRkZGRkYKK30gV0dQ
VUNvbXBpbGF0aW9uSW5mb1JlcXVlc3RTdGF0dXM7CisKIHR5cGVkZWYgZW51bSBXR1BVQ29tcGls
YXRpb25NZXNzYWdlVHlwZSB7CiAgICAgV0dQVUNvbXBpbGF0aW9uTWVzc2FnZVR5cGVfRXJyb3Ig
PSAweDAwMDAwMDAwLAogICAgIFdHUFVDb21waWxhdGlvbk1lc3NhZ2VUeXBlX1dhcm5pbmcgPSAw
eDAwMDAwMDAxLApAQCAtMTc2LDYgKzE4NSwxMiBAQCB0eXBlZGVmIGVudW0gV0dQVUNvbXBpbGF0
aW9uTWVzc2FnZVR5cGUgewogICAgIFdHUFVDb21waWxhdGlvbk1lc3NhZ2VUeXBlX0ZvcmNlMzIg
PSAweDdGRkZGRkZGCiB9IFdHUFVDb21waWxhdGlvbk1lc3NhZ2VUeXBlOwogCit0eXBlZGVmIGVu
dW0gV0dQVUNvbXB1dGVQYXNzVGltZXN0YW1wTG9jYXRpb24geworICAgIFdHUFVDb21wdXRlUGFz
c1RpbWVzdGFtcExvY2F0aW9uX0JlZ2lubmluZyA9IDB4MDAwMDAwMDAsCisgICAgV0dQVUNvbXB1
dGVQYXNzVGltZXN0YW1wTG9jYXRpb25fRW5kID0gMHgwMDAwMDAwMSwKKyAgICBXR1BVQ29tcHV0
ZVBhc3NUaW1lc3RhbXBMb2NhdGlvbl9Gb3JjZTMyID0gMHg3RkZGRkZGRgorfSBXR1BVQ29tcHV0
ZVBhc3NUaW1lc3RhbXBMb2NhdGlvbjsKKwogdHlwZWRlZiBlbnVtIFdHUFVDcmVhdGVQaXBlbGlu
ZUFzeW5jU3RhdHVzIHsKICAgICBXR1BVQ3JlYXRlUGlwZWxpbmVBc3luY1N0YXR1c19TdWNjZXNz
ID0gMHgwMDAwMDAwMCwKICAgICBXR1BVQ3JlYXRlUGlwZWxpbmVBc3luY1N0YXR1c19FcnJvciA9
IDB4MDAwMDAwMDEsCkBAIC0xOTksOSArMjE0LDggQEAgdHlwZWRlZiBlbnVtIFdHUFVEZXZpY2VM
b3N0UmVhc29uIHsKIH0gV0dQVURldmljZUxvc3RSZWFzb247CiAKIHR5cGVkZWYgZW51bSBXR1BV
RXJyb3JGaWx0ZXIgewotICAgIFdHUFVFcnJvckZpbHRlcl9Ob25lID0gMHgwMDAwMDAwMCwKLSAg
ICBXR1BVRXJyb3JGaWx0ZXJfVmFsaWRhdGlvbiA9IDB4MDAwMDAwMDEsCi0gICAgV0dQVUVycm9y
RmlsdGVyX091dE9mTWVtb3J5ID0gMHgwMDAwMDAwMiwKKyAgICBXR1BVRXJyb3JGaWx0ZXJfVmFs
aWRhdGlvbiA9IDB4MDAwMDAwMDAsCisgICAgV0dQVUVycm9yRmlsdGVyX091dE9mTWVtb3J5ID0g
MHgwMDAwMDAwMSwKICAgICBXR1BVRXJyb3JGaWx0ZXJfRm9yY2UzMiA9IDB4N0ZGRkZGRkYKIH0g
V0dQVUVycm9yRmlsdGVyOwogCkBAIC0yMTYsMTIgKzIzMCwxNSBAQCB0eXBlZGVmIGVudW0gV0dQ
VUVycm9yVHlwZSB7CiAKIHR5cGVkZWYgZW51bSBXR1BVRmVhdHVyZU5hbWUgewogICAgIFdHUFVG
ZWF0dXJlTmFtZV9VbmRlZmluZWQgPSAweDAwMDAwMDAwLAotICAgIFdHUFVGZWF0dXJlTmFtZV9E
ZXB0aENsYW1waW5nID0gMHgwMDAwMDAwMSwKKyAgICBXR1BVRmVhdHVyZU5hbWVfRGVwdGhDbGlw
Q29udHJvbCA9IDB4MDAwMDAwMDEsCiAgICAgV0dQVUZlYXR1cmVOYW1lX0RlcHRoMjRVbm9ybVN0
ZW5jaWw4ID0gMHgwMDAwMDAwMiwKICAgICBXR1BVRmVhdHVyZU5hbWVfRGVwdGgzMkZsb2F0U3Rl
bmNpbDggPSAweDAwMDAwMDAzLAogICAgIFdHUFVGZWF0dXJlTmFtZV9UaW1lc3RhbXBRdWVyeSA9
IDB4MDAwMDAwMDQsCiAgICAgV0dQVUZlYXR1cmVOYW1lX1BpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5
ID0gMHgwMDAwMDAwNSwKICAgICBXR1BVRmVhdHVyZU5hbWVfVGV4dHVyZUNvbXByZXNzaW9uQkMg
PSAweDAwMDAwMDA2LAorICAgIFdHUFVGZWF0dXJlTmFtZV9UZXh0dXJlQ29tcHJlc3Npb25FVEMy
ID0gMHgwMDAwMDAwNywKKyAgICBXR1BVRmVhdHVyZU5hbWVfVGV4dHVyZUNvbXByZXNzaW9uQVNU
QyA9IDB4MDAwMDAwMDgsCisgICAgV0dQVUZlYXR1cmVOYW1lX0luZGlyZWN0Rmlyc3RJbnN0YW5j
ZSA9IDB4MDAwMDAwMDksCiAgICAgV0dQVUZlYXR1cmVOYW1lX0ZvcmNlMzIgPSAweDdGRkZGRkZG
CiB9IFdHUFVGZWF0dXJlTmFtZTsKIApAQCAtMjYwLDggKzI3Nyw5IEBAIHR5cGVkZWYgZW51bSBX
R1BVUGlwZWxpbmVTdGF0aXN0aWNOYW1lIHsKIH0gV0dQVVBpcGVsaW5lU3RhdGlzdGljTmFtZTsK
IAogdHlwZWRlZiBlbnVtIFdHUFVQb3dlclByZWZlcmVuY2UgewotICAgIFdHUFVQb3dlclByZWZl
cmVuY2VfTG93UG93ZXIgPSAweDAwMDAwMDAwLAotICAgIFdHUFVQb3dlclByZWZlcmVuY2VfSGln
aFBlcmZvcm1hbmNlID0gMHgwMDAwMDAwMSwKKyAgICBXR1BVUG93ZXJQcmVmZXJlbmNlX1VuZGVm
aW5lZCA9IDB4MDAwMDAwMDAsCisgICAgV0dQVVBvd2VyUHJlZmVyZW5jZV9Mb3dQb3dlciA9IDB4
MDAwMDAwMDEsCisgICAgV0dQVVBvd2VyUHJlZmVyZW5jZV9IaWdoUGVyZm9ybWFuY2UgPSAweDAw
MDAwMDAyLAogICAgIFdHUFVQb3dlclByZWZlcmVuY2VfRm9yY2UzMiA9IDB4N0ZGRkZGRkYKIH0g
V0dQVVBvd2VyUHJlZmVyZW5jZTsKIApAQCAtMjk2LDYgKzMxNCwxMiBAQCB0eXBlZGVmIGVudW0g
V0dQVVF1ZXVlV29ya0RvbmVTdGF0dXMgewogICAgIFdHUFVRdWV1ZVdvcmtEb25lU3RhdHVzX0Zv
cmNlMzIgPSAweDdGRkZGRkZGCiB9IFdHUFVRdWV1ZVdvcmtEb25lU3RhdHVzOwogCit0eXBlZGVm
IGVudW0gV0dQVVJlbmRlclBhc3NUaW1lc3RhbXBMb2NhdGlvbiB7CisgICAgV0dQVVJlbmRlclBh
c3NUaW1lc3RhbXBMb2NhdGlvbl9CZWdpbm5pbmcgPSAweDAwMDAwMDAwLAorICAgIFdHUFVSZW5k
ZXJQYXNzVGltZXN0YW1wTG9jYXRpb25fRW5kID0gMHgwMDAwMDAwMSwKKyAgICBXR1BVUmVuZGVy
UGFzc1RpbWVzdGFtcExvY2F0aW9uX0ZvcmNlMzIgPSAweDdGRkZGRkZGCit9IFdHUFVSZW5kZXJQ
YXNzVGltZXN0YW1wTG9jYXRpb247CisKIHR5cGVkZWYgZW51bSBXR1BVUmVxdWVzdEFkYXB0ZXJT
dGF0dXMgewogICAgIFdHUFVSZXF1ZXN0QWRhcHRlclN0YXR1c19TdWNjZXNzID0gMHgwMDAwMDAw
MCwKICAgICBXR1BVUmVxdWVzdEFkYXB0ZXJTdGF0dXNfVW5hdmFpbGFibGUgPSAweDAwMDAwMDAx
LApAQCAtMzE5LDcgKzM0Myw5IEBAIHR5cGVkZWYgZW51bSBXR1BVU1R5cGUgewogICAgIFdHUFVT
VHlwZV9TdXJmYWNlRGVzY3JpcHRvckZyb21DYW52YXNIVE1MU2VsZWN0b3IgPSAweDAwMDAwMDA0
LAogICAgIFdHUFVTVHlwZV9TaGFkZXJNb2R1bGVTUElSVkRlc2NyaXB0b3IgPSAweDAwMDAwMDA1
LAogICAgIFdHUFVTVHlwZV9TaGFkZXJNb2R1bGVXR1NMRGVzY3JpcHRvciA9IDB4MDAwMDAwMDYs
Ci0gICAgV0dQVVNUeXBlX1ByaW1pdGl2ZURlcHRoQ2xhbXBpbmdTdGF0ZSA9IDB4MDAwMDAwMDcs
CisgICAgV0dQVVNUeXBlX1ByaW1pdGl2ZURlcHRoQ2xpcENvbnRyb2wgPSAweDAwMDAwMDA3LAor
ICAgIFdHUFVTVHlwZV9TdXJmYWNlRGVzY3JpcHRvckZyb21XYXlsYW5kU3VyZmFjZSA9IDB4MDAw
MDAwMDgsCisgICAgV0dQVVNUeXBlX1N1cmZhY2VEZXNjcmlwdG9yRnJvbUFuZHJvaWROYXRpdmVX
aW5kb3cgPSAweDAwMDAwMDA5LAogICAgIFdHUFVTVHlwZV9Gb3JjZTMyID0gMHg3RkZGRkZGRgog
fSBXR1BVU1R5cGU7CiAKQEAgLTQxOSwyMSArNDQ1LDYxIEBAIHR5cGVkZWYgZW51bSBXR1BVVGV4
dHVyZUZvcm1hdCB7CiAgICAgV0dQVVRleHR1cmVGb3JtYXRfRGVwdGgxNlVub3JtID0gMHgwMDAw
MDAyNiwKICAgICBXR1BVVGV4dHVyZUZvcm1hdF9EZXB0aDI0UGx1cyA9IDB4MDAwMDAwMjcsCiAg
ICAgV0dQVVRleHR1cmVGb3JtYXRfRGVwdGgyNFBsdXNTdGVuY2lsOCA9IDB4MDAwMDAwMjgsCi0g
ICAgV0dQVVRleHR1cmVGb3JtYXRfRGVwdGgzMkZsb2F0ID0gMHgwMDAwMDAyOSwKLSAgICBXR1BV
VGV4dHVyZUZvcm1hdF9CQzFSR0JBVW5vcm0gPSAweDAwMDAwMDJBLAotICAgIFdHUFVUZXh0dXJl
Rm9ybWF0X0JDMVJHQkFVbm9ybVNyZ2IgPSAweDAwMDAwMDJCLAotICAgIFdHUFVUZXh0dXJlRm9y
bWF0X0JDMlJHQkFVbm9ybSA9IDB4MDAwMDAwMkMsCi0gICAgV0dQVVRleHR1cmVGb3JtYXRfQkMy
UkdCQVVub3JtU3JnYiA9IDB4MDAwMDAwMkQsCi0gICAgV0dQVVRleHR1cmVGb3JtYXRfQkMzUkdC
QVVub3JtID0gMHgwMDAwMDAyRSwKLSAgICBXR1BVVGV4dHVyZUZvcm1hdF9CQzNSR0JBVW5vcm1T
cmdiID0gMHgwMDAwMDAyRiwKLSAgICBXR1BVVGV4dHVyZUZvcm1hdF9CQzRSVW5vcm0gPSAweDAw
MDAwMDMwLAotICAgIFdHUFVUZXh0dXJlRm9ybWF0X0JDNFJTbm9ybSA9IDB4MDAwMDAwMzEsCi0g
ICAgV0dQVVRleHR1cmVGb3JtYXRfQkM1UkdVbm9ybSA9IDB4MDAwMDAwMzIsCi0gICAgV0dQVVRl
eHR1cmVGb3JtYXRfQkM1UkdTbm9ybSA9IDB4MDAwMDAwMzMsCi0gICAgV0dQVVRleHR1cmVGb3Jt
YXRfQkM2SFJHQlVmbG9hdCA9IDB4MDAwMDAwMzQsCi0gICAgV0dQVVRleHR1cmVGb3JtYXRfQkM2
SFJHQkZsb2F0ID0gMHgwMDAwMDAzNSwKLSAgICBXR1BVVGV4dHVyZUZvcm1hdF9CQzdSR0JBVW5v
cm0gPSAweDAwMDAwMDM2LAotICAgIFdHUFVUZXh0dXJlRm9ybWF0X0JDN1JHQkFVbm9ybVNyZ2Ig
PSAweDAwMDAwMDM3LAorICAgIFdHUFVUZXh0dXJlRm9ybWF0X0RlcHRoMjRVbm9ybVN0ZW5jaWw4
ID0gMHgwMDAwMDAyOSwKKyAgICBXR1BVVGV4dHVyZUZvcm1hdF9EZXB0aDMyRmxvYXQgPSAweDAw
MDAwMDJBLAorICAgIFdHUFVUZXh0dXJlRm9ybWF0X0RlcHRoMzJGbG9hdFN0ZW5jaWw4ID0gMHgw
MDAwMDAyQiwKKyAgICBXR1BVVGV4dHVyZUZvcm1hdF9CQzFSR0JBVW5vcm0gPSAweDAwMDAwMDJD
LAorICAgIFdHUFVUZXh0dXJlRm9ybWF0X0JDMVJHQkFVbm9ybVNyZ2IgPSAweDAwMDAwMDJELAor
ICAgIFdHUFVUZXh0dXJlRm9ybWF0X0JDMlJHQkFVbm9ybSA9IDB4MDAwMDAwMkUsCisgICAgV0dQ
VVRleHR1cmVGb3JtYXRfQkMyUkdCQVVub3JtU3JnYiA9IDB4MDAwMDAwMkYsCisgICAgV0dQVVRl
eHR1cmVGb3JtYXRfQkMzUkdCQVVub3JtID0gMHgwMDAwMDAzMCwKKyAgICBXR1BVVGV4dHVyZUZv
cm1hdF9CQzNSR0JBVW5vcm1TcmdiID0gMHgwMDAwMDAzMSwKKyAgICBXR1BVVGV4dHVyZUZvcm1h
dF9CQzRSVW5vcm0gPSAweDAwMDAwMDMyLAorICAgIFdHUFVUZXh0dXJlRm9ybWF0X0JDNFJTbm9y
bSA9IDB4MDAwMDAwMzMsCisgICAgV0dQVVRleHR1cmVGb3JtYXRfQkM1UkdVbm9ybSA9IDB4MDAw
MDAwMzQsCisgICAgV0dQVVRleHR1cmVGb3JtYXRfQkM1UkdTbm9ybSA9IDB4MDAwMDAwMzUsCisg
ICAgV0dQVVRleHR1cmVGb3JtYXRfQkM2SFJHQlVmbG9hdCA9IDB4MDAwMDAwMzYsCisgICAgV0dQ
VVRleHR1cmVGb3JtYXRfQkM2SFJHQkZsb2F0ID0gMHgwMDAwMDAzNywKKyAgICBXR1BVVGV4dHVy
ZUZvcm1hdF9CQzdSR0JBVW5vcm0gPSAweDAwMDAwMDM4LAorICAgIFdHUFVUZXh0dXJlRm9ybWF0
X0JDN1JHQkFVbm9ybVNyZ2IgPSAweDAwMDAwMDM5LAorICAgIFdHUFVUZXh0dXJlRm9ybWF0X0VU
QzJSR0I4VW5vcm0gPSAweDAwMDAwMDNBLAorICAgIFdHUFVUZXh0dXJlRm9ybWF0X0VUQzJSR0I4
VW5vcm1TcmdiID0gMHgwMDAwMDAzQiwKKyAgICBXR1BVVGV4dHVyZUZvcm1hdF9FVEMyUkdCOEEx
VW5vcm0gPSAweDAwMDAwMDNDLAorICAgIFdHUFVUZXh0dXJlRm9ybWF0X0VUQzJSR0I4QTFVbm9y
bVNyZ2IgPSAweDAwMDAwMDNELAorICAgIFdHUFVUZXh0dXJlRm9ybWF0X0VUQzJSR0JBOFVub3Jt
ID0gMHgwMDAwMDAzRSwKKyAgICBXR1BVVGV4dHVyZUZvcm1hdF9FVEMyUkdCQThVbm9ybVNyZ2Ig
PSAweDAwMDAwMDNGLAorICAgIFdHUFVUZXh0dXJlRm9ybWF0X0VBQ1IxMVVub3JtID0gMHgwMDAw
MDA0MCwKKyAgICBXR1BVVGV4dHVyZUZvcm1hdF9FQUNSMTFTbm9ybSA9IDB4MDAwMDAwNDEsCisg
ICAgV0dQVVRleHR1cmVGb3JtYXRfRUFDUkcxMVVub3JtID0gMHgwMDAwMDA0MiwKKyAgICBXR1BV
VGV4dHVyZUZvcm1hdF9FQUNSRzExU25vcm0gPSAweDAwMDAwMDQzLAorICAgIFdHUFVUZXh0dXJl
Rm9ybWF0X0FTVEM0eDRVbm9ybSA9IDB4MDAwMDAwNDQsCisgICAgV0dQVVRleHR1cmVGb3JtYXRf
QVNUQzR4NFVub3JtU3JnYiA9IDB4MDAwMDAwNDUsCisgICAgV0dQVVRleHR1cmVGb3JtYXRfQVNU
QzV4NFVub3JtID0gMHgwMDAwMDA0NiwKKyAgICBXR1BVVGV4dHVyZUZvcm1hdF9BU1RDNXg0VW5v
cm1TcmdiID0gMHgwMDAwMDA0NywKKyAgICBXR1BVVGV4dHVyZUZvcm1hdF9BU1RDNXg1VW5vcm0g
PSAweDAwMDAwMDQ4LAorICAgIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEM1eDVVbm9ybVNyZ2IgPSAw
eDAwMDAwMDQ5LAorICAgIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEM2eDVVbm9ybSA9IDB4MDAwMDAw
NEEsCisgICAgV0dQVVRleHR1cmVGb3JtYXRfQVNUQzZ4NVVub3JtU3JnYiA9IDB4MDAwMDAwNEIs
CisgICAgV0dQVVRleHR1cmVGb3JtYXRfQVNUQzZ4NlVub3JtID0gMHgwMDAwMDA0QywKKyAgICBX
R1BVVGV4dHVyZUZvcm1hdF9BU1RDNng2VW5vcm1TcmdiID0gMHgwMDAwMDA0RCwKKyAgICBXR1BV
VGV4dHVyZUZvcm1hdF9BU1RDOHg1VW5vcm0gPSAweDAwMDAwMDRFLAorICAgIFdHUFVUZXh0dXJl
Rm9ybWF0X0FTVEM4eDVVbm9ybVNyZ2IgPSAweDAwMDAwMDRGLAorICAgIFdHUFVUZXh0dXJlRm9y
bWF0X0FTVEM4eDZVbm9ybSA9IDB4MDAwMDAwNTAsCisgICAgV0dQVVRleHR1cmVGb3JtYXRfQVNU
Qzh4NlVub3JtU3JnYiA9IDB4MDAwMDAwNTEsCisgICAgV0dQVVRleHR1cmVGb3JtYXRfQVNUQzh4
OFVub3JtID0gMHgwMDAwMDA1MiwKKyAgICBXR1BVVGV4dHVyZUZvcm1hdF9BU1RDOHg4VW5vcm1T
cmdiID0gMHgwMDAwMDA1MywKKyAgICBXR1BVVGV4dHVyZUZvcm1hdF9BU1RDMTB4NVVub3JtID0g
MHgwMDAwMDA1NCwKKyAgICBXR1BVVGV4dHVyZUZvcm1hdF9BU1RDMTB4NVVub3JtU3JnYiA9IDB4
MDAwMDAwNTUsCisgICAgV0dQVVRleHR1cmVGb3JtYXRfQVNUQzEweDZVbm9ybSA9IDB4MDAwMDAw
NTYsCisgICAgV0dQVVRleHR1cmVGb3JtYXRfQVNUQzEweDZVbm9ybVNyZ2IgPSAweDAwMDAwMDU3
LAorICAgIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEMxMHg4VW5vcm0gPSAweDAwMDAwMDU4LAorICAg
IFdHUFVUZXh0dXJlRm9ybWF0X0FTVEMxMHg4VW5vcm1TcmdiID0gMHgwMDAwMDA1OSwKKyAgICBX
R1BVVGV4dHVyZUZvcm1hdF9BU1RDMTB4MTBVbm9ybSA9IDB4MDAwMDAwNUEsCisgICAgV0dQVVRl
eHR1cmVGb3JtYXRfQVNUQzEweDEwVW5vcm1TcmdiID0gMHgwMDAwMDA1QiwKKyAgICBXR1BVVGV4
dHVyZUZvcm1hdF9BU1RDMTJ4MTBVbm9ybSA9IDB4MDAwMDAwNUMsCisgICAgV0dQVVRleHR1cmVG
b3JtYXRfQVNUQzEyeDEwVW5vcm1TcmdiID0gMHgwMDAwMDA1RCwKKyAgICBXR1BVVGV4dHVyZUZv
cm1hdF9BU1RDMTJ4MTJVbm9ybSA9IDB4MDAwMDAwNUUsCisgICAgV0dQVVRleHR1cmVGb3JtYXRf
QVNUQzEyeDEyVW5vcm1TcmdiID0gMHgwMDAwMDA1RiwKICAgICBXR1BVVGV4dHVyZUZvcm1hdF9G
b3JjZTMyID0gMHg3RkZGRkZGRgogfSBXR1BVVGV4dHVyZUZvcm1hdDsKIApAQCAtNjMyLDEwICs2
OTgsMTEgQEAgdHlwZWRlZiBzdHJ1Y3QgV0dQVUNvbXBpbGF0aW9uTWVzc2FnZSB7CiAgICAgdWlu
dDY0X3QgbGVuZ3RoOwogfSBXR1BVQ29tcGlsYXRpb25NZXNzYWdlOwogCi10eXBlZGVmIHN0cnVj
dCBXR1BVQ29tcHV0ZVBhc3NEZXNjcmlwdG9yIHsKLSAgICBXR1BVQ2hhaW5lZFN0cnVjdCBjb25z
dCAqIG5leHRJbkNoYWluOwotICAgIGNoYXIgY29uc3QgKiBsYWJlbDsKLX0gV0dQVUNvbXB1dGVQ
YXNzRGVzY3JpcHRvcjsKK3R5cGVkZWYgc3RydWN0IFdHUFVDb21wdXRlUGFzc1RpbWVzdGFtcFdy
aXRlIHsKKyAgICBXR1BVUXVlcnlTZXQgcXVlcnlTZXQ7CisgICAgdWludDMyX3QgcXVlcnlJbmRl
eDsKKyAgICBXR1BVQ29tcHV0ZVBhc3NUaW1lc3RhbXBMb2NhdGlvbiBsb2NhdGlvbjsKK30gV0dQ
VUNvbXB1dGVQYXNzVGltZXN0YW1wV3JpdGU7CiAKIHR5cGVkZWYgc3RydWN0IFdHUFVDb25zdGFu
dEVudHJ5IHsKICAgICBXR1BVQ2hhaW5lZFN0cnVjdCBjb25zdCAqIG5leHRJbkNoYWluOwpAQCAt
NzAyLDEwICs3NjksMTAgQEAgdHlwZWRlZiBzdHJ1Y3QgV0dQVVBpcGVsaW5lTGF5b3V0RGVzY3Jp
cHRvciB7CiAgICAgV0dQVUJpbmRHcm91cExheW91dCBjb25zdCAqIGJpbmRHcm91cExheW91dHM7
CiB9IFdHUFVQaXBlbGluZUxheW91dERlc2NyaXB0b3I7CiAKLXR5cGVkZWYgc3RydWN0IFdHUFVQ
cmltaXRpdmVEZXB0aENsYW1waW5nU3RhdGUgewordHlwZWRlZiBzdHJ1Y3QgV0dQVVByaW1pdGl2
ZURlcHRoQ2xpcENvbnRyb2wgewogICAgIFdHUFVDaGFpbmVkU3RydWN0IGNoYWluOwotICAgIGJv
b2wgY2xhbXBEZXB0aDsKLX0gV0dQVVByaW1pdGl2ZURlcHRoQ2xhbXBpbmdTdGF0ZTsKKyAgICBi
b29sIHVuY2xpcHBlZERlcHRoOworfSBXR1BVUHJpbWl0aXZlRGVwdGhDbGlwQ29udHJvbDsKIAog
dHlwZWRlZiBzdHJ1Y3QgV0dQVVByaW1pdGl2ZVN0YXRlIHsKICAgICBXR1BVQ2hhaW5lZFN0cnVj
dCBjb25zdCAqIG5leHRJbkNoYWluOwpAQCAtNzM2LDYgKzgwMyw4IEBAIHR5cGVkZWYgc3RydWN0
IFdHUFVSZW5kZXJCdW5kbGVFbmNvZGVyRGVzY3JpcHRvciB7CiAgICAgV0dQVVRleHR1cmVGb3Jt
YXQgY29uc3QgKiBjb2xvckZvcm1hdHM7CiAgICAgV0dQVVRleHR1cmVGb3JtYXQgZGVwdGhTdGVu
Y2lsRm9ybWF0OwogICAgIHVpbnQzMl90IHNhbXBsZUNvdW50OworICAgIGJvb2wgZGVwdGhSZWFk
T25seTsKKyAgICBib29sIHN0ZW5jaWxSZWFkT25seTsKIH0gV0dQVVJlbmRlckJ1bmRsZUVuY29k
ZXJEZXNjcmlwdG9yOwogCiB0eXBlZGVmIHN0cnVjdCBXR1BVUmVuZGVyUGFzc0RlcHRoU3RlbmNp
bEF0dGFjaG1lbnQgewpAQCAtNzUwLDYgKzgxOSwxMiBAQCB0eXBlZGVmIHN0cnVjdCBXR1BVUmVu
ZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQgewogICAgIGJvb2wgc3RlbmNpbFJlYWRPbmx5
OwogfSBXR1BVUmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQ7CiAKK3R5cGVkZWYgc3Ry
dWN0IFdHUFVSZW5kZXJQYXNzVGltZXN0YW1wV3JpdGUgeworICAgIFdHUFVRdWVyeVNldCBxdWVy
eVNldDsKKyAgICB1aW50MzJfdCBxdWVyeUluZGV4OworICAgIFdHUFVSZW5kZXJQYXNzVGltZXN0
YW1wTG9jYXRpb24gbG9jYXRpb247Cit9IFdHUFVSZW5kZXJQYXNzVGltZXN0YW1wV3JpdGU7CisK
IHR5cGVkZWYgc3RydWN0IFdHUFVSZXF1ZXN0QWRhcHRlck9wdGlvbnMgewogICAgIFdHUFVDaGFp
bmVkU3RydWN0IGNvbnN0ICogbmV4dEluQ2hhaW47CiAgICAgV0dQVVN1cmZhY2UgY29tcGF0aWJs
ZVN1cmZhY2U7CkBAIC03OTAsNyArODY1LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgV0dQVVNoYWRlck1v
ZHVsZVNQSVJWRGVzY3JpcHRvciB7CiAKIHR5cGVkZWYgc3RydWN0IFdHUFVTaGFkZXJNb2R1bGVX
R1NMRGVzY3JpcHRvciB7CiAgICAgV0dQVUNoYWluZWRTdHJ1Y3QgY2hhaW47Ci0gICAgY2hhciBj
b25zdCAqIHNvdXJjZTsKKyAgICBjaGFyIGNvbnN0ICogY29kZTsKIH0gV0dQVVNoYWRlck1vZHVs
ZVdHU0xEZXNjcmlwdG9yOwogCiB0eXBlZGVmIHN0cnVjdCBXR1BVU3RlbmNpbEZhY2VTdGF0ZSB7
CkBAIC04MzQsNiArOTA5LDE3IEBAIHR5cGVkZWYgc3RydWN0IFdHUFVTdXJmYWNlRGVzY3JpcHRv
ckZyb21YbGliIHsKICAgICB1aW50MzJfdCB3aW5kb3c7CiB9IFdHUFVTdXJmYWNlRGVzY3JpcHRv
ckZyb21YbGliOwogCit0eXBlZGVmIHN0cnVjdCBXR1BVU3VyZmFjZURlc2NyaXB0b3JGcm9tV2F5
bGFuZFN1cmZhY2UgeworICAgIFdHUFVDaGFpbmVkU3RydWN0IGNoYWluOworICAgIHZvaWQgKiBk
aXNwbGF5OworICAgIHZvaWQgKiBzdXJmYWNlOworfSBXR1BVU3VyZmFjZURlc2NyaXB0b3JGcm9t
V2F5bGFuZFN1cmZhY2U7CisKK3R5cGVkZWYgc3RydWN0IFdHUFVTdXJmYWNlRGVzY3JpcHRvckZy
b21BbmRyb2lkTmF0aXZlV2luZG93IHsKKyAgICBXR1BVQ2hhaW5lZFN0cnVjdCBjaGFpbjsKKyAg
ICB2b2lkICogd2luZG93OworfSBXR1BVU3VyZmFjZURlc2NyaXB0b3JGcm9tQW5kcm9pZE5hdGl2
ZVdpbmRvdzsKKwogdHlwZWRlZiBzdHJ1Y3QgV0dQVVN3YXBDaGFpbkRlc2NyaXB0b3IgewogICAg
IFdHUFVDaGFpbmVkU3RydWN0IGNvbnN0ICogbmV4dEluQ2hhaW47CiAgICAgY2hhciBjb25zdCAq
IGxhYmVsOwpAQCAtOTA1LDYgKzk5MSwxMyBAQCB0eXBlZGVmIHN0cnVjdCBXR1BVQ29tcGlsYXRp
b25JbmZvIHsKICAgICBXR1BVQ29tcGlsYXRpb25NZXNzYWdlIGNvbnN0ICogbWVzc2FnZXM7CiB9
IFdHUFVDb21waWxhdGlvbkluZm87CiAKK3R5cGVkZWYgc3RydWN0IFdHUFVDb21wdXRlUGFzc0Rl
c2NyaXB0b3IgeworICAgIFdHUFVDaGFpbmVkU3RydWN0IGNvbnN0ICogbmV4dEluQ2hhaW47Cisg
ICAgY2hhciBjb25zdCAqIGxhYmVsOworICAgIHVpbnQzMl90IHRpbWVzdGFtcFdyaXRlQ291bnQ7
CisgICAgV0dQVUNvbXB1dGVQYXNzVGltZXN0YW1wV3JpdGUgY29uc3QgKiB0aW1lc3RhbXBXcml0
ZXM7Cit9IFdHUFVDb21wdXRlUGFzc0Rlc2NyaXB0b3I7CisKIHR5cGVkZWYgc3RydWN0IFdHUFVE
ZXB0aFN0ZW5jaWxTdGF0ZSB7CiAgICAgV0dQVUNoYWluZWRTdHJ1Y3QgY29uc3QgKiBuZXh0SW5D
aGFpbjsKICAgICBXR1BVVGV4dHVyZUZvcm1hdCBmb3JtYXQ7CkBAIC0xMDAwLDYgKzEwOTMsNyBA
QCB0eXBlZGVmIHN0cnVjdCBXR1BVQ29tcHV0ZVBpcGVsaW5lRGVzY3JpcHRvciB7CiAKIHR5cGVk
ZWYgc3RydWN0IFdHUFVEZXZpY2VEZXNjcmlwdG9yIHsKICAgICBXR1BVQ2hhaW5lZFN0cnVjdCBj
b25zdCAqIG5leHRJbkNoYWluOworICAgIGNoYXIgY29uc3QgKiBsYWJlbDsKICAgICB1aW50MzJf
dCByZXF1aXJlZEZlYXR1cmVzQ291bnQ7CiAgICAgV0dQVUZlYXR1cmVOYW1lIGNvbnN0ICogcmVx
dWlyZWRGZWF0dXJlczsKICAgICBXR1BVUmVxdWlyZWRMaW1pdHMgY29uc3QgKiByZXF1aXJlZExp
bWl0czsKQEAgLTEwMTIsNiArMTEwNiw4IEBAIHR5cGVkZWYgc3RydWN0IFdHUFVSZW5kZXJQYXNz
RGVzY3JpcHRvciB7CiAgICAgV0dQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQgY29uc3QgKiBj
b2xvckF0dGFjaG1lbnRzOwogICAgIFdHUFVSZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNobWVu
dCBjb25zdCAqIGRlcHRoU3RlbmNpbEF0dGFjaG1lbnQ7CiAgICAgV0dQVVF1ZXJ5U2V0IG9jY2x1
c2lvblF1ZXJ5U2V0OworICAgIHVpbnQzMl90IHRpbWVzdGFtcFdyaXRlQ291bnQ7CisgICAgV0dQ
VVJlbmRlclBhc3NUaW1lc3RhbXBXcml0ZSBjb25zdCAqIHRpbWVzdGFtcFdyaXRlczsKIH0gV0dQ
VVJlbmRlclBhc3NEZXNjcmlwdG9yOwogCiB0eXBlZGVmIHN0cnVjdCBXR1BVVmVydGV4U3RhdGUg
ewpAQCAtMTA1MCwyMiArMTE0NiwyMyBAQCBleHRlcm4gIkMiIHsKICNlbmRpZgogCiB0eXBlZGVm
IHZvaWQgKCpXR1BVQnVmZmVyTWFwQ2FsbGJhY2spKFdHUFVCdWZmZXJNYXBBc3luY1N0YXR1cyBz
dGF0dXMsIHZvaWQgKiB1c2VyZGF0YSk7Cit0eXBlZGVmIHZvaWQgKCpXR1BVQ29tcGlsYXRpb25J
bmZvQ2FsbGJhY2spKFdHUFVDb21waWxhdGlvbkluZm9SZXF1ZXN0U3RhdHVzIHN0YXR1cywgV0dQ
VUNvbXBpbGF0aW9uSW5mbyBjb25zdCAqIGNvbXBpbGF0aW9uSW5mbywgdm9pZCAqIHVzZXJkYXRh
KTsKIHR5cGVkZWYgdm9pZCAoKldHUFVDcmVhdGVDb21wdXRlUGlwZWxpbmVBc3luY0NhbGxiYWNr
KShXR1BVQ3JlYXRlUGlwZWxpbmVBc3luY1N0YXR1cyBzdGF0dXMsIFdHUFVDb21wdXRlUGlwZWxp
bmUgcGlwZWxpbmUsIGNoYXIgY29uc3QgKiBtZXNzYWdlLCB2b2lkICogdXNlcmRhdGEpOwogdHlw
ZWRlZiB2b2lkICgqV0dQVUNyZWF0ZVJlbmRlclBpcGVsaW5lQXN5bmNDYWxsYmFjaykoV0dQVUNy
ZWF0ZVBpcGVsaW5lQXN5bmNTdGF0dXMgc3RhdHVzLCBXR1BVUmVuZGVyUGlwZWxpbmUgcGlwZWxp
bmUsIGNoYXIgY29uc3QgKiBtZXNzYWdlLCB2b2lkICogdXNlcmRhdGEpOwogdHlwZWRlZiB2b2lk
ICgqV0dQVURldmljZUxvc3RDYWxsYmFjaykoV0dQVURldmljZUxvc3RSZWFzb24gcmVhc29uLCBj
aGFyIGNvbnN0ICogbWVzc2FnZSwgdm9pZCAqIHVzZXJkYXRhKTsKIHR5cGVkZWYgdm9pZCAoKldH
UFVFcnJvckNhbGxiYWNrKShXR1BVRXJyb3JUeXBlIHR5cGUsIGNoYXIgY29uc3QgKiBtZXNzYWdl
LCB2b2lkICogdXNlcmRhdGEpOwordHlwZWRlZiB2b2lkICgqV0dQVVByb2MpKCk7CiB0eXBlZGVm
IHZvaWQgKCpXR1BVUXVldWVXb3JrRG9uZUNhbGxiYWNrKShXR1BVUXVldWVXb3JrRG9uZVN0YXR1
cyBzdGF0dXMsIHZvaWQgKiB1c2VyZGF0YSk7CiB0eXBlZGVmIHZvaWQgKCpXR1BVUmVxdWVzdEFk
YXB0ZXJDYWxsYmFjaykoV0dQVVJlcXVlc3RBZGFwdGVyU3RhdHVzIHN0YXR1cywgV0dQVUFkYXB0
ZXIgYWRhcHRlciwgY2hhciBjb25zdCAqIG1lc3NhZ2UsIHZvaWQgKiB1c2VyZGF0YSk7CiB0eXBl
ZGVmIHZvaWQgKCpXR1BVUmVxdWVzdERldmljZUNhbGxiYWNrKShXR1BVUmVxdWVzdERldmljZVN0
YXR1cyBzdGF0dXMsIFdHUFVEZXZpY2UgZGV2aWNlLCBjaGFyIGNvbnN0ICogbWVzc2FnZSwgdm9p
ZCAqIHVzZXJkYXRhKTsKIAotdHlwZWRlZiB2b2lkICgqV0dQVVByb2MpKHZvaWQpOwotCiAjaWYg
IWRlZmluZWQoV0dQVV9TS0lQX1BST0NTKQogCiB0eXBlZGVmIFdHUFVJbnN0YW5jZSAoKldHUFVQ
cm9jQ3JlYXRlSW5zdGFuY2UpKFdHUFVJbnN0YW5jZURlc2NyaXB0b3IgY29uc3QgKiBkZXNjcmlw
dG9yKTsKIHR5cGVkZWYgV0dQVVByb2MgKCpXR1BVUHJvY0dldFByb2NBZGRyZXNzKShXR1BVRGV2
aWNlIGRldmljZSwgY2hhciBjb25zdCAqIHByb2NOYW1lKTsKIAogLy8gUHJvY3Mgb2YgQWRhcHRl
cgordHlwZWRlZiBzaXplX3QgKCpXR1BVUHJvY0FkYXB0ZXJFbnVtZXJhdGVGZWF0dXJlcykoV0dQ
VUFkYXB0ZXIgYWRhcHRlciwgV0dQVUZlYXR1cmVOYW1lKiBmZWF0dXJlcyk7CiB0eXBlZGVmIGJv
b2wgKCpXR1BVUHJvY0FkYXB0ZXJHZXRMaW1pdHMpKFdHUFVBZGFwdGVyIGFkYXB0ZXIsIFdHUFVT
dXBwb3J0ZWRMaW1pdHMgKiBsaW1pdHMpOwogdHlwZWRlZiB2b2lkICgqV0dQVVByb2NBZGFwdGVy
R2V0UHJvcGVydGllcykoV0dQVUFkYXB0ZXIgYWRhcHRlciwgV0dQVUFkYXB0ZXJQcm9wZXJ0aWVz
ICogcHJvcGVydGllcyk7CiB0eXBlZGVmIGJvb2wgKCpXR1BVUHJvY0FkYXB0ZXJIYXNGZWF0dXJl
KShXR1BVQWRhcHRlciBhZGFwdGVyLCBXR1BVRmVhdHVyZU5hbWUgZmVhdHVyZSk7CkBAIC0xMDgx
LDYgKzExNzgsNyBAQCB0eXBlZGVmIHZvaWQgKCpXR1BVUHJvY0J1ZmZlclVubWFwKShXR1BVQnVm
ZmVyIGJ1ZmZlcik7CiAvLyBQcm9jcyBvZiBDb21tYW5kRW5jb2RlcgogdHlwZWRlZiBXR1BVQ29t
cHV0ZVBhc3NFbmNvZGVyICgqV0dQVVByb2NDb21tYW5kRW5jb2RlckJlZ2luQ29tcHV0ZVBhc3Mp
KFdHUFVDb21tYW5kRW5jb2RlciBjb21tYW5kRW5jb2RlciwgV0dQVUNvbXB1dGVQYXNzRGVzY3Jp
cHRvciBjb25zdCAqIGRlc2NyaXB0b3IpOwogdHlwZWRlZiBXR1BVUmVuZGVyUGFzc0VuY29kZXIg
KCpXR1BVUHJvY0NvbW1hbmRFbmNvZGVyQmVnaW5SZW5kZXJQYXNzKShXR1BVQ29tbWFuZEVuY29k
ZXIgY29tbWFuZEVuY29kZXIsIFdHUFVSZW5kZXJQYXNzRGVzY3JpcHRvciBjb25zdCAqIGRlc2Ny
aXB0b3IpOwordHlwZWRlZiB2b2lkICgqV0dQVVByb2NDb21tYW5kRW5jb2RlckNsZWFyQnVmZmVy
KShXR1BVQ29tbWFuZEVuY29kZXIgY29tbWFuZEVuY29kZXIsIFdHUFVCdWZmZXIgYnVmZmVyLCB1
aW50NjRfdCBvZmZzZXQsIHVpbnQ2NF90IHNpemUpOwogdHlwZWRlZiB2b2lkICgqV0dQVVByb2ND
b21tYW5kRW5jb2RlckNvcHlCdWZmZXJUb0J1ZmZlcikoV0dQVUNvbW1hbmRFbmNvZGVyIGNvbW1h
bmRFbmNvZGVyLCBXR1BVQnVmZmVyIHNvdXJjZSwgdWludDY0X3Qgc291cmNlT2Zmc2V0LCBXR1BV
QnVmZmVyIGRlc3RpbmF0aW9uLCB1aW50NjRfdCBkZXN0aW5hdGlvbk9mZnNldCwgdWludDY0X3Qg
c2l6ZSk7CiB0eXBlZGVmIHZvaWQgKCpXR1BVUHJvY0NvbW1hbmRFbmNvZGVyQ29weUJ1ZmZlclRv
VGV4dHVyZSkoV0dQVUNvbW1hbmRFbmNvZGVyIGNvbW1hbmRFbmNvZGVyLCBXR1BVSW1hZ2VDb3B5
QnVmZmVyIGNvbnN0ICogc291cmNlLCBXR1BVSW1hZ2VDb3B5VGV4dHVyZSBjb25zdCAqIGRlc3Rp
bmF0aW9uLCBXR1BVRXh0ZW50M0QgY29uc3QgKiBjb3B5U2l6ZSk7CiB0eXBlZGVmIHZvaWQgKCpX
R1BVUHJvY0NvbW1hbmRFbmNvZGVyQ29weVRleHR1cmVUb0J1ZmZlcikoV0dQVUNvbW1hbmRFbmNv
ZGVyIGNvbW1hbmRFbmNvZGVyLCBXR1BVSW1hZ2VDb3B5VGV4dHVyZSBjb25zdCAqIHNvdXJjZSwg
V0dQVUltYWdlQ29weUJ1ZmZlciBjb25zdCAqIGRlc3RpbmF0aW9uLCBXR1BVRXh0ZW50M0QgY29u
c3QgKiBjb3B5U2l6ZSk7CkBAIC0xMTAzLDcgKzEyMDEsNiBAQCB0eXBlZGVmIHZvaWQgKCpXR1BV
UHJvY0NvbXB1dGVQYXNzRW5jb2RlclBvcERlYnVnR3JvdXApKFdHUFVDb21wdXRlUGFzc0VuY29k
ZXIgYwogdHlwZWRlZiB2b2lkICgqV0dQVVByb2NDb21wdXRlUGFzc0VuY29kZXJQdXNoRGVidWdH
cm91cCkoV0dQVUNvbXB1dGVQYXNzRW5jb2RlciBjb21wdXRlUGFzc0VuY29kZXIsIGNoYXIgY29u
c3QgKiBncm91cExhYmVsKTsKIHR5cGVkZWYgdm9pZCAoKldHUFVQcm9jQ29tcHV0ZVBhc3NFbmNv
ZGVyU2V0QmluZEdyb3VwKShXR1BVQ29tcHV0ZVBhc3NFbmNvZGVyIGNvbXB1dGVQYXNzRW5jb2Rl
ciwgdWludDMyX3QgZ3JvdXBJbmRleCwgV0dQVUJpbmRHcm91cCBncm91cCwgdWludDMyX3QgZHlu
YW1pY09mZnNldENvdW50LCB1aW50MzJfdCBjb25zdCAqIGR5bmFtaWNPZmZzZXRzKTsKIHR5cGVk
ZWYgdm9pZCAoKldHUFVQcm9jQ29tcHV0ZVBhc3NFbmNvZGVyU2V0UGlwZWxpbmUpKFdHUFVDb21w
dXRlUGFzc0VuY29kZXIgY29tcHV0ZVBhc3NFbmNvZGVyLCBXR1BVQ29tcHV0ZVBpcGVsaW5lIHBp
cGVsaW5lKTsKLXR5cGVkZWYgdm9pZCAoKldHUFVQcm9jQ29tcHV0ZVBhc3NFbmNvZGVyV3JpdGVU
aW1lc3RhbXApKFdHUFVDb21wdXRlUGFzc0VuY29kZXIgY29tcHV0ZVBhc3NFbmNvZGVyLCBXR1BV
UXVlcnlTZXQgcXVlcnlTZXQsIHVpbnQzMl90IHF1ZXJ5SW5kZXgpOwogCiAvLyBQcm9jcyBvZiBD
b21wdXRlUGlwZWxpbmUKIHR5cGVkZWYgV0dQVUJpbmRHcm91cExheW91dCAoKldHUFVQcm9jQ29t
cHV0ZVBpcGVsaW5lR2V0QmluZEdyb3VwTGF5b3V0KShXR1BVQ29tcHV0ZVBpcGVsaW5lIGNvbXB1
dGVQaXBlbGluZSwgdWludDMyX3QgZ3JvdXBJbmRleCk7CkBAIC0xMTI2LDggKzEyMjMsMTAgQEAg
dHlwZWRlZiBXR1BVU2hhZGVyTW9kdWxlICgqV0dQVVByb2NEZXZpY2VDcmVhdGVTaGFkZXJNb2R1
bGUpKFdHUFVEZXZpY2UgZGV2aWNlLAogdHlwZWRlZiBXR1BVU3dhcENoYWluICgqV0dQVVByb2NE
ZXZpY2VDcmVhdGVTd2FwQ2hhaW4pKFdHUFVEZXZpY2UgZGV2aWNlLCBXR1BVU3VyZmFjZSBzdXJm
YWNlLCBXR1BVU3dhcENoYWluRGVzY3JpcHRvciBjb25zdCAqIGRlc2NyaXB0b3IpOwogdHlwZWRl
ZiBXR1BVVGV4dHVyZSAoKldHUFVQcm9jRGV2aWNlQ3JlYXRlVGV4dHVyZSkoV0dQVURldmljZSBk
ZXZpY2UsIFdHUFVUZXh0dXJlRGVzY3JpcHRvciBjb25zdCAqIGRlc2NyaXB0b3IpOwogdHlwZWRl
ZiB2b2lkICgqV0dQVVByb2NEZXZpY2VEZXN0cm95KShXR1BVRGV2aWNlIGRldmljZSk7Cit0eXBl
ZGVmIHNpemVfdCAoKldHUFVQcm9jRGV2aWNlRW51bWVyYXRlRmVhdHVyZXMpKFdHUFVEZXZpY2Ug
ZGV2aWNlLCBXR1BVRmVhdHVyZU5hbWUqIGZlYXR1cmVzKTsKIHR5cGVkZWYgYm9vbCAoKldHUFVQ
cm9jRGV2aWNlR2V0TGltaXRzKShXR1BVRGV2aWNlIGRldmljZSwgV0dQVVN1cHBvcnRlZExpbWl0
cyAqIGxpbWl0cyk7CiB0eXBlZGVmIFdHUFVRdWV1ZSAoKldHUFVQcm9jRGV2aWNlR2V0UXVldWUp
KFdHUFVEZXZpY2UgZGV2aWNlKTsKK3R5cGVkZWYgYm9vbCAoKldHUFVQcm9jRGV2aWNlSGFzRmVh
dHVyZSkoV0dQVURldmljZSBkZXZpY2UsIFdHUFVGZWF0dXJlTmFtZSBmZWF0dXJlKTsKIHR5cGVk
ZWYgYm9vbCAoKldHUFVQcm9jRGV2aWNlUG9wRXJyb3JTY29wZSkoV0dQVURldmljZSBkZXZpY2Us
IFdHUFVFcnJvckNhbGxiYWNrIGNhbGxiYWNrLCB2b2lkICogdXNlcmRhdGEpOwogdHlwZWRlZiB2
b2lkICgqV0dQVVByb2NEZXZpY2VQdXNoRXJyb3JTY29wZSkoV0dQVURldmljZSBkZXZpY2UsIFdH
UFVFcnJvckZpbHRlciBmaWx0ZXIpOwogdHlwZWRlZiB2b2lkICgqV0dQVVByb2NEZXZpY2VTZXRE
ZXZpY2VMb3N0Q2FsbGJhY2spKFdHUFVEZXZpY2UgZGV2aWNlLCBXR1BVRGV2aWNlTG9zdENhbGxi
YWNrIGNhbGxiYWNrLCB2b2lkICogdXNlcmRhdGEpOwpAQCAtMTE4MywxMyArMTI4MiwxMyBAQCB0
eXBlZGVmIHZvaWQgKCpXR1BVUHJvY1JlbmRlclBhc3NFbmNvZGVyU2V0U2Npc3NvclJlY3QpKFdH
UFVSZW5kZXJQYXNzRW5jb2RlciByZQogdHlwZWRlZiB2b2lkICgqV0dQVVByb2NSZW5kZXJQYXNz
RW5jb2RlclNldFN0ZW5jaWxSZWZlcmVuY2UpKFdHUFVSZW5kZXJQYXNzRW5jb2RlciByZW5kZXJQ
YXNzRW5jb2RlciwgdWludDMyX3QgcmVmZXJlbmNlKTsKIHR5cGVkZWYgdm9pZCAoKldHUFVQcm9j
UmVuZGVyUGFzc0VuY29kZXJTZXRWZXJ0ZXhCdWZmZXIpKFdHUFVSZW5kZXJQYXNzRW5jb2RlciBy
ZW5kZXJQYXNzRW5jb2RlciwgdWludDMyX3Qgc2xvdCwgV0dQVUJ1ZmZlciBidWZmZXIsIHVpbnQ2
NF90IG9mZnNldCwgdWludDY0X3Qgc2l6ZSk7CiB0eXBlZGVmIHZvaWQgKCpXR1BVUHJvY1JlbmRl
clBhc3NFbmNvZGVyU2V0Vmlld3BvcnQpKFdHUFVSZW5kZXJQYXNzRW5jb2RlciByZW5kZXJQYXNz
RW5jb2RlciwgZmxvYXQgeCwgZmxvYXQgeSwgZmxvYXQgd2lkdGgsIGZsb2F0IGhlaWdodCwgZmxv
YXQgbWluRGVwdGgsIGZsb2F0IG1heERlcHRoKTsKLXR5cGVkZWYgdm9pZCAoKldHUFVQcm9jUmVu
ZGVyUGFzc0VuY29kZXJXcml0ZVRpbWVzdGFtcCkoV0dQVVJlbmRlclBhc3NFbmNvZGVyIHJlbmRl
clBhc3NFbmNvZGVyLCBXR1BVUXVlcnlTZXQgcXVlcnlTZXQsIHVpbnQzMl90IHF1ZXJ5SW5kZXgp
OwogCiAvLyBQcm9jcyBvZiBSZW5kZXJQaXBlbGluZQogdHlwZWRlZiBXR1BVQmluZEdyb3VwTGF5
b3V0ICgqV0dQVVByb2NSZW5kZXJQaXBlbGluZUdldEJpbmRHcm91cExheW91dCkoV0dQVVJlbmRl
clBpcGVsaW5lIHJlbmRlclBpcGVsaW5lLCB1aW50MzJfdCBncm91cEluZGV4KTsKIHR5cGVkZWYg
dm9pZCAoKldHUFVQcm9jUmVuZGVyUGlwZWxpbmVTZXRMYWJlbCkoV0dQVVJlbmRlclBpcGVsaW5l
IHJlbmRlclBpcGVsaW5lLCBjaGFyIGNvbnN0ICogbGFiZWwpOwogCiAvLyBQcm9jcyBvZiBTaGFk
ZXJNb2R1bGUKK3R5cGVkZWYgdm9pZCAoKldHUFVQcm9jU2hhZGVyTW9kdWxlR2V0Q29tcGlsYXRp
b25JbmZvKShXR1BVU2hhZGVyTW9kdWxlIHNoYWRlck1vZHVsZSwgV0dQVUNvbXBpbGF0aW9uSW5m
b0NhbGxiYWNrIGNhbGxiYWNrLCB2b2lkICogdXNlcmRhdGEpOwogdHlwZWRlZiB2b2lkICgqV0dQ
VVByb2NTaGFkZXJNb2R1bGVTZXRMYWJlbCkoV0dQVVNoYWRlck1vZHVsZSBzaGFkZXJNb2R1bGUs
IGNoYXIgY29uc3QgKiBsYWJlbCk7CiAKIC8vIFByb2NzIG9mIFN1cmZhY2UKQEAgLTEyMTEsNiAr
MTMxMCw3IEBAIFdHUFVfRVhQT1JUIFdHUFVJbnN0YW5jZSB3Z3B1Q3JlYXRlSW5zdGFuY2UoV0dQ
VUluc3RhbmNlRGVzY3JpcHRvciBjb25zdCAqIGRlc2NyCiBXR1BVX0VYUE9SVCBXR1BVUHJvYyB3
Z3B1R2V0UHJvY0FkZHJlc3MoV0dQVURldmljZSBkZXZpY2UsIGNoYXIgY29uc3QgKiBwcm9jTmFt
ZSk7CiAKIC8vIE1ldGhvZHMgb2YgQWRhcHRlcgorV0dQVV9FWFBPUlQgc2l6ZV90IHdncHVBZGFw
dGVyRW51bWVyYXRlRmVhdHVyZXMoV0dQVUFkYXB0ZXIgYWRhcHRlciwgV0dQVUZlYXR1cmVOYW1l
KiBmZWF0dXJlcyk7CiBXR1BVX0VYUE9SVCBib29sIHdncHVBZGFwdGVyR2V0TGltaXRzKFdHUFVB
ZGFwdGVyIGFkYXB0ZXIsIFdHUFVTdXBwb3J0ZWRMaW1pdHMgKiBsaW1pdHMpOwogV0dQVV9FWFBP
UlQgdm9pZCB3Z3B1QWRhcHRlckdldFByb3BlcnRpZXMoV0dQVUFkYXB0ZXIgYWRhcHRlciwgV0dQ
VUFkYXB0ZXJQcm9wZXJ0aWVzICogcHJvcGVydGllcyk7CiBXR1BVX0VYUE9SVCBib29sIHdncHVB
ZGFwdGVySGFzRmVhdHVyZShXR1BVQWRhcHRlciBhZGFwdGVyLCBXR1BVRmVhdHVyZU5hbWUgZmVh
dHVyZSk7CkBAIC0xMjI2LDYgKzEzMjYsNyBAQCBXR1BVX0VYUE9SVCB2b2lkIHdncHVCdWZmZXJV
bm1hcChXR1BVQnVmZmVyIGJ1ZmZlcik7CiAvLyBNZXRob2RzIG9mIENvbW1hbmRFbmNvZGVyCiBX
R1BVX0VYUE9SVCBXR1BVQ29tcHV0ZVBhc3NFbmNvZGVyIHdncHVDb21tYW5kRW5jb2RlckJlZ2lu
Q29tcHV0ZVBhc3MoV0dQVUNvbW1hbmRFbmNvZGVyIGNvbW1hbmRFbmNvZGVyLCBXR1BVQ29tcHV0
ZVBhc3NEZXNjcmlwdG9yIGNvbnN0ICogZGVzY3JpcHRvcik7CiBXR1BVX0VYUE9SVCBXR1BVUmVu
ZGVyUGFzc0VuY29kZXIgd2dwdUNvbW1hbmRFbmNvZGVyQmVnaW5SZW5kZXJQYXNzKFdHUFVDb21t
YW5kRW5jb2RlciBjb21tYW5kRW5jb2RlciwgV0dQVVJlbmRlclBhc3NEZXNjcmlwdG9yIGNvbnN0
ICogZGVzY3JpcHRvcik7CitXR1BVX0VYUE9SVCB2b2lkIHdncHVDb21tYW5kRW5jb2RlckNsZWFy
QnVmZmVyKFdHUFVDb21tYW5kRW5jb2RlciBjb21tYW5kRW5jb2RlciwgV0dQVUJ1ZmZlciBidWZm
ZXIsIHVpbnQ2NF90IG9mZnNldCwgdWludDY0X3Qgc2l6ZSk7CiBXR1BVX0VYUE9SVCB2b2lkIHdn
cHVDb21tYW5kRW5jb2RlckNvcHlCdWZmZXJUb0J1ZmZlcihXR1BVQ29tbWFuZEVuY29kZXIgY29t
bWFuZEVuY29kZXIsIFdHUFVCdWZmZXIgc291cmNlLCB1aW50NjRfdCBzb3VyY2VPZmZzZXQsIFdH
UFVCdWZmZXIgZGVzdGluYXRpb24sIHVpbnQ2NF90IGRlc3RpbmF0aW9uT2Zmc2V0LCB1aW50NjRf
dCBzaXplKTsKIFdHUFVfRVhQT1JUIHZvaWQgd2dwdUNvbW1hbmRFbmNvZGVyQ29weUJ1ZmZlclRv
VGV4dHVyZShXR1BVQ29tbWFuZEVuY29kZXIgY29tbWFuZEVuY29kZXIsIFdHUFVJbWFnZUNvcHlC
dWZmZXIgY29uc3QgKiBzb3VyY2UsIFdHUFVJbWFnZUNvcHlUZXh0dXJlIGNvbnN0ICogZGVzdGlu
YXRpb24sIFdHUFVFeHRlbnQzRCBjb25zdCAqIGNvcHlTaXplKTsKIFdHUFVfRVhQT1JUIHZvaWQg
d2dwdUNvbW1hbmRFbmNvZGVyQ29weVRleHR1cmVUb0J1ZmZlcihXR1BVQ29tbWFuZEVuY29kZXIg
Y29tbWFuZEVuY29kZXIsIFdHUFVJbWFnZUNvcHlUZXh0dXJlIGNvbnN0ICogc291cmNlLCBXR1BV
SW1hZ2VDb3B5QnVmZmVyIGNvbnN0ICogZGVzdGluYXRpb24sIFdHUFVFeHRlbnQzRCBjb25zdCAq
IGNvcHlTaXplKTsKQEAgLTEyNDgsNyArMTM0OSw2IEBAIFdHUFVfRVhQT1JUIHZvaWQgd2dwdUNv
bXB1dGVQYXNzRW5jb2RlclBvcERlYnVnR3JvdXAoV0dQVUNvbXB1dGVQYXNzRW5jb2RlciBjb21w
CiBXR1BVX0VYUE9SVCB2b2lkIHdncHVDb21wdXRlUGFzc0VuY29kZXJQdXNoRGVidWdHcm91cChX
R1BVQ29tcHV0ZVBhc3NFbmNvZGVyIGNvbXB1dGVQYXNzRW5jb2RlciwgY2hhciBjb25zdCAqIGdy
b3VwTGFiZWwpOwogV0dQVV9FWFBPUlQgdm9pZCB3Z3B1Q29tcHV0ZVBhc3NFbmNvZGVyU2V0Qmlu
ZEdyb3VwKFdHUFVDb21wdXRlUGFzc0VuY29kZXIgY29tcHV0ZVBhc3NFbmNvZGVyLCB1aW50MzJf
dCBncm91cEluZGV4LCBXR1BVQmluZEdyb3VwIGdyb3VwLCB1aW50MzJfdCBkeW5hbWljT2Zmc2V0
Q291bnQsIHVpbnQzMl90IGNvbnN0ICogZHluYW1pY09mZnNldHMpOwogV0dQVV9FWFBPUlQgdm9p
ZCB3Z3B1Q29tcHV0ZVBhc3NFbmNvZGVyU2V0UGlwZWxpbmUoV0dQVUNvbXB1dGVQYXNzRW5jb2Rl
ciBjb21wdXRlUGFzc0VuY29kZXIsIFdHUFVDb21wdXRlUGlwZWxpbmUgcGlwZWxpbmUpOwotV0dQ
VV9FWFBPUlQgdm9pZCB3Z3B1Q29tcHV0ZVBhc3NFbmNvZGVyV3JpdGVUaW1lc3RhbXAoV0dQVUNv
bXB1dGVQYXNzRW5jb2RlciBjb21wdXRlUGFzc0VuY29kZXIsIFdHUFVRdWVyeVNldCBxdWVyeVNl
dCwgdWludDMyX3QgcXVlcnlJbmRleCk7CiAKIC8vIE1ldGhvZHMgb2YgQ29tcHV0ZVBpcGVsaW5l
CiBXR1BVX0VYUE9SVCBXR1BVQmluZEdyb3VwTGF5b3V0IHdncHVDb21wdXRlUGlwZWxpbmVHZXRC
aW5kR3JvdXBMYXlvdXQoV0dQVUNvbXB1dGVQaXBlbGluZSBjb21wdXRlUGlwZWxpbmUsIHVpbnQz
Ml90IGdyb3VwSW5kZXgpOwpAQCAtMTI3MSw4ICsxMzcxLDEwIEBAIFdHUFVfRVhQT1JUIFdHUFVT
aGFkZXJNb2R1bGUgd2dwdURldmljZUNyZWF0ZVNoYWRlck1vZHVsZShXR1BVRGV2aWNlIGRldmlj
ZSwgV0dQCiBXR1BVX0VYUE9SVCBXR1BVU3dhcENoYWluIHdncHVEZXZpY2VDcmVhdGVTd2FwQ2hh
aW4oV0dQVURldmljZSBkZXZpY2UsIFdHUFVTdXJmYWNlIHN1cmZhY2UsIFdHUFVTd2FwQ2hhaW5E
ZXNjcmlwdG9yIGNvbnN0ICogZGVzY3JpcHRvcik7CiBXR1BVX0VYUE9SVCBXR1BVVGV4dHVyZSB3
Z3B1RGV2aWNlQ3JlYXRlVGV4dHVyZShXR1BVRGV2aWNlIGRldmljZSwgV0dQVVRleHR1cmVEZXNj
cmlwdG9yIGNvbnN0ICogZGVzY3JpcHRvcik7CiBXR1BVX0VYUE9SVCB2b2lkIHdncHVEZXZpY2VE
ZXN0cm95KFdHUFVEZXZpY2UgZGV2aWNlKTsKK1dHUFVfRVhQT1JUIHNpemVfdCB3Z3B1RGV2aWNl
RW51bWVyYXRlRmVhdHVyZXMoV0dQVURldmljZSBkZXZpY2UsIFdHUFVGZWF0dXJlTmFtZSogZmVh
dHVyZXMpOwogV0dQVV9FWFBPUlQgYm9vbCB3Z3B1RGV2aWNlR2V0TGltaXRzKFdHUFVEZXZpY2Ug
ZGV2aWNlLCBXR1BVU3VwcG9ydGVkTGltaXRzICogbGltaXRzKTsKIFdHUFVfRVhQT1JUIFdHUFVR
dWV1ZSB3Z3B1RGV2aWNlR2V0UXVldWUoV0dQVURldmljZSBkZXZpY2UpOworV0dQVV9FWFBPUlQg
Ym9vbCB3Z3B1RGV2aWNlSGFzRmVhdHVyZShXR1BVRGV2aWNlIGRldmljZSwgV0dQVUZlYXR1cmVO
YW1lIGZlYXR1cmUpOwogV0dQVV9FWFBPUlQgYm9vbCB3Z3B1RGV2aWNlUG9wRXJyb3JTY29wZShX
R1BVRGV2aWNlIGRldmljZSwgV0dQVUVycm9yQ2FsbGJhY2sgY2FsbGJhY2ssIHZvaWQgKiB1c2Vy
ZGF0YSk7CiBXR1BVX0VYUE9SVCB2b2lkIHdncHVEZXZpY2VQdXNoRXJyb3JTY29wZShXR1BVRGV2
aWNlIGRldmljZSwgV0dQVUVycm9yRmlsdGVyIGZpbHRlcik7CiBXR1BVX0VYUE9SVCB2b2lkIHdn
cHVEZXZpY2VTZXREZXZpY2VMb3N0Q2FsbGJhY2soV0dQVURldmljZSBkZXZpY2UsIFdHUFVEZXZp
Y2VMb3N0Q2FsbGJhY2sgY2FsbGJhY2ssIHZvaWQgKiB1c2VyZGF0YSk7CkBAIC0xMzI4LDEzICsx
NDMwLDEzIEBAIFdHUFVfRVhQT1JUIHZvaWQgd2dwdVJlbmRlclBhc3NFbmNvZGVyU2V0U2Npc3Nv
clJlY3QoV0dQVVJlbmRlclBhc3NFbmNvZGVyIHJlbmRlCiBXR1BVX0VYUE9SVCB2b2lkIHdncHVS
ZW5kZXJQYXNzRW5jb2RlclNldFN0ZW5jaWxSZWZlcmVuY2UoV0dQVVJlbmRlclBhc3NFbmNvZGVy
IHJlbmRlclBhc3NFbmNvZGVyLCB1aW50MzJfdCByZWZlcmVuY2UpOwogV0dQVV9FWFBPUlQgdm9p
ZCB3Z3B1UmVuZGVyUGFzc0VuY29kZXJTZXRWZXJ0ZXhCdWZmZXIoV0dQVVJlbmRlclBhc3NFbmNv
ZGVyIHJlbmRlclBhc3NFbmNvZGVyLCB1aW50MzJfdCBzbG90LCBXR1BVQnVmZmVyIGJ1ZmZlciwg
dWludDY0X3Qgb2Zmc2V0LCB1aW50NjRfdCBzaXplKTsKIFdHUFVfRVhQT1JUIHZvaWQgd2dwdVJl
bmRlclBhc3NFbmNvZGVyU2V0Vmlld3BvcnQoV0dQVVJlbmRlclBhc3NFbmNvZGVyIHJlbmRlclBh
c3NFbmNvZGVyLCBmbG9hdCB4LCBmbG9hdCB5LCBmbG9hdCB3aWR0aCwgZmxvYXQgaGVpZ2h0LCBm
bG9hdCBtaW5EZXB0aCwgZmxvYXQgbWF4RGVwdGgpOwotV0dQVV9FWFBPUlQgdm9pZCB3Z3B1UmVu
ZGVyUGFzc0VuY29kZXJXcml0ZVRpbWVzdGFtcChXR1BVUmVuZGVyUGFzc0VuY29kZXIgcmVuZGVy
UGFzc0VuY29kZXIsIFdHUFVRdWVyeVNldCBxdWVyeVNldCwgdWludDMyX3QgcXVlcnlJbmRleCk7
CiAKIC8vIE1ldGhvZHMgb2YgUmVuZGVyUGlwZWxpbmUKIFdHUFVfRVhQT1JUIFdHUFVCaW5kR3Jv
dXBMYXlvdXQgd2dwdVJlbmRlclBpcGVsaW5lR2V0QmluZEdyb3VwTGF5b3V0KFdHUFVSZW5kZXJQ
aXBlbGluZSByZW5kZXJQaXBlbGluZSwgdWludDMyX3QgZ3JvdXBJbmRleCk7CiBXR1BVX0VYUE9S
VCB2b2lkIHdncHVSZW5kZXJQaXBlbGluZVNldExhYmVsKFdHUFVSZW5kZXJQaXBlbGluZSByZW5k
ZXJQaXBlbGluZSwgY2hhciBjb25zdCAqIGxhYmVsKTsKIAogLy8gTWV0aG9kcyBvZiBTaGFkZXJN
b2R1bGUKK1dHUFVfRVhQT1JUIHZvaWQgd2dwdVNoYWRlck1vZHVsZUdldENvbXBpbGF0aW9uSW5m
byhXR1BVU2hhZGVyTW9kdWxlIHNoYWRlck1vZHVsZSwgV0dQVUNvbXBpbGF0aW9uSW5mb0NhbGxi
YWNrIGNhbGxiYWNrLCB2b2lkICogdXNlcmRhdGEpOwogV0dQVV9FWFBPUlQgdm9pZCB3Z3B1U2hh
ZGVyTW9kdWxlU2V0TGFiZWwoV0dQVVNoYWRlck1vZHVsZSBzaGFkZXJNb2R1bGUsIGNoYXIgY29u
c3QgKiBsYWJlbCk7CiAKIC8vIE1ldGhvZHMgb2YgU3VyZmFjZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkdQVS9XZWJHUFUvV2ViR1BVRXh0LmggYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9XZWJHUFVF
eHQuaAppbmRleCA1YTcyOGMxZmQ5YzViYTFiMGE2YTY0YTA5OTJmM2FhNWYwYzY0MmUxLi4yZTQy
MDEyMmFhZjU1ZjBkYWI0ZGUwNzJhNzlmMDA3YjdiZGU4OTRkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViR1BVL1dlYkdQVS9XZWJHUFVFeHQuaAorKysgYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9XZWJH
UFVFeHQuaApAQCAtMjYsNzQgKzI2LDM3IEBACiAjaWZuZGVmIFdFQkdQVUVYVF9IXwogI2RlZmlu
ZSBXRUJHUFVFWFRfSF8KIAorI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiIHsKKyNlbmRp
ZgorCiB0eXBlZGVmIGVudW0gV0dQVVNUeXBlRXh0ZW5kZWQgewotICAgIFdHUFVTVHlwZV9EZXZp
Y2VEZXNjcmlwdG9yTGFiZWwgPSAweDI0MkE5OUUwLCAvLyBSYW5kb20KKyAgICBXR1BVU1R5cGVF
eHRlbmRlZF9TaGFkZXJNb2R1bGVEZXNjcmlwdG9ySGludHMgPSAweDM0ODk3MEYzLCAvLyBSYW5k
b20KKyAgICBXR1BVU1R5cGVFeHRlbmRlZF9UZXh0dXJlRGVzY3JpcHRvclZpZXdGb3JtYXRzID0g
MHgxRDVCQzU3LCAvLyBSYW5kb20KKyAgICBXR1BVU1R5cGVFeHRlbmRlZF9Gb3JjZTMyID0gMHg3
RkZGRkZGRgogfSBXR1BVU1R5cGVFeHRlbmRlZDsKIAotdHlwZWRlZiBlbnVtIFdHUFVUZXh0dXJl
Rm9ybWF0RXh0ZW5kZWQgewotICAgIFdHUFVUZXh0dXJlRm9ybWF0X0VUQzJSR0I4VW5vcm0gPSAw
eDI4QzI1QzY3LCAvLyBSYW5kb20KLSAgICBXR1BVVGV4dHVyZUZvcm1hdF9FVEMyUkdCOHVub3Jt
U3JnYiA9IDB4NTY2QUFGRUUsIC8vIFJhbmRvbQotICAgIFdHUFVUZXh0dXJlRm9ybWF0X0VUQzJS
R0I4YTFVbm9ybSA9IDB4MkY3OTQzNDgsIC8vIFJhbmRvbQotICAgIFdHUFVUZXh0dXJlRm9ybWF0
X0VUQzJSR0I4YTF1bm9ybVNyZ2IgPSAweDVFRjM4QUJBLCAvLyBSYW5kb20KLSAgICBXR1BVVGV4
dHVyZUZvcm1hdF9FVEMyUkdCQThVbm9ybSA9IDB4NUE0RTY0ODAsIC8vIFJhbmRvbQotICAgIFdH
UFVUZXh0dXJlRm9ybWF0X0VUQzJSR0JBOFVub3JtU3JnYiA9IDB4NzgwOTY4RUIsIC8vIFJhbmRv
bQotICAgIFdHUFVUZXh0dXJlRm9ybWF0X0VBQ1IxMVVub3JtID0gMHg2OTg2MzA5MCwgLy8gUmFu
ZG9tCi0gICAgV0dQVVRleHR1cmVGb3JtYXRfRUFDUjExU25vcm0gPSAweDI1RTU0MjhBLCAvLyBS
YW5kb20KLSAgICBXR1BVVGV4dHVyZUZvcm1hdF9FQUNSRzExVW5vcm0gPSAweDFCMDk2OUIzLCAv
LyBSYW5kb20KLSAgICBXR1BVVGV4dHVyZUZvcm1hdF9FQUNSRzExU25vcm0gPSAweDE2RjRCQjZE
LCAvLyBSYW5kb20KLQotICAgIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEM0eDRVbm9ybSA9IDB4MzlG
NjBGNkUsIC8vIFJhbmRvbQotICAgIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEM0eDRVbm9ybVNyZ2Ig
PSAweDI0NDcyNzAwLCAvLyBSYW5kb20KLSAgICBXR1BVVGV4dHVyZUZvcm1hdF9BU1RDNXg0VW5v
cm0gPSAweDY3RDMyQjBFLCAvLyBSYW5kb20KLSAgICBXR1BVVGV4dHVyZUZvcm1hdF9BU1RDNXg0
VW5vcm1TcmdiID0gMHgzMTNEQTFCRSwgLy8gUmFuZG9tCi0gICAgV0dQVVRleHR1cmVGb3JtYXRf
QVNUQzV4NVVub3JtID0gMHgxNUFCOERGRCwgLy8gUmFuZG9tCi0gICAgV0dQVVRleHR1cmVGb3Jt
YXRfQVNUQzV4NVVub3JtU3JnYiA9IDB4N0IwMEVCNTcsIC8vIFJhbmRvbQotICAgIFdHUFVUZXh0
dXJlRm9ybWF0X0FTVEM2eDVVbm9ybSA9IDB4NjUzRTgwQzMsIC8vIFJhbmRvbQotICAgIFdHUFVU
ZXh0dXJlRm9ybWF0X0FTVEM2eDVVbm9ybVNyZ2IgPSAweDUwQUU4NjlBLCAvLyBSYW5kb20KLSAg
ICBXR1BVVGV4dHVyZUZvcm1hdF9BU1RDNng2VW5vcm0gPSAweDU3OUFGNTk4LCAvLyBSYW5kb20K
LSAgICBXR1BVVGV4dHVyZUZvcm1hdF9BU1RDNng2VW5vcm1TcmdiID0gMHg3M0I2OTczMiwgLy8g
UmFuZG9tCi0gICAgV0dQVVRleHR1cmVGb3JtYXRfQVNUQzh4NVVub3JtID0gMHgwNkY3MDMwOCwg
Ly8gUmFuZG9tCi0gICAgV0dQVVRleHR1cmVGb3JtYXRfQVNUQzh4NVVub3JtU3JnYiA9IDB4NDIw
RUE5NDYsIC8vIFJhbmRvbQotICAgIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEM4eDZVbm9ybSA9IDB4
NjEwODZBQzgsIC8vIFJhbmRvbQotICAgIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEM4eDZVbm9ybVNy
Z2IgPSAweDBFMTdEMzlBLCAvLyBSYW5kb20KLSAgICBXR1BVVGV4dHVyZUZvcm1hdF9BU1RDOHg4
VW5vcm0gPSAweDU2OUJGMkU4LCAvLyBSYW5kb20KLSAgICBXR1BVVGV4dHVyZUZvcm1hdF9BU1RD
OHg4VW5vcm1TcmdiID0gMHg1NzJBNDg0OSwgLy8gUmFuZG9tCi0gICAgV0dQVVRleHR1cmVGb3Jt
YXRfQVNUQzEweDVVbm9ybSA9IDB4NjNBQkU0MzIsIC8vIFJhbmRvbQotICAgIFdHUFVUZXh0dXJl
Rm9ybWF0X0FTVEMxMHg1VW5vcm1TcmdiID0gMHgzQkMzQUE0QywgLy8gUmFuZG9tCi0gICAgV0dQ
VVRleHR1cmVGb3JtYXRfQVNUQzEweDZVbm9ybSA9IDB4NkZFMTk0OTksIC8vIFJhbmRvbQotICAg
IFdHUFVUZXh0dXJlRm9ybWF0X0FTVEMxMHg2VW5vcm1TcmdiID0gMHg3RkYwQjVDMCwgLy8gUmFu
ZG9tCi0gICAgV0dQVVRleHR1cmVGb3JtYXRfQVNUQzEweDhVbm9ybSA9IDB4MjAxNUY0QzMsIC8v
IFJhbmRvbQotICAgIFdHUFVUZXh0dXJlRm9ybWF0X0FTVEMxMHg4VW5vcm1TcmdiID0gMHg3RDUx
REM2RiwgLy8gUmFuZG9tCi0gICAgV0dQVVRleHR1cmVGb3JtYXRfQVNUQzEweDEwVW5vcm0gPSAw
eDY3RjEwMTczLCAvLyBSYW5kb20KLSAgICBXR1BVVGV4dHVyZUZvcm1hdF9BU1RDMTB4MTBVbm9y
bVNyZ2IgPSAweDM1RDc0RDIxLCAvLyBSYW5kb20KLSAgICBXR1BVVGV4dHVyZUZvcm1hdF9BU1RD
MTJ4MTBVbm9ybSA9IDB4MDlEQUQwQTcsIC8vIFJhbmRvbQotICAgIFdHUFVUZXh0dXJlRm9ybWF0
X0FTVEMxMngxMFVub3JtU3JnYiA9IDB4MzU2MEM5M0EsIC8vIFJhbmRvbQotICAgIFdHUFVUZXh0
dXJlRm9ybWF0X0FTVEMxMngxMlVub3JtID0gMHgyNkNDMzA1MCwgLy8gUmFuZG9tCi0gICAgV0dQ
VVRleHR1cmVGb3JtYXRfQVNUQzEyeDEyVW5vcm1TcmdiID0gMHgzRUY1NzhBMCwgLy8gUmFuZG9t
Ci0KLSAgICBXR1BVVGV4dHVyZUZvcm1hdF9EZXB0aDMyRmxvYXRTdGVuY2lsOCA9IDB4NTNEQzIz
MDcsIC8vIFJhbmRvbQotfSBXR1BVVGV4dHVyZUZvcm1hdEV4dGVuZGVkOwotCi10eXBlZGVmIGVu
dW0gV0dQVUZlYXR1cmVOYW1lRXh0ZW5kZWQgewotICAgIFdHUFVGZWF0dXJlTmFtZV9EZXB0aENs
aXBDb250cm9sID0gMHg1NUFCQzEzRCwgLy8gUmFuZG9tCi0gICAgV0dQVUZlYXR1cmVOYW1lX0lu
ZGlyZWN0Rmlyc3RJbnN0YW5jZSA9IDB4MkE3MDg0RjUsIC8vIFJhbmRvbQotICAgIFdHUFVGZWF0
dXJlTmFtZV9UZXh0dXJlQ29tcHJlc3Npb25FVEMyID0gMHg3QkY2NkY2OSwgLy8gUmFuZG9tCi0g
ICAgV0dQVUZlYXR1cmVOYW1lX1RleHR1cmVDb21wcmVzc2lvbkFTVEMgPSAweDI2MTczMzk5LCAv
LyBSYW5kb20KLX0gV0dQVUZlYXR1cmVOYW1lRXh0ZW5kZWQ7Ci0KLXR5cGVkZWYgZW51bSBXR1BV
UG93ZXJQcmVmZXJlbmNlRXh0ZW5kZWQgewotICAgIFdHUFVQb3dlclByZWZlcmVuY2VfTm9QcmVm
ZXJlbmNlID0gMHg0NzQ4MzM2RiwKLX0gV0dQVVBvd2VyUHJlZmVyZW5jZUV4dGVuZGVkOwotCi10
eXBlZGVmIHN0cnVjdCBXR1BVRGV2aWNlRGVzY3JpcHRvckxhYmVsIHsKLSAgICBXR1BVQ2hhaW5l
ZFN0cnVjdCBoZWFkZXI7Ci0gICAgV0dQVUNoYWluZWRTdHJ1Y3QgY29uc3QgKiBuZXh0SW5DaGFp
bjsKLSAgICBjaGFyIGNvbnN0ICogbGFiZWw7Ci19IFdHUFVEZXZpY2VEZXNjcmlwdG9yTGFiZWw7
Cit0eXBlZGVmIHN0cnVjdCBXR1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50IHsKKyAgICBX
R1BVUGlwZWxpbmVMYXlvdXQgbGF5b3V0OworfSBXR1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25I
aW50OwogCi0jaWZkZWYgX19jcGx1c3BsdXMKLWV4dGVybiAiQyIgewotI2VuZGlmCit0eXBlZGVm
IHN0cnVjdCBXR1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50RW50cnkgeworICAgIFdHUFVD
aGFpbmVkU3RydWN0IGNvbnN0ICogbmV4dEluQ2hhaW47CisgICAgY2hhciBjb25zdCAqIGtleTsK
KyAgICBXR1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50IGhpbnQ7Cit9IFdHUFVTaGFkZXJN
b2R1bGVDb21waWxhdGlvbkhpbnRFbnRyeTsKKwordHlwZWRlZiBzdHJ1Y3QgV0dQVVNoYWRlck1v
ZHVsZURlc2NyaXB0b3JIaW50cyB7CisgICAgV0dQVUNoYWluZWRTdHJ1Y3QgY2hhaW47CisgICAg
dWludDMyX3QgaGludHNDb3VudDsKKyAgICBXR1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50
RW50cnkgY29uc3QgKiBoaW50czsKK30gV0dQVVNoYWRlck1vZHVsZURlc2NyaXB0b3JIaW50czsK
KwordHlwZWRlZiBzdHJ1Y3QgV0dQVVRleHR1cmVEZXNjcmlwdG9yVmlld0Zvcm1hdHMgeworICAg
IFdHUFVDaGFpbmVkU3RydWN0IGNoYWluOworICAgIHVpbnQzMl90IHZpZXdGb3JtYXRzQ291bnQ7
CisgICAgV0dQVVRleHR1cmVGb3JtYXQgY29uc3QgKiB2aWV3Rm9ybWF0czsKK30gV0dQVVRleHR1
cmVEZXNjcmlwdG9yVmlld0Zvcm1hdHM7CiAKICNpZiAhZGVmaW5lZChXR1BVX1NLSVBfUFJPQ1Mp
CiAKQEAgLTEzOCwxMCArMTAxLDYgQEAgdHlwZWRlZiB2b2lkICgqV0dQVVByb2NTYW1wbGVyU2V0
TGFiZWwpKFdHUFVTYW1wbGVyIHNhbXBsZXIsIGNoYXIgY29uc3QgKiBsYWJlbCkKIHR5cGVkZWYg
dm9pZCAoKldHUFVQcm9jVGV4dHVyZVNldExhYmVsKShXR1BVVGV4dHVyZSBzYW1wbGVyLCBjaGFy
IGNvbnN0ICogbGFiZWwpOwogdHlwZWRlZiB2b2lkICgqV0dQVVByb2NUZXh0dXJlVmlld1NldExh
YmVsKShXR1BVVGV4dHVyZVZpZXcgc2FtcGxlciwgY2hhciBjb25zdCAqIGxhYmVsKTsKIAotdHlw
ZWRlZiBXR1BVRmVhdHVyZU5hbWUgKCpXR1BVUHJvY0FkYXB0ZXJHZXRGZWF0dXJlQXRJbmRleCko
V0dQVUFkYXB0ZXIgYWRhcHRlciwgc2l6ZV90IGluZGV4KTsKLQotdHlwZWRlZiB2b2lkICgqV0dQ
VVByb2NDb21tYW5kRW5jb2RlckZpbGxCdWZmZXIpKFdHUFVDb21tYW5kRW5jb2RlciBjb21tYW5k
RW5jb2RlciwgV0dQVUJ1ZmZlciBkZXN0aW5hdGlvbiwgdWludDY0X3QgZGVzdGluYXRpb25PZmZz
ZXQsIHVpbnQ2NF90IHNpemUpOwotCiAjZW5kaWYgIC8vICFkZWZpbmVkKFdHUFVfU0tJUF9QUk9D
UykKIAogI2lmICFkZWZpbmVkKFdHUFVfU0tJUF9ERUNMQVJBVElPTlMpCkBAIC0xODcsMTAgKzE0
Niw2IEBAIFdHUFVfRVhQT1JUIHZvaWQgd2dwdVNhbXBsZXJTZXRMYWJlbChXR1BVU2FtcGxlciBz
YW1wbGVyLCBjaGFyIGNvbnN0ICogbGFiZWwpOwogV0dQVV9FWFBPUlQgdm9pZCB3Z3B1VGV4dHVy
ZVNldExhYmVsKFdHUFVUZXh0dXJlIHNhbXBsZXIsIGNoYXIgY29uc3QgKiBsYWJlbCk7CiBXR1BV
X0VYUE9SVCB2b2lkIHdncHVUZXh0dXJlVmlld1NldExhYmVsKFdHUFVUZXh0dXJlVmlldyBzYW1w
bGVyLCBjaGFyIGNvbnN0ICogbGFiZWwpOwogCi1XR1BVX0VYUE9SVCBXR1BVRmVhdHVyZU5hbWUg
d2dwdUFkYXB0ZXJHZXRGZWF0dXJlQXRJbmRleChXR1BVQWRhcHRlciBhZGFwdGVyLCBzaXplX3Qg
aW5kZXgpOwotCi1XR1BVX0VYUE9SVCB2b2lkIHdncHVDb21tYW5kRW5jb2RlckZpbGxCdWZmZXIo
V0dQVUNvbW1hbmRFbmNvZGVyIGNvbW1hbmRFbmNvZGVyLCBXR1BVQnVmZmVyIGRlc3RpbmF0aW9u
LCB1aW50NjRfdCBkZXN0aW5hdGlvbk9mZnNldCwgdWludDY0X3Qgc2l6ZSk7Ci0KICNlbmRpZiAg
Ly8gIWRlZmluZWQoV0dQVV9TS0lQX0RFQ0xBUkFUSU9OUykKIAogI2lmZGVmIF9fY3BsdXNwbHVz
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1Jl
bW90ZUJ1ZmZlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BV
L1JlbW90ZUJ1ZmZlci5jcHAKaW5kZXggMjY1MDkzNGMzYzllNTJmMDdmNDViMGE4YWRjMmQ0N2M0
YzRkM2Q0ZC4uODViNDA3MWE1NTkyYzhhYTQyYTdlYjcxYTY2ZGRlMzdjNWJmNWMwOCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVCdWZm
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVt
b3RlQnVmZmVyLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMjEg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDIxLTIw
MjIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCkBAIC01MCw3ICs1MCw3IEBAIHZvaWQgUmVtb3RlQnVmZmVyOjpzdG9wTGlzdGVu
aW5nRm9ySVBDKCkKICAgICBtX3N0cmVhbUNvbm5lY3Rpb24tPnN0b3BSZWNlaXZpbmdNZXNzYWdl
cyhNZXNzYWdlczo6UmVtb3RlQnVmZmVyOjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksIG1faWRlbnRp
Zmllci50b1VJbnQ2NCgpKTsKIH0KIAotdm9pZCBSZW1vdGVCdWZmZXI6Om1hcEFzeW5jKFBBTDo6
V2ViR1BVOjpNYXBNb2RlRmxhZ3MgbWFwTW9kZUZsYWdzLCBzdGQ6Om9wdGlvbmFsPFBBTDo6V2Vi
R1BVOjpTaXplNjQ+IG9mZnNldCwgc3RkOjpvcHRpb25hbDxQQUw6OldlYkdQVTo6U2l6ZTY0PiBz
aXplLCBXVEY6OkNvbXBsZXRpb25IYW5kbGVyPHZvaWQoc3RkOjpvcHRpb25hbDxWZWN0b3I8dWlu
dDhfdD4+JiYpPiYmIGNhbGxiYWNrKQordm9pZCBSZW1vdGVCdWZmZXI6Om1hcEFzeW5jKFBBTDo6
V2ViR1BVOjpNYXBNb2RlRmxhZ3MgbWFwTW9kZUZsYWdzLCBQQUw6OldlYkdQVTo6U2l6ZTY0IG9m
ZnNldCwgc3RkOjpvcHRpb25hbDxQQUw6OldlYkdQVTo6U2l6ZTY0PiBzaXplLCBXVEY6OkNvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoc3RkOjpvcHRpb25hbDxWZWN0b3I8dWludDhfdD4+JiYpPiYmIGNh
bGxiYWNrKQogewogICAgIGlmIChtX2lzTWFwcGVkKSB7CiAgICAgICAgIGNhbGxiYWNrKHN0ZDo6
bnVsbG9wdCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3Mv
V2ViR1BVL1JlbW90ZUJ1ZmZlci5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNz
L1dlYkdQVS9SZW1vdGVCdWZmZXIuaAppbmRleCBiMzc1MGZjZGI0ZjNiMDk0YzVkNjkyNTRkM2Ix
NDBkNWE5ZWI4Njc4Li5lN2Y0NzRiMmY4NzUwOTljOWQxMTBmODg4MjQyZGQxZTVjZGVkZTk5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90
ZUJ1ZmZlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUv
UmVtb3RlQnVmZmVyLmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDIx
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAyMS0y
MDIyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucwpAQCAtNzcsNyArNzcsNyBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBkaWRSZWNl
aXZlU3RyZWFtTWVzc2FnZShJUEM6OlN0cmVhbVNlcnZlckNvbm5lY3Rpb25CYXNlJiwgSVBDOjpE
ZWNvZGVyJikgZmluYWw7CiAKLSAgICB2b2lkIG1hcEFzeW5jKFBBTDo6V2ViR1BVOjpNYXBNb2Rl
RmxhZ3MsIHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlNpemU2ND4gb2Zmc2V0LCBzdGQ6Om9w
dGlvbmFsPFBBTDo6V2ViR1BVOjpTaXplNjQ+IHNpemVGb3JNYXAsIFdURjo6Q29tcGxldGlvbkhh
bmRsZXI8dm9pZChzdGQ6Om9wdGlvbmFsPFZlY3Rvcjx1aW50OF90Pj4mJik+JiYpOworICAgIHZv
aWQgbWFwQXN5bmMoUEFMOjpXZWJHUFU6Ok1hcE1vZGVGbGFncywgUEFMOjpXZWJHUFU6OlNpemU2
NCBvZmZzZXQsIHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlNpemU2ND4gc2l6ZUZvck1hcCwg
V1RGOjpDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8VmVjdG9yPHVpbnQ4X3Q+
PiYmKT4mJik7CiAgICAgdm9pZCB1bm1hcChWZWN0b3I8dWludDhfdD4mJik7CiAKICAgICB2b2lk
IGRlc3Ryb3koKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGlj
cy9XZWJHUFUvUmVtb3RlQnVmZmVyLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9HUFVQcm9j
ZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVCdWZmZXIubWVzc2FnZXMuaW4KaW5kZXggOTdhNTFm
M2NhMmMzYjAxNzU5MGYyYzNiYmU2MzQzODM3OGNhNDVjYi4uMjY1ZTQzZTliMmVhYjZiNDRjY2I1
YTE1M2JlYzdhZGMyZThjY2RlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVCdWZmZXIubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVCdWZmZXIubWVzc2FnZXMuaW4K
QEAgLTEsNCArMSw0IEBACi0vKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorLyogQ29weXJpZ2h0IChDKSAyMDIxLTIwMjIgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yNCw3
ICsyNCw3IEBACiAjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKQogCiBtZXNzYWdlcyAtPiBSZW1vdGVC
dWZmZXIgTm90UmVmQ291bnRlZCBTdHJlYW0gewotICAgIHZvaWQgTWFwQXN5bmMoUEFMOjpXZWJH
UFU6Ok1hcE1vZGVGbGFncyBtYXBNb2RlRmxhZ3MsIHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6
OlNpemU2ND4gb2Zmc2V0LCBzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpTaXplNjQ+IHNpemUp
IC0+IChzdGQ6Om9wdGlvbmFsPFZlY3Rvcjx1aW50OF90Pj4gZGF0YSkgU3luY2hyb25vdXMKKyAg
ICB2b2lkIE1hcEFzeW5jKFBBTDo6V2ViR1BVOjpNYXBNb2RlRmxhZ3MgbWFwTW9kZUZsYWdzLCBQ
QUw6OldlYkdQVTo6U2l6ZTY0IG9mZnNldCwgc3RkOjpvcHRpb25hbDxQQUw6OldlYkdQVTo6U2l6
ZTY0PiBzaXplKSAtPiAoc3RkOjpvcHRpb25hbDxWZWN0b3I8dWludDhfdD4+IGRhdGEpIFN5bmNo
cm9ub3VzCiAgICAgdm9pZCBVbm1hcChWZWN0b3I8dWludDhfdD4gZGF0YSkKICAgICB2b2lkIERl
c3Ryb3koKQogICAgIHZvaWQgU2V0TGFiZWwoU3RyaW5nIGxhYmVsKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVDb21tYW5kRW5jb2Rl
ci5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUNv
bW1hbmRFbmNvZGVyLmNwcAppbmRleCBkOWViNzkzZGFkNDQ1Nzc3MmFiMDNkZDBmYjU0MjQyMWMy
OGNhMDkwLi4wNjQxZDNkZGZkYmI2NjIzYzQzY2MwMDdkYjNmMDYzZjNmNTk3ZDBkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUNvbW1h
bmRFbmNvZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2Vi
R1BVL1JlbW90ZUNvbW1hbmRFbmNvZGVyLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJp
Z2h0IChDKSAyMDIxLTIwMjIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0xNTEsMTcgKzE1MSwxNyBAQCB2b2lkIFJlbW90
ZUNvbW1hbmRFbmNvZGVyOjpjb3B5VGV4dHVyZVRvVGV4dHVyZSgKICAgICBtX2JhY2tpbmctPmNv
cHlUZXh0dXJlVG9UZXh0dXJlKCpjb252ZXJ0ZWRTb3VyY2UsICpjb252ZXJ0ZWREZXN0aW5hdGlv
biwgKmNvbnZlcnRlZENvcHlTaXplKTsKIH0KIAotdm9pZCBSZW1vdGVDb21tYW5kRW5jb2Rlcjo6
ZmlsbEJ1ZmZlcigKLSAgICBXZWJHUFVJZGVudGlmaWVyIGRlc3RpbmF0aW9uLAotICAgIFBBTDo6
V2ViR1BVOjpTaXplNjQgZGVzdGluYXRpb25PZmZzZXQsCi0gICAgUEFMOjpXZWJHUFU6OlNpemU2
NCBzaXplKQordm9pZCBSZW1vdGVDb21tYW5kRW5jb2Rlcjo6Y2xlYXJCdWZmZXIoCisgICAgV2Vi
R1BVSWRlbnRpZmllciBidWZmZXIsCisgICAgUEFMOjpXZWJHUFU6OlNpemU2NCBvZmZzZXQsCisg
ICAgc3RkOjpvcHRpb25hbDxQQUw6OldlYkdQVTo6U2l6ZTY0PiBzaXplKQogewotICAgIGF1dG8g
Y29udmVydGVkRGVzdGluYXRpb24gPSBtX29iamVjdEhlYXAuY29udmVydEJ1ZmZlckZyb21CYWNr
aW5nKGRlc3RpbmF0aW9uKTsKLSAgICBBU1NFUlQoY29udmVydGVkRGVzdGluYXRpb24pOwotICAg
IGlmICghY29udmVydGVkRGVzdGluYXRpb24pCisgICAgYXV0byBjb252ZXJ0ZWRCdWZmZXIgPSBt
X29iamVjdEhlYXAuY29udmVydEJ1ZmZlckZyb21CYWNraW5nKGJ1ZmZlcik7CisgICAgQVNTRVJU
KGNvbnZlcnRlZEJ1ZmZlcik7CisgICAgaWYgKCFjb252ZXJ0ZWRCdWZmZXIpCiAgICAgICAgIHJl
dHVybjsKIAotICAgIG1fYmFja2luZy0+ZmlsbEJ1ZmZlcigqY29udmVydGVkRGVzdGluYXRpb24s
IGRlc3RpbmF0aW9uT2Zmc2V0LCBzaXplKTsKKyAgICBtX2JhY2tpbmctPmNsZWFyQnVmZmVyKCpj
b252ZXJ0ZWRCdWZmZXIsIG9mZnNldCwgc2l6ZSk7CiB9CiAKIHZvaWQgUmVtb3RlQ29tbWFuZEVu
Y29kZXI6OnB1c2hEZWJ1Z0dyb3VwKFN0cmluZyYmIGdyb3VwTGFiZWwpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUNvbW1hbmRFbmNv
ZGVyLmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUNv
bW1hbmRFbmNvZGVyLmgKaW5kZXggYTViNDJjOTFlMDFkYTY4M2FhZjJkMjRlNjJkODBhNjk5N2Yx
Mzk3Mi4uOWE0N2M2MzkyMjliNGRjNDA1ZmVlMjlkZTljNmU3YWMwZDJlNjZiNiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVDb21tYW5k
RW5jb2Rlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUv
UmVtb3RlQ29tbWFuZEVuY29kZXIuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChD
KSAyMDIxLTIwMjIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCkBAIC0xMDQsMTAgKzEwNCwxMCBAQCBwcml2YXRlOgogICAgICAg
ICBjb25zdCBXZWJHUFU6OkltYWdlQ29weVRleHR1cmUmIGRlc3RpbmF0aW9uLAogICAgICAgICBj
b25zdCBXZWJHUFU6OkV4dGVudDNEJiBjb3B5U2l6ZSk7CiAKLSAgICB2b2lkIGZpbGxCdWZmZXIo
Ci0gICAgICAgIFdlYkdQVUlkZW50aWZpZXIgZGVzdGluYXRpb24sCi0gICAgICAgIFBBTDo6V2Vi
R1BVOjpTaXplNjQgZGVzdGluYXRpb25PZmZzZXQsCi0gICAgICAgIFBBTDo6V2ViR1BVOjpTaXpl
NjQpOworICAgIHZvaWQgY2xlYXJCdWZmZXIoCisgICAgICAgIFdlYkdQVUlkZW50aWZpZXIgYnVm
ZmVyLAorICAgICAgICBQQUw6OldlYkdQVTo6U2l6ZTY0IG9mZnNldCA9IDAsCisgICAgICAgIHN0
ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlNpemU2ND4gPSBzdGQ6Om51bGxvcHQpOwogCiAgICAg
dm9pZCBwdXNoRGVidWdHcm91cChTdHJpbmcmJiBncm91cExhYmVsKTsKICAgICB2b2lkIHBvcERl
YnVnR3JvdXAoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGlj
cy9XZWJHUFUvUmVtb3RlQ29tbWFuZEVuY29kZXIubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUNvbW1hbmRFbmNvZGVyLm1lc3NhZ2Vz
LmluCmluZGV4IGJjMGJmMzMxMTQ4ZDJlOTUzMWM1OTdjYjljZGRkNjE3M2I3ZDI5YzAuLjE5NTNi
Y2YyMDEwM2MzZjBjNGYxMjlkMmJjOGZmZGRiM2ZjNGUyOGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQ29tbWFuZEVuY29kZXIubWVz
c2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9S
ZW1vdGVDb21tYW5kRW5jb2Rlci5tZXNzYWdlcy5pbgpAQCAtMSw0ICsxLDQgQEAKLS8qIENvcHly
aWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvKiBDb3B5cmln
aHQgKEMpIDIwMjEtMjAyMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTMwLDcgKzMwLDcgQEAgbWVzc2FnZXMgLT4gUmVt
b3RlQ29tbWFuZEVuY29kZXIgTm90UmVmQ291bnRlZCBTdHJlYW0gewogICAgIHZvaWQgQ29weUJ1
ZmZlclRvVGV4dHVyZShXZWJLaXQ6OldlYkdQVTo6SW1hZ2VDb3B5QnVmZmVyIHNvdXJjZSwgV2Vi
S2l0OjpXZWJHUFU6OkltYWdlQ29weVRleHR1cmUgZGVzdGluYXRpb24sIFdlYktpdDo6V2ViR1BV
OjpFeHRlbnQzRCBjb3B5U2l6ZSkKICAgICB2b2lkIENvcHlUZXh0dXJlVG9CdWZmZXIoV2ViS2l0
OjpXZWJHUFU6OkltYWdlQ29weVRleHR1cmUgc291cmNlLCBXZWJLaXQ6OldlYkdQVTo6SW1hZ2VD
b3B5QnVmZmVyIGRlc3RpbmF0aW9uLCBXZWJLaXQ6OldlYkdQVTo6RXh0ZW50M0QgY29weVNpemUp
CiAgICAgdm9pZCBDb3B5VGV4dHVyZVRvVGV4dHVyZShXZWJLaXQ6OldlYkdQVTo6SW1hZ2VDb3B5
VGV4dHVyZSBzb3VyY2UsIFdlYktpdDo6V2ViR1BVOjpJbWFnZUNvcHlUZXh0dXJlIGRlc3RpbmF0
aW9uLCBXZWJLaXQ6OldlYkdQVTo6RXh0ZW50M0QgY29weVNpemUpCi0gICAgdm9pZCBGaWxsQnVm
ZmVyKFdlYktpdDo6V2ViR1BVSWRlbnRpZmllciBkZXN0aW5hdGlvbiwgUEFMOjpXZWJHUFU6OlNp
emU2NCBkZXN0aW5hdGlvbk9mZnNldCwgUEFMOjpXZWJHUFU6OlNpemU2NCBzaXplKQorICAgIHZv
aWQgQ2xlYXJCdWZmZXIoV2ViS2l0OjpXZWJHUFVJZGVudGlmaWVyIGJ1ZmZlciwgUEFMOjpXZWJH
UFU6OlNpemU2NCBvZmZzZXQsIHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlNpemU2ND4gc2l6
ZSkKICAgICB2b2lkIFB1c2hEZWJ1Z0dyb3VwKFN0cmluZyBncm91cExhYmVsKQogICAgIHZvaWQg
UG9wRGVidWdHcm91cCgpCiAgICAgdm9pZCBJbnNlcnREZWJ1Z01hcmtlcihTdHJpbmcgbWFya2Vy
TGFiZWwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2Vi
R1BVL1JlbW90ZUNvbXB1dGVQYXNzRW5jb2Rlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUNvbXB1dGVQYXNzRW5jb2Rlci5jcHAKaW5kZXggOGUw
NzNlZDFkZmNiYTRhZDZkZDY0NzY5ZWM0ODA3MzVmZDg5ZWI5ZC4uNzNjNTkyNzA2NTg3NjBmZWVk
OTFkN2QzMzZmNDNhMTczNDMwNDVmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9j
ZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVDb21wdXRlUGFzc0VuY29kZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQ29tcHV0ZVBhc3NF
bmNvZGVyLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDIxLTIwMjIg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCkBAIC02MSw5ICs2MSw5IEBAIHZvaWQgUmVtb3RlQ29tcHV0ZVBhc3NFbmNvZGVyOjpz
ZXRQaXBlbGluZShXZWJHUFVJZGVudGlmaWVyIGNvbXB1dGVQaXBlbGluZSkKICAgICBtX2JhY2tp
bmctPnNldFBpcGVsaW5lKCpjb252ZXJ0ZWRDb21wdXRlUGlwZWxpbmUpOwogfQogCi12b2lkIFJl
bW90ZUNvbXB1dGVQYXNzRW5jb2Rlcjo6ZGlzcGF0Y2goUEFMOjpXZWJHUFU6OlNpemUzMiB4LCBz
dGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpTaXplMzI+IHksIHN0ZDo6b3B0aW9uYWw8UEFMOjpX
ZWJHUFU6OlNpemUzMj4geikKK3ZvaWQgUmVtb3RlQ29tcHV0ZVBhc3NFbmNvZGVyOjpkaXNwYXRj
aChQQUw6OldlYkdQVTo6U2l6ZTMyIHdvcmtncm91cENvdW50WCwgUEFMOjpXZWJHUFU6OlNpemUz
MiB3b3JrZ3JvdXBDb3VudFksIFBBTDo6V2ViR1BVOjpTaXplMzIgd29ya2dyb3VwQ291bnRaKQog
ewotICAgIG1fYmFja2luZy0+ZGlzcGF0Y2goeCwgeSwgeik7CisgICAgbV9iYWNraW5nLT5kaXNw
YXRjaCh3b3JrZ3JvdXBDb3VudFgsIHdvcmtncm91cENvdW50WSwgd29ya2dyb3VwQ291bnRaKTsK
IH0KIAogdm9pZCBSZW1vdGVDb21wdXRlUGFzc0VuY29kZXI6OmRpc3BhdGNoSW5kaXJlY3QoV2Vi
R1BVSWRlbnRpZmllciBpbmRpcmVjdEJ1ZmZlciwgUEFMOjpXZWJHUFU6OlNpemU2NCBpbmRpcmVj
dE9mZnNldCkKQEAgLTc2LDI0ICs3Niw5IEBAIHZvaWQgUmVtb3RlQ29tcHV0ZVBhc3NFbmNvZGVy
OjpkaXNwYXRjaEluZGlyZWN0KFdlYkdQVUlkZW50aWZpZXIgaW5kaXJlY3RCdWZmZXIsCiAgICAg
bV9iYWNraW5nLT5kaXNwYXRjaEluZGlyZWN0KCpjb252ZXJ0ZWRJbmRpcmVjdEJ1ZmZlciwgaW5k
aXJlY3RPZmZzZXQpOwogfQogCi12b2lkIFJlbW90ZUNvbXB1dGVQYXNzRW5jb2Rlcjo6YmVnaW5Q
aXBlbGluZVN0YXRpc3RpY3NRdWVyeShXZWJHUFVJZGVudGlmaWVyIHF1ZXJ5U2V0LCBQQUw6Oldl
YkdQVTo6U2l6ZTMyIHF1ZXJ5SW5kZXgpCit2b2lkIFJlbW90ZUNvbXB1dGVQYXNzRW5jb2Rlcjo6
ZW5kKCkKIHsKLSAgICBhdXRvIGNvbnZlcnRlZFF1ZXJ5U2V0ID0gbV9vYmplY3RIZWFwLmNvbnZl
cnRRdWVyeVNldEZyb21CYWNraW5nKHF1ZXJ5U2V0KTsKLSAgICBBU1NFUlQoY29udmVydGVkUXVl
cnlTZXQpOwotICAgIGlmICghY29udmVydGVkUXVlcnlTZXQpCi0gICAgICAgIHJldHVybjsKLQot
ICAgIG1fYmFja2luZy0+YmVnaW5QaXBlbGluZVN0YXRpc3RpY3NRdWVyeSgqY29udmVydGVkUXVl
cnlTZXQsIHF1ZXJ5SW5kZXgpOwotfQotCi12b2lkIFJlbW90ZUNvbXB1dGVQYXNzRW5jb2Rlcjo6
ZW5kUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkoKQotewotICAgIG1fYmFja2luZy0+ZW5kUGlwZWxp
bmVTdGF0aXN0aWNzUXVlcnkoKTsKLX0KLQotdm9pZCBSZW1vdGVDb21wdXRlUGFzc0VuY29kZXI6
OmVuZFBhc3MoKQotewotICAgIG1fYmFja2luZy0+ZW5kUGFzcygpOworICAgIG1fYmFja2luZy0+
ZW5kKCk7CiB9CiAKIHZvaWQgUmVtb3RlQ29tcHV0ZVBhc3NFbmNvZGVyOjpzZXRCaW5kR3JvdXAo
UEFMOjpXZWJHUFU6OkluZGV4MzIgaW5kZXgsIFdlYkdQVUlkZW50aWZpZXIgYmluZEdyb3VwLApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1v
dGVDb21wdXRlUGFzc0VuY29kZXIuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGlj
cy9XZWJHUFUvUmVtb3RlQ29tcHV0ZVBhc3NFbmNvZGVyLmgKaW5kZXggMzU4ZTA1ZDllMTZkOTgy
MDUzZDIxODM4ZWZmODkxZGZlM2IyZDdlNS4uODIxYTUwYTY0ODRmNjFhZGI5NmZjZDNmMjc0NmFl
MTFiMjEzM2M0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNz
L1dlYkdQVS9SZW1vdGVDb21wdXRlUGFzc0VuY29kZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUNvbXB1dGVQYXNzRW5jb2Rlci5oCkBAIC0x
LDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEtMjAyMiBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTc0LDEz
ICs3NCwxMCBAQCBwcml2YXRlOgogICAgIHZvaWQgZGlkUmVjZWl2ZVN0cmVhbU1lc3NhZ2UoSVBD
OjpTdHJlYW1TZXJ2ZXJDb25uZWN0aW9uQmFzZSYsIElQQzo6RGVjb2RlciYpIGZpbmFsOwogCiAg
ICAgdm9pZCBzZXRQaXBlbGluZShXZWJHUFVJZGVudGlmaWVyKTsKLSAgICB2b2lkIGRpc3BhdGNo
KFBBTDo6V2ViR1BVOjpTaXplMzIgeCwgc3RkOjpvcHRpb25hbDxQQUw6OldlYkdQVTo6U2l6ZTMy
PiB5LCBzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpTaXplMzI+KTsKKyAgICB2b2lkIGRpc3Bh
dGNoKFBBTDo6V2ViR1BVOjpTaXplMzIgd29ya2dyb3VwQ291bnRYLCBQQUw6OldlYkdQVTo6U2l6
ZTMyIHdvcmtncm91cENvdW50WSA9IDEsIFBBTDo6V2ViR1BVOjpTaXplMzIgd29ya2dyb3VwQ291
bnRaID0gMSk7CiAgICAgdm9pZCBkaXNwYXRjaEluZGlyZWN0KFdlYkdQVUlkZW50aWZpZXIgaW5k
aXJlY3RCdWZmZXIsIFBBTDo6V2ViR1BVOjpTaXplNjQgaW5kaXJlY3RPZmZzZXQpOwogCi0gICAg
dm9pZCBiZWdpblBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KFdlYkdQVUlkZW50aWZpZXIsIFBBTDo6
V2ViR1BVOjpTaXplMzIgcXVlcnlJbmRleCk7Ci0gICAgdm9pZCBlbmRQaXBlbGluZVN0YXRpc3Rp
Y3NRdWVyeSgpOwotCi0gICAgdm9pZCBlbmRQYXNzKCk7CisgICAgdm9pZCBlbmQoKTsKIAogICAg
IHZvaWQgc2V0QmluZEdyb3VwKFBBTDo6V2ViR1BVOjpJbmRleDMyLCBXZWJHUFVJZGVudGlmaWVy
LAogICAgICAgICBzdGQ6Om9wdGlvbmFsPFZlY3RvcjxQQUw6OldlYkdQVTo6QnVmZmVyRHluYW1p
Y09mZnNldD4+JiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBo
aWNzL1dlYkdQVS9SZW1vdGVDb21wdXRlUGFzc0VuY29kZXIubWVzc2FnZXMuaW4gYi9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUNvbXB1dGVQYXNzRW5jb2Rl
ci5tZXNzYWdlcy5pbgppbmRleCA4NmJkMmI1NzJjYmE1NDExYTIzYzI5Yzk3ZDA3Y2M2YzBjMGVj
MmY1Li4yMzc1OGEyNTBiNDY1MTg1ZmZjNjdjNTRiN2FkYmUyMzc1YjIzYjcwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUNvbXB1dGVQ
YXNzRW5jb2Rlci5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3Jh
cGhpY3MvV2ViR1BVL1JlbW90ZUNvbXB1dGVQYXNzRW5jb2Rlci5tZXNzYWdlcy5pbgpAQCAtMSw0
ICsxLDQgQEAKLS8qIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisvKiBDb3B5cmlnaHQgKEMpIDIwMjEtMjAyMiBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI1LDExICsyNSw5
IEBACiAKIG1lc3NhZ2VzIC0+IFJlbW90ZUNvbXB1dGVQYXNzRW5jb2RlciBOb3RSZWZDb3VudGVk
IFN0cmVhbSB7CiAgICAgdm9pZCBTZXRQaXBlbGluZShXZWJLaXQ6OldlYkdQVUlkZW50aWZpZXIg
aWRlbnRpZmllcikKLSAgICB2b2lkIERpc3BhdGNoKFBBTDo6V2ViR1BVOjpTaXplMzIgeCwgc3Rk
OjpvcHRpb25hbDxQQUw6OldlYkdQVTo6U2l6ZTMyPiB5LCBzdGQ6Om9wdGlvbmFsPFBBTDo6V2Vi
R1BVOjpTaXplMzI+IHopCisgICAgdm9pZCBEaXNwYXRjaChQQUw6OldlYkdQVTo6U2l6ZTMyIHdv
cmtncm91cENvdW50WCwgUEFMOjpXZWJHUFU6OlNpemUzMiB3b3JrZ3JvdXBDb3VudFksIFBBTDo6
V2ViR1BVOjpTaXplMzIgd29ya2dyb3VwQ291bnRaKQogICAgIHZvaWQgRGlzcGF0Y2hJbmRpcmVj
dChXZWJLaXQ6OldlYkdQVUlkZW50aWZpZXIgaW5kaXJlY3RCdWZmZXIsIFBBTDo6V2ViR1BVOjpT
aXplNjQgaW5kaXJlY3RPZmZzZXQpCi0gICAgdm9pZCBCZWdpblBpcGVsaW5lU3RhdGlzdGljc1F1
ZXJ5KFdlYktpdDo6V2ViR1BVSWRlbnRpZmllciBpZGVudGlmaWVyLCBQQUw6OldlYkdQVTo6U2l6
ZTMyIHF1ZXJ5SW5kZXgpCi0gICAgdm9pZCBFbmRQaXBlbGluZVN0YXRpc3RpY3NRdWVyeSgpCi0g
ICAgdm9pZCBFbmRQYXNzKCkKKyAgICB2b2lkIEVuZCgpCiAgICAgdm9pZCBTZXRCaW5kR3JvdXAo
UEFMOjpXZWJHUFU6OkluZGV4MzIgaW5kZXgsIFdlYktpdDo6V2ViR1BVSWRlbnRpZmllciBpZGVu
dGlmaWVyLCBzdGQ6Om9wdGlvbmFsPFZlY3RvcjxQQUw6OldlYkdQVTo6QnVmZmVyRHluYW1pY09m
ZnNldD4+IGR5bmFtaWNPZmZzZXRzKQogICAgIHZvaWQgUHVzaERlYnVnR3JvdXAoU3RyaW5nIGdy
b3VwTGFiZWwpCiAgICAgdm9pZCBQb3BEZWJ1Z0dyb3VwKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlUmVuZGVyUGFzc0VuY29kZXIu
Y3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVSZW5k
ZXJQYXNzRW5jb2Rlci5jcHAKaW5kZXggNjJkMGNhNzVlYTJiNjgwMjc5YzU2NTJhOWJmM2M4MmMy
M2JhMWYyMi4uYWMxZTU2ZmVmYmM1ZWQ3NDhmMTdlYjU5MTY1ODVkZDkxYWU1YTBiOCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVSZW5k
ZXJQYXNzRW5jb2Rlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNz
L1dlYkdQVS9SZW1vdGVSZW5kZXJQYXNzRW5jb2Rlci5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgot
ICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
IENvcHlyaWdodCAoQykgMjAyMS0yMDIyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
ICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMTc5LDIxICsxNzksNiBAQCB2b2lk
IFJlbW90ZVJlbmRlclBhc3NFbmNvZGVyOjplbmRPY2NsdXNpb25RdWVyeSgpCiAgICAgbV9iYWNr
aW5nLT5lbmRPY2NsdXNpb25RdWVyeSgpOwogfQogCi12b2lkIFJlbW90ZVJlbmRlclBhc3NFbmNv
ZGVyOjpiZWdpblBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KFdlYkdQVUlkZW50aWZpZXIgcXVlcnlT
ZXQsIFBBTDo6V2ViR1BVOjpTaXplMzIgcXVlcnlJbmRleCkKLXsKLSAgICBhdXRvIGNvbnZlcnRl
ZFF1ZXJ5U2V0ID0gbV9vYmplY3RIZWFwLmNvbnZlcnRRdWVyeVNldEZyb21CYWNraW5nKHF1ZXJ5
U2V0KTsKLSAgICBBU1NFUlQoY29udmVydGVkUXVlcnlTZXQpOwotICAgIGlmICghY29udmVydGVk
UXVlcnlTZXQpCi0gICAgICAgIHJldHVybjsKLQotICAgIG1fYmFja2luZy0+YmVnaW5QaXBlbGlu
ZVN0YXRpc3RpY3NRdWVyeSgqY29udmVydGVkUXVlcnlTZXQsIHF1ZXJ5SW5kZXgpOwotfQotCi12
b2lkIFJlbW90ZVJlbmRlclBhc3NFbmNvZGVyOjplbmRQaXBlbGluZVN0YXRpc3RpY3NRdWVyeSgp
Ci17Ci0gICAgbV9iYWNraW5nLT5lbmRQaXBlbGluZVN0YXRpc3RpY3NRdWVyeSgpOwotfQotCiB2
b2lkIFJlbW90ZVJlbmRlclBhc3NFbmNvZGVyOjpleGVjdXRlQnVuZGxlcyhWZWN0b3I8V2ViR1BV
SWRlbnRpZmllcj4mJiByZW5kZXJCdW5kbGVzKQogewogICAgIFZlY3RvcjxzdGQ6OnJlZmVyZW5j
ZV93cmFwcGVyPFBBTDo6V2ViR1BVOjpSZW5kZXJCdW5kbGU+PiBjb252ZXJ0ZWRCdW5kbGVzOwpA
QCAtMjA4LDkgKzE5Myw5IEBAIHZvaWQgUmVtb3RlUmVuZGVyUGFzc0VuY29kZXI6OmV4ZWN1dGVC
dW5kbGVzKFZlY3RvcjxXZWJHUFVJZGVudGlmaWVyPiYmIHJlbmRlckJ1CiAgICAgbV9iYWNraW5n
LT5leGVjdXRlQnVuZGxlcyhXVEZNb3ZlKGNvbnZlcnRlZEJ1bmRsZXMpKTsKIH0KIAotdm9pZCBS
ZW1vdGVSZW5kZXJQYXNzRW5jb2Rlcjo6ZW5kUGFzcygpCit2b2lkIFJlbW90ZVJlbmRlclBhc3NF
bmNvZGVyOjplbmQoKQogewotICAgIG1fYmFja2luZy0+ZW5kUGFzcygpOworICAgIG1fYmFja2lu
Zy0+ZW5kKCk7CiB9CiAKIHZvaWQgUmVtb3RlUmVuZGVyUGFzc0VuY29kZXI6OnNldExhYmVsKFN0
cmluZyYmIGxhYmVsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBo
aWNzL1dlYkdQVS9SZW1vdGVSZW5kZXJQYXNzRW5jb2Rlci5oIGIvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVSZW5kZXJQYXNzRW5jb2Rlci5oCmluZGV4IGYy
ZjU0NTFjZWZkZDVkM2FiODc4MDZmYzYyNTQ2MTIwNzkyZGNkN2IuLmZmOWNlZTFjZDE2OGRiNTg5
N2E3NWQxNjZiMjVkZTUzNWZkYTIyMDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlUmVuZGVyUGFzc0VuY29kZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZVJlbmRlclBhc3NFbmNv
ZGVyLmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAyMS0yMDIyIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwpAQCAtMTEwLDExICsxMTAsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgYmVnaW5PY2NsdXNpb25R
dWVyeShQQUw6OldlYkdQVTo6U2l6ZTMyIHF1ZXJ5SW5kZXgpOwogICAgIHZvaWQgZW5kT2NjbHVz
aW9uUXVlcnkoKTsKIAotICAgIHZvaWQgYmVnaW5QaXBlbGluZVN0YXRpc3RpY3NRdWVyeShXZWJH
UFVJZGVudGlmaWVyLCBQQUw6OldlYkdQVTo6U2l6ZTMyIHF1ZXJ5SW5kZXgpOwotICAgIHZvaWQg
ZW5kUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkoKTsKLQogICAgIHZvaWQgZXhlY3V0ZUJ1bmRsZXMo
VmVjdG9yPFdlYkdQVUlkZW50aWZpZXI+JiYpOwotICAgIHZvaWQgZW5kUGFzcygpOworICAgIHZv
aWQgZW5kKCk7CiAKICAgICB2b2lkIHNldExhYmVsKFN0cmluZyYmKTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVSZW5kZXJQYXNz
RW5jb2Rlci5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9X
ZWJHUFUvUmVtb3RlUmVuZGVyUGFzc0VuY29kZXIubWVzc2FnZXMuaW4KaW5kZXggZThiN2JhYWE4
ZWFjMDliMzc1Y2ZiYTc4NGE5ZDMyOGJkZDZiNmFlZC4uMGE3ZmU2NGZjMzUzOWI5MDI1ZDEwMjY0
NWFkNmJmNTJjNjNiMDg4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dy
YXBoaWNzL1dlYkdQVS9SZW1vdGVSZW5kZXJQYXNzRW5jb2Rlci5tZXNzYWdlcy5pbgorKysgYi9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZVJlbmRlclBhc3NF
bmNvZGVyLm1lc3NhZ2VzLmluCkBAIC0xLDQgKzEsNCBAQAotLyogQ29weXJpZ2h0IChDKSAyMDIx
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8qIENvcHlyaWdodCAoQykgMjAyMS0y
MDIyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucwpAQCAtNDEsMTAgKzQxLDggQEAgbWVzc2FnZXMgLT4gUmVtb3RlUmVuZGVyUGFz
c0VuY29kZXIgTm90UmVmQ291bnRlZCBTdHJlYW0gewogICAgIHZvaWQgU2V0U3RlbmNpbFJlZmVy
ZW5jZShQQUw6OldlYkdQVTo6U3RlbmNpbFZhbHVlIHN0ZW5jaWxWYWx1ZSkKICAgICB2b2lkIEJl
Z2luT2NjbHVzaW9uUXVlcnkoUEFMOjpXZWJHUFU6OlNpemUzMiBxdWVyeUluZGV4KQogICAgIHZv
aWQgRW5kT2NjbHVzaW9uUXVlcnkoKQotICAgIHZvaWQgQmVnaW5QaXBlbGluZVN0YXRpc3RpY3NR
dWVyeShXZWJLaXQ6OldlYkdQVUlkZW50aWZpZXIgaWRlbnRpZmllciwgUEFMOjpXZWJHUFU6OlNp
emUzMiBxdWVyeUluZGV4KQotICAgIHZvaWQgRW5kUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkoKQog
ICAgIHZvaWQgRXhlY3V0ZUJ1bmRsZXMoVmVjdG9yPFdlYktpdDo6V2ViR1BVSWRlbnRpZmllcj4g
YnVuZGxlcykKLSAgICB2b2lkIEVuZFBhc3MoKQorICAgIHZvaWQgRW5kKCkKICAgICB2b2lkIFNl
dExhYmVsKFN0cmluZyBsYWJlbCkKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFy
ZWQvV2ViR1BVL1dlYkdQVUNhbnZhc0NvbmZpZ3VyYXRpb24uY3BwIGIvU291cmNlL1dlYktpdC9T
aGFyZWQvV2ViR1BVL1dlYkdQVUNhbnZhc0NvbmZpZ3VyYXRpb24uY3BwCmluZGV4IDQ4MTMyNTIy
NmRmNjhjOTNhOTE4MjdjMjIzZmUwOGZmYzRiODUyOGEuLjQ0MjE2M2M0YmZmZDE5ZTg0M2U1ZTFm
N2NkYzgwNWYyYzM3ZDAyY2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQ
VS9XZWJHUFVDYW52YXNDb25maWd1cmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9XZWJHUFUvV2ViR1BVQ2FudmFzQ29uZmlndXJhdGlvbi5jcHAKQEAgLTEsNSArMSw1IEBACiAv
KgotICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqIENvcHlyaWdodCAoQykgMjAyMS0yMDIyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNDcsNyArNDcsNyBAQCBzdGQ6
Om9wdGlvbmFsPENhbnZhc0NvbmZpZ3VyYXRpb24+IENvbnZlcnRUb0JhY2tpbmdDb250ZXh0Ojpj
b252ZXJ0VG9CYWNraW5nKGNvbgogICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKICAg
ICB9CiAKLSAgICByZXR1cm4geyB7IGRldmljZSwgY2FudmFzQ29uZmlndXJhdGlvbi5mb3JtYXQs
IGNhbnZhc0NvbmZpZ3VyYXRpb24udXNhZ2UsIGNhbnZhc0NvbmZpZ3VyYXRpb24uY29sb3JTcGFj
ZSwgY2FudmFzQ29uZmlndXJhdGlvbi5jb21wb3NpdGluZ0FscGhhTW9kZSwgV1RGTW92ZShzaXpl
KSB9IH07CisgICAgcmV0dXJuIHsgeyBkZXZpY2UsIGNhbnZhc0NvbmZpZ3VyYXRpb24uZm9ybWF0
LCBjYW52YXNDb25maWd1cmF0aW9uLnVzYWdlLCBjYW52YXNDb25maWd1cmF0aW9uLnZpZXdGb3Jt
YXRzLCBjYW52YXNDb25maWd1cmF0aW9uLmNvbG9yU3BhY2UsIGNhbnZhc0NvbmZpZ3VyYXRpb24u
Y29tcG9zaXRpbmdBbHBoYU1vZGUsIFdURk1vdmUoc2l6ZSkgfSB9OwogfQogCiBzdGQ6Om9wdGlv
bmFsPFBBTDo6V2ViR1BVOjpDYW52YXNDb25maWd1cmF0aW9uPiBDb252ZXJ0RnJvbUJhY2tpbmdD
b250ZXh0Ojpjb252ZXJ0RnJvbUJhY2tpbmcoY29uc3QgQ2FudmFzQ29uZmlndXJhdGlvbiYgY2Fu
dmFzQ29uZmlndXJhdGlvbikKQEAgLTYzLDcgKzYzLDcgQEAgc3RkOjpvcHRpb25hbDxQQUw6Oldl
YkdQVTo6Q2FudmFzQ29uZmlndXJhdGlvbj4gQ29udmVydEZyb21CYWNraW5nQ29udGV4dDo6Y29u
dmUKICAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAgICAgfQogCi0gICAgcmV0dXJu
IHsgeyAqZGV2aWNlLCBjYW52YXNDb25maWd1cmF0aW9uLmZvcm1hdCwgY2FudmFzQ29uZmlndXJh
dGlvbi51c2FnZSwgY2FudmFzQ29uZmlndXJhdGlvbi5jb2xvclNwYWNlLCBjYW52YXNDb25maWd1
cmF0aW9uLmNvbXBvc2l0aW5nQWxwaGFNb2RlLCBXVEZNb3ZlKHNpemUpIH0gfTsKKyAgICByZXR1
cm4geyB7ICpkZXZpY2UsIGNhbnZhc0NvbmZpZ3VyYXRpb24uZm9ybWF0LCBjYW52YXNDb25maWd1
cmF0aW9uLnVzYWdlLCBjYW52YXNDb25maWd1cmF0aW9uLnZpZXdGb3JtYXRzLCBjYW52YXNDb25m
aWd1cmF0aW9uLmNvbG9yU3BhY2UsIGNhbnZhc0NvbmZpZ3VyYXRpb24uY29tcG9zaXRpbmdBbHBo
YU1vZGUsIFdURk1vdmUoc2l6ZSkgfSB9OwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVDYW52YXNDb25maWd1
cmF0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVQ2FudmFzQ29uZmln
dXJhdGlvbi5oCmluZGV4IDMwMTAxMTliM2VjYTdmYzdiYTYyYWMyNWI0MTczYjgxY2QwMmFmMjgu
LjgxMDM1Zjg0NTZkMzJkZWY4ZWMzZTQxMmVkZjhjNjYzNjRjMDNiODAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVDYW52YXNDb25maWd1cmF0aW9uLmgKKysr
IGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVUNhbnZhc0NvbmZpZ3VyYXRpb24u
aApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDIxLTIwMjIgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBA
IC00NSw2ICs0NSw3IEBAIHN0cnVjdCBDYW52YXNDb25maWd1cmF0aW9uIHsKICAgICBXZWJHUFVJ
ZGVudGlmaWVyIGRldmljZTsKICAgICBQQUw6OldlYkdQVTo6VGV4dHVyZUZvcm1hdCBmb3JtYXQg
eyBQQUw6OldlYkdQVTo6VGV4dHVyZUZvcm1hdDo6Ujh1bm9ybSB9OwogICAgIFBBTDo6V2ViR1BV
OjpUZXh0dXJlVXNhZ2VGbGFncyB1c2FnZSB7IFBBTDo6V2ViR1BVOjpUZXh0dXJlVXNhZ2U6OlJl
bmRlckF0dGFjaG1lbnQgfTsKKyAgICBWZWN0b3I8UEFMOjpXZWJHUFU6OlRleHR1cmVGb3JtYXQ+
IHZpZXdGb3JtYXRzOwogICAgIFBBTDo6V2ViR1BVOjpQcmVkZWZpbmVkQ29sb3JTcGFjZSBjb2xv
clNwYWNlIHsgUEFMOjpXZWJHUFU6OlByZWRlZmluZWRDb2xvclNwYWNlOjpTUkdCIH07CiAgICAg
UEFMOjpXZWJHUFU6OkNhbnZhc0NvbXBvc2l0aW5nQWxwaGFNb2RlIGNvbXBvc2l0aW5nQWxwaGFN
b2RlIHsgUEFMOjpXZWJHUFU6OkNhbnZhc0NvbXBvc2l0aW5nQWxwaGFNb2RlOjpPcGFxdWUgfTsK
ICAgICBzdGQ6Om9wdGlvbmFsPEV4dGVudDNEPiBzaXplOwpAQCAtNTQsNiArNTUsNyBAQCBzdHJ1
Y3QgQ2FudmFzQ29uZmlndXJhdGlvbiB7CiAgICAgICAgIGVuY29kZXIgPDwgZGV2aWNlOwogICAg
ICAgICBlbmNvZGVyIDw8IGZvcm1hdDsKICAgICAgICAgZW5jb2RlciA8PCB1c2FnZTsKKyAgICAg
ICAgZW5jb2RlciA8PCB2aWV3Rm9ybWF0czsKICAgICAgICAgZW5jb2RlciA8PCBjb2xvclNwYWNl
OwogICAgICAgICBlbmNvZGVyIDw8IGNvbXBvc2l0aW5nQWxwaGFNb2RlOwogICAgICAgICBlbmNv
ZGVyIDw8IHNpemU7CkBAIC03Niw2ICs3OCwxMSBAQCBzdHJ1Y3QgQ2FudmFzQ29uZmlndXJhdGlv
biB7CiAgICAgICAgIGlmICghdXNhZ2UpCiAgICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0
OwogCisgICAgICAgIHN0ZDo6b3B0aW9uYWw8VmVjdG9yPFBBTDo6V2ViR1BVOjpUZXh0dXJlRm9y
bWF0Pj4gdmlld0Zvcm1hdHM7CisgICAgICAgIGRlY29kZXIgPj4gdmlld0Zvcm1hdHM7CisgICAg
ICAgIGlmICghdmlld0Zvcm1hdHMpCisgICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0Owor
CiAgICAgICAgIHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlByZWRlZmluZWRDb2xvclNwYWNl
PiBjb2xvclNwYWNlOwogICAgICAgICBkZWNvZGVyID4+IGNvbG9yU3BhY2U7CiAgICAgICAgIGlm
ICghY29sb3JTcGFjZSkKQEAgLTkxLDcgKzk4LDcgQEAgc3RydWN0IENhbnZhc0NvbmZpZ3VyYXRp
b24gewogICAgICAgICBpZiAoIXNpemUpCiAgICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0
OwogCi0gICAgICAgIHJldHVybiB7IHsgV1RGTW92ZSgqZGV2aWNlKSwgV1RGTW92ZSgqZm9ybWF0
KSwgV1RGTW92ZSgqdXNhZ2UpLCBXVEZNb3ZlKCpjb2xvclNwYWNlKSwgV1RGTW92ZSgqY29tcG9z
aXRpbmdBbHBoYU1vZGUpLCBXVEZNb3ZlKCpzaXplKSB9IH07CisgICAgICAgIHJldHVybiB7IHsg
V1RGTW92ZSgqZGV2aWNlKSwgV1RGTW92ZSgqZm9ybWF0KSwgV1RGTW92ZSgqdXNhZ2UpLCBXVEZN
b3ZlKCp2aWV3Rm9ybWF0cyksIFdURk1vdmUoKmNvbG9yU3BhY2UpLCBXVEZNb3ZlKCpjb21wb3Np
dGluZ0FscGhhTW9kZSksIFdURk1vdmUoKnNpemUpIH0gfTsKICAgICB9CiB9OwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVQ29udmVydEZyb21CYWNraW5n
Q29udGV4dC5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVUNvbnZlcnRGcm9t
QmFja2luZ0NvbnRleHQuaAppbmRleCA5OTJmMjdkYTBlNGJhNTE1Y2ZiZmQ5ODA2Njk0NzcwZDNj
OTg4NDE3Li4xZTkzOGUyODgyMzE2OWRmNDRiZmZiZGFiNDQxZTUzNmJjYjEyYzMxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVQ29udmVydEZyb21CYWNraW5n
Q29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVDb252ZXJ0
RnJvbUJhY2tpbmdDb250ZXh0LmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChD
KSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykg
MjAyMS0yMDIyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucwpAQCAtMTEyLDYgKzExMiw3IEBAIGNsYXNzIFNhbXBsZXI7CiBzdHJ1
Y3QgU2FtcGxlckJpbmRpbmdMYXlvdXQ7CiBzdHJ1Y3QgU2FtcGxlckRlc2NyaXB0b3I7CiBjbGFz
cyBTaGFkZXJNb2R1bGU7CitzdHJ1Y3QgU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50Owogc3Ry
dWN0IFNoYWRlck1vZHVsZURlc2NyaXB0b3I7CiBzdHJ1Y3QgU3RlbmNpbEZhY2VTdGF0ZTsKIHN0
cnVjdCBTdG9yYWdlVGV4dHVyZUJpbmRpbmdMYXlvdXQ7CkBAIC0xNzYsNiArMTc3LDcgQEAgc3Ry
dWN0IFJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcjsKIHN0cnVjdCBSZXF1ZXN0QWRhcHRlck9wdGlv
bnM7CiBzdHJ1Y3QgU2FtcGxlckJpbmRpbmdMYXlvdXQ7CiBzdHJ1Y3QgU2FtcGxlckRlc2NyaXB0
b3I7CitzdHJ1Y3QgU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50Owogc3RydWN0IFNoYWRlck1v
ZHVsZURlc2NyaXB0b3I7CiBzdHJ1Y3QgU3RlbmNpbEZhY2VTdGF0ZTsKIHN0cnVjdCBTdG9yYWdl
VGV4dHVyZUJpbmRpbmdMYXlvdXQ7CkBAIC0yNTEsNiArMjUzLDcgQEAgcHVibGljOgogICAgIHN0
ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlJlcXVlc3RBZGFwdGVyT3B0aW9ucz4gY29udmVydEZy
b21CYWNraW5nKGNvbnN0IFJlcXVlc3RBZGFwdGVyT3B0aW9ucyYpOwogICAgIHN0ZDo6b3B0aW9u
YWw8UEFMOjpXZWJHUFU6OlNhbXBsZXJCaW5kaW5nTGF5b3V0PiBjb252ZXJ0RnJvbUJhY2tpbmco
Y29uc3QgU2FtcGxlckJpbmRpbmdMYXlvdXQmKTsKICAgICBzdGQ6Om9wdGlvbmFsPFBBTDo6V2Vi
R1BVOjpTYW1wbGVyRGVzY3JpcHRvcj4gY29udmVydEZyb21CYWNraW5nKGNvbnN0IFNhbXBsZXJE
ZXNjcmlwdG9yJik7CisgICAgc3RkOjpvcHRpb25hbDxQQUw6OldlYkdQVTo6U2hhZGVyTW9kdWxl
Q29tcGlsYXRpb25IaW50PiBjb252ZXJ0RnJvbUJhY2tpbmcoY29uc3QgU2hhZGVyTW9kdWxlQ29t
cGlsYXRpb25IaW50Jik7CiAgICAgc3RkOjpvcHRpb25hbDxQQUw6OldlYkdQVTo6U2hhZGVyTW9k
dWxlRGVzY3JpcHRvcj4gY29udmVydEZyb21CYWNraW5nKGNvbnN0IFNoYWRlck1vZHVsZURlc2Ny
aXB0b3ImKTsKICAgICBzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpTdGVuY2lsRmFjZVN0YXRl
PiBjb252ZXJ0RnJvbUJhY2tpbmcoY29uc3QgU3RlbmNpbEZhY2VTdGF0ZSYpOwogICAgIHN0ZDo6
b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlN0b3JhZ2VUZXh0dXJlQmluZGluZ0xheW91dD4gY29udmVy
dEZyb21CYWNraW5nKGNvbnN0IFN0b3JhZ2VUZXh0dXJlQmluZGluZ0xheW91dCYpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVUNvbnZlcnRUb0JhY2tpbmdD
b250ZXh0LmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVQ29udmVydFRvQmFj
a2luZ0NvbnRleHQuaAppbmRleCBhNTMzODc2NzhjYjlkNzVhMjc2ZTQ2Mzc1NDFkMzE2MDY5YjA3
ZDljLi5jMTc1MzA2YzZlMzQ4ODUzMDg0OTZlYTU1MDFlNTdkMmJjZjg4MDIwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVQ29udmVydFRvQmFja2luZ0NvbnRl
eHQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVQ29udmVydFRvQmFj
a2luZ0NvbnRleHQuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMjEg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDIxLTIw
MjIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCkBAIC0xMTEsNiArMTExLDcgQEAgY2xhc3MgU2FtcGxlcjsKIHN0cnVjdCBTYW1w
bGVyQmluZGluZ0xheW91dDsKIHN0cnVjdCBTYW1wbGVyRGVzY3JpcHRvcjsKIGNsYXNzIFNoYWRl
ck1vZHVsZTsKK3N0cnVjdCBTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQ7CiBzdHJ1Y3QgU2hh
ZGVyTW9kdWxlRGVzY3JpcHRvcjsKIHN0cnVjdCBTdGVuY2lsRmFjZVN0YXRlOwogc3RydWN0IFN0
b3JhZ2VUZXh0dXJlQmluZGluZ0xheW91dDsKQEAgLTE3NSw2ICsxNzYsNyBAQCBzdHJ1Y3QgUmVu
ZGVyUGlwZWxpbmVEZXNjcmlwdG9yOwogc3RydWN0IFJlcXVlc3RBZGFwdGVyT3B0aW9uczsKIHN0
cnVjdCBTYW1wbGVyQmluZGluZ0xheW91dDsKIHN0cnVjdCBTYW1wbGVyRGVzY3JpcHRvcjsKK3N0
cnVjdCBTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQ7CiBzdHJ1Y3QgU2hhZGVyTW9kdWxlRGVz
Y3JpcHRvcjsKIHN0cnVjdCBTdGVuY2lsRmFjZVN0YXRlOwogc3RydWN0IFN0b3JhZ2VUZXh0dXJl
QmluZGluZ0xheW91dDsKQEAgLTI1MCw2ICsyNTIsNyBAQCBwdWJsaWM6CiAgICAgc3RkOjpvcHRp
b25hbDxSZXF1ZXN0QWRhcHRlck9wdGlvbnM+IGNvbnZlcnRUb0JhY2tpbmcoY29uc3QgUEFMOjpX
ZWJHUFU6OlJlcXVlc3RBZGFwdGVyT3B0aW9ucyYpOwogICAgIHN0ZDo6b3B0aW9uYWw8U2FtcGxl
ckJpbmRpbmdMYXlvdXQ+IGNvbnZlcnRUb0JhY2tpbmcoY29uc3QgUEFMOjpXZWJHUFU6OlNhbXBs
ZXJCaW5kaW5nTGF5b3V0Jik7CiAgICAgc3RkOjpvcHRpb25hbDxTYW1wbGVyRGVzY3JpcHRvcj4g
Y29udmVydFRvQmFja2luZyhjb25zdCBQQUw6OldlYkdQVTo6U2FtcGxlckRlc2NyaXB0b3ImKTsK
KyAgICBzdGQ6Om9wdGlvbmFsPFNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludD4gY29udmVydFRv
QmFja2luZyhjb25zdCBQQUw6OldlYkdQVTo6U2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50Jik7
CiAgICAgc3RkOjpvcHRpb25hbDxTaGFkZXJNb2R1bGVEZXNjcmlwdG9yPiBjb252ZXJ0VG9CYWNr
aW5nKGNvbnN0IFBBTDo6V2ViR1BVOjpTaGFkZXJNb2R1bGVEZXNjcmlwdG9yJik7CiAgICAgc3Rk
OjpvcHRpb25hbDxTdGVuY2lsRmFjZVN0YXRlPiBjb252ZXJ0VG9CYWNraW5nKGNvbnN0IFBBTDo6
V2ViR1BVOjpTdGVuY2lsRmFjZVN0YXRlJik7CiAgICAgc3RkOjpvcHRpb25hbDxTdG9yYWdlVGV4
dHVyZUJpbmRpbmdMYXlvdXQ+IGNvbnZlcnRUb0JhY2tpbmcoY29uc3QgUEFMOjpXZWJHUFU6OlN0
b3JhZ2VUZXh0dXJlQmluZGluZ0xheW91dCYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9T
aGFyZWQvV2ViR1BVL1dlYkdQVUZyYWdtZW50U3RhdGUuY3BwIGIvU291cmNlL1dlYktpdC9TaGFy
ZWQvV2ViR1BVL1dlYkdQVUZyYWdtZW50U3RhdGUuY3BwCmluZGV4IDVmMDcwMTMzM2RjZGQyYmQy
NzhiZmRlYjg3M2UwNThjMGMwNTUyMjcuLjg4OTBjZjc5NTlhOTIzZGUyNThkYWEzOWM1NmYyMzYw
OGJjZjI0YWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVG
cmFnbWVudFN0YXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BV
RnJhZ21lbnRTdGF0ZS5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAy
MDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAy
MS0yMDIyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
ICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucwpAQCAtNDAsMTMgKzQwLDE2IEBAIHN0ZDo6b3B0aW9uYWw8RnJhZ21lbnRT
dGF0ZT4gQ29udmVydFRvQmFja2luZ0NvbnRleHQ6OmNvbnZlcnRUb0JhY2tpbmcoY29uc3QgUEFM
CiAgICAgaWYgKCFiYXNlKQogICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogCi0gICAgVmVj
dG9yPENvbG9yVGFyZ2V0U3RhdGU+IHRhcmdldHM7CisgICAgVmVjdG9yPHN0ZDo6b3B0aW9uYWw8
Q29sb3JUYXJnZXRTdGF0ZT4+IHRhcmdldHM7CiAgICAgdGFyZ2V0cy5yZXNlcnZlSW5pdGlhbENh
cGFjaXR5KGZyYWdtZW50U3RhdGUudGFyZ2V0cy5zaXplKCkpOwogICAgIGZvciAoY29uc3QgYXV0
byYgdGFyZ2V0IDogZnJhZ21lbnRTdGF0ZS50YXJnZXRzKSB7Ci0gICAgICAgIGF1dG8gY29udmVy
dGVkVGFyZ2V0ID0gY29udmVydFRvQmFja2luZyh0YXJnZXQpOwotICAgICAgICBpZiAoIWNvbnZl
cnRlZFRhcmdldCkKLSAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7Ci0gICAgICAgIHRh
cmdldHMudW5jaGVja2VkQXBwZW5kKFdURk1vdmUoKmNvbnZlcnRlZFRhcmdldCkpOworICAgICAg
ICBpZiAodGFyZ2V0KSB7CisgICAgICAgICAgICBhdXRvIGNvbnZlcnRlZFRhcmdldCA9IGNvbnZl
cnRUb0JhY2tpbmcoKnRhcmdldCk7CisgICAgICAgICAgICBpZiAoIWNvbnZlcnRlZFRhcmdldCkK
KyAgICAgICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworICAgICAgICAgICAgdGFyZ2V0
cy51bmNoZWNrZWRBcHBlbmQoV1RGTW92ZSgqY29udmVydGVkVGFyZ2V0KSk7CisgICAgICAgIH0g
ZWxzZQorICAgICAgICAgICAgdGFyZ2V0cy51bmNoZWNrZWRBcHBlbmQoc3RkOjpudWxsb3B0KTsK
ICAgICB9CiAKICAgICByZXR1cm4geyB7IFdURk1vdmUoKmJhc2UpLCBXVEZNb3ZlKHRhcmdldHMp
IH0gfTsKQEAgLTU4LDEzICs2MSwxNiBAQCBzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpGcmFn
bWVudFN0YXRlPiBDb252ZXJ0RnJvbUJhY2tpbmdDb250ZXh0Ojpjb252ZXJ0RnJvbQogICAgIGlm
ICghYmFzZSkKICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKIAotICAgIFZlY3RvcjxQQUw6
OldlYkdQVTo6Q29sb3JUYXJnZXRTdGF0ZT4gdGFyZ2V0czsKKyAgICBWZWN0b3I8c3RkOjpvcHRp
b25hbDxQQUw6OldlYkdQVTo6Q29sb3JUYXJnZXRTdGF0ZT4+IHRhcmdldHM7CiAgICAgdGFyZ2V0
cy5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KGZyYWdtZW50U3RhdGUudGFyZ2V0cy5zaXplKCkpOwog
ICAgIGZvciAoY29uc3QgYXV0byYgYmFja2luZ1RhcmdldCA6IGZyYWdtZW50U3RhdGUudGFyZ2V0
cykgewotICAgICAgICBhdXRvIHRhcmdldCA9IGNvbnZlcnRGcm9tQmFja2luZyhiYWNraW5nVGFy
Z2V0KTsKLSAgICAgICAgaWYgKCF0YXJnZXQpCi0gICAgICAgICAgICByZXR1cm4gc3RkOjpudWxs
b3B0OwotICAgICAgICB0YXJnZXRzLnVuY2hlY2tlZEFwcGVuZChXVEZNb3ZlKCp0YXJnZXQpKTsK
KyAgICAgICAgaWYgKGJhY2tpbmdUYXJnZXQpIHsKKyAgICAgICAgICAgIGF1dG8gdGFyZ2V0ID0g
Y29udmVydEZyb21CYWNraW5nKCpiYWNraW5nVGFyZ2V0KTsKKyAgICAgICAgICAgIGlmICghdGFy
Z2V0KQorICAgICAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisgICAgICAgICAgICB0
YXJnZXRzLnVuY2hlY2tlZEFwcGVuZChXVEZNb3ZlKCp0YXJnZXQpKTsKKyAgICAgICAgfSBlbHNl
CisgICAgICAgICAgICB0YXJnZXRzLnVuY2hlY2tlZEFwcGVuZChzdGQ6Om51bGxvcHQpOwogICAg
IH0KIAogICAgIHJldHVybiB7IHsgV1RGTW92ZSgqYmFzZSksIFdURk1vdmUodGFyZ2V0cykgfSB9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVUZyYWdtZW50
U3RhdGUuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVGcmFnbWVudFN0YXRl
LmgKaW5kZXggMjg3YmNjNDdkOTRiNGRlZjUxY2NmNmIxMGJhYzY5NzlmOGQyNTM5Yy4uYzUxNWU5
YmM4NmVmNGJlZmM0NzBlOGNhYWRjMGI0ZjY4ZDljYjM3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVUZyYWdtZW50U3RhdGUuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVRnJhZ21lbnRTdGF0ZS5oCkBAIC0xLDUgKzEsNSBAQAog
LyoKLSAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKiBDb3B5cmlnaHQgKEMpIDIwMjEtMjAyMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTM1LDcgKzM1LDcgQEAKIG5h
bWVzcGFjZSBXZWJLaXQ6OldlYkdQVSB7CiAKIHN0cnVjdCBGcmFnbWVudFN0YXRlIDogcHVibGlj
IFByb2dyYW1tYWJsZVN0YWdlIHsKLSAgICBWZWN0b3I8Q29sb3JUYXJnZXRTdGF0ZT4gdGFyZ2V0
czsKKyAgICBWZWN0b3I8c3RkOjpvcHRpb25hbDxDb2xvclRhcmdldFN0YXRlPj4gdGFyZ2V0czsK
IAogICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImIGVuY29k
ZXIpIGNvbnN0CiAgICAgewpAQCAtNTAsNyArNTAsNyBAQCBzdHJ1Y3QgRnJhZ21lbnRTdGF0ZSA6
IHB1YmxpYyBQcm9ncmFtbWFibGVTdGFnZSB7CiAgICAgICAgIGlmICghcHJvZ3JhbW1hYmxlU3Rh
Z2UpCiAgICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogCi0gICAgICAgIHN0ZDo6b3B0
aW9uYWw8VmVjdG9yPENvbG9yVGFyZ2V0U3RhdGU+PiB0YXJnZXRzOworICAgICAgICBzdGQ6Om9w
dGlvbmFsPFZlY3RvcjxzdGQ6Om9wdGlvbmFsPENvbG9yVGFyZ2V0U3RhdGU+Pj4gdGFyZ2V0czsK
ICAgICAgICAgZGVjb2RlciA+PiB0YXJnZXRzOwogICAgICAgICBpZiAoIXRhcmdldHMpCiAgICAg
ICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9T
aGFyZWQvV2ViR1BVL1dlYkdQVUltYWdlQ29weUV4dGVybmFsSW1hZ2UuY3BwIGIvU291cmNlL1dl
YktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVUltYWdlQ29weUV4dGVybmFsSW1hZ2UuY3BwCmluZGV4
IDg2ODY4M2QxZDQ5OGI1ZmMxMTcyNDkzNzFjNTNiNDE4ZDNjYTMxY2UuLjA3ZTZhMmQwYmJkYmNi
MTMyNTU5NGEyM2VlYjE1ZWMyYzFmMTQ3N2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL1dlYkdQVS9XZWJHUFVJbWFnZUNvcHlFeHRlcm5hbEltYWdlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVSW1hZ2VDb3B5RXh0ZXJuYWxJbWFnZS5jcHAKQEAg
LTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAyMS0yMDIyIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMzgs
MjQgKzM4LDI0IEBAIHN0ZDo6b3B0aW9uYWw8SW1hZ2VDb3B5RXh0ZXJuYWxJbWFnZT4gQ29udmVy
dFRvQmFja2luZ0NvbnRleHQ6OmNvbnZlcnRUb0JhY2tpbmcoCiB7CiAgICAgc3RkOjpvcHRpb25h
bDxPcmlnaW4yRD4gb3JpZ2luOwogICAgIGlmIChpbWFnZUNvcHlFeHRlcm5hbEltYWdlLm9yaWdp
bikgewotICAgICAgICBhdXRvIGNvbnZlcnRlZE9yaWdpbiA9IGNvbnZlcnRUb0JhY2tpbmcoKmlt
YWdlQ29weUV4dGVybmFsSW1hZ2Uub3JpZ2luKTsKLSAgICAgICAgaWYgKCFjb252ZXJ0ZWRPcmln
aW4pCisgICAgICAgIG9yaWdpbiA9IGNvbnZlcnRUb0JhY2tpbmcoKmltYWdlQ29weUV4dGVybmFs
SW1hZ2Uub3JpZ2luKTsKKyAgICAgICAgaWYgKCFvcmlnaW4pCiAgICAgICAgICAgICByZXR1cm4g
c3RkOjpudWxsb3B0OwogICAgIH0KIAotICAgIHJldHVybiB7IHsgV1RGTW92ZShvcmlnaW4pIH0g
fTsKKyAgICByZXR1cm4geyB7IFdURk1vdmUob3JpZ2luKSwgaW1hZ2VDb3B5RXh0ZXJuYWxJbWFn
ZS5mbGlwWSB9IH07CiB9CiAKIHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OkltYWdlQ29weUV4
dGVybmFsSW1hZ2U+IENvbnZlcnRGcm9tQmFja2luZ0NvbnRleHQ6OmNvbnZlcnRGcm9tQmFja2lu
Zyhjb25zdCBJbWFnZUNvcHlFeHRlcm5hbEltYWdlJiBpbWFnZUNvcHlFeHRlcm5hbEltYWdlKQog
ewogICAgIHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6Ok9yaWdpbjJEPiBvcmlnaW47CiAgICAg
aWYgKGltYWdlQ29weUV4dGVybmFsSW1hZ2Uub3JpZ2luKSB7Ci0gICAgICAgIGF1dG8gb3JpZ2lu
ID0gY29udmVydEZyb21CYWNraW5nKCppbWFnZUNvcHlFeHRlcm5hbEltYWdlLm9yaWdpbik7Cisg
ICAgICAgIG9yaWdpbiA9IGNvbnZlcnRGcm9tQmFja2luZygqaW1hZ2VDb3B5RXh0ZXJuYWxJbWFn
ZS5vcmlnaW4pOwogICAgICAgICBpZiAoIW9yaWdpbikKICAgICAgICAgICAgIHJldHVybiBzdGQ6
Om51bGxvcHQ7CiAgICAgfQogCi0gICAgcmV0dXJuIHsgeyBXVEZNb3ZlKG9yaWdpbikgfSB9Owor
ICAgIHJldHVybiB7IHsgV1RGTW92ZShvcmlnaW4pLCBpbWFnZUNvcHlFeHRlcm5hbEltYWdlLmZs
aXBZIH0gfTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVSW1hZ2VDb3B5RXh0ZXJuYWxJbWFnZS5oIGIvU291
cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVUltYWdlQ29weUV4dGVybmFsSW1hZ2UuaApp
bmRleCA1ZjI5NjZjMjZlY2YyZWZiZTU4ZGJiMzk0MzFmYTNiYWI1YThmMDZlLi5mNDI0YjAwOTVh
YjE0MjUzOTc5ZDAxMTU5NTQ3ZGIzYzE3YmUyNTY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9XZWJHUFUvV2ViR1BVSW1hZ2VDb3B5RXh0ZXJuYWxJbWFnZS5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVJbWFnZUNvcHlFeHRlcm5hbEltYWdlLmgKQEAg
LTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAyMS0yMDIyIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMzYs
MTAgKzM2LDEyIEBAIG5hbWVzcGFjZSBXZWJLaXQ6OldlYkdQVSB7CiBzdHJ1Y3QgSW1hZ2VDb3B5
RXh0ZXJuYWxJbWFnZSB7CiAgICAgLy8gRklYTUU6IEhhbmRsZSB0aGUgc291cmNlLgogICAgIHN0
ZDo6b3B0aW9uYWw8T3JpZ2luMkQ+IG9yaWdpbjsKKyAgICBib29sIGZsaXBZIHsgZmFsc2UgfTsK
IAogICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImIGVuY29k
ZXIpIGNvbnN0CiAgICAgewogICAgICAgICBlbmNvZGVyIDw8IG9yaWdpbjsKKyAgICAgICAgZW5j
b2RlciA8PCBmbGlwWTsKICAgICB9CiAKICAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0
aWMgc3RkOjpvcHRpb25hbDxJbWFnZUNvcHlFeHRlcm5hbEltYWdlPiBkZWNvZGUoRGVjb2RlciYg
ZGVjb2RlcikKQEAgLTQ5LDcgKzUxLDEyIEBAIHN0cnVjdCBJbWFnZUNvcHlFeHRlcm5hbEltYWdl
IHsKICAgICAgICAgaWYgKCFvcmlnaW4pCiAgICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0
OwogCi0gICAgICAgIHJldHVybiB7IHsgV1RGTW92ZSgqb3JpZ2luKSB9IH07CisgICAgICAgIHN0
ZDo6b3B0aW9uYWw8Ym9vbD4gZmxpcFk7CisgICAgICAgIGRlY29kZXIgPj4gZmxpcFk7CisgICAg
ICAgIGlmICghZmxpcFkpCisgICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworCisgICAg
ICAgIHJldHVybiB7IHsgV1RGTW92ZSgqb3JpZ2luKSwgV1RGTW92ZSgqZmxpcFkpIH0gfTsKICAg
ICB9CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BV
SW1hZ2VDb3B5VGV4dHVyZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BV
SW1hZ2VDb3B5VGV4dHVyZS5jcHAKaW5kZXggNjA5MDgxOTU3NTMyZmQzZjI3YmEyMjE5MTZhYjdh
NzA2NzMzZGU3My4uNDc4ZWFkYTBlNGMyN2U3ZDY1OGMwYjlmOTM0ODUxMzA4MTdjM2M1MyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVUltYWdlQ29weVRleHR1
cmUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVJbWFnZUNvcHlU
ZXh0dXJlLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDIxLTIwMjIg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCkBAIC00Miw3ICs0Miw3IEBAIHN0ZDo6b3B0aW9uYWw8SW1hZ2VDb3B5VGV4dHVyZT4g
Q29udmVydFRvQmFja2luZ0NvbnRleHQ6OmNvbnZlcnRUb0JhY2tpbmcoY29uc3QKIAogICAgIHN0
ZDo6b3B0aW9uYWw8T3JpZ2luM0Q+IG9yaWdpbjsKICAgICBpZiAoaW1hZ2VDb3B5VGV4dHVyZS5v
cmlnaW4pIHsKLSAgICAgICAgYXV0byBvcmlnaW4gPSBjb252ZXJ0VG9CYWNraW5nKCppbWFnZUNv
cHlUZXh0dXJlLm9yaWdpbik7CisgICAgICAgIG9yaWdpbiA9IGNvbnZlcnRUb0JhY2tpbmcoKmlt
YWdlQ29weVRleHR1cmUub3JpZ2luKTsKICAgICAgICAgaWYgKCFvcmlnaW4pCiAgICAgICAgICAg
ICByZXR1cm4gc3RkOjpudWxsb3B0OwogICAgIH0KQEAgLTU4LDcgKzU4LDcgQEAgc3RkOjpvcHRp
b25hbDxQQUw6OldlYkdQVTo6SW1hZ2VDb3B5VGV4dHVyZT4gQ29udmVydEZyb21CYWNraW5nQ29u
dGV4dDo6Y29udmVydEYKIAogICAgIHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6Ok9yaWdpbjNE
PiBvcmlnaW47CiAgICAgaWYgKGltYWdlQ29weVRleHR1cmUub3JpZ2luKSB7Ci0gICAgICAgIGF1
dG8gb3JpZ2luID0gY29udmVydEZyb21CYWNraW5nKCppbWFnZUNvcHlUZXh0dXJlLm9yaWdpbik7
CisgICAgICAgIG9yaWdpbiA9IGNvbnZlcnRGcm9tQmFja2luZygqaW1hZ2VDb3B5VGV4dHVyZS5v
cmlnaW4pOwogICAgICAgICBpZiAoIW9yaWdpbikKICAgICAgICAgICAgIHJldHVybiBzdGQ6Om51
bGxvcHQ7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dl
YkdQVVF1ZXJ5U2V0RGVzY3JpcHRvci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUv
V2ViR1BVUXVlcnlTZXREZXNjcmlwdG9yLmNwcAppbmRleCBhMDc2MTgyMzEzOWUyOTJmMDUwNmQ3
ZGZlNmJhNjdjNWI5MDkxNDY0Li5lYzExMGI3MDA4ODg5NjU3ZTU2NTJjMjU2NDQwZDU0M2RhMWE5
ZmExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVUXVlcnlT
ZXREZXNjcmlwdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BV
UXVlcnlTZXREZXNjcmlwdG9yLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChD
KSAyMDIxLTIwMjIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCkBAIC00MCw3ICs0MCw3IEBAIHN0ZDo6b3B0aW9uYWw8UXVlcnlT
ZXREZXNjcmlwdG9yPiBDb252ZXJ0VG9CYWNraW5nQ29udGV4dDo6Y29udmVydFRvQmFja2luZyhj
b25zCiAgICAgaWYgKCFiYXNlKQogICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogCi0gICAg
cmV0dXJuIHsgeyBXVEZNb3ZlKCpiYXNlKSwgcXVlcnlTZXREZXNjcmlwdG9yLnR5cGUsIHF1ZXJ5
U2V0RGVzY3JpcHRvci5jb3VudCwgcXVlcnlTZXREZXNjcmlwdG9yLnBpcGVsaW5lU3RhdGlzdGlj
cyB9IH07CisgICAgcmV0dXJuIHsgeyBXVEZNb3ZlKCpiYXNlKSwgcXVlcnlTZXREZXNjcmlwdG9y
LnR5cGUsIHF1ZXJ5U2V0RGVzY3JpcHRvci5jb3VudCB9IH07CiB9CiAKIHN0ZDo6b3B0aW9uYWw8
UEFMOjpXZWJHUFU6OlF1ZXJ5U2V0RGVzY3JpcHRvcj4gQ29udmVydEZyb21CYWNraW5nQ29udGV4
dDo6Y29udmVydEZyb21CYWNraW5nKGNvbnN0IFF1ZXJ5U2V0RGVzY3JpcHRvciYgcXVlcnlTZXRE
ZXNjcmlwdG9yKQpAQCAtNDksNyArNDksNyBAQCBzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpR
dWVyeVNldERlc2NyaXB0b3I+IENvbnZlcnRGcm9tQmFja2luZ0NvbnRleHQ6OmNvbnZlcgogICAg
IGlmICghYmFzZSkKICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKIAotICAgIHJldHVybiB7
IHsgV1RGTW92ZSgqYmFzZSksIHF1ZXJ5U2V0RGVzY3JpcHRvci50eXBlLCBxdWVyeVNldERlc2Ny
aXB0b3IuY291bnQsIHF1ZXJ5U2V0RGVzY3JpcHRvci5waXBlbGluZVN0YXRpc3RpY3MgfSB9Owor
ICAgIHJldHVybiB7IHsgV1RGTW92ZSgqYmFzZSksIHF1ZXJ5U2V0RGVzY3JpcHRvci50eXBlLCBx
dWVyeVNldERlc2NyaXB0b3IuY291bnQgfSB9OwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVRdWVyeVNldERl
c2NyaXB0b3IuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVRdWVyeVNldERl
c2NyaXB0b3IuaAppbmRleCAxZmQyOGNjOGI1MmNmYWZjZWZiNGIyMzQwMzAyMGE0MTgxOWY3MTFj
Li4wYzBmOWI4NjU4ZDU1ZmRlMjkwMDhhODY0MGU3MDE0MzAxODRjOTViIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVUXVlcnlTZXREZXNjcmlwdG9yLmgKKysr
IGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVVF1ZXJ5U2V0RGVzY3JpcHRvci5o
CkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEtMjAyMiBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAg
LTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlICJXZWJHUFVPYmplY3REZXNjcmlwdG9yQmFzZS5oIgog
I2luY2x1ZGUgPG9wdGlvbmFsPgogI2luY2x1ZGUgPHBhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BV
SW50ZWdyYWxUeXBlcy5oPgotI2luY2x1ZGUgPHBhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVUGlw
ZWxpbmVTdGF0aXN0aWNOYW1lLmg+CiAjaW5jbHVkZSA8cGFsL2dyYXBoaWNzL1dlYkdQVS9XZWJH
UFVRdWVyeVR5cGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKQEAgLTM5LDE0ICszOCwx
MiBAQCBuYW1lc3BhY2UgV2ViS2l0OjpXZWJHUFUgewogc3RydWN0IFF1ZXJ5U2V0RGVzY3JpcHRv
ciA6IHB1YmxpYyBPYmplY3REZXNjcmlwdG9yQmFzZSB7CiAgICAgUEFMOjpXZWJHUFU6OlF1ZXJ5
VHlwZSB0eXBlIHsgUEFMOjpXZWJHUFU6OlF1ZXJ5VHlwZTo6T2NjbHVzaW9uIH07CiAgICAgUEFM
OjpXZWJHUFU6OlNpemUzMiBjb3VudCB7IDAgfTsKLSAgICBWZWN0b3I8UEFMOjpXZWJHUFU6OlBp
cGVsaW5lU3RhdGlzdGljTmFtZT4gcGlwZWxpbmVTdGF0aXN0aWNzOwogCiAgICAgdGVtcGxhdGU8
Y2xhc3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKICAgICB7
CiAgICAgICAgIGVuY29kZXIgPDwgc3RhdGljX2Nhc3Q8Y29uc3QgT2JqZWN0RGVzY3JpcHRvckJh
c2UmPigqdGhpcyk7CiAgICAgICAgIGVuY29kZXIgPDwgdHlwZTsKICAgICAgICAgZW5jb2RlciA8
PCBjb3VudDsKLSAgICAgICAgZW5jb2RlciA8PCBwaXBlbGluZVN0YXRpc3RpY3M7CiAgICAgfQog
CiAgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIHN0ZDo6b3B0aW9uYWw8UXVlcnlT
ZXREZXNjcmlwdG9yPiBkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKQEAgLTY2LDEyICs2Myw3IEBA
IHN0cnVjdCBRdWVyeVNldERlc2NyaXB0b3IgOiBwdWJsaWMgT2JqZWN0RGVzY3JpcHRvckJhc2Ug
ewogICAgICAgICBpZiAoIWNvdW50KQogICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsK
IAotICAgICAgICBzdGQ6Om9wdGlvbmFsPFZlY3RvcjxQQUw6OldlYkdQVTo6UGlwZWxpbmVTdGF0
aXN0aWNOYW1lPj4gcGlwZWxpbmVTdGF0aXN0aWNzOwotICAgICAgICBkZWNvZGVyID4+IHBpcGVs
aW5lU3RhdGlzdGljczsKLSAgICAgICAgaWYgKCFwaXBlbGluZVN0YXRpc3RpY3MpCi0gICAgICAg
ICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwotCi0gICAgICAgIHJldHVybiB7IHsgV1RGTW92ZSgq
b2JqZWN0RGVzY3JpcHRvckJhc2UpLCBXVEZNb3ZlKCp0eXBlKSwgV1RGTW92ZSgqY291bnQpLCBX
VEZNb3ZlKCpwaXBlbGluZVN0YXRpc3RpY3MpIH0gfTsKKyAgICAgICAgcmV0dXJuIHsgeyBXVEZN
b3ZlKCpvYmplY3REZXNjcmlwdG9yQmFzZSksIFdURk1vdmUoKnR5cGUpLCBXVEZNb3ZlKCpjb3Vu
dCkgfSB9OwogICAgIH0KIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dl
YkdQVS9XZWJHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL1dlYkdQVS9XZWJHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50LmNwcAppbmRleCBj
NDc1MGJmN2Y1ZTYwZGY2OWY2NDY2Mjc0OWU4NDc1M2VhMGFjMjcyLi5kZDg2OGRiYTVkZjkyYzc1
MjgzNDQyNjgzZTAwNTgxYWUwZTVjNjU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9XZWJHUFUvV2ViR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudC5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQuY3Bw
CkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEtMjAyMiBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAg
LTQ3LDIwICs0NywxNCBAQCBzdGQ6Om9wdGlvbmFsPFJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQ+
IENvbnZlcnRUb0JhY2tpbmdDb250ZXh0Ojpjb252ZXJ0VG9CYWNraQogICAgICAgICAgICAgcmV0
dXJuIHN0ZDo6bnVsbG9wdDsKICAgICB9CiAKLSAgICBhdXRvIGxvYWRWYWx1ZSA9IFdURjo6c3dp
dGNoT24ocmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudC5sb2FkVmFsdWUsIFtdIChQQUw6OldlYkdQ
VTo6TG9hZE9wIGxvYWRPcCkgLT4gc3RkOjpvcHRpb25hbDxzdGQ6OnZhcmlhbnQ8UEFMOjpXZWJH
UFU6OkxvYWRPcCwgVmVjdG9yPGRvdWJsZT4sIENvbG9yRGljdD4+IHsKLSAgICAgICAgcmV0dXJu
IHsgeyBsb2FkT3AgfSB9OwotICAgIH0sIFtdIChjb25zdCBWZWN0b3I8ZG91YmxlPiYgdmVjdG9y
KSAtPiBzdGQ6Om9wdGlvbmFsPHN0ZDo6dmFyaWFudDxQQUw6OldlYkdQVTo6TG9hZE9wLCBWZWN0
b3I8ZG91YmxlPiwgQ29sb3JEaWN0Pj4gewotICAgICAgICByZXR1cm4geyB7IHZlY3RvciB9IH07
Ci0gICAgfSwgW3RoaXNdIChjb25zdCBQQUw6OldlYkdQVTo6Q29sb3JEaWN0JiBjb2xvckRpY3Qp
IC0+IHN0ZDo6b3B0aW9uYWw8c3RkOjp2YXJpYW50PFBBTDo6V2ViR1BVOjpMb2FkT3AsIFZlY3Rv
cjxkb3VibGU+LCBDb2xvckRpY3Q+PiB7Ci0gICAgICAgIGF1dG8gYmFja2luZ0NvbG9yRGljdCA9
IGNvbnZlcnRUb0JhY2tpbmcoY29sb3JEaWN0KTsKLSAgICAgICAgaWYgKCFiYWNraW5nQ29sb3JE
aWN0KQorICAgIHN0ZDo6b3B0aW9uYWw8Q29sb3I+IGNsZWFyVmFsdWU7CisgICAgaWYgKHJlbmRl
clBhc3NDb2xvckF0dGFjaG1lbnQuY2xlYXJWYWx1ZSkgeworICAgICAgICBjbGVhclZhbHVlID0g
Y29udmVydFRvQmFja2luZygqcmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudC5jbGVhclZhbHVlKTsK
KyAgICAgICAgaWYgKCFjbGVhclZhbHVlKQogICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9w
dDsKLSAgICAgICAgcmV0dXJuIHsgeyBXVEZNb3ZlKCpiYWNraW5nQ29sb3JEaWN0KSB9IH07Ci0g
ICAgfSk7Ci0gICAgaWYgKCFsb2FkVmFsdWUpCi0gICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7
CisgICAgfQogCi0gICAgcmV0dXJuIHsgeyB2aWV3LCByZXNvbHZlVGFyZ2V0LCBXVEZNb3ZlKCps
b2FkVmFsdWUpLCByZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50LnN0b3JlT3AgfSB9OworICAgIHJl
dHVybiB7IHsgdmlldywgcmVzb2x2ZVRhcmdldCwgV1RGTW92ZShjbGVhclZhbHVlKSwgcmVuZGVy
UGFzc0NvbG9yQXR0YWNobWVudC5sb2FkT3AsIHJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQuc3Rv
cmVPcCB9IH07CiB9CiAKIHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlJlbmRlclBhc3NDb2xv
ckF0dGFjaG1lbnQ+IENvbnZlcnRGcm9tQmFja2luZ0NvbnRleHQ6OmNvbnZlcnRGcm9tQmFja2lu
Zyhjb25zdCBSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50JiByZW5kZXJQYXNzQ29sb3JBdHRhY2ht
ZW50KQpAQCAtNzYsMjAgKzcwLDE0IEBAIHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlJlbmRl
clBhc3NDb2xvckF0dGFjaG1lbnQ+IENvbnZlcnRGcm9tQmFja2luZ0NvbnRleHQ6CiAgICAgICAg
ICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogICAgIH0KIAotICAgIGF1dG8gbG9hZFZhbHVlID0g
V1RGOjpzd2l0Y2hPbihyZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50LmxvYWRWYWx1ZSwgW10gKFBB
TDo6V2ViR1BVOjpMb2FkT3AgbG9hZE9wKSAtPiBzdGQ6Om9wdGlvbmFsPHN0ZDo6dmFyaWFudDxQ
QUw6OldlYkdQVTo6TG9hZE9wLCBWZWN0b3I8ZG91YmxlPiwgUEFMOjpXZWJHUFU6OkNvbG9yRGlj
dD4+IHsKLSAgICAgICAgcmV0dXJuIHsgeyBsb2FkT3AgfSB9OwotICAgIH0sIFtdIChjb25zdCBW
ZWN0b3I8ZG91YmxlPiYgdmVjdG9yKSAtPiBzdGQ6Om9wdGlvbmFsPHN0ZDo6dmFyaWFudDxQQUw6
OldlYkdQVTo6TG9hZE9wLCBWZWN0b3I8ZG91YmxlPiwgUEFMOjpXZWJHUFU6OkNvbG9yRGljdD4+
IHsKLSAgICAgICAgcmV0dXJuIHsgeyB2ZWN0b3IgfSB9OwotICAgIH0sIFt0aGlzXSAoY29uc3Qg
Q29sb3JEaWN0JiBjb2xvckRpY3QpIC0+IHN0ZDo6b3B0aW9uYWw8c3RkOjp2YXJpYW50PFBBTDo6
V2ViR1BVOjpMb2FkT3AsIFZlY3Rvcjxkb3VibGU+LCBQQUw6OldlYkdQVTo6Q29sb3JEaWN0Pj4g
ewotICAgICAgICBhdXRvIGJhY2tpbmdDb2xvckRpY3QgPSBjb252ZXJ0RnJvbUJhY2tpbmcoY29s
b3JEaWN0KTsKLSAgICAgICAgaWYgKCFiYWNraW5nQ29sb3JEaWN0KQorICAgIHN0ZDo6b3B0aW9u
YWw8UEFMOjpXZWJHUFU6OkNvbG9yPiBjbGVhclZhbHVlOworICAgIGlmIChyZW5kZXJQYXNzQ29s
b3JBdHRhY2htZW50LmNsZWFyVmFsdWUpIHsKKyAgICAgICAgY2xlYXJWYWx1ZSA9IGNvbnZlcnRG
cm9tQmFja2luZygqcmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudC5jbGVhclZhbHVlKTsKKyAgICAg
ICAgaWYgKCFjbGVhclZhbHVlKQogICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKLSAg
ICAgICAgcmV0dXJuIHsgeyBXVEZNb3ZlKCpiYWNraW5nQ29sb3JEaWN0KSB9IH07Ci0gICAgfSk7
Ci0gICAgaWYgKCFsb2FkVmFsdWUpCi0gICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisgICAg
fQogCi0gICAgcmV0dXJuIHsgeyAqdmlldywgcmVzb2x2ZVRhcmdldCwgV1RGTW92ZSgqbG9hZFZh
bHVlKSwgcmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudC5zdG9yZU9wIH0gfTsKKyAgICByZXR1cm4g
eyB7ICp2aWV3LCByZXNvbHZlVGFyZ2V0LCBXVEZNb3ZlKGNsZWFyVmFsdWUpLCByZW5kZXJQYXNz
Q29sb3JBdHRhY2htZW50LmxvYWRPcCwgcmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudC5zdG9yZU9w
IH0gfTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudC5oIGIvU291
cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQu
aAppbmRleCBjMTZhMTRmZjBkNDY4YzYzNmY1NmM2NmEwMTM2Yzc0MTgzM2EwYzIwLi5hODBmYzVi
NDlmMTYzOTdkNzU3ZThlMzA0YmM0YTI3MmU3OTQwOGVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudC5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2ht
ZW50LmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAyMS0yMDIyIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwpAQCAtNDIsMTQgKzQyLDE2IEBAIHN0cnVjdCBSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50IHsK
ICAgICBXZWJHUFVJZGVudGlmaWVyIHZpZXc7CiAgICAgV2ViR1BVSWRlbnRpZmllciByZXNvbHZl
VGFyZ2V0OwogCi0gICAgc3RkOjp2YXJpYW50PFBBTDo6V2ViR1BVOjpMb2FkT3AsIFZlY3Rvcjxk
b3VibGU+LCBDb2xvckRpY3Q+IGxvYWRWYWx1ZTsKKyAgICBzdGQ6Om9wdGlvbmFsPENvbG9yPiBj
bGVhclZhbHVlOworICAgIFBBTDo6V2ViR1BVOjpMb2FkT3AgbG9hZE9wIHsgUEFMOjpXZWJHUFU6
OkxvYWRPcDo6TG9hZCB9OwogICAgIFBBTDo6V2ViR1BVOjpTdG9yZU9wIHN0b3JlT3AgeyBQQUw6
OldlYkdQVTo6U3RvcmVPcDo6U3RvcmUgfTsKIAogICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+
IHZvaWQgZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0CiAgICAgewogICAgICAgICBlbmNv
ZGVyIDw8IHZpZXc7CiAgICAgICAgIGVuY29kZXIgPDwgcmVzb2x2ZVRhcmdldDsKLSAgICAgICAg
ZW5jb2RlciA8PCBsb2FkVmFsdWU7CisgICAgICAgIGVuY29kZXIgPDwgY2xlYXJWYWx1ZTsKKyAg
ICAgICAgZW5jb2RlciA8PCBsb2FkT3A7CiAgICAgICAgIGVuY29kZXIgPDwgc3RvcmVPcDsKICAg
ICB9CiAKQEAgLTY1LDkgKzY3LDE0IEBAIHN0cnVjdCBSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50
IHsKICAgICAgICAgaWYgKCFyZXNvbHZlVGFyZ2V0KQogICAgICAgICAgICAgcmV0dXJuIHN0ZDo6
bnVsbG9wdDsKIAotICAgICAgICBzdGQ6Om9wdGlvbmFsPHN0ZDo6dmFyaWFudDxQQUw6OldlYkdQ
VTo6TG9hZE9wLCBWZWN0b3I8ZG91YmxlPiwgQ29sb3JEaWN0Pj4gbG9hZFZhbHVlOwotICAgICAg
ICBkZWNvZGVyID4+IGxvYWRWYWx1ZTsKLSAgICAgICAgaWYgKCFsb2FkVmFsdWUpCisgICAgICAg
IHN0ZDo6b3B0aW9uYWw8c3RkOjpvcHRpb25hbDxDb2xvcj4+IGNsZWFyVmFsdWU7CisgICAgICAg
IGRlY29kZXIgPj4gY2xlYXJWYWx1ZTsKKyAgICAgICAgaWYgKCFjbGVhclZhbHVlKQorICAgICAg
ICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgICAgICBzdGQ6Om9wdGlvbmFsPFBBTDo6
V2ViR1BVOjpMb2FkT3A+IGxvYWRPcDsKKyAgICAgICAgZGVjb2RlciA+PiBsb2FkT3A7CisgICAg
ICAgIGlmICghbG9hZE9wKQogICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKIAogICAg
ICAgICBzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpTdG9yZU9wPiBzdG9yZU9wOwpAQCAtNzUs
NyArODIsNyBAQCBzdHJ1Y3QgUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudCB7CiAgICAgICAgIGlm
ICghc3RvcmVPcCkKICAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAKLSAgICAgICAg
cmV0dXJuIHsgeyBXVEZNb3ZlKCp2aWV3KSwgV1RGTW92ZSgqcmVzb2x2ZVRhcmdldCksIFdURk1v
dmUoKmxvYWRWYWx1ZSksIFdURk1vdmUoKnN0b3JlT3ApIH0gfTsKKyAgICAgICAgcmV0dXJuIHsg
eyBXVEZNb3ZlKCp2aWV3KSwgV1RGTW92ZSgqcmVzb2x2ZVRhcmdldCksIFdURk1vdmUoKmNsZWFy
VmFsdWUpLCBXVEZNb3ZlKCpsb2FkT3ApLCBXVEZNb3ZlKCpzdG9yZU9wKSB9IH07CiAgICAgfQog
fTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVVJlbmRl
clBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dl
YkdQVS9XZWJHUFVSZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNobWVudC5jcHAKaW5kZXggMzY2
NDFjZDY3NzY4MGM4ZmVjZjMxYmZlNjkzZjE5NTAzODEyYWFiMi4uY2I2N2E3NGFmNzdmNmYxZDBl
ZWMzYzNmZWQ5ZTlhNWEzMjcwOTUyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQv
V2ViR1BVL1dlYkdQVVJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVUmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0
dGFjaG1lbnQuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAyMSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEtMjAy
MiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKQEAgLTQwLDcgKzQwLDcgQEAgc3RkOjpvcHRpb25hbDxSZW5kZXJQYXNzRGVwdGhT
dGVuY2lsQXR0YWNobWVudD4gQ29udmVydFRvQmFja2luZ0NvbnRleHQ6OmNvbnZlcnQKICAgICBp
ZiAoIXZpZXcpCiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAKLSAgICByZXR1cm4geyB7
IHZpZXcsIHJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50LmRlcHRoTG9hZFZhbHVlLCBy
ZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNobWVudC5kZXB0aFN0b3JlT3AsIHJlbmRlclBhc3NE
ZXB0aFN0ZW5jaWxBdHRhY2htZW50LmRlcHRoUmVhZE9ubHksIHJlbmRlclBhc3NEZXB0aFN0ZW5j
aWxBdHRhY2htZW50LnN0ZW5jaWxMb2FkVmFsdWUsIHJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRh
Y2htZW50LnN0ZW5jaWxTdG9yZU9wLCByZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNobWVudC5z
dGVuY2lsUmVhZE9ubHkgfSB9OworICAgIHJldHVybiB7IHsgdmlldywgcmVuZGVyUGFzc0RlcHRo
U3RlbmNpbEF0dGFjaG1lbnQuZGVwdGhDbGVhclZhbHVlLCByZW5kZXJQYXNzRGVwdGhTdGVuY2ls
QXR0YWNobWVudC5kZXB0aExvYWRPcCwgcmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQu
ZGVwdGhTdG9yZU9wLCByZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNobWVudC5kZXB0aFJlYWRP
bmx5LCByZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNobWVudC5zdGVuY2lsQ2xlYXJWYWx1ZSwg
cmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQuc3RlbmNpbExvYWRPcCwgcmVuZGVyUGFz
c0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQuc3RlbmNpbFN0b3JlT3AsIHJlbmRlclBhc3NEZXB0aFN0
ZW5jaWxBdHRhY2htZW50LnN0ZW5jaWxSZWFkT25seSB9IH07CiB9CiAKIHN0ZDo6b3B0aW9uYWw8
UEFMOjpXZWJHUFU6OlJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50PiBDb252ZXJ0RnJv
bUJhY2tpbmdDb250ZXh0Ojpjb252ZXJ0RnJvbUJhY2tpbmcoY29uc3QgUmVuZGVyUGFzc0RlcHRo
U3RlbmNpbEF0dGFjaG1lbnQmIHJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50KQpAQCAt
NDksNyArNDksNyBAQCBzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpSZW5kZXJQYXNzRGVwdGhT
dGVuY2lsQXR0YWNobWVudD4gQ29udmVydEZyb21CYWNraW5nQwogICAgIGlmICghdmlldykKICAg
ICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKIAotICAgIHJldHVybiB7IHsgKnZpZXcsIHJlbmRl
clBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50LmRlcHRoTG9hZFZhbHVlLCByZW5kZXJQYXNzRGVw
dGhTdGVuY2lsQXR0YWNobWVudC5kZXB0aFN0b3JlT3AsIHJlbmRlclBhc3NEZXB0aFN0ZW5jaWxB
dHRhY2htZW50LmRlcHRoUmVhZE9ubHksIHJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50
LnN0ZW5jaWxMb2FkVmFsdWUsIHJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50LnN0ZW5j
aWxTdG9yZU9wLCByZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNobWVudC5zdGVuY2lsUmVhZE9u
bHkgfSB9OworICAgIHJldHVybiB7IHsgKnZpZXcsIHJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRh
Y2htZW50LmRlcHRoQ2xlYXJWYWx1ZSwgcmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQu
ZGVwdGhMb2FkT3AsIHJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50LmRlcHRoU3RvcmVP
cCwgcmVuZGVyUGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQuZGVwdGhSZWFkT25seSwgcmVuZGVy
UGFzc0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQuc3RlbmNpbENsZWFyVmFsdWUsIHJlbmRlclBhc3NE
ZXB0aFN0ZW5jaWxBdHRhY2htZW50LnN0ZW5jaWxMb2FkT3AsIHJlbmRlclBhc3NEZXB0aFN0ZW5j
aWxBdHRhY2htZW50LnN0ZW5jaWxTdG9yZU9wLCByZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNo
bWVudC5zdGVuY2lsUmVhZE9ubHkgfSB9OwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVSZW5kZXJQYXNzRGVw
dGhTdGVuY2lsQXR0YWNobWVudC5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQ
VVJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50LmgKaW5kZXggYmU3MThkMjhiMjNjZjAz
NzY0NWYxYmRjOTBmMGM0MmVjN2IzNDI3Zi4uNzQ2ZTYwYzMxYzhhMDUxYzQ3M2E5OGQ1YjAxOWQz
ODI0ZDdkYTc3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQ
VVJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9T
aGFyZWQvV2ViR1BVL1dlYkdQVVJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50LmgKQEAg
LTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAyMS0yMDIyIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNDAs
MjEgKzQwLDI1IEBAIG5hbWVzcGFjZSBXZWJLaXQ6OldlYkdQVSB7CiBzdHJ1Y3QgUmVuZGVyUGFz
c0RlcHRoU3RlbmNpbEF0dGFjaG1lbnQgewogICAgIFdlYkdQVUlkZW50aWZpZXIgdmlldzsKIAot
ICAgIHN0ZDo6dmFyaWFudDxQQUw6OldlYkdQVTo6TG9hZE9wLCBmbG9hdD4gZGVwdGhMb2FkVmFs
dWU7Ci0gICAgUEFMOjpXZWJHUFU6OlN0b3JlT3AgZGVwdGhTdG9yZU9wIHsgUEFMOjpXZWJHUFU6
OlN0b3JlT3A6OlN0b3JlIH07CisgICAgZmxvYXQgZGVwdGhDbGVhclZhbHVlIHsgMCB9OworICAg
IHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OkxvYWRPcD4gZGVwdGhMb2FkT3A7CisgICAgc3Rk
OjpvcHRpb25hbDxQQUw6OldlYkdQVTo6U3RvcmVPcD4gZGVwdGhTdG9yZU9wOwogICAgIGJvb2wg
ZGVwdGhSZWFkT25seSB7IGZhbHNlIH07CiAKLSAgICBzdGQ6OnZhcmlhbnQ8UEFMOjpXZWJHUFU6
OkxvYWRPcCwgUEFMOjpXZWJHUFU6OlN0ZW5jaWxWYWx1ZT4gc3RlbmNpbExvYWRWYWx1ZTsKLSAg
ICBQQUw6OldlYkdQVTo6U3RvcmVPcCBzdGVuY2lsU3RvcmVPcCB7IFBBTDo6V2ViR1BVOjpTdG9y
ZU9wOjpTdG9yZSB9OworICAgIFBBTDo6V2ViR1BVOjpTdGVuY2lsVmFsdWUgc3RlbmNpbENsZWFy
VmFsdWUgeyAwIH07CisgICAgc3RkOjpvcHRpb25hbDxQQUw6OldlYkdQVTo6TG9hZE9wPiBzdGVu
Y2lsTG9hZE9wOworICAgIHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlN0b3JlT3A+IHN0ZW5j
aWxTdG9yZU9wOwogICAgIGJvb2wgc3RlbmNpbFJlYWRPbmx5IHsgZmFsc2UgfTsKIAogICAgIHRl
bXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0
CiAgICAgewogICAgICAgICBlbmNvZGVyIDw8IHZpZXc7Ci0gICAgICAgIGVuY29kZXIgPDwgZGVw
dGhMb2FkVmFsdWU7CisgICAgICAgIGVuY29kZXIgPDwgZGVwdGhDbGVhclZhbHVlOworICAgICAg
ICBlbmNvZGVyIDw8IGRlcHRoTG9hZE9wOwogICAgICAgICBlbmNvZGVyIDw8IGRlcHRoU3RvcmVP
cDsKICAgICAgICAgZW5jb2RlciA8PCBkZXB0aFJlYWRPbmx5OwotICAgICAgICBlbmNvZGVyIDw8
IHN0ZW5jaWxMb2FkVmFsdWU7CisgICAgICAgIGVuY29kZXIgPDwgc3RlbmNpbENsZWFyVmFsdWU7
CisgICAgICAgIGVuY29kZXIgPDwgc3RlbmNpbExvYWRPcDsKICAgICAgICAgZW5jb2RlciA8PCBz
dGVuY2lsU3RvcmVPcDsKICAgICAgICAgZW5jb2RlciA8PCBzdGVuY2lsUmVhZE9ubHk7CiAgICAg
fQpAQCAtNjYsMTIgKzcwLDE3IEBAIHN0cnVjdCBSZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNo
bWVudCB7CiAgICAgICAgIGlmICghdmlldykKICAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxv
cHQ7CiAKLSAgICAgICAgc3RkOjpvcHRpb25hbDxzdGQ6OnZhcmlhbnQ8UEFMOjpXZWJHUFU6Okxv
YWRPcCwgZmxvYXQ+PiBkZXB0aExvYWRWYWx1ZTsKLSAgICAgICAgZGVjb2RlciA+PiBkZXB0aExv
YWRWYWx1ZTsKLSAgICAgICAgaWYgKCFkZXB0aExvYWRWYWx1ZSkKKyAgICAgICAgc3RkOjpvcHRp
b25hbDxmbG9hdD4gZGVwdGhDbGVhclZhbHVlOworICAgICAgICBkZWNvZGVyID4+IGRlcHRoQ2xl
YXJWYWx1ZTsKKyAgICAgICAgaWYgKCFkZXB0aENsZWFyVmFsdWUpCiAgICAgICAgICAgICByZXR1
cm4gc3RkOjpudWxsb3B0OwogCi0gICAgICAgIHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlN0
b3JlT3A+IGRlcHRoU3RvcmVPcDsKKyAgICAgICAgc3RkOjpvcHRpb25hbDxzdGQ6Om9wdGlvbmFs
PFBBTDo6V2ViR1BVOjpMb2FkT3A+PiBkZXB0aExvYWRPcDsKKyAgICAgICAgZGVjb2RlciA+PiBk
ZXB0aExvYWRPcDsKKyAgICAgICAgaWYgKCFkZXB0aExvYWRPcCkKKyAgICAgICAgICAgIHJldHVy
biBzdGQ6Om51bGxvcHQ7CisKKyAgICAgICAgc3RkOjpvcHRpb25hbDxzdGQ6Om9wdGlvbmFsPFBB
TDo6V2ViR1BVOjpTdG9yZU9wPj4gZGVwdGhTdG9yZU9wOwogICAgICAgICBkZWNvZGVyID4+IGRl
cHRoU3RvcmVPcDsKICAgICAgICAgaWYgKCFkZXB0aFN0b3JlT3ApCiAgICAgICAgICAgICByZXR1
cm4gc3RkOjpudWxsb3B0OwpAQCAtODEsMTIgKzkwLDE3IEBAIHN0cnVjdCBSZW5kZXJQYXNzRGVw
dGhTdGVuY2lsQXR0YWNobWVudCB7CiAgICAgICAgIGlmICghZGVwdGhSZWFkT25seSkKICAgICAg
ICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAKLSAgICAgICAgc3RkOjpvcHRpb25hbDxzdGQ6
OnZhcmlhbnQ8UEFMOjpXZWJHUFU6OkxvYWRPcCwgUEFMOjpXZWJHUFU6OlN0ZW5jaWxWYWx1ZT4+
IHN0ZW5jaWxMb2FkVmFsdWU7Ci0gICAgICAgIGRlY29kZXIgPj4gc3RlbmNpbExvYWRWYWx1ZTsK
LSAgICAgICAgaWYgKCFzdGVuY2lsTG9hZFZhbHVlKQorICAgICAgICBzdGQ6Om9wdGlvbmFsPFBB
TDo6V2ViR1BVOjpTdGVuY2lsVmFsdWU+IHN0ZW5jaWxDbGVhclZhbHVlOworICAgICAgICBkZWNv
ZGVyID4+IHN0ZW5jaWxDbGVhclZhbHVlOworICAgICAgICBpZiAoIXN0ZW5jaWxDbGVhclZhbHVl
KQorICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgICAgICBzdGQ6Om9wdGlv
bmFsPHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OkxvYWRPcD4+IHN0ZW5jaWxMb2FkT3A7Cisg
ICAgICAgIGRlY29kZXIgPj4gc3RlbmNpbExvYWRPcDsKKyAgICAgICAgaWYgKCFzdGVuY2lsTG9h
ZE9wKQogICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKIAotICAgICAgICBzdGQ6Om9w
dGlvbmFsPFBBTDo6V2ViR1BVOjpTdG9yZU9wPiBzdGVuY2lsU3RvcmVPcDsKKyAgICAgICAgc3Rk
OjpvcHRpb25hbDxzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpTdG9yZU9wPj4gc3RlbmNpbFN0
b3JlT3A7CiAgICAgICAgIGRlY29kZXIgPj4gc3RlbmNpbFN0b3JlT3A7CiAgICAgICAgIGlmICgh
c3RlbmNpbFN0b3JlT3ApCiAgICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwpAQCAtOTYs
NyArMTEwLDcgQEAgc3RydWN0IFJlbmRlclBhc3NEZXB0aFN0ZW5jaWxBdHRhY2htZW50IHsKICAg
ICAgICAgaWYgKCFzdGVuY2lsUmVhZE9ubHkpCiAgICAgICAgICAgICByZXR1cm4gc3RkOjpudWxs
b3B0OwogCi0gICAgICAgIHJldHVybiB7IHsgV1RGTW92ZSgqdmlldyksIFdURk1vdmUoKmRlcHRo
TG9hZFZhbHVlKSwgV1RGTW92ZSgqZGVwdGhTdG9yZU9wKSwgV1RGTW92ZSgqZGVwdGhSZWFkT25s
eSksIFdURk1vdmUoKnN0ZW5jaWxMb2FkVmFsdWUpLCBXVEZNb3ZlKCpzdGVuY2lsU3RvcmVPcCks
IFdURk1vdmUoKnN0ZW5jaWxSZWFkT25seSkgfSB9OworICAgICAgICByZXR1cm4geyB7IFdURk1v
dmUoKnZpZXcpLCBXVEZNb3ZlKCpkZXB0aENsZWFyVmFsdWUpLCBXVEZNb3ZlKCpkZXB0aExvYWRP
cCksIFdURk1vdmUoKmRlcHRoU3RvcmVPcCksIFdURk1vdmUoKmRlcHRoUmVhZE9ubHkpLCBXVEZN
b3ZlKCpzdGVuY2lsQ2xlYXJWYWx1ZSksIFdURk1vdmUoKnN0ZW5jaWxMb2FkT3ApLCBXVEZNb3Zl
KCpzdGVuY2lsU3RvcmVPcCksIFdURk1vdmUoKnN0ZW5jaWxSZWFkT25seSkgfSB9OwogICAgIH0K
IH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVSZW5k
ZXJQYXNzRGVzY3JpcHRvci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BV
UmVuZGVyUGFzc0Rlc2NyaXB0b3IuY3BwCmluZGV4IDEzMmNmYTViOGZkY2MxYmQ3ODlmNmFiYmVl
MjZlMjg0NjQyMjYyYTUuLjkyYTY4YTJkY2FjYjlmOTZhZTJhNTc1ZmI5MTZlM2EwYzE0YzQwYzEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVSZW5kZXJQYXNz
RGVzY3JpcHRvci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVVJl
bmRlclBhc3NEZXNjcmlwdG9yLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChD
KSAyMDIxLTIwMjIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCkBAIC00MCwxMyArNDAsMTYgQEAgc3RkOjpvcHRpb25hbDxSZW5k
ZXJQYXNzRGVzY3JpcHRvcj4gQ29udmVydFRvQmFja2luZ0NvbnRleHQ6OmNvbnZlcnRUb0JhY2tp
bmcoY28KICAgICBpZiAoIWJhc2UpCiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAKLSAg
ICBWZWN0b3I8UmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudD4gY29sb3JBdHRhY2htZW50czsKKyAg
ICBWZWN0b3I8c3RkOjpvcHRpb25hbDxSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50Pj4gY29sb3JB
dHRhY2htZW50czsKICAgICBjb2xvckF0dGFjaG1lbnRzLnJlc2VydmVJbml0aWFsQ2FwYWNpdHko
cmVuZGVyUGFzc0Rlc2NyaXB0b3IuY29sb3JBdHRhY2htZW50cy5zaXplKCkpOwogICAgIGZvciAo
Y29uc3QgYXV0byYgY29sb3JBdHRhY2htZW50IDogcmVuZGVyUGFzc0Rlc2NyaXB0b3IuY29sb3JB
dHRhY2htZW50cykgewotICAgICAgICBhdXRvIGJhY2tpbmdDb2xvckF0dGFjaG1lbnQgPSBjb252
ZXJ0VG9CYWNraW5nKGNvbG9yQXR0YWNobWVudCk7Ci0gICAgICAgIGlmICghYmFja2luZ0NvbG9y
QXR0YWNobWVudCkKLSAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7Ci0gICAgICAgIGNv
bG9yQXR0YWNobWVudHMudW5jaGVja2VkQXBwZW5kKFdURk1vdmUoKmJhY2tpbmdDb2xvckF0dGFj
aG1lbnQpKTsKKyAgICAgICAgaWYgKGNvbG9yQXR0YWNobWVudCkgeworICAgICAgICAgICAgYXV0
byBiYWNraW5nQ29sb3JBdHRhY2htZW50ID0gY29udmVydFRvQmFja2luZygqY29sb3JBdHRhY2ht
ZW50KTsKKyAgICAgICAgICAgIGlmICghYmFja2luZ0NvbG9yQXR0YWNobWVudCkKKyAgICAgICAg
ICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworICAgICAgICAgICAgY29sb3JBdHRhY2htZW50
cy51bmNoZWNrZWRBcHBlbmQoV1RGTW92ZSgqYmFja2luZ0NvbG9yQXR0YWNobWVudCkpOworICAg
ICAgICB9IGVsc2UKKyAgICAgICAgICAgIGNvbG9yQXR0YWNobWVudHMudW5jaGVja2VkQXBwZW5k
KHN0ZDo6bnVsbG9wdCk7CiAgICAgfQogCiAgICAgc3RkOjpvcHRpb25hbDxSZW5kZXJQYXNzRGVw
dGhTdGVuY2lsQXR0YWNobWVudD4gZGVwdGhTdGVuY2lsQXR0YWNobWVudDsKQEAgLTc2LDEzICs3
OSwxNiBAQCBzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpSZW5kZXJQYXNzRGVzY3JpcHRvcj4g
Q29udmVydEZyb21CYWNraW5nQ29udGV4dDo6Y29udgogICAgIGlmICghYmFzZSkKICAgICAgICAg
cmV0dXJuIHN0ZDo6bnVsbG9wdDsKIAotICAgIFZlY3RvcjxQQUw6OldlYkdQVTo6UmVuZGVyUGFz
c0NvbG9yQXR0YWNobWVudD4gY29sb3JBdHRhY2htZW50czsKKyAgICBWZWN0b3I8c3RkOjpvcHRp
b25hbDxQQUw6OldlYkdQVTo6UmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudD4+IGNvbG9yQXR0YWNo
bWVudHM7CiAgICAgY29sb3JBdHRhY2htZW50cy5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KHJlbmRl
clBhc3NEZXNjcmlwdG9yLmNvbG9yQXR0YWNobWVudHMuc2l6ZSgpKTsKICAgICBmb3IgKGNvbnN0
IGF1dG8mIGJhY2tpbmdDb2xvckF0dGFjaG1lbnQgOiByZW5kZXJQYXNzRGVzY3JpcHRvci5jb2xv
ckF0dGFjaG1lbnRzKSB7Ci0gICAgICAgIGF1dG8gY29sb3JBdHRhY2htZW50ID0gY29udmVydEZy
b21CYWNraW5nKGJhY2tpbmdDb2xvckF0dGFjaG1lbnQpOwotICAgICAgICBpZiAoIWNvbG9yQXR0
YWNobWVudCkKLSAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7Ci0gICAgICAgIGNvbG9y
QXR0YWNobWVudHMudW5jaGVja2VkQXBwZW5kKFdURk1vdmUoKmNvbG9yQXR0YWNobWVudCkpOwor
ICAgICAgICBpZiAoYmFja2luZ0NvbG9yQXR0YWNobWVudCkgeworICAgICAgICAgICAgYXV0byBj
b2xvckF0dGFjaG1lbnQgPSBjb252ZXJ0RnJvbUJhY2tpbmcoKmJhY2tpbmdDb2xvckF0dGFjaG1l
bnQpOworICAgICAgICAgICAgaWYgKCFjb2xvckF0dGFjaG1lbnQpCisgICAgICAgICAgICAgICAg
cmV0dXJuIHN0ZDo6bnVsbG9wdDsKKyAgICAgICAgICAgIGNvbG9yQXR0YWNobWVudHMudW5jaGVj
a2VkQXBwZW5kKFdURk1vdmUoKmNvbG9yQXR0YWNobWVudCkpOworICAgICAgICB9IGVsc2UKKyAg
ICAgICAgICAgIGNvbG9yQXR0YWNobWVudHMudW5jaGVja2VkQXBwZW5kKHN0ZDo6bnVsbG9wdCk7
CiAgICAgfQogCiAgICAgYXV0byBkZXB0aFN0ZW5jaWxBdHRhY2htZW50ID0gKFsmXSAoKSAtPiBz
dGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpSZW5kZXJQYXNzRGVwdGhTdGVuY2lsQXR0YWNobWVu
dD4gewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVVJlbmRl
clBhc3NEZXNjcmlwdG9yLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVUmVu
ZGVyUGFzc0Rlc2NyaXB0b3IuaAppbmRleCBiN2U4ZjVkODRhMTYwOWQyZGI5NTAyZjc2YTNlNDhl
NmViMGY2NTliLi5hY2Y2ODdmM2Y0NDQ4MGRjYzc0MTk1Y2FmY2JiM2IxMTAwMWU0ZDRmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVUmVuZGVyUGFzc0Rlc2Ny
aXB0b3IuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVUmVuZGVyUGFz
c0Rlc2NyaXB0b3IuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMjEg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDIxLTIw
MjIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCkBAIC0zOCw3ICszOCw3IEBACiBuYW1lc3BhY2UgV2ViS2l0OjpXZWJHUFUgewog
CiBzdHJ1Y3QgUmVuZGVyUGFzc0Rlc2NyaXB0b3IgOiBwdWJsaWMgT2JqZWN0RGVzY3JpcHRvckJh
c2UgewotICAgIFZlY3RvcjxSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50PiBjb2xvckF0dGFjaG1l
bnRzOworICAgIFZlY3RvcjxzdGQ6Om9wdGlvbmFsPFJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnQ+
PiBjb2xvckF0dGFjaG1lbnRzOwogICAgIHN0ZDo6b3B0aW9uYWw8UmVuZGVyUGFzc0RlcHRoU3Rl
bmNpbEF0dGFjaG1lbnQ+IGRlcHRoU3RlbmNpbEF0dGFjaG1lbnQ7CiAgICAgV2ViR1BVSWRlbnRp
ZmllciBvY2NsdXNpb25RdWVyeVNldDsKICAgICBSZW5kZXJQYXNzVGltZXN0YW1wV3JpdGVzIHRp
bWVzdGFtcFdyaXRlczsKQEAgLTU5LDcgKzU5LDcgQEAgc3RydWN0IFJlbmRlclBhc3NEZXNjcmlw
dG9yIDogcHVibGljIE9iamVjdERlc2NyaXB0b3JCYXNlIHsKICAgICAgICAgaWYgKCFvYmplY3RE
ZXNjcmlwdG9yQmFzZSkKICAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAKLSAgICAg
ICAgc3RkOjpvcHRpb25hbDxWZWN0b3I8UmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudD4+IGNvbG9y
QXR0YWNobWVudHM7CisgICAgICAgIHN0ZDo6b3B0aW9uYWw8VmVjdG9yPHN0ZDo6b3B0aW9uYWw8
UmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudD4+PiBjb2xvckF0dGFjaG1lbnRzOwogICAgICAgICBk
ZWNvZGVyID4+IGNvbG9yQXR0YWNobWVudHM7CiAgICAgICAgIGlmICghY29sb3JBdHRhY2htZW50
cykKICAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVUmVuZGVyUGFzc0xheW91dC5oIGIvU291cmNlL1dl
YktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVVJlbmRlclBhc3NMYXlvdXQuaAppbmRleCBlOWNmMjJi
YmFlN2UyNWIxNjc0N2ZjZmYyNGZiY2FjZjA2ODkwNDM4Li5jNmRlMmU1MGRmOGU1ZTlmOTY4ZmQ0
ODg0N2IyYzM3ZDIzMTBkN2QzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJH
UFUvV2ViR1BVUmVuZGVyUGFzc0xheW91dC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dl
YkdQVS9XZWJHUFVSZW5kZXJQYXNzTGF5b3V0LmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29w
eXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHly
aWdodCAoQykgMjAyMS0yMDIyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMzYsNyArMzYsNyBAQAogbmFtZXNwYWNlIFdl
YktpdDo6V2ViR1BVIHsKIAogc3RydWN0IFJlbmRlclBhc3NMYXlvdXQgOiBwdWJsaWMgT2JqZWN0
RGVzY3JpcHRvckJhc2UgewotICAgIFZlY3RvcjxQQUw6OldlYkdQVTo6VGV4dHVyZUZvcm1hdD4g
Y29sb3JGb3JtYXRzOworICAgIFZlY3RvcjxzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpUZXh0
dXJlRm9ybWF0Pj4gY29sb3JGb3JtYXRzOwogICAgIHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6
OlRleHR1cmVGb3JtYXQ+IGRlcHRoU3RlbmNpbEZvcm1hdDsKICAgICBQQUw6OldlYkdQVTo6U2l6
ZTMyIHNhbXBsZUNvdW50IHsgMSB9OwogCkBAIC01NSw3ICs1NSw3IEBAIHN0cnVjdCBSZW5kZXJQ
YXNzTGF5b3V0IDogcHVibGljIE9iamVjdERlc2NyaXB0b3JCYXNlIHsKICAgICAgICAgaWYgKCFv
YmplY3REZXNjcmlwdG9yQmFzZSkKICAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAK
LSAgICAgICAgc3RkOjpvcHRpb25hbDxWZWN0b3I8UEFMOjpXZWJHUFU6OlRleHR1cmVGb3JtYXQ+
PiBjb2xvckZvcm1hdHM7CisgICAgICAgIHN0ZDo6b3B0aW9uYWw8VmVjdG9yPHN0ZDo6b3B0aW9u
YWw8UEFMOjpXZWJHUFU6OlRleHR1cmVGb3JtYXQ+Pj4gY29sb3JGb3JtYXRzOwogICAgICAgICBk
ZWNvZGVyID4+IGNvbG9yRm9ybWF0czsKICAgICAgICAgaWYgKCFjb2xvckZvcm1hdHMpCiAgICAg
ICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9T
aGFyZWQvV2ViR1BVL1dlYkdQVVNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludC5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50
LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yNzdjZWJlYmVhMjQ1Mjc3ZDYyZWY0NmU2NjhiYWNhMzRiOGVjOGQ1
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVVNo
YWRlck1vZHVsZUNvbXBpbGF0aW9uSGludC5jcHAKQEAgLTAsMCArMSw1NyBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAyMS0yMDIyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldlYkdQVVNoYWRlck1vZHVs
ZUNvbXBpbGF0aW9uSGludC5oIgorCisjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKQorCisjaW5jbHVk
ZSAiV2ViR1BVQ29udmVydEZyb21CYWNraW5nQ29udGV4dC5oIgorI2luY2x1ZGUgIldlYkdQVUNv
bnZlcnRUb0JhY2tpbmdDb250ZXh0LmgiCisjaW5jbHVkZSA8cGFsL2dyYXBoaWNzL1dlYkdQVS9X
ZWJHUFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQuaD4KKworbmFtZXNwYWNlIFdlYktpdDo6
V2ViR1BVIHsKKworc3RkOjpvcHRpb25hbDxTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQ+IENv
bnZlcnRUb0JhY2tpbmdDb250ZXh0Ojpjb252ZXJ0VG9CYWNraW5nKGNvbnN0IFBBTDo6V2ViR1BV
OjpTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQmIHNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGlu
dCkKK3sKKyAgICBXZWJHUFVJZGVudGlmaWVyIHBpcGVsaW5lTGF5b3V0ID0gY29udmVydFRvQmFj
a2luZyhzaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQucGlwZWxpbmVMYXlvdXQpOworICAgIGlm
ICghcGlwZWxpbmVMYXlvdXQpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICBy
ZXR1cm4geyB7IHBpcGVsaW5lTGF5b3V0IH0gfTsKK30KKworc3RkOjpvcHRpb25hbDxQQUw6Oldl
YkdQVTo6U2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50PiBDb252ZXJ0RnJvbUJhY2tpbmdDb250
ZXh0Ojpjb252ZXJ0RnJvbUJhY2tpbmcoY29uc3QgU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50
JiBzaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQpCit7CisgICAgYXV0byogcGlwZWxpbmVMYXlv
dXQgPSBjb252ZXJ0UGlwZWxpbmVMYXlvdXRGcm9tQmFja2luZyhzaGFkZXJNb2R1bGVDb21waWxh
dGlvbkhpbnQucGlwZWxpbmVMYXlvdXQpOworICAgIGlmICghcGlwZWxpbmVMYXlvdXQpCisgICAg
ICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICByZXR1cm4geyB7ICpwaXBlbGluZUxheW91
dCB9IH07Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gRU5BQkxFKEdQ
VV9QUk9DRVNTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQ
VVNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludC5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2Vi
R1BVL1dlYkdQVVNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludC5oCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVkMTk2
ZGZiYzU0ODYwODQyMzQ3NDQ4Y2MzMzZlZDBmZTEwZDViMzMKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25I
aW50LmgKQEAgLTAsMCArMSw1NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMS0yMDIyIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisK
KyNpZiBFTkFCTEUoR1BVX1BST0NFU1MpCisKKyNpbmNsdWRlICJXZWJHUFVJZGVudGlmaWVyLmgi
CisjaW5jbHVkZSA8b3B0aW9uYWw+CisKK25hbWVzcGFjZSBXZWJLaXQ6OldlYkdQVSB7CisKK3N0
cnVjdCBTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQgeworICAgIFdlYkdQVUlkZW50aWZpZXIg
cGlwZWxpbmVMYXlvdXQ7CisKKyAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29k
ZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAorICAgIHsKKyAgICAgICAgZW5jb2RlciA8PCBwaXBl
bGluZUxheW91dDsKKyAgICB9CisKKyAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMg
c3RkOjpvcHRpb25hbDxTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQ+IGRlY29kZShEZWNvZGVy
JiBkZWNvZGVyKQorICAgIHsKKyAgICAgICAgc3RkOjpvcHRpb25hbDxXZWJHUFVJZGVudGlmaWVy
PiBwaXBlbGluZUxheW91dDsKKyAgICAgICAgZGVjb2RlciA+PiBwaXBlbGluZUxheW91dDsKKyAg
ICAgICAgaWYgKCFwaXBlbGluZUxheW91dCkKKyAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxv
cHQ7CisKKyAgICAgICAgcmV0dXJuIHsgeyBXVEZNb3ZlKCpwaXBlbGluZUxheW91dCkgfSB9Owor
ICAgIH0KK307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdDo6V2ViR1BVCisKKyNlbmRpZiAvLyBF
TkFCTEUoR1BVX1BST0NFU1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJH
UFUvV2ViR1BVU2hhZGVyTW9kdWxlRGVzY3JpcHRvci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9XZWJHUFUvV2ViR1BVU2hhZGVyTW9kdWxlRGVzY3JpcHRvci5jcHAKaW5kZXggMjZkYmQ2Nzhl
ZWQ2OWVjN2E1MDM1NGQ1ODdjZGRlYzZmYWNlZGI3Zi4uZjlkZjU4N2E3YjBlZGMxZDYzOWIzMjQ5
YjQyNGMzZDMxNTQxNmY0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BV
L1dlYkdQVVNoYWRlck1vZHVsZURlc2NyaXB0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL1dlYkdQVS9XZWJHUFVTaGFkZXJNb2R1bGVEZXNjcmlwdG9yLmNwcApAQCAtMSw1ICsxLDUg
QEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogQ29weXJpZ2h0IChDKSAyMDIxLTIwMjIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC00MCw3ICs0MCwxNiBA
QCBzdGQ6Om9wdGlvbmFsPFNoYWRlck1vZHVsZURlc2NyaXB0b3I+IENvbnZlcnRUb0JhY2tpbmdD
b250ZXh0Ojpjb252ZXJ0VG9CYWNraW5nKAogICAgIGlmICghYmFzZSkKICAgICAgICAgcmV0dXJu
IHN0ZDo6bnVsbG9wdDsKIAotICAgIHJldHVybiB7IHsgV1RGTW92ZSgqYmFzZSksIHNoYWRlck1v
ZHVsZURlc2NyaXB0b3IuY29kZSB9IH07CisgICAgVmVjdG9yPEtleVZhbHVlUGFpcjxTdHJpbmcs
IFNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludD4+IGhpbnRzOworICAgIGhpbnRzLnJlc2VydmVJ
bml0aWFsQ2FwYWNpdHkoc2hhZGVyTW9kdWxlRGVzY3JpcHRvci5oaW50cy5zaXplKCkpOworICAg
IGZvciAoY29uc3QgYXV0byYgaGludCA6IHNoYWRlck1vZHVsZURlc2NyaXB0b3IuaGludHMpIHsK
KyAgICAgICAgYXV0byB2YWx1ZSA9IGNvbnZlcnRUb0JhY2tpbmcoaGludC52YWx1ZSk7CisgICAg
ICAgIGlmICghdmFsdWUpCisgICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworICAgICAg
ICBoaW50cy51bmNoZWNrZWRBcHBlbmQobWFrZUtleVZhbHVlUGFpcihoaW50LmtleSwgV1RGTW92
ZSgqdmFsdWUpKSk7CisgICAgfQorCisgICAgcmV0dXJuIHsgeyBXVEZNb3ZlKCpiYXNlKSwgc2hh
ZGVyTW9kdWxlRGVzY3JpcHRvci5jb2RlLCBXVEZNb3ZlKGhpbnRzKSB9IH07CiB9CiAKIHN0ZDo6
b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlNoYWRlck1vZHVsZURlc2NyaXB0b3I+IENvbnZlcnRGcm9t
QmFja2luZ0NvbnRleHQ6OmNvbnZlcnRGcm9tQmFja2luZyhjb25zdCBTaGFkZXJNb2R1bGVEZXNj
cmlwdG9yJiBzaGFkZXJNb2R1bGVEZXNjcmlwdG9yKQpAQCAtNDksNyArNTgsMTYgQEAgc3RkOjpv
cHRpb25hbDxQQUw6OldlYkdQVTo6U2hhZGVyTW9kdWxlRGVzY3JpcHRvcj4gQ29udmVydEZyb21C
YWNraW5nQ29udGV4dDo6Y28KICAgICBpZiAoIWJhc2UpCiAgICAgICAgIHJldHVybiBzdGQ6Om51
bGxvcHQ7CiAKLSAgICByZXR1cm4geyB7IFdURk1vdmUoKmJhc2UpLCBzaGFkZXJNb2R1bGVEZXNj
cmlwdG9yLmNvZGUgfSB9OworICAgIFZlY3RvcjxLZXlWYWx1ZVBhaXI8U3RyaW5nLCBQQUw6Oldl
YkdQVTo6U2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50Pj4gaGludHM7CisgICAgaGludHMucmVz
ZXJ2ZUluaXRpYWxDYXBhY2l0eShzaGFkZXJNb2R1bGVEZXNjcmlwdG9yLmhpbnRzLnNpemUoKSk7
CisgICAgZm9yIChjb25zdCBhdXRvJiBoaW50IDogc2hhZGVyTW9kdWxlRGVzY3JpcHRvci5oaW50
cykgeworICAgICAgICBhdXRvIHZhbHVlID0gY29udmVydEZyb21CYWNraW5nKGhpbnQudmFsdWUp
OworICAgICAgICBpZiAoIXZhbHVlKQorICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsK
KyAgICAgICAgaGludHMudW5jaGVja2VkQXBwZW5kKG1ha2VLZXlWYWx1ZVBhaXIoaGludC5rZXks
IFdURk1vdmUoKnZhbHVlKSkpOworICAgIH0KKworICAgIHJldHVybiB7IHsgV1RGTW92ZSgqYmFz
ZSksIHNoYWRlck1vZHVsZURlc2NyaXB0b3IuY29kZSwgV1RGTW92ZShoaW50cykgfSB9OwogfQog
CiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L1dlYkdQVS9XZWJHUFVTaGFkZXJNb2R1bGVEZXNjcmlwdG9yLmggYi9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9XZWJHUFUvV2ViR1BVU2hhZGVyTW9kdWxlRGVzY3JpcHRvci5oCmluZGV4IDVjODFiNGRj
NDJhZGY5NDlkNDUyYWU1OTY4NTY2MDI3Mzc1YjhhNGIuLjUyOTRmZmI3MWE2ZDg4ZTEwZTgzODI2
YjQ1YWU5MmVhZjg2NzIwY2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQ
VS9XZWJHUFVTaGFkZXJNb2R1bGVEZXNjcmlwdG9yLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFy
ZWQvV2ViR1BVL1dlYkdQVVNoYWRlck1vZHVsZURlc2NyaXB0b3IuaApAQCAtMSw1ICsxLDUgQEAK
IC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICogQ29weXJpZ2h0IChDKSAyMDIxLTIwMjIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yOCw2ICsyOCw3IEBACiAj
aWYgRU5BQkxFKEdQVV9QUk9DRVNTKQogCiAjaW5jbHVkZSAiV2ViR1BVT2JqZWN0RGVzY3JpcHRv
ckJhc2UuaCIKKyNpbmNsdWRlICJXZWJHUFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQuaCIK
ICNpbmNsdWRlIDxvcHRpb25hbD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIApA
QCAtMzYsMTEgKzM3LDEzIEBAIG5hbWVzcGFjZSBXZWJLaXQ6OldlYkdQVSB7CiBzdHJ1Y3QgU2hh
ZGVyTW9kdWxlRGVzY3JpcHRvciA6IHB1YmxpYyBPYmplY3REZXNjcmlwdG9yQmFzZSB7CiAgICAg
U3RyaW5nIGNvZGU7CiAgICAgLy8gRklYTUU6IEhvb2sgdXAgdGhlIHNvdXJjZU1hcC4KKyAgICBW
ZWN0b3I8S2V5VmFsdWVQYWlyPFN0cmluZywgU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50Pj4g
aGludHM7CiAKICAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVy
JiBlbmNvZGVyKSBjb25zdAogICAgIHsKICAgICAgICAgZW5jb2RlciA8PCBzdGF0aWNfY2FzdDxj
b25zdCBPYmplY3REZXNjcmlwdG9yQmFzZSY+KCp0aGlzKTsKICAgICAgICAgZW5jb2RlciA8PCBj
b2RlOworICAgICAgICBlbmNvZGVyIDw8IGhpbnRzOwogICAgIH0KIAogICAgIHRlbXBsYXRlPGNs
YXNzIERlY29kZXI+IHN0YXRpYyBzdGQ6Om9wdGlvbmFsPFNoYWRlck1vZHVsZURlc2NyaXB0b3I+
IGRlY29kZShEZWNvZGVyJiBkZWNvZGVyKQpAQCAtNTUsNyArNTgsMTIgQEAgc3RydWN0IFNoYWRl
ck1vZHVsZURlc2NyaXB0b3IgOiBwdWJsaWMgT2JqZWN0RGVzY3JpcHRvckJhc2UgewogICAgICAg
ICBpZiAoIWNvZGUpCiAgICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogCi0gICAgICAg
IHJldHVybiB7IHsgV1RGTW92ZSgqb2JqZWN0RGVzY3JpcHRvckJhc2UpLCBXVEZNb3ZlKCpjb2Rl
KSB9IH07CisgICAgICAgIHN0ZDo6b3B0aW9uYWw8VmVjdG9yPEtleVZhbHVlUGFpcjxTdHJpbmcs
IFNoYWRlck1vZHVsZUNvbXBpbGF0aW9uSGludD4+PiBoaW50czsKKyAgICAgICAgZGVjb2RlciA+
PiBoaW50czsKKyAgICAgICAgaWYgKCFoaW50cykKKyAgICAgICAgICAgIHJldHVybiBzdGQ6Om51
bGxvcHQ7CisKKyAgICAgICAgcmV0dXJuIHsgeyBXVEZNb3ZlKCpvYmplY3REZXNjcmlwdG9yQmFz
ZSksIFdURk1vdmUoKmNvZGUpLCBXVEZNb3ZlKCpoaW50cykgfSB9OwogICAgIH0KIH07CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVUZXh0dXJlRGVzY3Jp
cHRvci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJHUFUvV2ViR1BVVGV4dHVyZURlc2Ny
aXB0b3IuY3BwCmluZGV4IGJmNmI0ZDM1NjJlNzA3OGExYTRlNTRhY2RlZGMwNWQ5MGQ1ZjFlYTIu
LmIyZGM0YzI5NzBkNDIzYjlhNjhhZDRmNTE4NjdhZmZmMDBkYjdhZDcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVUZXh0dXJlRGVzY3JpcHRvci5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVVRleHR1cmVEZXNjcmlwdG9yLmNw
cApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDIxLTIwMjIgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBA
IC00NCw3ICs0NCw3IEBAIHN0ZDo6b3B0aW9uYWw8VGV4dHVyZURlc2NyaXB0b3I+IENvbnZlcnRU
b0JhY2tpbmdDb250ZXh0Ojpjb252ZXJ0VG9CYWNraW5nKGNvbnN0CiAgICAgaWYgKCFzaXplKQog
ICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogCi0gICAgcmV0dXJuIHsgeyBXVEZNb3ZlKCpi
YXNlKSwgV1RGTW92ZSgqc2l6ZSksIHRleHR1cmVEZXNjcmlwdG9yLm1pcExldmVsQ291bnQsIHRl
eHR1cmVEZXNjcmlwdG9yLnNhbXBsZUNvdW50LCB0ZXh0dXJlRGVzY3JpcHRvci5kaW1lbnNpb24s
IHRleHR1cmVEZXNjcmlwdG9yLmZvcm1hdCwgdGV4dHVyZURlc2NyaXB0b3IudXNhZ2UgfSB9Owor
ICAgIHJldHVybiB7IHsgV1RGTW92ZSgqYmFzZSksIFdURk1vdmUoKnNpemUpLCB0ZXh0dXJlRGVz
Y3JpcHRvci5taXBMZXZlbENvdW50LCB0ZXh0dXJlRGVzY3JpcHRvci5zYW1wbGVDb3VudCwgdGV4
dHVyZURlc2NyaXB0b3IuZGltZW5zaW9uLCB0ZXh0dXJlRGVzY3JpcHRvci5mb3JtYXQsIHRleHR1
cmVEZXNjcmlwdG9yLnVzYWdlLCB0ZXh0dXJlRGVzY3JpcHRvci52aWV3Rm9ybWF0cyB9IH07CiB9
CiAKIHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlRleHR1cmVEZXNjcmlwdG9yPiBDb252ZXJ0
RnJvbUJhY2tpbmdDb250ZXh0Ojpjb252ZXJ0RnJvbUJhY2tpbmcoY29uc3QgVGV4dHVyZURlc2Ny
aXB0b3ImIHRleHR1cmVEZXNjcmlwdG9yKQpAQCAtNTcsNyArNTcsNyBAQCBzdGQ6Om9wdGlvbmFs
PFBBTDo6V2ViR1BVOjpUZXh0dXJlRGVzY3JpcHRvcj4gQ29udmVydEZyb21CYWNraW5nQ29udGV4
dDo6Y29udmVydAogICAgIGlmICghc2l6ZSkKICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsK
IAotICAgIHJldHVybiB7IHsgV1RGTW92ZSgqYmFzZSksIFdURk1vdmUoKnNpemUpLCB0ZXh0dXJl
RGVzY3JpcHRvci5taXBMZXZlbENvdW50LCB0ZXh0dXJlRGVzY3JpcHRvci5zYW1wbGVDb3VudCwg
dGV4dHVyZURlc2NyaXB0b3IuZGltZW5zaW9uLCB0ZXh0dXJlRGVzY3JpcHRvci5mb3JtYXQsIHRl
eHR1cmVEZXNjcmlwdG9yLnVzYWdlIH0gfTsKKyAgICByZXR1cm4geyB7IFdURk1vdmUoKmJhc2Up
LCBXVEZNb3ZlKCpzaXplKSwgdGV4dHVyZURlc2NyaXB0b3IubWlwTGV2ZWxDb3VudCwgdGV4dHVy
ZURlc2NyaXB0b3Iuc2FtcGxlQ291bnQsIHRleHR1cmVEZXNjcmlwdG9yLmRpbWVuc2lvbiwgdGV4
dHVyZURlc2NyaXB0b3IuZm9ybWF0LCB0ZXh0dXJlRGVzY3JpcHRvci51c2FnZSwgdGV4dHVyZURl
c2NyaXB0b3Iudmlld0Zvcm1hdHMgfSB9OwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkdQVS9XZWJHUFVUZXh0dXJlRGVzY3Jp
cHRvci5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVVRleHR1cmVEZXNjcmlw
dG9yLmgKaW5kZXggZDllY2VmZWQwYTgzY2I1Zjk0MzAyNzU4MGExZDEzODcwOGM3YTBlMy4uOWRl
N2Q2NGQ4NWVmN2FhMGMzYmQ0MjQzNThlNWE0OWIwYjVhMzVlMyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVVRleHR1cmVEZXNjcmlwdG9yLmgKKysrIGIvU291
cmNlL1dlYktpdC9TaGFyZWQvV2ViR1BVL1dlYkdQVVRleHR1cmVEZXNjcmlwdG9yLmgKQEAgLTEs
NSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAyMS0yMDIyIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNDQsNiAr
NDQsNyBAQCBzdHJ1Y3QgVGV4dHVyZURlc2NyaXB0b3IgOiBwdWJsaWMgT2JqZWN0RGVzY3JpcHRv
ckJhc2UgewogICAgIFBBTDo6V2ViR1BVOjpUZXh0dXJlRGltZW5zaW9uIGRpbWVuc2lvbiB7IFBB
TDo6V2ViR1BVOjpUZXh0dXJlRGltZW5zaW9uOjpfMmQgfTsKICAgICBQQUw6OldlYkdQVTo6VGV4
dHVyZUZvcm1hdCBmb3JtYXQgeyBQQUw6OldlYkdQVTo6VGV4dHVyZUZvcm1hdDo6Ujh1bm9ybSB9
OwogICAgIFBBTDo6V2ViR1BVOjpUZXh0dXJlVXNhZ2VGbGFncyB1c2FnZTsKKyAgICBWZWN0b3I8
UEFMOjpXZWJHUFU6OlRleHR1cmVGb3JtYXQ+IHZpZXdGb3JtYXRzOwogCiAgICAgdGVtcGxhdGU8
Y2xhc3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKICAgICB7
CkBAIC01NCw2ICs1NSw3IEBAIHN0cnVjdCBUZXh0dXJlRGVzY3JpcHRvciA6IHB1YmxpYyBPYmpl
Y3REZXNjcmlwdG9yQmFzZSB7CiAgICAgICAgIGVuY29kZXIgPDwgZGltZW5zaW9uOwogICAgICAg
ICBlbmNvZGVyIDw8IGZvcm1hdDsKICAgICAgICAgZW5jb2RlciA8PCB1c2FnZTsKKyAgICAgICAg
ZW5jb2RlciA8PCB2aWV3Rm9ybWF0czsKICAgICB9CiAKICAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNv
ZGVyPiBzdGF0aWMgc3RkOjpvcHRpb25hbDxUZXh0dXJlRGVzY3JpcHRvcj4gZGVjb2RlKERlY29k
ZXImIGRlY29kZXIpCkBAIC05Myw3ICs5NSwxMiBAQCBzdHJ1Y3QgVGV4dHVyZURlc2NyaXB0b3Ig
OiBwdWJsaWMgT2JqZWN0RGVzY3JpcHRvckJhc2UgewogICAgICAgICBpZiAoIXVzYWdlKQogICAg
ICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKIAotICAgICAgICByZXR1cm4geyB7IFdURk1v
dmUoKm9iamVjdERlc2NyaXB0b3JCYXNlKSwgV1RGTW92ZSgqc2l6ZSksIFdURk1vdmUoKm1pcExl
dmVsQ291bnQpLCBXVEZNb3ZlKCpzYW1wbGVDb3VudCksIFdURk1vdmUoKmRpbWVuc2lvbiksIFdU
Rk1vdmUoKmZvcm1hdCksIFdURk1vdmUoKnVzYWdlKSB9IH07CisgICAgICAgIHN0ZDo6b3B0aW9u
YWw8VmVjdG9yPFBBTDo6V2ViR1BVOjpUZXh0dXJlRm9ybWF0Pj4gdmlld0Zvcm1hdHM7CisgICAg
ICAgIGRlY29kZXIgPj4gdmlld0Zvcm1hdHM7CisgICAgICAgIGlmICghdmlld0Zvcm1hdHMpCisg
ICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworCisgICAgICAgIHJldHVybiB7IHsgV1RG
TW92ZSgqb2JqZWN0RGVzY3JpcHRvckJhc2UpLCBXVEZNb3ZlKCpzaXplKSwgV1RGTW92ZSgqbWlw
TGV2ZWxDb3VudCksIFdURk1vdmUoKnNhbXBsZUNvdW50KSwgV1RGTW92ZSgqZGltZW5zaW9uKSwg
V1RGTW92ZSgqZm9ybWF0KSwgV1RGTW92ZSgqdXNhZ2UpLCBXVEZNb3ZlKCp2aWV3Rm9ybWF0cykg
fSB9OwogICAgIH0KIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQg
Yi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0CmluZGV4IGYzOGIzZWQ3MDE1MWY2ODI1OWIxMzM1
NTdlMjUzZmE5MzU5ZWIxMGQuLmM3MzIwYjEwMmU3ZDhmMmI2ZmVmOGQyYjQ2ZmNjOGI5ZWQ3ZDEw
OWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dl
YktpdC9Tb3VyY2VzLnR4dApAQCAtMzgzLDYgKzM4Myw3IEBAIFNoYXJlZC9XZWJHUFUvV2ViR1BV
UmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yLmNwcAogU2hhcmVkL1dlYkdQVS9XZWJHUFVSZXF1ZXN0
QWRhcHRlck9wdGlvbnMuY3BwCiBTaGFyZWQvV2ViR1BVL1dlYkdQVVNhbXBsZXJCaW5kaW5nTGF5
b3V0LmNwcAogU2hhcmVkL1dlYkdQVS9XZWJHUFVTYW1wbGVyRGVzY3JpcHRvci5jcHAKK1NoYXJl
ZC9XZWJHUFUvV2ViR1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50LmNwcAogU2hhcmVkL1dl
YkdQVS9XZWJHUFVTaGFkZXJNb2R1bGVEZXNjcmlwdG9yLmNwcAogU2hhcmVkL1dlYkdQVS9XZWJH
UFVTdGVuY2lsRmFjZVN0YXRlLmNwcAogU2hhcmVkL1dlYkdQVS9XZWJHUFVTdG9yYWdlVGV4dHVy
ZUJpbmRpbmdMYXlvdXQuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagppbmRleCBjYzI5NjA5N2E4NzYzOGZhNmVmM2U4NjBiNzgzMmVhZjhlYjll
ZGJhLi5kMTUyM2NkNTIyYzc4NjZhNzcwNTE5ZTQ2ZjU1MmFlNWI5MmEyNTA4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Nv
dXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTMzNzEsNiAr
MzM3MSw4IEBACiAJCTFDRERGQzdDMjc1NTg2NkQwMEM5M0M2MiAvKiBSZW1vdGVHUFVQcm94eU1l
c3NhZ2VzUmVwbGllcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW1vdGVHUFVQcm94eU1lc3NhZ2VzUmVw
bGllcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQ0RERkM3RDI3NTU4NjZEMDBD
OTNDNjIgLyogUmVtb3RlR1BVUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gUmVtb3RlR1BVUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkxQ0RERkM3RTI3NTU4NjZEMDBDOTNDNjIgLyogUmVtb3RlR1BVUHJveHlN
ZXNzYWdlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW1vdGVHUFVQcm94eU1lc3NhZ2VzLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFDRUY0NUJCMjdCQ0E0NkEwMEMzQTZCQyAvKiBXZWJH
UFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2Vi
R1BVU2hhZGVyTW9kdWxlQ29tcGlsYXRpb25IaW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJMUNFRjQ1QkMyN0JDQTQ2QTAwQzNBNkJDIC8qIFdlYkdQVVNoYWRlck1vZHVsZUNv
bXBpbGF0aW9uSGludC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJHUFVTaGFkZXJNb2R1bGVDb21waWxh
dGlvbkhpbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNGMThGM0UyNkJCNUQ5
MDAwNEIxNzIyIC8qIExvZ0luaXRpYWxpemF0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExv
Z0luaXRpYWxpemF0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUQwNTMw
QzkyNThFQUI0NDAwRTQzNkY3IC8qIGNvbWJpbmUtZmVhdHVyZS1mbGFncy1wbGlzdC5weSAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuc2NyaXB0
LnB5dGhvbjsgcGF0aCA9ICJjb21iaW5lLWZlYXR1cmUtZmxhZ3MtcGxpc3QucHkiOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkxRDA1MzBEMTI1OTE2MkM4MDBFNDM2RjcgLyogV2ViS2l0
LWlvcy5wbGlzdCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHRleHQucGxpc3QueG1sOyBwYXRoID0gIldlYktpdC1pb3MucGxpc3QiOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwpAQCAtNzk3Nyw2ICs3OTc5LDggQEAKIAkJCQkxQ0I3NDY2NzI3NDM5
Q0FFMDBGMTk4NzQgLyogV2ViR1BVU2FtcGxlckJpbmRpbmdMYXlvdXQuaCAqLywKIAkJCQkxQzk4
QzBDQzI3NDYyNjgwMDAyQ0NCNzggLyogV2ViR1BVU2FtcGxlckRlc2NyaXB0b3IuY3BwICovLAog
CQkJCTFDQjc0NjhEMjc0MzlDQjcwMEYxOTg3NCAvKiBXZWJHUFVTYW1wbGVyRGVzY3JpcHRvci5o
ICovLAorCQkJCTFDRUY0NUJCMjdCQ0E0NkEwMEMzQTZCQyAvKiBXZWJHUFVTaGFkZXJNb2R1bGVD
b21waWxhdGlvbkhpbnQuY3BwICovLAorCQkJCTFDRUY0NUJDMjdCQ0E0NkEwMEMzQTZCQyAvKiBX
ZWJHUFVTaGFkZXJNb2R1bGVDb21waWxhdGlvbkhpbnQuaCAqLywKIAkJCQkxQzk4QzA5OTI3NDYy
Njc4MDAyQ0NCNzggLyogV2ViR1BVU2hhZGVyTW9kdWxlRGVzY3JpcHRvci5jcHAgKi8sCiAJCQkJ
MUNCNzQ2NkIyNzQzOUNBRjAwRjE5ODc0IC8qIFdlYkdQVVNoYWRlck1vZHVsZURlc2NyaXB0b3Iu
aCAqLywKIAkJCQkxQzk4QzBDQTI3NDYyNjgwMDAyQ0NCNzggLyogV2ViR1BVU3RlbmNpbEZhY2VT
dGF0ZS5jcHAgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dy
YXBoaWNzL1dlYkdQVS9SZW1vdGVCdWZmZXJQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvR1BVL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVCdWZmZXJQcm94eS5jcHAKaW5kZXggYTk5
NmNkM2M2NzUyNTk5Mzg5NjdiODBkY2Q4NmIxNDI2ZTRhNWRkNS4uMWE5M2ZmMWRmYmE2ZTdmZjI1
ZTdiZmZhNDZlY2U3NWRjNzVlN2JlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0dQVS9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQnVmZmVyUHJveHkuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUJ1ZmZlclByb3h5
LmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDIxLTIwMjIgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CkBAIC00NCw3ICs0NCw3IEBAIFJlbW90ZUJ1ZmZlclByb3h5Ojp+UmVtb3RlQnVmZmVyUHJveHko
KQogewogfQogCi12b2lkIFJlbW90ZUJ1ZmZlclByb3h5OjptYXBBc3luYyhQQUw6OldlYkdQVTo6
TWFwTW9kZUZsYWdzIG1hcE1vZGVGbGFncywgc3RkOjpvcHRpb25hbDxQQUw6OldlYkdQVTo6U2l6
ZTY0PiBvZmZzZXQsIHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlNpemU2ND4gc2l6ZSwgV1RG
OjpGdW5jdGlvbjx2b2lkKCk+JiYgY2FsbGJhY2spCit2b2lkIFJlbW90ZUJ1ZmZlclByb3h5Ojpt
YXBBc3luYyhQQUw6OldlYkdQVTo6TWFwTW9kZUZsYWdzIG1hcE1vZGVGbGFncywgUEFMOjpXZWJH
UFU6OlNpemU2NCBvZmZzZXQsIHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlNpemU2ND4gc2l6
ZSwgV1RGOjpGdW5jdGlvbjx2b2lkKCk+JiYgY2FsbGJhY2spCiB7CiAgICAgc3RkOjpvcHRpb25h
bDxWZWN0b3I8dWludDhfdD4+IGRhdGE7CiAgICAgYXV0byBzZW5kUmVzdWx0ID0gc2VuZFN5bmMo
TWVzc2FnZXM6OlJlbW90ZUJ1ZmZlcjo6TWFwQXN5bmMobWFwTW9kZUZsYWdzLCBvZmZzZXQsIHNp
emUpLCB7IGRhdGEgfSk7CkBAIC01OSwxNCArNTksMTMgQEAgdm9pZCBSZW1vdGVCdWZmZXJQcm94
eTo6bWFwQXN5bmMoUEFMOjpXZWJHUFU6Ok1hcE1vZGVGbGFncyBtYXBNb2RlRmxhZ3MsIHN0ZDo6
b3AKICAgICBjYWxsYmFjaygpOwogfQogCi1hdXRvIFJlbW90ZUJ1ZmZlclByb3h5OjpnZXRNYXBw
ZWRSYW5nZShzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpTaXplNjQ+IG9mZnNldCwgc3RkOjpv
cHRpb25hbDxQQUw6OldlYkdQVTo6U2l6ZTY0PiBzaXplKSAtPiBNYXBwZWRSYW5nZQorYXV0byBS
ZW1vdGVCdWZmZXJQcm94eTo6Z2V0TWFwcGVkUmFuZ2UoUEFMOjpXZWJHUFU6OlNpemU2NCBvZmZz
ZXQsIHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlNpemU2ND4gc2l6ZSkgLT4gTWFwcGVkUmFu
Z2UKIHsKICAgICAvLyBGSVhNRTogSW1wbGVtZW50IGVycm9yIGhhbmRsaW5nLgogICAgIGlmICgh
bV9kYXRhKQogICAgICAgICByZXR1cm4geyB9OwogCi0gICAgYXV0byB1c2VkT2Zmc2V0ID0gb2Zm
c2V0LnZhbHVlX29yKDApOwotICAgIHJldHVybiB7IG1fZGF0YS0+ZGF0YSgpICsgdXNlZE9mZnNl
dCwgc3RhdGljX2Nhc3Q8c2l6ZV90PihzaXplLnZhbHVlX29yKG1fZGF0YS0+c2l6ZSgpIC0gdXNl
ZE9mZnNldCkpIH07CisgICAgcmV0dXJuIHsgbV9kYXRhLT5kYXRhKCkgKyBvZmZzZXQsIHN0YXRp
Y19jYXN0PHNpemVfdD4oc2l6ZS52YWx1ZV9vcihtX2RhdGEtPnNpemUoKSAtIG9mZnNldCkpIH07
CiB9CiAKIHZvaWQgUmVtb3RlQnVmZmVyUHJveHk6OnVubWFwKCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUJ1ZmZlclByb3h5
LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVC
dWZmZXJQcm94eS5oCmluZGV4IDdiYTU2YTcwNmE4MDE4NjVjODQzMjZjMTBmYjBmNGM5NGUyYjg0
ZjAuLjg5MzAxMjUwMzJlMWUzMzFhNGZjYWNjOGI4MTY0MGUxMmMwOWU3YmEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUJ1ZmZl
clByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9XZWJH
UFUvUmVtb3RlQnVmZmVyUHJveHkuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChD
KSAyMDIxLTIwMjIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCkBAIC03Myw4ICs3Myw4IEBAIHByaXZhdGU6CiAgICAgICAgIHJl
dHVybiByb290KCkuc3RyZWFtQ2xpZW50Q29ubmVjdGlvbigpLnNlbmRTeW5jKFdURk1vdmUobWVz
c2FnZSksIFdURk1vdmUocmVwbHkpLCBiYWNraW5nKCksIGRlZmF1bHRTZW5kVGltZW91dCk7CiAg
ICAgfQogCi0gICAgdm9pZCBtYXBBc3luYyhQQUw6OldlYkdQVTo6TWFwTW9kZUZsYWdzLCBzdGQ6
Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpTaXplNjQ+IG9mZnNldCwgc3RkOjpvcHRpb25hbDxQQUw6
OldlYkdQVTo6U2l6ZTY0PiBzaXplRm9yTWFwLCBXVEY6OkZ1bmN0aW9uPHZvaWQoKT4mJikgZmlu
YWw7Ci0gICAgTWFwcGVkUmFuZ2UgZ2V0TWFwcGVkUmFuZ2Uoc3RkOjpvcHRpb25hbDxQQUw6Oldl
YkdQVTo6U2l6ZTY0PiBvZmZzZXQsIHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlNpemU2ND4p
IGZpbmFsOworICAgIHZvaWQgbWFwQXN5bmMoUEFMOjpXZWJHUFU6Ok1hcE1vZGVGbGFncywgUEFM
OjpXZWJHUFU6OlNpemU2NCBvZmZzZXQsIHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlNpemU2
ND4gc2l6ZUZvck1hcCwgV1RGOjpGdW5jdGlvbjx2b2lkKCk+JiYpIGZpbmFsOworICAgIE1hcHBl
ZFJhbmdlIGdldE1hcHBlZFJhbmdlKFBBTDo6V2ViR1BVOjpTaXplNjQgb2Zmc2V0LCBzdGQ6Om9w
dGlvbmFsPFBBTDo6V2ViR1BVOjpTaXplNjQ+KSBmaW5hbDsKICAgICB2b2lkIHVubWFwKCkgZmlu
YWw7CiAKICAgICB2b2lkIGRlc3Ryb3koKSBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUNvbW1hbmRFbmNvZGVyUHJv
eHkuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9XZWJHUFUvUmVt
b3RlQ29tbWFuZEVuY29kZXJQcm94eS5jcHAKaW5kZXggZmVhMjlkOTkyODE2N2UyYjJhNGRmNDU1
ZDlmODdhZjFmOGJmNmJlYy4uY2VmMDZhYzE0NDE3OTU0MmNjNzhlZTQwYzQ0ZTA5YzA4NzY0MmUx
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9XZWJH
UFUvUmVtb3RlQ29tbWFuZEVuY29kZXJQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL0dQVS9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQ29tbWFuZEVuY29kZXJQcm94eS5jcHAK
QEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAyMS0yMDIyIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAt
MTUyLDE3ICsxNTIsMTcgQEAgdm9pZCBSZW1vdGVDb21tYW5kRW5jb2RlclByb3h5Ojpjb3B5VGV4
dHVyZVRvVGV4dHVyZSgKICAgICBVTlVTRURfVkFSSUFCTEUoc2VuZFJlc3VsdCk7CiB9CiAKLXZv
aWQgUmVtb3RlQ29tbWFuZEVuY29kZXJQcm94eTo6ZmlsbEJ1ZmZlcigKLSAgICBjb25zdCBQQUw6
OldlYkdQVTo6QnVmZmVyJiBkZXN0aW5hdGlvbiwKLSAgICBQQUw6OldlYkdQVTo6U2l6ZTY0IGRl
c3RpbmF0aW9uT2Zmc2V0LAotICAgIFBBTDo6V2ViR1BVOjpTaXplNjQgc2l6ZSkKK3ZvaWQgUmVt
b3RlQ29tbWFuZEVuY29kZXJQcm94eTo6Y2xlYXJCdWZmZXIoCisgICAgY29uc3QgUEFMOjpXZWJH
UFU6OkJ1ZmZlciYgYnVmZmVyLAorICAgIFBBTDo6V2ViR1BVOjpTaXplNjQgb2Zmc2V0LAorICAg
IHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OlNpemU2ND4gc2l6ZSkKIHsKLSAgICBhdXRvIGNv
bnZlcnRlZERlc3RpbmF0aW9uID0gbV9jb252ZXJ0VG9CYWNraW5nQ29udGV4dC0+Y29udmVydFRv
QmFja2luZyhkZXN0aW5hdGlvbik7Ci0gICAgQVNTRVJUKGNvbnZlcnRlZERlc3RpbmF0aW9uKTsK
LSAgICBpZiAoIWNvbnZlcnRlZERlc3RpbmF0aW9uKQorICAgIGF1dG8gY29udmVydGVkQnVmZmVy
ID0gbV9jb252ZXJ0VG9CYWNraW5nQ29udGV4dC0+Y29udmVydFRvQmFja2luZyhidWZmZXIpOwor
ICAgIEFTU0VSVChjb252ZXJ0ZWRCdWZmZXIpOworICAgIGlmICghY29udmVydGVkQnVmZmVyKQog
ICAgICAgICByZXR1cm47CiAKLSAgICBhdXRvIHNlbmRSZXN1bHQgPSBzZW5kKE1lc3NhZ2VzOjpS
ZW1vdGVDb21tYW5kRW5jb2Rlcjo6RmlsbEJ1ZmZlcihjb252ZXJ0ZWREZXN0aW5hdGlvbiwgZGVz
dGluYXRpb25PZmZzZXQsIHNpemUpKTsKKyAgICBhdXRvIHNlbmRSZXN1bHQgPSBzZW5kKE1lc3Nh
Z2VzOjpSZW1vdGVDb21tYW5kRW5jb2Rlcjo6Q2xlYXJCdWZmZXIoY29udmVydGVkQnVmZmVyLCBv
ZmZzZXQsIHNpemUpKTsKICAgICBVTlVTRURfVkFSSUFCTEUoc2VuZFJlc3VsdCk7CiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvV2ViR1BVL1Jl
bW90ZUNvbW1hbmRFbmNvZGVyUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUv
Z3JhcGhpY3MvV2ViR1BVL1JlbW90ZUNvbW1hbmRFbmNvZGVyUHJveHkuaAppbmRleCAxMWU2Nzgx
NTlhNGI0MTIzNjY3ZTY3ZDNiYTIwODU2OGZjODM1YjBjLi4zZmMyOWI5NmQ5ZDI4NGNhMGIzM2Iy
NjY0YWUyOTMzYzM1NGNkNTU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
R1BVL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVDb21tYW5kRW5jb2RlclByb3h5LmgKKysrIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQ29tbWFuZEVu
Y29kZXJQcm94eS5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAyMSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEtMjAy
MiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKQEAgLTk3LDEwICs5NywxMCBAQCBwcml2YXRlOgogICAgICAgICBjb25zdCBQQUw6
OldlYkdQVTo6SW1hZ2VDb3B5VGV4dHVyZSYgZGVzdGluYXRpb24sCiAgICAgICAgIGNvbnN0IFBB
TDo6V2ViR1BVOjpFeHRlbnQzRCYgY29weVNpemUpIGZpbmFsOwogCi0gICAgdm9pZCBmaWxsQnVm
ZmVyKAotICAgICAgICBjb25zdCBQQUw6OldlYkdQVTo6QnVmZmVyJiBkZXN0aW5hdGlvbiwKLSAg
ICAgICAgUEFMOjpXZWJHUFU6OlNpemU2NCBkZXN0aW5hdGlvbk9mZnNldCwKLSAgICAgICAgUEFM
OjpXZWJHUFU6OlNpemU2NCkgZmluYWw7CisgICAgdm9pZCBjbGVhckJ1ZmZlcigKKyAgICAgICAg
Y29uc3QgUEFMOjpXZWJHUFU6OkJ1ZmZlciYsCisgICAgICAgIFBBTDo6V2ViR1BVOjpTaXplNjQg
b2Zmc2V0ID0gMCwKKyAgICAgICAgc3RkOjpvcHRpb25hbDxQQUw6OldlYkdQVTo6U2l6ZTY0PiA9
IHN0ZDo6bnVsbG9wdCkgZmluYWw7CiAKICAgICB2b2lkIHB1c2hEZWJ1Z0dyb3VwKFN0cmluZyYm
IGdyb3VwTGFiZWwpIGZpbmFsOwogICAgIHZvaWQgcG9wRGVidWdHcm91cCgpIGZpbmFsOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9XZWJHUFUvUmVt
b3RlQ29tcHV0ZVBhc3NFbmNvZGVyUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L0dQVS9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQ29tcHV0ZVBhc3NFbmNvZGVyUHJveHkuY3BwCmlu
ZGV4IDcxZjY3OTU1YWI3ZDU2OTdhYTNjNmMxOGIwNjYzM2QwMjkyYWI5ZjUuLmVjYmIxMWE5M2Vh
NDdlMDBlMmI2OGVhZjViNTBiY2M4NmM0Y2UzYTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUNvbXB1dGVQYXNzRW5jb2RlclBy
b3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1dlYkdQ
VS9SZW1vdGVDb21wdXRlUGFzc0VuY29kZXJQcm94eS5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgot
ICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
IENvcHlyaWdodCAoQykgMjAyMS0yMDIyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
ICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNTUsOSArNTUsOSBAQCB2b2lkIFJl
bW90ZUNvbXB1dGVQYXNzRW5jb2RlclByb3h5OjpzZXRQaXBlbGluZShjb25zdCBQQUw6OldlYkdQ
VTo6Q29tcHV0ZVBpcGVsaQogICAgIFVOVVNFRF9WQVJJQUJMRShzZW5kUmVzdWx0KTsKIH0KIAot
dm9pZCBSZW1vdGVDb21wdXRlUGFzc0VuY29kZXJQcm94eTo6ZGlzcGF0Y2goUEFMOjpXZWJHUFU6
OlNpemUzMiB4LCBzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BVOjpTaXplMzI+IHksIHN0ZDo6b3B0
aW9uYWw8UEFMOjpXZWJHUFU6OlNpemUzMj4geikKK3ZvaWQgUmVtb3RlQ29tcHV0ZVBhc3NFbmNv
ZGVyUHJveHk6OmRpc3BhdGNoKFBBTDo6V2ViR1BVOjpTaXplMzIgd29ya2dyb3VwQ291bnRYLCBQ
QUw6OldlYkdQVTo6U2l6ZTMyIHdvcmtncm91cENvdW50WSwgUEFMOjpXZWJHUFU6OlNpemUzMiB3
b3JrZ3JvdXBDb3VudFopCiB7Ci0gICAgYXV0byBzZW5kUmVzdWx0ID0gc2VuZChNZXNzYWdlczo6
UmVtb3RlQ29tcHV0ZVBhc3NFbmNvZGVyOjpEaXNwYXRjaCh4LCB5LCB6KSk7CisgICAgYXV0byBz
ZW5kUmVzdWx0ID0gc2VuZChNZXNzYWdlczo6UmVtb3RlQ29tcHV0ZVBhc3NFbmNvZGVyOjpEaXNw
YXRjaCh3b3JrZ3JvdXBDb3VudFgsIHdvcmtncm91cENvdW50WSwgd29ya2dyb3VwQ291bnRaKSk7
CiAgICAgVU5VU0VEX1ZBUklBQkxFKHNlbmRSZXN1bHQpOwogfQogCkBAIC03MiwyNiArNzIsOSBA
QCB2b2lkIFJlbW90ZUNvbXB1dGVQYXNzRW5jb2RlclByb3h5OjpkaXNwYXRjaEluZGlyZWN0KGNv
bnN0IFBBTDo6V2ViR1BVOjpCdWZmZXImCiAgICAgVU5VU0VEX1ZBUklBQkxFKHNlbmRSZXN1bHQp
OwogfQogCi12b2lkIFJlbW90ZUNvbXB1dGVQYXNzRW5jb2RlclByb3h5OjpiZWdpblBpcGVsaW5l
U3RhdGlzdGljc1F1ZXJ5KGNvbnN0IFBBTDo6V2ViR1BVOjpRdWVyeVNldCYgcXVlcnlTZXQsIFBB
TDo6V2ViR1BVOjpTaXplMzIgcXVlcnlJbmRleCkKK3ZvaWQgUmVtb3RlQ29tcHV0ZVBhc3NFbmNv
ZGVyUHJveHk6OmVuZCgpCiB7Ci0gICAgYXV0byBjb252ZXJ0ZWRRdWVyeVNldCA9IG1fY29udmVy
dFRvQmFja2luZ0NvbnRleHQtPmNvbnZlcnRUb0JhY2tpbmcocXVlcnlTZXQpOwotICAgIEFTU0VS
VChjb252ZXJ0ZWRRdWVyeVNldCk7Ci0gICAgaWYgKCFjb252ZXJ0ZWRRdWVyeVNldCkKLSAgICAg
ICAgcmV0dXJuOwotCi0gICAgYXV0byBzZW5kUmVzdWx0ID0gc2VuZChNZXNzYWdlczo6UmVtb3Rl
Q29tcHV0ZVBhc3NFbmNvZGVyOjpCZWdpblBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KGNvbnZlcnRl
ZFF1ZXJ5U2V0LCBxdWVyeUluZGV4KSk7Ci0gICAgVU5VU0VEX1ZBUklBQkxFKHNlbmRSZXN1bHQp
OwotfQotCi12b2lkIFJlbW90ZUNvbXB1dGVQYXNzRW5jb2RlclByb3h5OjplbmRQaXBlbGluZVN0
YXRpc3RpY3NRdWVyeSgpCi17Ci0gICAgYXV0byBzZW5kUmVzdWx0ID0gc2VuZChNZXNzYWdlczo6
UmVtb3RlQ29tcHV0ZVBhc3NFbmNvZGVyOjpFbmRQaXBlbGluZVN0YXRpc3RpY3NRdWVyeSgpKTsK
LSAgICBVTlVTRURfVkFSSUFCTEUoc2VuZFJlc3VsdCk7Ci19Ci0KLXZvaWQgUmVtb3RlQ29tcHV0
ZVBhc3NFbmNvZGVyUHJveHk6OmVuZFBhc3MoKQotewotICAgIGF1dG8gc2VuZFJlc3VsdCA9IHNl
bmQoTWVzc2FnZXM6OlJlbW90ZUNvbXB1dGVQYXNzRW5jb2Rlcjo6RW5kUGFzcygpKTsKKyAgICBh
dXRvIHNlbmRSZXN1bHQgPSBzZW5kKE1lc3NhZ2VzOjpSZW1vdGVDb21wdXRlUGFzc0VuY29kZXI6
OkVuZCgpKTsKICAgICBVTlVTRURfVkFSSUFCTEUoc2VuZFJlc3VsdCk7CiB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUNv
bXB1dGVQYXNzRW5jb2RlclByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dy
YXBoaWNzL1dlYkdQVS9SZW1vdGVDb21wdXRlUGFzc0VuY29kZXJQcm94eS5oCmluZGV4IDNmMmRh
Nzk3YTkyOTY1ZDc0YmQ5MGQ1OGFjMmY1ODc3NmY1NDBjMWMuLjMxZWZhMjQ2ZmM3NzdhZmM1MWZi
Mzk5NzQzNzFjNzJhMDFmN2UxOWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9HUFUvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUNvbXB1dGVQYXNzRW5jb2RlclByb3h5LmgKKysr
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9XZWJHUFUvUmVtb3RlQ29t
cHV0ZVBhc3NFbmNvZGVyUHJveHkuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChD
KSAyMDIxLTIwMjIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCkBAIC03MywxMyArNzMsMTAgQEAgcHJpdmF0ZToKICAgICB9CiAK
ICAgICB2b2lkIHNldFBpcGVsaW5lKGNvbnN0IFBBTDo6V2ViR1BVOjpDb21wdXRlUGlwZWxpbmUm
KSBmaW5hbDsKLSAgICB2b2lkIGRpc3BhdGNoKFBBTDo6V2ViR1BVOjpTaXplMzIgeCwgc3RkOjpv
cHRpb25hbDxQQUw6OldlYkdQVTo6U2l6ZTMyPiB5LCBzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BV
OjpTaXplMzI+KSBmaW5hbDsKKyAgICB2b2lkIGRpc3BhdGNoKFBBTDo6V2ViR1BVOjpTaXplMzIg
d29ya2dyb3VwQ291bnRYLCBQQUw6OldlYkdQVTo6U2l6ZTMyIHdvcmtncm91cENvdW50WSA9IDEs
IFBBTDo6V2ViR1BVOjpTaXplMzIgd29ya2dyb3VwQ291bnRaID0gMSkgZmluYWw7CiAgICAgdm9p
ZCBkaXNwYXRjaEluZGlyZWN0KGNvbnN0IFBBTDo6V2ViR1BVOjpCdWZmZXImIGluZGlyZWN0QnVm
ZmVyLCBQQUw6OldlYkdQVTo6U2l6ZTY0IGluZGlyZWN0T2Zmc2V0KSBmaW5hbDsKIAotICAgIHZv
aWQgYmVnaW5QaXBlbGluZVN0YXRpc3RpY3NRdWVyeShjb25zdCBQQUw6OldlYkdQVTo6UXVlcnlT
ZXQmLCBQQUw6OldlYkdQVTo6U2l6ZTMyIHF1ZXJ5SW5kZXgpIGZpbmFsOwotICAgIHZvaWQgZW5k
UGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkoKSBmaW5hbDsKLQotICAgIHZvaWQgZW5kUGFzcygpIGZp
bmFsOworICAgIHZvaWQgZW5kKCkgZmluYWw7CiAKICAgICB2b2lkIHNldEJpbmRHcm91cChQQUw6
OldlYkdQVTo6SW5kZXgzMiwgY29uc3QgUEFMOjpXZWJHUFU6OkJpbmRHcm91cCYsCiAgICAgICAg
IHN0ZDo6b3B0aW9uYWw8VmVjdG9yPFBBTDo6V2ViR1BVOjpCdWZmZXJEeW5hbWljT2Zmc2V0Pj4m
JikgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBo
aWNzL1dlYkdQVS9SZW1vdGVRdWV1ZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
R1BVL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVRdWV1ZVByb3h5LmgKaW5kZXggNWVhMjEwM2MxZmRi
OWEyZTUyNzAzNWRkMTZjNDZkNDRlMmQ3ZGVjMi4uZTEyYzBjMDY5NGZlNmI1YTRiYzIyZTg3NjY1
ODc3YmNjZGY0ZWU0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9n
cmFwaGljcy9XZWJHUFUvUmVtb3RlUXVldWVQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9HUFUvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZVF1ZXVlUHJveHkuaApAQCAtMSw1ICsx
LDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDIxLTIwMjIgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC04Miw4ICs4Miw4
IEBAIHByaXZhdGU6CiAgICAgICAgIFBBTDo6V2ViR1BVOjpTaXplNjQgYnVmZmVyT2Zmc2V0LAog
ICAgICAgICBjb25zdCB2b2lkKiBzb3VyY2UsCiAgICAgICAgIHNpemVfdCBieXRlTGVuZ3RoLAot
ICAgICAgICBQQUw6OldlYkdQVTo6U2l6ZTY0IGRhdGFPZmZzZXQsCi0gICAgICAgIHN0ZDo6b3B0
aW9uYWw8UEFMOjpXZWJHUFU6OlNpemU2ND4pIGZpbmFsOworICAgICAgICBQQUw6OldlYkdQVTo6
U2l6ZTY0IGRhdGFPZmZzZXQgPSAwLAorICAgICAgICBzdGQ6Om9wdGlvbmFsPFBBTDo6V2ViR1BV
OjpTaXplNjQ+ID0gc3RkOjpudWxsb3B0KSBmaW5hbDsKIAogICAgIHZvaWQgd3JpdGVUZXh0dXJl
KAogICAgICAgICBjb25zdCBQQUw6OldlYkdQVTo6SW1hZ2VDb3B5VGV4dHVyZSYgZGVzdGluYXRp
b24sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1dl
YkdQVS9SZW1vdGVSZW5kZXJQYXNzRW5jb2RlclByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9HUFUvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZVJlbmRlclBhc3NFbmNvZGVyUHJveHku
Y3BwCmluZGV4IDNlOGY1YTYzZjRhZjEyNDcyYjhmMjNmNThmZGYyZDg3YWJmZDM1MDAuLjU5ZDM1
NTdiNDM1NTZhMTI4OGNmODI2NzVkYjUyZjJmMTliZDRkNzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZVJlbmRlclBhc3NFbmNv
ZGVyUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3Mv
V2ViR1BVL1JlbW90ZVJlbmRlclBhc3NFbmNvZGVyUHJveHkuY3BwCkBAIC0xLDUgKzEsNSBAQAog
LyoKLSAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKiBDb3B5cmlnaHQgKEMpIDIwMjEtMjAyMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTIwNCwyMyArMjA0LDYgQEAg
dm9pZCBSZW1vdGVSZW5kZXJQYXNzRW5jb2RlclByb3h5OjplbmRPY2NsdXNpb25RdWVyeSgpCiAg
ICAgVU5VU0VEX1ZBUklBQkxFKHNlbmRSZXN1bHQpOwogfQogCi12b2lkIFJlbW90ZVJlbmRlclBh
c3NFbmNvZGVyUHJveHk6OmJlZ2luUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkoY29uc3QgUEFMOjpX
ZWJHUFU6OlF1ZXJ5U2V0JiBxdWVyeVNldCwgUEFMOjpXZWJHUFU6OlNpemUzMiBxdWVyeUluZGV4
KQotewotICAgIGF1dG8gY29udmVydGVkUXVlcnlTZXQgPSBtX2NvbnZlcnRUb0JhY2tpbmdDb250
ZXh0LT5jb252ZXJ0VG9CYWNraW5nKHF1ZXJ5U2V0KTsKLSAgICBBU1NFUlQoY29udmVydGVkUXVl
cnlTZXQpOwotICAgIGlmICghY29udmVydGVkUXVlcnlTZXQpCi0gICAgICAgIHJldHVybjsKLQot
ICAgIGF1dG8gc2VuZFJlc3VsdCA9IHNlbmQoTWVzc2FnZXM6OlJlbW90ZVJlbmRlclBhc3NFbmNv
ZGVyOjpCZWdpblBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KGNvbnZlcnRlZFF1ZXJ5U2V0LCBxdWVy
eUluZGV4KSk7Ci0gICAgVU5VU0VEX1ZBUklBQkxFKHNlbmRSZXN1bHQpOwotfQotCi12b2lkIFJl
bW90ZVJlbmRlclBhc3NFbmNvZGVyUHJveHk6OmVuZFBpcGVsaW5lU3RhdGlzdGljc1F1ZXJ5KCkK
LXsKLSAgICBhdXRvIHNlbmRSZXN1bHQgPSBzZW5kKE1lc3NhZ2VzOjpSZW1vdGVSZW5kZXJQYXNz
RW5jb2Rlcjo6RW5kUGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkoKSk7Ci0gICAgVU5VU0VEX1ZBUklB
QkxFKHNlbmRSZXN1bHQpOwotfQotCiB2b2lkIFJlbW90ZVJlbmRlclBhc3NFbmNvZGVyUHJveHk6
OmV4ZWN1dGVCdW5kbGVzKFZlY3RvcjxzdGQ6OnJlZmVyZW5jZV93cmFwcGVyPFBBTDo6V2ViR1BV
OjpSZW5kZXJCdW5kbGU+PiYmIHJlbmRlckJ1bmRsZXMpCiB7CiAgICAgVmVjdG9yPFdlYkdQVUlk
ZW50aWZpZXI+IGNvbnZlcnRlZFJlbmRlckJ1bmRsZXM7CkBAIC0yMzcsOSArMjIwLDkgQEAgdm9p
ZCBSZW1vdGVSZW5kZXJQYXNzRW5jb2RlclByb3h5OjpleGVjdXRlQnVuZGxlcyhWZWN0b3I8c3Rk
OjpyZWZlcmVuY2Vfd3JhcHBlcjwKICAgICBVTlVTRURfVkFSSUFCTEUoc2VuZFJlc3VsdCk7CiB9
CiAKLXZvaWQgUmVtb3RlUmVuZGVyUGFzc0VuY29kZXJQcm94eTo6ZW5kUGFzcygpCit2b2lkIFJl
bW90ZVJlbmRlclBhc3NFbmNvZGVyUHJveHk6OmVuZCgpCiB7Ci0gICAgYXV0byBzZW5kUmVzdWx0
ID0gc2VuZChNZXNzYWdlczo6UmVtb3RlUmVuZGVyUGFzc0VuY29kZXI6OkVuZFBhc3MoKSk7Cisg
ICAgYXV0byBzZW5kUmVzdWx0ID0gc2VuZChNZXNzYWdlczo6UmVtb3RlUmVuZGVyUGFzc0VuY29k
ZXI6OkVuZCgpKTsKICAgICBVTlVTRURfVkFSSUFCTEUoc2VuZFJlc3VsdCk7CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvV2ViR1BVL1JlbW90
ZVJlbmRlclBhc3NFbmNvZGVyUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUv
Z3JhcGhpY3MvV2ViR1BVL1JlbW90ZVJlbmRlclBhc3NFbmNvZGVyUHJveHkuaAppbmRleCBlNWY2
OTNkOGM4ZWJmNmU5MDVkOTE0MmUwZDNlYmU3MzRjMTg0YzM3Li44NmM1MzUzODllNmE4NDM3MmFl
MmQ3YTU2YWUwYTU0ZDJkY2UwNWI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvR1BVL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVSZW5kZXJQYXNzRW5jb2RlclByb3h5LmgKKysr
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9XZWJHUFUvUmVtb3RlUmVu
ZGVyUGFzc0VuY29kZXJQcm94eS5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAo
QykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMp
IDIwMjEtMjAyMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKQEAgLTExMywxMSArMTEzLDggQEAgcHJpdmF0ZToKICAgICB2b2lk
IGJlZ2luT2NjbHVzaW9uUXVlcnkoUEFMOjpXZWJHUFU6OlNpemUzMiBxdWVyeUluZGV4KSBmaW5h
bDsKICAgICB2b2lkIGVuZE9jY2x1c2lvblF1ZXJ5KCkgZmluYWw7CiAKLSAgICB2b2lkIGJlZ2lu
UGlwZWxpbmVTdGF0aXN0aWNzUXVlcnkoY29uc3QgUEFMOjpXZWJHUFU6OlF1ZXJ5U2V0JiwgUEFM
OjpXZWJHUFU6OlNpemUzMiBxdWVyeUluZGV4KSBmaW5hbDsKLSAgICB2b2lkIGVuZFBpcGVsaW5l
U3RhdGlzdGljc1F1ZXJ5KCkgZmluYWw7Ci0KICAgICB2b2lkIGV4ZWN1dGVCdW5kbGVzKFZlY3Rv
cjxzdGQ6OnJlZmVyZW5jZV93cmFwcGVyPFBBTDo6V2ViR1BVOjpSZW5kZXJCdW5kbGU+PiYmKSBm
aW5hbDsKLSAgICB2b2lkIGVuZFBhc3MoKSBmaW5hbDsKKyAgICB2b2lkIGVuZCgpIGZpbmFsOwog
CiAgICAgdm9pZCBzZXRMYWJlbEludGVybmFsKGNvbnN0IFN0cmluZyYpIGZpbmFsOwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>