<?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>180143</bug_id>
          
          <creation_ts>2017-11-29 08:42:16 -0800</creation_ts>
          <short_desc>ServiceWorkerClient objects should be reused if there is already one existing with the same identifier</short_desc>
          <delta_ts>2017-11-29 17:20:53 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>beidson</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1375831</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-11-29 08:42:16 -0800</bug_when>
    <thetext>ServiceWorkerClient objects should be reused if there is already one existing with the same identifier.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1375931</commentid>
    <comment_count>1</comment_count>
      <attachid>327879</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-11-29 11:19:16 -0800</bug_when>
    <thetext>Created attachment 327879
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1375951</commentid>
    <comment_count>2</comment_count>
      <attachid>327879</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-11-29 11:56:03 -0800</bug_when>
    <thetext>Comment on attachment 327879
Patch

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

&gt; Source/WebCore/workers/service/ServiceWorkerClientIdentifier.h:97
&gt; +    static bool isDeletedValue(const WebCore::ServiceWorkerClientIdentifier&amp; slot) { return slot == WebCore::ServiceWorkerClientIdentifier { }; }

How does it differentiate empty from deleted values? It seems they are both { }, which seems wrong, no?

&gt; Source/WebCore/workers/service/ServiceWorkerGlobalScope.cpp:67
&gt; +Ref&lt;ServiceWorkerClient&gt; ServiceWorkerGlobalScope::getOrCreateServiceWorkerClient(ServiceWorkerClientIdentifier identifier, ServiceWorkerClientData&amp;&amp; data)

For ServiceWorker / ServiceWorkerRegistration, we put the getOrCreate() method on the ServiceWorker / ServiceWorkerRegistration class. Could we follow the same pattern here for consistency?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1375953</commentid>
    <comment_count>3</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-11-29 11:59:14 -0800</bug_when>
    <thetext>(In reply to Chris Dumez from comment #2)
&gt; Comment on attachment 327879 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=327879&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/workers/service/ServiceWorkerClientIdentifier.h:97
&gt; &gt; +    static bool isDeletedValue(const WebCore::ServiceWorkerClientIdentifier&amp; slot) { return slot == WebCore::ServiceWorkerClientIdentifier { }; }
&gt; 
&gt; How does it differentiate empty from deleted values? It seems they are both
&gt; { }, which seems wrong, no?
&gt; 
&gt; &gt; Source/WebCore/workers/service/ServiceWorkerGlobalScope.cpp:67
&gt; &gt; +Ref&lt;ServiceWorkerClient&gt; ServiceWorkerGlobalScope::getOrCreateServiceWorkerClient(ServiceWorkerClientIdentifier identifier, ServiceWorkerClientData&amp;&amp; data)
&gt; 
&gt; For ServiceWorker / ServiceWorkerRegistration, we put the getOrCreate()
&gt; method on the ServiceWorker / ServiceWorkerRegistration class. Could we
&gt; follow the same pattern here for consistency?

And we should probably drop ServiceWorkerClient::create().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1376014</commentid>
    <comment_count>4</comment_count>
      <attachid>327897</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-11-29 13:51:45 -0800</bug_when>
    <thetext>Created attachment 327897
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1376054</commentid>
    <comment_count>5</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-11-29 15:00:15 -0800</bug_when>
    <thetext>(In reply to youenn fablet from comment #4)
&gt; Created attachment 327897 [details]
&gt; Patch

gtk failure is unrelated, patch updated according Chris comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1376063</commentid>
    <comment_count>6</comment_count>
      <attachid>327897</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-11-29 15:18:31 -0800</bug_when>
    <thetext>Comment on attachment 327897
Patch

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

r=me with comment.

&gt; Source/WebCore/workers/service/ServiceWorkerGlobalScope.cpp:67
&gt; +ServiceWorkerClient* ServiceWorkerGlobalScope::getServiceWorkerClient(ServiceWorkerClientIdentifier identifier)

We normally avoid &quot;get&quot; prefix. I think this should be serviceWorkerClient(identifier).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1376100</commentid>
    <comment_count>7</comment_count>
      <attachid>327923</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-11-29 16:31:52 -0800</bug_when>
    <thetext>Created attachment 327923
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1376104</commentid>
    <comment_count>8</comment_count>
      <attachid>327923</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-11-29 16:33:12 -0800</bug_when>
    <thetext>Comment on attachment 327923
Patch for landing

Rejecting attachment 327923 from commit-queue.

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

Last 500 characters of output:
Source/WebCore/workers/service/ServiceWorkerWindowClient.h
patching file Source/WebCore/workers/service/context/ServiceWorkerThread.cpp
patching file LayoutTests/ChangeLog
patching file LayoutTests/http/tests/workers/service/resources/basic-ServiceWorker-postMessage-worker.js
patching file LayoutTests/http/tests/workers/service/resources/basic-ServiceWorker-postMessage.js

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

Full output: http://webkit-queues.webkit.org/results/5410834</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1376113</commentid>
    <comment_count>9</comment_count>
      <attachid>327926</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-11-29 16:46:41 -0800</bug_when>
    <thetext>Created attachment 327926
Rebasing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1376136</commentid>
    <comment_count>10</comment_count>
      <attachid>327926</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-11-29 17:19:29 -0800</bug_when>
    <thetext>Comment on attachment 327926
Rebasing

Clearing flags on attachment: 327926

Committed r225308: &lt;https://trac.webkit.org/changeset/225308&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1376137</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-11-29 17:19:30 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1376139</commentid>
    <comment_count>12</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-11-29 17:20:53 -0800</bug_when>
    <thetext>&lt;rdar://problem/35762146&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>327879</attachid>
            <date>2017-11-29 11:19:16 -0800</date>
            <delta_ts>2017-11-29 13:51:44 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-180143-20171129111916.patch</filename>
            <type>text/plain</type>
            <size>17190</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI1MjY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTZiMDg0MTNkMmMzNTFm
YjUzZjdiYjNiMmQ1M2M3MzI1ZTZjYzM0Mi4uMTg5ZTQ5NGNlN2NkYTE2YjM3YmYxOGUxNWM2MjMz
MzAwOTVkMmI4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDE3LTExLTI5ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBTZXJ2aWNlV29ya2VyQ2xp
ZW50IG9iamVjdHMgc2hvdWxkIGJlIHJldXNlZCBpZiB0aGVyZSBpcyBhbHJlYWR5IG9uZSBleGlz
dGluZyB3aXRoIHRoZSBzYW1lIGlkZW50aWZpZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MDE0MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIENvdmVyZWQgYnkgdXBkYXRlZCB0ZXN0cy4KKworICAgICAg
ICBTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUga2VlcHMgYSBtYXAgb2YgYWxsIGxpdmUgU2Vydmlj
ZVdvcmtlckNsaWVudCBvYmplY3RzLgorICAgICAgICBCZWZvcmUgY3JlYXRpbmcgYSBuZXcgY2xp
ZW50LCBpdCBjaGVja3Mgd2hldGhlciB0aGUgbWFwIGhhcyBvbmUgc3VjaCBvYmplY3Qgd2l0aCB0
aGUgc2FtZSBpZGVudGlmaWVyLgorICAgICAgICBJZiBzbywgaXQgcmV1c2VzIHRoaXMgb2JqZWN0
LiBPdGhlcndpc2UgaXQgY3JlYXRlcyBlaXRoZXIgYSBTZXJ2aWNlV29ya2VyV2luZG93Q2xpZW50
IG9yIFNlcnZpY2VXb3JrZXJDbGllbnQuCisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIHVzaW5n
IGEgU2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXIgYXMgYSBIYXNoTWFwIGtleS4KKworICAg
ICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ2xpZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDbGllbnQ6OlNlcnZpY2VXb3JrZXJDbGllbnQpOgorICAg
ICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVudDo6flNlcnZpY2VXb3JrZXJDbGllbnQp
OgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ2xpZW50Lmg6CisgICAg
ICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ2xpZW50OjpjcmVhdGUpOgorICAgICAgICAqIHdv
cmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllci5oOgorICAgICAgICAo
V2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXI6Omhhc2ggY29uc3QpOgorICAg
ICAgICAoV1RGOjpTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllckhhc2g6Omhhc2gpOgorICAg
ICAgICAoV1RGOjpTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllckhhc2g6OmVxdWFsKToKKyAg
ICAgICAgKFdURjo6SGFzaFRyYWl0czxXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRp
Zmllcj46OmVtcHR5VmFsdWUpOgorICAgICAgICAoV1RGOjpIYXNoVHJhaXRzPFdlYkNvcmU6OlNl
cnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyPjo6Y29uc3RydWN0RGVsZXRlZFZhbHVlKToKKyAg
ICAgICAgKFdURjo6SGFzaFRyYWl0czxXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRp
Zmllcj46OmlzRGVsZXRlZFZhbHVlKToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2Vydmlj
ZVdvcmtlckdsb2JhbFNjb3BlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJH
bG9iYWxTY29wZTo6Z2V0T3JDcmVhdGVTZXJ2aWNlV29ya2VyQ2xpZW50KToKKyAgICAgICAgKFdl
YkNvcmU6OlNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZTo6YWRkU2VydmljZVdvcmtlckNsaWVudCk6
CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGU6OnJlbW92ZVNlcnZp
Y2VXb3JrZXJDbGllbnQpOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2Vy
R2xvYmFsU2NvcGUuaDoKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlcldp
bmRvd0NsaWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyV2luZG93Q2xp
ZW50OjpTZXJ2aWNlV29ya2VyV2luZG93Q2xpZW50KToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZp
Y2UvU2VydmljZVdvcmtlcldpbmRvd0NsaWVudC5oOgorICAgICAgICAqIHdvcmtlcnMvc2Vydmlj
ZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Vy
dmljZVdvcmtlclRocmVhZDo6cG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZSk6
CisKIDIwMTctMTEtMjkgIFphbiBEb2JlcnNlayAgPHpkb2JlcnNla0BpZ2FsaWEuY29tPgogCiAg
ICAgICAgIFtDb29yZEdyYXBoaWNzXSBSZW5hbWUgQ29vcmRpbmF0ZWRCdWZmZXIgdG8gTmljb3Np
YTo6QnVmZmVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vy
dmljZVdvcmtlckNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vy
dmljZVdvcmtlckNsaWVudC5jcHAKaW5kZXggNmYxMmE0MjkzNmQ4NjhlOTI3MDMyMzNkN2JhYjFj
YjAxMjc5MjZjZi4uODNhZjk3ZmY5ZjAzZDdkZTc2MTE3Mjc4ZmMxYjdhNGFkNTY0NmQ3YyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGll
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2Vy
Q2xpZW50LmNwcApAQCAtMzcsMTUgKzM3LDE4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
U2VydmljZVdvcmtlckNsaWVudDo6U2VydmljZVdvcmtlckNsaWVudChTY3JpcHRFeGVjdXRpb25D
b250ZXh0JiBjb250ZXh0LCBTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllciBpZGVudGlmaWVy
LCBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSYmIGRhdGEpCitTZXJ2aWNlV29ya2VyQ2xpZW50OjpT
ZXJ2aWNlV29ya2VyQ2xpZW50KFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZSYgY29udGV4dCwgU2Vy
dmljZVdvcmtlckNsaWVudElkZW50aWZpZXIgaWRlbnRpZmllciwgU2VydmljZVdvcmtlckNsaWVu
dERhdGEmJiBkYXRhKQogICAgIDogQ29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIoJmNvbnRleHQp
CiAgICAgLCBtX2lkZW50aWZpZXIoaWRlbnRpZmllcikKICAgICAsIG1fZGF0YShXVEZNb3ZlKGRh
dGEpKQogeworICAgIGNvbnRleHQuYWRkU2VydmljZVdvcmtlckNsaWVudCgqdGhpcyk7CiB9CiAK
IFNlcnZpY2VXb3JrZXJDbGllbnQ6On5TZXJ2aWNlV29ya2VyQ2xpZW50KCkKIHsKKyAgICBpZiAo
YXV0byogY29udGV4dCA9IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkKKyAgICAgICAgZG93bmNh
c3Q8U2VydmljZVdvcmtlckdsb2JhbFNjb3BlPigqY29udGV4dCkucmVtb3ZlU2VydmljZVdvcmtl
ckNsaWVudCgqdGhpcyk7CiB9CiAKIGNvbnN0IFVSTCYgU2VydmljZVdvcmtlckNsaWVudDo6dXJs
KCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2
aWNlV29ya2VyQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vydmlj
ZVdvcmtlckNsaWVudC5oCmluZGV4IGZiYjkwYjBjMWY3ZDRiZjNlYjNiNzkwOGJmNGY4ZmVhNTcx
NWUzNjMuLmVhNTQ5ODNkMGFlZTIxMzY0MWUxOWEyMzE4NGU1NDhhZGY4ZWE5ZjAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ2xpZW50LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnQu
aApAQCAtMzksNiArMzksOCBAQCBjbGFzcyBKU1ZhbHVlOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKK2NsYXNzIFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZTsKKwogY2xhc3MgU2VydmljZVdvcmtl
ckNsaWVudCA6IHB1YmxpYyBSZWZDb3VudGVkPFNlcnZpY2VXb3JrZXJDbGllbnQ+LCBwdWJsaWMg
Q29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIgewogcHVibGljOgogICAgIHVzaW5nIElkZW50aWZp
ZXIgPSBTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllcjsKQEAgLTQ2LDcgKzQ4LDcgQEAgcHVi
bGljOgogICAgIHVzaW5nIFR5cGUgPSBTZXJ2aWNlV29ya2VyQ2xpZW50VHlwZTsKICAgICB1c2lu
ZyBGcmFtZVR5cGUgPSBTZXJ2aWNlV29ya2VyQ2xpZW50RnJhbWVUeXBlOwogCi0gICAgc3RhdGlj
IFJlZjxTZXJ2aWNlV29ya2VyQ2xpZW50PiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYg
Y29udGV4dCwgU2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXIgaWRlbnRpZmllciwgU2Vydmlj
ZVdvcmtlckNsaWVudERhdGEmJiBkYXRhKQorICAgIHN0YXRpYyBSZWY8U2VydmljZVdvcmtlckNs
aWVudD4gY3JlYXRlKFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZSYgY29udGV4dCwgU2VydmljZVdv
cmtlckNsaWVudElkZW50aWZpZXIgaWRlbnRpZmllciwgU2VydmljZVdvcmtlckNsaWVudERhdGEm
JiBkYXRhKQogICAgIHsKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU2VydmljZVdvcmtl
ckNsaWVudChjb250ZXh0LCBpZGVudGlmaWVyLCBXVEZNb3ZlKGRhdGEpKSk7CiAgICAgfQpAQCAt
NjMsNyArNjUsNyBAQCBwdWJsaWM6CiAgICAgRXhjZXB0aW9uT3I8dm9pZD4gcG9zdE1lc3NhZ2Uo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIEpTQzo6SlNWYWx1ZSBtZXNzYWdlLCBWZWN0b3I8SlND
OjpTdHJvbmc8SlNDOjpKU09iamVjdD4+JiYgdHJhbnNmZXIpOwogCiBwcm90ZWN0ZWQ6Ci0gICAg
U2VydmljZVdvcmtlckNsaWVudChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgU2VydmljZVdvcmtl
ckNsaWVudElkZW50aWZpZXIsIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhJiYpOworICAgIFNlcnZp
Y2VXb3JrZXJDbGllbnQoU2VydmljZVdvcmtlckdsb2JhbFNjb3BlJiwgU2VydmljZVdvcmtlckNs
aWVudElkZW50aWZpZXIsIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhJiYpOwogCiAgICAgU2Vydmlj
ZVdvcmtlckNsaWVudElkZW50aWZpZXIgbV9pZGVudGlmaWVyOwogICAgIFNlcnZpY2VXb3JrZXJD
bGllbnREYXRhIG1fZGF0YTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vy
dmljZS9TZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllci5oIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyLmgKaW5kZXggNGNiNGEx
NGYwNmUzZDU3MmI3MmNjZDk0OGZiNWY5N2Y3YzA5ZDlhZC4uZjk0YzMzNTg5YzJlNDQ5NmI0NjFi
M2I3ZTMxODI3NTNmMmI0YmE2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9z
ZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyLmgKQEAgLTM3
LDYgKzM3LDggQEAgc3RydWN0IFNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyIHsKICAgICBT
V1NlcnZlckNvbm5lY3Rpb25JZGVudGlmaWVyIHNlcnZlckNvbm5lY3Rpb25JZGVudGlmaWVyOwog
ICAgIERvY3VtZW50SWRlbnRpZmllciBjb250ZXh0SWRlbnRpZmllcjsKIAorICAgIHVuc2lnbmVk
IGhhc2goKSBjb25zdDsKKwogICAgIFN0cmluZyB0b1N0cmluZygpIGNvbnN0IHsgcmV0dXJuIFN0
cmluZzo6bnVtYmVyKHNlcnZlckNvbm5lY3Rpb25JZGVudGlmaWVyLnRvVUludDY0KCkpICsgIi0i
ICsgIFN0cmluZzo6bnVtYmVyKGNvbnRleHRJZGVudGlmaWVyLnRvVUludDY0KCkpOyB9CiAKICAg
ICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7CkBA
IC03MCw2ICs3MiwzNCBAQCBzdGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlm
aWVyPiBTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllcjo6ZGVjbwogICAgIHJldHVybiB7IHsg
V1RGTW92ZSgqc2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXIpLCBXVEZNb3ZlKCpjb250ZXh0SWRl
bnRpZmllcikgfSB9OwogfQogCitpbmxpbmUgdW5zaWduZWQgU2VydmljZVdvcmtlckNsaWVudElk
ZW50aWZpZXI6Omhhc2goKSBjb25zdAoreworICAgIHVuc2lnbmVkIGhhc2hlc1syXTsKKyAgICBo
YXNoZXNbMF0gPSBXVEY6OmludEhhc2goc2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXIudG9VSW50
NjQoKSk7CisgICAgaGFzaGVzWzFdID0gV1RGOjppbnRIYXNoKGNvbnRleHRJZGVudGlmaWVyLnRv
VUludDY0KCkpOworCisgICAgcmV0dXJuIFN0cmluZ0hhc2hlcjo6aGFzaE1lbW9yeShoYXNoZXMs
IHNpemVvZihoYXNoZXMpKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCituYW1lc3Bh
Y2UgV1RGIHsKKworc3RydWN0IFNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVySGFzaCB7Cisg
ICAgc3RhdGljIHVuc2lnbmVkIGhhc2goY29uc3QgV2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVu
dElkZW50aWZpZXImIGtleSkgeyByZXR1cm4ga2V5Lmhhc2goKTsgfQorICAgIHN0YXRpYyBib29s
IGVxdWFsKGNvbnN0IFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyJiBhLCBj
b25zdCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllciYgYikgeyByZXR1cm4g
YSA9PSBiOyB9CisgICAgc3RhdGljIGNvbnN0IGJvb2wgc2FmZVRvQ29tcGFyZVRvRW1wdHlPckRl
bGV0ZWQgPSB0cnVlOworfTsKK3RlbXBsYXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8V2ViQ29yZTo6
U2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXI+IDogR2VuZXJpY0hhc2hUcmFpdHM8V2ViQ29y
ZTo6U2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXI+IHsKKyAgICBzdGF0aWMgV2ViQ29yZTo6
U2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXIgZW1wdHlWYWx1ZSgpIHsgcmV0dXJuIHsgfTsg
fQorCisgICAgc3RhdGljIHZvaWQgY29uc3RydWN0RGVsZXRlZFZhbHVlKFdlYkNvcmU6OlNlcnZp
Y2VXb3JrZXJDbGllbnRJZGVudGlmaWVyJiBzbG90KSB7IHNsb3QgPSB7IH07IH0KKyAgICBzdGF0
aWMgYm9vbCBpc0RlbGV0ZWRWYWx1ZShjb25zdCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ2xpZW50
SWRlbnRpZmllciYgc2xvdCkgeyByZXR1cm4gc2xvdCA9PSBXZWJDb3JlOjpTZXJ2aWNlV29ya2Vy
Q2xpZW50SWRlbnRpZmllciB7IH07IH0KK307Cit0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFz
aDxXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllcj4geworICAgIHR5cGVkZWYg
U2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXJIYXNoIEhhc2g7Cit9OworCit9CisKICNlbmRp
ZiAvLyBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuY3BwCmluZGV4IDNh
MjBiM2E5ZDZhMjBmOTAwZWY3ZGMxMzUxMjI2ZTczODgwZGU1NDcuLjQwODFmNWE5Mjg1NzNiYTZj
NGE3YzM2NmNlZjllYmUzNDBiZDYzNGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvc2VydmljZS9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuY3BwCkBAIC0yOCw4
ICsyOCwxMCBAQAogCiAjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQogCisjaW5jbHVkZSAiU2Vy
dmljZVdvcmtlckNsaWVudC5oIgogI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJDbGllbnRzLmgiCiAj
aW5jbHVkZSAiU2VydmljZVdvcmtlclRocmVhZC5oIgorI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJX
aW5kb3dDbGllbnQuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC02Miw2ICs2NCwyOSBA
QCBTZXJ2aWNlV29ya2VyVGhyZWFkJiBTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGU6OnRocmVhZCgp
CiAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFNlcnZpY2VXb3JrZXJUaHJlYWQmPihXb3JrZXJHbG9i
YWxTY29wZTo6dGhyZWFkKCkpOwogfQogCitSZWY8U2VydmljZVdvcmtlckNsaWVudD4gU2Vydmlj
ZVdvcmtlckdsb2JhbFNjb3BlOjpnZXRPckNyZWF0ZVNlcnZpY2VXb3JrZXJDbGllbnQoU2Vydmlj
ZVdvcmtlckNsaWVudElkZW50aWZpZXIgaWRlbnRpZmllciwgU2VydmljZVdvcmtlckNsaWVudERh
dGEmJiBkYXRhKQoreworICAgIGlmIChhdXRvKiBjbGllbnQgPSBtX2NsaWVudE1hcC5nZXQoaWRl
bnRpZmllcikpCisgICAgICAgIHJldHVybiAqY2xpZW50OworCisgICAgaWYgKGRhdGEudHlwZSA9
PSBTZXJ2aWNlV29ya2VyQ2xpZW50VHlwZTo6V2luZG93KQorICAgICAgICByZXR1cm4gU2Vydmlj
ZVdvcmtlcldpbmRvd0NsaWVudDo6Y3JlYXRlKCp0aGlzLCBpZGVudGlmaWVyLCBXVEZNb3ZlKGRh
dGEpKTsKKworICAgIHJldHVybiBTZXJ2aWNlV29ya2VyQ2xpZW50OjpjcmVhdGUoKnRoaXMsIGlk
ZW50aWZpZXIsIFdURk1vdmUoZGF0YSkpOworfQorCit2b2lkIFNlcnZpY2VXb3JrZXJHbG9iYWxT
Y29wZTo6YWRkU2VydmljZVdvcmtlckNsaWVudChTZXJ2aWNlV29ya2VyQ2xpZW50JiBjbGllbnQp
Cit7CisgICAgYXV0byByZXN1bHQgPSBtX2NsaWVudE1hcC5hZGQoY2xpZW50LmlkZW50aWZpZXIo
KSwgJmNsaWVudCk7CisgICAgQVNTRVJUX1VOVVNFRChyZXN1bHQsIHJlc3VsdC5pc05ld0VudHJ5
KTsKK30KKwordm9pZCBTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGU6OnJlbW92ZVNlcnZpY2VXb3Jr
ZXJDbGllbnQoU2VydmljZVdvcmtlckNsaWVudCYgY2xpZW50KQoreworICAgIGF1dG8gaXNSZW1v
dmVkID0gbV9jbGllbnRNYXAucmVtb3ZlKGNsaWVudC5pZGVudGlmaWVyKCkpOworICAgIEFTU0VS
VF9VTlVTRUQoaXNSZW1vdmVkLCBpc1JlbW92ZWQpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmggYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmgK
aW5kZXggOTAwMTUxN2RkZjY0NGQ5ODk1MDI0NTliZjU5ZTYyNTQ1ZTY3NDYwOS4uNGVkMmJiZGRk
OWRiNmNhYjVmYmViNDMyMzY3Mjk3MjM1OTM0NGI0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuaApAQCAt
MjcsNiArMjcsNyBAQAogCiAjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQogCisjaW5jbHVkZSAi
U2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXIuaCIKICNpbmNsdWRlICJTZXJ2aWNlV29ya2Vy
Q29udGV4dERhdGEuaCIKICNpbmNsdWRlICJTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmgiCiAj
aW5jbHVkZSAiV29ya2VyR2xvYmFsU2NvcGUuaCIKQEAgLTM0LDYgKzM1LDggQEAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogY2xhc3MgRGVmZXJyZWRQcm9taXNlOworc3RydWN0IFNlcnZpY2VXb3Jr
ZXJDbGllbnREYXRhOworY2xhc3MgU2VydmljZVdvcmtlckNsaWVudDsKIGNsYXNzIFNlcnZpY2VX
b3JrZXJDbGllbnRzOwogY2xhc3MgU2VydmljZVdvcmtlclRocmVhZDsKIApAQCAtNTcsMTEgKzYw
LDE2IEBAIHB1YmxpYzoKIAogICAgIFNlcnZpY2VXb3JrZXJUaHJlYWQmIHRocmVhZCgpOwogCisg
ICAgUmVmPFNlcnZpY2VXb3JrZXJDbGllbnQ+IGdldE9yQ3JlYXRlU2VydmljZVdvcmtlckNsaWVu
dChTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllciwgU2VydmljZVdvcmtlckNsaWVudERhdGEm
Jik7CisgICAgdm9pZCBhZGRTZXJ2aWNlV29ya2VyQ2xpZW50KFNlcnZpY2VXb3JrZXJDbGllbnQm
KTsKKyAgICB2b2lkIHJlbW92ZVNlcnZpY2VXb3JrZXJDbGllbnQoU2VydmljZVdvcmtlckNsaWVu
dCYpOworCiBwcml2YXRlOgogICAgIFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZShjb25zdCBTZXJ2
aWNlV29ya2VyQ29udGV4dERhdGEmLCBjb25zdCBVUkwmLCBjb25zdCBTdHJpbmcmIGlkZW50aWZp
ZXIsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBTZXJ2aWNlV29ya2Vy
VGhyZWFkJiwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ks
IFJlZjxTZWN1cml0eU9yaWdpbj4mJiB0b3BPcmlnaW4sIE1vbm90b25pY1RpbWUgdGltZU9yaWdp
biwgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJveHkqLCBTb2NrZXRQcm92aWRlciosIFBBTDo6
U2Vzc2lvbklEKTsKIAogICAgIFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YSBtX2NvbnRleHREYXRh
OwogICAgIFJlZjxTZXJ2aWNlV29ya2VyQ2xpZW50cz4gbV9jbGllbnRzOworICAgIEhhc2hNYXA8
U2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXIsIFNlcnZpY2VXb3JrZXJDbGllbnQqPiBtX2Ns
aWVudE1hcDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyV2luZG93Q2xpZW50LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyV2luZG93Q2xpZW50
LmNwcAppbmRleCA0ZmViOTA4MmQ1ZmE4Y2NhZjA0ZmYwYjczOTNiZTczNzVmNDlkZGMzLi4yMDVi
YTUzYjQ3MmU3ZGU5NTE2ZTZjOTU4NjE5MTFlZmJlMmNkZjU5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlcldpbmRvd0NsaWVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJXaW5kb3dDbGll
bnQuY3BwCkBAIC0zMiw3ICszMiw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotU2Vydmlj
ZVdvcmtlcldpbmRvd0NsaWVudDo6U2VydmljZVdvcmtlcldpbmRvd0NsaWVudChTY3JpcHRFeGVj
dXRpb25Db250ZXh0JiBjb250ZXh0LCBTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllciBpZGVu
dGlmaWVyLCBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSYmIGRhdGEpCitTZXJ2aWNlV29ya2VyV2lu
ZG93Q2xpZW50OjpTZXJ2aWNlV29ya2VyV2luZG93Q2xpZW50KFNlcnZpY2VXb3JrZXJHbG9iYWxT
Y29wZSYgY29udGV4dCwgU2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXIgaWRlbnRpZmllciwg
U2VydmljZVdvcmtlckNsaWVudERhdGEmJiBkYXRhKQogICAgIDogU2VydmljZVdvcmtlckNsaWVu
dChjb250ZXh0LCBpZGVudGlmaWVyLCBXVEZNb3ZlKGRhdGEpKQogewogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJXaW5kb3dDbGllbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyV2luZG93Q2xp
ZW50LmgKaW5kZXggYzdiNDU0YWNlZmRlMDRjMGUxODYzZDkxNjg2OWUwMjg4NzMwMDg5Zi4uMWMx
ZTc1OTlmOGZmOGZlMTE2OTEyZjE2ZDlmNGEyNTg3NTc2OGVmMyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJXaW5kb3dDbGllbnQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlcldpbmRvd0NsaWVu
dC5oCkBAIC0zMywxMCArMzMsMTEgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRGVm
ZXJyZWRQcm9taXNlOworY2xhc3MgU2VydmljZVdvcmtlckdsb2JhbFNjb3BlOwogCiBjbGFzcyBT
ZXJ2aWNlV29ya2VyV2luZG93Q2xpZW50IGZpbmFsIDogcHVibGljIFNlcnZpY2VXb3JrZXJDbGll
bnQgewogcHVibGljOgotICAgIHN0YXRpYyBSZWY8U2VydmljZVdvcmtlcldpbmRvd0NsaWVudD4g
Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIFNlcnZpY2VXb3JrZXJDbGll
bnRJZGVudGlmaWVyIGlkZW50aWZpZXIsIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhJiYgZGF0YSkK
KyAgICBzdGF0aWMgUmVmPFNlcnZpY2VXb3JrZXJXaW5kb3dDbGllbnQ+IGNyZWF0ZShTZXJ2aWNl
V29ya2VyR2xvYmFsU2NvcGUmIGNvbnRleHQsIFNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVy
IGlkZW50aWZpZXIsIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhJiYgZGF0YSkKICAgICB7CiAgICAg
ICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFNlcnZpY2VXb3JrZXJXaW5kb3dDbGllbnQoY29udGV4
dCwgaWRlbnRpZmllciwgV1RGTW92ZShkYXRhKSkpOwogICAgIH0KQEAgLTQ4LDcgKzQ5LDcgQEAg
cHVibGljOgogICAgIHZvaWQgbmF2aWdhdGUoY29uc3QgU3RyaW5nJiB1cmwsIFJlZjxEZWZlcnJl
ZFByb21pc2U+JiYpOwogCiBwcml2YXRlOgotICAgIFNlcnZpY2VXb3JrZXJXaW5kb3dDbGllbnQo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyLCBT
ZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSYmKTsKKyAgICBTZXJ2aWNlV29ya2VyV2luZG93Q2xpZW50
KFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZSYsIFNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVy
LCBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSYmKTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1Nl
cnZpY2VXb3JrZXJUaHJlYWQuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2Nv
bnRleHQvU2VydmljZVdvcmtlclRocmVhZC5jcHAKaW5kZXggNWY4ODUzMTYwZmRhODhhYWUwYzY4
MGQ1MjA2M2I0MWJhMzI0ODE4NS4uY2RiNDJjZWVmZGU3ZmQ4MDk2MGVlNTJlNjQ2MTkxMzNkNjYw
ZjRkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQv
U2VydmljZVdvcmtlclRocmVhZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2
aWNlL2NvbnRleHQvU2VydmljZVdvcmtlclRocmVhZC5jcHAKQEAgLTEwOSw3ICsxMDksNyBAQCB2
b2lkIFNlcnZpY2VXb3JrZXJUaHJlYWQ6OnBvc3RNZXNzYWdlVG9TZXJ2aWNlV29ya2VyR2xvYmFs
U2NvcGUoUmVmPFNlcmlhbGl6ZWRTYwogICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OlRhc2sg
dGFzayhbdGhpcywgY2hhbm5lbHMgPSBXVEZNb3ZlKGNoYW5uZWxzKSwgbWVzc2FnZSA9IFdURk1v
dmUobWVzc2FnZSksIHNvdXJjZUlkZW50aWZpZXIsIHNvdXJjZURhdGEgPSBzb3VyY2VEYXRhLmlz
b2xhdGVkQ29weSgpXSAoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkgbXV0YWJsZSB7
CiAgICAgICAgIGF1dG8mIHNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZSA9IGRvd25jYXN0PFNlcnZp
Y2VXb3JrZXJHbG9iYWxTY29wZT4oY29udGV4dCk7CiAgICAgICAgIGF1dG8gcG9ydHMgPSBNZXNz
YWdlUG9ydDo6ZW50YW5nbGVQb3J0cyhzZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUsIFdURk1vdmUo
Y2hhbm5lbHMpKTsKLSAgICAgICAgUmVmUHRyPFNlcnZpY2VXb3JrZXJDbGllbnQ+IHNvdXJjZSA9
IFNlcnZpY2VXb3JrZXJXaW5kb3dDbGllbnQ6OmNyZWF0ZShjb250ZXh0LCBzb3VyY2VJZGVudGlm
aWVyLCBXVEZNb3ZlKHNvdXJjZURhdGEpKTsKKyAgICAgICAgUmVmUHRyPFNlcnZpY2VXb3JrZXJD
bGllbnQ+IHNvdXJjZSA9IHNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZS5nZXRPckNyZWF0ZVNlcnZp
Y2VXb3JrZXJDbGllbnQoc291cmNlSWRlbnRpZmllciwgV1RGTW92ZShzb3VyY2VEYXRhKSk7CiAg
ICAgICAgIGF1dG8gc291cmNlT3JpZ2luID0gU2VjdXJpdHlPcmlnaW46OmNyZWF0ZShzb3VyY2Ut
PnVybCgpKTsKICAgICAgICAgYXV0byBtZXNzYWdlRXZlbnQgPSBFeHRlbmRhYmxlTWVzc2FnZUV2
ZW50OjpjcmVhdGUoV1RGTW92ZShwb3J0cyksIFdURk1vdmUobWVzc2FnZSksIHNvdXJjZU9yaWdp
bi0+dG9TdHJpbmcoKSwgeyB9LCBFeHRlbmRhYmxlTWVzc2FnZUV2ZW50U291cmNlIHsgc291cmNl
IH0pOwogICAgICAgICBzZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuZGlzcGF0Y2hFdmVudChtZXNz
YWdlRXZlbnQpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCmluZGV4IDhlMjg4ZjhlZjcxZWVjZWY1NWQxMTgzM2U4NjYzM2NlMmJhYzc5
YmQuLjQwYjgyM2Y4YmZlMjRiMjgzZjU1NmIzNGE5OGIzNmU5ZmNmMWViNTUgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNCBAQAorMjAxNy0xMS0yOSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+
CisKKyAgICAgICAgU2VydmljZVdvcmtlckNsaWVudCBvYmplY3RzIHNob3VsZCBiZSByZXVzZWQg
aWYgdGhlcmUgaXMgYWxyZWFkeSBvbmUgZXhpc3Rpbmcgd2l0aCB0aGUgc2FtZSBpZGVudGlmaWVy
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODAxNDMK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGh0dHAv
dGVzdHMvd29ya2Vycy9zZXJ2aWNlL3Jlc291cmNlcy9iYXNpYy1TZXJ2aWNlV29ya2VyLXBvc3RN
ZXNzYWdlLXdvcmtlci5qczoKKyAgICAgICAgKGV2ZW50LmVsc2UpOgorICAgICAgICAqIGh0dHAv
dGVzdHMvd29ya2Vycy9zZXJ2aWNlL3Jlc291cmNlcy9iYXNpYy1TZXJ2aWNlV29ya2VyLXBvc3RN
ZXNzYWdlLmpzOgorCiAyMDE3LTExLTI5ICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5j
b20+CiAKICAgICAgICAgUHJlc3NpbmcgdGhlIHNwYWNlIGJhciB3aGlsZSB3YXRjaGluZyBhIGZ1
bGxzY3JlZW4gdmlkZW8gZG9lc24ndCBwbGF5IG9yIHBhdXNlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9yZXNvdXJjZXMvYmFzaWMtU2VydmljZVdv
cmtlci1wb3N0TWVzc2FnZS13b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dvcmtl
cnMvc2VydmljZS9yZXNvdXJjZXMvYmFzaWMtU2VydmljZVdvcmtlci1wb3N0TWVzc2FnZS13b3Jr
ZXIuanMKaW5kZXggYjQ5ZGFkNzEzNzJlOTlkN2Q0OTdmMmRlNDBjZTExZDc5NGNhM2U3Ni4uZWUz
ZGU1OTcxYjEwOWZjZGEwMTFlMTBjMjlhODgyYjQ4NDE5YjNlYiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvcmVzb3VyY2VzL2Jhc2ljLVNlcnZpY2VX
b3JrZXItcG9zdE1lc3NhZ2Utd29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
d29ya2Vycy9zZXJ2aWNlL3Jlc291cmNlcy9iYXNpYy1TZXJ2aWNlV29ya2VyLXBvc3RNZXNzYWdl
LXdvcmtlci5qcwpAQCAtMSw0ICsxLDE1IEBACit2YXIgY2xpZW50ID0gbnVsbDsKIHNlbGYuYWRk
RXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsIChldmVudCkgPT4gewotICAgIGV2ZW50LnNvdXJjZS5w
b3N0TWVzc2FnZSgiU2VydmljZSB3b3JrZXIgcmVjZWl2ZWQgbWVzc2FnZSAnIiArIGV2ZW50LmRh
dGEgKyAiJyBmcm9tIG9yaWdpbiAnIiArIGV2ZW50Lm9yaWdpbiArICInIik7CisgICAgaWYgKCFj
bGllbnQpIHsKKyAgICAgICAgY2xpZW50ID0gZXZlbnQuc291cmNlOworICAgICAgICBpZiAoIShj
bGllbnQgaW5zdGFuY2VvZiBXaW5kb3dDbGllbnQpKSB7CisgICAgICAgICAgICBldmVudC5zb3Vy
Y2UucG9zdE1lc3NhZ2UoIkZBSUw6IGNsaWVudCBzb3VyY2UgaXMgbm90IGEgV2luZG93Q2xpZW50
Iik7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICB9IGVsc2UgaWYgKGNsaWVu
dCAhPT0gZXZlbnQuc291cmNlKSB7CisgICAgICAgIGV2ZW50LnNvdXJjZS5wb3N0TWVzc2FnZSgi
RkFJTDogY2xpZW50IHNvdXJjZSBvZiB0aGUgc2Vjb25kIG1lc3NhZ2UgaXMgbm90IHRoZSBzYW1l
IGFzIHRoZSBmaXJzdCBtZXNzYWdlIik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgZXZl
bnQuc291cmNlLnBvc3RNZXNzYWdlKCJQQVNTOiBTZXJ2aWNlIHdvcmtlciByZWNlaXZlZCBtZXNz
YWdlICciICsgZXZlbnQuZGF0YSArICInIGZyb20gb3JpZ2luICciICsgZXZlbnQub3JpZ2luICsg
IiciKTsKIH0pOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dvcmtlcnMv
c2VydmljZS9yZXNvdXJjZXMvYmFzaWMtU2VydmljZVdvcmtlci1wb3N0TWVzc2FnZS5qcyBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL3Jlc291cmNlcy9iYXNpYy1TZXJ2
aWNlV29ya2VyLXBvc3RNZXNzYWdlLmpzCmluZGV4IDc1YTAwMTNhNDQxNjM2MWI3ODhiYjZkYTQw
MTljNTM0MzdhMGY3YzkuLmY5MDA0NWM1NDU5MDRmMjM0ZjM1MDhjZGY1NDUxYTEwOTU1OWFmZjEg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL3Jlc291
cmNlcy9iYXNpYy1TZXJ2aWNlV29ya2VyLXBvc3RNZXNzYWdlLmpzCisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL3Jlc291cmNlcy9iYXNpYy1TZXJ2aWNlV29ya2Vy
LXBvc3RNZXNzYWdlLmpzCkBAIC0xLDcgKzEsNyBAQAogdmFyIG1lc3NhZ2VOdW1iZXIgPSAxOwog
bmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsIGZ1bmN0
aW9uKGV2ZW50KSB7CiAgICAgbG9nKCJQQVNTOiBDbGllbnQgcmVjZWl2ZWQgbWVzc2FnZSBmcm9t
IHNlcnZpY2Ugd29ya2VyLCBvcmlnaW46ICIgKyBldmVudC5vcmlnaW4pOwotICAgIGxvZygiUEFT
UzogIiArIGV2ZW50LmRhdGEpOworICAgIGxvZyhldmVudC5kYXRhKTsKICAgICBpZiAobWVzc2Fn
ZU51bWJlciA9PSAxKSB7CiAgICAgICAgIGV2ZW50LnNvdXJjZS5wb3N0TWVzc2FnZSgiTWVzc2Fn
ZSAyIik7CiAgICAgICAgIG1lc3NhZ2VOdW1iZXIrKzsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>327897</attachid>
            <date>2017-11-29 13:51:45 -0800</date>
            <delta_ts>2017-11-29 16:31:50 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-180143-20171129135144.patch</filename>
            <type>text/plain</type>
            <size>17681</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI1MjY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTZiMDg0MTNkMmMzNTFm
YjUzZjdiYjNiMmQ1M2M3MzI1ZTZjYzM0Mi4uNWEzYTJlNTE4MmQ2NDZiMWQyNzFhNWE5NTkwYmY4
OTVlMDg2ZDk5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDE3LTExLTI5ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBTZXJ2aWNlV29ya2VyQ2xp
ZW50IG9iamVjdHMgc2hvdWxkIGJlIHJldXNlZCBpZiB0aGVyZSBpcyBhbHJlYWR5IG9uZSBleGlz
dGluZyB3aXRoIHRoZSBzYW1lIGlkZW50aWZpZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MDE0MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIENvdmVyZWQgYnkgdXBkYXRlZCB0ZXN0cy4KKworICAgICAg
ICBTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUga2VlcHMgYSBtYXAgb2YgYWxsIGxpdmUgU2Vydmlj
ZVdvcmtlckNsaWVudCBvYmplY3RzLgorICAgICAgICBCZWZvcmUgY3JlYXRpbmcgYSBuZXcgY2xp
ZW50LCBpdCBjaGVja3Mgd2hldGhlciB0aGUgbWFwIGhhcyBvbmUgc3VjaCBvYmplY3Qgd2l0aCB0
aGUgc2FtZSBpZGVudGlmaWVyLgorICAgICAgICBJZiBzbywgaXQgcmV1c2VzIHRoaXMgb2JqZWN0
LiBPdGhlcndpc2UgaXQgY3JlYXRlcyBlaXRoZXIgYSBTZXJ2aWNlV29ya2VyV2luZG93Q2xpZW50
IG9yIFNlcnZpY2VXb3JrZXJDbGllbnQuCisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIHVzaW5n
IGEgU2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXIgYXMgYSBIYXNoTWFwIGtleS4KKworICAg
ICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ2xpZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDbGllbnQ6OlNlcnZpY2VXb3JrZXJDbGllbnQpOgorICAg
ICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVudDo6flNlcnZpY2VXb3JrZXJDbGllbnQp
OgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ2xpZW50Lmg6CisgICAg
ICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ2xpZW50OjpnZXRPckNyZWF0ZSk6CisgICAgICAg
ICogd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyLmg6CisgICAg
ICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllcjo6aGFzaCBjb25zdCk6
CisgICAgICAgIChXVEY6OlNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVySGFzaDo6aGFzaCk6
CisgICAgICAgIChXVEY6OlNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVySGFzaDo6ZXF1YWwp
OgorICAgICAgICAoV1RGOjpIYXNoVHJhaXRzPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDbGllbnRJ
ZGVudGlmaWVyPjo6ZW1wdHlWYWx1ZSk6CisgICAgICAgIChXVEY6Okhhc2hUcmFpdHM8V2ViQ29y
ZTo6U2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXI+Ojpjb25zdHJ1Y3REZWxldGVkVmFsdWUp
OgorICAgICAgICAoV1RGOjpIYXNoVHJhaXRzPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDbGllbnRJ
ZGVudGlmaWVyPjo6aXNEZWxldGVkVmFsdWUpOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9T
ZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdv
cmtlckdsb2JhbFNjb3BlOjpnZXRTZXJ2aWNlV29ya2VyQ2xpZW50KToKKyAgICAgICAgKFdlYkNv
cmU6OlNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZTo6YWRkU2VydmljZVdvcmtlckNsaWVudCk6Cisg
ICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGU6OnJlbW92ZVNlcnZpY2VX
b3JrZXJDbGllbnQpOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyR2xv
YmFsU2NvcGUuaDoKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlcldpbmRv
d0NsaWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyV2luZG93Q2xpZW50
OjpTZXJ2aWNlV29ya2VyV2luZG93Q2xpZW50KToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2Uv
U2VydmljZVdvcmtlcldpbmRvd0NsaWVudC5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9j
b250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Vydmlj
ZVdvcmtlclRocmVhZDo6cG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZSk6CisK
IDIwMTctMTEtMjkgIFphbiBEb2JlcnNlayAgPHpkb2JlcnNla0BpZ2FsaWEuY29tPgogCiAgICAg
ICAgIFtDb29yZEdyYXBoaWNzXSBSZW5hbWUgQ29vcmRpbmF0ZWRCdWZmZXIgdG8gTmljb3NpYTo6
QnVmZmVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vydmlj
ZVdvcmtlckNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vydmlj
ZVdvcmtlckNsaWVudC5jcHAKaW5kZXggNmYxMmE0MjkzNmQ4NjhlOTI3MDMyMzNkN2JhYjFjYjAx
Mjc5MjZjZi4uZDA1YzBhMGYxOWQ0MWU1OGE4MGFhZjFiYzA2ODgyMWMwMDllNTUyOCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ2xp
ZW50LmNwcApAQCAtMzQsMTggKzM0LDMzIEBACiAjaW5jbHVkZSAiU2VyaWFsaXplZFNjcmlwdFZh
bHVlLmgiCiAjaW5jbHVkZSAiU2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmgiCiAjaW5jbHVkZSAi
U2VydmljZVdvcmtlclRocmVhZC5oIgorI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJXaW5kb3dDbGll
bnQuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1TZXJ2aWNlV29ya2VyQ2xpZW50OjpTZXJ2
aWNlV29ya2VyQ2xpZW50KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIFNlcnZpY2VX
b3JrZXJDbGllbnRJZGVudGlmaWVyIGlkZW50aWZpZXIsIFNlcnZpY2VXb3JrZXJDbGllbnREYXRh
JiYgZGF0YSkKK1JlZjxTZXJ2aWNlV29ya2VyQ2xpZW50PiBTZXJ2aWNlV29ya2VyQ2xpZW50Ojpn
ZXRPckNyZWF0ZShTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUmIGNvbnRleHQsIFNlcnZpY2VXb3Jr
ZXJDbGllbnRJZGVudGlmaWVyIGlkZW50aWZpZXIsIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhJiYg
ZGF0YSkKK3sKKyAgICBpZiAoYXV0byogY2xpZW50ID0gY29udGV4dC5nZXRTZXJ2aWNlV29ya2Vy
Q2xpZW50KGlkZW50aWZpZXIpKQorICAgICAgICByZXR1cm4gKmNsaWVudDsKKworICAgIGlmIChk
YXRhLnR5cGUgPT0gU2VydmljZVdvcmtlckNsaWVudFR5cGU6OldpbmRvdykKKyAgICAgICAgcmV0
dXJuIFNlcnZpY2VXb3JrZXJXaW5kb3dDbGllbnQ6OmNyZWF0ZShjb250ZXh0LCBpZGVudGlmaWVy
LCBXVEZNb3ZlKGRhdGEpKTsKKworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFNlcnZpY2VXb3Jr
ZXJDbGllbnQgeyBjb250ZXh0LCBpZGVudGlmaWVyLCBXVEZNb3ZlKGRhdGEpIH0pOworfQorCitT
ZXJ2aWNlV29ya2VyQ2xpZW50OjpTZXJ2aWNlV29ya2VyQ2xpZW50KFNlcnZpY2VXb3JrZXJHbG9i
YWxTY29wZSYgY29udGV4dCwgU2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXIgaWRlbnRpZmll
ciwgU2VydmljZVdvcmtlckNsaWVudERhdGEmJiBkYXRhKQogICAgIDogQ29udGV4dERlc3RydWN0
aW9uT2JzZXJ2ZXIoJmNvbnRleHQpCiAgICAgLCBtX2lkZW50aWZpZXIoaWRlbnRpZmllcikKICAg
ICAsIG1fZGF0YShXVEZNb3ZlKGRhdGEpKQogeworICAgIGNvbnRleHQuYWRkU2VydmljZVdvcmtl
ckNsaWVudCgqdGhpcyk7CiB9CiAKIFNlcnZpY2VXb3JrZXJDbGllbnQ6On5TZXJ2aWNlV29ya2Vy
Q2xpZW50KCkKIHsKKyAgICBpZiAoYXV0byogY29udGV4dCA9IHNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQoKSkKKyAgICAgICAgZG93bmNhc3Q8U2VydmljZVdvcmtlckdsb2JhbFNjb3BlPigqY29udGV4
dCkucmVtb3ZlU2VydmljZVdvcmtlckNsaWVudCgqdGhpcyk7CiB9CiAKIGNvbnN0IFVSTCYgU2Vy
dmljZVdvcmtlckNsaWVudDo6dXJsKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNsaWVudC5oCmluZGV4IGZiYjkwYjBjMWY3ZDRi
ZjNlYjNiNzkwOGJmNGY4ZmVhNTcxNWUzNjMuLjQ2YTQzOGM5ODJjYThlNmI4ZDgxNGM2ODI1MTRl
NWVlMzI4NWM5YTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9T
ZXJ2aWNlV29ya2VyQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L1NlcnZpY2VXb3JrZXJDbGllbnQuaApAQCAtMzksNiArMzksOCBAQCBjbGFzcyBKU1ZhbHVlOwog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZTsK
KwogY2xhc3MgU2VydmljZVdvcmtlckNsaWVudCA6IHB1YmxpYyBSZWZDb3VudGVkPFNlcnZpY2VX
b3JrZXJDbGllbnQ+LCBwdWJsaWMgQ29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIgewogcHVibGlj
OgogICAgIHVzaW5nIElkZW50aWZpZXIgPSBTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllcjsK
QEAgLTQ2LDEwICs0OCw3IEBAIHB1YmxpYzoKICAgICB1c2luZyBUeXBlID0gU2VydmljZVdvcmtl
ckNsaWVudFR5cGU7CiAgICAgdXNpbmcgRnJhbWVUeXBlID0gU2VydmljZVdvcmtlckNsaWVudEZy
YW1lVHlwZTsKIAotICAgIHN0YXRpYyBSZWY8U2VydmljZVdvcmtlckNsaWVudD4gY3JlYXRlKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIFNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlm
aWVyIGlkZW50aWZpZXIsIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhJiYgZGF0YSkKLSAgICB7Ci0g
ICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFNlcnZpY2VXb3JrZXJDbGllbnQoY29udGV4dCwg
aWRlbnRpZmllciwgV1RGTW92ZShkYXRhKSkpOwotICAgIH0KKyAgICBzdGF0aWMgUmVmPFNlcnZp
Y2VXb3JrZXJDbGllbnQ+IGdldE9yQ3JlYXRlKFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZSYsIFNl
cnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyLCBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSYmKTsK
IAogICAgIH5TZXJ2aWNlV29ya2VyQ2xpZW50KCk7CiAKQEAgLTYzLDcgKzYyLDcgQEAgcHVibGlj
OgogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHBvc3RNZXNzYWdlKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQmLCBKU0M6OkpTVmFsdWUgbWVzc2FnZSwgVmVjdG9yPEpTQzo6U3Ryb25nPEpTQzo6SlNPYmpl
Y3Q+PiYmIHRyYW5zZmVyKTsKIAogcHJvdGVjdGVkOgotICAgIFNlcnZpY2VXb3JrZXJDbGllbnQo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyLCBT
ZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSYmKTsKKyAgICBTZXJ2aWNlV29ya2VyQ2xpZW50KFNlcnZp
Y2VXb3JrZXJHbG9iYWxTY29wZSYsIFNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyLCBTZXJ2
aWNlV29ya2VyQ2xpZW50RGF0YSYmKTsKIAogICAgIFNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlm
aWVyIG1faWRlbnRpZmllcjsKICAgICBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSBtX2RhdGE7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNs
aWVudElkZW50aWZpZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNl
V29ya2VyQ2xpZW50SWRlbnRpZmllci5oCmluZGV4IDRjYjRhMTRmMDZlM2Q1NzJiNzJjY2Q5NDhm
YjVmOTdmN2MwOWQ5YWQuLjYyODU1ZDU0YmNjNzAxOTE3ZDFiOGZiMjRhMzk3NjNkZDNhYjU2YTgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2Vy
Q2xpZW50SWRlbnRpZmllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9T
ZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllci5oCkBAIC0zNyw2ICszNyw4IEBAIHN0cnVjdCBT
ZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllciB7CiAgICAgU1dTZXJ2ZXJDb25uZWN0aW9uSWRl
bnRpZmllciBzZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllcjsKICAgICBEb2N1bWVudElkZW50aWZp
ZXIgY29udGV4dElkZW50aWZpZXI7CiAKKyAgICB1bnNpZ25lZCBoYXNoKCkgY29uc3Q7CisKICAg
ICBTdHJpbmcgdG9TdHJpbmcoKSBjb25zdCB7IHJldHVybiBTdHJpbmc6Om51bWJlcihzZXJ2ZXJD
b25uZWN0aW9uSWRlbnRpZmllci50b1VJbnQ2NCgpKSArICItIiArICBTdHJpbmc6Om51bWJlcihj
b250ZXh0SWRlbnRpZmllci50b1VJbnQ2NCgpKTsgfQogCiAgICAgdGVtcGxhdGU8Y2xhc3MgRW5j
b2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0OwpAQCAtNzAsNiArNzIsMzcgQEAgc3Rk
OjpvcHRpb25hbDxTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllcj4gU2VydmljZVdvcmtlckNs
aWVudElkZW50aWZpZXI6OmRlY28KICAgICByZXR1cm4geyB7IFdURk1vdmUoKnNlcnZlckNvbm5l
Y3Rpb25JZGVudGlmaWVyKSwgV1RGTW92ZSgqY29udGV4dElkZW50aWZpZXIpIH0gfTsKIH0KIAor
aW5saW5lIHVuc2lnbmVkIFNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyOjpoYXNoKCkgY29u
c3QKK3sKKyAgICB1bnNpZ25lZCBoYXNoZXNbMl07CisgICAgaGFzaGVzWzBdID0gV1RGOjppbnRI
YXNoKHNlcnZlckNvbm5lY3Rpb25JZGVudGlmaWVyLnRvVUludDY0KCkpOworICAgIGhhc2hlc1sx
XSA9IFdURjo6aW50SGFzaChjb250ZXh0SWRlbnRpZmllci50b1VJbnQ2NCgpKTsKKworICAgIHJl
dHVybiBTdHJpbmdIYXNoZXI6Omhhc2hNZW1vcnkoaGFzaGVzLCBzaXplb2YoaGFzaGVzKSk7Cit9
CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAorbmFtZXNwYWNlIFdURiB7CisKK3N0cnVjdCBT
ZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllckhhc2ggeworICAgIHN0YXRpYyB1bnNpZ25lZCBo
YXNoKGNvbnN0IFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyJiBrZXkpIHsg
cmV0dXJuIGtleS5oYXNoKCk7IH0KKyAgICBzdGF0aWMgYm9vbCBlcXVhbChjb25zdCBXZWJDb3Jl
OjpTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllciYgYSwgY29uc3QgV2ViQ29yZTo6U2Vydmlj
ZVdvcmtlckNsaWVudElkZW50aWZpZXImIGIpIHsgcmV0dXJuIGEgPT0gYjsgfQorICAgIHN0YXRp
YyBjb25zdCBib29sIHNhZmVUb0NvbXBhcmVUb0VtcHR5T3JEZWxldGVkID0gdHJ1ZTsKK307CisK
K3RlbXBsYXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8V2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVu
dElkZW50aWZpZXI+IDogR2VuZXJpY0hhc2hUcmFpdHM8V2ViQ29yZTo6U2VydmljZVdvcmtlckNs
aWVudElkZW50aWZpZXI+IHsKKyAgICBzdGF0aWMgV2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVu
dElkZW50aWZpZXIgZW1wdHlWYWx1ZSgpIHsgcmV0dXJuIHsgfTsgfQorCisgICAgc3RhdGljIHZv
aWQgY29uc3RydWN0RGVsZXRlZFZhbHVlKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDbGllbnRJZGVu
dGlmaWVyJiBzbG90KSB7IHNsb3Quc2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXIgPSBtYWtlT2Jq
ZWN0SWRlbnRpZmllcjxXZWJDb3JlOjpTV1NlcnZlckNvbm5lY3Rpb25JZGVudGlmaWVyVHlwZT4o
c3RkOjpudW1lcmljX2xpbWl0czx1aW50NjRfdD46Om1heCgpKTsgfQorCisgICAgc3RhdGljIGJv
b2wgaXNEZWxldGVkVmFsdWUoY29uc3QgV2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVudElkZW50
aWZpZXImIHNsb3QpIHsgcmV0dXJuIHNsb3Quc2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXIudG9V
SW50NjQoKSA9PSBzdGQ6Om51bWVyaWNfbGltaXRzPHVpbnQ2NF90Pjo6bWF4KCk7IH0KK307CisK
K3RlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDbGll
bnRJZGVudGlmaWVyPiB7CisgICAgdHlwZWRlZiBTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmll
ckhhc2ggSGFzaDsKK307CisKK30KKwogI2VuZGlmIC8vIEVOQUJMRShTRVJWSUNFX1dPUktFUikK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2Vy
R2xvYmFsU2NvcGUuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VX
b3JrZXJHbG9iYWxTY29wZS5jcHAKaW5kZXggM2EyMGIzYTlkNmEyMGY5MDBlZjdkYzEzNTEyMjZl
NzM4ODBkZTU0Ny4uNWJhMzgwOGJiYzEzMjQ3NDg4NGIwZWEzNGNjODdmNGYxOWYyZDNiOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJHbG9i
YWxTY29wZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VX
b3JrZXJHbG9iYWxTY29wZS5jcHAKQEAgLTI4LDggKzI4LDEwIEBACiAKICNpZiBFTkFCTEUoU0VS
VklDRV9XT1JLRVIpCiAKKyNpbmNsdWRlICJTZXJ2aWNlV29ya2VyQ2xpZW50LmgiCiAjaW5jbHVk
ZSAiU2VydmljZVdvcmtlckNsaWVudHMuaCIKICNpbmNsdWRlICJTZXJ2aWNlV29ya2VyVGhyZWFk
LmgiCisjaW5jbHVkZSAiU2VydmljZVdvcmtlcldpbmRvd0NsaWVudC5oIgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKQEAgLTYyLDYgKzY0LDIzIEBAIFNlcnZpY2VXb3JrZXJUaHJlYWQmIFNlcnZp
Y2VXb3JrZXJHbG9iYWxTY29wZTo6dGhyZWFkKCkKICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8U2Vy
dmljZVdvcmtlclRocmVhZCY+KFdvcmtlckdsb2JhbFNjb3BlOjp0aHJlYWQoKSk7CiB9CiAKK1Nl
cnZpY2VXb3JrZXJDbGllbnQqIFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZTo6Z2V0U2VydmljZVdv
cmtlckNsaWVudChTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllciBpZGVudGlmaWVyKQorewor
ICAgIHJldHVybiBtX2NsaWVudE1hcC5nZXQoaWRlbnRpZmllcik7Cit9CisKK3ZvaWQgU2Vydmlj
ZVdvcmtlckdsb2JhbFNjb3BlOjphZGRTZXJ2aWNlV29ya2VyQ2xpZW50KFNlcnZpY2VXb3JrZXJD
bGllbnQmIGNsaWVudCkKK3sKKyAgICBhdXRvIHJlc3VsdCA9IG1fY2xpZW50TWFwLmFkZChjbGll
bnQuaWRlbnRpZmllcigpLCAmY2xpZW50KTsKKyAgICBBU1NFUlRfVU5VU0VEKHJlc3VsdCwgcmVz
dWx0LmlzTmV3RW50cnkpOworfQorCit2b2lkIFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZTo6cmVt
b3ZlU2VydmljZVdvcmtlckNsaWVudChTZXJ2aWNlV29ya2VyQ2xpZW50JiBjbGllbnQpCit7Cisg
ICAgYXV0byBpc1JlbW92ZWQgPSBtX2NsaWVudE1hcC5yZW1vdmUoY2xpZW50LmlkZW50aWZpZXIo
KSk7CisgICAgQVNTRVJUX1VOVVNFRChpc1JlbW92ZWQsIGlzUmVtb3ZlZCk7Cit9CisKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShTRVJWSUNFX1dPUktFUikKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyR2xv
YmFsU2NvcGUuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2Vy
R2xvYmFsU2NvcGUuaAppbmRleCA5MDAxNTE3ZGRmNjQ0ZDk4OTUwMjQ1OWJmNTllNjI1NDVlNjc0
NjA5Li5hZGM4OTJjYjlmYzFmMTZmNWJjYWQyMzI4ZWIxM2E0MjhjZjM0ZGU5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckdsb2JhbFNjb3Bl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJHbG9i
YWxTY29wZS5oCkBAIC0yNyw2ICsyNyw3IEBACiAKICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIp
CiAKKyNpbmNsdWRlICJTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllci5oIgogI2luY2x1ZGUg
IlNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YS5oIgogI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJSZWdp
c3RyYXRpb24uaCIKICNpbmNsdWRlICJXb3JrZXJHbG9iYWxTY29wZS5oIgpAQCAtMzQsNiArMzUs
OCBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBEZWZlcnJlZFByb21pc2U7CitzdHJ1
Y3QgU2VydmljZVdvcmtlckNsaWVudERhdGE7CitjbGFzcyBTZXJ2aWNlV29ya2VyQ2xpZW50Owog
Y2xhc3MgU2VydmljZVdvcmtlckNsaWVudHM7CiBjbGFzcyBTZXJ2aWNlV29ya2VyVGhyZWFkOwog
CkBAIC01NywxMSArNjAsMTYgQEAgcHVibGljOgogCiAgICAgU2VydmljZVdvcmtlclRocmVhZCYg
dGhyZWFkKCk7CiAKKyAgICBTZXJ2aWNlV29ya2VyQ2xpZW50KiBnZXRTZXJ2aWNlV29ya2VyQ2xp
ZW50KFNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyKTsKKyAgICB2b2lkIGFkZFNlcnZpY2VX
b3JrZXJDbGllbnQoU2VydmljZVdvcmtlckNsaWVudCYpOworICAgIHZvaWQgcmVtb3ZlU2Vydmlj
ZVdvcmtlckNsaWVudChTZXJ2aWNlV29ya2VyQ2xpZW50Jik7CisKIHByaXZhdGU6CiAgICAgU2Vy
dmljZVdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YSYsIGNv
bnN0IFVSTCYsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdl
bnQsIGJvb2wgaXNPbmxpbmUsIFNlcnZpY2VXb3JrZXJUaHJlYWQmLCBib29sIHNob3VsZEJ5cGFz
c01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRv
cE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBJREJDbGllbnQ6OklEQkNvbm5lY3Rp
b25Qcm94eSosIFNvY2tldFByb3ZpZGVyKiwgUEFMOjpTZXNzaW9uSUQpOwogCiAgICAgU2Vydmlj
ZVdvcmtlckNvbnRleHREYXRhIG1fY29udGV4dERhdGE7CiAgICAgUmVmPFNlcnZpY2VXb3JrZXJD
bGllbnRzPiBtX2NsaWVudHM7CisgICAgSGFzaE1hcDxTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRp
ZmllciwgU2VydmljZVdvcmtlckNsaWVudCo+IG1fY2xpZW50TWFwOwogfTsKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L1NlcnZpY2VXb3JrZXJXaW5kb3dDbGllbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9z
ZXJ2aWNlL1NlcnZpY2VXb3JrZXJXaW5kb3dDbGllbnQuY3BwCmluZGV4IDRmZWI5MDgyZDVmYThj
Y2FmMDRmZjBiNzM5M2JlNzM3NWY0OWRkYzMuLjIwNWJhNTNiNDcyZTdkZTk1MTZlNmM5NTg2MTkx
MWVmYmUyY2RmNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9T
ZXJ2aWNlV29ya2VyV2luZG93Q2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L3NlcnZpY2UvU2VydmljZVdvcmtlcldpbmRvd0NsaWVudC5jcHAKQEAgLTMyLDcgKzMyLDcgQEAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1TZXJ2aWNlV29ya2VyV2luZG93Q2xpZW50OjpTZXJ2
aWNlV29ya2VyV2luZG93Q2xpZW50KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIFNl
cnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyIGlkZW50aWZpZXIsIFNlcnZpY2VXb3JrZXJDbGll
bnREYXRhJiYgZGF0YSkKK1NlcnZpY2VXb3JrZXJXaW5kb3dDbGllbnQ6OlNlcnZpY2VXb3JrZXJX
aW5kb3dDbGllbnQoU2VydmljZVdvcmtlckdsb2JhbFNjb3BlJiBjb250ZXh0LCBTZXJ2aWNlV29y
a2VyQ2xpZW50SWRlbnRpZmllciBpZGVudGlmaWVyLCBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSYm
IGRhdGEpCiAgICAgOiBTZXJ2aWNlV29ya2VyQ2xpZW50KGNvbnRleHQsIGlkZW50aWZpZXIsIFdU
Rk1vdmUoZGF0YSkpCiB7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3Nl
cnZpY2UvU2VydmljZVdvcmtlcldpbmRvd0NsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJXaW5kb3dDbGllbnQuaAppbmRleCBjN2I0NTRhY2VmZGUw
NGMwZTE4NjNkOTE2ODY5ZTAyODg3MzAwODlmLi4xYzFlNzU5OWY4ZmY4ZmUxMTY5MTJmMTZkOWY0
YTI1ODc1NzY4ZWYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uv
U2VydmljZVdvcmtlcldpbmRvd0NsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2VydmljZS9TZXJ2aWNlV29ya2VyV2luZG93Q2xpZW50LmgKQEAgLTMzLDEwICszMywxMSBAQAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBEZWZlcnJlZFByb21pc2U7CitjbGFzcyBTZXJ2
aWNlV29ya2VyR2xvYmFsU2NvcGU7CiAKIGNsYXNzIFNlcnZpY2VXb3JrZXJXaW5kb3dDbGllbnQg
ZmluYWwgOiBwdWJsaWMgU2VydmljZVdvcmtlckNsaWVudCB7CiBwdWJsaWM6Ci0gICAgc3RhdGlj
IFJlZjxTZXJ2aWNlV29ya2VyV2luZG93Q2xpZW50PiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCYgY29udGV4dCwgU2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXIgaWRlbnRpZmllciwg
U2VydmljZVdvcmtlckNsaWVudERhdGEmJiBkYXRhKQorICAgIHN0YXRpYyBSZWY8U2VydmljZVdv
cmtlcldpbmRvd0NsaWVudD4gY3JlYXRlKFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZSYgY29udGV4
dCwgU2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXIgaWRlbnRpZmllciwgU2VydmljZVdvcmtl
ckNsaWVudERhdGEmJiBkYXRhKQogICAgIHsKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcg
U2VydmljZVdvcmtlcldpbmRvd0NsaWVudChjb250ZXh0LCBpZGVudGlmaWVyLCBXVEZNb3ZlKGRh
dGEpKSk7CiAgICAgfQpAQCAtNDgsNyArNDksNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBuYXZpZ2F0
ZShjb25zdCBTdHJpbmcmIHVybCwgUmVmPERlZmVycmVkUHJvbWlzZT4mJik7CiAKIHByaXZhdGU6
Ci0gICAgU2VydmljZVdvcmtlcldpbmRvd0NsaWVudChTY3JpcHRFeGVjdXRpb25Db250ZXh0Jiwg
U2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXIsIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhJiYp
OworICAgIFNlcnZpY2VXb3JrZXJXaW5kb3dDbGllbnQoU2VydmljZVdvcmtlckdsb2JhbFNjb3Bl
JiwgU2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXIsIFNlcnZpY2VXb3JrZXJDbGllbnREYXRh
JiYpOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlclRocmVhZC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFk
LmNwcAppbmRleCA1Zjg4NTMxNjBmZGE4OGFhZTBjNjgwZDUyMDYzYjQxYmEzMjQ4MTg1Li4wNWQx
OTY4MGY0YmE2NTZkNDYyN2JiODI5ZjM1ODgwN2EzYzA1ZWU1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2Vy
VGhyZWFkLmNwcApAQCAtMTA5LDcgKzEwOSw3IEBAIHZvaWQgU2VydmljZVdvcmtlclRocmVhZDo6
cG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZShSZWY8U2VyaWFsaXplZFNjCiAg
ICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6VGFzayB0YXNrKFt0aGlzLCBjaGFubmVscyA9IFdU
Rk1vdmUoY2hhbm5lbHMpLCBtZXNzYWdlID0gV1RGTW92ZShtZXNzYWdlKSwgc291cmNlSWRlbnRp
Zmllciwgc291cmNlRGF0YSA9IHNvdXJjZURhdGEuaXNvbGF0ZWRDb3B5KCldIChTY3JpcHRFeGVj
dXRpb25Db250ZXh0JiBjb250ZXh0KSBtdXRhYmxlIHsKICAgICAgICAgYXV0byYgc2VydmljZVdv
cmtlckdsb2JhbFNjb3BlID0gZG93bmNhc3Q8U2VydmljZVdvcmtlckdsb2JhbFNjb3BlPihjb250
ZXh0KTsKICAgICAgICAgYXV0byBwb3J0cyA9IE1lc3NhZ2VQb3J0OjplbnRhbmdsZVBvcnRzKHNl
cnZpY2VXb3JrZXJHbG9iYWxTY29wZSwgV1RGTW92ZShjaGFubmVscykpOwotICAgICAgICBSZWZQ
dHI8U2VydmljZVdvcmtlckNsaWVudD4gc291cmNlID0gU2VydmljZVdvcmtlcldpbmRvd0NsaWVu
dDo6Y3JlYXRlKGNvbnRleHQsIHNvdXJjZUlkZW50aWZpZXIsIFdURk1vdmUoc291cmNlRGF0YSkp
OworICAgICAgICBSZWZQdHI8U2VydmljZVdvcmtlckNsaWVudD4gc291cmNlID0gU2VydmljZVdv
cmtlckNsaWVudDo6Z2V0T3JDcmVhdGUoc2VydmljZVdvcmtlckdsb2JhbFNjb3BlLCBzb3VyY2VJ
ZGVudGlmaWVyLCBXVEZNb3ZlKHNvdXJjZURhdGEpKTsKICAgICAgICAgYXV0byBzb3VyY2VPcmln
aW4gPSBTZWN1cml0eU9yaWdpbjo6Y3JlYXRlKHNvdXJjZS0+dXJsKCkpOwogICAgICAgICBhdXRv
IG1lc3NhZ2VFdmVudCA9IEV4dGVuZGFibGVNZXNzYWdlRXZlbnQ6OmNyZWF0ZShXVEZNb3ZlKHBv
cnRzKSwgV1RGTW92ZShtZXNzYWdlKSwgc291cmNlT3JpZ2luLT50b1N0cmluZygpLCB7IH0sIEV4
dGVuZGFibGVNZXNzYWdlRXZlbnRTb3VyY2UgeyBzb3VyY2UgfSk7CiAgICAgICAgIHNlcnZpY2VX
b3JrZXJHbG9iYWxTY29wZS5kaXNwYXRjaEV2ZW50KG1lc3NhZ2VFdmVudCk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggOGUy
ODhmOGVmNzFlZWNlZjU1ZDExODMzZTg2NjMzY2UyYmFjNzliZC4uNDBiODIzZjhiZmUyNGIyODNm
NTU2YjM0YTk4YjM2ZTlmY2YxZWI1NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE3LTExLTI5
ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBTZXJ2aWNlV29y
a2VyQ2xpZW50IG9iamVjdHMgc2hvdWxkIGJlIHJldXNlZCBpZiB0aGVyZSBpcyBhbHJlYWR5IG9u
ZSBleGlzdGluZyB3aXRoIHRoZSBzYW1lIGlkZW50aWZpZXIKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MDE0MworCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2Uv
cmVzb3VyY2VzL2Jhc2ljLVNlcnZpY2VXb3JrZXItcG9zdE1lc3NhZ2Utd29ya2VyLmpzOgorICAg
ICAgICAoZXZlbnQuZWxzZSk6CisgICAgICAgICogaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2Uv
cmVzb3VyY2VzL2Jhc2ljLVNlcnZpY2VXb3JrZXItcG9zdE1lc3NhZ2UuanM6CisKIDIwMTctMTEt
MjkgIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQGFwcGxlLmNvbT4KIAogICAgICAgICBQcmVzc2lu
ZyB0aGUgc3BhY2UgYmFyIHdoaWxlIHdhdGNoaW5nIGEgZnVsbHNjcmVlbiB2aWRlbyBkb2Vzbid0
IHBsYXkgb3IgcGF1c2UKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vy
cy9zZXJ2aWNlL3Jlc291cmNlcy9iYXNpYy1TZXJ2aWNlV29ya2VyLXBvc3RNZXNzYWdlLXdvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL3Jlc291cmNlcy9i
YXNpYy1TZXJ2aWNlV29ya2VyLXBvc3RNZXNzYWdlLXdvcmtlci5qcwppbmRleCBiNDlkYWQ3MTM3
MmU5OWQ3ZDQ5N2YyZGU0MGNlMTFkNzk0Y2EzZTc2Li5lZTNkZTU5NzFiMTA5ZmNkYTAxMWUxMGMy
OWE4ODJiNDg0MTliM2ViIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dvcmtl
cnMvc2VydmljZS9yZXNvdXJjZXMvYmFzaWMtU2VydmljZVdvcmtlci1wb3N0TWVzc2FnZS13b3Jr
ZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvcmVzb3Vy
Y2VzL2Jhc2ljLVNlcnZpY2VXb3JrZXItcG9zdE1lc3NhZ2Utd29ya2VyLmpzCkBAIC0xLDQgKzEs
MTUgQEAKK3ZhciBjbGllbnQgPSBudWxsOwogc2VsZi5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdl
IiwgKGV2ZW50KSA9PiB7Ci0gICAgZXZlbnQuc291cmNlLnBvc3RNZXNzYWdlKCJTZXJ2aWNlIHdv
cmtlciByZWNlaXZlZCBtZXNzYWdlICciICsgZXZlbnQuZGF0YSArICInIGZyb20gb3JpZ2luICci
ICsgZXZlbnQub3JpZ2luICsgIiciKTsKKyAgICBpZiAoIWNsaWVudCkgeworICAgICAgICBjbGll
bnQgPSBldmVudC5zb3VyY2U7CisgICAgICAgIGlmICghKGNsaWVudCBpbnN0YW5jZW9mIFdpbmRv
d0NsaWVudCkpIHsKKyAgICAgICAgICAgIGV2ZW50LnNvdXJjZS5wb3N0TWVzc2FnZSgiRkFJTDog
Y2xpZW50IHNvdXJjZSBpcyBub3QgYSBXaW5kb3dDbGllbnQiKTsKKyAgICAgICAgICAgIHJldHVy
bjsKKyAgICAgICAgfQorICAgIH0gZWxzZSBpZiAoY2xpZW50ICE9PSBldmVudC5zb3VyY2UpIHsK
KyAgICAgICAgZXZlbnQuc291cmNlLnBvc3RNZXNzYWdlKCJGQUlMOiBjbGllbnQgc291cmNlIG9m
IHRoZSBzZWNvbmQgbWVzc2FnZSBpcyBub3QgdGhlIHNhbWUgYXMgdGhlIGZpcnN0IG1lc3NhZ2Ui
KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBldmVudC5zb3VyY2UucG9zdE1lc3NhZ2Uo
IlBBU1M6IFNlcnZpY2Ugd29ya2VyIHJlY2VpdmVkIG1lc3NhZ2UgJyIgKyBldmVudC5kYXRhICsg
IicgZnJvbSBvcmlnaW4gJyIgKyBldmVudC5vcmlnaW4gKyAiJyIpOwogfSk7CiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL3Jlc291cmNlcy9iYXNp
Yy1TZXJ2aWNlV29ya2VyLXBvc3RNZXNzYWdlLmpzIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93
b3JrZXJzL3NlcnZpY2UvcmVzb3VyY2VzL2Jhc2ljLVNlcnZpY2VXb3JrZXItcG9zdE1lc3NhZ2Uu
anMKaW5kZXggNzVhMDAxM2E0NDE2MzYxYjc4OGJiNmRhNDAxOWM1MzQzN2EwZjdjOS4uZjkwMDQ1
YzU0NTkwNGYyMzRmMzUwOGNkZjU0NTFhMTA5NTU5YWZmMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvcmVzb3VyY2VzL2Jhc2ljLVNlcnZpY2VXb3Jr
ZXItcG9zdE1lc3NhZ2UuanMKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJzL3Nl
cnZpY2UvcmVzb3VyY2VzL2Jhc2ljLVNlcnZpY2VXb3JrZXItcG9zdE1lc3NhZ2UuanMKQEAgLTEs
NyArMSw3IEBACiB2YXIgbWVzc2FnZU51bWJlciA9IDE7CiBuYXZpZ2F0b3Iuc2VydmljZVdvcmtl
ci5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwgZnVuY3Rpb24oZXZlbnQpIHsKICAgICBsb2co
IlBBU1M6IENsaWVudCByZWNlaXZlZCBtZXNzYWdlIGZyb20gc2VydmljZSB3b3JrZXIsIG9yaWdp
bjogIiArIGV2ZW50Lm9yaWdpbik7Ci0gICAgbG9nKCJQQVNTOiAiICsgZXZlbnQuZGF0YSk7Cisg
ICAgbG9nKGV2ZW50LmRhdGEpOwogICAgIGlmIChtZXNzYWdlTnVtYmVyID09IDEpIHsKICAgICAg
ICAgZXZlbnQuc291cmNlLnBvc3RNZXNzYWdlKCJNZXNzYWdlIDIiKTsKICAgICAgICAgbWVzc2Fn
ZU51bWJlcisrOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>327923</attachid>
            <date>2017-11-29 16:31:52 -0800</date>
            <delta_ts>2017-11-29 16:46:40 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-180143-20171129163151.patch</filename>
            <type>text/plain</type>
            <size>17744</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI1Mjk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWQwNjljMzhiOGY3ZDkw
Y2NlZDdhM2VlYjY4ODg1NjMzOWFmZTE1Yi4uYzM2OTVjOWRlZjIyOTFmNDgwNWJhYmNkZjMxZTBh
Y2VkMzg2MGIyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQzIEBACiAyMDE3LTExLTI5ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAorICAgICAgICBTZXJ2aWNlV29ya2VyQ2xp
ZW50IG9iamVjdHMgc2hvdWxkIGJlIHJldXNlZCBpZiB0aGVyZSBpcyBhbHJlYWR5IG9uZSBleGlz
dGluZyB3aXRoIHRoZSBzYW1lIGlkZW50aWZpZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MDE0MworCisgICAgICAgIFJldmlld2VkIGJ5IENocmlz
IER1bWV6LgorCisgICAgICAgIENvdmVyZWQgYnkgdXBkYXRlZCB0ZXN0cy4KKworICAgICAgICBT
ZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUga2VlcHMgYSBtYXAgb2YgYWxsIGxpdmUgU2VydmljZVdv
cmtlckNsaWVudCBvYmplY3RzLgorICAgICAgICBCZWZvcmUgY3JlYXRpbmcgYSBuZXcgY2xpZW50
LCBpdCBjaGVja3Mgd2hldGhlciB0aGUgbWFwIGhhcyBvbmUgc3VjaCBvYmplY3Qgd2l0aCB0aGUg
c2FtZSBpZGVudGlmaWVyLgorICAgICAgICBJZiBzbywgaXQgcmV1c2VzIHRoaXMgb2JqZWN0LiBP
dGhlcndpc2UgaXQgY3JlYXRlcyBlaXRoZXIgYSBTZXJ2aWNlV29ya2VyV2luZG93Q2xpZW50IG9y
IFNlcnZpY2VXb3JrZXJDbGllbnQuCisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIHVzaW5nIGEg
U2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXIgYXMgYSBIYXNoTWFwIGtleS4KKworICAgICAg
ICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ2xpZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlNlcnZpY2VXb3JrZXJDbGllbnQ6OlNlcnZpY2VXb3JrZXJDbGllbnQpOgorICAgICAg
ICAoV2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVudDo6flNlcnZpY2VXb3JrZXJDbGllbnQpOgor
ICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ2xpZW50Lmg6CisgICAgICAg
IChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ2xpZW50OjpnZXRPckNyZWF0ZSk6CisgICAgICAgICog
d29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyLmg6CisgICAgICAg
IChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllcjo6aGFzaCBjb25zdCk6Cisg
ICAgICAgIChXVEY6OlNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVySGFzaDo6aGFzaCk6Cisg
ICAgICAgIChXVEY6OlNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVySGFzaDo6ZXF1YWwpOgor
ICAgICAgICAoV1RGOjpIYXNoVHJhaXRzPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDbGllbnRJZGVu
dGlmaWVyPjo6ZW1wdHlWYWx1ZSk6CisgICAgICAgIChXVEY6Okhhc2hUcmFpdHM8V2ViQ29yZTo6
U2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXI+Ojpjb25zdHJ1Y3REZWxldGVkVmFsdWUpOgor
ICAgICAgICAoV1RGOjpIYXNoVHJhaXRzPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDbGllbnRJZGVu
dGlmaWVyPjo6aXNEZWxldGVkVmFsdWUpOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2
aWNlV29ya2VyR2xvYmFsU2NvcGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtl
ckdsb2JhbFNjb3BlOjpzZXJ2aWNlV29ya2VyQ2xpZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlNl
cnZpY2VXb3JrZXJHbG9iYWxTY29wZTo6YWRkU2VydmljZVdvcmtlckNsaWVudCk6CisgICAgICAg
IChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGU6OnJlbW92ZVNlcnZpY2VXb3JrZXJD
bGllbnQpOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyR2xvYmFsU2Nv
cGUuaDoKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlcldpbmRvd0NsaWVu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyV2luZG93Q2xpZW50OjpTZXJ2
aWNlV29ya2VyV2luZG93Q2xpZW50KToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2Vydmlj
ZVdvcmtlcldpbmRvd0NsaWVudC5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9jb250ZXh0
L1NlcnZpY2VXb3JrZXJUaHJlYWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtl
clRocmVhZDo6cG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZSk6CisKKzIwMTct
MTEtMjkgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCiAgICAgICAgIEFkZCBz
dXBwb3J0IGZvciBzZXJ2aWNlIHdvcmtlciBnZW5lcmF0ZWQgcmVkaXJlY3Rpb25zCiAgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzk0OTgKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnQu
Y3BwCmluZGV4IDZmMTJhNDI5MzZkODY4ZTkyNzAzMjMzZDdiYWIxY2IwMTI3OTI2Y2YuLmFlOTNi
NWQzOWRlM2Y2MGExNjJhNGY1ZjU1YThjODU4NGVhNzUyZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ2xpZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNsaWVudC5jcHAKQEAgLTM0
LDE4ICszNCwzMyBAQAogI2luY2x1ZGUgIlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5oIgogI2luY2x1
ZGUgIlNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZS5oIgogI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJU
aHJlYWQuaCIKKyNpbmNsdWRlICJTZXJ2aWNlV29ya2VyV2luZG93Q2xpZW50LmgiCiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAotU2VydmljZVdvcmtlckNsaWVudDo6U2VydmljZVdvcmtlckNsaWVu
dChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBTZXJ2aWNlV29ya2VyQ2xpZW50SWRl
bnRpZmllciBpZGVudGlmaWVyLCBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSYmIGRhdGEpCitSZWY8
U2VydmljZVdvcmtlckNsaWVudD4gU2VydmljZVdvcmtlckNsaWVudDo6Z2V0T3JDcmVhdGUoU2Vy
dmljZVdvcmtlckdsb2JhbFNjb3BlJiBjb250ZXh0LCBTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRp
ZmllciBpZGVudGlmaWVyLCBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSYmIGRhdGEpCit7CisgICAg
aWYgKGF1dG8qIGNsaWVudCA9IGNvbnRleHQuc2VydmljZVdvcmtlckNsaWVudChpZGVudGlmaWVy
KSkKKyAgICAgICAgcmV0dXJuICpjbGllbnQ7CisKKyAgICBpZiAoZGF0YS50eXBlID09IFNlcnZp
Y2VXb3JrZXJDbGllbnRUeXBlOjpXaW5kb3cpCisgICAgICAgIHJldHVybiBTZXJ2aWNlV29ya2Vy
V2luZG93Q2xpZW50OjpjcmVhdGUoY29udGV4dCwgaWRlbnRpZmllciwgV1RGTW92ZShkYXRhKSk7
CisKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTZXJ2aWNlV29ya2VyQ2xpZW50IHsgY29udGV4
dCwgaWRlbnRpZmllciwgV1RGTW92ZShkYXRhKSB9KTsKK30KKworU2VydmljZVdvcmtlckNsaWVu
dDo6U2VydmljZVdvcmtlckNsaWVudChTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUmIGNvbnRleHQs
IFNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyIGlkZW50aWZpZXIsIFNlcnZpY2VXb3JrZXJD
bGllbnREYXRhJiYgZGF0YSkKICAgICA6IENvbnRleHREZXN0cnVjdGlvbk9ic2VydmVyKCZjb250
ZXh0KQogICAgICwgbV9pZGVudGlmaWVyKGlkZW50aWZpZXIpCiAgICAgLCBtX2RhdGEoV1RGTW92
ZShkYXRhKSkKIHsKKyAgICBjb250ZXh0LmFkZFNlcnZpY2VXb3JrZXJDbGllbnQoKnRoaXMpOwog
fQogCiBTZXJ2aWNlV29ya2VyQ2xpZW50Ojp+U2VydmljZVdvcmtlckNsaWVudCgpCiB7CisgICAg
aWYgKGF1dG8qIGNvbnRleHQgPSBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpCisgICAgICAgIGRv
d25jYXN0PFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZT4oKmNvbnRleHQpLnJlbW92ZVNlcnZpY2VX
b3JrZXJDbGllbnQoKnRoaXMpOwogfQogCiBjb25zdCBVUkwmIFNlcnZpY2VXb3JrZXJDbGllbnQ6
OnVybCgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uv
U2VydmljZVdvcmtlckNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1Nl
cnZpY2VXb3JrZXJDbGllbnQuaAppbmRleCBmYmI5MGIwYzFmN2Q0YmYzZWIzYjc5MDhiZjRmOGZl
YTU3MTVlMzYzLi40NmE0MzhjOTgyY2E4ZTZiOGQ4MTRjNjgyNTE0ZTVlZTMyODVjOWEzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNsaWVu
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ2xp
ZW50LmgKQEAgLTM5LDYgKzM5LDggQEAgY2xhc3MgSlNWYWx1ZTsKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCitjbGFzcyBTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGU7CisKIGNsYXNzIFNlcnZpY2VX
b3JrZXJDbGllbnQgOiBwdWJsaWMgUmVmQ291bnRlZDxTZXJ2aWNlV29ya2VyQ2xpZW50PiwgcHVi
bGljIENvbnRleHREZXN0cnVjdGlvbk9ic2VydmVyIHsKIHB1YmxpYzoKICAgICB1c2luZyBJZGVu
dGlmaWVyID0gU2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXI7CkBAIC00NiwxMCArNDgsNyBA
QCBwdWJsaWM6CiAgICAgdXNpbmcgVHlwZSA9IFNlcnZpY2VXb3JrZXJDbGllbnRUeXBlOwogICAg
IHVzaW5nIEZyYW1lVHlwZSA9IFNlcnZpY2VXb3JrZXJDbGllbnRGcmFtZVR5cGU7CiAKLSAgICBz
dGF0aWMgUmVmPFNlcnZpY2VXb3JrZXJDbGllbnQ+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250
ZXh0JiBjb250ZXh0LCBTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllciBpZGVudGlmaWVyLCBT
ZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSYmIGRhdGEpCi0gICAgewotICAgICAgICByZXR1cm4gYWRv
cHRSZWYoKm5ldyBTZXJ2aWNlV29ya2VyQ2xpZW50KGNvbnRleHQsIGlkZW50aWZpZXIsIFdURk1v
dmUoZGF0YSkpKTsKLSAgICB9CisgICAgc3RhdGljIFJlZjxTZXJ2aWNlV29ya2VyQ2xpZW50PiBn
ZXRPckNyZWF0ZShTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUmLCBTZXJ2aWNlV29ya2VyQ2xpZW50
SWRlbnRpZmllciwgU2VydmljZVdvcmtlckNsaWVudERhdGEmJik7CiAKICAgICB+U2VydmljZVdv
cmtlckNsaWVudCgpOwogCkBAIC02Myw3ICs2Miw3IEBAIHB1YmxpYzoKICAgICBFeGNlcHRpb25P
cjx2b2lkPiBwb3N0TWVzc2FnZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgSlNDOjpKU1ZhbHVl
IG1lc3NhZ2UsIFZlY3RvcjxKU0M6OlN0cm9uZzxKU0M6OkpTT2JqZWN0Pj4mJiB0cmFuc2Zlcik7
CiAKIHByb3RlY3RlZDoKLSAgICBTZXJ2aWNlV29ya2VyQ2xpZW50KFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQmLCBTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllciwgU2VydmljZVdvcmtlckNsaWVu
dERhdGEmJik7CisgICAgU2VydmljZVdvcmtlckNsaWVudChTZXJ2aWNlV29ya2VyR2xvYmFsU2Nv
cGUmLCBTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllciwgU2VydmljZVdvcmtlckNsaWVudERh
dGEmJik7CiAKICAgICBTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllciBtX2lkZW50aWZpZXI7
CiAgICAgU2VydmljZVdvcmtlckNsaWVudERhdGEgbV9kYXRhOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNsaWVudElkZW50
aWZpZXIuaAppbmRleCA0Y2I0YTE0ZjA2ZTNkNTcyYjcyY2NkOTQ4ZmI1Zjk3ZjdjMDlkOWFkLi42
Mjg1NWQ1NGJjYzcwMTkxN2QxYjhmYjI0YTM5NzYzZGQzYWI1NmE4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNsaWVu
dElkZW50aWZpZXIuaApAQCAtMzcsNiArMzcsOCBAQCBzdHJ1Y3QgU2VydmljZVdvcmtlckNsaWVu
dElkZW50aWZpZXIgewogICAgIFNXU2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXIgc2VydmVyQ29u
bmVjdGlvbklkZW50aWZpZXI7CiAgICAgRG9jdW1lbnRJZGVudGlmaWVyIGNvbnRleHRJZGVudGlm
aWVyOwogCisgICAgdW5zaWduZWQgaGFzaCgpIGNvbnN0OworCiAgICAgU3RyaW5nIHRvU3RyaW5n
KCkgY29uc3QgeyByZXR1cm4gU3RyaW5nOjpudW1iZXIoc2VydmVyQ29ubmVjdGlvbklkZW50aWZp
ZXIudG9VSW50NjQoKSkgKyAiLSIgKyAgU3RyaW5nOjpudW1iZXIoY29udGV4dElkZW50aWZpZXIu
dG9VSW50NjQoKSk7IH0KIAogICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5jb2Rl
KEVuY29kZXImKSBjb25zdDsKQEAgLTcwLDYgKzcyLDM3IEBAIHN0ZDo6b3B0aW9uYWw8U2Vydmlj
ZVdvcmtlckNsaWVudElkZW50aWZpZXI+IFNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyOjpk
ZWNvCiAgICAgcmV0dXJuIHsgeyBXVEZNb3ZlKCpzZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllciks
IFdURk1vdmUoKmNvbnRleHRJZGVudGlmaWVyKSB9IH07CiB9CiAKK2lubGluZSB1bnNpZ25lZCBT
ZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllcjo6aGFzaCgpIGNvbnN0Cit7CisgICAgdW5zaWdu
ZWQgaGFzaGVzWzJdOworICAgIGhhc2hlc1swXSA9IFdURjo6aW50SGFzaChzZXJ2ZXJDb25uZWN0
aW9uSWRlbnRpZmllci50b1VJbnQ2NCgpKTsKKyAgICBoYXNoZXNbMV0gPSBXVEY6OmludEhhc2go
Y29udGV4dElkZW50aWZpZXIudG9VSW50NjQoKSk7CisKKyAgICByZXR1cm4gU3RyaW5nSGFzaGVy
OjpoYXNoTWVtb3J5KGhhc2hlcywgc2l6ZW9mKGhhc2hlcykpOworfQorCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCiAKK25hbWVzcGFjZSBXVEYgeworCitzdHJ1Y3QgU2VydmljZVdvcmtlckNsaWVu
dElkZW50aWZpZXJIYXNoIHsKKyAgICBzdGF0aWMgdW5zaWduZWQgaGFzaChjb25zdCBXZWJDb3Jl
OjpTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllciYga2V5KSB7IHJldHVybiBrZXkuaGFzaCgp
OyB9CisgICAgc3RhdGljIGJvb2wgZXF1YWwoY29uc3QgV2ViQ29yZTo6U2VydmljZVdvcmtlckNs
aWVudElkZW50aWZpZXImIGEsIGNvbnN0IFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDbGllbnRJZGVu
dGlmaWVyJiBiKSB7IHJldHVybiBhID09IGI7IH0KKyAgICBzdGF0aWMgY29uc3QgYm9vbCBzYWZl
VG9Db21wYXJlVG9FbXB0eU9yRGVsZXRlZCA9IHRydWU7Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVj
dCBIYXNoVHJhaXRzPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyPiA6IEdl
bmVyaWNIYXNoVHJhaXRzPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyPiB7
CisgICAgc3RhdGljIFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyIGVtcHR5
VmFsdWUoKSB7IHJldHVybiB7IH07IH0KKworICAgIHN0YXRpYyB2b2lkIGNvbnN0cnVjdERlbGV0
ZWRWYWx1ZShXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllciYgc2xvdCkgeyBz
bG90LnNlcnZlckNvbm5lY3Rpb25JZGVudGlmaWVyID0gbWFrZU9iamVjdElkZW50aWZpZXI8V2Vi
Q29yZTo6U1dTZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllclR5cGU+KHN0ZDo6bnVtZXJpY19saW1p
dHM8dWludDY0X3Q+OjptYXgoKSk7IH0KKworICAgIHN0YXRpYyBib29sIGlzRGVsZXRlZFZhbHVl
KGNvbnN0IFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyJiBzbG90KSB7IHJl
dHVybiBzbG90LnNlcnZlckNvbm5lY3Rpb25JZGVudGlmaWVyLnRvVUludDY0KCkgPT0gc3RkOjpu
dW1lcmljX2xpbWl0czx1aW50NjRfdD46Om1heCgpOyB9Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVj
dCBEZWZhdWx0SGFzaDxXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllcj4gewor
ICAgIHR5cGVkZWYgU2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXJIYXNoIEhhc2g7Cit9Owor
Cit9CisKICNlbmRpZiAvLyBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUu
Y3BwCmluZGV4IDNhMjBiM2E5ZDZhMjBmOTAwZWY3ZGMxMzUxMjI2ZTczODgwZGU1NDcuLjU0NDQ4
MjQyOTY1MTMyNGIxMGYwMWQxOTY0MDBhNWRmNTMwYzkyMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUu
Y3BwCkBAIC0yOCw4ICsyOCwxMCBAQAogCiAjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQogCisj
aW5jbHVkZSAiU2VydmljZVdvcmtlckNsaWVudC5oIgogI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJD
bGllbnRzLmgiCiAjaW5jbHVkZSAiU2VydmljZVdvcmtlclRocmVhZC5oIgorI2luY2x1ZGUgIlNl
cnZpY2VXb3JrZXJXaW5kb3dDbGllbnQuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC02
Miw2ICs2NCwyMyBAQCBTZXJ2aWNlV29ya2VyVGhyZWFkJiBTZXJ2aWNlV29ya2VyR2xvYmFsU2Nv
cGU6OnRocmVhZCgpCiAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFNlcnZpY2VXb3JrZXJUaHJlYWQm
PihXb3JrZXJHbG9iYWxTY29wZTo6dGhyZWFkKCkpOwogfQogCitTZXJ2aWNlV29ya2VyQ2xpZW50
KiBTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGU6OnNlcnZpY2VXb3JrZXJDbGllbnQoU2VydmljZVdv
cmtlckNsaWVudElkZW50aWZpZXIgaWRlbnRpZmllcikKK3sKKyAgICByZXR1cm4gbV9jbGllbnRN
YXAuZ2V0KGlkZW50aWZpZXIpOworfQorCit2b2lkIFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZTo6
YWRkU2VydmljZVdvcmtlckNsaWVudChTZXJ2aWNlV29ya2VyQ2xpZW50JiBjbGllbnQpCit7Cisg
ICAgYXV0byByZXN1bHQgPSBtX2NsaWVudE1hcC5hZGQoY2xpZW50LmlkZW50aWZpZXIoKSwgJmNs
aWVudCk7CisgICAgQVNTRVJUX1VOVVNFRChyZXN1bHQsIHJlc3VsdC5pc05ld0VudHJ5KTsKK30K
Kwordm9pZCBTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGU6OnJlbW92ZVNlcnZpY2VXb3JrZXJDbGll
bnQoU2VydmljZVdvcmtlckNsaWVudCYgY2xpZW50KQoreworICAgIGF1dG8gaXNSZW1vdmVkID0g
bV9jbGllbnRNYXAucmVtb3ZlKGNsaWVudC5pZGVudGlmaWVyKCkpOworICAgIEFTU0VSVF9VTlVT
RUQoaXNSZW1vdmVkLCBpc1JlbW92ZWQpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAK
ICNlbmRpZiAvLyBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmggYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmgKaW5kZXgg
OTAwMTUxN2RkZjY0NGQ5ODk1MDI0NTliZjU5ZTYyNTQ1ZTY3NDYwOS4uNTc4MjkwMThiZTQ1NGQy
YmUwNmQwMzdiMThiMWM0ZjYwOWMyN2Q5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuaApAQCAtMjcsNiAr
MjcsNyBAQAogCiAjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQogCisjaW5jbHVkZSAiU2Vydmlj
ZVdvcmtlckNsaWVudElkZW50aWZpZXIuaCIKICNpbmNsdWRlICJTZXJ2aWNlV29ya2VyQ29udGV4
dERhdGEuaCIKICNpbmNsdWRlICJTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmgiCiAjaW5jbHVk
ZSAiV29ya2VyR2xvYmFsU2NvcGUuaCIKQEAgLTM0LDYgKzM1LDggQEAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogY2xhc3MgRGVmZXJyZWRQcm9taXNlOworc3RydWN0IFNlcnZpY2VXb3JrZXJDbGll
bnREYXRhOworY2xhc3MgU2VydmljZVdvcmtlckNsaWVudDsKIGNsYXNzIFNlcnZpY2VXb3JrZXJD
bGllbnRzOwogY2xhc3MgU2VydmljZVdvcmtlclRocmVhZDsKIApAQCAtNTcsMTEgKzYwLDE2IEBA
IHB1YmxpYzoKIAogICAgIFNlcnZpY2VXb3JrZXJUaHJlYWQmIHRocmVhZCgpOwogCisgICAgU2Vy
dmljZVdvcmtlckNsaWVudCogc2VydmljZVdvcmtlckNsaWVudChTZXJ2aWNlV29ya2VyQ2xpZW50
SWRlbnRpZmllcik7CisgICAgdm9pZCBhZGRTZXJ2aWNlV29ya2VyQ2xpZW50KFNlcnZpY2VXb3Jr
ZXJDbGllbnQmKTsKKyAgICB2b2lkIHJlbW92ZVNlcnZpY2VXb3JrZXJDbGllbnQoU2VydmljZVdv
cmtlckNsaWVudCYpOworCiBwcml2YXRlOgogICAgIFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZShj
b25zdCBTZXJ2aWNlV29ya2VyQ29udGV4dERhdGEmLCBjb25zdCBVUkwmLCBjb25zdCBTdHJpbmcm
IGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBTZXJ2
aWNlV29ya2VyVGhyZWFkJiwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJp
dHlQb2xpY3ksIFJlZjxTZWN1cml0eU9yaWdpbj4mJiB0b3BPcmlnaW4sIE1vbm90b25pY1RpbWUg
dGltZU9yaWdpbiwgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJveHkqLCBTb2NrZXRQcm92aWRl
ciosIFBBTDo6U2Vzc2lvbklEKTsKIAogICAgIFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YSBtX2Nv
bnRleHREYXRhOwogICAgIFJlZjxTZXJ2aWNlV29ya2VyQ2xpZW50cz4gbV9jbGllbnRzOworICAg
IEhhc2hNYXA8U2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXIsIFNlcnZpY2VXb3JrZXJDbGll
bnQqPiBtX2NsaWVudE1hcDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyV2luZG93Q2xp
ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyV2lu
ZG93Q2xpZW50LmNwcAppbmRleCA0ZmViOTA4MmQ1ZmE4Y2NhZjA0ZmYwYjczOTNiZTczNzVmNDlk
ZGMzLi4yMDViYTUzYjQ3MmU3ZGU5NTE2ZTZjOTU4NjE5MTFlZmJlMmNkZjU5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlcldpbmRvd0NsaWVu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJX
aW5kb3dDbGllbnQuY3BwCkBAIC0zMiw3ICszMiw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAotU2VydmljZVdvcmtlcldpbmRvd0NsaWVudDo6U2VydmljZVdvcmtlcldpbmRvd0NsaWVudChT
Y3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRp
ZmllciBpZGVudGlmaWVyLCBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSYmIGRhdGEpCitTZXJ2aWNl
V29ya2VyV2luZG93Q2xpZW50OjpTZXJ2aWNlV29ya2VyV2luZG93Q2xpZW50KFNlcnZpY2VXb3Jr
ZXJHbG9iYWxTY29wZSYgY29udGV4dCwgU2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXIgaWRl
bnRpZmllciwgU2VydmljZVdvcmtlckNsaWVudERhdGEmJiBkYXRhKQogICAgIDogU2VydmljZVdv
cmtlckNsaWVudChjb250ZXh0LCBpZGVudGlmaWVyLCBXVEZNb3ZlKGRhdGEpKQogewogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJXaW5k
b3dDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2Vy
V2luZG93Q2xpZW50LmgKaW5kZXggYzdiNDU0YWNlZmRlMDRjMGUxODYzZDkxNjg2OWUwMjg4NzMw
MDg5Zi4uMWMxZTc1OTlmOGZmOGZlMTE2OTEyZjE2ZDlmNGEyNTg3NTc2OGVmMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJXaW5kb3dDbGll
bnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlcldp
bmRvd0NsaWVudC5oCkBAIC0zMywxMCArMzMsMTEgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
Y2xhc3MgRGVmZXJyZWRQcm9taXNlOworY2xhc3MgU2VydmljZVdvcmtlckdsb2JhbFNjb3BlOwog
CiBjbGFzcyBTZXJ2aWNlV29ya2VyV2luZG93Q2xpZW50IGZpbmFsIDogcHVibGljIFNlcnZpY2VX
b3JrZXJDbGllbnQgewogcHVibGljOgotICAgIHN0YXRpYyBSZWY8U2VydmljZVdvcmtlcldpbmRv
d0NsaWVudD4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIFNlcnZpY2VX
b3JrZXJDbGllbnRJZGVudGlmaWVyIGlkZW50aWZpZXIsIFNlcnZpY2VXb3JrZXJDbGllbnREYXRh
JiYgZGF0YSkKKyAgICBzdGF0aWMgUmVmPFNlcnZpY2VXb3JrZXJXaW5kb3dDbGllbnQ+IGNyZWF0
ZShTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUmIGNvbnRleHQsIFNlcnZpY2VXb3JrZXJDbGllbnRJ
ZGVudGlmaWVyIGlkZW50aWZpZXIsIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhJiYgZGF0YSkKICAg
ICB7CiAgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFNlcnZpY2VXb3JrZXJXaW5kb3dDbGll
bnQoY29udGV4dCwgaWRlbnRpZmllciwgV1RGTW92ZShkYXRhKSkpOwogICAgIH0KQEAgLTQ4LDcg
KzQ5LDcgQEAgcHVibGljOgogICAgIHZvaWQgbmF2aWdhdGUoY29uc3QgU3RyaW5nJiB1cmwsIFJl
ZjxEZWZlcnJlZFByb21pc2U+JiYpOwogCiBwcml2YXRlOgotICAgIFNlcnZpY2VXb3JrZXJXaW5k
b3dDbGllbnQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFNlcnZpY2VXb3JrZXJDbGllbnRJZGVu
dGlmaWVyLCBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSYmKTsKKyAgICBTZXJ2aWNlV29ya2VyV2lu
ZG93Q2xpZW50KFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZSYsIFNlcnZpY2VXb3JrZXJDbGllbnRJ
ZGVudGlmaWVyLCBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSYmKTsKIH07CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9j
b250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9z
ZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlclRocmVhZC5jcHAKaW5kZXggMTAzYjQ2MmRlNmQ2
MDgwYzFlYjBmZDljMjk0YTA0ZjQyZGJjZjZlYS4uMTM5OWY5Nzc0NzE0NDgzZjAzNzczZGZmMjc1
NzAxZWY1OGI2N2ZiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L2NvbnRleHQvU2VydmljZVdvcmtlclRocmVhZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlclRocmVhZC5jcHAKQEAgLTEwOSw3ICsx
MDksNyBAQCB2b2lkIFNlcnZpY2VXb3JrZXJUaHJlYWQ6OnBvc3RNZXNzYWdlVG9TZXJ2aWNlV29y
a2VyR2xvYmFsU2NvcGUoUmVmPFNlcmlhbGl6ZWRTYwogICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQ6OlRhc2sgdGFzayhbdGhpcywgY2hhbm5lbHMgPSBXVEZNb3ZlKGNoYW5uZWxzKSwgbWVzc2Fn
ZSA9IFdURk1vdmUobWVzc2FnZSksIHNvdXJjZUlkZW50aWZpZXIsIHNvdXJjZURhdGEgPSBzb3Vy
Y2VEYXRhLmlzb2xhdGVkQ29weSgpXSAoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkg
bXV0YWJsZSB7CiAgICAgICAgIGF1dG8mIHNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZSA9IGRvd25j
YXN0PFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZT4oY29udGV4dCk7CiAgICAgICAgIGF1dG8gcG9y
dHMgPSBNZXNzYWdlUG9ydDo6ZW50YW5nbGVQb3J0cyhzZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUs
IFdURk1vdmUoY2hhbm5lbHMpKTsKLSAgICAgICAgUmVmUHRyPFNlcnZpY2VXb3JrZXJDbGllbnQ+
IHNvdXJjZSA9IFNlcnZpY2VXb3JrZXJXaW5kb3dDbGllbnQ6OmNyZWF0ZShjb250ZXh0LCBzb3Vy
Y2VJZGVudGlmaWVyLCBXVEZNb3ZlKHNvdXJjZURhdGEpKTsKKyAgICAgICAgUmVmUHRyPFNlcnZp
Y2VXb3JrZXJDbGllbnQ+IHNvdXJjZSA9IFNlcnZpY2VXb3JrZXJDbGllbnQ6OmdldE9yQ3JlYXRl
KHNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZSwgc291cmNlSWRlbnRpZmllciwgV1RGTW92ZShzb3Vy
Y2VEYXRhKSk7CiAgICAgICAgIGF1dG8gc291cmNlT3JpZ2luID0gU2VjdXJpdHlPcmlnaW46OmNy
ZWF0ZShzb3VyY2UtPnVybCgpKTsKICAgICAgICAgYXV0byBtZXNzYWdlRXZlbnQgPSBFeHRlbmRh
YmxlTWVzc2FnZUV2ZW50OjpjcmVhdGUoV1RGTW92ZShwb3J0cyksIFdURk1vdmUobWVzc2FnZSks
IHNvdXJjZU9yaWdpbi0+dG9TdHJpbmcoKSwgeyB9LCBFeHRlbmRhYmxlTWVzc2FnZUV2ZW50U291
cmNlIHsgc291cmNlIH0pOwogICAgICAgICBzZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuZGlzcGF0
Y2hFdmVudChtZXNzYWdlRXZlbnQpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDcxY2FhOGMwMWI2ZDg0NzAyMjI5N2I5MzE5
M2FjN2RkNTgwYzgxMjguLjNkMmYzYzc3YTA2N2NiYmYzNTUzMTVmZWUwZWUyNzk3MDdlZDhkM2Ug
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKQEAgLTEsNSArMSwxNiBAQAogMjAxNy0xMS0yOSAgWW91ZW5uIEZhYmxldCAgPHlvdWVu
bkBhcHBsZS5jb20+CiAKKyAgICAgICAgU2VydmljZVdvcmtlckNsaWVudCBvYmplY3RzIHNob3Vs
ZCBiZSByZXVzZWQgaWYgdGhlcmUgaXMgYWxyZWFkeSBvbmUgZXhpc3Rpbmcgd2l0aCB0aGUgc2Ft
ZSBpZGVudGlmaWVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xODAxNDMKKworICAgICAgICBSZXZpZXdlZCBieSBDaHJpcyBEdW1lei4KKworICAgICAg
ICAqIGh0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL3Jlc291cmNlcy9iYXNpYy1TZXJ2aWNlV29y
a2VyLXBvc3RNZXNzYWdlLXdvcmtlci5qczoKKyAgICAgICAgKGV2ZW50LmVsc2UpOgorICAgICAg
ICAqIGh0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL3Jlc291cmNlcy9iYXNpYy1TZXJ2aWNlV29y
a2VyLXBvc3RNZXNzYWdlLmpzOgorCisyMDE3LTExLTI5ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5u
QGFwcGxlLmNvbT4KKwogICAgICAgICBBZGQgc3VwcG9ydCBmb3Igc2VydmljZSB3b3JrZXIgZ2Vu
ZXJhdGVkIHJlZGlyZWN0aW9ucwogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTc5NDk4CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
d29ya2Vycy9zZXJ2aWNlL3Jlc291cmNlcy9iYXNpYy1TZXJ2aWNlV29ya2VyLXBvc3RNZXNzYWdl
LXdvcmtlci5qcyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL3Jlc291
cmNlcy9iYXNpYy1TZXJ2aWNlV29ya2VyLXBvc3RNZXNzYWdlLXdvcmtlci5qcwppbmRleCBiNDlk
YWQ3MTM3MmU5OWQ3ZDQ5N2YyZGU0MGNlMTFkNzk0Y2EzZTc2Li5lZTNkZTU5NzFiMTA5ZmNkYTAx
MWUxMGMyOWE4ODJiNDg0MTliM2ViIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3dvcmtlcnMvc2VydmljZS9yZXNvdXJjZXMvYmFzaWMtU2VydmljZVdvcmtlci1wb3N0TWVzc2Fn
ZS13b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2Uv
cmVzb3VyY2VzL2Jhc2ljLVNlcnZpY2VXb3JrZXItcG9zdE1lc3NhZ2Utd29ya2VyLmpzCkBAIC0x
LDQgKzEsMTUgQEAKK3ZhciBjbGllbnQgPSBudWxsOwogc2VsZi5hZGRFdmVudExpc3RlbmVyKCJt
ZXNzYWdlIiwgKGV2ZW50KSA9PiB7Ci0gICAgZXZlbnQuc291cmNlLnBvc3RNZXNzYWdlKCJTZXJ2
aWNlIHdvcmtlciByZWNlaXZlZCBtZXNzYWdlICciICsgZXZlbnQuZGF0YSArICInIGZyb20gb3Jp
Z2luICciICsgZXZlbnQub3JpZ2luICsgIiciKTsKKyAgICBpZiAoIWNsaWVudCkgeworICAgICAg
ICBjbGllbnQgPSBldmVudC5zb3VyY2U7CisgICAgICAgIGlmICghKGNsaWVudCBpbnN0YW5jZW9m
IFdpbmRvd0NsaWVudCkpIHsKKyAgICAgICAgICAgIGV2ZW50LnNvdXJjZS5wb3N0TWVzc2FnZSgi
RkFJTDogY2xpZW50IHNvdXJjZSBpcyBub3QgYSBXaW5kb3dDbGllbnQiKTsKKyAgICAgICAgICAg
IHJldHVybjsKKyAgICAgICAgfQorICAgIH0gZWxzZSBpZiAoY2xpZW50ICE9PSBldmVudC5zb3Vy
Y2UpIHsKKyAgICAgICAgZXZlbnQuc291cmNlLnBvc3RNZXNzYWdlKCJGQUlMOiBjbGllbnQgc291
cmNlIG9mIHRoZSBzZWNvbmQgbWVzc2FnZSBpcyBub3QgdGhlIHNhbWUgYXMgdGhlIGZpcnN0IG1l
c3NhZ2UiKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBldmVudC5zb3VyY2UucG9zdE1l
c3NhZ2UoIlBBU1M6IFNlcnZpY2Ugd29ya2VyIHJlY2VpdmVkIG1lc3NhZ2UgJyIgKyBldmVudC5k
YXRhICsgIicgZnJvbSBvcmlnaW4gJyIgKyBldmVudC5vcmlnaW4gKyAiJyIpOwogfSk7CiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL3Jlc291cmNl
cy9iYXNpYy1TZXJ2aWNlV29ya2VyLXBvc3RNZXNzYWdlLmpzIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy93b3JrZXJzL3NlcnZpY2UvcmVzb3VyY2VzL2Jhc2ljLVNlcnZpY2VXb3JrZXItcG9zdE1l
c3NhZ2UuanMKaW5kZXggNzVhMDAxM2E0NDE2MzYxYjc4OGJiNmRhNDAxOWM1MzQzN2EwZjdjOS4u
ZjkwMDQ1YzU0NTkwNGYyMzRmMzUwOGNkZjU0NTFhMTA5NTU5YWZmMSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvcmVzb3VyY2VzL2Jhc2ljLVNlcnZp
Y2VXb3JrZXItcG9zdE1lc3NhZ2UuanMKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93b3Jr
ZXJzL3NlcnZpY2UvcmVzb3VyY2VzL2Jhc2ljLVNlcnZpY2VXb3JrZXItcG9zdE1lc3NhZ2UuanMK
QEAgLTEsNyArMSw3IEBACiB2YXIgbWVzc2FnZU51bWJlciA9IDE7CiBuYXZpZ2F0b3Iuc2Vydmlj
ZVdvcmtlci5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwgZnVuY3Rpb24oZXZlbnQpIHsKICAg
ICBsb2coIlBBU1M6IENsaWVudCByZWNlaXZlZCBtZXNzYWdlIGZyb20gc2VydmljZSB3b3JrZXIs
IG9yaWdpbjogIiArIGV2ZW50Lm9yaWdpbik7Ci0gICAgbG9nKCJQQVNTOiAiICsgZXZlbnQuZGF0
YSk7CisgICAgbG9nKGV2ZW50LmRhdGEpOwogICAgIGlmIChtZXNzYWdlTnVtYmVyID09IDEpIHsK
ICAgICAgICAgZXZlbnQuc291cmNlLnBvc3RNZXNzYWdlKCJNZXNzYWdlIDIiKTsKICAgICAgICAg
bWVzc2FnZU51bWJlcisrOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>327926</attachid>
            <date>2017-11-29 16:46:41 -0800</date>
            <delta_ts>2017-11-29 17:19:29 -0800</delta_ts>
            <desc>Rebasing</desc>
            <filename>bug-180143-20171129164640.patch</filename>
            <type>text/plain</type>
            <size>17746</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI1MzA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTQyNTg1MWEyODIzNjkw
NjUzOTlmYTYxZjkwNmU2MzFkMTQ0ZDA0OS4uZDhhMmVjZTY5NDQxMThhOTkxNzhiMDJhZWNmNTky
ZTE2NzNhOTlkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDE3LTExLTI5ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBTZXJ2aWNlV29ya2VyQ2xp
ZW50IG9iamVjdHMgc2hvdWxkIGJlIHJldXNlZCBpZiB0aGVyZSBpcyBhbHJlYWR5IG9uZSBleGlz
dGluZyB3aXRoIHRoZSBzYW1lIGlkZW50aWZpZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MDE0MworCisgICAgICAgIFJldmlld2VkIGJ5IENocmlz
IER1bWV6LgorCisgICAgICAgIENvdmVyZWQgYnkgdXBkYXRlZCB0ZXN0cy4KKworICAgICAgICBT
ZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUga2VlcHMgYSBtYXAgb2YgYWxsIGxpdmUgU2VydmljZVdv
cmtlckNsaWVudCBvYmplY3RzLgorICAgICAgICBCZWZvcmUgY3JlYXRpbmcgYSBuZXcgY2xpZW50
LCBpdCBjaGVja3Mgd2hldGhlciB0aGUgbWFwIGhhcyBvbmUgc3VjaCBvYmplY3Qgd2l0aCB0aGUg
c2FtZSBpZGVudGlmaWVyLgorICAgICAgICBJZiBzbywgaXQgcmV1c2VzIHRoaXMgb2JqZWN0LiBP
dGhlcndpc2UgaXQgY3JlYXRlcyBlaXRoZXIgYSBTZXJ2aWNlV29ya2VyV2luZG93Q2xpZW50IG9y
IFNlcnZpY2VXb3JrZXJDbGllbnQuCisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIHVzaW5nIGEg
U2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXIgYXMgYSBIYXNoTWFwIGtleS4KKworICAgICAg
ICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ2xpZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlNlcnZpY2VXb3JrZXJDbGllbnQ6OlNlcnZpY2VXb3JrZXJDbGllbnQpOgorICAgICAg
ICAoV2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVudDo6flNlcnZpY2VXb3JrZXJDbGllbnQpOgor
ICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ2xpZW50Lmg6CisgICAgICAg
IChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ2xpZW50OjpnZXRPckNyZWF0ZSk6CisgICAgICAgICog
d29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyLmg6CisgICAgICAg
IChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllcjo6aGFzaCBjb25zdCk6Cisg
ICAgICAgIChXVEY6OlNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVySGFzaDo6aGFzaCk6Cisg
ICAgICAgIChXVEY6OlNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVySGFzaDo6ZXF1YWwpOgor
ICAgICAgICAoV1RGOjpIYXNoVHJhaXRzPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDbGllbnRJZGVu
dGlmaWVyPjo6ZW1wdHlWYWx1ZSk6CisgICAgICAgIChXVEY6Okhhc2hUcmFpdHM8V2ViQ29yZTo6
U2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXI+Ojpjb25zdHJ1Y3REZWxldGVkVmFsdWUpOgor
ICAgICAgICAoV1RGOjpIYXNoVHJhaXRzPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDbGllbnRJZGVu
dGlmaWVyPjo6aXNEZWxldGVkVmFsdWUpOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2
aWNlV29ya2VyR2xvYmFsU2NvcGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtl
ckdsb2JhbFNjb3BlOjpzZXJ2aWNlV29ya2VyQ2xpZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlNl
cnZpY2VXb3JrZXJHbG9iYWxTY29wZTo6YWRkU2VydmljZVdvcmtlckNsaWVudCk6CisgICAgICAg
IChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGU6OnJlbW92ZVNlcnZpY2VXb3JrZXJD
bGllbnQpOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyR2xvYmFsU2Nv
cGUuaDoKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlcldpbmRvd0NsaWVu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyV2luZG93Q2xpZW50OjpTZXJ2
aWNlV29ya2VyV2luZG93Q2xpZW50KToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2Vydmlj
ZVdvcmtlcldpbmRvd0NsaWVudC5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9jb250ZXh0
L1NlcnZpY2VXb3JrZXJUaHJlYWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtl
clRocmVhZDo6cG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZSk6CisKIDIwMTct
MTEtMjkgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgbWlz
c2luZyBXVEZfTUFLRV9JU09fQUxMT0NBVEVEIG1hY3JvcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnQuY3BwCmluZGV4IDZmMTJh
NDI5MzZkODY4ZTkyNzAzMjMzZDdiYWIxY2IwMTI3OTI2Y2YuLmFlOTNiNWQzOWRlM2Y2MGExNjJh
NGY1ZjU1YThjODU4NGVhNzUyZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2VydmljZS9TZXJ2aWNlV29ya2VyQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNsaWVudC5jcHAKQEAgLTM0LDE4ICszNCwzMyBAQAog
I2luY2x1ZGUgIlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5oIgogI2luY2x1ZGUgIlNlcnZpY2VXb3Jr
ZXJHbG9iYWxTY29wZS5oIgogI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJUaHJlYWQuaCIKKyNpbmNs
dWRlICJTZXJ2aWNlV29ya2VyV2luZG93Q2xpZW50LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAotU2VydmljZVdvcmtlckNsaWVudDo6U2VydmljZVdvcmtlckNsaWVudChTY3JpcHRFeGVjdXRp
b25Db250ZXh0JiBjb250ZXh0LCBTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllciBpZGVudGlm
aWVyLCBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSYmIGRhdGEpCitSZWY8U2VydmljZVdvcmtlckNs
aWVudD4gU2VydmljZVdvcmtlckNsaWVudDo6Z2V0T3JDcmVhdGUoU2VydmljZVdvcmtlckdsb2Jh
bFNjb3BlJiBjb250ZXh0LCBTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllciBpZGVudGlmaWVy
LCBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSYmIGRhdGEpCit7CisgICAgaWYgKGF1dG8qIGNsaWVu
dCA9IGNvbnRleHQuc2VydmljZVdvcmtlckNsaWVudChpZGVudGlmaWVyKSkKKyAgICAgICAgcmV0
dXJuICpjbGllbnQ7CisKKyAgICBpZiAoZGF0YS50eXBlID09IFNlcnZpY2VXb3JrZXJDbGllbnRU
eXBlOjpXaW5kb3cpCisgICAgICAgIHJldHVybiBTZXJ2aWNlV29ya2VyV2luZG93Q2xpZW50Ojpj
cmVhdGUoY29udGV4dCwgaWRlbnRpZmllciwgV1RGTW92ZShkYXRhKSk7CisKKyAgICByZXR1cm4g
YWRvcHRSZWYoKm5ldyBTZXJ2aWNlV29ya2VyQ2xpZW50IHsgY29udGV4dCwgaWRlbnRpZmllciwg
V1RGTW92ZShkYXRhKSB9KTsKK30KKworU2VydmljZVdvcmtlckNsaWVudDo6U2VydmljZVdvcmtl
ckNsaWVudChTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUmIGNvbnRleHQsIFNlcnZpY2VXb3JrZXJD
bGllbnRJZGVudGlmaWVyIGlkZW50aWZpZXIsIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhJiYgZGF0
YSkKICAgICA6IENvbnRleHREZXN0cnVjdGlvbk9ic2VydmVyKCZjb250ZXh0KQogICAgICwgbV9p
ZGVudGlmaWVyKGlkZW50aWZpZXIpCiAgICAgLCBtX2RhdGEoV1RGTW92ZShkYXRhKSkKIHsKKyAg
ICBjb250ZXh0LmFkZFNlcnZpY2VXb3JrZXJDbGllbnQoKnRoaXMpOwogfQogCiBTZXJ2aWNlV29y
a2VyQ2xpZW50Ojp+U2VydmljZVdvcmtlckNsaWVudCgpCiB7CisgICAgaWYgKGF1dG8qIGNvbnRl
eHQgPSBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpCisgICAgICAgIGRvd25jYXN0PFNlcnZpY2VX
b3JrZXJHbG9iYWxTY29wZT4oKmNvbnRleHQpLnJlbW92ZVNlcnZpY2VXb3JrZXJDbGllbnQoKnRo
aXMpOwogfQogCiBjb25zdCBVUkwmIFNlcnZpY2VXb3JrZXJDbGllbnQ6OnVybCgpIGNvbnN0CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNs
aWVudC5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGll
bnQuaAppbmRleCBmYmI5MGIwYzFmN2Q0YmYzZWIzYjc5MDhiZjRmOGZlYTU3MTVlMzYzLi40NmE0
MzhjOTgyY2E4ZTZiOGQ4MTRjNjgyNTE0ZTVlZTMyODVjOWEzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNsaWVudC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ2xpZW50LmgKQEAgLTM5LDYg
KzM5LDggQEAgY2xhc3MgSlNWYWx1ZTsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitjbGFzcyBT
ZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGU7CisKIGNsYXNzIFNlcnZpY2VXb3JrZXJDbGllbnQgOiBw
dWJsaWMgUmVmQ291bnRlZDxTZXJ2aWNlV29ya2VyQ2xpZW50PiwgcHVibGljIENvbnRleHREZXN0
cnVjdGlvbk9ic2VydmVyIHsKIHB1YmxpYzoKICAgICB1c2luZyBJZGVudGlmaWVyID0gU2Vydmlj
ZVdvcmtlckNsaWVudElkZW50aWZpZXI7CkBAIC00NiwxMCArNDgsNyBAQCBwdWJsaWM6CiAgICAg
dXNpbmcgVHlwZSA9IFNlcnZpY2VXb3JrZXJDbGllbnRUeXBlOwogICAgIHVzaW5nIEZyYW1lVHlw
ZSA9IFNlcnZpY2VXb3JrZXJDbGllbnRGcmFtZVR5cGU7CiAKLSAgICBzdGF0aWMgUmVmPFNlcnZp
Y2VXb3JrZXJDbGllbnQ+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBT
ZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllciBpZGVudGlmaWVyLCBTZXJ2aWNlV29ya2VyQ2xp
ZW50RGF0YSYmIGRhdGEpCi0gICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTZXJ2
aWNlV29ya2VyQ2xpZW50KGNvbnRleHQsIGlkZW50aWZpZXIsIFdURk1vdmUoZGF0YSkpKTsKLSAg
ICB9CisgICAgc3RhdGljIFJlZjxTZXJ2aWNlV29ya2VyQ2xpZW50PiBnZXRPckNyZWF0ZShTZXJ2
aWNlV29ya2VyR2xvYmFsU2NvcGUmLCBTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllciwgU2Vy
dmljZVdvcmtlckNsaWVudERhdGEmJik7CiAKICAgICB+U2VydmljZVdvcmtlckNsaWVudCgpOwog
CkBAIC02Myw3ICs2Miw3IEBAIHB1YmxpYzoKICAgICBFeGNlcHRpb25Pcjx2b2lkPiBwb3N0TWVz
c2FnZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgSlNDOjpKU1ZhbHVlIG1lc3NhZ2UsIFZlY3Rv
cjxKU0M6OlN0cm9uZzxKU0M6OkpTT2JqZWN0Pj4mJiB0cmFuc2Zlcik7CiAKIHByb3RlY3RlZDoK
LSAgICBTZXJ2aWNlV29ya2VyQ2xpZW50KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBTZXJ2aWNl
V29ya2VyQ2xpZW50SWRlbnRpZmllciwgU2VydmljZVdvcmtlckNsaWVudERhdGEmJik7CisgICAg
U2VydmljZVdvcmtlckNsaWVudChTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUmLCBTZXJ2aWNlV29y
a2VyQ2xpZW50SWRlbnRpZmllciwgU2VydmljZVdvcmtlckNsaWVudERhdGEmJik7CiAKICAgICBT
ZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllciBtX2lkZW50aWZpZXI7CiAgICAgU2VydmljZVdv
cmtlckNsaWVudERhdGEgbV9kYXRhOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXIuaAppbmRleCA0
Y2I0YTE0ZjA2ZTNkNTcyYjcyY2NkOTQ4ZmI1Zjk3ZjdjMDlkOWFkLi42Mjg1NWQ1NGJjYzcwMTkx
N2QxYjhmYjI0YTM5NzYzZGQzYWI1NmE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXIuaApA
QCAtMzcsNiArMzcsOCBAQCBzdHJ1Y3QgU2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXIgewog
ICAgIFNXU2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXIgc2VydmVyQ29ubmVjdGlvbklkZW50aWZp
ZXI7CiAgICAgRG9jdW1lbnRJZGVudGlmaWVyIGNvbnRleHRJZGVudGlmaWVyOwogCisgICAgdW5z
aWduZWQgaGFzaCgpIGNvbnN0OworCiAgICAgU3RyaW5nIHRvU3RyaW5nKCkgY29uc3QgeyByZXR1
cm4gU3RyaW5nOjpudW1iZXIoc2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXIudG9VSW50NjQoKSkg
KyAiLSIgKyAgU3RyaW5nOjpudW1iZXIoY29udGV4dElkZW50aWZpZXIudG9VSW50NjQoKSk7IH0K
IAogICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImKSBjb25z
dDsKQEAgLTcwLDYgKzcyLDM3IEBAIHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlckNsaWVudElk
ZW50aWZpZXI+IFNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyOjpkZWNvCiAgICAgcmV0dXJu
IHsgeyBXVEZNb3ZlKCpzZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllciksIFdURk1vdmUoKmNvbnRl
eHRJZGVudGlmaWVyKSB9IH07CiB9CiAKK2lubGluZSB1bnNpZ25lZCBTZXJ2aWNlV29ya2VyQ2xp
ZW50SWRlbnRpZmllcjo6aGFzaCgpIGNvbnN0Cit7CisgICAgdW5zaWduZWQgaGFzaGVzWzJdOwor
ICAgIGhhc2hlc1swXSA9IFdURjo6aW50SGFzaChzZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllci50
b1VJbnQ2NCgpKTsKKyAgICBoYXNoZXNbMV0gPSBXVEY6OmludEhhc2goY29udGV4dElkZW50aWZp
ZXIudG9VSW50NjQoKSk7CisKKyAgICByZXR1cm4gU3RyaW5nSGFzaGVyOjpoYXNoTWVtb3J5KGhh
c2hlcywgc2l6ZW9mKGhhc2hlcykpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKK25h
bWVzcGFjZSBXVEYgeworCitzdHJ1Y3QgU2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXJIYXNo
IHsKKyAgICBzdGF0aWMgdW5zaWduZWQgaGFzaChjb25zdCBXZWJDb3JlOjpTZXJ2aWNlV29ya2Vy
Q2xpZW50SWRlbnRpZmllciYga2V5KSB7IHJldHVybiBrZXkuaGFzaCgpOyB9CisgICAgc3RhdGlj
IGJvb2wgZXF1YWwoY29uc3QgV2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXIm
IGEsIGNvbnN0IFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyJiBiKSB7IHJl
dHVybiBhID09IGI7IH0KKyAgICBzdGF0aWMgY29uc3QgYm9vbCBzYWZlVG9Db21wYXJlVG9FbXB0
eU9yRGVsZXRlZCA9IHRydWU7Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPFdl
YkNvcmU6OlNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyPiA6IEdlbmVyaWNIYXNoVHJhaXRz
PFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyPiB7CisgICAgc3RhdGljIFdl
YkNvcmU6OlNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyIGVtcHR5VmFsdWUoKSB7IHJldHVy
biB7IH07IH0KKworICAgIHN0YXRpYyB2b2lkIGNvbnN0cnVjdERlbGV0ZWRWYWx1ZShXZWJDb3Jl
OjpTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllciYgc2xvdCkgeyBzbG90LnNlcnZlckNvbm5l
Y3Rpb25JZGVudGlmaWVyID0gbWFrZU9iamVjdElkZW50aWZpZXI8V2ViQ29yZTo6U1dTZXJ2ZXJD
b25uZWN0aW9uSWRlbnRpZmllclR5cGU+KHN0ZDo6bnVtZXJpY19saW1pdHM8dWludDY0X3Q+Ojpt
YXgoKSk7IH0KKworICAgIHN0YXRpYyBib29sIGlzRGVsZXRlZFZhbHVlKGNvbnN0IFdlYkNvcmU6
OlNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyJiBzbG90KSB7IHJldHVybiBzbG90LnNlcnZl
ckNvbm5lY3Rpb25JZGVudGlmaWVyLnRvVUludDY0KCkgPT0gc3RkOjpudW1lcmljX2xpbWl0czx1
aW50NjRfdD46Om1heCgpOyB9Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxX
ZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllcj4geworICAgIHR5cGVkZWYgU2Vy
dmljZVdvcmtlckNsaWVudElkZW50aWZpZXJIYXNoIEhhc2g7Cit9OworCit9CisKICNlbmRpZiAv
LyBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuY3BwCmluZGV4IDdmODAz
ZDlhNWE2ZmE4YjIyZGY1ZWQ2ZGJlNmIyYmRhZDA2ZjY5OGEuLjMzYzdmMmUxZjFkMzlkOGMxOTBm
YTA2YjA3MDgwNzRkNGIyNzBhYzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2VydmljZS9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuY3BwCkBAIC0yOCw4ICsy
OCwxMCBAQAogCiAjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQogCisjaW5jbHVkZSAiU2Vydmlj
ZVdvcmtlckNsaWVudC5oIgogI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJDbGllbnRzLmgiCiAjaW5j
bHVkZSAiU2VydmljZVdvcmtlclRocmVhZC5oIgorI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJXaW5k
b3dDbGllbnQuaCIKICNpbmNsdWRlICJXb3JrZXJOYXZpZ2F0b3IuaCIKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewpAQCAtNTgsNiArNjAsMjMgQEAgU2VydmljZVdvcmtlclRocmVhZCYgU2VydmljZVdv
cmtlckdsb2JhbFNjb3BlOjp0aHJlYWQoKQogICAgIHJldHVybiBzdGF0aWNfY2FzdDxTZXJ2aWNl
V29ya2VyVGhyZWFkJj4oV29ya2VyR2xvYmFsU2NvcGU6OnRocmVhZCgpKTsKIH0KIAorU2Vydmlj
ZVdvcmtlckNsaWVudCogU2VydmljZVdvcmtlckdsb2JhbFNjb3BlOjpzZXJ2aWNlV29ya2VyQ2xp
ZW50KFNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyIGlkZW50aWZpZXIpCit7CisgICAgcmV0
dXJuIG1fY2xpZW50TWFwLmdldChpZGVudGlmaWVyKTsKK30KKwordm9pZCBTZXJ2aWNlV29ya2Vy
R2xvYmFsU2NvcGU6OmFkZFNlcnZpY2VXb3JrZXJDbGllbnQoU2VydmljZVdvcmtlckNsaWVudCYg
Y2xpZW50KQoreworICAgIGF1dG8gcmVzdWx0ID0gbV9jbGllbnRNYXAuYWRkKGNsaWVudC5pZGVu
dGlmaWVyKCksICZjbGllbnQpOworICAgIEFTU0VSVF9VTlVTRUQocmVzdWx0LCByZXN1bHQuaXNO
ZXdFbnRyeSk7Cit9CisKK3ZvaWQgU2VydmljZVdvcmtlckdsb2JhbFNjb3BlOjpyZW1vdmVTZXJ2
aWNlV29ya2VyQ2xpZW50KFNlcnZpY2VXb3JrZXJDbGllbnQmIGNsaWVudCkKK3sKKyAgICBhdXRv
IGlzUmVtb3ZlZCA9IG1fY2xpZW50TWFwLnJlbW92ZShjbGllbnQuaWRlbnRpZmllcigpKTsKKyAg
ICBBU1NFUlRfVU5VU0VEKGlzUmVtb3ZlZCwgaXNSZW1vdmVkKTsKK30KKwogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJHbG9iYWxTY29w
ZS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJHbG9iYWxT
Y29wZS5oCmluZGV4IDdiOGYzYTk4ZmI5NTA2N2RmZmQ3OWM0NTg1NTAzYWU1ODIzMDEzYzguLjA4
YWExYzlkYzYxMTA5NDVhZDBhZDFhZDUyMjBiMzNmNzk2MTZkMTMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckdsb2JhbFNjb3Bl
LmgKQEAgLTI3LDYgKzI3LDcgQEAKIAogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKIAorI2lu
Y2x1ZGUgIlNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyLmgiCiAjaW5jbHVkZSAiU2Vydmlj
ZVdvcmtlckNvbnRleHREYXRhLmgiCiAjaW5jbHVkZSAiU2VydmljZVdvcmtlclJlZ2lzdHJhdGlv
bi5oIgogI2luY2x1ZGUgIldvcmtlckdsb2JhbFNjb3BlLmgiCkBAIC0zNCw2ICszNSw4IEBACiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIERlZmVycmVkUHJvbWlzZTsKK3N0cnVjdCBTZXJ2
aWNlV29ya2VyQ2xpZW50RGF0YTsKK2NsYXNzIFNlcnZpY2VXb3JrZXJDbGllbnQ7CiBjbGFzcyBT
ZXJ2aWNlV29ya2VyQ2xpZW50czsKIGNsYXNzIFNlcnZpY2VXb3JrZXJUaHJlYWQ7CiAKQEAgLTU3
LDEyICs2MCwxNyBAQCBwdWJsaWM6CiAKICAgICBTZXJ2aWNlV29ya2VyVGhyZWFkJiB0aHJlYWQo
KTsKIAorICAgIFNlcnZpY2VXb3JrZXJDbGllbnQqIHNlcnZpY2VXb3JrZXJDbGllbnQoU2Vydmlj
ZVdvcmtlckNsaWVudElkZW50aWZpZXIpOworICAgIHZvaWQgYWRkU2VydmljZVdvcmtlckNsaWVu
dChTZXJ2aWNlV29ya2VyQ2xpZW50Jik7CisgICAgdm9pZCByZW1vdmVTZXJ2aWNlV29ya2VyQ2xp
ZW50KFNlcnZpY2VXb3JrZXJDbGllbnQmKTsKKwogcHJpdmF0ZToKICAgICBTZXJ2aWNlV29ya2Vy
R2xvYmFsU2NvcGUoY29uc3QgU2VydmljZVdvcmtlckNvbnRleHREYXRhJiwgY29uc3QgVVJMJiwg
Y29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBp
c09ubGluZSwgU2VydmljZVdvcmtlclRocmVhZCYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxk
Q29udGVudFNlY3VyaXR5UG9saWN5LCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBN
b25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5Kiwg
U29ja2V0UHJvdmlkZXIqLCBQQUw6OlNlc3Npb25JRCk7CiAKICAgICBTZXJ2aWNlV29ya2VyQ29u
dGV4dERhdGEgbV9jb250ZXh0RGF0YTsKICAgICBSZWY8U2VydmljZVdvcmtlclJlZ2lzdHJhdGlv
bj4gbV9yZWdpc3RyYXRpb247CiAgICAgUmVmPFNlcnZpY2VXb3JrZXJDbGllbnRzPiBtX2NsaWVu
dHM7CisgICAgSGFzaE1hcDxTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllciwgU2VydmljZVdv
cmtlckNsaWVudCo+IG1fY2xpZW50TWFwOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJX
aW5kb3dDbGllbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VX
b3JrZXJXaW5kb3dDbGllbnQuY3BwCmluZGV4IDRmZWI5MDgyZDVmYThjY2FmMDRmZjBiNzM5M2Jl
NzM3NWY0OWRkYzMuLjIwNWJhNTNiNDcyZTdkZTk1MTZlNmM5NTg2MTkxMWVmYmUyY2RmNTkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyV2lu
ZG93Q2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vydmlj
ZVdvcmtlcldpbmRvd0NsaWVudC5jcHAKQEAgLTMyLDcgKzMyLDcgQEAKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi1TZXJ2aWNlV29ya2VyV2luZG93Q2xpZW50OjpTZXJ2aWNlV29ya2VyV2luZG93
Q2xpZW50KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIFNlcnZpY2VXb3JrZXJDbGll
bnRJZGVudGlmaWVyIGlkZW50aWZpZXIsIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhJiYgZGF0YSkK
K1NlcnZpY2VXb3JrZXJXaW5kb3dDbGllbnQ6OlNlcnZpY2VXb3JrZXJXaW5kb3dDbGllbnQoU2Vy
dmljZVdvcmtlckdsb2JhbFNjb3BlJiBjb250ZXh0LCBTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRp
ZmllciBpZGVudGlmaWVyLCBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSYmIGRhdGEpCiAgICAgOiBT
ZXJ2aWNlV29ya2VyQ2xpZW50KGNvbnRleHQsIGlkZW50aWZpZXIsIFdURk1vdmUoZGF0YSkpCiB7
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdv
cmtlcldpbmRvd0NsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZp
Y2VXb3JrZXJXaW5kb3dDbGllbnQuaAppbmRleCBjN2I0NTRhY2VmZGUwNGMwZTE4NjNkOTE2ODY5
ZTAyODg3MzAwODlmLi4xYzFlNzU5OWY4ZmY4ZmUxMTY5MTJmMTZkOWY0YTI1ODc1NzY4ZWYzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlcldp
bmRvd0NsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNl
V29ya2VyV2luZG93Q2xpZW50LmgKQEAgLTMzLDEwICszMywxMSBAQAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBjbGFzcyBEZWZlcnJlZFByb21pc2U7CitjbGFzcyBTZXJ2aWNlV29ya2VyR2xvYmFs
U2NvcGU7CiAKIGNsYXNzIFNlcnZpY2VXb3JrZXJXaW5kb3dDbGllbnQgZmluYWwgOiBwdWJsaWMg
U2VydmljZVdvcmtlckNsaWVudCB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJlZjxTZXJ2aWNlV29y
a2VyV2luZG93Q2xpZW50PiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwg
U2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXIgaWRlbnRpZmllciwgU2VydmljZVdvcmtlckNs
aWVudERhdGEmJiBkYXRhKQorICAgIHN0YXRpYyBSZWY8U2VydmljZVdvcmtlcldpbmRvd0NsaWVu
dD4gY3JlYXRlKFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZSYgY29udGV4dCwgU2VydmljZVdvcmtl
ckNsaWVudElkZW50aWZpZXIgaWRlbnRpZmllciwgU2VydmljZVdvcmtlckNsaWVudERhdGEmJiBk
YXRhKQogICAgIHsKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU2VydmljZVdvcmtlcldp
bmRvd0NsaWVudChjb250ZXh0LCBpZGVudGlmaWVyLCBXVEZNb3ZlKGRhdGEpKSk7CiAgICAgfQpA
QCAtNDgsNyArNDksNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBuYXZpZ2F0ZShjb25zdCBTdHJpbmcm
IHVybCwgUmVmPERlZmVycmVkUHJvbWlzZT4mJik7CiAKIHByaXZhdGU6Ci0gICAgU2VydmljZVdv
cmtlcldpbmRvd0NsaWVudChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgU2VydmljZVdvcmtlckNs
aWVudElkZW50aWZpZXIsIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhJiYpOworICAgIFNlcnZpY2VX
b3JrZXJXaW5kb3dDbGllbnQoU2VydmljZVdvcmtlckdsb2JhbFNjb3BlJiwgU2VydmljZVdvcmtl
ckNsaWVudElkZW50aWZpZXIsIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhJiYpOwogfTsKIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9z
ZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlclRocmVhZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcAppbmRleCAxMDNi
NDYyZGU2ZDYwODBjMWViMGZkOWMyOTRhMDRmNDJkYmNmNmVhLi4xMzk5Zjk3NzQ3MTQ0ODNmMDM3
NzNkZmYyNzU3MDFlZjU4YjY3ZmI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcApAQCAt
MTA5LDcgKzEwOSw3IEBAIHZvaWQgU2VydmljZVdvcmtlclRocmVhZDo6cG9zdE1lc3NhZ2VUb1Nl
cnZpY2VXb3JrZXJHbG9iYWxTY29wZShSZWY8U2VyaWFsaXplZFNjCiAgICAgU2NyaXB0RXhlY3V0
aW9uQ29udGV4dDo6VGFzayB0YXNrKFt0aGlzLCBjaGFubmVscyA9IFdURk1vdmUoY2hhbm5lbHMp
LCBtZXNzYWdlID0gV1RGTW92ZShtZXNzYWdlKSwgc291cmNlSWRlbnRpZmllciwgc291cmNlRGF0
YSA9IHNvdXJjZURhdGEuaXNvbGF0ZWRDb3B5KCldIChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBj
b250ZXh0KSBtdXRhYmxlIHsKICAgICAgICAgYXV0byYgc2VydmljZVdvcmtlckdsb2JhbFNjb3Bl
ID0gZG93bmNhc3Q8U2VydmljZVdvcmtlckdsb2JhbFNjb3BlPihjb250ZXh0KTsKICAgICAgICAg
YXV0byBwb3J0cyA9IE1lc3NhZ2VQb3J0OjplbnRhbmdsZVBvcnRzKHNlcnZpY2VXb3JrZXJHbG9i
YWxTY29wZSwgV1RGTW92ZShjaGFubmVscykpOwotICAgICAgICBSZWZQdHI8U2VydmljZVdvcmtl
ckNsaWVudD4gc291cmNlID0gU2VydmljZVdvcmtlcldpbmRvd0NsaWVudDo6Y3JlYXRlKGNvbnRl
eHQsIHNvdXJjZUlkZW50aWZpZXIsIFdURk1vdmUoc291cmNlRGF0YSkpOworICAgICAgICBSZWZQ
dHI8U2VydmljZVdvcmtlckNsaWVudD4gc291cmNlID0gU2VydmljZVdvcmtlckNsaWVudDo6Z2V0
T3JDcmVhdGUoc2VydmljZVdvcmtlckdsb2JhbFNjb3BlLCBzb3VyY2VJZGVudGlmaWVyLCBXVEZN
b3ZlKHNvdXJjZURhdGEpKTsKICAgICAgICAgYXV0byBzb3VyY2VPcmlnaW4gPSBTZWN1cml0eU9y
aWdpbjo6Y3JlYXRlKHNvdXJjZS0+dXJsKCkpOwogICAgICAgICBhdXRvIG1lc3NhZ2VFdmVudCA9
IEV4dGVuZGFibGVNZXNzYWdlRXZlbnQ6OmNyZWF0ZShXVEZNb3ZlKHBvcnRzKSwgV1RGTW92ZSht
ZXNzYWdlKSwgc291cmNlT3JpZ2luLT50b1N0cmluZygpLCB7IH0sIEV4dGVuZGFibGVNZXNzYWdl
RXZlbnRTb3VyY2UgeyBzb3VyY2UgfSk7CiAgICAgICAgIHNlcnZpY2VXb3JrZXJHbG9iYWxTY29w
ZS5kaXNwYXRjaEV2ZW50KG1lc3NhZ2VFdmVudCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZWM4NmY1NDFjNWRiYjE5OTE5
Yzc3ZWM0MWU3YzNhZTZmYWE5YTJlYy4uZjExMDJmY2Q1OWM5MTk3YzUzYTQyYjE2NzQ2YTQ1OWU2
ZTI4ZDZjNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE3LTExLTI5ICBZb3Vlbm4gRmFibGV0
ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBTZXJ2aWNlV29ya2VyQ2xpZW50IG9iamVj
dHMgc2hvdWxkIGJlIHJldXNlZCBpZiB0aGVyZSBpcyBhbHJlYWR5IG9uZSBleGlzdGluZyB3aXRo
IHRoZSBzYW1lIGlkZW50aWZpZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE4MDE0MworCisgICAgICAgIFJldmlld2VkIGJ5IENocmlzIER1bWV6Lgor
CisgICAgICAgICogaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvcmVzb3VyY2VzL2Jhc2ljLVNl
cnZpY2VXb3JrZXItcG9zdE1lc3NhZ2Utd29ya2VyLmpzOgorICAgICAgICAoZXZlbnQuZWxzZSk6
CisgICAgICAgICogaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvcmVzb3VyY2VzL2Jhc2ljLVNl
cnZpY2VXb3JrZXItcG9zdE1lc3NhZ2UuanM6CisKIDIwMTctMTEtMjkgIFJ5YW4gSGFkZGFkICA8
cnlhbmhhZGRhZEBhcHBsZS5jb20+CiAKICAgICAgICAgTWFyayBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL1hNTEh0dHBSZXF1ZXN0L2ZpcmluZy1ldmVudHMtaHR0cC1uby1jb250ZW50
LWxlbmd0aC5odG1sIGFzIGZsYWt5LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93b3JrZXJzL3NlcnZpY2UvcmVzb3VyY2VzL2Jhc2ljLVNlcnZpY2VXb3JrZXItcG9zdE1lc3Nh
Z2Utd29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvcmVz
b3VyY2VzL2Jhc2ljLVNlcnZpY2VXb3JrZXItcG9zdE1lc3NhZ2Utd29ya2VyLmpzCmluZGV4IGI0
OWRhZDcxMzcyZTk5ZDdkNDk3ZjJkZTQwY2UxMWQ3OTRjYTNlNzYuLmVlM2RlNTk3MWIxMDlmY2Rh
MDExZTEwYzI5YTg4MmI0ODQxOWIzZWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvd29ya2Vycy9zZXJ2aWNlL3Jlc291cmNlcy9iYXNpYy1TZXJ2aWNlV29ya2VyLXBvc3RNZXNz
YWdlLXdvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dvcmtlcnMvc2Vydmlj
ZS9yZXNvdXJjZXMvYmFzaWMtU2VydmljZVdvcmtlci1wb3N0TWVzc2FnZS13b3JrZXIuanMKQEAg
LTEsNCArMSwxNSBAQAordmFyIGNsaWVudCA9IG51bGw7CiBzZWxmLmFkZEV2ZW50TGlzdGVuZXIo
Im1lc3NhZ2UiLCAoZXZlbnQpID0+IHsKLSAgICBldmVudC5zb3VyY2UucG9zdE1lc3NhZ2UoIlNl
cnZpY2Ugd29ya2VyIHJlY2VpdmVkIG1lc3NhZ2UgJyIgKyBldmVudC5kYXRhICsgIicgZnJvbSBv
cmlnaW4gJyIgKyBldmVudC5vcmlnaW4gKyAiJyIpOworICAgIGlmICghY2xpZW50KSB7CisgICAg
ICAgIGNsaWVudCA9IGV2ZW50LnNvdXJjZTsKKyAgICAgICAgaWYgKCEoY2xpZW50IGluc3RhbmNl
b2YgV2luZG93Q2xpZW50KSkgeworICAgICAgICAgICAgZXZlbnQuc291cmNlLnBvc3RNZXNzYWdl
KCJGQUlMOiBjbGllbnQgc291cmNlIGlzIG5vdCBhIFdpbmRvd0NsaWVudCIpOworICAgICAgICAg
ICAgcmV0dXJuOworICAgICAgICB9CisgICAgfSBlbHNlIGlmIChjbGllbnQgIT09IGV2ZW50LnNv
dXJjZSkgeworICAgICAgICBldmVudC5zb3VyY2UucG9zdE1lc3NhZ2UoIkZBSUw6IGNsaWVudCBz
b3VyY2Ugb2YgdGhlIHNlY29uZCBtZXNzYWdlIGlzIG5vdCB0aGUgc2FtZSBhcyB0aGUgZmlyc3Qg
bWVzc2FnZSIpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIGV2ZW50LnNvdXJjZS5wb3N0
TWVzc2FnZSgiUEFTUzogU2VydmljZSB3b3JrZXIgcmVjZWl2ZWQgbWVzc2FnZSAnIiArIGV2ZW50
LmRhdGEgKyAiJyBmcm9tIG9yaWdpbiAnIiArIGV2ZW50Lm9yaWdpbiArICInIik7CiB9KTsKIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvcmVzb3Vy
Y2VzL2Jhc2ljLVNlcnZpY2VXb3JrZXItcG9zdE1lc3NhZ2UuanMgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3dvcmtlcnMvc2VydmljZS9yZXNvdXJjZXMvYmFzaWMtU2VydmljZVdvcmtlci1wb3N0
TWVzc2FnZS5qcwppbmRleCA3NWEwMDEzYTQ0MTYzNjFiNzg4YmI2ZGE0MDE5YzUzNDM3YTBmN2M5
Li5mOTAwNDVjNTQ1OTA0ZjIzNGYzNTA4Y2RmNTQ1MWExMDk1NTlhZmYxIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9yZXNvdXJjZXMvYmFzaWMtU2Vy
dmljZVdvcmtlci1wb3N0TWVzc2FnZS5qcworKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dv
cmtlcnMvc2VydmljZS9yZXNvdXJjZXMvYmFzaWMtU2VydmljZVdvcmtlci1wb3N0TWVzc2FnZS5q
cwpAQCAtMSw3ICsxLDcgQEAKIHZhciBtZXNzYWdlTnVtYmVyID0gMTsKIG5hdmlnYXRvci5zZXJ2
aWNlV29ya2VyLmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLCBmdW5jdGlvbihldmVudCkgewog
ICAgIGxvZygiUEFTUzogQ2xpZW50IHJlY2VpdmVkIG1lc3NhZ2UgZnJvbSBzZXJ2aWNlIHdvcmtl
ciwgb3JpZ2luOiAiICsgZXZlbnQub3JpZ2luKTsKLSAgICBsb2coIlBBU1M6ICIgKyBldmVudC5k
YXRhKTsKKyAgICBsb2coZXZlbnQuZGF0YSk7CiAgICAgaWYgKG1lc3NhZ2VOdW1iZXIgPT0gMSkg
ewogICAgICAgICBldmVudC5zb3VyY2UucG9zdE1lc3NhZ2UoIk1lc3NhZ2UgMiIpOwogICAgICAg
ICBtZXNzYWdlTnVtYmVyKys7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>