<?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>82974</bug_id>
          
          <creation_ts>2012-04-02 16:44:21 -0700</creation_ts>
          <short_desc>Add Encrypted Media Extensions events to HTMLMediaElement</short_desc>
          <delta_ts>2012-04-13 10:24:33 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Media</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>82968</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="David Dorwin">ddorwin</reporter>
          <assigned_to name="David Dorwin">ddorwin</assigned_to>
          <cc>abarth</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>fishd</cc>
    
    <cc>haraken</cc>
    
    <cc>jamesr</cc>
    
    <cc>japhet</cc>
    
    <cc>ojan</cc>
    
    <cc>scherkus</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>tkent+wkapi</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>594008</commentid>
    <comment_count>0</comment_count>
    <who name="David Dorwin">ddorwin</who>
    <bug_when>2012-04-02 16:44:21 -0700</bug_when>
    <thetext>Add the new events as defined in http://dvcs.w3.org/hg/html-media/raw-file/tip/encrypted-media/encrypted-media.html#events</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>594751</commentid>
    <comment_count>1</comment_count>
      <attachid>135394</attachid>
    <who name="David Dorwin">ddorwin</who>
    <bug_when>2012-04-03 12:33:31 -0700</bug_when>
    <thetext>Created attachment 135394
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>598422</commentid>
    <comment_count>2</comment_count>
      <attachid>135394</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-04-09 10:49:27 -0700</bug_when>
    <thetext>Comment on attachment 135394
Patch

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

All changes require a ChangeLog (See http://www.webkit.org/coding/contributing.html)

&gt; Source/WebCore/bindings/v8/Dictionary.cpp:302
&gt; +bool Dictionary::get(const String&amp; key, RefPtr&lt;Uint8Array&gt;&amp; value) const

This function should be outside the ENABLE(ENCRYPTED_MEDIA) ifdef.

&gt; Source/WebCore/html/HTMLMediaElement.cpp:1742
&gt; +    default:
&gt; +        ASSERT_NOT_REACHED();
&gt; +        return;

Generally WebKit leaves off the default case so that the compiler will complain if we forget an enum.

&gt; Source/WebCore/html/HTMLMediaElement.cpp:1765
&gt; +    initializer.message = messageRef;

You should either say &quot;messageRef.release() or just move the call to Uint8Array::create to this line.

&gt; Source/WebCore/html/HTMLMediaElement.cpp:1780
&gt; +    initializer.initData = initDataRef;

ditto

&gt; Source/WebCore/html/MediaKeyEvent.cpp:42
&gt; +

You&apos;ve got an extra blank line here.

&gt; Source/WebKit/chromium/public/WebMediaPlayerClient.h:71
&gt; +    virtual void keyAdded(const WebKit::WebString&amp;, const WebKit::WebString&amp;) = 0;
&gt; +    virtual void keyError(const WebKit::WebString&amp;, const WebKit::WebString&amp;, MediaKeyErrorCode, unsigned short systemCode) = 0;
&gt; +    virtual void keyMessage(const WebKit::WebString&amp;, const WebKit::WebString&amp;, const unsigned char*, unsigned) = 0;
&gt; +    virtual void keyNeeded(const WebKit::WebString&amp;, const WebKit::WebString&amp;, const unsigned char* initData, unsigned initDataLength) = 0;

We&apos;re already in the WebKit namespace, so you shouldn&apos;t need the &quot;WebKit::&quot; in WebKit::WebString</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>598425</commentid>
    <comment_count>3</comment_count>
      <attachid>135394</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-04-09 10:51:06 -0700</bug_when>
    <thetext>Comment on attachment 135394
Patch

Very minor comments above.  The main problem is just the procedural issue of needing a ChangeLog.

We should have fishd look at the WebKit API parts of this patch (and likely of the other patch as well).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>598750</commentid>
    <comment_count>4</comment_count>
      <attachid>135394</attachid>
    <who name="David Dorwin">ddorwin</who>
    <bug_when>2012-04-09 16:47:08 -0700</bug_when>
    <thetext>Comment on attachment 135394
Patch

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

&gt;&gt; Source/WebCore/bindings/v8/Dictionary.cpp:302
&gt;&gt; +bool Dictionary::get(const String&amp; key, RefPtr&lt;Uint8Array&gt;&amp; value) const
&gt; 
&gt; This function should be outside the ENABLE(ENCRYPTED_MEDIA) ifdef.

Done

&gt;&gt; Source/WebCore/html/HTMLMediaElement.cpp:1742
&gt;&gt; +        return;
&gt; 
&gt; Generally WebKit leaves off the default case so that the compiler will complain if we forget an enum.

Done. Without it, we will continue through the rest of this function. That could be handled, but it adds more code.

&gt; Source/WebCore/html/HTMLMediaElement.cpp:1749
&gt; +    initializer.errorCode = errorCodeRef;

Changed this one too.

&gt;&gt; Source/WebCore/html/HTMLMediaElement.cpp:1765
&gt;&gt; +    initializer.message = messageRef;
&gt; 
&gt; You should either say &quot;messageRef.release() or just move the call to Uint8Array::create to this line.

Done

&gt;&gt; Source/WebCore/html/HTMLMediaElement.cpp:1780
&gt;&gt; +    initializer.initData = initDataRef;
&gt; 
&gt; ditto

Done.

&gt;&gt; Source/WebCore/html/MediaKeyEvent.cpp:42
&gt;&gt; +
&gt; 
&gt; You&apos;ve got an extra blank line here.

Done

&gt;&gt; Source/WebKit/chromium/public/WebMediaPlayerClient.h:71
&gt;&gt; +    virtual void keyNeeded(const WebKit::WebString&amp;, const WebKit::WebString&amp;, const unsigned char* initData, unsigned initDataLength) = 0;
&gt; 
&gt; We&apos;re already in the WebKit namespace, so you shouldn&apos;t need the &quot;WebKit::&quot; in WebKit::WebString

Done</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>598757</commentid>
    <comment_count>5</comment_count>
      <attachid>136344</attachid>
    <who name="David Dorwin">ddorwin</who>
    <bug_when>2012-04-09 16:49:28 -0700</bug_when>
    <thetext>Created attachment 136344
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>600691</commentid>
    <comment_count>6</comment_count>
      <attachid>136782</attachid>
    <who name="David Dorwin">ddorwin</who>
    <bug_when>2012-04-11 16:25:33 -0700</bug_when>
    <thetext>Created attachment 136782
Rebased after 82973 landed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>600700</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-11 16:30:19 -0700</bug_when>
    <thetext>Please wait for approval from abarth@webkit.org, dglazkov@chromium.org, fishd@chromium.org, jamesr@chromium.org or tkent@chromium.org before submitting, as this patch contains changes to the Chromium public API. See also https://trac.webkit.org/wiki/ChromiumWebKitAPI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>600718</commentid>
    <comment_count>8</comment_count>
      <attachid>136782</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-04-11 16:47:57 -0700</bug_when>
    <thetext>Comment on attachment 136782
Rebased after 82973 landed

This looks good on a first pass, but I&apos;ll need to go through it in more detail to actually review it.  (Other reviewers should feel free to review it in the meantime.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>600749</commentid>
    <comment_count>9</comment_count>
      <attachid>136782</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-11 17:24:17 -0700</bug_when>
    <thetext>Comment on attachment 136782
Rebased after 82973 landed

Attachment 136782 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/12393057</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>600755</commentid>
    <comment_count>10</comment_count>
      <attachid>136797</attachid>
    <who name="David Dorwin">ddorwin</who>
    <bug_when>2012-04-11 17:35:16 -0700</bug_when>
    <thetext>Created attachment 136797
Avoid using uninitialized mediaKeyErrorCode (exposed by removing default case)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>601564</commentid>
    <comment_count>11</comment_count>
      <attachid>136797</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-04-12 14:49:51 -0700</bug_when>
    <thetext>Comment on attachment 136797
Avoid using uninitialized mediaKeyErrorCode (exposed by removing default case)

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

This looks pretty straightforward.  Thanks.

&gt; Source/WebCore/html/MediaKeyEvent.idl:37
&gt; +        readonly attribute [InitializedByEventConstructor] DOMString defaultUrl;

Is this really supposed to be defaultUrl and not defaultURL ?  I though capitalizing URL was idiomatic in the platform.  (I could be misremembering.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>601580</commentid>
    <comment_count>12</comment_count>
      <attachid>136797</attachid>
    <who name="David Dorwin">ddorwin</who>
    <bug_when>2012-04-12 15:30:36 -0700</bug_when>
    <thetext>Comment on attachment 136797
Avoid using uninitialized mediaKeyErrorCode (exposed by removing default case)

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

&gt;&gt; Source/WebCore/html/MediaKeyEvent.idl:37
&gt;&gt; +        readonly attribute [InitializedByEventConstructor] DOMString defaultUrl;
&gt; 
&gt; Is this really supposed to be defaultUrl and not defaultURL ?  I though capitalizing URL was idiomatic in the platform.  (I could be misremembering.)

Looking at other WebKit IDL files, there is a mixture of capitalizations but most are &quot;URL&quot;. 
The proposed spec uses the former but not for any good reason. I&apos;ll change it here and file a bug against the proposed spec.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>601582</commentid>
    <comment_count>13</comment_count>
      <attachid>136983</attachid>
    <who name="David Dorwin">ddorwin</who>
    <bug_when>2012-04-12 15:31:55 -0700</bug_when>
    <thetext>Created attachment 136983
defaultUrl =&gt; defaultURL</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>601587</commentid>
    <comment_count>14</comment_count>
      <attachid>136985</attachid>
    <who name="David Dorwin">ddorwin</who>
    <bug_when>2012-04-12 15:37:57 -0700</bug_when>
    <thetext>Created attachment 136985
Fixed ChangeLog</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>601595</commentid>
    <comment_count>15</comment_count>
      <attachid>136985</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-04-12 15:53:47 -0700</bug_when>
    <thetext>Comment on attachment 136985
Fixed ChangeLog

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

&gt; LayoutTests/fast/js/resources/js-test-pre.js:257
&gt; +function shouldBeZero(_a) { shouldBe(_a, &quot;0&quot;); }

By the way, I really appreciate you improving this core scripts rather than making one-off solutions for just your tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>601721</commentid>
    <comment_count>16</comment_count>
      <attachid>136985</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-12 18:32:54 -0700</bug_when>
    <thetext>Comment on attachment 136985
Fixed ChangeLog

Clearing flags on attachment: 136985

Committed r114067: &lt;http://trac.webkit.org/changeset/114067&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>601722</commentid>
    <comment_count>17</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-12 18:33:01 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>602106</commentid>
    <comment_count>18</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-04-13 08:34:07 -0700</bug_when>
    <thetext>This changed the results of the fast/dom/Window/window-property-descriptors.html test, which is now broken on the bots.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>602135</commentid>
    <comment_count>19</comment_count>
    <who name="David Dorwin">ddorwin</who>
    <bug_when>2012-04-13 09:28:21 -0700</bug_when>
    <thetext>Simon, which bots? I clicked a few and didn&apos;t see that test failing. Can you provide a link? Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>602175</commentid>
    <comment_count>20</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-04-13 10:21:16 -0700</bug_when>
    <thetext>http://build.webkit.org/results/Lion%20Release%20(Tests)/r114135%20(7573)/fast/dom/Window/window-property-descriptors-pretty-diff.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>602176</commentid>
    <comment_count>21</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-04-13 10:24:33 -0700</bug_when>
    <thetext>http://build.webkit.org/results/Lion%20Release%20(Tests)/r114135%20(7573)/fast/dom/Window/window-property-descriptors-pretty-diff.html

Looks like this just needs a new baseline.  It&apos;s picking up the new functions you added to the test harness.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>135394</attachid>
            <date>2012-04-03 12:33:31 -0700</date>
            <delta_ts>2012-04-09 16:49:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-82974-20120403123330.patch</filename>
            <type>text/plain</type>
            <size>85831</size>
            <attacher name="David Dorwin">ddorwin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEyOTM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggOWRjNTg5Zjg1
MjNmZmM0ZTlhNDdhZjE0MTAzNTU2ZTZlOTEyMDRjNC4uYjkyYWMxYmU3YTA2OGU2NmU4Njc5ZTZk
ZDY4NDgxOTI4MmQzNzhmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBp
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtMTA1NSw2ICsxMDU1LDggQEAK
ICAgICAgICAgICAgICdodG1sL0ltYWdlRGF0YS5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvTWVk
aWFDb250cm9sbGVyLmlkbCcsCiAgICAgICAgICAgICAnaHRtbC9NZWRpYUVycm9yLmlkbCcsCisg
ICAgICAgICAgICAnaHRtbC9NZWRpYUtleUVycm9yLmlkbCcsCisgICAgICAgICAgICAnaHRtbC9N
ZWRpYUtleUV2ZW50LmlkbCcsCiAgICAgICAgICAgICAnaHRtbC9UZXh0TWV0cmljcy5pZGwnLAog
ICAgICAgICAgICAgJ2h0bWwvVGltZVJhbmdlcy5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvVmFs
aWRpdHlTdGF0ZS5pZGwnLApAQCAtNTU0Niw2ICs1NTQ4LDkgQEAKICAgICAgICAgICAgICdodG1s
L01lZGlhRXJyb3IuaCcsCiAgICAgICAgICAgICAnaHRtbC9NZWRpYUZyYWdtZW50VVJJUGFyc2Vy
LmNwcCcsCiAgICAgICAgICAgICAnaHRtbC9NZWRpYUZyYWdtZW50VVJJUGFyc2VyLmgnLAorICAg
ICAgICAgICAgJ2h0bWwvTWVkaWFLZXlFcnJvci5oJywKKyAgICAgICAgICAgICdodG1sL01lZGlh
S2V5RXZlbnQuY3BwJywKKyAgICAgICAgICAgICdodG1sL01lZGlhS2V5RXZlbnQuaCcsCiAgICAg
ICAgICAgICAnaHRtbC9NaWNyb0RhdGFJdGVtVmFsdWUuY3BwJywKICAgICAgICAgICAgICdodG1s
L01pY3JvRGF0YUl0ZW1WYWx1ZS5oJywKICAgICAgICAgICAgICdodG1sL01vbnRoSW5wdXRUeXBl
LmNwcCcsCkBAIC03NTM5LDYgKzc1NDQsMTAgQEAKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTWF0aE1MRWxlbWVudFdyYXBwZXJGYWN0b3J5Lmgn
LAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNN
ZWRpYUVycm9yLmNwcCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU01lZGlhRXJyb3IuaCcsCisgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01lZGlhS2V5RXJyb3IuY3BwJywKKyAgICAgICAgICAg
ICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTWVkaWFLZXlFcnJvci5o
JywKKyAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
TWVkaWFLZXlFdmVudC5jcHAnLAorICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNNZWRpYUtleUV2ZW50LmgnLAogICAgICAgICAgICAgJzwoUFJPRFVD
VF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNZWRpYUxpc3QuY3BwJywKICAgICAgICAg
ICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTWVkaWFMaXN0Lmgn
LAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNN
ZWRpYVF1ZXJ5TGlzdC5jcHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvRGljdGlvbmFyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9EaWN0aW9uYXJ5
LmNwcAppbmRleCBjMjlmOTZhZDIwMTQxMWZmMzkzZGJiZDk1ZDhhN2YyNGVhZDg3NGUxLi45ODM4
YzZkNzBmZWRlYzU4ZjljOWYzN2ZkNDExMWE3YzE5MmIwNjM5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9EaWN0aW9uYXJ5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9EaWN0aW9uYXJ5LmNwcApAQCAtMzgsNiArMzgsMTEgQEAKICNpbmNsdWRlICJW
OElEQktleVJhbmdlLmgiCiAjZW5kaWYKIAorI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCisj
aW5jbHVkZSAiVjhNZWRpYUtleUVycm9yLmgiCisjaW5jbHVkZSAiVjhVaW50OEFycmF5LmgiCisj
ZW5kaWYKKwogI2lmIEVOQUJMRShWSURFT19UUkFDSykKICNpbmNsdWRlICJUcmFja0Jhc2UuaCIK
ICNpbmNsdWRlICJWOFRleHRUcmFjay5oIgpAQCAtMjkzLDYgKzI5OCw0NCBAQCBib29sIERpY3Rp
b25hcnk6OmdldFdpdGhVbmRlZmluZWRPck51bGxDaGVjayhjb25zdCBTdHJpbmcmIGtleSwgU3Ry
aW5nJiB2YWx1ZSkgYwogICAgIHJldHVybiB0cnVlOwogfQogCisjaWYgRU5BQkxFKEVOQ1JZUFRF
RF9NRURJQSkKK2Jvb2wgRGljdGlvbmFyeTo6Z2V0KGNvbnN0IFN0cmluZyYga2V5LCBSZWZQdHI8
VWludDhBcnJheT4mIHZhbHVlKSBjb25zdAoreworICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHY4
VmFsdWU7CisgICAgaWYgKCFnZXRLZXkoa2V5LCB2OFZhbHVlKSkKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworCisgICAgVWludDhBcnJheSogc291cmNlID0gMDsKKyAgICBpZiAodjhWYWx1ZS0+SXNP
YmplY3QoKSkgeworICAgICAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHdyYXBwZXIgPSB2ODo6
SGFuZGxlPHY4OjpPYmplY3Q+OjpDYXN0KHY4VmFsdWUpOworCisgICAgICAgIHY4OjpIYW5kbGU8
djg6Ok9iamVjdD4gYXJyYXkgPSBWOERPTVdyYXBwZXI6Omxvb2t1cERPTVdyYXBwZXIoVjhVaW50
OEFycmF5OjpHZXRUZW1wbGF0ZSgpLCB3cmFwcGVyKTsKKyAgICAgICAgaWYgKCFhcnJheS5Jc0Vt
cHR5KCkpCisgICAgICAgICAgICBzb3VyY2UgPSBWOFVpbnQ4QXJyYXk6OnRvTmF0aXZlKGFycmF5
KTsKKyAgICB9CisgICAgdmFsdWUgPSBzb3VyY2U7CisgICAgcmV0dXJuIHRydWU7Cit9CisKK2Jv
b2wgRGljdGlvbmFyeTo6Z2V0KGNvbnN0IFN0cmluZyYga2V5LCBSZWZQdHI8TWVkaWFLZXlFcnJv
cj4mIHZhbHVlKSBjb25zdAoreworICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHY4VmFsdWU7Cisg
ICAgaWYgKCFnZXRLZXkoa2V5LCB2OFZhbHVlKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisg
ICAgTWVkaWFLZXlFcnJvciogc291cmNlID0gMDsKKyAgICBpZiAodjhWYWx1ZS0+SXNPYmplY3Qo
KSkgeworICAgICAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHdyYXBwZXIgPSB2ODo6SGFuZGxl
PHY4OjpPYmplY3Q+OjpDYXN0KHY4VmFsdWUpOworCisgICAgICAgIHY4OjpIYW5kbGU8djg6Ok9i
amVjdD4gZXJyb3IgPSBWOERPTVdyYXBwZXI6Omxvb2t1cERPTVdyYXBwZXIoVjhNZWRpYUtleUVy
cm9yOjpHZXRUZW1wbGF0ZSgpLCB3cmFwcGVyKTsKKyAgICAgICAgaWYgKCFlcnJvci5Jc0VtcHR5
KCkpCisgICAgICAgICAgICBzb3VyY2UgPSBWOE1lZGlhS2V5RXJyb3I6OnRvTmF0aXZlKGVycm9y
KTsKKyAgICB9CisgICAgdmFsdWUgPSBzb3VyY2U7CisgICAgcmV0dXJuIHRydWU7Cit9CisjZW5k
aWYKKwogI2lmIEVOQUJMRShWSURFT19UUkFDSykKIGJvb2wgRGljdGlvbmFyeTo6Z2V0KGNvbnN0
IFN0cmluZyYga2V5LCBSZWZQdHI8VHJhY2tCYXNlPiYgdmFsdWUpIGNvbnN0CiB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9EaWN0aW9uYXJ5LmggYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9EaWN0aW9uYXJ5LmgKaW5kZXggMjZjNGE2YjdhYzIyZTRmODA3MDQy
MWI3MGUwM2NhM2I3Y2ZlOGI0Mi4uNGNmODRiMTkyMDExMjJhNGZkYWNkMjkwZjJhY2QyZTM3YjQ3
ZDA0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvRGljdGlvbmFyeS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RpY3Rpb25hcnkuaApAQCAtMzksNiAr
MzksNyBAQCBjbGFzcyBET01TdHJpbmdMaXN0OwogY2xhc3MgRE9NV2luZG93OwogY2xhc3MgSURC
S2V5UmFuZ2U7CiBjbGFzcyBTdG9yYWdlOworY2xhc3MgTWVkaWFLZXlFcnJvcjsKIGNsYXNzIFRy
YWNrQmFzZTsKIGNsYXNzIFNwZWVjaFJlY29nbml0aW9uRXJyb3I7CiBjbGFzcyBTcGVlY2hSZWNv
Z25pdGlvblJlc3VsdDsKQEAgLTY3LDYgKzY4LDEwIEBAIHB1YmxpYzoKICAgICBib29sIGdldChj
b25zdCBTdHJpbmcmLCBSZWZQdHI8RE9NV2luZG93PiYpIGNvbnN0OwogICAgIGJvb2wgZ2V0KGNv
bnN0IFN0cmluZyYsIFJlZlB0cjxTdG9yYWdlPiYpIGNvbnN0OwogICAgIGJvb2wgZ2V0KGNvbnN0
IFN0cmluZyYsIE1lc3NhZ2VQb3J0QXJyYXkmKSBjb25zdDsKKyNpZiBFTkFCTEUoRU5DUllQVEVE
X01FRElBKQorICAgIGJvb2wgZ2V0KGNvbnN0IFN0cmluZyYsIFJlZlB0cjxVaW50OEFycmF5PiYp
IGNvbnN0OworICAgIGJvb2wgZ2V0KGNvbnN0IFN0cmluZyYsIFJlZlB0cjxNZWRpYUtleUVycm9y
PiYpIGNvbnN0OworI2VuZGlmCiAjaWYgRU5BQkxFKFZJREVPX1RSQUNLKQogICAgIGJvb2wgZ2V0
KGNvbnN0IFN0cmluZyYsIFJlZlB0cjxUcmFja0Jhc2U+JikgY29uc3Q7CiAjZW5kaWYKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9k
b20vRXZlbnROYW1lcy5oCmluZGV4IGE2NWE1MmM1MjgxODgwMDk4YjI3ZjVmZDdhZGJmYTdiMzQ5
ZGIwYjUuLjIwNWE4Yzk5MjFjYTUxODJhNjhjN2NjMmJmMWNlYThlY2Q5YzFkYzAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0V2ZW50TmFtZXMuaApAQCAtMTYxLDYgKzE2MSwxMSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgbWFjcm8od2Via2l0c291cmNlZW5kZWQpIFwKICAgICBtYWNybyh3ZWJraXRzb3VyY2Vj
bG9zZSkgXAogICAgIFwKKyAgICBtYWNybyh3ZWJraXRrZXlhZGRlZCkgXAorICAgIG1hY3JvKHdl
YmtpdGtleWVycm9yKSBcCisgICAgbWFjcm8od2Via2l0a2V5bWVzc2FnZSkgXAorICAgIG1hY3Jv
KHdlYmtpdG5lZWRrZXkpIFwKKyAgICBcCiAgICAgbWFjcm8ocHJvZ3Jlc3MpIFwKICAgICBtYWNy
byhzdGFsbGVkKSBcCiAgICAgbWFjcm8oc3VzcGVuZCkgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL0V2ZW50TmFtZXMuaW4gYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5p
bgppbmRleCBkODY2MTEyNDA4MGU4MWQxOTU5YzhjMDk1MmI1Njk2MWM3YWU4ZjI5Li5kNWE4ZDk5
MDgzYjRhZDJmOGJlNWJjOTgxYTgzYTJjMjdjMjNiNmM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vRXZlbnROYW1lcy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1l
cy5pbgpAQCAtNDIsNCArNDIsNSBAQCBUb3VjaEV2ZW50IGNvbmRpdGlvbmFsPVRPVUNIX0VWRU5U
UywgcnVudGltZUNvbmRpdGlvbmFsPXRvdWNoRW5hYmxlZAogRGV2aWNlTW90aW9uRXZlbnQgY29u
ZGl0aW9uYWw9REVWSUNFX09SSUVOVEFUSU9OCiBEZXZpY2VPcmllbnRhdGlvbkV2ZW50IGNvbmRp
dGlvbmFsPURFVklDRV9PUklFTlRBVElPTgogT3JpZW50YXRpb25FdmVudCBpbnRlcmZhY2VOYW1l
PUV2ZW50LCBjb25kaXRpb25hbD1PUklFTlRBVElPTl9FVkVOVFMKK01lZGlhS2V5RXZlbnQgY29u
ZGl0aW9uYWw9RU5DUllQVEVEX01FRElBCiBUcmFja0V2ZW50IGNvbmRpdGlvbmFsPVZJREVPX1RS
QUNLCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5p
biBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluCmluZGV4IDE1MWRm
N2YzOGE1YTUzODNmMjk1ODQ2ZTMyZTE2YmZmMWEyNGQxOGIuLjRmNDI4NDMzNTJmM2EwMjE1ZTZl
MmNjYjMyMWNiOWU5NjIyZjU3MzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TEF0dHJpYnV0ZU5hbWVzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0
ZU5hbWVzLmluCkBAIC0yNDcsNiArMjQ3LDEwIEBAIG9ud2Via2l0YmVnaW5mdWxsc2NyZWVuCiBv
bndlYmtpdGVuZGZ1bGxzY3JlZW4KIG9ud2Via2l0ZnVsbHNjcmVlbmNoYW5nZQogb253ZWJraXRm
dWxsc2NyZWVuZXJyb3IKK29ud2Via2l0a2V5YWRkZWQKK29ud2Via2l0a2V5ZXJyb3IKK29ud2Vi
a2l0a2V5bWVzc2FnZQorb253ZWJraXRuZWVka2V5CiBvbndlYmtpdHRyYW5zaXRpb25lbmQKIG9w
ZW4KIG9wdGltdW0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxl
bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCmluZGV4
IDEwMDk2ZGY3YzUxZjg3Y2Q4MzAzOTdjOTUwOTliNmM2YmMyM2ZkNGQuLjMzYmNjMzZmMjk4MDU4
MTI0MTIyYjYwYzYwOGFlMTM1MjUyNzAyNzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVk
aWFFbGVtZW50LmNwcApAQCAtNTgsNiArNTgsOCBAQAogI2luY2x1ZGUgIk1lZGlhRG9jdW1lbnQu
aCIKICNpbmNsdWRlICJNZWRpYUVycm9yLmgiCiAjaW5jbHVkZSAiTWVkaWFGcmFnbWVudFVSSVBh
cnNlci5oIgorI2luY2x1ZGUgIk1lZGlhS2V5RXJyb3IuaCIKKyNpbmNsdWRlICJNZWRpYUtleUV2
ZW50LmgiCiAjaW5jbHVkZSAiTWVkaWFMaXN0LmgiCiAjaW5jbHVkZSAiTWVkaWFQbGF5ZXIuaCIK
ICNpbmNsdWRlICJNZWRpYVF1ZXJ5RXZhbHVhdG9yLmgiCkBAIC0xNjk5LDYgKzE3MDEsOTIgQEAg
U3RyaW5nIEhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhUGxheWVyU291cmNlVVJMKCkgY29uc3QKIH0K
ICNlbmRpZgogCisjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKK3ZvaWQgSFRNTE1lZGlhRWxl
bWVudDo6bWVkaWFQbGF5ZXJLZXlBZGRlZChNZWRpYVBsYXllciosIGNvbnN0IFN0cmluZyYga2V5
U3lzdGVtLCBjb25zdCBTdHJpbmcmIHNlc3Npb25JZCkKK3sKKyAgICBNZWRpYUtleUV2ZW50SW5p
dCBpbml0aWFsaXplcjsKKyAgICBpbml0aWFsaXplci5rZXlTeXN0ZW0gPSBrZXlTeXN0ZW07Cisg
ICAgaW5pdGlhbGl6ZXIuc2Vzc2lvbklkID0gc2Vzc2lvbklkOworICAgIGluaXRpYWxpemVyLmJ1
YmJsZXMgPSBmYWxzZTsKKyAgICBpbml0aWFsaXplci5jYW5jZWxhYmxlID0gZmFsc2U7CisKKyAg
ICBSZWZQdHI8RXZlbnQ+IGV2ZW50ID0gTWVkaWFLZXlFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMo
KS53ZWJraXRrZXlhZGRlZEV2ZW50LCBpbml0aWFsaXplcik7CisgICAgZXZlbnQtPnNldFRhcmdl
dCh0aGlzKTsKKyAgICBtX2FzeW5jRXZlbnRRdWV1ZS0+ZW5xdWV1ZUV2ZW50KGV2ZW50LnJlbGVh
c2UoKSk7Cit9CisKK3ZvaWQgSFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJLZXlFcnJvcihN
ZWRpYVBsYXllciosIGNvbnN0IFN0cmluZyYga2V5U3lzdGVtLCBjb25zdCBTdHJpbmcmIHNlc3Np
b25JZCwgTWVkaWFQbGF5ZXJDbGllbnQ6Ok1lZGlhS2V5RXJyb3JDb2RlIGVycm9yQ29kZSwgdW5z
aWduZWQgc2hvcnQgc3lzdGVtQ29kZSkKK3sKKyAgICBNZWRpYUtleUVycm9yOjpDb2RlIG1lZGlh
S2V5RXJyb3JDb2RlOworICAgIHN3aXRjaCAoZXJyb3JDb2RlKSB7CisgICAgY2FzZSBNZWRpYVBs
YXllckNsaWVudDo6VW5rbm93bkVycm9yOgorICAgICAgICBtZWRpYUtleUVycm9yQ29kZSA9IE1l
ZGlhS2V5RXJyb3I6Ok1FRElBX0tFWUVSUl9VTktOT1dOOworICAgICAgICBicmVhazsKKyAgICBj
YXNlIE1lZGlhUGxheWVyQ2xpZW50OjpDbGllbnRFcnJvcjoKKyAgICAgICAgbWVkaWFLZXlFcnJv
ckNvZGUgPSBNZWRpYUtleUVycm9yOjpNRURJQV9LRVlFUlJfQ0xJRU5UOworICAgICAgICBicmVh
azsKKyAgICBjYXNlIE1lZGlhUGxheWVyQ2xpZW50OjpTZXJ2aWNlRXJyb3I6CisgICAgICAgIG1l
ZGlhS2V5RXJyb3JDb2RlID0gTWVkaWFLZXlFcnJvcjo6TUVESUFfS0VZRVJSX1NFUlZJQ0U7Cisg
ICAgICAgIGJyZWFrOworICAgIGNhc2UgTWVkaWFQbGF5ZXJDbGllbnQ6Ok91dHB1dEVycm9yOgor
ICAgICAgICBtZWRpYUtleUVycm9yQ29kZSA9IE1lZGlhS2V5RXJyb3I6Ok1FRElBX0tFWUVSUl9P
VVRQVVQ7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgTWVkaWFQbGF5ZXJDbGllbnQ6OkhhcmR3
YXJlQ2hhbmdlRXJyb3I6CisgICAgICAgIG1lZGlhS2V5RXJyb3JDb2RlID0gTWVkaWFLZXlFcnJv
cjo6TUVESUFfS0VZRVJSX0hBUkRXQVJFQ0hBTkdFOworICAgICAgICBicmVhazsKKyAgICBjYXNl
IE1lZGlhUGxheWVyQ2xpZW50OjpEb21haW5FcnJvcjoKKyAgICAgICAgbWVkaWFLZXlFcnJvckNv
ZGUgPSBNZWRpYUtleUVycm9yOjpNRURJQV9LRVlFUlJfRE9NQUlOOworICAgICAgICBicmVhazsK
KyAgICBkZWZhdWx0OgorICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgcmV0
dXJuOworICAgIH0KKworICAgIFJlZlB0cjxNZWRpYUtleUVycm9yPiBlcnJvckNvZGVSZWYgPSBN
ZWRpYUtleUVycm9yOjpjcmVhdGUobWVkaWFLZXlFcnJvckNvZGUpOworICAgIE1lZGlhS2V5RXZl
bnRJbml0IGluaXRpYWxpemVyOworICAgIGluaXRpYWxpemVyLmtleVN5c3RlbSA9IGtleVN5c3Rl
bTsKKyAgICBpbml0aWFsaXplci5zZXNzaW9uSWQgPSBzZXNzaW9uSWQ7CisgICAgaW5pdGlhbGl6
ZXIuZXJyb3JDb2RlID0gZXJyb3JDb2RlUmVmOworICAgIGluaXRpYWxpemVyLnN5c3RlbUNvZGUg
PSBzeXN0ZW1Db2RlOworICAgIGluaXRpYWxpemVyLmJ1YmJsZXMgPSBmYWxzZTsKKyAgICBpbml0
aWFsaXplci5jYW5jZWxhYmxlID0gZmFsc2U7CisKKyAgICBSZWZQdHI8RXZlbnQ+IGV2ZW50ID0g
TWVkaWFLZXlFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS53ZWJraXRrZXllcnJvckV2ZW50LCBp
bml0aWFsaXplcik7CisgICAgZXZlbnQtPnNldFRhcmdldCh0aGlzKTsKKyAgICBtX2FzeW5jRXZl
bnRRdWV1ZS0+ZW5xdWV1ZUV2ZW50KGV2ZW50LnJlbGVhc2UoKSk7Cit9CisKK3ZvaWQgSFRNTE1l
ZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJLZXlNZXNzYWdlKE1lZGlhUGxheWVyKiwgY29uc3QgU3Ry
aW5nJiBrZXlTeXN0ZW0sIGNvbnN0IFN0cmluZyYgc2Vzc2lvbklkLCBjb25zdCB1bnNpZ25lZCBj
aGFyKiBtZXNzYWdlLCB1bnNpZ25lZCBtZXNzYWdlTGVuZ3RoKQoreworICAgIFJlZlB0cjxVaW50
OEFycmF5PiBtZXNzYWdlUmVmID0gVWludDhBcnJheTo6Y3JlYXRlKG1lc3NhZ2UsIG1lc3NhZ2VM
ZW5ndGgpOworICAgIE1lZGlhS2V5RXZlbnRJbml0IGluaXRpYWxpemVyOworICAgIGluaXRpYWxp
emVyLmtleVN5c3RlbSA9IGtleVN5c3RlbTsKKyAgICBpbml0aWFsaXplci5zZXNzaW9uSWQgPSBz
ZXNzaW9uSWQ7CisgICAgaW5pdGlhbGl6ZXIubWVzc2FnZSA9IG1lc3NhZ2VSZWY7CisgICAgaW5p
dGlhbGl6ZXIuYnViYmxlcyA9IGZhbHNlOworICAgIGluaXRpYWxpemVyLmNhbmNlbGFibGUgPSBm
YWxzZTsKKworICAgIFJlZlB0cjxFdmVudD4gZXZlbnQgPSBNZWRpYUtleUV2ZW50OjpjcmVhdGUo
ZXZlbnROYW1lcygpLndlYmtpdGtleW1lc3NhZ2VFdmVudCwgaW5pdGlhbGl6ZXIpOworICAgIGV2
ZW50LT5zZXRUYXJnZXQodGhpcyk7CisgICAgbV9hc3luY0V2ZW50UXVldWUtPmVucXVldWVFdmVu
dChldmVudC5yZWxlYXNlKCkpOworfQorCit2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhUGxh
eWVyS2V5TmVlZGVkKE1lZGlhUGxheWVyKiwgY29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0sIGNvbnN0
IFN0cmluZyYgc2Vzc2lvbklkLCBjb25zdCB1bnNpZ25lZCBjaGFyKiBpbml0RGF0YSwgdW5zaWdu
ZWQgaW5pdERhdGFMZW5ndGgpCit7CisgICAgUmVmUHRyPFVpbnQ4QXJyYXk+IGluaXREYXRhUmVm
ID0gVWludDhBcnJheTo6Y3JlYXRlKGluaXREYXRhLCBpbml0RGF0YUxlbmd0aCk7CisgICAgTWVk
aWFLZXlFdmVudEluaXQgaW5pdGlhbGl6ZXI7CisgICAgaW5pdGlhbGl6ZXIua2V5U3lzdGVtID0g
a2V5U3lzdGVtOworICAgIGluaXRpYWxpemVyLnNlc3Npb25JZCA9IHNlc3Npb25JZDsKKyAgICBp
bml0aWFsaXplci5pbml0RGF0YSA9IGluaXREYXRhUmVmOworICAgIGluaXRpYWxpemVyLmJ1YmJs
ZXMgPSBmYWxzZTsKKyAgICBpbml0aWFsaXplci5jYW5jZWxhYmxlID0gZmFsc2U7CisKKyAgICBS
ZWZQdHI8RXZlbnQ+IGV2ZW50ID0gTWVkaWFLZXlFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS53
ZWJraXRuZWVka2V5RXZlbnQsIGluaXRpYWxpemVyKTsKKyAgICBldmVudC0+c2V0VGFyZ2V0KHRo
aXMpOworICAgIG1fYXN5bmNFdmVudFF1ZXVlLT5lbnF1ZXVlRXZlbnQoZXZlbnQucmVsZWFzZSgp
KTsKK30KKyNlbmRpZgorCiB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnByb2dyZXNzRXZlbnRUaW1l
ckZpcmVkKFRpbWVyPEhUTUxNZWRpYUVsZW1lbnQ+KikKIHsKICAgICBBU1NFUlQobV9wbGF5ZXIp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAppbmRleCA0OGY1NDBmMjA3ODMx
ZTQwZTY3ZmRlNzE5NDBjMjk2OGY0NjM0ZTcwLi44OWI0OGUwN2M4YmE1MDdhYzQ3YThjMWMwODIy
NDRhMzViNGM1NDJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVs
ZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaApAQCAt
MTkwLDYgKzE5MCwxMSBAQCBwdWJsaWM6CiAgICAgdm9pZCB3ZWJraXRBZGRLZXkoY29uc3QgU3Ry
aW5nJiBrZXlTeXN0ZW0sIFBhc3NSZWZQdHI8VWludDhBcnJheT4ga2V5LCBQYXNzUmVmUHRyPFVp
bnQ4QXJyYXk+IGluaXREYXRhLCBjb25zdCBTdHJpbmcmIHNlc3Npb25JZCwgRXhjZXB0aW9uQ29k
ZSYgZWMpOwogICAgIHZvaWQgd2Via2l0QWRkS2V5KGNvbnN0IFN0cmluZyYga2V5U3lzdGVtLCBQ
YXNzUmVmUHRyPFVpbnQ4QXJyYXk+IGtleSwgRXhjZXB0aW9uQ29kZSYgZWMpOwogICAgIHZvaWQg
d2Via2l0Q2FuY2VsS2V5UmVxdWVzdChjb25zdCBTdHJpbmcmIGtleVN5c3RlbSwgY29uc3QgU3Ry
aW5nJiBzZXNzaW9uSWQsIEV4Y2VwdGlvbkNvZGUmIGVjKTsKKworICAgIERFRklORV9BVFRSSUJV
VEVfRVZFTlRfTElTVEVORVIod2Via2l0a2V5YWRkZWQpOworICAgIERFRklORV9BVFRSSUJVVEVf
RVZFTlRfTElTVEVORVIod2Via2l0a2V5ZXJyb3IpOworICAgIERFRklORV9BVFRSSUJVVEVfRVZF
TlRfTElTVEVORVIod2Via2l0a2V5bWVzc2FnZSk7CisgICAgREVGSU5FX0FUVFJJQlVURV9FVkVO
VF9MSVNURU5FUih3ZWJraXRuZWVka2V5KTsKICNlbmRpZgogCiAvLyBjb250cm9scwpAQCAtMjY1
LDYgKzI3MCwxMyBAQCBwdWJsaWM6CiAgICAgdm9pZCB1cGRhdGVXaWRnZXQoUGx1Z2luQ3JlYXRp
b25PcHRpb24pOwogI2VuZGlmCiAKKyAgICAvLyBFdmVudFRhcmdldCBmdW5jdGlvbi4KKyAgICAv
LyBCb3RoIE5vZGUgKHZpYSBIVE1MRWxlbWVudCkgYW5kIEFjdGl2ZURPTU9iamVjdCBkZWZpbmUg
dGhpcyBtZXRob2QsIHdoaWNoCisgICAgLy8gY2F1c2VzIGFuIGFtYmlndWl0eSBlcnJvciBhdCBj
b21waWxlIHRpbWUuIFRoaXMgY2xhc3MncyBjb25zdHJ1Y3RvcgorICAgIC8vIGVuc3VyZXMgdGhh
dCBib3RoIGltcGxlbWVudGF0aW9ucyByZXR1cm4gZG9jdW1lbnQsIHNvIHJldHVybiB0aGUgcmVz
dWx0CisgICAgLy8gb2Ygb25lIG9mIHRoZW0gaGVyZS4KKyAgICB2aXJ0dWFsIFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSBjb25zdCBPVkVSUklERSB7IHJl
dHVybiBIVE1MRWxlbWVudDo6c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOyB9CisKICAgICBib29s
IGhhc1NpbmdsZVNlY3VyaXR5T3JpZ2luKCkgY29uc3QgeyByZXR1cm4gIW1fcGxheWVyIHx8IG1f
cGxheWVyLT5oYXNTaW5nbGVTZWN1cml0eU9yaWdpbigpOyB9CiAgICAgCiAgICAgYm9vbCBpc0Z1
bGxzY3JlZW4oKSBjb25zdDsKQEAgLTQwMSw2ICs0MTMsMTMgQEAgcHJpdmF0ZToKICAgICB2aXJ0
dWFsIFN0cmluZyBtZWRpYVBsYXllclNvdXJjZVVSTCgpIGNvbnN0OwogI2VuZGlmCiAKKyNpZiBF
TkFCTEUoRU5DUllQVEVEX01FRElBKQorICAgIHZpcnR1YWwgdm9pZCBtZWRpYVBsYXllcktleUFk
ZGVkKE1lZGlhUGxheWVyKiwgY29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0sIGNvbnN0IFN0cmluZyYg
c2Vzc2lvbklkKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQgbWVkaWFQbGF5ZXJLZXlFcnJv
cihNZWRpYVBsYXllciosIGNvbnN0IFN0cmluZyYga2V5U3lzdGVtLCBjb25zdCBTdHJpbmcmIHNl
c3Npb25JZCwgTWVkaWFQbGF5ZXJDbGllbnQ6Ok1lZGlhS2V5RXJyb3JDb2RlLCB1bnNpZ25lZCBz
aG9ydCBzeXN0ZW1Db2RlKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQgbWVkaWFQbGF5ZXJL
ZXlNZXNzYWdlKE1lZGlhUGxheWVyKiwgY29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0sIGNvbnN0IFN0
cmluZyYgc2Vzc2lvbklkLCBjb25zdCB1bnNpZ25lZCBjaGFyKiBtZXNzYWdlLCB1bnNpZ25lZCBt
ZXNzYWdlTGVuZ3RoKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQgbWVkaWFQbGF5ZXJLZXlO
ZWVkZWQoTWVkaWFQbGF5ZXIqLCBjb25zdCBTdHJpbmcmIGtleVN5c3RlbSwgY29uc3QgU3RyaW5n
JiBzZXNzaW9uSWQsIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGluaXREYXRhLCB1bnNpZ25lZCBpbml0
RGF0YUxlbmd0aCkgT1ZFUlJJREU7CisjZW5kaWYKKwogICAgIHZpcnR1YWwgU3RyaW5nIG1lZGlh
UGxheWVyUmVmZXJyZXIoKSBjb25zdCBPVkVSUklERTsKICAgICB2aXJ0dWFsIFN0cmluZyBtZWRp
YVBsYXllclVzZXJBZ2VudCgpIGNvbnN0IE9WRVJSSURFOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MTWVkaWFFbGVtZW50LmlkbAppbmRleCBmNDg1NDQ0NWY0OTE0NGQ4ODk4ZTRkYTAwZDk0NDFi
YjFhOTY3MDQwLi5lYTkwMDNmNmMyZmQzYjE3MjczMTFhMzU5ZmRiMzI4ZGFiYzdkMWRjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaWRsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5pZGwKQEAgLTEyMiw2ICsxMjIsMTEg
QEAgbW9kdWxlIGh0bWwgewogICAgICAgICByYWlzZXMgKERPTUV4Y2VwdGlvbik7CiAgICAgW1Y4
RW5hYmxlZEF0UnVudGltZT13ZWJraXRFbmNyeXB0ZWRNZWRpYV0gdm9pZCB3ZWJraXRDYW5jZWxL
ZXlSZXF1ZXN0KGluIFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nLCBUcmVhdFVuZGVmaW5lZEFzPU51
bGxTdHJpbmddIERPTVN0cmluZyBrZXlTeXN0ZW0sIGluIFtPcHRpb25hbD1EZWZhdWx0SXNOdWxs
U3RyaW5nXSBET01TdHJpbmcgc2Vzc2lvbklkKQogICAgICAgICByYWlzZXMgKERPTUV4Y2VwdGlv
bik7CisgICAgICAgIAorICAgIGF0dHJpYnV0ZSBbVjhFbmFibGVkQXRSdW50aW1lPXdlYmtpdEVu
Y3J5cHRlZE1lZGlhXSBFdmVudExpc3RlbmVyIG9ud2Via2l0a2V5YWRkZWQ7CisgICAgYXR0cmli
dXRlIFtWOEVuYWJsZWRBdFJ1bnRpbWU9d2Via2l0RW5jcnlwdGVkTWVkaWFdIEV2ZW50TGlzdGVu
ZXIgb253ZWJraXRrZXllcnJvcjsKKyAgICBhdHRyaWJ1dGUgW1Y4RW5hYmxlZEF0UnVudGltZT13
ZWJraXRFbmNyeXB0ZWRNZWRpYV0gRXZlbnRMaXN0ZW5lciBvbndlYmtpdGtleW1lc3NhZ2U7Cisg
ICAgYXR0cmlidXRlIFtWOEVuYWJsZWRBdFJ1bnRpbWU9d2Via2l0RW5jcnlwdGVkTWVkaWFdIEV2
ZW50TGlzdGVuZXIgb253ZWJraXRuZWVka2V5OwogI2VuZGlmCiAKICNpZiBkZWZpbmVkKEVOQUJM
RV9WSURFT19UUkFDSykgJiYgRU5BQkxFX1ZJREVPX1RSQUNLCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL01lZGlhRXJyb3IuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFcnJv
ci5oCmluZGV4IGI2OGMzNzA2NTAxYTIwNjdjZTk1MWEwYWE2ZmEyNDhjMjU2YWFmMGUuLjkwZjQ0
N2YwNWU1YTRmMGNhZDE0YjVjNDI5YmZiZmU4Yzg3MGQzMDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvTWVkaWFFcnJvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFF
cnJvci5oCkBAIC0zNSw3ICszNSwxNSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIE1l
ZGlhRXJyb3IgOiBwdWJsaWMgUmVmQ291bnRlZDxNZWRpYUVycm9yPiB7CiBwdWJsaWM6Ci0gICAg
ZW51bSBDb2RlIHsgTUVESUFfRVJSX0FCT1JURUQgPSAxLCBNRURJQV9FUlJfTkVUV09SSywgTUVE
SUFfRVJSX0RFQ09ERSwgTUVESUFfRVJSX1NSQ19OT1RfU1VQUE9SVEVEIH07CisgICAgZW51bSBD
b2RlIHsKKyAgICAgICAgTUVESUFfRVJSX0FCT1JURUQgPSAxLAorICAgICAgICBNRURJQV9FUlJf
TkVUV09SSywKKyAgICAgICAgTUVESUFfRVJSX0RFQ09ERSwKKyAgICAgICAgTUVESUFfRVJSX1NS
Q19OT1RfU1VQUE9SVEVECisjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKKyAgICAgICAgLCBN
RURJQV9FUlJfRU5DUllQVEVECisjZW5kaWYKKyAgICB9OwogCiAgICAgc3RhdGljIFBhc3NSZWZQ
dHI8TWVkaWFFcnJvcj4gY3JlYXRlKENvZGUgY29kZSkgeyByZXR1cm4gYWRvcHRSZWYobmV3IE1l
ZGlhRXJyb3IoY29kZSkpOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVk
aWFFcnJvci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRXJyb3IuaWRsCmluZGV4IGZj
ZWIxZjU1MWVlNWUzMDI3YzYyZjJhNWE0ODAyYzAwNzcwNmQ4NWMuLjhlYjlkNTQwMjk0NjUwMzRk
ZDQzZGY4MTlmZGRjZDExNTE2NzI3NTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
TWVkaWFFcnJvci5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVycm9yLmlkbApA
QCAtMzEsNiArMzEsOSBAQCBtb2R1bGUgaHRtbCB7CiAgICAgICAgICAgY29uc3QgdW5zaWduZWQg
c2hvcnQgTUVESUFfRVJSX05FVFdPUksgPSAyOwogICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNo
b3J0IE1FRElBX0VSUl9ERUNPREUgPSAzOwogICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0
IE1FRElBX0VSUl9TUkNfTk9UX1NVUFBPUlRFRCA9IDQ7CisjaWYgZGVmaW5lZChFTkFCTEVfRU5D
UllQVEVEX01FRElBKSAmJiBFTkFCTEVfRU5DUllQVEVEX01FRElBCisgICAgICAgICAgY29uc3Qg
dW5zaWduZWQgc2hvcnQgTUVESUFfRVJSX0VOQ1JZUFRFRCA9IDU7CisjZW5kaWYKICAgICAgICAg
ICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnQgY29kZTsKICAgICB9OwogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUtleUVycm9yLmggYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL01lZGlhS2V5RXJyb3IuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMmM3MzZkNDg3YTNmNGMwNzE2
NWI0YzY1MjhlZmQ5OTljZjc1ZGUyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9NZWRpYUtleUVycm9yLmgKQEAgLTAsMCArMSw2MCBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxMiBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMg
SVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAq
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
CisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lmbmRl
ZiBNZWRpYUtleUVycm9yX2gKKyNkZWZpbmUgTWVkaWFLZXlFcnJvcl9oCisKKyNpZiBFTkFCTEUo
RU5DUllQVEVEX01FRElBKQorCisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRl
IDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIE1lZGlh
S2V5RXJyb3IgOiBwdWJsaWMgUmVmQ291bnRlZDxNZWRpYUtleUVycm9yPiB7CitwdWJsaWM6Cisg
ICAgZW51bSBDb2RlIHsKKyAgICAgICAgTUVESUFfS0VZRVJSX1VOS05PV04gPSAxLAorICAgICAg
ICBNRURJQV9LRVlFUlJfQ0xJRU5ULAorICAgICAgICBNRURJQV9LRVlFUlJfU0VSVklDRSwKKyAg
ICAgICAgTUVESUFfS0VZRVJSX09VVFBVVCwKKyAgICAgICAgTUVESUFfS0VZRVJSX0hBUkRXQVJF
Q0hBTkdFLAorICAgICAgICBNRURJQV9LRVlFUlJfRE9NQUlOCisgICAgfTsKKworICAgIHN0YXRp
YyBQYXNzUmVmUHRyPE1lZGlhS2V5RXJyb3I+IGNyZWF0ZShDb2RlIGNvZGUpIHsgcmV0dXJuIGFk
b3B0UmVmKG5ldyBNZWRpYUtleUVycm9yKGNvZGUpKTsgfQorCisgICAgQ29kZSBjb2RlKCkgY29u
c3QgeyByZXR1cm4gbV9jb2RlOyB9CisKK3ByaXZhdGU6CisgICAgZXhwbGljaXQgTWVkaWFLZXlF
cnJvcihDb2RlIGNvZGUpIDogbV9jb2RlKGNvZGUpIHsgfQorCisgICAgQ29kZSBtX2NvZGU7Cit9
OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZgorI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhS2V5RXJyb3IuaWRsIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9NZWRpYUtleUVycm9yLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jY2RmYzczMzU0YmM4MjVlMWQyMTAz
MDg1ZDJlMDE1ZjA5NmFkNTYzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9NZWRpYUtleUVycm9yLmlkbApAQCAtMCwwICsxLDM4IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDEyIEdvb2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJ
UycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgorICog
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkK
KyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCittb2R1bGUg
aHRtbCB7CisgICAgaW50ZXJmYWNlIFsKKyAgICAgICAgQ29uZGl0aW9uYWw9RU5DUllQVEVEX01F
RElBLAorICAgIF0gTWVkaWFLZXlFcnJvciB7CisgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0
IE1FRElBX0tFWUVSUl9VTktOT1dOID0gMTsKKyAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQg
TUVESUFfS0VZRVJSX0NMSUVOVCA9IDI7CisgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IE1F
RElBX0tFWUVSUl9TRVJWSUNFID0gMzsKKyAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgTUVE
SUFfS0VZRVJSX09VVFBVVCA9IDQ7CisgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IE1FRElB
X0tFWUVSUl9IQVJEV0FSRUNIQU5HRSA9IDU7CisgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0
IE1FRElBX0tFWUVSUl9ET01BSU4gPSA2OworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5z
aWduZWQgc2hvcnQgY29kZTsKKyAgICB9OworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9NZWRpYUtleUV2ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFLZXlFdmVu
dC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uOWZmZWNhZGI1MmNhMTMzY2NmMDQ1MDgxNGFkZmMzM2UyMWZlYTVl
NAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFLZXlFdmVudC5j
cHAKQEAgLTAsMCArMSw3MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5j
LiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICog
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisj
aWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKKworI2luY2x1ZGUgIk1lZGlhS2V5RXZlbnQuaCIK
KworI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKKyNpbmNsdWRlIDx3dGYvVWludDhBcnJheS5oPgor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK01lZGlhS2V5RXZlbnRJbml0OjpNZWRpYUtleUV2ZW50
SW5pdCgpCisgICAgOiBzeXN0ZW1Db2RlKDApCit7Cit9CisKKworTWVkaWFLZXlFdmVudDo6TWVk
aWFLZXlFdmVudCgpCit7Cit9CisKK01lZGlhS2V5RXZlbnQ6Ok1lZGlhS2V5RXZlbnQoY29uc3Qg
QXRvbWljU3RyaW5nJiB0eXBlLCBjb25zdCBNZWRpYUtleUV2ZW50SW5pdCYgaW5pdGlhbGl6ZXIp
CisgICAgOiBFdmVudCh0eXBlLCBpbml0aWFsaXplcikKKyAgICAsIG1fa2V5U3lzdGVtKGluaXRp
YWxpemVyLmtleVN5c3RlbSkKKyAgICAsIG1fc2Vzc2lvbklkKGluaXRpYWxpemVyLnNlc3Npb25J
ZCkKKyAgICAsIG1faW5pdERhdGEoaW5pdGlhbGl6ZXIuaW5pdERhdGEpCisgICAgLCBtX21lc3Nh
Z2UoaW5pdGlhbGl6ZXIubWVzc2FnZSkKKyAgICAsIG1fZGVmYXVsdFVybChpbml0aWFsaXplci5k
ZWZhdWx0VXJsKQorICAgICwgbV9lcnJvckNvZGUoaW5pdGlhbGl6ZXIuZXJyb3JDb2RlKQorICAg
ICwgbV9zeXN0ZW1Db2RlKGluaXRpYWxpemVyLnN5c3RlbUNvZGUpCit7Cit9CisKK01lZGlhS2V5
RXZlbnQ6On5NZWRpYUtleUV2ZW50KCkKK3sKK30KKworY29uc3QgQXRvbWljU3RyaW5nJiBNZWRp
YUtleUV2ZW50OjppbnRlcmZhY2VOYW1lKCkgY29uc3QKK3sKKyAgICByZXR1cm4gZXZlbnROYW1l
cygpLmludGVyZmFjZUZvck1lZGlhS2V5RXZlbnQ7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhS2V5RXZl
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFLZXlFdmVudC5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIy
ZGFmZGJlMjhiNDVjNTM5MjU4YTc0OTk0MjM5ZDU3ZTNiZTM4NjMKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhS2V5RXZlbnQuaApAQCAtMCwwICsxLDg4IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09N
UFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01Q
VVRFUiwgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LiAKKyAqLworCisjaWZuZGVmIE1lZGlhS2V5RXZlbnRfaAorI2RlZmluZSBNZWRpYUtleUV2ZW50
X2gKKworI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCisKKyNpbmNsdWRlICJFdmVudC5oIgor
I2luY2x1ZGUgIk1lZGlhS2V5RXJyb3IuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1
Y3QgTWVkaWFLZXlFdmVudEluaXQgOiBwdWJsaWMgRXZlbnRJbml0IHsKKyAgICBNZWRpYUtleUV2
ZW50SW5pdCgpOworCisgICAgU3RyaW5nIGtleVN5c3RlbTsKKyAgICBTdHJpbmcgc2Vzc2lvbklk
OworICAgIFJlZlB0cjxVaW50OEFycmF5PiBpbml0RGF0YTsKKyAgICBSZWZQdHI8VWludDhBcnJh
eT4gbWVzc2FnZTsKKyAgICBTdHJpbmcgZGVmYXVsdFVybDsKKyAgICBSZWZQdHI8TWVkaWFLZXlF
cnJvcj4gZXJyb3JDb2RlOworICAgIHVuc2lnbmVkIHNob3J0IHN5c3RlbUNvZGU7Cit9OworCitj
bGFzcyBNZWRpYUtleUV2ZW50IDogcHVibGljIEV2ZW50IHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFs
IH5NZWRpYUtleUV2ZW50KCk7CisKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxNZWRpYUtleUV2ZW50
PiBjcmVhdGUoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBNZWRpYUtleUV2
ZW50KTsKKyAgICB9CisKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxNZWRpYUtleUV2ZW50PiBjcmVh
dGUoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBjb25zdCBNZWRpYUtleUV2ZW50SW5pdCYgaW5p
dGlhbGl6ZXIpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IE1lZGlhS2V5RXZl
bnQodHlwZSwgaW5pdGlhbGl6ZXIpKTsKKyAgICB9CisKKyAgICB2aXJ0dWFsIGNvbnN0IEF0b21p
Y1N0cmluZyYgaW50ZXJmYWNlTmFtZSgpIGNvbnN0OworCisgICAgU3RyaW5nIGtleVN5c3RlbSgp
IGNvbnN0IHsgcmV0dXJuIG1fa2V5U3lzdGVtOyB9CisgICAgU3RyaW5nIHNlc3Npb25JZCgpIGNv
bnN0IHsgcmV0dXJuIG1fc2Vzc2lvbklkOyB9CisgICAgVWludDhBcnJheSogaW5pdERhdGEoKSBj
b25zdCB7IHJldHVybiBtX2luaXREYXRhLmdldCgpOyB9CisgICAgVWludDhBcnJheSogbWVzc2Fn
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fbWVzc2FnZS5nZXQoKTsgfQorICAgIFN0cmluZyBkZWZhdWx0
VXJsKCkgY29uc3QgeyByZXR1cm4gbV9kZWZhdWx0VXJsOyB9CisgICAgTWVkaWFLZXlFcnJvciog
ZXJyb3JDb2RlKCkgY29uc3QgeyByZXR1cm4gbV9lcnJvckNvZGUuZ2V0KCk7IH0KKyAgICB1bnNp
Z25lZCBzaG9ydCBzeXN0ZW1Db2RlKCkgY29uc3QgeyByZXR1cm4gbV9zeXN0ZW1Db2RlOyB9CisK
K3ByaXZhdGU6CisgICAgTWVkaWFLZXlFdmVudCgpOworICAgIE1lZGlhS2V5RXZlbnQoY29uc3Qg
QXRvbWljU3RyaW5nJiB0eXBlLCBjb25zdCBNZWRpYUtleUV2ZW50SW5pdCYgaW5pdGlhbGl6ZXIp
OworCisgICAgU3RyaW5nIG1fa2V5U3lzdGVtOworICAgIFN0cmluZyBtX3Nlc3Npb25JZDsKKyAg
ICBSZWZQdHI8VWludDhBcnJheT4gbV9pbml0RGF0YTsKKyAgICBSZWZQdHI8VWludDhBcnJheT4g
bV9tZXNzYWdlOworICAgIFN0cmluZyBtX2RlZmF1bHRVcmw7CisgICAgUmVmUHRyPE1lZGlhS2V5
RXJyb3I+IG1fZXJyb3JDb2RlOworICAgIHVuc2lnbmVkIHNob3J0IG1fc3lzdGVtQ29kZTsKK307
CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCisjZW5kaWYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFLZXlFdmVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL01lZGlhS2V5RXZlbnQuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBlMTUwMGE2MWU4ZTE5NGVmY2ZmNmMw
MTdiZWYyZWRkMDA2NmYyZDEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L01lZGlhS2V5RXZlbnQuaWRsCkBAIC0wLDAgKzEsNDIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTIgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElT
JycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQor
ICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKK21vZHVsZSBo
dG1sIHsKKworICAgIGludGVyZmFjZSBbCisgICAgICAgIENvbmRpdGlvbmFsPUVOQ1JZUFRFRF9N
RURJQSwKKyAgICAgICAgVjhFbmFibGVkQXRSdW50aW1lPXdlYmtpdEVuY3J5cHRlZE1lZGlhLAor
ICAgICAgICBDb25zdHJ1Y3RvclRlbXBsYXRlPUV2ZW50CisgICAgXSBNZWRpYUtleUV2ZW50IDog
RXZlbnQgeworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW0luaXRpYWxpemVkQnlFdmVudENv
bnN0cnVjdG9yXSBET01TdHJpbmcga2V5U3lzdGVtOworICAgICAgICByZWFkb25seSBhdHRyaWJ1
dGUgW0luaXRpYWxpemVkQnlFdmVudENvbnN0cnVjdG9yXSBET01TdHJpbmcgc2Vzc2lvbklkOwor
ICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW0luaXRpYWxpemVkQnlFdmVudENvbnN0cnVjdG9y
XSBVaW50OEFycmF5IGluaXREYXRhOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW0luaXRp
YWxpemVkQnlFdmVudENvbnN0cnVjdG9yXSBVaW50OEFycmF5IG1lc3NhZ2U7CisgICAgICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBbSW5pdGlhbGl6ZWRCeUV2ZW50Q29uc3RydWN0b3JdIERPTVN0cmlu
ZyBkZWZhdWx0VXJsOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW0luaXRpYWxpemVkQnlF
dmVudENvbnN0cnVjdG9yXSBNZWRpYUtleUVycm9yIGVycm9yQ29kZTsKKyAgICAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIFtJbml0aWFsaXplZEJ5RXZlbnRDb25zdHJ1Y3Rvcl0gdW5zaWduZWQgc2hv
cnQgc3lzdGVtQ29kZTsKKyAgICB9OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0RPTVdpbmRvdy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKaW5k
ZXggMGVmYTdiZjEyNDg5MTA4YmFhNTM4N2UyMTcxN2VmNjM2Y2JmMWMyZC4uOThkODA3ZTQ3YzEz
ZDE4OTU4ZTAwYmRkNTlkYTA2NzJkYTU0ZDhmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9ET01XaW5kb3cuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93Lmlk
bApAQCAtNDY2LDYgKzQ2Niw5IEBAIG1vZHVsZSB3aW5kb3cgewogICAgICAgICBhdHRyaWJ1dGUg
W0pTQ3VzdG9tR2V0dGVyLCBDdXN0b21Db25zdHJ1Y3Rvcl0gSFRNTEltYWdlRWxlbWVudENvbnN0
cnVjdG9yQ29uc3RydWN0b3IgSW1hZ2U7IC8vIFVzYWJsZSB3aXRoIG5ldyBvcGVyYXRvcgogICAg
ICAgICBhdHRyaWJ1dGUgW0pTQ3VzdG9tR2V0dGVyXSBIVE1MT3B0aW9uRWxlbWVudENvbnN0cnVj
dG9yQ29uc3RydWN0b3IgT3B0aW9uOyAvLyBVc2FibGUgd2l0aCBuZXcgb3BlcmF0b3IKIAorICAg
ICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPUVOQ1JZUFRFRF9NRURJQSwgVjhFbmFibGVkQXRS
dW50aW1lPXdlYmtpdEVuY3J5cHRlZE1lZGlhXSBNZWRpYUtleUVycm9yQ29uc3RydWN0b3IgTWVk
aWFLZXlFcnJvcjsKKyAgICAgICAgYXR0cmlidXRlIFtDb25kaXRpb25hbD1FTkNSWVBURURfTUVE
SUEsIFY4RW5hYmxlZEF0UnVudGltZT13ZWJraXRFbmNyeXB0ZWRNZWRpYV0gTWVkaWFLZXlFdmVu
dENvbnN0cnVjdG9yIE1lZGlhS2V5RXZlbnQ7CisKICAgICAgICAgYXR0cmlidXRlIFtDb25kaXRp
b25hbD1WSURFT19UUkFDSywgVjhFbmFibGVkQXRSdW50aW1lPXdlYmtpdFZpZGVvVHJhY2tdIEhU
TUxUcmFja0VsZW1lbnRDb25zdHJ1Y3RvciBIVE1MVHJhY2tFbGVtZW50OwogICAgICAgICBhdHRy
aWJ1dGUgW0NvbmRpdGlvbmFsPVZJREVPX1RSQUNLLCBWOEVuYWJsZWRBdFJ1bnRpbWU9d2Via2l0
VmlkZW9UcmFja10gVGV4dFRyYWNrQ29uc3RydWN0b3IgVGV4dFRyYWNrOwogICAgICAgICBhdHRy
aWJ1dGUgW0NvbmRpdGlvbmFsPVZJREVPX1RSQUNLLCBWOEVuYWJsZWRBdFJ1bnRpbWU9d2Via2l0
VmlkZW9UcmFja10gVGV4dFRyYWNrQ3VlQ29uc3RydWN0b3IgVGV4dFRyYWNrQ3VlOyAvLyBVc2Fi
bGUgd2l0aCB0aGUgbmV3IG9wZXJhdG9yCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9NZWRpYVBsYXllci5jcHAKaW5kZXggMTFlZmRlZThiOWY2YTg4OTc4MDYxMmNmMjNj
MmFiNDc2YWE2NWU2ZS4uNGRlNTlkMTM2MzYyZDliNTNjY2VmYTM1YzMzMjE4MzkxOWUwYTNkZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNw
cApAQCAtOTk4LDcgKzk5OCwzMyBAQCBBdWRpb1NvdXJjZVByb3ZpZGVyKiBNZWRpYVBsYXllcjo6
YXVkaW9Tb3VyY2VQcm92aWRlcigpCiAgICAgcmV0dXJuIG1fcHJpdmF0ZS0+YXVkaW9Tb3VyY2VQ
cm92aWRlcigpOwogfQogI2VuZGlmIC8vIFdFQl9BVURJTwotICAgIAorCisjaWYgRU5BQkxFKEVO
Q1JZUFRFRF9NRURJQSkKK3ZvaWQgTWVkaWFQbGF5ZXI6OmtleUFkZGVkKGNvbnN0IFN0cmluZyYg
a2V5U3lzdGVtLCBjb25zdCBTdHJpbmcmIHNlc3Npb25JZCkKK3sKKyAgICBpZiAobV9tZWRpYVBs
YXllckNsaWVudCkKKyAgICAgICAgbV9tZWRpYVBsYXllckNsaWVudC0+bWVkaWFQbGF5ZXJLZXlB
ZGRlZCh0aGlzLCBrZXlTeXN0ZW0sIHNlc3Npb25JZCk7Cit9CisKK3ZvaWQgTWVkaWFQbGF5ZXI6
OmtleUVycm9yKGNvbnN0IFN0cmluZyYga2V5U3lzdGVtLCBjb25zdCBTdHJpbmcmIHNlc3Npb25J
ZCwgTWVkaWFQbGF5ZXJDbGllbnQ6Ok1lZGlhS2V5RXJyb3JDb2RlIGVycm9yQ29kZSwgdW5zaWdu
ZWQgc2hvcnQgc3lzdGVtQ29kZSkKK3sKKyAgICBpZiAobV9tZWRpYVBsYXllckNsaWVudCkKKyAg
ICAgICAgbV9tZWRpYVBsYXllckNsaWVudC0+bWVkaWFQbGF5ZXJLZXlFcnJvcih0aGlzLCBrZXlT
eXN0ZW0sIHNlc3Npb25JZCwgZXJyb3JDb2RlLCBzeXN0ZW1Db2RlKTsKK30KKwordm9pZCBNZWRp
YVBsYXllcjo6a2V5TWVzc2FnZShjb25zdCBTdHJpbmcmIGtleVN5c3RlbSwgY29uc3QgU3RyaW5n
JiBzZXNzaW9uSWQsIGNvbnN0IHVuc2lnbmVkIGNoYXIqIG1lc3NhZ2UsIHVuc2lnbmVkIG1lc3Nh
Z2VMZW5ndGgpCit7CisgICAgaWYgKG1fbWVkaWFQbGF5ZXJDbGllbnQpCisgICAgICAgIG1fbWVk
aWFQbGF5ZXJDbGllbnQtPm1lZGlhUGxheWVyS2V5TWVzc2FnZSh0aGlzLCBrZXlTeXN0ZW0sIHNl
c3Npb25JZCwgbWVzc2FnZSwgbWVzc2FnZUxlbmd0aCk7Cit9CisKK3ZvaWQgTWVkaWFQbGF5ZXI6
OmtleU5lZWRlZChjb25zdCBTdHJpbmcmIGtleVN5c3RlbSwgY29uc3QgU3RyaW5nJiBzZXNzaW9u
SWQsIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGluaXREYXRhLCB1bnNpZ25lZCBpbml0RGF0YUxlbmd0
aCkKK3sKKyAgICBpZiAobV9tZWRpYVBsYXllckNsaWVudCkKKyAgICAgICAgbV9tZWRpYVBsYXll
ckNsaWVudC0+bWVkaWFQbGF5ZXJLZXlOZWVkZWQodGhpcywga2V5U3lzdGVtLCBzZXNzaW9uSWQs
IGluaXREYXRhLCBpbml0RGF0YUxlbmd0aCk7Cit9CisjZW5kaWYKKwogU3RyaW5nIE1lZGlhUGxh
eWVyOjpyZWZlcnJlcigpIGNvbnN0CiB7CiAgICAgaWYgKCFtX21lZGlhUGxheWVyQ2xpZW50KQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgKaW5kZXgg
ZDY0ZjM5N2ZhYmE5NTRmMWVkM2Y5YzdiZGJiYTQwMTRlZjFkOTcwMi4uMDA4NGY0NDFkMDViNTRm
ZmVjYjYxYzBiNDVkYWFkYzU4ODQ1MzE5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9NZWRpYVBsYXllci5oCkBAIC0xNjgsNiArMTY4LDE0IEBAIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIFN0cmluZyBtZWRpYVBsYXllclNvdXJjZVVSTCgpIGNvbnN0IHsgcmV0dXJuICJ4
LW1lZGlhLXNvdXJjZS11bnN1cHBvcnRlZDoiOyB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShFTkNS
WVBURURfTUVESUEpCisgICAgZW51bSBNZWRpYUtleUVycm9yQ29kZSB7IFVua25vd25FcnJvciA9
IDEsIENsaWVudEVycm9yLCBTZXJ2aWNlRXJyb3IsIE91dHB1dEVycm9yLCBIYXJkd2FyZUNoYW5n
ZUVycm9yLCBEb21haW5FcnJvciB9OworICAgIHZpcnR1YWwgdm9pZCBtZWRpYVBsYXllcktleUFk
ZGVkKE1lZGlhUGxheWVyKiwgY29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0sIGNvbnN0IFN0cmluZyYg
c2Vzc2lvbklkKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgbWVkaWFQbGF5ZXJLZXlFcnJvcihNZWRp
YVBsYXllciosIGNvbnN0IFN0cmluZyYga2V5U3lzdGVtLCBjb25zdCBTdHJpbmcmIHNlc3Npb25J
ZCwgTWVkaWFLZXlFcnJvckNvZGUgZXJyb3JDb2RlLCB1bnNpZ25lZCBzaG9ydCBzeXN0ZW1Db2Rl
KSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgbWVkaWFQbGF5ZXJLZXlNZXNzYWdlKE1lZGlhUGxheWVy
KiwgY29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0sIGNvbnN0IFN0cmluZyYgc2Vzc2lvbklkLCBjb25z
dCB1bnNpZ25lZCBjaGFyKiBtZXNzYWdlLCB1bnNpZ25lZCBtZXNzYWdlTGVuZ3RoKSB7IH0KKyAg
ICB2aXJ0dWFsIHZvaWQgbWVkaWFQbGF5ZXJLZXlOZWVkZWQoTWVkaWFQbGF5ZXIqLCBjb25zdCBT
dHJpbmcmIGtleVN5c3RlbSwgY29uc3QgU3RyaW5nJiBzZXNzaW9uSWQsIGNvbnN0IHVuc2lnbmVk
IGNoYXIqIGluaXREYXRhLCB1bnNpZ25lZCBpbml0RGF0YUxlbmd0aCkgeyB9CisjZW5kaWYKKwog
ICAgIHZpcnR1YWwgU3RyaW5nIG1lZGlhUGxheWVyUmVmZXJyZXIoKSBjb25zdCB7IHJldHVybiBT
dHJpbmcoKTsgfQogICAgIHZpcnR1YWwgU3RyaW5nIG1lZGlhUGxheWVyVXNlckFnZW50KCkgY29u
c3QgeyByZXR1cm4gU3RyaW5nKCk7IH0KIH07CkBAIC0zNTUsNiArMzYzLDEzIEBAIHB1YmxpYzoK
ICAgICBTdHJpbmcgc291cmNlVVJMKCkgY29uc3Q7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShFTkNS
WVBURURfTUVESUEpCisgICAgdm9pZCBrZXlBZGRlZChjb25zdCBTdHJpbmcmIGtleVN5c3RlbSwg
Y29uc3QgU3RyaW5nJiBzZXNzaW9uSWQpOworICAgIHZvaWQga2V5RXJyb3IoY29uc3QgU3RyaW5n
JiBrZXlTeXN0ZW0sIGNvbnN0IFN0cmluZyYgc2Vzc2lvbklkLCBNZWRpYVBsYXllckNsaWVudDo6
TWVkaWFLZXlFcnJvckNvZGUsIHVuc2lnbmVkIHNob3J0IHN5c3RlbUNvZGUpOworICAgIHZvaWQg
a2V5TWVzc2FnZShjb25zdCBTdHJpbmcmIGtleVN5c3RlbSwgY29uc3QgU3RyaW5nJiBzZXNzaW9u
SWQsIGNvbnN0IHVuc2lnbmVkIGNoYXIqIG1lc3NhZ2UsIHVuc2lnbmVkIG1lc3NhZ2VMZW5ndGgp
OworICAgIHZvaWQga2V5TmVlZGVkKGNvbnN0IFN0cmluZyYga2V5U3lzdGVtLCBjb25zdCBTdHJp
bmcmIHNlc3Npb25JZCwgY29uc3QgdW5zaWduZWQgY2hhciogaW5pdERhdGEsIHVuc2lnbmVkIGlu
aXREYXRhTGVuZ3RoKTsKKyNlbmRpZgorCiAgICAgU3RyaW5nIHJlZmVycmVyKCkgY29uc3Q7CiAg
ICAgU3RyaW5nIHVzZXJBZ2VudCgpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3B1YmxpYy9XZWJNZWRpYVBsYXllckNsaWVudC5oIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9wdWJsaWMvV2ViTWVkaWFQbGF5ZXJDbGllbnQuaAppbmRleCAxOWVhMjQyZWNhZDlh
YjFiZjgzNjBlODc5NTA5YmU2OTU0ZDc3MDYxLi40NzBiZWM3MGJjNjdlNDJhZDgyMzM4OTUyNjZi
MDQyMzIxYzdhYTZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9X
ZWJNZWRpYVBsYXllckNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGlj
L1dlYk1lZGlhUGxheWVyQ2xpZW50LmgKQEAgLTQwLDYgKzQwLDE1IEBAIGNsYXNzIFdlYlVSTDsK
IAogY2xhc3MgV2ViTWVkaWFQbGF5ZXJDbGllbnQgewogcHVibGljOgorICAgIGVudW0gTWVkaWFL
ZXlFcnJvckNvZGUgeworICAgICAgICBVbmtub3duRXJyb3IgPSAxLAorICAgICAgICBDbGllbnRF
cnJvciwKKyAgICAgICAgU2VydmljZUVycm9yLAorICAgICAgICBPdXRwdXRFcnJvciwKKyAgICAg
ICAgSGFyZHdhcmVDaGFuZ2VFcnJvciwKKyAgICAgICAgRG9tYWluRXJyb3IKKyAgICB9OworCiAg
ICAgdmlydHVhbCB2b2lkIG5ldHdvcmtTdGF0ZUNoYW5nZWQoKSA9IDA7CiAgICAgdmlydHVhbCB2
b2lkIHJlYWR5U3RhdGVDaGFuZ2VkKCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCB2b2x1bWVDaGFu
Z2VkKGZsb2F0KSA9IDA7CkBAIC01Niw2ICs2NSwxMCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBX
ZWJNZWRpYVBsYXllcjo6UHJlbG9hZCBwcmVsb2FkKCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwg
dm9pZCBzb3VyY2VPcGVuZWQoKSA9IDA7CiAgICAgdmlydHVhbCBXZWJLaXQ6OldlYlVSTCBzb3Vy
Y2VVUkwoKSBjb25zdCA9IDA7CisgICAgdmlydHVhbCB2b2lkIGtleUFkZGVkKGNvbnN0IFdlYktp
dDo6V2ViU3RyaW5nJiwgY29uc3QgV2ViS2l0OjpXZWJTdHJpbmcmKSA9IDA7CisgICAgdmlydHVh
bCB2b2lkIGtleUVycm9yKGNvbnN0IFdlYktpdDo6V2ViU3RyaW5nJiwgY29uc3QgV2ViS2l0OjpX
ZWJTdHJpbmcmLCBNZWRpYUtleUVycm9yQ29kZSwgdW5zaWduZWQgc2hvcnQgc3lzdGVtQ29kZSkg
PSAwOworICAgIHZpcnR1YWwgdm9pZCBrZXlNZXNzYWdlKGNvbnN0IFdlYktpdDo6V2ViU3RyaW5n
JiwgY29uc3QgV2ViS2l0OjpXZWJTdHJpbmcmLCBjb25zdCB1bnNpZ25lZCBjaGFyKiwgdW5zaWdu
ZWQpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQga2V5TmVlZGVkKGNvbnN0IFdlYktpdDo6V2ViU3Ry
aW5nJiwgY29uc3QgV2ViS2l0OjpXZWJTdHJpbmcmLCBjb25zdCB1bnNpZ25lZCBjaGFyKiBpbml0
RGF0YSwgdW5zaWduZWQgaW5pdERhdGFMZW5ndGgpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgZGlz
YWJsZUFjY2VsZXJhdGVkQ29tcG9zaXRpbmcoKSA9IDA7CiBwcm90ZWN0ZWQ6CiAgICAgfldlYk1l
ZGlhUGxheWVyQ2xpZW50KCkgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L0Fzc2VydE1hdGNoaW5nRW51bXMuY3BwCmluZGV4IGJmODA2OWExMjI2MzE0NTc4NzkyM2U2YmJj
Y2YzNmQ1MDc3MmFlYmIuLmI0ODkxZWQ3OWMxNWQzMDVmZTg1ZGYxZThiYTc0NjIzOGQ5YjJlMDAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Fzc2VydE1hdGNoaW5nRW51
bXMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Fzc2VydE1hdGNoaW5nRW51
bXMuY3BwCkBAIC04Nyw2ICs4Nyw3IEBACiAjaW5jbHVkZSAiV2ViSWNvblVSTC5oIgogI2luY2x1
ZGUgIldlYklucHV0RWxlbWVudC5oIgogI2luY2x1ZGUgIldlYk1lZGlhUGxheWVyLmgiCisjaW5j
bHVkZSAiV2ViTWVkaWFQbGF5ZXJDbGllbnQuaCIKICNpbmNsdWRlICJXZWJOb3RpZmljYXRpb25Q
cmVzZW50ZXIuaCIKICNpbmNsdWRlICJXZWJQYWdlVmlzaWJpbGl0eVN0YXRlLmgiCiAjaW5jbHVk
ZSAiV2ViUmVmZXJyZXJQb2xpY3kuaCIKQEAgLTM5Miw2ICszOTMsMTMgQEAgQ09NUElMRV9BU1NF
UlRfTUFUQ0hJTkdfRU5VTShXZWJNZWRpYVBsYXllcjo6TGl2ZVN0cmVhbSwgTWVkaWFQbGF5ZXI6
OkxpdmVTdHJlYW0KIENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViTWVkaWFQbGF5ZXI6
Ok5vRXJyb3IsIE1lZGlhUGxheWVyOjpOb0Vycm9yKTsKIENPTVBJTEVfQVNTRVJUX01BVENISU5H
X0VOVU0oV2ViTWVkaWFQbGF5ZXI6OkludmFsaWRQbGF5ZXJTdGF0ZSwgTWVkaWFQbGF5ZXI6Oklu
dmFsaWRQbGF5ZXJTdGF0ZSk7CiBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYk1lZGlh
UGxheWVyOjpLZXlTeXN0ZW1Ob3RTdXBwb3J0ZWQsIE1lZGlhUGxheWVyOjpLZXlTeXN0ZW1Ob3RT
dXBwb3J0ZWQpOworCitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYk1lZGlhUGxheWVy
Q2xpZW50OjpVbmtub3duRXJyb3IsIE1lZGlhUGxheWVyQ2xpZW50OjpVbmtub3duRXJyb3IpOwor
Q09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJNZWRpYVBsYXllckNsaWVudDo6Q2xpZW50
RXJyb3IsIE1lZGlhUGxheWVyQ2xpZW50OjpDbGllbnRFcnJvcik7CitDT01QSUxFX0FTU0VSVF9N
QVRDSElOR19FTlVNKFdlYk1lZGlhUGxheWVyQ2xpZW50OjpTZXJ2aWNlRXJyb3IsIE1lZGlhUGxh
eWVyQ2xpZW50OjpTZXJ2aWNlRXJyb3IpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShX
ZWJNZWRpYVBsYXllckNsaWVudDo6T3V0cHV0RXJyb3IsIE1lZGlhUGxheWVyQ2xpZW50OjpPdXRw
dXRFcnJvcik7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYk1lZGlhUGxheWVyQ2xp
ZW50OjpIYXJkd2FyZUNoYW5nZUVycm9yLCBNZWRpYVBsYXllckNsaWVudDo6SGFyZHdhcmVDaGFu
Z2VFcnJvcik7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYk1lZGlhUGxheWVyQ2xp
ZW50OjpEb21haW5FcnJvciwgTWVkaWFQbGF5ZXJDbGllbnQ6OkRvbWFpbkVycm9yKTsKICNlbmRp
ZgogCiBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYlZpZGVvRnJhbWU6OkZvcm1hdElu
dmFsaWQsIFZpZGVvRnJhbWVDaHJvbWl1bTo6SW52YWxpZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJNZWRpYVBsYXllckNsaWVudEltcGwuY3BwIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsLmNwcAppbmRleCBi
ODhlMjM3OTExOWIzZTEzMzZlNzc3ZWFjNTJmY2JkZGU0NmIyOWNkLi5jNjU0OTE0YTcyZjE1MzJi
YzU0N2M1Nzc3ZmFkZWE1NjE5MjUzNmZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJNZWRpYVBsYXllckNsaWVudEltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYk1lZGlhUGxheWVyQ2xpZW50SW1wbC5jcHAKQEAgLTIxNyw2ICsyMTcs
NTYgQEAgV2ViS2l0OjpXZWJVUkwgV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsOjpzb3VyY2VVUkwo
KSBjb25zdAogI2VuZGlmCiB9CiAKK3ZvaWQgV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsOjprZXlB
ZGRlZChjb25zdCBXZWJTdHJpbmcmIGtleVN5c3RlbSwgY29uc3QgV2ViU3RyaW5nJiBzZXNzaW9u
SWQpCit7CisjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKKyAgICBBU1NFUlQobV9tZWRpYVBs
YXllcik7CisgICAgbV9tZWRpYVBsYXllci0+a2V5QWRkZWQoa2V5U3lzdGVtLCBzZXNzaW9uSWQp
OworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oa2V5U3lzdGVtKTsKKyAgICBVTlVTRURfUEFSQU0o
c2Vzc2lvbklkKTsKKyNlbmRpZgorfQorCit2b2lkIFdlYk1lZGlhUGxheWVyQ2xpZW50SW1wbDo6
a2V5RXJyb3IoY29uc3QgV2ViU3RyaW5nJiBrZXlTeXN0ZW0sIGNvbnN0IFdlYlN0cmluZyYgc2Vz
c2lvbklkLCBNZWRpYUtleUVycm9yQ29kZSBlcnJvckNvZGUsIHVuc2lnbmVkIHNob3J0IHN5c3Rl
bUNvZGUpCit7CisjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKKyAgICBBU1NFUlQobV9tZWRp
YVBsYXllcik7CisgICAgbV9tZWRpYVBsYXllci0+a2V5RXJyb3Ioa2V5U3lzdGVtLCBzZXNzaW9u
SWQsIHN0YXRpY19jYXN0PE1lZGlhUGxheWVyQ2xpZW50OjpNZWRpYUtleUVycm9yQ29kZT4oZXJy
b3JDb2RlKSwgc3lzdGVtQ29kZSk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShrZXlTeXN0ZW0p
OworICAgIFVOVVNFRF9QQVJBTShzZXNzaW9uSWQpOworICAgIFVOVVNFRF9QQVJBTShlcnJvckNv
ZGUpOworICAgIFVOVVNFRF9QQVJBTShzeXN0ZW1Db2RlKTsKKyNlbmRpZgorfQorCit2b2lkIFdl
Yk1lZGlhUGxheWVyQ2xpZW50SW1wbDo6a2V5TWVzc2FnZShjb25zdCBXZWJTdHJpbmcmIGtleVN5
c3RlbSwgY29uc3QgV2ViU3RyaW5nJiBzZXNzaW9uSWQsIGNvbnN0IHVuc2lnbmVkIGNoYXIqIG1l
c3NhZ2UsIHVuc2lnbmVkIG1lc3NhZ2VMZW5ndGgpCit7CisjaWYgRU5BQkxFKEVOQ1JZUFRFRF9N
RURJQSkKKyAgICBBU1NFUlQobV9tZWRpYVBsYXllcik7CisgICAgbV9tZWRpYVBsYXllci0+a2V5
TWVzc2FnZShrZXlTeXN0ZW0sIHNlc3Npb25JZCwgbWVzc2FnZSwgbWVzc2FnZUxlbmd0aCk7Cisj
ZWxzZQorICAgIFVOVVNFRF9QQVJBTShrZXlTeXN0ZW0pOworICAgIFVOVVNFRF9QQVJBTShzZXNz
aW9uSWQpOworICAgIFVOVVNFRF9QQVJBTShtZXNzYWdlKTsKKyAgICBVTlVTRURfUEFSQU0obWVz
c2FnZUxlbmd0aCk7CisjZW5kaWYKK30KKwordm9pZCBXZWJNZWRpYVBsYXllckNsaWVudEltcGw6
OmtleU5lZWRlZChjb25zdCBXZWJTdHJpbmcmIGtleVN5c3RlbSwgY29uc3QgV2ViU3RyaW5nJiBz
ZXNzaW9uSWQsIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGluaXREYXRhLCB1bnNpZ25lZCBpbml0RGF0
YUxlbmd0aCkKK3sKKyNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQorICAgIEFTU0VSVChtX21l
ZGlhUGxheWVyKTsKKyAgICBtX21lZGlhUGxheWVyLT5rZXlOZWVkZWQoa2V5U3lzdGVtLCBzZXNz
aW9uSWQsIGluaXREYXRhLCBpbml0RGF0YUxlbmd0aCk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJB
TShrZXlTeXN0ZW0pOworICAgIFVOVVNFRF9QQVJBTShzZXNzaW9uSWQpOworICAgIFVOVVNFRF9Q
QVJBTShpbml0RGF0YSk7CisgICAgVU5VU0VEX1BBUkFNKGluaXREYXRhTGVuZ3RoKTsKKyNlbmRp
ZgorfQorCiB2b2lkIFdlYk1lZGlhUGxheWVyQ2xpZW50SW1wbDo6ZGlzYWJsZUFjY2VsZXJhdGVk
Q29tcG9zaXRpbmcoKQogewogICAgIG1fc3VwcG9ydHNBY2NlbGVyYXRlZENvbXBvc2l0aW5nID0g
ZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJNZWRpYVBs
YXllckNsaWVudEltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYk1lZGlhUGxh
eWVyQ2xpZW50SW1wbC5oCmluZGV4IDg4NTQzYTRkYWJmZDhiNzFkNTJkNzdmNTgyNDVkODVmOGZm
NWY2YjUuLjUwYmNjMDE4MGYwNGFhMzQ3Mzg3ODE4NmM4ODQ2ODYzNDI0ZjkxNTcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYk1lZGlhUGxheWVyQ2xpZW50SW1wbC5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYk1lZGlhUGxheWVyQ2xpZW50SW1w
bC5oCkBAIC04Niw2ICs4NiwxMCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBXZWJNZWRpYVBsYXll
cjo6UHJlbG9hZCBwcmVsb2FkKCkgY29uc3Q7CiAgICAgdmlydHVhbCB2b2lkIHNvdXJjZU9wZW5l
ZCgpOwogICAgIHZpcnR1YWwgV2ViS2l0OjpXZWJVUkwgc291cmNlVVJMKCkgY29uc3Q7CisgICAg
dmlydHVhbCB2b2lkIGtleUFkZGVkKGNvbnN0IFdlYlN0cmluZyYga2V5U3lzdGVtLCBjb25zdCBX
ZWJTdHJpbmcmIHNlc3Npb25JZCk7CisgICAgdmlydHVhbCB2b2lkIGtleUVycm9yKGNvbnN0IFdl
YlN0cmluZyYga2V5U3lzdGVtLCBjb25zdCBXZWJTdHJpbmcmIHNlc3Npb25JZCwgTWVkaWFLZXlF
cnJvckNvZGUsIHVuc2lnbmVkIHNob3J0IHN5c3RlbUNvZGUpOworICAgIHZpcnR1YWwgdm9pZCBr
ZXlNZXNzYWdlKGNvbnN0IFdlYlN0cmluZyYga2V5U3lzdGVtLCBjb25zdCBXZWJTdHJpbmcmIHNl
c3Npb25JZCwgY29uc3QgdW5zaWduZWQgY2hhciogbWVzc2FnZSwgdW5zaWduZWQgbWVzc2FnZUxl
bmd0aCk7CisgICAgdmlydHVhbCB2b2lkIGtleU5lZWRlZChjb25zdCBXZWJTdHJpbmcmIGtleVN5
c3RlbSwgY29uc3QgV2ViU3RyaW5nJiBzZXNzaW9uSWQsIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGlu
aXREYXRhLCB1bnNpZ25lZCBpbml0RGF0YUxlbmd0aCk7CiAgICAgdmlydHVhbCB2b2lkIGRpc2Fi
bGVBY2NlbGVyYXRlZENvbXBvc2l0aW5nKCk7CiAKICAgICAvLyBNZWRpYVBsYXllclByaXZhdGVJ
bnRlcmZhY2UgbWV0aG9kczoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2Nv
bnN0cnVjdG9ycy9tZWRpYS1rZXktZXZlbnQtY29uc3RydWN0b3ItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL21lZGlhLWtleS1ldmVudC1jb25zdHJ1
Y3Rvci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjk3MjU3MWRhZDY5ZGEyNTI2ZDEzNjQ2ZDcz
ZmFmMGNlYjIwMmUwNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRz
L2NvbnN0cnVjdG9ycy9tZWRpYS1rZXktZXZlbnQtY29uc3RydWN0b3ItZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTAyIEBACitUaGlzIHRlc3RzIHRoZSBjb25zdHJ1Y3RvciBmb3IgdGhlIE1lZGlh
S2V5RXZlbnQgRE9NIGNsYXNzLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworCisq
KiogTm8gaW5pdGlhbGl6ZXIgcGFzc2VkICoqKgorUEFTUyBuZXcgTWVkaWFLZXlFdmVudCgnTWVk
aWFLZXlFdmVudCcpLmJ1YmJsZXMgaXMgZmFsc2UKK1BBU1MgbmV3IE1lZGlhS2V5RXZlbnQoJ01l
ZGlhS2V5RXZlbnQnKS5jYW5jZWxhYmxlIGlzIGZhbHNlCitQQVNTIG5ldyBNZWRpYUtleUV2ZW50
KCdNZWRpYUtleUV2ZW50Jykua2V5U3lzdGVtIGlzICIiCitQQVNTIG5ldyBNZWRpYUtleUV2ZW50
KCdNZWRpYUtleUV2ZW50Jykuc2Vzc2lvbklkIGlzICIiCitQQVNTIG5ldyBNZWRpYUtleUV2ZW50
KCdNZWRpYUtleUV2ZW50JykuaW5pdERhdGEgaXMgbnVsbAorUEFTUyBuZXcgTWVkaWFLZXlFdmVu
dCgnTWVkaWFLZXlFdmVudCcpLm1lc3NhZ2UgaXMgbnVsbAorUEFTUyBuZXcgTWVkaWFLZXlFdmVu
dCgnTWVkaWFLZXlFdmVudCcpLmRlZmF1bHRVcmwgaXMgIiIKK1BBU1MgbmV3IE1lZGlhS2V5RXZl
bnQoJ01lZGlhS2V5RXZlbnQnKS5lcnJvckNvZGUgaXMgbnVsbAorUEFTUyBuZXcgTWVkaWFLZXlF
dmVudCgnTWVkaWFLZXlFdmVudCcpLnN5c3RlbUNvZGUgaXMgMAorCisqKiogQnViYmxlcyBhbmQg
Y2FuY2VsYWJsZSB0cnVlLCBvdGhlciBtZW1iZXJzIGFyZSBtaXNzaW5nICoqKgorUEFTUyBuZXcg
TWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJs
ZTogdHJ1ZSB9KS5idWJibGVzIGlzIHRydWUKK1BBU1MgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlh
S2V5RXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUgfSkuY2FuY2VsYWJs
ZSBpcyB0cnVlCitQQVNTIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBidWJi
bGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlIH0pLmtleVN5c3RlbSBpcyAiIgorUEFTUyBuZXcg
TWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJs
ZTogdHJ1ZSB9KS5zZXNzaW9uSWQgaXMgIiIKK1BBU1MgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlh
S2V5RXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUgfSkuaW5pdERhdGEg
aXMgbnVsbAorUEFTUyBuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgYnViYmxl
czogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSB9KS5tZXNzYWdlIGlzIG51bGwKK1BBU1MgbmV3IE1l
ZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6
IHRydWUgfSkuZGVmYXVsdFVybCBpcyAiIgorUEFTUyBuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFL
ZXlFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSB9KS5lcnJvckNvZGUg
aXMgbnVsbAorUEFTUyBuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgYnViYmxl
czogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSB9KS5zeXN0ZW1Db2RlIGlzIDAKKworKioqIEJ1YmJs
ZXMgYW5kIGNhbmNlbGFibGUgdHJ1ZSwgaW52YWxpZCBvdGhlciBtZW1iZXJzICoqKgorUEFTUyBu
ZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2Vs
YWJsZTogdHJ1ZSwga2V5U3lzdGVtOiB1bmRlZmluZWQsIHNlc3Npb25JZDogdW5kZWZpbmVkLCBp
bml0RGF0YTogVWludDhBcnJheSwgbWVzc2FnZTogVWludDhBcnJheSwgZGVmYXVsdFVybDogdW5k
ZWZpbmVkLCBlcnJvckNvZGU6IE1lZGlhS2V5RXJyb3IsIHN5c3RlbUNvZGU6IHVuZGVmaW5lZCB9
KS5idWJibGVzIGlzIHRydWUKK1BBU1MgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQn
LCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIGtleVN5c3RlbTogdW5kZWZpbmVk
LCBzZXNzaW9uSWQ6IHVuZGVmaW5lZCwgaW5pdERhdGE6IFVpbnQ4QXJyYXksIG1lc3NhZ2U6IFVp
bnQ4QXJyYXksIGRlZmF1bHRVcmw6IHVuZGVmaW5lZCwgZXJyb3JDb2RlOiBNZWRpYUtleUVycm9y
LCBzeXN0ZW1Db2RlOiB1bmRlZmluZWQgfSkuY2FuY2VsYWJsZSBpcyB0cnVlCitQQVNTIG5ldyBN
ZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxl
OiB0cnVlLCBrZXlTeXN0ZW06IHVuZGVmaW5lZCwgc2Vzc2lvbklkOiB1bmRlZmluZWQsIGluaXRE
YXRhOiBVaW50OEFycmF5LCBtZXNzYWdlOiBVaW50OEFycmF5LCBkZWZhdWx0VXJsOiB1bmRlZmlu
ZWQsIGVycm9yQ29kZTogTWVkaWFLZXlFcnJvciwgc3lzdGVtQ29kZTogdW5kZWZpbmVkIH0pLmtl
eVN5c3RlbSBpcyAidW5kZWZpbmVkIgorUEFTUyBuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlF
dmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwga2V5U3lzdGVtOiB1bmRl
ZmluZWQsIHNlc3Npb25JZDogdW5kZWZpbmVkLCBpbml0RGF0YTogVWludDhBcnJheSwgbWVzc2Fn
ZTogVWludDhBcnJheSwgZGVmYXVsdFVybDogdW5kZWZpbmVkLCBlcnJvckNvZGU6IE1lZGlhS2V5
RXJyb3IsIHN5c3RlbUNvZGU6IHVuZGVmaW5lZCB9KS5zZXNzaW9uSWQgaXMgInVuZGVmaW5lZCIK
K1BBU1MgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUs
IGNhbmNlbGFibGU6IHRydWUsIGtleVN5c3RlbTogdW5kZWZpbmVkLCBzZXNzaW9uSWQ6IHVuZGVm
aW5lZCwgaW5pdERhdGE6IFVpbnQ4QXJyYXksIG1lc3NhZ2U6IFVpbnQ4QXJyYXksIGRlZmF1bHRV
cmw6IHVuZGVmaW5lZCwgZXJyb3JDb2RlOiBNZWRpYUtleUVycm9yLCBzeXN0ZW1Db2RlOiB1bmRl
ZmluZWQgfSkuaW5pdERhdGEgaXMgbnVsbAorUEFTUyBuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFL
ZXlFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwga2V5U3lzdGVtOiB1
bmRlZmluZWQsIHNlc3Npb25JZDogdW5kZWZpbmVkLCBpbml0RGF0YTogVWludDhBcnJheSwgbWVz
c2FnZTogVWludDhBcnJheSwgZGVmYXVsdFVybDogdW5kZWZpbmVkLCBlcnJvckNvZGU6IE1lZGlh
S2V5RXJyb3IsIHN5c3RlbUNvZGU6IHVuZGVmaW5lZCB9KS5tZXNzYWdlIGlzIG51bGwKK1BBU1Mg
bmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNl
bGFibGU6IHRydWUsIGtleVN5c3RlbTogdW5kZWZpbmVkLCBzZXNzaW9uSWQ6IHVuZGVmaW5lZCwg
aW5pdERhdGE6IFVpbnQ4QXJyYXksIG1lc3NhZ2U6IFVpbnQ4QXJyYXksIGRlZmF1bHRVcmw6IHVu
ZGVmaW5lZCwgZXJyb3JDb2RlOiBNZWRpYUtleUVycm9yLCBzeXN0ZW1Db2RlOiB1bmRlZmluZWQg
fSkuZGVmYXVsdFVybCBpcyAidW5kZWZpbmVkIgorUEFTUyBuZXcgTWVkaWFLZXlFdmVudCgnTWVk
aWFLZXlFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwga2V5U3lzdGVt
OiB1bmRlZmluZWQsIHNlc3Npb25JZDogdW5kZWZpbmVkLCBpbml0RGF0YTogVWludDhBcnJheSwg
bWVzc2FnZTogVWludDhBcnJheSwgZGVmYXVsdFVybDogdW5kZWZpbmVkLCBlcnJvckNvZGU6IE1l
ZGlhS2V5RXJyb3IsIHN5c3RlbUNvZGU6IHVuZGVmaW5lZCB9KS5lcnJvckNvZGUgaXMgbnVsbAor
UEFTUyBuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwg
Y2FuY2VsYWJsZTogdHJ1ZSwga2V5U3lzdGVtOiB1bmRlZmluZWQsIHNlc3Npb25JZDogdW5kZWZp
bmVkLCBpbml0RGF0YTogVWludDhBcnJheSwgbWVzc2FnZTogVWludDhBcnJheSwgZGVmYXVsdFVy
bDogdW5kZWZpbmVkLCBlcnJvckNvZGU6IE1lZGlhS2V5RXJyb3IsIHN5c3RlbUNvZGU6IHVuZGVm
aW5lZCB9KS5zeXN0ZW1Db2RlIGlzIDAKKworKioqIEluaXRpYWxpemUgJ2tleVN5c3RlbScgd2l0
aCBhIGludmFsaWQgdmFsdWVzICoqKgorUEFTUyBuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlF
dmVudCcsIHsga2V5U3lzdGVtOiBlbXB0eU9iamVjdCB9KS5rZXlTeXN0ZW0gaXMgIltvYmplY3Qg
T2JqZWN0XSIKK1BBU1MgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGtleVN5
c3RlbTogZG9jdW1lbnQgfSkua2V5U3lzdGVtIGlzICJbb2JqZWN0IEhUTUxEb2N1bWVudF0iCisK
KyoqKiBJbml0aWFsaXplICdzZXNzaW9uSWQnIHdpdGggYSBpbnZhbGlkIHZhbHVlcyAqKioKK1BB
U1MgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IHNlc3Npb25JZDogZW1wdHlP
YmplY3QgfSkuc2Vzc2lvbklkIGlzICJbb2JqZWN0IE9iamVjdF0iCitQQVNTIG5ldyBNZWRpYUtl
eUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBzZXNzaW9uSWQ6IGRvY3VtZW50IH0pLnNlc3Npb25J
ZCBpcyAiW29iamVjdCBIVE1MRG9jdW1lbnRdIgorCisqKiogSW5pdGlhbGl6ZSAnaW5pdERhdGEn
IHdpdGggYSBpbnZhbGlkIHZhbHVlcyAqKioKK1BBU1MgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlh
S2V5RXZlbnQnLCB7IGluaXREYXRhOiAxMCB9KS5pbml0RGF0YSBpcyBudWxsCitQQVNTIG5ldyBN
ZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBpbml0RGF0YTogJ3N0cmluZycgfSkuaW5p
dERhdGEgaXMgbnVsbAorUEFTUyBuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsg
aW5pdERhdGE6IGVtcHR5T2JqZWN0IH0pLmluaXREYXRhIGlzIG51bGwKK1BBU1MgbmV3IE1lZGlh
S2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGluaXREYXRhOiBkb2N1bWVudCB9KS5pbml0RGF0
YSBpcyBudWxsCisKKyoqKiBJbml0aWFsaXplICdtZXNzYWdlJyB3aXRoIGEgaW52YWxpZCB2YWx1
ZXMgKioqCitQQVNTIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBtZXNzYWdl
OiAxMCB9KS5tZXNzYWdlIGlzIG51bGwKK1BBU1MgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5
RXZlbnQnLCB7IG1lc3NhZ2U6ICdzdHJpbmcnIH0pLm1lc3NhZ2UgaXMgbnVsbAorUEFTUyBuZXcg
TWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgbWVzc2FnZTogZW1wdHlPYmplY3QgfSku
bWVzc2FnZSBpcyBudWxsCitQQVNTIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50Jywg
eyBtZXNzYWdlOiBkb2N1bWVudCB9KS5tZXNzYWdlIGlzIG51bGwKKworKioqIEluaXRpYWxpemUg
J2RlZmF1bHRVcmwnIHdpdGggYSBpbnZhbGlkIHZhbHVlcyAqKioKK1BBU1MgbmV3IE1lZGlhS2V5
RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGRlZmF1bHRVcmw6IGVtcHR5T2JqZWN0IH0pLmRlZmF1
bHRVcmwgaXMgIltvYmplY3QgT2JqZWN0XSIKK1BBU1MgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlh
S2V5RXZlbnQnLCB7IGRlZmF1bHRVcmw6IGRvY3VtZW50IH0pLmRlZmF1bHRVcmwgaXMgIltvYmpl
Y3QgSFRNTERvY3VtZW50XSIKKworKioqIEluaXRpYWxpemUgJ2Vycm9yQ29kZScgd2l0aCBhIGlu
dmFsaWQgdmFsdWVzICoqKgorUEFTUyBuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcs
IHsgZXJyb3JDb2RlOiAxMCB9KS5lcnJvckNvZGUgaXMgbnVsbAorUEFTUyBuZXcgTWVkaWFLZXlF
dmVudCgnTWVkaWFLZXlFdmVudCcsIHsgZXJyb3JDb2RlOiAnc3RyaW5nJyB9KS5lcnJvckNvZGUg
aXMgbnVsbAorUEFTUyBuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgZXJyb3JD
b2RlOiBlbXB0eU9iamVjdCB9KS5lcnJvckNvZGUgaXMgbnVsbAorUEFTUyBuZXcgTWVkaWFLZXlF
dmVudCgnTWVkaWFLZXlFdmVudCcsIHsgZXJyb3JDb2RlOiBkb2N1bWVudCB9KS5lcnJvckNvZGUg
aXMgbnVsbAorCisqKiogSW5pdGlhbGl6ZSAnc3lzdGVtQ29kZScgd2l0aCBhIGludmFsaWQgdmFs
dWVzICoqKgorUEFTUyBuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgc3lzdGVt
Q29kZTogJ3N0cmluZycgfSkuc3lzdGVtQ29kZSBpcyAwCitQQVNTIG5ldyBNZWRpYUtleUV2ZW50
KCdNZWRpYUtleUV2ZW50JywgeyBzeXN0ZW1Db2RlOiBlbXB0eU9iamVjdCB9KS5zeXN0ZW1Db2Rl
IGlzIDAKK1BBU1MgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IHN5c3RlbUNv
ZGU6IGRvY3VtZW50IH0pLnN5c3RlbUNvZGUgaXMgMAorCisqKiogQnViYmxlcyBhbmQgY2FuY2Vs
YWJsZSB0cnVlLCB2YWxpZCBvdGhlciBtZW1iZXJzICoqKgorUEFTUyBuZXcgTWVkaWFLZXlFdmVu
dCgnTWVkaWFLZXlFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwga2V5
U3lzdGVtOiAna2V5U3lzdGVtJywgc2Vzc2lvbklkOiAnc2Vzc2lvbklkJywgaW5pdERhdGE6IGlu
aXREYXRhQXJyYXksIG1lc3NhZ2U6IG1lc3NhZ2VBcnJheSwgZGVmYXVsdFVybDogJ2RlZmF1bHRV
cmwnLCBlcnJvckNvZGU6IGVycm9yT2JqZWN0LCBzeXN0ZW1Db2RlOiAxMjMgfSkuYnViYmxlcyBp
cyB0cnVlCitQQVNTIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBidWJibGVz
OiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlLCBrZXlTeXN0ZW06ICdrZXlTeXN0ZW0nLCBzZXNzaW9u
SWQ6ICdzZXNzaW9uSWQnLCBpbml0RGF0YTogaW5pdERhdGFBcnJheSwgbWVzc2FnZTogbWVzc2Fn
ZUFycmF5LCBkZWZhdWx0VXJsOiAnZGVmYXVsdFVybCcsIGVycm9yQ29kZTogZXJyb3JPYmplY3Qs
IHN5c3RlbUNvZGU6IDEyMyB9KS5jYW5jZWxhYmxlIGlzIHRydWUKK1BBU1MgbmV3IE1lZGlhS2V5
RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUs
IGtleVN5c3RlbTogJ2tleVN5c3RlbScsIHNlc3Npb25JZDogJ3Nlc3Npb25JZCcsIGluaXREYXRh
OiBpbml0RGF0YUFycmF5LCBtZXNzYWdlOiBtZXNzYWdlQXJyYXksIGRlZmF1bHRVcmw6ICdkZWZh
dWx0VXJsJywgZXJyb3JDb2RlOiBlcnJvck9iamVjdCwgc3lzdGVtQ29kZTogMTIzIH0pLmtleVN5
c3RlbSBpcyAia2V5U3lzdGVtIgorUEFTUyBuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVu
dCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwga2V5U3lzdGVtOiAna2V5U3lz
dGVtJywgc2Vzc2lvbklkOiAnc2Vzc2lvbklkJywgaW5pdERhdGE6IGluaXREYXRhQXJyYXksIG1l
c3NhZ2U6IG1lc3NhZ2VBcnJheSwgZGVmYXVsdFVybDogJ2RlZmF1bHRVcmwnLCBlcnJvckNvZGU6
IGVycm9yT2JqZWN0LCBzeXN0ZW1Db2RlOiAxMjMgfSkuc2Vzc2lvbklkIGlzICJzZXNzaW9uSWQi
CitQQVNTIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBidWJibGVzOiB0cnVl
LCBjYW5jZWxhYmxlOiB0cnVlLCBrZXlTeXN0ZW06ICdrZXlTeXN0ZW0nLCBzZXNzaW9uSWQ6ICdz
ZXNzaW9uSWQnLCBpbml0RGF0YTogaW5pdERhdGFBcnJheSwgbWVzc2FnZTogbWVzc2FnZUFycmF5
LCBkZWZhdWx0VXJsOiAnZGVmYXVsdFVybCcsIGVycm9yQ29kZTogZXJyb3JPYmplY3QsIHN5c3Rl
bUNvZGU6IDEyMyB9KS5pbml0RGF0YSBpcyBpbml0RGF0YUFycmF5CitQQVNTIG5ldyBNZWRpYUtl
eUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVl
LCBrZXlTeXN0ZW06ICdrZXlTeXN0ZW0nLCBzZXNzaW9uSWQ6ICdzZXNzaW9uSWQnLCBpbml0RGF0
YTogaW5pdERhdGFBcnJheSwgbWVzc2FnZTogbWVzc2FnZUFycmF5LCBkZWZhdWx0VXJsOiAnZGVm
YXVsdFVybCcsIGVycm9yQ29kZTogZXJyb3JPYmplY3QsIHN5c3RlbUNvZGU6IDEyMyB9KS5tZXNz
YWdlIGlzIG1lc3NhZ2VBcnJheQorUEFTUyBuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVu
dCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwga2V5U3lzdGVtOiAna2V5U3lz
dGVtJywgc2Vzc2lvbklkOiAnc2Vzc2lvbklkJywgaW5pdERhdGE6IGluaXREYXRhQXJyYXksIG1l
c3NhZ2U6IG1lc3NhZ2VBcnJheSwgZGVmYXVsdFVybDogJ2RlZmF1bHRVcmwnLCBlcnJvckNvZGU6
IGVycm9yT2JqZWN0LCBzeXN0ZW1Db2RlOiAxMjMgfSkuZGVmYXVsdFVybCBpcyAiZGVmYXVsdFVy
bCIKK0ZBSUwgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGJ1YmJsZXM6IHRy
dWUsIGNhbmNlbGFibGU6IHRydWUsIGtleVN5c3RlbTogJ2tleVN5c3RlbScsIHNlc3Npb25JZDog
J3Nlc3Npb25JZCcsIGluaXREYXRhOiBpbml0RGF0YUFycmF5LCBtZXNzYWdlOiBtZXNzYWdlQXJy
YXksIGRlZmF1bHRVcmw6ICdkZWZhdWx0VXJsJywgZXJyb3JDb2RlOiBlcnJvck9iamVjdCwgc3lz
dGVtQ29kZTogMTIzIH0pLmVycm9yQ29kZSBzaG91bGQgYmUgZnVuY3Rpb24gTWVkaWFLZXlFcnJv
cigpIHsgW25hdGl2ZSBjb2RlXSB9IChvZiB0eXBlIGZ1bmN0aW9uKS4gV2FzIG51bGwgKG9mIHR5
cGUgb2JqZWN0KS4KK0ZBSUwgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGJ1
YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIGtleVN5c3RlbTogJ2tleVN5c3RlbScsIHNl
c3Npb25JZDogJ3Nlc3Npb25JZCcsIGluaXREYXRhOiBpbml0RGF0YUFycmF5LCBtZXNzYWdlOiBt
ZXNzYWdlQXJyYXksIGRlZmF1bHRVcmw6ICdkZWZhdWx0VXJsJywgZXJyb3JDb2RlOiBlcnJvck9i
amVjdCwgc3lzdGVtQ29kZTogMTIzIH0pLmVycm9yQ29kZS5jb2RlIHNob3VsZCBiZSAxLiBUaHJl
dyBleGNlcHRpb24gVHlwZUVycm9yOiBDYW5ub3QgcmVhZCBwcm9wZXJ0eSAnY29kZScgb2YgbnVs
bAorUEFTUyBuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgYnViYmxlczogdHJ1
ZSwgY2FuY2VsYWJsZTogdHJ1ZSwga2V5U3lzdGVtOiAna2V5U3lzdGVtJywgc2Vzc2lvbklkOiAn
c2Vzc2lvbklkJywgaW5pdERhdGE6IGluaXREYXRhQXJyYXksIG1lc3NhZ2U6IG1lc3NhZ2VBcnJh
eSwgZGVmYXVsdFVybDogJ2RlZmF1bHRVcmwnLCBlcnJvckNvZGU6IGVycm9yT2JqZWN0LCBzeXN0
ZW1Db2RlOiAxMjMgfSkuc3lzdGVtQ29kZSBpcyAxMjMKKworKioqIEluaXRpYWxpemUgd2l0aCB2
YWxpZCBtZW1iZXJzICoqKgorRkFJTCBuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcs
IHsga2V5U3lzdGVtOiAna2V5U3lzdGVtJywgc2Vzc2lvbklkOiAnc2Vzc2lvbklkJywgaW5pdERh
dGE6IGluaXREYXRhQXJyYXksIG1lc3NhZ2U6IG1lc3NhZ2VBcnJheSwgZGVmYXVsdFVybDogJ2Rl
ZmF1bHRVcmwnLCBlcnJvckNvZGU6IGVycm9yT2JqZWN0LCBzeXN0ZW1Db2RlOiAxMjMgfSkuYnVi
YmxlcyBzaG91bGQgYmUgdHJ1ZS4gV2FzIGZhbHNlLgorRkFJTCBuZXcgTWVkaWFLZXlFdmVudCgn
TWVkaWFLZXlFdmVudCcsIHsga2V5U3lzdGVtOiAna2V5U3lzdGVtJywgc2Vzc2lvbklkOiAnc2Vz
c2lvbklkJywgaW5pdERhdGE6IGluaXREYXRhQXJyYXksIG1lc3NhZ2U6IG1lc3NhZ2VBcnJheSwg
ZGVmYXVsdFVybDogJ2RlZmF1bHRVcmwnLCBlcnJvckNvZGU6IGVycm9yT2JqZWN0LCBzeXN0ZW1D
b2RlOiAxMjMgfSkuY2FuY2VsYWJsZSBzaG91bGQgYmUgdHJ1ZS4gV2FzIGZhbHNlLgorUEFTUyBu
ZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsga2V5U3lzdGVtOiAna2V5U3lzdGVt
Jywgc2Vzc2lvbklkOiAnc2Vzc2lvbklkJywgaW5pdERhdGE6IGluaXREYXRhQXJyYXksIG1lc3Nh
Z2U6IG1lc3NhZ2VBcnJheSwgZGVmYXVsdFVybDogJ2RlZmF1bHRVcmwnLCBlcnJvckNvZGU6IGVy
cm9yT2JqZWN0LCBzeXN0ZW1Db2RlOiAxMjMgfSkua2V5U3lzdGVtIGlzICJrZXlTeXN0ZW0iCitQ
QVNTIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBrZXlTeXN0ZW06ICdrZXlT
eXN0ZW0nLCBzZXNzaW9uSWQ6ICdzZXNzaW9uSWQnLCBpbml0RGF0YTogaW5pdERhdGFBcnJheSwg
bWVzc2FnZTogbWVzc2FnZUFycmF5LCBkZWZhdWx0VXJsOiAnZGVmYXVsdFVybCcsIGVycm9yQ29k
ZTogZXJyb3JPYmplY3QsIHN5c3RlbUNvZGU6IDEyMyB9KS5zZXNzaW9uSWQgaXMgInNlc3Npb25J
ZCIKK1BBU1MgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGtleVN5c3RlbTog
J2tleVN5c3RlbScsIHNlc3Npb25JZDogJ3Nlc3Npb25JZCcsIGluaXREYXRhOiBpbml0RGF0YUFy
cmF5LCBtZXNzYWdlOiBtZXNzYWdlQXJyYXksIGRlZmF1bHRVcmw6ICdkZWZhdWx0VXJsJywgZXJy
b3JDb2RlOiBlcnJvck9iamVjdCwgc3lzdGVtQ29kZTogMTIzIH0pLmluaXREYXRhIGlzIGluaXRE
YXRhQXJyYXkKK1BBU1MgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGtleVN5
c3RlbTogJ2tleVN5c3RlbScsIHNlc3Npb25JZDogJ3Nlc3Npb25JZCcsIGluaXREYXRhOiBpbml0
RGF0YUFycmF5LCBtZXNzYWdlOiBtZXNzYWdlQXJyYXksIGRlZmF1bHRVcmw6ICdkZWZhdWx0VXJs
JywgZXJyb3JDb2RlOiBlcnJvck9iamVjdCwgc3lzdGVtQ29kZTogMTIzIH0pLm1lc3NhZ2UgaXMg
bWVzc2FnZUFycmF5CitQQVNTIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBr
ZXlTeXN0ZW06ICdrZXlTeXN0ZW0nLCBzZXNzaW9uSWQ6ICdzZXNzaW9uSWQnLCBpbml0RGF0YTog
aW5pdERhdGFBcnJheSwgbWVzc2FnZTogbWVzc2FnZUFycmF5LCBkZWZhdWx0VXJsOiAnZGVmYXVs
dFVybCcsIGVycm9yQ29kZTogZXJyb3JPYmplY3QsIHN5c3RlbUNvZGU6IDEyMyB9KS5kZWZhdWx0
VXJsIGlzICJkZWZhdWx0VXJsIgorRkFJTCBuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVu
dCcsIHsga2V5U3lzdGVtOiAna2V5U3lzdGVtJywgc2Vzc2lvbklkOiAnc2Vzc2lvbklkJywgaW5p
dERhdGE6IGluaXREYXRhQXJyYXksIG1lc3NhZ2U6IG1lc3NhZ2VBcnJheSwgZGVmYXVsdFVybDog
J2RlZmF1bHRVcmwnLCBlcnJvckNvZGU6IGVycm9yT2JqZWN0LCBzeXN0ZW1Db2RlOiAxMjMgfSku
ZXJyb3JDb2RlIHNob3VsZCBiZSBmdW5jdGlvbiBNZWRpYUtleUVycm9yKCkgeyBbbmF0aXZlIGNv
ZGVdIH0gKG9mIHR5cGUgZnVuY3Rpb24pLiBXYXMgbnVsbCAob2YgdHlwZSBvYmplY3QpLgorRkFJ
TCBuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsga2V5U3lzdGVtOiAna2V5U3lz
dGVtJywgc2Vzc2lvbklkOiAnc2Vzc2lvbklkJywgaW5pdERhdGE6IGluaXREYXRhQXJyYXksIG1l
c3NhZ2U6IG1lc3NhZ2VBcnJheSwgZGVmYXVsdFVybDogJ2RlZmF1bHRVcmwnLCBlcnJvckNvZGU6
IGVycm9yT2JqZWN0LCBzeXN0ZW1Db2RlOiAxMjMgfSkuZXJyb3JDb2RlLmNvZGUgc2hvdWxkIGJl
IDEuIFRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IENhbm5vdCByZWFkIHByb3BlcnR5ICdjb2Rl
JyBvZiBudWxsCitQQVNTIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBrZXlT
eXN0ZW06ICdrZXlTeXN0ZW0nLCBzZXNzaW9uSWQ6ICdzZXNzaW9uSWQnLCBpbml0RGF0YTogaW5p
dERhdGFBcnJheSwgbWVzc2FnZTogbWVzc2FnZUFycmF5LCBkZWZhdWx0VXJsOiAnZGVmYXVsdFVy
bCcsIGVycm9yQ29kZTogZXJyb3JPYmplY3QsIHN5c3RlbUNvZGU6IDEyMyB9KS5zeXN0ZW1Db2Rl
IGlzIDEyMworCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL21l
ZGlhLWtleS1ldmVudC1jb25zdHJ1Y3Rvci5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMv
Y29uc3RydWN0b3JzL21lZGlhLWtleS1ldmVudC1jb25zdHJ1Y3Rvci5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjUyYjlhNzg2NTg5MTE4NzM3MjkzNjAyNzI4MWZjYWJhM2M2ZDRmODMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9jb25zdHJ1Y3RvcnMvbWVkaWEta2V5LWV2ZW50
LWNvbnN0cnVjdG9yLmh0bWwKQEAgLTAsMCArMSwxMzUgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHk+CisgICAgPHNjcmlwdD4KKworICAg
ICAgICB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdHMgdGhlIGNvbnN0cnVjdG9yIGZvciB0aGUgTWVkaWFLZXlFdmVudCBET00gY2xh
c3MuIik7CisKKyAgICAgICAgZnVuY3Rpb24gdGVzdCgpCisgICAgICAgIHsKKyAgICAgICAgICAg
IGRlYnVnKCI8YnI+KioqIE5vIGluaXRpYWxpemVyIHBhc3NlZCAqKioiKTsKKyAgICAgICAgICAg
IHNob3VsZEJlKCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcpLmJ1YmJsZXMiLCAi
ZmFsc2UiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFL
ZXlFdmVudCcpLmNhbmNlbGFibGUiLCAiZmFsc2UiKTsKKyAgICAgICAgICAgIHNob3VsZEJlRW1w
dHlTdHJpbmcoIm5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50Jykua2V5U3lzdGVtIik7
CisgICAgICAgICAgICBzaG91bGRCZUVtcHR5U3RyaW5nKCJuZXcgTWVkaWFLZXlFdmVudCgnTWVk
aWFLZXlFdmVudCcpLnNlc3Npb25JZCIpOworICAgICAgICAgICAgc2hvdWxkQmVOdWxsKCJuZXcg
TWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcpLmluaXREYXRhIik7CisgICAgICAgICAgICBz
aG91bGRCZU51bGwoIm5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JykubWVzc2FnZSIp
OworICAgICAgICAgICAgc2hvdWxkQmVFbXB0eVN0cmluZygibmV3IE1lZGlhS2V5RXZlbnQoJ01l
ZGlhS2V5RXZlbnQnKS5kZWZhdWx0VXJsIik7CisgICAgICAgICAgICBzaG91bGRCZU51bGwoIm5l
dyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JykuZXJyb3JDb2RlIik7CisgICAgICAgICAg
ICBzaG91bGRCZVplcm8oIm5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50Jykuc3lzdGVt
Q29kZSIpOworICAgIAorICAgICAgICAgICAgZGVidWcoIjxicj4qKiogQnViYmxlcyBhbmQgY2Fu
Y2VsYWJsZSB0cnVlLCBvdGhlciBtZW1iZXJzIGFyZSBtaXNzaW5nICoqKiIpOworICAgICAgICAg
ICAgc2hvdWxkQmUoIm5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBidWJibGVz
OiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlIH0pLmJ1YmJsZXMiLCAidHJ1ZSIpOworICAgICAgICAg
ICAgc2hvdWxkQmUoIm5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBidWJibGVz
OiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlIH0pLmNhbmNlbGFibGUiLCAidHJ1ZSIpOworICAgICAg
ICAgICAgc2hvdWxkQmVFbXB0eVN0cmluZygibmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZl
bnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUgfSkua2V5U3lzdGVtIik7Cisg
ICAgICAgICAgICBzaG91bGRCZUVtcHR5U3RyaW5nKCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFL
ZXlFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSB9KS5zZXNzaW9uSWQi
KTsKKyAgICAgICAgICAgIHNob3VsZEJlTnVsbCgibmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5
RXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUgfSkuaW5pdERhdGEiKTsK
KyAgICAgICAgICAgIHNob3VsZEJlTnVsbCgibmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZl
bnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUgfSkubWVzc2FnZSIpOworICAg
ICAgICAgICAgc2hvdWxkQmVFbXB0eVN0cmluZygibmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5
RXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUgfSkuZGVmYXVsdFVybCIp
OworICAgICAgICAgICAgc2hvdWxkQmVOdWxsKCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlF
dmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSB9KS5lcnJvckNvZGUiKTsK
KyAgICAgICAgICAgIHNob3VsZEJlWmVybygibmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZl
bnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUgfSkuc3lzdGVtQ29kZSIpOwor
ICAgIAorICAgICAgICAgICAgZGVidWcoIjxicj4qKiogQnViYmxlcyBhbmQgY2FuY2VsYWJsZSB0
cnVlLCBpbnZhbGlkIG90aGVyIG1lbWJlcnMgKioqIik7CisgICAgICAgICAgICBzaG91bGRCZSgi
bmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNl
bGFibGU6IHRydWUsIGtleVN5c3RlbTogdW5kZWZpbmVkLCBzZXNzaW9uSWQ6IHVuZGVmaW5lZCwg
aW5pdERhdGE6IFVpbnQ4QXJyYXksIG1lc3NhZ2U6IFVpbnQ4QXJyYXksIGRlZmF1bHRVcmw6IHVu
ZGVmaW5lZCwgZXJyb3JDb2RlOiBNZWRpYUtleUVycm9yLCBzeXN0ZW1Db2RlOiB1bmRlZmluZWQg
fSkuYnViYmxlcyIsICJ0cnVlIik7CisgICAgICAgICAgICBzaG91bGRCZSgibmV3IE1lZGlhS2V5
RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUs
IGtleVN5c3RlbTogdW5kZWZpbmVkLCBzZXNzaW9uSWQ6IHVuZGVmaW5lZCwgaW5pdERhdGE6IFVp
bnQ4QXJyYXksIG1lc3NhZ2U6IFVpbnQ4QXJyYXksIGRlZmF1bHRVcmw6IHVuZGVmaW5lZCwgZXJy
b3JDb2RlOiBNZWRpYUtleUVycm9yLCBzeXN0ZW1Db2RlOiB1bmRlZmluZWQgfSkuY2FuY2VsYWJs
ZSIsICJ0cnVlIik7CisgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIm5ldyBNZWRp
YUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0
cnVlLCBrZXlTeXN0ZW06IHVuZGVmaW5lZCwgc2Vzc2lvbklkOiB1bmRlZmluZWQsIGluaXREYXRh
OiBVaW50OEFycmF5LCBtZXNzYWdlOiBVaW50OEFycmF5LCBkZWZhdWx0VXJsOiB1bmRlZmluZWQs
IGVycm9yQ29kZTogTWVkaWFLZXlFcnJvciwgc3lzdGVtQ29kZTogdW5kZWZpbmVkIH0pLmtleVN5
c3RlbSIsICJ1bmRlZmluZWQiKTsKKyAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
bmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNl
bGFibGU6IHRydWUsIGtleVN5c3RlbTogdW5kZWZpbmVkLCBzZXNzaW9uSWQ6IHVuZGVmaW5lZCwg
aW5pdERhdGE6IFVpbnQ4QXJyYXksIG1lc3NhZ2U6IFVpbnQ4QXJyYXksIGRlZmF1bHRVcmw6IHVu
ZGVmaW5lZCwgZXJyb3JDb2RlOiBNZWRpYUtleUVycm9yLCBzeXN0ZW1Db2RlOiB1bmRlZmluZWQg
fSkuc2Vzc2lvbklkIiwgInVuZGVmaW5lZCIpOworICAgICAgICAgICAgc2hvdWxkQmVOdWxsKCJu
ZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2Vs
YWJsZTogdHJ1ZSwga2V5U3lzdGVtOiB1bmRlZmluZWQsIHNlc3Npb25JZDogdW5kZWZpbmVkLCBp
bml0RGF0YTogVWludDhBcnJheSwgbWVzc2FnZTogVWludDhBcnJheSwgZGVmYXVsdFVybDogdW5k
ZWZpbmVkLCBlcnJvckNvZGU6IE1lZGlhS2V5RXJyb3IsIHN5c3RlbUNvZGU6IHVuZGVmaW5lZCB9
KS5pbml0RGF0YSIpOworICAgICAgICAgICAgc2hvdWxkQmVOdWxsKCJuZXcgTWVkaWFLZXlFdmVu
dCgnTWVkaWFLZXlFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwga2V5
U3lzdGVtOiB1bmRlZmluZWQsIHNlc3Npb25JZDogdW5kZWZpbmVkLCBpbml0RGF0YTogVWludDhB
cnJheSwgbWVzc2FnZTogVWludDhBcnJheSwgZGVmYXVsdFVybDogdW5kZWZpbmVkLCBlcnJvckNv
ZGU6IE1lZGlhS2V5RXJyb3IsIHN5c3RlbUNvZGU6IHVuZGVmaW5lZCB9KS5tZXNzYWdlIik7Cisg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIm5ldyBNZWRpYUtleUV2ZW50KCdNZWRp
YUtleUV2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlLCBrZXlTeXN0ZW06
IHVuZGVmaW5lZCwgc2Vzc2lvbklkOiB1bmRlZmluZWQsIGluaXREYXRhOiBVaW50OEFycmF5LCBt
ZXNzYWdlOiBVaW50OEFycmF5LCBkZWZhdWx0VXJsOiB1bmRlZmluZWQsIGVycm9yQ29kZTogTWVk
aWFLZXlFcnJvciwgc3lzdGVtQ29kZTogdW5kZWZpbmVkIH0pLmRlZmF1bHRVcmwiLCAidW5kZWZp
bmVkIik7CisgICAgICAgICAgICBzaG91bGRCZU51bGwoIm5ldyBNZWRpYUtleUV2ZW50KCdNZWRp
YUtleUV2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlLCBrZXlTeXN0ZW06
IHVuZGVmaW5lZCwgc2Vzc2lvbklkOiB1bmRlZmluZWQsIGluaXREYXRhOiBVaW50OEFycmF5LCBt
ZXNzYWdlOiBVaW50OEFycmF5LCBkZWZhdWx0VXJsOiB1bmRlZmluZWQsIGVycm9yQ29kZTogTWVk
aWFLZXlFcnJvciwgc3lzdGVtQ29kZTogdW5kZWZpbmVkIH0pLmVycm9yQ29kZSIpOworICAgICAg
ICAgICAgc2hvdWxkQmVaZXJvKCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsg
YnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwga2V5U3lzdGVtOiB1bmRlZmluZWQsIHNl
c3Npb25JZDogdW5kZWZpbmVkLCBpbml0RGF0YTogVWludDhBcnJheSwgbWVzc2FnZTogVWludDhB
cnJheSwgZGVmYXVsdFVybDogdW5kZWZpbmVkLCBlcnJvckNvZGU6IE1lZGlhS2V5RXJyb3IsIHN5
c3RlbUNvZGU6IHVuZGVmaW5lZCB9KS5zeXN0ZW1Db2RlIik7CisgICAgCisgICAgICAgICAgICBk
ZWJ1ZygiPGJyPioqKiBJbml0aWFsaXplICdrZXlTeXN0ZW0nIHdpdGggYSBpbnZhbGlkIHZhbHVl
cyAqKioiKTsKKyAgICAgICAgICAgIGVtcHR5T2JqZWN0ID0geyB9OworICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsg
a2V5U3lzdGVtOiBlbXB0eU9iamVjdCB9KS5rZXlTeXN0ZW0iLCAiW29iamVjdCBPYmplY3RdIik7
CisgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIm5ldyBNZWRpYUtleUV2ZW50KCdN
ZWRpYUtleUV2ZW50JywgeyBrZXlTeXN0ZW06IGRvY3VtZW50IH0pLmtleVN5c3RlbSIsICJbb2Jq
ZWN0IEhUTUxEb2N1bWVudF0iKTsKKworICAgICAgICAgICAgZGVidWcoIjxicj4qKiogSW5pdGlh
bGl6ZSAnc2Vzc2lvbklkJyB3aXRoIGEgaW52YWxpZCB2YWx1ZXMgKioqIik7CisgICAgICAgICAg
ICBlbXB0eU9iamVjdCA9IHsgfTsKKyAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
bmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IHNlc3Npb25JZDogZW1wdHlPYmpl
Y3QgfSkuc2Vzc2lvbklkIiwgIltvYmplY3QgT2JqZWN0XSIpOworICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgc2Vz
c2lvbklkOiBkb2N1bWVudCB9KS5zZXNzaW9uSWQiLCAiW29iamVjdCBIVE1MRG9jdW1lbnRdIik7
CisKKyAgICAgICAgICAgIGRlYnVnKCI8YnI+KioqIEluaXRpYWxpemUgJ2luaXREYXRhJyB3aXRo
IGEgaW52YWxpZCB2YWx1ZXMgKioqIik7CisgICAgICAgICAgICBzaG91bGRCZU51bGwoIm5ldyBN
ZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBpbml0RGF0YTogMTAgfSkuaW5pdERhdGEi
KTsKKyAgICAgICAgICAgIHNob3VsZEJlTnVsbCgibmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5
RXZlbnQnLCB7IGluaXREYXRhOiBcJ3N0cmluZ1wnIH0pLmluaXREYXRhIik7CisgICAgICAgICAg
ICBlbXB0eU9iamVjdCA9IHsgfTsKKyAgICAgICAgICAgIHNob3VsZEJlTnVsbCgibmV3IE1lZGlh
S2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGluaXREYXRhOiBlbXB0eU9iamVjdCB9KS5pbml0
RGF0YSIpOworICAgICAgICAgICAgc2hvdWxkQmVOdWxsKCJuZXcgTWVkaWFLZXlFdmVudCgnTWVk
aWFLZXlFdmVudCcsIHsgaW5pdERhdGE6IGRvY3VtZW50IH0pLmluaXREYXRhIik7CisKKyAgICAg
ICAgICAgIGRlYnVnKCI8YnI+KioqIEluaXRpYWxpemUgJ21lc3NhZ2UnIHdpdGggYSBpbnZhbGlk
IHZhbHVlcyAqKioiKTsKKyAgICAgICAgICAgIHNob3VsZEJlTnVsbCgibmV3IE1lZGlhS2V5RXZl
bnQoJ01lZGlhS2V5RXZlbnQnLCB7IG1lc3NhZ2U6IDEwIH0pLm1lc3NhZ2UiKTsKKyAgICAgICAg
ICAgIHNob3VsZEJlTnVsbCgibmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IG1l
c3NhZ2U6IFwnc3RyaW5nXCcgfSkubWVzc2FnZSIpOworICAgICAgICAgICAgZW1wdHlPYmplY3Qg
PSB7IH07CisgICAgICAgICAgICBzaG91bGRCZU51bGwoIm5ldyBNZWRpYUtleUV2ZW50KCdNZWRp
YUtleUV2ZW50JywgeyBtZXNzYWdlOiBlbXB0eU9iamVjdCB9KS5tZXNzYWdlIik7CisgICAgICAg
ICAgICBzaG91bGRCZU51bGwoIm5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBt
ZXNzYWdlOiBkb2N1bWVudCB9KS5tZXNzYWdlIik7CisKKyAgICAgICAgICAgIGRlYnVnKCI8YnI+
KioqIEluaXRpYWxpemUgJ2RlZmF1bHRVcmwnIHdpdGggYSBpbnZhbGlkIHZhbHVlcyAqKioiKTsK
KyAgICAgICAgICAgIGVtcHR5T2JqZWN0ID0geyB9OworICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgZGVmYXVsdFVy
bDogZW1wdHlPYmplY3QgfSkuZGVmYXVsdFVybCIsICJbb2JqZWN0IE9iamVjdF0iKTsKKyAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygibmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5
RXZlbnQnLCB7IGRlZmF1bHRVcmw6IGRvY3VtZW50IH0pLmRlZmF1bHRVcmwiLCAiW29iamVjdCBI
VE1MRG9jdW1lbnRdIik7CisKKyAgICAgICAgICAgIGRlYnVnKCI8YnI+KioqIEluaXRpYWxpemUg
J2Vycm9yQ29kZScgd2l0aCBhIGludmFsaWQgdmFsdWVzICoqKiIpOworICAgICAgICAgICAgc2hv
dWxkQmVOdWxsKCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgZXJyb3JDb2Rl
OiAxMCB9KS5lcnJvckNvZGUiKTsKKyAgICAgICAgICAgIHNob3VsZEJlTnVsbCgibmV3IE1lZGlh
S2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGVycm9yQ29kZTogXCdzdHJpbmdcJyB9KS5lcnJv
ckNvZGUiKTsKKyAgICAgICAgICAgIGVtcHR5T2JqZWN0ID0geyB9OworICAgICAgICAgICAgc2hv
dWxkQmVOdWxsKCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgZXJyb3JDb2Rl
OiBlbXB0eU9iamVjdCB9KS5lcnJvckNvZGUiKTsKKyAgICAgICAgICAgIHNob3VsZEJlTnVsbCgi
bmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGVycm9yQ29kZTogZG9jdW1lbnQg
fSkuZXJyb3JDb2RlIik7CisKKyAgICAgICAgICAgIGRlYnVnKCI8YnI+KioqIEluaXRpYWxpemUg
J3N5c3RlbUNvZGUnIHdpdGggYSBpbnZhbGlkIHZhbHVlcyAqKioiKTsKKyAgICAgICAgICAgIHNo
b3VsZEJlWmVybygibmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IHN5c3RlbUNv
ZGU6IFwnc3RyaW5nXCcgfSkuc3lzdGVtQ29kZSIpOworICAgICAgICAgICAgZW1wdHlPYmplY3Qg
PSB7IH07CisgICAgICAgICAgICBzaG91bGRCZVplcm8oIm5ldyBNZWRpYUtleUV2ZW50KCdNZWRp
YUtleUV2ZW50JywgeyBzeXN0ZW1Db2RlOiBlbXB0eU9iamVjdCB9KS5zeXN0ZW1Db2RlIik7Cisg
ICAgICAgICAgICBzaG91bGRCZVplcm8oIm5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50
JywgeyBzeXN0ZW1Db2RlOiBkb2N1bWVudCB9KS5zeXN0ZW1Db2RlIik7CisKKyAgICAgICAgICAg
IGRlYnVnKCI8YnI+KioqIEJ1YmJsZXMgYW5kIGNhbmNlbGFibGUgdHJ1ZSwgdmFsaWQgb3RoZXIg
bWVtYmVycyAqKioiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJuZXcgTWVkaWFLZXlFdmVudCgn
TWVkaWFLZXlFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwga2V5U3lz
dGVtOiAna2V5U3lzdGVtJywgc2Vzc2lvbklkOiAnc2Vzc2lvbklkJywgaW5pdERhdGE6IGluaXRE
YXRhQXJyYXksIG1lc3NhZ2U6IG1lc3NhZ2VBcnJheSwgZGVmYXVsdFVybDogJ2RlZmF1bHRVcmwn
LCBlcnJvckNvZGU6IGVycm9yT2JqZWN0LCBzeXN0ZW1Db2RlOiAxMjMgfSkuYnViYmxlcyIsICJ0
cnVlIik7CisgICAgICAgICAgICBzaG91bGRCZSgibmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5
RXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIGtleVN5c3RlbTogJ2tl
eVN5c3RlbScsIHNlc3Npb25JZDogJ3Nlc3Npb25JZCcsIGluaXREYXRhOiBpbml0RGF0YUFycmF5
LCBtZXNzYWdlOiBtZXNzYWdlQXJyYXksIGRlZmF1bHRVcmw6ICdkZWZhdWx0VXJsJywgZXJyb3JD
b2RlOiBlcnJvck9iamVjdCwgc3lzdGVtQ29kZTogMTIzIH0pLmNhbmNlbGFibGUiLCAidHJ1ZSIp
OworICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJuZXcgTWVkaWFLZXlFdmVudCgn
TWVkaWFLZXlFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwga2V5U3lz
dGVtOiAna2V5U3lzdGVtJywgc2Vzc2lvbklkOiAnc2Vzc2lvbklkJywgaW5pdERhdGE6IGluaXRE
YXRhQXJyYXksIG1lc3NhZ2U6IG1lc3NhZ2VBcnJheSwgZGVmYXVsdFVybDogJ2RlZmF1bHRVcmwn
LCBlcnJvckNvZGU6IGVycm9yT2JqZWN0LCBzeXN0ZW1Db2RlOiAxMjMgfSkua2V5U3lzdGVtIiwg
ImtleVN5c3RlbSIpOworICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJuZXcgTWVk
aWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTog
dHJ1ZSwga2V5U3lzdGVtOiAna2V5U3lzdGVtJywgc2Vzc2lvbklkOiAnc2Vzc2lvbklkJywgaW5p
dERhdGE6IGluaXREYXRhQXJyYXksIG1lc3NhZ2U6IG1lc3NhZ2VBcnJheSwgZGVmYXVsdFVybDog
J2RlZmF1bHRVcmwnLCBlcnJvckNvZGU6IGVycm9yT2JqZWN0LCBzeXN0ZW1Db2RlOiAxMjMgfSku
c2Vzc2lvbklkIiwgInNlc3Npb25JZCIpOworICAgICAgICAgICAgc2hvdWxkQmUoIm5ldyBNZWRp
YUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0
cnVlLCBrZXlTeXN0ZW06ICdrZXlTeXN0ZW0nLCBzZXNzaW9uSWQ6ICdzZXNzaW9uSWQnLCBpbml0
RGF0YTogaW5pdERhdGFBcnJheSwgbWVzc2FnZTogbWVzc2FnZUFycmF5LCBkZWZhdWx0VXJsOiAn
ZGVmYXVsdFVybCcsIGVycm9yQ29kZTogZXJyb3JPYmplY3QsIHN5c3RlbUNvZGU6IDEyMyB9KS5p
bml0RGF0YSIsICJpbml0RGF0YUFycmF5Iik7CisgICAgICAgICAgICBzaG91bGRCZSgibmV3IE1l
ZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6
IHRydWUsIGtleVN5c3RlbTogJ2tleVN5c3RlbScsIHNlc3Npb25JZDogJ3Nlc3Npb25JZCcsIGlu
aXREYXRhOiBpbml0RGF0YUFycmF5LCBtZXNzYWdlOiBtZXNzYWdlQXJyYXksIGRlZmF1bHRVcmw6
ICdkZWZhdWx0VXJsJywgZXJyb3JDb2RlOiBlcnJvck9iamVjdCwgc3lzdGVtQ29kZTogMTIzIH0p
Lm1lc3NhZ2UiLCAibWVzc2FnZUFycmF5Iik7CisgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoIm5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBidWJibGVzOiB0cnVl
LCBjYW5jZWxhYmxlOiB0cnVlLCBrZXlTeXN0ZW06ICdrZXlTeXN0ZW0nLCBzZXNzaW9uSWQ6ICdz
ZXNzaW9uSWQnLCBpbml0RGF0YTogaW5pdERhdGFBcnJheSwgbWVzc2FnZTogbWVzc2FnZUFycmF5
LCBkZWZhdWx0VXJsOiAnZGVmYXVsdFVybCcsIGVycm9yQ29kZTogZXJyb3JPYmplY3QsIHN5c3Rl
bUNvZGU6IDEyMyB9KS5kZWZhdWx0VXJsIiwgImRlZmF1bHRVcmwiKTsKKyAgICAgICAgICAgIC8v
IEZJWE1FKDgyOTg4KTogVGhlc2UgdHdvIGZhaWwuCisgICAgICAgICAgICBzaG91bGRCZSgibmV3
IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFi
bGU6IHRydWUsIGtleVN5c3RlbTogJ2tleVN5c3RlbScsIHNlc3Npb25JZDogJ3Nlc3Npb25JZCcs
IGluaXREYXRhOiBpbml0RGF0YUFycmF5LCBtZXNzYWdlOiBtZXNzYWdlQXJyYXksIGRlZmF1bHRV
cmw6ICdkZWZhdWx0VXJsJywgZXJyb3JDb2RlOiBlcnJvck9iamVjdCwgc3lzdGVtQ29kZTogMTIz
IH0pLmVycm9yQ29kZSIsICJlcnJvck9iamVjdCIpOworICAgICAgICAgICAgc2hvdWxkQmUoIm5l
dyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxh
YmxlOiB0cnVlLCBrZXlTeXN0ZW06ICdrZXlTeXN0ZW0nLCBzZXNzaW9uSWQ6ICdzZXNzaW9uSWQn
LCBpbml0RGF0YTogaW5pdERhdGFBcnJheSwgbWVzc2FnZTogbWVzc2FnZUFycmF5LCBkZWZhdWx0
VXJsOiAnZGVmYXVsdFVybCcsIGVycm9yQ29kZTogZXJyb3JPYmplY3QsIHN5c3RlbUNvZGU6IDEy
MyB9KS5lcnJvckNvZGUuY29kZSIsICJNZWRpYUtleUVycm9yLk1FRElBX0tFWUVSUl9VTktOT1dO
Iik7CisgICAgICAgICAgICBzaG91bGRCZSgibmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZl
bnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIGtleVN5c3RlbTogJ2tleVN5
c3RlbScsIHNlc3Npb25JZDogJ3Nlc3Npb25JZCcsIGluaXREYXRhOiBpbml0RGF0YUFycmF5LCBt
ZXNzYWdlOiBtZXNzYWdlQXJyYXksIGRlZmF1bHRVcmw6ICdkZWZhdWx0VXJsJywgZXJyb3JDb2Rl
OiBlcnJvck9iamVjdCwgc3lzdGVtQ29kZTogMTIzIH0pLnN5c3RlbUNvZGUiLCAiMTIzIik7CisK
KyAgICAgICAgICAgIGRlYnVnKCI8YnI+KioqIEluaXRpYWxpemUgd2l0aCB2YWxpZCBtZW1iZXJz
ICoqKiIpOworICAgICAgICAgICAgc2hvdWxkQmUoIm5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtl
eUV2ZW50JywgeyBrZXlTeXN0ZW06ICdrZXlTeXN0ZW0nLCBzZXNzaW9uSWQ6ICdzZXNzaW9uSWQn
LCBpbml0RGF0YTogaW5pdERhdGFBcnJheSwgbWVzc2FnZTogbWVzc2FnZUFycmF5LCBkZWZhdWx0
VXJsOiAnZGVmYXVsdFVybCcsIGVycm9yQ29kZTogZXJyb3JPYmplY3QsIHN5c3RlbUNvZGU6IDEy
MyB9KS5idWJibGVzIiwgInRydWUiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJuZXcgTWVkaWFL
ZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsga2V5U3lzdGVtOiAna2V5U3lzdGVtJywgc2Vzc2lv
bklkOiAnc2Vzc2lvbklkJywgaW5pdERhdGE6IGluaXREYXRhQXJyYXksIG1lc3NhZ2U6IG1lc3Nh
Z2VBcnJheSwgZGVmYXVsdFVybDogJ2RlZmF1bHRVcmwnLCBlcnJvckNvZGU6IGVycm9yT2JqZWN0
LCBzeXN0ZW1Db2RlOiAxMjMgfSkuY2FuY2VsYWJsZSIsICJ0cnVlIik7CisgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoIm5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50Jywg
eyBrZXlTeXN0ZW06ICdrZXlTeXN0ZW0nLCBzZXNzaW9uSWQ6ICdzZXNzaW9uSWQnLCBpbml0RGF0
YTogaW5pdERhdGFBcnJheSwgbWVzc2FnZTogbWVzc2FnZUFycmF5LCBkZWZhdWx0VXJsOiAnZGVm
YXVsdFVybCcsIGVycm9yQ29kZTogZXJyb3JPYmplY3QsIHN5c3RlbUNvZGU6IDEyMyB9KS5rZXlT
eXN0ZW0iLCAia2V5U3lzdGVtIik7CisgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
Im5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBrZXlTeXN0ZW06ICdrZXlTeXN0
ZW0nLCBzZXNzaW9uSWQ6ICdzZXNzaW9uSWQnLCBpbml0RGF0YTogaW5pdERhdGFBcnJheSwgbWVz
c2FnZTogbWVzc2FnZUFycmF5LCBkZWZhdWx0VXJsOiAnZGVmYXVsdFVybCcsIGVycm9yQ29kZTog
ZXJyb3JPYmplY3QsIHN5c3RlbUNvZGU6IDEyMyB9KS5zZXNzaW9uSWQiLCAic2Vzc2lvbklkIik7
CisgICAgICAgICAgICBzaG91bGRCZSgibmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQn
LCB7IGtleVN5c3RlbTogJ2tleVN5c3RlbScsIHNlc3Npb25JZDogJ3Nlc3Npb25JZCcsIGluaXRE
YXRhOiBpbml0RGF0YUFycmF5LCBtZXNzYWdlOiBtZXNzYWdlQXJyYXksIGRlZmF1bHRVcmw6ICdk
ZWZhdWx0VXJsJywgZXJyb3JDb2RlOiBlcnJvck9iamVjdCwgc3lzdGVtQ29kZTogMTIzIH0pLmlu
aXREYXRhIiwgImluaXREYXRhQXJyYXkiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJuZXcgTWVk
aWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsga2V5U3lzdGVtOiAna2V5U3lzdGVtJywgc2Vz
c2lvbklkOiAnc2Vzc2lvbklkJywgaW5pdERhdGE6IGluaXREYXRhQXJyYXksIG1lc3NhZ2U6IG1l
c3NhZ2VBcnJheSwgZGVmYXVsdFVybDogJ2RlZmF1bHRVcmwnLCBlcnJvckNvZGU6IGVycm9yT2Jq
ZWN0LCBzeXN0ZW1Db2RlOiAxMjMgfSkubWVzc2FnZSIsICJtZXNzYWdlQXJyYXkiKTsKKyAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygibmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5
RXZlbnQnLCB7IGtleVN5c3RlbTogJ2tleVN5c3RlbScsIHNlc3Npb25JZDogJ3Nlc3Npb25JZCcs
IGluaXREYXRhOiBpbml0RGF0YUFycmF5LCBtZXNzYWdlOiBtZXNzYWdlQXJyYXksIGRlZmF1bHRV
cmw6ICdkZWZhdWx0VXJsJywgZXJyb3JDb2RlOiBlcnJvck9iamVjdCwgc3lzdGVtQ29kZTogMTIz
IH0pLmRlZmF1bHRVcmwiLCAiZGVmYXVsdFVybCIpOworICAgICAgICAgICAgLy8gRklYTUUoODI5
ODgpOiBUaGVzZSB0d28gZmFpbC4KKyAgICAgICAgICAgIHNob3VsZEJlKCJuZXcgTWVkaWFLZXlF
dmVudCgnTWVkaWFLZXlFdmVudCcsIHsga2V5U3lzdGVtOiAna2V5U3lzdGVtJywgc2Vzc2lvbklk
OiAnc2Vzc2lvbklkJywgaW5pdERhdGE6IGluaXREYXRhQXJyYXksIG1lc3NhZ2U6IG1lc3NhZ2VB
cnJheSwgZGVmYXVsdFVybDogJ2RlZmF1bHRVcmwnLCBlcnJvckNvZGU6IGVycm9yT2JqZWN0LCBz
eXN0ZW1Db2RlOiAxMjMgfSkuZXJyb3JDb2RlIiwgImVycm9yT2JqZWN0Iik7CisgICAgICAgICAg
ICBzaG91bGRCZSgibmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGtleVN5c3Rl
bTogJ2tleVN5c3RlbScsIHNlc3Npb25JZDogJ3Nlc3Npb25JZCcsIGluaXREYXRhOiBpbml0RGF0
YUFycmF5LCBtZXNzYWdlOiBtZXNzYWdlQXJyYXksIGRlZmF1bHRVcmw6ICdkZWZhdWx0VXJsJywg
ZXJyb3JDb2RlOiBlcnJvck9iamVjdCwgc3lzdGVtQ29kZTogMTIzIH0pLmVycm9yQ29kZS5jb2Rl
IiwgIk1lZGlhS2V5RXJyb3IuTUVESUFfS0VZRVJSX1VOS05PV04iKTsKKyAgICAgICAgICAgIHNo
b3VsZEJlKCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsga2V5U3lzdGVtOiAn
a2V5U3lzdGVtJywgc2Vzc2lvbklkOiAnc2Vzc2lvbklkJywgaW5pdERhdGE6IGluaXREYXRhQXJy
YXksIG1lc3NhZ2U6IG1lc3NhZ2VBcnJheSwgZGVmYXVsdFVybDogJ2RlZmF1bHRVcmwnLCBlcnJv
ckNvZGU6IGVycm9yT2JqZWN0LCBzeXN0ZW1Db2RlOiAxMjMgfSkuc3lzdGVtQ29kZSIsICIxMjMi
KTsKKworICAgICAgICAgICAgZGVidWcoIiIpOworICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7
CisgICAgICAgIH0KKworICAgICAgICB2YXIgaW5pdERhdGFBcnJheSA9IG5ldyBVaW50OEFycmF5
KFsweDQxLCAweDQyLCAweDQzXSk7CisgICAgICAgIHZhciBtZXNzYWdlQXJyYXkgPSBuZXcgVWlu
dDhBcnJheShbMHg1MSwgMHg1MiwgMHg1M10pOworICAgICAgICAvLyBGSVhNRSg4Mjk4OCk6IFRo
aXMgZG9lcyBub3QgY3JlYXRlIGFuIGVycm9yIGxpa2Ugd2Ugd2FudC4KKyAgICAgICAgdmFyIGVy
cm9yT2JqZWN0ID0gd2luZG93Lk1lZGlhS2V5RXJyb3I7CisgICAgICAgIC8vIHNob3VsZEJlKCJ0
eXBlb2YgZXJyb3JPYmplY3QiLCBUQkQpOworCisgICAgICAgIHZpZGVvID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgndmlkZW8nKTsKKyAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh2
aWRlbyk7CisKKyAgICAgICAgdGVzdCgpCisgICAgPC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorCis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2pzL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyBiL0xheW91dFRlc3RzL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
CmluZGV4IDAzNmU3NmEyNzFkM2MyNDMyYzhhYjQ1YjVmMmY3Yzk2NmM2YWMwNzMuLjg3NTE1MGE3
MzM1N2ZiZWY5ODJiNTlkNGRmMTg1Mzk0NzE2YWU0NzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
anMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzCkBAIC0yNTQsNiArMjU0LDcgQEAgZnVuY3Rpb24g
c2hvdWxkQmVUcnVlUXVpZXQoX2EpIHsgc2hvdWxkQmUoX2EsICJ0cnVlIiwgdHJ1ZSk7IH0KIGZ1
bmN0aW9uIHNob3VsZEJlRmFsc2UoX2EpIHsgc2hvdWxkQmUoX2EsICJmYWxzZSIpOyB9CiBmdW5j
dGlvbiBzaG91bGRCZU5hTihfYSkgeyBzaG91bGRCZShfYSwgIk5hTiIpOyB9CiBmdW5jdGlvbiBz
aG91bGRCZU51bGwoX2EpIHsgc2hvdWxkQmUoX2EsICJudWxsIik7IH0KK2Z1bmN0aW9uIHNob3Vs
ZEJlWmVybyhfYSkgeyBzaG91bGRCZShfYSwgIjAiKTsgfQogCiBmdW5jdGlvbiBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoYSwgYikKIHsKQEAgLTI2MSw2ICsyNjIsOSBAQCBmdW5jdGlvbiBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoYSwgYikKICAgc2hvdWxkQmUoYSwgdW5ldmFsZWRTdHJpbmcpOwogfQog
CitmdW5jdGlvbiBzaG91bGRCZUVtcHR5U3RyaW5nKF9hKSB7IHNob3VsZEJlRXF1YWxUb1N0cmlu
ZyhfYSwgIiIpOyB9CisKKwogZnVuY3Rpb24gc2hvdWxkRXZhbHVhdGVUbyhhY3R1YWwsIGV4cGVj
dGVkKSB7CiAgIC8vIEEgZ2VuZXJhbC1wdXJwb3NlIGNvbXBhcmF0b3IuICAnYWN0dWFsJyBzaG91
bGQgYmUgYSBzdHJpbmcgdG8gYmUKICAgLy8gZXZhbHVhdGVkLCBhcyBmb3Igc2hvdWxkQmUoKS4g
J2V4cGVjdGVkJyBtYXkgYmUgYW55IHR5cGUgYW5kIHdpbGwgYmUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL21lZGlhL2VuY3J5cHRlZC1tZWRpYS9lbmNyeXB0ZWQtbWVkaWEtY29uc3RhbnRzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL21lZGlhL2VuY3J5cHRlZC1tZWRpYS9lbmNyeXB0ZWQt
bWVkaWEtY29uc3RhbnRzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzk0MGFkM2MxYmQ1ZThk
NWFiYTJjZDdmMjVhMDc2M2ZkNWQ1ZTE1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
bWVkaWEvZW5jcnlwdGVkLW1lZGlhL2VuY3J5cHRlZC1tZWRpYS1jb25zdGFudHMtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTIgQEAKK1Rlc3QgTWVkaWFLZXlFcnJvciBjb25zdGFudHMgYW5kIGFk
ZGl0aW9uYWwgTWVkaWFFcnJvciBjb25zdGFudC4KKworRVhQRUNURUQgKE1lZGlhS2V5RXJyb3Iu
TUVESUFfS0VZRVJSX1VOS05PV04gPT0gJzEnKSBPSworRVhQRUNURUQgKE1lZGlhS2V5RXJyb3Iu
TUVESUFfS0VZRVJSX0NMSUVOVCA9PSAnMicpIE9LCitFWFBFQ1RFRCAoTWVkaWFLZXlFcnJvci5N
RURJQV9LRVlFUlJfU0VSVklDRSA9PSAnMycpIE9LCitFWFBFQ1RFRCAoTWVkaWFLZXlFcnJvci5N
RURJQV9LRVlFUlJfT1VUUFVUID09ICc0JykgT0sKK0VYUEVDVEVEIChNZWRpYUtleUVycm9yLk1F
RElBX0tFWUVSUl9IQVJEV0FSRUNIQU5HRSA9PSAnNScpIE9LCitFWFBFQ1RFRCAoTWVkaWFLZXlF
cnJvci5NRURJQV9LRVlFUlJfRE9NQUlOID09ICc2JykgT0sKKworRVhQRUNURUQgKE1lZGlhRXJy
b3IuTUVESUFfRVJSX0VOQ1JZUFRFRCA9PSAnNScpIE9LCitFTkQgT0YgVEVTVAorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9tZWRpYS9lbmNyeXB0ZWQtbWVkaWEvZW5jcnlwdGVkLW1lZGlhLWNv
bnN0YW50cy5odG1sIGIvTGF5b3V0VGVzdHMvbWVkaWEvZW5jcnlwdGVkLW1lZGlhL2VuY3J5cHRl
ZC1tZWRpYS1jb25zdGFudHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44Y2I2OTdhOTU2YmE5Y2VlNjc3ZTVm
MjkxMThjMTFiNzRlM2E2NjQ3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEv
ZW5jcnlwdGVkLW1lZGlhL2VuY3J5cHRlZC1tZWRpYS1jb25zdGFudHMuaHRtbApAQCAtMCwwICsx
LDI1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisgICAgPHNjcmlwdCBzcmM9
Li4vdmlkZW8tdGVzdC5qcz48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNj
cmlwdCI+CisgICAgICAgIGZ1bmN0aW9uIGRvVGVzdCAoKSAKKyAgICAgICAgeworICAgICAgICAg
ICAgdGVzdEV4cGVjdGVkKCJNZWRpYUtleUVycm9yLk1FRElBX0tFWUVSUl9VTktOT1dOIiwgMSk7
CisgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoIk1lZGlhS2V5RXJyb3IuTUVESUFfS0VZRVJSX0NM
SUVOVCIsIDIpOworICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJNZWRpYUtleUVycm9yLk1FRElB
X0tFWUVSUl9TRVJWSUNFIiwgMyk7CisgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoIk1lZGlhS2V5
RXJyb3IuTUVESUFfS0VZRVJSX09VVFBVVCIsIDQpOworICAgICAgICAgICAgdGVzdEV4cGVjdGVk
KCJNZWRpYUtleUVycm9yLk1FRElBX0tFWUVSUl9IQVJEV0FSRUNIQU5HRSIsIDUpOworICAgICAg
ICAgICAgdGVzdEV4cGVjdGVkKCJNZWRpYUtleUVycm9yLk1FRElBX0tFWUVSUl9ET01BSU4iLCA2
KTsKKyAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiIik7CisKKyAgICAgICAgICAgIHRlc3RFeHBl
Y3RlZCgiTWVkaWFFcnJvci5NRURJQV9FUlJfRU5DUllQVEVEIiwgNSk7CisKKyAgICAgICAgICAg
IGVuZFRlc3QoKTsKKyAgICAgICAgfQorICAgIDwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25s
b2FkPSJkb1Rlc3QoKSI+CisgICAgPHA+VGVzdCBNZWRpYUtleUVycm9yIGNvbnN0YW50cyBhbmQg
YWRkaXRpb25hbCBNZWRpYUVycm9yIGNvbnN0YW50LjwvcD4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL2VuY3J5cHRlZC1tZWRpYS9lbmNyeXB0ZWQtbWVk
aWEtZXZlbnRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL21lZGlhL2VuY3J5cHRlZC1tZWRp
YS9lbmNyeXB0ZWQtbWVkaWEtZXZlbnRzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZDg3ZmQ2
NzVmNzMyOWYwMmVjMWJmOWE2OWRiMzI4ZTA5YTY4NjQ3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvbWVkaWEvZW5jcnlwdGVkLW1lZGlhL2VuY3J5cHRlZC1tZWRpYS1ldmVudHMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTI4IEBACitUZXN0IGFsbCB0aGUga2V5LXJlbGF0ZWQgZXZl
bnRzLgorCisqKiogVmVyaWZ5IHRoZSBwcmVzZW5jZSBvZiBvbiogYXR0cmlidXRlcy4gVGhlc2Ug
d291bGQgcmV0dXJuIHVuZGVmaW5lZCBpZiB0aGV5IGFyZSBub3QgcHJlc2VudC4gKioqCitFWFBF
Q1RFRCAodmlkZW8ub253ZWJraXRrZXlhZGRlZCA9PT0gJ251bGwnKSBPSworRVhQRUNURUQgKHZp
ZGVvLm9ud2Via2l0a2V5ZXJyb3IgPT09ICdudWxsJykgT0sKK0VYUEVDVEVEICh2aWRlby5vbndl
YmtpdGtleW1lc3NhZ2UgPT09ICdudWxsJykgT0sKK0VYUEVDVEVEICh2aWRlby5vbndlYmtpdG5l
ZWRrZXkgPT09ICdudWxsJykgT0sKKworKioqIFRlc3QgZXZlbnRzIHVzaW5nIG9uKiBhdHRyaWJ1
dGVzLiAqKioKK0VWRU5UKGxvYWRzdGFydCkKKworUlVOKHZpZGVvLndlYmtpdEdlbmVyYXRlS2V5
UmVxdWVzdCgnd2Via2l0LW9yZy53My5jbGVhcmtleScsIGluaXREYXRhKSkKK2tleW1lc3NhZ2Ug
ZXZlbnQgb2NjdXJyZWQKK0VYUEVDVEVEIChldmVudC50YXJnZXQgPT0gJ1tvYmplY3QgSFRNTFZp
ZGVvRWxlbWVudF0nKSBPSworRVhQRUNURUQgKGV2ZW50IGluc3RhbmNlb2Ygd2luZG93Lk1lZGlh
S2V5RXZlbnQgPT0gJ3RydWUnKSBPSworRVhQRUNURUQgKGV2ZW50LmtleVN5c3RlbSA9PSAnd2Vi
a2l0LW9yZy53My5jbGVhcmtleScpIE9LCitUaGUgc2Vzc2lvbklkIHNob3VsZCBiZSBhIG5vbi1l
bXB0eSBzdHJpbmcgY29udGFpbmluZyBhbiBpbnRlZ2VyLgorRVhQRUNURUQgKGV2ZW50LnNlc3Np
b25JZCAhPSAnJykgT0sKK0VYUEVDVEVEIChldmVudC5zZXNzaW9uSWQgIT0gJ251bGwnKSBPSwor
RVhQRUNURUQgKGV2ZW50LnNlc3Npb25JZCAhPSAndW5kZWZpbmVkJykgT0sKK0VYUEVDVEVEIChp
c05hTihldmVudC5zZXNzaW9uSWQpID09ICdmYWxzZScpIE9LCitFWFBFQ1RFRCAoU3RyaW5nKGV2
ZW50LnNlc3Npb25JZCkgPT0gU3RyaW5nKHBhcnNlSW50KGV2ZW50LnNlc3Npb25JZCkpID09ICd0
cnVlJykgT0sKK0ltcGxlbWVudGF0aW9ucyBzaG91bGQgYXZvaWQgc2Vzc2lvbklkcyBvZiAwLgor
RVhQRUNURUQgKGV2ZW50LnNlc3Npb25JZCA+ICcwJykgT0sKK0VYUEVDVEVEIChldmVudC5pbml0
RGF0YSA9PT0gJ251bGwnKSBPSworRVhQRUNURUQgKGV2ZW50Lm1lc3NhZ2UubGVuZ3RoID09ICcz
JykgT0sKK0VYUEVDVEVEIChldmVudC5tZXNzYWdlWzBdID09ICc2NScpIE9LCitFWFBFQ1RFRCAo
ZXZlbnQubWVzc2FnZVsxXSA9PSAnNjYnKSBPSworRVhQRUNURUQgKGV2ZW50Lm1lc3NhZ2VbMl0g
PT0gJzY3JykgT0sKK0VYUEVDVEVEIChldmVudC5kZWZhdWx0VXJsID09ICcnKSBPSworRVhQRUNU
RUQgKGV2ZW50LmVycm9yQ29kZSA9PT0gJ251bGwnKSBPSworRVhQRUNURUQgKGV2ZW50LnN5c3Rl
bUNvZGUgPT0gJzAnKSBPSworCitSVU4odmlkZW8ud2Via2l0QWRkS2V5KCd3ZWJraXQtb3JnLncz
LmNsZWFya2V5Jywga2V5LCBldmVudC5pbml0RGF0YSwgZXZlbnQuc2Vzc2lvbklkKSkKK2tleWFk
ZGVkIGV2ZW50IG9jY3VycmVkCitFWFBFQ1RFRCAoZXZlbnQudGFyZ2V0ID09ICdbb2JqZWN0IEhU
TUxWaWRlb0VsZW1lbnRdJykgT0sKK0VYUEVDVEVEIChldmVudCBpbnN0YW5jZW9mIHdpbmRvdy5N
ZWRpYUtleUV2ZW50ID09ICd0cnVlJykgT0sKK0VYUEVDVEVEIChldmVudC5rZXlTeXN0ZW0gPT0g
J3dlYmtpdC1vcmcudzMuY2xlYXJrZXknKSBPSworRVhQRUNURUQgKGV2ZW50LnNlc3Npb25JZCA9
PSBrZXlNZXNzYWdlU2Vzc2lvbklkID09ICd0cnVlJykgT0sKK0VYUEVDVEVEIChldmVudC5pbml0
RGF0YSA9PT0gJ251bGwnKSBPSworRVhQRUNURUQgKGV2ZW50Lm1lc3NhZ2UgPT09ICdudWxsJykg
T0sKK0VYUEVDVEVEIChldmVudC5kZWZhdWx0VXJsID09ICcnKSBPSworRVhQRUNURUQgKGV2ZW50
LmVycm9yQ29kZSA9PT0gJ251bGwnKSBPSworRVhQRUNURUQgKGV2ZW50LnN5c3RlbUNvZGUgPT0g
JzAnKSBPSworCitSVU4odmlkZW8ud2Via2l0QWRkS2V5KCd3ZWJraXQtb3JnLnczLmNsZWFya2V5
JywgaW52YWxpZEtleSwgbnVsbCwgZXZlbnQuc2Vzc2lvbklkKSkKK2tleWVycm9yIGV2ZW50IG9j
Y3VycmVkCitFWFBFQ1RFRCAoZXZlbnQudGFyZ2V0ID09ICdbb2JqZWN0IEhUTUxWaWRlb0VsZW1l
bnRdJykgT0sKK0VYUEVDVEVEIChldmVudCBpbnN0YW5jZW9mIHdpbmRvdy5NZWRpYUtleUV2ZW50
ID09ICd0cnVlJykgT0sKK0VYUEVDVEVEIChldmVudC5rZXlTeXN0ZW0gPT0gJ3dlYmtpdC1vcmcu
dzMuY2xlYXJrZXknKSBPSworRVhQRUNURUQgKGV2ZW50LnNlc3Npb25JZCA9PSBrZXlNZXNzYWdl
U2Vzc2lvbklkID09ICd0cnVlJykgT0sKK0VYUEVDVEVEIChldmVudC5pbml0RGF0YSA9PT0gJ251
bGwnKSBPSworRVhQRUNURUQgKGV2ZW50Lm1lc3NhZ2UgPT09ICdudWxsJykgT0sKK0VYUEVDVEVE
IChldmVudC5kZWZhdWx0VXJsID09ICcnKSBPSworRVhQRUNURUQgKGV2ZW50LmVycm9yQ29kZS5j
b2RlID09ICcxJykgT0sKK0VYUEVDVEVEIChldmVudC5zeXN0ZW1Db2RlID09ICcwJykgT0sKKwor
KioqIFRlc3QgZXZlbnRzIHVzaW5nIGFkZEV2ZW50TGlzdGVuZXIoKS4gKioqCitFVkVOVChsb2Fk
c3RhcnQpCisKK1JVTih2aWRlby53ZWJraXRHZW5lcmF0ZUtleVJlcXVlc3QoJ3dlYmtpdC1vcmcu
dzMuY2xlYXJrZXknLCBpbml0RGF0YSkpCitFVkVOVCh3ZWJraXRrZXltZXNzYWdlKQora2V5bWVz
c2FnZSBldmVudCBvY2N1cnJlZAorRVhQRUNURUQgKGV2ZW50LnRhcmdldCA9PSAnW29iamVjdCBI
VE1MVmlkZW9FbGVtZW50XScpIE9LCitFWFBFQ1RFRCAoZXZlbnQgaW5zdGFuY2VvZiB3aW5kb3cu
TWVkaWFLZXlFdmVudCA9PSAndHJ1ZScpIE9LCitFWFBFQ1RFRCAoZXZlbnQua2V5U3lzdGVtID09
ICd3ZWJraXQtb3JnLnczLmNsZWFya2V5JykgT0sKK1RoZSBzZXNzaW9uSWQgc2hvdWxkIGJlIGEg
bm9uLWVtcHR5IHN0cmluZyBjb250YWluaW5nIGFuIGludGVnZXIuCitFWFBFQ1RFRCAoZXZlbnQu
c2Vzc2lvbklkICE9ICcnKSBPSworRVhQRUNURUQgKGV2ZW50LnNlc3Npb25JZCAhPSAnbnVsbCcp
IE9LCitFWFBFQ1RFRCAoZXZlbnQuc2Vzc2lvbklkICE9ICd1bmRlZmluZWQnKSBPSworRVhQRUNU
RUQgKGlzTmFOKGV2ZW50LnNlc3Npb25JZCkgPT0gJ2ZhbHNlJykgT0sKK0VYUEVDVEVEIChTdHJp
bmcoZXZlbnQuc2Vzc2lvbklkKSA9PSBTdHJpbmcocGFyc2VJbnQoZXZlbnQuc2Vzc2lvbklkKSkg
PT0gJ3RydWUnKSBPSworSW1wbGVtZW50YXRpb25zIHNob3VsZCBhdm9pZCBzZXNzaW9uSWRzIG9m
IDAuCitFWFBFQ1RFRCAoZXZlbnQuc2Vzc2lvbklkID4gJzAnKSBPSworVGhlIHNlc3Npb25zSWQg
c2hvdWxkIGJlIGRpZmZlcmVudCBmcm9tIHRoZSBmaXJzdCBydW4uCitFWFBFQ1RFRCAoZXZlbnQu
c2Vzc2lvbklkICE9ICcxJykgT0sKK0VYUEVDVEVEIChldmVudC5pbml0RGF0YSA9PT0gJ251bGwn
KSBPSworRVhQRUNURUQgKGV2ZW50Lm1lc3NhZ2UubGVuZ3RoID09ICczJykgT0sKK0VYUEVDVEVE
IChldmVudC5tZXNzYWdlWzBdID09ICc2NScpIE9LCitFWFBFQ1RFRCAoZXZlbnQubWVzc2FnZVsx
XSA9PSAnNjYnKSBPSworRVhQRUNURUQgKGV2ZW50Lm1lc3NhZ2VbMl0gPT0gJzY3JykgT0sKK0VY
UEVDVEVEIChldmVudC5kZWZhdWx0VXJsID09ICcnKSBPSworRVhQRUNURUQgKGV2ZW50LmVycm9y
Q29kZSA9PT0gJ251bGwnKSBPSworRVhQRUNURUQgKGV2ZW50LnN5c3RlbUNvZGUgPT0gJzAnKSBP
SworCitSVU4odmlkZW8ud2Via2l0QWRkS2V5KCd3ZWJraXQtb3JnLnczLmNsZWFya2V5Jywga2V5
LCBldmVudC5pbml0RGF0YSwgZXZlbnQuc2Vzc2lvbklkKSkKK0VWRU5UKHdlYmtpdGtleWFkZGVk
KQora2V5YWRkZWQgZXZlbnQgb2NjdXJyZWQKK0VYUEVDVEVEIChldmVudC50YXJnZXQgPT0gJ1tv
YmplY3QgSFRNTFZpZGVvRWxlbWVudF0nKSBPSworRVhQRUNURUQgKGV2ZW50IGluc3RhbmNlb2Yg
d2luZG93Lk1lZGlhS2V5RXZlbnQgPT0gJ3RydWUnKSBPSworRVhQRUNURUQgKGV2ZW50LmtleVN5
c3RlbSA9PSAnd2Via2l0LW9yZy53My5jbGVhcmtleScpIE9LCitFWFBFQ1RFRCAoZXZlbnQuc2Vz
c2lvbklkID09IGtleU1lc3NhZ2VTZXNzaW9uSWQgPT0gJ3RydWUnKSBPSworRVhQRUNURUQgKGV2
ZW50LmluaXREYXRhID09PSAnbnVsbCcpIE9LCitFWFBFQ1RFRCAoZXZlbnQubWVzc2FnZSA9PT0g
J251bGwnKSBPSworRVhQRUNURUQgKGV2ZW50LmRlZmF1bHRVcmwgPT0gJycpIE9LCitFWFBFQ1RF
RCAoZXZlbnQuZXJyb3JDb2RlID09PSAnbnVsbCcpIE9LCitFWFBFQ1RFRCAoZXZlbnQuc3lzdGVt
Q29kZSA9PSAnMCcpIE9LCisKK1JVTih2aWRlby53ZWJraXRBZGRLZXkoJ3dlYmtpdC1vcmcudzMu
Y2xlYXJrZXknLCBpbnZhbGlkS2V5LCBudWxsLCBldmVudC5zZXNzaW9uSWQpKQorRVZFTlQod2Vi
a2l0a2V5ZXJyb3IpCitrZXllcnJvciBldmVudCBvY2N1cnJlZAorRVhQRUNURUQgKGV2ZW50LnRh
cmdldCA9PSAnW29iamVjdCBIVE1MVmlkZW9FbGVtZW50XScpIE9LCitFWFBFQ1RFRCAoZXZlbnQg
aW5zdGFuY2VvZiB3aW5kb3cuTWVkaWFLZXlFdmVudCA9PSAndHJ1ZScpIE9LCitFWFBFQ1RFRCAo
ZXZlbnQua2V5U3lzdGVtID09ICd3ZWJraXQtb3JnLnczLmNsZWFya2V5JykgT0sKK0VYUEVDVEVE
IChldmVudC5zZXNzaW9uSWQgPT0ga2V5TWVzc2FnZVNlc3Npb25JZCA9PSAndHJ1ZScpIE9LCitF
WFBFQ1RFRCAoZXZlbnQuaW5pdERhdGEgPT09ICdudWxsJykgT0sKK0VYUEVDVEVEIChldmVudC5t
ZXNzYWdlID09PSAnbnVsbCcpIE9LCitFWFBFQ1RFRCAoZXZlbnQuZGVmYXVsdFVybCA9PSAnJykg
T0sKK0VYUEVDVEVEIChldmVudC5lcnJvckNvZGUuY29kZSA9PSAnMScpIE9LCitFWFBFQ1RFRCAo
ZXZlbnQuc3lzdGVtQ29kZSA9PSAnMCcpIE9LCisKK0F0dHJpYnV0ZXMgYXJlIHJlYWQtb25seS4K
K1JVTihldmVudC5rZXlTeXN0ZW0gPSAnYmxhaCcpCitSVU4oZXZlbnQuc2Vzc2lvbklkID0gJ2Js
YWgnKQorUlVOKGV2ZW50LmluaXREYXRhID0gbmV3IFVpbnQ4QXJyYXkoWzB4MTJdKSkKK1JVTihl
dmVudC5tZXNzYWdlID0gbmV3IFVpbnQ4QXJyYXkoWzB4MTJdKSkKK1JVTihldmVudC5kZWZhdWx0
VXJsID0gJ2V4YW1wbGUuY29tJykKK1JVTihldmVudC5lcnJvckNvZGUuY29kZSA9IE1lZGlhS2V5
RXJyb3IuTUVESUFfS0VZRVJSX0NMSUVOVCkKK1JVTihldmVudC5zeXN0ZW1Db2RlID0gMTIzKQor
RVhQRUNURUQgKGV2ZW50LmtleVN5c3RlbSA9PSAnd2Via2l0LW9yZy53My5jbGVhcmtleScpIE9L
CitFWFBFQ1RFRCAoZXZlbnQuc2Vzc2lvbklkID09IGtleU1lc3NhZ2VTZXNzaW9uSWQgPT0gJ3Ry
dWUnKSBPSworRVhQRUNURUQgKGV2ZW50LmluaXREYXRhID09PSAnbnVsbCcpIE9LCitFWFBFQ1RF
RCAoZXZlbnQubWVzc2FnZSA9PT0gJ251bGwnKSBPSworRVhQRUNURUQgKGV2ZW50LmRlZmF1bHRV
cmwgPT0gJycpIE9LCitFWFBFQ1RFRCAoZXZlbnQuZXJyb3JDb2RlLmNvZGUgPT0gJzEnKSBPSwor
RVhQRUNURUQgKGV2ZW50LnN5c3RlbUNvZGUgPT0gJzAnKSBPSworRU5EIE9GIFRFU1QKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvZW5jcnlwdGVkLW1lZGlhL2VuY3J5cHRlZC1tZWRp
YS1ldmVudHMuaHRtbCBiL0xheW91dFRlc3RzL21lZGlhL2VuY3J5cHRlZC1tZWRpYS9lbmNyeXB0
ZWQtbWVkaWEtZXZlbnRzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTU2YjkwOWJhODM0ZDBmZmZkMjZjOGJl
MmI2NTE3MjgwNzI0YjBlZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL21lZGlhL2Vu
Y3J5cHRlZC1tZWRpYS9lbmNyeXB0ZWQtbWVkaWEtZXZlbnRzLmh0bWwKQEAgLTAsMCArMSwxOTcg
QEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWwgbGFuZz0iZW4iPgorICAgIDxoZWFkPgorICAgIDwv
aGVhZD4KKyAgICA8Ym9keT4KKyAgICAgICAgPHZpZGVvPjwvdmlkZW8+CisgICAgICAgIDxwPlRl
c3QgYWxsIHRoZSBrZXktcmVsYXRlZCBldmVudHMuPC9wPgorCisgICAgICAgIDxzY3JpcHQgc3Jj
PS4uL21lZGlhLWZpbGUuanM+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPS4uL3ZpZGVv
LXRlc3QuanM+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICAvLyBUaGUg
dGVzdCBydW5zIHR3aWNlLCBvbmNlIHVzaW5nIG9uKiBhbmQgdGhlbiB1c2luZyBhZGRFdmVudExp
c3RlbmVyKCkuCisgICAgICAgICAgICB2YXIgaXNGaXJzdFJ1biA9IHRydWU7CisKKyAgICAgICAg
ICAgIHZhciBpbml0RGF0YSA9IG5ldyBVaW50OEFycmF5KFsweDQxLCAweDQyLCAweDQzXSk7Cisg
ICAgICAgICAgICAvLyAxMjggYml0IGtleS4KKyAgICAgICAgICAgIHZhciBrZXkgPSBuZXcgVWlu
dDhBcnJheShbMHg2MSwgMHg2MiwgMHg2MywgMHg2NCwgMHg2NSwgMHg2NiwgMHg2NywgMHg2OCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg2OSwgMHg2YSwgMHg2Yiwg
MHg2YywgMHg2ZCwgMHg2ZSwgMHg2ZiwgMHg3MF0pOworICAgICAgICAgICAgLy8gVGhpcyBrZXkg
d2lsbCBjYXVzZSBhbiBhc3luY2hyb25vdXMgZXJyb3IgYmVjYXVzZSBpdCBpcyB0b28gc2hvcnQu
CisgICAgICAgICAgICB2YXIgaW52YWxpZEtleSA9IG5ldyBVaW50OEFycmF5KFsweDYxXSk7CisK
KyAgICAgICAgICAgIC8vIEFmdGVyIHRoZSBmaXJzdCBrZXlNZXNzYWdlIGV2ZW50LCB0aGUgc2Vz
c2lvbklkIHNob3VsZCBhbHdheXMgYmUgdGhlIHNhbWUuCisgICAgICAgICAgICAvLyBJbml0aWFs
aXplIGl0IHRvIGFuIGludmFsaWQgdmFsdWUgdW50aWwgdGhlbi4KKyAgICAgICAgICAgIHZhciBr
ZXlNZXNzYWdlU2Vzc2lvbklkID0gLTE7CisgICAgICAgICAgICAvLyBSZW1lbWJlciB0aGUgZmly
c3QgSUQgdG8gbWFrZSBzdXJlIHRoZSBzZWNvbmQgb25lIGlzIGRpZmZlcmVudC4KKyAgICAgICAg
ICAgIHZhciBmaXJzdFJ1bktleU1lc3NhZ2VTZXNzaW9uSWQgPSAtMTsKKworICAgICAgICAgICAg
ZnVuY3Rpb24ga2V5QWRkZWQoZXZlbnQpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAg
Y29uc29sZVdyaXRlKCJrZXlhZGRlZCBldmVudCBvY2N1cnJlZCIpOworCisgICAgICAgICAgICAg
ICAgdGVzdEV4cGVjdGVkKCJldmVudC50YXJnZXQiLCB2aWRlbyk7CisgICAgICAgICAgICAgICAg
dGVzdEV4cGVjdGVkKCJldmVudCBpbnN0YW5jZW9mIHdpbmRvdy5NZWRpYUtleUV2ZW50IiwgdHJ1
ZSk7CisKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoImV2ZW50LmtleVN5c3RlbSIsICJ3
ZWJraXQtb3JnLnczLmNsZWFya2V5Iik7CisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJl
dmVudC5zZXNzaW9uSWQgPT0ga2V5TWVzc2FnZVNlc3Npb25JZCIsIHRydWUpOworICAgICAgICAg
ICAgICAgIC8vIFRoZSBvdGhlciBhdHRyaWJ1dGVzIGFyZSBub3QgdXNlZCBmb3IgdGhpcyBldmVu
dC4KKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoImV2ZW50LmluaXREYXRhIiwgbnVsbCwg
Ij09PSIpOworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgiZXZlbnQubWVzc2FnZSIsIG51
bGwsICI9PT0iKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoImV2ZW50LmRlZmF1bHRV
cmwiLCAiIik7CisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJldmVudC5lcnJvckNvZGUi
LCBudWxsLCAiPT09Iik7CisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJldmVudC5zeXN0
ZW1Db2RlIiwgMCk7CisKKyAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIiIpOworICAgICAg
ICAgICAgICAgIC8vIENhdXNlIGEga2V5ZXJyb3IgYnkgcGFzc2luZyBhbiBpbnZhbGlkIGtleS4K
KyAgICAgICAgICAgICAgICBydW4oInZpZGVvLndlYmtpdEFkZEtleSgnd2Via2l0LW9yZy53My5j
bGVhcmtleScsIGludmFsaWRLZXksIG51bGwsIGV2ZW50LnNlc3Npb25JZCkiKTsKKyAgICAgICAg
ICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24ga2V5RXJyb3IoZXZlbnQpCisgICAgICAgICAg
ICB7CisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJrZXllcnJvciBldmVudCBvY2N1cnJl
ZCIpOworCisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJldmVudC50YXJnZXQiLCB2aWRl
byk7CisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJldmVudCBpbnN0YW5jZW9mIHdpbmRv
dy5NZWRpYUtleUV2ZW50IiwgdHJ1ZSk7CisKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQo
ImV2ZW50LmtleVN5c3RlbSIsICJ3ZWJraXQtb3JnLnczLmNsZWFya2V5Iik7CisgICAgICAgICAg
ICAgICAgdGVzdEV4cGVjdGVkKCJldmVudC5zZXNzaW9uSWQgPT0ga2V5TWVzc2FnZVNlc3Npb25J
ZCIsIHRydWUpOworICAgICAgICAgICAgICAgIC8vIFRoZSBuZXh0IHRocmVlIGF0dHJpYnV0ZXMg
YXJlIG5vdCB1c2VkIGZvciB0aGlzIGV2ZW50LgorICAgICAgICAgICAgICAgIHRlc3RFeHBlY3Rl
ZCgiZXZlbnQuaW5pdERhdGEiLCBudWxsLCAiPT09Iik7CisgICAgICAgICAgICAgICAgdGVzdEV4
cGVjdGVkKCJldmVudC5tZXNzYWdlIiwgbnVsbCwgIj09PSIpOworICAgICAgICAgICAgICAgIHRl
c3RFeHBlY3RlZCgiZXZlbnQuZGVmYXVsdFVybCIsICIiKTsKKyAgICAgICAgICAgICAgICB0ZXN0
RXhwZWN0ZWQoImV2ZW50LmVycm9yQ29kZS5jb2RlIiwgTWVkaWFLZXlFcnJvci5NRURJQV9LRVlF
UlJfVU5LTk9XTik7CisgICAgICAgICAgICAgICAgLy8gc3lzdGVtQ29kZSBpcyBub3Qgc3VwcG9y
dGVkIGJ5IHRoZSBDbGVhciBLZXkga2V5IHN5c3RlbS4KKyAgICAgICAgICAgICAgICB0ZXN0RXhw
ZWN0ZWQoImV2ZW50LnN5c3RlbUNvZGUiLCAwKTsKKworICAgICAgICAgICAgICAgIGlmIChpc0Zp
cnN0UnVuKSB7CisgICAgICAgICAgICAgICAgICAgIGlzRmlyc3RSdW4gPSBmYWxzZTsKKyAgICAg
ICAgICAgICAgICAgICAgcnVuVGVzdCgpOworICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAg
ICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiIik7CisgICAgICAgICAgICAgICAgICAgIGNv
bnNvbGVXcml0ZSgiQXR0cmlidXRlcyBhcmUgcmVhZC1vbmx5LiIpOworICAgICAgICAgICAgICAg
ICAgICBydW4oImV2ZW50LmtleVN5c3RlbSA9ICdibGFoJyIpOworICAgICAgICAgICAgICAgICAg
ICBydW4oImV2ZW50LnNlc3Npb25JZCA9ICdibGFoJyIpOworICAgICAgICAgICAgICAgICAgICBy
dW4oImV2ZW50LmluaXREYXRhID0gbmV3IFVpbnQ4QXJyYXkoWzB4MTJdKSIpOworICAgICAgICAg
ICAgICAgICAgICBydW4oImV2ZW50Lm1lc3NhZ2UgID0gbmV3IFVpbnQ4QXJyYXkoWzB4MTJdKSIp
OworICAgICAgICAgICAgICAgICAgICBydW4oImV2ZW50LmRlZmF1bHRVcmwgPSAnZXhhbXBsZS5j
b20nIik7CisgICAgICAgICAgICAgICAgICAgIHJ1bigiZXZlbnQuZXJyb3JDb2RlLmNvZGUgPSBN
ZWRpYUtleUVycm9yLk1FRElBX0tFWUVSUl9DTElFTlQiKTsKKyAgICAgICAgICAgICAgICAgICAg
cnVuKCJldmVudC5zeXN0ZW1Db2RlID0gMTIzIik7CisKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEV4cGVjdGVkKCJldmVudC5rZXlTeXN0ZW0iLCAid2Via2l0LW9yZy53My5jbGVhcmtleSIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoImV2ZW50LnNlc3Npb25JZCA9PSBrZXlN
ZXNzYWdlU2Vzc2lvbklkIiwgdHJ1ZSk7CisgICAgICAgICAgICAgICAgICAgIHRlc3RFeHBlY3Rl
ZCgiZXZlbnQuaW5pdERhdGEiLCBudWxsLCAiPT09Iik7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RFeHBlY3RlZCgiZXZlbnQubWVzc2FnZSIsIG51bGwsICI9PT0iKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEV4cGVjdGVkKCJldmVudC5kZWZhdWx0VXJsIiwgIiIpOworICAgICAgICAgICAg
ICAgICAgICB0ZXN0RXhwZWN0ZWQoImV2ZW50LmVycm9yQ29kZS5jb2RlIiwgTWVkaWFLZXlFcnJv
ci5NRURJQV9LRVlFUlJfVU5LTk9XTik7CisgICAgICAgICAgICAgICAgICAgIHRlc3RFeHBlY3Rl
ZCgiZXZlbnQuc3lzdGVtQ29kZSIsIDApOworCisgICAgICAgICAgICAgICAgICAgIGVuZFRlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0
aW9uIGtleU1lc3NhZ2UoZXZlbnQpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgY29u
c29sZVdyaXRlKCJrZXltZXNzYWdlIGV2ZW50IG9jY3VycmVkIik7CisKKyAgICAgICAgICAgICAg
ICB0ZXN0RXhwZWN0ZWQoImV2ZW50LnRhcmdldCIsIHZpZGVvKTsKKyAgICAgICAgICAgICAgICB0
ZXN0RXhwZWN0ZWQoImV2ZW50IGluc3RhbmNlb2Ygd2luZG93Lk1lZGlhS2V5RXZlbnQiLCB0cnVl
KTsKKworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgiZXZlbnQua2V5U3lzdGVtIiwgIndl
YmtpdC1vcmcudzMuY2xlYXJrZXkiKTsKKworICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgi
VGhlIHNlc3Npb25JZCBzaG91bGQgYmUgYSBub24tZW1wdHkgc3RyaW5nIGNvbnRhaW5pbmcgYW4g
aW50ZWdlci4iKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoImV2ZW50LnNlc3Npb25J
ZCIsICIiLCAiIT0iKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoImV2ZW50LnNlc3Np
b25JZCIsIG51bGwsICIhPSIpOworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgiZXZlbnQu
c2Vzc2lvbklkIiwgdW5kZWZpbmVkLCAiIT0iKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0
ZWQoImlzTmFOKGV2ZW50LnNlc3Npb25JZCkiLCBmYWxzZSk7CisgICAgICAgICAgICAgICAgLy8g
TWFrZSBzdXJlIHRoZSBudW1iZXIgaXMgbm90IGEgZmxvYXQuCisgICAgICAgICAgICAgICAgdGVz
dEV4cGVjdGVkKCJTdHJpbmcoZXZlbnQuc2Vzc2lvbklkKSA9PSBTdHJpbmcocGFyc2VJbnQoZXZl
bnQuc2Vzc2lvbklkKSkiLCB0cnVlKTsKKyAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIklt
cGxlbWVudGF0aW9ucyBzaG91bGQgYXZvaWQgc2Vzc2lvbklkcyBvZiAwLiIpOworICAgICAgICAg
ICAgICAgIHRlc3RFeHBlY3RlZCgiZXZlbnQuc2Vzc2lvbklkIiwgMCwgIj4iKTsKKyAgICAgICAg
ICAgICAgICAvLyBBbGwgb3RoZXIgZXZlbnRzIHNob3VsZCBoYXZlIHRoaXMgc2FtZSBzZXNzaW9u
SWQuCisgICAgICAgICAgICAgICAga2V5TWVzc2FnZVNlc3Npb25JZCA9IGV2ZW50LnNlc3Npb25J
ZDsKKyAgICAgICAgICAgICAgICBpZiAoaXNGaXJzdFJ1bikKKyAgICAgICAgICAgICAgICAgICAg
Zmlyc3RSdW5LZXlNZXNzYWdlU2Vzc2lvbklkID0ga2V5TWVzc2FnZVNlc3Npb25JZDsKKyAgICAg
ICAgICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJUaGUg
c2Vzc2lvbnNJZCBzaG91bGQgYmUgZGlmZmVyZW50IGZyb20gdGhlIGZpcnN0IHJ1bi4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJldmVudC5zZXNzaW9uSWQiLCBmaXJzdFJ1
bktleU1lc3NhZ2VTZXNzaW9uSWQsICIhPSIpOworICAgICAgICAgICAgICAgIH0KKworICAgICAg
ICAgICAgICAgIC8vIGluaXREYXRhIGlzIG5vdCB1c2VkIGZvciB0aGlzIGV2ZW50LgorICAgICAg
ICAgICAgICAgIHRlc3RFeHBlY3RlZCgiZXZlbnQuaW5pdERhdGEiLCBudWxsLCAiPT09Iik7Cisg
ICAgICAgICAgICAgICAgLy8gQXQgbGVhc3QgZm9yIG5vdywgdGhlIENsZWFyIEtleSBtZXNzYWdl
IGlzIHRoZSBpbml0RGF0YS4KKyAgICAgICAgICAgICAgICB0ZXN0QXJyYXlzRXF1YWwoImV2ZW50
Lm1lc3NhZ2UiLCBpbml0RGF0YSk7CisgICAgICAgICAgICAgICAgLy8gTm90IHN1cHBvcnRlZCBi
eSB0aGUgdGVzdCBmaWxlLgorICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgiZXZlbnQuZGVm
YXVsdFVybCIsICIiKTsKKyAgICAgICAgICAgICAgICAvLyBUaGUgZXJyb3IgYXR0cmlidXRlcyBh
cmUgbm90IHVzZWQgZm9yIHRoaXMgZXZlbnQuCisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVk
KCJldmVudC5lcnJvckNvZGUiLCBudWxsLCAiPT09Iik7CisgICAgICAgICAgICAgICAgdGVzdEV4
cGVjdGVkKCJldmVudC5zeXN0ZW1Db2RlIiwgMCk7CisKKyAgICAgICAgICAgICAgICBjb25zb2xl
V3JpdGUoIiIpOworICAgICAgICAgICAgICAgIHJ1bigidmlkZW8ud2Via2l0QWRkS2V5KCd3ZWJr
aXQtb3JnLnczLmNsZWFya2V5Jywga2V5LCBldmVudC5pbml0RGF0YSwgZXZlbnQuc2Vzc2lvbklk
KSIpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiBuZWVkS2V5KGV2ZW50
KQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgibmVlZEtleSBl
dmVudCBvY2N1cnJlZCIpOworCisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJldmVudC50
YXJnZXQiLCB2aWRlbyk7CisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJldmVudCBpbnN0
YW5jZW9mIHdpbmRvdy5NZWRpYUtleUV2ZW50IiwgdHJ1ZSk7CisKKyAgICAgICAgICAgICAgICB0
ZXN0RXhwZWN0ZWQoImV2ZW50LmtleVN5c3RlbSIsICJ3ZWJraXQtb3JnLnczLmNsZWFya2V5Iik7
CisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJldmVudC5zZXNzaW9uSWQiLCAiIik7Cisg
ICAgICAgICAgICAgICAgdGVzdEFycmF5c0VxdWFsKCJldmVudC5pbml0RGF0YSIsIGluaXREYXRh
KTsKKyAgICAgICAgICAgICAgICAvLyBUaGUgb3RoZXIgYXR0cmlidXRlcyBhcmUgbm90IHVzZWQg
Zm9yIHRoaXMgZXZlbnQuCisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJldmVudC5tZXNz
YWdlIiwgbnVsbCwgIj09PSIpOworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgiZXZlbnQu
ZGVmYXVsdFVybCIsICIiKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoImV2ZW50LmVy
cm9yQ29kZSIsIG51bGwsICI9PT0iKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoImV2
ZW50LnN5c3RlbUNvZGUiLCAwKTsKKworICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiIik7
CisgICAgICAgICAgICAgICAgcnVuKCJ2aWRlby53ZWJraXRHZW5lcmF0ZUtleVJlcXVlc3QoJ3dl
YmtpdC1vcmcudzMuY2xlYXJrZXknLCBpbml0RGF0YSkiKTsKKyAgICAgICAgICAgIH0KKworICAg
ICAgICAgICAgZnVuY3Rpb24gcnVuVGVzdCgpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAg
ICAgY29uc29sZVdyaXRlKCIiKTsKKyAgICAgICAgICAgICAgICBpZiAoaXNGaXJzdFJ1bikgewor
ICAgICAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIioqKiBUZXN0IGV2ZW50cyB1c2luZyBv
biogYXR0cmlidXRlcy4gKioqIik7CisgICAgICAgICAgICAgICAgICAgIHZpZGVvLm9ud2Via2l0
a2V5YWRkZWQ9a2V5QWRkZWQ7CisgICAgICAgICAgICAgICAgICAgIHZpZGVvLm9ud2Via2l0a2V5
ZXJyb3I9a2V5RXJyb3I7CisgICAgICAgICAgICAgICAgICAgIHZpZGVvLm9ud2Via2l0a2V5bWVz
c2FnZT1rZXlNZXNzYWdlOworICAgICAgICAgICAgICAgICAgICB2aWRlby5vbndlYmtpdG5lZWRr
ZXk9bmVlZEtleTsKKyAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAg
ICBjb25zb2xlV3JpdGUoIioqKiBUZXN0IGV2ZW50cyB1c2luZyBhZGRFdmVudExpc3RlbmVyKCku
ICoqKiIpOworCisgICAgICAgICAgICAgICAgICAgIC8vIENsZWFyIHRoZSBvbiogaGFuZGxlcnMu
CisgICAgICAgICAgICAgICAgICAgIHZpZGVvLm9ud2Via2l0a2V5YWRkZWQ9bnVsbDsKKyAgICAg
ICAgICAgICAgICAgICAgdmlkZW8ub253ZWJraXRrZXllcnJvcj1udWxsOworICAgICAgICAgICAg
ICAgICAgICB2aWRlby5vbndlYmtpdGtleW1lc3NhZ2U9bnVsbDsKKyAgICAgICAgICAgICAgICAg
ICAgdmlkZW8ub253ZWJraXRuZWVka2V5PW51bGw7CisKKyAgICAgICAgICAgICAgICAgICAgd2Fp
dEZvckV2ZW50KCd3ZWJraXRrZXlhZGRlZCcsIGtleUFkZGVkKTsKKyAgICAgICAgICAgICAgICAg
ICAgd2FpdEZvckV2ZW50KCd3ZWJraXRrZXllcnJvcicsIGtleUVycm9yKTsKKyAgICAgICAgICAg
ICAgICAgICAgd2FpdEZvckV2ZW50KCd3ZWJraXRrZXltZXNzYWdlJywga2V5TWVzc2FnZSk7Cisg
ICAgICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudCgnd2Via2l0bmVlZGtleScsIG5lZWRLZXkp
OworICAgICAgICAgICAgICAgIH0KKyAgICAKKyAgICAgICAgICAgICAgICAvLyBGSVhNRSg4Mjk1
Mik6IFRlbXByb2FyeSB1bnRpbCB3ZSBoYXZlIGEgInRlc3QtZW5jcnlwdGVkIiBmaWxlIHRoYXQg
Y2F1c2VzIHRoZSBuZWVkS2V5IGV2ZW50LgorICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudE9u
Y2UoJ2xvYWRzdGFydCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24oKSB7
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiIik7CisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ1bigidmlkZW8ud2Via2l0R2VuZXJhdGVLZXlS
ZXF1ZXN0KCd3ZWJraXQtb3JnLnczLmNsZWFya2V5JywgaW5pdERhdGEpIik7CisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgfSk7CisKKyAgICAgICAgICAgICAgICB2aWRlby5zZXRBdHRyaWJ1
dGUoInNyYyIsIGZpbmRNZWRpYUZpbGUoInZpZGVvIiwgIi4uL2NvbnRlbnQvdGVzdCIpKTsKKyAg
ICAgICAgICAgIH0KKworICAgICAgICAgICAgY29uc29sZVdyaXRlKCIqKiogVmVyaWZ5IHRoZSBw
cmVzZW5jZSBvZiBvbiogYXR0cmlidXRlcy4gVGhlc2Ugd291bGQgcmV0dXJuIHVuZGVmaW5lZCBp
ZiB0aGV5IGFyZSBub3QgcHJlc2VudC4gKioqIik7CisgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQo
InZpZGVvLm9ud2Via2l0a2V5YWRkZWQiLCBudWxsLCAiPT09Iik7CisgICAgICAgICAgICB0ZXN0
RXhwZWN0ZWQoInZpZGVvLm9ud2Via2l0a2V5ZXJyb3IiLCBudWxsLCAiPT09Iik7CisgICAgICAg
ICAgICB0ZXN0RXhwZWN0ZWQoInZpZGVvLm9ud2Via2l0a2V5bWVzc2FnZSIsIG51bGwsICI9PT0i
KTsKKyAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgidmlkZW8ub253ZWJraXRuZWVka2V5IiwgbnVs
bCwgIj09PSIpOworCisgICAgICAgICAgICBydW5UZXN0KCk7CisKKyAgICAgICAgPC9zY3JpcHQ+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvdmlk
ZW8tdGVzdC5qcyBiL0xheW91dFRlc3RzL21lZGlhL3ZpZGVvLXRlc3QuanMKaW5kZXggZWJmMGY0
MzU0MDA4MDQ1N2ViMzRlNzA1MjM1NjQ4YjkyMzUyNzFhMS4uMDZmZjYyM2U2ZjJlNzFhODdkMDky
NzViZTMyMmViYzUxMzI5OGIxYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8t
dGVzdC5qcworKysgYi9MYXlvdXRUZXN0cy9tZWRpYS92aWRlby10ZXN0LmpzCkBAIC03OSwxMSAr
NzksMjkgQEAgZnVuY3Rpb24gdGVzdEV4cGVjdGVkKHRlc3RGdW5jU3RyaW5nLCBleHBlY3RlZCwg
Y29tcGFyaXNvbikKICAgICAgICAgY2FzZSAnPj0nOiBzdWNjZXNzID0gb2JzZXJ2ZWQgPj0gZXhw
ZWN0ZWQ7IGJyZWFrOwogICAgICAgICBjYXNlICchPSc6ICBzdWNjZXNzID0gb2JzZXJ2ZWQgIT0g
ZXhwZWN0ZWQ7IGJyZWFrOwogICAgICAgICBjYXNlICc9PSc6IHN1Y2Nlc3MgPSBvYnNlcnZlZCA9
PSBleHBlY3RlZDsgYnJlYWs7CisgICAgICAgIGNhc2UgJz09PSc6IHN1Y2Nlc3MgPSBvYnNlcnZl
ZCA9PT0gZXhwZWN0ZWQ7IGJyZWFrOwogICAgIH0KIAogICAgIHJlcG9ydEV4cGVjdGVkKHN1Y2Nl
c3MsIHRlc3RGdW5jU3RyaW5nLCBjb21wYXJpc29uLCBleHBlY3RlZCwgb2JzZXJ2ZWQpCiB9CiAK
K2Z1bmN0aW9uIHRlc3RBcnJheXNFcXVhbCh0ZXN0RnVuY1N0cmluZywgZXhwZWN0ZWQpCit7Cisg
ICAgdmFyIG9ic2VydmVkOworICAgIHRyeSB7CisgICAgICAgIG9ic2VydmVkID0gZXZhbCh0ZXN0
RnVuY1N0cmluZyk7CisgICAgfSBjYXRjaCAoZXgpIHsKKyAgICAgICAgY29uc29sZVdyaXRlKGV4
KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgCisgICAgdGVzdEV4cGVjdGVkKHRlc3RGdW5j
U3RyaW5nICsgIi5sZW5ndGgiLCBleHBlY3RlZC5sZW5ndGgpOworCisgICAgZm9yICh2YXIgaSA9
IDA7IGkgPCBvYnNlcnZlZC5sZW5ndGg7IGkrKykgeworICAgICAgICB0ZXN0RXhwZWN0ZWQodGVz
dEZ1bmNTdHJpbmcgKyAiWyIgKyBpICsgIl0iLCBleHBlY3RlZFtpXSk7CisgICAgfQorfQorCiB2
YXIgdGVzdE51bWJlciA9IDA7CiAKIGZ1bmN0aW9uIHJlcG9ydEV4cGVjdGVkKHN1Y2Nlc3MsIHRl
c3RGdW5jU3RyaW5nLCBjb21wYXJpc29uLCBleHBlY3RlZCwgb2JzZXJ2ZWQpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>136344</attachid>
            <date>2012-04-09 16:49:28 -0700</date>
            <delta_ts>2012-04-11 16:25:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-82974-20120409164927.patch</filename>
            <type>text/plain</type>
            <size>92359</size>
            <attacher name="David Dorwin">ddorwin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEzNTIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDYyNGQ5Mjc4MzczMTc1
NDM0ZjY4NzQwN2Q0ZTYxN2Q3ZWZiYjE5Ni4uNDJjYjY2ZWY4YjU4NTRiZGViMDAwMjg5NWMxYWIw
OGIzNDRjZjdhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDgzIEBACiAyMDEyLTA0LTA5ICBEYXZp
ZCBEb3J3aW4gIDxkZG9yd2luQGNocm9taXVtLm9yZz4KIAorICAgICAgICBBZGQgRW5jcnlwdGVk
IE1lZGlhIEV4dGVuc2lvbnMgZXZlbnRzIGFuZCBlcnJvcnMgdG8gSFRNTE1lZGlhRWxlbWVudAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODI5NzQKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgbmV3IGV2
ZW50cyBhbmQgZXJyb3JzIGFyZSBiZWhpbmQgdGhlIEVOQUJMRShFTkNSWVBURURfTUVESUEpIGZl
YXR1cmUgZGVmaW5lLgorICAgICAgICBJbXBsZW1lbnRhdGlvbiBpcyBiYXNlZCBvbiB2MC4xIG9m
IHRoZSBkcmFmdCBwcm9wb3NhbCBhdAorICAgICAgICBodHRwOi8vZHZjcy53My5vcmcvaGcvaHRt
bC1tZWRpYS9yYXctZmlsZS90aXAvZW5jcnlwdGVkLW1lZGlhL2VuY3J5cHRlZC1tZWRpYS5odG1s
I2V2ZW50cy4KKworICAgICAgICBUZXN0czogZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL21lZGlh
LWtleS1ldmVudC1jb25zdHJ1Y3Rvci5odG1sCisgICAgICAgICAgICAgICBtZWRpYS9lbmNyeXB0
ZWQtbWVkaWEvZW5jcnlwdGVkLW1lZGlhLWNvbnN0YW50cy5odG1sCisgICAgICAgICAgICAgICBt
ZWRpYS9lbmNyeXB0ZWQtbWVkaWEvZW5jcnlwdGVkLW1lZGlhLWV2ZW50cy5odG1sCisKKyAgICAg
ICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogYmluZGluZ3MvdjgvRGljdGlvbmFyeS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpEaWN0aW9uYXJ5OjpnZXQpOgorICAgICAgICAoV2ViQ29yZSk6
CisgICAgICAgICogYmluZGluZ3MvdjgvRGljdGlvbmFyeS5oOgorICAgICAgICAoV2ViQ29yZSk6
CisgICAgICAgIChEaWN0aW9uYXJ5KToKKyAgICAgICAgKiBkb20vRXZlbnROYW1lcy5oOgorICAg
ICAgICAoV2ViQ29yZSk6CisgICAgICAgICogZG9tL0V2ZW50TmFtZXMuaW46CisgICAgICAgICog
aHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW46CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlh
RWxlbWVudDo6bWVkaWFQbGF5ZXJLZXlBZGRlZCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVk
aWFFbGVtZW50OjptZWRpYVBsYXllcktleUVycm9yKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxN
ZWRpYUVsZW1lbnQ6Om1lZGlhUGxheWVyS2V5TWVzc2FnZSk6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXllcktleU5lZWRlZCk6CisgICAgICAgICogaHRtbC9I
VE1MTWVkaWFFbGVtZW50Lmg6CisgICAgICAgIChIVE1MTWVkaWFFbGVtZW50KToKKyAgICAgICAg
KiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvTWVkaWFFcnJvci5o
OgorICAgICAgICAqIGh0bWwvTWVkaWFFcnJvci5pZGw6CisgICAgICAgICogaHRtbC9NZWRpYUtl
eUVycm9yLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFcnJvci5oLgor
ICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChNZWRpYUtleUVycm9yKToKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhS2V5RXJyb3I6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtl
eUVycm9yOjpjb2RlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhS2V5RXJyb3I6Ok1lZGlhS2V5
RXJyb3IpOgorICAgICAgICAqIGh0bWwvTWVkaWFLZXlFcnJvci5pZGw6IENvcGllZCBmcm9tIFNv
dXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFcnJvci5pZGwuCisgICAgICAgICogaHRtbC9NZWRpYUtl
eUV2ZW50LmNwcDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVycm9yLmgu
CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhS2V5RXZlbnRJbml0
OjpNZWRpYUtleUV2ZW50SW5pdCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtleUV2ZW50OjpN
ZWRpYUtleUV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhS2V5RXZlbnQ6On5NZWRpYUtl
eUV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhS2V5RXZlbnQ6OmludGVyZmFjZU5hbWUp
OgorICAgICAgICAqIGh0bWwvTWVkaWFLZXlFdmVudC5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNv
cmUpOgorICAgICAgICAoTWVkaWFLZXlFdmVudEluaXQpOgorICAgICAgICAoTWVkaWFLZXlFdmVu
dCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtleUV2ZW50OjpjcmVhdGUpOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFLZXlFdmVudDo6a2V5U3lzdGVtKToKKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhS2V5RXZlbnQ6OnNlc3Npb25JZCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtleUV2ZW50
Ojppbml0RGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtleUV2ZW50OjptZXNzYWdlKToK
KyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhS2V5RXZlbnQ6OmRlZmF1bHRVcmwpOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFLZXlFdmVudDo6ZXJyb3JDb2RlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhS2V5RXZlbnQ6OnN5c3RlbUNvZGUpOgorICAgICAgICAqIGh0bWwvTWVkaWFLZXlFdmVudC5p
ZGw6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFcnJvci5pZGwuCisgICAg
ICAgICogcGFnZS9ET01XaW5kb3cuaWRsOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL01l
ZGlhUGxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFQbGF5ZXI6OmtleUFkZGVkKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyOjprZXlF
cnJvcik6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllcjo6a2V5TWVzc2FnZSk6CisgICAg
ICAgIChXZWJDb3JlOjpNZWRpYVBsYXllcjo6a2V5TmVlZGVkKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9NZWRpYVBsYXllci5oOgorICAgICAgICAoTWVkaWFQbGF5ZXJDbGllbnQpOgor
ICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJDbGllbnQ6Om1lZGlhUGxheWVyS2V5QWRkZWQp
OgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJDbGllbnQ6Om1lZGlhUGxheWVyS2V5RXJy
b3IpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJDbGllbnQ6Om1lZGlhUGxheWVyS2V5
TWVzc2FnZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllckNsaWVudDo6bWVkaWFQbGF5
ZXJLZXlOZWVkZWQpOgorICAgICAgICAoTWVkaWFQbGF5ZXIpOgorCisyMDEyLTA0LTA5ICBEYXZp
ZCBEb3J3aW4gIDxkZG9yd2luQGNocm9taXVtLm9yZz4KKwogICAgICAgICBBZGQga2V5U3lzdGVt
IGF0dHJpYnV0ZSB0byBjYW5QbGF5VHlwZSgpIGZvciBFbmNyeXB0ZWQgTWVkaWEgRXh0ZW5zaW9u
cwogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODI5NzMK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCAxOGI5ZWFlNGYzNzNlNTY3Mjk4YWY4OWJi
OThjYTFhZDcyZmQ2ODQ2Li5mZDJmOGU4NDYwOTY3NTMzZDcwZmVjZDcwZWE0OWQ3ZWU5ZDFjNGUw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI3IEBACiAyMDEyLTA0LTA5
ICBEYXZpZCBEb3J3aW4gIDxkZG9yd2luQGNocm9taXVtLm9yZz4KIAorICAgICAgICBBZGQgRW5j
cnlwdGVkIE1lZGlhIEV4dGVuc2lvbnMgZXZlbnRzIGFuZCBlcnJvcnMgdG8gSFRNTE1lZGlhRWxl
bWVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODI5
NzQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUg
bmV3IGV2ZW50cyBhbmQgZXJyb3JzIGFyZSBiZWhpbmQgdGhlIEVOQUJMRShFTkNSWVBURURfTUVE
SUEpIGZlYXR1cmUgZGVmaW5lLgorICAgICAgICBJbXBsZW1lbnRhdGlvbiBpcyBiYXNlZCBvbiB2
MC4xIG9mIHRoZSBkcmFmdCBwcm9wb3NhbCBhdAorICAgICAgICBodHRwOi8vZHZjcy53My5vcmcv
aGcvaHRtbC1tZWRpYS9yYXctZmlsZS90aXAvZW5jcnlwdGVkLW1lZGlhL2VuY3J5cHRlZC1tZWRp
YS5odG1sI2V2ZW50cy4KKworICAgICAgICAqIHB1YmxpYy9XZWJNZWRpYVBsYXllckNsaWVudC5o
OgorICAgICAgICAqIHNyYy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcDoKKyAgICAgICAgKiBzcmMv
V2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViTWVkaWFQ
bGF5ZXJDbGllbnRJbXBsOjprZXlBZGRlZCk6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAo
V2ViS2l0OjpXZWJNZWRpYVBsYXllckNsaWVudEltcGw6OmtleUVycm9yKToKKyAgICAgICAgKFdl
YktpdDo6V2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsOjprZXlNZXNzYWdlKToKKyAgICAgICAgKFdl
YktpdDo6V2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsOjprZXlOZWVkZWQpOgorICAgICAgICAqIHNy
Yy9XZWJNZWRpYVBsYXllckNsaWVudEltcGwuaDoKKyAgICAgICAgKFdlYk1lZGlhUGxheWVyQ2xp
ZW50SW1wbCk6CisKKzIwMTItMDQtMDkgIERhdmlkIERvcndpbiAgPGRkb3J3aW5AY2hyb21pdW0u
b3JnPgorCiAgICAgICAgIEFkZCBrZXlTeXN0ZW0gYXR0cmlidXRlIHRvIGNhblBsYXlUeXBlKCkg
Zm9yIEVuY3J5cHRlZCBNZWRpYSBFeHRlbnNpb25zCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Mjk3MwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggMGE5NmUz
MjVkOGExMzlmYWFiYTQ0NzA1MWRkMGZhZGVkMGE0YTZjNy4uNTQwODg2M2Q4NDRkZjIzNTdlZjE3
ZWM0OTg3NjJiZjNlZjY0MmE5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5n
eXBpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtMTA2MCw2ICsxMDYwLDgg
QEAKICAgICAgICAgICAgICdodG1sL0ltYWdlRGF0YS5pZGwnLAogICAgICAgICAgICAgJ2h0bWwv
TWVkaWFDb250cm9sbGVyLmlkbCcsCiAgICAgICAgICAgICAnaHRtbC9NZWRpYUVycm9yLmlkbCcs
CisgICAgICAgICAgICAnaHRtbC9NZWRpYUtleUVycm9yLmlkbCcsCisgICAgICAgICAgICAnaHRt
bC9NZWRpYUtleUV2ZW50LmlkbCcsCiAgICAgICAgICAgICAnaHRtbC9UZXh0TWV0cmljcy5pZGwn
LAogICAgICAgICAgICAgJ2h0bWwvVGltZVJhbmdlcy5pZGwnLAogICAgICAgICAgICAgJ2h0bWwv
VmFsaWRpdHlTdGF0ZS5pZGwnLApAQCAtNTU0OCw2ICs1NTUwLDkgQEAKICAgICAgICAgICAgICdo
dG1sL01lZGlhRXJyb3IuaCcsCiAgICAgICAgICAgICAnaHRtbC9NZWRpYUZyYWdtZW50VVJJUGFy
c2VyLmNwcCcsCiAgICAgICAgICAgICAnaHRtbC9NZWRpYUZyYWdtZW50VVJJUGFyc2VyLmgnLAor
ICAgICAgICAgICAgJ2h0bWwvTWVkaWFLZXlFcnJvci5oJywKKyAgICAgICAgICAgICdodG1sL01l
ZGlhS2V5RXZlbnQuY3BwJywKKyAgICAgICAgICAgICdodG1sL01lZGlhS2V5RXZlbnQuaCcsCiAg
ICAgICAgICAgICAnaHRtbC9NaWNyb0RhdGFJdGVtVmFsdWUuY3BwJywKICAgICAgICAgICAgICdo
dG1sL01pY3JvRGF0YUl0ZW1WYWx1ZS5oJywKICAgICAgICAgICAgICdodG1sL01vbnRoSW5wdXRU
eXBlLmNwcCcsCkBAIC03NTQ0LDYgKzc1NDksMTAgQEAKICAgICAgICAgICAgICc8KFBST0RVQ1Rf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTWF0aE1MRWxlbWVudFdyYXBwZXJGYWN0b3J5
LmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNNZWRpYUVycm9yLmNwcCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU01lZGlhRXJyb3IuaCcsCisgICAgICAgICAgICAnPChQUk9EVUNUX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01lZGlhS2V5RXJyb3IuY3BwJywKKyAgICAgICAg
ICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTWVkaWFLZXlFcnJv
ci5oJywKKyAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTTWVkaWFLZXlFdmVudC5jcHAnLAorICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNNZWRpYUtleUV2ZW50LmgnLAogICAgICAgICAgICAgJzwoUFJP
RFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNZWRpYUxpc3QuY3BwJywKICAgICAg
ICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTWVkaWFMaXN0
LmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNNZWRpYVF1ZXJ5TGlzdC5jcHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvRGljdGlvbmFyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9EaWN0aW9u
YXJ5LmNwcAppbmRleCBjMjlmOTZhZDIwMTQxMWZmMzkzZGJiZDk1ZDhhN2YyNGVhZDg3NGUxLi5m
ZDRkYTFmYjAwNmNmY2Y2NDE4OWY4MjM5ZDhlNmNiMjBmMWM2YWVhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9EaWN0aW9uYXJ5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9EaWN0aW9uYXJ5LmNwcApAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUg
IlY4QmluZGluZy5oIgogI2luY2x1ZGUgIlY4RE9NV2luZG93LmgiCiAjaW5jbHVkZSAiVjhTdG9y
YWdlLmgiCisjaW5jbHVkZSAiVjhVaW50OEFycmF5LmgiCiAjaW5jbHVkZSAiVjhVdGlsaXRpZXMu
aCIKICNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgogCkBAIC0zOCw2ICszOSwxMCBAQAogI2lu
Y2x1ZGUgIlY4SURCS2V5UmFuZ2UuaCIKICNlbmRpZgogCisjaWYgRU5BQkxFKEVOQ1JZUFRFRF9N
RURJQSkKKyNpbmNsdWRlICJWOE1lZGlhS2V5RXJyb3IuaCIKKyNlbmRpZgorCiAjaWYgRU5BQkxF
KFZJREVPX1RSQUNLKQogI2luY2x1ZGUgIlRyYWNrQmFzZS5oIgogI2luY2x1ZGUgIlY4VGV4dFRy
YWNrLmgiCkBAIC0yOTMsNiArMjk4LDQ0IEBAIGJvb2wgRGljdGlvbmFyeTo6Z2V0V2l0aFVuZGVm
aW5lZE9yTnVsbENoZWNrKGNvbnN0IFN0cmluZyYga2V5LCBTdHJpbmcmIHZhbHVlKSBjCiAgICAg
cmV0dXJuIHRydWU7CiB9CiAKK2Jvb2wgRGljdGlvbmFyeTo6Z2V0KGNvbnN0IFN0cmluZyYga2V5
LCBSZWZQdHI8VWludDhBcnJheT4mIHZhbHVlKSBjb25zdAoreworICAgIHY4OjpMb2NhbDx2ODo6
VmFsdWU+IHY4VmFsdWU7CisgICAgaWYgKCFnZXRLZXkoa2V5LCB2OFZhbHVlKSkKKyAgICAgICAg
cmV0dXJuIGZhbHNlOworCisgICAgVWludDhBcnJheSogc291cmNlID0gMDsKKyAgICBpZiAodjhW
YWx1ZS0+SXNPYmplY3QoKSkgeworICAgICAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHdyYXBw
ZXIgPSB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+OjpDYXN0KHY4VmFsdWUpOworCisgICAgICAgIHY4
OjpIYW5kbGU8djg6Ok9iamVjdD4gYXJyYXkgPSBWOERPTVdyYXBwZXI6Omxvb2t1cERPTVdyYXBw
ZXIoVjhVaW50OEFycmF5OjpHZXRUZW1wbGF0ZSgpLCB3cmFwcGVyKTsKKyAgICAgICAgaWYgKCFh
cnJheS5Jc0VtcHR5KCkpCisgICAgICAgICAgICBzb3VyY2UgPSBWOFVpbnQ4QXJyYXk6OnRvTmF0
aXZlKGFycmF5KTsKKyAgICB9CisgICAgdmFsdWUgPSBzb3VyY2U7CisgICAgcmV0dXJuIHRydWU7
Cit9CisKKyNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQorYm9vbCBEaWN0aW9uYXJ5OjpnZXQo
Y29uc3QgU3RyaW5nJiBrZXksIFJlZlB0cjxNZWRpYUtleUVycm9yPiYgdmFsdWUpIGNvbnN0Cit7
CisgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdjhWYWx1ZTsKKyAgICBpZiAoIWdldEtleShrZXks
IHY4VmFsdWUpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBNZWRpYUtleUVycm9yKiBz
b3VyY2UgPSAwOworICAgIGlmICh2OFZhbHVlLT5Jc09iamVjdCgpKSB7CisgICAgICAgIHY4OjpI
YW5kbGU8djg6Ok9iamVjdD4gd3JhcHBlciA9IHY4OjpIYW5kbGU8djg6Ok9iamVjdD46OkNhc3Qo
djhWYWx1ZSk7CisKKyAgICAgICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBlcnJvciA9IFY4RE9N
V3JhcHBlcjo6bG9va3VwRE9NV3JhcHBlcihWOE1lZGlhS2V5RXJyb3I6OkdldFRlbXBsYXRlKCks
IHdyYXBwZXIpOworICAgICAgICBpZiAoIWVycm9yLklzRW1wdHkoKSkKKyAgICAgICAgICAgIHNv
dXJjZSA9IFY4TWVkaWFLZXlFcnJvcjo6dG9OYXRpdmUoZXJyb3IpOworICAgIH0KKyAgICB2YWx1
ZSA9IHNvdXJjZTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKyNlbmRpZgorCiAjaWYgRU5BQkxFKFZJ
REVPX1RSQUNLKQogYm9vbCBEaWN0aW9uYXJ5OjpnZXQoY29uc3QgU3RyaW5nJiBrZXksIFJlZlB0
cjxUcmFja0Jhc2U+JiB2YWx1ZSkgY29uc3QKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L0RpY3Rpb25hcnkuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0Rp
Y3Rpb25hcnkuaAppbmRleCAyNmM0YTZiN2FjMjJlNGY4MDcwNDIxYjcwZTAzY2EzYjdjZmU4YjQy
Li4zMjE2NGI4Y2JiMjNhNTRhYmM1ODQ5Nzk5NjI1OTZjNWZkMmZmODMxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9EaWN0aW9uYXJ5LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvRGljdGlvbmFyeS5oCkBAIC0zOSw2ICszOSw3IEBAIGNsYXNzIERPTVN0
cmluZ0xpc3Q7CiBjbGFzcyBET01XaW5kb3c7CiBjbGFzcyBJREJLZXlSYW5nZTsKIGNsYXNzIFN0
b3JhZ2U7CitjbGFzcyBNZWRpYUtleUVycm9yOwogY2xhc3MgVHJhY2tCYXNlOwogY2xhc3MgU3Bl
ZWNoUmVjb2duaXRpb25FcnJvcjsKIGNsYXNzIFNwZWVjaFJlY29nbml0aW9uUmVzdWx0OwpAQCAt
NjcsNiArNjgsMTAgQEAgcHVibGljOgogICAgIGJvb2wgZ2V0KGNvbnN0IFN0cmluZyYsIFJlZlB0
cjxET01XaW5kb3c+JikgY29uc3Q7CiAgICAgYm9vbCBnZXQoY29uc3QgU3RyaW5nJiwgUmVmUHRy
PFN0b3JhZ2U+JikgY29uc3Q7CiAgICAgYm9vbCBnZXQoY29uc3QgU3RyaW5nJiwgTWVzc2FnZVBv
cnRBcnJheSYpIGNvbnN0OworICAgIGJvb2wgZ2V0KGNvbnN0IFN0cmluZyYsIFJlZlB0cjxVaW50
OEFycmF5PiYpIGNvbnN0OworI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCisgICAgYm9vbCBn
ZXQoY29uc3QgU3RyaW5nJiwgUmVmUHRyPE1lZGlhS2V5RXJyb3I+JikgY29uc3Q7CisjZW5kaWYK
ICNpZiBFTkFCTEUoVklERU9fVFJBQ0spCiAgICAgYm9vbCBnZXQoY29uc3QgU3RyaW5nJiwgUmVm
UHRyPFRyYWNrQmFzZT4mKSBjb25zdDsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL0V2ZW50TmFtZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKaW5k
ZXggYTY1YTUyYzUyODE4ODAwOThiMjdmNWZkN2FkYmZhN2IzNDlkYjBiNS4uMjA1YThjOTkyMWNh
NTE4MmE2OGM3Y2MyYmYxY2VhOGVjZDljMWRjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL0V2ZW50TmFtZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCkBA
IC0xNjEsNiArMTYxLDExIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBtYWNybyh3ZWJraXRz
b3VyY2VlbmRlZCkgXAogICAgIG1hY3JvKHdlYmtpdHNvdXJjZWNsb3NlKSBcCiAgICAgXAorICAg
IG1hY3JvKHdlYmtpdGtleWFkZGVkKSBcCisgICAgbWFjcm8od2Via2l0a2V5ZXJyb3IpIFwKKyAg
ICBtYWNybyh3ZWJraXRrZXltZXNzYWdlKSBcCisgICAgbWFjcm8od2Via2l0bmVlZGtleSkgXAor
ICAgIFwKICAgICBtYWNybyhwcm9ncmVzcykgXAogICAgIG1hY3JvKHN0YWxsZWQpIFwKICAgICBt
YWNybyhzdXNwZW5kKSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1l
cy5pbiBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmluCmluZGV4IGQ4NjYxMTI0MDgw
ZTgxZDE5NTljOGMwOTUyYjU2OTYxYzdhZThmMjkuLmQ1YThkOTkwODNiNGFkMmY4YmU1YmM5ODFh
ODNhMmMyN2MyM2I2YzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVz
LmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmluCkBAIC00Miw0ICs0Miw1
IEBAIFRvdWNoRXZlbnQgY29uZGl0aW9uYWw9VE9VQ0hfRVZFTlRTLCBydW50aW1lQ29uZGl0aW9u
YWw9dG91Y2hFbmFibGVkCiBEZXZpY2VNb3Rpb25FdmVudCBjb25kaXRpb25hbD1ERVZJQ0VfT1JJ
RU5UQVRJT04KIERldmljZU9yaWVudGF0aW9uRXZlbnQgY29uZGl0aW9uYWw9REVWSUNFX09SSUVO
VEFUSU9OCiBPcmllbnRhdGlvbkV2ZW50IGludGVyZmFjZU5hbWU9RXZlbnQsIGNvbmRpdGlvbmFs
PU9SSUVOVEFUSU9OX0VWRU5UUworTWVkaWFLZXlFdmVudCBjb25kaXRpb25hbD1FTkNSWVBURURf
TUVESUEKIFRyYWNrRXZlbnQgY29uZGl0aW9uYWw9VklERU9fVFJBQ0sKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4KaW5kZXggM2M3MzBiYmNkNTQyNWFiZWM5YTlkYzI1
MTk3ZDM5MjdlZTY3ZDUxZC4uYmExMDQ4NzQ3NGI2NTAyOGJhMWNiYThjY2FhY2VkN2QxOTAzZGRh
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4K
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4KQEAgLTI0Nyw2
ICsyNDcsMTAgQEAgb253ZWJraXRiZWdpbmZ1bGxzY3JlZW4KIG9ud2Via2l0ZW5kZnVsbHNjcmVl
bgogb253ZWJraXRmdWxsc2NyZWVuY2hhbmdlCiBvbndlYmtpdGZ1bGxzY3JlZW5lcnJvcgorb253
ZWJraXRrZXlhZGRlZAorb253ZWJraXRrZXllcnJvcgorb253ZWJraXRrZXltZXNzYWdlCitvbndl
YmtpdG5lZWRrZXkKIG9ud2Via2l0dHJhbnNpdGlvbmVuZAogb3Blbgogb3B0aW11bQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKaW5kZXggZGYyNTc3NjVjMDE2MTczMWIy
M2Q0YzgwMzg3YzU0Mjc0YWJkNDZiNi4uYTNjMGQ1YTBmMjQ3MTA0YTNiNDgwMjBmYjlhMzI5M2Ez
NjcyNzQ1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBAIC01
OCw2ICs1OCw4IEBACiAjaW5jbHVkZSAiTWVkaWFEb2N1bWVudC5oIgogI2luY2x1ZGUgIk1lZGlh
RXJyb3IuaCIKICNpbmNsdWRlICJNZWRpYUZyYWdtZW50VVJJUGFyc2VyLmgiCisjaW5jbHVkZSAi
TWVkaWFLZXlFcnJvci5oIgorI2luY2x1ZGUgIk1lZGlhS2V5RXZlbnQuaCIKICNpbmNsdWRlICJN
ZWRpYUxpc3QuaCIKICNpbmNsdWRlICJNZWRpYVBsYXllci5oIgogI2luY2x1ZGUgIk1lZGlhUXVl
cnlFdmFsdWF0b3IuaCIKQEAgLTE2ODAsNiArMTY4Miw4NiBAQCBTdHJpbmcgSFRNTE1lZGlhRWxl
bWVudDo6bWVkaWFQbGF5ZXJTb3VyY2VVUkwoKSBjb25zdAogfQogI2VuZGlmCiAKKyNpZiBFTkFC
TEUoRU5DUllQVEVEX01FRElBKQordm9pZCBIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXllcktl
eUFkZGVkKE1lZGlhUGxheWVyKiwgY29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0sIGNvbnN0IFN0cmlu
ZyYgc2Vzc2lvbklkKQoreworICAgIE1lZGlhS2V5RXZlbnRJbml0IGluaXRpYWxpemVyOworICAg
IGluaXRpYWxpemVyLmtleVN5c3RlbSA9IGtleVN5c3RlbTsKKyAgICBpbml0aWFsaXplci5zZXNz
aW9uSWQgPSBzZXNzaW9uSWQ7CisgICAgaW5pdGlhbGl6ZXIuYnViYmxlcyA9IGZhbHNlOworICAg
IGluaXRpYWxpemVyLmNhbmNlbGFibGUgPSBmYWxzZTsKKworICAgIFJlZlB0cjxFdmVudD4gZXZl
bnQgPSBNZWRpYUtleUV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLndlYmtpdGtleWFkZGVkRXZl
bnQsIGluaXRpYWxpemVyKTsKKyAgICBldmVudC0+c2V0VGFyZ2V0KHRoaXMpOworICAgIG1fYXN5
bmNFdmVudFF1ZXVlLT5lbnF1ZXVlRXZlbnQoZXZlbnQucmVsZWFzZSgpKTsKK30KKwordm9pZCBI
VE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXllcktleUVycm9yKE1lZGlhUGxheWVyKiwgY29uc3Qg
U3RyaW5nJiBrZXlTeXN0ZW0sIGNvbnN0IFN0cmluZyYgc2Vzc2lvbklkLCBNZWRpYVBsYXllckNs
aWVudDo6TWVkaWFLZXlFcnJvckNvZGUgZXJyb3JDb2RlLCB1bnNpZ25lZCBzaG9ydCBzeXN0ZW1D
b2RlKQoreworICAgIE1lZGlhS2V5RXJyb3I6OkNvZGUgbWVkaWFLZXlFcnJvckNvZGU7CisgICAg
c3dpdGNoIChlcnJvckNvZGUpIHsKKyAgICBjYXNlIE1lZGlhUGxheWVyQ2xpZW50OjpVbmtub3du
RXJyb3I6CisgICAgICAgIG1lZGlhS2V5RXJyb3JDb2RlID0gTWVkaWFLZXlFcnJvcjo6TUVESUFf
S0VZRVJSX1VOS05PV047CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgTWVkaWFQbGF5ZXJDbGll
bnQ6OkNsaWVudEVycm9yOgorICAgICAgICBtZWRpYUtleUVycm9yQ29kZSA9IE1lZGlhS2V5RXJy
b3I6Ok1FRElBX0tFWUVSUl9DTElFTlQ7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgTWVkaWFQ
bGF5ZXJDbGllbnQ6OlNlcnZpY2VFcnJvcjoKKyAgICAgICAgbWVkaWFLZXlFcnJvckNvZGUgPSBN
ZWRpYUtleUVycm9yOjpNRURJQV9LRVlFUlJfU0VSVklDRTsKKyAgICAgICAgYnJlYWs7CisgICAg
Y2FzZSBNZWRpYVBsYXllckNsaWVudDo6T3V0cHV0RXJyb3I6CisgICAgICAgIG1lZGlhS2V5RXJy
b3JDb2RlID0gTWVkaWFLZXlFcnJvcjo6TUVESUFfS0VZRVJSX09VVFBVVDsKKyAgICAgICAgYnJl
YWs7CisgICAgY2FzZSBNZWRpYVBsYXllckNsaWVudDo6SGFyZHdhcmVDaGFuZ2VFcnJvcjoKKyAg
ICAgICAgbWVkaWFLZXlFcnJvckNvZGUgPSBNZWRpYUtleUVycm9yOjpNRURJQV9LRVlFUlJfSEFS
RFdBUkVDSEFOR0U7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgTWVkaWFQbGF5ZXJDbGllbnQ6
OkRvbWFpbkVycm9yOgorICAgICAgICBtZWRpYUtleUVycm9yQ29kZSA9IE1lZGlhS2V5RXJyb3I6
Ok1FRElBX0tFWUVSUl9ET01BSU47CisgICAgICAgIGJyZWFrOworICAgIH0KKworICAgIE1lZGlh
S2V5RXZlbnRJbml0IGluaXRpYWxpemVyOworICAgIGluaXRpYWxpemVyLmtleVN5c3RlbSA9IGtl
eVN5c3RlbTsKKyAgICBpbml0aWFsaXplci5zZXNzaW9uSWQgPSBzZXNzaW9uSWQ7CisgICAgaW5p
dGlhbGl6ZXIuZXJyb3JDb2RlID0gTWVkaWFLZXlFcnJvcjo6Y3JlYXRlKG1lZGlhS2V5RXJyb3JD
b2RlKTsKKyAgICBpbml0aWFsaXplci5zeXN0ZW1Db2RlID0gc3lzdGVtQ29kZTsKKyAgICBpbml0
aWFsaXplci5idWJibGVzID0gZmFsc2U7CisgICAgaW5pdGlhbGl6ZXIuY2FuY2VsYWJsZSA9IGZh
bHNlOworCisgICAgUmVmUHRyPEV2ZW50PiBldmVudCA9IE1lZGlhS2V5RXZlbnQ6OmNyZWF0ZShl
dmVudE5hbWVzKCkud2Via2l0a2V5ZXJyb3JFdmVudCwgaW5pdGlhbGl6ZXIpOworICAgIGV2ZW50
LT5zZXRUYXJnZXQodGhpcyk7CisgICAgbV9hc3luY0V2ZW50UXVldWUtPmVucXVldWVFdmVudChl
dmVudC5yZWxlYXNlKCkpOworfQorCit2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhUGxheWVy
S2V5TWVzc2FnZShNZWRpYVBsYXllciosIGNvbnN0IFN0cmluZyYga2V5U3lzdGVtLCBjb25zdCBT
dHJpbmcmIHNlc3Npb25JZCwgY29uc3QgdW5zaWduZWQgY2hhciogbWVzc2FnZSwgdW5zaWduZWQg
bWVzc2FnZUxlbmd0aCkKK3sKKyAgICBNZWRpYUtleUV2ZW50SW5pdCBpbml0aWFsaXplcjsKKyAg
ICBpbml0aWFsaXplci5rZXlTeXN0ZW0gPSBrZXlTeXN0ZW07CisgICAgaW5pdGlhbGl6ZXIuc2Vz
c2lvbklkID0gc2Vzc2lvbklkOworICAgIGluaXRpYWxpemVyLm1lc3NhZ2UgPSBVaW50OEFycmF5
OjpjcmVhdGUobWVzc2FnZSwgbWVzc2FnZUxlbmd0aCk7CisgICAgaW5pdGlhbGl6ZXIuYnViYmxl
cyA9IGZhbHNlOworICAgIGluaXRpYWxpemVyLmNhbmNlbGFibGUgPSBmYWxzZTsKKworICAgIFJl
ZlB0cjxFdmVudD4gZXZlbnQgPSBNZWRpYUtleUV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLndl
YmtpdGtleW1lc3NhZ2VFdmVudCwgaW5pdGlhbGl6ZXIpOworICAgIGV2ZW50LT5zZXRUYXJnZXQo
dGhpcyk7CisgICAgbV9hc3luY0V2ZW50UXVldWUtPmVucXVldWVFdmVudChldmVudC5yZWxlYXNl
KCkpOworfQorCit2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhUGxheWVyS2V5TmVlZGVkKE1l
ZGlhUGxheWVyKiwgY29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0sIGNvbnN0IFN0cmluZyYgc2Vzc2lv
bklkLCBjb25zdCB1bnNpZ25lZCBjaGFyKiBpbml0RGF0YSwgdW5zaWduZWQgaW5pdERhdGFMZW5n
dGgpCit7CisgICAgTWVkaWFLZXlFdmVudEluaXQgaW5pdGlhbGl6ZXI7CisgICAgaW5pdGlhbGl6
ZXIua2V5U3lzdGVtID0ga2V5U3lzdGVtOworICAgIGluaXRpYWxpemVyLnNlc3Npb25JZCA9IHNl
c3Npb25JZDsKKyAgICBpbml0aWFsaXplci5pbml0RGF0YSA9IFVpbnQ4QXJyYXk6OmNyZWF0ZShp
bml0RGF0YSwgaW5pdERhdGFMZW5ndGgpOworICAgIGluaXRpYWxpemVyLmJ1YmJsZXMgPSBmYWxz
ZTsKKyAgICBpbml0aWFsaXplci5jYW5jZWxhYmxlID0gZmFsc2U7CisKKyAgICBSZWZQdHI8RXZl
bnQ+IGV2ZW50ID0gTWVkaWFLZXlFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS53ZWJraXRuZWVk
a2V5RXZlbnQsIGluaXRpYWxpemVyKTsKKyAgICBldmVudC0+c2V0VGFyZ2V0KHRoaXMpOworICAg
IG1fYXN5bmNFdmVudFF1ZXVlLT5lbnF1ZXVlRXZlbnQoZXZlbnQucmVsZWFzZSgpKTsKK30KKyNl
bmRpZgorCiB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnByb2dyZXNzRXZlbnRUaW1lckZpcmVkKFRp
bWVyPEhUTUxNZWRpYUVsZW1lbnQ+KikKIHsKICAgICBBU1NFUlQobV9wbGF5ZXIpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmggYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAppbmRleCAwZTY4NzY3YTFhZmUxZmM2MjQwZmRh
Mjk5MGNhMjBlMjMyZTI5ZjgzLi5jYmEyZTIxNzBjZTdkYjdiODVkMDc3OGQ2OWY4Y2MwYTY3MDQ2
NzM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaApAQCAtMTg2LDYgKzE4
NiwxMSBAQCBwdWJsaWM6CiAgICAgdm9pZCB3ZWJraXRBZGRLZXkoY29uc3QgU3RyaW5nJiBrZXlT
eXN0ZW0sIFBhc3NSZWZQdHI8VWludDhBcnJheT4ga2V5LCBQYXNzUmVmUHRyPFVpbnQ4QXJyYXk+
IGluaXREYXRhLCBjb25zdCBTdHJpbmcmIHNlc3Npb25JZCwgRXhjZXB0aW9uQ29kZSYpOwogICAg
IHZvaWQgd2Via2l0QWRkS2V5KGNvbnN0IFN0cmluZyYga2V5U3lzdGVtLCBQYXNzUmVmUHRyPFVp
bnQ4QXJyYXk+IGtleSwgRXhjZXB0aW9uQ29kZSYpOwogICAgIHZvaWQgd2Via2l0Q2FuY2VsS2V5
UmVxdWVzdChjb25zdCBTdHJpbmcmIGtleVN5c3RlbSwgY29uc3QgU3RyaW5nJiBzZXNzaW9uSWQs
IEV4Y2VwdGlvbkNvZGUmKTsKKworICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIo
d2Via2l0a2V5YWRkZWQpOworICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIod2Vi
a2l0a2V5ZXJyb3IpOworICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIod2Via2l0
a2V5bWVzc2FnZSk7CisgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih3ZWJraXRu
ZWVka2V5KTsKICNlbmRpZgogCiAvLyBjb250cm9scwpAQCAtMjYxLDYgKzI2NiwxMyBAQCBwdWJs
aWM6CiAgICAgdm9pZCB1cGRhdGVXaWRnZXQoUGx1Z2luQ3JlYXRpb25PcHRpb24pOwogI2VuZGlm
CiAKKyAgICAvLyBFdmVudFRhcmdldCBmdW5jdGlvbi4KKyAgICAvLyBCb3RoIE5vZGUgKHZpYSBI
VE1MRWxlbWVudCkgYW5kIEFjdGl2ZURPTU9iamVjdCBkZWZpbmUgdGhpcyBtZXRob2QsIHdoaWNo
CisgICAgLy8gY2F1c2VzIGFuIGFtYmlndWl0eSBlcnJvciBhdCBjb21waWxlIHRpbWUuIFRoaXMg
Y2xhc3MncyBjb25zdHJ1Y3RvcgorICAgIC8vIGVuc3VyZXMgdGhhdCBib3RoIGltcGxlbWVudGF0
aW9ucyByZXR1cm4gZG9jdW1lbnQsIHNvIHJldHVybiB0aGUgcmVzdWx0CisgICAgLy8gb2Ygb25l
IG9mIHRoZW0gaGVyZS4KKyAgICB2aXJ0dWFsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBIVE1MRWxlbWVudDo6
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOyB9CisKICAgICBib29sIGhhc1NpbmdsZVNlY3VyaXR5
T3JpZ2luKCkgY29uc3QgeyByZXR1cm4gIW1fcGxheWVyIHx8IG1fcGxheWVyLT5oYXNTaW5nbGVT
ZWN1cml0eU9yaWdpbigpOyB9CiAgICAgCiAgICAgYm9vbCBpc0Z1bGxzY3JlZW4oKSBjb25zdDsK
QEAgLTM5Nyw2ICs0MDksMTMgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIFN0cmluZyBtZWRpYVBs
YXllclNvdXJjZVVSTCgpIGNvbnN0OwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoRU5DUllQVEVEX01F
RElBKQorICAgIHZpcnR1YWwgdm9pZCBtZWRpYVBsYXllcktleUFkZGVkKE1lZGlhUGxheWVyKiwg
Y29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0sIGNvbnN0IFN0cmluZyYgc2Vzc2lvbklkKSBPVkVSUklE
RTsKKyAgICB2aXJ0dWFsIHZvaWQgbWVkaWFQbGF5ZXJLZXlFcnJvcihNZWRpYVBsYXllciosIGNv
bnN0IFN0cmluZyYga2V5U3lzdGVtLCBjb25zdCBTdHJpbmcmIHNlc3Npb25JZCwgTWVkaWFQbGF5
ZXJDbGllbnQ6Ok1lZGlhS2V5RXJyb3JDb2RlLCB1bnNpZ25lZCBzaG9ydCBzeXN0ZW1Db2RlKSBP
VkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQgbWVkaWFQbGF5ZXJLZXlNZXNzYWdlKE1lZGlhUGxh
eWVyKiwgY29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0sIGNvbnN0IFN0cmluZyYgc2Vzc2lvbklkLCBj
b25zdCB1bnNpZ25lZCBjaGFyKiBtZXNzYWdlLCB1bnNpZ25lZCBtZXNzYWdlTGVuZ3RoKSBPVkVS
UklERTsKKyAgICB2aXJ0dWFsIHZvaWQgbWVkaWFQbGF5ZXJLZXlOZWVkZWQoTWVkaWFQbGF5ZXIq
LCBjb25zdCBTdHJpbmcmIGtleVN5c3RlbSwgY29uc3QgU3RyaW5nJiBzZXNzaW9uSWQsIGNvbnN0
IHVuc2lnbmVkIGNoYXIqIGluaXREYXRhLCB1bnNpZ25lZCBpbml0RGF0YUxlbmd0aCkgT1ZFUlJJ
REU7CisjZW5kaWYKKwogICAgIHZpcnR1YWwgU3RyaW5nIG1lZGlhUGxheWVyUmVmZXJyZXIoKSBj
b25zdCBPVkVSUklERTsKICAgICB2aXJ0dWFsIFN0cmluZyBtZWRpYVBsYXllclVzZXJBZ2VudCgp
IGNvbnN0IE9WRVJSSURFOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxN
ZWRpYUVsZW1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50Lmlk
bAppbmRleCA2N2UwMDhhNzNkOGEyNDFjZmVkNThjNTQ2YTUzYzExZGI4NmEyOTFmLi4wMDM4Mzk4
MjRmNzdmODZhMjlkNTViMDcyMDEyYTUzZTIwY2RjNzFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTE1lZGlhRWxlbWVudC5pZGwKQEAgLTEyMiw2ICsxMjIsMTEgQEAgbW9kdWxlIGh0bWwgewog
ICAgICAgICByYWlzZXMgKERPTUV4Y2VwdGlvbik7CiAgICAgW1Y4RW5hYmxlZEF0UnVudGltZT1l
bmNyeXB0ZWRNZWRpYV0gdm9pZCB3ZWJraXRDYW5jZWxLZXlSZXF1ZXN0KGluIFtUcmVhdE51bGxB
cz1OdWxsU3RyaW5nLCBUcmVhdFVuZGVmaW5lZEFzPU51bGxTdHJpbmddIERPTVN0cmluZyBrZXlT
eXN0ZW0sIGluIFtPcHRpb25hbD1EZWZhdWx0SXNOdWxsU3RyaW5nXSBET01TdHJpbmcgc2Vzc2lv
bklkKQogICAgICAgICByYWlzZXMgKERPTUV4Y2VwdGlvbik7CisKKyAgICBhdHRyaWJ1dGUgW1Y4
RW5hYmxlZEF0UnVudGltZT1lbmNyeXB0ZWRNZWRpYV0gRXZlbnRMaXN0ZW5lciBvbndlYmtpdGtl
eWFkZGVkOworICAgIGF0dHJpYnV0ZSBbVjhFbmFibGVkQXRSdW50aW1lPWVuY3J5cHRlZE1lZGlh
XSBFdmVudExpc3RlbmVyIG9ud2Via2l0a2V5ZXJyb3I7CisgICAgYXR0cmlidXRlIFtWOEVuYWJs
ZWRBdFJ1bnRpbWU9ZW5jcnlwdGVkTWVkaWFdIEV2ZW50TGlzdGVuZXIgb253ZWJraXRrZXltZXNz
YWdlOworICAgIGF0dHJpYnV0ZSBbVjhFbmFibGVkQXRSdW50aW1lPWVuY3J5cHRlZE1lZGlhXSBF
dmVudExpc3RlbmVyIG9ud2Via2l0bmVlZGtleTsKICNlbmRpZgogCiAjaWYgZGVmaW5lZChFTkFC
TEVfVklERU9fVFJBQ0spICYmIEVOQUJMRV9WSURFT19UUkFDSwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9NZWRpYUVycm9yLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRXJy
b3IuaAppbmRleCBiNjhjMzcwNjUwMWEyMDY3Y2U5NTFhMGFhNmZhMjQ4YzI1NmFhZjBlLi45MGY0
NDdmMDVlNWE0ZjBjYWQxNGI1YzQyOWJmYmZlOGM4NzBkMzA0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL01lZGlhRXJyb3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlh
RXJyb3IuaApAQCAtMzUsNyArMzUsMTUgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBN
ZWRpYUVycm9yIDogcHVibGljIFJlZkNvdW50ZWQ8TWVkaWFFcnJvcj4gewogcHVibGljOgotICAg
IGVudW0gQ29kZSB7IE1FRElBX0VSUl9BQk9SVEVEID0gMSwgTUVESUFfRVJSX05FVFdPUkssIE1F
RElBX0VSUl9ERUNPREUsIE1FRElBX0VSUl9TUkNfTk9UX1NVUFBPUlRFRCB9OworICAgIGVudW0g
Q29kZSB7CisgICAgICAgIE1FRElBX0VSUl9BQk9SVEVEID0gMSwKKyAgICAgICAgTUVESUFfRVJS
X05FVFdPUkssCisgICAgICAgIE1FRElBX0VSUl9ERUNPREUsCisgICAgICAgIE1FRElBX0VSUl9T
UkNfTk9UX1NVUFBPUlRFRAorI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCisgICAgICAgICwg
TUVESUFfRVJSX0VOQ1JZUFRFRAorI2VuZGlmCisgICAgfTsKIAogICAgIHN0YXRpYyBQYXNzUmVm
UHRyPE1lZGlhRXJyb3I+IGNyZWF0ZShDb2RlIGNvZGUpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBN
ZWRpYUVycm9yKGNvZGUpKTsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01l
ZGlhRXJyb3IuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVycm9yLmlkbAppbmRleCBm
Y2ViMWY1NTFlZTVlMzAyN2M2MmYyYTVhNDgwMmMwMDc3MDZkODVjLi44ZWI5ZDU0MDI5NDY1MDM0
ZGQ0M2RmODE5ZmRkY2QxMTUxNjcyNzUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L01lZGlhRXJyb3IuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFcnJvci5pZGwK
QEAgLTMxLDYgKzMxLDkgQEAgbW9kdWxlIGh0bWwgewogICAgICAgICAgIGNvbnN0IHVuc2lnbmVk
IHNob3J0IE1FRElBX0VSUl9ORVRXT1JLID0gMjsKICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBz
aG9ydCBNRURJQV9FUlJfREVDT0RFID0gMzsKICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9y
dCBNRURJQV9FUlJfU1JDX05PVF9TVVBQT1JURUQgPSA0OworI2lmIGRlZmluZWQoRU5BQkxFX0VO
Q1JZUFRFRF9NRURJQSkgJiYgRU5BQkxFX0VOQ1JZUFRFRF9NRURJQQorICAgICAgICAgIGNvbnN0
IHVuc2lnbmVkIHNob3J0IE1FRElBX0VSUl9FTkNSWVBURUQgPSA1OworI2VuZGlmCiAgICAgICAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IGNvZGU7CiAgICAgfTsKIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFLZXlFcnJvci5oIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9NZWRpYUtleUVycm9yLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTJjNzM2ZDQ4N2EzZjRjMDcx
NjViNGM2NTI4ZWZkOTk5Y2Y3NWRlMgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvTWVkaWFLZXlFcnJvci5oCkBAIC0wLDAgKzEsNjAgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTIgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFT
IElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisg
KiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpZm5k
ZWYgTWVkaWFLZXlFcnJvcl9oCisjZGVmaW5lIE1lZGlhS2V5RXJyb3JfaAorCisjaWYgRU5BQkxF
KEVOQ1JZUFRFRF9NRURJQSkKKworI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVk
ZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBNZWRp
YUtleUVycm9yIDogcHVibGljIFJlZkNvdW50ZWQ8TWVkaWFLZXlFcnJvcj4geworcHVibGljOgor
ICAgIGVudW0gQ29kZSB7CisgICAgICAgIE1FRElBX0tFWUVSUl9VTktOT1dOID0gMSwKKyAgICAg
ICAgTUVESUFfS0VZRVJSX0NMSUVOVCwKKyAgICAgICAgTUVESUFfS0VZRVJSX1NFUlZJQ0UsCisg
ICAgICAgIE1FRElBX0tFWUVSUl9PVVRQVVQsCisgICAgICAgIE1FRElBX0tFWUVSUl9IQVJEV0FS
RUNIQU5HRSwKKyAgICAgICAgTUVESUFfS0VZRVJSX0RPTUFJTgorICAgIH07CisKKyAgICBzdGF0
aWMgUGFzc1JlZlB0cjxNZWRpYUtleUVycm9yPiBjcmVhdGUoQ29kZSBjb2RlKSB7IHJldHVybiBh
ZG9wdFJlZihuZXcgTWVkaWFLZXlFcnJvcihjb2RlKSk7IH0KKworICAgIENvZGUgY29kZSgpIGNv
bnN0IHsgcmV0dXJuIG1fY29kZTsgfQorCitwcml2YXRlOgorICAgIGV4cGxpY2l0IE1lZGlhS2V5
RXJyb3IoQ29kZSBjb2RlKSA6IG1fY29kZShjb2RlKSB7IH0KKworICAgIENvZGUgbV9jb2RlOwor
fTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKKyNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUtleUVycm9yLmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvTWVkaWFLZXlFcnJvci5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTViOWIwNGQwZjdmNTczZTM5NDA2
ZTJhMTExYjQ3NmFhZDkyYjg5MwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvTWVkaWFLZXlFcnJvci5pZGwKQEAgLTAsMCArMSwzOSBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxMiBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMg
SVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAq
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
CisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworbW9kdWxl
IGh0bWwgeworICAgIGludGVyZmFjZSBbCisgICAgICAgIENvbmRpdGlvbmFsPUVOQ1JZUFRFRF9N
RURJQSwKKyAgICAgICAgVjhFbmFibGVkQXRSdW50aW1lPWVuY3J5cHRlZE1lZGlhLCAKKyAgICBd
IE1lZGlhS2V5RXJyb3IgeworICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBNRURJQV9LRVlF
UlJfVU5LTk9XTiA9IDE7CisgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IE1FRElBX0tFWUVS
Ul9DTElFTlQgPSAyOworICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBNRURJQV9LRVlFUlJf
U0VSVklDRSA9IDM7CisgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IE1FRElBX0tFWUVSUl9P
VVRQVVQgPSA0OworICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBNRURJQV9LRVlFUlJfSEFS
RFdBUkVDSEFOR0UgPSA1OworICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBNRURJQV9LRVlF
UlJfRE9NQUlOID0gNjsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0
IGNvZGU7CisgICAgfTsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFL
ZXlFdmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhS2V5RXZlbnQuY3BwCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmEyZWE1ZWZkOWJiZGRiMjFmMDhjZWExMGQyMWVkNGIzOTgzYzFkY2UKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhS2V5RXZlbnQuY3BwCkBAIC0wLDAg
KzEsNjkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAq
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuIAorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2lmIEVOQUJMRShF
TkNSWVBURURfTUVESUEpCisKKyNpbmNsdWRlICJNZWRpYUtleUV2ZW50LmgiCisKKyNpbmNsdWRl
ICJFdmVudE5hbWVzLmgiCisjaW5jbHVkZSA8d3RmL1VpbnQ4QXJyYXkuaD4KKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitNZWRpYUtleUV2ZW50SW5pdDo6TWVkaWFLZXlFdmVudEluaXQoKQorICAg
IDogc3lzdGVtQ29kZSgwKQoreworfQorCitNZWRpYUtleUV2ZW50OjpNZWRpYUtleUV2ZW50KCkK
K3sKK30KKworTWVkaWFLZXlFdmVudDo6TWVkaWFLZXlFdmVudChjb25zdCBBdG9taWNTdHJpbmcm
IHR5cGUsIGNvbnN0IE1lZGlhS2V5RXZlbnRJbml0JiBpbml0aWFsaXplcikKKyAgICA6IEV2ZW50
KHR5cGUsIGluaXRpYWxpemVyKQorICAgICwgbV9rZXlTeXN0ZW0oaW5pdGlhbGl6ZXIua2V5U3lz
dGVtKQorICAgICwgbV9zZXNzaW9uSWQoaW5pdGlhbGl6ZXIuc2Vzc2lvbklkKQorICAgICwgbV9p
bml0RGF0YShpbml0aWFsaXplci5pbml0RGF0YSkKKyAgICAsIG1fbWVzc2FnZShpbml0aWFsaXpl
ci5tZXNzYWdlKQorICAgICwgbV9kZWZhdWx0VXJsKGluaXRpYWxpemVyLmRlZmF1bHRVcmwpCisg
ICAgLCBtX2Vycm9yQ29kZShpbml0aWFsaXplci5lcnJvckNvZGUpCisgICAgLCBtX3N5c3RlbUNv
ZGUoaW5pdGlhbGl6ZXIuc3lzdGVtQ29kZSkKK3sKK30KKworTWVkaWFLZXlFdmVudDo6fk1lZGlh
S2V5RXZlbnQoKQoreworfQorCitjb25zdCBBdG9taWNTdHJpbmcmIE1lZGlhS2V5RXZlbnQ6Omlu
dGVyZmFjZU5hbWUoKSBjb25zdAoreworICAgIHJldHVybiBldmVudE5hbWVzKCkuaW50ZXJmYWNl
Rm9yTWVkaWFLZXlFdmVudDsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFLZXlFdmVudC5oIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9NZWRpYUtleUV2ZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjJkYWZkYmUyOGI0NWM1
MzkyNThhNzQ5OTQyMzlkNTdlM2JlMzg2MwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvTWVkaWFLZXlFdmVudC5oCkBAIC0wLDAgKzEsODggQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBg
YEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9S
CisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNp
Zm5kZWYgTWVkaWFLZXlFdmVudF9oCisjZGVmaW5lIE1lZGlhS2V5RXZlbnRfaAorCisjaWYgRU5B
QkxFKEVOQ1JZUFRFRF9NRURJQSkKKworI2luY2x1ZGUgIkV2ZW50LmgiCisjaW5jbHVkZSAiTWVk
aWFLZXlFcnJvci5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0cnVjdCBNZWRpYUtleUV2
ZW50SW5pdCA6IHB1YmxpYyBFdmVudEluaXQgeworICAgIE1lZGlhS2V5RXZlbnRJbml0KCk7CisK
KyAgICBTdHJpbmcga2V5U3lzdGVtOworICAgIFN0cmluZyBzZXNzaW9uSWQ7CisgICAgUmVmUHRy
PFVpbnQ4QXJyYXk+IGluaXREYXRhOworICAgIFJlZlB0cjxVaW50OEFycmF5PiBtZXNzYWdlOwor
ICAgIFN0cmluZyBkZWZhdWx0VXJsOworICAgIFJlZlB0cjxNZWRpYUtleUVycm9yPiBlcnJvckNv
ZGU7CisgICAgdW5zaWduZWQgc2hvcnQgc3lzdGVtQ29kZTsKK307CisKK2NsYXNzIE1lZGlhS2V5
RXZlbnQgOiBwdWJsaWMgRXZlbnQgeworcHVibGljOgorICAgIHZpcnR1YWwgfk1lZGlhS2V5RXZl
bnQoKTsKKworICAgIHN0YXRpYyBQYXNzUmVmUHRyPE1lZGlhS2V5RXZlbnQ+IGNyZWF0ZSgpCisg
ICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IE1lZGlhS2V5RXZlbnQpOworICAgIH0K
KworICAgIHN0YXRpYyBQYXNzUmVmUHRyPE1lZGlhS2V5RXZlbnQ+IGNyZWF0ZShjb25zdCBBdG9t
aWNTdHJpbmcmIHR5cGUsIGNvbnN0IE1lZGlhS2V5RXZlbnRJbml0JiBpbml0aWFsaXplcikKKyAg
ICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgTWVkaWFLZXlFdmVudCh0eXBlLCBpbml0
aWFsaXplcikpOworICAgIH0KKworICAgIHZpcnR1YWwgY29uc3QgQXRvbWljU3RyaW5nJiBpbnRl
cmZhY2VOYW1lKCkgY29uc3Q7CisKKyAgICBTdHJpbmcga2V5U3lzdGVtKCkgY29uc3QgeyByZXR1
cm4gbV9rZXlTeXN0ZW07IH0KKyAgICBTdHJpbmcgc2Vzc2lvbklkKCkgY29uc3QgeyByZXR1cm4g
bV9zZXNzaW9uSWQ7IH0KKyAgICBVaW50OEFycmF5KiBpbml0RGF0YSgpIGNvbnN0IHsgcmV0dXJu
IG1faW5pdERhdGEuZ2V0KCk7IH0KKyAgICBVaW50OEFycmF5KiBtZXNzYWdlKCkgY29uc3QgeyBy
ZXR1cm4gbV9tZXNzYWdlLmdldCgpOyB9CisgICAgU3RyaW5nIGRlZmF1bHRVcmwoKSBjb25zdCB7
IHJldHVybiBtX2RlZmF1bHRVcmw7IH0KKyAgICBNZWRpYUtleUVycm9yKiBlcnJvckNvZGUoKSBj
b25zdCB7IHJldHVybiBtX2Vycm9yQ29kZS5nZXQoKTsgfQorICAgIHVuc2lnbmVkIHNob3J0IHN5
c3RlbUNvZGUoKSBjb25zdCB7IHJldHVybiBtX3N5c3RlbUNvZGU7IH0KKworcHJpdmF0ZToKKyAg
ICBNZWRpYUtleUV2ZW50KCk7CisgICAgTWVkaWFLZXlFdmVudChjb25zdCBBdG9taWNTdHJpbmcm
IHR5cGUsIGNvbnN0IE1lZGlhS2V5RXZlbnRJbml0JiBpbml0aWFsaXplcik7CisKKyAgICBTdHJp
bmcgbV9rZXlTeXN0ZW07CisgICAgU3RyaW5nIG1fc2Vzc2lvbklkOworICAgIFJlZlB0cjxVaW50
OEFycmF5PiBtX2luaXREYXRhOworICAgIFJlZlB0cjxVaW50OEFycmF5PiBtX21lc3NhZ2U7Cisg
ICAgU3RyaW5nIG1fZGVmYXVsdFVybDsKKyAgICBSZWZQdHI8TWVkaWFLZXlFcnJvcj4gbV9lcnJv
ckNvZGU7CisgICAgdW5zaWduZWQgc2hvcnQgbV9zeXN0ZW1Db2RlOworfTsKKworfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQorCisjZW5kaWYKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9NZWRpYUtleUV2ZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFLZXlF
dmVudC5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMWJiNmZmYmVlZTJlMTE3ZGM3YWJmOTIwZWNkNDAwMzVmM2U5
MjdkZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFLZXlFdmVu
dC5pZGwKQEAgLTAsMCArMSw0MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUg
SW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAor
ICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworbW9kdWxlIGh0bWwgeworCisgICAg
aW50ZXJmYWNlIFsKKyAgICAgICAgQ29uZGl0aW9uYWw9RU5DUllQVEVEX01FRElBLAorICAgICAg
ICBWOEVuYWJsZWRBdFJ1bnRpbWU9ZW5jcnlwdGVkTWVkaWEsCisgICAgICAgIENvbnN0cnVjdG9y
VGVtcGxhdGU9RXZlbnQgCisgICAgXSBNZWRpYUtleUV2ZW50IDogRXZlbnQgeworICAgICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgW0luaXRpYWxpemVkQnlFdmVudENvbnN0cnVjdG9yXSBET01TdHJp
bmcga2V5U3lzdGVtOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW0luaXRpYWxpemVkQnlF
dmVudENvbnN0cnVjdG9yXSBET01TdHJpbmcgc2Vzc2lvbklkOworICAgICAgICByZWFkb25seSBh
dHRyaWJ1dGUgW0luaXRpYWxpemVkQnlFdmVudENvbnN0cnVjdG9yXSBVaW50OEFycmF5IGluaXRE
YXRhOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW0luaXRpYWxpemVkQnlFdmVudENvbnN0
cnVjdG9yXSBVaW50OEFycmF5IG1lc3NhZ2U7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBb
SW5pdGlhbGl6ZWRCeUV2ZW50Q29uc3RydWN0b3JdIERPTVN0cmluZyBkZWZhdWx0VXJsOworICAg
ICAgICByZWFkb25seSBhdHRyaWJ1dGUgW0luaXRpYWxpemVkQnlFdmVudENvbnN0cnVjdG9yXSBN
ZWRpYUtleUVycm9yIGVycm9yQ29kZTsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFtJbml0
aWFsaXplZEJ5RXZlbnRDb25zdHJ1Y3Rvcl0gdW5zaWduZWQgc2hvcnQgc3lzdGVtQ29kZTsKKyAg
ICB9OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKaW5kZXggYjIzOWQxNTU5MWZkYWJl
ZGEwZTZlNDk2NGU2ZDM1OTU4NzMzNzJjYy4uNGZhZTVlY2RkYzBiYzkwZWYyNGMwNmMzOTVkZmQy
ZWRjNzFlODk2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbApAQCAtNDY2LDYgKzQ2Niw5
IEBAIG1vZHVsZSB3aW5kb3cgewogICAgICAgICBhdHRyaWJ1dGUgW0pTQ3VzdG9tR2V0dGVyLCBD
dXN0b21Db25zdHJ1Y3Rvcl0gSFRNTEltYWdlRWxlbWVudENvbnN0cnVjdG9yQ29uc3RydWN0b3Ig
SW1hZ2U7IC8vIFVzYWJsZSB3aXRoIG5ldyBvcGVyYXRvcgogICAgICAgICBhdHRyaWJ1dGUgW0pT
Q3VzdG9tR2V0dGVyXSBIVE1MT3B0aW9uRWxlbWVudENvbnN0cnVjdG9yQ29uc3RydWN0b3IgT3B0
aW9uOyAvLyBVc2FibGUgd2l0aCBuZXcgb3BlcmF0b3IKIAorICAgICAgICBhdHRyaWJ1dGUgW0Nv
bmRpdGlvbmFsPUVOQ1JZUFRFRF9NRURJQSwgVjhFbmFibGVkQXRSdW50aW1lPWVuY3J5cHRlZE1l
ZGlhXSBNZWRpYUtleUVycm9yQ29uc3RydWN0b3IgTWVkaWFLZXlFcnJvcjsKKyAgICAgICAgYXR0
cmlidXRlIFtDb25kaXRpb25hbD1FTkNSWVBURURfTUVESUEsIFY4RW5hYmxlZEF0UnVudGltZT1l
bmNyeXB0ZWRNZWRpYV0gTWVkaWFLZXlFdmVudENvbnN0cnVjdG9yIE1lZGlhS2V5RXZlbnQ7CisK
ICAgICAgICAgYXR0cmlidXRlIFtDb25kaXRpb25hbD1WSURFT19UUkFDSywgVjhFbmFibGVkQXRS
dW50aW1lPXdlYmtpdFZpZGVvVHJhY2tdIEhUTUxUcmFja0VsZW1lbnRDb25zdHJ1Y3RvciBIVE1M
VHJhY2tFbGVtZW50OwogICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPVZJREVPX1RSQUNL
LCBWOEVuYWJsZWRBdFJ1bnRpbWU9d2Via2l0VmlkZW9UcmFja10gVGV4dFRyYWNrQ29uc3RydWN0
b3IgVGV4dFRyYWNrOwogICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPVZJREVPX1RSQUNL
LCBWOEVuYWJsZWRBdFJ1bnRpbWU9d2Via2l0VmlkZW9UcmFja10gVGV4dFRyYWNrQ3VlQ29uc3Ry
dWN0b3IgVGV4dFRyYWNrQ3VlOyAvLyBVc2FibGUgd2l0aCB0aGUgbmV3IG9wZXJhdG9yCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKaW5kZXgg
NTBkNzY0NjJmYWU4N2E5NzEwOTY0ZDExOWIzM2MzOTEwZjA2MWY0OS4uNjc0YmMzMzhmNzJiYmZi
MGE4YzA2MjljMjgwNWMwYzQ3MGI3ZTFhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcApAQCAtOTU4LDcgKzk1OCwzMyBAQCBBdWRpb1Nv
dXJjZVByb3ZpZGVyKiBNZWRpYVBsYXllcjo6YXVkaW9Tb3VyY2VQcm92aWRlcigpCiAgICAgcmV0
dXJuIG1fcHJpdmF0ZS0+YXVkaW9Tb3VyY2VQcm92aWRlcigpOwogfQogI2VuZGlmIC8vIFdFQl9B
VURJTwotICAgIAorCisjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKK3ZvaWQgTWVkaWFQbGF5
ZXI6OmtleUFkZGVkKGNvbnN0IFN0cmluZyYga2V5U3lzdGVtLCBjb25zdCBTdHJpbmcmIHNlc3Np
b25JZCkKK3sKKyAgICBpZiAobV9tZWRpYVBsYXllckNsaWVudCkKKyAgICAgICAgbV9tZWRpYVBs
YXllckNsaWVudC0+bWVkaWFQbGF5ZXJLZXlBZGRlZCh0aGlzLCBrZXlTeXN0ZW0sIHNlc3Npb25J
ZCk7Cit9CisKK3ZvaWQgTWVkaWFQbGF5ZXI6OmtleUVycm9yKGNvbnN0IFN0cmluZyYga2V5U3lz
dGVtLCBjb25zdCBTdHJpbmcmIHNlc3Npb25JZCwgTWVkaWFQbGF5ZXJDbGllbnQ6Ok1lZGlhS2V5
RXJyb3JDb2RlIGVycm9yQ29kZSwgdW5zaWduZWQgc2hvcnQgc3lzdGVtQ29kZSkKK3sKKyAgICBp
ZiAobV9tZWRpYVBsYXllckNsaWVudCkKKyAgICAgICAgbV9tZWRpYVBsYXllckNsaWVudC0+bWVk
aWFQbGF5ZXJLZXlFcnJvcih0aGlzLCBrZXlTeXN0ZW0sIHNlc3Npb25JZCwgZXJyb3JDb2RlLCBz
eXN0ZW1Db2RlKTsKK30KKwordm9pZCBNZWRpYVBsYXllcjo6a2V5TWVzc2FnZShjb25zdCBTdHJp
bmcmIGtleVN5c3RlbSwgY29uc3QgU3RyaW5nJiBzZXNzaW9uSWQsIGNvbnN0IHVuc2lnbmVkIGNo
YXIqIG1lc3NhZ2UsIHVuc2lnbmVkIG1lc3NhZ2VMZW5ndGgpCit7CisgICAgaWYgKG1fbWVkaWFQ
bGF5ZXJDbGllbnQpCisgICAgICAgIG1fbWVkaWFQbGF5ZXJDbGllbnQtPm1lZGlhUGxheWVyS2V5
TWVzc2FnZSh0aGlzLCBrZXlTeXN0ZW0sIHNlc3Npb25JZCwgbWVzc2FnZSwgbWVzc2FnZUxlbmd0
aCk7Cit9CisKK3ZvaWQgTWVkaWFQbGF5ZXI6OmtleU5lZWRlZChjb25zdCBTdHJpbmcmIGtleVN5
c3RlbSwgY29uc3QgU3RyaW5nJiBzZXNzaW9uSWQsIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGluaXRE
YXRhLCB1bnNpZ25lZCBpbml0RGF0YUxlbmd0aCkKK3sKKyAgICBpZiAobV9tZWRpYVBsYXllckNs
aWVudCkKKyAgICAgICAgbV9tZWRpYVBsYXllckNsaWVudC0+bWVkaWFQbGF5ZXJLZXlOZWVkZWQo
dGhpcywga2V5U3lzdGVtLCBzZXNzaW9uSWQsIGluaXREYXRhLCBpbml0RGF0YUxlbmd0aCk7Cit9
CisjZW5kaWYKKwogU3RyaW5nIE1lZGlhUGxheWVyOjpyZWZlcnJlcigpIGNvbnN0CiB7CiAgICAg
aWYgKCFtX21lZGlhUGxheWVyQ2xpZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL01lZGlhUGxheWVyLmgKaW5kZXggNzZlNmY4MDVkZjJlOGYzZGVhMWMyNmFkMmNkOTIy
NzZjNDJhZDE4NS4uZWNhMjljM2YwZmExZTJiMDc5ZDY4ZDBmYjM0MDBkNTg5OGYzYWM2MSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCkBAIC0x
NjgsNiArMTY4LDE0IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIFN0cmluZyBtZWRpYVBsYXllclNv
dXJjZVVSTCgpIGNvbnN0IHsgcmV0dXJuICJ4LW1lZGlhLXNvdXJjZS11bnN1cHBvcnRlZDoiOyB9
CiAjZW5kaWYKIAorI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCisgICAgZW51bSBNZWRpYUtl
eUVycm9yQ29kZSB7IFVua25vd25FcnJvciA9IDEsIENsaWVudEVycm9yLCBTZXJ2aWNlRXJyb3Is
IE91dHB1dEVycm9yLCBIYXJkd2FyZUNoYW5nZUVycm9yLCBEb21haW5FcnJvciB9OworICAgIHZp
cnR1YWwgdm9pZCBtZWRpYVBsYXllcktleUFkZGVkKE1lZGlhUGxheWVyKiwgY29uc3QgU3RyaW5n
JiBrZXlTeXN0ZW0sIGNvbnN0IFN0cmluZyYgc2Vzc2lvbklkKSB7IH0KKyAgICB2aXJ0dWFsIHZv
aWQgbWVkaWFQbGF5ZXJLZXlFcnJvcihNZWRpYVBsYXllciosIGNvbnN0IFN0cmluZyYga2V5U3lz
dGVtLCBjb25zdCBTdHJpbmcmIHNlc3Npb25JZCwgTWVkaWFLZXlFcnJvckNvZGUgZXJyb3JDb2Rl
LCB1bnNpZ25lZCBzaG9ydCBzeXN0ZW1Db2RlKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgbWVkaWFQ
bGF5ZXJLZXlNZXNzYWdlKE1lZGlhUGxheWVyKiwgY29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0sIGNv
bnN0IFN0cmluZyYgc2Vzc2lvbklkLCBjb25zdCB1bnNpZ25lZCBjaGFyKiBtZXNzYWdlLCB1bnNp
Z25lZCBtZXNzYWdlTGVuZ3RoKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgbWVkaWFQbGF5ZXJLZXlO
ZWVkZWQoTWVkaWFQbGF5ZXIqLCBjb25zdCBTdHJpbmcmIGtleVN5c3RlbSwgY29uc3QgU3RyaW5n
JiBzZXNzaW9uSWQsIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGluaXREYXRhLCB1bnNpZ25lZCBpbml0
RGF0YUxlbmd0aCkgeyB9CisjZW5kaWYKKwogICAgIHZpcnR1YWwgU3RyaW5nIG1lZGlhUGxheWVy
UmVmZXJyZXIoKSBjb25zdCB7IHJldHVybiBTdHJpbmcoKTsgfQogICAgIHZpcnR1YWwgU3RyaW5n
IG1lZGlhUGxheWVyVXNlckFnZW50KCkgY29uc3QgeyByZXR1cm4gU3RyaW5nKCk7IH0KIH07CkBA
IC0zNDYsNiArMzU0LDEzIEBAIHB1YmxpYzoKICAgICBTdHJpbmcgc291cmNlVVJMKCkgY29uc3Q7
CiAjZW5kaWYKIAorI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCisgICAgdm9pZCBrZXlBZGRl
ZChjb25zdCBTdHJpbmcmIGtleVN5c3RlbSwgY29uc3QgU3RyaW5nJiBzZXNzaW9uSWQpOworICAg
IHZvaWQga2V5RXJyb3IoY29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0sIGNvbnN0IFN0cmluZyYgc2Vz
c2lvbklkLCBNZWRpYVBsYXllckNsaWVudDo6TWVkaWFLZXlFcnJvckNvZGUsIHVuc2lnbmVkIHNo
b3J0IHN5c3RlbUNvZGUpOworICAgIHZvaWQga2V5TWVzc2FnZShjb25zdCBTdHJpbmcmIGtleVN5
c3RlbSwgY29uc3QgU3RyaW5nJiBzZXNzaW9uSWQsIGNvbnN0IHVuc2lnbmVkIGNoYXIqIG1lc3Nh
Z2UsIHVuc2lnbmVkIG1lc3NhZ2VMZW5ndGgpOworICAgIHZvaWQga2V5TmVlZGVkKGNvbnN0IFN0
cmluZyYga2V5U3lzdGVtLCBjb25zdCBTdHJpbmcmIHNlc3Npb25JZCwgY29uc3QgdW5zaWduZWQg
Y2hhciogaW5pdERhdGEsIHVuc2lnbmVkIGluaXREYXRhTGVuZ3RoKTsKKyNlbmRpZgorCiAgICAg
U3RyaW5nIHJlZmVycmVyKCkgY29uc3Q7CiAgICAgU3RyaW5nIHVzZXJBZ2VudCgpIGNvbnN0Owog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJNZWRpYVBsYXll
ckNsaWVudC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViTWVkaWFQbGF5ZXJD
bGllbnQuaAppbmRleCAxOWVhMjQyZWNhZDlhYjFiZjgzNjBlODc5NTA5YmU2OTU0ZDc3MDYxLi5j
OWQzMWU0ZDEyYTRkODk3NjJiNTIxOGMwZGQ0YTFlMDg3MTQzNmExIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJNZWRpYVBsYXllckNsaWVudC5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYk1lZGlhUGxheWVyQ2xpZW50LmgKQEAgLTQw
LDYgKzQwLDE1IEBAIGNsYXNzIFdlYlVSTDsKIAogY2xhc3MgV2ViTWVkaWFQbGF5ZXJDbGllbnQg
ewogcHVibGljOgorICAgIGVudW0gTWVkaWFLZXlFcnJvckNvZGUgeworICAgICAgICBVbmtub3du
RXJyb3IgPSAxLAorICAgICAgICBDbGllbnRFcnJvciwKKyAgICAgICAgU2VydmljZUVycm9yLAor
ICAgICAgICBPdXRwdXRFcnJvciwKKyAgICAgICAgSGFyZHdhcmVDaGFuZ2VFcnJvciwKKyAgICAg
ICAgRG9tYWluRXJyb3IKKyAgICB9OworCiAgICAgdmlydHVhbCB2b2lkIG5ldHdvcmtTdGF0ZUNo
YW5nZWQoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHJlYWR5U3RhdGVDaGFuZ2VkKCkgPSAwOwog
ICAgIHZpcnR1YWwgdm9pZCB2b2x1bWVDaGFuZ2VkKGZsb2F0KSA9IDA7CkBAIC01Niw2ICs2NSwx
MCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBXZWJNZWRpYVBsYXllcjo6UHJlbG9hZCBwcmVsb2Fk
KCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBzb3VyY2VPcGVuZWQoKSA9IDA7CiAgICAg
dmlydHVhbCBXZWJLaXQ6OldlYlVSTCBzb3VyY2VVUkwoKSBjb25zdCA9IDA7CisgICAgdmlydHVh
bCB2b2lkIGtleUFkZGVkKGNvbnN0IFdlYlN0cmluZyYsIGNvbnN0IFdlYlN0cmluZyYpID0gMDsK
KyAgICB2aXJ0dWFsIHZvaWQga2V5RXJyb3IoY29uc3QgV2ViU3RyaW5nJiwgY29uc3QgV2ViU3Ry
aW5nJiwgTWVkaWFLZXlFcnJvckNvZGUsIHVuc2lnbmVkIHNob3J0IHN5c3RlbUNvZGUpID0gMDsK
KyAgICB2aXJ0dWFsIHZvaWQga2V5TWVzc2FnZShjb25zdCBXZWJTdHJpbmcmLCBjb25zdCBXZWJT
dHJpbmcmLCBjb25zdCB1bnNpZ25lZCBjaGFyKiwgdW5zaWduZWQpID0gMDsKKyAgICB2aXJ0dWFs
IHZvaWQga2V5TmVlZGVkKGNvbnN0IFdlYlN0cmluZyYsIGNvbnN0IFdlYlN0cmluZyYsIGNvbnN0
IHVuc2lnbmVkIGNoYXIqIGluaXREYXRhLCB1bnNpZ25lZCBpbml0RGF0YUxlbmd0aCkgPSAwOwog
ICAgIHZpcnR1YWwgdm9pZCBkaXNhYmxlQWNjZWxlcmF0ZWRDb21wb3NpdGluZygpID0gMDsKIHBy
b3RlY3RlZDoKICAgICB+V2ViTWVkaWFQbGF5ZXJDbGllbnQoKSB7IH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Fzc2VydE1hdGNoaW5nRW51bXMuY3BwIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHAKaW5kZXggYmY4MDY5
YTEyMjYzMTQ1Nzg3OTIzZTZiYmNjZjM2ZDUwNzcyYWViYi4uYjQ4OTFlZDc5YzE1ZDMwNWZlODVk
ZjFlOGJhNzQ2MjM4ZDliMmUwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHAKQEAgLTg3LDYgKzg3LDcgQEAKICNpbmNsdWRlICJX
ZWJJY29uVVJMLmgiCiAjaW5jbHVkZSAiV2ViSW5wdXRFbGVtZW50LmgiCiAjaW5jbHVkZSAiV2Vi
TWVkaWFQbGF5ZXIuaCIKKyNpbmNsdWRlICJXZWJNZWRpYVBsYXllckNsaWVudC5oIgogI2luY2x1
ZGUgIldlYk5vdGlmaWNhdGlvblByZXNlbnRlci5oIgogI2luY2x1ZGUgIldlYlBhZ2VWaXNpYmls
aXR5U3RhdGUuaCIKICNpbmNsdWRlICJXZWJSZWZlcnJlclBvbGljeS5oIgpAQCAtMzkyLDYgKzM5
MywxMyBAQCBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYk1lZGlhUGxheWVyOjpMaXZl
U3RyZWFtLCBNZWRpYVBsYXllcjo6TGl2ZVN0cmVhbQogQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdf
RU5VTShXZWJNZWRpYVBsYXllcjo6Tm9FcnJvciwgTWVkaWFQbGF5ZXI6Ok5vRXJyb3IpOwogQ09N
UElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJNZWRpYVBsYXllcjo6SW52YWxpZFBsYXllclN0
YXRlLCBNZWRpYVBsYXllcjo6SW52YWxpZFBsYXllclN0YXRlKTsKIENPTVBJTEVfQVNTRVJUX01B
VENISU5HX0VOVU0oV2ViTWVkaWFQbGF5ZXI6OktleVN5c3RlbU5vdFN1cHBvcnRlZCwgTWVkaWFQ
bGF5ZXI6OktleVN5c3RlbU5vdFN1cHBvcnRlZCk7CisKK0NPTVBJTEVfQVNTRVJUX01BVENISU5H
X0VOVU0oV2ViTWVkaWFQbGF5ZXJDbGllbnQ6OlVua25vd25FcnJvciwgTWVkaWFQbGF5ZXJDbGll
bnQ6OlVua25vd25FcnJvcik7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYk1lZGlh
UGxheWVyQ2xpZW50OjpDbGllbnRFcnJvciwgTWVkaWFQbGF5ZXJDbGllbnQ6OkNsaWVudEVycm9y
KTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViTWVkaWFQbGF5ZXJDbGllbnQ6OlNl
cnZpY2VFcnJvciwgTWVkaWFQbGF5ZXJDbGllbnQ6OlNlcnZpY2VFcnJvcik7CitDT01QSUxFX0FT
U0VSVF9NQVRDSElOR19FTlVNKFdlYk1lZGlhUGxheWVyQ2xpZW50OjpPdXRwdXRFcnJvciwgTWVk
aWFQbGF5ZXJDbGllbnQ6Ok91dHB1dEVycm9yKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VO
VU0oV2ViTWVkaWFQbGF5ZXJDbGllbnQ6OkhhcmR3YXJlQ2hhbmdlRXJyb3IsIE1lZGlhUGxheWVy
Q2xpZW50OjpIYXJkd2FyZUNoYW5nZUVycm9yKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VO
VU0oV2ViTWVkaWFQbGF5ZXJDbGllbnQ6OkRvbWFpbkVycm9yLCBNZWRpYVBsYXllckNsaWVudDo6
RG9tYWluRXJyb3IpOwogI2VuZGlmCiAKIENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2Vi
VmlkZW9GcmFtZTo6Rm9ybWF0SW52YWxpZCwgVmlkZW9GcmFtZUNocm9taXVtOjpJbnZhbGlkKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYk1lZGlhUGxheWVyQ2xp
ZW50SW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJNZWRpYVBsYXllckNs
aWVudEltcGwuY3BwCmluZGV4IDYwMmEyYzllNzM1YjBiYzcyMDQxYzVhOTBlNjZmMTcxYTAzYWIz
Y2UuLmZiMTg3NTcxNjQyYmE1OTk3YTk3YzQwNWI4NGMwMDQxNjc2MmJlMTEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYk1lZGlhUGxheWVyQ2xpZW50SW1wbC5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBs
LmNwcApAQCAtMjE3LDYgKzIxNyw1NiBAQCBXZWJLaXQ6OldlYlVSTCBXZWJNZWRpYVBsYXllckNs
aWVudEltcGw6OnNvdXJjZVVSTCgpIGNvbnN0CiAjZW5kaWYKIH0KIAordm9pZCBXZWJNZWRpYVBs
YXllckNsaWVudEltcGw6OmtleUFkZGVkKGNvbnN0IFdlYlN0cmluZyYga2V5U3lzdGVtLCBjb25z
dCBXZWJTdHJpbmcmIHNlc3Npb25JZCkKK3sKKyNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQor
ICAgIEFTU0VSVChtX21lZGlhUGxheWVyKTsKKyAgICBtX21lZGlhUGxheWVyLT5rZXlBZGRlZChr
ZXlTeXN0ZW0sIHNlc3Npb25JZCk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShrZXlTeXN0ZW0p
OworICAgIFVOVVNFRF9QQVJBTShzZXNzaW9uSWQpOworI2VuZGlmCit9CisKK3ZvaWQgV2ViTWVk
aWFQbGF5ZXJDbGllbnRJbXBsOjprZXlFcnJvcihjb25zdCBXZWJTdHJpbmcmIGtleVN5c3RlbSwg
Y29uc3QgV2ViU3RyaW5nJiBzZXNzaW9uSWQsIE1lZGlhS2V5RXJyb3JDb2RlIGVycm9yQ29kZSwg
dW5zaWduZWQgc2hvcnQgc3lzdGVtQ29kZSkKK3sKKyNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElB
KQorICAgIEFTU0VSVChtX21lZGlhUGxheWVyKTsKKyAgICBtX21lZGlhUGxheWVyLT5rZXlFcnJv
cihrZXlTeXN0ZW0sIHNlc3Npb25JZCwgc3RhdGljX2Nhc3Q8TWVkaWFQbGF5ZXJDbGllbnQ6Ok1l
ZGlhS2V5RXJyb3JDb2RlPihlcnJvckNvZGUpLCBzeXN0ZW1Db2RlKTsKKyNlbHNlCisgICAgVU5V
U0VEX1BBUkFNKGtleVN5c3RlbSk7CisgICAgVU5VU0VEX1BBUkFNKHNlc3Npb25JZCk7CisgICAg
VU5VU0VEX1BBUkFNKGVycm9yQ29kZSk7CisgICAgVU5VU0VEX1BBUkFNKHN5c3RlbUNvZGUpOwor
I2VuZGlmCit9CisKK3ZvaWQgV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsOjprZXlNZXNzYWdlKGNv
bnN0IFdlYlN0cmluZyYga2V5U3lzdGVtLCBjb25zdCBXZWJTdHJpbmcmIHNlc3Npb25JZCwgY29u
c3QgdW5zaWduZWQgY2hhciogbWVzc2FnZSwgdW5zaWduZWQgbWVzc2FnZUxlbmd0aCkKK3sKKyNp
ZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQorICAgIEFTU0VSVChtX21lZGlhUGxheWVyKTsKKyAg
ICBtX21lZGlhUGxheWVyLT5rZXlNZXNzYWdlKGtleVN5c3RlbSwgc2Vzc2lvbklkLCBtZXNzYWdl
LCBtZXNzYWdlTGVuZ3RoKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKGtleVN5c3RlbSk7Cisg
ICAgVU5VU0VEX1BBUkFNKHNlc3Npb25JZCk7CisgICAgVU5VU0VEX1BBUkFNKG1lc3NhZ2UpOwor
ICAgIFVOVVNFRF9QQVJBTShtZXNzYWdlTGVuZ3RoKTsKKyNlbmRpZgorfQorCit2b2lkIFdlYk1l
ZGlhUGxheWVyQ2xpZW50SW1wbDo6a2V5TmVlZGVkKGNvbnN0IFdlYlN0cmluZyYga2V5U3lzdGVt
LCBjb25zdCBXZWJTdHJpbmcmIHNlc3Npb25JZCwgY29uc3QgdW5zaWduZWQgY2hhciogaW5pdERh
dGEsIHVuc2lnbmVkIGluaXREYXRhTGVuZ3RoKQoreworI2lmIEVOQUJMRShFTkNSWVBURURfTUVE
SUEpCisgICAgQVNTRVJUKG1fbWVkaWFQbGF5ZXIpOworICAgIG1fbWVkaWFQbGF5ZXItPmtleU5l
ZWRlZChrZXlTeXN0ZW0sIHNlc3Npb25JZCwgaW5pdERhdGEsIGluaXREYXRhTGVuZ3RoKTsKKyNl
bHNlCisgICAgVU5VU0VEX1BBUkFNKGtleVN5c3RlbSk7CisgICAgVU5VU0VEX1BBUkFNKHNlc3Np
b25JZCk7CisgICAgVU5VU0VEX1BBUkFNKGluaXREYXRhKTsKKyAgICBVTlVTRURfUEFSQU0oaW5p
dERhdGFMZW5ndGgpOworI2VuZGlmCit9CisKIHZvaWQgV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBs
OjpkaXNhYmxlQWNjZWxlcmF0ZWRDb21wb3NpdGluZygpCiB7CiAgICAgbV9zdXBwb3J0c0FjY2Vs
ZXJhdGVkQ29tcG9zaXRpbmcgPSBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL1dlYk1lZGlhUGxheWVyQ2xpZW50SW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsLmgKaW5kZXggOWNlNThhYjY2YmVkNTcx
ODY2ZWZjMDRhOTc2MjViYjY1N2VmZjMyMC4uYWZlNmVjNzUyNWRlMDg4MGUxYmE4Y2YxZjRlMGRk
MDA4NzRkOTJjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViTWVk
aWFQbGF5ZXJDbGllbnRJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
TWVkaWFQbGF5ZXJDbGllbnRJbXBsLmgKQEAgLTg2LDYgKzg2LDEwIEBAIHB1YmxpYzoKICAgICB2
aXJ0dWFsIFdlYk1lZGlhUGxheWVyOjpQcmVsb2FkIHByZWxvYWQoKSBjb25zdDsKICAgICB2aXJ0
dWFsIHZvaWQgc291cmNlT3BlbmVkKCk7CiAgICAgdmlydHVhbCBXZWJLaXQ6OldlYlVSTCBzb3Vy
Y2VVUkwoKSBjb25zdDsKKyAgICB2aXJ0dWFsIHZvaWQga2V5QWRkZWQoY29uc3QgV2ViU3RyaW5n
JiBrZXlTeXN0ZW0sIGNvbnN0IFdlYlN0cmluZyYgc2Vzc2lvbklkKTsKKyAgICB2aXJ0dWFsIHZv
aWQga2V5RXJyb3IoY29uc3QgV2ViU3RyaW5nJiBrZXlTeXN0ZW0sIGNvbnN0IFdlYlN0cmluZyYg
c2Vzc2lvbklkLCBNZWRpYUtleUVycm9yQ29kZSwgdW5zaWduZWQgc2hvcnQgc3lzdGVtQ29kZSk7
CisgICAgdmlydHVhbCB2b2lkIGtleU1lc3NhZ2UoY29uc3QgV2ViU3RyaW5nJiBrZXlTeXN0ZW0s
IGNvbnN0IFdlYlN0cmluZyYgc2Vzc2lvbklkLCBjb25zdCB1bnNpZ25lZCBjaGFyKiBtZXNzYWdl
LCB1bnNpZ25lZCBtZXNzYWdlTGVuZ3RoKTsKKyAgICB2aXJ0dWFsIHZvaWQga2V5TmVlZGVkKGNv
bnN0IFdlYlN0cmluZyYga2V5U3lzdGVtLCBjb25zdCBXZWJTdHJpbmcmIHNlc3Npb25JZCwgY29u
c3QgdW5zaWduZWQgY2hhciogaW5pdERhdGEsIHVuc2lnbmVkIGluaXREYXRhTGVuZ3RoKTsKICAg
ICB2aXJ0dWFsIHZvaWQgZGlzYWJsZUFjY2VsZXJhdGVkQ29tcG9zaXRpbmcoKTsKIAogICAgIC8v
IE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSBtZXRob2RzOgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGNkMWEzN2Q1MGEx
YmYzNDJlN2EyMTI4ZDk0NzNkODkyOGVlNWQzZDYuLmUyMTA2OGQxOWM5MjhhNWY1MWI4MzI5ZTM1
Nzc3YzU2ZjNiNzZiZTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsNSArMSwyOSBAQAogMjAxMi0wNC0wOSAgRGF2aWQg
RG9yd2luICA8ZGRvcndpbkBjaHJvbWl1bS5vcmc+CiAKKyAgICAgICAgQWRkIEVuY3J5cHRlZCBN
ZWRpYSBFeHRlbnNpb25zIGV2ZW50cyBhbmQgZXJyb3JzIHRvIEhUTUxNZWRpYUVsZW1lbnQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgyOTc0CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIG5ldyBldmVu
dHMgYW5kIGVycm9ycyBhcmUgYmVoaW5kIHRoZSBFTkFCTEUoRU5DUllQVEVEX01FRElBKSBmZWF0
dXJlIGRlZmluZS4KKyAgICAgICAgSW1wbGVtZW50YXRpb24gaXMgYmFzZWQgb24gdjAuMSBvZiB0
aGUgZHJhZnQgcHJvcG9zYWwgYXQKKyAgICAgICAgaHR0cDovL2R2Y3MudzMub3JnL2hnL2h0bWwt
bWVkaWEvcmF3LWZpbGUvdGlwL2VuY3J5cHRlZC1tZWRpYS9lbmNyeXB0ZWQtbWVkaWEuaHRtbCNl
dmVudHMuCisKKyAgICAgICAgKiBmYXN0L2V2ZW50cy9jb25zdHJ1Y3RvcnMvbWVkaWEta2V5LWV2
ZW50LWNvbnN0cnVjdG9yLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9ldmVu
dHMvY29uc3RydWN0b3JzL21lZGlhLWtleS1ldmVudC1jb25zdHJ1Y3Rvci5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBmYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qczoKKyAgICAgICAgKHNo
b3VsZEJlWmVybyk6CisgICAgICAgIChzaG91bGRCZUVtcHR5U3RyaW5nKToKKyAgICAgICAgKiBt
ZWRpYS9lbmNyeXB0ZWQtbWVkaWEvZW5jcnlwdGVkLW1lZGlhLWNvbnN0YW50cy1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIG1lZGlhL2VuY3J5cHRlZC1tZWRpYS9lbmNyeXB0ZWQtbWVk
aWEtY29uc3RhbnRzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIG1lZGlhL2VuY3J5cHRlZC1tZWRp
YS9lbmNyeXB0ZWQtbWVkaWEtZXZlbnRzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
bWVkaWEvZW5jcnlwdGVkLW1lZGlhL2VuY3J5cHRlZC1tZWRpYS1ldmVudHMuaHRtbDogQWRkZWQu
CisgICAgICAgICogbWVkaWEvdmlkZW8tdGVzdC5qczoKKyAgICAgICAgKHRlc3RFeHBlY3RlZCk6
CisgICAgICAgICh0ZXN0QXJyYXlzRXF1YWwpOgorCisyMDEyLTA0LTA5ICBEYXZpZCBEb3J3aW4g
IDxkZG9yd2luQGNocm9taXVtLm9yZz4KKwogICAgICAgICBBZGQga2V5U3lzdGVtIGF0dHJpYnV0
ZSB0byBjYW5QbGF5VHlwZSgpIGZvciBFbmNyeXB0ZWQgTWVkaWEgRXh0ZW5zaW9ucwogICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODI5NzMKIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL21lZGlhLWtleS1ldmVu
dC1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9jb25z
dHJ1Y3RvcnMvbWVkaWEta2V5LWV2ZW50LWNvbnN0cnVjdG9yLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mOTcyNTcxZGFkNjlkYTI1MjZkMTM2NDZkNzNmYWYwY2ViMjAyZTA0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL21lZGlhLWtleS1l
dmVudC1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMDIgQEAKK1RoaXMgdGVz
dHMgdGhlIGNvbnN0cnVjdG9yIGZvciB0aGUgTWVkaWFLZXlFdmVudCBET00gY2xhc3MuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCisKKyoqKiBObyBpbml0aWFsaXplciBwYXNzZWQg
KioqCitQQVNTIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JykuYnViYmxlcyBpcyBm
YWxzZQorUEFTUyBuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcpLmNhbmNlbGFibGUg
aXMgZmFsc2UKK1BBU1MgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnKS5rZXlTeXN0
ZW0gaXMgIiIKK1BBU1MgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnKS5zZXNzaW9u
SWQgaXMgIiIKK1BBU1MgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnKS5pbml0RGF0
YSBpcyBudWxsCitQQVNTIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JykubWVzc2Fn
ZSBpcyBudWxsCitQQVNTIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JykuZGVmYXVs
dFVybCBpcyAiIgorUEFTUyBuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcpLmVycm9y
Q29kZSBpcyBudWxsCitQQVNTIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50Jykuc3lz
dGVtQ29kZSBpcyAwCisKKyoqKiBCdWJibGVzIGFuZCBjYW5jZWxhYmxlIHRydWUsIG90aGVyIG1l
bWJlcnMgYXJlIG1pc3NpbmcgKioqCitQQVNTIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2
ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlIH0pLmJ1YmJsZXMgaXMgdHJ1
ZQorUEFTUyBuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgYnViYmxlczogdHJ1
ZSwgY2FuY2VsYWJsZTogdHJ1ZSB9KS5jYW5jZWxhYmxlIGlzIHRydWUKK1BBU1MgbmV3IE1lZGlh
S2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRy
dWUgfSkua2V5U3lzdGVtIGlzICIiCitQQVNTIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2
ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlIH0pLnNlc3Npb25JZCBpcyAi
IgorUEFTUyBuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgYnViYmxlczogdHJ1
ZSwgY2FuY2VsYWJsZTogdHJ1ZSB9KS5pbml0RGF0YSBpcyBudWxsCitQQVNTIG5ldyBNZWRpYUtl
eUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVl
IH0pLm1lc3NhZ2UgaXMgbnVsbAorUEFTUyBuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVu
dCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSB9KS5kZWZhdWx0VXJsIGlzICIi
CitQQVNTIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBidWJibGVzOiB0cnVl
LCBjYW5jZWxhYmxlOiB0cnVlIH0pLmVycm9yQ29kZSBpcyBudWxsCitQQVNTIG5ldyBNZWRpYUtl
eUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVl
IH0pLnN5c3RlbUNvZGUgaXMgMAorCisqKiogQnViYmxlcyBhbmQgY2FuY2VsYWJsZSB0cnVlLCBp
bnZhbGlkIG90aGVyIG1lbWJlcnMgKioqCitQQVNTIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtl
eUV2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlLCBrZXlTeXN0ZW06IHVu
ZGVmaW5lZCwgc2Vzc2lvbklkOiB1bmRlZmluZWQsIGluaXREYXRhOiBVaW50OEFycmF5LCBtZXNz
YWdlOiBVaW50OEFycmF5LCBkZWZhdWx0VXJsOiB1bmRlZmluZWQsIGVycm9yQ29kZTogTWVkaWFL
ZXlFcnJvciwgc3lzdGVtQ29kZTogdW5kZWZpbmVkIH0pLmJ1YmJsZXMgaXMgdHJ1ZQorUEFTUyBu
ZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2Vs
YWJsZTogdHJ1ZSwga2V5U3lzdGVtOiB1bmRlZmluZWQsIHNlc3Npb25JZDogdW5kZWZpbmVkLCBp
bml0RGF0YTogVWludDhBcnJheSwgbWVzc2FnZTogVWludDhBcnJheSwgZGVmYXVsdFVybDogdW5k
ZWZpbmVkLCBlcnJvckNvZGU6IE1lZGlhS2V5RXJyb3IsIHN5c3RlbUNvZGU6IHVuZGVmaW5lZCB9
KS5jYW5jZWxhYmxlIGlzIHRydWUKK1BBU1MgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZl
bnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIGtleVN5c3RlbTogdW5kZWZp
bmVkLCBzZXNzaW9uSWQ6IHVuZGVmaW5lZCwgaW5pdERhdGE6IFVpbnQ4QXJyYXksIG1lc3NhZ2U6
IFVpbnQ4QXJyYXksIGRlZmF1bHRVcmw6IHVuZGVmaW5lZCwgZXJyb3JDb2RlOiBNZWRpYUtleUVy
cm9yLCBzeXN0ZW1Db2RlOiB1bmRlZmluZWQgfSkua2V5U3lzdGVtIGlzICJ1bmRlZmluZWQiCitQ
QVNTIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBidWJibGVzOiB0cnVlLCBj
YW5jZWxhYmxlOiB0cnVlLCBrZXlTeXN0ZW06IHVuZGVmaW5lZCwgc2Vzc2lvbklkOiB1bmRlZmlu
ZWQsIGluaXREYXRhOiBVaW50OEFycmF5LCBtZXNzYWdlOiBVaW50OEFycmF5LCBkZWZhdWx0VXJs
OiB1bmRlZmluZWQsIGVycm9yQ29kZTogTWVkaWFLZXlFcnJvciwgc3lzdGVtQ29kZTogdW5kZWZp
bmVkIH0pLnNlc3Npb25JZCBpcyAidW5kZWZpbmVkIgorUEFTUyBuZXcgTWVkaWFLZXlFdmVudCgn
TWVkaWFLZXlFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwga2V5U3lz
dGVtOiB1bmRlZmluZWQsIHNlc3Npb25JZDogdW5kZWZpbmVkLCBpbml0RGF0YTogVWludDhBcnJh
eSwgbWVzc2FnZTogVWludDhBcnJheSwgZGVmYXVsdFVybDogdW5kZWZpbmVkLCBlcnJvckNvZGU6
IE1lZGlhS2V5RXJyb3IsIHN5c3RlbUNvZGU6IHVuZGVmaW5lZCB9KS5pbml0RGF0YSBpcyBudWxs
CitQQVNTIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBidWJibGVzOiB0cnVl
LCBjYW5jZWxhYmxlOiB0cnVlLCBrZXlTeXN0ZW06IHVuZGVmaW5lZCwgc2Vzc2lvbklkOiB1bmRl
ZmluZWQsIGluaXREYXRhOiBVaW50OEFycmF5LCBtZXNzYWdlOiBVaW50OEFycmF5LCBkZWZhdWx0
VXJsOiB1bmRlZmluZWQsIGVycm9yQ29kZTogTWVkaWFLZXlFcnJvciwgc3lzdGVtQ29kZTogdW5k
ZWZpbmVkIH0pLm1lc3NhZ2UgaXMgbnVsbAorUEFTUyBuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFL
ZXlFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwga2V5U3lzdGVtOiB1
bmRlZmluZWQsIHNlc3Npb25JZDogdW5kZWZpbmVkLCBpbml0RGF0YTogVWludDhBcnJheSwgbWVz
c2FnZTogVWludDhBcnJheSwgZGVmYXVsdFVybDogdW5kZWZpbmVkLCBlcnJvckNvZGU6IE1lZGlh
S2V5RXJyb3IsIHN5c3RlbUNvZGU6IHVuZGVmaW5lZCB9KS5kZWZhdWx0VXJsIGlzICJ1bmRlZmlu
ZWQiCitQQVNTIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBidWJibGVzOiB0
cnVlLCBjYW5jZWxhYmxlOiB0cnVlLCBrZXlTeXN0ZW06IHVuZGVmaW5lZCwgc2Vzc2lvbklkOiB1
bmRlZmluZWQsIGluaXREYXRhOiBVaW50OEFycmF5LCBtZXNzYWdlOiBVaW50OEFycmF5LCBkZWZh
dWx0VXJsOiB1bmRlZmluZWQsIGVycm9yQ29kZTogTWVkaWFLZXlFcnJvciwgc3lzdGVtQ29kZTog
dW5kZWZpbmVkIH0pLmVycm9yQ29kZSBpcyBudWxsCitQQVNTIG5ldyBNZWRpYUtleUV2ZW50KCdN
ZWRpYUtleUV2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlLCBrZXlTeXN0
ZW06IHVuZGVmaW5lZCwgc2Vzc2lvbklkOiB1bmRlZmluZWQsIGluaXREYXRhOiBVaW50OEFycmF5
LCBtZXNzYWdlOiBVaW50OEFycmF5LCBkZWZhdWx0VXJsOiB1bmRlZmluZWQsIGVycm9yQ29kZTog
TWVkaWFLZXlFcnJvciwgc3lzdGVtQ29kZTogdW5kZWZpbmVkIH0pLnN5c3RlbUNvZGUgaXMgMAor
CisqKiogSW5pdGlhbGl6ZSAna2V5U3lzdGVtJyB3aXRoIGEgaW52YWxpZCB2YWx1ZXMgKioqCitQ
QVNTIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBrZXlTeXN0ZW06IGVtcHR5
T2JqZWN0IH0pLmtleVN5c3RlbSBpcyAiW29iamVjdCBPYmplY3RdIgorUEFTUyBuZXcgTWVkaWFL
ZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsga2V5U3lzdGVtOiBkb2N1bWVudCB9KS5rZXlTeXN0
ZW0gaXMgIltvYmplY3QgSFRNTERvY3VtZW50XSIKKworKioqIEluaXRpYWxpemUgJ3Nlc3Npb25J
ZCcgd2l0aCBhIGludmFsaWQgdmFsdWVzICoqKgorUEFTUyBuZXcgTWVkaWFLZXlFdmVudCgnTWVk
aWFLZXlFdmVudCcsIHsgc2Vzc2lvbklkOiBlbXB0eU9iamVjdCB9KS5zZXNzaW9uSWQgaXMgIltv
YmplY3QgT2JqZWN0XSIKK1BBU1MgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7
IHNlc3Npb25JZDogZG9jdW1lbnQgfSkuc2Vzc2lvbklkIGlzICJbb2JqZWN0IEhUTUxEb2N1bWVu
dF0iCisKKyoqKiBJbml0aWFsaXplICdpbml0RGF0YScgd2l0aCBhIGludmFsaWQgdmFsdWVzICoq
KgorUEFTUyBuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgaW5pdERhdGE6IDEw
IH0pLmluaXREYXRhIGlzIG51bGwKK1BBU1MgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZl
bnQnLCB7IGluaXREYXRhOiAnc3RyaW5nJyB9KS5pbml0RGF0YSBpcyBudWxsCitQQVNTIG5ldyBN
ZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBpbml0RGF0YTogZW1wdHlPYmplY3QgfSku
aW5pdERhdGEgaXMgbnVsbAorUEFTUyBuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcs
IHsgaW5pdERhdGE6IGRvY3VtZW50IH0pLmluaXREYXRhIGlzIG51bGwKKworKioqIEluaXRpYWxp
emUgJ21lc3NhZ2UnIHdpdGggYSBpbnZhbGlkIHZhbHVlcyAqKioKK1BBU1MgbmV3IE1lZGlhS2V5
RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IG1lc3NhZ2U6IDEwIH0pLm1lc3NhZ2UgaXMgbnVsbAor
UEFTUyBuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgbWVzc2FnZTogJ3N0cmlu
ZycgfSkubWVzc2FnZSBpcyBudWxsCitQQVNTIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2
ZW50JywgeyBtZXNzYWdlOiBlbXB0eU9iamVjdCB9KS5tZXNzYWdlIGlzIG51bGwKK1BBU1MgbmV3
IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IG1lc3NhZ2U6IGRvY3VtZW50IH0pLm1l
c3NhZ2UgaXMgbnVsbAorCisqKiogSW5pdGlhbGl6ZSAnZGVmYXVsdFVybCcgd2l0aCBhIGludmFs
aWQgdmFsdWVzICoqKgorUEFTUyBuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsg
ZGVmYXVsdFVybDogZW1wdHlPYmplY3QgfSkuZGVmYXVsdFVybCBpcyAiW29iamVjdCBPYmplY3Rd
IgorUEFTUyBuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgZGVmYXVsdFVybDog
ZG9jdW1lbnQgfSkuZGVmYXVsdFVybCBpcyAiW29iamVjdCBIVE1MRG9jdW1lbnRdIgorCisqKiog
SW5pdGlhbGl6ZSAnZXJyb3JDb2RlJyB3aXRoIGEgaW52YWxpZCB2YWx1ZXMgKioqCitQQVNTIG5l
dyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBlcnJvckNvZGU6IDEwIH0pLmVycm9y
Q29kZSBpcyBudWxsCitQQVNTIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBl
cnJvckNvZGU6ICdzdHJpbmcnIH0pLmVycm9yQ29kZSBpcyBudWxsCitQQVNTIG5ldyBNZWRpYUtl
eUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBlcnJvckNvZGU6IGVtcHR5T2JqZWN0IH0pLmVycm9y
Q29kZSBpcyBudWxsCitQQVNTIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBl
cnJvckNvZGU6IGRvY3VtZW50IH0pLmVycm9yQ29kZSBpcyBudWxsCisKKyoqKiBJbml0aWFsaXpl
ICdzeXN0ZW1Db2RlJyB3aXRoIGEgaW52YWxpZCB2YWx1ZXMgKioqCitQQVNTIG5ldyBNZWRpYUtl
eUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBzeXN0ZW1Db2RlOiAnc3RyaW5nJyB9KS5zeXN0ZW1D
b2RlIGlzIDAKK1BBU1MgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IHN5c3Rl
bUNvZGU6IGVtcHR5T2JqZWN0IH0pLnN5c3RlbUNvZGUgaXMgMAorUEFTUyBuZXcgTWVkaWFLZXlF
dmVudCgnTWVkaWFLZXlFdmVudCcsIHsgc3lzdGVtQ29kZTogZG9jdW1lbnQgfSkuc3lzdGVtQ29k
ZSBpcyAwCisKKyoqKiBCdWJibGVzIGFuZCBjYW5jZWxhYmxlIHRydWUsIHZhbGlkIG90aGVyIG1l
bWJlcnMgKioqCitQQVNTIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBidWJi
bGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlLCBrZXlTeXN0ZW06ICdrZXlTeXN0ZW0nLCBzZXNz
aW9uSWQ6ICdzZXNzaW9uSWQnLCBpbml0RGF0YTogaW5pdERhdGFBcnJheSwgbWVzc2FnZTogbWVz
c2FnZUFycmF5LCBkZWZhdWx0VXJsOiAnZGVmYXVsdFVybCcsIGVycm9yQ29kZTogZXJyb3JPYmpl
Y3QsIHN5c3RlbUNvZGU6IDEyMyB9KS5idWJibGVzIGlzIHRydWUKK1BBU1MgbmV3IE1lZGlhS2V5
RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUs
IGtleVN5c3RlbTogJ2tleVN5c3RlbScsIHNlc3Npb25JZDogJ3Nlc3Npb25JZCcsIGluaXREYXRh
OiBpbml0RGF0YUFycmF5LCBtZXNzYWdlOiBtZXNzYWdlQXJyYXksIGRlZmF1bHRVcmw6ICdkZWZh
dWx0VXJsJywgZXJyb3JDb2RlOiBlcnJvck9iamVjdCwgc3lzdGVtQ29kZTogMTIzIH0pLmNhbmNl
bGFibGUgaXMgdHJ1ZQorUEFTUyBuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsg
YnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwga2V5U3lzdGVtOiAna2V5U3lzdGVtJywg
c2Vzc2lvbklkOiAnc2Vzc2lvbklkJywgaW5pdERhdGE6IGluaXREYXRhQXJyYXksIG1lc3NhZ2U6
IG1lc3NhZ2VBcnJheSwgZGVmYXVsdFVybDogJ2RlZmF1bHRVcmwnLCBlcnJvckNvZGU6IGVycm9y
T2JqZWN0LCBzeXN0ZW1Db2RlOiAxMjMgfSkua2V5U3lzdGVtIGlzICJrZXlTeXN0ZW0iCitQQVNT
IG5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5j
ZWxhYmxlOiB0cnVlLCBrZXlTeXN0ZW06ICdrZXlTeXN0ZW0nLCBzZXNzaW9uSWQ6ICdzZXNzaW9u
SWQnLCBpbml0RGF0YTogaW5pdERhdGFBcnJheSwgbWVzc2FnZTogbWVzc2FnZUFycmF5LCBkZWZh
dWx0VXJsOiAnZGVmYXVsdFVybCcsIGVycm9yQ29kZTogZXJyb3JPYmplY3QsIHN5c3RlbUNvZGU6
IDEyMyB9KS5zZXNzaW9uSWQgaXMgInNlc3Npb25JZCIKK1BBU1MgbmV3IE1lZGlhS2V5RXZlbnQo
J01lZGlhS2V5RXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIGtleVN5
c3RlbTogJ2tleVN5c3RlbScsIHNlc3Npb25JZDogJ3Nlc3Npb25JZCcsIGluaXREYXRhOiBpbml0
RGF0YUFycmF5LCBtZXNzYWdlOiBtZXNzYWdlQXJyYXksIGRlZmF1bHRVcmw6ICdkZWZhdWx0VXJs
JywgZXJyb3JDb2RlOiBlcnJvck9iamVjdCwgc3lzdGVtQ29kZTogMTIzIH0pLmluaXREYXRhIGlz
IGluaXREYXRhQXJyYXkKK1BBU1MgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7
IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIGtleVN5c3RlbTogJ2tleVN5c3RlbScs
IHNlc3Npb25JZDogJ3Nlc3Npb25JZCcsIGluaXREYXRhOiBpbml0RGF0YUFycmF5LCBtZXNzYWdl
OiBtZXNzYWdlQXJyYXksIGRlZmF1bHRVcmw6ICdkZWZhdWx0VXJsJywgZXJyb3JDb2RlOiBlcnJv
ck9iamVjdCwgc3lzdGVtQ29kZTogMTIzIH0pLm1lc3NhZ2UgaXMgbWVzc2FnZUFycmF5CitQQVNT
IG5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5j
ZWxhYmxlOiB0cnVlLCBrZXlTeXN0ZW06ICdrZXlTeXN0ZW0nLCBzZXNzaW9uSWQ6ICdzZXNzaW9u
SWQnLCBpbml0RGF0YTogaW5pdERhdGFBcnJheSwgbWVzc2FnZTogbWVzc2FnZUFycmF5LCBkZWZh
dWx0VXJsOiAnZGVmYXVsdFVybCcsIGVycm9yQ29kZTogZXJyb3JPYmplY3QsIHN5c3RlbUNvZGU6
IDEyMyB9KS5kZWZhdWx0VXJsIGlzICJkZWZhdWx0VXJsIgorRkFJTCBuZXcgTWVkaWFLZXlFdmVu
dCgnTWVkaWFLZXlFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwga2V5
U3lzdGVtOiAna2V5U3lzdGVtJywgc2Vzc2lvbklkOiAnc2Vzc2lvbklkJywgaW5pdERhdGE6IGlu
aXREYXRhQXJyYXksIG1lc3NhZ2U6IG1lc3NhZ2VBcnJheSwgZGVmYXVsdFVybDogJ2RlZmF1bHRV
cmwnLCBlcnJvckNvZGU6IGVycm9yT2JqZWN0LCBzeXN0ZW1Db2RlOiAxMjMgfSkuZXJyb3JDb2Rl
IHNob3VsZCBiZSBmdW5jdGlvbiBNZWRpYUtleUVycm9yKCkgeyBbbmF0aXZlIGNvZGVdIH0gKG9m
IHR5cGUgZnVuY3Rpb24pLiBXYXMgbnVsbCAob2YgdHlwZSBvYmplY3QpLgorRkFJTCBuZXcgTWVk
aWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTog
dHJ1ZSwga2V5U3lzdGVtOiAna2V5U3lzdGVtJywgc2Vzc2lvbklkOiAnc2Vzc2lvbklkJywgaW5p
dERhdGE6IGluaXREYXRhQXJyYXksIG1lc3NhZ2U6IG1lc3NhZ2VBcnJheSwgZGVmYXVsdFVybDog
J2RlZmF1bHRVcmwnLCBlcnJvckNvZGU6IGVycm9yT2JqZWN0LCBzeXN0ZW1Db2RlOiAxMjMgfSku
ZXJyb3JDb2RlLmNvZGUgc2hvdWxkIGJlIDEuIFRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IENh
bm5vdCByZWFkIHByb3BlcnR5ICdjb2RlJyBvZiBudWxsCitQQVNTIG5ldyBNZWRpYUtleUV2ZW50
KCdNZWRpYUtleUV2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlLCBrZXlT
eXN0ZW06ICdrZXlTeXN0ZW0nLCBzZXNzaW9uSWQ6ICdzZXNzaW9uSWQnLCBpbml0RGF0YTogaW5p
dERhdGFBcnJheSwgbWVzc2FnZTogbWVzc2FnZUFycmF5LCBkZWZhdWx0VXJsOiAnZGVmYXVsdFVy
bCcsIGVycm9yQ29kZTogZXJyb3JPYmplY3QsIHN5c3RlbUNvZGU6IDEyMyB9KS5zeXN0ZW1Db2Rl
IGlzIDEyMworCisqKiogSW5pdGlhbGl6ZSB3aXRoIHZhbGlkIG1lbWJlcnMgKioqCitGQUlMIG5l
dyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBrZXlTeXN0ZW06ICdrZXlTeXN0ZW0n
LCBzZXNzaW9uSWQ6ICdzZXNzaW9uSWQnLCBpbml0RGF0YTogaW5pdERhdGFBcnJheSwgbWVzc2Fn
ZTogbWVzc2FnZUFycmF5LCBkZWZhdWx0VXJsOiAnZGVmYXVsdFVybCcsIGVycm9yQ29kZTogZXJy
b3JPYmplY3QsIHN5c3RlbUNvZGU6IDEyMyB9KS5idWJibGVzIHNob3VsZCBiZSB0cnVlLiBXYXMg
ZmFsc2UuCitGQUlMIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBrZXlTeXN0
ZW06ICdrZXlTeXN0ZW0nLCBzZXNzaW9uSWQ6ICdzZXNzaW9uSWQnLCBpbml0RGF0YTogaW5pdERh
dGFBcnJheSwgbWVzc2FnZTogbWVzc2FnZUFycmF5LCBkZWZhdWx0VXJsOiAnZGVmYXVsdFVybCcs
IGVycm9yQ29kZTogZXJyb3JPYmplY3QsIHN5c3RlbUNvZGU6IDEyMyB9KS5jYW5jZWxhYmxlIHNo
b3VsZCBiZSB0cnVlLiBXYXMgZmFsc2UuCitQQVNTIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtl
eUV2ZW50JywgeyBrZXlTeXN0ZW06ICdrZXlTeXN0ZW0nLCBzZXNzaW9uSWQ6ICdzZXNzaW9uSWQn
LCBpbml0RGF0YTogaW5pdERhdGFBcnJheSwgbWVzc2FnZTogbWVzc2FnZUFycmF5LCBkZWZhdWx0
VXJsOiAnZGVmYXVsdFVybCcsIGVycm9yQ29kZTogZXJyb3JPYmplY3QsIHN5c3RlbUNvZGU6IDEy
MyB9KS5rZXlTeXN0ZW0gaXMgImtleVN5c3RlbSIKK1BBU1MgbmV3IE1lZGlhS2V5RXZlbnQoJ01l
ZGlhS2V5RXZlbnQnLCB7IGtleVN5c3RlbTogJ2tleVN5c3RlbScsIHNlc3Npb25JZDogJ3Nlc3Np
b25JZCcsIGluaXREYXRhOiBpbml0RGF0YUFycmF5LCBtZXNzYWdlOiBtZXNzYWdlQXJyYXksIGRl
ZmF1bHRVcmw6ICdkZWZhdWx0VXJsJywgZXJyb3JDb2RlOiBlcnJvck9iamVjdCwgc3lzdGVtQ29k
ZTogMTIzIH0pLnNlc3Npb25JZCBpcyAic2Vzc2lvbklkIgorUEFTUyBuZXcgTWVkaWFLZXlFdmVu
dCgnTWVkaWFLZXlFdmVudCcsIHsga2V5U3lzdGVtOiAna2V5U3lzdGVtJywgc2Vzc2lvbklkOiAn
c2Vzc2lvbklkJywgaW5pdERhdGE6IGluaXREYXRhQXJyYXksIG1lc3NhZ2U6IG1lc3NhZ2VBcnJh
eSwgZGVmYXVsdFVybDogJ2RlZmF1bHRVcmwnLCBlcnJvckNvZGU6IGVycm9yT2JqZWN0LCBzeXN0
ZW1Db2RlOiAxMjMgfSkuaW5pdERhdGEgaXMgaW5pdERhdGFBcnJheQorUEFTUyBuZXcgTWVkaWFL
ZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsga2V5U3lzdGVtOiAna2V5U3lzdGVtJywgc2Vzc2lv
bklkOiAnc2Vzc2lvbklkJywgaW5pdERhdGE6IGluaXREYXRhQXJyYXksIG1lc3NhZ2U6IG1lc3Nh
Z2VBcnJheSwgZGVmYXVsdFVybDogJ2RlZmF1bHRVcmwnLCBlcnJvckNvZGU6IGVycm9yT2JqZWN0
LCBzeXN0ZW1Db2RlOiAxMjMgfSkubWVzc2FnZSBpcyBtZXNzYWdlQXJyYXkKK1BBU1MgbmV3IE1l
ZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGtleVN5c3RlbTogJ2tleVN5c3RlbScsIHNl
c3Npb25JZDogJ3Nlc3Npb25JZCcsIGluaXREYXRhOiBpbml0RGF0YUFycmF5LCBtZXNzYWdlOiBt
ZXNzYWdlQXJyYXksIGRlZmF1bHRVcmw6ICdkZWZhdWx0VXJsJywgZXJyb3JDb2RlOiBlcnJvck9i
amVjdCwgc3lzdGVtQ29kZTogMTIzIH0pLmRlZmF1bHRVcmwgaXMgImRlZmF1bHRVcmwiCitGQUlM
IG5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBrZXlTeXN0ZW06ICdrZXlTeXN0
ZW0nLCBzZXNzaW9uSWQ6ICdzZXNzaW9uSWQnLCBpbml0RGF0YTogaW5pdERhdGFBcnJheSwgbWVz
c2FnZTogbWVzc2FnZUFycmF5LCBkZWZhdWx0VXJsOiAnZGVmYXVsdFVybCcsIGVycm9yQ29kZTog
ZXJyb3JPYmplY3QsIHN5c3RlbUNvZGU6IDEyMyB9KS5lcnJvckNvZGUgc2hvdWxkIGJlIGZ1bmN0
aW9uIE1lZGlhS2V5RXJyb3IoKSB7IFtuYXRpdmUgY29kZV0gfSAob2YgdHlwZSBmdW5jdGlvbiku
IFdhcyBudWxsIChvZiB0eXBlIG9iamVjdCkuCitGQUlMIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRp
YUtleUV2ZW50JywgeyBrZXlTeXN0ZW06ICdrZXlTeXN0ZW0nLCBzZXNzaW9uSWQ6ICdzZXNzaW9u
SWQnLCBpbml0RGF0YTogaW5pdERhdGFBcnJheSwgbWVzc2FnZTogbWVzc2FnZUFycmF5LCBkZWZh
dWx0VXJsOiAnZGVmYXVsdFVybCcsIGVycm9yQ29kZTogZXJyb3JPYmplY3QsIHN5c3RlbUNvZGU6
IDEyMyB9KS5lcnJvckNvZGUuY29kZSBzaG91bGQgYmUgMS4gVGhyZXcgZXhjZXB0aW9uIFR5cGVF
cnJvcjogQ2Fubm90IHJlYWQgcHJvcGVydHkgJ2NvZGUnIG9mIG51bGwKK1BBU1MgbmV3IE1lZGlh
S2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGtleVN5c3RlbTogJ2tleVN5c3RlbScsIHNlc3Np
b25JZDogJ3Nlc3Npb25JZCcsIGluaXREYXRhOiBpbml0RGF0YUFycmF5LCBtZXNzYWdlOiBtZXNz
YWdlQXJyYXksIGRlZmF1bHRVcmw6ICdkZWZhdWx0VXJsJywgZXJyb3JDb2RlOiBlcnJvck9iamVj
dCwgc3lzdGVtQ29kZTogMTIzIH0pLnN5c3RlbUNvZGUgaXMgMTIzCisKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2V2ZW50cy9jb25zdHJ1Y3RvcnMvbWVkaWEta2V5LWV2ZW50LWNvbnN0cnVjdG9y
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9jb25zdHJ1Y3RvcnMvbWVkaWEta2V5LWV2
ZW50LWNvbnN0cnVjdG9yLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTJiOWE3ODY1ODkxMTg3MzcyOTM2MDI3
MjgxZmNhYmEzYzZkNGY4MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZl
bnRzL2NvbnN0cnVjdG9ycy9tZWRpYS1rZXktZXZlbnQtY29uc3RydWN0b3IuaHRtbApAQCAtMCww
ICsxLDEzNSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorCis8Ym9keT4KKyAgICA8c2NyaXB0PgorCisgICAgICAgIHdpbmRvdy5qc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0cyB0aGUgY29uc3RydWN0
b3IgZm9yIHRoZSBNZWRpYUtleUV2ZW50IERPTSBjbGFzcy4iKTsKKworICAgICAgICBmdW5jdGlv
biB0ZXN0KCkKKyAgICAgICAgeworICAgICAgICAgICAgZGVidWcoIjxicj4qKiogTm8gaW5pdGlh
bGl6ZXIgcGFzc2VkICoqKiIpOworICAgICAgICAgICAgc2hvdWxkQmUoIm5ldyBNZWRpYUtleUV2
ZW50KCdNZWRpYUtleUV2ZW50JykuYnViYmxlcyIsICJmYWxzZSIpOworICAgICAgICAgICAgc2hv
dWxkQmUoIm5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JykuY2FuY2VsYWJsZSIsICJm
YWxzZSIpOworICAgICAgICAgICAgc2hvdWxkQmVFbXB0eVN0cmluZygibmV3IE1lZGlhS2V5RXZl
bnQoJ01lZGlhS2V5RXZlbnQnKS5rZXlTeXN0ZW0iKTsKKyAgICAgICAgICAgIHNob3VsZEJlRW1w
dHlTdHJpbmcoIm5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50Jykuc2Vzc2lvbklkIik7
CisgICAgICAgICAgICBzaG91bGRCZU51bGwoIm5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2
ZW50JykuaW5pdERhdGEiKTsKKyAgICAgICAgICAgIHNob3VsZEJlTnVsbCgibmV3IE1lZGlhS2V5
RXZlbnQoJ01lZGlhS2V5RXZlbnQnKS5tZXNzYWdlIik7CisgICAgICAgICAgICBzaG91bGRCZUVt
cHR5U3RyaW5nKCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcpLmRlZmF1bHRVcmwi
KTsKKyAgICAgICAgICAgIHNob3VsZEJlTnVsbCgibmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5
RXZlbnQnKS5lcnJvckNvZGUiKTsKKyAgICAgICAgICAgIHNob3VsZEJlWmVybygibmV3IE1lZGlh
S2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnKS5zeXN0ZW1Db2RlIik7CisgICAgCisgICAgICAgICAg
ICBkZWJ1ZygiPGJyPioqKiBCdWJibGVzIGFuZCBjYW5jZWxhYmxlIHRydWUsIG90aGVyIG1lbWJl
cnMgYXJlIG1pc3NpbmcgKioqIik7CisgICAgICAgICAgICBzaG91bGRCZSgibmV3IE1lZGlhS2V5
RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUg
fSkuYnViYmxlcyIsICJ0cnVlIik7CisgICAgICAgICAgICBzaG91bGRCZSgibmV3IE1lZGlhS2V5
RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUg
fSkuY2FuY2VsYWJsZSIsICJ0cnVlIik7CisgICAgICAgICAgICBzaG91bGRCZUVtcHR5U3RyaW5n
KCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2Fu
Y2VsYWJsZTogdHJ1ZSB9KS5rZXlTeXN0ZW0iKTsKKyAgICAgICAgICAgIHNob3VsZEJlRW1wdHlT
dHJpbmcoIm5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBidWJibGVzOiB0cnVl
LCBjYW5jZWxhYmxlOiB0cnVlIH0pLnNlc3Npb25JZCIpOworICAgICAgICAgICAgc2hvdWxkQmVO
dWxsKCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwg
Y2FuY2VsYWJsZTogdHJ1ZSB9KS5pbml0RGF0YSIpOworICAgICAgICAgICAgc2hvdWxkQmVOdWxs
KCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2Fu
Y2VsYWJsZTogdHJ1ZSB9KS5tZXNzYWdlIik7CisgICAgICAgICAgICBzaG91bGRCZUVtcHR5U3Ry
aW5nKCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwg
Y2FuY2VsYWJsZTogdHJ1ZSB9KS5kZWZhdWx0VXJsIik7CisgICAgICAgICAgICBzaG91bGRCZU51
bGwoIm5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBidWJibGVzOiB0cnVlLCBj
YW5jZWxhYmxlOiB0cnVlIH0pLmVycm9yQ29kZSIpOworICAgICAgICAgICAgc2hvdWxkQmVaZXJv
KCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2Fu
Y2VsYWJsZTogdHJ1ZSB9KS5zeXN0ZW1Db2RlIik7CisgICAgCisgICAgICAgICAgICBkZWJ1Zygi
PGJyPioqKiBCdWJibGVzIGFuZCBjYW5jZWxhYmxlIHRydWUsIGludmFsaWQgb3RoZXIgbWVtYmVy
cyAqKioiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFL
ZXlFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwga2V5U3lzdGVtOiB1
bmRlZmluZWQsIHNlc3Npb25JZDogdW5kZWZpbmVkLCBpbml0RGF0YTogVWludDhBcnJheSwgbWVz
c2FnZTogVWludDhBcnJheSwgZGVmYXVsdFVybDogdW5kZWZpbmVkLCBlcnJvckNvZGU6IE1lZGlh
S2V5RXJyb3IsIHN5c3RlbUNvZGU6IHVuZGVmaW5lZCB9KS5idWJibGVzIiwgInRydWUiKTsKKyAg
ICAgICAgICAgIHNob3VsZEJlKCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsg
YnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwga2V5U3lzdGVtOiB1bmRlZmluZWQsIHNl
c3Npb25JZDogdW5kZWZpbmVkLCBpbml0RGF0YTogVWludDhBcnJheSwgbWVzc2FnZTogVWludDhB
cnJheSwgZGVmYXVsdFVybDogdW5kZWZpbmVkLCBlcnJvckNvZGU6IE1lZGlhS2V5RXJyb3IsIHN5
c3RlbUNvZGU6IHVuZGVmaW5lZCB9KS5jYW5jZWxhYmxlIiwgInRydWUiKTsKKyAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygibmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQn
LCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIGtleVN5c3RlbTogdW5kZWZpbmVk
LCBzZXNzaW9uSWQ6IHVuZGVmaW5lZCwgaW5pdERhdGE6IFVpbnQ4QXJyYXksIG1lc3NhZ2U6IFVp
bnQ4QXJyYXksIGRlZmF1bHRVcmw6IHVuZGVmaW5lZCwgZXJyb3JDb2RlOiBNZWRpYUtleUVycm9y
LCBzeXN0ZW1Db2RlOiB1bmRlZmluZWQgfSkua2V5U3lzdGVtIiwgInVuZGVmaW5lZCIpOworICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFL
ZXlFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwga2V5U3lzdGVtOiB1
bmRlZmluZWQsIHNlc3Npb25JZDogdW5kZWZpbmVkLCBpbml0RGF0YTogVWludDhBcnJheSwgbWVz
c2FnZTogVWludDhBcnJheSwgZGVmYXVsdFVybDogdW5kZWZpbmVkLCBlcnJvckNvZGU6IE1lZGlh
S2V5RXJyb3IsIHN5c3RlbUNvZGU6IHVuZGVmaW5lZCB9KS5zZXNzaW9uSWQiLCAidW5kZWZpbmVk
Iik7CisgICAgICAgICAgICBzaG91bGRCZU51bGwoIm5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtl
eUV2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlLCBrZXlTeXN0ZW06IHVu
ZGVmaW5lZCwgc2Vzc2lvbklkOiB1bmRlZmluZWQsIGluaXREYXRhOiBVaW50OEFycmF5LCBtZXNz
YWdlOiBVaW50OEFycmF5LCBkZWZhdWx0VXJsOiB1bmRlZmluZWQsIGVycm9yQ29kZTogTWVkaWFL
ZXlFcnJvciwgc3lzdGVtQ29kZTogdW5kZWZpbmVkIH0pLmluaXREYXRhIik7CisgICAgICAgICAg
ICBzaG91bGRCZU51bGwoIm5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBidWJi
bGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlLCBrZXlTeXN0ZW06IHVuZGVmaW5lZCwgc2Vzc2lv
bklkOiB1bmRlZmluZWQsIGluaXREYXRhOiBVaW50OEFycmF5LCBtZXNzYWdlOiBVaW50OEFycmF5
LCBkZWZhdWx0VXJsOiB1bmRlZmluZWQsIGVycm9yQ29kZTogTWVkaWFLZXlFcnJvciwgc3lzdGVt
Q29kZTogdW5kZWZpbmVkIH0pLm1lc3NhZ2UiKTsKKyAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygibmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGJ1YmJsZXM6IHRy
dWUsIGNhbmNlbGFibGU6IHRydWUsIGtleVN5c3RlbTogdW5kZWZpbmVkLCBzZXNzaW9uSWQ6IHVu
ZGVmaW5lZCwgaW5pdERhdGE6IFVpbnQ4QXJyYXksIG1lc3NhZ2U6IFVpbnQ4QXJyYXksIGRlZmF1
bHRVcmw6IHVuZGVmaW5lZCwgZXJyb3JDb2RlOiBNZWRpYUtleUVycm9yLCBzeXN0ZW1Db2RlOiB1
bmRlZmluZWQgfSkuZGVmYXVsdFVybCIsICJ1bmRlZmluZWQiKTsKKyAgICAgICAgICAgIHNob3Vs
ZEJlTnVsbCgibmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGJ1YmJsZXM6IHRy
dWUsIGNhbmNlbGFibGU6IHRydWUsIGtleVN5c3RlbTogdW5kZWZpbmVkLCBzZXNzaW9uSWQ6IHVu
ZGVmaW5lZCwgaW5pdERhdGE6IFVpbnQ4QXJyYXksIG1lc3NhZ2U6IFVpbnQ4QXJyYXksIGRlZmF1
bHRVcmw6IHVuZGVmaW5lZCwgZXJyb3JDb2RlOiBNZWRpYUtleUVycm9yLCBzeXN0ZW1Db2RlOiB1
bmRlZmluZWQgfSkuZXJyb3JDb2RlIik7CisgICAgICAgICAgICBzaG91bGRCZVplcm8oIm5ldyBN
ZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxl
OiB0cnVlLCBrZXlTeXN0ZW06IHVuZGVmaW5lZCwgc2Vzc2lvbklkOiB1bmRlZmluZWQsIGluaXRE
YXRhOiBVaW50OEFycmF5LCBtZXNzYWdlOiBVaW50OEFycmF5LCBkZWZhdWx0VXJsOiB1bmRlZmlu
ZWQsIGVycm9yQ29kZTogTWVkaWFLZXlFcnJvciwgc3lzdGVtQ29kZTogdW5kZWZpbmVkIH0pLnN5
c3RlbUNvZGUiKTsKKyAgICAKKyAgICAgICAgICAgIGRlYnVnKCI8YnI+KioqIEluaXRpYWxpemUg
J2tleVN5c3RlbScgd2l0aCBhIGludmFsaWQgdmFsdWVzICoqKiIpOworICAgICAgICAgICAgZW1w
dHlPYmplY3QgPSB7IH07CisgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIm5ldyBN
ZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBrZXlTeXN0ZW06IGVtcHR5T2JqZWN0IH0p
LmtleVN5c3RlbSIsICJbb2JqZWN0IE9iamVjdF0iKTsKKyAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygibmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGtleVN5c3Rl
bTogZG9jdW1lbnQgfSkua2V5U3lzdGVtIiwgIltvYmplY3QgSFRNTERvY3VtZW50XSIpOworCisg
ICAgICAgICAgICBkZWJ1ZygiPGJyPioqKiBJbml0aWFsaXplICdzZXNzaW9uSWQnIHdpdGggYSBp
bnZhbGlkIHZhbHVlcyAqKioiKTsKKyAgICAgICAgICAgIGVtcHR5T2JqZWN0ID0geyB9OworICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFL
ZXlFdmVudCcsIHsgc2Vzc2lvbklkOiBlbXB0eU9iamVjdCB9KS5zZXNzaW9uSWQiLCAiW29iamVj
dCBPYmplY3RdIik7CisgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIm5ldyBNZWRp
YUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBzZXNzaW9uSWQ6IGRvY3VtZW50IH0pLnNlc3Np
b25JZCIsICJbb2JqZWN0IEhUTUxEb2N1bWVudF0iKTsKKworICAgICAgICAgICAgZGVidWcoIjxi
cj4qKiogSW5pdGlhbGl6ZSAnaW5pdERhdGEnIHdpdGggYSBpbnZhbGlkIHZhbHVlcyAqKioiKTsK
KyAgICAgICAgICAgIHNob3VsZEJlTnVsbCgibmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZl
bnQnLCB7IGluaXREYXRhOiAxMCB9KS5pbml0RGF0YSIpOworICAgICAgICAgICAgc2hvdWxkQmVO
dWxsKCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgaW5pdERhdGE6IFwnc3Ry
aW5nXCcgfSkuaW5pdERhdGEiKTsKKyAgICAgICAgICAgIGVtcHR5T2JqZWN0ID0geyB9OworICAg
ICAgICAgICAgc2hvdWxkQmVOdWxsKCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcs
IHsgaW5pdERhdGE6IGVtcHR5T2JqZWN0IH0pLmluaXREYXRhIik7CisgICAgICAgICAgICBzaG91
bGRCZU51bGwoIm5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBpbml0RGF0YTog
ZG9jdW1lbnQgfSkuaW5pdERhdGEiKTsKKworICAgICAgICAgICAgZGVidWcoIjxicj4qKiogSW5p
dGlhbGl6ZSAnbWVzc2FnZScgd2l0aCBhIGludmFsaWQgdmFsdWVzICoqKiIpOworICAgICAgICAg
ICAgc2hvdWxkQmVOdWxsKCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgbWVz
c2FnZTogMTAgfSkubWVzc2FnZSIpOworICAgICAgICAgICAgc2hvdWxkQmVOdWxsKCJuZXcgTWVk
aWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgbWVzc2FnZTogXCdzdHJpbmdcJyB9KS5tZXNz
YWdlIik7CisgICAgICAgICAgICBlbXB0eU9iamVjdCA9IHsgfTsKKyAgICAgICAgICAgIHNob3Vs
ZEJlTnVsbCgibmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IG1lc3NhZ2U6IGVt
cHR5T2JqZWN0IH0pLm1lc3NhZ2UiKTsKKyAgICAgICAgICAgIHNob3VsZEJlTnVsbCgibmV3IE1l
ZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IG1lc3NhZ2U6IGRvY3VtZW50IH0pLm1lc3Nh
Z2UiKTsKKworICAgICAgICAgICAgZGVidWcoIjxicj4qKiogSW5pdGlhbGl6ZSAnZGVmYXVsdFVy
bCcgd2l0aCBhIGludmFsaWQgdmFsdWVzICoqKiIpOworICAgICAgICAgICAgZW1wdHlPYmplY3Qg
PSB7IH07CisgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIm5ldyBNZWRpYUtleUV2
ZW50KCdNZWRpYUtleUV2ZW50JywgeyBkZWZhdWx0VXJsOiBlbXB0eU9iamVjdCB9KS5kZWZhdWx0
VXJsIiwgIltvYmplY3QgT2JqZWN0XSIpOworICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgZGVmYXVsdFVybDogZG9j
dW1lbnQgfSkuZGVmYXVsdFVybCIsICJbb2JqZWN0IEhUTUxEb2N1bWVudF0iKTsKKworICAgICAg
ICAgICAgZGVidWcoIjxicj4qKiogSW5pdGlhbGl6ZSAnZXJyb3JDb2RlJyB3aXRoIGEgaW52YWxp
ZCB2YWx1ZXMgKioqIik7CisgICAgICAgICAgICBzaG91bGRCZU51bGwoIm5ldyBNZWRpYUtleUV2
ZW50KCdNZWRpYUtleUV2ZW50JywgeyBlcnJvckNvZGU6IDEwIH0pLmVycm9yQ29kZSIpOworICAg
ICAgICAgICAgc2hvdWxkQmVOdWxsKCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcs
IHsgZXJyb3JDb2RlOiBcJ3N0cmluZ1wnIH0pLmVycm9yQ29kZSIpOworICAgICAgICAgICAgZW1w
dHlPYmplY3QgPSB7IH07CisgICAgICAgICAgICBzaG91bGRCZU51bGwoIm5ldyBNZWRpYUtleUV2
ZW50KCdNZWRpYUtleUV2ZW50JywgeyBlcnJvckNvZGU6IGVtcHR5T2JqZWN0IH0pLmVycm9yQ29k
ZSIpOworICAgICAgICAgICAgc2hvdWxkQmVOdWxsKCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFL
ZXlFdmVudCcsIHsgZXJyb3JDb2RlOiBkb2N1bWVudCB9KS5lcnJvckNvZGUiKTsKKworICAgICAg
ICAgICAgZGVidWcoIjxicj4qKiogSW5pdGlhbGl6ZSAnc3lzdGVtQ29kZScgd2l0aCBhIGludmFs
aWQgdmFsdWVzICoqKiIpOworICAgICAgICAgICAgc2hvdWxkQmVaZXJvKCJuZXcgTWVkaWFLZXlF
dmVudCgnTWVkaWFLZXlFdmVudCcsIHsgc3lzdGVtQ29kZTogXCdzdHJpbmdcJyB9KS5zeXN0ZW1D
b2RlIik7CisgICAgICAgICAgICBlbXB0eU9iamVjdCA9IHsgfTsKKyAgICAgICAgICAgIHNob3Vs
ZEJlWmVybygibmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IHN5c3RlbUNvZGU6
IGVtcHR5T2JqZWN0IH0pLnN5c3RlbUNvZGUiKTsKKyAgICAgICAgICAgIHNob3VsZEJlWmVybygi
bmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IHN5c3RlbUNvZGU6IGRvY3VtZW50
IH0pLnN5c3RlbUNvZGUiKTsKKworICAgICAgICAgICAgZGVidWcoIjxicj4qKiogQnViYmxlcyBh
bmQgY2FuY2VsYWJsZSB0cnVlLCB2YWxpZCBvdGhlciBtZW1iZXJzICoqKiIpOworICAgICAgICAg
ICAgc2hvdWxkQmUoIm5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBidWJibGVz
OiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlLCBrZXlTeXN0ZW06ICdrZXlTeXN0ZW0nLCBzZXNzaW9u
SWQ6ICdzZXNzaW9uSWQnLCBpbml0RGF0YTogaW5pdERhdGFBcnJheSwgbWVzc2FnZTogbWVzc2Fn
ZUFycmF5LCBkZWZhdWx0VXJsOiAnZGVmYXVsdFVybCcsIGVycm9yQ29kZTogZXJyb3JPYmplY3Qs
IHN5c3RlbUNvZGU6IDEyMyB9KS5idWJibGVzIiwgInRydWUiKTsKKyAgICAgICAgICAgIHNob3Vs
ZEJlKCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwg
Y2FuY2VsYWJsZTogdHJ1ZSwga2V5U3lzdGVtOiAna2V5U3lzdGVtJywgc2Vzc2lvbklkOiAnc2Vz
c2lvbklkJywgaW5pdERhdGE6IGluaXREYXRhQXJyYXksIG1lc3NhZ2U6IG1lc3NhZ2VBcnJheSwg
ZGVmYXVsdFVybDogJ2RlZmF1bHRVcmwnLCBlcnJvckNvZGU6IGVycm9yT2JqZWN0LCBzeXN0ZW1D
b2RlOiAxMjMgfSkuY2FuY2VsYWJsZSIsICJ0cnVlIik7CisgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoIm5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBidWJibGVz
OiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlLCBrZXlTeXN0ZW06ICdrZXlTeXN0ZW0nLCBzZXNzaW9u
SWQ6ICdzZXNzaW9uSWQnLCBpbml0RGF0YTogaW5pdERhdGFBcnJheSwgbWVzc2FnZTogbWVzc2Fn
ZUFycmF5LCBkZWZhdWx0VXJsOiAnZGVmYXVsdFVybCcsIGVycm9yQ29kZTogZXJyb3JPYmplY3Qs
IHN5c3RlbUNvZGU6IDEyMyB9KS5rZXlTeXN0ZW0iLCAia2V5U3lzdGVtIik7CisgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIm5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50
JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlLCBrZXlTeXN0ZW06ICdrZXlTeXN0
ZW0nLCBzZXNzaW9uSWQ6ICdzZXNzaW9uSWQnLCBpbml0RGF0YTogaW5pdERhdGFBcnJheSwgbWVz
c2FnZTogbWVzc2FnZUFycmF5LCBkZWZhdWx0VXJsOiAnZGVmYXVsdFVybCcsIGVycm9yQ29kZTog
ZXJyb3JPYmplY3QsIHN5c3RlbUNvZGU6IDEyMyB9KS5zZXNzaW9uSWQiLCAic2Vzc2lvbklkIik7
CisgICAgICAgICAgICBzaG91bGRCZSgibmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQn
LCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIGtleVN5c3RlbTogJ2tleVN5c3Rl
bScsIHNlc3Npb25JZDogJ3Nlc3Npb25JZCcsIGluaXREYXRhOiBpbml0RGF0YUFycmF5LCBtZXNz
YWdlOiBtZXNzYWdlQXJyYXksIGRlZmF1bHRVcmw6ICdkZWZhdWx0VXJsJywgZXJyb3JDb2RlOiBl
cnJvck9iamVjdCwgc3lzdGVtQ29kZTogMTIzIH0pLmluaXREYXRhIiwgImluaXREYXRhQXJyYXki
KTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVu
dCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwga2V5U3lzdGVtOiAna2V5U3lz
dGVtJywgc2Vzc2lvbklkOiAnc2Vzc2lvbklkJywgaW5pdERhdGE6IGluaXREYXRhQXJyYXksIG1l
c3NhZ2U6IG1lc3NhZ2VBcnJheSwgZGVmYXVsdFVybDogJ2RlZmF1bHRVcmwnLCBlcnJvckNvZGU6
IGVycm9yT2JqZWN0LCBzeXN0ZW1Db2RlOiAxMjMgfSkubWVzc2FnZSIsICJtZXNzYWdlQXJyYXki
KTsKKyAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygibmV3IE1lZGlhS2V5RXZlbnQo
J01lZGlhS2V5RXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIGtleVN5
c3RlbTogJ2tleVN5c3RlbScsIHNlc3Npb25JZDogJ3Nlc3Npb25JZCcsIGluaXREYXRhOiBpbml0
RGF0YUFycmF5LCBtZXNzYWdlOiBtZXNzYWdlQXJyYXksIGRlZmF1bHRVcmw6ICdkZWZhdWx0VXJs
JywgZXJyb3JDb2RlOiBlcnJvck9iamVjdCwgc3lzdGVtQ29kZTogMTIzIH0pLmRlZmF1bHRVcmwi
LCAiZGVmYXVsdFVybCIpOworICAgICAgICAgICAgLy8gRklYTUUoODI5ODgpOiBUaGVzZSB0d28g
ZmFpbC4KKyAgICAgICAgICAgIHNob3VsZEJlKCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlF
dmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwga2V5U3lzdGVtOiAna2V5
U3lzdGVtJywgc2Vzc2lvbklkOiAnc2Vzc2lvbklkJywgaW5pdERhdGE6IGluaXREYXRhQXJyYXks
IG1lc3NhZ2U6IG1lc3NhZ2VBcnJheSwgZGVmYXVsdFVybDogJ2RlZmF1bHRVcmwnLCBlcnJvckNv
ZGU6IGVycm9yT2JqZWN0LCBzeXN0ZW1Db2RlOiAxMjMgfSkuZXJyb3JDb2RlIiwgImVycm9yT2Jq
ZWN0Iik7CisgICAgICAgICAgICBzaG91bGRCZSgibmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5
RXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIGtleVN5c3RlbTogJ2tl
eVN5c3RlbScsIHNlc3Npb25JZDogJ3Nlc3Npb25JZCcsIGluaXREYXRhOiBpbml0RGF0YUFycmF5
LCBtZXNzYWdlOiBtZXNzYWdlQXJyYXksIGRlZmF1bHRVcmw6ICdkZWZhdWx0VXJsJywgZXJyb3JD
b2RlOiBlcnJvck9iamVjdCwgc3lzdGVtQ29kZTogMTIzIH0pLmVycm9yQ29kZS5jb2RlIiwgIk1l
ZGlhS2V5RXJyb3IuTUVESUFfS0VZRVJSX1VOS05PV04iKTsKKyAgICAgICAgICAgIHNob3VsZEJl
KCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2Fu
Y2VsYWJsZTogdHJ1ZSwga2V5U3lzdGVtOiAna2V5U3lzdGVtJywgc2Vzc2lvbklkOiAnc2Vzc2lv
bklkJywgaW5pdERhdGE6IGluaXREYXRhQXJyYXksIG1lc3NhZ2U6IG1lc3NhZ2VBcnJheSwgZGVm
YXVsdFVybDogJ2RlZmF1bHRVcmwnLCBlcnJvckNvZGU6IGVycm9yT2JqZWN0LCBzeXN0ZW1Db2Rl
OiAxMjMgfSkuc3lzdGVtQ29kZSIsICIxMjMiKTsKKworICAgICAgICAgICAgZGVidWcoIjxicj4q
KiogSW5pdGlhbGl6ZSB3aXRoIHZhbGlkIG1lbWJlcnMgKioqIik7CisgICAgICAgICAgICBzaG91
bGRCZSgibmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGtleVN5c3RlbTogJ2tl
eVN5c3RlbScsIHNlc3Npb25JZDogJ3Nlc3Npb25JZCcsIGluaXREYXRhOiBpbml0RGF0YUFycmF5
LCBtZXNzYWdlOiBtZXNzYWdlQXJyYXksIGRlZmF1bHRVcmw6ICdkZWZhdWx0VXJsJywgZXJyb3JD
b2RlOiBlcnJvck9iamVjdCwgc3lzdGVtQ29kZTogMTIzIH0pLmJ1YmJsZXMiLCAidHJ1ZSIpOwor
ICAgICAgICAgICAgc2hvdWxkQmUoIm5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50Jywg
eyBrZXlTeXN0ZW06ICdrZXlTeXN0ZW0nLCBzZXNzaW9uSWQ6ICdzZXNzaW9uSWQnLCBpbml0RGF0
YTogaW5pdERhdGFBcnJheSwgbWVzc2FnZTogbWVzc2FnZUFycmF5LCBkZWZhdWx0VXJsOiAnZGVm
YXVsdFVybCcsIGVycm9yQ29kZTogZXJyb3JPYmplY3QsIHN5c3RlbUNvZGU6IDEyMyB9KS5jYW5j
ZWxhYmxlIiwgInRydWUiKTsKKyAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygibmV3
IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGtleVN5c3RlbTogJ2tleVN5c3RlbScs
IHNlc3Npb25JZDogJ3Nlc3Npb25JZCcsIGluaXREYXRhOiBpbml0RGF0YUFycmF5LCBtZXNzYWdl
OiBtZXNzYWdlQXJyYXksIGRlZmF1bHRVcmw6ICdkZWZhdWx0VXJsJywgZXJyb3JDb2RlOiBlcnJv
ck9iamVjdCwgc3lzdGVtQ29kZTogMTIzIH0pLmtleVN5c3RlbSIsICJrZXlTeXN0ZW0iKTsKKyAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygibmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlh
S2V5RXZlbnQnLCB7IGtleVN5c3RlbTogJ2tleVN5c3RlbScsIHNlc3Npb25JZDogJ3Nlc3Npb25J
ZCcsIGluaXREYXRhOiBpbml0RGF0YUFycmF5LCBtZXNzYWdlOiBtZXNzYWdlQXJyYXksIGRlZmF1
bHRVcmw6ICdkZWZhdWx0VXJsJywgZXJyb3JDb2RlOiBlcnJvck9iamVjdCwgc3lzdGVtQ29kZTog
MTIzIH0pLnNlc3Npb25JZCIsICJzZXNzaW9uSWQiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJu
ZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsga2V5U3lzdGVtOiAna2V5U3lzdGVt
Jywgc2Vzc2lvbklkOiAnc2Vzc2lvbklkJywgaW5pdERhdGE6IGluaXREYXRhQXJyYXksIG1lc3Nh
Z2U6IG1lc3NhZ2VBcnJheSwgZGVmYXVsdFVybDogJ2RlZmF1bHRVcmwnLCBlcnJvckNvZGU6IGVy
cm9yT2JqZWN0LCBzeXN0ZW1Db2RlOiAxMjMgfSkuaW5pdERhdGEiLCAiaW5pdERhdGFBcnJheSIp
OworICAgICAgICAgICAgc2hvdWxkQmUoIm5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50
JywgeyBrZXlTeXN0ZW06ICdrZXlTeXN0ZW0nLCBzZXNzaW9uSWQ6ICdzZXNzaW9uSWQnLCBpbml0
RGF0YTogaW5pdERhdGFBcnJheSwgbWVzc2FnZTogbWVzc2FnZUFycmF5LCBkZWZhdWx0VXJsOiAn
ZGVmYXVsdFVybCcsIGVycm9yQ29kZTogZXJyb3JPYmplY3QsIHN5c3RlbUNvZGU6IDEyMyB9KS5t
ZXNzYWdlIiwgIm1lc3NhZ2VBcnJheSIpOworICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsga2V5U3lzdGVtOiAna2V5
U3lzdGVtJywgc2Vzc2lvbklkOiAnc2Vzc2lvbklkJywgaW5pdERhdGE6IGluaXREYXRhQXJyYXks
IG1lc3NhZ2U6IG1lc3NhZ2VBcnJheSwgZGVmYXVsdFVybDogJ2RlZmF1bHRVcmwnLCBlcnJvckNv
ZGU6IGVycm9yT2JqZWN0LCBzeXN0ZW1Db2RlOiAxMjMgfSkuZGVmYXVsdFVybCIsICJkZWZhdWx0
VXJsIik7CisgICAgICAgICAgICAvLyBGSVhNRSg4Mjk4OCk6IFRoZXNlIHR3byBmYWlsLgorICAg
ICAgICAgICAgc2hvdWxkQmUoIm5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBr
ZXlTeXN0ZW06ICdrZXlTeXN0ZW0nLCBzZXNzaW9uSWQ6ICdzZXNzaW9uSWQnLCBpbml0RGF0YTog
aW5pdERhdGFBcnJheSwgbWVzc2FnZTogbWVzc2FnZUFycmF5LCBkZWZhdWx0VXJsOiAnZGVmYXVs
dFVybCcsIGVycm9yQ29kZTogZXJyb3JPYmplY3QsIHN5c3RlbUNvZGU6IDEyMyB9KS5lcnJvckNv
ZGUiLCAiZXJyb3JPYmplY3QiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJuZXcgTWVkaWFLZXlF
dmVudCgnTWVkaWFLZXlFdmVudCcsIHsga2V5U3lzdGVtOiAna2V5U3lzdGVtJywgc2Vzc2lvbklk
OiAnc2Vzc2lvbklkJywgaW5pdERhdGE6IGluaXREYXRhQXJyYXksIG1lc3NhZ2U6IG1lc3NhZ2VB
cnJheSwgZGVmYXVsdFVybDogJ2RlZmF1bHRVcmwnLCBlcnJvckNvZGU6IGVycm9yT2JqZWN0LCBz
eXN0ZW1Db2RlOiAxMjMgfSkuZXJyb3JDb2RlLmNvZGUiLCAiTWVkaWFLZXlFcnJvci5NRURJQV9L
RVlFUlJfVU5LTk9XTiIpOworICAgICAgICAgICAgc2hvdWxkQmUoIm5ldyBNZWRpYUtleUV2ZW50
KCdNZWRpYUtleUV2ZW50JywgeyBrZXlTeXN0ZW06ICdrZXlTeXN0ZW0nLCBzZXNzaW9uSWQ6ICdz
ZXNzaW9uSWQnLCBpbml0RGF0YTogaW5pdERhdGFBcnJheSwgbWVzc2FnZTogbWVzc2FnZUFycmF5
LCBkZWZhdWx0VXJsOiAnZGVmYXVsdFVybCcsIGVycm9yQ29kZTogZXJyb3JPYmplY3QsIHN5c3Rl
bUNvZGU6IDEyMyB9KS5zeXN0ZW1Db2RlIiwgIjEyMyIpOworCisgICAgICAgICAgICBkZWJ1Zygi
Iik7CisgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgfQorCisgICAgICAgIHZh
ciBpbml0RGF0YUFycmF5ID0gbmV3IFVpbnQ4QXJyYXkoWzB4NDEsIDB4NDIsIDB4NDNdKTsKKyAg
ICAgICAgdmFyIG1lc3NhZ2VBcnJheSA9IG5ldyBVaW50OEFycmF5KFsweDUxLCAweDUyLCAweDUz
XSk7CisgICAgICAgIC8vIEZJWE1FKDgyOTg4KTogVGhpcyBkb2VzIG5vdCBjcmVhdGUgYW4gZXJy
b3IgbGlrZSB3ZSB3YW50LgorICAgICAgICB2YXIgZXJyb3JPYmplY3QgPSB3aW5kb3cuTWVkaWFL
ZXlFcnJvcjsKKyAgICAgICAgLy8gc2hvdWxkQmUoInR5cGVvZiBlcnJvck9iamVjdCIsIFRCRCk7
CisKKyAgICAgICAgdmlkZW8gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd2aWRlbycpOworICAg
ICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHZpZGVvKTsKKworICAgICAgICB0ZXN0KCkK
KyAgICA8L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIGIvTGF5b3V0VGVzdHMv
ZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMKaW5kZXggMDM2ZTc2YTI3MWQzYzI0MzJj
OGFiNDViNWYyZjdjOTY2YzZhYzA3My4uMGFhNDE3ZGYwNmQ2Njc4NDQyMWRmZjkwMTczOTRlZjJj
ZDY5NzA3YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMKQEAgLTI1NCw2ICsyNTQsNyBAQCBmdW5jdGlvbiBzaG91bGRCZVRydWVRdWlldChfYSkgeyBz
aG91bGRCZShfYSwgInRydWUiLCB0cnVlKTsgfQogZnVuY3Rpb24gc2hvdWxkQmVGYWxzZShfYSkg
eyBzaG91bGRCZShfYSwgImZhbHNlIik7IH0KIGZ1bmN0aW9uIHNob3VsZEJlTmFOKF9hKSB7IHNo
b3VsZEJlKF9hLCAiTmFOIik7IH0KIGZ1bmN0aW9uIHNob3VsZEJlTnVsbChfYSkgeyBzaG91bGRC
ZShfYSwgIm51bGwiKTsgfQorZnVuY3Rpb24gc2hvdWxkQmVaZXJvKF9hKSB7IHNob3VsZEJlKF9h
LCAiMCIpOyB9CiAKIGZ1bmN0aW9uIHNob3VsZEJlRXF1YWxUb1N0cmluZyhhLCBiKQogewpAQCAt
MjYxLDYgKzI2Miw4IEBAIGZ1bmN0aW9uIHNob3VsZEJlRXF1YWxUb1N0cmluZyhhLCBiKQogICBz
aG91bGRCZShhLCB1bmV2YWxlZFN0cmluZyk7CiB9CiAKK2Z1bmN0aW9uIHNob3VsZEJlRW1wdHlT
dHJpbmcoX2EpIHsgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKF9hLCAiIik7IH0KKwogZnVuY3Rpb24g
c2hvdWxkRXZhbHVhdGVUbyhhY3R1YWwsIGV4cGVjdGVkKSB7CiAgIC8vIEEgZ2VuZXJhbC1wdXJw
b3NlIGNvbXBhcmF0b3IuICAnYWN0dWFsJyBzaG91bGQgYmUgYSBzdHJpbmcgdG8gYmUKICAgLy8g
ZXZhbHVhdGVkLCBhcyBmb3Igc2hvdWxkQmUoKS4gJ2V4cGVjdGVkJyBtYXkgYmUgYW55IHR5cGUg
YW5kIHdpbGwgYmUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL2VuY3J5cHRlZC1tZWRp
YS9lbmNyeXB0ZWQtbWVkaWEtY29uc3RhbnRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL21l
ZGlhL2VuY3J5cHRlZC1tZWRpYS9lbmNyeXB0ZWQtbWVkaWEtY29uc3RhbnRzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMzk0MGFkM2MxYmQ1ZThkNWFiYTJjZDdmMjVhMDc2M2ZkNWQ1ZTE1Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvZW5jcnlwdGVkLW1lZGlhL2VuY3J5
cHRlZC1tZWRpYS1jb25zdGFudHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAKK1Rlc3Qg
TWVkaWFLZXlFcnJvciBjb25zdGFudHMgYW5kIGFkZGl0aW9uYWwgTWVkaWFFcnJvciBjb25zdGFu
dC4KKworRVhQRUNURUQgKE1lZGlhS2V5RXJyb3IuTUVESUFfS0VZRVJSX1VOS05PV04gPT0gJzEn
KSBPSworRVhQRUNURUQgKE1lZGlhS2V5RXJyb3IuTUVESUFfS0VZRVJSX0NMSUVOVCA9PSAnMicp
IE9LCitFWFBFQ1RFRCAoTWVkaWFLZXlFcnJvci5NRURJQV9LRVlFUlJfU0VSVklDRSA9PSAnMycp
IE9LCitFWFBFQ1RFRCAoTWVkaWFLZXlFcnJvci5NRURJQV9LRVlFUlJfT1VUUFVUID09ICc0Jykg
T0sKK0VYUEVDVEVEIChNZWRpYUtleUVycm9yLk1FRElBX0tFWUVSUl9IQVJEV0FSRUNIQU5HRSA9
PSAnNScpIE9LCitFWFBFQ1RFRCAoTWVkaWFLZXlFcnJvci5NRURJQV9LRVlFUlJfRE9NQUlOID09
ICc2JykgT0sKKworRVhQRUNURUQgKE1lZGlhRXJyb3IuTUVESUFfRVJSX0VOQ1JZUFRFRCA9PSAn
NScpIE9LCitFTkQgT0YgVEVTVAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS9lbmNy
eXB0ZWQtbWVkaWEvZW5jcnlwdGVkLW1lZGlhLWNvbnN0YW50cy5odG1sIGIvTGF5b3V0VGVzdHMv
bWVkaWEvZW5jcnlwdGVkLW1lZGlhL2VuY3J5cHRlZC1tZWRpYS1jb25zdGFudHMuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44Y2I2OTdhOTU2YmE5Y2VlNjc3ZTVmMjkxMThjMTFiNzRlM2E2NjQ3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvZW5jcnlwdGVkLW1lZGlhL2VuY3J5cHRlZC1t
ZWRpYS1jb25zdGFudHMuaHRtbApAQCAtMCwwICsxLDI1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorPGhlYWQ+CisgICAgPHNjcmlwdCBzcmM9Li4vdmlkZW8tdGVzdC5qcz48L3NjcmlwdD4K
KyAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CisgICAgICAgIGZ1bmN0aW9uIGRv
VGVzdCAoKSAKKyAgICAgICAgeworICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJNZWRpYUtleUVy
cm9yLk1FRElBX0tFWUVSUl9VTktOT1dOIiwgMSk7CisgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQo
Ik1lZGlhS2V5RXJyb3IuTUVESUFfS0VZRVJSX0NMSUVOVCIsIDIpOworICAgICAgICAgICAgdGVz
dEV4cGVjdGVkKCJNZWRpYUtleUVycm9yLk1FRElBX0tFWUVSUl9TRVJWSUNFIiwgMyk7CisgICAg
ICAgICAgICB0ZXN0RXhwZWN0ZWQoIk1lZGlhS2V5RXJyb3IuTUVESUFfS0VZRVJSX09VVFBVVCIs
IDQpOworICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJNZWRpYUtleUVycm9yLk1FRElBX0tFWUVS
Ul9IQVJEV0FSRUNIQU5HRSIsIDUpOworICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJNZWRpYUtl
eUVycm9yLk1FRElBX0tFWUVSUl9ET01BSU4iLCA2KTsKKyAgICAgICAgICAgIGNvbnNvbGVXcml0
ZSgiIik7CisKKyAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgiTWVkaWFFcnJvci5NRURJQV9FUlJf
RU5DUllQVEVEIiwgNSk7CisKKyAgICAgICAgICAgIGVuZFRlc3QoKTsKKyAgICAgICAgfQorICAg
IDwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJkb1Rlc3QoKSI+CisgICAgPHA+VGVz
dCBNZWRpYUtleUVycm9yIGNvbnN0YW50cyBhbmQgYWRkaXRpb25hbCBNZWRpYUVycm9yIGNvbnN0
YW50LjwvcD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlh
L2VuY3J5cHRlZC1tZWRpYS9lbmNyeXB0ZWQtbWVkaWEtZXZlbnRzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL21lZGlhL2VuY3J5cHRlZC1tZWRpYS9lbmNyeXB0ZWQtbWVkaWEtZXZlbnRzLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZDg3ZmQ2NzVmNzMyOWYwMmVjMWJmOWE2OWRiMzI4ZTA5
YTY4NjQ3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvZW5jcnlwdGVkLW1l
ZGlhL2VuY3J5cHRlZC1tZWRpYS1ldmVudHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTI4IEBA
CitUZXN0IGFsbCB0aGUga2V5LXJlbGF0ZWQgZXZlbnRzLgorCisqKiogVmVyaWZ5IHRoZSBwcmVz
ZW5jZSBvZiBvbiogYXR0cmlidXRlcy4gVGhlc2Ugd291bGQgcmV0dXJuIHVuZGVmaW5lZCBpZiB0
aGV5IGFyZSBub3QgcHJlc2VudC4gKioqCitFWFBFQ1RFRCAodmlkZW8ub253ZWJraXRrZXlhZGRl
ZCA9PT0gJ251bGwnKSBPSworRVhQRUNURUQgKHZpZGVvLm9ud2Via2l0a2V5ZXJyb3IgPT09ICdu
dWxsJykgT0sKK0VYUEVDVEVEICh2aWRlby5vbndlYmtpdGtleW1lc3NhZ2UgPT09ICdudWxsJykg
T0sKK0VYUEVDVEVEICh2aWRlby5vbndlYmtpdG5lZWRrZXkgPT09ICdudWxsJykgT0sKKworKioq
IFRlc3QgZXZlbnRzIHVzaW5nIG9uKiBhdHRyaWJ1dGVzLiAqKioKK0VWRU5UKGxvYWRzdGFydCkK
KworUlVOKHZpZGVvLndlYmtpdEdlbmVyYXRlS2V5UmVxdWVzdCgnd2Via2l0LW9yZy53My5jbGVh
cmtleScsIGluaXREYXRhKSkKK2tleW1lc3NhZ2UgZXZlbnQgb2NjdXJyZWQKK0VYUEVDVEVEIChl
dmVudC50YXJnZXQgPT0gJ1tvYmplY3QgSFRNTFZpZGVvRWxlbWVudF0nKSBPSworRVhQRUNURUQg
KGV2ZW50IGluc3RhbmNlb2Ygd2luZG93Lk1lZGlhS2V5RXZlbnQgPT0gJ3RydWUnKSBPSworRVhQ
RUNURUQgKGV2ZW50LmtleVN5c3RlbSA9PSAnd2Via2l0LW9yZy53My5jbGVhcmtleScpIE9LCitU
aGUgc2Vzc2lvbklkIHNob3VsZCBiZSBhIG5vbi1lbXB0eSBzdHJpbmcgY29udGFpbmluZyBhbiBp
bnRlZ2VyLgorRVhQRUNURUQgKGV2ZW50LnNlc3Npb25JZCAhPSAnJykgT0sKK0VYUEVDVEVEIChl
dmVudC5zZXNzaW9uSWQgIT0gJ251bGwnKSBPSworRVhQRUNURUQgKGV2ZW50LnNlc3Npb25JZCAh
PSAndW5kZWZpbmVkJykgT0sKK0VYUEVDVEVEIChpc05hTihldmVudC5zZXNzaW9uSWQpID09ICdm
YWxzZScpIE9LCitFWFBFQ1RFRCAoU3RyaW5nKGV2ZW50LnNlc3Npb25JZCkgPT0gU3RyaW5nKHBh
cnNlSW50KGV2ZW50LnNlc3Npb25JZCkpID09ICd0cnVlJykgT0sKK0ltcGxlbWVudGF0aW9ucyBz
aG91bGQgYXZvaWQgc2Vzc2lvbklkcyBvZiAwLgorRVhQRUNURUQgKGV2ZW50LnNlc3Npb25JZCA+
ICcwJykgT0sKK0VYUEVDVEVEIChldmVudC5pbml0RGF0YSA9PT0gJ251bGwnKSBPSworRVhQRUNU
RUQgKGV2ZW50Lm1lc3NhZ2UubGVuZ3RoID09ICczJykgT0sKK0VYUEVDVEVEIChldmVudC5tZXNz
YWdlWzBdID09ICc2NScpIE9LCitFWFBFQ1RFRCAoZXZlbnQubWVzc2FnZVsxXSA9PSAnNjYnKSBP
SworRVhQRUNURUQgKGV2ZW50Lm1lc3NhZ2VbMl0gPT0gJzY3JykgT0sKK0VYUEVDVEVEIChldmVu
dC5kZWZhdWx0VXJsID09ICcnKSBPSworRVhQRUNURUQgKGV2ZW50LmVycm9yQ29kZSA9PT0gJ251
bGwnKSBPSworRVhQRUNURUQgKGV2ZW50LnN5c3RlbUNvZGUgPT0gJzAnKSBPSworCitSVU4odmlk
ZW8ud2Via2l0QWRkS2V5KCd3ZWJraXQtb3JnLnczLmNsZWFya2V5Jywga2V5LCBldmVudC5pbml0
RGF0YSwgZXZlbnQuc2Vzc2lvbklkKSkKK2tleWFkZGVkIGV2ZW50IG9jY3VycmVkCitFWFBFQ1RF
RCAoZXZlbnQudGFyZ2V0ID09ICdbb2JqZWN0IEhUTUxWaWRlb0VsZW1lbnRdJykgT0sKK0VYUEVD
VEVEIChldmVudCBpbnN0YW5jZW9mIHdpbmRvdy5NZWRpYUtleUV2ZW50ID09ICd0cnVlJykgT0sK
K0VYUEVDVEVEIChldmVudC5rZXlTeXN0ZW0gPT0gJ3dlYmtpdC1vcmcudzMuY2xlYXJrZXknKSBP
SworRVhQRUNURUQgKGV2ZW50LnNlc3Npb25JZCA9PSBrZXlNZXNzYWdlU2Vzc2lvbklkID09ICd0
cnVlJykgT0sKK0VYUEVDVEVEIChldmVudC5pbml0RGF0YSA9PT0gJ251bGwnKSBPSworRVhQRUNU
RUQgKGV2ZW50Lm1lc3NhZ2UgPT09ICdudWxsJykgT0sKK0VYUEVDVEVEIChldmVudC5kZWZhdWx0
VXJsID09ICcnKSBPSworRVhQRUNURUQgKGV2ZW50LmVycm9yQ29kZSA9PT0gJ251bGwnKSBPSwor
RVhQRUNURUQgKGV2ZW50LnN5c3RlbUNvZGUgPT0gJzAnKSBPSworCitSVU4odmlkZW8ud2Via2l0
QWRkS2V5KCd3ZWJraXQtb3JnLnczLmNsZWFya2V5JywgaW52YWxpZEtleSwgbnVsbCwgZXZlbnQu
c2Vzc2lvbklkKSkKK2tleWVycm9yIGV2ZW50IG9jY3VycmVkCitFWFBFQ1RFRCAoZXZlbnQudGFy
Z2V0ID09ICdbb2JqZWN0IEhUTUxWaWRlb0VsZW1lbnRdJykgT0sKK0VYUEVDVEVEIChldmVudCBp
bnN0YW5jZW9mIHdpbmRvdy5NZWRpYUtleUV2ZW50ID09ICd0cnVlJykgT0sKK0VYUEVDVEVEIChl
dmVudC5rZXlTeXN0ZW0gPT0gJ3dlYmtpdC1vcmcudzMuY2xlYXJrZXknKSBPSworRVhQRUNURUQg
KGV2ZW50LnNlc3Npb25JZCA9PSBrZXlNZXNzYWdlU2Vzc2lvbklkID09ICd0cnVlJykgT0sKK0VY
UEVDVEVEIChldmVudC5pbml0RGF0YSA9PT0gJ251bGwnKSBPSworRVhQRUNURUQgKGV2ZW50Lm1l
c3NhZ2UgPT09ICdudWxsJykgT0sKK0VYUEVDVEVEIChldmVudC5kZWZhdWx0VXJsID09ICcnKSBP
SworRVhQRUNURUQgKGV2ZW50LmVycm9yQ29kZS5jb2RlID09ICcxJykgT0sKK0VYUEVDVEVEIChl
dmVudC5zeXN0ZW1Db2RlID09ICcwJykgT0sKKworKioqIFRlc3QgZXZlbnRzIHVzaW5nIGFkZEV2
ZW50TGlzdGVuZXIoKS4gKioqCitFVkVOVChsb2Fkc3RhcnQpCisKK1JVTih2aWRlby53ZWJraXRH
ZW5lcmF0ZUtleVJlcXVlc3QoJ3dlYmtpdC1vcmcudzMuY2xlYXJrZXknLCBpbml0RGF0YSkpCitF
VkVOVCh3ZWJraXRrZXltZXNzYWdlKQora2V5bWVzc2FnZSBldmVudCBvY2N1cnJlZAorRVhQRUNU
RUQgKGV2ZW50LnRhcmdldCA9PSAnW29iamVjdCBIVE1MVmlkZW9FbGVtZW50XScpIE9LCitFWFBF
Q1RFRCAoZXZlbnQgaW5zdGFuY2VvZiB3aW5kb3cuTWVkaWFLZXlFdmVudCA9PSAndHJ1ZScpIE9L
CitFWFBFQ1RFRCAoZXZlbnQua2V5U3lzdGVtID09ICd3ZWJraXQtb3JnLnczLmNsZWFya2V5Jykg
T0sKK1RoZSBzZXNzaW9uSWQgc2hvdWxkIGJlIGEgbm9uLWVtcHR5IHN0cmluZyBjb250YWluaW5n
IGFuIGludGVnZXIuCitFWFBFQ1RFRCAoZXZlbnQuc2Vzc2lvbklkICE9ICcnKSBPSworRVhQRUNU
RUQgKGV2ZW50LnNlc3Npb25JZCAhPSAnbnVsbCcpIE9LCitFWFBFQ1RFRCAoZXZlbnQuc2Vzc2lv
bklkICE9ICd1bmRlZmluZWQnKSBPSworRVhQRUNURUQgKGlzTmFOKGV2ZW50LnNlc3Npb25JZCkg
PT0gJ2ZhbHNlJykgT0sKK0VYUEVDVEVEIChTdHJpbmcoZXZlbnQuc2Vzc2lvbklkKSA9PSBTdHJp
bmcocGFyc2VJbnQoZXZlbnQuc2Vzc2lvbklkKSkgPT0gJ3RydWUnKSBPSworSW1wbGVtZW50YXRp
b25zIHNob3VsZCBhdm9pZCBzZXNzaW9uSWRzIG9mIDAuCitFWFBFQ1RFRCAoZXZlbnQuc2Vzc2lv
bklkID4gJzAnKSBPSworVGhlIHNlc3Npb25zSWQgc2hvdWxkIGJlIGRpZmZlcmVudCBmcm9tIHRo
ZSBmaXJzdCBydW4uCitFWFBFQ1RFRCAoZXZlbnQuc2Vzc2lvbklkICE9ICcxJykgT0sKK0VYUEVD
VEVEIChldmVudC5pbml0RGF0YSA9PT0gJ251bGwnKSBPSworRVhQRUNURUQgKGV2ZW50Lm1lc3Nh
Z2UubGVuZ3RoID09ICczJykgT0sKK0VYUEVDVEVEIChldmVudC5tZXNzYWdlWzBdID09ICc2NScp
IE9LCitFWFBFQ1RFRCAoZXZlbnQubWVzc2FnZVsxXSA9PSAnNjYnKSBPSworRVhQRUNURUQgKGV2
ZW50Lm1lc3NhZ2VbMl0gPT0gJzY3JykgT0sKK0VYUEVDVEVEIChldmVudC5kZWZhdWx0VXJsID09
ICcnKSBPSworRVhQRUNURUQgKGV2ZW50LmVycm9yQ29kZSA9PT0gJ251bGwnKSBPSworRVhQRUNU
RUQgKGV2ZW50LnN5c3RlbUNvZGUgPT0gJzAnKSBPSworCitSVU4odmlkZW8ud2Via2l0QWRkS2V5
KCd3ZWJraXQtb3JnLnczLmNsZWFya2V5Jywga2V5LCBldmVudC5pbml0RGF0YSwgZXZlbnQuc2Vz
c2lvbklkKSkKK0VWRU5UKHdlYmtpdGtleWFkZGVkKQora2V5YWRkZWQgZXZlbnQgb2NjdXJyZWQK
K0VYUEVDVEVEIChldmVudC50YXJnZXQgPT0gJ1tvYmplY3QgSFRNTFZpZGVvRWxlbWVudF0nKSBP
SworRVhQRUNURUQgKGV2ZW50IGluc3RhbmNlb2Ygd2luZG93Lk1lZGlhS2V5RXZlbnQgPT0gJ3Ry
dWUnKSBPSworRVhQRUNURUQgKGV2ZW50LmtleVN5c3RlbSA9PSAnd2Via2l0LW9yZy53My5jbGVh
cmtleScpIE9LCitFWFBFQ1RFRCAoZXZlbnQuc2Vzc2lvbklkID09IGtleU1lc3NhZ2VTZXNzaW9u
SWQgPT0gJ3RydWUnKSBPSworRVhQRUNURUQgKGV2ZW50LmluaXREYXRhID09PSAnbnVsbCcpIE9L
CitFWFBFQ1RFRCAoZXZlbnQubWVzc2FnZSA9PT0gJ251bGwnKSBPSworRVhQRUNURUQgKGV2ZW50
LmRlZmF1bHRVcmwgPT0gJycpIE9LCitFWFBFQ1RFRCAoZXZlbnQuZXJyb3JDb2RlID09PSAnbnVs
bCcpIE9LCitFWFBFQ1RFRCAoZXZlbnQuc3lzdGVtQ29kZSA9PSAnMCcpIE9LCisKK1JVTih2aWRl
by53ZWJraXRBZGRLZXkoJ3dlYmtpdC1vcmcudzMuY2xlYXJrZXknLCBpbnZhbGlkS2V5LCBudWxs
LCBldmVudC5zZXNzaW9uSWQpKQorRVZFTlQod2Via2l0a2V5ZXJyb3IpCitrZXllcnJvciBldmVu
dCBvY2N1cnJlZAorRVhQRUNURUQgKGV2ZW50LnRhcmdldCA9PSAnW29iamVjdCBIVE1MVmlkZW9F
bGVtZW50XScpIE9LCitFWFBFQ1RFRCAoZXZlbnQgaW5zdGFuY2VvZiB3aW5kb3cuTWVkaWFLZXlF
dmVudCA9PSAndHJ1ZScpIE9LCitFWFBFQ1RFRCAoZXZlbnQua2V5U3lzdGVtID09ICd3ZWJraXQt
b3JnLnczLmNsZWFya2V5JykgT0sKK0VYUEVDVEVEIChldmVudC5zZXNzaW9uSWQgPT0ga2V5TWVz
c2FnZVNlc3Npb25JZCA9PSAndHJ1ZScpIE9LCitFWFBFQ1RFRCAoZXZlbnQuaW5pdERhdGEgPT09
ICdudWxsJykgT0sKK0VYUEVDVEVEIChldmVudC5tZXNzYWdlID09PSAnbnVsbCcpIE9LCitFWFBF
Q1RFRCAoZXZlbnQuZGVmYXVsdFVybCA9PSAnJykgT0sKK0VYUEVDVEVEIChldmVudC5lcnJvckNv
ZGUuY29kZSA9PSAnMScpIE9LCitFWFBFQ1RFRCAoZXZlbnQuc3lzdGVtQ29kZSA9PSAnMCcpIE9L
CisKK0F0dHJpYnV0ZXMgYXJlIHJlYWQtb25seS4KK1JVTihldmVudC5rZXlTeXN0ZW0gPSAnYmxh
aCcpCitSVU4oZXZlbnQuc2Vzc2lvbklkID0gJ2JsYWgnKQorUlVOKGV2ZW50LmluaXREYXRhID0g
bmV3IFVpbnQ4QXJyYXkoWzB4MTJdKSkKK1JVTihldmVudC5tZXNzYWdlID0gbmV3IFVpbnQ4QXJy
YXkoWzB4MTJdKSkKK1JVTihldmVudC5kZWZhdWx0VXJsID0gJ2V4YW1wbGUuY29tJykKK1JVTihl
dmVudC5lcnJvckNvZGUuY29kZSA9IE1lZGlhS2V5RXJyb3IuTUVESUFfS0VZRVJSX0NMSUVOVCkK
K1JVTihldmVudC5zeXN0ZW1Db2RlID0gMTIzKQorRVhQRUNURUQgKGV2ZW50LmtleVN5c3RlbSA9
PSAnd2Via2l0LW9yZy53My5jbGVhcmtleScpIE9LCitFWFBFQ1RFRCAoZXZlbnQuc2Vzc2lvbklk
ID09IGtleU1lc3NhZ2VTZXNzaW9uSWQgPT0gJ3RydWUnKSBPSworRVhQRUNURUQgKGV2ZW50Lmlu
aXREYXRhID09PSAnbnVsbCcpIE9LCitFWFBFQ1RFRCAoZXZlbnQubWVzc2FnZSA9PT0gJ251bGwn
KSBPSworRVhQRUNURUQgKGV2ZW50LmRlZmF1bHRVcmwgPT0gJycpIE9LCitFWFBFQ1RFRCAoZXZl
bnQuZXJyb3JDb2RlLmNvZGUgPT0gJzEnKSBPSworRVhQRUNURUQgKGV2ZW50LnN5c3RlbUNvZGUg
PT0gJzAnKSBPSworRU5EIE9GIFRFU1QKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEv
ZW5jcnlwdGVkLW1lZGlhL2VuY3J5cHRlZC1tZWRpYS1ldmVudHMuaHRtbCBiL0xheW91dFRlc3Rz
L21lZGlhL2VuY3J5cHRlZC1tZWRpYS9lbmNyeXB0ZWQtbWVkaWEtZXZlbnRzLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMTU2YjkwOWJhODM0ZDBmZmZkMjZjOGJlMmI2NTE3MjgwNzI0YjBlZgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL21lZGlhL2VuY3J5cHRlZC1tZWRpYS9lbmNyeXB0ZWQtbWVk
aWEtZXZlbnRzLmh0bWwKQEAgLTAsMCArMSwxOTcgQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWwg
bGFuZz0iZW4iPgorICAgIDxoZWFkPgorICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PHZpZGVvPjwvdmlkZW8+CisgICAgICAgIDxwPlRlc3QgYWxsIHRoZSBrZXktcmVsYXRlZCBldmVu
dHMuPC9wPgorCisgICAgICAgIDxzY3JpcHQgc3JjPS4uL21lZGlhLWZpbGUuanM+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPS4uL3ZpZGVvLXRlc3QuanM+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQ+CisgICAgICAgICAgICAvLyBUaGUgdGVzdCBydW5zIHR3aWNlLCBvbmNlIHVzaW5n
IG9uKiBhbmQgdGhlbiB1c2luZyBhZGRFdmVudExpc3RlbmVyKCkuCisgICAgICAgICAgICB2YXIg
aXNGaXJzdFJ1biA9IHRydWU7CisKKyAgICAgICAgICAgIHZhciBpbml0RGF0YSA9IG5ldyBVaW50
OEFycmF5KFsweDQxLCAweDQyLCAweDQzXSk7CisgICAgICAgICAgICAvLyAxMjggYml0IGtleS4K
KyAgICAgICAgICAgIHZhciBrZXkgPSBuZXcgVWludDhBcnJheShbMHg2MSwgMHg2MiwgMHg2Mywg
MHg2NCwgMHg2NSwgMHg2NiwgMHg2NywgMHg2OCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgMHg2OSwgMHg2YSwgMHg2YiwgMHg2YywgMHg2ZCwgMHg2ZSwgMHg2ZiwgMHg3
MF0pOworICAgICAgICAgICAgLy8gVGhpcyBrZXkgd2lsbCBjYXVzZSBhbiBhc3luY2hyb25vdXMg
ZXJyb3IgYmVjYXVzZSBpdCBpcyB0b28gc2hvcnQuCisgICAgICAgICAgICB2YXIgaW52YWxpZEtl
eSA9IG5ldyBVaW50OEFycmF5KFsweDYxXSk7CisKKyAgICAgICAgICAgIC8vIEFmdGVyIHRoZSBm
aXJzdCBrZXlNZXNzYWdlIGV2ZW50LCB0aGUgc2Vzc2lvbklkIHNob3VsZCBhbHdheXMgYmUgdGhl
IHNhbWUuCisgICAgICAgICAgICAvLyBJbml0aWFsaXplIGl0IHRvIGFuIGludmFsaWQgdmFsdWUg
dW50aWwgdGhlbi4KKyAgICAgICAgICAgIHZhciBrZXlNZXNzYWdlU2Vzc2lvbklkID0gLTE7Cisg
ICAgICAgICAgICAvLyBSZW1lbWJlciB0aGUgZmlyc3QgSUQgdG8gbWFrZSBzdXJlIHRoZSBzZWNv
bmQgb25lIGlzIGRpZmZlcmVudC4KKyAgICAgICAgICAgIHZhciBmaXJzdFJ1bktleU1lc3NhZ2VT
ZXNzaW9uSWQgPSAtMTsKKworICAgICAgICAgICAgZnVuY3Rpb24ga2V5QWRkZWQoZXZlbnQpCisg
ICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJrZXlhZGRlZCBldmVu
dCBvY2N1cnJlZCIpOworCisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJldmVudC50YXJn
ZXQiLCB2aWRlbyk7CisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJldmVudCBpbnN0YW5j
ZW9mIHdpbmRvdy5NZWRpYUtleUV2ZW50IiwgdHJ1ZSk7CisKKyAgICAgICAgICAgICAgICB0ZXN0
RXhwZWN0ZWQoImV2ZW50LmtleVN5c3RlbSIsICJ3ZWJraXQtb3JnLnczLmNsZWFya2V5Iik7Cisg
ICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJldmVudC5zZXNzaW9uSWQgPT0ga2V5TWVzc2Fn
ZVNlc3Npb25JZCIsIHRydWUpOworICAgICAgICAgICAgICAgIC8vIFRoZSBvdGhlciBhdHRyaWJ1
dGVzIGFyZSBub3QgdXNlZCBmb3IgdGhpcyBldmVudC4KKyAgICAgICAgICAgICAgICB0ZXN0RXhw
ZWN0ZWQoImV2ZW50LmluaXREYXRhIiwgbnVsbCwgIj09PSIpOworICAgICAgICAgICAgICAgIHRl
c3RFeHBlY3RlZCgiZXZlbnQubWVzc2FnZSIsIG51bGwsICI9PT0iKTsKKyAgICAgICAgICAgICAg
ICB0ZXN0RXhwZWN0ZWQoImV2ZW50LmRlZmF1bHRVcmwiLCAiIik7CisgICAgICAgICAgICAgICAg
dGVzdEV4cGVjdGVkKCJldmVudC5lcnJvckNvZGUiLCBudWxsLCAiPT09Iik7CisgICAgICAgICAg
ICAgICAgdGVzdEV4cGVjdGVkKCJldmVudC5zeXN0ZW1Db2RlIiwgMCk7CisKKyAgICAgICAgICAg
ICAgICBjb25zb2xlV3JpdGUoIiIpOworICAgICAgICAgICAgICAgIC8vIENhdXNlIGEga2V5ZXJy
b3IgYnkgcGFzc2luZyBhbiBpbnZhbGlkIGtleS4KKyAgICAgICAgICAgICAgICBydW4oInZpZGVv
LndlYmtpdEFkZEtleSgnd2Via2l0LW9yZy53My5jbGVhcmtleScsIGludmFsaWRLZXksIG51bGws
IGV2ZW50LnNlc3Npb25JZCkiKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rp
b24ga2V5RXJyb3IoZXZlbnQpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgY29uc29s
ZVdyaXRlKCJrZXllcnJvciBldmVudCBvY2N1cnJlZCIpOworCisgICAgICAgICAgICAgICAgdGVz
dEV4cGVjdGVkKCJldmVudC50YXJnZXQiLCB2aWRlbyk7CisgICAgICAgICAgICAgICAgdGVzdEV4
cGVjdGVkKCJldmVudCBpbnN0YW5jZW9mIHdpbmRvdy5NZWRpYUtleUV2ZW50IiwgdHJ1ZSk7CisK
KyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoImV2ZW50LmtleVN5c3RlbSIsICJ3ZWJraXQt
b3JnLnczLmNsZWFya2V5Iik7CisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJldmVudC5z
ZXNzaW9uSWQgPT0ga2V5TWVzc2FnZVNlc3Npb25JZCIsIHRydWUpOworICAgICAgICAgICAgICAg
IC8vIFRoZSBuZXh0IHRocmVlIGF0dHJpYnV0ZXMgYXJlIG5vdCB1c2VkIGZvciB0aGlzIGV2ZW50
LgorICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgiZXZlbnQuaW5pdERhdGEiLCBudWxsLCAi
PT09Iik7CisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJldmVudC5tZXNzYWdlIiwgbnVs
bCwgIj09PSIpOworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgiZXZlbnQuZGVmYXVsdFVy
bCIsICIiKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoImV2ZW50LmVycm9yQ29kZS5j
b2RlIiwgTWVkaWFLZXlFcnJvci5NRURJQV9LRVlFUlJfVU5LTk9XTik7CisgICAgICAgICAgICAg
ICAgLy8gc3lzdGVtQ29kZSBpcyBub3Qgc3VwcG9ydGVkIGJ5IHRoZSBDbGVhciBLZXkga2V5IHN5
c3RlbS4KKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoImV2ZW50LnN5c3RlbUNvZGUiLCAw
KTsKKworICAgICAgICAgICAgICAgIGlmIChpc0ZpcnN0UnVuKSB7CisgICAgICAgICAgICAgICAg
ICAgIGlzRmlyc3RSdW4gPSBmYWxzZTsKKyAgICAgICAgICAgICAgICAgICAgcnVuVGVzdCgpOwor
ICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0
ZSgiIik7CisgICAgICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiQXR0cmlidXRlcyBhcmUg
cmVhZC1vbmx5LiIpOworICAgICAgICAgICAgICAgICAgICBydW4oImV2ZW50LmtleVN5c3RlbSA9
ICdibGFoJyIpOworICAgICAgICAgICAgICAgICAgICBydW4oImV2ZW50LnNlc3Npb25JZCA9ICdi
bGFoJyIpOworICAgICAgICAgICAgICAgICAgICBydW4oImV2ZW50LmluaXREYXRhID0gbmV3IFVp
bnQ4QXJyYXkoWzB4MTJdKSIpOworICAgICAgICAgICAgICAgICAgICBydW4oImV2ZW50Lm1lc3Nh
Z2UgID0gbmV3IFVpbnQ4QXJyYXkoWzB4MTJdKSIpOworICAgICAgICAgICAgICAgICAgICBydW4o
ImV2ZW50LmRlZmF1bHRVcmwgPSAnZXhhbXBsZS5jb20nIik7CisgICAgICAgICAgICAgICAgICAg
IHJ1bigiZXZlbnQuZXJyb3JDb2RlLmNvZGUgPSBNZWRpYUtleUVycm9yLk1FRElBX0tFWUVSUl9D
TElFTlQiKTsKKyAgICAgICAgICAgICAgICAgICAgcnVuKCJldmVudC5zeXN0ZW1Db2RlID0gMTIz
Iik7CisKKyAgICAgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJldmVudC5rZXlTeXN0ZW0i
LCAid2Via2l0LW9yZy53My5jbGVhcmtleSIpOworICAgICAgICAgICAgICAgICAgICB0ZXN0RXhw
ZWN0ZWQoImV2ZW50LnNlc3Npb25JZCA9PSBrZXlNZXNzYWdlU2Vzc2lvbklkIiwgdHJ1ZSk7Cisg
ICAgICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgiZXZlbnQuaW5pdERhdGEiLCBudWxsLCAi
PT09Iik7CisgICAgICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgiZXZlbnQubWVzc2FnZSIs
IG51bGwsICI9PT0iKTsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJldmVudC5k
ZWZhdWx0VXJsIiwgIiIpOworICAgICAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoImV2ZW50
LmVycm9yQ29kZS5jb2RlIiwgTWVkaWFLZXlFcnJvci5NRURJQV9LRVlFUlJfVU5LTk9XTik7Cisg
ICAgICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgiZXZlbnQuc3lzdGVtQ29kZSIsIDApOwor
CisgICAgICAgICAgICAgICAgICAgIGVuZFRlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIGtleU1lc3NhZ2UoZXZlbnQpCisgICAg
ICAgICAgICB7CisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJrZXltZXNzYWdlIGV2ZW50
IG9jY3VycmVkIik7CisKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoImV2ZW50LnRhcmdl
dCIsIHZpZGVvKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoImV2ZW50IGluc3RhbmNl
b2Ygd2luZG93Lk1lZGlhS2V5RXZlbnQiLCB0cnVlKTsKKworICAgICAgICAgICAgICAgIHRlc3RF
eHBlY3RlZCgiZXZlbnQua2V5U3lzdGVtIiwgIndlYmtpdC1vcmcudzMuY2xlYXJrZXkiKTsKKwor
ICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVGhlIHNlc3Npb25JZCBzaG91bGQgYmUgYSBu
b24tZW1wdHkgc3RyaW5nIGNvbnRhaW5pbmcgYW4gaW50ZWdlci4iKTsKKyAgICAgICAgICAgICAg
ICB0ZXN0RXhwZWN0ZWQoImV2ZW50LnNlc3Npb25JZCIsICIiLCAiIT0iKTsKKyAgICAgICAgICAg
ICAgICB0ZXN0RXhwZWN0ZWQoImV2ZW50LnNlc3Npb25JZCIsIG51bGwsICIhPSIpOworICAgICAg
ICAgICAgICAgIHRlc3RFeHBlY3RlZCgiZXZlbnQuc2Vzc2lvbklkIiwgdW5kZWZpbmVkLCAiIT0i
KTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoImlzTmFOKGV2ZW50LnNlc3Npb25JZCki
LCBmYWxzZSk7CisgICAgICAgICAgICAgICAgLy8gTWFrZSBzdXJlIHRoZSBudW1iZXIgaXMgbm90
IGEgZmxvYXQuCisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJTdHJpbmcoZXZlbnQuc2Vz
c2lvbklkKSA9PSBTdHJpbmcocGFyc2VJbnQoZXZlbnQuc2Vzc2lvbklkKSkiLCB0cnVlKTsKKyAg
ICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIkltcGxlbWVudGF0aW9ucyBzaG91bGQgYXZvaWQg
c2Vzc2lvbklkcyBvZiAwLiIpOworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgiZXZlbnQu
c2Vzc2lvbklkIiwgMCwgIj4iKTsKKyAgICAgICAgICAgICAgICAvLyBBbGwgb3RoZXIgZXZlbnRz
IHNob3VsZCBoYXZlIHRoaXMgc2FtZSBzZXNzaW9uSWQuCisgICAgICAgICAgICAgICAga2V5TWVz
c2FnZVNlc3Npb25JZCA9IGV2ZW50LnNlc3Npb25JZDsKKyAgICAgICAgICAgICAgICBpZiAoaXNG
aXJzdFJ1bikKKyAgICAgICAgICAgICAgICAgICAgZmlyc3RSdW5LZXlNZXNzYWdlU2Vzc2lvbklk
ID0ga2V5TWVzc2FnZVNlc3Npb25JZDsKKyAgICAgICAgICAgICAgICBlbHNlIHsKKyAgICAgICAg
ICAgICAgICAgICAgY29uc29sZVdyaXRlKCJUaGUgc2Vzc2lvbnNJZCBzaG91bGQgYmUgZGlmZmVy
ZW50IGZyb20gdGhlIGZpcnN0IHJ1bi4iKTsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEV4cGVj
dGVkKCJldmVudC5zZXNzaW9uSWQiLCBmaXJzdFJ1bktleU1lc3NhZ2VTZXNzaW9uSWQsICIhPSIp
OworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIC8vIGluaXREYXRhIGlzIG5v
dCB1c2VkIGZvciB0aGlzIGV2ZW50LgorICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgiZXZl
bnQuaW5pdERhdGEiLCBudWxsLCAiPT09Iik7CisgICAgICAgICAgICAgICAgLy8gQXQgbGVhc3Qg
Zm9yIG5vdywgdGhlIENsZWFyIEtleSBtZXNzYWdlIGlzIHRoZSBpbml0RGF0YS4KKyAgICAgICAg
ICAgICAgICB0ZXN0QXJyYXlzRXF1YWwoImV2ZW50Lm1lc3NhZ2UiLCBpbml0RGF0YSk7CisgICAg
ICAgICAgICAgICAgLy8gTm90IHN1cHBvcnRlZCBieSB0aGUgdGVzdCBmaWxlLgorICAgICAgICAg
ICAgICAgIHRlc3RFeHBlY3RlZCgiZXZlbnQuZGVmYXVsdFVybCIsICIiKTsKKyAgICAgICAgICAg
ICAgICAvLyBUaGUgZXJyb3IgYXR0cmlidXRlcyBhcmUgbm90IHVzZWQgZm9yIHRoaXMgZXZlbnQu
CisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJldmVudC5lcnJvckNvZGUiLCBudWxsLCAi
PT09Iik7CisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJldmVudC5zeXN0ZW1Db2RlIiwg
MCk7CisKKyAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIiIpOworICAgICAgICAgICAgICAg
IHJ1bigidmlkZW8ud2Via2l0QWRkS2V5KCd3ZWJraXQtb3JnLnczLmNsZWFya2V5Jywga2V5LCBl
dmVudC5pbml0RGF0YSwgZXZlbnQuc2Vzc2lvbklkKSIpOworICAgICAgICAgICAgfQorCisgICAg
ICAgICAgICBmdW5jdGlvbiBuZWVkS2V5KGV2ZW50KQorICAgICAgICAgICAgeworICAgICAgICAg
ICAgICAgIGNvbnNvbGVXcml0ZSgibmVlZEtleSBldmVudCBvY2N1cnJlZCIpOworCisgICAgICAg
ICAgICAgICAgdGVzdEV4cGVjdGVkKCJldmVudC50YXJnZXQiLCB2aWRlbyk7CisgICAgICAgICAg
ICAgICAgdGVzdEV4cGVjdGVkKCJldmVudCBpbnN0YW5jZW9mIHdpbmRvdy5NZWRpYUtleUV2ZW50
IiwgdHJ1ZSk7CisKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoImV2ZW50LmtleVN5c3Rl
bSIsICJ3ZWJraXQtb3JnLnczLmNsZWFya2V5Iik7CisgICAgICAgICAgICAgICAgdGVzdEV4cGVj
dGVkKCJldmVudC5zZXNzaW9uSWQiLCAiIik7CisgICAgICAgICAgICAgICAgdGVzdEFycmF5c0Vx
dWFsKCJldmVudC5pbml0RGF0YSIsIGluaXREYXRhKTsKKyAgICAgICAgICAgICAgICAvLyBUaGUg
b3RoZXIgYXR0cmlidXRlcyBhcmUgbm90IHVzZWQgZm9yIHRoaXMgZXZlbnQuCisgICAgICAgICAg
ICAgICAgdGVzdEV4cGVjdGVkKCJldmVudC5tZXNzYWdlIiwgbnVsbCwgIj09PSIpOworICAgICAg
ICAgICAgICAgIHRlc3RFeHBlY3RlZCgiZXZlbnQuZGVmYXVsdFVybCIsICIiKTsKKyAgICAgICAg
ICAgICAgICB0ZXN0RXhwZWN0ZWQoImV2ZW50LmVycm9yQ29kZSIsIG51bGwsICI9PT0iKTsKKyAg
ICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoImV2ZW50LnN5c3RlbUNvZGUiLCAwKTsKKworICAg
ICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiIik7CisgICAgICAgICAgICAgICAgcnVuKCJ2aWRl
by53ZWJraXRHZW5lcmF0ZUtleVJlcXVlc3QoJ3dlYmtpdC1vcmcudzMuY2xlYXJrZXknLCBpbml0
RGF0YSkiKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gcnVuVGVzdCgp
CisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCIiKTsKKyAgICAg
ICAgICAgICAgICBpZiAoaXNGaXJzdFJ1bikgeworICAgICAgICAgICAgICAgICAgICBjb25zb2xl
V3JpdGUoIioqKiBUZXN0IGV2ZW50cyB1c2luZyBvbiogYXR0cmlidXRlcy4gKioqIik7CisgICAg
ICAgICAgICAgICAgICAgIHZpZGVvLm9ud2Via2l0a2V5YWRkZWQ9a2V5QWRkZWQ7CisgICAgICAg
ICAgICAgICAgICAgIHZpZGVvLm9ud2Via2l0a2V5ZXJyb3I9a2V5RXJyb3I7CisgICAgICAgICAg
ICAgICAgICAgIHZpZGVvLm9ud2Via2l0a2V5bWVzc2FnZT1rZXlNZXNzYWdlOworICAgICAgICAg
ICAgICAgICAgICB2aWRlby5vbndlYmtpdG5lZWRrZXk9bmVlZEtleTsKKyAgICAgICAgICAgICAg
ICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIioqKiBUZXN0IGV2
ZW50cyB1c2luZyBhZGRFdmVudExpc3RlbmVyKCkuICoqKiIpOworCisgICAgICAgICAgICAgICAg
ICAgIC8vIENsZWFyIHRoZSBvbiogaGFuZGxlcnMuCisgICAgICAgICAgICAgICAgICAgIHZpZGVv
Lm9ud2Via2l0a2V5YWRkZWQ9bnVsbDsKKyAgICAgICAgICAgICAgICAgICAgdmlkZW8ub253ZWJr
aXRrZXllcnJvcj1udWxsOworICAgICAgICAgICAgICAgICAgICB2aWRlby5vbndlYmtpdGtleW1l
c3NhZ2U9bnVsbDsKKyAgICAgICAgICAgICAgICAgICAgdmlkZW8ub253ZWJraXRuZWVka2V5PW51
bGw7CisKKyAgICAgICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50KCd3ZWJraXRrZXlhZGRlZCcs
IGtleUFkZGVkKTsKKyAgICAgICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50KCd3ZWJraXRrZXll
cnJvcicsIGtleUVycm9yKTsKKyAgICAgICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50KCd3ZWJr
aXRrZXltZXNzYWdlJywga2V5TWVzc2FnZSk7CisgICAgICAgICAgICAgICAgICAgIHdhaXRGb3JF
dmVudCgnd2Via2l0bmVlZGtleScsIG5lZWRLZXkpOworICAgICAgICAgICAgICAgIH0KKyAgICAK
KyAgICAgICAgICAgICAgICAvLyBGSVhNRSg4Mjk1Mik6IFRlbXByb2FyeSB1bnRpbCB3ZSBoYXZl
IGEgInRlc3QtZW5jcnlwdGVkIiBmaWxlIHRoYXQgY2F1c2VzIHRoZSBuZWVkS2V5IGV2ZW50Lgor
ICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudE9uY2UoJ2xvYWRzdGFydCcsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnNvbGVXcml0ZSgiIik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHJ1bigidmlkZW8ud2Via2l0R2VuZXJhdGVLZXlSZXF1ZXN0KCd3ZWJraXQtb3JnLnczLmNsZWFy
a2V5JywgaW5pdERhdGEpIik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7CisKKyAg
ICAgICAgICAgICAgICB2aWRlby5zZXRBdHRyaWJ1dGUoInNyYyIsIGZpbmRNZWRpYUZpbGUoInZp
ZGVvIiwgIi4uL2NvbnRlbnQvdGVzdCIpKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAg
Y29uc29sZVdyaXRlKCIqKiogVmVyaWZ5IHRoZSBwcmVzZW5jZSBvZiBvbiogYXR0cmlidXRlcy4g
VGhlc2Ugd291bGQgcmV0dXJuIHVuZGVmaW5lZCBpZiB0aGV5IGFyZSBub3QgcHJlc2VudC4gKioq
Iik7CisgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInZpZGVvLm9ud2Via2l0a2V5YWRkZWQiLCBu
dWxsLCAiPT09Iik7CisgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInZpZGVvLm9ud2Via2l0a2V5
ZXJyb3IiLCBudWxsLCAiPT09Iik7CisgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInZpZGVvLm9u
d2Via2l0a2V5bWVzc2FnZSIsIG51bGwsICI9PT0iKTsKKyAgICAgICAgICAgIHRlc3RFeHBlY3Rl
ZCgidmlkZW8ub253ZWJraXRuZWVka2V5IiwgbnVsbCwgIj09PSIpOworCisgICAgICAgICAgICBy
dW5UZXN0KCk7CisKKyAgICAgICAgPC9zY3JpcHQ+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tdGVzdC5qcyBiL0xheW91dFRlc3RzL21l
ZGlhL3ZpZGVvLXRlc3QuanMKaW5kZXggZWJmMGY0MzU0MDA4MDQ1N2ViMzRlNzA1MjM1NjQ4Yjky
MzUyNzFhMS4uMDZmZjYyM2U2ZjJlNzFhODdkMDkyNzViZTMyMmViYzUxMzI5OGIxYyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tdGVzdC5qcworKysgYi9MYXlvdXRUZXN0cy9t
ZWRpYS92aWRlby10ZXN0LmpzCkBAIC03OSwxMSArNzksMjkgQEAgZnVuY3Rpb24gdGVzdEV4cGVj
dGVkKHRlc3RGdW5jU3RyaW5nLCBleHBlY3RlZCwgY29tcGFyaXNvbikKICAgICAgICAgY2FzZSAn
Pj0nOiBzdWNjZXNzID0gb2JzZXJ2ZWQgPj0gZXhwZWN0ZWQ7IGJyZWFrOwogICAgICAgICBjYXNl
ICchPSc6ICBzdWNjZXNzID0gb2JzZXJ2ZWQgIT0gZXhwZWN0ZWQ7IGJyZWFrOwogICAgICAgICBj
YXNlICc9PSc6IHN1Y2Nlc3MgPSBvYnNlcnZlZCA9PSBleHBlY3RlZDsgYnJlYWs7CisgICAgICAg
IGNhc2UgJz09PSc6IHN1Y2Nlc3MgPSBvYnNlcnZlZCA9PT0gZXhwZWN0ZWQ7IGJyZWFrOwogICAg
IH0KIAogICAgIHJlcG9ydEV4cGVjdGVkKHN1Y2Nlc3MsIHRlc3RGdW5jU3RyaW5nLCBjb21wYXJp
c29uLCBleHBlY3RlZCwgb2JzZXJ2ZWQpCiB9CiAKK2Z1bmN0aW9uIHRlc3RBcnJheXNFcXVhbCh0
ZXN0RnVuY1N0cmluZywgZXhwZWN0ZWQpCit7CisgICAgdmFyIG9ic2VydmVkOworICAgIHRyeSB7
CisgICAgICAgIG9ic2VydmVkID0gZXZhbCh0ZXN0RnVuY1N0cmluZyk7CisgICAgfSBjYXRjaCAo
ZXgpIHsKKyAgICAgICAgY29uc29sZVdyaXRlKGV4KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0K
KyAgCisgICAgdGVzdEV4cGVjdGVkKHRlc3RGdW5jU3RyaW5nICsgIi5sZW5ndGgiLCBleHBlY3Rl
ZC5sZW5ndGgpOworCisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBvYnNlcnZlZC5sZW5ndGg7IGkr
KykgeworICAgICAgICB0ZXN0RXhwZWN0ZWQodGVzdEZ1bmNTdHJpbmcgKyAiWyIgKyBpICsgIl0i
LCBleHBlY3RlZFtpXSk7CisgICAgfQorfQorCiB2YXIgdGVzdE51bWJlciA9IDA7CiAKIGZ1bmN0
aW9uIHJlcG9ydEV4cGVjdGVkKHN1Y2Nlc3MsIHRlc3RGdW5jU3RyaW5nLCBjb21wYXJpc29uLCBl
eHBlY3RlZCwgb2JzZXJ2ZWQpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>136782</attachid>
            <date>2012-04-11 16:25:33 -0700</date>
            <delta_ts>2012-04-11 17:35:11 -0700</delta_ts>
            <desc>Rebased after 82973 landed</desc>
            <filename>bug-82974-20120411162532.patch</filename>
            <type>text/plain</type>
            <size>92278</size>
            <attacher name="David Dorwin">ddorwin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEzOTE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjI0ZWUxZWJhODQ3Y2Mz
OTViZTFhYzRmMDg2ZmE3MTJjYWFmM2EwNS4uOGViMmU1OTBlMWYxZDhlODQ2NjkzMWE4N2RhYjZh
Yjg4NTdmZmUzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDgxIEBACisyMDEyLTA0LTExICBEYXZp
ZCBEb3J3aW4gIDxkZG9yd2luQGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgRW5jcnlwdGVk
IE1lZGlhIEV4dGVuc2lvbnMgZXZlbnRzIGFuZCBlcnJvcnMgdG8gSFRNTE1lZGlhRWxlbWVudAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODI5NzQKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgbmV3IGV2
ZW50cyBhbmQgZXJyb3JzIGFyZSBiZWhpbmQgdGhlIEVOQUJMRShFTkNSWVBURURfTUVESUEpIGZl
YXR1cmUgZGVmaW5lLgorICAgICAgICBJbXBsZW1lbnRhdGlvbiBpcyBiYXNlZCBvbiB2MC4xIG9m
IHRoZSBkcmFmdCBwcm9wb3NhbCBhdAorICAgICAgICBodHRwOi8vZHZjcy53My5vcmcvaGcvaHRt
bC1tZWRpYS9yYXctZmlsZS90aXAvZW5jcnlwdGVkLW1lZGlhL2VuY3J5cHRlZC1tZWRpYS5odG1s
I2V2ZW50cy4KKworICAgICAgICBUZXN0czogZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL21lZGlh
LWtleS1ldmVudC1jb25zdHJ1Y3Rvci5odG1sCisgICAgICAgICAgICAgICBtZWRpYS9lbmNyeXB0
ZWQtbWVkaWEvZW5jcnlwdGVkLW1lZGlhLWNvbnN0YW50cy5odG1sCisgICAgICAgICAgICAgICBt
ZWRpYS9lbmNyeXB0ZWQtbWVkaWEvZW5jcnlwdGVkLW1lZGlhLWV2ZW50cy5odG1sCisKKyAgICAg
ICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogYmluZGluZ3MvdjgvRGljdGlvbmFyeS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpEaWN0aW9uYXJ5OjpnZXQpOgorICAgICAgICAoV2ViQ29yZSk6
CisgICAgICAgICogYmluZGluZ3MvdjgvRGljdGlvbmFyeS5oOgorICAgICAgICAoV2ViQ29yZSk6
CisgICAgICAgIChEaWN0aW9uYXJ5KToKKyAgICAgICAgKiBkb20vRXZlbnROYW1lcy5oOgorICAg
ICAgICAoV2ViQ29yZSk6CisgICAgICAgICogZG9tL0V2ZW50TmFtZXMuaW46CisgICAgICAgICog
aHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW46CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlh
RWxlbWVudDo6bWVkaWFQbGF5ZXJLZXlBZGRlZCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVk
aWFFbGVtZW50OjptZWRpYVBsYXllcktleUVycm9yKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxN
ZWRpYUVsZW1lbnQ6Om1lZGlhUGxheWVyS2V5TWVzc2FnZSk6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXllcktleU5lZWRlZCk6CisgICAgICAgICogaHRtbC9I
VE1MTWVkaWFFbGVtZW50Lmg6CisgICAgICAgIChIVE1MTWVkaWFFbGVtZW50KToKKyAgICAgICAg
KiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvTWVkaWFFcnJvci5o
OgorICAgICAgICAqIGh0bWwvTWVkaWFFcnJvci5pZGw6CisgICAgICAgICogaHRtbC9NZWRpYUtl
eUVycm9yLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFcnJvci5oLgor
ICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChNZWRpYUtleUVycm9yKToKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhS2V5RXJyb3I6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtl
eUVycm9yOjpjb2RlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhS2V5RXJyb3I6Ok1lZGlhS2V5
RXJyb3IpOgorICAgICAgICAqIGh0bWwvTWVkaWFLZXlFcnJvci5pZGw6IENvcGllZCBmcm9tIFNv
dXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFcnJvci5pZGwuCisgICAgICAgICogaHRtbC9NZWRpYUtl
eUV2ZW50LmNwcDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVycm9yLmgu
CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhS2V5RXZlbnRJbml0
OjpNZWRpYUtleUV2ZW50SW5pdCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtleUV2ZW50OjpN
ZWRpYUtleUV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhS2V5RXZlbnQ6On5NZWRpYUtl
eUV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhS2V5RXZlbnQ6OmludGVyZmFjZU5hbWUp
OgorICAgICAgICAqIGh0bWwvTWVkaWFLZXlFdmVudC5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNv
cmUpOgorICAgICAgICAoTWVkaWFLZXlFdmVudEluaXQpOgorICAgICAgICAoTWVkaWFLZXlFdmVu
dCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtleUV2ZW50OjpjcmVhdGUpOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFLZXlFdmVudDo6a2V5U3lzdGVtKToKKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhS2V5RXZlbnQ6OnNlc3Npb25JZCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtleUV2ZW50
Ojppbml0RGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtleUV2ZW50OjptZXNzYWdlKToK
KyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhS2V5RXZlbnQ6OmRlZmF1bHRVcmwpOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFLZXlFdmVudDo6ZXJyb3JDb2RlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhS2V5RXZlbnQ6OnN5c3RlbUNvZGUpOgorICAgICAgICAqIGh0bWwvTWVkaWFLZXlFdmVudC5p
ZGw6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFcnJvci5pZGwuCisgICAg
ICAgICogcGFnZS9ET01XaW5kb3cuaWRsOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL01l
ZGlhUGxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFQbGF5ZXI6OmtleUFkZGVkKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyOjprZXlF
cnJvcik6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllcjo6a2V5TWVzc2FnZSk6CisgICAg
ICAgIChXZWJDb3JlOjpNZWRpYVBsYXllcjo6a2V5TmVlZGVkKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9NZWRpYVBsYXllci5oOgorICAgICAgICAoTWVkaWFQbGF5ZXJDbGllbnQpOgor
ICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJDbGllbnQ6Om1lZGlhUGxheWVyS2V5QWRkZWQp
OgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJDbGllbnQ6Om1lZGlhUGxheWVyS2V5RXJy
b3IpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJDbGllbnQ6Om1lZGlhUGxheWVyS2V5
TWVzc2FnZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllckNsaWVudDo6bWVkaWFQbGF5
ZXJLZXlOZWVkZWQpOgorICAgICAgICAoTWVkaWFQbGF5ZXIpOgorCiAyMDEyLTA0LTEwICBaaGVu
eWFvIE1vICA8em1vQGdvb2dsZS5jb20+CiAKICAgICAgICAgV2ViR0xSZW5kZXJpbmdDb250ZXh0
IHNob3VsZCBkZWZlciBjYWNoaW5nIHByb2dyYW0gaW5mbwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxv
ZwppbmRleCAxYmJhOTU1Yzk0MTMxMzIyNDQ1NzU4NGQxYTE4MDFhZmJiYmFhZTJjLi4zMTU3MGVk
OTQ2NmNkZjJlMmU0ZGYwMWUyZjVlNTBkYjQ3OGFlOGYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5n
ZUxvZwpAQCAtMSw1ICsxLDI3IEBACiAyMDEyLTA0LTExICBEYXZpZCBEb3J3aW4gIDxkZG9yd2lu
QGNocm9taXVtLm9yZz4KIAorICAgICAgICBBZGQgRW5jcnlwdGVkIE1lZGlhIEV4dGVuc2lvbnMg
ZXZlbnRzIGFuZCBlcnJvcnMgdG8gSFRNTE1lZGlhRWxlbWVudAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODI5NzQKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgbmV3IGV2ZW50cyBhbmQgZXJyb3JzIGFy
ZSBiZWhpbmQgdGhlIEVOQUJMRShFTkNSWVBURURfTUVESUEpIGZlYXR1cmUgZGVmaW5lLgorICAg
ICAgICBJbXBsZW1lbnRhdGlvbiBpcyBiYXNlZCBvbiB2MC4xIG9mIHRoZSBkcmFmdCBwcm9wb3Nh
bCBhdAorICAgICAgICBodHRwOi8vZHZjcy53My5vcmcvaGcvaHRtbC1tZWRpYS9yYXctZmlsZS90
aXAvZW5jcnlwdGVkLW1lZGlhL2VuY3J5cHRlZC1tZWRpYS5odG1sI2V2ZW50cy4KKworICAgICAg
ICAqIHB1YmxpYy9XZWJNZWRpYVBsYXllckNsaWVudC5oOgorICAgICAgICAqIHNyYy9Bc3NlcnRN
YXRjaGluZ0VudW1zLmNwcDoKKyAgICAgICAgKiBzcmMvV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBs
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsOjprZXlBZGRl
ZCk6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViS2l0OjpXZWJNZWRpYVBsYXllckNs
aWVudEltcGw6OmtleUVycm9yKToKKyAgICAgICAgKFdlYktpdDo6V2ViTWVkaWFQbGF5ZXJDbGll
bnRJbXBsOjprZXlNZXNzYWdlKToKKyAgICAgICAgKFdlYktpdDo6V2ViTWVkaWFQbGF5ZXJDbGll
bnRJbXBsOjprZXlOZWVkZWQpOgorICAgICAgICAqIHNyYy9XZWJNZWRpYVBsYXllckNsaWVudElt
cGwuaDoKKyAgICAgICAgKFdlYk1lZGlhUGxheWVyQ2xpZW50SW1wbCk6CisKKzIwMTItMDQtMTEg
IERhdmlkIERvcndpbiAgPGRkb3J3aW5AY2hyb21pdW0ub3JnPgorCiAgICAgICAgIEFkZCBrZXlT
eXN0ZW0gYXR0cmlidXRlIHRvIGNhblBsYXlUeXBlKCkgZm9yIEVuY3J5cHRlZCBNZWRpYSBFeHRl
bnNpb25zCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04
Mjk3MwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggYTkzMTFlYzFmMzYxYjljMTY3MzQwMGU5MzdiNDkw
N2QzNmIzYzkyZC4uZTI1YmU3MzJiMGE5NGVhMWE1MDcxMTViNjUwOWVlYjAyZjIwMTM5YyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZ3lwaQpAQCAtMTA2Myw2ICsxMDYzLDggQEAKICAgICAgICAgICAgICdodG1sL0lt
YWdlRGF0YS5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvTWVkaWFDb250cm9sbGVyLmlkbCcsCiAg
ICAgICAgICAgICAnaHRtbC9NZWRpYUVycm9yLmlkbCcsCisgICAgICAgICAgICAnaHRtbC9NZWRp
YUtleUVycm9yLmlkbCcsCisgICAgICAgICAgICAnaHRtbC9NZWRpYUtleUV2ZW50LmlkbCcsCiAg
ICAgICAgICAgICAnaHRtbC9UZXh0TWV0cmljcy5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvVGlt
ZVJhbmdlcy5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvVmFsaWRpdHlTdGF0ZS5pZGwnLApAQCAt
NTU2OSw2ICs1NTcxLDkgQEAKICAgICAgICAgICAgICdodG1sL01lZGlhRXJyb3IuaCcsCiAgICAg
ICAgICAgICAnaHRtbC9NZWRpYUZyYWdtZW50VVJJUGFyc2VyLmNwcCcsCiAgICAgICAgICAgICAn
aHRtbC9NZWRpYUZyYWdtZW50VVJJUGFyc2VyLmgnLAorICAgICAgICAgICAgJ2h0bWwvTWVkaWFL
ZXlFcnJvci5oJywKKyAgICAgICAgICAgICdodG1sL01lZGlhS2V5RXZlbnQuY3BwJywKKyAgICAg
ICAgICAgICdodG1sL01lZGlhS2V5RXZlbnQuaCcsCiAgICAgICAgICAgICAnaHRtbC9NaWNyb0Rh
dGFJdGVtVmFsdWUuY3BwJywKICAgICAgICAgICAgICdodG1sL01pY3JvRGF0YUl0ZW1WYWx1ZS5o
JywKICAgICAgICAgICAgICdodG1sL01vbnRoSW5wdXRUeXBlLmNwcCcsCkBAIC03NTY2LDYgKzc1
NzEsMTAgQEAKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTTWF0aE1MRWxlbWVudFdyYXBwZXJGYWN0b3J5LmgnLAogICAgICAgICAgICAgJzwoUFJP
RFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNZWRpYUVycm9yLmNwcCcsCiAgICAg
ICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01lZGlhRXJy
b3IuaCcsCisgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU01lZGlhS2V5RXJyb3IuY3BwJywKKyAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTTWVkaWFLZXlFcnJvci5oJywKKyAgICAgICAgICAgICc8KFBS
T0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTWVkaWFLZXlFdmVudC5jcHAnLAor
ICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNZWRp
YUtleUV2ZW50LmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNNZWRpYUxpc3QuY3BwJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTWVkaWFMaXN0LmgnLAogICAgICAgICAgICAgJzwoUFJP
RFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNZWRpYVF1ZXJ5TGlzdC5jcHAnLApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvRGljdGlvbmFyeS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9EaWN0aW9uYXJ5LmNwcAppbmRleCBjMjlmOTZhZDIw
MTQxMWZmMzkzZGJiZDk1ZDhhN2YyNGVhZDg3NGUxLi5mZDRkYTFmYjAwNmNmY2Y2NDE4OWY4MjM5
ZDhlNmNiMjBmMWM2YWVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9E
aWN0aW9uYXJ5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9EaWN0aW9uYXJ5
LmNwcApAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIlY4QmluZGluZy5oIgogI2luY2x1ZGUg
IlY4RE9NV2luZG93LmgiCiAjaW5jbHVkZSAiVjhTdG9yYWdlLmgiCisjaW5jbHVkZSAiVjhVaW50
OEFycmF5LmgiCiAjaW5jbHVkZSAiVjhVdGlsaXRpZXMuaCIKICNpbmNsdWRlIDx3dGYvTWF0aEV4
dHJhcy5oPgogCkBAIC0zOCw2ICszOSwxMCBAQAogI2luY2x1ZGUgIlY4SURCS2V5UmFuZ2UuaCIK
ICNlbmRpZgogCisjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKKyNpbmNsdWRlICJWOE1lZGlh
S2V5RXJyb3IuaCIKKyNlbmRpZgorCiAjaWYgRU5BQkxFKFZJREVPX1RSQUNLKQogI2luY2x1ZGUg
IlRyYWNrQmFzZS5oIgogI2luY2x1ZGUgIlY4VGV4dFRyYWNrLmgiCkBAIC0yOTMsNiArMjk4LDQ0
IEBAIGJvb2wgRGljdGlvbmFyeTo6Z2V0V2l0aFVuZGVmaW5lZE9yTnVsbENoZWNrKGNvbnN0IFN0
cmluZyYga2V5LCBTdHJpbmcmIHZhbHVlKSBjCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK2Jvb2wg
RGljdGlvbmFyeTo6Z2V0KGNvbnN0IFN0cmluZyYga2V5LCBSZWZQdHI8VWludDhBcnJheT4mIHZh
bHVlKSBjb25zdAoreworICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHY4VmFsdWU7CisgICAgaWYg
KCFnZXRLZXkoa2V5LCB2OFZhbHVlKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgVWlu
dDhBcnJheSogc291cmNlID0gMDsKKyAgICBpZiAodjhWYWx1ZS0+SXNPYmplY3QoKSkgeworICAg
ICAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHdyYXBwZXIgPSB2ODo6SGFuZGxlPHY4OjpPYmpl
Y3Q+OjpDYXN0KHY4VmFsdWUpOworCisgICAgICAgIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gYXJy
YXkgPSBWOERPTVdyYXBwZXI6Omxvb2t1cERPTVdyYXBwZXIoVjhVaW50OEFycmF5OjpHZXRUZW1w
bGF0ZSgpLCB3cmFwcGVyKTsKKyAgICAgICAgaWYgKCFhcnJheS5Jc0VtcHR5KCkpCisgICAgICAg
ICAgICBzb3VyY2UgPSBWOFVpbnQ4QXJyYXk6OnRvTmF0aXZlKGFycmF5KTsKKyAgICB9CisgICAg
dmFsdWUgPSBzb3VyY2U7CisgICAgcmV0dXJuIHRydWU7Cit9CisKKyNpZiBFTkFCTEUoRU5DUllQ
VEVEX01FRElBKQorYm9vbCBEaWN0aW9uYXJ5OjpnZXQoY29uc3QgU3RyaW5nJiBrZXksIFJlZlB0
cjxNZWRpYUtleUVycm9yPiYgdmFsdWUpIGNvbnN0Cit7CisgICAgdjg6OkxvY2FsPHY4OjpWYWx1
ZT4gdjhWYWx1ZTsKKyAgICBpZiAoIWdldEtleShrZXksIHY4VmFsdWUpKQorICAgICAgICByZXR1
cm4gZmFsc2U7CisKKyAgICBNZWRpYUtleUVycm9yKiBzb3VyY2UgPSAwOworICAgIGlmICh2OFZh
bHVlLT5Jc09iamVjdCgpKSB7CisgICAgICAgIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gd3JhcHBl
ciA9IHY4OjpIYW5kbGU8djg6Ok9iamVjdD46OkNhc3QodjhWYWx1ZSk7CisKKyAgICAgICAgdjg6
OkhhbmRsZTx2ODo6T2JqZWN0PiBlcnJvciA9IFY4RE9NV3JhcHBlcjo6bG9va3VwRE9NV3JhcHBl
cihWOE1lZGlhS2V5RXJyb3I6OkdldFRlbXBsYXRlKCksIHdyYXBwZXIpOworICAgICAgICBpZiAo
IWVycm9yLklzRW1wdHkoKSkKKyAgICAgICAgICAgIHNvdXJjZSA9IFY4TWVkaWFLZXlFcnJvcjo6
dG9OYXRpdmUoZXJyb3IpOworICAgIH0KKyAgICB2YWx1ZSA9IHNvdXJjZTsKKyAgICByZXR1cm4g
dHJ1ZTsKK30KKyNlbmRpZgorCiAjaWYgRU5BQkxFKFZJREVPX1RSQUNLKQogYm9vbCBEaWN0aW9u
YXJ5OjpnZXQoY29uc3QgU3RyaW5nJiBrZXksIFJlZlB0cjxUcmFja0Jhc2U+JiB2YWx1ZSkgY29u
c3QKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RpY3Rpb25hcnku
aCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RpY3Rpb25hcnkuaAppbmRleCAyNmM0YTZi
N2FjMjJlNGY4MDcwNDIxYjcwZTAzY2EzYjdjZmU4YjQyLi4zMjE2NGI4Y2JiMjNhNTRhYmM1ODQ5
Nzk5NjI1OTZjNWZkMmZmODMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9EaWN0aW9uYXJ5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvRGljdGlvbmFy
eS5oCkBAIC0zOSw2ICszOSw3IEBAIGNsYXNzIERPTVN0cmluZ0xpc3Q7CiBjbGFzcyBET01XaW5k
b3c7CiBjbGFzcyBJREJLZXlSYW5nZTsKIGNsYXNzIFN0b3JhZ2U7CitjbGFzcyBNZWRpYUtleUVy
cm9yOwogY2xhc3MgVHJhY2tCYXNlOwogY2xhc3MgU3BlZWNoUmVjb2duaXRpb25FcnJvcjsKIGNs
YXNzIFNwZWVjaFJlY29nbml0aW9uUmVzdWx0OwpAQCAtNjcsNiArNjgsMTAgQEAgcHVibGljOgog
ICAgIGJvb2wgZ2V0KGNvbnN0IFN0cmluZyYsIFJlZlB0cjxET01XaW5kb3c+JikgY29uc3Q7CiAg
ICAgYm9vbCBnZXQoY29uc3QgU3RyaW5nJiwgUmVmUHRyPFN0b3JhZ2U+JikgY29uc3Q7CiAgICAg
Ym9vbCBnZXQoY29uc3QgU3RyaW5nJiwgTWVzc2FnZVBvcnRBcnJheSYpIGNvbnN0OworICAgIGJv
b2wgZ2V0KGNvbnN0IFN0cmluZyYsIFJlZlB0cjxVaW50OEFycmF5PiYpIGNvbnN0OworI2lmIEVO
QUJMRShFTkNSWVBURURfTUVESUEpCisgICAgYm9vbCBnZXQoY29uc3QgU3RyaW5nJiwgUmVmUHRy
PE1lZGlhS2V5RXJyb3I+JikgY29uc3Q7CisjZW5kaWYKICNpZiBFTkFCTEUoVklERU9fVFJBQ0sp
CiAgICAgYm9vbCBnZXQoY29uc3QgU3RyaW5nJiwgUmVmUHRyPFRyYWNrQmFzZT4mKSBjb25zdDsK
ICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKaW5kZXggYTY1YTUyYzUyODE4ODAwOThiMjdm
NWZkN2FkYmZhN2IzNDlkYjBiNS4uMjA1YThjOTkyMWNhNTE4MmE2OGM3Y2MyYmYxY2VhOGVjZDlj
MWRjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCkBAIC0xNjEsNiArMTYxLDExIEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICBtYWNybyh3ZWJraXRzb3VyY2VlbmRlZCkgXAogICAgIG1hY3Jv
KHdlYmtpdHNvdXJjZWNsb3NlKSBcCiAgICAgXAorICAgIG1hY3JvKHdlYmtpdGtleWFkZGVkKSBc
CisgICAgbWFjcm8od2Via2l0a2V5ZXJyb3IpIFwKKyAgICBtYWNybyh3ZWJraXRrZXltZXNzYWdl
KSBcCisgICAgbWFjcm8od2Via2l0bmVlZGtleSkgXAorICAgIFwKICAgICBtYWNybyhwcm9ncmVz
cykgXAogICAgIG1hY3JvKHN0YWxsZWQpIFwKICAgICBtYWNybyhzdXNwZW5kKSBcCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FdmVudE5hbWVzLmluCmluZGV4IGQ4NjYxMTI0MDgwZTgxZDE5NTljOGMwOTUyYjU2OTYxYzdh
ZThmMjkuLmQ1YThkOTkwODNiNGFkMmY4YmU1YmM5ODFhODNhMmMyN2MyM2I2YzcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmluCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9FdmVudE5hbWVzLmluCkBAIC00Miw0ICs0Miw1IEBAIFRvdWNoRXZlbnQgY29uZGl0aW9u
YWw9VE9VQ0hfRVZFTlRTLCBydW50aW1lQ29uZGl0aW9uYWw9dG91Y2hFbmFibGVkCiBEZXZpY2VN
b3Rpb25FdmVudCBjb25kaXRpb25hbD1ERVZJQ0VfT1JJRU5UQVRJT04KIERldmljZU9yaWVudGF0
aW9uRXZlbnQgY29uZGl0aW9uYWw9REVWSUNFX09SSUVOVEFUSU9OCiBPcmllbnRhdGlvbkV2ZW50
IGludGVyZmFjZU5hbWU9RXZlbnQsIGNvbmRpdGlvbmFsPU9SSUVOVEFUSU9OX0VWRU5UUworTWVk
aWFLZXlFdmVudCBjb25kaXRpb25hbD1FTkNSWVBURURfTUVESUEKIFRyYWNrRXZlbnQgY29uZGl0
aW9uYWw9VklERU9fVFJBQ0sKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF0
dHJpYnV0ZU5hbWVzLmluIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMu
aW4KaW5kZXggM2M3MzBiYmNkNTQyNWFiZWM5YTlkYzI1MTk3ZDM5MjdlZTY3ZDUxZC4uYmExMDQ4
NzQ3NGI2NTAyOGJhMWNiYThjY2FhY2VkN2QxOTAzZGRhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MQXR0cmlidXRlTmFtZXMuaW4KQEAgLTI0Nyw2ICsyNDcsMTAgQEAgb253ZWJraXRiZWdp
bmZ1bGxzY3JlZW4KIG9ud2Via2l0ZW5kZnVsbHNjcmVlbgogb253ZWJraXRmdWxsc2NyZWVuY2hh
bmdlCiBvbndlYmtpdGZ1bGxzY3JlZW5lcnJvcgorb253ZWJraXRrZXlhZGRlZAorb253ZWJraXRr
ZXllcnJvcgorb253ZWJraXRrZXltZXNzYWdlCitvbndlYmtpdG5lZWRrZXkKIG9ud2Via2l0dHJh
bnNpdGlvbmVuZAogb3Blbgogb3B0aW11bQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxl
bWVudC5jcHAKaW5kZXggMzlmZWYzMWIwZTI1YTQ1NGQ3Y2UzZTBiNzJiZTBhMWU3NTY2ZTYxZS4u
NzlmZDhmODUyYmI3NTI0NjU1YmMwMjk3MGVjMTI2YWRkMjM4NDc4NyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBAIC01OCw2ICs1OCw4IEBACiAjaW5jbHVkZSAi
TWVkaWFEb2N1bWVudC5oIgogI2luY2x1ZGUgIk1lZGlhRXJyb3IuaCIKICNpbmNsdWRlICJNZWRp
YUZyYWdtZW50VVJJUGFyc2VyLmgiCisjaW5jbHVkZSAiTWVkaWFLZXlFcnJvci5oIgorI2luY2x1
ZGUgIk1lZGlhS2V5RXZlbnQuaCIKICNpbmNsdWRlICJNZWRpYUxpc3QuaCIKICNpbmNsdWRlICJN
ZWRpYVBsYXllci5oIgogI2luY2x1ZGUgIk1lZGlhUXVlcnlFdmFsdWF0b3IuaCIKQEAgLTE2ODAs
NiArMTY4Miw4NiBAQCBTdHJpbmcgSFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJTb3VyY2VV
UkwoKSBjb25zdAogfQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQordm9p
ZCBIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXllcktleUFkZGVkKE1lZGlhUGxheWVyKiwgY29u
c3QgU3RyaW5nJiBrZXlTeXN0ZW0sIGNvbnN0IFN0cmluZyYgc2Vzc2lvbklkKQoreworICAgIE1l
ZGlhS2V5RXZlbnRJbml0IGluaXRpYWxpemVyOworICAgIGluaXRpYWxpemVyLmtleVN5c3RlbSA9
IGtleVN5c3RlbTsKKyAgICBpbml0aWFsaXplci5zZXNzaW9uSWQgPSBzZXNzaW9uSWQ7CisgICAg
aW5pdGlhbGl6ZXIuYnViYmxlcyA9IGZhbHNlOworICAgIGluaXRpYWxpemVyLmNhbmNlbGFibGUg
PSBmYWxzZTsKKworICAgIFJlZlB0cjxFdmVudD4gZXZlbnQgPSBNZWRpYUtleUV2ZW50OjpjcmVh
dGUoZXZlbnROYW1lcygpLndlYmtpdGtleWFkZGVkRXZlbnQsIGluaXRpYWxpemVyKTsKKyAgICBl
dmVudC0+c2V0VGFyZ2V0KHRoaXMpOworICAgIG1fYXN5bmNFdmVudFF1ZXVlLT5lbnF1ZXVlRXZl
bnQoZXZlbnQucmVsZWFzZSgpKTsKK30KKwordm9pZCBIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBs
YXllcktleUVycm9yKE1lZGlhUGxheWVyKiwgY29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0sIGNvbnN0
IFN0cmluZyYgc2Vzc2lvbklkLCBNZWRpYVBsYXllckNsaWVudDo6TWVkaWFLZXlFcnJvckNvZGUg
ZXJyb3JDb2RlLCB1bnNpZ25lZCBzaG9ydCBzeXN0ZW1Db2RlKQoreworICAgIE1lZGlhS2V5RXJy
b3I6OkNvZGUgbWVkaWFLZXlFcnJvckNvZGU7CisgICAgc3dpdGNoIChlcnJvckNvZGUpIHsKKyAg
ICBjYXNlIE1lZGlhUGxheWVyQ2xpZW50OjpVbmtub3duRXJyb3I6CisgICAgICAgIG1lZGlhS2V5
RXJyb3JDb2RlID0gTWVkaWFLZXlFcnJvcjo6TUVESUFfS0VZRVJSX1VOS05PV047CisgICAgICAg
IGJyZWFrOworICAgIGNhc2UgTWVkaWFQbGF5ZXJDbGllbnQ6OkNsaWVudEVycm9yOgorICAgICAg
ICBtZWRpYUtleUVycm9yQ29kZSA9IE1lZGlhS2V5RXJyb3I6Ok1FRElBX0tFWUVSUl9DTElFTlQ7
CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgTWVkaWFQbGF5ZXJDbGllbnQ6OlNlcnZpY2VFcnJv
cjoKKyAgICAgICAgbWVkaWFLZXlFcnJvckNvZGUgPSBNZWRpYUtleUVycm9yOjpNRURJQV9LRVlF
UlJfU0VSVklDRTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBNZWRpYVBsYXllckNsaWVudDo6
T3V0cHV0RXJyb3I6CisgICAgICAgIG1lZGlhS2V5RXJyb3JDb2RlID0gTWVkaWFLZXlFcnJvcjo6
TUVESUFfS0VZRVJSX09VVFBVVDsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBNZWRpYVBsYXll
ckNsaWVudDo6SGFyZHdhcmVDaGFuZ2VFcnJvcjoKKyAgICAgICAgbWVkaWFLZXlFcnJvckNvZGUg
PSBNZWRpYUtleUVycm9yOjpNRURJQV9LRVlFUlJfSEFSRFdBUkVDSEFOR0U7CisgICAgICAgIGJy
ZWFrOworICAgIGNhc2UgTWVkaWFQbGF5ZXJDbGllbnQ6OkRvbWFpbkVycm9yOgorICAgICAgICBt
ZWRpYUtleUVycm9yQ29kZSA9IE1lZGlhS2V5RXJyb3I6Ok1FRElBX0tFWUVSUl9ET01BSU47Cisg
ICAgICAgIGJyZWFrOworICAgIH0KKworICAgIE1lZGlhS2V5RXZlbnRJbml0IGluaXRpYWxpemVy
OworICAgIGluaXRpYWxpemVyLmtleVN5c3RlbSA9IGtleVN5c3RlbTsKKyAgICBpbml0aWFsaXpl
ci5zZXNzaW9uSWQgPSBzZXNzaW9uSWQ7CisgICAgaW5pdGlhbGl6ZXIuZXJyb3JDb2RlID0gTWVk
aWFLZXlFcnJvcjo6Y3JlYXRlKG1lZGlhS2V5RXJyb3JDb2RlKTsKKyAgICBpbml0aWFsaXplci5z
eXN0ZW1Db2RlID0gc3lzdGVtQ29kZTsKKyAgICBpbml0aWFsaXplci5idWJibGVzID0gZmFsc2U7
CisgICAgaW5pdGlhbGl6ZXIuY2FuY2VsYWJsZSA9IGZhbHNlOworCisgICAgUmVmUHRyPEV2ZW50
PiBldmVudCA9IE1lZGlhS2V5RXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkud2Via2l0a2V5ZXJy
b3JFdmVudCwgaW5pdGlhbGl6ZXIpOworICAgIGV2ZW50LT5zZXRUYXJnZXQodGhpcyk7CisgICAg
bV9hc3luY0V2ZW50UXVldWUtPmVucXVldWVFdmVudChldmVudC5yZWxlYXNlKCkpOworfQorCit2
b2lkIEhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhUGxheWVyS2V5TWVzc2FnZShNZWRpYVBsYXllcios
IGNvbnN0IFN0cmluZyYga2V5U3lzdGVtLCBjb25zdCBTdHJpbmcmIHNlc3Npb25JZCwgY29uc3Qg
dW5zaWduZWQgY2hhciogbWVzc2FnZSwgdW5zaWduZWQgbWVzc2FnZUxlbmd0aCkKK3sKKyAgICBN
ZWRpYUtleUV2ZW50SW5pdCBpbml0aWFsaXplcjsKKyAgICBpbml0aWFsaXplci5rZXlTeXN0ZW0g
PSBrZXlTeXN0ZW07CisgICAgaW5pdGlhbGl6ZXIuc2Vzc2lvbklkID0gc2Vzc2lvbklkOworICAg
IGluaXRpYWxpemVyLm1lc3NhZ2UgPSBVaW50OEFycmF5OjpjcmVhdGUobWVzc2FnZSwgbWVzc2Fn
ZUxlbmd0aCk7CisgICAgaW5pdGlhbGl6ZXIuYnViYmxlcyA9IGZhbHNlOworICAgIGluaXRpYWxp
emVyLmNhbmNlbGFibGUgPSBmYWxzZTsKKworICAgIFJlZlB0cjxFdmVudD4gZXZlbnQgPSBNZWRp
YUtleUV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLndlYmtpdGtleW1lc3NhZ2VFdmVudCwgaW5p
dGlhbGl6ZXIpOworICAgIGV2ZW50LT5zZXRUYXJnZXQodGhpcyk7CisgICAgbV9hc3luY0V2ZW50
UXVldWUtPmVucXVldWVFdmVudChldmVudC5yZWxlYXNlKCkpOworfQorCit2b2lkIEhUTUxNZWRp
YUVsZW1lbnQ6Om1lZGlhUGxheWVyS2V5TmVlZGVkKE1lZGlhUGxheWVyKiwgY29uc3QgU3RyaW5n
JiBrZXlTeXN0ZW0sIGNvbnN0IFN0cmluZyYgc2Vzc2lvbklkLCBjb25zdCB1bnNpZ25lZCBjaGFy
KiBpbml0RGF0YSwgdW5zaWduZWQgaW5pdERhdGFMZW5ndGgpCit7CisgICAgTWVkaWFLZXlFdmVu
dEluaXQgaW5pdGlhbGl6ZXI7CisgICAgaW5pdGlhbGl6ZXIua2V5U3lzdGVtID0ga2V5U3lzdGVt
OworICAgIGluaXRpYWxpemVyLnNlc3Npb25JZCA9IHNlc3Npb25JZDsKKyAgICBpbml0aWFsaXpl
ci5pbml0RGF0YSA9IFVpbnQ4QXJyYXk6OmNyZWF0ZShpbml0RGF0YSwgaW5pdERhdGFMZW5ndGgp
OworICAgIGluaXRpYWxpemVyLmJ1YmJsZXMgPSBmYWxzZTsKKyAgICBpbml0aWFsaXplci5jYW5j
ZWxhYmxlID0gZmFsc2U7CisKKyAgICBSZWZQdHI8RXZlbnQ+IGV2ZW50ID0gTWVkaWFLZXlFdmVu
dDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS53ZWJraXRuZWVka2V5RXZlbnQsIGluaXRpYWxpemVyKTsK
KyAgICBldmVudC0+c2V0VGFyZ2V0KHRoaXMpOworICAgIG1fYXN5bmNFdmVudFF1ZXVlLT5lbnF1
ZXVlRXZlbnQoZXZlbnQucmVsZWFzZSgpKTsKK30KKyNlbmRpZgorCiB2b2lkIEhUTUxNZWRpYUVs
ZW1lbnQ6OnByb2dyZXNzRXZlbnRUaW1lckZpcmVkKFRpbWVyPEhUTUxNZWRpYUVsZW1lbnQ+KikK
IHsKICAgICBBU1NFUlQobV9wbGF5ZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MTWVkaWFFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1l
bnQuaAppbmRleCBlNjViNzk4NDJhMzYwNTg1MzExZmRmMmZmZDM1ZGQ2ODc3Y2I5ZDgyLi4wM2Fj
ZTI4Mjk4NGU0MjdiMGE0YWZkYzVkNTRlNjU3MDVmMTg3MTAyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxNZWRpYUVsZW1lbnQuaApAQCAtMTg2LDYgKzE4NiwxMSBAQCBwdWJsaWM6CiAgICAgdm9p
ZCB3ZWJraXRBZGRLZXkoY29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0sIFBhc3NSZWZQdHI8VWludDhB
cnJheT4ga2V5LCBQYXNzUmVmUHRyPFVpbnQ4QXJyYXk+IGluaXREYXRhLCBjb25zdCBTdHJpbmcm
IHNlc3Npb25JZCwgRXhjZXB0aW9uQ29kZSYpOwogICAgIHZvaWQgd2Via2l0QWRkS2V5KGNvbnN0
IFN0cmluZyYga2V5U3lzdGVtLCBQYXNzUmVmUHRyPFVpbnQ4QXJyYXk+IGtleSwgRXhjZXB0aW9u
Q29kZSYpOwogICAgIHZvaWQgd2Via2l0Q2FuY2VsS2V5UmVxdWVzdChjb25zdCBTdHJpbmcmIGtl
eVN5c3RlbSwgY29uc3QgU3RyaW5nJiBzZXNzaW9uSWQsIEV4Y2VwdGlvbkNvZGUmKTsKKworICAg
IERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIod2Via2l0a2V5YWRkZWQpOworICAgIERF
RklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIod2Via2l0a2V5ZXJyb3IpOworICAgIERFRklO
RV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIod2Via2l0a2V5bWVzc2FnZSk7CisgICAgREVGSU5F
X0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih3ZWJraXRuZWVka2V5KTsKICNlbmRpZgogCiAvLyBj
b250cm9scwpAQCAtMjYxLDYgKzI2NiwxMyBAQCBwdWJsaWM6CiAgICAgdm9pZCB1cGRhdGVXaWRn
ZXQoUGx1Z2luQ3JlYXRpb25PcHRpb24pOwogI2VuZGlmCiAKKyAgICAvLyBFdmVudFRhcmdldCBm
dW5jdGlvbi4KKyAgICAvLyBCb3RoIE5vZGUgKHZpYSBIVE1MRWxlbWVudCkgYW5kIEFjdGl2ZURP
TU9iamVjdCBkZWZpbmUgdGhpcyBtZXRob2QsIHdoaWNoCisgICAgLy8gY2F1c2VzIGFuIGFtYmln
dWl0eSBlcnJvciBhdCBjb21waWxlIHRpbWUuIFRoaXMgY2xhc3MncyBjb25zdHJ1Y3RvcgorICAg
IC8vIGVuc3VyZXMgdGhhdCBib3RoIGltcGxlbWVudGF0aW9ucyByZXR1cm4gZG9jdW1lbnQsIHNv
IHJldHVybiB0aGUgcmVzdWx0CisgICAgLy8gb2Ygb25lIG9mIHRoZW0gaGVyZS4KKyAgICB2aXJ0
dWFsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSBjb25z
dCBPVkVSUklERSB7IHJldHVybiBIVE1MRWxlbWVudDo6c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgp
OyB9CisKICAgICBib29sIGhhc1NpbmdsZVNlY3VyaXR5T3JpZ2luKCkgY29uc3QgeyByZXR1cm4g
IW1fcGxheWVyIHx8IG1fcGxheWVyLT5oYXNTaW5nbGVTZWN1cml0eU9yaWdpbigpOyB9CiAgICAg
CiAgICAgYm9vbCBpc0Z1bGxzY3JlZW4oKSBjb25zdDsKQEAgLTM5Nyw2ICs0MDksMTMgQEAgcHJp
dmF0ZToKICAgICB2aXJ0dWFsIFN0cmluZyBtZWRpYVBsYXllclNvdXJjZVVSTCgpIGNvbnN0Owog
I2VuZGlmCiAKKyNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQorICAgIHZpcnR1YWwgdm9pZCBt
ZWRpYVBsYXllcktleUFkZGVkKE1lZGlhUGxheWVyKiwgY29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0s
IGNvbnN0IFN0cmluZyYgc2Vzc2lvbklkKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQgbWVk
aWFQbGF5ZXJLZXlFcnJvcihNZWRpYVBsYXllciosIGNvbnN0IFN0cmluZyYga2V5U3lzdGVtLCBj
b25zdCBTdHJpbmcmIHNlc3Npb25JZCwgTWVkaWFQbGF5ZXJDbGllbnQ6Ok1lZGlhS2V5RXJyb3JD
b2RlLCB1bnNpZ25lZCBzaG9ydCBzeXN0ZW1Db2RlKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZv
aWQgbWVkaWFQbGF5ZXJLZXlNZXNzYWdlKE1lZGlhUGxheWVyKiwgY29uc3QgU3RyaW5nJiBrZXlT
eXN0ZW0sIGNvbnN0IFN0cmluZyYgc2Vzc2lvbklkLCBjb25zdCB1bnNpZ25lZCBjaGFyKiBtZXNz
YWdlLCB1bnNpZ25lZCBtZXNzYWdlTGVuZ3RoKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQg
bWVkaWFQbGF5ZXJLZXlOZWVkZWQoTWVkaWFQbGF5ZXIqLCBjb25zdCBTdHJpbmcmIGtleVN5c3Rl
bSwgY29uc3QgU3RyaW5nJiBzZXNzaW9uSWQsIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGluaXREYXRh
LCB1bnNpZ25lZCBpbml0RGF0YUxlbmd0aCkgT1ZFUlJJREU7CisjZW5kaWYKKwogICAgIHZpcnR1
YWwgU3RyaW5nIG1lZGlhUGxheWVyUmVmZXJyZXIoKSBjb25zdCBPVkVSUklERTsKICAgICB2aXJ0
dWFsIFN0cmluZyBtZWRpYVBsYXllclVzZXJBZ2VudCgpIGNvbnN0IE9WRVJSSURFOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaWRsIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmlkbAppbmRleCBiMjdhNmU5YWY3MzI3Yzg2
ZmM4ZmFmYzhjNGVjNmQ1NWIwYTY2ZGI0Li44Nzg1NGJlMGY1MTMzNDU2YjllMTYwOGI5ODJkMDBh
ZDM2Y2M2ZTQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1l
bnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5pZGwKQEAg
LTEyMiw2ICsxMjIsMTEgQEAgbW9kdWxlIGh0bWwgewogICAgICAgICByYWlzZXMgKERPTUV4Y2Vw
dGlvbik7CiAgICAgW1Y4RW5hYmxlZEF0UnVudGltZT1lbmNyeXB0ZWRNZWRpYV0gdm9pZCB3ZWJr
aXRDYW5jZWxLZXlSZXF1ZXN0KGluIFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nLCBUcmVhdFVuZGVm
aW5lZEFzPU51bGxTdHJpbmddIERPTVN0cmluZyBrZXlTeXN0ZW0sIGluIFtPcHRpb25hbD1EZWZh
dWx0SXNOdWxsU3RyaW5nXSBET01TdHJpbmcgc2Vzc2lvbklkKQogICAgICAgICByYWlzZXMgKERP
TUV4Y2VwdGlvbik7CisKKyAgICBhdHRyaWJ1dGUgW1Y4RW5hYmxlZEF0UnVudGltZT1lbmNyeXB0
ZWRNZWRpYV0gRXZlbnRMaXN0ZW5lciBvbndlYmtpdGtleWFkZGVkOworICAgIGF0dHJpYnV0ZSBb
VjhFbmFibGVkQXRSdW50aW1lPWVuY3J5cHRlZE1lZGlhXSBFdmVudExpc3RlbmVyIG9ud2Via2l0
a2V5ZXJyb3I7CisgICAgYXR0cmlidXRlIFtWOEVuYWJsZWRBdFJ1bnRpbWU9ZW5jcnlwdGVkTWVk
aWFdIEV2ZW50TGlzdGVuZXIgb253ZWJraXRrZXltZXNzYWdlOworICAgIGF0dHJpYnV0ZSBbVjhF
bmFibGVkQXRSdW50aW1lPWVuY3J5cHRlZE1lZGlhXSBFdmVudExpc3RlbmVyIG9ud2Via2l0bmVl
ZGtleTsKICNlbmRpZgogCiAjaWYgZGVmaW5lZChFTkFCTEVfVklERU9fVFJBQ0spICYmIEVOQUJM
RV9WSURFT19UUkFDSwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVycm9y
LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRXJyb3IuaAppbmRleCBiNjhjMzcwNjUwMWEy
MDY3Y2U5NTFhMGFhNmZhMjQ4YzI1NmFhZjBlLi45MGY0NDdmMDVlNWE0ZjBjYWQxNGI1YzQyOWJm
YmZlOGM4NzBkMzA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRXJyb3Iu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRXJyb3IuaApAQCAtMzUsNyArMzUsMTUg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBNZWRpYUVycm9yIDogcHVibGljIFJlZkNv
dW50ZWQ8TWVkaWFFcnJvcj4gewogcHVibGljOgotICAgIGVudW0gQ29kZSB7IE1FRElBX0VSUl9B
Qk9SVEVEID0gMSwgTUVESUFfRVJSX05FVFdPUkssIE1FRElBX0VSUl9ERUNPREUsIE1FRElBX0VS
Ul9TUkNfTk9UX1NVUFBPUlRFRCB9OworICAgIGVudW0gQ29kZSB7CisgICAgICAgIE1FRElBX0VS
Ul9BQk9SVEVEID0gMSwKKyAgICAgICAgTUVESUFfRVJSX05FVFdPUkssCisgICAgICAgIE1FRElB
X0VSUl9ERUNPREUsCisgICAgICAgIE1FRElBX0VSUl9TUkNfTk9UX1NVUFBPUlRFRAorI2lmIEVO
QUJMRShFTkNSWVBURURfTUVESUEpCisgICAgICAgICwgTUVESUFfRVJSX0VOQ1JZUFRFRAorI2Vu
ZGlmCisgICAgfTsKIAogICAgIHN0YXRpYyBQYXNzUmVmUHRyPE1lZGlhRXJyb3I+IGNyZWF0ZShD
b2RlIGNvZGUpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBNZWRpYUVycm9yKGNvZGUpKTsgfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRXJyb3IuaWRsIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9NZWRpYUVycm9yLmlkbAppbmRleCBmY2ViMWY1NTFlZTVlMzAyN2M2MmYyYTVh
NDgwMmMwMDc3MDZkODVjLi44ZWI5ZDU0MDI5NDY1MDM0ZGQ0M2RmODE5ZmRkY2QxMTUxNjcyNzUy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRXJyb3IuaWRsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFcnJvci5pZGwKQEAgLTMxLDYgKzMxLDkgQEAgbW9kdWxl
IGh0bWwgewogICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IE1FRElBX0VSUl9ORVRXT1JL
ID0gMjsKICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBNRURJQV9FUlJfREVDT0RFID0g
MzsKICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBNRURJQV9FUlJfU1JDX05PVF9TVVBQ
T1JURUQgPSA0OworI2lmIGRlZmluZWQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJiYgRU5BQkxF
X0VOQ1JZUFRFRF9NRURJQQorICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IE1FRElBX0VS
Ul9FTkNSWVBURUQgPSA1OworI2VuZGlmCiAgICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVu
c2lnbmVkIHNob3J0IGNvZGU7CiAgICAgfTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvTWVkaWFLZXlFcnJvci5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUtleUVycm9y
LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTJjNzM2ZDQ4N2EzZjRjMDcxNjViNGM2NTI4ZWZkOTk5Y2Y3NWRlMgot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFLZXlFcnJvci5oCkBA
IC0wLDAgKzEsNjAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpZm5kZWYgTWVkaWFLZXlFcnJvcl9oCisjZGVm
aW5lIE1lZGlhS2V5RXJyb3JfaAorCisjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKKworI2lu
Y2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBNZWRpYUtleUVycm9yIDogcHVibGljIFJlZkNv
dW50ZWQ8TWVkaWFLZXlFcnJvcj4geworcHVibGljOgorICAgIGVudW0gQ29kZSB7CisgICAgICAg
IE1FRElBX0tFWUVSUl9VTktOT1dOID0gMSwKKyAgICAgICAgTUVESUFfS0VZRVJSX0NMSUVOVCwK
KyAgICAgICAgTUVESUFfS0VZRVJSX1NFUlZJQ0UsCisgICAgICAgIE1FRElBX0tFWUVSUl9PVVRQ
VVQsCisgICAgICAgIE1FRElBX0tFWUVSUl9IQVJEV0FSRUNIQU5HRSwKKyAgICAgICAgTUVESUFf
S0VZRVJSX0RPTUFJTgorICAgIH07CisKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxNZWRpYUtleUVy
cm9yPiBjcmVhdGUoQ29kZSBjb2RlKSB7IHJldHVybiBhZG9wdFJlZihuZXcgTWVkaWFLZXlFcnJv
cihjb2RlKSk7IH0KKworICAgIENvZGUgY29kZSgpIGNvbnN0IHsgcmV0dXJuIG1fY29kZTsgfQor
Citwcml2YXRlOgorICAgIGV4cGxpY2l0IE1lZGlhS2V5RXJyb3IoQ29kZSBjb2RlKSA6IG1fY29k
ZShjb2RlKSB7IH0KKworICAgIENvZGUgbV9jb2RlOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQorCisjZW5kaWYKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9N
ZWRpYUtleUVycm9yLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFLZXlFcnJvci5pZGwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNTViOWIwNGQwZjdmNTczZTM5NDA2ZTJhMTExYjQ3NmFhZDkyYjg5MwotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFLZXlFcnJvci5pZGwKQEAg
LTAsMCArMSwzOSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiAgQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworbW9kdWxlIGh0bWwgeworICAgIGludGVyZmFjZSBb
CisgICAgICAgIENvbmRpdGlvbmFsPUVOQ1JZUFRFRF9NRURJQSwKKyAgICAgICAgVjhFbmFibGVk
QXRSdW50aW1lPWVuY3J5cHRlZE1lZGlhLCAKKyAgICBdIE1lZGlhS2V5RXJyb3IgeworICAgICAg
ICBjb25zdCB1bnNpZ25lZCBzaG9ydCBNRURJQV9LRVlFUlJfVU5LTk9XTiA9IDE7CisgICAgICAg
IGNvbnN0IHVuc2lnbmVkIHNob3J0IE1FRElBX0tFWUVSUl9DTElFTlQgPSAyOworICAgICAgICBj
b25zdCB1bnNpZ25lZCBzaG9ydCBNRURJQV9LRVlFUlJfU0VSVklDRSA9IDM7CisgICAgICAgIGNv
bnN0IHVuc2lnbmVkIHNob3J0IE1FRElBX0tFWUVSUl9PVVRQVVQgPSA0OworICAgICAgICBjb25z
dCB1bnNpZ25lZCBzaG9ydCBNRURJQV9LRVlFUlJfSEFSRFdBUkVDSEFOR0UgPSA1OworICAgICAg
ICBjb25zdCB1bnNpZ25lZCBzaG9ydCBNRURJQV9LRVlFUlJfRE9NQUlOID0gNjsKKyAgICAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IGNvZGU7CisgICAgfTsKK30KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFLZXlFdmVudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL01lZGlhS2V5RXZlbnQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmEyZWE1ZWZkOWJiZGRiMjFm
MDhjZWExMGQyMWVkNGIzOTgzYzFkY2UKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL01lZGlhS2V5RXZlbnQuY3BwCkBAIC0wLDAgKzEsNjkgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBg
YEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9S
CisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNp
bmNsdWRlICJjb25maWcuaCIKKworI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCisKKyNpbmNs
dWRlICJNZWRpYUtleUV2ZW50LmgiCisKKyNpbmNsdWRlICJFdmVudE5hbWVzLmgiCisjaW5jbHVk
ZSA8d3RmL1VpbnQ4QXJyYXkuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitNZWRpYUtleUV2
ZW50SW5pdDo6TWVkaWFLZXlFdmVudEluaXQoKQorICAgIDogc3lzdGVtQ29kZSgwKQoreworfQor
CitNZWRpYUtleUV2ZW50OjpNZWRpYUtleUV2ZW50KCkKK3sKK30KKworTWVkaWFLZXlFdmVudDo6
TWVkaWFLZXlFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGNvbnN0IE1lZGlhS2V5RXZl
bnRJbml0JiBpbml0aWFsaXplcikKKyAgICA6IEV2ZW50KHR5cGUsIGluaXRpYWxpemVyKQorICAg
ICwgbV9rZXlTeXN0ZW0oaW5pdGlhbGl6ZXIua2V5U3lzdGVtKQorICAgICwgbV9zZXNzaW9uSWQo
aW5pdGlhbGl6ZXIuc2Vzc2lvbklkKQorICAgICwgbV9pbml0RGF0YShpbml0aWFsaXplci5pbml0
RGF0YSkKKyAgICAsIG1fbWVzc2FnZShpbml0aWFsaXplci5tZXNzYWdlKQorICAgICwgbV9kZWZh
dWx0VXJsKGluaXRpYWxpemVyLmRlZmF1bHRVcmwpCisgICAgLCBtX2Vycm9yQ29kZShpbml0aWFs
aXplci5lcnJvckNvZGUpCisgICAgLCBtX3N5c3RlbUNvZGUoaW5pdGlhbGl6ZXIuc3lzdGVtQ29k
ZSkKK3sKK30KKworTWVkaWFLZXlFdmVudDo6fk1lZGlhS2V5RXZlbnQoKQoreworfQorCitjb25z
dCBBdG9taWNTdHJpbmcmIE1lZGlhS2V5RXZlbnQ6OmludGVyZmFjZU5hbWUoKSBjb25zdAorewor
ICAgIHJldHVybiBldmVudE5hbWVzKCkuaW50ZXJmYWNlRm9yTWVkaWFLZXlFdmVudDsKK30KKwor
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvTWVkaWFLZXlFdmVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUtleUV2
ZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjJkYWZkYmUyOGI0NWM1MzkyNThhNzQ5OTQyMzlkNTdlM2JlMzg2
MwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFLZXlFdmVudC5o
CkBAIC0wLDAgKzEsODggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4g
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpZm5kZWYgTWVkaWFLZXlFdmVudF9oCisj
ZGVmaW5lIE1lZGlhS2V5RXZlbnRfaAorCisjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKKwor
I2luY2x1ZGUgIkV2ZW50LmgiCisjaW5jbHVkZSAiTWVkaWFLZXlFcnJvci5oIgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK3N0cnVjdCBNZWRpYUtleUV2ZW50SW5pdCA6IHB1YmxpYyBFdmVudElu
aXQgeworICAgIE1lZGlhS2V5RXZlbnRJbml0KCk7CisKKyAgICBTdHJpbmcga2V5U3lzdGVtOwor
ICAgIFN0cmluZyBzZXNzaW9uSWQ7CisgICAgUmVmUHRyPFVpbnQ4QXJyYXk+IGluaXREYXRhOwor
ICAgIFJlZlB0cjxVaW50OEFycmF5PiBtZXNzYWdlOworICAgIFN0cmluZyBkZWZhdWx0VXJsOwor
ICAgIFJlZlB0cjxNZWRpYUtleUVycm9yPiBlcnJvckNvZGU7CisgICAgdW5zaWduZWQgc2hvcnQg
c3lzdGVtQ29kZTsKK307CisKK2NsYXNzIE1lZGlhS2V5RXZlbnQgOiBwdWJsaWMgRXZlbnQgewor
cHVibGljOgorICAgIHZpcnR1YWwgfk1lZGlhS2V5RXZlbnQoKTsKKworICAgIHN0YXRpYyBQYXNz
UmVmUHRyPE1lZGlhS2V5RXZlbnQ+IGNyZWF0ZSgpCisgICAgeworICAgICAgICByZXR1cm4gYWRv
cHRSZWYobmV3IE1lZGlhS2V5RXZlbnQpOworICAgIH0KKworICAgIHN0YXRpYyBQYXNzUmVmUHRy
PE1lZGlhS2V5RXZlbnQ+IGNyZWF0ZShjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGNvbnN0IE1l
ZGlhS2V5RXZlbnRJbml0JiBpbml0aWFsaXplcikKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9w
dFJlZihuZXcgTWVkaWFLZXlFdmVudCh0eXBlLCBpbml0aWFsaXplcikpOworICAgIH0KKworICAg
IHZpcnR1YWwgY29uc3QgQXRvbWljU3RyaW5nJiBpbnRlcmZhY2VOYW1lKCkgY29uc3Q7CisKKyAg
ICBTdHJpbmcga2V5U3lzdGVtKCkgY29uc3QgeyByZXR1cm4gbV9rZXlTeXN0ZW07IH0KKyAgICBT
dHJpbmcgc2Vzc2lvbklkKCkgY29uc3QgeyByZXR1cm4gbV9zZXNzaW9uSWQ7IH0KKyAgICBVaW50
OEFycmF5KiBpbml0RGF0YSgpIGNvbnN0IHsgcmV0dXJuIG1faW5pdERhdGEuZ2V0KCk7IH0KKyAg
ICBVaW50OEFycmF5KiBtZXNzYWdlKCkgY29uc3QgeyByZXR1cm4gbV9tZXNzYWdlLmdldCgpOyB9
CisgICAgU3RyaW5nIGRlZmF1bHRVcmwoKSBjb25zdCB7IHJldHVybiBtX2RlZmF1bHRVcmw7IH0K
KyAgICBNZWRpYUtleUVycm9yKiBlcnJvckNvZGUoKSBjb25zdCB7IHJldHVybiBtX2Vycm9yQ29k
ZS5nZXQoKTsgfQorICAgIHVuc2lnbmVkIHNob3J0IHN5c3RlbUNvZGUoKSBjb25zdCB7IHJldHVy
biBtX3N5c3RlbUNvZGU7IH0KKworcHJpdmF0ZToKKyAgICBNZWRpYUtleUV2ZW50KCk7CisgICAg
TWVkaWFLZXlFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGNvbnN0IE1lZGlhS2V5RXZl
bnRJbml0JiBpbml0aWFsaXplcik7CisKKyAgICBTdHJpbmcgbV9rZXlTeXN0ZW07CisgICAgU3Ry
aW5nIG1fc2Vzc2lvbklkOworICAgIFJlZlB0cjxVaW50OEFycmF5PiBtX2luaXREYXRhOworICAg
IFJlZlB0cjxVaW50OEFycmF5PiBtX21lc3NhZ2U7CisgICAgU3RyaW5nIG1fZGVmYXVsdFVybDsK
KyAgICBSZWZQdHI8TWVkaWFLZXlFcnJvcj4gbV9lcnJvckNvZGU7CisgICAgdW5zaWduZWQgc2hv
cnQgbV9zeXN0ZW1Db2RlOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYK
KyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUtleUV2ZW50Lmlk
bCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFLZXlFdmVudC5pZGwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWJi
NmZmYmVlZTJlMTE3ZGM3YWJmOTIwZWNkNDAwMzVmM2U5MjdkZQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFLZXlFdmVudC5pZGwKQEAgLTAsMCArMSw0MiBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENP
TVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09N
UFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4gCisgKi8KKworbW9kdWxlIGh0bWwgeworCisgICAgaW50ZXJmYWNlIFsKKyAgICAgICAgQ29u
ZGl0aW9uYWw9RU5DUllQVEVEX01FRElBLAorICAgICAgICBWOEVuYWJsZWRBdFJ1bnRpbWU9ZW5j
cnlwdGVkTWVkaWEsCisgICAgICAgIENvbnN0cnVjdG9yVGVtcGxhdGU9RXZlbnQgCisgICAgXSBN
ZWRpYUtleUV2ZW50IDogRXZlbnQgeworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW0luaXRp
YWxpemVkQnlFdmVudENvbnN0cnVjdG9yXSBET01TdHJpbmcga2V5U3lzdGVtOworICAgICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgW0luaXRpYWxpemVkQnlFdmVudENvbnN0cnVjdG9yXSBET01TdHJp
bmcgc2Vzc2lvbklkOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW0luaXRpYWxpemVkQnlF
dmVudENvbnN0cnVjdG9yXSBVaW50OEFycmF5IGluaXREYXRhOworICAgICAgICByZWFkb25seSBh
dHRyaWJ1dGUgW0luaXRpYWxpemVkQnlFdmVudENvbnN0cnVjdG9yXSBVaW50OEFycmF5IG1lc3Nh
Z2U7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBbSW5pdGlhbGl6ZWRCeUV2ZW50Q29uc3Ry
dWN0b3JdIERPTVN0cmluZyBkZWZhdWx0VXJsOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUg
W0luaXRpYWxpemVkQnlFdmVudENvbnN0cnVjdG9yXSBNZWRpYUtleUVycm9yIGVycm9yQ29kZTsK
KyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFtJbml0aWFsaXplZEJ5RXZlbnRDb25zdHJ1Y3Rv
cl0gdW5zaWduZWQgc2hvcnQgc3lzdGVtQ29kZTsKKyAgICB9OworCit9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RP
TVdpbmRvdy5pZGwKaW5kZXggNGNiOTA2N2IyYzRmZGZhMzljZWE4MjAwYmMwMTNiODYyMTRkYjll
MC4uZGVhZjg5MGQwYzhjNjYyYzcyNTZjYjJhNWI4YWYwZGVlOTlkY2JmMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRE9NV2luZG93LmlkbApAQCAtNDY2LDYgKzQ2Niw5IEBAIG1vZHVsZSB3aW5kb3cgewogICAg
ICAgICBhdHRyaWJ1dGUgW0pTQ3VzdG9tR2V0dGVyLCBDdXN0b21Db25zdHJ1Y3Rvcl0gSFRNTElt
YWdlRWxlbWVudENvbnN0cnVjdG9yQ29uc3RydWN0b3IgSW1hZ2U7IC8vIFVzYWJsZSB3aXRoIG5l
dyBvcGVyYXRvcgogICAgICAgICBhdHRyaWJ1dGUgW0pTQ3VzdG9tR2V0dGVyXSBIVE1MT3B0aW9u
RWxlbWVudENvbnN0cnVjdG9yQ29uc3RydWN0b3IgT3B0aW9uOyAvLyBVc2FibGUgd2l0aCBuZXcg
b3BlcmF0b3IKIAorICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPUVOQ1JZUFRFRF9NRURJ
QSwgVjhFbmFibGVkQXRSdW50aW1lPWVuY3J5cHRlZE1lZGlhXSBNZWRpYUtleUVycm9yQ29uc3Ry
dWN0b3IgTWVkaWFLZXlFcnJvcjsKKyAgICAgICAgYXR0cmlidXRlIFtDb25kaXRpb25hbD1FTkNS
WVBURURfTUVESUEsIFY4RW5hYmxlZEF0UnVudGltZT1lbmNyeXB0ZWRNZWRpYV0gTWVkaWFLZXlF
dmVudENvbnN0cnVjdG9yIE1lZGlhS2V5RXZlbnQ7CisKICAgICAgICAgYXR0cmlidXRlIFtDb25k
aXRpb25hbD1WSURFT19UUkFDSywgVjhFbmFibGVkQXRSdW50aW1lPXdlYmtpdFZpZGVvVHJhY2td
IEhUTUxUcmFja0VsZW1lbnRDb25zdHJ1Y3RvciBIVE1MVHJhY2tFbGVtZW50OwogICAgICAgICBh
dHRyaWJ1dGUgW0NvbmRpdGlvbmFsPVZJREVPX1RSQUNLLCBWOEVuYWJsZWRBdFJ1bnRpbWU9d2Vi
a2l0VmlkZW9UcmFja10gVGV4dFRyYWNrQ29uc3RydWN0b3IgVGV4dFRyYWNrOwogICAgICAgICBh
dHRyaWJ1dGUgW0NvbmRpdGlvbmFsPVZJREVPX1RSQUNLLCBWOEVuYWJsZWRBdFJ1bnRpbWU9d2Vi
a2l0VmlkZW9UcmFja10gVGV4dFRyYWNrQ3VlQ29uc3RydWN0b3IgVGV4dFRyYWNrQ3VlOyAvLyBV
c2FibGUgd2l0aCB0aGUgbmV3IG9wZXJhdG9yCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKaW5kZXggOWQ2MDQ3ZDRmZTQ2YjU1NGYzM2VlMDU4
NmNjOWIxYmEyODc5YmRiZS4uZTk4ZWJmZDc1YmI5OWM1M2QxMDI3MGQ4ZmJmODhjN2I2MjIwMzE3
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVy
LmNwcApAQCAtOTY5LDcgKzk2OSwzMyBAQCBBdWRpb1NvdXJjZVByb3ZpZGVyKiBNZWRpYVBsYXll
cjo6YXVkaW9Tb3VyY2VQcm92aWRlcigpCiAgICAgcmV0dXJuIG1fcHJpdmF0ZS0+YXVkaW9Tb3Vy
Y2VQcm92aWRlcigpOwogfQogI2VuZGlmIC8vIFdFQl9BVURJTwotICAgIAorCisjaWYgRU5BQkxF
KEVOQ1JZUFRFRF9NRURJQSkKK3ZvaWQgTWVkaWFQbGF5ZXI6OmtleUFkZGVkKGNvbnN0IFN0cmlu
ZyYga2V5U3lzdGVtLCBjb25zdCBTdHJpbmcmIHNlc3Npb25JZCkKK3sKKyAgICBpZiAobV9tZWRp
YVBsYXllckNsaWVudCkKKyAgICAgICAgbV9tZWRpYVBsYXllckNsaWVudC0+bWVkaWFQbGF5ZXJL
ZXlBZGRlZCh0aGlzLCBrZXlTeXN0ZW0sIHNlc3Npb25JZCk7Cit9CisKK3ZvaWQgTWVkaWFQbGF5
ZXI6OmtleUVycm9yKGNvbnN0IFN0cmluZyYga2V5U3lzdGVtLCBjb25zdCBTdHJpbmcmIHNlc3Np
b25JZCwgTWVkaWFQbGF5ZXJDbGllbnQ6Ok1lZGlhS2V5RXJyb3JDb2RlIGVycm9yQ29kZSwgdW5z
aWduZWQgc2hvcnQgc3lzdGVtQ29kZSkKK3sKKyAgICBpZiAobV9tZWRpYVBsYXllckNsaWVudCkK
KyAgICAgICAgbV9tZWRpYVBsYXllckNsaWVudC0+bWVkaWFQbGF5ZXJLZXlFcnJvcih0aGlzLCBr
ZXlTeXN0ZW0sIHNlc3Npb25JZCwgZXJyb3JDb2RlLCBzeXN0ZW1Db2RlKTsKK30KKwordm9pZCBN
ZWRpYVBsYXllcjo6a2V5TWVzc2FnZShjb25zdCBTdHJpbmcmIGtleVN5c3RlbSwgY29uc3QgU3Ry
aW5nJiBzZXNzaW9uSWQsIGNvbnN0IHVuc2lnbmVkIGNoYXIqIG1lc3NhZ2UsIHVuc2lnbmVkIG1l
c3NhZ2VMZW5ndGgpCit7CisgICAgaWYgKG1fbWVkaWFQbGF5ZXJDbGllbnQpCisgICAgICAgIG1f
bWVkaWFQbGF5ZXJDbGllbnQtPm1lZGlhUGxheWVyS2V5TWVzc2FnZSh0aGlzLCBrZXlTeXN0ZW0s
IHNlc3Npb25JZCwgbWVzc2FnZSwgbWVzc2FnZUxlbmd0aCk7Cit9CisKK3ZvaWQgTWVkaWFQbGF5
ZXI6OmtleU5lZWRlZChjb25zdCBTdHJpbmcmIGtleVN5c3RlbSwgY29uc3QgU3RyaW5nJiBzZXNz
aW9uSWQsIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGluaXREYXRhLCB1bnNpZ25lZCBpbml0RGF0YUxl
bmd0aCkKK3sKKyAgICBpZiAobV9tZWRpYVBsYXllckNsaWVudCkKKyAgICAgICAgbV9tZWRpYVBs
YXllckNsaWVudC0+bWVkaWFQbGF5ZXJLZXlOZWVkZWQodGhpcywga2V5U3lzdGVtLCBzZXNzaW9u
SWQsIGluaXREYXRhLCBpbml0RGF0YUxlbmd0aCk7Cit9CisjZW5kaWYKKwogU3RyaW5nIE1lZGlh
UGxheWVyOjpyZWZlcnJlcigpIGNvbnN0CiB7CiAgICAgaWYgKCFtX21lZGlhUGxheWVyQ2xpZW50
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgKaW5k
ZXggMTUxM2FmYjk4M2NhYmRkM2UxYWI4NjdmMzU2OTkzNWVmNjU4MDRiMC4uZDliNmUyNzAwM2Ni
MWY4YzliZDY5MDkwMDRhMTI4NTBhZDU4ZjljMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCkBAIC0xNjgsNiArMTY4LDE0IEBAIHB1YmxpYzoK
ICAgICB2aXJ0dWFsIFN0cmluZyBtZWRpYVBsYXllclNvdXJjZVVSTCgpIGNvbnN0IHsgcmV0dXJu
ICJ4LW1lZGlhLXNvdXJjZS11bnN1cHBvcnRlZDoiOyB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShF
TkNSWVBURURfTUVESUEpCisgICAgZW51bSBNZWRpYUtleUVycm9yQ29kZSB7IFVua25vd25FcnJv
ciA9IDEsIENsaWVudEVycm9yLCBTZXJ2aWNlRXJyb3IsIE91dHB1dEVycm9yLCBIYXJkd2FyZUNo
YW5nZUVycm9yLCBEb21haW5FcnJvciB9OworICAgIHZpcnR1YWwgdm9pZCBtZWRpYVBsYXllcktl
eUFkZGVkKE1lZGlhUGxheWVyKiwgY29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0sIGNvbnN0IFN0cmlu
ZyYgc2Vzc2lvbklkKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgbWVkaWFQbGF5ZXJLZXlFcnJvcihN
ZWRpYVBsYXllciosIGNvbnN0IFN0cmluZyYga2V5U3lzdGVtLCBjb25zdCBTdHJpbmcmIHNlc3Np
b25JZCwgTWVkaWFLZXlFcnJvckNvZGUgZXJyb3JDb2RlLCB1bnNpZ25lZCBzaG9ydCBzeXN0ZW1D
b2RlKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgbWVkaWFQbGF5ZXJLZXlNZXNzYWdlKE1lZGlhUGxh
eWVyKiwgY29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0sIGNvbnN0IFN0cmluZyYgc2Vzc2lvbklkLCBj
b25zdCB1bnNpZ25lZCBjaGFyKiBtZXNzYWdlLCB1bnNpZ25lZCBtZXNzYWdlTGVuZ3RoKSB7IH0K
KyAgICB2aXJ0dWFsIHZvaWQgbWVkaWFQbGF5ZXJLZXlOZWVkZWQoTWVkaWFQbGF5ZXIqLCBjb25z
dCBTdHJpbmcmIGtleVN5c3RlbSwgY29uc3QgU3RyaW5nJiBzZXNzaW9uSWQsIGNvbnN0IHVuc2ln
bmVkIGNoYXIqIGluaXREYXRhLCB1bnNpZ25lZCBpbml0RGF0YUxlbmd0aCkgeyB9CisjZW5kaWYK
KwogICAgIHZpcnR1YWwgU3RyaW5nIG1lZGlhUGxheWVyUmVmZXJyZXIoKSBjb25zdCB7IHJldHVy
biBTdHJpbmcoKTsgfQogICAgIHZpcnR1YWwgU3RyaW5nIG1lZGlhUGxheWVyVXNlckFnZW50KCkg
Y29uc3QgeyByZXR1cm4gU3RyaW5nKCk7IH0KIH07CkBAIC0zNDYsNiArMzU0LDEzIEBAIHB1Ymxp
YzoKICAgICBTdHJpbmcgc291cmNlVVJMKCkgY29uc3Q7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShF
TkNSWVBURURfTUVESUEpCisgICAgdm9pZCBrZXlBZGRlZChjb25zdCBTdHJpbmcmIGtleVN5c3Rl
bSwgY29uc3QgU3RyaW5nJiBzZXNzaW9uSWQpOworICAgIHZvaWQga2V5RXJyb3IoY29uc3QgU3Ry
aW5nJiBrZXlTeXN0ZW0sIGNvbnN0IFN0cmluZyYgc2Vzc2lvbklkLCBNZWRpYVBsYXllckNsaWVu
dDo6TWVkaWFLZXlFcnJvckNvZGUsIHVuc2lnbmVkIHNob3J0IHN5c3RlbUNvZGUpOworICAgIHZv
aWQga2V5TWVzc2FnZShjb25zdCBTdHJpbmcmIGtleVN5c3RlbSwgY29uc3QgU3RyaW5nJiBzZXNz
aW9uSWQsIGNvbnN0IHVuc2lnbmVkIGNoYXIqIG1lc3NhZ2UsIHVuc2lnbmVkIG1lc3NhZ2VMZW5n
dGgpOworICAgIHZvaWQga2V5TmVlZGVkKGNvbnN0IFN0cmluZyYga2V5U3lzdGVtLCBjb25zdCBT
dHJpbmcmIHNlc3Npb25JZCwgY29uc3QgdW5zaWduZWQgY2hhciogaW5pdERhdGEsIHVuc2lnbmVk
IGluaXREYXRhTGVuZ3RoKTsKKyNlbmRpZgorCiAgICAgU3RyaW5nIHJlZmVycmVyKCkgY29uc3Q7
CiAgICAgU3RyaW5nIHVzZXJBZ2VudCgpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3B1YmxpYy9XZWJNZWRpYVBsYXllckNsaWVudC5oIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9wdWJsaWMvV2ViTWVkaWFQbGF5ZXJDbGllbnQuaAppbmRleCAxOWVhMjQyZWNh
ZDlhYjFiZjgzNjBlODc5NTA5YmU2OTU0ZDc3MDYxLi5jOWQzMWU0ZDEyYTRkODk3NjJiNTIxOGMw
ZGQ0YTFlMDg3MTQzNmExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1Ymxp
Yy9XZWJNZWRpYVBsYXllckNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVi
bGljL1dlYk1lZGlhUGxheWVyQ2xpZW50LmgKQEAgLTQwLDYgKzQwLDE1IEBAIGNsYXNzIFdlYlVS
TDsKIAogY2xhc3MgV2ViTWVkaWFQbGF5ZXJDbGllbnQgewogcHVibGljOgorICAgIGVudW0gTWVk
aWFLZXlFcnJvckNvZGUgeworICAgICAgICBVbmtub3duRXJyb3IgPSAxLAorICAgICAgICBDbGll
bnRFcnJvciwKKyAgICAgICAgU2VydmljZUVycm9yLAorICAgICAgICBPdXRwdXRFcnJvciwKKyAg
ICAgICAgSGFyZHdhcmVDaGFuZ2VFcnJvciwKKyAgICAgICAgRG9tYWluRXJyb3IKKyAgICB9Owor
CiAgICAgdmlydHVhbCB2b2lkIG5ldHdvcmtTdGF0ZUNoYW5nZWQoKSA9IDA7CiAgICAgdmlydHVh
bCB2b2lkIHJlYWR5U3RhdGVDaGFuZ2VkKCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCB2b2x1bWVD
aGFuZ2VkKGZsb2F0KSA9IDA7CkBAIC01Niw2ICs2NSwxMCBAQCBwdWJsaWM6CiAgICAgdmlydHVh
bCBXZWJNZWRpYVBsYXllcjo6UHJlbG9hZCBwcmVsb2FkKCkgY29uc3QgPSAwOwogICAgIHZpcnR1
YWwgdm9pZCBzb3VyY2VPcGVuZWQoKSA9IDA7CiAgICAgdmlydHVhbCBXZWJLaXQ6OldlYlVSTCBz
b3VyY2VVUkwoKSBjb25zdCA9IDA7CisgICAgdmlydHVhbCB2b2lkIGtleUFkZGVkKGNvbnN0IFdl
YlN0cmluZyYsIGNvbnN0IFdlYlN0cmluZyYpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQga2V5RXJy
b3IoY29uc3QgV2ViU3RyaW5nJiwgY29uc3QgV2ViU3RyaW5nJiwgTWVkaWFLZXlFcnJvckNvZGUs
IHVuc2lnbmVkIHNob3J0IHN5c3RlbUNvZGUpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQga2V5TWVz
c2FnZShjb25zdCBXZWJTdHJpbmcmLCBjb25zdCBXZWJTdHJpbmcmLCBjb25zdCB1bnNpZ25lZCBj
aGFyKiwgdW5zaWduZWQpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQga2V5TmVlZGVkKGNvbnN0IFdl
YlN0cmluZyYsIGNvbnN0IFdlYlN0cmluZyYsIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGluaXREYXRh
LCB1bnNpZ25lZCBpbml0RGF0YUxlbmd0aCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBkaXNhYmxl
QWNjZWxlcmF0ZWRDb21wb3NpdGluZygpID0gMDsKIHByb3RlY3RlZDoKICAgICB+V2ViTWVkaWFQ
bGF5ZXJDbGllbnQoKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L0Fzc2VydE1hdGNoaW5nRW51bXMuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQXNz
ZXJ0TWF0Y2hpbmdFbnVtcy5jcHAKaW5kZXggMjkzZjQ4OTRlNzMyNTcwMTg5OWIwODc2NDk3Y2Vk
YWQ0NTViZDljMi4uNzJjMmJlNjVmNWQxOTFkZTJlMTU1NzcyMTUxZmI0YTMxYmIzNjE0YyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5j
cHAKQEAgLTg3LDYgKzg3LDcgQEAKICNpbmNsdWRlICJXZWJJY29uVVJMLmgiCiAjaW5jbHVkZSAi
V2ViSW5wdXRFbGVtZW50LmgiCiAjaW5jbHVkZSAiV2ViTWVkaWFQbGF5ZXIuaCIKKyNpbmNsdWRl
ICJXZWJNZWRpYVBsYXllckNsaWVudC5oIgogI2luY2x1ZGUgIldlYk5vdGlmaWNhdGlvblByZXNl
bnRlci5oIgogI2luY2x1ZGUgIldlYlBhZ2VWaXNpYmlsaXR5U3RhdGUuaCIKICNpbmNsdWRlICJX
ZWJSZWZlcnJlclBvbGljeS5oIgpAQCAtMzkyLDYgKzM5MywxMyBAQCBDT01QSUxFX0FTU0VSVF9N
QVRDSElOR19FTlVNKFdlYk1lZGlhUGxheWVyOjpMaXZlU3RyZWFtLCBNZWRpYVBsYXllcjo6TGl2
ZVN0cmVhbQogQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJNZWRpYVBsYXllcjo6Tm9F
cnJvciwgTWVkaWFQbGF5ZXI6Ok5vRXJyb3IpOwogQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5V
TShXZWJNZWRpYVBsYXllcjo6SW52YWxpZFBsYXllclN0YXRlLCBNZWRpYVBsYXllcjo6SW52YWxp
ZFBsYXllclN0YXRlKTsKIENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViTWVkaWFQbGF5
ZXI6OktleVN5c3RlbU5vdFN1cHBvcnRlZCwgTWVkaWFQbGF5ZXI6OktleVN5c3RlbU5vdFN1cHBv
cnRlZCk7CisKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViTWVkaWFQbGF5ZXJDbGll
bnQ6OlVua25vd25FcnJvciwgTWVkaWFQbGF5ZXJDbGllbnQ6OlVua25vd25FcnJvcik7CitDT01Q
SUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYk1lZGlhUGxheWVyQ2xpZW50OjpDbGllbnRFcnJv
ciwgTWVkaWFQbGF5ZXJDbGllbnQ6OkNsaWVudEVycm9yKTsKK0NPTVBJTEVfQVNTRVJUX01BVENI
SU5HX0VOVU0oV2ViTWVkaWFQbGF5ZXJDbGllbnQ6OlNlcnZpY2VFcnJvciwgTWVkaWFQbGF5ZXJD
bGllbnQ6OlNlcnZpY2VFcnJvcik7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYk1l
ZGlhUGxheWVyQ2xpZW50OjpPdXRwdXRFcnJvciwgTWVkaWFQbGF5ZXJDbGllbnQ6Ok91dHB1dEVy
cm9yKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViTWVkaWFQbGF5ZXJDbGllbnQ6
OkhhcmR3YXJlQ2hhbmdlRXJyb3IsIE1lZGlhUGxheWVyQ2xpZW50OjpIYXJkd2FyZUNoYW5nZUVy
cm9yKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViTWVkaWFQbGF5ZXJDbGllbnQ6
OkRvbWFpbkVycm9yLCBNZWRpYVBsYXllckNsaWVudDo6RG9tYWluRXJyb3IpOwogI2VuZGlmCiAK
IENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViVmlkZW9GcmFtZTo6Rm9ybWF0SW52YWxp
ZCwgVmlkZW9GcmFtZUNocm9taXVtOjpJbnZhbGlkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL1dlYk1lZGlhUGxheWVyQ2xpZW50SW1wbC5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJNZWRpYVBsYXllckNsaWVudEltcGwuY3BwCmluZGV4IDMyMWFm
NmFiODc4OTdhY2JhZTcwZjE1ODVhOTJmYWRlODFkYzk0NjAuLjVjN2IyYzkyOWY5ZTQ4YmI0YzFk
OGQ4ZDQ1NzI5OGYyNDdmMmNmZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL1dlYk1lZGlhUGxheWVyQ2xpZW50SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsLmNwcApAQCAtMjE3LDYgKzIxNyw1NiBA
QCBXZWJLaXQ6OldlYlVSTCBXZWJNZWRpYVBsYXllckNsaWVudEltcGw6OnNvdXJjZVVSTCgpIGNv
bnN0CiAjZW5kaWYKIH0KIAordm9pZCBXZWJNZWRpYVBsYXllckNsaWVudEltcGw6OmtleUFkZGVk
KGNvbnN0IFdlYlN0cmluZyYga2V5U3lzdGVtLCBjb25zdCBXZWJTdHJpbmcmIHNlc3Npb25JZCkK
K3sKKyNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQorICAgIEFTU0VSVChtX21lZGlhUGxheWVy
KTsKKyAgICBtX21lZGlhUGxheWVyLT5rZXlBZGRlZChrZXlTeXN0ZW0sIHNlc3Npb25JZCk7Cisj
ZWxzZQorICAgIFVOVVNFRF9QQVJBTShrZXlTeXN0ZW0pOworICAgIFVOVVNFRF9QQVJBTShzZXNz
aW9uSWQpOworI2VuZGlmCit9CisKK3ZvaWQgV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsOjprZXlF
cnJvcihjb25zdCBXZWJTdHJpbmcmIGtleVN5c3RlbSwgY29uc3QgV2ViU3RyaW5nJiBzZXNzaW9u
SWQsIE1lZGlhS2V5RXJyb3JDb2RlIGVycm9yQ29kZSwgdW5zaWduZWQgc2hvcnQgc3lzdGVtQ29k
ZSkKK3sKKyNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQorICAgIEFTU0VSVChtX21lZGlhUGxh
eWVyKTsKKyAgICBtX21lZGlhUGxheWVyLT5rZXlFcnJvcihrZXlTeXN0ZW0sIHNlc3Npb25JZCwg
c3RhdGljX2Nhc3Q8TWVkaWFQbGF5ZXJDbGllbnQ6Ok1lZGlhS2V5RXJyb3JDb2RlPihlcnJvckNv
ZGUpLCBzeXN0ZW1Db2RlKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKGtleVN5c3RlbSk7Cisg
ICAgVU5VU0VEX1BBUkFNKHNlc3Npb25JZCk7CisgICAgVU5VU0VEX1BBUkFNKGVycm9yQ29kZSk7
CisgICAgVU5VU0VEX1BBUkFNKHN5c3RlbUNvZGUpOworI2VuZGlmCit9CisKK3ZvaWQgV2ViTWVk
aWFQbGF5ZXJDbGllbnRJbXBsOjprZXlNZXNzYWdlKGNvbnN0IFdlYlN0cmluZyYga2V5U3lzdGVt
LCBjb25zdCBXZWJTdHJpbmcmIHNlc3Npb25JZCwgY29uc3QgdW5zaWduZWQgY2hhciogbWVzc2Fn
ZSwgdW5zaWduZWQgbWVzc2FnZUxlbmd0aCkKK3sKKyNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElB
KQorICAgIEFTU0VSVChtX21lZGlhUGxheWVyKTsKKyAgICBtX21lZGlhUGxheWVyLT5rZXlNZXNz
YWdlKGtleVN5c3RlbSwgc2Vzc2lvbklkLCBtZXNzYWdlLCBtZXNzYWdlTGVuZ3RoKTsKKyNlbHNl
CisgICAgVU5VU0VEX1BBUkFNKGtleVN5c3RlbSk7CisgICAgVU5VU0VEX1BBUkFNKHNlc3Npb25J
ZCk7CisgICAgVU5VU0VEX1BBUkFNKG1lc3NhZ2UpOworICAgIFVOVVNFRF9QQVJBTShtZXNzYWdl
TGVuZ3RoKTsKKyNlbmRpZgorfQorCit2b2lkIFdlYk1lZGlhUGxheWVyQ2xpZW50SW1wbDo6a2V5
TmVlZGVkKGNvbnN0IFdlYlN0cmluZyYga2V5U3lzdGVtLCBjb25zdCBXZWJTdHJpbmcmIHNlc3Np
b25JZCwgY29uc3QgdW5zaWduZWQgY2hhciogaW5pdERhdGEsIHVuc2lnbmVkIGluaXREYXRhTGVu
Z3RoKQoreworI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCisgICAgQVNTRVJUKG1fbWVkaWFQ
bGF5ZXIpOworICAgIG1fbWVkaWFQbGF5ZXItPmtleU5lZWRlZChrZXlTeXN0ZW0sIHNlc3Npb25J
ZCwgaW5pdERhdGEsIGluaXREYXRhTGVuZ3RoKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKGtl
eVN5c3RlbSk7CisgICAgVU5VU0VEX1BBUkFNKHNlc3Npb25JZCk7CisgICAgVU5VU0VEX1BBUkFN
KGluaXREYXRhKTsKKyAgICBVTlVTRURfUEFSQU0oaW5pdERhdGFMZW5ndGgpOworI2VuZGlmCit9
CisKIHZvaWQgV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsOjpkaXNhYmxlQWNjZWxlcmF0ZWRDb21w
b3NpdGluZygpCiB7CiAgICAgbV9zdXBwb3J0c0FjY2VsZXJhdGVkQ29tcG9zaXRpbmcgPSBmYWxz
ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYk1lZGlhUGxheWVy
Q2xpZW50SW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViTWVkaWFQbGF5ZXJD
bGllbnRJbXBsLmgKaW5kZXggODg1NDNhNGRhYmZkOGI3MWQ1MmQ3N2Y1ODI0NWQ4NWY4ZmY1ZjZi
NS4uNTBiY2MwMTgwZjA0YWEzNDczODc4MTg2Yzg4NDY4NjM0MjRmOTE1NyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsLmgKKysr
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsLmgK
QEAgLTg2LDYgKzg2LDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIFdlYk1lZGlhUGxheWVyOjpQ
cmVsb2FkIHByZWxvYWQoKSBjb25zdDsKICAgICB2aXJ0dWFsIHZvaWQgc291cmNlT3BlbmVkKCk7
CiAgICAgdmlydHVhbCBXZWJLaXQ6OldlYlVSTCBzb3VyY2VVUkwoKSBjb25zdDsKKyAgICB2aXJ0
dWFsIHZvaWQga2V5QWRkZWQoY29uc3QgV2ViU3RyaW5nJiBrZXlTeXN0ZW0sIGNvbnN0IFdlYlN0
cmluZyYgc2Vzc2lvbklkKTsKKyAgICB2aXJ0dWFsIHZvaWQga2V5RXJyb3IoY29uc3QgV2ViU3Ry
aW5nJiBrZXlTeXN0ZW0sIGNvbnN0IFdlYlN0cmluZyYgc2Vzc2lvbklkLCBNZWRpYUtleUVycm9y
Q29kZSwgdW5zaWduZWQgc2hvcnQgc3lzdGVtQ29kZSk7CisgICAgdmlydHVhbCB2b2lkIGtleU1l
c3NhZ2UoY29uc3QgV2ViU3RyaW5nJiBrZXlTeXN0ZW0sIGNvbnN0IFdlYlN0cmluZyYgc2Vzc2lv
bklkLCBjb25zdCB1bnNpZ25lZCBjaGFyKiBtZXNzYWdlLCB1bnNpZ25lZCBtZXNzYWdlTGVuZ3Ro
KTsKKyAgICB2aXJ0dWFsIHZvaWQga2V5TmVlZGVkKGNvbnN0IFdlYlN0cmluZyYga2V5U3lzdGVt
LCBjb25zdCBXZWJTdHJpbmcmIHNlc3Npb25JZCwgY29uc3QgdW5zaWduZWQgY2hhciogaW5pdERh
dGEsIHVuc2lnbmVkIGluaXREYXRhTGVuZ3RoKTsKICAgICB2aXJ0dWFsIHZvaWQgZGlzYWJsZUFj
Y2VsZXJhdGVkQ29tcG9zaXRpbmcoKTsKIAogICAgIC8vIE1lZGlhUGxheWVyUHJpdmF0ZUludGVy
ZmFjZSBtZXRob2RzOgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGZhNzYwYzdiN2U2ZWFlZDA1Mzg2NDY0ZDQ4ZDg2MmMxMTE4
Y2RkNjUuLjVhMzdkZmNjYzczN2IwN2U0ZDc1OTBjNjlkMjcyM2QxZmZhYTRkYjAgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAg
LTEsNSArMSwyOSBAQAogMjAxMi0wNC0xMSAgRGF2aWQgRG9yd2luICA8ZGRvcndpbkBjaHJvbWl1
bS5vcmc+CiAKKyAgICAgICAgQWRkIEVuY3J5cHRlZCBNZWRpYSBFeHRlbnNpb25zIGV2ZW50cyBh
bmQgZXJyb3JzIHRvIEhUTUxNZWRpYUVsZW1lbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTgyOTc0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgVGhlIG5ldyBldmVudHMgYW5kIGVycm9ycyBhcmUgYmVoaW5k
IHRoZSBFTkFCTEUoRU5DUllQVEVEX01FRElBKSBmZWF0dXJlIGRlZmluZS4KKyAgICAgICAgSW1w
bGVtZW50YXRpb24gaXMgYmFzZWQgb24gdjAuMSBvZiB0aGUgZHJhZnQgcHJvcG9zYWwgYXQKKyAg
ICAgICAgaHR0cDovL2R2Y3MudzMub3JnL2hnL2h0bWwtbWVkaWEvcmF3LWZpbGUvdGlwL2VuY3J5
cHRlZC1tZWRpYS9lbmNyeXB0ZWQtbWVkaWEuaHRtbCNldmVudHMuCisKKyAgICAgICAgKiBmYXN0
L2V2ZW50cy9jb25zdHJ1Y3RvcnMvbWVkaWEta2V5LWV2ZW50LWNvbnN0cnVjdG9yLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL21lZGlhLWtl
eS1ldmVudC1jb25zdHJ1Y3Rvci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2pzL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qczoKKyAgICAgICAgKHNob3VsZEJlWmVybyk6CisgICAgICAgIChz
aG91bGRCZUVtcHR5U3RyaW5nKToKKyAgICAgICAgKiBtZWRpYS9lbmNyeXB0ZWQtbWVkaWEvZW5j
cnlwdGVkLW1lZGlhLWNvbnN0YW50cy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIG1l
ZGlhL2VuY3J5cHRlZC1tZWRpYS9lbmNyeXB0ZWQtbWVkaWEtY29uc3RhbnRzLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIG1lZGlhL2VuY3J5cHRlZC1tZWRpYS9lbmNyeXB0ZWQtbWVkaWEtZXZlbnRz
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogbWVkaWEvZW5jcnlwdGVkLW1lZGlhL2Vu
Y3J5cHRlZC1tZWRpYS1ldmVudHMuaHRtbDogQWRkZWQuCisgICAgICAgICogbWVkaWEvdmlkZW8t
dGVzdC5qczoKKyAgICAgICAgKHRlc3RFeHBlY3RlZCk6CisgICAgICAgICh0ZXN0QXJyYXlzRXF1
YWwpOgorCisyMDEyLTA0LTExICBEYXZpZCBEb3J3aW4gIDxkZG9yd2luQGNocm9taXVtLm9yZz4K
KwogICAgICAgICBBZGQga2V5U3lzdGVtIGF0dHJpYnV0ZSB0byBjYW5QbGF5VHlwZSgpIGZvciBF
bmNyeXB0ZWQgTWVkaWEgRXh0ZW5zaW9ucwogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9ODI5NzMKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9l
dmVudHMvY29uc3RydWN0b3JzL21lZGlhLWtleS1ldmVudC1jb25zdHJ1Y3Rvci1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9jb25zdHJ1Y3RvcnMvbWVkaWEta2V5LWV2ZW50
LWNvbnN0cnVjdG9yLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mOTcyNTcxZGFkNjlkYTI1MjZk
MTM2NDZkNzNmYWYwY2ViMjAyZTA0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9ldmVudHMvY29uc3RydWN0b3JzL21lZGlhLWtleS1ldmVudC1jb25zdHJ1Y3Rvci1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMDIgQEAKK1RoaXMgdGVzdHMgdGhlIGNvbnN0cnVjdG9yIGZvciB0
aGUgTWVkaWFLZXlFdmVudCBET00gY2xhc3MuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworCisKKyoqKiBObyBpbml0aWFsaXplciBwYXNzZWQgKioqCitQQVNTIG5ldyBNZWRpYUtleUV2
ZW50KCdNZWRpYUtleUV2ZW50JykuYnViYmxlcyBpcyBmYWxzZQorUEFTUyBuZXcgTWVkaWFLZXlF
dmVudCgnTWVkaWFLZXlFdmVudCcpLmNhbmNlbGFibGUgaXMgZmFsc2UKK1BBU1MgbmV3IE1lZGlh
S2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnKS5rZXlTeXN0ZW0gaXMgIiIKK1BBU1MgbmV3IE1lZGlh
S2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnKS5zZXNzaW9uSWQgaXMgIiIKK1BBU1MgbmV3IE1lZGlh
S2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnKS5pbml0RGF0YSBpcyBudWxsCitQQVNTIG5ldyBNZWRp
YUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JykubWVzc2FnZSBpcyBudWxsCitQQVNTIG5ldyBNZWRp
YUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JykuZGVmYXVsdFVybCBpcyAiIgorUEFTUyBuZXcgTWVk
aWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcpLmVycm9yQ29kZSBpcyBudWxsCitQQVNTIG5ldyBN
ZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50Jykuc3lzdGVtQ29kZSBpcyAwCisKKyoqKiBCdWJi
bGVzIGFuZCBjYW5jZWxhYmxlIHRydWUsIG90aGVyIG1lbWJlcnMgYXJlIG1pc3NpbmcgKioqCitQ
QVNTIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBidWJibGVzOiB0cnVlLCBj
YW5jZWxhYmxlOiB0cnVlIH0pLmJ1YmJsZXMgaXMgdHJ1ZQorUEFTUyBuZXcgTWVkaWFLZXlFdmVu
dCgnTWVkaWFLZXlFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSB9KS5j
YW5jZWxhYmxlIGlzIHRydWUKK1BBU1MgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQn
LCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUgfSkua2V5U3lzdGVtIGlzICIiCitQ
QVNTIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBidWJibGVzOiB0cnVlLCBj
YW5jZWxhYmxlOiB0cnVlIH0pLnNlc3Npb25JZCBpcyAiIgorUEFTUyBuZXcgTWVkaWFLZXlFdmVu
dCgnTWVkaWFLZXlFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSB9KS5p
bml0RGF0YSBpcyBudWxsCitQQVNTIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50Jywg
eyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlIH0pLm1lc3NhZ2UgaXMgbnVsbAorUEFT
UyBuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2Fu
Y2VsYWJsZTogdHJ1ZSB9KS5kZWZhdWx0VXJsIGlzICIiCitQQVNTIG5ldyBNZWRpYUtleUV2ZW50
KCdNZWRpYUtleUV2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlIH0pLmVy
cm9yQ29kZSBpcyBudWxsCitQQVNTIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50Jywg
eyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlIH0pLnN5c3RlbUNvZGUgaXMgMAorCisq
KiogQnViYmxlcyBhbmQgY2FuY2VsYWJsZSB0cnVlLCBpbnZhbGlkIG90aGVyIG1lbWJlcnMgKioq
CitQQVNTIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBidWJibGVzOiB0cnVl
LCBjYW5jZWxhYmxlOiB0cnVlLCBrZXlTeXN0ZW06IHVuZGVmaW5lZCwgc2Vzc2lvbklkOiB1bmRl
ZmluZWQsIGluaXREYXRhOiBVaW50OEFycmF5LCBtZXNzYWdlOiBVaW50OEFycmF5LCBkZWZhdWx0
VXJsOiB1bmRlZmluZWQsIGVycm9yQ29kZTogTWVkaWFLZXlFcnJvciwgc3lzdGVtQ29kZTogdW5k
ZWZpbmVkIH0pLmJ1YmJsZXMgaXMgdHJ1ZQorUEFTUyBuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFL
ZXlFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwga2V5U3lzdGVtOiB1
bmRlZmluZWQsIHNlc3Npb25JZDogdW5kZWZpbmVkLCBpbml0RGF0YTogVWludDhBcnJheSwgbWVz
c2FnZTogVWludDhBcnJheSwgZGVmYXVsdFVybDogdW5kZWZpbmVkLCBlcnJvckNvZGU6IE1lZGlh
S2V5RXJyb3IsIHN5c3RlbUNvZGU6IHVuZGVmaW5lZCB9KS5jYW5jZWxhYmxlIGlzIHRydWUKK1BB
U1MgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNh
bmNlbGFibGU6IHRydWUsIGtleVN5c3RlbTogdW5kZWZpbmVkLCBzZXNzaW9uSWQ6IHVuZGVmaW5l
ZCwgaW5pdERhdGE6IFVpbnQ4QXJyYXksIG1lc3NhZ2U6IFVpbnQ4QXJyYXksIGRlZmF1bHRVcmw6
IHVuZGVmaW5lZCwgZXJyb3JDb2RlOiBNZWRpYUtleUVycm9yLCBzeXN0ZW1Db2RlOiB1bmRlZmlu
ZWQgfSkua2V5U3lzdGVtIGlzICJ1bmRlZmluZWQiCitQQVNTIG5ldyBNZWRpYUtleUV2ZW50KCdN
ZWRpYUtleUV2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlLCBrZXlTeXN0
ZW06IHVuZGVmaW5lZCwgc2Vzc2lvbklkOiB1bmRlZmluZWQsIGluaXREYXRhOiBVaW50OEFycmF5
LCBtZXNzYWdlOiBVaW50OEFycmF5LCBkZWZhdWx0VXJsOiB1bmRlZmluZWQsIGVycm9yQ29kZTog
TWVkaWFLZXlFcnJvciwgc3lzdGVtQ29kZTogdW5kZWZpbmVkIH0pLnNlc3Npb25JZCBpcyAidW5k
ZWZpbmVkIgorUEFTUyBuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgYnViYmxl
czogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwga2V5U3lzdGVtOiB1bmRlZmluZWQsIHNlc3Npb25J
ZDogdW5kZWZpbmVkLCBpbml0RGF0YTogVWludDhBcnJheSwgbWVzc2FnZTogVWludDhBcnJheSwg
ZGVmYXVsdFVybDogdW5kZWZpbmVkLCBlcnJvckNvZGU6IE1lZGlhS2V5RXJyb3IsIHN5c3RlbUNv
ZGU6IHVuZGVmaW5lZCB9KS5pbml0RGF0YSBpcyBudWxsCitQQVNTIG5ldyBNZWRpYUtleUV2ZW50
KCdNZWRpYUtleUV2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlLCBrZXlT
eXN0ZW06IHVuZGVmaW5lZCwgc2Vzc2lvbklkOiB1bmRlZmluZWQsIGluaXREYXRhOiBVaW50OEFy
cmF5LCBtZXNzYWdlOiBVaW50OEFycmF5LCBkZWZhdWx0VXJsOiB1bmRlZmluZWQsIGVycm9yQ29k
ZTogTWVkaWFLZXlFcnJvciwgc3lzdGVtQ29kZTogdW5kZWZpbmVkIH0pLm1lc3NhZ2UgaXMgbnVs
bAorUEFTUyBuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgYnViYmxlczogdHJ1
ZSwgY2FuY2VsYWJsZTogdHJ1ZSwga2V5U3lzdGVtOiB1bmRlZmluZWQsIHNlc3Npb25JZDogdW5k
ZWZpbmVkLCBpbml0RGF0YTogVWludDhBcnJheSwgbWVzc2FnZTogVWludDhBcnJheSwgZGVmYXVs
dFVybDogdW5kZWZpbmVkLCBlcnJvckNvZGU6IE1lZGlhS2V5RXJyb3IsIHN5c3RlbUNvZGU6IHVu
ZGVmaW5lZCB9KS5kZWZhdWx0VXJsIGlzICJ1bmRlZmluZWQiCitQQVNTIG5ldyBNZWRpYUtleUV2
ZW50KCdNZWRpYUtleUV2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlLCBr
ZXlTeXN0ZW06IHVuZGVmaW5lZCwgc2Vzc2lvbklkOiB1bmRlZmluZWQsIGluaXREYXRhOiBVaW50
OEFycmF5LCBtZXNzYWdlOiBVaW50OEFycmF5LCBkZWZhdWx0VXJsOiB1bmRlZmluZWQsIGVycm9y
Q29kZTogTWVkaWFLZXlFcnJvciwgc3lzdGVtQ29kZTogdW5kZWZpbmVkIH0pLmVycm9yQ29kZSBp
cyBudWxsCitQQVNTIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBidWJibGVz
OiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlLCBrZXlTeXN0ZW06IHVuZGVmaW5lZCwgc2Vzc2lvbklk
OiB1bmRlZmluZWQsIGluaXREYXRhOiBVaW50OEFycmF5LCBtZXNzYWdlOiBVaW50OEFycmF5LCBk
ZWZhdWx0VXJsOiB1bmRlZmluZWQsIGVycm9yQ29kZTogTWVkaWFLZXlFcnJvciwgc3lzdGVtQ29k
ZTogdW5kZWZpbmVkIH0pLnN5c3RlbUNvZGUgaXMgMAorCisqKiogSW5pdGlhbGl6ZSAna2V5U3lz
dGVtJyB3aXRoIGEgaW52YWxpZCB2YWx1ZXMgKioqCitQQVNTIG5ldyBNZWRpYUtleUV2ZW50KCdN
ZWRpYUtleUV2ZW50JywgeyBrZXlTeXN0ZW06IGVtcHR5T2JqZWN0IH0pLmtleVN5c3RlbSBpcyAi
W29iamVjdCBPYmplY3RdIgorUEFTUyBuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcs
IHsga2V5U3lzdGVtOiBkb2N1bWVudCB9KS5rZXlTeXN0ZW0gaXMgIltvYmplY3QgSFRNTERvY3Vt
ZW50XSIKKworKioqIEluaXRpYWxpemUgJ3Nlc3Npb25JZCcgd2l0aCBhIGludmFsaWQgdmFsdWVz
ICoqKgorUEFTUyBuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgc2Vzc2lvbklk
OiBlbXB0eU9iamVjdCB9KS5zZXNzaW9uSWQgaXMgIltvYmplY3QgT2JqZWN0XSIKK1BBU1MgbmV3
IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IHNlc3Npb25JZDogZG9jdW1lbnQgfSku
c2Vzc2lvbklkIGlzICJbb2JqZWN0IEhUTUxEb2N1bWVudF0iCisKKyoqKiBJbml0aWFsaXplICdp
bml0RGF0YScgd2l0aCBhIGludmFsaWQgdmFsdWVzICoqKgorUEFTUyBuZXcgTWVkaWFLZXlFdmVu
dCgnTWVkaWFLZXlFdmVudCcsIHsgaW5pdERhdGE6IDEwIH0pLmluaXREYXRhIGlzIG51bGwKK1BB
U1MgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGluaXREYXRhOiAnc3RyaW5n
JyB9KS5pbml0RGF0YSBpcyBudWxsCitQQVNTIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2
ZW50JywgeyBpbml0RGF0YTogZW1wdHlPYmplY3QgfSkuaW5pdERhdGEgaXMgbnVsbAorUEFTUyBu
ZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgaW5pdERhdGE6IGRvY3VtZW50IH0p
LmluaXREYXRhIGlzIG51bGwKKworKioqIEluaXRpYWxpemUgJ21lc3NhZ2UnIHdpdGggYSBpbnZh
bGlkIHZhbHVlcyAqKioKK1BBU1MgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7
IG1lc3NhZ2U6IDEwIH0pLm1lc3NhZ2UgaXMgbnVsbAorUEFTUyBuZXcgTWVkaWFLZXlFdmVudCgn
TWVkaWFLZXlFdmVudCcsIHsgbWVzc2FnZTogJ3N0cmluZycgfSkubWVzc2FnZSBpcyBudWxsCitQ
QVNTIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBtZXNzYWdlOiBlbXB0eU9i
amVjdCB9KS5tZXNzYWdlIGlzIG51bGwKK1BBU1MgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5
RXZlbnQnLCB7IG1lc3NhZ2U6IGRvY3VtZW50IH0pLm1lc3NhZ2UgaXMgbnVsbAorCisqKiogSW5p
dGlhbGl6ZSAnZGVmYXVsdFVybCcgd2l0aCBhIGludmFsaWQgdmFsdWVzICoqKgorUEFTUyBuZXcg
TWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgZGVmYXVsdFVybDogZW1wdHlPYmplY3Qg
fSkuZGVmYXVsdFVybCBpcyAiW29iamVjdCBPYmplY3RdIgorUEFTUyBuZXcgTWVkaWFLZXlFdmVu
dCgnTWVkaWFLZXlFdmVudCcsIHsgZGVmYXVsdFVybDogZG9jdW1lbnQgfSkuZGVmYXVsdFVybCBp
cyAiW29iamVjdCBIVE1MRG9jdW1lbnRdIgorCisqKiogSW5pdGlhbGl6ZSAnZXJyb3JDb2RlJyB3
aXRoIGEgaW52YWxpZCB2YWx1ZXMgKioqCitQQVNTIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtl
eUV2ZW50JywgeyBlcnJvckNvZGU6IDEwIH0pLmVycm9yQ29kZSBpcyBudWxsCitQQVNTIG5ldyBN
ZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBlcnJvckNvZGU6ICdzdHJpbmcnIH0pLmVy
cm9yQ29kZSBpcyBudWxsCitQQVNTIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50Jywg
eyBlcnJvckNvZGU6IGVtcHR5T2JqZWN0IH0pLmVycm9yQ29kZSBpcyBudWxsCitQQVNTIG5ldyBN
ZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBlcnJvckNvZGU6IGRvY3VtZW50IH0pLmVy
cm9yQ29kZSBpcyBudWxsCisKKyoqKiBJbml0aWFsaXplICdzeXN0ZW1Db2RlJyB3aXRoIGEgaW52
YWxpZCB2YWx1ZXMgKioqCitQQVNTIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50Jywg
eyBzeXN0ZW1Db2RlOiAnc3RyaW5nJyB9KS5zeXN0ZW1Db2RlIGlzIDAKK1BBU1MgbmV3IE1lZGlh
S2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IHN5c3RlbUNvZGU6IGVtcHR5T2JqZWN0IH0pLnN5
c3RlbUNvZGUgaXMgMAorUEFTUyBuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsg
c3lzdGVtQ29kZTogZG9jdW1lbnQgfSkuc3lzdGVtQ29kZSBpcyAwCisKKyoqKiBCdWJibGVzIGFu
ZCBjYW5jZWxhYmxlIHRydWUsIHZhbGlkIG90aGVyIG1lbWJlcnMgKioqCitQQVNTIG5ldyBNZWRp
YUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0
cnVlLCBrZXlTeXN0ZW06ICdrZXlTeXN0ZW0nLCBzZXNzaW9uSWQ6ICdzZXNzaW9uSWQnLCBpbml0
RGF0YTogaW5pdERhdGFBcnJheSwgbWVzc2FnZTogbWVzc2FnZUFycmF5LCBkZWZhdWx0VXJsOiAn
ZGVmYXVsdFVybCcsIGVycm9yQ29kZTogZXJyb3JPYmplY3QsIHN5c3RlbUNvZGU6IDEyMyB9KS5i
dWJibGVzIGlzIHRydWUKK1BBU1MgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7
IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIGtleVN5c3RlbTogJ2tleVN5c3RlbScs
IHNlc3Npb25JZDogJ3Nlc3Npb25JZCcsIGluaXREYXRhOiBpbml0RGF0YUFycmF5LCBtZXNzYWdl
OiBtZXNzYWdlQXJyYXksIGRlZmF1bHRVcmw6ICdkZWZhdWx0VXJsJywgZXJyb3JDb2RlOiBlcnJv
ck9iamVjdCwgc3lzdGVtQ29kZTogMTIzIH0pLmNhbmNlbGFibGUgaXMgdHJ1ZQorUEFTUyBuZXcg
TWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJs
ZTogdHJ1ZSwga2V5U3lzdGVtOiAna2V5U3lzdGVtJywgc2Vzc2lvbklkOiAnc2Vzc2lvbklkJywg
aW5pdERhdGE6IGluaXREYXRhQXJyYXksIG1lc3NhZ2U6IG1lc3NhZ2VBcnJheSwgZGVmYXVsdFVy
bDogJ2RlZmF1bHRVcmwnLCBlcnJvckNvZGU6IGVycm9yT2JqZWN0LCBzeXN0ZW1Db2RlOiAxMjMg
fSkua2V5U3lzdGVtIGlzICJrZXlTeXN0ZW0iCitQQVNTIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRp
YUtleUV2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlLCBrZXlTeXN0ZW06
ICdrZXlTeXN0ZW0nLCBzZXNzaW9uSWQ6ICdzZXNzaW9uSWQnLCBpbml0RGF0YTogaW5pdERhdGFB
cnJheSwgbWVzc2FnZTogbWVzc2FnZUFycmF5LCBkZWZhdWx0VXJsOiAnZGVmYXVsdFVybCcsIGVy
cm9yQ29kZTogZXJyb3JPYmplY3QsIHN5c3RlbUNvZGU6IDEyMyB9KS5zZXNzaW9uSWQgaXMgInNl
c3Npb25JZCIKK1BBU1MgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGJ1YmJs
ZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIGtleVN5c3RlbTogJ2tleVN5c3RlbScsIHNlc3Np
b25JZDogJ3Nlc3Npb25JZCcsIGluaXREYXRhOiBpbml0RGF0YUFycmF5LCBtZXNzYWdlOiBtZXNz
YWdlQXJyYXksIGRlZmF1bHRVcmw6ICdkZWZhdWx0VXJsJywgZXJyb3JDb2RlOiBlcnJvck9iamVj
dCwgc3lzdGVtQ29kZTogMTIzIH0pLmluaXREYXRhIGlzIGluaXREYXRhQXJyYXkKK1BBU1MgbmV3
IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFi
bGU6IHRydWUsIGtleVN5c3RlbTogJ2tleVN5c3RlbScsIHNlc3Npb25JZDogJ3Nlc3Npb25JZCcs
IGluaXREYXRhOiBpbml0RGF0YUFycmF5LCBtZXNzYWdlOiBtZXNzYWdlQXJyYXksIGRlZmF1bHRV
cmw6ICdkZWZhdWx0VXJsJywgZXJyb3JDb2RlOiBlcnJvck9iamVjdCwgc3lzdGVtQ29kZTogMTIz
IH0pLm1lc3NhZ2UgaXMgbWVzc2FnZUFycmF5CitQQVNTIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRp
YUtleUV2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlLCBrZXlTeXN0ZW06
ICdrZXlTeXN0ZW0nLCBzZXNzaW9uSWQ6ICdzZXNzaW9uSWQnLCBpbml0RGF0YTogaW5pdERhdGFB
cnJheSwgbWVzc2FnZTogbWVzc2FnZUFycmF5LCBkZWZhdWx0VXJsOiAnZGVmYXVsdFVybCcsIGVy
cm9yQ29kZTogZXJyb3JPYmplY3QsIHN5c3RlbUNvZGU6IDEyMyB9KS5kZWZhdWx0VXJsIGlzICJk
ZWZhdWx0VXJsIgorRkFJTCBuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgYnVi
YmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwga2V5U3lzdGVtOiAna2V5U3lzdGVtJywgc2Vz
c2lvbklkOiAnc2Vzc2lvbklkJywgaW5pdERhdGE6IGluaXREYXRhQXJyYXksIG1lc3NhZ2U6IG1l
c3NhZ2VBcnJheSwgZGVmYXVsdFVybDogJ2RlZmF1bHRVcmwnLCBlcnJvckNvZGU6IGVycm9yT2Jq
ZWN0LCBzeXN0ZW1Db2RlOiAxMjMgfSkuZXJyb3JDb2RlIHNob3VsZCBiZSBmdW5jdGlvbiBNZWRp
YUtleUVycm9yKCkgeyBbbmF0aXZlIGNvZGVdIH0gKG9mIHR5cGUgZnVuY3Rpb24pLiBXYXMgbnVs
bCAob2YgdHlwZSBvYmplY3QpLgorRkFJTCBuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVu
dCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwga2V5U3lzdGVtOiAna2V5U3lz
dGVtJywgc2Vzc2lvbklkOiAnc2Vzc2lvbklkJywgaW5pdERhdGE6IGluaXREYXRhQXJyYXksIG1l
c3NhZ2U6IG1lc3NhZ2VBcnJheSwgZGVmYXVsdFVybDogJ2RlZmF1bHRVcmwnLCBlcnJvckNvZGU6
IGVycm9yT2JqZWN0LCBzeXN0ZW1Db2RlOiAxMjMgfSkuZXJyb3JDb2RlLmNvZGUgc2hvdWxkIGJl
IDEuIFRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IENhbm5vdCByZWFkIHByb3BlcnR5ICdjb2Rl
JyBvZiBudWxsCitQQVNTIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBidWJi
bGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlLCBrZXlTeXN0ZW06ICdrZXlTeXN0ZW0nLCBzZXNz
aW9uSWQ6ICdzZXNzaW9uSWQnLCBpbml0RGF0YTogaW5pdERhdGFBcnJheSwgbWVzc2FnZTogbWVz
c2FnZUFycmF5LCBkZWZhdWx0VXJsOiAnZGVmYXVsdFVybCcsIGVycm9yQ29kZTogZXJyb3JPYmpl
Y3QsIHN5c3RlbUNvZGU6IDEyMyB9KS5zeXN0ZW1Db2RlIGlzIDEyMworCisqKiogSW5pdGlhbGl6
ZSB3aXRoIHZhbGlkIG1lbWJlcnMgKioqCitGQUlMIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtl
eUV2ZW50JywgeyBrZXlTeXN0ZW06ICdrZXlTeXN0ZW0nLCBzZXNzaW9uSWQ6ICdzZXNzaW9uSWQn
LCBpbml0RGF0YTogaW5pdERhdGFBcnJheSwgbWVzc2FnZTogbWVzc2FnZUFycmF5LCBkZWZhdWx0
VXJsOiAnZGVmYXVsdFVybCcsIGVycm9yQ29kZTogZXJyb3JPYmplY3QsIHN5c3RlbUNvZGU6IDEy
MyB9KS5idWJibGVzIHNob3VsZCBiZSB0cnVlLiBXYXMgZmFsc2UuCitGQUlMIG5ldyBNZWRpYUtl
eUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBrZXlTeXN0ZW06ICdrZXlTeXN0ZW0nLCBzZXNzaW9u
SWQ6ICdzZXNzaW9uSWQnLCBpbml0RGF0YTogaW5pdERhdGFBcnJheSwgbWVzc2FnZTogbWVzc2Fn
ZUFycmF5LCBkZWZhdWx0VXJsOiAnZGVmYXVsdFVybCcsIGVycm9yQ29kZTogZXJyb3JPYmplY3Qs
IHN5c3RlbUNvZGU6IDEyMyB9KS5jYW5jZWxhYmxlIHNob3VsZCBiZSB0cnVlLiBXYXMgZmFsc2Uu
CitQQVNTIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBrZXlTeXN0ZW06ICdr
ZXlTeXN0ZW0nLCBzZXNzaW9uSWQ6ICdzZXNzaW9uSWQnLCBpbml0RGF0YTogaW5pdERhdGFBcnJh
eSwgbWVzc2FnZTogbWVzc2FnZUFycmF5LCBkZWZhdWx0VXJsOiAnZGVmYXVsdFVybCcsIGVycm9y
Q29kZTogZXJyb3JPYmplY3QsIHN5c3RlbUNvZGU6IDEyMyB9KS5rZXlTeXN0ZW0gaXMgImtleVN5
c3RlbSIKK1BBU1MgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGtleVN5c3Rl
bTogJ2tleVN5c3RlbScsIHNlc3Npb25JZDogJ3Nlc3Npb25JZCcsIGluaXREYXRhOiBpbml0RGF0
YUFycmF5LCBtZXNzYWdlOiBtZXNzYWdlQXJyYXksIGRlZmF1bHRVcmw6ICdkZWZhdWx0VXJsJywg
ZXJyb3JDb2RlOiBlcnJvck9iamVjdCwgc3lzdGVtQ29kZTogMTIzIH0pLnNlc3Npb25JZCBpcyAi
c2Vzc2lvbklkIgorUEFTUyBuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsga2V5
U3lzdGVtOiAna2V5U3lzdGVtJywgc2Vzc2lvbklkOiAnc2Vzc2lvbklkJywgaW5pdERhdGE6IGlu
aXREYXRhQXJyYXksIG1lc3NhZ2U6IG1lc3NhZ2VBcnJheSwgZGVmYXVsdFVybDogJ2RlZmF1bHRV
cmwnLCBlcnJvckNvZGU6IGVycm9yT2JqZWN0LCBzeXN0ZW1Db2RlOiAxMjMgfSkuaW5pdERhdGEg
aXMgaW5pdERhdGFBcnJheQorUEFTUyBuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcs
IHsga2V5U3lzdGVtOiAna2V5U3lzdGVtJywgc2Vzc2lvbklkOiAnc2Vzc2lvbklkJywgaW5pdERh
dGE6IGluaXREYXRhQXJyYXksIG1lc3NhZ2U6IG1lc3NhZ2VBcnJheSwgZGVmYXVsdFVybDogJ2Rl
ZmF1bHRVcmwnLCBlcnJvckNvZGU6IGVycm9yT2JqZWN0LCBzeXN0ZW1Db2RlOiAxMjMgfSkubWVz
c2FnZSBpcyBtZXNzYWdlQXJyYXkKK1BBU1MgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZl
bnQnLCB7IGtleVN5c3RlbTogJ2tleVN5c3RlbScsIHNlc3Npb25JZDogJ3Nlc3Npb25JZCcsIGlu
aXREYXRhOiBpbml0RGF0YUFycmF5LCBtZXNzYWdlOiBtZXNzYWdlQXJyYXksIGRlZmF1bHRVcmw6
ICdkZWZhdWx0VXJsJywgZXJyb3JDb2RlOiBlcnJvck9iamVjdCwgc3lzdGVtQ29kZTogMTIzIH0p
LmRlZmF1bHRVcmwgaXMgImRlZmF1bHRVcmwiCitGQUlMIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRp
YUtleUV2ZW50JywgeyBrZXlTeXN0ZW06ICdrZXlTeXN0ZW0nLCBzZXNzaW9uSWQ6ICdzZXNzaW9u
SWQnLCBpbml0RGF0YTogaW5pdERhdGFBcnJheSwgbWVzc2FnZTogbWVzc2FnZUFycmF5LCBkZWZh
dWx0VXJsOiAnZGVmYXVsdFVybCcsIGVycm9yQ29kZTogZXJyb3JPYmplY3QsIHN5c3RlbUNvZGU6
IDEyMyB9KS5lcnJvckNvZGUgc2hvdWxkIGJlIGZ1bmN0aW9uIE1lZGlhS2V5RXJyb3IoKSB7IFtu
YXRpdmUgY29kZV0gfSAob2YgdHlwZSBmdW5jdGlvbikuIFdhcyBudWxsIChvZiB0eXBlIG9iamVj
dCkuCitGQUlMIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBrZXlTeXN0ZW06
ICdrZXlTeXN0ZW0nLCBzZXNzaW9uSWQ6ICdzZXNzaW9uSWQnLCBpbml0RGF0YTogaW5pdERhdGFB
cnJheSwgbWVzc2FnZTogbWVzc2FnZUFycmF5LCBkZWZhdWx0VXJsOiAnZGVmYXVsdFVybCcsIGVy
cm9yQ29kZTogZXJyb3JPYmplY3QsIHN5c3RlbUNvZGU6IDEyMyB9KS5lcnJvckNvZGUuY29kZSBz
aG91bGQgYmUgMS4gVGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQ2Fubm90IHJlYWQgcHJvcGVy
dHkgJ2NvZGUnIG9mIG51bGwKK1BBU1MgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQn
LCB7IGtleVN5c3RlbTogJ2tleVN5c3RlbScsIHNlc3Npb25JZDogJ3Nlc3Npb25JZCcsIGluaXRE
YXRhOiBpbml0RGF0YUFycmF5LCBtZXNzYWdlOiBtZXNzYWdlQXJyYXksIGRlZmF1bHRVcmw6ICdk
ZWZhdWx0VXJsJywgZXJyb3JDb2RlOiBlcnJvck9iamVjdCwgc3lzdGVtQ29kZTogMTIzIH0pLnN5
c3RlbUNvZGUgaXMgMTIzCisKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9jb25zdHJ1
Y3RvcnMvbWVkaWEta2V5LWV2ZW50LWNvbnN0cnVjdG9yLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2V2ZW50cy9jb25zdHJ1Y3RvcnMvbWVkaWEta2V5LWV2ZW50LWNvbnN0cnVjdG9yLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNTJiOWE3ODY1ODkxMTg3MzcyOTM2MDI3MjgxZmNhYmEzYzZkNGY4MwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2NvbnN0cnVjdG9ycy9tZWRpYS1r
ZXktZXZlbnQtY29uc3RydWN0b3IuaHRtbApAQCAtMCwwICsxLDEzNSBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxoZWFkPgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keT4KKyAgICA8c2NyaXB0
PgorCisgICAgICAgIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0cyB0aGUgY29uc3RydWN0b3IgZm9yIHRoZSBNZWRpYUtleUV2ZW50
IERPTSBjbGFzcy4iKTsKKworICAgICAgICBmdW5jdGlvbiB0ZXN0KCkKKyAgICAgICAgeworICAg
ICAgICAgICAgZGVidWcoIjxicj4qKiogTm8gaW5pdGlhbGl6ZXIgcGFzc2VkICoqKiIpOworICAg
ICAgICAgICAgc2hvdWxkQmUoIm5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JykuYnVi
YmxlcyIsICJmYWxzZSIpOworICAgICAgICAgICAgc2hvdWxkQmUoIm5ldyBNZWRpYUtleUV2ZW50
KCdNZWRpYUtleUV2ZW50JykuY2FuY2VsYWJsZSIsICJmYWxzZSIpOworICAgICAgICAgICAgc2hv
dWxkQmVFbXB0eVN0cmluZygibmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnKS5rZXlT
eXN0ZW0iKTsKKyAgICAgICAgICAgIHNob3VsZEJlRW1wdHlTdHJpbmcoIm5ldyBNZWRpYUtleUV2
ZW50KCdNZWRpYUtleUV2ZW50Jykuc2Vzc2lvbklkIik7CisgICAgICAgICAgICBzaG91bGRCZU51
bGwoIm5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JykuaW5pdERhdGEiKTsKKyAgICAg
ICAgICAgIHNob3VsZEJlTnVsbCgibmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnKS5t
ZXNzYWdlIik7CisgICAgICAgICAgICBzaG91bGRCZUVtcHR5U3RyaW5nKCJuZXcgTWVkaWFLZXlF
dmVudCgnTWVkaWFLZXlFdmVudCcpLmRlZmF1bHRVcmwiKTsKKyAgICAgICAgICAgIHNob3VsZEJl
TnVsbCgibmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnKS5lcnJvckNvZGUiKTsKKyAg
ICAgICAgICAgIHNob3VsZEJlWmVybygibmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQn
KS5zeXN0ZW1Db2RlIik7CisgICAgCisgICAgICAgICAgICBkZWJ1ZygiPGJyPioqKiBCdWJibGVz
IGFuZCBjYW5jZWxhYmxlIHRydWUsIG90aGVyIG1lbWJlcnMgYXJlIG1pc3NpbmcgKioqIik7Cisg
ICAgICAgICAgICBzaG91bGRCZSgibmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7
IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUgfSkuYnViYmxlcyIsICJ0cnVlIik7Cisg
ICAgICAgICAgICBzaG91bGRCZSgibmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7
IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUgfSkuY2FuY2VsYWJsZSIsICJ0cnVlIik7
CisgICAgICAgICAgICBzaG91bGRCZUVtcHR5U3RyaW5nKCJuZXcgTWVkaWFLZXlFdmVudCgnTWVk
aWFLZXlFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSB9KS5rZXlTeXN0
ZW0iKTsKKyAgICAgICAgICAgIHNob3VsZEJlRW1wdHlTdHJpbmcoIm5ldyBNZWRpYUtleUV2ZW50
KCdNZWRpYUtleUV2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlIH0pLnNl
c3Npb25JZCIpOworICAgICAgICAgICAgc2hvdWxkQmVOdWxsKCJuZXcgTWVkaWFLZXlFdmVudCgn
TWVkaWFLZXlFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSB9KS5pbml0
RGF0YSIpOworICAgICAgICAgICAgc2hvdWxkQmVOdWxsKCJuZXcgTWVkaWFLZXlFdmVudCgnTWVk
aWFLZXlFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSB9KS5tZXNzYWdl
Iik7CisgICAgICAgICAgICBzaG91bGRCZUVtcHR5U3RyaW5nKCJuZXcgTWVkaWFLZXlFdmVudCgn
TWVkaWFLZXlFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSB9KS5kZWZh
dWx0VXJsIik7CisgICAgICAgICAgICBzaG91bGRCZU51bGwoIm5ldyBNZWRpYUtleUV2ZW50KCdN
ZWRpYUtleUV2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlIH0pLmVycm9y
Q29kZSIpOworICAgICAgICAgICAgc2hvdWxkQmVaZXJvKCJuZXcgTWVkaWFLZXlFdmVudCgnTWVk
aWFLZXlFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSB9KS5zeXN0ZW1D
b2RlIik7CisgICAgCisgICAgICAgICAgICBkZWJ1ZygiPGJyPioqKiBCdWJibGVzIGFuZCBjYW5j
ZWxhYmxlIHRydWUsIGludmFsaWQgb3RoZXIgbWVtYmVycyAqKioiKTsKKyAgICAgICAgICAgIHNo
b3VsZEJlKCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgYnViYmxlczogdHJ1
ZSwgY2FuY2VsYWJsZTogdHJ1ZSwga2V5U3lzdGVtOiB1bmRlZmluZWQsIHNlc3Npb25JZDogdW5k
ZWZpbmVkLCBpbml0RGF0YTogVWludDhBcnJheSwgbWVzc2FnZTogVWludDhBcnJheSwgZGVmYXVs
dFVybDogdW5kZWZpbmVkLCBlcnJvckNvZGU6IE1lZGlhS2V5RXJyb3IsIHN5c3RlbUNvZGU6IHVu
ZGVmaW5lZCB9KS5idWJibGVzIiwgInRydWUiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJuZXcg
TWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJs
ZTogdHJ1ZSwga2V5U3lzdGVtOiB1bmRlZmluZWQsIHNlc3Npb25JZDogdW5kZWZpbmVkLCBpbml0
RGF0YTogVWludDhBcnJheSwgbWVzc2FnZTogVWludDhBcnJheSwgZGVmYXVsdFVybDogdW5kZWZp
bmVkLCBlcnJvckNvZGU6IE1lZGlhS2V5RXJyb3IsIHN5c3RlbUNvZGU6IHVuZGVmaW5lZCB9KS5j
YW5jZWxhYmxlIiwgInRydWUiKTsKKyAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
bmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNl
bGFibGU6IHRydWUsIGtleVN5c3RlbTogdW5kZWZpbmVkLCBzZXNzaW9uSWQ6IHVuZGVmaW5lZCwg
aW5pdERhdGE6IFVpbnQ4QXJyYXksIG1lc3NhZ2U6IFVpbnQ4QXJyYXksIGRlZmF1bHRVcmw6IHVu
ZGVmaW5lZCwgZXJyb3JDb2RlOiBNZWRpYUtleUVycm9yLCBzeXN0ZW1Db2RlOiB1bmRlZmluZWQg
fSkua2V5U3lzdGVtIiwgInVuZGVmaW5lZCIpOworICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgYnViYmxlczogdHJ1
ZSwgY2FuY2VsYWJsZTogdHJ1ZSwga2V5U3lzdGVtOiB1bmRlZmluZWQsIHNlc3Npb25JZDogdW5k
ZWZpbmVkLCBpbml0RGF0YTogVWludDhBcnJheSwgbWVzc2FnZTogVWludDhBcnJheSwgZGVmYXVs
dFVybDogdW5kZWZpbmVkLCBlcnJvckNvZGU6IE1lZGlhS2V5RXJyb3IsIHN5c3RlbUNvZGU6IHVu
ZGVmaW5lZCB9KS5zZXNzaW9uSWQiLCAidW5kZWZpbmVkIik7CisgICAgICAgICAgICBzaG91bGRC
ZU51bGwoIm5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBidWJibGVzOiB0cnVl
LCBjYW5jZWxhYmxlOiB0cnVlLCBrZXlTeXN0ZW06IHVuZGVmaW5lZCwgc2Vzc2lvbklkOiB1bmRl
ZmluZWQsIGluaXREYXRhOiBVaW50OEFycmF5LCBtZXNzYWdlOiBVaW50OEFycmF5LCBkZWZhdWx0
VXJsOiB1bmRlZmluZWQsIGVycm9yQ29kZTogTWVkaWFLZXlFcnJvciwgc3lzdGVtQ29kZTogdW5k
ZWZpbmVkIH0pLmluaXREYXRhIik7CisgICAgICAgICAgICBzaG91bGRCZU51bGwoIm5ldyBNZWRp
YUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0
cnVlLCBrZXlTeXN0ZW06IHVuZGVmaW5lZCwgc2Vzc2lvbklkOiB1bmRlZmluZWQsIGluaXREYXRh
OiBVaW50OEFycmF5LCBtZXNzYWdlOiBVaW50OEFycmF5LCBkZWZhdWx0VXJsOiB1bmRlZmluZWQs
IGVycm9yQ29kZTogTWVkaWFLZXlFcnJvciwgc3lzdGVtQ29kZTogdW5kZWZpbmVkIH0pLm1lc3Nh
Z2UiKTsKKyAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygibmV3IE1lZGlhS2V5RXZl
bnQoJ01lZGlhS2V5RXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIGtl
eVN5c3RlbTogdW5kZWZpbmVkLCBzZXNzaW9uSWQ6IHVuZGVmaW5lZCwgaW5pdERhdGE6IFVpbnQ4
QXJyYXksIG1lc3NhZ2U6IFVpbnQ4QXJyYXksIGRlZmF1bHRVcmw6IHVuZGVmaW5lZCwgZXJyb3JD
b2RlOiBNZWRpYUtleUVycm9yLCBzeXN0ZW1Db2RlOiB1bmRlZmluZWQgfSkuZGVmYXVsdFVybCIs
ICJ1bmRlZmluZWQiKTsKKyAgICAgICAgICAgIHNob3VsZEJlTnVsbCgibmV3IE1lZGlhS2V5RXZl
bnQoJ01lZGlhS2V5RXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIGtl
eVN5c3RlbTogdW5kZWZpbmVkLCBzZXNzaW9uSWQ6IHVuZGVmaW5lZCwgaW5pdERhdGE6IFVpbnQ4
QXJyYXksIG1lc3NhZ2U6IFVpbnQ4QXJyYXksIGRlZmF1bHRVcmw6IHVuZGVmaW5lZCwgZXJyb3JD
b2RlOiBNZWRpYUtleUVycm9yLCBzeXN0ZW1Db2RlOiB1bmRlZmluZWQgfSkuZXJyb3JDb2RlIik7
CisgICAgICAgICAgICBzaG91bGRCZVplcm8oIm5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2
ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlLCBrZXlTeXN0ZW06IHVuZGVm
aW5lZCwgc2Vzc2lvbklkOiB1bmRlZmluZWQsIGluaXREYXRhOiBVaW50OEFycmF5LCBtZXNzYWdl
OiBVaW50OEFycmF5LCBkZWZhdWx0VXJsOiB1bmRlZmluZWQsIGVycm9yQ29kZTogTWVkaWFLZXlF
cnJvciwgc3lzdGVtQ29kZTogdW5kZWZpbmVkIH0pLnN5c3RlbUNvZGUiKTsKKyAgICAKKyAgICAg
ICAgICAgIGRlYnVnKCI8YnI+KioqIEluaXRpYWxpemUgJ2tleVN5c3RlbScgd2l0aCBhIGludmFs
aWQgdmFsdWVzICoqKiIpOworICAgICAgICAgICAgZW1wdHlPYmplY3QgPSB7IH07CisgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIm5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2
ZW50JywgeyBrZXlTeXN0ZW06IGVtcHR5T2JqZWN0IH0pLmtleVN5c3RlbSIsICJbb2JqZWN0IE9i
amVjdF0iKTsKKyAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygibmV3IE1lZGlhS2V5
RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGtleVN5c3RlbTogZG9jdW1lbnQgfSkua2V5U3lzdGVt
IiwgIltvYmplY3QgSFRNTERvY3VtZW50XSIpOworCisgICAgICAgICAgICBkZWJ1ZygiPGJyPioq
KiBJbml0aWFsaXplICdzZXNzaW9uSWQnIHdpdGggYSBpbnZhbGlkIHZhbHVlcyAqKioiKTsKKyAg
ICAgICAgICAgIGVtcHR5T2JqZWN0ID0geyB9OworICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgc2Vzc2lvbklkOiBl
bXB0eU9iamVjdCB9KS5zZXNzaW9uSWQiLCAiW29iamVjdCBPYmplY3RdIik7CisgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIm5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50
JywgeyBzZXNzaW9uSWQ6IGRvY3VtZW50IH0pLnNlc3Npb25JZCIsICJbb2JqZWN0IEhUTUxEb2N1
bWVudF0iKTsKKworICAgICAgICAgICAgZGVidWcoIjxicj4qKiogSW5pdGlhbGl6ZSAnaW5pdERh
dGEnIHdpdGggYSBpbnZhbGlkIHZhbHVlcyAqKioiKTsKKyAgICAgICAgICAgIHNob3VsZEJlTnVs
bCgibmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGluaXREYXRhOiAxMCB9KS5p
bml0RGF0YSIpOworICAgICAgICAgICAgc2hvdWxkQmVOdWxsKCJuZXcgTWVkaWFLZXlFdmVudCgn
TWVkaWFLZXlFdmVudCcsIHsgaW5pdERhdGE6IFwnc3RyaW5nXCcgfSkuaW5pdERhdGEiKTsKKyAg
ICAgICAgICAgIGVtcHR5T2JqZWN0ID0geyB9OworICAgICAgICAgICAgc2hvdWxkQmVOdWxsKCJu
ZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgaW5pdERhdGE6IGVtcHR5T2JqZWN0
IH0pLmluaXREYXRhIik7CisgICAgICAgICAgICBzaG91bGRCZU51bGwoIm5ldyBNZWRpYUtleUV2
ZW50KCdNZWRpYUtleUV2ZW50JywgeyBpbml0RGF0YTogZG9jdW1lbnQgfSkuaW5pdERhdGEiKTsK
KworICAgICAgICAgICAgZGVidWcoIjxicj4qKiogSW5pdGlhbGl6ZSAnbWVzc2FnZScgd2l0aCBh
IGludmFsaWQgdmFsdWVzICoqKiIpOworICAgICAgICAgICAgc2hvdWxkQmVOdWxsKCJuZXcgTWVk
aWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgbWVzc2FnZTogMTAgfSkubWVzc2FnZSIpOwor
ICAgICAgICAgICAgc2hvdWxkQmVOdWxsKCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVu
dCcsIHsgbWVzc2FnZTogXCdzdHJpbmdcJyB9KS5tZXNzYWdlIik7CisgICAgICAgICAgICBlbXB0
eU9iamVjdCA9IHsgfTsKKyAgICAgICAgICAgIHNob3VsZEJlTnVsbCgibmV3IE1lZGlhS2V5RXZl
bnQoJ01lZGlhS2V5RXZlbnQnLCB7IG1lc3NhZ2U6IGVtcHR5T2JqZWN0IH0pLm1lc3NhZ2UiKTsK
KyAgICAgICAgICAgIHNob3VsZEJlTnVsbCgibmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZl
bnQnLCB7IG1lc3NhZ2U6IGRvY3VtZW50IH0pLm1lc3NhZ2UiKTsKKworICAgICAgICAgICAgZGVi
dWcoIjxicj4qKiogSW5pdGlhbGl6ZSAnZGVmYXVsdFVybCcgd2l0aCBhIGludmFsaWQgdmFsdWVz
ICoqKiIpOworICAgICAgICAgICAgZW1wdHlPYmplY3QgPSB7IH07CisgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoIm5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBk
ZWZhdWx0VXJsOiBlbXB0eU9iamVjdCB9KS5kZWZhdWx0VXJsIiwgIltvYmplY3QgT2JqZWN0XSIp
OworICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJuZXcgTWVkaWFLZXlFdmVudCgn
TWVkaWFLZXlFdmVudCcsIHsgZGVmYXVsdFVybDogZG9jdW1lbnQgfSkuZGVmYXVsdFVybCIsICJb
b2JqZWN0IEhUTUxEb2N1bWVudF0iKTsKKworICAgICAgICAgICAgZGVidWcoIjxicj4qKiogSW5p
dGlhbGl6ZSAnZXJyb3JDb2RlJyB3aXRoIGEgaW52YWxpZCB2YWx1ZXMgKioqIik7CisgICAgICAg
ICAgICBzaG91bGRCZU51bGwoIm5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBl
cnJvckNvZGU6IDEwIH0pLmVycm9yQ29kZSIpOworICAgICAgICAgICAgc2hvdWxkQmVOdWxsKCJu
ZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgZXJyb3JDb2RlOiBcJ3N0cmluZ1wn
IH0pLmVycm9yQ29kZSIpOworICAgICAgICAgICAgZW1wdHlPYmplY3QgPSB7IH07CisgICAgICAg
ICAgICBzaG91bGRCZU51bGwoIm5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBl
cnJvckNvZGU6IGVtcHR5T2JqZWN0IH0pLmVycm9yQ29kZSIpOworICAgICAgICAgICAgc2hvdWxk
QmVOdWxsKCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgZXJyb3JDb2RlOiBk
b2N1bWVudCB9KS5lcnJvckNvZGUiKTsKKworICAgICAgICAgICAgZGVidWcoIjxicj4qKiogSW5p
dGlhbGl6ZSAnc3lzdGVtQ29kZScgd2l0aCBhIGludmFsaWQgdmFsdWVzICoqKiIpOworICAgICAg
ICAgICAgc2hvdWxkQmVaZXJvKCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsg
c3lzdGVtQ29kZTogXCdzdHJpbmdcJyB9KS5zeXN0ZW1Db2RlIik7CisgICAgICAgICAgICBlbXB0
eU9iamVjdCA9IHsgfTsKKyAgICAgICAgICAgIHNob3VsZEJlWmVybygibmV3IE1lZGlhS2V5RXZl
bnQoJ01lZGlhS2V5RXZlbnQnLCB7IHN5c3RlbUNvZGU6IGVtcHR5T2JqZWN0IH0pLnN5c3RlbUNv
ZGUiKTsKKyAgICAgICAgICAgIHNob3VsZEJlWmVybygibmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlh
S2V5RXZlbnQnLCB7IHN5c3RlbUNvZGU6IGRvY3VtZW50IH0pLnN5c3RlbUNvZGUiKTsKKworICAg
ICAgICAgICAgZGVidWcoIjxicj4qKiogQnViYmxlcyBhbmQgY2FuY2VsYWJsZSB0cnVlLCB2YWxp
ZCBvdGhlciBtZW1iZXJzICoqKiIpOworICAgICAgICAgICAgc2hvdWxkQmUoIm5ldyBNZWRpYUtl
eUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVl
LCBrZXlTeXN0ZW06ICdrZXlTeXN0ZW0nLCBzZXNzaW9uSWQ6ICdzZXNzaW9uSWQnLCBpbml0RGF0
YTogaW5pdERhdGFBcnJheSwgbWVzc2FnZTogbWVzc2FnZUFycmF5LCBkZWZhdWx0VXJsOiAnZGVm
YXVsdFVybCcsIGVycm9yQ29kZTogZXJyb3JPYmplY3QsIHN5c3RlbUNvZGU6IDEyMyB9KS5idWJi
bGVzIiwgInRydWUiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJuZXcgTWVkaWFLZXlFdmVudCgn
TWVkaWFLZXlFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwga2V5U3lz
dGVtOiAna2V5U3lzdGVtJywgc2Vzc2lvbklkOiAnc2Vzc2lvbklkJywgaW5pdERhdGE6IGluaXRE
YXRhQXJyYXksIG1lc3NhZ2U6IG1lc3NhZ2VBcnJheSwgZGVmYXVsdFVybDogJ2RlZmF1bHRVcmwn
LCBlcnJvckNvZGU6IGVycm9yT2JqZWN0LCBzeXN0ZW1Db2RlOiAxMjMgfSkuY2FuY2VsYWJsZSIs
ICJ0cnVlIik7CisgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIm5ldyBNZWRpYUtl
eUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVl
LCBrZXlTeXN0ZW06ICdrZXlTeXN0ZW0nLCBzZXNzaW9uSWQ6ICdzZXNzaW9uSWQnLCBpbml0RGF0
YTogaW5pdERhdGFBcnJheSwgbWVzc2FnZTogbWVzc2FnZUFycmF5LCBkZWZhdWx0VXJsOiAnZGVm
YXVsdFVybCcsIGVycm9yQ29kZTogZXJyb3JPYmplY3QsIHN5c3RlbUNvZGU6IDEyMyB9KS5rZXlT
eXN0ZW0iLCAia2V5U3lzdGVtIik7CisgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
Im5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5j
ZWxhYmxlOiB0cnVlLCBrZXlTeXN0ZW06ICdrZXlTeXN0ZW0nLCBzZXNzaW9uSWQ6ICdzZXNzaW9u
SWQnLCBpbml0RGF0YTogaW5pdERhdGFBcnJheSwgbWVzc2FnZTogbWVzc2FnZUFycmF5LCBkZWZh
dWx0VXJsOiAnZGVmYXVsdFVybCcsIGVycm9yQ29kZTogZXJyb3JPYmplY3QsIHN5c3RlbUNvZGU6
IDEyMyB9KS5zZXNzaW9uSWQiLCAic2Vzc2lvbklkIik7CisgICAgICAgICAgICBzaG91bGRCZSgi
bmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNl
bGFibGU6IHRydWUsIGtleVN5c3RlbTogJ2tleVN5c3RlbScsIHNlc3Npb25JZDogJ3Nlc3Npb25J
ZCcsIGluaXREYXRhOiBpbml0RGF0YUFycmF5LCBtZXNzYWdlOiBtZXNzYWdlQXJyYXksIGRlZmF1
bHRVcmw6ICdkZWZhdWx0VXJsJywgZXJyb3JDb2RlOiBlcnJvck9iamVjdCwgc3lzdGVtQ29kZTog
MTIzIH0pLmluaXREYXRhIiwgImluaXREYXRhQXJyYXkiKTsKKyAgICAgICAgICAgIHNob3VsZEJl
KCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2Fu
Y2VsYWJsZTogdHJ1ZSwga2V5U3lzdGVtOiAna2V5U3lzdGVtJywgc2Vzc2lvbklkOiAnc2Vzc2lv
bklkJywgaW5pdERhdGE6IGluaXREYXRhQXJyYXksIG1lc3NhZ2U6IG1lc3NhZ2VBcnJheSwgZGVm
YXVsdFVybDogJ2RlZmF1bHRVcmwnLCBlcnJvckNvZGU6IGVycm9yT2JqZWN0LCBzeXN0ZW1Db2Rl
OiAxMjMgfSkubWVzc2FnZSIsICJtZXNzYWdlQXJyYXkiKTsKKyAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygibmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGJ1YmJs
ZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIGtleVN5c3RlbTogJ2tleVN5c3RlbScsIHNlc3Np
b25JZDogJ3Nlc3Npb25JZCcsIGluaXREYXRhOiBpbml0RGF0YUFycmF5LCBtZXNzYWdlOiBtZXNz
YWdlQXJyYXksIGRlZmF1bHRVcmw6ICdkZWZhdWx0VXJsJywgZXJyb3JDb2RlOiBlcnJvck9iamVj
dCwgc3lzdGVtQ29kZTogMTIzIH0pLmRlZmF1bHRVcmwiLCAiZGVmYXVsdFVybCIpOworICAgICAg
ICAgICAgLy8gRklYTUUoODI5ODgpOiBUaGVzZSB0d28gZmFpbC4KKyAgICAgICAgICAgIHNob3Vs
ZEJlKCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwg
Y2FuY2VsYWJsZTogdHJ1ZSwga2V5U3lzdGVtOiAna2V5U3lzdGVtJywgc2Vzc2lvbklkOiAnc2Vz
c2lvbklkJywgaW5pdERhdGE6IGluaXREYXRhQXJyYXksIG1lc3NhZ2U6IG1lc3NhZ2VBcnJheSwg
ZGVmYXVsdFVybDogJ2RlZmF1bHRVcmwnLCBlcnJvckNvZGU6IGVycm9yT2JqZWN0LCBzeXN0ZW1D
b2RlOiAxMjMgfSkuZXJyb3JDb2RlIiwgImVycm9yT2JqZWN0Iik7CisgICAgICAgICAgICBzaG91
bGRCZSgibmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUs
IGNhbmNlbGFibGU6IHRydWUsIGtleVN5c3RlbTogJ2tleVN5c3RlbScsIHNlc3Npb25JZDogJ3Nl
c3Npb25JZCcsIGluaXREYXRhOiBpbml0RGF0YUFycmF5LCBtZXNzYWdlOiBtZXNzYWdlQXJyYXks
IGRlZmF1bHRVcmw6ICdkZWZhdWx0VXJsJywgZXJyb3JDb2RlOiBlcnJvck9iamVjdCwgc3lzdGVt
Q29kZTogMTIzIH0pLmVycm9yQ29kZS5jb2RlIiwgIk1lZGlhS2V5RXJyb3IuTUVESUFfS0VZRVJS
X1VOS05PV04iKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJuZXcgTWVkaWFLZXlFdmVudCgnTWVk
aWFLZXlFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwga2V5U3lzdGVt
OiAna2V5U3lzdGVtJywgc2Vzc2lvbklkOiAnc2Vzc2lvbklkJywgaW5pdERhdGE6IGluaXREYXRh
QXJyYXksIG1lc3NhZ2U6IG1lc3NhZ2VBcnJheSwgZGVmYXVsdFVybDogJ2RlZmF1bHRVcmwnLCBl
cnJvckNvZGU6IGVycm9yT2JqZWN0LCBzeXN0ZW1Db2RlOiAxMjMgfSkuc3lzdGVtQ29kZSIsICIx
MjMiKTsKKworICAgICAgICAgICAgZGVidWcoIjxicj4qKiogSW5pdGlhbGl6ZSB3aXRoIHZhbGlk
IG1lbWJlcnMgKioqIik7CisgICAgICAgICAgICBzaG91bGRCZSgibmV3IE1lZGlhS2V5RXZlbnQo
J01lZGlhS2V5RXZlbnQnLCB7IGtleVN5c3RlbTogJ2tleVN5c3RlbScsIHNlc3Npb25JZDogJ3Nl
c3Npb25JZCcsIGluaXREYXRhOiBpbml0RGF0YUFycmF5LCBtZXNzYWdlOiBtZXNzYWdlQXJyYXks
IGRlZmF1bHRVcmw6ICdkZWZhdWx0VXJsJywgZXJyb3JDb2RlOiBlcnJvck9iamVjdCwgc3lzdGVt
Q29kZTogMTIzIH0pLmJ1YmJsZXMiLCAidHJ1ZSIpOworICAgICAgICAgICAgc2hvdWxkQmUoIm5l
dyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBrZXlTeXN0ZW06ICdrZXlTeXN0ZW0n
LCBzZXNzaW9uSWQ6ICdzZXNzaW9uSWQnLCBpbml0RGF0YTogaW5pdERhdGFBcnJheSwgbWVzc2Fn
ZTogbWVzc2FnZUFycmF5LCBkZWZhdWx0VXJsOiAnZGVmYXVsdFVybCcsIGVycm9yQ29kZTogZXJy
b3JPYmplY3QsIHN5c3RlbUNvZGU6IDEyMyB9KS5jYW5jZWxhYmxlIiwgInRydWUiKTsKKyAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygibmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5
RXZlbnQnLCB7IGtleVN5c3RlbTogJ2tleVN5c3RlbScsIHNlc3Npb25JZDogJ3Nlc3Npb25JZCcs
IGluaXREYXRhOiBpbml0RGF0YUFycmF5LCBtZXNzYWdlOiBtZXNzYWdlQXJyYXksIGRlZmF1bHRV
cmw6ICdkZWZhdWx0VXJsJywgZXJyb3JDb2RlOiBlcnJvck9iamVjdCwgc3lzdGVtQ29kZTogMTIz
IH0pLmtleVN5c3RlbSIsICJrZXlTeXN0ZW0iKTsKKyAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygibmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGtleVN5c3RlbTog
J2tleVN5c3RlbScsIHNlc3Npb25JZDogJ3Nlc3Npb25JZCcsIGluaXREYXRhOiBpbml0RGF0YUFy
cmF5LCBtZXNzYWdlOiBtZXNzYWdlQXJyYXksIGRlZmF1bHRVcmw6ICdkZWZhdWx0VXJsJywgZXJy
b3JDb2RlOiBlcnJvck9iamVjdCwgc3lzdGVtQ29kZTogMTIzIH0pLnNlc3Npb25JZCIsICJzZXNz
aW9uSWQiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFL
ZXlFdmVudCcsIHsga2V5U3lzdGVtOiAna2V5U3lzdGVtJywgc2Vzc2lvbklkOiAnc2Vzc2lvbklk
JywgaW5pdERhdGE6IGluaXREYXRhQXJyYXksIG1lc3NhZ2U6IG1lc3NhZ2VBcnJheSwgZGVmYXVs
dFVybDogJ2RlZmF1bHRVcmwnLCBlcnJvckNvZGU6IGVycm9yT2JqZWN0LCBzeXN0ZW1Db2RlOiAx
MjMgfSkuaW5pdERhdGEiLCAiaW5pdERhdGFBcnJheSIpOworICAgICAgICAgICAgc2hvdWxkQmUo
Im5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBrZXlTeXN0ZW06ICdrZXlTeXN0
ZW0nLCBzZXNzaW9uSWQ6ICdzZXNzaW9uSWQnLCBpbml0RGF0YTogaW5pdERhdGFBcnJheSwgbWVz
c2FnZTogbWVzc2FnZUFycmF5LCBkZWZhdWx0VXJsOiAnZGVmYXVsdFVybCcsIGVycm9yQ29kZTog
ZXJyb3JPYmplY3QsIHN5c3RlbUNvZGU6IDEyMyB9KS5tZXNzYWdlIiwgIm1lc3NhZ2VBcnJheSIp
OworICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJuZXcgTWVkaWFLZXlFdmVudCgn
TWVkaWFLZXlFdmVudCcsIHsga2V5U3lzdGVtOiAna2V5U3lzdGVtJywgc2Vzc2lvbklkOiAnc2Vz
c2lvbklkJywgaW5pdERhdGE6IGluaXREYXRhQXJyYXksIG1lc3NhZ2U6IG1lc3NhZ2VBcnJheSwg
ZGVmYXVsdFVybDogJ2RlZmF1bHRVcmwnLCBlcnJvckNvZGU6IGVycm9yT2JqZWN0LCBzeXN0ZW1D
b2RlOiAxMjMgfSkuZGVmYXVsdFVybCIsICJkZWZhdWx0VXJsIik7CisgICAgICAgICAgICAvLyBG
SVhNRSg4Mjk4OCk6IFRoZXNlIHR3byBmYWlsLgorICAgICAgICAgICAgc2hvdWxkQmUoIm5ldyBN
ZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBrZXlTeXN0ZW06ICdrZXlTeXN0ZW0nLCBz
ZXNzaW9uSWQ6ICdzZXNzaW9uSWQnLCBpbml0RGF0YTogaW5pdERhdGFBcnJheSwgbWVzc2FnZTog
bWVzc2FnZUFycmF5LCBkZWZhdWx0VXJsOiAnZGVmYXVsdFVybCcsIGVycm9yQ29kZTogZXJyb3JP
YmplY3QsIHN5c3RlbUNvZGU6IDEyMyB9KS5lcnJvckNvZGUiLCAiZXJyb3JPYmplY3QiKTsKKyAg
ICAgICAgICAgIHNob3VsZEJlKCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsg
a2V5U3lzdGVtOiAna2V5U3lzdGVtJywgc2Vzc2lvbklkOiAnc2Vzc2lvbklkJywgaW5pdERhdGE6
IGluaXREYXRhQXJyYXksIG1lc3NhZ2U6IG1lc3NhZ2VBcnJheSwgZGVmYXVsdFVybDogJ2RlZmF1
bHRVcmwnLCBlcnJvckNvZGU6IGVycm9yT2JqZWN0LCBzeXN0ZW1Db2RlOiAxMjMgfSkuZXJyb3JD
b2RlLmNvZGUiLCAiTWVkaWFLZXlFcnJvci5NRURJQV9LRVlFUlJfVU5LTk9XTiIpOworICAgICAg
ICAgICAgc2hvdWxkQmUoIm5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBrZXlT
eXN0ZW06ICdrZXlTeXN0ZW0nLCBzZXNzaW9uSWQ6ICdzZXNzaW9uSWQnLCBpbml0RGF0YTogaW5p
dERhdGFBcnJheSwgbWVzc2FnZTogbWVzc2FnZUFycmF5LCBkZWZhdWx0VXJsOiAnZGVmYXVsdFVy
bCcsIGVycm9yQ29kZTogZXJyb3JPYmplY3QsIHN5c3RlbUNvZGU6IDEyMyB9KS5zeXN0ZW1Db2Rl
IiwgIjEyMyIpOworCisgICAgICAgICAgICBkZWJ1ZygiIik7CisgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgfQorCisgICAgICAgIHZhciBpbml0RGF0YUFycmF5ID0gbmV3IFVp
bnQ4QXJyYXkoWzB4NDEsIDB4NDIsIDB4NDNdKTsKKyAgICAgICAgdmFyIG1lc3NhZ2VBcnJheSA9
IG5ldyBVaW50OEFycmF5KFsweDUxLCAweDUyLCAweDUzXSk7CisgICAgICAgIC8vIEZJWE1FKDgy
OTg4KTogVGhpcyBkb2VzIG5vdCBjcmVhdGUgYW4gZXJyb3IgbGlrZSB3ZSB3YW50LgorICAgICAg
ICB2YXIgZXJyb3JPYmplY3QgPSB3aW5kb3cuTWVkaWFLZXlFcnJvcjsKKyAgICAgICAgLy8gc2hv
dWxkQmUoInR5cGVvZiBlcnJvck9iamVjdCIsIFRCRCk7CisKKyAgICAgICAgdmlkZW8gPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCd2aWRlbycpOworICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHZpZGVvKTsKKworICAgICAgICB0ZXN0KCkKKyAgICA8L3NjcmlwdD4KKyAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CisK
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvanMvcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMKaW5kZXggMDM2ZTc2YTI3MWQzYzI0MzJjOGFiNDViNWYyZjdjOTY2YzZhYzA3My4u
MGFhNDE3ZGYwNmQ2Njc4NDQyMWRmZjkwMTczOTRlZjJjZDY5NzA3YiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMKQEAgLTI1NCw2ICsyNTQsNyBAQCBm
dW5jdGlvbiBzaG91bGRCZVRydWVRdWlldChfYSkgeyBzaG91bGRCZShfYSwgInRydWUiLCB0cnVl
KTsgfQogZnVuY3Rpb24gc2hvdWxkQmVGYWxzZShfYSkgeyBzaG91bGRCZShfYSwgImZhbHNlIik7
IH0KIGZ1bmN0aW9uIHNob3VsZEJlTmFOKF9hKSB7IHNob3VsZEJlKF9hLCAiTmFOIik7IH0KIGZ1
bmN0aW9uIHNob3VsZEJlTnVsbChfYSkgeyBzaG91bGRCZShfYSwgIm51bGwiKTsgfQorZnVuY3Rp
b24gc2hvdWxkQmVaZXJvKF9hKSB7IHNob3VsZEJlKF9hLCAiMCIpOyB9CiAKIGZ1bmN0aW9uIHNo
b3VsZEJlRXF1YWxUb1N0cmluZyhhLCBiKQogewpAQCAtMjYxLDYgKzI2Miw4IEBAIGZ1bmN0aW9u
IHNob3VsZEJlRXF1YWxUb1N0cmluZyhhLCBiKQogICBzaG91bGRCZShhLCB1bmV2YWxlZFN0cmlu
Zyk7CiB9CiAKK2Z1bmN0aW9uIHNob3VsZEJlRW1wdHlTdHJpbmcoX2EpIHsgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKF9hLCAiIik7IH0KKwogZnVuY3Rpb24gc2hvdWxkRXZhbHVhdGVUbyhhY3R1YWws
IGV4cGVjdGVkKSB7CiAgIC8vIEEgZ2VuZXJhbC1wdXJwb3NlIGNvbXBhcmF0b3IuICAnYWN0dWFs
JyBzaG91bGQgYmUgYSBzdHJpbmcgdG8gYmUKICAgLy8gZXZhbHVhdGVkLCBhcyBmb3Igc2hvdWxk
QmUoKS4gJ2V4cGVjdGVkJyBtYXkgYmUgYW55IHR5cGUgYW5kIHdpbGwgYmUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL21lZGlhL2VuY3J5cHRlZC1tZWRpYS9lbmNyeXB0ZWQtbWVkaWEtY29uc3Rh
bnRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL21lZGlhL2VuY3J5cHRlZC1tZWRpYS9lbmNy
eXB0ZWQtbWVkaWEtY29uc3RhbnRzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzk0MGFkM2Mx
YmQ1ZThkNWFiYTJjZDdmMjVhMDc2M2ZkNWQ1ZTE1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvbWVkaWEvZW5jcnlwdGVkLW1lZGlhL2VuY3J5cHRlZC1tZWRpYS1jb25zdGFudHMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAKK1Rlc3QgTWVkaWFLZXlFcnJvciBjb25zdGFudHMg
YW5kIGFkZGl0aW9uYWwgTWVkaWFFcnJvciBjb25zdGFudC4KKworRVhQRUNURUQgKE1lZGlhS2V5
RXJyb3IuTUVESUFfS0VZRVJSX1VOS05PV04gPT0gJzEnKSBPSworRVhQRUNURUQgKE1lZGlhS2V5
RXJyb3IuTUVESUFfS0VZRVJSX0NMSUVOVCA9PSAnMicpIE9LCitFWFBFQ1RFRCAoTWVkaWFLZXlF
cnJvci5NRURJQV9LRVlFUlJfU0VSVklDRSA9PSAnMycpIE9LCitFWFBFQ1RFRCAoTWVkaWFLZXlF
cnJvci5NRURJQV9LRVlFUlJfT1VUUFVUID09ICc0JykgT0sKK0VYUEVDVEVEIChNZWRpYUtleUVy
cm9yLk1FRElBX0tFWUVSUl9IQVJEV0FSRUNIQU5HRSA9PSAnNScpIE9LCitFWFBFQ1RFRCAoTWVk
aWFLZXlFcnJvci5NRURJQV9LRVlFUlJfRE9NQUlOID09ICc2JykgT0sKKworRVhQRUNURUQgKE1l
ZGlhRXJyb3IuTUVESUFfRVJSX0VOQ1JZUFRFRCA9PSAnNScpIE9LCitFTkQgT0YgVEVTVAorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS9lbmNyeXB0ZWQtbWVkaWEvZW5jcnlwdGVkLW1l
ZGlhLWNvbnN0YW50cy5odG1sIGIvTGF5b3V0VGVzdHMvbWVkaWEvZW5jcnlwdGVkLW1lZGlhL2Vu
Y3J5cHRlZC1tZWRpYS1jb25zdGFudHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44Y2I2OTdhOTU2YmE5Y2Vl
Njc3ZTVmMjkxMThjMTFiNzRlM2E2NjQ3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
bWVkaWEvZW5jcnlwdGVkLW1lZGlhL2VuY3J5cHRlZC1tZWRpYS1jb25zdGFudHMuaHRtbApAQCAt
MCwwICsxLDI1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisgICAgPHNjcmlw
dCBzcmM9Li4vdmlkZW8tdGVzdC5qcz48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHR5cGU9InRleHQv
amF2YXNjcmlwdCI+CisgICAgICAgIGZ1bmN0aW9uIGRvVGVzdCAoKSAKKyAgICAgICAgeworICAg
ICAgICAgICAgdGVzdEV4cGVjdGVkKCJNZWRpYUtleUVycm9yLk1FRElBX0tFWUVSUl9VTktOT1dO
IiwgMSk7CisgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoIk1lZGlhS2V5RXJyb3IuTUVESUFfS0VZ
RVJSX0NMSUVOVCIsIDIpOworICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJNZWRpYUtleUVycm9y
Lk1FRElBX0tFWUVSUl9TRVJWSUNFIiwgMyk7CisgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoIk1l
ZGlhS2V5RXJyb3IuTUVESUFfS0VZRVJSX09VVFBVVCIsIDQpOworICAgICAgICAgICAgdGVzdEV4
cGVjdGVkKCJNZWRpYUtleUVycm9yLk1FRElBX0tFWUVSUl9IQVJEV0FSRUNIQU5HRSIsIDUpOwor
ICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJNZWRpYUtleUVycm9yLk1FRElBX0tFWUVSUl9ET01B
SU4iLCA2KTsKKyAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiIik7CisKKyAgICAgICAgICAgIHRl
c3RFeHBlY3RlZCgiTWVkaWFFcnJvci5NRURJQV9FUlJfRU5DUllQVEVEIiwgNSk7CisKKyAgICAg
ICAgICAgIGVuZFRlc3QoKTsKKyAgICAgICAgfQorICAgIDwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHkgb25sb2FkPSJkb1Rlc3QoKSI+CisgICAgPHA+VGVzdCBNZWRpYUtleUVycm9yIGNvbnN0YW50
cyBhbmQgYWRkaXRpb25hbCBNZWRpYUVycm9yIGNvbnN0YW50LjwvcD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL2VuY3J5cHRlZC1tZWRpYS9lbmNyeXB0
ZWQtbWVkaWEtZXZlbnRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL21lZGlhL2VuY3J5cHRl
ZC1tZWRpYS9lbmNyeXB0ZWQtbWVkaWEtZXZlbnRzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
ZDg3ZmQ2NzVmNzMyOWYwMmVjMWJmOWE2OWRiMzI4ZTA5YTY4NjQ3Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvbWVkaWEvZW5jcnlwdGVkLW1lZGlhL2VuY3J5cHRlZC1tZWRpYS1ldmVu
dHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTI4IEBACitUZXN0IGFsbCB0aGUga2V5LXJlbGF0
ZWQgZXZlbnRzLgorCisqKiogVmVyaWZ5IHRoZSBwcmVzZW5jZSBvZiBvbiogYXR0cmlidXRlcy4g
VGhlc2Ugd291bGQgcmV0dXJuIHVuZGVmaW5lZCBpZiB0aGV5IGFyZSBub3QgcHJlc2VudC4gKioq
CitFWFBFQ1RFRCAodmlkZW8ub253ZWJraXRrZXlhZGRlZCA9PT0gJ251bGwnKSBPSworRVhQRUNU
RUQgKHZpZGVvLm9ud2Via2l0a2V5ZXJyb3IgPT09ICdudWxsJykgT0sKK0VYUEVDVEVEICh2aWRl
by5vbndlYmtpdGtleW1lc3NhZ2UgPT09ICdudWxsJykgT0sKK0VYUEVDVEVEICh2aWRlby5vbndl
YmtpdG5lZWRrZXkgPT09ICdudWxsJykgT0sKKworKioqIFRlc3QgZXZlbnRzIHVzaW5nIG9uKiBh
dHRyaWJ1dGVzLiAqKioKK0VWRU5UKGxvYWRzdGFydCkKKworUlVOKHZpZGVvLndlYmtpdEdlbmVy
YXRlS2V5UmVxdWVzdCgnd2Via2l0LW9yZy53My5jbGVhcmtleScsIGluaXREYXRhKSkKK2tleW1l
c3NhZ2UgZXZlbnQgb2NjdXJyZWQKK0VYUEVDVEVEIChldmVudC50YXJnZXQgPT0gJ1tvYmplY3Qg
SFRNTFZpZGVvRWxlbWVudF0nKSBPSworRVhQRUNURUQgKGV2ZW50IGluc3RhbmNlb2Ygd2luZG93
Lk1lZGlhS2V5RXZlbnQgPT0gJ3RydWUnKSBPSworRVhQRUNURUQgKGV2ZW50LmtleVN5c3RlbSA9
PSAnd2Via2l0LW9yZy53My5jbGVhcmtleScpIE9LCitUaGUgc2Vzc2lvbklkIHNob3VsZCBiZSBh
IG5vbi1lbXB0eSBzdHJpbmcgY29udGFpbmluZyBhbiBpbnRlZ2VyLgorRVhQRUNURUQgKGV2ZW50
LnNlc3Npb25JZCAhPSAnJykgT0sKK0VYUEVDVEVEIChldmVudC5zZXNzaW9uSWQgIT0gJ251bGwn
KSBPSworRVhQRUNURUQgKGV2ZW50LnNlc3Npb25JZCAhPSAndW5kZWZpbmVkJykgT0sKK0VYUEVD
VEVEIChpc05hTihldmVudC5zZXNzaW9uSWQpID09ICdmYWxzZScpIE9LCitFWFBFQ1RFRCAoU3Ry
aW5nKGV2ZW50LnNlc3Npb25JZCkgPT0gU3RyaW5nKHBhcnNlSW50KGV2ZW50LnNlc3Npb25JZCkp
ID09ICd0cnVlJykgT0sKK0ltcGxlbWVudGF0aW9ucyBzaG91bGQgYXZvaWQgc2Vzc2lvbklkcyBv
ZiAwLgorRVhQRUNURUQgKGV2ZW50LnNlc3Npb25JZCA+ICcwJykgT0sKK0VYUEVDVEVEIChldmVu
dC5pbml0RGF0YSA9PT0gJ251bGwnKSBPSworRVhQRUNURUQgKGV2ZW50Lm1lc3NhZ2UubGVuZ3Ro
ID09ICczJykgT0sKK0VYUEVDVEVEIChldmVudC5tZXNzYWdlWzBdID09ICc2NScpIE9LCitFWFBF
Q1RFRCAoZXZlbnQubWVzc2FnZVsxXSA9PSAnNjYnKSBPSworRVhQRUNURUQgKGV2ZW50Lm1lc3Nh
Z2VbMl0gPT0gJzY3JykgT0sKK0VYUEVDVEVEIChldmVudC5kZWZhdWx0VXJsID09ICcnKSBPSwor
RVhQRUNURUQgKGV2ZW50LmVycm9yQ29kZSA9PT0gJ251bGwnKSBPSworRVhQRUNURUQgKGV2ZW50
LnN5c3RlbUNvZGUgPT0gJzAnKSBPSworCitSVU4odmlkZW8ud2Via2l0QWRkS2V5KCd3ZWJraXQt
b3JnLnczLmNsZWFya2V5Jywga2V5LCBldmVudC5pbml0RGF0YSwgZXZlbnQuc2Vzc2lvbklkKSkK
K2tleWFkZGVkIGV2ZW50IG9jY3VycmVkCitFWFBFQ1RFRCAoZXZlbnQudGFyZ2V0ID09ICdbb2Jq
ZWN0IEhUTUxWaWRlb0VsZW1lbnRdJykgT0sKK0VYUEVDVEVEIChldmVudCBpbnN0YW5jZW9mIHdp
bmRvdy5NZWRpYUtleUV2ZW50ID09ICd0cnVlJykgT0sKK0VYUEVDVEVEIChldmVudC5rZXlTeXN0
ZW0gPT0gJ3dlYmtpdC1vcmcudzMuY2xlYXJrZXknKSBPSworRVhQRUNURUQgKGV2ZW50LnNlc3Np
b25JZCA9PSBrZXlNZXNzYWdlU2Vzc2lvbklkID09ICd0cnVlJykgT0sKK0VYUEVDVEVEIChldmVu
dC5pbml0RGF0YSA9PT0gJ251bGwnKSBPSworRVhQRUNURUQgKGV2ZW50Lm1lc3NhZ2UgPT09ICdu
dWxsJykgT0sKK0VYUEVDVEVEIChldmVudC5kZWZhdWx0VXJsID09ICcnKSBPSworRVhQRUNURUQg
KGV2ZW50LmVycm9yQ29kZSA9PT0gJ251bGwnKSBPSworRVhQRUNURUQgKGV2ZW50LnN5c3RlbUNv
ZGUgPT0gJzAnKSBPSworCitSVU4odmlkZW8ud2Via2l0QWRkS2V5KCd3ZWJraXQtb3JnLnczLmNs
ZWFya2V5JywgaW52YWxpZEtleSwgbnVsbCwgZXZlbnQuc2Vzc2lvbklkKSkKK2tleWVycm9yIGV2
ZW50IG9jY3VycmVkCitFWFBFQ1RFRCAoZXZlbnQudGFyZ2V0ID09ICdbb2JqZWN0IEhUTUxWaWRl
b0VsZW1lbnRdJykgT0sKK0VYUEVDVEVEIChldmVudCBpbnN0YW5jZW9mIHdpbmRvdy5NZWRpYUtl
eUV2ZW50ID09ICd0cnVlJykgT0sKK0VYUEVDVEVEIChldmVudC5rZXlTeXN0ZW0gPT0gJ3dlYmtp
dC1vcmcudzMuY2xlYXJrZXknKSBPSworRVhQRUNURUQgKGV2ZW50LnNlc3Npb25JZCA9PSBrZXlN
ZXNzYWdlU2Vzc2lvbklkID09ICd0cnVlJykgT0sKK0VYUEVDVEVEIChldmVudC5pbml0RGF0YSA9
PT0gJ251bGwnKSBPSworRVhQRUNURUQgKGV2ZW50Lm1lc3NhZ2UgPT09ICdudWxsJykgT0sKK0VY
UEVDVEVEIChldmVudC5kZWZhdWx0VXJsID09ICcnKSBPSworRVhQRUNURUQgKGV2ZW50LmVycm9y
Q29kZS5jb2RlID09ICcxJykgT0sKK0VYUEVDVEVEIChldmVudC5zeXN0ZW1Db2RlID09ICcwJykg
T0sKKworKioqIFRlc3QgZXZlbnRzIHVzaW5nIGFkZEV2ZW50TGlzdGVuZXIoKS4gKioqCitFVkVO
VChsb2Fkc3RhcnQpCisKK1JVTih2aWRlby53ZWJraXRHZW5lcmF0ZUtleVJlcXVlc3QoJ3dlYmtp
dC1vcmcudzMuY2xlYXJrZXknLCBpbml0RGF0YSkpCitFVkVOVCh3ZWJraXRrZXltZXNzYWdlKQor
a2V5bWVzc2FnZSBldmVudCBvY2N1cnJlZAorRVhQRUNURUQgKGV2ZW50LnRhcmdldCA9PSAnW29i
amVjdCBIVE1MVmlkZW9FbGVtZW50XScpIE9LCitFWFBFQ1RFRCAoZXZlbnQgaW5zdGFuY2VvZiB3
aW5kb3cuTWVkaWFLZXlFdmVudCA9PSAndHJ1ZScpIE9LCitFWFBFQ1RFRCAoZXZlbnQua2V5U3lz
dGVtID09ICd3ZWJraXQtb3JnLnczLmNsZWFya2V5JykgT0sKK1RoZSBzZXNzaW9uSWQgc2hvdWxk
IGJlIGEgbm9uLWVtcHR5IHN0cmluZyBjb250YWluaW5nIGFuIGludGVnZXIuCitFWFBFQ1RFRCAo
ZXZlbnQuc2Vzc2lvbklkICE9ICcnKSBPSworRVhQRUNURUQgKGV2ZW50LnNlc3Npb25JZCAhPSAn
bnVsbCcpIE9LCitFWFBFQ1RFRCAoZXZlbnQuc2Vzc2lvbklkICE9ICd1bmRlZmluZWQnKSBPSwor
RVhQRUNURUQgKGlzTmFOKGV2ZW50LnNlc3Npb25JZCkgPT0gJ2ZhbHNlJykgT0sKK0VYUEVDVEVE
IChTdHJpbmcoZXZlbnQuc2Vzc2lvbklkKSA9PSBTdHJpbmcocGFyc2VJbnQoZXZlbnQuc2Vzc2lv
bklkKSkgPT0gJ3RydWUnKSBPSworSW1wbGVtZW50YXRpb25zIHNob3VsZCBhdm9pZCBzZXNzaW9u
SWRzIG9mIDAuCitFWFBFQ1RFRCAoZXZlbnQuc2Vzc2lvbklkID4gJzAnKSBPSworVGhlIHNlc3Np
b25zSWQgc2hvdWxkIGJlIGRpZmZlcmVudCBmcm9tIHRoZSBmaXJzdCBydW4uCitFWFBFQ1RFRCAo
ZXZlbnQuc2Vzc2lvbklkICE9ICcxJykgT0sKK0VYUEVDVEVEIChldmVudC5pbml0RGF0YSA9PT0g
J251bGwnKSBPSworRVhQRUNURUQgKGV2ZW50Lm1lc3NhZ2UubGVuZ3RoID09ICczJykgT0sKK0VY
UEVDVEVEIChldmVudC5tZXNzYWdlWzBdID09ICc2NScpIE9LCitFWFBFQ1RFRCAoZXZlbnQubWVz
c2FnZVsxXSA9PSAnNjYnKSBPSworRVhQRUNURUQgKGV2ZW50Lm1lc3NhZ2VbMl0gPT0gJzY3Jykg
T0sKK0VYUEVDVEVEIChldmVudC5kZWZhdWx0VXJsID09ICcnKSBPSworRVhQRUNURUQgKGV2ZW50
LmVycm9yQ29kZSA9PT0gJ251bGwnKSBPSworRVhQRUNURUQgKGV2ZW50LnN5c3RlbUNvZGUgPT0g
JzAnKSBPSworCitSVU4odmlkZW8ud2Via2l0QWRkS2V5KCd3ZWJraXQtb3JnLnczLmNsZWFya2V5
Jywga2V5LCBldmVudC5pbml0RGF0YSwgZXZlbnQuc2Vzc2lvbklkKSkKK0VWRU5UKHdlYmtpdGtl
eWFkZGVkKQora2V5YWRkZWQgZXZlbnQgb2NjdXJyZWQKK0VYUEVDVEVEIChldmVudC50YXJnZXQg
PT0gJ1tvYmplY3QgSFRNTFZpZGVvRWxlbWVudF0nKSBPSworRVhQRUNURUQgKGV2ZW50IGluc3Rh
bmNlb2Ygd2luZG93Lk1lZGlhS2V5RXZlbnQgPT0gJ3RydWUnKSBPSworRVhQRUNURUQgKGV2ZW50
LmtleVN5c3RlbSA9PSAnd2Via2l0LW9yZy53My5jbGVhcmtleScpIE9LCitFWFBFQ1RFRCAoZXZl
bnQuc2Vzc2lvbklkID09IGtleU1lc3NhZ2VTZXNzaW9uSWQgPT0gJ3RydWUnKSBPSworRVhQRUNU
RUQgKGV2ZW50LmluaXREYXRhID09PSAnbnVsbCcpIE9LCitFWFBFQ1RFRCAoZXZlbnQubWVzc2Fn
ZSA9PT0gJ251bGwnKSBPSworRVhQRUNURUQgKGV2ZW50LmRlZmF1bHRVcmwgPT0gJycpIE9LCitF
WFBFQ1RFRCAoZXZlbnQuZXJyb3JDb2RlID09PSAnbnVsbCcpIE9LCitFWFBFQ1RFRCAoZXZlbnQu
c3lzdGVtQ29kZSA9PSAnMCcpIE9LCisKK1JVTih2aWRlby53ZWJraXRBZGRLZXkoJ3dlYmtpdC1v
cmcudzMuY2xlYXJrZXknLCBpbnZhbGlkS2V5LCBudWxsLCBldmVudC5zZXNzaW9uSWQpKQorRVZF
TlQod2Via2l0a2V5ZXJyb3IpCitrZXllcnJvciBldmVudCBvY2N1cnJlZAorRVhQRUNURUQgKGV2
ZW50LnRhcmdldCA9PSAnW29iamVjdCBIVE1MVmlkZW9FbGVtZW50XScpIE9LCitFWFBFQ1RFRCAo
ZXZlbnQgaW5zdGFuY2VvZiB3aW5kb3cuTWVkaWFLZXlFdmVudCA9PSAndHJ1ZScpIE9LCitFWFBF
Q1RFRCAoZXZlbnQua2V5U3lzdGVtID09ICd3ZWJraXQtb3JnLnczLmNsZWFya2V5JykgT0sKK0VY
UEVDVEVEIChldmVudC5zZXNzaW9uSWQgPT0ga2V5TWVzc2FnZVNlc3Npb25JZCA9PSAndHJ1ZScp
IE9LCitFWFBFQ1RFRCAoZXZlbnQuaW5pdERhdGEgPT09ICdudWxsJykgT0sKK0VYUEVDVEVEIChl
dmVudC5tZXNzYWdlID09PSAnbnVsbCcpIE9LCitFWFBFQ1RFRCAoZXZlbnQuZGVmYXVsdFVybCA9
PSAnJykgT0sKK0VYUEVDVEVEIChldmVudC5lcnJvckNvZGUuY29kZSA9PSAnMScpIE9LCitFWFBF
Q1RFRCAoZXZlbnQuc3lzdGVtQ29kZSA9PSAnMCcpIE9LCisKK0F0dHJpYnV0ZXMgYXJlIHJlYWQt
b25seS4KK1JVTihldmVudC5rZXlTeXN0ZW0gPSAnYmxhaCcpCitSVU4oZXZlbnQuc2Vzc2lvbklk
ID0gJ2JsYWgnKQorUlVOKGV2ZW50LmluaXREYXRhID0gbmV3IFVpbnQ4QXJyYXkoWzB4MTJdKSkK
K1JVTihldmVudC5tZXNzYWdlID0gbmV3IFVpbnQ4QXJyYXkoWzB4MTJdKSkKK1JVTihldmVudC5k
ZWZhdWx0VXJsID0gJ2V4YW1wbGUuY29tJykKK1JVTihldmVudC5lcnJvckNvZGUuY29kZSA9IE1l
ZGlhS2V5RXJyb3IuTUVESUFfS0VZRVJSX0NMSUVOVCkKK1JVTihldmVudC5zeXN0ZW1Db2RlID0g
MTIzKQorRVhQRUNURUQgKGV2ZW50LmtleVN5c3RlbSA9PSAnd2Via2l0LW9yZy53My5jbGVhcmtl
eScpIE9LCitFWFBFQ1RFRCAoZXZlbnQuc2Vzc2lvbklkID09IGtleU1lc3NhZ2VTZXNzaW9uSWQg
PT0gJ3RydWUnKSBPSworRVhQRUNURUQgKGV2ZW50LmluaXREYXRhID09PSAnbnVsbCcpIE9LCitF
WFBFQ1RFRCAoZXZlbnQubWVzc2FnZSA9PT0gJ251bGwnKSBPSworRVhQRUNURUQgKGV2ZW50LmRl
ZmF1bHRVcmwgPT0gJycpIE9LCitFWFBFQ1RFRCAoZXZlbnQuZXJyb3JDb2RlLmNvZGUgPT0gJzEn
KSBPSworRVhQRUNURUQgKGV2ZW50LnN5c3RlbUNvZGUgPT0gJzAnKSBPSworRU5EIE9GIFRFU1QK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvZW5jcnlwdGVkLW1lZGlhL2VuY3J5cHRl
ZC1tZWRpYS1ldmVudHMuaHRtbCBiL0xheW91dFRlc3RzL21lZGlhL2VuY3J5cHRlZC1tZWRpYS9l
bmNyeXB0ZWQtbWVkaWEtZXZlbnRzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTU2YjkwOWJhODM0ZDBmZmZk
MjZjOGJlMmI2NTE3MjgwNzI0YjBlZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL21l
ZGlhL2VuY3J5cHRlZC1tZWRpYS9lbmNyeXB0ZWQtbWVkaWEtZXZlbnRzLmh0bWwKQEAgLTAsMCAr
MSwxOTcgQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWwgbGFuZz0iZW4iPgorICAgIDxoZWFkPgor
ICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAgICAgICAgPHZpZGVvPjwvdmlkZW8+CisgICAgICAg
IDxwPlRlc3QgYWxsIHRoZSBrZXktcmVsYXRlZCBldmVudHMuPC9wPgorCisgICAgICAgIDxzY3Jp
cHQgc3JjPS4uL21lZGlhLWZpbGUuanM+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPS4u
L3ZpZGVvLXRlc3QuanM+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICAv
LyBUaGUgdGVzdCBydW5zIHR3aWNlLCBvbmNlIHVzaW5nIG9uKiBhbmQgdGhlbiB1c2luZyBhZGRF
dmVudExpc3RlbmVyKCkuCisgICAgICAgICAgICB2YXIgaXNGaXJzdFJ1biA9IHRydWU7CisKKyAg
ICAgICAgICAgIHZhciBpbml0RGF0YSA9IG5ldyBVaW50OEFycmF5KFsweDQxLCAweDQyLCAweDQz
XSk7CisgICAgICAgICAgICAvLyAxMjggYml0IGtleS4KKyAgICAgICAgICAgIHZhciBrZXkgPSBu
ZXcgVWludDhBcnJheShbMHg2MSwgMHg2MiwgMHg2MywgMHg2NCwgMHg2NSwgMHg2NiwgMHg2Nywg
MHg2OCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg2OSwgMHg2YSwg
MHg2YiwgMHg2YywgMHg2ZCwgMHg2ZSwgMHg2ZiwgMHg3MF0pOworICAgICAgICAgICAgLy8gVGhp
cyBrZXkgd2lsbCBjYXVzZSBhbiBhc3luY2hyb25vdXMgZXJyb3IgYmVjYXVzZSBpdCBpcyB0b28g
c2hvcnQuCisgICAgICAgICAgICB2YXIgaW52YWxpZEtleSA9IG5ldyBVaW50OEFycmF5KFsweDYx
XSk7CisKKyAgICAgICAgICAgIC8vIEFmdGVyIHRoZSBmaXJzdCBrZXlNZXNzYWdlIGV2ZW50LCB0
aGUgc2Vzc2lvbklkIHNob3VsZCBhbHdheXMgYmUgdGhlIHNhbWUuCisgICAgICAgICAgICAvLyBJ
bml0aWFsaXplIGl0IHRvIGFuIGludmFsaWQgdmFsdWUgdW50aWwgdGhlbi4KKyAgICAgICAgICAg
IHZhciBrZXlNZXNzYWdlU2Vzc2lvbklkID0gLTE7CisgICAgICAgICAgICAvLyBSZW1lbWJlciB0
aGUgZmlyc3QgSUQgdG8gbWFrZSBzdXJlIHRoZSBzZWNvbmQgb25lIGlzIGRpZmZlcmVudC4KKyAg
ICAgICAgICAgIHZhciBmaXJzdFJ1bktleU1lc3NhZ2VTZXNzaW9uSWQgPSAtMTsKKworICAgICAg
ICAgICAgZnVuY3Rpb24ga2V5QWRkZWQoZXZlbnQpCisgICAgICAgICAgICB7CisgICAgICAgICAg
ICAgICAgY29uc29sZVdyaXRlKCJrZXlhZGRlZCBldmVudCBvY2N1cnJlZCIpOworCisgICAgICAg
ICAgICAgICAgdGVzdEV4cGVjdGVkKCJldmVudC50YXJnZXQiLCB2aWRlbyk7CisgICAgICAgICAg
ICAgICAgdGVzdEV4cGVjdGVkKCJldmVudCBpbnN0YW5jZW9mIHdpbmRvdy5NZWRpYUtleUV2ZW50
IiwgdHJ1ZSk7CisKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoImV2ZW50LmtleVN5c3Rl
bSIsICJ3ZWJraXQtb3JnLnczLmNsZWFya2V5Iik7CisgICAgICAgICAgICAgICAgdGVzdEV4cGVj
dGVkKCJldmVudC5zZXNzaW9uSWQgPT0ga2V5TWVzc2FnZVNlc3Npb25JZCIsIHRydWUpOworICAg
ICAgICAgICAgICAgIC8vIFRoZSBvdGhlciBhdHRyaWJ1dGVzIGFyZSBub3QgdXNlZCBmb3IgdGhp
cyBldmVudC4KKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoImV2ZW50LmluaXREYXRhIiwg
bnVsbCwgIj09PSIpOworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgiZXZlbnQubWVzc2Fn
ZSIsIG51bGwsICI9PT0iKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoImV2ZW50LmRl
ZmF1bHRVcmwiLCAiIik7CisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJldmVudC5lcnJv
ckNvZGUiLCBudWxsLCAiPT09Iik7CisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJldmVu
dC5zeXN0ZW1Db2RlIiwgMCk7CisKKyAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIiIpOwor
ICAgICAgICAgICAgICAgIC8vIENhdXNlIGEga2V5ZXJyb3IgYnkgcGFzc2luZyBhbiBpbnZhbGlk
IGtleS4KKyAgICAgICAgICAgICAgICBydW4oInZpZGVvLndlYmtpdEFkZEtleSgnd2Via2l0LW9y
Zy53My5jbGVhcmtleScsIGludmFsaWRLZXksIG51bGwsIGV2ZW50LnNlc3Npb25JZCkiKTsKKyAg
ICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24ga2V5RXJyb3IoZXZlbnQpCisgICAg
ICAgICAgICB7CisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJrZXllcnJvciBldmVudCBv
Y2N1cnJlZCIpOworCisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJldmVudC50YXJnZXQi
LCB2aWRlbyk7CisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJldmVudCBpbnN0YW5jZW9m
IHdpbmRvdy5NZWRpYUtleUV2ZW50IiwgdHJ1ZSk7CisKKyAgICAgICAgICAgICAgICB0ZXN0RXhw
ZWN0ZWQoImV2ZW50LmtleVN5c3RlbSIsICJ3ZWJraXQtb3JnLnczLmNsZWFya2V5Iik7CisgICAg
ICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJldmVudC5zZXNzaW9uSWQgPT0ga2V5TWVzc2FnZVNl
c3Npb25JZCIsIHRydWUpOworICAgICAgICAgICAgICAgIC8vIFRoZSBuZXh0IHRocmVlIGF0dHJp
YnV0ZXMgYXJlIG5vdCB1c2VkIGZvciB0aGlzIGV2ZW50LgorICAgICAgICAgICAgICAgIHRlc3RF
eHBlY3RlZCgiZXZlbnQuaW5pdERhdGEiLCBudWxsLCAiPT09Iik7CisgICAgICAgICAgICAgICAg
dGVzdEV4cGVjdGVkKCJldmVudC5tZXNzYWdlIiwgbnVsbCwgIj09PSIpOworICAgICAgICAgICAg
ICAgIHRlc3RFeHBlY3RlZCgiZXZlbnQuZGVmYXVsdFVybCIsICIiKTsKKyAgICAgICAgICAgICAg
ICB0ZXN0RXhwZWN0ZWQoImV2ZW50LmVycm9yQ29kZS5jb2RlIiwgTWVkaWFLZXlFcnJvci5NRURJ
QV9LRVlFUlJfVU5LTk9XTik7CisgICAgICAgICAgICAgICAgLy8gc3lzdGVtQ29kZSBpcyBub3Qg
c3VwcG9ydGVkIGJ5IHRoZSBDbGVhciBLZXkga2V5IHN5c3RlbS4KKyAgICAgICAgICAgICAgICB0
ZXN0RXhwZWN0ZWQoImV2ZW50LnN5c3RlbUNvZGUiLCAwKTsKKworICAgICAgICAgICAgICAgIGlm
IChpc0ZpcnN0UnVuKSB7CisgICAgICAgICAgICAgICAgICAgIGlzRmlyc3RSdW4gPSBmYWxzZTsK
KyAgICAgICAgICAgICAgICAgICAgcnVuVGVzdCgpOworICAgICAgICAgICAgICAgIH0gZWxzZSB7
CisgICAgICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiIik7CisgICAgICAgICAgICAgICAg
ICAgIGNvbnNvbGVXcml0ZSgiQXR0cmlidXRlcyBhcmUgcmVhZC1vbmx5LiIpOworICAgICAgICAg
ICAgICAgICAgICBydW4oImV2ZW50LmtleVN5c3RlbSA9ICdibGFoJyIpOworICAgICAgICAgICAg
ICAgICAgICBydW4oImV2ZW50LnNlc3Npb25JZCA9ICdibGFoJyIpOworICAgICAgICAgICAgICAg
ICAgICBydW4oImV2ZW50LmluaXREYXRhID0gbmV3IFVpbnQ4QXJyYXkoWzB4MTJdKSIpOworICAg
ICAgICAgICAgICAgICAgICBydW4oImV2ZW50Lm1lc3NhZ2UgID0gbmV3IFVpbnQ4QXJyYXkoWzB4
MTJdKSIpOworICAgICAgICAgICAgICAgICAgICBydW4oImV2ZW50LmRlZmF1bHRVcmwgPSAnZXhh
bXBsZS5jb20nIik7CisgICAgICAgICAgICAgICAgICAgIHJ1bigiZXZlbnQuZXJyb3JDb2RlLmNv
ZGUgPSBNZWRpYUtleUVycm9yLk1FRElBX0tFWUVSUl9DTElFTlQiKTsKKyAgICAgICAgICAgICAg
ICAgICAgcnVuKCJldmVudC5zeXN0ZW1Db2RlID0gMTIzIik7CisKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEV4cGVjdGVkKCJldmVudC5rZXlTeXN0ZW0iLCAid2Via2l0LW9yZy53My5jbGVhcmtl
eSIpOworICAgICAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoImV2ZW50LnNlc3Npb25JZCA9
PSBrZXlNZXNzYWdlU2Vzc2lvbklkIiwgdHJ1ZSk7CisgICAgICAgICAgICAgICAgICAgIHRlc3RF
eHBlY3RlZCgiZXZlbnQuaW5pdERhdGEiLCBudWxsLCAiPT09Iik7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RFeHBlY3RlZCgiZXZlbnQubWVzc2FnZSIsIG51bGwsICI9PT0iKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJldmVudC5kZWZhdWx0VXJsIiwgIiIpOworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoImV2ZW50LmVycm9yQ29kZS5jb2RlIiwgTWVkaWFL
ZXlFcnJvci5NRURJQV9LRVlFUlJfVU5LTk9XTik7CisgICAgICAgICAgICAgICAgICAgIHRlc3RF
eHBlY3RlZCgiZXZlbnQuc3lzdGVtQ29kZSIsIDApOworCisgICAgICAgICAgICAgICAgICAgIGVu
ZFRlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAg
IGZ1bmN0aW9uIGtleU1lc3NhZ2UoZXZlbnQpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAg
ICAgY29uc29sZVdyaXRlKCJrZXltZXNzYWdlIGV2ZW50IG9jY3VycmVkIik7CisKKyAgICAgICAg
ICAgICAgICB0ZXN0RXhwZWN0ZWQoImV2ZW50LnRhcmdldCIsIHZpZGVvKTsKKyAgICAgICAgICAg
ICAgICB0ZXN0RXhwZWN0ZWQoImV2ZW50IGluc3RhbmNlb2Ygd2luZG93Lk1lZGlhS2V5RXZlbnQi
LCB0cnVlKTsKKworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgiZXZlbnQua2V5U3lzdGVt
IiwgIndlYmtpdC1vcmcudzMuY2xlYXJrZXkiKTsKKworICAgICAgICAgICAgICAgIGNvbnNvbGVX
cml0ZSgiVGhlIHNlc3Npb25JZCBzaG91bGQgYmUgYSBub24tZW1wdHkgc3RyaW5nIGNvbnRhaW5p
bmcgYW4gaW50ZWdlci4iKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoImV2ZW50LnNl
c3Npb25JZCIsICIiLCAiIT0iKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoImV2ZW50
LnNlc3Npb25JZCIsIG51bGwsICIhPSIpOworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgi
ZXZlbnQuc2Vzc2lvbklkIiwgdW5kZWZpbmVkLCAiIT0iKTsKKyAgICAgICAgICAgICAgICB0ZXN0
RXhwZWN0ZWQoImlzTmFOKGV2ZW50LnNlc3Npb25JZCkiLCBmYWxzZSk7CisgICAgICAgICAgICAg
ICAgLy8gTWFrZSBzdXJlIHRoZSBudW1iZXIgaXMgbm90IGEgZmxvYXQuCisgICAgICAgICAgICAg
ICAgdGVzdEV4cGVjdGVkKCJTdHJpbmcoZXZlbnQuc2Vzc2lvbklkKSA9PSBTdHJpbmcocGFyc2VJ
bnQoZXZlbnQuc2Vzc2lvbklkKSkiLCB0cnVlKTsKKyAgICAgICAgICAgICAgICBjb25zb2xlV3Jp
dGUoIkltcGxlbWVudGF0aW9ucyBzaG91bGQgYXZvaWQgc2Vzc2lvbklkcyBvZiAwLiIpOworICAg
ICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgiZXZlbnQuc2Vzc2lvbklkIiwgMCwgIj4iKTsKKyAg
ICAgICAgICAgICAgICAvLyBBbGwgb3RoZXIgZXZlbnRzIHNob3VsZCBoYXZlIHRoaXMgc2FtZSBz
ZXNzaW9uSWQuCisgICAgICAgICAgICAgICAga2V5TWVzc2FnZVNlc3Npb25JZCA9IGV2ZW50LnNl
c3Npb25JZDsKKyAgICAgICAgICAgICAgICBpZiAoaXNGaXJzdFJ1bikKKyAgICAgICAgICAgICAg
ICAgICAgZmlyc3RSdW5LZXlNZXNzYWdlU2Vzc2lvbklkID0ga2V5TWVzc2FnZVNlc3Npb25JZDsK
KyAgICAgICAgICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgY29uc29sZVdyaXRl
KCJUaGUgc2Vzc2lvbnNJZCBzaG91bGQgYmUgZGlmZmVyZW50IGZyb20gdGhlIGZpcnN0IHJ1bi4i
KTsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJldmVudC5zZXNzaW9uSWQiLCBm
aXJzdFJ1bktleU1lc3NhZ2VTZXNzaW9uSWQsICIhPSIpOworICAgICAgICAgICAgICAgIH0KKwor
ICAgICAgICAgICAgICAgIC8vIGluaXREYXRhIGlzIG5vdCB1c2VkIGZvciB0aGlzIGV2ZW50Lgor
ICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgiZXZlbnQuaW5pdERhdGEiLCBudWxsLCAiPT09
Iik7CisgICAgICAgICAgICAgICAgLy8gQXQgbGVhc3QgZm9yIG5vdywgdGhlIENsZWFyIEtleSBt
ZXNzYWdlIGlzIHRoZSBpbml0RGF0YS4KKyAgICAgICAgICAgICAgICB0ZXN0QXJyYXlzRXF1YWwo
ImV2ZW50Lm1lc3NhZ2UiLCBpbml0RGF0YSk7CisgICAgICAgICAgICAgICAgLy8gTm90IHN1cHBv
cnRlZCBieSB0aGUgdGVzdCBmaWxlLgorICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgiZXZl
bnQuZGVmYXVsdFVybCIsICIiKTsKKyAgICAgICAgICAgICAgICAvLyBUaGUgZXJyb3IgYXR0cmli
dXRlcyBhcmUgbm90IHVzZWQgZm9yIHRoaXMgZXZlbnQuCisgICAgICAgICAgICAgICAgdGVzdEV4
cGVjdGVkKCJldmVudC5lcnJvckNvZGUiLCBudWxsLCAiPT09Iik7CisgICAgICAgICAgICAgICAg
dGVzdEV4cGVjdGVkKCJldmVudC5zeXN0ZW1Db2RlIiwgMCk7CisKKyAgICAgICAgICAgICAgICBj
b25zb2xlV3JpdGUoIiIpOworICAgICAgICAgICAgICAgIHJ1bigidmlkZW8ud2Via2l0QWRkS2V5
KCd3ZWJraXQtb3JnLnczLmNsZWFya2V5Jywga2V5LCBldmVudC5pbml0RGF0YSwgZXZlbnQuc2Vz
c2lvbklkKSIpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiBuZWVkS2V5
KGV2ZW50KQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgibmVl
ZEtleSBldmVudCBvY2N1cnJlZCIpOworCisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJl
dmVudC50YXJnZXQiLCB2aWRlbyk7CisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJldmVu
dCBpbnN0YW5jZW9mIHdpbmRvdy5NZWRpYUtleUV2ZW50IiwgdHJ1ZSk7CisKKyAgICAgICAgICAg
ICAgICB0ZXN0RXhwZWN0ZWQoImV2ZW50LmtleVN5c3RlbSIsICJ3ZWJraXQtb3JnLnczLmNsZWFy
a2V5Iik7CisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJldmVudC5zZXNzaW9uSWQiLCAi
Iik7CisgICAgICAgICAgICAgICAgdGVzdEFycmF5c0VxdWFsKCJldmVudC5pbml0RGF0YSIsIGlu
aXREYXRhKTsKKyAgICAgICAgICAgICAgICAvLyBUaGUgb3RoZXIgYXR0cmlidXRlcyBhcmUgbm90
IHVzZWQgZm9yIHRoaXMgZXZlbnQuCisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJldmVu
dC5tZXNzYWdlIiwgbnVsbCwgIj09PSIpOworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgi
ZXZlbnQuZGVmYXVsdFVybCIsICIiKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoImV2
ZW50LmVycm9yQ29kZSIsIG51bGwsICI9PT0iKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0
ZWQoImV2ZW50LnN5c3RlbUNvZGUiLCAwKTsKKworICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0
ZSgiIik7CisgICAgICAgICAgICAgICAgcnVuKCJ2aWRlby53ZWJraXRHZW5lcmF0ZUtleVJlcXVl
c3QoJ3dlYmtpdC1vcmcudzMuY2xlYXJrZXknLCBpbml0RGF0YSkiKTsKKyAgICAgICAgICAgIH0K
KworICAgICAgICAgICAgZnVuY3Rpb24gcnVuVGVzdCgpCisgICAgICAgICAgICB7CisgICAgICAg
ICAgICAgICAgY29uc29sZVdyaXRlKCIiKTsKKyAgICAgICAgICAgICAgICBpZiAoaXNGaXJzdFJ1
bikgeworICAgICAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIioqKiBUZXN0IGV2ZW50cyB1
c2luZyBvbiogYXR0cmlidXRlcy4gKioqIik7CisgICAgICAgICAgICAgICAgICAgIHZpZGVvLm9u
d2Via2l0a2V5YWRkZWQ9a2V5QWRkZWQ7CisgICAgICAgICAgICAgICAgICAgIHZpZGVvLm9ud2Vi
a2l0a2V5ZXJyb3I9a2V5RXJyb3I7CisgICAgICAgICAgICAgICAgICAgIHZpZGVvLm9ud2Via2l0
a2V5bWVzc2FnZT1rZXlNZXNzYWdlOworICAgICAgICAgICAgICAgICAgICB2aWRlby5vbndlYmtp
dG5lZWRrZXk9bmVlZEtleTsKKyAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAg
ICAgICAgICBjb25zb2xlV3JpdGUoIioqKiBUZXN0IGV2ZW50cyB1c2luZyBhZGRFdmVudExpc3Rl
bmVyKCkuICoqKiIpOworCisgICAgICAgICAgICAgICAgICAgIC8vIENsZWFyIHRoZSBvbiogaGFu
ZGxlcnMuCisgICAgICAgICAgICAgICAgICAgIHZpZGVvLm9ud2Via2l0a2V5YWRkZWQ9bnVsbDsK
KyAgICAgICAgICAgICAgICAgICAgdmlkZW8ub253ZWJraXRrZXllcnJvcj1udWxsOworICAgICAg
ICAgICAgICAgICAgICB2aWRlby5vbndlYmtpdGtleW1lc3NhZ2U9bnVsbDsKKyAgICAgICAgICAg
ICAgICAgICAgdmlkZW8ub253ZWJraXRuZWVka2V5PW51bGw7CisKKyAgICAgICAgICAgICAgICAg
ICAgd2FpdEZvckV2ZW50KCd3ZWJraXRrZXlhZGRlZCcsIGtleUFkZGVkKTsKKyAgICAgICAgICAg
ICAgICAgICAgd2FpdEZvckV2ZW50KCd3ZWJraXRrZXllcnJvcicsIGtleUVycm9yKTsKKyAgICAg
ICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50KCd3ZWJraXRrZXltZXNzYWdlJywga2V5TWVzc2Fn
ZSk7CisgICAgICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudCgnd2Via2l0bmVlZGtleScsIG5l
ZWRLZXkpOworICAgICAgICAgICAgICAgIH0KKyAgICAKKyAgICAgICAgICAgICAgICAvLyBGSVhN
RSg4Mjk1Mik6IFRlbXByb2FyeSB1bnRpbCB3ZSBoYXZlIGEgInRlc3QtZW5jcnlwdGVkIiBmaWxl
IHRoYXQgY2F1c2VzIHRoZSBuZWVkS2V5IGV2ZW50LgorICAgICAgICAgICAgICAgIHdhaXRGb3JF
dmVudE9uY2UoJ2xvYWRzdGFydCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rp
b24oKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiIik7
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ1bigidmlkZW8ud2Via2l0R2VuZXJh
dGVLZXlSZXF1ZXN0KCd3ZWJraXQtb3JnLnczLmNsZWFya2V5JywgaW5pdERhdGEpIik7CisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgfSk7CisKKyAgICAgICAgICAgICAgICB2aWRlby5zZXRB
dHRyaWJ1dGUoInNyYyIsIGZpbmRNZWRpYUZpbGUoInZpZGVvIiwgIi4uL2NvbnRlbnQvdGVzdCIp
KTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgY29uc29sZVdyaXRlKCIqKiogVmVyaWZ5
IHRoZSBwcmVzZW5jZSBvZiBvbiogYXR0cmlidXRlcy4gVGhlc2Ugd291bGQgcmV0dXJuIHVuZGVm
aW5lZCBpZiB0aGV5IGFyZSBub3QgcHJlc2VudC4gKioqIik7CisgICAgICAgICAgICB0ZXN0RXhw
ZWN0ZWQoInZpZGVvLm9ud2Via2l0a2V5YWRkZWQiLCBudWxsLCAiPT09Iik7CisgICAgICAgICAg
ICB0ZXN0RXhwZWN0ZWQoInZpZGVvLm9ud2Via2l0a2V5ZXJyb3IiLCBudWxsLCAiPT09Iik7Cisg
ICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInZpZGVvLm9ud2Via2l0a2V5bWVzc2FnZSIsIG51bGws
ICI9PT0iKTsKKyAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgidmlkZW8ub253ZWJraXRuZWVka2V5
IiwgbnVsbCwgIj09PSIpOworCisgICAgICAgICAgICBydW5UZXN0KCk7CisKKyAgICAgICAgPC9z
Y3JpcHQ+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVk
aWEvdmlkZW8tdGVzdC5qcyBiL0xheW91dFRlc3RzL21lZGlhL3ZpZGVvLXRlc3QuanMKaW5kZXgg
ZWJmMGY0MzU0MDA4MDQ1N2ViMzRlNzA1MjM1NjQ4YjkyMzUyNzFhMS4uMDZmZjYyM2U2ZjJlNzFh
ODdkMDkyNzViZTMyMmViYzUxMzI5OGIxYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvbWVkaWEv
dmlkZW8tdGVzdC5qcworKysgYi9MYXlvdXRUZXN0cy9tZWRpYS92aWRlby10ZXN0LmpzCkBAIC03
OSwxMSArNzksMjkgQEAgZnVuY3Rpb24gdGVzdEV4cGVjdGVkKHRlc3RGdW5jU3RyaW5nLCBleHBl
Y3RlZCwgY29tcGFyaXNvbikKICAgICAgICAgY2FzZSAnPj0nOiBzdWNjZXNzID0gb2JzZXJ2ZWQg
Pj0gZXhwZWN0ZWQ7IGJyZWFrOwogICAgICAgICBjYXNlICchPSc6ICBzdWNjZXNzID0gb2JzZXJ2
ZWQgIT0gZXhwZWN0ZWQ7IGJyZWFrOwogICAgICAgICBjYXNlICc9PSc6IHN1Y2Nlc3MgPSBvYnNl
cnZlZCA9PSBleHBlY3RlZDsgYnJlYWs7CisgICAgICAgIGNhc2UgJz09PSc6IHN1Y2Nlc3MgPSBv
YnNlcnZlZCA9PT0gZXhwZWN0ZWQ7IGJyZWFrOwogICAgIH0KIAogICAgIHJlcG9ydEV4cGVjdGVk
KHN1Y2Nlc3MsIHRlc3RGdW5jU3RyaW5nLCBjb21wYXJpc29uLCBleHBlY3RlZCwgb2JzZXJ2ZWQp
CiB9CiAKK2Z1bmN0aW9uIHRlc3RBcnJheXNFcXVhbCh0ZXN0RnVuY1N0cmluZywgZXhwZWN0ZWQp
Cit7CisgICAgdmFyIG9ic2VydmVkOworICAgIHRyeSB7CisgICAgICAgIG9ic2VydmVkID0gZXZh
bCh0ZXN0RnVuY1N0cmluZyk7CisgICAgfSBjYXRjaCAoZXgpIHsKKyAgICAgICAgY29uc29sZVdy
aXRlKGV4KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgCisgICAgdGVzdEV4cGVjdGVkKHRl
c3RGdW5jU3RyaW5nICsgIi5sZW5ndGgiLCBleHBlY3RlZC5sZW5ndGgpOworCisgICAgZm9yICh2
YXIgaSA9IDA7IGkgPCBvYnNlcnZlZC5sZW5ndGg7IGkrKykgeworICAgICAgICB0ZXN0RXhwZWN0
ZWQodGVzdEZ1bmNTdHJpbmcgKyAiWyIgKyBpICsgIl0iLCBleHBlY3RlZFtpXSk7CisgICAgfQor
fQorCiB2YXIgdGVzdE51bWJlciA9IDA7CiAKIGZ1bmN0aW9uIHJlcG9ydEV4cGVjdGVkKHN1Y2Nl
c3MsIHRlc3RGdW5jU3RyaW5nLCBjb21wYXJpc29uLCBleHBlY3RlZCwgb2JzZXJ2ZWQpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>136797</attachid>
            <date>2012-04-11 17:35:16 -0700</date>
            <delta_ts>2012-04-12 15:31:50 -0700</delta_ts>
            <desc>Avoid using uninitialized mediaKeyErrorCode (exposed by removing default case)</desc>
            <filename>bug-82974-20120411173515.patch</filename>
            <type>text/plain</type>
            <size>92316</size>
            <attacher name="David Dorwin">ddorwin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEzOTE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjI0ZWUxZWJhODQ3Y2Mz
OTViZTFhYzRmMDg2ZmE3MTJjYWFmM2EwNS4uOGViMmU1OTBlMWYxZDhlODQ2NjkzMWE4N2RhYjZh
Yjg4NTdmZmUzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDgxIEBACisyMDEyLTA0LTExICBEYXZp
ZCBEb3J3aW4gIDxkZG9yd2luQGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgRW5jcnlwdGVk
IE1lZGlhIEV4dGVuc2lvbnMgZXZlbnRzIGFuZCBlcnJvcnMgdG8gSFRNTE1lZGlhRWxlbWVudAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODI5NzQKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgbmV3IGV2
ZW50cyBhbmQgZXJyb3JzIGFyZSBiZWhpbmQgdGhlIEVOQUJMRShFTkNSWVBURURfTUVESUEpIGZl
YXR1cmUgZGVmaW5lLgorICAgICAgICBJbXBsZW1lbnRhdGlvbiBpcyBiYXNlZCBvbiB2MC4xIG9m
IHRoZSBkcmFmdCBwcm9wb3NhbCBhdAorICAgICAgICBodHRwOi8vZHZjcy53My5vcmcvaGcvaHRt
bC1tZWRpYS9yYXctZmlsZS90aXAvZW5jcnlwdGVkLW1lZGlhL2VuY3J5cHRlZC1tZWRpYS5odG1s
I2V2ZW50cy4KKworICAgICAgICBUZXN0czogZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL21lZGlh
LWtleS1ldmVudC1jb25zdHJ1Y3Rvci5odG1sCisgICAgICAgICAgICAgICBtZWRpYS9lbmNyeXB0
ZWQtbWVkaWEvZW5jcnlwdGVkLW1lZGlhLWNvbnN0YW50cy5odG1sCisgICAgICAgICAgICAgICBt
ZWRpYS9lbmNyeXB0ZWQtbWVkaWEvZW5jcnlwdGVkLW1lZGlhLWV2ZW50cy5odG1sCisKKyAgICAg
ICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogYmluZGluZ3MvdjgvRGljdGlvbmFyeS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpEaWN0aW9uYXJ5OjpnZXQpOgorICAgICAgICAoV2ViQ29yZSk6
CisgICAgICAgICogYmluZGluZ3MvdjgvRGljdGlvbmFyeS5oOgorICAgICAgICAoV2ViQ29yZSk6
CisgICAgICAgIChEaWN0aW9uYXJ5KToKKyAgICAgICAgKiBkb20vRXZlbnROYW1lcy5oOgorICAg
ICAgICAoV2ViQ29yZSk6CisgICAgICAgICogZG9tL0V2ZW50TmFtZXMuaW46CisgICAgICAgICog
aHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW46CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlh
RWxlbWVudDo6bWVkaWFQbGF5ZXJLZXlBZGRlZCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVk
aWFFbGVtZW50OjptZWRpYVBsYXllcktleUVycm9yKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxN
ZWRpYUVsZW1lbnQ6Om1lZGlhUGxheWVyS2V5TWVzc2FnZSk6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXllcktleU5lZWRlZCk6CisgICAgICAgICogaHRtbC9I
VE1MTWVkaWFFbGVtZW50Lmg6CisgICAgICAgIChIVE1MTWVkaWFFbGVtZW50KToKKyAgICAgICAg
KiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvTWVkaWFFcnJvci5o
OgorICAgICAgICAqIGh0bWwvTWVkaWFFcnJvci5pZGw6CisgICAgICAgICogaHRtbC9NZWRpYUtl
eUVycm9yLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFcnJvci5oLgor
ICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChNZWRpYUtleUVycm9yKToKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhS2V5RXJyb3I6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtl
eUVycm9yOjpjb2RlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhS2V5RXJyb3I6Ok1lZGlhS2V5
RXJyb3IpOgorICAgICAgICAqIGh0bWwvTWVkaWFLZXlFcnJvci5pZGw6IENvcGllZCBmcm9tIFNv
dXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFcnJvci5pZGwuCisgICAgICAgICogaHRtbC9NZWRpYUtl
eUV2ZW50LmNwcDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVycm9yLmgu
CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhS2V5RXZlbnRJbml0
OjpNZWRpYUtleUV2ZW50SW5pdCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtleUV2ZW50OjpN
ZWRpYUtleUV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhS2V5RXZlbnQ6On5NZWRpYUtl
eUV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhS2V5RXZlbnQ6OmludGVyZmFjZU5hbWUp
OgorICAgICAgICAqIGh0bWwvTWVkaWFLZXlFdmVudC5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNv
cmUpOgorICAgICAgICAoTWVkaWFLZXlFdmVudEluaXQpOgorICAgICAgICAoTWVkaWFLZXlFdmVu
dCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtleUV2ZW50OjpjcmVhdGUpOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFLZXlFdmVudDo6a2V5U3lzdGVtKToKKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhS2V5RXZlbnQ6OnNlc3Npb25JZCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtleUV2ZW50
Ojppbml0RGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtleUV2ZW50OjptZXNzYWdlKToK
KyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhS2V5RXZlbnQ6OmRlZmF1bHRVcmwpOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFLZXlFdmVudDo6ZXJyb3JDb2RlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhS2V5RXZlbnQ6OnN5c3RlbUNvZGUpOgorICAgICAgICAqIGh0bWwvTWVkaWFLZXlFdmVudC5p
ZGw6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFcnJvci5pZGwuCisgICAg
ICAgICogcGFnZS9ET01XaW5kb3cuaWRsOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL01l
ZGlhUGxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFQbGF5ZXI6OmtleUFkZGVkKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyOjprZXlF
cnJvcik6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllcjo6a2V5TWVzc2FnZSk6CisgICAg
ICAgIChXZWJDb3JlOjpNZWRpYVBsYXllcjo6a2V5TmVlZGVkKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9NZWRpYVBsYXllci5oOgorICAgICAgICAoTWVkaWFQbGF5ZXJDbGllbnQpOgor
ICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJDbGllbnQ6Om1lZGlhUGxheWVyS2V5QWRkZWQp
OgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJDbGllbnQ6Om1lZGlhUGxheWVyS2V5RXJy
b3IpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJDbGllbnQ6Om1lZGlhUGxheWVyS2V5
TWVzc2FnZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllckNsaWVudDo6bWVkaWFQbGF5
ZXJLZXlOZWVkZWQpOgorICAgICAgICAoTWVkaWFQbGF5ZXIpOgorCiAyMDEyLTA0LTEwICBaaGVu
eWFvIE1vICA8em1vQGdvb2dsZS5jb20+CiAKICAgICAgICAgV2ViR0xSZW5kZXJpbmdDb250ZXh0
IHNob3VsZCBkZWZlciBjYWNoaW5nIHByb2dyYW0gaW5mbwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxv
ZwppbmRleCAxYmJhOTU1Yzk0MTMxMzIyNDQ1NzU4NGQxYTE4MDFhZmJiYmFhZTJjLi4zMTU3MGVk
OTQ2NmNkZjJlMmU0ZGYwMWUyZjVlNTBkYjQ3OGFlOGYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5n
ZUxvZwpAQCAtMSw1ICsxLDI3IEBACiAyMDEyLTA0LTExICBEYXZpZCBEb3J3aW4gIDxkZG9yd2lu
QGNocm9taXVtLm9yZz4KIAorICAgICAgICBBZGQgRW5jcnlwdGVkIE1lZGlhIEV4dGVuc2lvbnMg
ZXZlbnRzIGFuZCBlcnJvcnMgdG8gSFRNTE1lZGlhRWxlbWVudAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODI5NzQKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgbmV3IGV2ZW50cyBhbmQgZXJyb3JzIGFy
ZSBiZWhpbmQgdGhlIEVOQUJMRShFTkNSWVBURURfTUVESUEpIGZlYXR1cmUgZGVmaW5lLgorICAg
ICAgICBJbXBsZW1lbnRhdGlvbiBpcyBiYXNlZCBvbiB2MC4xIG9mIHRoZSBkcmFmdCBwcm9wb3Nh
bCBhdAorICAgICAgICBodHRwOi8vZHZjcy53My5vcmcvaGcvaHRtbC1tZWRpYS9yYXctZmlsZS90
aXAvZW5jcnlwdGVkLW1lZGlhL2VuY3J5cHRlZC1tZWRpYS5odG1sI2V2ZW50cy4KKworICAgICAg
ICAqIHB1YmxpYy9XZWJNZWRpYVBsYXllckNsaWVudC5oOgorICAgICAgICAqIHNyYy9Bc3NlcnRN
YXRjaGluZ0VudW1zLmNwcDoKKyAgICAgICAgKiBzcmMvV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBs
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsOjprZXlBZGRl
ZCk6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViS2l0OjpXZWJNZWRpYVBsYXllckNs
aWVudEltcGw6OmtleUVycm9yKToKKyAgICAgICAgKFdlYktpdDo6V2ViTWVkaWFQbGF5ZXJDbGll
bnRJbXBsOjprZXlNZXNzYWdlKToKKyAgICAgICAgKFdlYktpdDo6V2ViTWVkaWFQbGF5ZXJDbGll
bnRJbXBsOjprZXlOZWVkZWQpOgorICAgICAgICAqIHNyYy9XZWJNZWRpYVBsYXllckNsaWVudElt
cGwuaDoKKyAgICAgICAgKFdlYk1lZGlhUGxheWVyQ2xpZW50SW1wbCk6CisKKzIwMTItMDQtMTEg
IERhdmlkIERvcndpbiAgPGRkb3J3aW5AY2hyb21pdW0ub3JnPgorCiAgICAgICAgIEFkZCBrZXlT
eXN0ZW0gYXR0cmlidXRlIHRvIGNhblBsYXlUeXBlKCkgZm9yIEVuY3J5cHRlZCBNZWRpYSBFeHRl
bnNpb25zCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04
Mjk3MwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggYTkzMTFlYzFmMzYxYjljMTY3MzQwMGU5MzdiNDkw
N2QzNmIzYzkyZC4uZTI1YmU3MzJiMGE5NGVhMWE1MDcxMTViNjUwOWVlYjAyZjIwMTM5YyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZ3lwaQpAQCAtMTA2Myw2ICsxMDYzLDggQEAKICAgICAgICAgICAgICdodG1sL0lt
YWdlRGF0YS5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvTWVkaWFDb250cm9sbGVyLmlkbCcsCiAg
ICAgICAgICAgICAnaHRtbC9NZWRpYUVycm9yLmlkbCcsCisgICAgICAgICAgICAnaHRtbC9NZWRp
YUtleUVycm9yLmlkbCcsCisgICAgICAgICAgICAnaHRtbC9NZWRpYUtleUV2ZW50LmlkbCcsCiAg
ICAgICAgICAgICAnaHRtbC9UZXh0TWV0cmljcy5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvVGlt
ZVJhbmdlcy5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvVmFsaWRpdHlTdGF0ZS5pZGwnLApAQCAt
NTU2OSw2ICs1NTcxLDkgQEAKICAgICAgICAgICAgICdodG1sL01lZGlhRXJyb3IuaCcsCiAgICAg
ICAgICAgICAnaHRtbC9NZWRpYUZyYWdtZW50VVJJUGFyc2VyLmNwcCcsCiAgICAgICAgICAgICAn
aHRtbC9NZWRpYUZyYWdtZW50VVJJUGFyc2VyLmgnLAorICAgICAgICAgICAgJ2h0bWwvTWVkaWFL
ZXlFcnJvci5oJywKKyAgICAgICAgICAgICdodG1sL01lZGlhS2V5RXZlbnQuY3BwJywKKyAgICAg
ICAgICAgICdodG1sL01lZGlhS2V5RXZlbnQuaCcsCiAgICAgICAgICAgICAnaHRtbC9NaWNyb0Rh
dGFJdGVtVmFsdWUuY3BwJywKICAgICAgICAgICAgICdodG1sL01pY3JvRGF0YUl0ZW1WYWx1ZS5o
JywKICAgICAgICAgICAgICdodG1sL01vbnRoSW5wdXRUeXBlLmNwcCcsCkBAIC03NTY2LDYgKzc1
NzEsMTAgQEAKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTTWF0aE1MRWxlbWVudFdyYXBwZXJGYWN0b3J5LmgnLAogICAgICAgICAgICAgJzwoUFJP
RFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNZWRpYUVycm9yLmNwcCcsCiAgICAg
ICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01lZGlhRXJy
b3IuaCcsCisgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU01lZGlhS2V5RXJyb3IuY3BwJywKKyAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTTWVkaWFLZXlFcnJvci5oJywKKyAgICAgICAgICAgICc8KFBS
T0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTWVkaWFLZXlFdmVudC5jcHAnLAor
ICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNZWRp
YUtleUV2ZW50LmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNNZWRpYUxpc3QuY3BwJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTWVkaWFMaXN0LmgnLAogICAgICAgICAgICAgJzwoUFJP
RFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNZWRpYVF1ZXJ5TGlzdC5jcHAnLApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvRGljdGlvbmFyeS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9EaWN0aW9uYXJ5LmNwcAppbmRleCBjMjlmOTZhZDIw
MTQxMWZmMzkzZGJiZDk1ZDhhN2YyNGVhZDg3NGUxLi5mZDRkYTFmYjAwNmNmY2Y2NDE4OWY4MjM5
ZDhlNmNiMjBmMWM2YWVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9E
aWN0aW9uYXJ5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9EaWN0aW9uYXJ5
LmNwcApAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIlY4QmluZGluZy5oIgogI2luY2x1ZGUg
IlY4RE9NV2luZG93LmgiCiAjaW5jbHVkZSAiVjhTdG9yYWdlLmgiCisjaW5jbHVkZSAiVjhVaW50
OEFycmF5LmgiCiAjaW5jbHVkZSAiVjhVdGlsaXRpZXMuaCIKICNpbmNsdWRlIDx3dGYvTWF0aEV4
dHJhcy5oPgogCkBAIC0zOCw2ICszOSwxMCBAQAogI2luY2x1ZGUgIlY4SURCS2V5UmFuZ2UuaCIK
ICNlbmRpZgogCisjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKKyNpbmNsdWRlICJWOE1lZGlh
S2V5RXJyb3IuaCIKKyNlbmRpZgorCiAjaWYgRU5BQkxFKFZJREVPX1RSQUNLKQogI2luY2x1ZGUg
IlRyYWNrQmFzZS5oIgogI2luY2x1ZGUgIlY4VGV4dFRyYWNrLmgiCkBAIC0yOTMsNiArMjk4LDQ0
IEBAIGJvb2wgRGljdGlvbmFyeTo6Z2V0V2l0aFVuZGVmaW5lZE9yTnVsbENoZWNrKGNvbnN0IFN0
cmluZyYga2V5LCBTdHJpbmcmIHZhbHVlKSBjCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK2Jvb2wg
RGljdGlvbmFyeTo6Z2V0KGNvbnN0IFN0cmluZyYga2V5LCBSZWZQdHI8VWludDhBcnJheT4mIHZh
bHVlKSBjb25zdAoreworICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHY4VmFsdWU7CisgICAgaWYg
KCFnZXRLZXkoa2V5LCB2OFZhbHVlKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgVWlu
dDhBcnJheSogc291cmNlID0gMDsKKyAgICBpZiAodjhWYWx1ZS0+SXNPYmplY3QoKSkgeworICAg
ICAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHdyYXBwZXIgPSB2ODo6SGFuZGxlPHY4OjpPYmpl
Y3Q+OjpDYXN0KHY4VmFsdWUpOworCisgICAgICAgIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gYXJy
YXkgPSBWOERPTVdyYXBwZXI6Omxvb2t1cERPTVdyYXBwZXIoVjhVaW50OEFycmF5OjpHZXRUZW1w
bGF0ZSgpLCB3cmFwcGVyKTsKKyAgICAgICAgaWYgKCFhcnJheS5Jc0VtcHR5KCkpCisgICAgICAg
ICAgICBzb3VyY2UgPSBWOFVpbnQ4QXJyYXk6OnRvTmF0aXZlKGFycmF5KTsKKyAgICB9CisgICAg
dmFsdWUgPSBzb3VyY2U7CisgICAgcmV0dXJuIHRydWU7Cit9CisKKyNpZiBFTkFCTEUoRU5DUllQ
VEVEX01FRElBKQorYm9vbCBEaWN0aW9uYXJ5OjpnZXQoY29uc3QgU3RyaW5nJiBrZXksIFJlZlB0
cjxNZWRpYUtleUVycm9yPiYgdmFsdWUpIGNvbnN0Cit7CisgICAgdjg6OkxvY2FsPHY4OjpWYWx1
ZT4gdjhWYWx1ZTsKKyAgICBpZiAoIWdldEtleShrZXksIHY4VmFsdWUpKQorICAgICAgICByZXR1
cm4gZmFsc2U7CisKKyAgICBNZWRpYUtleUVycm9yKiBzb3VyY2UgPSAwOworICAgIGlmICh2OFZh
bHVlLT5Jc09iamVjdCgpKSB7CisgICAgICAgIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gd3JhcHBl
ciA9IHY4OjpIYW5kbGU8djg6Ok9iamVjdD46OkNhc3QodjhWYWx1ZSk7CisKKyAgICAgICAgdjg6
OkhhbmRsZTx2ODo6T2JqZWN0PiBlcnJvciA9IFY4RE9NV3JhcHBlcjo6bG9va3VwRE9NV3JhcHBl
cihWOE1lZGlhS2V5RXJyb3I6OkdldFRlbXBsYXRlKCksIHdyYXBwZXIpOworICAgICAgICBpZiAo
IWVycm9yLklzRW1wdHkoKSkKKyAgICAgICAgICAgIHNvdXJjZSA9IFY4TWVkaWFLZXlFcnJvcjo6
dG9OYXRpdmUoZXJyb3IpOworICAgIH0KKyAgICB2YWx1ZSA9IHNvdXJjZTsKKyAgICByZXR1cm4g
dHJ1ZTsKK30KKyNlbmRpZgorCiAjaWYgRU5BQkxFKFZJREVPX1RSQUNLKQogYm9vbCBEaWN0aW9u
YXJ5OjpnZXQoY29uc3QgU3RyaW5nJiBrZXksIFJlZlB0cjxUcmFja0Jhc2U+JiB2YWx1ZSkgY29u
c3QKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RpY3Rpb25hcnku
aCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RpY3Rpb25hcnkuaAppbmRleCAyNmM0YTZi
N2FjMjJlNGY4MDcwNDIxYjcwZTAzY2EzYjdjZmU4YjQyLi4zMjE2NGI4Y2JiMjNhNTRhYmM1ODQ5
Nzk5NjI1OTZjNWZkMmZmODMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9EaWN0aW9uYXJ5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvRGljdGlvbmFy
eS5oCkBAIC0zOSw2ICszOSw3IEBAIGNsYXNzIERPTVN0cmluZ0xpc3Q7CiBjbGFzcyBET01XaW5k
b3c7CiBjbGFzcyBJREJLZXlSYW5nZTsKIGNsYXNzIFN0b3JhZ2U7CitjbGFzcyBNZWRpYUtleUVy
cm9yOwogY2xhc3MgVHJhY2tCYXNlOwogY2xhc3MgU3BlZWNoUmVjb2duaXRpb25FcnJvcjsKIGNs
YXNzIFNwZWVjaFJlY29nbml0aW9uUmVzdWx0OwpAQCAtNjcsNiArNjgsMTAgQEAgcHVibGljOgog
ICAgIGJvb2wgZ2V0KGNvbnN0IFN0cmluZyYsIFJlZlB0cjxET01XaW5kb3c+JikgY29uc3Q7CiAg
ICAgYm9vbCBnZXQoY29uc3QgU3RyaW5nJiwgUmVmUHRyPFN0b3JhZ2U+JikgY29uc3Q7CiAgICAg
Ym9vbCBnZXQoY29uc3QgU3RyaW5nJiwgTWVzc2FnZVBvcnRBcnJheSYpIGNvbnN0OworICAgIGJv
b2wgZ2V0KGNvbnN0IFN0cmluZyYsIFJlZlB0cjxVaW50OEFycmF5PiYpIGNvbnN0OworI2lmIEVO
QUJMRShFTkNSWVBURURfTUVESUEpCisgICAgYm9vbCBnZXQoY29uc3QgU3RyaW5nJiwgUmVmUHRy
PE1lZGlhS2V5RXJyb3I+JikgY29uc3Q7CisjZW5kaWYKICNpZiBFTkFCTEUoVklERU9fVFJBQ0sp
CiAgICAgYm9vbCBnZXQoY29uc3QgU3RyaW5nJiwgUmVmUHRyPFRyYWNrQmFzZT4mKSBjb25zdDsK
ICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKaW5kZXggYTY1YTUyYzUyODE4ODAwOThiMjdm
NWZkN2FkYmZhN2IzNDlkYjBiNS4uMjA1YThjOTkyMWNhNTE4MmE2OGM3Y2MyYmYxY2VhOGVjZDlj
MWRjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCkBAIC0xNjEsNiArMTYxLDExIEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICBtYWNybyh3ZWJraXRzb3VyY2VlbmRlZCkgXAogICAgIG1hY3Jv
KHdlYmtpdHNvdXJjZWNsb3NlKSBcCiAgICAgXAorICAgIG1hY3JvKHdlYmtpdGtleWFkZGVkKSBc
CisgICAgbWFjcm8od2Via2l0a2V5ZXJyb3IpIFwKKyAgICBtYWNybyh3ZWJraXRrZXltZXNzYWdl
KSBcCisgICAgbWFjcm8od2Via2l0bmVlZGtleSkgXAorICAgIFwKICAgICBtYWNybyhwcm9ncmVz
cykgXAogICAgIG1hY3JvKHN0YWxsZWQpIFwKICAgICBtYWNybyhzdXNwZW5kKSBcCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FdmVudE5hbWVzLmluCmluZGV4IGQ4NjYxMTI0MDgwZTgxZDE5NTljOGMwOTUyYjU2OTYxYzdh
ZThmMjkuLmQ1YThkOTkwODNiNGFkMmY4YmU1YmM5ODFhODNhMmMyN2MyM2I2YzcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmluCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9FdmVudE5hbWVzLmluCkBAIC00Miw0ICs0Miw1IEBAIFRvdWNoRXZlbnQgY29uZGl0aW9u
YWw9VE9VQ0hfRVZFTlRTLCBydW50aW1lQ29uZGl0aW9uYWw9dG91Y2hFbmFibGVkCiBEZXZpY2VN
b3Rpb25FdmVudCBjb25kaXRpb25hbD1ERVZJQ0VfT1JJRU5UQVRJT04KIERldmljZU9yaWVudGF0
aW9uRXZlbnQgY29uZGl0aW9uYWw9REVWSUNFX09SSUVOVEFUSU9OCiBPcmllbnRhdGlvbkV2ZW50
IGludGVyZmFjZU5hbWU9RXZlbnQsIGNvbmRpdGlvbmFsPU9SSUVOVEFUSU9OX0VWRU5UUworTWVk
aWFLZXlFdmVudCBjb25kaXRpb25hbD1FTkNSWVBURURfTUVESUEKIFRyYWNrRXZlbnQgY29uZGl0
aW9uYWw9VklERU9fVFJBQ0sKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF0
dHJpYnV0ZU5hbWVzLmluIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMu
aW4KaW5kZXggM2M3MzBiYmNkNTQyNWFiZWM5YTlkYzI1MTk3ZDM5MjdlZTY3ZDUxZC4uYmExMDQ4
NzQ3NGI2NTAyOGJhMWNiYThjY2FhY2VkN2QxOTAzZGRhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MQXR0cmlidXRlTmFtZXMuaW4KQEAgLTI0Nyw2ICsyNDcsMTAgQEAgb253ZWJraXRiZWdp
bmZ1bGxzY3JlZW4KIG9ud2Via2l0ZW5kZnVsbHNjcmVlbgogb253ZWJraXRmdWxsc2NyZWVuY2hh
bmdlCiBvbndlYmtpdGZ1bGxzY3JlZW5lcnJvcgorb253ZWJraXRrZXlhZGRlZAorb253ZWJraXRr
ZXllcnJvcgorb253ZWJraXRrZXltZXNzYWdlCitvbndlYmtpdG5lZWRrZXkKIG9ud2Via2l0dHJh
bnNpdGlvbmVuZAogb3Blbgogb3B0aW11bQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxl
bWVudC5jcHAKaW5kZXggMzlmZWYzMWIwZTI1YTQ1NGQ3Y2UzZTBiNzJiZTBhMWU3NTY2ZTYxZS4u
MDg1ODNlNDFiN2ZhN2QwM2VkMThkODYzNzcyMDU3MTA3MjI4NGYzMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBAIC01OCw2ICs1OCw4IEBACiAjaW5jbHVkZSAi
TWVkaWFEb2N1bWVudC5oIgogI2luY2x1ZGUgIk1lZGlhRXJyb3IuaCIKICNpbmNsdWRlICJNZWRp
YUZyYWdtZW50VVJJUGFyc2VyLmgiCisjaW5jbHVkZSAiTWVkaWFLZXlFcnJvci5oIgorI2luY2x1
ZGUgIk1lZGlhS2V5RXZlbnQuaCIKICNpbmNsdWRlICJNZWRpYUxpc3QuaCIKICNpbmNsdWRlICJN
ZWRpYVBsYXllci5oIgogI2luY2x1ZGUgIk1lZGlhUXVlcnlFdmFsdWF0b3IuaCIKQEAgLTE2ODAs
NiArMTY4Miw4NiBAQCBTdHJpbmcgSFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJTb3VyY2VV
UkwoKSBjb25zdAogfQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQordm9p
ZCBIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXllcktleUFkZGVkKE1lZGlhUGxheWVyKiwgY29u
c3QgU3RyaW5nJiBrZXlTeXN0ZW0sIGNvbnN0IFN0cmluZyYgc2Vzc2lvbklkKQoreworICAgIE1l
ZGlhS2V5RXZlbnRJbml0IGluaXRpYWxpemVyOworICAgIGluaXRpYWxpemVyLmtleVN5c3RlbSA9
IGtleVN5c3RlbTsKKyAgICBpbml0aWFsaXplci5zZXNzaW9uSWQgPSBzZXNzaW9uSWQ7CisgICAg
aW5pdGlhbGl6ZXIuYnViYmxlcyA9IGZhbHNlOworICAgIGluaXRpYWxpemVyLmNhbmNlbGFibGUg
PSBmYWxzZTsKKworICAgIFJlZlB0cjxFdmVudD4gZXZlbnQgPSBNZWRpYUtleUV2ZW50OjpjcmVh
dGUoZXZlbnROYW1lcygpLndlYmtpdGtleWFkZGVkRXZlbnQsIGluaXRpYWxpemVyKTsKKyAgICBl
dmVudC0+c2V0VGFyZ2V0KHRoaXMpOworICAgIG1fYXN5bmNFdmVudFF1ZXVlLT5lbnF1ZXVlRXZl
bnQoZXZlbnQucmVsZWFzZSgpKTsKK30KKwordm9pZCBIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBs
YXllcktleUVycm9yKE1lZGlhUGxheWVyKiwgY29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0sIGNvbnN0
IFN0cmluZyYgc2Vzc2lvbklkLCBNZWRpYVBsYXllckNsaWVudDo6TWVkaWFLZXlFcnJvckNvZGUg
ZXJyb3JDb2RlLCB1bnNpZ25lZCBzaG9ydCBzeXN0ZW1Db2RlKQoreworICAgIE1lZGlhS2V5RXJy
b3I6OkNvZGUgbWVkaWFLZXlFcnJvckNvZGUgPSBNZWRpYUtleUVycm9yOjpNRURJQV9LRVlFUlJf
VU5LTk9XTjsKKyAgICBzd2l0Y2ggKGVycm9yQ29kZSkgeworICAgIGNhc2UgTWVkaWFQbGF5ZXJD
bGllbnQ6OlVua25vd25FcnJvcjoKKyAgICAgICAgbWVkaWFLZXlFcnJvckNvZGUgPSBNZWRpYUtl
eUVycm9yOjpNRURJQV9LRVlFUlJfVU5LTk9XTjsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBN
ZWRpYVBsYXllckNsaWVudDo6Q2xpZW50RXJyb3I6CisgICAgICAgIG1lZGlhS2V5RXJyb3JDb2Rl
ID0gTWVkaWFLZXlFcnJvcjo6TUVESUFfS0VZRVJSX0NMSUVOVDsKKyAgICAgICAgYnJlYWs7Cisg
ICAgY2FzZSBNZWRpYVBsYXllckNsaWVudDo6U2VydmljZUVycm9yOgorICAgICAgICBtZWRpYUtl
eUVycm9yQ29kZSA9IE1lZGlhS2V5RXJyb3I6Ok1FRElBX0tFWUVSUl9TRVJWSUNFOworICAgICAg
ICBicmVhazsKKyAgICBjYXNlIE1lZGlhUGxheWVyQ2xpZW50OjpPdXRwdXRFcnJvcjoKKyAgICAg
ICAgbWVkaWFLZXlFcnJvckNvZGUgPSBNZWRpYUtleUVycm9yOjpNRURJQV9LRVlFUlJfT1VUUFVU
OworICAgICAgICBicmVhazsKKyAgICBjYXNlIE1lZGlhUGxheWVyQ2xpZW50OjpIYXJkd2FyZUNo
YW5nZUVycm9yOgorICAgICAgICBtZWRpYUtleUVycm9yQ29kZSA9IE1lZGlhS2V5RXJyb3I6Ok1F
RElBX0tFWUVSUl9IQVJEV0FSRUNIQU5HRTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBNZWRp
YVBsYXllckNsaWVudDo6RG9tYWluRXJyb3I6CisgICAgICAgIG1lZGlhS2V5RXJyb3JDb2RlID0g
TWVkaWFLZXlFcnJvcjo6TUVESUFfS0VZRVJSX0RPTUFJTjsKKyAgICAgICAgYnJlYWs7CisgICAg
fQorCisgICAgTWVkaWFLZXlFdmVudEluaXQgaW5pdGlhbGl6ZXI7CisgICAgaW5pdGlhbGl6ZXIu
a2V5U3lzdGVtID0ga2V5U3lzdGVtOworICAgIGluaXRpYWxpemVyLnNlc3Npb25JZCA9IHNlc3Np
b25JZDsKKyAgICBpbml0aWFsaXplci5lcnJvckNvZGUgPSBNZWRpYUtleUVycm9yOjpjcmVhdGUo
bWVkaWFLZXlFcnJvckNvZGUpOworICAgIGluaXRpYWxpemVyLnN5c3RlbUNvZGUgPSBzeXN0ZW1D
b2RlOworICAgIGluaXRpYWxpemVyLmJ1YmJsZXMgPSBmYWxzZTsKKyAgICBpbml0aWFsaXplci5j
YW5jZWxhYmxlID0gZmFsc2U7CisKKyAgICBSZWZQdHI8RXZlbnQ+IGV2ZW50ID0gTWVkaWFLZXlF
dmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS53ZWJraXRrZXllcnJvckV2ZW50LCBpbml0aWFsaXpl
cik7CisgICAgZXZlbnQtPnNldFRhcmdldCh0aGlzKTsKKyAgICBtX2FzeW5jRXZlbnRRdWV1ZS0+
ZW5xdWV1ZUV2ZW50KGV2ZW50LnJlbGVhc2UoKSk7Cit9CisKK3ZvaWQgSFRNTE1lZGlhRWxlbWVu
dDo6bWVkaWFQbGF5ZXJLZXlNZXNzYWdlKE1lZGlhUGxheWVyKiwgY29uc3QgU3RyaW5nJiBrZXlT
eXN0ZW0sIGNvbnN0IFN0cmluZyYgc2Vzc2lvbklkLCBjb25zdCB1bnNpZ25lZCBjaGFyKiBtZXNz
YWdlLCB1bnNpZ25lZCBtZXNzYWdlTGVuZ3RoKQoreworICAgIE1lZGlhS2V5RXZlbnRJbml0IGlu
aXRpYWxpemVyOworICAgIGluaXRpYWxpemVyLmtleVN5c3RlbSA9IGtleVN5c3RlbTsKKyAgICBp
bml0aWFsaXplci5zZXNzaW9uSWQgPSBzZXNzaW9uSWQ7CisgICAgaW5pdGlhbGl6ZXIubWVzc2Fn
ZSA9IFVpbnQ4QXJyYXk6OmNyZWF0ZShtZXNzYWdlLCBtZXNzYWdlTGVuZ3RoKTsKKyAgICBpbml0
aWFsaXplci5idWJibGVzID0gZmFsc2U7CisgICAgaW5pdGlhbGl6ZXIuY2FuY2VsYWJsZSA9IGZh
bHNlOworCisgICAgUmVmUHRyPEV2ZW50PiBldmVudCA9IE1lZGlhS2V5RXZlbnQ6OmNyZWF0ZShl
dmVudE5hbWVzKCkud2Via2l0a2V5bWVzc2FnZUV2ZW50LCBpbml0aWFsaXplcik7CisgICAgZXZl
bnQtPnNldFRhcmdldCh0aGlzKTsKKyAgICBtX2FzeW5jRXZlbnRRdWV1ZS0+ZW5xdWV1ZUV2ZW50
KGV2ZW50LnJlbGVhc2UoKSk7Cit9CisKK3ZvaWQgSFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5
ZXJLZXlOZWVkZWQoTWVkaWFQbGF5ZXIqLCBjb25zdCBTdHJpbmcmIGtleVN5c3RlbSwgY29uc3Qg
U3RyaW5nJiBzZXNzaW9uSWQsIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGluaXREYXRhLCB1bnNpZ25l
ZCBpbml0RGF0YUxlbmd0aCkKK3sKKyAgICBNZWRpYUtleUV2ZW50SW5pdCBpbml0aWFsaXplcjsK
KyAgICBpbml0aWFsaXplci5rZXlTeXN0ZW0gPSBrZXlTeXN0ZW07CisgICAgaW5pdGlhbGl6ZXIu
c2Vzc2lvbklkID0gc2Vzc2lvbklkOworICAgIGluaXRpYWxpemVyLmluaXREYXRhID0gVWludDhB
cnJheTo6Y3JlYXRlKGluaXREYXRhLCBpbml0RGF0YUxlbmd0aCk7CisgICAgaW5pdGlhbGl6ZXIu
YnViYmxlcyA9IGZhbHNlOworICAgIGluaXRpYWxpemVyLmNhbmNlbGFibGUgPSBmYWxzZTsKKwor
ICAgIFJlZlB0cjxFdmVudD4gZXZlbnQgPSBNZWRpYUtleUV2ZW50OjpjcmVhdGUoZXZlbnROYW1l
cygpLndlYmtpdG5lZWRrZXlFdmVudCwgaW5pdGlhbGl6ZXIpOworICAgIGV2ZW50LT5zZXRUYXJn
ZXQodGhpcyk7CisgICAgbV9hc3luY0V2ZW50UXVldWUtPmVucXVldWVFdmVudChldmVudC5yZWxl
YXNlKCkpOworfQorI2VuZGlmCisKIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6cHJvZ3Jlc3NFdmVu
dFRpbWVyRmlyZWQoVGltZXI8SFRNTE1lZGlhRWxlbWVudD4qKQogewogICAgIEFTU0VSVChtX3Bs
YXllcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCmluZGV4IGU2NWI3OTg0
MmEzNjA1ODUzMTFmZGYyZmZkMzVkZDY4NzdjYjlkODIuLjAzYWNlMjgyOTg0ZTQyN2IwYTRhZmRj
NWQ1NGU2NTcwNWYxODcxMDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1l
ZGlhRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5o
CkBAIC0xODYsNiArMTg2LDExIEBAIHB1YmxpYzoKICAgICB2b2lkIHdlYmtpdEFkZEtleShjb25z
dCBTdHJpbmcmIGtleVN5c3RlbSwgUGFzc1JlZlB0cjxVaW50OEFycmF5PiBrZXksIFBhc3NSZWZQ
dHI8VWludDhBcnJheT4gaW5pdERhdGEsIGNvbnN0IFN0cmluZyYgc2Vzc2lvbklkLCBFeGNlcHRp
b25Db2RlJik7CiAgICAgdm9pZCB3ZWJraXRBZGRLZXkoY29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0s
IFBhc3NSZWZQdHI8VWludDhBcnJheT4ga2V5LCBFeGNlcHRpb25Db2RlJik7CiAgICAgdm9pZCB3
ZWJraXRDYW5jZWxLZXlSZXF1ZXN0KGNvbnN0IFN0cmluZyYga2V5U3lzdGVtLCBjb25zdCBTdHJp
bmcmIHNlc3Npb25JZCwgRXhjZXB0aW9uQ29kZSYpOworCisgICAgREVGSU5FX0FUVFJJQlVURV9F
VkVOVF9MSVNURU5FUih3ZWJraXRrZXlhZGRlZCk7CisgICAgREVGSU5FX0FUVFJJQlVURV9FVkVO
VF9MSVNURU5FUih3ZWJraXRrZXllcnJvcik7CisgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9M
SVNURU5FUih3ZWJraXRrZXltZXNzYWdlKTsKKyAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJ
U1RFTkVSKHdlYmtpdG5lZWRrZXkpOwogI2VuZGlmCiAKIC8vIGNvbnRyb2xzCkBAIC0yNjEsNiAr
MjY2LDEzIEBAIHB1YmxpYzoKICAgICB2b2lkIHVwZGF0ZVdpZGdldChQbHVnaW5DcmVhdGlvbk9w
dGlvbik7CiAjZW5kaWYKIAorICAgIC8vIEV2ZW50VGFyZ2V0IGZ1bmN0aW9uLgorICAgIC8vIEJv
dGggTm9kZSAodmlhIEhUTUxFbGVtZW50KSBhbmQgQWN0aXZlRE9NT2JqZWN0IGRlZmluZSB0aGlz
IG1ldGhvZCwgd2hpY2gKKyAgICAvLyBjYXVzZXMgYW4gYW1iaWd1aXR5IGVycm9yIGF0IGNvbXBp
bGUgdGltZS4gVGhpcyBjbGFzcydzIGNvbnN0cnVjdG9yCisgICAgLy8gZW5zdXJlcyB0aGF0IGJv
dGggaW1wbGVtZW50YXRpb25zIHJldHVybiBkb2N1bWVudCwgc28gcmV0dXJuIHRoZSByZXN1bHQK
KyAgICAvLyBvZiBvbmUgb2YgdGhlbSBoZXJlLgorICAgIHZpcnR1YWwgU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCogc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJu
IEhUTUxFbGVtZW50OjpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7IH0KKwogICAgIGJvb2wgaGFz
U2luZ2xlU2VjdXJpdHlPcmlnaW4oKSBjb25zdCB7IHJldHVybiAhbV9wbGF5ZXIgfHwgbV9wbGF5
ZXItPmhhc1NpbmdsZVNlY3VyaXR5T3JpZ2luKCk7IH0KICAgICAKICAgICBib29sIGlzRnVsbHNj
cmVlbigpIGNvbnN0OwpAQCAtMzk3LDYgKzQwOSwxMyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwg
U3RyaW5nIG1lZGlhUGxheWVyU291cmNlVVJMKCkgY29uc3Q7CiAjZW5kaWYKIAorI2lmIEVOQUJM
RShFTkNSWVBURURfTUVESUEpCisgICAgdmlydHVhbCB2b2lkIG1lZGlhUGxheWVyS2V5QWRkZWQo
TWVkaWFQbGF5ZXIqLCBjb25zdCBTdHJpbmcmIGtleVN5c3RlbSwgY29uc3QgU3RyaW5nJiBzZXNz
aW9uSWQpIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCBtZWRpYVBsYXllcktleUVycm9yKE1l
ZGlhUGxheWVyKiwgY29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0sIGNvbnN0IFN0cmluZyYgc2Vzc2lv
bklkLCBNZWRpYVBsYXllckNsaWVudDo6TWVkaWFLZXlFcnJvckNvZGUsIHVuc2lnbmVkIHNob3J0
IHN5c3RlbUNvZGUpIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCBtZWRpYVBsYXllcktleU1l
c3NhZ2UoTWVkaWFQbGF5ZXIqLCBjb25zdCBTdHJpbmcmIGtleVN5c3RlbSwgY29uc3QgU3RyaW5n
JiBzZXNzaW9uSWQsIGNvbnN0IHVuc2lnbmVkIGNoYXIqIG1lc3NhZ2UsIHVuc2lnbmVkIG1lc3Nh
Z2VMZW5ndGgpIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCBtZWRpYVBsYXllcktleU5lZWRl
ZChNZWRpYVBsYXllciosIGNvbnN0IFN0cmluZyYga2V5U3lzdGVtLCBjb25zdCBTdHJpbmcmIHNl
c3Npb25JZCwgY29uc3QgdW5zaWduZWQgY2hhciogaW5pdERhdGEsIHVuc2lnbmVkIGluaXREYXRh
TGVuZ3RoKSBPVkVSUklERTsKKyNlbmRpZgorCiAgICAgdmlydHVhbCBTdHJpbmcgbWVkaWFQbGF5
ZXJSZWZlcnJlcigpIGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1YWwgU3RyaW5nIG1lZGlhUGxh
eWVyVXNlckFnZW50KCkgY29uc3QgT1ZFUlJJREU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxN
ZWRpYUVsZW1lbnQuaWRsCmluZGV4IGIyN2E2ZTlhZjczMjdjODZmYzhmYWZjOGM0ZWM2ZDU1YjBh
NjZkYjQuLjg3ODU0YmUwZjUxMzM0NTZiOWUxNjA4Yjk4MmQwMGFkMzZjYzZlNDkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5pZGwKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmlkbApAQCAtMTIyLDYgKzEyMiwxMSBAQCBt
b2R1bGUgaHRtbCB7CiAgICAgICAgIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKICAgICBbVjhFbmFi
bGVkQXRSdW50aW1lPWVuY3J5cHRlZE1lZGlhXSB2b2lkIHdlYmtpdENhbmNlbEtleVJlcXVlc3Qo
aW4gW1RyZWF0TnVsbEFzPU51bGxTdHJpbmcsIFRyZWF0VW5kZWZpbmVkQXM9TnVsbFN0cmluZ10g
RE9NU3RyaW5nIGtleVN5c3RlbSwgaW4gW09wdGlvbmFsPURlZmF1bHRJc051bGxTdHJpbmddIERP
TVN0cmluZyBzZXNzaW9uSWQpCiAgICAgICAgIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKKworICAg
IGF0dHJpYnV0ZSBbVjhFbmFibGVkQXRSdW50aW1lPWVuY3J5cHRlZE1lZGlhXSBFdmVudExpc3Rl
bmVyIG9ud2Via2l0a2V5YWRkZWQ7CisgICAgYXR0cmlidXRlIFtWOEVuYWJsZWRBdFJ1bnRpbWU9
ZW5jcnlwdGVkTWVkaWFdIEV2ZW50TGlzdGVuZXIgb253ZWJraXRrZXllcnJvcjsKKyAgICBhdHRy
aWJ1dGUgW1Y4RW5hYmxlZEF0UnVudGltZT1lbmNyeXB0ZWRNZWRpYV0gRXZlbnRMaXN0ZW5lciBv
bndlYmtpdGtleW1lc3NhZ2U7CisgICAgYXR0cmlidXRlIFtWOEVuYWJsZWRBdFJ1bnRpbWU9ZW5j
cnlwdGVkTWVkaWFdIEV2ZW50TGlzdGVuZXIgb253ZWJraXRuZWVka2V5OwogI2VuZGlmCiAKICNp
ZiBkZWZpbmVkKEVOQUJMRV9WSURFT19UUkFDSykgJiYgRU5BQkxFX1ZJREVPX1RSQUNLCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRXJyb3IuaCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvTWVkaWFFcnJvci5oCmluZGV4IGI2OGMzNzA2NTAxYTIwNjdjZTk1MWEwYWE2ZmEyNDhj
MjU2YWFmMGUuLjkwZjQ0N2YwNWU1YTRmMGNhZDE0YjVjNDI5YmZiZmU4Yzg3MGQzMDQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFcnJvci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvTWVkaWFFcnJvci5oCkBAIC0zNSw3ICszNSwxNSBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKIGNsYXNzIE1lZGlhRXJyb3IgOiBwdWJsaWMgUmVmQ291bnRlZDxNZWRpYUVycm9yPiB7
CiBwdWJsaWM6Ci0gICAgZW51bSBDb2RlIHsgTUVESUFfRVJSX0FCT1JURUQgPSAxLCBNRURJQV9F
UlJfTkVUV09SSywgTUVESUFfRVJSX0RFQ09ERSwgTUVESUFfRVJSX1NSQ19OT1RfU1VQUE9SVEVE
IH07CisgICAgZW51bSBDb2RlIHsKKyAgICAgICAgTUVESUFfRVJSX0FCT1JURUQgPSAxLAorICAg
ICAgICBNRURJQV9FUlJfTkVUV09SSywKKyAgICAgICAgTUVESUFfRVJSX0RFQ09ERSwKKyAgICAg
ICAgTUVESUFfRVJSX1NSQ19OT1RfU1VQUE9SVEVECisjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJ
QSkKKyAgICAgICAgLCBNRURJQV9FUlJfRU5DUllQVEVECisjZW5kaWYKKyAgICB9OwogCiAgICAg
c3RhdGljIFBhc3NSZWZQdHI8TWVkaWFFcnJvcj4gY3JlYXRlKENvZGUgY29kZSkgeyByZXR1cm4g
YWRvcHRSZWYobmV3IE1lZGlhRXJyb3IoY29kZSkpOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvTWVkaWFFcnJvci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRXJy
b3IuaWRsCmluZGV4IGZjZWIxZjU1MWVlNWUzMDI3YzYyZjJhNWE0ODAyYzAwNzcwNmQ4NWMuLjhl
YjlkNTQwMjk0NjUwMzRkZDQzZGY4MTlmZGRjZDExNTE2NzI3NTIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvTWVkaWFFcnJvci5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9N
ZWRpYUVycm9yLmlkbApAQCAtMzEsNiArMzEsOSBAQCBtb2R1bGUgaHRtbCB7CiAgICAgICAgICAg
Y29uc3QgdW5zaWduZWQgc2hvcnQgTUVESUFfRVJSX05FVFdPUksgPSAyOwogICAgICAgICAgIGNv
bnN0IHVuc2lnbmVkIHNob3J0IE1FRElBX0VSUl9ERUNPREUgPSAzOwogICAgICAgICAgIGNvbnN0
IHVuc2lnbmVkIHNob3J0IE1FRElBX0VSUl9TUkNfTk9UX1NVUFBPUlRFRCA9IDQ7CisjaWYgZGVm
aW5lZChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAmJiBFTkFCTEVfRU5DUllQVEVEX01FRElBCisg
ICAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgTUVESUFfRVJSX0VOQ1JZUFRFRCA9IDU7Cisj
ZW5kaWYKICAgICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnQgY29kZTsK
ICAgICB9OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUtleUVycm9y
LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhS2V5RXJyb3IuaApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMmM3
MzZkNDg3YTNmNGMwNzE2NWI0YzY1MjhlZmQ5OTljZjc1ZGUyCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUtleUVycm9yLmgKQEAgLTAsMCArMSw2MCBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBV
VEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVU
RVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
CisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4g
CisgKi8KKworI2lmbmRlZiBNZWRpYUtleUVycm9yX2gKKyNkZWZpbmUgTWVkaWFLZXlFcnJvcl9o
CisKKyNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQorCisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQ
dHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKK2NsYXNzIE1lZGlhS2V5RXJyb3IgOiBwdWJsaWMgUmVmQ291bnRlZDxNZWRpYUtleUVycm9y
PiB7CitwdWJsaWM6CisgICAgZW51bSBDb2RlIHsKKyAgICAgICAgTUVESUFfS0VZRVJSX1VOS05P
V04gPSAxLAorICAgICAgICBNRURJQV9LRVlFUlJfQ0xJRU5ULAorICAgICAgICBNRURJQV9LRVlF
UlJfU0VSVklDRSwKKyAgICAgICAgTUVESUFfS0VZRVJSX09VVFBVVCwKKyAgICAgICAgTUVESUFf
S0VZRVJSX0hBUkRXQVJFQ0hBTkdFLAorICAgICAgICBNRURJQV9LRVlFUlJfRE9NQUlOCisgICAg
fTsKKworICAgIHN0YXRpYyBQYXNzUmVmUHRyPE1lZGlhS2V5RXJyb3I+IGNyZWF0ZShDb2RlIGNv
ZGUpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBNZWRpYUtleUVycm9yKGNvZGUpKTsgfQorCisgICAg
Q29kZSBjb2RlKCkgY29uc3QgeyByZXR1cm4gbV9jb2RlOyB9CisKK3ByaXZhdGU6CisgICAgZXhw
bGljaXQgTWVkaWFLZXlFcnJvcihDb2RlIGNvZGUpIDogbV9jb2RlKGNvZGUpIHsgfQorCisgICAg
Q29kZSBtX2NvZGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZgorI2Vu
ZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhS2V5RXJyb3IuaWRsIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUtleUVycm9yLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NWI5YjA0
ZDBmN2Y1NzNlMzk0MDZlMmExMTFiNDc2YWFkOTJiODkzCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUtleUVycm9yLmlkbApAQCAtMCwwICsxLDM5IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVU
RVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRF
UiwgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
KyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAK
KyAqLworCittb2R1bGUgaHRtbCB7CisgICAgaW50ZXJmYWNlIFsKKyAgICAgICAgQ29uZGl0aW9u
YWw9RU5DUllQVEVEX01FRElBLAorICAgICAgICBWOEVuYWJsZWRBdFJ1bnRpbWU9ZW5jcnlwdGVk
TWVkaWEsIAorICAgIF0gTWVkaWFLZXlFcnJvciB7CisgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNo
b3J0IE1FRElBX0tFWUVSUl9VTktOT1dOID0gMTsKKyAgICAgICAgY29uc3QgdW5zaWduZWQgc2hv
cnQgTUVESUFfS0VZRVJSX0NMSUVOVCA9IDI7CisgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0
IE1FRElBX0tFWUVSUl9TRVJWSUNFID0gMzsKKyAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQg
TUVESUFfS0VZRVJSX09VVFBVVCA9IDQ7CisgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IE1F
RElBX0tFWUVSUl9IQVJEV0FSRUNIQU5HRSA9IDU7CisgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNo
b3J0IE1FRElBX0tFWUVSUl9ET01BSU4gPSA2OworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUg
dW5zaWduZWQgc2hvcnQgY29kZTsKKyAgICB9OworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9NZWRpYUtleUV2ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFLZXlF
dmVudC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYTJlYTVlZmQ5YmJkZGIyMWYwOGNlYTEwZDIxZWQ0YjM5ODNj
MWRjZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFLZXlFdmVu
dC5jcHAKQEAgLTAsMCArMSw2OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUg
SW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAor
ICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgor
CisjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKKworI2luY2x1ZGUgIk1lZGlhS2V5RXZlbnQu
aCIKKworI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKKyNpbmNsdWRlIDx3dGYvVWludDhBcnJheS5o
PgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK01lZGlhS2V5RXZlbnRJbml0OjpNZWRpYUtleUV2
ZW50SW5pdCgpCisgICAgOiBzeXN0ZW1Db2RlKDApCit7Cit9CisKK01lZGlhS2V5RXZlbnQ6Ok1l
ZGlhS2V5RXZlbnQoKQoreworfQorCitNZWRpYUtleUV2ZW50OjpNZWRpYUtleUV2ZW50KGNvbnN0
IEF0b21pY1N0cmluZyYgdHlwZSwgY29uc3QgTWVkaWFLZXlFdmVudEluaXQmIGluaXRpYWxpemVy
KQorICAgIDogRXZlbnQodHlwZSwgaW5pdGlhbGl6ZXIpCisgICAgLCBtX2tleVN5c3RlbShpbml0
aWFsaXplci5rZXlTeXN0ZW0pCisgICAgLCBtX3Nlc3Npb25JZChpbml0aWFsaXplci5zZXNzaW9u
SWQpCisgICAgLCBtX2luaXREYXRhKGluaXRpYWxpemVyLmluaXREYXRhKQorICAgICwgbV9tZXNz
YWdlKGluaXRpYWxpemVyLm1lc3NhZ2UpCisgICAgLCBtX2RlZmF1bHRVcmwoaW5pdGlhbGl6ZXIu
ZGVmYXVsdFVybCkKKyAgICAsIG1fZXJyb3JDb2RlKGluaXRpYWxpemVyLmVycm9yQ29kZSkKKyAg
ICAsIG1fc3lzdGVtQ29kZShpbml0aWFsaXplci5zeXN0ZW1Db2RlKQoreworfQorCitNZWRpYUtl
eUV2ZW50Ojp+TWVkaWFLZXlFdmVudCgpCit7Cit9CisKK2NvbnN0IEF0b21pY1N0cmluZyYgTWVk
aWFLZXlFdmVudDo6aW50ZXJmYWNlTmFtZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGV2ZW50TmFt
ZXMoKS5pbnRlcmZhY2VGb3JNZWRpYUtleUV2ZW50OworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUtleUV2
ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhS2V5RXZlbnQuaApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
MmRhZmRiZTI4YjQ1YzUzOTI1OGE3NDk5NDIzOWQ1N2UzYmUzODYzCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUtleUV2ZW50LmgKQEAgLTAsMCArMSw4OCBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENP
TVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09N
UFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4gCisgKi8KKworI2lmbmRlZiBNZWRpYUtleUV2ZW50X2gKKyNkZWZpbmUgTWVkaWFLZXlFdmVu
dF9oCisKKyNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQorCisjaW5jbHVkZSAiRXZlbnQuaCIK
KyNpbmNsdWRlICJNZWRpYUtleUVycm9yLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3Ry
dWN0IE1lZGlhS2V5RXZlbnRJbml0IDogcHVibGljIEV2ZW50SW5pdCB7CisgICAgTWVkaWFLZXlF
dmVudEluaXQoKTsKKworICAgIFN0cmluZyBrZXlTeXN0ZW07CisgICAgU3RyaW5nIHNlc3Npb25J
ZDsKKyAgICBSZWZQdHI8VWludDhBcnJheT4gaW5pdERhdGE7CisgICAgUmVmUHRyPFVpbnQ4QXJy
YXk+IG1lc3NhZ2U7CisgICAgU3RyaW5nIGRlZmF1bHRVcmw7CisgICAgUmVmUHRyPE1lZGlhS2V5
RXJyb3I+IGVycm9yQ29kZTsKKyAgICB1bnNpZ25lZCBzaG9ydCBzeXN0ZW1Db2RlOworfTsKKwor
Y2xhc3MgTWVkaWFLZXlFdmVudCA6IHB1YmxpYyBFdmVudCB7CitwdWJsaWM6CisgICAgdmlydHVh
bCB+TWVkaWFLZXlFdmVudCgpOworCisgICAgc3RhdGljIFBhc3NSZWZQdHI8TWVkaWFLZXlFdmVu
dD4gY3JlYXRlKCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgTWVkaWFLZXlF
dmVudCk7CisgICAgfQorCisgICAgc3RhdGljIFBhc3NSZWZQdHI8TWVkaWFLZXlFdmVudD4gY3Jl
YXRlKGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgY29uc3QgTWVkaWFLZXlFdmVudEluaXQmIGlu
aXRpYWxpemVyKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBNZWRpYUtleUV2
ZW50KHR5cGUsIGluaXRpYWxpemVyKSk7CisgICAgfQorCisgICAgdmlydHVhbCBjb25zdCBBdG9t
aWNTdHJpbmcmIGludGVyZmFjZU5hbWUoKSBjb25zdDsKKworICAgIFN0cmluZyBrZXlTeXN0ZW0o
KSBjb25zdCB7IHJldHVybiBtX2tleVN5c3RlbTsgfQorICAgIFN0cmluZyBzZXNzaW9uSWQoKSBj
b25zdCB7IHJldHVybiBtX3Nlc3Npb25JZDsgfQorICAgIFVpbnQ4QXJyYXkqIGluaXREYXRhKCkg
Y29uc3QgeyByZXR1cm4gbV9pbml0RGF0YS5nZXQoKTsgfQorICAgIFVpbnQ4QXJyYXkqIG1lc3Nh
Z2UoKSBjb25zdCB7IHJldHVybiBtX21lc3NhZ2UuZ2V0KCk7IH0KKyAgICBTdHJpbmcgZGVmYXVs
dFVybCgpIGNvbnN0IHsgcmV0dXJuIG1fZGVmYXVsdFVybDsgfQorICAgIE1lZGlhS2V5RXJyb3Iq
IGVycm9yQ29kZSgpIGNvbnN0IHsgcmV0dXJuIG1fZXJyb3JDb2RlLmdldCgpOyB9CisgICAgdW5z
aWduZWQgc2hvcnQgc3lzdGVtQ29kZSgpIGNvbnN0IHsgcmV0dXJuIG1fc3lzdGVtQ29kZTsgfQor
Citwcml2YXRlOgorICAgIE1lZGlhS2V5RXZlbnQoKTsKKyAgICBNZWRpYUtleUV2ZW50KGNvbnN0
IEF0b21pY1N0cmluZyYgdHlwZSwgY29uc3QgTWVkaWFLZXlFdmVudEluaXQmIGluaXRpYWxpemVy
KTsKKworICAgIFN0cmluZyBtX2tleVN5c3RlbTsKKyAgICBTdHJpbmcgbV9zZXNzaW9uSWQ7Cisg
ICAgUmVmUHRyPFVpbnQ4QXJyYXk+IG1faW5pdERhdGE7CisgICAgUmVmUHRyPFVpbnQ4QXJyYXk+
IG1fbWVzc2FnZTsKKyAgICBTdHJpbmcgbV9kZWZhdWx0VXJsOworICAgIFJlZlB0cjxNZWRpYUtl
eUVycm9yPiBtX2Vycm9yQ29kZTsKKyAgICB1bnNpZ25lZCBzaG9ydCBtX3N5c3RlbUNvZGU7Cit9
OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZgorI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhS2V5RXZlbnQuaWRsIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9NZWRpYUtleUV2ZW50LmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xYmI2ZmZiZWVlMmUxMTdkYzdhYmY5
MjBlY2Q0MDAzNWYzZTkyN2RlCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9NZWRpYUtleUV2ZW50LmlkbApAQCAtMCwwICsxLDQyIEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDEyIEdvb2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJ
UycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgorICog
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkK
KyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCittb2R1bGUg
aHRtbCB7CisKKyAgICBpbnRlcmZhY2UgWworICAgICAgICBDb25kaXRpb25hbD1FTkNSWVBURURf
TUVESUEsCisgICAgICAgIFY4RW5hYmxlZEF0UnVudGltZT1lbmNyeXB0ZWRNZWRpYSwKKyAgICAg
ICAgQ29uc3RydWN0b3JUZW1wbGF0ZT1FdmVudCAKKyAgICBdIE1lZGlhS2V5RXZlbnQgOiBFdmVu
dCB7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBbSW5pdGlhbGl6ZWRCeUV2ZW50Q29uc3Ry
dWN0b3JdIERPTVN0cmluZyBrZXlTeXN0ZW07CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBb
SW5pdGlhbGl6ZWRCeUV2ZW50Q29uc3RydWN0b3JdIERPTVN0cmluZyBzZXNzaW9uSWQ7CisgICAg
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBbSW5pdGlhbGl6ZWRCeUV2ZW50Q29uc3RydWN0b3JdIFVp
bnQ4QXJyYXkgaW5pdERhdGE7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBbSW5pdGlhbGl6
ZWRCeUV2ZW50Q29uc3RydWN0b3JdIFVpbnQ4QXJyYXkgbWVzc2FnZTsKKyAgICAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIFtJbml0aWFsaXplZEJ5RXZlbnRDb25zdHJ1Y3Rvcl0gRE9NU3RyaW5nIGRl
ZmF1bHRVcmw7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBbSW5pdGlhbGl6ZWRCeUV2ZW50
Q29uc3RydWN0b3JdIE1lZGlhS2V5RXJyb3IgZXJyb3JDb2RlOworICAgICAgICByZWFkb25seSBh
dHRyaWJ1dGUgW0luaXRpYWxpemVkQnlFdmVudENvbnN0cnVjdG9yXSB1bnNpZ25lZCBzaG9ydCBz
eXN0ZW1Db2RlOworICAgIH07CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RE9NV2luZG93LmlkbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAppbmRleCA0
Y2I5MDY3YjJjNGZkZmEzOWNlYTgyMDBiYzAxM2I4NjIxNGRiOWUwLi5kZWFmODkwZDBjOGM2NjJj
NzI1NmNiMmE1YjhhZjBkZWU5OWRjYmYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0RPTVdpbmRvdy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCkBA
IC00NjYsNiArNDY2LDkgQEAgbW9kdWxlIHdpbmRvdyB7CiAgICAgICAgIGF0dHJpYnV0ZSBbSlND
dXN0b21HZXR0ZXIsIEN1c3RvbUNvbnN0cnVjdG9yXSBIVE1MSW1hZ2VFbGVtZW50Q29uc3RydWN0
b3JDb25zdHJ1Y3RvciBJbWFnZTsgLy8gVXNhYmxlIHdpdGggbmV3IG9wZXJhdG9yCiAgICAgICAg
IGF0dHJpYnV0ZSBbSlNDdXN0b21HZXR0ZXJdIEhUTUxPcHRpb25FbGVtZW50Q29uc3RydWN0b3JD
b25zdHJ1Y3RvciBPcHRpb247IC8vIFVzYWJsZSB3aXRoIG5ldyBvcGVyYXRvcgogCisgICAgICAg
IGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9RU5DUllQVEVEX01FRElBLCBWOEVuYWJsZWRBdFJ1bnRp
bWU9ZW5jcnlwdGVkTWVkaWFdIE1lZGlhS2V5RXJyb3JDb25zdHJ1Y3RvciBNZWRpYUtleUVycm9y
OworICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPUVOQ1JZUFRFRF9NRURJQSwgVjhFbmFi
bGVkQXRSdW50aW1lPWVuY3J5cHRlZE1lZGlhXSBNZWRpYUtleUV2ZW50Q29uc3RydWN0b3IgTWVk
aWFLZXlFdmVudDsKKwogICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPVZJREVPX1RSQUNL
LCBWOEVuYWJsZWRBdFJ1bnRpbWU9d2Via2l0VmlkZW9UcmFja10gSFRNTFRyYWNrRWxlbWVudENv
bnN0cnVjdG9yIEhUTUxUcmFja0VsZW1lbnQ7CiAgICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9u
YWw9VklERU9fVFJBQ0ssIFY4RW5hYmxlZEF0UnVudGltZT13ZWJraXRWaWRlb1RyYWNrXSBUZXh0
VHJhY2tDb25zdHJ1Y3RvciBUZXh0VHJhY2s7CiAgICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9u
YWw9VklERU9fVFJBQ0ssIFY4RW5hYmxlZEF0UnVudGltZT13ZWJraXRWaWRlb1RyYWNrXSBUZXh0
VHJhY2tDdWVDb25zdHJ1Y3RvciBUZXh0VHJhY2tDdWU7IC8vIFVzYWJsZSB3aXRoIHRoZSBuZXcg
b3BlcmF0b3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01l
ZGlhUGxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxh
eWVyLmNwcAppbmRleCA5ZDYwNDdkNGZlNDZiNTU0ZjMzZWUwNTg2Y2M5YjFiYTI4NzliZGJlLi5l
OThlYmZkNzViYjk5YzUzZDEwMjcwZDhmYmY4OGM3YjYyMjAzMTc4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCkBAIC05NjksNyArOTY5
LDMzIEBAIEF1ZGlvU291cmNlUHJvdmlkZXIqIE1lZGlhUGxheWVyOjphdWRpb1NvdXJjZVByb3Zp
ZGVyKCkKICAgICByZXR1cm4gbV9wcml2YXRlLT5hdWRpb1NvdXJjZVByb3ZpZGVyKCk7CiB9CiAj
ZW5kaWYgLy8gV0VCX0FVRElPCi0gICAgCisKKyNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQor
dm9pZCBNZWRpYVBsYXllcjo6a2V5QWRkZWQoY29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0sIGNvbnN0
IFN0cmluZyYgc2Vzc2lvbklkKQoreworICAgIGlmIChtX21lZGlhUGxheWVyQ2xpZW50KQorICAg
ICAgICBtX21lZGlhUGxheWVyQ2xpZW50LT5tZWRpYVBsYXllcktleUFkZGVkKHRoaXMsIGtleVN5
c3RlbSwgc2Vzc2lvbklkKTsKK30KKwordm9pZCBNZWRpYVBsYXllcjo6a2V5RXJyb3IoY29uc3Qg
U3RyaW5nJiBrZXlTeXN0ZW0sIGNvbnN0IFN0cmluZyYgc2Vzc2lvbklkLCBNZWRpYVBsYXllckNs
aWVudDo6TWVkaWFLZXlFcnJvckNvZGUgZXJyb3JDb2RlLCB1bnNpZ25lZCBzaG9ydCBzeXN0ZW1D
b2RlKQoreworICAgIGlmIChtX21lZGlhUGxheWVyQ2xpZW50KQorICAgICAgICBtX21lZGlhUGxh
eWVyQ2xpZW50LT5tZWRpYVBsYXllcktleUVycm9yKHRoaXMsIGtleVN5c3RlbSwgc2Vzc2lvbklk
LCBlcnJvckNvZGUsIHN5c3RlbUNvZGUpOworfQorCit2b2lkIE1lZGlhUGxheWVyOjprZXlNZXNz
YWdlKGNvbnN0IFN0cmluZyYga2V5U3lzdGVtLCBjb25zdCBTdHJpbmcmIHNlc3Npb25JZCwgY29u
c3QgdW5zaWduZWQgY2hhciogbWVzc2FnZSwgdW5zaWduZWQgbWVzc2FnZUxlbmd0aCkKK3sKKyAg
ICBpZiAobV9tZWRpYVBsYXllckNsaWVudCkKKyAgICAgICAgbV9tZWRpYVBsYXllckNsaWVudC0+
bWVkaWFQbGF5ZXJLZXlNZXNzYWdlKHRoaXMsIGtleVN5c3RlbSwgc2Vzc2lvbklkLCBtZXNzYWdl
LCBtZXNzYWdlTGVuZ3RoKTsKK30KKwordm9pZCBNZWRpYVBsYXllcjo6a2V5TmVlZGVkKGNvbnN0
IFN0cmluZyYga2V5U3lzdGVtLCBjb25zdCBTdHJpbmcmIHNlc3Npb25JZCwgY29uc3QgdW5zaWdu
ZWQgY2hhciogaW5pdERhdGEsIHVuc2lnbmVkIGluaXREYXRhTGVuZ3RoKQoreworICAgIGlmICht
X21lZGlhUGxheWVyQ2xpZW50KQorICAgICAgICBtX21lZGlhUGxheWVyQ2xpZW50LT5tZWRpYVBs
YXllcktleU5lZWRlZCh0aGlzLCBrZXlTeXN0ZW0sIHNlc3Npb25JZCwgaW5pdERhdGEsIGluaXRE
YXRhTGVuZ3RoKTsKK30KKyNlbmRpZgorCiBTdHJpbmcgTWVkaWFQbGF5ZXI6OnJlZmVycmVyKCkg
Y29uc3QKIHsKICAgICBpZiAoIW1fbWVkaWFQbGF5ZXJDbGllbnQpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaAppbmRleCAxNTEzYWZiOTgzY2FiZGQz
ZTFhYjg2N2YzNTY5OTM1ZWY2NTgwNGIwLi5kOWI2ZTI3MDAzY2IxZjhjOWJkNjkwOTAwNGExMjg1
MGFkNThmOWMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9N
ZWRpYVBsYXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlh
UGxheWVyLmgKQEAgLTE2OCw2ICsxNjgsMTQgQEAgcHVibGljOgogICAgIHZpcnR1YWwgU3RyaW5n
IG1lZGlhUGxheWVyU291cmNlVVJMKCkgY29uc3QgeyByZXR1cm4gIngtbWVkaWEtc291cmNlLXVu
c3VwcG9ydGVkOiI7IH0KICNlbmRpZgogCisjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKKyAg
ICBlbnVtIE1lZGlhS2V5RXJyb3JDb2RlIHsgVW5rbm93bkVycm9yID0gMSwgQ2xpZW50RXJyb3Is
IFNlcnZpY2VFcnJvciwgT3V0cHV0RXJyb3IsIEhhcmR3YXJlQ2hhbmdlRXJyb3IsIERvbWFpbkVy
cm9yIH07CisgICAgdmlydHVhbCB2b2lkIG1lZGlhUGxheWVyS2V5QWRkZWQoTWVkaWFQbGF5ZXIq
LCBjb25zdCBTdHJpbmcmIGtleVN5c3RlbSwgY29uc3QgU3RyaW5nJiBzZXNzaW9uSWQpIHsgfQor
ICAgIHZpcnR1YWwgdm9pZCBtZWRpYVBsYXllcktleUVycm9yKE1lZGlhUGxheWVyKiwgY29uc3Qg
U3RyaW5nJiBrZXlTeXN0ZW0sIGNvbnN0IFN0cmluZyYgc2Vzc2lvbklkLCBNZWRpYUtleUVycm9y
Q29kZSBlcnJvckNvZGUsIHVuc2lnbmVkIHNob3J0IHN5c3RlbUNvZGUpIHsgfQorICAgIHZpcnR1
YWwgdm9pZCBtZWRpYVBsYXllcktleU1lc3NhZ2UoTWVkaWFQbGF5ZXIqLCBjb25zdCBTdHJpbmcm
IGtleVN5c3RlbSwgY29uc3QgU3RyaW5nJiBzZXNzaW9uSWQsIGNvbnN0IHVuc2lnbmVkIGNoYXIq
IG1lc3NhZ2UsIHVuc2lnbmVkIG1lc3NhZ2VMZW5ndGgpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBt
ZWRpYVBsYXllcktleU5lZWRlZChNZWRpYVBsYXllciosIGNvbnN0IFN0cmluZyYga2V5U3lzdGVt
LCBjb25zdCBTdHJpbmcmIHNlc3Npb25JZCwgY29uc3QgdW5zaWduZWQgY2hhciogaW5pdERhdGEs
IHVuc2lnbmVkIGluaXREYXRhTGVuZ3RoKSB7IH0KKyNlbmRpZgorCiAgICAgdmlydHVhbCBTdHJp
bmcgbWVkaWFQbGF5ZXJSZWZlcnJlcigpIGNvbnN0IHsgcmV0dXJuIFN0cmluZygpOyB9CiAgICAg
dmlydHVhbCBTdHJpbmcgbWVkaWFQbGF5ZXJVc2VyQWdlbnQoKSBjb25zdCB7IHJldHVybiBTdHJp
bmcoKTsgfQogfTsKQEAgLTM0Niw2ICszNTQsMTMgQEAgcHVibGljOgogICAgIFN0cmluZyBzb3Vy
Y2VVUkwoKSBjb25zdDsKICNlbmRpZgogCisjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKKyAg
ICB2b2lkIGtleUFkZGVkKGNvbnN0IFN0cmluZyYga2V5U3lzdGVtLCBjb25zdCBTdHJpbmcmIHNl
c3Npb25JZCk7CisgICAgdm9pZCBrZXlFcnJvcihjb25zdCBTdHJpbmcmIGtleVN5c3RlbSwgY29u
c3QgU3RyaW5nJiBzZXNzaW9uSWQsIE1lZGlhUGxheWVyQ2xpZW50OjpNZWRpYUtleUVycm9yQ29k
ZSwgdW5zaWduZWQgc2hvcnQgc3lzdGVtQ29kZSk7CisgICAgdm9pZCBrZXlNZXNzYWdlKGNvbnN0
IFN0cmluZyYga2V5U3lzdGVtLCBjb25zdCBTdHJpbmcmIHNlc3Npb25JZCwgY29uc3QgdW5zaWdu
ZWQgY2hhciogbWVzc2FnZSwgdW5zaWduZWQgbWVzc2FnZUxlbmd0aCk7CisgICAgdm9pZCBrZXlO
ZWVkZWQoY29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0sIGNvbnN0IFN0cmluZyYgc2Vzc2lvbklkLCBj
b25zdCB1bnNpZ25lZCBjaGFyKiBpbml0RGF0YSwgdW5zaWduZWQgaW5pdERhdGFMZW5ndGgpOwor
I2VuZGlmCisKICAgICBTdHJpbmcgcmVmZXJyZXIoKSBjb25zdDsKICAgICBTdHJpbmcgdXNlckFn
ZW50KCkgY29uc3Q7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGlj
L1dlYk1lZGlhUGxheWVyQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9X
ZWJNZWRpYVBsYXllckNsaWVudC5oCmluZGV4IDE5ZWEyNDJlY2FkOWFiMWJmODM2MGU4Nzk1MDli
ZTY5NTRkNzcwNjEuLmM5ZDMxZTRkMTJhNGQ4OTc2MmI1MjE4YzBkZDRhMWUwODcxNDM2YTEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYk1lZGlhUGxheWVyQ2xp
ZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViTWVkaWFQbGF5ZXJD
bGllbnQuaApAQCAtNDAsNiArNDAsMTUgQEAgY2xhc3MgV2ViVVJMOwogCiBjbGFzcyBXZWJNZWRp
YVBsYXllckNsaWVudCB7CiBwdWJsaWM6CisgICAgZW51bSBNZWRpYUtleUVycm9yQ29kZSB7Cisg
ICAgICAgIFVua25vd25FcnJvciA9IDEsCisgICAgICAgIENsaWVudEVycm9yLAorICAgICAgICBT
ZXJ2aWNlRXJyb3IsCisgICAgICAgIE91dHB1dEVycm9yLAorICAgICAgICBIYXJkd2FyZUNoYW5n
ZUVycm9yLAorICAgICAgICBEb21haW5FcnJvcgorICAgIH07CisKICAgICB2aXJ0dWFsIHZvaWQg
bmV0d29ya1N0YXRlQ2hhbmdlZCgpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgcmVhZHlTdGF0ZUNo
YW5nZWQoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHZvbHVtZUNoYW5nZWQoZmxvYXQpID0gMDsK
QEAgLTU2LDYgKzY1LDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIFdlYk1lZGlhUGxheWVyOjpQ
cmVsb2FkIHByZWxvYWQoKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHNvdXJjZU9wZW5l
ZCgpID0gMDsKICAgICB2aXJ0dWFsIFdlYktpdDo6V2ViVVJMIHNvdXJjZVVSTCgpIGNvbnN0ID0g
MDsKKyAgICB2aXJ0dWFsIHZvaWQga2V5QWRkZWQoY29uc3QgV2ViU3RyaW5nJiwgY29uc3QgV2Vi
U3RyaW5nJikgPSAwOworICAgIHZpcnR1YWwgdm9pZCBrZXlFcnJvcihjb25zdCBXZWJTdHJpbmcm
LCBjb25zdCBXZWJTdHJpbmcmLCBNZWRpYUtleUVycm9yQ29kZSwgdW5zaWduZWQgc2hvcnQgc3lz
dGVtQ29kZSkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBrZXlNZXNzYWdlKGNvbnN0IFdlYlN0cmlu
ZyYsIGNvbnN0IFdlYlN0cmluZyYsIGNvbnN0IHVuc2lnbmVkIGNoYXIqLCB1bnNpZ25lZCkgPSAw
OworICAgIHZpcnR1YWwgdm9pZCBrZXlOZWVkZWQoY29uc3QgV2ViU3RyaW5nJiwgY29uc3QgV2Vi
U3RyaW5nJiwgY29uc3QgdW5zaWduZWQgY2hhciogaW5pdERhdGEsIHVuc2lnbmVkIGluaXREYXRh
TGVuZ3RoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGRpc2FibGVBY2NlbGVyYXRlZENvbXBvc2l0
aW5nKCkgPSAwOwogcHJvdGVjdGVkOgogICAgIH5XZWJNZWRpYVBsYXllckNsaWVudCgpIHsgfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQXNzZXJ0TWF0Y2hpbmdFbnVt
cy5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNw
cAppbmRleCAyOTNmNDg5NGU3MzI1NzAxODk5YjA4NzY0OTdjZWRhZDQ1NWJkOWMyLi43MmMyYmU2
NWY1ZDE5MWRlMmUxNTU3NzIxNTFmYjRhMzFiYjM2MTRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcApAQCAtODcsNiArODcsNyBA
QAogI2luY2x1ZGUgIldlYkljb25VUkwuaCIKICNpbmNsdWRlICJXZWJJbnB1dEVsZW1lbnQuaCIK
ICNpbmNsdWRlICJXZWJNZWRpYVBsYXllci5oIgorI2luY2x1ZGUgIldlYk1lZGlhUGxheWVyQ2xp
ZW50LmgiCiAjaW5jbHVkZSAiV2ViTm90aWZpY2F0aW9uUHJlc2VudGVyLmgiCiAjaW5jbHVkZSAi
V2ViUGFnZVZpc2liaWxpdHlTdGF0ZS5oIgogI2luY2x1ZGUgIldlYlJlZmVycmVyUG9saWN5Lmgi
CkBAIC0zOTIsNiArMzkzLDEzIEBAIENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViTWVk
aWFQbGF5ZXI6OkxpdmVTdHJlYW0sIE1lZGlhUGxheWVyOjpMaXZlU3RyZWFtCiBDT01QSUxFX0FT
U0VSVF9NQVRDSElOR19FTlVNKFdlYk1lZGlhUGxheWVyOjpOb0Vycm9yLCBNZWRpYVBsYXllcjo6
Tm9FcnJvcik7CiBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYk1lZGlhUGxheWVyOjpJ
bnZhbGlkUGxheWVyU3RhdGUsIE1lZGlhUGxheWVyOjpJbnZhbGlkUGxheWVyU3RhdGUpOwogQ09N
UElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJNZWRpYVBsYXllcjo6S2V5U3lzdGVtTm90U3Vw
cG9ydGVkLCBNZWRpYVBsYXllcjo6S2V5U3lzdGVtTm90U3VwcG9ydGVkKTsKKworQ09NUElMRV9B
U1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJNZWRpYVBsYXllckNsaWVudDo6VW5rbm93bkVycm9yLCBN
ZWRpYVBsYXllckNsaWVudDo6VW5rbm93bkVycm9yKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5H
X0VOVU0oV2ViTWVkaWFQbGF5ZXJDbGllbnQ6OkNsaWVudEVycm9yLCBNZWRpYVBsYXllckNsaWVu
dDo6Q2xpZW50RXJyb3IpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJNZWRpYVBs
YXllckNsaWVudDo6U2VydmljZUVycm9yLCBNZWRpYVBsYXllckNsaWVudDo6U2VydmljZUVycm9y
KTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViTWVkaWFQbGF5ZXJDbGllbnQ6Ok91
dHB1dEVycm9yLCBNZWRpYVBsYXllckNsaWVudDo6T3V0cHV0RXJyb3IpOworQ09NUElMRV9BU1NF
UlRfTUFUQ0hJTkdfRU5VTShXZWJNZWRpYVBsYXllckNsaWVudDo6SGFyZHdhcmVDaGFuZ2VFcnJv
ciwgTWVkaWFQbGF5ZXJDbGllbnQ6OkhhcmR3YXJlQ2hhbmdlRXJyb3IpOworQ09NUElMRV9BU1NF
UlRfTUFUQ0hJTkdfRU5VTShXZWJNZWRpYVBsYXllckNsaWVudDo6RG9tYWluRXJyb3IsIE1lZGlh
UGxheWVyQ2xpZW50OjpEb21haW5FcnJvcik7CiAjZW5kaWYKIAogQ09NUElMRV9BU1NFUlRfTUFU
Q0hJTkdfRU5VTShXZWJWaWRlb0ZyYW1lOjpGb3JtYXRJbnZhbGlkLCBWaWRlb0ZyYW1lQ2hyb21p
dW06OkludmFsaWQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
TWVkaWFQbGF5ZXJDbGllbnRJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
Yk1lZGlhUGxheWVyQ2xpZW50SW1wbC5jcHAKaW5kZXggMzIxYWY2YWI4Nzg5N2FjYmFlNzBmMTU4
NWE5MmZhZGU4MWRjOTQ2MC4uNWM3YjJjOTI5ZjllNDhiYjRjMWQ4ZDhkNDU3Mjk4ZjI0N2YyY2Zm
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViTWVkaWFQbGF5ZXJD
bGllbnRJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJNZWRpYVBs
YXllckNsaWVudEltcGwuY3BwCkBAIC0yMTcsNiArMjE3LDU2IEBAIFdlYktpdDo6V2ViVVJMIFdl
Yk1lZGlhUGxheWVyQ2xpZW50SW1wbDo6c291cmNlVVJMKCkgY29uc3QKICNlbmRpZgogfQogCit2
b2lkIFdlYk1lZGlhUGxheWVyQ2xpZW50SW1wbDo6a2V5QWRkZWQoY29uc3QgV2ViU3RyaW5nJiBr
ZXlTeXN0ZW0sIGNvbnN0IFdlYlN0cmluZyYgc2Vzc2lvbklkKQoreworI2lmIEVOQUJMRShFTkNS
WVBURURfTUVESUEpCisgICAgQVNTRVJUKG1fbWVkaWFQbGF5ZXIpOworICAgIG1fbWVkaWFQbGF5
ZXItPmtleUFkZGVkKGtleVN5c3RlbSwgc2Vzc2lvbklkKTsKKyNlbHNlCisgICAgVU5VU0VEX1BB
UkFNKGtleVN5c3RlbSk7CisgICAgVU5VU0VEX1BBUkFNKHNlc3Npb25JZCk7CisjZW5kaWYKK30K
Kwordm9pZCBXZWJNZWRpYVBsYXllckNsaWVudEltcGw6OmtleUVycm9yKGNvbnN0IFdlYlN0cmlu
ZyYga2V5U3lzdGVtLCBjb25zdCBXZWJTdHJpbmcmIHNlc3Npb25JZCwgTWVkaWFLZXlFcnJvckNv
ZGUgZXJyb3JDb2RlLCB1bnNpZ25lZCBzaG9ydCBzeXN0ZW1Db2RlKQoreworI2lmIEVOQUJMRShF
TkNSWVBURURfTUVESUEpCisgICAgQVNTRVJUKG1fbWVkaWFQbGF5ZXIpOworICAgIG1fbWVkaWFQ
bGF5ZXItPmtleUVycm9yKGtleVN5c3RlbSwgc2Vzc2lvbklkLCBzdGF0aWNfY2FzdDxNZWRpYVBs
YXllckNsaWVudDo6TWVkaWFLZXlFcnJvckNvZGU+KGVycm9yQ29kZSksIHN5c3RlbUNvZGUpOwor
I2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oa2V5U3lzdGVtKTsKKyAgICBVTlVTRURfUEFSQU0oc2Vz
c2lvbklkKTsKKyAgICBVTlVTRURfUEFSQU0oZXJyb3JDb2RlKTsKKyAgICBVTlVTRURfUEFSQU0o
c3lzdGVtQ29kZSk7CisjZW5kaWYKK30KKwordm9pZCBXZWJNZWRpYVBsYXllckNsaWVudEltcGw6
OmtleU1lc3NhZ2UoY29uc3QgV2ViU3RyaW5nJiBrZXlTeXN0ZW0sIGNvbnN0IFdlYlN0cmluZyYg
c2Vzc2lvbklkLCBjb25zdCB1bnNpZ25lZCBjaGFyKiBtZXNzYWdlLCB1bnNpZ25lZCBtZXNzYWdl
TGVuZ3RoKQoreworI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCisgICAgQVNTRVJUKG1fbWVk
aWFQbGF5ZXIpOworICAgIG1fbWVkaWFQbGF5ZXItPmtleU1lc3NhZ2Uoa2V5U3lzdGVtLCBzZXNz
aW9uSWQsIG1lc3NhZ2UsIG1lc3NhZ2VMZW5ndGgpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0o
a2V5U3lzdGVtKTsKKyAgICBVTlVTRURfUEFSQU0oc2Vzc2lvbklkKTsKKyAgICBVTlVTRURfUEFS
QU0obWVzc2FnZSk7CisgICAgVU5VU0VEX1BBUkFNKG1lc3NhZ2VMZW5ndGgpOworI2VuZGlmCit9
CisKK3ZvaWQgV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsOjprZXlOZWVkZWQoY29uc3QgV2ViU3Ry
aW5nJiBrZXlTeXN0ZW0sIGNvbnN0IFdlYlN0cmluZyYgc2Vzc2lvbklkLCBjb25zdCB1bnNpZ25l
ZCBjaGFyKiBpbml0RGF0YSwgdW5zaWduZWQgaW5pdERhdGFMZW5ndGgpCit7CisjaWYgRU5BQkxF
KEVOQ1JZUFRFRF9NRURJQSkKKyAgICBBU1NFUlQobV9tZWRpYVBsYXllcik7CisgICAgbV9tZWRp
YVBsYXllci0+a2V5TmVlZGVkKGtleVN5c3RlbSwgc2Vzc2lvbklkLCBpbml0RGF0YSwgaW5pdERh
dGFMZW5ndGgpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oa2V5U3lzdGVtKTsKKyAgICBVTlVT
RURfUEFSQU0oc2Vzc2lvbklkKTsKKyAgICBVTlVTRURfUEFSQU0oaW5pdERhdGEpOworICAgIFVO
VVNFRF9QQVJBTShpbml0RGF0YUxlbmd0aCk7CisjZW5kaWYKK30KKwogdm9pZCBXZWJNZWRpYVBs
YXllckNsaWVudEltcGw6OmRpc2FibGVBY2NlbGVyYXRlZENvbXBvc2l0aW5nKCkKIHsKICAgICBt
X3N1cHBvcnRzQWNjZWxlcmF0ZWRDb21wb3NpdGluZyA9IGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsLmggYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJNZWRpYVBsYXllckNsaWVudEltcGwuaAppbmRleCA4
ODU0M2E0ZGFiZmQ4YjcxZDUyZDc3ZjU4MjQ1ZDg1ZjhmZjVmNmI1Li41MGJjYzAxODBmMDRhYTM0
NzM4NzgxODZjODg0Njg2MzQyNGY5MTU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJNZWRpYVBsYXllckNsaWVudEltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJNZWRpYVBsYXllckNsaWVudEltcGwuaApAQCAtODYsNiArODYsMTAgQEAg
cHVibGljOgogICAgIHZpcnR1YWwgV2ViTWVkaWFQbGF5ZXI6OlByZWxvYWQgcHJlbG9hZCgpIGNv
bnN0OwogICAgIHZpcnR1YWwgdm9pZCBzb3VyY2VPcGVuZWQoKTsKICAgICB2aXJ0dWFsIFdlYktp
dDo6V2ViVVJMIHNvdXJjZVVSTCgpIGNvbnN0OworICAgIHZpcnR1YWwgdm9pZCBrZXlBZGRlZChj
b25zdCBXZWJTdHJpbmcmIGtleVN5c3RlbSwgY29uc3QgV2ViU3RyaW5nJiBzZXNzaW9uSWQpOwor
ICAgIHZpcnR1YWwgdm9pZCBrZXlFcnJvcihjb25zdCBXZWJTdHJpbmcmIGtleVN5c3RlbSwgY29u
c3QgV2ViU3RyaW5nJiBzZXNzaW9uSWQsIE1lZGlhS2V5RXJyb3JDb2RlLCB1bnNpZ25lZCBzaG9y
dCBzeXN0ZW1Db2RlKTsKKyAgICB2aXJ0dWFsIHZvaWQga2V5TWVzc2FnZShjb25zdCBXZWJTdHJp
bmcmIGtleVN5c3RlbSwgY29uc3QgV2ViU3RyaW5nJiBzZXNzaW9uSWQsIGNvbnN0IHVuc2lnbmVk
IGNoYXIqIG1lc3NhZ2UsIHVuc2lnbmVkIG1lc3NhZ2VMZW5ndGgpOworICAgIHZpcnR1YWwgdm9p
ZCBrZXlOZWVkZWQoY29uc3QgV2ViU3RyaW5nJiBrZXlTeXN0ZW0sIGNvbnN0IFdlYlN0cmluZyYg
c2Vzc2lvbklkLCBjb25zdCB1bnNpZ25lZCBjaGFyKiBpbml0RGF0YSwgdW5zaWduZWQgaW5pdERh
dGFMZW5ndGgpOwogICAgIHZpcnR1YWwgdm9pZCBkaXNhYmxlQWNjZWxlcmF0ZWRDb21wb3NpdGlu
ZygpOwogCiAgICAgLy8gTWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlIG1ldGhvZHM6CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggZmE3NjBjN2I3ZTZlYWVkMDUzODY0NjRkNDhkODYyYzExMThjZGQ2NS4uNWEzN2RmY2NjNzM3
YjA3ZTRkNzU5MGM2OWQyNzIzZDFmZmFhNGRiMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI5IEBACiAyMDEy
LTA0LTExICBEYXZpZCBEb3J3aW4gIDxkZG9yd2luQGNocm9taXVtLm9yZz4KIAorICAgICAgICBB
ZGQgRW5jcnlwdGVkIE1lZGlhIEV4dGVuc2lvbnMgZXZlbnRzIGFuZCBlcnJvcnMgdG8gSFRNTE1l
ZGlhRWxlbWVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9ODI5NzQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBUaGUgbmV3IGV2ZW50cyBhbmQgZXJyb3JzIGFyZSBiZWhpbmQgdGhlIEVOQUJMRShFTkNSWVBU
RURfTUVESUEpIGZlYXR1cmUgZGVmaW5lLgorICAgICAgICBJbXBsZW1lbnRhdGlvbiBpcyBiYXNl
ZCBvbiB2MC4xIG9mIHRoZSBkcmFmdCBwcm9wb3NhbCBhdAorICAgICAgICBodHRwOi8vZHZjcy53
My5vcmcvaGcvaHRtbC1tZWRpYS9yYXctZmlsZS90aXAvZW5jcnlwdGVkLW1lZGlhL2VuY3J5cHRl
ZC1tZWRpYS5odG1sI2V2ZW50cy4KKworICAgICAgICAqIGZhc3QvZXZlbnRzL2NvbnN0cnVjdG9y
cy9tZWRpYS1rZXktZXZlbnQtY29uc3RydWN0b3ItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBmYXN0L2V2ZW50cy9jb25zdHJ1Y3RvcnMvbWVkaWEta2V5LWV2ZW50LWNvbnN0cnVjdG9y
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
OgorICAgICAgICAoc2hvdWxkQmVaZXJvKToKKyAgICAgICAgKHNob3VsZEJlRW1wdHlTdHJpbmcp
OgorICAgICAgICAqIG1lZGlhL2VuY3J5cHRlZC1tZWRpYS9lbmNyeXB0ZWQtbWVkaWEtY29uc3Rh
bnRzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogbWVkaWEvZW5jcnlwdGVkLW1lZGlh
L2VuY3J5cHRlZC1tZWRpYS1jb25zdGFudHMuaHRtbDogQWRkZWQuCisgICAgICAgICogbWVkaWEv
ZW5jcnlwdGVkLW1lZGlhL2VuY3J5cHRlZC1tZWRpYS1ldmVudHMtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBtZWRpYS9lbmNyeXB0ZWQtbWVkaWEvZW5jcnlwdGVkLW1lZGlhLWV2ZW50
cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBtZWRpYS92aWRlby10ZXN0LmpzOgorICAgICAgICAo
dGVzdEV4cGVjdGVkKToKKyAgICAgICAgKHRlc3RBcnJheXNFcXVhbCk6CisKKzIwMTItMDQtMTEg
IERhdmlkIERvcndpbiAgPGRkb3J3aW5AY2hyb21pdW0ub3JnPgorCiAgICAgICAgIEFkZCBrZXlT
eXN0ZW0gYXR0cmlidXRlIHRvIGNhblBsYXlUeXBlKCkgZm9yIEVuY3J5cHRlZCBNZWRpYSBFeHRl
bnNpb25zCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04
Mjk3MwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9jb25zdHJ1Y3RvcnMv
bWVkaWEta2V5LWV2ZW50LWNvbnN0cnVjdG9yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zh
c3QvZXZlbnRzL2NvbnN0cnVjdG9ycy9tZWRpYS1rZXktZXZlbnQtY29uc3RydWN0b3ItZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmY5NzI1NzFkYWQ2OWRhMjUyNmQxMzY0NmQ3M2ZhZjBjZWIyMDJl
MDQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9jb25zdHJ1Y3Rv
cnMvbWVkaWEta2V5LWV2ZW50LWNvbnN0cnVjdG9yLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEw
MiBAQAorVGhpcyB0ZXN0cyB0aGUgY29uc3RydWN0b3IgZm9yIHRoZSBNZWRpYUtleUV2ZW50IERP
TSBjbGFzcy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKKworKioqIE5vIGluaXRp
YWxpemVyIHBhc3NlZCAqKioKK1BBU1MgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQn
KS5idWJibGVzIGlzIGZhbHNlCitQQVNTIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50
JykuY2FuY2VsYWJsZSBpcyBmYWxzZQorUEFTUyBuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlF
dmVudCcpLmtleVN5c3RlbSBpcyAiIgorUEFTUyBuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlF
dmVudCcpLnNlc3Npb25JZCBpcyAiIgorUEFTUyBuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlF
dmVudCcpLmluaXREYXRhIGlzIG51bGwKK1BBU1MgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5
RXZlbnQnKS5tZXNzYWdlIGlzIG51bGwKK1BBU1MgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5
RXZlbnQnKS5kZWZhdWx0VXJsIGlzICIiCitQQVNTIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtl
eUV2ZW50JykuZXJyb3JDb2RlIGlzIG51bGwKK1BBU1MgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlh
S2V5RXZlbnQnKS5zeXN0ZW1Db2RlIGlzIDAKKworKioqIEJ1YmJsZXMgYW5kIGNhbmNlbGFibGUg
dHJ1ZSwgb3RoZXIgbWVtYmVycyBhcmUgbWlzc2luZyAqKioKK1BBU1MgbmV3IE1lZGlhS2V5RXZl
bnQoJ01lZGlhS2V5RXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUgfSku
YnViYmxlcyBpcyB0cnVlCitQQVNTIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50Jywg
eyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlIH0pLmNhbmNlbGFibGUgaXMgdHJ1ZQor
UEFTUyBuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwg
Y2FuY2VsYWJsZTogdHJ1ZSB9KS5rZXlTeXN0ZW0gaXMgIiIKK1BBU1MgbmV3IE1lZGlhS2V5RXZl
bnQoJ01lZGlhS2V5RXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUgfSku
c2Vzc2lvbklkIGlzICIiCitQQVNTIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50Jywg
eyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlIH0pLmluaXREYXRhIGlzIG51bGwKK1BB
U1MgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNh
bmNlbGFibGU6IHRydWUgfSkubWVzc2FnZSBpcyBudWxsCitQQVNTIG5ldyBNZWRpYUtleUV2ZW50
KCdNZWRpYUtleUV2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlIH0pLmRl
ZmF1bHRVcmwgaXMgIiIKK1BBU1MgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7
IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUgfSkuZXJyb3JDb2RlIGlzIG51bGwKK1BB
U1MgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNh
bmNlbGFibGU6IHRydWUgfSkuc3lzdGVtQ29kZSBpcyAwCisKKyoqKiBCdWJibGVzIGFuZCBjYW5j
ZWxhYmxlIHRydWUsIGludmFsaWQgb3RoZXIgbWVtYmVycyAqKioKK1BBU1MgbmV3IE1lZGlhS2V5
RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUs
IGtleVN5c3RlbTogdW5kZWZpbmVkLCBzZXNzaW9uSWQ6IHVuZGVmaW5lZCwgaW5pdERhdGE6IFVp
bnQ4QXJyYXksIG1lc3NhZ2U6IFVpbnQ4QXJyYXksIGRlZmF1bHRVcmw6IHVuZGVmaW5lZCwgZXJy
b3JDb2RlOiBNZWRpYUtleUVycm9yLCBzeXN0ZW1Db2RlOiB1bmRlZmluZWQgfSkuYnViYmxlcyBp
cyB0cnVlCitQQVNTIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBidWJibGVz
OiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlLCBrZXlTeXN0ZW06IHVuZGVmaW5lZCwgc2Vzc2lvbklk
OiB1bmRlZmluZWQsIGluaXREYXRhOiBVaW50OEFycmF5LCBtZXNzYWdlOiBVaW50OEFycmF5LCBk
ZWZhdWx0VXJsOiB1bmRlZmluZWQsIGVycm9yQ29kZTogTWVkaWFLZXlFcnJvciwgc3lzdGVtQ29k
ZTogdW5kZWZpbmVkIH0pLmNhbmNlbGFibGUgaXMgdHJ1ZQorUEFTUyBuZXcgTWVkaWFLZXlFdmVu
dCgnTWVkaWFLZXlFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwga2V5
U3lzdGVtOiB1bmRlZmluZWQsIHNlc3Npb25JZDogdW5kZWZpbmVkLCBpbml0RGF0YTogVWludDhB
cnJheSwgbWVzc2FnZTogVWludDhBcnJheSwgZGVmYXVsdFVybDogdW5kZWZpbmVkLCBlcnJvckNv
ZGU6IE1lZGlhS2V5RXJyb3IsIHN5c3RlbUNvZGU6IHVuZGVmaW5lZCB9KS5rZXlTeXN0ZW0gaXMg
InVuZGVmaW5lZCIKK1BBU1MgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGJ1
YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIGtleVN5c3RlbTogdW5kZWZpbmVkLCBzZXNz
aW9uSWQ6IHVuZGVmaW5lZCwgaW5pdERhdGE6IFVpbnQ4QXJyYXksIG1lc3NhZ2U6IFVpbnQ4QXJy
YXksIGRlZmF1bHRVcmw6IHVuZGVmaW5lZCwgZXJyb3JDb2RlOiBNZWRpYUtleUVycm9yLCBzeXN0
ZW1Db2RlOiB1bmRlZmluZWQgfSkuc2Vzc2lvbklkIGlzICJ1bmRlZmluZWQiCitQQVNTIG5ldyBN
ZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxl
OiB0cnVlLCBrZXlTeXN0ZW06IHVuZGVmaW5lZCwgc2Vzc2lvbklkOiB1bmRlZmluZWQsIGluaXRE
YXRhOiBVaW50OEFycmF5LCBtZXNzYWdlOiBVaW50OEFycmF5LCBkZWZhdWx0VXJsOiB1bmRlZmlu
ZWQsIGVycm9yQ29kZTogTWVkaWFLZXlFcnJvciwgc3lzdGVtQ29kZTogdW5kZWZpbmVkIH0pLmlu
aXREYXRhIGlzIG51bGwKK1BBU1MgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7
IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIGtleVN5c3RlbTogdW5kZWZpbmVkLCBz
ZXNzaW9uSWQ6IHVuZGVmaW5lZCwgaW5pdERhdGE6IFVpbnQ4QXJyYXksIG1lc3NhZ2U6IFVpbnQ4
QXJyYXksIGRlZmF1bHRVcmw6IHVuZGVmaW5lZCwgZXJyb3JDb2RlOiBNZWRpYUtleUVycm9yLCBz
eXN0ZW1Db2RlOiB1bmRlZmluZWQgfSkubWVzc2FnZSBpcyBudWxsCitQQVNTIG5ldyBNZWRpYUtl
eUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVl
LCBrZXlTeXN0ZW06IHVuZGVmaW5lZCwgc2Vzc2lvbklkOiB1bmRlZmluZWQsIGluaXREYXRhOiBV
aW50OEFycmF5LCBtZXNzYWdlOiBVaW50OEFycmF5LCBkZWZhdWx0VXJsOiB1bmRlZmluZWQsIGVy
cm9yQ29kZTogTWVkaWFLZXlFcnJvciwgc3lzdGVtQ29kZTogdW5kZWZpbmVkIH0pLmRlZmF1bHRV
cmwgaXMgInVuZGVmaW5lZCIKK1BBU1MgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQn
LCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIGtleVN5c3RlbTogdW5kZWZpbmVk
LCBzZXNzaW9uSWQ6IHVuZGVmaW5lZCwgaW5pdERhdGE6IFVpbnQ4QXJyYXksIG1lc3NhZ2U6IFVp
bnQ4QXJyYXksIGRlZmF1bHRVcmw6IHVuZGVmaW5lZCwgZXJyb3JDb2RlOiBNZWRpYUtleUVycm9y
LCBzeXN0ZW1Db2RlOiB1bmRlZmluZWQgfSkuZXJyb3JDb2RlIGlzIG51bGwKK1BBU1MgbmV3IE1l
ZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6
IHRydWUsIGtleVN5c3RlbTogdW5kZWZpbmVkLCBzZXNzaW9uSWQ6IHVuZGVmaW5lZCwgaW5pdERh
dGE6IFVpbnQ4QXJyYXksIG1lc3NhZ2U6IFVpbnQ4QXJyYXksIGRlZmF1bHRVcmw6IHVuZGVmaW5l
ZCwgZXJyb3JDb2RlOiBNZWRpYUtleUVycm9yLCBzeXN0ZW1Db2RlOiB1bmRlZmluZWQgfSkuc3lz
dGVtQ29kZSBpcyAwCisKKyoqKiBJbml0aWFsaXplICdrZXlTeXN0ZW0nIHdpdGggYSBpbnZhbGlk
IHZhbHVlcyAqKioKK1BBU1MgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGtl
eVN5c3RlbTogZW1wdHlPYmplY3QgfSkua2V5U3lzdGVtIGlzICJbb2JqZWN0IE9iamVjdF0iCitQ
QVNTIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBrZXlTeXN0ZW06IGRvY3Vt
ZW50IH0pLmtleVN5c3RlbSBpcyAiW29iamVjdCBIVE1MRG9jdW1lbnRdIgorCisqKiogSW5pdGlh
bGl6ZSAnc2Vzc2lvbklkJyB3aXRoIGEgaW52YWxpZCB2YWx1ZXMgKioqCitQQVNTIG5ldyBNZWRp
YUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBzZXNzaW9uSWQ6IGVtcHR5T2JqZWN0IH0pLnNl
c3Npb25JZCBpcyAiW29iamVjdCBPYmplY3RdIgorUEFTUyBuZXcgTWVkaWFLZXlFdmVudCgnTWVk
aWFLZXlFdmVudCcsIHsgc2Vzc2lvbklkOiBkb2N1bWVudCB9KS5zZXNzaW9uSWQgaXMgIltvYmpl
Y3QgSFRNTERvY3VtZW50XSIKKworKioqIEluaXRpYWxpemUgJ2luaXREYXRhJyB3aXRoIGEgaW52
YWxpZCB2YWx1ZXMgKioqCitQQVNTIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50Jywg
eyBpbml0RGF0YTogMTAgfSkuaW5pdERhdGEgaXMgbnVsbAorUEFTUyBuZXcgTWVkaWFLZXlFdmVu
dCgnTWVkaWFLZXlFdmVudCcsIHsgaW5pdERhdGE6ICdzdHJpbmcnIH0pLmluaXREYXRhIGlzIG51
bGwKK1BBU1MgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGluaXREYXRhOiBl
bXB0eU9iamVjdCB9KS5pbml0RGF0YSBpcyBudWxsCitQQVNTIG5ldyBNZWRpYUtleUV2ZW50KCdN
ZWRpYUtleUV2ZW50JywgeyBpbml0RGF0YTogZG9jdW1lbnQgfSkuaW5pdERhdGEgaXMgbnVsbAor
CisqKiogSW5pdGlhbGl6ZSAnbWVzc2FnZScgd2l0aCBhIGludmFsaWQgdmFsdWVzICoqKgorUEFT
UyBuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgbWVzc2FnZTogMTAgfSkubWVz
c2FnZSBpcyBudWxsCitQQVNTIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBt
ZXNzYWdlOiAnc3RyaW5nJyB9KS5tZXNzYWdlIGlzIG51bGwKK1BBU1MgbmV3IE1lZGlhS2V5RXZl
bnQoJ01lZGlhS2V5RXZlbnQnLCB7IG1lc3NhZ2U6IGVtcHR5T2JqZWN0IH0pLm1lc3NhZ2UgaXMg
bnVsbAorUEFTUyBuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgbWVzc2FnZTog
ZG9jdW1lbnQgfSkubWVzc2FnZSBpcyBudWxsCisKKyoqKiBJbml0aWFsaXplICdkZWZhdWx0VXJs
JyB3aXRoIGEgaW52YWxpZCB2YWx1ZXMgKioqCitQQVNTIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRp
YUtleUV2ZW50JywgeyBkZWZhdWx0VXJsOiBlbXB0eU9iamVjdCB9KS5kZWZhdWx0VXJsIGlzICJb
b2JqZWN0IE9iamVjdF0iCitQQVNTIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50Jywg
eyBkZWZhdWx0VXJsOiBkb2N1bWVudCB9KS5kZWZhdWx0VXJsIGlzICJbb2JqZWN0IEhUTUxEb2N1
bWVudF0iCisKKyoqKiBJbml0aWFsaXplICdlcnJvckNvZGUnIHdpdGggYSBpbnZhbGlkIHZhbHVl
cyAqKioKK1BBU1MgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGVycm9yQ29k
ZTogMTAgfSkuZXJyb3JDb2RlIGlzIG51bGwKK1BBU1MgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlh
S2V5RXZlbnQnLCB7IGVycm9yQ29kZTogJ3N0cmluZycgfSkuZXJyb3JDb2RlIGlzIG51bGwKK1BB
U1MgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGVycm9yQ29kZTogZW1wdHlP
YmplY3QgfSkuZXJyb3JDb2RlIGlzIG51bGwKK1BBU1MgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlh
S2V5RXZlbnQnLCB7IGVycm9yQ29kZTogZG9jdW1lbnQgfSkuZXJyb3JDb2RlIGlzIG51bGwKKwor
KioqIEluaXRpYWxpemUgJ3N5c3RlbUNvZGUnIHdpdGggYSBpbnZhbGlkIHZhbHVlcyAqKioKK1BB
U1MgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IHN5c3RlbUNvZGU6ICdzdHJp
bmcnIH0pLnN5c3RlbUNvZGUgaXMgMAorUEFTUyBuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlF
dmVudCcsIHsgc3lzdGVtQ29kZTogZW1wdHlPYmplY3QgfSkuc3lzdGVtQ29kZSBpcyAwCitQQVNT
IG5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBzeXN0ZW1Db2RlOiBkb2N1bWVu
dCB9KS5zeXN0ZW1Db2RlIGlzIDAKKworKioqIEJ1YmJsZXMgYW5kIGNhbmNlbGFibGUgdHJ1ZSwg
dmFsaWQgb3RoZXIgbWVtYmVycyAqKioKK1BBU1MgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5
RXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIGtleVN5c3RlbTogJ2tl
eVN5c3RlbScsIHNlc3Npb25JZDogJ3Nlc3Npb25JZCcsIGluaXREYXRhOiBpbml0RGF0YUFycmF5
LCBtZXNzYWdlOiBtZXNzYWdlQXJyYXksIGRlZmF1bHRVcmw6ICdkZWZhdWx0VXJsJywgZXJyb3JD
b2RlOiBlcnJvck9iamVjdCwgc3lzdGVtQ29kZTogMTIzIH0pLmJ1YmJsZXMgaXMgdHJ1ZQorUEFT
UyBuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2Fu
Y2VsYWJsZTogdHJ1ZSwga2V5U3lzdGVtOiAna2V5U3lzdGVtJywgc2Vzc2lvbklkOiAnc2Vzc2lv
bklkJywgaW5pdERhdGE6IGluaXREYXRhQXJyYXksIG1lc3NhZ2U6IG1lc3NhZ2VBcnJheSwgZGVm
YXVsdFVybDogJ2RlZmF1bHRVcmwnLCBlcnJvckNvZGU6IGVycm9yT2JqZWN0LCBzeXN0ZW1Db2Rl
OiAxMjMgfSkuY2FuY2VsYWJsZSBpcyB0cnVlCitQQVNTIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRp
YUtleUV2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlLCBrZXlTeXN0ZW06
ICdrZXlTeXN0ZW0nLCBzZXNzaW9uSWQ6ICdzZXNzaW9uSWQnLCBpbml0RGF0YTogaW5pdERhdGFB
cnJheSwgbWVzc2FnZTogbWVzc2FnZUFycmF5LCBkZWZhdWx0VXJsOiAnZGVmYXVsdFVybCcsIGVy
cm9yQ29kZTogZXJyb3JPYmplY3QsIHN5c3RlbUNvZGU6IDEyMyB9KS5rZXlTeXN0ZW0gaXMgImtl
eVN5c3RlbSIKK1BBU1MgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGJ1YmJs
ZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIGtleVN5c3RlbTogJ2tleVN5c3RlbScsIHNlc3Np
b25JZDogJ3Nlc3Npb25JZCcsIGluaXREYXRhOiBpbml0RGF0YUFycmF5LCBtZXNzYWdlOiBtZXNz
YWdlQXJyYXksIGRlZmF1bHRVcmw6ICdkZWZhdWx0VXJsJywgZXJyb3JDb2RlOiBlcnJvck9iamVj
dCwgc3lzdGVtQ29kZTogMTIzIH0pLnNlc3Npb25JZCBpcyAic2Vzc2lvbklkIgorUEFTUyBuZXcg
TWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJs
ZTogdHJ1ZSwga2V5U3lzdGVtOiAna2V5U3lzdGVtJywgc2Vzc2lvbklkOiAnc2Vzc2lvbklkJywg
aW5pdERhdGE6IGluaXREYXRhQXJyYXksIG1lc3NhZ2U6IG1lc3NhZ2VBcnJheSwgZGVmYXVsdFVy
bDogJ2RlZmF1bHRVcmwnLCBlcnJvckNvZGU6IGVycm9yT2JqZWN0LCBzeXN0ZW1Db2RlOiAxMjMg
fSkuaW5pdERhdGEgaXMgaW5pdERhdGFBcnJheQorUEFTUyBuZXcgTWVkaWFLZXlFdmVudCgnTWVk
aWFLZXlFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwga2V5U3lzdGVt
OiAna2V5U3lzdGVtJywgc2Vzc2lvbklkOiAnc2Vzc2lvbklkJywgaW5pdERhdGE6IGluaXREYXRh
QXJyYXksIG1lc3NhZ2U6IG1lc3NhZ2VBcnJheSwgZGVmYXVsdFVybDogJ2RlZmF1bHRVcmwnLCBl
cnJvckNvZGU6IGVycm9yT2JqZWN0LCBzeXN0ZW1Db2RlOiAxMjMgfSkubWVzc2FnZSBpcyBtZXNz
YWdlQXJyYXkKK1BBU1MgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGJ1YmJs
ZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIGtleVN5c3RlbTogJ2tleVN5c3RlbScsIHNlc3Np
b25JZDogJ3Nlc3Npb25JZCcsIGluaXREYXRhOiBpbml0RGF0YUFycmF5LCBtZXNzYWdlOiBtZXNz
YWdlQXJyYXksIGRlZmF1bHRVcmw6ICdkZWZhdWx0VXJsJywgZXJyb3JDb2RlOiBlcnJvck9iamVj
dCwgc3lzdGVtQ29kZTogMTIzIH0pLmRlZmF1bHRVcmwgaXMgImRlZmF1bHRVcmwiCitGQUlMIG5l
dyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxh
YmxlOiB0cnVlLCBrZXlTeXN0ZW06ICdrZXlTeXN0ZW0nLCBzZXNzaW9uSWQ6ICdzZXNzaW9uSWQn
LCBpbml0RGF0YTogaW5pdERhdGFBcnJheSwgbWVzc2FnZTogbWVzc2FnZUFycmF5LCBkZWZhdWx0
VXJsOiAnZGVmYXVsdFVybCcsIGVycm9yQ29kZTogZXJyb3JPYmplY3QsIHN5c3RlbUNvZGU6IDEy
MyB9KS5lcnJvckNvZGUgc2hvdWxkIGJlIGZ1bmN0aW9uIE1lZGlhS2V5RXJyb3IoKSB7IFtuYXRp
dmUgY29kZV0gfSAob2YgdHlwZSBmdW5jdGlvbikuIFdhcyBudWxsIChvZiB0eXBlIG9iamVjdCku
CitGQUlMIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBidWJibGVzOiB0cnVl
LCBjYW5jZWxhYmxlOiB0cnVlLCBrZXlTeXN0ZW06ICdrZXlTeXN0ZW0nLCBzZXNzaW9uSWQ6ICdz
ZXNzaW9uSWQnLCBpbml0RGF0YTogaW5pdERhdGFBcnJheSwgbWVzc2FnZTogbWVzc2FnZUFycmF5
LCBkZWZhdWx0VXJsOiAnZGVmYXVsdFVybCcsIGVycm9yQ29kZTogZXJyb3JPYmplY3QsIHN5c3Rl
bUNvZGU6IDEyMyB9KS5lcnJvckNvZGUuY29kZSBzaG91bGQgYmUgMS4gVGhyZXcgZXhjZXB0aW9u
IFR5cGVFcnJvcjogQ2Fubm90IHJlYWQgcHJvcGVydHkgJ2NvZGUnIG9mIG51bGwKK1BBU1MgbmV3
IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFi
bGU6IHRydWUsIGtleVN5c3RlbTogJ2tleVN5c3RlbScsIHNlc3Npb25JZDogJ3Nlc3Npb25JZCcs
IGluaXREYXRhOiBpbml0RGF0YUFycmF5LCBtZXNzYWdlOiBtZXNzYWdlQXJyYXksIGRlZmF1bHRV
cmw6ICdkZWZhdWx0VXJsJywgZXJyb3JDb2RlOiBlcnJvck9iamVjdCwgc3lzdGVtQ29kZTogMTIz
IH0pLnN5c3RlbUNvZGUgaXMgMTIzCisKKyoqKiBJbml0aWFsaXplIHdpdGggdmFsaWQgbWVtYmVy
cyAqKioKK0ZBSUwgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGtleVN5c3Rl
bTogJ2tleVN5c3RlbScsIHNlc3Npb25JZDogJ3Nlc3Npb25JZCcsIGluaXREYXRhOiBpbml0RGF0
YUFycmF5LCBtZXNzYWdlOiBtZXNzYWdlQXJyYXksIGRlZmF1bHRVcmw6ICdkZWZhdWx0VXJsJywg
ZXJyb3JDb2RlOiBlcnJvck9iamVjdCwgc3lzdGVtQ29kZTogMTIzIH0pLmJ1YmJsZXMgc2hvdWxk
IGJlIHRydWUuIFdhcyBmYWxzZS4KK0ZBSUwgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZl
bnQnLCB7IGtleVN5c3RlbTogJ2tleVN5c3RlbScsIHNlc3Npb25JZDogJ3Nlc3Npb25JZCcsIGlu
aXREYXRhOiBpbml0RGF0YUFycmF5LCBtZXNzYWdlOiBtZXNzYWdlQXJyYXksIGRlZmF1bHRVcmw6
ICdkZWZhdWx0VXJsJywgZXJyb3JDb2RlOiBlcnJvck9iamVjdCwgc3lzdGVtQ29kZTogMTIzIH0p
LmNhbmNlbGFibGUgc2hvdWxkIGJlIHRydWUuIFdhcyBmYWxzZS4KK1BBU1MgbmV3IE1lZGlhS2V5
RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGtleVN5c3RlbTogJ2tleVN5c3RlbScsIHNlc3Npb25J
ZDogJ3Nlc3Npb25JZCcsIGluaXREYXRhOiBpbml0RGF0YUFycmF5LCBtZXNzYWdlOiBtZXNzYWdl
QXJyYXksIGRlZmF1bHRVcmw6ICdkZWZhdWx0VXJsJywgZXJyb3JDb2RlOiBlcnJvck9iamVjdCwg
c3lzdGVtQ29kZTogMTIzIH0pLmtleVN5c3RlbSBpcyAia2V5U3lzdGVtIgorUEFTUyBuZXcgTWVk
aWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsga2V5U3lzdGVtOiAna2V5U3lzdGVtJywgc2Vz
c2lvbklkOiAnc2Vzc2lvbklkJywgaW5pdERhdGE6IGluaXREYXRhQXJyYXksIG1lc3NhZ2U6IG1l
c3NhZ2VBcnJheSwgZGVmYXVsdFVybDogJ2RlZmF1bHRVcmwnLCBlcnJvckNvZGU6IGVycm9yT2Jq
ZWN0LCBzeXN0ZW1Db2RlOiAxMjMgfSkuc2Vzc2lvbklkIGlzICJzZXNzaW9uSWQiCitQQVNTIG5l
dyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBrZXlTeXN0ZW06ICdrZXlTeXN0ZW0n
LCBzZXNzaW9uSWQ6ICdzZXNzaW9uSWQnLCBpbml0RGF0YTogaW5pdERhdGFBcnJheSwgbWVzc2Fn
ZTogbWVzc2FnZUFycmF5LCBkZWZhdWx0VXJsOiAnZGVmYXVsdFVybCcsIGVycm9yQ29kZTogZXJy
b3JPYmplY3QsIHN5c3RlbUNvZGU6IDEyMyB9KS5pbml0RGF0YSBpcyBpbml0RGF0YUFycmF5CitQ
QVNTIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBrZXlTeXN0ZW06ICdrZXlT
eXN0ZW0nLCBzZXNzaW9uSWQ6ICdzZXNzaW9uSWQnLCBpbml0RGF0YTogaW5pdERhdGFBcnJheSwg
bWVzc2FnZTogbWVzc2FnZUFycmF5LCBkZWZhdWx0VXJsOiAnZGVmYXVsdFVybCcsIGVycm9yQ29k
ZTogZXJyb3JPYmplY3QsIHN5c3RlbUNvZGU6IDEyMyB9KS5tZXNzYWdlIGlzIG1lc3NhZ2VBcnJh
eQorUEFTUyBuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsga2V5U3lzdGVtOiAn
a2V5U3lzdGVtJywgc2Vzc2lvbklkOiAnc2Vzc2lvbklkJywgaW5pdERhdGE6IGluaXREYXRhQXJy
YXksIG1lc3NhZ2U6IG1lc3NhZ2VBcnJheSwgZGVmYXVsdFVybDogJ2RlZmF1bHRVcmwnLCBlcnJv
ckNvZGU6IGVycm9yT2JqZWN0LCBzeXN0ZW1Db2RlOiAxMjMgfSkuZGVmYXVsdFVybCBpcyAiZGVm
YXVsdFVybCIKK0ZBSUwgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGtleVN5
c3RlbTogJ2tleVN5c3RlbScsIHNlc3Npb25JZDogJ3Nlc3Npb25JZCcsIGluaXREYXRhOiBpbml0
RGF0YUFycmF5LCBtZXNzYWdlOiBtZXNzYWdlQXJyYXksIGRlZmF1bHRVcmw6ICdkZWZhdWx0VXJs
JywgZXJyb3JDb2RlOiBlcnJvck9iamVjdCwgc3lzdGVtQ29kZTogMTIzIH0pLmVycm9yQ29kZSBz
aG91bGQgYmUgZnVuY3Rpb24gTWVkaWFLZXlFcnJvcigpIHsgW25hdGl2ZSBjb2RlXSB9IChvZiB0
eXBlIGZ1bmN0aW9uKS4gV2FzIG51bGwgKG9mIHR5cGUgb2JqZWN0KS4KK0ZBSUwgbmV3IE1lZGlh
S2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGtleVN5c3RlbTogJ2tleVN5c3RlbScsIHNlc3Np
b25JZDogJ3Nlc3Npb25JZCcsIGluaXREYXRhOiBpbml0RGF0YUFycmF5LCBtZXNzYWdlOiBtZXNz
YWdlQXJyYXksIGRlZmF1bHRVcmw6ICdkZWZhdWx0VXJsJywgZXJyb3JDb2RlOiBlcnJvck9iamVj
dCwgc3lzdGVtQ29kZTogMTIzIH0pLmVycm9yQ29kZS5jb2RlIHNob3VsZCBiZSAxLiBUaHJldyBl
eGNlcHRpb24gVHlwZUVycm9yOiBDYW5ub3QgcmVhZCBwcm9wZXJ0eSAnY29kZScgb2YgbnVsbAor
UEFTUyBuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsga2V5U3lzdGVtOiAna2V5
U3lzdGVtJywgc2Vzc2lvbklkOiAnc2Vzc2lvbklkJywgaW5pdERhdGE6IGluaXREYXRhQXJyYXks
IG1lc3NhZ2U6IG1lc3NhZ2VBcnJheSwgZGVmYXVsdFVybDogJ2RlZmF1bHRVcmwnLCBlcnJvckNv
ZGU6IGVycm9yT2JqZWN0LCBzeXN0ZW1Db2RlOiAxMjMgfSkuc3lzdGVtQ29kZSBpcyAxMjMKKwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2NvbnN0cnVjdG9ycy9tZWRpYS1rZXktZXZl
bnQtY29uc3RydWN0b3IuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2NvbnN0cnVjdG9y
cy9tZWRpYS1rZXktZXZlbnQtY29uc3RydWN0b3IuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41MmI5YTc4NjU4
OTExODczNzI5MzYwMjcyODFmY2FiYTNjNmQ0ZjgzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL21lZGlhLWtleS1ldmVudC1jb25zdHJ1Y3Rv
ci5odG1sCkBAIC0wLDAgKzEsMTM1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+
CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5PgorICAgIDxzY3JpcHQ+CisKKyAgICAgICAgd2luZG93
LmpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3Rz
IHRoZSBjb25zdHJ1Y3RvciBmb3IgdGhlIE1lZGlhS2V5RXZlbnQgRE9NIGNsYXNzLiIpOworCisg
ICAgICAgIGZ1bmN0aW9uIHRlc3QoKQorICAgICAgICB7CisgICAgICAgICAgICBkZWJ1ZygiPGJy
PioqKiBObyBpbml0aWFsaXplciBwYXNzZWQgKioqIik7CisgICAgICAgICAgICBzaG91bGRCZSgi
bmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnKS5idWJibGVzIiwgImZhbHNlIik7Cisg
ICAgICAgICAgICBzaG91bGRCZSgibmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnKS5j
YW5jZWxhYmxlIiwgImZhbHNlIik7CisgICAgICAgICAgICBzaG91bGRCZUVtcHR5U3RyaW5nKCJu
ZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcpLmtleVN5c3RlbSIpOworICAgICAgICAg
ICAgc2hvdWxkQmVFbXB0eVN0cmluZygibmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQn
KS5zZXNzaW9uSWQiKTsKKyAgICAgICAgICAgIHNob3VsZEJlTnVsbCgibmV3IE1lZGlhS2V5RXZl
bnQoJ01lZGlhS2V5RXZlbnQnKS5pbml0RGF0YSIpOworICAgICAgICAgICAgc2hvdWxkQmVOdWxs
KCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcpLm1lc3NhZ2UiKTsKKyAgICAgICAg
ICAgIHNob3VsZEJlRW1wdHlTdHJpbmcoIm5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50
JykuZGVmYXVsdFVybCIpOworICAgICAgICAgICAgc2hvdWxkQmVOdWxsKCJuZXcgTWVkaWFLZXlF
dmVudCgnTWVkaWFLZXlFdmVudCcpLmVycm9yQ29kZSIpOworICAgICAgICAgICAgc2hvdWxkQmVa
ZXJvKCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcpLnN5c3RlbUNvZGUiKTsKKyAg
ICAKKyAgICAgICAgICAgIGRlYnVnKCI8YnI+KioqIEJ1YmJsZXMgYW5kIGNhbmNlbGFibGUgdHJ1
ZSwgb3RoZXIgbWVtYmVycyBhcmUgbWlzc2luZyAqKioiKTsKKyAgICAgICAgICAgIHNob3VsZEJl
KCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2Fu
Y2VsYWJsZTogdHJ1ZSB9KS5idWJibGVzIiwgInRydWUiKTsKKyAgICAgICAgICAgIHNob3VsZEJl
KCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2Fu
Y2VsYWJsZTogdHJ1ZSB9KS5jYW5jZWxhYmxlIiwgInRydWUiKTsKKyAgICAgICAgICAgIHNob3Vs
ZEJlRW1wdHlTdHJpbmcoIm5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBidWJi
bGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlIH0pLmtleVN5c3RlbSIpOworICAgICAgICAgICAg
c2hvdWxkQmVFbXB0eVN0cmluZygibmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7
IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUgfSkuc2Vzc2lvbklkIik7CisgICAgICAg
ICAgICBzaG91bGRCZU51bGwoIm5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBi
dWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlIH0pLmluaXREYXRhIik7CisgICAgICAgICAg
ICBzaG91bGRCZU51bGwoIm5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBidWJi
bGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlIH0pLm1lc3NhZ2UiKTsKKyAgICAgICAgICAgIHNo
b3VsZEJlRW1wdHlTdHJpbmcoIm5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBi
dWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlIH0pLmRlZmF1bHRVcmwiKTsKKyAgICAgICAg
ICAgIHNob3VsZEJlTnVsbCgibmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGJ1
YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUgfSkuZXJyb3JDb2RlIik7CisgICAgICAgICAg
ICBzaG91bGRCZVplcm8oIm5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBidWJi
bGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlIH0pLnN5c3RlbUNvZGUiKTsKKyAgICAKKyAgICAg
ICAgICAgIGRlYnVnKCI8YnI+KioqIEJ1YmJsZXMgYW5kIGNhbmNlbGFibGUgdHJ1ZSwgaW52YWxp
ZCBvdGhlciBtZW1iZXJzICoqKiIpOworICAgICAgICAgICAgc2hvdWxkQmUoIm5ldyBNZWRpYUtl
eUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVl
LCBrZXlTeXN0ZW06IHVuZGVmaW5lZCwgc2Vzc2lvbklkOiB1bmRlZmluZWQsIGluaXREYXRhOiBV
aW50OEFycmF5LCBtZXNzYWdlOiBVaW50OEFycmF5LCBkZWZhdWx0VXJsOiB1bmRlZmluZWQsIGVy
cm9yQ29kZTogTWVkaWFLZXlFcnJvciwgc3lzdGVtQ29kZTogdW5kZWZpbmVkIH0pLmJ1YmJsZXMi
LCAidHJ1ZSIpOworICAgICAgICAgICAgc2hvdWxkQmUoIm5ldyBNZWRpYUtleUV2ZW50KCdNZWRp
YUtleUV2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlLCBrZXlTeXN0ZW06
IHVuZGVmaW5lZCwgc2Vzc2lvbklkOiB1bmRlZmluZWQsIGluaXREYXRhOiBVaW50OEFycmF5LCBt
ZXNzYWdlOiBVaW50OEFycmF5LCBkZWZhdWx0VXJsOiB1bmRlZmluZWQsIGVycm9yQ29kZTogTWVk
aWFLZXlFcnJvciwgc3lzdGVtQ29kZTogdW5kZWZpbmVkIH0pLmNhbmNlbGFibGUiLCAidHJ1ZSIp
OworICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJuZXcgTWVkaWFLZXlFdmVudCgn
TWVkaWFLZXlFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwga2V5U3lz
dGVtOiB1bmRlZmluZWQsIHNlc3Npb25JZDogdW5kZWZpbmVkLCBpbml0RGF0YTogVWludDhBcnJh
eSwgbWVzc2FnZTogVWludDhBcnJheSwgZGVmYXVsdFVybDogdW5kZWZpbmVkLCBlcnJvckNvZGU6
IE1lZGlhS2V5RXJyb3IsIHN5c3RlbUNvZGU6IHVuZGVmaW5lZCB9KS5rZXlTeXN0ZW0iLCAidW5k
ZWZpbmVkIik7CisgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIm5ldyBNZWRpYUtl
eUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVl
LCBrZXlTeXN0ZW06IHVuZGVmaW5lZCwgc2Vzc2lvbklkOiB1bmRlZmluZWQsIGluaXREYXRhOiBV
aW50OEFycmF5LCBtZXNzYWdlOiBVaW50OEFycmF5LCBkZWZhdWx0VXJsOiB1bmRlZmluZWQsIGVy
cm9yQ29kZTogTWVkaWFLZXlFcnJvciwgc3lzdGVtQ29kZTogdW5kZWZpbmVkIH0pLnNlc3Npb25J
ZCIsICJ1bmRlZmluZWQiKTsKKyAgICAgICAgICAgIHNob3VsZEJlTnVsbCgibmV3IE1lZGlhS2V5
RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUs
IGtleVN5c3RlbTogdW5kZWZpbmVkLCBzZXNzaW9uSWQ6IHVuZGVmaW5lZCwgaW5pdERhdGE6IFVp
bnQ4QXJyYXksIG1lc3NhZ2U6IFVpbnQ4QXJyYXksIGRlZmF1bHRVcmw6IHVuZGVmaW5lZCwgZXJy
b3JDb2RlOiBNZWRpYUtleUVycm9yLCBzeXN0ZW1Db2RlOiB1bmRlZmluZWQgfSkuaW5pdERhdGEi
KTsKKyAgICAgICAgICAgIHNob3VsZEJlTnVsbCgibmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5
RXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIGtleVN5c3RlbTogdW5k
ZWZpbmVkLCBzZXNzaW9uSWQ6IHVuZGVmaW5lZCwgaW5pdERhdGE6IFVpbnQ4QXJyYXksIG1lc3Nh
Z2U6IFVpbnQ4QXJyYXksIGRlZmF1bHRVcmw6IHVuZGVmaW5lZCwgZXJyb3JDb2RlOiBNZWRpYUtl
eUVycm9yLCBzeXN0ZW1Db2RlOiB1bmRlZmluZWQgfSkubWVzc2FnZSIpOworICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcs
IHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwga2V5U3lzdGVtOiB1bmRlZmluZWQs
IHNlc3Npb25JZDogdW5kZWZpbmVkLCBpbml0RGF0YTogVWludDhBcnJheSwgbWVzc2FnZTogVWlu
dDhBcnJheSwgZGVmYXVsdFVybDogdW5kZWZpbmVkLCBlcnJvckNvZGU6IE1lZGlhS2V5RXJyb3Is
IHN5c3RlbUNvZGU6IHVuZGVmaW5lZCB9KS5kZWZhdWx0VXJsIiwgInVuZGVmaW5lZCIpOworICAg
ICAgICAgICAgc2hvdWxkQmVOdWxsKCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcs
IHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwga2V5U3lzdGVtOiB1bmRlZmluZWQs
IHNlc3Npb25JZDogdW5kZWZpbmVkLCBpbml0RGF0YTogVWludDhBcnJheSwgbWVzc2FnZTogVWlu
dDhBcnJheSwgZGVmYXVsdFVybDogdW5kZWZpbmVkLCBlcnJvckNvZGU6IE1lZGlhS2V5RXJyb3Is
IHN5c3RlbUNvZGU6IHVuZGVmaW5lZCB9KS5lcnJvckNvZGUiKTsKKyAgICAgICAgICAgIHNob3Vs
ZEJlWmVybygibmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGJ1YmJsZXM6IHRy
dWUsIGNhbmNlbGFibGU6IHRydWUsIGtleVN5c3RlbTogdW5kZWZpbmVkLCBzZXNzaW9uSWQ6IHVu
ZGVmaW5lZCwgaW5pdERhdGE6IFVpbnQ4QXJyYXksIG1lc3NhZ2U6IFVpbnQ4QXJyYXksIGRlZmF1
bHRVcmw6IHVuZGVmaW5lZCwgZXJyb3JDb2RlOiBNZWRpYUtleUVycm9yLCBzeXN0ZW1Db2RlOiB1
bmRlZmluZWQgfSkuc3lzdGVtQ29kZSIpOworICAgIAorICAgICAgICAgICAgZGVidWcoIjxicj4q
KiogSW5pdGlhbGl6ZSAna2V5U3lzdGVtJyB3aXRoIGEgaW52YWxpZCB2YWx1ZXMgKioqIik7Cisg
ICAgICAgICAgICBlbXB0eU9iamVjdCA9IHsgfTsKKyAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygibmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGtleVN5c3RlbTog
ZW1wdHlPYmplY3QgfSkua2V5U3lzdGVtIiwgIltvYmplY3QgT2JqZWN0XSIpOworICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVu
dCcsIHsga2V5U3lzdGVtOiBkb2N1bWVudCB9KS5rZXlTeXN0ZW0iLCAiW29iamVjdCBIVE1MRG9j
dW1lbnRdIik7CisKKyAgICAgICAgICAgIGRlYnVnKCI8YnI+KioqIEluaXRpYWxpemUgJ3Nlc3Np
b25JZCcgd2l0aCBhIGludmFsaWQgdmFsdWVzICoqKiIpOworICAgICAgICAgICAgZW1wdHlPYmpl
Y3QgPSB7IH07CisgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIm5ldyBNZWRpYUtl
eUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBzZXNzaW9uSWQ6IGVtcHR5T2JqZWN0IH0pLnNlc3Np
b25JZCIsICJbb2JqZWN0IE9iamVjdF0iKTsKKyAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygibmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IHNlc3Npb25JZDogZG9j
dW1lbnQgfSkuc2Vzc2lvbklkIiwgIltvYmplY3QgSFRNTERvY3VtZW50XSIpOworCisgICAgICAg
ICAgICBkZWJ1ZygiPGJyPioqKiBJbml0aWFsaXplICdpbml0RGF0YScgd2l0aCBhIGludmFsaWQg
dmFsdWVzICoqKiIpOworICAgICAgICAgICAgc2hvdWxkQmVOdWxsKCJuZXcgTWVkaWFLZXlFdmVu
dCgnTWVkaWFLZXlFdmVudCcsIHsgaW5pdERhdGE6IDEwIH0pLmluaXREYXRhIik7CisgICAgICAg
ICAgICBzaG91bGRCZU51bGwoIm5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBp
bml0RGF0YTogXCdzdHJpbmdcJyB9KS5pbml0RGF0YSIpOworICAgICAgICAgICAgZW1wdHlPYmpl
Y3QgPSB7IH07CisgICAgICAgICAgICBzaG91bGRCZU51bGwoIm5ldyBNZWRpYUtleUV2ZW50KCdN
ZWRpYUtleUV2ZW50JywgeyBpbml0RGF0YTogZW1wdHlPYmplY3QgfSkuaW5pdERhdGEiKTsKKyAg
ICAgICAgICAgIHNob3VsZEJlTnVsbCgibmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQn
LCB7IGluaXREYXRhOiBkb2N1bWVudCB9KS5pbml0RGF0YSIpOworCisgICAgICAgICAgICBkZWJ1
ZygiPGJyPioqKiBJbml0aWFsaXplICdtZXNzYWdlJyB3aXRoIGEgaW52YWxpZCB2YWx1ZXMgKioq
Iik7CisgICAgICAgICAgICBzaG91bGRCZU51bGwoIm5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtl
eUV2ZW50JywgeyBtZXNzYWdlOiAxMCB9KS5tZXNzYWdlIik7CisgICAgICAgICAgICBzaG91bGRC
ZU51bGwoIm5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBtZXNzYWdlOiBcJ3N0
cmluZ1wnIH0pLm1lc3NhZ2UiKTsKKyAgICAgICAgICAgIGVtcHR5T2JqZWN0ID0geyB9OworICAg
ICAgICAgICAgc2hvdWxkQmVOdWxsKCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcs
IHsgbWVzc2FnZTogZW1wdHlPYmplY3QgfSkubWVzc2FnZSIpOworICAgICAgICAgICAgc2hvdWxk
QmVOdWxsKCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgbWVzc2FnZTogZG9j
dW1lbnQgfSkubWVzc2FnZSIpOworCisgICAgICAgICAgICBkZWJ1ZygiPGJyPioqKiBJbml0aWFs
aXplICdkZWZhdWx0VXJsJyB3aXRoIGEgaW52YWxpZCB2YWx1ZXMgKioqIik7CisgICAgICAgICAg
ICBlbXB0eU9iamVjdCA9IHsgfTsKKyAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
bmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGRlZmF1bHRVcmw6IGVtcHR5T2Jq
ZWN0IH0pLmRlZmF1bHRVcmwiLCAiW29iamVjdCBPYmplY3RdIik7CisgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoIm5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBk
ZWZhdWx0VXJsOiBkb2N1bWVudCB9KS5kZWZhdWx0VXJsIiwgIltvYmplY3QgSFRNTERvY3VtZW50
XSIpOworCisgICAgICAgICAgICBkZWJ1ZygiPGJyPioqKiBJbml0aWFsaXplICdlcnJvckNvZGUn
IHdpdGggYSBpbnZhbGlkIHZhbHVlcyAqKioiKTsKKyAgICAgICAgICAgIHNob3VsZEJlTnVsbCgi
bmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGVycm9yQ29kZTogMTAgfSkuZXJy
b3JDb2RlIik7CisgICAgICAgICAgICBzaG91bGRCZU51bGwoIm5ldyBNZWRpYUtleUV2ZW50KCdN
ZWRpYUtleUV2ZW50JywgeyBlcnJvckNvZGU6IFwnc3RyaW5nXCcgfSkuZXJyb3JDb2RlIik7Cisg
ICAgICAgICAgICBlbXB0eU9iamVjdCA9IHsgfTsKKyAgICAgICAgICAgIHNob3VsZEJlTnVsbCgi
bmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGVycm9yQ29kZTogZW1wdHlPYmpl
Y3QgfSkuZXJyb3JDb2RlIik7CisgICAgICAgICAgICBzaG91bGRCZU51bGwoIm5ldyBNZWRpYUtl
eUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBlcnJvckNvZGU6IGRvY3VtZW50IH0pLmVycm9yQ29k
ZSIpOworCisgICAgICAgICAgICBkZWJ1ZygiPGJyPioqKiBJbml0aWFsaXplICdzeXN0ZW1Db2Rl
JyB3aXRoIGEgaW52YWxpZCB2YWx1ZXMgKioqIik7CisgICAgICAgICAgICBzaG91bGRCZVplcm8o
Im5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBzeXN0ZW1Db2RlOiBcJ3N0cmlu
Z1wnIH0pLnN5c3RlbUNvZGUiKTsKKyAgICAgICAgICAgIGVtcHR5T2JqZWN0ID0geyB9OworICAg
ICAgICAgICAgc2hvdWxkQmVaZXJvKCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcs
IHsgc3lzdGVtQ29kZTogZW1wdHlPYmplY3QgfSkuc3lzdGVtQ29kZSIpOworICAgICAgICAgICAg
c2hvdWxkQmVaZXJvKCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgc3lzdGVt
Q29kZTogZG9jdW1lbnQgfSkuc3lzdGVtQ29kZSIpOworCisgICAgICAgICAgICBkZWJ1ZygiPGJy
PioqKiBCdWJibGVzIGFuZCBjYW5jZWxhYmxlIHRydWUsIHZhbGlkIG90aGVyIG1lbWJlcnMgKioq
Iik7CisgICAgICAgICAgICBzaG91bGRCZSgibmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZl
bnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIGtleVN5c3RlbTogJ2tleVN5
c3RlbScsIHNlc3Npb25JZDogJ3Nlc3Npb25JZCcsIGluaXREYXRhOiBpbml0RGF0YUFycmF5LCBt
ZXNzYWdlOiBtZXNzYWdlQXJyYXksIGRlZmF1bHRVcmw6ICdkZWZhdWx0VXJsJywgZXJyb3JDb2Rl
OiBlcnJvck9iamVjdCwgc3lzdGVtQ29kZTogMTIzIH0pLmJ1YmJsZXMiLCAidHJ1ZSIpOworICAg
ICAgICAgICAgc2hvdWxkQmUoIm5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBi
dWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlLCBrZXlTeXN0ZW06ICdrZXlTeXN0ZW0nLCBz
ZXNzaW9uSWQ6ICdzZXNzaW9uSWQnLCBpbml0RGF0YTogaW5pdERhdGFBcnJheSwgbWVzc2FnZTog
bWVzc2FnZUFycmF5LCBkZWZhdWx0VXJsOiAnZGVmYXVsdFVybCcsIGVycm9yQ29kZTogZXJyb3JP
YmplY3QsIHN5c3RlbUNvZGU6IDEyMyB9KS5jYW5jZWxhYmxlIiwgInRydWUiKTsKKyAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygibmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZl
bnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIGtleVN5c3RlbTogJ2tleVN5
c3RlbScsIHNlc3Npb25JZDogJ3Nlc3Npb25JZCcsIGluaXREYXRhOiBpbml0RGF0YUFycmF5LCBt
ZXNzYWdlOiBtZXNzYWdlQXJyYXksIGRlZmF1bHRVcmw6ICdkZWZhdWx0VXJsJywgZXJyb3JDb2Rl
OiBlcnJvck9iamVjdCwgc3lzdGVtQ29kZTogMTIzIH0pLmtleVN5c3RlbSIsICJrZXlTeXN0ZW0i
KTsKKyAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygibmV3IE1lZGlhS2V5RXZlbnQo
J01lZGlhS2V5RXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIGtleVN5
c3RlbTogJ2tleVN5c3RlbScsIHNlc3Npb25JZDogJ3Nlc3Npb25JZCcsIGluaXREYXRhOiBpbml0
RGF0YUFycmF5LCBtZXNzYWdlOiBtZXNzYWdlQXJyYXksIGRlZmF1bHRVcmw6ICdkZWZhdWx0VXJs
JywgZXJyb3JDb2RlOiBlcnJvck9iamVjdCwgc3lzdGVtQ29kZTogMTIzIH0pLnNlc3Npb25JZCIs
ICJzZXNzaW9uSWQiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJuZXcgTWVkaWFLZXlFdmVudCgn
TWVkaWFLZXlFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwga2V5U3lz
dGVtOiAna2V5U3lzdGVtJywgc2Vzc2lvbklkOiAnc2Vzc2lvbklkJywgaW5pdERhdGE6IGluaXRE
YXRhQXJyYXksIG1lc3NhZ2U6IG1lc3NhZ2VBcnJheSwgZGVmYXVsdFVybDogJ2RlZmF1bHRVcmwn
LCBlcnJvckNvZGU6IGVycm9yT2JqZWN0LCBzeXN0ZW1Db2RlOiAxMjMgfSkuaW5pdERhdGEiLCAi
aW5pdERhdGFBcnJheSIpOworICAgICAgICAgICAgc2hvdWxkQmUoIm5ldyBNZWRpYUtleUV2ZW50
KCdNZWRpYUtleUV2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlLCBrZXlT
eXN0ZW06ICdrZXlTeXN0ZW0nLCBzZXNzaW9uSWQ6ICdzZXNzaW9uSWQnLCBpbml0RGF0YTogaW5p
dERhdGFBcnJheSwgbWVzc2FnZTogbWVzc2FnZUFycmF5LCBkZWZhdWx0VXJsOiAnZGVmYXVsdFVy
bCcsIGVycm9yQ29kZTogZXJyb3JPYmplY3QsIHN5c3RlbUNvZGU6IDEyMyB9KS5tZXNzYWdlIiwg
Im1lc3NhZ2VBcnJheSIpOworICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJuZXcg
TWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJs
ZTogdHJ1ZSwga2V5U3lzdGVtOiAna2V5U3lzdGVtJywgc2Vzc2lvbklkOiAnc2Vzc2lvbklkJywg
aW5pdERhdGE6IGluaXREYXRhQXJyYXksIG1lc3NhZ2U6IG1lc3NhZ2VBcnJheSwgZGVmYXVsdFVy
bDogJ2RlZmF1bHRVcmwnLCBlcnJvckNvZGU6IGVycm9yT2JqZWN0LCBzeXN0ZW1Db2RlOiAxMjMg
fSkuZGVmYXVsdFVybCIsICJkZWZhdWx0VXJsIik7CisgICAgICAgICAgICAvLyBGSVhNRSg4Mjk4
OCk6IFRoZXNlIHR3byBmYWlsLgorICAgICAgICAgICAgc2hvdWxkQmUoIm5ldyBNZWRpYUtleUV2
ZW50KCdNZWRpYUtleUV2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlLCBr
ZXlTeXN0ZW06ICdrZXlTeXN0ZW0nLCBzZXNzaW9uSWQ6ICdzZXNzaW9uSWQnLCBpbml0RGF0YTog
aW5pdERhdGFBcnJheSwgbWVzc2FnZTogbWVzc2FnZUFycmF5LCBkZWZhdWx0VXJsOiAnZGVmYXVs
dFVybCcsIGVycm9yQ29kZTogZXJyb3JPYmplY3QsIHN5c3RlbUNvZGU6IDEyMyB9KS5lcnJvckNv
ZGUiLCAiZXJyb3JPYmplY3QiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJuZXcgTWVkaWFLZXlF
dmVudCgnTWVkaWFLZXlFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwg
a2V5U3lzdGVtOiAna2V5U3lzdGVtJywgc2Vzc2lvbklkOiAnc2Vzc2lvbklkJywgaW5pdERhdGE6
IGluaXREYXRhQXJyYXksIG1lc3NhZ2U6IG1lc3NhZ2VBcnJheSwgZGVmYXVsdFVybDogJ2RlZmF1
bHRVcmwnLCBlcnJvckNvZGU6IGVycm9yT2JqZWN0LCBzeXN0ZW1Db2RlOiAxMjMgfSkuZXJyb3JD
b2RlLmNvZGUiLCAiTWVkaWFLZXlFcnJvci5NRURJQV9LRVlFUlJfVU5LTk9XTiIpOworICAgICAg
ICAgICAgc2hvdWxkQmUoIm5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBidWJi
bGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlLCBrZXlTeXN0ZW06ICdrZXlTeXN0ZW0nLCBzZXNz
aW9uSWQ6ICdzZXNzaW9uSWQnLCBpbml0RGF0YTogaW5pdERhdGFBcnJheSwgbWVzc2FnZTogbWVz
c2FnZUFycmF5LCBkZWZhdWx0VXJsOiAnZGVmYXVsdFVybCcsIGVycm9yQ29kZTogZXJyb3JPYmpl
Y3QsIHN5c3RlbUNvZGU6IDEyMyB9KS5zeXN0ZW1Db2RlIiwgIjEyMyIpOworCisgICAgICAgICAg
ICBkZWJ1ZygiPGJyPioqKiBJbml0aWFsaXplIHdpdGggdmFsaWQgbWVtYmVycyAqKioiKTsKKyAg
ICAgICAgICAgIHNob3VsZEJlKCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsg
a2V5U3lzdGVtOiAna2V5U3lzdGVtJywgc2Vzc2lvbklkOiAnc2Vzc2lvbklkJywgaW5pdERhdGE6
IGluaXREYXRhQXJyYXksIG1lc3NhZ2U6IG1lc3NhZ2VBcnJheSwgZGVmYXVsdFVybDogJ2RlZmF1
bHRVcmwnLCBlcnJvckNvZGU6IGVycm9yT2JqZWN0LCBzeXN0ZW1Db2RlOiAxMjMgfSkuYnViYmxl
cyIsICJ0cnVlIik7CisgICAgICAgICAgICBzaG91bGRCZSgibmV3IE1lZGlhS2V5RXZlbnQoJ01l
ZGlhS2V5RXZlbnQnLCB7IGtleVN5c3RlbTogJ2tleVN5c3RlbScsIHNlc3Npb25JZDogJ3Nlc3Np
b25JZCcsIGluaXREYXRhOiBpbml0RGF0YUFycmF5LCBtZXNzYWdlOiBtZXNzYWdlQXJyYXksIGRl
ZmF1bHRVcmw6ICdkZWZhdWx0VXJsJywgZXJyb3JDb2RlOiBlcnJvck9iamVjdCwgc3lzdGVtQ29k
ZTogMTIzIH0pLmNhbmNlbGFibGUiLCAidHJ1ZSIpOworICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsga2V5U3lzdGVt
OiAna2V5U3lzdGVtJywgc2Vzc2lvbklkOiAnc2Vzc2lvbklkJywgaW5pdERhdGE6IGluaXREYXRh
QXJyYXksIG1lc3NhZ2U6IG1lc3NhZ2VBcnJheSwgZGVmYXVsdFVybDogJ2RlZmF1bHRVcmwnLCBl
cnJvckNvZGU6IGVycm9yT2JqZWN0LCBzeXN0ZW1Db2RlOiAxMjMgfSkua2V5U3lzdGVtIiwgImtl
eVN5c3RlbSIpOworICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJuZXcgTWVkaWFL
ZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsga2V5U3lzdGVtOiAna2V5U3lzdGVtJywgc2Vzc2lv
bklkOiAnc2Vzc2lvbklkJywgaW5pdERhdGE6IGluaXREYXRhQXJyYXksIG1lc3NhZ2U6IG1lc3Nh
Z2VBcnJheSwgZGVmYXVsdFVybDogJ2RlZmF1bHRVcmwnLCBlcnJvckNvZGU6IGVycm9yT2JqZWN0
LCBzeXN0ZW1Db2RlOiAxMjMgfSkuc2Vzc2lvbklkIiwgInNlc3Npb25JZCIpOworICAgICAgICAg
ICAgc2hvdWxkQmUoIm5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBrZXlTeXN0
ZW06ICdrZXlTeXN0ZW0nLCBzZXNzaW9uSWQ6ICdzZXNzaW9uSWQnLCBpbml0RGF0YTogaW5pdERh
dGFBcnJheSwgbWVzc2FnZTogbWVzc2FnZUFycmF5LCBkZWZhdWx0VXJsOiAnZGVmYXVsdFVybCcs
IGVycm9yQ29kZTogZXJyb3JPYmplY3QsIHN5c3RlbUNvZGU6IDEyMyB9KS5pbml0RGF0YSIsICJp
bml0RGF0YUFycmF5Iik7CisgICAgICAgICAgICBzaG91bGRCZSgibmV3IE1lZGlhS2V5RXZlbnQo
J01lZGlhS2V5RXZlbnQnLCB7IGtleVN5c3RlbTogJ2tleVN5c3RlbScsIHNlc3Npb25JZDogJ3Nl
c3Npb25JZCcsIGluaXREYXRhOiBpbml0RGF0YUFycmF5LCBtZXNzYWdlOiBtZXNzYWdlQXJyYXks
IGRlZmF1bHRVcmw6ICdkZWZhdWx0VXJsJywgZXJyb3JDb2RlOiBlcnJvck9iamVjdCwgc3lzdGVt
Q29kZTogMTIzIH0pLm1lc3NhZ2UiLCAibWVzc2FnZUFycmF5Iik7CisgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoIm5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBr
ZXlTeXN0ZW06ICdrZXlTeXN0ZW0nLCBzZXNzaW9uSWQ6ICdzZXNzaW9uSWQnLCBpbml0RGF0YTog
aW5pdERhdGFBcnJheSwgbWVzc2FnZTogbWVzc2FnZUFycmF5LCBkZWZhdWx0VXJsOiAnZGVmYXVs
dFVybCcsIGVycm9yQ29kZTogZXJyb3JPYmplY3QsIHN5c3RlbUNvZGU6IDEyMyB9KS5kZWZhdWx0
VXJsIiwgImRlZmF1bHRVcmwiKTsKKyAgICAgICAgICAgIC8vIEZJWE1FKDgyOTg4KTogVGhlc2Ug
dHdvIGZhaWwuCisgICAgICAgICAgICBzaG91bGRCZSgibmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlh
S2V5RXZlbnQnLCB7IGtleVN5c3RlbTogJ2tleVN5c3RlbScsIHNlc3Npb25JZDogJ3Nlc3Npb25J
ZCcsIGluaXREYXRhOiBpbml0RGF0YUFycmF5LCBtZXNzYWdlOiBtZXNzYWdlQXJyYXksIGRlZmF1
bHRVcmw6ICdkZWZhdWx0VXJsJywgZXJyb3JDb2RlOiBlcnJvck9iamVjdCwgc3lzdGVtQ29kZTog
MTIzIH0pLmVycm9yQ29kZSIsICJlcnJvck9iamVjdCIpOworICAgICAgICAgICAgc2hvdWxkQmUo
Im5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBrZXlTeXN0ZW06ICdrZXlTeXN0
ZW0nLCBzZXNzaW9uSWQ6ICdzZXNzaW9uSWQnLCBpbml0RGF0YTogaW5pdERhdGFBcnJheSwgbWVz
c2FnZTogbWVzc2FnZUFycmF5LCBkZWZhdWx0VXJsOiAnZGVmYXVsdFVybCcsIGVycm9yQ29kZTog
ZXJyb3JPYmplY3QsIHN5c3RlbUNvZGU6IDEyMyB9KS5lcnJvckNvZGUuY29kZSIsICJNZWRpYUtl
eUVycm9yLk1FRElBX0tFWUVSUl9VTktOT1dOIik7CisgICAgICAgICAgICBzaG91bGRCZSgibmV3
IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGtleVN5c3RlbTogJ2tleVN5c3RlbScs
IHNlc3Npb25JZDogJ3Nlc3Npb25JZCcsIGluaXREYXRhOiBpbml0RGF0YUFycmF5LCBtZXNzYWdl
OiBtZXNzYWdlQXJyYXksIGRlZmF1bHRVcmw6ICdkZWZhdWx0VXJsJywgZXJyb3JDb2RlOiBlcnJv
ck9iamVjdCwgc3lzdGVtQ29kZTogMTIzIH0pLnN5c3RlbUNvZGUiLCAiMTIzIik7CisKKyAgICAg
ICAgICAgIGRlYnVnKCIiKTsKKyAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICB9
CisKKyAgICAgICAgdmFyIGluaXREYXRhQXJyYXkgPSBuZXcgVWludDhBcnJheShbMHg0MSwgMHg0
MiwgMHg0M10pOworICAgICAgICB2YXIgbWVzc2FnZUFycmF5ID0gbmV3IFVpbnQ4QXJyYXkoWzB4
NTEsIDB4NTIsIDB4NTNdKTsKKyAgICAgICAgLy8gRklYTUUoODI5ODgpOiBUaGlzIGRvZXMgbm90
IGNyZWF0ZSBhbiBlcnJvciBsaWtlIHdlIHdhbnQuCisgICAgICAgIHZhciBlcnJvck9iamVjdCA9
IHdpbmRvdy5NZWRpYUtleUVycm9yOworICAgICAgICAvLyBzaG91bGRCZSgidHlwZW9mIGVycm9y
T2JqZWN0IiwgVEJEKTsKKworICAgICAgICB2aWRlbyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
J3ZpZGVvJyk7CisgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodmlkZW8pOworCisg
ICAgICAgIHRlc3QoKQorICAgIDwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKworPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMg
Yi9MYXlvdXRUZXN0cy9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcwppbmRleCAwMzZl
NzZhMjcxZDNjMjQzMmM4YWI0NWI1ZjJmN2M5NjZjNmFjMDczLi4wYWE0MTdkZjA2ZDY2Nzg0NDIx
ZGZmOTAxNzM5NGVmMmNkNjk3MDdiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2pzL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcworKysgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcwpAQCAtMjU0LDYgKzI1NCw3IEBAIGZ1bmN0aW9uIHNob3VsZEJlVHJ1
ZVF1aWV0KF9hKSB7IHNob3VsZEJlKF9hLCAidHJ1ZSIsIHRydWUpOyB9CiBmdW5jdGlvbiBzaG91
bGRCZUZhbHNlKF9hKSB7IHNob3VsZEJlKF9hLCAiZmFsc2UiKTsgfQogZnVuY3Rpb24gc2hvdWxk
QmVOYU4oX2EpIHsgc2hvdWxkQmUoX2EsICJOYU4iKTsgfQogZnVuY3Rpb24gc2hvdWxkQmVOdWxs
KF9hKSB7IHNob3VsZEJlKF9hLCAibnVsbCIpOyB9CitmdW5jdGlvbiBzaG91bGRCZVplcm8oX2Ep
IHsgc2hvdWxkQmUoX2EsICIwIik7IH0KIAogZnVuY3Rpb24gc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KGEsIGIpCiB7CkBAIC0yNjEsNiArMjYyLDggQEAgZnVuY3Rpb24gc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKGEsIGIpCiAgIHNob3VsZEJlKGEsIHVuZXZhbGVkU3RyaW5nKTsKIH0KIAorZnVuY3Rpb24g
c2hvdWxkQmVFbXB0eVN0cmluZyhfYSkgeyBzaG91bGRCZUVxdWFsVG9TdHJpbmcoX2EsICIiKTsg
fQorCiBmdW5jdGlvbiBzaG91bGRFdmFsdWF0ZVRvKGFjdHVhbCwgZXhwZWN0ZWQpIHsKICAgLy8g
QSBnZW5lcmFsLXB1cnBvc2UgY29tcGFyYXRvci4gICdhY3R1YWwnIHNob3VsZCBiZSBhIHN0cmlu
ZyB0byBiZQogICAvLyBldmFsdWF0ZWQsIGFzIGZvciBzaG91bGRCZSgpLiAnZXhwZWN0ZWQnIG1h
eSBiZSBhbnkgdHlwZSBhbmQgd2lsbCBiZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEv
ZW5jcnlwdGVkLW1lZGlhL2VuY3J5cHRlZC1tZWRpYS1jb25zdGFudHMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvbWVkaWEvZW5jcnlwdGVkLW1lZGlhL2VuY3J5cHRlZC1tZWRpYS1jb25zdGFu
dHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzOTQwYWQzYzFiZDVlOGQ1YWJhMmNkN2YyNWEw
NzYzZmQ1ZDVlMTUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS9lbmNyeXB0
ZWQtbWVkaWEvZW5jcnlwdGVkLW1lZGlhLWNvbnN0YW50cy1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMiBAQAorVGVzdCBNZWRpYUtleUVycm9yIGNvbnN0YW50cyBhbmQgYWRkaXRpb25hbCBNZWRp
YUVycm9yIGNvbnN0YW50LgorCitFWFBFQ1RFRCAoTWVkaWFLZXlFcnJvci5NRURJQV9LRVlFUlJf
VU5LTk9XTiA9PSAnMScpIE9LCitFWFBFQ1RFRCAoTWVkaWFLZXlFcnJvci5NRURJQV9LRVlFUlJf
Q0xJRU5UID09ICcyJykgT0sKK0VYUEVDVEVEIChNZWRpYUtleUVycm9yLk1FRElBX0tFWUVSUl9T
RVJWSUNFID09ICczJykgT0sKK0VYUEVDVEVEIChNZWRpYUtleUVycm9yLk1FRElBX0tFWUVSUl9P
VVRQVVQgPT0gJzQnKSBPSworRVhQRUNURUQgKE1lZGlhS2V5RXJyb3IuTUVESUFfS0VZRVJSX0hB
UkRXQVJFQ0hBTkdFID09ICc1JykgT0sKK0VYUEVDVEVEIChNZWRpYUtleUVycm9yLk1FRElBX0tF
WUVSUl9ET01BSU4gPT0gJzYnKSBPSworCitFWFBFQ1RFRCAoTWVkaWFFcnJvci5NRURJQV9FUlJf
RU5DUllQVEVEID09ICc1JykgT0sKK0VORCBPRiBURVNUCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL21lZGlhL2VuY3J5cHRlZC1tZWRpYS9lbmNyeXB0ZWQtbWVkaWEtY29uc3RhbnRzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9tZWRpYS9lbmNyeXB0ZWQtbWVkaWEvZW5jcnlwdGVkLW1lZGlhLWNvbnN0
YW50cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhjYjY5N2E5NTZiYTljZWU2NzdlNWYyOTExOGMxMWI3NGUz
YTY2NDcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS9lbmNyeXB0ZWQtbWVk
aWEvZW5jcnlwdGVkLW1lZGlhLWNvbnN0YW50cy5odG1sCkBAIC0wLDAgKzEsMjUgQEAKKzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8c2NyaXB0IHNyYz0uLi92aWRlby10ZXN0
LmpzPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KKyAgICAg
ICAgZnVuY3Rpb24gZG9UZXN0ICgpIAorICAgICAgICB7CisgICAgICAgICAgICB0ZXN0RXhwZWN0
ZWQoIk1lZGlhS2V5RXJyb3IuTUVESUFfS0VZRVJSX1VOS05PV04iLCAxKTsKKyAgICAgICAgICAg
IHRlc3RFeHBlY3RlZCgiTWVkaWFLZXlFcnJvci5NRURJQV9LRVlFUlJfQ0xJRU5UIiwgMik7Cisg
ICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoIk1lZGlhS2V5RXJyb3IuTUVESUFfS0VZRVJSX1NFUlZJ
Q0UiLCAzKTsKKyAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgiTWVkaWFLZXlFcnJvci5NRURJQV9L
RVlFUlJfT1VUUFVUIiwgNCk7CisgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoIk1lZGlhS2V5RXJy
b3IuTUVESUFfS0VZRVJSX0hBUkRXQVJFQ0hBTkdFIiwgNSk7CisgICAgICAgICAgICB0ZXN0RXhw
ZWN0ZWQoIk1lZGlhS2V5RXJyb3IuTUVESUFfS0VZRVJSX0RPTUFJTiIsIDYpOworICAgICAgICAg
ICAgY29uc29sZVdyaXRlKCIiKTsKKworICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJNZWRpYUVy
cm9yLk1FRElBX0VSUl9FTkNSWVBURUQiLCA1KTsKKworICAgICAgICAgICAgZW5kVGVzdCgpOwor
ICAgICAgICB9CisgICAgPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9ImRvVGVzdCgp
Ij4KKyAgICA8cD5UZXN0IE1lZGlhS2V5RXJyb3IgY29uc3RhbnRzIGFuZCBhZGRpdGlvbmFsIE1l
ZGlhRXJyb3IgY29uc3RhbnQuPC9wPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvbWVkaWEvZW5jcnlwdGVkLW1lZGlhL2VuY3J5cHRlZC1tZWRpYS1ldmVudHMtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvbWVkaWEvZW5jcnlwdGVkLW1lZGlhL2VuY3J5cHRlZC1t
ZWRpYS1ldmVudHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZkODdmZDY3NWY3MzI5ZjAyZWMx
YmY5YTY5ZGIzMjhlMDlhNjg2NDcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9tZWRp
YS9lbmNyeXB0ZWQtbWVkaWEvZW5jcnlwdGVkLW1lZGlhLWV2ZW50cy1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMjggQEAKK1Rlc3QgYWxsIHRoZSBrZXktcmVsYXRlZCBldmVudHMuCisKKyoqKiBW
ZXJpZnkgdGhlIHByZXNlbmNlIG9mIG9uKiBhdHRyaWJ1dGVzLiBUaGVzZSB3b3VsZCByZXR1cm4g
dW5kZWZpbmVkIGlmIHRoZXkgYXJlIG5vdCBwcmVzZW50LiAqKioKK0VYUEVDVEVEICh2aWRlby5v
bndlYmtpdGtleWFkZGVkID09PSAnbnVsbCcpIE9LCitFWFBFQ1RFRCAodmlkZW8ub253ZWJraXRr
ZXllcnJvciA9PT0gJ251bGwnKSBPSworRVhQRUNURUQgKHZpZGVvLm9ud2Via2l0a2V5bWVzc2Fn
ZSA9PT0gJ251bGwnKSBPSworRVhQRUNURUQgKHZpZGVvLm9ud2Via2l0bmVlZGtleSA9PT0gJ251
bGwnKSBPSworCisqKiogVGVzdCBldmVudHMgdXNpbmcgb24qIGF0dHJpYnV0ZXMuICoqKgorRVZF
TlQobG9hZHN0YXJ0KQorCitSVU4odmlkZW8ud2Via2l0R2VuZXJhdGVLZXlSZXF1ZXN0KCd3ZWJr
aXQtb3JnLnczLmNsZWFya2V5JywgaW5pdERhdGEpKQora2V5bWVzc2FnZSBldmVudCBvY2N1cnJl
ZAorRVhQRUNURUQgKGV2ZW50LnRhcmdldCA9PSAnW29iamVjdCBIVE1MVmlkZW9FbGVtZW50XScp
IE9LCitFWFBFQ1RFRCAoZXZlbnQgaW5zdGFuY2VvZiB3aW5kb3cuTWVkaWFLZXlFdmVudCA9PSAn
dHJ1ZScpIE9LCitFWFBFQ1RFRCAoZXZlbnQua2V5U3lzdGVtID09ICd3ZWJraXQtb3JnLnczLmNs
ZWFya2V5JykgT0sKK1RoZSBzZXNzaW9uSWQgc2hvdWxkIGJlIGEgbm9uLWVtcHR5IHN0cmluZyBj
b250YWluaW5nIGFuIGludGVnZXIuCitFWFBFQ1RFRCAoZXZlbnQuc2Vzc2lvbklkICE9ICcnKSBP
SworRVhQRUNURUQgKGV2ZW50LnNlc3Npb25JZCAhPSAnbnVsbCcpIE9LCitFWFBFQ1RFRCAoZXZl
bnQuc2Vzc2lvbklkICE9ICd1bmRlZmluZWQnKSBPSworRVhQRUNURUQgKGlzTmFOKGV2ZW50LnNl
c3Npb25JZCkgPT0gJ2ZhbHNlJykgT0sKK0VYUEVDVEVEIChTdHJpbmcoZXZlbnQuc2Vzc2lvbklk
KSA9PSBTdHJpbmcocGFyc2VJbnQoZXZlbnQuc2Vzc2lvbklkKSkgPT0gJ3RydWUnKSBPSworSW1w
bGVtZW50YXRpb25zIHNob3VsZCBhdm9pZCBzZXNzaW9uSWRzIG9mIDAuCitFWFBFQ1RFRCAoZXZl
bnQuc2Vzc2lvbklkID4gJzAnKSBPSworRVhQRUNURUQgKGV2ZW50LmluaXREYXRhID09PSAnbnVs
bCcpIE9LCitFWFBFQ1RFRCAoZXZlbnQubWVzc2FnZS5sZW5ndGggPT0gJzMnKSBPSworRVhQRUNU
RUQgKGV2ZW50Lm1lc3NhZ2VbMF0gPT0gJzY1JykgT0sKK0VYUEVDVEVEIChldmVudC5tZXNzYWdl
WzFdID09ICc2NicpIE9LCitFWFBFQ1RFRCAoZXZlbnQubWVzc2FnZVsyXSA9PSAnNjcnKSBPSwor
RVhQRUNURUQgKGV2ZW50LmRlZmF1bHRVcmwgPT0gJycpIE9LCitFWFBFQ1RFRCAoZXZlbnQuZXJy
b3JDb2RlID09PSAnbnVsbCcpIE9LCitFWFBFQ1RFRCAoZXZlbnQuc3lzdGVtQ29kZSA9PSAnMCcp
IE9LCisKK1JVTih2aWRlby53ZWJraXRBZGRLZXkoJ3dlYmtpdC1vcmcudzMuY2xlYXJrZXknLCBr
ZXksIGV2ZW50LmluaXREYXRhLCBldmVudC5zZXNzaW9uSWQpKQora2V5YWRkZWQgZXZlbnQgb2Nj
dXJyZWQKK0VYUEVDVEVEIChldmVudC50YXJnZXQgPT0gJ1tvYmplY3QgSFRNTFZpZGVvRWxlbWVu
dF0nKSBPSworRVhQRUNURUQgKGV2ZW50IGluc3RhbmNlb2Ygd2luZG93Lk1lZGlhS2V5RXZlbnQg
PT0gJ3RydWUnKSBPSworRVhQRUNURUQgKGV2ZW50LmtleVN5c3RlbSA9PSAnd2Via2l0LW9yZy53
My5jbGVhcmtleScpIE9LCitFWFBFQ1RFRCAoZXZlbnQuc2Vzc2lvbklkID09IGtleU1lc3NhZ2VT
ZXNzaW9uSWQgPT0gJ3RydWUnKSBPSworRVhQRUNURUQgKGV2ZW50LmluaXREYXRhID09PSAnbnVs
bCcpIE9LCitFWFBFQ1RFRCAoZXZlbnQubWVzc2FnZSA9PT0gJ251bGwnKSBPSworRVhQRUNURUQg
KGV2ZW50LmRlZmF1bHRVcmwgPT0gJycpIE9LCitFWFBFQ1RFRCAoZXZlbnQuZXJyb3JDb2RlID09
PSAnbnVsbCcpIE9LCitFWFBFQ1RFRCAoZXZlbnQuc3lzdGVtQ29kZSA9PSAnMCcpIE9LCisKK1JV
Tih2aWRlby53ZWJraXRBZGRLZXkoJ3dlYmtpdC1vcmcudzMuY2xlYXJrZXknLCBpbnZhbGlkS2V5
LCBudWxsLCBldmVudC5zZXNzaW9uSWQpKQora2V5ZXJyb3IgZXZlbnQgb2NjdXJyZWQKK0VYUEVD
VEVEIChldmVudC50YXJnZXQgPT0gJ1tvYmplY3QgSFRNTFZpZGVvRWxlbWVudF0nKSBPSworRVhQ
RUNURUQgKGV2ZW50IGluc3RhbmNlb2Ygd2luZG93Lk1lZGlhS2V5RXZlbnQgPT0gJ3RydWUnKSBP
SworRVhQRUNURUQgKGV2ZW50LmtleVN5c3RlbSA9PSAnd2Via2l0LW9yZy53My5jbGVhcmtleScp
IE9LCitFWFBFQ1RFRCAoZXZlbnQuc2Vzc2lvbklkID09IGtleU1lc3NhZ2VTZXNzaW9uSWQgPT0g
J3RydWUnKSBPSworRVhQRUNURUQgKGV2ZW50LmluaXREYXRhID09PSAnbnVsbCcpIE9LCitFWFBF
Q1RFRCAoZXZlbnQubWVzc2FnZSA9PT0gJ251bGwnKSBPSworRVhQRUNURUQgKGV2ZW50LmRlZmF1
bHRVcmwgPT0gJycpIE9LCitFWFBFQ1RFRCAoZXZlbnQuZXJyb3JDb2RlLmNvZGUgPT0gJzEnKSBP
SworRVhQRUNURUQgKGV2ZW50LnN5c3RlbUNvZGUgPT0gJzAnKSBPSworCisqKiogVGVzdCBldmVu
dHMgdXNpbmcgYWRkRXZlbnRMaXN0ZW5lcigpLiAqKioKK0VWRU5UKGxvYWRzdGFydCkKKworUlVO
KHZpZGVvLndlYmtpdEdlbmVyYXRlS2V5UmVxdWVzdCgnd2Via2l0LW9yZy53My5jbGVhcmtleScs
IGluaXREYXRhKSkKK0VWRU5UKHdlYmtpdGtleW1lc3NhZ2UpCitrZXltZXNzYWdlIGV2ZW50IG9j
Y3VycmVkCitFWFBFQ1RFRCAoZXZlbnQudGFyZ2V0ID09ICdbb2JqZWN0IEhUTUxWaWRlb0VsZW1l
bnRdJykgT0sKK0VYUEVDVEVEIChldmVudCBpbnN0YW5jZW9mIHdpbmRvdy5NZWRpYUtleUV2ZW50
ID09ICd0cnVlJykgT0sKK0VYUEVDVEVEIChldmVudC5rZXlTeXN0ZW0gPT0gJ3dlYmtpdC1vcmcu
dzMuY2xlYXJrZXknKSBPSworVGhlIHNlc3Npb25JZCBzaG91bGQgYmUgYSBub24tZW1wdHkgc3Ry
aW5nIGNvbnRhaW5pbmcgYW4gaW50ZWdlci4KK0VYUEVDVEVEIChldmVudC5zZXNzaW9uSWQgIT0g
JycpIE9LCitFWFBFQ1RFRCAoZXZlbnQuc2Vzc2lvbklkICE9ICdudWxsJykgT0sKK0VYUEVDVEVE
IChldmVudC5zZXNzaW9uSWQgIT0gJ3VuZGVmaW5lZCcpIE9LCitFWFBFQ1RFRCAoaXNOYU4oZXZl
bnQuc2Vzc2lvbklkKSA9PSAnZmFsc2UnKSBPSworRVhQRUNURUQgKFN0cmluZyhldmVudC5zZXNz
aW9uSWQpID09IFN0cmluZyhwYXJzZUludChldmVudC5zZXNzaW9uSWQpKSA9PSAndHJ1ZScpIE9L
CitJbXBsZW1lbnRhdGlvbnMgc2hvdWxkIGF2b2lkIHNlc3Npb25JZHMgb2YgMC4KK0VYUEVDVEVE
IChldmVudC5zZXNzaW9uSWQgPiAnMCcpIE9LCitUaGUgc2Vzc2lvbnNJZCBzaG91bGQgYmUgZGlm
ZmVyZW50IGZyb20gdGhlIGZpcnN0IHJ1bi4KK0VYUEVDVEVEIChldmVudC5zZXNzaW9uSWQgIT0g
JzEnKSBPSworRVhQRUNURUQgKGV2ZW50LmluaXREYXRhID09PSAnbnVsbCcpIE9LCitFWFBFQ1RF
RCAoZXZlbnQubWVzc2FnZS5sZW5ndGggPT0gJzMnKSBPSworRVhQRUNURUQgKGV2ZW50Lm1lc3Nh
Z2VbMF0gPT0gJzY1JykgT0sKK0VYUEVDVEVEIChldmVudC5tZXNzYWdlWzFdID09ICc2NicpIE9L
CitFWFBFQ1RFRCAoZXZlbnQubWVzc2FnZVsyXSA9PSAnNjcnKSBPSworRVhQRUNURUQgKGV2ZW50
LmRlZmF1bHRVcmwgPT0gJycpIE9LCitFWFBFQ1RFRCAoZXZlbnQuZXJyb3JDb2RlID09PSAnbnVs
bCcpIE9LCitFWFBFQ1RFRCAoZXZlbnQuc3lzdGVtQ29kZSA9PSAnMCcpIE9LCisKK1JVTih2aWRl
by53ZWJraXRBZGRLZXkoJ3dlYmtpdC1vcmcudzMuY2xlYXJrZXknLCBrZXksIGV2ZW50LmluaXRE
YXRhLCBldmVudC5zZXNzaW9uSWQpKQorRVZFTlQod2Via2l0a2V5YWRkZWQpCitrZXlhZGRlZCBl
dmVudCBvY2N1cnJlZAorRVhQRUNURUQgKGV2ZW50LnRhcmdldCA9PSAnW29iamVjdCBIVE1MVmlk
ZW9FbGVtZW50XScpIE9LCitFWFBFQ1RFRCAoZXZlbnQgaW5zdGFuY2VvZiB3aW5kb3cuTWVkaWFL
ZXlFdmVudCA9PSAndHJ1ZScpIE9LCitFWFBFQ1RFRCAoZXZlbnQua2V5U3lzdGVtID09ICd3ZWJr
aXQtb3JnLnczLmNsZWFya2V5JykgT0sKK0VYUEVDVEVEIChldmVudC5zZXNzaW9uSWQgPT0ga2V5
TWVzc2FnZVNlc3Npb25JZCA9PSAndHJ1ZScpIE9LCitFWFBFQ1RFRCAoZXZlbnQuaW5pdERhdGEg
PT09ICdudWxsJykgT0sKK0VYUEVDVEVEIChldmVudC5tZXNzYWdlID09PSAnbnVsbCcpIE9LCitF
WFBFQ1RFRCAoZXZlbnQuZGVmYXVsdFVybCA9PSAnJykgT0sKK0VYUEVDVEVEIChldmVudC5lcnJv
ckNvZGUgPT09ICdudWxsJykgT0sKK0VYUEVDVEVEIChldmVudC5zeXN0ZW1Db2RlID09ICcwJykg
T0sKKworUlVOKHZpZGVvLndlYmtpdEFkZEtleSgnd2Via2l0LW9yZy53My5jbGVhcmtleScsIGlu
dmFsaWRLZXksIG51bGwsIGV2ZW50LnNlc3Npb25JZCkpCitFVkVOVCh3ZWJraXRrZXllcnJvcikK
K2tleWVycm9yIGV2ZW50IG9jY3VycmVkCitFWFBFQ1RFRCAoZXZlbnQudGFyZ2V0ID09ICdbb2Jq
ZWN0IEhUTUxWaWRlb0VsZW1lbnRdJykgT0sKK0VYUEVDVEVEIChldmVudCBpbnN0YW5jZW9mIHdp
bmRvdy5NZWRpYUtleUV2ZW50ID09ICd0cnVlJykgT0sKK0VYUEVDVEVEIChldmVudC5rZXlTeXN0
ZW0gPT0gJ3dlYmtpdC1vcmcudzMuY2xlYXJrZXknKSBPSworRVhQRUNURUQgKGV2ZW50LnNlc3Np
b25JZCA9PSBrZXlNZXNzYWdlU2Vzc2lvbklkID09ICd0cnVlJykgT0sKK0VYUEVDVEVEIChldmVu
dC5pbml0RGF0YSA9PT0gJ251bGwnKSBPSworRVhQRUNURUQgKGV2ZW50Lm1lc3NhZ2UgPT09ICdu
dWxsJykgT0sKK0VYUEVDVEVEIChldmVudC5kZWZhdWx0VXJsID09ICcnKSBPSworRVhQRUNURUQg
KGV2ZW50LmVycm9yQ29kZS5jb2RlID09ICcxJykgT0sKK0VYUEVDVEVEIChldmVudC5zeXN0ZW1D
b2RlID09ICcwJykgT0sKKworQXR0cmlidXRlcyBhcmUgcmVhZC1vbmx5LgorUlVOKGV2ZW50Lmtl
eVN5c3RlbSA9ICdibGFoJykKK1JVTihldmVudC5zZXNzaW9uSWQgPSAnYmxhaCcpCitSVU4oZXZl
bnQuaW5pdERhdGEgPSBuZXcgVWludDhBcnJheShbMHgxMl0pKQorUlVOKGV2ZW50Lm1lc3NhZ2Ug
PSBuZXcgVWludDhBcnJheShbMHgxMl0pKQorUlVOKGV2ZW50LmRlZmF1bHRVcmwgPSAnZXhhbXBs
ZS5jb20nKQorUlVOKGV2ZW50LmVycm9yQ29kZS5jb2RlID0gTWVkaWFLZXlFcnJvci5NRURJQV9L
RVlFUlJfQ0xJRU5UKQorUlVOKGV2ZW50LnN5c3RlbUNvZGUgPSAxMjMpCitFWFBFQ1RFRCAoZXZl
bnQua2V5U3lzdGVtID09ICd3ZWJraXQtb3JnLnczLmNsZWFya2V5JykgT0sKK0VYUEVDVEVEIChl
dmVudC5zZXNzaW9uSWQgPT0ga2V5TWVzc2FnZVNlc3Npb25JZCA9PSAndHJ1ZScpIE9LCitFWFBF
Q1RFRCAoZXZlbnQuaW5pdERhdGEgPT09ICdudWxsJykgT0sKK0VYUEVDVEVEIChldmVudC5tZXNz
YWdlID09PSAnbnVsbCcpIE9LCitFWFBFQ1RFRCAoZXZlbnQuZGVmYXVsdFVybCA9PSAnJykgT0sK
K0VYUEVDVEVEIChldmVudC5lcnJvckNvZGUuY29kZSA9PSAnMScpIE9LCitFWFBFQ1RFRCAoZXZl
bnQuc3lzdGVtQ29kZSA9PSAnMCcpIE9LCitFTkQgT0YgVEVTVAorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9tZWRpYS9lbmNyeXB0ZWQtbWVkaWEvZW5jcnlwdGVkLW1lZGlhLWV2ZW50cy5odG1s
IGIvTGF5b3V0VGVzdHMvbWVkaWEvZW5jcnlwdGVkLW1lZGlhL2VuY3J5cHRlZC1tZWRpYS1ldmVu
dHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xNTZiOTA5YmE4MzRkMGZmZmQyNmM4YmUyYjY1MTcyODA3MjRi
MGVmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvZW5jcnlwdGVkLW1lZGlh
L2VuY3J5cHRlZC1tZWRpYS1ldmVudHMuaHRtbApAQCAtMCwwICsxLDE5NyBAQAorPCFkb2N0eXBl
IGh0bWw+Cis8aHRtbCBsYW5nPSJlbiI+CisgICAgPGhlYWQ+CisgICAgPC9oZWFkPgorICAgIDxi
b2R5PgorICAgICAgICA8dmlkZW8+PC92aWRlbz4KKyAgICAgICAgPHA+VGVzdCBhbGwgdGhlIGtl
eS1yZWxhdGVkIGV2ZW50cy48L3A+CisKKyAgICAgICAgPHNjcmlwdCBzcmM9Li4vbWVkaWEtZmls
ZS5qcz48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Li4vdmlkZW8tdGVzdC5qcz48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIC8vIFRoZSB0ZXN0IHJ1bnMgdHdp
Y2UsIG9uY2UgdXNpbmcgb24qIGFuZCB0aGVuIHVzaW5nIGFkZEV2ZW50TGlzdGVuZXIoKS4KKyAg
ICAgICAgICAgIHZhciBpc0ZpcnN0UnVuID0gdHJ1ZTsKKworICAgICAgICAgICAgdmFyIGluaXRE
YXRhID0gbmV3IFVpbnQ4QXJyYXkoWzB4NDEsIDB4NDIsIDB4NDNdKTsKKyAgICAgICAgICAgIC8v
IDEyOCBiaXQga2V5LgorICAgICAgICAgICAgdmFyIGtleSA9IG5ldyBVaW50OEFycmF5KFsweDYx
LCAweDYyLCAweDYzLCAweDY0LCAweDY1LCAweDY2LCAweDY3LCAweDY4LAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAweDY5LCAweDZhLCAweDZiLCAweDZjLCAweDZkLCAw
eDZlLCAweDZmLCAweDcwXSk7CisgICAgICAgICAgICAvLyBUaGlzIGtleSB3aWxsIGNhdXNlIGFu
IGFzeW5jaHJvbm91cyBlcnJvciBiZWNhdXNlIGl0IGlzIHRvbyBzaG9ydC4KKyAgICAgICAgICAg
IHZhciBpbnZhbGlkS2V5ID0gbmV3IFVpbnQ4QXJyYXkoWzB4NjFdKTsKKworICAgICAgICAgICAg
Ly8gQWZ0ZXIgdGhlIGZpcnN0IGtleU1lc3NhZ2UgZXZlbnQsIHRoZSBzZXNzaW9uSWQgc2hvdWxk
IGFsd2F5cyBiZSB0aGUgc2FtZS4KKyAgICAgICAgICAgIC8vIEluaXRpYWxpemUgaXQgdG8gYW4g
aW52YWxpZCB2YWx1ZSB1bnRpbCB0aGVuLgorICAgICAgICAgICAgdmFyIGtleU1lc3NhZ2VTZXNz
aW9uSWQgPSAtMTsKKyAgICAgICAgICAgIC8vIFJlbWVtYmVyIHRoZSBmaXJzdCBJRCB0byBtYWtl
IHN1cmUgdGhlIHNlY29uZCBvbmUgaXMgZGlmZmVyZW50LgorICAgICAgICAgICAgdmFyIGZpcnN0
UnVuS2V5TWVzc2FnZVNlc3Npb25JZCA9IC0xOworCisgICAgICAgICAgICBmdW5jdGlvbiBrZXlB
ZGRlZChldmVudCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUo
ImtleWFkZGVkIGV2ZW50IG9jY3VycmVkIik7CisKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0
ZWQoImV2ZW50LnRhcmdldCIsIHZpZGVvKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQo
ImV2ZW50IGluc3RhbmNlb2Ygd2luZG93Lk1lZGlhS2V5RXZlbnQiLCB0cnVlKTsKKworICAgICAg
ICAgICAgICAgIHRlc3RFeHBlY3RlZCgiZXZlbnQua2V5U3lzdGVtIiwgIndlYmtpdC1vcmcudzMu
Y2xlYXJrZXkiKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoImV2ZW50LnNlc3Npb25J
ZCA9PSBrZXlNZXNzYWdlU2Vzc2lvbklkIiwgdHJ1ZSk7CisgICAgICAgICAgICAgICAgLy8gVGhl
IG90aGVyIGF0dHJpYnV0ZXMgYXJlIG5vdCB1c2VkIGZvciB0aGlzIGV2ZW50LgorICAgICAgICAg
ICAgICAgIHRlc3RFeHBlY3RlZCgiZXZlbnQuaW5pdERhdGEiLCBudWxsLCAiPT09Iik7CisgICAg
ICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJldmVudC5tZXNzYWdlIiwgbnVsbCwgIj09PSIpOwor
ICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgiZXZlbnQuZGVmYXVsdFVybCIsICIiKTsKKyAg
ICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoImV2ZW50LmVycm9yQ29kZSIsIG51bGwsICI9PT0i
KTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoImV2ZW50LnN5c3RlbUNvZGUiLCAwKTsK
KworICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiIik7CisgICAgICAgICAgICAgICAgLy8g
Q2F1c2UgYSBrZXllcnJvciBieSBwYXNzaW5nIGFuIGludmFsaWQga2V5LgorICAgICAgICAgICAg
ICAgIHJ1bigidmlkZW8ud2Via2l0QWRkS2V5KCd3ZWJraXQtb3JnLnczLmNsZWFya2V5JywgaW52
YWxpZEtleSwgbnVsbCwgZXZlbnQuc2Vzc2lvbklkKSIpOworICAgICAgICAgICAgfQorCisgICAg
ICAgICAgICBmdW5jdGlvbiBrZXlFcnJvcihldmVudCkKKyAgICAgICAgICAgIHsKKyAgICAgICAg
ICAgICAgICBjb25zb2xlV3JpdGUoImtleWVycm9yIGV2ZW50IG9jY3VycmVkIik7CisKKyAgICAg
ICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoImV2ZW50LnRhcmdldCIsIHZpZGVvKTsKKyAgICAgICAg
ICAgICAgICB0ZXN0RXhwZWN0ZWQoImV2ZW50IGluc3RhbmNlb2Ygd2luZG93Lk1lZGlhS2V5RXZl
bnQiLCB0cnVlKTsKKworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgiZXZlbnQua2V5U3lz
dGVtIiwgIndlYmtpdC1vcmcudzMuY2xlYXJrZXkiKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhw
ZWN0ZWQoImV2ZW50LnNlc3Npb25JZCA9PSBrZXlNZXNzYWdlU2Vzc2lvbklkIiwgdHJ1ZSk7Cisg
ICAgICAgICAgICAgICAgLy8gVGhlIG5leHQgdGhyZWUgYXR0cmlidXRlcyBhcmUgbm90IHVzZWQg
Zm9yIHRoaXMgZXZlbnQuCisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJldmVudC5pbml0
RGF0YSIsIG51bGwsICI9PT0iKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoImV2ZW50
Lm1lc3NhZ2UiLCBudWxsLCAiPT09Iik7CisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJl
dmVudC5kZWZhdWx0VXJsIiwgIiIpOworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgiZXZl
bnQuZXJyb3JDb2RlLmNvZGUiLCBNZWRpYUtleUVycm9yLk1FRElBX0tFWUVSUl9VTktOT1dOKTsK
KyAgICAgICAgICAgICAgICAvLyBzeXN0ZW1Db2RlIGlzIG5vdCBzdXBwb3J0ZWQgYnkgdGhlIENs
ZWFyIEtleSBrZXkgc3lzdGVtLgorICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgiZXZlbnQu
c3lzdGVtQ29kZSIsIDApOworCisgICAgICAgICAgICAgICAgaWYgKGlzRmlyc3RSdW4pIHsKKyAg
ICAgICAgICAgICAgICAgICAgaXNGaXJzdFJ1biA9IGZhbHNlOworICAgICAgICAgICAgICAgICAg
ICBydW5UZXN0KCk7CisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAg
ICAgY29uc29sZVdyaXRlKCIiKTsKKyAgICAgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJB
dHRyaWJ1dGVzIGFyZSByZWFkLW9ubHkuIik7CisgICAgICAgICAgICAgICAgICAgIHJ1bigiZXZl
bnQua2V5U3lzdGVtID0gJ2JsYWgnIik7CisgICAgICAgICAgICAgICAgICAgIHJ1bigiZXZlbnQu
c2Vzc2lvbklkID0gJ2JsYWgnIik7CisgICAgICAgICAgICAgICAgICAgIHJ1bigiZXZlbnQuaW5p
dERhdGEgPSBuZXcgVWludDhBcnJheShbMHgxMl0pIik7CisgICAgICAgICAgICAgICAgICAgIHJ1
bigiZXZlbnQubWVzc2FnZSAgPSBuZXcgVWludDhBcnJheShbMHgxMl0pIik7CisgICAgICAgICAg
ICAgICAgICAgIHJ1bigiZXZlbnQuZGVmYXVsdFVybCA9ICdleGFtcGxlLmNvbSciKTsKKyAgICAg
ICAgICAgICAgICAgICAgcnVuKCJldmVudC5lcnJvckNvZGUuY29kZSA9IE1lZGlhS2V5RXJyb3Iu
TUVESUFfS0VZRVJSX0NMSUVOVCIpOworICAgICAgICAgICAgICAgICAgICBydW4oImV2ZW50LnN5
c3RlbUNvZGUgPSAxMjMiKTsKKworICAgICAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoImV2
ZW50LmtleVN5c3RlbSIsICJ3ZWJraXQtb3JnLnczLmNsZWFya2V5Iik7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RFeHBlY3RlZCgiZXZlbnQuc2Vzc2lvbklkID09IGtleU1lc3NhZ2VTZXNzaW9u
SWQiLCB0cnVlKTsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJldmVudC5pbml0
RGF0YSIsIG51bGwsICI9PT0iKTsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJl
dmVudC5tZXNzYWdlIiwgbnVsbCwgIj09PSIpOworICAgICAgICAgICAgICAgICAgICB0ZXN0RXhw
ZWN0ZWQoImV2ZW50LmRlZmF1bHRVcmwiLCAiIik7CisgICAgICAgICAgICAgICAgICAgIHRlc3RF
eHBlY3RlZCgiZXZlbnQuZXJyb3JDb2RlLmNvZGUiLCBNZWRpYUtleUVycm9yLk1FRElBX0tFWUVS
Ul9VTktOT1dOKTsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJldmVudC5zeXN0
ZW1Db2RlIiwgMCk7CisKKyAgICAgICAgICAgICAgICAgICAgZW5kVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24ga2V5TWVzc2Fn
ZShldmVudCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoImtl
eW1lc3NhZ2UgZXZlbnQgb2NjdXJyZWQiKTsKKworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3Rl
ZCgiZXZlbnQudGFyZ2V0IiwgdmlkZW8pOworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgi
ZXZlbnQgaW5zdGFuY2VvZiB3aW5kb3cuTWVkaWFLZXlFdmVudCIsIHRydWUpOworCisgICAgICAg
ICAgICAgICAgdGVzdEV4cGVjdGVkKCJldmVudC5rZXlTeXN0ZW0iLCAid2Via2l0LW9yZy53My5j
bGVhcmtleSIpOworCisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJUaGUgc2Vzc2lvbklk
IHNob3VsZCBiZSBhIG5vbi1lbXB0eSBzdHJpbmcgY29udGFpbmluZyBhbiBpbnRlZ2VyLiIpOwor
ICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgiZXZlbnQuc2Vzc2lvbklkIiwgIiIsICIhPSIp
OworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgiZXZlbnQuc2Vzc2lvbklkIiwgbnVsbCwg
IiE9Iik7CisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJldmVudC5zZXNzaW9uSWQiLCB1
bmRlZmluZWQsICIhPSIpOworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgiaXNOYU4oZXZl
bnQuc2Vzc2lvbklkKSIsIGZhbHNlKTsKKyAgICAgICAgICAgICAgICAvLyBNYWtlIHN1cmUgdGhl
IG51bWJlciBpcyBub3QgYSBmbG9hdC4KKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoIlN0
cmluZyhldmVudC5zZXNzaW9uSWQpID09IFN0cmluZyhwYXJzZUludChldmVudC5zZXNzaW9uSWQp
KSIsIHRydWUpOworICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiSW1wbGVtZW50YXRpb25z
IHNob3VsZCBhdm9pZCBzZXNzaW9uSWRzIG9mIDAuIik7CisgICAgICAgICAgICAgICAgdGVzdEV4
cGVjdGVkKCJldmVudC5zZXNzaW9uSWQiLCAwLCAiPiIpOworICAgICAgICAgICAgICAgIC8vIEFs
bCBvdGhlciBldmVudHMgc2hvdWxkIGhhdmUgdGhpcyBzYW1lIHNlc3Npb25JZC4KKyAgICAgICAg
ICAgICAgICBrZXlNZXNzYWdlU2Vzc2lvbklkID0gZXZlbnQuc2Vzc2lvbklkOworICAgICAgICAg
ICAgICAgIGlmIChpc0ZpcnN0UnVuKQorICAgICAgICAgICAgICAgICAgICBmaXJzdFJ1bktleU1l
c3NhZ2VTZXNzaW9uSWQgPSBrZXlNZXNzYWdlU2Vzc2lvbklkOworICAgICAgICAgICAgICAgIGVs
c2UgeworICAgICAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlRoZSBzZXNzaW9uc0lkIHNo
b3VsZCBiZSBkaWZmZXJlbnQgZnJvbSB0aGUgZmlyc3QgcnVuLiIpOworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RXhwZWN0ZWQoImV2ZW50LnNlc3Npb25JZCIsIGZpcnN0UnVuS2V5TWVzc2FnZVNl
c3Npb25JZCwgIiE9Iik7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgLy8g
aW5pdERhdGEgaXMgbm90IHVzZWQgZm9yIHRoaXMgZXZlbnQuCisgICAgICAgICAgICAgICAgdGVz
dEV4cGVjdGVkKCJldmVudC5pbml0RGF0YSIsIG51bGwsICI9PT0iKTsKKyAgICAgICAgICAgICAg
ICAvLyBBdCBsZWFzdCBmb3Igbm93LCB0aGUgQ2xlYXIgS2V5IG1lc3NhZ2UgaXMgdGhlIGluaXRE
YXRhLgorICAgICAgICAgICAgICAgIHRlc3RBcnJheXNFcXVhbCgiZXZlbnQubWVzc2FnZSIsIGlu
aXREYXRhKTsKKyAgICAgICAgICAgICAgICAvLyBOb3Qgc3VwcG9ydGVkIGJ5IHRoZSB0ZXN0IGZp
bGUuCisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJldmVudC5kZWZhdWx0VXJsIiwgIiIp
OworICAgICAgICAgICAgICAgIC8vIFRoZSBlcnJvciBhdHRyaWJ1dGVzIGFyZSBub3QgdXNlZCBm
b3IgdGhpcyBldmVudC4KKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoImV2ZW50LmVycm9y
Q29kZSIsIG51bGwsICI9PT0iKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoImV2ZW50
LnN5c3RlbUNvZGUiLCAwKTsKKworICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiIik7Cisg
ICAgICAgICAgICAgICAgcnVuKCJ2aWRlby53ZWJraXRBZGRLZXkoJ3dlYmtpdC1vcmcudzMuY2xl
YXJrZXknLCBrZXksIGV2ZW50LmluaXREYXRhLCBldmVudC5zZXNzaW9uSWQpIik7CisgICAgICAg
ICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIG5lZWRLZXkoZXZlbnQpCisgICAgICAgICAg
ICB7CisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJuZWVkS2V5IGV2ZW50IG9jY3VycmVk
Iik7CisKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoImV2ZW50LnRhcmdldCIsIHZpZGVv
KTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoImV2ZW50IGluc3RhbmNlb2Ygd2luZG93
Lk1lZGlhS2V5RXZlbnQiLCB0cnVlKTsKKworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgi
ZXZlbnQua2V5U3lzdGVtIiwgIndlYmtpdC1vcmcudzMuY2xlYXJrZXkiKTsKKyAgICAgICAgICAg
ICAgICB0ZXN0RXhwZWN0ZWQoImV2ZW50LnNlc3Npb25JZCIsICIiKTsKKyAgICAgICAgICAgICAg
ICB0ZXN0QXJyYXlzRXF1YWwoImV2ZW50LmluaXREYXRhIiwgaW5pdERhdGEpOworICAgICAgICAg
ICAgICAgIC8vIFRoZSBvdGhlciBhdHRyaWJ1dGVzIGFyZSBub3QgdXNlZCBmb3IgdGhpcyBldmVu
dC4KKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoImV2ZW50Lm1lc3NhZ2UiLCBudWxsLCAi
PT09Iik7CisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJldmVudC5kZWZhdWx0VXJsIiwg
IiIpOworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgiZXZlbnQuZXJyb3JDb2RlIiwgbnVs
bCwgIj09PSIpOworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgiZXZlbnQuc3lzdGVtQ29k
ZSIsIDApOworCisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCIiKTsKKyAgICAgICAgICAg
ICAgICBydW4oInZpZGVvLndlYmtpdEdlbmVyYXRlS2V5UmVxdWVzdCgnd2Via2l0LW9yZy53My5j
bGVhcmtleScsIGluaXREYXRhKSIpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5j
dGlvbiBydW5UZXN0KCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBjb25zb2xlV3Jp
dGUoIiIpOworICAgICAgICAgICAgICAgIGlmIChpc0ZpcnN0UnVuKSB7CisgICAgICAgICAgICAg
ICAgICAgIGNvbnNvbGVXcml0ZSgiKioqIFRlc3QgZXZlbnRzIHVzaW5nIG9uKiBhdHRyaWJ1dGVz
LiAqKioiKTsKKyAgICAgICAgICAgICAgICAgICAgdmlkZW8ub253ZWJraXRrZXlhZGRlZD1rZXlB
ZGRlZDsKKyAgICAgICAgICAgICAgICAgICAgdmlkZW8ub253ZWJraXRrZXllcnJvcj1rZXlFcnJv
cjsKKyAgICAgICAgICAgICAgICAgICAgdmlkZW8ub253ZWJraXRrZXltZXNzYWdlPWtleU1lc3Nh
Z2U7CisgICAgICAgICAgICAgICAgICAgIHZpZGVvLm9ud2Via2l0bmVlZGtleT1uZWVkS2V5Owor
ICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0
ZSgiKioqIFRlc3QgZXZlbnRzIHVzaW5nIGFkZEV2ZW50TGlzdGVuZXIoKS4gKioqIik7CisKKyAg
ICAgICAgICAgICAgICAgICAgLy8gQ2xlYXIgdGhlIG9uKiBoYW5kbGVycy4KKyAgICAgICAgICAg
ICAgICAgICAgdmlkZW8ub253ZWJraXRrZXlhZGRlZD1udWxsOworICAgICAgICAgICAgICAgICAg
ICB2aWRlby5vbndlYmtpdGtleWVycm9yPW51bGw7CisgICAgICAgICAgICAgICAgICAgIHZpZGVv
Lm9ud2Via2l0a2V5bWVzc2FnZT1udWxsOworICAgICAgICAgICAgICAgICAgICB2aWRlby5vbndl
YmtpdG5lZWRrZXk9bnVsbDsKKworICAgICAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ3dl
YmtpdGtleWFkZGVkJywga2V5QWRkZWQpOworICAgICAgICAgICAgICAgICAgICB3YWl0Rm9yRXZl
bnQoJ3dlYmtpdGtleWVycm9yJywga2V5RXJyb3IpOworICAgICAgICAgICAgICAgICAgICB3YWl0
Rm9yRXZlbnQoJ3dlYmtpdGtleW1lc3NhZ2UnLCBrZXlNZXNzYWdlKTsKKyAgICAgICAgICAgICAg
ICAgICAgd2FpdEZvckV2ZW50KCd3ZWJraXRuZWVka2V5JywgbmVlZEtleSk7CisgICAgICAgICAg
ICAgICAgfQorICAgIAorICAgICAgICAgICAgICAgIC8vIEZJWE1FKDgyOTUyKTogVGVtcHJvYXJ5
IHVudGlsIHdlIGhhdmUgYSAidGVzdC1lbmNyeXB0ZWQiIGZpbGUgdGhhdCBjYXVzZXMgdGhlIG5l
ZWRLZXkgZXZlbnQuCisgICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50T25jZSgnbG9hZHN0YXJ0
JywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbigpIHsKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCIiKTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcnVuKCJ2aWRlby53ZWJraXRHZW5lcmF0ZUtleVJlcXVlc3QoJ3dlYmtp
dC1vcmcudzMuY2xlYXJrZXknLCBpbml0RGF0YSkiKTsKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB9KTsKKworICAgICAgICAgICAgICAgIHZpZGVvLnNldEF0dHJpYnV0ZSgic3JjIiwgZmlu
ZE1lZGlhRmlsZSgidmlkZW8iLCAiLi4vY29udGVudC90ZXN0IikpOworICAgICAgICAgICAgfQor
CisgICAgICAgICAgICBjb25zb2xlV3JpdGUoIioqKiBWZXJpZnkgdGhlIHByZXNlbmNlIG9mIG9u
KiBhdHRyaWJ1dGVzLiBUaGVzZSB3b3VsZCByZXR1cm4gdW5kZWZpbmVkIGlmIHRoZXkgYXJlIG5v
dCBwcmVzZW50LiAqKioiKTsKKyAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgidmlkZW8ub253ZWJr
aXRrZXlhZGRlZCIsIG51bGwsICI9PT0iKTsKKyAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgidmlk
ZW8ub253ZWJraXRrZXllcnJvciIsIG51bGwsICI9PT0iKTsKKyAgICAgICAgICAgIHRlc3RFeHBl
Y3RlZCgidmlkZW8ub253ZWJraXRrZXltZXNzYWdlIiwgbnVsbCwgIj09PSIpOworICAgICAgICAg
ICAgdGVzdEV4cGVjdGVkKCJ2aWRlby5vbndlYmtpdG5lZWRrZXkiLCBudWxsLCAiPT09Iik7CisK
KyAgICAgICAgICAgIHJ1blRlc3QoKTsKKworICAgICAgICA8L3NjcmlwdD4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS92aWRlby10ZXN0LmpzIGIv
TGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tdGVzdC5qcwppbmRleCBlYmYwZjQzNTQwMDgwNDU3ZWIz
NGU3MDUyMzU2NDhiOTIzNTI3MWExLi4wNmZmNjIzZTZmMmU3MWE4N2QwOTI3NWJlMzIyZWJjNTEz
Mjk4YjFjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9tZWRpYS92aWRlby10ZXN0LmpzCisrKyBi
L0xheW91dFRlc3RzL21lZGlhL3ZpZGVvLXRlc3QuanMKQEAgLTc5LDExICs3OSwyOSBAQCBmdW5j
dGlvbiB0ZXN0RXhwZWN0ZWQodGVzdEZ1bmNTdHJpbmcsIGV4cGVjdGVkLCBjb21wYXJpc29uKQog
ICAgICAgICBjYXNlICc+PSc6IHN1Y2Nlc3MgPSBvYnNlcnZlZCA+PSBleHBlY3RlZDsgYnJlYWs7
CiAgICAgICAgIGNhc2UgJyE9JzogIHN1Y2Nlc3MgPSBvYnNlcnZlZCAhPSBleHBlY3RlZDsgYnJl
YWs7CiAgICAgICAgIGNhc2UgJz09Jzogc3VjY2VzcyA9IG9ic2VydmVkID09IGV4cGVjdGVkOyBi
cmVhazsKKyAgICAgICAgY2FzZSAnPT09Jzogc3VjY2VzcyA9IG9ic2VydmVkID09PSBleHBlY3Rl
ZDsgYnJlYWs7CiAgICAgfQogCiAgICAgcmVwb3J0RXhwZWN0ZWQoc3VjY2VzcywgdGVzdEZ1bmNT
dHJpbmcsIGNvbXBhcmlzb24sIGV4cGVjdGVkLCBvYnNlcnZlZCkKIH0KIAorZnVuY3Rpb24gdGVz
dEFycmF5c0VxdWFsKHRlc3RGdW5jU3RyaW5nLCBleHBlY3RlZCkKK3sKKyAgICB2YXIgb2JzZXJ2
ZWQ7CisgICAgdHJ5IHsKKyAgICAgICAgb2JzZXJ2ZWQgPSBldmFsKHRlc3RGdW5jU3RyaW5nKTsK
KyAgICB9IGNhdGNoIChleCkgeworICAgICAgICBjb25zb2xlV3JpdGUoZXgpOworICAgICAgICBy
ZXR1cm47CisgICAgfQorICAKKyAgICB0ZXN0RXhwZWN0ZWQodGVzdEZ1bmNTdHJpbmcgKyAiLmxl
bmd0aCIsIGV4cGVjdGVkLmxlbmd0aCk7CisKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IG9ic2Vy
dmVkLmxlbmd0aDsgaSsrKSB7CisgICAgICAgIHRlc3RFeHBlY3RlZCh0ZXN0RnVuY1N0cmluZyAr
ICJbIiArIGkgKyAiXSIsIGV4cGVjdGVkW2ldKTsKKyAgICB9Cit9CisKIHZhciB0ZXN0TnVtYmVy
ID0gMDsKIAogZnVuY3Rpb24gcmVwb3J0RXhwZWN0ZWQoc3VjY2VzcywgdGVzdEZ1bmNTdHJpbmcs
IGNvbXBhcmlzb24sIGV4cGVjdGVkLCBvYnNlcnZlZCkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>136983</attachid>
            <date>2012-04-12 15:31:55 -0700</date>
            <delta_ts>2012-04-12 15:37:53 -0700</delta_ts>
            <desc>defaultUrl =&gt; defaultURL</desc>
            <filename>bug-82974-20120412153154.patch</filename>
            <type>text/plain</type>
            <size>92109</size>
            <attacher name="David Dorwin">ddorwin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEzOTg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWRiNjA5NTJjMDJlMzMx
ZmRjZmJjZGIyNmI3ZDA4NjM1NDA5YTcyYS4uODljNzVjMDVmOTAxNGY3ZThlOGU2ZmJiNmJjNWY2
MjM4OTg4YWUyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDgxIEBACisyMDEyLTA0LTEyICBEYXZp
ZCBEb3J3aW4gIDxkZG9yd2luQGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgRW5jcnlwdGVk
IE1lZGlhIEV4dGVuc2lvbnMgZXZlbnRzIGFuZCBlcnJvcnMgdG8gSFRNTE1lZGlhRWxlbWVudAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODI5NzQKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgbmV3IGV2
ZW50cyBhbmQgZXJyb3JzIGFyZSBiZWhpbmQgdGhlIEVOQUJMRShFTkNSWVBURURfTUVESUEpIGZl
YXR1cmUgZGVmaW5lLgorICAgICAgICBJbXBsZW1lbnRhdGlvbiBpcyBiYXNlZCBvbiB2MC4xIG9m
IHRoZSBkcmFmdCBwcm9wb3NhbCBhdAorICAgICAgICBodHRwOi8vZHZjcy53My5vcmcvaGcvaHRt
bC1tZWRpYS9yYXctZmlsZS90aXAvZW5jcnlwdGVkLW1lZGlhL2VuY3J5cHRlZC1tZWRpYS5odG1s
I2V2ZW50cy4KKworICAgICAgICBUZXN0czogZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL21lZGlh
LWtleS1ldmVudC1jb25zdHJ1Y3Rvci5odG1sCisgICAgICAgICAgICAgICBtZWRpYS9lbmNyeXB0
ZWQtbWVkaWEvZW5jcnlwdGVkLW1lZGlhLWNvbnN0YW50cy5odG1sCisgICAgICAgICAgICAgICBt
ZWRpYS9lbmNyeXB0ZWQtbWVkaWEvZW5jcnlwdGVkLW1lZGlhLWV2ZW50cy5odG1sCisKKyAgICAg
ICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogYmluZGluZ3MvdjgvRGljdGlvbmFyeS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpEaWN0aW9uYXJ5OjpnZXQpOgorICAgICAgICAoV2ViQ29yZSk6
CisgICAgICAgICogYmluZGluZ3MvdjgvRGljdGlvbmFyeS5oOgorICAgICAgICAoV2ViQ29yZSk6
CisgICAgICAgIChEaWN0aW9uYXJ5KToKKyAgICAgICAgKiBkb20vRXZlbnROYW1lcy5oOgorICAg
ICAgICAoV2ViQ29yZSk6CisgICAgICAgICogZG9tL0V2ZW50TmFtZXMuaW46CisgICAgICAgICog
aHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW46CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlh
RWxlbWVudDo6bWVkaWFQbGF5ZXJLZXlBZGRlZCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVk
aWFFbGVtZW50OjptZWRpYVBsYXllcktleUVycm9yKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxN
ZWRpYUVsZW1lbnQ6Om1lZGlhUGxheWVyS2V5TWVzc2FnZSk6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXllcktleU5lZWRlZCk6CisgICAgICAgICogaHRtbC9I
VE1MTWVkaWFFbGVtZW50Lmg6CisgICAgICAgIChIVE1MTWVkaWFFbGVtZW50KToKKyAgICAgICAg
KiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvTWVkaWFFcnJvci5o
OgorICAgICAgICAqIGh0bWwvTWVkaWFFcnJvci5pZGw6CisgICAgICAgICogaHRtbC9NZWRpYUtl
eUVycm9yLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFcnJvci5oLgor
ICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChNZWRpYUtleUVycm9yKToKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhS2V5RXJyb3I6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtl
eUVycm9yOjpjb2RlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhS2V5RXJyb3I6Ok1lZGlhS2V5
RXJyb3IpOgorICAgICAgICAqIGh0bWwvTWVkaWFLZXlFcnJvci5pZGw6IENvcGllZCBmcm9tIFNv
dXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFcnJvci5pZGwuCisgICAgICAgICogaHRtbC9NZWRpYUtl
eUV2ZW50LmNwcDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVycm9yLmgu
CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhS2V5RXZlbnRJbml0
OjpNZWRpYUtleUV2ZW50SW5pdCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtleUV2ZW50OjpN
ZWRpYUtleUV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhS2V5RXZlbnQ6On5NZWRpYUtl
eUV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhS2V5RXZlbnQ6OmludGVyZmFjZU5hbWUp
OgorICAgICAgICAqIGh0bWwvTWVkaWFLZXlFdmVudC5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNv
cmUpOgorICAgICAgICAoTWVkaWFLZXlFdmVudEluaXQpOgorICAgICAgICAoTWVkaWFLZXlFdmVu
dCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtleUV2ZW50OjpjcmVhdGUpOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFLZXlFdmVudDo6a2V5U3lzdGVtKToKKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhS2V5RXZlbnQ6OnNlc3Npb25JZCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtleUV2ZW50
Ojppbml0RGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtleUV2ZW50OjptZXNzYWdlKToK
KyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhS2V5RXZlbnQ6OmRlZmF1bHRVUkwpOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFLZXlFdmVudDo6ZXJyb3JDb2RlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhS2V5RXZlbnQ6OnN5c3RlbUNvZGUpOgorICAgICAgICAqIGh0bWwvTWVkaWFLZXlFdmVudC5p
ZGw6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFcnJvci5pZGwuCisgICAg
ICAgICogcGFnZS9ET01XaW5kb3cuaWRsOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL01l
ZGlhUGxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFQbGF5ZXI6OmtleUFkZGVkKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyOjprZXlF
cnJvcik6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllcjo6a2V5TWVzc2FnZSk6CisgICAg
ICAgIChXZWJDb3JlOjpNZWRpYVBsYXllcjo6a2V5TmVlZGVkKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9NZWRpYVBsYXllci5oOgorICAgICAgICAoTWVkaWFQbGF5ZXJDbGllbnQpOgor
ICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJDbGllbnQ6Om1lZGlhUGxheWVyS2V5QWRkZWQp
OgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJDbGllbnQ6Om1lZGlhUGxheWVyS2V5RXJy
b3IpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJDbGllbnQ6Om1lZGlhUGxheWVyS2V5
TWVzc2FnZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllckNsaWVudDo6bWVkaWFQbGF5
ZXJLZXlOZWVkZWQpOgorICAgICAgICAoTWVkaWFQbGF5ZXIpOgorCiAyMDEyLTA0LTEyICBZYWVs
IEFoYXJvbiAgPHlhZWwuYWhhcm9uQG5va2lhLmNvbT4KIAogICAgICAgICBbUXRdW1dLMl0gTmVz
dGVkIGZpeGVkIGVsZW1lbnRzIHNjcm9sbCB0b28gZmFzdApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxv
ZwppbmRleCBlMWIzYTU1M2ViMWIyOTk5NzU4MGQxMzM4ODg5ZmNhNjM3YWNmODYxLi5jYzI2ZDAz
MTM5ZTQ0ZDg0NDE4NzFlZTM0OTVmNDI0N2M0NDU2MDZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEyLTA0LTEyICBEYXZpZCBEb3J3aW4gIDxkZG9yd2lu
QGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgRW5jcnlwdGVkIE1lZGlhIEV4dGVuc2lvbnMg
ZXZlbnRzIGFuZCBlcnJvcnMgdG8gSFRNTE1lZGlhRWxlbWVudAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODI5NzQKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgbmV3IGV2ZW50cyBhbmQgZXJyb3JzIGFy
ZSBiZWhpbmQgdGhlIEVOQUJMRShFTkNSWVBURURfTUVESUEpIGZlYXR1cmUgZGVmaW5lLgorICAg
ICAgICBJbXBsZW1lbnRhdGlvbiBpcyBiYXNlZCBvbiB2MC4xIG9mIHRoZSBkcmFmdCBwcm9wb3Nh
bCBhdAorICAgICAgICBodHRwOi8vZHZjcy53My5vcmcvaGcvaHRtbC1tZWRpYS9yYXctZmlsZS90
aXAvZW5jcnlwdGVkLW1lZGlhL2VuY3J5cHRlZC1tZWRpYS5odG1sI2V2ZW50cy4KKworICAgICAg
ICAqIHB1YmxpYy9XZWJNZWRpYVBsYXllckNsaWVudC5oOgorICAgICAgICAqIHNyYy9Bc3NlcnRN
YXRjaGluZ0VudW1zLmNwcDoKKyAgICAgICAgKiBzcmMvV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBs
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsOjprZXlBZGRl
ZCk6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViS2l0OjpXZWJNZWRpYVBsYXllckNs
aWVudEltcGw6OmtleUVycm9yKToKKyAgICAgICAgKFdlYktpdDo6V2ViTWVkaWFQbGF5ZXJDbGll
bnRJbXBsOjprZXlNZXNzYWdlKToKKyAgICAgICAgKFdlYktpdDo6V2ViTWVkaWFQbGF5ZXJDbGll
bnRJbXBsOjprZXlOZWVkZWQpOgorICAgICAgICAqIHNyYy9XZWJNZWRpYVBsYXllckNsaWVudElt
cGwuaDoKKyAgICAgICAgKFdlYk1lZGlhUGxheWVyQ2xpZW50SW1wbCk6CisKIDIwMTItMDQtMTIg
IEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtDaHJvbWl1bV0g
RW5hYmxlIElOUFVUX1RZUEVfREFURQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDY3NGNiNGQ5YWYzODFj
ZTJiNjYxZTQ0NzYyMWJjMjNhODNkZDY1NTIuLjJmNTQ0ZjMzM2RiMjBjYmM0YjVlNjBiZDA1Yzkw
YmMzMmIwMWEyMDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTEwNjMsNiArMTA2Myw4IEBACiAgICAg
ICAgICAgICAnaHRtbC9JbWFnZURhdGEuaWRsJywKICAgICAgICAgICAgICdodG1sL01lZGlhQ29u
dHJvbGxlci5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvTWVkaWFFcnJvci5pZGwnLAorICAgICAg
ICAgICAgJ2h0bWwvTWVkaWFLZXlFcnJvci5pZGwnLAorICAgICAgICAgICAgJ2h0bWwvTWVkaWFL
ZXlFdmVudC5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvVGV4dE1ldHJpY3MuaWRsJywKICAgICAg
ICAgICAgICdodG1sL1RpbWVSYW5nZXMuaWRsJywKICAgICAgICAgICAgICdodG1sL1ZhbGlkaXR5
U3RhdGUuaWRsJywKQEAgLTU1NjksNiArNTU3MSw5IEBACiAgICAgICAgICAgICAnaHRtbC9NZWRp
YUVycm9yLmgnLAogICAgICAgICAgICAgJ2h0bWwvTWVkaWFGcmFnbWVudFVSSVBhcnNlci5jcHAn
LAogICAgICAgICAgICAgJ2h0bWwvTWVkaWFGcmFnbWVudFVSSVBhcnNlci5oJywKKyAgICAgICAg
ICAgICdodG1sL01lZGlhS2V5RXJyb3IuaCcsCisgICAgICAgICAgICAnaHRtbC9NZWRpYUtleUV2
ZW50LmNwcCcsCisgICAgICAgICAgICAnaHRtbC9NZWRpYUtleUV2ZW50LmgnLAogICAgICAgICAg
ICAgJ2h0bWwvTWljcm9EYXRhSXRlbVZhbHVlLmNwcCcsCiAgICAgICAgICAgICAnaHRtbC9NaWNy
b0RhdGFJdGVtVmFsdWUuaCcsCiAgICAgICAgICAgICAnaHRtbC9Nb250aElucHV0VHlwZS5jcHAn
LApAQCAtNzU2Nyw2ICs3NTcyLDEwIEBACiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU01hdGhNTEVsZW1lbnRXcmFwcGVyRmFjdG9yeS5oJywKICAg
ICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTWVkaWFF
cnJvci5jcHAnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNNZWRpYUVycm9yLmgnLAorICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNNZWRpYUtleUVycm9yLmNwcCcsCisgICAgICAgICAgICAnPChQ
Uk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01lZGlhS2V5RXJyb3IuaCcsCisg
ICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01lZGlh
S2V5RXZlbnQuY3BwJywKKyAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTTWVkaWFLZXlFdmVudC5oJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTWVkaWFMaXN0LmNwcCcsCiAgICAgICAgICAgICAn
PChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01lZGlhTGlzdC5oJywKICAg
ICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTWVkaWFR
dWVyeUxpc3QuY3BwJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0Rp
Y3Rpb25hcnkuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvRGljdGlvbmFyeS5jcHAK
aW5kZXggYzI5Zjk2YWQyMDE0MTFmZjM5M2RiYmQ5NWQ4YTdmMjRlYWQ4NzRlMS4uZmQ0ZGExZmIw
MDZjZmNmNjQxODlmODIzOWQ4ZTZjYjIwZjFjNmFlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvRGljdGlvbmFyeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvRGljdGlvbmFyeS5jcHAKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJWOEJpbmRp
bmcuaCIKICNpbmNsdWRlICJWOERPTVdpbmRvdy5oIgogI2luY2x1ZGUgIlY4U3RvcmFnZS5oIgor
I2luY2x1ZGUgIlY4VWludDhBcnJheS5oIgogI2luY2x1ZGUgIlY4VXRpbGl0aWVzLmgiCiAjaW5j
bHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KIApAQCAtMzgsNiArMzksMTAgQEAKICNpbmNsdWRlICJW
OElEQktleVJhbmdlLmgiCiAjZW5kaWYKIAorI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCisj
aW5jbHVkZSAiVjhNZWRpYUtleUVycm9yLmgiCisjZW5kaWYKKwogI2lmIEVOQUJMRShWSURFT19U
UkFDSykKICNpbmNsdWRlICJUcmFja0Jhc2UuaCIKICNpbmNsdWRlICJWOFRleHRUcmFjay5oIgpA
QCAtMjkzLDYgKzI5OCw0NCBAQCBib29sIERpY3Rpb25hcnk6OmdldFdpdGhVbmRlZmluZWRPck51
bGxDaGVjayhjb25zdCBTdHJpbmcmIGtleSwgU3RyaW5nJiB2YWx1ZSkgYwogICAgIHJldHVybiB0
cnVlOwogfQogCitib29sIERpY3Rpb25hcnk6OmdldChjb25zdCBTdHJpbmcmIGtleSwgUmVmUHRy
PFVpbnQ4QXJyYXk+JiB2YWx1ZSkgY29uc3QKK3sKKyAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2
OFZhbHVlOworICAgIGlmICghZ2V0S2V5KGtleSwgdjhWYWx1ZSkpCisgICAgICAgIHJldHVybiBm
YWxzZTsKKworICAgIFVpbnQ4QXJyYXkqIHNvdXJjZSA9IDA7CisgICAgaWYgKHY4VmFsdWUtPklz
T2JqZWN0KCkpIHsKKyAgICAgICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3cmFwcGVyID0gdjg6
OkhhbmRsZTx2ODo6T2JqZWN0Pjo6Q2FzdCh2OFZhbHVlKTsKKworICAgICAgICB2ODo6SGFuZGxl
PHY4OjpPYmplY3Q+IGFycmF5ID0gVjhET01XcmFwcGVyOjpsb29rdXBET01XcmFwcGVyKFY4VWlu
dDhBcnJheTo6R2V0VGVtcGxhdGUoKSwgd3JhcHBlcik7CisgICAgICAgIGlmICghYXJyYXkuSXNF
bXB0eSgpKQorICAgICAgICAgICAgc291cmNlID0gVjhVaW50OEFycmF5Ojp0b05hdGl2ZShhcnJh
eSk7CisgICAgfQorICAgIHZhbHVlID0gc291cmNlOworICAgIHJldHVybiB0cnVlOworfQorCisj
aWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKK2Jvb2wgRGljdGlvbmFyeTo6Z2V0KGNvbnN0IFN0
cmluZyYga2V5LCBSZWZQdHI8TWVkaWFLZXlFcnJvcj4mIHZhbHVlKSBjb25zdAoreworICAgIHY4
OjpMb2NhbDx2ODo6VmFsdWU+IHY4VmFsdWU7CisgICAgaWYgKCFnZXRLZXkoa2V5LCB2OFZhbHVl
KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgTWVkaWFLZXlFcnJvciogc291cmNlID0g
MDsKKyAgICBpZiAodjhWYWx1ZS0+SXNPYmplY3QoKSkgeworICAgICAgICB2ODo6SGFuZGxlPHY4
OjpPYmplY3Q+IHdyYXBwZXIgPSB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+OjpDYXN0KHY4VmFsdWUp
OworCisgICAgICAgIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gZXJyb3IgPSBWOERPTVdyYXBwZXI6
Omxvb2t1cERPTVdyYXBwZXIoVjhNZWRpYUtleUVycm9yOjpHZXRUZW1wbGF0ZSgpLCB3cmFwcGVy
KTsKKyAgICAgICAgaWYgKCFlcnJvci5Jc0VtcHR5KCkpCisgICAgICAgICAgICBzb3VyY2UgPSBW
OE1lZGlhS2V5RXJyb3I6OnRvTmF0aXZlKGVycm9yKTsKKyAgICB9CisgICAgdmFsdWUgPSBzb3Vy
Y2U7CisgICAgcmV0dXJuIHRydWU7Cit9CisjZW5kaWYKKwogI2lmIEVOQUJMRShWSURFT19UUkFD
SykKIGJvb2wgRGljdGlvbmFyeTo6Z2V0KGNvbnN0IFN0cmluZyYga2V5LCBSZWZQdHI8VHJhY2tC
YXNlPiYgdmFsdWUpIGNvbnN0CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9EaWN0aW9uYXJ5LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9EaWN0aW9uYXJ5
LmgKaW5kZXggMjZjNGE2YjdhYzIyZTRmODA3MDQyMWI3MGUwM2NhM2I3Y2ZlOGI0Mi4uMzIxNjRi
OGNiYjIzYTU0YWJjNTg0OTc5OTYyNTk2YzVmZDJmZjgzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvRGljdGlvbmFyeS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L0RpY3Rpb25hcnkuaApAQCAtMzksNiArMzksNyBAQCBjbGFzcyBET01TdHJpbmdMaXN0
OwogY2xhc3MgRE9NV2luZG93OwogY2xhc3MgSURCS2V5UmFuZ2U7CiBjbGFzcyBTdG9yYWdlOwor
Y2xhc3MgTWVkaWFLZXlFcnJvcjsKIGNsYXNzIFRyYWNrQmFzZTsKIGNsYXNzIFNwZWVjaFJlY29n
bml0aW9uRXJyb3I7CiBjbGFzcyBTcGVlY2hSZWNvZ25pdGlvblJlc3VsdDsKQEAgLTY3LDYgKzY4
LDEwIEBAIHB1YmxpYzoKICAgICBib29sIGdldChjb25zdCBTdHJpbmcmLCBSZWZQdHI8RE9NV2lu
ZG93PiYpIGNvbnN0OwogICAgIGJvb2wgZ2V0KGNvbnN0IFN0cmluZyYsIFJlZlB0cjxTdG9yYWdl
PiYpIGNvbnN0OwogICAgIGJvb2wgZ2V0KGNvbnN0IFN0cmluZyYsIE1lc3NhZ2VQb3J0QXJyYXkm
KSBjb25zdDsKKyAgICBib29sIGdldChjb25zdCBTdHJpbmcmLCBSZWZQdHI8VWludDhBcnJheT4m
KSBjb25zdDsKKyNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQorICAgIGJvb2wgZ2V0KGNvbnN0
IFN0cmluZyYsIFJlZlB0cjxNZWRpYUtleUVycm9yPiYpIGNvbnN0OworI2VuZGlmCiAjaWYgRU5B
QkxFKFZJREVPX1RSQUNLKQogICAgIGJvb2wgZ2V0KGNvbnN0IFN0cmluZyYsIFJlZlB0cjxUcmFj
a0Jhc2U+JikgY29uc3Q7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9F
dmVudE5hbWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCmluZGV4IGE2NWE1
MmM1MjgxODgwMDk4YjI3ZjVmZDdhZGJmYTdiMzQ5ZGIwYjUuLjIwNWE4Yzk5MjFjYTUxODJhNjhj
N2NjMmJmMWNlYThlY2Q5YzFkYzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVu
dE5hbWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaApAQCAtMTYxLDYg
KzE2MSwxMSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8od2Via2l0c291cmNlZW5k
ZWQpIFwKICAgICBtYWNybyh3ZWJraXRzb3VyY2VjbG9zZSkgXAogICAgIFwKKyAgICBtYWNybyh3
ZWJraXRrZXlhZGRlZCkgXAorICAgIG1hY3JvKHdlYmtpdGtleWVycm9yKSBcCisgICAgbWFjcm8o
d2Via2l0a2V5bWVzc2FnZSkgXAorICAgIG1hY3JvKHdlYmtpdG5lZWRrZXkpIFwKKyAgICBcCiAg
ICAgbWFjcm8ocHJvZ3Jlc3MpIFwKICAgICBtYWNybyhzdGFsbGVkKSBcCiAgICAgbWFjcm8oc3Vz
cGVuZCkgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaW4gYi9T
b3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5pbgppbmRleCBkODY2MTEyNDA4MGU4MWQxOTU5
YzhjMDk1MmI1Njk2MWM3YWU4ZjI5Li5kNWE4ZDk5MDgzYjRhZDJmOGJlNWJjOTgxYTgzYTJjMjdj
MjNiNmM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5pbgorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5pbgpAQCAtNDIsNCArNDIsNSBAQCBUb3Vj
aEV2ZW50IGNvbmRpdGlvbmFsPVRPVUNIX0VWRU5UUywgcnVudGltZUNvbmRpdGlvbmFsPXRvdWNo
RW5hYmxlZAogRGV2aWNlTW90aW9uRXZlbnQgY29uZGl0aW9uYWw9REVWSUNFX09SSUVOVEFUSU9O
CiBEZXZpY2VPcmllbnRhdGlvbkV2ZW50IGNvbmRpdGlvbmFsPURFVklDRV9PUklFTlRBVElPTgog
T3JpZW50YXRpb25FdmVudCBpbnRlcmZhY2VOYW1lPUV2ZW50LCBjb25kaXRpb25hbD1PUklFTlRB
VElPTl9FVkVOVFMKK01lZGlhS2V5RXZlbnQgY29uZGl0aW9uYWw9RU5DUllQVEVEX01FRElBCiBU
cmFja0V2ZW50IGNvbmRpdGlvbmFsPVZJREVPX1RSQUNLCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TEF0dHJpYnV0ZU5hbWVzLmluCmluZGV4IDNjNzMwYmJjZDU0MjVhYmVjOWE5ZGMyNTE5N2QzOTI3
ZWU2N2Q1MWQuLmJhMTA0ODc0NzRiNjUwMjhiYTFjYmE4Y2NhYWNlZDdkMTkwM2RkYTAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluCkBAIC0yNDcsNiArMjQ3LDEw
IEBAIG9ud2Via2l0YmVnaW5mdWxsc2NyZWVuCiBvbndlYmtpdGVuZGZ1bGxzY3JlZW4KIG9ud2Vi
a2l0ZnVsbHNjcmVlbmNoYW5nZQogb253ZWJraXRmdWxsc2NyZWVuZXJyb3IKK29ud2Via2l0a2V5
YWRkZWQKK29ud2Via2l0a2V5ZXJyb3IKK29ud2Via2l0a2V5bWVzc2FnZQorb253ZWJraXRuZWVk
a2V5CiBvbndlYmtpdHRyYW5zaXRpb25lbmQKIG9wZW4KIG9wdGltdW0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCmluZGV4IDM5ZmVmMzFiMGUyNWE0NTRkN2NlM2UwYjcy
YmUwYTFlNzU2NmU2MWUuLjA4NTgzZTQxYjdmYTdkMDNlZDE4ZDg2Mzc3MjA1NzEwNzIyODRmMzAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcApAQCAtNTgsNiArNTgs
OCBAQAogI2luY2x1ZGUgIk1lZGlhRG9jdW1lbnQuaCIKICNpbmNsdWRlICJNZWRpYUVycm9yLmgi
CiAjaW5jbHVkZSAiTWVkaWFGcmFnbWVudFVSSVBhcnNlci5oIgorI2luY2x1ZGUgIk1lZGlhS2V5
RXJyb3IuaCIKKyNpbmNsdWRlICJNZWRpYUtleUV2ZW50LmgiCiAjaW5jbHVkZSAiTWVkaWFMaXN0
LmgiCiAjaW5jbHVkZSAiTWVkaWFQbGF5ZXIuaCIKICNpbmNsdWRlICJNZWRpYVF1ZXJ5RXZhbHVh
dG9yLmgiCkBAIC0xNjgwLDYgKzE2ODIsODYgQEAgU3RyaW5nIEhUTUxNZWRpYUVsZW1lbnQ6Om1l
ZGlhUGxheWVyU291cmNlVVJMKCkgY29uc3QKIH0KICNlbmRpZgogCisjaWYgRU5BQkxFKEVOQ1JZ
UFRFRF9NRURJQSkKK3ZvaWQgSFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJLZXlBZGRlZChN
ZWRpYVBsYXllciosIGNvbnN0IFN0cmluZyYga2V5U3lzdGVtLCBjb25zdCBTdHJpbmcmIHNlc3Np
b25JZCkKK3sKKyAgICBNZWRpYUtleUV2ZW50SW5pdCBpbml0aWFsaXplcjsKKyAgICBpbml0aWFs
aXplci5rZXlTeXN0ZW0gPSBrZXlTeXN0ZW07CisgICAgaW5pdGlhbGl6ZXIuc2Vzc2lvbklkID0g
c2Vzc2lvbklkOworICAgIGluaXRpYWxpemVyLmJ1YmJsZXMgPSBmYWxzZTsKKyAgICBpbml0aWFs
aXplci5jYW5jZWxhYmxlID0gZmFsc2U7CisKKyAgICBSZWZQdHI8RXZlbnQ+IGV2ZW50ID0gTWVk
aWFLZXlFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS53ZWJraXRrZXlhZGRlZEV2ZW50LCBpbml0
aWFsaXplcik7CisgICAgZXZlbnQtPnNldFRhcmdldCh0aGlzKTsKKyAgICBtX2FzeW5jRXZlbnRR
dWV1ZS0+ZW5xdWV1ZUV2ZW50KGV2ZW50LnJlbGVhc2UoKSk7Cit9CisKK3ZvaWQgSFRNTE1lZGlh
RWxlbWVudDo6bWVkaWFQbGF5ZXJLZXlFcnJvcihNZWRpYVBsYXllciosIGNvbnN0IFN0cmluZyYg
a2V5U3lzdGVtLCBjb25zdCBTdHJpbmcmIHNlc3Npb25JZCwgTWVkaWFQbGF5ZXJDbGllbnQ6Ok1l
ZGlhS2V5RXJyb3JDb2RlIGVycm9yQ29kZSwgdW5zaWduZWQgc2hvcnQgc3lzdGVtQ29kZSkKK3sK
KyAgICBNZWRpYUtleUVycm9yOjpDb2RlIG1lZGlhS2V5RXJyb3JDb2RlID0gTWVkaWFLZXlFcnJv
cjo6TUVESUFfS0VZRVJSX1VOS05PV047CisgICAgc3dpdGNoIChlcnJvckNvZGUpIHsKKyAgICBj
YXNlIE1lZGlhUGxheWVyQ2xpZW50OjpVbmtub3duRXJyb3I6CisgICAgICAgIG1lZGlhS2V5RXJy
b3JDb2RlID0gTWVkaWFLZXlFcnJvcjo6TUVESUFfS0VZRVJSX1VOS05PV047CisgICAgICAgIGJy
ZWFrOworICAgIGNhc2UgTWVkaWFQbGF5ZXJDbGllbnQ6OkNsaWVudEVycm9yOgorICAgICAgICBt
ZWRpYUtleUVycm9yQ29kZSA9IE1lZGlhS2V5RXJyb3I6Ok1FRElBX0tFWUVSUl9DTElFTlQ7Cisg
ICAgICAgIGJyZWFrOworICAgIGNhc2UgTWVkaWFQbGF5ZXJDbGllbnQ6OlNlcnZpY2VFcnJvcjoK
KyAgICAgICAgbWVkaWFLZXlFcnJvckNvZGUgPSBNZWRpYUtleUVycm9yOjpNRURJQV9LRVlFUlJf
U0VSVklDRTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBNZWRpYVBsYXllckNsaWVudDo6T3V0
cHV0RXJyb3I6CisgICAgICAgIG1lZGlhS2V5RXJyb3JDb2RlID0gTWVkaWFLZXlFcnJvcjo6TUVE
SUFfS0VZRVJSX09VVFBVVDsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBNZWRpYVBsYXllckNs
aWVudDo6SGFyZHdhcmVDaGFuZ2VFcnJvcjoKKyAgICAgICAgbWVkaWFLZXlFcnJvckNvZGUgPSBN
ZWRpYUtleUVycm9yOjpNRURJQV9LRVlFUlJfSEFSRFdBUkVDSEFOR0U7CisgICAgICAgIGJyZWFr
OworICAgIGNhc2UgTWVkaWFQbGF5ZXJDbGllbnQ6OkRvbWFpbkVycm9yOgorICAgICAgICBtZWRp
YUtleUVycm9yQ29kZSA9IE1lZGlhS2V5RXJyb3I6Ok1FRElBX0tFWUVSUl9ET01BSU47CisgICAg
ICAgIGJyZWFrOworICAgIH0KKworICAgIE1lZGlhS2V5RXZlbnRJbml0IGluaXRpYWxpemVyOwor
ICAgIGluaXRpYWxpemVyLmtleVN5c3RlbSA9IGtleVN5c3RlbTsKKyAgICBpbml0aWFsaXplci5z
ZXNzaW9uSWQgPSBzZXNzaW9uSWQ7CisgICAgaW5pdGlhbGl6ZXIuZXJyb3JDb2RlID0gTWVkaWFL
ZXlFcnJvcjo6Y3JlYXRlKG1lZGlhS2V5RXJyb3JDb2RlKTsKKyAgICBpbml0aWFsaXplci5zeXN0
ZW1Db2RlID0gc3lzdGVtQ29kZTsKKyAgICBpbml0aWFsaXplci5idWJibGVzID0gZmFsc2U7Cisg
ICAgaW5pdGlhbGl6ZXIuY2FuY2VsYWJsZSA9IGZhbHNlOworCisgICAgUmVmUHRyPEV2ZW50PiBl
dmVudCA9IE1lZGlhS2V5RXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkud2Via2l0a2V5ZXJyb3JF
dmVudCwgaW5pdGlhbGl6ZXIpOworICAgIGV2ZW50LT5zZXRUYXJnZXQodGhpcyk7CisgICAgbV9h
c3luY0V2ZW50UXVldWUtPmVucXVldWVFdmVudChldmVudC5yZWxlYXNlKCkpOworfQorCit2b2lk
IEhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhUGxheWVyS2V5TWVzc2FnZShNZWRpYVBsYXllciosIGNv
bnN0IFN0cmluZyYga2V5U3lzdGVtLCBjb25zdCBTdHJpbmcmIHNlc3Npb25JZCwgY29uc3QgdW5z
aWduZWQgY2hhciogbWVzc2FnZSwgdW5zaWduZWQgbWVzc2FnZUxlbmd0aCkKK3sKKyAgICBNZWRp
YUtleUV2ZW50SW5pdCBpbml0aWFsaXplcjsKKyAgICBpbml0aWFsaXplci5rZXlTeXN0ZW0gPSBr
ZXlTeXN0ZW07CisgICAgaW5pdGlhbGl6ZXIuc2Vzc2lvbklkID0gc2Vzc2lvbklkOworICAgIGlu
aXRpYWxpemVyLm1lc3NhZ2UgPSBVaW50OEFycmF5OjpjcmVhdGUobWVzc2FnZSwgbWVzc2FnZUxl
bmd0aCk7CisgICAgaW5pdGlhbGl6ZXIuYnViYmxlcyA9IGZhbHNlOworICAgIGluaXRpYWxpemVy
LmNhbmNlbGFibGUgPSBmYWxzZTsKKworICAgIFJlZlB0cjxFdmVudD4gZXZlbnQgPSBNZWRpYUtl
eUV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLndlYmtpdGtleW1lc3NhZ2VFdmVudCwgaW5pdGlh
bGl6ZXIpOworICAgIGV2ZW50LT5zZXRUYXJnZXQodGhpcyk7CisgICAgbV9hc3luY0V2ZW50UXVl
dWUtPmVucXVldWVFdmVudChldmVudC5yZWxlYXNlKCkpOworfQorCit2b2lkIEhUTUxNZWRpYUVs
ZW1lbnQ6Om1lZGlhUGxheWVyS2V5TmVlZGVkKE1lZGlhUGxheWVyKiwgY29uc3QgU3RyaW5nJiBr
ZXlTeXN0ZW0sIGNvbnN0IFN0cmluZyYgc2Vzc2lvbklkLCBjb25zdCB1bnNpZ25lZCBjaGFyKiBp
bml0RGF0YSwgdW5zaWduZWQgaW5pdERhdGFMZW5ndGgpCit7CisgICAgTWVkaWFLZXlFdmVudElu
aXQgaW5pdGlhbGl6ZXI7CisgICAgaW5pdGlhbGl6ZXIua2V5U3lzdGVtID0ga2V5U3lzdGVtOwor
ICAgIGluaXRpYWxpemVyLnNlc3Npb25JZCA9IHNlc3Npb25JZDsKKyAgICBpbml0aWFsaXplci5p
bml0RGF0YSA9IFVpbnQ4QXJyYXk6OmNyZWF0ZShpbml0RGF0YSwgaW5pdERhdGFMZW5ndGgpOwor
ICAgIGluaXRpYWxpemVyLmJ1YmJsZXMgPSBmYWxzZTsKKyAgICBpbml0aWFsaXplci5jYW5jZWxh
YmxlID0gZmFsc2U7CisKKyAgICBSZWZQdHI8RXZlbnQ+IGV2ZW50ID0gTWVkaWFLZXlFdmVudDo6
Y3JlYXRlKGV2ZW50TmFtZXMoKS53ZWJraXRuZWVka2V5RXZlbnQsIGluaXRpYWxpemVyKTsKKyAg
ICBldmVudC0+c2V0VGFyZ2V0KHRoaXMpOworICAgIG1fYXN5bmNFdmVudFF1ZXVlLT5lbnF1ZXVl
RXZlbnQoZXZlbnQucmVsZWFzZSgpKTsKK30KKyNlbmRpZgorCiB2b2lkIEhUTUxNZWRpYUVsZW1l
bnQ6OnByb2dyZXNzRXZlbnRUaW1lckZpcmVkKFRpbWVyPEhUTUxNZWRpYUVsZW1lbnQ+KikKIHsK
ICAgICBBU1NFUlQobV9wbGF5ZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MTWVkaWFFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQu
aAppbmRleCBlNjViNzk4NDJhMzYwNTg1MzExZmRmMmZmZDM1ZGQ2ODc3Y2I5ZDgyLi4wM2FjZTI4
Mjk4NGU0MjdiMGE0YWZkYzVkNTRlNjU3MDVmMTg3MTAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxNZWRpYUVsZW1lbnQuaApAQCAtMTg2LDYgKzE4NiwxMSBAQCBwdWJsaWM6CiAgICAgdm9pZCB3
ZWJraXRBZGRLZXkoY29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0sIFBhc3NSZWZQdHI8VWludDhBcnJh
eT4ga2V5LCBQYXNzUmVmUHRyPFVpbnQ4QXJyYXk+IGluaXREYXRhLCBjb25zdCBTdHJpbmcmIHNl
c3Npb25JZCwgRXhjZXB0aW9uQ29kZSYpOwogICAgIHZvaWQgd2Via2l0QWRkS2V5KGNvbnN0IFN0
cmluZyYga2V5U3lzdGVtLCBQYXNzUmVmUHRyPFVpbnQ4QXJyYXk+IGtleSwgRXhjZXB0aW9uQ29k
ZSYpOwogICAgIHZvaWQgd2Via2l0Q2FuY2VsS2V5UmVxdWVzdChjb25zdCBTdHJpbmcmIGtleVN5
c3RlbSwgY29uc3QgU3RyaW5nJiBzZXNzaW9uSWQsIEV4Y2VwdGlvbkNvZGUmKTsKKworICAgIERF
RklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIod2Via2l0a2V5YWRkZWQpOworICAgIERFRklO
RV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIod2Via2l0a2V5ZXJyb3IpOworICAgIERFRklORV9B
VFRSSUJVVEVfRVZFTlRfTElTVEVORVIod2Via2l0a2V5bWVzc2FnZSk7CisgICAgREVGSU5FX0FU
VFJJQlVURV9FVkVOVF9MSVNURU5FUih3ZWJraXRuZWVka2V5KTsKICNlbmRpZgogCiAvLyBjb250
cm9scwpAQCAtMjYxLDYgKzI2NiwxMyBAQCBwdWJsaWM6CiAgICAgdm9pZCB1cGRhdGVXaWRnZXQo
UGx1Z2luQ3JlYXRpb25PcHRpb24pOwogI2VuZGlmCiAKKyAgICAvLyBFdmVudFRhcmdldCBmdW5j
dGlvbi4KKyAgICAvLyBCb3RoIE5vZGUgKHZpYSBIVE1MRWxlbWVudCkgYW5kIEFjdGl2ZURPTU9i
amVjdCBkZWZpbmUgdGhpcyBtZXRob2QsIHdoaWNoCisgICAgLy8gY2F1c2VzIGFuIGFtYmlndWl0
eSBlcnJvciBhdCBjb21waWxlIHRpbWUuIFRoaXMgY2xhc3MncyBjb25zdHJ1Y3RvcgorICAgIC8v
IGVuc3VyZXMgdGhhdCBib3RoIGltcGxlbWVudGF0aW9ucyByZXR1cm4gZG9jdW1lbnQsIHNvIHJl
dHVybiB0aGUgcmVzdWx0CisgICAgLy8gb2Ygb25lIG9mIHRoZW0gaGVyZS4KKyAgICB2aXJ0dWFs
IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSBjb25zdCBP
VkVSUklERSB7IHJldHVybiBIVE1MRWxlbWVudDo6c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOyB9
CisKICAgICBib29sIGhhc1NpbmdsZVNlY3VyaXR5T3JpZ2luKCkgY29uc3QgeyByZXR1cm4gIW1f
cGxheWVyIHx8IG1fcGxheWVyLT5oYXNTaW5nbGVTZWN1cml0eU9yaWdpbigpOyB9CiAgICAgCiAg
ICAgYm9vbCBpc0Z1bGxzY3JlZW4oKSBjb25zdDsKQEAgLTM5Nyw2ICs0MDksMTMgQEAgcHJpdmF0
ZToKICAgICB2aXJ0dWFsIFN0cmluZyBtZWRpYVBsYXllclNvdXJjZVVSTCgpIGNvbnN0OwogI2Vu
ZGlmCiAKKyNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQorICAgIHZpcnR1YWwgdm9pZCBtZWRp
YVBsYXllcktleUFkZGVkKE1lZGlhUGxheWVyKiwgY29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0sIGNv
bnN0IFN0cmluZyYgc2Vzc2lvbklkKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQgbWVkaWFQ
bGF5ZXJLZXlFcnJvcihNZWRpYVBsYXllciosIGNvbnN0IFN0cmluZyYga2V5U3lzdGVtLCBjb25z
dCBTdHJpbmcmIHNlc3Npb25JZCwgTWVkaWFQbGF5ZXJDbGllbnQ6Ok1lZGlhS2V5RXJyb3JDb2Rl
LCB1bnNpZ25lZCBzaG9ydCBzeXN0ZW1Db2RlKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQg
bWVkaWFQbGF5ZXJLZXlNZXNzYWdlKE1lZGlhUGxheWVyKiwgY29uc3QgU3RyaW5nJiBrZXlTeXN0
ZW0sIGNvbnN0IFN0cmluZyYgc2Vzc2lvbklkLCBjb25zdCB1bnNpZ25lZCBjaGFyKiBtZXNzYWdl
LCB1bnNpZ25lZCBtZXNzYWdlTGVuZ3RoKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQgbWVk
aWFQbGF5ZXJLZXlOZWVkZWQoTWVkaWFQbGF5ZXIqLCBjb25zdCBTdHJpbmcmIGtleVN5c3RlbSwg
Y29uc3QgU3RyaW5nJiBzZXNzaW9uSWQsIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGluaXREYXRhLCB1
bnNpZ25lZCBpbml0RGF0YUxlbmd0aCkgT1ZFUlJJREU7CisjZW5kaWYKKwogICAgIHZpcnR1YWwg
U3RyaW5nIG1lZGlhUGxheWVyUmVmZXJyZXIoKSBjb25zdCBPVkVSUklERTsKICAgICB2aXJ0dWFs
IFN0cmluZyBtZWRpYVBsYXllclVzZXJBZ2VudCgpIGNvbnN0IE9WRVJSSURFOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaWRsIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmlkbAppbmRleCBiMjdhNmU5YWY3MzI3Yzg2ZmM4
ZmFmYzhjNGVjNmQ1NWIwYTY2ZGI0Li44Nzg1NGJlMGY1MTMzNDU2YjllMTYwOGI5ODJkMDBhZDM2
Y2M2ZTQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQu
aWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5pZGwKQEAgLTEy
Miw2ICsxMjIsMTEgQEAgbW9kdWxlIGh0bWwgewogICAgICAgICByYWlzZXMgKERPTUV4Y2VwdGlv
bik7CiAgICAgW1Y4RW5hYmxlZEF0UnVudGltZT1lbmNyeXB0ZWRNZWRpYV0gdm9pZCB3ZWJraXRD
YW5jZWxLZXlSZXF1ZXN0KGluIFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nLCBUcmVhdFVuZGVmaW5l
ZEFzPU51bGxTdHJpbmddIERPTVN0cmluZyBrZXlTeXN0ZW0sIGluIFtPcHRpb25hbD1EZWZhdWx0
SXNOdWxsU3RyaW5nXSBET01TdHJpbmcgc2Vzc2lvbklkKQogICAgICAgICByYWlzZXMgKERPTUV4
Y2VwdGlvbik7CisKKyAgICBhdHRyaWJ1dGUgW1Y4RW5hYmxlZEF0UnVudGltZT1lbmNyeXB0ZWRN
ZWRpYV0gRXZlbnRMaXN0ZW5lciBvbndlYmtpdGtleWFkZGVkOworICAgIGF0dHJpYnV0ZSBbVjhF
bmFibGVkQXRSdW50aW1lPWVuY3J5cHRlZE1lZGlhXSBFdmVudExpc3RlbmVyIG9ud2Via2l0a2V5
ZXJyb3I7CisgICAgYXR0cmlidXRlIFtWOEVuYWJsZWRBdFJ1bnRpbWU9ZW5jcnlwdGVkTWVkaWFd
IEV2ZW50TGlzdGVuZXIgb253ZWJraXRrZXltZXNzYWdlOworICAgIGF0dHJpYnV0ZSBbVjhFbmFi
bGVkQXRSdW50aW1lPWVuY3J5cHRlZE1lZGlhXSBFdmVudExpc3RlbmVyIG9ud2Via2l0bmVlZGtl
eTsKICNlbmRpZgogCiAjaWYgZGVmaW5lZChFTkFCTEVfVklERU9fVFJBQ0spICYmIEVOQUJMRV9W
SURFT19UUkFDSwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVycm9yLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRXJyb3IuaAppbmRleCBiNjhjMzcwNjUwMWEyMDY3
Y2U5NTFhMGFhNmZhMjQ4YzI1NmFhZjBlLi45MGY0NDdmMDVlNWE0ZjBjYWQxNGI1YzQyOWJmYmZl
OGM4NzBkMzA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRXJyb3IuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRXJyb3IuaApAQCAtMzUsNyArMzUsMTUgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBNZWRpYUVycm9yIDogcHVibGljIFJlZkNvdW50
ZWQ8TWVkaWFFcnJvcj4gewogcHVibGljOgotICAgIGVudW0gQ29kZSB7IE1FRElBX0VSUl9BQk9S
VEVEID0gMSwgTUVESUFfRVJSX05FVFdPUkssIE1FRElBX0VSUl9ERUNPREUsIE1FRElBX0VSUl9T
UkNfTk9UX1NVUFBPUlRFRCB9OworICAgIGVudW0gQ29kZSB7CisgICAgICAgIE1FRElBX0VSUl9B
Qk9SVEVEID0gMSwKKyAgICAgICAgTUVESUFfRVJSX05FVFdPUkssCisgICAgICAgIE1FRElBX0VS
Ul9ERUNPREUsCisgICAgICAgIE1FRElBX0VSUl9TUkNfTk9UX1NVUFBPUlRFRAorI2lmIEVOQUJM
RShFTkNSWVBURURfTUVESUEpCisgICAgICAgICwgTUVESUFfRVJSX0VOQ1JZUFRFRAorI2VuZGlm
CisgICAgfTsKIAogICAgIHN0YXRpYyBQYXNzUmVmUHRyPE1lZGlhRXJyb3I+IGNyZWF0ZShDb2Rl
IGNvZGUpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBNZWRpYUVycm9yKGNvZGUpKTsgfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRXJyb3IuaWRsIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9NZWRpYUVycm9yLmlkbAppbmRleCBmY2ViMWY1NTFlZTVlMzAyN2M2MmYyYTVhNDgw
MmMwMDc3MDZkODVjLi44ZWI5ZDU0MDI5NDY1MDM0ZGQ0M2RmODE5ZmRkY2QxMTUxNjcyNzUyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRXJyb3IuaWRsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvTWVkaWFFcnJvci5pZGwKQEAgLTMxLDYgKzMxLDkgQEAgbW9kdWxlIGh0
bWwgewogICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IE1FRElBX0VSUl9ORVRXT1JLID0g
MjsKICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBNRURJQV9FUlJfREVDT0RFID0gMzsK
ICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBNRURJQV9FUlJfU1JDX05PVF9TVVBQT1JU
RUQgPSA0OworI2lmIGRlZmluZWQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJiYgRU5BQkxFX0VO
Q1JZUFRFRF9NRURJQQorICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IE1FRElBX0VSUl9F
TkNSWVBURUQgPSA1OworI2VuZGlmCiAgICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2ln
bmVkIHNob3J0IGNvZGU7CiAgICAgfTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvTWVkaWFLZXlFcnJvci5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUtleUVycm9yLmgK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTJjNzM2ZDQ4N2EzZjRjMDcxNjViNGM2NTI4ZWZkOTk5Y2Y3NWRlMgotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFLZXlFcnJvci5oCkBAIC0w
LDAgKzEsNjAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUK
KyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpZm5kZWYgTWVkaWFLZXlFcnJvcl9oCisjZGVmaW5l
IE1lZGlhS2V5RXJyb3JfaAorCisjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKKworI2luY2x1
ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBNZWRpYUtleUVycm9yIDogcHVibGljIFJlZkNvdW50
ZWQ8TWVkaWFLZXlFcnJvcj4geworcHVibGljOgorICAgIGVudW0gQ29kZSB7CisgICAgICAgIE1F
RElBX0tFWUVSUl9VTktOT1dOID0gMSwKKyAgICAgICAgTUVESUFfS0VZRVJSX0NMSUVOVCwKKyAg
ICAgICAgTUVESUFfS0VZRVJSX1NFUlZJQ0UsCisgICAgICAgIE1FRElBX0tFWUVSUl9PVVRQVVQs
CisgICAgICAgIE1FRElBX0tFWUVSUl9IQVJEV0FSRUNIQU5HRSwKKyAgICAgICAgTUVESUFfS0VZ
RVJSX0RPTUFJTgorICAgIH07CisKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxNZWRpYUtleUVycm9y
PiBjcmVhdGUoQ29kZSBjb2RlKSB7IHJldHVybiBhZG9wdFJlZihuZXcgTWVkaWFLZXlFcnJvcihj
b2RlKSk7IH0KKworICAgIENvZGUgY29kZSgpIGNvbnN0IHsgcmV0dXJuIG1fY29kZTsgfQorCitw
cml2YXRlOgorICAgIGV4cGxpY2l0IE1lZGlhS2V5RXJyb3IoQ29kZSBjb2RlKSA6IG1fY29kZShj
b2RlKSB7IH0KKworICAgIENvZGUgbV9jb2RlOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQorCisjZW5kaWYKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRp
YUtleUVycm9yLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFLZXlFcnJvci5pZGwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNTViOWIwNGQwZjdmNTczZTM5NDA2ZTJhMTExYjQ3NmFhZDkyYjg5MwotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFLZXlFcnJvci5pZGwKQEAgLTAs
MCArMSwzOSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiAgQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQor
ICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gCisgKi8KKworbW9kdWxlIGh0bWwgeworICAgIGludGVyZmFjZSBbCisg
ICAgICAgIENvbmRpdGlvbmFsPUVOQ1JZUFRFRF9NRURJQSwKKyAgICAgICAgVjhFbmFibGVkQXRS
dW50aW1lPWVuY3J5cHRlZE1lZGlhLCAKKyAgICBdIE1lZGlhS2V5RXJyb3IgeworICAgICAgICBj
b25zdCB1bnNpZ25lZCBzaG9ydCBNRURJQV9LRVlFUlJfVU5LTk9XTiA9IDE7CisgICAgICAgIGNv
bnN0IHVuc2lnbmVkIHNob3J0IE1FRElBX0tFWUVSUl9DTElFTlQgPSAyOworICAgICAgICBjb25z
dCB1bnNpZ25lZCBzaG9ydCBNRURJQV9LRVlFUlJfU0VSVklDRSA9IDM7CisgICAgICAgIGNvbnN0
IHVuc2lnbmVkIHNob3J0IE1FRElBX0tFWUVSUl9PVVRQVVQgPSA0OworICAgICAgICBjb25zdCB1
bnNpZ25lZCBzaG9ydCBNRURJQV9LRVlFUlJfSEFSRFdBUkVDSEFOR0UgPSA1OworICAgICAgICBj
b25zdCB1bnNpZ25lZCBzaG9ydCBNRURJQV9LRVlFUlJfRE9NQUlOID0gNjsKKyAgICAgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IGNvZGU7CisgICAgfTsKK30KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFLZXlFdmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL01lZGlhS2V5RXZlbnQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJmNjJkYmM0OTA5ZWIyM2UzMWM5
Yzc1NzdmOGMyNDNlMjIyMmI3YzcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL01lZGlhS2V5RXZlbnQuY3BwCkBAIC0wLDAgKzEsNjkgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTIgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFT
IElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisg
KiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpbmNs
dWRlICJjb25maWcuaCIKKworI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCisKKyNpbmNsdWRl
ICJNZWRpYUtleUV2ZW50LmgiCisKKyNpbmNsdWRlICJFdmVudE5hbWVzLmgiCisjaW5jbHVkZSA8
d3RmL1VpbnQ4QXJyYXkuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitNZWRpYUtleUV2ZW50
SW5pdDo6TWVkaWFLZXlFdmVudEluaXQoKQorICAgIDogc3lzdGVtQ29kZSgwKQoreworfQorCitN
ZWRpYUtleUV2ZW50OjpNZWRpYUtleUV2ZW50KCkKK3sKK30KKworTWVkaWFLZXlFdmVudDo6TWVk
aWFLZXlFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGNvbnN0IE1lZGlhS2V5RXZlbnRJ
bml0JiBpbml0aWFsaXplcikKKyAgICA6IEV2ZW50KHR5cGUsIGluaXRpYWxpemVyKQorICAgICwg
bV9rZXlTeXN0ZW0oaW5pdGlhbGl6ZXIua2V5U3lzdGVtKQorICAgICwgbV9zZXNzaW9uSWQoaW5p
dGlhbGl6ZXIuc2Vzc2lvbklkKQorICAgICwgbV9pbml0RGF0YShpbml0aWFsaXplci5pbml0RGF0
YSkKKyAgICAsIG1fbWVzc2FnZShpbml0aWFsaXplci5tZXNzYWdlKQorICAgICwgbV9kZWZhdWx0
VVJMKGluaXRpYWxpemVyLmRlZmF1bHRVUkwpCisgICAgLCBtX2Vycm9yQ29kZShpbml0aWFsaXpl
ci5lcnJvckNvZGUpCisgICAgLCBtX3N5c3RlbUNvZGUoaW5pdGlhbGl6ZXIuc3lzdGVtQ29kZSkK
K3sKK30KKworTWVkaWFLZXlFdmVudDo6fk1lZGlhS2V5RXZlbnQoKQoreworfQorCitjb25zdCBB
dG9taWNTdHJpbmcmIE1lZGlhS2V5RXZlbnQ6OmludGVyZmFjZU5hbWUoKSBjb25zdAoreworICAg
IHJldHVybiBldmVudE5hbWVzKCkuaW50ZXJmYWNlRm9yTWVkaWFLZXlFdmVudDsKK30KKworfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvTWVkaWFLZXlFdmVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUtleUV2ZW50
LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uM2IwZDY2M2UyYzg0ODMyZWU2MmQyMGU1YWNhNzMxNzU1YTBmNGM4Ygot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFLZXlFdmVudC5oCkBA
IC0wLDAgKzEsODggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpZm5kZWYgTWVkaWFLZXlFdmVudF9oCisjZGVm
aW5lIE1lZGlhS2V5RXZlbnRfaAorCisjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKKworI2lu
Y2x1ZGUgIkV2ZW50LmgiCisjaW5jbHVkZSAiTWVkaWFLZXlFcnJvci5oIgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK3N0cnVjdCBNZWRpYUtleUV2ZW50SW5pdCA6IHB1YmxpYyBFdmVudEluaXQg
eworICAgIE1lZGlhS2V5RXZlbnRJbml0KCk7CisKKyAgICBTdHJpbmcga2V5U3lzdGVtOworICAg
IFN0cmluZyBzZXNzaW9uSWQ7CisgICAgUmVmUHRyPFVpbnQ4QXJyYXk+IGluaXREYXRhOworICAg
IFJlZlB0cjxVaW50OEFycmF5PiBtZXNzYWdlOworICAgIFN0cmluZyBkZWZhdWx0VVJMOworICAg
IFJlZlB0cjxNZWRpYUtleUVycm9yPiBlcnJvckNvZGU7CisgICAgdW5zaWduZWQgc2hvcnQgc3lz
dGVtQ29kZTsKK307CisKK2NsYXNzIE1lZGlhS2V5RXZlbnQgOiBwdWJsaWMgRXZlbnQgeworcHVi
bGljOgorICAgIHZpcnR1YWwgfk1lZGlhS2V5RXZlbnQoKTsKKworICAgIHN0YXRpYyBQYXNzUmVm
UHRyPE1lZGlhS2V5RXZlbnQ+IGNyZWF0ZSgpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRS
ZWYobmV3IE1lZGlhS2V5RXZlbnQpOworICAgIH0KKworICAgIHN0YXRpYyBQYXNzUmVmUHRyPE1l
ZGlhS2V5RXZlbnQ+IGNyZWF0ZShjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGNvbnN0IE1lZGlh
S2V5RXZlbnRJbml0JiBpbml0aWFsaXplcikKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJl
ZihuZXcgTWVkaWFLZXlFdmVudCh0eXBlLCBpbml0aWFsaXplcikpOworICAgIH0KKworICAgIHZp
cnR1YWwgY29uc3QgQXRvbWljU3RyaW5nJiBpbnRlcmZhY2VOYW1lKCkgY29uc3Q7CisKKyAgICBT
dHJpbmcga2V5U3lzdGVtKCkgY29uc3QgeyByZXR1cm4gbV9rZXlTeXN0ZW07IH0KKyAgICBTdHJp
bmcgc2Vzc2lvbklkKCkgY29uc3QgeyByZXR1cm4gbV9zZXNzaW9uSWQ7IH0KKyAgICBVaW50OEFy
cmF5KiBpbml0RGF0YSgpIGNvbnN0IHsgcmV0dXJuIG1faW5pdERhdGEuZ2V0KCk7IH0KKyAgICBV
aW50OEFycmF5KiBtZXNzYWdlKCkgY29uc3QgeyByZXR1cm4gbV9tZXNzYWdlLmdldCgpOyB9Cisg
ICAgU3RyaW5nIGRlZmF1bHRVUkwoKSBjb25zdCB7IHJldHVybiBtX2RlZmF1bHRVUkw7IH0KKyAg
ICBNZWRpYUtleUVycm9yKiBlcnJvckNvZGUoKSBjb25zdCB7IHJldHVybiBtX2Vycm9yQ29kZS5n
ZXQoKTsgfQorICAgIHVuc2lnbmVkIHNob3J0IHN5c3RlbUNvZGUoKSBjb25zdCB7IHJldHVybiBt
X3N5c3RlbUNvZGU7IH0KKworcHJpdmF0ZToKKyAgICBNZWRpYUtleUV2ZW50KCk7CisgICAgTWVk
aWFLZXlFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGNvbnN0IE1lZGlhS2V5RXZlbnRJ
bml0JiBpbml0aWFsaXplcik7CisKKyAgICBTdHJpbmcgbV9rZXlTeXN0ZW07CisgICAgU3RyaW5n
IG1fc2Vzc2lvbklkOworICAgIFJlZlB0cjxVaW50OEFycmF5PiBtX2luaXREYXRhOworICAgIFJl
ZlB0cjxVaW50OEFycmF5PiBtX21lc3NhZ2U7CisgICAgU3RyaW5nIG1fZGVmYXVsdFVSTDsKKyAg
ICBSZWZQdHI8TWVkaWFLZXlFcnJvcj4gbV9lcnJvckNvZGU7CisgICAgdW5zaWduZWQgc2hvcnQg
bV9zeXN0ZW1Db2RlOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKKyNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUtleUV2ZW50LmlkbCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFLZXlFdmVudC5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjEzODdk
Y2ZjNDcwMDdhZDc1ZTgyZmRmYzgzYTlkN2JlYmU3MzY1NwotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFLZXlFdmVudC5pZGwKQEAgLTAsMCArMSw0MiBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBV
VEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVU
RVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
CisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4g
CisgKi8KKworbW9kdWxlIGh0bWwgeworCisgICAgaW50ZXJmYWNlIFsKKyAgICAgICAgQ29uZGl0
aW9uYWw9RU5DUllQVEVEX01FRElBLAorICAgICAgICBWOEVuYWJsZWRBdFJ1bnRpbWU9ZW5jcnlw
dGVkTWVkaWEsCisgICAgICAgIENvbnN0cnVjdG9yVGVtcGxhdGU9RXZlbnQgCisgICAgXSBNZWRp
YUtleUV2ZW50IDogRXZlbnQgeworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW0luaXRpYWxp
emVkQnlFdmVudENvbnN0cnVjdG9yXSBET01TdHJpbmcga2V5U3lzdGVtOworICAgICAgICByZWFk
b25seSBhdHRyaWJ1dGUgW0luaXRpYWxpemVkQnlFdmVudENvbnN0cnVjdG9yXSBET01TdHJpbmcg
c2Vzc2lvbklkOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW0luaXRpYWxpemVkQnlFdmVu
dENvbnN0cnVjdG9yXSBVaW50OEFycmF5IGluaXREYXRhOworICAgICAgICByZWFkb25seSBhdHRy
aWJ1dGUgW0luaXRpYWxpemVkQnlFdmVudENvbnN0cnVjdG9yXSBVaW50OEFycmF5IG1lc3NhZ2U7
CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBbSW5pdGlhbGl6ZWRCeUV2ZW50Q29uc3RydWN0
b3JdIERPTVN0cmluZyBkZWZhdWx0VVJMOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW0lu
aXRpYWxpemVkQnlFdmVudENvbnN0cnVjdG9yXSBNZWRpYUtleUVycm9yIGVycm9yQ29kZTsKKyAg
ICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFtJbml0aWFsaXplZEJ5RXZlbnRDb25zdHJ1Y3Rvcl0g
dW5zaWduZWQgc2hvcnQgc3lzdGVtQ29kZTsKKyAgICB9OworCit9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdp
bmRvdy5pZGwKaW5kZXggNGNiOTA2N2IyYzRmZGZhMzljZWE4MjAwYmMwMTNiODYyMTRkYjllMC4u
ZGVhZjg5MGQwYzhjNjYyYzcyNTZjYjJhNWI4YWYwZGVlOTlkY2JmMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RE9NV2luZG93LmlkbApAQCAtNDY2LDYgKzQ2Niw5IEBAIG1vZHVsZSB3aW5kb3cgewogICAgICAg
ICBhdHRyaWJ1dGUgW0pTQ3VzdG9tR2V0dGVyLCBDdXN0b21Db25zdHJ1Y3Rvcl0gSFRNTEltYWdl
RWxlbWVudENvbnN0cnVjdG9yQ29uc3RydWN0b3IgSW1hZ2U7IC8vIFVzYWJsZSB3aXRoIG5ldyBv
cGVyYXRvcgogICAgICAgICBhdHRyaWJ1dGUgW0pTQ3VzdG9tR2V0dGVyXSBIVE1MT3B0aW9uRWxl
bWVudENvbnN0cnVjdG9yQ29uc3RydWN0b3IgT3B0aW9uOyAvLyBVc2FibGUgd2l0aCBuZXcgb3Bl
cmF0b3IKIAorICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPUVOQ1JZUFRFRF9NRURJQSwg
VjhFbmFibGVkQXRSdW50aW1lPWVuY3J5cHRlZE1lZGlhXSBNZWRpYUtleUVycm9yQ29uc3RydWN0
b3IgTWVkaWFLZXlFcnJvcjsKKyAgICAgICAgYXR0cmlidXRlIFtDb25kaXRpb25hbD1FTkNSWVBU
RURfTUVESUEsIFY4RW5hYmxlZEF0UnVudGltZT1lbmNyeXB0ZWRNZWRpYV0gTWVkaWFLZXlFdmVu
dENvbnN0cnVjdG9yIE1lZGlhS2V5RXZlbnQ7CisKICAgICAgICAgYXR0cmlidXRlIFtDb25kaXRp
b25hbD1WSURFT19UUkFDSywgVjhFbmFibGVkQXRSdW50aW1lPXdlYmtpdFZpZGVvVHJhY2tdIEhU
TUxUcmFja0VsZW1lbnRDb25zdHJ1Y3RvciBIVE1MVHJhY2tFbGVtZW50OwogICAgICAgICBhdHRy
aWJ1dGUgW0NvbmRpdGlvbmFsPVZJREVPX1RSQUNLLCBWOEVuYWJsZWRBdFJ1bnRpbWU9d2Via2l0
VmlkZW9UcmFja10gVGV4dFRyYWNrQ29uc3RydWN0b3IgVGV4dFRyYWNrOwogICAgICAgICBhdHRy
aWJ1dGUgW0NvbmRpdGlvbmFsPVZJREVPX1RSQUNLLCBWOEVuYWJsZWRBdFJ1bnRpbWU9d2Via2l0
VmlkZW9UcmFja10gVGV4dFRyYWNrQ3VlQ29uc3RydWN0b3IgVGV4dFRyYWNrQ3VlOyAvLyBVc2Fi
bGUgd2l0aCB0aGUgbmV3IG9wZXJhdG9yCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9NZWRpYVBsYXllci5jcHAKaW5kZXggOWQ2MDQ3ZDRmZTQ2YjU1NGYzM2VlMDU4NmNj
OWIxYmEyODc5YmRiZS4uZTk4ZWJmZDc1YmI5OWM1M2QxMDI3MGQ4ZmJmODhjN2I2MjIwMzE3OCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNw
cApAQCAtOTY5LDcgKzk2OSwzMyBAQCBBdWRpb1NvdXJjZVByb3ZpZGVyKiBNZWRpYVBsYXllcjo6
YXVkaW9Tb3VyY2VQcm92aWRlcigpCiAgICAgcmV0dXJuIG1fcHJpdmF0ZS0+YXVkaW9Tb3VyY2VQ
cm92aWRlcigpOwogfQogI2VuZGlmIC8vIFdFQl9BVURJTwotICAgIAorCisjaWYgRU5BQkxFKEVO
Q1JZUFRFRF9NRURJQSkKK3ZvaWQgTWVkaWFQbGF5ZXI6OmtleUFkZGVkKGNvbnN0IFN0cmluZyYg
a2V5U3lzdGVtLCBjb25zdCBTdHJpbmcmIHNlc3Npb25JZCkKK3sKKyAgICBpZiAobV9tZWRpYVBs
YXllckNsaWVudCkKKyAgICAgICAgbV9tZWRpYVBsYXllckNsaWVudC0+bWVkaWFQbGF5ZXJLZXlB
ZGRlZCh0aGlzLCBrZXlTeXN0ZW0sIHNlc3Npb25JZCk7Cit9CisKK3ZvaWQgTWVkaWFQbGF5ZXI6
OmtleUVycm9yKGNvbnN0IFN0cmluZyYga2V5U3lzdGVtLCBjb25zdCBTdHJpbmcmIHNlc3Npb25J
ZCwgTWVkaWFQbGF5ZXJDbGllbnQ6Ok1lZGlhS2V5RXJyb3JDb2RlIGVycm9yQ29kZSwgdW5zaWdu
ZWQgc2hvcnQgc3lzdGVtQ29kZSkKK3sKKyAgICBpZiAobV9tZWRpYVBsYXllckNsaWVudCkKKyAg
ICAgICAgbV9tZWRpYVBsYXllckNsaWVudC0+bWVkaWFQbGF5ZXJLZXlFcnJvcih0aGlzLCBrZXlT
eXN0ZW0sIHNlc3Npb25JZCwgZXJyb3JDb2RlLCBzeXN0ZW1Db2RlKTsKK30KKwordm9pZCBNZWRp
YVBsYXllcjo6a2V5TWVzc2FnZShjb25zdCBTdHJpbmcmIGtleVN5c3RlbSwgY29uc3QgU3RyaW5n
JiBzZXNzaW9uSWQsIGNvbnN0IHVuc2lnbmVkIGNoYXIqIG1lc3NhZ2UsIHVuc2lnbmVkIG1lc3Nh
Z2VMZW5ndGgpCit7CisgICAgaWYgKG1fbWVkaWFQbGF5ZXJDbGllbnQpCisgICAgICAgIG1fbWVk
aWFQbGF5ZXJDbGllbnQtPm1lZGlhUGxheWVyS2V5TWVzc2FnZSh0aGlzLCBrZXlTeXN0ZW0sIHNl
c3Npb25JZCwgbWVzc2FnZSwgbWVzc2FnZUxlbmd0aCk7Cit9CisKK3ZvaWQgTWVkaWFQbGF5ZXI6
OmtleU5lZWRlZChjb25zdCBTdHJpbmcmIGtleVN5c3RlbSwgY29uc3QgU3RyaW5nJiBzZXNzaW9u
SWQsIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGluaXREYXRhLCB1bnNpZ25lZCBpbml0RGF0YUxlbmd0
aCkKK3sKKyAgICBpZiAobV9tZWRpYVBsYXllckNsaWVudCkKKyAgICAgICAgbV9tZWRpYVBsYXll
ckNsaWVudC0+bWVkaWFQbGF5ZXJLZXlOZWVkZWQodGhpcywga2V5U3lzdGVtLCBzZXNzaW9uSWQs
IGluaXREYXRhLCBpbml0RGF0YUxlbmd0aCk7Cit9CisjZW5kaWYKKwogU3RyaW5nIE1lZGlhUGxh
eWVyOjpyZWZlcnJlcigpIGNvbnN0CiB7CiAgICAgaWYgKCFtX21lZGlhUGxheWVyQ2xpZW50KQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgKaW5kZXgg
MTUxM2FmYjk4M2NhYmRkM2UxYWI4NjdmMzU2OTkzNWVmNjU4MDRiMC4uZDliNmUyNzAwM2NiMWY4
YzliZDY5MDkwMDRhMTI4NTBhZDU4ZjljMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9NZWRpYVBsYXllci5oCkBAIC0xNjgsNiArMTY4LDE0IEBAIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIFN0cmluZyBtZWRpYVBsYXllclNvdXJjZVVSTCgpIGNvbnN0IHsgcmV0dXJuICJ4
LW1lZGlhLXNvdXJjZS11bnN1cHBvcnRlZDoiOyB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShFTkNS
WVBURURfTUVESUEpCisgICAgZW51bSBNZWRpYUtleUVycm9yQ29kZSB7IFVua25vd25FcnJvciA9
IDEsIENsaWVudEVycm9yLCBTZXJ2aWNlRXJyb3IsIE91dHB1dEVycm9yLCBIYXJkd2FyZUNoYW5n
ZUVycm9yLCBEb21haW5FcnJvciB9OworICAgIHZpcnR1YWwgdm9pZCBtZWRpYVBsYXllcktleUFk
ZGVkKE1lZGlhUGxheWVyKiwgY29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0sIGNvbnN0IFN0cmluZyYg
c2Vzc2lvbklkKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgbWVkaWFQbGF5ZXJLZXlFcnJvcihNZWRp
YVBsYXllciosIGNvbnN0IFN0cmluZyYga2V5U3lzdGVtLCBjb25zdCBTdHJpbmcmIHNlc3Npb25J
ZCwgTWVkaWFLZXlFcnJvckNvZGUgZXJyb3JDb2RlLCB1bnNpZ25lZCBzaG9ydCBzeXN0ZW1Db2Rl
KSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgbWVkaWFQbGF5ZXJLZXlNZXNzYWdlKE1lZGlhUGxheWVy
KiwgY29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0sIGNvbnN0IFN0cmluZyYgc2Vzc2lvbklkLCBjb25z
dCB1bnNpZ25lZCBjaGFyKiBtZXNzYWdlLCB1bnNpZ25lZCBtZXNzYWdlTGVuZ3RoKSB7IH0KKyAg
ICB2aXJ0dWFsIHZvaWQgbWVkaWFQbGF5ZXJLZXlOZWVkZWQoTWVkaWFQbGF5ZXIqLCBjb25zdCBT
dHJpbmcmIGtleVN5c3RlbSwgY29uc3QgU3RyaW5nJiBzZXNzaW9uSWQsIGNvbnN0IHVuc2lnbmVk
IGNoYXIqIGluaXREYXRhLCB1bnNpZ25lZCBpbml0RGF0YUxlbmd0aCkgeyB9CisjZW5kaWYKKwog
ICAgIHZpcnR1YWwgU3RyaW5nIG1lZGlhUGxheWVyUmVmZXJyZXIoKSBjb25zdCB7IHJldHVybiBT
dHJpbmcoKTsgfQogICAgIHZpcnR1YWwgU3RyaW5nIG1lZGlhUGxheWVyVXNlckFnZW50KCkgY29u
c3QgeyByZXR1cm4gU3RyaW5nKCk7IH0KIH07CkBAIC0zNDYsNiArMzU0LDEzIEBAIHB1YmxpYzoK
ICAgICBTdHJpbmcgc291cmNlVVJMKCkgY29uc3Q7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShFTkNS
WVBURURfTUVESUEpCisgICAgdm9pZCBrZXlBZGRlZChjb25zdCBTdHJpbmcmIGtleVN5c3RlbSwg
Y29uc3QgU3RyaW5nJiBzZXNzaW9uSWQpOworICAgIHZvaWQga2V5RXJyb3IoY29uc3QgU3RyaW5n
JiBrZXlTeXN0ZW0sIGNvbnN0IFN0cmluZyYgc2Vzc2lvbklkLCBNZWRpYVBsYXllckNsaWVudDo6
TWVkaWFLZXlFcnJvckNvZGUsIHVuc2lnbmVkIHNob3J0IHN5c3RlbUNvZGUpOworICAgIHZvaWQg
a2V5TWVzc2FnZShjb25zdCBTdHJpbmcmIGtleVN5c3RlbSwgY29uc3QgU3RyaW5nJiBzZXNzaW9u
SWQsIGNvbnN0IHVuc2lnbmVkIGNoYXIqIG1lc3NhZ2UsIHVuc2lnbmVkIG1lc3NhZ2VMZW5ndGgp
OworICAgIHZvaWQga2V5TmVlZGVkKGNvbnN0IFN0cmluZyYga2V5U3lzdGVtLCBjb25zdCBTdHJp
bmcmIHNlc3Npb25JZCwgY29uc3QgdW5zaWduZWQgY2hhciogaW5pdERhdGEsIHVuc2lnbmVkIGlu
aXREYXRhTGVuZ3RoKTsKKyNlbmRpZgorCiAgICAgU3RyaW5nIHJlZmVycmVyKCkgY29uc3Q7CiAg
ICAgU3RyaW5nIHVzZXJBZ2VudCgpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3B1YmxpYy9XZWJNZWRpYVBsYXllckNsaWVudC5oIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9wdWJsaWMvV2ViTWVkaWFQbGF5ZXJDbGllbnQuaAppbmRleCAxOWVhMjQyZWNhZDlh
YjFiZjgzNjBlODc5NTA5YmU2OTU0ZDc3MDYxLi5jOWQzMWU0ZDEyYTRkODk3NjJiNTIxOGMwZGQ0
YTFlMDg3MTQzNmExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9X
ZWJNZWRpYVBsYXllckNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGlj
L1dlYk1lZGlhUGxheWVyQ2xpZW50LmgKQEAgLTQwLDYgKzQwLDE1IEBAIGNsYXNzIFdlYlVSTDsK
IAogY2xhc3MgV2ViTWVkaWFQbGF5ZXJDbGllbnQgewogcHVibGljOgorICAgIGVudW0gTWVkaWFL
ZXlFcnJvckNvZGUgeworICAgICAgICBVbmtub3duRXJyb3IgPSAxLAorICAgICAgICBDbGllbnRF
cnJvciwKKyAgICAgICAgU2VydmljZUVycm9yLAorICAgICAgICBPdXRwdXRFcnJvciwKKyAgICAg
ICAgSGFyZHdhcmVDaGFuZ2VFcnJvciwKKyAgICAgICAgRG9tYWluRXJyb3IKKyAgICB9OworCiAg
ICAgdmlydHVhbCB2b2lkIG5ldHdvcmtTdGF0ZUNoYW5nZWQoKSA9IDA7CiAgICAgdmlydHVhbCB2
b2lkIHJlYWR5U3RhdGVDaGFuZ2VkKCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCB2b2x1bWVDaGFu
Z2VkKGZsb2F0KSA9IDA7CkBAIC01Niw2ICs2NSwxMCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBX
ZWJNZWRpYVBsYXllcjo6UHJlbG9hZCBwcmVsb2FkKCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwg
dm9pZCBzb3VyY2VPcGVuZWQoKSA9IDA7CiAgICAgdmlydHVhbCBXZWJLaXQ6OldlYlVSTCBzb3Vy
Y2VVUkwoKSBjb25zdCA9IDA7CisgICAgdmlydHVhbCB2b2lkIGtleUFkZGVkKGNvbnN0IFdlYlN0
cmluZyYsIGNvbnN0IFdlYlN0cmluZyYpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQga2V5RXJyb3Io
Y29uc3QgV2ViU3RyaW5nJiwgY29uc3QgV2ViU3RyaW5nJiwgTWVkaWFLZXlFcnJvckNvZGUsIHVu
c2lnbmVkIHNob3J0IHN5c3RlbUNvZGUpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQga2V5TWVzc2Fn
ZShjb25zdCBXZWJTdHJpbmcmLCBjb25zdCBXZWJTdHJpbmcmLCBjb25zdCB1bnNpZ25lZCBjaGFy
KiwgdW5zaWduZWQpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQga2V5TmVlZGVkKGNvbnN0IFdlYlN0
cmluZyYsIGNvbnN0IFdlYlN0cmluZyYsIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGluaXREYXRhLCB1
bnNpZ25lZCBpbml0RGF0YUxlbmd0aCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBkaXNhYmxlQWNj
ZWxlcmF0ZWRDb21wb3NpdGluZygpID0gMDsKIHByb3RlY3RlZDoKICAgICB+V2ViTWVkaWFQbGF5
ZXJDbGllbnQoKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Fz
c2VydE1hdGNoaW5nRW51bXMuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQXNzZXJ0
TWF0Y2hpbmdFbnVtcy5jcHAKaW5kZXggMjkzZjQ4OTRlNzMyNTcwMTg5OWIwODc2NDk3Y2VkYWQ0
NTViZDljMi4uNzJjMmJlNjVmNWQxOTFkZTJlMTU1NzcyMTUxZmI0YTMxYmIzNjE0YyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHAK
QEAgLTg3LDYgKzg3LDcgQEAKICNpbmNsdWRlICJXZWJJY29uVVJMLmgiCiAjaW5jbHVkZSAiV2Vi
SW5wdXRFbGVtZW50LmgiCiAjaW5jbHVkZSAiV2ViTWVkaWFQbGF5ZXIuaCIKKyNpbmNsdWRlICJX
ZWJNZWRpYVBsYXllckNsaWVudC5oIgogI2luY2x1ZGUgIldlYk5vdGlmaWNhdGlvblByZXNlbnRl
ci5oIgogI2luY2x1ZGUgIldlYlBhZ2VWaXNpYmlsaXR5U3RhdGUuaCIKICNpbmNsdWRlICJXZWJS
ZWZlcnJlclBvbGljeS5oIgpAQCAtMzkyLDYgKzM5MywxMyBAQCBDT01QSUxFX0FTU0VSVF9NQVRD
SElOR19FTlVNKFdlYk1lZGlhUGxheWVyOjpMaXZlU3RyZWFtLCBNZWRpYVBsYXllcjo6TGl2ZVN0
cmVhbQogQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJNZWRpYVBsYXllcjo6Tm9FcnJv
ciwgTWVkaWFQbGF5ZXI6Ok5vRXJyb3IpOwogQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShX
ZWJNZWRpYVBsYXllcjo6SW52YWxpZFBsYXllclN0YXRlLCBNZWRpYVBsYXllcjo6SW52YWxpZFBs
YXllclN0YXRlKTsKIENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViTWVkaWFQbGF5ZXI6
OktleVN5c3RlbU5vdFN1cHBvcnRlZCwgTWVkaWFQbGF5ZXI6OktleVN5c3RlbU5vdFN1cHBvcnRl
ZCk7CisKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViTWVkaWFQbGF5ZXJDbGllbnQ6
OlVua25vd25FcnJvciwgTWVkaWFQbGF5ZXJDbGllbnQ6OlVua25vd25FcnJvcik7CitDT01QSUxF
X0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYk1lZGlhUGxheWVyQ2xpZW50OjpDbGllbnRFcnJvciwg
TWVkaWFQbGF5ZXJDbGllbnQ6OkNsaWVudEVycm9yKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5H
X0VOVU0oV2ViTWVkaWFQbGF5ZXJDbGllbnQ6OlNlcnZpY2VFcnJvciwgTWVkaWFQbGF5ZXJDbGll
bnQ6OlNlcnZpY2VFcnJvcik7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYk1lZGlh
UGxheWVyQ2xpZW50OjpPdXRwdXRFcnJvciwgTWVkaWFQbGF5ZXJDbGllbnQ6Ok91dHB1dEVycm9y
KTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViTWVkaWFQbGF5ZXJDbGllbnQ6Okhh
cmR3YXJlQ2hhbmdlRXJyb3IsIE1lZGlhUGxheWVyQ2xpZW50OjpIYXJkd2FyZUNoYW5nZUVycm9y
KTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViTWVkaWFQbGF5ZXJDbGllbnQ6OkRv
bWFpbkVycm9yLCBNZWRpYVBsYXllckNsaWVudDo6RG9tYWluRXJyb3IpOwogI2VuZGlmCiAKIENP
TVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViVmlkZW9GcmFtZTo6Rm9ybWF0SW52YWxpZCwg
VmlkZW9GcmFtZUNocm9taXVtOjpJbnZhbGlkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYk1lZGlhUGxheWVyQ2xpZW50SW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJNZWRpYVBsYXllckNsaWVudEltcGwuY3BwCmluZGV4IDMyMWFmNmFi
ODc4OTdhY2JhZTcwZjE1ODVhOTJmYWRlODFkYzk0NjAuLjVjN2IyYzkyOWY5ZTQ4YmI0YzFkOGQ4
ZDQ1NzI5OGYyNDdmMmNmZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYk1lZGlhUGxheWVyQ2xpZW50SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsLmNwcApAQCAtMjE3LDYgKzIxNyw1NiBAQCBX
ZWJLaXQ6OldlYlVSTCBXZWJNZWRpYVBsYXllckNsaWVudEltcGw6OnNvdXJjZVVSTCgpIGNvbnN0
CiAjZW5kaWYKIH0KIAordm9pZCBXZWJNZWRpYVBsYXllckNsaWVudEltcGw6OmtleUFkZGVkKGNv
bnN0IFdlYlN0cmluZyYga2V5U3lzdGVtLCBjb25zdCBXZWJTdHJpbmcmIHNlc3Npb25JZCkKK3sK
KyNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQorICAgIEFTU0VSVChtX21lZGlhUGxheWVyKTsK
KyAgICBtX21lZGlhUGxheWVyLT5rZXlBZGRlZChrZXlTeXN0ZW0sIHNlc3Npb25JZCk7CisjZWxz
ZQorICAgIFVOVVNFRF9QQVJBTShrZXlTeXN0ZW0pOworICAgIFVOVVNFRF9QQVJBTShzZXNzaW9u
SWQpOworI2VuZGlmCit9CisKK3ZvaWQgV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsOjprZXlFcnJv
cihjb25zdCBXZWJTdHJpbmcmIGtleVN5c3RlbSwgY29uc3QgV2ViU3RyaW5nJiBzZXNzaW9uSWQs
IE1lZGlhS2V5RXJyb3JDb2RlIGVycm9yQ29kZSwgdW5zaWduZWQgc2hvcnQgc3lzdGVtQ29kZSkK
K3sKKyNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQorICAgIEFTU0VSVChtX21lZGlhUGxheWVy
KTsKKyAgICBtX21lZGlhUGxheWVyLT5rZXlFcnJvcihrZXlTeXN0ZW0sIHNlc3Npb25JZCwgc3Rh
dGljX2Nhc3Q8TWVkaWFQbGF5ZXJDbGllbnQ6Ok1lZGlhS2V5RXJyb3JDb2RlPihlcnJvckNvZGUp
LCBzeXN0ZW1Db2RlKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKGtleVN5c3RlbSk7CisgICAg
VU5VU0VEX1BBUkFNKHNlc3Npb25JZCk7CisgICAgVU5VU0VEX1BBUkFNKGVycm9yQ29kZSk7Cisg
ICAgVU5VU0VEX1BBUkFNKHN5c3RlbUNvZGUpOworI2VuZGlmCit9CisKK3ZvaWQgV2ViTWVkaWFQ
bGF5ZXJDbGllbnRJbXBsOjprZXlNZXNzYWdlKGNvbnN0IFdlYlN0cmluZyYga2V5U3lzdGVtLCBj
b25zdCBXZWJTdHJpbmcmIHNlc3Npb25JZCwgY29uc3QgdW5zaWduZWQgY2hhciogbWVzc2FnZSwg
dW5zaWduZWQgbWVzc2FnZUxlbmd0aCkKK3sKKyNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQor
ICAgIEFTU0VSVChtX21lZGlhUGxheWVyKTsKKyAgICBtX21lZGlhUGxheWVyLT5rZXlNZXNzYWdl
KGtleVN5c3RlbSwgc2Vzc2lvbklkLCBtZXNzYWdlLCBtZXNzYWdlTGVuZ3RoKTsKKyNlbHNlCisg
ICAgVU5VU0VEX1BBUkFNKGtleVN5c3RlbSk7CisgICAgVU5VU0VEX1BBUkFNKHNlc3Npb25JZCk7
CisgICAgVU5VU0VEX1BBUkFNKG1lc3NhZ2UpOworICAgIFVOVVNFRF9QQVJBTShtZXNzYWdlTGVu
Z3RoKTsKKyNlbmRpZgorfQorCit2b2lkIFdlYk1lZGlhUGxheWVyQ2xpZW50SW1wbDo6a2V5TmVl
ZGVkKGNvbnN0IFdlYlN0cmluZyYga2V5U3lzdGVtLCBjb25zdCBXZWJTdHJpbmcmIHNlc3Npb25J
ZCwgY29uc3QgdW5zaWduZWQgY2hhciogaW5pdERhdGEsIHVuc2lnbmVkIGluaXREYXRhTGVuZ3Ro
KQoreworI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCisgICAgQVNTRVJUKG1fbWVkaWFQbGF5
ZXIpOworICAgIG1fbWVkaWFQbGF5ZXItPmtleU5lZWRlZChrZXlTeXN0ZW0sIHNlc3Npb25JZCwg
aW5pdERhdGEsIGluaXREYXRhTGVuZ3RoKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKGtleVN5
c3RlbSk7CisgICAgVU5VU0VEX1BBUkFNKHNlc3Npb25JZCk7CisgICAgVU5VU0VEX1BBUkFNKGlu
aXREYXRhKTsKKyAgICBVTlVTRURfUEFSQU0oaW5pdERhdGFMZW5ndGgpOworI2VuZGlmCit9CisK
IHZvaWQgV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsOjpkaXNhYmxlQWNjZWxlcmF0ZWRDb21wb3Np
dGluZygpCiB7CiAgICAgbV9zdXBwb3J0c0FjY2VsZXJhdGVkQ29tcG9zaXRpbmcgPSBmYWxzZTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYk1lZGlhUGxheWVyQ2xp
ZW50SW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViTWVkaWFQbGF5ZXJDbGll
bnRJbXBsLmgKaW5kZXggODg1NDNhNGRhYmZkOGI3MWQ1MmQ3N2Y1ODI0NWQ4NWY4ZmY1ZjZiNS4u
NTBiY2MwMTgwZjA0YWEzNDczODc4MTg2Yzg4NDY4NjM0MjRmOTE1NyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsLmgKKysrIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsLmgKQEAg
LTg2LDYgKzg2LDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIFdlYk1lZGlhUGxheWVyOjpQcmVs
b2FkIHByZWxvYWQoKSBjb25zdDsKICAgICB2aXJ0dWFsIHZvaWQgc291cmNlT3BlbmVkKCk7CiAg
ICAgdmlydHVhbCBXZWJLaXQ6OldlYlVSTCBzb3VyY2VVUkwoKSBjb25zdDsKKyAgICB2aXJ0dWFs
IHZvaWQga2V5QWRkZWQoY29uc3QgV2ViU3RyaW5nJiBrZXlTeXN0ZW0sIGNvbnN0IFdlYlN0cmlu
ZyYgc2Vzc2lvbklkKTsKKyAgICB2aXJ0dWFsIHZvaWQga2V5RXJyb3IoY29uc3QgV2ViU3RyaW5n
JiBrZXlTeXN0ZW0sIGNvbnN0IFdlYlN0cmluZyYgc2Vzc2lvbklkLCBNZWRpYUtleUVycm9yQ29k
ZSwgdW5zaWduZWQgc2hvcnQgc3lzdGVtQ29kZSk7CisgICAgdmlydHVhbCB2b2lkIGtleU1lc3Nh
Z2UoY29uc3QgV2ViU3RyaW5nJiBrZXlTeXN0ZW0sIGNvbnN0IFdlYlN0cmluZyYgc2Vzc2lvbklk
LCBjb25zdCB1bnNpZ25lZCBjaGFyKiBtZXNzYWdlLCB1bnNpZ25lZCBtZXNzYWdlTGVuZ3RoKTsK
KyAgICB2aXJ0dWFsIHZvaWQga2V5TmVlZGVkKGNvbnN0IFdlYlN0cmluZyYga2V5U3lzdGVtLCBj
b25zdCBXZWJTdHJpbmcmIHNlc3Npb25JZCwgY29uc3QgdW5zaWduZWQgY2hhciogaW5pdERhdGEs
IHVuc2lnbmVkIGluaXREYXRhTGVuZ3RoKTsKICAgICB2aXJ0dWFsIHZvaWQgZGlzYWJsZUFjY2Vs
ZXJhdGVkQ29tcG9zaXRpbmcoKTsKIAogICAgIC8vIE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFj
ZSBtZXRob2RzOgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCmluZGV4IGQ0MGI3NGJjYzJjYmUyZWJjZDQ3OTg0ZDg2ZGI0MjY1ZTI2ZTQ5
OTUuLjc0OTI4OWI5ZmRjODI3MzFlZjU4ZGZmMjU1MTBjZjc1YWMxOGYwOGQgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNyBAQAorMjAxMi0wNC0xMiAgRGF2aWQgRG9yd2luICA8ZGRvcndpbkBjaHJvbWl1bS5v
cmc+CisKKyAgICAgICAgQWRkIEVuY3J5cHRlZCBNZWRpYSBFeHRlbnNpb25zIGV2ZW50cyBhbmQg
ZXJyb3JzIHRvIEhUTUxNZWRpYUVsZW1lbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTgyOTc0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgVGhlIG5ldyBldmVudHMgYW5kIGVycm9ycyBhcmUgYmVoaW5kIHRo
ZSBFTkFCTEUoRU5DUllQVEVEX01FRElBKSBmZWF0dXJlIGRlZmluZS4KKyAgICAgICAgSW1wbGVt
ZW50YXRpb24gaXMgYmFzZWQgb24gdjAuMSBvZiB0aGUgZHJhZnQgcHJvcG9zYWwgYXQKKyAgICAg
ICAgaHR0cDovL2R2Y3MudzMub3JnL2hnL2h0bWwtbWVkaWEvcmF3LWZpbGUvdGlwL2VuY3J5cHRl
ZC1tZWRpYS9lbmNyeXB0ZWQtbWVkaWEuaHRtbCNldmVudHMuCisKKyAgICAgICAgKiBmYXN0L2V2
ZW50cy9jb25zdHJ1Y3RvcnMvbWVkaWEta2V5LWV2ZW50LWNvbnN0cnVjdG9yLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL21lZGlhLWtleS1l
dmVudC1jb25zdHJ1Y3Rvci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2pzL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qczoKKyAgICAgICAgKHNob3VsZEJlWmVybyk6CisgICAgICAgIChzaG91
bGRCZUVtcHR5U3RyaW5nKToKKyAgICAgICAgKiBtZWRpYS9lbmNyeXB0ZWQtbWVkaWEvZW5jcnlw
dGVkLW1lZGlhLWNvbnN0YW50cy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIG1lZGlh
L2VuY3J5cHRlZC1tZWRpYS9lbmNyeXB0ZWQtbWVkaWEtY29uc3RhbnRzLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIG1lZGlhL2VuY3J5cHRlZC1tZWRpYS9lbmNyeXB0ZWQtbWVkaWEtZXZlbnRzLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogbWVkaWEvZW5jcnlwdGVkLW1lZGlhL2VuY3J5
cHRlZC1tZWRpYS1ldmVudHMuaHRtbDogQWRkZWQuCisgICAgICAgICogbWVkaWEvdmlkZW8tdGVz
dC5qczoKKyAgICAgICAgKHRlc3RFeHBlY3RlZCk6CisgICAgICAgICh0ZXN0QXJyYXlzRXF1YWwp
OgorCiAyMDEyLTA0LTEyICBBbnRvbiBNdWhpbiAgPGFudG9ubUBjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgTW9yZSBNYWMgcmViYXNlbGluZXMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2V2ZW50cy9jb25zdHJ1Y3RvcnMvbWVkaWEta2V5LWV2ZW50LWNvbnN0cnVjdG9yLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2NvbnN0cnVjdG9ycy9tZWRpYS1rZXktZXZl
bnQtY29uc3RydWN0b3ItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjliMGI3YzI5YjY1YmMxNDAx
Y2YzNDAxNzY4MDFkNGExOTA5MGZhODkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2V2ZW50cy9jb25zdHJ1Y3RvcnMvbWVkaWEta2V5LWV2ZW50LWNvbnN0cnVjdG9yLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEwMiBAQAorVGhpcyB0ZXN0cyB0aGUgY29uc3RydWN0b3IgZm9y
IHRoZSBNZWRpYUtleUV2ZW50IERPTSBjbGFzcy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCisKKworKioqIE5vIGluaXRpYWxpemVyIHBhc3NlZCAqKioKK1BBU1MgbmV3IE1lZGlhS2V5
RXZlbnQoJ01lZGlhS2V5RXZlbnQnKS5idWJibGVzIGlzIGZhbHNlCitQQVNTIG5ldyBNZWRpYUtl
eUV2ZW50KCdNZWRpYUtleUV2ZW50JykuY2FuY2VsYWJsZSBpcyBmYWxzZQorUEFTUyBuZXcgTWVk
aWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcpLmtleVN5c3RlbSBpcyAiIgorUEFTUyBuZXcgTWVk
aWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcpLnNlc3Npb25JZCBpcyAiIgorUEFTUyBuZXcgTWVk
aWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcpLmluaXREYXRhIGlzIG51bGwKK1BBU1MgbmV3IE1l
ZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnKS5tZXNzYWdlIGlzIG51bGwKK1BBU1MgbmV3IE1l
ZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnKS5kZWZhdWx0VVJMIGlzICIiCitQQVNTIG5ldyBN
ZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JykuZXJyb3JDb2RlIGlzIG51bGwKK1BBU1MgbmV3
IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnKS5zeXN0ZW1Db2RlIGlzIDAKKworKioqIEJ1
YmJsZXMgYW5kIGNhbmNlbGFibGUgdHJ1ZSwgb3RoZXIgbWVtYmVycyBhcmUgbWlzc2luZyAqKioK
K1BBU1MgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUs
IGNhbmNlbGFibGU6IHRydWUgfSkuYnViYmxlcyBpcyB0cnVlCitQQVNTIG5ldyBNZWRpYUtleUV2
ZW50KCdNZWRpYUtleUV2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlIH0p
LmNhbmNlbGFibGUgaXMgdHJ1ZQorUEFTUyBuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVu
dCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSB9KS5rZXlTeXN0ZW0gaXMgIiIK
K1BBU1MgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUs
IGNhbmNlbGFibGU6IHRydWUgfSkuc2Vzc2lvbklkIGlzICIiCitQQVNTIG5ldyBNZWRpYUtleUV2
ZW50KCdNZWRpYUtleUV2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlIH0p
LmluaXREYXRhIGlzIG51bGwKK1BBU1MgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQn
LCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUgfSkubWVzc2FnZSBpcyBudWxsCitQ
QVNTIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBidWJibGVzOiB0cnVlLCBj
YW5jZWxhYmxlOiB0cnVlIH0pLmRlZmF1bHRVUkwgaXMgIiIKK1BBU1MgbmV3IE1lZGlhS2V5RXZl
bnQoJ01lZGlhS2V5RXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUgfSku
ZXJyb3JDb2RlIGlzIG51bGwKK1BBU1MgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQn
LCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUgfSkuc3lzdGVtQ29kZSBpcyAwCisK
KyoqKiBCdWJibGVzIGFuZCBjYW5jZWxhYmxlIHRydWUsIGludmFsaWQgb3RoZXIgbWVtYmVycyAq
KioKK1BBU1MgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGJ1YmJsZXM6IHRy
dWUsIGNhbmNlbGFibGU6IHRydWUsIGtleVN5c3RlbTogdW5kZWZpbmVkLCBzZXNzaW9uSWQ6IHVu
ZGVmaW5lZCwgaW5pdERhdGE6IFVpbnQ4QXJyYXksIG1lc3NhZ2U6IFVpbnQ4QXJyYXksIGRlZmF1
bHRVUkw6IHVuZGVmaW5lZCwgZXJyb3JDb2RlOiBNZWRpYUtleUVycm9yLCBzeXN0ZW1Db2RlOiB1
bmRlZmluZWQgfSkuYnViYmxlcyBpcyB0cnVlCitQQVNTIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRp
YUtleUV2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlLCBrZXlTeXN0ZW06
IHVuZGVmaW5lZCwgc2Vzc2lvbklkOiB1bmRlZmluZWQsIGluaXREYXRhOiBVaW50OEFycmF5LCBt
ZXNzYWdlOiBVaW50OEFycmF5LCBkZWZhdWx0VVJMOiB1bmRlZmluZWQsIGVycm9yQ29kZTogTWVk
aWFLZXlFcnJvciwgc3lzdGVtQ29kZTogdW5kZWZpbmVkIH0pLmNhbmNlbGFibGUgaXMgdHJ1ZQor
UEFTUyBuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwg
Y2FuY2VsYWJsZTogdHJ1ZSwga2V5U3lzdGVtOiB1bmRlZmluZWQsIHNlc3Npb25JZDogdW5kZWZp
bmVkLCBpbml0RGF0YTogVWludDhBcnJheSwgbWVzc2FnZTogVWludDhBcnJheSwgZGVmYXVsdFVS
TDogdW5kZWZpbmVkLCBlcnJvckNvZGU6IE1lZGlhS2V5RXJyb3IsIHN5c3RlbUNvZGU6IHVuZGVm
aW5lZCB9KS5rZXlTeXN0ZW0gaXMgInVuZGVmaW5lZCIKK1BBU1MgbmV3IE1lZGlhS2V5RXZlbnQo
J01lZGlhS2V5RXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIGtleVN5
c3RlbTogdW5kZWZpbmVkLCBzZXNzaW9uSWQ6IHVuZGVmaW5lZCwgaW5pdERhdGE6IFVpbnQ4QXJy
YXksIG1lc3NhZ2U6IFVpbnQ4QXJyYXksIGRlZmF1bHRVUkw6IHVuZGVmaW5lZCwgZXJyb3JDb2Rl
OiBNZWRpYUtleUVycm9yLCBzeXN0ZW1Db2RlOiB1bmRlZmluZWQgfSkuc2Vzc2lvbklkIGlzICJ1
bmRlZmluZWQiCitQQVNTIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBidWJi
bGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlLCBrZXlTeXN0ZW06IHVuZGVmaW5lZCwgc2Vzc2lv
bklkOiB1bmRlZmluZWQsIGluaXREYXRhOiBVaW50OEFycmF5LCBtZXNzYWdlOiBVaW50OEFycmF5
LCBkZWZhdWx0VVJMOiB1bmRlZmluZWQsIGVycm9yQ29kZTogTWVkaWFLZXlFcnJvciwgc3lzdGVt
Q29kZTogdW5kZWZpbmVkIH0pLmluaXREYXRhIGlzIG51bGwKK1BBU1MgbmV3IE1lZGlhS2V5RXZl
bnQoJ01lZGlhS2V5RXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIGtl
eVN5c3RlbTogdW5kZWZpbmVkLCBzZXNzaW9uSWQ6IHVuZGVmaW5lZCwgaW5pdERhdGE6IFVpbnQ4
QXJyYXksIG1lc3NhZ2U6IFVpbnQ4QXJyYXksIGRlZmF1bHRVUkw6IHVuZGVmaW5lZCwgZXJyb3JD
b2RlOiBNZWRpYUtleUVycm9yLCBzeXN0ZW1Db2RlOiB1bmRlZmluZWQgfSkubWVzc2FnZSBpcyBu
dWxsCitQQVNTIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBidWJibGVzOiB0
cnVlLCBjYW5jZWxhYmxlOiB0cnVlLCBrZXlTeXN0ZW06IHVuZGVmaW5lZCwgc2Vzc2lvbklkOiB1
bmRlZmluZWQsIGluaXREYXRhOiBVaW50OEFycmF5LCBtZXNzYWdlOiBVaW50OEFycmF5LCBkZWZh
dWx0VVJMOiB1bmRlZmluZWQsIGVycm9yQ29kZTogTWVkaWFLZXlFcnJvciwgc3lzdGVtQ29kZTog
dW5kZWZpbmVkIH0pLmRlZmF1bHRVUkwgaXMgInVuZGVmaW5lZCIKK1BBU1MgbmV3IE1lZGlhS2V5
RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUs
IGtleVN5c3RlbTogdW5kZWZpbmVkLCBzZXNzaW9uSWQ6IHVuZGVmaW5lZCwgaW5pdERhdGE6IFVp
bnQ4QXJyYXksIG1lc3NhZ2U6IFVpbnQ4QXJyYXksIGRlZmF1bHRVUkw6IHVuZGVmaW5lZCwgZXJy
b3JDb2RlOiBNZWRpYUtleUVycm9yLCBzeXN0ZW1Db2RlOiB1bmRlZmluZWQgfSkuZXJyb3JDb2Rl
IGlzIG51bGwKK1BBU1MgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGJ1YmJs
ZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIGtleVN5c3RlbTogdW5kZWZpbmVkLCBzZXNzaW9u
SWQ6IHVuZGVmaW5lZCwgaW5pdERhdGE6IFVpbnQ4QXJyYXksIG1lc3NhZ2U6IFVpbnQ4QXJyYXks
IGRlZmF1bHRVUkw6IHVuZGVmaW5lZCwgZXJyb3JDb2RlOiBNZWRpYUtleUVycm9yLCBzeXN0ZW1D
b2RlOiB1bmRlZmluZWQgfSkuc3lzdGVtQ29kZSBpcyAwCisKKyoqKiBJbml0aWFsaXplICdrZXlT
eXN0ZW0nIHdpdGggYSBpbnZhbGlkIHZhbHVlcyAqKioKK1BBU1MgbmV3IE1lZGlhS2V5RXZlbnQo
J01lZGlhS2V5RXZlbnQnLCB7IGtleVN5c3RlbTogZW1wdHlPYmplY3QgfSkua2V5U3lzdGVtIGlz
ICJbb2JqZWN0IE9iamVjdF0iCitQQVNTIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50
JywgeyBrZXlTeXN0ZW06IGRvY3VtZW50IH0pLmtleVN5c3RlbSBpcyAiW29iamVjdCBIVE1MRG9j
dW1lbnRdIgorCisqKiogSW5pdGlhbGl6ZSAnc2Vzc2lvbklkJyB3aXRoIGEgaW52YWxpZCB2YWx1
ZXMgKioqCitQQVNTIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBzZXNzaW9u
SWQ6IGVtcHR5T2JqZWN0IH0pLnNlc3Npb25JZCBpcyAiW29iamVjdCBPYmplY3RdIgorUEFTUyBu
ZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgc2Vzc2lvbklkOiBkb2N1bWVudCB9
KS5zZXNzaW9uSWQgaXMgIltvYmplY3QgSFRNTERvY3VtZW50XSIKKworKioqIEluaXRpYWxpemUg
J2luaXREYXRhJyB3aXRoIGEgaW52YWxpZCB2YWx1ZXMgKioqCitQQVNTIG5ldyBNZWRpYUtleUV2
ZW50KCdNZWRpYUtleUV2ZW50JywgeyBpbml0RGF0YTogMTAgfSkuaW5pdERhdGEgaXMgbnVsbAor
UEFTUyBuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgaW5pdERhdGE6ICdzdHJp
bmcnIH0pLmluaXREYXRhIGlzIG51bGwKK1BBU1MgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5
RXZlbnQnLCB7IGluaXREYXRhOiBlbXB0eU9iamVjdCB9KS5pbml0RGF0YSBpcyBudWxsCitQQVNT
IG5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBpbml0RGF0YTogZG9jdW1lbnQg
fSkuaW5pdERhdGEgaXMgbnVsbAorCisqKiogSW5pdGlhbGl6ZSAnbWVzc2FnZScgd2l0aCBhIGlu
dmFsaWQgdmFsdWVzICoqKgorUEFTUyBuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcs
IHsgbWVzc2FnZTogMTAgfSkubWVzc2FnZSBpcyBudWxsCitQQVNTIG5ldyBNZWRpYUtleUV2ZW50
KCdNZWRpYUtleUV2ZW50JywgeyBtZXNzYWdlOiAnc3RyaW5nJyB9KS5tZXNzYWdlIGlzIG51bGwK
K1BBU1MgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IG1lc3NhZ2U6IGVtcHR5
T2JqZWN0IH0pLm1lc3NhZ2UgaXMgbnVsbAorUEFTUyBuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFL
ZXlFdmVudCcsIHsgbWVzc2FnZTogZG9jdW1lbnQgfSkubWVzc2FnZSBpcyBudWxsCisKKyoqKiBJ
bml0aWFsaXplICdkZWZhdWx0VVJMJyB3aXRoIGEgaW52YWxpZCB2YWx1ZXMgKioqCitQQVNTIG5l
dyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBkZWZhdWx0VVJMOiBlbXB0eU9iamVj
dCB9KS5kZWZhdWx0VVJMIGlzICJbb2JqZWN0IE9iamVjdF0iCitQQVNTIG5ldyBNZWRpYUtleUV2
ZW50KCdNZWRpYUtleUV2ZW50JywgeyBkZWZhdWx0VVJMOiBkb2N1bWVudCB9KS5kZWZhdWx0VVJM
IGlzICJbb2JqZWN0IEhUTUxEb2N1bWVudF0iCisKKyoqKiBJbml0aWFsaXplICdlcnJvckNvZGUn
IHdpdGggYSBpbnZhbGlkIHZhbHVlcyAqKioKK1BBU1MgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlh
S2V5RXZlbnQnLCB7IGVycm9yQ29kZTogMTAgfSkuZXJyb3JDb2RlIGlzIG51bGwKK1BBU1MgbmV3
IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGVycm9yQ29kZTogJ3N0cmluZycgfSku
ZXJyb3JDb2RlIGlzIG51bGwKK1BBU1MgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQn
LCB7IGVycm9yQ29kZTogZW1wdHlPYmplY3QgfSkuZXJyb3JDb2RlIGlzIG51bGwKK1BBU1MgbmV3
IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGVycm9yQ29kZTogZG9jdW1lbnQgfSku
ZXJyb3JDb2RlIGlzIG51bGwKKworKioqIEluaXRpYWxpemUgJ3N5c3RlbUNvZGUnIHdpdGggYSBp
bnZhbGlkIHZhbHVlcyAqKioKK1BBU1MgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQn
LCB7IHN5c3RlbUNvZGU6ICdzdHJpbmcnIH0pLnN5c3RlbUNvZGUgaXMgMAorUEFTUyBuZXcgTWVk
aWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgc3lzdGVtQ29kZTogZW1wdHlPYmplY3QgfSku
c3lzdGVtQ29kZSBpcyAwCitQQVNTIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50Jywg
eyBzeXN0ZW1Db2RlOiBkb2N1bWVudCB9KS5zeXN0ZW1Db2RlIGlzIDAKKworKioqIEJ1YmJsZXMg
YW5kIGNhbmNlbGFibGUgdHJ1ZSwgdmFsaWQgb3RoZXIgbWVtYmVycyAqKioKK1BBU1MgbmV3IE1l
ZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6
IHRydWUsIGtleVN5c3RlbTogJ2tleVN5c3RlbScsIHNlc3Npb25JZDogJ3Nlc3Npb25JZCcsIGlu
aXREYXRhOiBpbml0RGF0YUFycmF5LCBtZXNzYWdlOiBtZXNzYWdlQXJyYXksIGRlZmF1bHRVUkw6
ICdkZWZhdWx0VVJMJywgZXJyb3JDb2RlOiBlcnJvck9iamVjdCwgc3lzdGVtQ29kZTogMTIzIH0p
LmJ1YmJsZXMgaXMgdHJ1ZQorUEFTUyBuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcs
IHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwga2V5U3lzdGVtOiAna2V5U3lzdGVt
Jywgc2Vzc2lvbklkOiAnc2Vzc2lvbklkJywgaW5pdERhdGE6IGluaXREYXRhQXJyYXksIG1lc3Nh
Z2U6IG1lc3NhZ2VBcnJheSwgZGVmYXVsdFVSTDogJ2RlZmF1bHRVUkwnLCBlcnJvckNvZGU6IGVy
cm9yT2JqZWN0LCBzeXN0ZW1Db2RlOiAxMjMgfSkuY2FuY2VsYWJsZSBpcyB0cnVlCitQQVNTIG5l
dyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxh
YmxlOiB0cnVlLCBrZXlTeXN0ZW06ICdrZXlTeXN0ZW0nLCBzZXNzaW9uSWQ6ICdzZXNzaW9uSWQn
LCBpbml0RGF0YTogaW5pdERhdGFBcnJheSwgbWVzc2FnZTogbWVzc2FnZUFycmF5LCBkZWZhdWx0
VVJMOiAnZGVmYXVsdFVSTCcsIGVycm9yQ29kZTogZXJyb3JPYmplY3QsIHN5c3RlbUNvZGU6IDEy
MyB9KS5rZXlTeXN0ZW0gaXMgImtleVN5c3RlbSIKK1BBU1MgbmV3IE1lZGlhS2V5RXZlbnQoJ01l
ZGlhS2V5RXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIGtleVN5c3Rl
bTogJ2tleVN5c3RlbScsIHNlc3Npb25JZDogJ3Nlc3Npb25JZCcsIGluaXREYXRhOiBpbml0RGF0
YUFycmF5LCBtZXNzYWdlOiBtZXNzYWdlQXJyYXksIGRlZmF1bHRVUkw6ICdkZWZhdWx0VVJMJywg
ZXJyb3JDb2RlOiBlcnJvck9iamVjdCwgc3lzdGVtQ29kZTogMTIzIH0pLnNlc3Npb25JZCBpcyAi
c2Vzc2lvbklkIgorUEFTUyBuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgYnVi
YmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwga2V5U3lzdGVtOiAna2V5U3lzdGVtJywgc2Vz
c2lvbklkOiAnc2Vzc2lvbklkJywgaW5pdERhdGE6IGluaXREYXRhQXJyYXksIG1lc3NhZ2U6IG1l
c3NhZ2VBcnJheSwgZGVmYXVsdFVSTDogJ2RlZmF1bHRVUkwnLCBlcnJvckNvZGU6IGVycm9yT2Jq
ZWN0LCBzeXN0ZW1Db2RlOiAxMjMgfSkuaW5pdERhdGEgaXMgaW5pdERhdGFBcnJheQorUEFTUyBu
ZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2Vs
YWJsZTogdHJ1ZSwga2V5U3lzdGVtOiAna2V5U3lzdGVtJywgc2Vzc2lvbklkOiAnc2Vzc2lvbklk
JywgaW5pdERhdGE6IGluaXREYXRhQXJyYXksIG1lc3NhZ2U6IG1lc3NhZ2VBcnJheSwgZGVmYXVs
dFVSTDogJ2RlZmF1bHRVUkwnLCBlcnJvckNvZGU6IGVycm9yT2JqZWN0LCBzeXN0ZW1Db2RlOiAx
MjMgfSkubWVzc2FnZSBpcyBtZXNzYWdlQXJyYXkKK1BBU1MgbmV3IE1lZGlhS2V5RXZlbnQoJ01l
ZGlhS2V5RXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIGtleVN5c3Rl
bTogJ2tleVN5c3RlbScsIHNlc3Npb25JZDogJ3Nlc3Npb25JZCcsIGluaXREYXRhOiBpbml0RGF0
YUFycmF5LCBtZXNzYWdlOiBtZXNzYWdlQXJyYXksIGRlZmF1bHRVUkw6ICdkZWZhdWx0VVJMJywg
ZXJyb3JDb2RlOiBlcnJvck9iamVjdCwgc3lzdGVtQ29kZTogMTIzIH0pLmRlZmF1bHRVUkwgaXMg
ImRlZmF1bHRVUkwiCitGQUlMIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBi
dWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlLCBrZXlTeXN0ZW06ICdrZXlTeXN0ZW0nLCBz
ZXNzaW9uSWQ6ICdzZXNzaW9uSWQnLCBpbml0RGF0YTogaW5pdERhdGFBcnJheSwgbWVzc2FnZTog
bWVzc2FnZUFycmF5LCBkZWZhdWx0VVJMOiAnZGVmYXVsdFVSTCcsIGVycm9yQ29kZTogZXJyb3JP
YmplY3QsIHN5c3RlbUNvZGU6IDEyMyB9KS5lcnJvckNvZGUgc2hvdWxkIGJlIGZ1bmN0aW9uIE1l
ZGlhS2V5RXJyb3IoKSB7IFtuYXRpdmUgY29kZV0gfSAob2YgdHlwZSBmdW5jdGlvbikuIFdhcyBu
dWxsIChvZiB0eXBlIG9iamVjdCkuCitGQUlMIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2
ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlLCBrZXlTeXN0ZW06ICdrZXlT
eXN0ZW0nLCBzZXNzaW9uSWQ6ICdzZXNzaW9uSWQnLCBpbml0RGF0YTogaW5pdERhdGFBcnJheSwg
bWVzc2FnZTogbWVzc2FnZUFycmF5LCBkZWZhdWx0VVJMOiAnZGVmYXVsdFVSTCcsIGVycm9yQ29k
ZTogZXJyb3JPYmplY3QsIHN5c3RlbUNvZGU6IDEyMyB9KS5lcnJvckNvZGUuY29kZSBzaG91bGQg
YmUgMS4gVGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQ2Fubm90IHJlYWQgcHJvcGVydHkgJ2Nv
ZGUnIG9mIG51bGwKK1BBU1MgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGJ1
YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIGtleVN5c3RlbTogJ2tleVN5c3RlbScsIHNl
c3Npb25JZDogJ3Nlc3Npb25JZCcsIGluaXREYXRhOiBpbml0RGF0YUFycmF5LCBtZXNzYWdlOiBt
ZXNzYWdlQXJyYXksIGRlZmF1bHRVUkw6ICdkZWZhdWx0VVJMJywgZXJyb3JDb2RlOiBlcnJvck9i
amVjdCwgc3lzdGVtQ29kZTogMTIzIH0pLnN5c3RlbUNvZGUgaXMgMTIzCisKKyoqKiBJbml0aWFs
aXplIHdpdGggdmFsaWQgbWVtYmVycyAqKioKK0ZBSUwgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlh
S2V5RXZlbnQnLCB7IGtleVN5c3RlbTogJ2tleVN5c3RlbScsIHNlc3Npb25JZDogJ3Nlc3Npb25J
ZCcsIGluaXREYXRhOiBpbml0RGF0YUFycmF5LCBtZXNzYWdlOiBtZXNzYWdlQXJyYXksIGRlZmF1
bHRVUkw6ICdkZWZhdWx0VVJMJywgZXJyb3JDb2RlOiBlcnJvck9iamVjdCwgc3lzdGVtQ29kZTog
MTIzIH0pLmJ1YmJsZXMgc2hvdWxkIGJlIHRydWUuIFdhcyBmYWxzZS4KK0ZBSUwgbmV3IE1lZGlh
S2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGtleVN5c3RlbTogJ2tleVN5c3RlbScsIHNlc3Np
b25JZDogJ3Nlc3Npb25JZCcsIGluaXREYXRhOiBpbml0RGF0YUFycmF5LCBtZXNzYWdlOiBtZXNz
YWdlQXJyYXksIGRlZmF1bHRVUkw6ICdkZWZhdWx0VVJMJywgZXJyb3JDb2RlOiBlcnJvck9iamVj
dCwgc3lzdGVtQ29kZTogMTIzIH0pLmNhbmNlbGFibGUgc2hvdWxkIGJlIHRydWUuIFdhcyBmYWxz
ZS4KK1BBU1MgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGtleVN5c3RlbTog
J2tleVN5c3RlbScsIHNlc3Npb25JZDogJ3Nlc3Npb25JZCcsIGluaXREYXRhOiBpbml0RGF0YUFy
cmF5LCBtZXNzYWdlOiBtZXNzYWdlQXJyYXksIGRlZmF1bHRVUkw6ICdkZWZhdWx0VVJMJywgZXJy
b3JDb2RlOiBlcnJvck9iamVjdCwgc3lzdGVtQ29kZTogMTIzIH0pLmtleVN5c3RlbSBpcyAia2V5
U3lzdGVtIgorUEFTUyBuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsga2V5U3lz
dGVtOiAna2V5U3lzdGVtJywgc2Vzc2lvbklkOiAnc2Vzc2lvbklkJywgaW5pdERhdGE6IGluaXRE
YXRhQXJyYXksIG1lc3NhZ2U6IG1lc3NhZ2VBcnJheSwgZGVmYXVsdFVSTDogJ2RlZmF1bHRVUkwn
LCBlcnJvckNvZGU6IGVycm9yT2JqZWN0LCBzeXN0ZW1Db2RlOiAxMjMgfSkuc2Vzc2lvbklkIGlz
ICJzZXNzaW9uSWQiCitQQVNTIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBr
ZXlTeXN0ZW06ICdrZXlTeXN0ZW0nLCBzZXNzaW9uSWQ6ICdzZXNzaW9uSWQnLCBpbml0RGF0YTog
aW5pdERhdGFBcnJheSwgbWVzc2FnZTogbWVzc2FnZUFycmF5LCBkZWZhdWx0VVJMOiAnZGVmYXVs
dFVSTCcsIGVycm9yQ29kZTogZXJyb3JPYmplY3QsIHN5c3RlbUNvZGU6IDEyMyB9KS5pbml0RGF0
YSBpcyBpbml0RGF0YUFycmF5CitQQVNTIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50
JywgeyBrZXlTeXN0ZW06ICdrZXlTeXN0ZW0nLCBzZXNzaW9uSWQ6ICdzZXNzaW9uSWQnLCBpbml0
RGF0YTogaW5pdERhdGFBcnJheSwgbWVzc2FnZTogbWVzc2FnZUFycmF5LCBkZWZhdWx0VVJMOiAn
ZGVmYXVsdFVSTCcsIGVycm9yQ29kZTogZXJyb3JPYmplY3QsIHN5c3RlbUNvZGU6IDEyMyB9KS5t
ZXNzYWdlIGlzIG1lc3NhZ2VBcnJheQorUEFTUyBuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlF
dmVudCcsIHsga2V5U3lzdGVtOiAna2V5U3lzdGVtJywgc2Vzc2lvbklkOiAnc2Vzc2lvbklkJywg
aW5pdERhdGE6IGluaXREYXRhQXJyYXksIG1lc3NhZ2U6IG1lc3NhZ2VBcnJheSwgZGVmYXVsdFVS
TDogJ2RlZmF1bHRVUkwnLCBlcnJvckNvZGU6IGVycm9yT2JqZWN0LCBzeXN0ZW1Db2RlOiAxMjMg
fSkuZGVmYXVsdFVSTCBpcyAiZGVmYXVsdFVSTCIKK0ZBSUwgbmV3IE1lZGlhS2V5RXZlbnQoJ01l
ZGlhS2V5RXZlbnQnLCB7IGtleVN5c3RlbTogJ2tleVN5c3RlbScsIHNlc3Npb25JZDogJ3Nlc3Np
b25JZCcsIGluaXREYXRhOiBpbml0RGF0YUFycmF5LCBtZXNzYWdlOiBtZXNzYWdlQXJyYXksIGRl
ZmF1bHRVUkw6ICdkZWZhdWx0VVJMJywgZXJyb3JDb2RlOiBlcnJvck9iamVjdCwgc3lzdGVtQ29k
ZTogMTIzIH0pLmVycm9yQ29kZSBzaG91bGQgYmUgZnVuY3Rpb24gTWVkaWFLZXlFcnJvcigpIHsg
W25hdGl2ZSBjb2RlXSB9IChvZiB0eXBlIGZ1bmN0aW9uKS4gV2FzIG51bGwgKG9mIHR5cGUgb2Jq
ZWN0KS4KK0ZBSUwgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGtleVN5c3Rl
bTogJ2tleVN5c3RlbScsIHNlc3Npb25JZDogJ3Nlc3Npb25JZCcsIGluaXREYXRhOiBpbml0RGF0
YUFycmF5LCBtZXNzYWdlOiBtZXNzYWdlQXJyYXksIGRlZmF1bHRVUkw6ICdkZWZhdWx0VVJMJywg
ZXJyb3JDb2RlOiBlcnJvck9iamVjdCwgc3lzdGVtQ29kZTogMTIzIH0pLmVycm9yQ29kZS5jb2Rl
IHNob3VsZCBiZSAxLiBUaHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBDYW5ub3QgcmVhZCBwcm9w
ZXJ0eSAnY29kZScgb2YgbnVsbAorUEFTUyBuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVu
dCcsIHsga2V5U3lzdGVtOiAna2V5U3lzdGVtJywgc2Vzc2lvbklkOiAnc2Vzc2lvbklkJywgaW5p
dERhdGE6IGluaXREYXRhQXJyYXksIG1lc3NhZ2U6IG1lc3NhZ2VBcnJheSwgZGVmYXVsdFVSTDog
J2RlZmF1bHRVUkwnLCBlcnJvckNvZGU6IGVycm9yT2JqZWN0LCBzeXN0ZW1Db2RlOiAxMjMgfSku
c3lzdGVtQ29kZSBpcyAxMjMKKworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2NvbnN0
cnVjdG9ycy9tZWRpYS1rZXktZXZlbnQtY29uc3RydWN0b3IuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvZXZlbnRzL2NvbnN0cnVjdG9ycy9tZWRpYS1rZXktZXZlbnQtY29uc3RydWN0b3IuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5kYjMzYThhZjBiMmQzMjc4OWU2MjAyMWVjYzA5MThkZGYxZTVjOTU1Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL21lZGlh
LWtleS1ldmVudC1jb25zdHJ1Y3Rvci5odG1sCkBAIC0wLDAgKzEsMTM1IEBACis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorPGhlYWQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5PgorICAgIDxzY3Jp
cHQ+CisKKyAgICAgICAgd2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3RzIHRoZSBjb25zdHJ1Y3RvciBmb3IgdGhlIE1lZGlhS2V5RXZl
bnQgRE9NIGNsYXNzLiIpOworCisgICAgICAgIGZ1bmN0aW9uIHRlc3QoKQorICAgICAgICB7Cisg
ICAgICAgICAgICBkZWJ1ZygiPGJyPioqKiBObyBpbml0aWFsaXplciBwYXNzZWQgKioqIik7Cisg
ICAgICAgICAgICBzaG91bGRCZSgibmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnKS5i
dWJibGVzIiwgImZhbHNlIik7CisgICAgICAgICAgICBzaG91bGRCZSgibmV3IE1lZGlhS2V5RXZl
bnQoJ01lZGlhS2V5RXZlbnQnKS5jYW5jZWxhYmxlIiwgImZhbHNlIik7CisgICAgICAgICAgICBz
aG91bGRCZUVtcHR5U3RyaW5nKCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcpLmtl
eVN5c3RlbSIpOworICAgICAgICAgICAgc2hvdWxkQmVFbXB0eVN0cmluZygibmV3IE1lZGlhS2V5
RXZlbnQoJ01lZGlhS2V5RXZlbnQnKS5zZXNzaW9uSWQiKTsKKyAgICAgICAgICAgIHNob3VsZEJl
TnVsbCgibmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnKS5pbml0RGF0YSIpOworICAg
ICAgICAgICAgc2hvdWxkQmVOdWxsKCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcp
Lm1lc3NhZ2UiKTsKKyAgICAgICAgICAgIHNob3VsZEJlRW1wdHlTdHJpbmcoIm5ldyBNZWRpYUtl
eUV2ZW50KCdNZWRpYUtleUV2ZW50JykuZGVmYXVsdFVSTCIpOworICAgICAgICAgICAgc2hvdWxk
QmVOdWxsKCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcpLmVycm9yQ29kZSIpOwor
ICAgICAgICAgICAgc2hvdWxkQmVaZXJvKCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVu
dCcpLnN5c3RlbUNvZGUiKTsKKyAgICAKKyAgICAgICAgICAgIGRlYnVnKCI8YnI+KioqIEJ1YmJs
ZXMgYW5kIGNhbmNlbGFibGUgdHJ1ZSwgb3RoZXIgbWVtYmVycyBhcmUgbWlzc2luZyAqKioiKTsK
KyAgICAgICAgICAgIHNob3VsZEJlKCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcs
IHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSB9KS5idWJibGVzIiwgInRydWUiKTsK
KyAgICAgICAgICAgIHNob3VsZEJlKCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcs
IHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSB9KS5jYW5jZWxhYmxlIiwgInRydWUi
KTsKKyAgICAgICAgICAgIHNob3VsZEJlRW1wdHlTdHJpbmcoIm5ldyBNZWRpYUtleUV2ZW50KCdN
ZWRpYUtleUV2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlIH0pLmtleVN5
c3RlbSIpOworICAgICAgICAgICAgc2hvdWxkQmVFbXB0eVN0cmluZygibmV3IE1lZGlhS2V5RXZl
bnQoJ01lZGlhS2V5RXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUgfSku
c2Vzc2lvbklkIik7CisgICAgICAgICAgICBzaG91bGRCZU51bGwoIm5ldyBNZWRpYUtleUV2ZW50
KCdNZWRpYUtleUV2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlIH0pLmlu
aXREYXRhIik7CisgICAgICAgICAgICBzaG91bGRCZU51bGwoIm5ldyBNZWRpYUtleUV2ZW50KCdN
ZWRpYUtleUV2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlIH0pLm1lc3Nh
Z2UiKTsKKyAgICAgICAgICAgIHNob3VsZEJlRW1wdHlTdHJpbmcoIm5ldyBNZWRpYUtleUV2ZW50
KCdNZWRpYUtleUV2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlIH0pLmRl
ZmF1bHRVUkwiKTsKKyAgICAgICAgICAgIHNob3VsZEJlTnVsbCgibmV3IE1lZGlhS2V5RXZlbnQo
J01lZGlhS2V5RXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUgfSkuZXJy
b3JDb2RlIik7CisgICAgICAgICAgICBzaG91bGRCZVplcm8oIm5ldyBNZWRpYUtleUV2ZW50KCdN
ZWRpYUtleUV2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlIH0pLnN5c3Rl
bUNvZGUiKTsKKyAgICAKKyAgICAgICAgICAgIGRlYnVnKCI8YnI+KioqIEJ1YmJsZXMgYW5kIGNh
bmNlbGFibGUgdHJ1ZSwgaW52YWxpZCBvdGhlciBtZW1iZXJzICoqKiIpOworICAgICAgICAgICAg
c2hvdWxkQmUoIm5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBidWJibGVzOiB0
cnVlLCBjYW5jZWxhYmxlOiB0cnVlLCBrZXlTeXN0ZW06IHVuZGVmaW5lZCwgc2Vzc2lvbklkOiB1
bmRlZmluZWQsIGluaXREYXRhOiBVaW50OEFycmF5LCBtZXNzYWdlOiBVaW50OEFycmF5LCBkZWZh
dWx0VVJMOiB1bmRlZmluZWQsIGVycm9yQ29kZTogTWVkaWFLZXlFcnJvciwgc3lzdGVtQ29kZTog
dW5kZWZpbmVkIH0pLmJ1YmJsZXMiLCAidHJ1ZSIpOworICAgICAgICAgICAgc2hvdWxkQmUoIm5l
dyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxh
YmxlOiB0cnVlLCBrZXlTeXN0ZW06IHVuZGVmaW5lZCwgc2Vzc2lvbklkOiB1bmRlZmluZWQsIGlu
aXREYXRhOiBVaW50OEFycmF5LCBtZXNzYWdlOiBVaW50OEFycmF5LCBkZWZhdWx0VVJMOiB1bmRl
ZmluZWQsIGVycm9yQ29kZTogTWVkaWFLZXlFcnJvciwgc3lzdGVtQ29kZTogdW5kZWZpbmVkIH0p
LmNhbmNlbGFibGUiLCAidHJ1ZSIpOworICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2Fu
Y2VsYWJsZTogdHJ1ZSwga2V5U3lzdGVtOiB1bmRlZmluZWQsIHNlc3Npb25JZDogdW5kZWZpbmVk
LCBpbml0RGF0YTogVWludDhBcnJheSwgbWVzc2FnZTogVWludDhBcnJheSwgZGVmYXVsdFVSTDog
dW5kZWZpbmVkLCBlcnJvckNvZGU6IE1lZGlhS2V5RXJyb3IsIHN5c3RlbUNvZGU6IHVuZGVmaW5l
ZCB9KS5rZXlTeXN0ZW0iLCAidW5kZWZpbmVkIik7CisgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoIm5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBidWJibGVzOiB0
cnVlLCBjYW5jZWxhYmxlOiB0cnVlLCBrZXlTeXN0ZW06IHVuZGVmaW5lZCwgc2Vzc2lvbklkOiB1
bmRlZmluZWQsIGluaXREYXRhOiBVaW50OEFycmF5LCBtZXNzYWdlOiBVaW50OEFycmF5LCBkZWZh
dWx0VVJMOiB1bmRlZmluZWQsIGVycm9yQ29kZTogTWVkaWFLZXlFcnJvciwgc3lzdGVtQ29kZTog
dW5kZWZpbmVkIH0pLnNlc3Npb25JZCIsICJ1bmRlZmluZWQiKTsKKyAgICAgICAgICAgIHNob3Vs
ZEJlTnVsbCgibmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGJ1YmJsZXM6IHRy
dWUsIGNhbmNlbGFibGU6IHRydWUsIGtleVN5c3RlbTogdW5kZWZpbmVkLCBzZXNzaW9uSWQ6IHVu
ZGVmaW5lZCwgaW5pdERhdGE6IFVpbnQ4QXJyYXksIG1lc3NhZ2U6IFVpbnQ4QXJyYXksIGRlZmF1
bHRVUkw6IHVuZGVmaW5lZCwgZXJyb3JDb2RlOiBNZWRpYUtleUVycm9yLCBzeXN0ZW1Db2RlOiB1
bmRlZmluZWQgfSkuaW5pdERhdGEiKTsKKyAgICAgICAgICAgIHNob3VsZEJlTnVsbCgibmV3IE1l
ZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6
IHRydWUsIGtleVN5c3RlbTogdW5kZWZpbmVkLCBzZXNzaW9uSWQ6IHVuZGVmaW5lZCwgaW5pdERh
dGE6IFVpbnQ4QXJyYXksIG1lc3NhZ2U6IFVpbnQ4QXJyYXksIGRlZmF1bHRVUkw6IHVuZGVmaW5l
ZCwgZXJyb3JDb2RlOiBNZWRpYUtleUVycm9yLCBzeXN0ZW1Db2RlOiB1bmRlZmluZWQgfSkubWVz
c2FnZSIpOworICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJuZXcgTWVkaWFLZXlF
dmVudCgnTWVkaWFLZXlFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwg
a2V5U3lzdGVtOiB1bmRlZmluZWQsIHNlc3Npb25JZDogdW5kZWZpbmVkLCBpbml0RGF0YTogVWlu
dDhBcnJheSwgbWVzc2FnZTogVWludDhBcnJheSwgZGVmYXVsdFVSTDogdW5kZWZpbmVkLCBlcnJv
ckNvZGU6IE1lZGlhS2V5RXJyb3IsIHN5c3RlbUNvZGU6IHVuZGVmaW5lZCB9KS5kZWZhdWx0VVJM
IiwgInVuZGVmaW5lZCIpOworICAgICAgICAgICAgc2hvdWxkQmVOdWxsKCJuZXcgTWVkaWFLZXlF
dmVudCgnTWVkaWFLZXlFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwg
a2V5U3lzdGVtOiB1bmRlZmluZWQsIHNlc3Npb25JZDogdW5kZWZpbmVkLCBpbml0RGF0YTogVWlu
dDhBcnJheSwgbWVzc2FnZTogVWludDhBcnJheSwgZGVmYXVsdFVSTDogdW5kZWZpbmVkLCBlcnJv
ckNvZGU6IE1lZGlhS2V5RXJyb3IsIHN5c3RlbUNvZGU6IHVuZGVmaW5lZCB9KS5lcnJvckNvZGUi
KTsKKyAgICAgICAgICAgIHNob3VsZEJlWmVybygibmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5
RXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIGtleVN5c3RlbTogdW5k
ZWZpbmVkLCBzZXNzaW9uSWQ6IHVuZGVmaW5lZCwgaW5pdERhdGE6IFVpbnQ4QXJyYXksIG1lc3Nh
Z2U6IFVpbnQ4QXJyYXksIGRlZmF1bHRVUkw6IHVuZGVmaW5lZCwgZXJyb3JDb2RlOiBNZWRpYUtl
eUVycm9yLCBzeXN0ZW1Db2RlOiB1bmRlZmluZWQgfSkuc3lzdGVtQ29kZSIpOworICAgIAorICAg
ICAgICAgICAgZGVidWcoIjxicj4qKiogSW5pdGlhbGl6ZSAna2V5U3lzdGVtJyB3aXRoIGEgaW52
YWxpZCB2YWx1ZXMgKioqIik7CisgICAgICAgICAgICBlbXB0eU9iamVjdCA9IHsgfTsKKyAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygibmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5
RXZlbnQnLCB7IGtleVN5c3RlbTogZW1wdHlPYmplY3QgfSkua2V5U3lzdGVtIiwgIltvYmplY3Qg
T2JqZWN0XSIpOworICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJuZXcgTWVkaWFL
ZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsga2V5U3lzdGVtOiBkb2N1bWVudCB9KS5rZXlTeXN0
ZW0iLCAiW29iamVjdCBIVE1MRG9jdW1lbnRdIik7CisKKyAgICAgICAgICAgIGRlYnVnKCI8YnI+
KioqIEluaXRpYWxpemUgJ3Nlc3Npb25JZCcgd2l0aCBhIGludmFsaWQgdmFsdWVzICoqKiIpOwor
ICAgICAgICAgICAgZW1wdHlPYmplY3QgPSB7IH07CisgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoIm5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBzZXNzaW9uSWQ6
IGVtcHR5T2JqZWN0IH0pLnNlc3Npb25JZCIsICJbb2JqZWN0IE9iamVjdF0iKTsKKyAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygibmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZl
bnQnLCB7IHNlc3Npb25JZDogZG9jdW1lbnQgfSkuc2Vzc2lvbklkIiwgIltvYmplY3QgSFRNTERv
Y3VtZW50XSIpOworCisgICAgICAgICAgICBkZWJ1ZygiPGJyPioqKiBJbml0aWFsaXplICdpbml0
RGF0YScgd2l0aCBhIGludmFsaWQgdmFsdWVzICoqKiIpOworICAgICAgICAgICAgc2hvdWxkQmVO
dWxsKCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgaW5pdERhdGE6IDEwIH0p
LmluaXREYXRhIik7CisgICAgICAgICAgICBzaG91bGRCZU51bGwoIm5ldyBNZWRpYUtleUV2ZW50
KCdNZWRpYUtleUV2ZW50JywgeyBpbml0RGF0YTogXCdzdHJpbmdcJyB9KS5pbml0RGF0YSIpOwor
ICAgICAgICAgICAgZW1wdHlPYmplY3QgPSB7IH07CisgICAgICAgICAgICBzaG91bGRCZU51bGwo
Im5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBpbml0RGF0YTogZW1wdHlPYmpl
Y3QgfSkuaW5pdERhdGEiKTsKKyAgICAgICAgICAgIHNob3VsZEJlTnVsbCgibmV3IE1lZGlhS2V5
RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGluaXREYXRhOiBkb2N1bWVudCB9KS5pbml0RGF0YSIp
OworCisgICAgICAgICAgICBkZWJ1ZygiPGJyPioqKiBJbml0aWFsaXplICdtZXNzYWdlJyB3aXRo
IGEgaW52YWxpZCB2YWx1ZXMgKioqIik7CisgICAgICAgICAgICBzaG91bGRCZU51bGwoIm5ldyBN
ZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBtZXNzYWdlOiAxMCB9KS5tZXNzYWdlIik7
CisgICAgICAgICAgICBzaG91bGRCZU51bGwoIm5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2
ZW50JywgeyBtZXNzYWdlOiBcJ3N0cmluZ1wnIH0pLm1lc3NhZ2UiKTsKKyAgICAgICAgICAgIGVt
cHR5T2JqZWN0ID0geyB9OworICAgICAgICAgICAgc2hvdWxkQmVOdWxsKCJuZXcgTWVkaWFLZXlF
dmVudCgnTWVkaWFLZXlFdmVudCcsIHsgbWVzc2FnZTogZW1wdHlPYmplY3QgfSkubWVzc2FnZSIp
OworICAgICAgICAgICAgc2hvdWxkQmVOdWxsKCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlF
dmVudCcsIHsgbWVzc2FnZTogZG9jdW1lbnQgfSkubWVzc2FnZSIpOworCisgICAgICAgICAgICBk
ZWJ1ZygiPGJyPioqKiBJbml0aWFsaXplICdkZWZhdWx0VVJMJyB3aXRoIGEgaW52YWxpZCB2YWx1
ZXMgKioqIik7CisgICAgICAgICAgICBlbXB0eU9iamVjdCA9IHsgfTsKKyAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygibmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7
IGRlZmF1bHRVUkw6IGVtcHR5T2JqZWN0IH0pLmRlZmF1bHRVUkwiLCAiW29iamVjdCBPYmplY3Rd
Iik7CisgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIm5ldyBNZWRpYUtleUV2ZW50
KCdNZWRpYUtleUV2ZW50JywgeyBkZWZhdWx0VVJMOiBkb2N1bWVudCB9KS5kZWZhdWx0VVJMIiwg
IltvYmplY3QgSFRNTERvY3VtZW50XSIpOworCisgICAgICAgICAgICBkZWJ1ZygiPGJyPioqKiBJ
bml0aWFsaXplICdlcnJvckNvZGUnIHdpdGggYSBpbnZhbGlkIHZhbHVlcyAqKioiKTsKKyAgICAg
ICAgICAgIHNob3VsZEJlTnVsbCgibmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7
IGVycm9yQ29kZTogMTAgfSkuZXJyb3JDb2RlIik7CisgICAgICAgICAgICBzaG91bGRCZU51bGwo
Im5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBlcnJvckNvZGU6IFwnc3RyaW5n
XCcgfSkuZXJyb3JDb2RlIik7CisgICAgICAgICAgICBlbXB0eU9iamVjdCA9IHsgfTsKKyAgICAg
ICAgICAgIHNob3VsZEJlTnVsbCgibmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7
IGVycm9yQ29kZTogZW1wdHlPYmplY3QgfSkuZXJyb3JDb2RlIik7CisgICAgICAgICAgICBzaG91
bGRCZU51bGwoIm5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBlcnJvckNvZGU6
IGRvY3VtZW50IH0pLmVycm9yQ29kZSIpOworCisgICAgICAgICAgICBkZWJ1ZygiPGJyPioqKiBJ
bml0aWFsaXplICdzeXN0ZW1Db2RlJyB3aXRoIGEgaW52YWxpZCB2YWx1ZXMgKioqIik7CisgICAg
ICAgICAgICBzaG91bGRCZVplcm8oIm5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50Jywg
eyBzeXN0ZW1Db2RlOiBcJ3N0cmluZ1wnIH0pLnN5c3RlbUNvZGUiKTsKKyAgICAgICAgICAgIGVt
cHR5T2JqZWN0ID0geyB9OworICAgICAgICAgICAgc2hvdWxkQmVaZXJvKCJuZXcgTWVkaWFLZXlF
dmVudCgnTWVkaWFLZXlFdmVudCcsIHsgc3lzdGVtQ29kZTogZW1wdHlPYmplY3QgfSkuc3lzdGVt
Q29kZSIpOworICAgICAgICAgICAgc2hvdWxkQmVaZXJvKCJuZXcgTWVkaWFLZXlFdmVudCgnTWVk
aWFLZXlFdmVudCcsIHsgc3lzdGVtQ29kZTogZG9jdW1lbnQgfSkuc3lzdGVtQ29kZSIpOworCisg
ICAgICAgICAgICBkZWJ1ZygiPGJyPioqKiBCdWJibGVzIGFuZCBjYW5jZWxhYmxlIHRydWUsIHZh
bGlkIG90aGVyIG1lbWJlcnMgKioqIik7CisgICAgICAgICAgICBzaG91bGRCZSgibmV3IE1lZGlh
S2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRy
dWUsIGtleVN5c3RlbTogJ2tleVN5c3RlbScsIHNlc3Npb25JZDogJ3Nlc3Npb25JZCcsIGluaXRE
YXRhOiBpbml0RGF0YUFycmF5LCBtZXNzYWdlOiBtZXNzYWdlQXJyYXksIGRlZmF1bHRVUkw6ICdk
ZWZhdWx0VVJMJywgZXJyb3JDb2RlOiBlcnJvck9iamVjdCwgc3lzdGVtQ29kZTogMTIzIH0pLmJ1
YmJsZXMiLCAidHJ1ZSIpOworICAgICAgICAgICAgc2hvdWxkQmUoIm5ldyBNZWRpYUtleUV2ZW50
KCdNZWRpYUtleUV2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlLCBrZXlT
eXN0ZW06ICdrZXlTeXN0ZW0nLCBzZXNzaW9uSWQ6ICdzZXNzaW9uSWQnLCBpbml0RGF0YTogaW5p
dERhdGFBcnJheSwgbWVzc2FnZTogbWVzc2FnZUFycmF5LCBkZWZhdWx0VVJMOiAnZGVmYXVsdFVS
TCcsIGVycm9yQ29kZTogZXJyb3JPYmplY3QsIHN5c3RlbUNvZGU6IDEyMyB9KS5jYW5jZWxhYmxl
IiwgInRydWUiKTsKKyAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygibmV3IE1lZGlh
S2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRy
dWUsIGtleVN5c3RlbTogJ2tleVN5c3RlbScsIHNlc3Npb25JZDogJ3Nlc3Npb25JZCcsIGluaXRE
YXRhOiBpbml0RGF0YUFycmF5LCBtZXNzYWdlOiBtZXNzYWdlQXJyYXksIGRlZmF1bHRVUkw6ICdk
ZWZhdWx0VVJMJywgZXJyb3JDb2RlOiBlcnJvck9iamVjdCwgc3lzdGVtQ29kZTogMTIzIH0pLmtl
eVN5c3RlbSIsICJrZXlTeXN0ZW0iKTsKKyAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygibmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNh
bmNlbGFibGU6IHRydWUsIGtleVN5c3RlbTogJ2tleVN5c3RlbScsIHNlc3Npb25JZDogJ3Nlc3Np
b25JZCcsIGluaXREYXRhOiBpbml0RGF0YUFycmF5LCBtZXNzYWdlOiBtZXNzYWdlQXJyYXksIGRl
ZmF1bHRVUkw6ICdkZWZhdWx0VVJMJywgZXJyb3JDb2RlOiBlcnJvck9iamVjdCwgc3lzdGVtQ29k
ZTogMTIzIH0pLnNlc3Npb25JZCIsICJzZXNzaW9uSWQiKTsKKyAgICAgICAgICAgIHNob3VsZEJl
KCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2Fu
Y2VsYWJsZTogdHJ1ZSwga2V5U3lzdGVtOiAna2V5U3lzdGVtJywgc2Vzc2lvbklkOiAnc2Vzc2lv
bklkJywgaW5pdERhdGE6IGluaXREYXRhQXJyYXksIG1lc3NhZ2U6IG1lc3NhZ2VBcnJheSwgZGVm
YXVsdFVSTDogJ2RlZmF1bHRVUkwnLCBlcnJvckNvZGU6IGVycm9yT2JqZWN0LCBzeXN0ZW1Db2Rl
OiAxMjMgfSkuaW5pdERhdGEiLCAiaW5pdERhdGFBcnJheSIpOworICAgICAgICAgICAgc2hvdWxk
QmUoIm5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBidWJibGVzOiB0cnVlLCBj
YW5jZWxhYmxlOiB0cnVlLCBrZXlTeXN0ZW06ICdrZXlTeXN0ZW0nLCBzZXNzaW9uSWQ6ICdzZXNz
aW9uSWQnLCBpbml0RGF0YTogaW5pdERhdGFBcnJheSwgbWVzc2FnZTogbWVzc2FnZUFycmF5LCBk
ZWZhdWx0VVJMOiAnZGVmYXVsdFVSTCcsIGVycm9yQ29kZTogZXJyb3JPYmplY3QsIHN5c3RlbUNv
ZGU6IDEyMyB9KS5tZXNzYWdlIiwgIm1lc3NhZ2VBcnJheSIpOworICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgYnVi
YmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwga2V5U3lzdGVtOiAna2V5U3lzdGVtJywgc2Vz
c2lvbklkOiAnc2Vzc2lvbklkJywgaW5pdERhdGE6IGluaXREYXRhQXJyYXksIG1lc3NhZ2U6IG1l
c3NhZ2VBcnJheSwgZGVmYXVsdFVSTDogJ2RlZmF1bHRVUkwnLCBlcnJvckNvZGU6IGVycm9yT2Jq
ZWN0LCBzeXN0ZW1Db2RlOiAxMjMgfSkuZGVmYXVsdFVSTCIsICJkZWZhdWx0VVJMIik7CisgICAg
ICAgICAgICAvLyBGSVhNRSg4Mjk4OCk6IFRoZXNlIHR3byBmYWlsLgorICAgICAgICAgICAgc2hv
dWxkQmUoIm5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBidWJibGVzOiB0cnVl
LCBjYW5jZWxhYmxlOiB0cnVlLCBrZXlTeXN0ZW06ICdrZXlTeXN0ZW0nLCBzZXNzaW9uSWQ6ICdz
ZXNzaW9uSWQnLCBpbml0RGF0YTogaW5pdERhdGFBcnJheSwgbWVzc2FnZTogbWVzc2FnZUFycmF5
LCBkZWZhdWx0VVJMOiAnZGVmYXVsdFVSTCcsIGVycm9yQ29kZTogZXJyb3JPYmplY3QsIHN5c3Rl
bUNvZGU6IDEyMyB9KS5lcnJvckNvZGUiLCAiZXJyb3JPYmplY3QiKTsKKyAgICAgICAgICAgIHNo
b3VsZEJlKCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgYnViYmxlczogdHJ1
ZSwgY2FuY2VsYWJsZTogdHJ1ZSwga2V5U3lzdGVtOiAna2V5U3lzdGVtJywgc2Vzc2lvbklkOiAn
c2Vzc2lvbklkJywgaW5pdERhdGE6IGluaXREYXRhQXJyYXksIG1lc3NhZ2U6IG1lc3NhZ2VBcnJh
eSwgZGVmYXVsdFVSTDogJ2RlZmF1bHRVUkwnLCBlcnJvckNvZGU6IGVycm9yT2JqZWN0LCBzeXN0
ZW1Db2RlOiAxMjMgfSkuZXJyb3JDb2RlLmNvZGUiLCAiTWVkaWFLZXlFcnJvci5NRURJQV9LRVlF
UlJfVU5LTk9XTiIpOworICAgICAgICAgICAgc2hvdWxkQmUoIm5ldyBNZWRpYUtleUV2ZW50KCdN
ZWRpYUtleUV2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlLCBrZXlTeXN0
ZW06ICdrZXlTeXN0ZW0nLCBzZXNzaW9uSWQ6ICdzZXNzaW9uSWQnLCBpbml0RGF0YTogaW5pdERh
dGFBcnJheSwgbWVzc2FnZTogbWVzc2FnZUFycmF5LCBkZWZhdWx0VVJMOiAnZGVmYXVsdFVSTCcs
IGVycm9yQ29kZTogZXJyb3JPYmplY3QsIHN5c3RlbUNvZGU6IDEyMyB9KS5zeXN0ZW1Db2RlIiwg
IjEyMyIpOworCisgICAgICAgICAgICBkZWJ1ZygiPGJyPioqKiBJbml0aWFsaXplIHdpdGggdmFs
aWQgbWVtYmVycyAqKioiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJuZXcgTWVkaWFLZXlFdmVu
dCgnTWVkaWFLZXlFdmVudCcsIHsga2V5U3lzdGVtOiAna2V5U3lzdGVtJywgc2Vzc2lvbklkOiAn
c2Vzc2lvbklkJywgaW5pdERhdGE6IGluaXREYXRhQXJyYXksIG1lc3NhZ2U6IG1lc3NhZ2VBcnJh
eSwgZGVmYXVsdFVSTDogJ2RlZmF1bHRVUkwnLCBlcnJvckNvZGU6IGVycm9yT2JqZWN0LCBzeXN0
ZW1Db2RlOiAxMjMgfSkuYnViYmxlcyIsICJ0cnVlIik7CisgICAgICAgICAgICBzaG91bGRCZSgi
bmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGtleVN5c3RlbTogJ2tleVN5c3Rl
bScsIHNlc3Npb25JZDogJ3Nlc3Npb25JZCcsIGluaXREYXRhOiBpbml0RGF0YUFycmF5LCBtZXNz
YWdlOiBtZXNzYWdlQXJyYXksIGRlZmF1bHRVUkw6ICdkZWZhdWx0VVJMJywgZXJyb3JDb2RlOiBl
cnJvck9iamVjdCwgc3lzdGVtQ29kZTogMTIzIH0pLmNhbmNlbGFibGUiLCAidHJ1ZSIpOworICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFL
ZXlFdmVudCcsIHsga2V5U3lzdGVtOiAna2V5U3lzdGVtJywgc2Vzc2lvbklkOiAnc2Vzc2lvbklk
JywgaW5pdERhdGE6IGluaXREYXRhQXJyYXksIG1lc3NhZ2U6IG1lc3NhZ2VBcnJheSwgZGVmYXVs
dFVSTDogJ2RlZmF1bHRVUkwnLCBlcnJvckNvZGU6IGVycm9yT2JqZWN0LCBzeXN0ZW1Db2RlOiAx
MjMgfSkua2V5U3lzdGVtIiwgImtleVN5c3RlbSIpOworICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsga2V5U3lzdGVt
OiAna2V5U3lzdGVtJywgc2Vzc2lvbklkOiAnc2Vzc2lvbklkJywgaW5pdERhdGE6IGluaXREYXRh
QXJyYXksIG1lc3NhZ2U6IG1lc3NhZ2VBcnJheSwgZGVmYXVsdFVSTDogJ2RlZmF1bHRVUkwnLCBl
cnJvckNvZGU6IGVycm9yT2JqZWN0LCBzeXN0ZW1Db2RlOiAxMjMgfSkuc2Vzc2lvbklkIiwgInNl
c3Npb25JZCIpOworICAgICAgICAgICAgc2hvdWxkQmUoIm5ldyBNZWRpYUtleUV2ZW50KCdNZWRp
YUtleUV2ZW50JywgeyBrZXlTeXN0ZW06ICdrZXlTeXN0ZW0nLCBzZXNzaW9uSWQ6ICdzZXNzaW9u
SWQnLCBpbml0RGF0YTogaW5pdERhdGFBcnJheSwgbWVzc2FnZTogbWVzc2FnZUFycmF5LCBkZWZh
dWx0VVJMOiAnZGVmYXVsdFVSTCcsIGVycm9yQ29kZTogZXJyb3JPYmplY3QsIHN5c3RlbUNvZGU6
IDEyMyB9KS5pbml0RGF0YSIsICJpbml0RGF0YUFycmF5Iik7CisgICAgICAgICAgICBzaG91bGRC
ZSgibmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGtleVN5c3RlbTogJ2tleVN5
c3RlbScsIHNlc3Npb25JZDogJ3Nlc3Npb25JZCcsIGluaXREYXRhOiBpbml0RGF0YUFycmF5LCBt
ZXNzYWdlOiBtZXNzYWdlQXJyYXksIGRlZmF1bHRVUkw6ICdkZWZhdWx0VVJMJywgZXJyb3JDb2Rl
OiBlcnJvck9iamVjdCwgc3lzdGVtQ29kZTogMTIzIH0pLm1lc3NhZ2UiLCAibWVzc2FnZUFycmF5
Iik7CisgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIm5ldyBNZWRpYUtleUV2ZW50
KCdNZWRpYUtleUV2ZW50JywgeyBrZXlTeXN0ZW06ICdrZXlTeXN0ZW0nLCBzZXNzaW9uSWQ6ICdz
ZXNzaW9uSWQnLCBpbml0RGF0YTogaW5pdERhdGFBcnJheSwgbWVzc2FnZTogbWVzc2FnZUFycmF5
LCBkZWZhdWx0VVJMOiAnZGVmYXVsdFVSTCcsIGVycm9yQ29kZTogZXJyb3JPYmplY3QsIHN5c3Rl
bUNvZGU6IDEyMyB9KS5kZWZhdWx0VVJMIiwgImRlZmF1bHRVUkwiKTsKKyAgICAgICAgICAgIC8v
IEZJWE1FKDgyOTg4KTogVGhlc2UgdHdvIGZhaWwuCisgICAgICAgICAgICBzaG91bGRCZSgibmV3
IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGtleVN5c3RlbTogJ2tleVN5c3RlbScs
IHNlc3Npb25JZDogJ3Nlc3Npb25JZCcsIGluaXREYXRhOiBpbml0RGF0YUFycmF5LCBtZXNzYWdl
OiBtZXNzYWdlQXJyYXksIGRlZmF1bHRVUkw6ICdkZWZhdWx0VVJMJywgZXJyb3JDb2RlOiBlcnJv
ck9iamVjdCwgc3lzdGVtQ29kZTogMTIzIH0pLmVycm9yQ29kZSIsICJlcnJvck9iamVjdCIpOwor
ICAgICAgICAgICAgc2hvdWxkQmUoIm5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50Jywg
eyBrZXlTeXN0ZW06ICdrZXlTeXN0ZW0nLCBzZXNzaW9uSWQ6ICdzZXNzaW9uSWQnLCBpbml0RGF0
YTogaW5pdERhdGFBcnJheSwgbWVzc2FnZTogbWVzc2FnZUFycmF5LCBkZWZhdWx0VVJMOiAnZGVm
YXVsdFVSTCcsIGVycm9yQ29kZTogZXJyb3JPYmplY3QsIHN5c3RlbUNvZGU6IDEyMyB9KS5lcnJv
ckNvZGUuY29kZSIsICJNZWRpYUtleUVycm9yLk1FRElBX0tFWUVSUl9VTktOT1dOIik7CisgICAg
ICAgICAgICBzaG91bGRCZSgibmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGtl
eVN5c3RlbTogJ2tleVN5c3RlbScsIHNlc3Npb25JZDogJ3Nlc3Npb25JZCcsIGluaXREYXRhOiBp
bml0RGF0YUFycmF5LCBtZXNzYWdlOiBtZXNzYWdlQXJyYXksIGRlZmF1bHRVUkw6ICdkZWZhdWx0
VVJMJywgZXJyb3JDb2RlOiBlcnJvck9iamVjdCwgc3lzdGVtQ29kZTogMTIzIH0pLnN5c3RlbUNv
ZGUiLCAiMTIzIik7CisKKyAgICAgICAgICAgIGRlYnVnKCIiKTsKKyAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICB9CisKKyAgICAgICAgdmFyIGluaXREYXRhQXJyYXkgPSBuZXcg
VWludDhBcnJheShbMHg0MSwgMHg0MiwgMHg0M10pOworICAgICAgICB2YXIgbWVzc2FnZUFycmF5
ID0gbmV3IFVpbnQ4QXJyYXkoWzB4NTEsIDB4NTIsIDB4NTNdKTsKKyAgICAgICAgLy8gRklYTUUo
ODI5ODgpOiBUaGlzIGRvZXMgbm90IGNyZWF0ZSBhbiBlcnJvciBsaWtlIHdlIHdhbnQuCisgICAg
ICAgIHZhciBlcnJvck9iamVjdCA9IHdpbmRvdy5NZWRpYUtleUVycm9yOworICAgICAgICAvLyBz
aG91bGRCZSgidHlwZW9mIGVycm9yT2JqZWN0IiwgVEJEKTsKKworICAgICAgICB2aWRlbyA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3ZpZGVvJyk7CisgICAgICAgIGRvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQodmlkZW8pOworCisgICAgICAgIHRlc3QoKQorICAgIDwvc2NyaXB0PgorICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcwppbmRleCAwMzZlNzZhMjcxZDNjMjQzMmM4YWI0NWI1ZjJmN2M5NjZjNmFjMDcz
Li4wYWE0MTdkZjA2ZDY2Nzg0NDIxZGZmOTAxNzM5NGVmMmNkNjk3MDdiIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcworKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcwpAQCAtMjU0LDYgKzI1NCw3IEBA
IGZ1bmN0aW9uIHNob3VsZEJlVHJ1ZVF1aWV0KF9hKSB7IHNob3VsZEJlKF9hLCAidHJ1ZSIsIHRy
dWUpOyB9CiBmdW5jdGlvbiBzaG91bGRCZUZhbHNlKF9hKSB7IHNob3VsZEJlKF9hLCAiZmFsc2Ui
KTsgfQogZnVuY3Rpb24gc2hvdWxkQmVOYU4oX2EpIHsgc2hvdWxkQmUoX2EsICJOYU4iKTsgfQog
ZnVuY3Rpb24gc2hvdWxkQmVOdWxsKF9hKSB7IHNob3VsZEJlKF9hLCAibnVsbCIpOyB9CitmdW5j
dGlvbiBzaG91bGRCZVplcm8oX2EpIHsgc2hvdWxkQmUoX2EsICIwIik7IH0KIAogZnVuY3Rpb24g
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKGEsIGIpCiB7CkBAIC0yNjEsNiArMjYyLDggQEAgZnVuY3Rp
b24gc2hvdWxkQmVFcXVhbFRvU3RyaW5nKGEsIGIpCiAgIHNob3VsZEJlKGEsIHVuZXZhbGVkU3Ry
aW5nKTsKIH0KIAorZnVuY3Rpb24gc2hvdWxkQmVFbXB0eVN0cmluZyhfYSkgeyBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoX2EsICIiKTsgfQorCiBmdW5jdGlvbiBzaG91bGRFdmFsdWF0ZVRvKGFjdHVh
bCwgZXhwZWN0ZWQpIHsKICAgLy8gQSBnZW5lcmFsLXB1cnBvc2UgY29tcGFyYXRvci4gICdhY3R1
YWwnIHNob3VsZCBiZSBhIHN0cmluZyB0byBiZQogICAvLyBldmFsdWF0ZWQsIGFzIGZvciBzaG91
bGRCZSgpLiAnZXhwZWN0ZWQnIG1heSBiZSBhbnkgdHlwZSBhbmQgd2lsbCBiZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvbWVkaWEvZW5jcnlwdGVkLW1lZGlhL2VuY3J5cHRlZC1tZWRpYS1jb25z
dGFudHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvbWVkaWEvZW5jcnlwdGVkLW1lZGlhL2Vu
Y3J5cHRlZC1tZWRpYS1jb25zdGFudHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzOTQwYWQz
YzFiZDVlOGQ1YWJhMmNkN2YyNWEwNzYzZmQ1ZDVlMTUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9tZWRpYS9lbmNyeXB0ZWQtbWVkaWEvZW5jcnlwdGVkLW1lZGlhLWNvbnN0YW50cy1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMiBAQAorVGVzdCBNZWRpYUtleUVycm9yIGNvbnN0YW50
cyBhbmQgYWRkaXRpb25hbCBNZWRpYUVycm9yIGNvbnN0YW50LgorCitFWFBFQ1RFRCAoTWVkaWFL
ZXlFcnJvci5NRURJQV9LRVlFUlJfVU5LTk9XTiA9PSAnMScpIE9LCitFWFBFQ1RFRCAoTWVkaWFL
ZXlFcnJvci5NRURJQV9LRVlFUlJfQ0xJRU5UID09ICcyJykgT0sKK0VYUEVDVEVEIChNZWRpYUtl
eUVycm9yLk1FRElBX0tFWUVSUl9TRVJWSUNFID09ICczJykgT0sKK0VYUEVDVEVEIChNZWRpYUtl
eUVycm9yLk1FRElBX0tFWUVSUl9PVVRQVVQgPT0gJzQnKSBPSworRVhQRUNURUQgKE1lZGlhS2V5
RXJyb3IuTUVESUFfS0VZRVJSX0hBUkRXQVJFQ0hBTkdFID09ICc1JykgT0sKK0VYUEVDVEVEIChN
ZWRpYUtleUVycm9yLk1FRElBX0tFWUVSUl9ET01BSU4gPT0gJzYnKSBPSworCitFWFBFQ1RFRCAo
TWVkaWFFcnJvci5NRURJQV9FUlJfRU5DUllQVEVEID09ICc1JykgT0sKK0VORCBPRiBURVNUCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL2VuY3J5cHRlZC1tZWRpYS9lbmNyeXB0ZWQt
bWVkaWEtY29uc3RhbnRzLmh0bWwgYi9MYXlvdXRUZXN0cy9tZWRpYS9lbmNyeXB0ZWQtbWVkaWEv
ZW5jcnlwdGVkLW1lZGlhLWNvbnN0YW50cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhjYjY5N2E5NTZiYTlj
ZWU2NzdlNWYyOTExOGMxMWI3NGUzYTY2NDcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9tZWRpYS9lbmNyeXB0ZWQtbWVkaWEvZW5jcnlwdGVkLW1lZGlhLWNvbnN0YW50cy5odG1sCkBA
IC0wLDAgKzEsMjUgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8c2Ny
aXB0IHNyYz0uLi92aWRlby10ZXN0LmpzPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgdHlwZT0idGV4
dC9qYXZhc2NyaXB0Ij4KKyAgICAgICAgZnVuY3Rpb24gZG9UZXN0ICgpIAorICAgICAgICB7Cisg
ICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoIk1lZGlhS2V5RXJyb3IuTUVESUFfS0VZRVJSX1VOS05P
V04iLCAxKTsKKyAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgiTWVkaWFLZXlFcnJvci5NRURJQV9L
RVlFUlJfQ0xJRU5UIiwgMik7CisgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoIk1lZGlhS2V5RXJy
b3IuTUVESUFfS0VZRVJSX1NFUlZJQ0UiLCAzKTsKKyAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgi
TWVkaWFLZXlFcnJvci5NRURJQV9LRVlFUlJfT1VUUFVUIiwgNCk7CisgICAgICAgICAgICB0ZXN0
RXhwZWN0ZWQoIk1lZGlhS2V5RXJyb3IuTUVESUFfS0VZRVJSX0hBUkRXQVJFQ0hBTkdFIiwgNSk7
CisgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoIk1lZGlhS2V5RXJyb3IuTUVESUFfS0VZRVJSX0RP
TUFJTiIsIDYpOworICAgICAgICAgICAgY29uc29sZVdyaXRlKCIiKTsKKworICAgICAgICAgICAg
dGVzdEV4cGVjdGVkKCJNZWRpYUVycm9yLk1FRElBX0VSUl9FTkNSWVBURUQiLCA1KTsKKworICAg
ICAgICAgICAgZW5kVGVzdCgpOworICAgICAgICB9CisgICAgPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keSBvbmxvYWQ9ImRvVGVzdCgpIj4KKyAgICA8cD5UZXN0IE1lZGlhS2V5RXJyb3IgY29uc3Rh
bnRzIGFuZCBhZGRpdGlvbmFsIE1lZGlhRXJyb3IgY29uc3RhbnQuPC9wPgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvZW5jcnlwdGVkLW1lZGlhL2VuY3J5
cHRlZC1tZWRpYS1ldmVudHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvbWVkaWEvZW5jcnlw
dGVkLW1lZGlhL2VuY3J5cHRlZC1tZWRpYS1ldmVudHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdhODQxMjZkZmM0MzIxOTY5MGJiMzIxNTIxZDIwYjcxODEyMjQ1MDMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9tZWRpYS9lbmNyeXB0ZWQtbWVkaWEvZW5jcnlwdGVkLW1lZGlhLWV2
ZW50cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMjggQEAKK1Rlc3QgYWxsIHRoZSBrZXktcmVs
YXRlZCBldmVudHMuCisKKyoqKiBWZXJpZnkgdGhlIHByZXNlbmNlIG9mIG9uKiBhdHRyaWJ1dGVz
LiBUaGVzZSB3b3VsZCByZXR1cm4gdW5kZWZpbmVkIGlmIHRoZXkgYXJlIG5vdCBwcmVzZW50LiAq
KioKK0VYUEVDVEVEICh2aWRlby5vbndlYmtpdGtleWFkZGVkID09PSAnbnVsbCcpIE9LCitFWFBF
Q1RFRCAodmlkZW8ub253ZWJraXRrZXllcnJvciA9PT0gJ251bGwnKSBPSworRVhQRUNURUQgKHZp
ZGVvLm9ud2Via2l0a2V5bWVzc2FnZSA9PT0gJ251bGwnKSBPSworRVhQRUNURUQgKHZpZGVvLm9u
d2Via2l0bmVlZGtleSA9PT0gJ251bGwnKSBPSworCisqKiogVGVzdCBldmVudHMgdXNpbmcgb24q
IGF0dHJpYnV0ZXMuICoqKgorRVZFTlQobG9hZHN0YXJ0KQorCitSVU4odmlkZW8ud2Via2l0R2Vu
ZXJhdGVLZXlSZXF1ZXN0KCd3ZWJraXQtb3JnLnczLmNsZWFya2V5JywgaW5pdERhdGEpKQora2V5
bWVzc2FnZSBldmVudCBvY2N1cnJlZAorRVhQRUNURUQgKGV2ZW50LnRhcmdldCA9PSAnW29iamVj
dCBIVE1MVmlkZW9FbGVtZW50XScpIE9LCitFWFBFQ1RFRCAoZXZlbnQgaW5zdGFuY2VvZiB3aW5k
b3cuTWVkaWFLZXlFdmVudCA9PSAndHJ1ZScpIE9LCitFWFBFQ1RFRCAoZXZlbnQua2V5U3lzdGVt
ID09ICd3ZWJraXQtb3JnLnczLmNsZWFya2V5JykgT0sKK1RoZSBzZXNzaW9uSWQgc2hvdWxkIGJl
IGEgbm9uLWVtcHR5IHN0cmluZyBjb250YWluaW5nIGFuIGludGVnZXIuCitFWFBFQ1RFRCAoZXZl
bnQuc2Vzc2lvbklkICE9ICcnKSBPSworRVhQRUNURUQgKGV2ZW50LnNlc3Npb25JZCAhPSAnbnVs
bCcpIE9LCitFWFBFQ1RFRCAoZXZlbnQuc2Vzc2lvbklkICE9ICd1bmRlZmluZWQnKSBPSworRVhQ
RUNURUQgKGlzTmFOKGV2ZW50LnNlc3Npb25JZCkgPT0gJ2ZhbHNlJykgT0sKK0VYUEVDVEVEIChT
dHJpbmcoZXZlbnQuc2Vzc2lvbklkKSA9PSBTdHJpbmcocGFyc2VJbnQoZXZlbnQuc2Vzc2lvbklk
KSkgPT0gJ3RydWUnKSBPSworSW1wbGVtZW50YXRpb25zIHNob3VsZCBhdm9pZCBzZXNzaW9uSWRz
IG9mIDAuCitFWFBFQ1RFRCAoZXZlbnQuc2Vzc2lvbklkID4gJzAnKSBPSworRVhQRUNURUQgKGV2
ZW50LmluaXREYXRhID09PSAnbnVsbCcpIE9LCitFWFBFQ1RFRCAoZXZlbnQubWVzc2FnZS5sZW5n
dGggPT0gJzMnKSBPSworRVhQRUNURUQgKGV2ZW50Lm1lc3NhZ2VbMF0gPT0gJzY1JykgT0sKK0VY
UEVDVEVEIChldmVudC5tZXNzYWdlWzFdID09ICc2NicpIE9LCitFWFBFQ1RFRCAoZXZlbnQubWVz
c2FnZVsyXSA9PSAnNjcnKSBPSworRVhQRUNURUQgKGV2ZW50LmRlZmF1bHRVUkwgPT0gJycpIE9L
CitFWFBFQ1RFRCAoZXZlbnQuZXJyb3JDb2RlID09PSAnbnVsbCcpIE9LCitFWFBFQ1RFRCAoZXZl
bnQuc3lzdGVtQ29kZSA9PSAnMCcpIE9LCisKK1JVTih2aWRlby53ZWJraXRBZGRLZXkoJ3dlYmtp
dC1vcmcudzMuY2xlYXJrZXknLCBrZXksIGV2ZW50LmluaXREYXRhLCBldmVudC5zZXNzaW9uSWQp
KQora2V5YWRkZWQgZXZlbnQgb2NjdXJyZWQKK0VYUEVDVEVEIChldmVudC50YXJnZXQgPT0gJ1tv
YmplY3QgSFRNTFZpZGVvRWxlbWVudF0nKSBPSworRVhQRUNURUQgKGV2ZW50IGluc3RhbmNlb2Yg
d2luZG93Lk1lZGlhS2V5RXZlbnQgPT0gJ3RydWUnKSBPSworRVhQRUNURUQgKGV2ZW50LmtleVN5
c3RlbSA9PSAnd2Via2l0LW9yZy53My5jbGVhcmtleScpIE9LCitFWFBFQ1RFRCAoZXZlbnQuc2Vz
c2lvbklkID09IGtleU1lc3NhZ2VTZXNzaW9uSWQgPT0gJ3RydWUnKSBPSworRVhQRUNURUQgKGV2
ZW50LmluaXREYXRhID09PSAnbnVsbCcpIE9LCitFWFBFQ1RFRCAoZXZlbnQubWVzc2FnZSA9PT0g
J251bGwnKSBPSworRVhQRUNURUQgKGV2ZW50LmRlZmF1bHRVUkwgPT0gJycpIE9LCitFWFBFQ1RF
RCAoZXZlbnQuZXJyb3JDb2RlID09PSAnbnVsbCcpIE9LCitFWFBFQ1RFRCAoZXZlbnQuc3lzdGVt
Q29kZSA9PSAnMCcpIE9LCisKK1JVTih2aWRlby53ZWJraXRBZGRLZXkoJ3dlYmtpdC1vcmcudzMu
Y2xlYXJrZXknLCBpbnZhbGlkS2V5LCBudWxsLCBldmVudC5zZXNzaW9uSWQpKQora2V5ZXJyb3Ig
ZXZlbnQgb2NjdXJyZWQKK0VYUEVDVEVEIChldmVudC50YXJnZXQgPT0gJ1tvYmplY3QgSFRNTFZp
ZGVvRWxlbWVudF0nKSBPSworRVhQRUNURUQgKGV2ZW50IGluc3RhbmNlb2Ygd2luZG93Lk1lZGlh
S2V5RXZlbnQgPT0gJ3RydWUnKSBPSworRVhQRUNURUQgKGV2ZW50LmtleVN5c3RlbSA9PSAnd2Vi
a2l0LW9yZy53My5jbGVhcmtleScpIE9LCitFWFBFQ1RFRCAoZXZlbnQuc2Vzc2lvbklkID09IGtl
eU1lc3NhZ2VTZXNzaW9uSWQgPT0gJ3RydWUnKSBPSworRVhQRUNURUQgKGV2ZW50LmluaXREYXRh
ID09PSAnbnVsbCcpIE9LCitFWFBFQ1RFRCAoZXZlbnQubWVzc2FnZSA9PT0gJ251bGwnKSBPSwor
RVhQRUNURUQgKGV2ZW50LmRlZmF1bHRVUkwgPT0gJycpIE9LCitFWFBFQ1RFRCAoZXZlbnQuZXJy
b3JDb2RlLmNvZGUgPT0gJzEnKSBPSworRVhQRUNURUQgKGV2ZW50LnN5c3RlbUNvZGUgPT0gJzAn
KSBPSworCisqKiogVGVzdCBldmVudHMgdXNpbmcgYWRkRXZlbnRMaXN0ZW5lcigpLiAqKioKK0VW
RU5UKGxvYWRzdGFydCkKKworUlVOKHZpZGVvLndlYmtpdEdlbmVyYXRlS2V5UmVxdWVzdCgnd2Vi
a2l0LW9yZy53My5jbGVhcmtleScsIGluaXREYXRhKSkKK0VWRU5UKHdlYmtpdGtleW1lc3NhZ2Up
CitrZXltZXNzYWdlIGV2ZW50IG9jY3VycmVkCitFWFBFQ1RFRCAoZXZlbnQudGFyZ2V0ID09ICdb
b2JqZWN0IEhUTUxWaWRlb0VsZW1lbnRdJykgT0sKK0VYUEVDVEVEIChldmVudCBpbnN0YW5jZW9m
IHdpbmRvdy5NZWRpYUtleUV2ZW50ID09ICd0cnVlJykgT0sKK0VYUEVDVEVEIChldmVudC5rZXlT
eXN0ZW0gPT0gJ3dlYmtpdC1vcmcudzMuY2xlYXJrZXknKSBPSworVGhlIHNlc3Npb25JZCBzaG91
bGQgYmUgYSBub24tZW1wdHkgc3RyaW5nIGNvbnRhaW5pbmcgYW4gaW50ZWdlci4KK0VYUEVDVEVE
IChldmVudC5zZXNzaW9uSWQgIT0gJycpIE9LCitFWFBFQ1RFRCAoZXZlbnQuc2Vzc2lvbklkICE9
ICdudWxsJykgT0sKK0VYUEVDVEVEIChldmVudC5zZXNzaW9uSWQgIT0gJ3VuZGVmaW5lZCcpIE9L
CitFWFBFQ1RFRCAoaXNOYU4oZXZlbnQuc2Vzc2lvbklkKSA9PSAnZmFsc2UnKSBPSworRVhQRUNU
RUQgKFN0cmluZyhldmVudC5zZXNzaW9uSWQpID09IFN0cmluZyhwYXJzZUludChldmVudC5zZXNz
aW9uSWQpKSA9PSAndHJ1ZScpIE9LCitJbXBsZW1lbnRhdGlvbnMgc2hvdWxkIGF2b2lkIHNlc3Np
b25JZHMgb2YgMC4KK0VYUEVDVEVEIChldmVudC5zZXNzaW9uSWQgPiAnMCcpIE9LCitUaGUgc2Vz
c2lvbnNJZCBzaG91bGQgYmUgZGlmZmVyZW50IGZyb20gdGhlIGZpcnN0IHJ1bi4KK0VYUEVDVEVE
IChldmVudC5zZXNzaW9uSWQgIT0gJzEnKSBPSworRVhQRUNURUQgKGV2ZW50LmluaXREYXRhID09
PSAnbnVsbCcpIE9LCitFWFBFQ1RFRCAoZXZlbnQubWVzc2FnZS5sZW5ndGggPT0gJzMnKSBPSwor
RVhQRUNURUQgKGV2ZW50Lm1lc3NhZ2VbMF0gPT0gJzY1JykgT0sKK0VYUEVDVEVEIChldmVudC5t
ZXNzYWdlWzFdID09ICc2NicpIE9LCitFWFBFQ1RFRCAoZXZlbnQubWVzc2FnZVsyXSA9PSAnNjcn
KSBPSworRVhQRUNURUQgKGV2ZW50LmRlZmF1bHRVUkwgPT0gJycpIE9LCitFWFBFQ1RFRCAoZXZl
bnQuZXJyb3JDb2RlID09PSAnbnVsbCcpIE9LCitFWFBFQ1RFRCAoZXZlbnQuc3lzdGVtQ29kZSA9
PSAnMCcpIE9LCisKK1JVTih2aWRlby53ZWJraXRBZGRLZXkoJ3dlYmtpdC1vcmcudzMuY2xlYXJr
ZXknLCBrZXksIGV2ZW50LmluaXREYXRhLCBldmVudC5zZXNzaW9uSWQpKQorRVZFTlQod2Via2l0
a2V5YWRkZWQpCitrZXlhZGRlZCBldmVudCBvY2N1cnJlZAorRVhQRUNURUQgKGV2ZW50LnRhcmdl
dCA9PSAnW29iamVjdCBIVE1MVmlkZW9FbGVtZW50XScpIE9LCitFWFBFQ1RFRCAoZXZlbnQgaW5z
dGFuY2VvZiB3aW5kb3cuTWVkaWFLZXlFdmVudCA9PSAndHJ1ZScpIE9LCitFWFBFQ1RFRCAoZXZl
bnQua2V5U3lzdGVtID09ICd3ZWJraXQtb3JnLnczLmNsZWFya2V5JykgT0sKK0VYUEVDVEVEIChl
dmVudC5zZXNzaW9uSWQgPT0ga2V5TWVzc2FnZVNlc3Npb25JZCA9PSAndHJ1ZScpIE9LCitFWFBF
Q1RFRCAoZXZlbnQuaW5pdERhdGEgPT09ICdudWxsJykgT0sKK0VYUEVDVEVEIChldmVudC5tZXNz
YWdlID09PSAnbnVsbCcpIE9LCitFWFBFQ1RFRCAoZXZlbnQuZGVmYXVsdFVSTCA9PSAnJykgT0sK
K0VYUEVDVEVEIChldmVudC5lcnJvckNvZGUgPT09ICdudWxsJykgT0sKK0VYUEVDVEVEIChldmVu
dC5zeXN0ZW1Db2RlID09ICcwJykgT0sKKworUlVOKHZpZGVvLndlYmtpdEFkZEtleSgnd2Via2l0
LW9yZy53My5jbGVhcmtleScsIGludmFsaWRLZXksIG51bGwsIGV2ZW50LnNlc3Npb25JZCkpCitF
VkVOVCh3ZWJraXRrZXllcnJvcikKK2tleWVycm9yIGV2ZW50IG9jY3VycmVkCitFWFBFQ1RFRCAo
ZXZlbnQudGFyZ2V0ID09ICdbb2JqZWN0IEhUTUxWaWRlb0VsZW1lbnRdJykgT0sKK0VYUEVDVEVE
IChldmVudCBpbnN0YW5jZW9mIHdpbmRvdy5NZWRpYUtleUV2ZW50ID09ICd0cnVlJykgT0sKK0VY
UEVDVEVEIChldmVudC5rZXlTeXN0ZW0gPT0gJ3dlYmtpdC1vcmcudzMuY2xlYXJrZXknKSBPSwor
RVhQRUNURUQgKGV2ZW50LnNlc3Npb25JZCA9PSBrZXlNZXNzYWdlU2Vzc2lvbklkID09ICd0cnVl
JykgT0sKK0VYUEVDVEVEIChldmVudC5pbml0RGF0YSA9PT0gJ251bGwnKSBPSworRVhQRUNURUQg
KGV2ZW50Lm1lc3NhZ2UgPT09ICdudWxsJykgT0sKK0VYUEVDVEVEIChldmVudC5kZWZhdWx0VVJM
ID09ICcnKSBPSworRVhQRUNURUQgKGV2ZW50LmVycm9yQ29kZS5jb2RlID09ICcxJykgT0sKK0VY
UEVDVEVEIChldmVudC5zeXN0ZW1Db2RlID09ICcwJykgT0sKKworQXR0cmlidXRlcyBhcmUgcmVh
ZC1vbmx5LgorUlVOKGV2ZW50LmtleVN5c3RlbSA9ICdibGFoJykKK1JVTihldmVudC5zZXNzaW9u
SWQgPSAnYmxhaCcpCitSVU4oZXZlbnQuaW5pdERhdGEgPSBuZXcgVWludDhBcnJheShbMHgxMl0p
KQorUlVOKGV2ZW50Lm1lc3NhZ2UgPSBuZXcgVWludDhBcnJheShbMHgxMl0pKQorUlVOKGV2ZW50
LmRlZmF1bHRVUkwgPSAnZXhhbXBsZS5jb20nKQorUlVOKGV2ZW50LmVycm9yQ29kZS5jb2RlID0g
TWVkaWFLZXlFcnJvci5NRURJQV9LRVlFUlJfQ0xJRU5UKQorUlVOKGV2ZW50LnN5c3RlbUNvZGUg
PSAxMjMpCitFWFBFQ1RFRCAoZXZlbnQua2V5U3lzdGVtID09ICd3ZWJraXQtb3JnLnczLmNsZWFy
a2V5JykgT0sKK0VYUEVDVEVEIChldmVudC5zZXNzaW9uSWQgPT0ga2V5TWVzc2FnZVNlc3Npb25J
ZCA9PSAndHJ1ZScpIE9LCitFWFBFQ1RFRCAoZXZlbnQuaW5pdERhdGEgPT09ICdudWxsJykgT0sK
K0VYUEVDVEVEIChldmVudC5tZXNzYWdlID09PSAnbnVsbCcpIE9LCitFWFBFQ1RFRCAoZXZlbnQu
ZGVmYXVsdFVSTCA9PSAnJykgT0sKK0VYUEVDVEVEIChldmVudC5lcnJvckNvZGUuY29kZSA9PSAn
MScpIE9LCitFWFBFQ1RFRCAoZXZlbnQuc3lzdGVtQ29kZSA9PSAnMCcpIE9LCitFTkQgT0YgVEVT
VAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS9lbmNyeXB0ZWQtbWVkaWEvZW5jcnlw
dGVkLW1lZGlhLWV2ZW50cy5odG1sIGIvTGF5b3V0VGVzdHMvbWVkaWEvZW5jcnlwdGVkLW1lZGlh
L2VuY3J5cHRlZC1tZWRpYS1ldmVudHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45YzQzMDM1MzYyN2ZhODc5
MTZiNDk0ZTcyZWFhOTk0MDVhZmI5MWJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
bWVkaWEvZW5jcnlwdGVkLW1lZGlhL2VuY3J5cHRlZC1tZWRpYS1ldmVudHMuaHRtbApAQCAtMCww
ICsxLDE5NyBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbCBsYW5nPSJlbiI+CisgICAgPGhlYWQ+
CisgICAgPC9oZWFkPgorICAgIDxib2R5PgorICAgICAgICA8dmlkZW8+PC92aWRlbz4KKyAgICAg
ICAgPHA+VGVzdCBhbGwgdGhlIGtleS1yZWxhdGVkIGV2ZW50cy48L3A+CisKKyAgICAgICAgPHNj
cmlwdCBzcmM9Li4vbWVkaWEtZmlsZS5qcz48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Li4vdmlkZW8tdGVzdC5qcz48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAg
IC8vIFRoZSB0ZXN0IHJ1bnMgdHdpY2UsIG9uY2UgdXNpbmcgb24qIGFuZCB0aGVuIHVzaW5nIGFk
ZEV2ZW50TGlzdGVuZXIoKS4KKyAgICAgICAgICAgIHZhciBpc0ZpcnN0UnVuID0gdHJ1ZTsKKwor
ICAgICAgICAgICAgdmFyIGluaXREYXRhID0gbmV3IFVpbnQ4QXJyYXkoWzB4NDEsIDB4NDIsIDB4
NDNdKTsKKyAgICAgICAgICAgIC8vIDEyOCBiaXQga2V5LgorICAgICAgICAgICAgdmFyIGtleSA9
IG5ldyBVaW50OEFycmF5KFsweDYxLCAweDYyLCAweDYzLCAweDY0LCAweDY1LCAweDY2LCAweDY3
LCAweDY4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDY5LCAweDZh
LCAweDZiLCAweDZjLCAweDZkLCAweDZlLCAweDZmLCAweDcwXSk7CisgICAgICAgICAgICAvLyBU
aGlzIGtleSB3aWxsIGNhdXNlIGFuIGFzeW5jaHJvbm91cyBlcnJvciBiZWNhdXNlIGl0IGlzIHRv
byBzaG9ydC4KKyAgICAgICAgICAgIHZhciBpbnZhbGlkS2V5ID0gbmV3IFVpbnQ4QXJyYXkoWzB4
NjFdKTsKKworICAgICAgICAgICAgLy8gQWZ0ZXIgdGhlIGZpcnN0IGtleU1lc3NhZ2UgZXZlbnQs
IHRoZSBzZXNzaW9uSWQgc2hvdWxkIGFsd2F5cyBiZSB0aGUgc2FtZS4KKyAgICAgICAgICAgIC8v
IEluaXRpYWxpemUgaXQgdG8gYW4gaW52YWxpZCB2YWx1ZSB1bnRpbCB0aGVuLgorICAgICAgICAg
ICAgdmFyIGtleU1lc3NhZ2VTZXNzaW9uSWQgPSAtMTsKKyAgICAgICAgICAgIC8vIFJlbWVtYmVy
IHRoZSBmaXJzdCBJRCB0byBtYWtlIHN1cmUgdGhlIHNlY29uZCBvbmUgaXMgZGlmZmVyZW50Lgor
ICAgICAgICAgICAgdmFyIGZpcnN0UnVuS2V5TWVzc2FnZVNlc3Npb25JZCA9IC0xOworCisgICAg
ICAgICAgICBmdW5jdGlvbiBrZXlBZGRlZChldmVudCkKKyAgICAgICAgICAgIHsKKyAgICAgICAg
ICAgICAgICBjb25zb2xlV3JpdGUoImtleWFkZGVkIGV2ZW50IG9jY3VycmVkIik7CisKKyAgICAg
ICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoImV2ZW50LnRhcmdldCIsIHZpZGVvKTsKKyAgICAgICAg
ICAgICAgICB0ZXN0RXhwZWN0ZWQoImV2ZW50IGluc3RhbmNlb2Ygd2luZG93Lk1lZGlhS2V5RXZl
bnQiLCB0cnVlKTsKKworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgiZXZlbnQua2V5U3lz
dGVtIiwgIndlYmtpdC1vcmcudzMuY2xlYXJrZXkiKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhw
ZWN0ZWQoImV2ZW50LnNlc3Npb25JZCA9PSBrZXlNZXNzYWdlU2Vzc2lvbklkIiwgdHJ1ZSk7Cisg
ICAgICAgICAgICAgICAgLy8gVGhlIG90aGVyIGF0dHJpYnV0ZXMgYXJlIG5vdCB1c2VkIGZvciB0
aGlzIGV2ZW50LgorICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgiZXZlbnQuaW5pdERhdGEi
LCBudWxsLCAiPT09Iik7CisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJldmVudC5tZXNz
YWdlIiwgbnVsbCwgIj09PSIpOworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgiZXZlbnQu
ZGVmYXVsdFVSTCIsICIiKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoImV2ZW50LmVy
cm9yQ29kZSIsIG51bGwsICI9PT0iKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoImV2
ZW50LnN5c3RlbUNvZGUiLCAwKTsKKworICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiIik7
CisgICAgICAgICAgICAgICAgLy8gQ2F1c2UgYSBrZXllcnJvciBieSBwYXNzaW5nIGFuIGludmFs
aWQga2V5LgorICAgICAgICAgICAgICAgIHJ1bigidmlkZW8ud2Via2l0QWRkS2V5KCd3ZWJraXQt
b3JnLnczLmNsZWFya2V5JywgaW52YWxpZEtleSwgbnVsbCwgZXZlbnQuc2Vzc2lvbklkKSIpOwor
ICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiBrZXlFcnJvcihldmVudCkKKyAg
ICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoImtleWVycm9yIGV2ZW50
IG9jY3VycmVkIik7CisKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoImV2ZW50LnRhcmdl
dCIsIHZpZGVvKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoImV2ZW50IGluc3RhbmNl
b2Ygd2luZG93Lk1lZGlhS2V5RXZlbnQiLCB0cnVlKTsKKworICAgICAgICAgICAgICAgIHRlc3RF
eHBlY3RlZCgiZXZlbnQua2V5U3lzdGVtIiwgIndlYmtpdC1vcmcudzMuY2xlYXJrZXkiKTsKKyAg
ICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoImV2ZW50LnNlc3Npb25JZCA9PSBrZXlNZXNzYWdl
U2Vzc2lvbklkIiwgdHJ1ZSk7CisgICAgICAgICAgICAgICAgLy8gVGhlIG5leHQgdGhyZWUgYXR0
cmlidXRlcyBhcmUgbm90IHVzZWQgZm9yIHRoaXMgZXZlbnQuCisgICAgICAgICAgICAgICAgdGVz
dEV4cGVjdGVkKCJldmVudC5pbml0RGF0YSIsIG51bGwsICI9PT0iKTsKKyAgICAgICAgICAgICAg
ICB0ZXN0RXhwZWN0ZWQoImV2ZW50Lm1lc3NhZ2UiLCBudWxsLCAiPT09Iik7CisgICAgICAgICAg
ICAgICAgdGVzdEV4cGVjdGVkKCJldmVudC5kZWZhdWx0VVJMIiwgIiIpOworICAgICAgICAgICAg
ICAgIHRlc3RFeHBlY3RlZCgiZXZlbnQuZXJyb3JDb2RlLmNvZGUiLCBNZWRpYUtleUVycm9yLk1F
RElBX0tFWUVSUl9VTktOT1dOKTsKKyAgICAgICAgICAgICAgICAvLyBzeXN0ZW1Db2RlIGlzIG5v
dCBzdXBwb3J0ZWQgYnkgdGhlIENsZWFyIEtleSBrZXkgc3lzdGVtLgorICAgICAgICAgICAgICAg
IHRlc3RFeHBlY3RlZCgiZXZlbnQuc3lzdGVtQ29kZSIsIDApOworCisgICAgICAgICAgICAgICAg
aWYgKGlzRmlyc3RSdW4pIHsKKyAgICAgICAgICAgICAgICAgICAgaXNGaXJzdFJ1biA9IGZhbHNl
OworICAgICAgICAgICAgICAgICAgICBydW5UZXN0KCk7CisgICAgICAgICAgICAgICAgfSBlbHNl
IHsKKyAgICAgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCIiKTsKKyAgICAgICAgICAgICAg
ICAgICAgY29uc29sZVdyaXRlKCJBdHRyaWJ1dGVzIGFyZSByZWFkLW9ubHkuIik7CisgICAgICAg
ICAgICAgICAgICAgIHJ1bigiZXZlbnQua2V5U3lzdGVtID0gJ2JsYWgnIik7CisgICAgICAgICAg
ICAgICAgICAgIHJ1bigiZXZlbnQuc2Vzc2lvbklkID0gJ2JsYWgnIik7CisgICAgICAgICAgICAg
ICAgICAgIHJ1bigiZXZlbnQuaW5pdERhdGEgPSBuZXcgVWludDhBcnJheShbMHgxMl0pIik7Cisg
ICAgICAgICAgICAgICAgICAgIHJ1bigiZXZlbnQubWVzc2FnZSAgPSBuZXcgVWludDhBcnJheShb
MHgxMl0pIik7CisgICAgICAgICAgICAgICAgICAgIHJ1bigiZXZlbnQuZGVmYXVsdFVSTCA9ICdl
eGFtcGxlLmNvbSciKTsKKyAgICAgICAgICAgICAgICAgICAgcnVuKCJldmVudC5lcnJvckNvZGUu
Y29kZSA9IE1lZGlhS2V5RXJyb3IuTUVESUFfS0VZRVJSX0NMSUVOVCIpOworICAgICAgICAgICAg
ICAgICAgICBydW4oImV2ZW50LnN5c3RlbUNvZGUgPSAxMjMiKTsKKworICAgICAgICAgICAgICAg
ICAgICB0ZXN0RXhwZWN0ZWQoImV2ZW50LmtleVN5c3RlbSIsICJ3ZWJraXQtb3JnLnczLmNsZWFy
a2V5Iik7CisgICAgICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgiZXZlbnQuc2Vzc2lvbklk
ID09IGtleU1lc3NhZ2VTZXNzaW9uSWQiLCB0cnVlKTsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEV4cGVjdGVkKCJldmVudC5pbml0RGF0YSIsIG51bGwsICI9PT0iKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEV4cGVjdGVkKCJldmVudC5tZXNzYWdlIiwgbnVsbCwgIj09PSIpOworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoImV2ZW50LmRlZmF1bHRVUkwiLCAiIik7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgiZXZlbnQuZXJyb3JDb2RlLmNvZGUiLCBNZWRp
YUtleUVycm9yLk1FRElBX0tFWUVSUl9VTktOT1dOKTsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEV4cGVjdGVkKCJldmVudC5zeXN0ZW1Db2RlIiwgMCk7CisKKyAgICAgICAgICAgICAgICAgICAg
ZW5kVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKworICAgICAgICAg
ICAgZnVuY3Rpb24ga2V5TWVzc2FnZShldmVudCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAg
ICAgICBjb25zb2xlV3JpdGUoImtleW1lc3NhZ2UgZXZlbnQgb2NjdXJyZWQiKTsKKworICAgICAg
ICAgICAgICAgIHRlc3RFeHBlY3RlZCgiZXZlbnQudGFyZ2V0IiwgdmlkZW8pOworICAgICAgICAg
ICAgICAgIHRlc3RFeHBlY3RlZCgiZXZlbnQgaW5zdGFuY2VvZiB3aW5kb3cuTWVkaWFLZXlFdmVu
dCIsIHRydWUpOworCisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJldmVudC5rZXlTeXN0
ZW0iLCAid2Via2l0LW9yZy53My5jbGVhcmtleSIpOworCisgICAgICAgICAgICAgICAgY29uc29s
ZVdyaXRlKCJUaGUgc2Vzc2lvbklkIHNob3VsZCBiZSBhIG5vbi1lbXB0eSBzdHJpbmcgY29udGFp
bmluZyBhbiBpbnRlZ2VyLiIpOworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgiZXZlbnQu
c2Vzc2lvbklkIiwgIiIsICIhPSIpOworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgiZXZl
bnQuc2Vzc2lvbklkIiwgbnVsbCwgIiE9Iik7CisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVk
KCJldmVudC5zZXNzaW9uSWQiLCB1bmRlZmluZWQsICIhPSIpOworICAgICAgICAgICAgICAgIHRl
c3RFeHBlY3RlZCgiaXNOYU4oZXZlbnQuc2Vzc2lvbklkKSIsIGZhbHNlKTsKKyAgICAgICAgICAg
ICAgICAvLyBNYWtlIHN1cmUgdGhlIG51bWJlciBpcyBub3QgYSBmbG9hdC4KKyAgICAgICAgICAg
ICAgICB0ZXN0RXhwZWN0ZWQoIlN0cmluZyhldmVudC5zZXNzaW9uSWQpID09IFN0cmluZyhwYXJz
ZUludChldmVudC5zZXNzaW9uSWQpKSIsIHRydWUpOworICAgICAgICAgICAgICAgIGNvbnNvbGVX
cml0ZSgiSW1wbGVtZW50YXRpb25zIHNob3VsZCBhdm9pZCBzZXNzaW9uSWRzIG9mIDAuIik7Cisg
ICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJldmVudC5zZXNzaW9uSWQiLCAwLCAiPiIpOwor
ICAgICAgICAgICAgICAgIC8vIEFsbCBvdGhlciBldmVudHMgc2hvdWxkIGhhdmUgdGhpcyBzYW1l
IHNlc3Npb25JZC4KKyAgICAgICAgICAgICAgICBrZXlNZXNzYWdlU2Vzc2lvbklkID0gZXZlbnQu
c2Vzc2lvbklkOworICAgICAgICAgICAgICAgIGlmIChpc0ZpcnN0UnVuKQorICAgICAgICAgICAg
ICAgICAgICBmaXJzdFJ1bktleU1lc3NhZ2VTZXNzaW9uSWQgPSBrZXlNZXNzYWdlU2Vzc2lvbklk
OworICAgICAgICAgICAgICAgIGVsc2UgeworICAgICAgICAgICAgICAgICAgICBjb25zb2xlV3Jp
dGUoIlRoZSBzZXNzaW9uc0lkIHNob3VsZCBiZSBkaWZmZXJlbnQgZnJvbSB0aGUgZmlyc3QgcnVu
LiIpOworICAgICAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoImV2ZW50LnNlc3Npb25JZCIs
IGZpcnN0UnVuS2V5TWVzc2FnZVNlc3Npb25JZCwgIiE9Iik7CisgICAgICAgICAgICAgICAgfQor
CisgICAgICAgICAgICAgICAgLy8gaW5pdERhdGEgaXMgbm90IHVzZWQgZm9yIHRoaXMgZXZlbnQu
CisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJldmVudC5pbml0RGF0YSIsIG51bGwsICI9
PT0iKTsKKyAgICAgICAgICAgICAgICAvLyBBdCBsZWFzdCBmb3Igbm93LCB0aGUgQ2xlYXIgS2V5
IG1lc3NhZ2UgaXMgdGhlIGluaXREYXRhLgorICAgICAgICAgICAgICAgIHRlc3RBcnJheXNFcXVh
bCgiZXZlbnQubWVzc2FnZSIsIGluaXREYXRhKTsKKyAgICAgICAgICAgICAgICAvLyBOb3Qgc3Vw
cG9ydGVkIGJ5IHRoZSB0ZXN0IGZpbGUuCisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJl
dmVudC5kZWZhdWx0VVJMIiwgIiIpOworICAgICAgICAgICAgICAgIC8vIFRoZSBlcnJvciBhdHRy
aWJ1dGVzIGFyZSBub3QgdXNlZCBmb3IgdGhpcyBldmVudC4KKyAgICAgICAgICAgICAgICB0ZXN0
RXhwZWN0ZWQoImV2ZW50LmVycm9yQ29kZSIsIG51bGwsICI9PT0iKTsKKyAgICAgICAgICAgICAg
ICB0ZXN0RXhwZWN0ZWQoImV2ZW50LnN5c3RlbUNvZGUiLCAwKTsKKworICAgICAgICAgICAgICAg
IGNvbnNvbGVXcml0ZSgiIik7CisgICAgICAgICAgICAgICAgcnVuKCJ2aWRlby53ZWJraXRBZGRL
ZXkoJ3dlYmtpdC1vcmcudzMuY2xlYXJrZXknLCBrZXksIGV2ZW50LmluaXREYXRhLCBldmVudC5z
ZXNzaW9uSWQpIik7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIG5lZWRL
ZXkoZXZlbnQpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJu
ZWVkS2V5IGV2ZW50IG9jY3VycmVkIik7CisKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQo
ImV2ZW50LnRhcmdldCIsIHZpZGVvKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoImV2
ZW50IGluc3RhbmNlb2Ygd2luZG93Lk1lZGlhS2V5RXZlbnQiLCB0cnVlKTsKKworICAgICAgICAg
ICAgICAgIHRlc3RFeHBlY3RlZCgiZXZlbnQua2V5U3lzdGVtIiwgIndlYmtpdC1vcmcudzMuY2xl
YXJrZXkiKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoImV2ZW50LnNlc3Npb25JZCIs
ICIiKTsKKyAgICAgICAgICAgICAgICB0ZXN0QXJyYXlzRXF1YWwoImV2ZW50LmluaXREYXRhIiwg
aW5pdERhdGEpOworICAgICAgICAgICAgICAgIC8vIFRoZSBvdGhlciBhdHRyaWJ1dGVzIGFyZSBu
b3QgdXNlZCBmb3IgdGhpcyBldmVudC4KKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoImV2
ZW50Lm1lc3NhZ2UiLCBudWxsLCAiPT09Iik7CisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVk
KCJldmVudC5kZWZhdWx0VVJMIiwgIiIpOworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgi
ZXZlbnQuZXJyb3JDb2RlIiwgbnVsbCwgIj09PSIpOworICAgICAgICAgICAgICAgIHRlc3RFeHBl
Y3RlZCgiZXZlbnQuc3lzdGVtQ29kZSIsIDApOworCisgICAgICAgICAgICAgICAgY29uc29sZVdy
aXRlKCIiKTsKKyAgICAgICAgICAgICAgICBydW4oInZpZGVvLndlYmtpdEdlbmVyYXRlS2V5UmVx
dWVzdCgnd2Via2l0LW9yZy53My5jbGVhcmtleScsIGluaXREYXRhKSIpOworICAgICAgICAgICAg
fQorCisgICAgICAgICAgICBmdW5jdGlvbiBydW5UZXN0KCkKKyAgICAgICAgICAgIHsKKyAgICAg
ICAgICAgICAgICBjb25zb2xlV3JpdGUoIiIpOworICAgICAgICAgICAgICAgIGlmIChpc0ZpcnN0
UnVuKSB7CisgICAgICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiKioqIFRlc3QgZXZlbnRz
IHVzaW5nIG9uKiBhdHRyaWJ1dGVzLiAqKioiKTsKKyAgICAgICAgICAgICAgICAgICAgdmlkZW8u
b253ZWJraXRrZXlhZGRlZD1rZXlBZGRlZDsKKyAgICAgICAgICAgICAgICAgICAgdmlkZW8ub253
ZWJraXRrZXllcnJvcj1rZXlFcnJvcjsKKyAgICAgICAgICAgICAgICAgICAgdmlkZW8ub253ZWJr
aXRrZXltZXNzYWdlPWtleU1lc3NhZ2U7CisgICAgICAgICAgICAgICAgICAgIHZpZGVvLm9ud2Vi
a2l0bmVlZGtleT1uZWVkS2V5OworICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAg
ICAgICAgICAgIGNvbnNvbGVXcml0ZSgiKioqIFRlc3QgZXZlbnRzIHVzaW5nIGFkZEV2ZW50TGlz
dGVuZXIoKS4gKioqIik7CisKKyAgICAgICAgICAgICAgICAgICAgLy8gQ2xlYXIgdGhlIG9uKiBo
YW5kbGVycy4KKyAgICAgICAgICAgICAgICAgICAgdmlkZW8ub253ZWJraXRrZXlhZGRlZD1udWxs
OworICAgICAgICAgICAgICAgICAgICB2aWRlby5vbndlYmtpdGtleWVycm9yPW51bGw7CisgICAg
ICAgICAgICAgICAgICAgIHZpZGVvLm9ud2Via2l0a2V5bWVzc2FnZT1udWxsOworICAgICAgICAg
ICAgICAgICAgICB2aWRlby5vbndlYmtpdG5lZWRrZXk9bnVsbDsKKworICAgICAgICAgICAgICAg
ICAgICB3YWl0Rm9yRXZlbnQoJ3dlYmtpdGtleWFkZGVkJywga2V5QWRkZWQpOworICAgICAgICAg
ICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ3dlYmtpdGtleWVycm9yJywga2V5RXJyb3IpOworICAg
ICAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ3dlYmtpdGtleW1lc3NhZ2UnLCBrZXlNZXNz
YWdlKTsKKyAgICAgICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50KCd3ZWJraXRuZWVka2V5Jywg
bmVlZEtleSk7CisgICAgICAgICAgICAgICAgfQorICAgIAorICAgICAgICAgICAgICAgIC8vIEZJ
WE1FKDgyOTUyKTogVGVtcHJvYXJ5IHVudGlsIHdlIGhhdmUgYSAidGVzdC1lbmNyeXB0ZWQiIGZp
bGUgdGhhdCBjYXVzZXMgdGhlIG5lZWRLZXkgZXZlbnQuCisgICAgICAgICAgICAgICAgd2FpdEZv
ckV2ZW50T25jZSgnbG9hZHN0YXJ0JywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5j
dGlvbigpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCIi
KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcnVuKCJ2aWRlby53ZWJraXRHZW5l
cmF0ZUtleVJlcXVlc3QoJ3dlYmtpdC1vcmcudzMuY2xlYXJrZXknLCBpbml0RGF0YSkiKTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKKworICAgICAgICAgICAgICAgIHZpZGVvLnNl
dEF0dHJpYnV0ZSgic3JjIiwgZmluZE1lZGlhRmlsZSgidmlkZW8iLCAiLi4vY29udGVudC90ZXN0
IikpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBjb25zb2xlV3JpdGUoIioqKiBWZXJp
ZnkgdGhlIHByZXNlbmNlIG9mIG9uKiBhdHRyaWJ1dGVzLiBUaGVzZSB3b3VsZCByZXR1cm4gdW5k
ZWZpbmVkIGlmIHRoZXkgYXJlIG5vdCBwcmVzZW50LiAqKioiKTsKKyAgICAgICAgICAgIHRlc3RF
eHBlY3RlZCgidmlkZW8ub253ZWJraXRrZXlhZGRlZCIsIG51bGwsICI9PT0iKTsKKyAgICAgICAg
ICAgIHRlc3RFeHBlY3RlZCgidmlkZW8ub253ZWJraXRrZXllcnJvciIsIG51bGwsICI9PT0iKTsK
KyAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgidmlkZW8ub253ZWJraXRrZXltZXNzYWdlIiwgbnVs
bCwgIj09PSIpOworICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJ2aWRlby5vbndlYmtpdG5lZWRr
ZXkiLCBudWxsLCAiPT09Iik7CisKKyAgICAgICAgICAgIHJ1blRlc3QoKTsKKworICAgICAgICA8
L3NjcmlwdD4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9t
ZWRpYS92aWRlby10ZXN0LmpzIGIvTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tdGVzdC5qcwppbmRl
eCBlYmYwZjQzNTQwMDgwNDU3ZWIzNGU3MDUyMzU2NDhiOTIzNTI3MWExLi4wNmZmNjIzZTZmMmU3
MWE4N2QwOTI3NWJlMzIyZWJjNTEzMjk4YjFjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9tZWRp
YS92aWRlby10ZXN0LmpzCisrKyBiL0xheW91dFRlc3RzL21lZGlhL3ZpZGVvLXRlc3QuanMKQEAg
LTc5LDExICs3OSwyOSBAQCBmdW5jdGlvbiB0ZXN0RXhwZWN0ZWQodGVzdEZ1bmNTdHJpbmcsIGV4
cGVjdGVkLCBjb21wYXJpc29uKQogICAgICAgICBjYXNlICc+PSc6IHN1Y2Nlc3MgPSBvYnNlcnZl
ZCA+PSBleHBlY3RlZDsgYnJlYWs7CiAgICAgICAgIGNhc2UgJyE9JzogIHN1Y2Nlc3MgPSBvYnNl
cnZlZCAhPSBleHBlY3RlZDsgYnJlYWs7CiAgICAgICAgIGNhc2UgJz09Jzogc3VjY2VzcyA9IG9i
c2VydmVkID09IGV4cGVjdGVkOyBicmVhazsKKyAgICAgICAgY2FzZSAnPT09Jzogc3VjY2VzcyA9
IG9ic2VydmVkID09PSBleHBlY3RlZDsgYnJlYWs7CiAgICAgfQogCiAgICAgcmVwb3J0RXhwZWN0
ZWQoc3VjY2VzcywgdGVzdEZ1bmNTdHJpbmcsIGNvbXBhcmlzb24sIGV4cGVjdGVkLCBvYnNlcnZl
ZCkKIH0KIAorZnVuY3Rpb24gdGVzdEFycmF5c0VxdWFsKHRlc3RGdW5jU3RyaW5nLCBleHBlY3Rl
ZCkKK3sKKyAgICB2YXIgb2JzZXJ2ZWQ7CisgICAgdHJ5IHsKKyAgICAgICAgb2JzZXJ2ZWQgPSBl
dmFsKHRlc3RGdW5jU3RyaW5nKTsKKyAgICB9IGNhdGNoIChleCkgeworICAgICAgICBjb25zb2xl
V3JpdGUoZXgpOworICAgICAgICByZXR1cm47CisgICAgfQorICAKKyAgICB0ZXN0RXhwZWN0ZWQo
dGVzdEZ1bmNTdHJpbmcgKyAiLmxlbmd0aCIsIGV4cGVjdGVkLmxlbmd0aCk7CisKKyAgICBmb3Ig
KHZhciBpID0gMDsgaSA8IG9ic2VydmVkLmxlbmd0aDsgaSsrKSB7CisgICAgICAgIHRlc3RFeHBl
Y3RlZCh0ZXN0RnVuY1N0cmluZyArICJbIiArIGkgKyAiXSIsIGV4cGVjdGVkW2ldKTsKKyAgICB9
Cit9CisKIHZhciB0ZXN0TnVtYmVyID0gMDsKIAogZnVuY3Rpb24gcmVwb3J0RXhwZWN0ZWQoc3Vj
Y2VzcywgdGVzdEZ1bmNTdHJpbmcsIGNvbXBhcmlzb24sIGV4cGVjdGVkLCBvYnNlcnZlZCkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>136985</attachid>
            <date>2012-04-12 15:37:57 -0700</date>
            <delta_ts>2012-04-12 18:32:54 -0700</delta_ts>
            <desc>Fixed ChangeLog</desc>
            <filename>bug-82974-20120412153756.patch</filename>
            <type>text/plain</type>
            <size>91949</size>
            <attacher name="David Dorwin">ddorwin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEzOTg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWRiNjA5NTJjMDJlMzMx
ZmRjZmJjZGIyNmI3ZDA4NjM1NDA5YTcyYS4uNmY4NDI5NGI4YThlMDUzMjE1NWVmYmFmMjgzNzhh
YjVlY2E0NTc2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDgxIEBACisyMDEyLTA0LTEyICBEYXZp
ZCBEb3J3aW4gIDxkZG9yd2luQGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgRW5jcnlwdGVk
IE1lZGlhIEV4dGVuc2lvbnMgZXZlbnRzIGFuZCBlcnJvcnMgdG8gSFRNTE1lZGlhRWxlbWVudAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODI5NzQKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgbmV3IGV2
ZW50cyBhbmQgZXJyb3JzIGFyZSBiZWhpbmQgdGhlIEVOQUJMRShFTkNSWVBURURfTUVESUEpIGZl
YXR1cmUgZGVmaW5lLgorICAgICAgICBJbXBsZW1lbnRhdGlvbiBpcyBiYXNlZCBvbiB2MC4xIG9m
IHRoZSBkcmFmdCBwcm9wb3NhbCBhdAorICAgICAgICBodHRwOi8vZHZjcy53My5vcmcvaGcvaHRt
bC1tZWRpYS9yYXctZmlsZS90aXAvZW5jcnlwdGVkLW1lZGlhL2VuY3J5cHRlZC1tZWRpYS5odG1s
I2V2ZW50cy4KKworICAgICAgICBUZXN0czogZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL21lZGlh
LWtleS1ldmVudC1jb25zdHJ1Y3Rvci5odG1sCisgICAgICAgICAgICAgICBtZWRpYS9lbmNyeXB0
ZWQtbWVkaWEvZW5jcnlwdGVkLW1lZGlhLWNvbnN0YW50cy5odG1sCisgICAgICAgICAgICAgICBt
ZWRpYS9lbmNyeXB0ZWQtbWVkaWEvZW5jcnlwdGVkLW1lZGlhLWV2ZW50cy5odG1sCisKKyAgICAg
ICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogYmluZGluZ3MvdjgvRGljdGlvbmFyeS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpEaWN0aW9uYXJ5OjpnZXQpOgorICAgICAgICAoV2ViQ29yZSk6
CisgICAgICAgICogYmluZGluZ3MvdjgvRGljdGlvbmFyeS5oOgorICAgICAgICAoV2ViQ29yZSk6
CisgICAgICAgIChEaWN0aW9uYXJ5KToKKyAgICAgICAgKiBkb20vRXZlbnROYW1lcy5oOgorICAg
ICAgICAoV2ViQ29yZSk6CisgICAgICAgICogZG9tL0V2ZW50TmFtZXMuaW46CisgICAgICAgICog
aHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW46CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlh
RWxlbWVudDo6bWVkaWFQbGF5ZXJLZXlBZGRlZCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVk
aWFFbGVtZW50OjptZWRpYVBsYXllcktleUVycm9yKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxN
ZWRpYUVsZW1lbnQ6Om1lZGlhUGxheWVyS2V5TWVzc2FnZSk6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXllcktleU5lZWRlZCk6CisgICAgICAgICogaHRtbC9I
VE1MTWVkaWFFbGVtZW50Lmg6CisgICAgICAgIChIVE1MTWVkaWFFbGVtZW50KToKKyAgICAgICAg
KiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvTWVkaWFFcnJvci5o
OgorICAgICAgICAqIGh0bWwvTWVkaWFFcnJvci5pZGw6CisgICAgICAgICogaHRtbC9NZWRpYUtl
eUVycm9yLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChNZWRpYUtleUVy
cm9yKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhS2V5RXJyb3I6OmNyZWF0ZSk6CisgICAgICAg
IChXZWJDb3JlOjpNZWRpYUtleUVycm9yOjpjb2RlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
S2V5RXJyb3I6Ok1lZGlhS2V5RXJyb3IpOgorICAgICAgICAqIGh0bWwvTWVkaWFLZXlFcnJvci5p
ZGw6IEFkZGVkLgorICAgICAgICAqIGh0bWwvTWVkaWFLZXlFdmVudC5jcHA6IEFkZGVkLgorICAg
ICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtleUV2ZW50SW5pdDo6TWVk
aWFLZXlFdmVudEluaXQpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFLZXlFdmVudDo6TWVkaWFL
ZXlFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtleUV2ZW50Ojp+TWVkaWFLZXlFdmVu
dCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtleUV2ZW50OjppbnRlcmZhY2VOYW1lKToKKyAg
ICAgICAgKiBodG1sL01lZGlhS2V5RXZlbnQuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToK
KyAgICAgICAgKE1lZGlhS2V5RXZlbnRJbml0KToKKyAgICAgICAgKE1lZGlhS2V5RXZlbnQpOgor
ICAgICAgICAoV2ViQ29yZTo6TWVkaWFLZXlFdmVudDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhS2V5RXZlbnQ6OmtleVN5c3RlbSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtl
eUV2ZW50OjpzZXNzaW9uSWQpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFLZXlFdmVudDo6aW5p
dERhdGEpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFLZXlFdmVudDo6bWVzc2FnZSk6CisgICAg
ICAgIChXZWJDb3JlOjpNZWRpYUtleUV2ZW50OjpkZWZhdWx0VVJMKToKKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhS2V5RXZlbnQ6OmVycm9yQ29kZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtl
eUV2ZW50OjpzeXN0ZW1Db2RlKToKKyAgICAgICAgKiBodG1sL01lZGlhS2V5RXZlbnQuaWRsOiBB
ZGRlZC4KKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5pZGw6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYVBsYXllcjo6a2V5QWRkZWQpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQ
bGF5ZXI6OmtleUVycm9yKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyOjprZXlNZXNz
YWdlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyOjprZXlOZWVkZWQpOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmg6CisgICAgICAgIChNZWRpYVBsYXll
ckNsaWVudCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllckNsaWVudDo6bWVkaWFQbGF5
ZXJLZXlBZGRlZCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllckNsaWVudDo6bWVkaWFQ
bGF5ZXJLZXlFcnJvcik6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllckNsaWVudDo6bWVk
aWFQbGF5ZXJLZXlNZXNzYWdlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyQ2xpZW50
OjptZWRpYVBsYXllcktleU5lZWRlZCk6CisgICAgICAgIChNZWRpYVBsYXllcik6CisKIDIwMTIt
MDQtMTIgIFlhZWwgQWhhcm9uICA8eWFlbC5haGFyb25Abm9raWEuY29tPgogCiAgICAgICAgIFtR
dF1bV0syXSBOZXN0ZWQgZml4ZWQgZWxlbWVudHMgc2Nyb2xsIHRvbyBmYXN0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vQ2hhbmdlTG9nCmluZGV4IGUxYjNhNTUzZWIxYjI5OTk3NTgwZDEzMzg4ODlmY2E2MzdhY2Y4
NjEuLmNjMjZkMDMxMzllNDRkODQ0MTg3MWVlMzQ5NWY0MjQ3YzQ0NTYwNmEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTItMDQtMTIgIERhdmlkIERvcndp
biAgPGRkb3J3aW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIEFkZCBFbmNyeXB0ZWQgTWVkaWEg
RXh0ZW5zaW9ucyBldmVudHMgYW5kIGVycm9ycyB0byBIVE1MTWVkaWFFbGVtZW50CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Mjk3NAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBuZXcgZXZlbnRzIGFu
ZCBlcnJvcnMgYXJlIGJlaGluZCB0aGUgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkgZmVhdHVyZSBk
ZWZpbmUuCisgICAgICAgIEltcGxlbWVudGF0aW9uIGlzIGJhc2VkIG9uIHYwLjEgb2YgdGhlIGRy
YWZ0IHByb3Bvc2FsIGF0CisgICAgICAgIGh0dHA6Ly9kdmNzLnczLm9yZy9oZy9odG1sLW1lZGlh
L3Jhdy1maWxlL3RpcC9lbmNyeXB0ZWQtbWVkaWEvZW5jcnlwdGVkLW1lZGlhLmh0bWwjZXZlbnRz
LgorCisgICAgICAgICogcHVibGljL1dlYk1lZGlhUGxheWVyQ2xpZW50Lmg6CisgICAgICAgICog
c3JjL0Fzc2VydE1hdGNoaW5nRW51bXMuY3BwOgorICAgICAgICAqIHNyYy9XZWJNZWRpYVBsYXll
ckNsaWVudEltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJNZWRpYVBsYXllckNsaWVudElt
cGw6OmtleUFkZGVkKToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJLaXQ6OldlYk1l
ZGlhUGxheWVyQ2xpZW50SW1wbDo6a2V5RXJyb3IpOgorICAgICAgICAoV2ViS2l0OjpXZWJNZWRp
YVBsYXllckNsaWVudEltcGw6OmtleU1lc3NhZ2UpOgorICAgICAgICAoV2ViS2l0OjpXZWJNZWRp
YVBsYXllckNsaWVudEltcGw6OmtleU5lZWRlZCk6CisgICAgICAgICogc3JjL1dlYk1lZGlhUGxh
eWVyQ2xpZW50SW1wbC5oOgorICAgICAgICAoV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsKToKKwog
MjAxMi0wNC0xMiAgS2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
W0Nocm9taXVtXSBFbmFibGUgSU5QVVRfVFlQRV9EQVRFCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggNjc0
Y2I0ZDlhZjM4MWNlMmI2NjFlNDQ3NjIxYmMyM2E4M2RkNjU1Mi4uMmY1NDRmMzMzZGIyMGNiYzRi
NWU2MGJkMDVjOTBiYzMyYjAxYTIwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtMTA2Myw2ICsxMDYz
LDggQEAKICAgICAgICAgICAgICdodG1sL0ltYWdlRGF0YS5pZGwnLAogICAgICAgICAgICAgJ2h0
bWwvTWVkaWFDb250cm9sbGVyLmlkbCcsCiAgICAgICAgICAgICAnaHRtbC9NZWRpYUVycm9yLmlk
bCcsCisgICAgICAgICAgICAnaHRtbC9NZWRpYUtleUVycm9yLmlkbCcsCisgICAgICAgICAgICAn
aHRtbC9NZWRpYUtleUV2ZW50LmlkbCcsCiAgICAgICAgICAgICAnaHRtbC9UZXh0TWV0cmljcy5p
ZGwnLAogICAgICAgICAgICAgJ2h0bWwvVGltZVJhbmdlcy5pZGwnLAogICAgICAgICAgICAgJ2h0
bWwvVmFsaWRpdHlTdGF0ZS5pZGwnLApAQCAtNTU2OSw2ICs1NTcxLDkgQEAKICAgICAgICAgICAg
ICdodG1sL01lZGlhRXJyb3IuaCcsCiAgICAgICAgICAgICAnaHRtbC9NZWRpYUZyYWdtZW50VVJJ
UGFyc2VyLmNwcCcsCiAgICAgICAgICAgICAnaHRtbC9NZWRpYUZyYWdtZW50VVJJUGFyc2VyLmgn
LAorICAgICAgICAgICAgJ2h0bWwvTWVkaWFLZXlFcnJvci5oJywKKyAgICAgICAgICAgICdodG1s
L01lZGlhS2V5RXZlbnQuY3BwJywKKyAgICAgICAgICAgICdodG1sL01lZGlhS2V5RXZlbnQuaCcs
CiAgICAgICAgICAgICAnaHRtbC9NaWNyb0RhdGFJdGVtVmFsdWUuY3BwJywKICAgICAgICAgICAg
ICdodG1sL01pY3JvRGF0YUl0ZW1WYWx1ZS5oJywKICAgICAgICAgICAgICdodG1sL01vbnRoSW5w
dXRUeXBlLmNwcCcsCkBAIC03NTY3LDYgKzc1NzIsMTAgQEAKICAgICAgICAgICAgICc8KFBST0RV
Q1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTWF0aE1MRWxlbWVudFdyYXBwZXJGYWN0
b3J5LmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNNZWRpYUVycm9yLmNwcCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU01lZGlhRXJyb3IuaCcsCisgICAgICAgICAgICAnPChQUk9EVUNU
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01lZGlhS2V5RXJyb3IuY3BwJywKKyAgICAg
ICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTWVkaWFLZXlF
cnJvci5oJywKKyAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTTWVkaWFLZXlFdmVudC5jcHAnLAorICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNZWRpYUtleUV2ZW50LmgnLAogICAgICAgICAgICAgJzwo
UFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNZWRpYUxpc3QuY3BwJywKICAg
ICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTWVkaWFM
aXN0LmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNNZWRpYVF1ZXJ5TGlzdC5jcHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvRGljdGlvbmFyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9EaWN0
aW9uYXJ5LmNwcAppbmRleCBjMjlmOTZhZDIwMTQxMWZmMzkzZGJiZDk1ZDhhN2YyNGVhZDg3NGUx
Li5mZDRkYTFmYjAwNmNmY2Y2NDE4OWY4MjM5ZDhlNmNiMjBmMWM2YWVhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9EaWN0aW9uYXJ5LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9EaWN0aW9uYXJ5LmNwcApAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1
ZGUgIlY4QmluZGluZy5oIgogI2luY2x1ZGUgIlY4RE9NV2luZG93LmgiCiAjaW5jbHVkZSAiVjhT
dG9yYWdlLmgiCisjaW5jbHVkZSAiVjhVaW50OEFycmF5LmgiCiAjaW5jbHVkZSAiVjhVdGlsaXRp
ZXMuaCIKICNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgogCkBAIC0zOCw2ICszOSwxMCBAQAog
I2luY2x1ZGUgIlY4SURCS2V5UmFuZ2UuaCIKICNlbmRpZgogCisjaWYgRU5BQkxFKEVOQ1JZUFRF
RF9NRURJQSkKKyNpbmNsdWRlICJWOE1lZGlhS2V5RXJyb3IuaCIKKyNlbmRpZgorCiAjaWYgRU5B
QkxFKFZJREVPX1RSQUNLKQogI2luY2x1ZGUgIlRyYWNrQmFzZS5oIgogI2luY2x1ZGUgIlY4VGV4
dFRyYWNrLmgiCkBAIC0yOTMsNiArMjk4LDQ0IEBAIGJvb2wgRGljdGlvbmFyeTo6Z2V0V2l0aFVu
ZGVmaW5lZE9yTnVsbENoZWNrKGNvbnN0IFN0cmluZyYga2V5LCBTdHJpbmcmIHZhbHVlKSBjCiAg
ICAgcmV0dXJuIHRydWU7CiB9CiAKK2Jvb2wgRGljdGlvbmFyeTo6Z2V0KGNvbnN0IFN0cmluZyYg
a2V5LCBSZWZQdHI8VWludDhBcnJheT4mIHZhbHVlKSBjb25zdAoreworICAgIHY4OjpMb2NhbDx2
ODo6VmFsdWU+IHY4VmFsdWU7CisgICAgaWYgKCFnZXRLZXkoa2V5LCB2OFZhbHVlKSkKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOworCisgICAgVWludDhBcnJheSogc291cmNlID0gMDsKKyAgICBpZiAo
djhWYWx1ZS0+SXNPYmplY3QoKSkgeworICAgICAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHdy
YXBwZXIgPSB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+OjpDYXN0KHY4VmFsdWUpOworCisgICAgICAg
IHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gYXJyYXkgPSBWOERPTVdyYXBwZXI6Omxvb2t1cERPTVdy
YXBwZXIoVjhVaW50OEFycmF5OjpHZXRUZW1wbGF0ZSgpLCB3cmFwcGVyKTsKKyAgICAgICAgaWYg
KCFhcnJheS5Jc0VtcHR5KCkpCisgICAgICAgICAgICBzb3VyY2UgPSBWOFVpbnQ4QXJyYXk6OnRv
TmF0aXZlKGFycmF5KTsKKyAgICB9CisgICAgdmFsdWUgPSBzb3VyY2U7CisgICAgcmV0dXJuIHRy
dWU7Cit9CisKKyNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQorYm9vbCBEaWN0aW9uYXJ5Ojpn
ZXQoY29uc3QgU3RyaW5nJiBrZXksIFJlZlB0cjxNZWRpYUtleUVycm9yPiYgdmFsdWUpIGNvbnN0
Cit7CisgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdjhWYWx1ZTsKKyAgICBpZiAoIWdldEtleShr
ZXksIHY4VmFsdWUpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBNZWRpYUtleUVycm9y
KiBzb3VyY2UgPSAwOworICAgIGlmICh2OFZhbHVlLT5Jc09iamVjdCgpKSB7CisgICAgICAgIHY4
OjpIYW5kbGU8djg6Ok9iamVjdD4gd3JhcHBlciA9IHY4OjpIYW5kbGU8djg6Ok9iamVjdD46OkNh
c3QodjhWYWx1ZSk7CisKKyAgICAgICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBlcnJvciA9IFY4
RE9NV3JhcHBlcjo6bG9va3VwRE9NV3JhcHBlcihWOE1lZGlhS2V5RXJyb3I6OkdldFRlbXBsYXRl
KCksIHdyYXBwZXIpOworICAgICAgICBpZiAoIWVycm9yLklzRW1wdHkoKSkKKyAgICAgICAgICAg
IHNvdXJjZSA9IFY4TWVkaWFLZXlFcnJvcjo6dG9OYXRpdmUoZXJyb3IpOworICAgIH0KKyAgICB2
YWx1ZSA9IHNvdXJjZTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKyNlbmRpZgorCiAjaWYgRU5BQkxF
KFZJREVPX1RSQUNLKQogYm9vbCBEaWN0aW9uYXJ5OjpnZXQoY29uc3QgU3RyaW5nJiBrZXksIFJl
ZlB0cjxUcmFja0Jhc2U+JiB2YWx1ZSkgY29uc3QKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L0RpY3Rpb25hcnkuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L0RpY3Rpb25hcnkuaAppbmRleCAyNmM0YTZiN2FjMjJlNGY4MDcwNDIxYjcwZTAzY2EzYjdjZmU4
YjQyLi4zMjE2NGI4Y2JiMjNhNTRhYmM1ODQ5Nzk5NjI1OTZjNWZkMmZmODMxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9EaWN0aW9uYXJ5LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvRGljdGlvbmFyeS5oCkBAIC0zOSw2ICszOSw3IEBAIGNsYXNzIERP
TVN0cmluZ0xpc3Q7CiBjbGFzcyBET01XaW5kb3c7CiBjbGFzcyBJREJLZXlSYW5nZTsKIGNsYXNz
IFN0b3JhZ2U7CitjbGFzcyBNZWRpYUtleUVycm9yOwogY2xhc3MgVHJhY2tCYXNlOwogY2xhc3Mg
U3BlZWNoUmVjb2duaXRpb25FcnJvcjsKIGNsYXNzIFNwZWVjaFJlY29nbml0aW9uUmVzdWx0OwpA
QCAtNjcsNiArNjgsMTAgQEAgcHVibGljOgogICAgIGJvb2wgZ2V0KGNvbnN0IFN0cmluZyYsIFJl
ZlB0cjxET01XaW5kb3c+JikgY29uc3Q7CiAgICAgYm9vbCBnZXQoY29uc3QgU3RyaW5nJiwgUmVm
UHRyPFN0b3JhZ2U+JikgY29uc3Q7CiAgICAgYm9vbCBnZXQoY29uc3QgU3RyaW5nJiwgTWVzc2Fn
ZVBvcnRBcnJheSYpIGNvbnN0OworICAgIGJvb2wgZ2V0KGNvbnN0IFN0cmluZyYsIFJlZlB0cjxV
aW50OEFycmF5PiYpIGNvbnN0OworI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCisgICAgYm9v
bCBnZXQoY29uc3QgU3RyaW5nJiwgUmVmUHRyPE1lZGlhS2V5RXJyb3I+JikgY29uc3Q7CisjZW5k
aWYKICNpZiBFTkFCTEUoVklERU9fVFJBQ0spCiAgICAgYm9vbCBnZXQoY29uc3QgU3RyaW5nJiwg
UmVmUHRyPFRyYWNrQmFzZT4mKSBjb25zdDsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL0V2ZW50TmFtZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgK
aW5kZXggYTY1YTUyYzUyODE4ODAwOThiMjdmNWZkN2FkYmZhN2IzNDlkYjBiNS4uMjA1YThjOTky
MWNhNTE4MmE2OGM3Y2MyYmYxY2VhOGVjZDljMWRjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZG9tL0V2ZW50TmFtZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5o
CkBAIC0xNjEsNiArMTYxLDExIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBtYWNybyh3ZWJr
aXRzb3VyY2VlbmRlZCkgXAogICAgIG1hY3JvKHdlYmtpdHNvdXJjZWNsb3NlKSBcCiAgICAgXAor
ICAgIG1hY3JvKHdlYmtpdGtleWFkZGVkKSBcCisgICAgbWFjcm8od2Via2l0a2V5ZXJyb3IpIFwK
KyAgICBtYWNybyh3ZWJraXRrZXltZXNzYWdlKSBcCisgICAgbWFjcm8od2Via2l0bmVlZGtleSkg
XAorICAgIFwKICAgICBtYWNybyhwcm9ncmVzcykgXAogICAgIG1hY3JvKHN0YWxsZWQpIFwKICAg
ICBtYWNybyhzdXNwZW5kKSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRO
YW1lcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmluCmluZGV4IGQ4NjYxMTI0
MDgwZTgxZDE5NTljOGMwOTUyYjU2OTYxYzdhZThmMjkuLmQ1YThkOTkwODNiNGFkMmY4YmU1YmM5
ODFhODNhMmMyN2MyM2I2YzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5h
bWVzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmluCkBAIC00Miw0ICs0
Miw1IEBAIFRvdWNoRXZlbnQgY29uZGl0aW9uYWw9VE9VQ0hfRVZFTlRTLCBydW50aW1lQ29uZGl0
aW9uYWw9dG91Y2hFbmFibGVkCiBEZXZpY2VNb3Rpb25FdmVudCBjb25kaXRpb25hbD1ERVZJQ0Vf
T1JJRU5UQVRJT04KIERldmljZU9yaWVudGF0aW9uRXZlbnQgY29uZGl0aW9uYWw9REVWSUNFX09S
SUVOVEFUSU9OCiBPcmllbnRhdGlvbkV2ZW50IGludGVyZmFjZU5hbWU9RXZlbnQsIGNvbmRpdGlv
bmFsPU9SSUVOVEFUSU9OX0VWRU5UUworTWVkaWFLZXlFdmVudCBjb25kaXRpb25hbD1FTkNSWVBU
RURfTUVESUEKIFRyYWNrRXZlbnQgY29uZGl0aW9uYWw9VklERU9fVFJBQ0sKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4KaW5kZXggM2M3MzBiYmNkNTQyNWFiZWM5YTlk
YzI1MTk3ZDM5MjdlZTY3ZDUxZC4uYmExMDQ4NzQ3NGI2NTAyOGJhMWNiYThjY2FhY2VkN2QxOTAz
ZGRhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMu
aW4KKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4KQEAgLTI0
Nyw2ICsyNDcsMTAgQEAgb253ZWJraXRiZWdpbmZ1bGxzY3JlZW4KIG9ud2Via2l0ZW5kZnVsbHNj
cmVlbgogb253ZWJraXRmdWxsc2NyZWVuY2hhbmdlCiBvbndlYmtpdGZ1bGxzY3JlZW5lcnJvcgor
b253ZWJraXRrZXlhZGRlZAorb253ZWJraXRrZXllcnJvcgorb253ZWJraXRrZXltZXNzYWdlCitv
bndlYmtpdG5lZWRrZXkKIG9ud2Via2l0dHJhbnNpdGlvbmVuZAogb3Blbgogb3B0aW11bQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKaW5kZXggMzlmZWYzMWIwZTI1YTQ1
NGQ3Y2UzZTBiNzJiZTBhMWU3NTY2ZTYxZS4uMDg1ODNlNDFiN2ZhN2QwM2VkMThkODYzNzcyMDU3
MTA3MjI4NGYzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVt
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBA
IC01OCw2ICs1OCw4IEBACiAjaW5jbHVkZSAiTWVkaWFEb2N1bWVudC5oIgogI2luY2x1ZGUgIk1l
ZGlhRXJyb3IuaCIKICNpbmNsdWRlICJNZWRpYUZyYWdtZW50VVJJUGFyc2VyLmgiCisjaW5jbHVk
ZSAiTWVkaWFLZXlFcnJvci5oIgorI2luY2x1ZGUgIk1lZGlhS2V5RXZlbnQuaCIKICNpbmNsdWRl
ICJNZWRpYUxpc3QuaCIKICNpbmNsdWRlICJNZWRpYVBsYXllci5oIgogI2luY2x1ZGUgIk1lZGlh
UXVlcnlFdmFsdWF0b3IuaCIKQEAgLTE2ODAsNiArMTY4Miw4NiBAQCBTdHJpbmcgSFRNTE1lZGlh
RWxlbWVudDo6bWVkaWFQbGF5ZXJTb3VyY2VVUkwoKSBjb25zdAogfQogI2VuZGlmCiAKKyNpZiBF
TkFCTEUoRU5DUllQVEVEX01FRElBKQordm9pZCBIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXll
cktleUFkZGVkKE1lZGlhUGxheWVyKiwgY29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0sIGNvbnN0IFN0
cmluZyYgc2Vzc2lvbklkKQoreworICAgIE1lZGlhS2V5RXZlbnRJbml0IGluaXRpYWxpemVyOwor
ICAgIGluaXRpYWxpemVyLmtleVN5c3RlbSA9IGtleVN5c3RlbTsKKyAgICBpbml0aWFsaXplci5z
ZXNzaW9uSWQgPSBzZXNzaW9uSWQ7CisgICAgaW5pdGlhbGl6ZXIuYnViYmxlcyA9IGZhbHNlOwor
ICAgIGluaXRpYWxpemVyLmNhbmNlbGFibGUgPSBmYWxzZTsKKworICAgIFJlZlB0cjxFdmVudD4g
ZXZlbnQgPSBNZWRpYUtleUV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLndlYmtpdGtleWFkZGVk
RXZlbnQsIGluaXRpYWxpemVyKTsKKyAgICBldmVudC0+c2V0VGFyZ2V0KHRoaXMpOworICAgIG1f
YXN5bmNFdmVudFF1ZXVlLT5lbnF1ZXVlRXZlbnQoZXZlbnQucmVsZWFzZSgpKTsKK30KKwordm9p
ZCBIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXllcktleUVycm9yKE1lZGlhUGxheWVyKiwgY29u
c3QgU3RyaW5nJiBrZXlTeXN0ZW0sIGNvbnN0IFN0cmluZyYgc2Vzc2lvbklkLCBNZWRpYVBsYXll
ckNsaWVudDo6TWVkaWFLZXlFcnJvckNvZGUgZXJyb3JDb2RlLCB1bnNpZ25lZCBzaG9ydCBzeXN0
ZW1Db2RlKQoreworICAgIE1lZGlhS2V5RXJyb3I6OkNvZGUgbWVkaWFLZXlFcnJvckNvZGUgPSBN
ZWRpYUtleUVycm9yOjpNRURJQV9LRVlFUlJfVU5LTk9XTjsKKyAgICBzd2l0Y2ggKGVycm9yQ29k
ZSkgeworICAgIGNhc2UgTWVkaWFQbGF5ZXJDbGllbnQ6OlVua25vd25FcnJvcjoKKyAgICAgICAg
bWVkaWFLZXlFcnJvckNvZGUgPSBNZWRpYUtleUVycm9yOjpNRURJQV9LRVlFUlJfVU5LTk9XTjsK
KyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBNZWRpYVBsYXllckNsaWVudDo6Q2xpZW50RXJyb3I6
CisgICAgICAgIG1lZGlhS2V5RXJyb3JDb2RlID0gTWVkaWFLZXlFcnJvcjo6TUVESUFfS0VZRVJS
X0NMSUVOVDsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBNZWRpYVBsYXllckNsaWVudDo6U2Vy
dmljZUVycm9yOgorICAgICAgICBtZWRpYUtleUVycm9yQ29kZSA9IE1lZGlhS2V5RXJyb3I6Ok1F
RElBX0tFWUVSUl9TRVJWSUNFOworICAgICAgICBicmVhazsKKyAgICBjYXNlIE1lZGlhUGxheWVy
Q2xpZW50OjpPdXRwdXRFcnJvcjoKKyAgICAgICAgbWVkaWFLZXlFcnJvckNvZGUgPSBNZWRpYUtl
eUVycm9yOjpNRURJQV9LRVlFUlJfT1VUUFVUOworICAgICAgICBicmVhazsKKyAgICBjYXNlIE1l
ZGlhUGxheWVyQ2xpZW50OjpIYXJkd2FyZUNoYW5nZUVycm9yOgorICAgICAgICBtZWRpYUtleUVy
cm9yQ29kZSA9IE1lZGlhS2V5RXJyb3I6Ok1FRElBX0tFWUVSUl9IQVJEV0FSRUNIQU5HRTsKKyAg
ICAgICAgYnJlYWs7CisgICAgY2FzZSBNZWRpYVBsYXllckNsaWVudDo6RG9tYWluRXJyb3I6Cisg
ICAgICAgIG1lZGlhS2V5RXJyb3JDb2RlID0gTWVkaWFLZXlFcnJvcjo6TUVESUFfS0VZRVJSX0RP
TUFJTjsKKyAgICAgICAgYnJlYWs7CisgICAgfQorCisgICAgTWVkaWFLZXlFdmVudEluaXQgaW5p
dGlhbGl6ZXI7CisgICAgaW5pdGlhbGl6ZXIua2V5U3lzdGVtID0ga2V5U3lzdGVtOworICAgIGlu
aXRpYWxpemVyLnNlc3Npb25JZCA9IHNlc3Npb25JZDsKKyAgICBpbml0aWFsaXplci5lcnJvckNv
ZGUgPSBNZWRpYUtleUVycm9yOjpjcmVhdGUobWVkaWFLZXlFcnJvckNvZGUpOworICAgIGluaXRp
YWxpemVyLnN5c3RlbUNvZGUgPSBzeXN0ZW1Db2RlOworICAgIGluaXRpYWxpemVyLmJ1YmJsZXMg
PSBmYWxzZTsKKyAgICBpbml0aWFsaXplci5jYW5jZWxhYmxlID0gZmFsc2U7CisKKyAgICBSZWZQ
dHI8RXZlbnQ+IGV2ZW50ID0gTWVkaWFLZXlFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS53ZWJr
aXRrZXllcnJvckV2ZW50LCBpbml0aWFsaXplcik7CisgICAgZXZlbnQtPnNldFRhcmdldCh0aGlz
KTsKKyAgICBtX2FzeW5jRXZlbnRRdWV1ZS0+ZW5xdWV1ZUV2ZW50KGV2ZW50LnJlbGVhc2UoKSk7
Cit9CisKK3ZvaWQgSFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJLZXlNZXNzYWdlKE1lZGlh
UGxheWVyKiwgY29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0sIGNvbnN0IFN0cmluZyYgc2Vzc2lvbklk
LCBjb25zdCB1bnNpZ25lZCBjaGFyKiBtZXNzYWdlLCB1bnNpZ25lZCBtZXNzYWdlTGVuZ3RoKQor
eworICAgIE1lZGlhS2V5RXZlbnRJbml0IGluaXRpYWxpemVyOworICAgIGluaXRpYWxpemVyLmtl
eVN5c3RlbSA9IGtleVN5c3RlbTsKKyAgICBpbml0aWFsaXplci5zZXNzaW9uSWQgPSBzZXNzaW9u
SWQ7CisgICAgaW5pdGlhbGl6ZXIubWVzc2FnZSA9IFVpbnQ4QXJyYXk6OmNyZWF0ZShtZXNzYWdl
LCBtZXNzYWdlTGVuZ3RoKTsKKyAgICBpbml0aWFsaXplci5idWJibGVzID0gZmFsc2U7CisgICAg
aW5pdGlhbGl6ZXIuY2FuY2VsYWJsZSA9IGZhbHNlOworCisgICAgUmVmUHRyPEV2ZW50PiBldmVu
dCA9IE1lZGlhS2V5RXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkud2Via2l0a2V5bWVzc2FnZUV2
ZW50LCBpbml0aWFsaXplcik7CisgICAgZXZlbnQtPnNldFRhcmdldCh0aGlzKTsKKyAgICBtX2Fz
eW5jRXZlbnRRdWV1ZS0+ZW5xdWV1ZUV2ZW50KGV2ZW50LnJlbGVhc2UoKSk7Cit9CisKK3ZvaWQg
SFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJLZXlOZWVkZWQoTWVkaWFQbGF5ZXIqLCBjb25z
dCBTdHJpbmcmIGtleVN5c3RlbSwgY29uc3QgU3RyaW5nJiBzZXNzaW9uSWQsIGNvbnN0IHVuc2ln
bmVkIGNoYXIqIGluaXREYXRhLCB1bnNpZ25lZCBpbml0RGF0YUxlbmd0aCkKK3sKKyAgICBNZWRp
YUtleUV2ZW50SW5pdCBpbml0aWFsaXplcjsKKyAgICBpbml0aWFsaXplci5rZXlTeXN0ZW0gPSBr
ZXlTeXN0ZW07CisgICAgaW5pdGlhbGl6ZXIuc2Vzc2lvbklkID0gc2Vzc2lvbklkOworICAgIGlu
aXRpYWxpemVyLmluaXREYXRhID0gVWludDhBcnJheTo6Y3JlYXRlKGluaXREYXRhLCBpbml0RGF0
YUxlbmd0aCk7CisgICAgaW5pdGlhbGl6ZXIuYnViYmxlcyA9IGZhbHNlOworICAgIGluaXRpYWxp
emVyLmNhbmNlbGFibGUgPSBmYWxzZTsKKworICAgIFJlZlB0cjxFdmVudD4gZXZlbnQgPSBNZWRp
YUtleUV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLndlYmtpdG5lZWRrZXlFdmVudCwgaW5pdGlh
bGl6ZXIpOworICAgIGV2ZW50LT5zZXRUYXJnZXQodGhpcyk7CisgICAgbV9hc3luY0V2ZW50UXVl
dWUtPmVucXVldWVFdmVudChldmVudC5yZWxlYXNlKCkpOworfQorI2VuZGlmCisKIHZvaWQgSFRN
TE1lZGlhRWxlbWVudDo6cHJvZ3Jlc3NFdmVudFRpbWVyRmlyZWQoVGltZXI8SFRNTE1lZGlhRWxl
bWVudD4qKQogewogICAgIEFTU0VSVChtX3BsYXllcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1l
ZGlhRWxlbWVudC5oCmluZGV4IGU2NWI3OTg0MmEzNjA1ODUzMTFmZGYyZmZkMzVkZDY4NzdjYjlk
ODIuLjAzYWNlMjgyOTg0ZTQyN2IwYTRhZmRjNWQ1NGU2NTcwNWYxODcxMDIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCkBAIC0xODYsNiArMTg2LDExIEBAIHB1YmxpYzoK
ICAgICB2b2lkIHdlYmtpdEFkZEtleShjb25zdCBTdHJpbmcmIGtleVN5c3RlbSwgUGFzc1JlZlB0
cjxVaW50OEFycmF5PiBrZXksIFBhc3NSZWZQdHI8VWludDhBcnJheT4gaW5pdERhdGEsIGNvbnN0
IFN0cmluZyYgc2Vzc2lvbklkLCBFeGNlcHRpb25Db2RlJik7CiAgICAgdm9pZCB3ZWJraXRBZGRL
ZXkoY29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0sIFBhc3NSZWZQdHI8VWludDhBcnJheT4ga2V5LCBF
eGNlcHRpb25Db2RlJik7CiAgICAgdm9pZCB3ZWJraXRDYW5jZWxLZXlSZXF1ZXN0KGNvbnN0IFN0
cmluZyYga2V5U3lzdGVtLCBjb25zdCBTdHJpbmcmIHNlc3Npb25JZCwgRXhjZXB0aW9uQ29kZSYp
OworCisgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih3ZWJraXRrZXlhZGRlZCk7
CisgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih3ZWJraXRrZXllcnJvcik7Cisg
ICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih3ZWJraXRrZXltZXNzYWdlKTsKKyAg
ICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHdlYmtpdG5lZWRrZXkpOwogI2VuZGlm
CiAKIC8vIGNvbnRyb2xzCkBAIC0yNjEsNiArMjY2LDEzIEBAIHB1YmxpYzoKICAgICB2b2lkIHVw
ZGF0ZVdpZGdldChQbHVnaW5DcmVhdGlvbk9wdGlvbik7CiAjZW5kaWYKIAorICAgIC8vIEV2ZW50
VGFyZ2V0IGZ1bmN0aW9uLgorICAgIC8vIEJvdGggTm9kZSAodmlhIEhUTUxFbGVtZW50KSBhbmQg
QWN0aXZlRE9NT2JqZWN0IGRlZmluZSB0aGlzIG1ldGhvZCwgd2hpY2gKKyAgICAvLyBjYXVzZXMg
YW4gYW1iaWd1aXR5IGVycm9yIGF0IGNvbXBpbGUgdGltZS4gVGhpcyBjbGFzcydzIGNvbnN0cnVj
dG9yCisgICAgLy8gZW5zdXJlcyB0aGF0IGJvdGggaW1wbGVtZW50YXRpb25zIHJldHVybiBkb2N1
bWVudCwgc28gcmV0dXJuIHRoZSByZXN1bHQKKyAgICAvLyBvZiBvbmUgb2YgdGhlbSBoZXJlLgor
ICAgIHZpcnR1YWwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0aW9uQ29udGV4
dCgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIEhUTUxFbGVtZW50OjpzY3JpcHRFeGVjdXRpb25D
b250ZXh0KCk7IH0KKwogICAgIGJvb2wgaGFzU2luZ2xlU2VjdXJpdHlPcmlnaW4oKSBjb25zdCB7
IHJldHVybiAhbV9wbGF5ZXIgfHwgbV9wbGF5ZXItPmhhc1NpbmdsZVNlY3VyaXR5T3JpZ2luKCk7
IH0KICAgICAKICAgICBib29sIGlzRnVsbHNjcmVlbigpIGNvbnN0OwpAQCAtMzk3LDYgKzQwOSwx
MyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgU3RyaW5nIG1lZGlhUGxheWVyU291cmNlVVJMKCkg
Y29uc3Q7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCisgICAgdmlydHVh
bCB2b2lkIG1lZGlhUGxheWVyS2V5QWRkZWQoTWVkaWFQbGF5ZXIqLCBjb25zdCBTdHJpbmcmIGtl
eVN5c3RlbSwgY29uc3QgU3RyaW5nJiBzZXNzaW9uSWQpIE9WRVJSSURFOworICAgIHZpcnR1YWwg
dm9pZCBtZWRpYVBsYXllcktleUVycm9yKE1lZGlhUGxheWVyKiwgY29uc3QgU3RyaW5nJiBrZXlT
eXN0ZW0sIGNvbnN0IFN0cmluZyYgc2Vzc2lvbklkLCBNZWRpYVBsYXllckNsaWVudDo6TWVkaWFL
ZXlFcnJvckNvZGUsIHVuc2lnbmVkIHNob3J0IHN5c3RlbUNvZGUpIE9WRVJSSURFOworICAgIHZp
cnR1YWwgdm9pZCBtZWRpYVBsYXllcktleU1lc3NhZ2UoTWVkaWFQbGF5ZXIqLCBjb25zdCBTdHJp
bmcmIGtleVN5c3RlbSwgY29uc3QgU3RyaW5nJiBzZXNzaW9uSWQsIGNvbnN0IHVuc2lnbmVkIGNo
YXIqIG1lc3NhZ2UsIHVuc2lnbmVkIG1lc3NhZ2VMZW5ndGgpIE9WRVJSSURFOworICAgIHZpcnR1
YWwgdm9pZCBtZWRpYVBsYXllcktleU5lZWRlZChNZWRpYVBsYXllciosIGNvbnN0IFN0cmluZyYg
a2V5U3lzdGVtLCBjb25zdCBTdHJpbmcmIHNlc3Npb25JZCwgY29uc3QgdW5zaWduZWQgY2hhciog
aW5pdERhdGEsIHVuc2lnbmVkIGluaXREYXRhTGVuZ3RoKSBPVkVSUklERTsKKyNlbmRpZgorCiAg
ICAgdmlydHVhbCBTdHJpbmcgbWVkaWFQbGF5ZXJSZWZlcnJlcigpIGNvbnN0IE9WRVJSSURFOwog
ICAgIHZpcnR1YWwgU3RyaW5nIG1lZGlhUGxheWVyVXNlckFnZW50KCkgY29uc3QgT1ZFUlJJREU7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5pZGwg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaWRsCmluZGV4IGIyN2E2ZTlh
ZjczMjdjODZmYzhmYWZjOGM0ZWM2ZDU1YjBhNjZkYjQuLjg3ODU0YmUwZjUxMzM0NTZiOWUxNjA4
Yjk4MmQwMGFkMzZjYzZlNDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1l
ZGlhRWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50
LmlkbApAQCAtMTIyLDYgKzEyMiwxMSBAQCBtb2R1bGUgaHRtbCB7CiAgICAgICAgIHJhaXNlcyAo
RE9NRXhjZXB0aW9uKTsKICAgICBbVjhFbmFibGVkQXRSdW50aW1lPWVuY3J5cHRlZE1lZGlhXSB2
b2lkIHdlYmtpdENhbmNlbEtleVJlcXVlc3QoaW4gW1RyZWF0TnVsbEFzPU51bGxTdHJpbmcsIFRy
ZWF0VW5kZWZpbmVkQXM9TnVsbFN0cmluZ10gRE9NU3RyaW5nIGtleVN5c3RlbSwgaW4gW09wdGlv
bmFsPURlZmF1bHRJc051bGxTdHJpbmddIERPTVN0cmluZyBzZXNzaW9uSWQpCiAgICAgICAgIHJh
aXNlcyAoRE9NRXhjZXB0aW9uKTsKKworICAgIGF0dHJpYnV0ZSBbVjhFbmFibGVkQXRSdW50aW1l
PWVuY3J5cHRlZE1lZGlhXSBFdmVudExpc3RlbmVyIG9ud2Via2l0a2V5YWRkZWQ7CisgICAgYXR0
cmlidXRlIFtWOEVuYWJsZWRBdFJ1bnRpbWU9ZW5jcnlwdGVkTWVkaWFdIEV2ZW50TGlzdGVuZXIg
b253ZWJraXRrZXllcnJvcjsKKyAgICBhdHRyaWJ1dGUgW1Y4RW5hYmxlZEF0UnVudGltZT1lbmNy
eXB0ZWRNZWRpYV0gRXZlbnRMaXN0ZW5lciBvbndlYmtpdGtleW1lc3NhZ2U7CisgICAgYXR0cmli
dXRlIFtWOEVuYWJsZWRBdFJ1bnRpbWU9ZW5jcnlwdGVkTWVkaWFdIEV2ZW50TGlzdGVuZXIgb253
ZWJraXRuZWVka2V5OwogI2VuZGlmCiAKICNpZiBkZWZpbmVkKEVOQUJMRV9WSURFT19UUkFDSykg
JiYgRU5BQkxFX1ZJREVPX1RSQUNLCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01l
ZGlhRXJyb3IuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFcnJvci5oCmluZGV4IGI2OGMz
NzA2NTAxYTIwNjdjZTk1MWEwYWE2ZmEyNDhjMjU2YWFmMGUuLjkwZjQ0N2YwNWU1YTRmMGNhZDE0
YjVjNDI5YmZiZmU4Yzg3MGQzMDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVk
aWFFcnJvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFcnJvci5oCkBAIC0zNSw3
ICszNSwxNSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIE1lZGlhRXJyb3IgOiBwdWJs
aWMgUmVmQ291bnRlZDxNZWRpYUVycm9yPiB7CiBwdWJsaWM6Ci0gICAgZW51bSBDb2RlIHsgTUVE
SUFfRVJSX0FCT1JURUQgPSAxLCBNRURJQV9FUlJfTkVUV09SSywgTUVESUFfRVJSX0RFQ09ERSwg
TUVESUFfRVJSX1NSQ19OT1RfU1VQUE9SVEVEIH07CisgICAgZW51bSBDb2RlIHsKKyAgICAgICAg
TUVESUFfRVJSX0FCT1JURUQgPSAxLAorICAgICAgICBNRURJQV9FUlJfTkVUV09SSywKKyAgICAg
ICAgTUVESUFfRVJSX0RFQ09ERSwKKyAgICAgICAgTUVESUFfRVJSX1NSQ19OT1RfU1VQUE9SVEVE
CisjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKKyAgICAgICAgLCBNRURJQV9FUlJfRU5DUllQ
VEVECisjZW5kaWYKKyAgICB9OwogCiAgICAgc3RhdGljIFBhc3NSZWZQdHI8TWVkaWFFcnJvcj4g
Y3JlYXRlKENvZGUgY29kZSkgeyByZXR1cm4gYWRvcHRSZWYobmV3IE1lZGlhRXJyb3IoY29kZSkp
OyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFcnJvci5pZGwgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRXJyb3IuaWRsCmluZGV4IGZjZWIxZjU1MWVlNWUzMDI3
YzYyZjJhNWE0ODAyYzAwNzcwNmQ4NWMuLjhlYjlkNTQwMjk0NjUwMzRkZDQzZGY4MTlmZGRjZDEx
NTE2NzI3NTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFcnJvci5pZGwK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVycm9yLmlkbApAQCAtMzEsNiArMzEsOSBA
QCBtb2R1bGUgaHRtbCB7CiAgICAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgTUVESUFfRVJS
X05FVFdPUksgPSAyOwogICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IE1FRElBX0VSUl9E
RUNPREUgPSAzOwogICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IE1FRElBX0VSUl9TUkNf
Tk9UX1NVUFBPUlRFRCA9IDQ7CisjaWYgZGVmaW5lZChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAm
JiBFTkFCTEVfRU5DUllQVEVEX01FRElBCisgICAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQg
TUVESUFfRVJSX0VOQ1JZUFRFRCA9IDU7CisjZW5kaWYKICAgICAgICAgICByZWFkb25seSBhdHRy
aWJ1dGUgdW5zaWduZWQgc2hvcnQgY29kZTsKICAgICB9OwogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9NZWRpYUtleUVycm9yLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlh
S2V5RXJyb3IuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMmM3MzZkNDg3YTNmNGMwNzE2NWI0YzY1MjhlZmQ5OTlj
Zjc1ZGUyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUtleUVy
cm9yLmgKQEAgLTAsMCArMSw2MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUg
SW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAor
ICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lmbmRlZiBNZWRpYUtleUVycm9y
X2gKKyNkZWZpbmUgTWVkaWFLZXlFcnJvcl9oCisKKyNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElB
KQorCisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRl
ZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIE1lZGlhS2V5RXJyb3IgOiBwdWJs
aWMgUmVmQ291bnRlZDxNZWRpYUtleUVycm9yPiB7CitwdWJsaWM6CisgICAgZW51bSBDb2RlIHsK
KyAgICAgICAgTUVESUFfS0VZRVJSX1VOS05PV04gPSAxLAorICAgICAgICBNRURJQV9LRVlFUlJf
Q0xJRU5ULAorICAgICAgICBNRURJQV9LRVlFUlJfU0VSVklDRSwKKyAgICAgICAgTUVESUFfS0VZ
RVJSX09VVFBVVCwKKyAgICAgICAgTUVESUFfS0VZRVJSX0hBUkRXQVJFQ0hBTkdFLAorICAgICAg
ICBNRURJQV9LRVlFUlJfRE9NQUlOCisgICAgfTsKKworICAgIHN0YXRpYyBQYXNzUmVmUHRyPE1l
ZGlhS2V5RXJyb3I+IGNyZWF0ZShDb2RlIGNvZGUpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBNZWRp
YUtleUVycm9yKGNvZGUpKTsgfQorCisgICAgQ29kZSBjb2RlKCkgY29uc3QgeyByZXR1cm4gbV9j
b2RlOyB9CisKK3ByaXZhdGU6CisgICAgZXhwbGljaXQgTWVkaWFLZXlFcnJvcihDb2RlIGNvZGUp
IDogbV9jb2RlKGNvZGUpIHsgfQorCisgICAgQ29kZSBtX2NvZGU7Cit9OworCit9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCisKKyNlbmRpZgorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL01lZGlhS2V5RXJyb3IuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUtleUVy
cm9yLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi41NWI5YjA0ZDBmN2Y1NzNlMzk0MDZlMmExMTFiNDc2YWFkOTJi
ODkzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUtleUVycm9y
LmlkbApAQCAtMCwwICsxLDM5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJ
bmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisg
KiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCittb2R1bGUgaHRtbCB7CisgICAgaW50
ZXJmYWNlIFsKKyAgICAgICAgQ29uZGl0aW9uYWw9RU5DUllQVEVEX01FRElBLAorICAgICAgICBW
OEVuYWJsZWRBdFJ1bnRpbWU9ZW5jcnlwdGVkTWVkaWEsIAorICAgIF0gTWVkaWFLZXlFcnJvciB7
CisgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IE1FRElBX0tFWUVSUl9VTktOT1dOID0gMTsK
KyAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgTUVESUFfS0VZRVJSX0NMSUVOVCA9IDI7Cisg
ICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IE1FRElBX0tFWUVSUl9TRVJWSUNFID0gMzsKKyAg
ICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgTUVESUFfS0VZRVJSX09VVFBVVCA9IDQ7CisgICAg
ICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IE1FRElBX0tFWUVSUl9IQVJEV0FSRUNIQU5HRSA9IDU7
CisgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IE1FRElBX0tFWUVSUl9ET01BSU4gPSA2Owor
ICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnQgY29kZTsKKyAgICB9Owor
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUtleUV2ZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFLZXlFdmVudC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmY2MmRiYzQ5
MDllYjIzZTMxYzljNzU3N2Y4YzI0M2UyMjIyYjdjNwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvTWVkaWFLZXlFdmVudC5jcHAKQEAgLTAsMCArMSw2OSBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVS
LCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIs
IElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisg
KiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisg
Ki8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkK
KworI2luY2x1ZGUgIk1lZGlhS2V5RXZlbnQuaCIKKworI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIK
KyNpbmNsdWRlIDx3dGYvVWludDhBcnJheS5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK01l
ZGlhS2V5RXZlbnRJbml0OjpNZWRpYUtleUV2ZW50SW5pdCgpCisgICAgOiBzeXN0ZW1Db2RlKDAp
Cit7Cit9CisKK01lZGlhS2V5RXZlbnQ6Ok1lZGlhS2V5RXZlbnQoKQoreworfQorCitNZWRpYUtl
eUV2ZW50OjpNZWRpYUtleUV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgY29uc3QgTWVk
aWFLZXlFdmVudEluaXQmIGluaXRpYWxpemVyKQorICAgIDogRXZlbnQodHlwZSwgaW5pdGlhbGl6
ZXIpCisgICAgLCBtX2tleVN5c3RlbShpbml0aWFsaXplci5rZXlTeXN0ZW0pCisgICAgLCBtX3Nl
c3Npb25JZChpbml0aWFsaXplci5zZXNzaW9uSWQpCisgICAgLCBtX2luaXREYXRhKGluaXRpYWxp
emVyLmluaXREYXRhKQorICAgICwgbV9tZXNzYWdlKGluaXRpYWxpemVyLm1lc3NhZ2UpCisgICAg
LCBtX2RlZmF1bHRVUkwoaW5pdGlhbGl6ZXIuZGVmYXVsdFVSTCkKKyAgICAsIG1fZXJyb3JDb2Rl
KGluaXRpYWxpemVyLmVycm9yQ29kZSkKKyAgICAsIG1fc3lzdGVtQ29kZShpbml0aWFsaXplci5z
eXN0ZW1Db2RlKQoreworfQorCitNZWRpYUtleUV2ZW50Ojp+TWVkaWFLZXlFdmVudCgpCit7Cit9
CisKK2NvbnN0IEF0b21pY1N0cmluZyYgTWVkaWFLZXlFdmVudDo6aW50ZXJmYWNlTmFtZSgpIGNv
bnN0Cit7CisgICAgcmV0dXJuIGV2ZW50TmFtZXMoKS5pbnRlcmZhY2VGb3JNZWRpYUtleUV2ZW50
OworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUtleUV2ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01l
ZGlhS2V5RXZlbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zYjBkNjYzZTJjODQ4MzJlZTYyZDIwZTVhY2E3MzE3
NTVhMGY0YzhiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUtl
eUV2ZW50LmgKQEAgLTAsMCArMSw4OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29n
bGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5Z
CisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAg
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lmbmRlZiBNZWRpYUtleUV2
ZW50X2gKKyNkZWZpbmUgTWVkaWFLZXlFdmVudF9oCisKKyNpZiBFTkFCTEUoRU5DUllQVEVEX01F
RElBKQorCisjaW5jbHVkZSAiRXZlbnQuaCIKKyNpbmNsdWRlICJNZWRpYUtleUVycm9yLmgiCisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RydWN0IE1lZGlhS2V5RXZlbnRJbml0IDogcHVibGlj
IEV2ZW50SW5pdCB7CisgICAgTWVkaWFLZXlFdmVudEluaXQoKTsKKworICAgIFN0cmluZyBrZXlT
eXN0ZW07CisgICAgU3RyaW5nIHNlc3Npb25JZDsKKyAgICBSZWZQdHI8VWludDhBcnJheT4gaW5p
dERhdGE7CisgICAgUmVmUHRyPFVpbnQ4QXJyYXk+IG1lc3NhZ2U7CisgICAgU3RyaW5nIGRlZmF1
bHRVUkw7CisgICAgUmVmUHRyPE1lZGlhS2V5RXJyb3I+IGVycm9yQ29kZTsKKyAgICB1bnNpZ25l
ZCBzaG9ydCBzeXN0ZW1Db2RlOworfTsKKworY2xhc3MgTWVkaWFLZXlFdmVudCA6IHB1YmxpYyBF
dmVudCB7CitwdWJsaWM6CisgICAgdmlydHVhbCB+TWVkaWFLZXlFdmVudCgpOworCisgICAgc3Rh
dGljIFBhc3NSZWZQdHI8TWVkaWFLZXlFdmVudD4gY3JlYXRlKCkKKyAgICB7CisgICAgICAgIHJl
dHVybiBhZG9wdFJlZihuZXcgTWVkaWFLZXlFdmVudCk7CisgICAgfQorCisgICAgc3RhdGljIFBh
c3NSZWZQdHI8TWVkaWFLZXlFdmVudD4gY3JlYXRlKGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwg
Y29uc3QgTWVkaWFLZXlFdmVudEluaXQmIGluaXRpYWxpemVyKQorICAgIHsKKyAgICAgICAgcmV0
dXJuIGFkb3B0UmVmKG5ldyBNZWRpYUtleUV2ZW50KHR5cGUsIGluaXRpYWxpemVyKSk7CisgICAg
fQorCisgICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIGludGVyZmFjZU5hbWUoKSBjb25z
dDsKKworICAgIFN0cmluZyBrZXlTeXN0ZW0oKSBjb25zdCB7IHJldHVybiBtX2tleVN5c3RlbTsg
fQorICAgIFN0cmluZyBzZXNzaW9uSWQoKSBjb25zdCB7IHJldHVybiBtX3Nlc3Npb25JZDsgfQor
ICAgIFVpbnQ4QXJyYXkqIGluaXREYXRhKCkgY29uc3QgeyByZXR1cm4gbV9pbml0RGF0YS5nZXQo
KTsgfQorICAgIFVpbnQ4QXJyYXkqIG1lc3NhZ2UoKSBjb25zdCB7IHJldHVybiBtX21lc3NhZ2Uu
Z2V0KCk7IH0KKyAgICBTdHJpbmcgZGVmYXVsdFVSTCgpIGNvbnN0IHsgcmV0dXJuIG1fZGVmYXVs
dFVSTDsgfQorICAgIE1lZGlhS2V5RXJyb3IqIGVycm9yQ29kZSgpIGNvbnN0IHsgcmV0dXJuIG1f
ZXJyb3JDb2RlLmdldCgpOyB9CisgICAgdW5zaWduZWQgc2hvcnQgc3lzdGVtQ29kZSgpIGNvbnN0
IHsgcmV0dXJuIG1fc3lzdGVtQ29kZTsgfQorCitwcml2YXRlOgorICAgIE1lZGlhS2V5RXZlbnQo
KTsKKyAgICBNZWRpYUtleUV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgY29uc3QgTWVk
aWFLZXlFdmVudEluaXQmIGluaXRpYWxpemVyKTsKKworICAgIFN0cmluZyBtX2tleVN5c3RlbTsK
KyAgICBTdHJpbmcgbV9zZXNzaW9uSWQ7CisgICAgUmVmUHRyPFVpbnQ4QXJyYXk+IG1faW5pdERh
dGE7CisgICAgUmVmUHRyPFVpbnQ4QXJyYXk+IG1fbWVzc2FnZTsKKyAgICBTdHJpbmcgbV9kZWZh
dWx0VVJMOworICAgIFJlZlB0cjxNZWRpYUtleUVycm9yPiBtX2Vycm9yQ29kZTsKKyAgICB1bnNp
Z25lZCBzaG9ydCBtX3N5c3RlbUNvZGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisK
KyNlbmRpZgorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhS2V5
RXZlbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUtleUV2ZW50LmlkbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5iMTM4N2RjZmM0NzAwN2FkNzVlODJmZGZjODNhOWQ3YmViZTczNjU3Ci0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUtleUV2ZW50LmlkbApAQCAtMCwwICsx
LDQyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuICBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBDT01QVVRFUiwgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLiAKKyAqLworCittb2R1bGUgaHRtbCB7CisKKyAgICBpbnRlcmZhY2UgWworICAg
ICAgICBDb25kaXRpb25hbD1FTkNSWVBURURfTUVESUEsCisgICAgICAgIFY4RW5hYmxlZEF0UnVu
dGltZT1lbmNyeXB0ZWRNZWRpYSwKKyAgICAgICAgQ29uc3RydWN0b3JUZW1wbGF0ZT1FdmVudCAK
KyAgICBdIE1lZGlhS2V5RXZlbnQgOiBFdmVudCB7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBbSW5pdGlhbGl6ZWRCeUV2ZW50Q29uc3RydWN0b3JdIERPTVN0cmluZyBrZXlTeXN0ZW07Cisg
ICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBbSW5pdGlhbGl6ZWRCeUV2ZW50Q29uc3RydWN0b3Jd
IERPTVN0cmluZyBzZXNzaW9uSWQ7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBbSW5pdGlh
bGl6ZWRCeUV2ZW50Q29uc3RydWN0b3JdIFVpbnQ4QXJyYXkgaW5pdERhdGE7CisgICAgICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBbSW5pdGlhbGl6ZWRCeUV2ZW50Q29uc3RydWN0b3JdIFVpbnQ4QXJy
YXkgbWVzc2FnZTsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFtJbml0aWFsaXplZEJ5RXZl
bnRDb25zdHJ1Y3Rvcl0gRE9NU3RyaW5nIGRlZmF1bHRVUkw7CisgICAgICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBbSW5pdGlhbGl6ZWRCeUV2ZW50Q29uc3RydWN0b3JdIE1lZGlhS2V5RXJyb3IgZXJy
b3JDb2RlOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW0luaXRpYWxpemVkQnlFdmVudENv
bnN0cnVjdG9yXSB1bnNpZ25lZCBzaG9ydCBzeXN0ZW1Db2RlOworICAgIH07CisKK30KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRE9NV2luZG93LmlkbAppbmRleCA0Y2I5MDY3YjJjNGZkZmEzOWNlYTgyMDBiYzAxM2I4
NjIxNGRiOWUwLi5kZWFmODkwZDBjOGM2NjJjNzI1NmNiMmE1YjhhZjBkZWU5OWRjYmYwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCkBAIC00NjYsNiArNDY2LDkgQEAgbW9kdWxlIHdpbmRv
dyB7CiAgICAgICAgIGF0dHJpYnV0ZSBbSlNDdXN0b21HZXR0ZXIsIEN1c3RvbUNvbnN0cnVjdG9y
XSBIVE1MSW1hZ2VFbGVtZW50Q29uc3RydWN0b3JDb25zdHJ1Y3RvciBJbWFnZTsgLy8gVXNhYmxl
IHdpdGggbmV3IG9wZXJhdG9yCiAgICAgICAgIGF0dHJpYnV0ZSBbSlNDdXN0b21HZXR0ZXJdIEhU
TUxPcHRpb25FbGVtZW50Q29uc3RydWN0b3JDb25zdHJ1Y3RvciBPcHRpb247IC8vIFVzYWJsZSB3
aXRoIG5ldyBvcGVyYXRvcgogCisgICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9RU5DUllQ
VEVEX01FRElBLCBWOEVuYWJsZWRBdFJ1bnRpbWU9ZW5jcnlwdGVkTWVkaWFdIE1lZGlhS2V5RXJy
b3JDb25zdHJ1Y3RvciBNZWRpYUtleUVycm9yOworICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlv
bmFsPUVOQ1JZUFRFRF9NRURJQSwgVjhFbmFibGVkQXRSdW50aW1lPWVuY3J5cHRlZE1lZGlhXSBN
ZWRpYUtleUV2ZW50Q29uc3RydWN0b3IgTWVkaWFLZXlFdmVudDsKKwogICAgICAgICBhdHRyaWJ1
dGUgW0NvbmRpdGlvbmFsPVZJREVPX1RSQUNLLCBWOEVuYWJsZWRBdFJ1bnRpbWU9d2Via2l0Vmlk
ZW9UcmFja10gSFRNTFRyYWNrRWxlbWVudENvbnN0cnVjdG9yIEhUTUxUcmFja0VsZW1lbnQ7CiAg
ICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9VklERU9fVFJBQ0ssIFY4RW5hYmxlZEF0UnVu
dGltZT13ZWJraXRWaWRlb1RyYWNrXSBUZXh0VHJhY2tDb25zdHJ1Y3RvciBUZXh0VHJhY2s7CiAg
ICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9VklERU9fVFJBQ0ssIFY4RW5hYmxlZEF0UnVu
dGltZT13ZWJraXRWaWRlb1RyYWNrXSBUZXh0VHJhY2tDdWVDb25zdHJ1Y3RvciBUZXh0VHJhY2tD
dWU7IC8vIFVzYWJsZSB3aXRoIHRoZSBuZXcgb3BlcmF0b3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcAppbmRleCA5ZDYwNDdkNGZlNDZiNTU0
ZjMzZWUwNTg2Y2M5YjFiYTI4NzliZGJlLi5lOThlYmZkNzViYjk5YzUzZDEwMjcwZDhmYmY4OGM3
YjYyMjAzMTc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9N
ZWRpYVBsYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVk
aWFQbGF5ZXIuY3BwCkBAIC05NjksNyArOTY5LDMzIEBAIEF1ZGlvU291cmNlUHJvdmlkZXIqIE1l
ZGlhUGxheWVyOjphdWRpb1NvdXJjZVByb3ZpZGVyKCkKICAgICByZXR1cm4gbV9wcml2YXRlLT5h
dWRpb1NvdXJjZVByb3ZpZGVyKCk7CiB9CiAjZW5kaWYgLy8gV0VCX0FVRElPCi0gICAgCisKKyNp
ZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQordm9pZCBNZWRpYVBsYXllcjo6a2V5QWRkZWQoY29u
c3QgU3RyaW5nJiBrZXlTeXN0ZW0sIGNvbnN0IFN0cmluZyYgc2Vzc2lvbklkKQoreworICAgIGlm
IChtX21lZGlhUGxheWVyQ2xpZW50KQorICAgICAgICBtX21lZGlhUGxheWVyQ2xpZW50LT5tZWRp
YVBsYXllcktleUFkZGVkKHRoaXMsIGtleVN5c3RlbSwgc2Vzc2lvbklkKTsKK30KKwordm9pZCBN
ZWRpYVBsYXllcjo6a2V5RXJyb3IoY29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0sIGNvbnN0IFN0cmlu
ZyYgc2Vzc2lvbklkLCBNZWRpYVBsYXllckNsaWVudDo6TWVkaWFLZXlFcnJvckNvZGUgZXJyb3JD
b2RlLCB1bnNpZ25lZCBzaG9ydCBzeXN0ZW1Db2RlKQoreworICAgIGlmIChtX21lZGlhUGxheWVy
Q2xpZW50KQorICAgICAgICBtX21lZGlhUGxheWVyQ2xpZW50LT5tZWRpYVBsYXllcktleUVycm9y
KHRoaXMsIGtleVN5c3RlbSwgc2Vzc2lvbklkLCBlcnJvckNvZGUsIHN5c3RlbUNvZGUpOworfQor
Cit2b2lkIE1lZGlhUGxheWVyOjprZXlNZXNzYWdlKGNvbnN0IFN0cmluZyYga2V5U3lzdGVtLCBj
b25zdCBTdHJpbmcmIHNlc3Npb25JZCwgY29uc3QgdW5zaWduZWQgY2hhciogbWVzc2FnZSwgdW5z
aWduZWQgbWVzc2FnZUxlbmd0aCkKK3sKKyAgICBpZiAobV9tZWRpYVBsYXllckNsaWVudCkKKyAg
ICAgICAgbV9tZWRpYVBsYXllckNsaWVudC0+bWVkaWFQbGF5ZXJLZXlNZXNzYWdlKHRoaXMsIGtl
eVN5c3RlbSwgc2Vzc2lvbklkLCBtZXNzYWdlLCBtZXNzYWdlTGVuZ3RoKTsKK30KKwordm9pZCBN
ZWRpYVBsYXllcjo6a2V5TmVlZGVkKGNvbnN0IFN0cmluZyYga2V5U3lzdGVtLCBjb25zdCBTdHJp
bmcmIHNlc3Npb25JZCwgY29uc3QgdW5zaWduZWQgY2hhciogaW5pdERhdGEsIHVuc2lnbmVkIGlu
aXREYXRhTGVuZ3RoKQoreworICAgIGlmIChtX21lZGlhUGxheWVyQ2xpZW50KQorICAgICAgICBt
X21lZGlhUGxheWVyQ2xpZW50LT5tZWRpYVBsYXllcktleU5lZWRlZCh0aGlzLCBrZXlTeXN0ZW0s
IHNlc3Npb25JZCwgaW5pdERhdGEsIGluaXREYXRhTGVuZ3RoKTsKK30KKyNlbmRpZgorCiBTdHJp
bmcgTWVkaWFQbGF5ZXI6OnJlZmVycmVyKCkgY29uc3QKIHsKICAgICBpZiAoIW1fbWVkaWFQbGF5
ZXJDbGllbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9N
ZWRpYVBsYXllci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5
ZXIuaAppbmRleCAxNTEzYWZiOTgzY2FiZGQzZTFhYjg2N2YzNTY5OTM1ZWY2NTgwNGIwLi5kOWI2
ZTI3MDAzY2IxZjhjOWJkNjkwOTAwNGExMjg1MGFkNThmOWMwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgKQEAgLTE2OCw2ICsxNjgsMTQgQEAg
cHVibGljOgogICAgIHZpcnR1YWwgU3RyaW5nIG1lZGlhUGxheWVyU291cmNlVVJMKCkgY29uc3Qg
eyByZXR1cm4gIngtbWVkaWEtc291cmNlLXVuc3VwcG9ydGVkOiI7IH0KICNlbmRpZgogCisjaWYg
RU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKKyAgICBlbnVtIE1lZGlhS2V5RXJyb3JDb2RlIHsgVW5r
bm93bkVycm9yID0gMSwgQ2xpZW50RXJyb3IsIFNlcnZpY2VFcnJvciwgT3V0cHV0RXJyb3IsIEhh
cmR3YXJlQ2hhbmdlRXJyb3IsIERvbWFpbkVycm9yIH07CisgICAgdmlydHVhbCB2b2lkIG1lZGlh
UGxheWVyS2V5QWRkZWQoTWVkaWFQbGF5ZXIqLCBjb25zdCBTdHJpbmcmIGtleVN5c3RlbSwgY29u
c3QgU3RyaW5nJiBzZXNzaW9uSWQpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBtZWRpYVBsYXllcktl
eUVycm9yKE1lZGlhUGxheWVyKiwgY29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0sIGNvbnN0IFN0cmlu
ZyYgc2Vzc2lvbklkLCBNZWRpYUtleUVycm9yQ29kZSBlcnJvckNvZGUsIHVuc2lnbmVkIHNob3J0
IHN5c3RlbUNvZGUpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBtZWRpYVBsYXllcktleU1lc3NhZ2Uo
TWVkaWFQbGF5ZXIqLCBjb25zdCBTdHJpbmcmIGtleVN5c3RlbSwgY29uc3QgU3RyaW5nJiBzZXNz
aW9uSWQsIGNvbnN0IHVuc2lnbmVkIGNoYXIqIG1lc3NhZ2UsIHVuc2lnbmVkIG1lc3NhZ2VMZW5n
dGgpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBtZWRpYVBsYXllcktleU5lZWRlZChNZWRpYVBsYXll
ciosIGNvbnN0IFN0cmluZyYga2V5U3lzdGVtLCBjb25zdCBTdHJpbmcmIHNlc3Npb25JZCwgY29u
c3QgdW5zaWduZWQgY2hhciogaW5pdERhdGEsIHVuc2lnbmVkIGluaXREYXRhTGVuZ3RoKSB7IH0K
KyNlbmRpZgorCiAgICAgdmlydHVhbCBTdHJpbmcgbWVkaWFQbGF5ZXJSZWZlcnJlcigpIGNvbnN0
IHsgcmV0dXJuIFN0cmluZygpOyB9CiAgICAgdmlydHVhbCBTdHJpbmcgbWVkaWFQbGF5ZXJVc2Vy
QWdlbnQoKSBjb25zdCB7IHJldHVybiBTdHJpbmcoKTsgfQogfTsKQEAgLTM0Niw2ICszNTQsMTMg
QEAgcHVibGljOgogICAgIFN0cmluZyBzb3VyY2VVUkwoKSBjb25zdDsKICNlbmRpZgogCisjaWYg
RU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKKyAgICB2b2lkIGtleUFkZGVkKGNvbnN0IFN0cmluZyYg
a2V5U3lzdGVtLCBjb25zdCBTdHJpbmcmIHNlc3Npb25JZCk7CisgICAgdm9pZCBrZXlFcnJvcihj
b25zdCBTdHJpbmcmIGtleVN5c3RlbSwgY29uc3QgU3RyaW5nJiBzZXNzaW9uSWQsIE1lZGlhUGxh
eWVyQ2xpZW50OjpNZWRpYUtleUVycm9yQ29kZSwgdW5zaWduZWQgc2hvcnQgc3lzdGVtQ29kZSk7
CisgICAgdm9pZCBrZXlNZXNzYWdlKGNvbnN0IFN0cmluZyYga2V5U3lzdGVtLCBjb25zdCBTdHJp
bmcmIHNlc3Npb25JZCwgY29uc3QgdW5zaWduZWQgY2hhciogbWVzc2FnZSwgdW5zaWduZWQgbWVz
c2FnZUxlbmd0aCk7CisgICAgdm9pZCBrZXlOZWVkZWQoY29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0s
IGNvbnN0IFN0cmluZyYgc2Vzc2lvbklkLCBjb25zdCB1bnNpZ25lZCBjaGFyKiBpbml0RGF0YSwg
dW5zaWduZWQgaW5pdERhdGFMZW5ndGgpOworI2VuZGlmCisKICAgICBTdHJpbmcgcmVmZXJyZXIo
KSBjb25zdDsKICAgICBTdHJpbmcgdXNlckFnZW50KCkgY29uc3Q7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYk1lZGlhUGxheWVyQ2xpZW50LmggYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJNZWRpYVBsYXllckNsaWVudC5oCmluZGV4IDE5
ZWEyNDJlY2FkOWFiMWJmODM2MGU4Nzk1MDliZTY5NTRkNzcwNjEuLmM5ZDMxZTRkMTJhNGQ4OTc2
MmI1MjE4YzBkZDRhMWUwODcxNDM2YTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vcHVibGljL1dlYk1lZGlhUGxheWVyQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9wdWJsaWMvV2ViTWVkaWFQbGF5ZXJDbGllbnQuaApAQCAtNDAsNiArNDAsMTUgQEAgY2xh
c3MgV2ViVVJMOwogCiBjbGFzcyBXZWJNZWRpYVBsYXllckNsaWVudCB7CiBwdWJsaWM6CisgICAg
ZW51bSBNZWRpYUtleUVycm9yQ29kZSB7CisgICAgICAgIFVua25vd25FcnJvciA9IDEsCisgICAg
ICAgIENsaWVudEVycm9yLAorICAgICAgICBTZXJ2aWNlRXJyb3IsCisgICAgICAgIE91dHB1dEVy
cm9yLAorICAgICAgICBIYXJkd2FyZUNoYW5nZUVycm9yLAorICAgICAgICBEb21haW5FcnJvcgor
ICAgIH07CisKICAgICB2aXJ0dWFsIHZvaWQgbmV0d29ya1N0YXRlQ2hhbmdlZCgpID0gMDsKICAg
ICB2aXJ0dWFsIHZvaWQgcmVhZHlTdGF0ZUNoYW5nZWQoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lk
IHZvbHVtZUNoYW5nZWQoZmxvYXQpID0gMDsKQEAgLTU2LDYgKzY1LDEwIEBAIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIFdlYk1lZGlhUGxheWVyOjpQcmVsb2FkIHByZWxvYWQoKSBjb25zdCA9IDA7CiAg
ICAgdmlydHVhbCB2b2lkIHNvdXJjZU9wZW5lZCgpID0gMDsKICAgICB2aXJ0dWFsIFdlYktpdDo6
V2ViVVJMIHNvdXJjZVVSTCgpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQga2V5QWRkZWQo
Y29uc3QgV2ViU3RyaW5nJiwgY29uc3QgV2ViU3RyaW5nJikgPSAwOworICAgIHZpcnR1YWwgdm9p
ZCBrZXlFcnJvcihjb25zdCBXZWJTdHJpbmcmLCBjb25zdCBXZWJTdHJpbmcmLCBNZWRpYUtleUVy
cm9yQ29kZSwgdW5zaWduZWQgc2hvcnQgc3lzdGVtQ29kZSkgPSAwOworICAgIHZpcnR1YWwgdm9p
ZCBrZXlNZXNzYWdlKGNvbnN0IFdlYlN0cmluZyYsIGNvbnN0IFdlYlN0cmluZyYsIGNvbnN0IHVu
c2lnbmVkIGNoYXIqLCB1bnNpZ25lZCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBrZXlOZWVkZWQo
Y29uc3QgV2ViU3RyaW5nJiwgY29uc3QgV2ViU3RyaW5nJiwgY29uc3QgdW5zaWduZWQgY2hhciog
aW5pdERhdGEsIHVuc2lnbmVkIGluaXREYXRhTGVuZ3RoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lk
IGRpc2FibGVBY2NlbGVyYXRlZENvbXBvc2l0aW5nKCkgPSAwOwogcHJvdGVjdGVkOgogICAgIH5X
ZWJNZWRpYVBsYXllckNsaWVudCgpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcAppbmRleCAyOTNmNDg5NGU3MzI1NzAxODk5YjA4
NzY0OTdjZWRhZDQ1NWJkOWMyLi43MmMyYmU2NWY1ZDE5MWRlMmUxNTU3NzIxNTFmYjRhMzFiYjM2
MTRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Bc3NlcnRNYXRjaGlu
Z0VudW1zLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Bc3NlcnRNYXRjaGlu
Z0VudW1zLmNwcApAQCAtODcsNiArODcsNyBAQAogI2luY2x1ZGUgIldlYkljb25VUkwuaCIKICNp
bmNsdWRlICJXZWJJbnB1dEVsZW1lbnQuaCIKICNpbmNsdWRlICJXZWJNZWRpYVBsYXllci5oIgor
I2luY2x1ZGUgIldlYk1lZGlhUGxheWVyQ2xpZW50LmgiCiAjaW5jbHVkZSAiV2ViTm90aWZpY2F0
aW9uUHJlc2VudGVyLmgiCiAjaW5jbHVkZSAiV2ViUGFnZVZpc2liaWxpdHlTdGF0ZS5oIgogI2lu
Y2x1ZGUgIldlYlJlZmVycmVyUG9saWN5LmgiCkBAIC0zOTIsNiArMzkzLDEzIEBAIENPTVBJTEVf
QVNTRVJUX01BVENISU5HX0VOVU0oV2ViTWVkaWFQbGF5ZXI6OkxpdmVTdHJlYW0sIE1lZGlhUGxh
eWVyOjpMaXZlU3RyZWFtCiBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYk1lZGlhUGxh
eWVyOjpOb0Vycm9yLCBNZWRpYVBsYXllcjo6Tm9FcnJvcik7CiBDT01QSUxFX0FTU0VSVF9NQVRD
SElOR19FTlVNKFdlYk1lZGlhUGxheWVyOjpJbnZhbGlkUGxheWVyU3RhdGUsIE1lZGlhUGxheWVy
OjpJbnZhbGlkUGxheWVyU3RhdGUpOwogQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJN
ZWRpYVBsYXllcjo6S2V5U3lzdGVtTm90U3VwcG9ydGVkLCBNZWRpYVBsYXllcjo6S2V5U3lzdGVt
Tm90U3VwcG9ydGVkKTsKKworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJNZWRpYVBs
YXllckNsaWVudDo6VW5rbm93bkVycm9yLCBNZWRpYVBsYXllckNsaWVudDo6VW5rbm93bkVycm9y
KTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViTWVkaWFQbGF5ZXJDbGllbnQ6OkNs
aWVudEVycm9yLCBNZWRpYVBsYXllckNsaWVudDo6Q2xpZW50RXJyb3IpOworQ09NUElMRV9BU1NF
UlRfTUFUQ0hJTkdfRU5VTShXZWJNZWRpYVBsYXllckNsaWVudDo6U2VydmljZUVycm9yLCBNZWRp
YVBsYXllckNsaWVudDo6U2VydmljZUVycm9yKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VO
VU0oV2ViTWVkaWFQbGF5ZXJDbGllbnQ6Ok91dHB1dEVycm9yLCBNZWRpYVBsYXllckNsaWVudDo6
T3V0cHV0RXJyb3IpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJNZWRpYVBsYXll
ckNsaWVudDo6SGFyZHdhcmVDaGFuZ2VFcnJvciwgTWVkaWFQbGF5ZXJDbGllbnQ6OkhhcmR3YXJl
Q2hhbmdlRXJyb3IpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJNZWRpYVBsYXll
ckNsaWVudDo6RG9tYWluRXJyb3IsIE1lZGlhUGxheWVyQ2xpZW50OjpEb21haW5FcnJvcik7CiAj
ZW5kaWYKIAogQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJWaWRlb0ZyYW1lOjpGb3Jt
YXRJbnZhbGlkLCBWaWRlb0ZyYW1lQ2hyb21pdW06OkludmFsaWQpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYk1lZGlhUGxheWVyQ2xpZW50SW1wbC5jcHAKaW5k
ZXggMzIxYWY2YWI4Nzg5N2FjYmFlNzBmMTU4NWE5MmZhZGU4MWRjOTQ2MC4uNWM3YjJjOTI5Zjll
NDhiYjRjMWQ4ZDhkNDU3Mjk4ZjI0N2YyY2ZmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJNZWRpYVBsYXllckNsaWVudEltcGwuY3BwCkBAIC0yMTcsNiAr
MjE3LDU2IEBAIFdlYktpdDo6V2ViVVJMIFdlYk1lZGlhUGxheWVyQ2xpZW50SW1wbDo6c291cmNl
VVJMKCkgY29uc3QKICNlbmRpZgogfQogCit2b2lkIFdlYk1lZGlhUGxheWVyQ2xpZW50SW1wbDo6
a2V5QWRkZWQoY29uc3QgV2ViU3RyaW5nJiBrZXlTeXN0ZW0sIGNvbnN0IFdlYlN0cmluZyYgc2Vz
c2lvbklkKQoreworI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCisgICAgQVNTRVJUKG1fbWVk
aWFQbGF5ZXIpOworICAgIG1fbWVkaWFQbGF5ZXItPmtleUFkZGVkKGtleVN5c3RlbSwgc2Vzc2lv
bklkKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKGtleVN5c3RlbSk7CisgICAgVU5VU0VEX1BB
UkFNKHNlc3Npb25JZCk7CisjZW5kaWYKK30KKwordm9pZCBXZWJNZWRpYVBsYXllckNsaWVudElt
cGw6OmtleUVycm9yKGNvbnN0IFdlYlN0cmluZyYga2V5U3lzdGVtLCBjb25zdCBXZWJTdHJpbmcm
IHNlc3Npb25JZCwgTWVkaWFLZXlFcnJvckNvZGUgZXJyb3JDb2RlLCB1bnNpZ25lZCBzaG9ydCBz
eXN0ZW1Db2RlKQoreworI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCisgICAgQVNTRVJUKG1f
bWVkaWFQbGF5ZXIpOworICAgIG1fbWVkaWFQbGF5ZXItPmtleUVycm9yKGtleVN5c3RlbSwgc2Vz
c2lvbklkLCBzdGF0aWNfY2FzdDxNZWRpYVBsYXllckNsaWVudDo6TWVkaWFLZXlFcnJvckNvZGU+
KGVycm9yQ29kZSksIHN5c3RlbUNvZGUpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oa2V5U3lz
dGVtKTsKKyAgICBVTlVTRURfUEFSQU0oc2Vzc2lvbklkKTsKKyAgICBVTlVTRURfUEFSQU0oZXJy
b3JDb2RlKTsKKyAgICBVTlVTRURfUEFSQU0oc3lzdGVtQ29kZSk7CisjZW5kaWYKK30KKwordm9p
ZCBXZWJNZWRpYVBsYXllckNsaWVudEltcGw6OmtleU1lc3NhZ2UoY29uc3QgV2ViU3RyaW5nJiBr
ZXlTeXN0ZW0sIGNvbnN0IFdlYlN0cmluZyYgc2Vzc2lvbklkLCBjb25zdCB1bnNpZ25lZCBjaGFy
KiBtZXNzYWdlLCB1bnNpZ25lZCBtZXNzYWdlTGVuZ3RoKQoreworI2lmIEVOQUJMRShFTkNSWVBU
RURfTUVESUEpCisgICAgQVNTRVJUKG1fbWVkaWFQbGF5ZXIpOworICAgIG1fbWVkaWFQbGF5ZXIt
PmtleU1lc3NhZ2Uoa2V5U3lzdGVtLCBzZXNzaW9uSWQsIG1lc3NhZ2UsIG1lc3NhZ2VMZW5ndGgp
OworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oa2V5U3lzdGVtKTsKKyAgICBVTlVTRURfUEFSQU0o
c2Vzc2lvbklkKTsKKyAgICBVTlVTRURfUEFSQU0obWVzc2FnZSk7CisgICAgVU5VU0VEX1BBUkFN
KG1lc3NhZ2VMZW5ndGgpOworI2VuZGlmCit9CisKK3ZvaWQgV2ViTWVkaWFQbGF5ZXJDbGllbnRJ
bXBsOjprZXlOZWVkZWQoY29uc3QgV2ViU3RyaW5nJiBrZXlTeXN0ZW0sIGNvbnN0IFdlYlN0cmlu
ZyYgc2Vzc2lvbklkLCBjb25zdCB1bnNpZ25lZCBjaGFyKiBpbml0RGF0YSwgdW5zaWduZWQgaW5p
dERhdGFMZW5ndGgpCit7CisjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKKyAgICBBU1NFUlQo
bV9tZWRpYVBsYXllcik7CisgICAgbV9tZWRpYVBsYXllci0+a2V5TmVlZGVkKGtleVN5c3RlbSwg
c2Vzc2lvbklkLCBpbml0RGF0YSwgaW5pdERhdGFMZW5ndGgpOworI2Vsc2UKKyAgICBVTlVTRURf
UEFSQU0oa2V5U3lzdGVtKTsKKyAgICBVTlVTRURfUEFSQU0oc2Vzc2lvbklkKTsKKyAgICBVTlVT
RURfUEFSQU0oaW5pdERhdGEpOworICAgIFVOVVNFRF9QQVJBTShpbml0RGF0YUxlbmd0aCk7Cisj
ZW5kaWYKK30KKwogdm9pZCBXZWJNZWRpYVBsYXllckNsaWVudEltcGw6OmRpc2FibGVBY2NlbGVy
YXRlZENvbXBvc2l0aW5nKCkKIHsKICAgICBtX3N1cHBvcnRzQWNjZWxlcmF0ZWRDb21wb3NpdGlu
ZyA9IGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViTWVk
aWFQbGF5ZXJDbGllbnRJbXBsLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJNZWRp
YVBsYXllckNsaWVudEltcGwuaAppbmRleCA4ODU0M2E0ZGFiZmQ4YjcxZDUyZDc3ZjU4MjQ1ZDg1
ZjhmZjVmNmI1Li41MGJjYzAxODBmMDRhYTM0NzM4NzgxODZjODg0Njg2MzQyNGY5MTU3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJNZWRpYVBsYXllckNsaWVudElt
cGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJNZWRpYVBsYXllckNsaWVu
dEltcGwuaApAQCAtODYsNiArODYsMTAgQEAgcHVibGljOgogICAgIHZpcnR1YWwgV2ViTWVkaWFQ
bGF5ZXI6OlByZWxvYWQgcHJlbG9hZCgpIGNvbnN0OwogICAgIHZpcnR1YWwgdm9pZCBzb3VyY2VP
cGVuZWQoKTsKICAgICB2aXJ0dWFsIFdlYktpdDo6V2ViVVJMIHNvdXJjZVVSTCgpIGNvbnN0Owor
ICAgIHZpcnR1YWwgdm9pZCBrZXlBZGRlZChjb25zdCBXZWJTdHJpbmcmIGtleVN5c3RlbSwgY29u
c3QgV2ViU3RyaW5nJiBzZXNzaW9uSWQpOworICAgIHZpcnR1YWwgdm9pZCBrZXlFcnJvcihjb25z
dCBXZWJTdHJpbmcmIGtleVN5c3RlbSwgY29uc3QgV2ViU3RyaW5nJiBzZXNzaW9uSWQsIE1lZGlh
S2V5RXJyb3JDb2RlLCB1bnNpZ25lZCBzaG9ydCBzeXN0ZW1Db2RlKTsKKyAgICB2aXJ0dWFsIHZv
aWQga2V5TWVzc2FnZShjb25zdCBXZWJTdHJpbmcmIGtleVN5c3RlbSwgY29uc3QgV2ViU3RyaW5n
JiBzZXNzaW9uSWQsIGNvbnN0IHVuc2lnbmVkIGNoYXIqIG1lc3NhZ2UsIHVuc2lnbmVkIG1lc3Nh
Z2VMZW5ndGgpOworICAgIHZpcnR1YWwgdm9pZCBrZXlOZWVkZWQoY29uc3QgV2ViU3RyaW5nJiBr
ZXlTeXN0ZW0sIGNvbnN0IFdlYlN0cmluZyYgc2Vzc2lvbklkLCBjb25zdCB1bnNpZ25lZCBjaGFy
KiBpbml0RGF0YSwgdW5zaWduZWQgaW5pdERhdGFMZW5ndGgpOwogICAgIHZpcnR1YWwgdm9pZCBk
aXNhYmxlQWNjZWxlcmF0ZWRDb21wb3NpdGluZygpOwogCiAgICAgLy8gTWVkaWFQbGF5ZXJQcml2
YXRlSW50ZXJmYWNlIG1ldGhvZHM6CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZDQwYjc0YmNjMmNiZTJlYmNkNDc5ODRkODZk
YjQyNjVlMjZlNDk5NS4uNzQ5Mjg5YjlmZGM4MjczMWVmNThkZmYyNTUxMGNmNzVhYzE4ZjA4ZCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEyLTA0LTEyICBEYXZpZCBEb3J3aW4gIDxkZG9yd2lu
QGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgRW5jcnlwdGVkIE1lZGlhIEV4dGVuc2lvbnMg
ZXZlbnRzIGFuZCBlcnJvcnMgdG8gSFRNTE1lZGlhRWxlbWVudAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODI5NzQKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgbmV3IGV2ZW50cyBhbmQgZXJyb3JzIGFy
ZSBiZWhpbmQgdGhlIEVOQUJMRShFTkNSWVBURURfTUVESUEpIGZlYXR1cmUgZGVmaW5lLgorICAg
ICAgICBJbXBsZW1lbnRhdGlvbiBpcyBiYXNlZCBvbiB2MC4xIG9mIHRoZSBkcmFmdCBwcm9wb3Nh
bCBhdAorICAgICAgICBodHRwOi8vZHZjcy53My5vcmcvaGcvaHRtbC1tZWRpYS9yYXctZmlsZS90
aXAvZW5jcnlwdGVkLW1lZGlhL2VuY3J5cHRlZC1tZWRpYS5odG1sI2V2ZW50cy4KKworICAgICAg
ICAqIGZhc3QvZXZlbnRzL2NvbnN0cnVjdG9ycy9tZWRpYS1rZXktZXZlbnQtY29uc3RydWN0b3It
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy9jb25zdHJ1Y3RvcnMv
bWVkaWEta2V5LWV2ZW50LWNvbnN0cnVjdG9yLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3Qv
anMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzOgorICAgICAgICAoc2hvdWxkQmVaZXJvKToKKyAg
ICAgICAgKHNob3VsZEJlRW1wdHlTdHJpbmcpOgorICAgICAgICAqIG1lZGlhL2VuY3J5cHRlZC1t
ZWRpYS9lbmNyeXB0ZWQtbWVkaWEtY29uc3RhbnRzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogbWVkaWEvZW5jcnlwdGVkLW1lZGlhL2VuY3J5cHRlZC1tZWRpYS1jb25zdGFudHMuaHRt
bDogQWRkZWQuCisgICAgICAgICogbWVkaWEvZW5jcnlwdGVkLW1lZGlhL2VuY3J5cHRlZC1tZWRp
YS1ldmVudHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBtZWRpYS9lbmNyeXB0ZWQt
bWVkaWEvZW5jcnlwdGVkLW1lZGlhLWV2ZW50cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBtZWRp
YS92aWRlby10ZXN0LmpzOgorICAgICAgICAodGVzdEV4cGVjdGVkKToKKyAgICAgICAgKHRlc3RB
cnJheXNFcXVhbCk6CisKIDIwMTItMDQtMTIgIEFudG9uIE11aGluICA8YW50b25tQGNocm9taXVt
Lm9yZz4KIAogICAgICAgICBNb3JlIE1hYyByZWJhc2VsaW5lcy4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvZXZlbnRzL2NvbnN0cnVjdG9ycy9tZWRpYS1rZXktZXZlbnQtY29uc3RydWN0
b3ItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL21l
ZGlhLWtleS1ldmVudC1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWIwYjdj
MjliNjViYzE0MDFjZjM0MDE3NjgwMWQ0YTE5MDkwZmE4OQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZXZlbnRzL2NvbnN0cnVjdG9ycy9tZWRpYS1rZXktZXZlbnQtY29uc3Ry
dWN0b3ItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAyIEBACitUaGlzIHRlc3RzIHRoZSBjb25z
dHJ1Y3RvciBmb3IgdGhlIE1lZGlhS2V5RXZlbnQgRE9NIGNsYXNzLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKKworCisqKiogTm8gaW5pdGlhbGl6ZXIgcGFzc2VkICoqKgorUEFTUyBu
ZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcpLmJ1YmJsZXMgaXMgZmFsc2UKK1BBU1Mg
bmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnKS5jYW5jZWxhYmxlIGlzIGZhbHNlCitQ
QVNTIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50Jykua2V5U3lzdGVtIGlzICIiCitQ
QVNTIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50Jykuc2Vzc2lvbklkIGlzICIiCitQ
QVNTIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JykuaW5pdERhdGEgaXMgbnVsbAor
UEFTUyBuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcpLm1lc3NhZ2UgaXMgbnVsbAor
UEFTUyBuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcpLmRlZmF1bHRVUkwgaXMgIiIK
K1BBU1MgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnKS5lcnJvckNvZGUgaXMgbnVs
bAorUEFTUyBuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcpLnN5c3RlbUNvZGUgaXMg
MAorCisqKiogQnViYmxlcyBhbmQgY2FuY2VsYWJsZSB0cnVlLCBvdGhlciBtZW1iZXJzIGFyZSBt
aXNzaW5nICoqKgorUEFTUyBuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgYnVi
YmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSB9KS5idWJibGVzIGlzIHRydWUKK1BBU1MgbmV3
IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFi
bGU6IHRydWUgfSkuY2FuY2VsYWJsZSBpcyB0cnVlCitQQVNTIG5ldyBNZWRpYUtleUV2ZW50KCdN
ZWRpYUtleUV2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlIH0pLmtleVN5
c3RlbSBpcyAiIgorUEFTUyBuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgYnVi
YmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSB9KS5zZXNzaW9uSWQgaXMgIiIKK1BBU1MgbmV3
IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFi
bGU6IHRydWUgfSkuaW5pdERhdGEgaXMgbnVsbAorUEFTUyBuZXcgTWVkaWFLZXlFdmVudCgnTWVk
aWFLZXlFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSB9KS5tZXNzYWdl
IGlzIG51bGwKK1BBU1MgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGJ1YmJs
ZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUgfSkuZGVmYXVsdFVSTCBpcyAiIgorUEFTUyBuZXcg
TWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJs
ZTogdHJ1ZSB9KS5lcnJvckNvZGUgaXMgbnVsbAorUEFTUyBuZXcgTWVkaWFLZXlFdmVudCgnTWVk
aWFLZXlFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSB9KS5zeXN0ZW1D
b2RlIGlzIDAKKworKioqIEJ1YmJsZXMgYW5kIGNhbmNlbGFibGUgdHJ1ZSwgaW52YWxpZCBvdGhl
ciBtZW1iZXJzICoqKgorUEFTUyBuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsg
YnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwga2V5U3lzdGVtOiB1bmRlZmluZWQsIHNl
c3Npb25JZDogdW5kZWZpbmVkLCBpbml0RGF0YTogVWludDhBcnJheSwgbWVzc2FnZTogVWludDhB
cnJheSwgZGVmYXVsdFVSTDogdW5kZWZpbmVkLCBlcnJvckNvZGU6IE1lZGlhS2V5RXJyb3IsIHN5
c3RlbUNvZGU6IHVuZGVmaW5lZCB9KS5idWJibGVzIGlzIHRydWUKK1BBU1MgbmV3IE1lZGlhS2V5
RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUs
IGtleVN5c3RlbTogdW5kZWZpbmVkLCBzZXNzaW9uSWQ6IHVuZGVmaW5lZCwgaW5pdERhdGE6IFVp
bnQ4QXJyYXksIG1lc3NhZ2U6IFVpbnQ4QXJyYXksIGRlZmF1bHRVUkw6IHVuZGVmaW5lZCwgZXJy
b3JDb2RlOiBNZWRpYUtleUVycm9yLCBzeXN0ZW1Db2RlOiB1bmRlZmluZWQgfSkuY2FuY2VsYWJs
ZSBpcyB0cnVlCitQQVNTIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBidWJi
bGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlLCBrZXlTeXN0ZW06IHVuZGVmaW5lZCwgc2Vzc2lv
bklkOiB1bmRlZmluZWQsIGluaXREYXRhOiBVaW50OEFycmF5LCBtZXNzYWdlOiBVaW50OEFycmF5
LCBkZWZhdWx0VVJMOiB1bmRlZmluZWQsIGVycm9yQ29kZTogTWVkaWFLZXlFcnJvciwgc3lzdGVt
Q29kZTogdW5kZWZpbmVkIH0pLmtleVN5c3RlbSBpcyAidW5kZWZpbmVkIgorUEFTUyBuZXcgTWVk
aWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTog
dHJ1ZSwga2V5U3lzdGVtOiB1bmRlZmluZWQsIHNlc3Npb25JZDogdW5kZWZpbmVkLCBpbml0RGF0
YTogVWludDhBcnJheSwgbWVzc2FnZTogVWludDhBcnJheSwgZGVmYXVsdFVSTDogdW5kZWZpbmVk
LCBlcnJvckNvZGU6IE1lZGlhS2V5RXJyb3IsIHN5c3RlbUNvZGU6IHVuZGVmaW5lZCB9KS5zZXNz
aW9uSWQgaXMgInVuZGVmaW5lZCIKK1BBU1MgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZl
bnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIGtleVN5c3RlbTogdW5kZWZp
bmVkLCBzZXNzaW9uSWQ6IHVuZGVmaW5lZCwgaW5pdERhdGE6IFVpbnQ4QXJyYXksIG1lc3NhZ2U6
IFVpbnQ4QXJyYXksIGRlZmF1bHRVUkw6IHVuZGVmaW5lZCwgZXJyb3JDb2RlOiBNZWRpYUtleUVy
cm9yLCBzeXN0ZW1Db2RlOiB1bmRlZmluZWQgfSkuaW5pdERhdGEgaXMgbnVsbAorUEFTUyBuZXcg
TWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJs
ZTogdHJ1ZSwga2V5U3lzdGVtOiB1bmRlZmluZWQsIHNlc3Npb25JZDogdW5kZWZpbmVkLCBpbml0
RGF0YTogVWludDhBcnJheSwgbWVzc2FnZTogVWludDhBcnJheSwgZGVmYXVsdFVSTDogdW5kZWZp
bmVkLCBlcnJvckNvZGU6IE1lZGlhS2V5RXJyb3IsIHN5c3RlbUNvZGU6IHVuZGVmaW5lZCB9KS5t
ZXNzYWdlIGlzIG51bGwKK1BBU1MgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7
IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIGtleVN5c3RlbTogdW5kZWZpbmVkLCBz
ZXNzaW9uSWQ6IHVuZGVmaW5lZCwgaW5pdERhdGE6IFVpbnQ4QXJyYXksIG1lc3NhZ2U6IFVpbnQ4
QXJyYXksIGRlZmF1bHRVUkw6IHVuZGVmaW5lZCwgZXJyb3JDb2RlOiBNZWRpYUtleUVycm9yLCBz
eXN0ZW1Db2RlOiB1bmRlZmluZWQgfSkuZGVmYXVsdFVSTCBpcyAidW5kZWZpbmVkIgorUEFTUyBu
ZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2Vs
YWJsZTogdHJ1ZSwga2V5U3lzdGVtOiB1bmRlZmluZWQsIHNlc3Npb25JZDogdW5kZWZpbmVkLCBp
bml0RGF0YTogVWludDhBcnJheSwgbWVzc2FnZTogVWludDhBcnJheSwgZGVmYXVsdFVSTDogdW5k
ZWZpbmVkLCBlcnJvckNvZGU6IE1lZGlhS2V5RXJyb3IsIHN5c3RlbUNvZGU6IHVuZGVmaW5lZCB9
KS5lcnJvckNvZGUgaXMgbnVsbAorUEFTUyBuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVu
dCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwga2V5U3lzdGVtOiB1bmRlZmlu
ZWQsIHNlc3Npb25JZDogdW5kZWZpbmVkLCBpbml0RGF0YTogVWludDhBcnJheSwgbWVzc2FnZTog
VWludDhBcnJheSwgZGVmYXVsdFVSTDogdW5kZWZpbmVkLCBlcnJvckNvZGU6IE1lZGlhS2V5RXJy
b3IsIHN5c3RlbUNvZGU6IHVuZGVmaW5lZCB9KS5zeXN0ZW1Db2RlIGlzIDAKKworKioqIEluaXRp
YWxpemUgJ2tleVN5c3RlbScgd2l0aCBhIGludmFsaWQgdmFsdWVzICoqKgorUEFTUyBuZXcgTWVk
aWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsga2V5U3lzdGVtOiBlbXB0eU9iamVjdCB9KS5r
ZXlTeXN0ZW0gaXMgIltvYmplY3QgT2JqZWN0XSIKK1BBU1MgbmV3IE1lZGlhS2V5RXZlbnQoJ01l
ZGlhS2V5RXZlbnQnLCB7IGtleVN5c3RlbTogZG9jdW1lbnQgfSkua2V5U3lzdGVtIGlzICJbb2Jq
ZWN0IEhUTUxEb2N1bWVudF0iCisKKyoqKiBJbml0aWFsaXplICdzZXNzaW9uSWQnIHdpdGggYSBp
bnZhbGlkIHZhbHVlcyAqKioKK1BBU1MgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQn
LCB7IHNlc3Npb25JZDogZW1wdHlPYmplY3QgfSkuc2Vzc2lvbklkIGlzICJbb2JqZWN0IE9iamVj
dF0iCitQQVNTIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBzZXNzaW9uSWQ6
IGRvY3VtZW50IH0pLnNlc3Npb25JZCBpcyAiW29iamVjdCBIVE1MRG9jdW1lbnRdIgorCisqKiog
SW5pdGlhbGl6ZSAnaW5pdERhdGEnIHdpdGggYSBpbnZhbGlkIHZhbHVlcyAqKioKK1BBU1MgbmV3
IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGluaXREYXRhOiAxMCB9KS5pbml0RGF0
YSBpcyBudWxsCitQQVNTIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBpbml0
RGF0YTogJ3N0cmluZycgfSkuaW5pdERhdGEgaXMgbnVsbAorUEFTUyBuZXcgTWVkaWFLZXlFdmVu
dCgnTWVkaWFLZXlFdmVudCcsIHsgaW5pdERhdGE6IGVtcHR5T2JqZWN0IH0pLmluaXREYXRhIGlz
IG51bGwKK1BBU1MgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGluaXREYXRh
OiBkb2N1bWVudCB9KS5pbml0RGF0YSBpcyBudWxsCisKKyoqKiBJbml0aWFsaXplICdtZXNzYWdl
JyB3aXRoIGEgaW52YWxpZCB2YWx1ZXMgKioqCitQQVNTIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRp
YUtleUV2ZW50JywgeyBtZXNzYWdlOiAxMCB9KS5tZXNzYWdlIGlzIG51bGwKK1BBU1MgbmV3IE1l
ZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IG1lc3NhZ2U6ICdzdHJpbmcnIH0pLm1lc3Nh
Z2UgaXMgbnVsbAorUEFTUyBuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgbWVz
c2FnZTogZW1wdHlPYmplY3QgfSkubWVzc2FnZSBpcyBudWxsCitQQVNTIG5ldyBNZWRpYUtleUV2
ZW50KCdNZWRpYUtleUV2ZW50JywgeyBtZXNzYWdlOiBkb2N1bWVudCB9KS5tZXNzYWdlIGlzIG51
bGwKKworKioqIEluaXRpYWxpemUgJ2RlZmF1bHRVUkwnIHdpdGggYSBpbnZhbGlkIHZhbHVlcyAq
KioKK1BBU1MgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGRlZmF1bHRVUkw6
IGVtcHR5T2JqZWN0IH0pLmRlZmF1bHRVUkwgaXMgIltvYmplY3QgT2JqZWN0XSIKK1BBU1MgbmV3
IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGRlZmF1bHRVUkw6IGRvY3VtZW50IH0p
LmRlZmF1bHRVUkwgaXMgIltvYmplY3QgSFRNTERvY3VtZW50XSIKKworKioqIEluaXRpYWxpemUg
J2Vycm9yQ29kZScgd2l0aCBhIGludmFsaWQgdmFsdWVzICoqKgorUEFTUyBuZXcgTWVkaWFLZXlF
dmVudCgnTWVkaWFLZXlFdmVudCcsIHsgZXJyb3JDb2RlOiAxMCB9KS5lcnJvckNvZGUgaXMgbnVs
bAorUEFTUyBuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgZXJyb3JDb2RlOiAn
c3RyaW5nJyB9KS5lcnJvckNvZGUgaXMgbnVsbAorUEFTUyBuZXcgTWVkaWFLZXlFdmVudCgnTWVk
aWFLZXlFdmVudCcsIHsgZXJyb3JDb2RlOiBlbXB0eU9iamVjdCB9KS5lcnJvckNvZGUgaXMgbnVs
bAorUEFTUyBuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgZXJyb3JDb2RlOiBk
b2N1bWVudCB9KS5lcnJvckNvZGUgaXMgbnVsbAorCisqKiogSW5pdGlhbGl6ZSAnc3lzdGVtQ29k
ZScgd2l0aCBhIGludmFsaWQgdmFsdWVzICoqKgorUEFTUyBuZXcgTWVkaWFLZXlFdmVudCgnTWVk
aWFLZXlFdmVudCcsIHsgc3lzdGVtQ29kZTogJ3N0cmluZycgfSkuc3lzdGVtQ29kZSBpcyAwCitQ
QVNTIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBzeXN0ZW1Db2RlOiBlbXB0
eU9iamVjdCB9KS5zeXN0ZW1Db2RlIGlzIDAKK1BBU1MgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlh
S2V5RXZlbnQnLCB7IHN5c3RlbUNvZGU6IGRvY3VtZW50IH0pLnN5c3RlbUNvZGUgaXMgMAorCisq
KiogQnViYmxlcyBhbmQgY2FuY2VsYWJsZSB0cnVlLCB2YWxpZCBvdGhlciBtZW1iZXJzICoqKgor
UEFTUyBuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwg
Y2FuY2VsYWJsZTogdHJ1ZSwga2V5U3lzdGVtOiAna2V5U3lzdGVtJywgc2Vzc2lvbklkOiAnc2Vz
c2lvbklkJywgaW5pdERhdGE6IGluaXREYXRhQXJyYXksIG1lc3NhZ2U6IG1lc3NhZ2VBcnJheSwg
ZGVmYXVsdFVSTDogJ2RlZmF1bHRVUkwnLCBlcnJvckNvZGU6IGVycm9yT2JqZWN0LCBzeXN0ZW1D
b2RlOiAxMjMgfSkuYnViYmxlcyBpcyB0cnVlCitQQVNTIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRp
YUtleUV2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlLCBrZXlTeXN0ZW06
ICdrZXlTeXN0ZW0nLCBzZXNzaW9uSWQ6ICdzZXNzaW9uSWQnLCBpbml0RGF0YTogaW5pdERhdGFB
cnJheSwgbWVzc2FnZTogbWVzc2FnZUFycmF5LCBkZWZhdWx0VVJMOiAnZGVmYXVsdFVSTCcsIGVy
cm9yQ29kZTogZXJyb3JPYmplY3QsIHN5c3RlbUNvZGU6IDEyMyB9KS5jYW5jZWxhYmxlIGlzIHRy
dWUKK1BBU1MgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGJ1YmJsZXM6IHRy
dWUsIGNhbmNlbGFibGU6IHRydWUsIGtleVN5c3RlbTogJ2tleVN5c3RlbScsIHNlc3Npb25JZDog
J3Nlc3Npb25JZCcsIGluaXREYXRhOiBpbml0RGF0YUFycmF5LCBtZXNzYWdlOiBtZXNzYWdlQXJy
YXksIGRlZmF1bHRVUkw6ICdkZWZhdWx0VVJMJywgZXJyb3JDb2RlOiBlcnJvck9iamVjdCwgc3lz
dGVtQ29kZTogMTIzIH0pLmtleVN5c3RlbSBpcyAia2V5U3lzdGVtIgorUEFTUyBuZXcgTWVkaWFL
ZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1
ZSwga2V5U3lzdGVtOiAna2V5U3lzdGVtJywgc2Vzc2lvbklkOiAnc2Vzc2lvbklkJywgaW5pdERh
dGE6IGluaXREYXRhQXJyYXksIG1lc3NhZ2U6IG1lc3NhZ2VBcnJheSwgZGVmYXVsdFVSTDogJ2Rl
ZmF1bHRVUkwnLCBlcnJvckNvZGU6IGVycm9yT2JqZWN0LCBzeXN0ZW1Db2RlOiAxMjMgfSkuc2Vz
c2lvbklkIGlzICJzZXNzaW9uSWQiCitQQVNTIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2
ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlLCBrZXlTeXN0ZW06ICdrZXlT
eXN0ZW0nLCBzZXNzaW9uSWQ6ICdzZXNzaW9uSWQnLCBpbml0RGF0YTogaW5pdERhdGFBcnJheSwg
bWVzc2FnZTogbWVzc2FnZUFycmF5LCBkZWZhdWx0VVJMOiAnZGVmYXVsdFVSTCcsIGVycm9yQ29k
ZTogZXJyb3JPYmplY3QsIHN5c3RlbUNvZGU6IDEyMyB9KS5pbml0RGF0YSBpcyBpbml0RGF0YUFy
cmF5CitQQVNTIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBidWJibGVzOiB0
cnVlLCBjYW5jZWxhYmxlOiB0cnVlLCBrZXlTeXN0ZW06ICdrZXlTeXN0ZW0nLCBzZXNzaW9uSWQ6
ICdzZXNzaW9uSWQnLCBpbml0RGF0YTogaW5pdERhdGFBcnJheSwgbWVzc2FnZTogbWVzc2FnZUFy
cmF5LCBkZWZhdWx0VVJMOiAnZGVmYXVsdFVSTCcsIGVycm9yQ29kZTogZXJyb3JPYmplY3QsIHN5
c3RlbUNvZGU6IDEyMyB9KS5tZXNzYWdlIGlzIG1lc3NhZ2VBcnJheQorUEFTUyBuZXcgTWVkaWFL
ZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1
ZSwga2V5U3lzdGVtOiAna2V5U3lzdGVtJywgc2Vzc2lvbklkOiAnc2Vzc2lvbklkJywgaW5pdERh
dGE6IGluaXREYXRhQXJyYXksIG1lc3NhZ2U6IG1lc3NhZ2VBcnJheSwgZGVmYXVsdFVSTDogJ2Rl
ZmF1bHRVUkwnLCBlcnJvckNvZGU6IGVycm9yT2JqZWN0LCBzeXN0ZW1Db2RlOiAxMjMgfSkuZGVm
YXVsdFVSTCBpcyAiZGVmYXVsdFVSTCIKK0ZBSUwgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5
RXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIGtleVN5c3RlbTogJ2tl
eVN5c3RlbScsIHNlc3Npb25JZDogJ3Nlc3Npb25JZCcsIGluaXREYXRhOiBpbml0RGF0YUFycmF5
LCBtZXNzYWdlOiBtZXNzYWdlQXJyYXksIGRlZmF1bHRVUkw6ICdkZWZhdWx0VVJMJywgZXJyb3JD
b2RlOiBlcnJvck9iamVjdCwgc3lzdGVtQ29kZTogMTIzIH0pLmVycm9yQ29kZSBzaG91bGQgYmUg
ZnVuY3Rpb24gTWVkaWFLZXlFcnJvcigpIHsgW25hdGl2ZSBjb2RlXSB9IChvZiB0eXBlIGZ1bmN0
aW9uKS4gV2FzIG51bGwgKG9mIHR5cGUgb2JqZWN0KS4KK0ZBSUwgbmV3IE1lZGlhS2V5RXZlbnQo
J01lZGlhS2V5RXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIGtleVN5
c3RlbTogJ2tleVN5c3RlbScsIHNlc3Npb25JZDogJ3Nlc3Npb25JZCcsIGluaXREYXRhOiBpbml0
RGF0YUFycmF5LCBtZXNzYWdlOiBtZXNzYWdlQXJyYXksIGRlZmF1bHRVUkw6ICdkZWZhdWx0VVJM
JywgZXJyb3JDb2RlOiBlcnJvck9iamVjdCwgc3lzdGVtQ29kZTogMTIzIH0pLmVycm9yQ29kZS5j
b2RlIHNob3VsZCBiZSAxLiBUaHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBDYW5ub3QgcmVhZCBw
cm9wZXJ0eSAnY29kZScgb2YgbnVsbAorUEFTUyBuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlF
dmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwga2V5U3lzdGVtOiAna2V5
U3lzdGVtJywgc2Vzc2lvbklkOiAnc2Vzc2lvbklkJywgaW5pdERhdGE6IGluaXREYXRhQXJyYXks
IG1lc3NhZ2U6IG1lc3NhZ2VBcnJheSwgZGVmYXVsdFVSTDogJ2RlZmF1bHRVUkwnLCBlcnJvckNv
ZGU6IGVycm9yT2JqZWN0LCBzeXN0ZW1Db2RlOiAxMjMgfSkuc3lzdGVtQ29kZSBpcyAxMjMKKwor
KioqIEluaXRpYWxpemUgd2l0aCB2YWxpZCBtZW1iZXJzICoqKgorRkFJTCBuZXcgTWVkaWFLZXlF
dmVudCgnTWVkaWFLZXlFdmVudCcsIHsga2V5U3lzdGVtOiAna2V5U3lzdGVtJywgc2Vzc2lvbklk
OiAnc2Vzc2lvbklkJywgaW5pdERhdGE6IGluaXREYXRhQXJyYXksIG1lc3NhZ2U6IG1lc3NhZ2VB
cnJheSwgZGVmYXVsdFVSTDogJ2RlZmF1bHRVUkwnLCBlcnJvckNvZGU6IGVycm9yT2JqZWN0LCBz
eXN0ZW1Db2RlOiAxMjMgfSkuYnViYmxlcyBzaG91bGQgYmUgdHJ1ZS4gV2FzIGZhbHNlLgorRkFJ
TCBuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsga2V5U3lzdGVtOiAna2V5U3lz
dGVtJywgc2Vzc2lvbklkOiAnc2Vzc2lvbklkJywgaW5pdERhdGE6IGluaXREYXRhQXJyYXksIG1l
c3NhZ2U6IG1lc3NhZ2VBcnJheSwgZGVmYXVsdFVSTDogJ2RlZmF1bHRVUkwnLCBlcnJvckNvZGU6
IGVycm9yT2JqZWN0LCBzeXN0ZW1Db2RlOiAxMjMgfSkuY2FuY2VsYWJsZSBzaG91bGQgYmUgdHJ1
ZS4gV2FzIGZhbHNlLgorUEFTUyBuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsg
a2V5U3lzdGVtOiAna2V5U3lzdGVtJywgc2Vzc2lvbklkOiAnc2Vzc2lvbklkJywgaW5pdERhdGE6
IGluaXREYXRhQXJyYXksIG1lc3NhZ2U6IG1lc3NhZ2VBcnJheSwgZGVmYXVsdFVSTDogJ2RlZmF1
bHRVUkwnLCBlcnJvckNvZGU6IGVycm9yT2JqZWN0LCBzeXN0ZW1Db2RlOiAxMjMgfSkua2V5U3lz
dGVtIGlzICJrZXlTeXN0ZW0iCitQQVNTIG5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50
JywgeyBrZXlTeXN0ZW06ICdrZXlTeXN0ZW0nLCBzZXNzaW9uSWQ6ICdzZXNzaW9uSWQnLCBpbml0
RGF0YTogaW5pdERhdGFBcnJheSwgbWVzc2FnZTogbWVzc2FnZUFycmF5LCBkZWZhdWx0VVJMOiAn
ZGVmYXVsdFVSTCcsIGVycm9yQ29kZTogZXJyb3JPYmplY3QsIHN5c3RlbUNvZGU6IDEyMyB9KS5z
ZXNzaW9uSWQgaXMgInNlc3Npb25JZCIKK1BBU1MgbmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5
RXZlbnQnLCB7IGtleVN5c3RlbTogJ2tleVN5c3RlbScsIHNlc3Npb25JZDogJ3Nlc3Npb25JZCcs
IGluaXREYXRhOiBpbml0RGF0YUFycmF5LCBtZXNzYWdlOiBtZXNzYWdlQXJyYXksIGRlZmF1bHRV
Ukw6ICdkZWZhdWx0VVJMJywgZXJyb3JDb2RlOiBlcnJvck9iamVjdCwgc3lzdGVtQ29kZTogMTIz
IH0pLmluaXREYXRhIGlzIGluaXREYXRhQXJyYXkKK1BBU1MgbmV3IE1lZGlhS2V5RXZlbnQoJ01l
ZGlhS2V5RXZlbnQnLCB7IGtleVN5c3RlbTogJ2tleVN5c3RlbScsIHNlc3Npb25JZDogJ3Nlc3Np
b25JZCcsIGluaXREYXRhOiBpbml0RGF0YUFycmF5LCBtZXNzYWdlOiBtZXNzYWdlQXJyYXksIGRl
ZmF1bHRVUkw6ICdkZWZhdWx0VVJMJywgZXJyb3JDb2RlOiBlcnJvck9iamVjdCwgc3lzdGVtQ29k
ZTogMTIzIH0pLm1lc3NhZ2UgaXMgbWVzc2FnZUFycmF5CitQQVNTIG5ldyBNZWRpYUtleUV2ZW50
KCdNZWRpYUtleUV2ZW50JywgeyBrZXlTeXN0ZW06ICdrZXlTeXN0ZW0nLCBzZXNzaW9uSWQ6ICdz
ZXNzaW9uSWQnLCBpbml0RGF0YTogaW5pdERhdGFBcnJheSwgbWVzc2FnZTogbWVzc2FnZUFycmF5
LCBkZWZhdWx0VVJMOiAnZGVmYXVsdFVSTCcsIGVycm9yQ29kZTogZXJyb3JPYmplY3QsIHN5c3Rl
bUNvZGU6IDEyMyB9KS5kZWZhdWx0VVJMIGlzICJkZWZhdWx0VVJMIgorRkFJTCBuZXcgTWVkaWFL
ZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsga2V5U3lzdGVtOiAna2V5U3lzdGVtJywgc2Vzc2lv
bklkOiAnc2Vzc2lvbklkJywgaW5pdERhdGE6IGluaXREYXRhQXJyYXksIG1lc3NhZ2U6IG1lc3Nh
Z2VBcnJheSwgZGVmYXVsdFVSTDogJ2RlZmF1bHRVUkwnLCBlcnJvckNvZGU6IGVycm9yT2JqZWN0
LCBzeXN0ZW1Db2RlOiAxMjMgfSkuZXJyb3JDb2RlIHNob3VsZCBiZSBmdW5jdGlvbiBNZWRpYUtl
eUVycm9yKCkgeyBbbmF0aXZlIGNvZGVdIH0gKG9mIHR5cGUgZnVuY3Rpb24pLiBXYXMgbnVsbCAo
b2YgdHlwZSBvYmplY3QpLgorRkFJTCBuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcs
IHsga2V5U3lzdGVtOiAna2V5U3lzdGVtJywgc2Vzc2lvbklkOiAnc2Vzc2lvbklkJywgaW5pdERh
dGE6IGluaXREYXRhQXJyYXksIG1lc3NhZ2U6IG1lc3NhZ2VBcnJheSwgZGVmYXVsdFVSTDogJ2Rl
ZmF1bHRVUkwnLCBlcnJvckNvZGU6IGVycm9yT2JqZWN0LCBzeXN0ZW1Db2RlOiAxMjMgfSkuZXJy
b3JDb2RlLmNvZGUgc2hvdWxkIGJlIDEuIFRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IENhbm5v
dCByZWFkIHByb3BlcnR5ICdjb2RlJyBvZiBudWxsCitQQVNTIG5ldyBNZWRpYUtleUV2ZW50KCdN
ZWRpYUtleUV2ZW50JywgeyBrZXlTeXN0ZW06ICdrZXlTeXN0ZW0nLCBzZXNzaW9uSWQ6ICdzZXNz
aW9uSWQnLCBpbml0RGF0YTogaW5pdERhdGFBcnJheSwgbWVzc2FnZTogbWVzc2FnZUFycmF5LCBk
ZWZhdWx0VVJMOiAnZGVmYXVsdFVSTCcsIGVycm9yQ29kZTogZXJyb3JPYmplY3QsIHN5c3RlbUNv
ZGU6IDEyMyB9KS5zeXN0ZW1Db2RlIGlzIDEyMworCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9l
dmVudHMvY29uc3RydWN0b3JzL21lZGlhLWtleS1ldmVudC1jb25zdHJ1Y3Rvci5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL21lZGlhLWtleS1ldmVudC1jb25zdHJ1
Y3Rvci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRiMzNhOGFmMGIyZDMyNzg5ZTYyMDIxZWNjMDkxOGRkZjFl
NWM5NTUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9jb25zdHJ1
Y3RvcnMvbWVkaWEta2V5LWV2ZW50LWNvbnN0cnVjdG9yLmh0bWwKQEAgLTAsMCArMSwxMzUgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4v
anMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHk+
CisgICAgPHNjcmlwdD4KKworICAgICAgICB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CisK
KyAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdHMgdGhlIGNvbnN0cnVjdG9yIGZvciB0aGUg
TWVkaWFLZXlFdmVudCBET00gY2xhc3MuIik7CisKKyAgICAgICAgZnVuY3Rpb24gdGVzdCgpCisg
ICAgICAgIHsKKyAgICAgICAgICAgIGRlYnVnKCI8YnI+KioqIE5vIGluaXRpYWxpemVyIHBhc3Nl
ZCAqKioiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFL
ZXlFdmVudCcpLmJ1YmJsZXMiLCAiZmFsc2UiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJuZXcg
TWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcpLmNhbmNlbGFibGUiLCAiZmFsc2UiKTsKKyAg
ICAgICAgICAgIHNob3VsZEJlRW1wdHlTdHJpbmcoIm5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtl
eUV2ZW50Jykua2V5U3lzdGVtIik7CisgICAgICAgICAgICBzaG91bGRCZUVtcHR5U3RyaW5nKCJu
ZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcpLnNlc3Npb25JZCIpOworICAgICAgICAg
ICAgc2hvdWxkQmVOdWxsKCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcpLmluaXRE
YXRhIik7CisgICAgICAgICAgICBzaG91bGRCZU51bGwoIm5ldyBNZWRpYUtleUV2ZW50KCdNZWRp
YUtleUV2ZW50JykubWVzc2FnZSIpOworICAgICAgICAgICAgc2hvdWxkQmVFbXB0eVN0cmluZygi
bmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnKS5kZWZhdWx0VVJMIik7CisgICAgICAg
ICAgICBzaG91bGRCZU51bGwoIm5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JykuZXJy
b3JDb2RlIik7CisgICAgICAgICAgICBzaG91bGRCZVplcm8oIm5ldyBNZWRpYUtleUV2ZW50KCdN
ZWRpYUtleUV2ZW50Jykuc3lzdGVtQ29kZSIpOworICAgIAorICAgICAgICAgICAgZGVidWcoIjxi
cj4qKiogQnViYmxlcyBhbmQgY2FuY2VsYWJsZSB0cnVlLCBvdGhlciBtZW1iZXJzIGFyZSBtaXNz
aW5nICoqKiIpOworICAgICAgICAgICAgc2hvdWxkQmUoIm5ldyBNZWRpYUtleUV2ZW50KCdNZWRp
YUtleUV2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlIH0pLmJ1YmJsZXMi
LCAidHJ1ZSIpOworICAgICAgICAgICAgc2hvdWxkQmUoIm5ldyBNZWRpYUtleUV2ZW50KCdNZWRp
YUtleUV2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlIH0pLmNhbmNlbGFi
bGUiLCAidHJ1ZSIpOworICAgICAgICAgICAgc2hvdWxkQmVFbXB0eVN0cmluZygibmV3IE1lZGlh
S2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRy
dWUgfSkua2V5U3lzdGVtIik7CisgICAgICAgICAgICBzaG91bGRCZUVtcHR5U3RyaW5nKCJuZXcg
TWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJs
ZTogdHJ1ZSB9KS5zZXNzaW9uSWQiKTsKKyAgICAgICAgICAgIHNob3VsZEJlTnVsbCgibmV3IE1l
ZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6
IHRydWUgfSkuaW5pdERhdGEiKTsKKyAgICAgICAgICAgIHNob3VsZEJlTnVsbCgibmV3IE1lZGlh
S2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRy
dWUgfSkubWVzc2FnZSIpOworICAgICAgICAgICAgc2hvdWxkQmVFbXB0eVN0cmluZygibmV3IE1l
ZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6
IHRydWUgfSkuZGVmYXVsdFVSTCIpOworICAgICAgICAgICAgc2hvdWxkQmVOdWxsKCJuZXcgTWVk
aWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTog
dHJ1ZSB9KS5lcnJvckNvZGUiKTsKKyAgICAgICAgICAgIHNob3VsZEJlWmVybygibmV3IE1lZGlh
S2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRy
dWUgfSkuc3lzdGVtQ29kZSIpOworICAgIAorICAgICAgICAgICAgZGVidWcoIjxicj4qKiogQnVi
YmxlcyBhbmQgY2FuY2VsYWJsZSB0cnVlLCBpbnZhbGlkIG90aGVyIG1lbWJlcnMgKioqIik7Cisg
ICAgICAgICAgICBzaG91bGRCZSgibmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7
IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIGtleVN5c3RlbTogdW5kZWZpbmVkLCBz
ZXNzaW9uSWQ6IHVuZGVmaW5lZCwgaW5pdERhdGE6IFVpbnQ4QXJyYXksIG1lc3NhZ2U6IFVpbnQ4
QXJyYXksIGRlZmF1bHRVUkw6IHVuZGVmaW5lZCwgZXJyb3JDb2RlOiBNZWRpYUtleUVycm9yLCBz
eXN0ZW1Db2RlOiB1bmRlZmluZWQgfSkuYnViYmxlcyIsICJ0cnVlIik7CisgICAgICAgICAgICBz
aG91bGRCZSgibmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGJ1YmJsZXM6IHRy
dWUsIGNhbmNlbGFibGU6IHRydWUsIGtleVN5c3RlbTogdW5kZWZpbmVkLCBzZXNzaW9uSWQ6IHVu
ZGVmaW5lZCwgaW5pdERhdGE6IFVpbnQ4QXJyYXksIG1lc3NhZ2U6IFVpbnQ4QXJyYXksIGRlZmF1
bHRVUkw6IHVuZGVmaW5lZCwgZXJyb3JDb2RlOiBNZWRpYUtleUVycm9yLCBzeXN0ZW1Db2RlOiB1
bmRlZmluZWQgfSkuY2FuY2VsYWJsZSIsICJ0cnVlIik7CisgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoIm5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBidWJibGVz
OiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlLCBrZXlTeXN0ZW06IHVuZGVmaW5lZCwgc2Vzc2lvbklk
OiB1bmRlZmluZWQsIGluaXREYXRhOiBVaW50OEFycmF5LCBtZXNzYWdlOiBVaW50OEFycmF5LCBk
ZWZhdWx0VVJMOiB1bmRlZmluZWQsIGVycm9yQ29kZTogTWVkaWFLZXlFcnJvciwgc3lzdGVtQ29k
ZTogdW5kZWZpbmVkIH0pLmtleVN5c3RlbSIsICJ1bmRlZmluZWQiKTsKKyAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygibmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7
IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIGtleVN5c3RlbTogdW5kZWZpbmVkLCBz
ZXNzaW9uSWQ6IHVuZGVmaW5lZCwgaW5pdERhdGE6IFVpbnQ4QXJyYXksIG1lc3NhZ2U6IFVpbnQ4
QXJyYXksIGRlZmF1bHRVUkw6IHVuZGVmaW5lZCwgZXJyb3JDb2RlOiBNZWRpYUtleUVycm9yLCBz
eXN0ZW1Db2RlOiB1bmRlZmluZWQgfSkuc2Vzc2lvbklkIiwgInVuZGVmaW5lZCIpOworICAgICAg
ICAgICAgc2hvdWxkQmVOdWxsKCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsg
YnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwga2V5U3lzdGVtOiB1bmRlZmluZWQsIHNl
c3Npb25JZDogdW5kZWZpbmVkLCBpbml0RGF0YTogVWludDhBcnJheSwgbWVzc2FnZTogVWludDhB
cnJheSwgZGVmYXVsdFVSTDogdW5kZWZpbmVkLCBlcnJvckNvZGU6IE1lZGlhS2V5RXJyb3IsIHN5
c3RlbUNvZGU6IHVuZGVmaW5lZCB9KS5pbml0RGF0YSIpOworICAgICAgICAgICAgc2hvdWxkQmVO
dWxsKCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwg
Y2FuY2VsYWJsZTogdHJ1ZSwga2V5U3lzdGVtOiB1bmRlZmluZWQsIHNlc3Npb25JZDogdW5kZWZp
bmVkLCBpbml0RGF0YTogVWludDhBcnJheSwgbWVzc2FnZTogVWludDhBcnJheSwgZGVmYXVsdFVS
TDogdW5kZWZpbmVkLCBlcnJvckNvZGU6IE1lZGlhS2V5RXJyb3IsIHN5c3RlbUNvZGU6IHVuZGVm
aW5lZCB9KS5tZXNzYWdlIik7CisgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIm5l
dyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxh
YmxlOiB0cnVlLCBrZXlTeXN0ZW06IHVuZGVmaW5lZCwgc2Vzc2lvbklkOiB1bmRlZmluZWQsIGlu
aXREYXRhOiBVaW50OEFycmF5LCBtZXNzYWdlOiBVaW50OEFycmF5LCBkZWZhdWx0VVJMOiB1bmRl
ZmluZWQsIGVycm9yQ29kZTogTWVkaWFLZXlFcnJvciwgc3lzdGVtQ29kZTogdW5kZWZpbmVkIH0p
LmRlZmF1bHRVUkwiLCAidW5kZWZpbmVkIik7CisgICAgICAgICAgICBzaG91bGRCZU51bGwoIm5l
dyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxh
YmxlOiB0cnVlLCBrZXlTeXN0ZW06IHVuZGVmaW5lZCwgc2Vzc2lvbklkOiB1bmRlZmluZWQsIGlu
aXREYXRhOiBVaW50OEFycmF5LCBtZXNzYWdlOiBVaW50OEFycmF5LCBkZWZhdWx0VVJMOiB1bmRl
ZmluZWQsIGVycm9yQ29kZTogTWVkaWFLZXlFcnJvciwgc3lzdGVtQ29kZTogdW5kZWZpbmVkIH0p
LmVycm9yQ29kZSIpOworICAgICAgICAgICAgc2hvdWxkQmVaZXJvKCJuZXcgTWVkaWFLZXlFdmVu
dCgnTWVkaWFLZXlFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwga2V5
U3lzdGVtOiB1bmRlZmluZWQsIHNlc3Npb25JZDogdW5kZWZpbmVkLCBpbml0RGF0YTogVWludDhB
cnJheSwgbWVzc2FnZTogVWludDhBcnJheSwgZGVmYXVsdFVSTDogdW5kZWZpbmVkLCBlcnJvckNv
ZGU6IE1lZGlhS2V5RXJyb3IsIHN5c3RlbUNvZGU6IHVuZGVmaW5lZCB9KS5zeXN0ZW1Db2RlIik7
CisgICAgCisgICAgICAgICAgICBkZWJ1ZygiPGJyPioqKiBJbml0aWFsaXplICdrZXlTeXN0ZW0n
IHdpdGggYSBpbnZhbGlkIHZhbHVlcyAqKioiKTsKKyAgICAgICAgICAgIGVtcHR5T2JqZWN0ID0g
eyB9OworICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJuZXcgTWVkaWFLZXlFdmVu
dCgnTWVkaWFLZXlFdmVudCcsIHsga2V5U3lzdGVtOiBlbXB0eU9iamVjdCB9KS5rZXlTeXN0ZW0i
LCAiW29iamVjdCBPYmplY3RdIik7CisgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
Im5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBrZXlTeXN0ZW06IGRvY3VtZW50
IH0pLmtleVN5c3RlbSIsICJbb2JqZWN0IEhUTUxEb2N1bWVudF0iKTsKKworICAgICAgICAgICAg
ZGVidWcoIjxicj4qKiogSW5pdGlhbGl6ZSAnc2Vzc2lvbklkJyB3aXRoIGEgaW52YWxpZCB2YWx1
ZXMgKioqIik7CisgICAgICAgICAgICBlbXB0eU9iamVjdCA9IHsgfTsKKyAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygibmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7
IHNlc3Npb25JZDogZW1wdHlPYmplY3QgfSkuc2Vzc2lvbklkIiwgIltvYmplY3QgT2JqZWN0XSIp
OworICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJuZXcgTWVkaWFLZXlFdmVudCgn
TWVkaWFLZXlFdmVudCcsIHsgc2Vzc2lvbklkOiBkb2N1bWVudCB9KS5zZXNzaW9uSWQiLCAiW29i
amVjdCBIVE1MRG9jdW1lbnRdIik7CisKKyAgICAgICAgICAgIGRlYnVnKCI8YnI+KioqIEluaXRp
YWxpemUgJ2luaXREYXRhJyB3aXRoIGEgaW52YWxpZCB2YWx1ZXMgKioqIik7CisgICAgICAgICAg
ICBzaG91bGRCZU51bGwoIm5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBpbml0
RGF0YTogMTAgfSkuaW5pdERhdGEiKTsKKyAgICAgICAgICAgIHNob3VsZEJlTnVsbCgibmV3IE1l
ZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGluaXREYXRhOiBcJ3N0cmluZ1wnIH0pLmlu
aXREYXRhIik7CisgICAgICAgICAgICBlbXB0eU9iamVjdCA9IHsgfTsKKyAgICAgICAgICAgIHNo
b3VsZEJlTnVsbCgibmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGluaXREYXRh
OiBlbXB0eU9iamVjdCB9KS5pbml0RGF0YSIpOworICAgICAgICAgICAgc2hvdWxkQmVOdWxsKCJu
ZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgaW5pdERhdGE6IGRvY3VtZW50IH0p
LmluaXREYXRhIik7CisKKyAgICAgICAgICAgIGRlYnVnKCI8YnI+KioqIEluaXRpYWxpemUgJ21l
c3NhZ2UnIHdpdGggYSBpbnZhbGlkIHZhbHVlcyAqKioiKTsKKyAgICAgICAgICAgIHNob3VsZEJl
TnVsbCgibmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IG1lc3NhZ2U6IDEwIH0p
Lm1lc3NhZ2UiKTsKKyAgICAgICAgICAgIHNob3VsZEJlTnVsbCgibmV3IE1lZGlhS2V5RXZlbnQo
J01lZGlhS2V5RXZlbnQnLCB7IG1lc3NhZ2U6IFwnc3RyaW5nXCcgfSkubWVzc2FnZSIpOworICAg
ICAgICAgICAgZW1wdHlPYmplY3QgPSB7IH07CisgICAgICAgICAgICBzaG91bGRCZU51bGwoIm5l
dyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBtZXNzYWdlOiBlbXB0eU9iamVjdCB9
KS5tZXNzYWdlIik7CisgICAgICAgICAgICBzaG91bGRCZU51bGwoIm5ldyBNZWRpYUtleUV2ZW50
KCdNZWRpYUtleUV2ZW50JywgeyBtZXNzYWdlOiBkb2N1bWVudCB9KS5tZXNzYWdlIik7CisKKyAg
ICAgICAgICAgIGRlYnVnKCI8YnI+KioqIEluaXRpYWxpemUgJ2RlZmF1bHRVUkwnIHdpdGggYSBp
bnZhbGlkIHZhbHVlcyAqKioiKTsKKyAgICAgICAgICAgIGVtcHR5T2JqZWN0ID0geyB9OworICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFL
ZXlFdmVudCcsIHsgZGVmYXVsdFVSTDogZW1wdHlPYmplY3QgfSkuZGVmYXVsdFVSTCIsICJbb2Jq
ZWN0IE9iamVjdF0iKTsKKyAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygibmV3IE1l
ZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGRlZmF1bHRVUkw6IGRvY3VtZW50IH0pLmRl
ZmF1bHRVUkwiLCAiW29iamVjdCBIVE1MRG9jdW1lbnRdIik7CisKKyAgICAgICAgICAgIGRlYnVn
KCI8YnI+KioqIEluaXRpYWxpemUgJ2Vycm9yQ29kZScgd2l0aCBhIGludmFsaWQgdmFsdWVzICoq
KiIpOworICAgICAgICAgICAgc2hvdWxkQmVOdWxsKCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFL
ZXlFdmVudCcsIHsgZXJyb3JDb2RlOiAxMCB9KS5lcnJvckNvZGUiKTsKKyAgICAgICAgICAgIHNo
b3VsZEJlTnVsbCgibmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGVycm9yQ29k
ZTogXCdzdHJpbmdcJyB9KS5lcnJvckNvZGUiKTsKKyAgICAgICAgICAgIGVtcHR5T2JqZWN0ID0g
eyB9OworICAgICAgICAgICAgc2hvdWxkQmVOdWxsKCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFL
ZXlFdmVudCcsIHsgZXJyb3JDb2RlOiBlbXB0eU9iamVjdCB9KS5lcnJvckNvZGUiKTsKKyAgICAg
ICAgICAgIHNob3VsZEJlTnVsbCgibmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7
IGVycm9yQ29kZTogZG9jdW1lbnQgfSkuZXJyb3JDb2RlIik7CisKKyAgICAgICAgICAgIGRlYnVn
KCI8YnI+KioqIEluaXRpYWxpemUgJ3N5c3RlbUNvZGUnIHdpdGggYSBpbnZhbGlkIHZhbHVlcyAq
KioiKTsKKyAgICAgICAgICAgIHNob3VsZEJlWmVybygibmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlh
S2V5RXZlbnQnLCB7IHN5c3RlbUNvZGU6IFwnc3RyaW5nXCcgfSkuc3lzdGVtQ29kZSIpOworICAg
ICAgICAgICAgZW1wdHlPYmplY3QgPSB7IH07CisgICAgICAgICAgICBzaG91bGRCZVplcm8oIm5l
dyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBzeXN0ZW1Db2RlOiBlbXB0eU9iamVj
dCB9KS5zeXN0ZW1Db2RlIik7CisgICAgICAgICAgICBzaG91bGRCZVplcm8oIm5ldyBNZWRpYUtl
eUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBzeXN0ZW1Db2RlOiBkb2N1bWVudCB9KS5zeXN0ZW1D
b2RlIik7CisKKyAgICAgICAgICAgIGRlYnVnKCI8YnI+KioqIEJ1YmJsZXMgYW5kIGNhbmNlbGFi
bGUgdHJ1ZSwgdmFsaWQgb3RoZXIgbWVtYmVycyAqKioiKTsKKyAgICAgICAgICAgIHNob3VsZEJl
KCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2Fu
Y2VsYWJsZTogdHJ1ZSwga2V5U3lzdGVtOiAna2V5U3lzdGVtJywgc2Vzc2lvbklkOiAnc2Vzc2lv
bklkJywgaW5pdERhdGE6IGluaXREYXRhQXJyYXksIG1lc3NhZ2U6IG1lc3NhZ2VBcnJheSwgZGVm
YXVsdFVSTDogJ2RlZmF1bHRVUkwnLCBlcnJvckNvZGU6IGVycm9yT2JqZWN0LCBzeXN0ZW1Db2Rl
OiAxMjMgfSkuYnViYmxlcyIsICJ0cnVlIik7CisgICAgICAgICAgICBzaG91bGRCZSgibmV3IE1l
ZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6
IHRydWUsIGtleVN5c3RlbTogJ2tleVN5c3RlbScsIHNlc3Npb25JZDogJ3Nlc3Npb25JZCcsIGlu
aXREYXRhOiBpbml0RGF0YUFycmF5LCBtZXNzYWdlOiBtZXNzYWdlQXJyYXksIGRlZmF1bHRVUkw6
ICdkZWZhdWx0VVJMJywgZXJyb3JDb2RlOiBlcnJvck9iamVjdCwgc3lzdGVtQ29kZTogMTIzIH0p
LmNhbmNlbGFibGUiLCAidHJ1ZSIpOworICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgYnViYmxlczogdHJ1ZSwgY2Fu
Y2VsYWJsZTogdHJ1ZSwga2V5U3lzdGVtOiAna2V5U3lzdGVtJywgc2Vzc2lvbklkOiAnc2Vzc2lv
bklkJywgaW5pdERhdGE6IGluaXREYXRhQXJyYXksIG1lc3NhZ2U6IG1lc3NhZ2VBcnJheSwgZGVm
YXVsdFVSTDogJ2RlZmF1bHRVUkwnLCBlcnJvckNvZGU6IGVycm9yT2JqZWN0LCBzeXN0ZW1Db2Rl
OiAxMjMgfSkua2V5U3lzdGVtIiwgImtleVN5c3RlbSIpOworICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsgYnViYmxl
czogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwga2V5U3lzdGVtOiAna2V5U3lzdGVtJywgc2Vzc2lv
bklkOiAnc2Vzc2lvbklkJywgaW5pdERhdGE6IGluaXREYXRhQXJyYXksIG1lc3NhZ2U6IG1lc3Nh
Z2VBcnJheSwgZGVmYXVsdFVSTDogJ2RlZmF1bHRVUkwnLCBlcnJvckNvZGU6IGVycm9yT2JqZWN0
LCBzeXN0ZW1Db2RlOiAxMjMgfSkuc2Vzc2lvbklkIiwgInNlc3Npb25JZCIpOworICAgICAgICAg
ICAgc2hvdWxkQmUoIm5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBidWJibGVz
OiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlLCBrZXlTeXN0ZW06ICdrZXlTeXN0ZW0nLCBzZXNzaW9u
SWQ6ICdzZXNzaW9uSWQnLCBpbml0RGF0YTogaW5pdERhdGFBcnJheSwgbWVzc2FnZTogbWVzc2Fn
ZUFycmF5LCBkZWZhdWx0VVJMOiAnZGVmYXVsdFVSTCcsIGVycm9yQ29kZTogZXJyb3JPYmplY3Qs
IHN5c3RlbUNvZGU6IDEyMyB9KS5pbml0RGF0YSIsICJpbml0RGF0YUFycmF5Iik7CisgICAgICAg
ICAgICBzaG91bGRCZSgibmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGJ1YmJs
ZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIGtleVN5c3RlbTogJ2tleVN5c3RlbScsIHNlc3Np
b25JZDogJ3Nlc3Npb25JZCcsIGluaXREYXRhOiBpbml0RGF0YUFycmF5LCBtZXNzYWdlOiBtZXNz
YWdlQXJyYXksIGRlZmF1bHRVUkw6ICdkZWZhdWx0VVJMJywgZXJyb3JDb2RlOiBlcnJvck9iamVj
dCwgc3lzdGVtQ29kZTogMTIzIH0pLm1lc3NhZ2UiLCAibWVzc2FnZUFycmF5Iik7CisgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIm5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2
ZW50JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlLCBrZXlTeXN0ZW06ICdrZXlT
eXN0ZW0nLCBzZXNzaW9uSWQ6ICdzZXNzaW9uSWQnLCBpbml0RGF0YTogaW5pdERhdGFBcnJheSwg
bWVzc2FnZTogbWVzc2FnZUFycmF5LCBkZWZhdWx0VVJMOiAnZGVmYXVsdFVSTCcsIGVycm9yQ29k
ZTogZXJyb3JPYmplY3QsIHN5c3RlbUNvZGU6IDEyMyB9KS5kZWZhdWx0VVJMIiwgImRlZmF1bHRV
UkwiKTsKKyAgICAgICAgICAgIC8vIEZJWE1FKDgyOTg4KTogVGhlc2UgdHdvIGZhaWwuCisgICAg
ICAgICAgICBzaG91bGRCZSgibmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGJ1
YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIGtleVN5c3RlbTogJ2tleVN5c3RlbScsIHNl
c3Npb25JZDogJ3Nlc3Npb25JZCcsIGluaXREYXRhOiBpbml0RGF0YUFycmF5LCBtZXNzYWdlOiBt
ZXNzYWdlQXJyYXksIGRlZmF1bHRVUkw6ICdkZWZhdWx0VVJMJywgZXJyb3JDb2RlOiBlcnJvck9i
amVjdCwgc3lzdGVtQ29kZTogMTIzIH0pLmVycm9yQ29kZSIsICJlcnJvck9iamVjdCIpOworICAg
ICAgICAgICAgc2hvdWxkQmUoIm5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBi
dWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlLCBrZXlTeXN0ZW06ICdrZXlTeXN0ZW0nLCBz
ZXNzaW9uSWQ6ICdzZXNzaW9uSWQnLCBpbml0RGF0YTogaW5pdERhdGFBcnJheSwgbWVzc2FnZTog
bWVzc2FnZUFycmF5LCBkZWZhdWx0VVJMOiAnZGVmYXVsdFVSTCcsIGVycm9yQ29kZTogZXJyb3JP
YmplY3QsIHN5c3RlbUNvZGU6IDEyMyB9KS5lcnJvckNvZGUuY29kZSIsICJNZWRpYUtleUVycm9y
Lk1FRElBX0tFWUVSUl9VTktOT1dOIik7CisgICAgICAgICAgICBzaG91bGRCZSgibmV3IE1lZGlh
S2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRy
dWUsIGtleVN5c3RlbTogJ2tleVN5c3RlbScsIHNlc3Npb25JZDogJ3Nlc3Npb25JZCcsIGluaXRE
YXRhOiBpbml0RGF0YUFycmF5LCBtZXNzYWdlOiBtZXNzYWdlQXJyYXksIGRlZmF1bHRVUkw6ICdk
ZWZhdWx0VVJMJywgZXJyb3JDb2RlOiBlcnJvck9iamVjdCwgc3lzdGVtQ29kZTogMTIzIH0pLnN5
c3RlbUNvZGUiLCAiMTIzIik7CisKKyAgICAgICAgICAgIGRlYnVnKCI8YnI+KioqIEluaXRpYWxp
emUgd2l0aCB2YWxpZCBtZW1iZXJzICoqKiIpOworICAgICAgICAgICAgc2hvdWxkQmUoIm5ldyBN
ZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50JywgeyBrZXlTeXN0ZW06ICdrZXlTeXN0ZW0nLCBz
ZXNzaW9uSWQ6ICdzZXNzaW9uSWQnLCBpbml0RGF0YTogaW5pdERhdGFBcnJheSwgbWVzc2FnZTog
bWVzc2FnZUFycmF5LCBkZWZhdWx0VVJMOiAnZGVmYXVsdFVSTCcsIGVycm9yQ29kZTogZXJyb3JP
YmplY3QsIHN5c3RlbUNvZGU6IDEyMyB9KS5idWJibGVzIiwgInRydWUiKTsKKyAgICAgICAgICAg
IHNob3VsZEJlKCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsga2V5U3lzdGVt
OiAna2V5U3lzdGVtJywgc2Vzc2lvbklkOiAnc2Vzc2lvbklkJywgaW5pdERhdGE6IGluaXREYXRh
QXJyYXksIG1lc3NhZ2U6IG1lc3NhZ2VBcnJheSwgZGVmYXVsdFVSTDogJ2RlZmF1bHRVUkwnLCBl
cnJvckNvZGU6IGVycm9yT2JqZWN0LCBzeXN0ZW1Db2RlOiAxMjMgfSkuY2FuY2VsYWJsZSIsICJ0
cnVlIik7CisgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIm5ldyBNZWRpYUtleUV2
ZW50KCdNZWRpYUtleUV2ZW50JywgeyBrZXlTeXN0ZW06ICdrZXlTeXN0ZW0nLCBzZXNzaW9uSWQ6
ICdzZXNzaW9uSWQnLCBpbml0RGF0YTogaW5pdERhdGFBcnJheSwgbWVzc2FnZTogbWVzc2FnZUFy
cmF5LCBkZWZhdWx0VVJMOiAnZGVmYXVsdFVSTCcsIGVycm9yQ29kZTogZXJyb3JPYmplY3QsIHN5
c3RlbUNvZGU6IDEyMyB9KS5rZXlTeXN0ZW0iLCAia2V5U3lzdGVtIik7CisgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoIm5ldyBNZWRpYUtleUV2ZW50KCdNZWRpYUtleUV2ZW50Jywg
eyBrZXlTeXN0ZW06ICdrZXlTeXN0ZW0nLCBzZXNzaW9uSWQ6ICdzZXNzaW9uSWQnLCBpbml0RGF0
YTogaW5pdERhdGFBcnJheSwgbWVzc2FnZTogbWVzc2FnZUFycmF5LCBkZWZhdWx0VVJMOiAnZGVm
YXVsdFVSTCcsIGVycm9yQ29kZTogZXJyb3JPYmplY3QsIHN5c3RlbUNvZGU6IDEyMyB9KS5zZXNz
aW9uSWQiLCAic2Vzc2lvbklkIik7CisgICAgICAgICAgICBzaG91bGRCZSgibmV3IE1lZGlhS2V5
RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGtleVN5c3RlbTogJ2tleVN5c3RlbScsIHNlc3Npb25J
ZDogJ3Nlc3Npb25JZCcsIGluaXREYXRhOiBpbml0RGF0YUFycmF5LCBtZXNzYWdlOiBtZXNzYWdl
QXJyYXksIGRlZmF1bHRVUkw6ICdkZWZhdWx0VVJMJywgZXJyb3JDb2RlOiBlcnJvck9iamVjdCwg
c3lzdGVtQ29kZTogMTIzIH0pLmluaXREYXRhIiwgImluaXREYXRhQXJyYXkiKTsKKyAgICAgICAg
ICAgIHNob3VsZEJlKCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsga2V5U3lz
dGVtOiAna2V5U3lzdGVtJywgc2Vzc2lvbklkOiAnc2Vzc2lvbklkJywgaW5pdERhdGE6IGluaXRE
YXRhQXJyYXksIG1lc3NhZ2U6IG1lc3NhZ2VBcnJheSwgZGVmYXVsdFVSTDogJ2RlZmF1bHRVUkwn
LCBlcnJvckNvZGU6IGVycm9yT2JqZWN0LCBzeXN0ZW1Db2RlOiAxMjMgfSkubWVzc2FnZSIsICJt
ZXNzYWdlQXJyYXkiKTsKKyAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygibmV3IE1l
ZGlhS2V5RXZlbnQoJ01lZGlhS2V5RXZlbnQnLCB7IGtleVN5c3RlbTogJ2tleVN5c3RlbScsIHNl
c3Npb25JZDogJ3Nlc3Npb25JZCcsIGluaXREYXRhOiBpbml0RGF0YUFycmF5LCBtZXNzYWdlOiBt
ZXNzYWdlQXJyYXksIGRlZmF1bHRVUkw6ICdkZWZhdWx0VVJMJywgZXJyb3JDb2RlOiBlcnJvck9i
amVjdCwgc3lzdGVtQ29kZTogMTIzIH0pLmRlZmF1bHRVUkwiLCAiZGVmYXVsdFVSTCIpOworICAg
ICAgICAgICAgLy8gRklYTUUoODI5ODgpOiBUaGVzZSB0d28gZmFpbC4KKyAgICAgICAgICAgIHNo
b3VsZEJlKCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlFdmVudCcsIHsga2V5U3lzdGVtOiAn
a2V5U3lzdGVtJywgc2Vzc2lvbklkOiAnc2Vzc2lvbklkJywgaW5pdERhdGE6IGluaXREYXRhQXJy
YXksIG1lc3NhZ2U6IG1lc3NhZ2VBcnJheSwgZGVmYXVsdFVSTDogJ2RlZmF1bHRVUkwnLCBlcnJv
ckNvZGU6IGVycm9yT2JqZWN0LCBzeXN0ZW1Db2RlOiAxMjMgfSkuZXJyb3JDb2RlIiwgImVycm9y
T2JqZWN0Iik7CisgICAgICAgICAgICBzaG91bGRCZSgibmV3IE1lZGlhS2V5RXZlbnQoJ01lZGlh
S2V5RXZlbnQnLCB7IGtleVN5c3RlbTogJ2tleVN5c3RlbScsIHNlc3Npb25JZDogJ3Nlc3Npb25J
ZCcsIGluaXREYXRhOiBpbml0RGF0YUFycmF5LCBtZXNzYWdlOiBtZXNzYWdlQXJyYXksIGRlZmF1
bHRVUkw6ICdkZWZhdWx0VVJMJywgZXJyb3JDb2RlOiBlcnJvck9iamVjdCwgc3lzdGVtQ29kZTog
MTIzIH0pLmVycm9yQ29kZS5jb2RlIiwgIk1lZGlhS2V5RXJyb3IuTUVESUFfS0VZRVJSX1VOS05P
V04iKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJuZXcgTWVkaWFLZXlFdmVudCgnTWVkaWFLZXlF
dmVudCcsIHsga2V5U3lzdGVtOiAna2V5U3lzdGVtJywgc2Vzc2lvbklkOiAnc2Vzc2lvbklkJywg
aW5pdERhdGE6IGluaXREYXRhQXJyYXksIG1lc3NhZ2U6IG1lc3NhZ2VBcnJheSwgZGVmYXVsdFVS
TDogJ2RlZmF1bHRVUkwnLCBlcnJvckNvZGU6IGVycm9yT2JqZWN0LCBzeXN0ZW1Db2RlOiAxMjMg
fSkuc3lzdGVtQ29kZSIsICIxMjMiKTsKKworICAgICAgICAgICAgZGVidWcoIiIpOworICAgICAg
ICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgIH0KKworICAgICAgICB2YXIgaW5pdERhdGFB
cnJheSA9IG5ldyBVaW50OEFycmF5KFsweDQxLCAweDQyLCAweDQzXSk7CisgICAgICAgIHZhciBt
ZXNzYWdlQXJyYXkgPSBuZXcgVWludDhBcnJheShbMHg1MSwgMHg1MiwgMHg1M10pOworICAgICAg
ICAvLyBGSVhNRSg4Mjk4OCk6IFRoaXMgZG9lcyBub3QgY3JlYXRlIGFuIGVycm9yIGxpa2Ugd2Ug
d2FudC4KKyAgICAgICAgdmFyIGVycm9yT2JqZWN0ID0gd2luZG93Lk1lZGlhS2V5RXJyb3I7Cisg
ICAgICAgIC8vIHNob3VsZEJlKCJ0eXBlb2YgZXJyb3JPYmplY3QiLCBUQkQpOworCisgICAgICAg
IHZpZGVvID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndmlkZW8nKTsKKyAgICAgICAgZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZCh2aWRlbyk7CisKKyAgICAgICAgdGVzdCgpCisgICAgPC9zY3Jp
cHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyBiL0xheW91dFRlc3RzL2Zhc3QvanMvcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzCmluZGV4IDAzNmU3NmEyNzFkM2MyNDMyYzhhYjQ1YjVmMmY3
Yzk2NmM2YWMwNzMuLjBhYTQxN2RmMDZkNjY3ODQ0MjFkZmY5MDE3Mzk0ZWYyY2Q2OTcwN2IgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzCkBAIC0yNTQs
NiArMjU0LDcgQEAgZnVuY3Rpb24gc2hvdWxkQmVUcnVlUXVpZXQoX2EpIHsgc2hvdWxkQmUoX2Es
ICJ0cnVlIiwgdHJ1ZSk7IH0KIGZ1bmN0aW9uIHNob3VsZEJlRmFsc2UoX2EpIHsgc2hvdWxkQmUo
X2EsICJmYWxzZSIpOyB9CiBmdW5jdGlvbiBzaG91bGRCZU5hTihfYSkgeyBzaG91bGRCZShfYSwg
Ik5hTiIpOyB9CiBmdW5jdGlvbiBzaG91bGRCZU51bGwoX2EpIHsgc2hvdWxkQmUoX2EsICJudWxs
Iik7IH0KK2Z1bmN0aW9uIHNob3VsZEJlWmVybyhfYSkgeyBzaG91bGRCZShfYSwgIjAiKTsgfQog
CiBmdW5jdGlvbiBzaG91bGRCZUVxdWFsVG9TdHJpbmcoYSwgYikKIHsKQEAgLTI2MSw2ICsyNjIs
OCBAQCBmdW5jdGlvbiBzaG91bGRCZUVxdWFsVG9TdHJpbmcoYSwgYikKICAgc2hvdWxkQmUoYSwg
dW5ldmFsZWRTdHJpbmcpOwogfQogCitmdW5jdGlvbiBzaG91bGRCZUVtcHR5U3RyaW5nKF9hKSB7
IHNob3VsZEJlRXF1YWxUb1N0cmluZyhfYSwgIiIpOyB9CisKIGZ1bmN0aW9uIHNob3VsZEV2YWx1
YXRlVG8oYWN0dWFsLCBleHBlY3RlZCkgewogICAvLyBBIGdlbmVyYWwtcHVycG9zZSBjb21wYXJh
dG9yLiAgJ2FjdHVhbCcgc2hvdWxkIGJlIGEgc3RyaW5nIHRvIGJlCiAgIC8vIGV2YWx1YXRlZCwg
YXMgZm9yIHNob3VsZEJlKCkuICdleHBlY3RlZCcgbWF5IGJlIGFueSB0eXBlIGFuZCB3aWxsIGJl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS9lbmNyeXB0ZWQtbWVkaWEvZW5jcnlwdGVk
LW1lZGlhLWNvbnN0YW50cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9tZWRpYS9lbmNyeXB0
ZWQtbWVkaWEvZW5jcnlwdGVkLW1lZGlhLWNvbnN0YW50cy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjM5NDBhZDNjMWJkNWU4ZDVhYmEyY2Q3ZjI1YTA3NjNmZDVkNWUxNQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL21lZGlhL2VuY3J5cHRlZC1tZWRpYS9lbmNyeXB0ZWQtbWVkaWEt
Y29uc3RhbnRzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEyIEBACitUZXN0IE1lZGlhS2V5RXJy
b3IgY29uc3RhbnRzIGFuZCBhZGRpdGlvbmFsIE1lZGlhRXJyb3IgY29uc3RhbnQuCisKK0VYUEVD
VEVEIChNZWRpYUtleUVycm9yLk1FRElBX0tFWUVSUl9VTktOT1dOID09ICcxJykgT0sKK0VYUEVD
VEVEIChNZWRpYUtleUVycm9yLk1FRElBX0tFWUVSUl9DTElFTlQgPT0gJzInKSBPSworRVhQRUNU
RUQgKE1lZGlhS2V5RXJyb3IuTUVESUFfS0VZRVJSX1NFUlZJQ0UgPT0gJzMnKSBPSworRVhQRUNU
RUQgKE1lZGlhS2V5RXJyb3IuTUVESUFfS0VZRVJSX09VVFBVVCA9PSAnNCcpIE9LCitFWFBFQ1RF
RCAoTWVkaWFLZXlFcnJvci5NRURJQV9LRVlFUlJfSEFSRFdBUkVDSEFOR0UgPT0gJzUnKSBPSwor
RVhQRUNURUQgKE1lZGlhS2V5RXJyb3IuTUVESUFfS0VZRVJSX0RPTUFJTiA9PSAnNicpIE9LCisK
K0VYUEVDVEVEIChNZWRpYUVycm9yLk1FRElBX0VSUl9FTkNSWVBURUQgPT0gJzUnKSBPSworRU5E
IE9GIFRFU1QKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvZW5jcnlwdGVkLW1lZGlh
L2VuY3J5cHRlZC1tZWRpYS1jb25zdGFudHMuaHRtbCBiL0xheW91dFRlc3RzL21lZGlhL2VuY3J5
cHRlZC1tZWRpYS9lbmNyeXB0ZWQtbWVkaWEtY29uc3RhbnRzLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGNi
Njk3YTk1NmJhOWNlZTY3N2U1ZjI5MTE4YzExYjc0ZTNhNjY0NwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL21lZGlhL2VuY3J5cHRlZC1tZWRpYS9lbmNyeXB0ZWQtbWVkaWEtY29uc3Rh
bnRzLmh0bWwKQEAgLTAsMCArMSwyNSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorICAgIDxzY3JpcHQgc3JjPS4uL3ZpZGVvLXRlc3QuanM+PC9zY3JpcHQ+CisgICAgPHNjcmlw
dCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorICAgICAgICBmdW5jdGlvbiBkb1Rlc3QgKCkgCisg
ICAgICAgIHsKKyAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgiTWVkaWFLZXlFcnJvci5NRURJQV9L
RVlFUlJfVU5LTk9XTiIsIDEpOworICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJNZWRpYUtleUVy
cm9yLk1FRElBX0tFWUVSUl9DTElFTlQiLCAyKTsKKyAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgi
TWVkaWFLZXlFcnJvci5NRURJQV9LRVlFUlJfU0VSVklDRSIsIDMpOworICAgICAgICAgICAgdGVz
dEV4cGVjdGVkKCJNZWRpYUtleUVycm9yLk1FRElBX0tFWUVSUl9PVVRQVVQiLCA0KTsKKyAgICAg
ICAgICAgIHRlc3RFeHBlY3RlZCgiTWVkaWFLZXlFcnJvci5NRURJQV9LRVlFUlJfSEFSRFdBUkVD
SEFOR0UiLCA1KTsKKyAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgiTWVkaWFLZXlFcnJvci5NRURJ
QV9LRVlFUlJfRE9NQUlOIiwgNik7CisgICAgICAgICAgICBjb25zb2xlV3JpdGUoIiIpOworCisg
ICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoIk1lZGlhRXJyb3IuTUVESUFfRVJSX0VOQ1JZUFRFRCIs
IDUpOworCisgICAgICAgICAgICBlbmRUZXN0KCk7CisgICAgICAgIH0KKyAgICA8L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5IG9ubG9hZD0iZG9UZXN0KCkiPgorICAgIDxwPlRlc3QgTWVkaWFLZXlF
cnJvciBjb25zdGFudHMgYW5kIGFkZGl0aW9uYWwgTWVkaWFFcnJvciBjb25zdGFudC48L3A+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS9lbmNyeXB0ZWQt
bWVkaWEvZW5jcnlwdGVkLW1lZGlhLWV2ZW50cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9t
ZWRpYS9lbmNyeXB0ZWQtbWVkaWEvZW5jcnlwdGVkLW1lZGlhLWV2ZW50cy1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2E4NDEyNmRmYzQzMjE5NjkwYmIzMjE1MjFkMjBiNzE4MTIyNDUwMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL21lZGlhL2VuY3J5cHRlZC1tZWRpYS9lbmNyeXB0
ZWQtbWVkaWEtZXZlbnRzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEyOCBAQAorVGVzdCBhbGwg
dGhlIGtleS1yZWxhdGVkIGV2ZW50cy4KKworKioqIFZlcmlmeSB0aGUgcHJlc2VuY2Ugb2Ygb24q
IGF0dHJpYnV0ZXMuIFRoZXNlIHdvdWxkIHJldHVybiB1bmRlZmluZWQgaWYgdGhleSBhcmUgbm90
IHByZXNlbnQuICoqKgorRVhQRUNURUQgKHZpZGVvLm9ud2Via2l0a2V5YWRkZWQgPT09ICdudWxs
JykgT0sKK0VYUEVDVEVEICh2aWRlby5vbndlYmtpdGtleWVycm9yID09PSAnbnVsbCcpIE9LCitF
WFBFQ1RFRCAodmlkZW8ub253ZWJraXRrZXltZXNzYWdlID09PSAnbnVsbCcpIE9LCitFWFBFQ1RF
RCAodmlkZW8ub253ZWJraXRuZWVka2V5ID09PSAnbnVsbCcpIE9LCisKKyoqKiBUZXN0IGV2ZW50
cyB1c2luZyBvbiogYXR0cmlidXRlcy4gKioqCitFVkVOVChsb2Fkc3RhcnQpCisKK1JVTih2aWRl
by53ZWJraXRHZW5lcmF0ZUtleVJlcXVlc3QoJ3dlYmtpdC1vcmcudzMuY2xlYXJrZXknLCBpbml0
RGF0YSkpCitrZXltZXNzYWdlIGV2ZW50IG9jY3VycmVkCitFWFBFQ1RFRCAoZXZlbnQudGFyZ2V0
ID09ICdbb2JqZWN0IEhUTUxWaWRlb0VsZW1lbnRdJykgT0sKK0VYUEVDVEVEIChldmVudCBpbnN0
YW5jZW9mIHdpbmRvdy5NZWRpYUtleUV2ZW50ID09ICd0cnVlJykgT0sKK0VYUEVDVEVEIChldmVu
dC5rZXlTeXN0ZW0gPT0gJ3dlYmtpdC1vcmcudzMuY2xlYXJrZXknKSBPSworVGhlIHNlc3Npb25J
ZCBzaG91bGQgYmUgYSBub24tZW1wdHkgc3RyaW5nIGNvbnRhaW5pbmcgYW4gaW50ZWdlci4KK0VY
UEVDVEVEIChldmVudC5zZXNzaW9uSWQgIT0gJycpIE9LCitFWFBFQ1RFRCAoZXZlbnQuc2Vzc2lv
bklkICE9ICdudWxsJykgT0sKK0VYUEVDVEVEIChldmVudC5zZXNzaW9uSWQgIT0gJ3VuZGVmaW5l
ZCcpIE9LCitFWFBFQ1RFRCAoaXNOYU4oZXZlbnQuc2Vzc2lvbklkKSA9PSAnZmFsc2UnKSBPSwor
RVhQRUNURUQgKFN0cmluZyhldmVudC5zZXNzaW9uSWQpID09IFN0cmluZyhwYXJzZUludChldmVu
dC5zZXNzaW9uSWQpKSA9PSAndHJ1ZScpIE9LCitJbXBsZW1lbnRhdGlvbnMgc2hvdWxkIGF2b2lk
IHNlc3Npb25JZHMgb2YgMC4KK0VYUEVDVEVEIChldmVudC5zZXNzaW9uSWQgPiAnMCcpIE9LCitF
WFBFQ1RFRCAoZXZlbnQuaW5pdERhdGEgPT09ICdudWxsJykgT0sKK0VYUEVDVEVEIChldmVudC5t
ZXNzYWdlLmxlbmd0aCA9PSAnMycpIE9LCitFWFBFQ1RFRCAoZXZlbnQubWVzc2FnZVswXSA9PSAn
NjUnKSBPSworRVhQRUNURUQgKGV2ZW50Lm1lc3NhZ2VbMV0gPT0gJzY2JykgT0sKK0VYUEVDVEVE
IChldmVudC5tZXNzYWdlWzJdID09ICc2NycpIE9LCitFWFBFQ1RFRCAoZXZlbnQuZGVmYXVsdFVS
TCA9PSAnJykgT0sKK0VYUEVDVEVEIChldmVudC5lcnJvckNvZGUgPT09ICdudWxsJykgT0sKK0VY
UEVDVEVEIChldmVudC5zeXN0ZW1Db2RlID09ICcwJykgT0sKKworUlVOKHZpZGVvLndlYmtpdEFk
ZEtleSgnd2Via2l0LW9yZy53My5jbGVhcmtleScsIGtleSwgZXZlbnQuaW5pdERhdGEsIGV2ZW50
LnNlc3Npb25JZCkpCitrZXlhZGRlZCBldmVudCBvY2N1cnJlZAorRVhQRUNURUQgKGV2ZW50LnRh
cmdldCA9PSAnW29iamVjdCBIVE1MVmlkZW9FbGVtZW50XScpIE9LCitFWFBFQ1RFRCAoZXZlbnQg
aW5zdGFuY2VvZiB3aW5kb3cuTWVkaWFLZXlFdmVudCA9PSAndHJ1ZScpIE9LCitFWFBFQ1RFRCAo
ZXZlbnQua2V5U3lzdGVtID09ICd3ZWJraXQtb3JnLnczLmNsZWFya2V5JykgT0sKK0VYUEVDVEVE
IChldmVudC5zZXNzaW9uSWQgPT0ga2V5TWVzc2FnZVNlc3Npb25JZCA9PSAndHJ1ZScpIE9LCitF
WFBFQ1RFRCAoZXZlbnQuaW5pdERhdGEgPT09ICdudWxsJykgT0sKK0VYUEVDVEVEIChldmVudC5t
ZXNzYWdlID09PSAnbnVsbCcpIE9LCitFWFBFQ1RFRCAoZXZlbnQuZGVmYXVsdFVSTCA9PSAnJykg
T0sKK0VYUEVDVEVEIChldmVudC5lcnJvckNvZGUgPT09ICdudWxsJykgT0sKK0VYUEVDVEVEIChl
dmVudC5zeXN0ZW1Db2RlID09ICcwJykgT0sKKworUlVOKHZpZGVvLndlYmtpdEFkZEtleSgnd2Vi
a2l0LW9yZy53My5jbGVhcmtleScsIGludmFsaWRLZXksIG51bGwsIGV2ZW50LnNlc3Npb25JZCkp
CitrZXllcnJvciBldmVudCBvY2N1cnJlZAorRVhQRUNURUQgKGV2ZW50LnRhcmdldCA9PSAnW29i
amVjdCBIVE1MVmlkZW9FbGVtZW50XScpIE9LCitFWFBFQ1RFRCAoZXZlbnQgaW5zdGFuY2VvZiB3
aW5kb3cuTWVkaWFLZXlFdmVudCA9PSAndHJ1ZScpIE9LCitFWFBFQ1RFRCAoZXZlbnQua2V5U3lz
dGVtID09ICd3ZWJraXQtb3JnLnczLmNsZWFya2V5JykgT0sKK0VYUEVDVEVEIChldmVudC5zZXNz
aW9uSWQgPT0ga2V5TWVzc2FnZVNlc3Npb25JZCA9PSAndHJ1ZScpIE9LCitFWFBFQ1RFRCAoZXZl
bnQuaW5pdERhdGEgPT09ICdudWxsJykgT0sKK0VYUEVDVEVEIChldmVudC5tZXNzYWdlID09PSAn
bnVsbCcpIE9LCitFWFBFQ1RFRCAoZXZlbnQuZGVmYXVsdFVSTCA9PSAnJykgT0sKK0VYUEVDVEVE
IChldmVudC5lcnJvckNvZGUuY29kZSA9PSAnMScpIE9LCitFWFBFQ1RFRCAoZXZlbnQuc3lzdGVt
Q29kZSA9PSAnMCcpIE9LCisKKyoqKiBUZXN0IGV2ZW50cyB1c2luZyBhZGRFdmVudExpc3RlbmVy
KCkuICoqKgorRVZFTlQobG9hZHN0YXJ0KQorCitSVU4odmlkZW8ud2Via2l0R2VuZXJhdGVLZXlS
ZXF1ZXN0KCd3ZWJraXQtb3JnLnczLmNsZWFya2V5JywgaW5pdERhdGEpKQorRVZFTlQod2Via2l0
a2V5bWVzc2FnZSkKK2tleW1lc3NhZ2UgZXZlbnQgb2NjdXJyZWQKK0VYUEVDVEVEIChldmVudC50
YXJnZXQgPT0gJ1tvYmplY3QgSFRNTFZpZGVvRWxlbWVudF0nKSBPSworRVhQRUNURUQgKGV2ZW50
IGluc3RhbmNlb2Ygd2luZG93Lk1lZGlhS2V5RXZlbnQgPT0gJ3RydWUnKSBPSworRVhQRUNURUQg
KGV2ZW50LmtleVN5c3RlbSA9PSAnd2Via2l0LW9yZy53My5jbGVhcmtleScpIE9LCitUaGUgc2Vz
c2lvbklkIHNob3VsZCBiZSBhIG5vbi1lbXB0eSBzdHJpbmcgY29udGFpbmluZyBhbiBpbnRlZ2Vy
LgorRVhQRUNURUQgKGV2ZW50LnNlc3Npb25JZCAhPSAnJykgT0sKK0VYUEVDVEVEIChldmVudC5z
ZXNzaW9uSWQgIT0gJ251bGwnKSBPSworRVhQRUNURUQgKGV2ZW50LnNlc3Npb25JZCAhPSAndW5k
ZWZpbmVkJykgT0sKK0VYUEVDVEVEIChpc05hTihldmVudC5zZXNzaW9uSWQpID09ICdmYWxzZScp
IE9LCitFWFBFQ1RFRCAoU3RyaW5nKGV2ZW50LnNlc3Npb25JZCkgPT0gU3RyaW5nKHBhcnNlSW50
KGV2ZW50LnNlc3Npb25JZCkpID09ICd0cnVlJykgT0sKK0ltcGxlbWVudGF0aW9ucyBzaG91bGQg
YXZvaWQgc2Vzc2lvbklkcyBvZiAwLgorRVhQRUNURUQgKGV2ZW50LnNlc3Npb25JZCA+ICcwJykg
T0sKK1RoZSBzZXNzaW9uc0lkIHNob3VsZCBiZSBkaWZmZXJlbnQgZnJvbSB0aGUgZmlyc3QgcnVu
LgorRVhQRUNURUQgKGV2ZW50LnNlc3Npb25JZCAhPSAnMScpIE9LCitFWFBFQ1RFRCAoZXZlbnQu
aW5pdERhdGEgPT09ICdudWxsJykgT0sKK0VYUEVDVEVEIChldmVudC5tZXNzYWdlLmxlbmd0aCA9
PSAnMycpIE9LCitFWFBFQ1RFRCAoZXZlbnQubWVzc2FnZVswXSA9PSAnNjUnKSBPSworRVhQRUNU
RUQgKGV2ZW50Lm1lc3NhZ2VbMV0gPT0gJzY2JykgT0sKK0VYUEVDVEVEIChldmVudC5tZXNzYWdl
WzJdID09ICc2NycpIE9LCitFWFBFQ1RFRCAoZXZlbnQuZGVmYXVsdFVSTCA9PSAnJykgT0sKK0VY
UEVDVEVEIChldmVudC5lcnJvckNvZGUgPT09ICdudWxsJykgT0sKK0VYUEVDVEVEIChldmVudC5z
eXN0ZW1Db2RlID09ICcwJykgT0sKKworUlVOKHZpZGVvLndlYmtpdEFkZEtleSgnd2Via2l0LW9y
Zy53My5jbGVhcmtleScsIGtleSwgZXZlbnQuaW5pdERhdGEsIGV2ZW50LnNlc3Npb25JZCkpCitF
VkVOVCh3ZWJraXRrZXlhZGRlZCkKK2tleWFkZGVkIGV2ZW50IG9jY3VycmVkCitFWFBFQ1RFRCAo
ZXZlbnQudGFyZ2V0ID09ICdbb2JqZWN0IEhUTUxWaWRlb0VsZW1lbnRdJykgT0sKK0VYUEVDVEVE
IChldmVudCBpbnN0YW5jZW9mIHdpbmRvdy5NZWRpYUtleUV2ZW50ID09ICd0cnVlJykgT0sKK0VY
UEVDVEVEIChldmVudC5rZXlTeXN0ZW0gPT0gJ3dlYmtpdC1vcmcudzMuY2xlYXJrZXknKSBPSwor
RVhQRUNURUQgKGV2ZW50LnNlc3Npb25JZCA9PSBrZXlNZXNzYWdlU2Vzc2lvbklkID09ICd0cnVl
JykgT0sKK0VYUEVDVEVEIChldmVudC5pbml0RGF0YSA9PT0gJ251bGwnKSBPSworRVhQRUNURUQg
KGV2ZW50Lm1lc3NhZ2UgPT09ICdudWxsJykgT0sKK0VYUEVDVEVEIChldmVudC5kZWZhdWx0VVJM
ID09ICcnKSBPSworRVhQRUNURUQgKGV2ZW50LmVycm9yQ29kZSA9PT0gJ251bGwnKSBPSworRVhQ
RUNURUQgKGV2ZW50LnN5c3RlbUNvZGUgPT0gJzAnKSBPSworCitSVU4odmlkZW8ud2Via2l0QWRk
S2V5KCd3ZWJraXQtb3JnLnczLmNsZWFya2V5JywgaW52YWxpZEtleSwgbnVsbCwgZXZlbnQuc2Vz
c2lvbklkKSkKK0VWRU5UKHdlYmtpdGtleWVycm9yKQora2V5ZXJyb3IgZXZlbnQgb2NjdXJyZWQK
K0VYUEVDVEVEIChldmVudC50YXJnZXQgPT0gJ1tvYmplY3QgSFRNTFZpZGVvRWxlbWVudF0nKSBP
SworRVhQRUNURUQgKGV2ZW50IGluc3RhbmNlb2Ygd2luZG93Lk1lZGlhS2V5RXZlbnQgPT0gJ3Ry
dWUnKSBPSworRVhQRUNURUQgKGV2ZW50LmtleVN5c3RlbSA9PSAnd2Via2l0LW9yZy53My5jbGVh
cmtleScpIE9LCitFWFBFQ1RFRCAoZXZlbnQuc2Vzc2lvbklkID09IGtleU1lc3NhZ2VTZXNzaW9u
SWQgPT0gJ3RydWUnKSBPSworRVhQRUNURUQgKGV2ZW50LmluaXREYXRhID09PSAnbnVsbCcpIE9L
CitFWFBFQ1RFRCAoZXZlbnQubWVzc2FnZSA9PT0gJ251bGwnKSBPSworRVhQRUNURUQgKGV2ZW50
LmRlZmF1bHRVUkwgPT0gJycpIE9LCitFWFBFQ1RFRCAoZXZlbnQuZXJyb3JDb2RlLmNvZGUgPT0g
JzEnKSBPSworRVhQRUNURUQgKGV2ZW50LnN5c3RlbUNvZGUgPT0gJzAnKSBPSworCitBdHRyaWJ1
dGVzIGFyZSByZWFkLW9ubHkuCitSVU4oZXZlbnQua2V5U3lzdGVtID0gJ2JsYWgnKQorUlVOKGV2
ZW50LnNlc3Npb25JZCA9ICdibGFoJykKK1JVTihldmVudC5pbml0RGF0YSA9IG5ldyBVaW50OEFy
cmF5KFsweDEyXSkpCitSVU4oZXZlbnQubWVzc2FnZSA9IG5ldyBVaW50OEFycmF5KFsweDEyXSkp
CitSVU4oZXZlbnQuZGVmYXVsdFVSTCA9ICdleGFtcGxlLmNvbScpCitSVU4oZXZlbnQuZXJyb3JD
b2RlLmNvZGUgPSBNZWRpYUtleUVycm9yLk1FRElBX0tFWUVSUl9DTElFTlQpCitSVU4oZXZlbnQu
c3lzdGVtQ29kZSA9IDEyMykKK0VYUEVDVEVEIChldmVudC5rZXlTeXN0ZW0gPT0gJ3dlYmtpdC1v
cmcudzMuY2xlYXJrZXknKSBPSworRVhQRUNURUQgKGV2ZW50LnNlc3Npb25JZCA9PSBrZXlNZXNz
YWdlU2Vzc2lvbklkID09ICd0cnVlJykgT0sKK0VYUEVDVEVEIChldmVudC5pbml0RGF0YSA9PT0g
J251bGwnKSBPSworRVhQRUNURUQgKGV2ZW50Lm1lc3NhZ2UgPT09ICdudWxsJykgT0sKK0VYUEVD
VEVEIChldmVudC5kZWZhdWx0VVJMID09ICcnKSBPSworRVhQRUNURUQgKGV2ZW50LmVycm9yQ29k
ZS5jb2RlID09ICcxJykgT0sKK0VYUEVDVEVEIChldmVudC5zeXN0ZW1Db2RlID09ICcwJykgT0sK
K0VORCBPRiBURVNUCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL2VuY3J5cHRlZC1t
ZWRpYS9lbmNyeXB0ZWQtbWVkaWEtZXZlbnRzLmh0bWwgYi9MYXlvdXRUZXN0cy9tZWRpYS9lbmNy
eXB0ZWQtbWVkaWEvZW5jcnlwdGVkLW1lZGlhLWV2ZW50cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjljNDMw
MzUzNjI3ZmE4NzkxNmI0OTRlNzJlYWE5OTQwNWFmYjkxYmUKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9tZWRpYS9lbmNyeXB0ZWQtbWVkaWEvZW5jcnlwdGVkLW1lZGlhLWV2ZW50cy5o
dG1sCkBAIC0wLDAgKzEsMTk3IEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1sIGxhbmc9ImVuIj4K
KyAgICA8aGVhZD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDx2aWRlbz48L3Zp
ZGVvPgorICAgICAgICA8cD5UZXN0IGFsbCB0aGUga2V5LXJlbGF0ZWQgZXZlbnRzLjwvcD4KKwor
ICAgICAgICA8c2NyaXB0IHNyYz0uLi9tZWRpYS1maWxlLmpzPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0uLi92aWRlby10ZXN0LmpzPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0Pgor
ICAgICAgICAgICAgLy8gVGhlIHRlc3QgcnVucyB0d2ljZSwgb25jZSB1c2luZyBvbiogYW5kIHRo
ZW4gdXNpbmcgYWRkRXZlbnRMaXN0ZW5lcigpLgorICAgICAgICAgICAgdmFyIGlzRmlyc3RSdW4g
PSB0cnVlOworCisgICAgICAgICAgICB2YXIgaW5pdERhdGEgPSBuZXcgVWludDhBcnJheShbMHg0
MSwgMHg0MiwgMHg0M10pOworICAgICAgICAgICAgLy8gMTI4IGJpdCBrZXkuCisgICAgICAgICAg
ICB2YXIga2V5ID0gbmV3IFVpbnQ4QXJyYXkoWzB4NjEsIDB4NjIsIDB4NjMsIDB4NjQsIDB4NjUs
IDB4NjYsIDB4NjcsIDB4NjgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IDB4NjksIDB4NmEsIDB4NmIsIDB4NmMsIDB4NmQsIDB4NmUsIDB4NmYsIDB4NzBdKTsKKyAgICAg
ICAgICAgIC8vIFRoaXMga2V5IHdpbGwgY2F1c2UgYW4gYXN5bmNocm9ub3VzIGVycm9yIGJlY2F1
c2UgaXQgaXMgdG9vIHNob3J0LgorICAgICAgICAgICAgdmFyIGludmFsaWRLZXkgPSBuZXcgVWlu
dDhBcnJheShbMHg2MV0pOworCisgICAgICAgICAgICAvLyBBZnRlciB0aGUgZmlyc3Qga2V5TWVz
c2FnZSBldmVudCwgdGhlIHNlc3Npb25JZCBzaG91bGQgYWx3YXlzIGJlIHRoZSBzYW1lLgorICAg
ICAgICAgICAgLy8gSW5pdGlhbGl6ZSBpdCB0byBhbiBpbnZhbGlkIHZhbHVlIHVudGlsIHRoZW4u
CisgICAgICAgICAgICB2YXIga2V5TWVzc2FnZVNlc3Npb25JZCA9IC0xOworICAgICAgICAgICAg
Ly8gUmVtZW1iZXIgdGhlIGZpcnN0IElEIHRvIG1ha2Ugc3VyZSB0aGUgc2Vjb25kIG9uZSBpcyBk
aWZmZXJlbnQuCisgICAgICAgICAgICB2YXIgZmlyc3RSdW5LZXlNZXNzYWdlU2Vzc2lvbklkID0g
LTE7CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIGtleUFkZGVkKGV2ZW50KQorICAgICAgICAgICAg
eworICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgia2V5YWRkZWQgZXZlbnQgb2NjdXJyZWQi
KTsKKworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgiZXZlbnQudGFyZ2V0IiwgdmlkZW8p
OworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgiZXZlbnQgaW5zdGFuY2VvZiB3aW5kb3cu
TWVkaWFLZXlFdmVudCIsIHRydWUpOworCisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJl
dmVudC5rZXlTeXN0ZW0iLCAid2Via2l0LW9yZy53My5jbGVhcmtleSIpOworICAgICAgICAgICAg
ICAgIHRlc3RFeHBlY3RlZCgiZXZlbnQuc2Vzc2lvbklkID09IGtleU1lc3NhZ2VTZXNzaW9uSWQi
LCB0cnVlKTsKKyAgICAgICAgICAgICAgICAvLyBUaGUgb3RoZXIgYXR0cmlidXRlcyBhcmUgbm90
IHVzZWQgZm9yIHRoaXMgZXZlbnQuCisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJldmVu
dC5pbml0RGF0YSIsIG51bGwsICI9PT0iKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQo
ImV2ZW50Lm1lc3NhZ2UiLCBudWxsLCAiPT09Iik7CisgICAgICAgICAgICAgICAgdGVzdEV4cGVj
dGVkKCJldmVudC5kZWZhdWx0VVJMIiwgIiIpOworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3Rl
ZCgiZXZlbnQuZXJyb3JDb2RlIiwgbnVsbCwgIj09PSIpOworICAgICAgICAgICAgICAgIHRlc3RF
eHBlY3RlZCgiZXZlbnQuc3lzdGVtQ29kZSIsIDApOworCisgICAgICAgICAgICAgICAgY29uc29s
ZVdyaXRlKCIiKTsKKyAgICAgICAgICAgICAgICAvLyBDYXVzZSBhIGtleWVycm9yIGJ5IHBhc3Np
bmcgYW4gaW52YWxpZCBrZXkuCisgICAgICAgICAgICAgICAgcnVuKCJ2aWRlby53ZWJraXRBZGRL
ZXkoJ3dlYmtpdC1vcmcudzMuY2xlYXJrZXknLCBpbnZhbGlkS2V5LCBudWxsLCBldmVudC5zZXNz
aW9uSWQpIik7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIGtleUVycm9y
KGV2ZW50KQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgia2V5
ZXJyb3IgZXZlbnQgb2NjdXJyZWQiKTsKKworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgi
ZXZlbnQudGFyZ2V0IiwgdmlkZW8pOworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgiZXZl
bnQgaW5zdGFuY2VvZiB3aW5kb3cuTWVkaWFLZXlFdmVudCIsIHRydWUpOworCisgICAgICAgICAg
ICAgICAgdGVzdEV4cGVjdGVkKCJldmVudC5rZXlTeXN0ZW0iLCAid2Via2l0LW9yZy53My5jbGVh
cmtleSIpOworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgiZXZlbnQuc2Vzc2lvbklkID09
IGtleU1lc3NhZ2VTZXNzaW9uSWQiLCB0cnVlKTsKKyAgICAgICAgICAgICAgICAvLyBUaGUgbmV4
dCB0aHJlZSBhdHRyaWJ1dGVzIGFyZSBub3QgdXNlZCBmb3IgdGhpcyBldmVudC4KKyAgICAgICAg
ICAgICAgICB0ZXN0RXhwZWN0ZWQoImV2ZW50LmluaXREYXRhIiwgbnVsbCwgIj09PSIpOworICAg
ICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgiZXZlbnQubWVzc2FnZSIsIG51bGwsICI9PT0iKTsK
KyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoImV2ZW50LmRlZmF1bHRVUkwiLCAiIik7Cisg
ICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJldmVudC5lcnJvckNvZGUuY29kZSIsIE1lZGlh
S2V5RXJyb3IuTUVESUFfS0VZRVJSX1VOS05PV04pOworICAgICAgICAgICAgICAgIC8vIHN5c3Rl
bUNvZGUgaXMgbm90IHN1cHBvcnRlZCBieSB0aGUgQ2xlYXIgS2V5IGtleSBzeXN0ZW0uCisgICAg
ICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJldmVudC5zeXN0ZW1Db2RlIiwgMCk7CisKKyAgICAg
ICAgICAgICAgICBpZiAoaXNGaXJzdFJ1bikgeworICAgICAgICAgICAgICAgICAgICBpc0ZpcnN0
UnVuID0gZmFsc2U7CisgICAgICAgICAgICAgICAgICAgIHJ1blRlc3QoKTsKKyAgICAgICAgICAg
ICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIiIpOworICAg
ICAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIkF0dHJpYnV0ZXMgYXJlIHJlYWQtb25seS4i
KTsKKyAgICAgICAgICAgICAgICAgICAgcnVuKCJldmVudC5rZXlTeXN0ZW0gPSAnYmxhaCciKTsK
KyAgICAgICAgICAgICAgICAgICAgcnVuKCJldmVudC5zZXNzaW9uSWQgPSAnYmxhaCciKTsKKyAg
ICAgICAgICAgICAgICAgICAgcnVuKCJldmVudC5pbml0RGF0YSA9IG5ldyBVaW50OEFycmF5KFsw
eDEyXSkiKTsKKyAgICAgICAgICAgICAgICAgICAgcnVuKCJldmVudC5tZXNzYWdlICA9IG5ldyBV
aW50OEFycmF5KFsweDEyXSkiKTsKKyAgICAgICAgICAgICAgICAgICAgcnVuKCJldmVudC5kZWZh
dWx0VVJMID0gJ2V4YW1wbGUuY29tJyIpOworICAgICAgICAgICAgICAgICAgICBydW4oImV2ZW50
LmVycm9yQ29kZS5jb2RlID0gTWVkaWFLZXlFcnJvci5NRURJQV9LRVlFUlJfQ0xJRU5UIik7Cisg
ICAgICAgICAgICAgICAgICAgIHJ1bigiZXZlbnQuc3lzdGVtQ29kZSA9IDEyMyIpOworCisgICAg
ICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgiZXZlbnQua2V5U3lzdGVtIiwgIndlYmtpdC1v
cmcudzMuY2xlYXJrZXkiKTsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJldmVu
dC5zZXNzaW9uSWQgPT0ga2V5TWVzc2FnZVNlc3Npb25JZCIsIHRydWUpOworICAgICAgICAgICAg
ICAgICAgICB0ZXN0RXhwZWN0ZWQoImV2ZW50LmluaXREYXRhIiwgbnVsbCwgIj09PSIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoImV2ZW50Lm1lc3NhZ2UiLCBudWxsLCAiPT09
Iik7CisgICAgICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgiZXZlbnQuZGVmYXVsdFVSTCIs
ICIiKTsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJldmVudC5lcnJvckNvZGUu
Y29kZSIsIE1lZGlhS2V5RXJyb3IuTUVESUFfS0VZRVJSX1VOS05PV04pOworICAgICAgICAgICAg
ICAgICAgICB0ZXN0RXhwZWN0ZWQoImV2ZW50LnN5c3RlbUNvZGUiLCAwKTsKKworICAgICAgICAg
ICAgICAgICAgICBlbmRUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQor
CisgICAgICAgICAgICBmdW5jdGlvbiBrZXlNZXNzYWdlKGV2ZW50KQorICAgICAgICAgICAgewor
ICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgia2V5bWVzc2FnZSBldmVudCBvY2N1cnJlZCIp
OworCisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJldmVudC50YXJnZXQiLCB2aWRlbyk7
CisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJldmVudCBpbnN0YW5jZW9mIHdpbmRvdy5N
ZWRpYUtleUV2ZW50IiwgdHJ1ZSk7CisKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoImV2
ZW50LmtleVN5c3RlbSIsICJ3ZWJraXQtb3JnLnczLmNsZWFya2V5Iik7CisKKyAgICAgICAgICAg
ICAgICBjb25zb2xlV3JpdGUoIlRoZSBzZXNzaW9uSWQgc2hvdWxkIGJlIGEgbm9uLWVtcHR5IHN0
cmluZyBjb250YWluaW5nIGFuIGludGVnZXIuIik7CisgICAgICAgICAgICAgICAgdGVzdEV4cGVj
dGVkKCJldmVudC5zZXNzaW9uSWQiLCAiIiwgIiE9Iik7CisgICAgICAgICAgICAgICAgdGVzdEV4
cGVjdGVkKCJldmVudC5zZXNzaW9uSWQiLCBudWxsLCAiIT0iKTsKKyAgICAgICAgICAgICAgICB0
ZXN0RXhwZWN0ZWQoImV2ZW50LnNlc3Npb25JZCIsIHVuZGVmaW5lZCwgIiE9Iik7CisgICAgICAg
ICAgICAgICAgdGVzdEV4cGVjdGVkKCJpc05hTihldmVudC5zZXNzaW9uSWQpIiwgZmFsc2UpOwor
ICAgICAgICAgICAgICAgIC8vIE1ha2Ugc3VyZSB0aGUgbnVtYmVyIGlzIG5vdCBhIGZsb2F0Lgor
ICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgiU3RyaW5nKGV2ZW50LnNlc3Npb25JZCkgPT0g
U3RyaW5nKHBhcnNlSW50KGV2ZW50LnNlc3Npb25JZCkpIiwgdHJ1ZSk7CisgICAgICAgICAgICAg
ICAgY29uc29sZVdyaXRlKCJJbXBsZW1lbnRhdGlvbnMgc2hvdWxkIGF2b2lkIHNlc3Npb25JZHMg
b2YgMC4iKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoImV2ZW50LnNlc3Npb25JZCIs
IDAsICI+Iik7CisgICAgICAgICAgICAgICAgLy8gQWxsIG90aGVyIGV2ZW50cyBzaG91bGQgaGF2
ZSB0aGlzIHNhbWUgc2Vzc2lvbklkLgorICAgICAgICAgICAgICAgIGtleU1lc3NhZ2VTZXNzaW9u
SWQgPSBldmVudC5zZXNzaW9uSWQ7CisgICAgICAgICAgICAgICAgaWYgKGlzRmlyc3RSdW4pCisg
ICAgICAgICAgICAgICAgICAgIGZpcnN0UnVuS2V5TWVzc2FnZVNlc3Npb25JZCA9IGtleU1lc3Nh
Z2VTZXNzaW9uSWQ7CisgICAgICAgICAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAgICAgICAg
IGNvbnNvbGVXcml0ZSgiVGhlIHNlc3Npb25zSWQgc2hvdWxkIGJlIGRpZmZlcmVudCBmcm9tIHRo
ZSBmaXJzdCBydW4uIik7CisgICAgICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgiZXZlbnQu
c2Vzc2lvbklkIiwgZmlyc3RSdW5LZXlNZXNzYWdlU2Vzc2lvbklkLCAiIT0iKTsKKyAgICAgICAg
ICAgICAgICB9CisKKyAgICAgICAgICAgICAgICAvLyBpbml0RGF0YSBpcyBub3QgdXNlZCBmb3Ig
dGhpcyBldmVudC4KKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoImV2ZW50LmluaXREYXRh
IiwgbnVsbCwgIj09PSIpOworICAgICAgICAgICAgICAgIC8vIEF0IGxlYXN0IGZvciBub3csIHRo
ZSBDbGVhciBLZXkgbWVzc2FnZSBpcyB0aGUgaW5pdERhdGEuCisgICAgICAgICAgICAgICAgdGVz
dEFycmF5c0VxdWFsKCJldmVudC5tZXNzYWdlIiwgaW5pdERhdGEpOworICAgICAgICAgICAgICAg
IC8vIE5vdCBzdXBwb3J0ZWQgYnkgdGhlIHRlc3QgZmlsZS4KKyAgICAgICAgICAgICAgICB0ZXN0
RXhwZWN0ZWQoImV2ZW50LmRlZmF1bHRVUkwiLCAiIik7CisgICAgICAgICAgICAgICAgLy8gVGhl
IGVycm9yIGF0dHJpYnV0ZXMgYXJlIG5vdCB1c2VkIGZvciB0aGlzIGV2ZW50LgorICAgICAgICAg
ICAgICAgIHRlc3RFeHBlY3RlZCgiZXZlbnQuZXJyb3JDb2RlIiwgbnVsbCwgIj09PSIpOworICAg
ICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgiZXZlbnQuc3lzdGVtQ29kZSIsIDApOworCisgICAg
ICAgICAgICAgICAgY29uc29sZVdyaXRlKCIiKTsKKyAgICAgICAgICAgICAgICBydW4oInZpZGVv
LndlYmtpdEFkZEtleSgnd2Via2l0LW9yZy53My5jbGVhcmtleScsIGtleSwgZXZlbnQuaW5pdERh
dGEsIGV2ZW50LnNlc3Npb25JZCkiKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVu
Y3Rpb24gbmVlZEtleShldmVudCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBjb25z
b2xlV3JpdGUoIm5lZWRLZXkgZXZlbnQgb2NjdXJyZWQiKTsKKworICAgICAgICAgICAgICAgIHRl
c3RFeHBlY3RlZCgiZXZlbnQudGFyZ2V0IiwgdmlkZW8pOworICAgICAgICAgICAgICAgIHRlc3RF
eHBlY3RlZCgiZXZlbnQgaW5zdGFuY2VvZiB3aW5kb3cuTWVkaWFLZXlFdmVudCIsIHRydWUpOwor
CisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJldmVudC5rZXlTeXN0ZW0iLCAid2Via2l0
LW9yZy53My5jbGVhcmtleSIpOworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgiZXZlbnQu
c2Vzc2lvbklkIiwgIiIpOworICAgICAgICAgICAgICAgIHRlc3RBcnJheXNFcXVhbCgiZXZlbnQu
aW5pdERhdGEiLCBpbml0RGF0YSk7CisgICAgICAgICAgICAgICAgLy8gVGhlIG90aGVyIGF0dHJp
YnV0ZXMgYXJlIG5vdCB1c2VkIGZvciB0aGlzIGV2ZW50LgorICAgICAgICAgICAgICAgIHRlc3RF
eHBlY3RlZCgiZXZlbnQubWVzc2FnZSIsIG51bGwsICI9PT0iKTsKKyAgICAgICAgICAgICAgICB0
ZXN0RXhwZWN0ZWQoImV2ZW50LmRlZmF1bHRVUkwiLCAiIik7CisgICAgICAgICAgICAgICAgdGVz
dEV4cGVjdGVkKCJldmVudC5lcnJvckNvZGUiLCBudWxsLCAiPT09Iik7CisgICAgICAgICAgICAg
ICAgdGVzdEV4cGVjdGVkKCJldmVudC5zeXN0ZW1Db2RlIiwgMCk7CisKKyAgICAgICAgICAgICAg
ICBjb25zb2xlV3JpdGUoIiIpOworICAgICAgICAgICAgICAgIHJ1bigidmlkZW8ud2Via2l0R2Vu
ZXJhdGVLZXlSZXF1ZXN0KCd3ZWJraXQtb3JnLnczLmNsZWFya2V5JywgaW5pdERhdGEpIik7Cisg
ICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIHJ1blRlc3QoKQorICAgICAgICAg
ICAgeworICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiIik7CisgICAgICAgICAgICAgICAg
aWYgKGlzRmlyc3RSdW4pIHsKKyAgICAgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCIqKiog
VGVzdCBldmVudHMgdXNpbmcgb24qIGF0dHJpYnV0ZXMuICoqKiIpOworICAgICAgICAgICAgICAg
ICAgICB2aWRlby5vbndlYmtpdGtleWFkZGVkPWtleUFkZGVkOworICAgICAgICAgICAgICAgICAg
ICB2aWRlby5vbndlYmtpdGtleWVycm9yPWtleUVycm9yOworICAgICAgICAgICAgICAgICAgICB2
aWRlby5vbndlYmtpdGtleW1lc3NhZ2U9a2V5TWVzc2FnZTsKKyAgICAgICAgICAgICAgICAgICAg
dmlkZW8ub253ZWJraXRuZWVka2V5PW5lZWRLZXk7CisgICAgICAgICAgICAgICAgfSBlbHNlIHsK
KyAgICAgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCIqKiogVGVzdCBldmVudHMgdXNpbmcg
YWRkRXZlbnRMaXN0ZW5lcigpLiAqKioiKTsKKworICAgICAgICAgICAgICAgICAgICAvLyBDbGVh
ciB0aGUgb24qIGhhbmRsZXJzLgorICAgICAgICAgICAgICAgICAgICB2aWRlby5vbndlYmtpdGtl
eWFkZGVkPW51bGw7CisgICAgICAgICAgICAgICAgICAgIHZpZGVvLm9ud2Via2l0a2V5ZXJyb3I9
bnVsbDsKKyAgICAgICAgICAgICAgICAgICAgdmlkZW8ub253ZWJraXRrZXltZXNzYWdlPW51bGw7
CisgICAgICAgICAgICAgICAgICAgIHZpZGVvLm9ud2Via2l0bmVlZGtleT1udWxsOworCisgICAg
ICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudCgnd2Via2l0a2V5YWRkZWQnLCBrZXlBZGRlZCk7
CisgICAgICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudCgnd2Via2l0a2V5ZXJyb3InLCBrZXlF
cnJvcik7CisgICAgICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudCgnd2Via2l0a2V5bWVzc2Fn
ZScsIGtleU1lc3NhZ2UpOworICAgICAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ3dlYmtp
dG5lZWRrZXknLCBuZWVkS2V5KTsKKyAgICAgICAgICAgICAgICB9CisgICAgCisgICAgICAgICAg
ICAgICAgLy8gRklYTUUoODI5NTIpOiBUZW1wcm9hcnkgdW50aWwgd2UgaGF2ZSBhICJ0ZXN0LWVu
Y3J5cHRlZCIgZmlsZSB0aGF0IGNhdXNlcyB0aGUgbmVlZEtleSBldmVudC4KKyAgICAgICAgICAg
ICAgICB3YWl0Rm9yRXZlbnRPbmNlKCdsb2Fkc3RhcnQnLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
b2xlV3JpdGUoIiIpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBydW4oInZpZGVv
LndlYmtpdEdlbmVyYXRlS2V5UmVxdWVzdCgnd2Via2l0LW9yZy53My5jbGVhcmtleScsIGluaXRE
YXRhKSIpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pOworCisgICAgICAgICAgICAg
ICAgdmlkZW8uc2V0QXR0cmlidXRlKCJzcmMiLCBmaW5kTWVkaWFGaWxlKCJ2aWRlbyIsICIuLi9j
b250ZW50L3Rlc3QiKSk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGNvbnNvbGVXcml0
ZSgiKioqIFZlcmlmeSB0aGUgcHJlc2VuY2Ugb2Ygb24qIGF0dHJpYnV0ZXMuIFRoZXNlIHdvdWxk
IHJldHVybiB1bmRlZmluZWQgaWYgdGhleSBhcmUgbm90IHByZXNlbnQuICoqKiIpOworICAgICAg
ICAgICAgdGVzdEV4cGVjdGVkKCJ2aWRlby5vbndlYmtpdGtleWFkZGVkIiwgbnVsbCwgIj09PSIp
OworICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJ2aWRlby5vbndlYmtpdGtleWVycm9yIiwgbnVs
bCwgIj09PSIpOworICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJ2aWRlby5vbndlYmtpdGtleW1l
c3NhZ2UiLCBudWxsLCAiPT09Iik7CisgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInZpZGVvLm9u
d2Via2l0bmVlZGtleSIsIG51bGwsICI9PT0iKTsKKworICAgICAgICAgICAgcnVuVGVzdCgpOwor
CisgICAgICAgIDwvc2NyaXB0PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL21lZGlhL3ZpZGVvLXRlc3QuanMgYi9MYXlvdXRUZXN0cy9tZWRpYS92aWRlby10
ZXN0LmpzCmluZGV4IGViZjBmNDM1NDAwODA0NTdlYjM0ZTcwNTIzNTY0OGI5MjM1MjcxYTEuLjA2
ZmY2MjNlNmYyZTcxYTg3ZDA5Mjc1YmUzMjJlYmM1MTMyOThiMWMgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL21lZGlhL3ZpZGVvLXRlc3QuanMKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8t
dGVzdC5qcwpAQCAtNzksMTEgKzc5LDI5IEBAIGZ1bmN0aW9uIHRlc3RFeHBlY3RlZCh0ZXN0RnVu
Y1N0cmluZywgZXhwZWN0ZWQsIGNvbXBhcmlzb24pCiAgICAgICAgIGNhc2UgJz49Jzogc3VjY2Vz
cyA9IG9ic2VydmVkID49IGV4cGVjdGVkOyBicmVhazsKICAgICAgICAgY2FzZSAnIT0nOiAgc3Vj
Y2VzcyA9IG9ic2VydmVkICE9IGV4cGVjdGVkOyBicmVhazsKICAgICAgICAgY2FzZSAnPT0nOiBz
dWNjZXNzID0gb2JzZXJ2ZWQgPT0gZXhwZWN0ZWQ7IGJyZWFrOworICAgICAgICBjYXNlICc9PT0n
OiBzdWNjZXNzID0gb2JzZXJ2ZWQgPT09IGV4cGVjdGVkOyBicmVhazsKICAgICB9CiAKICAgICBy
ZXBvcnRFeHBlY3RlZChzdWNjZXNzLCB0ZXN0RnVuY1N0cmluZywgY29tcGFyaXNvbiwgZXhwZWN0
ZWQsIG9ic2VydmVkKQogfQogCitmdW5jdGlvbiB0ZXN0QXJyYXlzRXF1YWwodGVzdEZ1bmNTdHJp
bmcsIGV4cGVjdGVkKQoreworICAgIHZhciBvYnNlcnZlZDsKKyAgICB0cnkgeworICAgICAgICBv
YnNlcnZlZCA9IGV2YWwodGVzdEZ1bmNTdHJpbmcpOworICAgIH0gY2F0Y2ggKGV4KSB7CisgICAg
ICAgIGNvbnNvbGVXcml0ZShleCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgIAorICAgIHRl
c3RFeHBlY3RlZCh0ZXN0RnVuY1N0cmluZyArICIubGVuZ3RoIiwgZXhwZWN0ZWQubGVuZ3RoKTsK
KworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgb2JzZXJ2ZWQubGVuZ3RoOyBpKyspIHsKKyAgICAg
ICAgdGVzdEV4cGVjdGVkKHRlc3RGdW5jU3RyaW5nICsgIlsiICsgaSArICJdIiwgZXhwZWN0ZWRb
aV0pOworICAgIH0KK30KKwogdmFyIHRlc3ROdW1iZXIgPSAwOwogCiBmdW5jdGlvbiByZXBvcnRF
eHBlY3RlZChzdWNjZXNzLCB0ZXN0RnVuY1N0cmluZywgY29tcGFyaXNvbiwgZXhwZWN0ZWQsIG9i
c2VydmVkKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>