<?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>213984</bug_id>
          
          <creation_ts>2020-07-05 22:08:04 -0700</creation_ts>
          <short_desc>ServiceWorker.postMessage() doesn&apos;t work from inside iframe</short_desc>
          <delta_ts>2022-04-15 06:16:42 -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>Service Workers</component>
          <version>Safari Technology Preview</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>nkronlage</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>cdumez</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>japhet</cc>
    
    <cc>kangil.han</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1668971</commentid>
    <comment_count>0</comment_count>
      <attachid>403573</attachid>
    <who name="">nkronlage</who>
    <bug_when>2020-07-05 22:08:04 -0700</bug_when>
    <thetext>Created attachment 403573
Simplified repro

Sending messages via postMessage to a ServiceWorker does not work from inside an iframe.

To repro this, download the attached zip.
Serve the files locally.
Open from-iframe.html in Safari
Go to Develop-&gt;Service Workers-&gt;localhost
Go to Console and notice there are no &apos;postMessage received:&apos; logs here.

If you open from-main-window.html, you will see the postMessage events.

This works correctly in FireFox. Chrome has a bug registering ServiceWorkers from iframes so it doesn&apos;t make it to the point of postMessage - https://bugs.chromium.org/p/chromium/issues/detail?id=1102209


from-iframe.html:
  &lt;iframe&gt;&lt;/iframe&gt;

  &lt;script&gt;
    const iframe = document.querySelector(&apos;iframe&apos;);
    iframe.contentDocument.write(`
      &lt;body&gt;
        &lt;script&gt;
          (async () =&gt; {
            document.body.insertAdjacentHTML(&apos;beforeend&apos;, &apos;registering service-worker.js&lt;br&gt;&apos;);
            const reg = await navigator.serviceWorker.register(&apos;/service-worker.js&apos;);
 
            const sw = reg.installing;
            sw.postMessage(&apos;after register&apos;);

            sw.onstatechange = () =&gt; {
              document.body.insertAdjacentHTML(&apos;beforeend&apos;, \`statechange to: \${sw.state}&lt;br&gt;\`);
              sw.postMessage(&apos;statechange to &apos; + sw.state);
            };
          })();
        &lt;/${&apos;script&apos;}&gt;
      &lt;/body&gt;`);
  &lt;/script&gt;

service-worker.js:
  console.log(&apos;service worker loaded&apos;);

  addEventListener(&apos;message&apos;, event =&gt; {
    console.log(&apos;postMessage received:&apos;, event.data);
  });


from-main-window.html:
  &lt;body&gt;
  &lt;script&gt;
    (async () =&gt; {
      document.body.insertAdjacentHTML(&apos;beforeend&apos;, &apos;registering service-worker.js&lt;br&gt;&apos;);
      const reg = await navigator.serviceWorker.register(&apos;/service-worker.js&apos;);

      const sw = reg.installing;
      sw.postMessage(&apos;after register&apos;);

      sw.onstatechange = () =&gt; {
        document.body.insertAdjacentHTML(&apos;beforeend&apos;, `statechange to: ${sw.state}&lt;br&gt;`);
        sw.postMessage(&apos;statechange to &apos; + sw.state);
      };
    })();
  &lt;/script&gt;
  &lt;/body&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1669625</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-07-07 18:44:40 -0700</bug_when>
    <thetext>&lt;rdar://problem/65203340&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1677933</commentid>
    <comment_count>2</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-08-05 07:43:14 -0700</bug_when>
    <thetext>Issue is that the iframe is not registered as a service worker client.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678044</commentid>
    <comment_count>3</comment_count>
      <attachid>406027</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-08-05 12:56:39 -0700</bug_when>
    <thetext>Created attachment 406027
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1861415</commentid>
    <comment_count>4</comment_count>
      <attachid>457601</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-04-14 00:33:46 -0700</bug_when>
    <thetext>Created attachment 457601
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1861419</commentid>
    <comment_count>5</comment_count>
      <attachid>457603</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-04-14 01:46:44 -0700</bug_when>
    <thetext>Created attachment 457603
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1861426</commentid>
    <comment_count>6</comment_count>
      <attachid>457606</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-04-14 02:33:32 -0700</bug_when>
    <thetext>Created attachment 457606
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1861461</commentid>
    <comment_count>7</comment_count>
      <attachid>457618</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-04-14 06:21:32 -0700</bug_when>
    <thetext>Created attachment 457618
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1861508</commentid>
    <comment_count>8</comment_count>
      <attachid>457618</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-04-14 08:27:33 -0700</bug_when>
    <thetext>Comment on attachment 457618
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1861752</commentid>
    <comment_count>9</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-04-15 00:43:41 -0700</bug_when>
    <thetext>The check to reduce service worker client registrations out of http/blob/about is not working with extension schemes. I&apos;ll remove it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1861753</commentid>
    <comment_count>10</comment_count>
      <attachid>457681</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-04-15 00:44:14 -0700</bug_when>
    <thetext>Created attachment 457681
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1861762</commentid>
    <comment_count>11</comment_count>
      <attachid>457685</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-04-15 01:56:20 -0700</bug_when>
    <thetext>Created attachment 457685
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1861795</commentid>
    <comment_count>12</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-04-15 06:16:39 -0700</bug_when>
    <thetext>Committed r292905 (249675@main): &lt;https://commits.webkit.org/249675@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 457685.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>403573</attachid>
            <date>2020-07-05 22:08:04 -0700</date>
            <delta_ts>2020-07-05 22:08:04 -0700</delta_ts>
            <desc>Simplified repro</desc>
            <filename>Archive.zip</filename>
            <type>application/zip</type>
            <size>1270</size>
            <attacher>nkronlage</attacher>
            
              <data encoding="base64">UEsDBBQACAAIAAav5VAAAAAAAAAAALACAAAQACAAZnJvbS1pZnJhbWUuaHRtbFVUDQAH7K4CX+yu
Al/srgJfdXgLAAEE9QEAAAQUAAAAlVK9bsIwEN7zFDcg2ahtsrcmUqUOHcrUSl0YMM6RmoJNbUOE
UN69Z0wINFM9nc/fz935hF46ucFSFOcgy4RXTm9DmQEoa3yA9AITqKzabdCE/GeH7vCOa1TBOs4S
gI2fiJLinJiBkC8do3E6IJ8TAEAsbHUoTyFderd0uPQHo4CPYVLC8ZKG3j3Sc208uvBcraSi3OvH
9I2zBS6tQzQVuwfmsNY+oNOmBoLutcKHxrpvdPnKi4UrU73dSa0SifqUjdQBjNzrWlKD+Zn+mdid
MGfFQDdqDkR9Q5rEijUHuV5TRdfOvsm31ocpei9r5EwuSRw6lz+KBI6aMqD6kqaOvzKc1H9nNZtf
Kwb7CLPRkZxO2TbOaja/Gdaw6FsBYHAHncANs+0v7ZhfnkQxOrK0CaxNuyCK05pEY1F0S5L9AlBL
BwiGnGF4PwEAALACAABQSwMEFAAIAAgAhq3lUAAAAAAAAAAAhgAAABEAIABzZXJ2aWNlLXdvcmtl
ci5qc1VUDQAHHawCXx6sAl8drAJfdXgLAAEE9QEAAAQUAAAATYxBCsIwEEX3OcXs0oL0AIrdudND
DJlPCaYZmQlxId7dFhFcvNV//yWtrgVT0WWIDus5gZ5qdxgVZYHE8RQCi1w6artmb6iwIa5w5wXx
QNgHOs/0CkTpv/dQb7evR4aE3CHH32MSbry13xsfUEsHCLZYtuFsAAAAhgAAAFBLAwQUAAgACAB4
ruVQAAAAAAAAAADaAQAAFQAgAGZyb20tbWFpbi13aW5kb3cuaHRtbFVUDQAH5K0CX+WtAl/krQJf
dXgLAAEE9QEAAAQUAAAAlZExT8MwEIX3/oobkOwImuyQRmJjaDck1jrONbgtduU7GlVV/jvnJkFB
nZgsn9777uldWYfmUi1KstGduFoAaEMXb0FnsKrgKgOAJtjvL/ScJ3HuPGHk12ZvrMze3jdrrWrc
hYjoG/UEKmLriDE634JIz87isgvxgDHfU1nHSmUvN64NnhhEDiswnXEM3pxdazjEfDR+DL4JqVVx
R0y0GY46oYk+5WRzPEqKYRt1+SkQb5DItKiV2QkQJvIvRWSJYxjtp/EtCm3exX/b2M5RHJ7h4Sob
bsM+dbEdu7jP99cICh5hco6ePj19puVbFtMFy2I46Q9QSwcI7iaehfUAAADaAQAAUEsBAhQDFAAI
AAgABq/lUIacYXg/AQAAsAIAABAAIAAAAAAAAAAAAKSBAAAAAGZyb20taWZyYW1lLmh0bWxVVA0A
B+yuAl/srgJf7K4CX3V4CwABBPUBAAAEFAAAAFBLAQIUAxQACAAIAIat5VC2WLbhbAAAAIYAAAAR
ACAAAAAAAAAAAACkgZ0BAABzZXJ2aWNlLXdvcmtlci5qc1VUDQAHHawCXx6sAl8drAJfdXgLAAEE
9QEAAAQUAAAAUEsBAhQDFAAIAAgAeK7lUO4mnoX1AAAA2gEAABUAIAAAAAAAAAAAAKSBaAIAAGZy
b20tbWFpbi13aW5kb3cuaHRtbFVUDQAH5K0CX+WtAl/krQJfdXgLAAEE9QEAAAQUAAAAUEsFBgAA
AAADAAMAIAEAAMADAAAAAA==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>406027</attachid>
            <date>2020-08-05 12:56:39 -0700</date>
            <delta_ts>2022-04-14 00:33:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-213984-20200805215637.patch</filename>
            <type>text/plain</type>
            <size>17921</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1MjgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTA0Y2ZkMDQwYzFhZDg3
MjRiNDVkYTY3NDIxZmEwODJkOTg1ODFmZC4uOTg1MTNjYzIxOGRlN2I2OTgyMDMyM2ZkNjM5MmY2
M2EzMzQ5MmQ1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDIwLTA4LTA1ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBTZXJ2aWNlV29ya2VyLnBv
c3RNZXNzYWdlKCkgZG9lc24ndCB3b3JrIGZyb20gaW5zaWRlIGlmcmFtZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEzOTg0CisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS82NTIwMzM0MD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBNYWtlIHN1cmUgYWJvdXQ6YmxhbmsgaWZyYW1lcyBnZXQgcmVnaXN0ZXJl
ZCBieSBzZXR0aW5nIHRoZSBzZXJ2aWNlIHdvcmtlciBjb25uZWN0aW9uIGlmIG5lZWRlZC4KKyAg
ICAgICAgSW4gY2FzZSBvZiBkb2N1bWVudCBVUkwgY2hhbmdlLCB1cGRhdGUgdGhlIHNlcnZpY2Ug
d29ya2VyIGNsaWVudCBpbmZvcm1hdGlvbi4KKyAgICAgICAgUmVtb3ZlIFNlcnZpY2VXb3JrZXJD
bGllbnQ6OmdldE9yQ3JlYXRlIHNpbmNlIGFzIHBlciBzcGVjLCB3ZSBzaG91bGQgY3JlYXRlIGEg
bmV3IGNsaWVudCBldmVyeSB0aW1lIGl0IGlzIG5lZWRlZC4KKworICAgICAgICBUZXN0czogaHR0
cC93cHQvc2VydmljZS13b3JrZXJzL2Fib3V0LWJsYW5rLWlmcmFtZS5odG1sCisgICAgICAgICAg
ICAgICBodHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvY2xpZW50cy11cmwtY2hhbmdlLmh0bWwKKwor
ICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6
c2V0VVJMKToKKyAgICAgICAgKiBsb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6RG9jdW1lbnRMb2FkZXI6OmNvbW1pdERhdGEpOgorICAgICAgICAqIHdvcmtlcnMv
c2VydmljZS9TZXJ2aWNlV29ya2VyQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZp
Y2VXb3JrZXJDbGllbnQ6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2Vy
Q2xpZW50OjpTZXJ2aWNlV29ya2VyQ2xpZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VX
b3JrZXJDbGllbnQ6On5TZXJ2aWNlV29ya2VyQ2xpZW50KToKKyAgICAgICAgKiB3b3JrZXJzL3Nl
cnZpY2UvU2VydmljZVdvcmtlckNsaWVudC5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9T
ZXJ2aWNlV29ya2VyQ2xpZW50cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpkaWRGaW5pc2hHZXRS
ZXF1ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6Om1hdGNoQWxsQ29tcGxldGVkKToKKyAgICAgICAg
KiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmNwcDoKKyAgICAgICAg
KiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmg6CisgICAgICAgICog
d29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlclRocmVhZC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyVGhyZWFkOjpxdWV1ZVRhc2tUb1Bvc3RNZXNzYWdlKToK
KwogMjAyMC0wOC0wNSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAg
ICAgUmVnaXN0cmF0aW9uRGF0YWJhc2U6Om9wZW5TUUxpdGVEYXRhYmFzZSBjYW4gc3BpbgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggNDdiNDdiMzI0ZWRiM2FlZDc1ZjYyMzJhMzcwM2NmOWE0
YjZiNDRmMC4uNDIzZDU5YTZmMjA1OWY3NzNiMGZkNTkxNGY1Y2FhZmQ5MWMyODc0NSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRG9jdW1lbnQuY3BwCkBAIC0zMzEwLDYgKzMzMTAsMTQgQEAgdm9pZCBEb2N1bWVudDo6
c2V0VVJMKGNvbnN0IFVSTCYgdXJsKQogCiAgICAgbV9kb2N1bWVudFVSSSA9IG1fdXJsLnN0cmlu
ZygpOwogICAgIHVwZGF0ZUJhc2VVUkwoKTsKKworI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikK
KyAgICBpZiAobV9zZXJ2aWNlV29ya2VyQ29ubmVjdGlvbikgeworICAgICAgICBtX3NlcnZpY2VX
b3JrZXJDb25uZWN0aW9uLT51bnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChpZGVudGlmaWVy
KCkpOworICAgICAgICBhdXRvIGNvbnRyb2xsaW5nU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklk
ZW50aWZpZXIgPSBhY3RpdmVTZXJ2aWNlV29ya2VyKCkgPyBtYWtlT3B0aW9uYWw8U2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXI+KGFjdGl2ZVNlcnZpY2VXb3JrZXIoKS0+cmVnaXN0
cmF0aW9uSWRlbnRpZmllcigpKSA6IFdURjo6bnVsbG9wdDsKKyAgICAgICAgbV9zZXJ2aWNlV29y
a2VyQ29ubmVjdGlvbi0+cmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KHRvcE9yaWdpbigpLCBT
ZXJ2aWNlV29ya2VyQ2xpZW50RGF0YTo6ZnJvbSgqdGhpcywgKm1fc2VydmljZVdvcmtlckNvbm5l
Y3Rpb24pLCBjb250cm9sbGluZ1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyLCB1
c2VyQWdlbnQodGhpcy0+dXJsKCkpKTsKKyAgICB9CisjZW5kaWYKIH0KIAogdm9pZCBEb2N1bWVu
dDo6dXBkYXRlQmFzZVVSTCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9j
dW1lbnRMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNw
cAppbmRleCA0MDhhMTNlMzc0YmVjNzhlNjdhYzk5MGI3OGE2MjgxMTBlMWViMTMwLi43YzQzYTY1
YzE5YzBhNDE1ZTUwZmZjZTZiNmY3OTU5ZDI1YzM5YzkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9Eb2N1bWVudExvYWRlci5jcHAKQEAgLTExMTMsOCArMTExMywxMCBAQCB2b2lkIERvY3VtZW50
TG9hZGVyOjpjb21taXREYXRhKGNvbnN0IGNoYXIqIGJ5dGVzLCBzaXplX3QgbGVuZ3RoKQogICAg
ICAgICAgICAgICAgIGRvY3VtZW50LnNldEFjdGl2ZVNlcnZpY2VXb3JrZXIoU2VydmljZVdvcmtl
cjo6Z2V0T3JDcmVhdGUoZG9jdW1lbnQsIFdURk1vdmUobV9zZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uRGF0YS0+YWN0aXZlV29ya2VyLnZhbHVlKCkpKSk7CiAgICAgICAgICAgICAgICAgbV9zZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YSA9IHsgfTsKICAgICAgICAgICAgIH0gZWxzZSBpZiAo
YXV0byogcGFyZW50ID0gZG9jdW1lbnQucGFyZW50RG9jdW1lbnQoKSkgewotICAgICAgICAgICAg
ICAgIGlmIChzaG91bGRVc2VBY3RpdmVTZXJ2aWNlV29ya2VyRnJvbVBhcmVudChkb2N1bWVudCwg
KnBhcmVudCkpCisgICAgICAgICAgICAgICAgaWYgKHNob3VsZFVzZUFjdGl2ZVNlcnZpY2VXb3Jr
ZXJGcm9tUGFyZW50KGRvY3VtZW50LCAqcGFyZW50KSkgewogICAgICAgICAgICAgICAgICAgICBk
b2N1bWVudC5zZXRBY3RpdmVTZXJ2aWNlV29ya2VyKHBhcmVudC0+YWN0aXZlU2VydmljZVdvcmtl
cigpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuc2V0U2VydmljZVdvcmtlckNvbm5l
Y3Rpb24oJlNlcnZpY2VXb3JrZXJQcm92aWRlcjo6c2luZ2xldG9uKCkuc2VydmljZVdvcmtlckNv
bm5lY3Rpb24oKSk7CisgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQogCiAgICAgICAg
ICAgICBpZiAobV9mcmFtZS0+ZG9jdW1lbnQoKS0+YWN0aXZlU2VydmljZVdvcmtlcigpIHx8IGRv
Y3VtZW50LnVybCgpLnByb3RvY29sSXNJbkhUVFBGYW1pbHkoKSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ2xpZW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ2xpZW50LmNwcAppbmRleCBi
MTMzNGI0MTJiYmVhYjA1OTQ2YThjNmQ0MmY4Mjk1ODRjYmIxZGMyLi42OTBmMWYzZGE0Y2I1YmI5
N2IxZDdkNGZiMjAxODUzNTY2YTU0NmU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnQuY3BwCkBAIC0zOCwxMSArMzgsOCBA
QAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVJlZjxTZXJ2aWNlV29ya2VyQ2xpZW50PiBTZXJ2
aWNlV29ya2VyQ2xpZW50OjpnZXRPckNyZWF0ZShTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUmIGNv
bnRleHQsIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhJiYgZGF0YSkKK1JlZjxTZXJ2aWNlV29ya2Vy
Q2xpZW50PiBTZXJ2aWNlV29ya2VyQ2xpZW50OjpjcmVhdGUoU2VydmljZVdvcmtlckdsb2JhbFNj
b3BlJiBjb250ZXh0LCBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSYmIGRhdGEpCiB7Ci0gICAgaWYg
KGF1dG8qIGNsaWVudCA9IGNvbnRleHQuc2VydmljZVdvcmtlckNsaWVudChkYXRhLmlkZW50aWZp
ZXIpKQotICAgICAgICByZXR1cm4gKmNsaWVudDsKLQogICAgIGlmIChkYXRhLnR5cGUgPT0gU2Vy
dmljZVdvcmtlckNsaWVudFR5cGU6OldpbmRvdykKICAgICAgICAgcmV0dXJuIFNlcnZpY2VXb3Jr
ZXJXaW5kb3dDbGllbnQ6OmNyZWF0ZShjb250ZXh0LCBXVEZNb3ZlKGRhdGEpKTsKIApAQCAtNTMs
MTMgKzUwLDEwIEBAIFNlcnZpY2VXb3JrZXJDbGllbnQ6OlNlcnZpY2VXb3JrZXJDbGllbnQoU2Vy
dmljZVdvcmtlckdsb2JhbFNjb3BlJiBjb250ZXh0LCBTZXJ2CiAgICAgOiBDb250ZXh0RGVzdHJ1
Y3Rpb25PYnNlcnZlcigmY29udGV4dCkKICAgICAsIG1fZGF0YShXVEZNb3ZlKGRhdGEpKQogewot
ICAgIGNvbnRleHQuYWRkU2VydmljZVdvcmtlckNsaWVudCgqdGhpcyk7CiB9CiAKIFNlcnZpY2VX
b3JrZXJDbGllbnQ6On5TZXJ2aWNlV29ya2VyQ2xpZW50KCkKIHsKLSAgICBpZiAoYXV0byogY29u
dGV4dCA9IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkKLSAgICAgICAgZG93bmNhc3Q8U2Vydmlj
ZVdvcmtlckdsb2JhbFNjb3BlPigqY29udGV4dCkucmVtb3ZlU2VydmljZVdvcmtlckNsaWVudCgq
dGhpcyk7CiB9CiAKIGNvbnN0IFVSTCYgU2VydmljZVdvcmtlckNsaWVudDo6dXJsKCkgY29uc3QK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2Vy
Q2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNs
aWVudC5oCmluZGV4IDBmYmZjYWMzZTA1N2U3MWFiNTZjMzlmYWU4M2M4ODRmNTEwNDhjZWIuLmZh
ZDVhY2U5ZWQ0ODEyZWZmMTAzMGY2MjkzNzNlMjU0MjAxM2EyMjggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ2xpZW50LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnQuaApAQCAtNTAs
NyArNTAsNyBAQCBwdWJsaWM6CiAgICAgdXNpbmcgVHlwZSA9IFNlcnZpY2VXb3JrZXJDbGllbnRU
eXBlOwogICAgIHVzaW5nIEZyYW1lVHlwZSA9IFNlcnZpY2VXb3JrZXJDbGllbnRGcmFtZVR5cGU7
CiAKLSAgICBzdGF0aWMgUmVmPFNlcnZpY2VXb3JrZXJDbGllbnQ+IGdldE9yQ3JlYXRlKFNlcnZp
Y2VXb3JrZXJHbG9iYWxTY29wZSYsIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhJiYpOworICAgIHN0
YXRpYyBSZWY8U2VydmljZVdvcmtlckNsaWVudD4gY3JlYXRlKFNlcnZpY2VXb3JrZXJHbG9iYWxT
Y29wZSYsIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhJiYpOwogCiAgICAgflNlcnZpY2VXb3JrZXJD
bGllbnQoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1Nl
cnZpY2VXb3JrZXJDbGllbnRzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9T
ZXJ2aWNlV29ya2VyQ2xpZW50cy5jcHAKaW5kZXggY2I4ZjY2YWMyYzE3OWI3ZmNiMTBhNjA1NTc0
YTQ1OTIzYmJiNWI5ZC4uMDM4MTUwMWY4ZmQyNDcxYTIwYmYxYTU5ODdlY2IzNjViNjgxNzZlMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJD
bGllbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdv
cmtlckNsaWVudHMuY3BwCkBAIC00OSw3ICs0OSw3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBkaWRG
aW5pc2hHZXRSZXF1ZXN0KFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZSYgc2NvcGUsIERlZmVycmVk
CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBwcm9taXNlLnJlc29sdmU8SURMSW50ZXJm
YWNlPFNlcnZpY2VXb3JrZXJDbGllbnQ+PihTZXJ2aWNlV29ya2VyQ2xpZW50OjpnZXRPckNyZWF0
ZShzY29wZSwgV1RGTW92ZShkYXRhLnZhbHVlKCkpKSk7CisgICAgcHJvbWlzZS5yZXNvbHZlPElE
TEludGVyZmFjZTxTZXJ2aWNlV29ya2VyQ2xpZW50Pj4oU2VydmljZVdvcmtlckNsaWVudDo6Y3Jl
YXRlKHNjb3BlLCBXVEZNb3ZlKGRhdGEudmFsdWUoKSkpKTsKIH0KIAogdm9pZCBTZXJ2aWNlV29y
a2VyQ2xpZW50czo6Z2V0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIGNvbnN0IFN0
cmluZyYgaWQsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYgcHJvbWlzZSkKQEAgLTgxLDcgKzgxLDcg
QEAgdm9pZCBTZXJ2aWNlV29ya2VyQ2xpZW50czo6Z2V0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQm
IGNvbnRleHQsIGNvbnN0IFN0cmluZyYgaWQKIHN0YXRpYyBpbmxpbmUgdm9pZCBtYXRjaEFsbENv
bXBsZXRlZChTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUmIHNjb3BlLCBEZWZlcnJlZFByb21pc2Um
IHByb21pc2UsIFZlY3RvcjxTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YT4mJiBjbGllbnRzRGF0YSkK
IHsKICAgICBhdXRvIGNsaWVudHMgPSBXVEY6Om1hcChjbGllbnRzRGF0YSwgWyZdIChhdXRvJiYg
Y2xpZW50RGF0YSkgewotICAgICAgICByZXR1cm4gU2VydmljZVdvcmtlckNsaWVudDo6Z2V0T3JD
cmVhdGUoc2NvcGUsIFdURk1vdmUoY2xpZW50RGF0YSkpOworICAgICAgICByZXR1cm4gU2Vydmlj
ZVdvcmtlckNsaWVudDo6Y3JlYXRlKHNjb3BlLCBXVEZNb3ZlKGNsaWVudERhdGEpKTsKICAgICB9
KTsKICAgICBwcm9taXNlLnJlc29sdmU8SURMU2VxdWVuY2U8SURMSW50ZXJmYWNlPFNlcnZpY2VX
b3JrZXJDbGllbnQ+Pj4oV1RGTW92ZShjbGllbnRzKSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuY3Bw
CmluZGV4IGNlNTc5ZjdjNTMxODQwMzcyMWMxYTMzY2I5MDUxYThlNDUwNWZkZDguLjYzN2JlZGE1
MTdmZGU0YTAyZWY3ZGE0Y2JkZjUwM2IyOThlNzk0MTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuY3Bw
CkBAIC05MiwyMyArOTIsNiBAQCBTZXJ2aWNlV29ya2VyVGhyZWFkJiBTZXJ2aWNlV29ya2VyR2xv
YmFsU2NvcGU6OnRocmVhZCgpCiAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFNlcnZpY2VXb3JrZXJU
aHJlYWQmPihXb3JrZXJHbG9iYWxTY29wZTo6dGhyZWFkKCkpOwogfQogCi1TZXJ2aWNlV29ya2Vy
Q2xpZW50KiBTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGU6OnNlcnZpY2VXb3JrZXJDbGllbnQoU2Vy
dmljZVdvcmtlckNsaWVudElkZW50aWZpZXIgaWRlbnRpZmllcikKLXsKLSAgICByZXR1cm4gbV9j
bGllbnRNYXAuZ2V0KGlkZW50aWZpZXIpOwotfQotCi12b2lkIFNlcnZpY2VXb3JrZXJHbG9iYWxT
Y29wZTo6YWRkU2VydmljZVdvcmtlckNsaWVudChTZXJ2aWNlV29ya2VyQ2xpZW50JiBjbGllbnQp
Ci17Ci0gICAgYXV0byByZXN1bHQgPSBtX2NsaWVudE1hcC5hZGQoY2xpZW50LmlkZW50aWZpZXIo
KSwgJmNsaWVudCk7Ci0gICAgQVNTRVJUX1VOVVNFRChyZXN1bHQsIHJlc3VsdC5pc05ld0VudHJ5
KTsKLX0KLQotdm9pZCBTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGU6OnJlbW92ZVNlcnZpY2VXb3Jr
ZXJDbGllbnQoU2VydmljZVdvcmtlckNsaWVudCYgY2xpZW50KQotewotICAgIGF1dG8gaXNSZW1v
dmVkID0gbV9jbGllbnRNYXAucmVtb3ZlKGNsaWVudC5pZGVudGlmaWVyKCkpOwotICAgIEFTU0VS
VF9VTlVTRUQoaXNSZW1vdmVkLCBpc1JlbW92ZWQpOwotfQotCiAvLyBodHRwczovL3czYy5naXRo
dWIuaW8vU2VydmljZVdvcmtlci8jdXBkYXRlLXNlcnZpY2Utd29ya2VyLWV4dGVuZGVkLWV2ZW50
cy1zZXQtYWxnb3JpdGhtCiB2b2lkIFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZTo6dXBkYXRlRXh0
ZW5kZWRFdmVudHNTZXQoRXh0ZW5kYWJsZUV2ZW50KiBuZXdFdmVudCkKIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUu
aCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyR2xvYmFsU2Nv
cGUuaAppbmRleCA2MDJkYTcyMzVkZmFmMGY3MjUwMzE2NzE3MDNmZWY3NmFmNjRmMTdkLi43OGJi
MWFjOGMyYmRmYTdjM2QzMWFjOTE3ZTg5Zjg0M2U3ZDAyMThlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZS5o
CkBAIC01OSwxMCArNTksNiBAQCBwdWJsaWM6CiAKICAgICBTZXJ2aWNlV29ya2VyVGhyZWFkJiB0
aHJlYWQoKTsKIAotICAgIFNlcnZpY2VXb3JrZXJDbGllbnQqIHNlcnZpY2VXb3JrZXJDbGllbnQo
U2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXIpOwotICAgIHZvaWQgYWRkU2VydmljZVdvcmtl
ckNsaWVudChTZXJ2aWNlV29ya2VyQ2xpZW50Jik7Ci0gICAgdm9pZCByZW1vdmVTZXJ2aWNlV29y
a2VyQ2xpZW50KFNlcnZpY2VXb3JrZXJDbGllbnQmKTsKLQogICAgIHZvaWQgdXBkYXRlRXh0ZW5k
ZWRFdmVudHNTZXQoRXh0ZW5kYWJsZUV2ZW50KiBuZXdFdmVudCA9IG51bGxwdHIpOwogCiAgICAg
Y29uc3QgU2VydmljZVdvcmtlckNvbnRleHREYXRhOjpJbXBvcnRlZFNjcmlwdCogc2NyaXB0UmVz
b3VyY2UoY29uc3QgVVJMJikgY29uc3Q7CkBAIC03OCw3ICs3NCw2IEBAIHByaXZhdGU6CiAgICAg
U2VydmljZVdvcmtlckNvbnRleHREYXRhIG1fY29udGV4dERhdGE7CiAgICAgUmVmPFNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb24+IG1fcmVnaXN0cmF0aW9uOwogICAgIFJlZjxTZXJ2aWNlV29ya2Vy
Q2xpZW50cz4gbV9jbGllbnRzOwotICAgIEhhc2hNYXA8U2VydmljZVdvcmtlckNsaWVudElkZW50
aWZpZXIsIFNlcnZpY2VXb3JrZXJDbGllbnQqPiBtX2NsaWVudE1hcDsKICAgICBWZWN0b3I8UmVm
PEV4dGVuZGFibGVFdmVudD4+IG1fZXh0ZW5kZWRFdmVudHM7CiAKICAgICB1aW50NjRfdCBtX2xh
c3RSZXF1ZXN0SWRlbnRpZmllciB7IDAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQuY3BwIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlclRocmVhZC5jcHAKaW5k
ZXggZDJmM2U3NzRlMDhmMWRmMjE0YzBlNDU4MWFiZDM4YzAxMzUwNjkyOC4uNGZkNWU0ZWM2NmIy
ODUzYjVlMjM0M2U5MjMyM2VlMzlkMjZlOWNjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlclRocmVhZC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlclRocmVhZC5j
cHAKQEAgLTEyMSw3ICsxMjEsNyBAQCB2b2lkIFNlcnZpY2VXb3JrZXJUaHJlYWQ6OnF1ZXVlVGFz
a1RvUG9zdE1lc3NhZ2UoTWVzc2FnZVdpdGhNZXNzYWdlUG9ydHMmJiBtZXNzYQogICAgICAgICBV
Ukwgc291cmNlVVJMOwogICAgICAgICBFeHRlbmRhYmxlTWVzc2FnZUV2ZW50U291cmNlIHNvdXJj
ZTsKICAgICAgICAgaWYgKFdURjo6aG9sZHNfYWx0ZXJuYXRpdmU8U2VydmljZVdvcmtlckNsaWVu
dERhdGE+KHNvdXJjZURhdGEpKSB7Ci0gICAgICAgICAgICBSZWZQdHI8U2VydmljZVdvcmtlckNs
aWVudD4gc291cmNlQ2xpZW50ID0gU2VydmljZVdvcmtlckNsaWVudDo6Z2V0T3JDcmVhdGUoc2Vy
dmljZVdvcmtlckdsb2JhbFNjb3BlLCBXVEZNb3ZlKFdURjo6Z2V0PFNlcnZpY2VXb3JrZXJDbGll
bnREYXRhPihzb3VyY2VEYXRhKSkpOworICAgICAgICAgICAgUmVmUHRyPFNlcnZpY2VXb3JrZXJD
bGllbnQ+IHNvdXJjZUNsaWVudCA9IFNlcnZpY2VXb3JrZXJDbGllbnQ6OmNyZWF0ZShzZXJ2aWNl
V29ya2VyR2xvYmFsU2NvcGUsIFdURk1vdmUoV1RGOjpnZXQ8U2VydmljZVdvcmtlckNsaWVudERh
dGE+KHNvdXJjZURhdGEpKSk7CiAKICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKCFzb3VyY2VD
bGllbnQtPnVybCgpLnByb3RvY29sSXNJbkhUVFBGYW1pbHkoKSB8fCAhc2VydmljZVdvcmtlckds
b2JhbFNjb3BlLT51cmwoKS5wcm90b2NvbElzSW5IVFRQRmFtaWx5KCkgfHwgcHJvdG9jb2xIb3N0
QW5kUG9ydEFyZUVxdWFsKHNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZS0+dXJsKCksIHNvdXJjZUNs
aWVudC0+dXJsKCkpKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDUwMzYyODA0MWUwMjMxZWIxNTQyODZiZWJlYzEzNjZl
MDgyNjU3OTYuLmY4Yjk5MGM0NWYzZDkyNTQwN2MzOGE0ZTMxZWIwOTU3YjA2MmNlNDIgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxOCBAQAorMjAyMC0wOC0wNSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBs
ZS5jb20+CisKKyAgICAgICAgU2VydmljZVdvcmtlci5wb3N0TWVzc2FnZSgpIGRvZXNuJ3Qgd29y
ayBmcm9tIGluc2lkZSBpZnJhbWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIxMzk4NAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjUyMDMzNDA+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBodHRwL3dw
dC9zZXJ2aWNlLXdvcmtlcnMvYWJvdXQtYmxhbmstaWZyYW1lLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogaHR0cC93cHQvc2VydmljZS13b3JrZXJzL2Fib3V0LWJsYW5rLWlmcmFtZS13
b3JrZXIuanM6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9hYm91
dC1ibGFuay1pZnJhbWUuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvc2VydmljZS13
b3JrZXJzL2NsaWVudHMtdXJsLWNoYW5nZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGh0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9jbGllbnRzLXVybC1jaGFuZ2Utd29ya2VyLmpzOiBB
ZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvY2xpZW50cy11cmwtY2hh
bmdlLmh0bWw6IEFkZGVkLgorCiAyMDIwLTA4LTA1ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFw
cGxlLmNvbT4KIAogICAgICAgICBbIG1hY09TIHdrMiBdIHdlYnJ0Yy9kYXRhY2hhbm5lbC9nYXRo
ZXItY2FuZGlkYXRlcy1uZXR3b3JrcHJvY2Vzcy1jcmFzaC5odG1sIGlzIGEgZmxha3kgdGltZW91
dApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvc2VydmljZS13b3JrZXJzL2Fib3V0
LWJsYW5rLWlmcmFtZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNl
LXdvcmtlcnMvYWJvdXQtYmxhbmstaWZyYW1lLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jODZk
NTU5NTNlMDU4ODAxNGE0MmVmMWRiMWE0Zjk5YzJiOTdkMTExCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC93cHQvc2VydmljZS13b3JrZXJzL2Fib3V0LWJsYW5rLWlmcmFtZS1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACisKK1BBU1Mgc2V0dXAgCitQQVNTIHBvc3QgbWVz
c2FnaW5nIGZyb20gYW4gaWZyYW1lIAorUEFTUyByZW1vdmUgaWZyYW1lIAorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvYWJvdXQtYmxhbmstaWZyYW1l
LXdvcmtlci5qcyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9hYm91dC1i
bGFuay1pZnJhbWUtd29ya2VyLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDI2ODI1YzQ3NGJkZGYzMzYyMThh
ZmVlOGQ4OTc4OWY5Yzk0NDUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dw
dC9zZXJ2aWNlLXdvcmtlcnMvYWJvdXQtYmxhbmstaWZyYW1lLXdvcmtlci5qcwpAQCAtMCwwICsx
LDQgQEAKK2FkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCBhc3luYyBldmVudCA9PiB7CisgICAg
Y29uc3QgY2xpZW50cyA9IGF3YWl0IHNlbGYuY2xpZW50cy5tYXRjaEFsbCh7IGluY2x1ZGVVbmNv
bnRyb2xsZWQgOiB0cnVlIH0pOworICAgIGNsaWVudHMuZm9yRWFjaChjbGllbnQgPT4gY2xpZW50
LnBvc3RNZXNzYWdlKGV2ZW50LmRhdGEpKTsKK30pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC93cHQvc2VydmljZS13b3JrZXJzL2Fib3V0LWJsYW5rLWlmcmFtZS5odG1sIGIvTGF5b3V0
VGVzdHMvaHR0cC93cHQvc2VydmljZS13b3JrZXJzL2Fib3V0LWJsYW5rLWlmcmFtZS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjM5ZDk5OTk0ODczYmI3MTJhMDk0YmZiOTI2NGQzYTk2Y2VhZTk4ZGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvYWJvdXQt
YmxhbmstaWZyYW1lLmh0bWwKQEAgLTAsMCArMSw0MSBAQAorPGh0bWw+Cis8aGVhZD4KKzx0aXRs
ZT5TZXJ2aWNlIFdvcmtlciBGZXRjaCBFdmVudDwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxpZnJhbWUg
aWQ9J215ZnJhbWUnPjwvaWZyYW1lPgorPHNjcmlwdD4KK3Byb21pc2VfdGVzdChhc3luYyAoKSA9
PiB7CisgICAgY29uc3QgcHJvbWlzZSA9IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gd2luZG93LnJl
c29sdmVDYWxsYmFjayA9IHJlc29sdmUpOworICAgIG15ZnJhbWUuY29udGVudERvY3VtZW50Lndy
aXRlKGAKKyAgICA8Ym9keT4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIG5hdmlnYXRv
ci5zZXJ2aWNlV29ya2VyLnJlZ2lzdGVyKCdhYm91dC1ibGFuay1pZnJhbWUtd29ya2VyLmpzJyku
dGhlbihyZWdpc3RyYXRpb24gPT4geworICAgICAgICAgICAgICAgIHdpbmRvdy53b3JrZXIgPSBy
ZWdpc3RyYXRpb24uYWN0aXZlID8gcmVnaXN0cmF0aW9uLmFjdGl2ZSA6IHJlZ2lzdHJhdGlvbi5p
bnN0YWxsaW5nOworICAgICAgICAgICAgICAgIHBhcmVudC5yZXNvbHZlQ2FsbGJhY2soKTsKKyAg
ICAgICAgICAgIH0pOworICAgICAgICA8LyR7J3NjcmlwdCd9PgorICAgIDwvYm9keT5gKTsKKyAg
ICByZXR1cm4gcHJvbWlzZTsKK30sICJzZXR1cCIpOworCitwcm9taXNlX3Rlc3QoYXN5bmMgKCkg
PT4geworICAgIGNvbnN0IHByb21pc2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9
PiB7CisgICAgICAgIG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLmFkZEV2ZW50TGlzdGVuZXIoIm1l
c3NhZ2UiLCAoZXZlbnQpID0+IHsKKyAgICAgICAgICAgIHJlc29sdmUoZXZlbnQuZGF0YSk7Cisg
ICAgICAgIH0pOworICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHJlamVjdCgiTm8gcmVzcG9uc2Ug
bWVzc2FnZSBmcm9tIHNlcnZpY2Ugd29ya2VyIiksIDUwMDApOworICAgIH0pOworCisgICAgbXlm
cmFtZS5jb250ZW50V2luZG93Lndvcmtlci5wb3N0TWVzc2FnZSgiaGVsbG8iKTsKKyAgICBhc3Nl
cnRfZXF1YWxzKGF3YWl0IHByb21pc2UsICJoZWxsbyIpOworfSwgInBvc3QgbWVzc2FnaW5nIGZy
b20gYW4gaWZyYW1lIik7CisKK3Byb21pc2VfdGVzdChhc3luYyAoKSA9PiB7CisgICAgbXlmcmFt
ZS5yZW1vdmUoKTsKK30sICJyZW1vdmUgaWZyYW1lIik7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9j
bGllbnRzLXVybC1jaGFuZ2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvc2Vy
dmljZS13b3JrZXJzL2NsaWVudHMtdXJsLWNoYW5nZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2Q3NWViMGNmYzlmOGQyMWEyOTI5ZmM4YTlhMWUzMjE4YWFiNDBlZQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9jbGllbnRzLXVybC1jaGFu
Z2UtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorCitQQVNTIFNldHVwIHdvcmtlciAKK1BB
U1MgY2xpZW50IFVSTCAKK1BBU1MgY2xpZW50IFVSTCBjaGFuZ2UgCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9jbGllbnRzLXVybC1jaGFuZ2Utd29y
a2VyLmpzIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvc2VydmljZS13b3JrZXJzL2NsaWVudHMtdXJs
LWNoYW5nZS13b3JrZXIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTM5NTlkODNlY2FiMjYxMTliMmI3MTA2ZDdh
ODI5Mzc5NzIzMDY0OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3Nl
cnZpY2Utd29ya2Vycy9jbGllbnRzLXVybC1jaGFuZ2Utd29ya2VyLmpzCkBAIC0wLDAgKzEsOCBA
QAorCithc3luYyBmdW5jdGlvbiBkb1Rlc3QoZXZlbnQpCit7CisgICAgY29uc3QgY2xpZW50cyA9
IGF3YWl0IHNlbGYuY2xpZW50cy5tYXRjaEFsbCh7IGluY2x1ZGVVbmNvbnRyb2xsZWQgOiB0cnVl
IH0pOworICAgIGV2ZW50LnNvdXJjZS5wb3N0TWVzc2FnZShjbGllbnRzLm1hcChjbGllbnQgPT4g
Y2xpZW50LnVybCkpOworfQorCitzZWxmLmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLCBkb1Rl
c3QpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvc2VydmljZS13b3JrZXJzL2Ns
aWVudHMtdXJsLWNoYW5nZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvc2VydmljZS13b3Jr
ZXJzL2NsaWVudHMtdXJsLWNoYW5nZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUwODE3NzkyMjg4ZWVkZTE5
MmVjZDA1YTkxZDNlNjY2MzBmZjExNTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvY2xpZW50cy11cmwtY2hhbmdlLmh0bWwKQEAgLTAsMCAr
MSw2MCBAQAorPGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5TZXJ2aWNlIFdvcmtlciBGZXRjaCBFdmVu
dDwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+Cit2YXIgc2NvcGUgPSAiIjsKK3ZhciBhY3Rp
dmVXb3JrZXI7CisKK3Byb21pc2VfdGVzdChhc3luYyAodGVzdCkgPT4geworICAgIHZhciByZWdp
c3RyYXRpb24gPSBhd2FpdCBuYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5yZWdpc3RlcigiY2xpZW50
cy11cmwtY2hhbmdlLXdvcmtlci5qcyIsIHsgc2NvcGUgOiBzY29wZSB9KTsKKyAgICBhY3RpdmVX
b3JrZXIgPSByZWdpc3RyYXRpb24uYWN0aXZlOworICAgIGlmIChhY3RpdmVXb3JrZXIpCisgICAg
ICAgIHJldHVybjsKKyAgICBhY3RpdmVXb3JrZXIgPSByZWdpc3RyYXRpb24uaW5zdGFsbGluZzsK
KyAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAgICAgIGFjdGl2ZVdvcmtl
ci5hZGRFdmVudExpc3RlbmVyKCdzdGF0ZWNoYW5nZScsICgpID0+IHsKKyAgICAgICAgICAgIGlm
IChhY3RpdmVXb3JrZXIuc3RhdGUgPT09ICJhY3RpdmF0ZWQiKQorICAgICAgICAgICAgICAgIHJl
c29sdmUoKTsKKyAgICAgICAgfSk7CisgICAgfSk7Cit9LCAiU2V0dXAgd29ya2VyIik7CisKK2Fz
eW5jIGZ1bmN0aW9uIHJldHJpZXZlQ2xpZW50VVJMKCkKK3sKKyAgICBjb25zdCBwcm9taXNlID0g
bmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4geworICAgICAgICBuYXZpZ2F0b3Iuc2Vy
dmljZVdvcmtlci5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwgKGV2ZW50KSA9PiB7CisgICAg
ICAgICAgICByZXNvbHZlKGV2ZW50LmRhdGEpOworICAgICAgICB9KTsKKyAgICAgICAgc2V0VGlt
ZW91dCgoKSA9PiByZWplY3QoIk5vIHJlc3BvbnNlIG1lc3NhZ2UgZnJvbSBzZXJ2aWNlIHdvcmtl
ciIpLCA1MDAwKTsKKyAgICB9KTsKKworICAgIGFjdGl2ZVdvcmtlci5wb3N0TWVzc2FnZSgiY2xp
ZW50LXVybHMiKTsKKyAgICBjb25zdCBjbGllbnRVUkxzID0gYXdhaXQgcHJvbWlzZTsKKyAgICBh
c3NlcnRfdHJ1ZShjbGllbnRVUkxzLmxlbmd0aCA+PSAxLCAidGhlcmUgc2hvdWxkIGJlIGNsaWVu
dHMiKTsKKyAgICByZXR1cm4gY2xpZW50VVJMcy5sZW5ndGggPyBjbGllbnRVUkxzWzBdIDogIiI7
Cit9CisKK3Byb21pc2VfdGVzdChhc3luYyAodGVzdCkgPT4geworICAgIGNvbnN0IGNsaWVudFVS
TCA9IGF3YWl0IHJldHJpZXZlQ2xpZW50VVJMKCk7CisgICAgYXNzZXJ0X3RydWUoY2xpZW50VVJM
LmVuZHNXaXRoKCJjbGllbnRzLXVybC1jaGFuZ2UuaHRtbCIpKTsKK30sICJjbGllbnQgVVJMIik7
CisKK3Byb21pc2VfdGVzdChhc3luYyAodGVzdCkgPT4geworICAgIGxvY2F0aW9uLmhhc2ggPSAi
I3Rlc3QiOworICAgIGxldCBjb3VudGVyID0gMDsKKworICAgIHdoaWxlICgrK2NvdW50ZXIgPCAx
MDApIHsKKyAgICAgICAgY29uc3QgY2xpZW50VVJMID0gYXdhaXQgcmV0cmlldmVDbGllbnRVUkwo
KTsKKyAgICAgICAgaWYgKGNsaWVudFVSTC5lbmRzV2l0aCgiY2xpZW50cy11cmwtY2hhbmdlLmh0
bWwjdGVzdCIpKQorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGF3YWl0IG5ldyBQcm9taXNl
KHJlc29sdmUgPT4gc2V0VGltZW91dChyZXNvbHZlLCA1MCkpOworICAgIH0KKyAgICBhc3NlcnRf
bGVzc190aGFuKGNvdW50ZXIsIDEwMCk7Cit9LCAiY2xpZW50IFVSTCBjaGFuZ2UiKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>457601</attachid>
            <date>2022-04-14 00:33:46 -0700</date>
            <delta_ts>2022-04-14 01:46:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-213984-20220414093344.patch</filename>
            <type>text/plain</type>
            <size>40969</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyODU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGI4NGFkYjE3NDRjNDU1
ZjllZTJjNDM3YjJjNjZmNDA0ZDVlNzUwOC4uMzBmYjRkMzcyNDYyZDdmNzZjNTdjZjI2YjgzMDdj
MTNjOGNlMzg5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDIyLTA0LTE0ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBTZXJ2aWNlV29ya2VyLnBv
c3RNZXNzYWdlKCkgZG9lc24ndCB3b3JrIGZyb20gaW5zaWRlIGlmcmFtZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEzOTg0CisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS82NTIwMzM0MD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBwb3N0TWVzc2FnZSB3YXMgbm90IHdvcmtpbmcgYXMgd2UgZG8gbm90IHBv
c3RNZXNzYWdlIHRvIGEgc2VydmljZSB3b3JrZXIgaWYgdGhlIHNvdXJjZSBpcyBub3QgcmVnaXN0
ZXJlZC4KKyAgICAgICAgV2Ugbm93IHJlZ2lzdGVyIHNlcnZpY2Ugd29ya2VyIGNsaWVudHMgbW9y
ZSBhZ2dyZXNpdmVseSBhbmQgcGFzcyB0aGUgY2xpZW50IG9yaWdpbiB0byBiZXR0ZXIgaGFuZGxl
IGJsb2IgYW5kIGFib3V0OmJsYW5rIGNsaWVudHMuCisgICAgICAgIFdlIGFsc28gYWRkIHN1cHBv
cnQgZm9yIHJlZ2lzdGVyaW5nL3VucmVnaXN0ZXJpbmcgd29ya2VyIGNsaWVudHMgd2hlbiB0aGV5
IGdldCBzdXNwZW5kZWQvcmVzdW1lZC4KKyAgICAgICAgVG8gbWFrZSBzdXJlIGEgd29ya2VyIGNs
aWVudCBpcyByZW1vdmVkIGluIGZhaWx1cmUgY2FzZSwgV29ya2VyU2NyaXB0TG9hZGVyIGlzIHVu
cmVnaXN0ZXJpbmcgdGhlIHNlcnZpY2Ugd29ya2VyIGNsaWVudCBpZgorICAgICAgICB0aGUgc2Vy
dmljZSB3b3JrZXIgZGF0YSB3YXMgbm90IHRha2VuIGJ5IGl0cyBXb3JrZXIuCisKKyAgICAgICAg
VGVzdDogaHR0cC93cHQvc2VydmljZS13b3JrZXJzL2Fib3V0LWJsYW5rLWlmcmFtZS5odG1sCisK
KyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAqIGxvYWRlci9Eb2N1bWVudExv
YWRlci5jcHA6CisgICAgICAgICogd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJUaHJlYWQuY3BwOgor
ICAgICAgICAqIHdvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwOgorICAgICAgICAqIHdvcmtl
cnMvV29ya2VyR2xvYmFsU2NvcGUuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlclNjcmlwdExv
YWRlci5jcHA6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NXQ2xpZW50Q29ubmVjdGlvbi5o
OgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9Xb3JrZXJTV0NsaWVudENvbm5lY3Rpb24uY3Bw
OgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9Xb3JrZXJTV0NsaWVudENvbm5lY3Rpb24uaDoK
KwogMjAyMi0wNC0xMyAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAg
ICAgRXhwb3NlIHdvcmtlcnMgYXMgc2VydmljZSB3b3JrZXIgY2xpZW50cyBhbmQgaW1wbGVtZW50
IHJlZ2lzdHJhdGlvbiBtYXRjaGluZyBmb3IgZGVkaWNhdGVkIHdvcmtlcnMKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXgg
MzE5NjEwZWM5M2Y4YzIyMGYwZDgzY2RjNmRiNTUwZTUzNjcyMjZkZi4uOTU5OWJhOTkwNzU2ODU0
ODgxOWMyOTA4Y2JhMDRhOGQ1MDVmMzkxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAy
Mi0wNC0xNCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgU2Vy
dmljZVdvcmtlci5wb3N0TWVzc2FnZSgpIGRvZXNuJ3Qgd29yayBmcm9tIGluc2lkZSBpZnJhbWUK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMzk4NAor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjUyMDMzNDA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUGFzcyB0aGUgZnVsbCBDbGllbnRPcmlnaW4gd2hl
biByZWdpc3RlcmluZyBhIHNlcnZpY2Ugd29ya2VyIGNsaWVudC4KKyAgICAgICAgRmlsdGVyIG91
dCBjbGllbnRzIHRoYXQgY2Fubm90IGJlIG1hdGNoZWQ6CisgICAgICAgIC0gbm9uIEhUVFAvYmxv
Yi9hYm91dDpibGFuayBjbGllbnRzCisgICAgICAgIC0gc2FuZGJveGVkIEhUVFAgY2xpZW50cwor
CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5l
Y3Rpb24uY3BwOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dT
ZXJ2ZXJDb25uZWN0aW9uLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtl
ci9XZWJTV1NlcnZlckNvbm5lY3Rpb24ubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vz
cy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5jcHA6CisgICAgICAgICogV2ViUHJvY2Vz
cy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5oOgorCiAyMDIyLTA0LTEzICBZb3Vlbm4g
RmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBFeHBvc2Ugd29ya2VycyBhcyBz
ZXJ2aWNlIHdvcmtlciBjbGllbnRzIGFuZCBpbXBsZW1lbnQgcmVnaXN0cmF0aW9uIG1hdGNoaW5n
IGZvciBkZWRpY2F0ZWQgd29ya2VycwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggZTNkYjVk
NmEyZmFiNjc0YmZiNmFiMzcyMWQ2MDkyNDE3ZjVkYTI2OS4uZjY0NDk5NGExY2Y2MzEyZGZjZGEy
NDgyNTU3YzgwZGNiMWJhYzJhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC04Nzc4LDcg
Kzg3NzgsNyBAQCB2b2lkIERvY3VtZW50Ojp1cGRhdGVTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSgp
CiAgICAgICAgIHJldHVybjsKIAogICAgIGF1dG8gY29udHJvbGxpbmdTZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uSWRlbnRpZmllciA9IGFjdGl2ZVNlcnZpY2VXb3JrZXIoKSA/IHN0ZDo6bWFrZV9v
cHRpb25hbDxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcj4oYWN0aXZlU2Vydmlj
ZVdvcmtlcigpLT5yZWdpc3RyYXRpb25JZGVudGlmaWVyKCkpIDogc3RkOjpudWxsb3B0OwotICAg
IG1fc2VydmljZVdvcmtlckNvbm5lY3Rpb24tPnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudCh0
b3BPcmlnaW4oKSwgU2VydmljZVdvcmtlckNsaWVudERhdGE6OmZyb20oKnRoaXMpLCBjb250cm9s
bGluZ1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyLCB1c2VyQWdlbnQodXJsKCkp
KTsKKyAgICBtX3NlcnZpY2VXb3JrZXJDb25uZWN0aW9uLT5yZWdpc3RlclNlcnZpY2VXb3JrZXJD
bGllbnQoY2xpZW50T3JpZ2luKCksIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhOjpmcm9tKCp0aGlz
KSwgY29udHJvbGxpbmdTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciwgdXNlckFn
ZW50KHVybCgpKSk7CiB9CiAKIHZvaWQgRG9jdW1lbnQ6Om5hdmlnYXRlRnJvbVNlcnZpY2VXb3Jr
ZXIoY29uc3QgVVJMJiB1cmwsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYgY2FsbGJh
Y2spCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcAppbmRleCA0MTY5N2Y1
MzBmMWVlY2FkMGMyN2YzYTRlZTJkYzkwOTNmNzAyMjViLi43ZjM5MWJmNDQ2NmNlN2QzMDY3OWQ2
ZjQ0MGU0M2JiZmIwNjVkMzkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9j
dW1lbnRMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRl
ci5jcHAKQEAgLTEyNTksNyArMTI1OSw3IEBAIHZvaWQgRG9jdW1lbnRMb2FkZXI6OmNvbW1pdERh
dGEoY29uc3QgU2hhcmVkQnVmZmVyJiBkYXRhKQogICAgICAgICAgICAgICAgICAgICBkb2N1bWVu
dC5jcmVhdGVOZXdJZGVudGlmaWVyKCk7CiAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIGlm
IChtX2ZyYW1lLT5kb2N1bWVudCgpLT5hY3RpdmVTZXJ2aWNlV29ya2VyKCkgfHwgZG9jdW1lbnQu
dXJsKCkucHJvdG9jb2xJc0luSFRUUEZhbWlseSgpIHx8IChkb2N1bWVudC5wYWdlKCkgJiYgZG9j
dW1lbnQucGFnZSgpLT5pc1NlcnZpY2VXb3JrZXJQYWdlKCkpKQorICAgICAgICAgICAgaWYgKG1f
ZnJhbWUtPmRvY3VtZW50KCktPmFjdGl2ZVNlcnZpY2VXb3JrZXIoKSB8fCBkb2N1bWVudC51cmwo
KS5wcm90b2NvbElzSW5IVFRQRmFtaWx5KCkgfHwgKGRvY3VtZW50LnBhZ2UoKSAmJiBkb2N1bWVu
dC5wYWdlKCktPmlzU2VydmljZVdvcmtlclBhZ2UoKSkgfHwgKGRvY3VtZW50LnBhcmVudERvY3Vt
ZW50KCkgJiYgc2hvdWxkVXNlQWN0aXZlU2VydmljZVdvcmtlckZyb21QYXJlbnQoZG9jdW1lbnQs
ICpkb2N1bWVudC5wYXJlbnREb2N1bWVudCgpKSkpCiAgICAgICAgICAgICAgICAgZG9jdW1lbnQu
c2V0U2VydmljZVdvcmtlckNvbm5lY3Rpb24oJlNlcnZpY2VXb3JrZXJQcm92aWRlcjo6c2luZ2xl
dG9uKCkuc2VydmljZVdvcmtlckNvbm5lY3Rpb24oKSk7CiAKICAgICAgICAgICAgIGlmIChtX3Jl
c3VsdGluZ0NsaWVudElkKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0Rl
ZGljYXRlZFdvcmtlclRocmVhZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRl
ZFdvcmtlclRocmVhZC5jcHAKaW5kZXggNzUwMzMyYjNkZTVlZGZkMmVlNzc1NjUwMTVmN2I4NmUx
ZjViYzZhMy4uMmY1Mjk3YzlmMDlmOGQwZjJmNTEwZDUyNTJiOTE0ODliYTE4YjQwYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJUaHJlYWQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyVGhyZWFkLmNwcApAQCAt
NTIsNiArNTIsNyBAQCBSZWY8V29ya2VyR2xvYmFsU2NvcGU+IERlZGljYXRlZFdvcmtlclRocmVh
ZDo6Y3JlYXRlV29ya2VyR2xvYmFsU2NvcGUoY29uc3QgV29yawogI2lmIEVOQUJMRShTRVJWSUNF
X1dPUktFUikKICAgICBpZiAocGFyYW1zLnNlcnZpY2VXb3JrZXJEYXRhKQogICAgICAgICBzY29w
ZS0+c2V0QWN0aXZlU2VydmljZVdvcmtlcihTZXJ2aWNlV29ya2VyOjpnZXRPckNyZWF0ZShzY29w
ZS5nZXQoKSwgU2VydmljZVdvcmtlckRhdGEgeyAqcGFyYW1zLnNlcnZpY2VXb3JrZXJEYXRhIH0p
KTsKKyAgICBzY29wZS0+dXBkYXRlU2VydmljZVdvcmtlckNsaWVudERhdGEoKTsKICNlbmRpZgog
ICAgIHJldHVybiBzY29wZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyR2xvYmFsU2NvcGUuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9i
YWxTY29wZS5jcHAKaW5kZXggYWM0ZGU0YjdjMGVkZDQ5NWYwYzA0NTQyNjY2ZmI4MjYyNzA1ZTQ5
MS4uNTI5YjkzZjNmNmU4NGNlNDAxY2NkYTdhZWM4Y2ZmZmRjZDQ3ODNhMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHAKQEAgLTE1MSw2ICsxNTEsMTAg
QEAgdm9pZCBXb3JrZXJHbG9iYWxTY29wZTo6cHJlcGFyZUZvckRlc3RydWN0aW9uKCkKIHsKICAg
ICBXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZTo6cHJlcGFyZUZvckRlc3RydWN0aW9uKCk7CiAK
KyNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCisgICAgc3dDbGllbnRDb25uZWN0aW9uKCkudW5y
ZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQoaWRlbnRpZmllcigpKTsKKyNlbmRpZgorCiAgICAg
c3RvcEluZGV4ZWREYXRhYmFzZSgpOwogCiAgICAgaWYgKG1fY2FjaGVTdG9yYWdlQ29ubmVjdGlv
bikKQEAgLTIyOSwxMCArMjMzLDE4IEBAIHZvaWQgV29ya2VyR2xvYmFsU2NvcGU6OnN1c3BlbmQo
KQogewogICAgIGlmIChtX2Nvbm5lY3Rpb25Qcm94eSkKICAgICAgICAgbV9jb25uZWN0aW9uUHJv
eHktPnNldENvbnRleHRTdXNwZW5kZWQoKnRoaXMsIHRydWUpOworCisjaWYgRU5BQkxFKFNFUlZJ
Q0VfV09SS0VSKQorICAgIHN3Q2xpZW50Q29ubmVjdGlvbigpLnVucmVnaXN0ZXJTZXJ2aWNlV29y
a2VyQ2xpZW50KGlkZW50aWZpZXIoKSk7CisjZW5kaWYKIH0KIAogdm9pZCBXb3JrZXJHbG9iYWxT
Y29wZTo6cmVzdW1lKCkKIHsKKyNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCisgICAgdXBkYXRl
U2VydmljZVdvcmtlckNsaWVudERhdGEoKTsKKyNlbmRpZgorCiAgICAgaWYgKG1fY29ubmVjdGlv
blByb3h5KQogICAgICAgICBtX2Nvbm5lY3Rpb25Qcm94eS0+c2V0Q29udGV4dFN1c3BlbmRlZCgq
dGhpcywgZmFsc2UpOwogfQpAQCAtNjU5LDggKzY3MSw3IEBAIHZvaWQgV29ya2VyR2xvYmFsU2Nv
cGU6OnVwZGF0ZVNlcnZpY2VXb3JrZXJDbGllbnREYXRhKCkKIHsKICAgICBBU1NFUlQodHlwZSgp
ID09IFdlYkNvcmU6Oldvcmtlckdsb2JhbFNjb3BlOjpUeXBlOjpEZWRpY2F0ZWRXb3JrZXIpOwog
ICAgIGF1dG8gY29udHJvbGxpbmdTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciA9
IGFjdGl2ZVNlcnZpY2VXb3JrZXIoKSA/IHN0ZDo6bWFrZV9vcHRpb25hbDxTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uSWRlbnRpZmllcj4oYWN0aXZlU2VydmljZVdvcmtlcigpLT5yZWdpc3RyYXRp
b25JZGVudGlmaWVyKCkpIDogc3RkOjpudWxsb3B0OwotICAgIFNXQ2xpZW50Q29ubmVjdGlvbiYg
Y29ubmVjdGlvbiA9IHN3Q2xpZW50Q29ubmVjdGlvbigpOwotICAgIGNvbm5lY3Rpb24ucmVnaXN0
ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KHRvcE9yaWdpbigpLCBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0
YTo6ZnJvbSgqdGhpcyksIGNvbnRyb2xsaW5nU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50
aWZpZXIsIFN0cmluZyB7IG1fdXNlckFnZW50IH0pOworICAgIHN3Q2xpZW50Q29ubmVjdGlvbigp
LnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChjbGllbnRPcmlnaW4oKSwgU2VydmljZVdvcmtl
ckNsaWVudERhdGE6OmZyb20oKnRoaXMpLCBjb250cm9sbGluZ1NlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb25JZGVudGlmaWVyLCBTdHJpbmcgeyBtX3VzZXJBZ2VudCB9KTsKIH0KICNlbmRpZgogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmggYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmgKaW5kZXggNThiYmQ2NTc3
ZmE0MzcyMDdlOWJhNzZkZGVlNzNlMzk2NGRlZDZjZC4uZWQ3ODkzY2JjODIyYTc4MzVmODA0ZDU5
MmE2YjQ3YWQ0ZjhlNzlkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXJHbG9iYWxTY29wZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFs
U2NvcGUuaApAQCAtOTcsOCArOTcsMTAgQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIFdv
cmtlckZpbGVTeXN0ZW1TdG9yYWdlQ29ubmVjdGlvbiogZmlsZVN5c3RlbVN0b3JhZ2VDb25uZWN0
aW9uKCk7CiAgICAgV29ya2VyQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbiYgY2FjaGVTdG9yYWdlQ29u
bmVjdGlvbigpOwogICAgIE1lc3NhZ2VQb3J0Q2hhbm5lbFByb3ZpZGVyJiBtZXNzYWdlUG9ydENo
YW5uZWxQcm92aWRlcigpOworCiAjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQogICAgIFdvcmtl
clNXQ2xpZW50Q29ubmVjdGlvbiYgc3dDbGllbnRDb25uZWN0aW9uKCk7CisgICAgdm9pZCB1cGRh
dGVTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSgpIGZpbmFsOwogI2VuZGlmCiAKICAgICBXb3JrZXJU
aHJlYWQmIHRocmVhZCgpIGNvbnN0OwpAQCAtMTkyLDkgKzE5NCw2IEBAIHByaXZhdGU6CiAgICAg
Ym9vbCB3cmFwQ3J5cHRvS2V5KGNvbnN0IFZlY3Rvcjx1aW50OF90PiYga2V5LCBWZWN0b3I8dWlu
dDhfdD4mIHdyYXBwZWRLZXkpIGZpbmFsOwogICAgIGJvb2wgdW53cmFwQ3J5cHRvS2V5KGNvbnN0
IFZlY3Rvcjx1aW50OF90PiYgd3JhcHBlZEtleSwgVmVjdG9yPHVpbnQ4X3Q+JiBrZXkpIGZpbmFs
OwogI2VuZGlmCi0jaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQotICAgIHZvaWQgdXBkYXRlU2Vy
dmljZVdvcmtlckNsaWVudERhdGEoKSBmaW5hbDsKLSNlbmRpZgogCiAgICAgdm9pZCBzdG9wSW5k
ZXhlZERhdGFiYXNlKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyU2NyaXB0TG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0
TG9hZGVyLmNwcAppbmRleCA5MWFkYzBmMzM3YjljNGIyZGU1NGRmMjdmMWM2ZjFjMjNmMGQ5Nzgz
Li41MTI3YmI5MDAzMDM0NWQ0MDJlMGFiM2RkNTkwYjcyNzBiNTBjZTk2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuY3BwCkBAIC0zNiw2ICszNiw3IEBA
CiAjaW5jbHVkZSAiU2VydmljZVdvcmtlci5oIgogI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJDb250
ZXh0RGF0YS5oIgogI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZS5oIgorI2luY2x1
ZGUgIlNlcnZpY2VXb3JrZXJQcm92aWRlci5oIgogI2luY2x1ZGUgIlRleHRSZXNvdXJjZURlY29k
ZXIuaCIKICNpbmNsdWRlICJXb3JrZXJGZXRjaFJlc3VsdC5oIgogI2luY2x1ZGUgIldvcmtlckds
b2JhbFNjb3BlLmgiCkBAIC01OCw4ICs1OSwxNCBAQCBXb3JrZXJTY3JpcHRMb2FkZXI6Oldvcmtl
clNjcmlwdExvYWRlcigpCiAKIFdvcmtlclNjcmlwdExvYWRlcjo6fldvcmtlclNjcmlwdExvYWRl
cigpCiB7Ci0gICAgaWYgKG1fY2xpZW50SWRlbnRpZmllcikKLSAgICAgICAgc2NyaXB0RXhlY3V0
aW9uQ29udGV4dElkZW50aWZpZXJUb1dvcmtlclNjcmlwdExvYWRlck1hcCgpLnJlbW92ZShtX2Ns
aWVudElkZW50aWZpZXIpOworICAgIGlmICghbV9jbGllbnRJZGVudGlmaWVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllclRvV29ya2VyU2Ny
aXB0TG9hZGVyTWFwKCkucmVtb3ZlKG1fY2xpZW50SWRlbnRpZmllcik7CisjaWYgRU5BQkxFKFNF
UlZJQ0VfV09SS0VSKQorICAgIGlmIChtX2FjdGl2ZVNlcnZpY2VXb3JrZXJEYXRhKQorICAgICAg
ICBTZXJ2aWNlV29ya2VyUHJvdmlkZXI6OnNpbmdsZXRvbigpLnNlcnZpY2VXb3JrZXJDb25uZWN0
aW9uKCkudW5yZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQobV9jbGllbnRJZGVudGlmaWVyKTsK
KyNlbmRpZgogfQogCiBzdGQ6Om9wdGlvbmFsPEV4Y2VwdGlvbj4gV29ya2VyU2NyaXB0TG9hZGVy
Ojpsb2FkU3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRp
b25Db250ZXh0LCBjb25zdCBVUkwmIHVybCwgU291cmNlIHNvdXJjZSwgRmV0Y2hPcHRpb25zOjpN
b2RlIG1vZGUsIEZldGNoT3B0aW9uczo6Q2FjaGUgY2FjaGVQb2xpY3ksIENvbnRlbnRTZWN1cml0
eVBvbGljeUVuZm9yY2VtZW50IGNvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50LCBjb25z
dCBTdHJpbmcmIGluaXRpYXRvcklkZW50aWZpZXIpCkBAIC0xNTEsMTMgKzE1OCwxMiBAQCB2b2lk
IFdvcmtlclNjcmlwdExvYWRlcjo6bG9hZEFzeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQmIHNjcmlwdEV4ZWN1dAogICAgIC8vIEZJWE1FOiBBZGQgc3VwcG9ydCBmb3Igc2hhcmVk
IHdvcmtlci4KICAgICBpZiAobV9kZXN0aW5hdGlvbiA9PSBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0
aW9uOjpXb3JrZXIgJiYgaXM8RG9jdW1lbnQ+KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpKSB7CiAg
ICAgICAgIEFTU0VSVChjbGllbnRJZGVudGlmaWVyKTsKKyAgICAgICAgb3B0aW9ucy5jbGllbnRJ
ZGVudGlmaWVyID0gbV9jbGllbnRJZGVudGlmaWVyID0gY2xpZW50SWRlbnRpZmllcjsKICAgICAg
ICAgLy8gSW4gY2FzZSBvZiBibG9iIFVSTHMsIHdlIHJldXNlIHRoZSBkb2N1bWVudCBjb250cm9s
bGluZyBzZXJ2aWNlIHdvcmtlci4KICAgICAgICAgaWYgKHJlcXVlc3QtPnVybCgpLnByb3RvY29s
SXNCbG9iKCkgJiYgc2NyaXB0RXhlY3V0aW9uQ29udGV4dC5hY3RpdmVTZXJ2aWNlV29ya2VyKCkp
CiAgICAgICAgICAgICBzZXRDb250cm9sbGluZ1NlcnZpY2VXb3JrZXIoU2VydmljZVdvcmtlckRh
dGEgeyBzY3JpcHRFeGVjdXRpb25Db250ZXh0LmFjdGl2ZVNlcnZpY2VXb3JrZXIoKS0+ZGF0YSgp
IH0pOwotICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgIG9wdGlvbnMuY2xpZW50SWRlbnRpZmll
ciA9IG1fY2xpZW50SWRlbnRpZmllciA9IGNsaWVudElkZW50aWZpZXI7CisgICAgICAgIGVsc2UK
ICAgICAgICAgICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyVG9Xb3JrZXJTY3Jp
cHRMb2FkZXJNYXAoKS5hZGQobV9jbGllbnRJZGVudGlmaWVyLCB0aGlzKTsKLSAgICAgICAgfQog
ICAgIH0gZWxzZSBpZiAoYXV0byogYWN0aXZlU2VydmljZVdvcmtlciA9IHNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQuYWN0aXZlU2VydmljZVdvcmtlcigpKQogICAgICAgICBvcHRpb25zLnNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyID0gYWN0aXZlU2VydmljZVdvcmtlci0+cmVnaXN0
cmF0aW9uSWRlbnRpZmllcigpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL3NlcnZpY2UvU1dDbGllbnRDb25uZWN0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2UvU1dDbGllbnRDb25uZWN0aW9uLmgKaW5kZXggZGQzMzZjYTIwZWNjZGJmMmFl
ZDhmZTQ4Y2RhMzk1NDAzNTMxNWRiZC4uYTFmZGJlZTUwN2Q5MzhjNmE5NjdlODEwZTM3NjE3M2Ex
ZTAwNzliMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NXQ2xp
ZW50Q29ubmVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TV0Ns
aWVudENvbm5lY3Rpb24uaApAQCAtNTAsNiArNTAsNyBAQCBjbGFzcyBTZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uOwogZW51bSBjbGFzcyBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uU3RhdGUgOiB1
aW50OF90OwogZW51bSBjbGFzcyBTZXJ2aWNlV29ya2VyU3RhdGUgOiB1aW50OF90OwogZW51bSBj
bGFzcyBTaG91bGROb3RpZnlXaGVuUmVzb2x2ZWQgOiBib29sOworc3RydWN0IENsaWVudE9yaWdp
bjsKIHN0cnVjdCBFeGNlcHRpb25EYXRhOwogc3RydWN0IE1lc3NhZ2VXaXRoTWVzc2FnZVBvcnRz
Owogc3RydWN0IE5vdGlmaWNhdGlvbkRhdGE7CkBAIC04NCw3ICs4NSw3IEBAIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIFNXU2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXIgc2VydmVyQ29ubmVjdGlvbklk
ZW50aWZpZXIoKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBib29sIG1heUhhdmVTZXJ2aWNlV29y
a2VyUmVnaXN0ZXJlZEZvck9yaWdpbihjb25zdCBTZWN1cml0eU9yaWdpbkRhdGEmKSBjb25zdCA9
IDA7CiAKLSAgICB2aXJ0dWFsIHZvaWQgcmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KGNvbnN0
IFNlY3VyaXR5T3JpZ2luJiB0b3BPcmlnaW4sIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhJiYsIGNv
bnN0IHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXI+Jiwg
U3RyaW5nJiYgdXNlckFnZW50KSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHJlZ2lzdGVyU2Vydmlj
ZVdvcmtlckNsaWVudChjb25zdCBDbGllbnRPcmlnaW4mLCBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0
YSYmLCBjb25zdCBzdGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlm
aWVyPiYsIFN0cmluZyYmIHVzZXJBZ2VudCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCB1bnJlZ2lz
dGVyU2VydmljZVdvcmtlckNsaWVudChTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllcikg
PSAwOwogCiAgICAgdmlydHVhbCB2b2lkIGZpbmlzaEZldGNoaW5nU2NyaXB0SW5TZXJ2ZXIoY29u
c3QgU2VydmljZVdvcmtlckpvYkRhdGFJZGVudGlmaWVyJiwgU2VydmljZVdvcmtlclJlZ2lzdHJh
dGlvbktleSYmLCBXb3JrZXJGZXRjaFJlc3VsdCYmKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvV29ya2VyU1dDbGllbnRDb25uZWN0aW9uLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9Xb3JrZXJTV0NsaWVudENvbm5lY3Rpb24uY3Bw
CmluZGV4IGM1MjRlYzBhNzViNmFmYjI4MTdiZjZlMzgyMzE3NTZmOTViN2VmMmIuLmYxNDBmOTli
NDA4NmJmNmZiY2Y3MmI2YzQ3ZTBkNDFkMWZhMGQ4NTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvc2VydmljZS9Xb3JrZXJTV0NsaWVudENvbm5lY3Rpb24uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9Xb3JrZXJTV0NsaWVudENvbm5lY3Rpb24uY3Bw
CkBAIC0xODQsMTcgKzE4NCwxOSBAQCBib29sIFdvcmtlclNXQ2xpZW50Q29ubmVjdGlvbjo6bWF5
SGF2ZVNlcnZpY2VXb3JrZXJSZWdpc3RlcmVkRm9yT3JpZ2luKGNvbnN0IFNlYwogICAgIHJldHVy
biB0cnVlOwogfQogCi12b2lkIFdvcmtlclNXQ2xpZW50Q29ubmVjdGlvbjo6cmVnaXN0ZXJTZXJ2
aWNlV29ya2VyQ2xpZW50KGNvbnN0IFNlY3VyaXR5T3JpZ2luJiB0b3BPcmlnaW4sIFNlcnZpY2VX
b3JrZXJDbGllbnREYXRhJiYgZGF0YSwgY29uc3Qgc3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uSWRlbnRpZmllcj4mIGlkZW50aWZpZXIsIFN0cmluZyYmIHVzZXJBZ2VudCkK
K3ZvaWQgV29ya2VyU1dDbGllbnRDb25uZWN0aW9uOjpyZWdpc3RlclNlcnZpY2VXb3JrZXJDbGll
bnQoY29uc3QgQ2xpZW50T3JpZ2luJiBjbGllbnRPcmlnaW4sIFNlcnZpY2VXb3JrZXJDbGllbnRE
YXRhJiYgZGF0YSwgY29uc3Qgc3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
SWRlbnRpZmllcj4mIGlkZW50aWZpZXIsIFN0cmluZyYmIHVzZXJBZ2VudCkKIHsKLSAgICBjYWxs
T25NYWluVGhyZWFkKFt0b3BPcmlnaW4gPSB0b3BPcmlnaW4uaXNvbGF0ZWRDb3B5KCksIGRhdGEg
PSBjcm9zc1RocmVhZENvcHkoV1RGTW92ZShkYXRhKSksIGlkZW50aWZpZXIsIHVzZXJBZ2VudCA9
IGNyb3NzVGhyZWFkQ29weShXVEZNb3ZlKHVzZXJBZ2VudCkpXSgpIG11dGFibGUgeworICAgIGNh
bGxPbk1haW5UaHJlYWQoW2NsaWVudE9yaWdpbiA9IGNsaWVudE9yaWdpbi5pc29sYXRlZENvcHko
KSwgZGF0YSA9IGNyb3NzVGhyZWFkQ29weShXVEZNb3ZlKGRhdGEpKSwgaWRlbnRpZmllciwgdXNl
ckFnZW50ID0gY3Jvc3NUaHJlYWRDb3B5KFdURk1vdmUodXNlckFnZW50KSldKCkgbXV0YWJsZSB7
CiAgICAgICAgIGF1dG8mIGNvbm5lY3Rpb24gPSBTZXJ2aWNlV29ya2VyUHJvdmlkZXI6OnNpbmds
ZXRvbigpLnNlcnZpY2VXb3JrZXJDb25uZWN0aW9uKCk7Ci0gICAgICAgIGNvbm5lY3Rpb24ucmVn
aXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KHRvcE9yaWdpbiwgV1RGTW92ZShkYXRhKSwgaWRlbnRp
ZmllciwgV1RGTW92ZSh1c2VyQWdlbnQpKTsKKyAgICAgICAgY29ubmVjdGlvbi5yZWdpc3RlclNl
cnZpY2VXb3JrZXJDbGllbnQoY2xpZW50T3JpZ2luLCBXVEZNb3ZlKGRhdGEpLCBpZGVudGlmaWVy
LCBXVEZNb3ZlKHVzZXJBZ2VudCkpOwogICAgIH0pOwogfQogCi12b2lkIFdvcmtlclNXQ2xpZW50
Q29ubmVjdGlvbjo6dW5yZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dElkZW50aWZpZXIpCit2b2lkIFdvcmtlclNXQ2xpZW50Q29ubmVjdGlvbjo6dW5yZWdp
c3RlclNlcnZpY2VXb3JrZXJDbGllbnQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIg
aWRlbnRpZmllcikKIHsKLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICBjYWxsT25NYWlu
VGhyZWFkKFtpZGVudGlmaWVyXSB7CisgICAgICAgIFNlcnZpY2VXb3JrZXJQcm92aWRlcjo6c2lu
Z2xldG9uKCkuc2VydmljZVdvcmtlckNvbm5lY3Rpb24oKS51bnJlZ2lzdGVyU2VydmljZVdvcmtl
ckNsaWVudChpZGVudGlmaWVyKTsKKyAgICB9KTsKIH0KIAogdm9pZCBXb3JrZXJTV0NsaWVudENv
bm5lY3Rpb246OmZpbmlzaEZldGNoaW5nU2NyaXB0SW5TZXJ2ZXIoY29uc3QgU2VydmljZVdvcmtl
ckpvYkRhdGFJZGVudGlmaWVyJiBqb2JEYXRhSWRlbnRpZmllciwgU2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbktleSYmIHJlZ2lzdHJhdGlvbktleSwgV29ya2VyRmV0Y2hSZXN1bHQmJiByZXN1bHQp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvV29ya2VyU1dDbGll
bnRDb25uZWN0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvV29ya2VyU1dD
bGllbnRDb25uZWN0aW9uLmgKaW5kZXggMmFhNGE0MDk0Y2RlODk0NmJmNDhiNGMxYTc5NzliN2Vi
ZGY2NGU2Yy4uMjliZmIzM2VmNGIzZDQwNjU1MzMwMjFhYzZlMjU0NzY4MDdiMGFiOCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1dvcmtlclNXQ2xpZW50Q29ubmVj
dGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9Xb3JrZXJTV0NsaWVu
dENvbm5lY3Rpb24uaApAQCAtMzksNiArMzksOSBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxX
b3JrZXJTV0NsaWVudENvbm5lY3Rpb24+IGNyZWF0ZShXb3JrZXJHbG9iYWxTY29wZSYgc2NvcGUp
IHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgV29ya2VyU1dDbGllbnRDb25uZWN0aW9uIHsgc2NvcGUg
fSk7IH0KICAgICB+V29ya2VyU1dDbGllbnRDb25uZWN0aW9uKCk7CiAKKyAgICB2b2lkIHJlZ2lz
dGVyU2VydmljZVdvcmtlckNsaWVudChjb25zdCBDbGllbnRPcmlnaW4mLCBTZXJ2aWNlV29ya2Vy
Q2xpZW50RGF0YSYmLCBjb25zdCBzdGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b25JZGVudGlmaWVyPiYsIFN0cmluZyYmIHVzZXJBZ2VudCkgZmluYWw7CisgICAgdm9pZCB1bnJl
Z2lzdGVyU2VydmljZVdvcmtlckNsaWVudChTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmll
cikgZmluYWw7CisKIHByaXZhdGU6CiAgICAgZXhwbGljaXQgV29ya2VyU1dDbGllbnRDb25uZWN0
aW9uKFdvcmtlckdsb2JhbFNjb3BlJik7CiAKQEAgLTUxLDggKzU0LDYgQEAgcHJpdmF0ZToKICAg
ICB2b2lkIHBvc3RNZXNzYWdlVG9TZXJ2aWNlV29ya2VyKFNlcnZpY2VXb3JrZXJJZGVudGlmaWVy
IGRlc3RpbmF0aW9uLCBNZXNzYWdlV2l0aE1lc3NhZ2VQb3J0cyYmLCBjb25zdCBTZXJ2aWNlV29y
a2VyT3JDbGllbnRJZGVudGlmaWVyJiBzb3VyY2UpIGZpbmFsOwogICAgIFNXU2VydmVyQ29ubmVj
dGlvbklkZW50aWZpZXIgc2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXIoKSBjb25zdCBmaW5hbDsK
ICAgICBib29sIG1heUhhdmVTZXJ2aWNlV29ya2VyUmVnaXN0ZXJlZEZvck9yaWdpbihjb25zdCBT
ZWN1cml0eU9yaWdpbkRhdGEmKSBjb25zdCBmaW5hbDsKLSAgICB2b2lkIHJlZ2lzdGVyU2Vydmlj
ZVdvcmtlckNsaWVudChjb25zdCBTZWN1cml0eU9yaWdpbiYgdG9wT3JpZ2luLCBTZXJ2aWNlV29y
a2VyQ2xpZW50RGF0YSYmLCBjb25zdCBzdGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb25JZGVudGlmaWVyPiYsIFN0cmluZyYmIHVzZXJBZ2VudCkgZmluYWw7Ci0gICAgdm9pZCB1
bnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRp
ZmllcikgZmluYWw7CiAgICAgdm9pZCBmaW5pc2hGZXRjaGluZ1NjcmlwdEluU2VydmVyKGNvbnN0
IFNlcnZpY2VXb3JrZXJKb2JEYXRhSWRlbnRpZmllciYsIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b25LZXkmJiwgV29ya2VyRmV0Y2hSZXN1bHQmJikgZmluYWw7CiAgICAgdm9pZCBzY2hlZHVsZUpv
YkluU2VydmVyKGNvbnN0IFNlcnZpY2VXb3JrZXJKb2JEYXRhJikgZmluYWw7CiAgICAgdm9pZCBz
Y2hlZHVsZUpvYihTZXJ2aWNlV29ya2VyT3JDbGllbnRJZGVudGlmaWVyLCBjb25zdCBTZXJ2aWNl
V29ya2VySm9iRGF0YSYpIGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9u
LmNwcAppbmRleCBiM2RkNGE1MjgyMDkyNGQ5MDEyNDkxMzcxN2ZiYjIwMjVhZjU1MzljLi44ODk4
OGRmZTk3ODZiOGFjZGJlM2Y0MzA0Yjg3Mzg2MTEyYjIxOTg0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9u
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2Vi
U1dTZXJ2ZXJDb25uZWN0aW9uLmNwcApAQCAtMTg0LDcgKzE4NCw3IEBAIHZvaWQgV2ViU1dTZXJ2
ZXJDb25uZWN0aW9uOjpjb250cm9sQ2xpZW50KGNvbnN0IE5ldHdvcmtSZXNvdXJjZUxvYWRQYXJh
bWV0ZXJzJiBwCiAKICAgICBhdXRvIGFuY2VzdG9yT3JpZ2lucyA9IG1hcChwYXJhbWV0ZXJzLmZy
YW1lQW5jZXN0b3JPcmlnaW5zLCBbXShhdXRvJiBvcmlnaW4pIHsgcmV0dXJuIG9yaWdpbi0+dG9T
dHJpbmcoKTsgfSk7CiAgICAgU2VydmljZVdvcmtlckNsaWVudERhdGEgZGF0YSB7IGNsaWVudElk
ZW50aWZpZXIsIGNsaWVudFR5cGUsIFNlcnZpY2VXb3JrZXJDbGllbnRGcmFtZVR5cGU6Ok5vbmUs
IHJlcXVlc3QudXJsKCksIHBhcmFtZXRlcnMud2ViUGFnZUlELCBwYXJhbWV0ZXJzLndlYkZyYW1l
SUQsIHJlcXVlc3QuaXNBcHBJbml0aWF0ZWQoKSA/IFdlYkNvcmU6Okxhc3ROYXZpZ2F0aW9uV2Fz
QXBwSW5pdGlhdGVkOjpZZXMgOiBXZWJDb3JlOjpMYXN0TmF2aWdhdGlvbldhc0FwcEluaXRpYXRl
ZDo6Tm8sIGZhbHNlLCBmYWxzZSwgMCwgV1RGTW92ZShhbmNlc3Rvck9yaWdpbnMpIH07Ci0gICAg
cmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KFNlY3VyaXR5T3JpZ2luRGF0YSB7IHJlZ2lzdHJh
dGlvbi5rZXkoKS50b3BPcmlnaW4oKSB9LCBXVEZNb3ZlKGRhdGEpLCByZWdpc3RyYXRpb24uaWRl
bnRpZmllcigpLCByZXF1ZXN0Lmh0dHBVc2VyQWdlbnQoKSk7CisgICAgcmVnaXN0ZXJTZXJ2aWNl
V29ya2VyQ2xpZW50KENsaWVudE9yaWdpbiB7IHJlZ2lzdHJhdGlvbi5rZXkoKS50b3BPcmlnaW4o
KSwgU2VjdXJpdHlPcmlnaW5EYXRhOjpmcm9tVVJMKHJlcXVlc3QudXJsKCkpIH0sIFdURk1vdmUo
ZGF0YSksIHJlZ2lzdHJhdGlvbi5pZGVudGlmaWVyKCksIHJlcXVlc3QuaHR0cFVzZXJBZ2VudCgp
KTsKIH0KIAogc3RkOjp1bmlxdWVfcHRyPFNlcnZpY2VXb3JrZXJGZXRjaFRhc2s+IFdlYlNXU2Vy
dmVyQ29ubmVjdGlvbjo6Y3JlYXRlRmV0Y2hUYXNrKE5ldHdvcmtSZXNvdXJjZUxvYWRlciYgbG9h
ZGVyLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QpCkBAIC0zOTUsMTIgKzM5NSwxOSBA
QCB2b2lkIFdlYlNXU2VydmVyQ29ubmVjdGlvbjo6Z2V0UmVnaXN0cmF0aW9ucyhjb25zdCBTZWN1
cml0eU9yaWdpbkRhdGEmIHRvcE9yaWdpbgogICAgIGNhbGxiYWNrKHNlcnZlcigpLmdldFJlZ2lz
dHJhdGlvbnModG9wT3JpZ2luLCBjbGllbnRVUkwpKTsKIH0KIAotdm9pZCBXZWJTV1NlcnZlckNv
bm5lY3Rpb246OnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChTZWN1cml0eU9yaWdpbkRhdGEm
JiB0b3BPcmlnaW4sIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhJiYgZGF0YSwgY29uc3Qgc3RkOjpv
cHRpb25hbDxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcj4mIGNvbnRyb2xsaW5n
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIsIFN0cmluZyYmIHVzZXJBZ2VudCkK
K3ZvaWQgV2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjpyZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQo
V2ViQ29yZTo6Q2xpZW50T3JpZ2luJiYgY2xpZW50T3JpZ2luLCBTZXJ2aWNlV29ya2VyQ2xpZW50
RGF0YSYmIGRhdGEsIGNvbnN0IHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlclJlZ2lzdHJhdGlv
bklkZW50aWZpZXI+JiBjb250cm9sbGluZ1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlm
aWVyLCBTdHJpbmcmJiB1c2VyQWdlbnQpCiB7CiAgICAgQ09OTkVDVElPTl9NRVNTQUdFX0NIRUNL
KGRhdGEuaWRlbnRpZmllci5wcm9jZXNzSWRlbnRpZmllcigpID09IGlkZW50aWZpZXIoKSk7Ci0g
ICAgQ09OTkVDVElPTl9NRVNTQUdFX0NIRUNLKCF0b3BPcmlnaW4uaXNFbXB0eSgpKTsKKyAgICBD
T05ORUNUSU9OX01FU1NBR0VfQ0hFQ0soIWNsaWVudE9yaWdpbi50b3BPcmlnaW4uaXNFbXB0eSgp
KTsKKworICAgIGF1dG8mIGNvbnRleHRPcmlnaW4gPSBjbGllbnRPcmlnaW4uY2xpZW50T3JpZ2lu
OworICAgIGlmIChkYXRhLnVybC5wcm90b2NvbElzSW5IVFRQRmFtaWx5KCkpIHsKKyAgICAgICAg
Ly8gV2UgZG8gbm90IHJlZ2lzdGVyIGFueSBzYW5kYm94IGRvY3VtZW50LgorICAgICAgICBpZiAo
Y29udGV4dE9yaWdpbiAhPSBTZWN1cml0eU9yaWdpbkRhdGE6OmZyb21VUkwoZGF0YS51cmwpKQor
ICAgICAgICAgICAgcmV0dXJuOworICAgIH0gZWxzZSBpZiAoIWRhdGEudXJsLmlzQWJvdXRCbGFu
aygpICYmICFkYXRhLnVybC5wcm90b2NvbElzQmxvYigpKQorICAgICAgICByZXR1cm47CiAKLSAg
ICBhdXRvIGNvbnRleHRPcmlnaW4gPSBTZWN1cml0eU9yaWdpbkRhdGE6OmZyb21VUkwoZGF0YS51
cmwpOwogICAgIENPTk5FQ1RJT05fTUVTU0FHRV9DSEVDSyghY29udGV4dE9yaWdpbi5pc0VtcHR5
KCkpOwogCiAgICAgYm9vbCBpc05ld09yaWdpbiA9IFdURjo6YWxsT2YobV9jbGllbnRPcmlnaW5z
LnZhbHVlcygpLCBbJmNvbnRleHRPcmlnaW5dKGF1dG8mIG9yaWdpbikgewpAQCAtNDA4LDcgKzQx
NSw2IEBAIHZvaWQgV2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjpyZWdpc3RlclNlcnZpY2VXb3JrZXJD
bGllbnQoU2VjdXJpdHlPcmlnaW5EYXRhJiYgdG9wCiAgICAgfSk7CiAgICAgYXV0byogY29udGV4
dENvbm5lY3Rpb24gPSBpc05ld09yaWdpbiA/IHNlcnZlcigpLmNvbnRleHRDb25uZWN0aW9uRm9y
UmVnaXN0cmFibGVEb21haW4oUmVnaXN0cmFibGVEb21haW4geyBjb250ZXh0T3JpZ2luIH0pIDog
bnVsbHB0cjsKIAotICAgIGF1dG8gY2xpZW50T3JpZ2luID0gQ2xpZW50T3JpZ2luIHsgV1RGTW92
ZSh0b3BPcmlnaW4pLCBXVEZNb3ZlKGNvbnRleHRPcmlnaW4pIH07CiAgICAgbV9jbGllbnRPcmln
aW5zLmFkZChkYXRhLmlkZW50aWZpZXIsIGNsaWVudE9yaWdpbik7CiAgICAgc2VydmVyKCkucmVn
aXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KFdURk1vdmUoY2xpZW50T3JpZ2luKSwgV1RGTW92ZShk
YXRhKSwgY29udHJvbGxpbmdTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciwgV1RG
TW92ZSh1c2VyQWdlbnQpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5oIGIvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5oCmlu
ZGV4IGIwZGI4NWJjNjdhZTBkZTViMDc0YWQ5ZGZmMDIzZTZhYzFlYmZiMDAuLjRmMDI1ZTIxOTEx
ZjMyYjZlYTBmM2QyYTk5N2U1ODk5ZTM4MGFiNDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJD
b25uZWN0aW9uLmgKQEAgLTExMCw3ICsxMTAsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgbWF0Y2hS
ZWdpc3RyYXRpb24oY29uc3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhJiB0b3BPcmlnaW4s
IGNvbnN0IFVSTCYgY2xpZW50VVJMLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9u
YWw8V2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGE+JiYpPiYmKTsKICAgICB2
b2lkIGdldFJlZ2lzdHJhdGlvbnMoY29uc3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhJiB0
b3BPcmlnaW4sIGNvbnN0IFVSTCYgY2xpZW50VVJMLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGNv
bnN0IFZlY3RvcjxXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YT4mKT4mJik7
CiAKLSAgICB2b2lkIHJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChXZWJDb3JlOjpTZWN1cml0
eU9yaWdpbkRhdGEmJiB0b3BPcmlnaW4sIFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDbGllbnREYXRh
JiYsIGNvbnN0IHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlv
bklkZW50aWZpZXI+JiwgU3RyaW5nJiYgdXNlckFnZW50KTsKKyAgICB2b2lkIHJlZ2lzdGVyU2Vy
dmljZVdvcmtlckNsaWVudChXZWJDb3JlOjpDbGllbnRPcmlnaW4mJiwgV2ViQ29yZTo6U2Vydmlj
ZVdvcmtlckNsaWVudERhdGEmJiwgY29uc3Qgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpTZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcj4mLCBTdHJpbmcmJiB1c2VyQWdlbnQpOwogICAg
IHZvaWQgdW5yZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQoY29uc3QgV2ViQ29yZTo6U2NyaXB0
RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXImKTsKICAgICB2b2lkIHRlcm1pbmF0ZVdvcmtlckZy
b21DbGllbnQoV2ViQ29yZTo6U2VydmljZVdvcmtlcklkZW50aWZpZXIsIENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoKT4mJik7CiAgICAgdm9pZCB3aGVuU2VydmljZVdvcmtlcklzVGVybWluYXRlZEZv
clRlc3RpbmcoV2ViQ29yZTo6U2VydmljZVdvcmtlcklkZW50aWZpZXIsIENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoKT4mJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLm1lc3NhZ2VzLmluIGIvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlv
bi5tZXNzYWdlcy5pbgppbmRleCA0M2ZkMTI0ZjBjOTNhOTg1ZWUyNjlmZmRlNjViODJkMDFmZTFm
ZWE4Li4xNWZjYTU0M2M1N2U3ZDMxYjg4NWE3MDAwOGUzNjg4ZmE0NGVjYzliIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJD
b25uZWN0aW9uLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
U2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24ubWVzc2FnZXMuaW4KQEAgLTM4LDcg
KzM4LDcgQEAgbWVzc2FnZXMgLT4gV2ViU1dTZXJ2ZXJDb25uZWN0aW9uIE5vdFJlZkNvdW50ZWQg
ewogICAgIE1hdGNoUmVnaXN0cmF0aW9uKHN0cnVjdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRh
dGEgdG9wT3JpZ2luLCBVUkwgY2xpZW50VVJMKSAtPiAoc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpT
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YT4gcmVnaXN0cmF0aW9uKQogICAgIFdoZW5SZWdp
c3RyYXRpb25SZWFkeShzdHJ1Y3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhIHRvcE9yaWdp
biwgVVJMIGNsaWVudFVSTCkgLT4gKHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6U2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbkRhdGE+IHJlZ2lzdHJhdGlvbikKICAgICBHZXRSZWdpc3RyYXRpb25zKHN0
cnVjdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEgdG9wT3JpZ2luLCBVUkwgY2xpZW50VVJM
KSAtPiAoVmVjdG9yPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhPiByZWdp
c3RyYXRpb25zKQotICAgIFJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChzdHJ1Y3QgV2ViQ29y
ZTo6U2VjdXJpdHlPcmlnaW5EYXRhIHRvcE9yaWdpbiwgc3RydWN0IFdlYkNvcmU6OlNlcnZpY2VX
b3JrZXJDbGllbnREYXRhIGRhdGEsIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6U2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbklkZW50aWZpZXI+IGNvbnRyb2xsaW5nU2VydmljZVdvcmtlclJlZ2lzdHJh
dGlvbklkZW50aWZpZXIsIFN0cmluZyB1c2VyQWdlbnQpCisgICAgUmVnaXN0ZXJTZXJ2aWNlV29y
a2VyQ2xpZW50KHN0cnVjdCBXZWJDb3JlOjpDbGllbnRPcmlnaW4gY2xpZW50T3JpZ2luLCBzdHJ1
Y3QgV2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVudERhdGEgZGF0YSwgc3RkOjpvcHRpb25hbDxX
ZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcj4gY29udHJvbGxpbmdT
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciwgU3RyaW5nIHVzZXJBZ2VudCkKICAg
ICBVbnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25D
b250ZXh0SWRlbnRpZmllciBpZGVudGlmaWVyKQogCiAgICAgVGVybWluYXRlV29ya2VyRnJvbUNs
aWVudChXZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRlbnRpZmllciB3b3JrZXJJZGVudGlmaWVyKSAt
PiAoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dD
bGllbnRDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dl
YlNXQ2xpZW50Q29ubmVjdGlvbi5jcHAKaW5kZXggMTc4MGNhYzdiNmE3NzdiZjEzZjgyMzI0NTdl
NTRkMzkxMTVlZGMwZS4uYTI3MTM3YmYxMmRkZGFiODdkMDNiOWM3OGNiZmZhZmY1M2M4NTdmOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRD
b25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJT
V0NsaWVudENvbm5lY3Rpb24uY3BwCkBAIC0xMTUsOSArMTE1LDkgQEAgdm9pZCBXZWJTV0NsaWVu
dENvbm5lY3Rpb246OnBvc3RNZXNzYWdlVG9TZXJ2aWNlV29ya2VyKFNlcnZpY2VXb3JrZXJJZGVu
dGlmaWVyIGQKICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJTV1NlcnZlckNvbm5lY3Rpb246OlBvc3RN
ZXNzYWdlVG9TZXJ2aWNlV29ya2VyIHsgZGVzdGluYXRpb25JZGVudGlmaWVyLCBXVEZNb3ZlKG1l
c3NhZ2UpLCBzb3VyY2VJZGVudGlmaWVyIH0pOwogfQogCi12b2lkIFdlYlNXQ2xpZW50Q29ubmVj
dGlvbjo6cmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KGNvbnN0IFNlY3VyaXR5T3JpZ2luJiB0
b3BPcmlnaW4sIFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDbGllbnREYXRhJiYgZGF0YSwgY29uc3Qg
c3RkOjpvcHRpb25hbDxXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmll
cj4mIGNvbnRyb2xsaW5nU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIsIFN0cmlu
ZyYmIHVzZXJBZ2VudCkKK3ZvaWQgV2ViU1dDbGllbnRDb25uZWN0aW9uOjpyZWdpc3RlclNlcnZp
Y2VXb3JrZXJDbGllbnQoY29uc3QgQ2xpZW50T3JpZ2luJiBjbGllbnRPcmlnaW4sIFdlYkNvcmU6
OlNlcnZpY2VXb3JrZXJDbGllbnREYXRhJiYgZGF0YSwgY29uc3Qgc3RkOjpvcHRpb25hbDxXZWJD
b3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcj4mIGNvbnRyb2xsaW5nU2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIsIFN0cmluZyYmIHVzZXJBZ2VudCkKIHsK
LSAgICBzZW5kKE1lc3NhZ2VzOjpXZWJTV1NlcnZlckNvbm5lY3Rpb246OlJlZ2lzdGVyU2Vydmlj
ZVdvcmtlckNsaWVudCB7IHRvcE9yaWdpbi5kYXRhKCksIGRhdGEsIGNvbnRyb2xsaW5nU2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIsIHVzZXJBZ2VudCB9KTsKKyAgICBzZW5kKE1l
c3NhZ2VzOjpXZWJTV1NlcnZlckNvbm5lY3Rpb246OlJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVu
dCB7IGNsaWVudE9yaWdpbiwgZGF0YSwgY29udHJvbGxpbmdTZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uSWRlbnRpZmllciwgdXNlckFnZW50IH0pOwogfQogCiB2b2lkIFdlYlNXQ2xpZW50Q29ubmVj
dGlvbjo6dW5yZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQoU2NyaXB0RXhlY3V0aW9uQ29udGV4
dElkZW50aWZpZXIgY29udGV4dElkZW50aWZpZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5oCmluZGV4IDYyMmZj
MDhmMzE0NThkNmUyZjg1NWE5MmJmMTc0YzAyNjEwNThlOGUuLmJiOWUwMGE5NmNjNmNmMzRhMTk0
ZTRmOTZkYjExZjg4ZmRiMTU3YTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5oCkBAIC03Myw3ICs3Myw3IEBA
IHByaXZhdGU6CiAgICAgdm9pZCBzY2hlZHVsZUpvYkluU2VydmVyKGNvbnN0IFdlYkNvcmU6OlNl
cnZpY2VXb3JrZXJKb2JEYXRhJikgZmluYWw7CiAgICAgdm9pZCBmaW5pc2hGZXRjaGluZ1Njcmlw
dEluU2VydmVyKGNvbnN0IFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJKb2JEYXRhSWRlbnRpZmllciYs
IFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkmJiwgV2ViQ29yZTo6V29ya2Vy
RmV0Y2hSZXN1bHQmJikgZmluYWw7CiAgICAgdm9pZCBwb3N0TWVzc2FnZVRvU2VydmljZVdvcmtl
cihXZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRlbnRpZmllciBkZXN0aW5hdGlvbklkZW50aWZpZXIs
IFdlYkNvcmU6Ok1lc3NhZ2VXaXRoTWVzc2FnZVBvcnRzJiYsIGNvbnN0IFdlYkNvcmU6OlNlcnZp
Y2VXb3JrZXJPckNsaWVudElkZW50aWZpZXImIHNvdXJjZSkgZmluYWw7Ci0gICAgdm9pZCByZWdp
c3RlclNlcnZpY2VXb3JrZXJDbGllbnQoY29uc3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4mIHRv
cE9yaWdpbiwgV2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVudERhdGEmJiwgY29uc3Qgc3RkOjpv
cHRpb25hbDxXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcj4mLCBT
dHJpbmcmJiB1c2VyQWdlbnQpIGZpbmFsOworICAgIHZvaWQgcmVnaXN0ZXJTZXJ2aWNlV29ya2Vy
Q2xpZW50KGNvbnN0IFdlYkNvcmU6OkNsaWVudE9yaWdpbiYsIFdlYkNvcmU6OlNlcnZpY2VXb3Jr
ZXJDbGllbnREYXRhJiYsIGNvbnN0IHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6U2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbklkZW50aWZpZXI+JiwgU3RyaW5nJiYgdXNlckFnZW50KSBmaW5hbDsKICAg
ICB2b2lkIHVucmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KFdlYkNvcmU6OlNjcmlwdEV4ZWN1
dGlvbkNvbnRleHRJZGVudGlmaWVyKSBmaW5hbDsKICAgICB2b2lkIHNjaGVkdWxlVW5yZWdpc3Rl
ckpvYkluU2VydmVyKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVy
LCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyT3JDbGllbnRJZGVudGlmaWVyLCBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKFdlYkNvcmU6OkV4Y2VwdGlvbk9yPGJvb2w+JiYpPiYmKSBmaW5hbDsKIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmlu
ZGV4IGQxYWEzZjg4ZWJiMGIzMDE3NmY1ZjM4MTJhODIwMDJmZjA5MmNkMDcuLmVmZDExMDI4Mjlk
ODc2N2U2NmJiMjk2MGU5NDc3OTZlYWQ1NDk5YjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAy
Mi0wNC0xNCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgU2Vy
dmljZVdvcmtlci5wb3N0TWVzc2FnZSgpIGRvZXNuJ3Qgd29yayBmcm9tIGluc2lkZSBpZnJhbWUK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMzk4NAor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjUyMDMzNDA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBodHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvYWJv
dXQtYmxhbmstaWZyYW1lLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQv
c2VydmljZS13b3JrZXJzL2Fib3V0LWJsYW5rLWlmcmFtZS13b3JrZXIuanM6IEFkZGVkLgorICAg
ICAgICAqIGh0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9hYm91dC1ibGFuay1pZnJhbWUuaHRtbDog
QWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvY2xpZW50LXJlbW92
ZWQtZnJvbS1jbGllbnRzLXdoaWxlLWluLXBhZ2UtY2FjaGUtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIGh0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL2NsaWVudC1yZW1vdmVkLWZyb20tY2xpZW50
cy13aGlsZS1pbi1wYWdlLWNhY2hlLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy93b3JrZXJz
L3NlcnZpY2Uvb3RoZXJfcmVzb3VyY2VzL3Rlc3QuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3Rz
L3dvcmtlcnMvc2VydmljZS9yZXNvdXJjZXMvZ2V0Q2xpZW50SWRzLXdvcmtlci5qczoKKwogMjAy
Mi0wNC0xMyAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgRXhw
b3NlIHdvcmtlcnMgYXMgc2VydmljZSB3b3JrZXIgY2xpZW50cyBhbmQgaW1wbGVtZW50IHJlZ2lz
dHJhdGlvbiBtYXRjaGluZyBmb3IgZGVkaWNhdGVkIHdvcmtlcnMKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
Q2hhbmdlTG9nCmluZGV4IDkyNzZmNDdlOTFhZDYzNWI1MjI1MTg5NjM3Nzc3NWNkZDNkMjAwOGIu
LjEzMjJmN2YyM2VjYzU1NDE0ZmI4Y2Q4NGM1NjEzODMxM2NkZmIxMzEgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIyLTA0LTE0ICBZb3Vlbm4gRmFi
bGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBTZXJ2aWNlV29ya2VyLnBvc3RNZXNz
YWdlKCkgZG9lc24ndCB3b3JrIGZyb20gaW5zaWRlIGlmcmFtZQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEzOTg0CisgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS82NTIwMzM0MD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvYWJvdXQtYmxhbmstcmVwbGFjZW1lbnQuaHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xpZW50
LXVybC1vZi1ibG9iLXVybC13b3JrZXIuaHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xpZW50cy1t
YXRjaGFsbC1ibG9iLXVybC13b3JrZXIuaHR0cHMtZXhwZWN0ZWQudHh0OgorCiAyMDIyLTA0LTEz
ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBFeHBvc2Ugd29y
a2VycyBhcyBzZXJ2aWNlIHdvcmtlciBjbGllbnRzIGFuZCBpbXBsZW1lbnQgcmVnaXN0cmF0aW9u
IG1hdGNoaW5nIGZvciBkZWRpY2F0ZWQgd29ya2VycwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvY2xpZW50LXJlbW92ZWQtZnJvbS1jbGllbnRzLXdo
aWxlLWluLXBhZ2UtY2FjaGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93
b3JrZXJzL3NlcnZpY2UvY2xpZW50LXJlbW92ZWQtZnJvbS1jbGllbnRzLXdoaWxlLWluLXBhZ2Ut
Y2FjaGUtZXhwZWN0ZWQudHh0CmluZGV4IDJiNzA1MTRiMWRkZmY4MDhlZmUxMzU0M2U2ZTI3M2I2
YWYxNTVjMTEuLjQyZDg1MDg2YjgwMmZjNGJhNmQ0NTEwZDI3ZTc5MzdhODAxNDNhNTcgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL2NsaWVudC1yZW1v
dmVkLWZyb20tY2xpZW50cy13aGlsZS1pbi1wYWdlLWNhY2hlLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9jbGllbnQtcmVtb3ZlZC1mcm9t
LWNsaWVudHMtd2hpbGUtaW4tcGFnZS1jYWNoZS1leHBlY3RlZC50eHQKQEAgLTEsNiArMSw4IEBA
CiAqIFRlc3RzIHRoYXQgYSBjbGllbnQgaXMgcmVtb3ZlZCBmcm9tIHRoZSBsaXN0IG9mIHNlcnZp
Y2Ugd29ya2VyIGNsaWVudHMgd2hpbGUgaXQgaXMgaW4gdGhlIHBhZ2UgY2FjaGUKIAotUEFTUzog
c2VydmljZSB3b3JrZXIgaGFzIGluaXRpYWxseSAyIGNsaWVudHMKK1BBU1M6IHNlcnZpY2Ugd29y
a2VyIGhhcyBpbml0aWFsbHkgMiB3aW5kb3cgY2xpZW50cworUEFTUzogc2VydmljZSB3b3JrZXIg
aGFzIGluaXRpYWxseSAyIHdvcmtlciBjbGllbnRzCiBQQVNTOiBwYWdlIGlzIGFib3V0IHRvIGVu
dGVyIHBhZ2UgY2FjaGUKLVBBU1M6IHNlcnZpY2Ugd29ya2VyIGhhcyBvbmx5IDEgY2xpZW50IGFm
dGVyIDEgZW50ZXJlZCBwYWdlIGNhY2hlCitQQVNTOiBzZXJ2aWNlIHdvcmtlciBoYXMgb25seSAx
IHdpbmRvdyBjbGllbnQgYWZ0ZXIgMSBlbnRlcmVkIHBhZ2UgY2FjaGUKK1BBU1M6IHNlcnZpY2Ug
d29ya2VyIGhhcyBvbmx5IDEgd29ya2VyIGNsaWVudCBhZnRlciAxIGVudGVyZWQgcGFnZSBjYWNo
ZQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9j
bGllbnQtcmVtb3ZlZC1mcm9tLWNsaWVudHMtd2hpbGUtaW4tcGFnZS1jYWNoZS5odG1sIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvY2xpZW50LXJlbW92ZWQtZnJvbS1j
bGllbnRzLXdoaWxlLWluLXBhZ2UtY2FjaGUuaHRtbAppbmRleCA2OGE5ZmM2MjQ5ZjUwNTM1Mjk0
ZGY0Mzk3NTFiNTM3ZGY4YjZiMDY2Li5mMDRhODA2MzZmYjY3NmNlMGM3YTM2YTkxOWQ4MTU1YjY2
ZDRjYjQ0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dvcmtlcnMvc2Vydmlj
ZS9jbGllbnQtcmVtb3ZlZC1mcm9tLWNsaWVudHMtd2hpbGUtaW4tcGFnZS1jYWNoZS5odG1sCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL2NsaWVudC1yZW1vdmVk
LWZyb20tY2xpZW50cy13aGlsZS1pbi1wYWdlLWNhY2hlLmh0bWwKQEAgLTksNyArOSw3IEBAIGxv
ZygiIik7CiAKIGxldCB0b3BDbGllbnRJZGVudGlmaWVyID0gbnVsbDsKIGxldCB3aW5kb3dDbGll
bnRJZGVudGlmaWVyID0gbnVsbDsKLQorbGV0IGRlZGljYXRlZFdvcmtlciA9IG51bGw7CiBsZXQg
dHJpZXMgPSAwOwogCiBmdW5jdGlvbiBjb250YWluc0JvdGhDbGllbnRzKGNsaWVudElkZW50aWZp
ZXJzKQpAQCAtMjMsOCArMjMsOCBAQCBmdW5jdGlvbiBjb250YWluc09ubHlUb3BDbGllbnQoY2xp
ZW50SWRlbnRpZmllcnMpCiB9CiAKIG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLmFkZEV2ZW50TGlz
dGVuZXIoIm1lc3NhZ2UiLCBmdW5jdGlvbihldmVudCkgewotICBpZiAoc3RlcCA9PSAiQm90aENs
aWVudHNJbml0aWFsbHlBY3RpdmUiKSB7Ci0gICAgaWYgKCFjb250YWluc0JvdGhDbGllbnRzKGV2
ZW50LmRhdGEpKSB7CisgIGlmIChzdGVwID09ICJBbGxDbGllbnRzSW5pdGlhbGx5QWN0aXZlIikg
eworICAgIGlmICghY29udGFpbnNCb3RoQ2xpZW50cyhldmVudC5kYXRhLmlkcykgJiYgZXZlbnQu
ZGF0YS53b3JrZXJzQ291bnQgIT09IDIpIHsKICAgICAgIGlmICgrK3RyaWVzID4gMjApIHsKICAg
ICAgICAgICBsb2coIkZBSUw6IFdyb25nIGluaXRpYWwgbnVtYmVyIG9mIGNsaWVudHMiKTsKICAg
ICAgICAgICBmaW5pc2hTV1Rlc3QoKTsKQEAgLTMzLDcgKzMzLDggQEAgbmF2aWdhdG9yLnNlcnZp
Y2VXb3JrZXIuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsIGZ1bmN0aW9uKGV2ZW50KSB7CiAg
ICAgICB3b3JrZXIucG9zdE1lc3NhZ2UoImdldENsaWVudElkcyIpOwogICAgICAgcmV0dXJuOwog
ICAgIH0KLSAgICBsb2coIlBBU1M6IHNlcnZpY2Ugd29ya2VyIGhhcyBpbml0aWFsbHkgMiBjbGll
bnRzIik7CisgICAgbG9nKCJQQVNTOiBzZXJ2aWNlIHdvcmtlciBoYXMgaW5pdGlhbGx5IDIgd2lu
ZG93IGNsaWVudHMiKTsKKyAgICBsb2coIlBBU1M6IHNlcnZpY2Ugd29ya2VyIGhhcyBpbml0aWFs
bHkgMiB3b3JrZXIgY2xpZW50cyIpOwogCiAgICAgb3RoZXJXaW5kb3cuYWRkRXZlbnRMaXN0ZW5l
cigicGFnZWhpZGUiLCBmdW5jdGlvbihldmVudCkgewogICAgICAgIGlmICghZXZlbnQucGVyc2lz
dGVkKSB7CkBAIC01NCwyOCArNTUsMzEgQEAgbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIuYWRkRXZl
bnRMaXN0ZW5lcigibWVzc2FnZSIsIGZ1bmN0aW9uKGV2ZW50KSB7CiAgIH0KIAogICBpZiAoc3Rl
cCA9PSAiT25seU9uZUNsaWVudFJlbWFpbnNBY3RpdmUiKSB7Ci0gICAgaWYgKCFjb250YWluc09u
bHlUb3BDbGllbnQoZXZlbnQuZGF0YSkpIHsKKyAgICBpZiAoIWNvbnRhaW5zT25seVRvcENsaWVu
dChldmVudC5kYXRhLmlkcykgJiYgZXZlbnQuZGF0YS53b3JrZXJzQ291bnQgIT09IDEpIHsKICAg
ICAgIGxvZygiRkFJTDogV3JvbmcgbnVtYmVyIG9mIGNsaWVudHMgYWZ0ZXIgb25lIGNsaWVudCBl
bnRlcmVkIHBhZ2UgY2FjaGUiKTsKICAgICAgIGZpbmlzaFNXVGVzdCgpOwogICAgIH0KIAotICAg
IGxvZygiUEFTUzogc2VydmljZSB3b3JrZXIgaGFzIG9ubHkgMSBjbGllbnQgYWZ0ZXIgMSBlbnRl
cmVkIHBhZ2UgY2FjaGUiKTsKKyAgICBsb2coIlBBU1M6IHNlcnZpY2Ugd29ya2VyIGhhcyBvbmx5
IDEgd2luZG93IGNsaWVudCBhZnRlciAxIGVudGVyZWQgcGFnZSBjYWNoZSIpOworICAgIGxvZygi
UEFTUzogc2VydmljZSB3b3JrZXIgaGFzIG9ubHkgMSB3b3JrZXIgY2xpZW50IGFmdGVyIDEgZW50
ZXJlZCBwYWdlIGNhY2hlIik7CiAgICAgZmluaXNoU1dUZXN0KCk7CiAgIH0KIH0pOwogCi1uYXZp
Z2F0b3Iuc2VydmljZVdvcmtlci5yZWdpc3RlcigicmVzb3VyY2VzL2dldENsaWVudElkcy13b3Jr
ZXIuanMiLCB7IH0pLnRoZW4oZnVuY3Rpb24ocmVnaXN0cmF0aW9uKSB7CituYXZpZ2F0b3Iuc2Vy
dmljZVdvcmtlci5yZWdpc3RlcigicmVzb3VyY2VzL2dldENsaWVudElkcy13b3JrZXIuanMiLCB7
IH0pLnRoZW4oYXN5bmMgKHJlZ2lzdHJhdGlvbikgPT4gewogICAgIGlmICghd2luZG93LmludGVy
bmFscykKICAgICAgICAgcmV0dXJuOwogICAgIHRvcENsaWVudElkZW50aWZpZXIgPSBpbnRlcm5h
bHMuc2VydmljZVdvcmtlckNsaWVudEludGVybmFsSWRlbnRpZmllcihkb2N1bWVudCk7CiAKICAg
ICB3b3JrZXIgPSByZWdpc3RyYXRpb24uaW5zdGFsbGluZzsKKworICAgIGRlZGljYXRlZFdvcmtl
ciA9IG5ldyBXb3JrZXIoIm90aGVyX3Jlc291cmNlcy9kdW1teS5qcyIpOworCiAgICAgb3RoZXJX
aW5kb3cgPSBvcGVuKCJvdGhlcl9yZXNvdXJjZXMvdGVzdC5odG1sIik7Ci0gICAgb3RoZXJXaW5k
b3cub25sb2FkID0gZnVuY3Rpb24oKSB7Ci0gICAgICB3aW5kb3dDbGllbnRJZGVudGlmaWVyID0g
aW50ZXJuYWxzLnNlcnZpY2VXb3JrZXJDbGllbnRJbnRlcm5hbElkZW50aWZpZXIob3RoZXJXaW5k
b3cuZG9jdW1lbnQpOwotICAgICAgc3RlcCA9ICJCb3RoQ2xpZW50c0luaXRpYWxseUFjdGl2ZSIK
LSAgICAgIHdvcmtlci5wb3N0TWVzc2FnZSgiZ2V0Q2xpZW50SWRzIik7Ci0gICAgfTsKKyAgICBh
d2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IG90aGVyV2luZG93Lm9ubG9hZCA9IHJlc29sdmUp
OworICAgIHdpbmRvd0NsaWVudElkZW50aWZpZXIgPSBpbnRlcm5hbHMuc2VydmljZVdvcmtlckNs
aWVudEludGVybmFsSWRlbnRpZmllcihvdGhlcldpbmRvdy5kb2N1bWVudCk7CisgICAgc3RlcCA9
ICJBbGxDbGllbnRzSW5pdGlhbGx5QWN0aXZlIgorICAgIHdvcmtlci5wb3N0TWVzc2FnZSgiZ2V0
Q2xpZW50SWRzIik7CiB9KTsKIDwvc2NyaXB0PgogPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2Uvb3RoZXJfcmVzb3VyY2VzL3Rlc3QuaHRt
bCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL290aGVyX3Jlc291cmNl
cy90ZXN0Lmh0bWwKaW5kZXggMmEwMmQ0MWNlMjEzMjNiMWNkYzIyOGM3OGNlYzJmODFjMDU0YmQz
NC4uMGRkN2JiMzZjOWNiODU2M2Y4NWMzNzRhNDU1ZTI2OWRkNmUyZjJmYSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2Uvb3RoZXJfcmVzb3VyY2VzL3Rl
c3QuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9vdGhl
cl9yZXNvdXJjZXMvdGVzdC5odG1sCkBAIC0xICsxLDkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvc3ctdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdD4KK3ZhciBkZWRpY2F0ZWRXb3JrZXIgPSBuZXcgV29ya2VyKCJkdW1teS5q
cyIpOworPC9zY3JpcHQ+CiBURVNUCis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9yZXNvdXJjZXMvZ2V0Q2xpZW50SWRzLXdvcmtlci5q
cyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL3Jlc291cmNlcy9nZXRD
bGllbnRJZHMtd29ya2VyLmpzCmluZGV4IGNlMTliMjRmODA4MDRkYTBmNTUxNzkzYWRhN2FmZTY3
ZWZlMDRjYzQuLmZjMDU2NjMyMDliNjA5OTBmYTZjNzU2ZTJkMjAzZDhmNGMzMTdjYjYgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL3Jlc291cmNlcy9n
ZXRDbGllbnRJZHMtd29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vy
cy9zZXJ2aWNlL3Jlc291cmNlcy9nZXRDbGllbnRJZHMtd29ya2VyLmpzCkBAIC0xLDkgKzEsMTIg
QEAKLXNlbGYuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsIChldmVudCkgPT4geworc2VsZi5h
ZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwgYXN5bmMgKGV2ZW50KSA9PiB7CiAgICAgc291cmNl
ID0gZXZlbnQuc291cmNlOwotICAgIGNsaWVudHMubWF0Y2hBbGwoeyBpbmNsdWRlVW5jb250cm9s
bGVkIDogdHJ1ZSB9KS50aGVuKGZ1bmN0aW9uKGNsaWVudHMpIHsKLSAgICAgICAgbGV0IGlkcyA9
IFtdOwotICAgICAgICBmb3IgKGxldCBjbGllbnQgb2YgY2xpZW50cykKLSAgICAgICAgICAgIGlk
cy5wdXNoKHNlbGYuaW50ZXJuYWxzLnNlcnZpY2VXb3JrZXJDbGllbnRJbnRlcm5hbElkZW50aWZp
ZXIoY2xpZW50KSk7Ci0gICAgICAgIHNvdXJjZS5wb3N0TWVzc2FnZShpZHMpOwotICAgIH0pOwor
ICAgIGNvbnN0IG1hdGNoZWRDbGllbnRzID0gYXdhaXQgY2xpZW50cy5tYXRjaEFsbCh7IGluY2x1
ZGVVbmNvbnRyb2xsZWQgOiB0cnVlLCB0eXBlOiAnYWxsJyB9KQorICAgIGxldCBkYXRhID0geyBp
ZHM6IFtdLCB3b3JrZXJDb3VudDogMCB9OworICAgIGZvciAobGV0IGNsaWVudCBvZiBtYXRjaGVk
Q2xpZW50cykgeworICAgICAgICBpZiAoY2xpZW50LnR5cGUgPT09ICd3b3JrZXInKQorICAgICAg
ICAgICAgZGF0YS53b3JrZXJDb3VudCsrOworICAgICAgICBlbHNlCisgICAgICAgICAgICBkYXRh
Lmlkcy5wdXNoKHNlbGYuaW50ZXJuYWxzLnNlcnZpY2VXb3JrZXJDbGllbnRJbnRlcm5hbElkZW50
aWZpZXIoY2xpZW50KSk7CisgICAgfQorICAgIHNvdXJjZS5wb3N0TWVzc2FnZShkYXRhKTsKIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvc2VydmljZS13b3JrZXJzL2Fib3V0
LWJsYW5rLWlmcmFtZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNl
LXdvcmtlcnMvYWJvdXQtYmxhbmstaWZyYW1lLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yYzFh
NjZkODdlN2M4MmE3OWE5ZGNkMjhjZjg3ZjQ1NDI5NWFlODYyCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC93cHQvc2VydmljZS13b3JrZXJzL2Fib3V0LWJsYW5rLWlmcmFtZS1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACisKK1BBU1Mgc2V0dXAKK1BBU1MgcG9zdCBtZXNz
YWdpbmcgZnJvbSBhbiBpZnJhbWUKK1BBU1MgcmVtb3ZlIGlmcmFtZQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvYWJvdXQtYmxhbmstaWZyYW1lLXdv
cmtlci5qcyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9hYm91dC1ibGFu
ay1pZnJhbWUtd29ya2VyLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyMDI2ODI1YzQ3NGJkZGYzMzYyMThhZmVl
OGQ4OTc4OWY5Yzk0NDUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9z
ZXJ2aWNlLXdvcmtlcnMvYWJvdXQtYmxhbmstaWZyYW1lLXdvcmtlci5qcwpAQCAtMCwwICsxLDQg
QEAKK2FkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCBhc3luYyBldmVudCA9PiB7CisgICAgY29u
c3QgY2xpZW50cyA9IGF3YWl0IHNlbGYuY2xpZW50cy5tYXRjaEFsbCh7IGluY2x1ZGVVbmNvbnRy
b2xsZWQgOiB0cnVlIH0pOworICAgIGNsaWVudHMuZm9yRWFjaChjbGllbnQgPT4gY2xpZW50LnBv
c3RNZXNzYWdlKGV2ZW50LmRhdGEpKTsKK30pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC93cHQvc2VydmljZS13b3JrZXJzL2Fib3V0LWJsYW5rLWlmcmFtZS5odG1sIGIvTGF5b3V0VGVz
dHMvaHR0cC93cHQvc2VydmljZS13b3JrZXJzL2Fib3V0LWJsYW5rLWlmcmFtZS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmIxMzgxMWU4YjYxMGViM2M1NTM5YTFkYTA1OTNjMDcwZGJkNDc2MjgKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvYWJvdXQtYmxh
bmstaWZyYW1lLmh0bWwKQEAgLTAsMCArMSw0NCBAQAorPGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5T
ZXJ2aWNlIFdvcmtlciBGZXRjaCBFdmVudDwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxpZnJhbWUgaWQ9
J215ZnJhbWUnPjwvaWZyYW1lPgorPHNjcmlwdD4KK3Byb21pc2VfdGVzdChhc3luYyAoKSA9PiB7
CisgICAgY29uc3QgcHJvbWlzZSA9IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gd2luZG93LnJlc29s
dmVDYWxsYmFjayA9IHJlc29sdmUpOworICAgIG15ZnJhbWUuY29udGVudERvY3VtZW50LndyaXRl
KGAKKyAgICA8Ym9keT4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIG5hdmlnYXRvci5z
ZXJ2aWNlV29ya2VyLnJlZ2lzdGVyKCdhYm91dC1ibGFuay1pZnJhbWUtd29ya2VyLmpzJykudGhl
bihyZWdpc3RyYXRpb24gPT4geworICAgICAgICAgICAgICAgIHdpbmRvdy53b3JrZXIgPSByZWdp
c3RyYXRpb24uYWN0aXZlID8gcmVnaXN0cmF0aW9uLmFjdGl2ZSA6IHJlZ2lzdHJhdGlvbi5pbnN0
YWxsaW5nOworICAgICAgICAgICAgICAgIHBhcmVudC5yZXNvbHZlQ2FsbGJhY2soKTsKKyAgICAg
ICAgICAgIH0pOworICAgICAgICA8LyR7J3NjcmlwdCd9PgorICAgIDwvYm9keT5gKTsKKyAgICBy
ZXR1cm4gcHJvbWlzZTsKK30sICJzZXR1cCIpOworCitwcm9taXNlX3Rlc3QoYXN5bmMgKCkgPT4g
eworICAgIGNvbnN0IHByb21pc2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7
CisgICAgICAgIG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLmFkZEV2ZW50TGlzdGVuZXIoIm1lc3Nh
Z2UiLCAoZXZlbnQpID0+IHsKKyAgICAgICAgICAgIHJlc29sdmUoZXZlbnQuZGF0YSk7CisgICAg
ICAgIH0pOworICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHJlamVjdCgiTm8gcmVzcG9uc2UgbWVz
c2FnZSBmcm9tIHNlcnZpY2Ugd29ya2VyIiksIDUwMDApOworICAgIH0pOworCisgICAgbXlmcmFt
ZS5jb250ZW50V2luZG93Lndvcmtlci5wb3N0TWVzc2FnZSgiaGVsbG8iKTsKKyAgICBhc3NlcnRf
ZXF1YWxzKGF3YWl0IHByb21pc2UsICJoZWxsbyIpOworfSwgInBvc3QgbWVzc2FnaW5nIGZyb20g
YW4gaWZyYW1lIik7CisKK3Byb21pc2VfdGVzdChhc3luYyAoKSA9PiB7CisgICAgY29uc3QgcmVn
aXN0cmF0aW9ucyA9IGF3YWl0IG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLmdldFJlZ2lzdHJhdGlv
bnMoKTsKKyAgICBmb3IgKGxldCByZWdpc3RyYXRpb24gb2YgcmVnaXN0cmF0aW9ucykKKyAgICAg
ICAgYXdhaXQgcmVnaXN0cmF0aW9uLnVucmVnaXN0ZXIoKTsKKyAgICBteWZyYW1lLnJlbW92ZSgp
OworfSwgInJlbW92ZSBpZnJhbWUiKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvYWJvdXQtYmxhbmstcmVwbGFjZW1lbnQuaHR0cHMt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvYWJvdXQtYmxhbmstcmVwbGFjZW1lbnQu
aHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IGZjMGE4YWY1YTg4NWE4MjM2MGZkNjhlNzdlMDYwZTgw
NzNlZWM1NTcuLjU0MTY5OTMxYWViYzhjNGQwZjhiMDg1OWM5MTc2NTI3NjE3MDdlNmMgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2Fib3V0LWJsYW5rLXJlcGxhY2VtZW50Lmh0dHBzLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9hYm91dC1ibGFuay1yZXBsYWNlbWVu
dC5odHRwcy1leHBlY3RlZC50eHQKQEAgLTUsNyArNSw3IEBAIEZBSUwgSW5pdGlhbCBhYm91dDpi
bGFuayBpcyBjb250cm9sbGVkLCBleHBvc2VkIHRvIGNsaWVudHMubWF0Y2hBbGwoKSwgYW5kIG1h
dGNoCiBGQUlMIEluaXRpYWwgYWJvdXQ6YmxhbmsgbW9kaWZpZWQgYnkgcGFyZW50IGlzIGNvbnRy
b2xsZWQsIGV4cG9zZWQgdG8gY2xpZW50cy5tYXRjaEFsbCgpLCBhbmQgbWF0Y2hlcyBmaW5hbCBD
bGllbnQuIGFzc2VydF9mYWxzZTogcmVzdWx0OiBmYWlsdXJlOiBjb3VsZCBub3QgZmluZCBhYm91
dDpibGFuayBjbGllbnQgZXhwZWN0ZWQgZmFsc2UgZ290IHRydWUKIEZBSUwgUG9wdXAgaW5pdGlh
bCBhYm91dDpibGFuayBpcyBjb250cm9sbGVkLCBleHBvc2VkIHRvIGNsaWVudHMubWF0Y2hBbGwo
KSwgYW5kIG1hdGNoZXMgZmluYWwgQ2xpZW50LiBhc3NlcnRfZmFsc2U6IHJlc3VsdDogZmFpbHVy
ZTogY291bGQgbm90IGZpbmQgYWJvdXQ6YmxhbmsgY2xpZW50IGV4cGVjdGVkIGZhbHNlIGdvdCB0
cnVlCiBQQVNTIEluaXRpYWwgYWJvdXQ6YmxhbmsgaXMgY29udHJvbGxlZCwgZXhwb3NlZCB0byBj
bGllbnRzLm1hdGNoQWxsKCksIGFuZCBmaW5hbCBDbGllbnQgaXMgbm90IGNvbnRyb2xsZWQgYnkg
YSBzZXJ2aWNlIHdvcmtlci4KLUZBSUwgU2ltcGxlIGFib3V0OmJsYW5rIGlzIGNvbnRyb2xsZWQg
YW5kIGlzIGV4cG9zZWQgdG8gY2xpZW50cy5tYXRjaEFsbCgpLiBhc3NlcnRfZmFsc2U6IHJlc3Vs
dDogZmFpbHVyZTogY291bGQgbm90IGZpbmQgYWJvdXQ6YmxhbmsgY2xpZW50IGV4cGVjdGVkIGZh
bHNlIGdvdCB0cnVlCi1GQUlMIE5lc3RlZCBhYm91dDpzcmNkb2MgaXMgY29udHJvbGxlZCBhbmQg
aXMgZXhwb3NlZCB0byBjbGllbnRzLm1hdGNoQWxsKCkuIGFzc2VydF9mYWxzZTogcmVzdWx0OiBm
YWlsdXJlOiBjb3VsZCBub3QgZmluZCBhYm91dDpzcmNkb2MgY2xpZW50IGV4cGVjdGVkIGZhbHNl
IGdvdCB0cnVlCi1GQUlMIER5bmFtaWMgYWJvdXQ6YmxhbmsgaXMgY29udHJvbGxlZCBhbmQgaXMg
ZXhwb3NlZCB0byBjbGllbnRzLm1hdGNoQWxsKCkuIGFzc2VydF9mYWxzZTogcmVzdWx0OiBmYWls
dXJlOiBjb3VsZCBub3QgZmluZCBhYm91dDpibGFuayBjbGllbnQgZXhwZWN0ZWQgZmFsc2UgZ290
IHRydWUKK1BBU1MgU2ltcGxlIGFib3V0OmJsYW5rIGlzIGNvbnRyb2xsZWQgYW5kIGlzIGV4cG9z
ZWQgdG8gY2xpZW50cy5tYXRjaEFsbCgpLgorUEFTUyBOZXN0ZWQgYWJvdXQ6c3JjZG9jIGlzIGNv
bnRyb2xsZWQgYW5kIGlzIGV4cG9zZWQgdG8gY2xpZW50cy5tYXRjaEFsbCgpLgorUEFTUyBEeW5h
bWljIGFib3V0OmJsYW5rIGlzIGNvbnRyb2xsZWQgYW5kIGlzIGV4cG9zZWQgdG8gY2xpZW50cy5t
YXRjaEFsbCgpLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGllbnQtdXJsLW9m
LWJsb2ItdXJsLXdvcmtlci5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9j
bGllbnQtdXJsLW9mLWJsb2ItdXJsLXdvcmtlci5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggNGY3
YTdjMTg5MjU2OGY4ZTc1NGVhOWNjOTJiM2RiZGFmYTc3N2RkZC4uMDYwOGMwNDE4MTQwZWUxMmY1
YjUyODE2YzRkZmQ3YzcwZmZlYjBkYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xp
ZW50LXVybC1vZi1ibG9iLXVybC13b3JrZXIuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL2NsaWVudC11cmwtb2YtYmxvYi11cmwtd29ya2VyLmh0dHBzLWV4cGVjdGVk
LnR4dApAQCAtMSwzICsxLDMgQEAKIAotRkFJTCBDbGllbnQudXJsIG9mIGEgYmxvYiBVUkwgd29y
a2VyIHNob3VsZCBiZSBhIGJsb2IgVVJMLiBhc3NlcnRfbm90X2VxdWFsczogd29ya2VyIGNsaWVu
dCBzaG91bGQgZXhpc3QgZ290IGRpc2FsbG93ZWQgdmFsdWUgIm9uZSB3b3JrZXIgY2xpZW50IHNo
b3VsZCBleGlzdCIKK1BBU1MgQ2xpZW50LnVybCBvZiBhIGJsb2IgVVJMIHdvcmtlciBzaG91bGQg
YmUgYSBibG9iIFVSTC4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xpZW50cy1t
YXRjaGFsbC1ibG9iLXVybC13b3JrZXIuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvY2xpZW50cy1tYXRjaGFsbC1ibG9iLXVybC13b3JrZXIuaHR0cHMtZXhwZWN0ZWQudHh0
CmluZGV4IDgzNmJhZmFmNjg0MjllMTFmOTNiNDhhMzUzZDNhZmRiMmQ5ZjE4NWYuLjdiZGM5M2I0
YzFjMzY4OTM1Nzk1OTI4NTEwZTAyNzNmNDZlN2VkM2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL2NsaWVudHMtbWF0Y2hhbGwtYmxvYi11cmwtd29ya2VyLmh0dHBzLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGllbnRzLW1hdGNoYWxsLWJsb2ItdXJsLXdvcmtl
ci5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACiAKLUZBSUwgVGVzdCBDbGllbnRz
Lm1hdGNoQWxsKCkgd2l0aCBhIGJsb2IgVVJMIHdvcmtlciBjbGllbnQuIGFzc2VydF9lcXVhbHM6
IGV4cGVjdGVkIDEgYnV0IGdvdCAwCi1GQUlMIFRlc3QgQ2xpZW50cy5tYXRjaEFsbCgpIHdpdGgg
YW4gdW5jb250cm9sbGVkIGJsb2IgVVJMIHdvcmtlciBjbGllbnQuIGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkIDEgYnV0IGdvdCAwCitQQVNTIFRlc3QgQ2xpZW50cy5tYXRjaEFsbCgpIHdpdGggYSBi
bG9iIFVSTCB3b3JrZXIgY2xpZW50LgorUEFTUyBUZXN0IENsaWVudHMubWF0Y2hBbGwoKSB3aXRo
IGFuIHVuY29udHJvbGxlZCBibG9iIFVSTCB3b3JrZXIgY2xpZW50LgogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>457603</attachid>
            <date>2022-04-14 01:46:44 -0700</date>
            <delta_ts>2022-04-14 02:33:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-213984-20220414104641.patch</filename>
            <type>text/plain</type>
            <size>41222</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyODU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGI4NGFkYjE3NDRjNDU1
ZjllZTJjNDM3YjJjNjZmNDA0ZDVlNzUwOC4uMzBmYjRkMzcyNDYyZDdmNzZjNTdjZjI2YjgzMDdj
MTNjOGNlMzg5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDIyLTA0LTE0ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBTZXJ2aWNlV29ya2VyLnBv
c3RNZXNzYWdlKCkgZG9lc24ndCB3b3JrIGZyb20gaW5zaWRlIGlmcmFtZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEzOTg0CisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS82NTIwMzM0MD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBwb3N0TWVzc2FnZSB3YXMgbm90IHdvcmtpbmcgYXMgd2UgZG8gbm90IHBv
c3RNZXNzYWdlIHRvIGEgc2VydmljZSB3b3JrZXIgaWYgdGhlIHNvdXJjZSBpcyBub3QgcmVnaXN0
ZXJlZC4KKyAgICAgICAgV2Ugbm93IHJlZ2lzdGVyIHNlcnZpY2Ugd29ya2VyIGNsaWVudHMgbW9y
ZSBhZ2dyZXNpdmVseSBhbmQgcGFzcyB0aGUgY2xpZW50IG9yaWdpbiB0byBiZXR0ZXIgaGFuZGxl
IGJsb2IgYW5kIGFib3V0OmJsYW5rIGNsaWVudHMuCisgICAgICAgIFdlIGFsc28gYWRkIHN1cHBv
cnQgZm9yIHJlZ2lzdGVyaW5nL3VucmVnaXN0ZXJpbmcgd29ya2VyIGNsaWVudHMgd2hlbiB0aGV5
IGdldCBzdXNwZW5kZWQvcmVzdW1lZC4KKyAgICAgICAgVG8gbWFrZSBzdXJlIGEgd29ya2VyIGNs
aWVudCBpcyByZW1vdmVkIGluIGZhaWx1cmUgY2FzZSwgV29ya2VyU2NyaXB0TG9hZGVyIGlzIHVu
cmVnaXN0ZXJpbmcgdGhlIHNlcnZpY2Ugd29ya2VyIGNsaWVudCBpZgorICAgICAgICB0aGUgc2Vy
dmljZSB3b3JrZXIgZGF0YSB3YXMgbm90IHRha2VuIGJ5IGl0cyBXb3JrZXIuCisKKyAgICAgICAg
VGVzdDogaHR0cC93cHQvc2VydmljZS13b3JrZXJzL2Fib3V0LWJsYW5rLWlmcmFtZS5odG1sCisK
KyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAqIGxvYWRlci9Eb2N1bWVudExv
YWRlci5jcHA6CisgICAgICAgICogd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJUaHJlYWQuY3BwOgor
ICAgICAgICAqIHdvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwOgorICAgICAgICAqIHdvcmtl
cnMvV29ya2VyR2xvYmFsU2NvcGUuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlclNjcmlwdExv
YWRlci5jcHA6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NXQ2xpZW50Q29ubmVjdGlvbi5o
OgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9Xb3JrZXJTV0NsaWVudENvbm5lY3Rpb24uY3Bw
OgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9Xb3JrZXJTV0NsaWVudENvbm5lY3Rpb24uaDoK
KwogMjAyMi0wNC0xMyAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAg
ICAgRXhwb3NlIHdvcmtlcnMgYXMgc2VydmljZSB3b3JrZXIgY2xpZW50cyBhbmQgaW1wbGVtZW50
IHJlZ2lzdHJhdGlvbiBtYXRjaGluZyBmb3IgZGVkaWNhdGVkIHdvcmtlcnMKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXgg
MzE5NjEwZWM5M2Y4YzIyMGYwZDgzY2RjNmRiNTUwZTUzNjcyMjZkZi4uOTU5OWJhOTkwNzU2ODU0
ODgxOWMyOTA4Y2JhMDRhOGQ1MDVmMzkxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAy
Mi0wNC0xNCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgU2Vy
dmljZVdvcmtlci5wb3N0TWVzc2FnZSgpIGRvZXNuJ3Qgd29yayBmcm9tIGluc2lkZSBpZnJhbWUK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMzk4NAor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjUyMDMzNDA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUGFzcyB0aGUgZnVsbCBDbGllbnRPcmlnaW4gd2hl
biByZWdpc3RlcmluZyBhIHNlcnZpY2Ugd29ya2VyIGNsaWVudC4KKyAgICAgICAgRmlsdGVyIG91
dCBjbGllbnRzIHRoYXQgY2Fubm90IGJlIG1hdGNoZWQ6CisgICAgICAgIC0gbm9uIEhUVFAvYmxv
Yi9hYm91dDpibGFuayBjbGllbnRzCisgICAgICAgIC0gc2FuZGJveGVkIEhUVFAgY2xpZW50cwor
CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5l
Y3Rpb24uY3BwOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dT
ZXJ2ZXJDb25uZWN0aW9uLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtl
ci9XZWJTV1NlcnZlckNvbm5lY3Rpb24ubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vz
cy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5jcHA6CisgICAgICAgICogV2ViUHJvY2Vz
cy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5oOgorCiAyMDIyLTA0LTEzICBZb3Vlbm4g
RmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBFeHBvc2Ugd29ya2VycyBhcyBz
ZXJ2aWNlIHdvcmtlciBjbGllbnRzIGFuZCBpbXBsZW1lbnQgcmVnaXN0cmF0aW9uIG1hdGNoaW5n
IGZvciBkZWRpY2F0ZWQgd29ya2VycwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggZTNkYjVk
NmEyZmFiNjc0YmZiNmFiMzcyMWQ2MDkyNDE3ZjVkYTI2OS4uZjY0NDk5NGExY2Y2MzEyZGZjZGEy
NDgyNTU3YzgwZGNiMWJhYzJhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC04Nzc4LDcg
Kzg3NzgsNyBAQCB2b2lkIERvY3VtZW50Ojp1cGRhdGVTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSgp
CiAgICAgICAgIHJldHVybjsKIAogICAgIGF1dG8gY29udHJvbGxpbmdTZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uSWRlbnRpZmllciA9IGFjdGl2ZVNlcnZpY2VXb3JrZXIoKSA/IHN0ZDo6bWFrZV9v
cHRpb25hbDxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcj4oYWN0aXZlU2Vydmlj
ZVdvcmtlcigpLT5yZWdpc3RyYXRpb25JZGVudGlmaWVyKCkpIDogc3RkOjpudWxsb3B0OwotICAg
IG1fc2VydmljZVdvcmtlckNvbm5lY3Rpb24tPnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudCh0
b3BPcmlnaW4oKSwgU2VydmljZVdvcmtlckNsaWVudERhdGE6OmZyb20oKnRoaXMpLCBjb250cm9s
bGluZ1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyLCB1c2VyQWdlbnQodXJsKCkp
KTsKKyAgICBtX3NlcnZpY2VXb3JrZXJDb25uZWN0aW9uLT5yZWdpc3RlclNlcnZpY2VXb3JrZXJD
bGllbnQoY2xpZW50T3JpZ2luKCksIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhOjpmcm9tKCp0aGlz
KSwgY29udHJvbGxpbmdTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciwgdXNlckFn
ZW50KHVybCgpKSk7CiB9CiAKIHZvaWQgRG9jdW1lbnQ6Om5hdmlnYXRlRnJvbVNlcnZpY2VXb3Jr
ZXIoY29uc3QgVVJMJiB1cmwsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYgY2FsbGJh
Y2spCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcAppbmRleCA0MTY5N2Y1
MzBmMWVlY2FkMGMyN2YzYTRlZTJkYzkwOTNmNzAyMjViLi43ZjM5MWJmNDQ2NmNlN2QzMDY3OWQ2
ZjQ0MGU0M2JiZmIwNjVkMzkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9j
dW1lbnRMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRl
ci5jcHAKQEAgLTEyNTksNyArMTI1OSw3IEBAIHZvaWQgRG9jdW1lbnRMb2FkZXI6OmNvbW1pdERh
dGEoY29uc3QgU2hhcmVkQnVmZmVyJiBkYXRhKQogICAgICAgICAgICAgICAgICAgICBkb2N1bWVu
dC5jcmVhdGVOZXdJZGVudGlmaWVyKCk7CiAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIGlm
IChtX2ZyYW1lLT5kb2N1bWVudCgpLT5hY3RpdmVTZXJ2aWNlV29ya2VyKCkgfHwgZG9jdW1lbnQu
dXJsKCkucHJvdG9jb2xJc0luSFRUUEZhbWlseSgpIHx8IChkb2N1bWVudC5wYWdlKCkgJiYgZG9j
dW1lbnQucGFnZSgpLT5pc1NlcnZpY2VXb3JrZXJQYWdlKCkpKQorICAgICAgICAgICAgaWYgKG1f
ZnJhbWUtPmRvY3VtZW50KCktPmFjdGl2ZVNlcnZpY2VXb3JrZXIoKSB8fCBkb2N1bWVudC51cmwo
KS5wcm90b2NvbElzSW5IVFRQRmFtaWx5KCkgfHwgKGRvY3VtZW50LnBhZ2UoKSAmJiBkb2N1bWVu
dC5wYWdlKCktPmlzU2VydmljZVdvcmtlclBhZ2UoKSkgfHwgKGRvY3VtZW50LnBhcmVudERvY3Vt
ZW50KCkgJiYgc2hvdWxkVXNlQWN0aXZlU2VydmljZVdvcmtlckZyb21QYXJlbnQoZG9jdW1lbnQs
ICpkb2N1bWVudC5wYXJlbnREb2N1bWVudCgpKSkpCiAgICAgICAgICAgICAgICAgZG9jdW1lbnQu
c2V0U2VydmljZVdvcmtlckNvbm5lY3Rpb24oJlNlcnZpY2VXb3JrZXJQcm92aWRlcjo6c2luZ2xl
dG9uKCkuc2VydmljZVdvcmtlckNvbm5lY3Rpb24oKSk7CiAKICAgICAgICAgICAgIGlmIChtX3Jl
c3VsdGluZ0NsaWVudElkKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0Rl
ZGljYXRlZFdvcmtlclRocmVhZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRl
ZFdvcmtlclRocmVhZC5jcHAKaW5kZXggNzUwMzMyYjNkZTVlZGZkMmVlNzc1NjUwMTVmN2I4NmUx
ZjViYzZhMy4uMmY1Mjk3YzlmMDlmOGQwZjJmNTEwZDUyNTJiOTE0ODliYTE4YjQwYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJUaHJlYWQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyVGhyZWFkLmNwcApAQCAt
NTIsNiArNTIsNyBAQCBSZWY8V29ya2VyR2xvYmFsU2NvcGU+IERlZGljYXRlZFdvcmtlclRocmVh
ZDo6Y3JlYXRlV29ya2VyR2xvYmFsU2NvcGUoY29uc3QgV29yawogI2lmIEVOQUJMRShTRVJWSUNF
X1dPUktFUikKICAgICBpZiAocGFyYW1zLnNlcnZpY2VXb3JrZXJEYXRhKQogICAgICAgICBzY29w
ZS0+c2V0QWN0aXZlU2VydmljZVdvcmtlcihTZXJ2aWNlV29ya2VyOjpnZXRPckNyZWF0ZShzY29w
ZS5nZXQoKSwgU2VydmljZVdvcmtlckRhdGEgeyAqcGFyYW1zLnNlcnZpY2VXb3JrZXJEYXRhIH0p
KTsKKyAgICBzY29wZS0+dXBkYXRlU2VydmljZVdvcmtlckNsaWVudERhdGEoKTsKICNlbmRpZgog
ICAgIHJldHVybiBzY29wZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyR2xvYmFsU2NvcGUuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9i
YWxTY29wZS5jcHAKaW5kZXggYWM0ZGU0YjdjMGVkZDQ5NWYwYzA0NTQyNjY2ZmI4MjYyNzA1ZTQ5
MS4uNTI5YjkzZjNmNmU4NGNlNDAxY2NkYTdhZWM4Y2ZmZmRjZDQ3ODNhMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHAKQEAgLTE1MSw2ICsxNTEsMTAg
QEAgdm9pZCBXb3JrZXJHbG9iYWxTY29wZTo6cHJlcGFyZUZvckRlc3RydWN0aW9uKCkKIHsKICAg
ICBXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZTo6cHJlcGFyZUZvckRlc3RydWN0aW9uKCk7CiAK
KyNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCisgICAgc3dDbGllbnRDb25uZWN0aW9uKCkudW5y
ZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQoaWRlbnRpZmllcigpKTsKKyNlbmRpZgorCiAgICAg
c3RvcEluZGV4ZWREYXRhYmFzZSgpOwogCiAgICAgaWYgKG1fY2FjaGVTdG9yYWdlQ29ubmVjdGlv
bikKQEAgLTIyOSwxMCArMjMzLDE4IEBAIHZvaWQgV29ya2VyR2xvYmFsU2NvcGU6OnN1c3BlbmQo
KQogewogICAgIGlmIChtX2Nvbm5lY3Rpb25Qcm94eSkKICAgICAgICAgbV9jb25uZWN0aW9uUHJv
eHktPnNldENvbnRleHRTdXNwZW5kZWQoKnRoaXMsIHRydWUpOworCisjaWYgRU5BQkxFKFNFUlZJ
Q0VfV09SS0VSKQorICAgIHN3Q2xpZW50Q29ubmVjdGlvbigpLnVucmVnaXN0ZXJTZXJ2aWNlV29y
a2VyQ2xpZW50KGlkZW50aWZpZXIoKSk7CisjZW5kaWYKIH0KIAogdm9pZCBXb3JrZXJHbG9iYWxT
Y29wZTo6cmVzdW1lKCkKIHsKKyNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCisgICAgdXBkYXRl
U2VydmljZVdvcmtlckNsaWVudERhdGEoKTsKKyNlbmRpZgorCiAgICAgaWYgKG1fY29ubmVjdGlv
blByb3h5KQogICAgICAgICBtX2Nvbm5lY3Rpb25Qcm94eS0+c2V0Q29udGV4dFN1c3BlbmRlZCgq
dGhpcywgZmFsc2UpOwogfQpAQCAtNjU5LDggKzY3MSw3IEBAIHZvaWQgV29ya2VyR2xvYmFsU2Nv
cGU6OnVwZGF0ZVNlcnZpY2VXb3JrZXJDbGllbnREYXRhKCkKIHsKICAgICBBU1NFUlQodHlwZSgp
ID09IFdlYkNvcmU6Oldvcmtlckdsb2JhbFNjb3BlOjpUeXBlOjpEZWRpY2F0ZWRXb3JrZXIpOwog
ICAgIGF1dG8gY29udHJvbGxpbmdTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciA9
IGFjdGl2ZVNlcnZpY2VXb3JrZXIoKSA/IHN0ZDo6bWFrZV9vcHRpb25hbDxTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uSWRlbnRpZmllcj4oYWN0aXZlU2VydmljZVdvcmtlcigpLT5yZWdpc3RyYXRp
b25JZGVudGlmaWVyKCkpIDogc3RkOjpudWxsb3B0OwotICAgIFNXQ2xpZW50Q29ubmVjdGlvbiYg
Y29ubmVjdGlvbiA9IHN3Q2xpZW50Q29ubmVjdGlvbigpOwotICAgIGNvbm5lY3Rpb24ucmVnaXN0
ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KHRvcE9yaWdpbigpLCBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0
YTo6ZnJvbSgqdGhpcyksIGNvbnRyb2xsaW5nU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50
aWZpZXIsIFN0cmluZyB7IG1fdXNlckFnZW50IH0pOworICAgIHN3Q2xpZW50Q29ubmVjdGlvbigp
LnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChjbGllbnRPcmlnaW4oKSwgU2VydmljZVdvcmtl
ckNsaWVudERhdGE6OmZyb20oKnRoaXMpLCBjb250cm9sbGluZ1NlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb25JZGVudGlmaWVyLCBTdHJpbmcgeyBtX3VzZXJBZ2VudCB9KTsKIH0KICNlbmRpZgogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmggYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmgKaW5kZXggNThiYmQ2NTc3
ZmE0MzcyMDdlOWJhNzZkZGVlNzNlMzk2NGRlZDZjZC4uZWQ3ODkzY2JjODIyYTc4MzVmODA0ZDU5
MmE2YjQ3YWQ0ZjhlNzlkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXJHbG9iYWxTY29wZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFs
U2NvcGUuaApAQCAtOTcsOCArOTcsMTAgQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIFdv
cmtlckZpbGVTeXN0ZW1TdG9yYWdlQ29ubmVjdGlvbiogZmlsZVN5c3RlbVN0b3JhZ2VDb25uZWN0
aW9uKCk7CiAgICAgV29ya2VyQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbiYgY2FjaGVTdG9yYWdlQ29u
bmVjdGlvbigpOwogICAgIE1lc3NhZ2VQb3J0Q2hhbm5lbFByb3ZpZGVyJiBtZXNzYWdlUG9ydENo
YW5uZWxQcm92aWRlcigpOworCiAjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQogICAgIFdvcmtl
clNXQ2xpZW50Q29ubmVjdGlvbiYgc3dDbGllbnRDb25uZWN0aW9uKCk7CisgICAgdm9pZCB1cGRh
dGVTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSgpIGZpbmFsOwogI2VuZGlmCiAKICAgICBXb3JrZXJU
aHJlYWQmIHRocmVhZCgpIGNvbnN0OwpAQCAtMTkyLDkgKzE5NCw2IEBAIHByaXZhdGU6CiAgICAg
Ym9vbCB3cmFwQ3J5cHRvS2V5KGNvbnN0IFZlY3Rvcjx1aW50OF90PiYga2V5LCBWZWN0b3I8dWlu
dDhfdD4mIHdyYXBwZWRLZXkpIGZpbmFsOwogICAgIGJvb2wgdW53cmFwQ3J5cHRvS2V5KGNvbnN0
IFZlY3Rvcjx1aW50OF90PiYgd3JhcHBlZEtleSwgVmVjdG9yPHVpbnQ4X3Q+JiBrZXkpIGZpbmFs
OwogI2VuZGlmCi0jaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQotICAgIHZvaWQgdXBkYXRlU2Vy
dmljZVdvcmtlckNsaWVudERhdGEoKSBmaW5hbDsKLSNlbmRpZgogCiAgICAgdm9pZCBzdG9wSW5k
ZXhlZERhdGFiYXNlKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyU2NyaXB0TG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0
TG9hZGVyLmNwcAppbmRleCA5MWFkYzBmMzM3YjljNGIyZGU1NGRmMjdmMWM2ZjFjMjNmMGQ5Nzgz
Li41MTI3YmI5MDAzMDM0NWQ0MDJlMGFiM2RkNTkwYjcyNzBiNTBjZTk2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuY3BwCkBAIC0zNiw2ICszNiw3IEBA
CiAjaW5jbHVkZSAiU2VydmljZVdvcmtlci5oIgogI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJDb250
ZXh0RGF0YS5oIgogI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZS5oIgorI2luY2x1
ZGUgIlNlcnZpY2VXb3JrZXJQcm92aWRlci5oIgogI2luY2x1ZGUgIlRleHRSZXNvdXJjZURlY29k
ZXIuaCIKICNpbmNsdWRlICJXb3JrZXJGZXRjaFJlc3VsdC5oIgogI2luY2x1ZGUgIldvcmtlckds
b2JhbFNjb3BlLmgiCkBAIC01OCw4ICs1OSwxNCBAQCBXb3JrZXJTY3JpcHRMb2FkZXI6Oldvcmtl
clNjcmlwdExvYWRlcigpCiAKIFdvcmtlclNjcmlwdExvYWRlcjo6fldvcmtlclNjcmlwdExvYWRl
cigpCiB7Ci0gICAgaWYgKG1fY2xpZW50SWRlbnRpZmllcikKLSAgICAgICAgc2NyaXB0RXhlY3V0
aW9uQ29udGV4dElkZW50aWZpZXJUb1dvcmtlclNjcmlwdExvYWRlck1hcCgpLnJlbW92ZShtX2Ns
aWVudElkZW50aWZpZXIpOworICAgIGlmICghbV9jbGllbnRJZGVudGlmaWVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllclRvV29ya2VyU2Ny
aXB0TG9hZGVyTWFwKCkucmVtb3ZlKG1fY2xpZW50SWRlbnRpZmllcik7CisjaWYgRU5BQkxFKFNF
UlZJQ0VfV09SS0VSKQorICAgIGlmIChtX2FjdGl2ZVNlcnZpY2VXb3JrZXJEYXRhKQorICAgICAg
ICBTZXJ2aWNlV29ya2VyUHJvdmlkZXI6OnNpbmdsZXRvbigpLnNlcnZpY2VXb3JrZXJDb25uZWN0
aW9uKCkudW5yZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQobV9jbGllbnRJZGVudGlmaWVyKTsK
KyNlbmRpZgogfQogCiBzdGQ6Om9wdGlvbmFsPEV4Y2VwdGlvbj4gV29ya2VyU2NyaXB0TG9hZGVy
Ojpsb2FkU3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRp
b25Db250ZXh0LCBjb25zdCBVUkwmIHVybCwgU291cmNlIHNvdXJjZSwgRmV0Y2hPcHRpb25zOjpN
b2RlIG1vZGUsIEZldGNoT3B0aW9uczo6Q2FjaGUgY2FjaGVQb2xpY3ksIENvbnRlbnRTZWN1cml0
eVBvbGljeUVuZm9yY2VtZW50IGNvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50LCBjb25z
dCBTdHJpbmcmIGluaXRpYXRvcklkZW50aWZpZXIpCkBAIC0xNTEsMTMgKzE1OCwxMiBAQCB2b2lk
IFdvcmtlclNjcmlwdExvYWRlcjo6bG9hZEFzeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQmIHNjcmlwdEV4ZWN1dAogICAgIC8vIEZJWE1FOiBBZGQgc3VwcG9ydCBmb3Igc2hhcmVk
IHdvcmtlci4KICAgICBpZiAobV9kZXN0aW5hdGlvbiA9PSBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0
aW9uOjpXb3JrZXIgJiYgaXM8RG9jdW1lbnQ+KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpKSB7CiAg
ICAgICAgIEFTU0VSVChjbGllbnRJZGVudGlmaWVyKTsKKyAgICAgICAgb3B0aW9ucy5jbGllbnRJ
ZGVudGlmaWVyID0gbV9jbGllbnRJZGVudGlmaWVyID0gY2xpZW50SWRlbnRpZmllcjsKICAgICAg
ICAgLy8gSW4gY2FzZSBvZiBibG9iIFVSTHMsIHdlIHJldXNlIHRoZSBkb2N1bWVudCBjb250cm9s
bGluZyBzZXJ2aWNlIHdvcmtlci4KICAgICAgICAgaWYgKHJlcXVlc3QtPnVybCgpLnByb3RvY29s
SXNCbG9iKCkgJiYgc2NyaXB0RXhlY3V0aW9uQ29udGV4dC5hY3RpdmVTZXJ2aWNlV29ya2VyKCkp
CiAgICAgICAgICAgICBzZXRDb250cm9sbGluZ1NlcnZpY2VXb3JrZXIoU2VydmljZVdvcmtlckRh
dGEgeyBzY3JpcHRFeGVjdXRpb25Db250ZXh0LmFjdGl2ZVNlcnZpY2VXb3JrZXIoKS0+ZGF0YSgp
IH0pOwotICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgIG9wdGlvbnMuY2xpZW50SWRlbnRpZmll
ciA9IG1fY2xpZW50SWRlbnRpZmllciA9IGNsaWVudElkZW50aWZpZXI7CisgICAgICAgIGVsc2UK
ICAgICAgICAgICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyVG9Xb3JrZXJTY3Jp
cHRMb2FkZXJNYXAoKS5hZGQobV9jbGllbnRJZGVudGlmaWVyLCB0aGlzKTsKLSAgICAgICAgfQog
ICAgIH0gZWxzZSBpZiAoYXV0byogYWN0aXZlU2VydmljZVdvcmtlciA9IHNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQuYWN0aXZlU2VydmljZVdvcmtlcigpKQogICAgICAgICBvcHRpb25zLnNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyID0gYWN0aXZlU2VydmljZVdvcmtlci0+cmVnaXN0
cmF0aW9uSWRlbnRpZmllcigpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL3NlcnZpY2UvU1dDbGllbnRDb25uZWN0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2UvU1dDbGllbnRDb25uZWN0aW9uLmgKaW5kZXggZGQzMzZjYTIwZWNjZGJmMmFl
ZDhmZTQ4Y2RhMzk1NDAzNTMxNWRiZC4uYTFmZGJlZTUwN2Q5MzhjNmE5NjdlODEwZTM3NjE3M2Ex
ZTAwNzliMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NXQ2xp
ZW50Q29ubmVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TV0Ns
aWVudENvbm5lY3Rpb24uaApAQCAtNTAsNiArNTAsNyBAQCBjbGFzcyBTZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uOwogZW51bSBjbGFzcyBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uU3RhdGUgOiB1
aW50OF90OwogZW51bSBjbGFzcyBTZXJ2aWNlV29ya2VyU3RhdGUgOiB1aW50OF90OwogZW51bSBj
bGFzcyBTaG91bGROb3RpZnlXaGVuUmVzb2x2ZWQgOiBib29sOworc3RydWN0IENsaWVudE9yaWdp
bjsKIHN0cnVjdCBFeGNlcHRpb25EYXRhOwogc3RydWN0IE1lc3NhZ2VXaXRoTWVzc2FnZVBvcnRz
Owogc3RydWN0IE5vdGlmaWNhdGlvbkRhdGE7CkBAIC04NCw3ICs4NSw3IEBAIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIFNXU2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXIgc2VydmVyQ29ubmVjdGlvbklk
ZW50aWZpZXIoKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBib29sIG1heUhhdmVTZXJ2aWNlV29y
a2VyUmVnaXN0ZXJlZEZvck9yaWdpbihjb25zdCBTZWN1cml0eU9yaWdpbkRhdGEmKSBjb25zdCA9
IDA7CiAKLSAgICB2aXJ0dWFsIHZvaWQgcmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KGNvbnN0
IFNlY3VyaXR5T3JpZ2luJiB0b3BPcmlnaW4sIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhJiYsIGNv
bnN0IHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXI+Jiwg
U3RyaW5nJiYgdXNlckFnZW50KSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHJlZ2lzdGVyU2Vydmlj
ZVdvcmtlckNsaWVudChjb25zdCBDbGllbnRPcmlnaW4mLCBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0
YSYmLCBjb25zdCBzdGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlm
aWVyPiYsIFN0cmluZyYmIHVzZXJBZ2VudCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCB1bnJlZ2lz
dGVyU2VydmljZVdvcmtlckNsaWVudChTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllcikg
PSAwOwogCiAgICAgdmlydHVhbCB2b2lkIGZpbmlzaEZldGNoaW5nU2NyaXB0SW5TZXJ2ZXIoY29u
c3QgU2VydmljZVdvcmtlckpvYkRhdGFJZGVudGlmaWVyJiwgU2VydmljZVdvcmtlclJlZ2lzdHJh
dGlvbktleSYmLCBXb3JrZXJGZXRjaFJlc3VsdCYmKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvV29ya2VyU1dDbGllbnRDb25uZWN0aW9uLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9Xb3JrZXJTV0NsaWVudENvbm5lY3Rpb24uY3Bw
CmluZGV4IGM1MjRlYzBhNzViNmFmYjI4MTdiZjZlMzgyMzE3NTZmOTViN2VmMmIuLmYxNDBmOTli
NDA4NmJmNmZiY2Y3MmI2YzQ3ZTBkNDFkMWZhMGQ4NTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvc2VydmljZS9Xb3JrZXJTV0NsaWVudENvbm5lY3Rpb24uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9Xb3JrZXJTV0NsaWVudENvbm5lY3Rpb24uY3Bw
CkBAIC0xODQsMTcgKzE4NCwxOSBAQCBib29sIFdvcmtlclNXQ2xpZW50Q29ubmVjdGlvbjo6bWF5
SGF2ZVNlcnZpY2VXb3JrZXJSZWdpc3RlcmVkRm9yT3JpZ2luKGNvbnN0IFNlYwogICAgIHJldHVy
biB0cnVlOwogfQogCi12b2lkIFdvcmtlclNXQ2xpZW50Q29ubmVjdGlvbjo6cmVnaXN0ZXJTZXJ2
aWNlV29ya2VyQ2xpZW50KGNvbnN0IFNlY3VyaXR5T3JpZ2luJiB0b3BPcmlnaW4sIFNlcnZpY2VX
b3JrZXJDbGllbnREYXRhJiYgZGF0YSwgY29uc3Qgc3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uSWRlbnRpZmllcj4mIGlkZW50aWZpZXIsIFN0cmluZyYmIHVzZXJBZ2VudCkK
K3ZvaWQgV29ya2VyU1dDbGllbnRDb25uZWN0aW9uOjpyZWdpc3RlclNlcnZpY2VXb3JrZXJDbGll
bnQoY29uc3QgQ2xpZW50T3JpZ2luJiBjbGllbnRPcmlnaW4sIFNlcnZpY2VXb3JrZXJDbGllbnRE
YXRhJiYgZGF0YSwgY29uc3Qgc3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
SWRlbnRpZmllcj4mIGlkZW50aWZpZXIsIFN0cmluZyYmIHVzZXJBZ2VudCkKIHsKLSAgICBjYWxs
T25NYWluVGhyZWFkKFt0b3BPcmlnaW4gPSB0b3BPcmlnaW4uaXNvbGF0ZWRDb3B5KCksIGRhdGEg
PSBjcm9zc1RocmVhZENvcHkoV1RGTW92ZShkYXRhKSksIGlkZW50aWZpZXIsIHVzZXJBZ2VudCA9
IGNyb3NzVGhyZWFkQ29weShXVEZNb3ZlKHVzZXJBZ2VudCkpXSgpIG11dGFibGUgeworICAgIGNh
bGxPbk1haW5UaHJlYWQoW2NsaWVudE9yaWdpbiA9IGNsaWVudE9yaWdpbi5pc29sYXRlZENvcHko
KSwgZGF0YSA9IGNyb3NzVGhyZWFkQ29weShXVEZNb3ZlKGRhdGEpKSwgaWRlbnRpZmllciwgdXNl
ckFnZW50ID0gY3Jvc3NUaHJlYWRDb3B5KFdURk1vdmUodXNlckFnZW50KSldKCkgbXV0YWJsZSB7
CiAgICAgICAgIGF1dG8mIGNvbm5lY3Rpb24gPSBTZXJ2aWNlV29ya2VyUHJvdmlkZXI6OnNpbmds
ZXRvbigpLnNlcnZpY2VXb3JrZXJDb25uZWN0aW9uKCk7Ci0gICAgICAgIGNvbm5lY3Rpb24ucmVn
aXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KHRvcE9yaWdpbiwgV1RGTW92ZShkYXRhKSwgaWRlbnRp
ZmllciwgV1RGTW92ZSh1c2VyQWdlbnQpKTsKKyAgICAgICAgY29ubmVjdGlvbi5yZWdpc3RlclNl
cnZpY2VXb3JrZXJDbGllbnQoY2xpZW50T3JpZ2luLCBXVEZNb3ZlKGRhdGEpLCBpZGVudGlmaWVy
LCBXVEZNb3ZlKHVzZXJBZ2VudCkpOwogICAgIH0pOwogfQogCi12b2lkIFdvcmtlclNXQ2xpZW50
Q29ubmVjdGlvbjo6dW5yZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dElkZW50aWZpZXIpCit2b2lkIFdvcmtlclNXQ2xpZW50Q29ubmVjdGlvbjo6dW5yZWdp
c3RlclNlcnZpY2VXb3JrZXJDbGllbnQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIg
aWRlbnRpZmllcikKIHsKLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICBjYWxsT25NYWlu
VGhyZWFkKFtpZGVudGlmaWVyXSB7CisgICAgICAgIFNlcnZpY2VXb3JrZXJQcm92aWRlcjo6c2lu
Z2xldG9uKCkuc2VydmljZVdvcmtlckNvbm5lY3Rpb24oKS51bnJlZ2lzdGVyU2VydmljZVdvcmtl
ckNsaWVudChpZGVudGlmaWVyKTsKKyAgICB9KTsKIH0KIAogdm9pZCBXb3JrZXJTV0NsaWVudENv
bm5lY3Rpb246OmZpbmlzaEZldGNoaW5nU2NyaXB0SW5TZXJ2ZXIoY29uc3QgU2VydmljZVdvcmtl
ckpvYkRhdGFJZGVudGlmaWVyJiBqb2JEYXRhSWRlbnRpZmllciwgU2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbktleSYmIHJlZ2lzdHJhdGlvbktleSwgV29ya2VyRmV0Y2hSZXN1bHQmJiByZXN1bHQp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvV29ya2VyU1dDbGll
bnRDb25uZWN0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvV29ya2VyU1dD
bGllbnRDb25uZWN0aW9uLmgKaW5kZXggMmFhNGE0MDk0Y2RlODk0NmJmNDhiNGMxYTc5NzliN2Vi
ZGY2NGU2Yy4uMjliZmIzM2VmNGIzZDQwNjU1MzMwMjFhYzZlMjU0NzY4MDdiMGFiOCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1dvcmtlclNXQ2xpZW50Q29ubmVj
dGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9Xb3JrZXJTV0NsaWVu
dENvbm5lY3Rpb24uaApAQCAtMzksNiArMzksOSBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxX
b3JrZXJTV0NsaWVudENvbm5lY3Rpb24+IGNyZWF0ZShXb3JrZXJHbG9iYWxTY29wZSYgc2NvcGUp
IHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgV29ya2VyU1dDbGllbnRDb25uZWN0aW9uIHsgc2NvcGUg
fSk7IH0KICAgICB+V29ya2VyU1dDbGllbnRDb25uZWN0aW9uKCk7CiAKKyAgICB2b2lkIHJlZ2lz
dGVyU2VydmljZVdvcmtlckNsaWVudChjb25zdCBDbGllbnRPcmlnaW4mLCBTZXJ2aWNlV29ya2Vy
Q2xpZW50RGF0YSYmLCBjb25zdCBzdGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b25JZGVudGlmaWVyPiYsIFN0cmluZyYmIHVzZXJBZ2VudCkgZmluYWw7CisgICAgdm9pZCB1bnJl
Z2lzdGVyU2VydmljZVdvcmtlckNsaWVudChTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmll
cikgZmluYWw7CisKIHByaXZhdGU6CiAgICAgZXhwbGljaXQgV29ya2VyU1dDbGllbnRDb25uZWN0
aW9uKFdvcmtlckdsb2JhbFNjb3BlJik7CiAKQEAgLTUxLDggKzU0LDYgQEAgcHJpdmF0ZToKICAg
ICB2b2lkIHBvc3RNZXNzYWdlVG9TZXJ2aWNlV29ya2VyKFNlcnZpY2VXb3JrZXJJZGVudGlmaWVy
IGRlc3RpbmF0aW9uLCBNZXNzYWdlV2l0aE1lc3NhZ2VQb3J0cyYmLCBjb25zdCBTZXJ2aWNlV29y
a2VyT3JDbGllbnRJZGVudGlmaWVyJiBzb3VyY2UpIGZpbmFsOwogICAgIFNXU2VydmVyQ29ubmVj
dGlvbklkZW50aWZpZXIgc2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXIoKSBjb25zdCBmaW5hbDsK
ICAgICBib29sIG1heUhhdmVTZXJ2aWNlV29ya2VyUmVnaXN0ZXJlZEZvck9yaWdpbihjb25zdCBT
ZWN1cml0eU9yaWdpbkRhdGEmKSBjb25zdCBmaW5hbDsKLSAgICB2b2lkIHJlZ2lzdGVyU2Vydmlj
ZVdvcmtlckNsaWVudChjb25zdCBTZWN1cml0eU9yaWdpbiYgdG9wT3JpZ2luLCBTZXJ2aWNlV29y
a2VyQ2xpZW50RGF0YSYmLCBjb25zdCBzdGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb25JZGVudGlmaWVyPiYsIFN0cmluZyYmIHVzZXJBZ2VudCkgZmluYWw7Ci0gICAgdm9pZCB1
bnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRp
ZmllcikgZmluYWw7CiAgICAgdm9pZCBmaW5pc2hGZXRjaGluZ1NjcmlwdEluU2VydmVyKGNvbnN0
IFNlcnZpY2VXb3JrZXJKb2JEYXRhSWRlbnRpZmllciYsIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b25LZXkmJiwgV29ya2VyRmV0Y2hSZXN1bHQmJikgZmluYWw7CiAgICAgdm9pZCBzY2hlZHVsZUpv
YkluU2VydmVyKGNvbnN0IFNlcnZpY2VXb3JrZXJKb2JEYXRhJikgZmluYWw7CiAgICAgdm9pZCBz
Y2hlZHVsZUpvYihTZXJ2aWNlV29ya2VyT3JDbGllbnRJZGVudGlmaWVyLCBjb25zdCBTZXJ2aWNl
V29ya2VySm9iRGF0YSYpIGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9u
LmNwcAppbmRleCBiM2RkNGE1MjgyMDkyNGQ5MDEyNDkxMzcxN2ZiYjIwMjVhZjU1MzljLi44ODk4
OGRmZTk3ODZiOGFjZGJlM2Y0MzA0Yjg3Mzg2MTEyYjIxOTg0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9u
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2Vi
U1dTZXJ2ZXJDb25uZWN0aW9uLmNwcApAQCAtMTg0LDcgKzE4NCw3IEBAIHZvaWQgV2ViU1dTZXJ2
ZXJDb25uZWN0aW9uOjpjb250cm9sQ2xpZW50KGNvbnN0IE5ldHdvcmtSZXNvdXJjZUxvYWRQYXJh
bWV0ZXJzJiBwCiAKICAgICBhdXRvIGFuY2VzdG9yT3JpZ2lucyA9IG1hcChwYXJhbWV0ZXJzLmZy
YW1lQW5jZXN0b3JPcmlnaW5zLCBbXShhdXRvJiBvcmlnaW4pIHsgcmV0dXJuIG9yaWdpbi0+dG9T
dHJpbmcoKTsgfSk7CiAgICAgU2VydmljZVdvcmtlckNsaWVudERhdGEgZGF0YSB7IGNsaWVudElk
ZW50aWZpZXIsIGNsaWVudFR5cGUsIFNlcnZpY2VXb3JrZXJDbGllbnRGcmFtZVR5cGU6Ok5vbmUs
IHJlcXVlc3QudXJsKCksIHBhcmFtZXRlcnMud2ViUGFnZUlELCBwYXJhbWV0ZXJzLndlYkZyYW1l
SUQsIHJlcXVlc3QuaXNBcHBJbml0aWF0ZWQoKSA/IFdlYkNvcmU6Okxhc3ROYXZpZ2F0aW9uV2Fz
QXBwSW5pdGlhdGVkOjpZZXMgOiBXZWJDb3JlOjpMYXN0TmF2aWdhdGlvbldhc0FwcEluaXRpYXRl
ZDo6Tm8sIGZhbHNlLCBmYWxzZSwgMCwgV1RGTW92ZShhbmNlc3Rvck9yaWdpbnMpIH07Ci0gICAg
cmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KFNlY3VyaXR5T3JpZ2luRGF0YSB7IHJlZ2lzdHJh
dGlvbi5rZXkoKS50b3BPcmlnaW4oKSB9LCBXVEZNb3ZlKGRhdGEpLCByZWdpc3RyYXRpb24uaWRl
bnRpZmllcigpLCByZXF1ZXN0Lmh0dHBVc2VyQWdlbnQoKSk7CisgICAgcmVnaXN0ZXJTZXJ2aWNl
V29ya2VyQ2xpZW50KENsaWVudE9yaWdpbiB7IHJlZ2lzdHJhdGlvbi5rZXkoKS50b3BPcmlnaW4o
KSwgU2VjdXJpdHlPcmlnaW5EYXRhOjpmcm9tVVJMKHJlcXVlc3QudXJsKCkpIH0sIFdURk1vdmUo
ZGF0YSksIHJlZ2lzdHJhdGlvbi5pZGVudGlmaWVyKCksIHJlcXVlc3QuaHR0cFVzZXJBZ2VudCgp
KTsKIH0KIAogc3RkOjp1bmlxdWVfcHRyPFNlcnZpY2VXb3JrZXJGZXRjaFRhc2s+IFdlYlNXU2Vy
dmVyQ29ubmVjdGlvbjo6Y3JlYXRlRmV0Y2hUYXNrKE5ldHdvcmtSZXNvdXJjZUxvYWRlciYgbG9h
ZGVyLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QpCkBAIC0zOTUsMTIgKzM5NSwxOSBA
QCB2b2lkIFdlYlNXU2VydmVyQ29ubmVjdGlvbjo6Z2V0UmVnaXN0cmF0aW9ucyhjb25zdCBTZWN1
cml0eU9yaWdpbkRhdGEmIHRvcE9yaWdpbgogICAgIGNhbGxiYWNrKHNlcnZlcigpLmdldFJlZ2lz
dHJhdGlvbnModG9wT3JpZ2luLCBjbGllbnRVUkwpKTsKIH0KIAotdm9pZCBXZWJTV1NlcnZlckNv
bm5lY3Rpb246OnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChTZWN1cml0eU9yaWdpbkRhdGEm
JiB0b3BPcmlnaW4sIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhJiYgZGF0YSwgY29uc3Qgc3RkOjpv
cHRpb25hbDxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcj4mIGNvbnRyb2xsaW5n
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIsIFN0cmluZyYmIHVzZXJBZ2VudCkK
K3ZvaWQgV2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjpyZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQo
V2ViQ29yZTo6Q2xpZW50T3JpZ2luJiYgY2xpZW50T3JpZ2luLCBTZXJ2aWNlV29ya2VyQ2xpZW50
RGF0YSYmIGRhdGEsIGNvbnN0IHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlclJlZ2lzdHJhdGlv
bklkZW50aWZpZXI+JiBjb250cm9sbGluZ1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlm
aWVyLCBTdHJpbmcmJiB1c2VyQWdlbnQpCiB7CiAgICAgQ09OTkVDVElPTl9NRVNTQUdFX0NIRUNL
KGRhdGEuaWRlbnRpZmllci5wcm9jZXNzSWRlbnRpZmllcigpID09IGlkZW50aWZpZXIoKSk7Ci0g
ICAgQ09OTkVDVElPTl9NRVNTQUdFX0NIRUNLKCF0b3BPcmlnaW4uaXNFbXB0eSgpKTsKKyAgICBD
T05ORUNUSU9OX01FU1NBR0VfQ0hFQ0soIWNsaWVudE9yaWdpbi50b3BPcmlnaW4uaXNFbXB0eSgp
KTsKKworICAgIGF1dG8mIGNvbnRleHRPcmlnaW4gPSBjbGllbnRPcmlnaW4uY2xpZW50T3JpZ2lu
OworICAgIGlmIChkYXRhLnVybC5wcm90b2NvbElzSW5IVFRQRmFtaWx5KCkpIHsKKyAgICAgICAg
Ly8gV2UgZG8gbm90IHJlZ2lzdGVyIGFueSBzYW5kYm94IGRvY3VtZW50LgorICAgICAgICBpZiAo
Y29udGV4dE9yaWdpbiAhPSBTZWN1cml0eU9yaWdpbkRhdGE6OmZyb21VUkwoZGF0YS51cmwpKQor
ICAgICAgICAgICAgcmV0dXJuOworICAgIH0gZWxzZSBpZiAoIWRhdGEudXJsLmlzQWJvdXRCbGFu
aygpICYmICFkYXRhLnVybC5wcm90b2NvbElzQmxvYigpKQorICAgICAgICByZXR1cm47CiAKLSAg
ICBhdXRvIGNvbnRleHRPcmlnaW4gPSBTZWN1cml0eU9yaWdpbkRhdGE6OmZyb21VUkwoZGF0YS51
cmwpOwogICAgIENPTk5FQ1RJT05fTUVTU0FHRV9DSEVDSyghY29udGV4dE9yaWdpbi5pc0VtcHR5
KCkpOwogCiAgICAgYm9vbCBpc05ld09yaWdpbiA9IFdURjo6YWxsT2YobV9jbGllbnRPcmlnaW5z
LnZhbHVlcygpLCBbJmNvbnRleHRPcmlnaW5dKGF1dG8mIG9yaWdpbikgewpAQCAtNDA4LDcgKzQx
NSw2IEBAIHZvaWQgV2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjpyZWdpc3RlclNlcnZpY2VXb3JrZXJD
bGllbnQoU2VjdXJpdHlPcmlnaW5EYXRhJiYgdG9wCiAgICAgfSk7CiAgICAgYXV0byogY29udGV4
dENvbm5lY3Rpb24gPSBpc05ld09yaWdpbiA/IHNlcnZlcigpLmNvbnRleHRDb25uZWN0aW9uRm9y
UmVnaXN0cmFibGVEb21haW4oUmVnaXN0cmFibGVEb21haW4geyBjb250ZXh0T3JpZ2luIH0pIDog
bnVsbHB0cjsKIAotICAgIGF1dG8gY2xpZW50T3JpZ2luID0gQ2xpZW50T3JpZ2luIHsgV1RGTW92
ZSh0b3BPcmlnaW4pLCBXVEZNb3ZlKGNvbnRleHRPcmlnaW4pIH07CiAgICAgbV9jbGllbnRPcmln
aW5zLmFkZChkYXRhLmlkZW50aWZpZXIsIGNsaWVudE9yaWdpbik7CiAgICAgc2VydmVyKCkucmVn
aXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KFdURk1vdmUoY2xpZW50T3JpZ2luKSwgV1RGTW92ZShk
YXRhKSwgY29udHJvbGxpbmdTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciwgV1RG
TW92ZSh1c2VyQWdlbnQpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5oIGIvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5oCmlu
ZGV4IGIwZGI4NWJjNjdhZTBkZTViMDc0YWQ5ZGZmMDIzZTZhYzFlYmZiMDAuLjRmMDI1ZTIxOTEx
ZjMyYjZlYTBmM2QyYTk5N2U1ODk5ZTM4MGFiNDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJD
b25uZWN0aW9uLmgKQEAgLTExMCw3ICsxMTAsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgbWF0Y2hS
ZWdpc3RyYXRpb24oY29uc3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhJiB0b3BPcmlnaW4s
IGNvbnN0IFVSTCYgY2xpZW50VVJMLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9u
YWw8V2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGE+JiYpPiYmKTsKICAgICB2
b2lkIGdldFJlZ2lzdHJhdGlvbnMoY29uc3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhJiB0
b3BPcmlnaW4sIGNvbnN0IFVSTCYgY2xpZW50VVJMLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGNv
bnN0IFZlY3RvcjxXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YT4mKT4mJik7
CiAKLSAgICB2b2lkIHJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChXZWJDb3JlOjpTZWN1cml0
eU9yaWdpbkRhdGEmJiB0b3BPcmlnaW4sIFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDbGllbnREYXRh
JiYsIGNvbnN0IHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlv
bklkZW50aWZpZXI+JiwgU3RyaW5nJiYgdXNlckFnZW50KTsKKyAgICB2b2lkIHJlZ2lzdGVyU2Vy
dmljZVdvcmtlckNsaWVudChXZWJDb3JlOjpDbGllbnRPcmlnaW4mJiwgV2ViQ29yZTo6U2Vydmlj
ZVdvcmtlckNsaWVudERhdGEmJiwgY29uc3Qgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpTZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcj4mLCBTdHJpbmcmJiB1c2VyQWdlbnQpOwogICAg
IHZvaWQgdW5yZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQoY29uc3QgV2ViQ29yZTo6U2NyaXB0
RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXImKTsKICAgICB2b2lkIHRlcm1pbmF0ZVdvcmtlckZy
b21DbGllbnQoV2ViQ29yZTo6U2VydmljZVdvcmtlcklkZW50aWZpZXIsIENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoKT4mJik7CiAgICAgdm9pZCB3aGVuU2VydmljZVdvcmtlcklzVGVybWluYXRlZEZv
clRlc3RpbmcoV2ViQ29yZTo6U2VydmljZVdvcmtlcklkZW50aWZpZXIsIENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoKT4mJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLm1lc3NhZ2VzLmluIGIvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlv
bi5tZXNzYWdlcy5pbgppbmRleCA0M2ZkMTI0ZjBjOTNhOTg1ZWUyNjlmZmRlNjViODJkMDFmZTFm
ZWE4Li4xNWZjYTU0M2M1N2U3ZDMxYjg4NWE3MDAwOGUzNjg4ZmE0NGVjYzliIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJD
b25uZWN0aW9uLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
U2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24ubWVzc2FnZXMuaW4KQEAgLTM4LDcg
KzM4LDcgQEAgbWVzc2FnZXMgLT4gV2ViU1dTZXJ2ZXJDb25uZWN0aW9uIE5vdFJlZkNvdW50ZWQg
ewogICAgIE1hdGNoUmVnaXN0cmF0aW9uKHN0cnVjdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRh
dGEgdG9wT3JpZ2luLCBVUkwgY2xpZW50VVJMKSAtPiAoc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpT
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YT4gcmVnaXN0cmF0aW9uKQogICAgIFdoZW5SZWdp
c3RyYXRpb25SZWFkeShzdHJ1Y3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhIHRvcE9yaWdp
biwgVVJMIGNsaWVudFVSTCkgLT4gKHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6U2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbkRhdGE+IHJlZ2lzdHJhdGlvbikKICAgICBHZXRSZWdpc3RyYXRpb25zKHN0
cnVjdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEgdG9wT3JpZ2luLCBVUkwgY2xpZW50VVJM
KSAtPiAoVmVjdG9yPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhPiByZWdp
c3RyYXRpb25zKQotICAgIFJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChzdHJ1Y3QgV2ViQ29y
ZTo6U2VjdXJpdHlPcmlnaW5EYXRhIHRvcE9yaWdpbiwgc3RydWN0IFdlYkNvcmU6OlNlcnZpY2VX
b3JrZXJDbGllbnREYXRhIGRhdGEsIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6U2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbklkZW50aWZpZXI+IGNvbnRyb2xsaW5nU2VydmljZVdvcmtlclJlZ2lzdHJh
dGlvbklkZW50aWZpZXIsIFN0cmluZyB1c2VyQWdlbnQpCisgICAgUmVnaXN0ZXJTZXJ2aWNlV29y
a2VyQ2xpZW50KHN0cnVjdCBXZWJDb3JlOjpDbGllbnRPcmlnaW4gY2xpZW50T3JpZ2luLCBzdHJ1
Y3QgV2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVudERhdGEgZGF0YSwgc3RkOjpvcHRpb25hbDxX
ZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcj4gY29udHJvbGxpbmdT
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciwgU3RyaW5nIHVzZXJBZ2VudCkKICAg
ICBVbnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25D
b250ZXh0SWRlbnRpZmllciBpZGVudGlmaWVyKQogCiAgICAgVGVybWluYXRlV29ya2VyRnJvbUNs
aWVudChXZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRlbnRpZmllciB3b3JrZXJJZGVudGlmaWVyKSAt
PiAoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dD
bGllbnRDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dl
YlNXQ2xpZW50Q29ubmVjdGlvbi5jcHAKaW5kZXggMTc4MGNhYzdiNmE3NzdiZjEzZjgyMzI0NTdl
NTRkMzkxMTVlZGMwZS4uYTI3MTM3YmYxMmRkZGFiODdkMDNiOWM3OGNiZmZhZmY1M2M4NTdmOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRD
b25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJT
V0NsaWVudENvbm5lY3Rpb24uY3BwCkBAIC0xMTUsOSArMTE1LDkgQEAgdm9pZCBXZWJTV0NsaWVu
dENvbm5lY3Rpb246OnBvc3RNZXNzYWdlVG9TZXJ2aWNlV29ya2VyKFNlcnZpY2VXb3JrZXJJZGVu
dGlmaWVyIGQKICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJTV1NlcnZlckNvbm5lY3Rpb246OlBvc3RN
ZXNzYWdlVG9TZXJ2aWNlV29ya2VyIHsgZGVzdGluYXRpb25JZGVudGlmaWVyLCBXVEZNb3ZlKG1l
c3NhZ2UpLCBzb3VyY2VJZGVudGlmaWVyIH0pOwogfQogCi12b2lkIFdlYlNXQ2xpZW50Q29ubmVj
dGlvbjo6cmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KGNvbnN0IFNlY3VyaXR5T3JpZ2luJiB0
b3BPcmlnaW4sIFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDbGllbnREYXRhJiYgZGF0YSwgY29uc3Qg
c3RkOjpvcHRpb25hbDxXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmll
cj4mIGNvbnRyb2xsaW5nU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIsIFN0cmlu
ZyYmIHVzZXJBZ2VudCkKK3ZvaWQgV2ViU1dDbGllbnRDb25uZWN0aW9uOjpyZWdpc3RlclNlcnZp
Y2VXb3JrZXJDbGllbnQoY29uc3QgQ2xpZW50T3JpZ2luJiBjbGllbnRPcmlnaW4sIFdlYkNvcmU6
OlNlcnZpY2VXb3JrZXJDbGllbnREYXRhJiYgZGF0YSwgY29uc3Qgc3RkOjpvcHRpb25hbDxXZWJD
b3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcj4mIGNvbnRyb2xsaW5nU2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIsIFN0cmluZyYmIHVzZXJBZ2VudCkKIHsK
LSAgICBzZW5kKE1lc3NhZ2VzOjpXZWJTV1NlcnZlckNvbm5lY3Rpb246OlJlZ2lzdGVyU2Vydmlj
ZVdvcmtlckNsaWVudCB7IHRvcE9yaWdpbi5kYXRhKCksIGRhdGEsIGNvbnRyb2xsaW5nU2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIsIHVzZXJBZ2VudCB9KTsKKyAgICBzZW5kKE1l
c3NhZ2VzOjpXZWJTV1NlcnZlckNvbm5lY3Rpb246OlJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVu
dCB7IGNsaWVudE9yaWdpbiwgZGF0YSwgY29udHJvbGxpbmdTZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uSWRlbnRpZmllciwgdXNlckFnZW50IH0pOwogfQogCiB2b2lkIFdlYlNXQ2xpZW50Q29ubmVj
dGlvbjo6dW5yZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQoU2NyaXB0RXhlY3V0aW9uQ29udGV4
dElkZW50aWZpZXIgY29udGV4dElkZW50aWZpZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5oCmluZGV4IDYyMmZj
MDhmMzE0NThkNmUyZjg1NWE5MmJmMTc0YzAyNjEwNThlOGUuLmJiOWUwMGE5NmNjNmNmMzRhMTk0
ZTRmOTZkYjExZjg4ZmRiMTU3YTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5oCkBAIC03Myw3ICs3Myw3IEBA
IHByaXZhdGU6CiAgICAgdm9pZCBzY2hlZHVsZUpvYkluU2VydmVyKGNvbnN0IFdlYkNvcmU6OlNl
cnZpY2VXb3JrZXJKb2JEYXRhJikgZmluYWw7CiAgICAgdm9pZCBmaW5pc2hGZXRjaGluZ1Njcmlw
dEluU2VydmVyKGNvbnN0IFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJKb2JEYXRhSWRlbnRpZmllciYs
IFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkmJiwgV2ViQ29yZTo6V29ya2Vy
RmV0Y2hSZXN1bHQmJikgZmluYWw7CiAgICAgdm9pZCBwb3N0TWVzc2FnZVRvU2VydmljZVdvcmtl
cihXZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRlbnRpZmllciBkZXN0aW5hdGlvbklkZW50aWZpZXIs
IFdlYkNvcmU6Ok1lc3NhZ2VXaXRoTWVzc2FnZVBvcnRzJiYsIGNvbnN0IFdlYkNvcmU6OlNlcnZp
Y2VXb3JrZXJPckNsaWVudElkZW50aWZpZXImIHNvdXJjZSkgZmluYWw7Ci0gICAgdm9pZCByZWdp
c3RlclNlcnZpY2VXb3JrZXJDbGllbnQoY29uc3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4mIHRv
cE9yaWdpbiwgV2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVudERhdGEmJiwgY29uc3Qgc3RkOjpv
cHRpb25hbDxXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcj4mLCBT
dHJpbmcmJiB1c2VyQWdlbnQpIGZpbmFsOworICAgIHZvaWQgcmVnaXN0ZXJTZXJ2aWNlV29ya2Vy
Q2xpZW50KGNvbnN0IFdlYkNvcmU6OkNsaWVudE9yaWdpbiYsIFdlYkNvcmU6OlNlcnZpY2VXb3Jr
ZXJDbGllbnREYXRhJiYsIGNvbnN0IHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6U2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbklkZW50aWZpZXI+JiwgU3RyaW5nJiYgdXNlckFnZW50KSBmaW5hbDsKICAg
ICB2b2lkIHVucmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KFdlYkNvcmU6OlNjcmlwdEV4ZWN1
dGlvbkNvbnRleHRJZGVudGlmaWVyKSBmaW5hbDsKICAgICB2b2lkIHNjaGVkdWxlVW5yZWdpc3Rl
ckpvYkluU2VydmVyKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVy
LCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyT3JDbGllbnRJZGVudGlmaWVyLCBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKFdlYkNvcmU6OkV4Y2VwdGlvbk9yPGJvb2w+JiYpPiYmKSBmaW5hbDsKIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmlu
ZGV4IGQxYWEzZjg4ZWJiMGIzMDE3NmY1ZjM4MTJhODIwMDJmZjA5MmNkMDcuLmVmZDExMDI4Mjlk
ODc2N2U2NmJiMjk2MGU5NDc3OTZlYWQ1NDk5YjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAy
Mi0wNC0xNCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgU2Vy
dmljZVdvcmtlci5wb3N0TWVzc2FnZSgpIGRvZXNuJ3Qgd29yayBmcm9tIGluc2lkZSBpZnJhbWUK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMzk4NAor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjUyMDMzNDA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBodHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvYWJv
dXQtYmxhbmstaWZyYW1lLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQv
c2VydmljZS13b3JrZXJzL2Fib3V0LWJsYW5rLWlmcmFtZS13b3JrZXIuanM6IEFkZGVkLgorICAg
ICAgICAqIGh0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9hYm91dC1ibGFuay1pZnJhbWUuaHRtbDog
QWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvY2xpZW50LXJlbW92
ZWQtZnJvbS1jbGllbnRzLXdoaWxlLWluLXBhZ2UtY2FjaGUtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIGh0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL2NsaWVudC1yZW1vdmVkLWZyb20tY2xpZW50
cy13aGlsZS1pbi1wYWdlLWNhY2hlLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy93b3JrZXJz
L3NlcnZpY2Uvb3RoZXJfcmVzb3VyY2VzL3Rlc3QuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3Rz
L3dvcmtlcnMvc2VydmljZS9yZXNvdXJjZXMvZ2V0Q2xpZW50SWRzLXdvcmtlci5qczoKKwogMjAy
Mi0wNC0xMyAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgRXhw
b3NlIHdvcmtlcnMgYXMgc2VydmljZSB3b3JrZXIgY2xpZW50cyBhbmQgaW1wbGVtZW50IHJlZ2lz
dHJhdGlvbiBtYXRjaGluZyBmb3IgZGVkaWNhdGVkIHdvcmtlcnMKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
Q2hhbmdlTG9nCmluZGV4IDkyNzZmNDdlOTFhZDYzNWI1MjI1MTg5NjM3Nzc3NWNkZDNkMjAwOGIu
LjEzMjJmN2YyM2VjYzU1NDE0ZmI4Y2Q4NGM1NjEzODMxM2NkZmIxMzEgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIyLTA0LTE0ICBZb3Vlbm4gRmFi
bGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBTZXJ2aWNlV29ya2VyLnBvc3RNZXNz
YWdlKCkgZG9lc24ndCB3b3JrIGZyb20gaW5zaWRlIGlmcmFtZQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEzOTg0CisgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS82NTIwMzM0MD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvYWJvdXQtYmxhbmstcmVwbGFjZW1lbnQuaHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xpZW50
LXVybC1vZi1ibG9iLXVybC13b3JrZXIuaHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xpZW50cy1t
YXRjaGFsbC1ibG9iLXVybC13b3JrZXIuaHR0cHMtZXhwZWN0ZWQudHh0OgorCiAyMDIyLTA0LTEz
ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBFeHBvc2Ugd29y
a2VycyBhcyBzZXJ2aWNlIHdvcmtlciBjbGllbnRzIGFuZCBpbXBsZW1lbnQgcmVnaXN0cmF0aW9u
IG1hdGNoaW5nIGZvciBkZWRpY2F0ZWQgd29ya2VycwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvY2xpZW50LXJlbW92ZWQtZnJvbS1jbGllbnRzLXdo
aWxlLWluLXBhZ2UtY2FjaGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93
b3JrZXJzL3NlcnZpY2UvY2xpZW50LXJlbW92ZWQtZnJvbS1jbGllbnRzLXdoaWxlLWluLXBhZ2Ut
Y2FjaGUtZXhwZWN0ZWQudHh0CmluZGV4IDJiNzA1MTRiMWRkZmY4MDhlZmUxMzU0M2U2ZTI3M2I2
YWYxNTVjMTEuLjQyZDg1MDg2YjgwMmZjNGJhNmQ0NTEwZDI3ZTc5MzdhODAxNDNhNTcgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL2NsaWVudC1yZW1v
dmVkLWZyb20tY2xpZW50cy13aGlsZS1pbi1wYWdlLWNhY2hlLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9jbGllbnQtcmVtb3ZlZC1mcm9t
LWNsaWVudHMtd2hpbGUtaW4tcGFnZS1jYWNoZS1leHBlY3RlZC50eHQKQEAgLTEsNiArMSw4IEBA
CiAqIFRlc3RzIHRoYXQgYSBjbGllbnQgaXMgcmVtb3ZlZCBmcm9tIHRoZSBsaXN0IG9mIHNlcnZp
Y2Ugd29ya2VyIGNsaWVudHMgd2hpbGUgaXQgaXMgaW4gdGhlIHBhZ2UgY2FjaGUKIAotUEFTUzog
c2VydmljZSB3b3JrZXIgaGFzIGluaXRpYWxseSAyIGNsaWVudHMKK1BBU1M6IHNlcnZpY2Ugd29y
a2VyIGhhcyBpbml0aWFsbHkgMiB3aW5kb3cgY2xpZW50cworUEFTUzogc2VydmljZSB3b3JrZXIg
aGFzIGluaXRpYWxseSAyIHdvcmtlciBjbGllbnRzCiBQQVNTOiBwYWdlIGlzIGFib3V0IHRvIGVu
dGVyIHBhZ2UgY2FjaGUKLVBBU1M6IHNlcnZpY2Ugd29ya2VyIGhhcyBvbmx5IDEgY2xpZW50IGFm
dGVyIDEgZW50ZXJlZCBwYWdlIGNhY2hlCitQQVNTOiBzZXJ2aWNlIHdvcmtlciBoYXMgb25seSAx
IHdpbmRvdyBjbGllbnQgYWZ0ZXIgMSBlbnRlcmVkIHBhZ2UgY2FjaGUKK1BBU1M6IHNlcnZpY2Ug
d29ya2VyIGhhcyBvbmx5IDEgd29ya2VyIGNsaWVudCBhZnRlciAxIGVudGVyZWQgcGFnZSBjYWNo
ZQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9j
bGllbnQtcmVtb3ZlZC1mcm9tLWNsaWVudHMtd2hpbGUtaW4tcGFnZS1jYWNoZS5odG1sIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvY2xpZW50LXJlbW92ZWQtZnJvbS1j
bGllbnRzLXdoaWxlLWluLXBhZ2UtY2FjaGUuaHRtbAppbmRleCA2OGE5ZmM2MjQ5ZjUwNTM1Mjk0
ZGY0Mzk3NTFiNTM3ZGY4YjZiMDY2Li5mMDRhODA2MzZmYjY3NmNlMGM3YTM2YTkxOWQ4MTU1YjY2
ZDRjYjQ0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dvcmtlcnMvc2Vydmlj
ZS9jbGllbnQtcmVtb3ZlZC1mcm9tLWNsaWVudHMtd2hpbGUtaW4tcGFnZS1jYWNoZS5odG1sCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL2NsaWVudC1yZW1vdmVk
LWZyb20tY2xpZW50cy13aGlsZS1pbi1wYWdlLWNhY2hlLmh0bWwKQEAgLTksNyArOSw3IEBAIGxv
ZygiIik7CiAKIGxldCB0b3BDbGllbnRJZGVudGlmaWVyID0gbnVsbDsKIGxldCB3aW5kb3dDbGll
bnRJZGVudGlmaWVyID0gbnVsbDsKLQorbGV0IGRlZGljYXRlZFdvcmtlciA9IG51bGw7CiBsZXQg
dHJpZXMgPSAwOwogCiBmdW5jdGlvbiBjb250YWluc0JvdGhDbGllbnRzKGNsaWVudElkZW50aWZp
ZXJzKQpAQCAtMjMsOCArMjMsOCBAQCBmdW5jdGlvbiBjb250YWluc09ubHlUb3BDbGllbnQoY2xp
ZW50SWRlbnRpZmllcnMpCiB9CiAKIG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLmFkZEV2ZW50TGlz
dGVuZXIoIm1lc3NhZ2UiLCBmdW5jdGlvbihldmVudCkgewotICBpZiAoc3RlcCA9PSAiQm90aENs
aWVudHNJbml0aWFsbHlBY3RpdmUiKSB7Ci0gICAgaWYgKCFjb250YWluc0JvdGhDbGllbnRzKGV2
ZW50LmRhdGEpKSB7CisgIGlmIChzdGVwID09ICJBbGxDbGllbnRzSW5pdGlhbGx5QWN0aXZlIikg
eworICAgIGlmICghY29udGFpbnNCb3RoQ2xpZW50cyhldmVudC5kYXRhLmlkcykgJiYgZXZlbnQu
ZGF0YS53b3JrZXJzQ291bnQgIT09IDIpIHsKICAgICAgIGlmICgrK3RyaWVzID4gMjApIHsKICAg
ICAgICAgICBsb2coIkZBSUw6IFdyb25nIGluaXRpYWwgbnVtYmVyIG9mIGNsaWVudHMiKTsKICAg
ICAgICAgICBmaW5pc2hTV1Rlc3QoKTsKQEAgLTMzLDcgKzMzLDggQEAgbmF2aWdhdG9yLnNlcnZp
Y2VXb3JrZXIuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsIGZ1bmN0aW9uKGV2ZW50KSB7CiAg
ICAgICB3b3JrZXIucG9zdE1lc3NhZ2UoImdldENsaWVudElkcyIpOwogICAgICAgcmV0dXJuOwog
ICAgIH0KLSAgICBsb2coIlBBU1M6IHNlcnZpY2Ugd29ya2VyIGhhcyBpbml0aWFsbHkgMiBjbGll
bnRzIik7CisgICAgbG9nKCJQQVNTOiBzZXJ2aWNlIHdvcmtlciBoYXMgaW5pdGlhbGx5IDIgd2lu
ZG93IGNsaWVudHMiKTsKKyAgICBsb2coIlBBU1M6IHNlcnZpY2Ugd29ya2VyIGhhcyBpbml0aWFs
bHkgMiB3b3JrZXIgY2xpZW50cyIpOwogCiAgICAgb3RoZXJXaW5kb3cuYWRkRXZlbnRMaXN0ZW5l
cigicGFnZWhpZGUiLCBmdW5jdGlvbihldmVudCkgewogICAgICAgIGlmICghZXZlbnQucGVyc2lz
dGVkKSB7CkBAIC01NCwyOCArNTUsMzEgQEAgbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIuYWRkRXZl
bnRMaXN0ZW5lcigibWVzc2FnZSIsIGZ1bmN0aW9uKGV2ZW50KSB7CiAgIH0KIAogICBpZiAoc3Rl
cCA9PSAiT25seU9uZUNsaWVudFJlbWFpbnNBY3RpdmUiKSB7Ci0gICAgaWYgKCFjb250YWluc09u
bHlUb3BDbGllbnQoZXZlbnQuZGF0YSkpIHsKKyAgICBpZiAoIWNvbnRhaW5zT25seVRvcENsaWVu
dChldmVudC5kYXRhLmlkcykgJiYgZXZlbnQuZGF0YS53b3JrZXJzQ291bnQgIT09IDEpIHsKICAg
ICAgIGxvZygiRkFJTDogV3JvbmcgbnVtYmVyIG9mIGNsaWVudHMgYWZ0ZXIgb25lIGNsaWVudCBl
bnRlcmVkIHBhZ2UgY2FjaGUiKTsKICAgICAgIGZpbmlzaFNXVGVzdCgpOwogICAgIH0KIAotICAg
IGxvZygiUEFTUzogc2VydmljZSB3b3JrZXIgaGFzIG9ubHkgMSBjbGllbnQgYWZ0ZXIgMSBlbnRl
cmVkIHBhZ2UgY2FjaGUiKTsKKyAgICBsb2coIlBBU1M6IHNlcnZpY2Ugd29ya2VyIGhhcyBvbmx5
IDEgd2luZG93IGNsaWVudCBhZnRlciAxIGVudGVyZWQgcGFnZSBjYWNoZSIpOworICAgIGxvZygi
UEFTUzogc2VydmljZSB3b3JrZXIgaGFzIG9ubHkgMSB3b3JrZXIgY2xpZW50IGFmdGVyIDEgZW50
ZXJlZCBwYWdlIGNhY2hlIik7CiAgICAgZmluaXNoU1dUZXN0KCk7CiAgIH0KIH0pOwogCi1uYXZp
Z2F0b3Iuc2VydmljZVdvcmtlci5yZWdpc3RlcigicmVzb3VyY2VzL2dldENsaWVudElkcy13b3Jr
ZXIuanMiLCB7IH0pLnRoZW4oZnVuY3Rpb24ocmVnaXN0cmF0aW9uKSB7CituYXZpZ2F0b3Iuc2Vy
dmljZVdvcmtlci5yZWdpc3RlcigicmVzb3VyY2VzL2dldENsaWVudElkcy13b3JrZXIuanMiLCB7
IH0pLnRoZW4oYXN5bmMgKHJlZ2lzdHJhdGlvbikgPT4gewogICAgIGlmICghd2luZG93LmludGVy
bmFscykKICAgICAgICAgcmV0dXJuOwogICAgIHRvcENsaWVudElkZW50aWZpZXIgPSBpbnRlcm5h
bHMuc2VydmljZVdvcmtlckNsaWVudEludGVybmFsSWRlbnRpZmllcihkb2N1bWVudCk7CiAKICAg
ICB3b3JrZXIgPSByZWdpc3RyYXRpb24uaW5zdGFsbGluZzsKKworICAgIGRlZGljYXRlZFdvcmtl
ciA9IG5ldyBXb3JrZXIoIm90aGVyX3Jlc291cmNlcy9kdW1teS5qcyIpOworCiAgICAgb3RoZXJX
aW5kb3cgPSBvcGVuKCJvdGhlcl9yZXNvdXJjZXMvdGVzdC5odG1sIik7Ci0gICAgb3RoZXJXaW5k
b3cub25sb2FkID0gZnVuY3Rpb24oKSB7Ci0gICAgICB3aW5kb3dDbGllbnRJZGVudGlmaWVyID0g
aW50ZXJuYWxzLnNlcnZpY2VXb3JrZXJDbGllbnRJbnRlcm5hbElkZW50aWZpZXIob3RoZXJXaW5k
b3cuZG9jdW1lbnQpOwotICAgICAgc3RlcCA9ICJCb3RoQ2xpZW50c0luaXRpYWxseUFjdGl2ZSIK
LSAgICAgIHdvcmtlci5wb3N0TWVzc2FnZSgiZ2V0Q2xpZW50SWRzIik7Ci0gICAgfTsKKyAgICBh
d2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IG90aGVyV2luZG93Lm9ubG9hZCA9IHJlc29sdmUp
OworICAgIHdpbmRvd0NsaWVudElkZW50aWZpZXIgPSBpbnRlcm5hbHMuc2VydmljZVdvcmtlckNs
aWVudEludGVybmFsSWRlbnRpZmllcihvdGhlcldpbmRvdy5kb2N1bWVudCk7CisgICAgc3RlcCA9
ICJBbGxDbGllbnRzSW5pdGlhbGx5QWN0aXZlIgorICAgIHdvcmtlci5wb3N0TWVzc2FnZSgiZ2V0
Q2xpZW50SWRzIik7CiB9KTsKIDwvc2NyaXB0PgogPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2Uvb3RoZXJfcmVzb3VyY2VzL2R1bW15Lmpz
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2Uvb3RoZXJfcmVzb3VyY2Vz
L2R1bW15LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU2OWRlMjliYjJkMWQ2NDM0YjhiMjlhZTc3NWFkOGMyZTQ4
YzUzOTEKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNl
L290aGVyX3Jlc291cmNlcy90ZXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dvcmtl
cnMvc2VydmljZS9vdGhlcl9yZXNvdXJjZXMvdGVzdC5odG1sCmluZGV4IDJhMDJkNDFjZTIxMzIz
YjFjZGMyMjhjNzhjZWMyZjgxYzA1NGJkMzQuLjBkZDdiYjM2YzljYjg1NjNmODVjMzc0YTQ1NWUy
NjlkZDZlMmYyZmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9z
ZXJ2aWNlL290aGVyX3Jlc291cmNlcy90ZXN0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy93b3JrZXJzL3NlcnZpY2Uvb3RoZXJfcmVzb3VyY2VzL3Rlc3QuaHRtbApAQCAtMSArMSw5
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0icmVzb3Vy
Y2VzL3N3LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+Cit2YXIgZGVkaWNhdGVkV29y
a2VyID0gbmV3IFdvcmtlcigiZHVtbXkuanMiKTsKKzwvc2NyaXB0PgogVEVTVAorPC9ib2R5Pgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvcmVzb3Vy
Y2VzL2dldENsaWVudElkcy13b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dvcmtl
cnMvc2VydmljZS9yZXNvdXJjZXMvZ2V0Q2xpZW50SWRzLXdvcmtlci5qcwppbmRleCBjZTE5YjI0
ZjgwODA0ZGEwZjU1MTc5M2FkYTdhZmU2N2VmZTA0Y2M0Li5mYzA1NjYzMjA5YjYwOTkwZmE2Yzc1
NmUyZDIwM2Q4ZjRjMzE3Y2I2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dv
cmtlcnMvc2VydmljZS9yZXNvdXJjZXMvZ2V0Q2xpZW50SWRzLXdvcmtlci5qcworKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9yZXNvdXJjZXMvZ2V0Q2xpZW50SWRz
LXdvcmtlci5qcwpAQCAtMSw5ICsxLDEyIEBACi1zZWxmLmFkZEV2ZW50TGlzdGVuZXIoIm1lc3Nh
Z2UiLCAoZXZlbnQpID0+IHsKK3NlbGYuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsIGFzeW5j
IChldmVudCkgPT4gewogICAgIHNvdXJjZSA9IGV2ZW50LnNvdXJjZTsKLSAgICBjbGllbnRzLm1h
dGNoQWxsKHsgaW5jbHVkZVVuY29udHJvbGxlZCA6IHRydWUgfSkudGhlbihmdW5jdGlvbihjbGll
bnRzKSB7Ci0gICAgICAgIGxldCBpZHMgPSBbXTsKLSAgICAgICAgZm9yIChsZXQgY2xpZW50IG9m
IGNsaWVudHMpCi0gICAgICAgICAgICBpZHMucHVzaChzZWxmLmludGVybmFscy5zZXJ2aWNlV29y
a2VyQ2xpZW50SW50ZXJuYWxJZGVudGlmaWVyKGNsaWVudCkpOwotICAgICAgICBzb3VyY2UucG9z
dE1lc3NhZ2UoaWRzKTsKLSAgICB9KTsKKyAgICBjb25zdCBtYXRjaGVkQ2xpZW50cyA9IGF3YWl0
IGNsaWVudHMubWF0Y2hBbGwoeyBpbmNsdWRlVW5jb250cm9sbGVkIDogdHJ1ZSwgdHlwZTogJ2Fs
bCcgfSkKKyAgICBsZXQgZGF0YSA9IHsgaWRzOiBbXSwgd29ya2VyQ291bnQ6IDAgfTsKKyAgICBm
b3IgKGxldCBjbGllbnQgb2YgbWF0Y2hlZENsaWVudHMpIHsKKyAgICAgICAgaWYgKGNsaWVudC50
eXBlID09PSAnd29ya2VyJykKKyAgICAgICAgICAgIGRhdGEud29ya2VyQ291bnQrKzsKKyAgICAg
ICAgZWxzZQorICAgICAgICAgICAgZGF0YS5pZHMucHVzaChzZWxmLmludGVybmFscy5zZXJ2aWNl
V29ya2VyQ2xpZW50SW50ZXJuYWxJZGVudGlmaWVyKGNsaWVudCkpOworICAgIH0KKyAgICBzb3Vy
Y2UucG9zdE1lc3NhZ2UoZGF0YSk7CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
d3B0L3NlcnZpY2Utd29ya2Vycy9hYm91dC1ibGFuay1pZnJhbWUtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaHR0cC93cHQvc2VydmljZS13b3JrZXJzL2Fib3V0LWJsYW5rLWlmcmFtZS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMmMxYTY2ZDg3ZTdjODJhNzlhOWRjZDI4Y2Y4N2Y0NTQyOTVh
ZTg2MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Utd29y
a2Vycy9hYm91dC1ibGFuay1pZnJhbWUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorCitQ
QVNTIHNldHVwCitQQVNTIHBvc3QgbWVzc2FnaW5nIGZyb20gYW4gaWZyYW1lCitQQVNTIHJlbW92
ZSBpZnJhbWUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvc2VydmljZS13b3Jr
ZXJzL2Fib3V0LWJsYW5rLWlmcmFtZS13b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9z
ZXJ2aWNlLXdvcmtlcnMvYWJvdXQtYmxhbmstaWZyYW1lLXdvcmtlci5qcwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjAyNjgyNWM0NzRiZGRmMzM2MjE4YWZlZThkODk3ODlmOWM5NDQ1Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvc2VydmljZS13b3JrZXJzL2Fib3V0LWJsYW5rLWlmcmFt
ZS13b3JrZXIuanMKQEAgLTAsMCArMSw0IEBACithZGRFdmVudExpc3RlbmVyKCdtZXNzYWdlJywg
YXN5bmMgZXZlbnQgPT4geworICAgIGNvbnN0IGNsaWVudHMgPSBhd2FpdCBzZWxmLmNsaWVudHMu
bWF0Y2hBbGwoeyBpbmNsdWRlVW5jb250cm9sbGVkIDogdHJ1ZSB9KTsKKyAgICBjbGllbnRzLmZv
ckVhY2goY2xpZW50ID0+IGNsaWVudC5wb3N0TWVzc2FnZShldmVudC5kYXRhKSk7Cit9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9hYm91dC1ibGFu
ay1pZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9hYm91
dC1ibGFuay1pZnJhbWUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMTM4MTFlOGI2MTBlYjNjNTUzOWExZGEw
NTkzYzA3MGRiZDQ3NjI4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQv
c2VydmljZS13b3JrZXJzL2Fib3V0LWJsYW5rLWlmcmFtZS5odG1sCkBAIC0wLDAgKzEsNDQgQEAK
KzxodG1sPgorPGhlYWQ+Cis8dGl0bGU+U2VydmljZSBXb3JrZXIgRmV0Y2ggRXZlbnQ8L3RpdGxl
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8aWZyYW1lIGlkPSdteWZyYW1lJz48L2lmcmFtZT4KKzxzY3JpcHQ+Citw
cm9taXNlX3Rlc3QoYXN5bmMgKCkgPT4geworICAgIGNvbnN0IHByb21pc2UgPSBuZXcgUHJvbWlz
ZShyZXNvbHZlID0+IHdpbmRvdy5yZXNvbHZlQ2FsbGJhY2sgPSByZXNvbHZlKTsKKyAgICBteWZy
YW1lLmNvbnRlbnREb2N1bWVudC53cml0ZShgCisgICAgPGJvZHk+CisgICAgICAgIDxzY3JpcHQ+
CisgICAgICAgICAgICBuYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5yZWdpc3RlcignYWJvdXQtYmxh
bmstaWZyYW1lLXdvcmtlci5qcycpLnRoZW4ocmVnaXN0cmF0aW9uID0+IHsKKyAgICAgICAgICAg
ICAgICB3aW5kb3cud29ya2VyID0gcmVnaXN0cmF0aW9uLmFjdGl2ZSA/IHJlZ2lzdHJhdGlvbi5h
Y3RpdmUgOiByZWdpc3RyYXRpb24uaW5zdGFsbGluZzsKKyAgICAgICAgICAgICAgICBwYXJlbnQu
cmVzb2x2ZUNhbGxiYWNrKCk7CisgICAgICAgICAgICB9KTsKKyAgICAgICAgPC8keydzY3JpcHQn
fT4KKyAgICA8L2JvZHk+YCk7CisgICAgcmV0dXJuIHByb21pc2U7Cit9LCAic2V0dXAiKTsKKwor
cHJvbWlzZV90ZXN0KGFzeW5jICgpID0+IHsKKyAgICBjb25zdCBwcm9taXNlID0gbmV3IFByb21p
c2UoKHJlc29sdmUsIHJlamVjdCkgPT4geworICAgICAgICBuYXZpZ2F0b3Iuc2VydmljZVdvcmtl
ci5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwgKGV2ZW50KSA9PiB7CisgICAgICAgICAgICBy
ZXNvbHZlKGV2ZW50LmRhdGEpOworICAgICAgICB9KTsKKyAgICAgICAgc2V0VGltZW91dCgoKSA9
PiByZWplY3QoIk5vIHJlc3BvbnNlIG1lc3NhZ2UgZnJvbSBzZXJ2aWNlIHdvcmtlciIpLCA1MDAw
KTsKKyAgICB9KTsKKworICAgIG15ZnJhbWUuY29udGVudFdpbmRvdy53b3JrZXIucG9zdE1lc3Nh
Z2UoImhlbGxvIik7CisgICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBwcm9taXNlLCAiaGVsbG8iKTsK
K30sICJwb3N0IG1lc3NhZ2luZyBmcm9tIGFuIGlmcmFtZSIpOworCitwcm9taXNlX3Rlc3QoYXN5
bmMgKCkgPT4geworICAgIGNvbnN0IHJlZ2lzdHJhdGlvbnMgPSBhd2FpdCBuYXZpZ2F0b3Iuc2Vy
dmljZVdvcmtlci5nZXRSZWdpc3RyYXRpb25zKCk7CisgICAgZm9yIChsZXQgcmVnaXN0cmF0aW9u
IG9mIHJlZ2lzdHJhdGlvbnMpCisgICAgICAgIGF3YWl0IHJlZ2lzdHJhdGlvbi51bnJlZ2lzdGVy
KCk7CisgICAgbXlmcmFtZS5yZW1vdmUoKTsKK30sICJyZW1vdmUgaWZyYW1lIik7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2Fib3V0
LWJsYW5rLXJlcGxhY2VtZW50Lmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L2Fib3V0LWJsYW5rLXJlcGxhY2VtZW50Lmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCBmYzBhOGFm
NWE4ODVhODIzNjBmZDY4ZTc3ZTA2MGU4MDczZWVjNTU3Li41NDE2OTkzMWFlYmM4YzRkMGY4YjA4
NTljOTE3NjUyNzYxNzA3ZTZjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9hYm91dC1i
bGFuay1yZXBsYWNlbWVudC5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvYWJvdXQtYmxhbmstcmVwbGFjZW1lbnQuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC01LDcgKzUs
NyBAQCBGQUlMIEluaXRpYWwgYWJvdXQ6YmxhbmsgaXMgY29udHJvbGxlZCwgZXhwb3NlZCB0byBj
bGllbnRzLm1hdGNoQWxsKCksIGFuZCBtYXRjaAogRkFJTCBJbml0aWFsIGFib3V0OmJsYW5rIG1v
ZGlmaWVkIGJ5IHBhcmVudCBpcyBjb250cm9sbGVkLCBleHBvc2VkIHRvIGNsaWVudHMubWF0Y2hB
bGwoKSwgYW5kIG1hdGNoZXMgZmluYWwgQ2xpZW50LiBhc3NlcnRfZmFsc2U6IHJlc3VsdDogZmFp
bHVyZTogY291bGQgbm90IGZpbmQgYWJvdXQ6YmxhbmsgY2xpZW50IGV4cGVjdGVkIGZhbHNlIGdv
dCB0cnVlCiBGQUlMIFBvcHVwIGluaXRpYWwgYWJvdXQ6YmxhbmsgaXMgY29udHJvbGxlZCwgZXhw
b3NlZCB0byBjbGllbnRzLm1hdGNoQWxsKCksIGFuZCBtYXRjaGVzIGZpbmFsIENsaWVudC4gYXNz
ZXJ0X2ZhbHNlOiByZXN1bHQ6IGZhaWx1cmU6IGNvdWxkIG5vdCBmaW5kIGFib3V0OmJsYW5rIGNs
aWVudCBleHBlY3RlZCBmYWxzZSBnb3QgdHJ1ZQogUEFTUyBJbml0aWFsIGFib3V0OmJsYW5rIGlz
IGNvbnRyb2xsZWQsIGV4cG9zZWQgdG8gY2xpZW50cy5tYXRjaEFsbCgpLCBhbmQgZmluYWwgQ2xp
ZW50IGlzIG5vdCBjb250cm9sbGVkIGJ5IGEgc2VydmljZSB3b3JrZXIuCi1GQUlMIFNpbXBsZSBh
Ym91dDpibGFuayBpcyBjb250cm9sbGVkIGFuZCBpcyBleHBvc2VkIHRvIGNsaWVudHMubWF0Y2hB
bGwoKS4gYXNzZXJ0X2ZhbHNlOiByZXN1bHQ6IGZhaWx1cmU6IGNvdWxkIG5vdCBmaW5kIGFib3V0
OmJsYW5rIGNsaWVudCBleHBlY3RlZCBmYWxzZSBnb3QgdHJ1ZQotRkFJTCBOZXN0ZWQgYWJvdXQ6
c3JjZG9jIGlzIGNvbnRyb2xsZWQgYW5kIGlzIGV4cG9zZWQgdG8gY2xpZW50cy5tYXRjaEFsbCgp
LiBhc3NlcnRfZmFsc2U6IHJlc3VsdDogZmFpbHVyZTogY291bGQgbm90IGZpbmQgYWJvdXQ6c3Jj
ZG9jIGNsaWVudCBleHBlY3RlZCBmYWxzZSBnb3QgdHJ1ZQotRkFJTCBEeW5hbWljIGFib3V0OmJs
YW5rIGlzIGNvbnRyb2xsZWQgYW5kIGlzIGV4cG9zZWQgdG8gY2xpZW50cy5tYXRjaEFsbCgpLiBh
c3NlcnRfZmFsc2U6IHJlc3VsdDogZmFpbHVyZTogY291bGQgbm90IGZpbmQgYWJvdXQ6Ymxhbmsg
Y2xpZW50IGV4cGVjdGVkIGZhbHNlIGdvdCB0cnVlCitQQVNTIFNpbXBsZSBhYm91dDpibGFuayBp
cyBjb250cm9sbGVkIGFuZCBpcyBleHBvc2VkIHRvIGNsaWVudHMubWF0Y2hBbGwoKS4KK1BBU1Mg
TmVzdGVkIGFib3V0OnNyY2RvYyBpcyBjb250cm9sbGVkIGFuZCBpcyBleHBvc2VkIHRvIGNsaWVu
dHMubWF0Y2hBbGwoKS4KK1BBU1MgRHluYW1pYyBhYm91dDpibGFuayBpcyBjb250cm9sbGVkIGFu
ZCBpcyBleHBvc2VkIHRvIGNsaWVudHMubWF0Y2hBbGwoKS4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvY2xpZW50LXVybC1vZi1ibG9iLXVybC13b3JrZXIuaHR0cHMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xpZW50LXVybC1vZi1ibG9iLXVybC13b3JrZXIuaHR0
cHMtZXhwZWN0ZWQudHh0CmluZGV4IDRmN2E3YzE4OTI1NjhmOGU3NTRlYTljYzkyYjNkYmRhZmE3
NzdkZGQuLjA2MDhjMDQxODE0MGVlMTJmNWI1MjgxNmM0ZGZkN2M3MGZmZWIwZGEgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NsaWVudC11cmwtb2YtYmxvYi11cmwtd29ya2VyLmh0dHBz
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGllbnQtdXJsLW9mLWJsb2It
dXJsLXdvcmtlci5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLUZBSUwgQ2xp
ZW50LnVybCBvZiBhIGJsb2IgVVJMIHdvcmtlciBzaG91bGQgYmUgYSBibG9iIFVSTC4gYXNzZXJ0
X25vdF9lcXVhbHM6IHdvcmtlciBjbGllbnQgc2hvdWxkIGV4aXN0IGdvdCBkaXNhbGxvd2VkIHZh
bHVlICJvbmUgd29ya2VyIGNsaWVudCBzaG91bGQgZXhpc3QiCitQQVNTIENsaWVudC51cmwgb2Yg
YSBibG9iIFVSTCB3b3JrZXIgc2hvdWxkIGJlIGEgYmxvYiBVUkwuCiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL2NsaWVudHMtbWF0Y2hhbGwtYmxvYi11cmwtd29ya2VyLmh0dHBzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NsaWVudHMtbWF0Y2hhbGwtYmxvYi11cmwt
d29ya2VyLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCA4MzZiYWZhZjY4NDI5ZTExZjkzYjQ4YTM1
M2QzYWZkYjJkOWYxODVmLi43YmRjOTNiNGMxYzM2ODkzNTc5NTkyODUxMGUwMjczZjQ2ZTdlZDNh
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGllbnRzLW1hdGNoYWxsLWJsb2ItdXJs
LXdvcmtlci5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xpZW50
cy1tYXRjaGFsbC1ibG9iLXVybC13b3JrZXIuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEs
NCBAQAogCi1GQUlMIFRlc3QgQ2xpZW50cy5tYXRjaEFsbCgpIHdpdGggYSBibG9iIFVSTCB3b3Jr
ZXIgY2xpZW50LiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxIGJ1dCBnb3QgMAotRkFJTCBUZXN0
IENsaWVudHMubWF0Y2hBbGwoKSB3aXRoIGFuIHVuY29udHJvbGxlZCBibG9iIFVSTCB3b3JrZXIg
Y2xpZW50LiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxIGJ1dCBnb3QgMAorUEFTUyBUZXN0IENs
aWVudHMubWF0Y2hBbGwoKSB3aXRoIGEgYmxvYiBVUkwgd29ya2VyIGNsaWVudC4KK1BBU1MgVGVz
dCBDbGllbnRzLm1hdGNoQWxsKCkgd2l0aCBhbiB1bmNvbnRyb2xsZWQgYmxvYiBVUkwgd29ya2Vy
IGNsaWVudC4KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>457606</attachid>
            <date>2022-04-14 02:33:32 -0700</date>
            <delta_ts>2022-04-14 06:21:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-213984-20220414113330.patch</filename>
            <type>text/plain</type>
            <size>41467</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyODU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGI4NGFkYjE3NDRjNDU1
ZjllZTJjNDM3YjJjNjZmNDA0ZDVlNzUwOC4uMzBmYjRkMzcyNDYyZDdmNzZjNTdjZjI2YjgzMDdj
MTNjOGNlMzg5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDIyLTA0LTE0ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBTZXJ2aWNlV29ya2VyLnBv
c3RNZXNzYWdlKCkgZG9lc24ndCB3b3JrIGZyb20gaW5zaWRlIGlmcmFtZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEzOTg0CisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS82NTIwMzM0MD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBwb3N0TWVzc2FnZSB3YXMgbm90IHdvcmtpbmcgYXMgd2UgZG8gbm90IHBv
c3RNZXNzYWdlIHRvIGEgc2VydmljZSB3b3JrZXIgaWYgdGhlIHNvdXJjZSBpcyBub3QgcmVnaXN0
ZXJlZC4KKyAgICAgICAgV2Ugbm93IHJlZ2lzdGVyIHNlcnZpY2Ugd29ya2VyIGNsaWVudHMgbW9y
ZSBhZ2dyZXNpdmVseSBhbmQgcGFzcyB0aGUgY2xpZW50IG9yaWdpbiB0byBiZXR0ZXIgaGFuZGxl
IGJsb2IgYW5kIGFib3V0OmJsYW5rIGNsaWVudHMuCisgICAgICAgIFdlIGFsc28gYWRkIHN1cHBv
cnQgZm9yIHJlZ2lzdGVyaW5nL3VucmVnaXN0ZXJpbmcgd29ya2VyIGNsaWVudHMgd2hlbiB0aGV5
IGdldCBzdXNwZW5kZWQvcmVzdW1lZC4KKyAgICAgICAgVG8gbWFrZSBzdXJlIGEgd29ya2VyIGNs
aWVudCBpcyByZW1vdmVkIGluIGZhaWx1cmUgY2FzZSwgV29ya2VyU2NyaXB0TG9hZGVyIGlzIHVu
cmVnaXN0ZXJpbmcgdGhlIHNlcnZpY2Ugd29ya2VyIGNsaWVudCBpZgorICAgICAgICB0aGUgc2Vy
dmljZSB3b3JrZXIgZGF0YSB3YXMgbm90IHRha2VuIGJ5IGl0cyBXb3JrZXIuCisKKyAgICAgICAg
VGVzdDogaHR0cC93cHQvc2VydmljZS13b3JrZXJzL2Fib3V0LWJsYW5rLWlmcmFtZS5odG1sCisK
KyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAqIGxvYWRlci9Eb2N1bWVudExv
YWRlci5jcHA6CisgICAgICAgICogd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJUaHJlYWQuY3BwOgor
ICAgICAgICAqIHdvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwOgorICAgICAgICAqIHdvcmtl
cnMvV29ya2VyR2xvYmFsU2NvcGUuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlclNjcmlwdExv
YWRlci5jcHA6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NXQ2xpZW50Q29ubmVjdGlvbi5o
OgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9Xb3JrZXJTV0NsaWVudENvbm5lY3Rpb24uY3Bw
OgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9Xb3JrZXJTV0NsaWVudENvbm5lY3Rpb24uaDoK
KwogMjAyMi0wNC0xMyAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAg
ICAgRXhwb3NlIHdvcmtlcnMgYXMgc2VydmljZSB3b3JrZXIgY2xpZW50cyBhbmQgaW1wbGVtZW50
IHJlZ2lzdHJhdGlvbiBtYXRjaGluZyBmb3IgZGVkaWNhdGVkIHdvcmtlcnMKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXgg
MzE5NjEwZWM5M2Y4YzIyMGYwZDgzY2RjNmRiNTUwZTUzNjcyMjZkZi4uOTU5OWJhOTkwNzU2ODU0
ODgxOWMyOTA4Y2JhMDRhOGQ1MDVmMzkxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAy
Mi0wNC0xNCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgU2Vy
dmljZVdvcmtlci5wb3N0TWVzc2FnZSgpIGRvZXNuJ3Qgd29yayBmcm9tIGluc2lkZSBpZnJhbWUK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMzk4NAor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjUyMDMzNDA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUGFzcyB0aGUgZnVsbCBDbGllbnRPcmlnaW4gd2hl
biByZWdpc3RlcmluZyBhIHNlcnZpY2Ugd29ya2VyIGNsaWVudC4KKyAgICAgICAgRmlsdGVyIG91
dCBjbGllbnRzIHRoYXQgY2Fubm90IGJlIG1hdGNoZWQ6CisgICAgICAgIC0gbm9uIEhUVFAvYmxv
Yi9hYm91dDpibGFuayBjbGllbnRzCisgICAgICAgIC0gc2FuZGJveGVkIEhUVFAgY2xpZW50cwor
CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5l
Y3Rpb24uY3BwOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dT
ZXJ2ZXJDb25uZWN0aW9uLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtl
ci9XZWJTV1NlcnZlckNvbm5lY3Rpb24ubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vz
cy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5jcHA6CisgICAgICAgICogV2ViUHJvY2Vz
cy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5oOgorCiAyMDIyLTA0LTEzICBZb3Vlbm4g
RmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBFeHBvc2Ugd29ya2VycyBhcyBz
ZXJ2aWNlIHdvcmtlciBjbGllbnRzIGFuZCBpbXBsZW1lbnQgcmVnaXN0cmF0aW9uIG1hdGNoaW5n
IGZvciBkZWRpY2F0ZWQgd29ya2VycwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggZTNkYjVk
NmEyZmFiNjc0YmZiNmFiMzcyMWQ2MDkyNDE3ZjVkYTI2OS4uZjY0NDk5NGExY2Y2MzEyZGZjZGEy
NDgyNTU3YzgwZGNiMWJhYzJhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC04Nzc4LDcg
Kzg3NzgsNyBAQCB2b2lkIERvY3VtZW50Ojp1cGRhdGVTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSgp
CiAgICAgICAgIHJldHVybjsKIAogICAgIGF1dG8gY29udHJvbGxpbmdTZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uSWRlbnRpZmllciA9IGFjdGl2ZVNlcnZpY2VXb3JrZXIoKSA/IHN0ZDo6bWFrZV9v
cHRpb25hbDxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcj4oYWN0aXZlU2Vydmlj
ZVdvcmtlcigpLT5yZWdpc3RyYXRpb25JZGVudGlmaWVyKCkpIDogc3RkOjpudWxsb3B0OwotICAg
IG1fc2VydmljZVdvcmtlckNvbm5lY3Rpb24tPnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudCh0
b3BPcmlnaW4oKSwgU2VydmljZVdvcmtlckNsaWVudERhdGE6OmZyb20oKnRoaXMpLCBjb250cm9s
bGluZ1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyLCB1c2VyQWdlbnQodXJsKCkp
KTsKKyAgICBtX3NlcnZpY2VXb3JrZXJDb25uZWN0aW9uLT5yZWdpc3RlclNlcnZpY2VXb3JrZXJD
bGllbnQoY2xpZW50T3JpZ2luKCksIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhOjpmcm9tKCp0aGlz
KSwgY29udHJvbGxpbmdTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciwgdXNlckFn
ZW50KHVybCgpKSk7CiB9CiAKIHZvaWQgRG9jdW1lbnQ6Om5hdmlnYXRlRnJvbVNlcnZpY2VXb3Jr
ZXIoY29uc3QgVVJMJiB1cmwsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYgY2FsbGJh
Y2spCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcAppbmRleCA0MTY5N2Y1
MzBmMWVlY2FkMGMyN2YzYTRlZTJkYzkwOTNmNzAyMjViLi43ZjM5MWJmNDQ2NmNlN2QzMDY3OWQ2
ZjQ0MGU0M2JiZmIwNjVkMzkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9j
dW1lbnRMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRl
ci5jcHAKQEAgLTEyNTksNyArMTI1OSw3IEBAIHZvaWQgRG9jdW1lbnRMb2FkZXI6OmNvbW1pdERh
dGEoY29uc3QgU2hhcmVkQnVmZmVyJiBkYXRhKQogICAgICAgICAgICAgICAgICAgICBkb2N1bWVu
dC5jcmVhdGVOZXdJZGVudGlmaWVyKCk7CiAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIGlm
IChtX2ZyYW1lLT5kb2N1bWVudCgpLT5hY3RpdmVTZXJ2aWNlV29ya2VyKCkgfHwgZG9jdW1lbnQu
dXJsKCkucHJvdG9jb2xJc0luSFRUUEZhbWlseSgpIHx8IChkb2N1bWVudC5wYWdlKCkgJiYgZG9j
dW1lbnQucGFnZSgpLT5pc1NlcnZpY2VXb3JrZXJQYWdlKCkpKQorICAgICAgICAgICAgaWYgKG1f
ZnJhbWUtPmRvY3VtZW50KCktPmFjdGl2ZVNlcnZpY2VXb3JrZXIoKSB8fCBkb2N1bWVudC51cmwo
KS5wcm90b2NvbElzSW5IVFRQRmFtaWx5KCkgfHwgKGRvY3VtZW50LnBhZ2UoKSAmJiBkb2N1bWVu
dC5wYWdlKCktPmlzU2VydmljZVdvcmtlclBhZ2UoKSkgfHwgKGRvY3VtZW50LnBhcmVudERvY3Vt
ZW50KCkgJiYgc2hvdWxkVXNlQWN0aXZlU2VydmljZVdvcmtlckZyb21QYXJlbnQoZG9jdW1lbnQs
ICpkb2N1bWVudC5wYXJlbnREb2N1bWVudCgpKSkpCiAgICAgICAgICAgICAgICAgZG9jdW1lbnQu
c2V0U2VydmljZVdvcmtlckNvbm5lY3Rpb24oJlNlcnZpY2VXb3JrZXJQcm92aWRlcjo6c2luZ2xl
dG9uKCkuc2VydmljZVdvcmtlckNvbm5lY3Rpb24oKSk7CiAKICAgICAgICAgICAgIGlmIChtX3Jl
c3VsdGluZ0NsaWVudElkKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0Rl
ZGljYXRlZFdvcmtlclRocmVhZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRl
ZFdvcmtlclRocmVhZC5jcHAKaW5kZXggNzUwMzMyYjNkZTVlZGZkMmVlNzc1NjUwMTVmN2I4NmUx
ZjViYzZhMy4uMmY1Mjk3YzlmMDlmOGQwZjJmNTEwZDUyNTJiOTE0ODliYTE4YjQwYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJUaHJlYWQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyVGhyZWFkLmNwcApAQCAt
NTIsNiArNTIsNyBAQCBSZWY8V29ya2VyR2xvYmFsU2NvcGU+IERlZGljYXRlZFdvcmtlclRocmVh
ZDo6Y3JlYXRlV29ya2VyR2xvYmFsU2NvcGUoY29uc3QgV29yawogI2lmIEVOQUJMRShTRVJWSUNF
X1dPUktFUikKICAgICBpZiAocGFyYW1zLnNlcnZpY2VXb3JrZXJEYXRhKQogICAgICAgICBzY29w
ZS0+c2V0QWN0aXZlU2VydmljZVdvcmtlcihTZXJ2aWNlV29ya2VyOjpnZXRPckNyZWF0ZShzY29w
ZS5nZXQoKSwgU2VydmljZVdvcmtlckRhdGEgeyAqcGFyYW1zLnNlcnZpY2VXb3JrZXJEYXRhIH0p
KTsKKyAgICBzY29wZS0+dXBkYXRlU2VydmljZVdvcmtlckNsaWVudERhdGEoKTsKICNlbmRpZgog
ICAgIHJldHVybiBzY29wZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyR2xvYmFsU2NvcGUuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9i
YWxTY29wZS5jcHAKaW5kZXggYWM0ZGU0YjdjMGVkZDQ5NWYwYzA0NTQyNjY2ZmI4MjYyNzA1ZTQ5
MS4uZGRmNDMzM2I2OTNjNTU5OGM5NjIzYTI0ZTJiOGQyMGQ1MGQ1NTRhYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHAKQEAgLTE1MSw2ICsxNTEsMTAg
QEAgdm9pZCBXb3JrZXJHbG9iYWxTY29wZTo6cHJlcGFyZUZvckRlc3RydWN0aW9uKCkKIHsKICAg
ICBXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZTo6cHJlcGFyZUZvckRlc3RydWN0aW9uKCk7CiAK
KyNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCisgICAgc3dDbGllbnRDb25uZWN0aW9uKCkudW5y
ZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQoaWRlbnRpZmllcigpKTsKKyNlbmRpZgorCiAgICAg
c3RvcEluZGV4ZWREYXRhYmFzZSgpOwogCiAgICAgaWYgKG1fY2FjaGVTdG9yYWdlQ29ubmVjdGlv
bikKQEAgLTIyOSwxMCArMjMzLDE4IEBAIHZvaWQgV29ya2VyR2xvYmFsU2NvcGU6OnN1c3BlbmQo
KQogewogICAgIGlmIChtX2Nvbm5lY3Rpb25Qcm94eSkKICAgICAgICAgbV9jb25uZWN0aW9uUHJv
eHktPnNldENvbnRleHRTdXNwZW5kZWQoKnRoaXMsIHRydWUpOworCisjaWYgRU5BQkxFKFNFUlZJ
Q0VfV09SS0VSKQorICAgIHN3Q2xpZW50Q29ubmVjdGlvbigpLnVucmVnaXN0ZXJTZXJ2aWNlV29y
a2VyQ2xpZW50KGlkZW50aWZpZXIoKSk7CisjZW5kaWYKIH0KIAogdm9pZCBXb3JrZXJHbG9iYWxT
Y29wZTo6cmVzdW1lKCkKIHsKKyNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCisgICAgdXBkYXRl
U2VydmljZVdvcmtlckNsaWVudERhdGEoKTsKKyNlbmRpZgorCiAgICAgaWYgKG1fY29ubmVjdGlv
blByb3h5KQogICAgICAgICBtX2Nvbm5lY3Rpb25Qcm94eS0+c2V0Q29udGV4dFN1c3BlbmRlZCgq
dGhpcywgZmFsc2UpOwogfQpAQCAtNjU3LDEwICs2NjksOSBAQCB2b2lkIFdvcmtlckdsb2JhbFNj
b3BlOjp1cGRhdGVTb3VyY2VQcm92aWRlckJ1ZmZlcnMoY29uc3QgU2NyaXB0QnVmZmVyJiBtYWlu
U2NyaQogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKIHZvaWQgV29ya2VyR2xvYmFsU2NvcGU6
OnVwZGF0ZVNlcnZpY2VXb3JrZXJDbGllbnREYXRhKCkKIHsKLSAgICBBU1NFUlQodHlwZSgpID09
IFdlYkNvcmU6Oldvcmtlckdsb2JhbFNjb3BlOjpUeXBlOjpEZWRpY2F0ZWRXb3JrZXIpOworICAg
IEFTU0VSVCh0eXBlKCkgPT0gV2ViQ29yZTo6V29ya2VyR2xvYmFsU2NvcGU6OlR5cGU6OkRlZGlj
YXRlZFdvcmtlciB8fCB0eXBlKCkgPT0gV2ViQ29yZTo6V29ya2VyR2xvYmFsU2NvcGU6OlR5cGU6
OlNoYXJlZFdvcmtlcik7CiAgICAgYXV0byBjb250cm9sbGluZ1NlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb25JZGVudGlmaWVyID0gYWN0aXZlU2VydmljZVdvcmtlcigpID8gc3RkOjptYWtlX29wdGlv
bmFsPFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyPihhY3RpdmVTZXJ2aWNlV29y
a2VyKCktPnJlZ2lzdHJhdGlvbklkZW50aWZpZXIoKSkgOiBzdGQ6Om51bGxvcHQ7Ci0gICAgU1dD
bGllbnRDb25uZWN0aW9uJiBjb25uZWN0aW9uID0gc3dDbGllbnRDb25uZWN0aW9uKCk7Ci0gICAg
Y29ubmVjdGlvbi5yZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQodG9wT3JpZ2luKCksIFNlcnZp
Y2VXb3JrZXJDbGllbnREYXRhOjpmcm9tKCp0aGlzKSwgY29udHJvbGxpbmdTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uSWRlbnRpZmllciwgU3RyaW5nIHsgbV91c2VyQWdlbnQgfSk7CisgICAgc3dD
bGllbnRDb25uZWN0aW9uKCkucmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KGNsaWVudE9yaWdp
bigpLCBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YTo6ZnJvbSgqdGhpcyksIGNvbnRyb2xsaW5nU2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIsIFN0cmluZyB7IG1fdXNlckFnZW50IH0p
OwogfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
R2xvYmFsU2NvcGUuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUu
aAppbmRleCA1OGJiZDY1NzdmYTQzNzIwN2U5YmE3NmRkZWU3M2UzOTY0ZGVkNmNkLi5lZDc4OTNj
YmM4MjJhNzgzNWY4MDRkNTkyYTZiNDdhZDRmOGU3OWQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5oCkBAIC05Nyw4ICs5NywxMCBAQCBwdWJsaWM6CiAgICAg
V0VCQ09SRV9FWFBPUlQgV29ya2VyRmlsZVN5c3RlbVN0b3JhZ2VDb25uZWN0aW9uKiBmaWxlU3lz
dGVtU3RvcmFnZUNvbm5lY3Rpb24oKTsKICAgICBXb3JrZXJDYWNoZVN0b3JhZ2VDb25uZWN0aW9u
JiBjYWNoZVN0b3JhZ2VDb25uZWN0aW9uKCk7CiAgICAgTWVzc2FnZVBvcnRDaGFubmVsUHJvdmlk
ZXImIG1lc3NhZ2VQb3J0Q2hhbm5lbFByb3ZpZGVyKCk7CisKICNpZiBFTkFCTEUoU0VSVklDRV9X
T1JLRVIpCiAgICAgV29ya2VyU1dDbGllbnRDb25uZWN0aW9uJiBzd0NsaWVudENvbm5lY3Rpb24o
KTsKKyAgICB2b2lkIHVwZGF0ZVNlcnZpY2VXb3JrZXJDbGllbnREYXRhKCkgZmluYWw7CiAjZW5k
aWYKIAogICAgIFdvcmtlclRocmVhZCYgdGhyZWFkKCkgY29uc3Q7CkBAIC0xOTIsOSArMTk0LDYg
QEAgcHJpdmF0ZToKICAgICBib29sIHdyYXBDcnlwdG9LZXkoY29uc3QgVmVjdG9yPHVpbnQ4X3Q+
JiBrZXksIFZlY3Rvcjx1aW50OF90PiYgd3JhcHBlZEtleSkgZmluYWw7CiAgICAgYm9vbCB1bndy
YXBDcnlwdG9LZXkoY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiB3cmFwcGVkS2V5LCBWZWN0b3I8dWlu
dDhfdD4mIGtleSkgZmluYWw7CiAjZW5kaWYKLSNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCi0g
ICAgdm9pZCB1cGRhdGVTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSgpIGZpbmFsOwotI2VuZGlmCiAK
ICAgICB2b2lkIHN0b3BJbmRleGVkRGF0YWJhc2UoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuY3BwCmluZGV4IDkxYWRjMGYzMzdiOWM0YjJkZTU0ZGYy
N2YxYzZmMWMyM2YwZDk3ODMuLjUxMjdiYjkwMDMwMzQ1ZDQwMmUwYWIzZGQ1OTBiNzI3MGI1MGNl
OTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5jcHAK
QEAgLTM2LDYgKzM2LDcgQEAKICNpbmNsdWRlICJTZXJ2aWNlV29ya2VyLmgiCiAjaW5jbHVkZSAi
U2VydmljZVdvcmtlckNvbnRleHREYXRhLmgiCiAjaW5jbHVkZSAiU2VydmljZVdvcmtlckdsb2Jh
bFNjb3BlLmgiCisjaW5jbHVkZSAiU2VydmljZVdvcmtlclByb3ZpZGVyLmgiCiAjaW5jbHVkZSAi
VGV4dFJlc291cmNlRGVjb2Rlci5oIgogI2luY2x1ZGUgIldvcmtlckZldGNoUmVzdWx0LmgiCiAj
aW5jbHVkZSAiV29ya2VyR2xvYmFsU2NvcGUuaCIKQEAgLTU4LDggKzU5LDE0IEBAIFdvcmtlclNj
cmlwdExvYWRlcjo6V29ya2VyU2NyaXB0TG9hZGVyKCkKIAogV29ya2VyU2NyaXB0TG9hZGVyOjp+
V29ya2VyU2NyaXB0TG9hZGVyKCkKIHsKLSAgICBpZiAobV9jbGllbnRJZGVudGlmaWVyKQotICAg
ICAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllclRvV29ya2VyU2NyaXB0TG9hZGVy
TWFwKCkucmVtb3ZlKG1fY2xpZW50SWRlbnRpZmllcik7CisgICAgaWYgKCFtX2NsaWVudElkZW50
aWZpZXIpCisgICAgICAgIHJldHVybjsKKworICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVu
dGlmaWVyVG9Xb3JrZXJTY3JpcHRMb2FkZXJNYXAoKS5yZW1vdmUobV9jbGllbnRJZGVudGlmaWVy
KTsKKyNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCisgICAgaWYgKG1fYWN0aXZlU2VydmljZVdv
cmtlckRhdGEpCisgICAgICAgIFNlcnZpY2VXb3JrZXJQcm92aWRlcjo6c2luZ2xldG9uKCkuc2Vy
dmljZVdvcmtlckNvbm5lY3Rpb24oKS51bnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChtX2Ns
aWVudElkZW50aWZpZXIpOworI2VuZGlmCiB9CiAKIHN0ZDo6b3B0aW9uYWw8RXhjZXB0aW9uPiBX
b3JrZXJTY3JpcHRMb2FkZXI6OmxvYWRTeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIGNvbnN0IFVSTCYgdXJsLCBTb3VyY2Ugc291cmNl
LCBGZXRjaE9wdGlvbnM6Ok1vZGUgbW9kZSwgRmV0Y2hPcHRpb25zOjpDYWNoZSBjYWNoZVBvbGlj
eSwgQ29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQgY29udGVudFNlY3VyaXR5UG9saWN5
RW5mb3JjZW1lbnQsIGNvbnN0IFN0cmluZyYgaW5pdGlhdG9ySWRlbnRpZmllcikKQEAgLTE1MSwx
MyArMTU4LDEyIEBAIHZvaWQgV29ya2VyU2NyaXB0TG9hZGVyOjpsb2FkQXN5bmNocm9ub3VzbHko
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgc2NyaXB0RXhlY3V0CiAgICAgLy8gRklYTUU6IEFkZCBz
dXBwb3J0IGZvciBzaGFyZWQgd29ya2VyLgogICAgIGlmIChtX2Rlc3RpbmF0aW9uID09IEZldGNo
T3B0aW9uczo6RGVzdGluYXRpb246OldvcmtlciAmJiBpczxEb2N1bWVudD4oc2NyaXB0RXhlY3V0
aW9uQ29udGV4dCkpIHsKICAgICAgICAgQVNTRVJUKGNsaWVudElkZW50aWZpZXIpOworICAgICAg
ICBvcHRpb25zLmNsaWVudElkZW50aWZpZXIgPSBtX2NsaWVudElkZW50aWZpZXIgPSBjbGllbnRJ
ZGVudGlmaWVyOwogICAgICAgICAvLyBJbiBjYXNlIG9mIGJsb2IgVVJMcywgd2UgcmV1c2UgdGhl
IGRvY3VtZW50IGNvbnRyb2xsaW5nIHNlcnZpY2Ugd29ya2VyLgogICAgICAgICBpZiAocmVxdWVz
dC0+dXJsKCkucHJvdG9jb2xJc0Jsb2IoKSAmJiBzY3JpcHRFeGVjdXRpb25Db250ZXh0LmFjdGl2
ZVNlcnZpY2VXb3JrZXIoKSkKICAgICAgICAgICAgIHNldENvbnRyb2xsaW5nU2VydmljZVdvcmtl
cihTZXJ2aWNlV29ya2VyRGF0YSB7IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuYWN0aXZlU2Vydmlj
ZVdvcmtlcigpLT5kYXRhKCkgfSk7Ci0gICAgICAgIGVsc2UgewotICAgICAgICAgICAgb3B0aW9u
cy5jbGllbnRJZGVudGlmaWVyID0gbV9jbGllbnRJZGVudGlmaWVyID0gY2xpZW50SWRlbnRpZmll
cjsKKyAgICAgICAgZWxzZQogICAgICAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50
aWZpZXJUb1dvcmtlclNjcmlwdExvYWRlck1hcCgpLmFkZChtX2NsaWVudElkZW50aWZpZXIsIHRo
aXMpOwotICAgICAgICB9CiAgICAgfSBlbHNlIGlmIChhdXRvKiBhY3RpdmVTZXJ2aWNlV29ya2Vy
ID0gc2NyaXB0RXhlY3V0aW9uQ29udGV4dC5hY3RpdmVTZXJ2aWNlV29ya2VyKCkpCiAgICAgICAg
IG9wdGlvbnMuc2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIgPSBhY3RpdmVTZXJ2
aWNlV29ya2VyLT5yZWdpc3RyYXRpb25JZGVudGlmaWVyKCk7CiAjZW5kaWYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TV0NsaWVudENvbm5lY3Rpb24uaCBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TV0NsaWVudENvbm5lY3Rpb24uaAppbmRleCBk
ZDMzNmNhMjBlY2NkYmYyYWVkOGZlNDhjZGEzOTU0MDM1MzE1ZGJkLi5hMWZkYmVlNTA3ZDkzOGM2
YTk2N2U4MTBlMzc2MTczYTFlMDA3OWIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2UvU1dDbGllbnRDb25uZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zZXJ2aWNlL1NXQ2xpZW50Q29ubmVjdGlvbi5oCkBAIC01MCw2ICs1MCw3IEBAIGNsYXNz
IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb247CiBlbnVtIGNsYXNzIFNlcnZpY2VXb3JrZXJSZWdp
c3RyYXRpb25TdGF0ZSA6IHVpbnQ4X3Q7CiBlbnVtIGNsYXNzIFNlcnZpY2VXb3JrZXJTdGF0ZSA6
IHVpbnQ4X3Q7CiBlbnVtIGNsYXNzIFNob3VsZE5vdGlmeVdoZW5SZXNvbHZlZCA6IGJvb2w7Citz
dHJ1Y3QgQ2xpZW50T3JpZ2luOwogc3RydWN0IEV4Y2VwdGlvbkRhdGE7CiBzdHJ1Y3QgTWVzc2Fn
ZVdpdGhNZXNzYWdlUG9ydHM7CiBzdHJ1Y3QgTm90aWZpY2F0aW9uRGF0YTsKQEAgLTg0LDcgKzg1
LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgU1dTZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllciBz
ZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllcigpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIGJvb2wg
bWF5SGF2ZVNlcnZpY2VXb3JrZXJSZWdpc3RlcmVkRm9yT3JpZ2luKGNvbnN0IFNlY3VyaXR5T3Jp
Z2luRGF0YSYpIGNvbnN0ID0gMDsKIAotICAgIHZpcnR1YWwgdm9pZCByZWdpc3RlclNlcnZpY2VX
b3JrZXJDbGllbnQoY29uc3QgU2VjdXJpdHlPcmlnaW4mIHRvcE9yaWdpbiwgU2VydmljZVdvcmtl
ckNsaWVudERhdGEmJiwgY29uc3Qgc3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uSWRlbnRpZmllcj4mLCBTdHJpbmcmJiB1c2VyQWdlbnQpID0gMDsKKyAgICB2aXJ0dWFsIHZv
aWQgcmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KGNvbnN0IENsaWVudE9yaWdpbiYsIFNlcnZp
Y2VXb3JrZXJDbGllbnREYXRhJiYsIGNvbnN0IHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbklkZW50aWZpZXI+JiwgU3RyaW5nJiYgdXNlckFnZW50KSA9IDA7CiAgICAgdmly
dHVhbCB2b2lkIHVucmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHRJZGVudGlmaWVyKSA9IDA7CiAKICAgICB2aXJ0dWFsIHZvaWQgZmluaXNoRmV0Y2hpbmdT
Y3JpcHRJblNlcnZlcihjb25zdCBTZXJ2aWNlV29ya2VySm9iRGF0YUlkZW50aWZpZXImLCBTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5JiYsIFdvcmtlckZldGNoUmVzdWx0JiYpID0gMDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9Xb3JrZXJTV0NsaWVudENv
bm5lY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1dvcmtlclNXQ2xp
ZW50Q29ubmVjdGlvbi5jcHAKaW5kZXggYzUyNGVjMGE3NWI2YWZiMjgxN2JmNmUzODIzMTc1NmY5
NWI3ZWYyYi4uZjE0MGY5OWI0MDg2YmY2ZmJjZjcyYjZjNDdlMGQ0MWQxZmEwZDg1MyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1dvcmtlclNXQ2xpZW50Q29ubmVj
dGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1dvcmtlclNXQ2xp
ZW50Q29ubmVjdGlvbi5jcHAKQEAgLTE4NCwxNyArMTg0LDE5IEBAIGJvb2wgV29ya2VyU1dDbGll
bnRDb25uZWN0aW9uOjptYXlIYXZlU2VydmljZVdvcmtlclJlZ2lzdGVyZWRGb3JPcmlnaW4oY29u
c3QgU2VjCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLXZvaWQgV29ya2VyU1dDbGllbnRDb25uZWN0
aW9uOjpyZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQoY29uc3QgU2VjdXJpdHlPcmlnaW4mIHRv
cE9yaWdpbiwgU2VydmljZVdvcmtlckNsaWVudERhdGEmJiBkYXRhLCBjb25zdCBzdGQ6Om9wdGlv
bmFsPFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyPiYgaWRlbnRpZmllciwgU3Ry
aW5nJiYgdXNlckFnZW50KQordm9pZCBXb3JrZXJTV0NsaWVudENvbm5lY3Rpb246OnJlZ2lzdGVy
U2VydmljZVdvcmtlckNsaWVudChjb25zdCBDbGllbnRPcmlnaW4mIGNsaWVudE9yaWdpbiwgU2Vy
dmljZVdvcmtlckNsaWVudERhdGEmJiBkYXRhLCBjb25zdCBzdGQ6Om9wdGlvbmFsPFNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyPiYgaWRlbnRpZmllciwgU3RyaW5nJiYgdXNlckFn
ZW50KQogewotICAgIGNhbGxPbk1haW5UaHJlYWQoW3RvcE9yaWdpbiA9IHRvcE9yaWdpbi5pc29s
YXRlZENvcHkoKSwgZGF0YSA9IGNyb3NzVGhyZWFkQ29weShXVEZNb3ZlKGRhdGEpKSwgaWRlbnRp
ZmllciwgdXNlckFnZW50ID0gY3Jvc3NUaHJlYWRDb3B5KFdURk1vdmUodXNlckFnZW50KSldKCkg
bXV0YWJsZSB7CisgICAgY2FsbE9uTWFpblRocmVhZChbY2xpZW50T3JpZ2luID0gY2xpZW50T3Jp
Z2luLmlzb2xhdGVkQ29weSgpLCBkYXRhID0gY3Jvc3NUaHJlYWRDb3B5KFdURk1vdmUoZGF0YSkp
LCBpZGVudGlmaWVyLCB1c2VyQWdlbnQgPSBjcm9zc1RocmVhZENvcHkoV1RGTW92ZSh1c2VyQWdl
bnQpKV0oKSBtdXRhYmxlIHsKICAgICAgICAgYXV0byYgY29ubmVjdGlvbiA9IFNlcnZpY2VXb3Jr
ZXJQcm92aWRlcjo6c2luZ2xldG9uKCkuc2VydmljZVdvcmtlckNvbm5lY3Rpb24oKTsKLSAgICAg
ICAgY29ubmVjdGlvbi5yZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQodG9wT3JpZ2luLCBXVEZN
b3ZlKGRhdGEpLCBpZGVudGlmaWVyLCBXVEZNb3ZlKHVzZXJBZ2VudCkpOworICAgICAgICBjb25u
ZWN0aW9uLnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChjbGllbnRPcmlnaW4sIFdURk1vdmUo
ZGF0YSksIGlkZW50aWZpZXIsIFdURk1vdmUodXNlckFnZW50KSk7CiAgICAgfSk7CiB9CiAKLXZv
aWQgV29ya2VyU1dDbGllbnRDb25uZWN0aW9uOjp1bnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVu
dChTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllcikKK3ZvaWQgV29ya2VyU1dDbGllbnRD
b25uZWN0aW9uOjp1bnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChTY3JpcHRFeGVjdXRpb25D
b250ZXh0SWRlbnRpZmllciBpZGVudGlmaWVyKQogewotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OworICAgIGNhbGxPbk1haW5UaHJlYWQoW2lkZW50aWZpZXJdIHsKKyAgICAgICAgU2VydmljZVdv
cmtlclByb3ZpZGVyOjpzaW5nbGV0b24oKS5zZXJ2aWNlV29ya2VyQ29ubmVjdGlvbigpLnVucmVn
aXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KGlkZW50aWZpZXIpOworICAgIH0pOwogfQogCiB2b2lk
IFdvcmtlclNXQ2xpZW50Q29ubmVjdGlvbjo6ZmluaXNoRmV0Y2hpbmdTY3JpcHRJblNlcnZlcihj
b25zdCBTZXJ2aWNlV29ya2VySm9iRGF0YUlkZW50aWZpZXImIGpvYkRhdGFJZGVudGlmaWVyLCBT
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5JiYgcmVnaXN0cmF0aW9uS2V5LCBXb3JrZXJGZXRj
aFJlc3VsdCYmIHJlc3VsdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vy
dmljZS9Xb3JrZXJTV0NsaWVudENvbm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2VydmljZS9Xb3JrZXJTV0NsaWVudENvbm5lY3Rpb24uaAppbmRleCAyYWE0YTQwOTRjZGU4OTQ2
YmY0OGI0YzFhNzk3OWI3ZWJkZjY0ZTZjLi4yOWJmYjMzZWY0YjNkNDA2NTUzMzAyMWFjNmUyNTQ3
NjgwN2IwYWI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvV29y
a2VyU1dDbGllbnRDb25uZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2
aWNlL1dvcmtlclNXQ2xpZW50Q29ubmVjdGlvbi5oCkBAIC0zOSw2ICszOSw5IEBAIHB1YmxpYzoK
ICAgICBzdGF0aWMgUmVmPFdvcmtlclNXQ2xpZW50Q29ubmVjdGlvbj4gY3JlYXRlKFdvcmtlckds
b2JhbFNjb3BlJiBzY29wZSkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBXb3JrZXJTV0NsaWVudENv
bm5lY3Rpb24geyBzY29wZSB9KTsgfQogICAgIH5Xb3JrZXJTV0NsaWVudENvbm5lY3Rpb24oKTsK
IAorICAgIHZvaWQgcmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KGNvbnN0IENsaWVudE9yaWdp
biYsIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhJiYsIGNvbnN0IHN0ZDo6b3B0aW9uYWw8U2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXI+JiwgU3RyaW5nJiYgdXNlckFnZW50KSBmaW5h
bDsKKyAgICB2b2lkIHVucmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHRJZGVudGlmaWVyKSBmaW5hbDsKKwogcHJpdmF0ZToKICAgICBleHBsaWNpdCBXb3Jr
ZXJTV0NsaWVudENvbm5lY3Rpb24oV29ya2VyR2xvYmFsU2NvcGUmKTsKIApAQCAtNTEsOCArNTQs
NiBAQCBwcml2YXRlOgogICAgIHZvaWQgcG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXIoU2Vydmlj
ZVdvcmtlcklkZW50aWZpZXIgZGVzdGluYXRpb24sIE1lc3NhZ2VXaXRoTWVzc2FnZVBvcnRzJiYs
IGNvbnN0IFNlcnZpY2VXb3JrZXJPckNsaWVudElkZW50aWZpZXImIHNvdXJjZSkgZmluYWw7CiAg
ICAgU1dTZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllciBzZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmll
cigpIGNvbnN0IGZpbmFsOwogICAgIGJvb2wgbWF5SGF2ZVNlcnZpY2VXb3JrZXJSZWdpc3RlcmVk
Rm9yT3JpZ2luKGNvbnN0IFNlY3VyaXR5T3JpZ2luRGF0YSYpIGNvbnN0IGZpbmFsOwotICAgIHZv
aWQgcmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KGNvbnN0IFNlY3VyaXR5T3JpZ2luJiB0b3BP
cmlnaW4sIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhJiYsIGNvbnN0IHN0ZDo6b3B0aW9uYWw8U2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXI+JiwgU3RyaW5nJiYgdXNlckFnZW50KSBm
aW5hbDsKLSAgICB2b2lkIHVucmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHRJZGVudGlmaWVyKSBmaW5hbDsKICAgICB2b2lkIGZpbmlzaEZldGNoaW5nU2Ny
aXB0SW5TZXJ2ZXIoY29uc3QgU2VydmljZVdvcmtlckpvYkRhdGFJZGVudGlmaWVyJiwgU2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbktleSYmLCBXb3JrZXJGZXRjaFJlc3VsdCYmKSBmaW5hbDsKICAg
ICB2b2lkIHNjaGVkdWxlSm9iSW5TZXJ2ZXIoY29uc3QgU2VydmljZVdvcmtlckpvYkRhdGEmKSBm
aW5hbDsKICAgICB2b2lkIHNjaGVkdWxlSm9iKFNlcnZpY2VXb3JrZXJPckNsaWVudElkZW50aWZp
ZXIsIGNvbnN0IFNlcnZpY2VXb3JrZXJKb2JEYXRhJikgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0
aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9XZWJT
V1NlcnZlckNvbm5lY3Rpb24uY3BwCmluZGV4IGIzZGQ0YTUyODIwOTI0ZDkwMTI0OTEzNzE3ZmJi
MjAyNWFmNTUzOWMuLjg4OTg4ZGZlOTc4NmI4YWNkYmUzZjQzMDRiODczODYxMTJiMjE5ODQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9XZWJT
V1NlcnZlckNvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
U2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uY3BwCkBAIC0xODQsNyArMTg0LDcg
QEAgdm9pZCBXZWJTV1NlcnZlckNvbm5lY3Rpb246OmNvbnRyb2xDbGllbnQoY29uc3QgTmV0d29y
a1Jlc291cmNlTG9hZFBhcmFtZXRlcnMmIHAKIAogICAgIGF1dG8gYW5jZXN0b3JPcmlnaW5zID0g
bWFwKHBhcmFtZXRlcnMuZnJhbWVBbmNlc3Rvck9yaWdpbnMsIFtdKGF1dG8mIG9yaWdpbikgeyBy
ZXR1cm4gb3JpZ2luLT50b1N0cmluZygpOyB9KTsKICAgICBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0
YSBkYXRhIHsgY2xpZW50SWRlbnRpZmllciwgY2xpZW50VHlwZSwgU2VydmljZVdvcmtlckNsaWVu
dEZyYW1lVHlwZTo6Tm9uZSwgcmVxdWVzdC51cmwoKSwgcGFyYW1ldGVycy53ZWJQYWdlSUQsIHBh
cmFtZXRlcnMud2ViRnJhbWVJRCwgcmVxdWVzdC5pc0FwcEluaXRpYXRlZCgpID8gV2ViQ29yZTo6
TGFzdE5hdmlnYXRpb25XYXNBcHBJbml0aWF0ZWQ6OlllcyA6IFdlYkNvcmU6Okxhc3ROYXZpZ2F0
aW9uV2FzQXBwSW5pdGlhdGVkOjpObywgZmFsc2UsIGZhbHNlLCAwLCBXVEZNb3ZlKGFuY2VzdG9y
T3JpZ2lucykgfTsKLSAgICByZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQoU2VjdXJpdHlPcmln
aW5EYXRhIHsgcmVnaXN0cmF0aW9uLmtleSgpLnRvcE9yaWdpbigpIH0sIFdURk1vdmUoZGF0YSks
IHJlZ2lzdHJhdGlvbi5pZGVudGlmaWVyKCksIHJlcXVlc3QuaHR0cFVzZXJBZ2VudCgpKTsKKyAg
ICByZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQoQ2xpZW50T3JpZ2luIHsgcmVnaXN0cmF0aW9u
LmtleSgpLnRvcE9yaWdpbigpLCBTZWN1cml0eU9yaWdpbkRhdGE6OmZyb21VUkwocmVxdWVzdC51
cmwoKSkgfSwgV1RGTW92ZShkYXRhKSwgcmVnaXN0cmF0aW9uLmlkZW50aWZpZXIoKSwgcmVxdWVz
dC5odHRwVXNlckFnZW50KCkpOwogfQogCiBzdGQ6OnVuaXF1ZV9wdHI8U2VydmljZVdvcmtlckZl
dGNoVGFzaz4gV2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjpjcmVhdGVGZXRjaFRhc2soTmV0d29ya1Jl
c291cmNlTG9hZGVyJiBsb2FkZXIsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCkKQEAg
LTM5NSwxMiArMzk1LDE5IEBAIHZvaWQgV2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjpnZXRSZWdpc3Ry
YXRpb25zKGNvbnN0IFNlY3VyaXR5T3JpZ2luRGF0YSYgdG9wT3JpZ2luCiAgICAgY2FsbGJhY2so
c2VydmVyKCkuZ2V0UmVnaXN0cmF0aW9ucyh0b3BPcmlnaW4sIGNsaWVudFVSTCkpOwogfQogCi12
b2lkIFdlYlNXU2VydmVyQ29ubmVjdGlvbjo6cmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KFNl
Y3VyaXR5T3JpZ2luRGF0YSYmIHRvcE9yaWdpbiwgU2VydmljZVdvcmtlckNsaWVudERhdGEmJiBk
YXRhLCBjb25zdCBzdGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlm
aWVyPiYgY29udHJvbGxpbmdTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciwgU3Ry
aW5nJiYgdXNlckFnZW50KQordm9pZCBXZWJTV1NlcnZlckNvbm5lY3Rpb246OnJlZ2lzdGVyU2Vy
dmljZVdvcmtlckNsaWVudChXZWJDb3JlOjpDbGllbnRPcmlnaW4mJiBjbGllbnRPcmlnaW4sIFNl
cnZpY2VXb3JrZXJDbGllbnREYXRhJiYgZGF0YSwgY29uc3Qgc3RkOjpvcHRpb25hbDxTZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcj4mIGNvbnRyb2xsaW5nU2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbklkZW50aWZpZXIsIFN0cmluZyYmIHVzZXJBZ2VudCkKIHsKICAgICBDT05ORUNU
SU9OX01FU1NBR0VfQ0hFQ0soZGF0YS5pZGVudGlmaWVyLnByb2Nlc3NJZGVudGlmaWVyKCkgPT0g
aWRlbnRpZmllcigpKTsKLSAgICBDT05ORUNUSU9OX01FU1NBR0VfQ0hFQ0soIXRvcE9yaWdpbi5p
c0VtcHR5KCkpOworICAgIENPTk5FQ1RJT05fTUVTU0FHRV9DSEVDSyghY2xpZW50T3JpZ2luLnRv
cE9yaWdpbi5pc0VtcHR5KCkpOworCisgICAgYXV0byYgY29udGV4dE9yaWdpbiA9IGNsaWVudE9y
aWdpbi5jbGllbnRPcmlnaW47CisgICAgaWYgKGRhdGEudXJsLnByb3RvY29sSXNJbkhUVFBGYW1p
bHkoKSkgeworICAgICAgICAvLyBXZSBkbyBub3QgcmVnaXN0ZXIgYW55IHNhbmRib3ggZG9jdW1l
bnQuCisgICAgICAgIGlmIChjb250ZXh0T3JpZ2luICE9IFNlY3VyaXR5T3JpZ2luRGF0YTo6ZnJv
bVVSTChkYXRhLnVybCkpCisgICAgICAgICAgICByZXR1cm47CisgICAgfSBlbHNlIGlmICghZGF0
YS51cmwuaXNBYm91dEJsYW5rKCkgJiYgIWRhdGEudXJsLnByb3RvY29sSXNCbG9iKCkpCisgICAg
ICAgIHJldHVybjsKIAotICAgIGF1dG8gY29udGV4dE9yaWdpbiA9IFNlY3VyaXR5T3JpZ2luRGF0
YTo6ZnJvbVVSTChkYXRhLnVybCk7CiAgICAgQ09OTkVDVElPTl9NRVNTQUdFX0NIRUNLKCFjb250
ZXh0T3JpZ2luLmlzRW1wdHkoKSk7CiAKICAgICBib29sIGlzTmV3T3JpZ2luID0gV1RGOjphbGxP
ZihtX2NsaWVudE9yaWdpbnMudmFsdWVzKCksIFsmY29udGV4dE9yaWdpbl0oYXV0byYgb3JpZ2lu
KSB7CkBAIC00MDgsNyArNDE1LDYgQEAgdm9pZCBXZWJTV1NlcnZlckNvbm5lY3Rpb246OnJlZ2lz
dGVyU2VydmljZVdvcmtlckNsaWVudChTZWN1cml0eU9yaWdpbkRhdGEmJiB0b3AKICAgICB9KTsK
ICAgICBhdXRvKiBjb250ZXh0Q29ubmVjdGlvbiA9IGlzTmV3T3JpZ2luID8gc2VydmVyKCkuY29u
dGV4dENvbm5lY3Rpb25Gb3JSZWdpc3RyYWJsZURvbWFpbihSZWdpc3RyYWJsZURvbWFpbiB7IGNv
bnRleHRPcmlnaW4gfSkgOiBudWxscHRyOwogCi0gICAgYXV0byBjbGllbnRPcmlnaW4gPSBDbGll
bnRPcmlnaW4geyBXVEZNb3ZlKHRvcE9yaWdpbiksIFdURk1vdmUoY29udGV4dE9yaWdpbikgfTsK
ICAgICBtX2NsaWVudE9yaWdpbnMuYWRkKGRhdGEuaWRlbnRpZmllciwgY2xpZW50T3JpZ2luKTsK
ICAgICBzZXJ2ZXIoKS5yZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQoV1RGTW92ZShjbGllbnRP
cmlnaW4pLCBXVEZNb3ZlKGRhdGEpLCBjb250cm9sbGluZ1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b25JZGVudGlmaWVyLCBXVEZNb3ZlKHVzZXJBZ2VudCkpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9u
LmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2
ZXJDb25uZWN0aW9uLmgKaW5kZXggYjBkYjg1YmM2N2FlMGRlNWIwNzRhZDlkZmYwMjNlNmFjMWVi
ZmIwMC4uNGYwMjVlMjE5MTFmMzJiNmVhMGYzZDJhOTk3ZTU4OTllMzgwYWI0NSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVy
Q29ubmVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdv
cmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uaApAQCAtMTEwLDcgKzExMCw3IEBAIHByaXZhdGU6
CiAgICAgdm9pZCBtYXRjaFJlZ2lzdHJhdGlvbihjb25zdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdp
bkRhdGEmIHRvcE9yaWdpbiwgY29uc3QgVVJMJiBjbGllbnRVUkwsIENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0
YT4mJik+JiYpOwogICAgIHZvaWQgZ2V0UmVnaXN0cmF0aW9ucyhjb25zdCBXZWJDb3JlOjpTZWN1
cml0eU9yaWdpbkRhdGEmIHRvcE9yaWdpbiwgY29uc3QgVVJMJiBjbGllbnRVUkwsIENvbXBsZXRp
b25IYW5kbGVyPHZvaWQoY29uc3QgVmVjdG9yPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb25EYXRhPiYpPiYmKTsKIAotICAgIHZvaWQgcmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50
KFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSYmIHRvcE9yaWdpbiwgV2ViQ29yZTo6U2Vydmlj
ZVdvcmtlckNsaWVudERhdGEmJiwgY29uc3Qgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpTZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcj4mLCBTdHJpbmcmJiB1c2VyQWdlbnQpOworICAg
IHZvaWQgcmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KFdlYkNvcmU6OkNsaWVudE9yaWdpbiYm
LCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSYmLCBjb25zdCBzdGQ6Om9wdGlvbmFs
PFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyPiYsIFN0cmluZyYm
IHVzZXJBZ2VudCk7CiAgICAgdm9pZCB1bnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChjb25z
dCBXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllciYpOwogICAgIHZvaWQg
dGVybWluYXRlV29ya2VyRnJvbUNsaWVudChXZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRlbnRpZmll
ciwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKICAgICB2b2lkIHdoZW5TZXJ2aWNlV29y
a2VySXNUZXJtaW5hdGVkRm9yVGVzdGluZyhXZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRlbnRpZmll
ciwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24ubWVz
c2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2Vi
U1dTZXJ2ZXJDb25uZWN0aW9uLm1lc3NhZ2VzLmluCmluZGV4IDQzZmQxMjRmMGM5M2E5ODVlZTI2
OWZmZGU2NWI4MmQwMWZlMWZlYTguLjE1ZmNhNTQzYzU3ZTdkMzFiODg1YTcwMDA4ZTM2ODhmYTQ0
ZWNjOWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdv
cmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24ubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5tZXNz
YWdlcy5pbgpAQCAtMzgsNyArMzgsNyBAQCBtZXNzYWdlcyAtPiBXZWJTV1NlcnZlckNvbm5lY3Rp
b24gTm90UmVmQ291bnRlZCB7CiAgICAgTWF0Y2hSZWdpc3RyYXRpb24oc3RydWN0IFdlYkNvcmU6
OlNlY3VyaXR5T3JpZ2luRGF0YSB0b3BPcmlnaW4sIFVSTCBjbGllbnRVUkwpIC0+IChzdGQ6Om9w
dGlvbmFsPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhPiByZWdpc3RyYXRp
b24pCiAgICAgV2hlblJlZ2lzdHJhdGlvblJlYWR5KHN0cnVjdCBXZWJDb3JlOjpTZWN1cml0eU9y
aWdpbkRhdGEgdG9wT3JpZ2luLCBVUkwgY2xpZW50VVJMKSAtPiAoc3RkOjpvcHRpb25hbDxXZWJD
b3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YT4gcmVnaXN0cmF0aW9uKQogICAgIEdl
dFJlZ2lzdHJhdGlvbnMoc3RydWN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSB0b3BPcmln
aW4sIFVSTCBjbGllbnRVUkwpIC0+IChWZWN0b3I8V2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbkRhdGE+IHJlZ2lzdHJhdGlvbnMpCi0gICAgUmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xp
ZW50KHN0cnVjdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEgdG9wT3JpZ2luLCBzdHJ1Y3Qg
V2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVudERhdGEgZGF0YSwgc3RkOjpvcHRpb25hbDxXZWJD
b3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcj4gY29udHJvbGxpbmdTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciwgU3RyaW5nIHVzZXJBZ2VudCkKKyAgICBS
ZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQoc3RydWN0IFdlYkNvcmU6OkNsaWVudE9yaWdpbiBj
bGllbnRPcmlnaW4sIHN0cnVjdCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSBkYXRh
LCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlm
aWVyPiBjb250cm9sbGluZ1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyLCBTdHJp
bmcgdXNlckFnZW50KQogICAgIFVucmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KFdlYkNvcmU6
OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyIGlkZW50aWZpZXIpCiAKICAgICBUZXJt
aW5hdGVXb3JrZXJGcm9tQ2xpZW50KFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIHdv
cmtlcklkZW50aWZpZXIpIC0+ICgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24uY3BwIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmNwcAppbmRleCAxNzgwY2FjN2I2
YTc3N2JmMTNmODIzMjQ1N2U1NGQzOTExNWVkYzBlLi5hMjcxMzdiZjEyZGRkYWI4N2QwM2I5Yzc4
Y2JmZmFmZjUzYzg1N2Y4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3Rv
cmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5jcHAKQEAgLTExNSw5ICsxMTUsOSBA
QCB2b2lkIFdlYlNXQ2xpZW50Q29ubmVjdGlvbjo6cG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXIo
U2VydmljZVdvcmtlcklkZW50aWZpZXIgZAogICAgIHNlbmQoTWVzc2FnZXM6OldlYlNXU2VydmVy
Q29ubmVjdGlvbjo6UG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXIgeyBkZXN0aW5hdGlvbklkZW50
aWZpZXIsIFdURk1vdmUobWVzc2FnZSksIHNvdXJjZUlkZW50aWZpZXIgfSk7CiB9CiAKLXZvaWQg
V2ViU1dDbGllbnRDb25uZWN0aW9uOjpyZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQoY29uc3Qg
U2VjdXJpdHlPcmlnaW4mIHRvcE9yaWdpbiwgV2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVudERh
dGEmJiBkYXRhLCBjb25zdCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdp
c3RyYXRpb25JZGVudGlmaWVyPiYgY29udHJvbGxpbmdTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
SWRlbnRpZmllciwgU3RyaW5nJiYgdXNlckFnZW50KQordm9pZCBXZWJTV0NsaWVudENvbm5lY3Rp
b246OnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChjb25zdCBDbGllbnRPcmlnaW4mIGNsaWVu
dE9yaWdpbiwgV2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVudERhdGEmJiBkYXRhLCBjb25zdCBz
dGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVy
PiYgY29udHJvbGxpbmdTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciwgU3RyaW5n
JiYgdXNlckFnZW50KQogewotICAgIHNlbmQoTWVzc2FnZXM6OldlYlNXU2VydmVyQ29ubmVjdGlv
bjo6UmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50IHsgdG9wT3JpZ2luLmRhdGEoKSwgZGF0YSwg
Y29udHJvbGxpbmdTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciwgdXNlckFnZW50
IH0pOworICAgIHNlbmQoTWVzc2FnZXM6OldlYlNXU2VydmVyQ29ubmVjdGlvbjo6UmVnaXN0ZXJT
ZXJ2aWNlV29ya2VyQ2xpZW50IHsgY2xpZW50T3JpZ2luLCBkYXRhLCBjb250cm9sbGluZ1NlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyLCB1c2VyQWdlbnQgfSk7CiB9CiAKIHZvaWQg
V2ViU1dDbGllbnRDb25uZWN0aW9uOjp1bnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChTY3Jp
cHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllciBjb250ZXh0SWRlbnRpZmllcikKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlv
bi5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0
aW9uLmgKaW5kZXggNjIyZmMwOGYzMTQ1OGQ2ZTJmODU1YTkyYmYxNzRjMDI2MTA1OGU4ZS4uYmI5
ZTAwYTk2Y2M2Y2YzNGExOTRlNGY5NmRiMTFmODhmZGIxNTdhNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmgKKysrIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmgK
QEAgLTczLDcgKzczLDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHNjaGVkdWxlSm9iSW5TZXJ2ZXIo
Y29uc3QgV2ViQ29yZTo6U2VydmljZVdvcmtlckpvYkRhdGEmKSBmaW5hbDsKICAgICB2b2lkIGZp
bmlzaEZldGNoaW5nU2NyaXB0SW5TZXJ2ZXIoY29uc3QgV2ViQ29yZTo6U2VydmljZVdvcmtlckpv
YkRhdGFJZGVudGlmaWVyJiwgV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleSYm
LCBXZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3VsdCYmKSBmaW5hbDsKICAgICB2b2lkIHBvc3RNZXNz
YWdlVG9TZXJ2aWNlV29ya2VyKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIGRlc3Rp
bmF0aW9uSWRlbnRpZmllciwgV2ViQ29yZTo6TWVzc2FnZVdpdGhNZXNzYWdlUG9ydHMmJiwgY29u
c3QgV2ViQ29yZTo6U2VydmljZVdvcmtlck9yQ2xpZW50SWRlbnRpZmllciYgc291cmNlKSBmaW5h
bDsKLSAgICB2b2lkIHJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChjb25zdCBXZWJDb3JlOjpT
ZWN1cml0eU9yaWdpbiYgdG9wT3JpZ2luLCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ2xpZW50RGF0
YSYmLCBjb25zdCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b25JZGVudGlmaWVyPiYsIFN0cmluZyYmIHVzZXJBZ2VudCkgZmluYWw7CisgICAgdm9pZCByZWdp
c3RlclNlcnZpY2VXb3JrZXJDbGllbnQoY29uc3QgV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiwgV2Vi
Q29yZTo6U2VydmljZVdvcmtlckNsaWVudERhdGEmJiwgY29uc3Qgc3RkOjpvcHRpb25hbDxXZWJD
b3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcj4mLCBTdHJpbmcmJiB1c2Vy
QWdlbnQpIGZpbmFsOwogICAgIHZvaWQgdW5yZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQoV2Vi
Q29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIpIGZpbmFsOwogICAgIHZvaWQg
c2NoZWR1bGVVbnJlZ2lzdGVySm9iSW5TZXJ2ZXIoV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbklkZW50aWZpZXIsIFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJPckNsaWVudElkZW50aWZp
ZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6RXhjZXB0aW9uT3I8Ym9vbD4mJik+
JiYpIGZpbmFsOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggZDFhYTNmODhlYmIwYjMwMTc2ZjVmMzgxMmE4MjAwMmZmMDky
Y2QwNy4uZWZkMTEwMjgyOWQ4NzY3ZTY2YmIyOTYwZTk0Nzc5NmVhZDU0OTliNCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE5IEBACisyMDIyLTA0LTE0ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNv
bT4KKworICAgICAgICBTZXJ2aWNlV29ya2VyLnBvc3RNZXNzYWdlKCkgZG9lc24ndCB3b3JrIGZy
b20gaW5zaWRlIGlmcmFtZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjEzOTg0CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82NTIwMzM0MD4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGh0dHAvd3B0L3Nl
cnZpY2Utd29ya2Vycy9hYm91dC1ibGFuay1pZnJhbWUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBodHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvYWJvdXQtYmxhbmstaWZyYW1lLXdvcmtl
ci5qczogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvc2VydmljZS13b3JrZXJzL2Fib3V0LWJs
YW5rLWlmcmFtZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dvcmtlcnMvc2Vy
dmljZS9jbGllbnQtcmVtb3ZlZC1mcm9tLWNsaWVudHMtd2hpbGUtaW4tcGFnZS1jYWNoZS1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvY2xpZW50LXJl
bW92ZWQtZnJvbS1jbGllbnRzLXdoaWxlLWluLXBhZ2UtY2FjaGUuaHRtbDoKKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9vdGhlcl9yZXNvdXJjZXMvdGVzdC5odG1sOgorICAg
ICAgICAqIGh0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL3Jlc291cmNlcy9nZXRDbGllbnRJZHMt
d29ya2VyLmpzOgorCiAyMDIyLTA0LTEzICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNv
bT4KIAogICAgICAgICBFeHBvc2Ugd29ya2VycyBhcyBzZXJ2aWNlIHdvcmtlciBjbGllbnRzIGFu
ZCBpbXBsZW1lbnQgcmVnaXN0cmF0aW9uIG1hdGNoaW5nIGZvciBkZWRpY2F0ZWQgd29ya2Vycwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggOTI3NmY0N2U5MWFkNjM1YjUyMjUxODk2
Mzc3Nzc1Y2RkM2QyMDA4Yi4uMTMyMmY3ZjIzZWNjNTU0MTRmYjhjZDg0YzU2MTM4MzEzY2RmYjEz
MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjIt
MDQtMTQgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFNlcnZp
Y2VXb3JrZXIucG9zdE1lc3NhZ2UoKSBkb2Vzbid0IHdvcmsgZnJvbSBpbnNpZGUgaWZyYW1lCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTM5ODQKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzY1MjAzMzQwPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9hYm91dC1ibGFuay1yZXBsYWNlbWVudC5odHRwcy1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci9jbGllbnQtdXJsLW9mLWJsb2ItdXJsLXdvcmtlci5odHRwcy1leHBlY3RlZC50
eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9jbGllbnRzLW1hdGNoYWxsLWJsb2ItdXJsLXdvcmtlci5odHRwcy1leHBlY3RlZC50
eHQ6CisKIDIwMjItMDQtMTMgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAg
ICAgICAgIEV4cG9zZSB3b3JrZXJzIGFzIHNlcnZpY2Ugd29ya2VyIGNsaWVudHMgYW5kIGltcGxl
bWVudCByZWdpc3RyYXRpb24gbWF0Y2hpbmcgZm9yIGRlZGljYXRlZCB3b3JrZXJzCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9jbGllbnQtcmVtb3Zl
ZC1mcm9tLWNsaWVudHMtd2hpbGUtaW4tcGFnZS1jYWNoZS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9jbGllbnQtcmVtb3ZlZC1mcm9tLWNsaWVu
dHMtd2hpbGUtaW4tcGFnZS1jYWNoZS1leHBlY3RlZC50eHQKaW5kZXggMmI3MDUxNGIxZGRmZjgw
OGVmZTEzNTQzZTZlMjczYjZhZjE1NWMxMS4uNDJkODUwODZiODAyZmM0YmE2ZDQ1MTBkMjdlNzkz
N2E4MDE0M2E1NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJzL3Nl
cnZpY2UvY2xpZW50LXJlbW92ZWQtZnJvbS1jbGllbnRzLXdoaWxlLWluLXBhZ2UtY2FjaGUtZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL2Ns
aWVudC1yZW1vdmVkLWZyb20tY2xpZW50cy13aGlsZS1pbi1wYWdlLWNhY2hlLWV4cGVjdGVkLnR4
dApAQCAtMSw2ICsxLDggQEAKICogVGVzdHMgdGhhdCBhIGNsaWVudCBpcyByZW1vdmVkIGZyb20g
dGhlIGxpc3Qgb2Ygc2VydmljZSB3b3JrZXIgY2xpZW50cyB3aGlsZSBpdCBpcyBpbiB0aGUgcGFn
ZSBjYWNoZQogCi1QQVNTOiBzZXJ2aWNlIHdvcmtlciBoYXMgaW5pdGlhbGx5IDIgY2xpZW50cwor
UEFTUzogc2VydmljZSB3b3JrZXIgaGFzIGluaXRpYWxseSAyIHdpbmRvdyBjbGllbnRzCitQQVNT
OiBzZXJ2aWNlIHdvcmtlciBoYXMgaW5pdGlhbGx5IDIgd29ya2VyIGNsaWVudHMKIFBBU1M6IHBh
Z2UgaXMgYWJvdXQgdG8gZW50ZXIgcGFnZSBjYWNoZQotUEFTUzogc2VydmljZSB3b3JrZXIgaGFz
IG9ubHkgMSBjbGllbnQgYWZ0ZXIgMSBlbnRlcmVkIHBhZ2UgY2FjaGUKK1BBU1M6IHNlcnZpY2Ug
d29ya2VyIGhhcyBvbmx5IDEgd2luZG93IGNsaWVudCBhZnRlciAxIGVudGVyZWQgcGFnZSBjYWNo
ZQorUEFTUzogc2VydmljZSB3b3JrZXIgaGFzIG9ubHkgMSB3b3JrZXIgY2xpZW50IGFmdGVyIDEg
ZW50ZXJlZCBwYWdlIGNhY2hlCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
d29ya2Vycy9zZXJ2aWNlL2NsaWVudC1yZW1vdmVkLWZyb20tY2xpZW50cy13aGlsZS1pbi1wYWdl
LWNhY2hlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9jbGll
bnQtcmVtb3ZlZC1mcm9tLWNsaWVudHMtd2hpbGUtaW4tcGFnZS1jYWNoZS5odG1sCmluZGV4IDY4
YTlmYzYyNDlmNTA1MzUyOTRkZjQzOTc1MWI1MzdkZjhiNmIwNjYuLmYwNGE4MDYzNmZiNjc2Y2Uw
YzdhMzZhOTE5ZDgxNTViNjZkNGNiNDQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvd29ya2Vycy9zZXJ2aWNlL2NsaWVudC1yZW1vdmVkLWZyb20tY2xpZW50cy13aGlsZS1pbi1w
YWdlLWNhY2hlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZp
Y2UvY2xpZW50LXJlbW92ZWQtZnJvbS1jbGllbnRzLXdoaWxlLWluLXBhZ2UtY2FjaGUuaHRtbApA
QCAtOSw3ICs5LDcgQEAgbG9nKCIiKTsKIAogbGV0IHRvcENsaWVudElkZW50aWZpZXIgPSBudWxs
OwogbGV0IHdpbmRvd0NsaWVudElkZW50aWZpZXIgPSBudWxsOwotCitsZXQgZGVkaWNhdGVkV29y
a2VyID0gbnVsbDsKIGxldCB0cmllcyA9IDA7CiAKIGZ1bmN0aW9uIGNvbnRhaW5zQm90aENsaWVu
dHMoY2xpZW50SWRlbnRpZmllcnMpCkBAIC0yMyw4ICsyMyw4IEBAIGZ1bmN0aW9uIGNvbnRhaW5z
T25seVRvcENsaWVudChjbGllbnRJZGVudGlmaWVycykKIH0KIAogbmF2aWdhdG9yLnNlcnZpY2VX
b3JrZXIuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsIGZ1bmN0aW9uKGV2ZW50KSB7Ci0gIGlm
IChzdGVwID09ICJCb3RoQ2xpZW50c0luaXRpYWxseUFjdGl2ZSIpIHsKLSAgICBpZiAoIWNvbnRh
aW5zQm90aENsaWVudHMoZXZlbnQuZGF0YSkpIHsKKyAgaWYgKHN0ZXAgPT0gIkFsbENsaWVudHNJ
bml0aWFsbHlBY3RpdmUiKSB7CisgICAgaWYgKCFjb250YWluc0JvdGhDbGllbnRzKGV2ZW50LmRh
dGEuaWRzKSAmJiBldmVudC5kYXRhLndvcmtlcnNDb3VudCAhPT0gMikgewogICAgICAgaWYgKCsr
dHJpZXMgPiAyMCkgewogICAgICAgICAgIGxvZygiRkFJTDogV3JvbmcgaW5pdGlhbCBudW1iZXIg
b2YgY2xpZW50cyIpOwogICAgICAgICAgIGZpbmlzaFNXVGVzdCgpOwpAQCAtMzMsNyArMzMsOCBA
QCBuYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwgZnVu
Y3Rpb24oZXZlbnQpIHsKICAgICAgIHdvcmtlci5wb3N0TWVzc2FnZSgiZ2V0Q2xpZW50SWRzIik7
CiAgICAgICByZXR1cm47CiAgICAgfQotICAgIGxvZygiUEFTUzogc2VydmljZSB3b3JrZXIgaGFz
IGluaXRpYWxseSAyIGNsaWVudHMiKTsKKyAgICBsb2coIlBBU1M6IHNlcnZpY2Ugd29ya2VyIGhh
cyBpbml0aWFsbHkgMiB3aW5kb3cgY2xpZW50cyIpOworICAgIGxvZygiUEFTUzogc2VydmljZSB3
b3JrZXIgaGFzIGluaXRpYWxseSAyIHdvcmtlciBjbGllbnRzIik7CiAKICAgICBvdGhlcldpbmRv
dy5hZGRFdmVudExpc3RlbmVyKCJwYWdlaGlkZSIsIGZ1bmN0aW9uKGV2ZW50KSB7CiAgICAgICAg
aWYgKCFldmVudC5wZXJzaXN0ZWQpIHsKQEAgLTU0LDI4ICs1NSwzMSBAQCBuYXZpZ2F0b3Iuc2Vy
dmljZVdvcmtlci5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwgZnVuY3Rpb24oZXZlbnQpIHsK
ICAgfQogCiAgIGlmIChzdGVwID09ICJPbmx5T25lQ2xpZW50UmVtYWluc0FjdGl2ZSIpIHsKLSAg
ICBpZiAoIWNvbnRhaW5zT25seVRvcENsaWVudChldmVudC5kYXRhKSkgeworICAgIGlmICghY29u
dGFpbnNPbmx5VG9wQ2xpZW50KGV2ZW50LmRhdGEuaWRzKSAmJiBldmVudC5kYXRhLndvcmtlcnND
b3VudCAhPT0gMSkgewogICAgICAgbG9nKCJGQUlMOiBXcm9uZyBudW1iZXIgb2YgY2xpZW50cyBh
ZnRlciBvbmUgY2xpZW50IGVudGVyZWQgcGFnZSBjYWNoZSIpOwogICAgICAgZmluaXNoU1dUZXN0
KCk7CiAgICAgfQogCi0gICAgbG9nKCJQQVNTOiBzZXJ2aWNlIHdvcmtlciBoYXMgb25seSAxIGNs
aWVudCBhZnRlciAxIGVudGVyZWQgcGFnZSBjYWNoZSIpOworICAgIGxvZygiUEFTUzogc2Vydmlj
ZSB3b3JrZXIgaGFzIG9ubHkgMSB3aW5kb3cgY2xpZW50IGFmdGVyIDEgZW50ZXJlZCBwYWdlIGNh
Y2hlIik7CisgICAgbG9nKCJQQVNTOiBzZXJ2aWNlIHdvcmtlciBoYXMgb25seSAxIHdvcmtlciBj
bGllbnQgYWZ0ZXIgMSBlbnRlcmVkIHBhZ2UgY2FjaGUiKTsKICAgICBmaW5pc2hTV1Rlc3QoKTsK
ICAgfQogfSk7CiAKLW5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLnJlZ2lzdGVyKCJyZXNvdXJjZXMv
Z2V0Q2xpZW50SWRzLXdvcmtlci5qcyIsIHsgfSkudGhlbihmdW5jdGlvbihyZWdpc3RyYXRpb24p
IHsKK25hdmlnYXRvci5zZXJ2aWNlV29ya2VyLnJlZ2lzdGVyKCJyZXNvdXJjZXMvZ2V0Q2xpZW50
SWRzLXdvcmtlci5qcyIsIHsgfSkudGhlbihhc3luYyAocmVnaXN0cmF0aW9uKSA9PiB7CiAgICAg
aWYgKCF3aW5kb3cuaW50ZXJuYWxzKQogICAgICAgICByZXR1cm47CiAgICAgdG9wQ2xpZW50SWRl
bnRpZmllciA9IGludGVybmFscy5zZXJ2aWNlV29ya2VyQ2xpZW50SW50ZXJuYWxJZGVudGlmaWVy
KGRvY3VtZW50KTsKIAogICAgIHdvcmtlciA9IHJlZ2lzdHJhdGlvbi5pbnN0YWxsaW5nOworCisg
ICAgZGVkaWNhdGVkV29ya2VyID0gbmV3IFdvcmtlcigib3RoZXJfcmVzb3VyY2VzL2R1bW15Lmpz
Iik7CisKICAgICBvdGhlcldpbmRvdyA9IG9wZW4oIm90aGVyX3Jlc291cmNlcy90ZXN0Lmh0bWwi
KTsKLSAgICBvdGhlcldpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbigpIHsKLSAgICAgIHdpbmRvd0Ns
aWVudElkZW50aWZpZXIgPSBpbnRlcm5hbHMuc2VydmljZVdvcmtlckNsaWVudEludGVybmFsSWRl
bnRpZmllcihvdGhlcldpbmRvdy5kb2N1bWVudCk7Ci0gICAgICBzdGVwID0gIkJvdGhDbGllbnRz
SW5pdGlhbGx5QWN0aXZlIgotICAgICAgd29ya2VyLnBvc3RNZXNzYWdlKCJnZXRDbGllbnRJZHMi
KTsKLSAgICB9OworICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gb3RoZXJXaW5kb3cu
b25sb2FkID0gcmVzb2x2ZSk7CisgICAgd2luZG93Q2xpZW50SWRlbnRpZmllciA9IGludGVybmFs
cy5zZXJ2aWNlV29ya2VyQ2xpZW50SW50ZXJuYWxJZGVudGlmaWVyKG90aGVyV2luZG93LmRvY3Vt
ZW50KTsKKyAgICBzdGVwID0gIkFsbENsaWVudHNJbml0aWFsbHlBY3RpdmUiCisgICAgd29ya2Vy
LnBvc3RNZXNzYWdlKCJnZXRDbGllbnRJZHMiKTsKIH0pOwogPC9zY3JpcHQ+CiA8L2JvZHk+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9vdGhlcl9y
ZXNvdXJjZXMvZHVtbXkuanMgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dvcmtlcnMvc2Vydmlj
ZS9vdGhlcl9yZXNvdXJjZXMvZHVtbXkuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTY5ZGUyOWJiMmQxZDY0MzRi
OGIyOWFlNzc1YWQ4YzJlNDhjNTM5MQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93b3JrZXJzL3NlcnZpY2Uvb3RoZXJfcmVzb3VyY2VzL3Rlc3QuaHRtbCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL290aGVyX3Jlc291cmNlcy90ZXN0Lmh0bWwKaW5k
ZXggMmEwMmQ0MWNlMjEzMjNiMWNkYzIyOGM3OGNlYzJmODFjMDU0YmQzNC4uMGRkN2JiMzZjOWNi
ODU2M2Y4NWMzNzRhNDU1ZTI2OWRkNmUyZjJmYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93b3JrZXJzL3NlcnZpY2Uvb3RoZXJfcmVzb3VyY2VzL3Rlc3QuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9vdGhlcl9yZXNvdXJjZXMvdGVz
dC5odG1sCkBAIC0xICsxLDkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8Ym9keT4KKzxz
Y3JpcHQgc3JjPSJyZXNvdXJjZXMvc3ctdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4K
K3ZhciBkZWRpY2F0ZWRXb3JrZXIgPSBuZXcgV29ya2VyKCJkdW1teS5qcyIpOworPC9zY3JpcHQ+
CiBURVNUCis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dvcmtl
cnMvc2VydmljZS9yZXNvdXJjZXMvZ2V0Q2xpZW50SWRzLXdvcmtlci5qcyBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL3Jlc291cmNlcy9nZXRDbGllbnRJZHMtd29ya2Vy
LmpzCmluZGV4IGNlMTliMjRmODA4MDRkYTBmNTUxNzkzYWRhN2FmZTY3ZWZlMDRjYzQuLmZjMDU2
NjMyMDliNjA5OTBmYTZjNzU2ZTJkMjAzZDhmNGMzMTdjYjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL3Jlc291cmNlcy9nZXRDbGllbnRJZHMtd29y
a2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL3Jlc291
cmNlcy9nZXRDbGllbnRJZHMtd29ya2VyLmpzCkBAIC0xLDkgKzEsMTIgQEAKLXNlbGYuYWRkRXZl
bnRMaXN0ZW5lcigibWVzc2FnZSIsIChldmVudCkgPT4geworc2VsZi5hZGRFdmVudExpc3RlbmVy
KCJtZXNzYWdlIiwgYXN5bmMgKGV2ZW50KSA9PiB7CiAgICAgc291cmNlID0gZXZlbnQuc291cmNl
OwotICAgIGNsaWVudHMubWF0Y2hBbGwoeyBpbmNsdWRlVW5jb250cm9sbGVkIDogdHJ1ZSB9KS50
aGVuKGZ1bmN0aW9uKGNsaWVudHMpIHsKLSAgICAgICAgbGV0IGlkcyA9IFtdOwotICAgICAgICBm
b3IgKGxldCBjbGllbnQgb2YgY2xpZW50cykKLSAgICAgICAgICAgIGlkcy5wdXNoKHNlbGYuaW50
ZXJuYWxzLnNlcnZpY2VXb3JrZXJDbGllbnRJbnRlcm5hbElkZW50aWZpZXIoY2xpZW50KSk7Ci0g
ICAgICAgIHNvdXJjZS5wb3N0TWVzc2FnZShpZHMpOwotICAgIH0pOworICAgIGNvbnN0IG1hdGNo
ZWRDbGllbnRzID0gYXdhaXQgY2xpZW50cy5tYXRjaEFsbCh7IGluY2x1ZGVVbmNvbnRyb2xsZWQg
OiB0cnVlLCB0eXBlOiAnYWxsJyB9KQorICAgIGxldCBkYXRhID0geyBpZHM6IFtdLCB3b3JrZXJD
b3VudDogMCB9OworICAgIGZvciAobGV0IGNsaWVudCBvZiBtYXRjaGVkQ2xpZW50cykgeworICAg
ICAgICBpZiAoY2xpZW50LnR5cGUgPT09ICd3b3JrZXInKQorICAgICAgICAgICAgZGF0YS53b3Jr
ZXJDb3VudCsrOworICAgICAgICBlbHNlCisgICAgICAgICAgICBkYXRhLmlkcy5wdXNoKHNlbGYu
aW50ZXJuYWxzLnNlcnZpY2VXb3JrZXJDbGllbnRJbnRlcm5hbElkZW50aWZpZXIoY2xpZW50KSk7
CisgICAgfQorICAgIHNvdXJjZS5wb3N0TWVzc2FnZShkYXRhKTsKIH0pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC93cHQvc2VydmljZS13b3JrZXJzL2Fib3V0LWJsYW5rLWlmcmFtZS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvYWJvdXQt
YmxhbmstaWZyYW1lLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yYzFhNjZkODdlN2M4MmE3OWE5
ZGNkMjhjZjg3ZjQ1NDI5NWFlODYyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC93cHQvc2VydmljZS13b3JrZXJzL2Fib3V0LWJsYW5rLWlmcmFtZS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSw1IEBACisKK1BBU1Mgc2V0dXAKK1BBU1MgcG9zdCBtZXNzYWdpbmcgZnJvbSBhbiBp
ZnJhbWUKK1BBU1MgcmVtb3ZlIGlmcmFtZQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3dwdC9zZXJ2aWNlLXdvcmtlcnMvYWJvdXQtYmxhbmstaWZyYW1lLXdvcmtlci5qcyBiL0xheW91
dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9hYm91dC1ibGFuay1pZnJhbWUtd29ya2Vy
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgyMDI2ODI1YzQ3NGJkZGYzMzYyMThhZmVlOGQ4OTc4OWY5Yzk0NDUK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMv
YWJvdXQtYmxhbmstaWZyYW1lLXdvcmtlci5qcwpAQCAtMCwwICsxLDQgQEAKK2FkZEV2ZW50TGlz
dGVuZXIoJ21lc3NhZ2UnLCBhc3luYyBldmVudCA9PiB7CisgICAgY29uc3QgY2xpZW50cyA9IGF3
YWl0IHNlbGYuY2xpZW50cy5tYXRjaEFsbCh7IGluY2x1ZGVVbmNvbnRyb2xsZWQgOiB0cnVlIH0p
OworICAgIGNsaWVudHMuZm9yRWFjaChjbGllbnQgPT4gY2xpZW50LnBvc3RNZXNzYWdlKGV2ZW50
LmRhdGEpKTsKK30pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvc2VydmljZS13
b3JrZXJzL2Fib3V0LWJsYW5rLWlmcmFtZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvc2Vy
dmljZS13b3JrZXJzL2Fib3V0LWJsYW5rLWlmcmFtZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmIxMzgxMWU4
YjYxMGViM2M1NTM5YTFkYTA1OTNjMDcwZGJkNDc2MjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvYWJvdXQtYmxhbmstaWZyYW1lLmh0bWwK
QEAgLTAsMCArMSw0NCBAQAorPGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5TZXJ2aWNlIFdvcmtlciBG
ZXRjaCBFdmVudDwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxpZnJhbWUgaWQ9J215ZnJhbWUnPjwvaWZy
YW1lPgorPHNjcmlwdD4KK3Byb21pc2VfdGVzdChhc3luYyAoKSA9PiB7CisgICAgY29uc3QgcHJv
bWlzZSA9IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gd2luZG93LnJlc29sdmVDYWxsYmFjayA9IHJl
c29sdmUpOworICAgIG15ZnJhbWUuY29udGVudERvY3VtZW50LndyaXRlKGAKKyAgICA8Ym9keT4K
KyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLnJl
Z2lzdGVyKCdhYm91dC1ibGFuay1pZnJhbWUtd29ya2VyLmpzJykudGhlbihyZWdpc3RyYXRpb24g
PT4geworICAgICAgICAgICAgICAgIHdpbmRvdy53b3JrZXIgPSByZWdpc3RyYXRpb24uYWN0aXZl
ID8gcmVnaXN0cmF0aW9uLmFjdGl2ZSA6IHJlZ2lzdHJhdGlvbi5pbnN0YWxsaW5nOworICAgICAg
ICAgICAgICAgIHBhcmVudC5yZXNvbHZlQ2FsbGJhY2soKTsKKyAgICAgICAgICAgIH0pOworICAg
ICAgICA8LyR7J3NjcmlwdCd9PgorICAgIDwvYm9keT5gKTsKKyAgICByZXR1cm4gcHJvbWlzZTsK
K30sICJzZXR1cCIpOworCitwcm9taXNlX3Rlc3QoYXN5bmMgKCkgPT4geworICAgIGNvbnN0IHBy
b21pc2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7CisgICAgICAgIG5hdmln
YXRvci5zZXJ2aWNlV29ya2VyLmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLCAoZXZlbnQpID0+
IHsKKyAgICAgICAgICAgIHJlc29sdmUoZXZlbnQuZGF0YSk7CisgICAgICAgIH0pOworICAgICAg
ICBzZXRUaW1lb3V0KCgpID0+IHJlamVjdCgiTm8gcmVzcG9uc2UgbWVzc2FnZSBmcm9tIHNlcnZp
Y2Ugd29ya2VyIiksIDUwMDApOworICAgIH0pOworCisgICAgbXlmcmFtZS5jb250ZW50V2luZG93
Lndvcmtlci5wb3N0TWVzc2FnZSgiaGVsbG8iKTsKKyAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IHBy
b21pc2UsICJoZWxsbyIpOworfSwgInBvc3QgbWVzc2FnaW5nIGZyb20gYW4gaWZyYW1lIik7CisK
K3Byb21pc2VfdGVzdChhc3luYyAoKSA9PiB7CisgICAgY29uc3QgcmVnaXN0cmF0aW9ucyA9IGF3
YWl0IG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLmdldFJlZ2lzdHJhdGlvbnMoKTsKKyAgICBmb3Ig
KGxldCByZWdpc3RyYXRpb24gb2YgcmVnaXN0cmF0aW9ucykKKyAgICAgICAgYXdhaXQgcmVnaXN0
cmF0aW9uLnVucmVnaXN0ZXIoKTsKKyAgICBteWZyYW1lLnJlbW92ZSgpOworfSwgInJlbW92ZSBp
ZnJhbWUiKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvYWJvdXQtYmxhbmstcmVwbGFjZW1lbnQuaHR0cHMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvYWJvdXQtYmxhbmstcmVwbGFjZW1lbnQuaHR0cHMtZXhwZWN0ZWQu
dHh0CmluZGV4IGZjMGE4YWY1YTg4NWE4MjM2MGZkNjhlNzdlMDYwZTgwNzNlZWM1NTcuLjU0MTY5
OTMxYWViYzhjNGQwZjhiMDg1OWM5MTc2NTI3NjE3MDdlNmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL2Fib3V0LWJsYW5rLXJlcGxhY2VtZW50Lmh0dHBzLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9hYm91dC1ibGFuay1yZXBsYWNlbWVudC5odHRwcy1leHBlY3Rl
ZC50eHQKQEAgLTUsNyArNSw3IEBAIEZBSUwgSW5pdGlhbCBhYm91dDpibGFuayBpcyBjb250cm9s
bGVkLCBleHBvc2VkIHRvIGNsaWVudHMubWF0Y2hBbGwoKSwgYW5kIG1hdGNoCiBGQUlMIEluaXRp
YWwgYWJvdXQ6YmxhbmsgbW9kaWZpZWQgYnkgcGFyZW50IGlzIGNvbnRyb2xsZWQsIGV4cG9zZWQg
dG8gY2xpZW50cy5tYXRjaEFsbCgpLCBhbmQgbWF0Y2hlcyBmaW5hbCBDbGllbnQuIGFzc2VydF9m
YWxzZTogcmVzdWx0OiBmYWlsdXJlOiBjb3VsZCBub3QgZmluZCBhYm91dDpibGFuayBjbGllbnQg
ZXhwZWN0ZWQgZmFsc2UgZ290IHRydWUKIEZBSUwgUG9wdXAgaW5pdGlhbCBhYm91dDpibGFuayBp
cyBjb250cm9sbGVkLCBleHBvc2VkIHRvIGNsaWVudHMubWF0Y2hBbGwoKSwgYW5kIG1hdGNoZXMg
ZmluYWwgQ2xpZW50LiBhc3NlcnRfZmFsc2U6IHJlc3VsdDogZmFpbHVyZTogY291bGQgbm90IGZp
bmQgYWJvdXQ6YmxhbmsgY2xpZW50IGV4cGVjdGVkIGZhbHNlIGdvdCB0cnVlCiBQQVNTIEluaXRp
YWwgYWJvdXQ6YmxhbmsgaXMgY29udHJvbGxlZCwgZXhwb3NlZCB0byBjbGllbnRzLm1hdGNoQWxs
KCksIGFuZCBmaW5hbCBDbGllbnQgaXMgbm90IGNvbnRyb2xsZWQgYnkgYSBzZXJ2aWNlIHdvcmtl
ci4KLUZBSUwgU2ltcGxlIGFib3V0OmJsYW5rIGlzIGNvbnRyb2xsZWQgYW5kIGlzIGV4cG9zZWQg
dG8gY2xpZW50cy5tYXRjaEFsbCgpLiBhc3NlcnRfZmFsc2U6IHJlc3VsdDogZmFpbHVyZTogY291
bGQgbm90IGZpbmQgYWJvdXQ6YmxhbmsgY2xpZW50IGV4cGVjdGVkIGZhbHNlIGdvdCB0cnVlCi1G
QUlMIE5lc3RlZCBhYm91dDpzcmNkb2MgaXMgY29udHJvbGxlZCBhbmQgaXMgZXhwb3NlZCB0byBj
bGllbnRzLm1hdGNoQWxsKCkuIGFzc2VydF9mYWxzZTogcmVzdWx0OiBmYWlsdXJlOiBjb3VsZCBu
b3QgZmluZCBhYm91dDpzcmNkb2MgY2xpZW50IGV4cGVjdGVkIGZhbHNlIGdvdCB0cnVlCi1GQUlM
IER5bmFtaWMgYWJvdXQ6YmxhbmsgaXMgY29udHJvbGxlZCBhbmQgaXMgZXhwb3NlZCB0byBjbGll
bnRzLm1hdGNoQWxsKCkuIGFzc2VydF9mYWxzZTogcmVzdWx0OiBmYWlsdXJlOiBjb3VsZCBub3Qg
ZmluZCBhYm91dDpibGFuayBjbGllbnQgZXhwZWN0ZWQgZmFsc2UgZ290IHRydWUKK1BBU1MgU2lt
cGxlIGFib3V0OmJsYW5rIGlzIGNvbnRyb2xsZWQgYW5kIGlzIGV4cG9zZWQgdG8gY2xpZW50cy5t
YXRjaEFsbCgpLgorUEFTUyBOZXN0ZWQgYWJvdXQ6c3JjZG9jIGlzIGNvbnRyb2xsZWQgYW5kIGlz
IGV4cG9zZWQgdG8gY2xpZW50cy5tYXRjaEFsbCgpLgorUEFTUyBEeW5hbWljIGFib3V0OmJsYW5r
IGlzIGNvbnRyb2xsZWQgYW5kIGlzIGV4cG9zZWQgdG8gY2xpZW50cy5tYXRjaEFsbCgpLgogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGllbnQtdXJsLW9mLWJsb2ItdXJsLXdvcmtl
ci5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGllbnQtdXJsLW9mLWJs
b2ItdXJsLXdvcmtlci5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggNGY3YTdjMTg5MjU2OGY4ZTc1
NGVhOWNjOTJiM2RiZGFmYTc3N2RkZC4uMDYwOGMwNDE4MTQwZWUxMmY1YjUyODE2YzRkZmQ3Yzcw
ZmZlYjBkYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xpZW50LXVybC1vZi1ibG9i
LXVybC13b3JrZXIuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2Ns
aWVudC11cmwtb2YtYmxvYi11cmwtd29ya2VyLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSwzICsx
LDMgQEAKIAotRkFJTCBDbGllbnQudXJsIG9mIGEgYmxvYiBVUkwgd29ya2VyIHNob3VsZCBiZSBh
IGJsb2IgVVJMLiBhc3NlcnRfbm90X2VxdWFsczogd29ya2VyIGNsaWVudCBzaG91bGQgZXhpc3Qg
Z290IGRpc2FsbG93ZWQgdmFsdWUgIm9uZSB3b3JrZXIgY2xpZW50IHNob3VsZCBleGlzdCIKK1BB
U1MgQ2xpZW50LnVybCBvZiBhIGJsb2IgVVJMIHdvcmtlciBzaG91bGQgYmUgYSBibG9iIFVSTC4K
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xpZW50cy1tYXRjaGFsbC1ibG9iLXVy
bC13b3JrZXIuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xpZW50cy1t
YXRjaGFsbC1ibG9iLXVybC13b3JrZXIuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IDgzNmJhZmFm
Njg0MjllMTFmOTNiNDhhMzUzZDNhZmRiMmQ5ZjE4NWYuLjdiZGM5M2I0YzFjMzY4OTM1Nzk1OTI4
NTEwZTAyNzNmNDZlN2VkM2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NsaWVudHMt
bWF0Y2hhbGwtYmxvYi11cmwtd29ya2VyLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci9jbGllbnRzLW1hdGNoYWxsLWJsb2ItdXJsLXdvcmtlci5odHRwcy1leHBlY3Rl
ZC50eHQKQEAgLTEsNCArMSw0IEBACiAKLUZBSUwgVGVzdCBDbGllbnRzLm1hdGNoQWxsKCkgd2l0
aCBhIGJsb2IgVVJMIHdvcmtlciBjbGllbnQuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEgYnV0
IGdvdCAwCi1GQUlMIFRlc3QgQ2xpZW50cy5tYXRjaEFsbCgpIHdpdGggYW4gdW5jb250cm9sbGVk
IGJsb2IgVVJMIHdvcmtlciBjbGllbnQuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEgYnV0IGdv
dCAwCitQQVNTIFRlc3QgQ2xpZW50cy5tYXRjaEFsbCgpIHdpdGggYSBibG9iIFVSTCB3b3JrZXIg
Y2xpZW50LgorUEFTUyBUZXN0IENsaWVudHMubWF0Y2hBbGwoKSB3aXRoIGFuIHVuY29udHJvbGxl
ZCBibG9iIFVSTCB3b3JrZXIgY2xpZW50LgogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>457618</attachid>
            <date>2022-04-14 06:21:32 -0700</date>
            <delta_ts>2022-04-15 00:44:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-213984-20220414152130.patch</filename>
            <type>text/plain</type>
            <size>42858</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyODU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGI4NGFkYjE3NDRjNDU1
ZjllZTJjNDM3YjJjNjZmNDA0ZDVlNzUwOC4uMzBmYjRkMzcyNDYyZDdmNzZjNTdjZjI2YjgzMDdj
MTNjOGNlMzg5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDIyLTA0LTE0ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBTZXJ2aWNlV29ya2VyLnBv
c3RNZXNzYWdlKCkgZG9lc24ndCB3b3JrIGZyb20gaW5zaWRlIGlmcmFtZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEzOTg0CisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS82NTIwMzM0MD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBwb3N0TWVzc2FnZSB3YXMgbm90IHdvcmtpbmcgYXMgd2UgZG8gbm90IHBv
c3RNZXNzYWdlIHRvIGEgc2VydmljZSB3b3JrZXIgaWYgdGhlIHNvdXJjZSBpcyBub3QgcmVnaXN0
ZXJlZC4KKyAgICAgICAgV2Ugbm93IHJlZ2lzdGVyIHNlcnZpY2Ugd29ya2VyIGNsaWVudHMgbW9y
ZSBhZ2dyZXNpdmVseSBhbmQgcGFzcyB0aGUgY2xpZW50IG9yaWdpbiB0byBiZXR0ZXIgaGFuZGxl
IGJsb2IgYW5kIGFib3V0OmJsYW5rIGNsaWVudHMuCisgICAgICAgIFdlIGFsc28gYWRkIHN1cHBv
cnQgZm9yIHJlZ2lzdGVyaW5nL3VucmVnaXN0ZXJpbmcgd29ya2VyIGNsaWVudHMgd2hlbiB0aGV5
IGdldCBzdXNwZW5kZWQvcmVzdW1lZC4KKyAgICAgICAgVG8gbWFrZSBzdXJlIGEgd29ya2VyIGNs
aWVudCBpcyByZW1vdmVkIGluIGZhaWx1cmUgY2FzZSwgV29ya2VyU2NyaXB0TG9hZGVyIGlzIHVu
cmVnaXN0ZXJpbmcgdGhlIHNlcnZpY2Ugd29ya2VyIGNsaWVudCBpZgorICAgICAgICB0aGUgc2Vy
dmljZSB3b3JrZXIgZGF0YSB3YXMgbm90IHRha2VuIGJ5IGl0cyBXb3JrZXIuCisKKyAgICAgICAg
VGVzdDogaHR0cC93cHQvc2VydmljZS13b3JrZXJzL2Fib3V0LWJsYW5rLWlmcmFtZS5odG1sCisK
KyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAqIGxvYWRlci9Eb2N1bWVudExv
YWRlci5jcHA6CisgICAgICAgICogd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJUaHJlYWQuY3BwOgor
ICAgICAgICAqIHdvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwOgorICAgICAgICAqIHdvcmtl
cnMvV29ya2VyR2xvYmFsU2NvcGUuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlclNjcmlwdExv
YWRlci5jcHA6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NXQ2xpZW50Q29ubmVjdGlvbi5o
OgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9Xb3JrZXJTV0NsaWVudENvbm5lY3Rpb24uY3Bw
OgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9Xb3JrZXJTV0NsaWVudENvbm5lY3Rpb24uaDoK
KwogMjAyMi0wNC0xMyAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAg
ICAgRXhwb3NlIHdvcmtlcnMgYXMgc2VydmljZSB3b3JrZXIgY2xpZW50cyBhbmQgaW1wbGVtZW50
IHJlZ2lzdHJhdGlvbiBtYXRjaGluZyBmb3IgZGVkaWNhdGVkIHdvcmtlcnMKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXgg
MzE5NjEwZWM5M2Y4YzIyMGYwZDgzY2RjNmRiNTUwZTUzNjcyMjZkZi4uOTU5OWJhOTkwNzU2ODU0
ODgxOWMyOTA4Y2JhMDRhOGQ1MDVmMzkxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAy
Mi0wNC0xNCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgU2Vy
dmljZVdvcmtlci5wb3N0TWVzc2FnZSgpIGRvZXNuJ3Qgd29yayBmcm9tIGluc2lkZSBpZnJhbWUK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMzk4NAor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjUyMDMzNDA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUGFzcyB0aGUgZnVsbCBDbGllbnRPcmlnaW4gd2hl
biByZWdpc3RlcmluZyBhIHNlcnZpY2Ugd29ya2VyIGNsaWVudC4KKyAgICAgICAgRmlsdGVyIG91
dCBjbGllbnRzIHRoYXQgY2Fubm90IGJlIG1hdGNoZWQ6CisgICAgICAgIC0gbm9uIEhUVFAvYmxv
Yi9hYm91dDpibGFuayBjbGllbnRzCisgICAgICAgIC0gc2FuZGJveGVkIEhUVFAgY2xpZW50cwor
CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5l
Y3Rpb24uY3BwOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dT
ZXJ2ZXJDb25uZWN0aW9uLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtl
ci9XZWJTV1NlcnZlckNvbm5lY3Rpb24ubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vz
cy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5jcHA6CisgICAgICAgICogV2ViUHJvY2Vz
cy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5oOgorCiAyMDIyLTA0LTEzICBZb3Vlbm4g
RmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBFeHBvc2Ugd29ya2VycyBhcyBz
ZXJ2aWNlIHdvcmtlciBjbGllbnRzIGFuZCBpbXBsZW1lbnQgcmVnaXN0cmF0aW9uIG1hdGNoaW5n
IGZvciBkZWRpY2F0ZWQgd29ya2VycwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggZTNkYjVk
NmEyZmFiNjc0YmZiNmFiMzcyMWQ2MDkyNDE3ZjVkYTI2OS4uZjY0NDk5NGExY2Y2MzEyZGZjZGEy
NDgyNTU3YzgwZGNiMWJhYzJhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC04Nzc4LDcg
Kzg3NzgsNyBAQCB2b2lkIERvY3VtZW50Ojp1cGRhdGVTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSgp
CiAgICAgICAgIHJldHVybjsKIAogICAgIGF1dG8gY29udHJvbGxpbmdTZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uSWRlbnRpZmllciA9IGFjdGl2ZVNlcnZpY2VXb3JrZXIoKSA/IHN0ZDo6bWFrZV9v
cHRpb25hbDxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcj4oYWN0aXZlU2Vydmlj
ZVdvcmtlcigpLT5yZWdpc3RyYXRpb25JZGVudGlmaWVyKCkpIDogc3RkOjpudWxsb3B0OwotICAg
IG1fc2VydmljZVdvcmtlckNvbm5lY3Rpb24tPnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudCh0
b3BPcmlnaW4oKSwgU2VydmljZVdvcmtlckNsaWVudERhdGE6OmZyb20oKnRoaXMpLCBjb250cm9s
bGluZ1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyLCB1c2VyQWdlbnQodXJsKCkp
KTsKKyAgICBtX3NlcnZpY2VXb3JrZXJDb25uZWN0aW9uLT5yZWdpc3RlclNlcnZpY2VXb3JrZXJD
bGllbnQoY2xpZW50T3JpZ2luKCksIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhOjpmcm9tKCp0aGlz
KSwgY29udHJvbGxpbmdTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciwgdXNlckFn
ZW50KHVybCgpKSk7CiB9CiAKIHZvaWQgRG9jdW1lbnQ6Om5hdmlnYXRlRnJvbVNlcnZpY2VXb3Jr
ZXIoY29uc3QgVVJMJiB1cmwsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYgY2FsbGJh
Y2spCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcAppbmRleCA0MTY5N2Y1
MzBmMWVlY2FkMGMyN2YzYTRlZTJkYzkwOTNmNzAyMjViLi43ZjM5MWJmNDQ2NmNlN2QzMDY3OWQ2
ZjQ0MGU0M2JiZmIwNjVkMzkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9j
dW1lbnRMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRl
ci5jcHAKQEAgLTEyNTksNyArMTI1OSw3IEBAIHZvaWQgRG9jdW1lbnRMb2FkZXI6OmNvbW1pdERh
dGEoY29uc3QgU2hhcmVkQnVmZmVyJiBkYXRhKQogICAgICAgICAgICAgICAgICAgICBkb2N1bWVu
dC5jcmVhdGVOZXdJZGVudGlmaWVyKCk7CiAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIGlm
IChtX2ZyYW1lLT5kb2N1bWVudCgpLT5hY3RpdmVTZXJ2aWNlV29ya2VyKCkgfHwgZG9jdW1lbnQu
dXJsKCkucHJvdG9jb2xJc0luSFRUUEZhbWlseSgpIHx8IChkb2N1bWVudC5wYWdlKCkgJiYgZG9j
dW1lbnQucGFnZSgpLT5pc1NlcnZpY2VXb3JrZXJQYWdlKCkpKQorICAgICAgICAgICAgaWYgKG1f
ZnJhbWUtPmRvY3VtZW50KCktPmFjdGl2ZVNlcnZpY2VXb3JrZXIoKSB8fCBkb2N1bWVudC51cmwo
KS5wcm90b2NvbElzSW5IVFRQRmFtaWx5KCkgfHwgKGRvY3VtZW50LnBhZ2UoKSAmJiBkb2N1bWVu
dC5wYWdlKCktPmlzU2VydmljZVdvcmtlclBhZ2UoKSkgfHwgKGRvY3VtZW50LnBhcmVudERvY3Vt
ZW50KCkgJiYgc2hvdWxkVXNlQWN0aXZlU2VydmljZVdvcmtlckZyb21QYXJlbnQoZG9jdW1lbnQs
ICpkb2N1bWVudC5wYXJlbnREb2N1bWVudCgpKSkpCiAgICAgICAgICAgICAgICAgZG9jdW1lbnQu
c2V0U2VydmljZVdvcmtlckNvbm5lY3Rpb24oJlNlcnZpY2VXb3JrZXJQcm92aWRlcjo6c2luZ2xl
dG9uKCkuc2VydmljZVdvcmtlckNvbm5lY3Rpb24oKSk7CiAKICAgICAgICAgICAgIGlmIChtX3Jl
c3VsdGluZ0NsaWVudElkKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0Rl
ZGljYXRlZFdvcmtlclRocmVhZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRl
ZFdvcmtlclRocmVhZC5jcHAKaW5kZXggNzUwMzMyYjNkZTVlZGZkMmVlNzc1NjUwMTVmN2I4NmUx
ZjViYzZhMy4uMmY1Mjk3YzlmMDlmOGQwZjJmNTEwZDUyNTJiOTE0ODliYTE4YjQwYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJUaHJlYWQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyVGhyZWFkLmNwcApAQCAt
NTIsNiArNTIsNyBAQCBSZWY8V29ya2VyR2xvYmFsU2NvcGU+IERlZGljYXRlZFdvcmtlclRocmVh
ZDo6Y3JlYXRlV29ya2VyR2xvYmFsU2NvcGUoY29uc3QgV29yawogI2lmIEVOQUJMRShTRVJWSUNF
X1dPUktFUikKICAgICBpZiAocGFyYW1zLnNlcnZpY2VXb3JrZXJEYXRhKQogICAgICAgICBzY29w
ZS0+c2V0QWN0aXZlU2VydmljZVdvcmtlcihTZXJ2aWNlV29ya2VyOjpnZXRPckNyZWF0ZShzY29w
ZS5nZXQoKSwgU2VydmljZVdvcmtlckRhdGEgeyAqcGFyYW1zLnNlcnZpY2VXb3JrZXJEYXRhIH0p
KTsKKyAgICBzY29wZS0+dXBkYXRlU2VydmljZVdvcmtlckNsaWVudERhdGEoKTsKICNlbmRpZgog
ICAgIHJldHVybiBzY29wZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyR2xvYmFsU2NvcGUuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9i
YWxTY29wZS5jcHAKaW5kZXggYWM0ZGU0YjdjMGVkZDQ5NWYwYzA0NTQyNjY2ZmI4MjYyNzA1ZTQ5
MS4uZGRmNDMzM2I2OTNjNTU5OGM5NjIzYTI0ZTJiOGQyMGQ1MGQ1NTRhYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHAKQEAgLTE1MSw2ICsxNTEsMTAg
QEAgdm9pZCBXb3JrZXJHbG9iYWxTY29wZTo6cHJlcGFyZUZvckRlc3RydWN0aW9uKCkKIHsKICAg
ICBXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZTo6cHJlcGFyZUZvckRlc3RydWN0aW9uKCk7CiAK
KyNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCisgICAgc3dDbGllbnRDb25uZWN0aW9uKCkudW5y
ZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQoaWRlbnRpZmllcigpKTsKKyNlbmRpZgorCiAgICAg
c3RvcEluZGV4ZWREYXRhYmFzZSgpOwogCiAgICAgaWYgKG1fY2FjaGVTdG9yYWdlQ29ubmVjdGlv
bikKQEAgLTIyOSwxMCArMjMzLDE4IEBAIHZvaWQgV29ya2VyR2xvYmFsU2NvcGU6OnN1c3BlbmQo
KQogewogICAgIGlmIChtX2Nvbm5lY3Rpb25Qcm94eSkKICAgICAgICAgbV9jb25uZWN0aW9uUHJv
eHktPnNldENvbnRleHRTdXNwZW5kZWQoKnRoaXMsIHRydWUpOworCisjaWYgRU5BQkxFKFNFUlZJ
Q0VfV09SS0VSKQorICAgIHN3Q2xpZW50Q29ubmVjdGlvbigpLnVucmVnaXN0ZXJTZXJ2aWNlV29y
a2VyQ2xpZW50KGlkZW50aWZpZXIoKSk7CisjZW5kaWYKIH0KIAogdm9pZCBXb3JrZXJHbG9iYWxT
Y29wZTo6cmVzdW1lKCkKIHsKKyNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCisgICAgdXBkYXRl
U2VydmljZVdvcmtlckNsaWVudERhdGEoKTsKKyNlbmRpZgorCiAgICAgaWYgKG1fY29ubmVjdGlv
blByb3h5KQogICAgICAgICBtX2Nvbm5lY3Rpb25Qcm94eS0+c2V0Q29udGV4dFN1c3BlbmRlZCgq
dGhpcywgZmFsc2UpOwogfQpAQCAtNjU3LDEwICs2NjksOSBAQCB2b2lkIFdvcmtlckdsb2JhbFNj
b3BlOjp1cGRhdGVTb3VyY2VQcm92aWRlckJ1ZmZlcnMoY29uc3QgU2NyaXB0QnVmZmVyJiBtYWlu
U2NyaQogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKIHZvaWQgV29ya2VyR2xvYmFsU2NvcGU6
OnVwZGF0ZVNlcnZpY2VXb3JrZXJDbGllbnREYXRhKCkKIHsKLSAgICBBU1NFUlQodHlwZSgpID09
IFdlYkNvcmU6Oldvcmtlckdsb2JhbFNjb3BlOjpUeXBlOjpEZWRpY2F0ZWRXb3JrZXIpOworICAg
IEFTU0VSVCh0eXBlKCkgPT0gV2ViQ29yZTo6V29ya2VyR2xvYmFsU2NvcGU6OlR5cGU6OkRlZGlj
YXRlZFdvcmtlciB8fCB0eXBlKCkgPT0gV2ViQ29yZTo6V29ya2VyR2xvYmFsU2NvcGU6OlR5cGU6
OlNoYXJlZFdvcmtlcik7CiAgICAgYXV0byBjb250cm9sbGluZ1NlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb25JZGVudGlmaWVyID0gYWN0aXZlU2VydmljZVdvcmtlcigpID8gc3RkOjptYWtlX29wdGlv
bmFsPFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyPihhY3RpdmVTZXJ2aWNlV29y
a2VyKCktPnJlZ2lzdHJhdGlvbklkZW50aWZpZXIoKSkgOiBzdGQ6Om51bGxvcHQ7Ci0gICAgU1dD
bGllbnRDb25uZWN0aW9uJiBjb25uZWN0aW9uID0gc3dDbGllbnRDb25uZWN0aW9uKCk7Ci0gICAg
Y29ubmVjdGlvbi5yZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQodG9wT3JpZ2luKCksIFNlcnZp
Y2VXb3JrZXJDbGllbnREYXRhOjpmcm9tKCp0aGlzKSwgY29udHJvbGxpbmdTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uSWRlbnRpZmllciwgU3RyaW5nIHsgbV91c2VyQWdlbnQgfSk7CisgICAgc3dD
bGllbnRDb25uZWN0aW9uKCkucmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KGNsaWVudE9yaWdp
bigpLCBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YTo6ZnJvbSgqdGhpcyksIGNvbnRyb2xsaW5nU2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIsIFN0cmluZyB7IG1fdXNlckFnZW50IH0p
OwogfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
R2xvYmFsU2NvcGUuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUu
aAppbmRleCA1OGJiZDY1NzdmYTQzNzIwN2U5YmE3NmRkZWU3M2UzOTY0ZGVkNmNkLi5lZDc4OTNj
YmM4MjJhNzgzNWY4MDRkNTkyYTZiNDdhZDRmOGU3OWQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5oCkBAIC05Nyw4ICs5NywxMCBAQCBwdWJsaWM6CiAgICAg
V0VCQ09SRV9FWFBPUlQgV29ya2VyRmlsZVN5c3RlbVN0b3JhZ2VDb25uZWN0aW9uKiBmaWxlU3lz
dGVtU3RvcmFnZUNvbm5lY3Rpb24oKTsKICAgICBXb3JrZXJDYWNoZVN0b3JhZ2VDb25uZWN0aW9u
JiBjYWNoZVN0b3JhZ2VDb25uZWN0aW9uKCk7CiAgICAgTWVzc2FnZVBvcnRDaGFubmVsUHJvdmlk
ZXImIG1lc3NhZ2VQb3J0Q2hhbm5lbFByb3ZpZGVyKCk7CisKICNpZiBFTkFCTEUoU0VSVklDRV9X
T1JLRVIpCiAgICAgV29ya2VyU1dDbGllbnRDb25uZWN0aW9uJiBzd0NsaWVudENvbm5lY3Rpb24o
KTsKKyAgICB2b2lkIHVwZGF0ZVNlcnZpY2VXb3JrZXJDbGllbnREYXRhKCkgZmluYWw7CiAjZW5k
aWYKIAogICAgIFdvcmtlclRocmVhZCYgdGhyZWFkKCkgY29uc3Q7CkBAIC0xOTIsOSArMTk0LDYg
QEAgcHJpdmF0ZToKICAgICBib29sIHdyYXBDcnlwdG9LZXkoY29uc3QgVmVjdG9yPHVpbnQ4X3Q+
JiBrZXksIFZlY3Rvcjx1aW50OF90PiYgd3JhcHBlZEtleSkgZmluYWw7CiAgICAgYm9vbCB1bndy
YXBDcnlwdG9LZXkoY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiB3cmFwcGVkS2V5LCBWZWN0b3I8dWlu
dDhfdD4mIGtleSkgZmluYWw7CiAjZW5kaWYKLSNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCi0g
ICAgdm9pZCB1cGRhdGVTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSgpIGZpbmFsOwotI2VuZGlmCiAK
ICAgICB2b2lkIHN0b3BJbmRleGVkRGF0YWJhc2UoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuY3BwCmluZGV4IDkxYWRjMGYzMzdiOWM0YjJkZTU0ZGYy
N2YxYzZmMWMyM2YwZDk3ODMuLjUxMjdiYjkwMDMwMzQ1ZDQwMmUwYWIzZGQ1OTBiNzI3MGI1MGNl
OTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5jcHAK
QEAgLTM2LDYgKzM2LDcgQEAKICNpbmNsdWRlICJTZXJ2aWNlV29ya2VyLmgiCiAjaW5jbHVkZSAi
U2VydmljZVdvcmtlckNvbnRleHREYXRhLmgiCiAjaW5jbHVkZSAiU2VydmljZVdvcmtlckdsb2Jh
bFNjb3BlLmgiCisjaW5jbHVkZSAiU2VydmljZVdvcmtlclByb3ZpZGVyLmgiCiAjaW5jbHVkZSAi
VGV4dFJlc291cmNlRGVjb2Rlci5oIgogI2luY2x1ZGUgIldvcmtlckZldGNoUmVzdWx0LmgiCiAj
aW5jbHVkZSAiV29ya2VyR2xvYmFsU2NvcGUuaCIKQEAgLTU4LDggKzU5LDE0IEBAIFdvcmtlclNj
cmlwdExvYWRlcjo6V29ya2VyU2NyaXB0TG9hZGVyKCkKIAogV29ya2VyU2NyaXB0TG9hZGVyOjp+
V29ya2VyU2NyaXB0TG9hZGVyKCkKIHsKLSAgICBpZiAobV9jbGllbnRJZGVudGlmaWVyKQotICAg
ICAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllclRvV29ya2VyU2NyaXB0TG9hZGVy
TWFwKCkucmVtb3ZlKG1fY2xpZW50SWRlbnRpZmllcik7CisgICAgaWYgKCFtX2NsaWVudElkZW50
aWZpZXIpCisgICAgICAgIHJldHVybjsKKworICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVu
dGlmaWVyVG9Xb3JrZXJTY3JpcHRMb2FkZXJNYXAoKS5yZW1vdmUobV9jbGllbnRJZGVudGlmaWVy
KTsKKyNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCisgICAgaWYgKG1fYWN0aXZlU2VydmljZVdv
cmtlckRhdGEpCisgICAgICAgIFNlcnZpY2VXb3JrZXJQcm92aWRlcjo6c2luZ2xldG9uKCkuc2Vy
dmljZVdvcmtlckNvbm5lY3Rpb24oKS51bnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChtX2Ns
aWVudElkZW50aWZpZXIpOworI2VuZGlmCiB9CiAKIHN0ZDo6b3B0aW9uYWw8RXhjZXB0aW9uPiBX
b3JrZXJTY3JpcHRMb2FkZXI6OmxvYWRTeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIGNvbnN0IFVSTCYgdXJsLCBTb3VyY2Ugc291cmNl
LCBGZXRjaE9wdGlvbnM6Ok1vZGUgbW9kZSwgRmV0Y2hPcHRpb25zOjpDYWNoZSBjYWNoZVBvbGlj
eSwgQ29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQgY29udGVudFNlY3VyaXR5UG9saWN5
RW5mb3JjZW1lbnQsIGNvbnN0IFN0cmluZyYgaW5pdGlhdG9ySWRlbnRpZmllcikKQEAgLTE1MSwx
MyArMTU4LDEyIEBAIHZvaWQgV29ya2VyU2NyaXB0TG9hZGVyOjpsb2FkQXN5bmNocm9ub3VzbHko
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgc2NyaXB0RXhlY3V0CiAgICAgLy8gRklYTUU6IEFkZCBz
dXBwb3J0IGZvciBzaGFyZWQgd29ya2VyLgogICAgIGlmIChtX2Rlc3RpbmF0aW9uID09IEZldGNo
T3B0aW9uczo6RGVzdGluYXRpb246OldvcmtlciAmJiBpczxEb2N1bWVudD4oc2NyaXB0RXhlY3V0
aW9uQ29udGV4dCkpIHsKICAgICAgICAgQVNTRVJUKGNsaWVudElkZW50aWZpZXIpOworICAgICAg
ICBvcHRpb25zLmNsaWVudElkZW50aWZpZXIgPSBtX2NsaWVudElkZW50aWZpZXIgPSBjbGllbnRJ
ZGVudGlmaWVyOwogICAgICAgICAvLyBJbiBjYXNlIG9mIGJsb2IgVVJMcywgd2UgcmV1c2UgdGhl
IGRvY3VtZW50IGNvbnRyb2xsaW5nIHNlcnZpY2Ugd29ya2VyLgogICAgICAgICBpZiAocmVxdWVz
dC0+dXJsKCkucHJvdG9jb2xJc0Jsb2IoKSAmJiBzY3JpcHRFeGVjdXRpb25Db250ZXh0LmFjdGl2
ZVNlcnZpY2VXb3JrZXIoKSkKICAgICAgICAgICAgIHNldENvbnRyb2xsaW5nU2VydmljZVdvcmtl
cihTZXJ2aWNlV29ya2VyRGF0YSB7IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuYWN0aXZlU2Vydmlj
ZVdvcmtlcigpLT5kYXRhKCkgfSk7Ci0gICAgICAgIGVsc2UgewotICAgICAgICAgICAgb3B0aW9u
cy5jbGllbnRJZGVudGlmaWVyID0gbV9jbGllbnRJZGVudGlmaWVyID0gY2xpZW50SWRlbnRpZmll
cjsKKyAgICAgICAgZWxzZQogICAgICAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50
aWZpZXJUb1dvcmtlclNjcmlwdExvYWRlck1hcCgpLmFkZChtX2NsaWVudElkZW50aWZpZXIsIHRo
aXMpOwotICAgICAgICB9CiAgICAgfSBlbHNlIGlmIChhdXRvKiBhY3RpdmVTZXJ2aWNlV29ya2Vy
ID0gc2NyaXB0RXhlY3V0aW9uQ29udGV4dC5hY3RpdmVTZXJ2aWNlV29ya2VyKCkpCiAgICAgICAg
IG9wdGlvbnMuc2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIgPSBhY3RpdmVTZXJ2
aWNlV29ya2VyLT5yZWdpc3RyYXRpb25JZGVudGlmaWVyKCk7CiAjZW5kaWYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TV0NsaWVudENvbm5lY3Rpb24uaCBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TV0NsaWVudENvbm5lY3Rpb24uaAppbmRleCBk
ZDMzNmNhMjBlY2NkYmYyYWVkOGZlNDhjZGEzOTU0MDM1MzE1ZGJkLi5hMWZkYmVlNTA3ZDkzOGM2
YTk2N2U4MTBlMzc2MTczYTFlMDA3OWIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2UvU1dDbGllbnRDb25uZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zZXJ2aWNlL1NXQ2xpZW50Q29ubmVjdGlvbi5oCkBAIC01MCw2ICs1MCw3IEBAIGNsYXNz
IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb247CiBlbnVtIGNsYXNzIFNlcnZpY2VXb3JrZXJSZWdp
c3RyYXRpb25TdGF0ZSA6IHVpbnQ4X3Q7CiBlbnVtIGNsYXNzIFNlcnZpY2VXb3JrZXJTdGF0ZSA6
IHVpbnQ4X3Q7CiBlbnVtIGNsYXNzIFNob3VsZE5vdGlmeVdoZW5SZXNvbHZlZCA6IGJvb2w7Citz
dHJ1Y3QgQ2xpZW50T3JpZ2luOwogc3RydWN0IEV4Y2VwdGlvbkRhdGE7CiBzdHJ1Y3QgTWVzc2Fn
ZVdpdGhNZXNzYWdlUG9ydHM7CiBzdHJ1Y3QgTm90aWZpY2F0aW9uRGF0YTsKQEAgLTg0LDcgKzg1
LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgU1dTZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllciBz
ZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllcigpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIGJvb2wg
bWF5SGF2ZVNlcnZpY2VXb3JrZXJSZWdpc3RlcmVkRm9yT3JpZ2luKGNvbnN0IFNlY3VyaXR5T3Jp
Z2luRGF0YSYpIGNvbnN0ID0gMDsKIAotICAgIHZpcnR1YWwgdm9pZCByZWdpc3RlclNlcnZpY2VX
b3JrZXJDbGllbnQoY29uc3QgU2VjdXJpdHlPcmlnaW4mIHRvcE9yaWdpbiwgU2VydmljZVdvcmtl
ckNsaWVudERhdGEmJiwgY29uc3Qgc3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uSWRlbnRpZmllcj4mLCBTdHJpbmcmJiB1c2VyQWdlbnQpID0gMDsKKyAgICB2aXJ0dWFsIHZv
aWQgcmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KGNvbnN0IENsaWVudE9yaWdpbiYsIFNlcnZp
Y2VXb3JrZXJDbGllbnREYXRhJiYsIGNvbnN0IHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbklkZW50aWZpZXI+JiwgU3RyaW5nJiYgdXNlckFnZW50KSA9IDA7CiAgICAgdmly
dHVhbCB2b2lkIHVucmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHRJZGVudGlmaWVyKSA9IDA7CiAKICAgICB2aXJ0dWFsIHZvaWQgZmluaXNoRmV0Y2hpbmdT
Y3JpcHRJblNlcnZlcihjb25zdCBTZXJ2aWNlV29ya2VySm9iRGF0YUlkZW50aWZpZXImLCBTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5JiYsIFdvcmtlckZldGNoUmVzdWx0JiYpID0gMDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9Xb3JrZXJTV0NsaWVudENv
bm5lY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1dvcmtlclNXQ2xp
ZW50Q29ubmVjdGlvbi5jcHAKaW5kZXggYzUyNGVjMGE3NWI2YWZiMjgxN2JmNmUzODIzMTc1NmY5
NWI3ZWYyYi4uZjE0MGY5OWI0MDg2YmY2ZmJjZjcyYjZjNDdlMGQ0MWQxZmEwZDg1MyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1dvcmtlclNXQ2xpZW50Q29ubmVj
dGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1dvcmtlclNXQ2xp
ZW50Q29ubmVjdGlvbi5jcHAKQEAgLTE4NCwxNyArMTg0LDE5IEBAIGJvb2wgV29ya2VyU1dDbGll
bnRDb25uZWN0aW9uOjptYXlIYXZlU2VydmljZVdvcmtlclJlZ2lzdGVyZWRGb3JPcmlnaW4oY29u
c3QgU2VjCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLXZvaWQgV29ya2VyU1dDbGllbnRDb25uZWN0
aW9uOjpyZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQoY29uc3QgU2VjdXJpdHlPcmlnaW4mIHRv
cE9yaWdpbiwgU2VydmljZVdvcmtlckNsaWVudERhdGEmJiBkYXRhLCBjb25zdCBzdGQ6Om9wdGlv
bmFsPFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyPiYgaWRlbnRpZmllciwgU3Ry
aW5nJiYgdXNlckFnZW50KQordm9pZCBXb3JrZXJTV0NsaWVudENvbm5lY3Rpb246OnJlZ2lzdGVy
U2VydmljZVdvcmtlckNsaWVudChjb25zdCBDbGllbnRPcmlnaW4mIGNsaWVudE9yaWdpbiwgU2Vy
dmljZVdvcmtlckNsaWVudERhdGEmJiBkYXRhLCBjb25zdCBzdGQ6Om9wdGlvbmFsPFNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyPiYgaWRlbnRpZmllciwgU3RyaW5nJiYgdXNlckFn
ZW50KQogewotICAgIGNhbGxPbk1haW5UaHJlYWQoW3RvcE9yaWdpbiA9IHRvcE9yaWdpbi5pc29s
YXRlZENvcHkoKSwgZGF0YSA9IGNyb3NzVGhyZWFkQ29weShXVEZNb3ZlKGRhdGEpKSwgaWRlbnRp
ZmllciwgdXNlckFnZW50ID0gY3Jvc3NUaHJlYWRDb3B5KFdURk1vdmUodXNlckFnZW50KSldKCkg
bXV0YWJsZSB7CisgICAgY2FsbE9uTWFpblRocmVhZChbY2xpZW50T3JpZ2luID0gY2xpZW50T3Jp
Z2luLmlzb2xhdGVkQ29weSgpLCBkYXRhID0gY3Jvc3NUaHJlYWRDb3B5KFdURk1vdmUoZGF0YSkp
LCBpZGVudGlmaWVyLCB1c2VyQWdlbnQgPSBjcm9zc1RocmVhZENvcHkoV1RGTW92ZSh1c2VyQWdl
bnQpKV0oKSBtdXRhYmxlIHsKICAgICAgICAgYXV0byYgY29ubmVjdGlvbiA9IFNlcnZpY2VXb3Jr
ZXJQcm92aWRlcjo6c2luZ2xldG9uKCkuc2VydmljZVdvcmtlckNvbm5lY3Rpb24oKTsKLSAgICAg
ICAgY29ubmVjdGlvbi5yZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQodG9wT3JpZ2luLCBXVEZN
b3ZlKGRhdGEpLCBpZGVudGlmaWVyLCBXVEZNb3ZlKHVzZXJBZ2VudCkpOworICAgICAgICBjb25u
ZWN0aW9uLnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChjbGllbnRPcmlnaW4sIFdURk1vdmUo
ZGF0YSksIGlkZW50aWZpZXIsIFdURk1vdmUodXNlckFnZW50KSk7CiAgICAgfSk7CiB9CiAKLXZv
aWQgV29ya2VyU1dDbGllbnRDb25uZWN0aW9uOjp1bnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVu
dChTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllcikKK3ZvaWQgV29ya2VyU1dDbGllbnRD
b25uZWN0aW9uOjp1bnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChTY3JpcHRFeGVjdXRpb25D
b250ZXh0SWRlbnRpZmllciBpZGVudGlmaWVyKQogewotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OworICAgIGNhbGxPbk1haW5UaHJlYWQoW2lkZW50aWZpZXJdIHsKKyAgICAgICAgU2VydmljZVdv
cmtlclByb3ZpZGVyOjpzaW5nbGV0b24oKS5zZXJ2aWNlV29ya2VyQ29ubmVjdGlvbigpLnVucmVn
aXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KGlkZW50aWZpZXIpOworICAgIH0pOwogfQogCiB2b2lk
IFdvcmtlclNXQ2xpZW50Q29ubmVjdGlvbjo6ZmluaXNoRmV0Y2hpbmdTY3JpcHRJblNlcnZlcihj
b25zdCBTZXJ2aWNlV29ya2VySm9iRGF0YUlkZW50aWZpZXImIGpvYkRhdGFJZGVudGlmaWVyLCBT
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5JiYgcmVnaXN0cmF0aW9uS2V5LCBXb3JrZXJGZXRj
aFJlc3VsdCYmIHJlc3VsdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vy
dmljZS9Xb3JrZXJTV0NsaWVudENvbm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2VydmljZS9Xb3JrZXJTV0NsaWVudENvbm5lY3Rpb24uaAppbmRleCAyYWE0YTQwOTRjZGU4OTQ2
YmY0OGI0YzFhNzk3OWI3ZWJkZjY0ZTZjLi4yOWJmYjMzZWY0YjNkNDA2NTUzMzAyMWFjNmUyNTQ3
NjgwN2IwYWI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvV29y
a2VyU1dDbGllbnRDb25uZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2
aWNlL1dvcmtlclNXQ2xpZW50Q29ubmVjdGlvbi5oCkBAIC0zOSw2ICszOSw5IEBAIHB1YmxpYzoK
ICAgICBzdGF0aWMgUmVmPFdvcmtlclNXQ2xpZW50Q29ubmVjdGlvbj4gY3JlYXRlKFdvcmtlckds
b2JhbFNjb3BlJiBzY29wZSkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBXb3JrZXJTV0NsaWVudENv
bm5lY3Rpb24geyBzY29wZSB9KTsgfQogICAgIH5Xb3JrZXJTV0NsaWVudENvbm5lY3Rpb24oKTsK
IAorICAgIHZvaWQgcmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KGNvbnN0IENsaWVudE9yaWdp
biYsIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhJiYsIGNvbnN0IHN0ZDo6b3B0aW9uYWw8U2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXI+JiwgU3RyaW5nJiYgdXNlckFnZW50KSBmaW5h
bDsKKyAgICB2b2lkIHVucmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHRJZGVudGlmaWVyKSBmaW5hbDsKKwogcHJpdmF0ZToKICAgICBleHBsaWNpdCBXb3Jr
ZXJTV0NsaWVudENvbm5lY3Rpb24oV29ya2VyR2xvYmFsU2NvcGUmKTsKIApAQCAtNTEsOCArNTQs
NiBAQCBwcml2YXRlOgogICAgIHZvaWQgcG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXIoU2Vydmlj
ZVdvcmtlcklkZW50aWZpZXIgZGVzdGluYXRpb24sIE1lc3NhZ2VXaXRoTWVzc2FnZVBvcnRzJiYs
IGNvbnN0IFNlcnZpY2VXb3JrZXJPckNsaWVudElkZW50aWZpZXImIHNvdXJjZSkgZmluYWw7CiAg
ICAgU1dTZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllciBzZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmll
cigpIGNvbnN0IGZpbmFsOwogICAgIGJvb2wgbWF5SGF2ZVNlcnZpY2VXb3JrZXJSZWdpc3RlcmVk
Rm9yT3JpZ2luKGNvbnN0IFNlY3VyaXR5T3JpZ2luRGF0YSYpIGNvbnN0IGZpbmFsOwotICAgIHZv
aWQgcmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KGNvbnN0IFNlY3VyaXR5T3JpZ2luJiB0b3BP
cmlnaW4sIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhJiYsIGNvbnN0IHN0ZDo6b3B0aW9uYWw8U2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXI+JiwgU3RyaW5nJiYgdXNlckFnZW50KSBm
aW5hbDsKLSAgICB2b2lkIHVucmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHRJZGVudGlmaWVyKSBmaW5hbDsKICAgICB2b2lkIGZpbmlzaEZldGNoaW5nU2Ny
aXB0SW5TZXJ2ZXIoY29uc3QgU2VydmljZVdvcmtlckpvYkRhdGFJZGVudGlmaWVyJiwgU2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbktleSYmLCBXb3JrZXJGZXRjaFJlc3VsdCYmKSBmaW5hbDsKICAg
ICB2b2lkIHNjaGVkdWxlSm9iSW5TZXJ2ZXIoY29uc3QgU2VydmljZVdvcmtlckpvYkRhdGEmKSBm
aW5hbDsKICAgICB2b2lkIHNjaGVkdWxlSm9iKFNlcnZpY2VXb3JrZXJPckNsaWVudElkZW50aWZp
ZXIsIGNvbnN0IFNlcnZpY2VXb3JrZXJKb2JEYXRhJikgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0
aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9XZWJT
V1NlcnZlckNvbm5lY3Rpb24uY3BwCmluZGV4IGIzZGQ0YTUyODIwOTI0ZDkwMTI0OTEzNzE3ZmJi
MjAyNWFmNTUzOWMuLmU3YTJkZWVkMTQ5YjAyNGM0ODJmZTJjNGY4NTQ3ZDRjYTY0NDhiMGUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9XZWJT
V1NlcnZlckNvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
U2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uY3BwCkBAIC0xODQsNyArMTg0LDcg
QEAgdm9pZCBXZWJTV1NlcnZlckNvbm5lY3Rpb246OmNvbnRyb2xDbGllbnQoY29uc3QgTmV0d29y
a1Jlc291cmNlTG9hZFBhcmFtZXRlcnMmIHAKIAogICAgIGF1dG8gYW5jZXN0b3JPcmlnaW5zID0g
bWFwKHBhcmFtZXRlcnMuZnJhbWVBbmNlc3Rvck9yaWdpbnMsIFtdKGF1dG8mIG9yaWdpbikgeyBy
ZXR1cm4gb3JpZ2luLT50b1N0cmluZygpOyB9KTsKICAgICBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0
YSBkYXRhIHsgY2xpZW50SWRlbnRpZmllciwgY2xpZW50VHlwZSwgU2VydmljZVdvcmtlckNsaWVu
dEZyYW1lVHlwZTo6Tm9uZSwgcmVxdWVzdC51cmwoKSwgcGFyYW1ldGVycy53ZWJQYWdlSUQsIHBh
cmFtZXRlcnMud2ViRnJhbWVJRCwgcmVxdWVzdC5pc0FwcEluaXRpYXRlZCgpID8gV2ViQ29yZTo6
TGFzdE5hdmlnYXRpb25XYXNBcHBJbml0aWF0ZWQ6OlllcyA6IFdlYkNvcmU6Okxhc3ROYXZpZ2F0
aW9uV2FzQXBwSW5pdGlhdGVkOjpObywgZmFsc2UsIGZhbHNlLCAwLCBXVEZNb3ZlKGFuY2VzdG9y
T3JpZ2lucykgfTsKLSAgICByZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQoU2VjdXJpdHlPcmln
aW5EYXRhIHsgcmVnaXN0cmF0aW9uLmtleSgpLnRvcE9yaWdpbigpIH0sIFdURk1vdmUoZGF0YSks
IHJlZ2lzdHJhdGlvbi5pZGVudGlmaWVyKCksIHJlcXVlc3QuaHR0cFVzZXJBZ2VudCgpKTsKKyAg
ICByZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQoQ2xpZW50T3JpZ2luIHsgcmVnaXN0cmF0aW9u
LmtleSgpLnRvcE9yaWdpbigpLCBTZWN1cml0eU9yaWdpbkRhdGE6OmZyb21VUkwocmVxdWVzdC51
cmwoKSkgfSwgV1RGTW92ZShkYXRhKSwgcmVnaXN0cmF0aW9uLmlkZW50aWZpZXIoKSwgcmVxdWVz
dC5odHRwVXNlckFnZW50KCkpOwogfQogCiBzdGQ6OnVuaXF1ZV9wdHI8U2VydmljZVdvcmtlckZl
dGNoVGFzaz4gV2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjpjcmVhdGVGZXRjaFRhc2soTmV0d29ya1Jl
c291cmNlTG9hZGVyJiBsb2FkZXIsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCkKQEAg
LTM5NSwxMiArMzk1LDE5IEBAIHZvaWQgV2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjpnZXRSZWdpc3Ry
YXRpb25zKGNvbnN0IFNlY3VyaXR5T3JpZ2luRGF0YSYgdG9wT3JpZ2luCiAgICAgY2FsbGJhY2so
c2VydmVyKCkuZ2V0UmVnaXN0cmF0aW9ucyh0b3BPcmlnaW4sIGNsaWVudFVSTCkpOwogfQogCi12
b2lkIFdlYlNXU2VydmVyQ29ubmVjdGlvbjo6cmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KFNl
Y3VyaXR5T3JpZ2luRGF0YSYmIHRvcE9yaWdpbiwgU2VydmljZVdvcmtlckNsaWVudERhdGEmJiBk
YXRhLCBjb25zdCBzdGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlm
aWVyPiYgY29udHJvbGxpbmdTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciwgU3Ry
aW5nJiYgdXNlckFnZW50KQordm9pZCBXZWJTV1NlcnZlckNvbm5lY3Rpb246OnJlZ2lzdGVyU2Vy
dmljZVdvcmtlckNsaWVudChXZWJDb3JlOjpDbGllbnRPcmlnaW4mJiBjbGllbnRPcmlnaW4sIFNl
cnZpY2VXb3JrZXJDbGllbnREYXRhJiYgZGF0YSwgY29uc3Qgc3RkOjpvcHRpb25hbDxTZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcj4mIGNvbnRyb2xsaW5nU2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbklkZW50aWZpZXIsIFN0cmluZyYmIHVzZXJBZ2VudCkKIHsKICAgICBDT05ORUNU
SU9OX01FU1NBR0VfQ0hFQ0soZGF0YS5pZGVudGlmaWVyLnByb2Nlc3NJZGVudGlmaWVyKCkgPT0g
aWRlbnRpZmllcigpKTsKLSAgICBDT05ORUNUSU9OX01FU1NBR0VfQ0hFQ0soIXRvcE9yaWdpbi5p
c0VtcHR5KCkpOworICAgIENPTk5FQ1RJT05fTUVTU0FHRV9DSEVDSyghY2xpZW50T3JpZ2luLnRv
cE9yaWdpbi5pc0VtcHR5KCkpOworCisgICAgYXV0byYgY29udGV4dE9yaWdpbiA9IGNsaWVudE9y
aWdpbi5jbGllbnRPcmlnaW47CisgICAgaWYgKGRhdGEudXJsLnByb3RvY29sSXNJbkhUVFBGYW1p
bHkoKSkgeworICAgICAgICAvLyBXZSBkbyBub3QgcmVnaXN0ZXIgYW55IHNhbmRib3ggZG9jdW1l
bnQuCisgICAgICAgIGlmIChjb250ZXh0T3JpZ2luICE9IFNlY3VyaXR5T3JpZ2luRGF0YTo6ZnJv
bVVSTChkYXRhLnVybCkpCisgICAgICAgICAgICByZXR1cm47CisgICAgfSBlbHNlIGlmICghZGF0
YS51cmwucHJvdG9jb2xJc0Fib3V0KCkgJiYgIWRhdGEudXJsLnByb3RvY29sSXNCbG9iKCkpCisg
ICAgICAgIHJldHVybjsKIAotICAgIGF1dG8gY29udGV4dE9yaWdpbiA9IFNlY3VyaXR5T3JpZ2lu
RGF0YTo6ZnJvbVVSTChkYXRhLnVybCk7CiAgICAgQ09OTkVDVElPTl9NRVNTQUdFX0NIRUNLKCFj
b250ZXh0T3JpZ2luLmlzRW1wdHkoKSk7CiAKICAgICBib29sIGlzTmV3T3JpZ2luID0gV1RGOjph
bGxPZihtX2NsaWVudE9yaWdpbnMudmFsdWVzKCksIFsmY29udGV4dE9yaWdpbl0oYXV0byYgb3Jp
Z2luKSB7CkBAIC00MDgsNyArNDE1LDYgQEAgdm9pZCBXZWJTV1NlcnZlckNvbm5lY3Rpb246OnJl
Z2lzdGVyU2VydmljZVdvcmtlckNsaWVudChTZWN1cml0eU9yaWdpbkRhdGEmJiB0b3AKICAgICB9
KTsKICAgICBhdXRvKiBjb250ZXh0Q29ubmVjdGlvbiA9IGlzTmV3T3JpZ2luID8gc2VydmVyKCku
Y29udGV4dENvbm5lY3Rpb25Gb3JSZWdpc3RyYWJsZURvbWFpbihSZWdpc3RyYWJsZURvbWFpbiB7
IGNvbnRleHRPcmlnaW4gfSkgOiBudWxscHRyOwogCi0gICAgYXV0byBjbGllbnRPcmlnaW4gPSBD
bGllbnRPcmlnaW4geyBXVEZNb3ZlKHRvcE9yaWdpbiksIFdURk1vdmUoY29udGV4dE9yaWdpbikg
fTsKICAgICBtX2NsaWVudE9yaWdpbnMuYWRkKGRhdGEuaWRlbnRpZmllciwgY2xpZW50T3JpZ2lu
KTsKICAgICBzZXJ2ZXIoKS5yZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQoV1RGTW92ZShjbGll
bnRPcmlnaW4pLCBXVEZNb3ZlKGRhdGEpLCBjb250cm9sbGluZ1NlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb25JZGVudGlmaWVyLCBXVEZNb3ZlKHVzZXJBZ2VudCkpOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0
aW9uLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dT
ZXJ2ZXJDb25uZWN0aW9uLmgKaW5kZXggYjBkYjg1YmM2N2FlMGRlNWIwNzRhZDlkZmYwMjNlNmFj
MWViZmIwMC4uNGYwMjVlMjE5MTFmMzJiNmVhMGYzZDJhOTk3ZTU4OTllMzgwYWI0NSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2Vy
dmVyQ29ubmVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2Vydmlj
ZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uaApAQCAtMTEwLDcgKzExMCw3IEBAIHByaXZh
dGU6CiAgICAgdm9pZCBtYXRjaFJlZ2lzdHJhdGlvbihjb25zdCBXZWJDb3JlOjpTZWN1cml0eU9y
aWdpbkRhdGEmIHRvcE9yaWdpbiwgY29uc3QgVVJMJiBjbGllbnRVUkwsIENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
RGF0YT4mJik+JiYpOwogICAgIHZvaWQgZ2V0UmVnaXN0cmF0aW9ucyhjb25zdCBXZWJDb3JlOjpT
ZWN1cml0eU9yaWdpbkRhdGEmIHRvcE9yaWdpbiwgY29uc3QgVVJMJiBjbGllbnRVUkwsIENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoY29uc3QgVmVjdG9yPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdp
c3RyYXRpb25EYXRhPiYpPiYmKTsKIAotICAgIHZvaWQgcmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xp
ZW50KFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSYmIHRvcE9yaWdpbiwgV2ViQ29yZTo6U2Vy
dmljZVdvcmtlckNsaWVudERhdGEmJiwgY29uc3Qgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcj4mLCBTdHJpbmcmJiB1c2VyQWdlbnQpOwor
ICAgIHZvaWQgcmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KFdlYkNvcmU6OkNsaWVudE9yaWdp
biYmLCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSYmLCBjb25zdCBzdGQ6Om9wdGlv
bmFsPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyPiYsIFN0cmlu
ZyYmIHVzZXJBZ2VudCk7CiAgICAgdm9pZCB1bnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChj
b25zdCBXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllciYpOwogICAgIHZv
aWQgdGVybWluYXRlV29ya2VyRnJvbUNsaWVudChXZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRlbnRp
ZmllciwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKICAgICB2b2lkIHdoZW5TZXJ2aWNl
V29ya2VySXNUZXJtaW5hdGVkRm9yVGVzdGluZyhXZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRlbnRp
ZmllciwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24u
bWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIv
V2ViU1dTZXJ2ZXJDb25uZWN0aW9uLm1lc3NhZ2VzLmluCmluZGV4IDQzZmQxMjRmMGM5M2E5ODVl
ZTI2OWZmZGU2NWI4MmQwMWZlMWZlYTguLjE1ZmNhNTQzYzU3ZTdkMzFiODg1YTcwMDA4ZTM2ODhm
YTQ0ZWNjOWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2Vydmlj
ZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24ubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5t
ZXNzYWdlcy5pbgpAQCAtMzgsNyArMzgsNyBAQCBtZXNzYWdlcyAtPiBXZWJTV1NlcnZlckNvbm5l
Y3Rpb24gTm90UmVmQ291bnRlZCB7CiAgICAgTWF0Y2hSZWdpc3RyYXRpb24oc3RydWN0IFdlYkNv
cmU6OlNlY3VyaXR5T3JpZ2luRGF0YSB0b3BPcmlnaW4sIFVSTCBjbGllbnRVUkwpIC0+IChzdGQ6
Om9wdGlvbmFsPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhPiByZWdpc3Ry
YXRpb24pCiAgICAgV2hlblJlZ2lzdHJhdGlvblJlYWR5KHN0cnVjdCBXZWJDb3JlOjpTZWN1cml0
eU9yaWdpbkRhdGEgdG9wT3JpZ2luLCBVUkwgY2xpZW50VVJMKSAtPiAoc3RkOjpvcHRpb25hbDxX
ZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YT4gcmVnaXN0cmF0aW9uKQogICAg
IEdldFJlZ2lzdHJhdGlvbnMoc3RydWN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSB0b3BP
cmlnaW4sIFVSTCBjbGllbnRVUkwpIC0+IChWZWN0b3I8V2ViQ29yZTo6U2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbkRhdGE+IHJlZ2lzdHJhdGlvbnMpCi0gICAgUmVnaXN0ZXJTZXJ2aWNlV29ya2Vy
Q2xpZW50KHN0cnVjdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEgdG9wT3JpZ2luLCBzdHJ1
Y3QgV2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVudERhdGEgZGF0YSwgc3RkOjpvcHRpb25hbDxX
ZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcj4gY29udHJvbGxpbmdT
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciwgU3RyaW5nIHVzZXJBZ2VudCkKKyAg
ICBSZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQoc3RydWN0IFdlYkNvcmU6OkNsaWVudE9yaWdp
biBjbGllbnRPcmlnaW4sIHN0cnVjdCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSBk
YXRhLCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVu
dGlmaWVyPiBjb250cm9sbGluZ1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyLCBT
dHJpbmcgdXNlckFnZW50KQogICAgIFVucmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KFdlYkNv
cmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyIGlkZW50aWZpZXIpCiAKICAgICBU
ZXJtaW5hdGVXb3JrZXJGcm9tQ2xpZW50KFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVudGlmaWVy
IHdvcmtlcklkZW50aWZpZXIpIC0+ICgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24uY3BwIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmNwcAppbmRleCAxNzgwY2Fj
N2I2YTc3N2JmMTNmODIzMjQ1N2U1NGQzOTExNWVkYzBlLi5hMjcxMzdiZjEyZGRkYWI4N2QwM2I5
Yzc4Y2JmZmFmZjUzYzg1N2Y4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
U3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5jcHAKQEAgLTExNSw5ICsxMTUs
OSBAQCB2b2lkIFdlYlNXQ2xpZW50Q29ubmVjdGlvbjo6cG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3Jr
ZXIoU2VydmljZVdvcmtlcklkZW50aWZpZXIgZAogICAgIHNlbmQoTWVzc2FnZXM6OldlYlNXU2Vy
dmVyQ29ubmVjdGlvbjo6UG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXIgeyBkZXN0aW5hdGlvbklk
ZW50aWZpZXIsIFdURk1vdmUobWVzc2FnZSksIHNvdXJjZUlkZW50aWZpZXIgfSk7CiB9CiAKLXZv
aWQgV2ViU1dDbGllbnRDb25uZWN0aW9uOjpyZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQoY29u
c3QgU2VjdXJpdHlPcmlnaW4mIHRvcE9yaWdpbiwgV2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVu
dERhdGEmJiBkYXRhLCBjb25zdCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb25JZGVudGlmaWVyPiYgY29udHJvbGxpbmdTZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uSWRlbnRpZmllciwgU3RyaW5nJiYgdXNlckFnZW50KQordm9pZCBXZWJTV0NsaWVudENvbm5l
Y3Rpb246OnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChjb25zdCBDbGllbnRPcmlnaW4mIGNs
aWVudE9yaWdpbiwgV2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVudERhdGEmJiBkYXRhLCBjb25z
dCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlm
aWVyPiYgY29udHJvbGxpbmdTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciwgU3Ry
aW5nJiYgdXNlckFnZW50KQogewotICAgIHNlbmQoTWVzc2FnZXM6OldlYlNXU2VydmVyQ29ubmVj
dGlvbjo6UmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50IHsgdG9wT3JpZ2luLmRhdGEoKSwgZGF0
YSwgY29udHJvbGxpbmdTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciwgdXNlckFn
ZW50IH0pOworICAgIHNlbmQoTWVzc2FnZXM6OldlYlNXU2VydmVyQ29ubmVjdGlvbjo6UmVnaXN0
ZXJTZXJ2aWNlV29ya2VyQ2xpZW50IHsgY2xpZW50T3JpZ2luLCBkYXRhLCBjb250cm9sbGluZ1Nl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyLCB1c2VyQWdlbnQgfSk7CiB9CiAKIHZv
aWQgV2ViU1dDbGllbnRDb25uZWN0aW9uOjp1bnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChT
Y3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllciBjb250ZXh0SWRlbnRpZmllcikKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVj
dGlvbi5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25u
ZWN0aW9uLmgKaW5kZXggNjIyZmMwOGYzMTQ1OGQ2ZTJmODU1YTkyYmYxNzRjMDI2MTA1OGU4ZS4u
YmI5ZTAwYTk2Y2M2Y2YzNGExOTRlNGY5NmRiMTFmODhmZGIxNTdhNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmgKKysr
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9u
LmgKQEAgLTczLDcgKzczLDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHNjaGVkdWxlSm9iSW5TZXJ2
ZXIoY29uc3QgV2ViQ29yZTo6U2VydmljZVdvcmtlckpvYkRhdGEmKSBmaW5hbDsKICAgICB2b2lk
IGZpbmlzaEZldGNoaW5nU2NyaXB0SW5TZXJ2ZXIoY29uc3QgV2ViQ29yZTo6U2VydmljZVdvcmtl
ckpvYkRhdGFJZGVudGlmaWVyJiwgV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktl
eSYmLCBXZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3VsdCYmKSBmaW5hbDsKICAgICB2b2lkIHBvc3RN
ZXNzYWdlVG9TZXJ2aWNlV29ya2VyKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIGRl
c3RpbmF0aW9uSWRlbnRpZmllciwgV2ViQ29yZTo6TWVzc2FnZVdpdGhNZXNzYWdlUG9ydHMmJiwg
Y29uc3QgV2ViQ29yZTo6U2VydmljZVdvcmtlck9yQ2xpZW50SWRlbnRpZmllciYgc291cmNlKSBm
aW5hbDsKLSAgICB2b2lkIHJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChjb25zdCBXZWJDb3Jl
OjpTZWN1cml0eU9yaWdpbiYgdG9wT3JpZ2luLCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ2xpZW50
RGF0YSYmLCBjb25zdCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb25JZGVudGlmaWVyPiYsIFN0cmluZyYmIHVzZXJBZ2VudCkgZmluYWw7CisgICAgdm9pZCBy
ZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQoY29uc3QgV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiwg
V2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVudERhdGEmJiwgY29uc3Qgc3RkOjpvcHRpb25hbDxX
ZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcj4mLCBTdHJpbmcmJiB1
c2VyQWdlbnQpIGZpbmFsOwogICAgIHZvaWQgdW5yZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQo
V2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIpIGZpbmFsOwogICAgIHZv
aWQgc2NoZWR1bGVVbnJlZ2lzdGVySm9iSW5TZXJ2ZXIoV2ViQ29yZTo6U2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbklkZW50aWZpZXIsIFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJPckNsaWVudElkZW50
aWZpZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6RXhjZXB0aW9uT3I8Ym9vbD4m
Jik+JiYpIGZpbmFsOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZDFhYTNmODhlYmIwYjMwMTc2ZjVmMzgxMmE4MjAwMmZm
MDkyY2QwNy4uZTEyNDU4ODVkMWU1OWMwMmQ3ZDk4ZGZhNGJiYTc1MTM5ODgzZGI3MyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDIwIEBACisyMDIyLTA0LTE0ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxl
LmNvbT4KKworICAgICAgICBTZXJ2aWNlV29ya2VyLnBvc3RNZXNzYWdlKCkgZG9lc24ndCB3b3Jr
IGZyb20gaW5zaWRlIGlmcmFtZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjEzOTg0CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82NTIwMzM0MD4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGh0dHAvd3B0
L3NlcnZpY2Utd29ya2Vycy9hYm91dC1ibGFuay1pZnJhbWUtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBodHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvYWJvdXQtYmxhbmstaWZyYW1lLXdv
cmtlci5qczogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvc2VydmljZS13b3JrZXJzL2Fib3V0
LWJsYW5rLWlmcmFtZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dvcmtlcnMv
c2VydmljZS9jbGllbnQtYWRkZWQtdG8tY2xpZW50cy13aGVuLXJlc3RvcmVkLWZyb20tcGFnZS1j
YWNoZS5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL2NsaWVudC1y
ZW1vdmVkLWZyb20tY2xpZW50cy13aGlsZS1pbi1wYWdlLWNhY2hlLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBodHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9jbGllbnQtcmVtb3ZlZC1mcm9tLWNs
aWVudHMtd2hpbGUtaW4tcGFnZS1jYWNoZS5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvd29y
a2Vycy9zZXJ2aWNlL290aGVyX3Jlc291cmNlcy90ZXN0Lmh0bWw6CisgICAgICAgICogaHR0cC90
ZXN0cy93b3JrZXJzL3NlcnZpY2UvcmVzb3VyY2VzL2dldENsaWVudElkcy13b3JrZXIuanM6CisK
IDIwMjItMDQtMTMgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAg
IEV4cG9zZSB3b3JrZXJzIGFzIHNlcnZpY2Ugd29ya2VyIGNsaWVudHMgYW5kIGltcGxlbWVudCBy
ZWdpc3RyYXRpb24gbWF0Y2hpbmcgZm9yIGRlZGljYXRlZCB3b3JrZXJzCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL0NoYW5nZUxvZwppbmRleCA5Mjc2ZjQ3ZTkxYWQ2MzViNTIyNTE4OTYzNzc3NzVjZGQzZDIw
MDhiLi4xMzIyZjdmMjNlY2M1NTQxNGZiOGNkODRjNTYxMzgzMTNjZGZiMTMxIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMi0wNC0xNCAgWW91ZW5u
IEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgU2VydmljZVdvcmtlci5wb3N0
TWVzc2FnZSgpIGRvZXNuJ3Qgd29yayBmcm9tIGluc2lkZSBpZnJhbWUKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMzk4NAorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vNjUyMDMzNDA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL2Fib3V0LWJsYW5rLXJlcGxhY2VtZW50Lmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2Ns
aWVudC11cmwtb2YtYmxvYi11cmwtd29ya2VyLmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NsaWVu
dHMtbWF0Y2hhbGwtYmxvYi11cmwtd29ya2VyLmh0dHBzLWV4cGVjdGVkLnR4dDoKKwogMjAyMi0w
NC0xMyAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgRXhwb3Nl
IHdvcmtlcnMgYXMgc2VydmljZSB3b3JrZXIgY2xpZW50cyBhbmQgaW1wbGVtZW50IHJlZ2lzdHJh
dGlvbiBtYXRjaGluZyBmb3IgZGVkaWNhdGVkIHdvcmtlcnMKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL2NsaWVudC1hZGRlZC10by1jbGllbnRzLXdo
ZW4tcmVzdG9yZWQtZnJvbS1wYWdlLWNhY2hlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3dvcmtlcnMvc2VydmljZS9jbGllbnQtYWRkZWQtdG8tY2xpZW50cy13aGVuLXJlc3RvcmVkLWZy
b20tcGFnZS1jYWNoZS5odG1sCmluZGV4IDZhMjI4NGVjZjJjMzlmMWI4OGQ2NmRhYmMyZjVhN2Fh
NmUxYjAyMmMuLjUyMTRiOGI0M2I3MjAyNzE3MTZlOWUyMzdhMTIxNjc2YjVjNTc2ZGMgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL2NsaWVudC1hZGRl
ZC10by1jbGllbnRzLXdoZW4tcmVzdG9yZWQtZnJvbS1wYWdlLWNhY2hlLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvY2xpZW50LWFkZGVkLXRvLWNsaWVu
dHMtd2hlbi1yZXN0b3JlZC1mcm9tLXBhZ2UtY2FjaGUuaHRtbApAQCAtMjIsNyArMjIsNyBAQCBm
dW5jdGlvbiBjb250YWluc0V4cGVjdGVkQ2xpZW50cyhjbGllbnRJZGVudGlmaWVycykKIAogbmF2
aWdhdG9yLnNlcnZpY2VXb3JrZXIuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsIGZ1bmN0aW9u
KGV2ZW50KSB7CiAgIGlmIChzdGVwID09ICJCb3RoQ2xpZW50c0luaXRpYWxseUFjdGl2ZSIpIHsK
LSAgICBpZiAoIWNvbnRhaW5zRXhwZWN0ZWRDbGllbnRzKGV2ZW50LmRhdGEpKSB7CisgICAgaWYg
KCFjb250YWluc0V4cGVjdGVkQ2xpZW50cyhldmVudC5kYXRhLmlkcykpIHsKICAgICAgIGlmICgr
K3RyaWVzID4gMjApIHsKICAgICAgICAgICBsb2coIkZBSUw6IFdyb25nIGluaXRpYWwgbnVtYmVy
IG9mIGNsaWVudHMiKTsKICAgICAgICAgICBmaW5pc2hTV1Rlc3QoKTsKQEAgLTU5LDcgKzU5LDcg
QEAgbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsIGZ1
bmN0aW9uKGV2ZW50KSB7CiAgIH0KIAogICBpZiAoc3RlcCA9PSAiU2Vjb25kQ2xpZW50UmVzdG9y
ZWRGcm9tUGFnZUNhY2hlIikgewotICAgIGlmICghY29udGFpbnNFeHBlY3RlZENsaWVudHMoZXZl
bnQuZGF0YSkpIHsKKyAgICBpZiAoIWNvbnRhaW5zRXhwZWN0ZWRDbGllbnRzKGV2ZW50LmRhdGEu
aWRzKSkgewogICAgICAgbG9nKCJGQUlMOiBXcm9uZyBudW1iZXIgb2YgY2xpZW50cyBhZnRlciBv
bmUgY2xpZW50IHdhcyByZXN0b3JlZCBmcm9tIHBhZ2UgY2FjaGUiKTsKICAgICAgIGZpbmlzaFNX
VGVzdCgpOwogICAgIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vy
cy9zZXJ2aWNlL2NsaWVudC1yZW1vdmVkLWZyb20tY2xpZW50cy13aGlsZS1pbi1wYWdlLWNhY2hl
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL2Ns
aWVudC1yZW1vdmVkLWZyb20tY2xpZW50cy13aGlsZS1pbi1wYWdlLWNhY2hlLWV4cGVjdGVkLnR4
dAppbmRleCAyYjcwNTE0YjFkZGZmODA4ZWZlMTM1NDNlNmUyNzNiNmFmMTU1YzExLi40MmQ4NTA4
NmI4MDJmYzRiYTZkNDUxMGQyN2U3OTM3YTgwMTQzYTU3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9jbGllbnQtcmVtb3ZlZC1mcm9tLWNsaWVudHMt
d2hpbGUtaW4tcGFnZS1jYWNoZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy93b3JrZXJzL3NlcnZpY2UvY2xpZW50LXJlbW92ZWQtZnJvbS1jbGllbnRzLXdoaWxlLWlu
LXBhZ2UtY2FjaGUtZXhwZWN0ZWQudHh0CkBAIC0xLDYgKzEsOCBAQAogKiBUZXN0cyB0aGF0IGEg
Y2xpZW50IGlzIHJlbW92ZWQgZnJvbSB0aGUgbGlzdCBvZiBzZXJ2aWNlIHdvcmtlciBjbGllbnRz
IHdoaWxlIGl0IGlzIGluIHRoZSBwYWdlIGNhY2hlCiAKLVBBU1M6IHNlcnZpY2Ugd29ya2VyIGhh
cyBpbml0aWFsbHkgMiBjbGllbnRzCitQQVNTOiBzZXJ2aWNlIHdvcmtlciBoYXMgaW5pdGlhbGx5
IDIgd2luZG93IGNsaWVudHMKK1BBU1M6IHNlcnZpY2Ugd29ya2VyIGhhcyBpbml0aWFsbHkgMiB3
b3JrZXIgY2xpZW50cwogUEFTUzogcGFnZSBpcyBhYm91dCB0byBlbnRlciBwYWdlIGNhY2hlCi1Q
QVNTOiBzZXJ2aWNlIHdvcmtlciBoYXMgb25seSAxIGNsaWVudCBhZnRlciAxIGVudGVyZWQgcGFn
ZSBjYWNoZQorUEFTUzogc2VydmljZSB3b3JrZXIgaGFzIG9ubHkgMSB3aW5kb3cgY2xpZW50IGFm
dGVyIDEgZW50ZXJlZCBwYWdlIGNhY2hlCitQQVNTOiBzZXJ2aWNlIHdvcmtlciBoYXMgb25seSAx
IHdvcmtlciBjbGllbnQgYWZ0ZXIgMSBlbnRlcmVkIHBhZ2UgY2FjaGUKIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvY2xpZW50LXJlbW92ZWQtZnJv
bS1jbGllbnRzLXdoaWxlLWluLXBhZ2UtY2FjaGUuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvd29ya2Vycy9zZXJ2aWNlL2NsaWVudC1yZW1vdmVkLWZyb20tY2xpZW50cy13aGlsZS1pbi1w
YWdlLWNhY2hlLmh0bWwKaW5kZXggNjhhOWZjNjI0OWY1MDUzNTI5NGRmNDM5NzUxYjUzN2RmOGI2
YjA2Ni4uZjA0YTgwNjM2ZmI2NzZjZTBjN2EzNmE5MTlkODE1NWI2NmQ0Y2I0NCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvY2xpZW50LXJlbW92ZWQt
ZnJvbS1jbGllbnRzLXdoaWxlLWluLXBhZ2UtY2FjaGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9jbGllbnQtcmVtb3ZlZC1mcm9tLWNsaWVudHMtd2hp
bGUtaW4tcGFnZS1jYWNoZS5odG1sCkBAIC05LDcgKzksNyBAQCBsb2coIiIpOwogCiBsZXQgdG9w
Q2xpZW50SWRlbnRpZmllciA9IG51bGw7CiBsZXQgd2luZG93Q2xpZW50SWRlbnRpZmllciA9IG51
bGw7Ci0KK2xldCBkZWRpY2F0ZWRXb3JrZXIgPSBudWxsOwogbGV0IHRyaWVzID0gMDsKIAogZnVu
Y3Rpb24gY29udGFpbnNCb3RoQ2xpZW50cyhjbGllbnRJZGVudGlmaWVycykKQEAgLTIzLDggKzIz
LDggQEAgZnVuY3Rpb24gY29udGFpbnNPbmx5VG9wQ2xpZW50KGNsaWVudElkZW50aWZpZXJzKQog
fQogCiBuYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwg
ZnVuY3Rpb24oZXZlbnQpIHsKLSAgaWYgKHN0ZXAgPT0gIkJvdGhDbGllbnRzSW5pdGlhbGx5QWN0
aXZlIikgewotICAgIGlmICghY29udGFpbnNCb3RoQ2xpZW50cyhldmVudC5kYXRhKSkgeworICBp
ZiAoc3RlcCA9PSAiQWxsQ2xpZW50c0luaXRpYWxseUFjdGl2ZSIpIHsKKyAgICBpZiAoIWNvbnRh
aW5zQm90aENsaWVudHMoZXZlbnQuZGF0YS5pZHMpICYmIGV2ZW50LmRhdGEud29ya2Vyc0NvdW50
ICE9PSAyKSB7CiAgICAgICBpZiAoKyt0cmllcyA+IDIwKSB7CiAgICAgICAgICAgbG9nKCJGQUlM
OiBXcm9uZyBpbml0aWFsIG51bWJlciBvZiBjbGllbnRzIik7CiAgICAgICAgICAgZmluaXNoU1dU
ZXN0KCk7CkBAIC0zMyw3ICszMyw4IEBAIG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLmFkZEV2ZW50
TGlzdGVuZXIoIm1lc3NhZ2UiLCBmdW5jdGlvbihldmVudCkgewogICAgICAgd29ya2VyLnBvc3RN
ZXNzYWdlKCJnZXRDbGllbnRJZHMiKTsKICAgICAgIHJldHVybjsKICAgICB9Ci0gICAgbG9nKCJQ
QVNTOiBzZXJ2aWNlIHdvcmtlciBoYXMgaW5pdGlhbGx5IDIgY2xpZW50cyIpOworICAgIGxvZygi
UEFTUzogc2VydmljZSB3b3JrZXIgaGFzIGluaXRpYWxseSAyIHdpbmRvdyBjbGllbnRzIik7Cisg
ICAgbG9nKCJQQVNTOiBzZXJ2aWNlIHdvcmtlciBoYXMgaW5pdGlhbGx5IDIgd29ya2VyIGNsaWVu
dHMiKTsKIAogICAgIG90aGVyV2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBhZ2VoaWRlIiwgZnVu
Y3Rpb24oZXZlbnQpIHsKICAgICAgICBpZiAoIWV2ZW50LnBlcnNpc3RlZCkgewpAQCAtNTQsMjgg
KzU1LDMxIEBAIG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLmFkZEV2ZW50TGlzdGVuZXIoIm1lc3Nh
Z2UiLCBmdW5jdGlvbihldmVudCkgewogICB9CiAKICAgaWYgKHN0ZXAgPT0gIk9ubHlPbmVDbGll
bnRSZW1haW5zQWN0aXZlIikgewotICAgIGlmICghY29udGFpbnNPbmx5VG9wQ2xpZW50KGV2ZW50
LmRhdGEpKSB7CisgICAgaWYgKCFjb250YWluc09ubHlUb3BDbGllbnQoZXZlbnQuZGF0YS5pZHMp
ICYmIGV2ZW50LmRhdGEud29ya2Vyc0NvdW50ICE9PSAxKSB7CiAgICAgICBsb2coIkZBSUw6IFdy
b25nIG51bWJlciBvZiBjbGllbnRzIGFmdGVyIG9uZSBjbGllbnQgZW50ZXJlZCBwYWdlIGNhY2hl
Iik7CiAgICAgICBmaW5pc2hTV1Rlc3QoKTsKICAgICB9CiAKLSAgICBsb2coIlBBU1M6IHNlcnZp
Y2Ugd29ya2VyIGhhcyBvbmx5IDEgY2xpZW50IGFmdGVyIDEgZW50ZXJlZCBwYWdlIGNhY2hlIik7
CisgICAgbG9nKCJQQVNTOiBzZXJ2aWNlIHdvcmtlciBoYXMgb25seSAxIHdpbmRvdyBjbGllbnQg
YWZ0ZXIgMSBlbnRlcmVkIHBhZ2UgY2FjaGUiKTsKKyAgICBsb2coIlBBU1M6IHNlcnZpY2Ugd29y
a2VyIGhhcyBvbmx5IDEgd29ya2VyIGNsaWVudCBhZnRlciAxIGVudGVyZWQgcGFnZSBjYWNoZSIp
OwogICAgIGZpbmlzaFNXVGVzdCgpOwogICB9CiB9KTsKIAotbmF2aWdhdG9yLnNlcnZpY2VXb3Jr
ZXIucmVnaXN0ZXIoInJlc291cmNlcy9nZXRDbGllbnRJZHMtd29ya2VyLmpzIiwgeyB9KS50aGVu
KGZ1bmN0aW9uKHJlZ2lzdHJhdGlvbikgeworbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIucmVnaXN0
ZXIoInJlc291cmNlcy9nZXRDbGllbnRJZHMtd29ya2VyLmpzIiwgeyB9KS50aGVuKGFzeW5jIChy
ZWdpc3RyYXRpb24pID0+IHsKICAgICBpZiAoIXdpbmRvdy5pbnRlcm5hbHMpCiAgICAgICAgIHJl
dHVybjsKICAgICB0b3BDbGllbnRJZGVudGlmaWVyID0gaW50ZXJuYWxzLnNlcnZpY2VXb3JrZXJD
bGllbnRJbnRlcm5hbElkZW50aWZpZXIoZG9jdW1lbnQpOwogCiAgICAgd29ya2VyID0gcmVnaXN0
cmF0aW9uLmluc3RhbGxpbmc7CisKKyAgICBkZWRpY2F0ZWRXb3JrZXIgPSBuZXcgV29ya2VyKCJv
dGhlcl9yZXNvdXJjZXMvZHVtbXkuanMiKTsKKwogICAgIG90aGVyV2luZG93ID0gb3Blbigib3Ro
ZXJfcmVzb3VyY2VzL3Rlc3QuaHRtbCIpOwotICAgIG90aGVyV2luZG93Lm9ubG9hZCA9IGZ1bmN0
aW9uKCkgewotICAgICAgd2luZG93Q2xpZW50SWRlbnRpZmllciA9IGludGVybmFscy5zZXJ2aWNl
V29ya2VyQ2xpZW50SW50ZXJuYWxJZGVudGlmaWVyKG90aGVyV2luZG93LmRvY3VtZW50KTsKLSAg
ICAgIHN0ZXAgPSAiQm90aENsaWVudHNJbml0aWFsbHlBY3RpdmUiCi0gICAgICB3b3JrZXIucG9z
dE1lc3NhZ2UoImdldENsaWVudElkcyIpOwotICAgIH07CisgICAgYXdhaXQgbmV3IFByb21pc2Uo
cmVzb2x2ZSA9PiBvdGhlcldpbmRvdy5vbmxvYWQgPSByZXNvbHZlKTsKKyAgICB3aW5kb3dDbGll
bnRJZGVudGlmaWVyID0gaW50ZXJuYWxzLnNlcnZpY2VXb3JrZXJDbGllbnRJbnRlcm5hbElkZW50
aWZpZXIob3RoZXJXaW5kb3cuZG9jdW1lbnQpOworICAgIHN0ZXAgPSAiQWxsQ2xpZW50c0luaXRp
YWxseUFjdGl2ZSIKKyAgICB3b3JrZXIucG9zdE1lc3NhZ2UoImdldENsaWVudElkcyIpOwogfSk7
CiA8L3NjcmlwdD4KIDwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
d29ya2Vycy9zZXJ2aWNlL290aGVyX3Jlc291cmNlcy9kdW1teS5qcyBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL290aGVyX3Jlc291cmNlcy9kdW1teS5qcwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5lNjlkZTI5YmIyZDFkNjQzNGI4YjI5YWU3NzVhZDhjMmU0OGM1MzkxCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9vdGhlcl9yZXNvdXJjZXMv
dGVzdC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2Uvb3RoZXJf
cmVzb3VyY2VzL3Rlc3QuaHRtbAppbmRleCAyYTAyZDQxY2UyMTMyM2IxY2RjMjI4Yzc4Y2VjMmY4
MWMwNTRiZDM0Li4wZGQ3YmIzNmM5Y2I4NTYzZjg1YzM3NGE0NTVlMjY5ZGQ2ZTJmMmZhIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9vdGhlcl9yZXNv
dXJjZXMvdGVzdC5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2
aWNlL290aGVyX3Jlc291cmNlcy90ZXN0Lmh0bWwKQEAgLTEgKzEsOSBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxib2R5PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9zdy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgordmFyIGRlZGljYXRlZFdvcmtlciA9IG5ldyBXb3JrZXIo
ImR1bW15LmpzIik7Cis8L3NjcmlwdD4KIFRFU1QKKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL3Jlc291cmNlcy9nZXRDbGllbnRJZHMt
d29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvcmVzb3Vy
Y2VzL2dldENsaWVudElkcy13b3JrZXIuanMKaW5kZXggY2UxOWIyNGY4MDgwNGRhMGY1NTE3OTNh
ZGE3YWZlNjdlZmUwNGNjNC4uZmMwNTY2MzIwOWI2MDk5MGZhNmM3NTZlMmQyMDNkOGY0YzMxN2Ni
NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvcmVz
b3VyY2VzL2dldENsaWVudElkcy13b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93b3JrZXJzL3NlcnZpY2UvcmVzb3VyY2VzL2dldENsaWVudElkcy13b3JrZXIuanMKQEAgLTEs
OSArMSwxMiBAQAotc2VsZi5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwgKGV2ZW50KSA9PiB7
CitzZWxmLmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLCBhc3luYyAoZXZlbnQpID0+IHsKICAg
ICBzb3VyY2UgPSBldmVudC5zb3VyY2U7Ci0gICAgY2xpZW50cy5tYXRjaEFsbCh7IGluY2x1ZGVV
bmNvbnRyb2xsZWQgOiB0cnVlIH0pLnRoZW4oZnVuY3Rpb24oY2xpZW50cykgewotICAgICAgICBs
ZXQgaWRzID0gW107Ci0gICAgICAgIGZvciAobGV0IGNsaWVudCBvZiBjbGllbnRzKQotICAgICAg
ICAgICAgaWRzLnB1c2goc2VsZi5pbnRlcm5hbHMuc2VydmljZVdvcmtlckNsaWVudEludGVybmFs
SWRlbnRpZmllcihjbGllbnQpKTsKLSAgICAgICAgc291cmNlLnBvc3RNZXNzYWdlKGlkcyk7Ci0g
ICAgfSk7CisgICAgY29uc3QgbWF0Y2hlZENsaWVudHMgPSBhd2FpdCBjbGllbnRzLm1hdGNoQWxs
KHsgaW5jbHVkZVVuY29udHJvbGxlZCA6IHRydWUsIHR5cGU6ICdhbGwnIH0pCisgICAgbGV0IGRh
dGEgPSB7IGlkczogW10sIHdvcmtlckNvdW50OiAwIH07CisgICAgZm9yIChsZXQgY2xpZW50IG9m
IG1hdGNoZWRDbGllbnRzKSB7CisgICAgICAgIGlmIChjbGllbnQudHlwZSA9PT0gJ3dvcmtlcicp
CisgICAgICAgICAgICBkYXRhLndvcmtlckNvdW50Kys7CisgICAgICAgIGVsc2UKKyAgICAgICAg
ICAgIGRhdGEuaWRzLnB1c2goc2VsZi5pbnRlcm5hbHMuc2VydmljZVdvcmtlckNsaWVudEludGVy
bmFsSWRlbnRpZmllcihjbGllbnQpKTsKKyAgICB9CisgICAgc291cmNlLnBvc3RNZXNzYWdlKGRh
dGEpOwogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtl
cnMvYWJvdXQtYmxhbmstaWZyYW1lLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0
L3NlcnZpY2Utd29ya2Vycy9hYm91dC1ibGFuay1pZnJhbWUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjJjMWE2NmQ4N2U3YzgyYTc5YTlkY2QyOGNmODdmNDU0Mjk1YWU4NjIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvYWJvdXQtYmxhbmst
aWZyYW1lLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKKworUEFTUyBzZXR1cAorUEFTUyBw
b3N0IG1lc3NhZ2luZyBmcm9tIGFuIGlmcmFtZQorUEFTUyByZW1vdmUgaWZyYW1lCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9hYm91dC1ibGFuay1p
ZnJhbWUtd29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvc2VydmljZS13b3JrZXJzL2Fi
b3V0LWJsYW5rLWlmcmFtZS13b3JrZXIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIwMjY4MjVjNDc0YmRkZjMz
NjIxOGFmZWU4ZDg5Nzg5ZjljOTQ0NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0
dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9hYm91dC1ibGFuay1pZnJhbWUtd29ya2VyLmpzCkBAIC0w
LDAgKzEsNCBAQAorYWRkRXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIGFzeW5jIGV2ZW50ID0+IHsK
KyAgICBjb25zdCBjbGllbnRzID0gYXdhaXQgc2VsZi5jbGllbnRzLm1hdGNoQWxsKHsgaW5jbHVk
ZVVuY29udHJvbGxlZCA6IHRydWUgfSk7CisgICAgY2xpZW50cy5mb3JFYWNoKGNsaWVudCA9PiBj
bGllbnQucG9zdE1lc3NhZ2UoZXZlbnQuZGF0YSkpOworfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvYWJvdXQtYmxhbmstaWZyYW1lLmh0bWwgYi9M
YXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvYWJvdXQtYmxhbmstaWZyYW1lLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYjEzODExZThiNjEwZWIzYzU1MzlhMWRhMDU5M2MwNzBkYmQ0NzYyOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9h
Ym91dC1ibGFuay1pZnJhbWUuaHRtbApAQCAtMCwwICsxLDQ0IEBACis8aHRtbD4KKzxoZWFkPgor
PHRpdGxlPlNlcnZpY2UgV29ya2VyIEZldGNoIEV2ZW50PC90aXRsZT4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGlm
cmFtZSBpZD0nbXlmcmFtZSc+PC9pZnJhbWU+Cis8c2NyaXB0PgorcHJvbWlzZV90ZXN0KGFzeW5j
ICgpID0+IHsKKyAgICBjb25zdCBwcm9taXNlID0gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB3aW5k
b3cucmVzb2x2ZUNhbGxiYWNrID0gcmVzb2x2ZSk7CisgICAgbXlmcmFtZS5jb250ZW50RG9jdW1l
bnQud3JpdGUoYAorICAgIDxib2R5PgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAgbmF2
aWdhdG9yLnNlcnZpY2VXb3JrZXIucmVnaXN0ZXIoJ2Fib3V0LWJsYW5rLWlmcmFtZS13b3JrZXIu
anMnKS50aGVuKHJlZ2lzdHJhdGlvbiA9PiB7CisgICAgICAgICAgICAgICAgd2luZG93Lndvcmtl
ciA9IHJlZ2lzdHJhdGlvbi5hY3RpdmUgPyByZWdpc3RyYXRpb24uYWN0aXZlIDogcmVnaXN0cmF0
aW9uLmluc3RhbGxpbmc7CisgICAgICAgICAgICAgICAgcGFyZW50LnJlc29sdmVDYWxsYmFjaygp
OworICAgICAgICAgICAgfSk7CisgICAgICAgIDwvJHsnc2NyaXB0J30+CisgICAgPC9ib2R5PmAp
OworICAgIHJldHVybiBwcm9taXNlOworfSwgInNldHVwIik7CisKK3Byb21pc2VfdGVzdChhc3lu
YyAoKSA9PiB7CisgICAgY29uc3QgcHJvbWlzZSA9IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWpl
Y3QpID0+IHsKKyAgICAgICAgbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIuYWRkRXZlbnRMaXN0ZW5l
cigibWVzc2FnZSIsIChldmVudCkgPT4geworICAgICAgICAgICAgcmVzb2x2ZShldmVudC5kYXRh
KTsKKyAgICAgICAgfSk7CisgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gcmVqZWN0KCJObyByZXNw
b25zZSBtZXNzYWdlIGZyb20gc2VydmljZSB3b3JrZXIiKSwgNTAwMCk7CisgICAgfSk7CisKKyAg
ICBteWZyYW1lLmNvbnRlbnRXaW5kb3cud29ya2VyLnBvc3RNZXNzYWdlKCJoZWxsbyIpOworICAg
IGFzc2VydF9lcXVhbHMoYXdhaXQgcHJvbWlzZSwgImhlbGxvIik7Cit9LCAicG9zdCBtZXNzYWdp
bmcgZnJvbSBhbiBpZnJhbWUiKTsKKworcHJvbWlzZV90ZXN0KGFzeW5jICgpID0+IHsKKyAgICBj
b25zdCByZWdpc3RyYXRpb25zID0gYXdhaXQgbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIuZ2V0UmVn
aXN0cmF0aW9ucygpOworICAgIGZvciAobGV0IHJlZ2lzdHJhdGlvbiBvZiByZWdpc3RyYXRpb25z
KQorICAgICAgICBhd2FpdCByZWdpc3RyYXRpb24udW5yZWdpc3RlcigpOworICAgIG15ZnJhbWUu
cmVtb3ZlKCk7Cit9LCAicmVtb3ZlIGlmcmFtZSIpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9hYm91dC1ibGFuay1yZXBsYWNlbWVu
dC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9hYm91dC1ibGFuay1yZXBs
YWNlbWVudC5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggZmMwYThhZjVhODg1YTgyMzYwZmQ2OGU3
N2UwNjBlODA3M2VlYzU1Ny4uNTQxNjk5MzFhZWJjOGM0ZDBmOGIwODU5YzkxNzY1Mjc2MTcwN2U2
YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvYWJvdXQtYmxhbmstcmVwbGFjZW1lbnQu
aHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2Fib3V0LWJsYW5rLXJl
cGxhY2VtZW50Lmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtNSw3ICs1LDcgQEAgRkFJTCBJbml0aWFs
IGFib3V0OmJsYW5rIGlzIGNvbnRyb2xsZWQsIGV4cG9zZWQgdG8gY2xpZW50cy5tYXRjaEFsbCgp
LCBhbmQgbWF0Y2gKIEZBSUwgSW5pdGlhbCBhYm91dDpibGFuayBtb2RpZmllZCBieSBwYXJlbnQg
aXMgY29udHJvbGxlZCwgZXhwb3NlZCB0byBjbGllbnRzLm1hdGNoQWxsKCksIGFuZCBtYXRjaGVz
IGZpbmFsIENsaWVudC4gYXNzZXJ0X2ZhbHNlOiByZXN1bHQ6IGZhaWx1cmU6IGNvdWxkIG5vdCBm
aW5kIGFib3V0OmJsYW5rIGNsaWVudCBleHBlY3RlZCBmYWxzZSBnb3QgdHJ1ZQogRkFJTCBQb3B1
cCBpbml0aWFsIGFib3V0OmJsYW5rIGlzIGNvbnRyb2xsZWQsIGV4cG9zZWQgdG8gY2xpZW50cy5t
YXRjaEFsbCgpLCBhbmQgbWF0Y2hlcyBmaW5hbCBDbGllbnQuIGFzc2VydF9mYWxzZTogcmVzdWx0
OiBmYWlsdXJlOiBjb3VsZCBub3QgZmluZCBhYm91dDpibGFuayBjbGllbnQgZXhwZWN0ZWQgZmFs
c2UgZ290IHRydWUKIFBBU1MgSW5pdGlhbCBhYm91dDpibGFuayBpcyBjb250cm9sbGVkLCBleHBv
c2VkIHRvIGNsaWVudHMubWF0Y2hBbGwoKSwgYW5kIGZpbmFsIENsaWVudCBpcyBub3QgY29udHJv
bGxlZCBieSBhIHNlcnZpY2Ugd29ya2VyLgotRkFJTCBTaW1wbGUgYWJvdXQ6YmxhbmsgaXMgY29u
dHJvbGxlZCBhbmQgaXMgZXhwb3NlZCB0byBjbGllbnRzLm1hdGNoQWxsKCkuIGFzc2VydF9mYWxz
ZTogcmVzdWx0OiBmYWlsdXJlOiBjb3VsZCBub3QgZmluZCBhYm91dDpibGFuayBjbGllbnQgZXhw
ZWN0ZWQgZmFsc2UgZ290IHRydWUKLUZBSUwgTmVzdGVkIGFib3V0OnNyY2RvYyBpcyBjb250cm9s
bGVkIGFuZCBpcyBleHBvc2VkIHRvIGNsaWVudHMubWF0Y2hBbGwoKS4gYXNzZXJ0X2ZhbHNlOiBy
ZXN1bHQ6IGZhaWx1cmU6IGNvdWxkIG5vdCBmaW5kIGFib3V0OnNyY2RvYyBjbGllbnQgZXhwZWN0
ZWQgZmFsc2UgZ290IHRydWUKLUZBSUwgRHluYW1pYyBhYm91dDpibGFuayBpcyBjb250cm9sbGVk
IGFuZCBpcyBleHBvc2VkIHRvIGNsaWVudHMubWF0Y2hBbGwoKS4gYXNzZXJ0X2ZhbHNlOiByZXN1
bHQ6IGZhaWx1cmU6IGNvdWxkIG5vdCBmaW5kIGFib3V0OmJsYW5rIGNsaWVudCBleHBlY3RlZCBm
YWxzZSBnb3QgdHJ1ZQorUEFTUyBTaW1wbGUgYWJvdXQ6YmxhbmsgaXMgY29udHJvbGxlZCBhbmQg
aXMgZXhwb3NlZCB0byBjbGllbnRzLm1hdGNoQWxsKCkuCitQQVNTIE5lc3RlZCBhYm91dDpzcmNk
b2MgaXMgY29udHJvbGxlZCBhbmQgaXMgZXhwb3NlZCB0byBjbGllbnRzLm1hdGNoQWxsKCkuCitQ
QVNTIER5bmFtaWMgYWJvdXQ6YmxhbmsgaXMgY29udHJvbGxlZCBhbmQgaXMgZXhwb3NlZCB0byBj
bGllbnRzLm1hdGNoQWxsKCkuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NsaWVu
dC11cmwtb2YtYmxvYi11cmwtd29ya2VyLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL2NsaWVudC11cmwtb2YtYmxvYi11cmwtd29ya2VyLmh0dHBzLWV4cGVjdGVkLnR4dApp
bmRleCA0ZjdhN2MxODkyNTY4ZjhlNzU0ZWE5Y2M5MmIzZGJkYWZhNzc3ZGRkLi4wNjA4YzA0MTgx
NDBlZTEyZjViNTI4MTZjNGRmZDdjNzBmZmViMGRhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9jbGllbnQtdXJsLW9mLWJsb2ItdXJsLXdvcmtlci5odHRwcy1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvY2xpZW50LXVybC1vZi1ibG9iLXVybC13b3JrZXIuaHR0cHMt
ZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlMIENsaWVudC51cmwgb2YgYSBibG9i
IFVSTCB3b3JrZXIgc2hvdWxkIGJlIGEgYmxvYiBVUkwuIGFzc2VydF9ub3RfZXF1YWxzOiB3b3Jr
ZXIgY2xpZW50IHNob3VsZCBleGlzdCBnb3QgZGlzYWxsb3dlZCB2YWx1ZSAib25lIHdvcmtlciBj
bGllbnQgc2hvdWxkIGV4aXN0IgorUEFTUyBDbGllbnQudXJsIG9mIGEgYmxvYiBVUkwgd29ya2Vy
IHNob3VsZCBiZSBhIGJsb2IgVVJMLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9j
bGllbnRzLW1hdGNoYWxsLWJsb2ItdXJsLXdvcmtlci5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9jbGllbnRzLW1hdGNoYWxsLWJsb2ItdXJsLXdvcmtlci5odHRwcy1leHBl
Y3RlZC50eHQKaW5kZXggODM2YmFmYWY2ODQyOWUxMWY5M2I0OGEzNTNkM2FmZGIyZDlmMTg1Zi4u
N2JkYzkzYjRjMWMzNjg5MzU3OTU5Mjg1MTBlMDI3M2Y0NmU3ZWQzYSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvY2xpZW50cy1tYXRjaGFsbC1ibG9iLXVybC13b3JrZXIuaHR0cHMtZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NsaWVudHMtbWF0Y2hhbGwtYmxvYi11
cmwtd29ya2VyLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKIAotRkFJTCBUZXN0
IENsaWVudHMubWF0Y2hBbGwoKSB3aXRoIGEgYmxvYiBVUkwgd29ya2VyIGNsaWVudC4gYXNzZXJ0
X2VxdWFsczogZXhwZWN0ZWQgMSBidXQgZ290IDAKLUZBSUwgVGVzdCBDbGllbnRzLm1hdGNoQWxs
KCkgd2l0aCBhbiB1bmNvbnRyb2xsZWQgYmxvYiBVUkwgd29ya2VyIGNsaWVudC4gYXNzZXJ0X2Vx
dWFsczogZXhwZWN0ZWQgMSBidXQgZ290IDAKK1BBU1MgVGVzdCBDbGllbnRzLm1hdGNoQWxsKCkg
d2l0aCBhIGJsb2IgVVJMIHdvcmtlciBjbGllbnQuCitQQVNTIFRlc3QgQ2xpZW50cy5tYXRjaEFs
bCgpIHdpdGggYW4gdW5jb250cm9sbGVkIGJsb2IgVVJMIHdvcmtlciBjbGllbnQuCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>457681</attachid>
            <date>2022-04-15 00:44:14 -0700</date>
            <delta_ts>2022-04-15 01:56:16 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-213984-20220415094410.patch</filename>
            <type>text/plain</type>
            <size>42831</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyODU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGI4NGFkYjE3NDRjNDU1
ZjllZTJjNDM3YjJjNjZmNDA0ZDVlNzUwOC4uOWFhOWExMzhiYmIwNDMwNGM4OTFlZThjNjU3NGNh
YjZlZTIwZGE4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDIyLTA0LTE1ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBTZXJ2aWNlV29ya2VyLnBv
c3RNZXNzYWdlKCkgZG9lc24ndCB3b3JrIGZyb20gaW5zaWRlIGlmcmFtZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEzOTg0CisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS82NTIwMzM0MD4KKworICAgICAgICBSZXZpZXdlZCBieSBDaHJpcyBEdW1lei4K
KworICAgICAgICBwb3N0TWVzc2FnZSB3YXMgbm90IHdvcmtpbmcgYXMgd2UgZG8gbm90IHBvc3RN
ZXNzYWdlIHRvIGEgc2VydmljZSB3b3JrZXIgaWYgdGhlIHNvdXJjZSBpcyBub3QgcmVnaXN0ZXJl
ZC4KKyAgICAgICAgV2Ugbm93IHJlZ2lzdGVyIHNlcnZpY2Ugd29ya2VyIGNsaWVudHMgbW9yZSBh
Z2dyZXNpdmVseSBhbmQgcGFzcyB0aGUgY2xpZW50IG9yaWdpbiB0byBiZXR0ZXIgaGFuZGxlIGJs
b2IgYW5kIGFib3V0OmJsYW5rIGNsaWVudHMuCisgICAgICAgIFdlIGFsc28gYWRkIHN1cHBvcnQg
Zm9yIHJlZ2lzdGVyaW5nL3VucmVnaXN0ZXJpbmcgd29ya2VyIGNsaWVudHMgd2hlbiB0aGV5IGdl
dCBzdXNwZW5kZWQvcmVzdW1lZC4KKyAgICAgICAgVG8gbWFrZSBzdXJlIGEgd29ya2VyIGNsaWVu
dCBpcyByZW1vdmVkIGluIGZhaWx1cmUgY2FzZSwgV29ya2VyU2NyaXB0TG9hZGVyIGlzIHVucmVn
aXN0ZXJpbmcgdGhlIHNlcnZpY2Ugd29ya2VyIGNsaWVudCBpZgorICAgICAgICB0aGUgc2Vydmlj
ZSB3b3JrZXIgZGF0YSB3YXMgbm90IHRha2VuIGJ5IGl0cyBXb3JrZXIuCisKKyAgICAgICAgVGVz
dDogaHR0cC93cHQvc2VydmljZS13b3JrZXJzL2Fib3V0LWJsYW5rLWlmcmFtZS5odG1sCisKKyAg
ICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAqIGxvYWRlci9Eb2N1bWVudExvYWRl
ci5jcHA6CisgICAgICAgICogd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJUaHJlYWQuY3BwOgorICAg
ICAgICAqIHdvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwOgorICAgICAgICAqIHdvcmtlcnMv
V29ya2VyR2xvYmFsU2NvcGUuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlclNjcmlwdExvYWRl
ci5jcHA6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NXQ2xpZW50Q29ubmVjdGlvbi5oOgor
ICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9Xb3JrZXJTV0NsaWVudENvbm5lY3Rpb24uY3BwOgor
ICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9Xb3JrZXJTV0NsaWVudENvbm5lY3Rpb24uaDoKKwog
MjAyMi0wNC0xMyAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAg
RXhwb3NlIHdvcmtlcnMgYXMgc2VydmljZSB3b3JrZXIgY2xpZW50cyBhbmQgaW1wbGVtZW50IHJl
Z2lzdHJhdGlvbiBtYXRjaGluZyBmb3IgZGVkaWNhdGVkIHdvcmtlcnMKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggMzE5
NjEwZWM5M2Y4YzIyMGYwZDgzY2RjNmRiNTUwZTUzNjcyMjZkZi4uOGFhZDAzMjk4YmJiMjdmOGFk
YzNjMTY0Zjk5Y2I3NjdiZWRjNWI2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAyMi0w
NC0xNSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgU2Vydmlj
ZVdvcmtlci5wb3N0TWVzc2FnZSgpIGRvZXNuJ3Qgd29yayBmcm9tIGluc2lkZSBpZnJhbWUKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMzk4NAorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vNjUyMDMzNDA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQ2hy
aXMgRHVtZXouCisKKyAgICAgICAgUGFzcyB0aGUgZnVsbCBDbGllbnRPcmlnaW4gd2hlbiByZWdp
c3RlcmluZyBhIHNlcnZpY2Ugd29ya2VyIGNsaWVudC4KKyAgICAgICAgRmlsdGVyIG91dCBjbGll
bnRzIHRoYXQgY2Fubm90IGJlIG1hdGNoZWQ6CisgICAgICAgIC0gbm9uIEhUVFAvYmxvYi9hYm91
dDpibGFuayBjbGllbnRzCisgICAgICAgIC0gc2FuZGJveGVkIEhUVFAgY2xpZW50cworCisgICAg
ICAgICogTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24u
Y3BwOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJD
b25uZWN0aW9uLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9XZWJT
V1NlcnZlckNvbm5lY3Rpb24ubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9TdG9y
YWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9TdG9y
YWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5oOgorCiAyMDIyLTA0LTEzICBZb3Vlbm4gRmFibGV0
ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBFeHBvc2Ugd29ya2VycyBhcyBzZXJ2aWNl
IHdvcmtlciBjbGllbnRzIGFuZCBpbXBsZW1lbnQgcmVnaXN0cmF0aW9uIG1hdGNoaW5nIGZvciBk
ZWRpY2F0ZWQgd29ya2VycwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggZTNkYjVkNmEyZmFi
Njc0YmZiNmFiMzcyMWQ2MDkyNDE3ZjVkYTI2OS4uZjY0NDk5NGExY2Y2MzEyZGZjZGEyNDgyNTU3
YzgwZGNiMWJhYzJhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC04Nzc4LDcgKzg3Nzgs
NyBAQCB2b2lkIERvY3VtZW50Ojp1cGRhdGVTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSgpCiAgICAg
ICAgIHJldHVybjsKIAogICAgIGF1dG8gY29udHJvbGxpbmdTZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uSWRlbnRpZmllciA9IGFjdGl2ZVNlcnZpY2VXb3JrZXIoKSA/IHN0ZDo6bWFrZV9vcHRpb25h
bDxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcj4oYWN0aXZlU2VydmljZVdvcmtl
cigpLT5yZWdpc3RyYXRpb25JZGVudGlmaWVyKCkpIDogc3RkOjpudWxsb3B0OwotICAgIG1fc2Vy
dmljZVdvcmtlckNvbm5lY3Rpb24tPnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudCh0b3BPcmln
aW4oKSwgU2VydmljZVdvcmtlckNsaWVudERhdGE6OmZyb20oKnRoaXMpLCBjb250cm9sbGluZ1Nl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyLCB1c2VyQWdlbnQodXJsKCkpKTsKKyAg
ICBtX3NlcnZpY2VXb3JrZXJDb25uZWN0aW9uLT5yZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQo
Y2xpZW50T3JpZ2luKCksIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhOjpmcm9tKCp0aGlzKSwgY29u
dHJvbGxpbmdTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciwgdXNlckFnZW50KHVy
bCgpKSk7CiB9CiAKIHZvaWQgRG9jdW1lbnQ6Om5hdmlnYXRlRnJvbVNlcnZpY2VXb3JrZXIoY29u
c3QgVVJMJiB1cmwsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYgY2FsbGJhY2spCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcAppbmRleCA0MTY5N2Y1MzBmMWVl
Y2FkMGMyN2YzYTRlZTJkYzkwOTNmNzAyMjViLi43ZjM5MWJmNDQ2NmNlN2QzMDY3OWQ2ZjQ0MGU0
M2JiZmIwNjVkMzkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRM
b2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAK
QEAgLTEyNTksNyArMTI1OSw3IEBAIHZvaWQgRG9jdW1lbnRMb2FkZXI6OmNvbW1pdERhdGEoY29u
c3QgU2hhcmVkQnVmZmVyJiBkYXRhKQogICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5jcmVh
dGVOZXdJZGVudGlmaWVyKCk7CiAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIGlmIChtX2Zy
YW1lLT5kb2N1bWVudCgpLT5hY3RpdmVTZXJ2aWNlV29ya2VyKCkgfHwgZG9jdW1lbnQudXJsKCku
cHJvdG9jb2xJc0luSFRUUEZhbWlseSgpIHx8IChkb2N1bWVudC5wYWdlKCkgJiYgZG9jdW1lbnQu
cGFnZSgpLT5pc1NlcnZpY2VXb3JrZXJQYWdlKCkpKQorICAgICAgICAgICAgaWYgKG1fZnJhbWUt
PmRvY3VtZW50KCktPmFjdGl2ZVNlcnZpY2VXb3JrZXIoKSB8fCBkb2N1bWVudC51cmwoKS5wcm90
b2NvbElzSW5IVFRQRmFtaWx5KCkgfHwgKGRvY3VtZW50LnBhZ2UoKSAmJiBkb2N1bWVudC5wYWdl
KCktPmlzU2VydmljZVdvcmtlclBhZ2UoKSkgfHwgKGRvY3VtZW50LnBhcmVudERvY3VtZW50KCkg
JiYgc2hvdWxkVXNlQWN0aXZlU2VydmljZVdvcmtlckZyb21QYXJlbnQoZG9jdW1lbnQsICpkb2N1
bWVudC5wYXJlbnREb2N1bWVudCgpKSkpCiAgICAgICAgICAgICAgICAgZG9jdW1lbnQuc2V0U2Vy
dmljZVdvcmtlckNvbm5lY3Rpb24oJlNlcnZpY2VXb3JrZXJQcm92aWRlcjo6c2luZ2xldG9uKCku
c2VydmljZVdvcmtlckNvbm5lY3Rpb24oKSk7CiAKICAgICAgICAgICAgIGlmIChtX3Jlc3VsdGlu
Z0NsaWVudElkKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRl
ZFdvcmtlclRocmVhZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtl
clRocmVhZC5jcHAKaW5kZXggNzUwMzMyYjNkZTVlZGZkMmVlNzc1NjUwMTVmN2I4NmUxZjViYzZh
My4uMmY1Mjk3YzlmMDlmOGQwZjJmNTEwZDUyNTJiOTE0ODliYTE4YjQwYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJUaHJlYWQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyVGhyZWFkLmNwcApAQCAtNTIsNiAr
NTIsNyBAQCBSZWY8V29ya2VyR2xvYmFsU2NvcGU+IERlZGljYXRlZFdvcmtlclRocmVhZDo6Y3Jl
YXRlV29ya2VyR2xvYmFsU2NvcGUoY29uc3QgV29yawogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktF
UikKICAgICBpZiAocGFyYW1zLnNlcnZpY2VXb3JrZXJEYXRhKQogICAgICAgICBzY29wZS0+c2V0
QWN0aXZlU2VydmljZVdvcmtlcihTZXJ2aWNlV29ya2VyOjpnZXRPckNyZWF0ZShzY29wZS5nZXQo
KSwgU2VydmljZVdvcmtlckRhdGEgeyAqcGFyYW1zLnNlcnZpY2VXb3JrZXJEYXRhIH0pKTsKKyAg
ICBzY29wZS0+dXBkYXRlU2VydmljZVdvcmtlckNsaWVudERhdGEoKTsKICNlbmRpZgogICAgIHJl
dHVybiBzY29wZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
R2xvYmFsU2NvcGUuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29w
ZS5jcHAKaW5kZXggYWM0ZGU0YjdjMGVkZDQ5NWYwYzA0NTQyNjY2ZmI4MjYyNzA1ZTQ5MS4uNmM3
MzU5OWVjOTM0MjIxYjg2NjBlNTlhOTI3M2JmNjNkYzNmZjkwNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHAKQEAgLTE1MSw2ICsxNTEsMTAgQEAgdm9p
ZCBXb3JrZXJHbG9iYWxTY29wZTo6cHJlcGFyZUZvckRlc3RydWN0aW9uKCkKIHsKICAgICBXb3Jr
ZXJPcldvcmtsZXRHbG9iYWxTY29wZTo6cHJlcGFyZUZvckRlc3RydWN0aW9uKCk7CiAKKyNpZiBF
TkFCTEUoU0VSVklDRV9XT1JLRVIpCisgICAgc3dDbGllbnRDb25uZWN0aW9uKCkudW5yZWdpc3Rl
clNlcnZpY2VXb3JrZXJDbGllbnQoaWRlbnRpZmllcigpKTsKKyNlbmRpZgorCiAgICAgc3RvcElu
ZGV4ZWREYXRhYmFzZSgpOwogCiAgICAgaWYgKG1fY2FjaGVTdG9yYWdlQ29ubmVjdGlvbikKQEAg
LTIyOSwxMCArMjMzLDE4IEBAIHZvaWQgV29ya2VyR2xvYmFsU2NvcGU6OnN1c3BlbmQoKQogewog
ICAgIGlmIChtX2Nvbm5lY3Rpb25Qcm94eSkKICAgICAgICAgbV9jb25uZWN0aW9uUHJveHktPnNl
dENvbnRleHRTdXNwZW5kZWQoKnRoaXMsIHRydWUpOworCisjaWYgRU5BQkxFKFNFUlZJQ0VfV09S
S0VSKQorICAgIHN3Q2xpZW50Q29ubmVjdGlvbigpLnVucmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xp
ZW50KGlkZW50aWZpZXIoKSk7CisjZW5kaWYKIH0KIAogdm9pZCBXb3JrZXJHbG9iYWxTY29wZTo6
cmVzdW1lKCkKIHsKKyNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCisgICAgdXBkYXRlU2Vydmlj
ZVdvcmtlckNsaWVudERhdGEoKTsKKyNlbmRpZgorCiAgICAgaWYgKG1fY29ubmVjdGlvblByb3h5
KQogICAgICAgICBtX2Nvbm5lY3Rpb25Qcm94eS0+c2V0Q29udGV4dFN1c3BlbmRlZCgqdGhpcywg
ZmFsc2UpOwogfQpAQCAtNjU3LDEwICs2NjksMTIgQEAgdm9pZCBXb3JrZXJHbG9iYWxTY29wZTo6
dXBkYXRlU291cmNlUHJvdmlkZXJCdWZmZXJzKGNvbnN0IFNjcmlwdEJ1ZmZlciYgbWFpblNjcmkK
ICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCiB2b2lkIFdvcmtlckdsb2JhbFNjb3BlOjp1cGRh
dGVTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSgpCiB7Ci0gICAgQVNTRVJUKHR5cGUoKSA9PSBXZWJD
b3JlOjpXb3JrZXJHbG9iYWxTY29wZTo6VHlwZTo6RGVkaWNhdGVkV29ya2VyKTsKKyAgICBpZiAo
IXNldHRpbmdzVmFsdWVzKCkuc2VydmljZVdvcmtlcnNFbmFibGVkKQorICAgICAgICByZXR1cm47
CisKKyAgICBBU1NFUlQodHlwZSgpID09IFdlYkNvcmU6Oldvcmtlckdsb2JhbFNjb3BlOjpUeXBl
OjpEZWRpY2F0ZWRXb3JrZXIgfHwgdHlwZSgpID09IFdlYkNvcmU6Oldvcmtlckdsb2JhbFNjb3Bl
OjpUeXBlOjpTaGFyZWRXb3JrZXIpOwogICAgIGF1dG8gY29udHJvbGxpbmdTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uSWRlbnRpZmllciA9IGFjdGl2ZVNlcnZpY2VXb3JrZXIoKSA/IHN0ZDo6bWFr
ZV9vcHRpb25hbDxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcj4oYWN0aXZlU2Vy
dmljZVdvcmtlcigpLT5yZWdpc3RyYXRpb25JZGVudGlmaWVyKCkpIDogc3RkOjpudWxsb3B0Owot
ICAgIFNXQ2xpZW50Q29ubmVjdGlvbiYgY29ubmVjdGlvbiA9IHN3Q2xpZW50Q29ubmVjdGlvbigp
OwotICAgIGNvbm5lY3Rpb24ucmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KHRvcE9yaWdpbigp
LCBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YTo6ZnJvbSgqdGhpcyksIGNvbnRyb2xsaW5nU2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIsIFN0cmluZyB7IG1fdXNlckFnZW50IH0pOwor
ICAgIHN3Q2xpZW50Q29ubmVjdGlvbigpLnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChjbGll
bnRPcmlnaW4oKSwgU2VydmljZVdvcmtlckNsaWVudERhdGE6OmZyb20oKnRoaXMpLCBjb250cm9s
bGluZ1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyLCBTdHJpbmcgeyBtX3VzZXJB
Z2VudCB9KTsKIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1dvcmtlckdsb2JhbFNjb3BlLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2Jh
bFNjb3BlLmgKaW5kZXggNThiYmQ2NTc3ZmE0MzcyMDdlOWJhNzZkZGVlNzNlMzk2NGRlZDZjZC4u
ZWQ3ODkzY2JjODIyYTc4MzVmODA0ZDU5MmE2YjQ3YWQ0ZjhlNzlkMiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaApAQCAtOTcsOCArOTcsMTAgQEAgcHVibGlj
OgogICAgIFdFQkNPUkVfRVhQT1JUIFdvcmtlckZpbGVTeXN0ZW1TdG9yYWdlQ29ubmVjdGlvbiog
ZmlsZVN5c3RlbVN0b3JhZ2VDb25uZWN0aW9uKCk7CiAgICAgV29ya2VyQ2FjaGVTdG9yYWdlQ29u
bmVjdGlvbiYgY2FjaGVTdG9yYWdlQ29ubmVjdGlvbigpOwogICAgIE1lc3NhZ2VQb3J0Q2hhbm5l
bFByb3ZpZGVyJiBtZXNzYWdlUG9ydENoYW5uZWxQcm92aWRlcigpOworCiAjaWYgRU5BQkxFKFNF
UlZJQ0VfV09SS0VSKQogICAgIFdvcmtlclNXQ2xpZW50Q29ubmVjdGlvbiYgc3dDbGllbnRDb25u
ZWN0aW9uKCk7CisgICAgdm9pZCB1cGRhdGVTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSgpIGZpbmFs
OwogI2VuZGlmCiAKICAgICBXb3JrZXJUaHJlYWQmIHRocmVhZCgpIGNvbnN0OwpAQCAtMTkyLDkg
KzE5NCw2IEBAIHByaXZhdGU6CiAgICAgYm9vbCB3cmFwQ3J5cHRvS2V5KGNvbnN0IFZlY3Rvcjx1
aW50OF90PiYga2V5LCBWZWN0b3I8dWludDhfdD4mIHdyYXBwZWRLZXkpIGZpbmFsOwogICAgIGJv
b2wgdW53cmFwQ3J5cHRvS2V5KGNvbnN0IFZlY3Rvcjx1aW50OF90PiYgd3JhcHBlZEtleSwgVmVj
dG9yPHVpbnQ4X3Q+JiBrZXkpIGZpbmFsOwogI2VuZGlmCi0jaWYgRU5BQkxFKFNFUlZJQ0VfV09S
S0VSKQotICAgIHZvaWQgdXBkYXRlU2VydmljZVdvcmtlckNsaWVudERhdGEoKSBmaW5hbDsKLSNl
bmRpZgogCiAgICAgdm9pZCBzdG9wSW5kZXhlZERhdGFiYXNlKCk7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmNwcAppbmRleCA5MWFkYzBmMzM3YjljNGIy
ZGU1NGRmMjdmMWM2ZjFjMjNmMGQ5NzgzLi41MTI3YmI5MDAzMDM0NWQ0MDJlMGFiM2RkNTkwYjcy
NzBiNTBjZTk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlw
dExvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2Fk
ZXIuY3BwCkBAIC0zNiw2ICszNiw3IEBACiAjaW5jbHVkZSAiU2VydmljZVdvcmtlci5oIgogI2lu
Y2x1ZGUgIlNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YS5oIgogI2luY2x1ZGUgIlNlcnZpY2VXb3Jr
ZXJHbG9iYWxTY29wZS5oIgorI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJQcm92aWRlci5oIgogI2lu
Y2x1ZGUgIlRleHRSZXNvdXJjZURlY29kZXIuaCIKICNpbmNsdWRlICJXb3JrZXJGZXRjaFJlc3Vs
dC5oIgogI2luY2x1ZGUgIldvcmtlckdsb2JhbFNjb3BlLmgiCkBAIC01OCw4ICs1OSwxNCBAQCBX
b3JrZXJTY3JpcHRMb2FkZXI6OldvcmtlclNjcmlwdExvYWRlcigpCiAKIFdvcmtlclNjcmlwdExv
YWRlcjo6fldvcmtlclNjcmlwdExvYWRlcigpCiB7Ci0gICAgaWYgKG1fY2xpZW50SWRlbnRpZmll
cikKLSAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXJUb1dvcmtlclNjcmlw
dExvYWRlck1hcCgpLnJlbW92ZShtX2NsaWVudElkZW50aWZpZXIpOworICAgIGlmICghbV9jbGll
bnRJZGVudGlmaWVyKQorICAgICAgICByZXR1cm47CisKKyAgICBzY3JpcHRFeGVjdXRpb25Db250
ZXh0SWRlbnRpZmllclRvV29ya2VyU2NyaXB0TG9hZGVyTWFwKCkucmVtb3ZlKG1fY2xpZW50SWRl
bnRpZmllcik7CisjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQorICAgIGlmIChtX2FjdGl2ZVNl
cnZpY2VXb3JrZXJEYXRhKQorICAgICAgICBTZXJ2aWNlV29ya2VyUHJvdmlkZXI6OnNpbmdsZXRv
bigpLnNlcnZpY2VXb3JrZXJDb25uZWN0aW9uKCkudW5yZWdpc3RlclNlcnZpY2VXb3JrZXJDbGll
bnQobV9jbGllbnRJZGVudGlmaWVyKTsKKyNlbmRpZgogfQogCiBzdGQ6Om9wdGlvbmFsPEV4Y2Vw
dGlvbj4gV29ya2VyU2NyaXB0TG9hZGVyOjpsb2FkU3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRp
b25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0LCBjb25zdCBVUkwmIHVybCwgU291cmNl
IHNvdXJjZSwgRmV0Y2hPcHRpb25zOjpNb2RlIG1vZGUsIEZldGNoT3B0aW9uczo6Q2FjaGUgY2Fj
aGVQb2xpY3ksIENvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50IGNvbnRlbnRTZWN1cml0
eVBvbGljeUVuZm9yY2VtZW50LCBjb25zdCBTdHJpbmcmIGluaXRpYXRvcklkZW50aWZpZXIpCkBA
IC0xNTEsMTMgKzE1OCwxMiBAQCB2b2lkIFdvcmtlclNjcmlwdExvYWRlcjo6bG9hZEFzeW5jaHJv
bm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIHNjcmlwdEV4ZWN1dAogICAgIC8vIEZJWE1F
OiBBZGQgc3VwcG9ydCBmb3Igc2hhcmVkIHdvcmtlci4KICAgICBpZiAobV9kZXN0aW5hdGlvbiA9
PSBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpXb3JrZXIgJiYgaXM8RG9jdW1lbnQ+KHNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQpKSB7CiAgICAgICAgIEFTU0VSVChjbGllbnRJZGVudGlmaWVyKTsK
KyAgICAgICAgb3B0aW9ucy5jbGllbnRJZGVudGlmaWVyID0gbV9jbGllbnRJZGVudGlmaWVyID0g
Y2xpZW50SWRlbnRpZmllcjsKICAgICAgICAgLy8gSW4gY2FzZSBvZiBibG9iIFVSTHMsIHdlIHJl
dXNlIHRoZSBkb2N1bWVudCBjb250cm9sbGluZyBzZXJ2aWNlIHdvcmtlci4KICAgICAgICAgaWYg
KHJlcXVlc3QtPnVybCgpLnByb3RvY29sSXNCbG9iKCkgJiYgc2NyaXB0RXhlY3V0aW9uQ29udGV4
dC5hY3RpdmVTZXJ2aWNlV29ya2VyKCkpCiAgICAgICAgICAgICBzZXRDb250cm9sbGluZ1NlcnZp
Y2VXb3JrZXIoU2VydmljZVdvcmtlckRhdGEgeyBzY3JpcHRFeGVjdXRpb25Db250ZXh0LmFjdGl2
ZVNlcnZpY2VXb3JrZXIoKS0+ZGF0YSgpIH0pOwotICAgICAgICBlbHNlIHsKLSAgICAgICAgICAg
IG9wdGlvbnMuY2xpZW50SWRlbnRpZmllciA9IG1fY2xpZW50SWRlbnRpZmllciA9IGNsaWVudElk
ZW50aWZpZXI7CisgICAgICAgIGVsc2UKICAgICAgICAgICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHRJZGVudGlmaWVyVG9Xb3JrZXJTY3JpcHRMb2FkZXJNYXAoKS5hZGQobV9jbGllbnRJZGVudGlm
aWVyLCB0aGlzKTsKLSAgICAgICAgfQogICAgIH0gZWxzZSBpZiAoYXV0byogYWN0aXZlU2Vydmlj
ZVdvcmtlciA9IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuYWN0aXZlU2VydmljZVdvcmtlcigpKQog
ICAgICAgICBvcHRpb25zLnNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyID0gYWN0
aXZlU2VydmljZVdvcmtlci0+cmVnaXN0cmF0aW9uSWRlbnRpZmllcigpOwogI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU1dDbGllbnRDb25uZWN0aW9u
LmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU1dDbGllbnRDb25uZWN0aW9uLmgK
aW5kZXggZGQzMzZjYTIwZWNjZGJmMmFlZDhmZTQ4Y2RhMzk1NDAzNTMxNWRiZC4uYTFmZGJlZTUw
N2Q5MzhjNmE5NjdlODEwZTM3NjE3M2ExZTAwNzliMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9zZXJ2aWNlL1NXQ2xpZW50Q29ubmVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvc2VydmljZS9TV0NsaWVudENvbm5lY3Rpb24uaApAQCAtNTAsNiArNTAsNyBA
QCBjbGFzcyBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uOwogZW51bSBjbGFzcyBTZXJ2aWNlV29y
a2VyUmVnaXN0cmF0aW9uU3RhdGUgOiB1aW50OF90OwogZW51bSBjbGFzcyBTZXJ2aWNlV29ya2Vy
U3RhdGUgOiB1aW50OF90OwogZW51bSBjbGFzcyBTaG91bGROb3RpZnlXaGVuUmVzb2x2ZWQgOiBi
b29sOworc3RydWN0IENsaWVudE9yaWdpbjsKIHN0cnVjdCBFeGNlcHRpb25EYXRhOwogc3RydWN0
IE1lc3NhZ2VXaXRoTWVzc2FnZVBvcnRzOwogc3RydWN0IE5vdGlmaWNhdGlvbkRhdGE7CkBAIC04
NCw3ICs4NSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIFNXU2VydmVyQ29ubmVjdGlvbklkZW50
aWZpZXIgc2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXIoKSBjb25zdCA9IDA7CiAgICAgdmlydHVh
bCBib29sIG1heUhhdmVTZXJ2aWNlV29ya2VyUmVnaXN0ZXJlZEZvck9yaWdpbihjb25zdCBTZWN1
cml0eU9yaWdpbkRhdGEmKSBjb25zdCA9IDA7CiAKLSAgICB2aXJ0dWFsIHZvaWQgcmVnaXN0ZXJT
ZXJ2aWNlV29ya2VyQ2xpZW50KGNvbnN0IFNlY3VyaXR5T3JpZ2luJiB0b3BPcmlnaW4sIFNlcnZp
Y2VXb3JrZXJDbGllbnREYXRhJiYsIGNvbnN0IHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbklkZW50aWZpZXI+JiwgU3RyaW5nJiYgdXNlckFnZW50KSA9IDA7CisgICAgdmly
dHVhbCB2b2lkIHJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChjb25zdCBDbGllbnRPcmlnaW4m
LCBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSYmLCBjb25zdCBzdGQ6Om9wdGlvbmFsPFNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyPiYsIFN0cmluZyYmIHVzZXJBZ2VudCkgPSAwOwog
ICAgIHZpcnR1YWwgdm9pZCB1bnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChTY3JpcHRFeGVj
dXRpb25Db250ZXh0SWRlbnRpZmllcikgPSAwOwogCiAgICAgdmlydHVhbCB2b2lkIGZpbmlzaEZl
dGNoaW5nU2NyaXB0SW5TZXJ2ZXIoY29uc3QgU2VydmljZVdvcmtlckpvYkRhdGFJZGVudGlmaWVy
JiwgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleSYmLCBXb3JrZXJGZXRjaFJlc3VsdCYmKSA9
IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvV29ya2VyU1dD
bGllbnRDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9Xb3Jr
ZXJTV0NsaWVudENvbm5lY3Rpb24uY3BwCmluZGV4IGM1MjRlYzBhNzViNmFmYjI4MTdiZjZlMzgy
MzE3NTZmOTViN2VmMmIuLmYxNDBmOTliNDA4NmJmNmZiY2Y3MmI2YzQ3ZTBkNDFkMWZhMGQ4NTMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9Xb3JrZXJTV0NsaWVu
dENvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9Xb3Jr
ZXJTV0NsaWVudENvbm5lY3Rpb24uY3BwCkBAIC0xODQsMTcgKzE4NCwxOSBAQCBib29sIFdvcmtl
clNXQ2xpZW50Q29ubmVjdGlvbjo6bWF5SGF2ZVNlcnZpY2VXb3JrZXJSZWdpc3RlcmVkRm9yT3Jp
Z2luKGNvbnN0IFNlYwogICAgIHJldHVybiB0cnVlOwogfQogCi12b2lkIFdvcmtlclNXQ2xpZW50
Q29ubmVjdGlvbjo6cmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KGNvbnN0IFNlY3VyaXR5T3Jp
Z2luJiB0b3BPcmlnaW4sIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhJiYgZGF0YSwgY29uc3Qgc3Rk
OjpvcHRpb25hbDxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcj4mIGlkZW50aWZp
ZXIsIFN0cmluZyYmIHVzZXJBZ2VudCkKK3ZvaWQgV29ya2VyU1dDbGllbnRDb25uZWN0aW9uOjpy
ZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQoY29uc3QgQ2xpZW50T3JpZ2luJiBjbGllbnRPcmln
aW4sIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhJiYgZGF0YSwgY29uc3Qgc3RkOjpvcHRpb25hbDxT
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcj4mIGlkZW50aWZpZXIsIFN0cmluZyYm
IHVzZXJBZ2VudCkKIHsKLSAgICBjYWxsT25NYWluVGhyZWFkKFt0b3BPcmlnaW4gPSB0b3BPcmln
aW4uaXNvbGF0ZWRDb3B5KCksIGRhdGEgPSBjcm9zc1RocmVhZENvcHkoV1RGTW92ZShkYXRhKSks
IGlkZW50aWZpZXIsIHVzZXJBZ2VudCA9IGNyb3NzVGhyZWFkQ29weShXVEZNb3ZlKHVzZXJBZ2Vu
dCkpXSgpIG11dGFibGUgeworICAgIGNhbGxPbk1haW5UaHJlYWQoW2NsaWVudE9yaWdpbiA9IGNs
aWVudE9yaWdpbi5pc29sYXRlZENvcHkoKSwgZGF0YSA9IGNyb3NzVGhyZWFkQ29weShXVEZNb3Zl
KGRhdGEpKSwgaWRlbnRpZmllciwgdXNlckFnZW50ID0gY3Jvc3NUaHJlYWRDb3B5KFdURk1vdmUo
dXNlckFnZW50KSldKCkgbXV0YWJsZSB7CiAgICAgICAgIGF1dG8mIGNvbm5lY3Rpb24gPSBTZXJ2
aWNlV29ya2VyUHJvdmlkZXI6OnNpbmdsZXRvbigpLnNlcnZpY2VXb3JrZXJDb25uZWN0aW9uKCk7
Ci0gICAgICAgIGNvbm5lY3Rpb24ucmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KHRvcE9yaWdp
biwgV1RGTW92ZShkYXRhKSwgaWRlbnRpZmllciwgV1RGTW92ZSh1c2VyQWdlbnQpKTsKKyAgICAg
ICAgY29ubmVjdGlvbi5yZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQoY2xpZW50T3JpZ2luLCBX
VEZNb3ZlKGRhdGEpLCBpZGVudGlmaWVyLCBXVEZNb3ZlKHVzZXJBZ2VudCkpOwogICAgIH0pOwog
fQogCi12b2lkIFdvcmtlclNXQ2xpZW50Q29ubmVjdGlvbjo6dW5yZWdpc3RlclNlcnZpY2VXb3Jr
ZXJDbGllbnQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIpCit2b2lkIFdvcmtlclNX
Q2xpZW50Q29ubmVjdGlvbjo6dW5yZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQoU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dElkZW50aWZpZXIgaWRlbnRpZmllcikKIHsKLSAgICBBU1NFUlRfTk9UX1JF
QUNIRUQoKTsKKyAgICBjYWxsT25NYWluVGhyZWFkKFtpZGVudGlmaWVyXSB7CisgICAgICAgIFNl
cnZpY2VXb3JrZXJQcm92aWRlcjo6c2luZ2xldG9uKCkuc2VydmljZVdvcmtlckNvbm5lY3Rpb24o
KS51bnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChpZGVudGlmaWVyKTsKKyAgICB9KTsKIH0K
IAogdm9pZCBXb3JrZXJTV0NsaWVudENvbm5lY3Rpb246OmZpbmlzaEZldGNoaW5nU2NyaXB0SW5T
ZXJ2ZXIoY29uc3QgU2VydmljZVdvcmtlckpvYkRhdGFJZGVudGlmaWVyJiBqb2JEYXRhSWRlbnRp
ZmllciwgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleSYmIHJlZ2lzdHJhdGlvbktleSwgV29y
a2VyRmV0Y2hSZXN1bHQmJiByZXN1bHQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2UvV29ya2VyU1dDbGllbnRDb25uZWN0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL3NlcnZpY2UvV29ya2VyU1dDbGllbnRDb25uZWN0aW9uLmgKaW5kZXggMmFhNGE0MDk0
Y2RlODk0NmJmNDhiNGMxYTc5NzliN2ViZGY2NGU2Yy4uMjliZmIzM2VmNGIzZDQwNjU1MzMwMjFh
YzZlMjU0NzY4MDdiMGFiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2
aWNlL1dvcmtlclNXQ2xpZW50Q29ubmVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvc2VydmljZS9Xb3JrZXJTV0NsaWVudENvbm5lY3Rpb24uaApAQCAtMzksNiArMzksOSBAQCBw
dWJsaWM6CiAgICAgc3RhdGljIFJlZjxXb3JrZXJTV0NsaWVudENvbm5lY3Rpb24+IGNyZWF0ZShX
b3JrZXJHbG9iYWxTY29wZSYgc2NvcGUpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgV29ya2VyU1dD
bGllbnRDb25uZWN0aW9uIHsgc2NvcGUgfSk7IH0KICAgICB+V29ya2VyU1dDbGllbnRDb25uZWN0
aW9uKCk7CiAKKyAgICB2b2lkIHJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChjb25zdCBDbGll
bnRPcmlnaW4mLCBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSYmLCBjb25zdCBzdGQ6Om9wdGlvbmFs
PFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyPiYsIFN0cmluZyYmIHVzZXJBZ2Vu
dCkgZmluYWw7CisgICAgdm9pZCB1bnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChTY3JpcHRF
eGVjdXRpb25Db250ZXh0SWRlbnRpZmllcikgZmluYWw7CisKIHByaXZhdGU6CiAgICAgZXhwbGlj
aXQgV29ya2VyU1dDbGllbnRDb25uZWN0aW9uKFdvcmtlckdsb2JhbFNjb3BlJik7CiAKQEAgLTUx
LDggKzU0LDYgQEAgcHJpdmF0ZToKICAgICB2b2lkIHBvc3RNZXNzYWdlVG9TZXJ2aWNlV29ya2Vy
KFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIGRlc3RpbmF0aW9uLCBNZXNzYWdlV2l0aE1lc3NhZ2VQ
b3J0cyYmLCBjb25zdCBTZXJ2aWNlV29ya2VyT3JDbGllbnRJZGVudGlmaWVyJiBzb3VyY2UpIGZp
bmFsOwogICAgIFNXU2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXIgc2VydmVyQ29ubmVjdGlvbklk
ZW50aWZpZXIoKSBjb25zdCBmaW5hbDsKICAgICBib29sIG1heUhhdmVTZXJ2aWNlV29ya2VyUmVn
aXN0ZXJlZEZvck9yaWdpbihjb25zdCBTZWN1cml0eU9yaWdpbkRhdGEmKSBjb25zdCBmaW5hbDsK
LSAgICB2b2lkIHJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChjb25zdCBTZWN1cml0eU9yaWdp
biYgdG9wT3JpZ2luLCBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSYmLCBjb25zdCBzdGQ6Om9wdGlv
bmFsPFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyPiYsIFN0cmluZyYmIHVzZXJB
Z2VudCkgZmluYWw7Ci0gICAgdm9pZCB1bnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChTY3Jp
cHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllcikgZmluYWw7CiAgICAgdm9pZCBmaW5pc2hGZXRj
aGluZ1NjcmlwdEluU2VydmVyKGNvbnN0IFNlcnZpY2VXb3JrZXJKb2JEYXRhSWRlbnRpZmllciYs
IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkmJiwgV29ya2VyRmV0Y2hSZXN1bHQmJikgZmlu
YWw7CiAgICAgdm9pZCBzY2hlZHVsZUpvYkluU2VydmVyKGNvbnN0IFNlcnZpY2VXb3JrZXJKb2JE
YXRhJikgZmluYWw7CiAgICAgdm9pZCBzY2hlZHVsZUpvYihTZXJ2aWNlV29ya2VyT3JDbGllbnRJ
ZGVudGlmaWVyLCBjb25zdCBTZXJ2aWNlV29ya2VySm9iRGF0YSYpIGZpbmFsOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVy
Q29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3Jr
ZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmNwcAppbmRleCBiM2RkNGE1MjgyMDkyNGQ5MDEyNDkx
MzcxN2ZiYjIwMjVhZjU1MzljLi5jZjMwZGU0OWZjYjA5OTgxY2Y3ZTNkNjExZWIyOWVkYjlkYTQ4
ZWNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3Jr
ZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmNwcApAQCAtMTg0LDcg
KzE4NCw3IEBAIHZvaWQgV2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjpjb250cm9sQ2xpZW50KGNvbnN0
IE5ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzJiBwCiAKICAgICBhdXRvIGFuY2VzdG9yT3Jp
Z2lucyA9IG1hcChwYXJhbWV0ZXJzLmZyYW1lQW5jZXN0b3JPcmlnaW5zLCBbXShhdXRvJiBvcmln
aW4pIHsgcmV0dXJuIG9yaWdpbi0+dG9TdHJpbmcoKTsgfSk7CiAgICAgU2VydmljZVdvcmtlckNs
aWVudERhdGEgZGF0YSB7IGNsaWVudElkZW50aWZpZXIsIGNsaWVudFR5cGUsIFNlcnZpY2VXb3Jr
ZXJDbGllbnRGcmFtZVR5cGU6Ok5vbmUsIHJlcXVlc3QudXJsKCksIHBhcmFtZXRlcnMud2ViUGFn
ZUlELCBwYXJhbWV0ZXJzLndlYkZyYW1lSUQsIHJlcXVlc3QuaXNBcHBJbml0aWF0ZWQoKSA/IFdl
YkNvcmU6Okxhc3ROYXZpZ2F0aW9uV2FzQXBwSW5pdGlhdGVkOjpZZXMgOiBXZWJDb3JlOjpMYXN0
TmF2aWdhdGlvbldhc0FwcEluaXRpYXRlZDo6Tm8sIGZhbHNlLCBmYWxzZSwgMCwgV1RGTW92ZShh
bmNlc3Rvck9yaWdpbnMpIH07Ci0gICAgcmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KFNlY3Vy
aXR5T3JpZ2luRGF0YSB7IHJlZ2lzdHJhdGlvbi5rZXkoKS50b3BPcmlnaW4oKSB9LCBXVEZNb3Zl
KGRhdGEpLCByZWdpc3RyYXRpb24uaWRlbnRpZmllcigpLCByZXF1ZXN0Lmh0dHBVc2VyQWdlbnQo
KSk7CisgICAgcmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KENsaWVudE9yaWdpbiB7IHJlZ2lz
dHJhdGlvbi5rZXkoKS50b3BPcmlnaW4oKSwgU2VjdXJpdHlPcmlnaW5EYXRhOjpmcm9tVVJMKHJl
cXVlc3QudXJsKCkpIH0sIFdURk1vdmUoZGF0YSksIHJlZ2lzdHJhdGlvbi5pZGVudGlmaWVyKCks
IHJlcXVlc3QuaHR0cFVzZXJBZ2VudCgpKTsKIH0KIAogc3RkOjp1bmlxdWVfcHRyPFNlcnZpY2VX
b3JrZXJGZXRjaFRhc2s+IFdlYlNXU2VydmVyQ29ubmVjdGlvbjo6Y3JlYXRlRmV0Y2hUYXNrKE5l
dHdvcmtSZXNvdXJjZUxvYWRlciYgbG9hZGVyLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVl
c3QpCkBAIC0zOTUsMTIgKzM5NSwxOCBAQCB2b2lkIFdlYlNXU2VydmVyQ29ubmVjdGlvbjo6Z2V0
UmVnaXN0cmF0aW9ucyhjb25zdCBTZWN1cml0eU9yaWdpbkRhdGEmIHRvcE9yaWdpbgogICAgIGNh
bGxiYWNrKHNlcnZlcigpLmdldFJlZ2lzdHJhdGlvbnModG9wT3JpZ2luLCBjbGllbnRVUkwpKTsK
IH0KIAotdm9pZCBXZWJTV1NlcnZlckNvbm5lY3Rpb246OnJlZ2lzdGVyU2VydmljZVdvcmtlckNs
aWVudChTZWN1cml0eU9yaWdpbkRhdGEmJiB0b3BPcmlnaW4sIFNlcnZpY2VXb3JrZXJDbGllbnRE
YXRhJiYgZGF0YSwgY29uc3Qgc3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
SWRlbnRpZmllcj4mIGNvbnRyb2xsaW5nU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZp
ZXIsIFN0cmluZyYmIHVzZXJBZ2VudCkKK3ZvaWQgV2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjpyZWdp
c3RlclNlcnZpY2VXb3JrZXJDbGllbnQoV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiYgY2xpZW50T3Jp
Z2luLCBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSYmIGRhdGEsIGNvbnN0IHN0ZDo6b3B0aW9uYWw8
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXI+JiBjb250cm9sbGluZ1NlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyLCBTdHJpbmcmJiB1c2VyQWdlbnQpCiB7CiAgICAg
Q09OTkVDVElPTl9NRVNTQUdFX0NIRUNLKGRhdGEuaWRlbnRpZmllci5wcm9jZXNzSWRlbnRpZmll
cigpID09IGlkZW50aWZpZXIoKSk7Ci0gICAgQ09OTkVDVElPTl9NRVNTQUdFX0NIRUNLKCF0b3BP
cmlnaW4uaXNFbXB0eSgpKTsKKyAgICBDT05ORUNUSU9OX01FU1NBR0VfQ0hFQ0soIWNsaWVudE9y
aWdpbi50b3BPcmlnaW4uaXNFbXB0eSgpKTsKKworICAgIGF1dG8mIGNvbnRleHRPcmlnaW4gPSBj
bGllbnRPcmlnaW4uY2xpZW50T3JpZ2luOworICAgIGlmIChkYXRhLnVybC5wcm90b2NvbElzSW5I
VFRQRmFtaWx5KCkpIHsKKyAgICAgICAgLy8gV2UgZG8gbm90IHJlZ2lzdGVyIGFueSBzYW5kYm94
IGRvY3VtZW50LgorICAgICAgICBpZiAoY29udGV4dE9yaWdpbiAhPSBTZWN1cml0eU9yaWdpbkRh
dGE6OmZyb21VUkwoZGF0YS51cmwpKQorICAgICAgICAgICAgcmV0dXJuOworICAgIH0KIAotICAg
IGF1dG8gY29udGV4dE9yaWdpbiA9IFNlY3VyaXR5T3JpZ2luRGF0YTo6ZnJvbVVSTChkYXRhLnVy
bCk7CiAgICAgQ09OTkVDVElPTl9NRVNTQUdFX0NIRUNLKCFjb250ZXh0T3JpZ2luLmlzRW1wdHko
KSk7CiAKICAgICBib29sIGlzTmV3T3JpZ2luID0gV1RGOjphbGxPZihtX2NsaWVudE9yaWdpbnMu
dmFsdWVzKCksIFsmY29udGV4dE9yaWdpbl0oYXV0byYgb3JpZ2luKSB7CkBAIC00MDgsNyArNDE0
LDYgQEAgdm9pZCBXZWJTV1NlcnZlckNvbm5lY3Rpb246OnJlZ2lzdGVyU2VydmljZVdvcmtlckNs
aWVudChTZWN1cml0eU9yaWdpbkRhdGEmJiB0b3AKICAgICB9KTsKICAgICBhdXRvKiBjb250ZXh0
Q29ubmVjdGlvbiA9IGlzTmV3T3JpZ2luID8gc2VydmVyKCkuY29udGV4dENvbm5lY3Rpb25Gb3JS
ZWdpc3RyYWJsZURvbWFpbihSZWdpc3RyYWJsZURvbWFpbiB7IGNvbnRleHRPcmlnaW4gfSkgOiBu
dWxscHRyOwogCi0gICAgYXV0byBjbGllbnRPcmlnaW4gPSBDbGllbnRPcmlnaW4geyBXVEZNb3Zl
KHRvcE9yaWdpbiksIFdURk1vdmUoY29udGV4dE9yaWdpbikgfTsKICAgICBtX2NsaWVudE9yaWdp
bnMuYWRkKGRhdGEuaWRlbnRpZmllciwgY2xpZW50T3JpZ2luKTsKICAgICBzZXJ2ZXIoKS5yZWdp
c3RlclNlcnZpY2VXb3JrZXJDbGllbnQoV1RGTW92ZShjbGllbnRPcmlnaW4pLCBXVEZNb3ZlKGRh
dGEpLCBjb250cm9sbGluZ1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyLCBXVEZN
b3ZlKHVzZXJBZ2VudCkpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmgKaW5k
ZXggYjBkYjg1YmM2N2FlMGRlNWIwNzRhZDlkZmYwMjNlNmFjMWViZmIwMC4uNGYwMjVlMjE5MTFm
MzJiNmVhMGYzZDJhOTk3ZTU4OTllMzgwYWI0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNv
bm5lY3Rpb24uaApAQCAtMTEwLDcgKzExMCw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBtYXRjaFJl
Z2lzdHJhdGlvbihjb25zdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEmIHRvcE9yaWdpbiwg
Y29uc3QgVVJMJiBjbGllbnRVUkwsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoc3RkOjpvcHRpb25h
bDxXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YT4mJik+JiYpOwogICAgIHZv
aWQgZ2V0UmVnaXN0cmF0aW9ucyhjb25zdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEmIHRv
cE9yaWdpbiwgY29uc3QgVVJMJiBjbGllbnRVUkwsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoY29u
c3QgVmVjdG9yPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhPiYpPiYmKTsK
IAotICAgIHZvaWQgcmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KFdlYkNvcmU6OlNlY3VyaXR5
T3JpZ2luRGF0YSYmIHRvcE9yaWdpbiwgV2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVudERhdGEm
JiwgY29uc3Qgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
SWRlbnRpZmllcj4mLCBTdHJpbmcmJiB1c2VyQWdlbnQpOworICAgIHZvaWQgcmVnaXN0ZXJTZXJ2
aWNlV29ya2VyQ2xpZW50KFdlYkNvcmU6OkNsaWVudE9yaWdpbiYmLCBXZWJDb3JlOjpTZXJ2aWNl
V29ya2VyQ2xpZW50RGF0YSYmLCBjb25zdCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyPiYsIFN0cmluZyYmIHVzZXJBZ2VudCk7CiAgICAg
dm9pZCB1bnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChjb25zdCBXZWJDb3JlOjpTY3JpcHRF
eGVjdXRpb25Db250ZXh0SWRlbnRpZmllciYpOwogICAgIHZvaWQgdGVybWluYXRlV29ya2VyRnJv
bUNsaWVudChXZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRlbnRpZmllciwgQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZCgpPiYmKTsKICAgICB2b2lkIHdoZW5TZXJ2aWNlV29ya2VySXNUZXJtaW5hdGVkRm9y
VGVzdGluZyhXZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRlbnRpZmllciwgQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZCgpPiYmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
U2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24ubWVzc2FnZXMuaW4gYi9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9u
Lm1lc3NhZ2VzLmluCmluZGV4IDQzZmQxMjRmMGM5M2E5ODVlZTI2OWZmZGU2NWI4MmQwMWZlMWZl
YTguLjE1ZmNhNTQzYzU3ZTdkMzFiODg1YTcwMDA4ZTM2ODhmYTQ0ZWNjOWIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNv
bm5lY3Rpb24ubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9T
ZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5tZXNzYWdlcy5pbgpAQCAtMzgsNyAr
MzgsNyBAQCBtZXNzYWdlcyAtPiBXZWJTV1NlcnZlckNvbm5lY3Rpb24gTm90UmVmQ291bnRlZCB7
CiAgICAgTWF0Y2hSZWdpc3RyYXRpb24oc3RydWN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0
YSB0b3BPcmlnaW4sIFVSTCBjbGllbnRVUkwpIC0+IChzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlNl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhPiByZWdpc3RyYXRpb24pCiAgICAgV2hlblJlZ2lz
dHJhdGlvblJlYWR5KHN0cnVjdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEgdG9wT3JpZ2lu
LCBVUkwgY2xpZW50VVJMKSAtPiAoc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uRGF0YT4gcmVnaXN0cmF0aW9uKQogICAgIEdldFJlZ2lzdHJhdGlvbnMoc3Ry
dWN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSB0b3BPcmlnaW4sIFVSTCBjbGllbnRVUkwp
IC0+IChWZWN0b3I8V2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGE+IHJlZ2lz
dHJhdGlvbnMpCi0gICAgUmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KHN0cnVjdCBXZWJDb3Jl
OjpTZWN1cml0eU9yaWdpbkRhdGEgdG9wT3JpZ2luLCBzdHJ1Y3QgV2ViQ29yZTo6U2VydmljZVdv
cmtlckNsaWVudERhdGEgZGF0YSwgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uSWRlbnRpZmllcj4gY29udHJvbGxpbmdTZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uSWRlbnRpZmllciwgU3RyaW5nIHVzZXJBZ2VudCkKKyAgICBSZWdpc3RlclNlcnZpY2VXb3Jr
ZXJDbGllbnQoc3RydWN0IFdlYkNvcmU6OkNsaWVudE9yaWdpbiBjbGllbnRPcmlnaW4sIHN0cnVj
dCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSBkYXRhLCBzdGQ6Om9wdGlvbmFsPFdl
YkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyPiBjb250cm9sbGluZ1Nl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyLCBTdHJpbmcgdXNlckFnZW50KQogICAg
IFVucmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNv
bnRleHRJZGVudGlmaWVyIGlkZW50aWZpZXIpCiAKICAgICBUZXJtaW5hdGVXb3JrZXJGcm9tQ2xp
ZW50KFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIHdvcmtlcklkZW50aWZpZXIpIC0+
ICgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0Ns
aWVudENvbm5lY3Rpb24uY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2Vi
U1dDbGllbnRDb25uZWN0aW9uLmNwcAppbmRleCAxNzgwY2FjN2I2YTc3N2JmMTNmODIzMjQ1N2U1
NGQzOTExNWVkYzBlLi5hMjcxMzdiZjEyZGRkYWI4N2QwM2I5Yzc4Y2JmZmFmZjUzYzg1N2Y4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENv
bm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNX
Q2xpZW50Q29ubmVjdGlvbi5jcHAKQEAgLTExNSw5ICsxMTUsOSBAQCB2b2lkIFdlYlNXQ2xpZW50
Q29ubmVjdGlvbjo6cG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXIoU2VydmljZVdvcmtlcklkZW50
aWZpZXIgZAogICAgIHNlbmQoTWVzc2FnZXM6OldlYlNXU2VydmVyQ29ubmVjdGlvbjo6UG9zdE1l
c3NhZ2VUb1NlcnZpY2VXb3JrZXIgeyBkZXN0aW5hdGlvbklkZW50aWZpZXIsIFdURk1vdmUobWVz
c2FnZSksIHNvdXJjZUlkZW50aWZpZXIgfSk7CiB9CiAKLXZvaWQgV2ViU1dDbGllbnRDb25uZWN0
aW9uOjpyZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQoY29uc3QgU2VjdXJpdHlPcmlnaW4mIHRv
cE9yaWdpbiwgV2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVudERhdGEmJiBkYXRhLCBjb25zdCBz
dGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVy
PiYgY29udHJvbGxpbmdTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciwgU3RyaW5n
JiYgdXNlckFnZW50KQordm9pZCBXZWJTV0NsaWVudENvbm5lY3Rpb246OnJlZ2lzdGVyU2Vydmlj
ZVdvcmtlckNsaWVudChjb25zdCBDbGllbnRPcmlnaW4mIGNsaWVudE9yaWdpbiwgV2ViQ29yZTo6
U2VydmljZVdvcmtlckNsaWVudERhdGEmJiBkYXRhLCBjb25zdCBzdGQ6Om9wdGlvbmFsPFdlYkNv
cmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyPiYgY29udHJvbGxpbmdTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciwgU3RyaW5nJiYgdXNlckFnZW50KQogewot
ICAgIHNlbmQoTWVzc2FnZXM6OldlYlNXU2VydmVyQ29ubmVjdGlvbjo6UmVnaXN0ZXJTZXJ2aWNl
V29ya2VyQ2xpZW50IHsgdG9wT3JpZ2luLmRhdGEoKSwgZGF0YSwgY29udHJvbGxpbmdTZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciwgdXNlckFnZW50IH0pOworICAgIHNlbmQoTWVz
c2FnZXM6OldlYlNXU2VydmVyQ29ubmVjdGlvbjo6UmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50
IHsgY2xpZW50T3JpZ2luLCBkYXRhLCBjb250cm9sbGluZ1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b25JZGVudGlmaWVyLCB1c2VyQWdlbnQgfSk7CiB9CiAKIHZvaWQgV2ViU1dDbGllbnRDb25uZWN0
aW9uOjp1bnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChTY3JpcHRFeGVjdXRpb25Db250ZXh0
SWRlbnRpZmllciBjb250ZXh0SWRlbnRpZmllcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5oIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmgKaW5kZXggNjIyZmMw
OGYzMTQ1OGQ2ZTJmODU1YTkyYmYxNzRjMDI2MTA1OGU4ZS4uYmI5ZTAwYTk2Y2M2Y2YzNGExOTRl
NGY5NmRiMTFmODhmZGIxNTdhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmgKQEAgLTczLDcgKzczLDcgQEAg
cHJpdmF0ZToKICAgICB2b2lkIHNjaGVkdWxlSm9iSW5TZXJ2ZXIoY29uc3QgV2ViQ29yZTo6U2Vy
dmljZVdvcmtlckpvYkRhdGEmKSBmaW5hbDsKICAgICB2b2lkIGZpbmlzaEZldGNoaW5nU2NyaXB0
SW5TZXJ2ZXIoY29uc3QgV2ViQ29yZTo6U2VydmljZVdvcmtlckpvYkRhdGFJZGVudGlmaWVyJiwg
V2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleSYmLCBXZWJDb3JlOjpXb3JrZXJG
ZXRjaFJlc3VsdCYmKSBmaW5hbDsKICAgICB2b2lkIHBvc3RNZXNzYWdlVG9TZXJ2aWNlV29ya2Vy
KFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIGRlc3RpbmF0aW9uSWRlbnRpZmllciwg
V2ViQ29yZTo6TWVzc2FnZVdpdGhNZXNzYWdlUG9ydHMmJiwgY29uc3QgV2ViQ29yZTo6U2Vydmlj
ZVdvcmtlck9yQ2xpZW50SWRlbnRpZmllciYgc291cmNlKSBmaW5hbDsKLSAgICB2b2lkIHJlZ2lz
dGVyU2VydmljZVdvcmtlckNsaWVudChjb25zdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbiYgdG9w
T3JpZ2luLCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSYmLCBjb25zdCBzdGQ6Om9w
dGlvbmFsPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyPiYsIFN0
cmluZyYmIHVzZXJBZ2VudCkgZmluYWw7CisgICAgdm9pZCByZWdpc3RlclNlcnZpY2VXb3JrZXJD
bGllbnQoY29uc3QgV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiwgV2ViQ29yZTo6U2VydmljZVdvcmtl
ckNsaWVudERhdGEmJiwgY29uc3Qgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uSWRlbnRpZmllcj4mLCBTdHJpbmcmJiB1c2VyQWdlbnQpIGZpbmFsOwogICAg
IHZvaWQgdW5yZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQoV2ViQ29yZTo6U2NyaXB0RXhlY3V0
aW9uQ29udGV4dElkZW50aWZpZXIpIGZpbmFsOwogICAgIHZvaWQgc2NoZWR1bGVVbnJlZ2lzdGVy
Sm9iSW5TZXJ2ZXIoV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIs
IFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJPckNsaWVudElkZW50aWZpZXIsIENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoV2ViQ29yZTo6RXhjZXB0aW9uT3I8Ym9vbD4mJik+JiYpIGZpbmFsOwogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggZDFhYTNmODhlYmIwYjMwMTc2ZjVmMzgxMmE4MjAwMmZmMDkyY2QwNy4uMDk1MWJlMmQ0NDYx
MjRhNGEyOTIxYjBiYWNmNzBiZTJlYWFmNzA4ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDIy
LTA0LTE1ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBTZXJ2
aWNlV29ya2VyLnBvc3RNZXNzYWdlKCkgZG9lc24ndCB3b3JrIGZyb20gaW5zaWRlIGlmcmFtZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEzOTg0Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS82NTIwMzM0MD4KKworICAgICAgICBSZXZpZXdlZCBieSBD
aHJpcyBEdW1lei4KKworICAgICAgICAqIGh0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9hYm91dC1i
bGFuay1pZnJhbWUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC9zZXJ2
aWNlLXdvcmtlcnMvYWJvdXQtYmxhbmstaWZyYW1lLXdvcmtlci5qczogQWRkZWQuCisgICAgICAg
ICogaHR0cC93cHQvc2VydmljZS13b3JrZXJzL2Fib3V0LWJsYW5rLWlmcmFtZS5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9jbGllbnQtYWRkZWQtdG8t
Y2xpZW50cy13aGVuLXJlc3RvcmVkLWZyb20tcGFnZS1jYWNoZS5odG1sOgorICAgICAgICAqIGh0
dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL2NsaWVudC1yZW1vdmVkLWZyb20tY2xpZW50cy13aGls
ZS1pbi1wYWdlLWNhY2hlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3dvcmtl
cnMvc2VydmljZS9jbGllbnQtcmVtb3ZlZC1mcm9tLWNsaWVudHMtd2hpbGUtaW4tcGFnZS1jYWNo
ZS5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL290aGVyX3Jlc291
cmNlcy90ZXN0Lmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvcmVz
b3VyY2VzL2dldENsaWVudElkcy13b3JrZXIuanM6CisKIDIwMjItMDQtMTMgIFlvdWVubiBGYWJs
ZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIEV4cG9zZSB3b3JrZXJzIGFzIHNlcnZp
Y2Ugd29ya2VyIGNsaWVudHMgYW5kIGltcGxlbWVudCByZWdpc3RyYXRpb24gbWF0Y2hpbmcgZm9y
IGRlZGljYXRlZCB3b3JrZXJzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCA5Mjc2
ZjQ3ZTkxYWQ2MzViNTIyNTE4OTYzNzc3NzVjZGQzZDIwMDhiLi5iYWU4OTQ0MWEzNWVmMWY2YjM5
MjU5MTQzYzc2MmVmN2FkOTYxZmRiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNSBAQAorMjAyMi0wNC0xNSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5j
b20+CisKKyAgICAgICAgU2VydmljZVdvcmtlci5wb3N0TWVzc2FnZSgpIGRvZXNuJ3Qgd29yayBm
cm9tIGluc2lkZSBpZnJhbWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIxMzk4NAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjUyMDMzNDA+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgQ2hyaXMgRHVtZXouCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2Fib3V0LWJsYW5rLXJlcGxhY2Vt
ZW50Lmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NsaWVudC11cmwtb2YtYmxvYi11cmwtd29ya2Vy
Lmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NsaWVudHMtbWF0Y2hhbGwtYmxvYi11cmwtd29ya2Vy
Lmh0dHBzLWV4cGVjdGVkLnR4dDoKKwogMjAyMi0wNC0xMyAgWW91ZW5uIEZhYmxldCAgPHlvdWVu
bkBhcHBsZS5jb20+CiAKICAgICAgICAgRXhwb3NlIHdvcmtlcnMgYXMgc2VydmljZSB3b3JrZXIg
Y2xpZW50cyBhbmQgaW1wbGVtZW50IHJlZ2lzdHJhdGlvbiBtYXRjaGluZyBmb3IgZGVkaWNhdGVk
IHdvcmtlcnMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2
aWNlL2NsaWVudC1hZGRlZC10by1jbGllbnRzLXdoZW4tcmVzdG9yZWQtZnJvbS1wYWdlLWNhY2hl
Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9jbGllbnQtYWRk
ZWQtdG8tY2xpZW50cy13aGVuLXJlc3RvcmVkLWZyb20tcGFnZS1jYWNoZS5odG1sCmluZGV4IDZh
MjI4NGVjZjJjMzlmMWI4OGQ2NmRhYmMyZjVhN2FhNmUxYjAyMmMuLjUyMTRiOGI0M2I3MjAyNzE3
MTZlOWUyMzdhMTIxNjc2YjVjNTc2ZGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvd29ya2Vycy9zZXJ2aWNlL2NsaWVudC1hZGRlZC10by1jbGllbnRzLXdoZW4tcmVzdG9yZWQt
ZnJvbS1wYWdlLWNhY2hlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJz
L3NlcnZpY2UvY2xpZW50LWFkZGVkLXRvLWNsaWVudHMtd2hlbi1yZXN0b3JlZC1mcm9tLXBhZ2Ut
Y2FjaGUuaHRtbApAQCAtMjIsNyArMjIsNyBAQCBmdW5jdGlvbiBjb250YWluc0V4cGVjdGVkQ2xp
ZW50cyhjbGllbnRJZGVudGlmaWVycykKIAogbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIuYWRkRXZl
bnRMaXN0ZW5lcigibWVzc2FnZSIsIGZ1bmN0aW9uKGV2ZW50KSB7CiAgIGlmIChzdGVwID09ICJC
b3RoQ2xpZW50c0luaXRpYWxseUFjdGl2ZSIpIHsKLSAgICBpZiAoIWNvbnRhaW5zRXhwZWN0ZWRD
bGllbnRzKGV2ZW50LmRhdGEpKSB7CisgICAgaWYgKCFjb250YWluc0V4cGVjdGVkQ2xpZW50cyhl
dmVudC5kYXRhLmlkcykpIHsKICAgICAgIGlmICgrK3RyaWVzID4gMjApIHsKICAgICAgICAgICBs
b2coIkZBSUw6IFdyb25nIGluaXRpYWwgbnVtYmVyIG9mIGNsaWVudHMiKTsKICAgICAgICAgICBm
aW5pc2hTV1Rlc3QoKTsKQEAgLTU5LDcgKzU5LDcgQEAgbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIu
YWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsIGZ1bmN0aW9uKGV2ZW50KSB7CiAgIH0KIAogICBp
ZiAoc3RlcCA9PSAiU2Vjb25kQ2xpZW50UmVzdG9yZWRGcm9tUGFnZUNhY2hlIikgewotICAgIGlm
ICghY29udGFpbnNFeHBlY3RlZENsaWVudHMoZXZlbnQuZGF0YSkpIHsKKyAgICBpZiAoIWNvbnRh
aW5zRXhwZWN0ZWRDbGllbnRzKGV2ZW50LmRhdGEuaWRzKSkgewogICAgICAgbG9nKCJGQUlMOiBX
cm9uZyBudW1iZXIgb2YgY2xpZW50cyBhZnRlciBvbmUgY2xpZW50IHdhcyByZXN0b3JlZCBmcm9t
IHBhZ2UgY2FjaGUiKTsKICAgICAgIGZpbmlzaFNXVGVzdCgpOwogICAgIH0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL2NsaWVudC1yZW1vdmVkLWZy
b20tY2xpZW50cy13aGlsZS1pbi1wYWdlLWNhY2hlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL2NsaWVudC1yZW1vdmVkLWZyb20tY2xpZW50cy13
aGlsZS1pbi1wYWdlLWNhY2hlLWV4cGVjdGVkLnR4dAppbmRleCAyYjcwNTE0YjFkZGZmODA4ZWZl
MTM1NDNlNmUyNzNiNmFmMTU1YzExLi40MmQ4NTA4NmI4MDJmYzRiYTZkNDUxMGQyN2U3OTM3YTgw
MTQzYTU3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dvcmtlcnMvc2Vydmlj
ZS9jbGllbnQtcmVtb3ZlZC1mcm9tLWNsaWVudHMtd2hpbGUtaW4tcGFnZS1jYWNoZS1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvY2xpZW50
LXJlbW92ZWQtZnJvbS1jbGllbnRzLXdoaWxlLWluLXBhZ2UtY2FjaGUtZXhwZWN0ZWQudHh0CkBA
IC0xLDYgKzEsOCBAQAogKiBUZXN0cyB0aGF0IGEgY2xpZW50IGlzIHJlbW92ZWQgZnJvbSB0aGUg
bGlzdCBvZiBzZXJ2aWNlIHdvcmtlciBjbGllbnRzIHdoaWxlIGl0IGlzIGluIHRoZSBwYWdlIGNh
Y2hlCiAKLVBBU1M6IHNlcnZpY2Ugd29ya2VyIGhhcyBpbml0aWFsbHkgMiBjbGllbnRzCitQQVNT
OiBzZXJ2aWNlIHdvcmtlciBoYXMgaW5pdGlhbGx5IDIgd2luZG93IGNsaWVudHMKK1BBU1M6IHNl
cnZpY2Ugd29ya2VyIGhhcyBpbml0aWFsbHkgMiB3b3JrZXIgY2xpZW50cwogUEFTUzogcGFnZSBp
cyBhYm91dCB0byBlbnRlciBwYWdlIGNhY2hlCi1QQVNTOiBzZXJ2aWNlIHdvcmtlciBoYXMgb25s
eSAxIGNsaWVudCBhZnRlciAxIGVudGVyZWQgcGFnZSBjYWNoZQorUEFTUzogc2VydmljZSB3b3Jr
ZXIgaGFzIG9ubHkgMSB3aW5kb3cgY2xpZW50IGFmdGVyIDEgZW50ZXJlZCBwYWdlIGNhY2hlCitQ
QVNTOiBzZXJ2aWNlIHdvcmtlciBoYXMgb25seSAxIHdvcmtlciBjbGllbnQgYWZ0ZXIgMSBlbnRl
cmVkIHBhZ2UgY2FjaGUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93b3Jr
ZXJzL3NlcnZpY2UvY2xpZW50LXJlbW92ZWQtZnJvbS1jbGllbnRzLXdoaWxlLWluLXBhZ2UtY2Fj
aGUuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL2NsaWVudC1y
ZW1vdmVkLWZyb20tY2xpZW50cy13aGlsZS1pbi1wYWdlLWNhY2hlLmh0bWwKaW5kZXggNjhhOWZj
NjI0OWY1MDUzNTI5NGRmNDM5NzUxYjUzN2RmOGI2YjA2Ni4uZjA0YTgwNjM2ZmI2NzZjZTBjN2Ez
NmE5MTlkODE1NWI2NmQ0Y2I0NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93
b3JrZXJzL3NlcnZpY2UvY2xpZW50LXJlbW92ZWQtZnJvbS1jbGllbnRzLXdoaWxlLWluLXBhZ2Ut
Y2FjaGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9j
bGllbnQtcmVtb3ZlZC1mcm9tLWNsaWVudHMtd2hpbGUtaW4tcGFnZS1jYWNoZS5odG1sCkBAIC05
LDcgKzksNyBAQCBsb2coIiIpOwogCiBsZXQgdG9wQ2xpZW50SWRlbnRpZmllciA9IG51bGw7CiBs
ZXQgd2luZG93Q2xpZW50SWRlbnRpZmllciA9IG51bGw7Ci0KK2xldCBkZWRpY2F0ZWRXb3JrZXIg
PSBudWxsOwogbGV0IHRyaWVzID0gMDsKIAogZnVuY3Rpb24gY29udGFpbnNCb3RoQ2xpZW50cyhj
bGllbnRJZGVudGlmaWVycykKQEAgLTIzLDggKzIzLDggQEAgZnVuY3Rpb24gY29udGFpbnNPbmx5
VG9wQ2xpZW50KGNsaWVudElkZW50aWZpZXJzKQogfQogCiBuYXZpZ2F0b3Iuc2VydmljZVdvcmtl
ci5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwgZnVuY3Rpb24oZXZlbnQpIHsKLSAgaWYgKHN0
ZXAgPT0gIkJvdGhDbGllbnRzSW5pdGlhbGx5QWN0aXZlIikgewotICAgIGlmICghY29udGFpbnNC
b3RoQ2xpZW50cyhldmVudC5kYXRhKSkgeworICBpZiAoc3RlcCA9PSAiQWxsQ2xpZW50c0luaXRp
YWxseUFjdGl2ZSIpIHsKKyAgICBpZiAoIWNvbnRhaW5zQm90aENsaWVudHMoZXZlbnQuZGF0YS5p
ZHMpICYmIGV2ZW50LmRhdGEud29ya2Vyc0NvdW50ICE9PSAyKSB7CiAgICAgICBpZiAoKyt0cmll
cyA+IDIwKSB7CiAgICAgICAgICAgbG9nKCJGQUlMOiBXcm9uZyBpbml0aWFsIG51bWJlciBvZiBj
bGllbnRzIik7CiAgICAgICAgICAgZmluaXNoU1dUZXN0KCk7CkBAIC0zMyw3ICszMyw4IEBAIG5h
dmlnYXRvci5zZXJ2aWNlV29ya2VyLmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLCBmdW5jdGlv
bihldmVudCkgewogICAgICAgd29ya2VyLnBvc3RNZXNzYWdlKCJnZXRDbGllbnRJZHMiKTsKICAg
ICAgIHJldHVybjsKICAgICB9Ci0gICAgbG9nKCJQQVNTOiBzZXJ2aWNlIHdvcmtlciBoYXMgaW5p
dGlhbGx5IDIgY2xpZW50cyIpOworICAgIGxvZygiUEFTUzogc2VydmljZSB3b3JrZXIgaGFzIGlu
aXRpYWxseSAyIHdpbmRvdyBjbGllbnRzIik7CisgICAgbG9nKCJQQVNTOiBzZXJ2aWNlIHdvcmtl
ciBoYXMgaW5pdGlhbGx5IDIgd29ya2VyIGNsaWVudHMiKTsKIAogICAgIG90aGVyV2luZG93LmFk
ZEV2ZW50TGlzdGVuZXIoInBhZ2VoaWRlIiwgZnVuY3Rpb24oZXZlbnQpIHsKICAgICAgICBpZiAo
IWV2ZW50LnBlcnNpc3RlZCkgewpAQCAtNTQsMjggKzU1LDMxIEBAIG5hdmlnYXRvci5zZXJ2aWNl
V29ya2VyLmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLCBmdW5jdGlvbihldmVudCkgewogICB9
CiAKICAgaWYgKHN0ZXAgPT0gIk9ubHlPbmVDbGllbnRSZW1haW5zQWN0aXZlIikgewotICAgIGlm
ICghY29udGFpbnNPbmx5VG9wQ2xpZW50KGV2ZW50LmRhdGEpKSB7CisgICAgaWYgKCFjb250YWlu
c09ubHlUb3BDbGllbnQoZXZlbnQuZGF0YS5pZHMpICYmIGV2ZW50LmRhdGEud29ya2Vyc0NvdW50
ICE9PSAxKSB7CiAgICAgICBsb2coIkZBSUw6IFdyb25nIG51bWJlciBvZiBjbGllbnRzIGFmdGVy
IG9uZSBjbGllbnQgZW50ZXJlZCBwYWdlIGNhY2hlIik7CiAgICAgICBmaW5pc2hTV1Rlc3QoKTsK
ICAgICB9CiAKLSAgICBsb2coIlBBU1M6IHNlcnZpY2Ugd29ya2VyIGhhcyBvbmx5IDEgY2xpZW50
IGFmdGVyIDEgZW50ZXJlZCBwYWdlIGNhY2hlIik7CisgICAgbG9nKCJQQVNTOiBzZXJ2aWNlIHdv
cmtlciBoYXMgb25seSAxIHdpbmRvdyBjbGllbnQgYWZ0ZXIgMSBlbnRlcmVkIHBhZ2UgY2FjaGUi
KTsKKyAgICBsb2coIlBBU1M6IHNlcnZpY2Ugd29ya2VyIGhhcyBvbmx5IDEgd29ya2VyIGNsaWVu
dCBhZnRlciAxIGVudGVyZWQgcGFnZSBjYWNoZSIpOwogICAgIGZpbmlzaFNXVGVzdCgpOwogICB9
CiB9KTsKIAotbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIucmVnaXN0ZXIoInJlc291cmNlcy9nZXRD
bGllbnRJZHMtd29ya2VyLmpzIiwgeyB9KS50aGVuKGZ1bmN0aW9uKHJlZ2lzdHJhdGlvbikgewor
bmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIucmVnaXN0ZXIoInJlc291cmNlcy9nZXRDbGllbnRJZHMt
d29ya2VyLmpzIiwgeyB9KS50aGVuKGFzeW5jIChyZWdpc3RyYXRpb24pID0+IHsKICAgICBpZiAo
IXdpbmRvdy5pbnRlcm5hbHMpCiAgICAgICAgIHJldHVybjsKICAgICB0b3BDbGllbnRJZGVudGlm
aWVyID0gaW50ZXJuYWxzLnNlcnZpY2VXb3JrZXJDbGllbnRJbnRlcm5hbElkZW50aWZpZXIoZG9j
dW1lbnQpOwogCiAgICAgd29ya2VyID0gcmVnaXN0cmF0aW9uLmluc3RhbGxpbmc7CisKKyAgICBk
ZWRpY2F0ZWRXb3JrZXIgPSBuZXcgV29ya2VyKCJvdGhlcl9yZXNvdXJjZXMvZHVtbXkuanMiKTsK
KwogICAgIG90aGVyV2luZG93ID0gb3Blbigib3RoZXJfcmVzb3VyY2VzL3Rlc3QuaHRtbCIpOwot
ICAgIG90aGVyV2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgewotICAgICAgd2luZG93Q2xpZW50
SWRlbnRpZmllciA9IGludGVybmFscy5zZXJ2aWNlV29ya2VyQ2xpZW50SW50ZXJuYWxJZGVudGlm
aWVyKG90aGVyV2luZG93LmRvY3VtZW50KTsKLSAgICAgIHN0ZXAgPSAiQm90aENsaWVudHNJbml0
aWFsbHlBY3RpdmUiCi0gICAgICB3b3JrZXIucG9zdE1lc3NhZ2UoImdldENsaWVudElkcyIpOwot
ICAgIH07CisgICAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiBvdGhlcldpbmRvdy5vbmxv
YWQgPSByZXNvbHZlKTsKKyAgICB3aW5kb3dDbGllbnRJZGVudGlmaWVyID0gaW50ZXJuYWxzLnNl
cnZpY2VXb3JrZXJDbGllbnRJbnRlcm5hbElkZW50aWZpZXIob3RoZXJXaW5kb3cuZG9jdW1lbnQp
OworICAgIHN0ZXAgPSAiQWxsQ2xpZW50c0luaXRpYWxseUFjdGl2ZSIKKyAgICB3b3JrZXIucG9z
dE1lc3NhZ2UoImdldENsaWVudElkcyIpOwogfSk7CiA8L3NjcmlwdD4KIDwvYm9keT4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL290aGVyX3Jlc291
cmNlcy9kdW1teS5qcyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL290
aGVyX3Jlc291cmNlcy9kdW1teS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNjlkZTI5YmIyZDFkNjQzNGI4YjI5
YWU3NzVhZDhjMmU0OGM1MzkxCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dv
cmtlcnMvc2VydmljZS9vdGhlcl9yZXNvdXJjZXMvdGVzdC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93b3JrZXJzL3NlcnZpY2Uvb3RoZXJfcmVzb3VyY2VzL3Rlc3QuaHRtbAppbmRleCAy
YTAyZDQxY2UyMTMyM2IxY2RjMjI4Yzc4Y2VjMmY4MWMwNTRiZDM0Li4wZGQ3YmIzNmM5Y2I4NTYz
Zjg1YzM3NGE0NTVlMjY5ZGQ2ZTJmMmZhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3dvcmtlcnMvc2VydmljZS9vdGhlcl9yZXNvdXJjZXMvdGVzdC5odG1sCisrKyBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL290aGVyX3Jlc291cmNlcy90ZXN0Lmh0
bWwKQEAgLTEgKzEsOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5PgorPHNjcmlw
dCBzcmM9InJlc291cmNlcy9zdy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgordmFy
IGRlZGljYXRlZFdvcmtlciA9IG5ldyBXb3JrZXIoImR1bW15LmpzIik7Cis8L3NjcmlwdD4KIFRF
U1QKKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9z
ZXJ2aWNlL3Jlc291cmNlcy9nZXRDbGllbnRJZHMtd29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvcmVzb3VyY2VzL2dldENsaWVudElkcy13b3JrZXIuanMK
aW5kZXggY2UxOWIyNGY4MDgwNGRhMGY1NTE3OTNhZGE3YWZlNjdlZmUwNGNjNC4uZmMwNTY2MzIw
OWI2MDk5MGZhNmM3NTZlMmQyMDNkOGY0YzMxN2NiNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvcmVzb3VyY2VzL2dldENsaWVudElkcy13b3JrZXIu
anMKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvcmVzb3VyY2Vz
L2dldENsaWVudElkcy13b3JrZXIuanMKQEAgLTEsOSArMSwxMiBAQAotc2VsZi5hZGRFdmVudExp
c3RlbmVyKCJtZXNzYWdlIiwgKGV2ZW50KSA9PiB7CitzZWxmLmFkZEV2ZW50TGlzdGVuZXIoIm1l
c3NhZ2UiLCBhc3luYyAoZXZlbnQpID0+IHsKICAgICBzb3VyY2UgPSBldmVudC5zb3VyY2U7Ci0g
ICAgY2xpZW50cy5tYXRjaEFsbCh7IGluY2x1ZGVVbmNvbnRyb2xsZWQgOiB0cnVlIH0pLnRoZW4o
ZnVuY3Rpb24oY2xpZW50cykgewotICAgICAgICBsZXQgaWRzID0gW107Ci0gICAgICAgIGZvciAo
bGV0IGNsaWVudCBvZiBjbGllbnRzKQotICAgICAgICAgICAgaWRzLnB1c2goc2VsZi5pbnRlcm5h
bHMuc2VydmljZVdvcmtlckNsaWVudEludGVybmFsSWRlbnRpZmllcihjbGllbnQpKTsKLSAgICAg
ICAgc291cmNlLnBvc3RNZXNzYWdlKGlkcyk7Ci0gICAgfSk7CisgICAgY29uc3QgbWF0Y2hlZENs
aWVudHMgPSBhd2FpdCBjbGllbnRzLm1hdGNoQWxsKHsgaW5jbHVkZVVuY29udHJvbGxlZCA6IHRy
dWUsIHR5cGU6ICdhbGwnIH0pCisgICAgbGV0IGRhdGEgPSB7IGlkczogW10sIHdvcmtlckNvdW50
OiAwIH07CisgICAgZm9yIChsZXQgY2xpZW50IG9mIG1hdGNoZWRDbGllbnRzKSB7CisgICAgICAg
IGlmIChjbGllbnQudHlwZSA9PT0gJ3dvcmtlcicpCisgICAgICAgICAgICBkYXRhLndvcmtlckNv
dW50Kys7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGRhdGEuaWRzLnB1c2goc2VsZi5pbnRl
cm5hbHMuc2VydmljZVdvcmtlckNsaWVudEludGVybmFsSWRlbnRpZmllcihjbGllbnQpKTsKKyAg
ICB9CisgICAgc291cmNlLnBvc3RNZXNzYWdlKGRhdGEpOwogfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvYWJvdXQtYmxhbmstaWZyYW1lLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9hYm91dC1ibGFu
ay1pZnJhbWUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJjMWE2NmQ4N2U3YzgyYTc5YTlkY2Qy
OGNmODdmNDU0Mjk1YWU4NjIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dw
dC9zZXJ2aWNlLXdvcmtlcnMvYWJvdXQtYmxhbmstaWZyYW1lLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDUgQEAKKworUEFTUyBzZXR1cAorUEFTUyBwb3N0IG1lc3NhZ2luZyBmcm9tIGFuIGlmcmFt
ZQorUEFTUyByZW1vdmUgaWZyYW1lCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0
L3NlcnZpY2Utd29ya2Vycy9hYm91dC1ibGFuay1pZnJhbWUtd29ya2VyLmpzIGIvTGF5b3V0VGVz
dHMvaHR0cC93cHQvc2VydmljZS13b3JrZXJzL2Fib3V0LWJsYW5rLWlmcmFtZS13b3JrZXIuanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODIwMjY4MjVjNDc0YmRkZjMzNjIxOGFmZWU4ZDg5Nzg5ZjljOTQ0NQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9hYm91
dC1ibGFuay1pZnJhbWUtd29ya2VyLmpzCkBAIC0wLDAgKzEsNCBAQAorYWRkRXZlbnRMaXN0ZW5l
cignbWVzc2FnZScsIGFzeW5jIGV2ZW50ID0+IHsKKyAgICBjb25zdCBjbGllbnRzID0gYXdhaXQg
c2VsZi5jbGllbnRzLm1hdGNoQWxsKHsgaW5jbHVkZVVuY29udHJvbGxlZCA6IHRydWUgfSk7Cisg
ICAgY2xpZW50cy5mb3JFYWNoKGNsaWVudCA9PiBjbGllbnQucG9zdE1lc3NhZ2UoZXZlbnQuZGF0
YSkpOworfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtl
cnMvYWJvdXQtYmxhbmstaWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNl
LXdvcmtlcnMvYWJvdXQtYmxhbmstaWZyYW1lLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjEzODExZThiNjEw
ZWIzYzU1MzlhMWRhMDU5M2MwNzBkYmQ0NzYyOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9hYm91dC1ibGFuay1pZnJhbWUuaHRtbApAQCAt
MCwwICsxLDQ0IEBACis8aHRtbD4KKzxoZWFkPgorPHRpdGxlPlNlcnZpY2UgV29ya2VyIEZldGNo
IEV2ZW50PC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGlmcmFtZSBpZD0nbXlmcmFtZSc+PC9pZnJhbWU+
Cis8c2NyaXB0PgorcHJvbWlzZV90ZXN0KGFzeW5jICgpID0+IHsKKyAgICBjb25zdCBwcm9taXNl
ID0gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB3aW5kb3cucmVzb2x2ZUNhbGxiYWNrID0gcmVzb2x2
ZSk7CisgICAgbXlmcmFtZS5jb250ZW50RG9jdW1lbnQud3JpdGUoYAorICAgIDxib2R5PgorICAg
ICAgICA8c2NyaXB0PgorICAgICAgICAgICAgbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIucmVnaXN0
ZXIoJ2Fib3V0LWJsYW5rLWlmcmFtZS13b3JrZXIuanMnKS50aGVuKHJlZ2lzdHJhdGlvbiA9PiB7
CisgICAgICAgICAgICAgICAgd2luZG93LndvcmtlciA9IHJlZ2lzdHJhdGlvbi5hY3RpdmUgPyBy
ZWdpc3RyYXRpb24uYWN0aXZlIDogcmVnaXN0cmF0aW9uLmluc3RhbGxpbmc7CisgICAgICAgICAg
ICAgICAgcGFyZW50LnJlc29sdmVDYWxsYmFjaygpOworICAgICAgICAgICAgfSk7CisgICAgICAg
IDwvJHsnc2NyaXB0J30+CisgICAgPC9ib2R5PmApOworICAgIHJldHVybiBwcm9taXNlOworfSwg
InNldHVwIik7CisKK3Byb21pc2VfdGVzdChhc3luYyAoKSA9PiB7CisgICAgY29uc3QgcHJvbWlz
ZSA9IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHsKKyAgICAgICAgbmF2aWdhdG9y
LnNlcnZpY2VXb3JrZXIuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsIChldmVudCkgPT4gewor
ICAgICAgICAgICAgcmVzb2x2ZShldmVudC5kYXRhKTsKKyAgICAgICAgfSk7CisgICAgICAgIHNl
dFRpbWVvdXQoKCkgPT4gcmVqZWN0KCJObyByZXNwb25zZSBtZXNzYWdlIGZyb20gc2VydmljZSB3
b3JrZXIiKSwgNTAwMCk7CisgICAgfSk7CisKKyAgICBteWZyYW1lLmNvbnRlbnRXaW5kb3cud29y
a2VyLnBvc3RNZXNzYWdlKCJoZWxsbyIpOworICAgIGFzc2VydF9lcXVhbHMoYXdhaXQgcHJvbWlz
ZSwgImhlbGxvIik7Cit9LCAicG9zdCBtZXNzYWdpbmcgZnJvbSBhbiBpZnJhbWUiKTsKKworcHJv
bWlzZV90ZXN0KGFzeW5jICgpID0+IHsKKyAgICBjb25zdCByZWdpc3RyYXRpb25zID0gYXdhaXQg
bmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIuZ2V0UmVnaXN0cmF0aW9ucygpOworICAgIGZvciAobGV0
IHJlZ2lzdHJhdGlvbiBvZiByZWdpc3RyYXRpb25zKQorICAgICAgICBhd2FpdCByZWdpc3RyYXRp
b24udW5yZWdpc3RlcigpOworICAgIG15ZnJhbWUucmVtb3ZlKCk7Cit9LCAicmVtb3ZlIGlmcmFt
ZSIpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9hYm91dC1ibGFuay1yZXBsYWNlbWVudC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9hYm91dC1ibGFuay1yZXBsYWNlbWVudC5odHRwcy1leHBlY3RlZC50eHQK
aW5kZXggZmMwYThhZjVhODg1YTgyMzYwZmQ2OGU3N2UwNjBlODA3M2VlYzU1Ny4uNTQxNjk5MzFh
ZWJjOGM0ZDBmOGIwODU5YzkxNzY1Mjc2MTcwN2U2YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvYWJvdXQtYmxhbmstcmVwbGFjZW1lbnQuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL2Fib3V0LWJsYW5rLXJlcGxhY2VtZW50Lmh0dHBzLWV4cGVjdGVkLnR4
dApAQCAtNSw3ICs1LDcgQEAgRkFJTCBJbml0aWFsIGFib3V0OmJsYW5rIGlzIGNvbnRyb2xsZWQs
IGV4cG9zZWQgdG8gY2xpZW50cy5tYXRjaEFsbCgpLCBhbmQgbWF0Y2gKIEZBSUwgSW5pdGlhbCBh
Ym91dDpibGFuayBtb2RpZmllZCBieSBwYXJlbnQgaXMgY29udHJvbGxlZCwgZXhwb3NlZCB0byBj
bGllbnRzLm1hdGNoQWxsKCksIGFuZCBtYXRjaGVzIGZpbmFsIENsaWVudC4gYXNzZXJ0X2ZhbHNl
OiByZXN1bHQ6IGZhaWx1cmU6IGNvdWxkIG5vdCBmaW5kIGFib3V0OmJsYW5rIGNsaWVudCBleHBl
Y3RlZCBmYWxzZSBnb3QgdHJ1ZQogRkFJTCBQb3B1cCBpbml0aWFsIGFib3V0OmJsYW5rIGlzIGNv
bnRyb2xsZWQsIGV4cG9zZWQgdG8gY2xpZW50cy5tYXRjaEFsbCgpLCBhbmQgbWF0Y2hlcyBmaW5h
bCBDbGllbnQuIGFzc2VydF9mYWxzZTogcmVzdWx0OiBmYWlsdXJlOiBjb3VsZCBub3QgZmluZCBh
Ym91dDpibGFuayBjbGllbnQgZXhwZWN0ZWQgZmFsc2UgZ290IHRydWUKIFBBU1MgSW5pdGlhbCBh
Ym91dDpibGFuayBpcyBjb250cm9sbGVkLCBleHBvc2VkIHRvIGNsaWVudHMubWF0Y2hBbGwoKSwg
YW5kIGZpbmFsIENsaWVudCBpcyBub3QgY29udHJvbGxlZCBieSBhIHNlcnZpY2Ugd29ya2VyLgot
RkFJTCBTaW1wbGUgYWJvdXQ6YmxhbmsgaXMgY29udHJvbGxlZCBhbmQgaXMgZXhwb3NlZCB0byBj
bGllbnRzLm1hdGNoQWxsKCkuIGFzc2VydF9mYWxzZTogcmVzdWx0OiBmYWlsdXJlOiBjb3VsZCBu
b3QgZmluZCBhYm91dDpibGFuayBjbGllbnQgZXhwZWN0ZWQgZmFsc2UgZ290IHRydWUKLUZBSUwg
TmVzdGVkIGFib3V0OnNyY2RvYyBpcyBjb250cm9sbGVkIGFuZCBpcyBleHBvc2VkIHRvIGNsaWVu
dHMubWF0Y2hBbGwoKS4gYXNzZXJ0X2ZhbHNlOiByZXN1bHQ6IGZhaWx1cmU6IGNvdWxkIG5vdCBm
aW5kIGFib3V0OnNyY2RvYyBjbGllbnQgZXhwZWN0ZWQgZmFsc2UgZ290IHRydWUKLUZBSUwgRHlu
YW1pYyBhYm91dDpibGFuayBpcyBjb250cm9sbGVkIGFuZCBpcyBleHBvc2VkIHRvIGNsaWVudHMu
bWF0Y2hBbGwoKS4gYXNzZXJ0X2ZhbHNlOiByZXN1bHQ6IGZhaWx1cmU6IGNvdWxkIG5vdCBmaW5k
IGFib3V0OmJsYW5rIGNsaWVudCBleHBlY3RlZCBmYWxzZSBnb3QgdHJ1ZQorUEFTUyBTaW1wbGUg
YWJvdXQ6YmxhbmsgaXMgY29udHJvbGxlZCBhbmQgaXMgZXhwb3NlZCB0byBjbGllbnRzLm1hdGNo
QWxsKCkuCitQQVNTIE5lc3RlZCBhYm91dDpzcmNkb2MgaXMgY29udHJvbGxlZCBhbmQgaXMgZXhw
b3NlZCB0byBjbGllbnRzLm1hdGNoQWxsKCkuCitQQVNTIER5bmFtaWMgYWJvdXQ6YmxhbmsgaXMg
Y29udHJvbGxlZCBhbmQgaXMgZXhwb3NlZCB0byBjbGllbnRzLm1hdGNoQWxsKCkuCiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NsaWVudC11cmwtb2YtYmxvYi11cmwtd29ya2VyLmh0
dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NsaWVudC11cmwtb2YtYmxvYi11
cmwtd29ya2VyLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCA0ZjdhN2MxODkyNTY4ZjhlNzU0ZWE5
Y2M5MmIzZGJkYWZhNzc3ZGRkLi4wNjA4YzA0MTgxNDBlZTEyZjViNTI4MTZjNGRmZDdjNzBmZmVi
MGRhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGllbnQtdXJsLW9mLWJsb2ItdXJs
LXdvcmtlci5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xpZW50
LXVybC1vZi1ibG9iLXVybC13b3JrZXIuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBA
QAogCi1GQUlMIENsaWVudC51cmwgb2YgYSBibG9iIFVSTCB3b3JrZXIgc2hvdWxkIGJlIGEgYmxv
YiBVUkwuIGFzc2VydF9ub3RfZXF1YWxzOiB3b3JrZXIgY2xpZW50IHNob3VsZCBleGlzdCBnb3Qg
ZGlzYWxsb3dlZCB2YWx1ZSAib25lIHdvcmtlciBjbGllbnQgc2hvdWxkIGV4aXN0IgorUEFTUyBD
bGllbnQudXJsIG9mIGEgYmxvYiBVUkwgd29ya2VyIHNob3VsZCBiZSBhIGJsb2IgVVJMLgogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGllbnRzLW1hdGNoYWxsLWJsb2ItdXJsLXdv
cmtlci5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGllbnRzLW1hdGNo
YWxsLWJsb2ItdXJsLXdvcmtlci5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggODM2YmFmYWY2ODQy
OWUxMWY5M2I0OGEzNTNkM2FmZGIyZDlmMTg1Zi4uN2JkYzkzYjRjMWMzNjg5MzU3OTU5Mjg1MTBl
MDI3M2Y0NmU3ZWQzYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xpZW50cy1tYXRj
aGFsbC1ibG9iLXVybC13b3JrZXIuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL2NsaWVudHMtbWF0Y2hhbGwtYmxvYi11cmwtd29ya2VyLmh0dHBzLWV4cGVjdGVkLnR4
dApAQCAtMSw0ICsxLDQgQEAKIAotRkFJTCBUZXN0IENsaWVudHMubWF0Y2hBbGwoKSB3aXRoIGEg
YmxvYiBVUkwgd29ya2VyIGNsaWVudC4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMSBidXQgZ290
IDAKLUZBSUwgVGVzdCBDbGllbnRzLm1hdGNoQWxsKCkgd2l0aCBhbiB1bmNvbnRyb2xsZWQgYmxv
YiBVUkwgd29ya2VyIGNsaWVudC4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMSBidXQgZ290IDAK
K1BBU1MgVGVzdCBDbGllbnRzLm1hdGNoQWxsKCkgd2l0aCBhIGJsb2IgVVJMIHdvcmtlciBjbGll
bnQuCitQQVNTIFRlc3QgQ2xpZW50cy5tYXRjaEFsbCgpIHdpdGggYW4gdW5jb250cm9sbGVkIGJs
b2IgVVJMIHdvcmtlciBjbGllbnQuCiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>457685</attachid>
            <date>2022-04-15 01:56:20 -0700</date>
            <delta_ts>2022-04-15 06:16:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-213984-20220415105619.patch</filename>
            <type>text/plain</type>
            <size>42990</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyODU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGI4NGFkYjE3NDRjNDU1
ZjllZTJjNDM3YjJjNjZmNDA0ZDVlNzUwOC4uOWFhOWExMzhiYmIwNDMwNGM4OTFlZThjNjU3NGNh
YjZlZTIwZGE4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDIyLTA0LTE1ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBTZXJ2aWNlV29ya2VyLnBv
c3RNZXNzYWdlKCkgZG9lc24ndCB3b3JrIGZyb20gaW5zaWRlIGlmcmFtZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEzOTg0CisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS82NTIwMzM0MD4KKworICAgICAgICBSZXZpZXdlZCBieSBDaHJpcyBEdW1lei4K
KworICAgICAgICBwb3N0TWVzc2FnZSB3YXMgbm90IHdvcmtpbmcgYXMgd2UgZG8gbm90IHBvc3RN
ZXNzYWdlIHRvIGEgc2VydmljZSB3b3JrZXIgaWYgdGhlIHNvdXJjZSBpcyBub3QgcmVnaXN0ZXJl
ZC4KKyAgICAgICAgV2Ugbm93IHJlZ2lzdGVyIHNlcnZpY2Ugd29ya2VyIGNsaWVudHMgbW9yZSBh
Z2dyZXNpdmVseSBhbmQgcGFzcyB0aGUgY2xpZW50IG9yaWdpbiB0byBiZXR0ZXIgaGFuZGxlIGJs
b2IgYW5kIGFib3V0OmJsYW5rIGNsaWVudHMuCisgICAgICAgIFdlIGFsc28gYWRkIHN1cHBvcnQg
Zm9yIHJlZ2lzdGVyaW5nL3VucmVnaXN0ZXJpbmcgd29ya2VyIGNsaWVudHMgd2hlbiB0aGV5IGdl
dCBzdXNwZW5kZWQvcmVzdW1lZC4KKyAgICAgICAgVG8gbWFrZSBzdXJlIGEgd29ya2VyIGNsaWVu
dCBpcyByZW1vdmVkIGluIGZhaWx1cmUgY2FzZSwgV29ya2VyU2NyaXB0TG9hZGVyIGlzIHVucmVn
aXN0ZXJpbmcgdGhlIHNlcnZpY2Ugd29ya2VyIGNsaWVudCBpZgorICAgICAgICB0aGUgc2Vydmlj
ZSB3b3JrZXIgZGF0YSB3YXMgbm90IHRha2VuIGJ5IGl0cyBXb3JrZXIuCisKKyAgICAgICAgVGVz
dDogaHR0cC93cHQvc2VydmljZS13b3JrZXJzL2Fib3V0LWJsYW5rLWlmcmFtZS5odG1sCisKKyAg
ICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAqIGxvYWRlci9Eb2N1bWVudExvYWRl
ci5jcHA6CisgICAgICAgICogd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJUaHJlYWQuY3BwOgorICAg
ICAgICAqIHdvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwOgorICAgICAgICAqIHdvcmtlcnMv
V29ya2VyR2xvYmFsU2NvcGUuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlclNjcmlwdExvYWRl
ci5jcHA6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NXQ2xpZW50Q29ubmVjdGlvbi5oOgor
ICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9Xb3JrZXJTV0NsaWVudENvbm5lY3Rpb24uY3BwOgor
ICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9Xb3JrZXJTV0NsaWVudENvbm5lY3Rpb24uaDoKKwog
MjAyMi0wNC0xMyAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAg
RXhwb3NlIHdvcmtlcnMgYXMgc2VydmljZSB3b3JrZXIgY2xpZW50cyBhbmQgaW1wbGVtZW50IHJl
Z2lzdHJhdGlvbiBtYXRjaGluZyBmb3IgZGVkaWNhdGVkIHdvcmtlcnMKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggMzE5
NjEwZWM5M2Y4YzIyMGYwZDgzY2RjNmRiNTUwZTUzNjcyMjZkZi4uOGFhZDAzMjk4YmJiMjdmOGFk
YzNjMTY0Zjk5Y2I3NjdiZWRjNWI2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAyMi0w
NC0xNSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgU2Vydmlj
ZVdvcmtlci5wb3N0TWVzc2FnZSgpIGRvZXNuJ3Qgd29yayBmcm9tIGluc2lkZSBpZnJhbWUKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMzk4NAorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vNjUyMDMzNDA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQ2hy
aXMgRHVtZXouCisKKyAgICAgICAgUGFzcyB0aGUgZnVsbCBDbGllbnRPcmlnaW4gd2hlbiByZWdp
c3RlcmluZyBhIHNlcnZpY2Ugd29ya2VyIGNsaWVudC4KKyAgICAgICAgRmlsdGVyIG91dCBjbGll
bnRzIHRoYXQgY2Fubm90IGJlIG1hdGNoZWQ6CisgICAgICAgIC0gbm9uIEhUVFAvYmxvYi9hYm91
dDpibGFuayBjbGllbnRzCisgICAgICAgIC0gc2FuZGJveGVkIEhUVFAgY2xpZW50cworCisgICAg
ICAgICogTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24u
Y3BwOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJD
b25uZWN0aW9uLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9XZWJT
V1NlcnZlckNvbm5lY3Rpb24ubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9TdG9y
YWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9TdG9y
YWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5oOgorCiAyMDIyLTA0LTEzICBZb3Vlbm4gRmFibGV0
ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBFeHBvc2Ugd29ya2VycyBhcyBzZXJ2aWNl
IHdvcmtlciBjbGllbnRzIGFuZCBpbXBsZW1lbnQgcmVnaXN0cmF0aW9uIG1hdGNoaW5nIGZvciBk
ZWRpY2F0ZWQgd29ya2VycwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggZTNkYjVkNmEyZmFi
Njc0YmZiNmFiMzcyMWQ2MDkyNDE3ZjVkYTI2OS4uZjY0NDk5NGExY2Y2MzEyZGZjZGEyNDgyNTU3
YzgwZGNiMWJhYzJhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC04Nzc4LDcgKzg3Nzgs
NyBAQCB2b2lkIERvY3VtZW50Ojp1cGRhdGVTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSgpCiAgICAg
ICAgIHJldHVybjsKIAogICAgIGF1dG8gY29udHJvbGxpbmdTZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uSWRlbnRpZmllciA9IGFjdGl2ZVNlcnZpY2VXb3JrZXIoKSA/IHN0ZDo6bWFrZV9vcHRpb25h
bDxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcj4oYWN0aXZlU2VydmljZVdvcmtl
cigpLT5yZWdpc3RyYXRpb25JZGVudGlmaWVyKCkpIDogc3RkOjpudWxsb3B0OwotICAgIG1fc2Vy
dmljZVdvcmtlckNvbm5lY3Rpb24tPnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudCh0b3BPcmln
aW4oKSwgU2VydmljZVdvcmtlckNsaWVudERhdGE6OmZyb20oKnRoaXMpLCBjb250cm9sbGluZ1Nl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyLCB1c2VyQWdlbnQodXJsKCkpKTsKKyAg
ICBtX3NlcnZpY2VXb3JrZXJDb25uZWN0aW9uLT5yZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQo
Y2xpZW50T3JpZ2luKCksIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhOjpmcm9tKCp0aGlzKSwgY29u
dHJvbGxpbmdTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciwgdXNlckFnZW50KHVy
bCgpKSk7CiB9CiAKIHZvaWQgRG9jdW1lbnQ6Om5hdmlnYXRlRnJvbVNlcnZpY2VXb3JrZXIoY29u
c3QgVVJMJiB1cmwsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYgY2FsbGJhY2spCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcAppbmRleCA0MTY5N2Y1MzBmMWVl
Y2FkMGMyN2YzYTRlZTJkYzkwOTNmNzAyMjViLi43ZjM5MWJmNDQ2NmNlN2QzMDY3OWQ2ZjQ0MGU0
M2JiZmIwNjVkMzkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRM
b2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAK
QEAgLTEyNTksNyArMTI1OSw3IEBAIHZvaWQgRG9jdW1lbnRMb2FkZXI6OmNvbW1pdERhdGEoY29u
c3QgU2hhcmVkQnVmZmVyJiBkYXRhKQogICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5jcmVh
dGVOZXdJZGVudGlmaWVyKCk7CiAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIGlmIChtX2Zy
YW1lLT5kb2N1bWVudCgpLT5hY3RpdmVTZXJ2aWNlV29ya2VyKCkgfHwgZG9jdW1lbnQudXJsKCku
cHJvdG9jb2xJc0luSFRUUEZhbWlseSgpIHx8IChkb2N1bWVudC5wYWdlKCkgJiYgZG9jdW1lbnQu
cGFnZSgpLT5pc1NlcnZpY2VXb3JrZXJQYWdlKCkpKQorICAgICAgICAgICAgaWYgKG1fZnJhbWUt
PmRvY3VtZW50KCktPmFjdGl2ZVNlcnZpY2VXb3JrZXIoKSB8fCBkb2N1bWVudC51cmwoKS5wcm90
b2NvbElzSW5IVFRQRmFtaWx5KCkgfHwgKGRvY3VtZW50LnBhZ2UoKSAmJiBkb2N1bWVudC5wYWdl
KCktPmlzU2VydmljZVdvcmtlclBhZ2UoKSkgfHwgKGRvY3VtZW50LnBhcmVudERvY3VtZW50KCkg
JiYgc2hvdWxkVXNlQWN0aXZlU2VydmljZVdvcmtlckZyb21QYXJlbnQoZG9jdW1lbnQsICpkb2N1
bWVudC5wYXJlbnREb2N1bWVudCgpKSkpCiAgICAgICAgICAgICAgICAgZG9jdW1lbnQuc2V0U2Vy
dmljZVdvcmtlckNvbm5lY3Rpb24oJlNlcnZpY2VXb3JrZXJQcm92aWRlcjo6c2luZ2xldG9uKCku
c2VydmljZVdvcmtlckNvbm5lY3Rpb24oKSk7CiAKICAgICAgICAgICAgIGlmIChtX3Jlc3VsdGlu
Z0NsaWVudElkKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRl
ZFdvcmtlclRocmVhZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtl
clRocmVhZC5jcHAKaW5kZXggNzUwMzMyYjNkZTVlZGZkMmVlNzc1NjUwMTVmN2I4NmUxZjViYzZh
My4uMmY1Mjk3YzlmMDlmOGQwZjJmNTEwZDUyNTJiOTE0ODliYTE4YjQwYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJUaHJlYWQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyVGhyZWFkLmNwcApAQCAtNTIsNiAr
NTIsNyBAQCBSZWY8V29ya2VyR2xvYmFsU2NvcGU+IERlZGljYXRlZFdvcmtlclRocmVhZDo6Y3Jl
YXRlV29ya2VyR2xvYmFsU2NvcGUoY29uc3QgV29yawogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktF
UikKICAgICBpZiAocGFyYW1zLnNlcnZpY2VXb3JrZXJEYXRhKQogICAgICAgICBzY29wZS0+c2V0
QWN0aXZlU2VydmljZVdvcmtlcihTZXJ2aWNlV29ya2VyOjpnZXRPckNyZWF0ZShzY29wZS5nZXQo
KSwgU2VydmljZVdvcmtlckRhdGEgeyAqcGFyYW1zLnNlcnZpY2VXb3JrZXJEYXRhIH0pKTsKKyAg
ICBzY29wZS0+dXBkYXRlU2VydmljZVdvcmtlckNsaWVudERhdGEoKTsKICNlbmRpZgogICAgIHJl
dHVybiBzY29wZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
R2xvYmFsU2NvcGUuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29w
ZS5jcHAKaW5kZXggYWM0ZGU0YjdjMGVkZDQ5NWYwYzA0NTQyNjY2ZmI4MjYyNzA1ZTQ5MS4uNjYw
ODhiYjEwYmU0YjlkZDIyM2NjYzg3NzU5MGM5YmFmMjVhZDVkZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHAKQEAgLTE1MSw2ICsxNTEsMTEgQEAgdm9p
ZCBXb3JrZXJHbG9iYWxTY29wZTo6cHJlcGFyZUZvckRlc3RydWN0aW9uKCkKIHsKICAgICBXb3Jr
ZXJPcldvcmtsZXRHbG9iYWxTY29wZTo6cHJlcGFyZUZvckRlc3RydWN0aW9uKCk7CiAKKyNpZiBF
TkFCTEUoU0VSVklDRV9XT1JLRVIpCisgICAgaWYgKHNldHRpbmdzVmFsdWVzKCkuc2VydmljZVdv
cmtlcnNFbmFibGVkKQorICAgICAgICBzd0NsaWVudENvbm5lY3Rpb24oKS51bnJlZ2lzdGVyU2Vy
dmljZVdvcmtlckNsaWVudChpZGVudGlmaWVyKCkpOworI2VuZGlmCisKICAgICBzdG9wSW5kZXhl
ZERhdGFiYXNlKCk7CiAKICAgICBpZiAobV9jYWNoZVN0b3JhZ2VDb25uZWN0aW9uKQpAQCAtMjI5
LDEwICsyMzQsMjAgQEAgdm9pZCBXb3JrZXJHbG9iYWxTY29wZTo6c3VzcGVuZCgpCiB7CiAgICAg
aWYgKG1fY29ubmVjdGlvblByb3h5KQogICAgICAgICBtX2Nvbm5lY3Rpb25Qcm94eS0+c2V0Q29u
dGV4dFN1c3BlbmRlZCgqdGhpcywgdHJ1ZSk7CisKKyNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIp
CisgICAgaWYgKHNldHRpbmdzVmFsdWVzKCkuc2VydmljZVdvcmtlcnNFbmFibGVkKQorICAgICAg
ICBzd0NsaWVudENvbm5lY3Rpb24oKS51bnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChpZGVu
dGlmaWVyKCkpOworI2VuZGlmCiB9CiAKIHZvaWQgV29ya2VyR2xvYmFsU2NvcGU6OnJlc3VtZSgp
CiB7CisjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQorICAgIGlmIChzZXR0aW5nc1ZhbHVlcygp
LnNlcnZpY2VXb3JrZXJzRW5hYmxlZCkKKyAgICAgICAgdXBkYXRlU2VydmljZVdvcmtlckNsaWVu
dERhdGEoKTsKKyNlbmRpZgorCiAgICAgaWYgKG1fY29ubmVjdGlvblByb3h5KQogICAgICAgICBt
X2Nvbm5lY3Rpb25Qcm94eS0+c2V0Q29udGV4dFN1c3BlbmRlZCgqdGhpcywgZmFsc2UpOwogfQpA
QCAtNjU3LDEwICs2NzIsMTIgQEAgdm9pZCBXb3JrZXJHbG9iYWxTY29wZTo6dXBkYXRlU291cmNl
UHJvdmlkZXJCdWZmZXJzKGNvbnN0IFNjcmlwdEJ1ZmZlciYgbWFpblNjcmkKICNpZiBFTkFCTEUo
U0VSVklDRV9XT1JLRVIpCiB2b2lkIFdvcmtlckdsb2JhbFNjb3BlOjp1cGRhdGVTZXJ2aWNlV29y
a2VyQ2xpZW50RGF0YSgpCiB7Ci0gICAgQVNTRVJUKHR5cGUoKSA9PSBXZWJDb3JlOjpXb3JrZXJH
bG9iYWxTY29wZTo6VHlwZTo6RGVkaWNhdGVkV29ya2VyKTsKKyAgICBpZiAoIXNldHRpbmdzVmFs
dWVzKCkuc2VydmljZVdvcmtlcnNFbmFibGVkKQorICAgICAgICByZXR1cm47CisKKyAgICBBU1NF
UlQodHlwZSgpID09IFdlYkNvcmU6Oldvcmtlckdsb2JhbFNjb3BlOjpUeXBlOjpEZWRpY2F0ZWRX
b3JrZXIgfHwgdHlwZSgpID09IFdlYkNvcmU6Oldvcmtlckdsb2JhbFNjb3BlOjpUeXBlOjpTaGFy
ZWRXb3JrZXIpOwogICAgIGF1dG8gY29udHJvbGxpbmdTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
SWRlbnRpZmllciA9IGFjdGl2ZVNlcnZpY2VXb3JrZXIoKSA/IHN0ZDo6bWFrZV9vcHRpb25hbDxT
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcj4oYWN0aXZlU2VydmljZVdvcmtlcigp
LT5yZWdpc3RyYXRpb25JZGVudGlmaWVyKCkpIDogc3RkOjpudWxsb3B0OwotICAgIFNXQ2xpZW50
Q29ubmVjdGlvbiYgY29ubmVjdGlvbiA9IHN3Q2xpZW50Q29ubmVjdGlvbigpOwotICAgIGNvbm5l
Y3Rpb24ucmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KHRvcE9yaWdpbigpLCBTZXJ2aWNlV29y
a2VyQ2xpZW50RGF0YTo6ZnJvbSgqdGhpcyksIGNvbnRyb2xsaW5nU2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbklkZW50aWZpZXIsIFN0cmluZyB7IG1fdXNlckFnZW50IH0pOworICAgIHN3Q2xpZW50
Q29ubmVjdGlvbigpLnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChjbGllbnRPcmlnaW4oKSwg
U2VydmljZVdvcmtlckNsaWVudERhdGE6OmZyb20oKnRoaXMpLCBjb250cm9sbGluZ1NlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyLCBTdHJpbmcgeyBtX3VzZXJBZ2VudCB9KTsKIH0K
ICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2Jh
bFNjb3BlLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmgKaW5k
ZXggNThiYmQ2NTc3ZmE0MzcyMDdlOWJhNzZkZGVlNzNlMzk2NGRlZDZjZC4uZWQ3ODkzY2JjODIy
YTc4MzVmODA0ZDU5MmE2YjQ3YWQ0ZjhlNzlkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyR2xvYmFsU2NvcGUuaApAQCAtOTcsOCArOTcsMTAgQEAgcHVibGljOgogICAgIFdFQkNP
UkVfRVhQT1JUIFdvcmtlckZpbGVTeXN0ZW1TdG9yYWdlQ29ubmVjdGlvbiogZmlsZVN5c3RlbVN0
b3JhZ2VDb25uZWN0aW9uKCk7CiAgICAgV29ya2VyQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbiYgY2Fj
aGVTdG9yYWdlQ29ubmVjdGlvbigpOwogICAgIE1lc3NhZ2VQb3J0Q2hhbm5lbFByb3ZpZGVyJiBt
ZXNzYWdlUG9ydENoYW5uZWxQcm92aWRlcigpOworCiAjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VS
KQogICAgIFdvcmtlclNXQ2xpZW50Q29ubmVjdGlvbiYgc3dDbGllbnRDb25uZWN0aW9uKCk7Cisg
ICAgdm9pZCB1cGRhdGVTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSgpIGZpbmFsOwogI2VuZGlmCiAK
ICAgICBXb3JrZXJUaHJlYWQmIHRocmVhZCgpIGNvbnN0OwpAQCAtMTkyLDkgKzE5NCw2IEBAIHBy
aXZhdGU6CiAgICAgYm9vbCB3cmFwQ3J5cHRvS2V5KGNvbnN0IFZlY3Rvcjx1aW50OF90PiYga2V5
LCBWZWN0b3I8dWludDhfdD4mIHdyYXBwZWRLZXkpIGZpbmFsOwogICAgIGJvb2wgdW53cmFwQ3J5
cHRvS2V5KGNvbnN0IFZlY3Rvcjx1aW50OF90PiYgd3JhcHBlZEtleSwgVmVjdG9yPHVpbnQ4X3Q+
JiBrZXkpIGZpbmFsOwogI2VuZGlmCi0jaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQotICAgIHZv
aWQgdXBkYXRlU2VydmljZVdvcmtlckNsaWVudERhdGEoKSBmaW5hbDsKLSNlbmRpZgogCiAgICAg
dm9pZCBzdG9wSW5kZXhlZERhdGFiYXNlKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyU2NyaXB0TG9hZGVyLmNwcAppbmRleCA5MWFkYzBmMzM3YjljNGIyZGU1NGRmMjdmMWM2
ZjFjMjNmMGQ5NzgzLi41MTI3YmI5MDAzMDM0NWQ0MDJlMGFiM2RkNTkwYjcyNzBiNTBjZTk2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuY3BwCkBAIC0z
Niw2ICszNiw3IEBACiAjaW5jbHVkZSAiU2VydmljZVdvcmtlci5oIgogI2luY2x1ZGUgIlNlcnZp
Y2VXb3JrZXJDb250ZXh0RGF0YS5oIgogI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJHbG9iYWxTY29w
ZS5oIgorI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJQcm92aWRlci5oIgogI2luY2x1ZGUgIlRleHRS
ZXNvdXJjZURlY29kZXIuaCIKICNpbmNsdWRlICJXb3JrZXJGZXRjaFJlc3VsdC5oIgogI2luY2x1
ZGUgIldvcmtlckdsb2JhbFNjb3BlLmgiCkBAIC01OCw4ICs1OSwxNCBAQCBXb3JrZXJTY3JpcHRM
b2FkZXI6OldvcmtlclNjcmlwdExvYWRlcigpCiAKIFdvcmtlclNjcmlwdExvYWRlcjo6fldvcmtl
clNjcmlwdExvYWRlcigpCiB7Ci0gICAgaWYgKG1fY2xpZW50SWRlbnRpZmllcikKLSAgICAgICAg
c2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXJUb1dvcmtlclNjcmlwdExvYWRlck1hcCgp
LnJlbW92ZShtX2NsaWVudElkZW50aWZpZXIpOworICAgIGlmICghbV9jbGllbnRJZGVudGlmaWVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmll
clRvV29ya2VyU2NyaXB0TG9hZGVyTWFwKCkucmVtb3ZlKG1fY2xpZW50SWRlbnRpZmllcik7Cisj
aWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQorICAgIGlmIChtX2FjdGl2ZVNlcnZpY2VXb3JrZXJE
YXRhKQorICAgICAgICBTZXJ2aWNlV29ya2VyUHJvdmlkZXI6OnNpbmdsZXRvbigpLnNlcnZpY2VX
b3JrZXJDb25uZWN0aW9uKCkudW5yZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQobV9jbGllbnRJ
ZGVudGlmaWVyKTsKKyNlbmRpZgogfQogCiBzdGQ6Om9wdGlvbmFsPEV4Y2VwdGlvbj4gV29ya2Vy
U2NyaXB0TG9hZGVyOjpsb2FkU3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBz
Y3JpcHRFeGVjdXRpb25Db250ZXh0LCBjb25zdCBVUkwmIHVybCwgU291cmNlIHNvdXJjZSwgRmV0
Y2hPcHRpb25zOjpNb2RlIG1vZGUsIEZldGNoT3B0aW9uczo6Q2FjaGUgY2FjaGVQb2xpY3ksIENv
bnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50IGNvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9y
Y2VtZW50LCBjb25zdCBTdHJpbmcmIGluaXRpYXRvcklkZW50aWZpZXIpCkBAIC0xNTEsMTMgKzE1
OCwxMiBAQCB2b2lkIFdvcmtlclNjcmlwdExvYWRlcjo6bG9hZEFzeW5jaHJvbm91c2x5KFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQmIHNjcmlwdEV4ZWN1dAogICAgIC8vIEZJWE1FOiBBZGQgc3VwcG9y
dCBmb3Igc2hhcmVkIHdvcmtlci4KICAgICBpZiAobV9kZXN0aW5hdGlvbiA9PSBGZXRjaE9wdGlv
bnM6OkRlc3RpbmF0aW9uOjpXb3JrZXIgJiYgaXM8RG9jdW1lbnQ+KHNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQpKSB7CiAgICAgICAgIEFTU0VSVChjbGllbnRJZGVudGlmaWVyKTsKKyAgICAgICAgb3B0
aW9ucy5jbGllbnRJZGVudGlmaWVyID0gbV9jbGllbnRJZGVudGlmaWVyID0gY2xpZW50SWRlbnRp
ZmllcjsKICAgICAgICAgLy8gSW4gY2FzZSBvZiBibG9iIFVSTHMsIHdlIHJldXNlIHRoZSBkb2N1
bWVudCBjb250cm9sbGluZyBzZXJ2aWNlIHdvcmtlci4KICAgICAgICAgaWYgKHJlcXVlc3QtPnVy
bCgpLnByb3RvY29sSXNCbG9iKCkgJiYgc2NyaXB0RXhlY3V0aW9uQ29udGV4dC5hY3RpdmVTZXJ2
aWNlV29ya2VyKCkpCiAgICAgICAgICAgICBzZXRDb250cm9sbGluZ1NlcnZpY2VXb3JrZXIoU2Vy
dmljZVdvcmtlckRhdGEgeyBzY3JpcHRFeGVjdXRpb25Db250ZXh0LmFjdGl2ZVNlcnZpY2VXb3Jr
ZXIoKS0+ZGF0YSgpIH0pOwotICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgIG9wdGlvbnMuY2xp
ZW50SWRlbnRpZmllciA9IG1fY2xpZW50SWRlbnRpZmllciA9IGNsaWVudElkZW50aWZpZXI7Cisg
ICAgICAgIGVsc2UKICAgICAgICAgICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVy
VG9Xb3JrZXJTY3JpcHRMb2FkZXJNYXAoKS5hZGQobV9jbGllbnRJZGVudGlmaWVyLCB0aGlzKTsK
LSAgICAgICAgfQogICAgIH0gZWxzZSBpZiAoYXV0byogYWN0aXZlU2VydmljZVdvcmtlciA9IHNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQuYWN0aXZlU2VydmljZVdvcmtlcigpKQogICAgICAgICBvcHRp
b25zLnNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyID0gYWN0aXZlU2VydmljZVdv
cmtlci0+cmVnaXN0cmF0aW9uSWRlbnRpZmllcigpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU1dDbGllbnRDb25uZWN0aW9uLmggYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU1dDbGllbnRDb25uZWN0aW9uLmgKaW5kZXggZGQzMzZj
YTIwZWNjZGJmMmFlZDhmZTQ4Y2RhMzk1NDAzNTMxNWRiZC4uYTFmZGJlZTUwN2Q5MzhjNmE5Njdl
ODEwZTM3NjE3M2ExZTAwNzliMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9z
ZXJ2aWNlL1NXQ2xpZW50Q29ubmVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2VydmljZS9TV0NsaWVudENvbm5lY3Rpb24uaApAQCAtNTAsNiArNTAsNyBAQCBjbGFzcyBTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uOwogZW51bSBjbGFzcyBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uU3RhdGUgOiB1aW50OF90OwogZW51bSBjbGFzcyBTZXJ2aWNlV29ya2VyU3RhdGUgOiB1aW50
OF90OwogZW51bSBjbGFzcyBTaG91bGROb3RpZnlXaGVuUmVzb2x2ZWQgOiBib29sOworc3RydWN0
IENsaWVudE9yaWdpbjsKIHN0cnVjdCBFeGNlcHRpb25EYXRhOwogc3RydWN0IE1lc3NhZ2VXaXRo
TWVzc2FnZVBvcnRzOwogc3RydWN0IE5vdGlmaWNhdGlvbkRhdGE7CkBAIC04NCw3ICs4NSw3IEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIFNXU2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXIgc2VydmVy
Q29ubmVjdGlvbklkZW50aWZpZXIoKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBib29sIG1heUhh
dmVTZXJ2aWNlV29ya2VyUmVnaXN0ZXJlZEZvck9yaWdpbihjb25zdCBTZWN1cml0eU9yaWdpbkRh
dGEmKSBjb25zdCA9IDA7CiAKLSAgICB2aXJ0dWFsIHZvaWQgcmVnaXN0ZXJTZXJ2aWNlV29ya2Vy
Q2xpZW50KGNvbnN0IFNlY3VyaXR5T3JpZ2luJiB0b3BPcmlnaW4sIFNlcnZpY2VXb3JrZXJDbGll
bnREYXRhJiYsIGNvbnN0IHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklk
ZW50aWZpZXI+JiwgU3RyaW5nJiYgdXNlckFnZW50KSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHJl
Z2lzdGVyU2VydmljZVdvcmtlckNsaWVudChjb25zdCBDbGllbnRPcmlnaW4mLCBTZXJ2aWNlV29y
a2VyQ2xpZW50RGF0YSYmLCBjb25zdCBzdGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb25JZGVudGlmaWVyPiYsIFN0cmluZyYmIHVzZXJBZ2VudCkgPSAwOwogICAgIHZpcnR1YWwg
dm9pZCB1bnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChTY3JpcHRFeGVjdXRpb25Db250ZXh0
SWRlbnRpZmllcikgPSAwOwogCiAgICAgdmlydHVhbCB2b2lkIGZpbmlzaEZldGNoaW5nU2NyaXB0
SW5TZXJ2ZXIoY29uc3QgU2VydmljZVdvcmtlckpvYkRhdGFJZGVudGlmaWVyJiwgU2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbktleSYmLCBXb3JrZXJGZXRjaFJlc3VsdCYmKSA9IDA7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvV29ya2VyU1dDbGllbnRDb25uZWN0
aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9Xb3JrZXJTV0NsaWVudENv
bm5lY3Rpb24uY3BwCmluZGV4IGM1MjRlYzBhNzViNmFmYjI4MTdiZjZlMzgyMzE3NTZmOTViN2Vm
MmIuLmYxNDBmOTliNDA4NmJmNmZiY2Y3MmI2YzQ3ZTBkNDFkMWZhMGQ4NTMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9Xb3JrZXJTV0NsaWVudENvbm5lY3Rpb24u
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9Xb3JrZXJTV0NsaWVudENv
bm5lY3Rpb24uY3BwCkBAIC0xODQsMTcgKzE4NCwxOSBAQCBib29sIFdvcmtlclNXQ2xpZW50Q29u
bmVjdGlvbjo6bWF5SGF2ZVNlcnZpY2VXb3JrZXJSZWdpc3RlcmVkRm9yT3JpZ2luKGNvbnN0IFNl
YwogICAgIHJldHVybiB0cnVlOwogfQogCi12b2lkIFdvcmtlclNXQ2xpZW50Q29ubmVjdGlvbjo6
cmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KGNvbnN0IFNlY3VyaXR5T3JpZ2luJiB0b3BPcmln
aW4sIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhJiYgZGF0YSwgY29uc3Qgc3RkOjpvcHRpb25hbDxT
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcj4mIGlkZW50aWZpZXIsIFN0cmluZyYm
IHVzZXJBZ2VudCkKK3ZvaWQgV29ya2VyU1dDbGllbnRDb25uZWN0aW9uOjpyZWdpc3RlclNlcnZp
Y2VXb3JrZXJDbGllbnQoY29uc3QgQ2xpZW50T3JpZ2luJiBjbGllbnRPcmlnaW4sIFNlcnZpY2VX
b3JrZXJDbGllbnREYXRhJiYgZGF0YSwgY29uc3Qgc3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uSWRlbnRpZmllcj4mIGlkZW50aWZpZXIsIFN0cmluZyYmIHVzZXJBZ2VudCkK
IHsKLSAgICBjYWxsT25NYWluVGhyZWFkKFt0b3BPcmlnaW4gPSB0b3BPcmlnaW4uaXNvbGF0ZWRD
b3B5KCksIGRhdGEgPSBjcm9zc1RocmVhZENvcHkoV1RGTW92ZShkYXRhKSksIGlkZW50aWZpZXIs
IHVzZXJBZ2VudCA9IGNyb3NzVGhyZWFkQ29weShXVEZNb3ZlKHVzZXJBZ2VudCkpXSgpIG11dGFi
bGUgeworICAgIGNhbGxPbk1haW5UaHJlYWQoW2NsaWVudE9yaWdpbiA9IGNsaWVudE9yaWdpbi5p
c29sYXRlZENvcHkoKSwgZGF0YSA9IGNyb3NzVGhyZWFkQ29weShXVEZNb3ZlKGRhdGEpKSwgaWRl
bnRpZmllciwgdXNlckFnZW50ID0gY3Jvc3NUaHJlYWRDb3B5KFdURk1vdmUodXNlckFnZW50KSld
KCkgbXV0YWJsZSB7CiAgICAgICAgIGF1dG8mIGNvbm5lY3Rpb24gPSBTZXJ2aWNlV29ya2VyUHJv
dmlkZXI6OnNpbmdsZXRvbigpLnNlcnZpY2VXb3JrZXJDb25uZWN0aW9uKCk7Ci0gICAgICAgIGNv
bm5lY3Rpb24ucmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KHRvcE9yaWdpbiwgV1RGTW92ZShk
YXRhKSwgaWRlbnRpZmllciwgV1RGTW92ZSh1c2VyQWdlbnQpKTsKKyAgICAgICAgY29ubmVjdGlv
bi5yZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQoY2xpZW50T3JpZ2luLCBXVEZNb3ZlKGRhdGEp
LCBpZGVudGlmaWVyLCBXVEZNb3ZlKHVzZXJBZ2VudCkpOwogICAgIH0pOwogfQogCi12b2lkIFdv
cmtlclNXQ2xpZW50Q29ubmVjdGlvbjo6dW5yZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQoU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIpCit2b2lkIFdvcmtlclNXQ2xpZW50Q29ubmVj
dGlvbjo6dW5yZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQoU2NyaXB0RXhlY3V0aW9uQ29udGV4
dElkZW50aWZpZXIgaWRlbnRpZmllcikKIHsKLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAg
ICBjYWxsT25NYWluVGhyZWFkKFtpZGVudGlmaWVyXSB7CisgICAgICAgIFNlcnZpY2VXb3JrZXJQ
cm92aWRlcjo6c2luZ2xldG9uKCkuc2VydmljZVdvcmtlckNvbm5lY3Rpb24oKS51bnJlZ2lzdGVy
U2VydmljZVdvcmtlckNsaWVudChpZGVudGlmaWVyKTsKKyAgICB9KTsKIH0KIAogdm9pZCBXb3Jr
ZXJTV0NsaWVudENvbm5lY3Rpb246OmZpbmlzaEZldGNoaW5nU2NyaXB0SW5TZXJ2ZXIoY29uc3Qg
U2VydmljZVdvcmtlckpvYkRhdGFJZGVudGlmaWVyJiBqb2JEYXRhSWRlbnRpZmllciwgU2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbktleSYmIHJlZ2lzdHJhdGlvbktleSwgV29ya2VyRmV0Y2hSZXN1
bHQmJiByZXN1bHQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uv
V29ya2VyU1dDbGllbnRDb25uZWN0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZp
Y2UvV29ya2VyU1dDbGllbnRDb25uZWN0aW9uLmgKaW5kZXggMmFhNGE0MDk0Y2RlODk0NmJmNDhi
NGMxYTc5NzliN2ViZGY2NGU2Yy4uMjliZmIzM2VmNGIzZDQwNjU1MzMwMjFhYzZlMjU0NzY4MDdi
MGFiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1dvcmtlclNX
Q2xpZW50Q29ubmVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9X
b3JrZXJTV0NsaWVudENvbm5lY3Rpb24uaApAQCAtMzksNiArMzksOSBAQCBwdWJsaWM6CiAgICAg
c3RhdGljIFJlZjxXb3JrZXJTV0NsaWVudENvbm5lY3Rpb24+IGNyZWF0ZShXb3JrZXJHbG9iYWxT
Y29wZSYgc2NvcGUpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgV29ya2VyU1dDbGllbnRDb25uZWN0
aW9uIHsgc2NvcGUgfSk7IH0KICAgICB+V29ya2VyU1dDbGllbnRDb25uZWN0aW9uKCk7CiAKKyAg
ICB2b2lkIHJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChjb25zdCBDbGllbnRPcmlnaW4mLCBT
ZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSYmLCBjb25zdCBzdGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyPiYsIFN0cmluZyYmIHVzZXJBZ2VudCkgZmluYWw7Cisg
ICAgdm9pZCB1bnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChTY3JpcHRFeGVjdXRpb25Db250
ZXh0SWRlbnRpZmllcikgZmluYWw7CisKIHByaXZhdGU6CiAgICAgZXhwbGljaXQgV29ya2VyU1dD
bGllbnRDb25uZWN0aW9uKFdvcmtlckdsb2JhbFNjb3BlJik7CiAKQEAgLTUxLDggKzU0LDYgQEAg
cHJpdmF0ZToKICAgICB2b2lkIHBvc3RNZXNzYWdlVG9TZXJ2aWNlV29ya2VyKFNlcnZpY2VXb3Jr
ZXJJZGVudGlmaWVyIGRlc3RpbmF0aW9uLCBNZXNzYWdlV2l0aE1lc3NhZ2VQb3J0cyYmLCBjb25z
dCBTZXJ2aWNlV29ya2VyT3JDbGllbnRJZGVudGlmaWVyJiBzb3VyY2UpIGZpbmFsOwogICAgIFNX
U2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXIgc2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXIoKSBj
b25zdCBmaW5hbDsKICAgICBib29sIG1heUhhdmVTZXJ2aWNlV29ya2VyUmVnaXN0ZXJlZEZvck9y
aWdpbihjb25zdCBTZWN1cml0eU9yaWdpbkRhdGEmKSBjb25zdCBmaW5hbDsKLSAgICB2b2lkIHJl
Z2lzdGVyU2VydmljZVdvcmtlckNsaWVudChjb25zdCBTZWN1cml0eU9yaWdpbiYgdG9wT3JpZ2lu
LCBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSYmLCBjb25zdCBzdGQ6Om9wdGlvbmFsPFNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyPiYsIFN0cmluZyYmIHVzZXJBZ2VudCkgZmluYWw7
Ci0gICAgdm9pZCB1bnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChTY3JpcHRFeGVjdXRpb25D
b250ZXh0SWRlbnRpZmllcikgZmluYWw7CiAgICAgdm9pZCBmaW5pc2hGZXRjaGluZ1NjcmlwdElu
U2VydmVyKGNvbnN0IFNlcnZpY2VXb3JrZXJKb2JEYXRhSWRlbnRpZmllciYsIFNlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb25LZXkmJiwgV29ya2VyRmV0Y2hSZXN1bHQmJikgZmluYWw7CiAgICAgdm9p
ZCBzY2hlZHVsZUpvYkluU2VydmVyKGNvbnN0IFNlcnZpY2VXb3JrZXJKb2JEYXRhJikgZmluYWw7
CiAgICAgdm9pZCBzY2hlZHVsZUpvYihTZXJ2aWNlV29ya2VyT3JDbGllbnRJZGVudGlmaWVyLCBj
b25zdCBTZXJ2aWNlV29ya2VySm9iRGF0YSYpIGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5j
cHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2
ZXJDb25uZWN0aW9uLmNwcAppbmRleCBiM2RkNGE1MjgyMDkyNGQ5MDEyNDkxMzcxN2ZiYjIwMjVh
ZjU1MzljLi5jZjMwZGU0OWZjYjA5OTgxY2Y3ZTNkNjExZWIyOWVkYjlkYTQ4ZWNjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2
ZXJDb25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZp
Y2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmNwcApAQCAtMTg0LDcgKzE4NCw3IEBAIHZv
aWQgV2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjpjb250cm9sQ2xpZW50KGNvbnN0IE5ldHdvcmtSZXNv
dXJjZUxvYWRQYXJhbWV0ZXJzJiBwCiAKICAgICBhdXRvIGFuY2VzdG9yT3JpZ2lucyA9IG1hcChw
YXJhbWV0ZXJzLmZyYW1lQW5jZXN0b3JPcmlnaW5zLCBbXShhdXRvJiBvcmlnaW4pIHsgcmV0dXJu
IG9yaWdpbi0+dG9TdHJpbmcoKTsgfSk7CiAgICAgU2VydmljZVdvcmtlckNsaWVudERhdGEgZGF0
YSB7IGNsaWVudElkZW50aWZpZXIsIGNsaWVudFR5cGUsIFNlcnZpY2VXb3JrZXJDbGllbnRGcmFt
ZVR5cGU6Ok5vbmUsIHJlcXVlc3QudXJsKCksIHBhcmFtZXRlcnMud2ViUGFnZUlELCBwYXJhbWV0
ZXJzLndlYkZyYW1lSUQsIHJlcXVlc3QuaXNBcHBJbml0aWF0ZWQoKSA/IFdlYkNvcmU6Okxhc3RO
YXZpZ2F0aW9uV2FzQXBwSW5pdGlhdGVkOjpZZXMgOiBXZWJDb3JlOjpMYXN0TmF2aWdhdGlvbldh
c0FwcEluaXRpYXRlZDo6Tm8sIGZhbHNlLCBmYWxzZSwgMCwgV1RGTW92ZShhbmNlc3Rvck9yaWdp
bnMpIH07Ci0gICAgcmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KFNlY3VyaXR5T3JpZ2luRGF0
YSB7IHJlZ2lzdHJhdGlvbi5rZXkoKS50b3BPcmlnaW4oKSB9LCBXVEZNb3ZlKGRhdGEpLCByZWdp
c3RyYXRpb24uaWRlbnRpZmllcigpLCByZXF1ZXN0Lmh0dHBVc2VyQWdlbnQoKSk7CisgICAgcmVn
aXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KENsaWVudE9yaWdpbiB7IHJlZ2lzdHJhdGlvbi5rZXko
KS50b3BPcmlnaW4oKSwgU2VjdXJpdHlPcmlnaW5EYXRhOjpmcm9tVVJMKHJlcXVlc3QudXJsKCkp
IH0sIFdURk1vdmUoZGF0YSksIHJlZ2lzdHJhdGlvbi5pZGVudGlmaWVyKCksIHJlcXVlc3QuaHR0
cFVzZXJBZ2VudCgpKTsKIH0KIAogc3RkOjp1bmlxdWVfcHRyPFNlcnZpY2VXb3JrZXJGZXRjaFRh
c2s+IFdlYlNXU2VydmVyQ29ubmVjdGlvbjo6Y3JlYXRlRmV0Y2hUYXNrKE5ldHdvcmtSZXNvdXJj
ZUxvYWRlciYgbG9hZGVyLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QpCkBAIC0zOTUs
MTIgKzM5NSwxOCBAQCB2b2lkIFdlYlNXU2VydmVyQ29ubmVjdGlvbjo6Z2V0UmVnaXN0cmF0aW9u
cyhjb25zdCBTZWN1cml0eU9yaWdpbkRhdGEmIHRvcE9yaWdpbgogICAgIGNhbGxiYWNrKHNlcnZl
cigpLmdldFJlZ2lzdHJhdGlvbnModG9wT3JpZ2luLCBjbGllbnRVUkwpKTsKIH0KIAotdm9pZCBX
ZWJTV1NlcnZlckNvbm5lY3Rpb246OnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChTZWN1cml0
eU9yaWdpbkRhdGEmJiB0b3BPcmlnaW4sIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhJiYgZGF0YSwg
Y29uc3Qgc3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcj4m
IGNvbnRyb2xsaW5nU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIsIFN0cmluZyYm
IHVzZXJBZ2VudCkKK3ZvaWQgV2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjpyZWdpc3RlclNlcnZpY2VX
b3JrZXJDbGllbnQoV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiYgY2xpZW50T3JpZ2luLCBTZXJ2aWNl
V29ya2VyQ2xpZW50RGF0YSYmIGRhdGEsIGNvbnN0IHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbklkZW50aWZpZXI+JiBjb250cm9sbGluZ1NlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb25JZGVudGlmaWVyLCBTdHJpbmcmJiB1c2VyQWdlbnQpCiB7CiAgICAgQ09OTkVDVElPTl9N
RVNTQUdFX0NIRUNLKGRhdGEuaWRlbnRpZmllci5wcm9jZXNzSWRlbnRpZmllcigpID09IGlkZW50
aWZpZXIoKSk7Ci0gICAgQ09OTkVDVElPTl9NRVNTQUdFX0NIRUNLKCF0b3BPcmlnaW4uaXNFbXB0
eSgpKTsKKyAgICBDT05ORUNUSU9OX01FU1NBR0VfQ0hFQ0soIWNsaWVudE9yaWdpbi50b3BPcmln
aW4uaXNFbXB0eSgpKTsKKworICAgIGF1dG8mIGNvbnRleHRPcmlnaW4gPSBjbGllbnRPcmlnaW4u
Y2xpZW50T3JpZ2luOworICAgIGlmIChkYXRhLnVybC5wcm90b2NvbElzSW5IVFRQRmFtaWx5KCkp
IHsKKyAgICAgICAgLy8gV2UgZG8gbm90IHJlZ2lzdGVyIGFueSBzYW5kYm94IGRvY3VtZW50Lgor
ICAgICAgICBpZiAoY29udGV4dE9yaWdpbiAhPSBTZWN1cml0eU9yaWdpbkRhdGE6OmZyb21VUkwo
ZGF0YS51cmwpKQorICAgICAgICAgICAgcmV0dXJuOworICAgIH0KIAotICAgIGF1dG8gY29udGV4
dE9yaWdpbiA9IFNlY3VyaXR5T3JpZ2luRGF0YTo6ZnJvbVVSTChkYXRhLnVybCk7CiAgICAgQ09O
TkVDVElPTl9NRVNTQUdFX0NIRUNLKCFjb250ZXh0T3JpZ2luLmlzRW1wdHkoKSk7CiAKICAgICBi
b29sIGlzTmV3T3JpZ2luID0gV1RGOjphbGxPZihtX2NsaWVudE9yaWdpbnMudmFsdWVzKCksIFsm
Y29udGV4dE9yaWdpbl0oYXV0byYgb3JpZ2luKSB7CkBAIC00MDgsNyArNDE0LDYgQEAgdm9pZCBX
ZWJTV1NlcnZlckNvbm5lY3Rpb246OnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChTZWN1cml0
eU9yaWdpbkRhdGEmJiB0b3AKICAgICB9KTsKICAgICBhdXRvKiBjb250ZXh0Q29ubmVjdGlvbiA9
IGlzTmV3T3JpZ2luID8gc2VydmVyKCkuY29udGV4dENvbm5lY3Rpb25Gb3JSZWdpc3RyYWJsZURv
bWFpbihSZWdpc3RyYWJsZURvbWFpbiB7IGNvbnRleHRPcmlnaW4gfSkgOiBudWxscHRyOwogCi0g
ICAgYXV0byBjbGllbnRPcmlnaW4gPSBDbGllbnRPcmlnaW4geyBXVEZNb3ZlKHRvcE9yaWdpbiks
IFdURk1vdmUoY29udGV4dE9yaWdpbikgfTsKICAgICBtX2NsaWVudE9yaWdpbnMuYWRkKGRhdGEu
aWRlbnRpZmllciwgY2xpZW50T3JpZ2luKTsKICAgICBzZXJ2ZXIoKS5yZWdpc3RlclNlcnZpY2VX
b3JrZXJDbGllbnQoV1RGTW92ZShjbGllbnRPcmlnaW4pLCBXVEZNb3ZlKGRhdGEpLCBjb250cm9s
bGluZ1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyLCBXVEZNb3ZlKHVzZXJBZ2Vu
dCkpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VX
b3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmgKaW5kZXggYjBkYjg1YmM2
N2FlMGRlNWIwNzRhZDlkZmYwMjNlNmFjMWViZmIwMC4uNGYwMjVlMjE5MTFmMzJiNmVhMGYzZDJh
OTk3ZTU4OTllMzgwYWI0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uaApA
QCAtMTEwLDcgKzExMCw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBtYXRjaFJlZ2lzdHJhdGlvbihj
b25zdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEmIHRvcE9yaWdpbiwgY29uc3QgVVJMJiBj
bGllbnRVUkwsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpT
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YT4mJik+JiYpOwogICAgIHZvaWQgZ2V0UmVnaXN0
cmF0aW9ucyhjb25zdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEmIHRvcE9yaWdpbiwgY29u
c3QgVVJMJiBjbGllbnRVUkwsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoY29uc3QgVmVjdG9yPFdl
YkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhPiYpPiYmKTsKIAotICAgIHZvaWQg
cmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSYm
IHRvcE9yaWdpbiwgV2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVudERhdGEmJiwgY29uc3Qgc3Rk
OjpvcHRpb25hbDxXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcj4m
LCBTdHJpbmcmJiB1c2VyQWdlbnQpOworICAgIHZvaWQgcmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xp
ZW50KFdlYkNvcmU6OkNsaWVudE9yaWdpbiYmLCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ2xpZW50
RGF0YSYmLCBjb25zdCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb25JZGVudGlmaWVyPiYsIFN0cmluZyYmIHVzZXJBZ2VudCk7CiAgICAgdm9pZCB1bnJlZ2lz
dGVyU2VydmljZVdvcmtlckNsaWVudChjb25zdCBXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250
ZXh0SWRlbnRpZmllciYpOwogICAgIHZvaWQgdGVybWluYXRlV29ya2VyRnJvbUNsaWVudChXZWJD
b3JlOjpTZXJ2aWNlV29ya2VySWRlbnRpZmllciwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYm
KTsKICAgICB2b2lkIHdoZW5TZXJ2aWNlV29ya2VySXNUZXJtaW5hdGVkRm9yVGVzdGluZyhXZWJD
b3JlOjpTZXJ2aWNlV29ya2VySWRlbnRpZmllciwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYm
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtl
ci9XZWJTV1NlcnZlckNvbm5lY3Rpb24ubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLm1lc3NhZ2VzLmlu
CmluZGV4IDQzZmQxMjRmMGM5M2E5ODVlZTI2OWZmZGU2NWI4MmQwMWZlMWZlYTguLjE1ZmNhNTQz
YzU3ZTdkMzFiODg1YTcwMDA4ZTM2ODhmYTQ0ZWNjOWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24ubWVz
c2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2Vy
L1dlYlNXU2VydmVyQ29ubmVjdGlvbi5tZXNzYWdlcy5pbgpAQCAtMzgsNyArMzgsNyBAQCBtZXNz
YWdlcyAtPiBXZWJTV1NlcnZlckNvbm5lY3Rpb24gTm90UmVmQ291bnRlZCB7CiAgICAgTWF0Y2hS
ZWdpc3RyYXRpb24oc3RydWN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSB0b3BPcmlnaW4s
IFVSTCBjbGllbnRVUkwpIC0+IChzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb25EYXRhPiByZWdpc3RyYXRpb24pCiAgICAgV2hlblJlZ2lzdHJhdGlvblJlYWR5
KHN0cnVjdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEgdG9wT3JpZ2luLCBVUkwgY2xpZW50
VVJMKSAtPiAoc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
RGF0YT4gcmVnaXN0cmF0aW9uKQogICAgIEdldFJlZ2lzdHJhdGlvbnMoc3RydWN0IFdlYkNvcmU6
OlNlY3VyaXR5T3JpZ2luRGF0YSB0b3BPcmlnaW4sIFVSTCBjbGllbnRVUkwpIC0+IChWZWN0b3I8
V2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGE+IHJlZ2lzdHJhdGlvbnMpCi0g
ICAgUmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KHN0cnVjdCBXZWJDb3JlOjpTZWN1cml0eU9y
aWdpbkRhdGEgdG9wT3JpZ2luLCBzdHJ1Y3QgV2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVudERh
dGEgZGF0YSwgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
SWRlbnRpZmllcj4gY29udHJvbGxpbmdTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmll
ciwgU3RyaW5nIHVzZXJBZ2VudCkKKyAgICBSZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQoc3Ry
dWN0IFdlYkNvcmU6OkNsaWVudE9yaWdpbiBjbGllbnRPcmlnaW4sIHN0cnVjdCBXZWJDb3JlOjpT
ZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSBkYXRhLCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlNlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyPiBjb250cm9sbGluZ1NlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb25JZGVudGlmaWVyLCBTdHJpbmcgdXNlckFnZW50KQogICAgIFVucmVnaXN0ZXJT
ZXJ2aWNlV29ya2VyQ2xpZW50KFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlm
aWVyIGlkZW50aWZpZXIpCiAKICAgICBUZXJtaW5hdGVXb3JrZXJGcm9tQ2xpZW50KFdlYkNvcmU6
OlNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIHdvcmtlcklkZW50aWZpZXIpIC0+ICgpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rp
b24uY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25u
ZWN0aW9uLmNwcAppbmRleCAxNzgwY2FjN2I2YTc3N2JmMTNmODIzMjQ1N2U1NGQzOTExNWVkYzBl
Li5hMjcxMzdiZjEyZGRkYWI4N2QwM2I5Yzc4Y2JmZmFmZjUzYzg1N2Y4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24uY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVj
dGlvbi5jcHAKQEAgLTExNSw5ICsxMTUsOSBAQCB2b2lkIFdlYlNXQ2xpZW50Q29ubmVjdGlvbjo6
cG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXIoU2VydmljZVdvcmtlcklkZW50aWZpZXIgZAogICAg
IHNlbmQoTWVzc2FnZXM6OldlYlNXU2VydmVyQ29ubmVjdGlvbjo6UG9zdE1lc3NhZ2VUb1NlcnZp
Y2VXb3JrZXIgeyBkZXN0aW5hdGlvbklkZW50aWZpZXIsIFdURk1vdmUobWVzc2FnZSksIHNvdXJj
ZUlkZW50aWZpZXIgfSk7CiB9CiAKLXZvaWQgV2ViU1dDbGllbnRDb25uZWN0aW9uOjpyZWdpc3Rl
clNlcnZpY2VXb3JrZXJDbGllbnQoY29uc3QgU2VjdXJpdHlPcmlnaW4mIHRvcE9yaWdpbiwgV2Vi
Q29yZTo6U2VydmljZVdvcmtlckNsaWVudERhdGEmJiBkYXRhLCBjb25zdCBzdGQ6Om9wdGlvbmFs
PFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyPiYgY29udHJvbGxp
bmdTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciwgU3RyaW5nJiYgdXNlckFnZW50
KQordm9pZCBXZWJTV0NsaWVudENvbm5lY3Rpb246OnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVu
dChjb25zdCBDbGllbnRPcmlnaW4mIGNsaWVudE9yaWdpbiwgV2ViQ29yZTo6U2VydmljZVdvcmtl
ckNsaWVudERhdGEmJiBkYXRhLCBjb25zdCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyPiYgY29udHJvbGxpbmdTZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uSWRlbnRpZmllciwgU3RyaW5nJiYgdXNlckFnZW50KQogewotICAgIHNlbmQoTWVz
c2FnZXM6OldlYlNXU2VydmVyQ29ubmVjdGlvbjo6UmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50
IHsgdG9wT3JpZ2luLmRhdGEoKSwgZGF0YSwgY29udHJvbGxpbmdTZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uSWRlbnRpZmllciwgdXNlckFnZW50IH0pOworICAgIHNlbmQoTWVzc2FnZXM6OldlYlNX
U2VydmVyQ29ubmVjdGlvbjo6UmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50IHsgY2xpZW50T3Jp
Z2luLCBkYXRhLCBjb250cm9sbGluZ1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVy
LCB1c2VyQWdlbnQgfSk7CiB9CiAKIHZvaWQgV2ViU1dDbGllbnRDb25uZWN0aW9uOjp1bnJlZ2lz
dGVyU2VydmljZVdvcmtlckNsaWVudChTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllciBj
b250ZXh0SWRlbnRpZmllcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9T
dG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmgKaW5kZXggNjIyZmMwOGYzMTQ1OGQ2ZTJm
ODU1YTkyYmYxNzRjMDI2MTA1OGU4ZS4uYmI5ZTAwYTk2Y2M2Y2YzNGExOTRlNGY5NmRiMTFmODhm
ZGIxNTdhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2Vi
U1dDbGllbnRDb25uZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3Jh
Z2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmgKQEAgLTczLDcgKzczLDcgQEAgcHJpdmF0ZToKICAg
ICB2b2lkIHNjaGVkdWxlSm9iSW5TZXJ2ZXIoY29uc3QgV2ViQ29yZTo6U2VydmljZVdvcmtlckpv
YkRhdGEmKSBmaW5hbDsKICAgICB2b2lkIGZpbmlzaEZldGNoaW5nU2NyaXB0SW5TZXJ2ZXIoY29u
c3QgV2ViQ29yZTo6U2VydmljZVdvcmtlckpvYkRhdGFJZGVudGlmaWVyJiwgV2ViQ29yZTo6U2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbktleSYmLCBXZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3VsdCYm
KSBmaW5hbDsKICAgICB2b2lkIHBvc3RNZXNzYWdlVG9TZXJ2aWNlV29ya2VyKFdlYkNvcmU6OlNl
cnZpY2VXb3JrZXJJZGVudGlmaWVyIGRlc3RpbmF0aW9uSWRlbnRpZmllciwgV2ViQ29yZTo6TWVz
c2FnZVdpdGhNZXNzYWdlUG9ydHMmJiwgY29uc3QgV2ViQ29yZTo6U2VydmljZVdvcmtlck9yQ2xp
ZW50SWRlbnRpZmllciYgc291cmNlKSBmaW5hbDsKLSAgICB2b2lkIHJlZ2lzdGVyU2VydmljZVdv
cmtlckNsaWVudChjb25zdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbiYgdG9wT3JpZ2luLCBXZWJD
b3JlOjpTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSYmLCBjb25zdCBzdGQ6Om9wdGlvbmFsPFdlYkNv
cmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyPiYsIFN0cmluZyYmIHVzZXJB
Z2VudCkgZmluYWw7CisgICAgdm9pZCByZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQoY29uc3Qg
V2ViQ29yZTo6Q2xpZW50T3JpZ2luJiwgV2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVudERhdGEm
JiwgY29uc3Qgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
SWRlbnRpZmllcj4mLCBTdHJpbmcmJiB1c2VyQWdlbnQpIGZpbmFsOwogICAgIHZvaWQgdW5yZWdp
c3RlclNlcnZpY2VXb3JrZXJDbGllbnQoV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dElk
ZW50aWZpZXIpIGZpbmFsOwogICAgIHZvaWQgc2NoZWR1bGVVbnJlZ2lzdGVySm9iSW5TZXJ2ZXIo
V2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIsIFdlYkNvcmU6OlNl
cnZpY2VXb3JrZXJPckNsaWVudElkZW50aWZpZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2Vi
Q29yZTo6RXhjZXB0aW9uT3I8Ym9vbD4mJik+JiYpIGZpbmFsOwogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZDFhYTNmODhl
YmIwYjMwMTc2ZjVmMzgxMmE4MjAwMmZmMDkyY2QwNy4uMDk1MWJlMmQ0NDYxMjRhNGEyOTIxYjBi
YWNmNzBiZTJlYWFmNzA4ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDIyLTA0LTE1ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBTZXJ2aWNlV29ya2VyLnBv
c3RNZXNzYWdlKCkgZG9lc24ndCB3b3JrIGZyb20gaW5zaWRlIGlmcmFtZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEzOTg0CisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS82NTIwMzM0MD4KKworICAgICAgICBSZXZpZXdlZCBieSBDaHJpcyBEdW1lei4K
KworICAgICAgICAqIGh0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9hYm91dC1ibGFuay1pZnJhbWUt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMv
YWJvdXQtYmxhbmstaWZyYW1lLXdvcmtlci5qczogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQv
c2VydmljZS13b3JrZXJzL2Fib3V0LWJsYW5rLWlmcmFtZS5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBodHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9jbGllbnQtYWRkZWQtdG8tY2xpZW50cy13aGVu
LXJlc3RvcmVkLWZyb20tcGFnZS1jYWNoZS5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvd29y
a2Vycy9zZXJ2aWNlL2NsaWVudC1yZW1vdmVkLWZyb20tY2xpZW50cy13aGlsZS1pbi1wYWdlLWNh
Y2hlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9j
bGllbnQtcmVtb3ZlZC1mcm9tLWNsaWVudHMtd2hpbGUtaW4tcGFnZS1jYWNoZS5odG1sOgorICAg
ICAgICAqIGh0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL290aGVyX3Jlc291cmNlcy90ZXN0Lmh0
bWw6CisgICAgICAgICogaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvcmVzb3VyY2VzL2dldENs
aWVudElkcy13b3JrZXIuanM6CisKIDIwMjItMDQtMTMgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5A
YXBwbGUuY29tPgogCiAgICAgICAgIEV4cG9zZSB3b3JrZXJzIGFzIHNlcnZpY2Ugd29ya2VyIGNs
aWVudHMgYW5kIGltcGxlbWVudCByZWdpc3RyYXRpb24gbWF0Y2hpbmcgZm9yIGRlZGljYXRlZCB3
b3JrZXJzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCA5Mjc2ZjQ3ZTkxYWQ2MzVi
NTIyNTE4OTYzNzc3NzVjZGQzZDIwMDhiLi5iYWU4OTQ0MWEzNWVmMWY2YjM5MjU5MTQzYzc2MmVm
N2FkOTYxZmRiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBA
QAorMjAyMi0wNC0xNSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAg
ICAgU2VydmljZVdvcmtlci5wb3N0TWVzc2FnZSgpIGRvZXNuJ3Qgd29yayBmcm9tIGluc2lkZSBp
ZnJhbWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIx
Mzk4NAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjUyMDMzNDA+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgQ2hyaXMgRHVtZXouCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2Fib3V0LWJsYW5rLXJlcGxhY2VtZW50Lmh0dHBzLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL2NsaWVudC11cmwtb2YtYmxvYi11cmwtd29ya2VyLmh0dHBzLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL2NsaWVudHMtbWF0Y2hhbGwtYmxvYi11cmwtd29ya2VyLmh0dHBzLWV4cGVj
dGVkLnR4dDoKKwogMjAyMi0wNC0xMyAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+
CiAKICAgICAgICAgRXhwb3NlIHdvcmtlcnMgYXMgc2VydmljZSB3b3JrZXIgY2xpZW50cyBhbmQg
aW1wbGVtZW50IHJlZ2lzdHJhdGlvbiBtYXRjaGluZyBmb3IgZGVkaWNhdGVkIHdvcmtlcnMKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL2NsaWVudC1h
ZGRlZC10by1jbGllbnRzLXdoZW4tcmVzdG9yZWQtZnJvbS1wYWdlLWNhY2hlLmh0bWwgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9jbGllbnQtYWRkZWQtdG8tY2xpZW50
cy13aGVuLXJlc3RvcmVkLWZyb20tcGFnZS1jYWNoZS5odG1sCmluZGV4IDZhMjI4NGVjZjJjMzlm
MWI4OGQ2NmRhYmMyZjVhN2FhNmUxYjAyMmMuLjUyMTRiOGI0M2I3MjAyNzE3MTZlOWUyMzdhMTIx
Njc2YjVjNTc2ZGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9z
ZXJ2aWNlL2NsaWVudC1hZGRlZC10by1jbGllbnRzLXdoZW4tcmVzdG9yZWQtZnJvbS1wYWdlLWNh
Y2hlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvY2xp
ZW50LWFkZGVkLXRvLWNsaWVudHMtd2hlbi1yZXN0b3JlZC1mcm9tLXBhZ2UtY2FjaGUuaHRtbApA
QCAtMjIsNyArMjIsNyBAQCBmdW5jdGlvbiBjb250YWluc0V4cGVjdGVkQ2xpZW50cyhjbGllbnRJ
ZGVudGlmaWVycykKIAogbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIuYWRkRXZlbnRMaXN0ZW5lcigi
bWVzc2FnZSIsIGZ1bmN0aW9uKGV2ZW50KSB7CiAgIGlmIChzdGVwID09ICJCb3RoQ2xpZW50c0lu
aXRpYWxseUFjdGl2ZSIpIHsKLSAgICBpZiAoIWNvbnRhaW5zRXhwZWN0ZWRDbGllbnRzKGV2ZW50
LmRhdGEpKSB7CisgICAgaWYgKCFjb250YWluc0V4cGVjdGVkQ2xpZW50cyhldmVudC5kYXRhLmlk
cykpIHsKICAgICAgIGlmICgrK3RyaWVzID4gMjApIHsKICAgICAgICAgICBsb2coIkZBSUw6IFdy
b25nIGluaXRpYWwgbnVtYmVyIG9mIGNsaWVudHMiKTsKICAgICAgICAgICBmaW5pc2hTV1Rlc3Qo
KTsKQEAgLTU5LDcgKzU5LDcgQEAgbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIuYWRkRXZlbnRMaXN0
ZW5lcigibWVzc2FnZSIsIGZ1bmN0aW9uKGV2ZW50KSB7CiAgIH0KIAogICBpZiAoc3RlcCA9PSAi
U2Vjb25kQ2xpZW50UmVzdG9yZWRGcm9tUGFnZUNhY2hlIikgewotICAgIGlmICghY29udGFpbnNF
eHBlY3RlZENsaWVudHMoZXZlbnQuZGF0YSkpIHsKKyAgICBpZiAoIWNvbnRhaW5zRXhwZWN0ZWRD
bGllbnRzKGV2ZW50LmRhdGEuaWRzKSkgewogICAgICAgbG9nKCJGQUlMOiBXcm9uZyBudW1iZXIg
b2YgY2xpZW50cyBhZnRlciBvbmUgY2xpZW50IHdhcyByZXN0b3JlZCBmcm9tIHBhZ2UgY2FjaGUi
KTsKICAgICAgIGZpbmlzaFNXVGVzdCgpOwogICAgIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL2NsaWVudC1yZW1vdmVkLWZyb20tY2xpZW50cy13
aGlsZS1pbi1wYWdlLWNhY2hlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
d29ya2Vycy9zZXJ2aWNlL2NsaWVudC1yZW1vdmVkLWZyb20tY2xpZW50cy13aGlsZS1pbi1wYWdl
LWNhY2hlLWV4cGVjdGVkLnR4dAppbmRleCAyYjcwNTE0YjFkZGZmODA4ZWZlMTM1NDNlNmUyNzNi
NmFmMTU1YzExLi40MmQ4NTA4NmI4MDJmYzRiYTZkNDUxMGQyN2U3OTM3YTgwMTQzYTU3IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9jbGllbnQtcmVt
b3ZlZC1mcm9tLWNsaWVudHMtd2hpbGUtaW4tcGFnZS1jYWNoZS1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvY2xpZW50LXJlbW92ZWQtZnJv
bS1jbGllbnRzLXdoaWxlLWluLXBhZ2UtY2FjaGUtZXhwZWN0ZWQudHh0CkBAIC0xLDYgKzEsOCBA
QAogKiBUZXN0cyB0aGF0IGEgY2xpZW50IGlzIHJlbW92ZWQgZnJvbSB0aGUgbGlzdCBvZiBzZXJ2
aWNlIHdvcmtlciBjbGllbnRzIHdoaWxlIGl0IGlzIGluIHRoZSBwYWdlIGNhY2hlCiAKLVBBU1M6
IHNlcnZpY2Ugd29ya2VyIGhhcyBpbml0aWFsbHkgMiBjbGllbnRzCitQQVNTOiBzZXJ2aWNlIHdv
cmtlciBoYXMgaW5pdGlhbGx5IDIgd2luZG93IGNsaWVudHMKK1BBU1M6IHNlcnZpY2Ugd29ya2Vy
IGhhcyBpbml0aWFsbHkgMiB3b3JrZXIgY2xpZW50cwogUEFTUzogcGFnZSBpcyBhYm91dCB0byBl
bnRlciBwYWdlIGNhY2hlCi1QQVNTOiBzZXJ2aWNlIHdvcmtlciBoYXMgb25seSAxIGNsaWVudCBh
ZnRlciAxIGVudGVyZWQgcGFnZSBjYWNoZQorUEFTUzogc2VydmljZSB3b3JrZXIgaGFzIG9ubHkg
MSB3aW5kb3cgY2xpZW50IGFmdGVyIDEgZW50ZXJlZCBwYWdlIGNhY2hlCitQQVNTOiBzZXJ2aWNl
IHdvcmtlciBoYXMgb25seSAxIHdvcmtlciBjbGllbnQgYWZ0ZXIgMSBlbnRlcmVkIHBhZ2UgY2Fj
aGUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2Uv
Y2xpZW50LXJlbW92ZWQtZnJvbS1jbGllbnRzLXdoaWxlLWluLXBhZ2UtY2FjaGUuaHRtbCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL2NsaWVudC1yZW1vdmVkLWZyb20t
Y2xpZW50cy13aGlsZS1pbi1wYWdlLWNhY2hlLmh0bWwKaW5kZXggNjhhOWZjNjI0OWY1MDUzNTI5
NGRmNDM5NzUxYjUzN2RmOGI2YjA2Ni4uZjA0YTgwNjM2ZmI2NzZjZTBjN2EzNmE5MTlkODE1NWI2
NmQ0Y2I0NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZp
Y2UvY2xpZW50LXJlbW92ZWQtZnJvbS1jbGllbnRzLXdoaWxlLWluLXBhZ2UtY2FjaGUuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9jbGllbnQtcmVtb3Zl
ZC1mcm9tLWNsaWVudHMtd2hpbGUtaW4tcGFnZS1jYWNoZS5odG1sCkBAIC05LDcgKzksNyBAQCBs
b2coIiIpOwogCiBsZXQgdG9wQ2xpZW50SWRlbnRpZmllciA9IG51bGw7CiBsZXQgd2luZG93Q2xp
ZW50SWRlbnRpZmllciA9IG51bGw7Ci0KK2xldCBkZWRpY2F0ZWRXb3JrZXIgPSBudWxsOwogbGV0
IHRyaWVzID0gMDsKIAogZnVuY3Rpb24gY29udGFpbnNCb3RoQ2xpZW50cyhjbGllbnRJZGVudGlm
aWVycykKQEAgLTIzLDggKzIzLDggQEAgZnVuY3Rpb24gY29udGFpbnNPbmx5VG9wQ2xpZW50KGNs
aWVudElkZW50aWZpZXJzKQogfQogCiBuYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5hZGRFdmVudExp
c3RlbmVyKCJtZXNzYWdlIiwgZnVuY3Rpb24oZXZlbnQpIHsKLSAgaWYgKHN0ZXAgPT0gIkJvdGhD
bGllbnRzSW5pdGlhbGx5QWN0aXZlIikgewotICAgIGlmICghY29udGFpbnNCb3RoQ2xpZW50cyhl
dmVudC5kYXRhKSkgeworICBpZiAoc3RlcCA9PSAiQWxsQ2xpZW50c0luaXRpYWxseUFjdGl2ZSIp
IHsKKyAgICBpZiAoIWNvbnRhaW5zQm90aENsaWVudHMoZXZlbnQuZGF0YS5pZHMpICYmIGV2ZW50
LmRhdGEud29ya2Vyc0NvdW50ICE9PSAyKSB7CiAgICAgICBpZiAoKyt0cmllcyA+IDIwKSB7CiAg
ICAgICAgICAgbG9nKCJGQUlMOiBXcm9uZyBpbml0aWFsIG51bWJlciBvZiBjbGllbnRzIik7CiAg
ICAgICAgICAgZmluaXNoU1dUZXN0KCk7CkBAIC0zMyw3ICszMyw4IEBAIG5hdmlnYXRvci5zZXJ2
aWNlV29ya2VyLmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLCBmdW5jdGlvbihldmVudCkgewog
ICAgICAgd29ya2VyLnBvc3RNZXNzYWdlKCJnZXRDbGllbnRJZHMiKTsKICAgICAgIHJldHVybjsK
ICAgICB9Ci0gICAgbG9nKCJQQVNTOiBzZXJ2aWNlIHdvcmtlciBoYXMgaW5pdGlhbGx5IDIgY2xp
ZW50cyIpOworICAgIGxvZygiUEFTUzogc2VydmljZSB3b3JrZXIgaGFzIGluaXRpYWxseSAyIHdp
bmRvdyBjbGllbnRzIik7CisgICAgbG9nKCJQQVNTOiBzZXJ2aWNlIHdvcmtlciBoYXMgaW5pdGlh
bGx5IDIgd29ya2VyIGNsaWVudHMiKTsKIAogICAgIG90aGVyV2luZG93LmFkZEV2ZW50TGlzdGVu
ZXIoInBhZ2VoaWRlIiwgZnVuY3Rpb24oZXZlbnQpIHsKICAgICAgICBpZiAoIWV2ZW50LnBlcnNp
c3RlZCkgewpAQCAtNTQsMjggKzU1LDMxIEBAIG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLmFkZEV2
ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLCBmdW5jdGlvbihldmVudCkgewogICB9CiAKICAgaWYgKHN0
ZXAgPT0gIk9ubHlPbmVDbGllbnRSZW1haW5zQWN0aXZlIikgewotICAgIGlmICghY29udGFpbnNP
bmx5VG9wQ2xpZW50KGV2ZW50LmRhdGEpKSB7CisgICAgaWYgKCFjb250YWluc09ubHlUb3BDbGll
bnQoZXZlbnQuZGF0YS5pZHMpICYmIGV2ZW50LmRhdGEud29ya2Vyc0NvdW50ICE9PSAxKSB7CiAg
ICAgICBsb2coIkZBSUw6IFdyb25nIG51bWJlciBvZiBjbGllbnRzIGFmdGVyIG9uZSBjbGllbnQg
ZW50ZXJlZCBwYWdlIGNhY2hlIik7CiAgICAgICBmaW5pc2hTV1Rlc3QoKTsKICAgICB9CiAKLSAg
ICBsb2coIlBBU1M6IHNlcnZpY2Ugd29ya2VyIGhhcyBvbmx5IDEgY2xpZW50IGFmdGVyIDEgZW50
ZXJlZCBwYWdlIGNhY2hlIik7CisgICAgbG9nKCJQQVNTOiBzZXJ2aWNlIHdvcmtlciBoYXMgb25s
eSAxIHdpbmRvdyBjbGllbnQgYWZ0ZXIgMSBlbnRlcmVkIHBhZ2UgY2FjaGUiKTsKKyAgICBsb2co
IlBBU1M6IHNlcnZpY2Ugd29ya2VyIGhhcyBvbmx5IDEgd29ya2VyIGNsaWVudCBhZnRlciAxIGVu
dGVyZWQgcGFnZSBjYWNoZSIpOwogICAgIGZpbmlzaFNXVGVzdCgpOwogICB9CiB9KTsKIAotbmF2
aWdhdG9yLnNlcnZpY2VXb3JrZXIucmVnaXN0ZXIoInJlc291cmNlcy9nZXRDbGllbnRJZHMtd29y
a2VyLmpzIiwgeyB9KS50aGVuKGZ1bmN0aW9uKHJlZ2lzdHJhdGlvbikgeworbmF2aWdhdG9yLnNl
cnZpY2VXb3JrZXIucmVnaXN0ZXIoInJlc291cmNlcy9nZXRDbGllbnRJZHMtd29ya2VyLmpzIiwg
eyB9KS50aGVuKGFzeW5jIChyZWdpc3RyYXRpb24pID0+IHsKICAgICBpZiAoIXdpbmRvdy5pbnRl
cm5hbHMpCiAgICAgICAgIHJldHVybjsKICAgICB0b3BDbGllbnRJZGVudGlmaWVyID0gaW50ZXJu
YWxzLnNlcnZpY2VXb3JrZXJDbGllbnRJbnRlcm5hbElkZW50aWZpZXIoZG9jdW1lbnQpOwogCiAg
ICAgd29ya2VyID0gcmVnaXN0cmF0aW9uLmluc3RhbGxpbmc7CisKKyAgICBkZWRpY2F0ZWRXb3Jr
ZXIgPSBuZXcgV29ya2VyKCJvdGhlcl9yZXNvdXJjZXMvZHVtbXkuanMiKTsKKwogICAgIG90aGVy
V2luZG93ID0gb3Blbigib3RoZXJfcmVzb3VyY2VzL3Rlc3QuaHRtbCIpOwotICAgIG90aGVyV2lu
ZG93Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgewotICAgICAgd2luZG93Q2xpZW50SWRlbnRpZmllciA9
IGludGVybmFscy5zZXJ2aWNlV29ya2VyQ2xpZW50SW50ZXJuYWxJZGVudGlmaWVyKG90aGVyV2lu
ZG93LmRvY3VtZW50KTsKLSAgICAgIHN0ZXAgPSAiQm90aENsaWVudHNJbml0aWFsbHlBY3RpdmUi
Ci0gICAgICB3b3JrZXIucG9zdE1lc3NhZ2UoImdldENsaWVudElkcyIpOwotICAgIH07CisgICAg
YXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiBvdGhlcldpbmRvdy5vbmxvYWQgPSByZXNvbHZl
KTsKKyAgICB3aW5kb3dDbGllbnRJZGVudGlmaWVyID0gaW50ZXJuYWxzLnNlcnZpY2VXb3JrZXJD
bGllbnRJbnRlcm5hbElkZW50aWZpZXIob3RoZXJXaW5kb3cuZG9jdW1lbnQpOworICAgIHN0ZXAg
PSAiQWxsQ2xpZW50c0luaXRpYWxseUFjdGl2ZSIKKyAgICB3b3JrZXIucG9zdE1lc3NhZ2UoImdl
dENsaWVudElkcyIpOwogfSk7CiA8L3NjcmlwdD4KIDwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL290aGVyX3Jlc291cmNlcy9kdW1teS5q
cyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL290aGVyX3Jlc291cmNl
cy9kdW1teS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNjlkZTI5YmIyZDFkNjQzNGI4YjI5YWU3NzVhZDhjMmU0
OGM1MzkxCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dvcmtlcnMvc2Vydmlj
ZS9vdGhlcl9yZXNvdXJjZXMvdGVzdC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93b3Jr
ZXJzL3NlcnZpY2Uvb3RoZXJfcmVzb3VyY2VzL3Rlc3QuaHRtbAppbmRleCAyYTAyZDQxY2UyMTMy
M2IxY2RjMjI4Yzc4Y2VjMmY4MWMwNTRiZDM0Li4wZGQ3YmIzNmM5Y2I4NTYzZjg1YzM3NGE0NTVl
MjY5ZGQ2ZTJmMmZhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dvcmtlcnMv
c2VydmljZS9vdGhlcl9yZXNvdXJjZXMvdGVzdC5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvd29ya2Vycy9zZXJ2aWNlL290aGVyX3Jlc291cmNlcy90ZXN0Lmh0bWwKQEAgLTEgKzEs
OSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5PgorPHNjcmlwdCBzcmM9InJlc291
cmNlcy9zdy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgordmFyIGRlZGljYXRlZFdv
cmtlciA9IG5ldyBXb3JrZXIoImR1bW15LmpzIik7Cis8L3NjcmlwdD4KIFRFU1QKKzwvYm9keT4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL3Jlc291
cmNlcy9nZXRDbGllbnRJZHMtd29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93b3Jr
ZXJzL3NlcnZpY2UvcmVzb3VyY2VzL2dldENsaWVudElkcy13b3JrZXIuanMKaW5kZXggY2UxOWIy
NGY4MDgwNGRhMGY1NTE3OTNhZGE3YWZlNjdlZmUwNGNjNC4uZmMwNTY2MzIwOWI2MDk5MGZhNmM3
NTZlMmQyMDNkOGY0YzMxN2NiNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93
b3JrZXJzL3NlcnZpY2UvcmVzb3VyY2VzL2dldENsaWVudElkcy13b3JrZXIuanMKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvcmVzb3VyY2VzL2dldENsaWVudElk
cy13b3JrZXIuanMKQEAgLTEsOSArMSwxMiBAQAotc2VsZi5hZGRFdmVudExpc3RlbmVyKCJtZXNz
YWdlIiwgKGV2ZW50KSA9PiB7CitzZWxmLmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLCBhc3lu
YyAoZXZlbnQpID0+IHsKICAgICBzb3VyY2UgPSBldmVudC5zb3VyY2U7Ci0gICAgY2xpZW50cy5t
YXRjaEFsbCh7IGluY2x1ZGVVbmNvbnRyb2xsZWQgOiB0cnVlIH0pLnRoZW4oZnVuY3Rpb24oY2xp
ZW50cykgewotICAgICAgICBsZXQgaWRzID0gW107Ci0gICAgICAgIGZvciAobGV0IGNsaWVudCBv
ZiBjbGllbnRzKQotICAgICAgICAgICAgaWRzLnB1c2goc2VsZi5pbnRlcm5hbHMuc2VydmljZVdv
cmtlckNsaWVudEludGVybmFsSWRlbnRpZmllcihjbGllbnQpKTsKLSAgICAgICAgc291cmNlLnBv
c3RNZXNzYWdlKGlkcyk7Ci0gICAgfSk7CisgICAgY29uc3QgbWF0Y2hlZENsaWVudHMgPSBhd2Fp
dCBjbGllbnRzLm1hdGNoQWxsKHsgaW5jbHVkZVVuY29udHJvbGxlZCA6IHRydWUsIHR5cGU6ICdh
bGwnIH0pCisgICAgbGV0IGRhdGEgPSB7IGlkczogW10sIHdvcmtlckNvdW50OiAwIH07CisgICAg
Zm9yIChsZXQgY2xpZW50IG9mIG1hdGNoZWRDbGllbnRzKSB7CisgICAgICAgIGlmIChjbGllbnQu
dHlwZSA9PT0gJ3dvcmtlcicpCisgICAgICAgICAgICBkYXRhLndvcmtlckNvdW50Kys7CisgICAg
ICAgIGVsc2UKKyAgICAgICAgICAgIGRhdGEuaWRzLnB1c2goc2VsZi5pbnRlcm5hbHMuc2Vydmlj
ZVdvcmtlckNsaWVudEludGVybmFsSWRlbnRpZmllcihjbGllbnQpKTsKKyAgICB9CisgICAgc291
cmNlLnBvc3RNZXNzYWdlKGRhdGEpOwogfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3dwdC9zZXJ2aWNlLXdvcmtlcnMvYWJvdXQtYmxhbmstaWZyYW1lLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9hYm91dC1ibGFuay1pZnJhbWUtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJjMWE2NmQ4N2U3YzgyYTc5YTlkY2QyOGNmODdmNDU0Mjk1
YWU4NjIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdv
cmtlcnMvYWJvdXQtYmxhbmstaWZyYW1lLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKKwor
UEFTUyBzZXR1cAorUEFTUyBwb3N0IG1lc3NhZ2luZyBmcm9tIGFuIGlmcmFtZQorUEFTUyByZW1v
dmUgaWZyYW1lCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Utd29y
a2Vycy9hYm91dC1ibGFuay1pZnJhbWUtd29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQv
c2VydmljZS13b3JrZXJzL2Fib3V0LWJsYW5rLWlmcmFtZS13b3JrZXIuanMKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwMjY4MjVjNDc0YmRkZjMzNjIxOGFmZWU4ZDg5Nzg5ZjljOTQ0NQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9hYm91dC1ibGFuay1pZnJh
bWUtd29ya2VyLmpzCkBAIC0wLDAgKzEsNCBAQAorYWRkRXZlbnRMaXN0ZW5lcignbWVzc2FnZScs
IGFzeW5jIGV2ZW50ID0+IHsKKyAgICBjb25zdCBjbGllbnRzID0gYXdhaXQgc2VsZi5jbGllbnRz
Lm1hdGNoQWxsKHsgaW5jbHVkZVVuY29udHJvbGxlZCA6IHRydWUgfSk7CisgICAgY2xpZW50cy5m
b3JFYWNoKGNsaWVudCA9PiBjbGllbnQucG9zdE1lc3NhZ2UoZXZlbnQuZGF0YSkpOworfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvYWJvdXQtYmxh
bmstaWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvYWJv
dXQtYmxhbmstaWZyYW1lLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjEzODExZThiNjEwZWIzYzU1MzlhMWRh
MDU5M2MwNzBkYmQ0NzYyOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0
L3NlcnZpY2Utd29ya2Vycy9hYm91dC1ibGFuay1pZnJhbWUuaHRtbApAQCAtMCwwICsxLDQ0IEBA
Cis8aHRtbD4KKzxoZWFkPgorPHRpdGxlPlNlcnZpY2UgV29ya2VyIEZldGNoIEV2ZW50PC90aXRs
ZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPGlmcmFtZSBpZD0nbXlmcmFtZSc+PC9pZnJhbWU+Cis8c2NyaXB0Pgor
cHJvbWlzZV90ZXN0KGFzeW5jICgpID0+IHsKKyAgICBjb25zdCBwcm9taXNlID0gbmV3IFByb21p
c2UocmVzb2x2ZSA9PiB3aW5kb3cucmVzb2x2ZUNhbGxiYWNrID0gcmVzb2x2ZSk7CisgICAgbXlm
cmFtZS5jb250ZW50RG9jdW1lbnQud3JpdGUoYAorICAgIDxib2R5PgorICAgICAgICA8c2NyaXB0
PgorICAgICAgICAgICAgbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIucmVnaXN0ZXIoJ2Fib3V0LWJs
YW5rLWlmcmFtZS13b3JrZXIuanMnKS50aGVuKHJlZ2lzdHJhdGlvbiA9PiB7CisgICAgICAgICAg
ICAgICAgd2luZG93LndvcmtlciA9IHJlZ2lzdHJhdGlvbi5hY3RpdmUgPyByZWdpc3RyYXRpb24u
YWN0aXZlIDogcmVnaXN0cmF0aW9uLmluc3RhbGxpbmc7CisgICAgICAgICAgICAgICAgcGFyZW50
LnJlc29sdmVDYWxsYmFjaygpOworICAgICAgICAgICAgfSk7CisgICAgICAgIDwvJHsnc2NyaXB0
J30+CisgICAgPC9ib2R5PmApOworICAgIHJldHVybiBwcm9taXNlOworfSwgInNldHVwIik7CisK
K3Byb21pc2VfdGVzdChhc3luYyAoKSA9PiB7CisgICAgY29uc3QgcHJvbWlzZSA9IG5ldyBQcm9t
aXNlKChyZXNvbHZlLCByZWplY3QpID0+IHsKKyAgICAgICAgbmF2aWdhdG9yLnNlcnZpY2VXb3Jr
ZXIuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsIChldmVudCkgPT4geworICAgICAgICAgICAg
cmVzb2x2ZShldmVudC5kYXRhKTsKKyAgICAgICAgfSk7CisgICAgICAgIHNldFRpbWVvdXQoKCkg
PT4gcmVqZWN0KCJObyByZXNwb25zZSBtZXNzYWdlIGZyb20gc2VydmljZSB3b3JrZXIiKSwgNTAw
MCk7CisgICAgfSk7CisKKyAgICBteWZyYW1lLmNvbnRlbnRXaW5kb3cud29ya2VyLnBvc3RNZXNz
YWdlKCJoZWxsbyIpOworICAgIGFzc2VydF9lcXVhbHMoYXdhaXQgcHJvbWlzZSwgImhlbGxvIik7
Cit9LCAicG9zdCBtZXNzYWdpbmcgZnJvbSBhbiBpZnJhbWUiKTsKKworcHJvbWlzZV90ZXN0KGFz
eW5jICgpID0+IHsKKyAgICBjb25zdCByZWdpc3RyYXRpb25zID0gYXdhaXQgbmF2aWdhdG9yLnNl
cnZpY2VXb3JrZXIuZ2V0UmVnaXN0cmF0aW9ucygpOworICAgIGZvciAobGV0IHJlZ2lzdHJhdGlv
biBvZiByZWdpc3RyYXRpb25zKQorICAgICAgICBhd2FpdCByZWdpc3RyYXRpb24udW5yZWdpc3Rl
cigpOworICAgIG15ZnJhbWUucmVtb3ZlKCk7Cit9LCAicmVtb3ZlIGlmcmFtZSIpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9hYm91
dC1ibGFuay1yZXBsYWNlbWVudC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9hYm91dC1ibGFuay1yZXBsYWNlbWVudC5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggZmMwYThh
ZjVhODg1YTgyMzYwZmQ2OGU3N2UwNjBlODA3M2VlYzU1Ny4uNTQxNjk5MzFhZWJjOGM0ZDBmOGIw
ODU5YzkxNzY1Mjc2MTcwN2U2YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvYWJvdXQt
YmxhbmstcmVwbGFjZW1lbnQuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL2Fib3V0LWJsYW5rLXJlcGxhY2VtZW50Lmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtNSw3ICs1
LDcgQEAgRkFJTCBJbml0aWFsIGFib3V0OmJsYW5rIGlzIGNvbnRyb2xsZWQsIGV4cG9zZWQgdG8g
Y2xpZW50cy5tYXRjaEFsbCgpLCBhbmQgbWF0Y2gKIEZBSUwgSW5pdGlhbCBhYm91dDpibGFuayBt
b2RpZmllZCBieSBwYXJlbnQgaXMgY29udHJvbGxlZCwgZXhwb3NlZCB0byBjbGllbnRzLm1hdGNo
QWxsKCksIGFuZCBtYXRjaGVzIGZpbmFsIENsaWVudC4gYXNzZXJ0X2ZhbHNlOiByZXN1bHQ6IGZh
aWx1cmU6IGNvdWxkIG5vdCBmaW5kIGFib3V0OmJsYW5rIGNsaWVudCBleHBlY3RlZCBmYWxzZSBn
b3QgdHJ1ZQogRkFJTCBQb3B1cCBpbml0aWFsIGFib3V0OmJsYW5rIGlzIGNvbnRyb2xsZWQsIGV4
cG9zZWQgdG8gY2xpZW50cy5tYXRjaEFsbCgpLCBhbmQgbWF0Y2hlcyBmaW5hbCBDbGllbnQuIGFz
c2VydF9mYWxzZTogcmVzdWx0OiBmYWlsdXJlOiBjb3VsZCBub3QgZmluZCBhYm91dDpibGFuayBj
bGllbnQgZXhwZWN0ZWQgZmFsc2UgZ290IHRydWUKIFBBU1MgSW5pdGlhbCBhYm91dDpibGFuayBp
cyBjb250cm9sbGVkLCBleHBvc2VkIHRvIGNsaWVudHMubWF0Y2hBbGwoKSwgYW5kIGZpbmFsIENs
aWVudCBpcyBub3QgY29udHJvbGxlZCBieSBhIHNlcnZpY2Ugd29ya2VyLgotRkFJTCBTaW1wbGUg
YWJvdXQ6YmxhbmsgaXMgY29udHJvbGxlZCBhbmQgaXMgZXhwb3NlZCB0byBjbGllbnRzLm1hdGNo
QWxsKCkuIGFzc2VydF9mYWxzZTogcmVzdWx0OiBmYWlsdXJlOiBjb3VsZCBub3QgZmluZCBhYm91
dDpibGFuayBjbGllbnQgZXhwZWN0ZWQgZmFsc2UgZ290IHRydWUKLUZBSUwgTmVzdGVkIGFib3V0
OnNyY2RvYyBpcyBjb250cm9sbGVkIGFuZCBpcyBleHBvc2VkIHRvIGNsaWVudHMubWF0Y2hBbGwo
KS4gYXNzZXJ0X2ZhbHNlOiByZXN1bHQ6IGZhaWx1cmU6IGNvdWxkIG5vdCBmaW5kIGFib3V0OnNy
Y2RvYyBjbGllbnQgZXhwZWN0ZWQgZmFsc2UgZ290IHRydWUKLUZBSUwgRHluYW1pYyBhYm91dDpi
bGFuayBpcyBjb250cm9sbGVkIGFuZCBpcyBleHBvc2VkIHRvIGNsaWVudHMubWF0Y2hBbGwoKS4g
YXNzZXJ0X2ZhbHNlOiByZXN1bHQ6IGZhaWx1cmU6IGNvdWxkIG5vdCBmaW5kIGFib3V0OmJsYW5r
IGNsaWVudCBleHBlY3RlZCBmYWxzZSBnb3QgdHJ1ZQorUEFTUyBTaW1wbGUgYWJvdXQ6Ymxhbmsg
aXMgY29udHJvbGxlZCBhbmQgaXMgZXhwb3NlZCB0byBjbGllbnRzLm1hdGNoQWxsKCkuCitQQVNT
IE5lc3RlZCBhYm91dDpzcmNkb2MgaXMgY29udHJvbGxlZCBhbmQgaXMgZXhwb3NlZCB0byBjbGll
bnRzLm1hdGNoQWxsKCkuCitQQVNTIER5bmFtaWMgYWJvdXQ6YmxhbmsgaXMgY29udHJvbGxlZCBh
bmQgaXMgZXhwb3NlZCB0byBjbGllbnRzLm1hdGNoQWxsKCkuCiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL2NsaWVudC11cmwtb2YtYmxvYi11cmwtd29ya2VyLmh0dHBzLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NsaWVudC11cmwtb2YtYmxvYi11cmwtd29ya2VyLmh0
dHBzLWV4cGVjdGVkLnR4dAppbmRleCA0ZjdhN2MxODkyNTY4ZjhlNzU0ZWE5Y2M5MmIzZGJkYWZh
Nzc3ZGRkLi4wNjA4YzA0MTgxNDBlZTEyZjViNTI4MTZjNGRmZDdjNzBmZmViMGRhIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGllbnQtdXJsLW9mLWJsb2ItdXJsLXdvcmtlci5odHRw
cy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xpZW50LXVybC1vZi1ibG9i
LXVybC13b3JrZXIuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlMIENs
aWVudC51cmwgb2YgYSBibG9iIFVSTCB3b3JrZXIgc2hvdWxkIGJlIGEgYmxvYiBVUkwuIGFzc2Vy
dF9ub3RfZXF1YWxzOiB3b3JrZXIgY2xpZW50IHNob3VsZCBleGlzdCBnb3QgZGlzYWxsb3dlZCB2
YWx1ZSAib25lIHdvcmtlciBjbGllbnQgc2hvdWxkIGV4aXN0IgorUEFTUyBDbGllbnQudXJsIG9m
IGEgYmxvYiBVUkwgd29ya2VyIHNob3VsZCBiZSBhIGJsb2IgVVJMLgogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9jbGllbnRzLW1hdGNoYWxsLWJsb2ItdXJsLXdvcmtlci5odHRwcy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGllbnRzLW1hdGNoYWxsLWJsb2ItdXJs
LXdvcmtlci5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggODM2YmFmYWY2ODQyOWUxMWY5M2I0OGEz
NTNkM2FmZGIyZDlmMTg1Zi4uN2JkYzkzYjRjMWMzNjg5MzU3OTU5Mjg1MTBlMDI3M2Y0NmU3ZWQz
YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xpZW50cy1tYXRjaGFsbC1ibG9iLXVy
bC13b3JrZXIuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NsaWVu
dHMtbWF0Y2hhbGwtYmxvYi11cmwtd29ya2VyLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsx
LDQgQEAKIAotRkFJTCBUZXN0IENsaWVudHMubWF0Y2hBbGwoKSB3aXRoIGEgYmxvYiBVUkwgd29y
a2VyIGNsaWVudC4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMSBidXQgZ290IDAKLUZBSUwgVGVz
dCBDbGllbnRzLm1hdGNoQWxsKCkgd2l0aCBhbiB1bmNvbnRyb2xsZWQgYmxvYiBVUkwgd29ya2Vy
IGNsaWVudC4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMSBidXQgZ290IDAKK1BBU1MgVGVzdCBD
bGllbnRzLm1hdGNoQWxsKCkgd2l0aCBhIGJsb2IgVVJMIHdvcmtlciBjbGllbnQuCitQQVNTIFRl
c3QgQ2xpZW50cy5tYXRjaEFsbCgpIHdpdGggYW4gdW5jb250cm9sbGVkIGJsb2IgVVJMIHdvcmtl
ciBjbGllbnQuCiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>