<?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>177803</bug_id>
          
          <creation_ts>2017-10-03 01:35:16 -0700</creation_ts>
          <short_desc>Fix MSVC build with ENCRYPTED_MEDIA enabled</short_desc>
          <delta_ts>2021-02-08 16:11:36 -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>Platform</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="Yoshiaki Jitsukawa">yoshiaki.jitsukawa</reporter>
          <assigned_to name="Don Olmstead">don.olmstead</assigned_to>
          <cc>achristensen</cc>
    
    <cc>calvaris</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>don.olmstead</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>jlewis3</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>yoshiaki.jitsukawa</cc>
    
    <cc>zalan</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1355735</commentid>
    <comment_count>0</comment_count>
    <who name="Yoshiaki Jitsukawa">yoshiaki.jitsukawa</who>
    <bug_when>2017-10-03 01:35:16 -0700</bug_when>
    <thetext>Both MSVC 2015 and 2017 fail to compile MediaKeySession.cpp and CDMClearKey.cpp.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1355738</commentid>
    <comment_count>1</comment_count>
      <attachid>322502</attachid>
    <who name="Yoshiaki Jitsukawa">yoshiaki.jitsukawa</who>
    <bug_when>2017-10-03 01:41:47 -0700</bug_when>
    <thetext>Created attachment 322502
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1355742</commentid>
    <comment_count>2</comment_count>
    <who name="Yoshiaki Jitsukawa">yoshiaki.jitsukawa</who>
    <bug_when>2017-10-03 01:58:02 -0700</bug_when>
    <thetext>MSVC fails to compile lambda capture lists like this:
 [this, weakThis = m_weakPtrFactory.createWeakPtr(*this), promise = WTFMove(promise)]
so with the patch weakThis is created outside of the capture list.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1356224</commentid>
    <comment_count>3</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-10-03 19:58:27 -0700</bug_when>
    <thetext>That ought to work.  It&apos;s valid C++14.  What is the error when compiling these files without this change?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1356226</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-10-03 20:06:04 -0700</bug_when>
    <thetext>Yes, this should build fine. Those changes do not look good. Are you building without c++14 support enabled?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1356255</commentid>
    <comment_count>5</comment_count>
      <attachid>322632</attachid>
    <who name="Yoshiaki Jitsukawa">yoshiaki.jitsukawa</who>
    <bug_when>2017-10-03 22:29:14 -0700</bug_when>
    <thetext>Created attachment 322632
compiler error log for MediaKeySession.cpp

For example I&apos;m getting the attached errors when compiling MediaKeySession.cpp even with /std:c++14 option.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1356623</commentid>
    <comment_count>6</comment_count>
      <attachid>322502</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-10-04 13:25:45 -0700</bug_when>
    <thetext>Comment on attachment 322502
Patch

I think we need to find a better solution than this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1356672</commentid>
    <comment_count>7</comment_count>
    <who name="Yoshiaki Jitsukawa">yoshiaki.jitsukawa</who>
    <bug_when>2017-10-04 14:41:44 -0700</bug_when>
    <thetext>(In reply to Alex Christensen from comment #6)
&gt; Comment on attachment 322502 [details]
&gt; Patch
&gt; 
&gt; I think we need to find a better solution than this.

I agree to that. Thank you!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1356911</commentid>
    <comment_count>8</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2017-10-05 01:15:29 -0700</bug_when>
    <thetext>Try adding a simple private `createWeakPtr()` method on the MediaKeySession class, and call that in the lambda&apos;s capture list:

&gt; WeakPtr&lt;MediaKeySession&gt; createWeakPtr() { return m_weakPtrFactory.createWeakPtr(*this); }

The build error seems to indicate a compiler bug in how the `*this` object is deduced in the capture list. I also wonder whether capturing `weakThis = m_weakPtrFactory.createWeakPtr(*this)` before the plain `this` pointer would have any effect.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1356927</commentid>
    <comment_count>9</comment_count>
    <who name="Yoshiaki Jitsukawa">yoshiaki.jitsukawa</who>
    <bug_when>2017-10-05 02:20:17 -0700</bug_when>
    <thetext>(In reply to Zan Dobersek from comment #8)
&gt; Try adding a simple private `createWeakPtr()` method on the MediaKeySession
&gt; class, and call that in the lambda&apos;s capture list:
&gt; 
&gt; &gt; WeakPtr&lt;MediaKeySession&gt; createWeakPtr() { return m_weakPtrFactory.createWeakPtr(*this); }
&gt; 
&gt; The build error seems to indicate a compiler bug in how the `*this` object
&gt; is deduced in the capture list. I also wonder whether capturing `weakThis =
&gt; m_weakPtrFactory.createWeakPtr(*this)` before the plain `this` pointer would
&gt; have any effect.

Thanks, let me try those.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1358477</commentid>
    <comment_count>10</comment_count>
      <attachid>323238</attachid>
    <who name="Yoshiaki Jitsukawa">yoshiaki.jitsukawa</who>
    <bug_when>2017-10-09 16:07:08 -0700</bug_when>
    <thetext>Created attachment 323238
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1358484</commentid>
    <comment_count>11</comment_count>
    <who name="Yoshiaki Jitsukawa">yoshiaki.jitsukawa</who>
    <bug_when>2017-10-09 16:19:29 -0700</bug_when>
    <thetext>(In reply to Zan Dobersek from comment #8)
&gt; Try adding a simple private `createWeakPtr()` method on the MediaKeySession
&gt; class, and call that in the lambda&apos;s capture list:
&gt; 
&gt; &gt; WeakPtr&lt;MediaKeySession&gt; createWeakPtr() { return m_weakPtrFactory.createWeakPtr(*this); }
&gt; 
&gt; The build error seems to indicate a compiler bug in how the `*this` object
&gt; is deduced in the capture list. I also wonder whether capturing `weakThis =
&gt; m_weakPtrFactory.createWeakPtr(*this)` before the plain `this` pointer would
&gt; have any effect.

Both of them didn&apos;t work and it seems that there&apos;s something wrong with deduction
in nested lambda so I attached another patch to create a weak ptr at the outermost
capture list.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1358844</commentid>
    <comment_count>12</comment_count>
      <attachid>323238</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-10-10 12:39:52 -0700</bug_when>
    <thetext>Comment on attachment 323238
Patch

I think this approach looks ok.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1358907</commentid>
    <comment_count>13</comment_count>
    <who name="Yoshiaki Jitsukawa">yoshiaki.jitsukawa</who>
    <bug_when>2017-10-10 14:23:15 -0700</bug_when>
    <thetext>(In reply to Alex Christensen from comment #12)
&gt; Comment on attachment 323238 [details]
&gt; Patch
&gt; 
&gt; I think this approach looks ok.

Thank you!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1358926</commentid>
    <comment_count>14</comment_count>
      <attachid>323238</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-10-10 14:51:51 -0700</bug_when>
    <thetext>Comment on attachment 323238
Patch

Clearing flags on attachment: 323238

Committed r223148: &lt;http://trac.webkit.org/changeset/223148&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1358927</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-10-10 14:51:52 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1358928</commentid>
    <comment_count>16</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-10-10 14:52:51 -0700</bug_when>
    <thetext>&lt;rdar://problem/34920322&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1358951</commentid>
    <comment_count>17</comment_count>
    <who name="Matt Lewis">jlewis3</who>
    <bug_when>2017-10-10 15:58:14 -0700</bug_when>
    <thetext>This caused internal failures. For more information, refer to the reviewer for more details.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1358956</commentid>
    <comment_count>18</comment_count>
    <who name="Matt Lewis">jlewis3</who>
    <bug_when>2017-10-10 15:59:44 -0700</bug_when>
    <thetext>Reverted r223148 for reason:

This caused build failures.

Committed r223153: &lt;http://trac.webkit.org/changeset/223153&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1363262</commentid>
    <comment_count>19</comment_count>
    <who name="Yoshiaki Jitsukawa">yoshiaki.jitsukawa</who>
    <bug_when>2017-10-23 06:55:57 -0700</bug_when>
    <thetext>(In reply to Matt Lewis from comment #17)
&gt; This caused internal failures. For more information, refer to the reviewer
&gt; for more details.

So would you give me some information to help fix the failures?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1726710</commentid>
    <comment_count>20</comment_count>
      <attachid>419609</attachid>
    <who name="Don Olmstead">don.olmstead</who>
    <bug_when>2021-02-08 11:06:39 -0800</bug_when>
    <thetext>Created attachment 419609
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1726744</commentid>
    <comment_count>21</comment_count>
      <attachid>419609</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-02-08 12:48:36 -0800</bug_when>
    <thetext>Comment on attachment 419609
Patch

The original patch introduced some unused lambda capture &apos;this&apos; instances:

error:
.../OpenSource/Source/WebCore/platform/encryptedmedia/clearkey/CDMClearKey.cpp:357:10: error: lambda capture &apos;this&apos; is not used [-Werror,-Wunused-lambda-capture]
.../OpenSource/Source/WebCore/platform/encryptedmedia/clearkey/CDMClearKey.cpp:461:10: error: lambda capture &apos;this&apos; is not used [-Werror,-Wunused-lambda-capture]
.../OpenSource/Source/WebCore/platform/encryptedmedia/clearkey/CDMClearKey.cpp:505:10: error: lambda capture &apos;this&apos; is not used [-Werror,-Wunused-lambda-capture]

What a great reason to delay this patch for 3.5 years.  This version doesn&apos;t touch that file, so it should be fine.  If you want to also change CDMClearKey.cpp, just remove &apos;this&apos; if you can.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1726825</commentid>
    <comment_count>22</comment_count>
      <attachid>419633</attachid>
    <who name="Don Olmstead">don.olmstead</who>
    <bug_when>2021-02-08 14:56:28 -0800</bug_when>
    <thetext>Created attachment 419633
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1726856</commentid>
    <comment_count>23</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-02-08 15:53:14 -0800</bug_when>
    <thetext>Committed r272557: &lt;https://commits.webkit.org/r272557&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 419633.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1726874</commentid>
    <comment_count>24</comment_count>
      <attachid>419633</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-02-08 16:11:36 -0800</bug_when>
    <thetext>Comment on attachment 419633
Patch

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

&gt; Source/WebCore/Modules/encryptedmedia/MediaKeySession.cpp:326
&gt; +        m_instanceSession-&gt;loadSession(m_sessionType, *sanitizedSessionId, origin, [this, weakThis = makeWeakPtr(*weakThis), promise = WTFMove(promise), sanitizedSessionId = *sanitizedSessionId, identifier = WTFMove(identifier)] (Optional&lt;CDMInstanceSession::KeyStatusVector&gt;&amp;&amp; knownKeys, Optional&lt;double&gt;&amp;&amp; expiration, Optional&lt;CDMInstanceSession::Message&gt;&amp;&amp; message, CDMInstanceSession::SuccessValue succeeded, CDMInstanceSession::SessionLoadFailure failure) mutable {

Is this:

    weakThis = makeWeakPtr(*weakThis)

Different from just writing this:

    weakThis

?

&gt; Source/WebCore/Modules/encryptedmedia/MediaKeySession.cpp:438
&gt; +        m_instanceSession-&gt;updateLicense(m_sessionId, m_sessionType, sanitizedResponse.releaseNonNull(), [this, weakThis = makeWeakPtr(*weakThis), promise = WTFMove(promise), identifier = WTFMove(identifier)] (bool sessionWasClosed, Optional&lt;CDMInstanceSession::KeyStatusVector&gt;&amp;&amp; changedKeys, Optional&lt;double&gt;&amp;&amp; changedExpiration, Optional&lt;CDMInstanceSession::Message&gt;&amp;&amp; message, CDMInstanceSession::SuccessValue succeeded) mutable {

Ditto.

&gt; Source/WebCore/Modules/encryptedmedia/MediaKeySession.cpp:559
&gt; +        m_instanceSession-&gt;closeSession(m_sessionId, [this, weakThis = makeWeakPtr(*weakThis), promise = WTFMove(promise), identifier = WTFMove(identifier)] () mutable {

Ditto.

&gt; Source/WebCore/Modules/encryptedmedia/MediaKeySession.cpp:603
&gt; +        m_instanceSession-&gt;removeSessionData(m_sessionId, m_sessionType, [this, weakThis = makeWeakPtr(*weakThis), promise = WTFMove(promise), identifier = WTFMove(identifier)] (CDMInstanceSession::KeyStatusVector&amp;&amp; keys, Optional&lt;Ref&lt;SharedBuffer&gt;&gt;&amp;&amp; message, CDMInstanceSession::SuccessValue succeeded) mutable {

Ditto.

&gt; Source/WebCore/platform/encryptedmedia/clearkey/CDMClearKey.cpp:490
&gt; +                [weakThis = makeWeakPtr(*weakThis), callback = WTFMove(callback), sessionWasClosed, changedKeys = WTFMove(changedKeys), succeeded] () mutable {

Ditto.

&gt; Source/WebCore/platform/encryptedmedia/clearkey/CDMClearKey.cpp:573
&gt; +                [weakThis = makeWeakPtr(*weakThis), callback = WTFMove(callback), keyStatusVector = WTFMove(keyStatusVector), message = WTFMove(message), success]() mutable {

Ditto.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>322502</attachid>
            <date>2017-10-03 01:41:47 -0700</date>
            <delta_ts>2017-10-09 16:07:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-177803-20171003174146.patch</filename>
            <type>text/plain</type>
            <size>10530</size>
            <attacher name="Yoshiaki Jitsukawa">yoshiaki.jitsukawa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIyNzY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmY5MTkyZDgyMDhjYTYy
OTg2MDdiMDhiZmEyZmYxM2FlOGRkMWE4MS4uODMyMzU0NjU1YzY2Mjk0YzNlMTRmY2VjM2NlYjVk
Yjk3NWQxZjE1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE3LTEwLTAzICBZb3No
aWFraSBKaXRzdWthd2EgIDxZb3NoaWFraS5KaXRzdWthd2FAc29ueS5jb20+CisKKyAgICAgICAg
Rml4IE1TVkMgYnVpbGQgd2l0aCBFTkNSWVBURURfTUVESUEgZW5hYmxlZAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc3ODAzCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2l0aCBNU1ZDIGNyZWF0ZVdlYWtQ
dHIoKSBuZWVkcyB0byBiZSBjYWxsZWQgb3V0c2lkZSBvZiB0aGUgbGFtYmRhIGNhcHR1cmUgbGlz
dC4KKworICAgICAgICAqIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9uLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhS2V5U2Vzc2lvbjo6Z2VuZXJhdGVSZXF1ZXN0KToK
KyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhS2V5U2Vzc2lvbjo6bG9hZCk6CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYUtleVNlc3Npb246OnVwZGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtl
eVNlc3Npb246OmNsb3NlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhS2V5U2Vzc2lvbjo6cmVt
b3ZlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9lbmNyeXB0ZWRtZWRpYS9jbGVhcmtleS9DRE1DbGVh
cktleS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDRE1JbnN0YW5jZUNsZWFyS2V5Ojp1cGRhdGVM
aWNlbnNlKToKKyAgICAgICAgKFdlYkNvcmU6OkNETUluc3RhbmNlQ2xlYXJLZXk6OmxvYWRTZXNz
aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkNETUluc3RhbmNlQ2xlYXJLZXk6OnJlbW92ZVNlc3Np
b25EYXRhKToKKwogMjAxNy0xMC0wMiAgSm9hbm1hcmllIERpZ2dzICA8amRpZ2dzQGlnYWxpYS5j
b20+CiAKICAgICAgICAgQVg6IFtBVEtdIFRoZSB2YWx1ZSBvZiBhcmlhLWxldmVsIGlzIG5vdCBl
eHBvc2VkIG9uIG5vbi1oZWFkaW5nIHJvbGVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lvbi5jcHAKaW5kZXggNGQ4MjQ1
Y2Y3Njk3ZDg4YjM0YjhkNDM3MDk2ZWE0MGU4NGEyMmUwNC4uMTYyOTYwMGRmOTM4ZGRiYmMxMWNi
NTIxMmIyZTU2OTViMjI4NWY1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9l
bmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9uLmNwcApAQCAtMTg4LDcgKzE4OCw4
IEBAIHZvaWQgTWVkaWFLZXlTZXNzaW9uOjpnZW5lcmF0ZVJlcXVlc3QoY29uc3QgQXRvbWljU3Ry
aW5nJiBpbml0RGF0YVR5cGUsIGNvbnN0IEJ1CiAgICAgICAgICAgICBtX2xhdGVzdERlY3J5cHRU
aW1lID0gMDsKICAgICAgICAgfQogCi0gICAgICAgIG1faW5zdGFuY2UtPnJlcXVlc3RMaWNlbnNl
KG1fc2Vzc2lvblR5cGUsIGluaXREYXRhVHlwZSwgV1RGTW92ZShpbml0RGF0YSksIFt0aGlzLCB3
ZWFrVGhpcyA9IG1fd2Vha1B0ckZhY3RvcnkuY3JlYXRlV2Vha1B0cigqdGhpcyksIHByb21pc2Ug
PSBXVEZNb3ZlKHByb21pc2UpXSAoUmVmPFNoYXJlZEJ1ZmZlcj4mJiBtZXNzYWdlLCBjb25zdCBT
dHJpbmcmIHNlc3Npb25JZCwgYm9vbCBuZWVkc0luZGl2aWR1YWxpemF0aW9uLCBDRE1JbnN0YW5j
ZTo6U3VjY2Vzc1ZhbHVlIHN1Y2NlZWRlZCkgbXV0YWJsZSB7CisgICAgICAgIGF1dG8gd2Vha1Ro
aXMgPSBtX3dlYWtQdHJGYWN0b3J5LmNyZWF0ZVdlYWtQdHIoKnRoaXMpOworICAgICAgICBtX2lu
c3RhbmNlLT5yZXF1ZXN0TGljZW5zZShtX3Nlc3Npb25UeXBlLCBpbml0RGF0YVR5cGUsIFdURk1v
dmUoaW5pdERhdGEpLCBbdGhpcywgd2Vha1RoaXMsIHByb21pc2UgPSBXVEZNb3ZlKHByb21pc2Up
XSAoUmVmPFNoYXJlZEJ1ZmZlcj4mJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNlc3Npb25JZCwg
Ym9vbCBuZWVkc0luZGl2aWR1YWxpemF0aW9uLCBDRE1JbnN0YW5jZTo6U3VjY2Vzc1ZhbHVlIHN1
Y2NlZWRlZCkgbXV0YWJsZSB7CiAgICAgICAgICAgICBpZiAoIXdlYWtUaGlzKQogICAgICAgICAg
ICAgICAgIHJldHVybjsKIApAQCAtMjgxLDcgKzI4Miw4IEBAIHZvaWQgTWVkaWFLZXlTZXNzaW9u
Ojpsb2FkKGNvbnN0IFN0cmluZyYgc2Vzc2lvbklkLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmIHBy
b21pCiAgICAgICAgIC8vIDguNi4gTGV0IG1lc3NhZ2UgdHlwZSBiZSBudWxsLgogICAgICAgICAv
LyA4LjcuIExldCBjZG0gYmUgdGhlIENETSBpbnN0YW5jZSByZXByZXNlbnRlZCBieSB0aGlzIG9i
amVjdCdzIGNkbSBpbnN0YW5jZSB2YWx1ZS4KICAgICAgICAgLy8gOC44LiBVc2UgdGhlIGNkbSB0
byBleGVjdXRlIHRoZSBmb2xsb3dpbmcgc3RlcHM6Ci0gICAgICAgIG1faW5zdGFuY2UtPmxvYWRT
ZXNzaW9uKG1fc2Vzc2lvblR5cGUsICpzYW5pdGl6ZWRTZXNzaW9uSWQsIG9yaWdpbiwgW3RoaXMs
IHdlYWtUaGlzID0gbV93ZWFrUHRyRmFjdG9yeS5jcmVhdGVXZWFrUHRyKCp0aGlzKSwgcHJvbWlz
ZSA9IFdURk1vdmUocHJvbWlzZSksIHNhbml0aXplZFNlc3Npb25JZCA9ICpzYW5pdGl6ZWRTZXNz
aW9uSWRdIChzdGQ6Om9wdGlvbmFsPENETUluc3RhbmNlOjpLZXlTdGF0dXNWZWN0b3I+JiYga25v
d25LZXlzLCBzdGQ6Om9wdGlvbmFsPGRvdWJsZT4mJiBleHBpcmF0aW9uLCBzdGQ6Om9wdGlvbmFs
PENETUluc3RhbmNlOjpNZXNzYWdlPiYmIG1lc3NhZ2UsIENETUluc3RhbmNlOjpTdWNjZXNzVmFs
dWUgc3VjY2VlZGVkLCBDRE1JbnN0YW5jZTo6U2Vzc2lvbkxvYWRGYWlsdXJlIGZhaWx1cmUpIG11
dGFibGUgeworICAgICAgICBhdXRvIHdlYWtUaGlzID0gbV93ZWFrUHRyRmFjdG9yeS5jcmVhdGVX
ZWFrUHRyKCp0aGlzKTsKKyAgICAgICAgbV9pbnN0YW5jZS0+bG9hZFNlc3Npb24obV9zZXNzaW9u
VHlwZSwgKnNhbml0aXplZFNlc3Npb25JZCwgb3JpZ2luLCBbdGhpcywgd2Vha1RoaXMsIHByb21p
c2UgPSBXVEZNb3ZlKHByb21pc2UpLCBzYW5pdGl6ZWRTZXNzaW9uSWQgPSAqc2FuaXRpemVkU2Vz
c2lvbklkXSAoc3RkOjpvcHRpb25hbDxDRE1JbnN0YW5jZTo6S2V5U3RhdHVzVmVjdG9yPiYmIGtu
b3duS2V5cywgc3RkOjpvcHRpb25hbDxkb3VibGU+JiYgZXhwaXJhdGlvbiwgc3RkOjpvcHRpb25h
bDxDRE1JbnN0YW5jZTo6TWVzc2FnZT4mJiBtZXNzYWdlLCBDRE1JbnN0YW5jZTo6U3VjY2Vzc1Zh
bHVlIHN1Y2NlZWRlZCwgQ0RNSW5zdGFuY2U6OlNlc3Npb25Mb2FkRmFpbHVyZSBmYWlsdXJlKSBt
dXRhYmxlIHsKICAgICAgICAgICAgIC8vIDguOC4xLiBJZiB0aGVyZSBpcyBubyBkYXRhIHN0b3Jl
ZCBmb3IgdGhlIHNhbml0aXplZCBzZXNzaW9uIElEIGluIHRoZSBvcmlnaW4sIHJlc29sdmUgcHJv
bWlzZSB3aXRoIGZhbHNlIGFuZCBhYm9ydCB0aGVzZSBzdGVwcy4KICAgICAgICAgICAgIC8vIDgu
OC4yLiBJZiB0aGUgc3RvcmVkIHNlc3Npb24ncyBzZXNzaW9uIHR5cGUgaXMgbm90IHRoZSBzYW1l
IGFzIHRoZSBjdXJyZW50IE1lZGlhS2V5U2Vzc2lvbiBzZXNzaW9uIHR5cGUsIHJlamVjdCBwcm9t
aXNlIHdpdGggYSBuZXdseSBjcmVhdGVkIFR5cGVFcnJvci4KICAgICAgICAgICAgIC8vIDguOC4z
LiBMZXQgc2Vzc2lvbiBkYXRhIGJlIHRoZSBkYXRhIHN0b3JlZCBmb3IgdGhlIHNhbml0aXplZCBz
ZXNzaW9uIElEIGluIHRoZSBvcmlnaW4uIFRoaXMgbXVzdCBub3QgaW5jbHVkZSBkYXRhIGZyb20g
b3RoZXIgb3JpZ2luKHMpIG9yIHRoYXQgaXMgbm90IGFzc29jaWF0ZWQgd2l0aCBhbiBvcmlnaW4u
CkBAIC0zMTIsNyArMzE0LDcgQEAgdm9pZCBNZWRpYUtleVNlc3Npb246OmxvYWQoY29uc3QgU3Ry
aW5nJiBzZXNzaW9uSWQsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYgcHJvbWkKICAgICAgICAgICAg
IH0KIAogICAgICAgICAgICAgLy8gOC45LiBRdWV1ZSBhIHRhc2sgdG8gcnVuIHRoZSBmb2xsb3dp
bmcgc3RlcHM6Ci0gICAgICAgICAgICBtX3Rhc2tRdWV1ZS5lbnF1ZXVlVGFzayhbdGhpcywga25v
d25LZXlzID0gV1RGTW92ZShrbm93bktleXMpLCBleHBpcmF0aW9uID0gV1RGTW92ZShleHBpcmF0
aW9uKSwgbWVzc2FnZSA9IFdURk1vdmUobWVzc2FnZSksIHNhbml0aXplZFNlc3Npb25JZCwgc3Vj
Y2VlZGVkLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0gKCkgbXV0YWJsZSB7CisgICAgICAg
ICAgICBtX3Rhc2tRdWV1ZS5lbnF1ZXVlVGFzayhbdGhpcywga25vd25LZXlzID0gV1RGTW92ZShr
bm93bktleXMpLCBleHBpcmF0aW9uID0gV1RGTW92ZShleHBpcmF0aW9uKSwgbWVzc2FnZSA9IFdU
Rk1vdmUobWVzc2FnZSksIHNhbml0aXplZFNlc3Npb25JZCA9IHNhbml0aXplZFNlc3Npb25JZCwg
c3VjY2VlZGVkLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0gKCkgbXV0YWJsZSB7CiAgICAg
ICAgICAgICAgICAgLy8gOC45LjEuIElmIGFueSBvZiB0aGUgcHJlY2VkaW5nIHN0ZXBzIGZhaWxl
ZCwgcmVqZWN0IHByb21pc2Ugd2l0aCBhIHRoZSBhcHByb3ByaWF0ZSBlcnJvciBuYW1lLgogICAg
ICAgICAgICAgICAgIGlmIChzdWNjZWVkZWQgPT0gQ0RNSW5zdGFuY2U6OlN1Y2Nlc3NWYWx1ZTo6
RmFpbGVkKSB7CiAgICAgICAgICAgICAgICAgICAgIHByb21pc2UtPnJlamVjdChOb3RTdXBwb3J0
ZWRFcnJvcik7CkBAIC0zODIsNyArMzg0LDggQEAgdm9pZCBNZWRpYUtleVNlc3Npb246OnVwZGF0
ZShjb25zdCBCdWZmZXJTb3VyY2UmIHJlc3BvbnNlLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYKICAg
ICAgICAgLy8gNi41LiBMZXQgc2Vzc2lvbiBjbG9zZWQgYmUgZmFsc2UuCiAgICAgICAgIC8vIDYu
Ni4gTGV0IGNkbSBiZSB0aGUgQ0RNIGluc3RhbmNlIHJlcHJlc2VudGVkIGJ5IHRoaXMgb2JqZWN0
J3MgY2RtIGluc3RhbmNlIHZhbHVlLgogICAgICAgICAvLyA2LjcuIFVzZSB0aGUgY2RtIHRvIGV4
ZWN1dGUgdGhlIGZvbGxvd2luZyBzdGVwczoKLSAgICAgICAgbV9pbnN0YW5jZS0+dXBkYXRlTGlj
ZW5zZShtX3Nlc3Npb25JZCwgbV9zZXNzaW9uVHlwZSwgKnNhbml0aXplZFJlc3BvbnNlLCBbdGhp
cywgd2Vha1RoaXMgPSBtX3dlYWtQdHJGYWN0b3J5LmNyZWF0ZVdlYWtQdHIoKnRoaXMpLCBwcm9t
aXNlID0gV1RGTW92ZShwcm9taXNlKV0gKGJvb2wgc2Vzc2lvbldhc0Nsb3NlZCwgc3RkOjpvcHRp
b25hbDxDRE1JbnN0YW5jZTo6S2V5U3RhdHVzVmVjdG9yPiYmIGNoYW5nZWRLZXlzLCBzdGQ6Om9w
dGlvbmFsPGRvdWJsZT4mJiBjaGFuZ2VkRXhwaXJhdGlvbiwgc3RkOjpvcHRpb25hbDxDRE1JbnN0
YW5jZTo6TWVzc2FnZT4mJiBtZXNzYWdlLCBDRE1JbnN0YW5jZTo6U3VjY2Vzc1ZhbHVlIHN1Y2Nl
ZWRlZCkgbXV0YWJsZSB7CisgICAgICAgIGF1dG8gd2Vha1RoaXMgPSBtX3dlYWtQdHJGYWN0b3J5
LmNyZWF0ZVdlYWtQdHIoKnRoaXMpOworICAgICAgICBtX2luc3RhbmNlLT51cGRhdGVMaWNlbnNl
KG1fc2Vzc2lvbklkLCBtX3Nlc3Npb25UeXBlLCAqc2FuaXRpemVkUmVzcG9uc2UsIFt0aGlzLCB3
ZWFrVGhpcywgcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSldKGJvb2wgc2Vzc2lvbldhc0Nsb3Nl
ZCwgc3RkOjpvcHRpb25hbDxDRE1JbnN0YW5jZTo6S2V5U3RhdHVzVmVjdG9yPiYmIGNoYW5nZWRL
ZXlzLCBzdGQ6Om9wdGlvbmFsPGRvdWJsZT4mJiBjaGFuZ2VkRXhwaXJhdGlvbiwgc3RkOjpvcHRp
b25hbDxDRE1JbnN0YW5jZTo6TWVzc2FnZT4mJiBtZXNzYWdlLCBDRE1JbnN0YW5jZTo6U3VjY2Vz
c1ZhbHVlIHN1Y2NlZWRlZCkgbXV0YWJsZSB7CiAgICAgICAgICAgICBpZiAoIXdlYWtUaGlzKQog
ICAgICAgICAgICAgICAgIHJldHVybjsKIApAQCAtNDk0LDcgKzQ5Nyw4IEBAIHZvaWQgTWVkaWFL
ZXlTZXNzaW9uOjpjbG9zZShSZWY8RGVmZXJyZWRQcm9taXNlPiYmIHByb21pc2UpCiAgICAgbV90
YXNrUXVldWUuZW5xdWV1ZVRhc2soW3RoaXMsIHByb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpXSAo
KSBtdXRhYmxlIHsKICAgICAgICAgLy8gNS4xLiBMZXQgY2RtIGJlIHRoZSBDRE0gaW5zdGFuY2Ug
cmVwcmVzZW50ZWQgYnkgc2Vzc2lvbidzIGNkbSBpbnN0YW5jZSB2YWx1ZS4KICAgICAgICAgLy8g
NS4yLiBVc2UgY2RtIHRvIGNsb3NlIHRoZSBrZXkgc2Vzc2lvbiBhc3NvY2lhdGVkIHdpdGggc2Vz
c2lvbi4KLSAgICAgICAgbV9pbnN0YW5jZS0+Y2xvc2VTZXNzaW9uKG1fc2Vzc2lvbklkLCBbdGhp
cywgd2Vha1RoaXMgPSBtX3dlYWtQdHJGYWN0b3J5LmNyZWF0ZVdlYWtQdHIoKnRoaXMpLCBwcm9t
aXNlID0gV1RGTW92ZShwcm9taXNlKV0gKCkgbXV0YWJsZSB7CisgICAgICAgIGF1dG8gd2Vha1Ro
aXMgPSBtX3dlYWtQdHJGYWN0b3J5LmNyZWF0ZVdlYWtQdHIoKnRoaXMpOworICAgICAgICBtX2lu
c3RhbmNlLT5jbG9zZVNlc3Npb24obV9zZXNzaW9uSWQsIFt0aGlzLCB3ZWFrVGhpcywgcHJvbWlz
ZSA9IFdURk1vdmUocHJvbWlzZSldICgpIG11dGFibGUgewogICAgICAgICAgICAgaWYgKCF3ZWFr
VGhpcykKICAgICAgICAgICAgICAgICByZXR1cm47CiAKQEAgLTUzMiw3ICs1MzYsOCBAQCB2b2lk
IE1lZGlhS2V5U2Vzc2lvbjo6cmVtb3ZlKFJlZjxEZWZlcnJlZFByb21pc2U+JiYgcHJvbWlzZSkK
ICAgICAgICAgLy8gNC4zLiBMZXQgbWVzc2FnZSB0eXBlIGJlIG51bGwuCiAKICAgICAgICAgLy8g
NC40LiBVc2UgdGhlIGNkbSB0byBleGVjdXRlIHRoZSBmb2xsb3dpbmcgc3RlcHM6Ci0gICAgICAg
IG1faW5zdGFuY2UtPnJlbW92ZVNlc3Npb25EYXRhKG1fc2Vzc2lvbklkLCBtX3Nlc3Npb25UeXBl
LCBbdGhpcywgd2Vha1RoaXMgPSBtX3dlYWtQdHJGYWN0b3J5LmNyZWF0ZVdlYWtQdHIoKnRoaXMp
LCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0gKENETUluc3RhbmNlOjpLZXlTdGF0dXNWZWN0
b3ImJiBrZXlzLCBzdGQ6Om9wdGlvbmFsPFJlZjxTaGFyZWRCdWZmZXI+PiYmIG1lc3NhZ2UsIENE
TUluc3RhbmNlOjpTdWNjZXNzVmFsdWUgc3VjY2VlZGVkKSBtdXRhYmxlIHsKKyAgICAgICAgYXV0
byB3ZWFrVGhpcyA9IG1fd2Vha1B0ckZhY3RvcnkuY3JlYXRlV2Vha1B0cigqdGhpcyk7CisgICAg
ICAgIG1faW5zdGFuY2UtPnJlbW92ZVNlc3Npb25EYXRhKG1fc2Vzc2lvbklkLCBtX3Nlc3Npb25U
eXBlLCBbdGhpcywgd2Vha1RoaXMsIHByb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpXSAoQ0RNSW5z
dGFuY2U6OktleVN0YXR1c1ZlY3RvciYmIGtleXMsIHN0ZDo6b3B0aW9uYWw8UmVmPFNoYXJlZEJ1
ZmZlcj4+JiYgbWVzc2FnZSwgQ0RNSW5zdGFuY2U6OlN1Y2Nlc3NWYWx1ZSBzdWNjZWVkZWQpIG11
dGFibGUgewogICAgICAgICAgICAgaWYgKCF3ZWFrVGhpcykKICAgICAgICAgICAgICAgICByZXR1
cm47CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VuY3J5cHRlZG1lZGlh
L2NsZWFya2V5L0NETUNsZWFyS2V5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VuY3J5
cHRlZG1lZGlhL2NsZWFya2V5L0NETUNsZWFyS2V5LmNwcAppbmRleCA3ZjU5NTZhMjIwYTgwMmJj
ZGExYmY4OTA1MmMwZDk3MzM1YTM0MzcyLi4wOWE4MmJhNWY3YmM4MTQ5MDcyZWIyMGQ1Y2UxZGI2
ZWQ1YmM0NzgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9lbmNyeXB0ZWRt
ZWRpYS9jbGVhcmtleS9DRE1DbGVhcktleS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZW5jcnlwdGVkbWVkaWEvY2xlYXJrZXkvQ0RNQ2xlYXJLZXkuY3BwCkBAIC0zNTMsOCArMzUz
LDkgQEAgdm9pZCBDRE1JbnN0YW5jZUNsZWFyS2V5Ojp1cGRhdGVMaWNlbnNlKGNvbnN0IFN0cmlu
ZyYgc2Vzc2lvbklkLCBMaWNlbnNlVHlwZSwgY28KICAgICAvLyBkdXBsaWNhdGVkIGNhbGxPbk1h
aW5UaHJlYWQoKSBjYWxscy4KICAgICBhdXRvIGRpc3BhdGNoQ2FsbGJhY2sgPQogICAgICAgICBb
dGhpcywgJmNhbGxiYWNrXShib29sIHNlc3Npb25XYXNDbG9zZWQsIHN0ZDo6b3B0aW9uYWw8S2V5
U3RhdHVzVmVjdG9yPiYmIGNoYW5nZWRLZXlzLCBTdWNjZXNzVmFsdWUgc3VjY2VlZGVkKSB7Cisg
ICAgICAgICAgICBhdXRvIHdlYWtUaGlzID0gbV93ZWFrUHRyRmFjdG9yeS5jcmVhdGVXZWFrUHRy
KCp0aGlzKTsKICAgICAgICAgICAgIGNhbGxPbk1haW5UaHJlYWQoCi0gICAgICAgICAgICAgICAg
W3dlYWtUaGlzID0gbV93ZWFrUHRyRmFjdG9yeS5jcmVhdGVXZWFrUHRyKCp0aGlzKSwgY2FsbGJh
Y2sgPSBXVEZNb3ZlKGNhbGxiYWNrKSwgc2Vzc2lvbldhc0Nsb3NlZCwgY2hhbmdlZEtleXMgPSBX
VEZNb3ZlKGNoYW5nZWRLZXlzKSwgc3VjY2VlZGVkXSAoKSBtdXRhYmxlIHsKKyAgICAgICAgICAg
ICAgICBbd2Vha1RoaXMsIGNhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayksIHNlc3Npb25XYXND
bG9zZWQsIGNoYW5nZWRLZXlzID0gV1RGTW92ZShjaGFuZ2VkS2V5cyksIHN1Y2NlZWRlZF0gKCkg
bXV0YWJsZSB7CiAgICAgICAgICAgICAgICAgICAgIGlmICghd2Vha1RoaXMpCiAgICAgICAgICAg
ICAgICAgICAgICAgICByZXR1cm47CiAKQEAgLTQ1Nyw4ICs0NTgsOSBAQCB2b2lkIENETUluc3Rh
bmNlQ2xlYXJLZXk6OmxvYWRTZXNzaW9uKExpY2Vuc2VUeXBlLCBjb25zdCBTdHJpbmcmIHNlc3Np
b25JZCwgY29ucwogICAgIC8vIFVzZSBhIGhlbHBlciBmdW5jdG9yIHRoYXQgc2NoZWR1bGVzIHRo
ZSBjYWxsYmFjayBkaXNwYXRjaCwgYXZvaWRpbmcgZHVwbGljYXRlZCBjYWxsT25NYWluVGhyZWFk
KCkgY2FsbHMuCiAgICAgYXV0byBkaXNwYXRjaENhbGxiYWNrID0KICAgICAgICAgW3RoaXMsICZj
YWxsYmFja10oc3RkOjpvcHRpb25hbDxLZXlTdGF0dXNWZWN0b3I+JiYgZXhpc3RpbmdLZXlzLCBT
dWNjZXNzVmFsdWUgc3VjY2VzcywgU2Vzc2lvbkxvYWRGYWlsdXJlIGxvYWRGYWlsdXJlKSB7Cisg
ICAgICAgICAgICBhdXRvIHdlYWtUaGlzID0gbV93ZWFrUHRyRmFjdG9yeS5jcmVhdGVXZWFrUHRy
KCp0aGlzKTsKICAgICAgICAgICAgIGNhbGxPbk1haW5UaHJlYWQoCi0gICAgICAgICAgICAgICAg
W3dlYWtUaGlzID0gbV93ZWFrUHRyRmFjdG9yeS5jcmVhdGVXZWFrUHRyKCp0aGlzKSwgY2FsbGJh
Y2sgPSBXVEZNb3ZlKGNhbGxiYWNrKSwgZXhpc3RpbmdLZXlzID0gV1RGTW92ZShleGlzdGluZ0tl
eXMpLCBzdWNjZXNzLCBsb2FkRmFpbHVyZV0oKSBtdXRhYmxlIHsKKyAgICAgICAgICAgICAgICBb
d2Vha1RoaXMsIGNhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayksIGV4aXN0aW5nS2V5cyA9IFdU
Rk1vdmUoZXhpc3RpbmdLZXlzKSwgc3VjY2VzcywgbG9hZEZhaWx1cmVdKCkgbXV0YWJsZSB7CiAg
ICAgICAgICAgICAgICAgICAgIGlmICghd2Vha1RoaXMpCiAgICAgICAgICAgICAgICAgICAgICAg
ICByZXR1cm47CiAKQEAgLTUwMSw4ICs1MDMsOSBAQCB2b2lkIENETUluc3RhbmNlQ2xlYXJLZXk6
OnJlbW92ZVNlc3Npb25EYXRhKGNvbnN0IFN0cmluZyYgc2Vzc2lvbklkLCBMaWNlbnNlVHlwZQog
ICAgIC8vIFVzZSBhIGhlbHBlciBmdW5jdG9yIHRoYXQgc2NoZWR1bGVzIHRoZSBjYWxsYmFjayBk
aXNwYXRjaCwgYXZvaWRpbmcgZHVwbGljYXRlZCBjYWxsT25NYWluVGhyZWFkKCkgY2FsbHMuCiAg
ICAgYXV0byBkaXNwYXRjaENhbGxiYWNrID0KICAgICAgICAgW3RoaXMsICZjYWxsYmFja10oS2V5
U3RhdHVzVmVjdG9yJiYga2V5U3RhdHVzVmVjdG9yLCBzdGQ6Om9wdGlvbmFsPFJlZjxTaGFyZWRC
dWZmZXI+PiYmIG1lc3NhZ2UsIFN1Y2Nlc3NWYWx1ZSBzdWNjZXNzKSB7CisgICAgICAgICAgICBh
dXRvIHdlYWtUaGlzID0gbV93ZWFrUHRyRmFjdG9yeS5jcmVhdGVXZWFrUHRyKCp0aGlzKTsKICAg
ICAgICAgICAgIGNhbGxPbk1haW5UaHJlYWQoCi0gICAgICAgICAgICAgICAgW3dlYWtUaGlzID0g
bV93ZWFrUHRyRmFjdG9yeS5jcmVhdGVXZWFrUHRyKCp0aGlzKSwgY2FsbGJhY2sgPSBXVEZNb3Zl
KGNhbGxiYWNrKSwga2V5U3RhdHVzVmVjdG9yID0gV1RGTW92ZShrZXlTdGF0dXNWZWN0b3IpLCBt
ZXNzYWdlID0gV1RGTW92ZShtZXNzYWdlKSwgc3VjY2Vzc10oKSBtdXRhYmxlIHsKKyAgICAgICAg
ICAgICAgICBbd2Vha1RoaXMsIGNhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayksIGtleVN0YXR1
c1ZlY3RvciA9IFdURk1vdmUoa2V5U3RhdHVzVmVjdG9yKSwgbWVzc2FnZSA9IFdURk1vdmUobWVz
c2FnZSksIHN1Y2Nlc3NdKCkgbXV0YWJsZSB7CiAgICAgICAgICAgICAgICAgICAgIGlmICghd2Vh
a1RoaXMpCiAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>322632</attachid>
            <date>2017-10-03 22:29:14 -0700</date>
            <delta_ts>2017-10-03 22:29:14 -0700</delta_ts>
            <desc>compiler error log for MediaKeySession.cpp</desc>
            <filename>errors.txt</filename>
            <type>text/plain</type>
            <size>2497</size>
            <attacher name="Yoshiaki Jitsukawa">yoshiaki.jitsukawa</attacher>
            
              <data encoding="base64">MT4gIE1lZGlhS2V5U2Vzc2lvbi5jcHANCjE+Qzpcd29ya1x3aW5jYWlyb1xTb3VyY2VcV2ViQ29y
ZVxNb2R1bGVzXGVuY3J5cHRlZG1lZGlhXE1lZGlhS2V5U2Vzc2lvbi5jcHAoMTkxKTogZXJyb3Ig
QzI2NjQ6ICdXVEY6OldlYWtQdHI8VD4gV1RGOjpXZWFrUHRyRmFjdG9yeTxUPjo6Y3JlYXRlV2Vh
a1B0cjxUPihUICYpIGNvbnN0JzogY2Fubm90IGNvbnZlcnQgYXJndW1lbnQgMSBmcm9tICdXZWJD
b3JlOjpNZWRpYUtleVNlc3Npb246OmdlbmVyYXRlUmVxdWVzdDo6PGxhbWJkYV85NDk1ZmJmNWQw
NzliYTYxNGJlOGZkYTM1NmUzODBkYz4nIHRvICdXZWJDb3JlOjpNZWRpYUtleVNlc3Npb24gJicN
CjE+ICAgICAgICAgIHdpdGgNCjE+ICAgICAgICAgIFsNCjE+ICAgICAgICAgICAgICBUPVdlYkNv
cmU6Ok1lZGlhS2V5U2Vzc2lvbg0KMT4gICAgICAgICAgXQ0KMT5DOlx3b3JrXHdpbmNhaXJvXFNv
dXJjZVxXZWJDb3JlXE1vZHVsZXNcZW5jcnlwdGVkbWVkaWFcTWVkaWFLZXlTZXNzaW9uLmNwcCgx
OTEpOiBlcnJvciBDMjExOTogJ3dlYWtUaGlzJzogdGhlIHR5cGUgZm9yICdhdXRvJyBjYW5ub3Qg
YmUgZGVkdWNlZCBmcm9tIGFuIGVtcHR5IGluaXRpYWxpemVyDQoxPkM6XHdvcmtcd2luY2Fpcm9c
U291cmNlXFdlYkNvcmVcTW9kdWxlc1xlbmNyeXB0ZWRtZWRpYVxNZWRpYUtleVNlc3Npb24uY3Bw
KDIzMCk6IGVycm9yIEMyMDg2OiAnV2ViQ29yZTo6TWVkaWFLZXlTZXNzaW9uICpjb25zdCBfVGhp
cyc6IHJlZGVmaW5pdGlvbg0KMT4gIEM6XHdvcmtcd2luY2Fpcm9cU291cmNlXFdlYkNvcmVcTW9k
dWxlc1xlbmNyeXB0ZWRtZWRpYVxNZWRpYUtleVNlc3Npb24uY3BwKDIzMCk6IG5vdGU6IHNlZSBk
ZWNsYXJhdGlvbiBvZiAnX1RoaXMnDQoxPkM6XHdvcmtcd2luY2Fpcm9cU291cmNlXFdlYkNvcmVc
TW9kdWxlc1xlbmNyeXB0ZWRtZWRpYVxNZWRpYUtleVNlc3Npb24uY3BwKDIzMCk6IGVycm9yIEMy
NzM0OiAnV2ViQ29yZTo6TWVkaWFLZXlTZXNzaW9uOjpnZW5lcmF0ZVJlcXVlc3Q6OjxsYW1iZGFf
OTQ5NWZiZjVkMDc5YmE2MTRiZThmZGEzNTZlMzgwZGM+OjooKTo6PGxhbWJkYV8yN2YzYjA1ODhl
NWU3MGI4YTBhNGRhZTM0Y2MyNWM3ZT46Ol9fdGhpcyc6ICdjb25zdCcgb2JqZWN0IG11c3QgYmUg
aW5pdGlhbGl6ZWQgaWYgbm90ICdleHRlcm4nDQoxPkM6XHdvcmtcd2luY2Fpcm9cU291cmNlXFdl
YkNvcmVcTW9kdWxlc1xlbmNyeXB0ZWRtZWRpYVxNZWRpYUtleVNlc3Npb24uY3BwKDIzMCk6IGVy
cm9yIEMyMDg2OiAnV2ViQ29yZTo6TWVkaWFLZXlTZXNzaW9uICpjb25zdCBXZWJDb3JlOjpNZWRp
YUtleVNlc3Npb246OmdlbmVyYXRlUmVxdWVzdDo6PGxhbWJkYV85NDk1ZmJmNWQwNzliYTYxNGJl
OGZkYTM1NmUzODBkYz46OigpOjo8bGFtYmRhXzI3ZjNiMDU4OGU1ZTcwYjhhMGE0ZGFlMzRjYzI1
YzdlPjo6X190aGlzJzogcmVkZWZpbml0aW9uDQoxPiAgQzpcd29ya1x3aW5jYWlyb1xTb3VyY2Vc
V2ViQ29yZVxNb2R1bGVzXGVuY3J5cHRlZG1lZGlhXE1lZGlhS2V5U2Vzc2lvbi5jcHAoMjMwKTog
bm90ZTogc2VlIGRlY2xhcmF0aW9uIG9mICdXZWJDb3JlOjpNZWRpYUtleVNlc3Npb246OmdlbmVy
YXRlUmVxdWVzdDo6PGxhbWJkYV85NDk1ZmJmNWQwNzliYTYxNGJlOGZkYTM1NmUzODBkYz46Oigp
Ojo8bGFtYmRhXzI3ZjNiMDU4OGU1ZTcwYjhhMGE0ZGFlMzRjYzI1YzdlPjo6X190aGlzJw0KMT5D
Olx3b3JrXHdpbmNhaXJvXFNvdXJjZVxXZWJDb3JlXE1vZHVsZXNcZW5jcnlwdGVkbWVkaWFcTWVk
aWFLZXlTZXNzaW9uLmNwcCgyMzApOiBlcnJvciBDMjQzNzogJ19fdGhpcyc6IGhhcyBhbHJlYWR5
IGJlZW4gaW5pdGlhbGl6ZWQNCjE+Qzpcd29ya1x3aW5jYWlyb1xTb3VyY2VcV2ViQ29yZVxNb2R1
bGVzXGVuY3J5cHRlZG1lZGlhXE1lZGlhS2V5U2Vzc2lvbi5jcHAoMjMwKTogZXJyb3IgQzI0NDA6
ICc8ZnVuY3Rpb24tc3R5bGUtY2FzdD4nOiBjYW5ub3QgY29udmVydCBmcm9tICdpbml0aWFsaXpl
ciBsaXN0JyB0byAnV2ViQ29yZTo6TWVkaWFLZXlTZXNzaW9uOjpnZW5lcmF0ZVJlcXVlc3Q6Ojxs
YW1iZGFfOTQ5NWZiZjVkMDc5YmE2MTRiZThmZGEzNTZlMzgwZGM+OjooKTo6PGxhbWJkYV8yN2Yz
YjA1ODhlNWU3MGI4YTBhNGRhZTM0Y2MyNWM3ZT4nDQoxPiAgQzpcd29ya1x3aW5jYWlyb1xTb3Vy
Y2VcV2ViQ29yZVxNb2R1bGVzXGVuY3J5cHRlZG1lZGlhXE1lZGlhS2V5U2Vzc2lvbi5jcHAoMjMw
KTogbm90ZTogTm8gY29uc3RydWN0b3IgY291bGQgdGFrZSB0aGUgc291cmNlIHR5cGUsIG9yIGNv
bnN0cnVjdG9yIG92ZXJsb2FkIHJlc29sdXRpb24gd2FzIGFtYmlndW91cw0KMT5DOlx3b3JrXHdp
bmNhaXJvXFNvdXJjZVxXZWJDb3JlXE1vZHVsZXNcZW5jcnlwdGVkbWVkaWFcTWVkaWFLZXlTZXNz
aW9uLmNwcCgyMzApOiBlcnJvciBDMjY2MDogJ1dlYkNvcmU6OkNETUluc3RhbmNlOjpyZXF1ZXN0
TGljZW5zZSc6IGZ1bmN0aW9uIGRvZXMgbm90IHRha2UgMyBhcmd1bWVudHMNCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>323238</attachid>
            <date>2017-10-09 16:07:08 -0700</date>
            <delta_ts>2021-02-08 11:06:39 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-177803-20171010080707.patch</filename>
            <type>text/plain</type>
            <size>13026</size>
            <attacher name="Yoshiaki Jitsukawa">yoshiaki.jitsukawa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIzMDcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDZiMmUyYTMyMGI5OGEw
MmIzZTZkNzgxYmU5MzlhYTliM2Y0OGVjNC4uMmRjMDIwNjc4MTFhZGY0NjQ3MTRhMTE0N2MzYTVl
NTAwMWNhZTFlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDE3LTEwLTA5ICBZb3No
aWFraSBKaXRzdWthd2EgIDxZb3NoaWFraS5KaXRzdWthd2FAc29ueS5jb20+CisKKyAgICAgICAg
Rml4IE1TVkMgYnVpbGQgd2l0aCBFTkNSWVBURURfTUVESUEgZW5hYmxlZAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc3ODAzCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQXMgYSB3b3JrYXJvdW5kIGZvciBN
U1ZDLCBhIHdlYWsgcG9pbnRlciBvZiAidGhpcyIgaXMgY2FwdHVyZWQKKyAgICAgICAgYXQgdGhl
IG91dGVybW9zdCBsYW1iZGEgZXhwcmVzc2lvbi4KKworICAgICAgICAqIE1vZHVsZXMvZW5jcnlw
dGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhS2V5
U2Vzc2lvbjo6Z2VuZXJhdGVSZXF1ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhS2V5U2Vz
c2lvbjo6bG9hZCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtleVNlc3Npb246OnVwZGF0ZSk6
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtleVNlc3Npb246OmNsb3NlKToKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhS2V5U2Vzc2lvbjo6cmVtb3ZlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9lbmNy
eXB0ZWRtZWRpYS9jbGVhcmtleS9DRE1DbGVhcktleS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpD
RE1JbnN0YW5jZUNsZWFyS2V5Ojp1cGRhdGVMaWNlbnNlKToKKyAgICAgICAgKFdlYkNvcmU6OkNE
TUluc3RhbmNlQ2xlYXJLZXk6OmxvYWRTZXNzaW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkNETUlu
c3RhbmNlQ2xlYXJLZXk6OnJlbW92ZVNlc3Npb25EYXRhKToKKwogMjAxNy0xMC0wOSAgRGVhbiBK
YWNrc29uICA8ZGlub0BhcHBsZS5jb20+CiAKICAgICAgICAgW1dlYkdMXSBUaGlyZCBJT1N1cmZh
Y2UgYnVmZmVyIG1pZ2h0IGJlIGFsbG9jYXRlZCB3aXRoIHRoZSB3cm9uZyBzaXplCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lv
bi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vz
c2lvbi5jcHAKaW5kZXggNGQ4MjQ1Y2Y3Njk3ZDg4YjM0YjhkNDM3MDk2ZWE0MGU4NGEyMmUwNC4u
NjY1M2M4Y2RlMDBiMzYxZGMzMmZjNjRhYjgyYmZjM2Y1MDc1NzY3NCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9u
LmNwcApAQCAtMTQxLDcgKzE0MSw3IEBAIHZvaWQgTWVkaWFLZXlTZXNzaW9uOjpnZW5lcmF0ZVJl
cXVlc3QoY29uc3QgQXRvbWljU3RyaW5nJiBpbml0RGF0YVR5cGUsIGNvbnN0IEJ1CiAgICAgLy8g
OC4gTGV0IHNlc3Npb24gdHlwZSBiZSB0aGlzIG9iamVjdCdzIHNlc3Npb24gdHlwZS4KICAgICAv
LyA5LiBMZXQgcHJvbWlzZSBiZSBhIG5ldyBwcm9taXNlLgogICAgIC8vIDEwLiBSdW4gdGhlIGZv
bGxvd2luZyBzdGVwcyBpbiBwYXJhbGxlbDoKLSAgICBtX3Rhc2tRdWV1ZS5lbnF1ZXVlVGFzayhb
dGhpcywgaW5pdERhdGEgPSBTaGFyZWRCdWZmZXI6OmNyZWF0ZShpbml0RGF0YS5kYXRhKCksIGlu
aXREYXRhLmxlbmd0aCgpKSwgaW5pdERhdGFUeXBlLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNl
KV0gKCkgbXV0YWJsZSB7CisgICAgbV90YXNrUXVldWUuZW5xdWV1ZVRhc2soW3RoaXMsIHdlYWtU
aGlzID0gbV93ZWFrUHRyRmFjdG9yeS5jcmVhdGVXZWFrUHRyKCp0aGlzKSwgaW5pdERhdGEgPSBT
aGFyZWRCdWZmZXI6OmNyZWF0ZShpbml0RGF0YS5kYXRhKCksIGluaXREYXRhLmxlbmd0aCgpKSwg
aW5pdERhdGFUeXBlLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0gKCkgbXV0YWJsZSB7CiAg
ICAgICAgIC8vIDEwLjEuIElmIHRoZSBpbml0IGRhdGEgaXMgbm90IHZhbGlkIGZvciBpbml0RGF0
YVR5cGUsIHJlamVjdCBwcm9taXNlIHdpdGggYSBuZXdseSBjcmVhdGVkIFR5cGVFcnJvci4KICAg
ICAgICAgLy8gMTAuMi4gTGV0IHNhbml0aXplZCBpbml0IGRhdGEgYmUgYSB2YWxpZGF0ZWQgYW5k
IHNhbml0aXplZCB2ZXJzaW9uIG9mIGluaXQgZGF0YS4KICAgICAgICAgUmVmUHRyPFNoYXJlZEJ1
ZmZlcj4gc2FuaXRpemVkSW5pdERhdGEgPSBtX2ltcGxlbWVudGF0aW9uLT5zYW5pdGl6ZUluaXRE
YXRhKGluaXREYXRhVHlwZSwgaW5pdERhdGEpOwpAQCAtMTg4LDcgKzE4OCw3IEBAIHZvaWQgTWVk
aWFLZXlTZXNzaW9uOjpnZW5lcmF0ZVJlcXVlc3QoY29uc3QgQXRvbWljU3RyaW5nJiBpbml0RGF0
YVR5cGUsIGNvbnN0IEJ1CiAgICAgICAgICAgICBtX2xhdGVzdERlY3J5cHRUaW1lID0gMDsKICAg
ICAgICAgfQogCi0gICAgICAgIG1faW5zdGFuY2UtPnJlcXVlc3RMaWNlbnNlKG1fc2Vzc2lvblR5
cGUsIGluaXREYXRhVHlwZSwgV1RGTW92ZShpbml0RGF0YSksIFt0aGlzLCB3ZWFrVGhpcyA9IG1f
d2Vha1B0ckZhY3RvcnkuY3JlYXRlV2Vha1B0cigqdGhpcyksIHByb21pc2UgPSBXVEZNb3ZlKHBy
b21pc2UpXSAoUmVmPFNoYXJlZEJ1ZmZlcj4mJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNlc3Np
b25JZCwgYm9vbCBuZWVkc0luZGl2aWR1YWxpemF0aW9uLCBDRE1JbnN0YW5jZTo6U3VjY2Vzc1Zh
bHVlIHN1Y2NlZWRlZCkgbXV0YWJsZSB7CisgICAgICAgIG1faW5zdGFuY2UtPnJlcXVlc3RMaWNl
bnNlKG1fc2Vzc2lvblR5cGUsIGluaXREYXRhVHlwZSwgV1RGTW92ZShpbml0RGF0YSksIFt0aGlz
LCB3ZWFrVGhpcywgcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSldIChSZWY8U2hhcmVkQnVmZmVy
PiYmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc2Vzc2lvbklkLCBib29sIG5lZWRzSW5kaXZpZHVh
bGl6YXRpb24sIENETUluc3RhbmNlOjpTdWNjZXNzVmFsdWUgc3VjY2VlZGVkKSBtdXRhYmxlIHsK
ICAgICAgICAgICAgIGlmICghd2Vha1RoaXMpCiAgICAgICAgICAgICAgICAgcmV0dXJuOwogCkBA
IC0yODEsNyArMjgxLDcgQEAgdm9pZCBNZWRpYUtleVNlc3Npb246OmxvYWQoY29uc3QgU3RyaW5n
JiBzZXNzaW9uSWQsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYgcHJvbWkKICAgICAgICAgLy8gOC42
LiBMZXQgbWVzc2FnZSB0eXBlIGJlIG51bGwuCiAgICAgICAgIC8vIDguNy4gTGV0IGNkbSBiZSB0
aGUgQ0RNIGluc3RhbmNlIHJlcHJlc2VudGVkIGJ5IHRoaXMgb2JqZWN0J3MgY2RtIGluc3RhbmNl
IHZhbHVlLgogICAgICAgICAvLyA4LjguIFVzZSB0aGUgY2RtIHRvIGV4ZWN1dGUgdGhlIGZvbGxv
d2luZyBzdGVwczoKLSAgICAgICAgbV9pbnN0YW5jZS0+bG9hZFNlc3Npb24obV9zZXNzaW9uVHlw
ZSwgKnNhbml0aXplZFNlc3Npb25JZCwgb3JpZ2luLCBbdGhpcywgd2Vha1RoaXMgPSBtX3dlYWtQ
dHJGYWN0b3J5LmNyZWF0ZVdlYWtQdHIoKnRoaXMpLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNl
KSwgc2FuaXRpemVkU2Vzc2lvbklkID0gKnNhbml0aXplZFNlc3Npb25JZF0gKHN0ZDo6b3B0aW9u
YWw8Q0RNSW5zdGFuY2U6OktleVN0YXR1c1ZlY3Rvcj4mJiBrbm93bktleXMsIHN0ZDo6b3B0aW9u
YWw8ZG91YmxlPiYmIGV4cGlyYXRpb24sIHN0ZDo6b3B0aW9uYWw8Q0RNSW5zdGFuY2U6Ok1lc3Nh
Z2U+JiYgbWVzc2FnZSwgQ0RNSW5zdGFuY2U6OlN1Y2Nlc3NWYWx1ZSBzdWNjZWVkZWQsIENETUlu
c3RhbmNlOjpTZXNzaW9uTG9hZEZhaWx1cmUgZmFpbHVyZSkgbXV0YWJsZSB7CisgICAgICAgIG1f
aW5zdGFuY2UtPmxvYWRTZXNzaW9uKG1fc2Vzc2lvblR5cGUsICpzYW5pdGl6ZWRTZXNzaW9uSWQs
IG9yaWdpbiwgW3RoaXMsIHByb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpLCBzYW5pdGl6ZWRTZXNz
aW9uSWQgPSAqc2FuaXRpemVkU2Vzc2lvbklkXSAoc3RkOjpvcHRpb25hbDxDRE1JbnN0YW5jZTo6
S2V5U3RhdHVzVmVjdG9yPiYmIGtub3duS2V5cywgc3RkOjpvcHRpb25hbDxkb3VibGU+JiYgZXhw
aXJhdGlvbiwgc3RkOjpvcHRpb25hbDxDRE1JbnN0YW5jZTo6TWVzc2FnZT4mJiBtZXNzYWdlLCBD
RE1JbnN0YW5jZTo6U3VjY2Vzc1ZhbHVlIHN1Y2NlZWRlZCwgQ0RNSW5zdGFuY2U6OlNlc3Npb25M
b2FkRmFpbHVyZSBmYWlsdXJlKSBtdXRhYmxlIHsKICAgICAgICAgICAgIC8vIDguOC4xLiBJZiB0
aGVyZSBpcyBubyBkYXRhIHN0b3JlZCBmb3IgdGhlIHNhbml0aXplZCBzZXNzaW9uIElEIGluIHRo
ZSBvcmlnaW4sIHJlc29sdmUgcHJvbWlzZSB3aXRoIGZhbHNlIGFuZCBhYm9ydCB0aGVzZSBzdGVw
cy4KICAgICAgICAgICAgIC8vIDguOC4yLiBJZiB0aGUgc3RvcmVkIHNlc3Npb24ncyBzZXNzaW9u
IHR5cGUgaXMgbm90IHRoZSBzYW1lIGFzIHRoZSBjdXJyZW50IE1lZGlhS2V5U2Vzc2lvbiBzZXNz
aW9uIHR5cGUsIHJlamVjdCBwcm9taXNlIHdpdGggYSBuZXdseSBjcmVhdGVkIFR5cGVFcnJvci4K
ICAgICAgICAgICAgIC8vIDguOC4zLiBMZXQgc2Vzc2lvbiBkYXRhIGJlIHRoZSBkYXRhIHN0b3Jl
ZCBmb3IgdGhlIHNhbml0aXplZCBzZXNzaW9uIElEIGluIHRoZSBvcmlnaW4uIFRoaXMgbXVzdCBu
b3QgaW5jbHVkZSBkYXRhIGZyb20gb3RoZXIgb3JpZ2luKHMpIG9yIHRoYXQgaXMgbm90IGFzc29j
aWF0ZWQgd2l0aCBhbiBvcmlnaW4uCkBAIC0zMTIsNyArMzEyLDcgQEAgdm9pZCBNZWRpYUtleVNl
c3Npb246OmxvYWQoY29uc3QgU3RyaW5nJiBzZXNzaW9uSWQsIFJlZjxEZWZlcnJlZFByb21pc2U+
JiYgcHJvbWkKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgLy8gOC45LiBRdWV1ZSBhIHRh
c2sgdG8gcnVuIHRoZSBmb2xsb3dpbmcgc3RlcHM6Ci0gICAgICAgICAgICBtX3Rhc2tRdWV1ZS5l
bnF1ZXVlVGFzayhbdGhpcywga25vd25LZXlzID0gV1RGTW92ZShrbm93bktleXMpLCBleHBpcmF0
aW9uID0gV1RGTW92ZShleHBpcmF0aW9uKSwgbWVzc2FnZSA9IFdURk1vdmUobWVzc2FnZSksIHNh
bml0aXplZFNlc3Npb25JZCwgc3VjY2VlZGVkLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0g
KCkgbXV0YWJsZSB7CisgICAgICAgICAgICBtX3Rhc2tRdWV1ZS5lbnF1ZXVlVGFzayhbdGhpcywg
a25vd25LZXlzID0gV1RGTW92ZShrbm93bktleXMpLCBleHBpcmF0aW9uID0gV1RGTW92ZShleHBp
cmF0aW9uKSwgbWVzc2FnZSA9IFdURk1vdmUobWVzc2FnZSksIHNhbml0aXplZFNlc3Npb25JZCA9
IHNhbml0aXplZFNlc3Npb25JZCwgc3VjY2VlZGVkLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNl
KV0gKCkgbXV0YWJsZSB7CiAgICAgICAgICAgICAgICAgLy8gOC45LjEuIElmIGFueSBvZiB0aGUg
cHJlY2VkaW5nIHN0ZXBzIGZhaWxlZCwgcmVqZWN0IHByb21pc2Ugd2l0aCBhIHRoZSBhcHByb3By
aWF0ZSBlcnJvciBuYW1lLgogICAgICAgICAgICAgICAgIGlmIChzdWNjZWVkZWQgPT0gQ0RNSW5z
dGFuY2U6OlN1Y2Nlc3NWYWx1ZTo6RmFpbGVkKSB7CiAgICAgICAgICAgICAgICAgICAgIHByb21p
c2UtPnJlamVjdChOb3RTdXBwb3J0ZWRFcnJvcik7CkBAIC0zNjcsNyArMzY3LDcgQEAgdm9pZCBN
ZWRpYUtleVNlc3Npb246OnVwZGF0ZShjb25zdCBCdWZmZXJTb3VyY2UmIHJlc3BvbnNlLCBSZWY8
RGVmZXJyZWRQcm9taXNlPiYKICAgICAvLyA0LiBMZXQgcmVzcG9uc2UgY29weSBiZSBhIGNvcHkg
b2YgdGhlIGNvbnRlbnRzIG9mIHRoZSByZXNwb25zZSBwYXJhbWV0ZXIuCiAgICAgLy8gNS4gTGV0
IHByb21pc2UgYmUgYSBuZXcgcHJvbWlzZS4KICAgICAvLyA2LiBSdW4gdGhlIGZvbGxvd2luZyBz
dGVwcyBpbiBwYXJhbGxlbDoKLSAgICBtX3Rhc2tRdWV1ZS5lbnF1ZXVlVGFzayhbdGhpcywgcmVz
cG9uc2UgPSBTaGFyZWRCdWZmZXI6OmNyZWF0ZShyZXNwb25zZS5kYXRhKCksIHJlc3BvbnNlLmxl
bmd0aCgpKSwgcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSldICgpIG11dGFibGUgeworICAgIG1f
dGFza1F1ZXVlLmVucXVldWVUYXNrKFt0aGlzLCB3ZWFrVGhpcyA9IG1fd2Vha1B0ckZhY3Rvcnku
Y3JlYXRlV2Vha1B0cigqdGhpcyksIHJlc3BvbnNlID0gU2hhcmVkQnVmZmVyOjpjcmVhdGUocmVz
cG9uc2UuZGF0YSgpLCByZXNwb25zZS5sZW5ndGgoKSksIHByb21pc2UgPSBXVEZNb3ZlKHByb21p
c2UpXSAoKSBtdXRhYmxlIHsKICAgICAgICAgLy8gNi4xLiBMZXQgc2FuaXRpemVkIHJlc3BvbnNl
IGJlIGEgdmFsaWRhdGVkIGFuZC9vciBzYW5pdGl6ZWQgdmVyc2lvbiBvZiByZXNwb25zZSBjb3B5
LgogICAgICAgICBSZWZQdHI8U2hhcmVkQnVmZmVyPiBzYW5pdGl6ZWRSZXNwb25zZSA9IG1faW1w
bGVtZW50YXRpb24tPnNhbml0aXplUmVzcG9uc2UocmVzcG9uc2UpOwogCkBAIC0zODIsNyArMzgy
LDcgQEAgdm9pZCBNZWRpYUtleVNlc3Npb246OnVwZGF0ZShjb25zdCBCdWZmZXJTb3VyY2UmIHJl
c3BvbnNlLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYKICAgICAgICAgLy8gNi41LiBMZXQgc2Vzc2lv
biBjbG9zZWQgYmUgZmFsc2UuCiAgICAgICAgIC8vIDYuNi4gTGV0IGNkbSBiZSB0aGUgQ0RNIGlu
c3RhbmNlIHJlcHJlc2VudGVkIGJ5IHRoaXMgb2JqZWN0J3MgY2RtIGluc3RhbmNlIHZhbHVlLgog
ICAgICAgICAvLyA2LjcuIFVzZSB0aGUgY2RtIHRvIGV4ZWN1dGUgdGhlIGZvbGxvd2luZyBzdGVw
czoKLSAgICAgICAgbV9pbnN0YW5jZS0+dXBkYXRlTGljZW5zZShtX3Nlc3Npb25JZCwgbV9zZXNz
aW9uVHlwZSwgKnNhbml0aXplZFJlc3BvbnNlLCBbdGhpcywgd2Vha1RoaXMgPSBtX3dlYWtQdHJG
YWN0b3J5LmNyZWF0ZVdlYWtQdHIoKnRoaXMpLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0g
KGJvb2wgc2Vzc2lvbldhc0Nsb3NlZCwgc3RkOjpvcHRpb25hbDxDRE1JbnN0YW5jZTo6S2V5U3Rh
dHVzVmVjdG9yPiYmIGNoYW5nZWRLZXlzLCBzdGQ6Om9wdGlvbmFsPGRvdWJsZT4mJiBjaGFuZ2Vk
RXhwaXJhdGlvbiwgc3RkOjpvcHRpb25hbDxDRE1JbnN0YW5jZTo6TWVzc2FnZT4mJiBtZXNzYWdl
LCBDRE1JbnN0YW5jZTo6U3VjY2Vzc1ZhbHVlIHN1Y2NlZWRlZCkgbXV0YWJsZSB7CisgICAgICAg
IG1faW5zdGFuY2UtPnVwZGF0ZUxpY2Vuc2UobV9zZXNzaW9uSWQsIG1fc2Vzc2lvblR5cGUsICpz
YW5pdGl6ZWRSZXNwb25zZSwgW3RoaXMsIHdlYWtUaGlzLCBwcm9taXNlID0gV1RGTW92ZShwcm9t
aXNlKV0oYm9vbCBzZXNzaW9uV2FzQ2xvc2VkLCBzdGQ6Om9wdGlvbmFsPENETUluc3RhbmNlOjpL
ZXlTdGF0dXNWZWN0b3I+JiYgY2hhbmdlZEtleXMsIHN0ZDo6b3B0aW9uYWw8ZG91YmxlPiYmIGNo
YW5nZWRFeHBpcmF0aW9uLCBzdGQ6Om9wdGlvbmFsPENETUluc3RhbmNlOjpNZXNzYWdlPiYmIG1l
c3NhZ2UsIENETUluc3RhbmNlOjpTdWNjZXNzVmFsdWUgc3VjY2VlZGVkKSBtdXRhYmxlIHsKICAg
ICAgICAgICAgIGlmICghd2Vha1RoaXMpCiAgICAgICAgICAgICAgICAgcmV0dXJuOwogCkBAIC00
OTEsMTAgKzQ5MSwxMCBAQCB2b2lkIE1lZGlhS2V5U2Vzc2lvbjo6Y2xvc2UoUmVmPERlZmVycmVk
UHJvbWlzZT4mJiBwcm9taXNlKQogCiAgICAgLy8gNC4gTGV0IHByb21pc2UgYmUgYSBuZXcgcHJv
bWlzZS4KICAgICAvLyA1LiBSdW4gdGhlIGZvbGxvd2luZyBzdGVwcyBpbiBwYXJhbGxlbDoKLSAg
ICBtX3Rhc2tRdWV1ZS5lbnF1ZXVlVGFzayhbdGhpcywgcHJvbWlzZSA9IFdURk1vdmUocHJvbWlz
ZSldICgpIG11dGFibGUgeworICAgIG1fdGFza1F1ZXVlLmVucXVldWVUYXNrKFt0aGlzLCB3ZWFr
VGhpcyA9IG1fd2Vha1B0ckZhY3RvcnkuY3JlYXRlV2Vha1B0cigqdGhpcyksIHByb21pc2UgPSBX
VEZNb3ZlKHByb21pc2UpXSAoKSBtdXRhYmxlIHsKICAgICAgICAgLy8gNS4xLiBMZXQgY2RtIGJl
IHRoZSBDRE0gaW5zdGFuY2UgcmVwcmVzZW50ZWQgYnkgc2Vzc2lvbidzIGNkbSBpbnN0YW5jZSB2
YWx1ZS4KICAgICAgICAgLy8gNS4yLiBVc2UgY2RtIHRvIGNsb3NlIHRoZSBrZXkgc2Vzc2lvbiBh
c3NvY2lhdGVkIHdpdGggc2Vzc2lvbi4KLSAgICAgICAgbV9pbnN0YW5jZS0+Y2xvc2VTZXNzaW9u
KG1fc2Vzc2lvbklkLCBbdGhpcywgd2Vha1RoaXMgPSBtX3dlYWtQdHJGYWN0b3J5LmNyZWF0ZVdl
YWtQdHIoKnRoaXMpLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0gKCkgbXV0YWJsZSB7Cisg
ICAgICAgIG1faW5zdGFuY2UtPmNsb3NlU2Vzc2lvbihtX3Nlc3Npb25JZCwgW3RoaXMsIHdlYWtU
aGlzLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0gKCkgbXV0YWJsZSB7CiAgICAgICAgICAg
ICBpZiAoIXdlYWtUaGlzKQogICAgICAgICAgICAgICAgIHJldHVybjsKIApAQCAtNTI2LDEzICs1
MjYsMTMgQEAgdm9pZCBNZWRpYUtleVNlc3Npb246OnJlbW92ZShSZWY8RGVmZXJyZWRQcm9taXNl
PiYmIHByb21pc2UpCiAKICAgICAvLyAzLiBMZXQgcHJvbWlzZSBiZSBhIG5ldyBwcm9taXNlLgog
ICAgIC8vIDQuIFJ1biB0aGUgZm9sbG93aW5nIHN0ZXBzIGluIHBhcmFsbGVsOgotICAgIG1fdGFz
a1F1ZXVlLmVucXVldWVUYXNrKFt0aGlzLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0gKCkg
bXV0YWJsZSB7CisgICAgbV90YXNrUXVldWUuZW5xdWV1ZVRhc2soW3RoaXMsIHdlYWtUaGlzID0g
bV93ZWFrUHRyRmFjdG9yeS5jcmVhdGVXZWFrUHRyKCp0aGlzKSwgcHJvbWlzZSA9IFdURk1vdmUo
cHJvbWlzZSldICgpIG11dGFibGUgewogICAgICAgICAvLyA0LjEuIExldCBjZG0gYmUgdGhlIENE
TSBpbnN0YW5jZSByZXByZXNlbnRlZCBieSB0aGlzIG9iamVjdCdzIGNkbSBpbnN0YW5jZSB2YWx1
ZS4KICAgICAgICAgLy8gNC4yLiBMZXQgbWVzc2FnZSBiZSBudWxsLgogICAgICAgICAvLyA0LjMu
IExldCBtZXNzYWdlIHR5cGUgYmUgbnVsbC4KIAogICAgICAgICAvLyA0LjQuIFVzZSB0aGUgY2Rt
IHRvIGV4ZWN1dGUgdGhlIGZvbGxvd2luZyBzdGVwczoKLSAgICAgICAgbV9pbnN0YW5jZS0+cmVt
b3ZlU2Vzc2lvbkRhdGEobV9zZXNzaW9uSWQsIG1fc2Vzc2lvblR5cGUsIFt0aGlzLCB3ZWFrVGhp
cyA9IG1fd2Vha1B0ckZhY3RvcnkuY3JlYXRlV2Vha1B0cigqdGhpcyksIHByb21pc2UgPSBXVEZN
b3ZlKHByb21pc2UpXSAoQ0RNSW5zdGFuY2U6OktleVN0YXR1c1ZlY3RvciYmIGtleXMsIHN0ZDo6
b3B0aW9uYWw8UmVmPFNoYXJlZEJ1ZmZlcj4+JiYgbWVzc2FnZSwgQ0RNSW5zdGFuY2U6OlN1Y2Nl
c3NWYWx1ZSBzdWNjZWVkZWQpIG11dGFibGUgeworICAgICAgICBtX2luc3RhbmNlLT5yZW1vdmVT
ZXNzaW9uRGF0YShtX3Nlc3Npb25JZCwgbV9zZXNzaW9uVHlwZSwgW3RoaXMsIHdlYWtUaGlzLCBw
cm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0gKENETUluc3RhbmNlOjpLZXlTdGF0dXNWZWN0b3Im
JiBrZXlzLCBzdGQ6Om9wdGlvbmFsPFJlZjxTaGFyZWRCdWZmZXI+PiYmIG1lc3NhZ2UsIENETUlu
c3RhbmNlOjpTdWNjZXNzVmFsdWUgc3VjY2VlZGVkKSBtdXRhYmxlIHsKICAgICAgICAgICAgIGlm
ICghd2Vha1RoaXMpCiAgICAgICAgICAgICAgICAgcmV0dXJuOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9lbmNyeXB0ZWRtZWRpYS9jbGVhcmtleS9DRE1DbGVhcktleS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9lbmNyeXB0ZWRtZWRpYS9jbGVhcmtleS9DRE1D
bGVhcktleS5jcHAKaW5kZXggNzA4ZjQ3MGQyYTBmNDdkOTIxM2RjNDgyNjAwNTU4ODViNDdkZTJl
ZS4uODViNDI3OGY0MzE0MzE2MjlmYjY1NGI2ZDY0ZjllM2E4YTM2NmYzMiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZW5jcnlwdGVkbWVkaWEvY2xlYXJrZXkvQ0RNQ2xlYXJL
ZXkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VuY3J5cHRlZG1lZGlhL2NsZWFy
a2V5L0NETUNsZWFyS2V5LmNwcApAQCAtMzU0LDkgKzM1NCw5IEBAIHZvaWQgQ0RNSW5zdGFuY2VD
bGVhcktleTo6dXBkYXRlTGljZW5zZShjb25zdCBTdHJpbmcmIHNlc3Npb25JZCwgTGljZW5zZVR5
cGUsIGNvCiAgICAgLy8gVXNlIGEgaGVscGVyIGZ1bmN0b3IgdGhhdCBzY2hlZHVsZXMgdGhlIGNh
bGxiYWNrIGRpc3BhdGNoLCBhdm9pZGluZwogICAgIC8vIGR1cGxpY2F0ZWQgY2FsbE9uTWFpblRo
cmVhZCgpIGNhbGxzLgogICAgIGF1dG8gZGlzcGF0Y2hDYWxsYmFjayA9Ci0gICAgICAgIFt0aGlz
LCAmY2FsbGJhY2tdKGJvb2wgc2Vzc2lvbldhc0Nsb3NlZCwgc3RkOjpvcHRpb25hbDxLZXlTdGF0
dXNWZWN0b3I+JiYgY2hhbmdlZEtleXMsIFN1Y2Nlc3NWYWx1ZSBzdWNjZWVkZWQpIHsKKyAgICAg
ICAgW3RoaXMsIHdlYWtUaGlzID0gbV93ZWFrUHRyRmFjdG9yeS5jcmVhdGVXZWFrUHRyKCp0aGlz
KSwgJmNhbGxiYWNrXShib29sIHNlc3Npb25XYXNDbG9zZWQsIHN0ZDo6b3B0aW9uYWw8S2V5U3Rh
dHVzVmVjdG9yPiYmIGNoYW5nZWRLZXlzLCBTdWNjZXNzVmFsdWUgc3VjY2VlZGVkKSB7CiAgICAg
ICAgICAgICBjYWxsT25NYWluVGhyZWFkKAotICAgICAgICAgICAgICAgIFt3ZWFrVGhpcyA9IG1f
d2Vha1B0ckZhY3RvcnkuY3JlYXRlV2Vha1B0cigqdGhpcyksIGNhbGxiYWNrID0gV1RGTW92ZShj
YWxsYmFjayksIHNlc3Npb25XYXNDbG9zZWQsIGNoYW5nZWRLZXlzID0gV1RGTW92ZShjaGFuZ2Vk
S2V5cyksIHN1Y2NlZWRlZF0gKCkgbXV0YWJsZSB7CisgICAgICAgICAgICAgICAgW3dlYWtUaGlz
LCBjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spLCBzZXNzaW9uV2FzQ2xvc2VkLCBjaGFuZ2Vk
S2V5cyA9IFdURk1vdmUoY2hhbmdlZEtleXMpLCBzdWNjZWVkZWRdICgpIG11dGFibGUgewogICAg
ICAgICAgICAgICAgICAgICBpZiAoIXdlYWtUaGlzKQogICAgICAgICAgICAgICAgICAgICAgICAg
cmV0dXJuOwogCkBAIC00NTgsOSArNDU4LDkgQEAgdm9pZCBDRE1JbnN0YW5jZUNsZWFyS2V5Ojps
b2FkU2Vzc2lvbihMaWNlbnNlVHlwZSwgY29uc3QgU3RyaW5nJiBzZXNzaW9uSWQsIGNvbnMKIHsK
ICAgICAvLyBVc2UgYSBoZWxwZXIgZnVuY3RvciB0aGF0IHNjaGVkdWxlcyB0aGUgY2FsbGJhY2sg
ZGlzcGF0Y2gsIGF2b2lkaW5nIGR1cGxpY2F0ZWQgY2FsbE9uTWFpblRocmVhZCgpIGNhbGxzLgog
ICAgIGF1dG8gZGlzcGF0Y2hDYWxsYmFjayA9Ci0gICAgICAgIFt0aGlzLCAmY2FsbGJhY2tdKHN0
ZDo6b3B0aW9uYWw8S2V5U3RhdHVzVmVjdG9yPiYmIGV4aXN0aW5nS2V5cywgU3VjY2Vzc1ZhbHVl
IHN1Y2Nlc3MsIFNlc3Npb25Mb2FkRmFpbHVyZSBsb2FkRmFpbHVyZSkgeworICAgICAgICBbdGhp
cywgd2Vha1RoaXMgPSBtX3dlYWtQdHJGYWN0b3J5LmNyZWF0ZVdlYWtQdHIoKnRoaXMpLCAmY2Fs
bGJhY2tdKHN0ZDo6b3B0aW9uYWw8S2V5U3RhdHVzVmVjdG9yPiYmIGV4aXN0aW5nS2V5cywgU3Vj
Y2Vzc1ZhbHVlIHN1Y2Nlc3MsIFNlc3Npb25Mb2FkRmFpbHVyZSBsb2FkRmFpbHVyZSkgewogICAg
ICAgICAgICAgY2FsbE9uTWFpblRocmVhZCgKLSAgICAgICAgICAgICAgICBbd2Vha1RoaXMgPSBt
X3dlYWtQdHJGYWN0b3J5LmNyZWF0ZVdlYWtQdHIoKnRoaXMpLCBjYWxsYmFjayA9IFdURk1vdmUo
Y2FsbGJhY2spLCBleGlzdGluZ0tleXMgPSBXVEZNb3ZlKGV4aXN0aW5nS2V5cyksIHN1Y2Nlc3Ms
IGxvYWRGYWlsdXJlXSgpIG11dGFibGUgeworICAgICAgICAgICAgICAgIFt3ZWFrVGhpcywgY2Fs
bGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNrKSwgZXhpc3RpbmdLZXlzID0gV1RGTW92ZShleGlzdGlu
Z0tleXMpLCBzdWNjZXNzLCBsb2FkRmFpbHVyZV0oKSBtdXRhYmxlIHsKICAgICAgICAgICAgICAg
ICAgICAgaWYgKCF3ZWFrVGhpcykKICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKIApA
QCAtNTAyLDkgKzUwMiw5IEBAIHZvaWQgQ0RNSW5zdGFuY2VDbGVhcktleTo6cmVtb3ZlU2Vzc2lv
bkRhdGEoY29uc3QgU3RyaW5nJiBzZXNzaW9uSWQsIExpY2Vuc2VUeXBlCiB7CiAgICAgLy8gVXNl
IGEgaGVscGVyIGZ1bmN0b3IgdGhhdCBzY2hlZHVsZXMgdGhlIGNhbGxiYWNrIGRpc3BhdGNoLCBh
dm9pZGluZyBkdXBsaWNhdGVkIGNhbGxPbk1haW5UaHJlYWQoKSBjYWxscy4KICAgICBhdXRvIGRp
c3BhdGNoQ2FsbGJhY2sgPQotICAgICAgICBbdGhpcywgJmNhbGxiYWNrXShLZXlTdGF0dXNWZWN0
b3ImJiBrZXlTdGF0dXNWZWN0b3IsIHN0ZDo6b3B0aW9uYWw8UmVmPFNoYXJlZEJ1ZmZlcj4+JiYg
bWVzc2FnZSwgU3VjY2Vzc1ZhbHVlIHN1Y2Nlc3MpIHsKKyAgICAgICAgW3RoaXMsIHdlYWtUaGlz
ID0gbV93ZWFrUHRyRmFjdG9yeS5jcmVhdGVXZWFrUHRyKCp0aGlzKSwgJmNhbGxiYWNrXShLZXlT
dGF0dXNWZWN0b3ImJiBrZXlTdGF0dXNWZWN0b3IsIHN0ZDo6b3B0aW9uYWw8UmVmPFNoYXJlZEJ1
ZmZlcj4+JiYgbWVzc2FnZSwgU3VjY2Vzc1ZhbHVlIHN1Y2Nlc3MpIHsKICAgICAgICAgICAgIGNh
bGxPbk1haW5UaHJlYWQoCi0gICAgICAgICAgICAgICAgW3dlYWtUaGlzID0gbV93ZWFrUHRyRmFj
dG9yeS5jcmVhdGVXZWFrUHRyKCp0aGlzKSwgY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNrKSwg
a2V5U3RhdHVzVmVjdG9yID0gV1RGTW92ZShrZXlTdGF0dXNWZWN0b3IpLCBtZXNzYWdlID0gV1RG
TW92ZShtZXNzYWdlKSwgc3VjY2Vzc10oKSBtdXRhYmxlIHsKKyAgICAgICAgICAgICAgICBbd2Vh
a1RoaXMsIGNhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayksIGtleVN0YXR1c1ZlY3RvciA9IFdU
Rk1vdmUoa2V5U3RhdHVzVmVjdG9yKSwgbWVzc2FnZSA9IFdURk1vdmUobWVzc2FnZSksIHN1Y2Nl
c3NdKCkgbXV0YWJsZSB7CiAgICAgICAgICAgICAgICAgICAgIGlmICghd2Vha1RoaXMpCiAgICAg
ICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>419609</attachid>
            <date>2021-02-08 11:06:39 -0800</date>
            <delta_ts>2021-02-08 14:56:28 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-177803.diff</filename>
            <type>text/plain</type>
            <size>10464</size>
            <attacher name="Don Olmstead">don.olmstead</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAxM2QxOWJkNjkzYjguLjdjNzEyYzIwNWIwMiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDIxIEBACisyMDIxLTAyLTA4ICBEb24gT2xtc3RlYWQgIDxkb24ub2xtc3RlYWRAc29u
eS5jb20+CisKKyAgICAgICAgRml4IE1TVkMgYnVpbGQgd2l0aCBFTkNSWVBURURfTUVESUEgZW5h
YmxlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc3
ODAzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zNDkyMDMyMj4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNU1ZDIGhhcyBhIGJ1ZyBvZiBhIG91dGVy
IGxhbWJkYSdzIGNhcHR1cmVkIGB0aGlzYCBjYW4ndCBiZSB1c2VkIGFzCisgICAgICAgIGEgbGFt
YmRhIGNhcHR1cmUgaW5pdGlhbGl6ZXIgb2YgYW4gaW5uZXIgbGFtYmRhLgorCisgICAgICAgICog
TW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFLZXlTZXNzaW9uOjpnZW5lcmF0ZVJlcXVlc3QpOgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFLZXlTZXNzaW9uOjpsb2FkKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhS2V5U2Vz
c2lvbjo6dXBkYXRlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhS2V5U2Vzc2lvbjo6Y2xvc2Up
OgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFLZXlTZXNzaW9uOjpyZW1vdmUpOgorCiAyMDIxLTAy
LTA4ICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KIAogICAgICAgICBVcGRhdGUgc1JH
QiA8LT4gWFlaIGNvbnZlcnNpb24gbWF0cml4IHZhbHVlcyB0byBtYXRjaCB2YWx1ZXMgaW4gbGF0
ZXN0IHNwZWMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVk
aWEvTWVkaWFLZXlTZXNzaW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVk
bWVkaWEvTWVkaWFLZXlTZXNzaW9uLmNwcAppbmRleCA3YTQ3Yzg4ZTcwN2YuLmM4NWY3OTk3ZWY4
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRp
YUtleVNlc3Npb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVk
aWEvTWVkaWFLZXlTZXNzaW9uLmNwcApAQCAtMTcyLDcgKzE3Miw3IEBAIHZvaWQgTWVkaWFLZXlT
ZXNzaW9uOjpnZW5lcmF0ZVJlcXVlc3QoY29uc3QgQXRvbVN0cmluZyYgaW5pdERhdGFUeXBlLCBj
b25zdCBCdWZmCiAgICAgLy8gOC4gTGV0IHNlc3Npb24gdHlwZSBiZSB0aGlzIG9iamVjdCdzIHNl
c3Npb24gdHlwZS4KICAgICAvLyA5LiBMZXQgcHJvbWlzZSBiZSBhIG5ldyBwcm9taXNlLgogICAg
IC8vIDEwLiBSdW4gdGhlIGZvbGxvd2luZyBzdGVwcyBpbiBwYXJhbGxlbDoKLSAgICBxdWV1ZVRh
c2tLZWVwaW5nT2JqZWN0QWxpdmUoKnRoaXMsIFRhc2tTb3VyY2U6Ok5ldHdvcmtpbmcsIFt0aGlz
LCBpbml0RGF0YSA9IFNoYXJlZEJ1ZmZlcjo6Y3JlYXRlKGluaXREYXRhLmRhdGEoKSwgaW5pdERh
dGEubGVuZ3RoKCkpLCBpbml0RGF0YVR5cGUsIHByb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpLCBp
ZGVudGlmaWVyID0gV1RGTW92ZShpZGVudGlmaWVyKV0gKCkgbXV0YWJsZSB7CisgICAgcXVldWVU
YXNrS2VlcGluZ09iamVjdEFsaXZlKCp0aGlzLCBUYXNrU291cmNlOjpOZXR3b3JraW5nLCBbdGhp
cywgd2Vha1RoaXMgPSBtYWtlV2Vha1B0cigqdGhpcyksIGluaXREYXRhID0gU2hhcmVkQnVmZmVy
OjpjcmVhdGUoaW5pdERhdGEuZGF0YSgpLCBpbml0RGF0YS5sZW5ndGgoKSksIGluaXREYXRhVHlw
ZSwgcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSksIGlkZW50aWZpZXIgPSBXVEZNb3ZlKGlkZW50
aWZpZXIpXSAoKSBtdXRhYmxlIHsKICAgICAgICAgLy8gMTAuMS4gSWYgdGhlIGluaXQgZGF0YSBp
cyBub3QgdmFsaWQgZm9yIGluaXREYXRhVHlwZSwgcmVqZWN0IHByb21pc2Ugd2l0aCBhIG5ld2x5
IGNyZWF0ZWQgVHlwZUVycm9yLgogICAgICAgICAvLyAxMC4yLiBMZXQgc2FuaXRpemVkIGluaXQg
ZGF0YSBiZSBhIHZhbGlkYXRlZCBhbmQgc2FuaXRpemVkIHZlcnNpb24gb2YgaW5pdCBkYXRhLgog
ICAgICAgICBSZWZQdHI8U2hhcmVkQnVmZmVyPiBzYW5pdGl6ZWRJbml0RGF0YSA9IG1faW1wbGVt
ZW50YXRpb24tPnNhbml0aXplSW5pdERhdGEoaW5pdERhdGFUeXBlLCBpbml0RGF0YSk7CkBAIC0y
MjIsNyArMjIyLDcgQEAgdm9pZCBNZWRpYUtleVNlc3Npb246OmdlbmVyYXRlUmVxdWVzdChjb25z
dCBBdG9tU3RyaW5nJiBpbml0RGF0YVR5cGUsIGNvbnN0IEJ1ZmYKICAgICAgICAgICAgIG1fbGF0
ZXN0RGVjcnlwdFRpbWUgPSAwOwogICAgICAgICB9CiAKLSAgICAgICAgbV9pbnN0YW5jZVNlc3Np
b24tPnJlcXVlc3RMaWNlbnNlKG1fc2Vzc2lvblR5cGUsIGluaXREYXRhVHlwZSwgc2FuaXRpemVk
SW5pdERhdGEucmVsZWFzZU5vbk51bGwoKSwgW3RoaXMsIHdlYWtUaGlzID0gbWFrZVdlYWtQdHIo
KnRoaXMpLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKSwgaWRlbnRpZmllciA9IFdURk1vdmUo
aWRlbnRpZmllcildIChSZWY8U2hhcmVkQnVmZmVyPiYmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYg
c2Vzc2lvbklkLCBib29sIG5lZWRzSW5kaXZpZHVhbGl6YXRpb24sIENETUluc3RhbmNlU2Vzc2lv
bjo6U3VjY2Vzc1ZhbHVlIHN1Y2NlZWRlZCkgbXV0YWJsZSB7CisgICAgICAgIG1faW5zdGFuY2VT
ZXNzaW9uLT5yZXF1ZXN0TGljZW5zZShtX3Nlc3Npb25UeXBlLCBpbml0RGF0YVR5cGUsIHNhbml0
aXplZEluaXREYXRhLnJlbGVhc2VOb25OdWxsKCksIFt0aGlzLCB3ZWFrVGhpcyA9IG1ha2VXZWFr
UHRyKCp3ZWFrVGhpcyksIHByb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpLCBpZGVudGlmaWVyID0g
V1RGTW92ZShpZGVudGlmaWVyKV0gKFJlZjxTaGFyZWRCdWZmZXI+JiYgbWVzc2FnZSwgY29uc3Qg
U3RyaW5nJiBzZXNzaW9uSWQsIGJvb2wgbmVlZHNJbmRpdmlkdWFsaXphdGlvbiwgQ0RNSW5zdGFu
Y2VTZXNzaW9uOjpTdWNjZXNzVmFsdWUgc3VjY2VlZGVkKSBtdXRhYmxlIHsKICAgICAgICAgICAg
IGlmICghd2Vha1RoaXMpCiAgICAgICAgICAgICAgICAgcmV0dXJuOwogCkBAIC0zMDEsNyArMzAx
LDcgQEAgdm9pZCBNZWRpYUtleVNlc3Npb246OmxvYWQoY29uc3QgU3RyaW5nJiBzZXNzaW9uSWQs
IFJlZjxEZWZlcnJlZFByb21pc2U+JiYgcHJvbWkKIAogICAgIC8vIDcuIExldCBwcm9taXNlIGJl
IGEgbmV3IHByb21pc2UuCiAgICAgLy8gOC4gUnVuIHRoZSBmb2xsb3dpbmcgc3RlcHMgaW4gcGFy
YWxsZWw6Ci0gICAgcXVldWVUYXNrS2VlcGluZ09iamVjdEFsaXZlKCp0aGlzLCBUYXNrU291cmNl
OjpOZXR3b3JraW5nLCBbdGhpcywgc2Vzc2lvbklkLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNl
KSwgaWRlbnRpZmllciA9IFdURk1vdmUoaWRlbnRpZmllcildICgpIG11dGFibGUgeworICAgIHF1
ZXVlVGFza0tlZXBpbmdPYmplY3RBbGl2ZSgqdGhpcywgVGFza1NvdXJjZTo6TmV0d29ya2luZywg
W3RoaXMsIHdlYWtUaGlzID0gbWFrZVdlYWtQdHIoKnRoaXMpLCBzZXNzaW9uSWQsIHByb21pc2Ug
PSBXVEZNb3ZlKHByb21pc2UpLCBpZGVudGlmaWVyID0gV1RGTW92ZShpZGVudGlmaWVyKV0gKCkg
bXV0YWJsZSB7CiAgICAgICAgIC8vIDguMS4gTGV0IHNhbml0aXplZCBzZXNzaW9uIElEIGJlIGEg
dmFsaWRhdGVkIGFuZC9vciBzYW5pdGl6ZWQgdmVyc2lvbiBvZiBzZXNzaW9uSWQuCiAgICAgICAg
IC8vIDguMi4gSWYgdGhlIHByZWNlZGluZyBzdGVwIGZhaWxlZCwgb3IgaWYgc2FuaXRpemVkIHNl
c3Npb24gSUQgaXMgZW1wdHksIHJlamVjdCBwcm9taXNlIHdpdGggYSBuZXdseSBjcmVhdGVkIFR5
cGVFcnJvci4KICAgICAgICAgT3B0aW9uYWw8U3RyaW5nPiBzYW5pdGl6ZWRTZXNzaW9uSWQgPSBt
X2ltcGxlbWVudGF0aW9uLT5zYW5pdGl6ZVNlc3Npb25JZChzZXNzaW9uSWQpOwpAQCAtMzIzLDcg
KzMyMyw3IEBAIHZvaWQgTWVkaWFLZXlTZXNzaW9uOjpsb2FkKGNvbnN0IFN0cmluZyYgc2Vzc2lv
bklkLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmIHByb21pCiAgICAgICAgIC8vIDguNi4gTGV0IG1l
c3NhZ2UgdHlwZSBiZSBudWxsLgogICAgICAgICAvLyA4LjcuIExldCBjZG0gYmUgdGhlIENETSBp
bnN0YW5jZSByZXByZXNlbnRlZCBieSB0aGlzIG9iamVjdCdzIGNkbSBpbnN0YW5jZSB2YWx1ZS4K
ICAgICAgICAgLy8gOC44LiBVc2UgdGhlIGNkbSB0byBleGVjdXRlIHRoZSBmb2xsb3dpbmcgc3Rl
cHM6Ci0gICAgICAgIG1faW5zdGFuY2VTZXNzaW9uLT5sb2FkU2Vzc2lvbihtX3Nlc3Npb25UeXBl
LCAqc2FuaXRpemVkU2Vzc2lvbklkLCBvcmlnaW4sIFt0aGlzLCB3ZWFrVGhpcyA9IG1ha2VXZWFr
UHRyKCp0aGlzKSwgcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSksIHNhbml0aXplZFNlc3Npb25J
ZCA9ICpzYW5pdGl6ZWRTZXNzaW9uSWQsIGlkZW50aWZpZXIgPSBXVEZNb3ZlKGlkZW50aWZpZXIp
XSAoT3B0aW9uYWw8Q0RNSW5zdGFuY2VTZXNzaW9uOjpLZXlTdGF0dXNWZWN0b3I+JiYga25vd25L
ZXlzLCBPcHRpb25hbDxkb3VibGU+JiYgZXhwaXJhdGlvbiwgT3B0aW9uYWw8Q0RNSW5zdGFuY2VT
ZXNzaW9uOjpNZXNzYWdlPiYmIG1lc3NhZ2UsIENETUluc3RhbmNlU2Vzc2lvbjo6U3VjY2Vzc1Zh
bHVlIHN1Y2NlZWRlZCwgQ0RNSW5zdGFuY2VTZXNzaW9uOjpTZXNzaW9uTG9hZEZhaWx1cmUgZmFp
bHVyZSkgbXV0YWJsZSB7CisgICAgICAgIG1faW5zdGFuY2VTZXNzaW9uLT5sb2FkU2Vzc2lvbiht
X3Nlc3Npb25UeXBlLCAqc2FuaXRpemVkU2Vzc2lvbklkLCBvcmlnaW4sIFt0aGlzLCB3ZWFrVGhp
cyA9IG1ha2VXZWFrUHRyKCp3ZWFrVGhpcyksIHByb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpLCBz
YW5pdGl6ZWRTZXNzaW9uSWQgPSAqc2FuaXRpemVkU2Vzc2lvbklkLCBpZGVudGlmaWVyID0gV1RG
TW92ZShpZGVudGlmaWVyKV0gKE9wdGlvbmFsPENETUluc3RhbmNlU2Vzc2lvbjo6S2V5U3RhdHVz
VmVjdG9yPiYmIGtub3duS2V5cywgT3B0aW9uYWw8ZG91YmxlPiYmIGV4cGlyYXRpb24sIE9wdGlv
bmFsPENETUluc3RhbmNlU2Vzc2lvbjo6TWVzc2FnZT4mJiBtZXNzYWdlLCBDRE1JbnN0YW5jZVNl
c3Npb246OlN1Y2Nlc3NWYWx1ZSBzdWNjZWVkZWQsIENETUluc3RhbmNlU2Vzc2lvbjo6U2Vzc2lv
bkxvYWRGYWlsdXJlIGZhaWx1cmUpIG11dGFibGUgewogICAgICAgICAgICAgLy8gOC44LjEuIElm
IHRoZXJlIGlzIG5vIGRhdGEgc3RvcmVkIGZvciB0aGUgc2FuaXRpemVkIHNlc3Npb24gSUQgaW4g
dGhlIG9yaWdpbiwgcmVzb2x2ZSBwcm9taXNlIHdpdGggZmFsc2UgYW5kIGFib3J0IHRoZXNlIHN0
ZXBzLgogICAgICAgICAgICAgLy8gOC44LjIuIElmIHRoZSBzdG9yZWQgc2Vzc2lvbidzIHNlc3Np
b24gdHlwZSBpcyBub3QgdGhlIHNhbWUgYXMgdGhlIGN1cnJlbnQgTWVkaWFLZXlTZXNzaW9uIHNl
c3Npb24gdHlwZSwgcmVqZWN0IHByb21pc2Ugd2l0aCBhIG5ld2x5IGNyZWF0ZWQgVHlwZUVycm9y
LgogICAgICAgICAgICAgLy8gOC44LjMuIExldCBzZXNzaW9uIGRhdGEgYmUgdGhlIGRhdGEgc3Rv
cmVkIGZvciB0aGUgc2FuaXRpemVkIHNlc3Npb24gSUQgaW4gdGhlIG9yaWdpbi4gVGhpcyBtdXN0
IG5vdCBpbmNsdWRlIGRhdGEgZnJvbSBvdGhlciBvcmlnaW4ocykgb3IgdGhhdCBpcyBub3QgYXNz
b2NpYXRlZCB3aXRoIGFuIG9yaWdpbi4KQEAgLTQxOSw3ICs0MTksNyBAQCB2b2lkIE1lZGlhS2V5
U2Vzc2lvbjo6dXBkYXRlKGNvbnN0IEJ1ZmZlclNvdXJjZSYgcmVzcG9uc2UsIFJlZjxEZWZlcnJl
ZFByb21pc2U+JgogICAgIC8vIDQuIExldCByZXNwb25zZSBjb3B5IGJlIGEgY29weSBvZiB0aGUg
Y29udGVudHMgb2YgdGhlIHJlc3BvbnNlIHBhcmFtZXRlci4KICAgICAvLyA1LiBMZXQgcHJvbWlz
ZSBiZSBhIG5ldyBwcm9taXNlLgogICAgIC8vIDYuIFJ1biB0aGUgZm9sbG93aW5nIHN0ZXBzIGlu
IHBhcmFsbGVsOgotICAgIHF1ZXVlVGFza0tlZXBpbmdPYmplY3RBbGl2ZSgqdGhpcywgVGFza1Nv
dXJjZTo6TmV0d29ya2luZywgW3RoaXMsIHJlc3BvbnNlID0gU2hhcmVkQnVmZmVyOjpjcmVhdGUo
cmVzcG9uc2UuZGF0YSgpLCByZXNwb25zZS5sZW5ndGgoKSksIHByb21pc2UgPSBXVEZNb3ZlKHBy
b21pc2UpLCBpZGVudGlmaWVyID0gV1RGTW92ZShpZGVudGlmaWVyKV0gKCkgbXV0YWJsZSB7Cisg
ICAgcXVldWVUYXNrS2VlcGluZ09iamVjdEFsaXZlKCp0aGlzLCBUYXNrU291cmNlOjpOZXR3b3Jr
aW5nLCBbdGhpcywgd2Vha1RoaXMgPSBtYWtlV2Vha1B0cigqdGhpcyksIHJlc3BvbnNlID0gU2hh
cmVkQnVmZmVyOjpjcmVhdGUocmVzcG9uc2UuZGF0YSgpLCByZXNwb25zZS5sZW5ndGgoKSksIHBy
b21pc2UgPSBXVEZNb3ZlKHByb21pc2UpLCBpZGVudGlmaWVyID0gV1RGTW92ZShpZGVudGlmaWVy
KV0gKCkgbXV0YWJsZSB7CiAgICAgICAgIC8vIDYuMS4gTGV0IHNhbml0aXplZCByZXNwb25zZSBi
ZSBhIHZhbGlkYXRlZCBhbmQvb3Igc2FuaXRpemVkIHZlcnNpb24gb2YgcmVzcG9uc2UgY29weS4K
ICAgICAgICAgUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gc2FuaXRpemVkUmVzcG9uc2UgPSBtX2ltcGxl
bWVudGF0aW9uLT5zYW5pdGl6ZVJlc3BvbnNlKHJlc3BvbnNlKTsKIApAQCAtNDM1LDcgKzQzNSw3
IEBAIHZvaWQgTWVkaWFLZXlTZXNzaW9uOjp1cGRhdGUoY29uc3QgQnVmZmVyU291cmNlJiByZXNw
b25zZSwgUmVmPERlZmVycmVkUHJvbWlzZT4mCiAgICAgICAgIC8vIDYuNS4gTGV0IHNlc3Npb24g
Y2xvc2VkIGJlIGZhbHNlLgogICAgICAgICAvLyA2LjYuIExldCBjZG0gYmUgdGhlIENETSBpbnN0
YW5jZSByZXByZXNlbnRlZCBieSB0aGlzIG9iamVjdCdzIGNkbSBpbnN0YW5jZSB2YWx1ZS4KICAg
ICAgICAgLy8gNi43LiBVc2UgdGhlIGNkbSB0byBleGVjdXRlIHRoZSBmb2xsb3dpbmcgc3RlcHM6
Ci0gICAgICAgIG1faW5zdGFuY2VTZXNzaW9uLT51cGRhdGVMaWNlbnNlKG1fc2Vzc2lvbklkLCBt
X3Nlc3Npb25UeXBlLCBzYW5pdGl6ZWRSZXNwb25zZS5yZWxlYXNlTm9uTnVsbCgpLCBbdGhpcywg
d2Vha1RoaXMgPSBtYWtlV2Vha1B0cigqdGhpcyksIHByb21pc2UgPSBXVEZNb3ZlKHByb21pc2Up
LCBpZGVudGlmaWVyID0gV1RGTW92ZShpZGVudGlmaWVyKV0gKGJvb2wgc2Vzc2lvbldhc0Nsb3Nl
ZCwgT3B0aW9uYWw8Q0RNSW5zdGFuY2VTZXNzaW9uOjpLZXlTdGF0dXNWZWN0b3I+JiYgY2hhbmdl
ZEtleXMsIE9wdGlvbmFsPGRvdWJsZT4mJiBjaGFuZ2VkRXhwaXJhdGlvbiwgT3B0aW9uYWw8Q0RN
SW5zdGFuY2VTZXNzaW9uOjpNZXNzYWdlPiYmIG1lc3NhZ2UsIENETUluc3RhbmNlU2Vzc2lvbjo6
U3VjY2Vzc1ZhbHVlIHN1Y2NlZWRlZCkgbXV0YWJsZSB7CisgICAgICAgIG1faW5zdGFuY2VTZXNz
aW9uLT51cGRhdGVMaWNlbnNlKG1fc2Vzc2lvbklkLCBtX3Nlc3Npb25UeXBlLCBzYW5pdGl6ZWRS
ZXNwb25zZS5yZWxlYXNlTm9uTnVsbCgpLCBbdGhpcywgd2Vha1RoaXMgPSBtYWtlV2Vha1B0cigq
d2Vha1RoaXMpLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKSwgaWRlbnRpZmllciA9IFdURk1v
dmUoaWRlbnRpZmllcildIChib29sIHNlc3Npb25XYXNDbG9zZWQsIE9wdGlvbmFsPENETUluc3Rh
bmNlU2Vzc2lvbjo6S2V5U3RhdHVzVmVjdG9yPiYmIGNoYW5nZWRLZXlzLCBPcHRpb25hbDxkb3Vi
bGU+JiYgY2hhbmdlZEV4cGlyYXRpb24sIE9wdGlvbmFsPENETUluc3RhbmNlU2Vzc2lvbjo6TWVz
c2FnZT4mJiBtZXNzYWdlLCBDRE1JbnN0YW5jZVNlc3Npb246OlN1Y2Nlc3NWYWx1ZSBzdWNjZWVk
ZWQpIG11dGFibGUgewogICAgICAgICAgICAgaWYgKCF3ZWFrVGhpcykKICAgICAgICAgICAgICAg
ICByZXR1cm47CiAKQEAgLTU1MywxMCArNTUzLDEwIEBAIHZvaWQgTWVkaWFLZXlTZXNzaW9uOjpj
bG9zZShSZWY8RGVmZXJyZWRQcm9taXNlPiYmIHByb21pc2UpCiAKICAgICAvLyA0LiBMZXQgcHJv
bWlzZSBiZSBhIG5ldyBwcm9taXNlLgogICAgIC8vIDUuIFJ1biB0aGUgZm9sbG93aW5nIHN0ZXBz
IGluIHBhcmFsbGVsOgotICAgIHF1ZXVlVGFza0tlZXBpbmdPYmplY3RBbGl2ZSgqdGhpcywgVGFz
a1NvdXJjZTo6TmV0d29ya2luZywgW3RoaXMsIHByb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpLCBp
ZGVudGlmaWVyID0gV1RGTW92ZShpZGVudGlmaWVyKV0gKCkgbXV0YWJsZSB7CisgICAgcXVldWVU
YXNrS2VlcGluZ09iamVjdEFsaXZlKCp0aGlzLCBUYXNrU291cmNlOjpOZXR3b3JraW5nLCBbdGhp
cywgd2Vha1RoaXMgPSBtYWtlV2Vha1B0cigqdGhpcyksIHByb21pc2UgPSBXVEZNb3ZlKHByb21p
c2UpLCBpZGVudGlmaWVyID0gV1RGTW92ZShpZGVudGlmaWVyKV0gKCkgbXV0YWJsZSB7CiAgICAg
ICAgIC8vIDUuMS4gTGV0IGNkbSBiZSB0aGUgQ0RNIGluc3RhbmNlIHJlcHJlc2VudGVkIGJ5IHNl
c3Npb24ncyBjZG0gaW5zdGFuY2UgdmFsdWUuCiAgICAgICAgIC8vIDUuMi4gVXNlIGNkbSB0byBj
bG9zZSB0aGUga2V5IHNlc3Npb24gYXNzb2NpYXRlZCB3aXRoIHNlc3Npb24uCi0gICAgICAgIG1f
aW5zdGFuY2VTZXNzaW9uLT5jbG9zZVNlc3Npb24obV9zZXNzaW9uSWQsIFt0aGlzLCB3ZWFrVGhp
cyA9IG1ha2VXZWFrUHRyKCp0aGlzKSwgcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSksIGlkZW50
aWZpZXIgPSBXVEZNb3ZlKGlkZW50aWZpZXIpXSAoKSBtdXRhYmxlIHsKKyAgICAgICAgbV9pbnN0
YW5jZVNlc3Npb24tPmNsb3NlU2Vzc2lvbihtX3Nlc3Npb25JZCwgW3RoaXMsIHdlYWtUaGlzID0g
bWFrZVdlYWtQdHIoKndlYWtUaGlzKSwgcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSksIGlkZW50
aWZpZXIgPSBXVEZNb3ZlKGlkZW50aWZpZXIpXSAoKSBtdXRhYmxlIHsKICAgICAgICAgICAgIGlm
ICghd2Vha1RoaXMpCiAgICAgICAgICAgICAgICAgcmV0dXJuOwogCkBAIC01OTQsMTMgKzU5NCwx
MyBAQCB2b2lkIE1lZGlhS2V5U2Vzc2lvbjo6cmVtb3ZlKFJlZjxEZWZlcnJlZFByb21pc2U+JiYg
cHJvbWlzZSkKIAogICAgIC8vIDMuIExldCBwcm9taXNlIGJlIGEgbmV3IHByb21pc2UuCiAgICAg
Ly8gNC4gUnVuIHRoZSBmb2xsb3dpbmcgc3RlcHMgaW4gcGFyYWxsZWw6Ci0gICAgcXVldWVUYXNr
S2VlcGluZ09iamVjdEFsaXZlKCp0aGlzLCBUYXNrU291cmNlOjpOZXR3b3JraW5nLCBbdGhpcywg
cHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSksIGlkZW50aWZpZXIgPSBXVEZNb3ZlKGlkZW50aWZp
ZXIpXSAoKSBtdXRhYmxlIHsKKyAgICBxdWV1ZVRhc2tLZWVwaW5nT2JqZWN0QWxpdmUoKnRoaXMs
IFRhc2tTb3VyY2U6Ok5ldHdvcmtpbmcsIFt0aGlzLCB3ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKCp0
aGlzKSwgcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSksIGlkZW50aWZpZXIgPSBXVEZNb3ZlKGlk
ZW50aWZpZXIpXSAoKSBtdXRhYmxlIHsKICAgICAgICAgLy8gNC4xLiBMZXQgY2RtIGJlIHRoZSBD
RE0gaW5zdGFuY2UgcmVwcmVzZW50ZWQgYnkgdGhpcyBvYmplY3QncyBjZG0gaW5zdGFuY2UgdmFs
dWUuCiAgICAgICAgIC8vIDQuMi4gTGV0IG1lc3NhZ2UgYmUgbnVsbC4KICAgICAgICAgLy8gNC4z
LiBMZXQgbWVzc2FnZSB0eXBlIGJlIG51bGwuCiAKICAgICAgICAgLy8gNC40LiBVc2UgdGhlIGNk
bSB0byBleGVjdXRlIHRoZSBmb2xsb3dpbmcgc3RlcHM6Ci0gICAgICAgIG1faW5zdGFuY2VTZXNz
aW9uLT5yZW1vdmVTZXNzaW9uRGF0YShtX3Nlc3Npb25JZCwgbV9zZXNzaW9uVHlwZSwgW3RoaXMs
IHdlYWtUaGlzID0gbWFrZVdlYWtQdHIoKnRoaXMpLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNl
KSwgaWRlbnRpZmllciA9IFdURk1vdmUoaWRlbnRpZmllcildIChDRE1JbnN0YW5jZVNlc3Npb246
OktleVN0YXR1c1ZlY3RvciYmIGtleXMsIE9wdGlvbmFsPFJlZjxTaGFyZWRCdWZmZXI+PiYmIG1l
c3NhZ2UsIENETUluc3RhbmNlU2Vzc2lvbjo6U3VjY2Vzc1ZhbHVlIHN1Y2NlZWRlZCkgbXV0YWJs
ZSB7CisgICAgICAgIG1faW5zdGFuY2VTZXNzaW9uLT5yZW1vdmVTZXNzaW9uRGF0YShtX3Nlc3Np
b25JZCwgbV9zZXNzaW9uVHlwZSwgW3RoaXMsIHdlYWtUaGlzID0gbWFrZVdlYWtQdHIoKndlYWtU
aGlzKSwgcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSksIGlkZW50aWZpZXIgPSBXVEZNb3ZlKGlk
ZW50aWZpZXIpXSAoQ0RNSW5zdGFuY2VTZXNzaW9uOjpLZXlTdGF0dXNWZWN0b3ImJiBrZXlzLCBP
cHRpb25hbDxSZWY8U2hhcmVkQnVmZmVyPj4mJiBtZXNzYWdlLCBDRE1JbnN0YW5jZVNlc3Npb246
OlN1Y2Nlc3NWYWx1ZSBzdWNjZWVkZWQpIG11dGFibGUgewogICAgICAgICAgICAgaWYgKCF3ZWFr
VGhpcykKICAgICAgICAgICAgICAgICByZXR1cm47CiAK
</data>
<flag name="review"
          id="437888"
          type_id="1"
          status="+"
          setter="achristensen"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>419633</attachid>
            <date>2021-02-08 14:56:28 -0800</date>
            <delta_ts>2021-02-08 15:53:16 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-177803.diff</filename>
            <type>text/plain</type>
            <size>13272</size>
            <attacher name="Don Olmstead">don.olmstead</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAxM2QxOWJkNjkzYjguLmNmM2IzOGE3ZDEzYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDI1IEBACisyMDIxLTAyLTA4ICBEb24gT2xtc3RlYWQgIDxkb24ub2xtc3RlYWRAc29u
eS5jb20+CisKKyAgICAgICAgRml4IE1TVkMgYnVpbGQgd2l0aCBFTkNSWVBURURfTUVESUEgZW5h
YmxlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc3
ODAzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zNDkyMDMyMj4KKworICAgICAgICBSZXZpZXdl
ZCBieSBBbGV4IENocmlzdGVuc2VuLgorCisgICAgICAgIE1TVkMgaGFzIGEgYnVnIG9mIGEgb3V0
ZXIgbGFtYmRhJ3MgY2FwdHVyZWQgYHRoaXNgIGNhbid0IGJlIHVzZWQgYXMKKyAgICAgICAgYSBs
YW1iZGEgY2FwdHVyZSBpbml0aWFsaXplciBvZiBhbiBpbm5lciBsYW1iZGEuCisKKyAgICAgICAg
KiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lvbi5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYUtleVNlc3Npb246OmdlbmVyYXRlUmVxdWVzdCk6CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYUtleVNlc3Npb246OmxvYWQpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFLZXlT
ZXNzaW9uOjp1cGRhdGUpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFLZXlTZXNzaW9uOjpjbG9z
ZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtleVNlc3Npb246OnJlbW92ZSk6CisgICAgICAg
ICogcGxhdGZvcm0vZW5jcnlwdGVkbWVkaWEvY2xlYXJrZXkvQ0RNQ2xlYXJLZXkuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q0RNSW5zdGFuY2VTZXNzaW9uQ2xlYXJLZXk6OnJlcXVlc3RMaWNlbnNl
KToKKyAgICAgICAgKFdlYkNvcmU6OkNETUluc3RhbmNlU2Vzc2lvbkNsZWFyS2V5Ojp1cGRhdGVM
aWNlbnNlKToKKyAgICAgICAgKFdlYkNvcmU6OkNETUluc3RhbmNlU2Vzc2lvbkNsZWFyS2V5Ojpy
ZW1vdmVTZXNzaW9uRGF0YSk6CisKIDIwMjEtMDItMDggIFNhbSBXZWluaWcgIDx3ZWluaWdAYXBw
bGUuY29tPgogCiAgICAgICAgIFVwZGF0ZSBzUkdCIDwtPiBYWVogY29udmVyc2lvbiBtYXRyaXgg
dmFsdWVzIHRvIG1hdGNoIHZhbHVlcyBpbiBsYXRlc3Qgc3BlYwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uY3BwIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uY3BwCmlu
ZGV4IDdhNDdjODhlNzA3Zi4uYzg1Zjc5OTdlZjg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lvbi5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uY3BwCkBAIC0x
NzIsNyArMTcyLDcgQEAgdm9pZCBNZWRpYUtleVNlc3Npb246OmdlbmVyYXRlUmVxdWVzdChjb25z
dCBBdG9tU3RyaW5nJiBpbml0RGF0YVR5cGUsIGNvbnN0IEJ1ZmYKICAgICAvLyA4LiBMZXQgc2Vz
c2lvbiB0eXBlIGJlIHRoaXMgb2JqZWN0J3Mgc2Vzc2lvbiB0eXBlLgogICAgIC8vIDkuIExldCBw
cm9taXNlIGJlIGEgbmV3IHByb21pc2UuCiAgICAgLy8gMTAuIFJ1biB0aGUgZm9sbG93aW5nIHN0
ZXBzIGluIHBhcmFsbGVsOgotICAgIHF1ZXVlVGFza0tlZXBpbmdPYmplY3RBbGl2ZSgqdGhpcywg
VGFza1NvdXJjZTo6TmV0d29ya2luZywgW3RoaXMsIGluaXREYXRhID0gU2hhcmVkQnVmZmVyOjpj
cmVhdGUoaW5pdERhdGEuZGF0YSgpLCBpbml0RGF0YS5sZW5ndGgoKSksIGluaXREYXRhVHlwZSwg
cHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSksIGlkZW50aWZpZXIgPSBXVEZNb3ZlKGlkZW50aWZp
ZXIpXSAoKSBtdXRhYmxlIHsKKyAgICBxdWV1ZVRhc2tLZWVwaW5nT2JqZWN0QWxpdmUoKnRoaXMs
IFRhc2tTb3VyY2U6Ok5ldHdvcmtpbmcsIFt0aGlzLCB3ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKCp0
aGlzKSwgaW5pdERhdGEgPSBTaGFyZWRCdWZmZXI6OmNyZWF0ZShpbml0RGF0YS5kYXRhKCksIGlu
aXREYXRhLmxlbmd0aCgpKSwgaW5pdERhdGFUeXBlLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNl
KSwgaWRlbnRpZmllciA9IFdURk1vdmUoaWRlbnRpZmllcildICgpIG11dGFibGUgewogICAgICAg
ICAvLyAxMC4xLiBJZiB0aGUgaW5pdCBkYXRhIGlzIG5vdCB2YWxpZCBmb3IgaW5pdERhdGFUeXBl
LCByZWplY3QgcHJvbWlzZSB3aXRoIGEgbmV3bHkgY3JlYXRlZCBUeXBlRXJyb3IuCiAgICAgICAg
IC8vIDEwLjIuIExldCBzYW5pdGl6ZWQgaW5pdCBkYXRhIGJlIGEgdmFsaWRhdGVkIGFuZCBzYW5p
dGl6ZWQgdmVyc2lvbiBvZiBpbml0IGRhdGEuCiAgICAgICAgIFJlZlB0cjxTaGFyZWRCdWZmZXI+
IHNhbml0aXplZEluaXREYXRhID0gbV9pbXBsZW1lbnRhdGlvbi0+c2FuaXRpemVJbml0RGF0YShp
bml0RGF0YVR5cGUsIGluaXREYXRhKTsKQEAgLTIyMiw3ICsyMjIsNyBAQCB2b2lkIE1lZGlhS2V5
U2Vzc2lvbjo6Z2VuZXJhdGVSZXF1ZXN0KGNvbnN0IEF0b21TdHJpbmcmIGluaXREYXRhVHlwZSwg
Y29uc3QgQnVmZgogICAgICAgICAgICAgbV9sYXRlc3REZWNyeXB0VGltZSA9IDA7CiAgICAgICAg
IH0KIAotICAgICAgICBtX2luc3RhbmNlU2Vzc2lvbi0+cmVxdWVzdExpY2Vuc2UobV9zZXNzaW9u
VHlwZSwgaW5pdERhdGFUeXBlLCBzYW5pdGl6ZWRJbml0RGF0YS5yZWxlYXNlTm9uTnVsbCgpLCBb
dGhpcywgd2Vha1RoaXMgPSBtYWtlV2Vha1B0cigqdGhpcyksIHByb21pc2UgPSBXVEZNb3ZlKHBy
b21pc2UpLCBpZGVudGlmaWVyID0gV1RGTW92ZShpZGVudGlmaWVyKV0gKFJlZjxTaGFyZWRCdWZm
ZXI+JiYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzZXNzaW9uSWQsIGJvb2wgbmVlZHNJbmRpdmlk
dWFsaXphdGlvbiwgQ0RNSW5zdGFuY2VTZXNzaW9uOjpTdWNjZXNzVmFsdWUgc3VjY2VlZGVkKSBt
dXRhYmxlIHsKKyAgICAgICAgbV9pbnN0YW5jZVNlc3Npb24tPnJlcXVlc3RMaWNlbnNlKG1fc2Vz
c2lvblR5cGUsIGluaXREYXRhVHlwZSwgc2FuaXRpemVkSW5pdERhdGEucmVsZWFzZU5vbk51bGwo
KSwgW3RoaXMsIHdlYWtUaGlzID0gbWFrZVdlYWtQdHIoKndlYWtUaGlzKSwgcHJvbWlzZSA9IFdU
Rk1vdmUocHJvbWlzZSksIGlkZW50aWZpZXIgPSBXVEZNb3ZlKGlkZW50aWZpZXIpXSAoUmVmPFNo
YXJlZEJ1ZmZlcj4mJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNlc3Npb25JZCwgYm9vbCBuZWVk
c0luZGl2aWR1YWxpemF0aW9uLCBDRE1JbnN0YW5jZVNlc3Npb246OlN1Y2Nlc3NWYWx1ZSBzdWNj
ZWVkZWQpIG11dGFibGUgewogICAgICAgICAgICAgaWYgKCF3ZWFrVGhpcykKICAgICAgICAgICAg
ICAgICByZXR1cm47CiAKQEAgLTMwMSw3ICszMDEsNyBAQCB2b2lkIE1lZGlhS2V5U2Vzc2lvbjo6
bG9hZChjb25zdCBTdHJpbmcmIHNlc3Npb25JZCwgUmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9t
aQogCiAgICAgLy8gNy4gTGV0IHByb21pc2UgYmUgYSBuZXcgcHJvbWlzZS4KICAgICAvLyA4LiBS
dW4gdGhlIGZvbGxvd2luZyBzdGVwcyBpbiBwYXJhbGxlbDoKLSAgICBxdWV1ZVRhc2tLZWVwaW5n
T2JqZWN0QWxpdmUoKnRoaXMsIFRhc2tTb3VyY2U6Ok5ldHdvcmtpbmcsIFt0aGlzLCBzZXNzaW9u
SWQsIHByb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpLCBpZGVudGlmaWVyID0gV1RGTW92ZShpZGVu
dGlmaWVyKV0gKCkgbXV0YWJsZSB7CisgICAgcXVldWVUYXNrS2VlcGluZ09iamVjdEFsaXZlKCp0
aGlzLCBUYXNrU291cmNlOjpOZXR3b3JraW5nLCBbdGhpcywgd2Vha1RoaXMgPSBtYWtlV2Vha1B0
cigqdGhpcyksIHNlc3Npb25JZCwgcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSksIGlkZW50aWZp
ZXIgPSBXVEZNb3ZlKGlkZW50aWZpZXIpXSAoKSBtdXRhYmxlIHsKICAgICAgICAgLy8gOC4xLiBM
ZXQgc2FuaXRpemVkIHNlc3Npb24gSUQgYmUgYSB2YWxpZGF0ZWQgYW5kL29yIHNhbml0aXplZCB2
ZXJzaW9uIG9mIHNlc3Npb25JZC4KICAgICAgICAgLy8gOC4yLiBJZiB0aGUgcHJlY2VkaW5nIHN0
ZXAgZmFpbGVkLCBvciBpZiBzYW5pdGl6ZWQgc2Vzc2lvbiBJRCBpcyBlbXB0eSwgcmVqZWN0IHBy
b21pc2Ugd2l0aCBhIG5ld2x5IGNyZWF0ZWQgVHlwZUVycm9yLgogICAgICAgICBPcHRpb25hbDxT
dHJpbmc+IHNhbml0aXplZFNlc3Npb25JZCA9IG1faW1wbGVtZW50YXRpb24tPnNhbml0aXplU2Vz
c2lvbklkKHNlc3Npb25JZCk7CkBAIC0zMjMsNyArMzIzLDcgQEAgdm9pZCBNZWRpYUtleVNlc3Np
b246OmxvYWQoY29uc3QgU3RyaW5nJiBzZXNzaW9uSWQsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYg
cHJvbWkKICAgICAgICAgLy8gOC42LiBMZXQgbWVzc2FnZSB0eXBlIGJlIG51bGwuCiAgICAgICAg
IC8vIDguNy4gTGV0IGNkbSBiZSB0aGUgQ0RNIGluc3RhbmNlIHJlcHJlc2VudGVkIGJ5IHRoaXMg
b2JqZWN0J3MgY2RtIGluc3RhbmNlIHZhbHVlLgogICAgICAgICAvLyA4LjguIFVzZSB0aGUgY2Rt
IHRvIGV4ZWN1dGUgdGhlIGZvbGxvd2luZyBzdGVwczoKLSAgICAgICAgbV9pbnN0YW5jZVNlc3Np
b24tPmxvYWRTZXNzaW9uKG1fc2Vzc2lvblR5cGUsICpzYW5pdGl6ZWRTZXNzaW9uSWQsIG9yaWdp
biwgW3RoaXMsIHdlYWtUaGlzID0gbWFrZVdlYWtQdHIoKnRoaXMpLCBwcm9taXNlID0gV1RGTW92
ZShwcm9taXNlKSwgc2FuaXRpemVkU2Vzc2lvbklkID0gKnNhbml0aXplZFNlc3Npb25JZCwgaWRl
bnRpZmllciA9IFdURk1vdmUoaWRlbnRpZmllcildIChPcHRpb25hbDxDRE1JbnN0YW5jZVNlc3Np
b246OktleVN0YXR1c1ZlY3Rvcj4mJiBrbm93bktleXMsIE9wdGlvbmFsPGRvdWJsZT4mJiBleHBp
cmF0aW9uLCBPcHRpb25hbDxDRE1JbnN0YW5jZVNlc3Npb246Ok1lc3NhZ2U+JiYgbWVzc2FnZSwg
Q0RNSW5zdGFuY2VTZXNzaW9uOjpTdWNjZXNzVmFsdWUgc3VjY2VlZGVkLCBDRE1JbnN0YW5jZVNl
c3Npb246OlNlc3Npb25Mb2FkRmFpbHVyZSBmYWlsdXJlKSBtdXRhYmxlIHsKKyAgICAgICAgbV9p
bnN0YW5jZVNlc3Npb24tPmxvYWRTZXNzaW9uKG1fc2Vzc2lvblR5cGUsICpzYW5pdGl6ZWRTZXNz
aW9uSWQsIG9yaWdpbiwgW3RoaXMsIHdlYWtUaGlzID0gbWFrZVdlYWtQdHIoKndlYWtUaGlzKSwg
cHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSksIHNhbml0aXplZFNlc3Npb25JZCA9ICpzYW5pdGl6
ZWRTZXNzaW9uSWQsIGlkZW50aWZpZXIgPSBXVEZNb3ZlKGlkZW50aWZpZXIpXSAoT3B0aW9uYWw8
Q0RNSW5zdGFuY2VTZXNzaW9uOjpLZXlTdGF0dXNWZWN0b3I+JiYga25vd25LZXlzLCBPcHRpb25h
bDxkb3VibGU+JiYgZXhwaXJhdGlvbiwgT3B0aW9uYWw8Q0RNSW5zdGFuY2VTZXNzaW9uOjpNZXNz
YWdlPiYmIG1lc3NhZ2UsIENETUluc3RhbmNlU2Vzc2lvbjo6U3VjY2Vzc1ZhbHVlIHN1Y2NlZWRl
ZCwgQ0RNSW5zdGFuY2VTZXNzaW9uOjpTZXNzaW9uTG9hZEZhaWx1cmUgZmFpbHVyZSkgbXV0YWJs
ZSB7CiAgICAgICAgICAgICAvLyA4LjguMS4gSWYgdGhlcmUgaXMgbm8gZGF0YSBzdG9yZWQgZm9y
IHRoZSBzYW5pdGl6ZWQgc2Vzc2lvbiBJRCBpbiB0aGUgb3JpZ2luLCByZXNvbHZlIHByb21pc2Ug
d2l0aCBmYWxzZSBhbmQgYWJvcnQgdGhlc2Ugc3RlcHMuCiAgICAgICAgICAgICAvLyA4LjguMi4g
SWYgdGhlIHN0b3JlZCBzZXNzaW9uJ3Mgc2Vzc2lvbiB0eXBlIGlzIG5vdCB0aGUgc2FtZSBhcyB0
aGUgY3VycmVudCBNZWRpYUtleVNlc3Npb24gc2Vzc2lvbiB0eXBlLCByZWplY3QgcHJvbWlzZSB3
aXRoIGEgbmV3bHkgY3JlYXRlZCBUeXBlRXJyb3IuCiAgICAgICAgICAgICAvLyA4LjguMy4gTGV0
IHNlc3Npb24gZGF0YSBiZSB0aGUgZGF0YSBzdG9yZWQgZm9yIHRoZSBzYW5pdGl6ZWQgc2Vzc2lv
biBJRCBpbiB0aGUgb3JpZ2luLiBUaGlzIG11c3Qgbm90IGluY2x1ZGUgZGF0YSBmcm9tIG90aGVy
IG9yaWdpbihzKSBvciB0aGF0IGlzIG5vdCBhc3NvY2lhdGVkIHdpdGggYW4gb3JpZ2luLgpAQCAt
NDE5LDcgKzQxOSw3IEBAIHZvaWQgTWVkaWFLZXlTZXNzaW9uOjp1cGRhdGUoY29uc3QgQnVmZmVy
U291cmNlJiByZXNwb25zZSwgUmVmPERlZmVycmVkUHJvbWlzZT4mCiAgICAgLy8gNC4gTGV0IHJl
c3BvbnNlIGNvcHkgYmUgYSBjb3B5IG9mIHRoZSBjb250ZW50cyBvZiB0aGUgcmVzcG9uc2UgcGFy
YW1ldGVyLgogICAgIC8vIDUuIExldCBwcm9taXNlIGJlIGEgbmV3IHByb21pc2UuCiAgICAgLy8g
Ni4gUnVuIHRoZSBmb2xsb3dpbmcgc3RlcHMgaW4gcGFyYWxsZWw6Ci0gICAgcXVldWVUYXNrS2Vl
cGluZ09iamVjdEFsaXZlKCp0aGlzLCBUYXNrU291cmNlOjpOZXR3b3JraW5nLCBbdGhpcywgcmVz
cG9uc2UgPSBTaGFyZWRCdWZmZXI6OmNyZWF0ZShyZXNwb25zZS5kYXRhKCksIHJlc3BvbnNlLmxl
bmd0aCgpKSwgcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSksIGlkZW50aWZpZXIgPSBXVEZNb3Zl
KGlkZW50aWZpZXIpXSAoKSBtdXRhYmxlIHsKKyAgICBxdWV1ZVRhc2tLZWVwaW5nT2JqZWN0QWxp
dmUoKnRoaXMsIFRhc2tTb3VyY2U6Ok5ldHdvcmtpbmcsIFt0aGlzLCB3ZWFrVGhpcyA9IG1ha2VX
ZWFrUHRyKCp0aGlzKSwgcmVzcG9uc2UgPSBTaGFyZWRCdWZmZXI6OmNyZWF0ZShyZXNwb25zZS5k
YXRhKCksIHJlc3BvbnNlLmxlbmd0aCgpKSwgcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSksIGlk
ZW50aWZpZXIgPSBXVEZNb3ZlKGlkZW50aWZpZXIpXSAoKSBtdXRhYmxlIHsKICAgICAgICAgLy8g
Ni4xLiBMZXQgc2FuaXRpemVkIHJlc3BvbnNlIGJlIGEgdmFsaWRhdGVkIGFuZC9vciBzYW5pdGl6
ZWQgdmVyc2lvbiBvZiByZXNwb25zZSBjb3B5LgogICAgICAgICBSZWZQdHI8U2hhcmVkQnVmZmVy
PiBzYW5pdGl6ZWRSZXNwb25zZSA9IG1faW1wbGVtZW50YXRpb24tPnNhbml0aXplUmVzcG9uc2Uo
cmVzcG9uc2UpOwogCkBAIC00MzUsNyArNDM1LDcgQEAgdm9pZCBNZWRpYUtleVNlc3Npb246OnVw
ZGF0ZShjb25zdCBCdWZmZXJTb3VyY2UmIHJlc3BvbnNlLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYK
ICAgICAgICAgLy8gNi41LiBMZXQgc2Vzc2lvbiBjbG9zZWQgYmUgZmFsc2UuCiAgICAgICAgIC8v
IDYuNi4gTGV0IGNkbSBiZSB0aGUgQ0RNIGluc3RhbmNlIHJlcHJlc2VudGVkIGJ5IHRoaXMgb2Jq
ZWN0J3MgY2RtIGluc3RhbmNlIHZhbHVlLgogICAgICAgICAvLyA2LjcuIFVzZSB0aGUgY2RtIHRv
IGV4ZWN1dGUgdGhlIGZvbGxvd2luZyBzdGVwczoKLSAgICAgICAgbV9pbnN0YW5jZVNlc3Npb24t
PnVwZGF0ZUxpY2Vuc2UobV9zZXNzaW9uSWQsIG1fc2Vzc2lvblR5cGUsIHNhbml0aXplZFJlc3Bv
bnNlLnJlbGVhc2VOb25OdWxsKCksIFt0aGlzLCB3ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKCp0aGlz
KSwgcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSksIGlkZW50aWZpZXIgPSBXVEZNb3ZlKGlkZW50
aWZpZXIpXSAoYm9vbCBzZXNzaW9uV2FzQ2xvc2VkLCBPcHRpb25hbDxDRE1JbnN0YW5jZVNlc3Np
b246OktleVN0YXR1c1ZlY3Rvcj4mJiBjaGFuZ2VkS2V5cywgT3B0aW9uYWw8ZG91YmxlPiYmIGNo
YW5nZWRFeHBpcmF0aW9uLCBPcHRpb25hbDxDRE1JbnN0YW5jZVNlc3Npb246Ok1lc3NhZ2U+JiYg
bWVzc2FnZSwgQ0RNSW5zdGFuY2VTZXNzaW9uOjpTdWNjZXNzVmFsdWUgc3VjY2VlZGVkKSBtdXRh
YmxlIHsKKyAgICAgICAgbV9pbnN0YW5jZVNlc3Npb24tPnVwZGF0ZUxpY2Vuc2UobV9zZXNzaW9u
SWQsIG1fc2Vzc2lvblR5cGUsIHNhbml0aXplZFJlc3BvbnNlLnJlbGVhc2VOb25OdWxsKCksIFt0
aGlzLCB3ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKCp3ZWFrVGhpcyksIHByb21pc2UgPSBXVEZNb3Zl
KHByb21pc2UpLCBpZGVudGlmaWVyID0gV1RGTW92ZShpZGVudGlmaWVyKV0gKGJvb2wgc2Vzc2lv
bldhc0Nsb3NlZCwgT3B0aW9uYWw8Q0RNSW5zdGFuY2VTZXNzaW9uOjpLZXlTdGF0dXNWZWN0b3I+
JiYgY2hhbmdlZEtleXMsIE9wdGlvbmFsPGRvdWJsZT4mJiBjaGFuZ2VkRXhwaXJhdGlvbiwgT3B0
aW9uYWw8Q0RNSW5zdGFuY2VTZXNzaW9uOjpNZXNzYWdlPiYmIG1lc3NhZ2UsIENETUluc3RhbmNl
U2Vzc2lvbjo6U3VjY2Vzc1ZhbHVlIHN1Y2NlZWRlZCkgbXV0YWJsZSB7CiAgICAgICAgICAgICBp
ZiAoIXdlYWtUaGlzKQogICAgICAgICAgICAgICAgIHJldHVybjsKIApAQCAtNTUzLDEwICs1NTMs
MTAgQEAgdm9pZCBNZWRpYUtleVNlc3Npb246OmNsb3NlKFJlZjxEZWZlcnJlZFByb21pc2U+JiYg
cHJvbWlzZSkKIAogICAgIC8vIDQuIExldCBwcm9taXNlIGJlIGEgbmV3IHByb21pc2UuCiAgICAg
Ly8gNS4gUnVuIHRoZSBmb2xsb3dpbmcgc3RlcHMgaW4gcGFyYWxsZWw6Ci0gICAgcXVldWVUYXNr
S2VlcGluZ09iamVjdEFsaXZlKCp0aGlzLCBUYXNrU291cmNlOjpOZXR3b3JraW5nLCBbdGhpcywg
cHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSksIGlkZW50aWZpZXIgPSBXVEZNb3ZlKGlkZW50aWZp
ZXIpXSAoKSBtdXRhYmxlIHsKKyAgICBxdWV1ZVRhc2tLZWVwaW5nT2JqZWN0QWxpdmUoKnRoaXMs
IFRhc2tTb3VyY2U6Ok5ldHdvcmtpbmcsIFt0aGlzLCB3ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKCp0
aGlzKSwgcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSksIGlkZW50aWZpZXIgPSBXVEZNb3ZlKGlk
ZW50aWZpZXIpXSAoKSBtdXRhYmxlIHsKICAgICAgICAgLy8gNS4xLiBMZXQgY2RtIGJlIHRoZSBD
RE0gaW5zdGFuY2UgcmVwcmVzZW50ZWQgYnkgc2Vzc2lvbidzIGNkbSBpbnN0YW5jZSB2YWx1ZS4K
ICAgICAgICAgLy8gNS4yLiBVc2UgY2RtIHRvIGNsb3NlIHRoZSBrZXkgc2Vzc2lvbiBhc3NvY2lh
dGVkIHdpdGggc2Vzc2lvbi4KLSAgICAgICAgbV9pbnN0YW5jZVNlc3Npb24tPmNsb3NlU2Vzc2lv
bihtX3Nlc3Npb25JZCwgW3RoaXMsIHdlYWtUaGlzID0gbWFrZVdlYWtQdHIoKnRoaXMpLCBwcm9t
aXNlID0gV1RGTW92ZShwcm9taXNlKSwgaWRlbnRpZmllciA9IFdURk1vdmUoaWRlbnRpZmllcild
ICgpIG11dGFibGUgeworICAgICAgICBtX2luc3RhbmNlU2Vzc2lvbi0+Y2xvc2VTZXNzaW9uKG1f
c2Vzc2lvbklkLCBbdGhpcywgd2Vha1RoaXMgPSBtYWtlV2Vha1B0cigqd2Vha1RoaXMpLCBwcm9t
aXNlID0gV1RGTW92ZShwcm9taXNlKSwgaWRlbnRpZmllciA9IFdURk1vdmUoaWRlbnRpZmllcild
ICgpIG11dGFibGUgewogICAgICAgICAgICAgaWYgKCF3ZWFrVGhpcykKICAgICAgICAgICAgICAg
ICByZXR1cm47CiAKQEAgLTU5NCwxMyArNTk0LDEzIEBAIHZvaWQgTWVkaWFLZXlTZXNzaW9uOjpy
ZW1vdmUoUmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlKQogCiAgICAgLy8gMy4gTGV0IHBy
b21pc2UgYmUgYSBuZXcgcHJvbWlzZS4KICAgICAvLyA0LiBSdW4gdGhlIGZvbGxvd2luZyBzdGVw
cyBpbiBwYXJhbGxlbDoKLSAgICBxdWV1ZVRhc2tLZWVwaW5nT2JqZWN0QWxpdmUoKnRoaXMsIFRh
c2tTb3VyY2U6Ok5ldHdvcmtpbmcsIFt0aGlzLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKSwg
aWRlbnRpZmllciA9IFdURk1vdmUoaWRlbnRpZmllcildICgpIG11dGFibGUgeworICAgIHF1ZXVl
VGFza0tlZXBpbmdPYmplY3RBbGl2ZSgqdGhpcywgVGFza1NvdXJjZTo6TmV0d29ya2luZywgW3Ro
aXMsIHdlYWtUaGlzID0gbWFrZVdlYWtQdHIoKnRoaXMpLCBwcm9taXNlID0gV1RGTW92ZShwcm9t
aXNlKSwgaWRlbnRpZmllciA9IFdURk1vdmUoaWRlbnRpZmllcildICgpIG11dGFibGUgewogICAg
ICAgICAvLyA0LjEuIExldCBjZG0gYmUgdGhlIENETSBpbnN0YW5jZSByZXByZXNlbnRlZCBieSB0
aGlzIG9iamVjdCdzIGNkbSBpbnN0YW5jZSB2YWx1ZS4KICAgICAgICAgLy8gNC4yLiBMZXQgbWVz
c2FnZSBiZSBudWxsLgogICAgICAgICAvLyA0LjMuIExldCBtZXNzYWdlIHR5cGUgYmUgbnVsbC4K
IAogICAgICAgICAvLyA0LjQuIFVzZSB0aGUgY2RtIHRvIGV4ZWN1dGUgdGhlIGZvbGxvd2luZyBz
dGVwczoKLSAgICAgICAgbV9pbnN0YW5jZVNlc3Npb24tPnJlbW92ZVNlc3Npb25EYXRhKG1fc2Vz
c2lvbklkLCBtX3Nlc3Npb25UeXBlLCBbdGhpcywgd2Vha1RoaXMgPSBtYWtlV2Vha1B0cigqdGhp
cyksIHByb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpLCBpZGVudGlmaWVyID0gV1RGTW92ZShpZGVu
dGlmaWVyKV0gKENETUluc3RhbmNlU2Vzc2lvbjo6S2V5U3RhdHVzVmVjdG9yJiYga2V5cywgT3B0
aW9uYWw8UmVmPFNoYXJlZEJ1ZmZlcj4+JiYgbWVzc2FnZSwgQ0RNSW5zdGFuY2VTZXNzaW9uOjpT
dWNjZXNzVmFsdWUgc3VjY2VlZGVkKSBtdXRhYmxlIHsKKyAgICAgICAgbV9pbnN0YW5jZVNlc3Np
b24tPnJlbW92ZVNlc3Npb25EYXRhKG1fc2Vzc2lvbklkLCBtX3Nlc3Npb25UeXBlLCBbdGhpcywg
d2Vha1RoaXMgPSBtYWtlV2Vha1B0cigqd2Vha1RoaXMpLCBwcm9taXNlID0gV1RGTW92ZShwcm9t
aXNlKSwgaWRlbnRpZmllciA9IFdURk1vdmUoaWRlbnRpZmllcildIChDRE1JbnN0YW5jZVNlc3Np
b246OktleVN0YXR1c1ZlY3RvciYmIGtleXMsIE9wdGlvbmFsPFJlZjxTaGFyZWRCdWZmZXI+PiYm
IG1lc3NhZ2UsIENETUluc3RhbmNlU2Vzc2lvbjo6U3VjY2Vzc1ZhbHVlIHN1Y2NlZWRlZCkgbXV0
YWJsZSB7CiAgICAgICAgICAgICBpZiAoIXdlYWtUaGlzKQogICAgICAgICAgICAgICAgIHJldHVy
bjsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZW5jcnlwdGVkbWVkaWEv
Y2xlYXJrZXkvQ0RNQ2xlYXJLZXkuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZW5jcnlw
dGVkbWVkaWEvY2xlYXJrZXkvQ0RNQ2xlYXJLZXkuY3BwCmluZGV4IDVhMTgyZmRmNDUyNi4uYWU0
NTcyZjg0ODJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9lbmNyeXB0ZWRt
ZWRpYS9jbGVhcmtleS9DRE1DbGVhcktleS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZW5jcnlwdGVkbWVkaWEvY2xlYXJrZXkvQ0RNQ2xlYXJLZXkuY3BwCkBAIC00NjksNyArNDY5
LDcgQEAgdm9pZCBDRE1JbnN0YW5jZVNlc3Npb25DbGVhcktleTo6cmVxdWVzdExpY2Vuc2UoTGlj
ZW5zZVR5cGUsIGNvbnN0IEF0b21TdHJpbmcmIGkKICAgICAgICAgaW5pdERhdGEgPSBleHRyYWN0
S2V5SWRGcm9tV2ViTUluaXREYXRhKGluaXREYXRhLmdldCgpKTsKIAogICAgIGNhbGxPbk1haW5U
aHJlYWQoCi0gICAgICAgIFt3ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKCp0aGlzKSwgdGhpcywgY2Fs
bGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNrKSwgaW5pdERhdGEgPSBXVEZNb3ZlKGluaXREYXRhKV0o
KSBtdXRhYmxlIHsKKyAgICAgICAgW3RoaXMsIHdlYWtUaGlzID0gbWFrZVdlYWtQdHIoKnRoaXMp
LCBjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spLCBpbml0RGF0YSA9IFdURk1vdmUoaW5pdERh
dGEpXSgpIG11dGFibGUgewogICAgICAgICAgICAgaWYgKCF3ZWFrVGhpcykKICAgICAgICAgICAg
ICAgICByZXR1cm47CiAKQEAgLTQ4NSw5ICs0ODUsOSBAQCB2b2lkIENETUluc3RhbmNlU2Vzc2lv
bkNsZWFyS2V5Ojp1cGRhdGVMaWNlbnNlKGNvbnN0IFN0cmluZyYgc2Vzc2lvbklkLCBMaWNlbnNl
VAogICAgIFVOVVNFRF9QQVJBTShzZXNzaW9uSWQpOwogI2VuZGlmCiAgICAgYXV0byBkaXNwYXRj
aENhbGxiYWNrID0KLSAgICAgICAgW3RoaXMsICZjYWxsYmFja10oYm9vbCBzZXNzaW9uV2FzQ2xv
c2VkLCBPcHRpb25hbDxLZXlTdGF0dXNWZWN0b3I+JiYgY2hhbmdlZEtleXMsIFN1Y2Nlc3NWYWx1
ZSBzdWNjZWVkZWQpIHsKKyAgICAgICAgW3dlYWtUaGlzID0gbWFrZVdlYWtQdHIoKnRoaXMpLCAm
Y2FsbGJhY2tdKGJvb2wgc2Vzc2lvbldhc0Nsb3NlZCwgT3B0aW9uYWw8S2V5U3RhdHVzVmVjdG9y
PiYmIGNoYW5nZWRLZXlzLCBTdWNjZXNzVmFsdWUgc3VjY2VlZGVkKSB7CiAgICAgICAgICAgICBj
YWxsT25NYWluVGhyZWFkKAotICAgICAgICAgICAgICAgIFt3ZWFrVGhpcyA9IG1ha2VXZWFrUHRy
KCp0aGlzKSwgY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNrKSwgc2Vzc2lvbldhc0Nsb3NlZCwg
Y2hhbmdlZEtleXMgPSBXVEZNb3ZlKGNoYW5nZWRLZXlzKSwgc3VjY2VlZGVkXSAoKSBtdXRhYmxl
IHsKKyAgICAgICAgICAgICAgICBbd2Vha1RoaXMgPSBtYWtlV2Vha1B0cigqd2Vha1RoaXMpLCBj
YWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spLCBzZXNzaW9uV2FzQ2xvc2VkLCBjaGFuZ2VkS2V5
cyA9IFdURk1vdmUoY2hhbmdlZEtleXMpLCBzdWNjZWVkZWRdICgpIG11dGFibGUgewogICAgICAg
ICAgICAgICAgICAgICBpZiAoIXdlYWtUaGlzKQogICAgICAgICAgICAgICAgICAgICAgICAgcmV0
dXJuOwogCkBAIC01NjgsOSArNTY4LDkgQEAgdm9pZCBDRE1JbnN0YW5jZVNlc3Npb25DbGVhcktl
eTo6cmVtb3ZlU2Vzc2lvbkRhdGEoY29uc3QgU3RyaW5nJiBzZXNzaW9uSWQsIExpY2UKICAgICBB
U1NFUlQoc2Vzc2lvbklkID09IG1fc2Vzc2lvbklEKTsKIAogICAgIGF1dG8gZGlzcGF0Y2hDYWxs
YmFjayA9Ci0gICAgICAgIFt0aGlzLCAmY2FsbGJhY2tdKEtleVN0YXR1c1ZlY3RvciYmIGtleVN0
YXR1c1ZlY3RvciwgT3B0aW9uYWw8UmVmPFNoYXJlZEJ1ZmZlcj4+JiYgbWVzc2FnZSwgU3VjY2Vz
c1ZhbHVlIHN1Y2Nlc3MpIHsKKyAgICAgICAgW3dlYWtUaGlzID0gbWFrZVdlYWtQdHIoKnRoaXMp
LCAmY2FsbGJhY2tdKEtleVN0YXR1c1ZlY3RvciYmIGtleVN0YXR1c1ZlY3RvciwgT3B0aW9uYWw8
UmVmPFNoYXJlZEJ1ZmZlcj4+JiYgbWVzc2FnZSwgU3VjY2Vzc1ZhbHVlIHN1Y2Nlc3MpIHsKICAg
ICAgICAgICAgIGNhbGxPbk1haW5UaHJlYWQoCi0gICAgICAgICAgICAgICAgW3dlYWtUaGlzID0g
bWFrZVdlYWtQdHIoKnRoaXMpLCBjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spLCBrZXlTdGF0
dXNWZWN0b3IgPSBXVEZNb3ZlKGtleVN0YXR1c1ZlY3RvciksIG1lc3NhZ2UgPSBXVEZNb3ZlKG1l
c3NhZ2UpLCBzdWNjZXNzXSgpIG11dGFibGUgeworICAgICAgICAgICAgICAgIFt3ZWFrVGhpcyA9
IG1ha2VXZWFrUHRyKCp3ZWFrVGhpcyksIGNhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayksIGtl
eVN0YXR1c1ZlY3RvciA9IFdURk1vdmUoa2V5U3RhdHVzVmVjdG9yKSwgbWVzc2FnZSA9IFdURk1v
dmUobWVzc2FnZSksIHN1Y2Nlc3NdKCkgbXV0YWJsZSB7CiAgICAgICAgICAgICAgICAgICAgIGlm
ICghd2Vha1RoaXMpCiAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>