<?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>222122</bug_id>
          
          <creation_ts>2021-02-18 11:08:53 -0800</creation_ts>
          <short_desc>Prepare for memory ownership transfer in the GPUProcess</short_desc>
          <delta_ts>2021-02-24 16:04:25 -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>WebKit2</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>
          
          <blocked>222391</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>dino</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>jonlee</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1730940</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-02-18 11:08:53 -0800</bug_when>
    <thetext>Prepare for memory ownership transfer in the GPUProcess.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1730947</commentid>
    <comment_count>1</comment_count>
      <attachid>420855</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-02-18 11:15:16 -0800</bug_when>
    <thetext>Created attachment 420855
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1730952</commentid>
    <comment_count>2</comment_count>
      <attachid>420858</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-02-18 11:27:33 -0800</bug_when>
    <thetext>Created attachment 420858
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1732323</commentid>
    <comment_count>3</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-02-22 15:09:45 -0800</bug_when>
    <thetext>ping review?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1732341</commentid>
    <comment_count>4</comment_count>
      <attachid>420858</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-02-22 15:40:01 -0800</bug_when>
    <thetext>Comment on attachment 420858
Patch

Thanks for reviewing. I should be able to do ownership transfer for IOSurfaces for the GPUProcess in the next few days.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1732371</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-02-22 16:32:02 -0800</bug_when>
    <thetext>Committed r273288: &lt;https://commits.webkit.org/r273288&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 420858.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1732372</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-02-22 16:33:15 -0800</bug_when>
    <thetext>&lt;rdar://problem/74619480&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>420855</attachid>
            <date>2021-02-18 11:15:16 -0800</date>
            <delta_ts>2021-02-18 11:27:30 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222122-20210218111516.patch</filename>
            <type>text/plain</type>
            <size>38830</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjczMDc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDcyNDIyNDkzZWVkMWI3ZTBmZWY2MjMw
YWU5ZmZiYmMzNzNlYTkxMWYuLmI0MTkxMjg4NDJjMWI5MGQyMWRlMDdmMzk0OWI0Y2M0ZjRlNThh
NDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMjEtMDItMTggIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KKworICAgICAgICBQcmVwYXJlIGZvciBtZW1vcnkgb3duZXJzaGlwIHRyYW5z
ZmVyIGluIHRoZSBHUFVQcm9jZXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjIxMjIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIHd0Zi9QbGF0Zm9ybUhhdmUuaDoKKyAgICAgICAgQWRkIGZlYXR1cmUg
ZmxhZyBmb3IgVEFTS19JREVOVElUWV9UT0tFTiBhcyB0aGlzIEFQSSB3YXMgb25seQorICAgICAg
ICBpbnRyb2R1Y2VkIHZlcnkgcmVjZW50bHkuCisKKyAgICAgICAgKiB3dGYvTWFjaFNlbmRSaWdo
dC5oOgorICAgICAgICAqIHd0Zi9jb2NvYS9NYWNoU2VuZFJpZ2h0LmNwcDoKKyAgICAgICAgKFdU
Rjo6TWFjaFNlbmRSaWdodDo6TWFjaFNlbmRSaWdodCk6CisgICAgICAgIChXVEY6Ok1hY2hTZW5k
UmlnaHQ6Om9wZXJhdG9yPSk6CisgICAgICAgIEFkZCBhIGNvcHkgY29uc3RydWN0b3IgdG8gTWFj
aFNlbmRSaWdodCBmb3IgY29udmVuaWVuY2UuCisKIDIwMjEtMDItMTggIENocmlzIER1bWV6ICA8
Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkIHRpbnkgY2xlYW51cCBhZnRl
ciByMjczMDU2LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZwppbmRleCA3NDMwZGM3ZWMwNTBkMGQ3ZTAzZTE3MTIxNGU2MDY2ZWVi
MDljNjk4Li5lZTMzYmI4N2I0OGQ0YjUxYzQ3OGVjMTQwOTc3N2RhYmY2N2RkOWQ3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDUxIEBACisyMDIxLTAyLTE4ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBs
ZS5jb20+CisKKyAgICAgICAgUHJlcGFyZSBmb3IgbWVtb3J5IG93bmVyc2hpcCB0cmFuc2ZlciBp
biB0aGUgR1BVUHJvY2VzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjIyMTIyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgUHJlcGFyZSBmb3IgbWVtb3J5IG93bmVyc2hpcCB0cmFuc2ZlciBpbiB0aGUgR1BV
UHJvY2VzczoKKyAgICAgICAgMS4gSGF2ZSB0aGUgV2ViUHJvY2VzcyBjcmVhdGUgYSB0YXNrIGlk
ZW50aXR5IHRva2VuIGFuZCBwYXNzIGl0IHRvIHRoZSBHUFVQcm9jZXNzCisgICAgICAgICAgIHdo
ZW4gY29ubmVjdGluZyB0byBpdC4gVGhlIFdlYlByb2Nlc3MnIHRhc2sgaWRlbnRpdHkgdG9rZW4g
aXMgdGhlbiBzdG9yZWQgb24KKyAgICAgICAgICAgdGhlIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nl
c3Mgb2JqZWN0LgorICAgICAgICAyLiBBZGQgdGhlIGVudGl0bGVtZW50IHRvIHRoZSBHUFVQcm9j
ZXNzIHRoYXQgaXMgbmVlZGVkIHRvIHRyYW5zZmVyIG1lbW9yeSBvd25lcnNoaXAKKyAgICAgICAg
ICAgdG8gYW5vdGhlciBwcm9jZXNzLgorCisgICAgICAgIFRoaXMgaXMgYSBmaXJzdCBzdGVwIHRv
d2FyZHMgaGF2aW5nIHRoZSBHUFVQcm9jZXNzIHRyYW5zZmVyIG1lbW9yeSBvd25lcnNoaXAgb2Yg
aXRzCisgICAgICAgIElPU3VyZmFjZXMgYW5kIE1ldGFsIHRleHR1cmVzIHRvIHRoZSBXZWJQcm9j
ZXNzZXMgaXQgaXMgc2VydmluZy4KKworICAgICAgICAqIEdQVVByb2Nlc3MvR1BVQ29ubmVjdGlv
blRvV2ViUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OkdQVUNvbm5lY3Rpb25Ub1dlYlBy
b2Nlc3M6OmNyZWF0ZSk6CisgICAgICAgIChXZWJLaXQ6OkdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nl
c3M6OkdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MpOgorICAgICAgICAqIEdQVVByb2Nlc3MvR1BV
Q29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oOgorICAgICAgICAoV2ViS2l0OjpHUFVDb25uZWN0aW9u
VG9XZWJQcm9jZXNzOjp3ZWJQcm9jZXNzSWRlbnRpdHlUb2tlbiBjb25zdCk6CisgICAgICAgICog
R1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6R1BVUHJvY2Vzczo6
Y3JlYXRlR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcyk6CisgICAgICAgICogR1BVUHJvY2Vzcy9H
UFVQcm9jZXNzLmg6CisgICAgICAgICogR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLm1lc3NhZ2VzLmlu
OgorICAgICAgICAqIFNjcmlwdHMvcHJvY2Vzcy1lbnRpdGxlbWVudHMuc2g6CisgICAgICAgICog
U2hhcmVkL0dQVVByb2Nlc3NDb25uZWN0aW9uUGFyYW1ldGVycy5oOiBDb3BpZWQgZnJvbSBTb3Vy
Y2UvV1RGL3d0Zi9NYWNoU2VuZFJpZ2h0LmguCisgICAgICAgIChXZWJLaXQ6OkdQVVByb2Nlc3ND
b25uZWN0aW9uUGFyYW1ldGVyczo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6R1BV
UHJvY2Vzc0Nvbm5lY3Rpb25QYXJhbWV0ZXJzOjpkZWNvZGUpOgorICAgICAgICAqIFVJUHJvY2Vz
cy9HUFUvR1BVUHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6R1BVUHJvY2Vzc1By
b3h5OjpnZXRHUFVQcm9jZXNzQ29ubmVjdGlvbik6CisgICAgICAgICogVUlQcm9jZXNzL0dQVS9H
UFVQcm9jZXNzUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6Z2V0R1BVUHJvY2Vzc0Nvbm5lY3Rp
b24pOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNz
UHJveHk6OmdldEdQVVByb2Nlc3NDb25uZWN0aW9uKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vi
UHJvY2Vzc1Byb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5tZXNz
YWdlcy5pbjoKKyAgICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
cm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVHUFVQcm9jZXNzQ29ubmVjdGlvblBhcmFtZXRlcnMp
OgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpnZXRHUFVQcm9jZXNzQ29ubmVjdGlvbik6
CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmg6CisgICAgICAgICogV2ViUHJvY2Vz
cy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6
OnBsYXRmb3JtSW5pdGlhbGl6ZUdQVVByb2Nlc3NDb25uZWN0aW9uUGFyYW1ldGVycyk6CisKIDIw
MjEtMDItMTcgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAg
ICAgUGx1bWIgYW4gT3B0aW9uYWw8UGFnZUlkZW50aWZpZXI+IHRocm91Z2ggUGFzdGVib2FyZC1y
ZWxhdGVkIGNvZGVwYXRocwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvTWFjaFNlbmRSaWdo
dC5oIGIvU291cmNlL1dURi93dGYvTWFjaFNlbmRSaWdodC5oCmluZGV4IDAwZDdjMWYyYzU2MGMz
NmU3ZjdjOTY2NDBhZWZlYmIzMTk4NDljMDEuLjg2MWU4YjJkNjdkNjlmZjk0NGEzMTMzM2M3ZDY3
ZWEwNGI1Y2VlMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL01hY2hTZW5kUmlnaHQuaAor
KysgYi9Tb3VyY2UvV1RGL3d0Zi9NYWNoU2VuZFJpZ2h0LmgKQEAgLTM4LDkgKzM4LDExIEBAIHB1
YmxpYzoKICAgICBXVEZfRVhQT1JUX1BSSVZBVEUgc3RhdGljIE1hY2hTZW5kUmlnaHQgY3JlYXRl
KG1hY2hfcG9ydF90KTsKIAogICAgIE1hY2hTZW5kUmlnaHQoKSA9IGRlZmF1bHQ7CisgICAgV1RG
X0VYUE9SVF9QUklWQVRFIE1hY2hTZW5kUmlnaHQoY29uc3QgTWFjaFNlbmRSaWdodCYpOwogICAg
IFdURl9FWFBPUlRfUFJJVkFURSBNYWNoU2VuZFJpZ2h0KE1hY2hTZW5kUmlnaHQmJik7CiAgICAg
V1RGX0VYUE9SVF9QUklWQVRFIH5NYWNoU2VuZFJpZ2h0KCk7CiAKKyAgICBXVEZfRVhQT1JUX1BS
SVZBVEUgTWFjaFNlbmRSaWdodCYgb3BlcmF0b3I9KGNvbnN0IE1hY2hTZW5kUmlnaHQmKTsKICAg
ICBXVEZfRVhQT1JUX1BSSVZBVEUgTWFjaFNlbmRSaWdodCYgb3BlcmF0b3I9KE1hY2hTZW5kUmln
aHQmJik7CiAKICAgICBleHBsaWNpdCBvcGVyYXRvciBib29sKCkgY29uc3QgeyByZXR1cm4gbV9w
b3J0ICE9IE1BQ0hfUE9SVF9OVUxMOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0
Zm9ybUhhdmUuaCBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oCmluZGV4IDA0ODZmY2Uy
YzQxODZkMmQ4YmYyNTkxMjU1OTZlODYzOWNkMzQ1MTEuLmE4ZTk3ODJlZWM0OGZjMWMxNDQwYjAw
YzJmYjVlNjY2ZGJiZjU0OTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2
ZS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oCkBAIC0zMDEsNiArMzAxLDEz
IEBACiAjZGVmaW5lIEhBVkVfSU9TVVJGQUNFX1NFVF9PV05FUlNISVAgMQogI2VuZGlmCiAKKyNp
ZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPj0gMTEw
MzAwKSBcCisgICAgfHwgKCgoUExBVEZPUk0oSU9TKSAmJiAhUExBVEZPUk0oSU9TX0ZBTUlMWV9T
SU1VTEFUT1IpKSB8fCBQTEFURk9STShNQUNDQVRBTFlTVCkpICYmIF9fSVBIT05FX09TX1ZFUlNJ
T05fTUFYX0FMTE9XRUQgPj0gMTQwNTAwKSBcCisgICAgfHwgKFBMQVRGT1JNKFdBVENIT1MpICYm
ICFQTEFURk9STShJT1NfRkFNSUxZX1NJTVVMQVRPUikgJiYgX19XQVRDSF9PU19WRVJTSU9OX01B
WF9BTExPV0VEID49IDcwNTAwKSBcCisgICAgfHwgKFBMQVRGT1JNKEFQUExFVFYpICYmICFQTEFU
Rk9STShJT1NfRkFNSUxZX1NJTVVMQVRPUikgJiYgX19UVl9PU19WRVJTSU9OX01BWF9BTExPV0VE
ID49IDE0MDUwMCkKKyNkZWZpbmUgSEFWRV9UQVNLX0lERU5USVRZX1RPS0VOIDEKKyNlbmRpZgor
CiAjaWYgUExBVEZPUk0oTUFDKQogI2RlZmluZSBIQVZFX05TX0FDVElWSVRZIDEKICNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvY29jb2EvTWFjaFNlbmRSaWdodC5jcHAgYi9Tb3Vy
Y2UvV1RGL3d0Zi9jb2NvYS9NYWNoU2VuZFJpZ2h0LmNwcAppbmRleCAwZWEwMTUyOWM4MDFiZDY2
MWNkZjcwNDdiOTg3MDdkYzEyNGMwMGJmLi4yZWIzMDJkMWRkNWE5MjZiMjU1ODMxNWFkMzcyODhm
ZTQ5N2VmMmVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9jb2NvYS9NYWNoU2VuZFJpZ2h0
LmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9jb2NvYS9NYWNoU2VuZFJpZ2h0LmNwcApAQCAtMTAw
LDYgKzEwMCwxMiBAQCBNYWNoU2VuZFJpZ2h0OjpNYWNoU2VuZFJpZ2h0KE1hY2hTZW5kUmlnaHQm
JiBvdGhlcikKIHsKIH0KIAorTWFjaFNlbmRSaWdodDo6TWFjaFNlbmRSaWdodChjb25zdCBNYWNo
U2VuZFJpZ2h0JiBvdGhlcikKKyAgICA6IG1fcG9ydChvdGhlci5tX3BvcnQpCit7CisgICAgcmV0
YWluU2VuZFJpZ2h0KG1fcG9ydCk7Cit9CisKIE1hY2hTZW5kUmlnaHQ6On5NYWNoU2VuZFJpZ2h0
KCkKIHsKICAgICByZWxlYXNlU2VuZFJpZ2h0KG1fcG9ydCk7CkBAIC0xMTUsNiArMTIxLDE2IEBA
IE1hY2hTZW5kUmlnaHQmIE1hY2hTZW5kUmlnaHQ6Om9wZXJhdG9yPShNYWNoU2VuZFJpZ2h0JiYg
b3RoZXIpCiAgICAgcmV0dXJuICp0aGlzOwogfQogCitNYWNoU2VuZFJpZ2h0JiBNYWNoU2VuZFJp
Z2h0OjpvcGVyYXRvcj0oY29uc3QgTWFjaFNlbmRSaWdodCYgb3RoZXIpCit7CisgICAgaWYgKHRo
aXMgIT0gJm90aGVyKSB7CisgICAgICAgIG1fcG9ydCA9IG90aGVyLnNlbmRSaWdodCgpOworICAg
ICAgICByZXRhaW5TZW5kUmlnaHQobV9wb3J0KTsKKyAgICB9CisKKyAgICByZXR1cm4gKnRoaXM7
Cit9CisKIE1hY2hTZW5kUmlnaHQgTWFjaFNlbmRSaWdodDo6Y29weVNlbmRSaWdodCgpIGNvbnN0
CiB7CiAgICAgcmV0dXJuIGNyZWF0ZShtX3BvcnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwCmluZGV4IGQ1NzdlNDM0
OTlmMTgxNDc5MWM4YTBlZjcxY2IzNGEwMjRhMWZhZTIuLjU2OTlkZTE2M2I1MjIyNzI0ZDYxNzcw
NDc1OTgxM2NmMGYwMmM2MGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9H
UFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNs
dWRlICJHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzTWVzc2FnZXMuaCIKICNpbmNsdWRlICJHUFVQ
cm9jZXNzLmgiCiAjaW5jbHVkZSAiR1BVUHJvY2Vzc0Nvbm5lY3Rpb25NZXNzYWdlcy5oIgorI2lu
Y2x1ZGUgIkdQVVByb2Nlc3NDb25uZWN0aW9uUGFyYW1ldGVycy5oIgogI2luY2x1ZGUgIkdQVVBy
b2Nlc3NNZXNzYWdlcy5oIgogI2luY2x1ZGUgIkdQVVByb2Nlc3NQcm94eU1lc3NhZ2VzLmgiCiAj
aW5jbHVkZSAiTGliV2ViUlRDQ29kZWNzUHJveHkuaCIKQEAgLTE2MiwxNSArMTYzLDE4IEBAIHBy
aXZhdGU6CiB9OwogI2VuZGlmCiAKLVJlZjxHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzPiBHUFVD
b25uZWN0aW9uVG9XZWJQcm9jZXNzOjpjcmVhdGUoR1BVUHJvY2VzcyYgZ3B1UHJvY2VzcywgV2Vi
Q29yZTo6UHJvY2Vzc0lkZW50aWZpZXIgd2ViUHJvY2Vzc0lkZW50aWZpZXIsIElQQzo6Q29ubmVj
dGlvbjo6SWRlbnRpZmllciBjb25uZWN0aW9uSWRlbnRpZmllciwgUEFMOjpTZXNzaW9uSUQgc2Vz
c2lvbklEKQorUmVmPEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M+IEdQVUNvbm5lY3Rpb25Ub1dl
YlByb2Nlc3M6OmNyZWF0ZShHUFVQcm9jZXNzJiBncHVQcm9jZXNzLCBXZWJDb3JlOjpQcm9jZXNz
SWRlbnRpZmllciB3ZWJQcm9jZXNzSWRlbnRpZmllciwgSVBDOjpDb25uZWN0aW9uOjpJZGVudGlm
aWVyIGNvbm5lY3Rpb25JZGVudGlmaWVyLCBQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIEdQVVBy
b2Nlc3NDb25uZWN0aW9uUGFyYW1ldGVycyYmIHBhcmFtZXRlcnMpCiB7Ci0gICAgcmV0dXJuIGFk
b3B0UmVmKCpuZXcgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyhncHVQcm9jZXNzLCB3ZWJQcm9j
ZXNzSWRlbnRpZmllciwgY29ubmVjdGlvbklkZW50aWZpZXIsIHNlc3Npb25JRCkpOworICAgIHJl
dHVybiBhZG9wdFJlZigqbmV3IEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MoZ3B1UHJvY2Vzcywg
d2ViUHJvY2Vzc0lkZW50aWZpZXIsIGNvbm5lY3Rpb25JZGVudGlmaWVyLCBzZXNzaW9uSUQsIFdU
Rk1vdmUocGFyYW1ldGVycykpKTsKIH0KIAotR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6R1BV
Q29ubmVjdGlvblRvV2ViUHJvY2VzcyhHUFVQcm9jZXNzJiBncHVQcm9jZXNzLCBXZWJDb3JlOjpQ
cm9jZXNzSWRlbnRpZmllciB3ZWJQcm9jZXNzSWRlbnRpZmllciwgSVBDOjpDb25uZWN0aW9uOjpJ
ZGVudGlmaWVyIGNvbm5lY3Rpb25JZGVudGlmaWVyLCBQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQp
CitHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzKEdQ
VVByb2Nlc3MmIGdwdVByb2Nlc3MsIFdlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyIHdlYlByb2Nl
c3NJZGVudGlmaWVyLCBJUEM6OkNvbm5lY3Rpb246OklkZW50aWZpZXIgY29ubmVjdGlvbklkZW50
aWZpZXIsIFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgR1BVUHJvY2Vzc0Nvbm5lY3Rpb25QYXJh
bWV0ZXJzJiYgcGFyYW1ldGVycykKICAgICA6IG1fY29ubmVjdGlvbihJUEM6OkNvbm5lY3Rpb246
OmNyZWF0ZVNlcnZlckNvbm5lY3Rpb24oY29ubmVjdGlvbklkZW50aWZpZXIsICp0aGlzKSkKICAg
ICAsIG1fZ3B1UHJvY2VzcyhncHVQcm9jZXNzKQogICAgICwgbV93ZWJQcm9jZXNzSWRlbnRpZmll
cih3ZWJQcm9jZXNzSWRlbnRpZmllcikKKyNpZiBIQVZFKFRBU0tfSURFTlRJVFlfVE9LRU4pCisg
ICAgLCBtX3dlYlByb2Nlc3NJZGVudGl0eVRva2VuKFdURk1vdmUocGFyYW1ldGVycy53ZWJQcm9j
ZXNzSWRlbnRpdHlUb2tlbikpCisjZW5kaWYKICAgICAsIG1fcmVtb3RlTWVkaWFQbGF5ZXJNYW5h
Z2VyUHJveHkobWFrZVVuaXF1ZTxSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eT4oKnRoaXMp
KQogICAgICwgbV9zZXNzaW9uSUQoc2Vzc2lvbklEKQogI2lmIFBMQVRGT1JNKENPQ09BKSAmJiBV
U0UoTElCV0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNv
bm5lY3Rpb25Ub1dlYlByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzLmgKaW5kZXggZWJiMGQwMDhmM2Q3MTI5MjE3YjhlOTZlZmExOWJk
NTFmZmFmYTE2Ny4uYTg5MmMyMjI4NDcyOTBmMWIzYjg4MDMzNDQ4NjVkZmVkMTdkZDAxNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nl
c3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJv
Y2Vzcy5oCkBAIC00MCw2ICs0MCw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9Qcm9jZXNzSWRlbnRp
Zmllci5oPgogI2luY2x1ZGUgPHBhbC9TZXNzaW9uSUQuaD4KICNpbmNsdWRlIDx3dGYvTG9nZ2Vy
Lmg+CisjaW5jbHVkZSA8d3RmL01hY2hTZW5kUmlnaHQuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFk
U2FmZVJlZkNvdW50ZWQuaD4KIAogI2lmIEVOQUJMRShXRUJHTCkKQEAgLTY5LDYgKzcwLDcgQEAg
Y2xhc3MgUmVtb3RlUmVuZGVyaW5nQmFja2VuZDsKIGNsYXNzIFJlbW90ZUdyYXBoaWNzQ29udGV4
dEdMOwogY2xhc3MgUmVtb3RlU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyTWFuYWdlcjsKIGNsYXNz
IFVzZXJNZWRpYUNhcHR1cmVNYW5hZ2VyUHJveHk7CitzdHJ1Y3QgR1BVUHJvY2Vzc0Nvbm5lY3Rp
b25QYXJhbWV0ZXJzOwogc3RydWN0IFJlbW90ZUF1ZGlvU2Vzc2lvbkNvbmZpZ3VyYXRpb247CiAK
IGNsYXNzIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MKQEAgLTc2LDcgKzc4LDcgQEAgY2xhc3Mg
R1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcwogICAgICwgcHVibGljIFdlYkNvcmU6Ok5vd1BsYXlp
bmdNYW5hZ2VyOjpDbGllbnQKICAgICAsIElQQzo6Q29ubmVjdGlvbjo6Q2xpZW50IHsKIHB1Ymxp
YzoKLSAgICBzdGF0aWMgUmVmPEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M+IGNyZWF0ZShHUFVQ
cm9jZXNzJiwgV2ViQ29yZTo6UHJvY2Vzc0lkZW50aWZpZXIsIElQQzo6Q29ubmVjdGlvbjo6SWRl
bnRpZmllciwgUEFMOjpTZXNzaW9uSUQpOworICAgIHN0YXRpYyBSZWY8R1BVQ29ubmVjdGlvblRv
V2ViUHJvY2Vzcz4gY3JlYXRlKEdQVVByb2Nlc3MmLCBXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmll
ciwgSVBDOjpDb25uZWN0aW9uOjpJZGVudGlmaWVyLCBQQUw6OlNlc3Npb25JRCwgR1BVUHJvY2Vz
c0Nvbm5lY3Rpb25QYXJhbWV0ZXJzJiYpOwogICAgIHZpcnR1YWwgfkdQVUNvbm5lY3Rpb25Ub1dl
YlByb2Nlc3MoKTsKIAogICAgIElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbigpIHsgcmV0dXJu
IG1fY29ubmVjdGlvbi5nZXQoKTsgfQpAQCAtMTAxLDYgKzEwMywxMCBAQCBwdWJsaWM6CiAgICAg
Ym9vbCBhbGxvd3NEaXNwbGF5Q2FwdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fYWxsb3dzRGlzcGxh
eUNhcHR1cmU7IH0KICNlbmRpZgogCisjaWYgSEFWRShUQVNLX0lERU5USVRZX1RPS0VOKQorICAg
IHRhc2tfaWRfdG9rZW5fdCB3ZWJQcm9jZXNzSWRlbnRpdHlUb2tlbigpIGNvbnN0IHsgcmV0dXJu
IHN0YXRpY19jYXN0PHRhc2tfaWRfdG9rZW5fdD4obV93ZWJQcm9jZXNzSWRlbnRpdHlUb2tlbi5z
ZW5kUmlnaHQoKSk7IH0KKyNlbmRpZgorCiAjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKICAg
ICBSZW1vdGVDRE1GYWN0b3J5UHJveHkmIGNkbUZhY3RvcnlQcm94eSgpOwogI2VuZGlmCkBAIC0x
MjIsNyArMTI4LDcgQEAgcHVibGljOgogICAgIHZvaWQgdGVybWluYXRlV2ViUHJvY2VzcygpOwog
CiBwcml2YXRlOgotICAgIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MoR1BVUHJvY2VzcyYsIFdl
YkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyLCBJUEM6OkNvbm5lY3Rpb246OklkZW50aWZpZXIsIFBB
TDo6U2Vzc2lvbklEKTsKKyAgICBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzKEdQVVByb2Nlc3Mm
LCBXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllciwgSVBDOjpDb25uZWN0aW9uOjpJZGVudGlmaWVy
LCBQQUw6OlNlc3Npb25JRCwgR1BVUHJvY2Vzc0Nvbm5lY3Rpb25QYXJhbWV0ZXJzJiYpOwogCiAj
aWYgRU5BQkxFKFdFQl9BVURJTykKICAgICBSZW1vdGVBdWRpb0Rlc3RpbmF0aW9uTWFuYWdlciYg
cmVtb3RlQXVkaW9EZXN0aW5hdGlvbk1hbmFnZXIoKTsKQEAgLTE4Myw2ICsxODksOSBAQCBwcml2
YXRlOgogICAgIElQQzo6TWVzc2FnZVJlY2VpdmVyTWFwIG1fbWVzc2FnZVJlY2VpdmVyTWFwOwog
ICAgIFJlZjxHUFVQcm9jZXNzPiBtX2dwdVByb2Nlc3M7CiAgICAgY29uc3QgV2ViQ29yZTo6UHJv
Y2Vzc0lkZW50aWZpZXIgbV93ZWJQcm9jZXNzSWRlbnRpZmllcjsKKyNpZiBIQVZFKFRBU0tfSURF
TlRJVFlfVE9LRU4pCisgICAgTWFjaFNlbmRSaWdodCBtX3dlYlByb2Nlc3NJZGVudGl0eVRva2Vu
OworI2VuZGlmCiAjaWYgRU5BQkxFKFdFQl9BVURJTykKICAgICBzdGQ6OnVuaXF1ZV9wdHI8UmVt
b3RlQXVkaW9EZXN0aW5hdGlvbk1hbmFnZXI+IG1fcmVtb3RlQXVkaW9EZXN0aW5hdGlvbk1hbmFn
ZXI7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9j
ZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmNwcAppbmRleCA0
ZjI2YzU5MmUyZjgxZDJmZTFhYTc3NjY3ZTJkMmM1N2FiYWRkNTc0Li43MzU1ODhjZmVlZTFlYTE0
YTVkMmQ3Mjg2NGJhOTQwZTk4YjE5YmRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVBy
b2Nlc3MvR1BVUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVBy
b2Nlc3MuY3BwCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSAiQXV4aWxpYXJ5UHJvY2Vzc01l
c3NhZ2VzLmgiCiAjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIkdQVUNvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3MuaCIKKyNpbmNsdWRlICJHUFVQcm9jZXNzQ29ubmVjdGlvblBhcmFt
ZXRlcnMuaCIKICNpbmNsdWRlICJHUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgiCiAjaW5j
bHVkZSAiR1BVUHJvY2Vzc1Nlc3Npb25QYXJhbWV0ZXJzLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5o
IgpAQCAtODIsNyArODMsNyBAQCBHUFVQcm9jZXNzOjp+R1BVUHJvY2VzcygpCiB7CiB9CiAKLXZv
aWQgR1BVUHJvY2Vzczo6Y3JlYXRlR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyhQcm9jZXNzSWRl
bnRpZmllciBpZGVudGlmaWVyLCBQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIENvbXBsZXRpb25I
YW5kbGVyPHZvaWQoT3B0aW9uYWw8SVBDOjpBdHRhY2htZW50PiYmKT4mJiBjb21wbGV0aW9uSGFu
ZGxlcikKK3ZvaWQgR1BVUHJvY2Vzczo6Y3JlYXRlR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyhQ
cm9jZXNzSWRlbnRpZmllciBpZGVudGlmaWVyLCBQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIEdQ
VVByb2Nlc3NDb25uZWN0aW9uUGFyYW1ldGVycyYmIHBhcmFtZXRlcnMsIENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoT3B0aW9uYWw8SVBDOjpBdHRhY2htZW50PiYmKT4mJiBjb21wbGV0aW9uSGFuZGxl
cikKIHsKICAgICBhdXRvIGlwY0Nvbm5lY3Rpb24gPSBjcmVhdGVJUENDb25uZWN0aW9uUGFpcigp
OwogICAgIGlmICghaXBjQ29ubmVjdGlvbikgewpAQCAtOTAsNyArOTEsNyBAQCB2b2lkIEdQVVBy
b2Nlc3M6OmNyZWF0ZUdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MoUHJvY2Vzc0lkZW50aWZpZXIg
aWRlbnRpZmllciwgUAogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgYXV0byBuZXdDb25u
ZWN0aW9uID0gR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6Y3JlYXRlKCp0aGlzLCBpZGVudGlm
aWVyLCBpcGNDb25uZWN0aW9uLT5maXJzdCwgc2Vzc2lvbklEKTsKKyAgICBhdXRvIG5ld0Nvbm5l
Y3Rpb24gPSBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpjcmVhdGUoKnRoaXMsIGlkZW50aWZp
ZXIsIGlwY0Nvbm5lY3Rpb24tPmZpcnN0LCBzZXNzaW9uSUQsIFdURk1vdmUocGFyYW1ldGVycykp
OwogCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKICAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIHJl
ZmFjdG9yIGNvZGUgdG8gZ28gZnJvbSBXZWJQcm9jZXNzIC0+IEdQVVByb2Nlc3MgLT4gVUlQcm9j
ZXNzIHdoZW4gZ2V0VXNlck1lZGlhIGlzIGNhbGxlZCBpbnN0ZWFkIG9mIGdvaW5nIGZyb20gV2Vi
UHJvY2VzcyAtPiBVSVByb2Nlc3MgZGlyZWN0bHkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVBy
b2Nlc3MuaAppbmRleCAwNTRkZTVlOGNiYzEyNjg5Mzg1MjUwZDcxMjg4MjhjNGY0OWNhN2UzLi41
MjU2NWI4M2U4ZDIxMDcxNWFkMjQ1NzJjZWEwZTFhYWJkMDFjZjAzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9HUFVQcm9jZXNzLmgKQEAgLTQyLDYgKzQyLDcgQEAgY2xhc3MgTm93UGxheWluZ01h
bmFnZXI7CiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgR1BVQ29ubmVjdGlvblRvV2ViUHJv
Y2VzczsKK3N0cnVjdCBHUFVQcm9jZXNzQ29ubmVjdGlvblBhcmFtZXRlcnM7CiBzdHJ1Y3QgR1BV
UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczsKIHN0cnVjdCBHUFVQcm9jZXNzU2Vzc2lvblBhcmFt
ZXRlcnM7CiBjbGFzcyBMYXllckhvc3RpbmdDb250ZXh0OwpAQCAtMTAxLDcgKzEwMiw3IEBAIHBy
aXZhdGU6CiAKICAgICAvLyBNZXNzYWdlIEhhbmRsZXJzCiAgICAgdm9pZCBpbml0aWFsaXplR1BV
UHJvY2VzcyhHUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJiYpOwotICAgIHZvaWQgY3JlYXRl
R1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyhXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllciwgUEFM
OjpTZXNzaW9uSUQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoT3B0aW9uYWw8SVBDOjpBdHRhY2ht
ZW50PiYmKT4mJik7CisgICAgdm9pZCBjcmVhdGVHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzKFdl
YkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyLCBQQUw6OlNlc3Npb25JRCwgR1BVUHJvY2Vzc0Nvbm5l
Y3Rpb25QYXJhbWV0ZXJzJiYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoT3B0aW9uYWw8SVBDOjpB
dHRhY2htZW50PiYmKT4mJik7CiAgICAgdm9pZCBhZGRTZXNzaW9uKFBBTDo6U2Vzc2lvbklELCBH
UFVQcm9jZXNzU2Vzc2lvblBhcmFtZXRlcnMmJik7CiAgICAgdm9pZCByZW1vdmVTZXNzaW9uKFBB
TDo6U2Vzc2lvbklEKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQ
VVByb2Nlc3MubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vz
cy5tZXNzYWdlcy5pbgppbmRleCA3ODY5NDdjMjhjNDgwNWE4ZWU4YmFmZjhhZjEwYTBiOTU4NzRk
MWNiLi5jYjE4OTc2YmEzOTY2M2U2YjFhZjQxMmYyNDZiZGRhZTkxZmU2MTQ0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5tZXNzYWdlcy5pbgorKysgYi9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5tZXNzYWdlcy5pbgpAQCAtMjUsNyAr
MjUsNyBAQAogbWVzc2FnZXMgLT4gR1BVUHJvY2VzcyB7CiAgICAgSW5pdGlhbGl6ZUdQVVByb2Nl
c3Moc3RydWN0IFdlYktpdDo6R1BVUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyBwcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzKQogCi0gICAgQ3JlYXRlR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyhX
ZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllciBwcm9jZXNzSWRlbnRpZmllciwgUEFMOjpTZXNzaW9u
SUQgc2Vzc2lvbklEKSAtPiAoT3B0aW9uYWw8SVBDOjpBdHRhY2htZW50PiBjb25uZWN0aW9uSWRl
bnRpZmllcikgQXN5bmMKKyAgICBDcmVhdGVHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzKFdlYkNv
cmU6OlByb2Nlc3NJZGVudGlmaWVyIHByb2Nlc3NJZGVudGlmaWVyLCBQQUw6OlNlc3Npb25JRCBz
ZXNzaW9uSUQsIHN0cnVjdCBXZWJLaXQ6OkdQVVByb2Nlc3NDb25uZWN0aW9uUGFyYW1ldGVycyBw
YXJhbWV0ZXJzKSAtPiAoT3B0aW9uYWw8SVBDOjpBdHRhY2htZW50PiBjb25uZWN0aW9uSWRlbnRp
ZmllcikgQXN5bmMKIAogICAgIFByb2Nlc3NEaWRUcmFuc2l0aW9uVG9Gb3JlZ3JvdW5kKCkKICAg
ICBQcm9jZXNzRGlkVHJhbnNpdGlvblRvQmFja2dyb3VuZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1NjcmlwdHMvcHJvY2Vzcy1lbnRpdGxlbWVudHMuc2ggYi9Tb3VyY2UvV2ViS2l0L1Nj
cmlwdHMvcHJvY2Vzcy1lbnRpdGxlbWVudHMuc2gKaW5kZXggOTcyM2EyZmE4ZTg3YTI3ODMyOGFj
NDRjYjc1MmEyYmQyMGE4MWU3MC4uNDI4NmExNGFiYTYyYWRkOGY2ZDEyOGFlZjZkY2I0ZmFiMmJi
YjgyNSAxMDA3NTUKLS0tIGEvU291cmNlL1dlYktpdC9TY3JpcHRzL3Byb2Nlc3MtZW50aXRsZW1l
bnRzLnNoCisrKyBiL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy9wcm9jZXNzLWVudGl0bGVtZW50cy5z
aApAQCAtNTEsNiArNTEsNyBAQCBmdW5jdGlvbiBtYWNfcHJvY2Vzc19ncHVfZW50aXRsZW1lbnRz
KCkKICAgICAgICAgICAgIHBsaXN0YnVkZHkgQWRkIDpjb20uYXBwbGUuYXZmb3VuZGF0aW9uLmFs
bG93LXN5c3RlbS13aWRlLWNvbnRleHQgYm9vbCBZRVMKICAgICAgICAgZmkKIAorICAgICAgICBw
bGlzdGJ1ZGR5IEFkZCA6Y29tLmFwcGxlLnByaXZhdGUubWVtb3J5Lm93bmVyc2hpcF90cmFuc2Zl
ciBib29sIFlFUwogICAgICAgICBwbGlzdGJ1ZGR5IEFkZCA6Y29tLmFwcGxlLnJvb3RsZXNzLnN0
b3JhZ2UuV2ViS2l0R1BVU2FuZGJveCBib29sIFlFUwogICAgICAgICBwbGlzdGJ1ZGR5IEFkZCA6
Y29tLmFwcGxlLlF1YXJ0ekNvcmUud2Via2l0LWVuZC1wb2ludHMgYm9vbCBZRVMKICAgICBmaQpA
QCAtMTcwLDYgKzE3MSw3IEBAIGZ1bmN0aW9uIG1hY2NhdGFseXN0X3Byb2Nlc3NfZ3B1X2VudGl0
bGVtZW50cygpCiAgICAgcGxpc3RidWRkeSBBZGQgOmNvbS5hcHBsZS5zZWN1cml0eS5uZXR3b3Jr
LmNsaWVudCBib29sIFlFUwogICAgIHBsaXN0YnVkZHkgQWRkIDpjb20uYXBwbGUucnVubmluZ2Jv
YXJkLmFzc2VydGlvbnMud2Via2l0IGJvb2wgWUVTCiAgICAgcGxpc3RidWRkeSBBZGQgOmNvbS5h
cHBsZS5RdWFydHpDb3JlLndlYmtpdC1lbmQtcG9pbnRzIGJvb2wgWUVTCisgICAgcGxpc3RidWRk
eSBBZGQgOmNvbS5hcHBsZS5wcml2YXRlLm1lbW9yeS5vd25lcnNoaXBfdHJhbnNmZXIgYm9vbCBZ
RVMKIH0KIAogZnVuY3Rpb24gbWFjY2F0YWx5c3RfcHJvY2Vzc19uZXR3b3JrX2VudGl0bGVtZW50
cygpCkBAIC0yNDEsNiArMjQzLDcgQEAgZnVuY3Rpb24gaW9zX2ZhbWlseV9wcm9jZXNzX2dwdV9l
bnRpdGxlbWVudHMoKQogICAgIHBsaXN0YnVkZHkgQWRkIDpjb20uYXBwbGUucHJpdmF0ZS5tZWRp
YWV4cGVyaWVuY2Uuc3RhcnRyZWNvcmRpbmdpbnRoZWJhY2tncm91bmQuYWxsb3cgYm9vbCBZRVMK
ICAgICBwbGlzdGJ1ZGR5IEFkZCA6Y29tLmFwcGxlLnByaXZhdGUuY29yZW1lZGlhLnBpZGluaGVy
aXRhbmNlLmFsbG93IGJvb2wgWUVTCiAgICAgcGxpc3RidWRkeSBBZGQgOmNvbS5hcHBsZS5wcml2
YXRlLm1lbW9yeXN0YXR1cyBib29sIFlFUworICAgIHBsaXN0YnVkZHkgQWRkIDpjb20uYXBwbGUu
cHJpdmF0ZS5tZW1vcnkub3duZXJzaGlwX3RyYW5zZmVyIGJvb2wgWUVTCiAgICAgcGxpc3RidWRk
eSBBZGQgOmNvbS5hcHBsZS5wcml2YXRlLm5ldHdvcmsuc29ja2V0LWRlbGVnYXRlIGJvb2wgWUVT
CiAgICAgcGxpc3RidWRkeSBBZGQgOmNvbS5hcHBsZS5ydW5uaW5nYm9hcmQuYXNzZXJ0aW9ucy53
ZWJraXQgYm9vbCBZRVMKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvR1BVUHJv
Y2Vzc0Nvbm5lY3Rpb25QYXJhbWV0ZXJzLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9HUFVQcm9j
ZXNzQ29ubmVjdGlvblBhcmFtZXRlcnMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MzY0MzE2ZjE1NGU3OWI0OTMz
OWQxZGIzN2Y0MDgyMWNkNGRkZDc3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9T
aGFyZWQvR1BVUHJvY2Vzc0Nvbm5lY3Rpb25QYXJhbWV0ZXJzLmgKQEAgLTAsMCArMSw2OSBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKQorCisj
aW5jbHVkZSA8d3RmL01hY2hTZW5kUmlnaHQuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK3N0
cnVjdCBHUFVQcm9jZXNzQ29ubmVjdGlvblBhcmFtZXRlcnMgeworI2lmIEhBVkUoVEFTS19JREVO
VElUWV9UT0tFTikKKyAgICBNYWNoU2VuZFJpZ2h0IHdlYlByb2Nlc3NJZGVudGl0eVRva2VuOwor
I2VuZGlmCisKKyAgICB2b2lkIGVuY29kZShJUEM6OkVuY29kZXImIGVuY29kZXIpIGNvbnN0Cisg
ICAgeworI2lmIEhBVkUoVEFTS19JREVOVElUWV9UT0tFTikKKyAgICAgICAgZW5jb2RlciA8PCB3
ZWJQcm9jZXNzSWRlbnRpdHlUb2tlbjsKKyNlbHNlCisgICAgICAgIFVOVVNFRF9QQVJBTShlbmNv
ZGVyKTsKKyNlbmRpZgorICAgIH0KKworICAgIHN0YXRpYyBPcHRpb25hbDxHUFVQcm9jZXNzQ29u
bmVjdGlvblBhcmFtZXRlcnM+IGRlY29kZShJUEM6OkRlY29kZXImIGRlY29kZXIpCisgICAgewor
I2lmIEhBVkUoVEFTS19JREVOVElUWV9UT0tFTikKKyAgICAgICAgT3B0aW9uYWw8TWFjaFNlbmRS
aWdodD4gd2ViUHJvY2Vzc0lkZW50aXR5VG9rZW47CisgICAgICAgIGRlY29kZXIgPj4gd2ViUHJv
Y2Vzc0lkZW50aXR5VG9rZW47CisgICAgICAgIGlmICghd2ViUHJvY2Vzc0lkZW50aXR5VG9rZW4p
CisgICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworI2Vsc2UKKyAgICAgICAgVU5VU0VE
X1BBUkFNKGRlY29kZXIpOworI2VuZGlmCisKKyAgICAgICAgcmV0dXJuIEdQVVByb2Nlc3NDb25u
ZWN0aW9uUGFyYW1ldGVycyB7CisjaWYgSEFWRShUQVNLX0lERU5USVRZX1RPS0VOKQorICAgICAg
ICAgICAgV1RGTW92ZSgqd2ViUHJvY2Vzc0lkZW50aXR5VG9rZW4pLAorI2VuZGlmCisgICAgICAg
IH07CisgICAgfQorfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBFTkFC
TEUoR1BVX1BST0NFU1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9HUFUv
R1BVUHJvY2Vzc1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dQVS9HUFVQcm9j
ZXNzUHJveHkuY3BwCmluZGV4IGE2YWJhZmYzNGE0Nzg2NGE4ZTg5NzA0Y2U3NTMyZDE1NjA2NWFi
MGEuLmJkMjIxZjViN2ZiNDM0ZDIxMzA5MWQ0NWQyMzY0NmFmODg0MjIwZDYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJveHkuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJveHkuY3BwCkBAIC0zMCw2ICsz
MCw3IEBACiAKICNpbmNsdWRlICJEcmF3aW5nQXJlYVByb3h5LmgiCiAjaW5jbHVkZSAiR1BVUHJv
Y2Vzc0Nvbm5lY3Rpb25JbmZvLmgiCisjaW5jbHVkZSAiR1BVUHJvY2Vzc0Nvbm5lY3Rpb25QYXJh
bWV0ZXJzLmgiCiAjaW5jbHVkZSAiR1BVUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIgogI2lu
Y2x1ZGUgIkdQVVByb2Nlc3NNZXNzYWdlcy5oIgogI2luY2x1ZGUgIkdQVVByb2Nlc3NQcm94eU1l
c3NhZ2VzLmgiCkBAIC0yMDcsNyArMjA4LDcgQEAgdm9pZCBHUFVQcm9jZXNzUHJveHk6OnByb2Nl
c3NXaWxsU2h1dERvd24oSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uKQogICAgICAgICBzaW5n
bGV0b24oKSA9IG51bGxwdHI7CiB9CiAKLXZvaWQgR1BVUHJvY2Vzc1Byb3h5OjpnZXRHUFVQcm9j
ZXNzQ29ubmVjdGlvbihXZWJQcm9jZXNzUHJveHkmIHdlYlByb2Nlc3NQcm94eSwgTWVzc2FnZXM6
OldlYlByb2Nlc3NQcm94eTo6R2V0R1BVUHJvY2Vzc0Nvbm5lY3Rpb246OkRlbGF5ZWRSZXBseSYm
IHJlcGx5KQordm9pZCBHUFVQcm9jZXNzUHJveHk6OmdldEdQVVByb2Nlc3NDb25uZWN0aW9uKFdl
YlByb2Nlc3NQcm94eSYgd2ViUHJvY2Vzc1Byb3h5LCBjb25zdCBHUFVQcm9jZXNzQ29ubmVjdGlv
blBhcmFtZXRlcnMmIHBhcmFtZXRlcnMsIE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJveHk6OkdldEdQ
VVByb2Nlc3NDb25uZWN0aW9uOjpEZWxheWVkUmVwbHkmJiByZXBseSkKIHsKICAgICBhZGRTZXNz
aW9uKHdlYlByb2Nlc3NQcm94eS53ZWJzaXRlRGF0YVN0b3JlKCkpOwogI2lmIEhBVkUoVklTSUJJ
TElUWV9QUk9QQUdBVElPTl9WSUVXKQpAQCAtMjE4LDcgKzIxOSw3IEBAIHZvaWQgR1BVUHJvY2Vz
c1Byb3h5OjpnZXRHUFVQcm9jZXNzQ29ubmVjdGlvbihXZWJQcm9jZXNzUHJveHkmIHdlYlByb2Nl
c3NQcm94eSwKICNlbmRpZgogCiAgICAgUkVMRUFTRV9MT0coUHJvY2Vzc1N1c3BlbnNpb24sICIl
cCAtIEdQVVByb2Nlc3NQcm94eSBpcyB0YWtpbmcgYSBiYWNrZ3JvdW5kIGFzc2VydGlvbiBiZWNh
dXNlIGEgd2ViIHByb2Nlc3MgaXMgcmVxdWVzdGluZyBhIGNvbm5lY3Rpb24iLCB0aGlzKTsKLSAg
ICBzZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6OkdQVVByb2Nlc3M6OkNyZWF0ZUdQVUNvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3MgeyB3ZWJQcm9jZXNzUHJveHkuY29yZVByb2Nlc3NJZGVudGlmaWVy
KCksIHdlYlByb2Nlc3NQcm94eS5zZXNzaW9uSUQoKSB9LCBbdGhpcywgd2Vha1RoaXMgPSBtYWtl
V2Vha1B0cigqdGhpcyksIHJlcGx5ID0gV1RGTW92ZShyZXBseSldKGF1dG8mJiBpZGVudGlmaWVy
KSBtdXRhYmxlIHsKKyAgICBzZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6OkdQVVByb2Nlc3M6
OkNyZWF0ZUdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MgeyB3ZWJQcm9jZXNzUHJveHkuY29yZVBy
b2Nlc3NJZGVudGlmaWVyKCksIHdlYlByb2Nlc3NQcm94eS5zZXNzaW9uSUQoKSwgcGFyYW1ldGVy
cyB9LCBbdGhpcywgd2Vha1RoaXMgPSBtYWtlV2Vha1B0cigqdGhpcyksIHJlcGx5ID0gV1RGTW92
ZShyZXBseSldKGF1dG8mJiBpZGVudGlmaWVyKSBtdXRhYmxlIHsKICAgICAgICAgaWYgKCF3ZWFr
VGhpcykgewogICAgICAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoUHJvY2VzcywgIkdQVVByb2Nl
c3NQcm94eTo6Z2V0R1BVUHJvY2Vzc0Nvbm5lY3Rpb246IEdQVVByb2Nlc3NQcm94eSBkZWFsbG9j
YXRlZCBkdXJpbmcgY29ubmVjdGlvbiBlc3RhYmxpc2htZW50Iik7CiAgICAgICAgICAgICByZXR1
cm4gcmVwbHkoeyB9KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dQVS9H
UFVQcm9jZXNzUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNz
UHJveHkuaAppbmRleCAyMDc1MzVjNmMxMmIyN2YyZjIwMTQ2YjU1YWQ2NDY5N2NmMGZhMjY1Li5m
ZDQxNTg4OWIzZDM5MWM2NjZkNzQwZjFiYjFlMTQyOTEzZmM2NzRhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5LmgKKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvR1BVL0dQVVByb2Nlc3NQcm94eS5oCkBAIC00NSw2ICs0NSw3IEBAIG5h
bWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBXZWJQcm9jZXNzUHJveHk7CiBjbGFzcyBXZWJzaXRl
RGF0YVN0b3JlOworc3RydWN0IEdQVVByb2Nlc3NDb25uZWN0aW9uUGFyYW1ldGVyczsKIHN0cnVj
dCBHUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOwogCiBjbGFzcyBHUFVQcm9jZXNzUHJveHkg
ZmluYWwgOiBwdWJsaWMgQXV4aWxpYXJ5UHJvY2Vzc1Byb3h5LCBwcml2YXRlIFByb2Nlc3NUaHJv
dHRsZXJDbGllbnQsIHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxHUFVQcm9jZXNzUHJveHk+LCBwdWJs
aWMgUmVmQ291bnRlZDxHUFVQcm9jZXNzUHJveHk+IHsKQEAgLTU2LDcgKzU3LDcgQEAgcHVibGlj
OgogICAgIHN0YXRpYyBHUFVQcm9jZXNzUHJveHkqIHNpbmdsZXRvbklmQ3JlYXRlZCgpOwogICAg
IH5HUFVQcm9jZXNzUHJveHkoKTsKIAotICAgIHZvaWQgZ2V0R1BVUHJvY2Vzc0Nvbm5lY3Rpb24o
V2ViUHJvY2Vzc1Byb3h5JiwgTWVzc2FnZXM6OldlYlByb2Nlc3NQcm94eTo6R2V0R1BVUHJvY2Vz
c0Nvbm5lY3Rpb25EZWxheWVkUmVwbHkmJik7CisgICAgdm9pZCBnZXRHUFVQcm9jZXNzQ29ubmVj
dGlvbihXZWJQcm9jZXNzUHJveHkmLCBjb25zdCBHUFVQcm9jZXNzQ29ubmVjdGlvblBhcmFtZXRl
cnMmLCBNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpHZXRHUFVQcm9jZXNzQ29ubmVjdGlvbkRl
bGF5ZWRSZXBseSYmKTsKIAogICAgIFByb2Nlc3NUaHJvdHRsZXImIHRocm90dGxlcigpIGZpbmFs
IHsgcmV0dXJuIG1fdGhyb3R0bGVyOyB9CiAgICAgdm9pZCB1cGRhdGVQcm9jZXNzQXNzZXJ0aW9u
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKaW5kZXggNjky
ZDgyNmNiMjUxZjZlZGFmMzhkYzZhZGVlNzRhYWZiYmFmZDQ0Zi4uODlkNmE2ODJiZGE0YzZkN2Rl
MmEzMGM1ZTU0YTUzZWE4NDk1NTkwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBy
b2Nlc3NQb29sLmNwcApAQCAtNDAsNiArNDAsNyBAQAogI2luY2x1ZGUgIkRvd25sb2FkUHJveHku
aCIKICNpbmNsdWRlICJEb3dubG9hZFByb3h5TWVzc2FnZXMuaCIKICNpbmNsdWRlICJHUFVQcm9j
ZXNzQ29ubmVjdGlvbkluZm8uaCIKKyNpbmNsdWRlICJHUFVQcm9jZXNzQ29ubmVjdGlvblBhcmFt
ZXRlcnMuaCIKICNpbmNsdWRlICJHYW1lcGFkRGF0YS5oIgogI2luY2x1ZGUgIkhpZ2hQZXJmb3Jt
YW5jZUdyYXBoaWNzVXNhZ2VTYW1wbGVyLmgiCiAjaW5jbHVkZSAiTGVnYWN5R2xvYmFsU2V0dGlu
Z3MuaCIKQEAgLTUxMSwxMiArNTEyLDEyIEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OmdwdVByb2Nl
c3NDcmFzaGVkKFByb2Nlc3NJRCBpZGVudGlmaWVyKQogICAgICAgICBtX3Jlc2V0R1BVUHJvY2Vz
c0NyYXNoQ291bnRUaW1lci5zdGFydE9uZVNob3QocmVzZXRHUFVQcm9jZXNzQ3Jhc2hDb3VudERl
bGF5KTsKIH0KIAotdm9pZCBXZWJQcm9jZXNzUG9vbDo6Z2V0R1BVUHJvY2Vzc0Nvbm5lY3Rpb24o
V2ViUHJvY2Vzc1Byb3h5JiB3ZWJQcm9jZXNzUHJveHksIE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJv
eHk6OkdldEdQVVByb2Nlc3NDb25uZWN0aW9uOjpEZWxheWVkUmVwbHkmJiByZXBseSkKK3ZvaWQg
V2ViUHJvY2Vzc1Bvb2w6OmdldEdQVVByb2Nlc3NDb25uZWN0aW9uKFdlYlByb2Nlc3NQcm94eSYg
d2ViUHJvY2Vzc1Byb3h5LCBHUFVQcm9jZXNzQ29ubmVjdGlvblBhcmFtZXRlcnMmJiBwYXJhbWV0
ZXJzLCBNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpHZXRHUFVQcm9jZXNzQ29ubmVjdGlvbjo6
RGVsYXllZFJlcGx5JiYgcmVwbHkpCiB7Ci0gICAgZW5zdXJlR1BVUHJvY2VzcygpLmdldEdQVVBy
b2Nlc3NDb25uZWN0aW9uKHdlYlByb2Nlc3NQcm94eSwgW3RoaXMsIHdlYWtUaGlzID0gbWFrZVdl
YWtQdHIoKnRoaXMpLCB3ZWJQcm9jZXNzUHJveHkgPSBtYWtlV2Vha1B0cih3ZWJQcm9jZXNzUHJv
eHkpLCByZXBseSA9IFdURk1vdmUocmVwbHkpXSAoYXV0byYgY29ubmVjdGlvbkluZm8pIG11dGFi
bGUgeworICAgIGVuc3VyZUdQVVByb2Nlc3MoKS5nZXRHUFVQcm9jZXNzQ29ubmVjdGlvbih3ZWJQ
cm9jZXNzUHJveHksIHBhcmFtZXRlcnMsIFt0aGlzLCB3ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKCp0
aGlzKSwgcGFyYW1ldGVycywgd2ViUHJvY2Vzc1Byb3h5ID0gbWFrZVdlYWtQdHIod2ViUHJvY2Vz
c1Byb3h5KSwgcmVwbHkgPSBXVEZNb3ZlKHJlcGx5KV0gKGF1dG8mIGNvbm5lY3Rpb25JbmZvKSBt
dXRhYmxlIHsKICAgICAgICAgaWYgKFVOTElLRUxZKCFJUEM6OkNvbm5lY3Rpb246OmlkZW50aWZp
ZXJJc1ZhbGlkKGNvbm5lY3Rpb25JbmZvLmlkZW50aWZpZXIoKSkgJiYgd2ViUHJvY2Vzc1Byb3h5
ICYmIHdlYWtUaGlzKSkgewogICAgICAgICAgICAgV0VCUFJPQ0VTU1BPT0xfUkVMRUFTRV9MT0df
RVJST1IoUHJvY2VzcywgImdldEdQVVByb2Nlc3NDb25uZWN0aW9uOiBGYWlsZWQgZmlyc3QgYXR0
ZW1wdCwgcmV0cnlpbmciKTsKLSAgICAgICAgICAgIGVuc3VyZUdQVVByb2Nlc3MoKS5nZXRHUFVQ
cm9jZXNzQ29ubmVjdGlvbigqd2ViUHJvY2Vzc1Byb3h5LCBXVEZNb3ZlKHJlcGx5KSk7CisgICAg
ICAgICAgICBlbnN1cmVHUFVQcm9jZXNzKCkuZ2V0R1BVUHJvY2Vzc0Nvbm5lY3Rpb24oKndlYlBy
b2Nlc3NQcm94eSwgcGFyYW1ldGVycywgV1RGTW92ZShyZXBseSkpOwogICAgICAgICAgICAgcmV0
dXJuOwogICAgICAgICB9CiAgICAgICAgIHJlcGx5KGNvbm5lY3Rpb25JbmZvKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmggYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oCmluZGV4IGU4OWQ2NTgwZGNmMjk4ODFiMjY1
ODIyZTgwMGYyZGJkOGIwNzgyMDQuLjI2MGFkMDQyYWIzZmNiZWE3MDhiODJjYmM2MjBlMjAwNTZi
ZGRlNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29s
LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaApAQCAtMTA4
LDYgKzEwOCw3IEBAIGNsYXNzIFdlYkNvbnRleHRTdXBwbGVtZW50OwogY2xhc3MgV2ViUGFnZUdy
b3VwOwogY2xhc3MgV2ViUGFnZVByb3h5OwogY2xhc3MgV2ViUHJvY2Vzc0NhY2hlOworc3RydWN0
IEdQVVByb2Nlc3NDb25uZWN0aW9uUGFyYW1ldGVyczsKIHN0cnVjdCBHUFVQcm9jZXNzQ3JlYXRp
b25QYXJhbWV0ZXJzOwogc3RydWN0IE5ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOwog
c3RydWN0IFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM7CkBAIC0zNTAsNyArMzUxLDcgQEAg
cHVibGljOgogI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykKICAgICB2b2lkIGdwdVByb2Nlc3NDcmFz
aGVkKFByb2Nlc3NJRCk7CiAKLSAgICB2b2lkIGdldEdQVVByb2Nlc3NDb25uZWN0aW9uKFdlYlBy
b2Nlc3NQcm94eSYsIE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJveHk6OkdldEdQVVByb2Nlc3NDb25u
ZWN0aW9uRGVsYXllZFJlcGx5JiYpOworICAgIHZvaWQgZ2V0R1BVUHJvY2Vzc0Nvbm5lY3Rpb24o
V2ViUHJvY2Vzc1Byb3h5JiwgR1BVUHJvY2Vzc0Nvbm5lY3Rpb25QYXJhbWV0ZXJzJiYsIE1lc3Nh
Z2VzOjpXZWJQcm9jZXNzUHJveHk6OkdldEdQVVByb2Nlc3NDb25uZWN0aW9uRGVsYXllZFJlcGx5
JiYpOwogCiAgICAgR1BVUHJvY2Vzc1Byb3h5JiBlbnN1cmVHUFVQcm9jZXNzKCk7CiAgICAgR1BV
UHJvY2Vzc1Byb3h5KiBncHVQcm9jZXNzKCkgY29uc3QgeyByZXR1cm4gbV9ncHVQcm9jZXNzLmdl
dCgpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJv
eHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcAppbmRl
eCBmYzU2YTFkNjQ4NTg2MmYwNDVkNmYzNDY5YTZjNmFlMDRiODcxMjEwLi4zNmQxZGM0MWM2N2Zj
MDNhYTU0NmM5NjRjZjA1YmQ0YjBlNjdiNGQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlByb2Nlc3NQcm94eS5jcHAKQEAgLTc3MCw5ICs3NzAsOSBAQCB2b2lkIFdlYlByb2Nlc3NQ
cm94eTo6Z2V0TmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uKE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJv
eHk6OkdldAogfQogCiAjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKQotdm9pZCBXZWJQcm9jZXNzUHJv
eHk6OmdldEdQVVByb2Nlc3NDb25uZWN0aW9uKE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJveHk6Okdl
dEdQVVByb2Nlc3NDb25uZWN0aW9uOjpEZWxheWVkUmVwbHkmJiByZXBseSkKK3ZvaWQgV2ViUHJv
Y2Vzc1Byb3h5OjpnZXRHUFVQcm9jZXNzQ29ubmVjdGlvbihHUFVQcm9jZXNzQ29ubmVjdGlvblBh
cmFtZXRlcnMmJiBwYXJhbWV0ZXJzLCBNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpHZXRHUFVQ
cm9jZXNzQ29ubmVjdGlvbjo6RGVsYXllZFJlcGx5JiYgcmVwbHkpCiB7Ci0gICAgbV9wcm9jZXNz
UG9vbC0+Z2V0R1BVUHJvY2Vzc0Nvbm5lY3Rpb24oKnRoaXMsIFdURk1vdmUocmVwbHkpKTsKKyAg
ICBtX3Byb2Nlc3NQb29sLT5nZXRHUFVQcm9jZXNzQ29ubmVjdGlvbigqdGhpcywgV1RGTW92ZShw
YXJhbWV0ZXJzKSwgV1RGTW92ZShyZXBseSkpOwogfQogCiB2b2lkIFdlYlByb2Nlc3NQcm94eTo6
Z3B1UHJvY2Vzc0NyYXNoZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUHJvY2Vzc1Byb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJv
eHkuaAppbmRleCAyOTMxNTgxNDM1N2NjYTRjMWM2YWNlOGQ0MGJhYjBjOGUzMmZlZjhhLi41ZGFj
ODMxYzJlZDI2NzEwYzU3MDhlOGQ0NDA3YTk0Y2JhNDY2NjA3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaApAQCAtOTgsNiArOTgsNyBAQCBjbGFzcyBXZWJVc2Vy
Q29udGVudENvbnRyb2xsZXJQcm94eTsKIGNsYXNzIFdlYnNpdGVEYXRhU3RvcmU7CiBlbnVtIGNs
YXNzIFdlYnNpdGVEYXRhVHlwZSA6IHVpbnQzMl90Owogc3RydWN0IEJhY2tGb3J3YXJkTGlzdEl0
ZW1TdGF0ZTsKK3N0cnVjdCBHUFVQcm9jZXNzQ29ubmVjdGlvblBhcmFtZXRlcnM7CiBzdHJ1Y3Qg
VXNlck1lc3NhZ2U7CiBzdHJ1Y3QgV2ViTmF2aWdhdGlvbkRhdGFTdG9yZTsKIHN0cnVjdCBXZWJQ
YWdlQ3JlYXRpb25QYXJhbWV0ZXJzOwpAQCAtNDYzLDcgKzQ2NCw3IEBAIHByaXZhdGU6CiAgICAg
dm9pZCBnZXROZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24oTWVzc2FnZXM6OldlYlByb2Nlc3NQcm94
eTo6R2V0TmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uRGVsYXllZFJlcGx5JiYpOwogCiAjaWYgRU5B
QkxFKEdQVV9QUk9DRVNTKQotICAgIHZvaWQgZ2V0R1BVUHJvY2Vzc0Nvbm5lY3Rpb24oTWVzc2Fn
ZXM6OldlYlByb2Nlc3NQcm94eTo6R2V0R1BVUHJvY2Vzc0Nvbm5lY3Rpb25EZWxheWVkUmVwbHkm
Jik7CisgICAgdm9pZCBnZXRHUFVQcm9jZXNzQ29ubmVjdGlvbihHUFVQcm9jZXNzQ29ubmVjdGlv
blBhcmFtZXRlcnMmJiwgTWVzc2FnZXM6OldlYlByb2Nlc3NQcm94eTo6R2V0R1BVUHJvY2Vzc0Nv
bm5lY3Rpb25EZWxheWVkUmVwbHkmJik7CiAjZW5kaWYKIAogI2lmIEVOQUJMRShXRUJfQVVUSE4p
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkubWVz
c2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkubWVzc2Fn
ZXMuaW4KaW5kZXggMTY3ZTk3Y2FkMzZmOGJhYWY4ZDNkMzcxMmRhZDk2NzRkZjAzNDk3ZS4uNDlk
YjBiMzQ0MGJiODBhY2Y1NzUzZmMwMDg3MzkwMTY0MGI4NDA0NiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5tZXNzYWdlcy5pbgpAQCAtMzksNyAr
MzksNyBAQCBtZXNzYWdlcyAtPiBXZWJQcm9jZXNzUHJveHkgTGVnYWN5UmVjZWl2ZXIgewogICAg
IEdldE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbigpIC0+IChzdHJ1Y3QgV2ViS2l0OjpOZXR3b3Jr
UHJvY2Vzc0Nvbm5lY3Rpb25JbmZvIGNvbm5lY3Rpb25JbmZvKSBTeW5jaHJvbm91cwogCiAjaWYg
RU5BQkxFKEdQVV9QUk9DRVNTKQotICAgIEdldEdQVVByb2Nlc3NDb25uZWN0aW9uKCkgLT4gKHN0
cnVjdCBXZWJLaXQ6OkdQVVByb2Nlc3NDb25uZWN0aW9uSW5mbyBjb25uZWN0aW9uSW5mbykgU3lu
Y2hyb25vdXMKKyAgICBHZXRHUFVQcm9jZXNzQ29ubmVjdGlvbihzdHJ1Y3QgV2ViS2l0OjpHUFVQ
cm9jZXNzQ29ubmVjdGlvblBhcmFtZXRlcnMgcGFyYW1ldGVycykgLT4gKHN0cnVjdCBXZWJLaXQ6
OkdQVVByb2Nlc3NDb25uZWN0aW9uSW5mbyBjb25uZWN0aW9uSW5mbykgU3luY2hyb25vdXMKICNl
bmRpZgogCiAjaWYgRU5BQkxFKFdFQl9BVVRITikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
V2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGZkODMyY2RhODhiMWI3ZTM4YjVhZTkzZjRl
NDgxM2I0MTljZWU2NDcuLjBkNmJkZjE2MTM2ZjYyMzZkOGFjNjk1ZTA4ZTY0MWI2N2RjMmExNGQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpA
QCAtNDI2LDEyICs0MjYsNiBAQAogCQkxQ0E4Qjk0NjEyN0M4ODJBMDA1NzZDMkIgLyogV2ViSW5z
cGVjdG9yUHJveHlNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMUNBOEI5NDQxMjdDODgyQTAwNTc2QzJCIC8qIFdlYkluc3BlY3RvclByb3h5
TWVzc2FnZXMuaCAqLzsgfTsKIAkJMUNCQkU0QTAxOUI2NkM1MzAwNkI3RDgxIC8qIFdlYkluc3Bl
Y3RvclVJTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDFDQkJFNDlFMTlCNjZDNTMwMDZCN0Q4MSAvKiBXZWJJbnNwZWN0b3JV
SU1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CiAJCTFDQkJFNEExMTlCNjZDNTMwMDZCN0Q4MSAv
KiBXZWJJbnNwZWN0b3JVSU1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAxQ0JCRTQ5RjE5QjY2QzUzMDA2QjdEODEgLyogV2ViSW5zcGVjdG9y
VUlNZXNzYWdlcy5oICovOyB9OwotCQkxRDQ3NjU4NjI1Q0NBNDE2MDA3QUYzMTIgLyogUmVtb3Rl
SW1hZ2VEZWNvZGVyQVZGUHJveHkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDFENDc2NTg0MjVDQ0E0MTYwMDdBRjMxMiAvKiBSZW1vdGVJbWFnZURlY29k
ZXJBVkZQcm94eS5oICovOyB9OwotCQkxRDQ3NjU5MzI1Q0NDRTkzMDA3QUYzMTIgLyogUmVtb3Rl
SW1hZ2VEZWNvZGVyQVZGUHJveHlNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMUQ0NzY1OTAyNUNDQ0U5MzAwN0FGMzEyIC8qIFJlbW90ZUlt
YWdlRGVjb2RlckFWRlByb3h5TWVzc2FnZXMuaCAqLzsgfTsKLQkJMUQ0NzY1OTQyNUNDQ0U5MzAw
N0FGMzEyIC8qIFJlbW90ZUltYWdlRGVjb2RlckFWRlByb3h5TWVzc2FnZXNSZXBsaWVzLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxRDQ3NjU5MTI1Q0ND
RTkzMDA3QUYzMTIgLyogUmVtb3RlSW1hZ2VEZWNvZGVyQVZGUHJveHlNZXNzYWdlc1JlcGxpZXMu
aCAqLzsgfTsKLQkJMUQ0NzY1OUMyNUNFNzRBRDAwN0FGMzEyIC8qIFJlbW90ZUltYWdlRGVjb2Rl
ckFWRk1hbmFnZXJNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMUQ0NzY1OTkyNUNFNzRBQzAwN0FGMzEyIC8qIFJlbW90ZUltYWdlRGVjb2Rl
ckFWRk1hbmFnZXJNZXNzYWdlcy5oICovOyB9OwotCQkxRDQ3NjU5RDI1Q0U3NEFEMDA3QUYzMTIg
LyogUmVtb3RlSW1hZ2VEZWNvZGVyQVZGTWFuYWdlck1lc3NhZ2VzUmVwbGllcy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUQ0NzY1OUEyNUNFNzRBQzAw
N0FGMzEyIC8qIFJlbW90ZUltYWdlRGVjb2RlckFWRk1hbmFnZXJNZXNzYWdlc1JlcGxpZXMuaCAq
LzsgfTsKLQkJMUQ0NzY1QTEyNUNGNTc0MDAwN0FGMzEyIC8qIFJlbW90ZUltYWdlRGVjb2RlckFW
Rk1hbmFnZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDFENDc2NTlGMjVDRjU3NDAwMDdBRjMxMiAvKiBSZW1vdGVJbWFnZURlY29kZXJBVkZNYW5hZ2Vy
LmggKi87IH07CiAJCTFENEQ3MzcwMjNBOUU1NDcwMDcxN0EyNSAvKiBSZW1vdGVNZWRpYVJlc291
cmNlTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAxRDRENzM2QjIzQTlERjU1MDA3MTdBMjUgLyogUmVtb3RlTWVk
aWFSZXNvdXJjZU1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OwogCQkxRDRENzM3MTIz
QTlFNTYyMDA3MTdBMjUgLyogUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXJNZXNzYWdlcy5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUQ0RDczNkMyM0E5
REY2MDAwNzE3QTI1IC8qIFJlbW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyTWVzc2FnZXMuaCAqLzsg
fTsKIAkJMUQ0RDczNzYyM0E5RUQxODAwNzE3QTI1IC8qIFJlbW90ZU1lZGlhUmVzb3VyY2VNYW5h
Z2VyTWVzc2FnZXNSZXBsaWVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAxRDRENzM3NTIzQTlFQjY4MDA3MTdBMjUgLyogUmVtb3RlTWVkaWFSZXNvdXJj
ZU1hbmFnZXJNZXNzYWdlc1JlcGxpZXMuaCAqLzsgfTsKQEAgLTk1Niw2ICs5NTAsNyBAQAogCQk0
NjBGNDg4RjFGOTk2RjcxMDBDRjRCODcgLyogV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb25N
ZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNDYwRjQ4OEQxRjk5NkY2QzAwQ0Y0Qjg3IC8qIFdlYlNXQ29udGV4dE1hbmFnZXJD
b25uZWN0aW9uTWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKIAkJNDYwRjQ4OTAxRjk5NkY3MTAw
Q0Y0Qjg3IC8qIFdlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uTWVzc2FnZXMuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2MEY0ODhFMUY5OTZGNkMw
MENGNEI4NyAvKiBXZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbk1lc3NhZ2VzLmggKi87IH07
CiAJCTQ2MTNBNzQ0MjVEMzJDQ0YwMEE1MDMzQSAvKiBXS0JsYW5rT3ZlcmxheVZpZXcuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2MTNBNzQyMjVEMzJD
QjgwMEE1MDMzQSAvKiBXS0JsYW5rT3ZlcmxheVZpZXcuaCAqLzsgfTsKKwkJNDYxNEYxMzIyNURF
RDg3NTAwNzAwNkU3IC8qIEdQVVByb2Nlc3NDb25uZWN0aW9uUGFyYW1ldGVycy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDZBQzUzMjQyNURFRDgxRTAw
M0I1N0VDIC8qIEdQVVByb2Nlc3NDb25uZWN0aW9uUGFyYW1ldGVycy5oICovOyB9OwogCQk0NjFD
Q0NBNTIzMTQ4NUE3MDBCNjU5QjkgLyogVUlSZW1vdGVPYmplY3RSZWdpc3RyeS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDYzMjM2ODUyMzE0ODMzRjAw
QTQ4RkE3IC8qIFVJUmVtb3RlT2JqZWN0UmVnaXN0cnkuaCAqLzsgfTsKIAkJNDYxQ0NDQTYyMzE0
ODVBQTAwQjY1OUI5IC8qIFdlYlJlbW90ZU9iamVjdFJlZ2lzdHJ5LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NjMyMzY4MzIzMTQ4MUVGMDBBNDhGQTcg
LyogV2ViUmVtb3RlT2JqZWN0UmVnaXN0cnkuaCAqLzsgfTsKIAkJNDYzRkQ0ODAxRUI5NDU5NjAw
QTI5ODJDIC8qIFdLUHJvY2Vzc1Rlcm1pbmF0aW9uUmVhc29uLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NjNGRDQ3RjFFQjk0NTg0MDBBMjk4MkMgLyog
V0tQcm9jZXNzVGVybWluYXRpb25SZWFzb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMzgzOCw2ICszODMzLDcgQEAKIAkJNDY4MzU2OUIyMUU4
MUNDNzAwNkUyN0EzIC8qIFByb3Zpc2lvbmFsUGFnZVByb3h5LmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFByb3Zpc2lvbmFsUGFnZVByb3h5LmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDZBMkI2MDYxRTU2NzVBMjAwQzNERURBIC8qIEJhY2tncm91
bmRQcm9jZXNzUmVzcG9uc2l2ZW5lc3NUaW1lci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBCYWNrZ3JvdW5kUHJvY2Vzc1Jlc3BvbnNpdmVuZXNzVGltZXIuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NkEyQjYwNzFFNTY3NUEyMDBDM0RFREEgLyog
QmFja2dyb3VuZFByb2Nlc3NSZXNwb25zaXZlbmVzc1RpbWVyLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEJhY2tncm91bmRQcm9jZXNzUmVzcG9uc2l2ZW5lc3NUaW1lci5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0NkFDNTMyNDI1REVEODFFMDAzQjU3RUMgLyog
R1BVUHJvY2Vzc0Nvbm5lY3Rpb25QYXJhbWV0ZXJzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdQVVByb2Nl
c3NDb25uZWN0aW9uUGFyYW1ldGVycy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0
NkIwNTI0NDIyNjY4RDIzMDAyNjVCOTcgLyogV2ViRGV2aWNlT3JpZW50YXRpb25BbmRNb3Rpb25B
Y2Nlc3NDb250cm9sbGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkRl
dmljZU9yaWVudGF0aW9uQW5kTW90aW9uQWNjZXNzQ29udHJvbGxlci5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk0NkIwNTI0NTIyNjY4RDI0MDAyNjVCOTcgLyogV2ViRGV2aWNlT3Jp
ZW50YXRpb25BbmRNb3Rpb25BY2Nlc3NDb250cm9sbGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkRldmljZU9yaWVudGF0aW9uQW5kTW90aW9uQWNjZXNzQ29u
dHJvbGxlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2QkVCNkQ1MjJGQjlC
RDYwMDI2OTg2NyAvKiBTdG9yYWdlQXJlYS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTdG9yYWdlQXJlYS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNjU3MSw2ICs2NTY3LDcgQEAKIAkJCQkx
QTE0RjhERjFENzRDODM0MDA2Q0JFQzYgLyogRnJhbWVJbmZvRGF0YS5jcHAgKi8sCiAJCQkJMUEx
NEY4RTAxRDc0QzgzNDAwNkNCRUM2IC8qIEZyYW1lSW5mb0RhdGEuaCAqLywKIAkJCQk1QzEyMUU4
MzI0MTAxRjcwMDA0ODZGOUIgLyogRnJhbWVUcmVlTm9kZURhdGEuaCAqLywKKwkJCQk0NkFDNTMy
NDI1REVEODFFMDAzQjU3RUMgLyogR1BVUHJvY2Vzc0Nvbm5lY3Rpb25QYXJhbWV0ZXJzLmggKi8s
CiAJCQkJRjQwQkJCNDAyNTdGRjQ2RTAwNjc0NjNBIC8qIEdQVVByb2Nlc3NXYWtldXBNZXNzYWdl
QXJndW1lbnRzLmggKi8sCiAJCQkJMUFDNzVBMUExQjMzNjgyNzAwNTY3NDVCIC8qIEhhbmdEZXRl
Y3Rpb25EaXNhYmxlci5oICovLAogCQkJCUJDQ0Y2QjIzMTJDOTNFN0EwMDhGOUMzNSAvKiBJbWFn
ZU9wdGlvbnMuaCAqLywKQEAgLTExNzE1LDYgKzExNzEyLDcgQEAKIAkJCQlCQzA2RjQ0QTEyREJE
MUY1MDAyRDc4REUgLyogR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQkMwNkY0M0ExMkRCQ0NGQjAwMkQ3OERFIC8qIEdlb2xvY2F0
aW9uUGVybWlzc2lvblJlcXVlc3RQcm94eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkRBOTQ0QTQx
ODg0RTRGMDAwRUQ4NkRCIC8qIEdlc3R1cmVUeXBlcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDYx
NEYxMzIyNURFRDg3NTAwNzAwNkU3IC8qIEdQVVByb2Nlc3NDb25uZWN0aW9uUGFyYW1ldGVycy5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJRjQwQkJCNDEyNTdGRjQ2RTAwNjc0NjNBIC8qIEdQVVByb2Nl
c3NXYWtldXBNZXNzYWdlQXJndW1lbnRzLmggaW4gSGVhZGVycyAqLywKIAkJCQkyREEwNDlCODE4
MENDRDBBMDBBQUZBOUUgLyogR3JhcGhpY3NMYXllckNBUmVtb3RlLmggaW4gSGVhZGVycyAqLywK
IAkJCQlDMENFNzJBRDEyNDdFNzhEMDBCQzBFQzQgLyogSGFuZGxlTWVzc2FnZS5oIGluIEhlYWRl
cnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKaW5kZXggZjIzZWQ2
ZDRiZDVkNzc2ZWQzM2RhYzQ1YTMxMDAyMDJiMDk3YmU4ZC4uODk2M2FlNGUzMDI3ZGQzZjFmYTY5
OGIzMzQ0NTFmNTMzNTk2MzNlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNz
LmNwcApAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgIkF1eGlsaWFyeVByb2Nlc3NNZXNzYWdl
cy5oIgogI2luY2x1ZGUgIkRyYXdpbmdBcmVhLmgiCiAjaW5jbHVkZSAiRXZlbnREaXNwYXRjaGVy
LmgiCisjaW5jbHVkZSAiR1BVUHJvY2Vzc0Nvbm5lY3Rpb25QYXJhbWV0ZXJzLmgiCiAjaW5jbHVk
ZSAiSW5qZWN0ZWRCdW5kbGUuaCIKICNpbmNsdWRlICJMaWJXZWJSVENOZXR3b3JrLmgiCiAjaW5j
bHVkZSAiTG9nZ2luZy5oIgpAQCAtMTE0MiwxMyArMTE0MywyMiBAQCBXZWJMb2FkZXJTdHJhdGVn
eSYgV2ViUHJvY2Vzczo6d2ViTG9hZGVyU3RyYXRlZ3koKQogCiAjaWYgRU5BQkxFKEdQVV9QUk9D
RVNTKQogCi1zdGF0aWMgR1BVUHJvY2Vzc0Nvbm5lY3Rpb25JbmZvIGdldEdQVVByb2Nlc3NDb25u
ZWN0aW9uKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbikKKyNpZiAhUExBVEZPUk0oQ09DT0Ep
Cit2b2lkIFdlYlByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZUdQVVByb2Nlc3NDb25uZWN0aW9u
UGFyYW1ldGVycyhHUFVQcm9jZXNzQ29ubmVjdGlvblBhcmFtZXRlcnMmKQoreworfQorI2VuZGlm
CisKK0dQVVByb2Nlc3NDb25uZWN0aW9uSW5mbyBXZWJQcm9jZXNzOjpnZXRHUFVQcm9jZXNzQ29u
bmVjdGlvbihJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24pCiB7CisgICAgR1BVUHJvY2Vzc0Nv
bm5lY3Rpb25QYXJhbWV0ZXJzIHBhcmFtZXRlcnM7CisgICAgcGxhdGZvcm1Jbml0aWFsaXplR1BV
UHJvY2Vzc0Nvbm5lY3Rpb25QYXJhbWV0ZXJzKHBhcmFtZXRlcnMpOworCiAgICAgR1BVUHJvY2Vz
c0Nvbm5lY3Rpb25JbmZvIGNvbm5lY3Rpb25JbmZvOwotICAgIGlmICghY29ubmVjdGlvbi5zZW5k
U3luYyhNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpHZXRHUFVQcm9jZXNzQ29ubmVjdGlvbigp
LCBNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpHZXRHUFVQcm9jZXNzQ29ubmVjdGlvbjo6UmVw
bHkoY29ubmVjdGlvbkluZm8pLCAwKSkgeworICAgIGlmICghY29ubmVjdGlvbi5zZW5kU3luYyhN
ZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpHZXRHUFVQcm9jZXNzQ29ubmVjdGlvbihwYXJhbWV0
ZXJzKSwgTWVzc2FnZXM6OldlYlByb2Nlc3NQcm94eTo6R2V0R1BVUHJvY2Vzc0Nvbm5lY3Rpb246
OlJlcGx5KGNvbm5lY3Rpb25JbmZvKSwgMCkpIHsKICAgICAgICAgLy8gSWYgd2UgZmFpbGVkIHRo
ZSBmaXJzdCB0aW1lLCByZXRyeSBvbmNlLiBUaGUgYXR0YWNobWVudCBtYXkgaGF2ZSBiZWNvbWUg
aW52YWxpZAogICAgICAgICAvLyBiZWZvcmUgaXQgd2FzIHJlY2VpdmVkIGJ5IHRoZSB3ZWIgcHJv
Y2VzcyBpZiB0aGUgbmV0d29yayBwcm9jZXNzIGNyYXNoZWQuCi0gICAgICAgIGlmICghY29ubmVj
dGlvbi5zZW5kU3luYyhNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpHZXRHUFVQcm9jZXNzQ29u
bmVjdGlvbigpLCBNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpHZXRHUFVQcm9jZXNzQ29ubmVj
dGlvbjo6UmVwbHkoY29ubmVjdGlvbkluZm8pLCAwKSkKKyAgICAgICAgaWYgKCFjb25uZWN0aW9u
LnNlbmRTeW5jKE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJveHk6OkdldEdQVVByb2Nlc3NDb25uZWN0
aW9uKHBhcmFtZXRlcnMpLCBNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpHZXRHUFVQcm9jZXNz
Q29ubmVjdGlvbjo6UmVwbHkoY29ubmVjdGlvbkluZm8pLCAwKSkKICAgICAgICAgICAgIENSQVNI
KCk7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJv
Y2Vzcy5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAppbmRleCAxNWVm
Y2U0MmQxNGU0YTNmOGRhZDY5MDM5MjI5NTBiYjU4ZmUwY2IzLi5lMjlmMjMyYzIzZjU5MWY1Y2Ji
YjZkMjQwN2U5OGI4NWQ3ZGRkODQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNz
LmgKQEAgLTEyNyw2ICsxMjcsOCBAQCBjbGFzcyBXZWJGcmFtZTsKIGNsYXNzIFdlYkxvYWRlclN0
cmF0ZWd5OwogY2xhc3MgV2ViUGFnZTsKIGNsYXNzIFdlYlBhZ2VHcm91cFByb3h5Oworc3RydWN0
IEdQVVByb2Nlc3NDb25uZWN0aW9uSW5mbzsKK3N0cnVjdCBHUFVQcm9jZXNzQ29ubmVjdGlvblBh
cmFtZXRlcnM7CiBzdHJ1Y3QgVXNlck1lc3NhZ2U7CiBzdHJ1Y3QgV2ViUHJvY2Vzc0NyZWF0aW9u
UGFyYW1ldGVyczsKIHN0cnVjdCBXZWJQcm9jZXNzRGF0YVN0b3JlUGFyYW1ldGVyczsKQEAgLTU1
Miw2ICs1NTQsMTEgQEAgcHJpdmF0ZToKICAgICB2b2lkIHVwZGF0ZUZyZWV6ZXJTdGF0dXMoKTsK
ICNlbmRpZgogCisjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKQorICAgIHN0YXRpYyBHUFVQcm9jZXNz
Q29ubmVjdGlvbkluZm8gZ2V0R1BVUHJvY2Vzc0Nvbm5lY3Rpb24oSVBDOjpDb25uZWN0aW9uJik7
CisgICAgc3RhdGljIHZvaWQgcGxhdGZvcm1Jbml0aWFsaXplR1BVUHJvY2Vzc0Nvbm5lY3Rpb25Q
YXJhbWV0ZXJzKEdQVVByb2Nlc3NDb25uZWN0aW9uUGFyYW1ldGVycyYpOworI2VuZGlmCisKICNp
ZiBFTkFCTEUoVklERU8pCiAgICAgdm9pZCBzdXNwZW5kQWxsTWVkaWFCdWZmZXJpbmcoKTsKICAg
ICB2b2lkIHJlc3VtZUFsbE1lZGlhQnVmZmVyaW5nKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQppbmRleCAzN2NiMDdkMzNlZThhNWYx
ZjVmOWU3MGY1Y2Y0MGI1ZDMxY2E3ZDdiLi4xYWU2NDRlZDYyZjMyZmM2NzkyNWM5ZTU4MjBkNzcx
NTZhNTk4NzlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2Vi
UHJvY2Vzc0NvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQ
cm9jZXNzQ29jb2EubW0KQEAgLTI2LDYgKzI2LDcgQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2lt
cG9ydCAiV2ViUHJvY2Vzcy5oIgogCisjaW1wb3J0ICJHUFVQcm9jZXNzQ29ubmVjdGlvblBhcmFt
ZXRlcnMuaCIKICNpbXBvcnQgIkxlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlci5oIgogI2ltcG9y
dCAiTG9nSW5pdGlhbGl6YXRpb24uaCIKICNpbXBvcnQgIkxvZ2dpbmcuaCIKQEAgLTEyMDcsNiAr
MTIwOCwyMiBAQCB2b2lkIFdlYlByb2Nlc3M6OndhaXRGb3JQZW5kaW5nUGFzdGVib2FyZFdyaXRl
c1RvRmluaXNoKGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZAogICAgIH0KIH0KIAorI2lmIEVOQUJM
RShHUFVfUFJPQ0VTUykKK3ZvaWQgV2ViUHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplR1BVUHJv
Y2Vzc0Nvbm5lY3Rpb25QYXJhbWV0ZXJzKEdQVVByb2Nlc3NDb25uZWN0aW9uUGFyYW1ldGVycyYg
cGFyYW1ldGVycykKK3sKKyNpZiBIQVZFKFRBU0tfSURFTlRJVFlfVE9LRU4pCisgICAgdGFza19p
ZF90b2tlbl90IGlkZW50aXR5VG9rZW47CisgICAga2Vybl9yZXR1cm5fdCBrciA9IHRhc2tfY3Jl
YXRlX2lkZW50aXR5X3Rva2VuKG1hY2hfdGFza19zZWxmKCksICZpZGVudGl0eVRva2VuKTsKKyAg
ICBpZiAoa3IgIT0gS0VSTl9TVUNDRVNTKQorICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihQcm9j
ZXNzLCAiQ2FsbCB0byB0YXNrX2NyZWF0ZV9pZGVudGl0eV90b2tlbigpIGZhaWxlZDogJXtwcml2
YXRlfXMgKCV4KSIsIG1hY2hfZXJyb3Jfc3RyaW5nKGtyKSwga3IpOworCisgICAgcGFyYW1ldGVy
cy53ZWJQcm9jZXNzSWRlbnRpdHlUb2tlbiA9IE1hY2hTZW5kUmlnaHQ6OmFkb3B0KGlkZW50aXR5
VG9rZW4pOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0ocGFyYW1ldGVycyk7CisjZW5kaWYKK30K
KyNlbmRpZgorCiAjaWYgUExBVEZPUk0oTUFDKQogdm9pZCBXZWJQcm9jZXNzOjpzeXN0ZW1XaWxs
UG93ZXJPbigpCiB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>420858</attachid>
            <date>2021-02-18 11:27:33 -0800</date>
            <delta_ts>2021-02-22 16:32:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222122-20210218112732.patch</filename>
            <type>text/plain</type>
            <size>38842</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjczMDc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDcyNDIyNDkzZWVkMWI3ZTBmZWY2MjMw
YWU5ZmZiYmMzNzNlYTkxMWYuLmI0MTkxMjg4NDJjMWI5MGQyMWRlMDdmMzk0OWI0Y2M0ZjRlNThh
NDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMjEtMDItMTggIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KKworICAgICAgICBQcmVwYXJlIGZvciBtZW1vcnkgb3duZXJzaGlwIHRyYW5z
ZmVyIGluIHRoZSBHUFVQcm9jZXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjIxMjIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIHd0Zi9QbGF0Zm9ybUhhdmUuaDoKKyAgICAgICAgQWRkIGZlYXR1cmUg
ZmxhZyBmb3IgVEFTS19JREVOVElUWV9UT0tFTiBhcyB0aGlzIEFQSSB3YXMgb25seQorICAgICAg
ICBpbnRyb2R1Y2VkIHZlcnkgcmVjZW50bHkuCisKKyAgICAgICAgKiB3dGYvTWFjaFNlbmRSaWdo
dC5oOgorICAgICAgICAqIHd0Zi9jb2NvYS9NYWNoU2VuZFJpZ2h0LmNwcDoKKyAgICAgICAgKFdU
Rjo6TWFjaFNlbmRSaWdodDo6TWFjaFNlbmRSaWdodCk6CisgICAgICAgIChXVEY6Ok1hY2hTZW5k
UmlnaHQ6Om9wZXJhdG9yPSk6CisgICAgICAgIEFkZCBhIGNvcHkgY29uc3RydWN0b3IgdG8gTWFj
aFNlbmRSaWdodCBmb3IgY29udmVuaWVuY2UuCisKIDIwMjEtMDItMTggIENocmlzIER1bWV6ICA8
Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkIHRpbnkgY2xlYW51cCBhZnRl
ciByMjczMDU2LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZwppbmRleCA3NDMwZGM3ZWMwNTBkMGQ3ZTAzZTE3MTIxNGU2MDY2ZWVi
MDljNjk4Li5lZTMzYmI4N2I0OGQ0YjUxYzQ3OGVjMTQwOTc3N2RhYmY2N2RkOWQ3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDUxIEBACisyMDIxLTAyLTE4ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBs
ZS5jb20+CisKKyAgICAgICAgUHJlcGFyZSBmb3IgbWVtb3J5IG93bmVyc2hpcCB0cmFuc2ZlciBp
biB0aGUgR1BVUHJvY2VzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjIyMTIyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgUHJlcGFyZSBmb3IgbWVtb3J5IG93bmVyc2hpcCB0cmFuc2ZlciBpbiB0aGUgR1BV
UHJvY2VzczoKKyAgICAgICAgMS4gSGF2ZSB0aGUgV2ViUHJvY2VzcyBjcmVhdGUgYSB0YXNrIGlk
ZW50aXR5IHRva2VuIGFuZCBwYXNzIGl0IHRvIHRoZSBHUFVQcm9jZXNzCisgICAgICAgICAgIHdo
ZW4gY29ubmVjdGluZyB0byBpdC4gVGhlIFdlYlByb2Nlc3MnIHRhc2sgaWRlbnRpdHkgdG9rZW4g
aXMgdGhlbiBzdG9yZWQgb24KKyAgICAgICAgICAgdGhlIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nl
c3Mgb2JqZWN0LgorICAgICAgICAyLiBBZGQgdGhlIGVudGl0bGVtZW50IHRvIHRoZSBHUFVQcm9j
ZXNzIHRoYXQgaXMgbmVlZGVkIHRvIHRyYW5zZmVyIG1lbW9yeSBvd25lcnNoaXAKKyAgICAgICAg
ICAgdG8gYW5vdGhlciBwcm9jZXNzLgorCisgICAgICAgIFRoaXMgaXMgYSBmaXJzdCBzdGVwIHRv
d2FyZHMgaGF2aW5nIHRoZSBHUFVQcm9jZXNzIHRyYW5zZmVyIG1lbW9yeSBvd25lcnNoaXAgb2Yg
aXRzCisgICAgICAgIElPU3VyZmFjZXMgYW5kIE1ldGFsIHRleHR1cmVzIHRvIHRoZSBXZWJQcm9j
ZXNzZXMgaXQgaXMgc2VydmluZy4KKworICAgICAgICAqIEdQVVByb2Nlc3MvR1BVQ29ubmVjdGlv
blRvV2ViUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OkdQVUNvbm5lY3Rpb25Ub1dlYlBy
b2Nlc3M6OmNyZWF0ZSk6CisgICAgICAgIChXZWJLaXQ6OkdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nl
c3M6OkdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MpOgorICAgICAgICAqIEdQVVByb2Nlc3MvR1BV
Q29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oOgorICAgICAgICAoV2ViS2l0OjpHUFVDb25uZWN0aW9u
VG9XZWJQcm9jZXNzOjp3ZWJQcm9jZXNzSWRlbnRpdHlUb2tlbiBjb25zdCk6CisgICAgICAgICog
R1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6R1BVUHJvY2Vzczo6
Y3JlYXRlR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcyk6CisgICAgICAgICogR1BVUHJvY2Vzcy9H
UFVQcm9jZXNzLmg6CisgICAgICAgICogR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLm1lc3NhZ2VzLmlu
OgorICAgICAgICAqIFNjcmlwdHMvcHJvY2Vzcy1lbnRpdGxlbWVudHMuc2g6CisgICAgICAgICog
U2hhcmVkL0dQVVByb2Nlc3NDb25uZWN0aW9uUGFyYW1ldGVycy5oOiBDb3BpZWQgZnJvbSBTb3Vy
Y2UvV1RGL3d0Zi9NYWNoU2VuZFJpZ2h0LmguCisgICAgICAgIChXZWJLaXQ6OkdQVVByb2Nlc3ND
b25uZWN0aW9uUGFyYW1ldGVyczo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6R1BV
UHJvY2Vzc0Nvbm5lY3Rpb25QYXJhbWV0ZXJzOjpkZWNvZGUpOgorICAgICAgICAqIFVJUHJvY2Vz
cy9HUFUvR1BVUHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6R1BVUHJvY2Vzc1By
b3h5OjpnZXRHUFVQcm9jZXNzQ29ubmVjdGlvbik6CisgICAgICAgICogVUlQcm9jZXNzL0dQVS9H
UFVQcm9jZXNzUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6Z2V0R1BVUHJvY2Vzc0Nvbm5lY3Rp
b24pOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNz
UHJveHk6OmdldEdQVVByb2Nlc3NDb25uZWN0aW9uKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vi
UHJvY2Vzc1Byb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5tZXNz
YWdlcy5pbjoKKyAgICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
cm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVHUFVQcm9jZXNzQ29ubmVjdGlvblBhcmFtZXRlcnMp
OgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpnZXRHUFVQcm9jZXNzQ29ubmVjdGlvbik6
CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmg6CisgICAgICAgICogV2ViUHJvY2Vz
cy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6
OnBsYXRmb3JtSW5pdGlhbGl6ZUdQVVByb2Nlc3NDb25uZWN0aW9uUGFyYW1ldGVycyk6CisKIDIw
MjEtMDItMTcgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAg
ICAgUGx1bWIgYW4gT3B0aW9uYWw8UGFnZUlkZW50aWZpZXI+IHRocm91Z2ggUGFzdGVib2FyZC1y
ZWxhdGVkIGNvZGVwYXRocwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvTWFjaFNlbmRSaWdo
dC5oIGIvU291cmNlL1dURi93dGYvTWFjaFNlbmRSaWdodC5oCmluZGV4IDAwZDdjMWYyYzU2MGMz
NmU3ZjdjOTY2NDBhZWZlYmIzMTk4NDljMDEuLjg2MWU4YjJkNjdkNjlmZjk0NGEzMTMzM2M3ZDY3
ZWEwNGI1Y2VlMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL01hY2hTZW5kUmlnaHQuaAor
KysgYi9Tb3VyY2UvV1RGL3d0Zi9NYWNoU2VuZFJpZ2h0LmgKQEAgLTM4LDkgKzM4LDExIEBAIHB1
YmxpYzoKICAgICBXVEZfRVhQT1JUX1BSSVZBVEUgc3RhdGljIE1hY2hTZW5kUmlnaHQgY3JlYXRl
KG1hY2hfcG9ydF90KTsKIAogICAgIE1hY2hTZW5kUmlnaHQoKSA9IGRlZmF1bHQ7CisgICAgV1RG
X0VYUE9SVF9QUklWQVRFIE1hY2hTZW5kUmlnaHQoY29uc3QgTWFjaFNlbmRSaWdodCYpOwogICAg
IFdURl9FWFBPUlRfUFJJVkFURSBNYWNoU2VuZFJpZ2h0KE1hY2hTZW5kUmlnaHQmJik7CiAgICAg
V1RGX0VYUE9SVF9QUklWQVRFIH5NYWNoU2VuZFJpZ2h0KCk7CiAKKyAgICBXVEZfRVhQT1JUX1BS
SVZBVEUgTWFjaFNlbmRSaWdodCYgb3BlcmF0b3I9KGNvbnN0IE1hY2hTZW5kUmlnaHQmKTsKICAg
ICBXVEZfRVhQT1JUX1BSSVZBVEUgTWFjaFNlbmRSaWdodCYgb3BlcmF0b3I9KE1hY2hTZW5kUmln
aHQmJik7CiAKICAgICBleHBsaWNpdCBvcGVyYXRvciBib29sKCkgY29uc3QgeyByZXR1cm4gbV9w
b3J0ICE9IE1BQ0hfUE9SVF9OVUxMOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0
Zm9ybUhhdmUuaCBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oCmluZGV4IDA0ODZmY2Uy
YzQxODZkMmQ4YmYyNTkxMjU1OTZlODYzOWNkMzQ1MTEuLmE4ZTk3ODJlZWM0OGZjMWMxNDQwYjAw
YzJmYjVlNjY2ZGJiZjU0OTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2
ZS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oCkBAIC0zMDEsNiArMzAxLDEz
IEBACiAjZGVmaW5lIEhBVkVfSU9TVVJGQUNFX1NFVF9PV05FUlNISVAgMQogI2VuZGlmCiAKKyNp
ZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPj0gMTEw
MzAwKSBcCisgICAgfHwgKCgoUExBVEZPUk0oSU9TKSAmJiAhUExBVEZPUk0oSU9TX0ZBTUlMWV9T
SU1VTEFUT1IpKSB8fCBQTEFURk9STShNQUNDQVRBTFlTVCkpICYmIF9fSVBIT05FX09TX1ZFUlNJ
T05fTUFYX0FMTE9XRUQgPj0gMTQwNTAwKSBcCisgICAgfHwgKFBMQVRGT1JNKFdBVENIT1MpICYm
ICFQTEFURk9STShJT1NfRkFNSUxZX1NJTVVMQVRPUikgJiYgX19XQVRDSF9PU19WRVJTSU9OX01B
WF9BTExPV0VEID49IDcwNTAwKSBcCisgICAgfHwgKFBMQVRGT1JNKEFQUExFVFYpICYmICFQTEFU
Rk9STShJT1NfRkFNSUxZX1NJTVVMQVRPUikgJiYgX19UVl9PU19WRVJTSU9OX01BWF9BTExPV0VE
ID49IDE0MDUwMCkKKyNkZWZpbmUgSEFWRV9UQVNLX0lERU5USVRZX1RPS0VOIDEKKyNlbmRpZgor
CiAjaWYgUExBVEZPUk0oTUFDKQogI2RlZmluZSBIQVZFX05TX0FDVElWSVRZIDEKICNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvY29jb2EvTWFjaFNlbmRSaWdodC5jcHAgYi9Tb3Vy
Y2UvV1RGL3d0Zi9jb2NvYS9NYWNoU2VuZFJpZ2h0LmNwcAppbmRleCAwZWEwMTUyOWM4MDFiZDY2
MWNkZjcwNDdiOTg3MDdkYzEyNGMwMGJmLi4yZWIzMDJkMWRkNWE5MjZiMjU1ODMxNWFkMzcyODhm
ZTQ5N2VmMmVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9jb2NvYS9NYWNoU2VuZFJpZ2h0
LmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9jb2NvYS9NYWNoU2VuZFJpZ2h0LmNwcApAQCAtMTAw
LDYgKzEwMCwxMiBAQCBNYWNoU2VuZFJpZ2h0OjpNYWNoU2VuZFJpZ2h0KE1hY2hTZW5kUmlnaHQm
JiBvdGhlcikKIHsKIH0KIAorTWFjaFNlbmRSaWdodDo6TWFjaFNlbmRSaWdodChjb25zdCBNYWNo
U2VuZFJpZ2h0JiBvdGhlcikKKyAgICA6IG1fcG9ydChvdGhlci5tX3BvcnQpCit7CisgICAgcmV0
YWluU2VuZFJpZ2h0KG1fcG9ydCk7Cit9CisKIE1hY2hTZW5kUmlnaHQ6On5NYWNoU2VuZFJpZ2h0
KCkKIHsKICAgICByZWxlYXNlU2VuZFJpZ2h0KG1fcG9ydCk7CkBAIC0xMTUsNiArMTIxLDE2IEBA
IE1hY2hTZW5kUmlnaHQmIE1hY2hTZW5kUmlnaHQ6Om9wZXJhdG9yPShNYWNoU2VuZFJpZ2h0JiYg
b3RoZXIpCiAgICAgcmV0dXJuICp0aGlzOwogfQogCitNYWNoU2VuZFJpZ2h0JiBNYWNoU2VuZFJp
Z2h0OjpvcGVyYXRvcj0oY29uc3QgTWFjaFNlbmRSaWdodCYgb3RoZXIpCit7CisgICAgaWYgKHRo
aXMgIT0gJm90aGVyKSB7CisgICAgICAgIG1fcG9ydCA9IG90aGVyLnNlbmRSaWdodCgpOworICAg
ICAgICByZXRhaW5TZW5kUmlnaHQobV9wb3J0KTsKKyAgICB9CisKKyAgICByZXR1cm4gKnRoaXM7
Cit9CisKIE1hY2hTZW5kUmlnaHQgTWFjaFNlbmRSaWdodDo6Y29weVNlbmRSaWdodCgpIGNvbnN0
CiB7CiAgICAgcmV0dXJuIGNyZWF0ZShtX3BvcnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwCmluZGV4IGQ1NzdlNDM0
OTlmMTgxNDc5MWM4YTBlZjcxY2IzNGEwMjRhMWZhZTIuLjU2OTlkZTE2M2I1MjIyNzI0ZDYxNzcw
NDc1OTgxM2NmMGYwMmM2MGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9H
UFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNs
dWRlICJHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzTWVzc2FnZXMuaCIKICNpbmNsdWRlICJHUFVQ
cm9jZXNzLmgiCiAjaW5jbHVkZSAiR1BVUHJvY2Vzc0Nvbm5lY3Rpb25NZXNzYWdlcy5oIgorI2lu
Y2x1ZGUgIkdQVVByb2Nlc3NDb25uZWN0aW9uUGFyYW1ldGVycy5oIgogI2luY2x1ZGUgIkdQVVBy
b2Nlc3NNZXNzYWdlcy5oIgogI2luY2x1ZGUgIkdQVVByb2Nlc3NQcm94eU1lc3NhZ2VzLmgiCiAj
aW5jbHVkZSAiTGliV2ViUlRDQ29kZWNzUHJveHkuaCIKQEAgLTE2MiwxNSArMTYzLDE4IEBAIHBy
aXZhdGU6CiB9OwogI2VuZGlmCiAKLVJlZjxHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzPiBHUFVD
b25uZWN0aW9uVG9XZWJQcm9jZXNzOjpjcmVhdGUoR1BVUHJvY2VzcyYgZ3B1UHJvY2VzcywgV2Vi
Q29yZTo6UHJvY2Vzc0lkZW50aWZpZXIgd2ViUHJvY2Vzc0lkZW50aWZpZXIsIElQQzo6Q29ubmVj
dGlvbjo6SWRlbnRpZmllciBjb25uZWN0aW9uSWRlbnRpZmllciwgUEFMOjpTZXNzaW9uSUQgc2Vz
c2lvbklEKQorUmVmPEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M+IEdQVUNvbm5lY3Rpb25Ub1dl
YlByb2Nlc3M6OmNyZWF0ZShHUFVQcm9jZXNzJiBncHVQcm9jZXNzLCBXZWJDb3JlOjpQcm9jZXNz
SWRlbnRpZmllciB3ZWJQcm9jZXNzSWRlbnRpZmllciwgSVBDOjpDb25uZWN0aW9uOjpJZGVudGlm
aWVyIGNvbm5lY3Rpb25JZGVudGlmaWVyLCBQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIEdQVVBy
b2Nlc3NDb25uZWN0aW9uUGFyYW1ldGVycyYmIHBhcmFtZXRlcnMpCiB7Ci0gICAgcmV0dXJuIGFk
b3B0UmVmKCpuZXcgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyhncHVQcm9jZXNzLCB3ZWJQcm9j
ZXNzSWRlbnRpZmllciwgY29ubmVjdGlvbklkZW50aWZpZXIsIHNlc3Npb25JRCkpOworICAgIHJl
dHVybiBhZG9wdFJlZigqbmV3IEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MoZ3B1UHJvY2Vzcywg
d2ViUHJvY2Vzc0lkZW50aWZpZXIsIGNvbm5lY3Rpb25JZGVudGlmaWVyLCBzZXNzaW9uSUQsIFdU
Rk1vdmUocGFyYW1ldGVycykpKTsKIH0KIAotR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6R1BV
Q29ubmVjdGlvblRvV2ViUHJvY2VzcyhHUFVQcm9jZXNzJiBncHVQcm9jZXNzLCBXZWJDb3JlOjpQ
cm9jZXNzSWRlbnRpZmllciB3ZWJQcm9jZXNzSWRlbnRpZmllciwgSVBDOjpDb25uZWN0aW9uOjpJ
ZGVudGlmaWVyIGNvbm5lY3Rpb25JZGVudGlmaWVyLCBQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQp
CitHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzKEdQ
VVByb2Nlc3MmIGdwdVByb2Nlc3MsIFdlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyIHdlYlByb2Nl
c3NJZGVudGlmaWVyLCBJUEM6OkNvbm5lY3Rpb246OklkZW50aWZpZXIgY29ubmVjdGlvbklkZW50
aWZpZXIsIFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgR1BVUHJvY2Vzc0Nvbm5lY3Rpb25QYXJh
bWV0ZXJzJiYgcGFyYW1ldGVycykKICAgICA6IG1fY29ubmVjdGlvbihJUEM6OkNvbm5lY3Rpb246
OmNyZWF0ZVNlcnZlckNvbm5lY3Rpb24oY29ubmVjdGlvbklkZW50aWZpZXIsICp0aGlzKSkKICAg
ICAsIG1fZ3B1UHJvY2VzcyhncHVQcm9jZXNzKQogICAgICwgbV93ZWJQcm9jZXNzSWRlbnRpZmll
cih3ZWJQcm9jZXNzSWRlbnRpZmllcikKKyNpZiBIQVZFKFRBU0tfSURFTlRJVFlfVE9LRU4pCisg
ICAgLCBtX3dlYlByb2Nlc3NJZGVudGl0eVRva2VuKFdURk1vdmUocGFyYW1ldGVycy53ZWJQcm9j
ZXNzSWRlbnRpdHlUb2tlbikpCisjZW5kaWYKICAgICAsIG1fcmVtb3RlTWVkaWFQbGF5ZXJNYW5h
Z2VyUHJveHkobWFrZVVuaXF1ZTxSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eT4oKnRoaXMp
KQogICAgICwgbV9zZXNzaW9uSUQoc2Vzc2lvbklEKQogI2lmIFBMQVRGT1JNKENPQ09BKSAmJiBV
U0UoTElCV0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNv
bm5lY3Rpb25Ub1dlYlByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzLmgKaW5kZXggZWJiMGQwMDhmM2Q3MTI5MjE3YjhlOTZlZmExOWJk
NTFmZmFmYTE2Ny4uYTg5MmMyMjI4NDcyOTBmMWIzYjg4MDMzNDQ4NjVkZmVkMTdkZDAxNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nl
c3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJv
Y2Vzcy5oCkBAIC00MCw2ICs0MCw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9Qcm9jZXNzSWRlbnRp
Zmllci5oPgogI2luY2x1ZGUgPHBhbC9TZXNzaW9uSUQuaD4KICNpbmNsdWRlIDx3dGYvTG9nZ2Vy
Lmg+CisjaW5jbHVkZSA8d3RmL01hY2hTZW5kUmlnaHQuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFk
U2FmZVJlZkNvdW50ZWQuaD4KIAogI2lmIEVOQUJMRShXRUJHTCkKQEAgLTY5LDYgKzcwLDcgQEAg
Y2xhc3MgUmVtb3RlUmVuZGVyaW5nQmFja2VuZDsKIGNsYXNzIFJlbW90ZUdyYXBoaWNzQ29udGV4
dEdMOwogY2xhc3MgUmVtb3RlU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyTWFuYWdlcjsKIGNsYXNz
IFVzZXJNZWRpYUNhcHR1cmVNYW5hZ2VyUHJveHk7CitzdHJ1Y3QgR1BVUHJvY2Vzc0Nvbm5lY3Rp
b25QYXJhbWV0ZXJzOwogc3RydWN0IFJlbW90ZUF1ZGlvU2Vzc2lvbkNvbmZpZ3VyYXRpb247CiAK
IGNsYXNzIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MKQEAgLTc2LDcgKzc4LDcgQEAgY2xhc3Mg
R1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcwogICAgICwgcHVibGljIFdlYkNvcmU6Ok5vd1BsYXlp
bmdNYW5hZ2VyOjpDbGllbnQKICAgICAsIElQQzo6Q29ubmVjdGlvbjo6Q2xpZW50IHsKIHB1Ymxp
YzoKLSAgICBzdGF0aWMgUmVmPEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M+IGNyZWF0ZShHUFVQ
cm9jZXNzJiwgV2ViQ29yZTo6UHJvY2Vzc0lkZW50aWZpZXIsIElQQzo6Q29ubmVjdGlvbjo6SWRl
bnRpZmllciwgUEFMOjpTZXNzaW9uSUQpOworICAgIHN0YXRpYyBSZWY8R1BVQ29ubmVjdGlvblRv
V2ViUHJvY2Vzcz4gY3JlYXRlKEdQVVByb2Nlc3MmLCBXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmll
ciwgSVBDOjpDb25uZWN0aW9uOjpJZGVudGlmaWVyLCBQQUw6OlNlc3Npb25JRCwgR1BVUHJvY2Vz
c0Nvbm5lY3Rpb25QYXJhbWV0ZXJzJiYpOwogICAgIHZpcnR1YWwgfkdQVUNvbm5lY3Rpb25Ub1dl
YlByb2Nlc3MoKTsKIAogICAgIElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbigpIHsgcmV0dXJu
IG1fY29ubmVjdGlvbi5nZXQoKTsgfQpAQCAtMTAxLDYgKzEwMywxMCBAQCBwdWJsaWM6CiAgICAg
Ym9vbCBhbGxvd3NEaXNwbGF5Q2FwdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fYWxsb3dzRGlzcGxh
eUNhcHR1cmU7IH0KICNlbmRpZgogCisjaWYgSEFWRShUQVNLX0lERU5USVRZX1RPS0VOKQorICAg
IHRhc2tfaWRfdG9rZW5fdCB3ZWJQcm9jZXNzSWRlbnRpdHlUb2tlbigpIGNvbnN0IHsgcmV0dXJu
IHN0YXRpY19jYXN0PHRhc2tfaWRfdG9rZW5fdD4obV93ZWJQcm9jZXNzSWRlbnRpdHlUb2tlbi5z
ZW5kUmlnaHQoKSk7IH0KKyNlbmRpZgorCiAjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKICAg
ICBSZW1vdGVDRE1GYWN0b3J5UHJveHkmIGNkbUZhY3RvcnlQcm94eSgpOwogI2VuZGlmCkBAIC0x
MjIsNyArMTI4LDcgQEAgcHVibGljOgogICAgIHZvaWQgdGVybWluYXRlV2ViUHJvY2VzcygpOwog
CiBwcml2YXRlOgotICAgIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MoR1BVUHJvY2VzcyYsIFdl
YkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyLCBJUEM6OkNvbm5lY3Rpb246OklkZW50aWZpZXIsIFBB
TDo6U2Vzc2lvbklEKTsKKyAgICBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzKEdQVVByb2Nlc3Mm
LCBXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllciwgSVBDOjpDb25uZWN0aW9uOjpJZGVudGlmaWVy
LCBQQUw6OlNlc3Npb25JRCwgR1BVUHJvY2Vzc0Nvbm5lY3Rpb25QYXJhbWV0ZXJzJiYpOwogCiAj
aWYgRU5BQkxFKFdFQl9BVURJTykKICAgICBSZW1vdGVBdWRpb0Rlc3RpbmF0aW9uTWFuYWdlciYg
cmVtb3RlQXVkaW9EZXN0aW5hdGlvbk1hbmFnZXIoKTsKQEAgLTE4Myw2ICsxODksOSBAQCBwcml2
YXRlOgogICAgIElQQzo6TWVzc2FnZVJlY2VpdmVyTWFwIG1fbWVzc2FnZVJlY2VpdmVyTWFwOwog
ICAgIFJlZjxHUFVQcm9jZXNzPiBtX2dwdVByb2Nlc3M7CiAgICAgY29uc3QgV2ViQ29yZTo6UHJv
Y2Vzc0lkZW50aWZpZXIgbV93ZWJQcm9jZXNzSWRlbnRpZmllcjsKKyNpZiBIQVZFKFRBU0tfSURF
TlRJVFlfVE9LRU4pCisgICAgTWFjaFNlbmRSaWdodCBtX3dlYlByb2Nlc3NJZGVudGl0eVRva2Vu
OworI2VuZGlmCiAjaWYgRU5BQkxFKFdFQl9BVURJTykKICAgICBzdGQ6OnVuaXF1ZV9wdHI8UmVt
b3RlQXVkaW9EZXN0aW5hdGlvbk1hbmFnZXI+IG1fcmVtb3RlQXVkaW9EZXN0aW5hdGlvbk1hbmFn
ZXI7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9j
ZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmNwcAppbmRleCA0
ZjI2YzU5MmUyZjgxZDJmZTFhYTc3NjY3ZTJkMmM1N2FiYWRkNTc0Li43MzU1ODhjZmVlZTFlYTE0
YTVkMmQ3Mjg2NGJhOTQwZTk4YjE5YmRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVBy
b2Nlc3MvR1BVUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVBy
b2Nlc3MuY3BwCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSAiQXV4aWxpYXJ5UHJvY2Vzc01l
c3NhZ2VzLmgiCiAjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIkdQVUNvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3MuaCIKKyNpbmNsdWRlICJHUFVQcm9jZXNzQ29ubmVjdGlvblBhcmFt
ZXRlcnMuaCIKICNpbmNsdWRlICJHUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgiCiAjaW5j
bHVkZSAiR1BVUHJvY2Vzc1Nlc3Npb25QYXJhbWV0ZXJzLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5o
IgpAQCAtODIsNyArODMsNyBAQCBHUFVQcm9jZXNzOjp+R1BVUHJvY2VzcygpCiB7CiB9CiAKLXZv
aWQgR1BVUHJvY2Vzczo6Y3JlYXRlR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyhQcm9jZXNzSWRl
bnRpZmllciBpZGVudGlmaWVyLCBQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIENvbXBsZXRpb25I
YW5kbGVyPHZvaWQoT3B0aW9uYWw8SVBDOjpBdHRhY2htZW50PiYmKT4mJiBjb21wbGV0aW9uSGFu
ZGxlcikKK3ZvaWQgR1BVUHJvY2Vzczo6Y3JlYXRlR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyhQ
cm9jZXNzSWRlbnRpZmllciBpZGVudGlmaWVyLCBQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIEdQ
VVByb2Nlc3NDb25uZWN0aW9uUGFyYW1ldGVycyYmIHBhcmFtZXRlcnMsIENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoT3B0aW9uYWw8SVBDOjpBdHRhY2htZW50PiYmKT4mJiBjb21wbGV0aW9uSGFuZGxl
cikKIHsKICAgICBhdXRvIGlwY0Nvbm5lY3Rpb24gPSBjcmVhdGVJUENDb25uZWN0aW9uUGFpcigp
OwogICAgIGlmICghaXBjQ29ubmVjdGlvbikgewpAQCAtOTAsNyArOTEsNyBAQCB2b2lkIEdQVVBy
b2Nlc3M6OmNyZWF0ZUdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MoUHJvY2Vzc0lkZW50aWZpZXIg
aWRlbnRpZmllciwgUAogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgYXV0byBuZXdDb25u
ZWN0aW9uID0gR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6Y3JlYXRlKCp0aGlzLCBpZGVudGlm
aWVyLCBpcGNDb25uZWN0aW9uLT5maXJzdCwgc2Vzc2lvbklEKTsKKyAgICBhdXRvIG5ld0Nvbm5l
Y3Rpb24gPSBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpjcmVhdGUoKnRoaXMsIGlkZW50aWZp
ZXIsIGlwY0Nvbm5lY3Rpb24tPmZpcnN0LCBzZXNzaW9uSUQsIFdURk1vdmUocGFyYW1ldGVycykp
OwogCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKICAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIHJl
ZmFjdG9yIGNvZGUgdG8gZ28gZnJvbSBXZWJQcm9jZXNzIC0+IEdQVVByb2Nlc3MgLT4gVUlQcm9j
ZXNzIHdoZW4gZ2V0VXNlck1lZGlhIGlzIGNhbGxlZCBpbnN0ZWFkIG9mIGdvaW5nIGZyb20gV2Vi
UHJvY2VzcyAtPiBVSVByb2Nlc3MgZGlyZWN0bHkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVBy
b2Nlc3MuaAppbmRleCAwNTRkZTVlOGNiYzEyNjg5Mzg1MjUwZDcxMjg4MjhjNGY0OWNhN2UzLi41
MjU2NWI4M2U4ZDIxMDcxNWFkMjQ1NzJjZWEwZTFhYWJkMDFjZjAzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9HUFVQcm9jZXNzLmgKQEAgLTQyLDYgKzQyLDcgQEAgY2xhc3MgTm93UGxheWluZ01h
bmFnZXI7CiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgR1BVQ29ubmVjdGlvblRvV2ViUHJv
Y2VzczsKK3N0cnVjdCBHUFVQcm9jZXNzQ29ubmVjdGlvblBhcmFtZXRlcnM7CiBzdHJ1Y3QgR1BV
UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczsKIHN0cnVjdCBHUFVQcm9jZXNzU2Vzc2lvblBhcmFt
ZXRlcnM7CiBjbGFzcyBMYXllckhvc3RpbmdDb250ZXh0OwpAQCAtMTAxLDcgKzEwMiw3IEBAIHBy
aXZhdGU6CiAKICAgICAvLyBNZXNzYWdlIEhhbmRsZXJzCiAgICAgdm9pZCBpbml0aWFsaXplR1BV
UHJvY2VzcyhHUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJiYpOwotICAgIHZvaWQgY3JlYXRl
R1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyhXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllciwgUEFM
OjpTZXNzaW9uSUQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoT3B0aW9uYWw8SVBDOjpBdHRhY2ht
ZW50PiYmKT4mJik7CisgICAgdm9pZCBjcmVhdGVHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzKFdl
YkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyLCBQQUw6OlNlc3Npb25JRCwgR1BVUHJvY2Vzc0Nvbm5l
Y3Rpb25QYXJhbWV0ZXJzJiYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoT3B0aW9uYWw8SVBDOjpB
dHRhY2htZW50PiYmKT4mJik7CiAgICAgdm9pZCBhZGRTZXNzaW9uKFBBTDo6U2Vzc2lvbklELCBH
UFVQcm9jZXNzU2Vzc2lvblBhcmFtZXRlcnMmJik7CiAgICAgdm9pZCByZW1vdmVTZXNzaW9uKFBB
TDo6U2Vzc2lvbklEKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQ
VVByb2Nlc3MubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vz
cy5tZXNzYWdlcy5pbgppbmRleCA3ODY5NDdjMjhjNDgwNWE4ZWU4YmFmZjhhZjEwYTBiOTU4NzRk
MWNiLi5jYjE4OTc2YmEzOTY2M2U2YjFhZjQxMmYyNDZiZGRhZTkxZmU2MTQ0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5tZXNzYWdlcy5pbgorKysgYi9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5tZXNzYWdlcy5pbgpAQCAtMjUsNyAr
MjUsNyBAQAogbWVzc2FnZXMgLT4gR1BVUHJvY2VzcyB7CiAgICAgSW5pdGlhbGl6ZUdQVVByb2Nl
c3Moc3RydWN0IFdlYktpdDo6R1BVUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyBwcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzKQogCi0gICAgQ3JlYXRlR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyhX
ZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllciBwcm9jZXNzSWRlbnRpZmllciwgUEFMOjpTZXNzaW9u
SUQgc2Vzc2lvbklEKSAtPiAoT3B0aW9uYWw8SVBDOjpBdHRhY2htZW50PiBjb25uZWN0aW9uSWRl
bnRpZmllcikgQXN5bmMKKyAgICBDcmVhdGVHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzKFdlYkNv
cmU6OlByb2Nlc3NJZGVudGlmaWVyIHByb2Nlc3NJZGVudGlmaWVyLCBQQUw6OlNlc3Npb25JRCBz
ZXNzaW9uSUQsIHN0cnVjdCBXZWJLaXQ6OkdQVVByb2Nlc3NDb25uZWN0aW9uUGFyYW1ldGVycyBw
YXJhbWV0ZXJzKSAtPiAoT3B0aW9uYWw8SVBDOjpBdHRhY2htZW50PiBjb25uZWN0aW9uSWRlbnRp
ZmllcikgQXN5bmMKIAogICAgIFByb2Nlc3NEaWRUcmFuc2l0aW9uVG9Gb3JlZ3JvdW5kKCkKICAg
ICBQcm9jZXNzRGlkVHJhbnNpdGlvblRvQmFja2dyb3VuZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1NjcmlwdHMvcHJvY2Vzcy1lbnRpdGxlbWVudHMuc2ggYi9Tb3VyY2UvV2ViS2l0L1Nj
cmlwdHMvcHJvY2Vzcy1lbnRpdGxlbWVudHMuc2gKaW5kZXggOTcyM2EyZmE4ZTg3YTI3ODMyOGFj
NDRjYjc1MmEyYmQyMGE4MWU3MC4uNDI4NmExNGFiYTYyYWRkOGY2ZDEyOGFlZjZkY2I0ZmFiMmJi
YjgyNSAxMDA3NTUKLS0tIGEvU291cmNlL1dlYktpdC9TY3JpcHRzL3Byb2Nlc3MtZW50aXRsZW1l
bnRzLnNoCisrKyBiL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy9wcm9jZXNzLWVudGl0bGVtZW50cy5z
aApAQCAtNTEsNiArNTEsNyBAQCBmdW5jdGlvbiBtYWNfcHJvY2Vzc19ncHVfZW50aXRsZW1lbnRz
KCkKICAgICAgICAgICAgIHBsaXN0YnVkZHkgQWRkIDpjb20uYXBwbGUuYXZmb3VuZGF0aW9uLmFs
bG93LXN5c3RlbS13aWRlLWNvbnRleHQgYm9vbCBZRVMKICAgICAgICAgZmkKIAorICAgICAgICBw
bGlzdGJ1ZGR5IEFkZCA6Y29tLmFwcGxlLnByaXZhdGUubWVtb3J5Lm93bmVyc2hpcF90cmFuc2Zl
ciBib29sIFlFUwogICAgICAgICBwbGlzdGJ1ZGR5IEFkZCA6Y29tLmFwcGxlLnJvb3RsZXNzLnN0
b3JhZ2UuV2ViS2l0R1BVU2FuZGJveCBib29sIFlFUwogICAgICAgICBwbGlzdGJ1ZGR5IEFkZCA6
Y29tLmFwcGxlLlF1YXJ0ekNvcmUud2Via2l0LWVuZC1wb2ludHMgYm9vbCBZRVMKICAgICBmaQpA
QCAtMTcwLDYgKzE3MSw3IEBAIGZ1bmN0aW9uIG1hY2NhdGFseXN0X3Byb2Nlc3NfZ3B1X2VudGl0
bGVtZW50cygpCiAgICAgcGxpc3RidWRkeSBBZGQgOmNvbS5hcHBsZS5zZWN1cml0eS5uZXR3b3Jr
LmNsaWVudCBib29sIFlFUwogICAgIHBsaXN0YnVkZHkgQWRkIDpjb20uYXBwbGUucnVubmluZ2Jv
YXJkLmFzc2VydGlvbnMud2Via2l0IGJvb2wgWUVTCiAgICAgcGxpc3RidWRkeSBBZGQgOmNvbS5h
cHBsZS5RdWFydHpDb3JlLndlYmtpdC1lbmQtcG9pbnRzIGJvb2wgWUVTCisgICAgcGxpc3RidWRk
eSBBZGQgOmNvbS5hcHBsZS5wcml2YXRlLm1lbW9yeS5vd25lcnNoaXBfdHJhbnNmZXIgYm9vbCBZ
RVMKIH0KIAogZnVuY3Rpb24gbWFjY2F0YWx5c3RfcHJvY2Vzc19uZXR3b3JrX2VudGl0bGVtZW50
cygpCkBAIC0yNDEsNiArMjQzLDcgQEAgZnVuY3Rpb24gaW9zX2ZhbWlseV9wcm9jZXNzX2dwdV9l
bnRpdGxlbWVudHMoKQogICAgIHBsaXN0YnVkZHkgQWRkIDpjb20uYXBwbGUucHJpdmF0ZS5tZWRp
YWV4cGVyaWVuY2Uuc3RhcnRyZWNvcmRpbmdpbnRoZWJhY2tncm91bmQuYWxsb3cgYm9vbCBZRVMK
ICAgICBwbGlzdGJ1ZGR5IEFkZCA6Y29tLmFwcGxlLnByaXZhdGUuY29yZW1lZGlhLnBpZGluaGVy
aXRhbmNlLmFsbG93IGJvb2wgWUVTCiAgICAgcGxpc3RidWRkeSBBZGQgOmNvbS5hcHBsZS5wcml2
YXRlLm1lbW9yeXN0YXR1cyBib29sIFlFUworICAgIHBsaXN0YnVkZHkgQWRkIDpjb20uYXBwbGUu
cHJpdmF0ZS5tZW1vcnkub3duZXJzaGlwX3RyYW5zZmVyIGJvb2wgWUVTCiAgICAgcGxpc3RidWRk
eSBBZGQgOmNvbS5hcHBsZS5wcml2YXRlLm5ldHdvcmsuc29ja2V0LWRlbGVnYXRlIGJvb2wgWUVT
CiAgICAgcGxpc3RidWRkeSBBZGQgOmNvbS5hcHBsZS5ydW5uaW5nYm9hcmQuYXNzZXJ0aW9ucy53
ZWJraXQgYm9vbCBZRVMKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvR1BVUHJv
Y2Vzc0Nvbm5lY3Rpb25QYXJhbWV0ZXJzLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9HUFVQcm9j
ZXNzQ29ubmVjdGlvblBhcmFtZXRlcnMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MzY0MzE2ZjE1NGU3OWI0OTMz
OWQxZGIzN2Y0MDgyMWNkNGRkZDc3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9T
aGFyZWQvR1BVUHJvY2Vzc0Nvbm5lY3Rpb25QYXJhbWV0ZXJzLmgKQEAgLTAsMCArMSw2OSBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKQorCisj
aW5jbHVkZSA8d3RmL01hY2hTZW5kUmlnaHQuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK3N0
cnVjdCBHUFVQcm9jZXNzQ29ubmVjdGlvblBhcmFtZXRlcnMgeworI2lmIEhBVkUoVEFTS19JREVO
VElUWV9UT0tFTikKKyAgICBNYWNoU2VuZFJpZ2h0IHdlYlByb2Nlc3NJZGVudGl0eVRva2VuOwor
I2VuZGlmCisKKyAgICB2b2lkIGVuY29kZShJUEM6OkVuY29kZXImIGVuY29kZXIpIGNvbnN0Cisg
ICAgeworI2lmIEhBVkUoVEFTS19JREVOVElUWV9UT0tFTikKKyAgICAgICAgZW5jb2RlciA8PCB3
ZWJQcm9jZXNzSWRlbnRpdHlUb2tlbjsKKyNlbHNlCisgICAgICAgIFVOVVNFRF9QQVJBTShlbmNv
ZGVyKTsKKyNlbmRpZgorICAgIH0KKworICAgIHN0YXRpYyBPcHRpb25hbDxHUFVQcm9jZXNzQ29u
bmVjdGlvblBhcmFtZXRlcnM+IGRlY29kZShJUEM6OkRlY29kZXImIGRlY29kZXIpCisgICAgewor
I2lmIEhBVkUoVEFTS19JREVOVElUWV9UT0tFTikKKyAgICAgICAgT3B0aW9uYWw8TWFjaFNlbmRS
aWdodD4gd2ViUHJvY2Vzc0lkZW50aXR5VG9rZW47CisgICAgICAgIGRlY29kZXIgPj4gd2ViUHJv
Y2Vzc0lkZW50aXR5VG9rZW47CisgICAgICAgIGlmICghd2ViUHJvY2Vzc0lkZW50aXR5VG9rZW4p
CisgICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworI2Vsc2UKKyAgICAgICAgVU5VU0VE
X1BBUkFNKGRlY29kZXIpOworI2VuZGlmCisKKyAgICAgICAgcmV0dXJuIEdQVVByb2Nlc3NDb25u
ZWN0aW9uUGFyYW1ldGVycyB7CisjaWYgSEFWRShUQVNLX0lERU5USVRZX1RPS0VOKQorICAgICAg
ICAgICAgV1RGTW92ZSgqd2ViUHJvY2Vzc0lkZW50aXR5VG9rZW4pLAorI2VuZGlmCisgICAgICAg
IH07CisgICAgfQorfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBFTkFC
TEUoR1BVX1BST0NFU1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9HUFUv
R1BVUHJvY2Vzc1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dQVS9HUFVQcm9j
ZXNzUHJveHkuY3BwCmluZGV4IGE2YWJhZmYzNGE0Nzg2NGE4ZTg5NzA0Y2U3NTMyZDE1NjA2NWFi
MGEuLmJkMjIxZjViN2ZiNDM0ZDIxMzA5MWQ0NWQyMzY0NmFmODg0MjIwZDYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJveHkuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJveHkuY3BwCkBAIC0zMCw2ICsz
MCw3IEBACiAKICNpbmNsdWRlICJEcmF3aW5nQXJlYVByb3h5LmgiCiAjaW5jbHVkZSAiR1BVUHJv
Y2Vzc0Nvbm5lY3Rpb25JbmZvLmgiCisjaW5jbHVkZSAiR1BVUHJvY2Vzc0Nvbm5lY3Rpb25QYXJh
bWV0ZXJzLmgiCiAjaW5jbHVkZSAiR1BVUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIgogI2lu
Y2x1ZGUgIkdQVVByb2Nlc3NNZXNzYWdlcy5oIgogI2luY2x1ZGUgIkdQVVByb2Nlc3NQcm94eU1l
c3NhZ2VzLmgiCkBAIC0yMDcsNyArMjA4LDcgQEAgdm9pZCBHUFVQcm9jZXNzUHJveHk6OnByb2Nl
c3NXaWxsU2h1dERvd24oSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uKQogICAgICAgICBzaW5n
bGV0b24oKSA9IG51bGxwdHI7CiB9CiAKLXZvaWQgR1BVUHJvY2Vzc1Byb3h5OjpnZXRHUFVQcm9j
ZXNzQ29ubmVjdGlvbihXZWJQcm9jZXNzUHJveHkmIHdlYlByb2Nlc3NQcm94eSwgTWVzc2FnZXM6
OldlYlByb2Nlc3NQcm94eTo6R2V0R1BVUHJvY2Vzc0Nvbm5lY3Rpb246OkRlbGF5ZWRSZXBseSYm
IHJlcGx5KQordm9pZCBHUFVQcm9jZXNzUHJveHk6OmdldEdQVVByb2Nlc3NDb25uZWN0aW9uKFdl
YlByb2Nlc3NQcm94eSYgd2ViUHJvY2Vzc1Byb3h5LCBjb25zdCBHUFVQcm9jZXNzQ29ubmVjdGlv
blBhcmFtZXRlcnMmIHBhcmFtZXRlcnMsIE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJveHk6OkdldEdQ
VVByb2Nlc3NDb25uZWN0aW9uOjpEZWxheWVkUmVwbHkmJiByZXBseSkKIHsKICAgICBhZGRTZXNz
aW9uKHdlYlByb2Nlc3NQcm94eS53ZWJzaXRlRGF0YVN0b3JlKCkpOwogI2lmIEhBVkUoVklTSUJJ
TElUWV9QUk9QQUdBVElPTl9WSUVXKQpAQCAtMjE4LDcgKzIxOSw3IEBAIHZvaWQgR1BVUHJvY2Vz
c1Byb3h5OjpnZXRHUFVQcm9jZXNzQ29ubmVjdGlvbihXZWJQcm9jZXNzUHJveHkmIHdlYlByb2Nl
c3NQcm94eSwKICNlbmRpZgogCiAgICAgUkVMRUFTRV9MT0coUHJvY2Vzc1N1c3BlbnNpb24sICIl
cCAtIEdQVVByb2Nlc3NQcm94eSBpcyB0YWtpbmcgYSBiYWNrZ3JvdW5kIGFzc2VydGlvbiBiZWNh
dXNlIGEgd2ViIHByb2Nlc3MgaXMgcmVxdWVzdGluZyBhIGNvbm5lY3Rpb24iLCB0aGlzKTsKLSAg
ICBzZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6OkdQVVByb2Nlc3M6OkNyZWF0ZUdQVUNvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3MgeyB3ZWJQcm9jZXNzUHJveHkuY29yZVByb2Nlc3NJZGVudGlmaWVy
KCksIHdlYlByb2Nlc3NQcm94eS5zZXNzaW9uSUQoKSB9LCBbdGhpcywgd2Vha1RoaXMgPSBtYWtl
V2Vha1B0cigqdGhpcyksIHJlcGx5ID0gV1RGTW92ZShyZXBseSldKGF1dG8mJiBpZGVudGlmaWVy
KSBtdXRhYmxlIHsKKyAgICBzZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6OkdQVVByb2Nlc3M6
OkNyZWF0ZUdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MgeyB3ZWJQcm9jZXNzUHJveHkuY29yZVBy
b2Nlc3NJZGVudGlmaWVyKCksIHdlYlByb2Nlc3NQcm94eS5zZXNzaW9uSUQoKSwgcGFyYW1ldGVy
cyB9LCBbdGhpcywgd2Vha1RoaXMgPSBtYWtlV2Vha1B0cigqdGhpcyksIHJlcGx5ID0gV1RGTW92
ZShyZXBseSldKGF1dG8mJiBpZGVudGlmaWVyKSBtdXRhYmxlIHsKICAgICAgICAgaWYgKCF3ZWFr
VGhpcykgewogICAgICAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoUHJvY2VzcywgIkdQVVByb2Nl
c3NQcm94eTo6Z2V0R1BVUHJvY2Vzc0Nvbm5lY3Rpb246IEdQVVByb2Nlc3NQcm94eSBkZWFsbG9j
YXRlZCBkdXJpbmcgY29ubmVjdGlvbiBlc3RhYmxpc2htZW50Iik7CiAgICAgICAgICAgICByZXR1
cm4gcmVwbHkoeyB9KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dQVS9H
UFVQcm9jZXNzUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNz
UHJveHkuaAppbmRleCAyMDc1MzVjNmMxMmIyN2YyZjIwMTQ2YjU1YWQ2NDY5N2NmMGZhMjY1Li5m
ZDQxNTg4OWIzZDM5MWM2NjZkNzQwZjFiYjFlMTQyOTEzZmM2NzRhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5LmgKKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvR1BVL0dQVVByb2Nlc3NQcm94eS5oCkBAIC00NSw2ICs0NSw3IEBAIG5h
bWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBXZWJQcm9jZXNzUHJveHk7CiBjbGFzcyBXZWJzaXRl
RGF0YVN0b3JlOworc3RydWN0IEdQVVByb2Nlc3NDb25uZWN0aW9uUGFyYW1ldGVyczsKIHN0cnVj
dCBHUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOwogCiBjbGFzcyBHUFVQcm9jZXNzUHJveHkg
ZmluYWwgOiBwdWJsaWMgQXV4aWxpYXJ5UHJvY2Vzc1Byb3h5LCBwcml2YXRlIFByb2Nlc3NUaHJv
dHRsZXJDbGllbnQsIHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxHUFVQcm9jZXNzUHJveHk+LCBwdWJs
aWMgUmVmQ291bnRlZDxHUFVQcm9jZXNzUHJveHk+IHsKQEAgLTU2LDcgKzU3LDcgQEAgcHVibGlj
OgogICAgIHN0YXRpYyBHUFVQcm9jZXNzUHJveHkqIHNpbmdsZXRvbklmQ3JlYXRlZCgpOwogICAg
IH5HUFVQcm9jZXNzUHJveHkoKTsKIAotICAgIHZvaWQgZ2V0R1BVUHJvY2Vzc0Nvbm5lY3Rpb24o
V2ViUHJvY2Vzc1Byb3h5JiwgTWVzc2FnZXM6OldlYlByb2Nlc3NQcm94eTo6R2V0R1BVUHJvY2Vz
c0Nvbm5lY3Rpb25EZWxheWVkUmVwbHkmJik7CisgICAgdm9pZCBnZXRHUFVQcm9jZXNzQ29ubmVj
dGlvbihXZWJQcm9jZXNzUHJveHkmLCBjb25zdCBHUFVQcm9jZXNzQ29ubmVjdGlvblBhcmFtZXRl
cnMmLCBNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpHZXRHUFVQcm9jZXNzQ29ubmVjdGlvbkRl
bGF5ZWRSZXBseSYmKTsKIAogICAgIFByb2Nlc3NUaHJvdHRsZXImIHRocm90dGxlcigpIGZpbmFs
IHsgcmV0dXJuIG1fdGhyb3R0bGVyOyB9CiAgICAgdm9pZCB1cGRhdGVQcm9jZXNzQXNzZXJ0aW9u
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKaW5kZXggNjky
ZDgyNmNiMjUxZjZlZGFmMzhkYzZhZGVlNzRhYWZiYmFmZDQ0Zi4uODlkNmE2ODJiZGE0YzZkN2Rl
MmEzMGM1ZTU0YTUzZWE4NDk1NTkwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBy
b2Nlc3NQb29sLmNwcApAQCAtNDAsNiArNDAsNyBAQAogI2luY2x1ZGUgIkRvd25sb2FkUHJveHku
aCIKICNpbmNsdWRlICJEb3dubG9hZFByb3h5TWVzc2FnZXMuaCIKICNpbmNsdWRlICJHUFVQcm9j
ZXNzQ29ubmVjdGlvbkluZm8uaCIKKyNpbmNsdWRlICJHUFVQcm9jZXNzQ29ubmVjdGlvblBhcmFt
ZXRlcnMuaCIKICNpbmNsdWRlICJHYW1lcGFkRGF0YS5oIgogI2luY2x1ZGUgIkhpZ2hQZXJmb3Jt
YW5jZUdyYXBoaWNzVXNhZ2VTYW1wbGVyLmgiCiAjaW5jbHVkZSAiTGVnYWN5R2xvYmFsU2V0dGlu
Z3MuaCIKQEAgLTUxMSwxMiArNTEyLDEyIEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OmdwdVByb2Nl
c3NDcmFzaGVkKFByb2Nlc3NJRCBpZGVudGlmaWVyKQogICAgICAgICBtX3Jlc2V0R1BVUHJvY2Vz
c0NyYXNoQ291bnRUaW1lci5zdGFydE9uZVNob3QocmVzZXRHUFVQcm9jZXNzQ3Jhc2hDb3VudERl
bGF5KTsKIH0KIAotdm9pZCBXZWJQcm9jZXNzUG9vbDo6Z2V0R1BVUHJvY2Vzc0Nvbm5lY3Rpb24o
V2ViUHJvY2Vzc1Byb3h5JiB3ZWJQcm9jZXNzUHJveHksIE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJv
eHk6OkdldEdQVVByb2Nlc3NDb25uZWN0aW9uOjpEZWxheWVkUmVwbHkmJiByZXBseSkKK3ZvaWQg
V2ViUHJvY2Vzc1Bvb2w6OmdldEdQVVByb2Nlc3NDb25uZWN0aW9uKFdlYlByb2Nlc3NQcm94eSYg
d2ViUHJvY2Vzc1Byb3h5LCBHUFVQcm9jZXNzQ29ubmVjdGlvblBhcmFtZXRlcnMmJiBwYXJhbWV0
ZXJzLCBNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpHZXRHUFVQcm9jZXNzQ29ubmVjdGlvbjo6
RGVsYXllZFJlcGx5JiYgcmVwbHkpCiB7Ci0gICAgZW5zdXJlR1BVUHJvY2VzcygpLmdldEdQVVBy
b2Nlc3NDb25uZWN0aW9uKHdlYlByb2Nlc3NQcm94eSwgW3RoaXMsIHdlYWtUaGlzID0gbWFrZVdl
YWtQdHIoKnRoaXMpLCB3ZWJQcm9jZXNzUHJveHkgPSBtYWtlV2Vha1B0cih3ZWJQcm9jZXNzUHJv
eHkpLCByZXBseSA9IFdURk1vdmUocmVwbHkpXSAoYXV0byYgY29ubmVjdGlvbkluZm8pIG11dGFi
bGUgeworICAgIGVuc3VyZUdQVVByb2Nlc3MoKS5nZXRHUFVQcm9jZXNzQ29ubmVjdGlvbih3ZWJQ
cm9jZXNzUHJveHksIHBhcmFtZXRlcnMsIFt0aGlzLCB3ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKCp0
aGlzKSwgcGFyYW1ldGVycywgd2ViUHJvY2Vzc1Byb3h5ID0gbWFrZVdlYWtQdHIod2ViUHJvY2Vz
c1Byb3h5KSwgcmVwbHkgPSBXVEZNb3ZlKHJlcGx5KV0gKGF1dG8mIGNvbm5lY3Rpb25JbmZvKSBt
dXRhYmxlIHsKICAgICAgICAgaWYgKFVOTElLRUxZKCFJUEM6OkNvbm5lY3Rpb246OmlkZW50aWZp
ZXJJc1ZhbGlkKGNvbm5lY3Rpb25JbmZvLmlkZW50aWZpZXIoKSkgJiYgd2ViUHJvY2Vzc1Byb3h5
ICYmIHdlYWtUaGlzKSkgewogICAgICAgICAgICAgV0VCUFJPQ0VTU1BPT0xfUkVMRUFTRV9MT0df
RVJST1IoUHJvY2VzcywgImdldEdQVVByb2Nlc3NDb25uZWN0aW9uOiBGYWlsZWQgZmlyc3QgYXR0
ZW1wdCwgcmV0cnlpbmciKTsKLSAgICAgICAgICAgIGVuc3VyZUdQVVByb2Nlc3MoKS5nZXRHUFVQ
cm9jZXNzQ29ubmVjdGlvbigqd2ViUHJvY2Vzc1Byb3h5LCBXVEZNb3ZlKHJlcGx5KSk7CisgICAg
ICAgICAgICBlbnN1cmVHUFVQcm9jZXNzKCkuZ2V0R1BVUHJvY2Vzc0Nvbm5lY3Rpb24oKndlYlBy
b2Nlc3NQcm94eSwgcGFyYW1ldGVycywgV1RGTW92ZShyZXBseSkpOwogICAgICAgICAgICAgcmV0
dXJuOwogICAgICAgICB9CiAgICAgICAgIHJlcGx5KGNvbm5lY3Rpb25JbmZvKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmggYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oCmluZGV4IGU4OWQ2NTgwZGNmMjk4ODFiMjY1
ODIyZTgwMGYyZGJkOGIwNzgyMDQuLjI2MGFkMDQyYWIzZmNiZWE3MDhiODJjYmM2MjBlMjAwNTZi
ZGRlNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29s
LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaApAQCAtMTA4
LDYgKzEwOCw3IEBAIGNsYXNzIFdlYkNvbnRleHRTdXBwbGVtZW50OwogY2xhc3MgV2ViUGFnZUdy
b3VwOwogY2xhc3MgV2ViUGFnZVByb3h5OwogY2xhc3MgV2ViUHJvY2Vzc0NhY2hlOworc3RydWN0
IEdQVVByb2Nlc3NDb25uZWN0aW9uUGFyYW1ldGVyczsKIHN0cnVjdCBHUFVQcm9jZXNzQ3JlYXRp
b25QYXJhbWV0ZXJzOwogc3RydWN0IE5ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOwog
c3RydWN0IFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM7CkBAIC0zNTAsNyArMzUxLDcgQEAg
cHVibGljOgogI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykKICAgICB2b2lkIGdwdVByb2Nlc3NDcmFz
aGVkKFByb2Nlc3NJRCk7CiAKLSAgICB2b2lkIGdldEdQVVByb2Nlc3NDb25uZWN0aW9uKFdlYlBy
b2Nlc3NQcm94eSYsIE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJveHk6OkdldEdQVVByb2Nlc3NDb25u
ZWN0aW9uRGVsYXllZFJlcGx5JiYpOworICAgIHZvaWQgZ2V0R1BVUHJvY2Vzc0Nvbm5lY3Rpb24o
V2ViUHJvY2Vzc1Byb3h5JiwgR1BVUHJvY2Vzc0Nvbm5lY3Rpb25QYXJhbWV0ZXJzJiYsIE1lc3Nh
Z2VzOjpXZWJQcm9jZXNzUHJveHk6OkdldEdQVVByb2Nlc3NDb25uZWN0aW9uRGVsYXllZFJlcGx5
JiYpOwogCiAgICAgR1BVUHJvY2Vzc1Byb3h5JiBlbnN1cmVHUFVQcm9jZXNzKCk7CiAgICAgR1BV
UHJvY2Vzc1Byb3h5KiBncHVQcm9jZXNzKCkgY29uc3QgeyByZXR1cm4gbV9ncHVQcm9jZXNzLmdl
dCgpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJv
eHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcAppbmRl
eCBmYzU2YTFkNjQ4NTg2MmYwNDVkNmYzNDY5YTZjNmFlMDRiODcxMjEwLi4zNmQxZGM0MWM2N2Zj
MDNhYTU0NmM5NjRjZjA1YmQ0YjBlNjdiNGQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlByb2Nlc3NQcm94eS5jcHAKQEAgLTc3MCw5ICs3NzAsOSBAQCB2b2lkIFdlYlByb2Nlc3NQ
cm94eTo6Z2V0TmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uKE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJv
eHk6OkdldAogfQogCiAjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKQotdm9pZCBXZWJQcm9jZXNzUHJv
eHk6OmdldEdQVVByb2Nlc3NDb25uZWN0aW9uKE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJveHk6Okdl
dEdQVVByb2Nlc3NDb25uZWN0aW9uOjpEZWxheWVkUmVwbHkmJiByZXBseSkKK3ZvaWQgV2ViUHJv
Y2Vzc1Byb3h5OjpnZXRHUFVQcm9jZXNzQ29ubmVjdGlvbihHUFVQcm9jZXNzQ29ubmVjdGlvblBh
cmFtZXRlcnMmJiBwYXJhbWV0ZXJzLCBNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpHZXRHUFVQ
cm9jZXNzQ29ubmVjdGlvbjo6RGVsYXllZFJlcGx5JiYgcmVwbHkpCiB7Ci0gICAgbV9wcm9jZXNz
UG9vbC0+Z2V0R1BVUHJvY2Vzc0Nvbm5lY3Rpb24oKnRoaXMsIFdURk1vdmUocmVwbHkpKTsKKyAg
ICBtX3Byb2Nlc3NQb29sLT5nZXRHUFVQcm9jZXNzQ29ubmVjdGlvbigqdGhpcywgV1RGTW92ZShw
YXJhbWV0ZXJzKSwgV1RGTW92ZShyZXBseSkpOwogfQogCiB2b2lkIFdlYlByb2Nlc3NQcm94eTo6
Z3B1UHJvY2Vzc0NyYXNoZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUHJvY2Vzc1Byb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJv
eHkuaAppbmRleCAyOTMxNTgxNDM1N2NjYTRjMWM2YWNlOGQ0MGJhYjBjOGUzMmZlZjhhLi41ZGFj
ODMxYzJlZDI2NzEwYzU3MDhlOGQ0NDA3YTk0Y2JhNDY2NjA3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaApAQCAtOTgsNiArOTgsNyBAQCBjbGFzcyBXZWJVc2Vy
Q29udGVudENvbnRyb2xsZXJQcm94eTsKIGNsYXNzIFdlYnNpdGVEYXRhU3RvcmU7CiBlbnVtIGNs
YXNzIFdlYnNpdGVEYXRhVHlwZSA6IHVpbnQzMl90Owogc3RydWN0IEJhY2tGb3J3YXJkTGlzdEl0
ZW1TdGF0ZTsKK3N0cnVjdCBHUFVQcm9jZXNzQ29ubmVjdGlvblBhcmFtZXRlcnM7CiBzdHJ1Y3Qg
VXNlck1lc3NhZ2U7CiBzdHJ1Y3QgV2ViTmF2aWdhdGlvbkRhdGFTdG9yZTsKIHN0cnVjdCBXZWJQ
YWdlQ3JlYXRpb25QYXJhbWV0ZXJzOwpAQCAtNDYzLDcgKzQ2NCw3IEBAIHByaXZhdGU6CiAgICAg
dm9pZCBnZXROZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24oTWVzc2FnZXM6OldlYlByb2Nlc3NQcm94
eTo6R2V0TmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uRGVsYXllZFJlcGx5JiYpOwogCiAjaWYgRU5B
QkxFKEdQVV9QUk9DRVNTKQotICAgIHZvaWQgZ2V0R1BVUHJvY2Vzc0Nvbm5lY3Rpb24oTWVzc2Fn
ZXM6OldlYlByb2Nlc3NQcm94eTo6R2V0R1BVUHJvY2Vzc0Nvbm5lY3Rpb25EZWxheWVkUmVwbHkm
Jik7CisgICAgdm9pZCBnZXRHUFVQcm9jZXNzQ29ubmVjdGlvbihHUFVQcm9jZXNzQ29ubmVjdGlv
blBhcmFtZXRlcnMmJiwgTWVzc2FnZXM6OldlYlByb2Nlc3NQcm94eTo6R2V0R1BVUHJvY2Vzc0Nv
bm5lY3Rpb25EZWxheWVkUmVwbHkmJik7CiAjZW5kaWYKIAogI2lmIEVOQUJMRShXRUJfQVVUSE4p
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkubWVz
c2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkubWVzc2Fn
ZXMuaW4KaW5kZXggMTY3ZTk3Y2FkMzZmOGJhYWY4ZDNkMzcxMmRhZDk2NzRkZjAzNDk3ZS4uNDlk
YjBiMzQ0MGJiODBhY2Y1NzUzZmMwMDg3MzkwMTY0MGI4NDA0NiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5tZXNzYWdlcy5pbgpAQCAtMzksNyAr
MzksNyBAQCBtZXNzYWdlcyAtPiBXZWJQcm9jZXNzUHJveHkgTGVnYWN5UmVjZWl2ZXIgewogICAg
IEdldE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbigpIC0+IChzdHJ1Y3QgV2ViS2l0OjpOZXR3b3Jr
UHJvY2Vzc0Nvbm5lY3Rpb25JbmZvIGNvbm5lY3Rpb25JbmZvKSBTeW5jaHJvbm91cwogCiAjaWYg
RU5BQkxFKEdQVV9QUk9DRVNTKQotICAgIEdldEdQVVByb2Nlc3NDb25uZWN0aW9uKCkgLT4gKHN0
cnVjdCBXZWJLaXQ6OkdQVVByb2Nlc3NDb25uZWN0aW9uSW5mbyBjb25uZWN0aW9uSW5mbykgU3lu
Y2hyb25vdXMKKyAgICBHZXRHUFVQcm9jZXNzQ29ubmVjdGlvbihzdHJ1Y3QgV2ViS2l0OjpHUFVQ
cm9jZXNzQ29ubmVjdGlvblBhcmFtZXRlcnMgcGFyYW1ldGVycykgLT4gKHN0cnVjdCBXZWJLaXQ6
OkdQVVByb2Nlc3NDb25uZWN0aW9uSW5mbyBjb25uZWN0aW9uSW5mbykgU3luY2hyb25vdXMKICNl
bmRpZgogCiAjaWYgRU5BQkxFKFdFQl9BVVRITikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
V2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGZkODMyY2RhODhiMWI3ZTM4YjVhZTkzZjRl
NDgxM2I0MTljZWU2NDcuLjBkNmJkZjE2MTM2ZjYyMzZkOGFjNjk1ZTA4ZTY0MWI2N2RjMmExNGQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpA
QCAtNDI2LDEyICs0MjYsNiBAQAogCQkxQ0E4Qjk0NjEyN0M4ODJBMDA1NzZDMkIgLyogV2ViSW5z
cGVjdG9yUHJveHlNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMUNBOEI5NDQxMjdDODgyQTAwNTc2QzJCIC8qIFdlYkluc3BlY3RvclByb3h5
TWVzc2FnZXMuaCAqLzsgfTsKIAkJMUNCQkU0QTAxOUI2NkM1MzAwNkI3RDgxIC8qIFdlYkluc3Bl
Y3RvclVJTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDFDQkJFNDlFMTlCNjZDNTMwMDZCN0Q4MSAvKiBXZWJJbnNwZWN0b3JV
SU1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CiAJCTFDQkJFNEExMTlCNjZDNTMwMDZCN0Q4MSAv
KiBXZWJJbnNwZWN0b3JVSU1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAxQ0JCRTQ5RjE5QjY2QzUzMDA2QjdEODEgLyogV2ViSW5zcGVjdG9y
VUlNZXNzYWdlcy5oICovOyB9OwotCQkxRDQ3NjU4NjI1Q0NBNDE2MDA3QUYzMTIgLyogUmVtb3Rl
SW1hZ2VEZWNvZGVyQVZGUHJveHkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDFENDc2NTg0MjVDQ0E0MTYwMDdBRjMxMiAvKiBSZW1vdGVJbWFnZURlY29k
ZXJBVkZQcm94eS5oICovOyB9OwotCQkxRDQ3NjU5MzI1Q0NDRTkzMDA3QUYzMTIgLyogUmVtb3Rl
SW1hZ2VEZWNvZGVyQVZGUHJveHlNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMUQ0NzY1OTAyNUNDQ0U5MzAwN0FGMzEyIC8qIFJlbW90ZUlt
YWdlRGVjb2RlckFWRlByb3h5TWVzc2FnZXMuaCAqLzsgfTsKLQkJMUQ0NzY1OTQyNUNDQ0U5MzAw
N0FGMzEyIC8qIFJlbW90ZUltYWdlRGVjb2RlckFWRlByb3h5TWVzc2FnZXNSZXBsaWVzLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxRDQ3NjU5MTI1Q0ND
RTkzMDA3QUYzMTIgLyogUmVtb3RlSW1hZ2VEZWNvZGVyQVZGUHJveHlNZXNzYWdlc1JlcGxpZXMu
aCAqLzsgfTsKLQkJMUQ0NzY1OUMyNUNFNzRBRDAwN0FGMzEyIC8qIFJlbW90ZUltYWdlRGVjb2Rl
ckFWRk1hbmFnZXJNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMUQ0NzY1OTkyNUNFNzRBQzAwN0FGMzEyIC8qIFJlbW90ZUltYWdlRGVjb2Rl
ckFWRk1hbmFnZXJNZXNzYWdlcy5oICovOyB9OwotCQkxRDQ3NjU5RDI1Q0U3NEFEMDA3QUYzMTIg
LyogUmVtb3RlSW1hZ2VEZWNvZGVyQVZGTWFuYWdlck1lc3NhZ2VzUmVwbGllcy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUQ0NzY1OUEyNUNFNzRBQzAw
N0FGMzEyIC8qIFJlbW90ZUltYWdlRGVjb2RlckFWRk1hbmFnZXJNZXNzYWdlc1JlcGxpZXMuaCAq
LzsgfTsKLQkJMUQ0NzY1QTEyNUNGNTc0MDAwN0FGMzEyIC8qIFJlbW90ZUltYWdlRGVjb2RlckFW
Rk1hbmFnZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDFENDc2NTlGMjVDRjU3NDAwMDdBRjMxMiAvKiBSZW1vdGVJbWFnZURlY29kZXJBVkZNYW5hZ2Vy
LmggKi87IH07CiAJCTFENEQ3MzcwMjNBOUU1NDcwMDcxN0EyNSAvKiBSZW1vdGVNZWRpYVJlc291
cmNlTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAxRDRENzM2QjIzQTlERjU1MDA3MTdBMjUgLyogUmVtb3RlTWVk
aWFSZXNvdXJjZU1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OwogCQkxRDRENzM3MTIz
QTlFNTYyMDA3MTdBMjUgLyogUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXJNZXNzYWdlcy5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUQ0RDczNkMyM0E5
REY2MDAwNzE3QTI1IC8qIFJlbW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyTWVzc2FnZXMuaCAqLzsg
fTsKIAkJMUQ0RDczNzYyM0E5RUQxODAwNzE3QTI1IC8qIFJlbW90ZU1lZGlhUmVzb3VyY2VNYW5h
Z2VyTWVzc2FnZXNSZXBsaWVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAxRDRENzM3NTIzQTlFQjY4MDA3MTdBMjUgLyogUmVtb3RlTWVkaWFSZXNvdXJj
ZU1hbmFnZXJNZXNzYWdlc1JlcGxpZXMuaCAqLzsgfTsKQEAgLTk1Niw2ICs5NTAsNyBAQAogCQk0
NjBGNDg4RjFGOTk2RjcxMDBDRjRCODcgLyogV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb25N
ZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNDYwRjQ4OEQxRjk5NkY2QzAwQ0Y0Qjg3IC8qIFdlYlNXQ29udGV4dE1hbmFnZXJD
b25uZWN0aW9uTWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKIAkJNDYwRjQ4OTAxRjk5NkY3MTAw
Q0Y0Qjg3IC8qIFdlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uTWVzc2FnZXMuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2MEY0ODhFMUY5OTZGNkMw
MENGNEI4NyAvKiBXZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbk1lc3NhZ2VzLmggKi87IH07
CiAJCTQ2MTNBNzQ0MjVEMzJDQ0YwMEE1MDMzQSAvKiBXS0JsYW5rT3ZlcmxheVZpZXcuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2MTNBNzQyMjVEMzJD
QjgwMEE1MDMzQSAvKiBXS0JsYW5rT3ZlcmxheVZpZXcuaCAqLzsgfTsKKwkJNDYxNEYxMzIyNURF
RDg3NTAwNzAwNkU3IC8qIEdQVVByb2Nlc3NDb25uZWN0aW9uUGFyYW1ldGVycy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDZBQzUzMjQyNURFRDgxRTAw
M0I1N0VDIC8qIEdQVVByb2Nlc3NDb25uZWN0aW9uUGFyYW1ldGVycy5oICovOyB9OwogCQk0NjFD
Q0NBNTIzMTQ4NUE3MDBCNjU5QjkgLyogVUlSZW1vdGVPYmplY3RSZWdpc3RyeS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDYzMjM2ODUyMzE0ODMzRjAw
QTQ4RkE3IC8qIFVJUmVtb3RlT2JqZWN0UmVnaXN0cnkuaCAqLzsgfTsKIAkJNDYxQ0NDQTYyMzE0
ODVBQTAwQjY1OUI5IC8qIFdlYlJlbW90ZU9iamVjdFJlZ2lzdHJ5LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NjMyMzY4MzIzMTQ4MUVGMDBBNDhGQTcg
LyogV2ViUmVtb3RlT2JqZWN0UmVnaXN0cnkuaCAqLzsgfTsKIAkJNDYzRkQ0ODAxRUI5NDU5NjAw
QTI5ODJDIC8qIFdLUHJvY2Vzc1Rlcm1pbmF0aW9uUmVhc29uLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NjNGRDQ3RjFFQjk0NTg0MDBBMjk4MkMgLyog
V0tQcm9jZXNzVGVybWluYXRpb25SZWFzb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMzgzOCw2ICszODMzLDcgQEAKIAkJNDY4MzU2OUIyMUU4
MUNDNzAwNkUyN0EzIC8qIFByb3Zpc2lvbmFsUGFnZVByb3h5LmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFByb3Zpc2lvbmFsUGFnZVByb3h5LmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDZBMkI2MDYxRTU2NzVBMjAwQzNERURBIC8qIEJhY2tncm91
bmRQcm9jZXNzUmVzcG9uc2l2ZW5lc3NUaW1lci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBCYWNrZ3JvdW5kUHJvY2Vzc1Jlc3BvbnNpdmVuZXNzVGltZXIuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NkEyQjYwNzFFNTY3NUEyMDBDM0RFREEgLyog
QmFja2dyb3VuZFByb2Nlc3NSZXNwb25zaXZlbmVzc1RpbWVyLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEJhY2tncm91bmRQcm9jZXNzUmVzcG9uc2l2ZW5lc3NUaW1lci5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0NkFDNTMyNDI1REVEODFFMDAzQjU3RUMgLyog
R1BVUHJvY2Vzc0Nvbm5lY3Rpb25QYXJhbWV0ZXJzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdQVVByb2Nl
c3NDb25uZWN0aW9uUGFyYW1ldGVycy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0
NkIwNTI0NDIyNjY4RDIzMDAyNjVCOTcgLyogV2ViRGV2aWNlT3JpZW50YXRpb25BbmRNb3Rpb25B
Y2Nlc3NDb250cm9sbGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkRl
dmljZU9yaWVudGF0aW9uQW5kTW90aW9uQWNjZXNzQ29udHJvbGxlci5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk0NkIwNTI0NTIyNjY4RDI0MDAyNjVCOTcgLyogV2ViRGV2aWNlT3Jp
ZW50YXRpb25BbmRNb3Rpb25BY2Nlc3NDb250cm9sbGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkRldmljZU9yaWVudGF0aW9uQW5kTW90aW9uQWNjZXNzQ29u
dHJvbGxlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2QkVCNkQ1MjJGQjlC
RDYwMDI2OTg2NyAvKiBTdG9yYWdlQXJlYS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTdG9yYWdlQXJlYS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNjU3MSw2ICs2NTY3LDcgQEAKIAkJCQkx
QTE0RjhERjFENzRDODM0MDA2Q0JFQzYgLyogRnJhbWVJbmZvRGF0YS5jcHAgKi8sCiAJCQkJMUEx
NEY4RTAxRDc0QzgzNDAwNkNCRUM2IC8qIEZyYW1lSW5mb0RhdGEuaCAqLywKIAkJCQk1QzEyMUU4
MzI0MTAxRjcwMDA0ODZGOUIgLyogRnJhbWVUcmVlTm9kZURhdGEuaCAqLywKKwkJCQk0NkFDNTMy
NDI1REVEODFFMDAzQjU3RUMgLyogR1BVUHJvY2Vzc0Nvbm5lY3Rpb25QYXJhbWV0ZXJzLmggKi8s
CiAJCQkJRjQwQkJCNDAyNTdGRjQ2RTAwNjc0NjNBIC8qIEdQVVByb2Nlc3NXYWtldXBNZXNzYWdl
QXJndW1lbnRzLmggKi8sCiAJCQkJMUFDNzVBMUExQjMzNjgyNzAwNTY3NDVCIC8qIEhhbmdEZXRl
Y3Rpb25EaXNhYmxlci5oICovLAogCQkJCUJDQ0Y2QjIzMTJDOTNFN0EwMDhGOUMzNSAvKiBJbWFn
ZU9wdGlvbnMuaCAqLywKQEAgLTExNzE1LDYgKzExNzEyLDcgQEAKIAkJCQlCQzA2RjQ0QTEyREJE
MUY1MDAyRDc4REUgLyogR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQkMwNkY0M0ExMkRCQ0NGQjAwMkQ3OERFIC8qIEdlb2xvY2F0
aW9uUGVybWlzc2lvblJlcXVlc3RQcm94eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkRBOTQ0QTQx
ODg0RTRGMDAwRUQ4NkRCIC8qIEdlc3R1cmVUeXBlcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDYx
NEYxMzIyNURFRDg3NTAwNzAwNkU3IC8qIEdQVVByb2Nlc3NDb25uZWN0aW9uUGFyYW1ldGVycy5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJRjQwQkJCNDEyNTdGRjQ2RTAwNjc0NjNBIC8qIEdQVVByb2Nl
c3NXYWtldXBNZXNzYWdlQXJndW1lbnRzLmggaW4gSGVhZGVycyAqLywKIAkJCQkyREEwNDlCODE4
MENDRDBBMDBBQUZBOUUgLyogR3JhcGhpY3NMYXllckNBUmVtb3RlLmggaW4gSGVhZGVycyAqLywK
IAkJCQlDMENFNzJBRDEyNDdFNzhEMDBCQzBFQzQgLyogSGFuZGxlTWVzc2FnZS5oIGluIEhlYWRl
cnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKaW5kZXggZjIzZWQ2
ZDRiZDVkNzc2ZWQzM2RhYzQ1YTMxMDAyMDJiMDk3YmU4ZC4uODk2M2FlNGUzMDI3ZGQzZjFmYTY5
OGIzMzQ0NTFmNTMzNTk2MzNlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNz
LmNwcApAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgIkF1eGlsaWFyeVByb2Nlc3NNZXNzYWdl
cy5oIgogI2luY2x1ZGUgIkRyYXdpbmdBcmVhLmgiCiAjaW5jbHVkZSAiRXZlbnREaXNwYXRjaGVy
LmgiCisjaW5jbHVkZSAiR1BVUHJvY2Vzc0Nvbm5lY3Rpb25QYXJhbWV0ZXJzLmgiCiAjaW5jbHVk
ZSAiSW5qZWN0ZWRCdW5kbGUuaCIKICNpbmNsdWRlICJMaWJXZWJSVENOZXR3b3JrLmgiCiAjaW5j
bHVkZSAiTG9nZ2luZy5oIgpAQCAtMTE0MiwxMyArMTE0MywyMiBAQCBXZWJMb2FkZXJTdHJhdGVn
eSYgV2ViUHJvY2Vzczo6d2ViTG9hZGVyU3RyYXRlZ3koKQogCiAjaWYgRU5BQkxFKEdQVV9QUk9D
RVNTKQogCi1zdGF0aWMgR1BVUHJvY2Vzc0Nvbm5lY3Rpb25JbmZvIGdldEdQVVByb2Nlc3NDb25u
ZWN0aW9uKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbikKKyNpZiAhUExBVEZPUk0oQ09DT0Ep
Cit2b2lkIFdlYlByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZUdQVVByb2Nlc3NDb25uZWN0aW9u
UGFyYW1ldGVycyhHUFVQcm9jZXNzQ29ubmVjdGlvblBhcmFtZXRlcnMmKQoreworfQorI2VuZGlm
CisKK0dQVVByb2Nlc3NDb25uZWN0aW9uSW5mbyBXZWJQcm9jZXNzOjpnZXRHUFVQcm9jZXNzQ29u
bmVjdGlvbihJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24pCiB7CisgICAgR1BVUHJvY2Vzc0Nv
bm5lY3Rpb25QYXJhbWV0ZXJzIHBhcmFtZXRlcnM7CisgICAgcGxhdGZvcm1Jbml0aWFsaXplR1BV
UHJvY2Vzc0Nvbm5lY3Rpb25QYXJhbWV0ZXJzKHBhcmFtZXRlcnMpOworCiAgICAgR1BVUHJvY2Vz
c0Nvbm5lY3Rpb25JbmZvIGNvbm5lY3Rpb25JbmZvOwotICAgIGlmICghY29ubmVjdGlvbi5zZW5k
U3luYyhNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpHZXRHUFVQcm9jZXNzQ29ubmVjdGlvbigp
LCBNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpHZXRHUFVQcm9jZXNzQ29ubmVjdGlvbjo6UmVw
bHkoY29ubmVjdGlvbkluZm8pLCAwKSkgeworICAgIGlmICghY29ubmVjdGlvbi5zZW5kU3luYyhN
ZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpHZXRHUFVQcm9jZXNzQ29ubmVjdGlvbihwYXJhbWV0
ZXJzKSwgTWVzc2FnZXM6OldlYlByb2Nlc3NQcm94eTo6R2V0R1BVUHJvY2Vzc0Nvbm5lY3Rpb246
OlJlcGx5KGNvbm5lY3Rpb25JbmZvKSwgMCkpIHsKICAgICAgICAgLy8gSWYgd2UgZmFpbGVkIHRo
ZSBmaXJzdCB0aW1lLCByZXRyeSBvbmNlLiBUaGUgYXR0YWNobWVudCBtYXkgaGF2ZSBiZWNvbWUg
aW52YWxpZAogICAgICAgICAvLyBiZWZvcmUgaXQgd2FzIHJlY2VpdmVkIGJ5IHRoZSB3ZWIgcHJv
Y2VzcyBpZiB0aGUgbmV0d29yayBwcm9jZXNzIGNyYXNoZWQuCi0gICAgICAgIGlmICghY29ubmVj
dGlvbi5zZW5kU3luYyhNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpHZXRHUFVQcm9jZXNzQ29u
bmVjdGlvbigpLCBNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpHZXRHUFVQcm9jZXNzQ29ubmVj
dGlvbjo6UmVwbHkoY29ubmVjdGlvbkluZm8pLCAwKSkKKyAgICAgICAgaWYgKCFjb25uZWN0aW9u
LnNlbmRTeW5jKE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJveHk6OkdldEdQVVByb2Nlc3NDb25uZWN0
aW9uKHBhcmFtZXRlcnMpLCBNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpHZXRHUFVQcm9jZXNz
Q29ubmVjdGlvbjo6UmVwbHkoY29ubmVjdGlvbkluZm8pLCAwKSkKICAgICAgICAgICAgIENSQVNI
KCk7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJv
Y2Vzcy5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAppbmRleCAxNWVm
Y2U0MmQxNGU0YTNmOGRhZDY5MDM5MjI5NTBiYjU4ZmUwY2IzLi5lMjlmMjMyYzIzZjU5MWY1Y2Ji
YjZkMjQwN2U5OGI4NWQ3ZGRkODQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNz
LmgKQEAgLTEyNyw2ICsxMjcsOCBAQCBjbGFzcyBXZWJGcmFtZTsKIGNsYXNzIFdlYkxvYWRlclN0
cmF0ZWd5OwogY2xhc3MgV2ViUGFnZTsKIGNsYXNzIFdlYlBhZ2VHcm91cFByb3h5Oworc3RydWN0
IEdQVVByb2Nlc3NDb25uZWN0aW9uSW5mbzsKK3N0cnVjdCBHUFVQcm9jZXNzQ29ubmVjdGlvblBh
cmFtZXRlcnM7CiBzdHJ1Y3QgVXNlck1lc3NhZ2U7CiBzdHJ1Y3QgV2ViUHJvY2Vzc0NyZWF0aW9u
UGFyYW1ldGVyczsKIHN0cnVjdCBXZWJQcm9jZXNzRGF0YVN0b3JlUGFyYW1ldGVyczsKQEAgLTU1
Miw2ICs1NTQsMTEgQEAgcHJpdmF0ZToKICAgICB2b2lkIHVwZGF0ZUZyZWV6ZXJTdGF0dXMoKTsK
ICNlbmRpZgogCisjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKQorICAgIHN0YXRpYyBHUFVQcm9jZXNz
Q29ubmVjdGlvbkluZm8gZ2V0R1BVUHJvY2Vzc0Nvbm5lY3Rpb24oSVBDOjpDb25uZWN0aW9uJik7
CisgICAgc3RhdGljIHZvaWQgcGxhdGZvcm1Jbml0aWFsaXplR1BVUHJvY2Vzc0Nvbm5lY3Rpb25Q
YXJhbWV0ZXJzKEdQVVByb2Nlc3NDb25uZWN0aW9uUGFyYW1ldGVycyYpOworI2VuZGlmCisKICNp
ZiBFTkFCTEUoVklERU8pCiAgICAgdm9pZCBzdXNwZW5kQWxsTWVkaWFCdWZmZXJpbmcoKTsKICAg
ICB2b2lkIHJlc3VtZUFsbE1lZGlhQnVmZmVyaW5nKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQppbmRleCAzN2NiMDdkMzNlZThhNWYx
ZjVmOWU3MGY1Y2Y0MGI1ZDMxY2E3ZDdiLi5kMzI0YTRiYzczZmI4MGFjZjhjYjAxN2UzZTljMGI1
ZmVkN2JhZjQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2Vi
UHJvY2Vzc0NvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQ
cm9jZXNzQ29jb2EubW0KQEAgLTI2LDYgKzI2LDcgQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2lt
cG9ydCAiV2ViUHJvY2Vzcy5oIgogCisjaW1wb3J0ICJHUFVQcm9jZXNzQ29ubmVjdGlvblBhcmFt
ZXRlcnMuaCIKICNpbXBvcnQgIkxlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlci5oIgogI2ltcG9y
dCAiTG9nSW5pdGlhbGl6YXRpb24uaCIKICNpbXBvcnQgIkxvZ2dpbmcuaCIKQEAgLTEyMDcsNiAr
MTIwOCwyMiBAQCB2b2lkIFdlYlByb2Nlc3M6OndhaXRGb3JQZW5kaW5nUGFzdGVib2FyZFdyaXRl
c1RvRmluaXNoKGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZAogICAgIH0KIH0KIAorI2lmIEVOQUJM
RShHUFVfUFJPQ0VTUykKK3ZvaWQgV2ViUHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplR1BVUHJv
Y2Vzc0Nvbm5lY3Rpb25QYXJhbWV0ZXJzKEdQVVByb2Nlc3NDb25uZWN0aW9uUGFyYW1ldGVycyYg
cGFyYW1ldGVycykKK3sKKyNpZiBIQVZFKFRBU0tfSURFTlRJVFlfVE9LRU4pCisgICAgdGFza19p
ZF90b2tlbl90IGlkZW50aXR5VG9rZW47CisgICAga2Vybl9yZXR1cm5fdCBrciA9IHRhc2tfY3Jl
YXRlX2lkZW50aXR5X3Rva2VuKG1hY2hfdGFza19zZWxmKCksICZpZGVudGl0eVRva2VuKTsKKyAg
ICBpZiAoa3IgPT0gS0VSTl9TVUNDRVNTKQorICAgICAgICBwYXJhbWV0ZXJzLndlYlByb2Nlc3NJ
ZGVudGl0eVRva2VuID0gTWFjaFNlbmRSaWdodDo6YWRvcHQoaWRlbnRpdHlUb2tlbik7CisgICAg
ZWxzZQorICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihQcm9jZXNzLCAiQ2FsbCB0byB0YXNrX2Ny
ZWF0ZV9pZGVudGl0eV90b2tlbigpIGZhaWxlZDogJXtwcml2YXRlfXMgKCV4KSIsIG1hY2hfZXJy
b3Jfc3RyaW5nKGtyKSwga3IpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0ocGFyYW1ldGVycyk7
CisjZW5kaWYKK30KKyNlbmRpZgorCiAjaWYgUExBVEZPUk0oTUFDKQogdm9pZCBXZWJQcm9jZXNz
OjpzeXN0ZW1XaWxsUG93ZXJPbigpCiB7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>