<?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>181385</bug_id>
          
          <creation_ts>2018-01-08 04:08:56 -0800</creation_ts>
          <short_desc>Add CSP support to service workers</short_desc>
          <delta_ts>2018-01-09 05:57:30 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Service Workers</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>181422</dependson>
          <blocked>181434</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>achristensen</cc>
    
    <cc>beidson</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>mkwst</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1386660</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-01-08 04:08:56 -0800</bug_when>
    <thetext>Add CSP support to service workers</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1386661</commentid>
    <comment_count>1</comment_count>
      <attachid>330681</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-01-08 04:20:42 -0800</bug_when>
    <thetext>Created attachment 330681
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1386662</commentid>
    <comment_count>2</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-01-08 04:22:06 -0800</bug_when>
    <thetext>Attachment 330681 did not pass style-queue:


ERROR: Source/WebCore/workers/service/context/ServiceWorkerThread.cpp:74:  Missing spaces around :  [whitespace/init] [4]
Total errors found: 1 in 25 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1386673</commentid>
    <comment_count>3</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-01-08 04:49:13 -0800</bug_when>
    <thetext>rdar://problem/36164094</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1386763</commentid>
    <comment_count>4</comment_count>
      <attachid>330681</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-01-08 09:34:35 -0800</bug_when>
    <thetext>Comment on attachment 330681
Patch

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

&gt; Source/WebCore/workers/WorkerScriptLoader.h:29
&gt; +#include &quot;ContentSecurityPolicyResponseHeaders.h&quot;

Include might not be needed in fact, will check this in a future iteration.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1386803</commentid>
    <comment_count>5</comment_count>
      <attachid>330681</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-01-08 10:42:45 -0800</bug_when>
    <thetext>Comment on attachment 330681
Patch

Darn, I had the same patch locally that I did before the break.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1386811</commentid>
    <comment_count>6</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-01-08 10:54:56 -0800</bug_when>
    <thetext>Thanks for the review.

(In reply to Chris Dumez from comment #5)
&gt; Comment on attachment 330681 [details]
&gt; Patch
&gt; 
&gt; Darn, I had the same patch locally that I did before the break.

We &apos;ll call it the double-bullet-proof patch!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1386812</commentid>
    <comment_count>7</comment_count>
      <attachid>330681</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-01-08 10:55:13 -0800</bug_when>
    <thetext>Comment on attachment 330681
Patch

Not sure it will land without rebasing, but let&apos;s try</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1386813</commentid>
    <comment_count>8</comment_count>
      <attachid>330681</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-01-08 10:56:05 -0800</bug_when>
    <thetext>Comment on attachment 330681
Patch

Rejecting attachment 330681 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-02&apos;, &apos;apply-attachment&apos;, &apos;--no-update&apos;, &apos;--non-interactive&apos;, 330681, &apos;--port=mac&apos;]&quot; exit_code: 2 cwd: /Volumes/Data/EWS/WebKit

Last 500 characters of output:
ervice-workers/service-worker/service-worker-csp-connect.https-expected.txt
patching file LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/service-worker-csp-default.https-expected.txt
patching file LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/service-worker-csp-script.https-expected.txt

Failed to run &quot;[u&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/svn-apply&apos;, &apos;--force&apos;, &apos;--reviewer&apos;, u&apos;Chris Dumez&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

Full output: http://webkit-queues.webkit.org/results/5975033</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1386854</commentid>
    <comment_count>9</comment_count>
      <attachid>330725</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-01-08 12:45:38 -0800</bug_when>
    <thetext>Created attachment 330725
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1386861</commentid>
    <comment_count>10</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-01-08 12:47:32 -0800</bug_when>
    <thetext>Attachment 330725 did not pass style-queue:


ERROR: Source/WebCore/workers/service/context/ServiceWorkerThread.cpp:74:  Missing spaces around :  [whitespace/init] [4]
Total errors found: 1 in 25 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1386880</commentid>
    <comment_count>11</comment_count>
      <attachid>330725</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-01-08 13:19:28 -0800</bug_when>
    <thetext>Comment on attachment 330725
Patch for landing

Clearing flags on attachment: 330725

Committed r226532: &lt;https://trac.webkit.org/changeset/226532&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1386881</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-01-08 13:19:30 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1387038</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-01-08 18:05:30 -0800</bug_when>
    <thetext>Re-opened since this is blocked by bug 181422</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1387211</commentid>
    <comment_count>14</comment_count>
      <attachid>330814</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-01-09 05:23:51 -0800</bug_when>
    <thetext>Created attachment 330814
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1387212</commentid>
    <comment_count>15</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-01-09 05:24:22 -0800</bug_when>
    <thetext>(In reply to youenn fablet from comment #14)
&gt; Created attachment 330814 [details]
&gt; Patch for landing

Relanding without modifying the SQL database, hence no CSP data persistency support.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1387214</commentid>
    <comment_count>16</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-01-09 05:25:22 -0800</bug_when>
    <thetext>Attachment 330814 did not pass style-queue:


ERROR: Source/WebCore/workers/service/context/ServiceWorkerThread.cpp:74:  Missing spaces around :  [whitespace/init] [4]
Total errors found: 1 in 24 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1387220</commentid>
    <comment_count>17</comment_count>
      <attachid>330814</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-01-09 05:57:28 -0800</bug_when>
    <thetext>Comment on attachment 330814
Patch for landing

Clearing flags on attachment: 330814

Committed r226628: &lt;https://trac.webkit.org/changeset/226628&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1387221</commentid>
    <comment_count>18</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-01-09 05:57:30 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>330681</attachid>
            <date>2018-01-08 04:20:42 -0800</date>
            <delta_ts>2018-01-08 12:45:32 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-181385-20180108132040.patch</filename>
            <type>text/plain</type>
            <size>40540</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI2NDY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODc4NDlmMzlmMGUxMjhm
OWRmNTMwODkyNTk4OTY1ZTQ1M2ViNzc2Ny4uZWI0NDlhYWZlZWU5OTk2OTlmNDFiM2VmNTUyMTc1
YzA5ZjVjZjNkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY1IEBACisyMDE4LTAxLTA4ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgQ1NQIHN1cHBvcnQg
dG8gc2VydmljZSB3b3JrZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xODEzODUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBDb3ZlcmVkIGJ5IHJlYmFzZWQgdGVzdHMuCisKKyAgICAgICAgQWRkZWQgcmVj
b3Zlcnkgb2YgQ1NQIGluZm9ybWF0aW9uIGZyb20gV29ya2VyU2NyaXB0TG9hZGVyLgorICAgICAg
ICBBZGRlZCBwbHVtYmluZyB0byBwYXNzIHRoZSBDU1AgaW5mb3JtYXRpb24gdG8gU2VydmljZSBX
b3JrZXJzLgorICAgICAgICBBZGRlZCBwZXJzaXN0ZW5jeSBzdXBwb3J0IGZvciB0aGUgQ1NQIGlu
Zm9ybWF0aW9uLgorCisgICAgICAgICogd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6V29ya2VyU2NyaXB0TG9hZGVyOjpsb2FkQXN5bmNocm9ub3VzbHkp
OgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyU2NyaXB0TG9hZGVyOjpkaWRSZWNlaXZlUmVzcG9u
c2UpOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmg6CisgICAgICAgIChX
ZWJDb3JlOjpXb3JrZXJTY3JpcHRMb2FkZXI6OmNvbnRlbnRTZWN1cml0eVBvbGljeSBjb25zdCk6
CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NXQ2xpZW50Q29ubmVjdGlvbi5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTV0NsaWVudENvbm5lY3Rpb246OmZpbmlzaGVkRmV0Y2hpbmdTY3JpcHQp
OgorICAgICAgICAoV2ViQ29yZTo6U1dDbGllbnRDb25uZWN0aW9uOjpmYWlsZWRGZXRjaGluZ1Nj
cmlwdCk6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NXQ2xpZW50Q29ubmVjdGlvbi5oOgor
ICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDb250YWluZXI6OmFkZFJlZ2lzdHJhdGlvbik6
CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjpqb2JGYWlsZWRXaXRo
RXhjZXB0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDb250YWluZXI6Ompv
YlJlc29sdmVkV2l0aFJlZ2lzdHJhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29y
a2VyQ29udGFpbmVyOjpqb2JGaW5pc2hlZExvYWRpbmdTY3JpcHQpOgorICAgICAgICAqIHdvcmtl
cnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmg6CisgICAgICAgICogd29ya2Vycy9z
ZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250ZXh0RGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpT
ZXJ2aWNlV29ya2VyQ29udGV4dERhdGE6Omlzb2xhdGVkQ29weSBjb25zdCk6CisgICAgICAgICog
d29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250ZXh0RGF0YS5oOgorICAgICAgICAoV2Vi
Q29yZTo6U2VydmljZVdvcmtlckNvbnRleHREYXRhOjplbmNvZGUgY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6U2VydmljZVdvcmtlckNvbnRleHREYXRhOjpkZWNvZGUpOgorICAgICAgICAqIHdv
cmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyRmV0Y2hSZXN1bHQuaDoKKyAgICAgICAgKFdlYkNv
cmU6OlNlcnZpY2VXb3JrZXJGZXRjaFJlc3VsdDo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdl
YkNvcmU6OlNlcnZpY2VXb3JrZXJGZXRjaFJlc3VsdDo6ZGVjb2RlKToKKyAgICAgICAgKiB3b3Jr
ZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZTo6Y3JlYXRlKToKKyAgICAgICAgKiB3b3JrZXJz
L3NlcnZpY2UvU2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmg6CisgICAgICAgICogd29ya2Vycy9z
ZXJ2aWNlL1NlcnZpY2VXb3JrZXJKb2IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdv
cmtlckpvYjo6bm90aWZ5RmluaXNoZWQpOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2
aWNlV29ya2VySm9iQ2xpZW50Lmg6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQv
U2VydmljZVdvcmtlclRocmVhZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2Vy
VGhyZWFkOjpTZXJ2aWNlV29ya2VyVGhyZWFkKToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VX
b3JrZXJUaHJlYWQ6OmNyZWF0ZVdvcmtlckdsb2JhbFNjb3BlKToKKyAgICAgICAgKiB3b3JrZXJz
L3NlcnZpY2Uvc2VydmVyL1JlZ2lzdHJhdGlvbkRhdGFiYXNlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OnYxUmVjb3Jkc1RhYmxlU2NoZW1hKToKKyAgICAgICAgKFdlYkNvcmU6OlJlZ2lzdHJhdGlv
bkRhdGFiYXNlOjpvcGVuU1FMaXRlRGF0YWJhc2UpOgorICAgICAgICAoV2ViQ29yZTo6UmVnaXN0
cmF0aW9uRGF0YWJhc2U6OmRvUHVzaENoYW5nZXMpOgorICAgICAgICAoV2ViQ29yZTo6UmVnaXN0
cmF0aW9uRGF0YWJhc2U6OmltcG9ydFJlY29yZHMpOgorICAgICAgICAqIHdvcmtlcnMvc2Vydmlj
ZS9zZXJ2ZXIvU1dTZXJ2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1dTZXJ2ZXI6OnVwZGF0
ZVdvcmtlcik6CisgICAgICAgIChXZWJDb3JlOjpTV1NlcnZlcjo6aW5zdGFsbENvbnRleHREYXRh
KToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmg6CisgICAgICAg
ICogd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlckpvYlF1ZXVlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlNXU2VydmVySm9iUXVldWU6OnNjcmlwdEZldGNoRmluaXNoZWQpOgorICAgICAg
ICAqIHdvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJXb3JrZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U1dTZXJ2ZXJXb3JrZXI6OlNXU2VydmVyV29ya2VyKToKKyAgICAgICAgKFdlYkNv
cmU6Om1fY29udGVudFNlY3VyaXR5UG9saWN5KToKKyAgICAgICAgKFdlYkNvcmU6OlNXU2VydmVy
V29ya2VyOjpjb250ZXh0RGF0YSBjb25zdCk6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL3Nl
cnZlci9TV1NlcnZlcldvcmtlci5oOgorCiAyMDE4LTAxLTA1ICBZb3Vlbm4gRmFibGV0ICA8eW91
ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBJbXBsZW1lbnQgQ2FjaGUgQVBJIHBhcnRpdGlvbmlu
ZyBiYXNlZCBvbiBDbGllbnRPcmlnaW4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyU2NyaXB0TG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
U2NyaXB0TG9hZGVyLmNwcAppbmRleCAxNjIzMWJmYWNlYjYwOTM2ZTQ1MTEyYTY5OTQwZDVjZWI1
Y2E1YzQzLi5kZTg4NDIzYWQzZTE4YjllZDQyY2RlNmM2MTUzZGYwOGQ5MGYxOTg4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuY3BwCkBAIC0xMzQsNiAr
MTM0LDcgQEAgdm9pZCBXb3JrZXJTY3JpcHRMb2FkZXI6OmRpZFJlY2VpdmVSZXNwb25zZSh1bnNp
Z25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IFJlc28KICAgICBtX3Jlc3BvbnNlVVJMID0gcmVz
cG9uc2UudXJsKCk7CiAgICAgbV9yZXNwb25zZU1JTUVUeXBlID0gcmVzcG9uc2UubWltZVR5cGUo
KTsKICAgICBtX3Jlc3BvbnNlRW5jb2RpbmcgPSByZXNwb25zZS50ZXh0RW5jb2RpbmdOYW1lKCk7
CisgICAgbV9jb250ZW50U2VjdXJpdHlQb2xpY3kgPSBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNw
b25zZUhlYWRlcnMgeyByZXNwb25zZSB9OwogICAgIGlmIChtX2NsaWVudCkKICAgICAgICAgbV9j
bGllbnQtPmRpZFJlY2VpdmVSZXNwb25zZShpZGVudGlmaWVyLCByZXNwb25zZSk7CiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5oIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuaAppbmRleCAwYjhmMmM1YmJk
MjI2ZGUxOTc4MjZmNTc2Y2RiZDYyM2U4MTRhZTI4Li5hMDBmYzU3YmQyMzQ5MWQ4Yjg5ZmE4MzMw
YjA1NzFhMTdiNmNjMzYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtl
clNjcmlwdExvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0
TG9hZGVyLmgKQEAgLTI2LDYgKzI2LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKKyNpbmNsdWRlICJD
b250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMuaCIKICNpbmNsdWRlICJSZXNvdXJj
ZUVycm9yLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VSZXF1ZXN0LmgiCiAjaW5jbHVkZSAiVGhyZWFk
YWJsZUxvYWRlci5oIgpAQCAtNTgsNiArNTksNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBub3RpZnlF
cnJvcigpOwogCiAgICAgU3RyaW5nIHNjcmlwdCgpOworICAgIGNvbnN0IENvbnRlbnRTZWN1cml0
eVBvbGljeVJlc3BvbnNlSGVhZGVycyYgY29udGVudFNlY3VyaXR5UG9saWN5KCkgY29uc3QgeyBy
ZXR1cm4gbV9jb250ZW50U2VjdXJpdHlQb2xpY3k7IH0KICAgICBjb25zdCBVUkwmIHVybCgpIGNv
bnN0IHsgcmV0dXJuIG1fdXJsOyB9CiAgICAgY29uc3QgVVJMJiByZXNwb25zZVVSTCgpIGNvbnN0
OwogICAgIGNvbnN0IFN0cmluZyYgcmVzcG9uc2VNSU1FVHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1f
cmVzcG9uc2VNSU1FVHlwZTsgfQpAQCAtODksNiArOTEsNyBAQCBwcml2YXRlOgogICAgIFVSTCBt
X3VybDsKICAgICBVUkwgbV9yZXNwb25zZVVSTDsKICAgICBTdHJpbmcgbV9yZXNwb25zZU1JTUVU
eXBlOworICAgIENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyBtX2NvbnRlbnRT
ZWN1cml0eVBvbGljeTsKICAgICB1bnNpZ25lZCBsb25nIG1faWRlbnRpZmllciB7IDAgfTsKICAg
ICBib29sIG1fZmFpbGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1fZmluaXNoaW5nIHsgZmFsc2Ug
fTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TV0NsaWVudENv
bm5lY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NXQ2xpZW50Q29u
bmVjdGlvbi5jcHAKaW5kZXggMWYzMjIxZmY0Zjk5Yjk4ZWFkZDFmODBkODU1NzI3NGEwYmIxZDVi
Ny4uNTAwMzFkMjAyYzVlNzRlMDgwNGFlNjk3YzhlMGU0N2IyN2UzNDhjNCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NXQ2xpZW50Q29ubmVjdGlvbi5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NXQ2xpZW50Q29ubmVjdGlvbi5jcHAK
QEAgLTU2LDE5ICs1NiwxOSBAQCB2b2lkIFNXQ2xpZW50Q29ubmVjdGlvbjo6c2NoZWR1bGVKb2Io
U2VydmljZVdvcmtlckpvYiYgam9iKQogICAgIHNjaGVkdWxlSm9iSW5TZXJ2ZXIoam9iLmRhdGEo
KSk7CiB9CiAKLXZvaWQgU1dDbGllbnRDb25uZWN0aW9uOjpmaW5pc2hlZEZldGNoaW5nU2NyaXB0
KFNlcnZpY2VXb3JrZXJKb2ImIGpvYiwgY29uc3QgU3RyaW5nJiBzY3JpcHQpCit2b2lkIFNXQ2xp
ZW50Q29ubmVjdGlvbjo6ZmluaXNoZWRGZXRjaGluZ1NjcmlwdChTZXJ2aWNlV29ya2VySm9iJiBq
b2IsIGNvbnN0IFN0cmluZyYgc2NyaXB0LCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNw
b25zZUhlYWRlcnMmIGNvbnRlbnRTZWN1cml0eVBvbGljeSkKIHsKICAgICBBU1NFUlQoaXNNYWlu
VGhyZWFkKCkpOwogICAgIEFTU0VSVChtX3NjaGVkdWxlZEpvYnMuZ2V0KGpvYi5pZGVudGlmaWVy
KCkpID09ICZqb2IpOwogCi0gICAgZmluaXNoRmV0Y2hpbmdTY3JpcHRJblNlcnZlcih7IGpvYi5k
YXRhKCkuaWRlbnRpZmllcigpLCBqb2IuZGF0YSgpLnJlZ2lzdHJhdGlvbktleSgpLCBzY3JpcHQs
IHsgfSB9KTsKKyAgICBmaW5pc2hGZXRjaGluZ1NjcmlwdEluU2VydmVyKHsgam9iLmRhdGEoKS5p
ZGVudGlmaWVyKCksIGpvYi5kYXRhKCkucmVnaXN0cmF0aW9uS2V5KCksIHNjcmlwdCwgY29udGVu
dFNlY3VyaXR5UG9saWN5LCB7IH0gfSk7CiB9CiAKIHZvaWQgU1dDbGllbnRDb25uZWN0aW9uOjpm
YWlsZWRGZXRjaGluZ1NjcmlwdChjb25zdCBTZXJ2aWNlV29ya2VySm9iRGF0YUlkZW50aWZpZXIm
IGpvYkRhdGFJZGVudGlmaWVyLCBjb25zdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5JiBy
ZWdpc3RyYXRpb25LZXksIGNvbnN0IFJlc291cmNlRXJyb3ImIGVycm9yKQogewogICAgIEFTU0VS
VChpc01haW5UaHJlYWQoKSk7CiAKLSAgICBmaW5pc2hGZXRjaGluZ1NjcmlwdEluU2VydmVyKHsg
am9iRGF0YUlkZW50aWZpZXIsIHJlZ2lzdHJhdGlvbktleSwgeyB9LCBlcnJvciB9KTsKKyAgICBm
aW5pc2hGZXRjaGluZ1NjcmlwdEluU2VydmVyKHsgam9iRGF0YUlkZW50aWZpZXIsIHJlZ2lzdHJh
dGlvbktleSwgeyB9LCB7IH0sIGVycm9yIH0pOwogfQogCiB2b2lkIFNXQ2xpZW50Q29ubmVjdGlv
bjo6am9iUmVqZWN0ZWRJblNlcnZlcihjb25zdCBTZXJ2aWNlV29ya2VySm9iRGF0YUlkZW50aWZp
ZXImIGpvYkRhdGFJZGVudGlmaWVyLCBjb25zdCBFeGNlcHRpb25EYXRhJiBleGNlcHRpb25EYXRh
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NXQ2xpZW50Q29u
bmVjdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NXQ2xpZW50Q29ubmVj
dGlvbi5oCmluZGV4IDRhZTc4YTM4ODdkZmFjODEzMDVhMzEyOWFmNTM4YTA4MTY5MzRmYTYuLmY5
MDNkNzYyMDIwNzJlMWZlZDM3MDQwYWI4NTM2MTllMzdmODAzYjUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TV0NsaWVudENvbm5lY3Rpb24uaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU1dDbGllbnRDb25uZWN0aW9uLmgKQEAgLTY5LDcg
KzY5LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCByZW1vdmVTZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uSW5TZXJ2ZXIoU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIpID0g
MDsKIAogICAgIHZvaWQgc2NoZWR1bGVKb2IoU2VydmljZVdvcmtlckpvYiYpOwotICAgIHZvaWQg
ZmluaXNoZWRGZXRjaGluZ1NjcmlwdChTZXJ2aWNlV29ya2VySm9iJiwgY29uc3QgU3RyaW5nJik7
CisgICAgdm9pZCBmaW5pc2hlZEZldGNoaW5nU2NyaXB0KFNlcnZpY2VXb3JrZXJKb2ImLCBjb25z
dCBTdHJpbmcmIHNjcmlwdCwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFk
ZXJzJik7CiAgICAgdm9pZCBmYWlsZWRGZXRjaGluZ1NjcmlwdChjb25zdCBTZXJ2aWNlV29ya2Vy
Sm9iRGF0YUlkZW50aWZpZXImLCBjb25zdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5Jiwg
Y29uc3QgUmVzb3VyY2VFcnJvciYpOwogCiAgICAgdmlydHVhbCB2b2lkIGRpZFJlc29sdmVSZWdp
c3RyYXRpb25Qcm9taXNlKGNvbnN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkmKSA9IDA7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtl
ckNvbnRhaW5lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdv
cmtlckNvbnRhaW5lci5jcHAKaW5kZXggMTk3MGYwYTllOWIzY2I3NTBkNDkxZWJjMGQ2NjMwMmQ5
YmUzOWQ2NS4uNTMwMTVhNWFlMmNjY2I5ZTM0NmVlNzE0OGFlZjhiZjU0MDkzNGM1MyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWlu
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2Vy
Q29udGFpbmVyLmNwcApAQCAtNDY4LDcgKzQ2OCw3IEBAIHZvaWQgU2VydmljZVdvcmtlckNvbnRh
aW5lcjo6c3RhcnRTY3JpcHRGZXRjaEZvckpvYihTZXJ2aWNlV29ya2VySm9iJiBqb2IsIEZldGNo
CiAgICAgam9iLmZldGNoU2NyaXB0V2l0aENvbnRleHQoKmNvbnRleHQsIGNhY2hlUG9saWN5KTsK
IH0KIAotdm9pZCBTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjpqb2JGaW5pc2hlZExvYWRpbmdTY3Jp
cHQoU2VydmljZVdvcmtlckpvYiYgam9iLCBjb25zdCBTdHJpbmcmIHNjcmlwdCkKK3ZvaWQgU2Vy
dmljZVdvcmtlckNvbnRhaW5lcjo6am9iRmluaXNoZWRMb2FkaW5nU2NyaXB0KFNlcnZpY2VXb3Jr
ZXJKb2ImIGpvYiwgY29uc3QgU3RyaW5nJiBzY3JpcHQsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBv
bGljeVJlc3BvbnNlSGVhZGVycyYgY29udGVudFNlY3VyaXR5UG9saWN5KQogewogI2lmbmRlZiBO
REVCVUcKICAgICBBU1NFUlQobV9jcmVhdGlvblRocmVhZC5wdHIoKSA9PSAmVGhyZWFkOjpjdXJy
ZW50KCkpOwpAQCAtNDc2LDggKzQ3Niw4IEBAIHZvaWQgU2VydmljZVdvcmtlckNvbnRhaW5lcjo6
am9iRmluaXNoZWRMb2FkaW5nU2NyaXB0KFNlcnZpY2VXb3JrZXJKb2ImIGpvYiwgY29uCiAKICAg
ICBMT0coU2VydmljZVdvcmtlciwgIlNldmljZVdvcmtlckNvbnRhaW5lciAlcCBmaW5pc2hlZCBm
ZXRjaGluZyBzY3JpcHQgZm9yIGpvYiAlcyIsIHRoaXMsIGpvYi5pZGVudGlmaWVyKCkubG9nZ2lu
Z1N0cmluZygpLnV0ZjgoKS5kYXRhKCkpOwogCi0gICAgY2FsbE9uTWFpblRocmVhZChbY29ubmVj
dGlvbiA9IG1fc3dDb25uZWN0aW9uLCBqb2IgPSBtYWtlUmVmKGpvYiksIHNjcmlwdCA9IHNjcmlw
dC5pc29sYXRlZENvcHkoKV0gewotICAgICAgICBjb25uZWN0aW9uLT5maW5pc2hlZEZldGNoaW5n
U2NyaXB0KGpvYiwgc2NyaXB0KTsKKyAgICBjYWxsT25NYWluVGhyZWFkKFtjb25uZWN0aW9uID0g
bV9zd0Nvbm5lY3Rpb24sIGpvYiA9IG1ha2VSZWYoam9iKSwgc2NyaXB0ID0gc2NyaXB0Lmlzb2xh
dGVkQ29weSgpLCBjb250ZW50U2VjdXJpdHlQb2xpY3kgPSBjb250ZW50U2VjdXJpdHlQb2xpY3ku
aXNvbGF0ZWRDb3B5KCldIHsKKyAgICAgICAgY29ubmVjdGlvbi0+ZmluaXNoZWRGZXRjaGluZ1Nj
cmlwdChqb2IsIHNjcmlwdCwgY29udGVudFNlY3VyaXR5UG9saWN5KTsKICAgICB9KTsKIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJD
b250YWluZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2Vy
Q29udGFpbmVyLmgKaW5kZXggMTlkMjVmNWE3NDE3OGQyYTgzOWI0NTQyMjk4NTE1MGVhMGUzN2Rh
Mi4uNzNiZmYzNWU1YzgxZGIxMjQxYjQ1YmI2MzQ4MjQ3Y2NiMjgxMDBkNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5l
ci5oCkBAIC04OSw3ICs4OSw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBqb2JSZXNvbHZlZFdpdGhS
ZWdpc3RyYXRpb24oU2VydmljZVdvcmtlckpvYiYsIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25E
YXRhJiYsIFNob3VsZE5vdGlmeVdoZW5SZXNvbHZlZCkgZmluYWw7CiAgICAgdm9pZCBqb2JSZXNv
bHZlZFdpdGhVbnJlZ2lzdHJhdGlvblJlc3VsdChTZXJ2aWNlV29ya2VySm9iJiwgYm9vbCB1bnJl
Z2lzdHJhdGlvblJlc3VsdCkgZmluYWw7CiAgICAgdm9pZCBzdGFydFNjcmlwdEZldGNoRm9ySm9i
KFNlcnZpY2VXb3JrZXJKb2ImLCBGZXRjaE9wdGlvbnM6OkNhY2hlKSBmaW5hbDsKLSAgICB2b2lk
IGpvYkZpbmlzaGVkTG9hZGluZ1NjcmlwdChTZXJ2aWNlV29ya2VySm9iJiwgY29uc3QgU3RyaW5n
JikgZmluYWw7CisgICAgdm9pZCBqb2JGaW5pc2hlZExvYWRpbmdTY3JpcHQoU2VydmljZVdvcmtl
ckpvYiYsIGNvbnN0IFN0cmluZyYgc2NyaXB0LCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lS
ZXNwb25zZUhlYWRlcnMmKSBmaW5hbDsKICAgICB2b2lkIGpvYkZhaWxlZExvYWRpbmdTY3JpcHQo
U2VydmljZVdvcmtlckpvYiYsIGNvbnN0IFJlc291cmNlRXJyb3ImLCBzdGQ6Om9wdGlvbmFsPEV4
Y2VwdGlvbj4mJikgZmluYWw7CiAKICAgICB2b2lkIGpvYkRpZEZpbmlzaChTZXJ2aWNlV29ya2Vy
Sm9iJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vydmlj
ZVdvcmtlckNvbnRleHREYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9T
ZXJ2aWNlV29ya2VyQ29udGV4dERhdGEuY3BwCmluZGV4IDdmMGFiYmUyNDc2MjI5MWVkNWI5ZjE0
ZjM4ZDI5ZmNhMmJmZmYxMWMuLjRjNGJmMjM2NGNlNGNmMTI1Mzg1ODY4Yjk4NWY4YjdlYjAxOGQ3
ZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29y
a2VyQ29udGV4dERhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9T
ZXJ2aWNlV29ya2VyQ29udGV4dERhdGEuY3BwCkBAIC0zMiw3ICszMiw3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogU2VydmljZVdvcmtlckNvbnRleHREYXRhIFNlcnZpY2VXb3JrZXJDb250ZXh0
RGF0YTo6aXNvbGF0ZWRDb3B5KCkgY29uc3QKIHsKLSAgICByZXR1cm4geyBqb2JEYXRhSWRlbnRp
ZmllciwgcmVnaXN0cmF0aW9uLmlzb2xhdGVkQ29weSgpLCBzZXJ2aWNlV29ya2VySWRlbnRpZmll
ciwgc2NyaXB0Lmlzb2xhdGVkQ29weSgpLCBzY3JpcHRVUkwuaXNvbGF0ZWRDb3B5KCksIHdvcmtl
clR5cGUsIGxvYWRlZEZyb21EaXNrIH07CisgICAgcmV0dXJuIHsgam9iRGF0YUlkZW50aWZpZXIs
IHJlZ2lzdHJhdGlvbi5pc29sYXRlZENvcHkoKSwgc2VydmljZVdvcmtlcklkZW50aWZpZXIsIHNj
cmlwdC5pc29sYXRlZENvcHkoKSwgY29udGVudFNlY3VyaXR5UG9saWN5Lmlzb2xhdGVkQ29weSgp
LCBzY3JpcHRVUkwuaXNvbGF0ZWRDb3B5KCksIHdvcmtlclR5cGUsIGxvYWRlZEZyb21EaXNrIH07
CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGV4dERhdGEuaCBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGV4dERhdGEuaAppbmRleCBmM2Zl
MGRjMTRiZTdhMjIyMjM4ZjczZmVkYzIzNTVjYTBkY2IzNzRmLi5mNWEzZTA5MTY5MmE1OTA4NTRl
ZWQ5MWJlNWU0MzUxYjBiNzY0NTcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRleHREYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250ZXh0RGF0YS5oCkBAIC0yNSw2ICsyNSw3
IEBACiAKICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSAiQ29udGVudFNlY3VyaXR5UG9saWN5UmVz
cG9uc2VIZWFkZXJzLmgiCiAjaW5jbHVkZSAiU2VydmljZVdvcmtlcklkZW50aWZpZXIuaCIKICNp
bmNsdWRlICJTZXJ2aWNlV29ya2VySm9iRGF0YUlkZW50aWZpZXIuaCIKICNpbmNsdWRlICJTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YS5oIgpAQCAtNDAsMTAgKzQxLDExIEBAIHN0cnVjdCBT
ZXJ2aWNlV29ya2VyQ29udGV4dERhdGEgewogICAgIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25E
YXRhIHJlZ2lzdHJhdGlvbjsKICAgICBTZXJ2aWNlV29ya2VySWRlbnRpZmllciBzZXJ2aWNlV29y
a2VySWRlbnRpZmllcjsKICAgICBTdHJpbmcgc2NyaXB0OworICAgIENvbnRlbnRTZWN1cml0eVBv
bGljeVJlc3BvbnNlSGVhZGVycyBjb250ZW50U2VjdXJpdHlQb2xpY3k7CiAgICAgVVJMIHNjcmlw
dFVSTDsKICAgICBXb3JrZXJUeXBlIHdvcmtlclR5cGU7CiAgICAgYm9vbCBsb2FkZWRGcm9tRGlz
azsKLSAgICAKKwogICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlKEVuY29k
ZXImKSBjb25zdDsKICAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgc3RkOjpvcHRp
b25hbDxTZXJ2aWNlV29ya2VyQ29udGV4dERhdGE+IGRlY29kZShEZWNvZGVyJik7CiAgICAgCkBA
IC01Myw3ICs1NSw3IEBAIHN0cnVjdCBTZXJ2aWNlV29ya2VyQ29udGV4dERhdGEgewogdGVtcGxh
dGU8Y2xhc3MgRW5jb2Rlcj4KIHZvaWQgU2VydmljZVdvcmtlckNvbnRleHREYXRhOjplbmNvZGUo
RW5jb2RlciYgZW5jb2RlcikgY29uc3QKIHsKLSAgICBlbmNvZGVyIDw8IGpvYkRhdGFJZGVudGlm
aWVyIDw8IHJlZ2lzdHJhdGlvbiA8PCBzZXJ2aWNlV29ya2VySWRlbnRpZmllciA8PCBzY3JpcHQg
PDwgc2NyaXB0VVJMIDw8IHdvcmtlclR5cGUgPDwgbG9hZGVkRnJvbURpc2s7CisgICAgZW5jb2Rl
ciA8PCBqb2JEYXRhSWRlbnRpZmllciA8PCByZWdpc3RyYXRpb24gPDwgc2VydmljZVdvcmtlcklk
ZW50aWZpZXIgPDwgc2NyaXB0IDw8IGNvbnRlbnRTZWN1cml0eVBvbGljeSA8PCBzY3JpcHRVUkwg
PDwgd29ya2VyVHlwZSA8PCBsb2FkZWRGcm9tRGlzazsKIH0KIAogdGVtcGxhdGU8Y2xhc3MgRGVj
b2Rlcj4KQEAgLTc2LDcgKzc4LDExIEBAIHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlckNvbnRl
eHREYXRhPiBTZXJ2aWNlV29ya2VyQ29udGV4dERhdGE6OmRlY29kZShEZWNvZGVyCiAgICAgU3Ry
aW5nIHNjcmlwdDsKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHNjcmlwdCkpCiAgICAgICAgIHJl
dHVybiBzdGQ6Om51bGxvcHQ7Ci0gICAgCisKKyAgICBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNw
b25zZUhlYWRlcnMgY29udGVudFNlY3VyaXR5UG9saWN5OworICAgIGlmICghZGVjb2Rlci5kZWNv
ZGUoY29udGVudFNlY3VyaXR5UG9saWN5KSkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsK
KwogICAgIFVSTCBzY3JpcHRVUkw7CiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShzY3JpcHRVUkwp
KQogICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwpAQCAtODksNyArOTUsNyBAQCBzdGQ6Om9w
dGlvbmFsPFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YT4gU2VydmljZVdvcmtlckNvbnRleHREYXRh
OjpkZWNvZGUoRGVjb2RlcgogICAgIGlmICghZGVjb2Rlci5kZWNvZGUobG9hZGVkRnJvbURpc2sp
KQogICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogCi0gICAgcmV0dXJuIHt7IFdURk1vdmUo
KmpvYkRhdGFJZGVudGlmaWVyKSwgV1RGTW92ZSgqcmVnaXN0cmF0aW9uKSwgV1RGTW92ZSgqc2Vy
dmljZVdvcmtlcklkZW50aWZpZXIpLCBXVEZNb3ZlKHNjcmlwdCksIFdURk1vdmUoc2NyaXB0VVJM
KSwgd29ya2VyVHlwZSwgbG9hZGVkRnJvbURpc2t9fTsKKyAgICByZXR1cm4ge3sgV1RGTW92ZSgq
am9iRGF0YUlkZW50aWZpZXIpLCBXVEZNb3ZlKCpyZWdpc3RyYXRpb24pLCBXVEZNb3ZlKCpzZXJ2
aWNlV29ya2VySWRlbnRpZmllciksIFdURk1vdmUoc2NyaXB0KSwgV1RGTW92ZShjb250ZW50U2Vj
dXJpdHlQb2xpY3kpLCBXVEZNb3ZlKHNjcmlwdFVSTCksIHdvcmtlclR5cGUsIGxvYWRlZEZyb21E
aXNrIH19OwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckZldGNoUmVzdWx0LmggYi9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckZldGNoUmVzdWx0LmgKaW5k
ZXggNzE0Zjg1N2FiOWE3NzYwN2Y4Yjg3YjNiM2Q2NGI3NDgyZWU5Njg3Mi4uZTBhNTk5OTc2MTky
ZDhiMzRkNDhmYWVhOWE5ZWQyNzcwYTNmYWVlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJGZXRjaFJlc3VsdC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyRmV0Y2hSZXN1bHQuaApAQCAtMjcs
NiArMjcsNyBAQAogCiAjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQogCisjaW5jbHVkZSAiQ29u
dGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VF
cnJvci5oIgogI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkuaCIKICNpbmNs
dWRlICJTZXJ2aWNlV29ya2VyVHlwZXMuaCIKQEAgLTM3LDYgKzM4LDcgQEAgc3RydWN0IFNlcnZp
Y2VXb3JrZXJGZXRjaFJlc3VsdCB7CiAgICAgU2VydmljZVdvcmtlckpvYkRhdGFJZGVudGlmaWVy
IGpvYkRhdGFJZGVudGlmaWVyOwogICAgIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkgcmVn
aXN0cmF0aW9uS2V5OwogICAgIFN0cmluZyBzY3JpcHQ7CisgICAgQ29udGVudFNlY3VyaXR5UG9s
aWN5UmVzcG9uc2VIZWFkZXJzIGNvbnRlbnRTZWN1cml0eVBvbGljeTsKICAgICBSZXNvdXJjZUVy
cm9yIHNjcmlwdEVycm9yOwogCiAgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBlbmNv
ZGUoRW5jb2RlciYpIGNvbnN0OwpAQCAtNDYsNyArNDgsNyBAQCBzdHJ1Y3QgU2VydmljZVdvcmtl
ckZldGNoUmVzdWx0IHsKIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+CiB2b2lkIFNlcnZpY2VXb3Jr
ZXJGZXRjaFJlc3VsdDo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0CiB7Ci0gICAgZW5j
b2RlciA8PCBqb2JEYXRhSWRlbnRpZmllciA8PCByZWdpc3RyYXRpb25LZXkgPDwgc2NyaXB0IDw8
IHNjcmlwdEVycm9yOworICAgIGVuY29kZXIgPDwgam9iRGF0YUlkZW50aWZpZXIgPDwgcmVnaXN0
cmF0aW9uS2V5IDw8IHNjcmlwdCA8PCBjb250ZW50U2VjdXJpdHlQb2xpY3kgPDwgc2NyaXB0RXJy
b3I7CiB9CiAKIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+CkBAIC02NSw2ICs2Nyw4IEBAIGJvb2wg
U2VydmljZVdvcmtlckZldGNoUmVzdWx0OjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlciwgU2Vydmlj
ZVdvcmtlckZldGNoUmVzdWx0CiAKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5zY3Jp
cHQpKQogICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1
bHQuY29udGVudFNlY3VyaXR5UG9saWN5KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGlm
ICghZGVjb2Rlci5kZWNvZGUocmVzdWx0LnNjcmlwdEVycm9yKSkKICAgICAgICAgcmV0dXJuIGZh
bHNlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vydmlj
ZVdvcmtlckdsb2JhbFNjb3BlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9T
ZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuY3BwCmluZGV4IDQ4ODI4ZDk2YTY2YWFhYzFlMTMxMmUw
NmY5MTA0ODg5NjI0ZDQ5ZDguLmJiZjU2YTZlNDY0YzkyNThiNDkzMzZkYzQ1MTdhN2IzODY3YTEy
NzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29y
a2VyR2xvYmFsU2NvcGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9T
ZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuY3BwCkBAIC0zOCw2ICszOCwxMyBAQAogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKK1JlZjxTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGU+IFNlcnZpY2VXb3Jr
ZXJHbG9iYWxTY29wZTo6Y3JlYXRlKGNvbnN0IFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YSYgZGF0
YSwgY29uc3QgVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5n
JiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIFNlcnZpY2VXb3JrZXJUaHJlYWQmIHRocmVhZCwg
Y29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJp
dHlQb2xpY3ksIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5
LCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmln
aW4sIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiBjb25uZWN0aW9uUHJveHksIFNvY2tl
dFByb3ZpZGVyKiBzb2NrZXRQcm92aWRlciwgUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklEKQorewor
ICAgIGF1dG8gc2NvcGUgPSBhZG9wdFJlZigqbmV3IFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZSB7
IGRhdGEsIHVybCwgaWRlbnRpZmllciwgdXNlckFnZW50LCBpc09ubGluZSwgdGhyZWFkLCBzaG91
bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIFdURk1vdmUodG9wT3JpZ2lu
KSwgdGltZU9yaWdpbiwgY29ubmVjdGlvblByb3h5LCBzb2NrZXRQcm92aWRlciwgc2Vzc2lvbklE
IH0pOworICAgIHNjb3BlLT5hcHBseUNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVy
cyhjb250ZW50U2VjdXJpdHlQb2xpY3kpOworICAgIHJldHVybiBzY29wZTsKK30KKwogU2Vydmlj
ZVdvcmtlckdsb2JhbFNjb3BlOjpTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUoY29uc3QgU2Vydmlj
ZVdvcmtlckNvbnRleHREYXRhJiBkYXRhLCBjb25zdCBVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBp
ZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgU2Vydmlj
ZVdvcmtlclRocmVhZCYgdGhyZWFkLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRT
ZWN1cml0eVBvbGljeSwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgTW9ub3Rvbmlj
VGltZSB0aW1lT3JpZ2luLCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSogY29ubmVjdGlv
blByb3h5LCBTb2NrZXRQcm92aWRlciogc29ja2V0UHJvdmlkZXIsIFBBTDo6U2Vzc2lvbklEIHNl
c3Npb25JRCkKICAgICA6IFdvcmtlckdsb2JhbFNjb3BlKHVybCwgaWRlbnRpZmllciwgdXNlckFn
ZW50LCBpc09ubGluZSwgdGhyZWFkLCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJp
dHlQb2xpY3ksIFdURk1vdmUodG9wT3JpZ2luKSwgdGltZU9yaWdpbiwgY29ubmVjdGlvblByb3h5
LCBzb2NrZXRQcm92aWRlciwgc2Vzc2lvbklEKQogICAgICwgbV9jb250ZXh0RGF0YShjcm9zc1Ro
cmVhZENvcHkoZGF0YSkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZp
Y2UvU2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3Nl
cnZpY2UvU2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmgKaW5kZXggMjExNDMxZWYzODU0MDQ5YTlk
MDk3MTJlOTU1NjI1NzAxODhiOTQ2Ni4uMTU0NDMwNzQ2MTcyNjZhY2IzZDQ1ZDMxZTFiYzZkZGU0
ZjEyYzBkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZp
Y2VXb3JrZXJHbG9iYWxTY29wZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vydmlj
ZS9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuaApAQCAtNDMsMTAgKzQzLDcgQEAgY2xhc3MgU2Vy
dmljZVdvcmtlclRocmVhZDsKIAogY2xhc3MgU2VydmljZVdvcmtlckdsb2JhbFNjb3BlIGZpbmFs
IDogcHVibGljIFdvcmtlckdsb2JhbFNjb3BlIHsKIHB1YmxpYzoKLSAgICB0ZW1wbGF0ZTx0eXBl
bmFtZS4uLiBBcmdzPiBzdGF0aWMgUmVmPFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZT4gY3JlYXRl
KEFyZ3MmJi4uLiBhcmdzKQotICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU2Vy
dmljZVdvcmtlckdsb2JhbFNjb3BlKHN0ZDo6Zm9yd2FyZDxBcmdzPihhcmdzKS4uLikpOwotICAg
IH0KKyAgICBzdGF0aWMgUmVmPFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZT4gY3JlYXRlKGNvbnN0
IFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YSYsIGNvbnN0IFVSTCYsIGNvbnN0IFN0cmluZyYgaWRl
bnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIFNlcnZpY2VX
b3JrZXJUaHJlYWQmLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMm
LCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgUmVmPFNl
Y3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBJREJD
bGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSosIFNvY2tldFByb3ZpZGVyKiwgUEFMOjpTZXNzaW9u
SUQpOwogCiAgICAgflNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZSgpOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckpvYi5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckpvYi5jcHAKaW5kZXggZTNi
MDYzMDA2MzM2OWJkZWM4M2Y4MjBlN2UxY2NhOWFlODQ3ZjZlOS4uNjE5NzI1M2RiNmM0NzM0Y2Y0
YjlmOTdlMGY2ZDQ3MjEwNDAyMThkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJKb2IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvc2VydmljZS9TZXJ2aWNlV29ya2VySm9iLmNwcApAQCAtMTQyLDcgKzE0Miw3IEBAIHZvaWQg
U2VydmljZVdvcmtlckpvYjo6bm90aWZ5RmluaXNoZWQoKQogICAgIEFTU0VSVChtX3NjcmlwdExv
YWRlcik7CiAgICAgCiAgICAgaWYgKCFtX3NjcmlwdExvYWRlci0+ZmFpbGVkKCkpCi0gICAgICAg
IG1fY2xpZW50LT5qb2JGaW5pc2hlZExvYWRpbmdTY3JpcHQoKnRoaXMsIG1fc2NyaXB0TG9hZGVy
LT5zY3JpcHQoKSk7CisgICAgICAgIG1fY2xpZW50LT5qb2JGaW5pc2hlZExvYWRpbmdTY3JpcHQo
KnRoaXMsIG1fc2NyaXB0TG9hZGVyLT5zY3JpcHQoKSwgbV9zY3JpcHRMb2FkZXItPmNvbnRlbnRT
ZWN1cml0eVBvbGljeSgpKTsKICAgICBlbHNlIHsKICAgICAgICAgYXV0byYgZXJyb3IgPSAgbV9z
Y3JpcHRMb2FkZXItPmVycm9yKCk7CiAgICAgICAgIEFTU0VSVCghZXJyb3IuaXNOdWxsKCkpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJK
b2JDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2Vy
Sm9iQ2xpZW50LmgKaW5kZXggYTRjZGE2Y2U2NTc4MjE1MTFlMTQ2YzE3MmYwMTQzNTliNjZmY2Vk
MC4uNjczN2VjYWYxZWMyZGYxZWQ1ZmJjYmVjNmViMzk4YmQ3M2YwZmVhYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJKb2JDbGllbnQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckpvYkNsaWVu
dC5oCkBAIC0zMiw2ICszMiw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgQ29u
dGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzOwogY2xhc3MgRXhjZXB0aW9uOwogY2xh
c3MgUmVzb3VyY2VFcnJvcjsKIGNsYXNzIFNlcnZpY2VXb3JrZXJKb2I7CkBAIC00OCw3ICs0OSw3
IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgam9iUmVzb2x2ZWRXaXRoUmVnaXN0cmF0aW9u
KFNlcnZpY2VXb3JrZXJKb2ImLCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YSYmLCBTaG91
bGROb3RpZnlXaGVuUmVzb2x2ZWQpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgam9iUmVzb2x2ZWRX
aXRoVW5yZWdpc3RyYXRpb25SZXN1bHQoU2VydmljZVdvcmtlckpvYiYsIGJvb2wgdW5yZWdpc3Ry
YXRpb25SZXN1bHQpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc3RhcnRTY3JpcHRGZXRjaEZvckpv
YihTZXJ2aWNlV29ya2VySm9iJiwgRmV0Y2hPcHRpb25zOjpDYWNoZSkgPSAwOwotICAgIHZpcnR1
YWwgdm9pZCBqb2JGaW5pc2hlZExvYWRpbmdTY3JpcHQoU2VydmljZVdvcmtlckpvYiYsIGNvbnN0
IFN0cmluZyYpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgam9iRmluaXNoZWRMb2FkaW5nU2NyaXB0
KFNlcnZpY2VXb3JrZXJKb2ImLCBjb25zdCBTdHJpbmcmIHNjcmlwdCwgY29uc3QgQ29udGVudFNl
Y3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBqb2JG
YWlsZWRMb2FkaW5nU2NyaXB0KFNlcnZpY2VXb3JrZXJKb2ImLCBjb25zdCBSZXNvdXJjZUVycm9y
Jiwgc3RkOjpvcHRpb25hbDxFeGNlcHRpb24+JiYpID0gMDsKIAogICAgIHZpcnR1YWwgU1dTZXJ2
ZXJDb25uZWN0aW9uSWRlbnRpZmllciBjb25uZWN0aW9uSWRlbnRpZmllcigpID0gMDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3Jr
ZXJUaHJlYWQuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2Vy
dmljZVdvcmtlclRocmVhZC5jcHAKaW5kZXggMjkzOWY4OWI2NzFkMzQ0ZGRmOGMyNmIwMmFiZDA4
N2ZhNTUyYThiZS4uMDllNGRkZWQwODA1NjRiZWIwYWNkNDBiNmFjOTVkNjYzMzQ2ZTkyMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdv
cmtlclRocmVhZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRl
eHQvU2VydmljZVdvcmtlclRocmVhZC5jcHAKQEAgLTcxLDcgKzcxLDcgQEAgcHJpdmF0ZToKIC8v
IEZJWE1FOiBVc2UgdmFsaWQgcnVudGltZSBmbGFncwogCiBTZXJ2aWNlV29ya2VyVGhyZWFkOjpT
ZXJ2aWNlV29ya2VyVGhyZWFkKGNvbnN0IFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YSYgZGF0YSwg
UEFMOjpTZXNzaW9uSUQsIFN0cmluZyYmIHVzZXJBZ2VudCwgV29ya2VyTG9hZGVyUHJveHkmIGxv
YWRlclByb3h5LCBXb3JrZXJEZWJ1Z2dlclByb3h5JiBkZWJ1Z2dlclByb3h5LCBJREJDbGllbnQ6
OklEQkNvbm5lY3Rpb25Qcm94eSogaWRiQ29ubmVjdGlvblByb3h5LCBTb2NrZXRQcm92aWRlciog
c29ja2V0UHJvdmlkZXIpCi0gICAgOiBXb3JrZXJUaHJlYWQoZGF0YS5zY3JpcHRVUkwsICJzZXJ2
aWNld29ya2VyOiIgKyBJbnNwZWN0b3I6OklkZW50aWZpZXJzRmFjdG9yeTo6Y3JlYXRlSWRlbnRp
ZmllcigpLCBXVEZNb3ZlKHVzZXJBZ2VudCksIC8qIGlzT25saW5lICovIGZhbHNlLCBkYXRhLnNj
cmlwdCwgbG9hZGVyUHJveHksIGRlYnVnZ2VyUHJveHksIER1bW15U2VydmljZVdvcmtlclRocmVh
ZFByb3h5OjpzaGFyZWQoKSwgV29ya2VyVGhyZWFkU3RhcnRNb2RlOjpOb3JtYWwsIENvbnRlbnRT
ZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyB7IH0sIGZhbHNlLCBTZWN1cml0eU9yaWdpbjo6
Y3JlYXRlKGRhdGEuc2NyaXB0VVJMKS5nZXQoKSwgTW9ub3RvbmljVGltZTo6bm93KCksIGlkYkNv
bm5lY3Rpb25Qcm94eSwgc29ja2V0UHJvdmlkZXIsIEpTQzo6UnVudGltZUZsYWdzOjpjcmVhdGVB
bGxFbmFibGVkKCksIFNlc3Npb25JRDo6ZGVmYXVsdFNlc3Npb25JRCgpKQorICAgIDogV29ya2Vy
VGhyZWFkKGRhdGEuc2NyaXB0VVJMLCAic2VydmljZXdvcmtlcjoiICsgSW5zcGVjdG9yOjpJZGVu
dGlmaWVyc0ZhY3Rvcnk6OmNyZWF0ZUlkZW50aWZpZXIoKSwgV1RGTW92ZSh1c2VyQWdlbnQpLCAv
KiBpc09ubGluZSAqLyBmYWxzZSwgZGF0YS5zY3JpcHQsIGxvYWRlclByb3h5LCBkZWJ1Z2dlclBy
b3h5LCBEdW1teVNlcnZpY2VXb3JrZXJUaHJlYWRQcm94eTo6c2hhcmVkKCksIFdvcmtlclRocmVh
ZFN0YXJ0TW9kZTo6Tm9ybWFsLCBkYXRhLmNvbnRlbnRTZWN1cml0eVBvbGljeSwgZmFsc2UsIFNl
Y3VyaXR5T3JpZ2luOjpjcmVhdGUoZGF0YS5zY3JpcHRVUkwpLmdldCgpLCBNb25vdG9uaWNUaW1l
Ojpub3coKSwgaWRiQ29ubmVjdGlvblByb3h5LCBzb2NrZXRQcm92aWRlciwgSlNDOjpSdW50aW1l
RmxhZ3M6OmNyZWF0ZUFsbEVuYWJsZWQoKSwgU2Vzc2lvbklEOjpkZWZhdWx0U2Vzc2lvbklEKCkp
CiAgICAgLCBtX2RhdGEoZGF0YS5pc29sYXRlZENvcHkoKSkKICAgICAsIG1fd29ya2VyT2JqZWN0
UHJveHkoRHVtbXlTZXJ2aWNlV29ya2VyVGhyZWFkUHJveHk6OnNoYXJlZCgpKQogewpAQCAtODAs
OSArODAsOSBAQCBTZXJ2aWNlV29ya2VyVGhyZWFkOjpTZXJ2aWNlV29ya2VyVGhyZWFkKGNvbnN0
IFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YSYgZGF0YSwgUAogCiBTZXJ2aWNlV29ya2VyVGhyZWFk
Ojp+U2VydmljZVdvcmtlclRocmVhZCgpID0gZGVmYXVsdDsKIAotUmVmPFdvcmtlckdsb2JhbFNj
b3BlPiBTZXJ2aWNlV29ya2VyVGhyZWFkOjpjcmVhdGVXb3JrZXJHbG9iYWxTY29wZShjb25zdCBV
UkwmIHVybCwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2Vu
dCwgYm9vbCBpc09ubGluZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFk
ZXJzJiwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIFJl
ZjxTZWN1cml0eU9yaWdpbj4mJiB0b3BPcmlnaW4sIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwg
UEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklEKQorUmVmPFdvcmtlckdsb2JhbFNjb3BlPiBTZXJ2aWNl
V29ya2VyVGhyZWFkOjpjcmVhdGVXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHVybCwgY29u
c3QgU3RyaW5nJiBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09u
bGluZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50
U2VjdXJpdHlQb2xpY3ksIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5
UG9saWN5LCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRp
bWVPcmlnaW4sIFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCkKIHsKLSAgICByZXR1cm4gU2Vydmlj
ZVdvcmtlckdsb2JhbFNjb3BlOjpjcmVhdGUobV9kYXRhLCB1cmwsIGlkZW50aWZpZXIsIHVzZXJB
Z2VudCwgaXNPbmxpbmUsICp0aGlzLCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJp
dHlQb2xpY3ksIFdURk1vdmUodG9wT3JpZ2luKSwgdGltZU9yaWdpbiwgaWRiQ29ubmVjdGlvblBy
b3h5KCksIHNvY2tldFByb3ZpZGVyKCksIHNlc3Npb25JRCk7CisgICAgcmV0dXJuIFNlcnZpY2VX
b3JrZXJHbG9iYWxTY29wZTo6Y3JlYXRlKG1fZGF0YSwgdXJsLCBpZGVudGlmaWVyLCB1c2VyQWdl
bnQsIGlzT25saW5lLCAqdGhpcywgY29udGVudFNlY3VyaXR5UG9saWN5LCBzaG91bGRCeXBhc3NN
YWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIFdURk1vdmUodG9wT3JpZ2luKSwgdGltZU9y
aWdpbiwgaWRiQ29ubmVjdGlvblByb3h5KCksIHNvY2tldFByb3ZpZGVyKCksIHNlc3Npb25JRCk7
CiB9CiAKIHZvaWQgU2VydmljZVdvcmtlclRocmVhZDo6cnVuRXZlbnRMb29wKCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvUmVnaXN0cmF0aW9uRGF0
YWJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9SZWdpc3Ry
YXRpb25EYXRhYmFzZS5jcHAKaW5kZXggODcxMGIwZTI4NDQyNDA2M2Q5ZjUwYWI1OWVmZjliYWU4
YWFlMGQ1Zi4uM2M0MzhjOWY2ZTUxZmEwYzJhZGFkODdmMmFkZDhlNDdmZDBlOTkzMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9SZWdpc3RyYXRpb25E
YXRhYmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9S
ZWdpc3RyYXRpb25EYXRhYmFzZS5jcHAKQEAgLTQwLDEyICs0MCwxNSBAQAogI2luY2x1ZGUgPHd0
Zi9NYWluVGhyZWFkLmg+CiAjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+CiAjaW5jbHVk
ZSA8d3RmL1Njb3BlLmg+CisjaW5jbHVkZSA8d3RmL3BlcnNpc3RlbmNlL1BlcnNpc3RlbnRDb2Rl
cnMuaD4KKyNpbmNsdWRlIDx3dGYvcGVyc2lzdGVuY2UvUGVyc2lzdGVudERlY29kZXIuaD4KKyNp
bmNsdWRlIDx3dGYvcGVyc2lzdGVuY2UvUGVyc2lzdGVudEVuY29kZXIuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBzdGF0aWMgY29uc3QgU3RyaW5nIHYxUmVjb3Jkc1RhYmxlU2NoZW1hKGNv
bnN0IFN0cmluZyYgdGFibGVOYW1lKQogewotICAgIHJldHVybiBtYWtlU3RyaW5nKCJDUkVBVEUg
VEFCTEUgIiwgdGFibGVOYW1lLCAiIChrZXkgVEVYVCBOT1QgTlVMTCBPTiBDT05GTElDVCBGQUlM
IFVOSVFVRSBPTiBDT05GTElDVCBSRVBMQUNFLCBvcmlnaW4gVEVYVCBOT1QgTlVMTCBPTiBDT05G
TElDVCBGQUlMLCBzY29wZVVSTCBURVhUIE5PVCBOVUxMIE9OIENPTkZMSUNUIEZBSUwsIHRvcE9y
aWdpbiBURVhUIE5PVCBOVUxMIE9OIENPTkZMSUNUIEZBSUwsIGxhc3RVcGRhdGVDaGVja1RpbWUg
RE9VQkxFIE5PVCBOVUxMIE9OIENPTkZMSUNUIEZBSUwsIHVwZGF0ZVZpYUNhY2hlIFRFWFQgTk9U
IE5VTEwgT04gQ09ORkxJQ1QgRkFJTCwgc2NyaXB0VVJMIFRFWFQgTk9UIE5VTEwgT04gQ09ORkxJ
Q1QgRkFJTCwgc2NyaXB0IFRFWFQgTk9UIE5VTEwgT04gQ09ORkxJQ1QgRkFJTCwgd29ya2VyVHlw
ZSBURVhUIE5PVCBOVUxMIE9OIENPTkZMSUNUIEZBSUwpIik7CisgICAgcmV0dXJuIG1ha2VTdHJp
bmcoIkNSRUFURSBUQUJMRSAiLCB0YWJsZU5hbWUsICIgKGtleSBURVhUIE5PVCBOVUxMIE9OIENP
TkZMSUNUIEZBSUwgVU5JUVVFIE9OIENPTkZMSUNUIFJFUExBQ0UsIG9yaWdpbiBURVhUIE5PVCBO
VUxMIE9OIENPTkZMSUNUIEZBSUwsIHNjb3BlVVJMIFRFWFQgTk9UIE5VTEwgT04gQ09ORkxJQ1Qg
RkFJTCwgdG9wT3JpZ2luIFRFWFQgTk9UIE5VTEwgT04gQ09ORkxJQ1QgRkFJTCwgbGFzdFVwZGF0
ZUNoZWNrVGltZSBET1VCTEUgTk9UIE5VTEwgT04gQ09ORkxJQ1QgRkFJTCwgdXBkYXRlVmlhQ2Fj
aGUgVEVYVCBOT1QgTlVMTCBPTiBDT05GTElDVCBGQUlMLCBzY3JpcHRVUkwgVEVYVCBOT1QgTlVM
TCBPTiBDT05GTElDVCBGQUlMLCBzY3JpcHQgVEVYVCBOT1QgTlVMTCBPTiBDT05GTElDVCBGQUlM
LCB3b3JrZXJUeXBlIFRFWFQgTk9UIE5VTEwgT04gQ09ORkxJQ1QgRkFJTCwgY29udGVudFNlY3Vy
aXR5UG9saWN5IEJMT0IgTk9UIE5VTEwgT04gQ09ORkxJQ1QgRkFJTCkiKTsKIH0KIAogc3RhdGlj
IGNvbnN0IFN0cmluZyB2MVJlY29yZHNUYWJsZVNjaGVtYSgpCkBAIC0xMTgsNyArMTIxLDcgQEAg
dm9pZCBSZWdpc3RyYXRpb25EYXRhYmFzZTo6b3BlblNRTGl0ZURhdGFiYXNlKGNvbnN0IFN0cmlu
ZyYgZnVsbEZpbGVuYW1lKQogICAgIGVycm9yTWVzc2FnZSA9IGltcG9ydFJlY29yZHMoKTsKICAg
ICBpZiAoIWVycm9yTWVzc2FnZS5pc051bGwoKSkKICAgICAgICAgcmV0dXJuOwotICAgIAorCiAg
ICAgc2NvcGVFeGl0LnJlbGVhc2UoKTsKIH0KIApAQCAtMjU4LDcgKzI2MSw3IEBAIHZvaWQgUmVn
aXN0cmF0aW9uRGF0YWJhc2U6OmRvUHVzaENoYW5nZXMoVmVjdG9yPFNlcnZpY2VXb3JrZXJDb250
ZXh0RGF0YT4mJiBkYXRhCiAgICAgU1FMaXRlVHJhbnNhY3Rpb24gdHJhbnNhY3Rpb24oKm1fZGF0
YWJhc2UpOwogICAgIHRyYW5zYWN0aW9uLmJlZ2luKCk7CiAKLSAgICBTUUxpdGVTdGF0ZW1lbnQg
c3FsKCptX2RhdGFiYXNlLCBBU0NJSUxpdGVyYWwoIklOU0VSVCBJTlRPIFJlY29yZHMgVkFMVUVT
ICg/LCA/LCA/LCA/LCA/LCA/LCA/LCA/LCA/KSIpKTsKKyAgICBTUUxpdGVTdGF0ZW1lbnQgc3Fs
KCptX2RhdGFiYXNlLCBBU0NJSUxpdGVyYWwoIklOU0VSVCBJTlRPIFJlY29yZHMgVkFMVUVTICg/
LCA/LCA/LCA/LCA/LCA/LCA/LCA/LCA/LCA/KSIpKTsKICAgICBpZiAoc3FsLnByZXBhcmUoKSAh
PSBTUUxJVEVfT0spIHsKICAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoU2VydmljZVdvcmtlciwg
IkZhaWxlZCB0byBwcmVwYXJlIHN0YXRlbWVudCB0byBzdG9yZSByZWdpc3RyYXRpb24gZGF0YSBp
bnRvIHJlY29yZHMgdGFibGUgKCVpKSAtICVzIiwgbV9kYXRhYmFzZS0+bGFzdEVycm9yKCksIG1f
ZGF0YWJhc2UtPmxhc3RFcnJvck1zZygpKTsKICAgICAgICAgcmV0dXJuOwpAQCAtMjc3LDYgKzI4
MCw5IEBAIHZvaWQgUmVnaXN0cmF0aW9uRGF0YWJhc2U6OmRvUHVzaENoYW5nZXMoVmVjdG9yPFNl
cnZpY2VXb3JrZXJDb250ZXh0RGF0YT4mJiBkYXRhCiAgICAgICAgICAgICBjb250aW51ZTsKICAg
ICAgICAgfQogCisgICAgICAgIFdURjo6UGVyc2lzdGVuY2U6OkVuY29kZXIgZW5jb2RlcjsKKyAg
ICAgICAgZGF0YS5jb250ZW50U2VjdXJpdHlQb2xpY3kuZW5jb2RlKGVuY29kZXIpOworCiAgICAg
ICAgIGlmIChzcWwuYmluZFRleHQoMSwgZGF0YS5yZWdpc3RyYXRpb24ua2V5LnRvRGF0YWJhc2VL
ZXkoKSkgIT0gU1FMSVRFX09LCiAgICAgICAgICAgICB8fCBzcWwuYmluZFRleHQoMiwgZGF0YS5y
ZWdpc3RyYXRpb24uc2NvcGVVUkwucHJvdG9jb2xIb3N0QW5kUG9ydCgpKSAhPSBTUUxJVEVfT0sK
ICAgICAgICAgICAgIHx8IHNxbC5iaW5kVGV4dCgzLCBkYXRhLnJlZ2lzdHJhdGlvbi5zY29wZVVS
TC5wYXRoKCkpICE9IFNRTElURV9PSwpAQCAtMjg2LDYgKzI5Miw3IEBAIHZvaWQgUmVnaXN0cmF0
aW9uRGF0YWJhc2U6OmRvUHVzaENoYW5nZXMoVmVjdG9yPFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0
YT4mJiBkYXRhCiAgICAgICAgICAgICB8fCBzcWwuYmluZFRleHQoNywgZGF0YS5zY3JpcHRVUkwu
c3RyaW5nKCkpICE9IFNRTElURV9PSwogICAgICAgICAgICAgfHwgc3FsLmJpbmRUZXh0KDgsIGRh
dGEuc2NyaXB0KSAhPSBTUUxJVEVfT0sKICAgICAgICAgICAgIHx8IHNxbC5iaW5kVGV4dCg5LCB3
b3JrZXJUeXBlVG9TdHJpbmcoZGF0YS53b3JrZXJUeXBlKSkgIT0gU1FMSVRFX09LCisgICAgICAg
ICAgICB8fCBzcWwuYmluZEJsb2IoMTAsIGVuY29kZXIuYnVmZmVyKCksIGVuY29kZXIuYnVmZmVy
U2l6ZSgpKSAhPSBTUUxJVEVfT0sKICAgICAgICAgICAgIHx8IHNxbC5zdGVwKCkgIT0gU1FMSVRF
X0RPTkUpIHsKICAgICAgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKFNlcnZpY2VXb3JrZXIsICJG
YWlsZWQgdG8gc3RvcmUgcmVnaXN0cmF0aW9uIGRhdGEgaW50byByZWNvcmRzIHRhYmxlICglaSkg
LSAlcyIsIG1fZGF0YWJhc2UtPmxhc3RFcnJvcigpLCBtX2RhdGFiYXNlLT5sYXN0RXJyb3JNc2co
KSk7CiAgICAgICAgICAgICByZXR1cm47CkBAIC0zMTgsNiArMzI1LDEzIEBAIFN0cmluZyBSZWdp
c3RyYXRpb25EYXRhYmFzZTo6aW1wb3J0UmVjb3JkcygpCiAgICAgICAgIGF1dG8gc2NyaXB0ID0g
c3FsLmdldENvbHVtblRleHQoNyk7CiAgICAgICAgIGF1dG8gd29ya2VyVHlwZSA9IHN0cmluZ1Rv
V29ya2VyVHlwZShzcWwuZ2V0Q29sdW1uVGV4dCg4KSk7CiAKKyAgICAgICAgVmVjdG9yPHVpbnQ4
X3Q+IGNvbnRlbnRTZWN1cml0eVBvbGljeURhdGE7CisgICAgICAgIHNxbC5nZXRDb2x1bW5CbG9i
QXNWZWN0b3IoOSwgY29udGVudFNlY3VyaXR5UG9saWN5RGF0YSk7CisgICAgICAgIFdURjo6UGVy
c2lzdGVuY2U6OkRlY29kZXIgZGVjb2Rlcihjb250ZW50U2VjdXJpdHlQb2xpY3lEYXRhLmRhdGEo
KSwgY29udGVudFNlY3VyaXR5UG9saWN5RGF0YS5zaXplKCkpOworICAgICAgICBDb250ZW50U2Vj
dXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMgY29udGVudFNlY3VyaXR5UG9saWN5OworICAgICAg
ICBpZiAoY29udGVudFNlY3VyaXR5UG9saWN5RGF0YS5zaXplKCkgJiYgIUNvbnRlbnRTZWN1cml0
eVBvbGljeVJlc3BvbnNlSGVhZGVyczo6ZGVjb2RlKGRlY29kZXIsIGNvbnRlbnRTZWN1cml0eVBv
bGljeSkpCisgICAgICAgICAgICBjb250aW51ZTsKKwogICAgICAgICAvLyBWYWxpZGF0ZSB0aGUg
aW5wdXQgZm9yIHRoaXMgcmVnaXN0cmF0aW9uLgogICAgICAgICAvLyBJZiBhbnkgcGFydCBvZiB0
aGlzIGlucHV0IGlzIGludmFsaWQsIGxldCdzIHNraXAgdGhpcyByZWdpc3RyYXRpb24uCiAgICAg
ICAgIC8vIEZJWE1FOiBTaG91bGQgd2UgcmV0dXJuIGFuIGVycm9yIHNraXBwaW5nICphbGwqIHJl
Z2lzdHJhdGlvbnM/CkBAIC0zMjgsNyArMzQyLDcgQEAgU3RyaW5nIFJlZ2lzdHJhdGlvbkRhdGFi
YXNlOjppbXBvcnRSZWNvcmRzKCkKICAgICAgICAgYXV0byByZWdpc3RyYXRpb25JZGVudGlmaWVy
ID0gZ2VuZXJhdGVPYmplY3RJZGVudGlmaWVyPFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVu
dGlmaWVyVHlwZT4oKTsKICAgICAgICAgYXV0byBzZXJ2aWNlV29ya2VyRGF0YSA9IFNlcnZpY2VX
b3JrZXJEYXRhIHsgd29ya2VySWRlbnRpZmllciwgc2NyaXB0VVJMLCBTZXJ2aWNlV29ya2VyU3Rh
dGU6OkFjdGl2YXRlZCwgKndvcmtlclR5cGUsIHJlZ2lzdHJhdGlvbklkZW50aWZpZXIgfTsKICAg
ICAgICAgYXV0byByZWdpc3RyYXRpb24gPSBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YSB7
IFdURk1vdmUoKmtleSksIHJlZ2lzdHJhdGlvbklkZW50aWZpZXIsIFVSTChvcmlnaW5VUkwsIHNj
b3BlUGF0aCksICp1cGRhdGVWaWFDYWNoZSwgbGFzdFVwZGF0ZUNoZWNrVGltZSwgc3RkOjpudWxs
b3B0LCBzdGQ6Om51bGxvcHQsIFdURk1vdmUoc2VydmljZVdvcmtlckRhdGEpIH07Ci0gICAgICAg
IGF1dG8gY29udGV4dERhdGEgPSBTZXJ2aWNlV29ya2VyQ29udGV4dERhdGEgeyBzdGQ6Om51bGxv
cHQsIFdURk1vdmUocmVnaXN0cmF0aW9uKSwgd29ya2VySWRlbnRpZmllciwgV1RGTW92ZShzY3Jp
cHQpLCBXVEZNb3ZlKHNjcmlwdFVSTCksICp3b3JrZXJUeXBlLCB0cnVlIH07CisgICAgICAgIGF1
dG8gY29udGV4dERhdGEgPSBTZXJ2aWNlV29ya2VyQ29udGV4dERhdGEgeyBzdGQ6Om51bGxvcHQs
IFdURk1vdmUocmVnaXN0cmF0aW9uKSwgd29ya2VySWRlbnRpZmllciwgV1RGTW92ZShzY3JpcHQp
LCBXVEZNb3ZlKGNvbnRlbnRTZWN1cml0eVBvbGljeSksIFdURk1vdmUoc2NyaXB0VVJMKSwgKndv
cmtlclR5cGUsIHRydWUgfTsKIAogICAgICAgICBwb3N0VGFza1JlcGx5KGNyZWF0ZUNyb3NzVGhy
ZWFkVGFzaygqdGhpcywgJlJlZ2lzdHJhdGlvbkRhdGFiYXNlOjphZGRSZWdpc3RyYXRpb25Ub1N0
b3JlLCBXVEZNb3ZlKGNvbnRleHREYXRhKSkpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5jcHAKaW5kZXggNjhhZGRlZWNlZjQ3
YmY3ZWE3YzZiN2ExYzQzN2Q0YWI3OWZhYjJiMi4uMGU3YjQyMDc1MzAwNjEwMzI0Y2QwZTViODlj
YmMxZTRmMjdlM2UzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L3NlcnZlci9TV1NlcnZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L3NlcnZlci9TV1NlcnZlci5jcHAKQEAgLTQzMSwxMCArNDMxLDEwIEBAIHZvaWQgU1dTZXJ2ZXI6
OnJlbW92ZUNsaWVudFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24oQ29ubmVjdGlvbiYgY29ubmVj
dGlvbiwgU2VyCiAgICAgcmVnaXN0cmF0aW9uLT5yZW1vdmVDbGllbnRTZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uKGNvbm5lY3Rpb24uaWRlbnRpZmllcigpKTsKIH0KIAotdm9pZCBTV1NlcnZlcjo6
dXBkYXRlV29ya2VyKENvbm5lY3Rpb24mLCBjb25zdCBTZXJ2aWNlV29ya2VySm9iRGF0YUlkZW50
aWZpZXImIGpvYkRhdGFJZGVudGlmaWVyLCBTV1NlcnZlclJlZ2lzdHJhdGlvbiYgcmVnaXN0cmF0
aW9uLCBjb25zdCBVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBzY3JpcHQsIFdvcmtlclR5cGUgdHlw
ZSkKK3ZvaWQgU1dTZXJ2ZXI6OnVwZGF0ZVdvcmtlcihDb25uZWN0aW9uJiwgY29uc3QgU2Vydmlj
ZVdvcmtlckpvYkRhdGFJZGVudGlmaWVyJiBqb2JEYXRhSWRlbnRpZmllciwgU1dTZXJ2ZXJSZWdp
c3RyYXRpb24mIHJlZ2lzdHJhdGlvbiwgY29uc3QgVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgc2Ny
aXB0LCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmIGNvbnRlbnRT
ZWN1cml0eVBvbGljeSwgV29ya2VyVHlwZSB0eXBlKQogewogICAgIHJlZ2lzdHJhdGlvbi5zZXRM
YXN0VXBkYXRlVGltZShXYWxsVGltZTo6bm93KCkpOwotICAgIHRyeUluc3RhbGxDb250ZXh0RGF0
YSh7IGpvYkRhdGFJZGVudGlmaWVyLCByZWdpc3RyYXRpb24uZGF0YSgpLCBnZW5lcmF0ZU9iamVj
dElkZW50aWZpZXI8U2VydmljZVdvcmtlcklkZW50aWZpZXJUeXBlPigpLCBzY3JpcHQsIHVybCwg
dHlwZSwgZmFsc2UgfSk7CisgICAgdHJ5SW5zdGFsbENvbnRleHREYXRhKHsgam9iRGF0YUlkZW50
aWZpZXIsIHJlZ2lzdHJhdGlvbi5kYXRhKCksIGdlbmVyYXRlT2JqZWN0SWRlbnRpZmllcjxTZXJ2
aWNlV29ya2VySWRlbnRpZmllclR5cGU+KCksIHNjcmlwdCwgY29udGVudFNlY3VyaXR5UG9saWN5
LCB1cmwsIHR5cGUsIGZhbHNlIH0pOwogfQogCiB2b2lkIFNXU2VydmVyOjp0cnlJbnN0YWxsQ29u
dGV4dERhdGEoU2VydmljZVdvcmtlckNvbnRleHREYXRhJiYgZGF0YSkKQEAgLTQ3OCw3ICs0Nzgs
NyBAQCB2b2lkIFNXU2VydmVyOjppbnN0YWxsQ29udGV4dERhdGEoY29uc3QgU2VydmljZVdvcmtl
ckNvbnRleHREYXRhJiBkYXRhKQogICAgIGF1dG8qIHJlZ2lzdHJhdGlvbiA9IG1fcmVnaXN0cmF0
aW9ucy5nZXQoZGF0YS5yZWdpc3RyYXRpb24ua2V5KTsKICAgICBSRUxFQVNFX0FTU0VSVChyZWdp
c3RyYXRpb24pOwogCi0gICAgYXV0byB3b3JrZXIgPSBTV1NlcnZlcldvcmtlcjo6Y3JlYXRlKCp0
aGlzLCAqcmVnaXN0cmF0aW9uLCBjb25uZWN0aW9uLT5pZGVudGlmaWVyKCksIGRhdGEuc2NyaXB0
VVJMLCBkYXRhLnNjcmlwdCwgZGF0YS53b3JrZXJUeXBlLCBkYXRhLnNlcnZpY2VXb3JrZXJJZGVu
dGlmaWVyKTsKKyAgICBhdXRvIHdvcmtlciA9IFNXU2VydmVyV29ya2VyOjpjcmVhdGUoKnRoaXMs
ICpyZWdpc3RyYXRpb24sIGNvbm5lY3Rpb24tPmlkZW50aWZpZXIoKSwgZGF0YS5zY3JpcHRVUkws
IGRhdGEuc2NyaXB0LCBkYXRhLmNvbnRlbnRTZWN1cml0eVBvbGljeSwgZGF0YS53b3JrZXJUeXBl
LCBkYXRhLnNlcnZpY2VXb3JrZXJJZGVudGlmaWVyKTsKIAogICAgIC8vIFdlIGRvbid0IGltbWVk
aWF0ZWx5IGxhdW5jaCBhbGwgd29ya2VycyB0aGF0IHdlcmUganVzdCByZWFkIGluIGZyb20gZGlz
aywKICAgICAvLyBhcyBpdCBpcyB1bmxpa2VseSB0aGV5IHdpbGwgYmUgbmVlZGVkIGltbWVkaWF0
ZWx5LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9T
V1NlcnZlci5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZl
ci5oCmluZGV4IDY2ZDZlNWVlMWIwOGVjZjJlNzM5NWMxOTdiZDI5Zjc3M2ZjM2Y1NWYuLjRkODA3
NzY3NzBmOTE0NTBmYWFlMGYzMWI2MzAwZDAyZDRhODAxNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmgKQEAgLTE0MCw3ICsxNDAsNyBA
QCBwdWJsaWM6CiAgICAgdm9pZCBwb3N0VGFzayhDcm9zc1RocmVhZFRhc2smJik7CiAgICAgdm9p
ZCBwb3N0VGFza1JlcGx5KENyb3NzVGhyZWFkVGFzayYmKTsKIAotICAgIHZvaWQgdXBkYXRlV29y
a2VyKENvbm5lY3Rpb24mLCBjb25zdCBTZXJ2aWNlV29ya2VySm9iRGF0YUlkZW50aWZpZXImLCBT
V1NlcnZlclJlZ2lzdHJhdGlvbiYsIGNvbnN0IFVSTCYsIGNvbnN0IFN0cmluZyYgc2NyaXB0LCBX
b3JrZXJUeXBlKTsKKyAgICB2b2lkIHVwZGF0ZVdvcmtlcihDb25uZWN0aW9uJiwgY29uc3QgU2Vy
dmljZVdvcmtlckpvYkRhdGFJZGVudGlmaWVyJiwgU1dTZXJ2ZXJSZWdpc3RyYXRpb24mLCBjb25z
dCBVUkwmLCBjb25zdCBTdHJpbmcmIHNjcmlwdCwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5
UmVzcG9uc2VIZWFkZXJzJiwgV29ya2VyVHlwZSk7CiAgICAgdm9pZCB0ZXJtaW5hdGVXb3JrZXIo
U1dTZXJ2ZXJXb3JrZXImKTsKICAgICB2b2lkIHN5bmNUZXJtaW5hdGVXb3JrZXIoU1dTZXJ2ZXJX
b3JrZXImKTsKICAgICB2b2lkIGZpcmVJbnN0YWxsRXZlbnQoU1dTZXJ2ZXJXb3JrZXImKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJK
b2JRdWV1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2Vy
dmVySm9iUXVldWUuY3BwCmluZGV4IDhlYmE3YTBmZTkyZjQ4M2E0ZTQxNzlkM2QwOTE0MTUyNjU0
M2NiZGMuLmJkOGUyMDBlZGE4OTY4YjEyN2MzNjhmYThhOWFhNGQyODRkZTQ1Y2YgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJKb2JRdWV1
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZl
ckpvYlF1ZXVlLmNwcApAQCAtOTYsNyArOTYsNyBAQCB2b2lkIFNXU2VydmVySm9iUXVldWU6OnNj
cmlwdEZldGNoRmluaXNoZWQoU1dTZXJ2ZXI6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIGNvbgog
ICAgIH0KIAogICAgIC8vIEZJWE1FOiBTdXBwb3J0IHRoZSBwcm9wZXIgd29ya2VyIHR5cGUgKGNs
YXNzaWMgdnMgbW9kdWxlKQotICAgIG1fc2VydmVyLnVwZGF0ZVdvcmtlcihjb25uZWN0aW9uLCBq
b2IuaWRlbnRpZmllcigpLCAqcmVnaXN0cmF0aW9uLCBqb2Iuc2NyaXB0VVJMLCByZXN1bHQuc2Ny
aXB0LCBXb3JrZXJUeXBlOjpDbGFzc2ljKTsKKyAgICBtX3NlcnZlci51cGRhdGVXb3JrZXIoY29u
bmVjdGlvbiwgam9iLmlkZW50aWZpZXIoKSwgKnJlZ2lzdHJhdGlvbiwgam9iLnNjcmlwdFVSTCwg
cmVzdWx0LnNjcmlwdCwgcmVzdWx0LmNvbnRlbnRTZWN1cml0eVBvbGljeSwgV29ya2VyVHlwZTo6
Q2xhc3NpYyk7CiB9CiAKIC8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9TZXJ2aWNlV29ya2VyLyN1
cGRhdGUtYWxnb3JpdGhtCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZp
Y2Uvc2VydmVyL1NXU2VydmVyV29ya2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vy
dmljZS9zZXJ2ZXIvU1dTZXJ2ZXJXb3JrZXIuY3BwCmluZGV4IGY4ZWUyZGVkMjA1NWNmMDdkZTIx
YjFlZTFlZjA0YmQwOGMxYTc1OGQuLmZmNDI1NTE1YzRjZDc1NGIzMzg3MjgxYjVjYmIyN2MwZGJm
NzZlZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIv
U1dTZXJ2ZXJXb3JrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9z
ZXJ2ZXIvU1dTZXJ2ZXJXb3JrZXIuY3BwCkBAIC00MywxMiArNDMsMTQgQEAgU1dTZXJ2ZXJXb3Jr
ZXIqIFNXU2VydmVyV29ya2VyOjpleGlzdGluZ1dvcmtlckZvcklkZW50aWZpZXIoU2VydmljZVdv
cmtlcklkZW50aWYKICAgICByZXR1cm4gYWxsV29ya2VycygpLmdldChpZGVudGlmaWVyKTsKIH0K
IAotU1dTZXJ2ZXJXb3JrZXI6OlNXU2VydmVyV29ya2VyKFNXU2VydmVyJiBzZXJ2ZXIsIFNXU2Vy
dmVyUmVnaXN0cmF0aW9uJiByZWdpc3RyYXRpb24sIFNXU2VydmVyVG9Db250ZXh0Q29ubmVjdGlv
bklkZW50aWZpZXIgY29udGV4dENvbm5lY3Rpb25JZGVudGlmaWVyLCBjb25zdCBVUkwmIHNjcmlw
dFVSTCwgY29uc3QgU3RyaW5nJiBzY3JpcHQsIFdvcmtlclR5cGUgdHlwZSwgU2VydmljZVdvcmtl
cklkZW50aWZpZXIgaWRlbnRpZmllcikKKy8vIEZJWE1FOiBVc2Ugci12YWx1ZSByZWZlcmVuY2Vz
IGZvciBzY3JpcHQgYW5kIGNvbnRlbnRTZWN1cml0eVBvbGljeQorU1dTZXJ2ZXJXb3JrZXI6OlNX
U2VydmVyV29ya2VyKFNXU2VydmVyJiBzZXJ2ZXIsIFNXU2VydmVyUmVnaXN0cmF0aW9uJiByZWdp
c3RyYXRpb24sIFNXU2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbklkZW50aWZpZXIgY29udGV4dENv
bm5lY3Rpb25JZGVudGlmaWVyLCBjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3RyaW5nJiBz
Y3JpcHQsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYgY29udGVu
dFNlY3VyaXR5UG9saWN5LCBXb3JrZXJUeXBlIHR5cGUsIFNlcnZpY2VXb3JrZXJJZGVudGlmaWVy
IGlkZW50aWZpZXIpCiAgICAgOiBtX3NlcnZlcihzZXJ2ZXIpCiAgICAgLCBtX3JlZ2lzdHJhdGlv
bktleShyZWdpc3RyYXRpb24ua2V5KCkpCiAgICAgLCBtX2NvbnRleHRDb25uZWN0aW9uSWRlbnRp
Zmllcihjb250ZXh0Q29ubmVjdGlvbklkZW50aWZpZXIpCiAgICAgLCBtX2RhdGEgeyBpZGVudGlm
aWVyLCBzY3JpcHRVUkwsIFNlcnZpY2VXb3JrZXJTdGF0ZTo6UmVkdW5kYW50LCB0eXBlLCByZWdp
c3RyYXRpb24uaWRlbnRpZmllcigpIH0KICAgICAsIG1fc2NyaXB0KHNjcmlwdCkKKyAgICAsIG1f
Y29udGVudFNlY3VyaXR5UG9saWN5KGNvbnRlbnRTZWN1cml0eVBvbGljeSkKIHsKICAgICBtX2Rh
dGEuc2NyaXB0VVJMLnJlbW92ZUZyYWdtZW50SWRlbnRpZmllcigpOwogCkBAIC02OSw3ICs3MSw3
IEBAIFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YSBTV1NlcnZlcldvcmtlcjo6Y29udGV4dERhdGEo
KSBjb25zdAogICAgIGF1dG8qIHJlZ2lzdHJhdGlvbiA9IG1fc2VydmVyLmdldFJlZ2lzdHJhdGlv
bihtX3JlZ2lzdHJhdGlvbktleSk7CiAgICAgQVNTRVJUKHJlZ2lzdHJhdGlvbik7CiAKLSAgICBy
ZXR1cm4geyBzdGQ6Om51bGxvcHQsIHJlZ2lzdHJhdGlvbi0+ZGF0YSgpLCBtX2RhdGEuaWRlbnRp
ZmllciwgbV9zY3JpcHQsIG1fZGF0YS5zY3JpcHRVUkwsIG1fZGF0YS50eXBlLCBmYWxzZSB9Owor
ICAgIHJldHVybiB7IHN0ZDo6bnVsbG9wdCwgcmVnaXN0cmF0aW9uLT5kYXRhKCksIG1fZGF0YS5p
ZGVudGlmaWVyLCBtX3NjcmlwdCwgbV9jb250ZW50U2VjdXJpdHlQb2xpY3ksIG1fZGF0YS5zY3Jp
cHRVUkwsIG1fZGF0YS50eXBlLCBmYWxzZSB9OwogfQogCiB2b2lkIFNXU2VydmVyV29ya2VyOjp0
ZXJtaW5hdGUoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3Nl
cnZlci9TV1NlcnZlcldvcmtlci5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3Nl
cnZlci9TV1NlcnZlcldvcmtlci5oCmluZGV4IDM4YzExMjlkOWM1ZTA0Y2IyN2RjY2QwYjNkM2Iw
YjA2NTdjODkxYTYuLmI0MjliOGU4MzE5MDE3ZDE0M2M1NGJjYzdmYjMyMWUwY2FiM2NiOWQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJX
b3JrZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2Vy
dmVyV29ya2VyLmgKQEAgLTEwNCw3ICsxMDQsNyBAQCBwdWJsaWM6CiAgICAgY29uc3QgQ2xpZW50
T3JpZ2luJiBvcmlnaW4oKSBjb25zdDsKIAogcHJpdmF0ZToKLSAgICBTV1NlcnZlcldvcmtlcihT
V1NlcnZlciYsIFNXU2VydmVyUmVnaXN0cmF0aW9uJiwgU1dTZXJ2ZXJUb0NvbnRleHRDb25uZWN0
aW9uSWRlbnRpZmllciwgY29uc3QgVVJMJiwgY29uc3QgU3RyaW5nJiBzY3JpcHQsIFdvcmtlclR5
cGUsIFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyKTsKKyAgICBTV1NlcnZlcldvcmtlcihTV1NlcnZl
ciYsIFNXU2VydmVyUmVnaXN0cmF0aW9uJiwgU1dTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uSWRl
bnRpZmllciwgY29uc3QgVVJMJiwgY29uc3QgU3RyaW5nJiBzY3JpcHQsIGNvbnN0IENvbnRlbnRT
ZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYsICBXb3JrZXJUeXBlLCBTZXJ2aWNlV29ya2Vy
SWRlbnRpZmllcik7CiAKICAgICB2b2lkIGNhbGxXaGVuQWN0aXZhdGVkSGFuZGxlcihib29sIHN1
Y2Nlc3MpOwogCkBAIC0xMTMsNiArMTEzLDcgQEAgcHJpdmF0ZToKICAgICBTV1NlcnZlclRvQ29u
dGV4dENvbm5lY3Rpb25JZGVudGlmaWVyIG1fY29udGV4dENvbm5lY3Rpb25JZGVudGlmaWVyOwog
ICAgIFNlcnZpY2VXb3JrZXJEYXRhIG1fZGF0YTsKICAgICBTdHJpbmcgbV9zY3JpcHQ7CisgICAg
Q29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzIG1fY29udGVudFNlY3VyaXR5UG9s
aWN5OwogICAgIGJvb2wgbV9oYXNQZW5kaW5nRXZlbnRzIHsgZmFsc2UgfTsKICAgICBTdGF0ZSBt
X3N0YXRlIHsgU3RhdGU6Ok5vdFJ1bm5pbmcgfTsKICAgICBtdXRhYmxlIHN0ZDo6b3B0aW9uYWw8
Q2xpZW50T3JpZ2luPiBtX29yaWdpbjsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4
IDI2NjhlZjYwM2ZiNmM3ZTZlZGNjYmU5MzA4MjYyZjVlM2Q5ODY1NDguLjUzNjU4ZDc1ZTRmYTM0
M2IxNTUwMzVlMjhmZDQxZTU5OWI4ODA0NTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE0IEBACisyMDE4LTAxLTA4ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFw
cGxlLmNvbT4KKworICAgICAgICBBZGQgQ1NQIHN1cHBvcnQgdG8gc2VydmljZSB3b3JrZXJzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODEzODUKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvc2VydmljZS13b3JrZXIt
Y3NwLWNvbm5lY3QuaHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvc2VydmljZS13b3JrZXItY3NwLWRl
ZmF1bHQuaHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvc2VydmljZS13b3JrZXItY3NwLXNjcmlwdC5o
dHRwcy1leHBlY3RlZC50eHQ6CisKIDIwMTgtMDEtMDUgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5A
YXBwbGUuY29tPgogCiAgICAgICAgIFNraXAgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xhaW0tc2hhcmVk
LXdvcmtlci1mZXRjaC5odHRwcy5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9z
ZXJ2aWNlLXdvcmtlci1jc3AtY29ubmVjdC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9zZXJ2aWNlLXdvcmtlci1jc3AtY29ubmVjdC5odHRwcy1leHBlY3RlZC50eHQKaW5k
ZXggMGJhMzY0YzYzODNlMjg3NmQ0NDQwZDdjZWUzN2QyYTczNDhiYjU4OS4uZjYxZDI2MjcwYjM2
MWI5YTIwZDkwOTkyM2QzYzM1NjZmZmE4YzBkZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvc2VydmljZS13b3JrZXItY3NwLWNvbm5lY3QuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL3NlcnZpY2Utd29ya2VyLWNzcC1jb25uZWN0Lmh0dHBzLWV4cGVjdGVk
LnR4dApAQCAtMSw2ICsxLDYgQEAKIAogUEFTUyBDU1AgdGVzdCBmb3IgY29ubmVjdC1zcmMgaW4g
U2VydmljZVdvcmtlckdsb2JhbFNjb3BlIAogUEFTUyBpbXBvcnRTY3JpcHRzIHRlc3QgZm9yIGNv
bm5lY3Qtc3JjIAotRkFJTCBGZXRjaCB0ZXN0IGZvciBjb25uZWN0LXNyYyBhc3NlcnRfdW5yZWFj
aGVkOiB1bmV4cGVjdGVkIHJlamVjdGlvbjogYXNzZXJ0X3VucmVhY2hlZDogZmV0Y2ggc2hvdWxk
IGZhaWwuIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZSBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUK
LUZBSUwgUmVkaXJlY3RlZCBmZXRjaCB0ZXN0IGZvciBjb25uZWN0LXNyYyBhc3NlcnRfdW5yZWFj
aGVkOiB1bmV4cGVjdGVkIHJlamVjdGlvbjogYXNzZXJ0X3VucmVhY2hlZDogUmVkaXJlY3RlZCBm
ZXRjaCBzaG91bGQgZmFpbC4gUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlIFJlYWNoZWQgdW5yZWFj
aGFibGUgY29kZQorUEFTUyBGZXRjaCB0ZXN0IGZvciBjb25uZWN0LXNyYyAKK1BBU1MgUmVkaXJl
Y3RlZCBmZXRjaCB0ZXN0IGZvciBjb25uZWN0LXNyYyAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvc2VydmljZS13b3JrZXItY3NwLWRlZmF1bHQuaHR0cHMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvc2VydmljZS13b3JrZXItY3NwLWRlZmF1bHQuaHR0cHMtZXhwZWN0
ZWQudHh0CmluZGV4IDlhMDMzMDYxZDkyMTRjOWI3OTE5ZmQ5OTQ3ODIwYjJiMzE4YWQ5OTEuLmY0
MThjYjgzNWJjYWRlYWIzZDhlNDU5MGY2ZWYwYmViNDljNDZhYmUgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL3NlcnZpY2Utd29ya2VyLWNzcC1kZWZhdWx0Lmh0dHBzLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9zZXJ2aWNlLXdvcmtlci1jc3AtZGVmYXVsdC5odHRw
cy1leHBlY3RlZC50eHQKQEAgLTEsNiArMSw2IEBACiAKIFBBU1MgQ1NQIHRlc3QgZm9yIGRlZmF1
bHQtc3JjIGluIFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZSAKLUZBSUwgaW1wb3J0U2NyaXB0cyB0
ZXN0IGZvciBkZWZhdWx0LXNyYyBhc3NlcnRfdHJ1ZTogSW1wb3J0aW5nIHRoZSBvdGhlciBvcmln
aW5zIHNjcmlwdCBzaG91bGQgZmFpbC4gZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgRmV0
Y2ggdGVzdCBmb3IgZGVmYXVsdC1zcmMgYXNzZXJ0X3VucmVhY2hlZDogdW5leHBlY3RlZCByZWpl
Y3Rpb246IGFzc2VydF91bnJlYWNoZWQ6IGZldGNoIHNob3VsZCBmYWlsLiBSZWFjaGVkIHVucmVh
Y2hhYmxlIGNvZGUgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCi1GQUlMIFJlZGlyZWN0ZWQgZmV0
Y2ggdGVzdCBmb3IgZGVmYXVsdC1zcmMgYXNzZXJ0X3VucmVhY2hlZDogdW5leHBlY3RlZCByZWpl
Y3Rpb246IGFzc2VydF91bnJlYWNoZWQ6IFJlZGlyZWN0ZWQgZmV0Y2ggc2hvdWxkIGZhaWwuIFJl
YWNoZWQgdW5yZWFjaGFibGUgY29kZSBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKK1BBU1MgaW1w
b3J0U2NyaXB0cyB0ZXN0IGZvciBkZWZhdWx0LXNyYyAKK1BBU1MgRmV0Y2ggdGVzdCBmb3IgZGVm
YXVsdC1zcmMgCitQQVNTIFJlZGlyZWN0ZWQgZmV0Y2ggdGVzdCBmb3IgZGVmYXVsdC1zcmMgCiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3NlcnZpY2Utd29ya2VyLWNzcC1zY3JpcHQu
aHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvc2VydmljZS13b3JrZXItY3Nw
LXNjcmlwdC5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggNzE2MTU5Mzc2MWZlOWNmOGRmNzc2YTIw
M2QyMmI1MzFlZjVjMzgzYS4uZDM3YTdiNWQ3YjNlMzFiYmY1MGY2ZWNhMWVjZGJhZWZlYjg1ZTg3
YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvc2VydmljZS13b3JrZXItY3NwLXNjcmlw
dC5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvc2VydmljZS13b3Jr
ZXItY3NwLXNjcmlwdC5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsNiArMSw2IEBACiAKIFBBU1Mg
Q1NQIHRlc3QgZm9yIHNjcmlwdC1zcmMgaW4gU2VydmljZVdvcmtlckdsb2JhbFNjb3BlIAotRkFJ
TCBpbXBvcnRTY3JpcHRzIHRlc3QgZm9yIHNjcmlwdC1zcmMgYXNzZXJ0X3RydWU6IEltcG9ydGlu
ZyB0aGUgb3RoZXIgb3JpZ2lucyBzY3JpcHQgc2hvdWxkIGZhaWwuIGV4cGVjdGVkIHRydWUgZ290
IGZhbHNlCitQQVNTIGltcG9ydFNjcmlwdHMgdGVzdCBmb3Igc2NyaXB0LXNyYyAKIFBBU1MgRmV0
Y2ggdGVzdCBmb3Igc2NyaXB0LXNyYyAKIFBBU1MgUmVkaXJlY3RlZCBmZXRjaCB0ZXN0IGZvciBz
Y3JpcHQtc3JjIAogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>330725</attachid>
            <date>2018-01-08 12:45:38 -0800</date>
            <delta_ts>2018-01-09 05:23:45 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-181385-20180108214535.patch</filename>
            <type>text/plain</type>
            <size>40478</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI2NTI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzE2MmZkN2ZhNzIwOGU4
ZTYwZWI0ZmU5YjliNzhmMDRiYmZkYmEwNy4uM2E5MDI1OWYwYmE0YjIxN2ZjMWRhMWI4MjliYTdk
OTYwYzk4NjQzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY1IEBACisyMDE4LTAxLTA4ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgQ1NQIHN1cHBvcnQg
dG8gc2VydmljZSB3b3JrZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xODEzODUKKworICAgICAgICBSZXZpZXdlZCBieSBDaHJpcyBEdW1lei4KKwor
ICAgICAgICBDb3ZlcmVkIGJ5IHJlYmFzZWQgdGVzdHMuCisKKyAgICAgICAgQWRkZWQgcmVjb3Zl
cnkgb2YgQ1NQIGluZm9ybWF0aW9uIGZyb20gV29ya2VyU2NyaXB0TG9hZGVyLgorICAgICAgICBB
ZGRlZCBwbHVtYmluZyB0byBwYXNzIHRoZSBDU1AgaW5mb3JtYXRpb24gdG8gU2VydmljZSBXb3Jr
ZXJzLgorICAgICAgICBBZGRlZCBwZXJzaXN0ZW5jeSBzdXBwb3J0IGZvciB0aGUgQ1NQIGluZm9y
bWF0aW9uLgorCisgICAgICAgICogd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6V29ya2VyU2NyaXB0TG9hZGVyOjpsb2FkQXN5bmNocm9ub3VzbHkpOgor
ICAgICAgICAoV2ViQ29yZTo6V29ya2VyU2NyaXB0TG9hZGVyOjpkaWRSZWNlaXZlUmVzcG9uc2Up
OgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmg6CisgICAgICAgIChXZWJD
b3JlOjpXb3JrZXJTY3JpcHRMb2FkZXI6OmNvbnRlbnRTZWN1cml0eVBvbGljeSBjb25zdCk6Cisg
ICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NXQ2xpZW50Q29ubmVjdGlvbi5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTV0NsaWVudENvbm5lY3Rpb246OmZpbmlzaGVkRmV0Y2hpbmdTY3JpcHQpOgor
ICAgICAgICAoV2ViQ29yZTo6U1dDbGllbnRDb25uZWN0aW9uOjpmYWlsZWRGZXRjaGluZ1Njcmlw
dCk6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NXQ2xpZW50Q29ubmVjdGlvbi5oOgorICAg
ICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDb250YWluZXI6OmFkZFJlZ2lzdHJhdGlvbik6Cisg
ICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjpqb2JGYWlsZWRXaXRoRXhj
ZXB0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDb250YWluZXI6OmpvYlJl
c29sdmVkV2l0aFJlZ2lzdHJhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2Vy
Q29udGFpbmVyOjpqb2JGaW5pc2hlZExvYWRpbmdTY3JpcHQpOgorICAgICAgICAqIHdvcmtlcnMv
c2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmg6CisgICAgICAgICogd29ya2Vycy9zZXJ2
aWNlL1NlcnZpY2VXb3JrZXJDb250ZXh0RGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2
aWNlV29ya2VyQ29udGV4dERhdGE6Omlzb2xhdGVkQ29weSBjb25zdCk6CisgICAgICAgICogd29y
a2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250ZXh0RGF0YS5oOgorICAgICAgICAoV2ViQ29y
ZTo6U2VydmljZVdvcmtlckNvbnRleHREYXRhOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6U2VydmljZVdvcmtlckNvbnRleHREYXRhOjpkZWNvZGUpOgorICAgICAgICAqIHdvcmtl
cnMvc2VydmljZS9TZXJ2aWNlV29ya2VyRmV0Y2hSZXN1bHQuaDoKKyAgICAgICAgKFdlYkNvcmU6
OlNlcnZpY2VXb3JrZXJGZXRjaFJlc3VsdDo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6OlNlcnZpY2VXb3JrZXJGZXRjaFJlc3VsdDo6ZGVjb2RlKToKKyAgICAgICAgKiB3b3JrZXJz
L3NlcnZpY2UvU2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZTo6Y3JlYXRlKToKKyAgICAgICAgKiB3b3JrZXJzL3Nl
cnZpY2UvU2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmg6CisgICAgICAgICogd29ya2Vycy9zZXJ2
aWNlL1NlcnZpY2VXb3JrZXJKb2IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtl
ckpvYjo6bm90aWZ5RmluaXNoZWQpOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNl
V29ya2VySm9iQ2xpZW50Lmg6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2Vy
dmljZVdvcmtlclRocmVhZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyVGhy
ZWFkOjpTZXJ2aWNlV29ya2VyVGhyZWFkKToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3Jr
ZXJUaHJlYWQ6OmNyZWF0ZVdvcmtlckdsb2JhbFNjb3BlKToKKyAgICAgICAgKiB3b3JrZXJzL3Nl
cnZpY2Uvc2VydmVyL1JlZ2lzdHJhdGlvbkRhdGFiYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OnYxUmVjb3Jkc1RhYmxlU2NoZW1hKToKKyAgICAgICAgKFdlYkNvcmU6OlJlZ2lzdHJhdGlvbkRh
dGFiYXNlOjpvcGVuU1FMaXRlRGF0YWJhc2UpOgorICAgICAgICAoV2ViQ29yZTo6UmVnaXN0cmF0
aW9uRGF0YWJhc2U6OmRvUHVzaENoYW5nZXMpOgorICAgICAgICAoV2ViQ29yZTo6UmVnaXN0cmF0
aW9uRGF0YWJhc2U6OmltcG9ydFJlY29yZHMpOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9z
ZXJ2ZXIvU1dTZXJ2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1dTZXJ2ZXI6OnVwZGF0ZVdv
cmtlcik6CisgICAgICAgIChXZWJDb3JlOjpTV1NlcnZlcjo6aW5zdGFsbENvbnRleHREYXRhKToK
KyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmg6CisgICAgICAgICog
d29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlckpvYlF1ZXVlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlNXU2VydmVySm9iUXVldWU6OnNjcmlwdEZldGNoRmluaXNoZWQpOgorICAgICAgICAq
IHdvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJXb3JrZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U1dTZXJ2ZXJXb3JrZXI6OlNXU2VydmVyV29ya2VyKToKKyAgICAgICAgKFdlYkNvcmU6
Om1fY29udGVudFNlY3VyaXR5UG9saWN5KToKKyAgICAgICAgKFdlYkNvcmU6OlNXU2VydmVyV29y
a2VyOjpjb250ZXh0RGF0YSBjb25zdCk6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL3NlcnZl
ci9TV1NlcnZlcldvcmtlci5oOgorCiAyMDE4LTAxLTA4ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5u
QGFwcGxlLmNvbT4KIAogICAgICAgICBTdG9wIGV4cG9zaW5nIGZldGNoIGFuZCBleHRlbmRhYmxl
IGV2ZW50cyB0byB3aW5kb3cKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyU2NyaXB0TG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0
TG9hZGVyLmNwcAppbmRleCAxNjIzMWJmYWNlYjYwOTM2ZTQ1MTEyYTY5OTQwZDVjZWI1Y2E1YzQz
Li5kZTg4NDIzYWQzZTE4YjllZDQyY2RlNmM2MTUzZGYwOGQ5MGYxOTg4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuY3BwCkBAIC0xMzQsNiArMTM0LDcg
QEAgdm9pZCBXb3JrZXJTY3JpcHRMb2FkZXI6OmRpZFJlY2VpdmVSZXNwb25zZSh1bnNpZ25lZCBs
b25nIGlkZW50aWZpZXIsIGNvbnN0IFJlc28KICAgICBtX3Jlc3BvbnNlVVJMID0gcmVzcG9uc2Uu
dXJsKCk7CiAgICAgbV9yZXNwb25zZU1JTUVUeXBlID0gcmVzcG9uc2UubWltZVR5cGUoKTsKICAg
ICBtX3Jlc3BvbnNlRW5jb2RpbmcgPSByZXNwb25zZS50ZXh0RW5jb2RpbmdOYW1lKCk7CisgICAg
bV9jb250ZW50U2VjdXJpdHlQb2xpY3kgPSBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhl
YWRlcnMgeyByZXNwb25zZSB9OwogICAgIGlmIChtX2NsaWVudCkKICAgICAgICAgbV9jbGllbnQt
PmRpZFJlY2VpdmVSZXNwb25zZShpZGVudGlmaWVyLCByZXNwb25zZSk7CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5oIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuaAppbmRleCAwYjhmMmM1YmJkMjI2ZGUx
OTc4MjZmNTc2Y2RiZDYyM2U4MTRhZTI4Li5hMDBmYzU3YmQyMzQ5MWQ4Yjg5ZmE4MzMwYjA1NzFh
MTdiNmNjMzYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlw
dExvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVy
LmgKQEAgLTI2LDYgKzI2LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKKyNpbmNsdWRlICJDb250ZW50
U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMuaCIKICNpbmNsdWRlICJSZXNvdXJjZUVycm9y
LmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VSZXF1ZXN0LmgiCiAjaW5jbHVkZSAiVGhyZWFkYWJsZUxv
YWRlci5oIgpAQCAtNTgsNiArNTksNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBub3RpZnlFcnJvcigp
OwogCiAgICAgU3RyaW5nIHNjcmlwdCgpOworICAgIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGlj
eVJlc3BvbnNlSGVhZGVycyYgY29udGVudFNlY3VyaXR5UG9saWN5KCkgY29uc3QgeyByZXR1cm4g
bV9jb250ZW50U2VjdXJpdHlQb2xpY3k7IH0KICAgICBjb25zdCBVUkwmIHVybCgpIGNvbnN0IHsg
cmV0dXJuIG1fdXJsOyB9CiAgICAgY29uc3QgVVJMJiByZXNwb25zZVVSTCgpIGNvbnN0OwogICAg
IGNvbnN0IFN0cmluZyYgcmVzcG9uc2VNSU1FVHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fcmVzcG9u
c2VNSU1FVHlwZTsgfQpAQCAtODksNiArOTEsNyBAQCBwcml2YXRlOgogICAgIFVSTCBtX3VybDsK
ICAgICBVUkwgbV9yZXNwb25zZVVSTDsKICAgICBTdHJpbmcgbV9yZXNwb25zZU1JTUVUeXBlOwor
ICAgIENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyBtX2NvbnRlbnRTZWN1cml0
eVBvbGljeTsKICAgICB1bnNpZ25lZCBsb25nIG1faWRlbnRpZmllciB7IDAgfTsKICAgICBib29s
IG1fZmFpbGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1fZmluaXNoaW5nIHsgZmFsc2UgfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TV0NsaWVudENvbm5lY3Rp
b24uY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NXQ2xpZW50Q29ubmVjdGlv
bi5jcHAKaW5kZXggMWYzMjIxZmY0Zjk5Yjk4ZWFkZDFmODBkODU1NzI3NGEwYmIxZDViNy4uNTAw
MzFkMjAyYzVlNzRlMDgwNGFlNjk3YzhlMGU0N2IyN2UzNDhjNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NXQ2xpZW50Q29ubmVjdGlvbi5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NXQ2xpZW50Q29ubmVjdGlvbi5jcHAKQEAgLTU2
LDE5ICs1NiwxOSBAQCB2b2lkIFNXQ2xpZW50Q29ubmVjdGlvbjo6c2NoZWR1bGVKb2IoU2Vydmlj
ZVdvcmtlckpvYiYgam9iKQogICAgIHNjaGVkdWxlSm9iSW5TZXJ2ZXIoam9iLmRhdGEoKSk7CiB9
CiAKLXZvaWQgU1dDbGllbnRDb25uZWN0aW9uOjpmaW5pc2hlZEZldGNoaW5nU2NyaXB0KFNlcnZp
Y2VXb3JrZXJKb2ImIGpvYiwgY29uc3QgU3RyaW5nJiBzY3JpcHQpCit2b2lkIFNXQ2xpZW50Q29u
bmVjdGlvbjo6ZmluaXNoZWRGZXRjaGluZ1NjcmlwdChTZXJ2aWNlV29ya2VySm9iJiBqb2IsIGNv
bnN0IFN0cmluZyYgc2NyaXB0LCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhl
YWRlcnMmIGNvbnRlbnRTZWN1cml0eVBvbGljeSkKIHsKICAgICBBU1NFUlQoaXNNYWluVGhyZWFk
KCkpOwogICAgIEFTU0VSVChtX3NjaGVkdWxlZEpvYnMuZ2V0KGpvYi5pZGVudGlmaWVyKCkpID09
ICZqb2IpOwogCi0gICAgZmluaXNoRmV0Y2hpbmdTY3JpcHRJblNlcnZlcih7IGpvYi5kYXRhKCku
aWRlbnRpZmllcigpLCBqb2IuZGF0YSgpLnJlZ2lzdHJhdGlvbktleSgpLCBzY3JpcHQsIHsgfSB9
KTsKKyAgICBmaW5pc2hGZXRjaGluZ1NjcmlwdEluU2VydmVyKHsgam9iLmRhdGEoKS5pZGVudGlm
aWVyKCksIGpvYi5kYXRhKCkucmVnaXN0cmF0aW9uS2V5KCksIHNjcmlwdCwgY29udGVudFNlY3Vy
aXR5UG9saWN5LCB7IH0gfSk7CiB9CiAKIHZvaWQgU1dDbGllbnRDb25uZWN0aW9uOjpmYWlsZWRG
ZXRjaGluZ1NjcmlwdChjb25zdCBTZXJ2aWNlV29ya2VySm9iRGF0YUlkZW50aWZpZXImIGpvYkRh
dGFJZGVudGlmaWVyLCBjb25zdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5JiByZWdpc3Ry
YXRpb25LZXksIGNvbnN0IFJlc291cmNlRXJyb3ImIGVycm9yKQogewogICAgIEFTU0VSVChpc01h
aW5UaHJlYWQoKSk7CiAKLSAgICBmaW5pc2hGZXRjaGluZ1NjcmlwdEluU2VydmVyKHsgam9iRGF0
YUlkZW50aWZpZXIsIHJlZ2lzdHJhdGlvbktleSwgeyB9LCBlcnJvciB9KTsKKyAgICBmaW5pc2hG
ZXRjaGluZ1NjcmlwdEluU2VydmVyKHsgam9iRGF0YUlkZW50aWZpZXIsIHJlZ2lzdHJhdGlvbktl
eSwgeyB9LCB7IH0sIGVycm9yIH0pOwogfQogCiB2b2lkIFNXQ2xpZW50Q29ubmVjdGlvbjo6am9i
UmVqZWN0ZWRJblNlcnZlcihjb25zdCBTZXJ2aWNlV29ya2VySm9iRGF0YUlkZW50aWZpZXImIGpv
YkRhdGFJZGVudGlmaWVyLCBjb25zdCBFeGNlcHRpb25EYXRhJiBleGNlcHRpb25EYXRhKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NXQ2xpZW50Q29ubmVjdGlv
bi5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NXQ2xpZW50Q29ubmVjdGlvbi5o
CmluZGV4IDRhZTc4YTM4ODdkZmFjODEzMDVhMzEyOWFmNTM4YTA4MTY5MzRmYTYuLmY5MDNkNzYy
MDIwNzJlMWZlZDM3MDQwYWI4NTM2MTllMzdmODAzYjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvc2VydmljZS9TV0NsaWVudENvbm5lY3Rpb24uaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL3NlcnZpY2UvU1dDbGllbnRDb25uZWN0aW9uLmgKQEAgLTY5LDcgKzY5LDcg
QEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCByZW1vdmVTZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uSW5TZXJ2ZXIoU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIpID0gMDsKIAog
ICAgIHZvaWQgc2NoZWR1bGVKb2IoU2VydmljZVdvcmtlckpvYiYpOwotICAgIHZvaWQgZmluaXNo
ZWRGZXRjaGluZ1NjcmlwdChTZXJ2aWNlV29ya2VySm9iJiwgY29uc3QgU3RyaW5nJik7CisgICAg
dm9pZCBmaW5pc2hlZEZldGNoaW5nU2NyaXB0KFNlcnZpY2VXb3JrZXJKb2ImLCBjb25zdCBTdHJp
bmcmIHNjcmlwdCwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJik7
CiAgICAgdm9pZCBmYWlsZWRGZXRjaGluZ1NjcmlwdChjb25zdCBTZXJ2aWNlV29ya2VySm9iRGF0
YUlkZW50aWZpZXImLCBjb25zdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5JiwgY29uc3Qg
UmVzb3VyY2VFcnJvciYpOwogCiAgICAgdmlydHVhbCB2b2lkIGRpZFJlc29sdmVSZWdpc3RyYXRp
b25Qcm9taXNlKGNvbnN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkmKSA9IDA7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRh
aW5lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNv
bnRhaW5lci5jcHAKaW5kZXggMTk3MGYwYTllOWIzY2I3NTBkNDkxZWJjMGQ2NjMwMmQ5YmUzOWQ2
NS4uNTMwMTVhNWFlMmNjY2I5ZTM0NmVlNzE0OGFlZjhiZjU0MDkzNGM1MyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFp
bmVyLmNwcApAQCAtNDY4LDcgKzQ2OCw3IEBAIHZvaWQgU2VydmljZVdvcmtlckNvbnRhaW5lcjo6
c3RhcnRTY3JpcHRGZXRjaEZvckpvYihTZXJ2aWNlV29ya2VySm9iJiBqb2IsIEZldGNoCiAgICAg
am9iLmZldGNoU2NyaXB0V2l0aENvbnRleHQoKmNvbnRleHQsIGNhY2hlUG9saWN5KTsKIH0KIAot
dm9pZCBTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjpqb2JGaW5pc2hlZExvYWRpbmdTY3JpcHQoU2Vy
dmljZVdvcmtlckpvYiYgam9iLCBjb25zdCBTdHJpbmcmIHNjcmlwdCkKK3ZvaWQgU2VydmljZVdv
cmtlckNvbnRhaW5lcjo6am9iRmluaXNoZWRMb2FkaW5nU2NyaXB0KFNlcnZpY2VXb3JrZXJKb2Im
IGpvYiwgY29uc3QgU3RyaW5nJiBzY3JpcHQsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJl
c3BvbnNlSGVhZGVycyYgY29udGVudFNlY3VyaXR5UG9saWN5KQogewogI2lmbmRlZiBOREVCVUcK
ICAgICBBU1NFUlQobV9jcmVhdGlvblRocmVhZC5wdHIoKSA9PSAmVGhyZWFkOjpjdXJyZW50KCkp
OwpAQCAtNDc2LDggKzQ3Niw4IEBAIHZvaWQgU2VydmljZVdvcmtlckNvbnRhaW5lcjo6am9iRmlu
aXNoZWRMb2FkaW5nU2NyaXB0KFNlcnZpY2VXb3JrZXJKb2ImIGpvYiwgY29uCiAKICAgICBMT0co
U2VydmljZVdvcmtlciwgIlNldmljZVdvcmtlckNvbnRhaW5lciAlcCBmaW5pc2hlZCBmZXRjaGlu
ZyBzY3JpcHQgZm9yIGpvYiAlcyIsIHRoaXMsIGpvYi5pZGVudGlmaWVyKCkubG9nZ2luZ1N0cmlu
ZygpLnV0ZjgoKS5kYXRhKCkpOwogCi0gICAgY2FsbE9uTWFpblRocmVhZChbY29ubmVjdGlvbiA9
IG1fc3dDb25uZWN0aW9uLCBqb2IgPSBtYWtlUmVmKGpvYiksIHNjcmlwdCA9IHNjcmlwdC5pc29s
YXRlZENvcHkoKV0gewotICAgICAgICBjb25uZWN0aW9uLT5maW5pc2hlZEZldGNoaW5nU2NyaXB0
KGpvYiwgc2NyaXB0KTsKKyAgICBjYWxsT25NYWluVGhyZWFkKFtjb25uZWN0aW9uID0gbV9zd0Nv
bm5lY3Rpb24sIGpvYiA9IG1ha2VSZWYoam9iKSwgc2NyaXB0ID0gc2NyaXB0Lmlzb2xhdGVkQ29w
eSgpLCBjb250ZW50U2VjdXJpdHlQb2xpY3kgPSBjb250ZW50U2VjdXJpdHlQb2xpY3kuaXNvbGF0
ZWRDb3B5KCldIHsKKyAgICAgICAgY29ubmVjdGlvbi0+ZmluaXNoZWRGZXRjaGluZ1NjcmlwdChq
b2IsIHNjcmlwdCwgY29udGVudFNlY3VyaXR5UG9saWN5KTsKICAgICB9KTsKIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWlu
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFp
bmVyLmgKaW5kZXggMTlkMjVmNWE3NDE3OGQyYTgzOWI0NTQyMjk4NTE1MGVhMGUzN2RhMi4uNzNi
ZmYzNWU1YzgxZGIxMjQxYjQ1YmI2MzQ4MjQ3Y2NiMjgxMDBkNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5oCkBA
IC04OSw3ICs4OSw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBqb2JSZXNvbHZlZFdpdGhSZWdpc3Ry
YXRpb24oU2VydmljZVdvcmtlckpvYiYsIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhJiYs
IFNob3VsZE5vdGlmeVdoZW5SZXNvbHZlZCkgZmluYWw7CiAgICAgdm9pZCBqb2JSZXNvbHZlZFdp
dGhVbnJlZ2lzdHJhdGlvblJlc3VsdChTZXJ2aWNlV29ya2VySm9iJiwgYm9vbCB1bnJlZ2lzdHJh
dGlvblJlc3VsdCkgZmluYWw7CiAgICAgdm9pZCBzdGFydFNjcmlwdEZldGNoRm9ySm9iKFNlcnZp
Y2VXb3JrZXJKb2ImLCBGZXRjaE9wdGlvbnM6OkNhY2hlKSBmaW5hbDsKLSAgICB2b2lkIGpvYkZp
bmlzaGVkTG9hZGluZ1NjcmlwdChTZXJ2aWNlV29ya2VySm9iJiwgY29uc3QgU3RyaW5nJikgZmlu
YWw7CisgICAgdm9pZCBqb2JGaW5pc2hlZExvYWRpbmdTY3JpcHQoU2VydmljZVdvcmtlckpvYiYs
IGNvbnN0IFN0cmluZyYgc2NyaXB0LCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25z
ZUhlYWRlcnMmKSBmaW5hbDsKICAgICB2b2lkIGpvYkZhaWxlZExvYWRpbmdTY3JpcHQoU2Vydmlj
ZVdvcmtlckpvYiYsIGNvbnN0IFJlc291cmNlRXJyb3ImLCBzdGQ6Om9wdGlvbmFsPEV4Y2VwdGlv
bj4mJikgZmluYWw7CiAKICAgICB2b2lkIGpvYkRpZEZpbmlzaChTZXJ2aWNlV29ya2VySm9iJik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtl
ckNvbnRleHREYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNl
V29ya2VyQ29udGV4dERhdGEuY3BwCmluZGV4IDdmMGFiYmUyNDc2MjI5MWVkNWI5ZjE0ZjM4ZDI5
ZmNhMmJmZmYxMWMuLjRjNGJmMjM2NGNlNGNmMTI1Mzg1ODY4Yjk4NWY4YjdlYjAxOGQ3ZWIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29u
dGV4dERhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNl
V29ya2VyQ29udGV4dERhdGEuY3BwCkBAIC0zMiw3ICszMiw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogU2VydmljZVdvcmtlckNvbnRleHREYXRhIFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YTo6
aXNvbGF0ZWRDb3B5KCkgY29uc3QKIHsKLSAgICByZXR1cm4geyBqb2JEYXRhSWRlbnRpZmllciwg
cmVnaXN0cmF0aW9uLmlzb2xhdGVkQ29weSgpLCBzZXJ2aWNlV29ya2VySWRlbnRpZmllciwgc2Ny
aXB0Lmlzb2xhdGVkQ29weSgpLCBzY3JpcHRVUkwuaXNvbGF0ZWRDb3B5KCksIHdvcmtlclR5cGUs
IGxvYWRlZEZyb21EaXNrIH07CisgICAgcmV0dXJuIHsgam9iRGF0YUlkZW50aWZpZXIsIHJlZ2lz
dHJhdGlvbi5pc29sYXRlZENvcHkoKSwgc2VydmljZVdvcmtlcklkZW50aWZpZXIsIHNjcmlwdC5p
c29sYXRlZENvcHkoKSwgY29udGVudFNlY3VyaXR5UG9saWN5Lmlzb2xhdGVkQ29weSgpLCBzY3Jp
cHRVUkwuaXNvbGF0ZWRDb3B5KCksIHdvcmtlclR5cGUsIGxvYWRlZEZyb21EaXNrIH07CiB9CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGV4dERhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGV4dERhdGEuaAppbmRleCBmM2ZlMGRjMTRi
ZTdhMjIyMjM4ZjczZmVkYzIzNTVjYTBkY2IzNzRmLi5mNWEzZTA5MTY5MmE1OTA4NTRlZWQ5MWJl
NWU0MzUxYjBiNzY0NTcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZp
Y2UvU2VydmljZVdvcmtlckNvbnRleHREYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250ZXh0RGF0YS5oCkBAIC0yNSw2ICsyNSw3IEBACiAK
ICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSAiQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VI
ZWFkZXJzLmgiCiAjaW5jbHVkZSAiU2VydmljZVdvcmtlcklkZW50aWZpZXIuaCIKICNpbmNsdWRl
ICJTZXJ2aWNlV29ya2VySm9iRGF0YUlkZW50aWZpZXIuaCIKICNpbmNsdWRlICJTZXJ2aWNlV29y
a2VyUmVnaXN0cmF0aW9uRGF0YS5oIgpAQCAtNDAsMTAgKzQxLDExIEBAIHN0cnVjdCBTZXJ2aWNl
V29ya2VyQ29udGV4dERhdGEgewogICAgIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhIHJl
Z2lzdHJhdGlvbjsKICAgICBTZXJ2aWNlV29ya2VySWRlbnRpZmllciBzZXJ2aWNlV29ya2VySWRl
bnRpZmllcjsKICAgICBTdHJpbmcgc2NyaXB0OworICAgIENvbnRlbnRTZWN1cml0eVBvbGljeVJl
c3BvbnNlSGVhZGVycyBjb250ZW50U2VjdXJpdHlQb2xpY3k7CiAgICAgVVJMIHNjcmlwdFVSTDsK
ICAgICBXb3JrZXJUeXBlIHdvcmtlclR5cGU7CiAgICAgYm9vbCBsb2FkZWRGcm9tRGlzazsKLSAg
ICAKKwogICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImKSBj
b25zdDsKICAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgc3RkOjpvcHRpb25hbDxT
ZXJ2aWNlV29ya2VyQ29udGV4dERhdGE+IGRlY29kZShEZWNvZGVyJik7CiAgICAgCkBAIC01Myw3
ICs1NSw3IEBAIHN0cnVjdCBTZXJ2aWNlV29ya2VyQ29udGV4dERhdGEgewogdGVtcGxhdGU8Y2xh
c3MgRW5jb2Rlcj4KIHZvaWQgU2VydmljZVdvcmtlckNvbnRleHREYXRhOjplbmNvZGUoRW5jb2Rl
ciYgZW5jb2RlcikgY29uc3QKIHsKLSAgICBlbmNvZGVyIDw8IGpvYkRhdGFJZGVudGlmaWVyIDw8
IHJlZ2lzdHJhdGlvbiA8PCBzZXJ2aWNlV29ya2VySWRlbnRpZmllciA8PCBzY3JpcHQgPDwgc2Ny
aXB0VVJMIDw8IHdvcmtlclR5cGUgPDwgbG9hZGVkRnJvbURpc2s7CisgICAgZW5jb2RlciA8PCBq
b2JEYXRhSWRlbnRpZmllciA8PCByZWdpc3RyYXRpb24gPDwgc2VydmljZVdvcmtlcklkZW50aWZp
ZXIgPDwgc2NyaXB0IDw8IGNvbnRlbnRTZWN1cml0eVBvbGljeSA8PCBzY3JpcHRVUkwgPDwgd29y
a2VyVHlwZSA8PCBsb2FkZWRGcm9tRGlzazsKIH0KIAogdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4K
QEAgLTc2LDcgKzc4LDExIEBAIHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlckNvbnRleHREYXRh
PiBTZXJ2aWNlV29ya2VyQ29udGV4dERhdGE6OmRlY29kZShEZWNvZGVyCiAgICAgU3RyaW5nIHNj
cmlwdDsKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHNjcmlwdCkpCiAgICAgICAgIHJldHVybiBz
dGQ6Om51bGxvcHQ7Ci0gICAgCisKKyAgICBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhl
YWRlcnMgY29udGVudFNlY3VyaXR5UG9saWN5OworICAgIGlmICghZGVjb2Rlci5kZWNvZGUoY29u
dGVudFNlY3VyaXR5UG9saWN5KSkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKwogICAg
IFVSTCBzY3JpcHRVUkw7CiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShzY3JpcHRVUkwpKQogICAg
ICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwpAQCAtODksNyArOTUsNyBAQCBzdGQ6Om9wdGlvbmFs
PFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YT4gU2VydmljZVdvcmtlckNvbnRleHREYXRhOjpkZWNv
ZGUoRGVjb2RlcgogICAgIGlmICghZGVjb2Rlci5kZWNvZGUobG9hZGVkRnJvbURpc2spKQogICAg
ICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogCi0gICAgcmV0dXJuIHt7IFdURk1vdmUoKmpvYkRh
dGFJZGVudGlmaWVyKSwgV1RGTW92ZSgqcmVnaXN0cmF0aW9uKSwgV1RGTW92ZSgqc2VydmljZVdv
cmtlcklkZW50aWZpZXIpLCBXVEZNb3ZlKHNjcmlwdCksIFdURk1vdmUoc2NyaXB0VVJMKSwgd29y
a2VyVHlwZSwgbG9hZGVkRnJvbURpc2t9fTsKKyAgICByZXR1cm4ge3sgV1RGTW92ZSgqam9iRGF0
YUlkZW50aWZpZXIpLCBXVEZNb3ZlKCpyZWdpc3RyYXRpb24pLCBXVEZNb3ZlKCpzZXJ2aWNlV29y
a2VySWRlbnRpZmllciksIFdURk1vdmUoc2NyaXB0KSwgV1RGTW92ZShjb250ZW50U2VjdXJpdHlQ
b2xpY3kpLCBXVEZNb3ZlKHNjcmlwdFVSTCksIHdvcmtlclR5cGUsIGxvYWRlZEZyb21EaXNrIH19
OwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckZldGNoUmVzdWx0LmggYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckZldGNoUmVzdWx0LmgKaW5kZXggNzE0
Zjg1N2FiOWE3NzYwN2Y4Yjg3YjNiM2Q2NGI3NDgyZWU5Njg3Mi4uZTBhNTk5OTc2MTkyZDhiMzRk
NDhmYWVhOWE5ZWQyNzcwYTNmYWVlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJGZXRjaFJlc3VsdC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyRmV0Y2hSZXN1bHQuaApAQCAtMjcsNiArMjcs
NyBAQAogCiAjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQogCisjaW5jbHVkZSAiQ29udGVudFNl
Y3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VFcnJvci5o
IgogI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkuaCIKICNpbmNsdWRlICJT
ZXJ2aWNlV29ya2VyVHlwZXMuaCIKQEAgLTM3LDYgKzM4LDcgQEAgc3RydWN0IFNlcnZpY2VXb3Jr
ZXJGZXRjaFJlc3VsdCB7CiAgICAgU2VydmljZVdvcmtlckpvYkRhdGFJZGVudGlmaWVyIGpvYkRh
dGFJZGVudGlmaWVyOwogICAgIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkgcmVnaXN0cmF0
aW9uS2V5OwogICAgIFN0cmluZyBzY3JpcHQ7CisgICAgQ29udGVudFNlY3VyaXR5UG9saWN5UmVz
cG9uc2VIZWFkZXJzIGNvbnRlbnRTZWN1cml0eVBvbGljeTsKICAgICBSZXNvdXJjZUVycm9yIHNj
cmlwdEVycm9yOwogCiAgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5j
b2RlciYpIGNvbnN0OwpAQCAtNDYsNyArNDgsNyBAQCBzdHJ1Y3QgU2VydmljZVdvcmtlckZldGNo
UmVzdWx0IHsKIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+CiB2b2lkIFNlcnZpY2VXb3JrZXJGZXRj
aFJlc3VsdDo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0CiB7Ci0gICAgZW5jb2RlciA8
PCBqb2JEYXRhSWRlbnRpZmllciA8PCByZWdpc3RyYXRpb25LZXkgPDwgc2NyaXB0IDw8IHNjcmlw
dEVycm9yOworICAgIGVuY29kZXIgPDwgam9iRGF0YUlkZW50aWZpZXIgPDwgcmVnaXN0cmF0aW9u
S2V5IDw8IHNjcmlwdCA8PCBjb250ZW50U2VjdXJpdHlQb2xpY3kgPDwgc2NyaXB0RXJyb3I7CiB9
CiAKIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+CkBAIC02NSw2ICs2Nyw4IEBAIGJvb2wgU2Vydmlj
ZVdvcmtlckZldGNoUmVzdWx0OjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlciwgU2VydmljZVdvcmtl
ckZldGNoUmVzdWx0CiAKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5zY3JpcHQpKQog
ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQuY29u
dGVudFNlY3VyaXR5UG9saWN5KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGlmICghZGVj
b2Rlci5kZWNvZGUocmVzdWx0LnNjcmlwdEVycm9yKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtl
ckdsb2JhbFNjb3BlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNl
V29ya2VyR2xvYmFsU2NvcGUuY3BwCmluZGV4IDQ4ODI4ZDk2YTY2YWFhYzFlMTMxMmUwNmY5MTA0
ODg5NjI0ZDQ5ZDguLmJiZjU2YTZlNDY0YzkyNThiNDkzMzZkYzQ1MTdhN2IzODY3YTEyNzkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyR2xv
YmFsU2NvcGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNl
V29ya2VyR2xvYmFsU2NvcGUuY3BwCkBAIC0zOCw2ICszOCwxMyBAQAogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKK1JlZjxTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGU+IFNlcnZpY2VXb3JrZXJHbG9i
YWxTY29wZTo6Y3JlYXRlKGNvbnN0IFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YSYgZGF0YSwgY29u
c3QgVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2Vy
QWdlbnQsIGJvb2wgaXNPbmxpbmUsIFNlcnZpY2VXb3JrZXJUaHJlYWQmIHRocmVhZCwgY29uc3Qg
Q29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJpdHlQb2xp
Y3ksIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBSZWY8
U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIElE
QkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiBjb25uZWN0aW9uUHJveHksIFNvY2tldFByb3Zp
ZGVyKiBzb2NrZXRQcm92aWRlciwgUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklEKQoreworICAgIGF1
dG8gc2NvcGUgPSBhZG9wdFJlZigqbmV3IFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZSB7IGRhdGEs
IHVybCwgaWRlbnRpZmllciwgdXNlckFnZW50LCBpc09ubGluZSwgdGhyZWFkLCBzaG91bGRCeXBh
c3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIFdURk1vdmUodG9wT3JpZ2luKSwgdGlt
ZU9yaWdpbiwgY29ubmVjdGlvblByb3h5LCBzb2NrZXRQcm92aWRlciwgc2Vzc2lvbklEIH0pOwor
ICAgIHNjb3BlLT5hcHBseUNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyhjb250
ZW50U2VjdXJpdHlQb2xpY3kpOworICAgIHJldHVybiBzY29wZTsKK30KKwogU2VydmljZVdvcmtl
ckdsb2JhbFNjb3BlOjpTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUoY29uc3QgU2VydmljZVdvcmtl
ckNvbnRleHREYXRhJiBkYXRhLCBjb25zdCBVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBpZGVudGlm
aWVyLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgU2VydmljZVdvcmtl
clRocmVhZCYgdGhyZWFkLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0
eVBvbGljeSwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0
aW1lT3JpZ2luLCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSogY29ubmVjdGlvblByb3h5
LCBTb2NrZXRQcm92aWRlciogc29ja2V0UHJvdmlkZXIsIFBBTDo6U2Vzc2lvbklEIHNlc3Npb25J
RCkKICAgICA6IFdvcmtlckdsb2JhbFNjb3BlKHVybCwgaWRlbnRpZmllciwgdXNlckFnZW50LCBp
c09ubGluZSwgdGhyZWFkLCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xp
Y3ksIFdURk1vdmUodG9wT3JpZ2luKSwgdGltZU9yaWdpbiwgY29ubmVjdGlvblByb3h5LCBzb2Nr
ZXRQcm92aWRlciwgc2Vzc2lvbklEKQogICAgICwgbV9jb250ZXh0RGF0YShjcm9zc1RocmVhZENv
cHkoZGF0YSkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vy
dmljZVdvcmtlckdsb2JhbFNjb3BlLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uv
U2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmgKaW5kZXggMjExNDMxZWYzODU0MDQ5YTlkMDk3MTJl
OTU1NjI1NzAxODhiOTQ2Ni4uMTU0NDMwNzQ2MTcyNjZhY2IzZDQ1ZDMxZTFiYzZkZGU0ZjEyYzBk
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3Jr
ZXJHbG9iYWxTY29wZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2
aWNlV29ya2VyR2xvYmFsU2NvcGUuaApAQCAtNDMsMTAgKzQzLDcgQEAgY2xhc3MgU2VydmljZVdv
cmtlclRocmVhZDsKIAogY2xhc3MgU2VydmljZVdvcmtlckdsb2JhbFNjb3BlIGZpbmFsIDogcHVi
bGljIFdvcmtlckdsb2JhbFNjb3BlIHsKIHB1YmxpYzoKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZS4u
LiBBcmdzPiBzdGF0aWMgUmVmPFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZT4gY3JlYXRlKEFyZ3Mm
Ji4uLiBhcmdzKQotICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU2VydmljZVdv
cmtlckdsb2JhbFNjb3BlKHN0ZDo6Zm9yd2FyZDxBcmdzPihhcmdzKS4uLikpOwotICAgIH0KKyAg
ICBzdGF0aWMgUmVmPFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZT4gY3JlYXRlKGNvbnN0IFNlcnZp
Y2VXb3JrZXJDb250ZXh0RGF0YSYsIGNvbnN0IFVSTCYsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmll
ciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIFNlcnZpY2VXb3JrZXJU
aHJlYWQmLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmLCBib29s
IHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgUmVmPFNlY3VyaXR5
T3JpZ2luPiYmIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBJREJDbGllbnQ6
OklEQkNvbm5lY3Rpb25Qcm94eSosIFNvY2tldFByb3ZpZGVyKiwgUEFMOjpTZXNzaW9uSUQpOwog
CiAgICAgflNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckpvYi5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckpvYi5jcHAKaW5kZXggZTNiMDYzMDA2
MzM2OWJkZWM4M2Y4MjBlN2UxY2NhOWFlODQ3ZjZlOS4uNjE5NzI1M2RiNmM0NzM0Y2Y0YjlmOTdl
MGY2ZDQ3MjEwNDAyMThkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2
aWNlL1NlcnZpY2VXb3JrZXJKb2IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vy
dmljZS9TZXJ2aWNlV29ya2VySm9iLmNwcApAQCAtMTQyLDcgKzE0Miw3IEBAIHZvaWQgU2Vydmlj
ZVdvcmtlckpvYjo6bm90aWZ5RmluaXNoZWQoKQogICAgIEFTU0VSVChtX3NjcmlwdExvYWRlcik7
CiAgICAgCiAgICAgaWYgKCFtX3NjcmlwdExvYWRlci0+ZmFpbGVkKCkpCi0gICAgICAgIG1fY2xp
ZW50LT5qb2JGaW5pc2hlZExvYWRpbmdTY3JpcHQoKnRoaXMsIG1fc2NyaXB0TG9hZGVyLT5zY3Jp
cHQoKSk7CisgICAgICAgIG1fY2xpZW50LT5qb2JGaW5pc2hlZExvYWRpbmdTY3JpcHQoKnRoaXMs
IG1fc2NyaXB0TG9hZGVyLT5zY3JpcHQoKSwgbV9zY3JpcHRMb2FkZXItPmNvbnRlbnRTZWN1cml0
eVBvbGljeSgpKTsKICAgICBlbHNlIHsKICAgICAgICAgYXV0byYgZXJyb3IgPSAgbV9zY3JpcHRM
b2FkZXItPmVycm9yKCk7CiAgICAgICAgIEFTU0VSVCghZXJyb3IuaXNOdWxsKCkpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJKb2JDbGll
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VySm9iQ2xp
ZW50LmgKaW5kZXggYTRjZGE2Y2U2NTc4MjE1MTFlMTQ2YzE3MmYwMTQzNTliNjZmY2VkMC4uNjcz
N2VjYWYxZWMyZGYxZWQ1ZmJjYmVjNmViMzk4YmQ3M2YwZmVhYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJKb2JDbGllbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckpvYkNsaWVudC5oCkBA
IC0zMiw2ICszMiw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgQ29udGVudFNl
Y3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzOwogY2xhc3MgRXhjZXB0aW9uOwogY2xhc3MgUmVz
b3VyY2VFcnJvcjsKIGNsYXNzIFNlcnZpY2VXb3JrZXJKb2I7CkBAIC00OCw3ICs0OSw3IEBAIHB1
YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgam9iUmVzb2x2ZWRXaXRoUmVnaXN0cmF0aW9uKFNlcnZp
Y2VXb3JrZXJKb2ImLCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YSYmLCBTaG91bGROb3Rp
ZnlXaGVuUmVzb2x2ZWQpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgam9iUmVzb2x2ZWRXaXRoVW5y
ZWdpc3RyYXRpb25SZXN1bHQoU2VydmljZVdvcmtlckpvYiYsIGJvb2wgdW5yZWdpc3RyYXRpb25S
ZXN1bHQpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc3RhcnRTY3JpcHRGZXRjaEZvckpvYihTZXJ2
aWNlV29ya2VySm9iJiwgRmV0Y2hPcHRpb25zOjpDYWNoZSkgPSAwOwotICAgIHZpcnR1YWwgdm9p
ZCBqb2JGaW5pc2hlZExvYWRpbmdTY3JpcHQoU2VydmljZVdvcmtlckpvYiYsIGNvbnN0IFN0cmlu
ZyYpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgam9iRmluaXNoZWRMb2FkaW5nU2NyaXB0KFNlcnZp
Y2VXb3JrZXJKb2ImLCBjb25zdCBTdHJpbmcmIHNjcmlwdCwgY29uc3QgQ29udGVudFNlY3VyaXR5
UG9saWN5UmVzcG9uc2VIZWFkZXJzJikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBqb2JGYWlsZWRM
b2FkaW5nU2NyaXB0KFNlcnZpY2VXb3JrZXJKb2ImLCBjb25zdCBSZXNvdXJjZUVycm9yJiwgc3Rk
OjpvcHRpb25hbDxFeGNlcHRpb24+JiYpID0gMDsKIAogICAgIHZpcnR1YWwgU1dTZXJ2ZXJDb25u
ZWN0aW9uSWRlbnRpZmllciBjb25uZWN0aW9uSWRlbnRpZmllcigpID0gMDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJl
YWQuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdv
cmtlclRocmVhZC5jcHAKaW5kZXggZDlkN2Q3YzA5YmIxOTRmYTYzNzViOTAwZDU3NTg4MTI1OGU5
MDY1My4uNzY0YmZlZjk4OTkzYTJmY2Y1ZmNiZmJhNjZhOWYxY2FiNTYyNjE3YyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlclRo
cmVhZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2Vy
dmljZVdvcmtlclRocmVhZC5jcHAKQEAgLTcxLDcgKzcxLDcgQEAgcHJpdmF0ZToKIC8vIEZJWE1F
OiBVc2UgdmFsaWQgcnVudGltZSBmbGFncwogCiBTZXJ2aWNlV29ya2VyVGhyZWFkOjpTZXJ2aWNl
V29ya2VyVGhyZWFkKGNvbnN0IFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YSYgZGF0YSwgUEFMOjpT
ZXNzaW9uSUQsIFN0cmluZyYmIHVzZXJBZ2VudCwgV29ya2VyTG9hZGVyUHJveHkmIGxvYWRlclBy
b3h5LCBXb3JrZXJEZWJ1Z2dlclByb3h5JiBkZWJ1Z2dlclByb3h5LCBJREJDbGllbnQ6OklEQkNv
bm5lY3Rpb25Qcm94eSogaWRiQ29ubmVjdGlvblByb3h5LCBTb2NrZXRQcm92aWRlciogc29ja2V0
UHJvdmlkZXIpCi0gICAgOiBXb3JrZXJUaHJlYWQoZGF0YS5zY3JpcHRVUkwsICJzZXJ2aWNld29y
a2VyOiIgKyBJbnNwZWN0b3I6OklkZW50aWZpZXJzRmFjdG9yeTo6Y3JlYXRlSWRlbnRpZmllcigp
LCBXVEZNb3ZlKHVzZXJBZ2VudCksIE5ldHdvcmtTdGF0ZU5vdGlmaWVyOjpzaW5nbGV0b24oKS5v
bkxpbmUoKSwgZGF0YS5zY3JpcHQsIGxvYWRlclByb3h5LCBkZWJ1Z2dlclByb3h5LCBEdW1teVNl
cnZpY2VXb3JrZXJUaHJlYWRQcm94eTo6c2hhcmVkKCksIFdvcmtlclRocmVhZFN0YXJ0TW9kZTo6
Tm9ybWFsLCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMgeyB9LCBmYWxzZSwg
U2VjdXJpdHlPcmlnaW46OmNyZWF0ZShkYXRhLnNjcmlwdFVSTCkuZ2V0KCksIE1vbm90b25pY1Rp
bWU6Om5vdygpLCBpZGJDb25uZWN0aW9uUHJveHksIHNvY2tldFByb3ZpZGVyLCBKU0M6OlJ1bnRp
bWVGbGFnczo6Y3JlYXRlQWxsRW5hYmxlZCgpLCBTZXNzaW9uSUQ6OmRlZmF1bHRTZXNzaW9uSUQo
KSkKKyAgICA6IFdvcmtlclRocmVhZChkYXRhLnNjcmlwdFVSTCwgInNlcnZpY2V3b3JrZXI6IiAr
IEluc3BlY3Rvcjo6SWRlbnRpZmllcnNGYWN0b3J5OjpjcmVhdGVJZGVudGlmaWVyKCksIFdURk1v
dmUodXNlckFnZW50KSwgTmV0d29ya1N0YXRlTm90aWZpZXI6OnNpbmdsZXRvbigpLm9uTGluZSgp
LCBkYXRhLnNjcmlwdCwgbG9hZGVyUHJveHksIGRlYnVnZ2VyUHJveHksIER1bW15U2VydmljZVdv
cmtlclRocmVhZFByb3h5OjpzaGFyZWQoKSwgV29ya2VyVGhyZWFkU3RhcnRNb2RlOjpOb3JtYWws
IGRhdGEuY29udGVudFNlY3VyaXR5UG9saWN5LCBmYWxzZSwgU2VjdXJpdHlPcmlnaW46OmNyZWF0
ZShkYXRhLnNjcmlwdFVSTCkuZ2V0KCksIE1vbm90b25pY1RpbWU6Om5vdygpLCBpZGJDb25uZWN0
aW9uUHJveHksIHNvY2tldFByb3ZpZGVyLCBKU0M6OlJ1bnRpbWVGbGFnczo6Y3JlYXRlQWxsRW5h
YmxlZCgpLCBTZXNzaW9uSUQ6OmRlZmF1bHRTZXNzaW9uSUQoKSkKICAgICAsIG1fZGF0YShkYXRh
Lmlzb2xhdGVkQ29weSgpKQogICAgICwgbV93b3JrZXJPYmplY3RQcm94eShEdW1teVNlcnZpY2VX
b3JrZXJUaHJlYWRQcm94eTo6c2hhcmVkKCkpCiB7CkBAIC04MCw5ICs4MCw5IEBAIFNlcnZpY2VX
b3JrZXJUaHJlYWQ6OlNlcnZpY2VXb3JrZXJUaHJlYWQoY29uc3QgU2VydmljZVdvcmtlckNvbnRl
eHREYXRhJiBkYXRhLCBQCiAKIFNlcnZpY2VXb3JrZXJUaHJlYWQ6On5TZXJ2aWNlV29ya2VyVGhy
ZWFkKCkgPSBkZWZhdWx0OwogCi1SZWY8V29ya2VyR2xvYmFsU2NvcGU+IFNlcnZpY2VXb3JrZXJU
aHJlYWQ6OmNyZWF0ZVdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgdXJsLCBjb25zdCBTdHJp
bmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBj
b25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5
cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgUmVmPFNlY3VyaXR5T3JpZ2luPiYm
IHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBQQUw6OlNlc3Npb25JRCBzZXNz
aW9uSUQpCitSZWY8V29ya2VyR2xvYmFsU2NvcGU+IFNlcnZpY2VXb3JrZXJUaHJlYWQ6OmNyZWF0
ZVdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgdXJsLCBjb25zdCBTdHJpbmcmIGlkZW50aWZp
ZXIsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBDb250ZW50
U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmIGNvbnRlbnRTZWN1cml0eVBvbGljeSwgYm9v
bCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIFJlZjxTZWN1cml0
eU9yaWdpbj4mJiB0b3BPcmlnaW4sIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgUEFMOjpTZXNz
aW9uSUQgc2Vzc2lvbklEKQogewotICAgIHJldHVybiBTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGU6
OmNyZWF0ZShtX2RhdGEsIHVybCwgaWRlbnRpZmllciwgdXNlckFnZW50LCBpc09ubGluZSwgKnRo
aXMsIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgV1RGTW92ZSh0
b3BPcmlnaW4pLCB0aW1lT3JpZ2luLCBpZGJDb25uZWN0aW9uUHJveHkoKSwgc29ja2V0UHJvdmlk
ZXIoKSwgc2Vzc2lvbklEKTsKKyAgICByZXR1cm4gU2VydmljZVdvcmtlckdsb2JhbFNjb3BlOjpj
cmVhdGUobV9kYXRhLCB1cmwsIGlkZW50aWZpZXIsIHVzZXJBZ2VudCwgaXNPbmxpbmUsICp0aGlz
LCBjb250ZW50U2VjdXJpdHlQb2xpY3ksIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1
cml0eVBvbGljeSwgV1RGTW92ZSh0b3BPcmlnaW4pLCB0aW1lT3JpZ2luLCBpZGJDb25uZWN0aW9u
UHJveHkoKSwgc29ja2V0UHJvdmlkZXIoKSwgc2Vzc2lvbklEKTsKIH0KIAogdm9pZCBTZXJ2aWNl
V29ya2VyVGhyZWFkOjpydW5FdmVudExvb3AoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zZXJ2aWNlL3NlcnZlci9SZWdpc3RyYXRpb25EYXRhYmFzZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1JlZ2lzdHJhdGlvbkRhdGFiYXNlLmNwcApp
bmRleCA4NzEwYjBlMjg0NDI0MDYzZDlmNTBhYjU5ZWZmOWJhZThhYWUwZDVmLi4zYzQzOGM5ZjZl
NTFmYTBjMmFkYWQ4N2YyYWRkOGU0N2ZkMGU5OTMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1JlZ2lzdHJhdGlvbkRhdGFiYXNlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1JlZ2lzdHJhdGlvbkRhdGFiYXNl
LmNwcApAQCAtNDAsMTIgKzQwLDE1IEBACiAjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4KICNp
bmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KICNpbmNsdWRlIDx3dGYvU2NvcGUuaD4KKyNp
bmNsdWRlIDx3dGYvcGVyc2lzdGVuY2UvUGVyc2lzdGVudENvZGVycy5oPgorI2luY2x1ZGUgPHd0
Zi9wZXJzaXN0ZW5jZS9QZXJzaXN0ZW50RGVjb2Rlci5oPgorI2luY2x1ZGUgPHd0Zi9wZXJzaXN0
ZW5jZS9QZXJzaXN0ZW50RW5jb2Rlci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0YXRp
YyBjb25zdCBTdHJpbmcgdjFSZWNvcmRzVGFibGVTY2hlbWEoY29uc3QgU3RyaW5nJiB0YWJsZU5h
bWUpCiB7Ci0gICAgcmV0dXJuIG1ha2VTdHJpbmcoIkNSRUFURSBUQUJMRSAiLCB0YWJsZU5hbWUs
ICIgKGtleSBURVhUIE5PVCBOVUxMIE9OIENPTkZMSUNUIEZBSUwgVU5JUVVFIE9OIENPTkZMSUNU
IFJFUExBQ0UsIG9yaWdpbiBURVhUIE5PVCBOVUxMIE9OIENPTkZMSUNUIEZBSUwsIHNjb3BlVVJM
IFRFWFQgTk9UIE5VTEwgT04gQ09ORkxJQ1QgRkFJTCwgdG9wT3JpZ2luIFRFWFQgTk9UIE5VTEwg
T04gQ09ORkxJQ1QgRkFJTCwgbGFzdFVwZGF0ZUNoZWNrVGltZSBET1VCTEUgTk9UIE5VTEwgT04g
Q09ORkxJQ1QgRkFJTCwgdXBkYXRlVmlhQ2FjaGUgVEVYVCBOT1QgTlVMTCBPTiBDT05GTElDVCBG
QUlMLCBzY3JpcHRVUkwgVEVYVCBOT1QgTlVMTCBPTiBDT05GTElDVCBGQUlMLCBzY3JpcHQgVEVY
VCBOT1QgTlVMTCBPTiBDT05GTElDVCBGQUlMLCB3b3JrZXJUeXBlIFRFWFQgTk9UIE5VTEwgT04g
Q09ORkxJQ1QgRkFJTCkiKTsKKyAgICByZXR1cm4gbWFrZVN0cmluZygiQ1JFQVRFIFRBQkxFICIs
IHRhYmxlTmFtZSwgIiAoa2V5IFRFWFQgTk9UIE5VTEwgT04gQ09ORkxJQ1QgRkFJTCBVTklRVUUg
T04gQ09ORkxJQ1QgUkVQTEFDRSwgb3JpZ2luIFRFWFQgTk9UIE5VTEwgT04gQ09ORkxJQ1QgRkFJ
TCwgc2NvcGVVUkwgVEVYVCBOT1QgTlVMTCBPTiBDT05GTElDVCBGQUlMLCB0b3BPcmlnaW4gVEVY
VCBOT1QgTlVMTCBPTiBDT05GTElDVCBGQUlMLCBsYXN0VXBkYXRlQ2hlY2tUaW1lIERPVUJMRSBO
T1QgTlVMTCBPTiBDT05GTElDVCBGQUlMLCB1cGRhdGVWaWFDYWNoZSBURVhUIE5PVCBOVUxMIE9O
IENPTkZMSUNUIEZBSUwsIHNjcmlwdFVSTCBURVhUIE5PVCBOVUxMIE9OIENPTkZMSUNUIEZBSUws
IHNjcmlwdCBURVhUIE5PVCBOVUxMIE9OIENPTkZMSUNUIEZBSUwsIHdvcmtlclR5cGUgVEVYVCBO
T1QgTlVMTCBPTiBDT05GTElDVCBGQUlMLCBjb250ZW50U2VjdXJpdHlQb2xpY3kgQkxPQiBOT1Qg
TlVMTCBPTiBDT05GTElDVCBGQUlMKSIpOwogfQogCiBzdGF0aWMgY29uc3QgU3RyaW5nIHYxUmVj
b3Jkc1RhYmxlU2NoZW1hKCkKQEAgLTExOCw3ICsxMjEsNyBAQCB2b2lkIFJlZ2lzdHJhdGlvbkRh
dGFiYXNlOjpvcGVuU1FMaXRlRGF0YWJhc2UoY29uc3QgU3RyaW5nJiBmdWxsRmlsZW5hbWUpCiAg
ICAgZXJyb3JNZXNzYWdlID0gaW1wb3J0UmVjb3JkcygpOwogICAgIGlmICghZXJyb3JNZXNzYWdl
LmlzTnVsbCgpKQogICAgICAgICByZXR1cm47Ci0gICAgCisKICAgICBzY29wZUV4aXQucmVsZWFz
ZSgpOwogfQogCkBAIC0yNTgsNyArMjYxLDcgQEAgdm9pZCBSZWdpc3RyYXRpb25EYXRhYmFzZTo6
ZG9QdXNoQ2hhbmdlcyhWZWN0b3I8U2VydmljZVdvcmtlckNvbnRleHREYXRhPiYmIGRhdGEKICAg
ICBTUUxpdGVUcmFuc2FjdGlvbiB0cmFuc2FjdGlvbigqbV9kYXRhYmFzZSk7CiAgICAgdHJhbnNh
Y3Rpb24uYmVnaW4oKTsKIAotICAgIFNRTGl0ZVN0YXRlbWVudCBzcWwoKm1fZGF0YWJhc2UsIEFT
Q0lJTGl0ZXJhbCgiSU5TRVJUIElOVE8gUmVjb3JkcyBWQUxVRVMgKD8sID8sID8sID8sID8sID8s
ID8sID8sID8pIikpOworICAgIFNRTGl0ZVN0YXRlbWVudCBzcWwoKm1fZGF0YWJhc2UsIEFTQ0lJ
TGl0ZXJhbCgiSU5TRVJUIElOVE8gUmVjb3JkcyBWQUxVRVMgKD8sID8sID8sID8sID8sID8sID8s
ID8sID8sID8pIikpOwogICAgIGlmIChzcWwucHJlcGFyZSgpICE9IFNRTElURV9PSykgewogICAg
ICAgICBSRUxFQVNFX0xPR19FUlJPUihTZXJ2aWNlV29ya2VyLCAiRmFpbGVkIHRvIHByZXBhcmUg
c3RhdGVtZW50IHRvIHN0b3JlIHJlZ2lzdHJhdGlvbiBkYXRhIGludG8gcmVjb3JkcyB0YWJsZSAo
JWkpIC0gJXMiLCBtX2RhdGFiYXNlLT5sYXN0RXJyb3IoKSwgbV9kYXRhYmFzZS0+bGFzdEVycm9y
TXNnKCkpOwogICAgICAgICByZXR1cm47CkBAIC0yNzcsNiArMjgwLDkgQEAgdm9pZCBSZWdpc3Ry
YXRpb25EYXRhYmFzZTo6ZG9QdXNoQ2hhbmdlcyhWZWN0b3I8U2VydmljZVdvcmtlckNvbnRleHRE
YXRhPiYmIGRhdGEKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9CiAKKyAgICAgICAg
V1RGOjpQZXJzaXN0ZW5jZTo6RW5jb2RlciBlbmNvZGVyOworICAgICAgICBkYXRhLmNvbnRlbnRT
ZWN1cml0eVBvbGljeS5lbmNvZGUoZW5jb2Rlcik7CisKICAgICAgICAgaWYgKHNxbC5iaW5kVGV4
dCgxLCBkYXRhLnJlZ2lzdHJhdGlvbi5rZXkudG9EYXRhYmFzZUtleSgpKSAhPSBTUUxJVEVfT0sK
ICAgICAgICAgICAgIHx8IHNxbC5iaW5kVGV4dCgyLCBkYXRhLnJlZ2lzdHJhdGlvbi5zY29wZVVS
TC5wcm90b2NvbEhvc3RBbmRQb3J0KCkpICE9IFNRTElURV9PSwogICAgICAgICAgICAgfHwgc3Fs
LmJpbmRUZXh0KDMsIGRhdGEucmVnaXN0cmF0aW9uLnNjb3BlVVJMLnBhdGgoKSkgIT0gU1FMSVRF
X09LCkBAIC0yODYsNiArMjkyLDcgQEAgdm9pZCBSZWdpc3RyYXRpb25EYXRhYmFzZTo6ZG9QdXNo
Q2hhbmdlcyhWZWN0b3I8U2VydmljZVdvcmtlckNvbnRleHREYXRhPiYmIGRhdGEKICAgICAgICAg
ICAgIHx8IHNxbC5iaW5kVGV4dCg3LCBkYXRhLnNjcmlwdFVSTC5zdHJpbmcoKSkgIT0gU1FMSVRF
X09LCiAgICAgICAgICAgICB8fCBzcWwuYmluZFRleHQoOCwgZGF0YS5zY3JpcHQpICE9IFNRTElU
RV9PSwogICAgICAgICAgICAgfHwgc3FsLmJpbmRUZXh0KDksIHdvcmtlclR5cGVUb1N0cmluZyhk
YXRhLndvcmtlclR5cGUpKSAhPSBTUUxJVEVfT0sKKyAgICAgICAgICAgIHx8IHNxbC5iaW5kQmxv
YigxMCwgZW5jb2Rlci5idWZmZXIoKSwgZW5jb2Rlci5idWZmZXJTaXplKCkpICE9IFNRTElURV9P
SwogICAgICAgICAgICAgfHwgc3FsLnN0ZXAoKSAhPSBTUUxJVEVfRE9ORSkgewogICAgICAgICAg
ICAgUkVMRUFTRV9MT0dfRVJST1IoU2VydmljZVdvcmtlciwgIkZhaWxlZCB0byBzdG9yZSByZWdp
c3RyYXRpb24gZGF0YSBpbnRvIHJlY29yZHMgdGFibGUgKCVpKSAtICVzIiwgbV9kYXRhYmFzZS0+
bGFzdEVycm9yKCksIG1fZGF0YWJhc2UtPmxhc3RFcnJvck1zZygpKTsKICAgICAgICAgICAgIHJl
dHVybjsKQEAgLTMxOCw2ICszMjUsMTMgQEAgU3RyaW5nIFJlZ2lzdHJhdGlvbkRhdGFiYXNlOjpp
bXBvcnRSZWNvcmRzKCkKICAgICAgICAgYXV0byBzY3JpcHQgPSBzcWwuZ2V0Q29sdW1uVGV4dCg3
KTsKICAgICAgICAgYXV0byB3b3JrZXJUeXBlID0gc3RyaW5nVG9Xb3JrZXJUeXBlKHNxbC5nZXRD
b2x1bW5UZXh0KDgpKTsKIAorICAgICAgICBWZWN0b3I8dWludDhfdD4gY29udGVudFNlY3VyaXR5
UG9saWN5RGF0YTsKKyAgICAgICAgc3FsLmdldENvbHVtbkJsb2JBc1ZlY3Rvcig5LCBjb250ZW50
U2VjdXJpdHlQb2xpY3lEYXRhKTsKKyAgICAgICAgV1RGOjpQZXJzaXN0ZW5jZTo6RGVjb2RlciBk
ZWNvZGVyKGNvbnRlbnRTZWN1cml0eVBvbGljeURhdGEuZGF0YSgpLCBjb250ZW50U2VjdXJpdHlQ
b2xpY3lEYXRhLnNpemUoKSk7CisgICAgICAgIENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNl
SGVhZGVycyBjb250ZW50U2VjdXJpdHlQb2xpY3k7CisgICAgICAgIGlmIChjb250ZW50U2VjdXJp
dHlQb2xpY3lEYXRhLnNpemUoKSAmJiAhQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFk
ZXJzOjpkZWNvZGUoZGVjb2RlciwgY29udGVudFNlY3VyaXR5UG9saWN5KSkKKyAgICAgICAgICAg
IGNvbnRpbnVlOworCiAgICAgICAgIC8vIFZhbGlkYXRlIHRoZSBpbnB1dCBmb3IgdGhpcyByZWdp
c3RyYXRpb24uCiAgICAgICAgIC8vIElmIGFueSBwYXJ0IG9mIHRoaXMgaW5wdXQgaXMgaW52YWxp
ZCwgbGV0J3Mgc2tpcCB0aGlzIHJlZ2lzdHJhdGlvbi4KICAgICAgICAgLy8gRklYTUU6IFNob3Vs
ZCB3ZSByZXR1cm4gYW4gZXJyb3Igc2tpcHBpbmcgKmFsbCogcmVnaXN0cmF0aW9ucz8KQEAgLTMy
OCw3ICszNDIsNyBAQCBTdHJpbmcgUmVnaXN0cmF0aW9uRGF0YWJhc2U6OmltcG9ydFJlY29yZHMo
KQogICAgICAgICBhdXRvIHJlZ2lzdHJhdGlvbklkZW50aWZpZXIgPSBnZW5lcmF0ZU9iamVjdElk
ZW50aWZpZXI8U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXJUeXBlPigpOwogICAg
ICAgICBhdXRvIHNlcnZpY2VXb3JrZXJEYXRhID0gU2VydmljZVdvcmtlckRhdGEgeyB3b3JrZXJJ
ZGVudGlmaWVyLCBzY3JpcHRVUkwsIFNlcnZpY2VXb3JrZXJTdGF0ZTo6QWN0aXZhdGVkLCAqd29y
a2VyVHlwZSwgcmVnaXN0cmF0aW9uSWRlbnRpZmllciB9OwogICAgICAgICBhdXRvIHJlZ2lzdHJh
dGlvbiA9IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhIHsgV1RGTW92ZSgqa2V5KSwgcmVn
aXN0cmF0aW9uSWRlbnRpZmllciwgVVJMKG9yaWdpblVSTCwgc2NvcGVQYXRoKSwgKnVwZGF0ZVZp
YUNhY2hlLCBsYXN0VXBkYXRlQ2hlY2tUaW1lLCBzdGQ6Om51bGxvcHQsIHN0ZDo6bnVsbG9wdCwg
V1RGTW92ZShzZXJ2aWNlV29ya2VyRGF0YSkgfTsKLSAgICAgICAgYXV0byBjb250ZXh0RGF0YSA9
IFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YSB7IHN0ZDo6bnVsbG9wdCwgV1RGTW92ZShyZWdpc3Ry
YXRpb24pLCB3b3JrZXJJZGVudGlmaWVyLCBXVEZNb3ZlKHNjcmlwdCksIFdURk1vdmUoc2NyaXB0
VVJMKSwgKndvcmtlclR5cGUsIHRydWUgfTsKKyAgICAgICAgYXV0byBjb250ZXh0RGF0YSA9IFNl
cnZpY2VXb3JrZXJDb250ZXh0RGF0YSB7IHN0ZDo6bnVsbG9wdCwgV1RGTW92ZShyZWdpc3RyYXRp
b24pLCB3b3JrZXJJZGVudGlmaWVyLCBXVEZNb3ZlKHNjcmlwdCksIFdURk1vdmUoY29udGVudFNl
Y3VyaXR5UG9saWN5KSwgV1RGTW92ZShzY3JpcHRVUkwpLCAqd29ya2VyVHlwZSwgdHJ1ZSB9Owog
CiAgICAgICAgIHBvc3RUYXNrUmVwbHkoY3JlYXRlQ3Jvc3NUaHJlYWRUYXNrKCp0aGlzLCAmUmVn
aXN0cmF0aW9uRGF0YWJhc2U6OmFkZFJlZ2lzdHJhdGlvblRvU3RvcmUsIFdURk1vdmUoY29udGV4
dERhdGEpKSk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2
aWNlL3NlcnZlci9TV1NlcnZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uv
c2VydmVyL1NXU2VydmVyLmNwcAppbmRleCA2OGFkZGVlY2VmNDdiZjdlYTdjNmI3YTFjNDM3ZDRh
Yjc5ZmFiMmIyLi4wZTdiNDIwNzUzMDA2MTAzMjRjZDBlNWI4OWNiYzFlNGYyN2UzZTNmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmNw
cApAQCAtNDMxLDEwICs0MzEsMTAgQEAgdm9pZCBTV1NlcnZlcjo6cmVtb3ZlQ2xpZW50U2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbihDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBTZXIKICAgICByZWdp
c3RyYXRpb24tPnJlbW92ZUNsaWVudFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24oY29ubmVjdGlv
bi5pZGVudGlmaWVyKCkpOwogfQogCi12b2lkIFNXU2VydmVyOjp1cGRhdGVXb3JrZXIoQ29ubmVj
dGlvbiYsIGNvbnN0IFNlcnZpY2VXb3JrZXJKb2JEYXRhSWRlbnRpZmllciYgam9iRGF0YUlkZW50
aWZpZXIsIFNXU2VydmVyUmVnaXN0cmF0aW9uJiByZWdpc3RyYXRpb24sIGNvbnN0IFVSTCYgdXJs
LCBjb25zdCBTdHJpbmcmIHNjcmlwdCwgV29ya2VyVHlwZSB0eXBlKQordm9pZCBTV1NlcnZlcjo6
dXBkYXRlV29ya2VyKENvbm5lY3Rpb24mLCBjb25zdCBTZXJ2aWNlV29ya2VySm9iRGF0YUlkZW50
aWZpZXImIGpvYkRhdGFJZGVudGlmaWVyLCBTV1NlcnZlclJlZ2lzdHJhdGlvbiYgcmVnaXN0cmF0
aW9uLCBjb25zdCBVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBzY3JpcHQsIGNvbnN0IENvbnRlbnRT
ZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYgY29udGVudFNlY3VyaXR5UG9saWN5LCBXb3Jr
ZXJUeXBlIHR5cGUpCiB7CiAgICAgcmVnaXN0cmF0aW9uLnNldExhc3RVcGRhdGVUaW1lKFdhbGxU
aW1lOjpub3coKSk7Ci0gICAgdHJ5SW5zdGFsbENvbnRleHREYXRhKHsgam9iRGF0YUlkZW50aWZp
ZXIsIHJlZ2lzdHJhdGlvbi5kYXRhKCksIGdlbmVyYXRlT2JqZWN0SWRlbnRpZmllcjxTZXJ2aWNl
V29ya2VySWRlbnRpZmllclR5cGU+KCksIHNjcmlwdCwgdXJsLCB0eXBlLCBmYWxzZSB9KTsKKyAg
ICB0cnlJbnN0YWxsQ29udGV4dERhdGEoeyBqb2JEYXRhSWRlbnRpZmllciwgcmVnaXN0cmF0aW9u
LmRhdGEoKSwgZ2VuZXJhdGVPYmplY3RJZGVudGlmaWVyPFNlcnZpY2VXb3JrZXJJZGVudGlmaWVy
VHlwZT4oKSwgc2NyaXB0LCBjb250ZW50U2VjdXJpdHlQb2xpY3ksIHVybCwgdHlwZSwgZmFsc2Ug
fSk7CiB9CiAKIHZvaWQgU1dTZXJ2ZXI6OnRyeUluc3RhbGxDb250ZXh0RGF0YShTZXJ2aWNlV29y
a2VyQ29udGV4dERhdGEmJiBkYXRhKQpAQCAtNDc4LDcgKzQ3OCw3IEBAIHZvaWQgU1dTZXJ2ZXI6
Omluc3RhbGxDb250ZXh0RGF0YShjb25zdCBTZXJ2aWNlV29ya2VyQ29udGV4dERhdGEmIGRhdGEp
CiAgICAgYXV0byogcmVnaXN0cmF0aW9uID0gbV9yZWdpc3RyYXRpb25zLmdldChkYXRhLnJlZ2lz
dHJhdGlvbi5rZXkpOwogICAgIFJFTEVBU0VfQVNTRVJUKHJlZ2lzdHJhdGlvbik7CiAKLSAgICBh
dXRvIHdvcmtlciA9IFNXU2VydmVyV29ya2VyOjpjcmVhdGUoKnRoaXMsICpyZWdpc3RyYXRpb24s
IGNvbm5lY3Rpb24tPmlkZW50aWZpZXIoKSwgZGF0YS5zY3JpcHRVUkwsIGRhdGEuc2NyaXB0LCBk
YXRhLndvcmtlclR5cGUsIGRhdGEuc2VydmljZVdvcmtlcklkZW50aWZpZXIpOworICAgIGF1dG8g
d29ya2VyID0gU1dTZXJ2ZXJXb3JrZXI6OmNyZWF0ZSgqdGhpcywgKnJlZ2lzdHJhdGlvbiwgY29u
bmVjdGlvbi0+aWRlbnRpZmllcigpLCBkYXRhLnNjcmlwdFVSTCwgZGF0YS5zY3JpcHQsIGRhdGEu
Y29udGVudFNlY3VyaXR5UG9saWN5LCBkYXRhLndvcmtlclR5cGUsIGRhdGEuc2VydmljZVdvcmtl
cklkZW50aWZpZXIpOwogCiAgICAgLy8gV2UgZG9uJ3QgaW1tZWRpYXRlbHkgbGF1bmNoIGFsbCB3
b3JrZXJzIHRoYXQgd2VyZSBqdXN0IHJlYWQgaW4gZnJvbSBkaXNrLAogICAgIC8vIGFzIGl0IGlz
IHVubGlrZWx5IHRoZXkgd2lsbCBiZSBuZWVkZWQgaW1tZWRpYXRlbHkuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmggYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmgKaW5kZXggNjZkNmU1ZWUx
YjA4ZWNmMmU3Mzk1YzE5N2JkMjlmNzczZmMzZjU1Zi4uNGQ4MDc3Njc3MGY5MTQ1MGZhYWUwZjMx
YjYzMDBkMDJkNGE4MDE1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2
aWNlL3NlcnZlci9TV1NlcnZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vydmlj
ZS9zZXJ2ZXIvU1dTZXJ2ZXIuaApAQCAtMTQwLDcgKzE0MCw3IEBAIHB1YmxpYzoKICAgICB2b2lk
IHBvc3RUYXNrKENyb3NzVGhyZWFkVGFzayYmKTsKICAgICB2b2lkIHBvc3RUYXNrUmVwbHkoQ3Jv
c3NUaHJlYWRUYXNrJiYpOwogCi0gICAgdm9pZCB1cGRhdGVXb3JrZXIoQ29ubmVjdGlvbiYsIGNv
bnN0IFNlcnZpY2VXb3JrZXJKb2JEYXRhSWRlbnRpZmllciYsIFNXU2VydmVyUmVnaXN0cmF0aW9u
JiwgY29uc3QgVVJMJiwgY29uc3QgU3RyaW5nJiBzY3JpcHQsIFdvcmtlclR5cGUpOworICAgIHZv
aWQgdXBkYXRlV29ya2VyKENvbm5lY3Rpb24mLCBjb25zdCBTZXJ2aWNlV29ya2VySm9iRGF0YUlk
ZW50aWZpZXImLCBTV1NlcnZlclJlZ2lzdHJhdGlvbiYsIGNvbnN0IFVSTCYsIGNvbnN0IFN0cmlu
ZyYgc2NyaXB0LCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmLCBX
b3JrZXJUeXBlKTsKICAgICB2b2lkIHRlcm1pbmF0ZVdvcmtlcihTV1NlcnZlcldvcmtlciYpOwog
ICAgIHZvaWQgc3luY1Rlcm1pbmF0ZVdvcmtlcihTV1NlcnZlcldvcmtlciYpOwogICAgIHZvaWQg
ZmlyZUluc3RhbGxFdmVudChTV1NlcnZlcldvcmtlciYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlckpvYlF1ZXVlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJKb2JRdWV1ZS5jcHAKaW5k
ZXggOGViYTdhMGZlOTJmNDgzYTRlNDE3OWQzZDA5MTQxNTI2NTQzY2JkYy4uYmQ4ZTIwMGVkYTg5
NjhiMTI3YzM2OGZhOGE5YWE0ZDI4NGRlNDVjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlckpvYlF1ZXVlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVySm9iUXVldWUuY3BwCkBAIC05
Niw3ICs5Niw3IEBAIHZvaWQgU1dTZXJ2ZXJKb2JRdWV1ZTo6c2NyaXB0RmV0Y2hGaW5pc2hlZChT
V1NlcnZlcjo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgY29uCiAgICAgfQogCiAgICAgLy8gRklY
TUU6IFN1cHBvcnQgdGhlIHByb3BlciB3b3JrZXIgdHlwZSAoY2xhc3NpYyB2cyBtb2R1bGUpCi0g
ICAgbV9zZXJ2ZXIudXBkYXRlV29ya2VyKGNvbm5lY3Rpb24sIGpvYi5pZGVudGlmaWVyKCksICpy
ZWdpc3RyYXRpb24sIGpvYi5zY3JpcHRVUkwsIHJlc3VsdC5zY3JpcHQsIFdvcmtlclR5cGU6OkNs
YXNzaWMpOworICAgIG1fc2VydmVyLnVwZGF0ZVdvcmtlcihjb25uZWN0aW9uLCBqb2IuaWRlbnRp
ZmllcigpLCAqcmVnaXN0cmF0aW9uLCBqb2Iuc2NyaXB0VVJMLCByZXN1bHQuc2NyaXB0LCByZXN1
bHQuY29udGVudFNlY3VyaXR5UG9saWN5LCBXb3JrZXJUeXBlOjpDbGFzc2ljKTsKIH0KIAogLy8g
aHR0cHM6Ly93M2MuZ2l0aHViLmlvL1NlcnZpY2VXb3JrZXIvI3VwZGF0ZS1hbGdvcml0aG0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJX
b3JrZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZl
cldvcmtlci5jcHAKaW5kZXggZjhlZTJkZWQyMDU1Y2YwN2RlMjFiMWVlMWVmMDRiZDA4YzFhNzU4
ZC4uZmY0MjU1MTVjNGNkNzU0YjMzODcyODFiNWNiYjI3YzBkYmY3NmVkZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlcldvcmtlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlcldvcmtl
ci5jcHAKQEAgLTQzLDEyICs0MywxNCBAQCBTV1NlcnZlcldvcmtlciogU1dTZXJ2ZXJXb3JrZXI6
OmV4aXN0aW5nV29ya2VyRm9ySWRlbnRpZmllcihTZXJ2aWNlV29ya2VySWRlbnRpZgogICAgIHJl
dHVybiBhbGxXb3JrZXJzKCkuZ2V0KGlkZW50aWZpZXIpOwogfQogCi1TV1NlcnZlcldvcmtlcjo6
U1dTZXJ2ZXJXb3JrZXIoU1dTZXJ2ZXImIHNlcnZlciwgU1dTZXJ2ZXJSZWdpc3RyYXRpb24mIHJl
Z2lzdHJhdGlvbiwgU1dTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uSWRlbnRpZmllciBjb250ZXh0
Q29ubmVjdGlvbklkZW50aWZpZXIsIGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcm
IHNjcmlwdCwgV29ya2VyVHlwZSB0eXBlLCBTZXJ2aWNlV29ya2VySWRlbnRpZmllciBpZGVudGlm
aWVyKQorLy8gRklYTUU6IFVzZSByLXZhbHVlIHJlZmVyZW5jZXMgZm9yIHNjcmlwdCBhbmQgY29u
dGVudFNlY3VyaXR5UG9saWN5CitTV1NlcnZlcldvcmtlcjo6U1dTZXJ2ZXJXb3JrZXIoU1dTZXJ2
ZXImIHNlcnZlciwgU1dTZXJ2ZXJSZWdpc3RyYXRpb24mIHJlZ2lzdHJhdGlvbiwgU1dTZXJ2ZXJU
b0NvbnRleHRDb25uZWN0aW9uSWRlbnRpZmllciBjb250ZXh0Q29ubmVjdGlvbklkZW50aWZpZXIs
IGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIHNjcmlwdCwgY29uc3QgQ29udGVu
dFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJpdHlQb2xpY3ksIFdv
cmtlclR5cGUgdHlwZSwgU2VydmljZVdvcmtlcklkZW50aWZpZXIgaWRlbnRpZmllcikKICAgICA6
IG1fc2VydmVyKHNlcnZlcikKICAgICAsIG1fcmVnaXN0cmF0aW9uS2V5KHJlZ2lzdHJhdGlvbi5r
ZXkoKSkKICAgICAsIG1fY29udGV4dENvbm5lY3Rpb25JZGVudGlmaWVyKGNvbnRleHRDb25uZWN0
aW9uSWRlbnRpZmllcikKICAgICAsIG1fZGF0YSB7IGlkZW50aWZpZXIsIHNjcmlwdFVSTCwgU2Vy
dmljZVdvcmtlclN0YXRlOjpSZWR1bmRhbnQsIHR5cGUsIHJlZ2lzdHJhdGlvbi5pZGVudGlmaWVy
KCkgfQogICAgICwgbV9zY3JpcHQoc2NyaXB0KQorICAgICwgbV9jb250ZW50U2VjdXJpdHlQb2xp
Y3koY29udGVudFNlY3VyaXR5UG9saWN5KQogewogICAgIG1fZGF0YS5zY3JpcHRVUkwucmVtb3Zl
RnJhZ21lbnRJZGVudGlmaWVyKCk7CiAKQEAgLTY5LDcgKzcxLDcgQEAgU2VydmljZVdvcmtlckNv
bnRleHREYXRhIFNXU2VydmVyV29ya2VyOjpjb250ZXh0RGF0YSgpIGNvbnN0CiAgICAgYXV0byog
cmVnaXN0cmF0aW9uID0gbV9zZXJ2ZXIuZ2V0UmVnaXN0cmF0aW9uKG1fcmVnaXN0cmF0aW9uS2V5
KTsKICAgICBBU1NFUlQocmVnaXN0cmF0aW9uKTsKIAotICAgIHJldHVybiB7IHN0ZDo6bnVsbG9w
dCwgcmVnaXN0cmF0aW9uLT5kYXRhKCksIG1fZGF0YS5pZGVudGlmaWVyLCBtX3NjcmlwdCwgbV9k
YXRhLnNjcmlwdFVSTCwgbV9kYXRhLnR5cGUsIGZhbHNlIH07CisgICAgcmV0dXJuIHsgc3RkOjpu
dWxsb3B0LCByZWdpc3RyYXRpb24tPmRhdGEoKSwgbV9kYXRhLmlkZW50aWZpZXIsIG1fc2NyaXB0
LCBtX2NvbnRlbnRTZWN1cml0eVBvbGljeSwgbV9kYXRhLnNjcmlwdFVSTCwgbV9kYXRhLnR5cGUs
IGZhbHNlIH07CiB9CiAKIHZvaWQgU1dTZXJ2ZXJXb3JrZXI6OnRlcm1pbmF0ZSgpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyV29ya2Vy
LmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyV29ya2Vy
LmgKaW5kZXggMzhjMTEyOWQ5YzVlMDRjYjI3ZGNjZDBiM2QzYjBiMDY1N2M4OTFhNi4uYjQyOWI4
ZTgzMTkwMTdkMTQzYzU0YmNjN2ZiMzIxZTBjYWIzY2I5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlcldvcmtlci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJXb3JrZXIuaApAQCAtMTA0
LDcgKzEwNCw3IEBAIHB1YmxpYzoKICAgICBjb25zdCBDbGllbnRPcmlnaW4mIG9yaWdpbigpIGNv
bnN0OwogCiBwcml2YXRlOgotICAgIFNXU2VydmVyV29ya2VyKFNXU2VydmVyJiwgU1dTZXJ2ZXJS
ZWdpc3RyYXRpb24mLCBTV1NlcnZlclRvQ29udGV4dENvbm5lY3Rpb25JZGVudGlmaWVyLCBjb25z
dCBVUkwmLCBjb25zdCBTdHJpbmcmIHNjcmlwdCwgV29ya2VyVHlwZSwgU2VydmljZVdvcmtlcklk
ZW50aWZpZXIpOworICAgIFNXU2VydmVyV29ya2VyKFNXU2VydmVyJiwgU1dTZXJ2ZXJSZWdpc3Ry
YXRpb24mLCBTV1NlcnZlclRvQ29udGV4dENvbm5lY3Rpb25JZGVudGlmaWVyLCBjb25zdCBVUkwm
LCBjb25zdCBTdHJpbmcmIHNjcmlwdCwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9u
c2VIZWFkZXJzJiwgIFdvcmtlclR5cGUsIFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyKTsKIAogICAg
IHZvaWQgY2FsbFdoZW5BY3RpdmF0ZWRIYW5kbGVyKGJvb2wgc3VjY2Vzcyk7CiAKQEAgLTExMyw2
ICsxMTMsNyBAQCBwcml2YXRlOgogICAgIFNXU2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbklkZW50
aWZpZXIgbV9jb250ZXh0Q29ubmVjdGlvbklkZW50aWZpZXI7CiAgICAgU2VydmljZVdvcmtlckRh
dGEgbV9kYXRhOwogICAgIFN0cmluZyBtX3NjcmlwdDsKKyAgICBDb250ZW50U2VjdXJpdHlQb2xp
Y3lSZXNwb25zZUhlYWRlcnMgbV9jb250ZW50U2VjdXJpdHlQb2xpY3k7CiAgICAgYm9vbCBtX2hh
c1BlbmRpbmdFdmVudHMgeyBmYWxzZSB9OwogICAgIFN0YXRlIG1fc3RhdGUgeyBTdGF0ZTo6Tm90
UnVubmluZyB9OwogICAgIG11dGFibGUgc3RkOjpvcHRpb25hbDxDbGllbnRPcmlnaW4+IG1fb3Jp
Z2luOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggNjViZDcyMDM5OGM4MmMyZWNi
MjEwMTBjN2NkNjJmZThmNjdlOWJkZS4uZDkyMjVjNzM0YTQ0M2MzYTQ1Mzc1YWNjNmExMzNlMWRi
NWE2ZGRjYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAK
KzIwMTgtMDEtMDggIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAg
IEFkZCBDU1Agc3VwcG9ydCB0byBzZXJ2aWNlIHdvcmtlcnMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MTM4NQorCisgICAgICAgIFJldmlld2VkIGJ5
IENocmlzIER1bWV6LgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9zZXJ2aWNlLXdvcmtlci1jc3AtY29ubmVjdC5odHRwcy1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9zZXJ2aWNlLXdvcmtlci1jc3AtZGVmYXVsdC5odHRwcy1leHBlY3RlZC50
eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9zZXJ2aWNlLXdvcmtlci1jc3Atc2NyaXB0Lmh0dHBzLWV4cGVjdGVkLnR4dDoKKwog
MjAxOC0wMS0wOCAgTXMyZ2VyICA8TXMyZ2VyQGlnYWxpYS5jb20+CiAKICAgICAgICAgVXBkYXRl
IGltYWdlYml0bWFwIHRlc3RzLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvc2Vydmlj
ZS13b3JrZXItY3NwLWNvbm5lY3QuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvc2VydmljZS13b3JrZXItY3NwLWNvbm5lY3QuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IDBi
YTM2NGM2MzgzZTI4NzZkNDQ0MGQ3Y2VlMzdkMmE3MzQ4YmI1ODkuLmY2MWQyNjI3MGIzNjFiOWEy
MGQ5MDk5MjNkM2MzNTY2ZmZhOGMwZGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Nl
cnZpY2Utd29ya2VyLWNzcC1jb25uZWN0Lmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci9zZXJ2aWNlLXdvcmtlci1jc3AtY29ubmVjdC5odHRwcy1leHBlY3RlZC50eHQK
QEAgLTEsNiArMSw2IEBACiAKIFBBU1MgQ1NQIHRlc3QgZm9yIGNvbm5lY3Qtc3JjIGluIFNlcnZp
Y2VXb3JrZXJHbG9iYWxTY29wZSAKIFBBU1MgaW1wb3J0U2NyaXB0cyB0ZXN0IGZvciBjb25uZWN0
LXNyYyAKLUZBSUwgRmV0Y2ggdGVzdCBmb3IgY29ubmVjdC1zcmMgYXNzZXJ0X3VucmVhY2hlZDog
dW5leHBlY3RlZCByZWplY3Rpb246IGFzc2VydF91bnJlYWNoZWQ6IGZldGNoIHNob3VsZCBmYWls
LiBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCi1GQUlM
IFJlZGlyZWN0ZWQgZmV0Y2ggdGVzdCBmb3IgY29ubmVjdC1zcmMgYXNzZXJ0X3VucmVhY2hlZDog
dW5leHBlY3RlZCByZWplY3Rpb246IGFzc2VydF91bnJlYWNoZWQ6IFJlZGlyZWN0ZWQgZmV0Y2gg
c2hvdWxkIGZhaWwuIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZSBSZWFjaGVkIHVucmVhY2hhYmxl
IGNvZGUKK1BBU1MgRmV0Y2ggdGVzdCBmb3IgY29ubmVjdC1zcmMgCitQQVNTIFJlZGlyZWN0ZWQg
ZmV0Y2ggdGVzdCBmb3IgY29ubmVjdC1zcmMgCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL3NlcnZpY2Utd29ya2VyLWNzcC1kZWZhdWx0Lmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL3NlcnZpY2Utd29ya2VyLWNzcC1kZWZhdWx0Lmh0dHBzLWV4cGVjdGVkLnR4
dAppbmRleCA5YTAzMzA2MWQ5MjE0YzliNzkxOWZkOTk0NzgyMGIyYjMxOGFkOTkxLi5mNDE4Y2I4
MzViY2FkZWFiM2Q4ZTQ1OTBmNmVmMGJlYjQ5YzQ2YWJlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9zZXJ2aWNlLXdvcmtlci1jc3AtZGVmYXVsdC5odHRwcy1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvc2VydmljZS13b3JrZXItY3NwLWRlZmF1bHQuaHR0cHMtZXhw
ZWN0ZWQudHh0CkBAIC0xLDYgKzEsNiBAQAogCiBQQVNTIENTUCB0ZXN0IGZvciBkZWZhdWx0LXNy
YyBpbiBTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUgCi1GQUlMIGltcG9ydFNjcmlwdHMgdGVzdCBm
b3IgZGVmYXVsdC1zcmMgYXNzZXJ0X3RydWU6IEltcG9ydGluZyB0aGUgb3RoZXIgb3JpZ2lucyBz
Y3JpcHQgc2hvdWxkIGZhaWwuIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIEZldGNoIHRl
c3QgZm9yIGRlZmF1bHQtc3JjIGFzc2VydF91bnJlYWNoZWQ6IHVuZXhwZWN0ZWQgcmVqZWN0aW9u
OiBhc3NlcnRfdW5yZWFjaGVkOiBmZXRjaCBzaG91bGQgZmFpbC4gUmVhY2hlZCB1bnJlYWNoYWJs
ZSBjb2RlIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQotRkFJTCBSZWRpcmVjdGVkIGZldGNoIHRl
c3QgZm9yIGRlZmF1bHQtc3JjIGFzc2VydF91bnJlYWNoZWQ6IHVuZXhwZWN0ZWQgcmVqZWN0aW9u
OiBhc3NlcnRfdW5yZWFjaGVkOiBSZWRpcmVjdGVkIGZldGNoIHNob3VsZCBmYWlsLiBSZWFjaGVk
IHVucmVhY2hhYmxlIGNvZGUgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCitQQVNTIGltcG9ydFNj
cmlwdHMgdGVzdCBmb3IgZGVmYXVsdC1zcmMgCitQQVNTIEZldGNoIHRlc3QgZm9yIGRlZmF1bHQt
c3JjIAorUEFTUyBSZWRpcmVjdGVkIGZldGNoIHRlc3QgZm9yIGRlZmF1bHQtc3JjIAogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9zZXJ2aWNlLXdvcmtlci1jc3Atc2NyaXB0Lmh0dHBz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3NlcnZpY2Utd29ya2VyLWNzcC1zY3Jp
cHQuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IDcxNjE1OTM3NjFmZTljZjhkZjc3NmEyMDNkMjJi
NTMxZWY1YzM4M2EuLmQzN2E3YjVkN2IzZTMxYmJmNTBmNmVjYTFlY2RiYWVmZWI4NWU4N2EgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3NlcnZpY2Utd29ya2VyLWNzcC1zY3JpcHQuaHR0
cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3NlcnZpY2Utd29ya2VyLWNz
cC1zY3JpcHQuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDYgKzEsNiBAQAogCiBQQVNTIENTUCB0
ZXN0IGZvciBzY3JpcHQtc3JjIGluIFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZSAKLUZBSUwgaW1w
b3J0U2NyaXB0cyB0ZXN0IGZvciBzY3JpcHQtc3JjIGFzc2VydF90cnVlOiBJbXBvcnRpbmcgdGhl
IG90aGVyIG9yaWdpbnMgc2NyaXB0IHNob3VsZCBmYWlsLiBleHBlY3RlZCB0cnVlIGdvdCBmYWxz
ZQorUEFTUyBpbXBvcnRTY3JpcHRzIHRlc3QgZm9yIHNjcmlwdC1zcmMgCiBQQVNTIEZldGNoIHRl
c3QgZm9yIHNjcmlwdC1zcmMgCiBQQVNTIFJlZGlyZWN0ZWQgZmV0Y2ggdGVzdCBmb3Igc2NyaXB0
LXNyYyAKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>330814</attachid>
            <date>2018-01-09 05:23:51 -0800</date>
            <delta_ts>2018-01-09 05:57:28 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-181385-20180109142349.patch</filename>
            <type>text/plain</type>
            <size>34962</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI2NjIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjQ4MmMxNTgyNmMzNTVh
M2M3ZTAwZGNmNDVkMWQ3YmU5MDU3ZjcwYy4uMmNjYzliYWYwZWVjYjI3ZjFiNTNiMDdhOGQ3OGFj
NTFlMTJjMzZlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY0IEBACisyMDE4LTAxLTA5ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgQ1NQIHN1cHBvcnQg
dG8gc2VydmljZSB3b3JrZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xODEzODUKKworICAgICAgICBSZXZpZXdlZCBieSBDaHJpcyBEdW1lei4KKwor
ICAgICAgICBDb3ZlcmVkIGJ5IHJlYmFzZWQgdGVzdHMuCisKKyAgICAgICAgQWRkZWQgcmVjb3Zl
cnkgb2YgQ1NQIGluZm9ybWF0aW9uIGZyb20gV29ya2VyU2NyaXB0TG9hZGVyLgorICAgICAgICBB
ZGRlZCBwbHVtYmluZyB0byBwYXNzIHRoZSBDU1AgaW5mb3JtYXRpb24gdG8gU2VydmljZSBXb3Jr
ZXJzLgorICAgICAgICBEaWQgbm90IGFkZCBwZXJzaXN0ZW5jeSBzdXBwb3J0IGZvciB0aGUgQ1NQ
IGluZm9ybWF0aW9uIGFzIHRoaXMgcmVxdWlyZXMgY2hhbmdpbmcgdGhlIFNRTCBkYXRhYmFzZSBz
Y2hlbWEuCisgICAgICAgIFRoaXMgd2lsbCBiZSBkb25lIGluIGEgZm9sbG93LXVwLgorCisgICAg
ICAgICogd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
V29ya2VyU2NyaXB0TG9hZGVyOjpsb2FkQXN5bmNocm9ub3VzbHkpOgorICAgICAgICAoV2ViQ29y
ZTo6V29ya2VyU2NyaXB0TG9hZGVyOjpkaWRSZWNlaXZlUmVzcG9uc2UpOgorICAgICAgICAqIHdv
cmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmg6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJTY3Jp
cHRMb2FkZXI6OmNvbnRlbnRTZWN1cml0eVBvbGljeSBjb25zdCk6CisgICAgICAgICogd29ya2Vy
cy9zZXJ2aWNlL1NXQ2xpZW50Q29ubmVjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTV0Ns
aWVudENvbm5lY3Rpb246OmZpbmlzaGVkRmV0Y2hpbmdTY3JpcHQpOgorICAgICAgICAoV2ViQ29y
ZTo6U1dDbGllbnRDb25uZWN0aW9uOjpmYWlsZWRGZXRjaGluZ1NjcmlwdCk6CisgICAgICAgICog
d29ya2Vycy9zZXJ2aWNlL1NXQ2xpZW50Q29ubmVjdGlvbi5oOgorICAgICAgICAqIHdvcmtlcnMv
c2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNl
cnZpY2VXb3JrZXJDb250YWluZXI6OmFkZFJlZ2lzdHJhdGlvbik6CisgICAgICAgIChXZWJDb3Jl
OjpTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjpqb2JGYWlsZWRXaXRoRXhjZXB0aW9uKToKKyAgICAg
ICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDb250YWluZXI6OmpvYlJlc29sdmVkV2l0aFJlZ2lz
dHJhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjpqb2JG
aW5pc2hlZExvYWRpbmdTY3JpcHQpOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNl
V29ya2VyQ29udGFpbmVyLmg6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3Jr
ZXJDb250ZXh0RGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ29udGV4
dERhdGE6Omlzb2xhdGVkQ29weSBjb25zdCk6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1Nl
cnZpY2VXb3JrZXJDb250ZXh0RGF0YS5oOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtl
ckNvbnRleHREYXRhOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdv
cmtlckNvbnRleHREYXRhOjpkZWNvZGUpOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2
aWNlV29ya2VyRmV0Y2hSZXN1bHQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJG
ZXRjaFJlc3VsdDo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3Jr
ZXJGZXRjaFJlc3VsdDo6ZGVjb2RlKToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2Vydmlj
ZVdvcmtlckdsb2JhbFNjb3BlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJH
bG9iYWxTY29wZTo6Y3JlYXRlKToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdv
cmtlckdsb2JhbFNjb3BlLmg6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3Jr
ZXJKb2IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlckpvYjo6bm90aWZ5Rmlu
aXNoZWQpOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VySm9iQ2xpZW50
Lmg6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlclRocmVh
ZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyVGhyZWFkOjpTZXJ2aWNlV29y
a2VyVGhyZWFkKToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJUaHJlYWQ6OmNyZWF0
ZVdvcmtlckdsb2JhbFNjb3BlKToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1Jl
Z2lzdHJhdGlvbkRhdGFiYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnYxUmVjb3Jkc1RhYmxl
U2NoZW1hKToKKyAgICAgICAgKFdlYkNvcmU6OlJlZ2lzdHJhdGlvbkRhdGFiYXNlOjppbXBvcnRS
ZWNvcmRzKToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlNXU2VydmVyOjp1cGRhdGVXb3JrZXIpOgorICAgICAgICAoV2Vi
Q29yZTo6U1dTZXJ2ZXI6Omluc3RhbGxDb250ZXh0RGF0YSk6CisgICAgICAgICogd29ya2Vycy9z
ZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9zZXJ2
ZXIvU1dTZXJ2ZXJKb2JRdWV1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTV1NlcnZlckpvYlF1
ZXVlOjpzY3JpcHRGZXRjaEZpbmlzaGVkKToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2Uvc2Vy
dmVyL1NXU2VydmVyV29ya2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNXU2VydmVyV29ya2Vy
OjpTV1NlcnZlcldvcmtlcik6CisgICAgICAgIChXZWJDb3JlOjptX2NvbnRlbnRTZWN1cml0eVBv
bGljeSk6CisgICAgICAgIChXZWJDb3JlOjpTV1NlcnZlcldvcmtlcjo6Y29udGV4dERhdGEgY29u
c3QpOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJXb3JrZXIuaDoK
KwogMjAxOC0wMS0wOSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAg
ICAgU1dDbGllbnRDb25uZWN0aW9uIHNob3VsZCBub3Qga2VlcCByZWZlcmVuY2VzIHRvIHNlcnZp
Y2Ugd29ya2VyIGpvYnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
U2NyaXB0TG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9h
ZGVyLmNwcAppbmRleCAxNjIzMWJmYWNlYjYwOTM2ZTQ1MTEyYTY5OTQwZDVjZWI1Y2E1YzQzLi5k
ZTg4NDIzYWQzZTE4YjllZDQyY2RlNmM2MTUzZGYwOGQ5MGYxOTg4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuY3BwCkBAIC0xMzQsNiArMTM0LDcgQEAg
dm9pZCBXb3JrZXJTY3JpcHRMb2FkZXI6OmRpZFJlY2VpdmVSZXNwb25zZSh1bnNpZ25lZCBsb25n
IGlkZW50aWZpZXIsIGNvbnN0IFJlc28KICAgICBtX3Jlc3BvbnNlVVJMID0gcmVzcG9uc2UudXJs
KCk7CiAgICAgbV9yZXNwb25zZU1JTUVUeXBlID0gcmVzcG9uc2UubWltZVR5cGUoKTsKICAgICBt
X3Jlc3BvbnNlRW5jb2RpbmcgPSByZXNwb25zZS50ZXh0RW5jb2RpbmdOYW1lKCk7CisgICAgbV9j
b250ZW50U2VjdXJpdHlQb2xpY3kgPSBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRl
cnMgeyByZXNwb25zZSB9OwogICAgIGlmIChtX2NsaWVudCkKICAgICAgICAgbV9jbGllbnQtPmRp
ZFJlY2VpdmVSZXNwb25zZShpZGVudGlmaWVyLCByZXNwb25zZSk7CiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5oIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuaAppbmRleCAwYjhmMmM1YmJkMjI2ZGUxOTc4
MjZmNTc2Y2RiZDYyM2U4MTRhZTI4Li5hMDBmYzU3YmQyMzQ5MWQ4Yjg5ZmE4MzMwYjA1NzFhMTdi
NmNjMzYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExv
YWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmgK
QEAgLTI2LDYgKzI2LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKKyNpbmNsdWRlICJDb250ZW50U2Vj
dXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMuaCIKICNpbmNsdWRlICJSZXNvdXJjZUVycm9yLmgi
CiAjaW5jbHVkZSAiUmVzb3VyY2VSZXF1ZXN0LmgiCiAjaW5jbHVkZSAiVGhyZWFkYWJsZUxvYWRl
ci5oIgpAQCAtNTgsNiArNTksNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBub3RpZnlFcnJvcigpOwog
CiAgICAgU3RyaW5nIHNjcmlwdCgpOworICAgIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJl
c3BvbnNlSGVhZGVycyYgY29udGVudFNlY3VyaXR5UG9saWN5KCkgY29uc3QgeyByZXR1cm4gbV9j
b250ZW50U2VjdXJpdHlQb2xpY3k7IH0KICAgICBjb25zdCBVUkwmIHVybCgpIGNvbnN0IHsgcmV0
dXJuIG1fdXJsOyB9CiAgICAgY29uc3QgVVJMJiByZXNwb25zZVVSTCgpIGNvbnN0OwogICAgIGNv
bnN0IFN0cmluZyYgcmVzcG9uc2VNSU1FVHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fcmVzcG9uc2VN
SU1FVHlwZTsgfQpAQCAtODksNiArOTEsNyBAQCBwcml2YXRlOgogICAgIFVSTCBtX3VybDsKICAg
ICBVUkwgbV9yZXNwb25zZVVSTDsKICAgICBTdHJpbmcgbV9yZXNwb25zZU1JTUVUeXBlOworICAg
IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyBtX2NvbnRlbnRTZWN1cml0eVBv
bGljeTsKICAgICB1bnNpZ25lZCBsb25nIG1faWRlbnRpZmllciB7IDAgfTsKICAgICBib29sIG1f
ZmFpbGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1fZmluaXNoaW5nIHsgZmFsc2UgfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TV0NsaWVudENvbm5lY3Rpb24u
Y3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NXQ2xpZW50Q29ubmVjdGlvbi5j
cHAKaW5kZXggZjkzMWYzNzg4N2RmZDRjZmNhYzMzNDY5ZDRiZWU2YzBhYmE4MTFkZS4uNzcwNWIw
NDE2NjViZWFiNmZmNTM0Y2UwODNjOGYwZGM2OTJmZmQ3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NXQ2xpZW50Q29ubmVjdGlvbi5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NXQ2xpZW50Q29ubmVjdGlvbi5jcHAKQEAgLTU5LDcg
KzU5LDcgQEAgdm9pZCBTV0NsaWVudENvbm5lY3Rpb246OmZhaWxlZEZldGNoaW5nU2NyaXB0KFNl
cnZpY2VXb3JrZXJKb2JJZGVudGlmaWVyIGpvYklkZW4KIHsKICAgICBBU1NFUlQoaXNNYWluVGhy
ZWFkKCkpOwogCi0gICAgZmluaXNoRmV0Y2hpbmdTY3JpcHRJblNlcnZlcih7IHsgc2VydmVyQ29u
bmVjdGlvbklkZW50aWZpZXIoKSwgam9iSWRlbnRpZmllciB9LCByZWdpc3RyYXRpb25LZXksIHsg
fSwgZXJyb3IgfSk7CisgICAgZmluaXNoRmV0Y2hpbmdTY3JpcHRJblNlcnZlcih7IHsgc2VydmVy
Q29ubmVjdGlvbklkZW50aWZpZXIoKSwgam9iSWRlbnRpZmllciB9LCByZWdpc3RyYXRpb25LZXks
IHsgfSwgeyB9LCBlcnJvciB9KTsKIH0KIAogYm9vbCBTV0NsaWVudENvbm5lY3Rpb246OnBvc3RU
YXNrRm9ySm9iKFNlcnZpY2VXb3JrZXJKb2JJZGVudGlmaWVyIGpvYklkZW50aWZpZXIsIElzSm9i
Q29tcGxldGUgaXNKb2JDb21wbGV0ZSwgV1RGOjpGdW5jdGlvbjx2b2lkKFNlcnZpY2VXb3JrZXJK
b2ImKT4mJiB0YXNrKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L1NlcnZpY2VXb3JrZXJDb250YWluZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2
aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuY3BwCmluZGV4IDI3ZGQ4ZjNjMTg3OWEyYmI3NzQ2
MDU2ZDM3MDQ2MTFkZmVhMWJiNTUuLjE1N2JmZDAwYzk0OTMxMzAwYzY2ZDA1OGY2MjMwYTJiZDQ3
MTA1N2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNl
V29ya2VyQ29udGFpbmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uv
U2VydmljZVdvcmtlckNvbnRhaW5lci5jcHAKQEAgLTQ3MCw3ICs0NzAsNyBAQCB2b2lkIFNlcnZp
Y2VXb3JrZXJDb250YWluZXI6OnN0YXJ0U2NyaXB0RmV0Y2hGb3JKb2IoU2VydmljZVdvcmtlckpv
YiYgam9iLCBGZXRjaAogICAgIGpvYi5mZXRjaFNjcmlwdFdpdGhDb250ZXh0KCpjb250ZXh0LCBj
YWNoZVBvbGljeSk7CiB9CiAKLXZvaWQgU2VydmljZVdvcmtlckNvbnRhaW5lcjo6am9iRmluaXNo
ZWRMb2FkaW5nU2NyaXB0KFNlcnZpY2VXb3JrZXJKb2ImIGpvYiwgY29uc3QgU3RyaW5nJiBzY3Jp
cHQpCit2b2lkIFNlcnZpY2VXb3JrZXJDb250YWluZXI6OmpvYkZpbmlzaGVkTG9hZGluZ1Njcmlw
dChTZXJ2aWNlV29ya2VySm9iJiBqb2IsIGNvbnN0IFN0cmluZyYgc2NyaXB0LCBjb25zdCBDb250
ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmIGNvbnRlbnRTZWN1cml0eVBvbGljeSkK
IHsKICNpZm5kZWYgTkRFQlVHCiAgICAgQVNTRVJUKG1fY3JlYXRpb25UaHJlYWQucHRyKCkgPT0g
JlRocmVhZDo6Y3VycmVudCgpKTsKQEAgLTQ3OCw4ICs0NzgsOCBAQCB2b2lkIFNlcnZpY2VXb3Jr
ZXJDb250YWluZXI6OmpvYkZpbmlzaGVkTG9hZGluZ1NjcmlwdChTZXJ2aWNlV29ya2VySm9iJiBq
b2IsIGNvbgogCiAgICAgTE9HKFNlcnZpY2VXb3JrZXIsICJTZXZpY2VXb3JrZXJDb250YWluZXIg
JXAgZmluaXNoZWQgZmV0Y2hpbmcgc2NyaXB0IGZvciBqb2IgJXMiLCB0aGlzLCBqb2IuaWRlbnRp
ZmllcigpLmxvZ2dpbmdTdHJpbmcoKS51dGY4KCkuZGF0YSgpKTsKIAotICAgIGNhbGxPbk1haW5U
aHJlYWQoW2Nvbm5lY3Rpb24gPSBtX3N3Q29ubmVjdGlvbiwgam9iRGF0YUlkZW50aWZpZXIgPSBq
b2IuZGF0YSgpLmlkZW50aWZpZXIoKSwgcmVnaXN0cmF0aW9uS2V5ID0gam9iLmRhdGEoKS5yZWdp
c3RyYXRpb25LZXkoKSwgc2NyaXB0ID0gc2NyaXB0Lmlzb2xhdGVkQ29weSgpXSB7Ci0gICAgICAg
IGNvbm5lY3Rpb24tPmZpbmlzaEZldGNoaW5nU2NyaXB0SW5TZXJ2ZXIoeyBqb2JEYXRhSWRlbnRp
ZmllciwgcmVnaXN0cmF0aW9uS2V5LCBzY3JpcHQsIHsgfSB9KTsKKyAgICBjYWxsT25NYWluVGhy
ZWFkKFtjb25uZWN0aW9uID0gbV9zd0Nvbm5lY3Rpb24sIGpvYkRhdGFJZGVudGlmaWVyID0gam9i
LmRhdGEoKS5pZGVudGlmaWVyKCksIHJlZ2lzdHJhdGlvbktleSA9IGpvYi5kYXRhKCkucmVnaXN0
cmF0aW9uS2V5KCksIHNjcmlwdCA9IHNjcmlwdC5pc29sYXRlZENvcHkoKSwgY29udGVudFNlY3Vy
aXR5UG9saWN5ID0gY29udGVudFNlY3VyaXR5UG9saWN5Lmlzb2xhdGVkQ29weSgpXSB7CisgICAg
ICAgIGNvbm5lY3Rpb24tPmZpbmlzaEZldGNoaW5nU2NyaXB0SW5TZXJ2ZXIoeyBqb2JEYXRhSWRl
bnRpZmllciwgcmVnaXN0cmF0aW9uS2V5LCBzY3JpcHQsIGNvbnRlbnRTZWN1cml0eVBvbGljeSwg
eyB9IH0pOwogICAgIH0pOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuaAppbmRleCAyYjViMGE5OTIzN2FlNzQw
NTU5YjFjNWRlMmM3Y2I2YjYyNTBmNmM2Li4xNGI1MjZmODM3OTNhOTBjNzY4YzhjNTQ5OWUyNTBj
MWJjY2M2NWQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vy
dmljZVdvcmtlckNvbnRhaW5lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vydmlj
ZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmgKQEAgLTkxLDcgKzkxLDcgQEAgcHJpdmF0ZToKICAg
ICB2b2lkIGpvYlJlc29sdmVkV2l0aFJlZ2lzdHJhdGlvbihTZXJ2aWNlV29ya2VySm9iJiwgU2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEmJiwgU2hvdWxkTm90aWZ5V2hlblJlc29sdmVkKSBm
aW5hbDsKICAgICB2b2lkIGpvYlJlc29sdmVkV2l0aFVucmVnaXN0cmF0aW9uUmVzdWx0KFNlcnZp
Y2VXb3JrZXJKb2ImLCBib29sIHVucmVnaXN0cmF0aW9uUmVzdWx0KSBmaW5hbDsKICAgICB2b2lk
IHN0YXJ0U2NyaXB0RmV0Y2hGb3JKb2IoU2VydmljZVdvcmtlckpvYiYsIEZldGNoT3B0aW9uczo6
Q2FjaGUpIGZpbmFsOwotICAgIHZvaWQgam9iRmluaXNoZWRMb2FkaW5nU2NyaXB0KFNlcnZpY2VX
b3JrZXJKb2ImLCBjb25zdCBTdHJpbmcmKSBmaW5hbDsKKyAgICB2b2lkIGpvYkZpbmlzaGVkTG9h
ZGluZ1NjcmlwdChTZXJ2aWNlV29ya2VySm9iJiwgY29uc3QgU3RyaW5nJiBzY3JpcHQsIGNvbnN0
IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYpIGZpbmFsOwogICAgIHZvaWQg
am9iRmFpbGVkTG9hZGluZ1NjcmlwdChTZXJ2aWNlV29ya2VySm9iJiwgY29uc3QgUmVzb3VyY2VF
cnJvciYsIHN0ZDo6b3B0aW9uYWw8RXhjZXB0aW9uPiYmKSBmaW5hbDsKIAogICAgIHZvaWQgam9i
RGlkRmluaXNoKFNlcnZpY2VXb3JrZXJKb2ImKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGV4dERhdGEuY3BwIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250ZXh0RGF0YS5jcHAKaW5kZXgg
N2YwYWJiZTI0NzYyMjkxZWQ1YjlmMTRmMzhkMjlmY2EyYmZmZjExYy4uNGM0YmYyMzY0Y2U0Y2Yx
MjUzODU4NjhiOTg1ZjhiN2ViMDE4ZDdlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250ZXh0RGF0YS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250ZXh0RGF0YS5jcHAKQEAgLTMy
LDcgKzMyLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBTZXJ2aWNlV29ya2VyQ29udGV4dERh
dGEgU2VydmljZVdvcmtlckNvbnRleHREYXRhOjppc29sYXRlZENvcHkoKSBjb25zdAogewotICAg
IHJldHVybiB7IGpvYkRhdGFJZGVudGlmaWVyLCByZWdpc3RyYXRpb24uaXNvbGF0ZWRDb3B5KCks
IHNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCBzY3JpcHQuaXNvbGF0ZWRDb3B5KCksIHNjcmlwdFVS
TC5pc29sYXRlZENvcHkoKSwgd29ya2VyVHlwZSwgbG9hZGVkRnJvbURpc2sgfTsKKyAgICByZXR1
cm4geyBqb2JEYXRhSWRlbnRpZmllciwgcmVnaXN0cmF0aW9uLmlzb2xhdGVkQ29weSgpLCBzZXJ2
aWNlV29ya2VySWRlbnRpZmllciwgc2NyaXB0Lmlzb2xhdGVkQ29weSgpLCBjb250ZW50U2VjdXJp
dHlQb2xpY3kuaXNvbGF0ZWRDb3B5KCksIHNjcmlwdFVSTC5pc29sYXRlZENvcHkoKSwgd29ya2Vy
VHlwZSwgbG9hZGVkRnJvbURpc2sgfTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250
ZXh0RGF0YS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJD
b250ZXh0RGF0YS5oCmluZGV4IGYzZmUwZGMxNGJlN2EyMjIyMzhmNzNmZWRjMjM1NWNhMGRjYjM3
NGYuLmY1YTNlMDkxNjkyYTU5MDg1NGVlZDkxYmU1ZTQzNTFiMGI3NjQ1NzAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGV4dERhdGEu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRl
eHREYXRhLmgKQEAgLTI1LDYgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKKyNpbmNsdWRlICJD
b250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMuaCIKICNpbmNsdWRlICJTZXJ2aWNl
V29ya2VySWRlbnRpZmllci5oIgogI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJKb2JEYXRhSWRlbnRp
Zmllci5oIgogI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhLmgiCkBAIC00
MCwxMCArNDEsMTEgQEAgc3RydWN0IFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YSB7CiAgICAgU2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEgcmVnaXN0cmF0aW9uOwogICAgIFNlcnZpY2VXb3Jr
ZXJJZGVudGlmaWVyIHNlcnZpY2VXb3JrZXJJZGVudGlmaWVyOwogICAgIFN0cmluZyBzY3JpcHQ7
CisgICAgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzIGNvbnRlbnRTZWN1cml0
eVBvbGljeTsKICAgICBVUkwgc2NyaXB0VVJMOwogICAgIFdvcmtlclR5cGUgd29ya2VyVHlwZTsK
ICAgICBib29sIGxvYWRlZEZyb21EaXNrOwotICAgIAorCiAgICAgdGVtcGxhdGU8Y2xhc3MgRW5j
b2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0OwogICAgIHRlbXBsYXRlPGNsYXNzIERl
Y29kZXI+IHN0YXRpYyBzdGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YT4gZGVj
b2RlKERlY29kZXImKTsKICAgICAKQEAgLTUzLDcgKzU1LDcgQEAgc3RydWN0IFNlcnZpY2VXb3Jr
ZXJDb250ZXh0RGF0YSB7CiB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPgogdm9pZCBTZXJ2aWNlV29y
a2VyQ29udGV4dERhdGE6OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogewotICAgIGVu
Y29kZXIgPDwgam9iRGF0YUlkZW50aWZpZXIgPDwgcmVnaXN0cmF0aW9uIDw8IHNlcnZpY2VXb3Jr
ZXJJZGVudGlmaWVyIDw8IHNjcmlwdCA8PCBzY3JpcHRVUkwgPDwgd29ya2VyVHlwZSA8PCBsb2Fk
ZWRGcm9tRGlzazsKKyAgICBlbmNvZGVyIDw8IGpvYkRhdGFJZGVudGlmaWVyIDw8IHJlZ2lzdHJh
dGlvbiA8PCBzZXJ2aWNlV29ya2VySWRlbnRpZmllciA8PCBzY3JpcHQgPDwgY29udGVudFNlY3Vy
aXR5UG9saWN5IDw8IHNjcmlwdFVSTCA8PCB3b3JrZXJUeXBlIDw8IGxvYWRlZEZyb21EaXNrOwog
fQogCiB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPgpAQCAtNzYsNyArNzgsMTEgQEAgc3RkOjpvcHRp
b25hbDxTZXJ2aWNlV29ya2VyQ29udGV4dERhdGE+IFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YTo6
ZGVjb2RlKERlY29kZXIKICAgICBTdHJpbmcgc2NyaXB0OwogICAgIGlmICghZGVjb2Rlci5kZWNv
ZGUoc2NyaXB0KSkKICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKLSAgICAKKworICAgIENv
bnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyBjb250ZW50U2VjdXJpdHlQb2xpY3k7
CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShjb250ZW50U2VjdXJpdHlQb2xpY3kpKQorICAgICAg
ICByZXR1cm4gc3RkOjpudWxsb3B0OworCiAgICAgVVJMIHNjcmlwdFVSTDsKICAgICBpZiAoIWRl
Y29kZXIuZGVjb2RlKHNjcmlwdFVSTCkpCiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CkBA
IC04OSw3ICs5NSw3IEBAIHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlckNvbnRleHREYXRhPiBT
ZXJ2aWNlV29ya2VyQ29udGV4dERhdGE6OmRlY29kZShEZWNvZGVyCiAgICAgaWYgKCFkZWNvZGVy
LmRlY29kZShsb2FkZWRGcm9tRGlzaykpCiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAK
LSAgICByZXR1cm4ge3sgV1RGTW92ZSgqam9iRGF0YUlkZW50aWZpZXIpLCBXVEZNb3ZlKCpyZWdp
c3RyYXRpb24pLCBXVEZNb3ZlKCpzZXJ2aWNlV29ya2VySWRlbnRpZmllciksIFdURk1vdmUoc2Ny
aXB0KSwgV1RGTW92ZShzY3JpcHRVUkwpLCB3b3JrZXJUeXBlLCBsb2FkZWRGcm9tRGlza319Owor
ICAgIHJldHVybiB7eyBXVEZNb3ZlKCpqb2JEYXRhSWRlbnRpZmllciksIFdURk1vdmUoKnJlZ2lz
dHJhdGlvbiksIFdURk1vdmUoKnNlcnZpY2VXb3JrZXJJZGVudGlmaWVyKSwgV1RGTW92ZShzY3Jp
cHQpLCBXVEZNb3ZlKGNvbnRlbnRTZWN1cml0eVBvbGljeSksIFdURk1vdmUoc2NyaXB0VVJMKSwg
d29ya2VyVHlwZSwgbG9hZGVkRnJvbURpc2sgfX07CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29y
a2VyRmV0Y2hSZXN1bHQuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNl
V29ya2VyRmV0Y2hSZXN1bHQuaAppbmRleCA3MTRmODU3YWI5YTc3NjA3ZjhiODdiM2IzZDY0Yjc0
ODJlZTk2ODcyLi5lMGE1OTk5NzYxOTJkOGIzNGQ0OGZhZWE5YTllZDI3NzBhM2ZhZWU0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckZldGNo
UmVzdWx0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3Jr
ZXJGZXRjaFJlc3VsdC5oCkBAIC0yNyw2ICsyNyw3IEBACiAKICNpZiBFTkFCTEUoU0VSVklDRV9X
T1JLRVIpCiAKKyNpbmNsdWRlICJDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMu
aCIKICNpbmNsdWRlICJSZXNvdXJjZUVycm9yLmgiCiAjaW5jbHVkZSAiU2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbktleS5oIgogI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJUeXBlcy5oIgpAQCAtMzcs
NiArMzgsNyBAQCBzdHJ1Y3QgU2VydmljZVdvcmtlckZldGNoUmVzdWx0IHsKICAgICBTZXJ2aWNl
V29ya2VySm9iRGF0YUlkZW50aWZpZXIgam9iRGF0YUlkZW50aWZpZXI7CiAgICAgU2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbktleSByZWdpc3RyYXRpb25LZXk7CiAgICAgU3RyaW5nIHNjcmlwdDsK
KyAgICBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMgY29udGVudFNlY3VyaXR5
UG9saWN5OwogICAgIFJlc291cmNlRXJyb3Igc2NyaXB0RXJyb3I7CiAKICAgICB0ZW1wbGF0ZTxj
bGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7CkBAIC00Niw3ICs0OCw3
IEBAIHN0cnVjdCBTZXJ2aWNlV29ya2VyRmV0Y2hSZXN1bHQgewogdGVtcGxhdGU8Y2xhc3MgRW5j
b2Rlcj4KIHZvaWQgU2VydmljZVdvcmtlckZldGNoUmVzdWx0OjplbmNvZGUoRW5jb2RlciYgZW5j
b2RlcikgY29uc3QKIHsKLSAgICBlbmNvZGVyIDw8IGpvYkRhdGFJZGVudGlmaWVyIDw8IHJlZ2lz
dHJhdGlvbktleSA8PCBzY3JpcHQgPDwgc2NyaXB0RXJyb3I7CisgICAgZW5jb2RlciA8PCBqb2JE
YXRhSWRlbnRpZmllciA8PCByZWdpc3RyYXRpb25LZXkgPDwgc2NyaXB0IDw8IGNvbnRlbnRTZWN1
cml0eVBvbGljeSA8PCBzY3JpcHRFcnJvcjsKIH0KIAogdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4K
QEAgLTY1LDYgKzY3LDggQEAgYm9vbCBTZXJ2aWNlV29ya2VyRmV0Y2hSZXN1bHQ6OmRlY29kZShE
ZWNvZGVyJiBkZWNvZGVyLCBTZXJ2aWNlV29ya2VyRmV0Y2hSZXN1bHQKIAogICAgIGlmICghZGVj
b2Rlci5kZWNvZGUocmVzdWx0LnNjcmlwdCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBp
ZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5jb250ZW50U2VjdXJpdHlQb2xpY3kpKQorICAgICAg
ICByZXR1cm4gZmFsc2U7CiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQuc2NyaXB0RXJy
b3IpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuY3BwIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZS5jcHAKaW5kZXgg
NDg4MjhkOTZhNjZhYWFjMWUxMzEyZTA2ZjkxMDQ4ODk2MjRkNDlkOC4uYmJmNTZhNmU0NjRjOTI1
OGI0OTMzNmRjNDUxN2E3YjM4NjdhMTI3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZS5jcHAKQEAgLTM4
LDYgKzM4LDEzIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorUmVmPFNlcnZpY2VXb3JrZXJH
bG9iYWxTY29wZT4gU2VydmljZVdvcmtlckdsb2JhbFNjb3BlOjpjcmVhdGUoY29uc3QgU2Vydmlj
ZVdvcmtlckNvbnRleHREYXRhJiBkYXRhLCBjb25zdCBVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBp
ZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgU2Vydmlj
ZVdvcmtlclRocmVhZCYgdGhyZWFkLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25z
ZUhlYWRlcnMmIGNvbnRlbnRTZWN1cml0eVBvbGljeSwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29y
bGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIFJlZjxTZWN1cml0eU9yaWdpbj4mJiB0b3BPcmlnaW4s
IE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJveHkq
IGNvbm5lY3Rpb25Qcm94eSwgU29ja2V0UHJvdmlkZXIqIHNvY2tldFByb3ZpZGVyLCBQQUw6OlNl
c3Npb25JRCBzZXNzaW9uSUQpCit7CisgICAgYXV0byBzY29wZSA9IGFkb3B0UmVmKCpuZXcgU2Vy
dmljZVdvcmtlckdsb2JhbFNjb3BlIHsgZGF0YSwgdXJsLCBpZGVudGlmaWVyLCB1c2VyQWdlbnQs
IGlzT25saW5lLCB0aHJlYWQsIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBv
bGljeSwgV1RGTW92ZSh0b3BPcmlnaW4pLCB0aW1lT3JpZ2luLCBjb25uZWN0aW9uUHJveHksIHNv
Y2tldFByb3ZpZGVyLCBzZXNzaW9uSUQgfSk7CisgICAgc2NvcGUtPmFwcGx5Q29udGVudFNlY3Vy
aXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzKGNvbnRlbnRTZWN1cml0eVBvbGljeSk7CisgICAgcmV0
dXJuIHNjb3BlOworfQorCiBTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGU6OlNlcnZpY2VXb3JrZXJH
bG9iYWxTY29wZShjb25zdCBTZXJ2aWNlV29ya2VyQ29udGV4dERhdGEmIGRhdGEsIGNvbnN0IFVS
TCYgdXJsLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50
LCBib29sIGlzT25saW5lLCBTZXJ2aWNlV29ya2VyVGhyZWFkJiB0aHJlYWQsIGJvb2wgc2hvdWxk
QnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBSZWY8U2VjdXJpdHlPcmlnaW4+
JiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIElEQkNsaWVudDo6SURCQ29u
bmVjdGlvblByb3h5KiBjb25uZWN0aW9uUHJveHksIFNvY2tldFByb3ZpZGVyKiBzb2NrZXRQcm92
aWRlciwgUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklEKQogICAgIDogV29ya2VyR2xvYmFsU2NvcGUo
dXJsLCBpZGVudGlmaWVyLCB1c2VyQWdlbnQsIGlzT25saW5lLCB0aHJlYWQsIHNob3VsZEJ5cGFz
c01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgV1RGTW92ZSh0b3BPcmlnaW4pLCB0aW1l
T3JpZ2luLCBjb25uZWN0aW9uUHJveHksIHNvY2tldFByb3ZpZGVyLCBzZXNzaW9uSUQpCiAgICAg
LCBtX2NvbnRleHREYXRhKGNyb3NzVGhyZWFkQ29weShkYXRhKSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuaCBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuaApp
bmRleCAyMTE0MzFlZjM4NTQwNDlhOWQwOTcxMmU5NTU2MjU3MDE4OGI5NDY2Li4xNTQ0MzA3NDYx
NzI2NmFjYjNkNDVkMzFlMWJjNmRkZTRmMTJjMGRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZS5oCkBAIC00
MywxMCArNDMsNyBAQCBjbGFzcyBTZXJ2aWNlV29ya2VyVGhyZWFkOwogCiBjbGFzcyBTZXJ2aWNl
V29ya2VyR2xvYmFsU2NvcGUgZmluYWwgOiBwdWJsaWMgV29ya2VyR2xvYmFsU2NvcGUgewogcHVi
bGljOgotICAgIHRlbXBsYXRlPHR5cGVuYW1lLi4uIEFyZ3M+IHN0YXRpYyBSZWY8U2VydmljZVdv
cmtlckdsb2JhbFNjb3BlPiBjcmVhdGUoQXJncyYmLi4uIGFyZ3MpCi0gICAgewotICAgICAgICBy
ZXR1cm4gYWRvcHRSZWYoKm5ldyBTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUoc3RkOjpmb3J3YXJk
PEFyZ3M+KGFyZ3MpLi4uKSk7Ci0gICAgfQorICAgIHN0YXRpYyBSZWY8U2VydmljZVdvcmtlckds
b2JhbFNjb3BlPiBjcmVhdGUoY29uc3QgU2VydmljZVdvcmtlckNvbnRleHREYXRhJiwgY29uc3Qg
VVJMJiwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwg
Ym9vbCBpc09ubGluZSwgU2VydmljZVdvcmtlclRocmVhZCYsIGNvbnN0IENvbnRlbnRTZWN1cml0
eVBvbGljeVJlc3BvbnNlSGVhZGVycyYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVu
dFNlY3VyaXR5UG9saWN5LCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBNb25vdG9u
aWNUaW1lIHRpbWVPcmlnaW4sIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiwgU29ja2V0
UHJvdmlkZXIqLCBQQUw6OlNlc3Npb25JRCk7CiAKICAgICB+U2VydmljZVdvcmtlckdsb2JhbFNj
b3BlKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2
aWNlV29ya2VySm9iLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNl
V29ya2VySm9iLmNwcAppbmRleCBlM2IwNjMwMDYzMzY5YmRlYzgzZjgyMGU3ZTFjY2E5YWU4NDdm
NmU5Li42MTk3MjUzZGI2YzQ3MzRjZjRiOWY5N2UwZjZkNDcyMTA0MDIxOGRlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckpvYi5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJKb2IuY3BwCkBA
IC0xNDIsNyArMTQyLDcgQEAgdm9pZCBTZXJ2aWNlV29ya2VySm9iOjpub3RpZnlGaW5pc2hlZCgp
CiAgICAgQVNTRVJUKG1fc2NyaXB0TG9hZGVyKTsKICAgICAKICAgICBpZiAoIW1fc2NyaXB0TG9h
ZGVyLT5mYWlsZWQoKSkKLSAgICAgICAgbV9jbGllbnQtPmpvYkZpbmlzaGVkTG9hZGluZ1Njcmlw
dCgqdGhpcywgbV9zY3JpcHRMb2FkZXItPnNjcmlwdCgpKTsKKyAgICAgICAgbV9jbGllbnQtPmpv
YkZpbmlzaGVkTG9hZGluZ1NjcmlwdCgqdGhpcywgbV9zY3JpcHRMb2FkZXItPnNjcmlwdCgpLCBt
X3NjcmlwdExvYWRlci0+Y29udGVudFNlY3VyaXR5UG9saWN5KCkpOwogICAgIGVsc2UgewogICAg
ICAgICBhdXRvJiBlcnJvciA9ICBtX3NjcmlwdExvYWRlci0+ZXJyb3IoKTsKICAgICAgICAgQVNT
RVJUKCFlcnJvci5pc051bGwoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L3NlcnZpY2UvU2VydmljZVdvcmtlckpvYkNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJKb2JDbGllbnQuaAppbmRleCBhNGNkYTZjZTY1NzgyMTUx
MWUxNDZjMTcyZjAxNDM1OWI2NmZjZWQwLi42NzM3ZWNhZjFlYzJkZjFlZDVmYmNiZWM2ZWIzOThi
ZDczZjBmZWFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vy
dmljZVdvcmtlckpvYkNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vydmlj
ZS9TZXJ2aWNlV29ya2VySm9iQ2xpZW50LmgKQEAgLTMyLDYgKzMyLDcgQEAKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCitjbGFzcyBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnM7
CiBjbGFzcyBFeGNlcHRpb247CiBjbGFzcyBSZXNvdXJjZUVycm9yOwogY2xhc3MgU2VydmljZVdv
cmtlckpvYjsKQEAgLTQ4LDcgKzQ5LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBqb2JS
ZXNvbHZlZFdpdGhSZWdpc3RyYXRpb24oU2VydmljZVdvcmtlckpvYiYsIFNlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb25EYXRhJiYsIFNob3VsZE5vdGlmeVdoZW5SZXNvbHZlZCkgPSAwOwogICAgIHZp
cnR1YWwgdm9pZCBqb2JSZXNvbHZlZFdpdGhVbnJlZ2lzdHJhdGlvblJlc3VsdChTZXJ2aWNlV29y
a2VySm9iJiwgYm9vbCB1bnJlZ2lzdHJhdGlvblJlc3VsdCkgPSAwOwogICAgIHZpcnR1YWwgdm9p
ZCBzdGFydFNjcmlwdEZldGNoRm9ySm9iKFNlcnZpY2VXb3JrZXJKb2ImLCBGZXRjaE9wdGlvbnM6
OkNhY2hlKSA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIGpvYkZpbmlzaGVkTG9hZGluZ1NjcmlwdChT
ZXJ2aWNlV29ya2VySm9iJiwgY29uc3QgU3RyaW5nJikgPSAwOworICAgIHZpcnR1YWwgdm9pZCBq
b2JGaW5pc2hlZExvYWRpbmdTY3JpcHQoU2VydmljZVdvcmtlckpvYiYsIGNvbnN0IFN0cmluZyYg
c2NyaXB0LCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmKSA9IDA7
CiAgICAgdmlydHVhbCB2b2lkIGpvYkZhaWxlZExvYWRpbmdTY3JpcHQoU2VydmljZVdvcmtlckpv
YiYsIGNvbnN0IFJlc291cmNlRXJyb3ImLCBzdGQ6Om9wdGlvbmFsPEV4Y2VwdGlvbj4mJikgPSAw
OwogCiAgICAgdmlydHVhbCBTV1NlcnZlckNvbm5lY3Rpb25JZGVudGlmaWVyIGNvbm5lY3Rpb25J
ZGVudGlmaWVyKCkgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2
aWNlL2NvbnRleHQvU2VydmljZVdvcmtlclRocmVhZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcAppbmRleCBkOWQ3ZDdj
MDliYjE5NGZhNjM3NWI5MDBkNTc1ODgxMjU4ZTkwNjUzLi43NjRiZmVmOTg5OTNhMmZjZjVmY2Jm
YmE2NmE5ZjFjYWI1NjI2MTdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3Nl
cnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcApAQCAtNzEs
NyArNzEsNyBAQCBwcml2YXRlOgogLy8gRklYTUU6IFVzZSB2YWxpZCBydW50aW1lIGZsYWdzCiAK
IFNlcnZpY2VXb3JrZXJUaHJlYWQ6OlNlcnZpY2VXb3JrZXJUaHJlYWQoY29uc3QgU2VydmljZVdv
cmtlckNvbnRleHREYXRhJiBkYXRhLCBQQUw6OlNlc3Npb25JRCwgU3RyaW5nJiYgdXNlckFnZW50
LCBXb3JrZXJMb2FkZXJQcm94eSYgbG9hZGVyUHJveHksIFdvcmtlckRlYnVnZ2VyUHJveHkmIGRl
YnVnZ2VyUHJveHksIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiBpZGJDb25uZWN0aW9u
UHJveHksIFNvY2tldFByb3ZpZGVyKiBzb2NrZXRQcm92aWRlcikKLSAgICA6IFdvcmtlclRocmVh
ZChkYXRhLnNjcmlwdFVSTCwgInNlcnZpY2V3b3JrZXI6IiArIEluc3BlY3Rvcjo6SWRlbnRpZmll
cnNGYWN0b3J5OjpjcmVhdGVJZGVudGlmaWVyKCksIFdURk1vdmUodXNlckFnZW50KSwgTmV0d29y
a1N0YXRlTm90aWZpZXI6OnNpbmdsZXRvbigpLm9uTGluZSgpLCBkYXRhLnNjcmlwdCwgbG9hZGVy
UHJveHksIGRlYnVnZ2VyUHJveHksIER1bW15U2VydmljZVdvcmtlclRocmVhZFByb3h5OjpzaGFy
ZWQoKSwgV29ya2VyVGhyZWFkU3RhcnRNb2RlOjpOb3JtYWwsIENvbnRlbnRTZWN1cml0eVBvbGlj
eVJlc3BvbnNlSGVhZGVycyB7IH0sIGZhbHNlLCBTZWN1cml0eU9yaWdpbjo6Y3JlYXRlKGRhdGEu
c2NyaXB0VVJMKS5nZXQoKSwgTW9ub3RvbmljVGltZTo6bm93KCksIGlkYkNvbm5lY3Rpb25Qcm94
eSwgc29ja2V0UHJvdmlkZXIsIEpTQzo6UnVudGltZUZsYWdzOjpjcmVhdGVBbGxFbmFibGVkKCks
IFNlc3Npb25JRDo6ZGVmYXVsdFNlc3Npb25JRCgpKQorICAgIDogV29ya2VyVGhyZWFkKGRhdGEu
c2NyaXB0VVJMLCAic2VydmljZXdvcmtlcjoiICsgSW5zcGVjdG9yOjpJZGVudGlmaWVyc0ZhY3Rv
cnk6OmNyZWF0ZUlkZW50aWZpZXIoKSwgV1RGTW92ZSh1c2VyQWdlbnQpLCBOZXR3b3JrU3RhdGVO
b3RpZmllcjo6c2luZ2xldG9uKCkub25MaW5lKCksIGRhdGEuc2NyaXB0LCBsb2FkZXJQcm94eSwg
ZGVidWdnZXJQcm94eSwgRHVtbXlTZXJ2aWNlV29ya2VyVGhyZWFkUHJveHk6OnNoYXJlZCgpLCBX
b3JrZXJUaHJlYWRTdGFydE1vZGU6Ok5vcm1hbCwgZGF0YS5jb250ZW50U2VjdXJpdHlQb2xpY3ks
IGZhbHNlLCBTZWN1cml0eU9yaWdpbjo6Y3JlYXRlKGRhdGEuc2NyaXB0VVJMKS5nZXQoKSwgTW9u
b3RvbmljVGltZTo6bm93KCksIGlkYkNvbm5lY3Rpb25Qcm94eSwgc29ja2V0UHJvdmlkZXIsIEpT
Qzo6UnVudGltZUZsYWdzOjpjcmVhdGVBbGxFbmFibGVkKCksIFNlc3Npb25JRDo6ZGVmYXVsdFNl
c3Npb25JRCgpKQogICAgICwgbV9kYXRhKGRhdGEuaXNvbGF0ZWRDb3B5KCkpCiAgICAgLCBtX3dv
cmtlck9iamVjdFByb3h5KER1bW15U2VydmljZVdvcmtlclRocmVhZFByb3h5OjpzaGFyZWQoKSkK
IHsKQEAgLTgwLDkgKzgwLDkgQEAgU2VydmljZVdvcmtlclRocmVhZDo6U2VydmljZVdvcmtlclRo
cmVhZChjb25zdCBTZXJ2aWNlV29ya2VyQ29udGV4dERhdGEmIGRhdGEsIFAKIAogU2VydmljZVdv
cmtlclRocmVhZDo6flNlcnZpY2VXb3JrZXJUaHJlYWQoKSA9IGRlZmF1bHQ7CiAKLVJlZjxXb3Jr
ZXJHbG9iYWxTY29wZT4gU2VydmljZVdvcmtlclRocmVhZDo6Y3JlYXRlV29ya2VyR2xvYmFsU2Nv
cGUoY29uc3QgVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5n
JiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJl
c3BvbnNlSGVhZGVycyYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5
UG9saWN5LCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRp
bWVPcmlnaW4sIFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCkKK1JlZjxXb3JrZXJHbG9iYWxTY29w
ZT4gU2VydmljZVdvcmtlclRocmVhZDo6Y3JlYXRlV29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJM
JiB1cmwsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQs
IGJvb2wgaXNPbmxpbmUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVy
cyYgY29udGVudFNlY3VyaXR5UG9saWN5LCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRl
bnRTZWN1cml0eVBvbGljeSwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgTW9ub3Rv
bmljVGltZSB0aW1lT3JpZ2luLCBQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQpCiB7Ci0gICAgcmV0
dXJuIFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZTo6Y3JlYXRlKG1fZGF0YSwgdXJsLCBpZGVudGlm
aWVyLCB1c2VyQWdlbnQsIGlzT25saW5lLCAqdGhpcywgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29u
dGVudFNlY3VyaXR5UG9saWN5LCBXVEZNb3ZlKHRvcE9yaWdpbiksIHRpbWVPcmlnaW4sIGlkYkNv
bm5lY3Rpb25Qcm94eSgpLCBzb2NrZXRQcm92aWRlcigpLCBzZXNzaW9uSUQpOworICAgIHJldHVy
biBTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGU6OmNyZWF0ZShtX2RhdGEsIHVybCwgaWRlbnRpZmll
ciwgdXNlckFnZW50LCBpc09ubGluZSwgKnRoaXMsIGNvbnRlbnRTZWN1cml0eVBvbGljeSwgc2hv
dWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBXVEZNb3ZlKHRvcE9yaWdp
biksIHRpbWVPcmlnaW4sIGlkYkNvbm5lY3Rpb25Qcm94eSgpLCBzb2NrZXRQcm92aWRlcigpLCBz
ZXNzaW9uSUQpOwogfQogCiB2b2lkIFNlcnZpY2VXb3JrZXJUaHJlYWQ6OnJ1bkV2ZW50TG9vcCgp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1JlZ2lz
dHJhdGlvbkRhdGFiYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2
ZXIvUmVnaXN0cmF0aW9uRGF0YWJhc2UuY3BwCmluZGV4IDg3MTBiMGUyODQ0MjQwNjNkOWY1MGFi
NTllZmY5YmFlOGFhZTBkNWYuLjVlOGMyNDg3NjEwMGM5YzAwNTY3ZjVhMGY4MDkyMGFhZjExNWU2
ZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvUmVn
aXN0cmF0aW9uRGF0YWJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vydmlj
ZS9zZXJ2ZXIvUmVnaXN0cmF0aW9uRGF0YWJhc2UuY3BwCkBAIC0zMjgsNyArMzI4LDcgQEAgU3Ry
aW5nIFJlZ2lzdHJhdGlvbkRhdGFiYXNlOjppbXBvcnRSZWNvcmRzKCkKICAgICAgICAgYXV0byBy
ZWdpc3RyYXRpb25JZGVudGlmaWVyID0gZ2VuZXJhdGVPYmplY3RJZGVudGlmaWVyPFNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyVHlwZT4oKTsKICAgICAgICAgYXV0byBzZXJ2aWNl
V29ya2VyRGF0YSA9IFNlcnZpY2VXb3JrZXJEYXRhIHsgd29ya2VySWRlbnRpZmllciwgc2NyaXB0
VVJMLCBTZXJ2aWNlV29ya2VyU3RhdGU6OkFjdGl2YXRlZCwgKndvcmtlclR5cGUsIHJlZ2lzdHJh
dGlvbklkZW50aWZpZXIgfTsKICAgICAgICAgYXV0byByZWdpc3RyYXRpb24gPSBTZXJ2aWNlV29y
a2VyUmVnaXN0cmF0aW9uRGF0YSB7IFdURk1vdmUoKmtleSksIHJlZ2lzdHJhdGlvbklkZW50aWZp
ZXIsIFVSTChvcmlnaW5VUkwsIHNjb3BlUGF0aCksICp1cGRhdGVWaWFDYWNoZSwgbGFzdFVwZGF0
ZUNoZWNrVGltZSwgc3RkOjpudWxsb3B0LCBzdGQ6Om51bGxvcHQsIFdURk1vdmUoc2VydmljZVdv
cmtlckRhdGEpIH07Ci0gICAgICAgIGF1dG8gY29udGV4dERhdGEgPSBTZXJ2aWNlV29ya2VyQ29u
dGV4dERhdGEgeyBzdGQ6Om51bGxvcHQsIFdURk1vdmUocmVnaXN0cmF0aW9uKSwgd29ya2VySWRl
bnRpZmllciwgV1RGTW92ZShzY3JpcHQpLCBXVEZNb3ZlKHNjcmlwdFVSTCksICp3b3JrZXJUeXBl
LCB0cnVlIH07CisgICAgICAgIGF1dG8gY29udGV4dERhdGEgPSBTZXJ2aWNlV29ya2VyQ29udGV4
dERhdGEgeyBzdGQ6Om51bGxvcHQsIFdURk1vdmUocmVnaXN0cmF0aW9uKSwgd29ya2VySWRlbnRp
ZmllciwgV1RGTW92ZShzY3JpcHQpLCB7IH0sIFdURk1vdmUoc2NyaXB0VVJMKSwgKndvcmtlclR5
cGUsIHRydWUgfTsKIAogICAgICAgICBwb3N0VGFza1JlcGx5KGNyZWF0ZUNyb3NzVGhyZWFkVGFz
aygqdGhpcywgJlJlZ2lzdHJhdGlvbkRhdGFiYXNlOjphZGRSZWdpc3RyYXRpb25Ub1N0b3JlLCBX
VEZNb3ZlKGNvbnRleHREYXRhKSkpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5jcHAKaW5kZXggZjAwOGUzMTlmYzAyY2U1MGQ2
YmU1NjQ2YmQ2YzRhNjVmZjA5Y2Q5NS4uYTIyZTU5YTgwZTUwNmYzODAzM2MzYmQ1ZGMxYmMyZmE5
Y2JiNGVjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZl
ci9TV1NlcnZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZl
ci9TV1NlcnZlci5jcHAKQEAgLTQzMSwxMCArNDMxLDEwIEBAIHZvaWQgU1dTZXJ2ZXI6OnJlbW92
ZUNsaWVudFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24oQ29ubmVjdGlvbiYgY29ubmVjdGlvbiwg
U2VyCiAgICAgcmVnaXN0cmF0aW9uLT5yZW1vdmVDbGllbnRTZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uKGNvbm5lY3Rpb24uaWRlbnRpZmllcigpKTsKIH0KIAotdm9pZCBTV1NlcnZlcjo6dXBkYXRl
V29ya2VyKENvbm5lY3Rpb24mLCBjb25zdCBTZXJ2aWNlV29ya2VySm9iRGF0YUlkZW50aWZpZXIm
IGpvYkRhdGFJZGVudGlmaWVyLCBTV1NlcnZlclJlZ2lzdHJhdGlvbiYgcmVnaXN0cmF0aW9uLCBj
b25zdCBVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBzY3JpcHQsIFdvcmtlclR5cGUgdHlwZSkKK3Zv
aWQgU1dTZXJ2ZXI6OnVwZGF0ZVdvcmtlcihDb25uZWN0aW9uJiwgY29uc3QgU2VydmljZVdvcmtl
ckpvYkRhdGFJZGVudGlmaWVyJiBqb2JEYXRhSWRlbnRpZmllciwgU1dTZXJ2ZXJSZWdpc3RyYXRp
b24mIHJlZ2lzdHJhdGlvbiwgY29uc3QgVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgc2NyaXB0LCBj
b25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmIGNvbnRlbnRTZWN1cml0
eVBvbGljeSwgV29ya2VyVHlwZSB0eXBlKQogewogICAgIHJlZ2lzdHJhdGlvbi5zZXRMYXN0VXBk
YXRlVGltZShXYWxsVGltZTo6bm93KCkpOwotICAgIHRyeUluc3RhbGxDb250ZXh0RGF0YSh7IGpv
YkRhdGFJZGVudGlmaWVyLCByZWdpc3RyYXRpb24uZGF0YSgpLCBnZW5lcmF0ZU9iamVjdElkZW50
aWZpZXI8U2VydmljZVdvcmtlcklkZW50aWZpZXJUeXBlPigpLCBzY3JpcHQsIHVybCwgdHlwZSwg
ZmFsc2UgfSk7CisgICAgdHJ5SW5zdGFsbENvbnRleHREYXRhKHsgam9iRGF0YUlkZW50aWZpZXIs
IHJlZ2lzdHJhdGlvbi5kYXRhKCksIGdlbmVyYXRlT2JqZWN0SWRlbnRpZmllcjxTZXJ2aWNlV29y
a2VySWRlbnRpZmllclR5cGU+KCksIHNjcmlwdCwgY29udGVudFNlY3VyaXR5UG9saWN5LCB1cmws
IHR5cGUsIGZhbHNlIH0pOwogfQogCiB2b2lkIFNXU2VydmVyOjp0cnlJbnN0YWxsQ29udGV4dERh
dGEoU2VydmljZVdvcmtlckNvbnRleHREYXRhJiYgZGF0YSkKQEAgLTQ3OCw3ICs0NzgsNyBAQCB2
b2lkIFNXU2VydmVyOjppbnN0YWxsQ29udGV4dERhdGEoY29uc3QgU2VydmljZVdvcmtlckNvbnRl
eHREYXRhJiBkYXRhKQogICAgIGF1dG8qIHJlZ2lzdHJhdGlvbiA9IG1fcmVnaXN0cmF0aW9ucy5n
ZXQoZGF0YS5yZWdpc3RyYXRpb24ua2V5KTsKICAgICBSRUxFQVNFX0FTU0VSVChyZWdpc3RyYXRp
b24pOwogCi0gICAgYXV0byB3b3JrZXIgPSBTV1NlcnZlcldvcmtlcjo6Y3JlYXRlKCp0aGlzLCAq
cmVnaXN0cmF0aW9uLCBjb25uZWN0aW9uLT5pZGVudGlmaWVyKCksIGRhdGEuc2NyaXB0VVJMLCBk
YXRhLnNjcmlwdCwgZGF0YS53b3JrZXJUeXBlLCBkYXRhLnNlcnZpY2VXb3JrZXJJZGVudGlmaWVy
KTsKKyAgICBhdXRvIHdvcmtlciA9IFNXU2VydmVyV29ya2VyOjpjcmVhdGUoKnRoaXMsICpyZWdp
c3RyYXRpb24sIGNvbm5lY3Rpb24tPmlkZW50aWZpZXIoKSwgZGF0YS5zY3JpcHRVUkwsIGRhdGEu
c2NyaXB0LCBkYXRhLmNvbnRlbnRTZWN1cml0eVBvbGljeSwgZGF0YS53b3JrZXJUeXBlLCBkYXRh
LnNlcnZpY2VXb3JrZXJJZGVudGlmaWVyKTsKIAogICAgIC8vIFdlIGRvbid0IGltbWVkaWF0ZWx5
IGxhdW5jaCBhbGwgd29ya2VycyB0aGF0IHdlcmUganVzdCByZWFkIGluIGZyb20gZGlzaywKICAg
ICAvLyBhcyBpdCBpcyB1bmxpa2VseSB0aGV5IHdpbGwgYmUgbmVlZGVkIGltbWVkaWF0ZWx5Lgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZl
ci5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5oCmlu
ZGV4IDJkMzY2YTc1NzM0MWNjNmJlMzI3NDhkODJlNzgzMTI2OWNlN2EzMGEuLjY0ODNlZDJjNGJi
ZmNmMjBjZWQ2ODM5NGQ0Y2IxY2EwZjcwNmNjNzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmgKQEAgLTE0MCw3ICsxNDAsNyBAQCBwdWJs
aWM6CiAgICAgdm9pZCBwb3N0VGFzayhDcm9zc1RocmVhZFRhc2smJik7CiAgICAgdm9pZCBwb3N0
VGFza1JlcGx5KENyb3NzVGhyZWFkVGFzayYmKTsKIAotICAgIHZvaWQgdXBkYXRlV29ya2VyKENv
bm5lY3Rpb24mLCBjb25zdCBTZXJ2aWNlV29ya2VySm9iRGF0YUlkZW50aWZpZXImLCBTV1NlcnZl
clJlZ2lzdHJhdGlvbiYsIGNvbnN0IFVSTCYsIGNvbnN0IFN0cmluZyYgc2NyaXB0LCBXb3JrZXJU
eXBlKTsKKyAgICB2b2lkIHVwZGF0ZVdvcmtlcihDb25uZWN0aW9uJiwgY29uc3QgU2VydmljZVdv
cmtlckpvYkRhdGFJZGVudGlmaWVyJiwgU1dTZXJ2ZXJSZWdpc3RyYXRpb24mLCBjb25zdCBVUkwm
LCBjb25zdCBTdHJpbmcmIHNjcmlwdCwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9u
c2VIZWFkZXJzJiwgV29ya2VyVHlwZSk7CiAgICAgdm9pZCB0ZXJtaW5hdGVXb3JrZXIoU1dTZXJ2
ZXJXb3JrZXImKTsKICAgICB2b2lkIHN5bmNUZXJtaW5hdGVXb3JrZXIoU1dTZXJ2ZXJXb3JrZXIm
KTsKICAgICB2b2lkIGZpcmVJbnN0YWxsRXZlbnQoU1dTZXJ2ZXJXb3JrZXImKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJKb2JRdWV1
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVySm9i
UXVldWUuY3BwCmluZGV4IDhlYmE3YTBmZTkyZjQ4M2E0ZTQxNzlkM2QwOTE0MTUyNjU0M2NiZGMu
LmJkOGUyMDBlZGE4OTY4YjEyN2MzNjhmYThhOWFhNGQyODRkZTQ1Y2YgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJKb2JRdWV1ZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlckpvYlF1
ZXVlLmNwcApAQCAtOTYsNyArOTYsNyBAQCB2b2lkIFNXU2VydmVySm9iUXVldWU6OnNjcmlwdEZl
dGNoRmluaXNoZWQoU1dTZXJ2ZXI6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIGNvbgogICAgIH0K
IAogICAgIC8vIEZJWE1FOiBTdXBwb3J0IHRoZSBwcm9wZXIgd29ya2VyIHR5cGUgKGNsYXNzaWMg
dnMgbW9kdWxlKQotICAgIG1fc2VydmVyLnVwZGF0ZVdvcmtlcihjb25uZWN0aW9uLCBqb2IuaWRl
bnRpZmllcigpLCAqcmVnaXN0cmF0aW9uLCBqb2Iuc2NyaXB0VVJMLCByZXN1bHQuc2NyaXB0LCBX
b3JrZXJUeXBlOjpDbGFzc2ljKTsKKyAgICBtX3NlcnZlci51cGRhdGVXb3JrZXIoY29ubmVjdGlv
biwgam9iLmlkZW50aWZpZXIoKSwgKnJlZ2lzdHJhdGlvbiwgam9iLnNjcmlwdFVSTCwgcmVzdWx0
LnNjcmlwdCwgcmVzdWx0LmNvbnRlbnRTZWN1cml0eVBvbGljeSwgV29ya2VyVHlwZTo6Q2xhc3Np
Yyk7CiB9CiAKIC8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9TZXJ2aWNlV29ya2VyLyN1cGRhdGUt
YWxnb3JpdGhtCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2Vy
dmVyL1NXU2VydmVyV29ya2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9z
ZXJ2ZXIvU1dTZXJ2ZXJXb3JrZXIuY3BwCmluZGV4IGY4ZWUyZGVkMjA1NWNmMDdkZTIxYjFlZTFl
ZjA0YmQwOGMxYTc1OGQuLmZmNDI1NTE1YzRjZDc1NGIzMzg3MjgxYjVjYmIyN2MwZGJmNzZlZGUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2
ZXJXb3JrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIv
U1dTZXJ2ZXJXb3JrZXIuY3BwCkBAIC00MywxMiArNDMsMTQgQEAgU1dTZXJ2ZXJXb3JrZXIqIFNX
U2VydmVyV29ya2VyOjpleGlzdGluZ1dvcmtlckZvcklkZW50aWZpZXIoU2VydmljZVdvcmtlcklk
ZW50aWYKICAgICByZXR1cm4gYWxsV29ya2VycygpLmdldChpZGVudGlmaWVyKTsKIH0KIAotU1dT
ZXJ2ZXJXb3JrZXI6OlNXU2VydmVyV29ya2VyKFNXU2VydmVyJiBzZXJ2ZXIsIFNXU2VydmVyUmVn
aXN0cmF0aW9uJiByZWdpc3RyYXRpb24sIFNXU2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbklkZW50
aWZpZXIgY29udGV4dENvbm5lY3Rpb25JZGVudGlmaWVyLCBjb25zdCBVUkwmIHNjcmlwdFVSTCwg
Y29uc3QgU3RyaW5nJiBzY3JpcHQsIFdvcmtlclR5cGUgdHlwZSwgU2VydmljZVdvcmtlcklkZW50
aWZpZXIgaWRlbnRpZmllcikKKy8vIEZJWE1FOiBVc2Ugci12YWx1ZSByZWZlcmVuY2VzIGZvciBz
Y3JpcHQgYW5kIGNvbnRlbnRTZWN1cml0eVBvbGljeQorU1dTZXJ2ZXJXb3JrZXI6OlNXU2VydmVy
V29ya2VyKFNXU2VydmVyJiBzZXJ2ZXIsIFNXU2VydmVyUmVnaXN0cmF0aW9uJiByZWdpc3RyYXRp
b24sIFNXU2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbklkZW50aWZpZXIgY29udGV4dENvbm5lY3Rp
b25JZGVudGlmaWVyLCBjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3RyaW5nJiBzY3JpcHQs
IGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYgY29udGVudFNlY3Vy
aXR5UG9saWN5LCBXb3JrZXJUeXBlIHR5cGUsIFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIGlkZW50
aWZpZXIpCiAgICAgOiBtX3NlcnZlcihzZXJ2ZXIpCiAgICAgLCBtX3JlZ2lzdHJhdGlvbktleShy
ZWdpc3RyYXRpb24ua2V5KCkpCiAgICAgLCBtX2NvbnRleHRDb25uZWN0aW9uSWRlbnRpZmllcihj
b250ZXh0Q29ubmVjdGlvbklkZW50aWZpZXIpCiAgICAgLCBtX2RhdGEgeyBpZGVudGlmaWVyLCBz
Y3JpcHRVUkwsIFNlcnZpY2VXb3JrZXJTdGF0ZTo6UmVkdW5kYW50LCB0eXBlLCByZWdpc3RyYXRp
b24uaWRlbnRpZmllcigpIH0KICAgICAsIG1fc2NyaXB0KHNjcmlwdCkKKyAgICAsIG1fY29udGVu
dFNlY3VyaXR5UG9saWN5KGNvbnRlbnRTZWN1cml0eVBvbGljeSkKIHsKICAgICBtX2RhdGEuc2Ny
aXB0VVJMLnJlbW92ZUZyYWdtZW50SWRlbnRpZmllcigpOwogCkBAIC02OSw3ICs3MSw3IEBAIFNl
cnZpY2VXb3JrZXJDb250ZXh0RGF0YSBTV1NlcnZlcldvcmtlcjo6Y29udGV4dERhdGEoKSBjb25z
dAogICAgIGF1dG8qIHJlZ2lzdHJhdGlvbiA9IG1fc2VydmVyLmdldFJlZ2lzdHJhdGlvbihtX3Jl
Z2lzdHJhdGlvbktleSk7CiAgICAgQVNTRVJUKHJlZ2lzdHJhdGlvbik7CiAKLSAgICByZXR1cm4g
eyBzdGQ6Om51bGxvcHQsIHJlZ2lzdHJhdGlvbi0+ZGF0YSgpLCBtX2RhdGEuaWRlbnRpZmllciwg
bV9zY3JpcHQsIG1fZGF0YS5zY3JpcHRVUkwsIG1fZGF0YS50eXBlLCBmYWxzZSB9OworICAgIHJl
dHVybiB7IHN0ZDo6bnVsbG9wdCwgcmVnaXN0cmF0aW9uLT5kYXRhKCksIG1fZGF0YS5pZGVudGlm
aWVyLCBtX3NjcmlwdCwgbV9jb250ZW50U2VjdXJpdHlQb2xpY3ksIG1fZGF0YS5zY3JpcHRVUkws
IG1fZGF0YS50eXBlLCBmYWxzZSB9OwogfQogCiB2b2lkIFNXU2VydmVyV29ya2VyOjp0ZXJtaW5h
dGUoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9T
V1NlcnZlcldvcmtlci5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9T
V1NlcnZlcldvcmtlci5oCmluZGV4IDM4YzExMjlkOWM1ZTA0Y2IyN2RjY2QwYjNkM2IwYjA2NTdj
ODkxYTYuLmI0MjliOGU4MzE5MDE3ZDE0M2M1NGJjYzdmYjMyMWUwY2FiM2NiOWQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJXb3JrZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyV29y
a2VyLmgKQEAgLTEwNCw3ICsxMDQsNyBAQCBwdWJsaWM6CiAgICAgY29uc3QgQ2xpZW50T3JpZ2lu
JiBvcmlnaW4oKSBjb25zdDsKIAogcHJpdmF0ZToKLSAgICBTV1NlcnZlcldvcmtlcihTV1NlcnZl
ciYsIFNXU2VydmVyUmVnaXN0cmF0aW9uJiwgU1dTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uSWRl
bnRpZmllciwgY29uc3QgVVJMJiwgY29uc3QgU3RyaW5nJiBzY3JpcHQsIFdvcmtlclR5cGUsIFNl
cnZpY2VXb3JrZXJJZGVudGlmaWVyKTsKKyAgICBTV1NlcnZlcldvcmtlcihTV1NlcnZlciYsIFNX
U2VydmVyUmVnaXN0cmF0aW9uJiwgU1dTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uSWRlbnRpZmll
ciwgY29uc3QgVVJMJiwgY29uc3QgU3RyaW5nJiBzY3JpcHQsIGNvbnN0IENvbnRlbnRTZWN1cml0
eVBvbGljeVJlc3BvbnNlSGVhZGVycyYsICBXb3JrZXJUeXBlLCBTZXJ2aWNlV29ya2VySWRlbnRp
Zmllcik7CiAKICAgICB2b2lkIGNhbGxXaGVuQWN0aXZhdGVkSGFuZGxlcihib29sIHN1Y2Nlc3Mp
OwogCkBAIC0xMTMsNiArMTEzLDcgQEAgcHJpdmF0ZToKICAgICBTV1NlcnZlclRvQ29udGV4dENv
bm5lY3Rpb25JZGVudGlmaWVyIG1fY29udGV4dENvbm5lY3Rpb25JZGVudGlmaWVyOwogICAgIFNl
cnZpY2VXb3JrZXJEYXRhIG1fZGF0YTsKICAgICBTdHJpbmcgbV9zY3JpcHQ7CisgICAgQ29udGVu
dFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzIG1fY29udGVudFNlY3VyaXR5UG9saWN5Owog
ICAgIGJvb2wgbV9oYXNQZW5kaW5nRXZlbnRzIHsgZmFsc2UgfTsKICAgICBTdGF0ZSBtX3N0YXRl
IHsgU3RhdGU6Ok5vdFJ1bm5pbmcgfTsKICAgICBtdXRhYmxlIHN0ZDo6b3B0aW9uYWw8Q2xpZW50
T3JpZ2luPiBtX29yaWdpbjsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDFkMDAz
NDVlNDU5YTU3N2Y0N2MzYWQyNDg2NTAwNTcyOThmZGQ5ZDYuLjhjNDE3OWU4OGQzMzg3ZmFlYmIx
MDE2MmNkMTZhMTljZmJmMjdjODIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE0IEBACisyMDE4LTAxLTA5ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNv
bT4KKworICAgICAgICBBZGQgQ1NQIHN1cHBvcnQgdG8gc2VydmljZSB3b3JrZXJzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODEzODUKKworICAgICAg
ICBSZXZpZXdlZCBieSBDaHJpcyBEdW1lei4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvc2VydmljZS13b3JrZXItY3NwLWNvbm5l
Y3QuaHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvc2VydmljZS13b3JrZXItY3NwLWRlZmF1bHQuaHR0
cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvc2VydmljZS13b3JrZXItY3NwLXNjcmlwdC5odHRwcy1leHBl
Y3RlZC50eHQ6CisKIDIwMTgtMDEtMDkgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29t
PgogCiAgICAgICAgIFtpT1MgRGVidWcgV0syXSBMYXlvdXQgVGVzdCBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZWdpc3Rlci1j
bG9zZWQtd2luZG93Lmh0dHBzLmh0bWwgaXMgZmxha3kKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL3NlcnZpY2Utd29ya2VyLWNzcC1jb25uZWN0Lmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL3NlcnZpY2Utd29ya2VyLWNzcC1jb25uZWN0Lmh0dHBzLWV4cGVjdGVk
LnR4dAppbmRleCAwYmEzNjRjNjM4M2UyODc2ZDQ0NDBkN2NlZTM3ZDJhNzM0OGJiNTg5Li5mNjFk
MjYyNzBiMzYxYjlhMjBkOTA5OTIzZDNjMzU2NmZmYThjMGRlIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci9zZXJ2aWNlLXdvcmtlci1jc3AtY29ubmVjdC5odHRwcy1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvc2VydmljZS13b3JrZXItY3NwLWNvbm5lY3QuaHR0cHMt
ZXhwZWN0ZWQudHh0CkBAIC0xLDYgKzEsNiBAQAogCiBQQVNTIENTUCB0ZXN0IGZvciBjb25uZWN0
LXNyYyBpbiBTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUgCiBQQVNTIGltcG9ydFNjcmlwdHMgdGVz
dCBmb3IgY29ubmVjdC1zcmMgCi1GQUlMIEZldGNoIHRlc3QgZm9yIGNvbm5lY3Qtc3JjIGFzc2Vy
dF91bnJlYWNoZWQ6IHVuZXhwZWN0ZWQgcmVqZWN0aW9uOiBhc3NlcnRfdW5yZWFjaGVkOiBmZXRj
aCBzaG91bGQgZmFpbC4gUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlIFJlYWNoZWQgdW5yZWFjaGFi
bGUgY29kZQotRkFJTCBSZWRpcmVjdGVkIGZldGNoIHRlc3QgZm9yIGNvbm5lY3Qtc3JjIGFzc2Vy
dF91bnJlYWNoZWQ6IHVuZXhwZWN0ZWQgcmVqZWN0aW9uOiBhc3NlcnRfdW5yZWFjaGVkOiBSZWRp
cmVjdGVkIGZldGNoIHNob3VsZCBmYWlsLiBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUgUmVhY2hl
ZCB1bnJlYWNoYWJsZSBjb2RlCitQQVNTIEZldGNoIHRlc3QgZm9yIGNvbm5lY3Qtc3JjIAorUEFT
UyBSZWRpcmVjdGVkIGZldGNoIHRlc3QgZm9yIGNvbm5lY3Qtc3JjIAogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9zZXJ2aWNlLXdvcmtlci1jc3AtZGVmYXVsdC5odHRwcy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9zZXJ2aWNlLXdvcmtlci1jc3AtZGVmYXVsdC5odHRw
cy1leHBlY3RlZC50eHQKaW5kZXggOWEwMzMwNjFkOTIxNGM5Yjc5MTlmZDk5NDc4MjBiMmIzMThh
ZDk5MS4uZjQxOGNiODM1YmNhZGVhYjNkOGU0NTkwZjZlZjBiZWI0OWM0NmFiZSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvc2VydmljZS13b3JrZXItY3NwLWRlZmF1bHQuaHR0cHMtZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3NlcnZpY2Utd29ya2VyLWNzcC1kZWZh
dWx0Lmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSw2ICsxLDYgQEAKIAogUEFTUyBDU1AgdGVzdCBm
b3IgZGVmYXVsdC1zcmMgaW4gU2VydmljZVdvcmtlckdsb2JhbFNjb3BlIAotRkFJTCBpbXBvcnRT
Y3JpcHRzIHRlc3QgZm9yIGRlZmF1bHQtc3JjIGFzc2VydF90cnVlOiBJbXBvcnRpbmcgdGhlIG90
aGVyIG9yaWdpbnMgc2NyaXB0IHNob3VsZCBmYWlsLiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQot
RkFJTCBGZXRjaCB0ZXN0IGZvciBkZWZhdWx0LXNyYyBhc3NlcnRfdW5yZWFjaGVkOiB1bmV4cGVj
dGVkIHJlamVjdGlvbjogYXNzZXJ0X3VucmVhY2hlZDogZmV0Y2ggc2hvdWxkIGZhaWwuIFJlYWNo
ZWQgdW5yZWFjaGFibGUgY29kZSBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKLUZBSUwgUmVkaXJl
Y3RlZCBmZXRjaCB0ZXN0IGZvciBkZWZhdWx0LXNyYyBhc3NlcnRfdW5yZWFjaGVkOiB1bmV4cGVj
dGVkIHJlamVjdGlvbjogYXNzZXJ0X3VucmVhY2hlZDogUmVkaXJlY3RlZCBmZXRjaCBzaG91bGQg
ZmFpbC4gUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQor
UEFTUyBpbXBvcnRTY3JpcHRzIHRlc3QgZm9yIGRlZmF1bHQtc3JjIAorUEFTUyBGZXRjaCB0ZXN0
IGZvciBkZWZhdWx0LXNyYyAKK1BBU1MgUmVkaXJlY3RlZCBmZXRjaCB0ZXN0IGZvciBkZWZhdWx0
LXNyYyAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvc2VydmljZS13b3JrZXItY3Nw
LXNjcmlwdC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9zZXJ2aWNlLXdv
cmtlci1jc3Atc2NyaXB0Lmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCA3MTYxNTkzNzYxZmU5Y2Y4
ZGY3NzZhMjAzZDIyYjUzMWVmNWMzODNhLi5kMzdhN2I1ZDdiM2UzMWJiZjUwZjZlY2ExZWNkYmFl
ZmViODVlODdhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9zZXJ2aWNlLXdvcmtlci1j
c3Atc2NyaXB0Lmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9zZXJ2
aWNlLXdvcmtlci1jc3Atc2NyaXB0Lmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSw2ICsxLDYgQEAK
IAogUEFTUyBDU1AgdGVzdCBmb3Igc2NyaXB0LXNyYyBpbiBTZXJ2aWNlV29ya2VyR2xvYmFsU2Nv
cGUgCi1GQUlMIGltcG9ydFNjcmlwdHMgdGVzdCBmb3Igc2NyaXB0LXNyYyBhc3NlcnRfdHJ1ZTog
SW1wb3J0aW5nIHRoZSBvdGhlciBvcmlnaW5zIHNjcmlwdCBzaG91bGQgZmFpbC4gZXhwZWN0ZWQg
dHJ1ZSBnb3QgZmFsc2UKK1BBU1MgaW1wb3J0U2NyaXB0cyB0ZXN0IGZvciBzY3JpcHQtc3JjIAog
UEFTUyBGZXRjaCB0ZXN0IGZvciBzY3JpcHQtc3JjIAogUEFTUyBSZWRpcmVjdGVkIGZldGNoIHRl
c3QgZm9yIHNjcmlwdC1zcmMgCiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>