<?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>164747</bug_id>
          
          <creation_ts>2016-11-14 16:01:18 -0800</creation_ts>
          <short_desc>Update SubtleCrypto::unwrapKey to match the latest spec</short_desc>
          <delta_ts>2016-12-01 13:45:57 -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>WebCore Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>160883</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Jiewen Tan">jiewen_tan</reporter>
          <assigned_to name="Jiewen Tan">jiewen_tan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>jiewen_tan</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>rob</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1251216</commentid>
    <comment_count>0</comment_count>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2016-11-14 16:01:18 -0800</bug_when>
    <thetext>Update SubtleCrypto::unwrapKey to match the latest spec.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1251254</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2016-11-14 16:54:00 -0800</bug_when>
    <thetext>&lt;rdar://problem/29258198&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1255088</commentid>
    <comment_count>2</comment_count>
      <attachid>295801</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2016-11-30 17:41:06 -0800</bug_when>
    <thetext>Created attachment 295801
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1255090</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-11-30 17:44:06 -0800</bug_when>
    <thetext>Attachment 295801 did not pass style-queue:


ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_KW.cpp:170:  CryptoAlgorithmAES_KW::unwrapKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/gnutls/CryptoAlgorithmAES_KWGnuTLS.cpp:41:  CryptoAlgorithmAES_KW::platformUnwrapKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/mac/CryptoAlgorithmAES_KWMac.cpp:52:  unwrapKeyAES_KW is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/mac/CryptoAlgorithmAES_KWMac.cpp:78:  CryptoAlgorithmAES_KW::platformUnwrapKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
Total errors found: 4 in 33 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1255340</commentid>
    <comment_count>4</comment_count>
      <attachid>295875</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2016-12-01 12:22:00 -0800</bug_when>
    <thetext>Created attachment 295875
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1255342</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-12-01 12:24:56 -0800</bug_when>
    <thetext>Attachment 295875 did not pass style-queue:


ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_KW.cpp:170:  CryptoAlgorithmAES_KW::unwrapKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/gnutls/CryptoAlgorithmAES_KWGnuTLS.cpp:41:  CryptoAlgorithmAES_KW::platformUnwrapKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/mac/CryptoAlgorithmAES_KWMac.cpp:52:  unwrapKeyAES_KW is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/mac/CryptoAlgorithmAES_KWMac.cpp:78:  CryptoAlgorithmAES_KW::platformUnwrapKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
Total errors found: 4 in 33 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1255354</commentid>
    <comment_count>6</comment_count>
      <attachid>295875</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2016-12-01 12:35:50 -0800</bug_when>
    <thetext>Comment on attachment 295875
Patch

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

Looks good!

&gt; Source/WebCore/bindings/js/JSSubtleCryptoCustom.cpp:940
&gt; +        // The following operation should be performed asynchronously.

Is this a note to remind you to do something in the future?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1255369</commentid>
    <comment_count>7</comment_count>
      <attachid>295875</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2016-12-01 12:38:29 -0800</bug_when>
    <thetext>Comment on attachment 295875
Patch

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

Thanks Brent for r+ my patch.

&gt;&gt; Source/WebCore/bindings/js/JSSubtleCryptoCustom.cpp:940
&gt;&gt; +        // The following operation should be performed asynchronously.
&gt; 
&gt; Is this a note to remind you to do something in the future?

Not really. It is a note to remind me of whether the following operation will be executed asynchronously/synchronously.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1255428</commentid>
    <comment_count>8</comment_count>
      <attachid>295875</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-12-01 13:45:52 -0800</bug_when>
    <thetext>Comment on attachment 295875
Patch

Clearing flags on attachment: 295875

Committed r209200: &lt;http://trac.webkit.org/changeset/209200&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1255429</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-12-01 13:45:57 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>295801</attachid>
            <date>2016-11-30 17:41:06 -0800</date>
            <delta_ts>2016-12-01 12:21:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-164747-20161130174039.patch</filename>
            <type>text/plain</type>
            <size>68684</size>
            <attacher name="Jiewen Tan">jiewen_tan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA5MTY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzAzN2E1ODFlMTU5YzMy
NWI4MWYyN2M3ZTUxN2VlMzdiOTkxNjhmYy4uMGRhZmFiYWE4M2Q1NTdmMTc4NGRhZjZiMDAxMTE1
OGU4NmEwNjBhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDUwIEBACiAyMDE2LTExLTMwICBKaWV3
ZW4gVGFuICA8amlld2VuX3RhbkBhcHBsZS5jb20+CiAKKyAgICAgICAgVXBkYXRlIFN1YnRsZUNy
eXB0bzo6dW53cmFwS2V5IHRvIG1hdGNoIHRoZSBsYXRlc3Qgc3BlYworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY0NzQ3CisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS8yOTI1ODE5OD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBUaGlzIHBhdGNoIGRvZXMgZm9sbG93aW5nIGZldyB0aGluZ3M6CisgICAgICAg
IDEuIEl0IHVwZGF0ZXMgdGhlIFN1YnRsZUNyeXB0bzo6dW53cmFwS2V5IG1ldGhvZCB0byBtYXRj
aCB0aGUgbGF0ZXN0IHNwZWM6CisgICAgICAgICAgIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9XZWJD
cnlwdG9BUEkvI1N1YnRsZUNyeXB0by1tZXRob2QtdW53cmFwS2V5LgorICAgICAgICAgICBJdCBh
bHNvIHJlZmVycyB0byB0aGUgbGF0ZXN0IEVkaXRvcidzIERyYWZ0IHRvIGEgY2VydGFpbiBkZWdy
ZWU6CisgICAgICAgICAgIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWJjcnlwdG8vT3ZlcnZpZXcu
aHRtbCNTdWJ0bGVDcnlwdG8tbWV0aG9kLXVud3JhcEtleS4KKyAgICAgICAgMi4gSXQgaW1wbGVt
ZW50cyB1bndyYXBLZXkgb3BlcmF0aW9ucyBvZiB0aGUgZm9sbG93aW5nIGFsZ29yaXRobXM6IEFF
Uy1LVy4KKworICAgICAgICBUZXN0czogY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWltcG9ydC1rZXkt
dW53cmFwLWp3ay1yc2Eta2V5LXByaXZhdGUuaHRtbAorICAgICAgICAgICAgICAgY3J5cHRvL3N1
YnRsZS9hZXMtY2JjLWltcG9ydC1rZXktdXdyYXAtandrLXJzYS1rZXktcHVibGljLmh0bWwKKyAg
ICAgICAgICAgICAgIGNyeXB0by9zdWJ0bGUvYWVzLWt3LWdlbmVyYXRlLWtleS13cmFwLWtleS11
bndyYXAta2V5Lmh0bWwKKyAgICAgICAgICAgICAgIGNyeXB0by9zdWJ0bGUvYWVzLWt3LWltcG9y
dC1rZXktdW53cmFwLXJhdy1rZXkuaHRtbAorICAgICAgICAgICAgICAgY3J5cHRvL3N1YnRsZS9y
c2Etb2FlcC1pbXBvcnQta2V5LXVud3JhcC1qd2stb2N0LWtleS5odG1sCisgICAgICAgICAgICAg
ICBjcnlwdG8vc3VidGxlL3Vud3JhcEtleS1tYWxmb3JtZWQtcGFyYW1ldGVycy5odG1sCisgICAg
ICAgICAgICAgICBjcnlwdG8vd29ya2Vycy9zdWJ0bGUvYWVzLWNiYy1pbXBvcnQta2V5LXVud3Jh
cC1rZXkuaHRtbAorICAgICAgICAgICAgICAgY3J5cHRvL3dvcmtlcnMvc3VidGxlL2Flcy1rdy1p
bXBvcnQta2V5LXVud3JhcC1rZXkuaHRtbAorICAgICAgICAgICAgICAgY3J5cHRvL3dvcmtlcnMv
c3VidGxlL3JzYS1vYWVwLWltcG9ydC1rZXktdW53cmFwLWtleS5odG1sCisKKyAgICAgICAgKiBi
aW5kaW5ncy9qcy9KU1N1YnRsZUNyeXB0b0N1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpu
b3JtYWxpemVDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzKToKKyAgICAgICAgKFdlYkNvcmU6Ompz
U3VidGxlQ3J5cHRvRnVuY3Rpb25XcmFwS2V5UHJvbWlzZSk6CisgICAgICAgIEFkZCBzb21lIGNv
bW1lbnRzLgorICAgICAgICAoV2ViQ29yZTo6anNTdWJ0bGVDcnlwdG9GdW5jdGlvblVud3JhcEtl
eVByb21pc2UpOgorICAgICAgICAoV2ViQ29yZTo6SlNTdWJ0bGVDcnlwdG86OnVud3JhcEtleSk6
CisgICAgICAgICogY3J5cHRvL0NyeXB0b0FsZ29yaXRobS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpDcnlwdG9BbGdvcml0aG06OnVud3JhcEtleSk6CisgICAgICAgICogY3J5cHRvL0NyeXB0b0Fs
Z29yaXRobS5oOgorICAgICAgICAqIGNyeXB0by9TdWJ0bGVDcnlwdG8uaWRsOgorICAgICAgICAq
IGNyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUFFU19LVy5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpDcnlwdG9BbGdvcml0aG1BRVNfS1c6OnVud3JhcEtleSk6CisgICAgICAgICogY3J5
cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtQUVTX0tXLmg6CisgICAgICAgICogY3J5cHRv
L2dudXRscy9DcnlwdG9BbGdvcml0aG1BRVNfS1dHbnVUTFMuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Q3J5cHRvQWxnb3JpdGhtQUVTX0tXOjpwbGF0Zm9ybVVud3JhcEtleSk6CisgICAgICAgICog
Y3J5cHRvL21hYy9DcnlwdG9BbGdvcml0aG1BRVNfS1dNYWMuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6dW53cmFwS2V5QUVTX0tXKToKKyAgICAgICAgKFdlYkNvcmU6OkNyeXB0b0FsZ29yaXRobUFF
U19LVzo6cGxhdGZvcm1VbndyYXBLZXkpOgorICAgICAgICAoV2ViQ29yZTo6Q3J5cHRvQWxnb3Jp
dGhtQUVTX0tXOjpwbGF0Zm9ybURlY3J5cHQpOgorCisyMDE2LTExLTMwICBKaWV3ZW4gVGFuICA8
amlld2VuX3RhbkBhcHBsZS5jb20+CisKICAgICAgICAgU3VidGxlQ3J5cHRvOjpkZXJpdmVLZXkg
YWx3YXlzIHJldHVybiBOT1RfU1VQUE9SVEVEX0VSUiBmb3Igbm93CiAgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjQ3NDQKICAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzI5MjU4MDgzPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNTdWJ0bGVDcnlwdG9DdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNT
dWJ0bGVDcnlwdG9DdXN0b20uY3BwCmluZGV4IGIyZGQzMjNkNmQ3MjlhZjdmOTVjOGM2MzE0ZWQ0
YjVhNjA5Y2Y5ZjUuLjZjNDhlN2RlODIyZGIyMjUwMDFhNGZhZWQwMTJjZmQxZjIxODNhZTEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTU3VidGxlQ3J5cHRvQ3VzdG9t
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1N1YnRsZUNyeXB0b0N1c3Rv
bS5jcHAKQEAgLTM2LDYgKzM2LDcgQEAKICNpbmNsdWRlICJKU0NyeXB0b0tleS5oIgogI2luY2x1
ZGUgIkpTQ3J5cHRvS2V5UGFpci5oIgogI2luY2x1ZGUgIkpTRE9NUHJvbWlzZS5oIgorI2luY2x1
ZGUgIkpTRE9NV3JhcHBlci5oIgogI2luY2x1ZGUgIkpTSG1hY0tleVBhcmFtcy5oIgogI2luY2x1
ZGUgIkpTSnNvbldlYktleS5oIgogI2luY2x1ZGUgIkpTUnNhSGFzaGVkSW1wb3J0UGFyYW1zLmgi
CkBAIC02Miw2ICs2Myw3IEBAIGVudW0gY2xhc3MgT3BlcmF0aW9ucyB7CiAgICAgR2VuZXJhdGVL
ZXksCiAgICAgSW1wb3J0S2V5LAogICAgIFdyYXBLZXksCisgICAgVW53cmFwS2V5CiB9OwogCiBz
dGF0aWMgc3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+IG5vcm1hbGl6
ZUNyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnMoRXhlY1N0YXRlJiwgSlNWYWx1ZSwgT3BlcmF0aW9u
cyk7CkBAIC0yMzAsNiArMjMyLDcgQEAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdv
cml0aG1QYXJhbWV0ZXJzPiBub3JtYWxpemVDcnlwdG9BbGdvcml0aG1QYXJhbWUKICAgICAgICAg
ICAgIH0KICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIE9wZXJhdGlvbnM6OldyYXBL
ZXk6CisgICAgICAgIGNhc2UgT3BlcmF0aW9uczo6VW53cmFwS2V5OgogICAgICAgICAgICAgc3dp
dGNoICgqaWRlbnRpZmllcikgewogICAgICAgICAgICAgY2FzZSBDcnlwdG9BbGdvcml0aG1JZGVu
dGlmaWVyOjpBRVNfS1c6CiAgICAgICAgICAgICAgICAgcmVzdWx0ID0gc3RkOjptYWtlX3VuaXF1
ZTxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzPihwYXJhbXMpOwpAQCAtOTM0LDE1ICs5MzcsMTI3
IEBAIHN0YXRpYyB2b2lkIGpzU3VidGxlQ3J5cHRvRnVuY3Rpb25XcmFwS2V5UHJvbWlzZShFeGVj
U3RhdGUmIHN0YXRlLCBSZWY8RGVmZXJyZWRQCiAgICAgICAgICAgICB3cmFwQWxnb3JpdGhtLT53
cmFwS2V5KHdyYXBwaW5nS2V5LnJlbGVhc2VOb25OdWxsKCksIFdURk1vdmUoYnl0ZXMpLCBXVEZN
b3ZlKGNhbGxiYWNrKSwgV1RGTW92ZShleGNlcHRpb25DYWxsYmFjaykpOwogICAgICAgICAgICAg
cmV0dXJuOwogICAgICAgICB9CisgICAgICAgIC8vIFRoZSBmb2xsb3dpbmcgb3BlcmF0aW9uIHNo
b3VsZCBiZSBwZXJmb3JtZWQgYXN5bmNocm9ub3VzbHkuCiAgICAgICAgIHdyYXBBbGdvcml0aG0t
PmVuY3J5cHQoV1RGTW92ZSh3cmFwUGFyYW1zKSwgd3JhcHBpbmdLZXkucmVsZWFzZU5vbk51bGwo
KSwgV1RGTW92ZShieXRlcyksIFdURk1vdmUoY2FsbGJhY2spLCBXVEZNb3ZlKGV4Y2VwdGlvbkNh
bGxiYWNrKSwgKmNvbnRleHQsIHdvcmtRdWV1ZSk7CiAgICAgfTsKICAgICBhdXRvIGV4Y2VwdGlv
bkNhbGxiYWNrID0gW2NhcHR1cmVkUHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSldKEV4Y2VwdGlv
bkNvZGUgZWMpIG11dGFibGUgewogICAgICAgICByZWplY3RXaXRoRXhjZXB0aW9uKFdURk1vdmUo
Y2FwdHVyZWRQcm9taXNlKSwgZWMpOwogICAgIH07CiAKKyAgICAvLyBUaGUgZm9sbG93aW5nIG9w
ZXJhdGlvbiBzaG91bGQgYmUgcGVyZm9ybWVkIHN5bmNocm9ub3VzbHkuCiAgICAgZXhwb3J0QWxn
b3JpdGhtLT5leHBvcnRLZXkoZm9ybWF0LCBrZXkucmVsZWFzZU5vbk51bGwoKSwgV1RGTW92ZShj
YWxsYmFjayksIFdURk1vdmUoZXhjZXB0aW9uQ2FsbGJhY2spKTsKIH0KIAorc3RhdGljIHZvaWQg
anNTdWJ0bGVDcnlwdG9GdW5jdGlvblVud3JhcEtleVByb21pc2UoRXhlY1N0YXRlJiBzdGF0ZSwg
UmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlKQoreworICAgIFZNJiB2bSA9IHN0YXRlLnZt
KCk7CisgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOworCisgICAgaWYg
KFVOTElLRUxZKHN0YXRlLmFyZ3VtZW50Q291bnQoKSA8IDcpKSB7CisgICAgICAgIHByb21pc2Ut
PnJlamVjdDxKU1ZhbHVlPihjcmVhdGVOb3RFbm91Z2hBcmd1bWVudHNFcnJvcigmc3RhdGUpKTsK
KyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGF1dG8gZm9ybWF0ID0gY29udmVydEVudW1l
cmF0aW9uPFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0PihzdGF0ZSwgc3RhdGUudW5jaGVja2VkQXJn
dW1lbnQoMCkpOworICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHZvaWQoKSk7CisKKyAg
ICBhdXRvIHdyYXBwZWRLZXkgPSB0b1ZlY3RvcihzdGF0ZSwgc3RhdGUudW5jaGVja2VkQXJndW1l
bnQoMSkpOworICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHZvaWQoKSk7CisKKyAgICBh
dXRvIHVud3JhcHBpbmdLZXkgPSB0b0NyeXB0b0tleShzdGF0ZSwgc3RhdGUudW5jaGVja2VkQXJn
dW1lbnQoMikpOworICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHZvaWQoKSk7CisKKyAg
ICBhdXRvIGNhdGNoU2NvcGUgPSBERUNMQVJFX0NBVENIX1NDT1BFKHZtKTsKKyAgICBib29sIGlz
RGVjcnlwdGlvbiA9IGZhbHNlOworICAgIGF1dG8gdW53cmFwUGFyYW1zID0gbm9ybWFsaXplQ3J5
cHRvQWxnb3JpdGhtUGFyYW1ldGVycyhzdGF0ZSwgc3RhdGUudW5jaGVja2VkQXJndW1lbnQoMyks
IE9wZXJhdGlvbnM6OlVud3JhcEtleSk7CisgICAgaWYgKGNhdGNoU2NvcGUuZXhjZXB0aW9uKCkp
IHsKKyAgICAgICAgY2F0Y2hTY29wZS5jbGVhckV4Y2VwdGlvbigpOworICAgICAgICB1bndyYXBQ
YXJhbXMgPSBub3JtYWxpemVDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzKHN0YXRlLCBzdGF0ZS51
bmNoZWNrZWRBcmd1bWVudCgzKSwgT3BlcmF0aW9uczo6RGVjcnlwdCk7CisgICAgICAgIFJFVFVS
Tl9JRl9FWENFUFRJT04oc2NvcGUsIHZvaWQoKSk7CisgICAgICAgIGlzRGVjcnlwdGlvbiA9IHRy
dWU7CisgICAgfQorCisgICAgYXV0byB1bndyYXBwZWRLZXlBbGdvcml0aG0gPSBub3JtYWxpemVD
cnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzKHN0YXRlLCBzdGF0ZS51bmNoZWNrZWRBcmd1bWVudCg0
KSwgT3BlcmF0aW9uczo6SW1wb3J0S2V5KTsKKyAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3Bl
LCB2b2lkKCkpOworCisgICAgYXV0byBleHRyYWN0YWJsZSA9IHN0YXRlLnVuY2hlY2tlZEFyZ3Vt
ZW50KDUpLnRvQm9vbGVhbigmc3RhdGUpOworICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUs
IHZvaWQoKSk7CisKKyAgICBhdXRvIGtleVVzYWdlcyA9IGNyeXB0b0tleVVzYWdlQml0bWFwRnJv
bUpTVmFsdWUoc3RhdGUsIHN0YXRlLnVuY2hlY2tlZEFyZ3VtZW50KDYpKTsKKyAgICBSRVRVUk5f
SUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOworCisgICAgaWYgKHVud3JhcFBhcmFtcy0+aWRl
bnRpZmllciAhPSB1bndyYXBwaW5nS2V5LT5hbGdvcml0aG1JZGVudGlmaWVyKCkpIHsKKyAgICAg
ICAgcHJvbWlzZS0+cmVqZWN0KElOVkFMSURfQUNDRVNTX0VSUiwgQVNDSUlMaXRlcmFsKCJVbndy
YXBwaW5nIENyeXB0b0tleSBkb2Vzbid0IG1hdGNoIHVud3JhcCBBbGdvcml0aG1JZGVudGlmaWVy
IikpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYgKCF1bndyYXBwaW5nS2V5LT5h
bGxvd3MoQ3J5cHRvS2V5VXNhZ2VVbndyYXBLZXkpKSB7CisgICAgICAgIHByb21pc2UtPnJlamVj
dChJTlZBTElEX0FDQ0VTU19FUlIsIEFTQ0lJTGl0ZXJhbCgiVW53cmFwcGluZyBDcnlwdG9LZXkg
ZG9lc24ndCBzdXBwb3J0IHVud3JhcEtleSBvcGVyYXRpb24iKSk7CisgICAgICAgIHJldHVybjsK
KyAgICB9CisKKyAgICBhdXRvIGltcG9ydEFsZ29yaXRobSA9IGNyZWF0ZUFsZ29yaXRobShzdGF0
ZSwgdW53cmFwcGVkS2V5QWxnb3JpdGhtLT5pZGVudGlmaWVyKTsKKyAgICBSRVRVUk5fSUZfRVhD
RVBUSU9OKHNjb3BlLCB2b2lkKCkpOworCisgICAgYXV0byB1bndyYXBBbGdvcml0aG0gPSBjcmVh
dGVBbGdvcml0aG0oc3RhdGUsIHVud3JhcHBpbmdLZXktPmFsZ29yaXRobUlkZW50aWZpZXIoKSk7
CisgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgdm9pZCgpKTsKKworICAgIGF1dG8gY2Fs
bGJhY2sgPSBbcHJvbWlzZSA9IHByb21pc2UuY29weVJlZigpLCBmb3JtYXQsIGltcG9ydEFsZ29y
aXRobSwgdW53cmFwcGVkS2V5QWxnb3JpdGhtID0gV1RGTW92ZSh1bndyYXBwZWRLZXlBbGdvcml0
aG0pLCBleHRyYWN0YWJsZSwga2V5VXNhZ2VzXShjb25zdCBWZWN0b3I8dWludDhfdD4mIGJ5dGVz
KSBtdXRhYmxlIHsKKyAgICAgICAgRXhlY1N0YXRlJiBzdGF0ZSA9ICoocHJvbWlzZS0+Z2xvYmFs
T2JqZWN0KCktPmdsb2JhbEV4ZWMoKSk7CisgICAgICAgIFZNJiB2bSA9IHN0YXRlLnZtKCk7Cisg
ICAgICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKKworICAgICAgICBL
ZXlEYXRhIGtleURhdGE7CisgICAgICAgIHN3aXRjaCAoZm9ybWF0KSB7CisgICAgICAgIGNhc2Ug
U3VidGxlQ3J5cHRvOjpLZXlGb3JtYXQ6OlNwa2k6CisgICAgICAgIGNhc2UgU3VidGxlQ3J5cHRv
OjpLZXlGb3JtYXQ6OlBrY3M4OgorICAgICAgICBjYXNlIFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0
OjpSYXc6CisgICAgICAgICAgICBrZXlEYXRhID0gYnl0ZXM7CisgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgY2FzZSBTdWJ0bGVDcnlwdG86OktleUZvcm1hdDo6SndrOiB7CisgICAgICAgICAg
ICBTdHJpbmcgandrU3RyaW5nKHJlaW50ZXJwcmV0X2Nhc3RfcHRyPGNvbnN0IGNoYXIqPihieXRl
cy5kYXRhKCkpLCBieXRlcy5zaXplKCkpOworICAgICAgICAgICAgSlNDOjpKU0xvY2tIb2xkZXIg
bG9ja2VyKCZzdGF0ZSk7IC8vIG5vdCBzdXJlIHdoeSBpdCBpcyBuZWVkZWQuCisgICAgICAgICAg
ICBhdXRvIGp3ayA9IEpTT05QYXJzZSgmc3RhdGUsIGp3a1N0cmluZyk7CisgICAgICAgICAgICBp
ZiAoIWp3aykgeworICAgICAgICAgICAgICAgIHByb21pc2UtPnJlamVjdChEYXRhRXJyb3IsIEFT
Q0lJTGl0ZXJhbCgiV3JhcHBlZEtleSBjYW5ub3QgYmUgY29udmVydGVkIHRvIGEgSlNPTiBvYmpl
Y3QiKSk7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorICAgICAgICAg
ICAga2V5RGF0YSA9IHRvS2V5RGF0YShzdGF0ZSwgZm9ybWF0LCBqd2spOworICAgICAgICAgICAg
UkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgdm9pZCgpKTsKKyAgICAgICAgfQorICAgICAgICB9
CisKKyAgICAgICAgYXV0byBjYWxsYmFjayA9IFtwcm9taXNlID0gcHJvbWlzZS5jb3B5UmVmKCld
KENyeXB0b0tleSYga2V5KSBtdXRhYmxlIHsKKyAgICAgICAgICAgIGlmICgoa2V5LnR5cGUoKSA9
PSBDcnlwdG9LZXlUeXBlOjpQcml2YXRlIHx8IGtleS50eXBlKCkgPT0gQ3J5cHRvS2V5VHlwZTo6
U2VjcmV0KSAmJiAha2V5LnVzYWdlc0JpdG1hcCgpKSB7CisgICAgICAgICAgICAgICAgcmVqZWN0
V2l0aEV4Y2VwdGlvbihXVEZNb3ZlKHByb21pc2UpLCBTWU5UQVhfRVJSKTsKKyAgICAgICAgICAg
ICAgICByZXR1cm47CisgICAgICAgICAgICB9CisgICAgICAgICAgICBwcm9taXNlLT5yZXNvbHZl
KGtleSk7CisgICAgICAgIH07CisgICAgICAgIGF1dG8gZXhjZXB0aW9uQ2FsbGJhY2sgPSBbcHJv
bWlzZSA9IFdURk1vdmUocHJvbWlzZSldKEV4Y2VwdGlvbkNvZGUgZWMpIG11dGFibGUgeworICAg
ICAgICAgICAgcmVqZWN0V2l0aEV4Y2VwdGlvbihXVEZNb3ZlKHByb21pc2UpLCBlYyk7CisgICAg
ICAgIH07CisKKyAgICAgICAgLy8gVGhlIGZvbGxvd2luZyBvcGVyYXRpb24gc2hvdWxkIGJlIHBl
cmZvcm1lZCBzeW5jaHJvbm91c2x5LgorICAgICAgICBpbXBvcnRBbGdvcml0aG0tPmltcG9ydEtl
eShmb3JtYXQsIFdURk1vdmUoa2V5RGF0YSksIFdURk1vdmUodW53cmFwcGVkS2V5QWxnb3JpdGht
KSwgZXh0cmFjdGFibGUsIGtleVVzYWdlcywgV1RGTW92ZShjYWxsYmFjayksIFdURk1vdmUoZXhj
ZXB0aW9uQ2FsbGJhY2spKTsKKyAgICB9OworICAgIGF1dG8gZXhjZXB0aW9uQ2FsbGJhY2sgPSBb
Y2FwdHVyZWRQcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0oRXhjZXB0aW9uQ29kZSBlYykgbXV0
YWJsZSB7CisgICAgICAgIHJlamVjdFdpdGhFeGNlcHRpb24oV1RGTW92ZShjYXB0dXJlZFByb21p
c2UpLCBlYyk7CisgICAgfTsKKworICAgIGlmICghaXNEZWNyeXB0aW9uKSB7CisgICAgICAgIC8v
IFRoZSAxMSBEZWNlbWJlciAyMDE0IHZlcnNpb24gb2YgdGhlIHNwZWNpZmljYXRpb24gc3VnZ2Vz
dHMgd2Ugc2hvdWxkIHBlcmZvcm0gdGhlIGZvbGxvd2luZyB0YXNrIGFzeW5jaHJvbm91c2x5Ogor
ICAgICAgICAvLyBodHRwczovL3d3dy53My5vcmcvVFIvV2ViQ3J5cHRvQVBJLyNTdWJ0bGVDcnlw
dG8tbWV0aG9kLXVud3JhcEtleQorICAgICAgICAvLyBJdCBpcyBub3QgYmVuZWZpY2lhbCBmb3Ig
bGVzcyB0aW1lIGNvbnN1bWluZyBvcGVyYXRpb25zLiBUaGVyZWZvcmUsIHdlIHBlcmZvcm0gaXQg
c3luY2hyb25vdXNseS4KKyAgICAgICAgdW53cmFwQWxnb3JpdGhtLT51bndyYXBLZXkodW53cmFw
cGluZ0tleS5yZWxlYXNlTm9uTnVsbCgpLCBXVEZNb3ZlKHdyYXBwZWRLZXkpLCBXVEZNb3ZlKGNh
bGxiYWNrKSwgV1RGTW92ZShleGNlcHRpb25DYWxsYmFjaykpOworICAgICAgICByZXR1cm47Cisg
ICAgfQorICAgIGF1dG8gc3VidGxlID0ganNEeW5hbWljRG93bmNhc3Q8SlNTdWJ0bGVDcnlwdG8q
PihzdGF0ZS50aGlzVmFsdWUoKSk7CisgICAgQVNTRVJUKHN1YnRsZSk7CisgICAgLy8gVGhlIGZv
bGxvd2luZyBvcGVyYXRpb24gc2hvdWxkIGJlIHBlcmZvcm1lZCBhc3luY2hyb25vdXNseS4KKyAg
ICB1bndyYXBBbGdvcml0aG0tPmRlY3J5cHQoV1RGTW92ZSh1bndyYXBQYXJhbXMpLCB1bndyYXBw
aW5nS2V5LnJlbGVhc2VOb25OdWxsKCksIFdURk1vdmUod3JhcHBlZEtleSksIFdURk1vdmUoY2Fs
bGJhY2spLCBXVEZNb3ZlKGV4Y2VwdGlvbkNhbGxiYWNrKSwgKnNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHRGcm9tRXhlY1N0YXRlKCZzdGF0ZSksIHN1YnRsZS0+d3JhcHBlZCgpLndvcmtRdWV1ZSgpKTsK
K30KKwogSlNWYWx1ZSBKU1N1YnRsZUNyeXB0bzo6ZW5jcnlwdChFeGVjU3RhdGUmIHN0YXRlKQog
ewogICAgIHJldHVybiBjYWxsUHJvbWlzZUZ1bmN0aW9uPGpzU3VidGxlQ3J5cHRvRnVuY3Rpb25F
bmNyeXB0UHJvbWlzZSwgUHJvbWlzZUV4ZWN1dGlvblNjb3BlOjpXaW5kb3dPcldvcmtlcj4oc3Rh
dGUpOwpAQCAtOTkzLDYgKzExMDgsMTEgQEAgSlNWYWx1ZSBKU1N1YnRsZUNyeXB0bzo6d3JhcEtl
eShFeGVjU3RhdGUmIHN0YXRlKQogICAgIHJldHVybiBjYWxsUHJvbWlzZUZ1bmN0aW9uPGpzU3Vi
dGxlQ3J5cHRvRnVuY3Rpb25XcmFwS2V5UHJvbWlzZSwgUHJvbWlzZUV4ZWN1dGlvblNjb3BlOjpX
aW5kb3dPcldvcmtlcj4oc3RhdGUpOwogfQogCitKU1ZhbHVlIEpTU3VidGxlQ3J5cHRvOjp1bndy
YXBLZXkoRXhlY1N0YXRlJiBzdGF0ZSkKK3sKKyAgICByZXR1cm4gY2FsbFByb21pc2VGdW5jdGlv
bjxqc1N1YnRsZUNyeXB0b0Z1bmN0aW9uVW53cmFwS2V5UHJvbWlzZSwgUHJvbWlzZUV4ZWN1dGlv
blNjb3BlOjpXaW5kb3dPcldvcmtlcj4oc3RhdGUpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL0NyeXB0b0Fs
Z29yaXRobS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ3J5cHRvQWxnb3JpdGhtLmNwcApp
bmRleCA5NzUyZjllYzJjNDljZTVmNDQ3NjA2YTk4Zjk0ZGVmNTljN2E5OGU2Li5mY2NhNjgzYzE1
YjI5N2U3OTc4MmE4YmJjODAyM2I1MzY5ZDRhYzFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jcnlwdG8vQ3J5cHRvQWxnb3JpdGhtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8v
Q3J5cHRvQWxnb3JpdGhtLmNwcApAQCAtNzcsNiArNzcsMTEgQEAgdm9pZCBDcnlwdG9BbGdvcml0
aG06OndyYXBLZXkoUmVmPENyeXB0b0tleT4mJiwgVmVjdG9yPHVpbnQ4X3Q+JiYsIFZlY3RvckNh
bGxiYWMKICAgICBleGNlcHRpb25DYWxsYmFjayhOT1RfU1VQUE9SVEVEX0VSUik7CiB9CiAKK3Zv
aWQgQ3J5cHRvQWxnb3JpdGhtOjp1bndyYXBLZXkoUmVmPENyeXB0b0tleT4mJiwgVmVjdG9yPHVp
bnQ4X3Q+JiYsIFZlY3RvckNhbGxiYWNrJiYsIEV4Y2VwdGlvbkNhbGxiYWNrJiYgZXhjZXB0aW9u
Q2FsbGJhY2spCit7CisgICAgZXhjZXB0aW9uQ2FsbGJhY2soTk9UX1NVUFBPUlRFRF9FUlIpOwor
fQorCiBFeGNlcHRpb25Pcjx2b2lkPiBDcnlwdG9BbGdvcml0aG06OmVuY3J5cHQoY29uc3QgQ3J5
cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0RlcHJlY2F0ZWQmLCBjb25zdCBDcnlwdG9LZXkmLCBjb25z
dCBDcnlwdG9PcGVyYXRpb25EYXRhJiwgVmVjdG9yQ2FsbGJhY2smJiwgVm9pZENhbGxiYWNrJiYp
CiB7CiAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IE5PVF9TVVBQT1JURURfRVJSIH07CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ3J5cHRvQWxnb3JpdGhtLmggYi9Tb3VyY2UvV2Vi
Q29yZS9jcnlwdG8vQ3J5cHRvQWxnb3JpdGhtLmgKaW5kZXggY2U1NzkxNGFmNDJlNjg5YWE2Njhh
NzJjMWRiMDE3MmZkMjkyNzA0Yi4uN2ZhMGNhNThjODJjNTZlYThiNjFjZGE2MzkyNTQxYmI4MTQw
MzE1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL0NyeXB0b0FsZ29yaXRobS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9DcnlwdG9BbGdvcml0aG0uaApAQCAtNzMsNiAr
NzMsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGltcG9ydEtleShTdWJ0bGVDcnlwdG86
OktleUZvcm1hdCwgS2V5RGF0YSYmLCBjb25zdCBzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3Jp
dGhtUGFyYW1ldGVycz4mJiwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAs
IEtleUNhbGxiYWNrJiYsIEV4Y2VwdGlvbkNhbGxiYWNrJiYpOwogICAgIHZpcnR1YWwgdm9pZCBl
eHBvcnRLZXkoU3VidGxlQ3J5cHRvOjpLZXlGb3JtYXQsIFJlZjxDcnlwdG9LZXk+JiYsIEtleURh
dGFDYWxsYmFjayYmLCBFeGNlcHRpb25DYWxsYmFjayYmKTsKICAgICB2aXJ0dWFsIHZvaWQgd3Jh
cEtleShSZWY8Q3J5cHRvS2V5PiYmLCBWZWN0b3I8dWludDhfdD4mJiwgVmVjdG9yQ2FsbGJhY2sm
JiwgRXhjZXB0aW9uQ2FsbGJhY2smJik7CisgICAgdmlydHVhbCB2b2lkIHVud3JhcEtleShSZWY8
Q3J5cHRvS2V5PiYmLCBWZWN0b3I8dWludDhfdD4mJiwgVmVjdG9yQ2FsbGJhY2smJiwgRXhjZXB0
aW9uQ2FsbGJhY2smJik7CiAKICAgICAvLyBUaGUgZm9sbG93aW5nIHdpbGwgYmUgZGVwcmVjYXRl
ZC4KICAgICB2aXJ0dWFsIEV4Y2VwdGlvbk9yPHZvaWQ+IGVuY3J5cHQoY29uc3QgQ3J5cHRvQWxn
b3JpdGhtUGFyYW1ldGVyc0RlcHJlY2F0ZWQmLCBjb25zdCBDcnlwdG9LZXkmLCBjb25zdCBDcnlw
dG9PcGVyYXRpb25EYXRhJiwgVmVjdG9yQ2FsbGJhY2smJiwgVm9pZENhbGxiYWNrJiYgZmFpbHVy
ZUNhbGxiYWNrKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9TdWJ0bGVDcnlw
dG8uaWRsIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL1N1YnRsZUNyeXB0by5pZGwKaW5kZXggMWI3
OWYzNDRkMDA1NTg2MWVjZTUzZGRjNWI2ZTQ0YWI2ZWRhYjFhYS4uYWE4YTdhZDdmZTllZjg3ZGE4
MDQyYjZiZTVhOGQwOTVlZjZkODJlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3J5cHRv
L1N1YnRsZUNyeXB0by5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL1N1YnRsZUNyeXB0
by5pZGwKQEAgLTQyLDQgKzQyLDUgQEAgZW51bSBLZXlGb3JtYXQgeyAicmF3IiwgInNwa2kiLCAi
cGtjczgiLCAiandrIiB9OwogICAgIFtDdXN0b21dIFByb21pc2U8Q3J5cHRvS2V5PiBpbXBvcnRL
ZXkoS2V5Rm9ybWF0IGZvcm1hdCwgKEJ1ZmZlclNvdXJjZSBvciBKc29uV2ViS2V5KSBrZXlEYXRh
LCBBbGdvcml0aG1JZGVudGlmaWVyIGFsZ29yaXRobSwgYm9vbGVuIGV4dHJhY3RhYmxlLCBzZXF1
ZW5jZTxDcnlwdG9LZXlVc2FnZT4ga2V5VXNhZ2VzKTsKICAgICBbQ3VzdG9tXSBQcm9taXNlPGFu
eT4gZXhwb3J0S2V5KEtleUZvcm1hdCBmb3JtYXQsIENyeXB0b0tleSBrZXkpOwogICAgIFtDdXN0
b21dIFByb21pc2U8YW55PiB3cmFwS2V5KEtleUZvcm1hdCBmb3JtYXQsIENyeXB0b0tleSBrZXks
IENyeXB0b0tleSB3cmFwcGluZ0tleSwgQWxnb3JpdGhtSWRlbnRpZmllciB3cmFwQWxnb3JpdGht
KTsKKyAgICBbQ3VzdG9tXSBQcm9taXNlPENyeXB0b0tleT4gdW53cmFwS2V5KEtleUZvcm1hdCBm
b3JtYXQsIEJ1ZmZlclNvdXJjZSB3cmFwcGVkS2V5LCBDcnlwdG9LZXkgdW53cmFwcGluZ0tleSwg
QWxnb3JpdGhtSWRlbnRpZmllciB1bndyYXBBbGdvcml0aG0sIEFsZ29yaXRobUlkZW50aWZpZXIg
dW53cmFwcGVkS2V5QWxnb3JpdGhtLCBib29sZWFuIGV4dHJhY3RhYmxlLCBzZXF1ZW5jZTxLZXlV
c2FnZT4ga2V5VXNhZ2VzKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8v
YWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1BRVNfS1cuY3BwIGIvU291cmNlL1dlYkNvcmUvY3J5
cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtQUVTX0tXLmNwcAppbmRleCA3YjEyZWQ1ZjY1
N2NiNDkyZGJlMmNjYTUzMTE1MjIzMmJkNWYzZDFmLi5kZmI0YmZiMGY0YWRjZmUwOGQ1ZTUwOWVj
YzgyMjVmM2NhNDBhNjRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3Jp
dGhtcy9DcnlwdG9BbGdvcml0aG1BRVNfS1cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0
by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUFFU19LVy5jcHAKQEAgLTE2Nyw2ICsxNjcsMTEg
QEAgdm9pZCBDcnlwdG9BbGdvcml0aG1BRVNfS1c6OndyYXBLZXkoUmVmPENyeXB0b0tleT4mJiBr
ZXksIFZlY3Rvcjx1aW50OF90PiYmIGRhdGEKICAgICBwbGF0Zm9ybVdyYXBLZXkoV1RGTW92ZShr
ZXkpLCBXVEZNb3ZlKGRhdGEpLCBXVEZNb3ZlKGNhbGxiYWNrKSwgV1RGTW92ZShleGNlcHRpb25D
YWxsYmFjaykpOwogfQogCit2b2lkIENyeXB0b0FsZ29yaXRobUFFU19LVzo6dW53cmFwS2V5KFJl
ZjxDcnlwdG9LZXk+JiYga2V5LCBWZWN0b3I8dWludDhfdD4mJiBkYXRhLCBWZWN0b3JDYWxsYmFj
ayYmIGNhbGxiYWNrLCBFeGNlcHRpb25DYWxsYmFjayYmIGV4Y2VwdGlvbkNhbGxiYWNrKQorewor
ICAgIHBsYXRmb3JtVW53cmFwS2V5KFdURk1vdmUoa2V5KSwgV1RGTW92ZShkYXRhKSwgV1RGTW92
ZShjYWxsYmFjayksIFdURk1vdmUoZXhjZXB0aW9uQ2FsbGJhY2spKTsKK30KKwogRXhjZXB0aW9u
T3I8dm9pZD4gQ3J5cHRvQWxnb3JpdGhtQUVTX0tXOjplbmNyeXB0Rm9yV3JhcEtleShjb25zdCBD
cnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzRGVwcmVjYXRlZCYsIGNvbnN0IENyeXB0b0tleSYga2V5
LCBjb25zdCBDcnlwdG9PcGVyYXRpb25EYXRhJiBkYXRhLCBWZWN0b3JDYWxsYmFjayYmIGNhbGxi
YWNrLCBWb2lkQ2FsbGJhY2smJiBmYWlsdXJlQ2FsbGJhY2spCiB7CiAgICAgaWYgKCFrZXlBbGdv
cml0aG1NYXRjaGVzKGtleSkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxn
b3JpdGhtcy9DcnlwdG9BbGdvcml0aG1BRVNfS1cuaCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9h
bGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUFFU19LVy5oCmluZGV4IDhlYThlYzMxMmQ4ZDBhNTFk
YTIyMGIxZTllNmE0OGFiNDk3OWY2ZDEuLjAwMjk0ZTM5MTg5ZmJlNGJkYjliMjkwNWIyY2ZlNDNm
MGQ0YmYzNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0Ny
eXB0b0FsZ29yaXRobUFFU19LVy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0
aG1zL0NyeXB0b0FsZ29yaXRobUFFU19LVy5oCkBAIC00Nyw2ICs0Nyw3IEBAIHByaXZhdGU6CiAg
ICAgdm9pZCBpbXBvcnRLZXkoU3VidGxlQ3J5cHRvOjpLZXlGb3JtYXQsIEtleURhdGEmJiwgY29u
c3Qgc3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+JiYsIGJvb2wgZXh0
cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0bWFwLCBLZXlDYWxsYmFjayYmLCBFeGNlcHRpb25D
YWxsYmFjayYmKSBmaW5hbDsKICAgICB2b2lkIGV4cG9ydEtleShTdWJ0bGVDcnlwdG86OktleUZv
cm1hdCwgUmVmPENyeXB0b0tleT4mJiwgS2V5RGF0YUNhbGxiYWNrJiYsIEV4Y2VwdGlvbkNhbGxi
YWNrJiYpIGZpbmFsOwogICAgIHZvaWQgd3JhcEtleShSZWY8Q3J5cHRvS2V5PiYmLCBWZWN0b3I8
dWludDhfdD4mJiwgVmVjdG9yQ2FsbGJhY2smJiwgRXhjZXB0aW9uQ2FsbGJhY2smJikgZmluYWw7
CisgICAgdm9pZCB1bndyYXBLZXkoUmVmPENyeXB0b0tleT4mJiwgVmVjdG9yPHVpbnQ4X3Q+JiYs
IFZlY3RvckNhbGxiYWNrJiYsIEV4Y2VwdGlvbkNhbGxiYWNrJiYpIGZpbmFsOwogCiAgICAgRXhj
ZXB0aW9uT3I8dm9pZD4gZW5jcnlwdEZvcldyYXBLZXkoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFy
YW1ldGVyc0RlcHJlY2F0ZWQmLCBjb25zdCBDcnlwdG9LZXkmLCBjb25zdCBDcnlwdG9PcGVyYXRp
b25EYXRhJiwgVmVjdG9yQ2FsbGJhY2smJiwgVm9pZENhbGxiYWNrJiYgZmFpbHVyZUNhbGxiYWNr
KSBmaW5hbDsKICAgICBFeGNlcHRpb25Pcjx2b2lkPiBkZWNyeXB0Rm9yVW53cmFwS2V5KGNvbnN0
IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnNEZXByZWNhdGVkJiwgY29uc3QgQ3J5cHRvS2V5Jiwg
Y29uc3QgQ3J5cHRvT3BlcmF0aW9uRGF0YSYsIFZlY3RvckNhbGxiYWNrJiYsIFZvaWRDYWxsYmFj
ayYmIGZhaWx1cmVDYWxsYmFjaykgZmluYWw7CkBAIC01NSw2ICs1Niw3IEBAIHByaXZhdGU6CiAK
ICAgICBib29sIGtleUFsZ29yaXRobU1hdGNoZXMoY29uc3QgQ3J5cHRvS2V5JikgY29uc3Q7CiAg
ICAgdm9pZCBwbGF0Zm9ybVdyYXBLZXkoUmVmPENyeXB0b0tleT4mJiwgVmVjdG9yPHVpbnQ4X3Q+
JiYsIFZlY3RvckNhbGxiYWNrJiYsIEV4Y2VwdGlvbkNhbGxiYWNrJiYpOworICAgIHZvaWQgcGxh
dGZvcm1VbndyYXBLZXkoUmVmPENyeXB0b0tleT4mJiwgVmVjdG9yPHVpbnQ4X3Q+JiYsIFZlY3Rv
ckNhbGxiYWNrJiYsIEV4Y2VwdGlvbkNhbGxiYWNrJiYpOwogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+
IHBsYXRmb3JtRW5jcnlwdChjb25zdCBDcnlwdG9LZXlBRVMmLCBjb25zdCBDcnlwdG9PcGVyYXRp
b25EYXRhJiwgVmVjdG9yQ2FsbGJhY2smJiwgVm9pZENhbGxiYWNrJiYgZmFpbHVyZUNhbGxiYWNr
KTsKICAgICBFeGNlcHRpb25Pcjx2b2lkPiBwbGF0Zm9ybURlY3J5cHQoY29uc3QgQ3J5cHRvS2V5
QUVTJiwgY29uc3QgQ3J5cHRvT3BlcmF0aW9uRGF0YSYsIFZlY3RvckNhbGxiYWNrJiYsIFZvaWRD
YWxsYmFjayYmIGZhaWx1cmVDYWxsYmFjayk7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3J5cHRvL2dudXRscy9DcnlwdG9BbGdvcml0aG1BRVNfS1dHbnVUTFMuY3BwIGIvU291cmNl
L1dlYkNvcmUvY3J5cHRvL2dudXRscy9DcnlwdG9BbGdvcml0aG1BRVNfS1dHbnVUTFMuY3BwCmlu
ZGV4IGM5ZWQzZGI2YThkMTcxYzZkMjQ0Zjk0Y2ZiOTI1MGIxNjQ1ODY3OGQuLjlhNThiNjRjYTlk
YjYwMjcwMWJjNmY1MTI4YThmMzdjNDdmMjJkYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2NyeXB0by9nbnV0bHMvQ3J5cHRvQWxnb3JpdGhtQUVTX0tXR251VExTLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jcnlwdG8vZ251dGxzL0NyeXB0b0FsZ29yaXRobUFFU19LV0dudVRMUy5jcHAK
QEAgLTM4LDYgKzM4LDExIEBAIHZvaWQgQ3J5cHRvQWxnb3JpdGhtQUVTX0tXOjpwbGF0Zm9ybVdy
YXBLZXkoUmVmPENyeXB0b0tleT4mJiwgVmVjdG9yPHVpbnQ4X3Q+JiYsCiAgICAgbm90SW1wbGVt
ZW50ZWQoKTsKIH0KIAordm9pZCBDcnlwdG9BbGdvcml0aG1BRVNfS1c6OnBsYXRmb3JtVW53cmFw
S2V5KFJlZjxDcnlwdG9LZXk+JiYsIFZlY3Rvcjx1aW50OF90PiYmLCBWZWN0b3JDYWxsYmFjayYm
LCBFeGNlcHRpb25DYWxsYmFjayYmKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKIEV4
Y2VwdGlvbk9yPHZvaWQ+IENyeXB0b0FsZ29yaXRobUFFU19LVzo6cGxhdGZvcm1FbmNyeXB0KGNv
bnN0IENyeXB0b0tleUFFUyYsIGNvbnN0IENyeXB0b09wZXJhdGlvbkRhdGEmLCBWZWN0b3JDYWxs
YmFjayYmLCBWb2lkQ2FsbGJhY2smJikKIHsKICAgICBub3RJbXBsZW1lbnRlZCgpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL21hYy9DcnlwdG9BbGdvcml0aG1BRVNfS1dNYWMu
Y3BwIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL21hYy9DcnlwdG9BbGdvcml0aG1BRVNfS1dNYWMu
Y3BwCmluZGV4IGZlZWJjNjQ5NmIzYmI5NjcwNDAxYzdjZmU1MzQ0MDhlMWExZjE4YWEuLjM0ODI1
NzhhNDJjMmExZDU1ZDEwZGQyMTJiNDI5OGJjZDFjZDUyNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2NyeXB0by9tYWMvQ3J5cHRvQWxnb3JpdGhtQUVTX0tXTWFjLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jcnlwdG8vbWFjL0NyeXB0b0FsZ29yaXRobUFFU19LV01hYy5jcHAKQEAgLTQ3
LDYgKzQ3LDIzIEBAIHN0YXRpYyBFeGNlcHRpb25PcjxWZWN0b3I8dWludDhfdD4+IHdyYXBLZXlB
RVNfS1coY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiBrZXksIGNvCiAgICAgcmV0dXJuIFdURk1vdmUo
cmVzdWx0KTsKIH0KIAorLy8gRklYTUU6IFdlIHNob3VsZCBjaGFuZ2UgZGF0YSB0byBWZWN0b3I8
dWludDhfdD4gdHlwZSBvbmNlIFdlYktpdFN1YnRsZUNyeXB0byBpcyBkZXByZWNhdGVkLgorLy8g
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NDkzOQorc3RhdGljIEV4
Y2VwdGlvbk9yPFZlY3Rvcjx1aW50OF90Pj4gdW53cmFwS2V5QUVTX0tXKGNvbnN0IFZlY3Rvcjx1
aW50OF90PiYga2V5LCBjb25zdCB1aW50OF90KiBkYXRhLCBzaXplX3QgZGF0YUxlbmd0aCkKK3sK
KyAgICBWZWN0b3I8dWludDhfdD4gcmVzdWx0KENDU3ltbWV0cmljVW53cmFwcGVkU2l6ZShrQ0NX
UkFQQUVTLCBkYXRhTGVuZ3RoKSk7CisgICAgc2l6ZV90IHJlc3VsdFNpemUgPSByZXN1bHQuc2l6
ZSgpOworCisgICAgaWYgKHJlc3VsdFNpemUgJSA4KQorICAgICAgICByZXR1cm4gRXhjZXB0aW9u
IHsgT3BlcmF0aW9uRXJyb3IgfTsKKworICAgIGlmIChDQ1N5bW1ldHJpY0tleVVud3JhcChrQ0NX
UkFQQUVTLCBDQ3JmYzMzOTRfaXYsIENDcmZjMzM5NF9pdkxlbiwga2V5LmRhdGEoKSwga2V5LnNp
emUoKSwgZGF0YSwgZGF0YUxlbmd0aCwgcmVzdWx0LmRhdGEoKSwgJnJlc3VsdFNpemUpKQorICAg
ICAgICByZXR1cm4gRXhjZXB0aW9uIHsgT3BlcmF0aW9uRXJyb3IgfTsKKworICAgIHJlc3VsdC5z
aHJpbmsocmVzdWx0U2l6ZSk7CisgICAgcmV0dXJuIFdURk1vdmUocmVzdWx0KTsKK30KKwogdm9p
ZCBDcnlwdG9BbGdvcml0aG1BRVNfS1c6OnBsYXRmb3JtV3JhcEtleShSZWY8Q3J5cHRvS2V5PiYm
IGtleSwgVmVjdG9yPHVpbnQ4X3Q+JiYgZGF0YSwgVmVjdG9yQ2FsbGJhY2smJiBjYWxsYmFjaywg
RXhjZXB0aW9uQ2FsbGJhY2smJiBleGNlcHRpb25DYWxsYmFjaykKIHsKICAgICBhdXRvJiBhZXNL
ZXkgPSBkb3duY2FzdDxDcnlwdG9LZXlBRVM+KGtleS5nZXQoKSk7CkBAIC01OCw2ICs3NSwxNyBA
QCB2b2lkIENyeXB0b0FsZ29yaXRobUFFU19LVzo6cGxhdGZvcm1XcmFwS2V5KFJlZjxDcnlwdG9L
ZXk+JiYga2V5LCBWZWN0b3I8dWludDhfdAogICAgIGNhbGxiYWNrKHJlc3VsdC5yZWxlYXNlUmV0
dXJuVmFsdWUoKSk7CiB9CiAKK3ZvaWQgQ3J5cHRvQWxnb3JpdGhtQUVTX0tXOjpwbGF0Zm9ybVVu
d3JhcEtleShSZWY8Q3J5cHRvS2V5PiYmIGtleSwgVmVjdG9yPHVpbnQ4X3Q+JiYgZGF0YSwgVmVj
dG9yQ2FsbGJhY2smJiBjYWxsYmFjaywgRXhjZXB0aW9uQ2FsbGJhY2smJiBleGNlcHRpb25DYWxs
YmFjaykKK3sKKyAgICBhdXRvJiBhZXNLZXkgPSBkb3duY2FzdDxDcnlwdG9LZXlBRVM+KGtleS5n
ZXQoKSk7CisgICAgYXV0byByZXN1bHQgPSB1bndyYXBLZXlBRVNfS1coYWVzS2V5LmtleSgpLCBk
YXRhLmRhdGEoKSwgZGF0YS5zaXplKCkpOworICAgIGlmIChyZXN1bHQuaGFzRXhjZXB0aW9uKCkp
IHsKKyAgICAgICAgZXhjZXB0aW9uQ2FsbGJhY2socmVzdWx0LnJlbGVhc2VFeGNlcHRpb24oKS5j
b2RlKCkpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIGNhbGxiYWNrKHJlc3VsdC5yZWxl
YXNlUmV0dXJuVmFsdWUoKSk7Cit9CisKIEV4Y2VwdGlvbk9yPHZvaWQ+IENyeXB0b0FsZ29yaXRo
bUFFU19LVzo6cGxhdGZvcm1FbmNyeXB0KGNvbnN0IENyeXB0b0tleUFFUyYga2V5LCBjb25zdCBD
cnlwdG9PcGVyYXRpb25EYXRhJiBkYXRhLCBWZWN0b3JDYWxsYmFjayYmIGNhbGxiYWNrLCBWb2lk
Q2FsbGJhY2smJiBmYWlsdXJlQ2FsbGJhY2spCiB7CiAgICAgaWYgKGRhdGEuc2Vjb25kICUgOCkg
ewpAQCAtNzgsMjMgKzEwNiwxMyBAQCBFeGNlcHRpb25Pcjx2b2lkPiBDcnlwdG9BbGdvcml0aG1B
RVNfS1c6OnBsYXRmb3JtRW5jcnlwdChjb25zdCBDcnlwdG9LZXlBRVMmIGtleQogCiBFeGNlcHRp
b25Pcjx2b2lkPiBDcnlwdG9BbGdvcml0aG1BRVNfS1c6OnBsYXRmb3JtRGVjcnlwdChjb25zdCBD
cnlwdG9LZXlBRVMmIGtleSwgY29uc3QgQ3J5cHRvT3BlcmF0aW9uRGF0YSYgZGF0YSwgVmVjdG9y
Q2FsbGJhY2smJiBjYWxsYmFjaywgVm9pZENhbGxiYWNrJiYgZmFpbHVyZUNhbGxiYWNrKQogewot
ICAgIFZlY3Rvcjx1aW50OF90PiByZXN1bHQoQ0NTeW1tZXRyaWNVbndyYXBwZWRTaXplKGtDQ1dS
QVBBRVMsIGRhdGEuc2Vjb25kKSk7Ci0gICAgc2l6ZV90IHJlc3VsdFNpemUgPSByZXN1bHQuc2l6
ZSgpOwotCi0gICAgaWYgKHJlc3VsdFNpemUgJSA4KSB7Ci0gICAgICAgIGZhaWx1cmVDYWxsYmFj
aygpOwotICAgICAgICByZXR1cm4geyB9OwotICAgIH0KLQotICAgIGludCBzdGF0dXMgPSBDQ1N5
bW1ldHJpY0tleVVud3JhcChrQ0NXUkFQQUVTLCBDQ3JmYzMzOTRfaXYsIENDcmZjMzM5NF9pdkxl
biwga2V5LmtleSgpLmRhdGEoKSwga2V5LmtleSgpLnNpemUoKSwgZGF0YS5maXJzdCwgZGF0YS5z
ZWNvbmQsIHJlc3VsdC5kYXRhKCksICZyZXN1bHRTaXplKTsKLSAgICBpZiAoc3RhdHVzKSB7Cisg
ICAgYXV0byByZXN1bHQgPSB1bndyYXBLZXlBRVNfS1coa2V5LmtleSgpLCBkYXRhLmZpcnN0LCBk
YXRhLnNlY29uZCk7CisgICAgaWYgKHJlc3VsdC5oYXNFeGNlcHRpb24oKSkgewogICAgICAgICBm
YWlsdXJlQ2FsbGJhY2soKTsKICAgICAgICAgcmV0dXJuIHsgfTsKICAgICB9Ci0gICAgcmVzdWx0
LnNocmluayhyZXN1bHRTaXplKTsKLSAgICBjYWxsYmFjayhyZXN1bHQpOwotICAgIHJldHVybiB7
IH07Ci19CisgICAgY2FsbGJhY2socmVzdWx0LnJlbGVhc2VSZXR1cm5WYWx1ZSgpKTsKKyAgICBy
ZXR1cm4geyB9O30KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNWZjN2UyMWQ2
OGZlNTM0YWFmZDE2YzMzODEzN2Y1MDYzNzc0OTI2OS4uZTNlZjk5YWViY2Y5OGUzYWJjNmZjMzQy
ZTk3NjYyYTA4YTMwNzQ2NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM1IEBACiAyMDE2LTExLTMwICBKaWV3
ZW4gVGFuICA8amlld2VuX3RhbkBhcHBsZS5jb20+CiAKKyAgICAgICAgVXBkYXRlIFN1YnRsZUNy
eXB0bzo6dW53cmFwS2V5IHRvIG1hdGNoIHRoZSBsYXRlc3Qgc3BlYworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY0NzQ3CisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS8yOTI1ODE5OD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIGNyeXB0by9zdWJ0bGUvYWVzLWNiYy1pbXBvcnQta2V5LXVud3JhcC1qd2st
cnNhLWtleS1wcml2YXRlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3N1
YnRsZS9hZXMtY2JjLWltcG9ydC1rZXktdW53cmFwLWp3ay1yc2Eta2V5LXByaXZhdGUuaHRtbDog
QWRkZWQuCisgICAgICAgICogY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWltcG9ydC1rZXktdXdyYXAt
andrLXJzYS1rZXktcHVibGljLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY3J5cHRv
L3N1YnRsZS9hZXMtY2JjLWltcG9ydC1rZXktdXdyYXAtandrLXJzYS1rZXktcHVibGljLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvYWVzLWt3LWdlbmVyYXRlLWtleS13cmFw
LWtleS11bndyYXAta2V5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3N1
YnRsZS9hZXMta3ctZ2VuZXJhdGUta2V5LXdyYXAta2V5LXVud3JhcC1rZXkuaHRtbDogQWRkZWQu
CisgICAgICAgICogY3J5cHRvL3N1YnRsZS9hZXMta3ctaW1wb3J0LWtleS11bndyYXAtcmF3LWtl
eS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvYWVzLWt3LWlt
cG9ydC1rZXktdW53cmFwLXJhdy1rZXkuaHRtbDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3N1
YnRsZS9yc2Etb2FlcC1pbXBvcnQta2V5LXVud3JhcC1qd2stb2N0LWtleS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvcnNhLW9hZXAtaW1wb3J0LWtleS11bndy
YXAtandrLW9jdC1rZXkuaHRtbDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3N1YnRsZS91bndy
YXBLZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBjcnlwdG8vc3VidGxlL3Vud3JhcEtleS1tYWxmb3JtZWQtcGFyYW1ldGVycy5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBjcnlwdG8vd29ya2Vycy9zdWJ0bGUvYWVzLWNiYy1pbXBvcnQta2V5LXVu
d3JhcC1rZXktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vd29ya2Vycy9z
dWJ0bGUvYWVzLWNiYy1pbXBvcnQta2V5LXVud3JhcC1rZXkuaHRtbDogQWRkZWQuCisgICAgICAg
ICogY3J5cHRvL3dvcmtlcnMvc3VidGxlL2Flcy1rdy1pbXBvcnQta2V5LXVud3JhcC1rZXktZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vd29ya2Vycy9zdWJ0bGUvYWVzLWt3
LWltcG9ydC1rZXktdW53cmFwLWtleS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vd29y
a2Vycy9zdWJ0bGUvcmVzb3VyY2VzL2Flcy1jYmMtaW1wb3J0LWtleS11bndyYXAta2V5LmpzOiBB
ZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vd29ya2Vycy9zdWJ0bGUvcmVzb3VyY2VzL2Flcy1rdy1p
bXBvcnQta2V5LXVud3JhcC1rZXkuanM6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by93b3JrZXJz
L3N1YnRsZS9yZXNvdXJjZXMvcnNhLW9hZXAtaW1wb3J0LWtleS11bndyYXAta2V5LmpzOiBBZGRl
ZC4KKyAgICAgICAgKiBjcnlwdG8vd29ya2Vycy9zdWJ0bGUvcnNhLW9hZXAtaW1wb3J0LWtleS11
bndyYXAta2V5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3dvcmtlcnMv
c3VidGxlL3JzYS1vYWVwLWltcG9ydC1rZXktdW53cmFwLWtleS5odG1sOiBBZGRlZC4KKworMjAx
Ni0xMS0zMCAgSmlld2VuIFRhbiAgPGppZXdlbl90YW5AYXBwbGUuY29tPgorCiAgICAgICAgIFN1
YnRsZUNyeXB0bzo6ZGVyaXZlS2V5IGFsd2F5cyByZXR1cm4gTk9UX1NVUFBPUlRFRF9FUlIgZm9y
IG5vdwogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY0
NzQ0CiAgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yOTI1ODA4Mz4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
Q2hhbmdlTG9nCmluZGV4IGM0ZjM5ZmNmN2VjOGZjNzY4NWZiYjViYzYzNjllMjA0OGY2YTc0M2Iu
LjQ5ZWMwYWM2YTA4MWFhNDJiNDUyNmZkMTBmMmJjM2Q2YmUyYTRkYTYgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE1IEBACiAyMDE2LTExLTMwICBKaWV3ZW4gVGFu
ICA8amlld2VuX3RhbkBhcHBsZS5jb20+CiAKKyAgICAgICAgVXBkYXRlIFN1YnRsZUNyeXB0bzo6
dW53cmFwS2V5IHRvIG1hdGNoIHRoZSBsYXRlc3Qgc3BlYworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY0NzQ3CisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS8yOTI1ODE5OD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIFdlYkNyeXB0b0FQSS9pZGxoYXJuZXNzLWV4cGVjdGVkLnR4dDoKKworMjAxNi0xMS0z
MCAgSmlld2VuIFRhbiAgPGppZXdlbl90YW5AYXBwbGUuY29tPgorCiAgICAgICAgIFN1YnRsZUNy
eXB0bzo6ZGVyaXZlS2V5IGFsd2F5cyByZXR1cm4gTk9UX1NVUFBPUlRFRF9FUlIgZm9yIG5vdwog
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY0NzQ0CiAg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yOTI1ODA4Mz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2NyeXB0by9zdWJ0bGUvYWVzLWNiYy1pbXBvcnQta2V5LXVud3JhcC1qd2stcnNhLWtleS1wcml2
YXRlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNiYy1pbXBv
cnQta2V5LXVud3JhcC1qd2stcnNhLWtleS1wcml2YXRlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5hMmQ2ZWIzN2NkNDNmNDhhYWE1ZGI3ZThlNTQ3MmFmYzJmYmE2Y2NjCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWltcG9ydC1rZXktdW53cmFw
LWp3ay1yc2Eta2V5LXByaXZhdGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjAgQEAKK1Rlc3Qg
dW53cmFwcGluZyBhIEpXSyBSU0EgcHJpdmF0ZSBrZXkgd2l0aCBBRVMtQ0JDIHVzaW5nIGFuIGlt
cG9ydGVkIGtleQorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyB1bndyYXBw
ZWRLZXkua3R5IGlzIGp3a0tleS5rdHkKK1BBU1MgdW53cmFwcGVkS2V5LmFsZyBpcyBqd2tLZXku
YWxnCitQQVNTIHVud3JhcHBlZEtleS5rZXlfb3BzIGlzIGp3a0tleS5rZXlfb3BzCitQQVNTIHVu
d3JhcHBlZEtleS5leHQgaXMgandrS2V5LmV4dAorUEFTUyB1bndyYXBwZWRLZXkubiBpcyBqd2tL
ZXkubgorUEFTUyB1bndyYXBwZWRLZXkuZSBpcyBqd2tLZXkuZQorUEFTUyB1bndyYXBwZWRLZXku
cCBpcyBqd2tLZXkucAorUEFTUyB1bndyYXBwZWRLZXkucSBpcyBqd2tLZXkucQorUEFTUyB1bndy
YXBwZWRLZXkuZHAgaXMgandrS2V5LmRwCitQQVNTIHVud3JhcHBlZEtleS5kcSBpcyBqd2tLZXku
ZHEKK1BBU1MgdW53cmFwcGVkS2V5LnFpIGlzIGp3a0tleS5xaQorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2NyeXB0by9zdWJ0bGUvYWVzLWNiYy1pbXBvcnQta2V5LXVud3JhcC1qd2stcnNhLWtleS1wcml2
YXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jYmMtaW1wb3J0LWtleS11
bndyYXAtandrLXJzYS1rZXktcHJpdmF0ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjczNGVhZjQzNTFhNTg2
NTk4NDI1N2M3NTkyZmY0ODc2YWY2MjZmMTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9jcnlwdG8vc3VidGxlL2Flcy1jYmMtaW1wb3J0LWtleS11bndyYXAtandrLXJzYS1rZXktcHJp
dmF0ZS5odG1sCkBAIC0wLDAgKzEsNjkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorCis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3QgdW53cmFwcGluZyBhIEpXSyBSU0Eg
cHJpdmF0ZSBrZXkgd2l0aCBBRVMtQ0JDIHVzaW5nIGFuIGltcG9ydGVkIGtleSIpOworCitqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKwordmFyIGV4dHJhY3RhYmxlID0gdHJ1ZTsKK3ZhciBqd2tLZXkg
PSB7CisgICAga3R5OiAiUlNBIiwKKyAgICBhbGc6ICJSU0EtT0FFUCIsCisgICAgdXNlOiAiZW5j
IiwKKyAgICBrZXlfb3BzOiBbImRlY3J5cHQiXSwKKyAgICBleHQ6IHRydWUsCisgICAgbjogImx4
SE4wTjlWUlowX3BsMHh2My1OWHg3MFduamtPRFNrUTVMakhYVEZ5M0RPUXN2a2FnRnpEOUhxWVFl
ekNtY2V3TGpkSzVQTHdTZXNEb01kZkw2dHVzQkhjdnlpdDFrdnlkWUZRM05MYkVOTmtZc2lCRzVf
blc0SVFHTDZKS2JaNWlHZFVvcDk4UUhLbTZZWlIxdTR6ckF0eE02YlZFbzA1VnZoalJTME04eVdv
WlZpLTdWZHNjMExxSTBRZHFfTm9jdFg1RnUtQXFpQk43VW8xSGtZR2NQMm9DODJKX0o1Y2p3OThC
UWlQNWtEV1RocTlSSy1YNlMtRVVBTHhfbTRpRzZpT1lLVEEzU1F5ZjF4QnFGYVhYb0VKamNja2JP
cWtlZ2VjejViLVlXVWg4aVpQdmh3bnQtUlp3cEliTEpnS3d6MTluZGtuOUt2b0VFdzdZYkVvdyIs
CisgICAgZTogIkFRQUIiLAorICAgIGQ6ICJjajVEa0Rha2pNMmJLZHVHV0pSRU8tX3p5RXR1QTFk
RDlkb3FLTWQ3SVJ1QTBDRFM3cHVFQVMyMC1vWFJEd2ZteU1YRWRFVURyR0d0Q3hoNmZ6RFB2c19U
LUpBM0dVSzRFZ0hvM3haY3JsWERYbEtDZWlsNkZucjBnSVNaT0loNWRrQnJjZFZMNHF1QkplNFpa
YzVtVnVBQzdMZDEzZXQwVHhNSjRpQUxHclB1cVBWVU9HU1lJY1o5aWR4NXpLS0JXaFkzdFBnZ0Vk
S3BuSEJtUGZUUk80eVphZjBOdzFRWHJnU01aWTllamV1YXVyQWg0UThvNC02LXI4TzJMVWU3dWZN
aF9jY0trWElTRWg0S2RPblQxN0VNOUJRVG45VU5TOUdvSzJaWlUwVTNpbzVEU3Vfa3Bhc3I0dU9W
V2NHbEUyd2N6T3YybmtHd0czOUYzc0ZGMFEiLAorICAgIHA6ICJ4NXZuY281ai1URDZoVE96eU40
RGhrWjQ0bTA1TnljeFQ2U1VFMnFUdXJUMy11emVfTDdUWXV0TFJJUmtvdlJNaFRIWkFyMnB6aVJs
YXNFczEzUEV6OVp2eDFJX1Q2OHNyc29ucmRiYWstU0ZNZWNNN0VqSGM1Qy1KMTNnWGh3OUhJVzI4
X1N4OXJRLUprR3dFd0U5UEVkSVVmdXZkcXBnaDNTbVh3UEpyRXMiLAorICAgIHE6ICJ3Yjl2bGxn
XzJuLWtOZ2UwYlRoZ183eHUxVXdUemlwTTh2eFNVa2tWMklpcEpLSUFla2tVM2FBQjhMb1BoVUkw
LTE3cFNHdzNFVE9PMjd0MTYzVEk5cUlQcHpMYmhUSDlhVWk3cUxHYktselBsZ25xUDQzWjBMSHhj
M3hLRGdpdC1BcjI5UUxhWDJ1b0pCWDZWVld2aG1oN0JJUERITlZNNUdaandXT1JZZ2siLAorICAg
IGRwOiAiQzJjOHNhNnd4MnVrNURjdjdpbkF5Y3I4M1BLZ2NpWXJDd0c3OC1BQzBJZkdJdS1sVFlz
WlNHMW92MkZRM241V1lNV1lRQ19WbzVFd3VnaVBKel9WM29uQm1RRjUzSE9GZWZiU2pYdll3Tm90
UWN5UlVHNVg5cUl1T3RHQ0g5NDlINFFFRDZ2S191ME5ILUpnekxVbGFtd29GWWJyWHp3Y2g2Q0NZ
S3MydWtFIiwKKyAgICBkcTogImhidFJsb0RMY2xId1VxcjJ5dnpEVjBJRmJvellqdEY3MDZ4LVZm
WEVjblhCNmxzMzRUQllpckZMSlpJSDdIOUtlc2VFVmt6N3BZX2s1NTU1UWxDVjlrYmVieFlYbDlS
dGlpSi1CVzZ5SDRkNGNhUGVZSWZVOU13ZVVReFZRV0tVVWtXZk9IY0RyQ0Z2S1psUjlWenpqdDdI
S3RLWDltcjBiQ0tRY0lmOWJhRSIsCisgICAgcWk6ICJhLTdoVVRUbmNsVVBLT2ZTZ0g4ekVLR0ot
QXZkRkV6eHZaNXNxNDZRZjJNYk9SeFZqTjRkSmFtVnZNLUZvcWN3Ti05Y3VVbHlyOWJTRlR3VUJX
NHZYYThYajlhOEpmVml1TUNxelItbUwxckdJVVE1QVJHaE5jU3NSbHlLVHF6NUJsV2xWS21YSXhf
cC1EZVZ3UFdpSkp5NGtfRnF5Qnhybnhrem9tSGZyeGsiLAorfTsKK3ZhciByYXdLZXkgPSBhc2Np
aVRvVWludDhBcnJheSgiam5Pdzk5b09aRkxJRVBNciIpOwordmFyIGFlc0NiY1BhcmFtcyA9IHsK
KyAgICBuYW1lOiAiYWVzLWNiYyIsCisgICAgaXY6IGFzY2lpVG9VaW50OEFycmF5KCJqbk93OTlv
T1pGTElFUE1yIiksCit9Cit2YXIgd3JhcHBlZEtleSA9IGhleFN0cmluZ1RvVWludDhBcnJheSgg
Ijg0OGFhMmY3MGVlMThlMjk1MzUyMDEzMmE3OWNmNDc5YjAzYTg3MzJhM2NjNzNmOGM1MWM2ODQ1
NmQzYzI1NTdlOGJlOWQ1OTExYjJhNzQyNjdlMjgyYTg3ZmZlZWQ4OGRmYmFjMzhhMjJjMjZiYTYy
MWY4MzkxNWQ3NTM5NDIwYTRkYzBiMjMyOWM1ODViNDQyOTY3MzY3YzFlYTZjMTEyNmY5OGM0ZjEz
YjdjOGNiNzQwMmI4NmE1ODQ0YzE5NDIwZWEzMzNkYzMzZDkwOGJlODkxNzJmOGJhYzU5YjQwM2Zl
MjAyZjMyYzhlZWQxOWY0MzFjZWRmYzMzODNmNTM2ZjM1NTcxNjNiMTMxMWFlNDJlZTU0ODZjNmRh
ZmVlOTY4NjQwZDZiNjk5OWM2ODdmMzdmYmE4ZDY1Y2M2NjJmMWM4NGYxNjI0NTY2NWU0YWY0MWM5
OGU4YjYzNjMyY2MxZDE5ZTJiZWNlMjE1NGM3ZWFiMTkwNWYzZjZhYjE3YjQ5NWNlZmVjMzUwOGU5
YjQ1MWYyZWExNDIyYjk3ZjI3NWRmZGMxMThmNDZhZjAyMDQwMjUwZDBlNTVkOGQ4ZDE3MmI5Njli
YmNmNzMxNGEyNTdmMTBiOThkMmM0N2M2YzcyYTcyN2FjYWY0Yzk2MzQwZDU5MGViY2ViYzYxZjcz
YjdhODY4YjQ5MGYzYzFlMTdjNTllYTQ3OWEzYjhkYjU1NzQxNTNkZTQ2Y2ZkYmIwN2NmYzVlOTVl
YmNmN2FkM2Q1ZmEwNTdiYTk0NmQ2ZGE4NzJjNGJlZjNhZjZkNzAxM2UyMjJjMjI3NjUwZDAwMjJj
OTRkMzA2Y2IxNGUyMDNhYWQzNzhkMTcxYzdjMjRmODI0YzMxYjgxZmQxODI2NWUwZGUyZjRiNDE1
NTg0ZWJjNGFkZWI1ODgwYzRlZGRiYzg4Yjg1NDY5OWY3YWE3NGQ2YTEwY2E1ZGY4OTc4ZjI3YjVk
MTM3MmIzMWVhNjdhOWM0ODQxYWUxMDFlYTZhZDc4ZGYwNTgwYjcwMzU4ZTY5MzNhYzkyZjdmYWVl
NTMyMGFmMzI5ZDgzNDlhN2I5ODY5MDcwOGEzODg3Mzc2MDRiZTBhZmZhYTA2Njk0MTBkOGQ5M2Rj
NGU0ZjU3ZTE0NTgzMjUzZjExZTViMjdjODliODRmMWYzMDM4YmFlNmQ5YjM3ZTNlYjY0YjYzYWQx
ODgwNjI3YWVmM2IxOWUzZTg1MWNmYWU2MzllYzQ2ZGQwNmZkMTMxYjUxZjUzMGIzNzI2MGI4MzZk
OTAxM2Q4YWQ3Yzg2NDAwOTYwNzBmOTY5ODRjNTI4ZWU1ZTIwYjY5ZjNjZDk4YTI2OTYyMWNkODg2
Y2NiMTZkOWM1MjZhODdjZDVjNDU4NTQxMzA5YmI3ZmE0ZjMzMzczMDVkNzZmYzA1MGQzOWNhOGIx
ZmRiMDY3NWExMWE0MGZmZGU5Y2ViYjMzZGRjNDg1ZTVkYzVlNzY2N2IwOGMyYTNlMDEzNmQwNjNh
NDQ3YWVlNWE4ZjY1MDQyOWM1ZTQyMmE3MDZjNGMyNDBhNGQxMWY0YTliNTc4MmYyY2JhMjU3NWYw
YzMyY2I0NzdhOWYwY2VmOTdmYTk5Mzk3NzEwNDE4MTMxNWZmOTBlNDZmM2IxMmI4YjAwZjRhNzYx
MWM0MmIxYmI1M2QwZTYwMjFhYjIxZWU4YWU2MDZkOWYwNmRmZWRiODkxNzYzMDA3ZTAyMDk3N2My
OGI0NmQ1ZjMzYmMzNWMxMjA2MWQ5MGViYmUwMmNhYjU4NzgzYzBjYWMwYzZmMTRlZDczNTIwNGYy
M2QwZWI2YTlmZTllZGVhMmFlY2IxYWMyMTNmNThiNDJkNWQ5NjM3NGVjNzBjYTI4OGEzMTAxNmJh
MDJhZGVmNDMyNTBkNzE3ZTlmYWI4OTgyYTFhMTgwYjFmMzk0NGQ0NTBjMTU5MDEwZmQyM2YzNTRk
ODg1MDJlYzcwMjg4MmFlM2VkZDU2N2M2YTZlZGYzY2IyZTM0ZWRjMTNmNDEwYTI1ZDk3Mjk4YWI5
MDYyZGRiNTY2NTc2ZmE4YjY1OTliYmEyMDViYWI1NWFhNWYzZjM3ZWRhZjc3MzNjZjI0OWU2OWM3
NGRhOTc1ZWYyNDljYTY3M2RhNzQ5ZDg2YmFiZWJkZjU1NDEwYTM4OTcyMGFjOTQzZjFlOWQ5MjFm
NWQ2OWM1Nzg5NjM2Y2I5MDRmYjkyNjM3NDQyMzZlYWRlOWFjYWU4ODlhMDFjMjM3YWIzNDM2MTAx
NDYzZGZhOWQ5MmY5MzZjMWI2NTJjODBmM2FiYmE3NjAyM2ViZTViOWJmZGQ1NDczNWUzYTM0OTRk
ZTE4YTQ1Njk2N2Y1ODc1OGU1NDYwMjFmZWVmM2ZhM2U2YzIzOTk4MWFhMDZmMWY3ZGRjNDE1ZDk1
N2ZmOTkxOWJiZWM1ZjM2YWYwOTJhODFiYTZjMTRmZTY0NGQyZWU5OGEyZmNkZWUyZWQ3MGI4N2E1
M2ZmYTMyN2IyNWI0NTY5YzU4ODZiMTVmMmJkNTgzZDZmNWJkN2U5NTFhOTE1MTQyYmFhMDhjNmE5
YzM0M2MyMDA2NzhhMDA1ZmFkMjJhMzM3ZDJjNTYyN2Y4YzgxNmRiMjUyNWE3ZTEyMTg0OWI5ZGE3
NTZlZWU2OGEyNDA0NTI4NDlmZmRiOTY1MWY5OTgyNTdjNjJlOGZkY2RjNDhkYWRmYzNlYmIxOGY3
ZWI1NDYxNDQyMDA4ODQ2YTYyOWVjODE0OWMwNTJmMzU3YmY1ODg5MDk1MDQ3YjI3MmJjZTBmZjUw
NTk1M2U3Y2Q1MjViMjRjODM4YmE2ZTllZDkxOTIyYTMwZWViODU4ZGU4NTU2ZjE5Zjc2MWQwMjg3
ZDc2ODg3NjM0NmE1ZGNhYzNkYmFkZDdhMzAwNzJjOTMzODE2MmJlNTgxMjE2NmQ5NjFmNDAzMWY5
NjJlZjY2ODc4MWQzOWQwZmM2OWZlNWY0NDk0ZTMxZWMwODJkNGEwMTQwZTM2OGI2OTk3NWJlZWJh
MTIwZWY5YjY1MWVhZDUzMWI0ZDQ0Mjk2YmQzY2ZlMmNlN2Y5N2JiNWJiNDkyMTA2MWIxMmMyZTFj
NGMxMDkyOGMwOTgwZmY4ZDQ4OGEyMjgyZDBjMDU2YTQwMjYwMTY3NDEwZTM5NjY0Zjc1ZmYxZjEy
NDk4MjBlMTc0ZWVkOTc4MzE4YTA1ZTY1NGI4YWE2YzYwYjcwMDAxYTdhMDRmMGFmZjE3NTk3ZGQ5
YWIzY2NjMzRmNWJhMmUzNTJiNzI0NGRkM2RjY2I0NjJkNzE3NWI5NWFlMzk3MGVjNTg1OGUyMzEy
YWFjN2MyYzc5YTM3YjUzZDA4OWY5ODg3MjBhNGMwNGRmNjMyOGEzODQwMDRkMGQ1MWVhZmI5NDg2
NjIzMDk5YTk4ZTY5YmU1MTY5MjAxYzg4ODI0YWNjMmJiMGUxNzkwODg5MDE0YTE3OTdjMTY4ZTk4
ZDE5ZjA3ODdjMjkzNWNmYmMzYmYyNGM0YWRhZDY5YTgxZTBlNmFkZjhjMjFlM2M0Nzg5MDY0YWEz
MWEwMjVkZmY1Y2M2ZWFiYTNmM2U0M2YxMGE5ZDUzMWY0Nzk2MzM3MjEyMGUyMzY2Yjg0YzI4MWVk
OTY4ZDlkMTFjMWQxMDM4MjZjOTM2Mjc0MWUxMjY3ZDFhM2U4ZDIxODg3NjFmYTg3NmI3YjA5NjE3
ZGYxNDEzMGMwNzIwOWYxZjExODhmZjQwOTcxYjg2NjA3ZGVlMTRkNTU2YTg4MDQ0NzkwMWM2OWQy
OWNiMTZjMDI3YzNhYWUzMTZmZjAwMTMyYmRmY2QwZTM5YzVlMjAxMjUyYzk3NzE0ODNjY2IyNzVi
MGM2N2IzY2I0ZGNkMTkxOThjNzcxODYzNDQ2MDI1NGRmZDZmOGRmNDM3NGI4YmVkZWU3ZGQyMGNl
NDExYjVmOTg3Y2FjMmNlMTc0OTJhYTc4ZjkxOWM2ZDVlNTU1MDAwZjQ3ZjdiOGE5ODk2ZDQ0OGJj
NGZjMTNlNDBhOWU1YzAyMjU4ZDUwOWE3Mjg5ZjQ0ZDcyNTBlODkyNjAyMzNiZjk2NzAyYmIzZDM1
MDQ1MWYwM2Q4MDJlMGUzN2Q5ZjAxY2NlNGM3ODg2OTQwMzQ5M2ViOTg5MGMyYzA5MTA5ZDFmNDI3
ZjU5Y2YwOTFjZDFjODM2ZTI1YTliYjA2NTA0MTQwN2MyMTgzZjY0M2JjZTJlNzJkYjFlN2NhZWFj
NDJlMmQ4Mzc5ZjhiODRkZjJjYzdiMWQwNTVmNDJkNmY2MmUwY2I1NzcxYTE0YWU4ODcyNzkyMzUw
ZTVmNzcwMTE1YTg2NTY0ZjYwYTc4NWM1MzMyNWM4YzA4NGFmZTIxNGRhM2NhYzE3ODNlMmJlOTA5
OWQ5NmRkYmU5Y2MzZWEzZGQxZDNhZTUwNTI2YjRhZmUyNDM5NzQyMGEzZTRmYTY5NzYxMzQyMSIp
OworCisKK2NyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJyYXciLCByYXdLZXksICJhZXMtY2JjIiwg
ZXh0cmFjdGFibGUsIFsidW53cmFwS2V5Il0pLnRoZW4oZnVuY3Rpb24odW53cmFwcGluZ0tleSkg
eworICAgIHJldHVybiBjcnlwdG8uc3VidGxlLnVud3JhcEtleSgiandrIiwgd3JhcHBlZEtleSwg
dW53cmFwcGluZ0tleSwgYWVzQ2JjUGFyYW1zLCB7bmFtZTogInJzYS1vYWVwIiwgaGFzaDogInNo
YS0xIn0sIGV4dHJhY3RhYmxlLCBbImRlY3J5cHQiXSk7Cit9KS50aGVuKGZ1bmN0aW9uKGNyeXB0
b0tleSkgeworICAgIHJldHVybiBjcnlwdG8uc3VidGxlLmV4cG9ydEtleSgiandrIiwgY3J5cHRv
S2V5KTsKK30pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7CisgICAgdW53cmFwcGVkS2V5ID0gcmVz
dWx0OworCisgICAgc2hvdWxkQmUoInVud3JhcHBlZEtleS5rdHkiLCAiandrS2V5Lmt0eSIpOwor
ICAgIHNob3VsZEJlKCJ1bndyYXBwZWRLZXkuYWxnIiwgImp3a0tleS5hbGciKTsKKyAgICBzaG91
bGRCZSgidW53cmFwcGVkS2V5LmtleV9vcHMiLCAiandrS2V5LmtleV9vcHMiKTsKKyAgICBzaG91
bGRCZSgidW53cmFwcGVkS2V5LmV4dCIsICJqd2tLZXkuZXh0Iik7CisgICAgc2hvdWxkQmUoInVu
d3JhcHBlZEtleS5uIiwgImp3a0tleS5uIik7CisgICAgc2hvdWxkQmUoInVud3JhcHBlZEtleS5l
IiwgImp3a0tleS5lIik7CisgICAgLy8gRklYTUU6IFNpbmNlIHdlIGFjdHVhbGx5IHJlY2FjdWxh
dGUgdGhlIHByaXZhdGUgZXhwb25lbnQgYmFzZWQgb24gbW9kdWx1cywgcHVibGljIGV4cG9uZW50
LCBmaXJzdCBwcmltZSBmYWN0b3IsIGFuZCBzZWNvbmQgcHJpbWUgZmFjdG9yLAorICAgIC8vIHRo
aXMgZXhwb3J0ZWQgcHJpdmF0ZSBleHBvbmVudCBtYXkgbm90IG1hdGNoIHRoZSBpbXBvcnRlZCBv
bmUuCisgICAgLy8gc2hvdWxkQmUoImV4cG9ydGVkSndrS2V5LmQiLCAiandrS2V5LmQiKTsKKyAg
ICBzaG91bGRCZSgidW53cmFwcGVkS2V5LnAiLCAiandrS2V5LnAiKTsKKyAgICBzaG91bGRCZSgi
dW53cmFwcGVkS2V5LnEiLCAiandrS2V5LnEiKTsKKyAgICBzaG91bGRCZSgidW53cmFwcGVkS2V5
LmRwIiwgImp3a0tleS5kcCIpOworICAgIHNob3VsZEJlKCJ1bndyYXBwZWRLZXkuZHEiLCAiandr
S2V5LmRxIik7CisgICAgc2hvdWxkQmUoInVud3JhcHBlZEtleS5xaSIsICJqd2tLZXkucWkiKTsK
KworICAgIGZpbmlzaEpTVGVzdCgpOworfSk7CisKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jYmMtaW1wb3J0
LWtleS11d3JhcC1qd2stcnNhLWtleS1wdWJsaWMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
Y3J5cHRvL3N1YnRsZS9hZXMtY2JjLWltcG9ydC1rZXktdXdyYXAtandrLXJzYS1rZXktcHVibGlj
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lYmNiMWQ4ZWEwNzVjMmEyZmFkZTNmZGU5N2ExNTM3
Y2Y4ZWRmMDg1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9h
ZXMtY2JjLWltcG9ydC1rZXktdXdyYXAtandrLXJzYS1rZXktcHVibGljLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDE1IEBACitUZXN0IHVud3JhcHBpbmcgYSBKV0sgUlNBIHB1YmxpYyBrZXkgd2l0
aCBBRVMtQ0JDIHVzaW5nIGFuIGltcG9ydGVkIGtleQorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKKworUEFTUyB1bndyYXBwZWRLZXkua3R5IGlzIGp3a0tleS5rdHkKK1BBU1MgdW53cmFw
cGVkS2V5LmFsZyBpcyBqd2tLZXkuYWxnCitQQVNTIHVud3JhcHBlZEtleS5rZXlfb3BzIGlzIGp3
a0tleS5rZXlfb3BzCitQQVNTIHVud3JhcHBlZEtleS5leHQgaXMgandrS2V5LmV4dAorUEFTUyB1
bndyYXBwZWRLZXkubiBpcyBqd2tLZXkubgorUEFTUyB1bndyYXBwZWRLZXkuZSBpcyBqd2tLZXku
ZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNiYy1pbXBvcnQta2V5LXV3
cmFwLWp3ay1yc2Eta2V5LXB1YmxpYy5odG1sIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9h
ZXMtY2JjLWltcG9ydC1rZXktdXdyYXAtandrLXJzYS1rZXktcHVibGljLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2E5ZDg2ZTZhMzljZmEzYzY2ODE0ZTliNzU2NDE3ZmIwZGFiZjVhMQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNiYy1pbXBvcnQta2V5LXV3cmFw
LWp3ay1yc2Eta2V5LXB1YmxpYy5odG1sCkBAIC0wLDAgKzEsNTUgQEAKKzwhRE9DVFlQRSBodG1s
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3QgdW53cmFw
cGluZyBhIEpXSyBSU0EgcHVibGljIGtleSB3aXRoIEFFUy1DQkMgdXNpbmcgYW4gaW1wb3J0ZWQg
a2V5Iik7CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIgZXh0cmFjdGFibGUgPSB0cnVl
OwordmFyIGp3a0tleSA9IHsKKyAgICBrdHk6ICJSU0EiLAorICAgIGFsZzogIlJTQS1PQUVQIiwK
KyAgICB1c2U6ICJlbmMiLAorICAgIGtleV9vcHM6IFsiZW5jcnlwdCJdLAorICAgIGV4dDogdHJ1
ZSwKKyAgICBuOiAicmNDVUN2N09jMUhWYW0xREloQ3pxa25UaFdhd09wOFFMazhaaXkycDEwQnlq
UUZDYWpvRml5dUFXbC1SMVdYWmFmNHhpdExScmFjVDlhZ3B6SXpjLU1iTFNISUdnV1FHTzIxbEdp
SW15NWZ0Wi1EOGJIQXFSejJ5MTVwekQ0YzRDRW91N1hTU0xEb1JuUjBRRzVNc0RoRDZzMmdWOW13
SGtydGtDeHRNV2RCaS03N2FzOHdHbWxOUmxkY09TZ1pETEs4VW5DU2dBMU9ndVo5ODliRnljOHRP
T0VJYjB4VVNmUFN6M0xQU0NueVl6NjhhRGptS1ZlTkgtaWc4NTdPU2N5V2JHeUV5M0JpdzY0cXVu
M2p1VWxOV3NKM3puZ2tPZHRlWVd5dHg1UXI0WEtOczZSLU15eXE3MktVcDAybUpEWmlpeWlnbHhN
TF9pMy1fQ2VlY0N3IiwKKyAgICBlOiAiQVFBQiIKK307Cit2YXIgcmF3S2V5ID0gYXNjaWlUb1Vp
bnQ4QXJyYXkoImpuT3c5OW9PWkZMSUVQTXIiKTsKK3ZhciBhZXNDYmNQYXJhbXMgPSB7CisgICAg
bmFtZTogImFlcy1jYmMiLAorICAgIGl2OiBhc2NpaVRvVWludDhBcnJheSgiam5Pdzk5b09aRkxJ
RVBNciIpLAorfQordmFyIHdyYXBwZWRLZXkgPSBoZXhTdHJpbmdUb1VpbnQ4QXJyYXkoICI4NDhh
YTJmNzBlZTE4ZTI5NTM1MjAxMzJhNzljZjQ3OTQ2ZTAwYzk5MzYyMzQwYmI2OTBlZGM5YWI1MzE1
NzU3NDYyYzEyODI3OGM2MjMyZTc3MGU3NDM3YzU2ZWQ3MjJhOGUxNzAzODU1ZjdmM2U1NjUzOTRl
MWE2YTAzMDVjNGVmMWIzMGZhNGM3ZjcyZDFhMjM5Y2M2YzZiYTA2Nzg5ODc5OGEzNmE3NTEzMmM2
NmI0YTJkM2ZiOTQyODg2YWZmZDNlYTNiMjc1NmIwZGRjODg2YzAxZTNiOTMxMDc0NjliODIxMjQ0
Njg0MDhlZjhhYjU0OGI4NWFhOGYyMDZjMzEyZDc0Y2U0ZjJjNjc5ZWIxNDdhMjc1Y2VmZGE2NGQ1
YmRjNGEyYjViOTBhNGFjOWFkM2ViNWYyY2YxOWY1Zjg3NjUzMjExZjU5YjQ3MzFiYTYxMTI1NTgy
YTIzMzk1MTA5N2RlYTY1ZGIwNTg5OWQ1ODdkMWRjZmNjYWI5YWI3NDEwYWIzMDEwYjg5MDY2NTA2
ZGJhY2JjNmI3M2U0YjU2NDc5Mjc1MTM4OGZhMGY1OGQ1NWM1OWMxNGEwOGM5ZGZiMGY3ODEwMGIw
ZjVjYzI5ZDYyMzI4ODIyNjM2ZDMwYTZhMTUzZWM1Y2Q0NzI3YWQ1ZTQ3YjQxOWM0ODU0NDU2NTYz
N2FjNTc4OTg2M2Q0M2I3ZGE3OGNmNDM4M2QwOWQ2NmU5ZDQ1OGU0MzZkYmZiZWU3NWUzODJiMmJh
YjQ5ZWVjMmM3NDkxZmY5M2NmMDk5ZmU5MmZlYWY0NjU4ZTMwODg5ZmQxMmQzYWU2MWNkNWU4Yzhl
MWU1NmEwNzliNjYyZjkwY2QxMGNkYmRiYjRkMTJlZWZiMzZkODI1ZTFhMDQzZTgyZjVhOThmODk2
MGQ2NTVkM2Y5ZWQ1YWYzMWU1ODFmYTg0NmNjNTgyZjZjZWU1YzI1ZTBiM2MzMjA1MDUzNGFlOTU3
Y2UyNzg2MGQ0NzBiYTI2ZGEyYzdkNmZhNjIxYjBmYWE4YmVjYWQ1OGU5ZTU1YmIyYTlkOTg0YjA0
MmYyNWRmMjE0ODI1Mjk4NzBkMjcxY2JmNTUwOGEwZWRmYzNjYjM3MzE2YzExZjE2YjM0MmJjMWYx
Zjk4YWEiKTsKKworCitjcnlwdG8uc3VidGxlLmltcG9ydEtleSgicmF3IiwgcmF3S2V5LCAiYWVz
LWNiYyIsIGV4dHJhY3RhYmxlLCBbInVud3JhcEtleSJdKS50aGVuKGZ1bmN0aW9uKHVud3JhcHBp
bmdLZXkpIHsKKyAgICByZXR1cm4gY3J5cHRvLnN1YnRsZS51bndyYXBLZXkoImp3ayIsIHdyYXBw
ZWRLZXksIHVud3JhcHBpbmdLZXksIGFlc0NiY1BhcmFtcywge25hbWU6ICJyc2Etb2FlcCIsIGhh
c2g6ICJzaGEtMSJ9LCBleHRyYWN0YWJsZSwgWyJlbmNyeXB0Il0pOworfSkudGhlbihmdW5jdGlv
bihjcnlwdG9LZXkpIHsKKyAgICByZXR1cm4gY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoImp3ayIs
IGNyeXB0b0tleSk7Cit9KS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAgIHVud3JhcHBlZEtl
eSA9IHJlc3VsdDsKKworICAgIHNob3VsZEJlKCJ1bndyYXBwZWRLZXkua3R5IiwgImp3a0tleS5r
dHkiKTsKKyAgICBzaG91bGRCZSgidW53cmFwcGVkS2V5LmFsZyIsICJqd2tLZXkuYWxnIik7Cisg
ICAgc2hvdWxkQmUoInVud3JhcHBlZEtleS5rZXlfb3BzIiwgImp3a0tleS5rZXlfb3BzIik7Cisg
ICAgc2hvdWxkQmUoInVud3JhcHBlZEtleS5leHQiLCAiandrS2V5LmV4dCIpOworICAgIHNob3Vs
ZEJlKCJ1bndyYXBwZWRLZXkubiIsICJqd2tLZXkubiIpOworICAgIHNob3VsZEJlKCJ1bndyYXBw
ZWRLZXkuZSIsICJqd2tLZXkuZSIpOworCisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsKKworPC9z
Y3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0
by9zdWJ0bGUvYWVzLWt3LWdlbmVyYXRlLWtleS13cmFwLWtleS11bndyYXAta2V5LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWt3LWdlbmVyYXRlLWtleS13cmFw
LWtleS11bndyYXAta2V5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMDRmMGE4NWU5ZGE0OTMw
Yzc3NjM5NDQwNDRlNjBlNTE5MjgzZmUwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
Y3J5cHRvL3N1YnRsZS9hZXMta3ctZ2VuZXJhdGUta2V5LXdyYXAta2V5LXVud3JhcC1rZXktZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTQgQEAKK1Rlc3Qgd3JhcEtleS91bndyYXBLZXkgd2l0aCBB
RVMtS1cgdXNpbmcgYSBnZW5lcmF0ZWQga2V5CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworCitHZW5lcmF0aW5nLi4uCitXcmFwcGluZy4uLgorUEFTUyBieXRlc1RvQVNDSUlTdHJpbmco
d3JhcHBlZEtleSkgaXMgbm90ICJqbk93OTlvT1pGTElFUE1yIgorVW53cmFwcGluZy4uLgorUEFT
UyBieXRlc1RvQVNDSUlTdHJpbmcodW53cmFwcGVkS2V5KSBpcyByYXdLZXlBU0NJSQorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWt3LWdlbmVyYXRlLWtleS13cmFwLWtleS11
bndyYXAta2V5Lmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1rdy1nZW5lcmF0
ZS1rZXktd3JhcC1rZXktdW53cmFwLWtleS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZmYmRhMTYwNGM4Mzg4
YzJkMTgxZWJhNTJjMjhhNGRlNzJhMWI4NTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9jcnlwdG8vc3VidGxlL2Flcy1rdy1nZW5lcmF0ZS1rZXktd3JhcC1rZXktdW53cmFwLWtleS5o
dG1sCkBAIC0wLDAgKzEsNDkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3Qgd3JhcEtleS91bndyYXBLZXkgd2l0aCBBRVMt
S1cgdXNpbmcgYSBnZW5lcmF0ZWQga2V5Iik7CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCit2
YXIgZXh0cmFjdGFibGUgPSB0cnVlOwordmFyIHJhd0tleUFTQ0lJID0gImpuT3c5OW9PWkZMSUVQ
TXIiOwordmFyIHJhd0tleSA9IGFzY2lpVG9VaW50OEFycmF5KHJhd0tleUFTQ0lJKTsKK3ZhciB3
cmFwcGVkS2V5ID0gaGV4U3RyaW5nVG9VaW50OEFycmF5KCJkNjQ3ODdhYjNlMDQ4ZGJkYzMwYmI2
Mjc4MWM5ZjE4ZTU4YWQ3ZGJmYzY0YWFiMTYiKTsKKworZGVidWcoIkdlbmVyYXRpbmcuLi4iKTsK
K2NyeXB0by5zdWJ0bGUuZ2VuZXJhdGVLZXkoeyBuYW1lOiAiYWVzLWt3IiwgbGVuZ3RoOiAyNTYg
fSwgZXh0cmFjdGFibGUsIFsid3JhcEtleSIsICJ1bndyYXBLZXkiXSkudGhlbihmdW5jdGlvbihy
ZXN1bHQpIHsKKyAgICB3cmFwS2V5ID0gcmVzdWx0OworICAgIHJldHVybiBjcnlwdG8uc3VidGxl
LmltcG9ydEtleSgicmF3IiwgcmF3S2V5LCAiYWVzLWNiYyIsIGV4dHJhY3RhYmxlLCBbImVuY3J5
cHQiLCAiZGVjcnlwdCJdKTsKK30pLnRoZW4oZnVuY3Rpb24oa2V5KSB7CisgICAgZGVidWcoIldy
YXBwaW5nLi4uIik7CisgICAgcmV0dXJuIGNyeXB0by5zdWJ0bGUud3JhcEtleSgicmF3Iiwga2V5
LCB3cmFwS2V5LCAiQUVTLUtXIik7Cit9KS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAgIHdy
YXBwZWRLZXkgPSByZXN1bHQ7CisKKyAgICBzaG91bGROb3RCZUVxdWFsVG9TdHJpbmcoImJ5dGVz
VG9BU0NJSVN0cmluZyh3cmFwcGVkS2V5KSIsIHJhd0tleUFTQ0lJKTsKKworICAgIGRlYnVnKCJV
bndyYXBwaW5nLi4uIik7CisgICAgcmV0dXJuIGNyeXB0by5zdWJ0bGUudW53cmFwS2V5KCJyYXci
LCB3cmFwcGVkS2V5LCB3cmFwS2V5LCAiQUVTLUtXIiwgIkFFUy1DQkMiLCBleHRyYWN0YWJsZSwg
WyJlbmNyeXB0IiwgImRlY3J5cHQiXSk7Cit9KS50aGVuKGZ1bmN0aW9uKGNyeXB0b0tleSkgewor
ICAgIHJldHVybiBjcnlwdG8uc3VidGxlLmV4cG9ydEtleSgicmF3IiwgY3J5cHRvS2V5KTsKK30p
LnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7CisgICAgdW53cmFwcGVkS2V5ID0gcmVzdWx0OworCisg
ICAgc2hvdWxkQmUoImJ5dGVzVG9BU0NJSVN0cmluZyh1bndyYXBwZWRLZXkpIiwgInJhd0tleUFT
Q0lJIik7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30pOworCis8L3NjcmlwdD4KKworPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMta3ct
aW1wb3J0LWtleS11bndyYXAtcmF3LWtleS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jcnlw
dG8vc3VidGxlL2Flcy1rdy1pbXBvcnQta2V5LXVud3JhcC1yYXcta2V5LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44NDQ4YTQ4NDE5MGNhNmJmMGRhNWUxNTgwOThhNzhhYWQwZGM2NDQzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMta3ctaW1wb3J0LWtl
eS11bndyYXAtcmF3LWtleS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMCBAQAorVGVzdCB1bndy
YXBwaW5nIGEgcmF3IGtleSB3aXRoIEFFUy1LVyB1c2luZyBhbiBpbXBvcnRlZCBrZXkKKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgYnl0ZXNUb0FTQ0lJU3RyaW5nKHVud3Jh
cHBlZEtleSkgaXMgcmF3S2V5QVNDSUkKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxl
L2Flcy1rdy1pbXBvcnQta2V5LXVud3JhcC1yYXcta2V5Lmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlw
dG8vc3VidGxlL2Flcy1rdy1pbXBvcnQta2V5LXVud3JhcC1yYXcta2V5Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNDZkMTc0MGNiODgxYmFmYjgzMjhlNzI5NTUyNjhjZmE1NTFhNTliZgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWt3LWltcG9ydC1rZXktdW53cmFw
LXJhdy1rZXkuaHRtbApAQCAtMCwwICsxLDM3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKworPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0IHVud3JhcHBpbmcgYSByYXcg
a2V5IHdpdGggQUVTLUtXIHVzaW5nIGFuIGltcG9ydGVkIGtleSIpOworCitqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKwordmFyIGV4dHJhY3RhYmxlID0gdHJ1ZTsKK3ZhciByYXdLZXlBU0NJSSA9ICJq
bk93OTlvT1pGTElFUE1yIjsKK3ZhciByYXdLZXkgPSBhc2NpaVRvVWludDhBcnJheShyYXdLZXlB
U0NJSSk7Cit2YXIgd3JhcHBlZEtleSA9IGhleFN0cmluZ1RvVWludDhBcnJheSgiZDY0Nzg3YWIz
ZTA0OGRiZGMzMGJiNjI3ODFjOWYxOGU1OGFkN2RiZmM2NGFhYjE2Iik7CisKK2NyeXB0by5zdWJ0
bGUuaW1wb3J0S2V5KCJyYXciLCByYXdLZXksICJhZXMta3ciLCBleHRyYWN0YWJsZSwgWyJ3cmFw
S2V5IiwgInVud3JhcEtleSJdKS50aGVuKGZ1bmN0aW9uKHVud3JhcHBpbmdLZXkpIHsKKyAgICBy
ZXR1cm4gY3J5cHRvLnN1YnRsZS51bndyYXBLZXkoInJhdyIsIHdyYXBwZWRLZXksIHVud3JhcHBp
bmdLZXksICJBRVMtS1ciLCAiQUVTLUNCQyIsIGV4dHJhY3RhYmxlLCBbImVuY3J5cHQiLCAiZGVj
cnlwdCJdKTsKK30pLnRoZW4oZnVuY3Rpb24oY3J5cHRvS2V5KSB7CisgICAgcmV0dXJuIGNyeXB0
by5zdWJ0bGUuZXhwb3J0S2V5KCJyYXciLCBjcnlwdG9LZXkpOworfSkudGhlbihmdW5jdGlvbihy
ZXN1bHQpIHsKKyAgICB1bndyYXBwZWRLZXkgPSByZXN1bHQ7CisKKyAgICBzaG91bGRCZSgiYnl0
ZXNUb0FTQ0lJU3RyaW5nKHVud3JhcHBlZEtleSkiLCAicmF3S2V5QVNDSUkiKTsKKworICAgIGZp
bmlzaEpTVGVzdCgpOworfSk7CisKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYS1vYWVwLWltcG9ydC1rZXktdW53
cmFwLWp3ay1vY3Qta2V5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUv
cnNhLW9hZXAtaW1wb3J0LWtleS11bndyYXAtandrLW9jdC1rZXktZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjVkZDY4OGEwNTQ4ZTRlMmQ0YzUyNmJlYjI2MTQxY2QxN2VmNmFjYmMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYS1vYWVwLWltcG9ydC1rZXkt
dW53cmFwLWp3ay1vY3Qta2V5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE0IEBACitUZXN0IHVu
d3JhcHBpbmcgYSBKV0sgb2N0IGtleSB3aXRoIFJTQS1PQUVQIHVzaW5nIGFuIGltcG9ydGVkIGtl
eQorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyB1bndyYXBwZWRLZXkua3R5
IGlzICdvY3QnCitQQVNTIEJhc2U2NFVSTC5wYXJzZSh1bndyYXBwZWRLZXkuaykgaXMgcmF3S2V5
CitQQVNTIHVud3JhcHBlZEtleS5hbGcgaXMgJ0ExMjhDQkMnCitQQVNTIHVud3JhcHBlZEtleS5r
ZXlfb3BzIGlzIFsnZGVjcnlwdCcsICdlbmNyeXB0J10KK1BBU1MgdW53cmFwcGVkS2V5LmV4dCBp
cyB0cnVlCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9yc2Etb2FlcC1pbXBvcnQt
a2V5LXVud3JhcC1qd2stb2N0LWtleS5odG1sIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9y
c2Etb2FlcC1pbXBvcnQta2V5LXVud3JhcC1qd2stb2N0LWtleS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjcx
ZWU1NzEwOWY1OGQwOGIwM2VkZTcxNjQ2ODZlMmJlZjcyNDE1NDAKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYS1vYWVwLWltcG9ydC1rZXktdW53cmFwLWp3
ay1vY3Qta2V5Lmh0bWwKQEAgLTAsMCArMSw1NSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisKKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdCB1bndyYXBwaW5nIGEgSldL
IG9jdCBrZXkgd2l0aCBSU0EtT0FFUCB1c2luZyBhbiBpbXBvcnRlZCBrZXkiKTsKKworanNUZXN0
SXNBc3luYyA9IHRydWU7CisKK3ZhciBleHRyYWN0YWJsZSA9IHRydWU7Cit2YXIgcmF3S2V5ID0g
YXNjaWlUb1VpbnQ4QXJyYXkoImpuT3c5OW9PWkZMSUVQTXIiKTsKK3ZhciBqd2tLZXkgPSB7Cisg
ICAga3R5OiAiUlNBIiwKKyAgICBhbGc6ICJSU0EtT0FFUCIsCisgICAgdXNlOiAiZW5jIiwKKyAg
ICBrZXlfb3BzOiBbInVud3JhcEtleSJdLAorICAgIGV4dDogdHJ1ZSwKKyAgICBuOiAibHhITjBO
OVZSWjBfcGwweHYzLU5YeDcwV25qa09EU2tRNUxqSFhURnkzRE9Rc3ZrYWdGekQ5SHFZUWV6Q21j
ZXdMamRLNVBMd1Nlc0RvTWRmTDZ0dXNCSGN2eWl0MWt2eWRZRlEzTkxiRU5Oa1lzaUJHNV9uVzRJ
UUdMNkpLYlo1aUdkVW9wOThRSEttNllaUjF1NHpyQXR4TTZiVkVvMDVWdmhqUlMwTTh5V29aVmkt
N1Zkc2MwTHFJMFFkcV9Ob2N0WDVGdS1BcWlCTjdVbzFIa1lHY1Ayb0M4MkpfSjVjanc5OEJRaVA1
a0RXVGhxOVJLLVg2Uy1FVUFMeF9tNGlHNmlPWUtUQTNTUXlmMXhCcUZhWFhvRUpqY2NrYk9xa2Vn
ZWN6NWItWVdVaDhpWlB2aHdudC1SWndwSWJMSmdLd3oxOW5ka245S3ZvRUV3N1liRW93IiwKKyAg
ICBlOiAiQVFBQiIsCisgICAgZDogImNqNURrRGFrak0yYktkdUdXSlJFTy1fenlFdHVBMWREOWRv
cUtNZDdJUnVBMENEUzdwdUVBUzIwLW9YUkR3Zm15TVhFZEVVRHJHR3RDeGg2ZnpEUHZzX1QtSkEz
R1VLNEVnSG8zeFpjcmxYRFhsS0NlaWw2Rm5yMGdJU1pPSWg1ZGtCcmNkVkw0cXVCSmU0WlpjNW1W
dUFDN0xkMTNldDBUeE1KNGlBTEdyUHVxUFZVT0dTWUljWjlpZHg1ektLQldoWTN0UGdnRWRLcG5I
Qm1QZlRSTzR5WmFmME53MVFYcmdTTVpZOWVqZXVhdXJBaDRROG80LTYtcjhPMkxVZTd1Zk1oX2Nj
S2tYSVNFaDRLZE9uVDE3RU05QlFUbjlVTlM5R29LMlpaVTBVM2lvNURTdV9rcGFzcjR1T1ZXY0ds
RTJ3Y3pPdjJua0d3RzM5RjNzRkYwUSIsCisgICAgcDogIng1dm5jbzVqLVRENmhUT3p5TjREaGta
NDRtMDVOeWN4VDZTVUUycVR1clQzLXV6ZV9MN1RZdXRMUklSa292Uk1oVEhaQXIycHppUmxhc0Vz
MTNQRXo5WnZ4MUlfVDY4c3Jzb25yZGJhay1TRk1lY003RWpIYzVDLUoxM2dYaHc5SElXMjhfU3g5
clEtSmtHd0V3RTlQRWRJVWZ1dmRxcGdoM1NtWHdQSnJFcyIsCisgICAgcTogIndiOXZsbGdfMm4t
a05nZTBiVGhnXzd4dTFVd1R6aXBNOHZ4U1Vra1YySWlwSktJQWVra1UzYUFCOExvUGhVSTAtMTdw
U0d3M0VUT08yN3QxNjNUSTlxSVBwekxiaFRIOWFVaTdxTEdiS2x6UGxnbnFQNDNaMExIeGMzeEtE
Z2l0LUFyMjlRTGFYMnVvSkJYNlZWV3ZobWg3QklQREhOVk01R1pqd1dPUllnayIsCisgICAgZHA6
ICJDMmM4c2E2d3gydWs1RGN2N2luQXljcjgzUEtnY2lZckN3Rzc4LUFDMElmR0l1LWxUWXNaU0cx
b3YyRlEzbjVXWU1XWVFDX1ZvNUV3dWdpUEp6X1Yzb25CbVFGNTNIT0ZlZmJTalh2WXdOb3RRY3lS
VUc1WDlxSXVPdEdDSDk0OUg0UUVENnZLX3UwTkgtSmd6TFVsYW13b0ZZYnJYendjaDZDQ1lLczJ1
a0UiLAorICAgIGRxOiAiaGJ0UmxvRExjbEh3VXFyMnl2ekRWMElGYm96WWp0RjcwNngtVmZYRWNu
WEI2bHMzNFRCWWlyRkxKWklIN0g5S2VzZUVWa3o3cFlfazU1NTVRbENWOWtiZWJ4WVhsOVJ0aWlK
LUJXNnlINGQ0Y2FQZVlJZlU5TXdlVVF4VlFXS1VVa1dmT0hjRHJDRnZLWmxSOVZ6emp0N0hLdEtY
OW1yMGJDS1FjSWY5YmFFIiwKKyAgICBxaTogImEtN2hVVFRuY2xVUEtPZlNnSDh6RUtHSi1BdmRG
RXp4dlo1c3E0NlFmMk1iT1J4VmpONGRKYW1Wdk0tRm9xY3dOLTljdVVseXI5YlNGVHdVQlc0dlhh
OFhqOWE4SmZWaXVNQ3F6Ui1tTDFyR0lVUTVBUkdoTmNTc1JseUtUcXo1QmxXbFZLbVhJeF9wLURl
VndQV2lKSnk0a19GcXlCeHJueGt6b21IZnJ4ayIsCit9OwordmFyIHdyYXBwZWRKd2tLZXkgPSBo
ZXhTdHJpbmdUb1VpbnQ4QXJyYXkoIjViZjhiOThhYzRmMDBjMDRmYmU4NTkwMDI5NmU0YjQxMWFj
ZWRlMzFjNTdkMTY4OWQ2YTk2Nzg5NjZiZjRlYjIwMTlkYTkyMWRlYjdhNDEwY2MwZWYxZWJlY2Zi
ZDJkYjYxMDUxNjhkMTMzYTVkYmViMjlmNjllZmM2MWI0ZDYzZDM3ZmViODQ2MGJiZDMxOTQ1OWIx
ODBmODY2MWQwMWQwODdhOTI5NDEzY2ZhNGZkOTRlMzU1MTM3ZmJiNTQ0MTM4MzdlNDdjNGUxMTRl
ODIzMzcyNjFhNWJiZmUyMDYzN2I2YjA4ZGM0OTc0ZWYxZmJlZmNhYWM1YTRmNDYzMDIxYjgxMGRk
ZjdjOWEyZGRlY2IxMTllODI2MDJkYzE0MTM1YTM3ODdlZDhhYjQwYWVkY2E3NDc1NWQzNTE4YjM1
ZGMzOGViZTg1ZGQxM2I1NTAwYmFlM2JkNWUyZjI1YjZkZmNmOGM5MjY1ZGRkMDQ3M2JmNGY2OWQz
ZDQwZjI0MDk0NjJkMzVhN2JlNzkwMjAyOWJkOGY3YzJlYTFkODc5YjA3ZWRhNTI2MzhlOTM3MjJj
ZWNlOTY1OGUxYWNkNjc2OGQ3OGQwMGIyMTQzNDk1NTU4NTM1MTE3NjI5MTk4NTRiNDk5MWZhMTEw
YTA4YjZlNmI5ZTZkOTM0ODRmMTQzIik7CisKK2NyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJqd2si
LCBqd2tLZXksIHtuYW1lOiAicnNhLW9hZXAiLCBoYXNoOiAic2hhLTEifSwgZXh0cmFjdGFibGUs
IFsidW53cmFwS2V5Il0pLnRoZW4oZnVuY3Rpb24odW53cmFwcGluZ0tleSkgeworICAgIHJldHVy
biBjcnlwdG8uc3VidGxlLnVud3JhcEtleSgiandrIiwgd3JhcHBlZEp3a0tleSwgdW53cmFwcGlu
Z0tleSwgInJzYS1vYWVwIiwgIkFFUy1DQkMiLCBleHRyYWN0YWJsZSwgWyJlbmNyeXB0IiwgImRl
Y3J5cHQiXSk7Cit9KS50aGVuKGZ1bmN0aW9uKGNyeXB0b0tleSkgeworICAgIHJldHVybiBjcnlw
dG8uc3VidGxlLmV4cG9ydEtleSgiandrIiwgY3J5cHRvS2V5KTsKK30pLnRoZW4oZnVuY3Rpb24o
cmVzdWx0KSB7CisgICAgdW53cmFwcGVkS2V5ID0gcmVzdWx0OworCisgICAgc2hvdWxkQmUoInVu
d3JhcHBlZEtleS5rdHkiLCAiJ29jdCciKTsKKyAgICBzaG91bGRCZSgiQmFzZTY0VVJMLnBhcnNl
KHVud3JhcHBlZEtleS5rKSIsICJyYXdLZXkiKTsKKyAgICBzaG91bGRCZSgidW53cmFwcGVkS2V5
LmFsZyIsICInQTEyOENCQyciKTsKKyAgICBzaG91bGRCZSgidW53cmFwcGVkS2V5LmtleV9vcHMi
LCAiWydkZWNyeXB0JywgJ2VuY3J5cHQnXSIpOworICAgIHNob3VsZEJlKCJ1bndyYXBwZWRLZXku
ZXh0IiwgInRydWUiKTsKKworICAgIGZpbmlzaEpTVGVzdCgpOworfSk7CisKKzwvc2NyaXB0Pgor
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxl
L3Vud3JhcEtleS1tYWxmb3JtZWQtcGFyYW1ldGVycy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9jcnlwdG8vc3VidGxlL3Vud3JhcEtleS1tYWxmb3JtZWQtcGFyYW1ldGVycy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2Y4ZWMxYjc4ZDQ5MGVmM2M3OTYyYmFlMGEwZGQzYzZhYWE2OWUyMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvdW53cmFwS2V5LW1h
bGZvcm1lZC1wYXJhbWV0ZXJzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIyIEBACitUZXN0IFVu
d3JhcEtleSBvcGVyYXRpb24gd2l0aCBtYWxmb3JtZWQgcGFyYW1ldGVycworCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKKworUEFTUyBjcnlwdG8uc3VidGxlLnVud3JhcEtleSgpIHJlamVj
dGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KK1BBU1Mg
Y3J5cHRvLnN1YnRsZS51bndyYXBLZXkoMSkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJy
b3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzLgorUEFTUyBjcnlwdG8uc3VidGxlLnVud3JhcEtleSgx
LCAyKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVu
dHMuCitQQVNTIGNyeXB0by5zdWJ0bGUudW53cmFwS2V5KDEsIDIsIDMpIHJlamVjdGVkIHByb21p
c2UgIHdpdGggVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KK1BBU1MgY3J5cHRvLnN1
YnRsZS51bndyYXBLZXkoMSwgMiwgMywgNCkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJy
b3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzLgorUEFTUyBjcnlwdG8uc3VidGxlLnVud3JhcEtleSgx
LCAyLCAzLCA0LCA1KSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogTm90IGVub3Vn
aCBhcmd1bWVudHMuCitQQVNTIGNyeXB0by5zdWJ0bGUudW53cmFwS2V5KDEsIDIsIDMsIDQsIDUs
IDYpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50
cy4KK1BBU1MgY3J5cHRvLnN1YnRsZS51bndyYXBLZXkoInJhdyIsIHdyYXBwZWRSYXdLZXksIHVu
d3JhcHBpbmdLZXksICJITUFDIiwgIkFFUy1DQkMiLCBleHRyYWN0YWJsZSwgWyJlbmNyeXB0Iiwg
ImRlY3J5cHQiXSkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBOb3RTdXBwb3J0ZWRFcnJvciAoRE9N
IEV4Y2VwdGlvbiA5KTogVGhlIG9wZXJhdGlvbiBpcyBub3Qgc3VwcG9ydGVkLi4KK1BBU1MgY3J5
cHRvLnN1YnRsZS51bndyYXBLZXkoInJhdyIsIHdyYXBwZWRSYXdLZXksIHVud3JhcHBpbmdLZXks
IGFlc0NiY1BhcmFtcywgIkFFUy1DQkMiLCBleHRyYWN0YWJsZSwgWyJlbmNyeXB0IiwgImRlY3J5
cHQiXSkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBJbnZhbGlkQWNjZXNzRXJyb3IgKERPTSBFeGNl
cHRpb24gMTUpOiBVbndyYXBwaW5nIENyeXB0b0tleSBkb2Vzbid0IG1hdGNoIHVud3JhcCBBbGdv
cml0aG1JZGVudGlmaWVyLgorUEFTUyBjcnlwdG8uc3VidGxlLnVud3JhcEtleSgiandrIiwgd3Jh
cHBlZFJhd0tleSwgdW53cmFwcGluZ0tleSwgIkFFUy1LVyIsICJBRVMtQ0JDIiwgZXh0cmFjdGFi
bGUsIFsiZW5jcnlwdCIsICJkZWNyeXB0Il0pIHJlamVjdGVkIHByb21pc2UgIHdpdGggRGF0YUVy
cm9yIChET00gRXhjZXB0aW9uIDMwKTogV3JhcHBlZEtleSBjYW5ub3QgYmUgY29udmVydGVkIHRv
IGEgSlNPTiBvYmplY3QuCitQQVNTIGNyeXB0by5zdWJ0bGUudW53cmFwS2V5KCJyYXciLCB3cmFw
cGVkUmF3S2V5LCB1bndyYXBwaW5nS2V5LCAiQUVTLUtXIiwgIkFFUy1DQkMiLCBleHRyYWN0YWJs
ZSwgWyBdKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFN5bnRheEVycm9yIChET00gRXhjZXB0aW9u
IDEyKTogQSByZXF1aXJlZCBwYXJhbWV0ZXIgd2FzIG1pc3Npbmcgb3Igb3V0LW9mLXJhbmdlLgor
UEFTUyBjcnlwdG8uc3VidGxlLnVud3JhcEtleSgiandrIiwgd3JhcHBlZEp3a0tleSwgdW53cmFw
cGluZ0tleSwgYWVzQ2JjUGFyYW1zLCB7bmFtZTogIlJTQS1PQUVQIiwgaGFzaDogIlNIQS0xIn0s
IGV4dHJhY3RhYmxlLCBbIF0pIHJlamVjdGVkIHByb21pc2UgIHdpdGggU3ludGF4RXJyb3IgKERP
TSBFeGNlcHRpb24gMTIpOiBBIHJlcXVpcmVkIHBhcmFtZXRlciB3YXMgbWlzc2luZyBvciBvdXQt
b2YtcmFuZ2UuCitQQVNTIGNyeXB0by5zdWJ0bGUudW53cmFwS2V5KCJyYXciLCB3cmFwcGVkUmF3
S2V5LCB1bndyYXBwaW5nS2V5LCAiQUVTLUtXIiwgIkFFUy1DQkMiLCBleHRyYWN0YWJsZSwgWyJl
bmNyeXB0IiwgImRlY3J5cHQiXSkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBJbnZhbGlkQWNjZXNz
RXJyb3IgKERPTSBFeGNlcHRpb24gMTUpOiBVbndyYXBwaW5nIENyeXB0b0tleSBkb2Vzbid0IHN1
cHBvcnQgdW53cmFwS2V5IG9wZXJhdGlvbi4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3Vi
dGxlL3Vud3JhcEtleS1tYWxmb3JtZWQtcGFyYW1ldGVycy5odG1sIGIvTGF5b3V0VGVzdHMvY3J5
cHRvL3N1YnRsZS91bndyYXBLZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li42MTcwMzQ4NjU5ODIyMDViNjE3MzhkNmQzYmJjMGQ5NGJkNjk1Yzk3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS91bndyYXBLZXktbWFsZm9ybWVkLXBhcmFt
ZXRlcnMuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKworPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0IFVud3JhcEtleSBvcGVyYXRpb24g
d2l0aCBtYWxmb3JtZWQgcGFyYW1ldGVycyIpOworCitqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwor
dmFyIGV4dHJhY3RhYmxlID0gdHJ1ZTsKK3ZhciByYXdLZXkgPSBhc2NpaVRvVWludDhBcnJheSgi
am5Pdzk5b09aRkxJRVBNciIpOwordmFyIGFlc0NiY1BhcmFtcyA9IHsKKyAgICBuYW1lOiAiYWVz
LWNiYyIsCisgICAgaXY6IGFzY2lpVG9VaW50OEFycmF5KCJqbk93OTlvT1pGTElFUE1yIiksCit9
Cit2YXIgd3JhcHBlZFJhd0tleSA9IGhleFN0cmluZ1RvVWludDhBcnJheSgiZDY0Nzg3YWIzZTA0
OGRiZGMzMGJiNjI3ODFjOWYxOGU1OGFkN2RiZmM2NGFhYjE2Iik7Cit2YXIgd3JhcHBlZEp3a0tl
eSA9IGhleFN0cmluZ1RvVWludDhBcnJheSggIjg0OGFhMmY3MGVlMThlMjk1MzUyMDEzMmE3OWNm
NDc5YjAzYTg3MzJhM2NjNzNmOGM1MWM2ODQ1NmQzYzI1NTdlOGJlOWQ1OTExYjJhNzQyNjdlMjgy
YTg3ZmZlZWQ4OGRmYmFjMzhhMjJjMjZiYTYyMWY4MzkxNWQ3NTM5NDIwYTRkYzBiMjMyOWM1ODVi
NDQyOTY3MzY3YzFlYTZjMTEyNmY5OGM0ZjEzYjdjOGNiNzQwMmI4NmE1ODQ0YzE5NDIwZWEzMzNk
YzMzZDkwOGJlODkxNzJmOGJhYzU5YjQwM2ZlMjAyZjMyYzhlZWQxOWY0MzFjZWRmYzMzODNmNTM2
ZjM1NTcxNjNiMTMxMWFlNDJlZTU0ODZjNmRhZmVlOTY4NjQwZDZiNjk5OWM2ODdmMzdmYmE4ZDY1
Y2M2NjJmMWM4NGYxNjI0NTY2NWU0YWY0MWM5OGU4YjYzNjMyY2MxZDE5ZTJiZWNlMjE1NGM3ZWFi
MTkwNWYzZjZhYjE3YjQ5NWNlZmVjMzUwOGU5YjQ1MWYyZWExNDIyYjk3ZjI3NWRmZGMxMThmNDZh
ZjAyMDQwMjUwZDBlNTVkOGQ4ZDE3MmI5NjliYmNmNzMxNGEyNTdmMTBiOThkMmM0N2M2YzcyYTcy
N2FjYWY0Yzk2MzQwZDU5MGViY2ViYzYxZjczYjdhODY4YjQ5MGYzYzFlMTdjNTllYTQ3OWEzYjhk
YjU1NzQxNTNkZTQ2Y2ZkYmIwN2NmYzVlOTVlYmNmN2FkM2Q1ZmEwNTdiYTk0NmQ2ZGE4NzJjNGJl
ZjNhZjZkNzAxM2UyMjJjMjI3NjUwZDAwMjJjOTRkMzA2Y2IxNGUyMDNhYWQzNzhkMTcxYzdjMjRm
ODI0YzMxYjgxZmQxODI2NWUwZGUyZjRiNDE1NTg0ZWJjNGFkZWI1ODgwYzRlZGRiYzg4Yjg1NDY5
OWY3YWE3NGQ2YTEwY2E1ZGY4OTc4ZjI3YjVkMTM3MmIzMWVhNjdhOWM0ODQxYWUxMDFlYTZhZDc4
ZGYwNTgwYjcwMzU4ZTY5MzNhYzkyZjdmYWVlNTMyMGFmMzI5ZDgzNDlhN2I5ODY5MDcwOGEzODg3
Mzc2MDRiZTBhZmZhYTA2Njk0MTBkOGQ5M2RjNGU0ZjU3ZTE0NTgzMjUzZjExZTViMjdjODliODRm
MWYzMDM4YmFlNmQ5YjM3ZTNlYjY0YjYzYWQxODgwNjI3YWVmM2IxOWUzZTg1MWNmYWU2MzllYzQ2
ZGQwNmZkMTMxYjUxZjUzMGIzNzI2MGI4MzZkOTAxM2Q4YWQ3Yzg2NDAwOTYwNzBmOTY5ODRjNTI4
ZWU1ZTIwYjY5ZjNjZDk4YTI2OTYyMWNkODg2Y2NiMTZkOWM1MjZhODdjZDVjNDU4NTQxMzA5YmI3
ZmE0ZjMzMzczMDVkNzZmYzA1MGQzOWNhOGIxZmRiMDY3NWExMWE0MGZmZGU5Y2ViYjMzZGRjNDg1
ZTVkYzVlNzY2N2IwOGMyYTNlMDEzNmQwNjNhNDQ3YWVlNWE4ZjY1MDQyOWM1ZTQyMmE3MDZjNGMy
NDBhNGQxMWY0YTliNTc4MmYyY2JhMjU3NWYwYzMyY2I0NzdhOWYwY2VmOTdmYTk5Mzk3NzEwNDE4
MTMxNWZmOTBlNDZmM2IxMmI4YjAwZjRhNzYxMWM0MmIxYmI1M2QwZTYwMjFhYjIxZWU4YWU2MDZk
OWYwNmRmZWRiODkxNzYzMDA3ZTAyMDk3N2MyOGI0NmQ1ZjMzYmMzNWMxMjA2MWQ5MGViYmUwMmNh
YjU4NzgzYzBjYWMwYzZmMTRlZDczNTIwNGYyM2QwZWI2YTlmZTllZGVhMmFlY2IxYWMyMTNmNThi
NDJkNWQ5NjM3NGVjNzBjYTI4OGEzMTAxNmJhMDJhZGVmNDMyNTBkNzE3ZTlmYWI4OTgyYTFhMTgw
YjFmMzk0NGQ0NTBjMTU5MDEwZmQyM2YzNTRkODg1MDJlYzcwMjg4MmFlM2VkZDU2N2M2YTZlZGYz
Y2IyZTM0ZWRjMTNmNDEwYTI1ZDk3Mjk4YWI5MDYyZGRiNTY2NTc2ZmE4YjY1OTliYmEyMDViYWI1
NWFhNWYzZjM3ZWRhZjc3MzNjZjI0OWU2OWM3NGRhOTc1ZWYyNDljYTY3M2RhNzQ5ZDg2YmFiZWJk
ZjU1NDEwYTM4OTcyMGFjOTQzZjFlOWQ5MjFmNWQ2OWM1Nzg5NjM2Y2I5MDRmYjkyNjM3NDQyMzZl
YWRlOWFjYWU4ODlhMDFjMjM3YWIzNDM2MTAxNDYzZGZhOWQ5MmY5MzZjMWI2NTJjODBmM2FiYmE3
NjAyM2ViZTViOWJmZGQ1NDczNWUzYTM0OTRkZTE4YTQ1Njk2N2Y1ODc1OGU1NDYwMjFmZWVmM2Zh
M2U2YzIzOTk4MWFhMDZmMWY3ZGRjNDE1ZDk1N2ZmOTkxOWJiZWM1ZjM2YWYwOTJhODFiYTZjMTRm
ZTY0NGQyZWU5OGEyZmNkZWUyZWQ3MGI4N2E1M2ZmYTMyN2IyNWI0NTY5YzU4ODZiMTVmMmJkNTgz
ZDZmNWJkN2U5NTFhOTE1MTQyYmFhMDhjNmE5YzM0M2MyMDA2NzhhMDA1ZmFkMjJhMzM3ZDJjNTYy
N2Y4YzgxNmRiMjUyNWE3ZTEyMTg0OWI5ZGE3NTZlZWU2OGEyNDA0NTI4NDlmZmRiOTY1MWY5OTgy
NTdjNjJlOGZkY2RjNDhkYWRmYzNlYmIxOGY3ZWI1NDYxNDQyMDA4ODQ2YTYyOWVjODE0OWMwNTJm
MzU3YmY1ODg5MDk1MDQ3YjI3MmJjZTBmZjUwNTk1M2U3Y2Q1MjViMjRjODM4YmE2ZTllZDkxOTIy
YTMwZWViODU4ZGU4NTU2ZjE5Zjc2MWQwMjg3ZDc2ODg3NjM0NmE1ZGNhYzNkYmFkZDdhMzAwNzJj
OTMzODE2MmJlNTgxMjE2NmQ5NjFmNDAzMWY5NjJlZjY2ODc4MWQzOWQwZmM2OWZlNWY0NDk0ZTMx
ZWMwODJkNGEwMTQwZTM2OGI2OTk3NWJlZWJhMTIwZWY5YjY1MWVhZDUzMWI0ZDQ0Mjk2YmQzY2Zl
MmNlN2Y5N2JiNWJiNDkyMTA2MWIxMmMyZTFjNGMxMDkyOGMwOTgwZmY4ZDQ4OGEyMjgyZDBjMDU2
YTQwMjYwMTY3NDEwZTM5NjY0Zjc1ZmYxZjEyNDk4MjBlMTc0ZWVkOTc4MzE4YTA1ZTY1NGI4YWE2
YzYwYjcwMDAxYTdhMDRmMGFmZjE3NTk3ZGQ5YWIzY2NjMzRmNWJhMmUzNTJiNzI0NGRkM2RjY2I0
NjJkNzE3NWI5NWFlMzk3MGVjNTg1OGUyMzEyYWFjN2MyYzc5YTM3YjUzZDA4OWY5ODg3MjBhNGMw
NGRmNjMyOGEzODQwMDRkMGQ1MWVhZmI5NDg2NjIzMDk5YTk4ZTY5YmU1MTY5MjAxYzg4ODI0YWNj
MmJiMGUxNzkwODg5MDE0YTE3OTdjMTY4ZTk4ZDE5ZjA3ODdjMjkzNWNmYmMzYmYyNGM0YWRhZDY5
YTgxZTBlNmFkZjhjMjFlM2M0Nzg5MDY0YWEzMWEwMjVkZmY1Y2M2ZWFiYTNmM2U0M2YxMGE5ZDUz
MWY0Nzk2MzM3MjEyMGUyMzY2Yjg0YzI4MWVkOTY4ZDlkMTFjMWQxMDM4MjZjOTM2Mjc0MWUxMjY3
ZDFhM2U4ZDIxODg3NjFmYTg3NmI3YjA5NjE3ZGYxNDEzMGMwNzIwOWYxZjExODhmZjQwOTcxYjg2
NjA3ZGVlMTRkNTU2YTg4MDQ0NzkwMWM2OWQyOWNiMTZjMDI3YzNhYWUzMTZmZjAwMTMyYmRmY2Qw
ZTM5YzVlMjAxMjUyYzk3NzE0ODNjY2IyNzViMGM2N2IzY2I0ZGNkMTkxOThjNzcxODYzNDQ2MDI1
NGRmZDZmOGRmNDM3NGI4YmVkZWU3ZGQyMGNlNDExYjVmOTg3Y2FjMmNlMTc0OTJhYTc4ZjkxOWM2
ZDVlNTU1MDAwZjQ3ZjdiOGE5ODk2ZDQ0OGJjNGZjMTNlNDBhOWU1YzAyMjU4ZDUwOWE3Mjg5ZjQ0
ZDcyNTBlODkyNjAyMzNiZjk2NzAyYmIzZDM1MDQ1MWYwM2Q4MDJlMGUzN2Q5ZjAxY2NlNGM3ODg2
OTQwMzQ5M2ViOTg5MGMyYzA5MTA5ZDFmNDI3ZjU5Y2YwOTFjZDFjODM2ZTI1YTliYjA2NTA0MTQw
N2MyMTgzZjY0M2JjZTJlNzJkYjFlN2NhZWFjNDJlMmQ4Mzc5ZjhiODRkZjJjYzdiMWQwNTVmNDJk
NmY2MmUwY2I1NzcxYTE0YWU4ODcyNzkyMzUwZTVmNzcwMTE1YTg2NTY0ZjYwYTc4NWM1MzMyNWM4
YzA4NGFmZTIxNGRhM2NhYzE3ODNlMmJlOTA5OWQ5NmRkYmU5Y2MzZWEzZGQxZDNhZTUwNTI2YjRh
ZmUyNDM5NzQyMGEzZTRmYTY5NzYxMzQyMSIpOworCisvLyBOb3QgZW5vdWdoIGFyZ3VtZW50cy4K
K3Nob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS51bndyYXBLZXkoKScpOworc2hvdWxkUmVqZWN0
KCdjcnlwdG8uc3VidGxlLnVud3JhcEtleSgxKScpOworc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3Vi
dGxlLnVud3JhcEtleSgxLCAyKScpOworc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLnVud3Jh
cEtleSgxLCAyLCAzKScpOworc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLnVud3JhcEtleSgx
LCAyLCAzLCA0KScpOworc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLnVud3JhcEtleSgxLCAy
LCAzLCA0LCA1KScpOworc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLnVud3JhcEtleSgxLCAy
LCAzLCA0LCA1LCA2KScpOworCitjcnlwdG8uc3VidGxlLmltcG9ydEtleSgicmF3IiwgcmF3S2V5
LCAiYWVzLWt3IiwgZXh0cmFjdGFibGUsIFsid3JhcEtleSIsICJ1bndyYXBLZXkiXSkudGhlbihm
dW5jdGlvbihyZXN1bHQpIHsKKyAgICB1bndyYXBwaW5nS2V5ID0gcmVzdWx0OworCisgICAgLy8g
V3JvbmcgQWxnb3JpdGhtSWRlbnRpZmllcgorICAgIHNob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRs
ZS51bndyYXBLZXkoInJhdyIsIHdyYXBwZWRSYXdLZXksIHVud3JhcHBpbmdLZXksICJITUFDIiwg
IkFFUy1DQkMiLCBleHRyYWN0YWJsZSwgWyJlbmNyeXB0IiwgImRlY3J5cHQiXSknKTsKKyAgICBz
aG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUudW53cmFwS2V5KCJyYXciLCB3cmFwcGVkUmF3S2V5
LCB1bndyYXBwaW5nS2V5LCBhZXNDYmNQYXJhbXMsICJBRVMtQ0JDIiwgZXh0cmFjdGFibGUsIFsi
ZW5jcnlwdCIsICJkZWNyeXB0Il0pJyk7CisgICAgLy8gV3JvbmcgZm9ybWF0CisgICAgcmV0dXJu
IHNob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS51bndyYXBLZXkoImp3ayIsIHdyYXBwZWRSYXdL
ZXksIHVud3JhcHBpbmdLZXksICJBRVMtS1ciLCAiQUVTLUNCQyIsIGV4dHJhY3RhYmxlLCBbImVu
Y3J5cHQiLCAiZGVjcnlwdCJdKScpOworfSkudGhlbihmdW5jdGlvbigpIHsKKyAgICAvLyBFbXB0
eSB1c2FnZXMKKyAgICByZXR1cm4gc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLnVud3JhcEtl
eSgicmF3Iiwgd3JhcHBlZFJhd0tleSwgdW53cmFwcGluZ0tleSwgIkFFUy1LVyIsICJBRVMtQ0JD
IiwgZXh0cmFjdGFibGUsIFsgXSknKTsKK30pLnRoZW4oZnVuY3Rpb24oKSB7CisgICAgcmV0dXJu
IGNyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJyYXciLCByYXdLZXksICJhZXMtY2JjIiwgZXh0cmFj
dGFibGUsIFsid3JhcEtleSIsICJ1bndyYXBLZXkiXSk7Cit9KS50aGVuKGZ1bmN0aW9uKHJlc3Vs
dCkgeworICAgIHVud3JhcHBpbmdLZXkgPSByZXN1bHQ7CisKKyAgICAvLyBFbXB0eSB1c2FnZXMK
KyAgICByZXR1cm4gc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLnVud3JhcEtleSgiandrIiwg
d3JhcHBlZEp3a0tleSwgdW53cmFwcGluZ0tleSwgYWVzQ2JjUGFyYW1zLCB7bmFtZTogIlJTQS1P
QUVQIiwgaGFzaDogIlNIQS0xIn0sIGV4dHJhY3RhYmxlLCBbIF0pJyk7Cit9KS50aGVuKGZ1bmN0
aW9uKCkgeworICAgIHJldHVybiBjcnlwdG8uc3VidGxlLmltcG9ydEtleSgicmF3IiwgcmF3S2V5
LCAiYWVzLWt3IiwgZXh0cmFjdGFibGUsIFsid3JhcEtleSJdKTsKK30pLnRoZW4oZnVuY3Rpb24o
cmVzdWx0KSB7CisgICAgdW53cmFwcGluZ0tleSA9IHJlc3VsdDsKKworICAgIC8vIFdyb25nIHVz
YWdlCisgICAgc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLnVud3JhcEtleSgicmF3Iiwgd3Jh
cHBlZFJhd0tleSwgdW53cmFwcGluZ0tleSwgIkFFUy1LVyIsICJBRVMtQ0JDIiwgZXh0cmFjdGFi
bGUsIFsiZW5jcnlwdCIsICJkZWNyeXB0Il0pJykudGhlbihmaW5pc2hKU1Rlc3QpOworfSk7CisK
Kzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9j
cnlwdG8vd29ya2Vycy9zdWJ0bGUvYWVzLWNiYy1pbXBvcnQta2V5LXVud3JhcC1rZXktZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL2Flcy1jYmMtaW1wb3J0
LWtleS11bndyYXAta2V5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43M2QxOTMzYTg3YmQ2NzY1
MjgwMmYwMjg4YzY5ZTVhZjRlZGVkMjI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
Y3J5cHRvL3dvcmtlcnMvc3VidGxlL2Flcy1jYmMtaW1wb3J0LWtleS11bndyYXAta2V5LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDE2IEBACitbV29ya2VyXSBUZXN0IHVud3JhcHBpbmcgYSBKV0sg
UlNBIHB1YmxpYyBrZXkgd2l0aCBBRVMtQ0JDIHVzaW5nIGFuIGltcG9ydGVkIGtleSBpbiB3b3Jr
ZXJzCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitTdGFydGluZyB3b3JrZXI6IHJl
c291cmNlcy9hZXMtY2JjLWltcG9ydC1rZXktdW53cmFwLWtleS5qcworUEFTUyBbV29ya2VyXSB1
bndyYXBwZWRLZXkua3R5IGlzIGp3a0tleS5rdHkKK1BBU1MgW1dvcmtlcl0gdW53cmFwcGVkS2V5
LmFsZyBpcyBqd2tLZXkuYWxnCitQQVNTIFtXb3JrZXJdIHVud3JhcHBlZEtleS5rZXlfb3BzIGlz
IGp3a0tleS5rZXlfb3BzCitQQVNTIFtXb3JrZXJdIHVud3JhcHBlZEtleS5leHQgaXMgandrS2V5
LmV4dAorUEFTUyBbV29ya2VyXSB1bndyYXBwZWRLZXkubiBpcyBqd2tLZXkubgorUEFTUyBbV29y
a2VyXSB1bndyYXBwZWRLZXkuZSBpcyBqd2tLZXkuZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0
by93b3JrZXJzL3N1YnRsZS9hZXMtY2JjLWltcG9ydC1rZXktdW53cmFwLWtleS5odG1sIGIvTGF5
b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL2Flcy1jYmMtaW1wb3J0LWtleS11bndyYXAt
a2V5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMzQ4MGViZjNlMWIwOWYxNTA4ZjIxOTdhYTdlODcyNTJiMjcz
ODU5OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRs
ZS9hZXMtY2JjLWltcG9ydC1rZXktdW53cmFwLWtleS5odG1sCkBAIC0wLDAgKzEsMTIgQEAKKzwh
RE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorICAg
IDxzY3JpcHQ+CisgICAgICAgIHdvcmtlciA9IHN0YXJ0V29ya2VyKCdyZXNvdXJjZXMvYWVzLWNi
Yy1pbXBvcnQta2V5LXVud3JhcC1rZXkuanMnKTsKKyAgICA8L3NjcmlwdD4KKyAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0
bGUvYWVzLWt3LWltcG9ydC1rZXktdW53cmFwLWtleS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUvYWVzLWt3LWltcG9ydC1rZXktdW53cmFwLWtleS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZWE3ZDg2MzVkYjEzYmI2MmRhOWZhMGY5ZDAzZmUxN2M0ZDc2
OTNjZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRs
ZS9hZXMta3ctaW1wb3J0LWtleS11bndyYXAta2V5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEx
IEBACitbV29ya2VyXSBUZXN0IHVud3JhcHBpbmcgYSByYXcga2V5IHdpdGggQUVTLUtXIHVzaW5n
IGFuIGltcG9ydGVkIGtleSBpbiB3b3JrZXJzCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworCitTdGFydGluZyB3b3JrZXI6IHJlc291cmNlcy9hZXMta3ctaW1wb3J0LWtleS11bndyYXAt
a2V5LmpzCitQQVNTIFtXb3JrZXJdIGJ5dGVzVG9BU0NJSVN0cmluZyh1bndyYXBwZWRLZXkpIGlz
IHJhd0tleUFTQ0lJCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL2Fl
cy1rdy1pbXBvcnQta2V5LXVud3JhcC1rZXkuaHRtbCBiL0xheW91dFRlc3RzL2NyeXB0by93b3Jr
ZXJzL3N1YnRsZS9hZXMta3ctaW1wb3J0LWtleS11bndyYXAta2V5Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MzgzNDFkZWM2NmE3OTllMmE2MDc1MDNkYWMxZGE3NTZlMmE4NzQwNgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9hZXMta3ctaW1wb3J0LWtleS11
bndyYXAta2V5Lmh0bWwKQEAgLTAsMCArMSwxMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxoZWFkPgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisgICAgPHNjcmlwdD4KKyAgICAgICAgd29y
a2VyID0gc3RhcnRXb3JrZXIoJ3Jlc291cmNlcy9hZXMta3ctaW1wb3J0LWtleS11bndyYXAta2V5
LmpzJyk7CisgICAgPC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL3Jlc291cmNlcy9hZXMtY2JjLWlt
cG9ydC1rZXktdW53cmFwLWtleS5qcyBiL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRs
ZS9yZXNvdXJjZXMvYWVzLWNiYy1pbXBvcnQta2V5LXVud3JhcC1rZXkuanMKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
OGIyZWQ0OTMxM2RkZDE5MWZjYjZkZDM3MjJhYWFiY2UwZTU2NDViMgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9yZXNvdXJjZXMvYWVzLWNiYy1p
bXBvcnQta2V5LXVud3JhcC1rZXkuanMKQEAgLTAsMCArMSw0MSBAQAoraW1wb3J0U2NyaXB0cygn
Li4vLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzJyk7CitpbXBvcnRTY3JpcHRzKCcu
Li8uLi8uLi9yZXNvdXJjZXMvY29tbW9uLmpzJyk7CisKK2Rlc2NyaXB0aW9uKCJUZXN0IHVud3Jh
cHBpbmcgYSBKV0sgUlNBIHB1YmxpYyBrZXkgd2l0aCBBRVMtQ0JDIHVzaW5nIGFuIGltcG9ydGVk
IGtleSBpbiB3b3JrZXJzIik7CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIgZXh0cmFj
dGFibGUgPSB0cnVlOwordmFyIGp3a0tleSA9IHsKKyAgICBrdHk6ICJSU0EiLAorICAgIGFsZzog
IlJTQS1PQUVQIiwKKyAgICB1c2U6ICJlbmMiLAorICAgIGtleV9vcHM6IFsiZW5jcnlwdCJdLAor
ICAgIGV4dDogdHJ1ZSwKKyAgICBuOiAicmNDVUN2N09jMUhWYW0xREloQ3pxa25UaFdhd09wOFFM
azhaaXkycDEwQnlqUUZDYWpvRml5dUFXbC1SMVdYWmFmNHhpdExScmFjVDlhZ3B6SXpjLU1iTFNI
SUdnV1FHTzIxbEdpSW15NWZ0Wi1EOGJIQXFSejJ5MTVwekQ0YzRDRW91N1hTU0xEb1JuUjBRRzVN
c0RoRDZzMmdWOW13SGtydGtDeHRNV2RCaS03N2FzOHdHbWxOUmxkY09TZ1pETEs4VW5DU2dBMU9n
dVo5ODliRnljOHRPT0VJYjB4VVNmUFN6M0xQU0NueVl6NjhhRGptS1ZlTkgtaWc4NTdPU2N5V2JH
eUV5M0JpdzY0cXVuM2p1VWxOV3NKM3puZ2tPZHRlWVd5dHg1UXI0WEtOczZSLU15eXE3MktVcDAy
bUpEWmlpeWlnbHhNTF9pMy1fQ2VlY0N3IiwKKyAgICBlOiAiQVFBQiIKK307Cit2YXIgcmF3S2V5
ID0gYXNjaWlUb1VpbnQ4QXJyYXkoImpuT3c5OW9PWkZMSUVQTXIiKTsKK3ZhciBhZXNDYmNQYXJh
bXMgPSB7CisgICAgbmFtZTogImFlcy1jYmMiLAorICAgIGl2OiBhc2NpaVRvVWludDhBcnJheSgi
am5Pdzk5b09aRkxJRVBNciIpLAorfQordmFyIHdyYXBwZWRLZXkgPSBoZXhTdHJpbmdUb1VpbnQ4
QXJyYXkoICI4NDhhYTJmNzBlZTE4ZTI5NTM1MjAxMzJhNzljZjQ3OTQ2ZTAwYzk5MzYyMzQwYmI2
OTBlZGM5YWI1MzE1NzU3NDYyYzEyODI3OGM2MjMyZTc3MGU3NDM3YzU2ZWQ3MjJhOGUxNzAzODU1
ZjdmM2U1NjUzOTRlMWE2YTAzMDVjNGVmMWIzMGZhNGM3ZjcyZDFhMjM5Y2M2YzZiYTA2Nzg5ODc5
OGEzNmE3NTEzMmM2NmI0YTJkM2ZiOTQyODg2YWZmZDNlYTNiMjc1NmIwZGRjODg2YzAxZTNiOTMx
MDc0NjliODIxMjQ0Njg0MDhlZjhhYjU0OGI4NWFhOGYyMDZjMzEyZDc0Y2U0ZjJjNjc5ZWIxNDdh
Mjc1Y2VmZGE2NGQ1YmRjNGEyYjViOTBhNGFjOWFkM2ViNWYyY2YxOWY1Zjg3NjUzMjExZjU5YjQ3
MzFiYTYxMTI1NTgyYTIzMzk1MTA5N2RlYTY1ZGIwNTg5OWQ1ODdkMWRjZmNjYWI5YWI3NDEwYWIz
MDEwYjg5MDY2NTA2ZGJhY2JjNmI3M2U0YjU2NDc5Mjc1MTM4OGZhMGY1OGQ1NWM1OWMxNGEwOGM5
ZGZiMGY3ODEwMGIwZjVjYzI5ZDYyMzI4ODIyNjM2ZDMwYTZhMTUzZWM1Y2Q0NzI3YWQ1ZTQ3YjQx
OWM0ODU0NDU2NTYzN2FjNTc4OTg2M2Q0M2I3ZGE3OGNmNDM4M2QwOWQ2NmU5ZDQ1OGU0MzZkYmZi
ZWU3NWUzODJiMmJhYjQ5ZWVjMmM3NDkxZmY5M2NmMDk5ZmU5MmZlYWY0NjU4ZTMwODg5ZmQxMmQz
YWU2MWNkNWU4YzhlMWU1NmEwNzliNjYyZjkwY2QxMGNkYmRiYjRkMTJlZWZiMzZkODI1ZTFhMDQz
ZTgyZjVhOThmODk2MGQ2NTVkM2Y5ZWQ1YWYzMWU1ODFmYTg0NmNjNTgyZjZjZWU1YzI1ZTBiM2Mz
MjA1MDUzNGFlOTU3Y2UyNzg2MGQ0NzBiYTI2ZGEyYzdkNmZhNjIxYjBmYWE4YmVjYWQ1OGU5ZTU1
YmIyYTlkOTg0YjA0MmYyNWRmMjE0ODI1Mjk4NzBkMjcxY2JmNTUwOGEwZWRmYzNjYjM3MzE2YzEx
ZjE2YjM0MmJjMWYxZjk4YWEiKTsKKworCitjcnlwdG8uc3VidGxlLmltcG9ydEtleSgicmF3Iiwg
cmF3S2V5LCAiYWVzLWNiYyIsIGV4dHJhY3RhYmxlLCBbInVud3JhcEtleSJdKS50aGVuKGZ1bmN0
aW9uKHVud3JhcHBpbmdLZXkpIHsKKyAgICByZXR1cm4gY3J5cHRvLnN1YnRsZS51bndyYXBLZXko
Imp3ayIsIHdyYXBwZWRLZXksIHVud3JhcHBpbmdLZXksIGFlc0NiY1BhcmFtcywge25hbWU6ICJy
c2Etb2FlcCIsIGhhc2g6ICJzaGEtMSJ9LCBleHRyYWN0YWJsZSwgWyJlbmNyeXB0Il0pOworfSku
dGhlbihmdW5jdGlvbihjcnlwdG9LZXkpIHsKKyAgICByZXR1cm4gY3J5cHRvLnN1YnRsZS5leHBv
cnRLZXkoImp3ayIsIGNyeXB0b0tleSk7Cit9KS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAg
IHVud3JhcHBlZEtleSA9IHJlc3VsdDsKKworICAgIHNob3VsZEJlKCJ1bndyYXBwZWRLZXkua3R5
IiwgImp3a0tleS5rdHkiKTsKKyAgICBzaG91bGRCZSgidW53cmFwcGVkS2V5LmFsZyIsICJqd2tL
ZXkuYWxnIik7CisgICAgc2hvdWxkQmUoInVud3JhcHBlZEtleS5rZXlfb3BzIiwgImp3a0tleS5r
ZXlfb3BzIik7CisgICAgc2hvdWxkQmUoInVud3JhcHBlZEtleS5leHQiLCAiandrS2V5LmV4dCIp
OworICAgIHNob3VsZEJlKCJ1bndyYXBwZWRLZXkubiIsICJqd2tLZXkubiIpOworICAgIHNob3Vs
ZEJlKCJ1bndyYXBwZWRLZXkuZSIsICJqd2tLZXkuZSIpOworCisgICAgZmluaXNoSlNUZXN0KCk7
Cit9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9yZXNv
dXJjZXMvYWVzLWt3LWltcG9ydC1rZXktdW53cmFwLWtleS5qcyBiL0xheW91dFRlc3RzL2NyeXB0
by93b3JrZXJzL3N1YnRsZS9yZXNvdXJjZXMvYWVzLWt3LWltcG9ydC1rZXktdW53cmFwLWtleS5q
cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi42MWFhOWYyYmYwYmFiYTQ2MDAwNjAyNjhlOTY5N2NjMzA4ODMwODBiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL3Jlc291
cmNlcy9hZXMta3ctaW1wb3J0LWtleS11bndyYXAta2V5LmpzCkBAIC0wLDAgKzEsMjMgQEAKK2lt
cG9ydFNjcmlwdHMoJy4uLy4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcycpOworaW1w
b3J0U2NyaXB0cygnLi4vLi4vLi4vcmVzb3VyY2VzL2NvbW1vbi5qcycpOworCitkZXNjcmlwdGlv
bigiVGVzdCB1bndyYXBwaW5nIGEgcmF3IGtleSB3aXRoIEFFUy1LVyB1c2luZyBhbiBpbXBvcnRl
ZCBrZXkgaW4gd29ya2VycyIpOworCitqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwordmFyIGV4dHJh
Y3RhYmxlID0gdHJ1ZTsKK3ZhciByYXdLZXlBU0NJSSA9ICJqbk93OTlvT1pGTElFUE1yIjsKK3Zh
ciByYXdLZXkgPSBhc2NpaVRvVWludDhBcnJheShyYXdLZXlBU0NJSSk7Cit2YXIgd3JhcHBlZEtl
eSA9IGhleFN0cmluZ1RvVWludDhBcnJheSgiZDY0Nzg3YWIzZTA0OGRiZGMzMGJiNjI3ODFjOWYx
OGU1OGFkN2RiZmM2NGFhYjE2Iik7CisKK2NyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJyYXciLCBy
YXdLZXksICJhZXMta3ciLCBleHRyYWN0YWJsZSwgWyJ3cmFwS2V5IiwgInVud3JhcEtleSJdKS50
aGVuKGZ1bmN0aW9uKHVud3JhcHBpbmdLZXkpIHsKKyAgICByZXR1cm4gY3J5cHRvLnN1YnRsZS51
bndyYXBLZXkoInJhdyIsIHdyYXBwZWRLZXksIHVud3JhcHBpbmdLZXksICJBRVMtS1ciLCAiQUVT
LUNCQyIsIGV4dHJhY3RhYmxlLCBbImVuY3J5cHQiLCAiZGVjcnlwdCJdKTsKK30pLnRoZW4oZnVu
Y3Rpb24oY3J5cHRvS2V5KSB7CisgICAgcmV0dXJuIGNyeXB0by5zdWJ0bGUuZXhwb3J0S2V5KCJy
YXciLCBjcnlwdG9LZXkpOworfSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICB1bndyYXBw
ZWRLZXkgPSByZXN1bHQ7CisKKyAgICBzaG91bGRCZSgiYnl0ZXNUb0FTQ0lJU3RyaW5nKHVud3Jh
cHBlZEtleSkiLCAicmF3S2V5QVNDSUkiKTsKKworICAgIGZpbmlzaEpTVGVzdCgpOworfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUvcmVzb3VyY2VzL3Jz
YS1vYWVwLWltcG9ydC1rZXktdW53cmFwLWtleS5qcyBiL0xheW91dFRlc3RzL2NyeXB0by93b3Jr
ZXJzL3N1YnRsZS9yZXNvdXJjZXMvcnNhLW9hZXAtaW1wb3J0LWtleS11bndyYXAta2V5LmpzCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjg2ODczNzI2MzYxZjE5YzliNTViYTY4NTRmZDc1ZjU3NTI1OTRlY2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUvcmVzb3VyY2Vz
L3JzYS1vYWVwLWltcG9ydC1rZXktdW53cmFwLWtleS5qcwpAQCAtMCwwICsxLDQxIEBACitpbXBv
cnRTY3JpcHRzKCcuLi8uLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMnKTsKK2ltcG9y
dFNjcmlwdHMoJy4uLy4uLy4uL3Jlc291cmNlcy9jb21tb24uanMnKTsKKworZGVzY3JpcHRpb24o
IlRlc3QgdW53cmFwcGluZyBhIEpXSyBvY3Qga2V5IHdpdGggUlNBLU9BRVAgdXNpbmcgYW4gaW1w
b3J0ZWQga2V5IGluIHdvcmtlcnMiKTsKKworanNUZXN0SXNBc3luYyA9IHRydWU7CisKK3ZhciBl
eHRyYWN0YWJsZSA9IHRydWU7Cit2YXIgcmF3S2V5ID0gYXNjaWlUb1VpbnQ4QXJyYXkoImpuT3c5
OW9PWkZMSUVQTXIiKTsKK3ZhciBqd2tLZXkgPSB7CisgICAga3R5OiAiUlNBIiwKKyAgICBhbGc6
ICJSU0EtT0FFUCIsCisgICAgdXNlOiAiZW5jIiwKKyAgICBrZXlfb3BzOiBbInVud3JhcEtleSJd
LAorICAgIGV4dDogdHJ1ZSwKKyAgICBuOiAibHhITjBOOVZSWjBfcGwweHYzLU5YeDcwV25qa09E
U2tRNUxqSFhURnkzRE9Rc3ZrYWdGekQ5SHFZUWV6Q21jZXdMamRLNVBMd1Nlc0RvTWRmTDZ0dXNC
SGN2eWl0MWt2eWRZRlEzTkxiRU5Oa1lzaUJHNV9uVzRJUUdMNkpLYlo1aUdkVW9wOThRSEttNlla
UjF1NHpyQXR4TTZiVkVvMDVWdmhqUlMwTTh5V29aVmktN1Zkc2MwTHFJMFFkcV9Ob2N0WDVGdS1B
cWlCTjdVbzFIa1lHY1Ayb0M4MkpfSjVjanc5OEJRaVA1a0RXVGhxOVJLLVg2Uy1FVUFMeF9tNGlH
NmlPWUtUQTNTUXlmMXhCcUZhWFhvRUpqY2NrYk9xa2VnZWN6NWItWVdVaDhpWlB2aHdudC1SWndw
SWJMSmdLd3oxOW5ka245S3ZvRUV3N1liRW93IiwKKyAgICBlOiAiQVFBQiIsCisgICAgZDogImNq
NURrRGFrak0yYktkdUdXSlJFTy1fenlFdHVBMWREOWRvcUtNZDdJUnVBMENEUzdwdUVBUzIwLW9Y
UkR3Zm15TVhFZEVVRHJHR3RDeGg2ZnpEUHZzX1QtSkEzR1VLNEVnSG8zeFpjcmxYRFhsS0NlaWw2
Rm5yMGdJU1pPSWg1ZGtCcmNkVkw0cXVCSmU0WlpjNW1WdUFDN0xkMTNldDBUeE1KNGlBTEdyUHVx
UFZVT0dTWUljWjlpZHg1ektLQldoWTN0UGdnRWRLcG5IQm1QZlRSTzR5WmFmME53MVFYcmdTTVpZ
OWVqZXVhdXJBaDRROG80LTYtcjhPMkxVZTd1Zk1oX2NjS2tYSVNFaDRLZE9uVDE3RU05QlFUbjlV
TlM5R29LMlpaVTBVM2lvNURTdV9rcGFzcjR1T1ZXY0dsRTJ3Y3pPdjJua0d3RzM5RjNzRkYwUSIs
CisgICAgcDogIng1dm5jbzVqLVRENmhUT3p5TjREaGtaNDRtMDVOeWN4VDZTVUUycVR1clQzLXV6
ZV9MN1RZdXRMUklSa292Uk1oVEhaQXIycHppUmxhc0VzMTNQRXo5WnZ4MUlfVDY4c3Jzb25yZGJh
ay1TRk1lY003RWpIYzVDLUoxM2dYaHc5SElXMjhfU3g5clEtSmtHd0V3RTlQRWRJVWZ1dmRxcGdo
M1NtWHdQSnJFcyIsCisgICAgcTogIndiOXZsbGdfMm4ta05nZTBiVGhnXzd4dTFVd1R6aXBNOHZ4
U1Vra1YySWlwSktJQWVra1UzYUFCOExvUGhVSTAtMTdwU0d3M0VUT08yN3QxNjNUSTlxSVBwekxi
aFRIOWFVaTdxTEdiS2x6UGxnbnFQNDNaMExIeGMzeEtEZ2l0LUFyMjlRTGFYMnVvSkJYNlZWV3Zo
bWg3QklQREhOVk01R1pqd1dPUllnayIsCisgICAgZHA6ICJDMmM4c2E2d3gydWs1RGN2N2luQXlj
cjgzUEtnY2lZckN3Rzc4LUFDMElmR0l1LWxUWXNaU0cxb3YyRlEzbjVXWU1XWVFDX1ZvNUV3dWdp
UEp6X1Yzb25CbVFGNTNIT0ZlZmJTalh2WXdOb3RRY3lSVUc1WDlxSXVPdEdDSDk0OUg0UUVENnZL
X3UwTkgtSmd6TFVsYW13b0ZZYnJYendjaDZDQ1lLczJ1a0UiLAorICAgIGRxOiAiaGJ0UmxvRExj
bEh3VXFyMnl2ekRWMElGYm96WWp0RjcwNngtVmZYRWNuWEI2bHMzNFRCWWlyRkxKWklIN0g5S2Vz
ZUVWa3o3cFlfazU1NTVRbENWOWtiZWJ4WVhsOVJ0aWlKLUJXNnlINGQ0Y2FQZVlJZlU5TXdlVVF4
VlFXS1VVa1dmT0hjRHJDRnZLWmxSOVZ6emp0N0hLdEtYOW1yMGJDS1FjSWY5YmFFIiwKKyAgICBx
aTogImEtN2hVVFRuY2xVUEtPZlNnSDh6RUtHSi1BdmRGRXp4dlo1c3E0NlFmMk1iT1J4VmpONGRK
YW1Wdk0tRm9xY3dOLTljdVVseXI5YlNGVHdVQlc0dlhhOFhqOWE4SmZWaXVNQ3F6Ui1tTDFyR0lV
UTVBUkdoTmNTc1JseUtUcXo1QmxXbFZLbVhJeF9wLURlVndQV2lKSnk0a19GcXlCeHJueGt6b21I
ZnJ4ayIsCit9OwordmFyIHdyYXBwZWRKd2tLZXkgPSBoZXhTdHJpbmdUb1VpbnQ4QXJyYXkoIjVi
ZjhiOThhYzRmMDBjMDRmYmU4NTkwMDI5NmU0YjQxMWFjZWRlMzFjNTdkMTY4OWQ2YTk2Nzg5NjZi
ZjRlYjIwMTlkYTkyMWRlYjdhNDEwY2MwZWYxZWJlY2ZiZDJkYjYxMDUxNjhkMTMzYTVkYmViMjlm
NjllZmM2MWI0ZDYzZDM3ZmViODQ2MGJiZDMxOTQ1OWIxODBmODY2MWQwMWQwODdhOTI5NDEzY2Zh
NGZkOTRlMzU1MTM3ZmJiNTQ0MTM4MzdlNDdjNGUxMTRlODIzMzcyNjFhNWJiZmUyMDYzN2I2YjA4
ZGM0OTc0ZWYxZmJlZmNhYWM1YTRmNDYzMDIxYjgxMGRkZjdjOWEyZGRlY2IxMTllODI2MDJkYzE0
MTM1YTM3ODdlZDhhYjQwYWVkY2E3NDc1NWQzNTE4YjM1ZGMzOGViZTg1ZGQxM2I1NTAwYmFlM2Jk
NWUyZjI1YjZkZmNmOGM5MjY1ZGRkMDQ3M2JmNGY2OWQzZDQwZjI0MDk0NjJkMzVhN2JlNzkwMjAy
OWJkOGY3YzJlYTFkODc5YjA3ZWRhNTI2MzhlOTM3MjJjZWNlOTY1OGUxYWNkNjc2OGQ3OGQwMGIy
MTQzNDk1NTU4NTM1MTE3NjI5MTk4NTRiNDk5MWZhMTEwYTA4YjZlNmI5ZTZkOTM0ODRmMTQzIik7
CisKK2NyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJqd2siLCBqd2tLZXksIHtuYW1lOiAicnNhLW9h
ZXAiLCBoYXNoOiAic2hhLTEifSwgZXh0cmFjdGFibGUsIFsidW53cmFwS2V5Il0pLnRoZW4oZnVu
Y3Rpb24odW53cmFwcGluZ0tleSkgeworICAgIHJldHVybiBjcnlwdG8uc3VidGxlLnVud3JhcEtl
eSgiandrIiwgd3JhcHBlZEp3a0tleSwgdW53cmFwcGluZ0tleSwgInJzYS1vYWVwIiwgIkFFUy1D
QkMiLCBleHRyYWN0YWJsZSwgWyJlbmNyeXB0IiwgImRlY3J5cHQiXSk7Cit9KS50aGVuKGZ1bmN0
aW9uKGNyeXB0b0tleSkgeworICAgIHJldHVybiBjcnlwdG8uc3VidGxlLmV4cG9ydEtleSgiandr
IiwgY3J5cHRvS2V5KTsKK30pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7CisgICAgdW53cmFwcGVk
S2V5ID0gcmVzdWx0OworCisgICAgc2hvdWxkQmUoInVud3JhcHBlZEtleS5rdHkiLCAiJ29jdCci
KTsKKyAgICBzaG91bGRCZSgiQmFzZTY0VVJMLnBhcnNlKHVud3JhcHBlZEtleS5rKSIsICJyYXdL
ZXkiKTsKKyAgICBzaG91bGRCZSgidW53cmFwcGVkS2V5LmFsZyIsICInQTEyOENCQyciKTsKKyAg
ICBzaG91bGRCZSgidW53cmFwcGVkS2V5LmtleV9vcHMiLCAiWydkZWNyeXB0JywgJ2VuY3J5cHQn
XSIpOworICAgIHNob3VsZEJlKCJ1bndyYXBwZWRLZXkuZXh0IiwgInRydWUiKTsKKworICAgIGZp
bmlzaEpTVGVzdCgpOworfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vy
cy9zdWJ0bGUvcnNhLW9hZXAtaW1wb3J0LWtleS11bndyYXAta2V5LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9yc2Etb2FlcC1pbXBvcnQta2V5LXVud3Jh
cC1rZXktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdjNzkyZDY5NjA2ZTEzNGQ3NzZkODI5ZDkx
YzIxNDU4NWQ4YjA2MTcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vd29y
a2Vycy9zdWJ0bGUvcnNhLW9hZXAtaW1wb3J0LWtleS11bndyYXAta2V5LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDE1IEBACitbV29ya2VyXSBUZXN0IHVud3JhcHBpbmcgYSBKV0sgb2N0IGtleSB3
aXRoIFJTQS1PQUVQIHVzaW5nIGFuIGltcG9ydGVkIGtleSBpbiB3b3JrZXJzCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworCitTdGFydGluZyB3b3JrZXI6IHJlc291cmNlcy9yc2Etb2Fl
cC1pbXBvcnQta2V5LXVud3JhcC1rZXkuanMKK1BBU1MgW1dvcmtlcl0gdW53cmFwcGVkS2V5Lmt0
eSBpcyAnb2N0JworUEFTUyBbV29ya2VyXSBCYXNlNjRVUkwucGFyc2UodW53cmFwcGVkS2V5Lmsp
IGlzIHJhd0tleQorUEFTUyBbV29ya2VyXSB1bndyYXBwZWRLZXkuYWxnIGlzICdBMTI4Q0JDJwor
UEFTUyBbV29ya2VyXSB1bndyYXBwZWRLZXkua2V5X29wcyBpcyBbJ2RlY3J5cHQnLCAnZW5jcnlw
dCddCitQQVNTIFtXb3JrZXJdIHVud3JhcHBlZEtleS5leHQgaXMgdHJ1ZQorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9yc2Etb2FlcC1pbXBvcnQta2V5LXVud3JhcC1r
ZXkuaHRtbCBiL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9yc2Etb2FlcC1pbXBv
cnQta2V5LXVud3JhcC1rZXkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40OWRiOTFmMzM3OTBlYjczM2E5YjY2
Nzg4MTc5ZDQyZWIwMjQ2NmU3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRv
L3dvcmtlcnMvc3VidGxlL3JzYS1vYWVwLWltcG9ydC1rZXktdW53cmFwLWtleS5odG1sCkBAIC0w
LDAgKzEsMTIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorICAgIDxzY3JpcHQ+CisgICAgICAgIHdvcmtlciA9IHN0YXJ0V29ya2VyKCdy
ZXNvdXJjZXMvcnNhLW9hZXAtaW1wb3J0LWtleS11bndyYXAta2V5LmpzJyk7CisgICAgPC9zY3Jp
cHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL1dlYkNyeXB0b0FQSS9pZGxoYXJuZXNzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9XZWJDcnlwdG9BUEkvaWRsaGFybmVzcy1leHBlY3RlZC50eHQKaW5k
ZXggMGFkNmM2OGY4ZjVkNWVkMGU3OTA0M2E5YjEzMzAyMWM3NzQ0ZTFhMS4uZDg5MTNiZWQ2ZjVh
ODRhZjljYTI4MGY5ZTliNDJjZmQ1MjIwMGEyMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL1dlYkNyeXB0b0FQSS9pZGxoYXJuZXNzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvV2ViQ3J5cHRvQVBJL2lkbGhhcm5lc3MtZXhwZWN0ZWQudHh0
CkBAIC02NSw2ICs2NSw2IEBAIFBBU1MgU3VidGxlQ3J5cHRvIGludGVyZmFjZTogY3J5cHRvLnN1
YnRsZSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImV4cG9ydEtleSIgd2l0CiBQQVNTIFN1YnRsZUNy
eXB0byBpbnRlcmZhY2U6IGNhbGxpbmcgZXhwb3J0S2V5KEtleUZvcm1hdCxDcnlwdG9LZXkpIG9u
IGNyeXB0by5zdWJ0bGUgd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJv
ciAKIFBBU1MgU3VidGxlQ3J5cHRvIGludGVyZmFjZTogY3J5cHRvLnN1YnRsZSBtdXN0IGluaGVy
aXQgcHJvcGVydHkgIndyYXBLZXkiIHdpdGggdGhlIHByb3BlciB0eXBlICgxMCkgCiBQQVNTIFN1
YnRsZUNyeXB0byBpbnRlcmZhY2U6IGNhbGxpbmcgd3JhcEtleShLZXlGb3JtYXQsQ3J5cHRvS2V5
LENyeXB0b0tleSxBbGdvcml0aG1JZGVudGlmaWVyKSBvbiBjcnlwdG8uc3VidGxlIHdpdGggdG9v
IGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCi1GQUlMIFN1YnRsZUNyeXB0byBp
bnRlcmZhY2U6IGNyeXB0by5zdWJ0bGUgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJ1bndyYXBLZXki
IHdpdGggdGhlIHByb3BlciB0eXBlICgxMSkgYXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAidW53
cmFwS2V5IiBub3QgZm91bmQgaW4gcHJvdG90eXBlIGNoYWluCi1GQUlMIFN1YnRsZUNyeXB0byBp
bnRlcmZhY2U6IGNhbGxpbmcgdW53cmFwS2V5KEtleUZvcm1hdCxCdWZmZXJTb3VyY2UsQ3J5cHRv
S2V5LEFsZ29yaXRobUlkZW50aWZpZXIsQWxnb3JpdGhtSWRlbnRpZmllcixib29sZWFuLFtvYmpl
Y3QgT2JqZWN0XSkgb24gY3J5cHRvLnN1YnRsZSB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3Qg
dGhyb3cgVHlwZUVycm9yIGFzc2VydF9pbmhlcml0czogcHJvcGVydHkgInVud3JhcEtleSIgbm90
IGZvdW5kIGluIHByb3RvdHlwZSBjaGFpbgorUEFTUyBTdWJ0bGVDcnlwdG8gaW50ZXJmYWNlOiBj
cnlwdG8uc3VidGxlIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAidW53cmFwS2V5IiB3aXRoIHRoZSBw
cm9wZXIgdHlwZSAoMTEpIAorUEFTUyBTdWJ0bGVDcnlwdG8gaW50ZXJmYWNlOiBjYWxsaW5nIHVu
d3JhcEtleShLZXlGb3JtYXQsQnVmZmVyU291cmNlLENyeXB0b0tleSxBbGdvcml0aG1JZGVudGlm
aWVyLEFsZ29yaXRobUlkZW50aWZpZXIsYm9vbGVhbixbb2JqZWN0IE9iamVjdF0pIG9uIGNyeXB0
by5zdWJ0bGUgd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>295875</attachid>
            <date>2016-12-01 12:22:00 -0800</date>
            <delta_ts>2016-12-01 13:45:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-164747-20161201122131.patch</filename>
            <type>text/plain</type>
            <size>68650</size>
            <attacher name="Jiewen Tan">jiewen_tan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA5MTY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzAzN2E1ODFlMTU5YzMy
NWI4MWYyN2M3ZTUxN2VlMzdiOTkxNjhmYy4uMGRhZmFiYWE4M2Q1NTdmMTc4NGRhZjZiMDAxMTE1
OGU4NmEwNjBhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDUwIEBACiAyMDE2LTExLTMwICBKaWV3
ZW4gVGFuICA8amlld2VuX3RhbkBhcHBsZS5jb20+CiAKKyAgICAgICAgVXBkYXRlIFN1YnRsZUNy
eXB0bzo6dW53cmFwS2V5IHRvIG1hdGNoIHRoZSBsYXRlc3Qgc3BlYworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY0NzQ3CisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS8yOTI1ODE5OD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBUaGlzIHBhdGNoIGRvZXMgZm9sbG93aW5nIGZldyB0aGluZ3M6CisgICAgICAg
IDEuIEl0IHVwZGF0ZXMgdGhlIFN1YnRsZUNyeXB0bzo6dW53cmFwS2V5IG1ldGhvZCB0byBtYXRj
aCB0aGUgbGF0ZXN0IHNwZWM6CisgICAgICAgICAgIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9XZWJD
cnlwdG9BUEkvI1N1YnRsZUNyeXB0by1tZXRob2QtdW53cmFwS2V5LgorICAgICAgICAgICBJdCBh
bHNvIHJlZmVycyB0byB0aGUgbGF0ZXN0IEVkaXRvcidzIERyYWZ0IHRvIGEgY2VydGFpbiBkZWdy
ZWU6CisgICAgICAgICAgIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWJjcnlwdG8vT3ZlcnZpZXcu
aHRtbCNTdWJ0bGVDcnlwdG8tbWV0aG9kLXVud3JhcEtleS4KKyAgICAgICAgMi4gSXQgaW1wbGVt
ZW50cyB1bndyYXBLZXkgb3BlcmF0aW9ucyBvZiB0aGUgZm9sbG93aW5nIGFsZ29yaXRobXM6IEFF
Uy1LVy4KKworICAgICAgICBUZXN0czogY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWltcG9ydC1rZXkt
dW53cmFwLWp3ay1yc2Eta2V5LXByaXZhdGUuaHRtbAorICAgICAgICAgICAgICAgY3J5cHRvL3N1
YnRsZS9hZXMtY2JjLWltcG9ydC1rZXktdXdyYXAtandrLXJzYS1rZXktcHVibGljLmh0bWwKKyAg
ICAgICAgICAgICAgIGNyeXB0by9zdWJ0bGUvYWVzLWt3LWdlbmVyYXRlLWtleS13cmFwLWtleS11
bndyYXAta2V5Lmh0bWwKKyAgICAgICAgICAgICAgIGNyeXB0by9zdWJ0bGUvYWVzLWt3LWltcG9y
dC1rZXktdW53cmFwLXJhdy1rZXkuaHRtbAorICAgICAgICAgICAgICAgY3J5cHRvL3N1YnRsZS9y
c2Etb2FlcC1pbXBvcnQta2V5LXVud3JhcC1qd2stb2N0LWtleS5odG1sCisgICAgICAgICAgICAg
ICBjcnlwdG8vc3VidGxlL3Vud3JhcEtleS1tYWxmb3JtZWQtcGFyYW1ldGVycy5odG1sCisgICAg
ICAgICAgICAgICBjcnlwdG8vd29ya2Vycy9zdWJ0bGUvYWVzLWNiYy1pbXBvcnQta2V5LXVud3Jh
cC1rZXkuaHRtbAorICAgICAgICAgICAgICAgY3J5cHRvL3dvcmtlcnMvc3VidGxlL2Flcy1rdy1p
bXBvcnQta2V5LXVud3JhcC1rZXkuaHRtbAorICAgICAgICAgICAgICAgY3J5cHRvL3dvcmtlcnMv
c3VidGxlL3JzYS1vYWVwLWltcG9ydC1rZXktdW53cmFwLWtleS5odG1sCisKKyAgICAgICAgKiBi
aW5kaW5ncy9qcy9KU1N1YnRsZUNyeXB0b0N1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpu
b3JtYWxpemVDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzKToKKyAgICAgICAgKFdlYkNvcmU6Ompz
U3VidGxlQ3J5cHRvRnVuY3Rpb25XcmFwS2V5UHJvbWlzZSk6CisgICAgICAgIEFkZCBzb21lIGNv
bW1lbnRzLgorICAgICAgICAoV2ViQ29yZTo6anNTdWJ0bGVDcnlwdG9GdW5jdGlvblVud3JhcEtl
eVByb21pc2UpOgorICAgICAgICAoV2ViQ29yZTo6SlNTdWJ0bGVDcnlwdG86OnVud3JhcEtleSk6
CisgICAgICAgICogY3J5cHRvL0NyeXB0b0FsZ29yaXRobS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpDcnlwdG9BbGdvcml0aG06OnVud3JhcEtleSk6CisgICAgICAgICogY3J5cHRvL0NyeXB0b0Fs
Z29yaXRobS5oOgorICAgICAgICAqIGNyeXB0by9TdWJ0bGVDcnlwdG8uaWRsOgorICAgICAgICAq
IGNyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUFFU19LVy5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpDcnlwdG9BbGdvcml0aG1BRVNfS1c6OnVud3JhcEtleSk6CisgICAgICAgICogY3J5
cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtQUVTX0tXLmg6CisgICAgICAgICogY3J5cHRv
L2dudXRscy9DcnlwdG9BbGdvcml0aG1BRVNfS1dHbnVUTFMuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Q3J5cHRvQWxnb3JpdGhtQUVTX0tXOjpwbGF0Zm9ybVVud3JhcEtleSk6CisgICAgICAgICog
Y3J5cHRvL21hYy9DcnlwdG9BbGdvcml0aG1BRVNfS1dNYWMuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6dW53cmFwS2V5QUVTX0tXKToKKyAgICAgICAgKFdlYkNvcmU6OkNyeXB0b0FsZ29yaXRobUFF
U19LVzo6cGxhdGZvcm1VbndyYXBLZXkpOgorICAgICAgICAoV2ViQ29yZTo6Q3J5cHRvQWxnb3Jp
dGhtQUVTX0tXOjpwbGF0Zm9ybURlY3J5cHQpOgorCisyMDE2LTExLTMwICBKaWV3ZW4gVGFuICA8
amlld2VuX3RhbkBhcHBsZS5jb20+CisKICAgICAgICAgU3VidGxlQ3J5cHRvOjpkZXJpdmVLZXkg
YWx3YXlzIHJldHVybiBOT1RfU1VQUE9SVEVEX0VSUiBmb3Igbm93CiAgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjQ3NDQKICAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzI5MjU4MDgzPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNTdWJ0bGVDcnlwdG9DdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNT
dWJ0bGVDcnlwdG9DdXN0b20uY3BwCmluZGV4IGIyZGQzMjNkNmQ3MjlhZjdmOTVjOGM2MzE0ZWQ0
YjVhNjA5Y2Y5ZjUuLjc5MWM3ZWQ2NmViZTgxZWQwZDI1MjY0MTMzOGZkMjU5OTVhNTA2MDYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTU3VidGxlQ3J5cHRvQ3VzdG9t
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1N1YnRsZUNyeXB0b0N1c3Rv
bS5jcHAKQEAgLTM2LDYgKzM2LDcgQEAKICNpbmNsdWRlICJKU0NyeXB0b0tleS5oIgogI2luY2x1
ZGUgIkpTQ3J5cHRvS2V5UGFpci5oIgogI2luY2x1ZGUgIkpTRE9NUHJvbWlzZS5oIgorI2luY2x1
ZGUgIkpTRE9NV3JhcHBlci5oIgogI2luY2x1ZGUgIkpTSG1hY0tleVBhcmFtcy5oIgogI2luY2x1
ZGUgIkpTSnNvbldlYktleS5oIgogI2luY2x1ZGUgIkpTUnNhSGFzaGVkSW1wb3J0UGFyYW1zLmgi
CkBAIC02Miw2ICs2Myw3IEBAIGVudW0gY2xhc3MgT3BlcmF0aW9ucyB7CiAgICAgR2VuZXJhdGVL
ZXksCiAgICAgSW1wb3J0S2V5LAogICAgIFdyYXBLZXksCisgICAgVW53cmFwS2V5CiB9OwogCiBz
dGF0aWMgc3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+IG5vcm1hbGl6
ZUNyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnMoRXhlY1N0YXRlJiwgSlNWYWx1ZSwgT3BlcmF0aW9u
cyk7CkBAIC0yMzAsNiArMjMyLDcgQEAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdv
cml0aG1QYXJhbWV0ZXJzPiBub3JtYWxpemVDcnlwdG9BbGdvcml0aG1QYXJhbWUKICAgICAgICAg
ICAgIH0KICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIE9wZXJhdGlvbnM6OldyYXBL
ZXk6CisgICAgICAgIGNhc2UgT3BlcmF0aW9uczo6VW53cmFwS2V5OgogICAgICAgICAgICAgc3dp
dGNoICgqaWRlbnRpZmllcikgewogICAgICAgICAgICAgY2FzZSBDcnlwdG9BbGdvcml0aG1JZGVu
dGlmaWVyOjpBRVNfS1c6CiAgICAgICAgICAgICAgICAgcmVzdWx0ID0gc3RkOjptYWtlX3VuaXF1
ZTxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzPihwYXJhbXMpOwpAQCAtOTM0LDE1ICs5MzcsMTI3
IEBAIHN0YXRpYyB2b2lkIGpzU3VidGxlQ3J5cHRvRnVuY3Rpb25XcmFwS2V5UHJvbWlzZShFeGVj
U3RhdGUmIHN0YXRlLCBSZWY8RGVmZXJyZWRQCiAgICAgICAgICAgICB3cmFwQWxnb3JpdGhtLT53
cmFwS2V5KHdyYXBwaW5nS2V5LnJlbGVhc2VOb25OdWxsKCksIFdURk1vdmUoYnl0ZXMpLCBXVEZN
b3ZlKGNhbGxiYWNrKSwgV1RGTW92ZShleGNlcHRpb25DYWxsYmFjaykpOwogICAgICAgICAgICAg
cmV0dXJuOwogICAgICAgICB9CisgICAgICAgIC8vIFRoZSBmb2xsb3dpbmcgb3BlcmF0aW9uIHNo
b3VsZCBiZSBwZXJmb3JtZWQgYXN5bmNocm9ub3VzbHkuCiAgICAgICAgIHdyYXBBbGdvcml0aG0t
PmVuY3J5cHQoV1RGTW92ZSh3cmFwUGFyYW1zKSwgd3JhcHBpbmdLZXkucmVsZWFzZU5vbk51bGwo
KSwgV1RGTW92ZShieXRlcyksIFdURk1vdmUoY2FsbGJhY2spLCBXVEZNb3ZlKGV4Y2VwdGlvbkNh
bGxiYWNrKSwgKmNvbnRleHQsIHdvcmtRdWV1ZSk7CiAgICAgfTsKICAgICBhdXRvIGV4Y2VwdGlv
bkNhbGxiYWNrID0gW2NhcHR1cmVkUHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSldKEV4Y2VwdGlv
bkNvZGUgZWMpIG11dGFibGUgewogICAgICAgICByZWplY3RXaXRoRXhjZXB0aW9uKFdURk1vdmUo
Y2FwdHVyZWRQcm9taXNlKSwgZWMpOwogICAgIH07CiAKKyAgICAvLyBUaGUgZm9sbG93aW5nIG9w
ZXJhdGlvbiBzaG91bGQgYmUgcGVyZm9ybWVkIHN5bmNocm9ub3VzbHkuCiAgICAgZXhwb3J0QWxn
b3JpdGhtLT5leHBvcnRLZXkoZm9ybWF0LCBrZXkucmVsZWFzZU5vbk51bGwoKSwgV1RGTW92ZShj
YWxsYmFjayksIFdURk1vdmUoZXhjZXB0aW9uQ2FsbGJhY2spKTsKIH0KIAorc3RhdGljIHZvaWQg
anNTdWJ0bGVDcnlwdG9GdW5jdGlvblVud3JhcEtleVByb21pc2UoRXhlY1N0YXRlJiBzdGF0ZSwg
UmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlKQoreworICAgIFZNJiB2bSA9IHN0YXRlLnZt
KCk7CisgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOworCisgICAgaWYg
KFVOTElLRUxZKHN0YXRlLmFyZ3VtZW50Q291bnQoKSA8IDcpKSB7CisgICAgICAgIHByb21pc2Ut
PnJlamVjdDxKU1ZhbHVlPihjcmVhdGVOb3RFbm91Z2hBcmd1bWVudHNFcnJvcigmc3RhdGUpKTsK
KyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGF1dG8gZm9ybWF0ID0gY29udmVydEVudW1l
cmF0aW9uPFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0PihzdGF0ZSwgc3RhdGUudW5jaGVja2VkQXJn
dW1lbnQoMCkpOworICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHZvaWQoKSk7CisKKyAg
ICBhdXRvIHdyYXBwZWRLZXkgPSB0b1ZlY3RvcihzdGF0ZSwgc3RhdGUudW5jaGVja2VkQXJndW1l
bnQoMSkpOworICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHZvaWQoKSk7CisKKyAgICBh
dXRvIHVud3JhcHBpbmdLZXkgPSB0b0NyeXB0b0tleShzdGF0ZSwgc3RhdGUudW5jaGVja2VkQXJn
dW1lbnQoMikpOworICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHZvaWQoKSk7CisKKyAg
ICBhdXRvIGNhdGNoU2NvcGUgPSBERUNMQVJFX0NBVENIX1NDT1BFKHZtKTsKKyAgICBib29sIGlz
RGVjcnlwdGlvbiA9IGZhbHNlOworICAgIGF1dG8gdW53cmFwUGFyYW1zID0gbm9ybWFsaXplQ3J5
cHRvQWxnb3JpdGhtUGFyYW1ldGVycyhzdGF0ZSwgc3RhdGUudW5jaGVja2VkQXJndW1lbnQoMyks
IE9wZXJhdGlvbnM6OlVud3JhcEtleSk7CisgICAgaWYgKGNhdGNoU2NvcGUuZXhjZXB0aW9uKCkp
IHsKKyAgICAgICAgY2F0Y2hTY29wZS5jbGVhckV4Y2VwdGlvbigpOworICAgICAgICB1bndyYXBQ
YXJhbXMgPSBub3JtYWxpemVDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzKHN0YXRlLCBzdGF0ZS51
bmNoZWNrZWRBcmd1bWVudCgzKSwgT3BlcmF0aW9uczo6RGVjcnlwdCk7CisgICAgICAgIFJFVFVS
Tl9JRl9FWENFUFRJT04oc2NvcGUsIHZvaWQoKSk7CisgICAgICAgIGlzRGVjcnlwdGlvbiA9IHRy
dWU7CisgICAgfQorCisgICAgYXV0byB1bndyYXBwZWRLZXlBbGdvcml0aG0gPSBub3JtYWxpemVD
cnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzKHN0YXRlLCBzdGF0ZS51bmNoZWNrZWRBcmd1bWVudCg0
KSwgT3BlcmF0aW9uczo6SW1wb3J0S2V5KTsKKyAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3Bl
LCB2b2lkKCkpOworCisgICAgYXV0byBleHRyYWN0YWJsZSA9IHN0YXRlLnVuY2hlY2tlZEFyZ3Vt
ZW50KDUpLnRvQm9vbGVhbigmc3RhdGUpOworICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUs
IHZvaWQoKSk7CisKKyAgICBhdXRvIGtleVVzYWdlcyA9IGNyeXB0b0tleVVzYWdlQml0bWFwRnJv
bUpTVmFsdWUoc3RhdGUsIHN0YXRlLnVuY2hlY2tlZEFyZ3VtZW50KDYpKTsKKyAgICBSRVRVUk5f
SUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOworCisgICAgaWYgKHVud3JhcFBhcmFtcy0+aWRl
bnRpZmllciAhPSB1bndyYXBwaW5nS2V5LT5hbGdvcml0aG1JZGVudGlmaWVyKCkpIHsKKyAgICAg
ICAgcHJvbWlzZS0+cmVqZWN0KElOVkFMSURfQUNDRVNTX0VSUiwgQVNDSUlMaXRlcmFsKCJVbndy
YXBwaW5nIENyeXB0b0tleSBkb2Vzbid0IG1hdGNoIHVud3JhcCBBbGdvcml0aG1JZGVudGlmaWVy
IikpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYgKCF1bndyYXBwaW5nS2V5LT5h
bGxvd3MoQ3J5cHRvS2V5VXNhZ2VVbndyYXBLZXkpKSB7CisgICAgICAgIHByb21pc2UtPnJlamVj
dChJTlZBTElEX0FDQ0VTU19FUlIsIEFTQ0lJTGl0ZXJhbCgiVW53cmFwcGluZyBDcnlwdG9LZXkg
ZG9lc24ndCBzdXBwb3J0IHVud3JhcEtleSBvcGVyYXRpb24iKSk7CisgICAgICAgIHJldHVybjsK
KyAgICB9CisKKyAgICBhdXRvIGltcG9ydEFsZ29yaXRobSA9IGNyZWF0ZUFsZ29yaXRobShzdGF0
ZSwgdW53cmFwcGVkS2V5QWxnb3JpdGhtLT5pZGVudGlmaWVyKTsKKyAgICBSRVRVUk5fSUZfRVhD
RVBUSU9OKHNjb3BlLCB2b2lkKCkpOworCisgICAgYXV0byB1bndyYXBBbGdvcml0aG0gPSBjcmVh
dGVBbGdvcml0aG0oc3RhdGUsIHVud3JhcHBpbmdLZXktPmFsZ29yaXRobUlkZW50aWZpZXIoKSk7
CisgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgdm9pZCgpKTsKKworICAgIGF1dG8gY2Fs
bGJhY2sgPSBbcHJvbWlzZSA9IHByb21pc2UuY29weVJlZigpLCBmb3JtYXQsIGltcG9ydEFsZ29y
aXRobSwgdW53cmFwcGVkS2V5QWxnb3JpdGhtID0gV1RGTW92ZSh1bndyYXBwZWRLZXlBbGdvcml0
aG0pLCBleHRyYWN0YWJsZSwga2V5VXNhZ2VzXShjb25zdCBWZWN0b3I8dWludDhfdD4mIGJ5dGVz
KSBtdXRhYmxlIHsKKyAgICAgICAgRXhlY1N0YXRlJiBzdGF0ZSA9ICoocHJvbWlzZS0+Z2xvYmFs
T2JqZWN0KCktPmdsb2JhbEV4ZWMoKSk7CisgICAgICAgIFZNJiB2bSA9IHN0YXRlLnZtKCk7Cisg
ICAgICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKKworICAgICAgICBL
ZXlEYXRhIGtleURhdGE7CisgICAgICAgIHN3aXRjaCAoZm9ybWF0KSB7CisgICAgICAgIGNhc2Ug
U3VidGxlQ3J5cHRvOjpLZXlGb3JtYXQ6OlNwa2k6CisgICAgICAgIGNhc2UgU3VidGxlQ3J5cHRv
OjpLZXlGb3JtYXQ6OlBrY3M4OgorICAgICAgICBjYXNlIFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0
OjpSYXc6CisgICAgICAgICAgICBrZXlEYXRhID0gYnl0ZXM7CisgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgY2FzZSBTdWJ0bGVDcnlwdG86OktleUZvcm1hdDo6SndrOiB7CisgICAgICAgICAg
ICBTdHJpbmcgandrU3RyaW5nKHJlaW50ZXJwcmV0X2Nhc3RfcHRyPGNvbnN0IGNoYXIqPihieXRl
cy5kYXRhKCkpLCBieXRlcy5zaXplKCkpOworICAgICAgICAgICAgSlNDOjpKU0xvY2tIb2xkZXIg
bG9ja2VyKHZtKTsKKyAgICAgICAgICAgIGF1dG8gandrID0gSlNPTlBhcnNlKCZzdGF0ZSwgandr
U3RyaW5nKTsKKyAgICAgICAgICAgIGlmICghandrKSB7CisgICAgICAgICAgICAgICAgcHJvbWlz
ZS0+cmVqZWN0KERhdGFFcnJvciwgQVNDSUlMaXRlcmFsKCJXcmFwcGVkS2V5IGNhbm5vdCBiZSBj
b252ZXJ0ZWQgdG8gYSBKU09OIG9iamVjdCIpKTsKKyAgICAgICAgICAgICAgICByZXR1cm47Cisg
ICAgICAgICAgICB9CisgICAgICAgICAgICBrZXlEYXRhID0gdG9LZXlEYXRhKHN0YXRlLCBmb3Jt
YXQsIGp3ayk7CisgICAgICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkp
OworICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICBhdXRvIGNhbGxiYWNrID0gW3Byb21p
c2UgPSBwcm9taXNlLmNvcHlSZWYoKV0oQ3J5cHRvS2V5JiBrZXkpIG11dGFibGUgeworICAgICAg
ICAgICAgaWYgKChrZXkudHlwZSgpID09IENyeXB0b0tleVR5cGU6OlByaXZhdGUgfHwga2V5LnR5
cGUoKSA9PSBDcnlwdG9LZXlUeXBlOjpTZWNyZXQpICYmICFrZXkudXNhZ2VzQml0bWFwKCkpIHsK
KyAgICAgICAgICAgICAgICByZWplY3RXaXRoRXhjZXB0aW9uKFdURk1vdmUocHJvbWlzZSksIFNZ
TlRBWF9FUlIpOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIHByb21pc2UtPnJlc29sdmUoa2V5KTsKKyAgICAgICAgfTsKKyAgICAgICAgYXV0byBl
eGNlcHRpb25DYWxsYmFjayA9IFtwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0oRXhjZXB0aW9u
Q29kZSBlYykgbXV0YWJsZSB7CisgICAgICAgICAgICByZWplY3RXaXRoRXhjZXB0aW9uKFdURk1v
dmUocHJvbWlzZSksIGVjKTsKKyAgICAgICAgfTsKKworICAgICAgICAvLyBUaGUgZm9sbG93aW5n
IG9wZXJhdGlvbiBzaG91bGQgYmUgcGVyZm9ybWVkIHN5bmNocm9ub3VzbHkuCisgICAgICAgIGlt
cG9ydEFsZ29yaXRobS0+aW1wb3J0S2V5KGZvcm1hdCwgV1RGTW92ZShrZXlEYXRhKSwgV1RGTW92
ZSh1bndyYXBwZWRLZXlBbGdvcml0aG0pLCBleHRyYWN0YWJsZSwga2V5VXNhZ2VzLCBXVEZNb3Zl
KGNhbGxiYWNrKSwgV1RGTW92ZShleGNlcHRpb25DYWxsYmFjaykpOworICAgIH07CisgICAgYXV0
byBleGNlcHRpb25DYWxsYmFjayA9IFtjYXB0dXJlZFByb21pc2UgPSBXVEZNb3ZlKHByb21pc2Up
XShFeGNlcHRpb25Db2RlIGVjKSBtdXRhYmxlIHsKKyAgICAgICAgcmVqZWN0V2l0aEV4Y2VwdGlv
bihXVEZNb3ZlKGNhcHR1cmVkUHJvbWlzZSksIGVjKTsKKyAgICB9OworCisgICAgaWYgKCFpc0Rl
Y3J5cHRpb24pIHsKKyAgICAgICAgLy8gVGhlIDExIERlY2VtYmVyIDIwMTQgdmVyc2lvbiBvZiB0
aGUgc3BlY2lmaWNhdGlvbiBzdWdnZXN0cyB3ZSBzaG91bGQgcGVyZm9ybSB0aGUgZm9sbG93aW5n
IHRhc2sgYXN5bmNocm9ub3VzbHk6CisgICAgICAgIC8vIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9X
ZWJDcnlwdG9BUEkvI1N1YnRsZUNyeXB0by1tZXRob2QtdW53cmFwS2V5CisgICAgICAgIC8vIEl0
IGlzIG5vdCBiZW5lZmljaWFsIGZvciBsZXNzIHRpbWUgY29uc3VtaW5nIG9wZXJhdGlvbnMuIFRo
ZXJlZm9yZSwgd2UgcGVyZm9ybSBpdCBzeW5jaHJvbm91c2x5LgorICAgICAgICB1bndyYXBBbGdv
cml0aG0tPnVud3JhcEtleSh1bndyYXBwaW5nS2V5LnJlbGVhc2VOb25OdWxsKCksIFdURk1vdmUo
d3JhcHBlZEtleSksIFdURk1vdmUoY2FsbGJhY2spLCBXVEZNb3ZlKGV4Y2VwdGlvbkNhbGxiYWNr
KSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgYXV0byBzdWJ0bGUgPSBqc0R5bmFtaWNE
b3duY2FzdDxKU1N1YnRsZUNyeXB0byo+KHN0YXRlLnRoaXNWYWx1ZSgpKTsKKyAgICBBU1NFUlQo
c3VidGxlKTsKKyAgICAvLyBUaGUgZm9sbG93aW5nIG9wZXJhdGlvbiBzaG91bGQgYmUgcGVyZm9y
bWVkIGFzeW5jaHJvbm91c2x5LgorICAgIHVud3JhcEFsZ29yaXRobS0+ZGVjcnlwdChXVEZNb3Zl
KHVud3JhcFBhcmFtcyksIHVud3JhcHBpbmdLZXkucmVsZWFzZU5vbk51bGwoKSwgV1RGTW92ZSh3
cmFwcGVkS2V5KSwgV1RGTW92ZShjYWxsYmFjayksIFdURk1vdmUoZXhjZXB0aW9uQ2FsbGJhY2sp
LCAqc2NyaXB0RXhlY3V0aW9uQ29udGV4dEZyb21FeGVjU3RhdGUoJnN0YXRlKSwgc3VidGxlLT53
cmFwcGVkKCkud29ya1F1ZXVlKCkpOworfQorCiBKU1ZhbHVlIEpTU3VidGxlQ3J5cHRvOjplbmNy
eXB0KEV4ZWNTdGF0ZSYgc3RhdGUpCiB7CiAgICAgcmV0dXJuIGNhbGxQcm9taXNlRnVuY3Rpb248
anNTdWJ0bGVDcnlwdG9GdW5jdGlvbkVuY3J5cHRQcm9taXNlLCBQcm9taXNlRXhlY3V0aW9uU2Nv
cGU6OldpbmRvd09yV29ya2VyPihzdGF0ZSk7CkBAIC05OTMsNiArMTEwOCwxMSBAQCBKU1ZhbHVl
IEpTU3VidGxlQ3J5cHRvOjp3cmFwS2V5KEV4ZWNTdGF0ZSYgc3RhdGUpCiAgICAgcmV0dXJuIGNh
bGxQcm9taXNlRnVuY3Rpb248anNTdWJ0bGVDcnlwdG9GdW5jdGlvbldyYXBLZXlQcm9taXNlLCBQ
cm9taXNlRXhlY3V0aW9uU2NvcGU6OldpbmRvd09yV29ya2VyPihzdGF0ZSk7CiB9CiAKK0pTVmFs
dWUgSlNTdWJ0bGVDcnlwdG86OnVud3JhcEtleShFeGVjU3RhdGUmIHN0YXRlKQoreworICAgIHJl
dHVybiBjYWxsUHJvbWlzZUZ1bmN0aW9uPGpzU3VidGxlQ3J5cHRvRnVuY3Rpb25VbndyYXBLZXlQ
cm9taXNlLCBQcm9taXNlRXhlY3V0aW9uU2NvcGU6OldpbmRvd09yV29ya2VyPihzdGF0ZSk7Cit9
CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jcnlwdG8vQ3J5cHRvQWxnb3JpdGhtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0
by9DcnlwdG9BbGdvcml0aG0uY3BwCmluZGV4IDk3NTJmOWVjMmM0OWNlNWY0NDc2MDZhOThmOTRk
ZWY1OWM3YTk4ZTYuLmZjY2E2ODNjMTViMjk3ZTc5NzgyYThiYmM4MDIzYjUzNjlkNGFjMWYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9DcnlwdG9BbGdvcml0aG0uY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2NyeXB0by9DcnlwdG9BbGdvcml0aG0uY3BwCkBAIC03Nyw2ICs3Nywx
MSBAQCB2b2lkIENyeXB0b0FsZ29yaXRobTo6d3JhcEtleShSZWY8Q3J5cHRvS2V5PiYmLCBWZWN0
b3I8dWludDhfdD4mJiwgVmVjdG9yQ2FsbGJhYwogICAgIGV4Y2VwdGlvbkNhbGxiYWNrKE5PVF9T
VVBQT1JURURfRVJSKTsKIH0KIAordm9pZCBDcnlwdG9BbGdvcml0aG06OnVud3JhcEtleShSZWY8
Q3J5cHRvS2V5PiYmLCBWZWN0b3I8dWludDhfdD4mJiwgVmVjdG9yQ2FsbGJhY2smJiwgRXhjZXB0
aW9uQ2FsbGJhY2smJiBleGNlcHRpb25DYWxsYmFjaykKK3sKKyAgICBleGNlcHRpb25DYWxsYmFj
ayhOT1RfU1VQUE9SVEVEX0VSUik7Cit9CisKIEV4Y2VwdGlvbk9yPHZvaWQ+IENyeXB0b0FsZ29y
aXRobTo6ZW5jcnlwdChjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzRGVwcmVjYXRlZCYs
IGNvbnN0IENyeXB0b0tleSYsIGNvbnN0IENyeXB0b09wZXJhdGlvbkRhdGEmLCBWZWN0b3JDYWxs
YmFjayYmLCBWb2lkQ2FsbGJhY2smJikKIHsKICAgICByZXR1cm4gRXhjZXB0aW9uIHsgTk9UX1NV
UFBPUlRFRF9FUlIgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9DcnlwdG9B
bGdvcml0aG0uaCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9DcnlwdG9BbGdvcml0aG0uaAppbmRl
eCBjZTU3OTE0YWY0MmU2ODlhYTY2OGE3MmMxZGIwMTcyZmQyOTI3MDRiLi43ZmEwY2E1OGM4MmM1
NmVhOGI2MWNkYTYzOTI1NDFiYjgxNDAzMTVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
cnlwdG8vQ3J5cHRvQWxnb3JpdGhtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL0NyeXB0
b0FsZ29yaXRobS5oCkBAIC03Myw2ICs3Myw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQg
aW1wb3J0S2V5KFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0LCBLZXlEYXRhJiYsIGNvbnN0IHN0ZDo6
dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzPiYmLCBib29sIGV4dHJhY3RhYmxl
LCBDcnlwdG9LZXlVc2FnZUJpdG1hcCwgS2V5Q2FsbGJhY2smJiwgRXhjZXB0aW9uQ2FsbGJhY2sm
Jik7CiAgICAgdmlydHVhbCB2b2lkIGV4cG9ydEtleShTdWJ0bGVDcnlwdG86OktleUZvcm1hdCwg
UmVmPENyeXB0b0tleT4mJiwgS2V5RGF0YUNhbGxiYWNrJiYsIEV4Y2VwdGlvbkNhbGxiYWNrJiYp
OwogICAgIHZpcnR1YWwgdm9pZCB3cmFwS2V5KFJlZjxDcnlwdG9LZXk+JiYsIFZlY3Rvcjx1aW50
OF90PiYmLCBWZWN0b3JDYWxsYmFjayYmLCBFeGNlcHRpb25DYWxsYmFjayYmKTsKKyAgICB2aXJ0
dWFsIHZvaWQgdW53cmFwS2V5KFJlZjxDcnlwdG9LZXk+JiYsIFZlY3Rvcjx1aW50OF90PiYmLCBW
ZWN0b3JDYWxsYmFjayYmLCBFeGNlcHRpb25DYWxsYmFjayYmKTsKIAogICAgIC8vIFRoZSBmb2xs
b3dpbmcgd2lsbCBiZSBkZXByZWNhdGVkLgogICAgIHZpcnR1YWwgRXhjZXB0aW9uT3I8dm9pZD4g
ZW5jcnlwdChjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzRGVwcmVjYXRlZCYsIGNvbnN0
IENyeXB0b0tleSYsIGNvbnN0IENyeXB0b09wZXJhdGlvbkRhdGEmLCBWZWN0b3JDYWxsYmFjayYm
LCBWb2lkQ2FsbGJhY2smJiBmYWlsdXJlQ2FsbGJhY2spOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3J5cHRvL1N1YnRsZUNyeXB0by5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vU3Vi
dGxlQ3J5cHRvLmlkbAppbmRleCAxYjc5ZjM0NGQwMDU1ODYxZWNlNTNkZGM1YjZlNDRhYjZlZGFi
MWFhLi5hYThhN2FkN2ZlOWVmODdkYTgwNDJiNmJlNWE4ZDA5NWVmNmQ4MmU4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vU3VidGxlQ3J5cHRvLmlkbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jcnlwdG8vU3VidGxlQ3J5cHRvLmlkbApAQCAtNDIsNCArNDIsNSBAQCBlbnVtIEtleUZv
cm1hdCB7ICJyYXciLCAic3BraSIsICJwa2NzOCIsICJqd2siIH07CiAgICAgW0N1c3RvbV0gUHJv
bWlzZTxDcnlwdG9LZXk+IGltcG9ydEtleShLZXlGb3JtYXQgZm9ybWF0LCAoQnVmZmVyU291cmNl
IG9yIEpzb25XZWJLZXkpIGtleURhdGEsIEFsZ29yaXRobUlkZW50aWZpZXIgYWxnb3JpdGhtLCBi
b29sZW4gZXh0cmFjdGFibGUsIHNlcXVlbmNlPENyeXB0b0tleVVzYWdlPiBrZXlVc2FnZXMpOwog
ICAgIFtDdXN0b21dIFByb21pc2U8YW55PiBleHBvcnRLZXkoS2V5Rm9ybWF0IGZvcm1hdCwgQ3J5
cHRvS2V5IGtleSk7CiAgICAgW0N1c3RvbV0gUHJvbWlzZTxhbnk+IHdyYXBLZXkoS2V5Rm9ybWF0
IGZvcm1hdCwgQ3J5cHRvS2V5IGtleSwgQ3J5cHRvS2V5IHdyYXBwaW5nS2V5LCBBbGdvcml0aG1J
ZGVudGlmaWVyIHdyYXBBbGdvcml0aG0pOworICAgIFtDdXN0b21dIFByb21pc2U8Q3J5cHRvS2V5
PiB1bndyYXBLZXkoS2V5Rm9ybWF0IGZvcm1hdCwgQnVmZmVyU291cmNlIHdyYXBwZWRLZXksIENy
eXB0b0tleSB1bndyYXBwaW5nS2V5LCBBbGdvcml0aG1JZGVudGlmaWVyIHVud3JhcEFsZ29yaXRo
bSwgQWxnb3JpdGhtSWRlbnRpZmllciB1bndyYXBwZWRLZXlBbGdvcml0aG0sIGJvb2xlYW4gZXh0
cmFjdGFibGUsIHNlcXVlbmNlPEtleVVzYWdlPiBrZXlVc2FnZXMpOwogfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUFFU19LVy5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1BRVNf
S1cuY3BwCmluZGV4IDdiMTJlZDVmNjU3Y2I0OTJkYmUyY2NhNTMxMTUyMjMyYmQ1ZjNkMWYuLmRm
YjRiZmIwZjRhZGNmZTA4ZDVlNTA5ZWNjODIyNWYzY2E0MGE2NGIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUFFU19LVy5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtQUVTX0tX
LmNwcApAQCAtMTY3LDYgKzE2NywxMSBAQCB2b2lkIENyeXB0b0FsZ29yaXRobUFFU19LVzo6d3Jh
cEtleShSZWY8Q3J5cHRvS2V5PiYmIGtleSwgVmVjdG9yPHVpbnQ4X3Q+JiYgZGF0YQogICAgIHBs
YXRmb3JtV3JhcEtleShXVEZNb3ZlKGtleSksIFdURk1vdmUoZGF0YSksIFdURk1vdmUoY2FsbGJh
Y2spLCBXVEZNb3ZlKGV4Y2VwdGlvbkNhbGxiYWNrKSk7CiB9CiAKK3ZvaWQgQ3J5cHRvQWxnb3Jp
dGhtQUVTX0tXOjp1bndyYXBLZXkoUmVmPENyeXB0b0tleT4mJiBrZXksIFZlY3Rvcjx1aW50OF90
PiYmIGRhdGEsIFZlY3RvckNhbGxiYWNrJiYgY2FsbGJhY2ssIEV4Y2VwdGlvbkNhbGxiYWNrJiYg
ZXhjZXB0aW9uQ2FsbGJhY2spCit7CisgICAgcGxhdGZvcm1VbndyYXBLZXkoV1RGTW92ZShrZXkp
LCBXVEZNb3ZlKGRhdGEpLCBXVEZNb3ZlKGNhbGxiYWNrKSwgV1RGTW92ZShleGNlcHRpb25DYWxs
YmFjaykpOworfQorCiBFeGNlcHRpb25Pcjx2b2lkPiBDcnlwdG9BbGdvcml0aG1BRVNfS1c6OmVu
Y3J5cHRGb3JXcmFwS2V5KGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnNEZXByZWNhdGVk
JiwgY29uc3QgQ3J5cHRvS2V5JiBrZXksIGNvbnN0IENyeXB0b09wZXJhdGlvbkRhdGEmIGRhdGEs
IFZlY3RvckNhbGxiYWNrJiYgY2FsbGJhY2ssIFZvaWRDYWxsYmFjayYmIGZhaWx1cmVDYWxsYmFj
aykKIHsKICAgICBpZiAoIWtleUFsZ29yaXRobU1hdGNoZXMoa2V5KSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUFFU19LVy5oIGIv
U291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtQUVTX0tXLmgK
aW5kZXggOGVhOGVjMzEyZDhkMGE1MWRhMjIwYjFlOWU2YTQ4YWI0OTc5ZjZkMS4uMDAyOTRlMzkx
ODlmYmU0YmRiOWIyOTA1YjJjZmU0M2YwZDRiZjM3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtQUVTX0tXLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtQUVTX0tXLmgKQEAgLTQ3
LDYgKzQ3LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGltcG9ydEtleShTdWJ0bGVDcnlwdG86Oktl
eUZvcm1hdCwgS2V5RGF0YSYmLCBjb25zdCBzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGht
UGFyYW1ldGVycz4mJiwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAsIEtl
eUNhbGxiYWNrJiYsIEV4Y2VwdGlvbkNhbGxiYWNrJiYpIGZpbmFsOwogICAgIHZvaWQgZXhwb3J0
S2V5KFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0LCBSZWY8Q3J5cHRvS2V5PiYmLCBLZXlEYXRhQ2Fs
bGJhY2smJiwgRXhjZXB0aW9uQ2FsbGJhY2smJikgZmluYWw7CiAgICAgdm9pZCB3cmFwS2V5KFJl
ZjxDcnlwdG9LZXk+JiYsIFZlY3Rvcjx1aW50OF90PiYmLCBWZWN0b3JDYWxsYmFjayYmLCBFeGNl
cHRpb25DYWxsYmFjayYmKSBmaW5hbDsKKyAgICB2b2lkIHVud3JhcEtleShSZWY8Q3J5cHRvS2V5
PiYmLCBWZWN0b3I8dWludDhfdD4mJiwgVmVjdG9yQ2FsbGJhY2smJiwgRXhjZXB0aW9uQ2FsbGJh
Y2smJikgZmluYWw7CiAKICAgICBFeGNlcHRpb25Pcjx2b2lkPiBlbmNyeXB0Rm9yV3JhcEtleShj
b25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzRGVwcmVjYXRlZCYsIGNvbnN0IENyeXB0b0tl
eSYsIGNvbnN0IENyeXB0b09wZXJhdGlvbkRhdGEmLCBWZWN0b3JDYWxsYmFjayYmLCBWb2lkQ2Fs
bGJhY2smJiBmYWlsdXJlQ2FsbGJhY2spIGZpbmFsOwogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IGRl
Y3J5cHRGb3JVbndyYXBLZXkoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0RlcHJlY2F0
ZWQmLCBjb25zdCBDcnlwdG9LZXkmLCBjb25zdCBDcnlwdG9PcGVyYXRpb25EYXRhJiwgVmVjdG9y
Q2FsbGJhY2smJiwgVm9pZENhbGxiYWNrJiYgZmFpbHVyZUNhbGxiYWNrKSBmaW5hbDsKQEAgLTU1
LDYgKzU2LDcgQEAgcHJpdmF0ZToKIAogICAgIGJvb2wga2V5QWxnb3JpdGhtTWF0Y2hlcyhjb25z
dCBDcnlwdG9LZXkmKSBjb25zdDsKICAgICB2b2lkIHBsYXRmb3JtV3JhcEtleShSZWY8Q3J5cHRv
S2V5PiYmLCBWZWN0b3I8dWludDhfdD4mJiwgVmVjdG9yQ2FsbGJhY2smJiwgRXhjZXB0aW9uQ2Fs
bGJhY2smJik7CisgICAgdm9pZCBwbGF0Zm9ybVVud3JhcEtleShSZWY8Q3J5cHRvS2V5PiYmLCBW
ZWN0b3I8dWludDhfdD4mJiwgVmVjdG9yQ2FsbGJhY2smJiwgRXhjZXB0aW9uQ2FsbGJhY2smJik7
CiAgICAgRXhjZXB0aW9uT3I8dm9pZD4gcGxhdGZvcm1FbmNyeXB0KGNvbnN0IENyeXB0b0tleUFF
UyYsIGNvbnN0IENyeXB0b09wZXJhdGlvbkRhdGEmLCBWZWN0b3JDYWxsYmFjayYmLCBWb2lkQ2Fs
bGJhY2smJiBmYWlsdXJlQ2FsbGJhY2spOwogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHBsYXRmb3Jt
RGVjcnlwdChjb25zdCBDcnlwdG9LZXlBRVMmLCBjb25zdCBDcnlwdG9PcGVyYXRpb25EYXRhJiwg
VmVjdG9yQ2FsbGJhY2smJiwgVm9pZENhbGxiYWNrJiYgZmFpbHVyZUNhbGxiYWNrKTsKIH07CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vZ251dGxzL0NyeXB0b0FsZ29yaXRobUFF
U19LV0dudVRMUy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vZ251dGxzL0NyeXB0b0FsZ29y
aXRobUFFU19LV0dudVRMUy5jcHAKaW5kZXggYzllZDNkYjZhOGQxNzFjNmQyNDRmOTRjZmI5MjUw
YjE2NDU4Njc4ZC4uOWE1OGI2NGNhOWRiNjAyNzAxYmM2ZjUxMjhhOGYzN2M0N2YyMmRhOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2dudXRscy9DcnlwdG9BbGdvcml0aG1BRVNf
S1dHbnVUTFMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9nbnV0bHMvQ3J5cHRvQWxn
b3JpdGhtQUVTX0tXR251VExTLmNwcApAQCAtMzgsNiArMzgsMTEgQEAgdm9pZCBDcnlwdG9BbGdv
cml0aG1BRVNfS1c6OnBsYXRmb3JtV3JhcEtleShSZWY8Q3J5cHRvS2V5PiYmLCBWZWN0b3I8dWlu
dDhfdD4mJiwKICAgICBub3RJbXBsZW1lbnRlZCgpOwogfQogCit2b2lkIENyeXB0b0FsZ29yaXRo
bUFFU19LVzo6cGxhdGZvcm1VbndyYXBLZXkoUmVmPENyeXB0b0tleT4mJiwgVmVjdG9yPHVpbnQ4
X3Q+JiYsIFZlY3RvckNhbGxiYWNrJiYsIEV4Y2VwdGlvbkNhbGxiYWNrJiYpCit7CisgICAgbm90
SW1wbGVtZW50ZWQoKTsKK30KKwogRXhjZXB0aW9uT3I8dm9pZD4gQ3J5cHRvQWxnb3JpdGhtQUVT
X0tXOjpwbGF0Zm9ybUVuY3J5cHQoY29uc3QgQ3J5cHRvS2V5QUVTJiwgY29uc3QgQ3J5cHRvT3Bl
cmF0aW9uRGF0YSYsIFZlY3RvckNhbGxiYWNrJiYsIFZvaWRDYWxsYmFjayYmKQogewogICAgIG5v
dEltcGxlbWVudGVkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vbWFjL0Ny
eXB0b0FsZ29yaXRobUFFU19LV01hYy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vbWFjL0Ny
eXB0b0FsZ29yaXRobUFFU19LV01hYy5jcHAKaW5kZXggZmVlYmM2NDk2YjNiYjk2NzA0MDFjN2Nm
ZTUzNDQwOGUxYTFmMThhYS4uMzQ4MjU3OGE0MmMyYTFkNTVkMTBkZDIxMmI0Mjk4YmNkMWNkNTI0
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL21hYy9DcnlwdG9BbGdvcml0aG1B
RVNfS1dNYWMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9tYWMvQ3J5cHRvQWxnb3Jp
dGhtQUVTX0tXTWFjLmNwcApAQCAtNDcsNiArNDcsMjMgQEAgc3RhdGljIEV4Y2VwdGlvbk9yPFZl
Y3Rvcjx1aW50OF90Pj4gd3JhcEtleUFFU19LVyhjb25zdCBWZWN0b3I8dWludDhfdD4mIGtleSwg
Y28KICAgICByZXR1cm4gV1RGTW92ZShyZXN1bHQpOwogfQogCisvLyBGSVhNRTogV2Ugc2hvdWxk
IGNoYW5nZSBkYXRhIHRvIFZlY3Rvcjx1aW50OF90PiB0eXBlIG9uY2UgV2ViS2l0U3VidGxlQ3J5
cHRvIGlzIGRlcHJlY2F0ZWQuCisvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTY0OTM5CitzdGF0aWMgRXhjZXB0aW9uT3I8VmVjdG9yPHVpbnQ4X3Q+PiB1bndyYXBL
ZXlBRVNfS1coY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiBrZXksIGNvbnN0IHVpbnQ4X3QqIGRhdGEs
IHNpemVfdCBkYXRhTGVuZ3RoKQoreworICAgIFZlY3Rvcjx1aW50OF90PiByZXN1bHQoQ0NTeW1t
ZXRyaWNVbndyYXBwZWRTaXplKGtDQ1dSQVBBRVMsIGRhdGFMZW5ndGgpKTsKKyAgICBzaXplX3Qg
cmVzdWx0U2l6ZSA9IHJlc3VsdC5zaXplKCk7CisKKyAgICBpZiAocmVzdWx0U2l6ZSAlIDgpCisg
ICAgICAgIHJldHVybiBFeGNlcHRpb24geyBPcGVyYXRpb25FcnJvciB9OworCisgICAgaWYgKEND
U3ltbWV0cmljS2V5VW53cmFwKGtDQ1dSQVBBRVMsIENDcmZjMzM5NF9pdiwgQ0NyZmMzMzk0X2l2
TGVuLCBrZXkuZGF0YSgpLCBrZXkuc2l6ZSgpLCBkYXRhLCBkYXRhTGVuZ3RoLCByZXN1bHQuZGF0
YSgpLCAmcmVzdWx0U2l6ZSkpCisgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBPcGVyYXRpb25F
cnJvciB9OworCisgICAgcmVzdWx0LnNocmluayhyZXN1bHRTaXplKTsKKyAgICByZXR1cm4gV1RG
TW92ZShyZXN1bHQpOworfQorCiB2b2lkIENyeXB0b0FsZ29yaXRobUFFU19LVzo6cGxhdGZvcm1X
cmFwS2V5KFJlZjxDcnlwdG9LZXk+JiYga2V5LCBWZWN0b3I8dWludDhfdD4mJiBkYXRhLCBWZWN0
b3JDYWxsYmFjayYmIGNhbGxiYWNrLCBFeGNlcHRpb25DYWxsYmFjayYmIGV4Y2VwdGlvbkNhbGxi
YWNrKQogewogICAgIGF1dG8mIGFlc0tleSA9IGRvd25jYXN0PENyeXB0b0tleUFFUz4oa2V5Lmdl
dCgpKTsKQEAgLTU4LDYgKzc1LDE3IEBAIHZvaWQgQ3J5cHRvQWxnb3JpdGhtQUVTX0tXOjpwbGF0
Zm9ybVdyYXBLZXkoUmVmPENyeXB0b0tleT4mJiBrZXksIFZlY3Rvcjx1aW50OF90CiAgICAgY2Fs
bGJhY2socmVzdWx0LnJlbGVhc2VSZXR1cm5WYWx1ZSgpKTsKIH0KIAordm9pZCBDcnlwdG9BbGdv
cml0aG1BRVNfS1c6OnBsYXRmb3JtVW53cmFwS2V5KFJlZjxDcnlwdG9LZXk+JiYga2V5LCBWZWN0
b3I8dWludDhfdD4mJiBkYXRhLCBWZWN0b3JDYWxsYmFjayYmIGNhbGxiYWNrLCBFeGNlcHRpb25D
YWxsYmFjayYmIGV4Y2VwdGlvbkNhbGxiYWNrKQoreworICAgIGF1dG8mIGFlc0tleSA9IGRvd25j
YXN0PENyeXB0b0tleUFFUz4oa2V5LmdldCgpKTsKKyAgICBhdXRvIHJlc3VsdCA9IHVud3JhcEtl
eUFFU19LVyhhZXNLZXkua2V5KCksIGRhdGEuZGF0YSgpLCBkYXRhLnNpemUoKSk7CisgICAgaWYg
KHJlc3VsdC5oYXNFeGNlcHRpb24oKSkgeworICAgICAgICBleGNlcHRpb25DYWxsYmFjayhyZXN1
bHQucmVsZWFzZUV4Y2VwdGlvbigpLmNvZGUoKSk7CisgICAgICAgIHJldHVybjsKKyAgICB9Cisg
ICAgY2FsbGJhY2socmVzdWx0LnJlbGVhc2VSZXR1cm5WYWx1ZSgpKTsKK30KKwogRXhjZXB0aW9u
T3I8dm9pZD4gQ3J5cHRvQWxnb3JpdGhtQUVTX0tXOjpwbGF0Zm9ybUVuY3J5cHQoY29uc3QgQ3J5
cHRvS2V5QUVTJiBrZXksIGNvbnN0IENyeXB0b09wZXJhdGlvbkRhdGEmIGRhdGEsIFZlY3RvckNh
bGxiYWNrJiYgY2FsbGJhY2ssIFZvaWRDYWxsYmFjayYmIGZhaWx1cmVDYWxsYmFjaykKIHsKICAg
ICBpZiAoZGF0YS5zZWNvbmQgJSA4KSB7CkBAIC03OCwyMyArMTA2LDEzIEBAIEV4Y2VwdGlvbk9y
PHZvaWQ+IENyeXB0b0FsZ29yaXRobUFFU19LVzo6cGxhdGZvcm1FbmNyeXB0KGNvbnN0IENyeXB0
b0tleUFFUyYga2V5CiAKIEV4Y2VwdGlvbk9yPHZvaWQ+IENyeXB0b0FsZ29yaXRobUFFU19LVzo6
cGxhdGZvcm1EZWNyeXB0KGNvbnN0IENyeXB0b0tleUFFUyYga2V5LCBjb25zdCBDcnlwdG9PcGVy
YXRpb25EYXRhJiBkYXRhLCBWZWN0b3JDYWxsYmFjayYmIGNhbGxiYWNrLCBWb2lkQ2FsbGJhY2sm
JiBmYWlsdXJlQ2FsbGJhY2spCiB7Ci0gICAgVmVjdG9yPHVpbnQ4X3Q+IHJlc3VsdChDQ1N5bW1l
dHJpY1Vud3JhcHBlZFNpemUoa0NDV1JBUEFFUywgZGF0YS5zZWNvbmQpKTsKLSAgICBzaXplX3Qg
cmVzdWx0U2l6ZSA9IHJlc3VsdC5zaXplKCk7Ci0KLSAgICBpZiAocmVzdWx0U2l6ZSAlIDgpIHsK
LSAgICAgICAgZmFpbHVyZUNhbGxiYWNrKCk7Ci0gICAgICAgIHJldHVybiB7IH07Ci0gICAgfQot
Ci0gICAgaW50IHN0YXR1cyA9IENDU3ltbWV0cmljS2V5VW53cmFwKGtDQ1dSQVBBRVMsIENDcmZj
MzM5NF9pdiwgQ0NyZmMzMzk0X2l2TGVuLCBrZXkua2V5KCkuZGF0YSgpLCBrZXkua2V5KCkuc2l6
ZSgpLCBkYXRhLmZpcnN0LCBkYXRhLnNlY29uZCwgcmVzdWx0LmRhdGEoKSwgJnJlc3VsdFNpemUp
OwotICAgIGlmIChzdGF0dXMpIHsKKyAgICBhdXRvIHJlc3VsdCA9IHVud3JhcEtleUFFU19LVyhr
ZXkua2V5KCksIGRhdGEuZmlyc3QsIGRhdGEuc2Vjb25kKTsKKyAgICBpZiAocmVzdWx0Lmhhc0V4
Y2VwdGlvbigpKSB7CiAgICAgICAgIGZhaWx1cmVDYWxsYmFjaygpOwogICAgICAgICByZXR1cm4g
eyB9OwogICAgIH0KLSAgICByZXN1bHQuc2hyaW5rKHJlc3VsdFNpemUpOwotICAgIGNhbGxiYWNr
KHJlc3VsdCk7Ci0gICAgcmV0dXJuIHsgfTsKLX0KKyAgICBjYWxsYmFjayhyZXN1bHQucmVsZWFz
ZVJldHVyblZhbHVlKCkpOworICAgIHJldHVybiB7IH07fQogCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwppbmRleCA1ZmM3ZTIxZDY4ZmU1MzRhYWZkMTZjMzM4MTM3ZjUwNjM3NzQ5MjY5Li5l
M2VmOTlhZWJjZjk4ZTNhYmM2ZmMzNDJlOTc2NjJhMDhhMzA3NDY3IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEs
MzUgQEAKIDIwMTYtMTEtMzAgIEppZXdlbiBUYW4gIDxqaWV3ZW5fdGFuQGFwcGxlLmNvbT4KIAor
ICAgICAgICBVcGRhdGUgU3VidGxlQ3J5cHRvOjp1bndyYXBLZXkgdG8gbWF0Y2ggdGhlIGxhdGVz
dCBzcGVjCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NjQ3NDcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzI5MjU4MTk4PgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogY3J5cHRvL3N1YnRsZS9hZXMtY2Jj
LWltcG9ydC1rZXktdW53cmFwLWp3ay1yc2Eta2V5LXByaXZhdGUtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL2Flcy1jYmMtaW1wb3J0LWtleS11bndyYXAtandr
LXJzYS1rZXktcHJpdmF0ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL2Fl
cy1jYmMtaW1wb3J0LWtleS11d3JhcC1qd2stcnNhLWtleS1wdWJsaWMtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL2Flcy1jYmMtaW1wb3J0LWtleS11d3JhcC1q
d2stcnNhLWtleS1wdWJsaWMuaHRtbDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3N1YnRsZS9h
ZXMta3ctZ2VuZXJhdGUta2V5LXdyYXAta2V5LXVud3JhcC1rZXktZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL2Flcy1rdy1nZW5lcmF0ZS1rZXktd3JhcC1rZXkt
dW53cmFwLWtleS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL2Flcy1rdy1p
bXBvcnQta2V5LXVud3JhcC1yYXcta2V5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
Y3J5cHRvL3N1YnRsZS9hZXMta3ctaW1wb3J0LWtleS11bndyYXAtcmF3LWtleS5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL3JzYS1vYWVwLWltcG9ydC1rZXktdW53cmFwLWp3
ay1vY3Qta2V5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3N1YnRsZS9y
c2Etb2FlcC1pbXBvcnQta2V5LXVud3JhcC1qd2stb2N0LWtleS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBjcnlwdG8vc3VidGxlL3Vud3JhcEtleS1tYWxmb3JtZWQtcGFyYW1ldGVycy1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvdW53cmFwS2V5LW1hbGZvcm1l
ZC1wYXJhbWV0ZXJzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by93b3JrZXJzL3N1YnRs
ZS9hZXMtY2JjLWltcG9ydC1rZXktdW53cmFwLWtleS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGNyeXB0by93b3JrZXJzL3N1YnRsZS9hZXMtY2JjLWltcG9ydC1rZXktdW53cmFwLWtl
eS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vd29ya2Vycy9zdWJ0bGUvYWVzLWt3LWlt
cG9ydC1rZXktdW53cmFwLWtleS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNyeXB0
by93b3JrZXJzL3N1YnRsZS9hZXMta3ctaW1wb3J0LWtleS11bndyYXAta2V5Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGNyeXB0by93b3JrZXJzL3N1YnRsZS9yZXNvdXJjZXMvYWVzLWNiYy1pbXBv
cnQta2V5LXVud3JhcC1rZXkuanM6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by93b3JrZXJzL3N1
YnRsZS9yZXNvdXJjZXMvYWVzLWt3LWltcG9ydC1rZXktdW53cmFwLWtleS5qczogQWRkZWQuCisg
ICAgICAgICogY3J5cHRvL3dvcmtlcnMvc3VidGxlL3Jlc291cmNlcy9yc2Etb2FlcC1pbXBvcnQt
a2V5LXVud3JhcC1rZXkuanM6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by93b3JrZXJzL3N1YnRs
ZS9yc2Etb2FlcC1pbXBvcnQta2V5LXVud3JhcC1rZXktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBjcnlwdG8vd29ya2Vycy9zdWJ0bGUvcnNhLW9hZXAtaW1wb3J0LWtleS11bndyYXAt
a2V5Lmh0bWw6IEFkZGVkLgorCisyMDE2LTExLTMwICBKaWV3ZW4gVGFuICA8amlld2VuX3RhbkBh
cHBsZS5jb20+CisKICAgICAgICAgU3VidGxlQ3J5cHRvOjpkZXJpdmVLZXkgYWx3YXlzIHJldHVy
biBOT1RfU1VQUE9SVEVEX0VSUiBmb3Igbm93CiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNjQ3NDQKICAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzI5MjU4
MDgzPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggYzRmMzlmY2Y3ZWM4ZmM3Njg1
ZmJiNWJjNjM2OWUyMDQ4ZjZhNzQzYi4uNDllYzBhYzZhMDgxYWE0MmI0NTI2ZmQxMGYyYmMzZDZi
ZTJhNGRhNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTUgQEAK
IDIwMTYtMTEtMzAgIEppZXdlbiBUYW4gIDxqaWV3ZW5fdGFuQGFwcGxlLmNvbT4KIAorICAgICAg
ICBVcGRhdGUgU3VidGxlQ3J5cHRvOjp1bndyYXBLZXkgdG8gbWF0Y2ggdGhlIGxhdGVzdCBzcGVj
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjQ3NDcK
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzI5MjU4MTk4PgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ3J5cHRvQVBJL2lkbGhhcm5lc3MtZXhw
ZWN0ZWQudHh0OgorCisyMDE2LTExLTMwICBKaWV3ZW4gVGFuICA8amlld2VuX3RhbkBhcHBsZS5j
b20+CisKICAgICAgICAgU3VidGxlQ3J5cHRvOjpkZXJpdmVLZXkgYWx3YXlzIHJldHVybiBOT1Rf
U1VQUE9SVEVEX0VSUiBmb3Igbm93CiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNjQ3NDQKICAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzI5MjU4MDgzPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWltcG9ydC1rZXkt
dW53cmFwLWp3ay1yc2Eta2V5LXByaXZhdGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3J5
cHRvL3N1YnRsZS9hZXMtY2JjLWltcG9ydC1rZXktdW53cmFwLWp3ay1yc2Eta2V5LXByaXZhdGUt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmEyZDZlYjM3Y2Q0M2Y0OGFhYTVkYjdlOGU1NDcyYWZj
MmZiYTZjY2MKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Fl
cy1jYmMtaW1wb3J0LWtleS11bndyYXAtandrLXJzYS1rZXktcHJpdmF0ZS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwyMCBAQAorVGVzdCB1bndyYXBwaW5nIGEgSldLIFJTQSBwcml2YXRlIGtleSB3
aXRoIEFFUy1DQkMgdXNpbmcgYW4gaW1wb3J0ZWQga2V5CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworCitQQVNTIHVud3JhcHBlZEtleS5rdHkgaXMgandrS2V5Lmt0eQorUEFTUyB1bndy
YXBwZWRLZXkuYWxnIGlzIGp3a0tleS5hbGcKK1BBU1MgdW53cmFwcGVkS2V5LmtleV9vcHMgaXMg
andrS2V5LmtleV9vcHMKK1BBU1MgdW53cmFwcGVkS2V5LmV4dCBpcyBqd2tLZXkuZXh0CitQQVNT
IHVud3JhcHBlZEtleS5uIGlzIGp3a0tleS5uCitQQVNTIHVud3JhcHBlZEtleS5lIGlzIGp3a0tl
eS5lCitQQVNTIHVud3JhcHBlZEtleS5wIGlzIGp3a0tleS5wCitQQVNTIHVud3JhcHBlZEtleS5x
IGlzIGp3a0tleS5xCitQQVNTIHVud3JhcHBlZEtleS5kcCBpcyBqd2tLZXkuZHAKK1BBU1MgdW53
cmFwcGVkS2V5LmRxIGlzIGp3a0tleS5kcQorUEFTUyB1bndyYXBwZWRLZXkucWkgaXMgandrS2V5
LnFpCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWltcG9ydC1rZXkt
dW53cmFwLWp3ay1yc2Eta2V5LXByaXZhdGUuaHRtbCBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0
bGUvYWVzLWNiYy1pbXBvcnQta2V5LXVud3JhcC1qd2stcnNhLWtleS1wcml2YXRlLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNzM0ZWFmNDM1MWE1ODY1OTg0MjU3Yzc1OTJmZjQ4NzZhZjYyNmYxNgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNiYy1pbXBvcnQta2V5
LXVud3JhcC1qd2stcnNhLWtleS1wcml2YXRlLmh0bWwKQEAgLTAsMCArMSw2OSBAQAorPCFET0NU
WVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1v
bi5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisKKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVz
dCB1bndyYXBwaW5nIGEgSldLIFJTQSBwcml2YXRlIGtleSB3aXRoIEFFUy1DQkMgdXNpbmcgYW4g
aW1wb3J0ZWQga2V5Iik7CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIgZXh0cmFjdGFi
bGUgPSB0cnVlOwordmFyIGp3a0tleSA9IHsKKyAgICBrdHk6ICJSU0EiLAorICAgIGFsZzogIlJT
QS1PQUVQIiwKKyAgICB1c2U6ICJlbmMiLAorICAgIGtleV9vcHM6IFsiZGVjcnlwdCJdLAorICAg
IGV4dDogdHJ1ZSwKKyAgICBuOiAibHhITjBOOVZSWjBfcGwweHYzLU5YeDcwV25qa09EU2tRNUxq
SFhURnkzRE9Rc3ZrYWdGekQ5SHFZUWV6Q21jZXdMamRLNVBMd1Nlc0RvTWRmTDZ0dXNCSGN2eWl0
MWt2eWRZRlEzTkxiRU5Oa1lzaUJHNV9uVzRJUUdMNkpLYlo1aUdkVW9wOThRSEttNllaUjF1NHpy
QXR4TTZiVkVvMDVWdmhqUlMwTTh5V29aVmktN1Zkc2MwTHFJMFFkcV9Ob2N0WDVGdS1BcWlCTjdV
bzFIa1lHY1Ayb0M4MkpfSjVjanc5OEJRaVA1a0RXVGhxOVJLLVg2Uy1FVUFMeF9tNGlHNmlPWUtU
QTNTUXlmMXhCcUZhWFhvRUpqY2NrYk9xa2VnZWN6NWItWVdVaDhpWlB2aHdudC1SWndwSWJMSmdL
d3oxOW5ka245S3ZvRUV3N1liRW93IiwKKyAgICBlOiAiQVFBQiIsCisgICAgZDogImNqNURrRGFr
ak0yYktkdUdXSlJFTy1fenlFdHVBMWREOWRvcUtNZDdJUnVBMENEUzdwdUVBUzIwLW9YUkR3Zm15
TVhFZEVVRHJHR3RDeGg2ZnpEUHZzX1QtSkEzR1VLNEVnSG8zeFpjcmxYRFhsS0NlaWw2Rm5yMGdJ
U1pPSWg1ZGtCcmNkVkw0cXVCSmU0WlpjNW1WdUFDN0xkMTNldDBUeE1KNGlBTEdyUHVxUFZVT0dT
WUljWjlpZHg1ektLQldoWTN0UGdnRWRLcG5IQm1QZlRSTzR5WmFmME53MVFYcmdTTVpZOWVqZXVh
dXJBaDRROG80LTYtcjhPMkxVZTd1Zk1oX2NjS2tYSVNFaDRLZE9uVDE3RU05QlFUbjlVTlM5R29L
MlpaVTBVM2lvNURTdV9rcGFzcjR1T1ZXY0dsRTJ3Y3pPdjJua0d3RzM5RjNzRkYwUSIsCisgICAg
cDogIng1dm5jbzVqLVRENmhUT3p5TjREaGtaNDRtMDVOeWN4VDZTVUUycVR1clQzLXV6ZV9MN1RZ
dXRMUklSa292Uk1oVEhaQXIycHppUmxhc0VzMTNQRXo5WnZ4MUlfVDY4c3Jzb25yZGJhay1TRk1l
Y003RWpIYzVDLUoxM2dYaHc5SElXMjhfU3g5clEtSmtHd0V3RTlQRWRJVWZ1dmRxcGdoM1NtWHdQ
SnJFcyIsCisgICAgcTogIndiOXZsbGdfMm4ta05nZTBiVGhnXzd4dTFVd1R6aXBNOHZ4U1Vra1Yy
SWlwSktJQWVra1UzYUFCOExvUGhVSTAtMTdwU0d3M0VUT08yN3QxNjNUSTlxSVBwekxiaFRIOWFV
aTdxTEdiS2x6UGxnbnFQNDNaMExIeGMzeEtEZ2l0LUFyMjlRTGFYMnVvSkJYNlZWV3ZobWg3QklQ
REhOVk01R1pqd1dPUllnayIsCisgICAgZHA6ICJDMmM4c2E2d3gydWs1RGN2N2luQXljcjgzUEtn
Y2lZckN3Rzc4LUFDMElmR0l1LWxUWXNaU0cxb3YyRlEzbjVXWU1XWVFDX1ZvNUV3dWdpUEp6X1Yz
b25CbVFGNTNIT0ZlZmJTalh2WXdOb3RRY3lSVUc1WDlxSXVPdEdDSDk0OUg0UUVENnZLX3UwTkgt
Smd6TFVsYW13b0ZZYnJYendjaDZDQ1lLczJ1a0UiLAorICAgIGRxOiAiaGJ0UmxvRExjbEh3VXFy
Mnl2ekRWMElGYm96WWp0RjcwNngtVmZYRWNuWEI2bHMzNFRCWWlyRkxKWklIN0g5S2VzZUVWa3o3
cFlfazU1NTVRbENWOWtiZWJ4WVhsOVJ0aWlKLUJXNnlINGQ0Y2FQZVlJZlU5TXdlVVF4VlFXS1VV
a1dmT0hjRHJDRnZLWmxSOVZ6emp0N0hLdEtYOW1yMGJDS1FjSWY5YmFFIiwKKyAgICBxaTogImEt
N2hVVFRuY2xVUEtPZlNnSDh6RUtHSi1BdmRGRXp4dlo1c3E0NlFmMk1iT1J4VmpONGRKYW1Wdk0t
Rm9xY3dOLTljdVVseXI5YlNGVHdVQlc0dlhhOFhqOWE4SmZWaXVNQ3F6Ui1tTDFyR0lVUTVBUkdo
TmNTc1JseUtUcXo1QmxXbFZLbVhJeF9wLURlVndQV2lKSnk0a19GcXlCeHJueGt6b21IZnJ4ayIs
Cit9OwordmFyIHJhd0tleSA9IGFzY2lpVG9VaW50OEFycmF5KCJqbk93OTlvT1pGTElFUE1yIik7
Cit2YXIgYWVzQ2JjUGFyYW1zID0geworICAgIG5hbWU6ICJhZXMtY2JjIiwKKyAgICBpdjogYXNj
aWlUb1VpbnQ4QXJyYXkoImpuT3c5OW9PWkZMSUVQTXIiKSwKK30KK3ZhciB3cmFwcGVkS2V5ID0g
aGV4U3RyaW5nVG9VaW50OEFycmF5KCAiODQ4YWEyZjcwZWUxOGUyOTUzNTIwMTMyYTc5Y2Y0Nzli
MDNhODczMmEzY2M3M2Y4YzUxYzY4NDU2ZDNjMjU1N2U4YmU5ZDU5MTFiMmE3NDI2N2UyODJhODdm
ZmVlZDg4ZGZiYWMzOGEyMmMyNmJhNjIxZjgzOTE1ZDc1Mzk0MjBhNGRjMGIyMzI5YzU4NWI0NDI5
NjczNjdjMWVhNmMxMTI2Zjk4YzRmMTNiN2M4Y2I3NDAyYjg2YTU4NDRjMTk0MjBlYTMzM2RjMzNk
OTA4YmU4OTE3MmY4YmFjNTliNDAzZmUyMDJmMzJjOGVlZDE5ZjQzMWNlZGZjMzM4M2Y1MzZmMzU1
NzE2M2IxMzExYWU0MmVlNTQ4NmM2ZGFmZWU5Njg2NDBkNmI2OTk5YzY4N2YzN2ZiYThkNjVjYzY2
MmYxYzg0ZjE2MjQ1NjY1ZTRhZjQxYzk4ZThiNjM2MzJjYzFkMTllMmJlY2UyMTU0YzdlYWIxOTA1
ZjNmNmFiMTdiNDk1Y2VmZWMzNTA4ZTliNDUxZjJlYTE0MjJiOTdmMjc1ZGZkYzExOGY0NmFmMDIw
NDAyNTBkMGU1NWQ4ZDhkMTcyYjk2OWJiY2Y3MzE0YTI1N2YxMGI5OGQyYzQ3YzZjNzJhNzI3YWNh
ZjRjOTYzNDBkNTkwZWJjZWJjNjFmNzNiN2E4NjhiNDkwZjNjMWUxN2M1OWVhNDc5YTNiOGRiNTU3
NDE1M2RlNDZjZmRiYjA3Y2ZjNWU5NWViY2Y3YWQzZDVmYTA1N2JhOTQ2ZDZkYTg3MmM0YmVmM2Fm
NmQ3MDEzZTIyMmMyMjc2NTBkMDAyMmM5NGQzMDZjYjE0ZTIwM2FhZDM3OGQxNzFjN2MyNGY4MjRj
MzFiODFmZDE4MjY1ZTBkZTJmNGI0MTU1ODRlYmM0YWRlYjU4ODBjNGVkZGJjODhiODU0Njk5Zjdh
YTc0ZDZhMTBjYTVkZjg5NzhmMjdiNWQxMzcyYjMxZWE2N2E5YzQ4NDFhZTEwMWVhNmFkNzhkZjA1
ODBiNzAzNThlNjkzM2FjOTJmN2ZhZWU1MzIwYWYzMjlkODM0OWE3Yjk4NjkwNzA4YTM4ODczNzYw
NGJlMGFmZmFhMDY2OTQxMGQ4ZDkzZGM0ZTRmNTdlMTQ1ODMyNTNmMTFlNWIyN2M4OWI4NGYxZjMw
MzhiYWU2ZDliMzdlM2ViNjRiNjNhZDE4ODA2MjdhZWYzYjE5ZTNlODUxY2ZhZTYzOWVjNDZkZDA2
ZmQxMzFiNTFmNTMwYjM3MjYwYjgzNmQ5MDEzZDhhZDdjODY0MDA5NjA3MGY5Njk4NGM1MjhlZTVl
MjBiNjlmM2NkOThhMjY5NjIxY2Q4ODZjY2IxNmQ5YzUyNmE4N2NkNWM0NTg1NDEzMDliYjdmYTRm
MzMzNzMwNWQ3NmZjMDUwZDM5Y2E4YjFmZGIwNjc1YTExYTQwZmZkZTljZWJiMzNkZGM0ODVlNWRj
NWU3NjY3YjA4YzJhM2UwMTM2ZDA2M2E0NDdhZWU1YThmNjUwNDI5YzVlNDIyYTcwNmM0YzI0MGE0
ZDExZjRhOWI1NzgyZjJjYmEyNTc1ZjBjMzJjYjQ3N2E5ZjBjZWY5N2ZhOTkzOTc3MTA0MTgxMzE1
ZmY5MGU0NmYzYjEyYjhiMDBmNGE3NjExYzQyYjFiYjUzZDBlNjAyMWFiMjFlZThhZTYwNmQ5ZjA2
ZGZlZGI4OTE3NjMwMDdlMDIwOTc3YzI4YjQ2ZDVmMzNiYzM1YzEyMDYxZDkwZWJiZTAyY2FiNTg3
ODNjMGNhYzBjNmYxNGVkNzM1MjA0ZjIzZDBlYjZhOWZlOWVkZWEyYWVjYjFhYzIxM2Y1OGI0MmQ1
ZDk2Mzc0ZWM3MGNhMjg4YTMxMDE2YmEwMmFkZWY0MzI1MGQ3MTdlOWZhYjg5ODJhMWExODBiMWYz
OTQ0ZDQ1MGMxNTkwMTBmZDIzZjM1NGQ4ODUwMmVjNzAyODgyYWUzZWRkNTY3YzZhNmVkZjNjYjJl
MzRlZGMxM2Y0MTBhMjVkOTcyOThhYjkwNjJkZGI1NjY1NzZmYThiNjU5OWJiYTIwNWJhYjU1YWE1
ZjNmMzdlZGFmNzczM2NmMjQ5ZTY5Yzc0ZGE5NzVlZjI0OWNhNjczZGE3NDlkODZiYWJlYmRmNTU0
MTBhMzg5NzIwYWM5NDNmMWU5ZDkyMWY1ZDY5YzU3ODk2MzZjYjkwNGZiOTI2Mzc0NDIzNmVhZGU5
YWNhZTg4OWEwMWMyMzdhYjM0MzYxMDE0NjNkZmE5ZDkyZjkzNmMxYjY1MmM4MGYzYWJiYTc2MDIz
ZWJlNWI5YmZkZDU0NzM1ZTNhMzQ5NGRlMThhNDU2OTY3ZjU4NzU4ZTU0NjAyMWZlZWYzZmEzZTZj
MjM5OTgxYWEwNmYxZjdkZGM0MTVkOTU3ZmY5OTE5YmJlYzVmMzZhZjA5MmE4MWJhNmMxNGZlNjQ0
ZDJlZTk4YTJmY2RlZTJlZDcwYjg3YTUzZmZhMzI3YjI1YjQ1NjljNTg4NmIxNWYyYmQ1ODNkNmY1
YmQ3ZTk1MWE5MTUxNDJiYWEwOGM2YTljMzQzYzIwMDY3OGEwMDVmYWQyMmEzMzdkMmM1NjI3Zjhj
ODE2ZGIyNTI1YTdlMTIxODQ5YjlkYTc1NmVlZTY4YTI0MDQ1Mjg0OWZmZGI5NjUxZjk5ODI1N2M2
MmU4ZmRjZGM0OGRhZGZjM2ViYjE4ZjdlYjU0NjE0NDIwMDg4NDZhNjI5ZWM4MTQ5YzA1MmYzNTdi
ZjU4ODkwOTUwNDdiMjcyYmNlMGZmNTA1OTUzZTdjZDUyNWIyNGM4MzhiYTZlOWVkOTE5MjJhMzBl
ZWI4NThkZTg1NTZmMTlmNzYxZDAyODdkNzY4ODc2MzQ2YTVkY2FjM2RiYWRkN2EzMDA3MmM5MzM4
MTYyYmU1ODEyMTY2ZDk2MWY0MDMxZjk2MmVmNjY4NzgxZDM5ZDBmYzY5ZmU1ZjQ0OTRlMzFlYzA4
MmQ0YTAxNDBlMzY4YjY5OTc1YmVlYmExMjBlZjliNjUxZWFkNTMxYjRkNDQyOTZiZDNjZmUyY2U3
Zjk3YmI1YmI0OTIxMDYxYjEyYzJlMWM0YzEwOTI4YzA5ODBmZjhkNDg4YTIyODJkMGMwNTZhNDAy
NjAxNjc0MTBlMzk2NjRmNzVmZjFmMTI0OTgyMGUxNzRlZWQ5NzgzMThhMDVlNjU0YjhhYTZjNjBi
NzAwMDFhN2EwNGYwYWZmMTc1OTdkZDlhYjNjY2MzNGY1YmEyZTM1MmI3MjQ0ZGQzZGNjYjQ2MmQ3
MTc1Yjk1YWUzOTcwZWM1ODU4ZTIzMTJhYWM3YzJjNzlhMzdiNTNkMDg5Zjk4ODcyMGE0YzA0ZGY2
MzI4YTM4NDAwNGQwZDUxZWFmYjk0ODY2MjMwOTlhOThlNjliZTUxNjkyMDFjODg4MjRhY2MyYmIw
ZTE3OTA4ODkwMTRhMTc5N2MxNjhlOThkMTlmMDc4N2MyOTM1Y2ZiYzNiZjI0YzRhZGFkNjlhODFl
MGU2YWRmOGMyMWUzYzQ3ODkwNjRhYTMxYTAyNWRmZjVjYzZlYWJhM2YzZTQzZjEwYTlkNTMxZjQ3
OTYzMzcyMTIwZTIzNjZiODRjMjgxZWQ5NjhkOWQxMWMxZDEwMzgyNmM5MzYyNzQxZTEyNjdkMWEz
ZThkMjE4ODc2MWZhODc2YjdiMDk2MTdkZjE0MTMwYzA3MjA5ZjFmMTE4OGZmNDA5NzFiODY2MDdk
ZWUxNGQ1NTZhODgwNDQ3OTAxYzY5ZDI5Y2IxNmMwMjdjM2FhZTMxNmZmMDAxMzJiZGZjZDBlMzlj
NWUyMDEyNTJjOTc3MTQ4M2NjYjI3NWIwYzY3YjNjYjRkY2QxOTE5OGM3NzE4NjM0NDYwMjU0ZGZk
NmY4ZGY0Mzc0YjhiZWRlZTdkZDIwY2U0MTFiNWY5ODdjYWMyY2UxNzQ5MmFhNzhmOTE5YzZkNWU1
NTUwMDBmNDdmN2I4YTk4OTZkNDQ4YmM0ZmMxM2U0MGE5ZTVjMDIyNThkNTA5YTcyODlmNDRkNzI1
MGU4OTI2MDIzM2JmOTY3MDJiYjNkMzUwNDUxZjAzZDgwMmUwZTM3ZDlmMDFjY2U0Yzc4ODY5NDAz
NDkzZWI5ODkwYzJjMDkxMDlkMWY0MjdmNTljZjA5MWNkMWM4MzZlMjVhOWJiMDY1MDQxNDA3YzIx
ODNmNjQzYmNlMmU3MmRiMWU3Y2FlYWM0MmUyZDgzNzlmOGI4NGRmMmNjN2IxZDA1NWY0MmQ2ZjYy
ZTBjYjU3NzFhMTRhZTg4NzI3OTIzNTBlNWY3NzAxMTVhODY1NjRmNjBhNzg1YzUzMzI1YzhjMDg0
YWZlMjE0ZGEzY2FjMTc4M2UyYmU5MDk5ZDk2ZGRiZTljYzNlYTNkZDFkM2FlNTA1MjZiNGFmZTI0
Mzk3NDIwYTNlNGZhNjk3NjEzNDIxIik7CisKKworY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoInJh
dyIsIHJhd0tleSwgImFlcy1jYmMiLCBleHRyYWN0YWJsZSwgWyJ1bndyYXBLZXkiXSkudGhlbihm
dW5jdGlvbih1bndyYXBwaW5nS2V5KSB7CisgICAgcmV0dXJuIGNyeXB0by5zdWJ0bGUudW53cmFw
S2V5KCJqd2siLCB3cmFwcGVkS2V5LCB1bndyYXBwaW5nS2V5LCBhZXNDYmNQYXJhbXMsIHtuYW1l
OiAicnNhLW9hZXAiLCBoYXNoOiAic2hhLTEifSwgZXh0cmFjdGFibGUsIFsiZGVjcnlwdCJdKTsK
K30pLnRoZW4oZnVuY3Rpb24oY3J5cHRvS2V5KSB7CisgICAgcmV0dXJuIGNyeXB0by5zdWJ0bGUu
ZXhwb3J0S2V5KCJqd2siLCBjcnlwdG9LZXkpOworfSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsK
KyAgICB1bndyYXBwZWRLZXkgPSByZXN1bHQ7CisKKyAgICBzaG91bGRCZSgidW53cmFwcGVkS2V5
Lmt0eSIsICJqd2tLZXkua3R5Iik7CisgICAgc2hvdWxkQmUoInVud3JhcHBlZEtleS5hbGciLCAi
andrS2V5LmFsZyIpOworICAgIHNob3VsZEJlKCJ1bndyYXBwZWRLZXkua2V5X29wcyIsICJqd2tL
ZXkua2V5X29wcyIpOworICAgIHNob3VsZEJlKCJ1bndyYXBwZWRLZXkuZXh0IiwgImp3a0tleS5l
eHQiKTsKKyAgICBzaG91bGRCZSgidW53cmFwcGVkS2V5Lm4iLCAiandrS2V5Lm4iKTsKKyAgICBz
aG91bGRCZSgidW53cmFwcGVkS2V5LmUiLCAiandrS2V5LmUiKTsKKyAgICAvLyBGSVhNRTogU2lu
Y2Ugd2UgYWN0dWFsbHkgcmVjYWN1bGF0ZSB0aGUgcHJpdmF0ZSBleHBvbmVudCBiYXNlZCBvbiBt
b2R1bHVzLCBwdWJsaWMgZXhwb25lbnQsIGZpcnN0IHByaW1lIGZhY3RvciwgYW5kIHNlY29uZCBw
cmltZSBmYWN0b3IsCisgICAgLy8gdGhpcyBleHBvcnRlZCBwcml2YXRlIGV4cG9uZW50IG1heSBu
b3QgbWF0Y2ggdGhlIGltcG9ydGVkIG9uZS4KKyAgICAvLyBzaG91bGRCZSgiZXhwb3J0ZWRKd2tL
ZXkuZCIsICJqd2tLZXkuZCIpOworICAgIHNob3VsZEJlKCJ1bndyYXBwZWRLZXkucCIsICJqd2tL
ZXkucCIpOworICAgIHNob3VsZEJlKCJ1bndyYXBwZWRLZXkucSIsICJqd2tLZXkucSIpOworICAg
IHNob3VsZEJlKCJ1bndyYXBwZWRLZXkuZHAiLCAiandrS2V5LmRwIik7CisgICAgc2hvdWxkQmUo
InVud3JhcHBlZEtleS5kcSIsICJqd2tLZXkuZHEiKTsKKyAgICBzaG91bGRCZSgidW53cmFwcGVk
S2V5LnFpIiwgImp3a0tleS5xaSIpOworCisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsKKworPC9z
Y3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0
by9zdWJ0bGUvYWVzLWNiYy1pbXBvcnQta2V5LXV3cmFwLWp3ay1yc2Eta2V5LXB1YmxpYy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jYmMtaW1wb3J0LWtleS11
d3JhcC1qd2stcnNhLWtleS1wdWJsaWMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmViY2IxZDhl
YTA3NWMyYTJmYWRlM2ZkZTk3YTE1MzdjZjhlZGYwODUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jYmMtaW1wb3J0LWtleS11d3JhcC1qd2stcnNhLWtl
eS1wdWJsaWMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTUgQEAKK1Rlc3QgdW53cmFwcGluZyBh
IEpXSyBSU0EgcHVibGljIGtleSB3aXRoIEFFUy1DQkMgdXNpbmcgYW4gaW1wb3J0ZWQga2V5CisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIHVud3JhcHBlZEtleS5rdHkgaXMg
andrS2V5Lmt0eQorUEFTUyB1bndyYXBwZWRLZXkuYWxnIGlzIGp3a0tleS5hbGcKK1BBU1MgdW53
cmFwcGVkS2V5LmtleV9vcHMgaXMgandrS2V5LmtleV9vcHMKK1BBU1MgdW53cmFwcGVkS2V5LmV4
dCBpcyBqd2tLZXkuZXh0CitQQVNTIHVud3JhcHBlZEtleS5uIGlzIGp3a0tleS5uCitQQVNTIHVu
d3JhcHBlZEtleS5lIGlzIGp3a0tleS5lCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRs
ZS9hZXMtY2JjLWltcG9ydC1rZXktdXdyYXAtandrLXJzYS1rZXktcHVibGljLmh0bWwgYi9MYXlv
dXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jYmMtaW1wb3J0LWtleS11d3JhcC1qd2stcnNhLWtl
eS1wdWJsaWMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YTlkODZlNmEzOWNmYTNjNjY4MTRlOWI3NTY0MTdm
YjBkYWJmNWExCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9h
ZXMtY2JjLWltcG9ydC1rZXktdXdyYXAtandrLXJzYS1rZXktcHVibGljLmh0bWwKQEAgLTAsMCAr
MSw1NSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
cmVzb3VyY2VzL2NvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJk
ZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisKKzxzY3JpcHQ+Citk
ZXNjcmlwdGlvbigiVGVzdCB1bndyYXBwaW5nIGEgSldLIFJTQSBwdWJsaWMga2V5IHdpdGggQUVT
LUNCQyB1c2luZyBhbiBpbXBvcnRlZCBrZXkiKTsKKworanNUZXN0SXNBc3luYyA9IHRydWU7CisK
K3ZhciBleHRyYWN0YWJsZSA9IHRydWU7Cit2YXIgandrS2V5ID0geworICAgIGt0eTogIlJTQSIs
CisgICAgYWxnOiAiUlNBLU9BRVAiLAorICAgIHVzZTogImVuYyIsCisgICAga2V5X29wczogWyJl
bmNyeXB0Il0sCisgICAgZXh0OiB0cnVlLAorICAgIG46ICJyY0NVQ3Y3T2MxSFZhbTFESWhDenFr
blRoV2F3T3A4UUxrOFppeTJwMTBCeWpRRkNham9GaXl1QVdsLVIxV1haYWY0eGl0TFJyYWNUOWFn
cHpJemMtTWJMU0hJR2dXUUdPMjFsR2lJbXk1ZnRaLUQ4YkhBcVJ6MnkxNXB6RDRjNENFb3U3WFNT
TERvUm5SMFFHNU1zRGhENnMyZ1Y5bXdIa3J0a0N4dE1XZEJpLTc3YXM4d0dtbE5SbGRjT1NnWkRM
SzhVbkNTZ0ExT2d1Wjk4OWJGeWM4dE9PRUliMHhVU2ZQU3ozTFBTQ255WXo2OGFEam1LVmVOSC1p
Zzg1N09TY3lXYkd5RXkzQml3NjRxdW4zanVVbE5Xc0ozem5na09kdGVZV3l0eDVRcjRYS05zNlIt
TXl5cTcyS1VwMDJtSkRaaWl5aWdseE1MX2kzLV9DZWVjQ3ciLAorICAgIGU6ICJBUUFCIgorfTsK
K3ZhciByYXdLZXkgPSBhc2NpaVRvVWludDhBcnJheSgiam5Pdzk5b09aRkxJRVBNciIpOwordmFy
IGFlc0NiY1BhcmFtcyA9IHsKKyAgICBuYW1lOiAiYWVzLWNiYyIsCisgICAgaXY6IGFzY2lpVG9V
aW50OEFycmF5KCJqbk93OTlvT1pGTElFUE1yIiksCit9Cit2YXIgd3JhcHBlZEtleSA9IGhleFN0
cmluZ1RvVWludDhBcnJheSggIjg0OGFhMmY3MGVlMThlMjk1MzUyMDEzMmE3OWNmNDc5NDZlMDBj
OTkzNjIzNDBiYjY5MGVkYzlhYjUzMTU3NTc0NjJjMTI4Mjc4YzYyMzJlNzcwZTc0MzdjNTZlZDcy
MmE4ZTE3MDM4NTVmN2YzZTU2NTM5NGUxYTZhMDMwNWM0ZWYxYjMwZmE0YzdmNzJkMWEyMzljYzZj
NmJhMDY3ODk4Nzk4YTM2YTc1MTMyYzY2YjRhMmQzZmI5NDI4ODZhZmZkM2VhM2IyNzU2YjBkZGM4
ODZjMDFlM2I5MzEwNzQ2OWI4MjEyNDQ2ODQwOGVmOGFiNTQ4Yjg1YWE4ZjIwNmMzMTJkNzRjZTRm
MmM2NzllYjE0N2EyNzVjZWZkYTY0ZDViZGM0YTJiNWI5MGE0YWM5YWQzZWI1ZjJjZjE5ZjVmODc2
NTMyMTFmNTliNDczMWJhNjExMjU1ODJhMjMzOTUxMDk3ZGVhNjVkYjA1ODk5ZDU4N2QxZGNmY2Nh
YjlhYjc0MTBhYjMwMTBiODkwNjY1MDZkYmFjYmM2YjczZTRiNTY0NzkyNzUxMzg4ZmEwZjU4ZDU1
YzU5YzE0YTA4YzlkZmIwZjc4MTAwYjBmNWNjMjlkNjIzMjg4MjI2MzZkMzBhNmExNTNlYzVjZDQ3
MjdhZDVlNDdiNDE5YzQ4NTQ0NTY1NjM3YWM1Nzg5ODYzZDQzYjdkYTc4Y2Y0MzgzZDA5ZDY2ZTlk
NDU4ZTQzNmRiZmJlZTc1ZTM4MmIyYmFiNDllZWMyYzc0OTFmZjkzY2YwOTlmZTkyZmVhZjQ2NThl
MzA4ODlmZDEyZDNhZTYxY2Q1ZThjOGUxZTU2YTA3OWI2NjJmOTBjZDEwY2RiZGJiNGQxMmVlZmIz
NmQ4MjVlMWEwNDNlODJmNWE5OGY4OTYwZDY1NWQzZjllZDVhZjMxZTU4MWZhODQ2Y2M1ODJmNmNl
ZTVjMjVlMGIzYzMyMDUwNTM0YWU5NTdjZTI3ODYwZDQ3MGJhMjZkYTJjN2Q2ZmE2MjFiMGZhYThi
ZWNhZDU4ZTllNTViYjJhOWQ5ODRiMDQyZjI1ZGYyMTQ4MjUyOTg3MGQyNzFjYmY1NTA4YTBlZGZj
M2NiMzczMTZjMTFmMTZiMzQyYmMxZjFmOThhYSIpOworCisKK2NyeXB0by5zdWJ0bGUuaW1wb3J0
S2V5KCJyYXciLCByYXdLZXksICJhZXMtY2JjIiwgZXh0cmFjdGFibGUsIFsidW53cmFwS2V5Il0p
LnRoZW4oZnVuY3Rpb24odW53cmFwcGluZ0tleSkgeworICAgIHJldHVybiBjcnlwdG8uc3VidGxl
LnVud3JhcEtleSgiandrIiwgd3JhcHBlZEtleSwgdW53cmFwcGluZ0tleSwgYWVzQ2JjUGFyYW1z
LCB7bmFtZTogInJzYS1vYWVwIiwgaGFzaDogInNoYS0xIn0sIGV4dHJhY3RhYmxlLCBbImVuY3J5
cHQiXSk7Cit9KS50aGVuKGZ1bmN0aW9uKGNyeXB0b0tleSkgeworICAgIHJldHVybiBjcnlwdG8u
c3VidGxlLmV4cG9ydEtleSgiandrIiwgY3J5cHRvS2V5KTsKK30pLnRoZW4oZnVuY3Rpb24ocmVz
dWx0KSB7CisgICAgdW53cmFwcGVkS2V5ID0gcmVzdWx0OworCisgICAgc2hvdWxkQmUoInVud3Jh
cHBlZEtleS5rdHkiLCAiandrS2V5Lmt0eSIpOworICAgIHNob3VsZEJlKCJ1bndyYXBwZWRLZXku
YWxnIiwgImp3a0tleS5hbGciKTsKKyAgICBzaG91bGRCZSgidW53cmFwcGVkS2V5LmtleV9vcHMi
LCAiandrS2V5LmtleV9vcHMiKTsKKyAgICBzaG91bGRCZSgidW53cmFwcGVkS2V5LmV4dCIsICJq
d2tLZXkuZXh0Iik7CisgICAgc2hvdWxkQmUoInVud3JhcHBlZEtleS5uIiwgImp3a0tleS5uIik7
CisgICAgc2hvdWxkQmUoInVud3JhcHBlZEtleS5lIiwgImp3a0tleS5lIik7CisKKyAgICBmaW5p
c2hKU1Rlc3QoKTsKK30pOworCis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMta3ctZ2VuZXJhdGUta2V5LXdyYXAt
a2V5LXVud3JhcC1rZXktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9h
ZXMta3ctZ2VuZXJhdGUta2V5LXdyYXAta2V5LXVud3JhcC1rZXktZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYwNGYwYTg1ZTlkYTQ5MzBjNzc2Mzk0NDA0NGU2MGU1MTkyODNmZTAKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1rdy1nZW5lcmF0ZS1rZXkt
d3JhcC1rZXktdW53cmFwLWtleS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNCBAQAorVGVzdCB3
cmFwS2V5L3Vud3JhcEtleSB3aXRoIEFFUy1LVyB1c2luZyBhIGdlbmVyYXRlZCBrZXkKKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK0dlbmVyYXRpbmcuLi4KK1dyYXBwaW5nLi4uCitQ
QVNTIGJ5dGVzVG9BU0NJSVN0cmluZyh3cmFwcGVkS2V5KSBpcyBub3QgImpuT3c5OW9PWkZMSUVQ
TXIiCitVbndyYXBwaW5nLi4uCitQQVNTIGJ5dGVzVG9BU0NJSVN0cmluZyh1bndyYXBwZWRLZXkp
IGlzIHJhd0tleUFTQ0lJCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMta3ct
Z2VuZXJhdGUta2V5LXdyYXAta2V5LXVud3JhcC1rZXkuaHRtbCBiL0xheW91dFRlc3RzL2NyeXB0
by9zdWJ0bGUvYWVzLWt3LWdlbmVyYXRlLWtleS13cmFwLWtleS11bndyYXAta2V5Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZmZiZGExNjA0YzgzODhjMmQxODFlYmE1MmMyOGE0ZGU3MmExYjg1MwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWt3LWdlbmVyYXRlLWtl
eS13cmFwLWtleS11bndyYXAta2V5Lmh0bWwKQEAgLTAsMCArMSw0OSBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisKKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdCB3cmFw
S2V5L3Vud3JhcEtleSB3aXRoIEFFUy1LVyB1c2luZyBhIGdlbmVyYXRlZCBrZXkiKTsKKworanNU
ZXN0SXNBc3luYyA9IHRydWU7CisKK3ZhciBleHRyYWN0YWJsZSA9IHRydWU7Cit2YXIgcmF3S2V5
QVNDSUkgPSAiam5Pdzk5b09aRkxJRVBNciI7Cit2YXIgcmF3S2V5ID0gYXNjaWlUb1VpbnQ4QXJy
YXkocmF3S2V5QVNDSUkpOwordmFyIHdyYXBwZWRLZXkgPSBoZXhTdHJpbmdUb1VpbnQ4QXJyYXko
ImQ2NDc4N2FiM2UwNDhkYmRjMzBiYjYyNzgxYzlmMThlNThhZDdkYmZjNjRhYWIxNiIpOworCitk
ZWJ1ZygiR2VuZXJhdGluZy4uLiIpOworY3J5cHRvLnN1YnRsZS5nZW5lcmF0ZUtleSh7IG5hbWU6
ICJhZXMta3ciLCBsZW5ndGg6IDI1NiB9LCBleHRyYWN0YWJsZSwgWyJ3cmFwS2V5IiwgInVud3Jh
cEtleSJdKS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAgIHdyYXBLZXkgPSByZXN1bHQ7Cisg
ICAgcmV0dXJuIGNyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJyYXciLCByYXdLZXksICJhZXMtY2Jj
IiwgZXh0cmFjdGFibGUsIFsiZW5jcnlwdCIsICJkZWNyeXB0Il0pOworfSkudGhlbihmdW5jdGlv
bihrZXkpIHsKKyAgICBkZWJ1ZygiV3JhcHBpbmcuLi4iKTsKKyAgICByZXR1cm4gY3J5cHRvLnN1
YnRsZS53cmFwS2V5KCJyYXciLCBrZXksIHdyYXBLZXksICJBRVMtS1ciKTsKK30pLnRoZW4oZnVu
Y3Rpb24ocmVzdWx0KSB7CisgICAgd3JhcHBlZEtleSA9IHJlc3VsdDsKKworICAgIHNob3VsZE5v
dEJlRXF1YWxUb1N0cmluZygiYnl0ZXNUb0FTQ0lJU3RyaW5nKHdyYXBwZWRLZXkpIiwgcmF3S2V5
QVNDSUkpOworCisgICAgZGVidWcoIlVud3JhcHBpbmcuLi4iKTsKKyAgICByZXR1cm4gY3J5cHRv
LnN1YnRsZS51bndyYXBLZXkoInJhdyIsIHdyYXBwZWRLZXksIHdyYXBLZXksICJBRVMtS1ciLCAi
QUVTLUNCQyIsIGV4dHJhY3RhYmxlLCBbImVuY3J5cHQiLCAiZGVjcnlwdCJdKTsKK30pLnRoZW4o
ZnVuY3Rpb24oY3J5cHRvS2V5KSB7CisgICAgcmV0dXJuIGNyeXB0by5zdWJ0bGUuZXhwb3J0S2V5
KCJyYXciLCBjcnlwdG9LZXkpOworfSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICB1bndy
YXBwZWRLZXkgPSByZXN1bHQ7CisKKyAgICBzaG91bGRCZSgiYnl0ZXNUb0FTQ0lJU3RyaW5nKHVu
d3JhcHBlZEtleSkiLCAicmF3S2V5QVNDSUkiKTsKKworICAgIGZpbmlzaEpTVGVzdCgpOworfSk7
CisKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9jcnlwdG8vc3VidGxlL2Flcy1rdy1pbXBvcnQta2V5LXVud3JhcC1yYXcta2V5LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWt3LWltcG9ydC1rZXktdW53cmFw
LXJhdy1rZXktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg0NDhhNDg0MTkwY2E2YmYwZGE1ZTE1
ODA5OGE3OGFhZDBkYzY0NDMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8v
c3VidGxlL2Flcy1rdy1pbXBvcnQta2V5LXVud3JhcC1yYXcta2V5LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEwIEBACitUZXN0IHVud3JhcHBpbmcgYSByYXcga2V5IHdpdGggQUVTLUtXIHVzaW5n
IGFuIGltcG9ydGVkIGtleQorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBi
eXRlc1RvQVNDSUlTdHJpbmcodW53cmFwcGVkS2V5KSBpcyByYXdLZXlBU0NJSQorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWt3LWltcG9ydC1rZXktdW53cmFwLXJhdy1rZXku
aHRtbCBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWt3LWltcG9ydC1rZXktdW53cmFw
LXJhdy1rZXkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40NmQxNzQwY2I4ODFiYWZiODMyOGU3Mjk1NTI2OGNm
YTU1MWE1OWJmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9h
ZXMta3ctaW1wb3J0LWtleS11bndyYXAtcmF3LWtleS5odG1sCkBAIC0wLDAgKzEsMzcgQEAKKzwh
RE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9j
b21tb24uanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0PgorZGVzY3JpcHRpb24o
IlRlc3QgdW53cmFwcGluZyBhIHJhdyBrZXkgd2l0aCBBRVMtS1cgdXNpbmcgYW4gaW1wb3J0ZWQg
a2V5Iik7CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIgZXh0cmFjdGFibGUgPSB0cnVl
OwordmFyIHJhd0tleUFTQ0lJID0gImpuT3c5OW9PWkZMSUVQTXIiOwordmFyIHJhd0tleSA9IGFz
Y2lpVG9VaW50OEFycmF5KHJhd0tleUFTQ0lJKTsKK3ZhciB3cmFwcGVkS2V5ID0gaGV4U3RyaW5n
VG9VaW50OEFycmF5KCJkNjQ3ODdhYjNlMDQ4ZGJkYzMwYmI2Mjc4MWM5ZjE4ZTU4YWQ3ZGJmYzY0
YWFiMTYiKTsKKworY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoInJhdyIsIHJhd0tleSwgImFlcy1r
dyIsIGV4dHJhY3RhYmxlLCBbIndyYXBLZXkiLCAidW53cmFwS2V5Il0pLnRoZW4oZnVuY3Rpb24o
dW53cmFwcGluZ0tleSkgeworICAgIHJldHVybiBjcnlwdG8uc3VidGxlLnVud3JhcEtleSgicmF3
Iiwgd3JhcHBlZEtleSwgdW53cmFwcGluZ0tleSwgIkFFUy1LVyIsICJBRVMtQ0JDIiwgZXh0cmFj
dGFibGUsIFsiZW5jcnlwdCIsICJkZWNyeXB0Il0pOworfSkudGhlbihmdW5jdGlvbihjcnlwdG9L
ZXkpIHsKKyAgICByZXR1cm4gY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoInJhdyIsIGNyeXB0b0tl
eSk7Cit9KS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAgIHVud3JhcHBlZEtleSA9IHJlc3Vs
dDsKKworICAgIHNob3VsZEJlKCJieXRlc1RvQVNDSUlTdHJpbmcodW53cmFwcGVkS2V5KSIsICJy
YXdLZXlBU0NJSSIpOworCisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsKKworPC9zY3JpcHQ+CisK
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUv
cnNhLW9hZXAtaW1wb3J0LWtleS11bndyYXAtandrLW9jdC1rZXktZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9yc2Etb2FlcC1pbXBvcnQta2V5LXVud3JhcC1qd2stb2N0
LWtleS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWRkNjg4YTA1NDhlNGUyZDRjNTI2YmViMjYx
NDFjZDE3ZWY2YWNiYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0
bGUvcnNhLW9hZXAtaW1wb3J0LWtleS11bndyYXAtandrLW9jdC1rZXktZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTQgQEAKK1Rlc3QgdW53cmFwcGluZyBhIEpXSyBvY3Qga2V5IHdpdGggUlNBLU9B
RVAgdXNpbmcgYW4gaW1wb3J0ZWQga2V5CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
CitQQVNTIHVud3JhcHBlZEtleS5rdHkgaXMgJ29jdCcKK1BBU1MgQmFzZTY0VVJMLnBhcnNlKHVu
d3JhcHBlZEtleS5rKSBpcyByYXdLZXkKK1BBU1MgdW53cmFwcGVkS2V5LmFsZyBpcyAnQTEyOENC
QycKK1BBU1MgdW53cmFwcGVkS2V5LmtleV9vcHMgaXMgWydkZWNyeXB0JywgJ2VuY3J5cHQnXQor
UEFTUyB1bndyYXBwZWRLZXkuZXh0IGlzIHRydWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8v
c3VidGxlL3JzYS1vYWVwLWltcG9ydC1rZXktdW53cmFwLWp3ay1vY3Qta2V5Lmh0bWwgYi9MYXlv
dXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYS1vYWVwLWltcG9ydC1rZXktdW53cmFwLWp3ay1vY3Qt
a2V5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNzFlZTU3MTA5ZjU4ZDA4YjAzZWRlNzE2NDY4NmUyYmVmNzI0
MTU0MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhLW9h
ZXAtaW1wb3J0LWtleS11bndyYXAtandrLW9jdC1rZXkuaHRtbApAQCAtMCwwICsxLDU1IEBACis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMv
Y29tbW9uLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKworPHNjcmlwdD4KK2Rlc2NyaXB0aW9u
KCJUZXN0IHVud3JhcHBpbmcgYSBKV0sgb2N0IGtleSB3aXRoIFJTQS1PQUVQIHVzaW5nIGFuIGlt
cG9ydGVkIGtleSIpOworCitqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwordmFyIGV4dHJhY3RhYmxl
ID0gdHJ1ZTsKK3ZhciByYXdLZXkgPSBhc2NpaVRvVWludDhBcnJheSgiam5Pdzk5b09aRkxJRVBN
ciIpOwordmFyIGp3a0tleSA9IHsKKyAgICBrdHk6ICJSU0EiLAorICAgIGFsZzogIlJTQS1PQUVQ
IiwKKyAgICB1c2U6ICJlbmMiLAorICAgIGtleV9vcHM6IFsidW53cmFwS2V5Il0sCisgICAgZXh0
OiB0cnVlLAorICAgIG46ICJseEhOME45VlJaMF9wbDB4djMtTlh4NzBXbmprT0RTa1E1TGpIWFRG
eTNET1FzdmthZ0Z6RDlIcVlRZXpDbWNld0xqZEs1UEx3U2VzRG9NZGZMNnR1c0JIY3Z5aXQxa3Z5
ZFlGUTNOTGJFTk5rWXNpQkc1X25XNElRR0w2SktiWjVpR2RVb3A5OFFIS202WVpSMXU0enJBdHhN
NmJWRW8wNVZ2aGpSUzBNOHlXb1pWaS03VmRzYzBMcUkwUWRxX05vY3RYNUZ1LUFxaUJON1VvMUhr
WUdjUDJvQzgySl9KNWNqdzk4QlFpUDVrRFdUaHE5UkstWDZTLUVVQUx4X200aUc2aU9ZS1RBM1NR
eWYxeEJxRmFYWG9FSmpjY2tiT3FrZWdlY3o1Yi1ZV1VoOGlaUHZod250LVJad3BJYkxKZ0t3ejE5
bmRrbjlLdm9FRXc3WWJFb3ciLAorICAgIGU6ICJBUUFCIiwKKyAgICBkOiAiY2o1RGtEYWtqTTJi
S2R1R1dKUkVPLV96eUV0dUExZEQ5ZG9xS01kN0lSdUEwQ0RTN3B1RUFTMjAtb1hSRHdmbXlNWEVk
RVVEckdHdEN4aDZmekRQdnNfVC1KQTNHVUs0RWdIbzN4WmNybFhEWGxLQ2VpbDZGbnIwZ0lTWk9J
aDVka0JyY2RWTDRxdUJKZTRaWmM1bVZ1QUM3TGQxM2V0MFR4TUo0aUFMR3JQdXFQVlVPR1NZSWNa
OWlkeDV6S0tCV2hZM3RQZ2dFZEtwbkhCbVBmVFJPNHlaYWYwTncxUVhyZ1NNWlk5ZWpldWF1ckFo
NFE4bzQtNi1yOE8yTFVlN3VmTWhfY2NLa1hJU0VoNEtkT25UMTdFTTlCUVRuOVVOUzlHb0syWlpV
MFUzaW81RFN1X2twYXNyNHVPVldjR2xFMndjek92Mm5rR3dHMzlGM3NGRjBRIiwKKyAgICBwOiAi
eDV2bmNvNWotVEQ2aFRPenlONERoa1o0NG0wNU55Y3hUNlNVRTJxVHVyVDMtdXplX0w3VFl1dExS
SVJrb3ZSTWhUSFpBcjJwemlSbGFzRXMxM1BFejladngxSV9UNjhzcnNvbnJkYmFrLVNGTWVjTTdF
akhjNUMtSjEzZ1hodzlISVcyOF9TeDlyUS1Ka0d3RXdFOVBFZElVZnV2ZHFwZ2gzU21Yd1BKckVz
IiwKKyAgICBxOiAid2I5dmxsZ18ybi1rTmdlMGJUaGdfN3h1MVV3VHppcE04dnhTVWtrVjJJaXBK
S0lBZWtrVTNhQUI4TG9QaFVJMC0xN3BTR3czRVRPTzI3dDE2M1RJOXFJUHB6TGJoVEg5YVVpN3FM
R2JLbHpQbGducVA0M1owTEh4YzN4S0RnaXQtQXIyOVFMYVgydW9KQlg2VlZXdmhtaDdCSVBESE5W
TTVHWmp3V09SWWdrIiwKKyAgICBkcDogIkMyYzhzYTZ3eDJ1azVEY3Y3aW5BeWNyODNQS2djaVly
Q3dHNzgtQUMwSWZHSXUtbFRZc1pTRzFvdjJGUTNuNVdZTVdZUUNfVm81RXd1Z2lQSnpfVjNvbkJt
UUY1M0hPRmVmYlNqWHZZd05vdFFjeVJVRzVYOXFJdU90R0NIOTQ5SDRRRUQ2dktfdTBOSC1KZ3pM
VWxhbXdvRlliclh6d2NoNkNDWUtzMnVrRSIsCisgICAgZHE6ICJoYnRSbG9ETGNsSHdVcXIyeXZ6
RFYwSUZib3pZanRGNzA2eC1WZlhFY25YQjZsczM0VEJZaXJGTEpaSUg3SDlLZXNlRVZrejdwWV9r
NTU1NVFsQ1Y5a2JlYnhZWGw5UnRpaUotQlc2eUg0ZDRjYVBlWUlmVTlNd2VVUXhWUVdLVVVrV2ZP
SGNEckNGdktabFI5Vnp6anQ3SEt0S1g5bXIwYkNLUWNJZjliYUUiLAorICAgIHFpOiAiYS03aFVU
VG5jbFVQS09mU2dIOHpFS0dKLUF2ZEZFenh2WjVzcTQ2UWYyTWJPUnhWak40ZEphbVZ2TS1Gb3Fj
d04tOWN1VWx5cjliU0ZUd1VCVzR2WGE4WGo5YThKZlZpdU1DcXpSLW1MMXJHSVVRNUFSR2hOY1Nz
Umx5S1RxejVCbFdsVkttWEl4X3AtRGVWd1BXaUpKeTRrX0ZxeUJ4cm54a3pvbUhmcnhrIiwKK307
Cit2YXIgd3JhcHBlZEp3a0tleSA9IGhleFN0cmluZ1RvVWludDhBcnJheSgiNWJmOGI5OGFjNGYw
MGMwNGZiZTg1OTAwMjk2ZTRiNDExYWNlZGUzMWM1N2QxNjg5ZDZhOTY3ODk2NmJmNGViMjAxOWRh
OTIxZGViN2E0MTBjYzBlZjFlYmVjZmJkMmRiNjEwNTE2OGQxMzNhNWRiZWIyOWY2OWVmYzYxYjRk
NjNkMzdmZWI4NDYwYmJkMzE5NDU5YjE4MGY4NjYxZDAxZDA4N2E5Mjk0MTNjZmE0ZmQ5NGUzNTUx
MzdmYmI1NDQxMzgzN2U0N2M0ZTExNGU4MjMzNzI2MWE1YmJmZTIwNjM3YjZiMDhkYzQ5NzRlZjFm
YmVmY2FhYzVhNGY0NjMwMjFiODEwZGRmN2M5YTJkZGVjYjExOWU4MjYwMmRjMTQxMzVhMzc4N2Vk
OGFiNDBhZWRjYTc0NzU1ZDM1MThiMzVkYzM4ZWJlODVkZDEzYjU1MDBiYWUzYmQ1ZTJmMjViNmRm
Y2Y4YzkyNjVkZGQwNDczYmY0ZjY5ZDNkNDBmMjQwOTQ2MmQzNWE3YmU3OTAyMDI5YmQ4ZjdjMmVh
MWQ4NzliMDdlZGE1MjYzOGU5MzcyMmNlY2U5NjU4ZTFhY2Q2NzY4ZDc4ZDAwYjIxNDM0OTU1NTg1
MzUxMTc2MjkxOTg1NGI0OTkxZmExMTBhMDhiNmU2YjllNmQ5MzQ4NGYxNDMiKTsKKworY3J5cHRv
LnN1YnRsZS5pbXBvcnRLZXkoImp3ayIsIGp3a0tleSwge25hbWU6ICJyc2Etb2FlcCIsIGhhc2g6
ICJzaGEtMSJ9LCBleHRyYWN0YWJsZSwgWyJ1bndyYXBLZXkiXSkudGhlbihmdW5jdGlvbih1bndy
YXBwaW5nS2V5KSB7CisgICAgcmV0dXJuIGNyeXB0by5zdWJ0bGUudW53cmFwS2V5KCJqd2siLCB3
cmFwcGVkSndrS2V5LCB1bndyYXBwaW5nS2V5LCAicnNhLW9hZXAiLCAiQUVTLUNCQyIsIGV4dHJh
Y3RhYmxlLCBbImVuY3J5cHQiLCAiZGVjcnlwdCJdKTsKK30pLnRoZW4oZnVuY3Rpb24oY3J5cHRv
S2V5KSB7CisgICAgcmV0dXJuIGNyeXB0by5zdWJ0bGUuZXhwb3J0S2V5KCJqd2siLCBjcnlwdG9L
ZXkpOworfSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICB1bndyYXBwZWRLZXkgPSByZXN1
bHQ7CisKKyAgICBzaG91bGRCZSgidW53cmFwcGVkS2V5Lmt0eSIsICInb2N0JyIpOworICAgIHNo
b3VsZEJlKCJCYXNlNjRVUkwucGFyc2UodW53cmFwcGVkS2V5LmspIiwgInJhd0tleSIpOworICAg
IHNob3VsZEJlKCJ1bndyYXBwZWRLZXkuYWxnIiwgIidBMTI4Q0JDJyIpOworICAgIHNob3VsZEJl
KCJ1bndyYXBwZWRLZXkua2V5X29wcyIsICJbJ2RlY3J5cHQnLCAnZW5jcnlwdCddIik7CisgICAg
c2hvdWxkQmUoInVud3JhcHBlZEtleS5leHQiLCAidHJ1ZSIpOworCisgICAgZmluaXNoSlNUZXN0
KCk7Cit9KTsKKworPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvdW53cmFwS2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvdW53cmFwS2V5LW1hbGZvcm1l
ZC1wYXJhbWV0ZXJzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ZjhlYzFiNzhkNDkwZWYzYzc5
NjJiYWUwYTBkZDNjNmFhYTY5ZTIzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5
cHRvL3N1YnRsZS91bndyYXBLZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMjIgQEAKK1Rlc3QgVW53cmFwS2V5IG9wZXJhdGlvbiB3aXRoIG1hbGZvcm1lZCBw
YXJhbWV0ZXJzCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGNyeXB0by5z
dWJ0bGUudW53cmFwS2V5KCkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IE5vdCBl
bm91Z2ggYXJndW1lbnRzLgorUEFTUyBjcnlwdG8uc3VidGxlLnVud3JhcEtleSgxKSByZWplY3Rl
ZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCitQQVNTIGNy
eXB0by5zdWJ0bGUudW53cmFwS2V5KDEsIDIpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVy
cm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KK1BBU1MgY3J5cHRvLnN1YnRsZS51bndyYXBLZXko
MSwgMiwgMykgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJn
dW1lbnRzLgorUEFTUyBjcnlwdG8uc3VidGxlLnVud3JhcEtleSgxLCAyLCAzLCA0KSByZWplY3Rl
ZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCitQQVNTIGNy
eXB0by5zdWJ0bGUudW53cmFwS2V5KDEsIDIsIDMsIDQsIDUpIHJlamVjdGVkIHByb21pc2UgIHdp
dGggVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KK1BBU1MgY3J5cHRvLnN1YnRsZS51
bndyYXBLZXkoMSwgMiwgMywgNCwgNSwgNikgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJy
b3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzLgorUEFTUyBjcnlwdG8uc3VidGxlLnVud3JhcEtleSgi
cmF3Iiwgd3JhcHBlZFJhd0tleSwgdW53cmFwcGluZ0tleSwgIkhNQUMiLCAiQUVTLUNCQyIsIGV4
dHJhY3RhYmxlLCBbImVuY3J5cHQiLCAiZGVjcnlwdCJdKSByZWplY3RlZCBwcm9taXNlICB3aXRo
IE5vdFN1cHBvcnRlZEVycm9yIChET00gRXhjZXB0aW9uIDkpOiBUaGUgb3BlcmF0aW9uIGlzIG5v
dCBzdXBwb3J0ZWQuLgorUEFTUyBjcnlwdG8uc3VidGxlLnVud3JhcEtleSgicmF3Iiwgd3JhcHBl
ZFJhd0tleSwgdW53cmFwcGluZ0tleSwgYWVzQ2JjUGFyYW1zLCAiQUVTLUNCQyIsIGV4dHJhY3Rh
YmxlLCBbImVuY3J5cHQiLCAiZGVjcnlwdCJdKSByZWplY3RlZCBwcm9taXNlICB3aXRoIEludmFs
aWRBY2Nlc3NFcnJvciAoRE9NIEV4Y2VwdGlvbiAxNSk6IFVud3JhcHBpbmcgQ3J5cHRvS2V5IGRv
ZXNuJ3QgbWF0Y2ggdW53cmFwIEFsZ29yaXRobUlkZW50aWZpZXIuCitQQVNTIGNyeXB0by5zdWJ0
bGUudW53cmFwS2V5KCJqd2siLCB3cmFwcGVkUmF3S2V5LCB1bndyYXBwaW5nS2V5LCAiQUVTLUtX
IiwgIkFFUy1DQkMiLCBleHRyYWN0YWJsZSwgWyJlbmNyeXB0IiwgImRlY3J5cHQiXSkgcmVqZWN0
ZWQgcHJvbWlzZSAgd2l0aCBEYXRhRXJyb3IgKERPTSBFeGNlcHRpb24gMzApOiBXcmFwcGVkS2V5
IGNhbm5vdCBiZSBjb252ZXJ0ZWQgdG8gYSBKU09OIG9iamVjdC4KK1BBU1MgY3J5cHRvLnN1YnRs
ZS51bndyYXBLZXkoInJhdyIsIHdyYXBwZWRSYXdLZXksIHVud3JhcHBpbmdLZXksICJBRVMtS1ci
LCAiQUVTLUNCQyIsIGV4dHJhY3RhYmxlLCBbIF0pIHJlamVjdGVkIHByb21pc2UgIHdpdGggU3lu
dGF4RXJyb3IgKERPTSBFeGNlcHRpb24gMTIpOiBBIHJlcXVpcmVkIHBhcmFtZXRlciB3YXMgbWlz
c2luZyBvciBvdXQtb2YtcmFuZ2UuCitQQVNTIGNyeXB0by5zdWJ0bGUudW53cmFwS2V5KCJqd2si
LCB3cmFwcGVkSndrS2V5LCB1bndyYXBwaW5nS2V5LCBhZXNDYmNQYXJhbXMsIHtuYW1lOiAiUlNB
LU9BRVAiLCBoYXNoOiAiU0hBLTEifSwgZXh0cmFjdGFibGUsIFsgXSkgcmVqZWN0ZWQgcHJvbWlz
ZSAgd2l0aCBTeW50YXhFcnJvciAoRE9NIEV4Y2VwdGlvbiAxMik6IEEgcmVxdWlyZWQgcGFyYW1l
dGVyIHdhcyBtaXNzaW5nIG9yIG91dC1vZi1yYW5nZS4KK1BBU1MgY3J5cHRvLnN1YnRsZS51bndy
YXBLZXkoInJhdyIsIHdyYXBwZWRSYXdLZXksIHVud3JhcHBpbmdLZXksICJBRVMtS1ciLCAiQUVT
LUNCQyIsIGV4dHJhY3RhYmxlLCBbImVuY3J5cHQiLCAiZGVjcnlwdCJdKSByZWplY3RlZCBwcm9t
aXNlICB3aXRoIEludmFsaWRBY2Nlc3NFcnJvciAoRE9NIEV4Y2VwdGlvbiAxNSk6IFVud3JhcHBp
bmcgQ3J5cHRvS2V5IGRvZXNuJ3Qgc3VwcG9ydCB1bndyYXBLZXkgb3BlcmF0aW9uLgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvdW53cmFwS2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3Vud3JhcEtleS1tYWxmb3JtZWQtcGFy
YW1ldGVycy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYxNzAzNDg2NTk4MjIwNWI2MTczOGQ2ZDNiYmMwZDk0
YmQ2OTVjOTcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3Vu
d3JhcEtleS1tYWxmb3JtZWQtcGFyYW1ldGVycy5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21t
b24uanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRl
c3QgVW53cmFwS2V5IG9wZXJhdGlvbiB3aXRoIG1hbGZvcm1lZCBwYXJhbWV0ZXJzIik7CisKK2pz
VGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIgZXh0cmFjdGFibGUgPSB0cnVlOwordmFyIHJhd0tl
eSA9IGFzY2lpVG9VaW50OEFycmF5KCJqbk93OTlvT1pGTElFUE1yIik7Cit2YXIgYWVzQ2JjUGFy
YW1zID0geworICAgIG5hbWU6ICJhZXMtY2JjIiwKKyAgICBpdjogYXNjaWlUb1VpbnQ4QXJyYXko
ImpuT3c5OW9PWkZMSUVQTXIiKSwKK30KK3ZhciB3cmFwcGVkUmF3S2V5ID0gaGV4U3RyaW5nVG9V
aW50OEFycmF5KCJkNjQ3ODdhYjNlMDQ4ZGJkYzMwYmI2Mjc4MWM5ZjE4ZTU4YWQ3ZGJmYzY0YWFi
MTYiKTsKK3ZhciB3cmFwcGVkSndrS2V5ID0gaGV4U3RyaW5nVG9VaW50OEFycmF5KCAiODQ4YWEy
ZjcwZWUxOGUyOTUzNTIwMTMyYTc5Y2Y0NzliMDNhODczMmEzY2M3M2Y4YzUxYzY4NDU2ZDNjMjU1
N2U4YmU5ZDU5MTFiMmE3NDI2N2UyODJhODdmZmVlZDg4ZGZiYWMzOGEyMmMyNmJhNjIxZjgzOTE1
ZDc1Mzk0MjBhNGRjMGIyMzI5YzU4NWI0NDI5NjczNjdjMWVhNmMxMTI2Zjk4YzRmMTNiN2M4Y2I3
NDAyYjg2YTU4NDRjMTk0MjBlYTMzM2RjMzNkOTA4YmU4OTE3MmY4YmFjNTliNDAzZmUyMDJmMzJj
OGVlZDE5ZjQzMWNlZGZjMzM4M2Y1MzZmMzU1NzE2M2IxMzExYWU0MmVlNTQ4NmM2ZGFmZWU5Njg2
NDBkNmI2OTk5YzY4N2YzN2ZiYThkNjVjYzY2MmYxYzg0ZjE2MjQ1NjY1ZTRhZjQxYzk4ZThiNjM2
MzJjYzFkMTllMmJlY2UyMTU0YzdlYWIxOTA1ZjNmNmFiMTdiNDk1Y2VmZWMzNTA4ZTliNDUxZjJl
YTE0MjJiOTdmMjc1ZGZkYzExOGY0NmFmMDIwNDAyNTBkMGU1NWQ4ZDhkMTcyYjk2OWJiY2Y3MzE0
YTI1N2YxMGI5OGQyYzQ3YzZjNzJhNzI3YWNhZjRjOTYzNDBkNTkwZWJjZWJjNjFmNzNiN2E4Njhi
NDkwZjNjMWUxN2M1OWVhNDc5YTNiOGRiNTU3NDE1M2RlNDZjZmRiYjA3Y2ZjNWU5NWViY2Y3YWQz
ZDVmYTA1N2JhOTQ2ZDZkYTg3MmM0YmVmM2FmNmQ3MDEzZTIyMmMyMjc2NTBkMDAyMmM5NGQzMDZj
YjE0ZTIwM2FhZDM3OGQxNzFjN2MyNGY4MjRjMzFiODFmZDE4MjY1ZTBkZTJmNGI0MTU1ODRlYmM0
YWRlYjU4ODBjNGVkZGJjODhiODU0Njk5ZjdhYTc0ZDZhMTBjYTVkZjg5NzhmMjdiNWQxMzcyYjMx
ZWE2N2E5YzQ4NDFhZTEwMWVhNmFkNzhkZjA1ODBiNzAzNThlNjkzM2FjOTJmN2ZhZWU1MzIwYWYz
MjlkODM0OWE3Yjk4NjkwNzA4YTM4ODczNzYwNGJlMGFmZmFhMDY2OTQxMGQ4ZDkzZGM0ZTRmNTdl
MTQ1ODMyNTNmMTFlNWIyN2M4OWI4NGYxZjMwMzhiYWU2ZDliMzdlM2ViNjRiNjNhZDE4ODA2Mjdh
ZWYzYjE5ZTNlODUxY2ZhZTYzOWVjNDZkZDA2ZmQxMzFiNTFmNTMwYjM3MjYwYjgzNmQ5MDEzZDhh
ZDdjODY0MDA5NjA3MGY5Njk4NGM1MjhlZTVlMjBiNjlmM2NkOThhMjY5NjIxY2Q4ODZjY2IxNmQ5
YzUyNmE4N2NkNWM0NTg1NDEzMDliYjdmYTRmMzMzNzMwNWQ3NmZjMDUwZDM5Y2E4YjFmZGIwNjc1
YTExYTQwZmZkZTljZWJiMzNkZGM0ODVlNWRjNWU3NjY3YjA4YzJhM2UwMTM2ZDA2M2E0NDdhZWU1
YThmNjUwNDI5YzVlNDIyYTcwNmM0YzI0MGE0ZDExZjRhOWI1NzgyZjJjYmEyNTc1ZjBjMzJjYjQ3
N2E5ZjBjZWY5N2ZhOTkzOTc3MTA0MTgxMzE1ZmY5MGU0NmYzYjEyYjhiMDBmNGE3NjExYzQyYjFi
YjUzZDBlNjAyMWFiMjFlZThhZTYwNmQ5ZjA2ZGZlZGI4OTE3NjMwMDdlMDIwOTc3YzI4YjQ2ZDVm
MzNiYzM1YzEyMDYxZDkwZWJiZTAyY2FiNTg3ODNjMGNhYzBjNmYxNGVkNzM1MjA0ZjIzZDBlYjZh
OWZlOWVkZWEyYWVjYjFhYzIxM2Y1OGI0MmQ1ZDk2Mzc0ZWM3MGNhMjg4YTMxMDE2YmEwMmFkZWY0
MzI1MGQ3MTdlOWZhYjg5ODJhMWExODBiMWYzOTQ0ZDQ1MGMxNTkwMTBmZDIzZjM1NGQ4ODUwMmVj
NzAyODgyYWUzZWRkNTY3YzZhNmVkZjNjYjJlMzRlZGMxM2Y0MTBhMjVkOTcyOThhYjkwNjJkZGI1
NjY1NzZmYThiNjU5OWJiYTIwNWJhYjU1YWE1ZjNmMzdlZGFmNzczM2NmMjQ5ZTY5Yzc0ZGE5NzVl
ZjI0OWNhNjczZGE3NDlkODZiYWJlYmRmNTU0MTBhMzg5NzIwYWM5NDNmMWU5ZDkyMWY1ZDY5YzU3
ODk2MzZjYjkwNGZiOTI2Mzc0NDIzNmVhZGU5YWNhZTg4OWEwMWMyMzdhYjM0MzYxMDE0NjNkZmE5
ZDkyZjkzNmMxYjY1MmM4MGYzYWJiYTc2MDIzZWJlNWI5YmZkZDU0NzM1ZTNhMzQ5NGRlMThhNDU2
OTY3ZjU4NzU4ZTU0NjAyMWZlZWYzZmEzZTZjMjM5OTgxYWEwNmYxZjdkZGM0MTVkOTU3ZmY5OTE5
YmJlYzVmMzZhZjA5MmE4MWJhNmMxNGZlNjQ0ZDJlZTk4YTJmY2RlZTJlZDcwYjg3YTUzZmZhMzI3
YjI1YjQ1NjljNTg4NmIxNWYyYmQ1ODNkNmY1YmQ3ZTk1MWE5MTUxNDJiYWEwOGM2YTljMzQzYzIw
MDY3OGEwMDVmYWQyMmEzMzdkMmM1NjI3ZjhjODE2ZGIyNTI1YTdlMTIxODQ5YjlkYTc1NmVlZTY4
YTI0MDQ1Mjg0OWZmZGI5NjUxZjk5ODI1N2M2MmU4ZmRjZGM0OGRhZGZjM2ViYjE4ZjdlYjU0NjE0
NDIwMDg4NDZhNjI5ZWM4MTQ5YzA1MmYzNTdiZjU4ODkwOTUwNDdiMjcyYmNlMGZmNTA1OTUzZTdj
ZDUyNWIyNGM4MzhiYTZlOWVkOTE5MjJhMzBlZWI4NThkZTg1NTZmMTlmNzYxZDAyODdkNzY4ODc2
MzQ2YTVkY2FjM2RiYWRkN2EzMDA3MmM5MzM4MTYyYmU1ODEyMTY2ZDk2MWY0MDMxZjk2MmVmNjY4
NzgxZDM5ZDBmYzY5ZmU1ZjQ0OTRlMzFlYzA4MmQ0YTAxNDBlMzY4YjY5OTc1YmVlYmExMjBlZjli
NjUxZWFkNTMxYjRkNDQyOTZiZDNjZmUyY2U3Zjk3YmI1YmI0OTIxMDYxYjEyYzJlMWM0YzEwOTI4
YzA5ODBmZjhkNDg4YTIyODJkMGMwNTZhNDAyNjAxNjc0MTBlMzk2NjRmNzVmZjFmMTI0OTgyMGUx
NzRlZWQ5NzgzMThhMDVlNjU0YjhhYTZjNjBiNzAwMDFhN2EwNGYwYWZmMTc1OTdkZDlhYjNjY2Mz
NGY1YmEyZTM1MmI3MjQ0ZGQzZGNjYjQ2MmQ3MTc1Yjk1YWUzOTcwZWM1ODU4ZTIzMTJhYWM3YzJj
NzlhMzdiNTNkMDg5Zjk4ODcyMGE0YzA0ZGY2MzI4YTM4NDAwNGQwZDUxZWFmYjk0ODY2MjMwOTlh
OThlNjliZTUxNjkyMDFjODg4MjRhY2MyYmIwZTE3OTA4ODkwMTRhMTc5N2MxNjhlOThkMTlmMDc4
N2MyOTM1Y2ZiYzNiZjI0YzRhZGFkNjlhODFlMGU2YWRmOGMyMWUzYzQ3ODkwNjRhYTMxYTAyNWRm
ZjVjYzZlYWJhM2YzZTQzZjEwYTlkNTMxZjQ3OTYzMzcyMTIwZTIzNjZiODRjMjgxZWQ5NjhkOWQx
MWMxZDEwMzgyNmM5MzYyNzQxZTEyNjdkMWEzZThkMjE4ODc2MWZhODc2YjdiMDk2MTdkZjE0MTMw
YzA3MjA5ZjFmMTE4OGZmNDA5NzFiODY2MDdkZWUxNGQ1NTZhODgwNDQ3OTAxYzY5ZDI5Y2IxNmMw
MjdjM2FhZTMxNmZmMDAxMzJiZGZjZDBlMzljNWUyMDEyNTJjOTc3MTQ4M2NjYjI3NWIwYzY3YjNj
YjRkY2QxOTE5OGM3NzE4NjM0NDYwMjU0ZGZkNmY4ZGY0Mzc0YjhiZWRlZTdkZDIwY2U0MTFiNWY5
ODdjYWMyY2UxNzQ5MmFhNzhmOTE5YzZkNWU1NTUwMDBmNDdmN2I4YTk4OTZkNDQ4YmM0ZmMxM2U0
MGE5ZTVjMDIyNThkNTA5YTcyODlmNDRkNzI1MGU4OTI2MDIzM2JmOTY3MDJiYjNkMzUwNDUxZjAz
ZDgwMmUwZTM3ZDlmMDFjY2U0Yzc4ODY5NDAzNDkzZWI5ODkwYzJjMDkxMDlkMWY0MjdmNTljZjA5
MWNkMWM4MzZlMjVhOWJiMDY1MDQxNDA3YzIxODNmNjQzYmNlMmU3MmRiMWU3Y2FlYWM0MmUyZDgz
NzlmOGI4NGRmMmNjN2IxZDA1NWY0MmQ2ZjYyZTBjYjU3NzFhMTRhZTg4NzI3OTIzNTBlNWY3NzAx
MTVhODY1NjRmNjBhNzg1YzUzMzI1YzhjMDg0YWZlMjE0ZGEzY2FjMTc4M2UyYmU5MDk5ZDk2ZGRi
ZTljYzNlYTNkZDFkM2FlNTA1MjZiNGFmZTI0Mzk3NDIwYTNlNGZhNjk3NjEzNDIxIik7CisKKy8v
IE5vdCBlbm91Z2ggYXJndW1lbnRzLgorc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLnVud3Jh
cEtleSgpJyk7CitzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUudW53cmFwS2V5KDEpJyk7Citz
aG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUudW53cmFwS2V5KDEsIDIpJyk7CitzaG91bGRSZWpl
Y3QoJ2NyeXB0by5zdWJ0bGUudW53cmFwS2V5KDEsIDIsIDMpJyk7CitzaG91bGRSZWplY3QoJ2Ny
eXB0by5zdWJ0bGUudW53cmFwS2V5KDEsIDIsIDMsIDQpJyk7CitzaG91bGRSZWplY3QoJ2NyeXB0
by5zdWJ0bGUudW53cmFwS2V5KDEsIDIsIDMsIDQsIDUpJyk7CitzaG91bGRSZWplY3QoJ2NyeXB0
by5zdWJ0bGUudW53cmFwS2V5KDEsIDIsIDMsIDQsIDUsIDYpJyk7CisKK2NyeXB0by5zdWJ0bGUu
aW1wb3J0S2V5KCJyYXciLCByYXdLZXksICJhZXMta3ciLCBleHRyYWN0YWJsZSwgWyJ3cmFwS2V5
IiwgInVud3JhcEtleSJdKS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAgIHVud3JhcHBpbmdL
ZXkgPSByZXN1bHQ7CisKKyAgICAvLyBXcm9uZyBBbGdvcml0aG1JZGVudGlmaWVyCisgICAgc2hv
dWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLnVud3JhcEtleSgicmF3Iiwgd3JhcHBlZFJhd0tleSwg
dW53cmFwcGluZ0tleSwgIkhNQUMiLCAiQUVTLUNCQyIsIGV4dHJhY3RhYmxlLCBbImVuY3J5cHQi
LCAiZGVjcnlwdCJdKScpOworICAgIHNob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS51bndyYXBL
ZXkoInJhdyIsIHdyYXBwZWRSYXdLZXksIHVud3JhcHBpbmdLZXksIGFlc0NiY1BhcmFtcywgIkFF
Uy1DQkMiLCBleHRyYWN0YWJsZSwgWyJlbmNyeXB0IiwgImRlY3J5cHQiXSknKTsKKyAgICAvLyBX
cm9uZyBmb3JtYXQKKyAgICByZXR1cm4gc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLnVud3Jh
cEtleSgiandrIiwgd3JhcHBlZFJhd0tleSwgdW53cmFwcGluZ0tleSwgIkFFUy1LVyIsICJBRVMt
Q0JDIiwgZXh0cmFjdGFibGUsIFsiZW5jcnlwdCIsICJkZWNyeXB0Il0pJyk7Cit9KS50aGVuKGZ1
bmN0aW9uKCkgeworICAgIC8vIEVtcHR5IHVzYWdlcworICAgIHJldHVybiBzaG91bGRSZWplY3Qo
J2NyeXB0by5zdWJ0bGUudW53cmFwS2V5KCJyYXciLCB3cmFwcGVkUmF3S2V5LCB1bndyYXBwaW5n
S2V5LCAiQUVTLUtXIiwgIkFFUy1DQkMiLCBleHRyYWN0YWJsZSwgWyBdKScpOworfSkudGhlbihm
dW5jdGlvbigpIHsKKyAgICByZXR1cm4gY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoInJhdyIsIHJh
d0tleSwgImFlcy1jYmMiLCBleHRyYWN0YWJsZSwgWyJ3cmFwS2V5IiwgInVud3JhcEtleSJdKTsK
K30pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7CisgICAgdW53cmFwcGluZ0tleSA9IHJlc3VsdDsK
KworICAgIC8vIEVtcHR5IHVzYWdlcworICAgIHJldHVybiBzaG91bGRSZWplY3QoJ2NyeXB0by5z
dWJ0bGUudW53cmFwS2V5KCJqd2siLCB3cmFwcGVkSndrS2V5LCB1bndyYXBwaW5nS2V5LCBhZXND
YmNQYXJhbXMsIHtuYW1lOiAiUlNBLU9BRVAiLCBoYXNoOiAiU0hBLTEifSwgZXh0cmFjdGFibGUs
IFsgXSknKTsKK30pLnRoZW4oZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIGNyeXB0by5zdWJ0bGUu
aW1wb3J0S2V5KCJyYXciLCByYXdLZXksICJhZXMta3ciLCBleHRyYWN0YWJsZSwgWyJ3cmFwS2V5
Il0pOworfSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICB1bndyYXBwaW5nS2V5ID0gcmVz
dWx0OworCisgICAgLy8gV3JvbmcgdXNhZ2UKKyAgICBzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0
bGUudW53cmFwS2V5KCJyYXciLCB3cmFwcGVkUmF3S2V5LCB1bndyYXBwaW5nS2V5LCAiQUVTLUtX
IiwgIkFFUy1DQkMiLCBleHRyYWN0YWJsZSwgWyJlbmNyeXB0IiwgImRlY3J5cHQiXSknKS50aGVu
KGZpbmlzaEpTVGVzdCk7Cit9KTsKKworPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9hZXMtY2JjLWltcG9y
dC1rZXktdW53cmFwLWtleS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vy
cy9zdWJ0bGUvYWVzLWNiYy1pbXBvcnQta2V5LXVud3JhcC1rZXktZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjczZDE5MzNhODdiZDY3NjUyODAyZjAyODhjNjllNWFmNGVkZWQyMjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUvYWVzLWNiYy1pbXBv
cnQta2V5LXVud3JhcC1rZXktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTYgQEAKK1tXb3JrZXJd
IFRlc3QgdW53cmFwcGluZyBhIEpXSyBSU0EgcHVibGljIGtleSB3aXRoIEFFUy1DQkMgdXNpbmcg
YW4gaW1wb3J0ZWQga2V5IGluIHdvcmtlcnMKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CisKK1N0YXJ0aW5nIHdvcmtlcjogcmVzb3VyY2VzL2Flcy1jYmMtaW1wb3J0LWtleS11bndyYXAt
a2V5LmpzCitQQVNTIFtXb3JrZXJdIHVud3JhcHBlZEtleS5rdHkgaXMgandrS2V5Lmt0eQorUEFT
UyBbV29ya2VyXSB1bndyYXBwZWRLZXkuYWxnIGlzIGp3a0tleS5hbGcKK1BBU1MgW1dvcmtlcl0g
dW53cmFwcGVkS2V5LmtleV9vcHMgaXMgandrS2V5LmtleV9vcHMKK1BBU1MgW1dvcmtlcl0gdW53
cmFwcGVkS2V5LmV4dCBpcyBqd2tLZXkuZXh0CitQQVNTIFtXb3JrZXJdIHVud3JhcHBlZEtleS5u
IGlzIGp3a0tleS5uCitQQVNTIFtXb3JrZXJdIHVud3JhcHBlZEtleS5lIGlzIGp3a0tleS5lCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL2Flcy1jYmMtaW1wb3J0LWtl
eS11bndyYXAta2V5Lmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUvYWVz
LWNiYy1pbXBvcnQta2V5LXVud3JhcC1rZXkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNDgwZWJmM2UxYjA5
ZjE1MDhmMjE5N2FhN2U4NzI1MmIyNzM4NTk4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL2Flcy1jYmMtaW1wb3J0LWtleS11bndyYXAta2V5Lmh0
bWwKQEAgLTAsMCArMSwxMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+CisgICAgPHNjcmlwdD4KKyAgICAgICAgd29ya2VyID0gc3RhcnRX
b3JrZXIoJ3Jlc291cmNlcy9hZXMtY2JjLWltcG9ydC1rZXktdW53cmFwLWtleS5qcycpOworICAg
IDwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9hZXMta3ctaW1wb3J0LWtleS11bndyYXAta2V5LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9hZXMta3ctaW1w
b3J0LWtleS11bndyYXAta2V5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lYTdkODYzNWRiMTNi
YjYyZGE5ZmEwZjlkMDNmZTE3YzRkNzY5M2NmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL2Flcy1rdy1pbXBvcnQta2V5LXVud3JhcC1rZXktZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKK1tXb3JrZXJdIFRlc3QgdW53cmFwcGluZyBhIHJh
dyBrZXkgd2l0aCBBRVMtS1cgdXNpbmcgYW4gaW1wb3J0ZWQga2V5IGluIHdvcmtlcnMKKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1N0YXJ0aW5nIHdvcmtlcjogcmVzb3VyY2VzL2Fl
cy1rdy1pbXBvcnQta2V5LXVud3JhcC1rZXkuanMKK1BBU1MgW1dvcmtlcl0gYnl0ZXNUb0FTQ0lJ
U3RyaW5nKHVud3JhcHBlZEtleSkgaXMgcmF3S2V5QVNDSUkKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9j
cnlwdG8vd29ya2Vycy9zdWJ0bGUvYWVzLWt3LWltcG9ydC1rZXktdW53cmFwLWtleS5odG1sIGIv
TGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL2Flcy1rdy1pbXBvcnQta2V5LXVud3Jh
cC1rZXkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zODM0MWRlYzY2YTc5OWUyYTYwNzUwM2RhYzFkYTc1NmUy
YTg3NDA2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3Vi
dGxlL2Flcy1rdy1pbXBvcnQta2V5LXVud3JhcC1rZXkuaHRtbApAQCAtMCwwICsxLDEyIEBACis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKyAg
ICA8c2NyaXB0PgorICAgICAgICB3b3JrZXIgPSBzdGFydFdvcmtlcigncmVzb3VyY2VzL2Flcy1r
dy1pbXBvcnQta2V5LXVud3JhcC1rZXkuanMnKTsKKyAgICA8L3NjcmlwdD4KKyAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0
bGUvcmVzb3VyY2VzL2Flcy1jYmMtaW1wb3J0LWtleS11bndyYXAta2V5LmpzIGIvTGF5b3V0VGVz
dHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL3Jlc291cmNlcy9hZXMtY2JjLWltcG9ydC1rZXktdW53
cmFwLWtleS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44YjJlZDQ5MzEzZGRkMTkxZmNiNmRkMzcyMmFhYWJjZTBl
NTY0NWIyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3Vi
dGxlL3Jlc291cmNlcy9hZXMtY2JjLWltcG9ydC1rZXktdW53cmFwLWtleS5qcwpAQCAtMCwwICsx
LDQxIEBACitpbXBvcnRTY3JpcHRzKCcuLi8uLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMnKTsKK2ltcG9ydFNjcmlwdHMoJy4uLy4uLy4uL3Jlc291cmNlcy9jb21tb24uanMnKTsKKwor
ZGVzY3JpcHRpb24oIlRlc3QgdW53cmFwcGluZyBhIEpXSyBSU0EgcHVibGljIGtleSB3aXRoIEFF
Uy1DQkMgdXNpbmcgYW4gaW1wb3J0ZWQga2V5IGluIHdvcmtlcnMiKTsKKworanNUZXN0SXNBc3lu
YyA9IHRydWU7CisKK3ZhciBleHRyYWN0YWJsZSA9IHRydWU7Cit2YXIgandrS2V5ID0geworICAg
IGt0eTogIlJTQSIsCisgICAgYWxnOiAiUlNBLU9BRVAiLAorICAgIHVzZTogImVuYyIsCisgICAg
a2V5X29wczogWyJlbmNyeXB0Il0sCisgICAgZXh0OiB0cnVlLAorICAgIG46ICJyY0NVQ3Y3T2Mx
SFZhbTFESWhDenFrblRoV2F3T3A4UUxrOFppeTJwMTBCeWpRRkNham9GaXl1QVdsLVIxV1haYWY0
eGl0TFJyYWNUOWFncHpJemMtTWJMU0hJR2dXUUdPMjFsR2lJbXk1ZnRaLUQ4YkhBcVJ6MnkxNXB6
RDRjNENFb3U3WFNTTERvUm5SMFFHNU1zRGhENnMyZ1Y5bXdIa3J0a0N4dE1XZEJpLTc3YXM4d0dt
bE5SbGRjT1NnWkRMSzhVbkNTZ0ExT2d1Wjk4OWJGeWM4dE9PRUliMHhVU2ZQU3ozTFBTQ255WXo2
OGFEam1LVmVOSC1pZzg1N09TY3lXYkd5RXkzQml3NjRxdW4zanVVbE5Xc0ozem5na09kdGVZV3l0
eDVRcjRYS05zNlItTXl5cTcyS1VwMDJtSkRaaWl5aWdseE1MX2kzLV9DZWVjQ3ciLAorICAgIGU6
ICJBUUFCIgorfTsKK3ZhciByYXdLZXkgPSBhc2NpaVRvVWludDhBcnJheSgiam5Pdzk5b09aRkxJ
RVBNciIpOwordmFyIGFlc0NiY1BhcmFtcyA9IHsKKyAgICBuYW1lOiAiYWVzLWNiYyIsCisgICAg
aXY6IGFzY2lpVG9VaW50OEFycmF5KCJqbk93OTlvT1pGTElFUE1yIiksCit9Cit2YXIgd3JhcHBl
ZEtleSA9IGhleFN0cmluZ1RvVWludDhBcnJheSggIjg0OGFhMmY3MGVlMThlMjk1MzUyMDEzMmE3
OWNmNDc5NDZlMDBjOTkzNjIzNDBiYjY5MGVkYzlhYjUzMTU3NTc0NjJjMTI4Mjc4YzYyMzJlNzcw
ZTc0MzdjNTZlZDcyMmE4ZTE3MDM4NTVmN2YzZTU2NTM5NGUxYTZhMDMwNWM0ZWYxYjMwZmE0Yzdm
NzJkMWEyMzljYzZjNmJhMDY3ODk4Nzk4YTM2YTc1MTMyYzY2YjRhMmQzZmI5NDI4ODZhZmZkM2Vh
M2IyNzU2YjBkZGM4ODZjMDFlM2I5MzEwNzQ2OWI4MjEyNDQ2ODQwOGVmOGFiNTQ4Yjg1YWE4ZjIw
NmMzMTJkNzRjZTRmMmM2NzllYjE0N2EyNzVjZWZkYTY0ZDViZGM0YTJiNWI5MGE0YWM5YWQzZWI1
ZjJjZjE5ZjVmODc2NTMyMTFmNTliNDczMWJhNjExMjU1ODJhMjMzOTUxMDk3ZGVhNjVkYjA1ODk5
ZDU4N2QxZGNmY2NhYjlhYjc0MTBhYjMwMTBiODkwNjY1MDZkYmFjYmM2YjczZTRiNTY0NzkyNzUx
Mzg4ZmEwZjU4ZDU1YzU5YzE0YTA4YzlkZmIwZjc4MTAwYjBmNWNjMjlkNjIzMjg4MjI2MzZkMzBh
NmExNTNlYzVjZDQ3MjdhZDVlNDdiNDE5YzQ4NTQ0NTY1NjM3YWM1Nzg5ODYzZDQzYjdkYTc4Y2Y0
MzgzZDA5ZDY2ZTlkNDU4ZTQzNmRiZmJlZTc1ZTM4MmIyYmFiNDllZWMyYzc0OTFmZjkzY2YwOTlm
ZTkyZmVhZjQ2NThlMzA4ODlmZDEyZDNhZTYxY2Q1ZThjOGUxZTU2YTA3OWI2NjJmOTBjZDEwY2Ri
ZGJiNGQxMmVlZmIzNmQ4MjVlMWEwNDNlODJmNWE5OGY4OTYwZDY1NWQzZjllZDVhZjMxZTU4MWZh
ODQ2Y2M1ODJmNmNlZTVjMjVlMGIzYzMyMDUwNTM0YWU5NTdjZTI3ODYwZDQ3MGJhMjZkYTJjN2Q2
ZmE2MjFiMGZhYThiZWNhZDU4ZTllNTViYjJhOWQ5ODRiMDQyZjI1ZGYyMTQ4MjUyOTg3MGQyNzFj
YmY1NTA4YTBlZGZjM2NiMzczMTZjMTFmMTZiMzQyYmMxZjFmOThhYSIpOworCisKK2NyeXB0by5z
dWJ0bGUuaW1wb3J0S2V5KCJyYXciLCByYXdLZXksICJhZXMtY2JjIiwgZXh0cmFjdGFibGUsIFsi
dW53cmFwS2V5Il0pLnRoZW4oZnVuY3Rpb24odW53cmFwcGluZ0tleSkgeworICAgIHJldHVybiBj
cnlwdG8uc3VidGxlLnVud3JhcEtleSgiandrIiwgd3JhcHBlZEtleSwgdW53cmFwcGluZ0tleSwg
YWVzQ2JjUGFyYW1zLCB7bmFtZTogInJzYS1vYWVwIiwgaGFzaDogInNoYS0xIn0sIGV4dHJhY3Rh
YmxlLCBbImVuY3J5cHQiXSk7Cit9KS50aGVuKGZ1bmN0aW9uKGNyeXB0b0tleSkgeworICAgIHJl
dHVybiBjcnlwdG8uc3VidGxlLmV4cG9ydEtleSgiandrIiwgY3J5cHRvS2V5KTsKK30pLnRoZW4o
ZnVuY3Rpb24ocmVzdWx0KSB7CisgICAgdW53cmFwcGVkS2V5ID0gcmVzdWx0OworCisgICAgc2hv
dWxkQmUoInVud3JhcHBlZEtleS5rdHkiLCAiandrS2V5Lmt0eSIpOworICAgIHNob3VsZEJlKCJ1
bndyYXBwZWRLZXkuYWxnIiwgImp3a0tleS5hbGciKTsKKyAgICBzaG91bGRCZSgidW53cmFwcGVk
S2V5LmtleV9vcHMiLCAiandrS2V5LmtleV9vcHMiKTsKKyAgICBzaG91bGRCZSgidW53cmFwcGVk
S2V5LmV4dCIsICJqd2tLZXkuZXh0Iik7CisgICAgc2hvdWxkQmUoInVud3JhcHBlZEtleS5uIiwg
Imp3a0tleS5uIik7CisgICAgc2hvdWxkQmUoInVud3JhcHBlZEtleS5lIiwgImp3a0tleS5lIik7
CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5
cHRvL3dvcmtlcnMvc3VidGxlL3Jlc291cmNlcy9hZXMta3ctaW1wb3J0LWtleS11bndyYXAta2V5
LmpzIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL3Jlc291cmNlcy9hZXMta3ct
aW1wb3J0LWtleS11bndyYXAta2V5LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYxYWE5ZjJiZjBiYWJhNDYwMDA2
MDI2OGU5Njk3Y2MzMDg4MzA4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlw
dG8vd29ya2Vycy9zdWJ0bGUvcmVzb3VyY2VzL2Flcy1rdy1pbXBvcnQta2V5LXVud3JhcC1rZXku
anMKQEAgLTAsMCArMSwyMyBAQAoraW1wb3J0U2NyaXB0cygnLi4vLi4vLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzJyk7CitpbXBvcnRTY3JpcHRzKCcuLi8uLi8uLi9yZXNvdXJjZXMvY29t
bW9uLmpzJyk7CisKK2Rlc2NyaXB0aW9uKCJUZXN0IHVud3JhcHBpbmcgYSByYXcga2V5IHdpdGgg
QUVTLUtXIHVzaW5nIGFuIGltcG9ydGVkIGtleSBpbiB3b3JrZXJzIik7CisKK2pzVGVzdElzQXN5
bmMgPSB0cnVlOworCit2YXIgZXh0cmFjdGFibGUgPSB0cnVlOwordmFyIHJhd0tleUFTQ0lJID0g
ImpuT3c5OW9PWkZMSUVQTXIiOwordmFyIHJhd0tleSA9IGFzY2lpVG9VaW50OEFycmF5KHJhd0tl
eUFTQ0lJKTsKK3ZhciB3cmFwcGVkS2V5ID0gaGV4U3RyaW5nVG9VaW50OEFycmF5KCJkNjQ3ODdh
YjNlMDQ4ZGJkYzMwYmI2Mjc4MWM5ZjE4ZTU4YWQ3ZGJmYzY0YWFiMTYiKTsKKworY3J5cHRvLnN1
YnRsZS5pbXBvcnRLZXkoInJhdyIsIHJhd0tleSwgImFlcy1rdyIsIGV4dHJhY3RhYmxlLCBbIndy
YXBLZXkiLCAidW53cmFwS2V5Il0pLnRoZW4oZnVuY3Rpb24odW53cmFwcGluZ0tleSkgeworICAg
IHJldHVybiBjcnlwdG8uc3VidGxlLnVud3JhcEtleSgicmF3Iiwgd3JhcHBlZEtleSwgdW53cmFw
cGluZ0tleSwgIkFFUy1LVyIsICJBRVMtQ0JDIiwgZXh0cmFjdGFibGUsIFsiZW5jcnlwdCIsICJk
ZWNyeXB0Il0pOworfSkudGhlbihmdW5jdGlvbihjcnlwdG9LZXkpIHsKKyAgICByZXR1cm4gY3J5
cHRvLnN1YnRsZS5leHBvcnRLZXkoInJhdyIsIGNyeXB0b0tleSk7Cit9KS50aGVuKGZ1bmN0aW9u
KHJlc3VsdCkgeworICAgIHVud3JhcHBlZEtleSA9IHJlc3VsdDsKKworICAgIHNob3VsZEJlKCJi
eXRlc1RvQVNDSUlTdHJpbmcodW53cmFwcGVkS2V5KSIsICJyYXdLZXlBU0NJSSIpOworCisgICAg
ZmluaXNoSlNUZXN0KCk7Cit9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by93b3Jr
ZXJzL3N1YnRsZS9yZXNvdXJjZXMvcnNhLW9hZXAtaW1wb3J0LWtleS11bndyYXAta2V5LmpzIGIv
TGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL3Jlc291cmNlcy9yc2Etb2FlcC1pbXBv
cnQta2V5LXVud3JhcC1rZXkuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODY4NzM3MjYzNjFmMTljOWI1NWJhNjg1
NGZkNzVmNTc1MjU5NGVjYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by93
b3JrZXJzL3N1YnRsZS9yZXNvdXJjZXMvcnNhLW9hZXAtaW1wb3J0LWtleS11bndyYXAta2V5Lmpz
CkBAIC0wLDAgKzEsNDEgQEAKK2ltcG9ydFNjcmlwdHMoJy4uLy4uLy4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcycpOworaW1wb3J0U2NyaXB0cygnLi4vLi4vLi4vcmVzb3VyY2VzL2NvbW1v
bi5qcycpOworCitkZXNjcmlwdGlvbigiVGVzdCB1bndyYXBwaW5nIGEgSldLIG9jdCBrZXkgd2l0
aCBSU0EtT0FFUCB1c2luZyBhbiBpbXBvcnRlZCBrZXkgaW4gd29ya2VycyIpOworCitqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKwordmFyIGV4dHJhY3RhYmxlID0gdHJ1ZTsKK3ZhciByYXdLZXkgPSBh
c2NpaVRvVWludDhBcnJheSgiam5Pdzk5b09aRkxJRVBNciIpOwordmFyIGp3a0tleSA9IHsKKyAg
ICBrdHk6ICJSU0EiLAorICAgIGFsZzogIlJTQS1PQUVQIiwKKyAgICB1c2U6ICJlbmMiLAorICAg
IGtleV9vcHM6IFsidW53cmFwS2V5Il0sCisgICAgZXh0OiB0cnVlLAorICAgIG46ICJseEhOME45
VlJaMF9wbDB4djMtTlh4NzBXbmprT0RTa1E1TGpIWFRGeTNET1FzdmthZ0Z6RDlIcVlRZXpDbWNl
d0xqZEs1UEx3U2VzRG9NZGZMNnR1c0JIY3Z5aXQxa3Z5ZFlGUTNOTGJFTk5rWXNpQkc1X25XNElR
R0w2SktiWjVpR2RVb3A5OFFIS202WVpSMXU0enJBdHhNNmJWRW8wNVZ2aGpSUzBNOHlXb1pWaS03
VmRzYzBMcUkwUWRxX05vY3RYNUZ1LUFxaUJON1VvMUhrWUdjUDJvQzgySl9KNWNqdzk4QlFpUDVr
RFdUaHE5UkstWDZTLUVVQUx4X200aUc2aU9ZS1RBM1NReWYxeEJxRmFYWG9FSmpjY2tiT3FrZWdl
Y3o1Yi1ZV1VoOGlaUHZod250LVJad3BJYkxKZ0t3ejE5bmRrbjlLdm9FRXc3WWJFb3ciLAorICAg
IGU6ICJBUUFCIiwKKyAgICBkOiAiY2o1RGtEYWtqTTJiS2R1R1dKUkVPLV96eUV0dUExZEQ5ZG9x
S01kN0lSdUEwQ0RTN3B1RUFTMjAtb1hSRHdmbXlNWEVkRVVEckdHdEN4aDZmekRQdnNfVC1KQTNH
VUs0RWdIbzN4WmNybFhEWGxLQ2VpbDZGbnIwZ0lTWk9JaDVka0JyY2RWTDRxdUJKZTRaWmM1bVZ1
QUM3TGQxM2V0MFR4TUo0aUFMR3JQdXFQVlVPR1NZSWNaOWlkeDV6S0tCV2hZM3RQZ2dFZEtwbkhC
bVBmVFJPNHlaYWYwTncxUVhyZ1NNWlk5ZWpldWF1ckFoNFE4bzQtNi1yOE8yTFVlN3VmTWhfY2NL
a1hJU0VoNEtkT25UMTdFTTlCUVRuOVVOUzlHb0syWlpVMFUzaW81RFN1X2twYXNyNHVPVldjR2xF
Mndjek92Mm5rR3dHMzlGM3NGRjBRIiwKKyAgICBwOiAieDV2bmNvNWotVEQ2aFRPenlONERoa1o0
NG0wNU55Y3hUNlNVRTJxVHVyVDMtdXplX0w3VFl1dExSSVJrb3ZSTWhUSFpBcjJwemlSbGFzRXMx
M1BFejladngxSV9UNjhzcnNvbnJkYmFrLVNGTWVjTTdFakhjNUMtSjEzZ1hodzlISVcyOF9TeDly
US1Ka0d3RXdFOVBFZElVZnV2ZHFwZ2gzU21Yd1BKckVzIiwKKyAgICBxOiAid2I5dmxsZ18ybi1r
TmdlMGJUaGdfN3h1MVV3VHppcE04dnhTVWtrVjJJaXBKS0lBZWtrVTNhQUI4TG9QaFVJMC0xN3BT
R3czRVRPTzI3dDE2M1RJOXFJUHB6TGJoVEg5YVVpN3FMR2JLbHpQbGducVA0M1owTEh4YzN4S0Rn
aXQtQXIyOVFMYVgydW9KQlg2VlZXdmhtaDdCSVBESE5WTTVHWmp3V09SWWdrIiwKKyAgICBkcDog
IkMyYzhzYTZ3eDJ1azVEY3Y3aW5BeWNyODNQS2djaVlyQ3dHNzgtQUMwSWZHSXUtbFRZc1pTRzFv
djJGUTNuNVdZTVdZUUNfVm81RXd1Z2lQSnpfVjNvbkJtUUY1M0hPRmVmYlNqWHZZd05vdFFjeVJV
RzVYOXFJdU90R0NIOTQ5SDRRRUQ2dktfdTBOSC1KZ3pMVWxhbXdvRlliclh6d2NoNkNDWUtzMnVr
RSIsCisgICAgZHE6ICJoYnRSbG9ETGNsSHdVcXIyeXZ6RFYwSUZib3pZanRGNzA2eC1WZlhFY25Y
QjZsczM0VEJZaXJGTEpaSUg3SDlLZXNlRVZrejdwWV9rNTU1NVFsQ1Y5a2JlYnhZWGw5UnRpaUot
Qlc2eUg0ZDRjYVBlWUlmVTlNd2VVUXhWUVdLVVVrV2ZPSGNEckNGdktabFI5Vnp6anQ3SEt0S1g5
bXIwYkNLUWNJZjliYUUiLAorICAgIHFpOiAiYS03aFVUVG5jbFVQS09mU2dIOHpFS0dKLUF2ZEZF
enh2WjVzcTQ2UWYyTWJPUnhWak40ZEphbVZ2TS1Gb3Fjd04tOWN1VWx5cjliU0ZUd1VCVzR2WGE4
WGo5YThKZlZpdU1DcXpSLW1MMXJHSVVRNUFSR2hOY1NzUmx5S1RxejVCbFdsVkttWEl4X3AtRGVW
d1BXaUpKeTRrX0ZxeUJ4cm54a3pvbUhmcnhrIiwKK307Cit2YXIgd3JhcHBlZEp3a0tleSA9IGhl
eFN0cmluZ1RvVWludDhBcnJheSgiNWJmOGI5OGFjNGYwMGMwNGZiZTg1OTAwMjk2ZTRiNDExYWNl
ZGUzMWM1N2QxNjg5ZDZhOTY3ODk2NmJmNGViMjAxOWRhOTIxZGViN2E0MTBjYzBlZjFlYmVjZmJk
MmRiNjEwNTE2OGQxMzNhNWRiZWIyOWY2OWVmYzYxYjRkNjNkMzdmZWI4NDYwYmJkMzE5NDU5YjE4
MGY4NjYxZDAxZDA4N2E5Mjk0MTNjZmE0ZmQ5NGUzNTUxMzdmYmI1NDQxMzgzN2U0N2M0ZTExNGU4
MjMzNzI2MWE1YmJmZTIwNjM3YjZiMDhkYzQ5NzRlZjFmYmVmY2FhYzVhNGY0NjMwMjFiODEwZGRm
N2M5YTJkZGVjYjExOWU4MjYwMmRjMTQxMzVhMzc4N2VkOGFiNDBhZWRjYTc0NzU1ZDM1MThiMzVk
YzM4ZWJlODVkZDEzYjU1MDBiYWUzYmQ1ZTJmMjViNmRmY2Y4YzkyNjVkZGQwNDczYmY0ZjY5ZDNk
NDBmMjQwOTQ2MmQzNWE3YmU3OTAyMDI5YmQ4ZjdjMmVhMWQ4NzliMDdlZGE1MjYzOGU5MzcyMmNl
Y2U5NjU4ZTFhY2Q2NzY4ZDc4ZDAwYjIxNDM0OTU1NTg1MzUxMTc2MjkxOTg1NGI0OTkxZmExMTBh
MDhiNmU2YjllNmQ5MzQ4NGYxNDMiKTsKKworY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoImp3ayIs
IGp3a0tleSwge25hbWU6ICJyc2Etb2FlcCIsIGhhc2g6ICJzaGEtMSJ9LCBleHRyYWN0YWJsZSwg
WyJ1bndyYXBLZXkiXSkudGhlbihmdW5jdGlvbih1bndyYXBwaW5nS2V5KSB7CisgICAgcmV0dXJu
IGNyeXB0by5zdWJ0bGUudW53cmFwS2V5KCJqd2siLCB3cmFwcGVkSndrS2V5LCB1bndyYXBwaW5n
S2V5LCAicnNhLW9hZXAiLCAiQUVTLUNCQyIsIGV4dHJhY3RhYmxlLCBbImVuY3J5cHQiLCAiZGVj
cnlwdCJdKTsKK30pLnRoZW4oZnVuY3Rpb24oY3J5cHRvS2V5KSB7CisgICAgcmV0dXJuIGNyeXB0
by5zdWJ0bGUuZXhwb3J0S2V5KCJqd2siLCBjcnlwdG9LZXkpOworfSkudGhlbihmdW5jdGlvbihy
ZXN1bHQpIHsKKyAgICB1bndyYXBwZWRLZXkgPSByZXN1bHQ7CisKKyAgICBzaG91bGRCZSgidW53
cmFwcGVkS2V5Lmt0eSIsICInb2N0JyIpOworICAgIHNob3VsZEJlKCJCYXNlNjRVUkwucGFyc2Uo
dW53cmFwcGVkS2V5LmspIiwgInJhd0tleSIpOworICAgIHNob3VsZEJlKCJ1bndyYXBwZWRLZXku
YWxnIiwgIidBMTI4Q0JDJyIpOworICAgIHNob3VsZEJlKCJ1bndyYXBwZWRLZXkua2V5X29wcyIs
ICJbJ2RlY3J5cHQnLCAnZW5jcnlwdCddIik7CisgICAgc2hvdWxkQmUoInVud3JhcHBlZEtleS5l
eHQiLCAidHJ1ZSIpOworCisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9yc2Etb2FlcC1pbXBvcnQta2V5LXVud3Jh
cC1rZXktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL3Jz
YS1vYWVwLWltcG9ydC1rZXktdW53cmFwLWtleS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2M3
OTJkNjk2MDZlMTM0ZDc3NmQ4MjlkOTFjMjE0NTg1ZDhiMDYxNwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9yc2Etb2FlcC1pbXBvcnQta2V5LXVu
d3JhcC1rZXktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTUgQEAKK1tXb3JrZXJdIFRlc3QgdW53
cmFwcGluZyBhIEpXSyBvY3Qga2V5IHdpdGggUlNBLU9BRVAgdXNpbmcgYW4gaW1wb3J0ZWQga2V5
IGluIHdvcmtlcnMKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1N0YXJ0aW5nIHdv
cmtlcjogcmVzb3VyY2VzL3JzYS1vYWVwLWltcG9ydC1rZXktdW53cmFwLWtleS5qcworUEFTUyBb
V29ya2VyXSB1bndyYXBwZWRLZXkua3R5IGlzICdvY3QnCitQQVNTIFtXb3JrZXJdIEJhc2U2NFVS
TC5wYXJzZSh1bndyYXBwZWRLZXkuaykgaXMgcmF3S2V5CitQQVNTIFtXb3JrZXJdIHVud3JhcHBl
ZEtleS5hbGcgaXMgJ0ExMjhDQkMnCitQQVNTIFtXb3JrZXJdIHVud3JhcHBlZEtleS5rZXlfb3Bz
IGlzIFsnZGVjcnlwdCcsICdlbmNyeXB0J10KK1BBU1MgW1dvcmtlcl0gdW53cmFwcGVkS2V5LmV4
dCBpcyB0cnVlCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL3JzYS1v
YWVwLWltcG9ydC1rZXktdW53cmFwLWtleS5odG1sIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtl
cnMvc3VidGxlL3JzYS1vYWVwLWltcG9ydC1rZXktdW53cmFwLWtleS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjQ5ZGI5MWYzMzc5MGViNzMzYTliNjY3ODgxNzlkNDJlYjAyNDY2ZTcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUvcnNhLW9hZXAtaW1wb3J0LWtl
eS11bndyYXAta2V5Lmh0bWwKQEAgLTAsMCArMSwxMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
d29ya2VyID0gc3RhcnRXb3JrZXIoJ3Jlc291cmNlcy9yc2Etb2FlcC1pbXBvcnQta2V5LXVud3Jh
cC1rZXkuanMnKTsKKyAgICA8L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvV2ViQ3J5cHRvQVBJL2lkbGhhcm5lc3Mt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL1dlYkNyeXB0b0FQSS9pZGxo
YXJuZXNzLWV4cGVjdGVkLnR4dAppbmRleCAwYWQ2YzY4ZjhmNWQ1ZWQwZTc5MDQzYTliMTMzMDIx
Yzc3NDRlMWExLi5kODkxM2JlZDZmNWE4NGFmOWNhMjgwZjllOWI0MmNmZDUyMjAwYTIwIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvV2ViQ3J5cHRvQVBJL2lkbGhhcm5lc3Mt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9XZWJDcnlwdG9BUEkv
aWRsaGFybmVzcy1leHBlY3RlZC50eHQKQEAgLTY1LDYgKzY1LDYgQEAgUEFTUyBTdWJ0bGVDcnlw
dG8gaW50ZXJmYWNlOiBjcnlwdG8uc3VidGxlIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZXhwb3J0
S2V5IiB3aXQKIFBBU1MgU3VidGxlQ3J5cHRvIGludGVyZmFjZTogY2FsbGluZyBleHBvcnRLZXko
S2V5Rm9ybWF0LENyeXB0b0tleSkgb24gY3J5cHRvLnN1YnRsZSB3aXRoIHRvbyBmZXcgYXJndW1l
bnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIAogUEFTUyBTdWJ0bGVDcnlwdG8gaW50ZXJmYWNlOiBj
cnlwdG8uc3VidGxlIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAid3JhcEtleSIgd2l0aCB0aGUgcHJv
cGVyIHR5cGUgKDEwKSAKIFBBU1MgU3VidGxlQ3J5cHRvIGludGVyZmFjZTogY2FsbGluZyB3cmFw
S2V5KEtleUZvcm1hdCxDcnlwdG9LZXksQ3J5cHRvS2V5LEFsZ29yaXRobUlkZW50aWZpZXIpIG9u
IGNyeXB0by5zdWJ0bGUgd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJv
ciAKLUZBSUwgU3VidGxlQ3J5cHRvIGludGVyZmFjZTogY3J5cHRvLnN1YnRsZSBtdXN0IGluaGVy
aXQgcHJvcGVydHkgInVud3JhcEtleSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDExKSBhc3NlcnRf
aW5oZXJpdHM6IHByb3BlcnR5ICJ1bndyYXBLZXkiIG5vdCBmb3VuZCBpbiBwcm90b3R5cGUgY2hh
aW4KLUZBSUwgU3VidGxlQ3J5cHRvIGludGVyZmFjZTogY2FsbGluZyB1bndyYXBLZXkoS2V5Rm9y
bWF0LEJ1ZmZlclNvdXJjZSxDcnlwdG9LZXksQWxnb3JpdGhtSWRlbnRpZmllcixBbGdvcml0aG1J
ZGVudGlmaWVyLGJvb2xlYW4sW29iamVjdCBPYmplY3RdKSBvbiBjcnlwdG8uc3VidGxlIHdpdGgg
dG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgYXNzZXJ0X2luaGVyaXRzOiBw
cm9wZXJ0eSAidW53cmFwS2V5IiBub3QgZm91bmQgaW4gcHJvdG90eXBlIGNoYWluCitQQVNTIFN1
YnRsZUNyeXB0byBpbnRlcmZhY2U6IGNyeXB0by5zdWJ0bGUgbXVzdCBpbmhlcml0IHByb3BlcnR5
ICJ1bndyYXBLZXkiIHdpdGggdGhlIHByb3BlciB0eXBlICgxMSkgCitQQVNTIFN1YnRsZUNyeXB0
byBpbnRlcmZhY2U6IGNhbGxpbmcgdW53cmFwS2V5KEtleUZvcm1hdCxCdWZmZXJTb3VyY2UsQ3J5
cHRvS2V5LEFsZ29yaXRobUlkZW50aWZpZXIsQWxnb3JpdGhtSWRlbnRpZmllcixib29sZWFuLFtv
YmplY3QgT2JqZWN0XSkgb24gY3J5cHRvLnN1YnRsZSB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11
c3QgdGhyb3cgVHlwZUVycm9yIAogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>