<?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>182935</bug_id>
          
          <creation_ts>2018-02-19 11:17:16 -0800</creation_ts>
          <short_desc>[EME] Add mechanism for MediaKeySession to react to HDCP changes</short_desc>
          <delta_ts>2018-02-19 13:22:23 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jer Noble">jer.noble</reporter>
          <assigned_to name="Jer Noble">jer.noble</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1400437</commentid>
    <comment_count>0</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2018-02-19 11:17:16 -0800</bug_when>
    <thetext>[EME] Add mechanism for MediaKeySession to react to HDCP changes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1400438</commentid>
    <comment_count>1</comment_count>
      <attachid>334169</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2018-02-19 11:21:44 -0800</bug_when>
    <thetext>Created attachment 334169
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1400449</commentid>
    <comment_count>2</comment_count>
      <attachid>334169</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2018-02-19 11:56:29 -0800</bug_when>
    <thetext>Comment on attachment 334169
Patch

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

&gt; Source/WebCore/ChangeLog:8
&gt; +        Add a client callback interface to CDMInterface to allow CDMInterface subclasses to

Not &quot;to CDMInterface to allow CDMInterface subclasses&quot; doesn&apos;t need the second &quot;CDMInterface&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1400452</commentid>
    <comment_count>3</comment_count>
      <attachid>334173</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2018-02-19 12:03:13 -0800</bug_when>
    <thetext>Created attachment 334173
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1400466</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-02-19 13:11:22 -0800</bug_when>
    <thetext>&lt;rdar://problem/37682553&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1400470</commentid>
    <comment_count>5</comment_count>
      <attachid>334173</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-02-19 13:22:21 -0800</bug_when>
    <thetext>Comment on attachment 334173
Patch for landing

Clearing flags on attachment: 334173

Committed r228709: &lt;https://trac.webkit.org/changeset/228709&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1400471</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-02-19 13:22:23 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>334169</attachid>
            <date>2018-02-19 11:21:44 -0800</date>
            <delta_ts>2018-02-19 12:03:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-182935-20180219112144.patch</filename>
            <type>text/plain</type>
            <size>25909</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI4MjI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWQxMzFkZjY5YmRjZTVh
ZjdhNDE4NDllNWRlNzBkMjg2MjE3MGQ4MC4uOGM3ZDE5Zjg1NDMwNmEzNmM5MzEzOGM2MzE2MDlm
YWM5ZTMzM2E2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU4IEBACisyMDE4LTAyLTE5ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFtFTUVdIEFkZCBtZWNoYW5p
c20gZm9yIE1lZGlhS2V5U2Vzc2lvbiB0byByZWFjdCB0byBIRENQIGNoYW5nZXMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MjkzNQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIGNsaWVudCBjYWxs
YmFjayBpbnRlcmZhY2UgdG8gQ0RNSW50ZXJmYWNlIHRvIGFsbG93IENETUludGVyZmFjZSBzdWJj
bGFzc2VzIHRvCisgICAgICAgIGNvbW11bmljYXRlIHVwIHRvIE1lZGlhS2V5U0Vzc2lvbi4gQWRk
IGEgdmlydHVhbCBtZXRob2QgdG8gQ0RNSW50ZXJmYWNlIHRvIGFsbG93IGl0IHRvIGJlCisgICAg
ICAgIG5vdGlmaWVkIG9mIEhEQ1Agc3RhdHVzIGNoYW5nZXMuIE92ZXJyaWRlIHRoaXMgbWV0aG9k
IGluCisgICAgICAgIENETUluc3RhbmNlRmFpclBsYXlTdHJlYW1pbmdBVkZPYmpDLiBIb29rIHVw
IHRoZQorICAgICAgICBvdXRwdXRPYnNjdXJlZER1ZVRvSW5zdWZmaWNpZW50RXh0ZXJuYWxQcm90
ZWN0aW9uQ2hhbmdlZCgpIG1ldGhvZHMgaW4gYm90aAorICAgICAgICBNZWRpYVBsYXllclByaXZh
dGVBVkZvdW5kYXRpb25PYmpDIGFuZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9i
akMgdG8gdGhpcyBuZXcKKyAgICAgICAgQ0RNSW5zdGFuY2UgbWV0aG9kLiBBZGQgYW4gSW50ZXJu
YWxzIG1ldGhvZCB0byBzaW11bGF0ZSBhbiBIRENQIGVycm9yIGZvciB0ZXN0aW5nIHB1cnBvc2Vz
LgorCisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFLZXlTZXNzaW9uOjpNZWRpYUtleVNlc3Npb24pOgor
ICAgICAgICAoV2ViQ29yZTo6TWVkaWFLZXlTZXNzaW9uOjp+TWVkaWFLZXlTZXNzaW9uKToKKyAg
ICAgICAgKFdlYkNvcmU6Ok1lZGlhS2V5U2Vzc2lvbjo6dXBkYXRlS2V5U3RhdHVzZXMpOgorICAg
ICAgICAqIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9uLmg6CisgICAgICAg
ICogcGxhdGZvcm0vZW5jcnlwdGVkbWVkaWEvQ0RNSW5zdGFuY2UuaDoKKyAgICAgICAgKFdlYkNv
cmU6OkNETUluc3RhbmNlOjpzZXRIRENQU3RhdHVzKToKKyAgICAgICAgKFdlYkNvcmU6OkNETUlu
c3RhbmNlOjpzZXRDbGllbnQpOgorICAgICAgICAoV2ViQ29yZTo6Q0RNSW5zdGFuY2U6OmNsZWFy
Q2xpZW50KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllcjo6YmVnaW5TaW11bGF0ZWRIRENQRXJyb3IpOgor
ICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXI6OmVuZFNpbXVsYXRlZEhEQ1BFcnJvcik6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUuaDoKKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZTo6YmVnaW5TaW11bGF0ZWRIRENQRXJyb3IpOgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlOjplbmRTaW11bGF0ZWRI
RENQRXJyb3IpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpj
L0NETUluc3RhbmNlRmFpclBsYXlTdHJlYW1pbmdBVkZPYmpDLmg6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvQ0RNSW5zdGFuY2VGYWlyUGxheVN0cmVhbWlu
Z0FWRk9iakMubW06CisgICAgICAgIChXZWJDb3JlOjpDRE1JbnN0YW5jZUZhaXJQbGF5U3RyZWFt
aW5nQVZGT2JqQzo6c2V0Q2xpZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkNETUluc3RhbmNlRmFp
clBsYXlTdHJlYW1pbmdBVkZPYmpDOjpjbGVhckNsaWVudCk6CisgICAgICAgIChXZWJDb3JlOjpD
RE1JbnN0YW5jZUZhaXJQbGF5U3RyZWFtaW5nQVZGT2JqQzo6c2Vzc2lvbklkZW50aWZpZXJDaGFu
Z2VkKToKKyAgICAgICAgKFdlYkNvcmU6OkNETUluc3RhbmNlRmFpclBsYXlTdHJlYW1pbmdBVkZP
YmpDOjpvdXRwdXRPYnNjdXJlZER1ZVRvSW5zdWZmaWNpZW50RXh0ZXJuYWxQcm90ZWN0aW9uQ2hh
bmdlZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVk
aWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5oOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9i
akMubW06CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25P
YmpDOjpvdXRwdXRPYnNjdXJlZER1ZVRvSW5zdWZmaWNpZW50RXh0ZXJuYWxQcm90ZWN0aW9uQ2hh
bmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpwbGF5ZXJLVk9Qcm9wZXJ0aWVzKToKKyAgICAgICAg
KC1bV2ViQ29yZUFWRk1vdmllT2JzZXJ2ZXIgb2JzZXJ2ZVZhbHVlRm9yS2V5UGF0aDpvZk9iamVj
dDpjaGFuZ2U6Y29udGV4dDpdKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5k
YXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMuaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZh
dGVNZWRpYVNvdXJjZUFWRk9iakMubW06CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclBy
aXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6Om91dHB1dE9ic2N1cmVkRHVlVG9JbnN1ZmZpY2llbnRF
eHRlcm5hbFByb3RlY3Rpb25DaGFuZ2VkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vb2JqYy9Tb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQy5oOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL1NvdXJjZUJ1ZmZlclByaXZhdGVB
VkZPYmpDLm1tOgorICAgICAgICAoLVtXZWJBVlNhbXBsZUJ1ZmZlckVycm9yTGlzdGVuZXIgb2Jz
ZXJ2ZVZhbHVlRm9yS2V5UGF0aDpvZk9iamVjdDpjaGFuZ2U6Y29udGV4dDpdKToKKyAgICAgICAg
KFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjpvdXRwdXRPYnNjdXJlZER1ZVRv
SW5zdWZmaWNpZW50RXh0ZXJuYWxQcm90ZWN0aW9uQ2hhbmdlZCk6CisgICAgICAgICogdGVzdGlu
Zy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpiZWdpblNpbXVs
YXRlZEhEQ1BFcnJvcik6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6OmVuZFNpbXVsYXRl
ZEhEQ1BFcnJvcik6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaDoKKyAgICAgICAgKiB0
ZXN0aW5nL0ludGVybmFscy5pZGw6CisKIDIwMTgtMDItMDkgIEplciBOb2JsZSAgPGplci5ub2Js
ZUBhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZpbmcgdGhlIGNvbnRyb2xzIGF0dHJpYnV0ZSBm
cm9tIGEgPHZpZGVvPiBlbGVtZW50IGRvZXMgbm90IHRlYXIgZG93biB0aGUgY29udHJvbHMgc2hh
ZG93IERPTSBub3IgY2FuY2VsIGV2ZW50IGxpc3RlbmVycy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9uLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9uLmNwcAppbmRl
eCA0N2I3NzJjOGYwYjhkMzkzYjU0NGVlNTA4MjFlNmRkMDZjNWNhYzFjLi5kNWFjZWRhZTM2MzVi
Nzg3MWU3ZTE0YzEyMjkwOTNhYjA4OGVjZjIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uY3BwCkBAIC04Nywx
MSArODcsMTQgQEAgTWVkaWFLZXlTZXNzaW9uOjpNZWRpYUtleVNlc3Npb24oU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCYgY29udGV4dCwgV2Vha1B0cjxNZWRpYUsKICAgICBVTlVTRURfUEFSQU0obV91
c2VEaXN0aW5jdGl2ZUlkZW50aWZpZXIpOwogICAgIFVOVVNFRF9QQVJBTShtX2Nsb3NlZCk7CiAg
ICAgVU5VU0VEX1BBUkFNKG1fdW5pbml0aWFsaXplZCk7CisKKyAgICBtX2luc3RhbmNlLT5zZXRD
bGllbnQoKnRoaXMpOwogfQogCiBNZWRpYUtleVNlc3Npb246On5NZWRpYUtleVNlc3Npb24oKQog
ewogICAgIG1fa2V5U3RhdHVzZXMtPmRldGFjaFNlc3Npb24oKTsKKyAgICBtX2luc3RhbmNlLT5j
bGVhckNsaWVudCgpOwogfQogCiBjb25zdCBTdHJpbmcmIE1lZGlhS2V5U2Vzc2lvbjo6c2Vzc2lv
bklkKCkgY29uc3QKQEAgLTU5Niw3ICs1OTksNyBAQCB2b2lkIE1lZGlhS2V5U2Vzc2lvbjo6ZW5x
dWV1ZU1lc3NhZ2UoTWVkaWFLZXlNZXNzYWdlVHlwZSBtZXNzYWdlVHlwZSwgY29uc3QgU2hhcgog
ICAgIG1fZXZlbnRRdWV1ZS5lbnF1ZXVlRXZlbnQoV1RGTW92ZShtZXNzYWdlRXZlbnQpKTsKIH0K
IAotdm9pZCBNZWRpYUtleVNlc3Npb246OnVwZGF0ZUtleVN0YXR1c2VzKENETUluc3RhbmNlOjpL
ZXlTdGF0dXNWZWN0b3ImJiBpbnB1dFN0YXR1c2VzKQordm9pZCBNZWRpYUtleVNlc3Npb246OnVw
ZGF0ZUtleVN0YXR1c2VzKENETUluc3RhbmNlQ2xpZW50OjpLZXlTdGF0dXNWZWN0b3ImJiBpbnB1
dFN0YXR1c2VzKQogewogICAgIC8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9lbmNyeXB0ZWQtbWVk
aWEvI3VwZGF0ZS1rZXktc3RhdHVzZXMKICAgICAvLyBXM0MgRWRpdG9yJ3MgRHJhZnQgMDkgTm92
ZW1iZXIgMjAxNgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRt
ZWRpYS9NZWRpYUtleVNlc3Npb24uaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVk
bWVkaWEvTWVkaWFLZXlTZXNzaW9uLmgKaW5kZXggYmRmZmM3ZmMxMzk2NmZjNGNiZjQ4YjRiZGMz
ZDM3MGMyMjA2NzgzYS4uZWNjNTdiNDUwY2RhYmZjNThlNjA3NDUxY2EzYTBlMTM5ZGJjMGE3YiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtl
eVNlc3Npb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01l
ZGlhS2V5U2Vzc2lvbi5oCkBAIC01Miw3ICs1Miw3IEBAIGNsYXNzIE1lZGlhS2V5U3RhdHVzTWFw
OwogY2xhc3MgTWVkaWFLZXlzOwogY2xhc3MgU2hhcmVkQnVmZmVyOwogCi1jbGFzcyBNZWRpYUtl
eVNlc3Npb24gZmluYWwgOiBwdWJsaWMgUmVmQ291bnRlZDxNZWRpYUtleVNlc3Npb24+LCBwdWJs
aWMgRXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0YSwgcHVibGljIEFjdGl2ZURPTU9iamVjdCB7Citj
bGFzcyBNZWRpYUtleVNlc3Npb24gZmluYWwgOiBwdWJsaWMgUmVmQ291bnRlZDxNZWRpYUtleVNl
c3Npb24+LCBwdWJsaWMgRXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0YSwgcHVibGljIEFjdGl2ZURP
TU9iamVjdCwgcHVibGljIENETUluc3RhbmNlQ2xpZW50IHsKIHB1YmxpYzoKICAgICBzdGF0aWMg
UmVmPE1lZGlhS2V5U2Vzc2lvbj4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBXZWFr
UHRyPE1lZGlhS2V5cz4mJiwgTWVkaWFLZXlTZXNzaW9uVHlwZSwgYm9vbCB1c2VEaXN0aW5jdGl2
ZUlkZW50aWZpZXIsIFJlZjxDRE0+JiYsIFJlZjxDRE1JbnN0YW5jZT4mJik7CiAgICAgdmlydHVh
bCB+TWVkaWFLZXlTZXNzaW9uKCk7CkBAIC04MCwxMSArODAsMTMgQEAgcHVibGljOgogcHJpdmF0
ZToKICAgICBNZWRpYUtleVNlc3Npb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFdlYWtQdHI8
TWVkaWFLZXlzPiYmLCBNZWRpYUtleVNlc3Npb25UeXBlLCBib29sIHVzZURpc3RpbmN0aXZlSWRl
bnRpZmllciwgUmVmPENETT4mJiwgUmVmPENETUluc3RhbmNlPiYmKTsKICAgICB2b2lkIGVucXVl
dWVNZXNzYWdlKE1lZGlhS2V5TWVzc2FnZVR5cGUsIGNvbnN0IFNoYXJlZEJ1ZmZlciYpOwotICAg
IHZvaWQgdXBkYXRlS2V5U3RhdHVzZXMoQ0RNSW5zdGFuY2U6OktleVN0YXR1c1ZlY3RvciYmKTsK
ICAgICB2b2lkIHVwZGF0ZUV4cGlyYXRpb24oZG91YmxlKTsKICAgICB2b2lkIHNlc3Npb25DbG9z
ZWQoKTsKICAgICBTdHJpbmcgbWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeSgpIGNvbnN0OwogCisg
ICAgLy8gQ0RNSW5zdGFuY2VDbGllbnQKKyAgICB2b2lkIHVwZGF0ZUtleVN0YXR1c2VzKENETUlu
c3RhbmNlQ2xpZW50OjpLZXlTdGF0dXNWZWN0b3ImJikgb3ZlcnJpZGU7CisKICAgICAvLyBFdmVu
dFRhcmdldAogICAgIEV2ZW50VGFyZ2V0SW50ZXJmYWNlIGV2ZW50VGFyZ2V0SW50ZXJmYWNlKCkg
Y29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gTWVkaWFLZXlTZXNzaW9uRXZlbnRUYXJnZXRJbnRlcmZh
Y2VUeXBlOyB9CiAgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIEFjdGl2ZURPTU9iamVjdDo6c2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCgpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9l
bmNyeXB0ZWRtZWRpYS9DRE1JbnN0YW5jZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZW5j
cnlwdGVkbWVkaWEvQ0RNSW5zdGFuY2UuaAppbmRleCA5NzFmNGJkNmQ1MzQyMzhhOGZmZjdlYjUz
MjNjMmU5NzhlMzU0ZDRmLi5lNjY1Y2NjOWI1YzNjYjY0MDViNDliNWM3MjM5MzM1MjJjYWUzOTgy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9lbmNyeXB0ZWRtZWRpYS9DRE1J
bnN0YW5jZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VuY3J5cHRlZG1lZGlhL0NE
TUluc3RhbmNlLmgKQEAgLTQzLDYgKzQzLDE1IEBAIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAogc3Ry
dWN0IENETUtleVN5c3RlbUNvbmZpZ3VyYXRpb247CiAKK2NsYXNzIENETUluc3RhbmNlQ2xpZW50
IHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5DRE1JbnN0YW5jZUNsaWVudCgpID0gZGVmYXVsdDsK
KworICAgIHVzaW5nIEtleVN0YXR1cyA9IENETUtleVN0YXR1czsKKyAgICB1c2luZyBLZXlTdGF0
dXNWZWN0b3IgPSBWZWN0b3I8c3RkOjpwYWlyPFJlZjxTaGFyZWRCdWZmZXI+LCBLZXlTdGF0dXM+
PjsKKyAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlS2V5U3RhdHVzZXMoS2V5U3RhdHVzVmVjdG9yJiYp
ID0gMDsKK307CisKIGNsYXNzIENETUluc3RhbmNlIDogcHVibGljIFJlZkNvdW50ZWQ8Q0RNSW5z
dGFuY2U+IHsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5DRE1JbnN0YW5jZSgpID0gZGVmYXVsdDsK
QEAgLTcwLDEwICs3OSwyMSBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBTdWNjZXNzVmFsdWUgc2V0
U2VydmVyQ2VydGlmaWNhdGUoUmVmPFNoYXJlZEJ1ZmZlcj4mJikgPSAwOwogICAgIHZpcnR1YWwg
U3VjY2Vzc1ZhbHVlIHNldFN0b3JhZ2VEaXJlY3RvcnkoY29uc3QgU3RyaW5nJikgPSAwOwogCisg
ICAgZW51bSBjbGFzcyBIRENQU3RhdHVzIHsKKyAgICAgICAgVW5rbm93biwKKyAgICAgICAgVmFs
aWQsCisgICAgICAgIE91dHB1dFJlc3RyaWN0ZWQsCisgICAgICAgIE91dHB1dERvd25zY2FsZWQs
CisgICAgfTsKKyAgICB2aXJ0dWFsIFN1Y2Nlc3NWYWx1ZSBzZXRIRENQU3RhdHVzKEhEQ1BTdGF0
dXMpIHsgcmV0dXJuIEZhaWxlZDsgfQorCisgICAgdmlydHVhbCB2b2lkIHNldENsaWVudChDRE1J
bnN0YW5jZUNsaWVudCYpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBjbGVhckNsaWVudCgpIHsgfQor
CiAgICAgdXNpbmcgTGljZW5zZUNhbGxiYWNrID0gRnVuY3Rpb248dm9pZChSZWY8U2hhcmVkQnVm
ZmVyPiYmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc2Vzc2lvbklkLCBib29sIG5lZWRzSW5kaXZp
ZHVhbGl6YXRpb24sIFN1Y2Nlc3NWYWx1ZSBzdWNjZWVkZWQpPjsKICAgICB2aXJ0dWFsIHZvaWQg
cmVxdWVzdExpY2Vuc2UoTGljZW5zZVR5cGUsIGNvbnN0IEF0b21pY1N0cmluZyYgaW5pdERhdGFU
eXBlLCBSZWY8U2hhcmVkQnVmZmVyPiYmIGluaXREYXRhLCBMaWNlbnNlQ2FsbGJhY2spID0gMDsK
IAotICAgIHVzaW5nIEtleVN0YXR1c1ZlY3RvciA9IFZlY3RvcjxzdGQ6OnBhaXI8UmVmPFNoYXJl
ZEJ1ZmZlcj4sIEtleVN0YXR1cz4+OworICAgIHVzaW5nIEtleVN0YXR1c1ZlY3RvciA9IENETUlu
c3RhbmNlQ2xpZW50OjpLZXlTdGF0dXNWZWN0b3I7CiAgICAgdXNpbmcgTWVzc2FnZSA9IHN0ZDo6
cGFpcjxNZXNzYWdlVHlwZSwgUmVmPFNoYXJlZEJ1ZmZlcj4+OwogICAgIHVzaW5nIExpY2Vuc2VV
cGRhdGVDYWxsYmFjayA9IEZ1bmN0aW9uPHZvaWQoYm9vbCBzZXNzaW9uV2FzQ2xvc2VkLCBzdGQ6
Om9wdGlvbmFsPEtleVN0YXR1c1ZlY3Rvcj4mJiBjaGFuZ2VkS2V5cywgc3RkOjpvcHRpb25hbDxk
b3VibGU+JiYgY2hhbmdlZEV4cGlyYXRpb24sIHN0ZDo6b3B0aW9uYWw8TWVzc2FnZT4mJiBtZXNz
YWdlLCBTdWNjZXNzVmFsdWUgc3VjY2VlZGVkKT47CiAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZUxp
Y2Vuc2UoY29uc3QgU3RyaW5nJiBzZXNzaW9uSWQsIExpY2Vuc2VUeXBlLCBjb25zdCBTaGFyZWRC
dWZmZXImIHJlc3BvbnNlLCBMaWNlbnNlVXBkYXRlQ2FsbGJhY2spID0gMDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcAppbmRleCAwMmYyNWY5
Mzg5YzcwNjdjZTVjYTNmNTE1YTEzNmY4OTRlNDEwMTQzLi5kM2RkMTBmMGVmZjg3Mzg4YjYxYmE4
ZTBkMTk2Njg1OWY3NTM1M2RmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9NZWRpYVBsYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvTWVkaWFQbGF5ZXIuY3BwCkBAIC0xMzc4LDYgKzEzNzgsMTggQEAgdm9pZCBNZWRpYVBs
YXllcjo6c2ltdWxhdGVBdWRpb0ludGVycnVwdGlvbigpCiB9CiAjZW5kaWYKIAordm9pZCBNZWRp
YVBsYXllcjo6YmVnaW5TaW11bGF0ZWRIRENQRXJyb3IoKQoreworICAgIGlmIChtX3ByaXZhdGUp
CisgICAgICAgIG1fcHJpdmF0ZS0+YmVnaW5TaW11bGF0ZWRIRENQRXJyb3IoKTsKK30KKwordm9p
ZCBNZWRpYVBsYXllcjo6ZW5kU2ltdWxhdGVkSERDUEVycm9yKCkKK3sKKyAgICBpZiAobV9wcml2
YXRlKQorICAgICAgICBtX3ByaXZhdGUtPmVuZFNpbXVsYXRlZEhEQ1BFcnJvcigpOworfQorCiBT
dHJpbmcgTWVkaWFQbGF5ZXI6Omxhbmd1YWdlT2ZQcmltYXJ5QXVkaW9UcmFjaygpIGNvbnN0CiB7
CiAgICAgaWYgKCFtX3ByaXZhdGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9NZWRpYVBsYXllci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvTWVkaWFQbGF5ZXIuaAppbmRleCAzMjk0OWZjMTliZDkyM2NkOTZkMzU2YzI4Y2UwNDY2Njcx
ODRkZWFjLi43ZmIxODQ4NTRlYzg4N2I1ZDdiZjk3YTU3NjE2ZmQ2NDI0OGFkOTQ2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgKQEAgLTU5NSw2
ICs1OTUsOSBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzaW11bGF0ZUF1ZGlv
SW50ZXJydXB0aW9uKCk7CiAjZW5kaWYKIAorICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgYmVnaW5T
aW11bGF0ZWRIRENQRXJyb3IoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGVuZFNpbXVsYXRl
ZEhEQ1BFcnJvcigpOworCiAgICAgU3RyaW5nIGxhbmd1YWdlT2ZQcmltYXJ5QXVkaW9UcmFjaygp
IGNvbnN0OwogCiAgICAgc2l6ZV90IGV4dHJhTWVtb3J5Q29zdCgpIGNvbnN0OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUuaApp
bmRleCBkOGM2YmFjNWYxMzhkNWEyNmZkNDEwY2M0YzI3NGRkOWJkNzUwYmQxLi5kM2YyNTAxNzcw
NDg1YzBmOGMxNTFiZDc0NjZlYTExNzkzNWUyNzBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUuaApAQCAtMjUzLDYgKzI1
Myw5IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2ltdWxhdGVBdWRpb0ludGVycnVwdGlv
bigpIHsgfQogI2VuZGlmCiAKKyAgICB2aXJ0dWFsIHZvaWQgYmVnaW5TaW11bGF0ZWRIRENQRXJy
b3IoKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgZW5kU2ltdWxhdGVkSERDUEVycm9yKCkgeyB9CisK
ICAgICB2aXJ0dWFsIFN0cmluZyBsYW5ndWFnZU9mUHJpbWFyeUF1ZGlvVHJhY2soKSBjb25zdCB7
IHJldHVybiBlbXB0eVN0cmluZygpOyB9CiAKICAgICB2aXJ0dWFsIHNpemVfdCBleHRyYU1lbW9y
eUNvc3QoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvYXZmb3VuZGF0aW9uL29iamMvQ0RNSW5zdGFuY2VGYWlyUGxheVN0cmVhbWluZ0FWRk9iakMu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL0NE
TUluc3RhbmNlRmFpclBsYXlTdHJlYW1pbmdBVkZPYmpDLmgKaW5kZXggNmZiNzYxOWE1Y2YzY2Nh
M2JmYWI5MWU3ZTVmYzIxZmUzMWVkZjczZi4uMjQzNGM1NzI4Y2YxZTBlMWY2YWE4ZjFhYTZlYmQ2
M2IwNGM3MWJlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
YXZmb3VuZGF0aW9uL29iamMvQ0RNSW5zdGFuY2VGYWlyUGxheVN0cmVhbWluZ0FWRk9iakMuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9D
RE1JbnN0YW5jZUZhaXJQbGF5U3RyZWFtaW5nQVZGT2JqQy5oCkBAIC02NSw2ICs2NSw4IEBAIHB1
YmxpYzoKICAgICB2b2lkIGNsb3NlU2Vzc2lvbihjb25zdCBTdHJpbmcmLCBDbG9zZVNlc3Npb25D
YWxsYmFjaykgZmluYWw7CiAgICAgdm9pZCByZW1vdmVTZXNzaW9uRGF0YShjb25zdCBTdHJpbmcm
LCBMaWNlbnNlVHlwZSwgUmVtb3ZlU2Vzc2lvbkRhdGFDYWxsYmFjaykgZmluYWw7CiAgICAgdm9p
ZCBzdG9yZVJlY29yZE9mS2V5VXNhZ2UoY29uc3QgU3RyaW5nJikgZmluYWw7CisgICAgdm9pZCBz
ZXRDbGllbnQoQ0RNSW5zdGFuY2VDbGllbnQmKSBmaW5hbDsKKyAgICB2b2lkIGNsZWFyQ2xpZW50
KCkgZmluYWw7CiAKICAgICBjb25zdCBTdHJpbmcmIGtleVN5c3RlbSgpIGNvbnN0IGZpbmFsOwog
CkBAIC03NCw2ICs3Niw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGRpZEZhaWxUb1Byb3ZpZGVSZXF1
ZXN0KEFWQ29udGVudEtleVJlcXVlc3QgKiwgTlNFcnJvciAqKTsKICAgICBib29sIHNob3VsZFJl
dHJ5UmVxdWVzdEZvclJlYXNvbihBVkNvbnRlbnRLZXlSZXF1ZXN0ICosIE5TU3RyaW5nICopOwog
ICAgIHZvaWQgc2Vzc2lvbklkZW50aWZpZXJDaGFuZ2VkKE5TRGF0YSAqKTsKKyAgICB2b2lkIG91
dHB1dE9ic2N1cmVkRHVlVG9JbnN1ZmZpY2llbnRFeHRlcm5hbFByb3RlY3Rpb25DaGFuZ2VkKGJv
b2wpOwogCiAgICAgQVZDb250ZW50S2V5U2Vzc2lvbiAqY29udGVudEtleVNlc3Npb24oKSB7IHJl
dHVybiBtX3Nlc3Npb24uZ2V0KCk7IH0KIApAQCAtOTEsNiArOTQsNyBAQCBwcml2YXRlOgogICAg
IFJldGFpblB0cjxBVkNvbnRlbnRLZXlSZXF1ZXN0PiBtX3JlcXVlc3Q7CiAgICAgUmV0YWluUHRy
PFdlYkNvcmVGUFNDb250ZW50S2V5U2Vzc2lvbkRlbGVnYXRlPiBtX2RlbGVnYXRlOwogICAgIFZl
Y3RvcjxSZXRhaW5QdHI8TlNEYXRhPj4gbV9leHBpcmVkU2Vzc2lvbnM7CisgICAgQ0RNSW5zdGFu
Y2VDbGllbnQqIG1fY2xpZW50OwogICAgIFN0cmluZyBtX3Nlc3Npb25JZDsKIAogICAgIExpY2Vu
c2VDYWxsYmFjayBtX3JlcXVlc3RMaWNlbnNlQ2FsbGJhY2s7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9DRE1JbnN0YW5jZUZh
aXJQbGF5U3RyZWFtaW5nQVZGT2JqQy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2F2Zm91bmRhdGlvbi9vYmpjL0NETUluc3RhbmNlRmFpclBsYXlTdHJlYW1pbmdBVkZPYmpD
Lm1tCmluZGV4IDdkNDQ4ZWY0ZDdhYWVlMWZlMGY4NzA2NDViODUzZmRkMDZlNmY4YzAuLmRkNWFk
MTk0ODc3NDVjM2I5MDMyNGU5NGJlNTI3MzRjMGQ1YjY2M2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL0NETUluc3RhbmNlRmFp
clBsYXlTdHJlYW1pbmdBVkZPYmpDLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL0NETUluc3RhbmNlRmFpclBsYXlTdHJlYW1pbmdBVkZP
YmpDLm1tCkBAIC00MDksNiArNDA5LDE2IEBAIHZvaWQgQ0RNSW5zdGFuY2VGYWlyUGxheVN0cmVh
bWluZ0FWRk9iakM6OnN0b3JlUmVjb3JkT2ZLZXlVc2FnZShjb25zdCBTdHJpbmcmKQogICAgIC8v
IG5vLW9wOyBrZXkgdXNhZ2UgZGF0YSBpcyBzdG9yZWQgYXV0b21hdGljYWxseS4KIH0KIAordm9p
ZCBDRE1JbnN0YW5jZUZhaXJQbGF5U3RyZWFtaW5nQVZGT2JqQzo6c2V0Q2xpZW50KENETUluc3Rh
bmNlQ2xpZW50JiBjbGllbnQpCit7CisgICAgbV9jbGllbnQgPSAmY2xpZW50OworfQorCit2b2lk
IENETUluc3RhbmNlRmFpclBsYXlTdHJlYW1pbmdBVkZPYmpDOjpjbGVhckNsaWVudCgpCit7Cisg
ICAgbV9jbGllbnQgPSBudWxscHRyOworfQorCiBjb25zdCBTdHJpbmcmIENETUluc3RhbmNlRmFp
clBsYXlTdHJlYW1pbmdBVkZPYmpDOjprZXlTeXN0ZW0oKSBjb25zdAogewogICAgIHN0YXRpYyBO
ZXZlckRlc3Ryb3llZDxTdHJpbmc+IHNfa2V5U3lzdGVtIHsgQVNDSUlMaXRlcmFsKCJjb20uYXBw
bGUuZnBzIikgfTsKQEAgLTQ4MCw3ICs0OTAsNDAgQEAgdm9pZCBDRE1JbnN0YW5jZUZhaXJQbGF5
U3RyZWFtaW5nQVZGT2JqQzo6c2Vzc2lvbklkZW50aWZpZXJDaGFuZ2VkKE5TRGF0YSAqc2Vzc2kK
IAogICAgIGF1dG8gc2Vzc2lvbklkZW50aWZpZXJTdHJpbmcgPSBhZG9wdE5TKFtbTlNTdHJpbmcg
YWxsb2NdIGluaXRXaXRoRGF0YTpzZXNzaW9uSWRlbnRpZmllciBlbmNvZGluZzpOU1VURjhTdHJp
bmdFbmNvZGluZ10pOwogICAgIG1fc2Vzc2lvbklkID0gc2Vzc2lvbklkZW50aWZpZXJTdHJpbmcu
Z2V0KCk7Ci19ICAgCit9CisKK3ZvaWQgQ0RNSW5zdGFuY2VGYWlyUGxheVN0cmVhbWluZ0FWRk9i
akM6Om91dHB1dE9ic2N1cmVkRHVlVG9JbnN1ZmZpY2llbnRFeHRlcm5hbFByb3RlY3Rpb25DaGFu
Z2VkKGJvb2wgb2JzY3VyZWQpCit7CisgICAgaWYgKCFtX2NsaWVudCB8fCAhbV9yZXF1ZXN0KQor
ICAgICAgICByZXR1cm47CisKKyAgICBDRE1LZXlTdGF0dXMgc3RhdHVzOworICAgIGlmIChvYnNj
dXJlZCkKKyAgICAgICAgc3RhdHVzID0gQ0RNS2V5U3RhdHVzOjpPdXRwdXRSZXN0cmljdGVkOwor
ICAgIGVsc2UgeworICAgICAgICBzd2l0Y2ggKG1fcmVxdWVzdC5nZXQoKS5zdGF0dXMpIHsKKyAg
ICAgICAgY2FzZSBBVkNvbnRlbnRLZXlSZXF1ZXN0U3RhdHVzUmVxdWVzdGluZ1Jlc3BvbnNlOgor
ICAgICAgICBjYXNlIEFWQ29udGVudEtleVJlcXVlc3RTdGF0dXNSZXRyaWVkOgorICAgICAgICAg
ICAgc3RhdHVzID0gQ0RNS2V5U3RhdHVzOjpTdGF0dXNQZW5kaW5nOworICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgIGNhc2UgQVZDb250ZW50S2V5UmVxdWVzdFN0YXR1c1JlY2VpdmVkUmVzcG9u
c2U6CisgICAgICAgIGNhc2UgQVZDb250ZW50S2V5UmVxdWVzdFN0YXR1c1JlbmV3ZWQ6CisgICAg
ICAgICAgICBzdGF0dXMgPSBDRE1LZXlTdGF0dXM6OlVzYWJsZTsKKyAgICAgICAgICAgIGJyZWFr
OworICAgICAgICBjYXNlIEFWQ29udGVudEtleVJlcXVlc3RTdGF0dXNDYW5jZWxsZWQ6CisgICAg
ICAgICAgICBzdGF0dXMgPSBDRE1LZXlTdGF0dXM6OlJlbGVhc2VkOworICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgIGNhc2UgQVZDb250ZW50S2V5UmVxdWVzdFN0YXR1c0ZhaWxlZDoKKyAgICAg
ICAgICAgIHN0YXR1cyA9IENETUtleVN0YXR1czo6SW50ZXJuYWxFcnJvcjsKKyAgICAgICAgICAg
IGJyZWFrOworICAgICAgICB9CisgICAgfQorCisgICAgYXV0byBrZXlTdGF0dXNlcyA9IGtleUlE
cygpLm1hcChbc3RhdHVzXSAoY29uc3QgUmVmPFNoYXJlZEJ1ZmZlcj4mIGtleUlEKSAtPiBLZXlT
dGF0dXNWZWN0b3I6OlZhbHVlVHlwZSB7CisgICAgICAgIHJldHVybiB7IGtleUlELmNvcHlSZWYo
KSwgc3RhdHVzIH07CisgICAgfSk7CisgICAgbV9jbGllbnQtPnVwZGF0ZUtleVN0YXR1c2VzKFdU
Rk1vdmUoa2V5U3RhdHVzZXMpKTsKK30KIAogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVB
VkZvdW5kYXRpb25PYmpDLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZv
dW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLmgKaW5kZXgg
Y2QxOGQ2MDllMjcyNTljNzdlMTIyYjllZGVlNGZkOWM3NmUwYjE0NC4uNTRmNDIwYmQwOTg1N2Yy
NWE1MTg4Mzg4M2QzMTNhZmRmYTNjNTQwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3Vu
ZGF0aW9uT2JqQy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMuaApAQCAtMTQw
LDggKzE0MCwxMCBAQCBwdWJsaWM6CiAgICAgdm9pZCBwbGF5YmFja1RhcmdldElzV2lyZWxlc3NE
aWRDaGFuZ2UoKTsKICNlbmRpZgogCi0jaWYgRU5BQkxFKExFR0FDWV9FTkNSWVBURURfTUVESUEp
CisjaWYgRU5BQkxFKExFR0FDWV9FTkNSWVBURURfTUVESUEpIHx8IChFTkFCTEUoRU5DUllQVEVE
X01FRElBKSAmJiBIQVZFKEFWQ09OVEVOVEtFWVNFU1NJT04pKQogICAgIHZvaWQgb3V0cHV0T2Jz
Y3VyZWREdWVUb0luc3VmZmljaWVudEV4dGVybmFsUHJvdGVjdGlvbkNoYW5nZWQoYm9vbCk7Cisg
ICAgdm9pZCBiZWdpblNpbXVsYXRlZEhEQ1BFcnJvcigpIG92ZXJyaWRlIHsgb3V0cHV0T2JzY3Vy
ZWREdWVUb0luc3VmZmljaWVudEV4dGVybmFsUHJvdGVjdGlvbkNoYW5nZWQodHJ1ZSk7IH0KKyAg
ICB2b2lkIGVuZFNpbXVsYXRlZEhEQ1BFcnJvcigpIG92ZXJyaWRlIHsgb3V0cHV0T2JzY3VyZWRE
dWVUb0luc3VmZmljaWVudEV4dGVybmFsUHJvdGVjdGlvbkNoYW5nZWQoZmFsc2UpOyB9CiAjZW5k
aWYKIAogI2lmIEVOQUJMRShBVkZfQ0FQVElPTlMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVB
VkZvdW5kYXRpb25PYmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZm
b3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQppbmRl
eCBlYTRjNDc2NDUyM2MxYmZlZjExYmVkMzc5MTgxMjA2YjEwZGYyZjdkLi40M2U2ZjMwOGY0OTg1
MDE2Yzg0ZGE4ODkyYjhmYzFlMzMzOTkwYTVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZv
dW5kYXRpb25PYmpDLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2
Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0KQEAg
LTI0NzQsMTMgKzI0NzQsMjEgQEAgc3RkOjp1bmlxdWVfcHRyPExlZ2FjeUNETVNlc3Npb24+IE1l
ZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OmNyZWF0ZVNlc3MKICAgICBtX3Nlc3Np
b24gPSBzZXNzaW9uLT5jcmVhdGVXZWFrUHRyKCk7CiAgICAgcmV0dXJuIFdURk1vdmUoc2Vzc2lv
bik7CiB9CisjZW5kaWYKIAorI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEpIHx8IEVOQUJMRShM
RUdBQ1lfRU5DUllQVEVEX01FRElBKQogdm9pZCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRp
b25PYmpDOjpvdXRwdXRPYnNjdXJlZER1ZVRvSW5zdWZmaWNpZW50RXh0ZXJuYWxQcm90ZWN0aW9u
Q2hhbmdlZChib29sIG5ld1ZhbHVlKQogeworI2lmIEVOQUJMRShMRUdBQ1lfRU5DUllQVEVEX01F
RElBKQogICAgIGlmIChtX3Nlc3Npb24gJiYgbmV3VmFsdWUpCiAgICAgICAgIG1fc2Vzc2lvbi0+
cGxheWVyRGlkUmVjZWl2ZUVycm9yKFtOU0Vycm9yIGVycm9yV2l0aERvbWFpbjpAImNvbS5hcHBs
ZS5XZWJLaXQiIGNvZGU6J0hEQ1AnIHVzZXJJbmZvOm5pbF0pOwotfQorI2VuZGlmCiAKKyNpZiBF
TkFCTEUoRU5DUllQVEVEX01FRElBKSAmJiBIQVZFKEFWQ09OVEVOVEtFWVNFU1NJT04pCisgICAg
aWYgKG1fY2RtSW5zdGFuY2UpCisgICAgICAgIG1fY2RtSW5zdGFuY2UtPm91dHB1dE9ic2N1cmVk
RHVlVG9JbnN1ZmZpY2llbnRFeHRlcm5hbFByb3RlY3Rpb25DaGFuZ2VkKG5ld1ZhbHVlKTsKKyNl
bmRpZgorfQogI2VuZGlmCiAKICNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQpAQCAtMzI5MCw3
ICszMjk4LDcgQEAgTlNBcnJheSogcGxheWVyS1ZPUHJvcGVydGllcygpCiAgICAgICAgIEAiZXh0
ZXJuYWxQbGF5YmFja0FjdGl2ZSIsCiAgICAgICAgIEAiYWxsb3dzRXh0ZXJuYWxQbGF5YmFjayIs
CiAjZW5kaWYKLSNpZiBFTkFCTEUoTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkKKyNpZiBFTkFCTEUo
TEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgfHwgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKICAgICAg
ICAgQCJvdXRwdXRPYnNjdXJlZER1ZVRvSW5zdWZmaWNpZW50RXh0ZXJuYWxQcm90ZWN0aW9uIiwK
ICNlbmRpZgogICAgIG5pbF07CkBAIC0zNDA4LDcgKzM0MTYsNyBAQCAtICh2b2lkKW9ic2VydmVW
YWx1ZUZvcktleVBhdGg6a2V5UGF0aCBvZk9iamVjdDooaWQpb2JqZWN0IGNoYW5nZTooTlNEaWN0
aW9uYXJ5CiAgICAgICAgIGVsc2UgaWYgKFtrZXlQYXRoIGlzRXF1YWxUb1N0cmluZzpAImV4dGVy
bmFsUGxheWJhY2tBY3RpdmUiXSB8fCBba2V5UGF0aCBpc0VxdWFsVG9TdHJpbmc6QCJhbGxvd3NF
eHRlcm5hbFBsYXliYWNrIl0pCiAgICAgICAgICAgICBmdW5jdGlvbiA9IHN0ZDo6YmluZCgmTWVk
aWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6cGxheWJhY2tUYXJnZXRJc1dpcmVsZXNz
RGlkQ2hhbmdlLCBtX2NhbGxiYWNrKTsKICNlbmRpZgotI2lmIEVOQUJMRShMRUdBQ1lfRU5DUllQ
VEVEX01FRElBKQorI2lmIEVOQUJMRShMRUdBQ1lfRU5DUllQVEVEX01FRElBKSB8fCBFTkFCTEUo
RU5DUllQVEVEX01FRElBKQogICAgICAgICBlbHNlIGlmIChba2V5UGF0aCBpc0VxdWFsVG9TdHJp
bmc6QCJvdXRwdXRPYnNjdXJlZER1ZVRvSW5zdWZmaWNpZW50RXh0ZXJuYWxQcm90ZWN0aW9uIl0p
CiAgICAgICAgICAgICBmdW5jdGlvbiA9IHN0ZDo6YmluZCgmTWVkaWFQbGF5ZXJQcml2YXRlQVZG
b3VuZGF0aW9uT2JqQzo6b3V0cHV0T2JzY3VyZWREdWVUb0luc3VmZmljaWVudEV4dGVybmFsUHJv
dGVjdGlvbkNoYW5nZWQsIG1fY2FsbGJhY2ssIFtuZXdWYWx1ZSBib29sVmFsdWVdKTsKICNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclBy
aXZhdGVNZWRpYVNvdXJjZUFWRk9iakMuaAppbmRleCA2YWU1Yjg3MmZlYWIwNjYzZDZhMTZkNjYy
Njk3NzBlMGE3NGYxZTczLi4yZThkOTU5NWE3MzIxNGEyMGQ5ZmE1MjI3MDEyMDBlODk4MDkyNjEw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXll
clByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMuaApAQCAtMTM1LDYgKzEzNSwxMCBAQCBwdWJsaWM6
CiAKICNpZiBFTkFCTEUoTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgfHwgRU5BQkxFKEVOQ1JZUFRF
RF9NRURJQSkKICAgICB2b2lkIGtleU5lZWRlZChVaW50OEFycmF5Kik7CisKKyAgICB2b2lkIG91
dHB1dE9ic2N1cmVkRHVlVG9JbnN1ZmZpY2llbnRFeHRlcm5hbFByb3RlY3Rpb25DaGFuZ2VkKGJv
b2wpOworICAgIHZvaWQgYmVnaW5TaW11bGF0ZWRIRENQRXJyb3IoKSBvdmVycmlkZSB7IG91dHB1
dE9ic2N1cmVkRHVlVG9JbnN1ZmZpY2llbnRFeHRlcm5hbFByb3RlY3Rpb25DaGFuZ2VkKHRydWUp
OyB9CisgICAgdm9pZCBlbmRTaW11bGF0ZWRIRENQRXJyb3IoKSBvdmVycmlkZSB7IG91dHB1dE9i
c2N1cmVkRHVlVG9JbnN1ZmZpY2llbnRFeHRlcm5hbFByb3RlY3Rpb25DaGFuZ2VkKGZhbHNlKTsg
fQogI2VuZGlmCiAjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKICAgICB2b2lkIGluaXRpYWxp
emF0aW9uRGF0YUVuY291bnRlcmVkKGNvbnN0IFN0cmluZyYsIFJlZlB0cjxBcnJheUJ1ZmZlcj4m
Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5k
YXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW0gYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXll
clByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW0KaW5kZXggMGQ5MDdkNDY3YjAzNjVjZTExMTg0
ZWUwZWYxZGRmZDQzYTNjMGMyZi4uY2RjNTlhY2I5ZDJmOTkzM2YwYjMxZDRmYzU1YzhhNDI5MmRm
Nzk4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3Vu
ZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlh
UGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5tbQpAQCAtOTU2LDYgKzk1NiwxNCBAQCB2
b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6a2V5TmVlZGVkKFVpbnQ4
QXJyYXkqIGluaXREYXRhKQogewogICAgIG1fcGxheWVyLT5rZXlOZWVkZWQoaW5pdERhdGEpOwog
fQorCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6b3V0cHV0T2Jz
Y3VyZWREdWVUb0luc3VmZmljaWVudEV4dGVybmFsUHJvdGVjdGlvbkNoYW5nZWQoYm9vbCBvYnNj
dXJlZCkKK3sKKyNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQorICAgIGlmIChtX2NkbUluc3Rh
bmNlKQorICAgICAgICBtX2NkbUluc3RhbmNlLT5zZXRIRENQU3RhdHVzKG9ic2N1cmVkID8gQ0RN
SW5zdGFuY2U6OkhEQ1BTdGF0dXM6Ok91dHB1dFJlc3RyaWN0ZWQgOiBDRE1JbnN0YW5jZTo6SERD
UFN0YXR1czo6VmFsaWQpOworI2VuZGlmCit9CiAjZW5kaWYKIAogI2lmIEVOQUJMRShFTkNSWVBU
RURfTUVESUEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vb2JqYy9Tb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQy5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJp
dmF0ZUFWRk9iakMuaAppbmRleCA5MGQ1NTZiNGM3NWYzNThiMzBmMTczOTNhNWY4NjdmNGMxNmU1
YmM3Li4xMWYyZmE5MmQyZTZjMmNlZTIwNmU1ODZlNmQ1NmE0MDBjNDE5ZjRhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9Tb3Vy
Y2VCdWZmZXJQcml2YXRlQVZGT2JqQy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL1NvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDLmgKQEAg
LTExNiw2ICsxMTYsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCByZWdpc3RlckZvckVycm9yTm90aWZp
Y2F0aW9ucyhTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQ0Vycm9yQ2xpZW50Kik7CiAgICAgdm9p
ZCB1bnJlZ2lzdGVyRm9yRXJyb3JOb3RpZmljYXRpb25zKFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZP
YmpDRXJyb3JDbGllbnQqKTsKICAgICB2b2lkIGxheWVyRGlkUmVjZWl2ZUVycm9yKEFWU2FtcGxl
QnVmZmVyRGlzcGxheUxheWVyICosIE5TRXJyb3IgKik7CisgICAgdm9pZCBvdXRwdXRPYnNjdXJl
ZER1ZVRvSW5zdWZmaWNpZW50RXh0ZXJuYWxQcm90ZWN0aW9uQ2hhbmdlZChib29sKTsKICNwcmFn
bWEgY2xhbmcgZGlhZ25vc3RpYyBwdXNoCiAjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgaWdub3Jl
ZCAiLVd1bmtub3duLXByYWdtYXMiCiAjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgaWdub3JlZCAi
LVd1bmd1YXJkZWQtYXZhaWxhYmlsaXR5LW5ldyIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL1NvdXJjZUJ1ZmZlclByaXZhdGVB
VkZPYmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9u
L29iamMvU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMubW0KaW5kZXggYjVlNzAzYTZkOTNlZTRj
NmE0ODJjODNhYjliOGNiY2YxM2JmNWZlYy4uNGE5YjViMTk5MTAxNmU3OWU1YTI0NjBjMjNiNmU0
MzJmNWNlNmI2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
YXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMubW0KKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVm
ZmVyUHJpdmF0ZUFWRk9iakMubW0KQEAgLTM3MywxMiArMzczLDkgQEAgLSAodm9pZClvYnNlcnZl
VmFsdWVGb3JLZXlQYXRoOihOU1N0cmluZyAqKWtleVBhdGggb2ZPYmplY3Q6KGlkKW9iamVjdCBj
aGFuZ2U6KE4KICAgICAgICAgICAgICAgICBwcm90ZWN0ZWRTZWxmLT5fcGFyZW50LT5sYXllckRp
ZFJlY2VpdmVFcnJvcihsYXllci5nZXQoKSwgZXJyb3IuZ2V0KCkpOwogICAgICAgICAgICAgfSk7
CiAgICAgICAgIH0gZWxzZSBpZiAoW2tleVBhdGggaXNFcXVhbFRvOkAib3V0cHV0T2JzY3VyZWRE
dWVUb0luc3VmZmljaWVudEV4dGVybmFsUHJvdGVjdGlvbiJdKSB7Ci0gICAgICAgICAgICBpZiAo
W1tjaGFuZ2UgdmFsdWVGb3JLZXk6TlNLZXlWYWx1ZUNoYW5nZU5ld0tleV0gYm9vbFZhbHVlXSkg
ewotICAgICAgICAgICAgICAgIFJldGFpblB0cjxOU0Vycm9yPiBlcnJvciA9IFtOU0Vycm9yIGVy
cm9yV2l0aERvbWFpbjpAImNvbS5hcHBsZS5XZWJLaXQiIGNvZGU6J0hEQ1AnIHVzZXJJbmZvOm5p
bF07Ci0gICAgICAgICAgICAgICAgY2FsbE9uTWFpblRocmVhZChbcHJvdGVjdGVkU2VsZiA9IFdU
Rk1vdmUocHJvdGVjdGVkU2VsZiksIGxheWVyID0gV1RGTW92ZShsYXllciksIGVycm9yID0gV1RG
TW92ZShlcnJvcildIHsKLSAgICAgICAgICAgICAgICAgICAgcHJvdGVjdGVkU2VsZi0+X3BhcmVu
dC0+bGF5ZXJEaWRSZWNlaXZlRXJyb3IobGF5ZXIuZ2V0KCksIGVycm9yLmdldCgpKTsKLSAgICAg
ICAgICAgICAgICB9KTsKLSAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGNhbGxPbk1haW5UaHJl
YWQoW3Byb3RlY3RlZFNlbGYgPSBXVEZNb3ZlKHByb3RlY3RlZFNlbGYpLCBvYnNjdXJlZCA9IFtb
Y2hhbmdlIHZhbHVlRm9yS2V5Ok5TS2V5VmFsdWVDaGFuZ2VOZXdLZXldIGJvb2xWYWx1ZV1dIHsK
KyAgICAgICAgICAgICAgICBwcm90ZWN0ZWRTZWxmLT5fcGFyZW50LT5vdXRwdXRPYnNjdXJlZER1
ZVRvSW5zdWZmaWNpZW50RXh0ZXJuYWxQcm90ZWN0aW9uQ2hhbmdlZChvYnNjdXJlZCk7CisgICAg
ICAgICAgICB9KTsKICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNI
RUQoKTsKIApAQCAtOTg3LDYgKzk4NCwxOSBAQCB2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZP
YmpDOjpsYXllckRpZFJlY2VpdmVFcnJvcihBVlNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllcgogICAg
ICAgICBtX2NsaWVudC0+c291cmNlQnVmZmVyUHJpdmF0ZURpZFJlY2VpdmVSZW5kZXJpbmdFcnJv
cihlcnJvckNvZGUpOwogfQogCit2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjpvdXRw
dXRPYnNjdXJlZER1ZVRvSW5zdWZmaWNpZW50RXh0ZXJuYWxQcm90ZWN0aW9uQ2hhbmdlZChib29s
IG9ic2N1cmVkKQoreworI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEpICYmIEhBVkUoQVZDT05U
RU5US0VZU0VTU0lPTikKKyAgICBpZiAobV9tZWRpYVNvdXJjZS0+cGxheWVyKCktPmNkbUluc3Rh
bmNlKCkpIHsKKyAgICAgICAgbV9tZWRpYVNvdXJjZS0+cGxheWVyKCktPm91dHB1dE9ic2N1cmVk
RHVlVG9JbnN1ZmZpY2llbnRFeHRlcm5hbFByb3RlY3Rpb25DaGFuZ2VkKG9ic2N1cmVkKTsKKyAg
ICAgICAgcmV0dXJuOworICAgIH0KKyNlbmRpZgorCisgICAgUmV0YWluUHRyPE5TRXJyb3I+IGVy
cm9yID0gW05TRXJyb3IgZXJyb3JXaXRoRG9tYWluOkAiY29tLmFwcGxlLldlYktpdCIgY29kZTon
SERDUCcgdXNlckluZm86bmlsXTsKKyAgICBsYXllckRpZFJlY2VpdmVFcnJvcihtX2Rpc3BsYXlM
YXllci5nZXQoKSwgZXJyb3IuZ2V0KCkpOworfQorCiAjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMg
cHVzaAogI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIGlnbm9yZWQgIi1XdW5rbm93bi1wcmFnbWFz
IgogI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIGlnbm9yZWQgIi1XdW5ndWFyZGVkLWF2YWlsYWJp
bGl0eS1uZXciCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKaW5kZXggMGU2ZWY3MTUx
Zjg3OWQ2ZWExM2YwOGM1OGI3MTA1NTJkNjkyODk3OS4uNTFkYjY3Njc1NzBlZDcxODEwMWIzODA3
N2EyNzQ2YmM4YThiZjYwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApAQCAt
MzE0OSw2ICszMTQ5LDE4IEBAIEV4Y2VwdGlvbk9yPGJvb2w+IEludGVybmFsczo6bWVkaWFFbGVt
ZW50SGFzQ2hhcmFjdGVyaXN0aWMoSFRNTE1lZGlhRWxlbWVudCYgZWxlCiAgICAgcmV0dXJuIEV4
Y2VwdGlvbiB7IFN5bnRheEVycm9yIH07CiB9CiAKK3ZvaWQgSW50ZXJuYWxzOjpiZWdpblNpbXVs
YXRlZEhEQ1BFcnJvcihIVE1MTWVkaWFFbGVtZW50JiBlbGVtZW50KQoreworICAgIGlmIChhdXRv
IHBsYXllciA9IGVsZW1lbnQucGxheWVyKCkpCisgICAgICAgIHBsYXllci0+YmVnaW5TaW11bGF0
ZWRIRENQRXJyb3IoKTsKK30KKwordm9pZCBJbnRlcm5hbHM6OmVuZFNpbXVsYXRlZEhEQ1BFcnJv
cihIVE1MTWVkaWFFbGVtZW50JiBlbGVtZW50KQoreworICAgIGlmIChhdXRvIHBsYXllciA9IGVs
ZW1lbnQucGxheWVyKCkpCisgICAgICAgIHBsYXllci0+ZW5kU2ltdWxhdGVkSERDUEVycm9yKCk7
Cit9CisKICNlbmRpZgogCiBib29sIEludGVybmFsczo6aXNTZWxlY3RQb3B1cFZpc2libGUoSFRN
TFNlbGVjdEVsZW1lbnQmIGVsZW1lbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAppbmRl
eCBmN2M2YjEyZDlhOTU3ZDljYmM0NDc3ZjYyMGM1YzNjMTFmMDA2NzlhLi5iNjRmMTdjOTZhNGI4
ZDZlOWRhNzgwOTcyYWQ3Y2I3ZWE3YmI0MTg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFscy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxz
LmgKQEAgLTQ2Miw2ICs0NjIsOCBAQCBwdWJsaWM6CiAgICAgVmVjdG9yPFN0cmluZz4gbWVkaWFS
ZXNwb25zZUNvbnRlbnRSYW5nZXMoSFRNTE1lZGlhRWxlbWVudCYpOwogICAgIHZvaWQgc2ltdWxh
dGVBdWRpb0ludGVycnVwdGlvbihIVE1MTWVkaWFFbGVtZW50Jik7CiAgICAgRXhjZXB0aW9uT3I8
Ym9vbD4gbWVkaWFFbGVtZW50SGFzQ2hhcmFjdGVyaXN0aWMoSFRNTE1lZGlhRWxlbWVudCYsIGNv
bnN0IFN0cmluZyYpOworICAgIHZvaWQgYmVnaW5TaW11bGF0ZWRIRENQRXJyb3IoSFRNTE1lZGlh
RWxlbWVudCYpOworICAgIHZvaWQgZW5kU2ltdWxhdGVkSERDUEVycm9yKEhUTUxNZWRpYUVsZW1l
bnQmKTsKICNlbmRpZgogCiAgICAgYm9vbCBpc1NlbGVjdFBvcHVwVmlzaWJsZShIVE1MU2VsZWN0
RWxlbWVudCYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
aWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCmluZGV4IGIzMDcwMzYx
OTRkMjUwNDgwNmIxYmJhMTgxMzA1NDAyZDBjN2NlMjYuLjQ1MGE2YTU0Yzc4YzcxNzQ3ZjkyY2Jm
OTdjY2NmYjFmZGU0ODNhOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxzLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKQEAg
LTQyMCw2ICs0MjAsOCBAQCBlbnVtIEV2ZW50VGhyb3R0bGluZ0JlaGF2aW9yIHsKICAgICBbQ29u
ZGl0aW9uYWw9VklERU9dIHNlcXVlbmNlPERPTVN0cmluZz4gbWVkaWFSZXNwb25zZUNvbnRlbnRS
YW5nZXMoSFRNTE1lZGlhRWxlbWVudCBtZWRpYSk7CiAgICAgW0NvbmRpdGlvbmFsPVZJREVPXSB2
b2lkIHNpbXVsYXRlQXVkaW9JbnRlcnJ1cHRpb24oSFRNTE1lZGlhRWxlbWVudCBlbGVtZW50KTsK
ICAgICBbQ29uZGl0aW9uYWw9VklERU8sIE1heVRocm93RXhjZXB0aW9uXSBib29sZWFuIG1lZGlh
RWxlbWVudEhhc0NoYXJhY3RlcmlzdGljKEhUTUxNZWRpYUVsZW1lbnQgZWxlbWVudCwgRE9NU3Ry
aW5nIGNoYXJhY3RlcmlzdGljKTsKKyAgICBbQ29uZGl0aW9uYWw9VklERU9dIHZvaWQgYmVnaW5T
aW11bGF0ZWRIRENQRXJyb3IoSFRNTE1lZGlhRWxlbWVudCBtZWRpYSk7CisgICAgW0NvbmRpdGlv
bmFsPVZJREVPXSB2b2lkIGVuZFNpbXVsYXRlZEhEQ1BFcnJvcihIVE1MTWVkaWFFbGVtZW50IG1l
ZGlhKTsKIAogICAgIFtDb25kaXRpb25hbD1MRUdBQ1lfRU5DUllQVEVEX01FRElBXSB2b2lkIGlu
aXRpYWxpemVNb2NrQ0RNKCk7CiAgICAgW0NvbmRpdGlvbmFsPUVOQ1JZUFRFRF9NRURJQV0gTW9j
a0NETUZhY3RvcnkgcmVnaXN0ZXJNb2NrQ0RNKCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>334173</attachid>
            <date>2018-02-19 12:03:13 -0800</date>
            <delta_ts>2018-02-19 13:22:21 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-182935-20180219120312.patch</filename>
            <type>text/plain</type>
            <size>25961</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI4NzAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWE5MmFhMGJhN2E3M2I3
NTc3MWY2Mzk1MDBiYTNhYzE1YWYzZmMwMi4uMDU1ZTc3ZjY0M2Y5YWUyZWQxODNiMzhkNmY1MWNm
M2VlZmI3ODZhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU3IEBACisyMDE4LTAyLTE5ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFtFTUVdIEFkZCBtZWNoYW5p
c20gZm9yIE1lZGlhS2V5U2Vzc2lvbiB0byByZWFjdCB0byBIRENQIGNoYW5nZXMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MjkzNQorCisgICAgICAg
IFJldmlld2VkIGJ5IEVyaWMgQ2FybHNvbi4KKworICAgICAgICBBZGQgYSBjbGllbnQgY2FsbGJh
Y2sgaW50ZXJmYWNlIHRvIENETUludGVyZmFjZSB0byBhbGxvdyBzdWJjbGFzc2VzIHRvIGNvbW11
bmljYXRlIHVwIHRvCisgICAgICAgIE1lZGlhS2V5U0Vzc2lvbi4gQWRkIGEgdmlydHVhbCBtZXRo
b2QgdG8gQ0RNSW50ZXJmYWNlIHRvIGFsbG93IGl0IHRvIGJlIG5vdGlmaWVkIG9mIEhEQ1AKKyAg
ICAgICAgc3RhdHVzIGNoYW5nZXMuIE92ZXJyaWRlIHRoaXMgbWV0aG9kIGluIENETUluc3RhbmNl
RmFpclBsYXlTdHJlYW1pbmdBVkZPYmpDLiBIb29rIHVwIHRoZQorICAgICAgICBvdXRwdXRPYnNj
dXJlZER1ZVRvSW5zdWZmaWNpZW50RXh0ZXJuYWxQcm90ZWN0aW9uQ2hhbmdlZCgpIG1ldGhvZHMg
aW4gYm90aAorICAgICAgICBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDIGFuZCBN
ZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMgdG8gdGhpcyBuZXcKKyAgICAgICAg
Q0RNSW5zdGFuY2UgbWV0aG9kLiBBZGQgYW4gSW50ZXJuYWxzIG1ldGhvZCB0byBzaW11bGF0ZSBh
biBIRENQIGVycm9yIGZvciB0ZXN0aW5nIHB1cnBvc2VzLgorCisgICAgICAgICogTW9kdWxlcy9l
bmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFLZXlTZXNzaW9uOjpNZWRpYUtleVNlc3Npb24pOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFL
ZXlTZXNzaW9uOjp+TWVkaWFLZXlTZXNzaW9uKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhS2V5
U2Vzc2lvbjo6dXBkYXRlS2V5U3RhdHVzZXMpOgorICAgICAgICAqIE1vZHVsZXMvZW5jcnlwdGVk
bWVkaWEvTWVkaWFLZXlTZXNzaW9uLmg6CisgICAgICAgICogcGxhdGZvcm0vZW5jcnlwdGVkbWVk
aWEvQ0RNSW5zdGFuY2UuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNETUluc3RhbmNlOjpzZXRIRENQ
U3RhdHVzKToKKyAgICAgICAgKFdlYkNvcmU6OkNETUluc3RhbmNlOjpzZXRDbGllbnQpOgorICAg
ICAgICAoV2ViQ29yZTo6Q0RNSW5zdGFuY2U6OmNsZWFyQ2xpZW50KToKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBs
YXllcjo6YmVnaW5TaW11bGF0ZWRIRENQRXJyb3IpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQ
bGF5ZXI6OmVuZFNpbXVsYXRlZEhEQ1BFcnJvcik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvTWVkaWFQbGF5ZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXll
clByaXZhdGUuaDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFj
ZTo6YmVnaW5TaW11bGF0ZWRIRENQRXJyb3IpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5
ZXJQcml2YXRlSW50ZXJmYWNlOjplbmRTaW11bGF0ZWRIRENQRXJyb3IpOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL0NETUluc3RhbmNlRmFpclBsYXlTdHJl
YW1pbmdBVkZPYmpDLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9u
L29iamMvQ0RNSW5zdGFuY2VGYWlyUGxheVN0cmVhbWluZ0FWRk9iakMubW06CisgICAgICAgIChX
ZWJDb3JlOjpDRE1JbnN0YW5jZUZhaXJQbGF5U3RyZWFtaW5nQVZGT2JqQzo6c2V0Q2xpZW50KToK
KyAgICAgICAgKFdlYkNvcmU6OkNETUluc3RhbmNlRmFpclBsYXlTdHJlYW1pbmdBVkZPYmpDOjpj
bGVhckNsaWVudCk6CisgICAgICAgIChXZWJDb3JlOjpDRE1JbnN0YW5jZUZhaXJQbGF5U3RyZWFt
aW5nQVZGT2JqQzo6c2Vzc2lvbklkZW50aWZpZXJDaGFuZ2VkKToKKyAgICAgICAgKFdlYkNvcmU6
OkNETUluc3RhbmNlRmFpclBsYXlTdHJlYW1pbmdBVkZPYmpDOjpvdXRwdXRPYnNjdXJlZER1ZVRv
SW5zdWZmaWNpZW50RXh0ZXJuYWxQcm90ZWN0aW9uQ2hhbmdlZCk6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0
aW9uT2JqQy5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpj
L01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW06CisgICAgICAgIChXZWJDb3Jl
OjpNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpvdXRwdXRPYnNjdXJlZER1ZVRv
SW5zdWZmaWNpZW50RXh0ZXJuYWxQcm90ZWN0aW9uQ2hhbmdlZCk6CisgICAgICAgIChXZWJDb3Jl
OjpwbGF5ZXJLVk9Qcm9wZXJ0aWVzKToKKyAgICAgICAgKC1bV2ViQ29yZUFWRk1vdmllT2JzZXJ2
ZXIgb2JzZXJ2ZVZhbHVlRm9yS2V5UGF0aDpvZk9iamVjdDpjaGFuZ2U6Y29udGV4dDpdKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclBy
aXZhdGVNZWRpYVNvdXJjZUFWRk9iakMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW06
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6
Om91dHB1dE9ic2N1cmVkRHVlVG9JbnN1ZmZpY2llbnRFeHRlcm5hbFByb3RlY3Rpb25DaGFuZ2Vk
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9Tb3VyY2VC
dWZmZXJQcml2YXRlQVZGT2JqQy5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9vYmpjL1NvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDLm1tOgorICAgICAgICAoLVtX
ZWJBVlNhbXBsZUJ1ZmZlckVycm9yTGlzdGVuZXIgb2JzZXJ2ZVZhbHVlRm9yS2V5UGF0aDpvZk9i
amVjdDpjaGFuZ2U6Y29udGV4dDpdKToKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclBy
aXZhdGVBVkZPYmpDOjpvdXRwdXRPYnNjdXJlZER1ZVRvSW5zdWZmaWNpZW50RXh0ZXJuYWxQcm90
ZWN0aW9uQ2hhbmdlZCk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpiZWdpblNpbXVsYXRlZEhEQ1BFcnJvcik6CisgICAgICAg
IChXZWJDb3JlOjpJbnRlcm5hbHM6OmVuZFNpbXVsYXRlZEhEQ1BFcnJvcik6CisgICAgICAgICog
dGVzdGluZy9JbnRlcm5hbHMuaDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5pZGw6CisK
IDIwMTgtMDItMTkgIERhbmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgogCiAgICAgICAg
IERvIG5vdCBibG9jayBhdXRoZW50aWNhdGlvbiBjaGFsbGVuZ2UgdG8gbmF2aWdhdGVkIHJlc291
cmNlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9N
ZWRpYUtleVNlc3Npb24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRp
YS9NZWRpYUtleVNlc3Npb24uY3BwCmluZGV4IDQ3Yjc3MmM4ZjBiOGQzOTNiNTQ0ZWU1MDgyMWU2
ZGQwNmM1Y2FjMWMuLmQ1YWNlZGFlMzYzNWI3ODcxZTdlMTRjMTIyOTA5M2FiMDg4ZWNmMjEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlT
ZXNzaW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01l
ZGlhS2V5U2Vzc2lvbi5jcHAKQEAgLTg3LDExICs4NywxNCBAQCBNZWRpYUtleVNlc3Npb246Ok1l
ZGlhS2V5U2Vzc2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBXZWFrUHRyPE1l
ZGlhSwogICAgIFVOVVNFRF9QQVJBTShtX3VzZURpc3RpbmN0aXZlSWRlbnRpZmllcik7CiAgICAg
VU5VU0VEX1BBUkFNKG1fY2xvc2VkKTsKICAgICBVTlVTRURfUEFSQU0obV91bmluaXRpYWxpemVk
KTsKKworICAgIG1faW5zdGFuY2UtPnNldENsaWVudCgqdGhpcyk7CiB9CiAKIE1lZGlhS2V5U2Vz
c2lvbjo6fk1lZGlhS2V5U2Vzc2lvbigpCiB7CiAgICAgbV9rZXlTdGF0dXNlcy0+ZGV0YWNoU2Vz
c2lvbigpOworICAgIG1faW5zdGFuY2UtPmNsZWFyQ2xpZW50KCk7CiB9CiAKIGNvbnN0IFN0cmlu
ZyYgTWVkaWFLZXlTZXNzaW9uOjpzZXNzaW9uSWQoKSBjb25zdApAQCAtNTk2LDcgKzU5OSw3IEBA
IHZvaWQgTWVkaWFLZXlTZXNzaW9uOjplbnF1ZXVlTWVzc2FnZShNZWRpYUtleU1lc3NhZ2VUeXBl
IG1lc3NhZ2VUeXBlLCBjb25zdCBTaGFyCiAgICAgbV9ldmVudFF1ZXVlLmVucXVldWVFdmVudChX
VEZNb3ZlKG1lc3NhZ2VFdmVudCkpOwogfQogCi12b2lkIE1lZGlhS2V5U2Vzc2lvbjo6dXBkYXRl
S2V5U3RhdHVzZXMoQ0RNSW5zdGFuY2U6OktleVN0YXR1c1ZlY3RvciYmIGlucHV0U3RhdHVzZXMp
Cit2b2lkIE1lZGlhS2V5U2Vzc2lvbjo6dXBkYXRlS2V5U3RhdHVzZXMoQ0RNSW5zdGFuY2VDbGll
bnQ6OktleVN0YXR1c1ZlY3RvciYmIGlucHV0U3RhdHVzZXMpCiB7CiAgICAgLy8gaHR0cHM6Ly93
M2MuZ2l0aHViLmlvL2VuY3J5cHRlZC1tZWRpYS8jdXBkYXRlLWtleS1zdGF0dXNlcwogICAgIC8v
IFczQyBFZGl0b3IncyBEcmFmdCAwOSBOb3ZlbWJlciAyMDE2CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lvbi5oIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uaAppbmRleCBi
ZGZmYzdmYzEzOTY2ZmM0Y2JmNDhiNGJkYzNkMzcwYzIyMDY3ODNhLi5lY2M1N2I0NTBjZGFiZmM1
OGU2MDc0NTFjYTNhMGUxMzlkYmMwYTdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9uLmgKQEAgLTUyLDcgKzUyLDcg
QEAgY2xhc3MgTWVkaWFLZXlTdGF0dXNNYXA7CiBjbGFzcyBNZWRpYUtleXM7CiBjbGFzcyBTaGFy
ZWRCdWZmZXI7CiAKLWNsYXNzIE1lZGlhS2V5U2Vzc2lvbiBmaW5hbCA6IHB1YmxpYyBSZWZDb3Vu
dGVkPE1lZGlhS2V5U2Vzc2lvbj4sIHB1YmxpYyBFdmVudFRhcmdldFdpdGhJbmxpbmVEYXRhLCBw
dWJsaWMgQWN0aXZlRE9NT2JqZWN0IHsKK2NsYXNzIE1lZGlhS2V5U2Vzc2lvbiBmaW5hbCA6IHB1
YmxpYyBSZWZDb3VudGVkPE1lZGlhS2V5U2Vzc2lvbj4sIHB1YmxpYyBFdmVudFRhcmdldFdpdGhJ
bmxpbmVEYXRhLCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0LCBwdWJsaWMgQ0RNSW5zdGFuY2VDbGll
bnQgewogcHVibGljOgogICAgIHN0YXRpYyBSZWY8TWVkaWFLZXlTZXNzaW9uPiBjcmVhdGUoU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCYsIFdlYWtQdHI8TWVkaWFLZXlzPiYmLCBNZWRpYUtleVNlc3Np
b25UeXBlLCBib29sIHVzZURpc3RpbmN0aXZlSWRlbnRpZmllciwgUmVmPENETT4mJiwgUmVmPENE
TUluc3RhbmNlPiYmKTsKICAgICB2aXJ0dWFsIH5NZWRpYUtleVNlc3Npb24oKTsKQEAgLTgwLDEx
ICs4MCwxMyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIE1lZGlhS2V5U2Vzc2lvbihTY3JpcHRF
eGVjdXRpb25Db250ZXh0JiwgV2Vha1B0cjxNZWRpYUtleXM+JiYsIE1lZGlhS2V5U2Vzc2lvblR5
cGUsIGJvb2wgdXNlRGlzdGluY3RpdmVJZGVudGlmaWVyLCBSZWY8Q0RNPiYmLCBSZWY8Q0RNSW5z
dGFuY2U+JiYpOwogICAgIHZvaWQgZW5xdWV1ZU1lc3NhZ2UoTWVkaWFLZXlNZXNzYWdlVHlwZSwg
Y29uc3QgU2hhcmVkQnVmZmVyJik7Ci0gICAgdm9pZCB1cGRhdGVLZXlTdGF0dXNlcyhDRE1JbnN0
YW5jZTo6S2V5U3RhdHVzVmVjdG9yJiYpOwogICAgIHZvaWQgdXBkYXRlRXhwaXJhdGlvbihkb3Vi
bGUpOwogICAgIHZvaWQgc2Vzc2lvbkNsb3NlZCgpOwogICAgIFN0cmluZyBtZWRpYUtleXNTdG9y
YWdlRGlyZWN0b3J5KCkgY29uc3Q7CiAKKyAgICAvLyBDRE1JbnN0YW5jZUNsaWVudAorICAgIHZv
aWQgdXBkYXRlS2V5U3RhdHVzZXMoQ0RNSW5zdGFuY2VDbGllbnQ6OktleVN0YXR1c1ZlY3RvciYm
KSBvdmVycmlkZTsKKwogICAgIC8vIEV2ZW50VGFyZ2V0CiAgICAgRXZlbnRUYXJnZXRJbnRlcmZh
Y2UgZXZlbnRUYXJnZXRJbnRlcmZhY2UoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBNZWRpYUtl
eVNlc3Npb25FdmVudFRhcmdldEludGVyZmFjZVR5cGU7IH0KICAgICBTY3JpcHRFeGVjdXRpb25D
b250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4g
QWN0aXZlRE9NT2JqZWN0OjpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7IH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VuY3J5cHRlZG1lZGlhL0NETUluc3RhbmNlLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9lbmNyeXB0ZWRtZWRpYS9DRE1JbnN0YW5jZS5oCmluZGV4
IDk3MWY0YmQ2ZDUzNDIzOGE4ZmZmN2ViNTMyM2MyZTk3OGUzNTRkNGYuLmU2NjVjY2M5YjVjM2Ni
NjQwNWI0OWI1YzcyMzkzMzUyMmNhZTM5ODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2VuY3J5cHRlZG1lZGlhL0NETUluc3RhbmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZW5jcnlwdGVkbWVkaWEvQ0RNSW5zdGFuY2UuaApAQCAtNDMsNiArNDMsMTUgQEAg
Y2xhc3MgU2hhcmVkQnVmZmVyOwogCiBzdHJ1Y3QgQ0RNS2V5U3lzdGVtQ29uZmlndXJhdGlvbjsK
IAorY2xhc3MgQ0RNSW5zdGFuY2VDbGllbnQgeworcHVibGljOgorICAgIHZpcnR1YWwgfkNETUlu
c3RhbmNlQ2xpZW50KCkgPSBkZWZhdWx0OworCisgICAgdXNpbmcgS2V5U3RhdHVzID0gQ0RNS2V5
U3RhdHVzOworICAgIHVzaW5nIEtleVN0YXR1c1ZlY3RvciA9IFZlY3RvcjxzdGQ6OnBhaXI8UmVm
PFNoYXJlZEJ1ZmZlcj4sIEtleVN0YXR1cz4+OworICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVLZXlT
dGF0dXNlcyhLZXlTdGF0dXNWZWN0b3ImJikgPSAwOworfTsKKwogY2xhc3MgQ0RNSW5zdGFuY2Ug
OiBwdWJsaWMgUmVmQ291bnRlZDxDRE1JbnN0YW5jZT4gewogcHVibGljOgogICAgIHZpcnR1YWwg
fkNETUluc3RhbmNlKCkgPSBkZWZhdWx0OwpAQCAtNzAsMTAgKzc5LDIxIEBAIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIFN1Y2Nlc3NWYWx1ZSBzZXRTZXJ2ZXJDZXJ0aWZpY2F0ZShSZWY8U2hhcmVkQnVm
ZmVyPiYmKSA9IDA7CiAgICAgdmlydHVhbCBTdWNjZXNzVmFsdWUgc2V0U3RvcmFnZURpcmVjdG9y
eShjb25zdCBTdHJpbmcmKSA9IDA7CiAKKyAgICBlbnVtIGNsYXNzIEhEQ1BTdGF0dXMgeworICAg
ICAgICBVbmtub3duLAorICAgICAgICBWYWxpZCwKKyAgICAgICAgT3V0cHV0UmVzdHJpY3RlZCwK
KyAgICAgICAgT3V0cHV0RG93bnNjYWxlZCwKKyAgICB9OworICAgIHZpcnR1YWwgU3VjY2Vzc1Zh
bHVlIHNldEhEQ1BTdGF0dXMoSERDUFN0YXR1cykgeyByZXR1cm4gRmFpbGVkOyB9CisKKyAgICB2
aXJ0dWFsIHZvaWQgc2V0Q2xpZW50KENETUluc3RhbmNlQ2xpZW50JikgeyB9CisgICAgdmlydHVh
bCB2b2lkIGNsZWFyQ2xpZW50KCkgeyB9CisKICAgICB1c2luZyBMaWNlbnNlQ2FsbGJhY2sgPSBG
dW5jdGlvbjx2b2lkKFJlZjxTaGFyZWRCdWZmZXI+JiYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBz
ZXNzaW9uSWQsIGJvb2wgbmVlZHNJbmRpdmlkdWFsaXphdGlvbiwgU3VjY2Vzc1ZhbHVlIHN1Y2Nl
ZWRlZCk+OwogICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0TGljZW5zZShMaWNlbnNlVHlwZSwgY29u
c3QgQXRvbWljU3RyaW5nJiBpbml0RGF0YVR5cGUsIFJlZjxTaGFyZWRCdWZmZXI+JiYgaW5pdERh
dGEsIExpY2Vuc2VDYWxsYmFjaykgPSAwOwogCi0gICAgdXNpbmcgS2V5U3RhdHVzVmVjdG9yID0g
VmVjdG9yPHN0ZDo6cGFpcjxSZWY8U2hhcmVkQnVmZmVyPiwgS2V5U3RhdHVzPj47CisgICAgdXNp
bmcgS2V5U3RhdHVzVmVjdG9yID0gQ0RNSW5zdGFuY2VDbGllbnQ6OktleVN0YXR1c1ZlY3RvcjsK
ICAgICB1c2luZyBNZXNzYWdlID0gc3RkOjpwYWlyPE1lc3NhZ2VUeXBlLCBSZWY8U2hhcmVkQnVm
ZmVyPj47CiAgICAgdXNpbmcgTGljZW5zZVVwZGF0ZUNhbGxiYWNrID0gRnVuY3Rpb248dm9pZChi
b29sIHNlc3Npb25XYXNDbG9zZWQsIHN0ZDo6b3B0aW9uYWw8S2V5U3RhdHVzVmVjdG9yPiYmIGNo
YW5nZWRLZXlzLCBzdGQ6Om9wdGlvbmFsPGRvdWJsZT4mJiBjaGFuZ2VkRXhwaXJhdGlvbiwgc3Rk
OjpvcHRpb25hbDxNZXNzYWdlPiYmIG1lc3NhZ2UsIFN1Y2Nlc3NWYWx1ZSBzdWNjZWVkZWQpPjsK
ICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlTGljZW5zZShjb25zdCBTdHJpbmcmIHNlc3Npb25JZCwg
TGljZW5zZVR5cGUsIGNvbnN0IFNoYXJlZEJ1ZmZlciYgcmVzcG9uc2UsIExpY2Vuc2VVcGRhdGVD
YWxsYmFjaykgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvTWVkaWFQbGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVk
aWFQbGF5ZXIuY3BwCmluZGV4IDAyZjI1ZjkzODljNzA2N2NlNWNhM2Y1MTVhMTM2Zjg5NGU0MTAx
NDMuLmQzZGQxMGYwZWZmODczODhiNjFiYThlMGQxOTY2ODU5Zjc1MzUzZGYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKQEAgLTEzNzgs
NiArMTM3OCwxOCBAQCB2b2lkIE1lZGlhUGxheWVyOjpzaW11bGF0ZUF1ZGlvSW50ZXJydXB0aW9u
KCkKIH0KICNlbmRpZgogCit2b2lkIE1lZGlhUGxheWVyOjpiZWdpblNpbXVsYXRlZEhEQ1BFcnJv
cigpCit7CisgICAgaWYgKG1fcHJpdmF0ZSkKKyAgICAgICAgbV9wcml2YXRlLT5iZWdpblNpbXVs
YXRlZEhEQ1BFcnJvcigpOworfQorCit2b2lkIE1lZGlhUGxheWVyOjplbmRTaW11bGF0ZWRIRENQ
RXJyb3IoKQoreworICAgIGlmIChtX3ByaXZhdGUpCisgICAgICAgIG1fcHJpdmF0ZS0+ZW5kU2lt
dWxhdGVkSERDUEVycm9yKCk7Cit9CisKIFN0cmluZyBNZWRpYVBsYXllcjo6bGFuZ3VhZ2VPZlBy
aW1hcnlBdWRpb1RyYWNrKCkgY29uc3QKIHsKICAgICBpZiAoIW1fcHJpdmF0ZSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCmluZGV4IDMyOTQ5ZmMx
OWJkOTIzY2Q5NmQzNTZjMjhjZTA0NjY2NzE4NGRlYWMuLjdmYjE4NDg1NGVjODg3YjVkN2JmOTdh
NTc2MTZmZDY0MjQ4YWQ5NDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL01lZGlhUGxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvTWVkaWFQbGF5ZXIuaApAQCAtNTk1LDYgKzU5NSw5IEBAIHB1YmxpYzoKICAgICBXRUJDT1JF
X0VYUE9SVCB2b2lkIHNpbXVsYXRlQXVkaW9JbnRlcnJ1cHRpb24oKTsKICNlbmRpZgogCisgICAg
V0VCQ09SRV9FWFBPUlQgdm9pZCBiZWdpblNpbXVsYXRlZEhEQ1BFcnJvcigpOworICAgIFdFQkNP
UkVfRVhQT1JUIHZvaWQgZW5kU2ltdWxhdGVkSERDUEVycm9yKCk7CisKICAgICBTdHJpbmcgbGFu
Z3VhZ2VPZlByaW1hcnlBdWRpb1RyYWNrKCkgY29uc3Q7CiAKICAgICBzaXplX3QgZXh0cmFNZW1v
cnlDb3N0KCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9NZWRpYVBsYXllclByaXZhdGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCmluZGV4IGQ4YzZiYWM1ZjEzOGQ1YTI2ZmQ0MTBjYzRj
Mjc0ZGQ5YmQ3NTBiZDEuLmQzZjI1MDE3NzA0ODVjMGY4YzE1MWJkNzQ2NmVhMTE3OTM1ZTI3MGQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVy
UHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxh
eWVyUHJpdmF0ZS5oCkBAIC0yNTMsNiArMjUzLDkgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9p
ZCBzaW11bGF0ZUF1ZGlvSW50ZXJydXB0aW9uKCkgeyB9CiAjZW5kaWYKIAorICAgIHZpcnR1YWwg
dm9pZCBiZWdpblNpbXVsYXRlZEhEQ1BFcnJvcigpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBlbmRT
aW11bGF0ZWRIRENQRXJyb3IoKSB7IH0KKwogICAgIHZpcnR1YWwgU3RyaW5nIGxhbmd1YWdlT2ZQ
cmltYXJ5QXVkaW9UcmFjaygpIGNvbnN0IHsgcmV0dXJuIGVtcHR5U3RyaW5nKCk7IH0KIAogICAg
IHZpcnR1YWwgc2l6ZV90IGV4dHJhTWVtb3J5Q29zdCgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9DRE1JbnN0YW5j
ZUZhaXJQbGF5U3RyZWFtaW5nQVZGT2JqQy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL29iamMvQ0RNSW5zdGFuY2VGYWlyUGxheVN0cmVhbWluZ0FWRk9i
akMuaAppbmRleCA2ZmI3NjE5YTVjZjNjY2EzYmZhYjkxZTdlNWZjMjFmZTMxZWRmNzNmLi4yNDM0
YzU3MjhjZjFlMGUxZjZhYThmMWFhNmViZDYzYjA0YzcxYmVkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9DRE1JbnN0YW5jZUZh
aXJQbGF5U3RyZWFtaW5nQVZGT2JqQy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL0NETUluc3RhbmNlRmFpclBsYXlTdHJlYW1pbmdBVkZP
YmpDLmgKQEAgLTY1LDYgKzY1LDggQEAgcHVibGljOgogICAgIHZvaWQgY2xvc2VTZXNzaW9uKGNv
bnN0IFN0cmluZyYsIENsb3NlU2Vzc2lvbkNhbGxiYWNrKSBmaW5hbDsKICAgICB2b2lkIHJlbW92
ZVNlc3Npb25EYXRhKGNvbnN0IFN0cmluZyYsIExpY2Vuc2VUeXBlLCBSZW1vdmVTZXNzaW9uRGF0
YUNhbGxiYWNrKSBmaW5hbDsKICAgICB2b2lkIHN0b3JlUmVjb3JkT2ZLZXlVc2FnZShjb25zdCBT
dHJpbmcmKSBmaW5hbDsKKyAgICB2b2lkIHNldENsaWVudChDRE1JbnN0YW5jZUNsaWVudCYpIGZp
bmFsOworICAgIHZvaWQgY2xlYXJDbGllbnQoKSBmaW5hbDsKIAogICAgIGNvbnN0IFN0cmluZyYg
a2V5U3lzdGVtKCkgY29uc3QgZmluYWw7CiAKQEAgLTc0LDYgKzc2LDcgQEAgcHVibGljOgogICAg
IHZvaWQgZGlkRmFpbFRvUHJvdmlkZVJlcXVlc3QoQVZDb250ZW50S2V5UmVxdWVzdCAqLCBOU0Vy
cm9yICopOwogICAgIGJvb2wgc2hvdWxkUmV0cnlSZXF1ZXN0Rm9yUmVhc29uKEFWQ29udGVudEtl
eVJlcXVlc3QgKiwgTlNTdHJpbmcgKik7CiAgICAgdm9pZCBzZXNzaW9uSWRlbnRpZmllckNoYW5n
ZWQoTlNEYXRhICopOworICAgIHZvaWQgb3V0cHV0T2JzY3VyZWREdWVUb0luc3VmZmljaWVudEV4
dGVybmFsUHJvdGVjdGlvbkNoYW5nZWQoYm9vbCk7CiAKICAgICBBVkNvbnRlbnRLZXlTZXNzaW9u
ICpjb250ZW50S2V5U2Vzc2lvbigpIHsgcmV0dXJuIG1fc2Vzc2lvbi5nZXQoKTsgfQogCkBAIC05
MSw2ICs5NCw3IEBAIHByaXZhdGU6CiAgICAgUmV0YWluUHRyPEFWQ29udGVudEtleVJlcXVlc3Q+
IG1fcmVxdWVzdDsKICAgICBSZXRhaW5QdHI8V2ViQ29yZUZQU0NvbnRlbnRLZXlTZXNzaW9uRGVs
ZWdhdGU+IG1fZGVsZWdhdGU7CiAgICAgVmVjdG9yPFJldGFpblB0cjxOU0RhdGE+PiBtX2V4cGly
ZWRTZXNzaW9uczsKKyAgICBDRE1JbnN0YW5jZUNsaWVudCogbV9jbGllbnQ7CiAgICAgU3RyaW5n
IG1fc2Vzc2lvbklkOwogCiAgICAgTGljZW5zZUNhbGxiYWNrIG1fcmVxdWVzdExpY2Vuc2VDYWxs
YmFjazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9vYmpjL0NETUluc3RhbmNlRmFpclBsYXlTdHJlYW1pbmdBVkZPYmpDLm1tIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvQ0RNSW5zdGFu
Y2VGYWlyUGxheVN0cmVhbWluZ0FWRk9iakMubW0KaW5kZXggN2Q0NDhlZjRkN2FhZWUxZmUwZjg3
MDY0NWI4NTNmZGQwNmU2ZjhjMC4uZGQ1YWQxOTQ4Nzc0NWMzYjkwMzI0ZTk0YmU1MjczNGMwZDVi
NjYzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3Vu
ZGF0aW9uL29iamMvQ0RNSW5zdGFuY2VGYWlyUGxheVN0cmVhbWluZ0FWRk9iakMubW0KKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvQ0RNSW5z
dGFuY2VGYWlyUGxheVN0cmVhbWluZ0FWRk9iakMubW0KQEAgLTQwOSw2ICs0MDksMTYgQEAgdm9p
ZCBDRE1JbnN0YW5jZUZhaXJQbGF5U3RyZWFtaW5nQVZGT2JqQzo6c3RvcmVSZWNvcmRPZktleVVz
YWdlKGNvbnN0IFN0cmluZyYpCiAgICAgLy8gbm8tb3A7IGtleSB1c2FnZSBkYXRhIGlzIHN0b3Jl
ZCBhdXRvbWF0aWNhbGx5LgogfQogCit2b2lkIENETUluc3RhbmNlRmFpclBsYXlTdHJlYW1pbmdB
VkZPYmpDOjpzZXRDbGllbnQoQ0RNSW5zdGFuY2VDbGllbnQmIGNsaWVudCkKK3sKKyAgICBtX2Ns
aWVudCA9ICZjbGllbnQ7Cit9CisKK3ZvaWQgQ0RNSW5zdGFuY2VGYWlyUGxheVN0cmVhbWluZ0FW
Rk9iakM6OmNsZWFyQ2xpZW50KCkKK3sKKyAgICBtX2NsaWVudCA9IG51bGxwdHI7Cit9CisKIGNv
bnN0IFN0cmluZyYgQ0RNSW5zdGFuY2VGYWlyUGxheVN0cmVhbWluZ0FWRk9iakM6OmtleVN5c3Rl
bSgpIGNvbnN0CiB7CiAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFN0cmluZz4gc19rZXlTeXN0
ZW0geyBBU0NJSUxpdGVyYWwoImNvbS5hcHBsZS5mcHMiKSB9OwpAQCAtNDgwLDcgKzQ5MCw0MCBA
QCB2b2lkIENETUluc3RhbmNlRmFpclBsYXlTdHJlYW1pbmdBVkZPYmpDOjpzZXNzaW9uSWRlbnRp
ZmllckNoYW5nZWQoTlNEYXRhICpzZXNzaQogCiAgICAgYXV0byBzZXNzaW9uSWRlbnRpZmllclN0
cmluZyA9IGFkb3B0TlMoW1tOU1N0cmluZyBhbGxvY10gaW5pdFdpdGhEYXRhOnNlc3Npb25JZGVu
dGlmaWVyIGVuY29kaW5nOk5TVVRGOFN0cmluZ0VuY29kaW5nXSk7CiAgICAgbV9zZXNzaW9uSWQg
PSBzZXNzaW9uSWRlbnRpZmllclN0cmluZy5nZXQoKTsKLX0gICAKK30KKwordm9pZCBDRE1JbnN0
YW5jZUZhaXJQbGF5U3RyZWFtaW5nQVZGT2JqQzo6b3V0cHV0T2JzY3VyZWREdWVUb0luc3VmZmlj
aWVudEV4dGVybmFsUHJvdGVjdGlvbkNoYW5nZWQoYm9vbCBvYnNjdXJlZCkKK3sKKyAgICBpZiAo
IW1fY2xpZW50IHx8ICFtX3JlcXVlc3QpCisgICAgICAgIHJldHVybjsKKworICAgIENETUtleVN0
YXR1cyBzdGF0dXM7CisgICAgaWYgKG9ic2N1cmVkKQorICAgICAgICBzdGF0dXMgPSBDRE1LZXlT
dGF0dXM6Ok91dHB1dFJlc3RyaWN0ZWQ7CisgICAgZWxzZSB7CisgICAgICAgIHN3aXRjaCAobV9y
ZXF1ZXN0LmdldCgpLnN0YXR1cykgeworICAgICAgICBjYXNlIEFWQ29udGVudEtleVJlcXVlc3RT
dGF0dXNSZXF1ZXN0aW5nUmVzcG9uc2U6CisgICAgICAgIGNhc2UgQVZDb250ZW50S2V5UmVxdWVz
dFN0YXR1c1JldHJpZWQ6CisgICAgICAgICAgICBzdGF0dXMgPSBDRE1LZXlTdGF0dXM6OlN0YXR1
c1BlbmRpbmc7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBBVkNvbnRlbnRLZXlS
ZXF1ZXN0U3RhdHVzUmVjZWl2ZWRSZXNwb25zZToKKyAgICAgICAgY2FzZSBBVkNvbnRlbnRLZXlS
ZXF1ZXN0U3RhdHVzUmVuZXdlZDoKKyAgICAgICAgICAgIHN0YXR1cyA9IENETUtleVN0YXR1czo6
VXNhYmxlOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgQVZDb250ZW50S2V5UmVx
dWVzdFN0YXR1c0NhbmNlbGxlZDoKKyAgICAgICAgICAgIHN0YXR1cyA9IENETUtleVN0YXR1czo6
UmVsZWFzZWQ7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBBVkNvbnRlbnRLZXlS
ZXF1ZXN0U3RhdHVzRmFpbGVkOgorICAgICAgICAgICAgc3RhdHVzID0gQ0RNS2V5U3RhdHVzOjpJ
bnRlcm5hbEVycm9yOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICB9CisKKyAg
ICBhdXRvIGtleVN0YXR1c2VzID0ga2V5SURzKCkubWFwKFtzdGF0dXNdIChjb25zdCBSZWY8U2hh
cmVkQnVmZmVyPiYga2V5SUQpIC0+IEtleVN0YXR1c1ZlY3Rvcjo6VmFsdWVUeXBlIHsKKyAgICAg
ICAgcmV0dXJuIHsga2V5SUQuY29weVJlZigpLCBzdGF0dXMgfTsKKyAgICB9KTsKKyAgICBtX2Ns
aWVudC0+dXBkYXRlS2V5U3RhdHVzZXMoV1RGTW92ZShrZXlTdGF0dXNlcykpOworfQogCiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlv
bi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0
ZUFWRm91bmRhdGlvbk9iakMuaAppbmRleCBjZDE4ZDYwOWUyNzI1OWM3N2UxMjJiOWVkZWU0ZmQ5
Yzc2ZTBiMTQ0Li41NGY0MjBiZDA5ODU3ZjI1YTUxODgzODgzZDMxM2FmZGZhM2M1NDBkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2Jq
Yy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRl
QVZGb3VuZGF0aW9uT2JqQy5oCkBAIC0xNDAsOCArMTQwLDEwIEBAIHB1YmxpYzoKICAgICB2b2lk
IHBsYXliYWNrVGFyZ2V0SXNXaXJlbGVzc0RpZENoYW5nZSgpOwogI2VuZGlmCiAKLSNpZiBFTkFC
TEUoTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkKKyNpZiBFTkFCTEUoTEVHQUNZX0VOQ1JZUFRFRF9N
RURJQSkgfHwgKEVOQUJMRShFTkNSWVBURURfTUVESUEpICYmIEhBVkUoQVZDT05URU5US0VZU0VT
U0lPTikpCiAgICAgdm9pZCBvdXRwdXRPYnNjdXJlZER1ZVRvSW5zdWZmaWNpZW50RXh0ZXJuYWxQ
cm90ZWN0aW9uQ2hhbmdlZChib29sKTsKKyAgICB2b2lkIGJlZ2luU2ltdWxhdGVkSERDUEVycm9y
KCkgb3ZlcnJpZGUgeyBvdXRwdXRPYnNjdXJlZER1ZVRvSW5zdWZmaWNpZW50RXh0ZXJuYWxQcm90
ZWN0aW9uQ2hhbmdlZCh0cnVlKTsgfQorICAgIHZvaWQgZW5kU2ltdWxhdGVkSERDUEVycm9yKCkg
b3ZlcnJpZGUgeyBvdXRwdXRPYnNjdXJlZER1ZVRvSW5zdWZmaWNpZW50RXh0ZXJuYWxQcm90ZWN0
aW9uQ2hhbmdlZChmYWxzZSk7IH0KICNlbmRpZgogCiAjaWYgRU5BQkxFKEFWRl9DQVBUSU9OUykK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlv
bi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0gYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZh
dGVBVkZvdW5kYXRpb25PYmpDLm1tCmluZGV4IGFjYjRhZTM5ZDdlYWYyNjhiZmMwNDMzMDNjODZi
ZWI1NGUyYzJiNGIuLmQ5OTJkMmI3ZTJlNWNkNGZlN2U0YTEzNmIzY2NhZWE4NzFkMzhiZWYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9v
YmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0KKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2
YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQpAQCAtMjQ3NCwxMyArMjQ3NCwyMyBAQCBzdGQ6OnVuaXF1
ZV9wdHI8TGVnYWN5Q0RNU2Vzc2lvbj4gTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2Jq
Qzo6Y3JlYXRlU2VzcwogICAgIG1fc2Vzc2lvbiA9IHNlc3Npb24tPmNyZWF0ZVdlYWtQdHIoKTsK
ICAgICByZXR1cm4gV1RGTW92ZShzZXNzaW9uKTsKIH0KKyNlbmRpZgogCisjaWYgRU5BQkxFKEVO
Q1JZUFRFRF9NRURJQSkgfHwgRU5BQkxFKExFR0FDWV9FTkNSWVBURURfTUVESUEpCiB2b2lkIE1l
ZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6Om91dHB1dE9ic2N1cmVkRHVlVG9JbnN1
ZmZpY2llbnRFeHRlcm5hbFByb3RlY3Rpb25DaGFuZ2VkKGJvb2wgbmV3VmFsdWUpCiB7CisjaWYg
RU5BQkxFKExFR0FDWV9FTkNSWVBURURfTUVESUEpCiAgICAgaWYgKG1fc2Vzc2lvbiAmJiBuZXdW
YWx1ZSkKICAgICAgICAgbV9zZXNzaW9uLT5wbGF5ZXJEaWRSZWNlaXZlRXJyb3IoW05TRXJyb3Ig
ZXJyb3JXaXRoRG9tYWluOkAiY29tLmFwcGxlLldlYktpdCIgY29kZTonSERDUCcgdXNlckluZm86
bmlsXSk7Ci19CisjZW5kaWYKIAorI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEpICYmIEhBVkUo
QVZDT05URU5US0VZU0VTU0lPTikKKyAgICBpZiAobV9jZG1JbnN0YW5jZSkKKyAgICAgICAgbV9j
ZG1JbnN0YW5jZS0+b3V0cHV0T2JzY3VyZWREdWVUb0luc3VmZmljaWVudEV4dGVybmFsUHJvdGVj
dGlvbkNoYW5nZWQobmV3VmFsdWUpOworI2VsaWYgIUVOQUJMRShMRUdBQ1lfRU5DUllQVEVEX01F
RElBKQorICAgIFVOVVNFRF9QQVJBTShuZXdWYWx1ZSk7CisjZW5kaWYKK30KICNlbmRpZgogCiAj
aWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKQEAgLTMyOTAsNyArMzMwMCw3IEBAIE5TQXJyYXkq
IHBsYXllcktWT1Byb3BlcnRpZXMoKQogICAgICAgICBAImV4dGVybmFsUGxheWJhY2tBY3RpdmUi
LAogICAgICAgICBAImFsbG93c0V4dGVybmFsUGxheWJhY2siLAogI2VuZGlmCi0jaWYgRU5BQkxF
KExFR0FDWV9FTkNSWVBURURfTUVESUEpCisjaWYgRU5BQkxFKExFR0FDWV9FTkNSWVBURURfTUVE
SUEpIHx8IEVOQUJMRShFTkNSWVBURURfTUVESUEpCiAgICAgICAgIEAib3V0cHV0T2JzY3VyZWRE
dWVUb0luc3VmZmljaWVudEV4dGVybmFsUHJvdGVjdGlvbiIsCiAjZW5kaWYKICAgICBuaWxdOwpA
QCAtMzQwOCw3ICszNDE4LDcgQEAgLSAodm9pZClvYnNlcnZlVmFsdWVGb3JLZXlQYXRoOmtleVBh
dGggb2ZPYmplY3Q6KGlkKW9iamVjdCBjaGFuZ2U6KE5TRGljdGlvbmFyeQogICAgICAgICBlbHNl
IGlmIChba2V5UGF0aCBpc0VxdWFsVG9TdHJpbmc6QCJleHRlcm5hbFBsYXliYWNrQWN0aXZlIl0g
fHwgW2tleVBhdGggaXNFcXVhbFRvU3RyaW5nOkAiYWxsb3dzRXh0ZXJuYWxQbGF5YmFjayJdKQog
ICAgICAgICAgICAgZnVuY3Rpb24gPSBzdGQ6OmJpbmQoJk1lZGlhUGxheWVyUHJpdmF0ZUFWRm91
bmRhdGlvbk9iakM6OnBsYXliYWNrVGFyZ2V0SXNXaXJlbGVzc0RpZENoYW5nZSwgbV9jYWxsYmFj
ayk7CiAjZW5kaWYKLSNpZiBFTkFCTEUoTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkKKyNpZiBFTkFC
TEUoTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgfHwgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKICAg
ICAgICAgZWxzZSBpZiAoW2tleVBhdGggaXNFcXVhbFRvU3RyaW5nOkAib3V0cHV0T2JzY3VyZWRE
dWVUb0luc3VmZmljaWVudEV4dGVybmFsUHJvdGVjdGlvbiJdKQogICAgICAgICAgICAgZnVuY3Rp
b24gPSBzdGQ6OmJpbmQoJk1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6Om91dHB1
dE9ic2N1cmVkRHVlVG9JbnN1ZmZpY2llbnRFeHRlcm5hbFByb3RlY3Rpb25DaGFuZ2VkLCBtX2Nh
bGxiYWNrLCBbbmV3VmFsdWUgYm9vbFZhbHVlXSk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVy
UHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZP
YmpDLmgKaW5kZXggNmFlNWI4NzJmZWFiMDY2M2Q2YTE2ZDY2MjY5NzcwZTBhNzRmMWU3My4uMmU4
ZDk1OTVhNzMyMTRhMjBkOWZhNTIyNzAxMjAwZTg5ODA5MjYxMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQ
cml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VB
VkZPYmpDLmgKQEAgLTEzNSw2ICsxMzUsMTAgQEAgcHVibGljOgogCiAjaWYgRU5BQkxFKExFR0FD
WV9FTkNSWVBURURfTUVESUEpIHx8IEVOQUJMRShFTkNSWVBURURfTUVESUEpCiAgICAgdm9pZCBr
ZXlOZWVkZWQoVWludDhBcnJheSopOworCisgICAgdm9pZCBvdXRwdXRPYnNjdXJlZER1ZVRvSW5z
dWZmaWNpZW50RXh0ZXJuYWxQcm90ZWN0aW9uQ2hhbmdlZChib29sKTsKKyAgICB2b2lkIGJlZ2lu
U2ltdWxhdGVkSERDUEVycm9yKCkgb3ZlcnJpZGUgeyBvdXRwdXRPYnNjdXJlZER1ZVRvSW5zdWZm
aWNpZW50RXh0ZXJuYWxQcm90ZWN0aW9uQ2hhbmdlZCh0cnVlKTsgfQorICAgIHZvaWQgZW5kU2lt
dWxhdGVkSERDUEVycm9yKCkgb3ZlcnJpZGUgeyBvdXRwdXRPYnNjdXJlZER1ZVRvSW5zdWZmaWNp
ZW50RXh0ZXJuYWxQcm90ZWN0aW9uQ2hhbmdlZChmYWxzZSk7IH0KICNlbmRpZgogI2lmIEVOQUJM
RShFTkNSWVBURURfTUVESUEpCiAgICAgdm9pZCBpbml0aWFsaXphdGlvbkRhdGFFbmNvdW50ZXJl
ZChjb25zdCBTdHJpbmcmLCBSZWZQdHI8QXJyYXlCdWZmZXI+JiYpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5
ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VB
VkZPYmpDLm1tCmluZGV4IDI3MGVlMjlmY2U2NTMzOGNmNzYyNTgxYWI5N2U2NjgwOTJmNmJlNDgu
LjgxN2Y3OGJmZmQ5MzAyNTFmN2M3MjJiNmVhMDIyMzM5OGZiZjg2OWEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxh
eWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNv
dXJjZUFWRk9iakMubW0KQEAgLTk1Niw2ICs5NTYsMTYgQEAgdm9pZCBNZWRpYVBsYXllclByaXZh
dGVNZWRpYVNvdXJjZUFWRk9iakM6OmtleU5lZWRlZChVaW50OEFycmF5KiBpbml0RGF0YSkKIHsK
ICAgICBtX3BsYXllci0+a2V5TmVlZGVkKGluaXREYXRhKTsKIH0KKwordm9pZCBNZWRpYVBsYXll
clByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6Om91dHB1dE9ic2N1cmVkRHVlVG9JbnN1ZmZpY2ll
bnRFeHRlcm5hbFByb3RlY3Rpb25DaGFuZ2VkKGJvb2wgb2JzY3VyZWQpCit7CisjaWYgRU5BQkxF
KEVOQ1JZUFRFRF9NRURJQSkKKyAgICBpZiAobV9jZG1JbnN0YW5jZSkKKyAgICAgICAgbV9jZG1J
bnN0YW5jZS0+c2V0SERDUFN0YXR1cyhvYnNjdXJlZCA/IENETUluc3RhbmNlOjpIRENQU3RhdHVz
OjpPdXRwdXRSZXN0cmljdGVkIDogQ0RNSW5zdGFuY2U6OkhEQ1BTdGF0dXM6OlZhbGlkKTsKKyNl
bHNlCisgICAgVU5VU0VEX1BBUkFNKG9ic2N1cmVkKTsKKyNlbmRpZgorfQogI2VuZGlmCiAKICNp
ZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9i
akMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpj
L1NvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDLmgKaW5kZXggOTBkNTU2YjRjNzVmMzU4YjMwZjE3
MzkzYTVmODY3ZjRjMTZlNWJjNy4uMTFmMmZhOTJkMmU2YzJjZWUyMDZlNTg2ZTZkNTZhNDAwYzQx
OWY0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3Vu
ZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9Tb3VyY2VCdWZmZXJQcml2
YXRlQVZGT2JqQy5oCkBAIC0xMTYsNiArMTE2LDcgQEAgcHVibGljOgogICAgIHZvaWQgcmVnaXN0
ZXJGb3JFcnJvck5vdGlmaWNhdGlvbnMoU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakNFcnJvckNs
aWVudCopOwogICAgIHZvaWQgdW5yZWdpc3RlckZvckVycm9yTm90aWZpY2F0aW9ucyhTb3VyY2VC
dWZmZXJQcml2YXRlQVZGT2JqQ0Vycm9yQ2xpZW50Kik7CiAgICAgdm9pZCBsYXllckRpZFJlY2Vp
dmVFcnJvcihBVlNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllciAqLCBOU0Vycm9yICopOworICAgIHZv
aWQgb3V0cHV0T2JzY3VyZWREdWVUb0luc3VmZmljaWVudEV4dGVybmFsUHJvdGVjdGlvbkNoYW5n
ZWQoYm9vbCk7CiAjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcHVzaAogI3ByYWdtYSBjbGFuZyBk
aWFnbm9zdGljIGlnbm9yZWQgIi1XdW5rbm93bi1wcmFnbWFzIgogI3ByYWdtYSBjbGFuZyBkaWFn
bm9zdGljIGlnbm9yZWQgIi1XdW5ndWFyZGVkLWF2YWlsYWJpbGl0eS1uZXciCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9Tb3Vy
Y2VCdWZmZXJQcml2YXRlQVZGT2JqQy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2F2Zm91bmRhdGlvbi9vYmpjL1NvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDLm1tCmluZGV4
IGI1ZTcwM2E2ZDkzZWU0YzZhNDgyYzgzYWI5YjhjYmNmMTNiZjVmZWMuLmE5MGQ1ZjEzZWVlNzNl
MmQ0OTdiZmRmNjc4MDU2YWJlMmRjMGJlNjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL1NvdXJjZUJ1ZmZlclByaXZhdGVBVkZP
YmpDLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlv
bi9vYmpjL1NvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDLm1tCkBAIC0zNzMsMTIgKzM3Myw5IEBA
IC0gKHZvaWQpb2JzZXJ2ZVZhbHVlRm9yS2V5UGF0aDooTlNTdHJpbmcgKilrZXlQYXRoIG9mT2Jq
ZWN0OihpZClvYmplY3QgY2hhbmdlOihOCiAgICAgICAgICAgICAgICAgcHJvdGVjdGVkU2VsZi0+
X3BhcmVudC0+bGF5ZXJEaWRSZWNlaXZlRXJyb3IobGF5ZXIuZ2V0KCksIGVycm9yLmdldCgpKTsK
ICAgICAgICAgICAgIH0pOwogICAgICAgICB9IGVsc2UgaWYgKFtrZXlQYXRoIGlzRXF1YWxUbzpA
Im91dHB1dE9ic2N1cmVkRHVlVG9JbnN1ZmZpY2llbnRFeHRlcm5hbFByb3RlY3Rpb24iXSkgewot
ICAgICAgICAgICAgaWYgKFtbY2hhbmdlIHZhbHVlRm9yS2V5Ok5TS2V5VmFsdWVDaGFuZ2VOZXdL
ZXldIGJvb2xWYWx1ZV0pIHsKLSAgICAgICAgICAgICAgICBSZXRhaW5QdHI8TlNFcnJvcj4gZXJy
b3IgPSBbTlNFcnJvciBlcnJvcldpdGhEb21haW46QCJjb20uYXBwbGUuV2ViS2l0IiBjb2RlOidI
RENQJyB1c2VySW5mbzpuaWxdOwotICAgICAgICAgICAgICAgIGNhbGxPbk1haW5UaHJlYWQoW3By
b3RlY3RlZFNlbGYgPSBXVEZNb3ZlKHByb3RlY3RlZFNlbGYpLCBsYXllciA9IFdURk1vdmUobGF5
ZXIpLCBlcnJvciA9IFdURk1vdmUoZXJyb3IpXSB7Ci0gICAgICAgICAgICAgICAgICAgIHByb3Rl
Y3RlZFNlbGYtPl9wYXJlbnQtPmxheWVyRGlkUmVjZWl2ZUVycm9yKGxheWVyLmdldCgpLCBlcnJv
ci5nZXQoKSk7Ci0gICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICB9CisgICAgICAgICAg
ICBjYWxsT25NYWluVGhyZWFkKFtwcm90ZWN0ZWRTZWxmID0gV1RGTW92ZShwcm90ZWN0ZWRTZWxm
KSwgb2JzY3VyZWQgPSBbW2NoYW5nZSB2YWx1ZUZvcktleTpOU0tleVZhbHVlQ2hhbmdlTmV3S2V5
XSBib29sVmFsdWVdXSB7CisgICAgICAgICAgICAgICAgcHJvdGVjdGVkU2VsZi0+X3BhcmVudC0+
b3V0cHV0T2JzY3VyZWREdWVUb0luc3VmZmljaWVudEV4dGVybmFsUHJvdGVjdGlvbkNoYW5nZWQo
b2JzY3VyZWQpOworICAgICAgICAgICAgfSk7CiAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAg
QVNTRVJUX05PVF9SRUFDSEVEKCk7CiAKQEAgLTk4Nyw2ICs5ODQsMjEgQEAgdm9pZCBTb3VyY2VC
dWZmZXJQcml2YXRlQVZGT2JqQzo6bGF5ZXJEaWRSZWNlaXZlRXJyb3IoQVZTYW1wbGVCdWZmZXJE
aXNwbGF5TGF5ZXIKICAgICAgICAgbV9jbGllbnQtPnNvdXJjZUJ1ZmZlclByaXZhdGVEaWRSZWNl
aXZlUmVuZGVyaW5nRXJyb3IoZXJyb3JDb2RlKTsKIH0KIAordm9pZCBTb3VyY2VCdWZmZXJQcml2
YXRlQVZGT2JqQzo6b3V0cHV0T2JzY3VyZWREdWVUb0luc3VmZmljaWVudEV4dGVybmFsUHJvdGVj
dGlvbkNoYW5nZWQoYm9vbCBvYnNjdXJlZCkKK3sKKyNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElB
KSAmJiBIQVZFKEFWQ09OVEVOVEtFWVNFU1NJT04pCisgICAgaWYgKG1fbWVkaWFTb3VyY2UtPnBs
YXllcigpLT5jZG1JbnN0YW5jZSgpKSB7CisgICAgICAgIG1fbWVkaWFTb3VyY2UtPnBsYXllcigp
LT5vdXRwdXRPYnNjdXJlZER1ZVRvSW5zdWZmaWNpZW50RXh0ZXJuYWxQcm90ZWN0aW9uQ2hhbmdl
ZChvYnNjdXJlZCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisjZWxzZQorICAgIFVOVVNFRF9Q
QVJBTShvYnNjdXJlZCk7CisjZW5kaWYKKworICAgIFJldGFpblB0cjxOU0Vycm9yPiBlcnJvciA9
IFtOU0Vycm9yIGVycm9yV2l0aERvbWFpbjpAImNvbS5hcHBsZS5XZWJLaXQiIGNvZGU6J0hEQ1An
IHVzZXJJbmZvOm5pbF07CisgICAgbGF5ZXJEaWRSZWNlaXZlRXJyb3IobV9kaXNwbGF5TGF5ZXIu
Z2V0KCksIGVycm9yLmdldCgpKTsKK30KKwogI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIHB1c2gK
ICNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBpZ25vcmVkICItV3Vua25vd24tcHJhZ21hcyIKICNw
cmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBpZ25vcmVkICItV3VuZ3VhcmRlZC1hdmFpbGFiaWxpdHkt
bmV3IgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCmluZGV4IDIxZjRkMzcyNzU4NjNk
MjU0MGI3Yjk2NTcwNjQ4ZGYxOGU3ZGJhNmIuLjg4MGJlOTU4MzFhN2EzMGI5OTdmNTc2NTE4YWE4
Mjg4YThhYjQzZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxz
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTMxNTgs
NiArMzE1OCwxOCBAQCBFeGNlcHRpb25Pcjxib29sPiBJbnRlcm5hbHM6Om1lZGlhRWxlbWVudEhh
c0NoYXJhY3RlcmlzdGljKEhUTUxNZWRpYUVsZW1lbnQmIGVsZQogICAgIHJldHVybiBFeGNlcHRp
b24geyBTeW50YXhFcnJvciB9OwogfQogCit2b2lkIEludGVybmFsczo6YmVnaW5TaW11bGF0ZWRI
RENQRXJyb3IoSFRNTE1lZGlhRWxlbWVudCYgZWxlbWVudCkKK3sKKyAgICBpZiAoYXV0byBwbGF5
ZXIgPSBlbGVtZW50LnBsYXllcigpKQorICAgICAgICBwbGF5ZXItPmJlZ2luU2ltdWxhdGVkSERD
UEVycm9yKCk7Cit9CisKK3ZvaWQgSW50ZXJuYWxzOjplbmRTaW11bGF0ZWRIRENQRXJyb3IoSFRN
TE1lZGlhRWxlbWVudCYgZWxlbWVudCkKK3sKKyAgICBpZiAoYXV0byBwbGF5ZXIgPSBlbGVtZW50
LnBsYXllcigpKQorICAgICAgICBwbGF5ZXItPmVuZFNpbXVsYXRlZEhEQ1BFcnJvcigpOworfQor
CiAjZW5kaWYKIAogYm9vbCBJbnRlcm5hbHM6OmlzU2VsZWN0UG9wdXBWaXNpYmxlKEhUTUxTZWxl
Y3RFbGVtZW50JiBlbGVtZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbHMuaCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKaW5kZXggY2My
N2RlYmUxMzcxMDdjZjQ5YzgwNmUwYjUzNWNkMmM3OTg4YTc5Ny4uY2RlMzU1Zjk4MDA3YmI2YTI5
NzQ4YmY2MjEzZjU0ZWRhOThmNTg5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCkBA
IC00NjMsNiArNDYzLDggQEAgcHVibGljOgogICAgIFZlY3RvcjxTdHJpbmc+IG1lZGlhUmVzcG9u
c2VDb250ZW50UmFuZ2VzKEhUTUxNZWRpYUVsZW1lbnQmKTsKICAgICB2b2lkIHNpbXVsYXRlQXVk
aW9JbnRlcnJ1cHRpb24oSFRNTE1lZGlhRWxlbWVudCYpOwogICAgIEV4Y2VwdGlvbk9yPGJvb2w+
IG1lZGlhRWxlbWVudEhhc0NoYXJhY3RlcmlzdGljKEhUTUxNZWRpYUVsZW1lbnQmLCBjb25zdCBT
dHJpbmcmKTsKKyAgICB2b2lkIGJlZ2luU2ltdWxhdGVkSERDUEVycm9yKEhUTUxNZWRpYUVsZW1l
bnQmKTsKKyAgICB2b2lkIGVuZFNpbXVsYXRlZEhEQ1BFcnJvcihIVE1MTWVkaWFFbGVtZW50Jik7
CiAjZW5kaWYKIAogICAgIGJvb2wgaXNTZWxlY3RQb3B1cFZpc2libGUoSFRNTFNlbGVjdEVsZW1l
bnQmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbCBi
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAppbmRleCA2YTY2MjNkMTcyNDQx
ZGU3MTA0ODY5NzFiODliNmJkNjY0YjZmZTcwLi41MWVlNzg2NGRlODA1YjA2OGJkYTU3OWFkYjE3
MjJjMmY2MzFhZWY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCkBAIC00MjAs
NiArNDIwLDggQEAgZW51bSBFdmVudFRocm90dGxpbmdCZWhhdmlvciB7CiAgICAgW0NvbmRpdGlv
bmFsPVZJREVPXSBzZXF1ZW5jZTxET01TdHJpbmc+IG1lZGlhUmVzcG9uc2VDb250ZW50UmFuZ2Vz
KEhUTUxNZWRpYUVsZW1lbnQgbWVkaWEpOwogICAgIFtDb25kaXRpb25hbD1WSURFT10gdm9pZCBz
aW11bGF0ZUF1ZGlvSW50ZXJydXB0aW9uKEhUTUxNZWRpYUVsZW1lbnQgZWxlbWVudCk7CiAgICAg
W0NvbmRpdGlvbmFsPVZJREVPLCBNYXlUaHJvd0V4Y2VwdGlvbl0gYm9vbGVhbiBtZWRpYUVsZW1l
bnRIYXNDaGFyYWN0ZXJpc3RpYyhIVE1MTWVkaWFFbGVtZW50IGVsZW1lbnQsIERPTVN0cmluZyBj
aGFyYWN0ZXJpc3RpYyk7CisgICAgW0NvbmRpdGlvbmFsPVZJREVPXSB2b2lkIGJlZ2luU2ltdWxh
dGVkSERDUEVycm9yKEhUTUxNZWRpYUVsZW1lbnQgbWVkaWEpOworICAgIFtDb25kaXRpb25hbD1W
SURFT10gdm9pZCBlbmRTaW11bGF0ZWRIRENQRXJyb3IoSFRNTE1lZGlhRWxlbWVudCBtZWRpYSk7
CiAKICAgICBbQ29uZGl0aW9uYWw9TEVHQUNZX0VOQ1JZUFRFRF9NRURJQV0gdm9pZCBpbml0aWFs
aXplTW9ja0NETSgpOwogICAgIFtDb25kaXRpb25hbD1FTkNSWVBURURfTUVESUFdIE1vY2tDRE1G
YWN0b3J5IHJlZ2lzdGVyTW9ja0NETSgpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>