<?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>233698</bug_id>
          
          <creation_ts>2021-12-01 05:13:55 -0800</creation_ts>
          <short_desc>Persist NavigationPreloadState in service worker registration database</short_desc>
          <delta_ts>2021-12-03 06:01:24 -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>233523</dependson>
          <blocked>182852</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>cdumez</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1819196</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-12-01 05:13:55 -0800</bug_when>
    <thetext>Persist NavigationPreloadState in service worker registration database</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1819200</commentid>
    <comment_count>1</comment_count>
      <attachid>445564</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-12-01 05:29:38 -0800</bug_when>
    <thetext>Created attachment 445564
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1819603</commentid>
    <comment_count>2</comment_count>
      <attachid>445684</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-12-02 00:13:38 -0800</bug_when>
    <thetext>Created attachment 445684
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1819621</commentid>
    <comment_count>3</comment_count>
      <attachid>445691</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-12-02 01:41:03 -0800</bug_when>
    <thetext>Created attachment 445691
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1819635</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-12-02 02:50:01 -0800</bug_when>
    <thetext>&lt;rdar://problem/85963120&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1819683</commentid>
    <comment_count>5</comment_count>
      <attachid>445691</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-12-02 07:16:32 -0800</bug_when>
    <thetext>Comment on attachment 445691
Patch

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

&gt; Source/WebCore/workers/service/NavigationPreloadState.h:36
&gt; +    static NavigationPreloadState defaultValue() { return { false, &quot;true&quot;_s }; }

Maybe we should do `String headerValue { &quot;true&quot;_s };` below and use the default constructor instead of this defaultValue()? Or do we need to distinguish default-constructed objects somehow?

&gt; Source/WebCore/workers/service/server/RegistrationStore.h:43
&gt; +struct NavigationPreloadState;

Seems unnecessary? It isn&apos;t used in this header.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1819694</commentid>
    <comment_count>6</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-12-02 07:42:17 -0800</bug_when>
    <thetext>(In reply to Chris Dumez from comment #5)
&gt; Comment on attachment 445691 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=445691&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/workers/service/NavigationPreloadState.h:36
&gt; &gt; +    static NavigationPreloadState defaultValue() { return { false, &quot;true&quot;_s }; }
&gt; 
&gt; Maybe we should do `String headerValue { &quot;true&quot;_s };` below and use the
&gt; default constructor instead of this defaultValue()? Or do we need to
&gt; distinguish default-constructed objects somehow?

We use default constructed NavigationPreloadState when installing context data.
It is better to keep it smaller since we are IPCing.
Or we could add a specific InstallingServiceWorkerContextData without this parameter.

&gt; 
&gt; &gt; Source/WebCore/workers/service/server/RegistrationStore.h:43
&gt; &gt; +struct NavigationPreloadState;
&gt; 
&gt; Seems unnecessary? It isn&apos;t used in this header.

Right, forgot to remove it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1819696</commentid>
    <comment_count>7</comment_count>
      <attachid>445720</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-12-02 07:44:55 -0800</bug_when>
    <thetext>Created attachment 445720
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820110</commentid>
    <comment_count>8</comment_count>
      <attachid>445845</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-12-03 05:22:11 -0800</bug_when>
    <thetext>Created attachment 445845
Fixing path in API tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820112</commentid>
    <comment_count>9</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-12-03 06:01:22 -0800</bug_when>
    <thetext>Committed r286488 (244827@main): &lt;https://commits.webkit.org/244827@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 445845.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>445564</attachid>
            <date>2021-12-01 05:29:38 -0800</date>
            <delta_ts>2021-12-02 00:13:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233698-20211201142935.patch</filename>
            <type>text/plain</type>
            <size>24200</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2MzU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjNiY2MyYjhjMmY0ZTEz
OTQ5ZWM4NmNjZjczYmExYzhhZDM2Y2IxOC4uMTExNTZiY2QxNzkyZjA1YjBlYjI1YWQ5MWM0ZWRh
NGZiZGRhNjI2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDIxLTEyLTAxICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBQZXJzaXN0IE5hdmlnYXRp
b25QcmVsb2FkU3RhdGUgaW4gc2VydmljZSB3b3JrZXIgcmVnaXN0cmF0aW9uIGRhdGFiYXNlCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzM2OTgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXaGVuZXZlciBj
aGFuZ2luZyBhIHNlcnZpY2Ugd29ya2VyIHJlZ2lzdHJhdGlvbiBuYXZpZ2F0aW9uIHN0YXRlLCB0
cmlnZ2VyIHN0b3Jpbmcgb2YgdGhlIGNoYW5nZXMgaW4gdGhlIGRhdGFiYXNlLgorICAgICAgICBU
byBkbyBzbywgd2UgYWRkIHRoaXMgc3RhdGUgdG8gU2VydmljZVdvcmtlckNvbnRleHREYXRhLgor
ICAgICAgICBXaGVuIGNyZWF0aW5nIGEgU1dTZXJ2ZXJSZWdpc3RyYXRpb24sIHdlIHNldCBkZWZh
dWx0IHZhbHVlcyB0byBmYWxzZSBhbmQgInRydWUiCisgICAgICAgIGFzIHBlciBodHRwczovL3cz
Yy5naXRodWIuaW8vU2VydmljZVdvcmtlci8jc2VydmljZS13b3JrZXItcmVnaXN0cmF0aW9uLW5h
dmlnYXRpb24tcHJlbG9hZC1oZWFkZXItdmFsdWUuCisKKyAgICAgICAgQ292ZXJlZCBieSB1cGRh
dGVkIHRlc3QuCisKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRl
eHREYXRhLmNwcDoKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRl
eHREYXRhLmg6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9SZWdpc3RyYXRpb25E
YXRhYmFzZS5jcHA6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9SZWdpc3RyYXRp
b25TdG9yZS5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuY3Bw
OgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuaDoKKyAgICAgICAg
KiB3b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVySm9iUXVldWUuY3BwOgorICAgICAgICAq
IHdvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJSZWdpc3RyYXRpb24uY3BwOgorICAgICAg
ICAqIHdvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJSZWdpc3RyYXRpb24uaDoKKyAgICAg
ICAgKiB3b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyV29ya2VyLmNwcDoKKwogMjAyMS0x
Mi0wMSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIHN1
cHBvcnQgZm9yIE5hdmlnYXRpb25QcmVsb2FkTWFuYWdlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250ZXh0RGF0YS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRleHREYXRhLmNwcApp
bmRleCA0ZGJkYjRiNGQwYjc2YTViODg1NTRiMDA3ZjgxYjUwMGIyNGY5ZTVjLi4xYTQxMTEzNjQw
MDBmM2FjYWYzNzBmMGM5ZTMxMTQyMjdhODljMDllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRleHREYXRhLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRleHREYXRhLmNwcApA
QCAtNDcsNyArNDcsOCBAQCBTZXJ2aWNlV29ya2VyQ29udGV4dERhdGEgU2VydmljZVdvcmtlckNv
bnRleHREYXRhOjppc29sYXRlZENvcHkoKSBjb25zdCAmCiAgICAgICAgIGxvYWRlZEZyb21EaXNr
LAogICAgICAgICBsYXN0TmF2aWdhdGlvbldhc0FwcEluaXRpYXRlZCwKICAgICAgICAgY3Jvc3NU
aHJlYWRDb3B5KHNjcmlwdFJlc291cmNlTWFwKSwKLSAgICAgICAgc2VydmljZVdvcmtlclBhZ2VJ
ZGVudGlmaWVyCisgICAgICAgIHNlcnZpY2VXb3JrZXJQYWdlSWRlbnRpZmllciwKKyAgICAgICAg
Y3Jvc3NUaHJlYWRDb3B5KG5hdmlnYXRpb25QcmVsb2FkU3RhdGUpLAogICAgIH07CiB9CiAKQEAg
LTY3LDcgKzY4LDggQEAgU2VydmljZVdvcmtlckNvbnRleHREYXRhIFNlcnZpY2VXb3JrZXJDb250
ZXh0RGF0YTo6aXNvbGF0ZWRDb3B5KCkgJiYKICAgICAgICAgbG9hZGVkRnJvbURpc2ssCiAgICAg
ICAgIGxhc3ROYXZpZ2F0aW9uV2FzQXBwSW5pdGlhdGVkLAogICAgICAgICBjcm9zc1RocmVhZENv
cHkoV1RGTW92ZShzY3JpcHRSZXNvdXJjZU1hcCkpLAotICAgICAgICBzZXJ2aWNlV29ya2VyUGFn
ZUlkZW50aWZpZXIKKyAgICAgICAgc2VydmljZVdvcmtlclBhZ2VJZGVudGlmaWVyLAorICAgICAg
ICBjcm9zc1RocmVhZENvcHkoV1RGTW92ZShuYXZpZ2F0aW9uUHJlbG9hZFN0YXRlKSkKICAgICB9
OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vydmlj
ZVdvcmtlckNvbnRleHREYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vy
dmljZVdvcmtlckNvbnRleHREYXRhLmgKaW5kZXggMDFkOGNiY2Y0OTI0OTgxMWUzYjNkYzYzN2Vi
YzRiNGI0MTNjY2U3Yy4uNDZhOWZhNzAxMjllMzc1YzU5NjgxYmJhNmUzMGVhOThhYmNiMWQ4NyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJD
b250ZXh0RGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNl
V29ya2VyQ29udGV4dERhdGEuaApAQCAtMjgsNiArMjgsNyBAQAogI2luY2x1ZGUgIkNlcnRpZmlj
YXRlSW5mby5oIgogI2luY2x1ZGUgIkNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVy
cy5oIgogI2luY2x1ZGUgIkNyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3kuaCIKKyNpbmNsdWRlICJO
YXZpZ2F0aW9uUHJlbG9hZFN0YXRlLmgiCiAjaW5jbHVkZSAiU2NyaXB0QnVmZmVyLmgiCiAjaW5j
bHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIuaCIKICNpbmNsdWRlICJTZXJ2
aWNlV29ya2VySWRlbnRpZmllci5oIgpAQCAtOTUsNiArOTYsNyBAQCBzdHJ1Y3QgU2VydmljZVdv
cmtlckNvbnRleHREYXRhIHsKICAgICBzdGQ6Om9wdGlvbmFsPExhc3ROYXZpZ2F0aW9uV2FzQXBw
SW5pdGlhdGVkPiBsYXN0TmF2aWdhdGlvbldhc0FwcEluaXRpYXRlZDsKICAgICBIYXNoTWFwPFVS
TCwgSW1wb3J0ZWRTY3JpcHQ+IHNjcmlwdFJlc291cmNlTWFwOwogICAgIHN0ZDo6b3B0aW9uYWw8
U2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXI+IHNlcnZpY2VXb3JrZXJQYWdlSWRlbnRp
ZmllcjsKKyAgICBOYXZpZ2F0aW9uUHJlbG9hZFN0YXRlIG5hdmlnYXRpb25QcmVsb2FkU3RhdGU7
CiAKICAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikgY29u
c3Q7CiAgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIHN0ZDo6b3B0aW9uYWw8U2Vy
dmljZVdvcmtlckNvbnRleHREYXRhPiBkZWNvZGUoRGVjb2RlciYpOwpAQCAtMTA3LDcgKzEwOSw3
IEBAIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+CiB2b2lkIFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0
YTo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0CiB7CiAgICAgZW5jb2RlciA8PCBqb2JE
YXRhSWRlbnRpZmllciA8PCByZWdpc3RyYXRpb24gPDwgc2VydmljZVdvcmtlcklkZW50aWZpZXIg
PDwgc2NyaXB0IDw8IGNvbnRlbnRTZWN1cml0eVBvbGljeSA8PCBjcm9zc09yaWdpbkVtYmVkZGVy
UG9saWN5IDw8IHJlZmVycmVyUG9saWN5Ci0gICAgICAgIDw8IHNjcmlwdFVSTCA8PCB3b3JrZXJU
eXBlIDw8IGxvYWRlZEZyb21EaXNrIDw8IGxhc3ROYXZpZ2F0aW9uV2FzQXBwSW5pdGlhdGVkIDw8
IHNjcmlwdFJlc291cmNlTWFwIDw8IGNlcnRpZmljYXRlSW5mbyA8PCBzZXJ2aWNlV29ya2VyUGFn
ZUlkZW50aWZpZXI7CisgICAgICAgIDw8IHNjcmlwdFVSTCA8PCB3b3JrZXJUeXBlIDw8IGxvYWRl
ZEZyb21EaXNrIDw8IGxhc3ROYXZpZ2F0aW9uV2FzQXBwSW5pdGlhdGVkIDw8IHNjcmlwdFJlc291
cmNlTWFwIDw8IGNlcnRpZmljYXRlSW5mbyA8PCBzZXJ2aWNlV29ya2VyUGFnZUlkZW50aWZpZXIg
PDwgbmF2aWdhdGlvblByZWxvYWRTdGF0ZTsKIH0KIAogdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4K
QEAgLTE3NSw2ICsxNzcsMTEgQEAgc3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2VyQ29udGV4dERh
dGE+IFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YTo6ZGVjb2RlKERlY29kZXIKICAgICBpZiAoIXNl
cnZpY2VXb3JrZXJQYWdlSWRlbnRpZmllcikKICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsK
IAorICAgIHN0ZDo6b3B0aW9uYWw8TmF2aWdhdGlvblByZWxvYWRTdGF0ZT4gbmF2aWdhdGlvblBy
ZWxvYWRTdGF0ZTsKKyAgICBkZWNvZGVyID4+IG5hdmlnYXRpb25QcmVsb2FkU3RhdGU7CisgICAg
aWYgKCFuYXZpZ2F0aW9uUHJlbG9hZFN0YXRlKQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0
OworCiAgICAgcmV0dXJuIHt7CiAgICAgICAgIFdURk1vdmUoKmpvYkRhdGFJZGVudGlmaWVyKSwK
ICAgICAgICAgV1RGTW92ZSgqcmVnaXN0cmF0aW9uKSwKQEAgLTE4OSw3ICsxOTYsOCBAQCBzdGQ6
Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YT4gU2VydmljZVdvcmtlckNvbnRleHRE
YXRhOjpkZWNvZGUoRGVjb2RlcgogICAgICAgICBsb2FkZWRGcm9tRGlzaywKICAgICAgICAgV1RG
TW92ZShsYXN0TmF2aWdhdGlvbldhc0FwcEluaXRpYXRlZCksCiAgICAgICAgIFdURk1vdmUoc2Ny
aXB0UmVzb3VyY2VNYXApLAotICAgICAgICBXVEZNb3ZlKCpzZXJ2aWNlV29ya2VyUGFnZUlkZW50
aWZpZXIpCisgICAgICAgIFdURk1vdmUoKnNlcnZpY2VXb3JrZXJQYWdlSWRlbnRpZmllciksCisg
ICAgICAgIFdURk1vdmUoKm5hdmlnYXRpb25QcmVsb2FkU3RhdGUpCiAgICAgfX07CiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvUmVnaXN0cmF0
aW9uRGF0YWJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9S
ZWdpc3RyYXRpb25EYXRhYmFzZS5jcHAKaW5kZXggY2JiZTMwZTU5NGE1OTBiMGY5ZDU2YTg3MGI2
YzNmMWQzYTViNTQ2NS4uMWJiNGRhZWQ2OGZkOWZlN2RkZjBkNTM5OWRlYjNhMmIyYzg5N2YxMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9SZWdpc3Ry
YXRpb25EYXRhYmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3Nl
cnZlci9SZWdpc3RyYXRpb25EYXRhYmFzZS5jcHAKQEAgLTUwLDcgKzUwLDcgQEAKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCi1zdGF0aWMgY29uc3QgdWludDY0X3Qgc2NoZW1hVmVyc2lvbiA9IDc7
CitzdGF0aWMgY29uc3QgdWludDY0X3Qgc2NoZW1hVmVyc2lvbiA9IDg7CiAKICNkZWZpbmUgUkVD
T1JEU19UQUJMRV9TQ0hFTUFfUFJFRklYICJDUkVBVEUgVEFCTEUgIgogI2RlZmluZSBSRUNPUkRT
X1RBQkxFX1NDSEVNQV9TVUZGSVggIigiIFwKQEAgLTY3LDYgKzY3LDcgQEAgc3RhdGljIGNvbnN0
IHVpbnQ2NF90IHNjaGVtYVZlcnNpb24gPSA3OwogICAgICIsIHJlZmVycmVyUG9saWN5IFRFWFQg
Tk9UIE5VTEwgT04gQ09ORkxJQ1QgRkFJTCIgXAogICAgICIsIHNjcmlwdFJlc291cmNlTWFwIEJM
T0IgTk9UIE5VTEwgT04gQ09ORkxJQ1QgRkFJTCIgXAogICAgICIsIGNlcnRpZmljYXRlSW5mbyBC
TE9CIE5PVCBOVUxMIE9OIENPTkZMSUNUIEZBSUwiIFwKKyAgICAiLCBwcmVsb2FkU3RhdGUgQkxP
QiBOT1QgTlVMTCBPTiBDT05GTElDVCBGQUlMIiBcCiAgICAgIikiX3M7CiAKIHN0YXRpYyBBU0NJ
SUxpdGVyYWwgcmVjb3Jkc1RhYmxlU2NoZW1hKCkKQEAgLTQyMiw3ICs0MjMsNyBAQCBib29sIFJl
Z2lzdHJhdGlvbkRhdGFiYXNlOjpkb1B1c2hDaGFuZ2VzKGNvbnN0IFZlY3RvcjxTZXJ2aWNlV29y
a2VyQ29udGV4dERhdGE+JgogICAgIFNRTGl0ZVRyYW5zYWN0aW9uIHRyYW5zYWN0aW9uKCptX2Rh
dGFiYXNlKTsKICAgICB0cmFuc2FjdGlvbi5iZWdpbigpOwogCi0gICAgYXV0byBpbnNlcnRTdGF0
ZW1lbnQgPSBtX2RhdGFiYXNlLT5wcmVwYXJlU3RhdGVtZW50KCJJTlNFUlQgSU5UTyBSZWNvcmRz
IFZBTFVFUyAoPywgPywgPywgPywgPywgPywgPywgPywgPywgPywgPywgPywgPykiX3MpOworICAg
IGF1dG8gaW5zZXJ0U3RhdGVtZW50ID0gbV9kYXRhYmFzZS0+cHJlcGFyZVN0YXRlbWVudCgiSU5T
RVJUIElOVE8gUmVjb3JkcyBWQUxVRVMgKD8sID8sID8sID8sID8sID8sID8sID8sID8sID8sID8s
ID8sID8sID8pIl9zKTsKICAgICBpZiAoIWluc2VydFN0YXRlbWVudCkgewogICAgICAgICBSRUxF
QVNFX0xPR19FUlJPUihTZXJ2aWNlV29ya2VyLCAiRmFpbGVkIHRvIHByZXBhcmUgc3RhdGVtZW50
IHRvIHN0b3JlIHJlZ2lzdHJhdGlvbiBkYXRhIGludG8gcmVjb3JkcyB0YWJsZSAoJWkpIC0gJXMi
LCBtX2RhdGFiYXNlLT5sYXN0RXJyb3IoKSwgbV9kYXRhYmFzZS0+bGFzdEVycm9yTXNnKCkpOwog
ICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC00NTUsNiArNDU2LDkgQEAgYm9vbCBSZWdpc3RyYXRp
b25EYXRhYmFzZTo6ZG9QdXNoQ2hhbmdlcyhjb25zdCBWZWN0b3I8U2VydmljZVdvcmtlckNvbnRl
eHREYXRhPiYKICAgICAgICAgV1RGOjpQZXJzaXN0ZW5jZTo6RW5jb2RlciBjZXJ0aWZpY2F0ZUlu
Zm9FbmNvZGVyOwogICAgICAgICBjZXJ0aWZpY2F0ZUluZm9FbmNvZGVyIDw8IGRhdGEuY2VydGlm
aWNhdGVJbmZvOwogCisgICAgICAgIFdURjo6UGVyc2lzdGVuY2U6OkVuY29kZXIgbmF2aWdhdGlv
blByZWxvYWRTdGF0ZUVuY29kZXI7CisgICAgICAgIG5hdmlnYXRpb25QcmVsb2FkU3RhdGVFbmNv
ZGVyIDw8IGRhdGEubmF2aWdhdGlvblByZWxvYWRTdGF0ZTsKKwogICAgICAgICBpZiAoaW5zZXJ0
U3RhdGVtZW50LT5iaW5kVGV4dCgxLCBkYXRhLnJlZ2lzdHJhdGlvbi5rZXkudG9EYXRhYmFzZUtl
eSgpKSAhPSBTUUxJVEVfT0sKICAgICAgICAgICAgIHx8IGluc2VydFN0YXRlbWVudC0+YmluZFRl
eHQoMiwgZGF0YS5yZWdpc3RyYXRpb24uc2NvcGVVUkwucHJvdG9jb2xIb3N0QW5kUG9ydCgpKSAh
PSBTUUxJVEVfT0sKICAgICAgICAgICAgIHx8IGluc2VydFN0YXRlbWVudC0+YmluZFRleHQoMywg
ZGF0YS5yZWdpc3RyYXRpb24uc2NvcGVVUkwucGF0aCgpLnRvU3RyaW5nKCkpICE9IFNRTElURV9P
SwpAQCAtNDY4LDYgKzQ3Miw3IEBAIGJvb2wgUmVnaXN0cmF0aW9uRGF0YWJhc2U6OmRvUHVzaENo
YW5nZXMoY29uc3QgVmVjdG9yPFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YT4mCiAgICAgICAgICAg
ICB8fCBpbnNlcnRTdGF0ZW1lbnQtPmJpbmRUZXh0KDExLCBkYXRhLnJlZmVycmVyUG9saWN5KSAh
PSBTUUxJVEVfT0sKICAgICAgICAgICAgIHx8IGluc2VydFN0YXRlbWVudC0+YmluZEJsb2IoMTIs
IFNwYW4geyBzY3JpcHRSZXNvdXJjZU1hcEVuY29kZXIuYnVmZmVyKCksIHNjcmlwdFJlc291cmNl
TWFwRW5jb2Rlci5idWZmZXJTaXplKCkgfSkgIT0gU1FMSVRFX09LCiAgICAgICAgICAgICB8fCBp
bnNlcnRTdGF0ZW1lbnQtPmJpbmRCbG9iKDEzLCBTcGFuIHsgY2VydGlmaWNhdGVJbmZvRW5jb2Rl
ci5idWZmZXIoKSwgY2VydGlmaWNhdGVJbmZvRW5jb2Rlci5idWZmZXJTaXplKCkgfSkgIT0gU1FM
SVRFX09LCisgICAgICAgICAgICB8fCBpbnNlcnRTdGF0ZW1lbnQtPmJpbmRCbG9iKDE0LCBTcGFu
IHsgbmF2aWdhdGlvblByZWxvYWRTdGF0ZUVuY29kZXIuYnVmZmVyKCksIG5hdmlnYXRpb25QcmVs
b2FkU3RhdGVFbmNvZGVyLmJ1ZmZlclNpemUoKSB9KSAhPSBTUUxJVEVfT0sKICAgICAgICAgICAg
IHx8IGluc2VydFN0YXRlbWVudC0+c3RlcCgpICE9IFNRTElURV9ET05FKSB7CiAgICAgICAgICAg
ICBSRUxFQVNFX0xPR19FUlJPUihTZXJ2aWNlV29ya2VyLCAiRmFpbGVkIHRvIHN0b3JlIHJlZ2lz
dHJhdGlvbiBkYXRhIGludG8gcmVjb3JkcyB0YWJsZSAoJWkpIC0gJXMiLCBtX2RhdGFiYXNlLT5s
YXN0RXJyb3IoKSwgbV9kYXRhYmFzZS0+bGFzdEVycm9yTXNnKCkpOwogICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOwpAQCAtNTY2LDYgKzU3MSwxNiBAQCBTdHJpbmcgUmVnaXN0cmF0aW9uRGF0YWJh
c2U6OmltcG9ydFJlY29yZHMoKQogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KIAor
ICAgICAgICBhdXRvIG5hdmlnYXRpb25QcmVsb2FkU3RhdGVEYXRhU3BhbiA9IHNxbC0+Y29sdW1u
QmxvYkFzU3BhbigxMyk7CisgICAgICAgIHN0ZDo6b3B0aW9uYWw8TmF2aWdhdGlvblByZWxvYWRT
dGF0ZT4gbmF2aWdhdGlvblByZWxvYWRTdGF0ZTsKKworICAgICAgICBXVEY6OlBlcnNpc3RlbmNl
OjpEZWNvZGVyIG5hdmlnYXRpb25QcmVsb2FkU3RhdGVEZWNvZGVyKG5hdmlnYXRpb25QcmVsb2Fk
U3RhdGVEYXRhU3Bhbik7CisgICAgICAgIG5hdmlnYXRpb25QcmVsb2FkU3RhdGVEZWNvZGVyID4+
IG5hdmlnYXRpb25QcmVsb2FkU3RhdGU7CisgICAgICAgIGlmICghbmF2aWdhdGlvblByZWxvYWRT
dGF0ZSkgeworICAgICAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoU2VydmljZVdvcmtlciwgIlJl
Z2lzdHJhdGlvbkRhdGFiYXNlOjppbXBvcnRSZWNvcmRzOiBGYWlsZWQgdG8gZGVjb2RlIG5hdmln
YXRpb25QcmVsb2FkU3RhdGUiKTsKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICB9CisK
ICAgICAgICAgLy8gVmFsaWRhdGUgdGhlIGlucHV0IGZvciB0aGlzIHJlZ2lzdHJhdGlvbi4KICAg
ICAgICAgLy8gSWYgYW55IHBhcnQgb2YgdGhpcyBpbnB1dCBpcyBpbnZhbGlkLCBsZXQncyBza2lw
IHRoaXMgcmVnaXN0cmF0aW9uLgogICAgICAgICAvLyBGSVhNRTogU2hvdWxkIHdlIHJldHVybiBh
biBlcnJvciBza2lwcGluZyAqYWxsKiByZWdpc3RyYXRpb25zPwpAQCAtNTg0LDcgKzU5OSw3IEBA
IFN0cmluZyBSZWdpc3RyYXRpb25EYXRhYmFzZTo6aW1wb3J0UmVjb3JkcygpCiAgICAgICAgIGF1
dG8gcmVnaXN0cmF0aW9uSWRlbnRpZmllciA9IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVu
dGlmaWVyOjpnZW5lcmF0ZSgpOwogICAgICAgICBhdXRvIHNlcnZpY2VXb3JrZXJEYXRhID0gU2Vy
dmljZVdvcmtlckRhdGEgeyB3b3JrZXJJZGVudGlmaWVyLCBzY3JpcHRVUkwsIFNlcnZpY2VXb3Jr
ZXJTdGF0ZTo6QWN0aXZhdGVkLCAqd29ya2VyVHlwZSwgcmVnaXN0cmF0aW9uSWRlbnRpZmllciB9
OwogICAgICAgICBhdXRvIHJlZ2lzdHJhdGlvbiA9IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25E
YXRhIHsgV1RGTW92ZSgqa2V5KSwgcmVnaXN0cmF0aW9uSWRlbnRpZmllciwgV1RGTW92ZShzY29w
ZVVSTCksICp1cGRhdGVWaWFDYWNoZSwgbGFzdFVwZGF0ZUNoZWNrVGltZSwgc3RkOjpudWxsb3B0
LCBzdGQ6Om51bGxvcHQsIFdURk1vdmUoc2VydmljZVdvcmtlckRhdGEpIH07Ci0gICAgICAgIGF1
dG8gY29udGV4dERhdGEgPSBTZXJ2aWNlV29ya2VyQ29udGV4dERhdGEgeyBzdGQ6Om51bGxvcHQs
IFdURk1vdmUocmVnaXN0cmF0aW9uKSwgd29ya2VySWRlbnRpZmllciwgV1RGTW92ZShzY3JpcHQp
LCBXVEZNb3ZlKCpjZXJ0aWZpY2F0ZUluZm8pLCBXVEZNb3ZlKCpjb250ZW50U2VjdXJpdHlQb2xp
Y3kpLCBXVEZNb3ZlKCpjb2VwKSwgV1RGTW92ZShyZWZlcnJlclBvbGljeSksIFdURk1vdmUoc2Ny
aXB0VVJMKSwgKndvcmtlclR5cGUsIHRydWUsIExhc3ROYXZpZ2F0aW9uV2FzQXBwSW5pdGlhdGVk
OjpZZXMsIFdURk1vdmUoc2NyaXB0UmVzb3VyY2VNYXApLCBzdGQ6Om51bGxvcHQgfTsKKyAgICAg
ICAgYXV0byBjb250ZXh0RGF0YSA9IFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YSB7IHN0ZDo6bnVs
bG9wdCwgV1RGTW92ZShyZWdpc3RyYXRpb24pLCB3b3JrZXJJZGVudGlmaWVyLCBXVEZNb3ZlKHNj
cmlwdCksIFdURk1vdmUoKmNlcnRpZmljYXRlSW5mbyksIFdURk1vdmUoKmNvbnRlbnRTZWN1cml0
eVBvbGljeSksIFdURk1vdmUoKmNvZXApLCBXVEZNb3ZlKHJlZmVycmVyUG9saWN5KSwgV1RGTW92
ZShzY3JpcHRVUkwpLCAqd29ya2VyVHlwZSwgdHJ1ZSwgTGFzdE5hdmlnYXRpb25XYXNBcHBJbml0
aWF0ZWQ6OlllcywgV1RGTW92ZShzY3JpcHRSZXNvdXJjZU1hcCksIHN0ZDo6bnVsbG9wdCwgV1RG
TW92ZSgqbmF2aWdhdGlvblByZWxvYWRTdGF0ZSkgfTsKIAogICAgICAgICBjYWxsT25NYWluVGhy
ZWFkKFtwcm90ZWN0ZWRUaGlzID0gUmVmIHsgKnRoaXMgfSwgY29udGV4dERhdGEgPSBjb250ZXh0
RGF0YS5pc29sYXRlZENvcHkoKV0oKSBtdXRhYmxlIHsKICAgICAgICAgICAgIHByb3RlY3RlZFRo
aXMtPmFkZFJlZ2lzdHJhdGlvblRvU3RvcmUoV1RGTW92ZShjb250ZXh0RGF0YSkpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9SZWdpc3RyYXRpb25T
dG9yZS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9SZWdpc3RyYXRp
b25TdG9yZS5oCmluZGV4IDNiM2NkOTg3YjcxZTQyNDcxZjFlMjI2Njc1MDcwNTk0OTFlMmNiM2Qu
LjE0NDFlYTY5NGY2YTIxNjdkNmNmZjk0YTE5MDNiODkyYjAyNzQ3YjAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvUmVnaXN0cmF0aW9uU3RvcmUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1JlZ2lzdHJhdGlvblN0
b3JlLmgKQEAgLTQwLDYgKzQwLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitzdHJ1Y3Qg
TmF2aWdhdGlvblByZWxvYWRTdGF0ZTsKIGNsYXNzIFNXU2VydmVyOwogY2xhc3MgU1dTZXJ2ZXJS
ZWdpc3RyYXRpb247CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vydmlj
ZS9zZXJ2ZXIvU1dTZXJ2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3Nl
cnZlci9TV1NlcnZlci5jcHAKaW5kZXggNmM2OTE0NjI5ODhlN2FhOGJkOWVkZjIxZTg3Njk0YzZl
NzQxZWNmOS4uMWIwYzJkMTFjNWEyNjdkYjg5ZWMwYmE3ODU4ZTZhMjA1NzZmZjMyMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5jcHAK
QEAgLTE3OCw3ICsxNzgsNyBAQCB2b2lkIFNXU2VydmVyOjphZGRSZWdpc3RyYXRpb25Gcm9tU3Rv
cmUoU2VydmljZVdvcmtlckNvbnRleHREYXRhJiYgZGF0YSkKICAgICAgICAgaWYgKCF3ZWFrVGhp
cykKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgaWYgKG1faGFzU2VydmljZVdvcmtlckVu
dGl0bGVtZW50IHx8IGlzVmFsaWQpIHsKLSAgICAgICAgICAgIGF1dG8gcmVnaXN0cmF0aW9uID0g
bWFrZVVuaXF1ZTxTV1NlcnZlclJlZ2lzdHJhdGlvbj4oKnRoaXMsIGRhdGEucmVnaXN0cmF0aW9u
LmtleSwgZGF0YS5yZWdpc3RyYXRpb24udXBkYXRlVmlhQ2FjaGUsIGRhdGEucmVnaXN0cmF0aW9u
LnNjb3BlVVJMLCBkYXRhLnNjcmlwdFVSTCwgZGF0YS5zZXJ2aWNlV29ya2VyUGFnZUlkZW50aWZp
ZXIpOworICAgICAgICAgICAgYXV0byByZWdpc3RyYXRpb24gPSBtYWtlVW5pcXVlPFNXU2VydmVy
UmVnaXN0cmF0aW9uPigqdGhpcywgZGF0YS5yZWdpc3RyYXRpb24ua2V5LCBkYXRhLnJlZ2lzdHJh
dGlvbi51cGRhdGVWaWFDYWNoZSwgZGF0YS5yZWdpc3RyYXRpb24uc2NvcGVVUkwsIGRhdGEuc2Ny
aXB0VVJMLCBkYXRhLnNlcnZpY2VXb3JrZXJQYWdlSWRlbnRpZmllciwgV1RGTW92ZShkYXRhLm5h
dmlnYXRpb25QcmVsb2FkU3RhdGUpKTsKICAgICAgICAgICAgIHJlZ2lzdHJhdGlvbi0+c2V0TGFz
dFVwZGF0ZVRpbWUoZGF0YS5yZWdpc3RyYXRpb24ubGFzdFVwZGF0ZVRpbWUpOwogICAgICAgICAg
ICAgYXV0byByZWdpc3RyYXRpb25QdHIgPSByZWdpc3RyYXRpb24uZ2V0KCk7CiAgICAgICAgICAg
ICBhZGRSZWdpc3RyYXRpb24oV1RGTW92ZShyZWdpc3RyYXRpb24pKTsKQEAgLTU4Myw5ICs1ODMs
MTUgQEAgdm9pZCBTV1NlcnZlcjo6ZGlkRmluaXNoQWN0aXZhdGlvbihTV1NlcnZlcldvcmtlciYg
d29ya2VyKQogICAgIGlmICghcmVnaXN0cmF0aW9uKQogICAgICAgICByZXR1cm47CiAKKyAgICBz
dG9yZVJlZ2lzdHJhdGlvbkZvcldvcmtlcih3b3JrZXIpOworCisgICAgcmVnaXN0cmF0aW9uLT5k
aWRGaW5pc2hBY3RpdmF0aW9uKHdvcmtlci5pZGVudGlmaWVyKCkpOworfQorCit2b2lkIFNXU2Vy
dmVyOjpzdG9yZVJlZ2lzdHJhdGlvbkZvcldvcmtlcihTV1NlcnZlcldvcmtlciYgd29ya2VyKQor
ewogICAgIGlmIChtX3JlZ2lzdHJhdGlvblN0b3JlKQogICAgICAgICBtX3JlZ2lzdHJhdGlvblN0
b3JlLT51cGRhdGVSZWdpc3RyYXRpb24od29ya2VyLmNvbnRleHREYXRhKCkpOwotICAgIHJlZ2lz
dHJhdGlvbi0+ZGlkRmluaXNoQWN0aXZhdGlvbih3b3JrZXIuaWRlbnRpZmllcigpKTsKIH0KIAog
Ly8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL1NlcnZpY2VXb3JrZXIvI2NsaWVudHMtZ2V0YWxsCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVy
LmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmgKaW5k
ZXggNDUyMmYzNDNjYWZlMDQ4NzdhYTA5MDU1NTNmMWU4NjU2YTAyM2QzYS4uYjE1ZjFhZjVlMGVk
NzJhYWExZGRiZGE5YTJmZmUzZmIyOWFiMTM4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuaApAQCAtMTk0LDYgKzE5NCw3IEBAIHB1Ymxp
YzoKICAgICB2b2lkIGRpZFNhdmVXb3JrZXJTY3JpcHRzVG9EaXNrKFNlcnZpY2VXb3JrZXJJZGVu
dGlmaWVyLCBTY3JpcHRCdWZmZXImJiBtYWluU2NyaXB0LCBIYXNoTWFwPFVSTCwgU2NyaXB0QnVm
ZmVyPiYmIGltcG9ydGVkU2NyaXB0cyk7CiAgICAgdm9pZCByZWdpc3RyYXRpb25TdG9yZUltcG9y
dENvbXBsZXRlKCk7CiAgICAgdm9pZCByZWdpc3RyYXRpb25TdG9yZURhdGFiYXNlRmFpbGVkVG9P
cGVuKCk7CisgICAgdm9pZCBzdG9yZVJlZ2lzdHJhdGlvbkZvcldvcmtlcihTV1NlcnZlcldvcmtl
ciYpOwogCiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBnZXRPcmlnaW5zV2l0aFJlZ2lzdHJhdGlv
bnMoRnVuY3Rpb248dm9pZChjb25zdCBIYXNoU2V0PFNlY3VyaXR5T3JpZ2luRGF0YT4mKT4mJik7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dT
ZXJ2ZXJKb2JRdWV1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVy
L1NXU2VydmVySm9iUXVldWUuY3BwCmluZGV4IGQ2MGZmMDA5OWJhMWM4YzA4Y2ExZTdhNjIyZDZm
ODc0MWFmZmFjOTcuLmYxZjAyNTZmYjhjMWEzZWI1OGZiZTA1YjA0YTU4ZmZlZjNjYThiMzkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJK
b2JRdWV1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9T
V1NlcnZlckpvYlF1ZXVlLmNwcApAQCAtMjk3LDcgKzI5Nyw3IEBAIHZvaWQgU1dTZXJ2ZXJKb2JR
dWV1ZTo6cnVuUmVnaXN0ZXJKb2IoY29uc3QgU2VydmljZVdvcmtlckpvYkRhdGEmIGpvYikKICAg
ICAgICAgICAgIHJlZ2lzdHJhdGlvbi0+c2V0VXBkYXRlVmlhQ2FjaGUoam9iLnJlZ2lzdHJhdGlv
bk9wdGlvbnMudXBkYXRlVmlhQ2FjaGUpOwogICAgICAgICBSRUxFQVNFX0xPRyhTZXJ2aWNlV29y
a2VyLCAiJXAgLSBTV1NlcnZlckpvYlF1ZXVlOjpydW5SZWdpc3RlckpvYjogRm91bmQgcmVnaXN0
cmF0aW9uICVsbHUgZm9yIGpvYiAlcyBidXQgaXQgbmVlZHMgdXBkYXRpbmciLCB0aGlzLCByZWdp
c3RyYXRpb24tPmlkZW50aWZpZXIoKS50b1VJbnQ2NCgpLCBqb2IuaWRlbnRpZmllcigpLmxvZ2dp
bmdTdHJpbmcoKS51dGY4KCkuZGF0YSgpKTsKICAgICB9IGVsc2UgewotICAgICAgICBhdXRvIG5l
d1JlZ2lzdHJhdGlvbiA9IG1ha2VVbmlxdWU8U1dTZXJ2ZXJSZWdpc3RyYXRpb24+KG1fc2VydmVy
LCBtX3JlZ2lzdHJhdGlvbktleSwgam9iLnJlZ2lzdHJhdGlvbk9wdGlvbnMudXBkYXRlVmlhQ2Fj
aGUsIGpvYi5zY29wZVVSTCwgam9iLnNjcmlwdFVSTCwgam9iLnNlcnZpY2VXb3JrZXJQYWdlSWRl
bnRpZmllcigpKTsKKyAgICAgICAgYXV0byBuZXdSZWdpc3RyYXRpb24gPSBtYWtlVW5pcXVlPFNX
U2VydmVyUmVnaXN0cmF0aW9uPihtX3NlcnZlciwgbV9yZWdpc3RyYXRpb25LZXksIGpvYi5yZWdp
c3RyYXRpb25PcHRpb25zLnVwZGF0ZVZpYUNhY2hlLCBqb2Iuc2NvcGVVUkwsIGpvYi5zY3JpcHRV
UkwsIGpvYi5zZXJ2aWNlV29ya2VyUGFnZUlkZW50aWZpZXIoKSwgTmF2aWdhdGlvblByZWxvYWRT
dGF0ZSB7IGZhbHNlLCAidHJ1ZSJfcyB9KTsKICAgICAgICAgbV9zZXJ2ZXIuYWRkUmVnaXN0cmF0
aW9uKFdURk1vdmUobmV3UmVnaXN0cmF0aW9uKSk7CiAKICAgICAgICAgUkVMRUFTRV9MT0coU2Vy
dmljZVdvcmtlciwgIiVwIC0gU1dTZXJ2ZXJKb2JRdWV1ZTo6cnVuUmVnaXN0ZXJKb2I6IE5vIGV4
aXN0aW5nIHJlZ2lzdHJhdGlvbiBmb3Igam9iICVzLCBjb25zdHJ1Y3RpbmcgYSBuZXcgb25lLiIs
IHRoaXMsIGpvYi5pZGVudGlmaWVyKCkubG9nZ2luZ1N0cmluZygpLnV0ZjgoKS5kYXRhKCkpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZl
clJlZ2lzdHJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVy
L1NXU2VydmVyUmVnaXN0cmF0aW9uLmNwcAppbmRleCBlYzdiM2JjMzIxYzczMDcxOWRkOTUzMjZj
YzQ1YjhmZWJjMWNiMjc1Li4zM2I1YjM5OGU0ZmRlMDc4NjgxYjNmNDk4MzdlNDhjODU4MmEyMjcy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2Vy
dmVyUmVnaXN0cmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uv
c2VydmVyL1NXU2VydmVyUmVnaXN0cmF0aW9uLmNwcApAQCAtNDMsNyArNDMsNyBAQCBzdGF0aWMg
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIgZ2VuZXJhdGVTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uSWRlbgogICAgIHJldHVybiBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRl
bnRpZmllcjo6Z2VuZXJhdGUoKTsKIH0KIAotU1dTZXJ2ZXJSZWdpc3RyYXRpb246OlNXU2VydmVy
UmVnaXN0cmF0aW9uKFNXU2VydmVyJiBzZXJ2ZXIsIGNvbnN0IFNlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb25LZXkmIGtleSwgU2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlIHVwZGF0ZVZpYUNhY2hl
LCBjb25zdCBVUkwmIHNjb3BlVVJMLCBjb25zdCBVUkwmIHNjcmlwdFVSTCwgc3RkOjpvcHRpb25h
bDxTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllcj4gc2VydmljZVdvcmtlclBhZ2VJZGVu
dGlmaWVyKQorU1dTZXJ2ZXJSZWdpc3RyYXRpb246OlNXU2VydmVyUmVnaXN0cmF0aW9uKFNXU2Vy
dmVyJiBzZXJ2ZXIsIGNvbnN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkmIGtleSwgU2Vy
dmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlIHVwZGF0ZVZpYUNhY2hlLCBjb25zdCBVUkwmIHNjb3Bl
VVJMLCBjb25zdCBVUkwmIHNjcmlwdFVSTCwgc3RkOjpvcHRpb25hbDxTY3JpcHRFeGVjdXRpb25D
b250ZXh0SWRlbnRpZmllcj4gc2VydmljZVdvcmtlclBhZ2VJZGVudGlmaWVyLCBOYXZpZ2F0aW9u
UHJlbG9hZFN0YXRlJiYgbmF2aWdhdGlvblByZWxvYWRTdGF0ZSkKICAgICA6IG1faWRlbnRpZmll
cihnZW5lcmF0ZVNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyKCkpCiAgICAgLCBt
X3JlZ2lzdHJhdGlvbktleShrZXkpCiAgICAgLCBtX3VwZGF0ZVZpYUNhY2hlKHVwZGF0ZVZpYUNh
Y2hlKQpAQCAtNTMsOSArNTMsOSBAQCBTV1NlcnZlclJlZ2lzdHJhdGlvbjo6U1dTZXJ2ZXJSZWdp
c3RyYXRpb24oU1dTZXJ2ZXImIHNlcnZlciwgY29uc3QgU2VydmljZVdvcmtlcgogICAgICwgbV9z
ZXJ2ZXIoc2VydmVyKQogICAgICwgbV9jcmVhdGlvblRpbWUoTW9ub3RvbmljVGltZTo6bm93KCkp
CiAgICAgLCBtX3NvZnRVcGRhdGVUaW1lciB7ICp0aGlzLCAmU1dTZXJ2ZXJSZWdpc3RyYXRpb246
OnNvZnRVcGRhdGUgfQorICAgICwgbV9wcmVsb2FkU3RhdGUoV1RGTW92ZShuYXZpZ2F0aW9uUHJl
bG9hZFN0YXRlKSkKIHsKICAgICBtX3Njb3BlVVJMLnJlbW92ZUZyYWdtZW50SWRlbnRpZmllcigp
OwotICAgIG1fcHJlbG9hZFN0YXRlLmhlYWRlclZhbHVlID0gInRydWUiX3M7CiB9CiAKIFNXU2Vy
dmVyUmVnaXN0cmF0aW9uOjp+U1dTZXJ2ZXJSZWdpc3RyYXRpb24oKQpAQCAtMzg3LDMyICszODcs
MzUgQEAgdm9pZCBTV1NlcnZlclJlZ2lzdHJhdGlvbjo6c2NoZWR1bGVTb2Z0VXBkYXRlKElzQXBw
SW5pdGlhdGVkIGlzQXBwSW5pdGlhdGVkKQogLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL1NlcnZp
Y2VXb3JrZXIvI2RvbS1uYXZpZ2F0aW9ucHJlbG9hZG1hbmFnZXItZW5hYmxlLCBzdGVwcyBydW4g
aW4gcGFyYWxsZWwuCiBzdGQ6Om9wdGlvbmFsPEV4Y2VwdGlvbkRhdGE+IFNXU2VydmVyUmVnaXN0
cmF0aW9uOjplbmFibGVOYXZpZ2F0aW9uUHJlbG9hZCgpCiB7Ci0gICAgLy8gRklYTUU6IFBlcnNp
c3QgdGhpcyBkYXRhLgogICAgIGlmICghbV9hY3RpdmVXb3JrZXIpCiAgICAgICAgIHJldHVybiBF
eGNlcHRpb25EYXRhIHsgSW52YWxpZFN0YXRlRXJyb3IsICJObyBhY3RpdmUgd29ya2VyIl9zIH07
CisKICAgICBtX3ByZWxvYWRTdGF0ZS5lbmFibGVkID0gdHJ1ZTsKKyAgICBtX3NlcnZlci5zdG9y
ZVJlZ2lzdHJhdGlvbkZvcldvcmtlcigqbV9hY3RpdmVXb3JrZXIpOwogICAgIHJldHVybiB7IH07
CiB9CiAKIC8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9TZXJ2aWNlV29ya2VyLyNkb20tbmF2aWdh
dGlvbnByZWxvYWRtYW5hZ2VyLWRpc2FibGUsIHN0ZXBzIHJ1biBpbiBwYXJhbGxlbC4KIHN0ZDo6
b3B0aW9uYWw8RXhjZXB0aW9uRGF0YT4gU1dTZXJ2ZXJSZWdpc3RyYXRpb246OmRpc2FibGVOYXZp
Z2F0aW9uUHJlbG9hZCgpCiB7Ci0gICAgLy8gRklYTUU6IFBlcnNpc3QgdGhpcyBkYXRhLgogICAg
IGlmICghbV9hY3RpdmVXb3JrZXIpCiAgICAgICAgIHJldHVybiBFeGNlcHRpb25EYXRhIHsgSW52
YWxpZFN0YXRlRXJyb3IsICJObyBhY3RpdmUgd29ya2VyIl9zIH07CisKICAgICBtX3ByZWxvYWRT
dGF0ZS5lbmFibGVkID0gZmFsc2U7CisgICAgbV9zZXJ2ZXIuc3RvcmVSZWdpc3RyYXRpb25Gb3JX
b3JrZXIoKm1fYWN0aXZlV29ya2VyKTsKICAgICByZXR1cm4geyB9OwogfQogCiAvLyBodHRwczov
L3czYy5naXRodWIuaW8vU2VydmljZVdvcmtlci8jZG9tLW5hdmlnYXRpb25wcmVsb2FkbWFuYWdl
ci1zZXRoZWFkZXJ2YWx1ZSwgc3RlcHMgcnVuIGluIHBhcmFsbGVsLgogc3RkOjpvcHRpb25hbDxF
eGNlcHRpb25EYXRhPiBTV1NlcnZlclJlZ2lzdHJhdGlvbjo6c2V0TmF2aWdhdGlvblByZWxvYWRI
ZWFkZXJWYWx1ZShTdHJpbmcmJiBoZWFkZXJWYWx1ZSkKIHsKLSAgICAvLyBGSVhNRTogUGVyc2lz
dCB0aGlzIGRhdGEuCiAgICAgaWYgKCFpc1ZhbGlkSFRUUEhlYWRlclZhbHVlKGhlYWRlclZhbHVl
KSkKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbkRhdGEgeyBUeXBlRXJyb3IsICJJbnZhbGlkIGhl
YWRlciB2YWx1ZSJfcyB9OwogICAgIGlmICghbV9hY3RpdmVXb3JrZXIpCiAgICAgICAgIHJldHVy
biBFeGNlcHRpb25EYXRhIHsgSW52YWxpZFN0YXRlRXJyb3IsICJObyBhY3RpdmUgd29ya2VyIl9z
IH07CisKICAgICBtX3ByZWxvYWRTdGF0ZS5oZWFkZXJWYWx1ZSA9IFdURk1vdmUoaGVhZGVyVmFs
dWUpOworICAgIG1fc2VydmVyLnN0b3JlUmVnaXN0cmF0aW9uRm9yV29ya2VyKCptX2FjdGl2ZVdv
cmtlcik7CiAgICAgcmV0dXJuIHsgfTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlclJlZ2lzdHJhdGlvbi5oIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlclJlZ2lzdHJhdGlvbi5oCmluZGV4
IGI5ZmQwZDkyNTQwNDkzNDNmMjU1NTlhZWM4YjI4YTE0YjYyOTJlYzUuLjVmODY1ZmU2ZDQ1OWFm
ZTEwMjExYjllYzRiNmIzOWJlOGU0MmU0ODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJSZWdpc3RyYXRpb24uaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyUmVnaXN0cmF0aW9uLmgKQEAg
LTUzLDcgKzUzLDcgQEAgZW51bSBjbGFzcyBJc0FwcEluaXRpYXRlZCA6IGJvb2wgeyBObywgWWVz
IH07CiBjbGFzcyBTV1NlcnZlclJlZ2lzdHJhdGlvbiA6IHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxT
V1NlcnZlclJlZ2lzdHJhdGlvbj4gewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVi
bGljOgotICAgIFNXU2VydmVyUmVnaXN0cmF0aW9uKFNXU2VydmVyJiwgY29uc3QgU2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbktleSYsIFNlcnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNoZSwgY29uc3Qg
VVJMJiBzY29wZVVSTCwgY29uc3QgVVJMJiBzY3JpcHRVUkwsIHN0ZDo6b3B0aW9uYWw8U2NyaXB0
RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXI+IHNlcnZpY2VXb3JrZXJQYWdlSWRlbnRpZmllcik7
CisgICAgU1dTZXJ2ZXJSZWdpc3RyYXRpb24oU1dTZXJ2ZXImLCBjb25zdCBTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uS2V5JiwgU2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlLCBjb25zdCBVUkwm
IHNjb3BlVVJMLCBjb25zdCBVUkwmIHNjcmlwdFVSTCwgc3RkOjpvcHRpb25hbDxTY3JpcHRFeGVj
dXRpb25Db250ZXh0SWRlbnRpZmllcj4gc2VydmljZVdvcmtlclBhZ2VJZGVudGlmaWVyLCBOYXZp
Z2F0aW9uUHJlbG9hZFN0YXRlJiYpOwogICAgIH5TV1NlcnZlclJlZ2lzdHJhdGlvbigpOwogCiAg
ICAgY29uc3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleSYga2V5KCkgY29uc3QgeyByZXR1
cm4gbV9yZWdpc3RyYXRpb25LZXk7IH0KQEAgLTExNCw3ICsxMTQsNyBAQCBwdWJsaWM6CiAgICAg
V0VCQ09SRV9FWFBPUlQgc3RkOjpvcHRpb25hbDxFeGNlcHRpb25EYXRhPiBlbmFibGVOYXZpZ2F0
aW9uUHJlbG9hZCgpOwogICAgIFdFQkNPUkVfRVhQT1JUIHN0ZDo6b3B0aW9uYWw8RXhjZXB0aW9u
RGF0YT4gZGlzYWJsZU5hdmlnYXRpb25QcmVsb2FkKCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgc3Rk
OjpvcHRpb25hbDxFeGNlcHRpb25EYXRhPiBzZXROYXZpZ2F0aW9uUHJlbG9hZEhlYWRlclZhbHVl
KFN0cmluZyYmKTsKLSAgICBOYXZpZ2F0aW9uUHJlbG9hZFN0YXRlIG5hdmlnYXRpb25QcmVsb2Fk
U3RhdGUoKSB7IHJldHVybiBtX3ByZWxvYWRTdGF0ZTsgfQorICAgIGNvbnN0IE5hdmlnYXRpb25Q
cmVsb2FkU3RhdGUmIG5hdmlnYXRpb25QcmVsb2FkU3RhdGUoKSB7IHJldHVybiBtX3ByZWxvYWRT
dGF0ZTsgfQogCiBwcml2YXRlOgogICAgIHZvaWQgYWN0aXZhdGUoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJXb3JrZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlcldvcmtlci5jcHAK
aW5kZXggYjY3YmE5YTk2NDM1NGYwZDZkZGFmOGJmZjY5ZWJiMWU3ZTBkMGQ4Zi4uNWQxNTU2YTAw
NmRhYjE1MTY3NjUxYTIzZGYyZmIzMzMwNDdmNmI0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlcldvcmtlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlcldvcmtlci5jcHAKQEAgLTg4
LDcgKzg4LDcgQEAgU2VydmljZVdvcmtlckNvbnRleHREYXRhIFNXU2VydmVyV29ya2VyOjpjb250
ZXh0RGF0YSgpIGNvbnN0CiB7CiAgICAgQVNTRVJUKG1fcmVnaXN0cmF0aW9uKTsKIAotICAgIHJl
dHVybiB7IHN0ZDo6bnVsbG9wdCwgbV9yZWdpc3RyYXRpb24tPmRhdGEoKSwgbV9kYXRhLmlkZW50
aWZpZXIsIG1fc2NyaXB0LCBtX2NlcnRpZmljYXRlSW5mbywgbV9jb250ZW50U2VjdXJpdHlQb2xp
Y3ksIG1fY3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeSwgbV9yZWZlcnJlclBvbGljeSwgbV9kYXRh
LnNjcmlwdFVSTCwgbV9kYXRhLnR5cGUsIGZhbHNlLCBtX2xhc3ROYXZpZ2F0aW9uV2FzQXBwSW5p
dGlhdGVkLCBtX3NjcmlwdFJlc291cmNlTWFwLCBtX3JlZ2lzdHJhdGlvbi0+c2VydmljZVdvcmtl
clBhZ2VJZGVudGlmaWVyKCkgfTsKKyAgICByZXR1cm4geyBzdGQ6Om51bGxvcHQsIG1fcmVnaXN0
cmF0aW9uLT5kYXRhKCksIG1fZGF0YS5pZGVudGlmaWVyLCBtX3NjcmlwdCwgbV9jZXJ0aWZpY2F0
ZUluZm8sIG1fY29udGVudFNlY3VyaXR5UG9saWN5LCBtX2Nyb3NzT3JpZ2luRW1iZWRkZXJQb2xp
Y3ksIG1fcmVmZXJyZXJQb2xpY3ksIG1fZGF0YS5zY3JpcHRVUkwsIG1fZGF0YS50eXBlLCBmYWxz
ZSwgbV9sYXN0TmF2aWdhdGlvbldhc0FwcEluaXRpYXRlZCwgbV9zY3JpcHRSZXNvdXJjZU1hcCwg
bV9yZWdpc3RyYXRpb24tPnNlcnZpY2VXb3JrZXJQYWdlSWRlbnRpZmllcigpLCBtX3JlZ2lzdHJh
dGlvbi0+bmF2aWdhdGlvblByZWxvYWRTdGF0ZSgpIH07CiB9CiAKIHZvaWQgU1dTZXJ2ZXJXb3Jr
ZXI6OnVwZGF0ZUFwcEluaXRpYXRlZFZhbHVlKExhc3ROYXZpZ2F0aW9uV2FzQXBwSW5pdGlhdGVk
IGxhc3ROYXZpZ2F0aW9uV2FzQXBwSW5pdGlhdGVkKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDFjZmZmMGUxMzUwZmZiOTk4
MWY0OGQwMTJkOWVkYjZjOTQzMTcxNmUuLjEyNzc3Y2M2YmI2YmJlYTNkZTVlYjlhZGNkMDA4YmRk
YTBlZTU2M2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAyMS0xMi0wMSAgWW91ZW5uIEZhYmxl
dCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgUGVyc2lzdCBOYXZpZ2F0aW9uUHJlbG9h
ZFN0YXRlIGluIHNlcnZpY2Ugd29ya2VyIHJlZ2lzdHJhdGlvbiBkYXRhYmFzZQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzNjk4CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBodHRwL3dwdC9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXItbmV0d29ya3Byb2Nlc3MtY3Jhc2gtZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIGh0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci1uZXR3
b3JrcHJvY2Vzcy1jcmFzaC5odG1sOgorCiAyMDIxLTEyLTAxICBZb3Vlbm4gRmFibGV0ICA8eW91
ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgc3VwcG9ydCBmb3IgTmF2aWdhdGlvblByZWxv
YWRNYW5hZ2VyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXItbmV0d29ya3Byb2Nlc3MtY3Jhc2gtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaHR0cC93cHQvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyLW5ldHdvcmtw
cm9jZXNzLWNyYXNoLWV4cGVjdGVkLnR4dAppbmRleCA3MmNjMjM4ZTIxY2MzNmE1MjdjYmEyMjYx
YmU5OTk0ZDY1YWNmZGFkLi43MTQ4MGUyY2RkYTAxN2Q0MzMwMzllMTg4NDRmNzBlNzkxMzI1YTUz
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXItbmV0d29ya3Byb2Nlc3MtY3Jhc2gtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci1uZXR3b3JrcHJvY2Vz
cy1jcmFzaC1leHBlY3RlZC50eHQKQEAgLTEsNSArMSw0IEBACiAKLQogUEFTUyBTZXR1cCB3b3Jr
ZXIKIFBBU1MgRnJhbWUgYmVpbmcgY29udHJvbGxlZAogUEFTUyBGcmFtZSBiZWluZyBjb250cm9s
bGVkIGFmdGVyIG5ldHdvcmsgcHJvY2VzcyBjcmFzaApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC93cHQvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyLW5ldHdvcmtwcm9jZXNzLWNy
YXNoLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXItbmV0d29ya3Byb2Nlc3MtY3Jhc2guaHRtbAppbmRleCA1M2ExMjA1Y2ZjN2FjMGZkMzMy
MzNkMTZjZjc3YmIzYWMzZmY4ODc3Li43NWMxMGQwYjBhZGE2NjEzNmYwYTUyYmIwN2UyOTM3MzY0
ZGI4OGVkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXItbmV0d29ya3Byb2Nlc3MtY3Jhc2guaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXItbmV0d29ya3Byb2Nlc3Mt
Y3Jhc2guaHRtbApAQCAtMzUsNyArMzUsMTAgQEAgYXN5bmMgZnVuY3Rpb24gcmVnaXN0ZXJTZXJ2
aWNlV29ya2VyKCkKIH0KIAogcHJvbWlzZV90ZXN0KGFzeW5jICh0ZXN0KSA9PiB7Ci0gICAgYXdh
aXQgcmVnaXN0ZXJTZXJ2aWNlV29ya2VyKCk7CisgICAgY29uc3QgcmVnaXN0cmF0aW9uID0gYXdh
aXQgcmVnaXN0ZXJTZXJ2aWNlV29ya2VyKCk7CisgICAgLy8gRW5hYmxlIHByZWxvYWQgdG8gdmFs
aWRhdGUgcHJlbG9hZCBwZXJzaXN0ZW5jeS4KKyAgICBhd2FpdCByZWdpc3RyYXRpb24ubmF2aWdh
dGlvblByZWxvYWQuZW5hYmxlKCk7CisgICAgYXdhaXQgcmVnaXN0cmF0aW9uLm5hdmlnYXRpb25Q
cmVsb2FkLnNldEhlYWRlclZhbHVlKCJ0ZXN0Iik7CiB9LCAiU2V0dXAgd29ya2VyIik7CiAKIHBy
b21pc2VfdGVzdChhc3luYyAodGVzdCkgPT4gewpAQCAtNTQsMTQgKzU3LDIxIEBAIHByb21pc2Vf
dGVzdChhc3luYyAodGVzdCkgPT4gewogICAgIGxldCBjb3VudCA9IDA7CiAgICAgd2hpbGUgKGNv
dW50KysgPCAxMDApIHsKICAgICAgICAgY29uc3QgZnJhbWUgPSBhd2FpdCB3aXRoRnJhbWUoc2Nv
cGUgKyAiL2VtcHR5Lmh0bWwiKTsKLSAgICAgICAgaWYgKGZyYW1lLmNvbnRlbnRXaW5kb3cubmF2
aWdhdG9yLnNlcnZpY2VXb3JrZXIuY29udHJvbGxlcikKKyAgICAgICAgaWYgKGZyYW1lLmNvbnRl
bnRXaW5kb3cubmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIuY29udHJvbGxlcikgeworICAgICAgICAg
ICAgZnJhbWUucmVtb3ZlKCk7CiAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQogICAgICAg
ICBmcmFtZS5yZW1vdmUoKTsKICAgICAgICAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiBz
ZXRUaW1lb3V0KHJlc29sdmUsIDUwKSk7CiAgICAgfQogICAgIGFzc2VydF90cnVlKGNvdW50IDwg
MTAwKTsKIAotICAgIGF3YWl0IG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLmdldFJlZ2lzdHJhdGlv
bihzY29wZSk7CisgICAgY29uc3QgcmVnaXN0cmF0aW9uID0gYXdhaXQgbmF2aWdhdG9yLnNlcnZp
Y2VXb3JrZXIuZ2V0UmVnaXN0cmF0aW9uKHNjb3BlKTsKKworICAgIC8vIFZhbGlkYXRlIHByZWxv
YWQgcGVyc2lzdGVuY3kuCisgICAgY29uc3Qgc3RhdGUgPSBhd2FpdCByZWdpc3RyYXRpb24ubmF2
aWdhdGlvblByZWxvYWQuZ2V0U3RhdGUoKTsKKyAgICBhc3NlcnRfdHJ1ZShzdGF0ZS5lbmFibGVk
LCAic3RhdGUuZW5hYmxlZCIpOworICAgIGFzc2VydF9lcXVhbHMoc3RhdGUuaGVhZGVyVmFsdWUs
ICJ0ZXN0Iik7CiB9LCAiRnJhbWUgYmVpbmcgY29udHJvbGxlZCBhZnRlciBuZXR3b3JrIHByb2Nl
c3MgY3Jhc2giKTsKIDwvc2NyaXB0PgogPC9ib2R5Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>445684</attachid>
            <date>2021-12-02 00:13:38 -0800</date>
            <delta_ts>2021-12-02 01:42:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233698-20211202091337.patch</filename>
            <type>text/plain</type>
            <size>24778</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2NDE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzM0Y2U1Y2Y1OTJiZjkw
MDM0ZGJlMzgwN2I1ZmY3OGVmYTg2MDVlMy4uNTAwZDA2Zjg0MWUxMWY5YjczZmY3ODhhNTEzM2E2
ODdhOWYyNWYzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDIxLTEyLTAyICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBQZXJzaXN0IE5hdmlnYXRp
b25QcmVsb2FkU3RhdGUgaW4gc2VydmljZSB3b3JrZXIgcmVnaXN0cmF0aW9uIGRhdGFiYXNlCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzM2OTgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXaGVuZXZlciBj
aGFuZ2luZyBhIHNlcnZpY2Ugd29ya2VyIHJlZ2lzdHJhdGlvbiBuYXZpZ2F0aW9uIHN0YXRlLCB0
cmlnZ2VyIHN0b3Jpbmcgb2YgdGhlIGNoYW5nZXMgaW4gdGhlIGRhdGFiYXNlLgorICAgICAgICBU
byBkbyBzbywgd2UgYWRkIHRoaXMgc3RhdGUgdG8gU2VydmljZVdvcmtlckNvbnRleHREYXRhLgor
ICAgICAgICBXaGVuIGNyZWF0aW5nIGEgU1dTZXJ2ZXJSZWdpc3RyYXRpb24sIHdlIHNldCBkZWZh
dWx0IHZhbHVlcyB0byBmYWxzZSBhbmQgInRydWUiCisgICAgICAgIGFzIHBlciBodHRwczovL3cz
Yy5naXRodWIuaW8vU2VydmljZVdvcmtlci8jc2VydmljZS13b3JrZXItcmVnaXN0cmF0aW9uLW5h
dmlnYXRpb24tcHJlbG9hZC1oZWFkZXItdmFsdWUuCisKKyAgICAgICAgQ292ZXJlZCBieSB1cGRh
dGVkIHRlc3QuCisKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRl
eHREYXRhLmNwcDoKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRl
eHREYXRhLmg6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9SZWdpc3RyYXRpb25E
YXRhYmFzZS5jcHA6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9SZWdpc3RyYXRp
b25TdG9yZS5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuY3Bw
OgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuaDoKKyAgICAgICAg
KiB3b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVySm9iUXVldWUuY3BwOgorICAgICAgICAq
IHdvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJSZWdpc3RyYXRpb24uY3BwOgorICAgICAg
ICAqIHdvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJSZWdpc3RyYXRpb24uaDoKKyAgICAg
ICAgKiB3b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyV29ya2VyLmNwcDoKKwogMjAyMS0x
Mi0wMSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIHN1
cHBvcnQgZm9yIE5hdmlnYXRpb25QcmVsb2FkTWFuYWdlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zZXJ2aWNlL05hdmlnYXRpb25QcmVsb2FkU3RhdGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9OYXZpZ2F0aW9uUHJlbG9hZFN0YXRlLmgKaW5kZXggYzM4
ZWQ1ZTI3OTdmNTVkNTAxZDFkZGNmOGY3MDFiNWJlZDAwMWE1OC4uMGIyNjM1NDg4NmU3ZDRmMjAx
M2NjZjZkZDI0ZmI0NTM5ZGRiZGUyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL05hdmlnYXRpb25QcmVsb2FkU3RhdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL3NlcnZpY2UvTmF2aWdhdGlvblByZWxvYWRTdGF0ZS5oCkBAIC0zMywxNCArMzMsMTYg
QEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogc3RydWN0IE5hdmlnYXRpb25QcmVsb2FkU3RhdGUg
ewotICAgIGJvb2wgZW5hYmxlZCB7IGZhbHNlIH07Ci0gICAgU3RyaW5nIGhlYWRlclZhbHVlOwor
ICAgIHN0YXRpYyBOYXZpZ2F0aW9uUHJlbG9hZFN0YXRlIGRlZmF1bHRWYWx1ZSgpIHsgcmV0dXJu
IHsgZmFsc2UsICJ0cnVlIl9zIH07IH0KIAogICAgIE5hdmlnYXRpb25QcmVsb2FkU3RhdGUgaXNv
bGF0ZWRDb3B5KCkgY29uc3QgJiB7IHJldHVybiB7IGVuYWJsZWQsIGhlYWRlclZhbHVlLmlzb2xh
dGVkQ29weSgpIH07IH0KICAgICBOYXZpZ2F0aW9uUHJlbG9hZFN0YXRlIGlzb2xhdGVkQ29weSgp
ICYmIHsgcmV0dXJuIHsgZW5hYmxlZCwgV1RGTW92ZShoZWFkZXJWYWx1ZSkuaXNvbGF0ZWRDb3B5
KCkgfTsgfQogCiAgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2Rl
ciYgZW5jb2RlcikgY29uc3QgeyBlbmNvZGVyIDw8IGVuYWJsZWQgPDwgaGVhZGVyVmFsdWU7IH0K
ICAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgc3RkOjpvcHRpb25hbDxOYXZpZ2F0
aW9uUHJlbG9hZFN0YXRlPiBkZWNvZGUoRGVjb2RlciYpOworCisgICAgYm9vbCBlbmFibGVkIHsg
ZmFsc2UgfTsKKyAgICBTdHJpbmcgaGVhZGVyVmFsdWU7CiB9OwogCiB0ZW1wbGF0ZTxjbGFzcyBE
ZWNvZGVyPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZp
Y2VXb3JrZXJDb250ZXh0RGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uv
U2VydmljZVdvcmtlckNvbnRleHREYXRhLmNwcAppbmRleCA0ZGJkYjRiNGQwYjc2YTViODg1NTRi
MDA3ZjgxYjUwMGIyNGY5ZTVjLi4xYTQxMTEzNjQwMDBmM2FjYWYzNzBmMGM5ZTMxMTQyMjdhODlj
MDllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdv
cmtlckNvbnRleHREYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uv
U2VydmljZVdvcmtlckNvbnRleHREYXRhLmNwcApAQCAtNDcsNyArNDcsOCBAQCBTZXJ2aWNlV29y
a2VyQ29udGV4dERhdGEgU2VydmljZVdvcmtlckNvbnRleHREYXRhOjppc29sYXRlZENvcHkoKSBj
b25zdCAmCiAgICAgICAgIGxvYWRlZEZyb21EaXNrLAogICAgICAgICBsYXN0TmF2aWdhdGlvbldh
c0FwcEluaXRpYXRlZCwKICAgICAgICAgY3Jvc3NUaHJlYWRDb3B5KHNjcmlwdFJlc291cmNlTWFw
KSwKLSAgICAgICAgc2VydmljZVdvcmtlclBhZ2VJZGVudGlmaWVyCisgICAgICAgIHNlcnZpY2VX
b3JrZXJQYWdlSWRlbnRpZmllciwKKyAgICAgICAgY3Jvc3NUaHJlYWRDb3B5KG5hdmlnYXRpb25Q
cmVsb2FkU3RhdGUpLAogICAgIH07CiB9CiAKQEAgLTY3LDcgKzY4LDggQEAgU2VydmljZVdvcmtl
ckNvbnRleHREYXRhIFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YTo6aXNvbGF0ZWRDb3B5KCkgJiYK
ICAgICAgICAgbG9hZGVkRnJvbURpc2ssCiAgICAgICAgIGxhc3ROYXZpZ2F0aW9uV2FzQXBwSW5p
dGlhdGVkLAogICAgICAgICBjcm9zc1RocmVhZENvcHkoV1RGTW92ZShzY3JpcHRSZXNvdXJjZU1h
cCkpLAotICAgICAgICBzZXJ2aWNlV29ya2VyUGFnZUlkZW50aWZpZXIKKyAgICAgICAgc2Vydmlj
ZVdvcmtlclBhZ2VJZGVudGlmaWVyLAorICAgICAgICBjcm9zc1RocmVhZENvcHkoV1RGTW92ZShu
YXZpZ2F0aW9uUHJlbG9hZFN0YXRlKSkKICAgICB9OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRleHREYXRhLmggYi9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRleHREYXRhLmgKaW5k
ZXggMDFkOGNiY2Y0OTI0OTgxMWUzYjNkYzYzN2ViYzRiNGI0MTNjY2U3Yy4uNDZhOWZhNzAxMjll
Mzc1YzU5NjgxYmJhNmUzMGVhOThhYmNiMWQ4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250ZXh0RGF0YS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGV4dERhdGEuaApAQCAtMjgs
NiArMjgsNyBAQAogI2luY2x1ZGUgIkNlcnRpZmljYXRlSW5mby5oIgogI2luY2x1ZGUgIkNvbnRl
bnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycy5oIgogI2luY2x1ZGUgIkNyb3NzT3JpZ2lu
RW1iZWRkZXJQb2xpY3kuaCIKKyNpbmNsdWRlICJOYXZpZ2F0aW9uUHJlbG9hZFN0YXRlLmgiCiAj
aW5jbHVkZSAiU2NyaXB0QnVmZmVyLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4
dElkZW50aWZpZXIuaCIKICNpbmNsdWRlICJTZXJ2aWNlV29ya2VySWRlbnRpZmllci5oIgpAQCAt
OTUsNiArOTYsNyBAQCBzdHJ1Y3QgU2VydmljZVdvcmtlckNvbnRleHREYXRhIHsKICAgICBzdGQ6
Om9wdGlvbmFsPExhc3ROYXZpZ2F0aW9uV2FzQXBwSW5pdGlhdGVkPiBsYXN0TmF2aWdhdGlvbldh
c0FwcEluaXRpYXRlZDsKICAgICBIYXNoTWFwPFVSTCwgSW1wb3J0ZWRTY3JpcHQ+IHNjcmlwdFJl
c291cmNlTWFwOwogICAgIHN0ZDo6b3B0aW9uYWw8U2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50
aWZpZXI+IHNlcnZpY2VXb3JrZXJQYWdlSWRlbnRpZmllcjsKKyAgICBOYXZpZ2F0aW9uUHJlbG9h
ZFN0YXRlIG5hdmlnYXRpb25QcmVsb2FkU3RhdGU7CiAKICAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNv
ZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7CiAgICAgdGVtcGxhdGU8Y2xhc3MgRGVj
b2Rlcj4gc3RhdGljIHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlckNvbnRleHREYXRhPiBkZWNv
ZGUoRGVjb2RlciYpOwpAQCAtMTA3LDcgKzEwOSw3IEBAIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+
CiB2b2lkIFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YTo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIp
IGNvbnN0CiB7CiAgICAgZW5jb2RlciA8PCBqb2JEYXRhSWRlbnRpZmllciA8PCByZWdpc3RyYXRp
b24gPDwgc2VydmljZVdvcmtlcklkZW50aWZpZXIgPDwgc2NyaXB0IDw8IGNvbnRlbnRTZWN1cml0
eVBvbGljeSA8PCBjcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5IDw8IHJlZmVycmVyUG9saWN5Ci0g
ICAgICAgIDw8IHNjcmlwdFVSTCA8PCB3b3JrZXJUeXBlIDw8IGxvYWRlZEZyb21EaXNrIDw8IGxh
c3ROYXZpZ2F0aW9uV2FzQXBwSW5pdGlhdGVkIDw8IHNjcmlwdFJlc291cmNlTWFwIDw8IGNlcnRp
ZmljYXRlSW5mbyA8PCBzZXJ2aWNlV29ya2VyUGFnZUlkZW50aWZpZXI7CisgICAgICAgIDw8IHNj
cmlwdFVSTCA8PCB3b3JrZXJUeXBlIDw8IGxvYWRlZEZyb21EaXNrIDw8IGxhc3ROYXZpZ2F0aW9u
V2FzQXBwSW5pdGlhdGVkIDw8IHNjcmlwdFJlc291cmNlTWFwIDw8IGNlcnRpZmljYXRlSW5mbyA8
PCBzZXJ2aWNlV29ya2VyUGFnZUlkZW50aWZpZXIgPDwgbmF2aWdhdGlvblByZWxvYWRTdGF0ZTsK
IH0KIAogdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4KQEAgLTE3NSw2ICsxNzcsMTEgQEAgc3RkOjpv
cHRpb25hbDxTZXJ2aWNlV29ya2VyQ29udGV4dERhdGE+IFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0
YTo6ZGVjb2RlKERlY29kZXIKICAgICBpZiAoIXNlcnZpY2VXb3JrZXJQYWdlSWRlbnRpZmllcikK
ICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKIAorICAgIHN0ZDo6b3B0aW9uYWw8TmF2aWdh
dGlvblByZWxvYWRTdGF0ZT4gbmF2aWdhdGlvblByZWxvYWRTdGF0ZTsKKyAgICBkZWNvZGVyID4+
IG5hdmlnYXRpb25QcmVsb2FkU3RhdGU7CisgICAgaWYgKCFuYXZpZ2F0aW9uUHJlbG9hZFN0YXRl
KQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworCiAgICAgcmV0dXJuIHt7CiAgICAgICAg
IFdURk1vdmUoKmpvYkRhdGFJZGVudGlmaWVyKSwKICAgICAgICAgV1RGTW92ZSgqcmVnaXN0cmF0
aW9uKSwKQEAgLTE4OSw3ICsxOTYsOCBAQCBzdGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJDb250
ZXh0RGF0YT4gU2VydmljZVdvcmtlckNvbnRleHREYXRhOjpkZWNvZGUoRGVjb2RlcgogICAgICAg
ICBsb2FkZWRGcm9tRGlzaywKICAgICAgICAgV1RGTW92ZShsYXN0TmF2aWdhdGlvbldhc0FwcElu
aXRpYXRlZCksCiAgICAgICAgIFdURk1vdmUoc2NyaXB0UmVzb3VyY2VNYXApLAotICAgICAgICBX
VEZNb3ZlKCpzZXJ2aWNlV29ya2VyUGFnZUlkZW50aWZpZXIpCisgICAgICAgIFdURk1vdmUoKnNl
cnZpY2VXb3JrZXJQYWdlSWRlbnRpZmllciksCisgICAgICAgIFdURk1vdmUoKm5hdmlnYXRpb25Q
cmVsb2FkU3RhdGUpCiAgICAgfX07CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvc2VydmljZS9zZXJ2ZXIvUmVnaXN0cmF0aW9uRGF0YWJhc2UuY3BwIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9SZWdpc3RyYXRpb25EYXRhYmFzZS5jcHAKaW5k
ZXggY2JiZTMwZTU5NGE1OTBiMGY5ZDU2YTg3MGI2YzNmMWQzYTViNTQ2NS4uMWJiNGRhZWQ2OGZk
OWZlN2RkZjBkNTM5OWRlYjNhMmIyYzg5N2YxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zZXJ2aWNlL3NlcnZlci9SZWdpc3RyYXRpb25EYXRhYmFzZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9SZWdpc3RyYXRpb25EYXRhYmFzZS5j
cHAKQEAgLTUwLDcgKzUwLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgY29u
c3QgdWludDY0X3Qgc2NoZW1hVmVyc2lvbiA9IDc7CitzdGF0aWMgY29uc3QgdWludDY0X3Qgc2No
ZW1hVmVyc2lvbiA9IDg7CiAKICNkZWZpbmUgUkVDT1JEU19UQUJMRV9TQ0hFTUFfUFJFRklYICJD
UkVBVEUgVEFCTEUgIgogI2RlZmluZSBSRUNPUkRTX1RBQkxFX1NDSEVNQV9TVUZGSVggIigiIFwK
QEAgLTY3LDYgKzY3LDcgQEAgc3RhdGljIGNvbnN0IHVpbnQ2NF90IHNjaGVtYVZlcnNpb24gPSA3
OwogICAgICIsIHJlZmVycmVyUG9saWN5IFRFWFQgTk9UIE5VTEwgT04gQ09ORkxJQ1QgRkFJTCIg
XAogICAgICIsIHNjcmlwdFJlc291cmNlTWFwIEJMT0IgTk9UIE5VTEwgT04gQ09ORkxJQ1QgRkFJ
TCIgXAogICAgICIsIGNlcnRpZmljYXRlSW5mbyBCTE9CIE5PVCBOVUxMIE9OIENPTkZMSUNUIEZB
SUwiIFwKKyAgICAiLCBwcmVsb2FkU3RhdGUgQkxPQiBOT1QgTlVMTCBPTiBDT05GTElDVCBGQUlM
IiBcCiAgICAgIikiX3M7CiAKIHN0YXRpYyBBU0NJSUxpdGVyYWwgcmVjb3Jkc1RhYmxlU2NoZW1h
KCkKQEAgLTQyMiw3ICs0MjMsNyBAQCBib29sIFJlZ2lzdHJhdGlvbkRhdGFiYXNlOjpkb1B1c2hD
aGFuZ2VzKGNvbnN0IFZlY3RvcjxTZXJ2aWNlV29ya2VyQ29udGV4dERhdGE+JgogICAgIFNRTGl0
ZVRyYW5zYWN0aW9uIHRyYW5zYWN0aW9uKCptX2RhdGFiYXNlKTsKICAgICB0cmFuc2FjdGlvbi5i
ZWdpbigpOwogCi0gICAgYXV0byBpbnNlcnRTdGF0ZW1lbnQgPSBtX2RhdGFiYXNlLT5wcmVwYXJl
U3RhdGVtZW50KCJJTlNFUlQgSU5UTyBSZWNvcmRzIFZBTFVFUyAoPywgPywgPywgPywgPywgPywg
PywgPywgPywgPywgPywgPywgPykiX3MpOworICAgIGF1dG8gaW5zZXJ0U3RhdGVtZW50ID0gbV9k
YXRhYmFzZS0+cHJlcGFyZVN0YXRlbWVudCgiSU5TRVJUIElOVE8gUmVjb3JkcyBWQUxVRVMgKD8s
ID8sID8sID8sID8sID8sID8sID8sID8sID8sID8sID8sID8sID8pIl9zKTsKICAgICBpZiAoIWlu
c2VydFN0YXRlbWVudCkgewogICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihTZXJ2aWNlV29ya2Vy
LCAiRmFpbGVkIHRvIHByZXBhcmUgc3RhdGVtZW50IHRvIHN0b3JlIHJlZ2lzdHJhdGlvbiBkYXRh
IGludG8gcmVjb3JkcyB0YWJsZSAoJWkpIC0gJXMiLCBtX2RhdGFiYXNlLT5sYXN0RXJyb3IoKSwg
bV9kYXRhYmFzZS0+bGFzdEVycm9yTXNnKCkpOwogICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC00
NTUsNiArNDU2LDkgQEAgYm9vbCBSZWdpc3RyYXRpb25EYXRhYmFzZTo6ZG9QdXNoQ2hhbmdlcyhj
b25zdCBWZWN0b3I8U2VydmljZVdvcmtlckNvbnRleHREYXRhPiYKICAgICAgICAgV1RGOjpQZXJz
aXN0ZW5jZTo6RW5jb2RlciBjZXJ0aWZpY2F0ZUluZm9FbmNvZGVyOwogICAgICAgICBjZXJ0aWZp
Y2F0ZUluZm9FbmNvZGVyIDw8IGRhdGEuY2VydGlmaWNhdGVJbmZvOwogCisgICAgICAgIFdURjo6
UGVyc2lzdGVuY2U6OkVuY29kZXIgbmF2aWdhdGlvblByZWxvYWRTdGF0ZUVuY29kZXI7CisgICAg
ICAgIG5hdmlnYXRpb25QcmVsb2FkU3RhdGVFbmNvZGVyIDw8IGRhdGEubmF2aWdhdGlvblByZWxv
YWRTdGF0ZTsKKwogICAgICAgICBpZiAoaW5zZXJ0U3RhdGVtZW50LT5iaW5kVGV4dCgxLCBkYXRh
LnJlZ2lzdHJhdGlvbi5rZXkudG9EYXRhYmFzZUtleSgpKSAhPSBTUUxJVEVfT0sKICAgICAgICAg
ICAgIHx8IGluc2VydFN0YXRlbWVudC0+YmluZFRleHQoMiwgZGF0YS5yZWdpc3RyYXRpb24uc2Nv
cGVVUkwucHJvdG9jb2xIb3N0QW5kUG9ydCgpKSAhPSBTUUxJVEVfT0sKICAgICAgICAgICAgIHx8
IGluc2VydFN0YXRlbWVudC0+YmluZFRleHQoMywgZGF0YS5yZWdpc3RyYXRpb24uc2NvcGVVUkwu
cGF0aCgpLnRvU3RyaW5nKCkpICE9IFNRTElURV9PSwpAQCAtNDY4LDYgKzQ3Miw3IEBAIGJvb2wg
UmVnaXN0cmF0aW9uRGF0YWJhc2U6OmRvUHVzaENoYW5nZXMoY29uc3QgVmVjdG9yPFNlcnZpY2VX
b3JrZXJDb250ZXh0RGF0YT4mCiAgICAgICAgICAgICB8fCBpbnNlcnRTdGF0ZW1lbnQtPmJpbmRU
ZXh0KDExLCBkYXRhLnJlZmVycmVyUG9saWN5KSAhPSBTUUxJVEVfT0sKICAgICAgICAgICAgIHx8
IGluc2VydFN0YXRlbWVudC0+YmluZEJsb2IoMTIsIFNwYW4geyBzY3JpcHRSZXNvdXJjZU1hcEVu
Y29kZXIuYnVmZmVyKCksIHNjcmlwdFJlc291cmNlTWFwRW5jb2Rlci5idWZmZXJTaXplKCkgfSkg
IT0gU1FMSVRFX09LCiAgICAgICAgICAgICB8fCBpbnNlcnRTdGF0ZW1lbnQtPmJpbmRCbG9iKDEz
LCBTcGFuIHsgY2VydGlmaWNhdGVJbmZvRW5jb2Rlci5idWZmZXIoKSwgY2VydGlmaWNhdGVJbmZv
RW5jb2Rlci5idWZmZXJTaXplKCkgfSkgIT0gU1FMSVRFX09LCisgICAgICAgICAgICB8fCBpbnNl
cnRTdGF0ZW1lbnQtPmJpbmRCbG9iKDE0LCBTcGFuIHsgbmF2aWdhdGlvblByZWxvYWRTdGF0ZUVu
Y29kZXIuYnVmZmVyKCksIG5hdmlnYXRpb25QcmVsb2FkU3RhdGVFbmNvZGVyLmJ1ZmZlclNpemUo
KSB9KSAhPSBTUUxJVEVfT0sKICAgICAgICAgICAgIHx8IGluc2VydFN0YXRlbWVudC0+c3RlcCgp
ICE9IFNRTElURV9ET05FKSB7CiAgICAgICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihTZXJ2aWNl
V29ya2VyLCAiRmFpbGVkIHRvIHN0b3JlIHJlZ2lzdHJhdGlvbiBkYXRhIGludG8gcmVjb3JkcyB0
YWJsZSAoJWkpIC0gJXMiLCBtX2RhdGFiYXNlLT5sYXN0RXJyb3IoKSwgbV9kYXRhYmFzZS0+bGFz
dEVycm9yTXNnKCkpOwogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtNTY2LDYgKzU3MSwx
NiBAQCBTdHJpbmcgUmVnaXN0cmF0aW9uRGF0YWJhc2U6OmltcG9ydFJlY29yZHMoKQogICAgICAg
ICAgICAgY29udGludWU7CiAgICAgICAgIH0KIAorICAgICAgICBhdXRvIG5hdmlnYXRpb25QcmVs
b2FkU3RhdGVEYXRhU3BhbiA9IHNxbC0+Y29sdW1uQmxvYkFzU3BhbigxMyk7CisgICAgICAgIHN0
ZDo6b3B0aW9uYWw8TmF2aWdhdGlvblByZWxvYWRTdGF0ZT4gbmF2aWdhdGlvblByZWxvYWRTdGF0
ZTsKKworICAgICAgICBXVEY6OlBlcnNpc3RlbmNlOjpEZWNvZGVyIG5hdmlnYXRpb25QcmVsb2Fk
U3RhdGVEZWNvZGVyKG5hdmlnYXRpb25QcmVsb2FkU3RhdGVEYXRhU3Bhbik7CisgICAgICAgIG5h
dmlnYXRpb25QcmVsb2FkU3RhdGVEZWNvZGVyID4+IG5hdmlnYXRpb25QcmVsb2FkU3RhdGU7Cisg
ICAgICAgIGlmICghbmF2aWdhdGlvblByZWxvYWRTdGF0ZSkgeworICAgICAgICAgICAgUkVMRUFT
RV9MT0dfRVJST1IoU2VydmljZVdvcmtlciwgIlJlZ2lzdHJhdGlvbkRhdGFiYXNlOjppbXBvcnRS
ZWNvcmRzOiBGYWlsZWQgdG8gZGVjb2RlIG5hdmlnYXRpb25QcmVsb2FkU3RhdGUiKTsKKyAgICAg
ICAgICAgIGNvbnRpbnVlOworICAgICAgICB9CisKICAgICAgICAgLy8gVmFsaWRhdGUgdGhlIGlu
cHV0IGZvciB0aGlzIHJlZ2lzdHJhdGlvbi4KICAgICAgICAgLy8gSWYgYW55IHBhcnQgb2YgdGhp
cyBpbnB1dCBpcyBpbnZhbGlkLCBsZXQncyBza2lwIHRoaXMgcmVnaXN0cmF0aW9uLgogICAgICAg
ICAvLyBGSVhNRTogU2hvdWxkIHdlIHJldHVybiBhbiBlcnJvciBza2lwcGluZyAqYWxsKiByZWdp
c3RyYXRpb25zPwpAQCAtNTg0LDcgKzU5OSw3IEBAIFN0cmluZyBSZWdpc3RyYXRpb25EYXRhYmFz
ZTo6aW1wb3J0UmVjb3JkcygpCiAgICAgICAgIGF1dG8gcmVnaXN0cmF0aW9uSWRlbnRpZmllciA9
IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyOjpnZW5lcmF0ZSgpOwogICAgICAg
ICBhdXRvIHNlcnZpY2VXb3JrZXJEYXRhID0gU2VydmljZVdvcmtlckRhdGEgeyB3b3JrZXJJZGVu
dGlmaWVyLCBzY3JpcHRVUkwsIFNlcnZpY2VXb3JrZXJTdGF0ZTo6QWN0aXZhdGVkLCAqd29ya2Vy
VHlwZSwgcmVnaXN0cmF0aW9uSWRlbnRpZmllciB9OwogICAgICAgICBhdXRvIHJlZ2lzdHJhdGlv
biA9IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhIHsgV1RGTW92ZSgqa2V5KSwgcmVnaXN0
cmF0aW9uSWRlbnRpZmllciwgV1RGTW92ZShzY29wZVVSTCksICp1cGRhdGVWaWFDYWNoZSwgbGFz
dFVwZGF0ZUNoZWNrVGltZSwgc3RkOjpudWxsb3B0LCBzdGQ6Om51bGxvcHQsIFdURk1vdmUoc2Vy
dmljZVdvcmtlckRhdGEpIH07Ci0gICAgICAgIGF1dG8gY29udGV4dERhdGEgPSBTZXJ2aWNlV29y
a2VyQ29udGV4dERhdGEgeyBzdGQ6Om51bGxvcHQsIFdURk1vdmUocmVnaXN0cmF0aW9uKSwgd29y
a2VySWRlbnRpZmllciwgV1RGTW92ZShzY3JpcHQpLCBXVEZNb3ZlKCpjZXJ0aWZpY2F0ZUluZm8p
LCBXVEZNb3ZlKCpjb250ZW50U2VjdXJpdHlQb2xpY3kpLCBXVEZNb3ZlKCpjb2VwKSwgV1RGTW92
ZShyZWZlcnJlclBvbGljeSksIFdURk1vdmUoc2NyaXB0VVJMKSwgKndvcmtlclR5cGUsIHRydWUs
IExhc3ROYXZpZ2F0aW9uV2FzQXBwSW5pdGlhdGVkOjpZZXMsIFdURk1vdmUoc2NyaXB0UmVzb3Vy
Y2VNYXApLCBzdGQ6Om51bGxvcHQgfTsKKyAgICAgICAgYXV0byBjb250ZXh0RGF0YSA9IFNlcnZp
Y2VXb3JrZXJDb250ZXh0RGF0YSB7IHN0ZDo6bnVsbG9wdCwgV1RGTW92ZShyZWdpc3RyYXRpb24p
LCB3b3JrZXJJZGVudGlmaWVyLCBXVEZNb3ZlKHNjcmlwdCksIFdURk1vdmUoKmNlcnRpZmljYXRl
SW5mbyksIFdURk1vdmUoKmNvbnRlbnRTZWN1cml0eVBvbGljeSksIFdURk1vdmUoKmNvZXApLCBX
VEZNb3ZlKHJlZmVycmVyUG9saWN5KSwgV1RGTW92ZShzY3JpcHRVUkwpLCAqd29ya2VyVHlwZSwg
dHJ1ZSwgTGFzdE5hdmlnYXRpb25XYXNBcHBJbml0aWF0ZWQ6OlllcywgV1RGTW92ZShzY3JpcHRS
ZXNvdXJjZU1hcCksIHN0ZDo6bnVsbG9wdCwgV1RGTW92ZSgqbmF2aWdhdGlvblByZWxvYWRTdGF0
ZSkgfTsKIAogICAgICAgICBjYWxsT25NYWluVGhyZWFkKFtwcm90ZWN0ZWRUaGlzID0gUmVmIHsg
KnRoaXMgfSwgY29udGV4dERhdGEgPSBjb250ZXh0RGF0YS5pc29sYXRlZENvcHkoKV0oKSBtdXRh
YmxlIHsKICAgICAgICAgICAgIHByb3RlY3RlZFRoaXMtPmFkZFJlZ2lzdHJhdGlvblRvU3RvcmUo
V1RGTW92ZShjb250ZXh0RGF0YSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL3NlcnZlci9SZWdpc3RyYXRpb25TdG9yZS5oIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zZXJ2aWNlL3NlcnZlci9SZWdpc3RyYXRpb25TdG9yZS5oCmluZGV4IDNiM2NkOTg3Yjcx
ZTQyNDcxZjFlMjI2Njc1MDcwNTk0OTFlMmNiM2QuLjE0NDFlYTY5NGY2YTIxNjdkNmNmZjk0YTE5
MDNiODkyYjAyNzQ3YjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vydmlj
ZS9zZXJ2ZXIvUmVnaXN0cmF0aW9uU3RvcmUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L3NlcnZpY2Uvc2VydmVyL1JlZ2lzdHJhdGlvblN0b3JlLmgKQEAgLTQwLDYgKzQwLDcgQEAKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCitzdHJ1Y3QgTmF2aWdhdGlvblByZWxvYWRTdGF0ZTsKIGNs
YXNzIFNXU2VydmVyOwogY2xhc3MgU1dTZXJ2ZXJSZWdpc3RyYXRpb247CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5jcHAKaW5kZXggNmM2
OTE0NjI5ODhlN2FhOGJkOWVkZjIxZTg3Njk0YzZlNzQxZWNmOS4uMWIwYzJkMTFjNWEyNjdkYjg5
ZWMwYmE3ODU4ZTZhMjA1NzZmZjMyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5jcHAKQEAgLTE3OCw3ICsxNzgsNyBAQCB2b2lkIFNX
U2VydmVyOjphZGRSZWdpc3RyYXRpb25Gcm9tU3RvcmUoU2VydmljZVdvcmtlckNvbnRleHREYXRh
JiYgZGF0YSkKICAgICAgICAgaWYgKCF3ZWFrVGhpcykKICAgICAgICAgICAgIHJldHVybjsKICAg
ICAgICAgaWYgKG1faGFzU2VydmljZVdvcmtlckVudGl0bGVtZW50IHx8IGlzVmFsaWQpIHsKLSAg
ICAgICAgICAgIGF1dG8gcmVnaXN0cmF0aW9uID0gbWFrZVVuaXF1ZTxTV1NlcnZlclJlZ2lzdHJh
dGlvbj4oKnRoaXMsIGRhdGEucmVnaXN0cmF0aW9uLmtleSwgZGF0YS5yZWdpc3RyYXRpb24udXBk
YXRlVmlhQ2FjaGUsIGRhdGEucmVnaXN0cmF0aW9uLnNjb3BlVVJMLCBkYXRhLnNjcmlwdFVSTCwg
ZGF0YS5zZXJ2aWNlV29ya2VyUGFnZUlkZW50aWZpZXIpOworICAgICAgICAgICAgYXV0byByZWdp
c3RyYXRpb24gPSBtYWtlVW5pcXVlPFNXU2VydmVyUmVnaXN0cmF0aW9uPigqdGhpcywgZGF0YS5y
ZWdpc3RyYXRpb24ua2V5LCBkYXRhLnJlZ2lzdHJhdGlvbi51cGRhdGVWaWFDYWNoZSwgZGF0YS5y
ZWdpc3RyYXRpb24uc2NvcGVVUkwsIGRhdGEuc2NyaXB0VVJMLCBkYXRhLnNlcnZpY2VXb3JrZXJQ
YWdlSWRlbnRpZmllciwgV1RGTW92ZShkYXRhLm5hdmlnYXRpb25QcmVsb2FkU3RhdGUpKTsKICAg
ICAgICAgICAgIHJlZ2lzdHJhdGlvbi0+c2V0TGFzdFVwZGF0ZVRpbWUoZGF0YS5yZWdpc3RyYXRp
b24ubGFzdFVwZGF0ZVRpbWUpOwogICAgICAgICAgICAgYXV0byByZWdpc3RyYXRpb25QdHIgPSBy
ZWdpc3RyYXRpb24uZ2V0KCk7CiAgICAgICAgICAgICBhZGRSZWdpc3RyYXRpb24oV1RGTW92ZShy
ZWdpc3RyYXRpb24pKTsKQEAgLTU4Myw5ICs1ODMsMTUgQEAgdm9pZCBTV1NlcnZlcjo6ZGlkRmlu
aXNoQWN0aXZhdGlvbihTV1NlcnZlcldvcmtlciYgd29ya2VyKQogICAgIGlmICghcmVnaXN0cmF0
aW9uKQogICAgICAgICByZXR1cm47CiAKKyAgICBzdG9yZVJlZ2lzdHJhdGlvbkZvcldvcmtlcih3
b3JrZXIpOworCisgICAgcmVnaXN0cmF0aW9uLT5kaWRGaW5pc2hBY3RpdmF0aW9uKHdvcmtlci5p
ZGVudGlmaWVyKCkpOworfQorCit2b2lkIFNXU2VydmVyOjpzdG9yZVJlZ2lzdHJhdGlvbkZvcldv
cmtlcihTV1NlcnZlcldvcmtlciYgd29ya2VyKQorewogICAgIGlmIChtX3JlZ2lzdHJhdGlvblN0
b3JlKQogICAgICAgICBtX3JlZ2lzdHJhdGlvblN0b3JlLT51cGRhdGVSZWdpc3RyYXRpb24od29y
a2VyLmNvbnRleHREYXRhKCkpOwotICAgIHJlZ2lzdHJhdGlvbi0+ZGlkRmluaXNoQWN0aXZhdGlv
bih3b3JrZXIuaWRlbnRpZmllcigpKTsKIH0KIAogLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL1Nl
cnZpY2VXb3JrZXIvI2NsaWVudHMtZ2V0YWxsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmgKaW5kZXggNDUyMmYzNDNjYWZlMDQ4NzdhYTA5MDU1
NTNmMWU4NjU2YTAyM2QzYS4uYjE1ZjFhZjVlMGVkNzJhYWExZGRiZGE5YTJmZmUzZmIyOWFiMTM4
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1Nl
cnZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2
ZXIuaApAQCAtMTk0LDYgKzE5NCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGRpZFNhdmVXb3JrZXJT
Y3JpcHRzVG9EaXNrKFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCBTY3JpcHRCdWZmZXImJiBtYWlu
U2NyaXB0LCBIYXNoTWFwPFVSTCwgU2NyaXB0QnVmZmVyPiYmIGltcG9ydGVkU2NyaXB0cyk7CiAg
ICAgdm9pZCByZWdpc3RyYXRpb25TdG9yZUltcG9ydENvbXBsZXRlKCk7CiAgICAgdm9pZCByZWdp
c3RyYXRpb25TdG9yZURhdGFiYXNlRmFpbGVkVG9PcGVuKCk7CisgICAgdm9pZCBzdG9yZVJlZ2lz
dHJhdGlvbkZvcldvcmtlcihTV1NlcnZlcldvcmtlciYpOwogCiAgICAgV0VCQ09SRV9FWFBPUlQg
dm9pZCBnZXRPcmlnaW5zV2l0aFJlZ2lzdHJhdGlvbnMoRnVuY3Rpb248dm9pZChjb25zdCBIYXNo
U2V0PFNlY3VyaXR5T3JpZ2luRGF0YT4mKT4mJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJKb2JRdWV1ZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVySm9iUXVldWUuY3BwCmluZGV4
IGQ2MGZmMDA5OWJhMWM4YzA4Y2ExZTdhNjIyZDZmODc0MWFmZmFjOTcuLmEzMjk3OGY3OTVjMTYy
YzExNmYwM2NmZTdlYjViODRjMTlmYTE0YWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJKb2JRdWV1ZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlckpvYlF1ZXVlLmNwcApAQCAtMjk3
LDcgKzI5Nyw3IEBAIHZvaWQgU1dTZXJ2ZXJKb2JRdWV1ZTo6cnVuUmVnaXN0ZXJKb2IoY29uc3Qg
U2VydmljZVdvcmtlckpvYkRhdGEmIGpvYikKICAgICAgICAgICAgIHJlZ2lzdHJhdGlvbi0+c2V0
VXBkYXRlVmlhQ2FjaGUoam9iLnJlZ2lzdHJhdGlvbk9wdGlvbnMudXBkYXRlVmlhQ2FjaGUpOwog
ICAgICAgICBSRUxFQVNFX0xPRyhTZXJ2aWNlV29ya2VyLCAiJXAgLSBTV1NlcnZlckpvYlF1ZXVl
OjpydW5SZWdpc3RlckpvYjogRm91bmQgcmVnaXN0cmF0aW9uICVsbHUgZm9yIGpvYiAlcyBidXQg
aXQgbmVlZHMgdXBkYXRpbmciLCB0aGlzLCByZWdpc3RyYXRpb24tPmlkZW50aWZpZXIoKS50b1VJ
bnQ2NCgpLCBqb2IuaWRlbnRpZmllcigpLmxvZ2dpbmdTdHJpbmcoKS51dGY4KCkuZGF0YSgpKTsK
ICAgICB9IGVsc2UgewotICAgICAgICBhdXRvIG5ld1JlZ2lzdHJhdGlvbiA9IG1ha2VVbmlxdWU8
U1dTZXJ2ZXJSZWdpc3RyYXRpb24+KG1fc2VydmVyLCBtX3JlZ2lzdHJhdGlvbktleSwgam9iLnJl
Z2lzdHJhdGlvbk9wdGlvbnMudXBkYXRlVmlhQ2FjaGUsIGpvYi5zY29wZVVSTCwgam9iLnNjcmlw
dFVSTCwgam9iLnNlcnZpY2VXb3JrZXJQYWdlSWRlbnRpZmllcigpKTsKKyAgICAgICAgYXV0byBu
ZXdSZWdpc3RyYXRpb24gPSBtYWtlVW5pcXVlPFNXU2VydmVyUmVnaXN0cmF0aW9uPihtX3NlcnZl
ciwgbV9yZWdpc3RyYXRpb25LZXksIGpvYi5yZWdpc3RyYXRpb25PcHRpb25zLnVwZGF0ZVZpYUNh
Y2hlLCBqb2Iuc2NvcGVVUkwsIGpvYi5zY3JpcHRVUkwsIGpvYi5zZXJ2aWNlV29ya2VyUGFnZUlk
ZW50aWZpZXIoKSwgTmF2aWdhdGlvblByZWxvYWRTdGF0ZTo6ZGVmYXVsdFZhbHVlKCkpOwogICAg
ICAgICBtX3NlcnZlci5hZGRSZWdpc3RyYXRpb24oV1RGTW92ZShuZXdSZWdpc3RyYXRpb24pKTsK
IAogICAgICAgICBSRUxFQVNFX0xPRyhTZXJ2aWNlV29ya2VyLCAiJXAgLSBTV1NlcnZlckpvYlF1
ZXVlOjpydW5SZWdpc3RlckpvYjogTm8gZXhpc3RpbmcgcmVnaXN0cmF0aW9uIGZvciBqb2IgJXMs
IGNvbnN0cnVjdGluZyBhIG5ldyBvbmUuIiwgdGhpcywgam9iLmlkZW50aWZpZXIoKS5sb2dnaW5n
U3RyaW5nKCkudXRmOCgpLmRhdGEoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyUmVnaXN0cmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJSZWdpc3RyYXRpb24uY3BwCmluZGV4
IGVjN2IzYmMzMjFjNzMwNzE5ZGQ5NTMyNmNjNDViOGZlYmMxY2IyNzUuLjMzYjViMzk4ZTRmZGUw
Nzg2ODFiM2Y0OTgzN2U0OGM4NTgyYTIyNzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJSZWdpc3RyYXRpb24uY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJSZWdpc3RyYXRpb24uY3Bw
CkBAIC00Myw3ICs0Myw3IEBAIHN0YXRpYyBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRp
ZmllciBnZW5lcmF0ZVNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVuCiAgICAgcmV0dXJuIFNl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyOjpnZW5lcmF0ZSgpOwogfQogCi1TV1Nl
cnZlclJlZ2lzdHJhdGlvbjo6U1dTZXJ2ZXJSZWdpc3RyYXRpb24oU1dTZXJ2ZXImIHNlcnZlciwg
Y29uc3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleSYga2V5LCBTZXJ2aWNlV29ya2VyVXBk
YXRlVmlhQ2FjaGUgdXBkYXRlVmlhQ2FjaGUsIGNvbnN0IFVSTCYgc2NvcGVVUkwsIGNvbnN0IFVS
TCYgc2NyaXB0VVJMLCBzdGQ6Om9wdGlvbmFsPFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlm
aWVyPiBzZXJ2aWNlV29ya2VyUGFnZUlkZW50aWZpZXIpCitTV1NlcnZlclJlZ2lzdHJhdGlvbjo6
U1dTZXJ2ZXJSZWdpc3RyYXRpb24oU1dTZXJ2ZXImIHNlcnZlciwgY29uc3QgU2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbktleSYga2V5LCBTZXJ2aWNlV29ya2VyVXBkYXRlVmlhQ2FjaGUgdXBkYXRl
VmlhQ2FjaGUsIGNvbnN0IFVSTCYgc2NvcGVVUkwsIGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBzdGQ6
Om9wdGlvbmFsPFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyPiBzZXJ2aWNlV29ya2Vy
UGFnZUlkZW50aWZpZXIsIE5hdmlnYXRpb25QcmVsb2FkU3RhdGUmJiBuYXZpZ2F0aW9uUHJlbG9h
ZFN0YXRlKQogICAgIDogbV9pZGVudGlmaWVyKGdlbmVyYXRlU2VydmljZVdvcmtlclJlZ2lzdHJh
dGlvbklkZW50aWZpZXIoKSkKICAgICAsIG1fcmVnaXN0cmF0aW9uS2V5KGtleSkKICAgICAsIG1f
dXBkYXRlVmlhQ2FjaGUodXBkYXRlVmlhQ2FjaGUpCkBAIC01Myw5ICs1Myw5IEBAIFNXU2VydmVy
UmVnaXN0cmF0aW9uOjpTV1NlcnZlclJlZ2lzdHJhdGlvbihTV1NlcnZlciYgc2VydmVyLCBjb25z
dCBTZXJ2aWNlV29ya2VyCiAgICAgLCBtX3NlcnZlcihzZXJ2ZXIpCiAgICAgLCBtX2NyZWF0aW9u
VGltZShNb25vdG9uaWNUaW1lOjpub3coKSkKICAgICAsIG1fc29mdFVwZGF0ZVRpbWVyIHsgKnRo
aXMsICZTV1NlcnZlclJlZ2lzdHJhdGlvbjo6c29mdFVwZGF0ZSB9CisgICAgLCBtX3ByZWxvYWRT
dGF0ZShXVEZNb3ZlKG5hdmlnYXRpb25QcmVsb2FkU3RhdGUpKQogewogICAgIG1fc2NvcGVVUkwu
cmVtb3ZlRnJhZ21lbnRJZGVudGlmaWVyKCk7Ci0gICAgbV9wcmVsb2FkU3RhdGUuaGVhZGVyVmFs
dWUgPSAidHJ1ZSJfczsKIH0KIAogU1dTZXJ2ZXJSZWdpc3RyYXRpb246On5TV1NlcnZlclJlZ2lz
dHJhdGlvbigpCkBAIC0zODcsMzIgKzM4NywzNSBAQCB2b2lkIFNXU2VydmVyUmVnaXN0cmF0aW9u
OjpzY2hlZHVsZVNvZnRVcGRhdGUoSXNBcHBJbml0aWF0ZWQgaXNBcHBJbml0aWF0ZWQpCiAvLyBo
dHRwczovL3czYy5naXRodWIuaW8vU2VydmljZVdvcmtlci8jZG9tLW5hdmlnYXRpb25wcmVsb2Fk
bWFuYWdlci1lbmFibGUsIHN0ZXBzIHJ1biBpbiBwYXJhbGxlbC4KIHN0ZDo6b3B0aW9uYWw8RXhj
ZXB0aW9uRGF0YT4gU1dTZXJ2ZXJSZWdpc3RyYXRpb246OmVuYWJsZU5hdmlnYXRpb25QcmVsb2Fk
KCkKIHsKLSAgICAvLyBGSVhNRTogUGVyc2lzdCB0aGlzIGRhdGEuCiAgICAgaWYgKCFtX2FjdGl2
ZVdvcmtlcikKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbkRhdGEgeyBJbnZhbGlkU3RhdGVFcnJv
ciwgIk5vIGFjdGl2ZSB3b3JrZXIiX3MgfTsKKwogICAgIG1fcHJlbG9hZFN0YXRlLmVuYWJsZWQg
PSB0cnVlOworICAgIG1fc2VydmVyLnN0b3JlUmVnaXN0cmF0aW9uRm9yV29ya2VyKCptX2FjdGl2
ZVdvcmtlcik7CiAgICAgcmV0dXJuIHsgfTsKIH0KIAogLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlv
L1NlcnZpY2VXb3JrZXIvI2RvbS1uYXZpZ2F0aW9ucHJlbG9hZG1hbmFnZXItZGlzYWJsZSwgc3Rl
cHMgcnVuIGluIHBhcmFsbGVsLgogc3RkOjpvcHRpb25hbDxFeGNlcHRpb25EYXRhPiBTV1NlcnZl
clJlZ2lzdHJhdGlvbjo6ZGlzYWJsZU5hdmlnYXRpb25QcmVsb2FkKCkKIHsKLSAgICAvLyBGSVhN
RTogUGVyc2lzdCB0aGlzIGRhdGEuCiAgICAgaWYgKCFtX2FjdGl2ZVdvcmtlcikKICAgICAgICAg
cmV0dXJuIEV4Y2VwdGlvbkRhdGEgeyBJbnZhbGlkU3RhdGVFcnJvciwgIk5vIGFjdGl2ZSB3b3Jr
ZXIiX3MgfTsKKwogICAgIG1fcHJlbG9hZFN0YXRlLmVuYWJsZWQgPSBmYWxzZTsKKyAgICBtX3Nl
cnZlci5zdG9yZVJlZ2lzdHJhdGlvbkZvcldvcmtlcigqbV9hY3RpdmVXb3JrZXIpOwogICAgIHJl
dHVybiB7IH07CiB9CiAKIC8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9TZXJ2aWNlV29ya2VyLyNk
b20tbmF2aWdhdGlvbnByZWxvYWRtYW5hZ2VyLXNldGhlYWRlcnZhbHVlLCBzdGVwcyBydW4gaW4g
cGFyYWxsZWwuCiBzdGQ6Om9wdGlvbmFsPEV4Y2VwdGlvbkRhdGE+IFNXU2VydmVyUmVnaXN0cmF0
aW9uOjpzZXROYXZpZ2F0aW9uUHJlbG9hZEhlYWRlclZhbHVlKFN0cmluZyYmIGhlYWRlclZhbHVl
KQogewotICAgIC8vIEZJWE1FOiBQZXJzaXN0IHRoaXMgZGF0YS4KICAgICBpZiAoIWlzVmFsaWRI
VFRQSGVhZGVyVmFsdWUoaGVhZGVyVmFsdWUpKQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uRGF0
YSB7IFR5cGVFcnJvciwgIkludmFsaWQgaGVhZGVyIHZhbHVlIl9zIH07CiAgICAgaWYgKCFtX2Fj
dGl2ZVdvcmtlcikKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbkRhdGEgeyBJbnZhbGlkU3RhdGVF
cnJvciwgIk5vIGFjdGl2ZSB3b3JrZXIiX3MgfTsKKwogICAgIG1fcHJlbG9hZFN0YXRlLmhlYWRl
clZhbHVlID0gV1RGTW92ZShoZWFkZXJWYWx1ZSk7CisgICAgbV9zZXJ2ZXIuc3RvcmVSZWdpc3Ry
YXRpb25Gb3JXb3JrZXIoKm1fYWN0aXZlV29ya2VyKTsKICAgICByZXR1cm4geyB9OwogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVy
UmVnaXN0cmF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NX
U2VydmVyUmVnaXN0cmF0aW9uLmgKaW5kZXggOTE4YjhlNzNhOGRjMWE3MzFjOGE0NTc4YTljY2Rk
YzJiN2MxOGI0NC4uZjY0MjQ2YmM0MTBhNGIwYjJhY2FiN2RkN2IwOWI3MDE1MWE5OTFmYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlclJl
Z2lzdHJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIv
U1dTZXJ2ZXJSZWdpc3RyYXRpb24uaApAQCAtNTMsNyArNTMsNyBAQCBlbnVtIGNsYXNzIElzQXBw
SW5pdGlhdGVkIDogYm9vbCB7IE5vLCBZZXMgfTsKIGNsYXNzIFNXU2VydmVyUmVnaXN0cmF0aW9u
IDogcHVibGljIENhbk1ha2VXZWFrUHRyPFNXU2VydmVyUmVnaXN0cmF0aW9uPiB7CiAgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgU1dTZXJ2ZXJSZWdpc3RyYXRpb24o
U1dTZXJ2ZXImLCBjb25zdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5JiwgU2VydmljZVdv
cmtlclVwZGF0ZVZpYUNhY2hlLCBjb25zdCBVUkwmIHNjb3BlVVJMLCBjb25zdCBVUkwmIHNjcmlw
dFVSTCwgc3RkOjpvcHRpb25hbDxTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllcj4gc2Vy
dmljZVdvcmtlclBhZ2VJZGVudGlmaWVyKTsKKyAgICBTV1NlcnZlclJlZ2lzdHJhdGlvbihTV1Nl
cnZlciYsIGNvbnN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkmLCBTZXJ2aWNlV29ya2Vy
VXBkYXRlVmlhQ2FjaGUsIGNvbnN0IFVSTCYgc2NvcGVVUkwsIGNvbnN0IFVSTCYgc2NyaXB0VVJM
LCBzdGQ6Om9wdGlvbmFsPFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyPiBzZXJ2aWNl
V29ya2VyUGFnZUlkZW50aWZpZXIsIE5hdmlnYXRpb25QcmVsb2FkU3RhdGUmJik7CiAgICAgflNX
U2VydmVyUmVnaXN0cmF0aW9uKCk7CiAKICAgICBjb25zdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uS2V5JiBrZXkoKSBjb25zdCB7IHJldHVybiBtX3JlZ2lzdHJhdGlvbktleTsgfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlcldvcmtl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyV29y
a2VyLmNwcAppbmRleCBiNjdiYTlhOTY0MzU0ZjBkNmRkYWY4YmZmNjllYmIxZTdlMGQwZDhmLi41
ZDE1NTZhMDA2ZGFiMTUxNjc2NTFhMjNkZjJmYjMzMzA0N2Y2YjQzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyV29ya2VyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyV29ya2VyLmNw
cApAQCAtODgsNyArODgsNyBAQCBTZXJ2aWNlV29ya2VyQ29udGV4dERhdGEgU1dTZXJ2ZXJXb3Jr
ZXI6OmNvbnRleHREYXRhKCkgY29uc3QKIHsKICAgICBBU1NFUlQobV9yZWdpc3RyYXRpb24pOwog
Ci0gICAgcmV0dXJuIHsgc3RkOjpudWxsb3B0LCBtX3JlZ2lzdHJhdGlvbi0+ZGF0YSgpLCBtX2Rh
dGEuaWRlbnRpZmllciwgbV9zY3JpcHQsIG1fY2VydGlmaWNhdGVJbmZvLCBtX2NvbnRlbnRTZWN1
cml0eVBvbGljeSwgbV9jcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5LCBtX3JlZmVycmVyUG9saWN5
LCBtX2RhdGEuc2NyaXB0VVJMLCBtX2RhdGEudHlwZSwgZmFsc2UsIG1fbGFzdE5hdmlnYXRpb25X
YXNBcHBJbml0aWF0ZWQsIG1fc2NyaXB0UmVzb3VyY2VNYXAsIG1fcmVnaXN0cmF0aW9uLT5zZXJ2
aWNlV29ya2VyUGFnZUlkZW50aWZpZXIoKSB9OworICAgIHJldHVybiB7IHN0ZDo6bnVsbG9wdCwg
bV9yZWdpc3RyYXRpb24tPmRhdGEoKSwgbV9kYXRhLmlkZW50aWZpZXIsIG1fc2NyaXB0LCBtX2Nl
cnRpZmljYXRlSW5mbywgbV9jb250ZW50U2VjdXJpdHlQb2xpY3ksIG1fY3Jvc3NPcmlnaW5FbWJl
ZGRlclBvbGljeSwgbV9yZWZlcnJlclBvbGljeSwgbV9kYXRhLnNjcmlwdFVSTCwgbV9kYXRhLnR5
cGUsIGZhbHNlLCBtX2xhc3ROYXZpZ2F0aW9uV2FzQXBwSW5pdGlhdGVkLCBtX3NjcmlwdFJlc291
cmNlTWFwLCBtX3JlZ2lzdHJhdGlvbi0+c2VydmljZVdvcmtlclBhZ2VJZGVudGlmaWVyKCksIG1f
cmVnaXN0cmF0aW9uLT5uYXZpZ2F0aW9uUHJlbG9hZFN0YXRlKCkgfTsKIH0KIAogdm9pZCBTV1Nl
cnZlcldvcmtlcjo6dXBkYXRlQXBwSW5pdGlhdGVkVmFsdWUoTGFzdE5hdmlnYXRpb25XYXNBcHBJ
bml0aWF0ZWQgbGFzdE5hdmlnYXRpb25XYXNBcHBJbml0aWF0ZWQpCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMDZiNjhkNmIz
YjVmMWY2ZWNjZGRlMDJjYmU3ZTE2MzVhN2FhMmE5YS4uZTgyYWFlODM5OWNiOWE5MzE4NmI4OTQz
ZThiYWM0YzNkMDMwOGNhNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIxLTEyLTAyICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBQZXJzaXN0IE5hdmlnYXRp
b25QcmVsb2FkU3RhdGUgaW4gc2VydmljZSB3b3JrZXIgcmVnaXN0cmF0aW9uIGRhdGFiYXNlCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzM2OTgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGh0dHAvd3B0
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci1uZXR3b3JrcHJvY2Vzcy1jcmFzaC1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogaHR0cC93cHQvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyLW5ldHdvcmtwcm9jZXNzLWNyYXNoLmh0bWw6CisKIDIwMjEtMTItMDEgIFlvdWVubiBGYWJs
ZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBzdXBwb3J0IGZvciBOYXZpZ2F0
aW9uUHJlbG9hZE1hbmFnZXIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci1uZXR3b3JrcHJvY2Vzcy1jcmFzaC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIt
bmV0d29ya3Byb2Nlc3MtY3Jhc2gtZXhwZWN0ZWQudHh0CmluZGV4IDcyY2MyMzhlMjFjYzM2YTUy
N2NiYTIyNjFiZTk5OTRkNjVhY2ZkYWQuLjcxNDgwZTJjZGRhMDE3ZDQzMzAzOWUxODg0NGY3MGU3
OTEzMjVhNTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci1uZXR3b3JrcHJvY2Vzcy1jcmFzaC1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC93cHQvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyLW5ldHdv
cmtwcm9jZXNzLWNyYXNoLWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDQgQEAKIAotCiBQQVNTIFNl
dHVwIHdvcmtlcgogUEFTUyBGcmFtZSBiZWluZyBjb250cm9sbGVkCiBQQVNTIEZyYW1lIGJlaW5n
IGNvbnRyb2xsZWQgYWZ0ZXIgbmV0d29yayBwcm9jZXNzIGNyYXNoCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXItbmV0d29ya3By
b2Nlc3MtY3Jhc2guaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci1uZXR3b3JrcHJvY2Vzcy1jcmFzaC5odG1sCmluZGV4IDUzYTEyMDVjZmM3
YWMwZmQzMzIzM2QxNmNmNzdiYjNhYzNmZjg4NzcuLjc1YzEwZDBiMGFkYTY2MTM2ZjBhNTJiYjA3
ZTI5MzczNjRkYjg4ZWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci1uZXR3b3JrcHJvY2Vzcy1jcmFzaC5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci1uZXR3b3Jr
cHJvY2Vzcy1jcmFzaC5odG1sCkBAIC0zNSw3ICszNSwxMCBAQCBhc3luYyBmdW5jdGlvbiByZWdp
c3RlclNlcnZpY2VXb3JrZXIoKQogfQogCiBwcm9taXNlX3Rlc3QoYXN5bmMgKHRlc3QpID0+IHsK
LSAgICBhd2FpdCByZWdpc3RlclNlcnZpY2VXb3JrZXIoKTsKKyAgICBjb25zdCByZWdpc3RyYXRp
b24gPSBhd2FpdCByZWdpc3RlclNlcnZpY2VXb3JrZXIoKTsKKyAgICAvLyBFbmFibGUgcHJlbG9h
ZCB0byB2YWxpZGF0ZSBwcmVsb2FkIHBlcnNpc3RlbmN5LgorICAgIGF3YWl0IHJlZ2lzdHJhdGlv
bi5uYXZpZ2F0aW9uUHJlbG9hZC5lbmFibGUoKTsKKyAgICBhd2FpdCByZWdpc3RyYXRpb24ubmF2
aWdhdGlvblByZWxvYWQuc2V0SGVhZGVyVmFsdWUoInRlc3QiKTsKIH0sICJTZXR1cCB3b3JrZXIi
KTsKIAogcHJvbWlzZV90ZXN0KGFzeW5jICh0ZXN0KSA9PiB7CkBAIC01NCwxNCArNTcsMjEgQEAg
cHJvbWlzZV90ZXN0KGFzeW5jICh0ZXN0KSA9PiB7CiAgICAgbGV0IGNvdW50ID0gMDsKICAgICB3
aGlsZSAoY291bnQrKyA8IDEwMCkgewogICAgICAgICBjb25zdCBmcmFtZSA9IGF3YWl0IHdpdGhG
cmFtZShzY29wZSArICIvZW1wdHkuaHRtbCIpOwotICAgICAgICBpZiAoZnJhbWUuY29udGVudFdp
bmRvdy5uYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5jb250cm9sbGVyKQorICAgICAgICBpZiAoZnJh
bWUuY29udGVudFdpbmRvdy5uYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5jb250cm9sbGVyKSB7Cisg
ICAgICAgICAgICBmcmFtZS5yZW1vdmUoKTsKICAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9
CiAgICAgICAgIGZyYW1lLnJlbW92ZSgpOwogICAgICAgICBhd2FpdCBuZXcgUHJvbWlzZShyZXNv
bHZlID0+IHNldFRpbWVvdXQocmVzb2x2ZSwgNTApKTsKICAgICB9CiAgICAgYXNzZXJ0X3RydWUo
Y291bnQgPCAxMDApOwogCi0gICAgYXdhaXQgbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIuZ2V0UmVn
aXN0cmF0aW9uKHNjb3BlKTsKKyAgICBjb25zdCByZWdpc3RyYXRpb24gPSBhd2FpdCBuYXZpZ2F0
b3Iuc2VydmljZVdvcmtlci5nZXRSZWdpc3RyYXRpb24oc2NvcGUpOworCisgICAgLy8gVmFsaWRh
dGUgcHJlbG9hZCBwZXJzaXN0ZW5jeS4KKyAgICBjb25zdCBzdGF0ZSA9IGF3YWl0IHJlZ2lzdHJh
dGlvbi5uYXZpZ2F0aW9uUHJlbG9hZC5nZXRTdGF0ZSgpOworICAgIGFzc2VydF90cnVlKHN0YXRl
LmVuYWJsZWQsICJzdGF0ZS5lbmFibGVkIik7CisgICAgYXNzZXJ0X2VxdWFscyhzdGF0ZS5oZWFk
ZXJWYWx1ZSwgInRlc3QiKTsKIH0sICJGcmFtZSBiZWluZyBjb250cm9sbGVkIGFmdGVyIG5ldHdv
cmsgcHJvY2VzcyBjcmFzaCIpOwogPC9zY3JpcHQ+CiA8L2JvZHk+Cg==
</data>
<flag name="commit-queue"
          id="470915"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>445691</attachid>
            <date>2021-12-02 01:41:03 -0800</date>
            <delta_ts>2021-12-02 07:44:50 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233698-20211202104101.patch</filename>
            <type>text/plain</type>
            <size>26211</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2NDE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzM0Y2U1Y2Y1OTJiZjkw
MDM0ZGJlMzgwN2I1ZmY3OGVmYTg2MDVlMy4uNTAwZDA2Zjg0MWUxMWY5YjczZmY3ODhhNTEzM2E2
ODdhOWYyNWYzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDIxLTEyLTAyICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBQZXJzaXN0IE5hdmlnYXRp
b25QcmVsb2FkU3RhdGUgaW4gc2VydmljZSB3b3JrZXIgcmVnaXN0cmF0aW9uIGRhdGFiYXNlCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzM2OTgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXaGVuZXZlciBj
aGFuZ2luZyBhIHNlcnZpY2Ugd29ya2VyIHJlZ2lzdHJhdGlvbiBuYXZpZ2F0aW9uIHN0YXRlLCB0
cmlnZ2VyIHN0b3Jpbmcgb2YgdGhlIGNoYW5nZXMgaW4gdGhlIGRhdGFiYXNlLgorICAgICAgICBU
byBkbyBzbywgd2UgYWRkIHRoaXMgc3RhdGUgdG8gU2VydmljZVdvcmtlckNvbnRleHREYXRhLgor
ICAgICAgICBXaGVuIGNyZWF0aW5nIGEgU1dTZXJ2ZXJSZWdpc3RyYXRpb24sIHdlIHNldCBkZWZh
dWx0IHZhbHVlcyB0byBmYWxzZSBhbmQgInRydWUiCisgICAgICAgIGFzIHBlciBodHRwczovL3cz
Yy5naXRodWIuaW8vU2VydmljZVdvcmtlci8jc2VydmljZS13b3JrZXItcmVnaXN0cmF0aW9uLW5h
dmlnYXRpb24tcHJlbG9hZC1oZWFkZXItdmFsdWUuCisKKyAgICAgICAgQ292ZXJlZCBieSB1cGRh
dGVkIHRlc3QuCisKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRl
eHREYXRhLmNwcDoKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRl
eHREYXRhLmg6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9SZWdpc3RyYXRpb25E
YXRhYmFzZS5jcHA6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9SZWdpc3RyYXRp
b25TdG9yZS5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuY3Bw
OgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuaDoKKyAgICAgICAg
KiB3b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVySm9iUXVldWUuY3BwOgorICAgICAgICAq
IHdvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJSZWdpc3RyYXRpb24uY3BwOgorICAgICAg
ICAqIHdvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJSZWdpc3RyYXRpb24uaDoKKyAgICAg
ICAgKiB3b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyV29ya2VyLmNwcDoKKwogMjAyMS0x
Mi0wMSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIHN1
cHBvcnQgZm9yIE5hdmlnYXRpb25QcmVsb2FkTWFuYWdlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zZXJ2aWNlL05hdmlnYXRpb25QcmVsb2FkU3RhdGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9OYXZpZ2F0aW9uUHJlbG9hZFN0YXRlLmgKaW5kZXggYzM4
ZWQ1ZTI3OTdmNTVkNTAxZDFkZGNmOGY3MDFiNWJlZDAwMWE1OC4uMGIyNjM1NDg4NmU3ZDRmMjAx
M2NjZjZkZDI0ZmI0NTM5ZGRiZGUyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL05hdmlnYXRpb25QcmVsb2FkU3RhdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL3NlcnZpY2UvTmF2aWdhdGlvblByZWxvYWRTdGF0ZS5oCkBAIC0zMywxNCArMzMsMTYg
QEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogc3RydWN0IE5hdmlnYXRpb25QcmVsb2FkU3RhdGUg
ewotICAgIGJvb2wgZW5hYmxlZCB7IGZhbHNlIH07Ci0gICAgU3RyaW5nIGhlYWRlclZhbHVlOwor
ICAgIHN0YXRpYyBOYXZpZ2F0aW9uUHJlbG9hZFN0YXRlIGRlZmF1bHRWYWx1ZSgpIHsgcmV0dXJu
IHsgZmFsc2UsICJ0cnVlIl9zIH07IH0KIAogICAgIE5hdmlnYXRpb25QcmVsb2FkU3RhdGUgaXNv
bGF0ZWRDb3B5KCkgY29uc3QgJiB7IHJldHVybiB7IGVuYWJsZWQsIGhlYWRlclZhbHVlLmlzb2xh
dGVkQ29weSgpIH07IH0KICAgICBOYXZpZ2F0aW9uUHJlbG9hZFN0YXRlIGlzb2xhdGVkQ29weSgp
ICYmIHsgcmV0dXJuIHsgZW5hYmxlZCwgV1RGTW92ZShoZWFkZXJWYWx1ZSkuaXNvbGF0ZWRDb3B5
KCkgfTsgfQogCiAgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2Rl
ciYgZW5jb2RlcikgY29uc3QgeyBlbmNvZGVyIDw8IGVuYWJsZWQgPDwgaGVhZGVyVmFsdWU7IH0K
ICAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgc3RkOjpvcHRpb25hbDxOYXZpZ2F0
aW9uUHJlbG9hZFN0YXRlPiBkZWNvZGUoRGVjb2RlciYpOworCisgICAgYm9vbCBlbmFibGVkIHsg
ZmFsc2UgfTsKKyAgICBTdHJpbmcgaGVhZGVyVmFsdWU7CiB9OwogCiB0ZW1wbGF0ZTxjbGFzcyBE
ZWNvZGVyPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZp
Y2VXb3JrZXJDb250ZXh0RGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uv
U2VydmljZVdvcmtlckNvbnRleHREYXRhLmNwcAppbmRleCA0ZGJkYjRiNGQwYjc2YTViODg1NTRi
MDA3ZjgxYjUwMGIyNGY5ZTVjLi4xYTQxMTEzNjQwMDBmM2FjYWYzNzBmMGM5ZTMxMTQyMjdhODlj
MDllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdv
cmtlckNvbnRleHREYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uv
U2VydmljZVdvcmtlckNvbnRleHREYXRhLmNwcApAQCAtNDcsNyArNDcsOCBAQCBTZXJ2aWNlV29y
a2VyQ29udGV4dERhdGEgU2VydmljZVdvcmtlckNvbnRleHREYXRhOjppc29sYXRlZENvcHkoKSBj
b25zdCAmCiAgICAgICAgIGxvYWRlZEZyb21EaXNrLAogICAgICAgICBsYXN0TmF2aWdhdGlvbldh
c0FwcEluaXRpYXRlZCwKICAgICAgICAgY3Jvc3NUaHJlYWRDb3B5KHNjcmlwdFJlc291cmNlTWFw
KSwKLSAgICAgICAgc2VydmljZVdvcmtlclBhZ2VJZGVudGlmaWVyCisgICAgICAgIHNlcnZpY2VX
b3JrZXJQYWdlSWRlbnRpZmllciwKKyAgICAgICAgY3Jvc3NUaHJlYWRDb3B5KG5hdmlnYXRpb25Q
cmVsb2FkU3RhdGUpLAogICAgIH07CiB9CiAKQEAgLTY3LDcgKzY4LDggQEAgU2VydmljZVdvcmtl
ckNvbnRleHREYXRhIFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YTo6aXNvbGF0ZWRDb3B5KCkgJiYK
ICAgICAgICAgbG9hZGVkRnJvbURpc2ssCiAgICAgICAgIGxhc3ROYXZpZ2F0aW9uV2FzQXBwSW5p
dGlhdGVkLAogICAgICAgICBjcm9zc1RocmVhZENvcHkoV1RGTW92ZShzY3JpcHRSZXNvdXJjZU1h
cCkpLAotICAgICAgICBzZXJ2aWNlV29ya2VyUGFnZUlkZW50aWZpZXIKKyAgICAgICAgc2Vydmlj
ZVdvcmtlclBhZ2VJZGVudGlmaWVyLAorICAgICAgICBjcm9zc1RocmVhZENvcHkoV1RGTW92ZShu
YXZpZ2F0aW9uUHJlbG9hZFN0YXRlKSkKICAgICB9OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRleHREYXRhLmggYi9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRleHREYXRhLmgKaW5k
ZXggMDFkOGNiY2Y0OTI0OTgxMWUzYjNkYzYzN2ViYzRiNGI0MTNjY2U3Yy4uNDZhOWZhNzAxMjll
Mzc1YzU5NjgxYmJhNmUzMGVhOThhYmNiMWQ4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250ZXh0RGF0YS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGV4dERhdGEuaApAQCAtMjgs
NiArMjgsNyBAQAogI2luY2x1ZGUgIkNlcnRpZmljYXRlSW5mby5oIgogI2luY2x1ZGUgIkNvbnRl
bnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycy5oIgogI2luY2x1ZGUgIkNyb3NzT3JpZ2lu
RW1iZWRkZXJQb2xpY3kuaCIKKyNpbmNsdWRlICJOYXZpZ2F0aW9uUHJlbG9hZFN0YXRlLmgiCiAj
aW5jbHVkZSAiU2NyaXB0QnVmZmVyLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4
dElkZW50aWZpZXIuaCIKICNpbmNsdWRlICJTZXJ2aWNlV29ya2VySWRlbnRpZmllci5oIgpAQCAt
OTUsNiArOTYsNyBAQCBzdHJ1Y3QgU2VydmljZVdvcmtlckNvbnRleHREYXRhIHsKICAgICBzdGQ6
Om9wdGlvbmFsPExhc3ROYXZpZ2F0aW9uV2FzQXBwSW5pdGlhdGVkPiBsYXN0TmF2aWdhdGlvbldh
c0FwcEluaXRpYXRlZDsKICAgICBIYXNoTWFwPFVSTCwgSW1wb3J0ZWRTY3JpcHQ+IHNjcmlwdFJl
c291cmNlTWFwOwogICAgIHN0ZDo6b3B0aW9uYWw8U2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50
aWZpZXI+IHNlcnZpY2VXb3JrZXJQYWdlSWRlbnRpZmllcjsKKyAgICBOYXZpZ2F0aW9uUHJlbG9h
ZFN0YXRlIG5hdmlnYXRpb25QcmVsb2FkU3RhdGU7CiAKICAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNv
ZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7CiAgICAgdGVtcGxhdGU8Y2xhc3MgRGVj
b2Rlcj4gc3RhdGljIHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlckNvbnRleHREYXRhPiBkZWNv
ZGUoRGVjb2RlciYpOwpAQCAtMTA3LDcgKzEwOSw3IEBAIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+
CiB2b2lkIFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YTo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIp
IGNvbnN0CiB7CiAgICAgZW5jb2RlciA8PCBqb2JEYXRhSWRlbnRpZmllciA8PCByZWdpc3RyYXRp
b24gPDwgc2VydmljZVdvcmtlcklkZW50aWZpZXIgPDwgc2NyaXB0IDw8IGNvbnRlbnRTZWN1cml0
eVBvbGljeSA8PCBjcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5IDw8IHJlZmVycmVyUG9saWN5Ci0g
ICAgICAgIDw8IHNjcmlwdFVSTCA8PCB3b3JrZXJUeXBlIDw8IGxvYWRlZEZyb21EaXNrIDw8IGxh
c3ROYXZpZ2F0aW9uV2FzQXBwSW5pdGlhdGVkIDw8IHNjcmlwdFJlc291cmNlTWFwIDw8IGNlcnRp
ZmljYXRlSW5mbyA8PCBzZXJ2aWNlV29ya2VyUGFnZUlkZW50aWZpZXI7CisgICAgICAgIDw8IHNj
cmlwdFVSTCA8PCB3b3JrZXJUeXBlIDw8IGxvYWRlZEZyb21EaXNrIDw8IGxhc3ROYXZpZ2F0aW9u
V2FzQXBwSW5pdGlhdGVkIDw8IHNjcmlwdFJlc291cmNlTWFwIDw8IGNlcnRpZmljYXRlSW5mbyA8
PCBzZXJ2aWNlV29ya2VyUGFnZUlkZW50aWZpZXIgPDwgbmF2aWdhdGlvblByZWxvYWRTdGF0ZTsK
IH0KIAogdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4KQEAgLTE3NSw2ICsxNzcsMTEgQEAgc3RkOjpv
cHRpb25hbDxTZXJ2aWNlV29ya2VyQ29udGV4dERhdGE+IFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0
YTo6ZGVjb2RlKERlY29kZXIKICAgICBpZiAoIXNlcnZpY2VXb3JrZXJQYWdlSWRlbnRpZmllcikK
ICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKIAorICAgIHN0ZDo6b3B0aW9uYWw8TmF2aWdh
dGlvblByZWxvYWRTdGF0ZT4gbmF2aWdhdGlvblByZWxvYWRTdGF0ZTsKKyAgICBkZWNvZGVyID4+
IG5hdmlnYXRpb25QcmVsb2FkU3RhdGU7CisgICAgaWYgKCFuYXZpZ2F0aW9uUHJlbG9hZFN0YXRl
KQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworCiAgICAgcmV0dXJuIHt7CiAgICAgICAg
IFdURk1vdmUoKmpvYkRhdGFJZGVudGlmaWVyKSwKICAgICAgICAgV1RGTW92ZSgqcmVnaXN0cmF0
aW9uKSwKQEAgLTE4OSw3ICsxOTYsOCBAQCBzdGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJDb250
ZXh0RGF0YT4gU2VydmljZVdvcmtlckNvbnRleHREYXRhOjpkZWNvZGUoRGVjb2RlcgogICAgICAg
ICBsb2FkZWRGcm9tRGlzaywKICAgICAgICAgV1RGTW92ZShsYXN0TmF2aWdhdGlvbldhc0FwcElu
aXRpYXRlZCksCiAgICAgICAgIFdURk1vdmUoc2NyaXB0UmVzb3VyY2VNYXApLAotICAgICAgICBX
VEZNb3ZlKCpzZXJ2aWNlV29ya2VyUGFnZUlkZW50aWZpZXIpCisgICAgICAgIFdURk1vdmUoKnNl
cnZpY2VXb3JrZXJQYWdlSWRlbnRpZmllciksCisgICAgICAgIFdURk1vdmUoKm5hdmlnYXRpb25Q
cmVsb2FkU3RhdGUpCiAgICAgfX07CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvc2VydmljZS9zZXJ2ZXIvUmVnaXN0cmF0aW9uRGF0YWJhc2UuY3BwIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9SZWdpc3RyYXRpb25EYXRhYmFzZS5jcHAKaW5k
ZXggY2JiZTMwZTU5NGE1OTBiMGY5ZDU2YTg3MGI2YzNmMWQzYTViNTQ2NS4uMWJiNGRhZWQ2OGZk
OWZlN2RkZjBkNTM5OWRlYjNhMmIyYzg5N2YxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zZXJ2aWNlL3NlcnZlci9SZWdpc3RyYXRpb25EYXRhYmFzZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9SZWdpc3RyYXRpb25EYXRhYmFzZS5j
cHAKQEAgLTUwLDcgKzUwLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgY29u
c3QgdWludDY0X3Qgc2NoZW1hVmVyc2lvbiA9IDc7CitzdGF0aWMgY29uc3QgdWludDY0X3Qgc2No
ZW1hVmVyc2lvbiA9IDg7CiAKICNkZWZpbmUgUkVDT1JEU19UQUJMRV9TQ0hFTUFfUFJFRklYICJD
UkVBVEUgVEFCTEUgIgogI2RlZmluZSBSRUNPUkRTX1RBQkxFX1NDSEVNQV9TVUZGSVggIigiIFwK
QEAgLTY3LDYgKzY3LDcgQEAgc3RhdGljIGNvbnN0IHVpbnQ2NF90IHNjaGVtYVZlcnNpb24gPSA3
OwogICAgICIsIHJlZmVycmVyUG9saWN5IFRFWFQgTk9UIE5VTEwgT04gQ09ORkxJQ1QgRkFJTCIg
XAogICAgICIsIHNjcmlwdFJlc291cmNlTWFwIEJMT0IgTk9UIE5VTEwgT04gQ09ORkxJQ1QgRkFJ
TCIgXAogICAgICIsIGNlcnRpZmljYXRlSW5mbyBCTE9CIE5PVCBOVUxMIE9OIENPTkZMSUNUIEZB
SUwiIFwKKyAgICAiLCBwcmVsb2FkU3RhdGUgQkxPQiBOT1QgTlVMTCBPTiBDT05GTElDVCBGQUlM
IiBcCiAgICAgIikiX3M7CiAKIHN0YXRpYyBBU0NJSUxpdGVyYWwgcmVjb3Jkc1RhYmxlU2NoZW1h
KCkKQEAgLTQyMiw3ICs0MjMsNyBAQCBib29sIFJlZ2lzdHJhdGlvbkRhdGFiYXNlOjpkb1B1c2hD
aGFuZ2VzKGNvbnN0IFZlY3RvcjxTZXJ2aWNlV29ya2VyQ29udGV4dERhdGE+JgogICAgIFNRTGl0
ZVRyYW5zYWN0aW9uIHRyYW5zYWN0aW9uKCptX2RhdGFiYXNlKTsKICAgICB0cmFuc2FjdGlvbi5i
ZWdpbigpOwogCi0gICAgYXV0byBpbnNlcnRTdGF0ZW1lbnQgPSBtX2RhdGFiYXNlLT5wcmVwYXJl
U3RhdGVtZW50KCJJTlNFUlQgSU5UTyBSZWNvcmRzIFZBTFVFUyAoPywgPywgPywgPywgPywgPywg
PywgPywgPywgPywgPywgPywgPykiX3MpOworICAgIGF1dG8gaW5zZXJ0U3RhdGVtZW50ID0gbV9k
YXRhYmFzZS0+cHJlcGFyZVN0YXRlbWVudCgiSU5TRVJUIElOVE8gUmVjb3JkcyBWQUxVRVMgKD8s
ID8sID8sID8sID8sID8sID8sID8sID8sID8sID8sID8sID8sID8pIl9zKTsKICAgICBpZiAoIWlu
c2VydFN0YXRlbWVudCkgewogICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihTZXJ2aWNlV29ya2Vy
LCAiRmFpbGVkIHRvIHByZXBhcmUgc3RhdGVtZW50IHRvIHN0b3JlIHJlZ2lzdHJhdGlvbiBkYXRh
IGludG8gcmVjb3JkcyB0YWJsZSAoJWkpIC0gJXMiLCBtX2RhdGFiYXNlLT5sYXN0RXJyb3IoKSwg
bV9kYXRhYmFzZS0+bGFzdEVycm9yTXNnKCkpOwogICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC00
NTUsNiArNDU2LDkgQEAgYm9vbCBSZWdpc3RyYXRpb25EYXRhYmFzZTo6ZG9QdXNoQ2hhbmdlcyhj
b25zdCBWZWN0b3I8U2VydmljZVdvcmtlckNvbnRleHREYXRhPiYKICAgICAgICAgV1RGOjpQZXJz
aXN0ZW5jZTo6RW5jb2RlciBjZXJ0aWZpY2F0ZUluZm9FbmNvZGVyOwogICAgICAgICBjZXJ0aWZp
Y2F0ZUluZm9FbmNvZGVyIDw8IGRhdGEuY2VydGlmaWNhdGVJbmZvOwogCisgICAgICAgIFdURjo6
UGVyc2lzdGVuY2U6OkVuY29kZXIgbmF2aWdhdGlvblByZWxvYWRTdGF0ZUVuY29kZXI7CisgICAg
ICAgIG5hdmlnYXRpb25QcmVsb2FkU3RhdGVFbmNvZGVyIDw8IGRhdGEubmF2aWdhdGlvblByZWxv
YWRTdGF0ZTsKKwogICAgICAgICBpZiAoaW5zZXJ0U3RhdGVtZW50LT5iaW5kVGV4dCgxLCBkYXRh
LnJlZ2lzdHJhdGlvbi5rZXkudG9EYXRhYmFzZUtleSgpKSAhPSBTUUxJVEVfT0sKICAgICAgICAg
ICAgIHx8IGluc2VydFN0YXRlbWVudC0+YmluZFRleHQoMiwgZGF0YS5yZWdpc3RyYXRpb24uc2Nv
cGVVUkwucHJvdG9jb2xIb3N0QW5kUG9ydCgpKSAhPSBTUUxJVEVfT0sKICAgICAgICAgICAgIHx8
IGluc2VydFN0YXRlbWVudC0+YmluZFRleHQoMywgZGF0YS5yZWdpc3RyYXRpb24uc2NvcGVVUkwu
cGF0aCgpLnRvU3RyaW5nKCkpICE9IFNRTElURV9PSwpAQCAtNDY4LDYgKzQ3Miw3IEBAIGJvb2wg
UmVnaXN0cmF0aW9uRGF0YWJhc2U6OmRvUHVzaENoYW5nZXMoY29uc3QgVmVjdG9yPFNlcnZpY2VX
b3JrZXJDb250ZXh0RGF0YT4mCiAgICAgICAgICAgICB8fCBpbnNlcnRTdGF0ZW1lbnQtPmJpbmRU
ZXh0KDExLCBkYXRhLnJlZmVycmVyUG9saWN5KSAhPSBTUUxJVEVfT0sKICAgICAgICAgICAgIHx8
IGluc2VydFN0YXRlbWVudC0+YmluZEJsb2IoMTIsIFNwYW4geyBzY3JpcHRSZXNvdXJjZU1hcEVu
Y29kZXIuYnVmZmVyKCksIHNjcmlwdFJlc291cmNlTWFwRW5jb2Rlci5idWZmZXJTaXplKCkgfSkg
IT0gU1FMSVRFX09LCiAgICAgICAgICAgICB8fCBpbnNlcnRTdGF0ZW1lbnQtPmJpbmRCbG9iKDEz
LCBTcGFuIHsgY2VydGlmaWNhdGVJbmZvRW5jb2Rlci5idWZmZXIoKSwgY2VydGlmaWNhdGVJbmZv
RW5jb2Rlci5idWZmZXJTaXplKCkgfSkgIT0gU1FMSVRFX09LCisgICAgICAgICAgICB8fCBpbnNl
cnRTdGF0ZW1lbnQtPmJpbmRCbG9iKDE0LCBTcGFuIHsgbmF2aWdhdGlvblByZWxvYWRTdGF0ZUVu
Y29kZXIuYnVmZmVyKCksIG5hdmlnYXRpb25QcmVsb2FkU3RhdGVFbmNvZGVyLmJ1ZmZlclNpemUo
KSB9KSAhPSBTUUxJVEVfT0sKICAgICAgICAgICAgIHx8IGluc2VydFN0YXRlbWVudC0+c3RlcCgp
ICE9IFNRTElURV9ET05FKSB7CiAgICAgICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihTZXJ2aWNl
V29ya2VyLCAiRmFpbGVkIHRvIHN0b3JlIHJlZ2lzdHJhdGlvbiBkYXRhIGludG8gcmVjb3JkcyB0
YWJsZSAoJWkpIC0gJXMiLCBtX2RhdGFiYXNlLT5sYXN0RXJyb3IoKSwgbV9kYXRhYmFzZS0+bGFz
dEVycm9yTXNnKCkpOwogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtNTY2LDYgKzU3MSwx
NiBAQCBTdHJpbmcgUmVnaXN0cmF0aW9uRGF0YWJhc2U6OmltcG9ydFJlY29yZHMoKQogICAgICAg
ICAgICAgY29udGludWU7CiAgICAgICAgIH0KIAorICAgICAgICBhdXRvIG5hdmlnYXRpb25QcmVs
b2FkU3RhdGVEYXRhU3BhbiA9IHNxbC0+Y29sdW1uQmxvYkFzU3BhbigxMyk7CisgICAgICAgIHN0
ZDo6b3B0aW9uYWw8TmF2aWdhdGlvblByZWxvYWRTdGF0ZT4gbmF2aWdhdGlvblByZWxvYWRTdGF0
ZTsKKworICAgICAgICBXVEY6OlBlcnNpc3RlbmNlOjpEZWNvZGVyIG5hdmlnYXRpb25QcmVsb2Fk
U3RhdGVEZWNvZGVyKG5hdmlnYXRpb25QcmVsb2FkU3RhdGVEYXRhU3Bhbik7CisgICAgICAgIG5h
dmlnYXRpb25QcmVsb2FkU3RhdGVEZWNvZGVyID4+IG5hdmlnYXRpb25QcmVsb2FkU3RhdGU7Cisg
ICAgICAgIGlmICghbmF2aWdhdGlvblByZWxvYWRTdGF0ZSkgeworICAgICAgICAgICAgUkVMRUFT
RV9MT0dfRVJST1IoU2VydmljZVdvcmtlciwgIlJlZ2lzdHJhdGlvbkRhdGFiYXNlOjppbXBvcnRS
ZWNvcmRzOiBGYWlsZWQgdG8gZGVjb2RlIG5hdmlnYXRpb25QcmVsb2FkU3RhdGUiKTsKKyAgICAg
ICAgICAgIGNvbnRpbnVlOworICAgICAgICB9CisKICAgICAgICAgLy8gVmFsaWRhdGUgdGhlIGlu
cHV0IGZvciB0aGlzIHJlZ2lzdHJhdGlvbi4KICAgICAgICAgLy8gSWYgYW55IHBhcnQgb2YgdGhp
cyBpbnB1dCBpcyBpbnZhbGlkLCBsZXQncyBza2lwIHRoaXMgcmVnaXN0cmF0aW9uLgogICAgICAg
ICAvLyBGSVhNRTogU2hvdWxkIHdlIHJldHVybiBhbiBlcnJvciBza2lwcGluZyAqYWxsKiByZWdp
c3RyYXRpb25zPwpAQCAtNTg0LDcgKzU5OSw3IEBAIFN0cmluZyBSZWdpc3RyYXRpb25EYXRhYmFz
ZTo6aW1wb3J0UmVjb3JkcygpCiAgICAgICAgIGF1dG8gcmVnaXN0cmF0aW9uSWRlbnRpZmllciA9
IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyOjpnZW5lcmF0ZSgpOwogICAgICAg
ICBhdXRvIHNlcnZpY2VXb3JrZXJEYXRhID0gU2VydmljZVdvcmtlckRhdGEgeyB3b3JrZXJJZGVu
dGlmaWVyLCBzY3JpcHRVUkwsIFNlcnZpY2VXb3JrZXJTdGF0ZTo6QWN0aXZhdGVkLCAqd29ya2Vy
VHlwZSwgcmVnaXN0cmF0aW9uSWRlbnRpZmllciB9OwogICAgICAgICBhdXRvIHJlZ2lzdHJhdGlv
biA9IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhIHsgV1RGTW92ZSgqa2V5KSwgcmVnaXN0
cmF0aW9uSWRlbnRpZmllciwgV1RGTW92ZShzY29wZVVSTCksICp1cGRhdGVWaWFDYWNoZSwgbGFz
dFVwZGF0ZUNoZWNrVGltZSwgc3RkOjpudWxsb3B0LCBzdGQ6Om51bGxvcHQsIFdURk1vdmUoc2Vy
dmljZVdvcmtlckRhdGEpIH07Ci0gICAgICAgIGF1dG8gY29udGV4dERhdGEgPSBTZXJ2aWNlV29y
a2VyQ29udGV4dERhdGEgeyBzdGQ6Om51bGxvcHQsIFdURk1vdmUocmVnaXN0cmF0aW9uKSwgd29y
a2VySWRlbnRpZmllciwgV1RGTW92ZShzY3JpcHQpLCBXVEZNb3ZlKCpjZXJ0aWZpY2F0ZUluZm8p
LCBXVEZNb3ZlKCpjb250ZW50U2VjdXJpdHlQb2xpY3kpLCBXVEZNb3ZlKCpjb2VwKSwgV1RGTW92
ZShyZWZlcnJlclBvbGljeSksIFdURk1vdmUoc2NyaXB0VVJMKSwgKndvcmtlclR5cGUsIHRydWUs
IExhc3ROYXZpZ2F0aW9uV2FzQXBwSW5pdGlhdGVkOjpZZXMsIFdURk1vdmUoc2NyaXB0UmVzb3Vy
Y2VNYXApLCBzdGQ6Om51bGxvcHQgfTsKKyAgICAgICAgYXV0byBjb250ZXh0RGF0YSA9IFNlcnZp
Y2VXb3JrZXJDb250ZXh0RGF0YSB7IHN0ZDo6bnVsbG9wdCwgV1RGTW92ZShyZWdpc3RyYXRpb24p
LCB3b3JrZXJJZGVudGlmaWVyLCBXVEZNb3ZlKHNjcmlwdCksIFdURk1vdmUoKmNlcnRpZmljYXRl
SW5mbyksIFdURk1vdmUoKmNvbnRlbnRTZWN1cml0eVBvbGljeSksIFdURk1vdmUoKmNvZXApLCBX
VEZNb3ZlKHJlZmVycmVyUG9saWN5KSwgV1RGTW92ZShzY3JpcHRVUkwpLCAqd29ya2VyVHlwZSwg
dHJ1ZSwgTGFzdE5hdmlnYXRpb25XYXNBcHBJbml0aWF0ZWQ6OlllcywgV1RGTW92ZShzY3JpcHRS
ZXNvdXJjZU1hcCksIHN0ZDo6bnVsbG9wdCwgV1RGTW92ZSgqbmF2aWdhdGlvblByZWxvYWRTdGF0
ZSkgfTsKIAogICAgICAgICBjYWxsT25NYWluVGhyZWFkKFtwcm90ZWN0ZWRUaGlzID0gUmVmIHsg
KnRoaXMgfSwgY29udGV4dERhdGEgPSBjb250ZXh0RGF0YS5pc29sYXRlZENvcHkoKV0oKSBtdXRh
YmxlIHsKICAgICAgICAgICAgIHByb3RlY3RlZFRoaXMtPmFkZFJlZ2lzdHJhdGlvblRvU3RvcmUo
V1RGTW92ZShjb250ZXh0RGF0YSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL3NlcnZlci9SZWdpc3RyYXRpb25TdG9yZS5oIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zZXJ2aWNlL3NlcnZlci9SZWdpc3RyYXRpb25TdG9yZS5oCmluZGV4IDNiM2NkOTg3Yjcx
ZTQyNDcxZjFlMjI2Njc1MDcwNTk0OTFlMmNiM2QuLjE0NDFlYTY5NGY2YTIxNjdkNmNmZjk0YTE5
MDNiODkyYjAyNzQ3YjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vydmlj
ZS9zZXJ2ZXIvUmVnaXN0cmF0aW9uU3RvcmUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L3NlcnZpY2Uvc2VydmVyL1JlZ2lzdHJhdGlvblN0b3JlLmgKQEAgLTQwLDYgKzQwLDcgQEAKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCitzdHJ1Y3QgTmF2aWdhdGlvblByZWxvYWRTdGF0ZTsKIGNs
YXNzIFNXU2VydmVyOwogY2xhc3MgU1dTZXJ2ZXJSZWdpc3RyYXRpb247CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5jcHAKaW5kZXggNmM2
OTE0NjI5ODhlN2FhOGJkOWVkZjIxZTg3Njk0YzZlNzQxZWNmOS4uMDMwM2MxNTk4NzZkNTQyMmM2
ZTM5NTQ0MjhiZWEwMTlhZmQ3M2UyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5jcHAKQEAgLTE3OCw3ICsxNzgsNyBAQCB2b2lkIFNX
U2VydmVyOjphZGRSZWdpc3RyYXRpb25Gcm9tU3RvcmUoU2VydmljZVdvcmtlckNvbnRleHREYXRh
JiYgZGF0YSkKICAgICAgICAgaWYgKCF3ZWFrVGhpcykKICAgICAgICAgICAgIHJldHVybjsKICAg
ICAgICAgaWYgKG1faGFzU2VydmljZVdvcmtlckVudGl0bGVtZW50IHx8IGlzVmFsaWQpIHsKLSAg
ICAgICAgICAgIGF1dG8gcmVnaXN0cmF0aW9uID0gbWFrZVVuaXF1ZTxTV1NlcnZlclJlZ2lzdHJh
dGlvbj4oKnRoaXMsIGRhdGEucmVnaXN0cmF0aW9uLmtleSwgZGF0YS5yZWdpc3RyYXRpb24udXBk
YXRlVmlhQ2FjaGUsIGRhdGEucmVnaXN0cmF0aW9uLnNjb3BlVVJMLCBkYXRhLnNjcmlwdFVSTCwg
ZGF0YS5zZXJ2aWNlV29ya2VyUGFnZUlkZW50aWZpZXIpOworICAgICAgICAgICAgYXV0byByZWdp
c3RyYXRpb24gPSBtYWtlVW5pcXVlPFNXU2VydmVyUmVnaXN0cmF0aW9uPigqdGhpcywgZGF0YS5y
ZWdpc3RyYXRpb24ua2V5LCBkYXRhLnJlZ2lzdHJhdGlvbi51cGRhdGVWaWFDYWNoZSwgZGF0YS5y
ZWdpc3RyYXRpb24uc2NvcGVVUkwsIGRhdGEuc2NyaXB0VVJMLCBkYXRhLnNlcnZpY2VXb3JrZXJQ
YWdlSWRlbnRpZmllciwgV1RGTW92ZShkYXRhLm5hdmlnYXRpb25QcmVsb2FkU3RhdGUpKTsKICAg
ICAgICAgICAgIHJlZ2lzdHJhdGlvbi0+c2V0TGFzdFVwZGF0ZVRpbWUoZGF0YS5yZWdpc3RyYXRp
b24ubGFzdFVwZGF0ZVRpbWUpOwogICAgICAgICAgICAgYXV0byByZWdpc3RyYXRpb25QdHIgPSBy
ZWdpc3RyYXRpb24uZ2V0KCk7CiAgICAgICAgICAgICBhZGRSZWdpc3RyYXRpb24oV1RGTW92ZShy
ZWdpc3RyYXRpb24pKTsKQEAgLTU4Myw5ICs1ODMsMTUgQEAgdm9pZCBTV1NlcnZlcjo6ZGlkRmlu
aXNoQWN0aXZhdGlvbihTV1NlcnZlcldvcmtlciYgd29ya2VyKQogICAgIGlmICghcmVnaXN0cmF0
aW9uKQogICAgICAgICByZXR1cm47CiAKKyAgICBzdG9yZVJlZ2lzdHJhdGlvbkZvcldvcmtlcih3
b3JrZXIpOworCisgICAgcmVnaXN0cmF0aW9uLT5kaWRGaW5pc2hBY3RpdmF0aW9uKHdvcmtlci5p
ZGVudGlmaWVyKCkpOworfQorCit2b2lkIFNXU2VydmVyOjpzdG9yZVJlZ2lzdHJhdGlvbkZvcldv
cmtlcihTV1NlcnZlcldvcmtlciYgd29ya2VyKQorewogICAgIGlmIChtX3JlZ2lzdHJhdGlvblN0
b3JlKQogICAgICAgICBtX3JlZ2lzdHJhdGlvblN0b3JlLT51cGRhdGVSZWdpc3RyYXRpb24od29y
a2VyLmNvbnRleHREYXRhKCkpOwotICAgIHJlZ2lzdHJhdGlvbi0+ZGlkRmluaXNoQWN0aXZhdGlv
bih3b3JrZXIuaWRlbnRpZmllcigpKTsKIH0KIAogLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL1Nl
cnZpY2VXb3JrZXIvI2NsaWVudHMtZ2V0YWxsCkBAIC02NzUsNyArNjgxLDcgQEAgdm9pZCBTV1Nl
cnZlcjo6cmVtb3ZlQ2xpZW50U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbihDb25uZWN0aW9uJiBj
b25uZWN0aW9uLCBTZXIKIAogdm9pZCBTV1NlcnZlcjo6dXBkYXRlV29ya2VyKGNvbnN0IFNlcnZp
Y2VXb3JrZXJKb2JEYXRhSWRlbnRpZmllciYgam9iRGF0YUlkZW50aWZpZXIsIFNXU2VydmVyUmVn
aXN0cmF0aW9uJiByZWdpc3RyYXRpb24sIGNvbnN0IFVSTCYgdXJsLCBjb25zdCBTY3JpcHRCdWZm
ZXImIHNjcmlwdCwgY29uc3QgQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8sIGNvbnN0
IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYgY29udGVudFNlY3VyaXR5UG9s
aWN5LCBjb25zdCBDcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5JiBjb2VwLCBjb25zdCBTdHJpbmcm
IHJlZmVycmVyUG9saWN5LCBXb3JrZXJUeXBlIHR5cGUsIEhhc2hNYXA8VVJMLCBTZXJ2aWNlV29y
a2VyQ29udGV4dERhdGE6OkltcG9ydGVkU2NyaXB0PiYmIHNjcmlwdFJlc291cmNlTWFwLCBzdGQ6
Om9wdGlvbmFsPFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyPiBzZXJ2aWNlV29ya2Vy
UGFnZUlkZW50aWZpZXIpCiB7Ci0gICAgdHJ5SW5zdGFsbENvbnRleHREYXRhKFNlcnZpY2VXb3Jr
ZXJDb250ZXh0RGF0YSB7IGpvYkRhdGFJZGVudGlmaWVyLCByZWdpc3RyYXRpb24uZGF0YSgpLCBT
ZXJ2aWNlV29ya2VySWRlbnRpZmllcjo6Z2VuZXJhdGUoKSwgc2NyaXB0LCBjZXJ0aWZpY2F0ZUlu
Zm8sIGNvbnRlbnRTZWN1cml0eVBvbGljeSwgY29lcCwgcmVmZXJyZXJQb2xpY3ksIHVybCwgdHlw
ZSwgZmFsc2UsIGNsaWVudElzQXBwSW5pdGlhdGVkRm9yUmVnaXN0cmFibGVEb21haW4oUmVnaXN0
cmFibGVEb21haW4odXJsKSksIFdURk1vdmUoc2NyaXB0UmVzb3VyY2VNYXApLCBzZXJ2aWNlV29y
a2VyUGFnZUlkZW50aWZpZXIgfSk7CisgICAgdHJ5SW5zdGFsbENvbnRleHREYXRhKFNlcnZpY2VX
b3JrZXJDb250ZXh0RGF0YSB7IGpvYkRhdGFJZGVudGlmaWVyLCByZWdpc3RyYXRpb24uZGF0YSgp
LCBTZXJ2aWNlV29ya2VySWRlbnRpZmllcjo6Z2VuZXJhdGUoKSwgc2NyaXB0LCBjZXJ0aWZpY2F0
ZUluZm8sIGNvbnRlbnRTZWN1cml0eVBvbGljeSwgY29lcCwgcmVmZXJyZXJQb2xpY3ksIHVybCwg
dHlwZSwgZmFsc2UsIGNsaWVudElzQXBwSW5pdGlhdGVkRm9yUmVnaXN0cmFibGVEb21haW4oUmVn
aXN0cmFibGVEb21haW4odXJsKSksIFdURk1vdmUoc2NyaXB0UmVzb3VyY2VNYXApLCBzZXJ2aWNl
V29ya2VyUGFnZUlkZW50aWZpZXIsIHsgfSB9KTsKIH0KIAogTGFzdE5hdmlnYXRpb25XYXNBcHBJ
bml0aWF0ZWQgU1dTZXJ2ZXI6OmNsaWVudElzQXBwSW5pdGlhdGVkRm9yUmVnaXN0cmFibGVEb21h
aW4oY29uc3QgUmVnaXN0cmFibGVEb21haW4mIGRvbWFpbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuaAppbmRleCA0NTIyZjM0M2NhZmUwNDg3
N2FhMDkwNTU1M2YxZTg2NTZhMDIzZDNhLi5iMTVmMWFmNWUwZWQ3MmFhYTFkZGJkYTlhMmZmZTNm
YjI5YWIxMzg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2Vy
dmVyL1NXU2VydmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZl
ci9TV1NlcnZlci5oCkBAIC0xOTQsNiArMTk0LDcgQEAgcHVibGljOgogICAgIHZvaWQgZGlkU2F2
ZVdvcmtlclNjcmlwdHNUb0Rpc2soU2VydmljZVdvcmtlcklkZW50aWZpZXIsIFNjcmlwdEJ1ZmZl
ciYmIG1haW5TY3JpcHQsIEhhc2hNYXA8VVJMLCBTY3JpcHRCdWZmZXI+JiYgaW1wb3J0ZWRTY3Jp
cHRzKTsKICAgICB2b2lkIHJlZ2lzdHJhdGlvblN0b3JlSW1wb3J0Q29tcGxldGUoKTsKICAgICB2
b2lkIHJlZ2lzdHJhdGlvblN0b3JlRGF0YWJhc2VGYWlsZWRUb09wZW4oKTsKKyAgICB2b2lkIHN0
b3JlUmVnaXN0cmF0aW9uRm9yV29ya2VyKFNXU2VydmVyV29ya2VyJik7CiAKICAgICBXRUJDT1JF
X0VYUE9SVCB2b2lkIGdldE9yaWdpbnNXaXRoUmVnaXN0cmF0aW9ucyhGdW5jdGlvbjx2b2lkKGNv
bnN0IEhhc2hTZXQ8U2VjdXJpdHlPcmlnaW5EYXRhPiYpPiYmKTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlckpvYlF1ZXVlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJKb2JRdWV1ZS5j
cHAKaW5kZXggZDYwZmYwMDk5YmExYzhjMDhjYTFlN2E2MjJkNmY4NzQxYWZmYWM5Ny4uYTMyOTc4
Zjc5NWMxNjJjMTE2ZjAzY2ZlN2ViNWI4NGMxOWZhMTRhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlckpvYlF1ZXVlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVySm9iUXVldWUuY3Bw
CkBAIC0yOTcsNyArMjk3LDcgQEAgdm9pZCBTV1NlcnZlckpvYlF1ZXVlOjpydW5SZWdpc3Rlckpv
Yihjb25zdCBTZXJ2aWNlV29ya2VySm9iRGF0YSYgam9iKQogICAgICAgICAgICAgcmVnaXN0cmF0
aW9uLT5zZXRVcGRhdGVWaWFDYWNoZShqb2IucmVnaXN0cmF0aW9uT3B0aW9ucy51cGRhdGVWaWFD
YWNoZSk7CiAgICAgICAgIFJFTEVBU0VfTE9HKFNlcnZpY2VXb3JrZXIsICIlcCAtIFNXU2VydmVy
Sm9iUXVldWU6OnJ1blJlZ2lzdGVySm9iOiBGb3VuZCByZWdpc3RyYXRpb24gJWxsdSBmb3Igam9i
ICVzIGJ1dCBpdCBuZWVkcyB1cGRhdGluZyIsIHRoaXMsIHJlZ2lzdHJhdGlvbi0+aWRlbnRpZmll
cigpLnRvVUludDY0KCksIGpvYi5pZGVudGlmaWVyKCkubG9nZ2luZ1N0cmluZygpLnV0ZjgoKS5k
YXRhKCkpOwogICAgIH0gZWxzZSB7Ci0gICAgICAgIGF1dG8gbmV3UmVnaXN0cmF0aW9uID0gbWFr
ZVVuaXF1ZTxTV1NlcnZlclJlZ2lzdHJhdGlvbj4obV9zZXJ2ZXIsIG1fcmVnaXN0cmF0aW9uS2V5
LCBqb2IucmVnaXN0cmF0aW9uT3B0aW9ucy51cGRhdGVWaWFDYWNoZSwgam9iLnNjb3BlVVJMLCBq
b2Iuc2NyaXB0VVJMLCBqb2Iuc2VydmljZVdvcmtlclBhZ2VJZGVudGlmaWVyKCkpOworICAgICAg
ICBhdXRvIG5ld1JlZ2lzdHJhdGlvbiA9IG1ha2VVbmlxdWU8U1dTZXJ2ZXJSZWdpc3RyYXRpb24+
KG1fc2VydmVyLCBtX3JlZ2lzdHJhdGlvbktleSwgam9iLnJlZ2lzdHJhdGlvbk9wdGlvbnMudXBk
YXRlVmlhQ2FjaGUsIGpvYi5zY29wZVVSTCwgam9iLnNjcmlwdFVSTCwgam9iLnNlcnZpY2VXb3Jr
ZXJQYWdlSWRlbnRpZmllcigpLCBOYXZpZ2F0aW9uUHJlbG9hZFN0YXRlOjpkZWZhdWx0VmFsdWUo
KSk7CiAgICAgICAgIG1fc2VydmVyLmFkZFJlZ2lzdHJhdGlvbihXVEZNb3ZlKG5ld1JlZ2lzdHJh
dGlvbikpOwogCiAgICAgICAgIFJFTEVBU0VfTE9HKFNlcnZpY2VXb3JrZXIsICIlcCAtIFNXU2Vy
dmVySm9iUXVldWU6OnJ1blJlZ2lzdGVySm9iOiBObyBleGlzdGluZyByZWdpc3RyYXRpb24gZm9y
IGpvYiAlcywgY29uc3RydWN0aW5nIGEgbmV3IG9uZS4iLCB0aGlzLCBqb2IuaWRlbnRpZmllcigp
LmxvZ2dpbmdTdHJpbmcoKS51dGY4KCkuZGF0YSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJSZWdpc3RyYXRpb24uY3BwIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlclJlZ2lzdHJhdGlvbi5j
cHAKaW5kZXggZWM3YjNiYzMyMWM3MzA3MTlkZDk1MzI2Y2M0NWI4ZmViYzFjYjI3NS4uMzNiNWIz
OThlNGZkZTA3ODY4MWIzZjQ5ODM3ZTQ4Yzg1ODJhMjI3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlclJlZ2lzdHJhdGlvbi5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlclJlZ2lzdHJh
dGlvbi5jcHAKQEAgLTQzLDcgKzQzLDcgQEAgc3RhdGljIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b25JZGVudGlmaWVyIGdlbmVyYXRlU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW4KICAgICBy
ZXR1cm4gU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXI6OmdlbmVyYXRlKCk7CiB9
CiAKLVNXU2VydmVyUmVnaXN0cmF0aW9uOjpTV1NlcnZlclJlZ2lzdHJhdGlvbihTV1NlcnZlciYg
c2VydmVyLCBjb25zdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5JiBrZXksIFNlcnZpY2VX
b3JrZXJVcGRhdGVWaWFDYWNoZSB1cGRhdGVWaWFDYWNoZSwgY29uc3QgVVJMJiBzY29wZVVSTCwg
Y29uc3QgVVJMJiBzY3JpcHRVUkwsIHN0ZDo6b3B0aW9uYWw8U2NyaXB0RXhlY3V0aW9uQ29udGV4
dElkZW50aWZpZXI+IHNlcnZpY2VXb3JrZXJQYWdlSWRlbnRpZmllcikKK1NXU2VydmVyUmVnaXN0
cmF0aW9uOjpTV1NlcnZlclJlZ2lzdHJhdGlvbihTV1NlcnZlciYgc2VydmVyLCBjb25zdCBTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5JiBrZXksIFNlcnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNo
ZSB1cGRhdGVWaWFDYWNoZSwgY29uc3QgVVJMJiBzY29wZVVSTCwgY29uc3QgVVJMJiBzY3JpcHRV
UkwsIHN0ZDo6b3B0aW9uYWw8U2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXI+IHNlcnZp
Y2VXb3JrZXJQYWdlSWRlbnRpZmllciwgTmF2aWdhdGlvblByZWxvYWRTdGF0ZSYmIG5hdmlnYXRp
b25QcmVsb2FkU3RhdGUpCiAgICAgOiBtX2lkZW50aWZpZXIoZ2VuZXJhdGVTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uSWRlbnRpZmllcigpKQogICAgICwgbV9yZWdpc3RyYXRpb25LZXkoa2V5KQog
ICAgICwgbV91cGRhdGVWaWFDYWNoZSh1cGRhdGVWaWFDYWNoZSkKQEAgLTUzLDkgKzUzLDkgQEAg
U1dTZXJ2ZXJSZWdpc3RyYXRpb246OlNXU2VydmVyUmVnaXN0cmF0aW9uKFNXU2VydmVyJiBzZXJ2
ZXIsIGNvbnN0IFNlcnZpY2VXb3JrZXIKICAgICAsIG1fc2VydmVyKHNlcnZlcikKICAgICAsIG1f
Y3JlYXRpb25UaW1lKE1vbm90b25pY1RpbWU6Om5vdygpKQogICAgICwgbV9zb2Z0VXBkYXRlVGlt
ZXIgeyAqdGhpcywgJlNXU2VydmVyUmVnaXN0cmF0aW9uOjpzb2Z0VXBkYXRlIH0KKyAgICAsIG1f
cHJlbG9hZFN0YXRlKFdURk1vdmUobmF2aWdhdGlvblByZWxvYWRTdGF0ZSkpCiB7CiAgICAgbV9z
Y29wZVVSTC5yZW1vdmVGcmFnbWVudElkZW50aWZpZXIoKTsKLSAgICBtX3ByZWxvYWRTdGF0ZS5o
ZWFkZXJWYWx1ZSA9ICJ0cnVlIl9zOwogfQogCiBTV1NlcnZlclJlZ2lzdHJhdGlvbjo6flNXU2Vy
dmVyUmVnaXN0cmF0aW9uKCkKQEAgLTM4NywzMiArMzg3LDM1IEBAIHZvaWQgU1dTZXJ2ZXJSZWdp
c3RyYXRpb246OnNjaGVkdWxlU29mdFVwZGF0ZShJc0FwcEluaXRpYXRlZCBpc0FwcEluaXRpYXRl
ZCkKIC8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9TZXJ2aWNlV29ya2VyLyNkb20tbmF2aWdhdGlv
bnByZWxvYWRtYW5hZ2VyLWVuYWJsZSwgc3RlcHMgcnVuIGluIHBhcmFsbGVsLgogc3RkOjpvcHRp
b25hbDxFeGNlcHRpb25EYXRhPiBTV1NlcnZlclJlZ2lzdHJhdGlvbjo6ZW5hYmxlTmF2aWdhdGlv
blByZWxvYWQoKQogewotICAgIC8vIEZJWE1FOiBQZXJzaXN0IHRoaXMgZGF0YS4KICAgICBpZiAo
IW1fYWN0aXZlV29ya2VyKQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uRGF0YSB7IEludmFsaWRT
dGF0ZUVycm9yLCAiTm8gYWN0aXZlIHdvcmtlciJfcyB9OworCiAgICAgbV9wcmVsb2FkU3RhdGUu
ZW5hYmxlZCA9IHRydWU7CisgICAgbV9zZXJ2ZXIuc3RvcmVSZWdpc3RyYXRpb25Gb3JXb3JrZXIo
Km1fYWN0aXZlV29ya2VyKTsKICAgICByZXR1cm4geyB9OwogfQogCiAvLyBodHRwczovL3czYy5n
aXRodWIuaW8vU2VydmljZVdvcmtlci8jZG9tLW5hdmlnYXRpb25wcmVsb2FkbWFuYWdlci1kaXNh
YmxlLCBzdGVwcyBydW4gaW4gcGFyYWxsZWwuCiBzdGQ6Om9wdGlvbmFsPEV4Y2VwdGlvbkRhdGE+
IFNXU2VydmVyUmVnaXN0cmF0aW9uOjpkaXNhYmxlTmF2aWdhdGlvblByZWxvYWQoKQogewotICAg
IC8vIEZJWE1FOiBQZXJzaXN0IHRoaXMgZGF0YS4KICAgICBpZiAoIW1fYWN0aXZlV29ya2VyKQog
ICAgICAgICByZXR1cm4gRXhjZXB0aW9uRGF0YSB7IEludmFsaWRTdGF0ZUVycm9yLCAiTm8gYWN0
aXZlIHdvcmtlciJfcyB9OworCiAgICAgbV9wcmVsb2FkU3RhdGUuZW5hYmxlZCA9IGZhbHNlOwor
ICAgIG1fc2VydmVyLnN0b3JlUmVnaXN0cmF0aW9uRm9yV29ya2VyKCptX2FjdGl2ZVdvcmtlcik7
CiAgICAgcmV0dXJuIHsgfTsKIH0KIAogLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL1NlcnZpY2VX
b3JrZXIvI2RvbS1uYXZpZ2F0aW9ucHJlbG9hZG1hbmFnZXItc2V0aGVhZGVydmFsdWUsIHN0ZXBz
IHJ1biBpbiBwYXJhbGxlbC4KIHN0ZDo6b3B0aW9uYWw8RXhjZXB0aW9uRGF0YT4gU1dTZXJ2ZXJS
ZWdpc3RyYXRpb246OnNldE5hdmlnYXRpb25QcmVsb2FkSGVhZGVyVmFsdWUoU3RyaW5nJiYgaGVh
ZGVyVmFsdWUpCiB7Ci0gICAgLy8gRklYTUU6IFBlcnNpc3QgdGhpcyBkYXRhLgogICAgIGlmICgh
aXNWYWxpZEhUVFBIZWFkZXJWYWx1ZShoZWFkZXJWYWx1ZSkpCiAgICAgICAgIHJldHVybiBFeGNl
cHRpb25EYXRhIHsgVHlwZUVycm9yLCAiSW52YWxpZCBoZWFkZXIgdmFsdWUiX3MgfTsKICAgICBp
ZiAoIW1fYWN0aXZlV29ya2VyKQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uRGF0YSB7IEludmFs
aWRTdGF0ZUVycm9yLCAiTm8gYWN0aXZlIHdvcmtlciJfcyB9OworCiAgICAgbV9wcmVsb2FkU3Rh
dGUuaGVhZGVyVmFsdWUgPSBXVEZNb3ZlKGhlYWRlclZhbHVlKTsKKyAgICBtX3NlcnZlci5zdG9y
ZVJlZ2lzdHJhdGlvbkZvcldvcmtlcigqbV9hY3RpdmVXb3JrZXIpOwogICAgIHJldHVybiB7IH07
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIv
U1dTZXJ2ZXJSZWdpc3RyYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9z
ZXJ2ZXIvU1dTZXJ2ZXJSZWdpc3RyYXRpb24uaAppbmRleCA5MThiOGU3M2E4ZGMxYTczMWM4YTQ1
NzhhOWNjZGRjMmI3YzE4YjQ0Li5mNjQyNDZiYzQxMGE0YjBiMmFjYWI3ZGQ3YjA5YjcwMTUxYTk5
MWZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NX
U2VydmVyUmVnaXN0cmF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L3NlcnZlci9TV1NlcnZlclJlZ2lzdHJhdGlvbi5oCkBAIC01Myw3ICs1Myw3IEBAIGVudW0gY2xh
c3MgSXNBcHBJbml0aWF0ZWQgOiBib29sIHsgTm8sIFllcyB9OwogY2xhc3MgU1dTZXJ2ZXJSZWdp
c3RyYXRpb24gOiBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8U1dTZXJ2ZXJSZWdpc3RyYXRpb24+IHsK
ICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKLSAgICBTV1NlcnZlclJlZ2lz
dHJhdGlvbihTV1NlcnZlciYsIGNvbnN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkmLCBT
ZXJ2aWNlV29ya2VyVXBkYXRlVmlhQ2FjaGUsIGNvbnN0IFVSTCYgc2NvcGVVUkwsIGNvbnN0IFVS
TCYgc2NyaXB0VVJMLCBzdGQ6Om9wdGlvbmFsPFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlm
aWVyPiBzZXJ2aWNlV29ya2VyUGFnZUlkZW50aWZpZXIpOworICAgIFNXU2VydmVyUmVnaXN0cmF0
aW9uKFNXU2VydmVyJiwgY29uc3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleSYsIFNlcnZp
Y2VXb3JrZXJVcGRhdGVWaWFDYWNoZSwgY29uc3QgVVJMJiBzY29wZVVSTCwgY29uc3QgVVJMJiBz
Y3JpcHRVUkwsIHN0ZDo6b3B0aW9uYWw8U2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXI+
IHNlcnZpY2VXb3JrZXJQYWdlSWRlbnRpZmllciwgTmF2aWdhdGlvblByZWxvYWRTdGF0ZSYmKTsK
ICAgICB+U1dTZXJ2ZXJSZWdpc3RyYXRpb24oKTsKIAogICAgIGNvbnN0IFNlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb25LZXkmIGtleSgpIGNvbnN0IHsgcmV0dXJuIG1fcmVnaXN0cmF0aW9uS2V5OyB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2Vy
dmVyV29ya2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dT
ZXJ2ZXJXb3JrZXIuY3BwCmluZGV4IGI2N2JhOWE5NjQzNTRmMGQ2ZGRhZjhiZmY2OWViYjFlN2Uw
ZDBkOGYuLjVkMTU1NmEwMDZkYWIxNTE2NzY1MWEyM2RmMmZiMzMzMDQ3ZjZiNDMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJXb3JrZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJX
b3JrZXIuY3BwCkBAIC04OCw3ICs4OCw3IEBAIFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YSBTV1Nl
cnZlcldvcmtlcjo6Y29udGV4dERhdGEoKSBjb25zdAogewogICAgIEFTU0VSVChtX3JlZ2lzdHJh
dGlvbik7CiAKLSAgICByZXR1cm4geyBzdGQ6Om51bGxvcHQsIG1fcmVnaXN0cmF0aW9uLT5kYXRh
KCksIG1fZGF0YS5pZGVudGlmaWVyLCBtX3NjcmlwdCwgbV9jZXJ0aWZpY2F0ZUluZm8sIG1fY29u
dGVudFNlY3VyaXR5UG9saWN5LCBtX2Nyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3ksIG1fcmVmZXJy
ZXJQb2xpY3ksIG1fZGF0YS5zY3JpcHRVUkwsIG1fZGF0YS50eXBlLCBmYWxzZSwgbV9sYXN0TmF2
aWdhdGlvbldhc0FwcEluaXRpYXRlZCwgbV9zY3JpcHRSZXNvdXJjZU1hcCwgbV9yZWdpc3RyYXRp
b24tPnNlcnZpY2VXb3JrZXJQYWdlSWRlbnRpZmllcigpIH07CisgICAgcmV0dXJuIHsgc3RkOjpu
dWxsb3B0LCBtX3JlZ2lzdHJhdGlvbi0+ZGF0YSgpLCBtX2RhdGEuaWRlbnRpZmllciwgbV9zY3Jp
cHQsIG1fY2VydGlmaWNhdGVJbmZvLCBtX2NvbnRlbnRTZWN1cml0eVBvbGljeSwgbV9jcm9zc09y
aWdpbkVtYmVkZGVyUG9saWN5LCBtX3JlZmVycmVyUG9saWN5LCBtX2RhdGEuc2NyaXB0VVJMLCBt
X2RhdGEudHlwZSwgZmFsc2UsIG1fbGFzdE5hdmlnYXRpb25XYXNBcHBJbml0aWF0ZWQsIG1fc2Ny
aXB0UmVzb3VyY2VNYXAsIG1fcmVnaXN0cmF0aW9uLT5zZXJ2aWNlV29ya2VyUGFnZUlkZW50aWZp
ZXIoKSwgbV9yZWdpc3RyYXRpb24tPm5hdmlnYXRpb25QcmVsb2FkU3RhdGUoKSB9OwogfQogCiB2
b2lkIFNXU2VydmVyV29ya2VyOjp1cGRhdGVBcHBJbml0aWF0ZWRWYWx1ZShMYXN0TmF2aWdhdGlv
bldhc0FwcEluaXRpYXRlZCBsYXN0TmF2aWdhdGlvbldhc0FwcEluaXRpYXRlZCkKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAw
NmI2OGQ2YjNiNWYxZjZlY2NkZGUwMmNiZTdlMTYzNWE3YWEyYTlhLi5lODJhYWU4Mzk5Y2I5YTkz
MTg2Yjg5NDNlOGJhYzRjM2QwMzA4Y2E0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjEtMTIt
MDIgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFBlcnNpc3Qg
TmF2aWdhdGlvblByZWxvYWRTdGF0ZSBpbiBzZXJ2aWNlIHdvcmtlciByZWdpc3RyYXRpb24gZGF0
YWJhc2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIz
MzY5OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
aHR0cC93cHQvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyLW5ldHdvcmtwcm9jZXNzLWNy
YXNoLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXItbmV0d29ya3Byb2Nlc3MtY3Jhc2guaHRtbDoKKwogMjAyMS0xMi0wMSAgWW91
ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIHN1cHBvcnQgZm9y
IE5hdmlnYXRpb25QcmVsb2FkTWFuYWdlcgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93
cHQvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyLW5ldHdvcmtwcm9jZXNzLWNyYXNoLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci1uZXR3b3JrcHJvY2Vzcy1jcmFzaC1leHBlY3RlZC50eHQKaW5kZXggNzJjYzIzOGUy
MWNjMzZhNTI3Y2JhMjI2MWJlOTk5NGQ2NWFjZmRhZC4uNzE0ODBlMmNkZGEwMTdkNDMzMDM5ZTE4
ODQ0ZjcwZTc5MTMyNWE1MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyLW5ldHdvcmtwcm9jZXNzLWNyYXNoLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXItbmV0d29ya3Byb2Nlc3MtY3Jhc2gtZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNCBAQAogCi0K
IFBBU1MgU2V0dXAgd29ya2VyCiBQQVNTIEZyYW1lIGJlaW5nIGNvbnRyb2xsZWQKIFBBU1MgRnJh
bWUgYmVpbmcgY29udHJvbGxlZCBhZnRlciBuZXR3b3JrIHByb2Nlc3MgY3Jhc2gKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci1u
ZXR3b3JrcHJvY2Vzcy1jcmFzaC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyLW5ldHdvcmtwcm9jZXNzLWNyYXNoLmh0bWwKaW5kZXggNTNh
MTIwNWNmYzdhYzBmZDMzMjMzZDE2Y2Y3N2JiM2FjM2ZmODg3Ny4uNzVjMTBkMGIwYWRhNjYxMzZm
MGE1MmJiMDdlMjkzNzM2NGRiODhlZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC93cHQv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyLW5ldHdvcmtwcm9jZXNzLWNyYXNoLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
LW5ldHdvcmtwcm9jZXNzLWNyYXNoLmh0bWwKQEAgLTM1LDcgKzM1LDEwIEBAIGFzeW5jIGZ1bmN0
aW9uIHJlZ2lzdGVyU2VydmljZVdvcmtlcigpCiB9CiAKIHByb21pc2VfdGVzdChhc3luYyAodGVz
dCkgPT4gewotICAgIGF3YWl0IHJlZ2lzdGVyU2VydmljZVdvcmtlcigpOworICAgIGNvbnN0IHJl
Z2lzdHJhdGlvbiA9IGF3YWl0IHJlZ2lzdGVyU2VydmljZVdvcmtlcigpOworICAgIC8vIEVuYWJs
ZSBwcmVsb2FkIHRvIHZhbGlkYXRlIHByZWxvYWQgcGVyc2lzdGVuY3kuCisgICAgYXdhaXQgcmVn
aXN0cmF0aW9uLm5hdmlnYXRpb25QcmVsb2FkLmVuYWJsZSgpOworICAgIGF3YWl0IHJlZ2lzdHJh
dGlvbi5uYXZpZ2F0aW9uUHJlbG9hZC5zZXRIZWFkZXJWYWx1ZSgidGVzdCIpOwogfSwgIlNldHVw
IHdvcmtlciIpOwogCiBwcm9taXNlX3Rlc3QoYXN5bmMgKHRlc3QpID0+IHsKQEAgLTU0LDE0ICs1
NywyMSBAQCBwcm9taXNlX3Rlc3QoYXN5bmMgKHRlc3QpID0+IHsKICAgICBsZXQgY291bnQgPSAw
OwogICAgIHdoaWxlIChjb3VudCsrIDwgMTAwKSB7CiAgICAgICAgIGNvbnN0IGZyYW1lID0gYXdh
aXQgd2l0aEZyYW1lKHNjb3BlICsgIi9lbXB0eS5odG1sIik7Ci0gICAgICAgIGlmIChmcmFtZS5j
b250ZW50V2luZG93Lm5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLmNvbnRyb2xsZXIpCisgICAgICAg
IGlmIChmcmFtZS5jb250ZW50V2luZG93Lm5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLmNvbnRyb2xs
ZXIpIHsKKyAgICAgICAgICAgIGZyYW1lLnJlbW92ZSgpOwogICAgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgIH0KICAgICAgICAgZnJhbWUucmVtb3ZlKCk7CiAgICAgICAgIGF3YWl0IG5ldyBQcm9t
aXNlKHJlc29sdmUgPT4gc2V0VGltZW91dChyZXNvbHZlLCA1MCkpOwogICAgIH0KICAgICBhc3Nl
cnRfdHJ1ZShjb3VudCA8IDEwMCk7CiAKLSAgICBhd2FpdCBuYXZpZ2F0b3Iuc2VydmljZVdvcmtl
ci5nZXRSZWdpc3RyYXRpb24oc2NvcGUpOworICAgIGNvbnN0IHJlZ2lzdHJhdGlvbiA9IGF3YWl0
IG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLmdldFJlZ2lzdHJhdGlvbihzY29wZSk7CisKKyAgICAv
LyBWYWxpZGF0ZSBwcmVsb2FkIHBlcnNpc3RlbmN5LgorICAgIGNvbnN0IHN0YXRlID0gYXdhaXQg
cmVnaXN0cmF0aW9uLm5hdmlnYXRpb25QcmVsb2FkLmdldFN0YXRlKCk7CisgICAgYXNzZXJ0X3Ry
dWUoc3RhdGUuZW5hYmxlZCwgInN0YXRlLmVuYWJsZWQiKTsKKyAgICBhc3NlcnRfZXF1YWxzKHN0
YXRlLmhlYWRlclZhbHVlLCAidGVzdCIpOwogfSwgIkZyYW1lIGJlaW5nIGNvbnRyb2xsZWQgYWZ0
ZXIgbmV0d29yayBwcm9jZXNzIGNyYXNoIik7CiA8L3NjcmlwdD4KIDwvYm9keT4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>445720</attachid>
            <date>2021-12-02 07:44:55 -0800</date>
            <delta_ts>2021-12-03 05:22:07 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-233698-20211202164453.patch</filename>
            <type>text/plain</type>
            <size>25727</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2NDE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzM0Y2U1Y2Y1OTJiZjkw
MDM0ZGJlMzgwN2I1ZmY3OGVmYTg2MDVlMy4uNTdlOWVmMTU4MWJmYjA2NzVlMTQwOGNkZWMxYjQ5
ZTE3ZWE2NmM0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDIxLTEyLTAyICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBQZXJzaXN0IE5hdmlnYXRp
b25QcmVsb2FkU3RhdGUgaW4gc2VydmljZSB3b3JrZXIgcmVnaXN0cmF0aW9uIGRhdGFiYXNlCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzM2OTgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBDaHJpcyBEdW1lei4KKworICAgICAgICBXaGVuZXZlciBjaGFu
Z2luZyBhIHNlcnZpY2Ugd29ya2VyIHJlZ2lzdHJhdGlvbiBuYXZpZ2F0aW9uIHN0YXRlLCB0cmln
Z2VyIHN0b3Jpbmcgb2YgdGhlIGNoYW5nZXMgaW4gdGhlIGRhdGFiYXNlLgorICAgICAgICBUbyBk
byBzbywgd2UgYWRkIHRoaXMgc3RhdGUgdG8gU2VydmljZVdvcmtlckNvbnRleHREYXRhLgorICAg
ICAgICBXaGVuIGNyZWF0aW5nIGEgU1dTZXJ2ZXJSZWdpc3RyYXRpb24sIHdlIHNldCBkZWZhdWx0
IHZhbHVlcyB0byBmYWxzZSBhbmQgInRydWUiCisgICAgICAgIGFzIHBlciBodHRwczovL3czYy5n
aXRodWIuaW8vU2VydmljZVdvcmtlci8jc2VydmljZS13b3JrZXItcmVnaXN0cmF0aW9uLW5hdmln
YXRpb24tcHJlbG9hZC1oZWFkZXItdmFsdWUuCisKKyAgICAgICAgQ292ZXJlZCBieSB1cGRhdGVk
IHRlc3QuCisKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRleHRE
YXRhLmNwcDoKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRleHRE
YXRhLmg6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9SZWdpc3RyYXRpb25EYXRh
YmFzZS5jcHA6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9SZWdpc3RyYXRpb25T
dG9yZS5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuY3BwOgor
ICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuaDoKKyAgICAgICAgKiB3
b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVySm9iUXVldWUuY3BwOgorICAgICAgICAqIHdv
cmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJSZWdpc3RyYXRpb24uY3BwOgorICAgICAgICAq
IHdvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJSZWdpc3RyYXRpb24uaDoKKyAgICAgICAg
KiB3b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyV29ya2VyLmNwcDoKKwogMjAyMS0xMi0w
MSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIHN1cHBv
cnQgZm9yIE5hdmlnYXRpb25QcmVsb2FkTWFuYWdlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9zZXJ2aWNlL05hdmlnYXRpb25QcmVsb2FkU3RhdGUuaCBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvc2VydmljZS9OYXZpZ2F0aW9uUHJlbG9hZFN0YXRlLmgKaW5kZXggYzM4ZWQ1
ZTI3OTdmNTVkNTAxZDFkZGNmOGY3MDFiNWJlZDAwMWE1OC4uMGIyNjM1NDg4NmU3ZDRmMjAxM2Nj
ZjZkZDI0ZmI0NTM5ZGRiZGUyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9z
ZXJ2aWNlL05hdmlnYXRpb25QcmVsb2FkU3RhdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2UvTmF2aWdhdGlvblByZWxvYWRTdGF0ZS5oCkBAIC0zMywxNCArMzMsMTYgQEAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogc3RydWN0IE5hdmlnYXRpb25QcmVsb2FkU3RhdGUgewot
ICAgIGJvb2wgZW5hYmxlZCB7IGZhbHNlIH07Ci0gICAgU3RyaW5nIGhlYWRlclZhbHVlOworICAg
IHN0YXRpYyBOYXZpZ2F0aW9uUHJlbG9hZFN0YXRlIGRlZmF1bHRWYWx1ZSgpIHsgcmV0dXJuIHsg
ZmFsc2UsICJ0cnVlIl9zIH07IH0KIAogICAgIE5hdmlnYXRpb25QcmVsb2FkU3RhdGUgaXNvbGF0
ZWRDb3B5KCkgY29uc3QgJiB7IHJldHVybiB7IGVuYWJsZWQsIGhlYWRlclZhbHVlLmlzb2xhdGVk
Q29weSgpIH07IH0KICAgICBOYXZpZ2F0aW9uUHJlbG9hZFN0YXRlIGlzb2xhdGVkQ29weSgpICYm
IHsgcmV0dXJuIHsgZW5hYmxlZCwgV1RGTW92ZShoZWFkZXJWYWx1ZSkuaXNvbGF0ZWRDb3B5KCkg
fTsgfQogCiAgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYg
ZW5jb2RlcikgY29uc3QgeyBlbmNvZGVyIDw8IGVuYWJsZWQgPDwgaGVhZGVyVmFsdWU7IH0KICAg
ICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgc3RkOjpvcHRpb25hbDxOYXZpZ2F0aW9u
UHJlbG9hZFN0YXRlPiBkZWNvZGUoRGVjb2RlciYpOworCisgICAgYm9vbCBlbmFibGVkIHsgZmFs
c2UgfTsKKyAgICBTdHJpbmcgaGVhZGVyVmFsdWU7CiB9OwogCiB0ZW1wbGF0ZTxjbGFzcyBEZWNv
ZGVyPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VX
b3JrZXJDb250ZXh0RGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vy
dmljZVdvcmtlckNvbnRleHREYXRhLmNwcAppbmRleCA0ZGJkYjRiNGQwYjc2YTViODg1NTRiMDA3
ZjgxYjUwMGIyNGY5ZTVjLi4xYTQxMTEzNjQwMDBmM2FjYWYzNzBmMGM5ZTMxMTQyMjdhODljMDll
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtl
ckNvbnRleHREYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vy
dmljZVdvcmtlckNvbnRleHREYXRhLmNwcApAQCAtNDcsNyArNDcsOCBAQCBTZXJ2aWNlV29ya2Vy
Q29udGV4dERhdGEgU2VydmljZVdvcmtlckNvbnRleHREYXRhOjppc29sYXRlZENvcHkoKSBjb25z
dCAmCiAgICAgICAgIGxvYWRlZEZyb21EaXNrLAogICAgICAgICBsYXN0TmF2aWdhdGlvbldhc0Fw
cEluaXRpYXRlZCwKICAgICAgICAgY3Jvc3NUaHJlYWRDb3B5KHNjcmlwdFJlc291cmNlTWFwKSwK
LSAgICAgICAgc2VydmljZVdvcmtlclBhZ2VJZGVudGlmaWVyCisgICAgICAgIHNlcnZpY2VXb3Jr
ZXJQYWdlSWRlbnRpZmllciwKKyAgICAgICAgY3Jvc3NUaHJlYWRDb3B5KG5hdmlnYXRpb25QcmVs
b2FkU3RhdGUpLAogICAgIH07CiB9CiAKQEAgLTY3LDcgKzY4LDggQEAgU2VydmljZVdvcmtlckNv
bnRleHREYXRhIFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YTo6aXNvbGF0ZWRDb3B5KCkgJiYKICAg
ICAgICAgbG9hZGVkRnJvbURpc2ssCiAgICAgICAgIGxhc3ROYXZpZ2F0aW9uV2FzQXBwSW5pdGlh
dGVkLAogICAgICAgICBjcm9zc1RocmVhZENvcHkoV1RGTW92ZShzY3JpcHRSZXNvdXJjZU1hcCkp
LAotICAgICAgICBzZXJ2aWNlV29ya2VyUGFnZUlkZW50aWZpZXIKKyAgICAgICAgc2VydmljZVdv
cmtlclBhZ2VJZGVudGlmaWVyLAorICAgICAgICBjcm9zc1RocmVhZENvcHkoV1RGTW92ZShuYXZp
Z2F0aW9uUHJlbG9hZFN0YXRlKSkKICAgICB9OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRleHREYXRhLmggYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRleHREYXRhLmgKaW5kZXgg
MDFkOGNiY2Y0OTI0OTgxMWUzYjNkYzYzN2ViYzRiNGI0MTNjY2U3Yy4uNDZhOWZhNzAxMjllMzc1
YzU5NjgxYmJhNmUzMGVhOThhYmNiMWQ4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250ZXh0RGF0YS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGV4dERhdGEuaApAQCAtMjgsNiAr
MjgsNyBAQAogI2luY2x1ZGUgIkNlcnRpZmljYXRlSW5mby5oIgogI2luY2x1ZGUgIkNvbnRlbnRT
ZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycy5oIgogI2luY2x1ZGUgIkNyb3NzT3JpZ2luRW1i
ZWRkZXJQb2xpY3kuaCIKKyNpbmNsdWRlICJOYXZpZ2F0aW9uUHJlbG9hZFN0YXRlLmgiCiAjaW5j
bHVkZSAiU2NyaXB0QnVmZmVyLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dElk
ZW50aWZpZXIuaCIKICNpbmNsdWRlICJTZXJ2aWNlV29ya2VySWRlbnRpZmllci5oIgpAQCAtOTUs
NiArOTYsNyBAQCBzdHJ1Y3QgU2VydmljZVdvcmtlckNvbnRleHREYXRhIHsKICAgICBzdGQ6Om9w
dGlvbmFsPExhc3ROYXZpZ2F0aW9uV2FzQXBwSW5pdGlhdGVkPiBsYXN0TmF2aWdhdGlvbldhc0Fw
cEluaXRpYXRlZDsKICAgICBIYXNoTWFwPFVSTCwgSW1wb3J0ZWRTY3JpcHQ+IHNjcmlwdFJlc291
cmNlTWFwOwogICAgIHN0ZDo6b3B0aW9uYWw8U2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZp
ZXI+IHNlcnZpY2VXb3JrZXJQYWdlSWRlbnRpZmllcjsKKyAgICBOYXZpZ2F0aW9uUHJlbG9hZFN0
YXRlIG5hdmlnYXRpb25QcmVsb2FkU3RhdGU7CiAKICAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVy
PiB2b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7CiAgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rl
cj4gc3RhdGljIHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlckNvbnRleHREYXRhPiBkZWNvZGUo
RGVjb2RlciYpOwpAQCAtMTA3LDcgKzEwOSw3IEBAIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+CiB2
b2lkIFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YTo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNv
bnN0CiB7CiAgICAgZW5jb2RlciA8PCBqb2JEYXRhSWRlbnRpZmllciA8PCByZWdpc3RyYXRpb24g
PDwgc2VydmljZVdvcmtlcklkZW50aWZpZXIgPDwgc2NyaXB0IDw8IGNvbnRlbnRTZWN1cml0eVBv
bGljeSA8PCBjcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5IDw8IHJlZmVycmVyUG9saWN5Ci0gICAg
ICAgIDw8IHNjcmlwdFVSTCA8PCB3b3JrZXJUeXBlIDw8IGxvYWRlZEZyb21EaXNrIDw8IGxhc3RO
YXZpZ2F0aW9uV2FzQXBwSW5pdGlhdGVkIDw8IHNjcmlwdFJlc291cmNlTWFwIDw8IGNlcnRpZmlj
YXRlSW5mbyA8PCBzZXJ2aWNlV29ya2VyUGFnZUlkZW50aWZpZXI7CisgICAgICAgIDw8IHNjcmlw
dFVSTCA8PCB3b3JrZXJUeXBlIDw8IGxvYWRlZEZyb21EaXNrIDw8IGxhc3ROYXZpZ2F0aW9uV2Fz
QXBwSW5pdGlhdGVkIDw8IHNjcmlwdFJlc291cmNlTWFwIDw8IGNlcnRpZmljYXRlSW5mbyA8PCBz
ZXJ2aWNlV29ya2VyUGFnZUlkZW50aWZpZXIgPDwgbmF2aWdhdGlvblByZWxvYWRTdGF0ZTsKIH0K
IAogdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4KQEAgLTE3NSw2ICsxNzcsMTEgQEAgc3RkOjpvcHRp
b25hbDxTZXJ2aWNlV29ya2VyQ29udGV4dERhdGE+IFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YTo6
ZGVjb2RlKERlY29kZXIKICAgICBpZiAoIXNlcnZpY2VXb3JrZXJQYWdlSWRlbnRpZmllcikKICAg
ICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKIAorICAgIHN0ZDo6b3B0aW9uYWw8TmF2aWdhdGlv
blByZWxvYWRTdGF0ZT4gbmF2aWdhdGlvblByZWxvYWRTdGF0ZTsKKyAgICBkZWNvZGVyID4+IG5h
dmlnYXRpb25QcmVsb2FkU3RhdGU7CisgICAgaWYgKCFuYXZpZ2F0aW9uUHJlbG9hZFN0YXRlKQor
ICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworCiAgICAgcmV0dXJuIHt7CiAgICAgICAgIFdU
Rk1vdmUoKmpvYkRhdGFJZGVudGlmaWVyKSwKICAgICAgICAgV1RGTW92ZSgqcmVnaXN0cmF0aW9u
KSwKQEAgLTE4OSw3ICsxOTYsOCBAQCBzdGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJDb250ZXh0
RGF0YT4gU2VydmljZVdvcmtlckNvbnRleHREYXRhOjpkZWNvZGUoRGVjb2RlcgogICAgICAgICBs
b2FkZWRGcm9tRGlzaywKICAgICAgICAgV1RGTW92ZShsYXN0TmF2aWdhdGlvbldhc0FwcEluaXRp
YXRlZCksCiAgICAgICAgIFdURk1vdmUoc2NyaXB0UmVzb3VyY2VNYXApLAotICAgICAgICBXVEZN
b3ZlKCpzZXJ2aWNlV29ya2VyUGFnZUlkZW50aWZpZXIpCisgICAgICAgIFdURk1vdmUoKnNlcnZp
Y2VXb3JrZXJQYWdlSWRlbnRpZmllciksCisgICAgICAgIFdURk1vdmUoKm5hdmlnYXRpb25QcmVs
b2FkU3RhdGUpCiAgICAgfX07CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvc2VydmljZS9zZXJ2ZXIvUmVnaXN0cmF0aW9uRGF0YWJhc2UuY3BwIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9SZWdpc3RyYXRpb25EYXRhYmFzZS5jcHAKaW5kZXgg
Y2JiZTMwZTU5NGE1OTBiMGY5ZDU2YTg3MGI2YzNmMWQzYTViNTQ2NS4uMWJiNGRhZWQ2OGZkOWZl
N2RkZjBkNTM5OWRlYjNhMmIyYzg5N2YxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zZXJ2aWNlL3NlcnZlci9SZWdpc3RyYXRpb25EYXRhYmFzZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9SZWdpc3RyYXRpb25EYXRhYmFzZS5jcHAK
QEAgLTUwLDcgKzUwLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgY29uc3Qg
dWludDY0X3Qgc2NoZW1hVmVyc2lvbiA9IDc7CitzdGF0aWMgY29uc3QgdWludDY0X3Qgc2NoZW1h
VmVyc2lvbiA9IDg7CiAKICNkZWZpbmUgUkVDT1JEU19UQUJMRV9TQ0hFTUFfUFJFRklYICJDUkVB
VEUgVEFCTEUgIgogI2RlZmluZSBSRUNPUkRTX1RBQkxFX1NDSEVNQV9TVUZGSVggIigiIFwKQEAg
LTY3LDYgKzY3LDcgQEAgc3RhdGljIGNvbnN0IHVpbnQ2NF90IHNjaGVtYVZlcnNpb24gPSA3Owog
ICAgICIsIHJlZmVycmVyUG9saWN5IFRFWFQgTk9UIE5VTEwgT04gQ09ORkxJQ1QgRkFJTCIgXAog
ICAgICIsIHNjcmlwdFJlc291cmNlTWFwIEJMT0IgTk9UIE5VTEwgT04gQ09ORkxJQ1QgRkFJTCIg
XAogICAgICIsIGNlcnRpZmljYXRlSW5mbyBCTE9CIE5PVCBOVUxMIE9OIENPTkZMSUNUIEZBSUwi
IFwKKyAgICAiLCBwcmVsb2FkU3RhdGUgQkxPQiBOT1QgTlVMTCBPTiBDT05GTElDVCBGQUlMIiBc
CiAgICAgIikiX3M7CiAKIHN0YXRpYyBBU0NJSUxpdGVyYWwgcmVjb3Jkc1RhYmxlU2NoZW1hKCkK
QEAgLTQyMiw3ICs0MjMsNyBAQCBib29sIFJlZ2lzdHJhdGlvbkRhdGFiYXNlOjpkb1B1c2hDaGFu
Z2VzKGNvbnN0IFZlY3RvcjxTZXJ2aWNlV29ya2VyQ29udGV4dERhdGE+JgogICAgIFNRTGl0ZVRy
YW5zYWN0aW9uIHRyYW5zYWN0aW9uKCptX2RhdGFiYXNlKTsKICAgICB0cmFuc2FjdGlvbi5iZWdp
bigpOwogCi0gICAgYXV0byBpbnNlcnRTdGF0ZW1lbnQgPSBtX2RhdGFiYXNlLT5wcmVwYXJlU3Rh
dGVtZW50KCJJTlNFUlQgSU5UTyBSZWNvcmRzIFZBTFVFUyAoPywgPywgPywgPywgPywgPywgPywg
PywgPywgPywgPywgPywgPykiX3MpOworICAgIGF1dG8gaW5zZXJ0U3RhdGVtZW50ID0gbV9kYXRh
YmFzZS0+cHJlcGFyZVN0YXRlbWVudCgiSU5TRVJUIElOVE8gUmVjb3JkcyBWQUxVRVMgKD8sID8s
ID8sID8sID8sID8sID8sID8sID8sID8sID8sID8sID8sID8pIl9zKTsKICAgICBpZiAoIWluc2Vy
dFN0YXRlbWVudCkgewogICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihTZXJ2aWNlV29ya2VyLCAi
RmFpbGVkIHRvIHByZXBhcmUgc3RhdGVtZW50IHRvIHN0b3JlIHJlZ2lzdHJhdGlvbiBkYXRhIGlu
dG8gcmVjb3JkcyB0YWJsZSAoJWkpIC0gJXMiLCBtX2RhdGFiYXNlLT5sYXN0RXJyb3IoKSwgbV9k
YXRhYmFzZS0+bGFzdEVycm9yTXNnKCkpOwogICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC00NTUs
NiArNDU2LDkgQEAgYm9vbCBSZWdpc3RyYXRpb25EYXRhYmFzZTo6ZG9QdXNoQ2hhbmdlcyhjb25z
dCBWZWN0b3I8U2VydmljZVdvcmtlckNvbnRleHREYXRhPiYKICAgICAgICAgV1RGOjpQZXJzaXN0
ZW5jZTo6RW5jb2RlciBjZXJ0aWZpY2F0ZUluZm9FbmNvZGVyOwogICAgICAgICBjZXJ0aWZpY2F0
ZUluZm9FbmNvZGVyIDw8IGRhdGEuY2VydGlmaWNhdGVJbmZvOwogCisgICAgICAgIFdURjo6UGVy
c2lzdGVuY2U6OkVuY29kZXIgbmF2aWdhdGlvblByZWxvYWRTdGF0ZUVuY29kZXI7CisgICAgICAg
IG5hdmlnYXRpb25QcmVsb2FkU3RhdGVFbmNvZGVyIDw8IGRhdGEubmF2aWdhdGlvblByZWxvYWRT
dGF0ZTsKKwogICAgICAgICBpZiAoaW5zZXJ0U3RhdGVtZW50LT5iaW5kVGV4dCgxLCBkYXRhLnJl
Z2lzdHJhdGlvbi5rZXkudG9EYXRhYmFzZUtleSgpKSAhPSBTUUxJVEVfT0sKICAgICAgICAgICAg
IHx8IGluc2VydFN0YXRlbWVudC0+YmluZFRleHQoMiwgZGF0YS5yZWdpc3RyYXRpb24uc2NvcGVV
UkwucHJvdG9jb2xIb3N0QW5kUG9ydCgpKSAhPSBTUUxJVEVfT0sKICAgICAgICAgICAgIHx8IGlu
c2VydFN0YXRlbWVudC0+YmluZFRleHQoMywgZGF0YS5yZWdpc3RyYXRpb24uc2NvcGVVUkwucGF0
aCgpLnRvU3RyaW5nKCkpICE9IFNRTElURV9PSwpAQCAtNDY4LDYgKzQ3Miw3IEBAIGJvb2wgUmVn
aXN0cmF0aW9uRGF0YWJhc2U6OmRvUHVzaENoYW5nZXMoY29uc3QgVmVjdG9yPFNlcnZpY2VXb3Jr
ZXJDb250ZXh0RGF0YT4mCiAgICAgICAgICAgICB8fCBpbnNlcnRTdGF0ZW1lbnQtPmJpbmRUZXh0
KDExLCBkYXRhLnJlZmVycmVyUG9saWN5KSAhPSBTUUxJVEVfT0sKICAgICAgICAgICAgIHx8IGlu
c2VydFN0YXRlbWVudC0+YmluZEJsb2IoMTIsIFNwYW4geyBzY3JpcHRSZXNvdXJjZU1hcEVuY29k
ZXIuYnVmZmVyKCksIHNjcmlwdFJlc291cmNlTWFwRW5jb2Rlci5idWZmZXJTaXplKCkgfSkgIT0g
U1FMSVRFX09LCiAgICAgICAgICAgICB8fCBpbnNlcnRTdGF0ZW1lbnQtPmJpbmRCbG9iKDEzLCBT
cGFuIHsgY2VydGlmaWNhdGVJbmZvRW5jb2Rlci5idWZmZXIoKSwgY2VydGlmaWNhdGVJbmZvRW5j
b2Rlci5idWZmZXJTaXplKCkgfSkgIT0gU1FMSVRFX09LCisgICAgICAgICAgICB8fCBpbnNlcnRT
dGF0ZW1lbnQtPmJpbmRCbG9iKDE0LCBTcGFuIHsgbmF2aWdhdGlvblByZWxvYWRTdGF0ZUVuY29k
ZXIuYnVmZmVyKCksIG5hdmlnYXRpb25QcmVsb2FkU3RhdGVFbmNvZGVyLmJ1ZmZlclNpemUoKSB9
KSAhPSBTUUxJVEVfT0sKICAgICAgICAgICAgIHx8IGluc2VydFN0YXRlbWVudC0+c3RlcCgpICE9
IFNRTElURV9ET05FKSB7CiAgICAgICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihTZXJ2aWNlV29y
a2VyLCAiRmFpbGVkIHRvIHN0b3JlIHJlZ2lzdHJhdGlvbiBkYXRhIGludG8gcmVjb3JkcyB0YWJs
ZSAoJWkpIC0gJXMiLCBtX2RhdGFiYXNlLT5sYXN0RXJyb3IoKSwgbV9kYXRhYmFzZS0+bGFzdEVy
cm9yTXNnKCkpOwogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtNTY2LDYgKzU3MSwxNiBA
QCBTdHJpbmcgUmVnaXN0cmF0aW9uRGF0YWJhc2U6OmltcG9ydFJlY29yZHMoKQogICAgICAgICAg
ICAgY29udGludWU7CiAgICAgICAgIH0KIAorICAgICAgICBhdXRvIG5hdmlnYXRpb25QcmVsb2Fk
U3RhdGVEYXRhU3BhbiA9IHNxbC0+Y29sdW1uQmxvYkFzU3BhbigxMyk7CisgICAgICAgIHN0ZDo6
b3B0aW9uYWw8TmF2aWdhdGlvblByZWxvYWRTdGF0ZT4gbmF2aWdhdGlvblByZWxvYWRTdGF0ZTsK
KworICAgICAgICBXVEY6OlBlcnNpc3RlbmNlOjpEZWNvZGVyIG5hdmlnYXRpb25QcmVsb2FkU3Rh
dGVEZWNvZGVyKG5hdmlnYXRpb25QcmVsb2FkU3RhdGVEYXRhU3Bhbik7CisgICAgICAgIG5hdmln
YXRpb25QcmVsb2FkU3RhdGVEZWNvZGVyID4+IG5hdmlnYXRpb25QcmVsb2FkU3RhdGU7CisgICAg
ICAgIGlmICghbmF2aWdhdGlvblByZWxvYWRTdGF0ZSkgeworICAgICAgICAgICAgUkVMRUFTRV9M
T0dfRVJST1IoU2VydmljZVdvcmtlciwgIlJlZ2lzdHJhdGlvbkRhdGFiYXNlOjppbXBvcnRSZWNv
cmRzOiBGYWlsZWQgdG8gZGVjb2RlIG5hdmlnYXRpb25QcmVsb2FkU3RhdGUiKTsKKyAgICAgICAg
ICAgIGNvbnRpbnVlOworICAgICAgICB9CisKICAgICAgICAgLy8gVmFsaWRhdGUgdGhlIGlucHV0
IGZvciB0aGlzIHJlZ2lzdHJhdGlvbi4KICAgICAgICAgLy8gSWYgYW55IHBhcnQgb2YgdGhpcyBp
bnB1dCBpcyBpbnZhbGlkLCBsZXQncyBza2lwIHRoaXMgcmVnaXN0cmF0aW9uLgogICAgICAgICAv
LyBGSVhNRTogU2hvdWxkIHdlIHJldHVybiBhbiBlcnJvciBza2lwcGluZyAqYWxsKiByZWdpc3Ry
YXRpb25zPwpAQCAtNTg0LDcgKzU5OSw3IEBAIFN0cmluZyBSZWdpc3RyYXRpb25EYXRhYmFzZTo6
aW1wb3J0UmVjb3JkcygpCiAgICAgICAgIGF1dG8gcmVnaXN0cmF0aW9uSWRlbnRpZmllciA9IFNl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyOjpnZW5lcmF0ZSgpOwogICAgICAgICBh
dXRvIHNlcnZpY2VXb3JrZXJEYXRhID0gU2VydmljZVdvcmtlckRhdGEgeyB3b3JrZXJJZGVudGlm
aWVyLCBzY3JpcHRVUkwsIFNlcnZpY2VXb3JrZXJTdGF0ZTo6QWN0aXZhdGVkLCAqd29ya2VyVHlw
ZSwgcmVnaXN0cmF0aW9uSWRlbnRpZmllciB9OwogICAgICAgICBhdXRvIHJlZ2lzdHJhdGlvbiA9
IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhIHsgV1RGTW92ZSgqa2V5KSwgcmVnaXN0cmF0
aW9uSWRlbnRpZmllciwgV1RGTW92ZShzY29wZVVSTCksICp1cGRhdGVWaWFDYWNoZSwgbGFzdFVw
ZGF0ZUNoZWNrVGltZSwgc3RkOjpudWxsb3B0LCBzdGQ6Om51bGxvcHQsIFdURk1vdmUoc2Vydmlj
ZVdvcmtlckRhdGEpIH07Ci0gICAgICAgIGF1dG8gY29udGV4dERhdGEgPSBTZXJ2aWNlV29ya2Vy
Q29udGV4dERhdGEgeyBzdGQ6Om51bGxvcHQsIFdURk1vdmUocmVnaXN0cmF0aW9uKSwgd29ya2Vy
SWRlbnRpZmllciwgV1RGTW92ZShzY3JpcHQpLCBXVEZNb3ZlKCpjZXJ0aWZpY2F0ZUluZm8pLCBX
VEZNb3ZlKCpjb250ZW50U2VjdXJpdHlQb2xpY3kpLCBXVEZNb3ZlKCpjb2VwKSwgV1RGTW92ZShy
ZWZlcnJlclBvbGljeSksIFdURk1vdmUoc2NyaXB0VVJMKSwgKndvcmtlclR5cGUsIHRydWUsIExh
c3ROYXZpZ2F0aW9uV2FzQXBwSW5pdGlhdGVkOjpZZXMsIFdURk1vdmUoc2NyaXB0UmVzb3VyY2VN
YXApLCBzdGQ6Om51bGxvcHQgfTsKKyAgICAgICAgYXV0byBjb250ZXh0RGF0YSA9IFNlcnZpY2VX
b3JrZXJDb250ZXh0RGF0YSB7IHN0ZDo6bnVsbG9wdCwgV1RGTW92ZShyZWdpc3RyYXRpb24pLCB3
b3JrZXJJZGVudGlmaWVyLCBXVEZNb3ZlKHNjcmlwdCksIFdURk1vdmUoKmNlcnRpZmljYXRlSW5m
byksIFdURk1vdmUoKmNvbnRlbnRTZWN1cml0eVBvbGljeSksIFdURk1vdmUoKmNvZXApLCBXVEZN
b3ZlKHJlZmVycmVyUG9saWN5KSwgV1RGTW92ZShzY3JpcHRVUkwpLCAqd29ya2VyVHlwZSwgdHJ1
ZSwgTGFzdE5hdmlnYXRpb25XYXNBcHBJbml0aWF0ZWQ6OlllcywgV1RGTW92ZShzY3JpcHRSZXNv
dXJjZU1hcCksIHN0ZDo6bnVsbG9wdCwgV1RGTW92ZSgqbmF2aWdhdGlvblByZWxvYWRTdGF0ZSkg
fTsKIAogICAgICAgICBjYWxsT25NYWluVGhyZWFkKFtwcm90ZWN0ZWRUaGlzID0gUmVmIHsgKnRo
aXMgfSwgY29udGV4dERhdGEgPSBjb250ZXh0RGF0YS5pc29sYXRlZENvcHkoKV0oKSBtdXRhYmxl
IHsKICAgICAgICAgICAgIHByb3RlY3RlZFRoaXMtPmFkZFJlZ2lzdHJhdGlvblRvU3RvcmUoV1RG
TW92ZShjb250ZXh0RGF0YSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9z
ZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZp
Y2Uvc2VydmVyL1NXU2VydmVyLmNwcAppbmRleCA2YzY5MTQ2Mjk4OGU3YWE4YmQ5ZWRmMjFlODc2
OTRjNmU3NDFlY2Y5Li4wMzAzYzE1OTg3NmQ1NDIyYzZlMzk1NDQyOGJlYTAxOWFmZDczZTI2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVy
LmNwcApAQCAtMTc4LDcgKzE3OCw3IEBAIHZvaWQgU1dTZXJ2ZXI6OmFkZFJlZ2lzdHJhdGlvbkZy
b21TdG9yZShTZXJ2aWNlV29ya2VyQ29udGV4dERhdGEmJiBkYXRhKQogICAgICAgICBpZiAoIXdl
YWtUaGlzKQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICBpZiAobV9oYXNTZXJ2aWNlV29y
a2VyRW50aXRsZW1lbnQgfHwgaXNWYWxpZCkgewotICAgICAgICAgICAgYXV0byByZWdpc3RyYXRp
b24gPSBtYWtlVW5pcXVlPFNXU2VydmVyUmVnaXN0cmF0aW9uPigqdGhpcywgZGF0YS5yZWdpc3Ry
YXRpb24ua2V5LCBkYXRhLnJlZ2lzdHJhdGlvbi51cGRhdGVWaWFDYWNoZSwgZGF0YS5yZWdpc3Ry
YXRpb24uc2NvcGVVUkwsIGRhdGEuc2NyaXB0VVJMLCBkYXRhLnNlcnZpY2VXb3JrZXJQYWdlSWRl
bnRpZmllcik7CisgICAgICAgICAgICBhdXRvIHJlZ2lzdHJhdGlvbiA9IG1ha2VVbmlxdWU8U1dT
ZXJ2ZXJSZWdpc3RyYXRpb24+KCp0aGlzLCBkYXRhLnJlZ2lzdHJhdGlvbi5rZXksIGRhdGEucmVn
aXN0cmF0aW9uLnVwZGF0ZVZpYUNhY2hlLCBkYXRhLnJlZ2lzdHJhdGlvbi5zY29wZVVSTCwgZGF0
YS5zY3JpcHRVUkwsIGRhdGEuc2VydmljZVdvcmtlclBhZ2VJZGVudGlmaWVyLCBXVEZNb3ZlKGRh
dGEubmF2aWdhdGlvblByZWxvYWRTdGF0ZSkpOwogICAgICAgICAgICAgcmVnaXN0cmF0aW9uLT5z
ZXRMYXN0VXBkYXRlVGltZShkYXRhLnJlZ2lzdHJhdGlvbi5sYXN0VXBkYXRlVGltZSk7CiAgICAg
ICAgICAgICBhdXRvIHJlZ2lzdHJhdGlvblB0ciA9IHJlZ2lzdHJhdGlvbi5nZXQoKTsKICAgICAg
ICAgICAgIGFkZFJlZ2lzdHJhdGlvbihXVEZNb3ZlKHJlZ2lzdHJhdGlvbikpOwpAQCAtNTgzLDkg
KzU4MywxNSBAQCB2b2lkIFNXU2VydmVyOjpkaWRGaW5pc2hBY3RpdmF0aW9uKFNXU2VydmVyV29y
a2VyJiB3b3JrZXIpCiAgICAgaWYgKCFyZWdpc3RyYXRpb24pCiAgICAgICAgIHJldHVybjsKIAor
ICAgIHN0b3JlUmVnaXN0cmF0aW9uRm9yV29ya2VyKHdvcmtlcik7CisKKyAgICByZWdpc3RyYXRp
b24tPmRpZEZpbmlzaEFjdGl2YXRpb24od29ya2VyLmlkZW50aWZpZXIoKSk7Cit9CisKK3ZvaWQg
U1dTZXJ2ZXI6OnN0b3JlUmVnaXN0cmF0aW9uRm9yV29ya2VyKFNXU2VydmVyV29ya2VyJiB3b3Jr
ZXIpCit7CiAgICAgaWYgKG1fcmVnaXN0cmF0aW9uU3RvcmUpCiAgICAgICAgIG1fcmVnaXN0cmF0
aW9uU3RvcmUtPnVwZGF0ZVJlZ2lzdHJhdGlvbih3b3JrZXIuY29udGV4dERhdGEoKSk7Ci0gICAg
cmVnaXN0cmF0aW9uLT5kaWRGaW5pc2hBY3RpdmF0aW9uKHdvcmtlci5pZGVudGlmaWVyKCkpOwog
fQogCiAvLyBodHRwczovL3czYy5naXRodWIuaW8vU2VydmljZVdvcmtlci8jY2xpZW50cy1nZXRh
bGwKQEAgLTY3NSw3ICs2ODEsNyBAQCB2b2lkIFNXU2VydmVyOjpyZW1vdmVDbGllbnRTZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uKENvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIFNlcgogCiB2b2lkIFNX
U2VydmVyOjp1cGRhdGVXb3JrZXIoY29uc3QgU2VydmljZVdvcmtlckpvYkRhdGFJZGVudGlmaWVy
JiBqb2JEYXRhSWRlbnRpZmllciwgU1dTZXJ2ZXJSZWdpc3RyYXRpb24mIHJlZ2lzdHJhdGlvbiwg
Y29uc3QgVVJMJiB1cmwsIGNvbnN0IFNjcmlwdEJ1ZmZlciYgc2NyaXB0LCBjb25zdCBDZXJ0aWZp
Y2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbywgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVz
cG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJpdHlQb2xpY3ksIGNvbnN0IENyb3NzT3JpZ2luRW1i
ZWRkZXJQb2xpY3kmIGNvZXAsIGNvbnN0IFN0cmluZyYgcmVmZXJyZXJQb2xpY3ksIFdvcmtlclR5
cGUgdHlwZSwgSGFzaE1hcDxVUkwsIFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YTo6SW1wb3J0ZWRT
Y3JpcHQ+JiYgc2NyaXB0UmVzb3VyY2VNYXAsIHN0ZDo6b3B0aW9uYWw8U2NyaXB0RXhlY3V0aW9u
Q29udGV4dElkZW50aWZpZXI+IHNlcnZpY2VXb3JrZXJQYWdlSWRlbnRpZmllcikKIHsKLSAgICB0
cnlJbnN0YWxsQ29udGV4dERhdGEoU2VydmljZVdvcmtlckNvbnRleHREYXRhIHsgam9iRGF0YUlk
ZW50aWZpZXIsIHJlZ2lzdHJhdGlvbi5kYXRhKCksIFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyOjpn
ZW5lcmF0ZSgpLCBzY3JpcHQsIGNlcnRpZmljYXRlSW5mbywgY29udGVudFNlY3VyaXR5UG9saWN5
LCBjb2VwLCByZWZlcnJlclBvbGljeSwgdXJsLCB0eXBlLCBmYWxzZSwgY2xpZW50SXNBcHBJbml0
aWF0ZWRGb3JSZWdpc3RyYWJsZURvbWFpbihSZWdpc3RyYWJsZURvbWFpbih1cmwpKSwgV1RGTW92
ZShzY3JpcHRSZXNvdXJjZU1hcCksIHNlcnZpY2VXb3JrZXJQYWdlSWRlbnRpZmllciB9KTsKKyAg
ICB0cnlJbnN0YWxsQ29udGV4dERhdGEoU2VydmljZVdvcmtlckNvbnRleHREYXRhIHsgam9iRGF0
YUlkZW50aWZpZXIsIHJlZ2lzdHJhdGlvbi5kYXRhKCksIFNlcnZpY2VXb3JrZXJJZGVudGlmaWVy
OjpnZW5lcmF0ZSgpLCBzY3JpcHQsIGNlcnRpZmljYXRlSW5mbywgY29udGVudFNlY3VyaXR5UG9s
aWN5LCBjb2VwLCByZWZlcnJlclBvbGljeSwgdXJsLCB0eXBlLCBmYWxzZSwgY2xpZW50SXNBcHBJ
bml0aWF0ZWRGb3JSZWdpc3RyYWJsZURvbWFpbihSZWdpc3RyYWJsZURvbWFpbih1cmwpKSwgV1RG
TW92ZShzY3JpcHRSZXNvdXJjZU1hcCksIHNlcnZpY2VXb3JrZXJQYWdlSWRlbnRpZmllciwgeyB9
IH0pOwogfQogCiBMYXN0TmF2aWdhdGlvbldhc0FwcEluaXRpYXRlZCBTV1NlcnZlcjo6Y2xpZW50
SXNBcHBJbml0aWF0ZWRGb3JSZWdpc3RyYWJsZURvbWFpbihjb25zdCBSZWdpc3RyYWJsZURvbWFp
biYgZG9tYWluKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3Nl
cnZlci9TV1NlcnZlci5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9T
V1NlcnZlci5oCmluZGV4IDQ1MjJmMzQzY2FmZTA0ODc3YWEwOTA1NTUzZjFlODY1NmEwMjNkM2Eu
LmIxNWYxYWY1ZTBlZDcyYWFhMWRkYmRhOWEyZmZlM2ZiMjlhYjEzODcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmgKQEAgLTE5NCw2ICsx
OTQsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBkaWRTYXZlV29ya2VyU2NyaXB0c1RvRGlzayhTZXJ2
aWNlV29ya2VySWRlbnRpZmllciwgU2NyaXB0QnVmZmVyJiYgbWFpblNjcmlwdCwgSGFzaE1hcDxV
UkwsIFNjcmlwdEJ1ZmZlcj4mJiBpbXBvcnRlZFNjcmlwdHMpOwogICAgIHZvaWQgcmVnaXN0cmF0
aW9uU3RvcmVJbXBvcnRDb21wbGV0ZSgpOwogICAgIHZvaWQgcmVnaXN0cmF0aW9uU3RvcmVEYXRh
YmFzZUZhaWxlZFRvT3BlbigpOworICAgIHZvaWQgc3RvcmVSZWdpc3RyYXRpb25Gb3JXb3JrZXIo
U1dTZXJ2ZXJXb3JrZXImKTsKIAogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZ2V0T3JpZ2luc1dp
dGhSZWdpc3RyYXRpb25zKEZ1bmN0aW9uPHZvaWQoY29uc3QgSGFzaFNldDxTZWN1cml0eU9yaWdp
bkRhdGE+Jik+JiYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZp
Y2Uvc2VydmVyL1NXU2VydmVySm9iUXVldWUuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9z
ZXJ2aWNlL3NlcnZlci9TV1NlcnZlckpvYlF1ZXVlLmNwcAppbmRleCBkNjBmZjAwOTliYTFjOGMw
OGNhMWU3YTYyMmQ2Zjg3NDFhZmZhYzk3Li5hMzI5NzhmNzk1YzE2MmMxMTZmMDNjZmU3ZWI1Yjg0
YzE5ZmExNGFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2Vy
dmVyL1NXU2VydmVySm9iUXVldWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vy
dmljZS9zZXJ2ZXIvU1dTZXJ2ZXJKb2JRdWV1ZS5jcHAKQEAgLTI5Nyw3ICsyOTcsNyBAQCB2b2lk
IFNXU2VydmVySm9iUXVldWU6OnJ1blJlZ2lzdGVySm9iKGNvbnN0IFNlcnZpY2VXb3JrZXJKb2JE
YXRhJiBqb2IpCiAgICAgICAgICAgICByZWdpc3RyYXRpb24tPnNldFVwZGF0ZVZpYUNhY2hlKGpv
Yi5yZWdpc3RyYXRpb25PcHRpb25zLnVwZGF0ZVZpYUNhY2hlKTsKICAgICAgICAgUkVMRUFTRV9M
T0coU2VydmljZVdvcmtlciwgIiVwIC0gU1dTZXJ2ZXJKb2JRdWV1ZTo6cnVuUmVnaXN0ZXJKb2I6
IEZvdW5kIHJlZ2lzdHJhdGlvbiAlbGx1IGZvciBqb2IgJXMgYnV0IGl0IG5lZWRzIHVwZGF0aW5n
IiwgdGhpcywgcmVnaXN0cmF0aW9uLT5pZGVudGlmaWVyKCkudG9VSW50NjQoKSwgam9iLmlkZW50
aWZpZXIoKS5sb2dnaW5nU3RyaW5nKCkudXRmOCgpLmRhdGEoKSk7CiAgICAgfSBlbHNlIHsKLSAg
ICAgICAgYXV0byBuZXdSZWdpc3RyYXRpb24gPSBtYWtlVW5pcXVlPFNXU2VydmVyUmVnaXN0cmF0
aW9uPihtX3NlcnZlciwgbV9yZWdpc3RyYXRpb25LZXksIGpvYi5yZWdpc3RyYXRpb25PcHRpb25z
LnVwZGF0ZVZpYUNhY2hlLCBqb2Iuc2NvcGVVUkwsIGpvYi5zY3JpcHRVUkwsIGpvYi5zZXJ2aWNl
V29ya2VyUGFnZUlkZW50aWZpZXIoKSk7CisgICAgICAgIGF1dG8gbmV3UmVnaXN0cmF0aW9uID0g
bWFrZVVuaXF1ZTxTV1NlcnZlclJlZ2lzdHJhdGlvbj4obV9zZXJ2ZXIsIG1fcmVnaXN0cmF0aW9u
S2V5LCBqb2IucmVnaXN0cmF0aW9uT3B0aW9ucy51cGRhdGVWaWFDYWNoZSwgam9iLnNjb3BlVVJM
LCBqb2Iuc2NyaXB0VVJMLCBqb2Iuc2VydmljZVdvcmtlclBhZ2VJZGVudGlmaWVyKCksIE5hdmln
YXRpb25QcmVsb2FkU3RhdGU6OmRlZmF1bHRWYWx1ZSgpKTsKICAgICAgICAgbV9zZXJ2ZXIuYWRk
UmVnaXN0cmF0aW9uKFdURk1vdmUobmV3UmVnaXN0cmF0aW9uKSk7CiAKICAgICAgICAgUkVMRUFT
RV9MT0coU2VydmljZVdvcmtlciwgIiVwIC0gU1dTZXJ2ZXJKb2JRdWV1ZTo6cnVuUmVnaXN0ZXJK
b2I6IE5vIGV4aXN0aW5nIHJlZ2lzdHJhdGlvbiBmb3Igam9iICVzLCBjb25zdHJ1Y3RpbmcgYSBu
ZXcgb25lLiIsIHRoaXMsIGpvYi5pZGVudGlmaWVyKCkubG9nZ2luZ1N0cmluZygpLnV0ZjgoKS5k
YXRhKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZl
ci9TV1NlcnZlclJlZ2lzdHJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZp
Y2Uvc2VydmVyL1NXU2VydmVyUmVnaXN0cmF0aW9uLmNwcAppbmRleCBlYzdiM2JjMzIxYzczMDcx
OWRkOTUzMjZjYzQ1YjhmZWJjMWNiMjc1Li4zM2I1YjM5OGU0ZmRlMDc4NjgxYjNmNDk4MzdlNDhj
ODU4MmEyMjcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2Vy
dmVyL1NXU2VydmVyUmVnaXN0cmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyUmVnaXN0cmF0aW9uLmNwcApAQCAtNDMsNyArNDMsNyBA
QCBzdGF0aWMgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIgZ2VuZXJhdGVTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbgogICAgIHJldHVybiBTZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uSWRlbnRpZmllcjo6Z2VuZXJhdGUoKTsKIH0KIAotU1dTZXJ2ZXJSZWdpc3RyYXRpb246
OlNXU2VydmVyUmVnaXN0cmF0aW9uKFNXU2VydmVyJiBzZXJ2ZXIsIGNvbnN0IFNlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb25LZXkmIGtleSwgU2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlIHVwZGF0
ZVZpYUNhY2hlLCBjb25zdCBVUkwmIHNjb3BlVVJMLCBjb25zdCBVUkwmIHNjcmlwdFVSTCwgc3Rk
OjpvcHRpb25hbDxTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllcj4gc2VydmljZVdvcmtl
clBhZ2VJZGVudGlmaWVyKQorU1dTZXJ2ZXJSZWdpc3RyYXRpb246OlNXU2VydmVyUmVnaXN0cmF0
aW9uKFNXU2VydmVyJiBzZXJ2ZXIsIGNvbnN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkm
IGtleSwgU2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlIHVwZGF0ZVZpYUNhY2hlLCBjb25zdCBV
UkwmIHNjb3BlVVJMLCBjb25zdCBVUkwmIHNjcmlwdFVSTCwgc3RkOjpvcHRpb25hbDxTY3JpcHRF
eGVjdXRpb25Db250ZXh0SWRlbnRpZmllcj4gc2VydmljZVdvcmtlclBhZ2VJZGVudGlmaWVyLCBO
YXZpZ2F0aW9uUHJlbG9hZFN0YXRlJiYgbmF2aWdhdGlvblByZWxvYWRTdGF0ZSkKICAgICA6IG1f
aWRlbnRpZmllcihnZW5lcmF0ZVNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyKCkp
CiAgICAgLCBtX3JlZ2lzdHJhdGlvbktleShrZXkpCiAgICAgLCBtX3VwZGF0ZVZpYUNhY2hlKHVw
ZGF0ZVZpYUNhY2hlKQpAQCAtNTMsOSArNTMsOSBAQCBTV1NlcnZlclJlZ2lzdHJhdGlvbjo6U1dT
ZXJ2ZXJSZWdpc3RyYXRpb24oU1dTZXJ2ZXImIHNlcnZlciwgY29uc3QgU2VydmljZVdvcmtlcgog
ICAgICwgbV9zZXJ2ZXIoc2VydmVyKQogICAgICwgbV9jcmVhdGlvblRpbWUoTW9ub3RvbmljVGlt
ZTo6bm93KCkpCiAgICAgLCBtX3NvZnRVcGRhdGVUaW1lciB7ICp0aGlzLCAmU1dTZXJ2ZXJSZWdp
c3RyYXRpb246OnNvZnRVcGRhdGUgfQorICAgICwgbV9wcmVsb2FkU3RhdGUoV1RGTW92ZShuYXZp
Z2F0aW9uUHJlbG9hZFN0YXRlKSkKIHsKICAgICBtX3Njb3BlVVJMLnJlbW92ZUZyYWdtZW50SWRl
bnRpZmllcigpOwotICAgIG1fcHJlbG9hZFN0YXRlLmhlYWRlclZhbHVlID0gInRydWUiX3M7CiB9
CiAKIFNXU2VydmVyUmVnaXN0cmF0aW9uOjp+U1dTZXJ2ZXJSZWdpc3RyYXRpb24oKQpAQCAtMzg3
LDMyICszODcsMzUgQEAgdm9pZCBTV1NlcnZlclJlZ2lzdHJhdGlvbjo6c2NoZWR1bGVTb2Z0VXBk
YXRlKElzQXBwSW5pdGlhdGVkIGlzQXBwSW5pdGlhdGVkKQogLy8gaHR0cHM6Ly93M2MuZ2l0aHVi
LmlvL1NlcnZpY2VXb3JrZXIvI2RvbS1uYXZpZ2F0aW9ucHJlbG9hZG1hbmFnZXItZW5hYmxlLCBz
dGVwcyBydW4gaW4gcGFyYWxsZWwuCiBzdGQ6Om9wdGlvbmFsPEV4Y2VwdGlvbkRhdGE+IFNXU2Vy
dmVyUmVnaXN0cmF0aW9uOjplbmFibGVOYXZpZ2F0aW9uUHJlbG9hZCgpCiB7Ci0gICAgLy8gRklY
TUU6IFBlcnNpc3QgdGhpcyBkYXRhLgogICAgIGlmICghbV9hY3RpdmVXb3JrZXIpCiAgICAgICAg
IHJldHVybiBFeGNlcHRpb25EYXRhIHsgSW52YWxpZFN0YXRlRXJyb3IsICJObyBhY3RpdmUgd29y
a2VyIl9zIH07CisKICAgICBtX3ByZWxvYWRTdGF0ZS5lbmFibGVkID0gdHJ1ZTsKKyAgICBtX3Nl
cnZlci5zdG9yZVJlZ2lzdHJhdGlvbkZvcldvcmtlcigqbV9hY3RpdmVXb3JrZXIpOwogICAgIHJl
dHVybiB7IH07CiB9CiAKIC8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9TZXJ2aWNlV29ya2VyLyNk
b20tbmF2aWdhdGlvbnByZWxvYWRtYW5hZ2VyLWRpc2FibGUsIHN0ZXBzIHJ1biBpbiBwYXJhbGxl
bC4KIHN0ZDo6b3B0aW9uYWw8RXhjZXB0aW9uRGF0YT4gU1dTZXJ2ZXJSZWdpc3RyYXRpb246OmRp
c2FibGVOYXZpZ2F0aW9uUHJlbG9hZCgpCiB7Ci0gICAgLy8gRklYTUU6IFBlcnNpc3QgdGhpcyBk
YXRhLgogICAgIGlmICghbV9hY3RpdmVXb3JrZXIpCiAgICAgICAgIHJldHVybiBFeGNlcHRpb25E
YXRhIHsgSW52YWxpZFN0YXRlRXJyb3IsICJObyBhY3RpdmUgd29ya2VyIl9zIH07CisKICAgICBt
X3ByZWxvYWRTdGF0ZS5lbmFibGVkID0gZmFsc2U7CisgICAgbV9zZXJ2ZXIuc3RvcmVSZWdpc3Ry
YXRpb25Gb3JXb3JrZXIoKm1fYWN0aXZlV29ya2VyKTsKICAgICByZXR1cm4geyB9OwogfQogCiAv
LyBodHRwczovL3czYy5naXRodWIuaW8vU2VydmljZVdvcmtlci8jZG9tLW5hdmlnYXRpb25wcmVs
b2FkbWFuYWdlci1zZXRoZWFkZXJ2YWx1ZSwgc3RlcHMgcnVuIGluIHBhcmFsbGVsLgogc3RkOjpv
cHRpb25hbDxFeGNlcHRpb25EYXRhPiBTV1NlcnZlclJlZ2lzdHJhdGlvbjo6c2V0TmF2aWdhdGlv
blByZWxvYWRIZWFkZXJWYWx1ZShTdHJpbmcmJiBoZWFkZXJWYWx1ZSkKIHsKLSAgICAvLyBGSVhN
RTogUGVyc2lzdCB0aGlzIGRhdGEuCiAgICAgaWYgKCFpc1ZhbGlkSFRUUEhlYWRlclZhbHVlKGhl
YWRlclZhbHVlKSkKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbkRhdGEgeyBUeXBlRXJyb3IsICJJ
bnZhbGlkIGhlYWRlciB2YWx1ZSJfcyB9OwogICAgIGlmICghbV9hY3RpdmVXb3JrZXIpCiAgICAg
ICAgIHJldHVybiBFeGNlcHRpb25EYXRhIHsgSW52YWxpZFN0YXRlRXJyb3IsICJObyBhY3RpdmUg
d29ya2VyIl9zIH07CisKICAgICBtX3ByZWxvYWRTdGF0ZS5oZWFkZXJWYWx1ZSA9IFdURk1vdmUo
aGVhZGVyVmFsdWUpOworICAgIG1fc2VydmVyLnN0b3JlUmVnaXN0cmF0aW9uRm9yV29ya2VyKCpt
X2FjdGl2ZVdvcmtlcik7CiAgICAgcmV0dXJuIHsgfTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlclJlZ2lzdHJhdGlvbi5oIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlclJlZ2lzdHJhdGlv
bi5oCmluZGV4IDkxOGI4ZTczYThkYzFhNzMxYzhhNDU3OGE5Y2NkZGMyYjdjMThiNDQuLmY2NDI0
NmJjNDEwYTRiMGIyYWNhYjdkZDdiMDliNzAxNTFhOTkxZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJSZWdpc3RyYXRpb24uaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyUmVnaXN0cmF0
aW9uLmgKQEAgLTUzLDcgKzUzLDcgQEAgZW51bSBjbGFzcyBJc0FwcEluaXRpYXRlZCA6IGJvb2wg
eyBObywgWWVzIH07CiBjbGFzcyBTV1NlcnZlclJlZ2lzdHJhdGlvbiA6IHB1YmxpYyBDYW5NYWtl
V2Vha1B0cjxTV1NlcnZlclJlZ2lzdHJhdGlvbj4gewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogcHVibGljOgotICAgIFNXU2VydmVyUmVnaXN0cmF0aW9uKFNXU2VydmVyJiwgY29uc3Qg
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleSYsIFNlcnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNo
ZSwgY29uc3QgVVJMJiBzY29wZVVSTCwgY29uc3QgVVJMJiBzY3JpcHRVUkwsIHN0ZDo6b3B0aW9u
YWw8U2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXI+IHNlcnZpY2VXb3JrZXJQYWdlSWRl
bnRpZmllcik7CisgICAgU1dTZXJ2ZXJSZWdpc3RyYXRpb24oU1dTZXJ2ZXImLCBjb25zdCBTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5JiwgU2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlLCBj
b25zdCBVUkwmIHNjb3BlVVJMLCBjb25zdCBVUkwmIHNjcmlwdFVSTCwgc3RkOjpvcHRpb25hbDxT
Y3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllcj4gc2VydmljZVdvcmtlclBhZ2VJZGVudGlm
aWVyLCBOYXZpZ2F0aW9uUHJlbG9hZFN0YXRlJiYpOwogICAgIH5TV1NlcnZlclJlZ2lzdHJhdGlv
bigpOwogCiAgICAgY29uc3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleSYga2V5KCkgY29u
c3QgeyByZXR1cm4gbV9yZWdpc3RyYXRpb25LZXk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJXb3JrZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlcldvcmtlci5jcHAKaW5kZXggYjY3
YmE5YTk2NDM1NGYwZDZkZGFmOGJmZjY5ZWJiMWU3ZTBkMGQ4Zi4uNWQxNTU2YTAwNmRhYjE1MTY3
NjUxYTIzZGYyZmIzMzMwNDdmNmI0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlcldvcmtlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlcldvcmtlci5jcHAKQEAgLTg4LDcgKzg4LDcg
QEAgU2VydmljZVdvcmtlckNvbnRleHREYXRhIFNXU2VydmVyV29ya2VyOjpjb250ZXh0RGF0YSgp
IGNvbnN0CiB7CiAgICAgQVNTRVJUKG1fcmVnaXN0cmF0aW9uKTsKIAotICAgIHJldHVybiB7IHN0
ZDo6bnVsbG9wdCwgbV9yZWdpc3RyYXRpb24tPmRhdGEoKSwgbV9kYXRhLmlkZW50aWZpZXIsIG1f
c2NyaXB0LCBtX2NlcnRpZmljYXRlSW5mbywgbV9jb250ZW50U2VjdXJpdHlQb2xpY3ksIG1fY3Jv
c3NPcmlnaW5FbWJlZGRlclBvbGljeSwgbV9yZWZlcnJlclBvbGljeSwgbV9kYXRhLnNjcmlwdFVS
TCwgbV9kYXRhLnR5cGUsIGZhbHNlLCBtX2xhc3ROYXZpZ2F0aW9uV2FzQXBwSW5pdGlhdGVkLCBt
X3NjcmlwdFJlc291cmNlTWFwLCBtX3JlZ2lzdHJhdGlvbi0+c2VydmljZVdvcmtlclBhZ2VJZGVu
dGlmaWVyKCkgfTsKKyAgICByZXR1cm4geyBzdGQ6Om51bGxvcHQsIG1fcmVnaXN0cmF0aW9uLT5k
YXRhKCksIG1fZGF0YS5pZGVudGlmaWVyLCBtX3NjcmlwdCwgbV9jZXJ0aWZpY2F0ZUluZm8sIG1f
Y29udGVudFNlY3VyaXR5UG9saWN5LCBtX2Nyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3ksIG1fcmVm
ZXJyZXJQb2xpY3ksIG1fZGF0YS5zY3JpcHRVUkwsIG1fZGF0YS50eXBlLCBmYWxzZSwgbV9sYXN0
TmF2aWdhdGlvbldhc0FwcEluaXRpYXRlZCwgbV9zY3JpcHRSZXNvdXJjZU1hcCwgbV9yZWdpc3Ry
YXRpb24tPnNlcnZpY2VXb3JrZXJQYWdlSWRlbnRpZmllcigpLCBtX3JlZ2lzdHJhdGlvbi0+bmF2
aWdhdGlvblByZWxvYWRTdGF0ZSgpIH07CiB9CiAKIHZvaWQgU1dTZXJ2ZXJXb3JrZXI6OnVwZGF0
ZUFwcEluaXRpYXRlZFZhbHVlKExhc3ROYXZpZ2F0aW9uV2FzQXBwSW5pdGlhdGVkIGxhc3ROYXZp
Z2F0aW9uV2FzQXBwSW5pdGlhdGVkKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDA2YjY4ZDZiM2I1ZjFmNmVjY2RkZTAyY2Jl
N2UxNjM1YTdhYTJhOWEuLmY4NzE3NzA3YTQ0MzcxN2VkMDNjZDk0M2M3MzI3MDM2OGU2ZjZhYmMg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAyMS0xMi0wMiAgWW91ZW5uIEZhYmxldCAgPHlvdWVu
bkBhcHBsZS5jb20+CisKKyAgICAgICAgUGVyc2lzdCBOYXZpZ2F0aW9uUHJlbG9hZFN0YXRlIGlu
IHNlcnZpY2Ugd29ya2VyIHJlZ2lzdHJhdGlvbiBkYXRhYmFzZQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzNjk4CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgQ2hyaXMgRHVtZXouCisKKyAgICAgICAgKiBodHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXItbmV0d29ya3Byb2Nlc3MtY3Jhc2gtZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IGh0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci1uZXR3b3JrcHJvY2Vzcy1j
cmFzaC5odG1sOgorCiAyMDIxLTEyLTAxICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNv
bT4KIAogICAgICAgICBBZGQgc3VwcG9ydCBmb3IgTmF2aWdhdGlvblByZWxvYWRNYW5hZ2VyCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXItbmV0d29ya3Byb2Nlc3MtY3Jhc2gtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0
cC93cHQvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyLW5ldHdvcmtwcm9jZXNzLWNyYXNo
LWV4cGVjdGVkLnR4dAppbmRleCA3MmNjMjM4ZTIxY2MzNmE1MjdjYmEyMjYxYmU5OTk0ZDY1YWNm
ZGFkLi43MTQ4MGUyY2RkYTAxN2Q0MzMwMzllMTg4NDRmNzBlNzkxMzI1YTUzIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXItbmV0
d29ya3Byb2Nlc3MtY3Jhc2gtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci1uZXR3b3JrcHJvY2Vzcy1jcmFzaC1leHBl
Y3RlZC50eHQKQEAgLTEsNSArMSw0IEBACiAKLQogUEFTUyBTZXR1cCB3b3JrZXIKIFBBU1MgRnJh
bWUgYmVpbmcgY29udHJvbGxlZAogUEFTUyBGcmFtZSBiZWluZyBjb250cm9sbGVkIGFmdGVyIG5l
dHdvcmsgcHJvY2VzcyBjcmFzaApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyLW5ldHdvcmtwcm9jZXNzLWNyYXNoLmh0bWwgYi9M
YXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXItbmV0d29y
a3Byb2Nlc3MtY3Jhc2guaHRtbAppbmRleCA1M2ExMjA1Y2ZjN2FjMGZkMzMyMzNkMTZjZjc3YmIz
YWMzZmY4ODc3Li43NWMxMGQwYjBhZGE2NjEzNmYwYTUyYmIwN2UyOTM3MzY0ZGI4OGVkIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXItbmV0d29ya3Byb2Nlc3MtY3Jhc2guaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXItbmV0d29ya3Byb2Nlc3MtY3Jhc2guaHRtbApA
QCAtMzUsNyArMzUsMTAgQEAgYXN5bmMgZnVuY3Rpb24gcmVnaXN0ZXJTZXJ2aWNlV29ya2VyKCkK
IH0KIAogcHJvbWlzZV90ZXN0KGFzeW5jICh0ZXN0KSA9PiB7Ci0gICAgYXdhaXQgcmVnaXN0ZXJT
ZXJ2aWNlV29ya2VyKCk7CisgICAgY29uc3QgcmVnaXN0cmF0aW9uID0gYXdhaXQgcmVnaXN0ZXJT
ZXJ2aWNlV29ya2VyKCk7CisgICAgLy8gRW5hYmxlIHByZWxvYWQgdG8gdmFsaWRhdGUgcHJlbG9h
ZCBwZXJzaXN0ZW5jeS4KKyAgICBhd2FpdCByZWdpc3RyYXRpb24ubmF2aWdhdGlvblByZWxvYWQu
ZW5hYmxlKCk7CisgICAgYXdhaXQgcmVnaXN0cmF0aW9uLm5hdmlnYXRpb25QcmVsb2FkLnNldEhl
YWRlclZhbHVlKCJ0ZXN0Iik7CiB9LCAiU2V0dXAgd29ya2VyIik7CiAKIHByb21pc2VfdGVzdChh
c3luYyAodGVzdCkgPT4gewpAQCAtNTQsMTQgKzU3LDIxIEBAIHByb21pc2VfdGVzdChhc3luYyAo
dGVzdCkgPT4gewogICAgIGxldCBjb3VudCA9IDA7CiAgICAgd2hpbGUgKGNvdW50KysgPCAxMDAp
IHsKICAgICAgICAgY29uc3QgZnJhbWUgPSBhd2FpdCB3aXRoRnJhbWUoc2NvcGUgKyAiL2VtcHR5
Lmh0bWwiKTsKLSAgICAgICAgaWYgKGZyYW1lLmNvbnRlbnRXaW5kb3cubmF2aWdhdG9yLnNlcnZp
Y2VXb3JrZXIuY29udHJvbGxlcikKKyAgICAgICAgaWYgKGZyYW1lLmNvbnRlbnRXaW5kb3cubmF2
aWdhdG9yLnNlcnZpY2VXb3JrZXIuY29udHJvbGxlcikgeworICAgICAgICAgICAgZnJhbWUucmVt
b3ZlKCk7CiAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQogICAgICAgICBmcmFtZS5yZW1v
dmUoKTsKICAgICAgICAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiBzZXRUaW1lb3V0KHJl
c29sdmUsIDUwKSk7CiAgICAgfQogICAgIGFzc2VydF90cnVlKGNvdW50IDwgMTAwKTsKIAotICAg
IGF3YWl0IG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLmdldFJlZ2lzdHJhdGlvbihzY29wZSk7Cisg
ICAgY29uc3QgcmVnaXN0cmF0aW9uID0gYXdhaXQgbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIuZ2V0
UmVnaXN0cmF0aW9uKHNjb3BlKTsKKworICAgIC8vIFZhbGlkYXRlIHByZWxvYWQgcGVyc2lzdGVu
Y3kuCisgICAgY29uc3Qgc3RhdGUgPSBhd2FpdCByZWdpc3RyYXRpb24ubmF2aWdhdGlvblByZWxv
YWQuZ2V0U3RhdGUoKTsKKyAgICBhc3NlcnRfdHJ1ZShzdGF0ZS5lbmFibGVkLCAic3RhdGUuZW5h
YmxlZCIpOworICAgIGFzc2VydF9lcXVhbHMoc3RhdGUuaGVhZGVyVmFsdWUsICJ0ZXN0Iik7CiB9
LCAiRnJhbWUgYmVpbmcgY29udHJvbGxlZCBhZnRlciBuZXR3b3JrIHByb2Nlc3MgY3Jhc2giKTsK
IDwvc2NyaXB0PgogPC9ib2R5Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>445845</attachid>
            <date>2021-12-03 05:22:11 -0800</date>
            <delta_ts>2021-12-03 06:01:23 -0800</delta_ts>
            <desc>Fixing path in API tests</desc>
            <filename>bug-233698-20211203142209.patch</filename>
            <type>text/plain</type>
            <size>29333</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2NDE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzM0Y2U1Y2Y1OTJiZjkw
MDM0ZGJlMzgwN2I1ZmY3OGVmYTg2MDVlMy4uODZmNDEwNzQ1Nzc1MjhiYTM2ZmU4MDYzZTJjNjc0
M2QyYTcxNDYzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDIxLTEyLTAzICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBQZXJzaXN0IE5hdmlnYXRp
b25QcmVsb2FkU3RhdGUgaW4gc2VydmljZSB3b3JrZXIgcmVnaXN0cmF0aW9uIGRhdGFiYXNlCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzM2OTgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBDaHJpcyBEdW1lei4KKworICAgICAgICBXaGVuZXZlciBjaGFu
Z2luZyBhIHNlcnZpY2Ugd29ya2VyIHJlZ2lzdHJhdGlvbiBuYXZpZ2F0aW9uIHN0YXRlLCB0cmln
Z2VyIHN0b3Jpbmcgb2YgdGhlIGNoYW5nZXMgaW4gdGhlIGRhdGFiYXNlLgorICAgICAgICBUbyBk
byBzbywgd2UgYWRkIHRoaXMgc3RhdGUgdG8gU2VydmljZVdvcmtlckNvbnRleHREYXRhLgorICAg
ICAgICBXaGVuIGNyZWF0aW5nIGEgU1dTZXJ2ZXJSZWdpc3RyYXRpb24sIHdlIHNldCBkZWZhdWx0
IHZhbHVlcyB0byBmYWxzZSBhbmQgInRydWUiCisgICAgICAgIGFzIHBlciBodHRwczovL3czYy5n
aXRodWIuaW8vU2VydmljZVdvcmtlci8jc2VydmljZS13b3JrZXItcmVnaXN0cmF0aW9uLW5hdmln
YXRpb24tcHJlbG9hZC1oZWFkZXItdmFsdWUuCisKKyAgICAgICAgQ292ZXJlZCBieSB1cGRhdGVk
IHRlc3QuCisKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRleHRE
YXRhLmNwcDoKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRleHRE
YXRhLmg6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9SZWdpc3RyYXRpb25EYXRh
YmFzZS5jcHA6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9SZWdpc3RyYXRpb25T
dG9yZS5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuY3BwOgor
ICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuaDoKKyAgICAgICAgKiB3
b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVySm9iUXVldWUuY3BwOgorICAgICAgICAqIHdv
cmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJSZWdpc3RyYXRpb24uY3BwOgorICAgICAgICAq
IHdvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJSZWdpc3RyYXRpb24uaDoKKyAgICAgICAg
KiB3b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyV29ya2VyLmNwcDoKKwogMjAyMS0xMi0w
MSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIHN1cHBv
cnQgZm9yIE5hdmlnYXRpb25QcmVsb2FkTWFuYWdlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9zZXJ2aWNlL05hdmlnYXRpb25QcmVsb2FkU3RhdGUuaCBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvc2VydmljZS9OYXZpZ2F0aW9uUHJlbG9hZFN0YXRlLmgKaW5kZXggYzM4ZWQ1
ZTI3OTdmNTVkNTAxZDFkZGNmOGY3MDFiNWJlZDAwMWE1OC4uMGIyNjM1NDg4NmU3ZDRmMjAxM2Nj
ZjZkZDI0ZmI0NTM5ZGRiZGUyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9z
ZXJ2aWNlL05hdmlnYXRpb25QcmVsb2FkU3RhdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2UvTmF2aWdhdGlvblByZWxvYWRTdGF0ZS5oCkBAIC0zMywxNCArMzMsMTYgQEAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogc3RydWN0IE5hdmlnYXRpb25QcmVsb2FkU3RhdGUgewot
ICAgIGJvb2wgZW5hYmxlZCB7IGZhbHNlIH07Ci0gICAgU3RyaW5nIGhlYWRlclZhbHVlOworICAg
IHN0YXRpYyBOYXZpZ2F0aW9uUHJlbG9hZFN0YXRlIGRlZmF1bHRWYWx1ZSgpIHsgcmV0dXJuIHsg
ZmFsc2UsICJ0cnVlIl9zIH07IH0KIAogICAgIE5hdmlnYXRpb25QcmVsb2FkU3RhdGUgaXNvbGF0
ZWRDb3B5KCkgY29uc3QgJiB7IHJldHVybiB7IGVuYWJsZWQsIGhlYWRlclZhbHVlLmlzb2xhdGVk
Q29weSgpIH07IH0KICAgICBOYXZpZ2F0aW9uUHJlbG9hZFN0YXRlIGlzb2xhdGVkQ29weSgpICYm
IHsgcmV0dXJuIHsgZW5hYmxlZCwgV1RGTW92ZShoZWFkZXJWYWx1ZSkuaXNvbGF0ZWRDb3B5KCkg
fTsgfQogCiAgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYg
ZW5jb2RlcikgY29uc3QgeyBlbmNvZGVyIDw8IGVuYWJsZWQgPDwgaGVhZGVyVmFsdWU7IH0KICAg
ICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgc3RkOjpvcHRpb25hbDxOYXZpZ2F0aW9u
UHJlbG9hZFN0YXRlPiBkZWNvZGUoRGVjb2RlciYpOworCisgICAgYm9vbCBlbmFibGVkIHsgZmFs
c2UgfTsKKyAgICBTdHJpbmcgaGVhZGVyVmFsdWU7CiB9OwogCiB0ZW1wbGF0ZTxjbGFzcyBEZWNv
ZGVyPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VX
b3JrZXJDb250ZXh0RGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vy
dmljZVdvcmtlckNvbnRleHREYXRhLmNwcAppbmRleCA0ZGJkYjRiNGQwYjc2YTViODg1NTRiMDA3
ZjgxYjUwMGIyNGY5ZTVjLi4xYTQxMTEzNjQwMDBmM2FjYWYzNzBmMGM5ZTMxMTQyMjdhODljMDll
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtl
ckNvbnRleHREYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vy
dmljZVdvcmtlckNvbnRleHREYXRhLmNwcApAQCAtNDcsNyArNDcsOCBAQCBTZXJ2aWNlV29ya2Vy
Q29udGV4dERhdGEgU2VydmljZVdvcmtlckNvbnRleHREYXRhOjppc29sYXRlZENvcHkoKSBjb25z
dCAmCiAgICAgICAgIGxvYWRlZEZyb21EaXNrLAogICAgICAgICBsYXN0TmF2aWdhdGlvbldhc0Fw
cEluaXRpYXRlZCwKICAgICAgICAgY3Jvc3NUaHJlYWRDb3B5KHNjcmlwdFJlc291cmNlTWFwKSwK
LSAgICAgICAgc2VydmljZVdvcmtlclBhZ2VJZGVudGlmaWVyCisgICAgICAgIHNlcnZpY2VXb3Jr
ZXJQYWdlSWRlbnRpZmllciwKKyAgICAgICAgY3Jvc3NUaHJlYWRDb3B5KG5hdmlnYXRpb25QcmVs
b2FkU3RhdGUpLAogICAgIH07CiB9CiAKQEAgLTY3LDcgKzY4LDggQEAgU2VydmljZVdvcmtlckNv
bnRleHREYXRhIFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YTo6aXNvbGF0ZWRDb3B5KCkgJiYKICAg
ICAgICAgbG9hZGVkRnJvbURpc2ssCiAgICAgICAgIGxhc3ROYXZpZ2F0aW9uV2FzQXBwSW5pdGlh
dGVkLAogICAgICAgICBjcm9zc1RocmVhZENvcHkoV1RGTW92ZShzY3JpcHRSZXNvdXJjZU1hcCkp
LAotICAgICAgICBzZXJ2aWNlV29ya2VyUGFnZUlkZW50aWZpZXIKKyAgICAgICAgc2VydmljZVdv
cmtlclBhZ2VJZGVudGlmaWVyLAorICAgICAgICBjcm9zc1RocmVhZENvcHkoV1RGTW92ZShuYXZp
Z2F0aW9uUHJlbG9hZFN0YXRlKSkKICAgICB9OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRleHREYXRhLmggYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRleHREYXRhLmgKaW5kZXgg
MDFkOGNiY2Y0OTI0OTgxMWUzYjNkYzYzN2ViYzRiNGI0MTNjY2U3Yy4uNDZhOWZhNzAxMjllMzc1
YzU5NjgxYmJhNmUzMGVhOThhYmNiMWQ4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250ZXh0RGF0YS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGV4dERhdGEuaApAQCAtMjgsNiAr
MjgsNyBAQAogI2luY2x1ZGUgIkNlcnRpZmljYXRlSW5mby5oIgogI2luY2x1ZGUgIkNvbnRlbnRT
ZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycy5oIgogI2luY2x1ZGUgIkNyb3NzT3JpZ2luRW1i
ZWRkZXJQb2xpY3kuaCIKKyNpbmNsdWRlICJOYXZpZ2F0aW9uUHJlbG9hZFN0YXRlLmgiCiAjaW5j
bHVkZSAiU2NyaXB0QnVmZmVyLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dElk
ZW50aWZpZXIuaCIKICNpbmNsdWRlICJTZXJ2aWNlV29ya2VySWRlbnRpZmllci5oIgpAQCAtOTUs
NiArOTYsNyBAQCBzdHJ1Y3QgU2VydmljZVdvcmtlckNvbnRleHREYXRhIHsKICAgICBzdGQ6Om9w
dGlvbmFsPExhc3ROYXZpZ2F0aW9uV2FzQXBwSW5pdGlhdGVkPiBsYXN0TmF2aWdhdGlvbldhc0Fw
cEluaXRpYXRlZDsKICAgICBIYXNoTWFwPFVSTCwgSW1wb3J0ZWRTY3JpcHQ+IHNjcmlwdFJlc291
cmNlTWFwOwogICAgIHN0ZDo6b3B0aW9uYWw8U2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZp
ZXI+IHNlcnZpY2VXb3JrZXJQYWdlSWRlbnRpZmllcjsKKyAgICBOYXZpZ2F0aW9uUHJlbG9hZFN0
YXRlIG5hdmlnYXRpb25QcmVsb2FkU3RhdGU7CiAKICAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVy
PiB2b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7CiAgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rl
cj4gc3RhdGljIHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlckNvbnRleHREYXRhPiBkZWNvZGUo
RGVjb2RlciYpOwpAQCAtMTA3LDcgKzEwOSw3IEBAIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+CiB2
b2lkIFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YTo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNv
bnN0CiB7CiAgICAgZW5jb2RlciA8PCBqb2JEYXRhSWRlbnRpZmllciA8PCByZWdpc3RyYXRpb24g
PDwgc2VydmljZVdvcmtlcklkZW50aWZpZXIgPDwgc2NyaXB0IDw8IGNvbnRlbnRTZWN1cml0eVBv
bGljeSA8PCBjcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5IDw8IHJlZmVycmVyUG9saWN5Ci0gICAg
ICAgIDw8IHNjcmlwdFVSTCA8PCB3b3JrZXJUeXBlIDw8IGxvYWRlZEZyb21EaXNrIDw8IGxhc3RO
YXZpZ2F0aW9uV2FzQXBwSW5pdGlhdGVkIDw8IHNjcmlwdFJlc291cmNlTWFwIDw8IGNlcnRpZmlj
YXRlSW5mbyA8PCBzZXJ2aWNlV29ya2VyUGFnZUlkZW50aWZpZXI7CisgICAgICAgIDw8IHNjcmlw
dFVSTCA8PCB3b3JrZXJUeXBlIDw8IGxvYWRlZEZyb21EaXNrIDw8IGxhc3ROYXZpZ2F0aW9uV2Fz
QXBwSW5pdGlhdGVkIDw8IHNjcmlwdFJlc291cmNlTWFwIDw8IGNlcnRpZmljYXRlSW5mbyA8PCBz
ZXJ2aWNlV29ya2VyUGFnZUlkZW50aWZpZXIgPDwgbmF2aWdhdGlvblByZWxvYWRTdGF0ZTsKIH0K
IAogdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4KQEAgLTE3NSw2ICsxNzcsMTEgQEAgc3RkOjpvcHRp
b25hbDxTZXJ2aWNlV29ya2VyQ29udGV4dERhdGE+IFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YTo6
ZGVjb2RlKERlY29kZXIKICAgICBpZiAoIXNlcnZpY2VXb3JrZXJQYWdlSWRlbnRpZmllcikKICAg
ICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKIAorICAgIHN0ZDo6b3B0aW9uYWw8TmF2aWdhdGlv
blByZWxvYWRTdGF0ZT4gbmF2aWdhdGlvblByZWxvYWRTdGF0ZTsKKyAgICBkZWNvZGVyID4+IG5h
dmlnYXRpb25QcmVsb2FkU3RhdGU7CisgICAgaWYgKCFuYXZpZ2F0aW9uUHJlbG9hZFN0YXRlKQor
ICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworCiAgICAgcmV0dXJuIHt7CiAgICAgICAgIFdU
Rk1vdmUoKmpvYkRhdGFJZGVudGlmaWVyKSwKICAgICAgICAgV1RGTW92ZSgqcmVnaXN0cmF0aW9u
KSwKQEAgLTE4OSw3ICsxOTYsOCBAQCBzdGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJDb250ZXh0
RGF0YT4gU2VydmljZVdvcmtlckNvbnRleHREYXRhOjpkZWNvZGUoRGVjb2RlcgogICAgICAgICBs
b2FkZWRGcm9tRGlzaywKICAgICAgICAgV1RGTW92ZShsYXN0TmF2aWdhdGlvbldhc0FwcEluaXRp
YXRlZCksCiAgICAgICAgIFdURk1vdmUoc2NyaXB0UmVzb3VyY2VNYXApLAotICAgICAgICBXVEZN
b3ZlKCpzZXJ2aWNlV29ya2VyUGFnZUlkZW50aWZpZXIpCisgICAgICAgIFdURk1vdmUoKnNlcnZp
Y2VXb3JrZXJQYWdlSWRlbnRpZmllciksCisgICAgICAgIFdURk1vdmUoKm5hdmlnYXRpb25QcmVs
b2FkU3RhdGUpCiAgICAgfX07CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvc2VydmljZS9zZXJ2ZXIvUmVnaXN0cmF0aW9uRGF0YWJhc2UuY3BwIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9SZWdpc3RyYXRpb25EYXRhYmFzZS5jcHAKaW5kZXgg
Y2JiZTMwZTU5NGE1OTBiMGY5ZDU2YTg3MGI2YzNmMWQzYTViNTQ2NS4uMWJiNGRhZWQ2OGZkOWZl
N2RkZjBkNTM5OWRlYjNhMmIyYzg5N2YxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zZXJ2aWNlL3NlcnZlci9SZWdpc3RyYXRpb25EYXRhYmFzZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9SZWdpc3RyYXRpb25EYXRhYmFzZS5jcHAK
QEAgLTUwLDcgKzUwLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgY29uc3Qg
dWludDY0X3Qgc2NoZW1hVmVyc2lvbiA9IDc7CitzdGF0aWMgY29uc3QgdWludDY0X3Qgc2NoZW1h
VmVyc2lvbiA9IDg7CiAKICNkZWZpbmUgUkVDT1JEU19UQUJMRV9TQ0hFTUFfUFJFRklYICJDUkVB
VEUgVEFCTEUgIgogI2RlZmluZSBSRUNPUkRTX1RBQkxFX1NDSEVNQV9TVUZGSVggIigiIFwKQEAg
LTY3LDYgKzY3LDcgQEAgc3RhdGljIGNvbnN0IHVpbnQ2NF90IHNjaGVtYVZlcnNpb24gPSA3Owog
ICAgICIsIHJlZmVycmVyUG9saWN5IFRFWFQgTk9UIE5VTEwgT04gQ09ORkxJQ1QgRkFJTCIgXAog
ICAgICIsIHNjcmlwdFJlc291cmNlTWFwIEJMT0IgTk9UIE5VTEwgT04gQ09ORkxJQ1QgRkFJTCIg
XAogICAgICIsIGNlcnRpZmljYXRlSW5mbyBCTE9CIE5PVCBOVUxMIE9OIENPTkZMSUNUIEZBSUwi
IFwKKyAgICAiLCBwcmVsb2FkU3RhdGUgQkxPQiBOT1QgTlVMTCBPTiBDT05GTElDVCBGQUlMIiBc
CiAgICAgIikiX3M7CiAKIHN0YXRpYyBBU0NJSUxpdGVyYWwgcmVjb3Jkc1RhYmxlU2NoZW1hKCkK
QEAgLTQyMiw3ICs0MjMsNyBAQCBib29sIFJlZ2lzdHJhdGlvbkRhdGFiYXNlOjpkb1B1c2hDaGFu
Z2VzKGNvbnN0IFZlY3RvcjxTZXJ2aWNlV29ya2VyQ29udGV4dERhdGE+JgogICAgIFNRTGl0ZVRy
YW5zYWN0aW9uIHRyYW5zYWN0aW9uKCptX2RhdGFiYXNlKTsKICAgICB0cmFuc2FjdGlvbi5iZWdp
bigpOwogCi0gICAgYXV0byBpbnNlcnRTdGF0ZW1lbnQgPSBtX2RhdGFiYXNlLT5wcmVwYXJlU3Rh
dGVtZW50KCJJTlNFUlQgSU5UTyBSZWNvcmRzIFZBTFVFUyAoPywgPywgPywgPywgPywgPywgPywg
PywgPywgPywgPywgPywgPykiX3MpOworICAgIGF1dG8gaW5zZXJ0U3RhdGVtZW50ID0gbV9kYXRh
YmFzZS0+cHJlcGFyZVN0YXRlbWVudCgiSU5TRVJUIElOVE8gUmVjb3JkcyBWQUxVRVMgKD8sID8s
ID8sID8sID8sID8sID8sID8sID8sID8sID8sID8sID8sID8pIl9zKTsKICAgICBpZiAoIWluc2Vy
dFN0YXRlbWVudCkgewogICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihTZXJ2aWNlV29ya2VyLCAi
RmFpbGVkIHRvIHByZXBhcmUgc3RhdGVtZW50IHRvIHN0b3JlIHJlZ2lzdHJhdGlvbiBkYXRhIGlu
dG8gcmVjb3JkcyB0YWJsZSAoJWkpIC0gJXMiLCBtX2RhdGFiYXNlLT5sYXN0RXJyb3IoKSwgbV9k
YXRhYmFzZS0+bGFzdEVycm9yTXNnKCkpOwogICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC00NTUs
NiArNDU2LDkgQEAgYm9vbCBSZWdpc3RyYXRpb25EYXRhYmFzZTo6ZG9QdXNoQ2hhbmdlcyhjb25z
dCBWZWN0b3I8U2VydmljZVdvcmtlckNvbnRleHREYXRhPiYKICAgICAgICAgV1RGOjpQZXJzaXN0
ZW5jZTo6RW5jb2RlciBjZXJ0aWZpY2F0ZUluZm9FbmNvZGVyOwogICAgICAgICBjZXJ0aWZpY2F0
ZUluZm9FbmNvZGVyIDw8IGRhdGEuY2VydGlmaWNhdGVJbmZvOwogCisgICAgICAgIFdURjo6UGVy
c2lzdGVuY2U6OkVuY29kZXIgbmF2aWdhdGlvblByZWxvYWRTdGF0ZUVuY29kZXI7CisgICAgICAg
IG5hdmlnYXRpb25QcmVsb2FkU3RhdGVFbmNvZGVyIDw8IGRhdGEubmF2aWdhdGlvblByZWxvYWRT
dGF0ZTsKKwogICAgICAgICBpZiAoaW5zZXJ0U3RhdGVtZW50LT5iaW5kVGV4dCgxLCBkYXRhLnJl
Z2lzdHJhdGlvbi5rZXkudG9EYXRhYmFzZUtleSgpKSAhPSBTUUxJVEVfT0sKICAgICAgICAgICAg
IHx8IGluc2VydFN0YXRlbWVudC0+YmluZFRleHQoMiwgZGF0YS5yZWdpc3RyYXRpb24uc2NvcGVV
UkwucHJvdG9jb2xIb3N0QW5kUG9ydCgpKSAhPSBTUUxJVEVfT0sKICAgICAgICAgICAgIHx8IGlu
c2VydFN0YXRlbWVudC0+YmluZFRleHQoMywgZGF0YS5yZWdpc3RyYXRpb24uc2NvcGVVUkwucGF0
aCgpLnRvU3RyaW5nKCkpICE9IFNRTElURV9PSwpAQCAtNDY4LDYgKzQ3Miw3IEBAIGJvb2wgUmVn
aXN0cmF0aW9uRGF0YWJhc2U6OmRvUHVzaENoYW5nZXMoY29uc3QgVmVjdG9yPFNlcnZpY2VXb3Jr
ZXJDb250ZXh0RGF0YT4mCiAgICAgICAgICAgICB8fCBpbnNlcnRTdGF0ZW1lbnQtPmJpbmRUZXh0
KDExLCBkYXRhLnJlZmVycmVyUG9saWN5KSAhPSBTUUxJVEVfT0sKICAgICAgICAgICAgIHx8IGlu
c2VydFN0YXRlbWVudC0+YmluZEJsb2IoMTIsIFNwYW4geyBzY3JpcHRSZXNvdXJjZU1hcEVuY29k
ZXIuYnVmZmVyKCksIHNjcmlwdFJlc291cmNlTWFwRW5jb2Rlci5idWZmZXJTaXplKCkgfSkgIT0g
U1FMSVRFX09LCiAgICAgICAgICAgICB8fCBpbnNlcnRTdGF0ZW1lbnQtPmJpbmRCbG9iKDEzLCBT
cGFuIHsgY2VydGlmaWNhdGVJbmZvRW5jb2Rlci5idWZmZXIoKSwgY2VydGlmaWNhdGVJbmZvRW5j
b2Rlci5idWZmZXJTaXplKCkgfSkgIT0gU1FMSVRFX09LCisgICAgICAgICAgICB8fCBpbnNlcnRT
dGF0ZW1lbnQtPmJpbmRCbG9iKDE0LCBTcGFuIHsgbmF2aWdhdGlvblByZWxvYWRTdGF0ZUVuY29k
ZXIuYnVmZmVyKCksIG5hdmlnYXRpb25QcmVsb2FkU3RhdGVFbmNvZGVyLmJ1ZmZlclNpemUoKSB9
KSAhPSBTUUxJVEVfT0sKICAgICAgICAgICAgIHx8IGluc2VydFN0YXRlbWVudC0+c3RlcCgpICE9
IFNRTElURV9ET05FKSB7CiAgICAgICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihTZXJ2aWNlV29y
a2VyLCAiRmFpbGVkIHRvIHN0b3JlIHJlZ2lzdHJhdGlvbiBkYXRhIGludG8gcmVjb3JkcyB0YWJs
ZSAoJWkpIC0gJXMiLCBtX2RhdGFiYXNlLT5sYXN0RXJyb3IoKSwgbV9kYXRhYmFzZS0+bGFzdEVy
cm9yTXNnKCkpOwogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtNTY2LDYgKzU3MSwxNiBA
QCBTdHJpbmcgUmVnaXN0cmF0aW9uRGF0YWJhc2U6OmltcG9ydFJlY29yZHMoKQogICAgICAgICAg
ICAgY29udGludWU7CiAgICAgICAgIH0KIAorICAgICAgICBhdXRvIG5hdmlnYXRpb25QcmVsb2Fk
U3RhdGVEYXRhU3BhbiA9IHNxbC0+Y29sdW1uQmxvYkFzU3BhbigxMyk7CisgICAgICAgIHN0ZDo6
b3B0aW9uYWw8TmF2aWdhdGlvblByZWxvYWRTdGF0ZT4gbmF2aWdhdGlvblByZWxvYWRTdGF0ZTsK
KworICAgICAgICBXVEY6OlBlcnNpc3RlbmNlOjpEZWNvZGVyIG5hdmlnYXRpb25QcmVsb2FkU3Rh
dGVEZWNvZGVyKG5hdmlnYXRpb25QcmVsb2FkU3RhdGVEYXRhU3Bhbik7CisgICAgICAgIG5hdmln
YXRpb25QcmVsb2FkU3RhdGVEZWNvZGVyID4+IG5hdmlnYXRpb25QcmVsb2FkU3RhdGU7CisgICAg
ICAgIGlmICghbmF2aWdhdGlvblByZWxvYWRTdGF0ZSkgeworICAgICAgICAgICAgUkVMRUFTRV9M
T0dfRVJST1IoU2VydmljZVdvcmtlciwgIlJlZ2lzdHJhdGlvbkRhdGFiYXNlOjppbXBvcnRSZWNv
cmRzOiBGYWlsZWQgdG8gZGVjb2RlIG5hdmlnYXRpb25QcmVsb2FkU3RhdGUiKTsKKyAgICAgICAg
ICAgIGNvbnRpbnVlOworICAgICAgICB9CisKICAgICAgICAgLy8gVmFsaWRhdGUgdGhlIGlucHV0
IGZvciB0aGlzIHJlZ2lzdHJhdGlvbi4KICAgICAgICAgLy8gSWYgYW55IHBhcnQgb2YgdGhpcyBp
bnB1dCBpcyBpbnZhbGlkLCBsZXQncyBza2lwIHRoaXMgcmVnaXN0cmF0aW9uLgogICAgICAgICAv
LyBGSVhNRTogU2hvdWxkIHdlIHJldHVybiBhbiBlcnJvciBza2lwcGluZyAqYWxsKiByZWdpc3Ry
YXRpb25zPwpAQCAtNTg0LDcgKzU5OSw3IEBAIFN0cmluZyBSZWdpc3RyYXRpb25EYXRhYmFzZTo6
aW1wb3J0UmVjb3JkcygpCiAgICAgICAgIGF1dG8gcmVnaXN0cmF0aW9uSWRlbnRpZmllciA9IFNl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyOjpnZW5lcmF0ZSgpOwogICAgICAgICBh
dXRvIHNlcnZpY2VXb3JrZXJEYXRhID0gU2VydmljZVdvcmtlckRhdGEgeyB3b3JrZXJJZGVudGlm
aWVyLCBzY3JpcHRVUkwsIFNlcnZpY2VXb3JrZXJTdGF0ZTo6QWN0aXZhdGVkLCAqd29ya2VyVHlw
ZSwgcmVnaXN0cmF0aW9uSWRlbnRpZmllciB9OwogICAgICAgICBhdXRvIHJlZ2lzdHJhdGlvbiA9
IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhIHsgV1RGTW92ZSgqa2V5KSwgcmVnaXN0cmF0
aW9uSWRlbnRpZmllciwgV1RGTW92ZShzY29wZVVSTCksICp1cGRhdGVWaWFDYWNoZSwgbGFzdFVw
ZGF0ZUNoZWNrVGltZSwgc3RkOjpudWxsb3B0LCBzdGQ6Om51bGxvcHQsIFdURk1vdmUoc2Vydmlj
ZVdvcmtlckRhdGEpIH07Ci0gICAgICAgIGF1dG8gY29udGV4dERhdGEgPSBTZXJ2aWNlV29ya2Vy
Q29udGV4dERhdGEgeyBzdGQ6Om51bGxvcHQsIFdURk1vdmUocmVnaXN0cmF0aW9uKSwgd29ya2Vy
SWRlbnRpZmllciwgV1RGTW92ZShzY3JpcHQpLCBXVEZNb3ZlKCpjZXJ0aWZpY2F0ZUluZm8pLCBX
VEZNb3ZlKCpjb250ZW50U2VjdXJpdHlQb2xpY3kpLCBXVEZNb3ZlKCpjb2VwKSwgV1RGTW92ZShy
ZWZlcnJlclBvbGljeSksIFdURk1vdmUoc2NyaXB0VVJMKSwgKndvcmtlclR5cGUsIHRydWUsIExh
c3ROYXZpZ2F0aW9uV2FzQXBwSW5pdGlhdGVkOjpZZXMsIFdURk1vdmUoc2NyaXB0UmVzb3VyY2VN
YXApLCBzdGQ6Om51bGxvcHQgfTsKKyAgICAgICAgYXV0byBjb250ZXh0RGF0YSA9IFNlcnZpY2VX
b3JrZXJDb250ZXh0RGF0YSB7IHN0ZDo6bnVsbG9wdCwgV1RGTW92ZShyZWdpc3RyYXRpb24pLCB3
b3JrZXJJZGVudGlmaWVyLCBXVEZNb3ZlKHNjcmlwdCksIFdURk1vdmUoKmNlcnRpZmljYXRlSW5m
byksIFdURk1vdmUoKmNvbnRlbnRTZWN1cml0eVBvbGljeSksIFdURk1vdmUoKmNvZXApLCBXVEZN
b3ZlKHJlZmVycmVyUG9saWN5KSwgV1RGTW92ZShzY3JpcHRVUkwpLCAqd29ya2VyVHlwZSwgdHJ1
ZSwgTGFzdE5hdmlnYXRpb25XYXNBcHBJbml0aWF0ZWQ6OlllcywgV1RGTW92ZShzY3JpcHRSZXNv
dXJjZU1hcCksIHN0ZDo6bnVsbG9wdCwgV1RGTW92ZSgqbmF2aWdhdGlvblByZWxvYWRTdGF0ZSkg
fTsKIAogICAgICAgICBjYWxsT25NYWluVGhyZWFkKFtwcm90ZWN0ZWRUaGlzID0gUmVmIHsgKnRo
aXMgfSwgY29udGV4dERhdGEgPSBjb250ZXh0RGF0YS5pc29sYXRlZENvcHkoKV0oKSBtdXRhYmxl
IHsKICAgICAgICAgICAgIHByb3RlY3RlZFRoaXMtPmFkZFJlZ2lzdHJhdGlvblRvU3RvcmUoV1RG
TW92ZShjb250ZXh0RGF0YSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9z
ZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZp
Y2Uvc2VydmVyL1NXU2VydmVyLmNwcAppbmRleCA2YzY5MTQ2Mjk4OGU3YWE4YmQ5ZWRmMjFlODc2
OTRjNmU3NDFlY2Y5Li4wMzAzYzE1OTg3NmQ1NDIyYzZlMzk1NDQyOGJlYTAxOWFmZDczZTI2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVy
LmNwcApAQCAtMTc4LDcgKzE3OCw3IEBAIHZvaWQgU1dTZXJ2ZXI6OmFkZFJlZ2lzdHJhdGlvbkZy
b21TdG9yZShTZXJ2aWNlV29ya2VyQ29udGV4dERhdGEmJiBkYXRhKQogICAgICAgICBpZiAoIXdl
YWtUaGlzKQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICBpZiAobV9oYXNTZXJ2aWNlV29y
a2VyRW50aXRsZW1lbnQgfHwgaXNWYWxpZCkgewotICAgICAgICAgICAgYXV0byByZWdpc3RyYXRp
b24gPSBtYWtlVW5pcXVlPFNXU2VydmVyUmVnaXN0cmF0aW9uPigqdGhpcywgZGF0YS5yZWdpc3Ry
YXRpb24ua2V5LCBkYXRhLnJlZ2lzdHJhdGlvbi51cGRhdGVWaWFDYWNoZSwgZGF0YS5yZWdpc3Ry
YXRpb24uc2NvcGVVUkwsIGRhdGEuc2NyaXB0VVJMLCBkYXRhLnNlcnZpY2VXb3JrZXJQYWdlSWRl
bnRpZmllcik7CisgICAgICAgICAgICBhdXRvIHJlZ2lzdHJhdGlvbiA9IG1ha2VVbmlxdWU8U1dT
ZXJ2ZXJSZWdpc3RyYXRpb24+KCp0aGlzLCBkYXRhLnJlZ2lzdHJhdGlvbi5rZXksIGRhdGEucmVn
aXN0cmF0aW9uLnVwZGF0ZVZpYUNhY2hlLCBkYXRhLnJlZ2lzdHJhdGlvbi5zY29wZVVSTCwgZGF0
YS5zY3JpcHRVUkwsIGRhdGEuc2VydmljZVdvcmtlclBhZ2VJZGVudGlmaWVyLCBXVEZNb3ZlKGRh
dGEubmF2aWdhdGlvblByZWxvYWRTdGF0ZSkpOwogICAgICAgICAgICAgcmVnaXN0cmF0aW9uLT5z
ZXRMYXN0VXBkYXRlVGltZShkYXRhLnJlZ2lzdHJhdGlvbi5sYXN0VXBkYXRlVGltZSk7CiAgICAg
ICAgICAgICBhdXRvIHJlZ2lzdHJhdGlvblB0ciA9IHJlZ2lzdHJhdGlvbi5nZXQoKTsKICAgICAg
ICAgICAgIGFkZFJlZ2lzdHJhdGlvbihXVEZNb3ZlKHJlZ2lzdHJhdGlvbikpOwpAQCAtNTgzLDkg
KzU4MywxNSBAQCB2b2lkIFNXU2VydmVyOjpkaWRGaW5pc2hBY3RpdmF0aW9uKFNXU2VydmVyV29y
a2VyJiB3b3JrZXIpCiAgICAgaWYgKCFyZWdpc3RyYXRpb24pCiAgICAgICAgIHJldHVybjsKIAor
ICAgIHN0b3JlUmVnaXN0cmF0aW9uRm9yV29ya2VyKHdvcmtlcik7CisKKyAgICByZWdpc3RyYXRp
b24tPmRpZEZpbmlzaEFjdGl2YXRpb24od29ya2VyLmlkZW50aWZpZXIoKSk7Cit9CisKK3ZvaWQg
U1dTZXJ2ZXI6OnN0b3JlUmVnaXN0cmF0aW9uRm9yV29ya2VyKFNXU2VydmVyV29ya2VyJiB3b3Jr
ZXIpCit7CiAgICAgaWYgKG1fcmVnaXN0cmF0aW9uU3RvcmUpCiAgICAgICAgIG1fcmVnaXN0cmF0
aW9uU3RvcmUtPnVwZGF0ZVJlZ2lzdHJhdGlvbih3b3JrZXIuY29udGV4dERhdGEoKSk7Ci0gICAg
cmVnaXN0cmF0aW9uLT5kaWRGaW5pc2hBY3RpdmF0aW9uKHdvcmtlci5pZGVudGlmaWVyKCkpOwog
fQogCiAvLyBodHRwczovL3czYy5naXRodWIuaW8vU2VydmljZVdvcmtlci8jY2xpZW50cy1nZXRh
bGwKQEAgLTY3NSw3ICs2ODEsNyBAQCB2b2lkIFNXU2VydmVyOjpyZW1vdmVDbGllbnRTZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uKENvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIFNlcgogCiB2b2lkIFNX
U2VydmVyOjp1cGRhdGVXb3JrZXIoY29uc3QgU2VydmljZVdvcmtlckpvYkRhdGFJZGVudGlmaWVy
JiBqb2JEYXRhSWRlbnRpZmllciwgU1dTZXJ2ZXJSZWdpc3RyYXRpb24mIHJlZ2lzdHJhdGlvbiwg
Y29uc3QgVVJMJiB1cmwsIGNvbnN0IFNjcmlwdEJ1ZmZlciYgc2NyaXB0LCBjb25zdCBDZXJ0aWZp
Y2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbywgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVz
cG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJpdHlQb2xpY3ksIGNvbnN0IENyb3NzT3JpZ2luRW1i
ZWRkZXJQb2xpY3kmIGNvZXAsIGNvbnN0IFN0cmluZyYgcmVmZXJyZXJQb2xpY3ksIFdvcmtlclR5
cGUgdHlwZSwgSGFzaE1hcDxVUkwsIFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YTo6SW1wb3J0ZWRT
Y3JpcHQ+JiYgc2NyaXB0UmVzb3VyY2VNYXAsIHN0ZDo6b3B0aW9uYWw8U2NyaXB0RXhlY3V0aW9u
Q29udGV4dElkZW50aWZpZXI+IHNlcnZpY2VXb3JrZXJQYWdlSWRlbnRpZmllcikKIHsKLSAgICB0
cnlJbnN0YWxsQ29udGV4dERhdGEoU2VydmljZVdvcmtlckNvbnRleHREYXRhIHsgam9iRGF0YUlk
ZW50aWZpZXIsIHJlZ2lzdHJhdGlvbi5kYXRhKCksIFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyOjpn
ZW5lcmF0ZSgpLCBzY3JpcHQsIGNlcnRpZmljYXRlSW5mbywgY29udGVudFNlY3VyaXR5UG9saWN5
LCBjb2VwLCByZWZlcnJlclBvbGljeSwgdXJsLCB0eXBlLCBmYWxzZSwgY2xpZW50SXNBcHBJbml0
aWF0ZWRGb3JSZWdpc3RyYWJsZURvbWFpbihSZWdpc3RyYWJsZURvbWFpbih1cmwpKSwgV1RGTW92
ZShzY3JpcHRSZXNvdXJjZU1hcCksIHNlcnZpY2VXb3JrZXJQYWdlSWRlbnRpZmllciB9KTsKKyAg
ICB0cnlJbnN0YWxsQ29udGV4dERhdGEoU2VydmljZVdvcmtlckNvbnRleHREYXRhIHsgam9iRGF0
YUlkZW50aWZpZXIsIHJlZ2lzdHJhdGlvbi5kYXRhKCksIFNlcnZpY2VXb3JrZXJJZGVudGlmaWVy
OjpnZW5lcmF0ZSgpLCBzY3JpcHQsIGNlcnRpZmljYXRlSW5mbywgY29udGVudFNlY3VyaXR5UG9s
aWN5LCBjb2VwLCByZWZlcnJlclBvbGljeSwgdXJsLCB0eXBlLCBmYWxzZSwgY2xpZW50SXNBcHBJ
bml0aWF0ZWRGb3JSZWdpc3RyYWJsZURvbWFpbihSZWdpc3RyYWJsZURvbWFpbih1cmwpKSwgV1RG
TW92ZShzY3JpcHRSZXNvdXJjZU1hcCksIHNlcnZpY2VXb3JrZXJQYWdlSWRlbnRpZmllciwgeyB9
IH0pOwogfQogCiBMYXN0TmF2aWdhdGlvbldhc0FwcEluaXRpYXRlZCBTV1NlcnZlcjo6Y2xpZW50
SXNBcHBJbml0aWF0ZWRGb3JSZWdpc3RyYWJsZURvbWFpbihjb25zdCBSZWdpc3RyYWJsZURvbWFp
biYgZG9tYWluKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3Nl
cnZlci9TV1NlcnZlci5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9T
V1NlcnZlci5oCmluZGV4IDQ1MjJmMzQzY2FmZTA0ODc3YWEwOTA1NTUzZjFlODY1NmEwMjNkM2Eu
LmIxNWYxYWY1ZTBlZDcyYWFhMWRkYmRhOWEyZmZlM2ZiMjlhYjEzODcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmgKQEAgLTE5NCw2ICsx
OTQsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBkaWRTYXZlV29ya2VyU2NyaXB0c1RvRGlzayhTZXJ2
aWNlV29ya2VySWRlbnRpZmllciwgU2NyaXB0QnVmZmVyJiYgbWFpblNjcmlwdCwgSGFzaE1hcDxV
UkwsIFNjcmlwdEJ1ZmZlcj4mJiBpbXBvcnRlZFNjcmlwdHMpOwogICAgIHZvaWQgcmVnaXN0cmF0
aW9uU3RvcmVJbXBvcnRDb21wbGV0ZSgpOwogICAgIHZvaWQgcmVnaXN0cmF0aW9uU3RvcmVEYXRh
YmFzZUZhaWxlZFRvT3BlbigpOworICAgIHZvaWQgc3RvcmVSZWdpc3RyYXRpb25Gb3JXb3JrZXIo
U1dTZXJ2ZXJXb3JrZXImKTsKIAogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZ2V0T3JpZ2luc1dp
dGhSZWdpc3RyYXRpb25zKEZ1bmN0aW9uPHZvaWQoY29uc3QgSGFzaFNldDxTZWN1cml0eU9yaWdp
bkRhdGE+Jik+JiYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZp
Y2Uvc2VydmVyL1NXU2VydmVySm9iUXVldWUuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9z
ZXJ2aWNlL3NlcnZlci9TV1NlcnZlckpvYlF1ZXVlLmNwcAppbmRleCBkNjBmZjAwOTliYTFjOGMw
OGNhMWU3YTYyMmQ2Zjg3NDFhZmZhYzk3Li5hMzI5NzhmNzk1YzE2MmMxMTZmMDNjZmU3ZWI1Yjg0
YzE5ZmExNGFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2Vy
dmVyL1NXU2VydmVySm9iUXVldWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vy
dmljZS9zZXJ2ZXIvU1dTZXJ2ZXJKb2JRdWV1ZS5jcHAKQEAgLTI5Nyw3ICsyOTcsNyBAQCB2b2lk
IFNXU2VydmVySm9iUXVldWU6OnJ1blJlZ2lzdGVySm9iKGNvbnN0IFNlcnZpY2VXb3JrZXJKb2JE
YXRhJiBqb2IpCiAgICAgICAgICAgICByZWdpc3RyYXRpb24tPnNldFVwZGF0ZVZpYUNhY2hlKGpv
Yi5yZWdpc3RyYXRpb25PcHRpb25zLnVwZGF0ZVZpYUNhY2hlKTsKICAgICAgICAgUkVMRUFTRV9M
T0coU2VydmljZVdvcmtlciwgIiVwIC0gU1dTZXJ2ZXJKb2JRdWV1ZTo6cnVuUmVnaXN0ZXJKb2I6
IEZvdW5kIHJlZ2lzdHJhdGlvbiAlbGx1IGZvciBqb2IgJXMgYnV0IGl0IG5lZWRzIHVwZGF0aW5n
IiwgdGhpcywgcmVnaXN0cmF0aW9uLT5pZGVudGlmaWVyKCkudG9VSW50NjQoKSwgam9iLmlkZW50
aWZpZXIoKS5sb2dnaW5nU3RyaW5nKCkudXRmOCgpLmRhdGEoKSk7CiAgICAgfSBlbHNlIHsKLSAg
ICAgICAgYXV0byBuZXdSZWdpc3RyYXRpb24gPSBtYWtlVW5pcXVlPFNXU2VydmVyUmVnaXN0cmF0
aW9uPihtX3NlcnZlciwgbV9yZWdpc3RyYXRpb25LZXksIGpvYi5yZWdpc3RyYXRpb25PcHRpb25z
LnVwZGF0ZVZpYUNhY2hlLCBqb2Iuc2NvcGVVUkwsIGpvYi5zY3JpcHRVUkwsIGpvYi5zZXJ2aWNl
V29ya2VyUGFnZUlkZW50aWZpZXIoKSk7CisgICAgICAgIGF1dG8gbmV3UmVnaXN0cmF0aW9uID0g
bWFrZVVuaXF1ZTxTV1NlcnZlclJlZ2lzdHJhdGlvbj4obV9zZXJ2ZXIsIG1fcmVnaXN0cmF0aW9u
S2V5LCBqb2IucmVnaXN0cmF0aW9uT3B0aW9ucy51cGRhdGVWaWFDYWNoZSwgam9iLnNjb3BlVVJM
LCBqb2Iuc2NyaXB0VVJMLCBqb2Iuc2VydmljZVdvcmtlclBhZ2VJZGVudGlmaWVyKCksIE5hdmln
YXRpb25QcmVsb2FkU3RhdGU6OmRlZmF1bHRWYWx1ZSgpKTsKICAgICAgICAgbV9zZXJ2ZXIuYWRk
UmVnaXN0cmF0aW9uKFdURk1vdmUobmV3UmVnaXN0cmF0aW9uKSk7CiAKICAgICAgICAgUkVMRUFT
RV9MT0coU2VydmljZVdvcmtlciwgIiVwIC0gU1dTZXJ2ZXJKb2JRdWV1ZTo6cnVuUmVnaXN0ZXJK
b2I6IE5vIGV4aXN0aW5nIHJlZ2lzdHJhdGlvbiBmb3Igam9iICVzLCBjb25zdHJ1Y3RpbmcgYSBu
ZXcgb25lLiIsIHRoaXMsIGpvYi5pZGVudGlmaWVyKCkubG9nZ2luZ1N0cmluZygpLnV0ZjgoKS5k
YXRhKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZl
ci9TV1NlcnZlclJlZ2lzdHJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZp
Y2Uvc2VydmVyL1NXU2VydmVyUmVnaXN0cmF0aW9uLmNwcAppbmRleCBlYzdiM2JjMzIxYzczMDcx
OWRkOTUzMjZjYzQ1YjhmZWJjMWNiMjc1Li4zM2I1YjM5OGU0ZmRlMDc4NjgxYjNmNDk4MzdlNDhj
ODU4MmEyMjcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2Vy
dmVyL1NXU2VydmVyUmVnaXN0cmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyUmVnaXN0cmF0aW9uLmNwcApAQCAtNDMsNyArNDMsNyBA
QCBzdGF0aWMgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIgZ2VuZXJhdGVTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbgogICAgIHJldHVybiBTZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uSWRlbnRpZmllcjo6Z2VuZXJhdGUoKTsKIH0KIAotU1dTZXJ2ZXJSZWdpc3RyYXRpb246
OlNXU2VydmVyUmVnaXN0cmF0aW9uKFNXU2VydmVyJiBzZXJ2ZXIsIGNvbnN0IFNlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb25LZXkmIGtleSwgU2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlIHVwZGF0
ZVZpYUNhY2hlLCBjb25zdCBVUkwmIHNjb3BlVVJMLCBjb25zdCBVUkwmIHNjcmlwdFVSTCwgc3Rk
OjpvcHRpb25hbDxTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllcj4gc2VydmljZVdvcmtl
clBhZ2VJZGVudGlmaWVyKQorU1dTZXJ2ZXJSZWdpc3RyYXRpb246OlNXU2VydmVyUmVnaXN0cmF0
aW9uKFNXU2VydmVyJiBzZXJ2ZXIsIGNvbnN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkm
IGtleSwgU2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlIHVwZGF0ZVZpYUNhY2hlLCBjb25zdCBV
UkwmIHNjb3BlVVJMLCBjb25zdCBVUkwmIHNjcmlwdFVSTCwgc3RkOjpvcHRpb25hbDxTY3JpcHRF
eGVjdXRpb25Db250ZXh0SWRlbnRpZmllcj4gc2VydmljZVdvcmtlclBhZ2VJZGVudGlmaWVyLCBO
YXZpZ2F0aW9uUHJlbG9hZFN0YXRlJiYgbmF2aWdhdGlvblByZWxvYWRTdGF0ZSkKICAgICA6IG1f
aWRlbnRpZmllcihnZW5lcmF0ZVNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyKCkp
CiAgICAgLCBtX3JlZ2lzdHJhdGlvbktleShrZXkpCiAgICAgLCBtX3VwZGF0ZVZpYUNhY2hlKHVw
ZGF0ZVZpYUNhY2hlKQpAQCAtNTMsOSArNTMsOSBAQCBTV1NlcnZlclJlZ2lzdHJhdGlvbjo6U1dT
ZXJ2ZXJSZWdpc3RyYXRpb24oU1dTZXJ2ZXImIHNlcnZlciwgY29uc3QgU2VydmljZVdvcmtlcgog
ICAgICwgbV9zZXJ2ZXIoc2VydmVyKQogICAgICwgbV9jcmVhdGlvblRpbWUoTW9ub3RvbmljVGlt
ZTo6bm93KCkpCiAgICAgLCBtX3NvZnRVcGRhdGVUaW1lciB7ICp0aGlzLCAmU1dTZXJ2ZXJSZWdp
c3RyYXRpb246OnNvZnRVcGRhdGUgfQorICAgICwgbV9wcmVsb2FkU3RhdGUoV1RGTW92ZShuYXZp
Z2F0aW9uUHJlbG9hZFN0YXRlKSkKIHsKICAgICBtX3Njb3BlVVJMLnJlbW92ZUZyYWdtZW50SWRl
bnRpZmllcigpOwotICAgIG1fcHJlbG9hZFN0YXRlLmhlYWRlclZhbHVlID0gInRydWUiX3M7CiB9
CiAKIFNXU2VydmVyUmVnaXN0cmF0aW9uOjp+U1dTZXJ2ZXJSZWdpc3RyYXRpb24oKQpAQCAtMzg3
LDMyICszODcsMzUgQEAgdm9pZCBTV1NlcnZlclJlZ2lzdHJhdGlvbjo6c2NoZWR1bGVTb2Z0VXBk
YXRlKElzQXBwSW5pdGlhdGVkIGlzQXBwSW5pdGlhdGVkKQogLy8gaHR0cHM6Ly93M2MuZ2l0aHVi
LmlvL1NlcnZpY2VXb3JrZXIvI2RvbS1uYXZpZ2F0aW9ucHJlbG9hZG1hbmFnZXItZW5hYmxlLCBz
dGVwcyBydW4gaW4gcGFyYWxsZWwuCiBzdGQ6Om9wdGlvbmFsPEV4Y2VwdGlvbkRhdGE+IFNXU2Vy
dmVyUmVnaXN0cmF0aW9uOjplbmFibGVOYXZpZ2F0aW9uUHJlbG9hZCgpCiB7Ci0gICAgLy8gRklY
TUU6IFBlcnNpc3QgdGhpcyBkYXRhLgogICAgIGlmICghbV9hY3RpdmVXb3JrZXIpCiAgICAgICAg
IHJldHVybiBFeGNlcHRpb25EYXRhIHsgSW52YWxpZFN0YXRlRXJyb3IsICJObyBhY3RpdmUgd29y
a2VyIl9zIH07CisKICAgICBtX3ByZWxvYWRTdGF0ZS5lbmFibGVkID0gdHJ1ZTsKKyAgICBtX3Nl
cnZlci5zdG9yZVJlZ2lzdHJhdGlvbkZvcldvcmtlcigqbV9hY3RpdmVXb3JrZXIpOwogICAgIHJl
dHVybiB7IH07CiB9CiAKIC8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9TZXJ2aWNlV29ya2VyLyNk
b20tbmF2aWdhdGlvbnByZWxvYWRtYW5hZ2VyLWRpc2FibGUsIHN0ZXBzIHJ1biBpbiBwYXJhbGxl
bC4KIHN0ZDo6b3B0aW9uYWw8RXhjZXB0aW9uRGF0YT4gU1dTZXJ2ZXJSZWdpc3RyYXRpb246OmRp
c2FibGVOYXZpZ2F0aW9uUHJlbG9hZCgpCiB7Ci0gICAgLy8gRklYTUU6IFBlcnNpc3QgdGhpcyBk
YXRhLgogICAgIGlmICghbV9hY3RpdmVXb3JrZXIpCiAgICAgICAgIHJldHVybiBFeGNlcHRpb25E
YXRhIHsgSW52YWxpZFN0YXRlRXJyb3IsICJObyBhY3RpdmUgd29ya2VyIl9zIH07CisKICAgICBt
X3ByZWxvYWRTdGF0ZS5lbmFibGVkID0gZmFsc2U7CisgICAgbV9zZXJ2ZXIuc3RvcmVSZWdpc3Ry
YXRpb25Gb3JXb3JrZXIoKm1fYWN0aXZlV29ya2VyKTsKICAgICByZXR1cm4geyB9OwogfQogCiAv
LyBodHRwczovL3czYy5naXRodWIuaW8vU2VydmljZVdvcmtlci8jZG9tLW5hdmlnYXRpb25wcmVs
b2FkbWFuYWdlci1zZXRoZWFkZXJ2YWx1ZSwgc3RlcHMgcnVuIGluIHBhcmFsbGVsLgogc3RkOjpv
cHRpb25hbDxFeGNlcHRpb25EYXRhPiBTV1NlcnZlclJlZ2lzdHJhdGlvbjo6c2V0TmF2aWdhdGlv
blByZWxvYWRIZWFkZXJWYWx1ZShTdHJpbmcmJiBoZWFkZXJWYWx1ZSkKIHsKLSAgICAvLyBGSVhN
RTogUGVyc2lzdCB0aGlzIGRhdGEuCiAgICAgaWYgKCFpc1ZhbGlkSFRUUEhlYWRlclZhbHVlKGhl
YWRlclZhbHVlKSkKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbkRhdGEgeyBUeXBlRXJyb3IsICJJ
bnZhbGlkIGhlYWRlciB2YWx1ZSJfcyB9OwogICAgIGlmICghbV9hY3RpdmVXb3JrZXIpCiAgICAg
ICAgIHJldHVybiBFeGNlcHRpb25EYXRhIHsgSW52YWxpZFN0YXRlRXJyb3IsICJObyBhY3RpdmUg
d29ya2VyIl9zIH07CisKICAgICBtX3ByZWxvYWRTdGF0ZS5oZWFkZXJWYWx1ZSA9IFdURk1vdmUo
aGVhZGVyVmFsdWUpOworICAgIG1fc2VydmVyLnN0b3JlUmVnaXN0cmF0aW9uRm9yV29ya2VyKCpt
X2FjdGl2ZVdvcmtlcik7CiAgICAgcmV0dXJuIHsgfTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlclJlZ2lzdHJhdGlvbi5oIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlclJlZ2lzdHJhdGlv
bi5oCmluZGV4IDkxOGI4ZTczYThkYzFhNzMxYzhhNDU3OGE5Y2NkZGMyYjdjMThiNDQuLmY2NDI0
NmJjNDEwYTRiMGIyYWNhYjdkZDdiMDliNzAxNTFhOTkxZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJSZWdpc3RyYXRpb24uaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyUmVnaXN0cmF0
aW9uLmgKQEAgLTUzLDcgKzUzLDcgQEAgZW51bSBjbGFzcyBJc0FwcEluaXRpYXRlZCA6IGJvb2wg
eyBObywgWWVzIH07CiBjbGFzcyBTV1NlcnZlclJlZ2lzdHJhdGlvbiA6IHB1YmxpYyBDYW5NYWtl
V2Vha1B0cjxTV1NlcnZlclJlZ2lzdHJhdGlvbj4gewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogcHVibGljOgotICAgIFNXU2VydmVyUmVnaXN0cmF0aW9uKFNXU2VydmVyJiwgY29uc3Qg
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleSYsIFNlcnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNo
ZSwgY29uc3QgVVJMJiBzY29wZVVSTCwgY29uc3QgVVJMJiBzY3JpcHRVUkwsIHN0ZDo6b3B0aW9u
YWw8U2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXI+IHNlcnZpY2VXb3JrZXJQYWdlSWRl
bnRpZmllcik7CisgICAgU1dTZXJ2ZXJSZWdpc3RyYXRpb24oU1dTZXJ2ZXImLCBjb25zdCBTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5JiwgU2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlLCBj
b25zdCBVUkwmIHNjb3BlVVJMLCBjb25zdCBVUkwmIHNjcmlwdFVSTCwgc3RkOjpvcHRpb25hbDxT
Y3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllcj4gc2VydmljZVdvcmtlclBhZ2VJZGVudGlm
aWVyLCBOYXZpZ2F0aW9uUHJlbG9hZFN0YXRlJiYpOwogICAgIH5TV1NlcnZlclJlZ2lzdHJhdGlv
bigpOwogCiAgICAgY29uc3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleSYga2V5KCkgY29u
c3QgeyByZXR1cm4gbV9yZWdpc3RyYXRpb25LZXk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJXb3JrZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlcldvcmtlci5jcHAKaW5kZXggYjY3
YmE5YTk2NDM1NGYwZDZkZGFmOGJmZjY5ZWJiMWU3ZTBkMGQ4Zi4uNWQxNTU2YTAwNmRhYjE1MTY3
NjUxYTIzZGYyZmIzMzMwNDdmNmI0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlcldvcmtlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlcldvcmtlci5jcHAKQEAgLTg4LDcgKzg4LDcg
QEAgU2VydmljZVdvcmtlckNvbnRleHREYXRhIFNXU2VydmVyV29ya2VyOjpjb250ZXh0RGF0YSgp
IGNvbnN0CiB7CiAgICAgQVNTRVJUKG1fcmVnaXN0cmF0aW9uKTsKIAotICAgIHJldHVybiB7IHN0
ZDo6bnVsbG9wdCwgbV9yZWdpc3RyYXRpb24tPmRhdGEoKSwgbV9kYXRhLmlkZW50aWZpZXIsIG1f
c2NyaXB0LCBtX2NlcnRpZmljYXRlSW5mbywgbV9jb250ZW50U2VjdXJpdHlQb2xpY3ksIG1fY3Jv
c3NPcmlnaW5FbWJlZGRlclBvbGljeSwgbV9yZWZlcnJlclBvbGljeSwgbV9kYXRhLnNjcmlwdFVS
TCwgbV9kYXRhLnR5cGUsIGZhbHNlLCBtX2xhc3ROYXZpZ2F0aW9uV2FzQXBwSW5pdGlhdGVkLCBt
X3NjcmlwdFJlc291cmNlTWFwLCBtX3JlZ2lzdHJhdGlvbi0+c2VydmljZVdvcmtlclBhZ2VJZGVu
dGlmaWVyKCkgfTsKKyAgICByZXR1cm4geyBzdGQ6Om51bGxvcHQsIG1fcmVnaXN0cmF0aW9uLT5k
YXRhKCksIG1fZGF0YS5pZGVudGlmaWVyLCBtX3NjcmlwdCwgbV9jZXJ0aWZpY2F0ZUluZm8sIG1f
Y29udGVudFNlY3VyaXR5UG9saWN5LCBtX2Nyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3ksIG1fcmVm
ZXJyZXJQb2xpY3ksIG1fZGF0YS5zY3JpcHRVUkwsIG1fZGF0YS50eXBlLCBmYWxzZSwgbV9sYXN0
TmF2aWdhdGlvbldhc0FwcEluaXRpYXRlZCwgbV9zY3JpcHRSZXNvdXJjZU1hcCwgbV9yZWdpc3Ry
YXRpb24tPnNlcnZpY2VXb3JrZXJQYWdlSWRlbnRpZmllcigpLCBtX3JlZ2lzdHJhdGlvbi0+bmF2
aWdhdGlvblByZWxvYWRTdGF0ZSgpIH07CiB9CiAKIHZvaWQgU1dTZXJ2ZXJXb3JrZXI6OnVwZGF0
ZUFwcEluaXRpYXRlZFZhbHVlKExhc3ROYXZpZ2F0aW9uV2FzQXBwSW5pdGlhdGVkIGxhc3ROYXZp
Z2F0aW9uV2FzQXBwSW5pdGlhdGVkKQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9v
bHMvQ2hhbmdlTG9nCmluZGV4IDhkYWE5ZDc0ZjBhNzgyYTI5MjcyMzk4YmNhYmE3YTUzYTZhZDc1
NGYuLjE3MzU3NTdkMTMwYjA0ZGU0NjM3YThlNGM5NGJlZDA3NzJlOTM2ZDEgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAor
MjAyMS0xMi0wMyAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAg
UGVyc2lzdCBOYXZpZ2F0aW9uUHJlbG9hZFN0YXRlIGluIHNlcnZpY2Ugd29ya2VyIHJlZ2lzdHJh
dGlvbiBkYXRhYmFzZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjMzNjk4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84NTk2MzEyMD4KKworICAgICAg
ICBSZXZpZXdlZCBieSBDaHJpcyBEdW1lei4KKworICAgICAgICBJbmNyZWFzZSBjb3VudGVyIGZy
b20gNyB0byA4LgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9T
ZXJ2aWNlV29ya2VyQmFzaWMubW06CisKIDIwMjEtMTItMDEgIFNpaHVpIExpdSAgPHNpaHVpX2xp
dUBhcHBsZS5jb20+CiAKICAgICAgICAgRmlsZVN5c3RlbVN5bmNBY2Nlc3NIYW5kbGUgc2hvdWxk
IGJlIGludmFsaWRhdGVkIHdoZW4gbmV0d29yayBwcm9jZXNzIGNyYXNoZXMKZGlmZiAtLWdpdCBh
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvU2VydmljZVdvcmtlckJhc2lj
Lm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9TZXJ2aWNlV29ya2Vy
QmFzaWMubW0KaW5kZXggZTliNGVlOGMwYjY4ZmY2OGVmZTE5MmQ2YWIwNjViMTJmYjlhZmZmNy4u
Yjg1MDg5NjJiZjg4MzhkNmYyODVlZjQ1ODQ2YjdhODVmYjliNGI3OCAxMDA2NDQKLS0tIGEvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9TZXJ2aWNlV29ya2VyQmFzaWMubW0K
KysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9TZXJ2aWNlV29ya2Vy
QmFzaWMubW0KQEAgLTU5LDYgKzU5LDcgQEAKICNpbXBvcnQgPHd0Zi90ZXh0L1N0cmluZ0hhc2gu
aD4KICNpbXBvcnQgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCitzdGF0aWMgTlNTdHJpbmcgKnNl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb25GaWxlbmFtZSA9IEAiU2VydmljZVdvcmtlclJlZ2lzdHJh
dGlvbnMtOC5zcWxpdGUzIjsKIHN0YXRpYyBib29sIHNlcnZpY2VXb3JrZXJHbG9iYWxPYmplY3RJ
c0F2YWlsYWJsZTsKIAogc3RhdGljIFN0cmluZyBleHBlY3RlZE1lc3NhZ2U7CkBAIC0yMDE2LDcg
KzIwMTcsNyBAQCBURVNUKFNlcnZpY2VXb3JrZXJzLCBTdXNwZW5kTmV0d29ya1Byb2Nlc3MpCiAg
ICAgYXV0byBwYXRoID0gc3RvcmUuX2NvbmZpZ3VyYXRpb24uX3NlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb25EaXJlY3RvcnkucGF0aDsKIAogICAgIE5TVVJMKiBkaXJlY3RvcnkgPSBbTlNVUkwgZmls
ZVVSTFdpdGhQYXRoOnBhdGggaXNEaXJlY3Rvcnk6WUVTXTsKLSAgICBOU1VSTCAqc3dEQlBhdGgg
PSBbZGlyZWN0b3J5IFVSTEJ5QXBwZW5kaW5nUGF0aENvbXBvbmVudDpAIlNlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb25zLTcuc3FsaXRlMyJdOworICAgIE5TVVJMICpzd0RCUGF0aCA9IFtkaXJlY3Rv
cnkgVVJMQnlBcHBlbmRpbmdQYXRoQ29tcG9uZW50OnNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25G
aWxlbmFtZV07CiAKICAgICB1bnNpZ25lZCB0aW1lb3V0ID0gMDsKICAgICB3aGlsZSAoIVtbTlNG
aWxlTWFuYWdlciBkZWZhdWx0TWFuYWdlcl0gZmlsZUV4aXN0c0F0UGF0aDpzd0RCUGF0aC5wYXRo
XSAmJiArK3RpbWVvdXQgPCAxMDApCkBAIC0yMDQ3LDcgKzIwNDgsNyBAQCBURVNUKFdlYktpdCwg
U2VydmljZVdvcmtlckRhdGFiYXNlV2l0aFJlY29yZHNUYWJsZUJ1dFVuZXhwZWN0ZWRTY2hlbWEp
CiAgICAgRVhQRUNUX0ZBTFNFKFtbTlNGaWxlTWFuYWdlciBkZWZhdWx0TWFuYWdlcl0gZmlsZUV4
aXN0c0F0UGF0aDpzd1BhdGgucGF0aF0pOwogCiAgICAgW1tOU0ZpbGVNYW5hZ2VyIGRlZmF1bHRN
YW5hZ2VyXSBjcmVhdGVEaXJlY3RvcnlBdFVSTDpzd1BhdGggd2l0aEludGVybWVkaWF0ZURpcmVj
dG9yaWVzOllFUyBhdHRyaWJ1dGVzOm5pbCBlcnJvcjpuaWxdOwotICAgIFtbTlNGaWxlTWFuYWdl
ciBkZWZhdWx0TWFuYWdlcl0gY29weUl0ZW1BdFVSTDp1cmwxIHRvVVJMOltzd1BhdGggVVJMQnlB
cHBlbmRpbmdQYXRoQ29tcG9uZW50OkAiU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbnMtNy5zcWxp
dGUzIl0gZXJyb3I6bmlsXTsKKyAgICBbW05TRmlsZU1hbmFnZXIgZGVmYXVsdE1hbmFnZXJdIGNv
cHlJdGVtQXRVUkw6dXJsMSB0b1VSTDpbc3dQYXRoIFVSTEJ5QXBwZW5kaW5nUGF0aENvbXBvbmVu
dDpzZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRmlsZW5hbWVdIGVycm9yOm5pbF07CiAKICAgICBh
dXRvIHdlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uID0gYWRvcHROUyhbW19XS1dlYnNpdGVE
YXRhU3RvcmVDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7CiAgICAgd2Vic2l0ZURhdGFTdG9y
ZUNvbmZpZ3VyYXRpb24uZ2V0KCkuX3NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EaXJlY3Rvcnkg
PSBzd1BhdGg7CkBAIC0yNDQ5LDkgKzI0NTAsOSBAQCBURVNUKFNlcnZpY2VXb3JrZXJzLCBDdXN0
b21EYXRhU3RvcmVQYXRoc1ZlcnN1c0NvbXBsZXRpb25IYW5kbGVycykKICAgICBkb25lID0gZmFs
c2U7CiAKICAgICB1bnNpZ25lZCB0aW1lb3V0ID0gMDsKLSAgICB3aGlsZSAoIVtbTlNGaWxlTWFu
YWdlciBkZWZhdWx0TWFuYWdlcl0gZmlsZUV4aXN0c0F0UGF0aDpbc3dQYXRoIFVSTEJ5QXBwZW5k
aW5nUGF0aENvbXBvbmVudDpAIlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25zLTcuc3FsaXRlMyJd
LnBhdGhdICYmICsrdGltZW91dCA8IDIwKQorICAgIHdoaWxlICghW1tOU0ZpbGVNYW5hZ2VyIGRl
ZmF1bHRNYW5hZ2VyXSBmaWxlRXhpc3RzQXRQYXRoOltzd1BhdGggVVJMQnlBcHBlbmRpbmdQYXRo
Q29tcG9uZW50OnNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25GaWxlbmFtZV0ucGF0aF0gJiYgKyt0
aW1lb3V0IDwgMjApCiAgICAgICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnNsZWVwKDAuMSk7Ci0g
ICAgRVhQRUNUX1RSVUUoW1tOU0ZpbGVNYW5hZ2VyIGRlZmF1bHRNYW5hZ2VyXSBmaWxlRXhpc3Rz
QXRQYXRoOltzd1BhdGggVVJMQnlBcHBlbmRpbmdQYXRoQ29tcG9uZW50OkAiU2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbnMtNy5zcWxpdGUzIl0ucGF0aF0pOworICAgIEVYUEVDVF9UUlVFKFtbTlNG
aWxlTWFuYWdlciBkZWZhdWx0TWFuYWdlcl0gZmlsZUV4aXN0c0F0UGF0aDpbc3dQYXRoIFVSTEJ5
QXBwZW5kaW5nUGF0aENvbXBvbmVudDpzZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRmlsZW5hbWVd
LnBhdGhdKTsKIAogICAgIC8vIEZldGNoIFNXIHJlY29yZHMKICAgICBhdXRvIHdlYnNpdGVEYXRh
VHlwZXMgPSBhZG9wdE5TKFtbTlNTZXQgYWxsb2NdIGluaXRXaXRoQXJyYXk6QFtXS1dlYnNpdGVE
YXRhVHlwZVNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25zXV0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDA2YjY4ZDZiM2I1
ZjFmNmVjY2RkZTAyY2JlN2UxNjM1YTdhYTJhOWEuLjUyNzAxY2M5ZjRkZGNlMzA1MDlhZmY5ZWFj
YTJkODI2OTU3YmQxZWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAyMS0xMi0wMyAgWW91ZW5u
IEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgUGVyc2lzdCBOYXZpZ2F0aW9u
UHJlbG9hZFN0YXRlIGluIHNlcnZpY2Ugd29ya2VyIHJlZ2lzdHJhdGlvbiBkYXRhYmFzZQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzNjk4CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgQ2hyaXMgRHVtZXouCisKKyAgICAgICAgKiBodHRwL3dwdC9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXItbmV0d29ya3Byb2Nlc3MtY3Jhc2gtZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIGh0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci1u
ZXR3b3JrcHJvY2Vzcy1jcmFzaC5odG1sOgorCiAyMDIxLTEyLTAxICBZb3Vlbm4gRmFibGV0ICA8
eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgc3VwcG9ydCBmb3IgTmF2aWdhdGlvblBy
ZWxvYWRNYW5hZ2VyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXItbmV0d29ya3Byb2Nlc3MtY3Jhc2gtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaHR0cC93cHQvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyLW5ldHdv
cmtwcm9jZXNzLWNyYXNoLWV4cGVjdGVkLnR4dAppbmRleCA3MmNjMjM4ZTIxY2MzNmE1MjdjYmEy
MjYxYmU5OTk0ZDY1YWNmZGFkLi43MTQ4MGUyY2RkYTAxN2Q0MzMwMzllMTg4NDRmNzBlNzkxMzI1
YTUzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXItbmV0d29ya3Byb2Nlc3MtY3Jhc2gtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci1uZXR3b3JrcHJv
Y2Vzcy1jcmFzaC1leHBlY3RlZC50eHQKQEAgLTEsNSArMSw0IEBACiAKLQogUEFTUyBTZXR1cCB3
b3JrZXIKIFBBU1MgRnJhbWUgYmVpbmcgY29udHJvbGxlZAogUEFTUyBGcmFtZSBiZWluZyBjb250
cm9sbGVkIGFmdGVyIG5ldHdvcmsgcHJvY2VzcyBjcmFzaApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC93cHQvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyLW5ldHdvcmtwcm9jZXNz
LWNyYXNoLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXItbmV0d29ya3Byb2Nlc3MtY3Jhc2guaHRtbAppbmRleCA1M2ExMjA1Y2ZjN2FjMGZk
MzMyMzNkMTZjZjc3YmIzYWMzZmY4ODc3Li43NWMxMGQwYjBhZGE2NjEzNmYwYTUyYmIwN2UyOTM3
MzY0ZGI4OGVkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXItbmV0d29ya3Byb2Nlc3MtY3Jhc2guaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXItbmV0d29ya3Byb2Nl
c3MtY3Jhc2guaHRtbApAQCAtMzUsNyArMzUsMTAgQEAgYXN5bmMgZnVuY3Rpb24gcmVnaXN0ZXJT
ZXJ2aWNlV29ya2VyKCkKIH0KIAogcHJvbWlzZV90ZXN0KGFzeW5jICh0ZXN0KSA9PiB7Ci0gICAg
YXdhaXQgcmVnaXN0ZXJTZXJ2aWNlV29ya2VyKCk7CisgICAgY29uc3QgcmVnaXN0cmF0aW9uID0g
YXdhaXQgcmVnaXN0ZXJTZXJ2aWNlV29ya2VyKCk7CisgICAgLy8gRW5hYmxlIHByZWxvYWQgdG8g
dmFsaWRhdGUgcHJlbG9hZCBwZXJzaXN0ZW5jeS4KKyAgICBhd2FpdCByZWdpc3RyYXRpb24ubmF2
aWdhdGlvblByZWxvYWQuZW5hYmxlKCk7CisgICAgYXdhaXQgcmVnaXN0cmF0aW9uLm5hdmlnYXRp
b25QcmVsb2FkLnNldEhlYWRlclZhbHVlKCJ0ZXN0Iik7CiB9LCAiU2V0dXAgd29ya2VyIik7CiAK
IHByb21pc2VfdGVzdChhc3luYyAodGVzdCkgPT4gewpAQCAtNTQsMTQgKzU3LDIxIEBAIHByb21p
c2VfdGVzdChhc3luYyAodGVzdCkgPT4gewogICAgIGxldCBjb3VudCA9IDA7CiAgICAgd2hpbGUg
KGNvdW50KysgPCAxMDApIHsKICAgICAgICAgY29uc3QgZnJhbWUgPSBhd2FpdCB3aXRoRnJhbWUo
c2NvcGUgKyAiL2VtcHR5Lmh0bWwiKTsKLSAgICAgICAgaWYgKGZyYW1lLmNvbnRlbnRXaW5kb3cu
bmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIuY29udHJvbGxlcikKKyAgICAgICAgaWYgKGZyYW1lLmNv
bnRlbnRXaW5kb3cubmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIuY29udHJvbGxlcikgeworICAgICAg
ICAgICAgZnJhbWUucmVtb3ZlKCk7CiAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQogICAg
ICAgICBmcmFtZS5yZW1vdmUoKTsKICAgICAgICAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9
PiBzZXRUaW1lb3V0KHJlc29sdmUsIDUwKSk7CiAgICAgfQogICAgIGFzc2VydF90cnVlKGNvdW50
IDwgMTAwKTsKIAotICAgIGF3YWl0IG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLmdldFJlZ2lzdHJh
dGlvbihzY29wZSk7CisgICAgY29uc3QgcmVnaXN0cmF0aW9uID0gYXdhaXQgbmF2aWdhdG9yLnNl
cnZpY2VXb3JrZXIuZ2V0UmVnaXN0cmF0aW9uKHNjb3BlKTsKKworICAgIC8vIFZhbGlkYXRlIHBy
ZWxvYWQgcGVyc2lzdGVuY3kuCisgICAgY29uc3Qgc3RhdGUgPSBhd2FpdCByZWdpc3RyYXRpb24u
bmF2aWdhdGlvblByZWxvYWQuZ2V0U3RhdGUoKTsKKyAgICBhc3NlcnRfdHJ1ZShzdGF0ZS5lbmFi
bGVkLCAic3RhdGUuZW5hYmxlZCIpOworICAgIGFzc2VydF9lcXVhbHMoc3RhdGUuaGVhZGVyVmFs
dWUsICJ0ZXN0Iik7CiB9LCAiRnJhbWUgYmVpbmcgY29udHJvbGxlZCBhZnRlciBuZXR3b3JrIHBy
b2Nlc3MgY3Jhc2giKTsKIDwvc2NyaXB0PgogPC9ib2R5Pgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>