<?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>207122</bug_id>
          
          <creation_ts>2020-02-03 08:58:44 -0800</creation_ts>
          <short_desc>NetworkProcess should be notified by UIProcess when its service worker process connection should be on</short_desc>
          <delta_ts>2020-02-04 09:24:15 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Service Workers</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>achristensen</cc>
    
    <cc>beidson</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1613976</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-02-03 08:58:44 -0800</bug_when>
    <thetext>NetworkProcess should be notified by UIProcess when its service worker process connection should be on</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1613986</commentid>
    <comment_count>1</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-02-03 09:09:19 -0800</bug_when>
    <thetext>&lt;rdar://problem/59089780&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1613987</commentid>
    <comment_count>2</comment_count>
      <attachid>389523</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-02-03 09:10:14 -0800</bug_when>
    <thetext>Created attachment 389523
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1614479</commentid>
    <comment_count>3</comment_count>
      <attachid>389649</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-02-04 03:51:04 -0800</bug_when>
    <thetext>Created attachment 389649
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1614488</commentid>
    <comment_count>4</comment_count>
      <attachid>389650</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-02-04 04:53:13 -0800</bug_when>
    <thetext>Created attachment 389650
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1614517</commentid>
    <comment_count>5</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-02-04 07:20:53 -0800</bug_when>
    <thetext>&lt;rdar://problem/58850406&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1614574</commentid>
    <comment_count>6</comment_count>
      <attachid>389650</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-02-04 09:02:11 -0800</bug_when>
    <thetext>Comment on attachment 389650
Patch

Clearing flags on attachment: 389650

Committed r255681: &lt;https://trac.webkit.org/changeset/255681&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1614575</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-02-04 09:02:13 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1614583</commentid>
    <comment_count>8</comment_count>
      <attachid>389650</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-02-04 09:24:15 -0800</bug_when>
    <thetext>Comment on attachment 389650
Patch

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

&gt; Source/WebKit/UIProcess/WebProcessProxy.cpp:1610
&gt; +    sendWithAsyncReply(Messages::WebProcess::EstablishWorkerContextConnectionToNetworkProcess { processPool().defaultPageGroup().pageGroupID(), m_serviceWorkerInformation-&gt;serviceWorkerPageProxyID, m_serviceWorkerInformation-&gt;serviceWorkerPageID, store, *m_registrableDomain, m_serviceWorkerInformation-&gt;initializationData }, [activity = m_throttler.backgroundActivity(&quot;Establish Service Worker&quot;_s), completionHandler = WTFMove(completionHandler)]() mutable {

BTW, I think it is a great fix to take a background activity here. I had identified this as an issue locally and was about to upload a patch to fix this. Previously, the service worker process could suspend *before* having finished initialization and setup a connection to the network process. I am hoping this will address the flakiness issues on the bots.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>389523</attachid>
            <date>2020-02-03 09:10:14 -0800</date>
            <delta_ts>2020-02-04 03:50:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-207122-20200203181012.patch</filename>
            <type>text/plain</type>
            <size>24707</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU1NTU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWI0MjdhMmEyNjdjNzJl
NjIwYTg5ZDcyODRjOTA2ZGQ4Yjc2OTczOC4uZTEwYzRjNTczMjMyNzMxYmZhMGI0ZjQ0Zjc1MDIy
MTVlMTlmNmVmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDIwLTAyLTAzICB5b3Vl
bm4gZmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBOZXR3b3JrUHJvY2VzcyBz
aG91bGQgYmUgbm90aWZpZWQgYnkgVUlQcm9jZXNzIHdoZW4gaXRzIHNlcnZpY2Ugd29ya2VyIHBy
b2Nlc3MgY29ubmVjdGlvbiBzaG91bGQgYmUgb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNzEyMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIG5ldyB2YWxpZGF0ZUNvbnRleHRDb25uZWN0aW9u
IG1ldGhvZCB0aGF0IGlzIGNhbGxlZCB3aGVuIHRoZSBjb250ZXh0IGNvbm5lY3Rpb24gc2hvdWxk
IGhhdmUgYmVlbiBjcmVhdGVkLgorICAgICAgICBJZiBpdCB3YXMgY3JlYXRlZCwgbm90aGluZyBo
YXBwZW5zLgorICAgICAgICBJZiBpdCB3YXMgbm90IHlldCBjcmVhdGVkLCBTV1NlcnZlciBhc2tz
IGFnYWluIGZvciBhIG5ldyBjb25uZWN0aW9uLgorCisgICAgICAgICogd29ya2Vycy9zZXJ2aWNl
L3NlcnZlci9TV1NlcnZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTV1NlcnZlcjo6YWRkQ29u
dGV4dENvbm5lY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6U1dTZXJ2ZXI6OnJlbW92ZUNvbnRl
eHRDb25uZWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlNXU2VydmVyOjp2YWxpZGF0ZUNvbnRl
eHRDb25uZWN0aW9uKToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVy
Lmg6CisKIDIwMjAtMDItMDMgIHlvdWVubiBmYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAg
ICAgICAgIFsgbWFjT1Mgd2syIF0gaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zdHJlYW0vZ2V0LWRp
c3BsYXktbWVkaWEtcHJvbXB0Lmh0bWwgaXMgZmxha3kgZmFpbHVyZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBhZjI1
NTA3OTBmMjUwYmI0YzA2MThhMGU3MTQxODEyMmU3M2M5NmQxLi4yZDlmMmY1YTM0YTEzZmQ5ODFm
NTJmOWI1NGVlMjg0NDA4YjFkODE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDIwLTAy
LTAzICB5b3Vlbm4gZmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBOZXR3b3Jr
UHJvY2VzcyBzaG91bGQgYmUgbm90aWZpZWQgYnkgVUlQcm9jZXNzIHdoZW4gaXRzIHNlcnZpY2Ug
d29ya2VyIHByb2Nlc3MgY29ubmVjdGlvbiBzaG91bGQgYmUgb24KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNzEyMgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBjb21wbGV0aW9uIGhhbmRsZXJzIHRv
IHRoZSBtZXNzYWdpbmcgZnJvbSBOZXR3b3JrUHJvY2VzcyAtPiBVSVByb2Nlc3MgLT4gV2ViUHJv
Y2VzcyAtPiBOZXR3b3JrUHJvY2VzcworICAgICAgICB1c2VkIHRvIGNyZWF0ZSBhIHNlcnZpY2Ug
d29ya2VyIGNvbnRleHQgY29udGV4dCBjb25uZWN0aW9uLgorCisgICAgICAgIFRoaXMgYWxsb3dz
IE5ldHdvcmtQcm9jZXNzIHRvIGFzayBhZ2FpbiBmb3IgYSBjb25uZWN0aW9uIGlmIHRoZSBjb25u
ZWN0aW9uIGlzIHN0aWxsIG5lZWRlZCBidXQgV2ViUHJvY2VzcworICAgICAgICBmYWlsZWQgdG8g
Y3JlYXRlIHRoZSBjb250ZXh0IGNvbm5lY3Rpb24uCisKKyAgICAgICAgVGhpcyBpcyBkaWZmaWN1
bHQgdG8gdGVzdCBzaW5jZSB3ZSB3b3VsZCBuZWVkIGZvciB0aGUgcHJvY2VzcyBzZWxlY3RlZCB0
byBob3N0IHNlcnZpY2Ugd29ya2VycyB0byBleGl0IGJldHdlZW4gdGhlCisgICAgICAgIHRpbWUg
aXQgaXMgc2VsZWN0ZWQgYW5kIHRoZSB0aW1lIGl0IHNlbmRzIHRoZSBtZXNzYWdlIHRvIE5ldHdv
cmtpbmcgcHJvY2Vzcy4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0
aW9uVG9XZWJQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0Nvbm5lY3Rpb25U
b1dlYlByb2Nlc3M6OmVzdGFibGlzaFNXQ29udGV4dENvbm5lY3Rpb24pOgorICAgICAgICAqIE5l
dHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmg6CisgICAgICAgICog
TmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MubWVzc2FnZXMuaW46
CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwOgorICAgICAgICAo
V2ViS2l0OjpOZXR3b3JrUHJvY2Vzczo6dmFsaWRhdGVTV1NlcnZlckNvbnRleHRDb25uZWN0aW9u
KToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3M6OnN3U2VydmVyRm9yU2Vzc2lvbik6
CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaDoKKyAgICAgICAgKiBV
SVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAgICAgKFdlYktp
dDo6TmV0d29ya1Byb2Nlc3NQcm94eTo6ZXN0YWJsaXNoV29ya2VyQ29udGV4dENvbm5lY3Rpb25U
b05ldHdvcmtQcm9jZXNzKToKKyAgICAgICAgKiBVSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJv
Y2Vzc1Byb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQ
cm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6ZXN0YWJsaXNoV29ya2VyQ29udGV4
dENvbm5lY3Rpb25Ub05ldHdvcmtQcm9jZXNzKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJv
Y2Vzc1Bvb2wuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5Ojplc3RhYmxpc2hTZXJ2aWNlV29ya2VyQ29u
dGV4dCk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oOgorICAgICAgICAq
IFdlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6Om1fdXNlckFnZW50KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBy
b2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjplc3RhYmxpc2hXb3JrZXJD
b250ZXh0Q29ubmVjdGlvblRvTmV0d29ya1Byb2Nlc3MpOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViUHJvY2Vzcy5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5p
bjoKKwogMjAyMC0wMi0wMyAgeW91ZW5uIGZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAg
ICAgICAgW0NvY29hXSBVc2UgQVZBc3NldFdyaXRlckRlbGVnYXRlIHRvIGltcGxlbWVudCBNZWRp
YVJlY29yZGVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2Vy
dmVyL1NXU2VydmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIv
U1dTZXJ2ZXIuY3BwCmluZGV4IGI2NmIzYmY2Y2VhZTM5NzcyMTJkNDEzZDBmMTcwOGY4NTZmYzY3
MmUuLjhlNGJjODYzOTc1MzFiMzFhNTVhMWFjNDdhOTc4NmM0Y2YyM2RmODcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuY3BwCkBAIC0x
MDIxLDggKzEwMjEsNiBAQCB2b2lkIFNXU2VydmVyOjpwZXJmb3JtR2V0T3JpZ2luc1dpdGhSZWdp
c3RyYXRpb25zQ2FsbGJhY2tzKCkKIHZvaWQgU1dTZXJ2ZXI6OmFkZENvbnRleHRDb25uZWN0aW9u
KFNXU2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbiYgY29ubmVjdGlvbikKIHsKICAgICBBU1NFUlQo
IW1fY29udGV4dENvbm5lY3Rpb25zLmNvbnRhaW5zKGNvbm5lY3Rpb24ucmVnaXN0cmFibGVEb21h
aW4oKSkpOwotCi0gICAgbV9wZW5kaW5nQ29ubmVjdGlvbkRvbWFpbnMucmVtb3ZlKGNvbm5lY3Rp
b24ucmVnaXN0cmFibGVEb21haW4oKSk7CiAgICAgbV9jb250ZXh0Q29ubmVjdGlvbnMuYWRkKGNv
bm5lY3Rpb24ucmVnaXN0cmFibGVEb21haW4oKSwgJmNvbm5lY3Rpb24pOwogCiAgICAgY29udGV4
dENvbm5lY3Rpb25DcmVhdGVkKGNvbm5lY3Rpb24pOwpAQCAtMTAzNCw2ICsxMDMyLDcgQEAgdm9p
ZCBTV1NlcnZlcjo6cmVtb3ZlQ29udGV4dENvbm5lY3Rpb24oU1dTZXJ2ZXJUb0NvbnRleHRDb25u
ZWN0aW9uJiBjb25uZWN0aW9uKQogCiAgICAgQVNTRVJUKG1fY29udGV4dENvbm5lY3Rpb25zLmdl
dChyZWdpc3RyYWJsZURvbWFpbikgPT0gJmNvbm5lY3Rpb24pOwogCisgICAgbV9wZW5kaW5nQ29u
bmVjdGlvbkRvbWFpbnMucmVtb3ZlKHJlZ2lzdHJhYmxlRG9tYWluKTsKICAgICBtX2NvbnRleHRD
b25uZWN0aW9ucy5yZW1vdmUocmVnaXN0cmFibGVEb21haW4pOwogICAgIG1hcmtBbGxXb3JrZXJz
Rm9yUmVnaXN0cmFibGVEb21haW5Bc1Rlcm1pbmF0ZWQocmVnaXN0cmFibGVEb21haW4pOwogICAg
IGlmIChuZWVkc0NvbnRleHRDb25uZWN0aW9uRm9yUmVnaXN0cmFibGVEb21haW4ocmVnaXN0cmFi
bGVEb21haW4pKQpAQCAtMTA1MCw2ICsxMDQ5LDE1IEBAIHZvaWQgU1dTZXJ2ZXI6OmNyZWF0ZUNv
bnRleHRDb25uZWN0aW9uKGNvbnN0IFJlZ2lzdHJhYmxlRG9tYWluJiByZWdpc3RyYWJsZURvbWFp
CiAgICAgbV9jcmVhdGVDb250ZXh0Q29ubmVjdGlvbkNhbGxiYWNrKHJlZ2lzdHJhYmxlRG9tYWlu
KTsKIH0KIAordm9pZCBTV1NlcnZlcjo6dmFsaWRhdGVDb250ZXh0Q29ubmVjdGlvbihjb25zdCBS
ZWdpc3RyYWJsZURvbWFpbiYgcmVnaXN0cmFibGVEb21haW4pCit7CisgICAgaWYgKCFtX3BlbmRp
bmdDb25uZWN0aW9uRG9tYWlucy5yZW1vdmUocmVnaXN0cmFibGVEb21haW4pKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpZiAoIW1fY29udGV4dENvbm5lY3Rpb25zLmNvbnRhaW5zKHJlZ2lzdHJh
YmxlRG9tYWluKSkKKyAgICAgICAgbV9jcmVhdGVDb250ZXh0Q29ubmVjdGlvbkNhbGxiYWNrKHJl
Z2lzdHJhYmxlRG9tYWluKTsKK30KKwogYm9vbCBTV1NlcnZlcjo6Y2FuSGFuZGxlU2NoZW1lKFN0
cmluZ1ZpZXcgc2NoZW1lKSBjb25zdAogewogICAgIGlmIChzY2hlbWUuaXNOdWxsKCkpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmgKaW5kZXgg
M2FlZDc4YTUxNWM4ZDExZDFlNGZlODA0MTM1OGQxYjA4ZDkwOWE0NS4uN2I2MTA1NmYxZGU4YTYw
YTI1YzFmZjAzOGEwNDM4YjdhNjY3YTFkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuaApAQCAtMjAxLDYgKzIwMSw3IEBAIHB1YmxpYzoK
IAogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgYWRkQ29udGV4dENvbm5lY3Rpb24oU1dTZXJ2ZXJU
b0NvbnRleHRDb25uZWN0aW9uJik7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCByZW1vdmVDb250
ZXh0Q29ubmVjdGlvbihTV1NlcnZlclRvQ29udGV4dENvbm5lY3Rpb24mKTsKKyAgICBXRUJDT1JF
X0VYUE9SVCB2b2lkIHZhbGlkYXRlQ29udGV4dENvbm5lY3Rpb24oY29uc3QgUmVnaXN0cmFibGVE
b21haW4mKTsKIAogICAgIFNXU2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbiogY29udGV4dENvbm5l
Y3Rpb25Gb3JSZWdpc3RyYWJsZURvbWFpbihjb25zdCBSZWdpc3RyYWJsZURvbWFpbiYgZG9tYWlu
KSB7IHJldHVybiBtX2NvbnRleHRDb25uZWN0aW9ucy5nZXQoZG9tYWluKTsgfQogICAgIFdFQkNP
UkVfRVhQT1JUIHZvaWQgY3JlYXRlQ29udGV4dENvbm5lY3Rpb24oY29uc3QgUmVnaXN0cmFibGVE
b21haW4mKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29y
a0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAKaW5kZXggYTdiYzE0MGUzNzU5ZTBj
MWEzZDMzM2Q0NDBiOTBlN2FlNjk5MWVlZi4uZmMwOGVmOTllNGI0Njc1MDdmOGI3YTRmN2I1NTli
YzRiNjE5NjcxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAKQEAgLTkxNywxMCArOTE3
LDExIEBAIHZvaWQgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmVzdGFibGlzaFNXU2Vy
dmVyQ29ubmVjdGlvbigpCiAgICAgc2VydmVyLmFkZENvbm5lY3Rpb24oV1RGTW92ZShjb25uZWN0
aW9uKSk7CiB9CiAKLXZvaWQgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmVzdGFibGlz
aFNXQ29udGV4dENvbm5lY3Rpb24oUmVnaXN0cmFibGVEb21haW4mJiByZWdpc3RyYWJsZURvbWFp
bikKK3ZvaWQgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmVzdGFibGlzaFNXQ29udGV4
dENvbm5lY3Rpb24oUmVnaXN0cmFibGVEb21haW4mJiByZWdpc3RyYWJsZURvbWFpbiwgQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIGlmIChhdXRv
KiBzZXJ2ZXIgPSBtX25ldHdvcmtQcm9jZXNzLT5zd1NlcnZlckZvclNlc3Npb25JZkV4aXN0cyht
X3Nlc3Npb25JRCkpCiAgICAgICAgIG1fc3dDb250ZXh0Q29ubmVjdGlvbiA9IG1ha2VVbmlxdWU8
V2ViU1dTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uPigqdGhpcywgV1RGTW92ZShyZWdpc3RyYWJs
ZURvbWFpbiksICpzZXJ2ZXIpOworICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7CiB9CiAKIHZvaWQg
TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmNsb3NlU1dDb250ZXh0Q29ubmVjdGlvbigp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0
aW9uVG9XZWJQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtD
b25uZWN0aW9uVG9XZWJQcm9jZXNzLmgKaW5kZXggN2Q0OTljMTNmOTJhZWJiNjE4MzExNGNlNzAx
NGMxNTgzMDZkYzZiNi4uZTM1YmQ0OGIxZDNlYTBhNzQ2ZGNjZjgxMWI5MjQ5ZTE5MjhmMDgyMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlv
blRvV2ViUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29y
a0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaApAQCAtMjI1LDcgKzIyNSw3IEBAIHByaXZhdGU6CiAK
ICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCiAgICAgdm9pZCBlc3RhYmxpc2hTV1NlcnZlckNv
bm5lY3Rpb24oKTsKLSAgICB2b2lkIGVzdGFibGlzaFNXQ29udGV4dENvbm5lY3Rpb24oV2ViQ29y
ZTo6UmVnaXN0cmFibGVEb21haW4mJik7CisgICAgdm9pZCBlc3RhYmxpc2hTV0NvbnRleHRDb25u
ZWN0aW9uKFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluJiYsIENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoKT4mJik7CiAgICAgdm9pZCBjbG9zZVNXQ29udGV4dENvbm5lY3Rpb24oKTsKICAgICB2b2lk
IHVucmVnaXN0ZXJTV0Nvbm5lY3Rpb24oKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5tZXNzYWdl
cy5pbiBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dl
YlByb2Nlc3MubWVzc2FnZXMuaW4KaW5kZXggODdiNjk0ZTIxNDBhMzZkZmY0OGNkNmIzMDdhMzky
MThhOTgzY2Q2NS4uZTk1Y2M5MzM4YWI3MzU3OWE2MjQ2NWUxMjJlMmU3MDQ2YmRhYjY4OCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRv
V2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCkBAIC03NCw3ICs3NCw3
IEBAIG1lc3NhZ2VzIC0+IE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzIExlZ2FjeVJlY2Vp
dmVyIHsKICAgICBUYWtlTmV0d29ya0xvYWRJbmZvcm1hdGlvbk1ldHJpY3ModWludDY0X3QgcmVz
b3VyY2VMb2FkSWRlbnRpZmllcikgLT4gKFdlYkNvcmU6Ok5ldHdvcmtMb2FkTWV0cmljcyBuZXR3
b3JrTWV0cmljcykgU3luY2hyb25vdXMKIAogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKLSAg
ICBFc3RhYmxpc2hTV0NvbnRleHRDb25uZWN0aW9uKFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWlu
IGRvbWFpbikKKyAgICBFc3RhYmxpc2hTV0NvbnRleHRDb25uZWN0aW9uKFdlYkNvcmU6OlJlZ2lz
dHJhYmxlRG9tYWluIGRvbWFpbikgLT4gKCkgQXN5bmMKICAgICBDbG9zZVNXQ29udGV4dENvbm5l
Y3Rpb24oKQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvTmV0d29ya1Byb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrUHJvY2Vzcy5jcHAKaW5kZXggMGFlMjkxNjgzYmI3NTA2YWNkMmE3M2M5N2U0NzAyNmRjZTQ2
ZWY5ZC4uZjRmZDUwYWNjZmFlYzRkOTEzOThhNDg2Yzg2NmFlN2JlYWYzZWUzNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAKQEAgLTIzOTAs
NiArMjM5MCwxMiBAQCB2b2lkIE5ldHdvcmtQcm9jZXNzOjpmb3JFYWNoU1dTZXJ2ZXIoY29uc3Qg
RnVuY3Rpb248dm9pZChTV1NlcnZlciYpPiYgY2FsbGJhY2spCiAgICAgICAgIGNhbGxiYWNrKCpz
ZXJ2ZXIpOwogfQogCit2b2lkIE5ldHdvcmtQcm9jZXNzOjp2YWxpZGF0ZVNXU2VydmVyQ29udGV4
dENvbm5lY3Rpb24oY29uc3QgUmVnaXN0cmFibGVEb21haW4mIHJlZ2lzdHJhYmxlRG9tYWluLCBQ
QUw6OlNlc3Npb25JRCBzZXNzaW9uSUQpCit7CisgICAgaWYgKGF1dG8qIHNlcnZlciA9IG1fc3dT
ZXJ2ZXJzLmdldChzZXNzaW9uSUQpKQorICAgICAgICBzZXJ2ZXItPnZhbGlkYXRlQ29udGV4dENv
bm5lY3Rpb24ocmVnaXN0cmFibGVEb21haW4pOworfQorCiBTV1NlcnZlciYgTmV0d29ya1Byb2Nl
c3M6OnN3U2VydmVyRm9yU2Vzc2lvbihQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQpCiB7CiAgICAg
YXV0byByZXN1bHQgPSBtX3N3U2VydmVycy5lbnN1cmUoc2Vzc2lvbklELCBbJl0gewpAQCAtMjQw
Myw3ICsyNDA5LDExIEBAIFNXU2VydmVyJiBOZXR3b3JrUHJvY2Vzczo6c3dTZXJ2ZXJGb3JTZXNz
aW9uKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCkKICAgICAgICAgICAgIFNlcnZpY2VXb3JrZXJT
b2Z0VXBkYXRlTG9hZGVyOjpzdGFydChuZXR3b3JrU2Vzc2lvbihzZXNzaW9uSUQpLCBXVEZNb3Zl
KGpvYkRhdGEpLCBzaG91bGRSZWZyZXNoQ2FjaGUsIFdURk1vdmUocmVxdWVzdCksIFdURk1vdmUo
Y29tcGxldGlvbkhhbmRsZXIpKTsKICAgICAgICAgfSwgW3RoaXMsIHNlc3Npb25JRF0oYXV0byYg
cmVnaXN0cmFibGVEb21haW4pIHsKICAgICAgICAgICAgIEFTU0VSVCghcmVnaXN0cmFibGVEb21h
aW4uaXNFbXB0eSgpKTsKLSAgICAgICAgICAgIHBhcmVudFByb2Nlc3NDb25uZWN0aW9uKCktPnNl
bmQoTWVzc2FnZXM6Ok5ldHdvcmtQcm9jZXNzUHJveHk6OkVzdGFibGlzaFdvcmtlckNvbnRleHRD
b25uZWN0aW9uVG9OZXR3b3JrUHJvY2VzcyB7IHJlZ2lzdHJhYmxlRG9tYWluLCBzZXNzaW9uSUQg
fSwgMCk7CisgICAgICAgICAgICBwYXJlbnRQcm9jZXNzQ29ubmVjdGlvbigpLT5zZW5kV2l0aEFz
eW5jUmVwbHkoTWVzc2FnZXM6Ok5ldHdvcmtQcm9jZXNzUHJveHk6OkVzdGFibGlzaFdvcmtlckNv
bnRleHRDb25uZWN0aW9uVG9OZXR3b3JrUHJvY2VzcyB7IHJlZ2lzdHJhYmxlRG9tYWluLCBzZXNz
aW9uSUQgfSwgW3RoaXMsIHdlYWtUaGlzID0gbWFrZVdlYWtQdHIodGhpcyksIHJlZ2lzdHJhYmxl
RG9tYWluLCBzZXNzaW9uSURdIHsKKyAgICAgICAgICAgICAgICBpZiAoIXdlYWtUaGlzKQorICAg
ICAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICAgICAgdmFsaWRhdGVTV1NlcnZl
ckNvbnRleHRDb25uZWN0aW9uKHJlZ2lzdHJhYmxlRG9tYWluLCBzZXNzaW9uSUQpOworICAgICAg
ICAgICAgfSwgMCk7CiAgICAgICAgIH0pOwogICAgIH0pOwogICAgIHJldHVybiAqcmVzdWx0Lml0
ZXJhdG9yLT52YWx1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
TmV0d29ya1Byb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1By
b2Nlc3MuaAppbmRleCBmMzIxZGYyOTBlOTRlODY2YmFiYTZlZTdkMzZiYjFmZDIyMzZjYmZlLi4x
ZWZjZWZkZjkxMjU1YjU0MDkxOTJkM2Q5NmRlOGMyN2ZiYzUxZjE2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKKysrIGIvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCkBAIC0yOTcsNyArMjk3LDggQEAg
cHVibGljOgogICAgIFdlYkNvcmU6OlNXU2VydmVyJiBzd1NlcnZlckZvclNlc3Npb24oUEFMOjpT
ZXNzaW9uSUQpOwogICAgIHZvaWQgcmVnaXN0ZXJTV1NlcnZlckNvbm5lY3Rpb24oV2ViU1dTZXJ2
ZXJDb25uZWN0aW9uJik7CiAgICAgdm9pZCB1bnJlZ2lzdGVyU1dTZXJ2ZXJDb25uZWN0aW9uKFdl
YlNXU2VydmVyQ29ubmVjdGlvbiYpOwotICAgIAorICAgIHZvaWQgdmFsaWRhdGVTV1NlcnZlckNv
bnRleHRDb25uZWN0aW9uKGNvbnN0IFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluJiwgUEFMOjpT
ZXNzaW9uSUQpOworCiAgICAgdm9pZCBmb3JFYWNoU1dTZXJ2ZXIoY29uc3QgRnVuY3Rpb248dm9p
ZChXZWJDb3JlOjpTV1NlcnZlciYpPiYpOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuY3BwCmluZGV4IDA5
OGJkNWFkYTdlY2FiZWNhZTQ0NmQxNTQ1YjJmZmU5MzRjNWRhMGYuLjVlYjZjMWFkYmNkMjg5YTM3
YjU0YmI2M2Y2ZjI5Mzk3NWY3ZmE3NGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcApAQCAtMTI5OSw5ICsxMjk5
LDkgQEAgdm9pZCBOZXR3b3JrUHJvY2Vzc1Byb3h5OjpnZXRTYW5kYm94RXh0ZW5zaW9uc0ZvckJs
b2JGaWxlcyhjb25zdCBWZWN0b3I8U3RyaW5nPiYKICNlbmRpZgogCiAjaWYgRU5BQkxFKFNFUlZJ
Q0VfV09SS0VSKQotdm9pZCBOZXR3b3JrUHJvY2Vzc1Byb3h5Ojplc3RhYmxpc2hXb3JrZXJDb250
ZXh0Q29ubmVjdGlvblRvTmV0d29ya1Byb2Nlc3MoUmVnaXN0cmFibGVEb21haW4mJiByZWdpc3Ry
YWJsZURvbWFpbiwgUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklEKQordm9pZCBOZXR3b3JrUHJvY2Vz
c1Byb3h5Ojplc3RhYmxpc2hXb3JrZXJDb250ZXh0Q29ubmVjdGlvblRvTmV0d29ya1Byb2Nlc3Mo
UmVnaXN0cmFibGVEb21haW4mJiByZWdpc3RyYWJsZURvbWFpbiwgUEFMOjpTZXNzaW9uSUQgc2Vz
c2lvbklELCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7
Ci0gICAgbV9wcm9jZXNzUG9vbC5lc3RhYmxpc2hXb3JrZXJDb250ZXh0Q29ubmVjdGlvblRvTmV0
d29ya1Byb2Nlc3MoKnRoaXMsIFdURk1vdmUocmVnaXN0cmFibGVEb21haW4pLCBzZXNzaW9uSUQp
OworICAgIG1fcHJvY2Vzc1Bvb2wuZXN0YWJsaXNoV29ya2VyQ29udGV4dENvbm5lY3Rpb25Ub05l
dHdvcmtQcm9jZXNzKCp0aGlzLCBXVEZNb3ZlKHJlZ2lzdHJhYmxlRG9tYWluKSwgc2Vzc2lvbklE
LCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiB9CiAKIHZvaWQgTmV0d29ya1Byb2Nlc3NQ
cm94eTo6d29ya2VyQ29udGV4dENvbm5lY3Rpb25Ob0xvbmdlck5lZWRlZChXZWJDb3JlOjpQcm9j
ZXNzSWRlbnRpZmllciBpZGVudGlmaWVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuaAppbmRleCBhMDIyMjI5Y2I3ZGExMjg5
ZDE5NzNkOTQ4YmQzYTQwYWQzZGI2Yzk3Li5mYjg2MTAxN2Q4ODE5NzdjM2YwOWY4NTNmZTIzYWE1
NTM0OTg5MDk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05l
dHdvcmtQcm9jZXNzUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3Jr
L05ldHdvcmtQcm9jZXNzUHJveHkuaApAQCAtMjYyLDcgKzI2Miw3IEBAIHByaXZhdGU6CiAjZW5k
aWYKIAogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKLSAgICB2b2lkIGVzdGFibGlzaFdvcmtl
ckNvbnRleHRDb25uZWN0aW9uVG9OZXR3b3JrUHJvY2VzcyhXZWJDb3JlOjpSZWdpc3RyYWJsZURv
bWFpbiYmLCBQQUw6OlNlc3Npb25JRCk7CisgICAgdm9pZCBlc3RhYmxpc2hXb3JrZXJDb250ZXh0
Q29ubmVjdGlvblRvTmV0d29ya1Byb2Nlc3MoV2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW4mJiwg
UEFMOjpTZXNzaW9uSUQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAgICAgdm9pZCB3
b3JrZXJDb250ZXh0Q29ubmVjdGlvbk5vTG9uZ2VyTmVlZGVkKFdlYkNvcmU6OlByb2Nlc3NJZGVu
dGlmaWVyKTsKICAgICB2b2lkIHJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudFByb2Nlc3MoV2Vi
Q29yZTo6UHJvY2Vzc0lkZW50aWZpZXIgd2ViUHJvY2Vzc0lkZW50aWZpZXIsIFdlYkNvcmU6OlBy
b2Nlc3NJZGVudGlmaWVyIHNlcnZpY2VXb3JrZXJQcm9jZXNzSWRlbnRpZmllcik7CiAgICAgdm9p
ZCB1bnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudFByb2Nlc3MoV2ViQ29yZTo6UHJvY2Vzc0lk
ZW50aWZpZXIgd2ViUHJvY2Vzc0lkZW50aWZpZXIsIFdlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVy
IHNlcnZpY2VXb3JrZXJQcm9jZXNzSWRlbnRpZmllcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkubWVzc2FnZXMuaW4gYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkubWVzc2Fn
ZXMuaW4KaW5kZXggNmE5NzgxNTUyNjEyZWViN2Y4NDViY2RkZmZmNDI1ZDkyNWRjOThlMi4uNGJk
YTc2OGNkNGY4Y2ZmZmYxZTkwNGU5OTA4MzcxNjIwZTFlNTNjNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmlu
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94
eS5tZXNzYWdlcy5pbgpAQCAtNjIsNyArNjIsNyBAQCBtZXNzYWdlcyAtPiBOZXR3b3JrUHJvY2Vz
c1Byb3h5IExlZ2FjeVJlY2VpdmVyIE5vdFJlZkNvdW50ZWQgewogI2VuZGlmCiAKICNpZiBFTkFC
TEUoU0VSVklDRV9XT1JLRVIpCi0gICAgRXN0YWJsaXNoV29ya2VyQ29udGV4dENvbm5lY3Rpb25U
b05ldHdvcmtQcm9jZXNzKFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluIHJlZ2lzdHJhYmxlRG9t
YWluLCBQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQpCisgICAgRXN0YWJsaXNoV29ya2VyQ29udGV4
dENvbm5lY3Rpb25Ub05ldHdvcmtQcm9jZXNzKFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluIHJl
Z2lzdHJhYmxlRG9tYWluLCBQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQpIC0+ICgpIEFzeW5jCiAg
ICAgV29ya2VyQ29udGV4dENvbm5lY3Rpb25Ob0xvbmdlck5lZWRlZChXZWJDb3JlOjpQcm9jZXNz
SWRlbnRpZmllciBpZGVudGlmaWVyKQogICAgIFJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudFBy
b2Nlc3MoV2ViQ29yZTo6UHJvY2Vzc0lkZW50aWZpZXIgd2ViUHJvY2Vzc0lkZW50aWZpZXIsIFdl
YkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyIHNlcnZpY2VXb3JrZXJQcm9jZXNzSWRlbnRpZmllcikK
ICAgICBVbnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudFByb2Nlc3MoV2ViQ29yZTo6UHJvY2Vz
c0lkZW50aWZpZXIgd2ViUHJvY2Vzc0lkZW50aWZpZXIsIFdlYkNvcmU6OlByb2Nlc3NJZGVudGlm
aWVyIHNlcnZpY2VXb3JrZXJQcm9jZXNzSWRlbnRpZmllcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlByb2Nlc3NQb29sLmNwcAppbmRleCBlMWNlM2ExN2Q1YzZkMzhhMTJlNTRjYzFmNDVm
OTUxYzE2YjI5MGQ2Li41MjgzODBmYzQ2MWEwYjU1YjI1MzMxN2Y0NTcwZGM1MTFiN2U2NjMzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCkBAIC03MzcsNyAr
NzM3LDcgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6Z2V0R1BVUHJvY2Vzc0Nvbm5lY3Rpb24oV2Vi
UHJvY2Vzc1Byb3h5JiB3ZWJQcm9jZXNzUHJveHksIE0KICNlbmRpZgogCiAjaWYgRU5BQkxFKFNF
UlZJQ0VfV09SS0VSKQotdm9pZCBXZWJQcm9jZXNzUG9vbDo6ZXN0YWJsaXNoV29ya2VyQ29udGV4
dENvbm5lY3Rpb25Ub05ldHdvcmtQcm9jZXNzKE5ldHdvcmtQcm9jZXNzUHJveHkmIHByb3h5LCBS
ZWdpc3RyYWJsZURvbWFpbiYmIHJlZ2lzdHJhYmxlRG9tYWluLCBQQUw6OlNlc3Npb25JRCBzZXNz
aW9uSUQpCit2b2lkIFdlYlByb2Nlc3NQb29sOjplc3RhYmxpc2hXb3JrZXJDb250ZXh0Q29ubmVj
dGlvblRvTmV0d29ya1Byb2Nlc3MoTmV0d29ya1Byb2Nlc3NQcm94eSYgcHJveHksIFJlZ2lzdHJh
YmxlRG9tYWluJiYgcmVnaXN0cmFibGVEb21haW4sIFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwg
Q29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIEFT
U0VSVF9VTlVTRUQocHJveHksICZwcm94eSA9PSBtX25ldHdvcmtQcm9jZXNzLmdldCgpKTsKIApA
QCAtNzUyLDYgKzc1Miw3IEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OmVzdGFibGlzaFdvcmtlckNv
bnRleHRDb25uZWN0aW9uVG9OZXR3b3JrUHJvY2VzcyhOZXR3b3JrUHJvCiAgICAgUmVnaXN0cmFi
bGVEb21haW5XaXRoU2Vzc2lvbklEIHJlZ2lzdHJhYmxlRG9tYWluV2l0aFNlc3Npb25JRCB7IFJl
Z2lzdHJhYmxlRG9tYWluIHsgcmVnaXN0cmFibGVEb21haW4gfSwgc2Vzc2lvbklEIH07CiAgICAg
aWYgKG1fc2VydmljZVdvcmtlclByb2Nlc3Nlcy5jb250YWlucyhyZWdpc3RyYWJsZURvbWFpbldp
dGhTZXNzaW9uSUQpKSB7CiAgICAgICAgIFdFQlBST0NFU1NQT09MX1JFTEVBU0VfTE9HX0lGX0FM
TE9XRUQoU2VydmljZVdvcmtlciwgImVzdGFibGlzaFdvcmtlckNvbnRleHRDb25uZWN0aW9uVG9O
ZXR3b3JrUHJvY2VzcyBwcm9jZXNzIGFscmVhZHkgY3JlYXRlZCIpOworICAgICAgICBjb21wbGV0
aW9uSGFuZGxlcigpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC03ODksNyArNzkwLDcg
QEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6ZXN0YWJsaXNoV29ya2VyQ29udGV4dENvbm5lY3Rpb25U
b05ldHdvcmtQcm9jZXNzKE5ldHdvcmtQcm8KICAgICBBU1NFUlQoIW1fc2VydmljZVdvcmtlclBy
b2Nlc3Nlcy5jb250YWlucyhyZWdpc3RyYWJsZURvbWFpbldpdGhTZXNzaW9uSUQpKTsKICAgICBt
X3NlcnZpY2VXb3JrZXJQcm9jZXNzZXMuYWRkKFdURk1vdmUocmVnaXN0cmFibGVEb21haW5XaXRo
U2Vzc2lvbklEKSwgbWFrZVdlYWtQdHIoc2VydmljZVdvcmtlclByb2Nlc3NQcm94eSkpOwogCi0g
ICAgc2VydmljZVdvcmtlclByb2Nlc3NQcm94eS0+ZXN0YWJsaXNoU2VydmljZVdvcmtlckNvbnRl
eHQobV9zZXJ2aWNlV29ya2VyUHJlZmVyZW5jZXMgPyBtX3NlcnZpY2VXb3JrZXJQcmVmZXJlbmNl
cy52YWx1ZSgpIDogbV9kZWZhdWx0UGFnZUdyb3VwLT5wcmVmZXJlbmNlcygpLnN0b3JlKCkpOwor
ICAgIHNlcnZpY2VXb3JrZXJQcm9jZXNzUHJveHktPmVzdGFibGlzaFNlcnZpY2VXb3JrZXJDb250
ZXh0KG1fc2VydmljZVdvcmtlclByZWZlcmVuY2VzID8gbV9zZXJ2aWNlV29ya2VyUHJlZmVyZW5j
ZXMudmFsdWUoKSA6IG1fZGVmYXVsdFBhZ2VHcm91cC0+cHJlZmVyZW5jZXMoKS5zdG9yZSgpLCBX
VEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiAgICAgaWYgKCFtX3NlcnZpY2VXb3JrZXJVc2Vy
QWdlbnQuaXNOdWxsKCkpCiAgICAgICAgIHNlcnZpY2VXb3JrZXJQcm9jZXNzUHJveHktPnNldFNl
cnZpY2VXb3JrZXJVc2VyQWdlbnQobV9zZXJ2aWNlV29ya2VyVXNlckFnZW50KTsKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmggYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oCmluZGV4IDY0YjFkYmNlNGM5MDc1MzY5
OTliMWMyYTVlYjMxNDY3MGY0MjNlMWUuLmM3YTlkYjIyZWVkOWJkYzFiMTA3ZTJiNzAyN2QzY2Jm
ZDI1ODI5NGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQ
b29sLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaApAQCAt
Mzk4LDcgKzM5OCw3IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgaXNTZXJ2aWNlV29ya2VyUGFnZUlE
KFdlYlBhZ2VQcm94eUlkZW50aWZpZXIpIGNvbnN0OwogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktF
UikKLSAgICB2b2lkIGVzdGFibGlzaFdvcmtlckNvbnRleHRDb25uZWN0aW9uVG9OZXR3b3JrUHJv
Y2VzcyhOZXR3b3JrUHJvY2Vzc1Byb3h5JiwgV2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW4mJiwg
UEFMOjpTZXNzaW9uSUQpOworICAgIHZvaWQgZXN0YWJsaXNoV29ya2VyQ29udGV4dENvbm5lY3Rp
b25Ub05ldHdvcmtQcm9jZXNzKE5ldHdvcmtQcm9jZXNzUHJveHkmLCBXZWJDb3JlOjpSZWdpc3Ry
YWJsZURvbWFpbiYmLCBQQUw6OlNlc3Npb25JRCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYm
KTsKICAgICB2b2lkIHJlbW92ZUZyb21TZXJ2aWNlV29ya2VyUHJvY2Vzc2VzKFdlYlByb2Nlc3NQ
cm94eSYpOwogICAgIHNpemVfdCBzZXJ2aWNlV29ya2VyUHJveGllc0NvdW50KCkgY29uc3QgeyBy
ZXR1cm4gbV9zZXJ2aWNlV29ya2VyUHJvY2Vzc2VzLnNpemUoKTsgfQogICAgIHZvaWQgc2V0QWxs
b3dzQW55U1NMQ2VydGlmaWNhdGVGb3JTZXJ2aWNlV29ya2VyKGJvb2wgYWxsb3dzKSB7IG1fYWxs
b3dzQW55U1NMQ2VydGlmaWNhdGVGb3JTZXJ2aWNlV29ya2VyID0gYWxsb3dzOyB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcAppbmRleCA3MTdkM2YxZjA4Nzk1
OTkzNTJmYjkyYTg5ODlkNWEyYTU0ZjU0MjljLi5jMjk3ZDA0OGZlNDZjYWY5MGMwMjhjZDZiOGEx
YjNiZTAwM2I2YmFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9j
ZXNzUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94
eS5jcHAKQEAgLTE2MDUsOSArMTYwNSw5IEBAIHZvaWQgV2ViUHJvY2Vzc1Byb3h5OjplbmRCYWNr
Z3JvdW5kQWN0aXZpdHlGb3JGdWxsc2NyZWVuSW5wdXQoKQogI2VuZGlmCiAKICNpZiBFTkFCTEUo
U0VSVklDRV9XT1JLRVIpCi12b2lkIFdlYlByb2Nlc3NQcm94eTo6ZXN0YWJsaXNoU2VydmljZVdv
cmtlckNvbnRleHQoY29uc3QgV2ViUHJlZmVyZW5jZXNTdG9yZSYgc3RvcmUpCit2b2lkIFdlYlBy
b2Nlc3NQcm94eTo6ZXN0YWJsaXNoU2VydmljZVdvcmtlckNvbnRleHQoY29uc3QgV2ViUHJlZmVy
ZW5jZXNTdG9yZSYgc3RvcmUsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0aW9u
SGFuZGxlcikKIHsKLSAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQcm9jZXNzOjpFc3RhYmxpc2hXb3Jr
ZXJDb250ZXh0Q29ubmVjdGlvblRvTmV0d29ya1Byb2Nlc3MgeyBwcm9jZXNzUG9vbCgpLmRlZmF1
bHRQYWdlR3JvdXAoKS5wYWdlR3JvdXBJRCgpLCBtX3NlcnZpY2VXb3JrZXJJbmZvcm1hdGlvbi0+
c2VydmljZVdvcmtlclBhZ2VQcm94eUlELCBtX3NlcnZpY2VXb3JrZXJJbmZvcm1hdGlvbi0+c2Vy
dmljZVdvcmtlclBhZ2VJRCwgc3RvcmUsICptX3JlZ2lzdHJhYmxlRG9tYWluLCBtX3NlcnZpY2VX
b3JrZXJJbmZvcm1hdGlvbi0+aW5pdGlhbGl6YXRpb25EYXRhIH0sIDApOworICAgIHNlbmRXaXRo
QXN5bmNSZXBseShNZXNzYWdlczo6V2ViUHJvY2Vzczo6RXN0YWJsaXNoV29ya2VyQ29udGV4dENv
bm5lY3Rpb25Ub05ldHdvcmtQcm9jZXNzIHsgcHJvY2Vzc1Bvb2woKS5kZWZhdWx0UGFnZUdyb3Vw
KCkucGFnZUdyb3VwSUQoKSwgbV9zZXJ2aWNlV29ya2VySW5mb3JtYXRpb24tPnNlcnZpY2VXb3Jr
ZXJQYWdlUHJveHlJRCwgbV9zZXJ2aWNlV29ya2VySW5mb3JtYXRpb24tPnNlcnZpY2VXb3JrZXJQ
YWdlSUQsIHN0b3JlLCAqbV9yZWdpc3RyYWJsZURvbWFpbiwgbV9zZXJ2aWNlV29ya2VySW5mb3Jt
YXRpb24tPmluaXRpYWxpemF0aW9uRGF0YSB9LCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSwg
MCk7CiB9CiAKIHZvaWQgV2ViUHJvY2Vzc1Byb3h5OjpzZXRTZXJ2aWNlV29ya2VyVXNlckFnZW50
KGNvbnN0IFN0cmluZyYgdXNlckFnZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9j
ZXNzUHJveHkuaAppbmRleCBlZjY0YjNjMmU5NDI4MDk2NTk0ODExNWY3YWJmMzc0NWU2ZTdmNjI1
Li4yMTU4YTJiOTAxMTgwZmIyMmY5YmQzMzdkMWQ3MzUwYzg5NDM3N2Q2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaApAQCAtMzM5LDcgKzMzOSw3IEBAIHB1Ymxp
YzoKICAgICB2b2lkIGRlcmVmKCkgZmluYWwgeyBUaHJlYWRTYWZlUmVmQ291bnRlZDo6ZGVyZWYo
KTsgfQogCiAjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQotICAgIHZvaWQgZXN0YWJsaXNoU2Vy
dmljZVdvcmtlckNvbnRleHQoY29uc3QgV2ViUHJlZmVyZW5jZXNTdG9yZSYpOworICAgIHZvaWQg
ZXN0YWJsaXNoU2VydmljZVdvcmtlckNvbnRleHQoY29uc3QgV2ViUHJlZmVyZW5jZXNTdG9yZSYs
IENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAgICAgdm9pZCBzZXRTZXJ2aWNlV29ya2Vy
VXNlckFnZW50KGNvbnN0IFN0cmluZyYpOwogICAgIHZvaWQgdXBkYXRlU2VydmljZVdvcmtlclBy
ZWZlcmVuY2VzU3RvcmUoY29uc3QgV2ViUHJlZmVyZW5jZXNTdG9yZSYpOwogICAgIGJvb2wgaGFz
U2VydmljZVdvcmtlclBhZ2VQcm94eShXZWJQYWdlUHJveHlJZGVudGlmaWVyIHBhZ2VQcm94eUlE
KSB7IHJldHVybiBtX3NlcnZpY2VXb3JrZXJJbmZvcm1hdGlvbiAmJiBtX3NlcnZpY2VXb3JrZXJJ
bmZvcm1hdGlvbi0+c2VydmljZVdvcmtlclBhZ2VQcm94eUlEID09IHBhZ2VQcm94eUlEOyB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRN
YW5hZ2VyQ29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9X
ZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5jcHAKaW5kZXggZWUzYjBlYzZiMDBlNDAzZDYw
N2ZhYzIyZmMwMDBmNDgyYWNlNzQyMS4uMTdkODdiNjExNTJjNTk1NzM5NGMwZmE3ZjI0OTYwZDU1
M2Y4MmZhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2Vi
U1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcApAQCAtMTA2LDcg
KzEwNiw2IEBAIFdlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uOjpXZWJTV0NvbnRleHRNYW5h
Z2VyQ29ubmVjdGlvbihSZWY8SVBDOjpDb25uZWN0aW9uCiAgICAgfQogCiAgICAgdXBkYXRlUHJl
ZmVyZW5jZXNTdG9yZShzdG9yZSk7Ci0gICAgbV9jb25uZWN0aW9uVG9OZXR3b3JrUHJvY2Vzcy0+
c2VuZChNZXNzYWdlczo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OkVzdGFibGlzaFNX
Q29udGV4dENvbm5lY3Rpb24geyBtX3JlZ2lzdHJhYmxlRG9tYWluIH0sIDApOwogICAgIFdlYlBy
b2Nlc3M6OnNpbmdsZXRvbigpLmRpc2FibGVUZXJtaW5hdGlvbigpOwogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKaW5kZXggNjdhNzkwYTdhODMyNjQyOTQ4NjM4ZGQ1
NzQ3OTFkMDgwMjMxMDE3MS4uODI4MDA3NTE1ZmY0YjcyOTg3NjRjMzQ2ZGE3MGIxMmVmNWI0ZjI4
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcApAQCAtMTg0OSwxMyAr
MTg0OSwxNCBAQCBMaWJXZWJSVENOZXR3b3JrJiBXZWJQcm9jZXNzOjpsaWJXZWJSVENOZXR3b3Jr
KCkKIH0KIAogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKLXZvaWQgV2ViUHJvY2Vzczo6ZXN0
YWJsaXNoV29ya2VyQ29udGV4dENvbm5lY3Rpb25Ub05ldHdvcmtQcm9jZXNzKHVpbnQ2NF90IHBh
Z2VHcm91cElELCBXZWJQYWdlUHJveHlJZGVudGlmaWVyIHdlYlBhZ2VQcm94eUlELCBQYWdlSWRl
bnRpZmllciBwYWdlSUQsIGNvbnN0IFdlYlByZWZlcmVuY2VzU3RvcmUmIHN0b3JlLCBSZWdpc3Ry
YWJsZURvbWFpbiYmIHJlZ2lzdHJhYmxlRG9tYWluLCBTZXJ2aWNlV29ya2VySW5pdGlhbGl6YXRp
b25EYXRhJiYgaW5pdGlhbGl6YXRpb25EYXRhKQordm9pZCBXZWJQcm9jZXNzOjplc3RhYmxpc2hX
b3JrZXJDb250ZXh0Q29ubmVjdGlvblRvTmV0d29ya1Byb2Nlc3ModWludDY0X3QgcGFnZUdyb3Vw
SUQsIFdlYlBhZ2VQcm94eUlkZW50aWZpZXIgd2ViUGFnZVByb3h5SUQsIFBhZ2VJZGVudGlmaWVy
IHBhZ2VJRCwgY29uc3QgV2ViUHJlZmVyZW5jZXNTdG9yZSYgc3RvcmUsIFJlZ2lzdHJhYmxlRG9t
YWluJiYgcmVnaXN0cmFibGVEb21haW4sIFNlcnZpY2VXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEm
JiBpbml0aWFsaXphdGlvbkRhdGEsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjYWxsYmFj
aykKIHsKICAgICAvLyBXZSBhcmUgaW4gdGhlIFNlcnZpY2UgV29ya2VyIGNvbnRleHQgcHJvY2Vz
cyBhbmQgdGhlIGNhbGwgYmVsb3cgZXN0YWJsaXNoZXMgb3VyIGNvbm5lY3Rpb24gdG8gdGhlIE5l
dHdvcmsgUHJvY2VzcwogICAgIC8vIGJ5IGNhbGxpbmcgZW5zdXJlTmV0d29ya1Byb2Nlc3NDb25u
ZWN0aW9uLiBTV0NvbnRleHRNYW5hZ2VyIG5lZWRzIHRvIHVzZSB0aGUgc2FtZSB1bmRlcmx5aW5n
IElQQzo6Q29ubmVjdGlvbiBhcyB0aGUKICAgICAvLyBOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24g
Zm9yIHN5bmNocm9uaXphdGlvbiBwdXJwb3Nlcy4KICAgICBhdXRvJiBpcGNDb25uZWN0aW9uID0g
ZW5zdXJlTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uKCkuY29ubmVjdGlvbigpOwogICAgIFNXQ29u
dGV4dE1hbmFnZXI6OnNpbmdsZXRvbigpLnNldENvbm5lY3Rpb24obWFrZVVuaXF1ZTxXZWJTV0Nv
bnRleHRNYW5hZ2VyQ29ubmVjdGlvbj4oaXBjQ29ubmVjdGlvbiwgV1RGTW92ZShyZWdpc3RyYWJs
ZURvbWFpbiksIHBhZ2VHcm91cElELCB3ZWJQYWdlUHJveHlJRCwgcGFnZUlELCBzdG9yZSwgV1RG
TW92ZShpbml0aWFsaXphdGlvbkRhdGEpKSk7CisgICAgaXBjQ29ubmVjdGlvbi5zZW5kV2l0aEFz
eW5jUmVwbHkoTWVzc2FnZXM6Ok5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpFc3RhYmxp
c2hTV0NvbnRleHRDb25uZWN0aW9uIHsgbV9yZWdpc3RyYWJsZURvbWFpbiB9LCBXVEZNb3ZlKGNh
bGxiYWNrKSwgMCk7CiB9CiAKIHZvaWQgV2ViUHJvY2Vzczo6cmVnaXN0ZXJTZXJ2aWNlV29ya2Vy
Q2xpZW50cygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vz
cy5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAppbmRleCA0OTNiMmI3
YTA1OWFhYWZmNzlkM2VlYWZiZTc1ZTNhOGRhYzNmN2NmLi41NTdhODkyZTJiYTc4YjdmZDk0ZWRi
OThmYmJhYjRjYzdjNDMyOWZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgK
QEAgLTQwMCw3ICs0MDAsNyBAQCBwcml2YXRlOgogI2VuZGlmCiAKICNpZiBFTkFCTEUoU0VSVklD
RV9XT1JLRVIpCi0gICAgdm9pZCBlc3RhYmxpc2hXb3JrZXJDb250ZXh0Q29ubmVjdGlvblRvTmV0
d29ya1Byb2Nlc3ModWludDY0X3QgcGFnZUdyb3VwSUQsIFdlYlBhZ2VQcm94eUlkZW50aWZpZXIs
IFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVyLCBjb25zdCBXZWJQcmVmZXJlbmNlc1N0b3JlJiwgV2Vi
Q29yZTo6UmVnaXN0cmFibGVEb21haW4mJiwgU2VydmljZVdvcmtlckluaXRpYWxpemF0aW9uRGF0
YSYmKTsKKyAgICB2b2lkIGVzdGFibGlzaFdvcmtlckNvbnRleHRDb25uZWN0aW9uVG9OZXR3b3Jr
UHJvY2Vzcyh1aW50NjRfdCBwYWdlR3JvdXBJRCwgV2ViUGFnZVByb3h5SWRlbnRpZmllciwgV2Vi
Q29yZTo6UGFnZUlkZW50aWZpZXIsIGNvbnN0IFdlYlByZWZlcmVuY2VzU3RvcmUmLCBXZWJDb3Jl
OjpSZWdpc3RyYWJsZURvbWFpbiYmLCBTZXJ2aWNlV29ya2VySW5pdGlhbGl6YXRpb25EYXRhJiYs
IENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAgICAgdm9pZCByZWdpc3RlclNlcnZpY2VX
b3JrZXJDbGllbnRzKCk7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgppbmRleCAxNTNmYzNiYzAwODBiZTRhMjg3MTUxZTcyNzNm
OTBhM2YwMzMyZjllLi44MGRiZjU5ZWZlNDExMWY3NTM2NzBjMjQ2YjIzYmNiYzYxNGU4NTgyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5p
bgorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgpA
QCAtMTA2LDcgKzEwNiw3IEBAIG1lc3NhZ2VzIC0+IFdlYlByb2Nlc3MgTGVnYWN5UmVjZWl2ZXIg
Tm90UmVmQ291bnRlZCB7CiAjZW5kaWYKIAogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKLSAg
ICBFc3RhYmxpc2hXb3JrZXJDb250ZXh0Q29ubmVjdGlvblRvTmV0d29ya1Byb2Nlc3ModWludDY0
X3QgcGFnZUdyb3VwSUQsIFdlYktpdDo6V2ViUGFnZVByb3h5SWRlbnRpZmllciB3ZWJQYWdlUHJv
eHlJRCwgV2ViQ29yZTo6UGFnZUlkZW50aWZpZXIgcGFnZUlELCBzdHJ1Y3QgV2ViS2l0OjpXZWJQ
cmVmZXJlbmNlc1N0b3JlIHN0b3JlLCBXZWJDb3JlOjpSZWdpc3RyYWJsZURvbWFpbiBkb21haW4s
IHN0cnVjdCBXZWJLaXQ6OlNlcnZpY2VXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEgaW5pdGlhbGl6
YXRpb25EYXRhKQorICAgIEVzdGFibGlzaFdvcmtlckNvbnRleHRDb25uZWN0aW9uVG9OZXR3b3Jr
UHJvY2Vzcyh1aW50NjRfdCBwYWdlR3JvdXBJRCwgV2ViS2l0OjpXZWJQYWdlUHJveHlJZGVudGlm
aWVyIHdlYlBhZ2VQcm94eUlELCBXZWJDb3JlOjpQYWdlSWRlbnRpZmllciBwYWdlSUQsIHN0cnVj
dCBXZWJLaXQ6OldlYlByZWZlcmVuY2VzU3RvcmUgc3RvcmUsIFdlYkNvcmU6OlJlZ2lzdHJhYmxl
RG9tYWluIGRvbWFpbiwgc3RydWN0IFdlYktpdDo6U2VydmljZVdvcmtlckluaXRpYWxpemF0aW9u
RGF0YSBpbml0aWFsaXphdGlvbkRhdGEpIC0+ICgpIEFzeW5jCiAgICAgUmVnaXN0ZXJTZXJ2aWNl
V29ya2VyQ2xpZW50cygpCiAjZW5kaWYKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>389649</attachid>
            <date>2020-02-04 03:51:04 -0800</date>
            <delta_ts>2020-02-04 04:53:08 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-207122-20200204125100.patch</filename>
            <type>text/plain</type>
            <size>26837</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU1NjY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTg4MGI3MjBjOTUzMGE1
NWUxYTBjMGZhNzMyMGFiMzhmMWYxMGQ1Ni4uZmJhOWFmNzdlMDk3YzIxNDI0ZTg5YWFiZjg1YmY1
ODJhYjNkZjA5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIwLTAyLTA0ICB5b3Vl
bm4gZmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBOZXR3b3JrUHJvY2VzcyBz
aG91bGQgYmUgbm90aWZpZWQgYnkgVUlQcm9jZXNzIHdoZW4gaXRzIHNlcnZpY2Ugd29ya2VyIHBy
b2Nlc3MgY29ubmVjdGlvbiBzaG91bGQgYmUgb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNzEyMgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTkw
ODk3ODA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkIGEgbmV3IGNyZWF0ZUNvbnRleHRDb25uZWN0aW9uRmluaXNoZWQgbWV0aG9kIHRoYXQgaXMg
Y2FsbGVkIHdoZW4gdGhlIGNvbnRleHQgY29ubmVjdGlvbiBzaG91bGQgaGF2ZSBiZWVuIGNyZWF0
ZWQuCisgICAgICAgIEluIGNhc2UgdGhlcmUgaXMgYSBjb250ZXh0IGNvbm5lY3Rpb24sIHRoaXMg
aXMgYSBuby1vcC4KKyAgICAgICAgT3RoZXJ3aXNlLCBTV1NlcnZlciB3aWxsIHJldHJ5IGNyZWF0
aW5nIGEgY29udGV4dCBjb25uZWN0aW9uIGlmIGl0IGlzIG5lZWRlZCBieSBTV1NlcnZlci4KKwor
ICAgICAgICBUaGUgcGVuZGluZyBjb25uZWN0aW9uIG1hcCBlbnRyeSBpcyBub3cgcmVtb3ZlZCBp
biBjcmVhdGVDb250ZXh0Q29ubmVjdGlvbkZpbmlzaGVkIGluc3RlYWQgb2YgYWRkQ29udGV4dENv
bm5lY3Rpb24uCisgICAgICAgIFRoaXMgZW5zdXJlcyB0aGF0IG9ubHkgb25lIGNvbm5lY3Rpb24g
cmVxdWVzdCBpcyBzZW50IGJ5IG5ldHdvcmsgcHJvY2VzcyBhdCBhIHRpbWUuCisKKyAgICAgICAg
KiB3b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TV0NvbnRleHRNYW5hZ2VyLmg6CisgICAgICAgICog
d29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpT
V1NlcnZlcjo6YWRkQ29udGV4dENvbm5lY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6U1dTZXJ2
ZXI6OmNyZWF0ZUNvbnRleHRDb25uZWN0aW9uRmluaXNoZWQpOgorICAgICAgICAqIHdvcmtlcnMv
c2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuaDoKKwogMjAyMC0wMi0wNCAgeW91ZW5uIGZhYmxldCAg
PHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgQ2hlY2sgZm9yIGNhbGxiYWNrIGJlaW5nIG51
bGwgaW4gTm90aWZpY2F0aW9uLnJlcXVlc3RQZXJtaXNzaW9uCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDEwNGUzNmIz
NTNkYjg2ZTQxYzdiZDZhZmIzZmU4YzU5NDAxMmQ4MGUuLjc1ODkyZGU3ZjI0MGE0OTVlOTg1OWRi
NmIwMTNlNTNjYzI5OWU3ZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDggQEAKKzIwMjAtMDItMDQg
IHlvdWVubiBmYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIE5ldHdvcmtQcm9j
ZXNzIHNob3VsZCBiZSBub3RpZmllZCBieSBVSVByb2Nlc3Mgd2hlbiBpdHMgc2VydmljZSB3b3Jr
ZXIgcHJvY2VzcyBjb25uZWN0aW9uIHNob3VsZCBiZSBvbgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA3MTIyCisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS81OTA4OTc4MD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBBZGQgY29tcGxldGlvbiBoYW5kbGVycyB0byB0aGUgbWVzc2FnaW5nIGZyb20gTmV0d29y
a1Byb2Nlc3MgLT4gVUlQcm9jZXNzIC0+IFdlYlByb2Nlc3MgLT4gTmV0d29ya1Byb2Nlc3MKKyAg
ICAgICAgdXNlZCB0byBjcmVhdGUgYSBzZXJ2aWNlIHdvcmtlciBjb250ZXh0IGNvbm5lY3Rpb24u
CisKKyAgICAgICAgVGhpcyBhbGxvd3MgTmV0d29ya1Byb2Nlc3MgdG8gYXNrIGFnYWluIGZvciBh
IGNvbm5lY3Rpb24gaWYgdGhlIGNvbm5lY3Rpb24gaXMgc3RpbGwgbmVlZGVkIGJ1dCBOZXR3b3Jr
UHJvY2VzcyBkaWQgbm90IGZpbmQgdGhlIGNvbnRleHQgY29ubmVjdGlvbi4KKworICAgICAgICBU
aGlzIGlzIGRpZmZpY3VsdCB0byB0ZXN0IHNpbmNlIHdlIHdvdWxkIG5lZWQgZm9yIHRoZSBwcm9j
ZXNzIHNlbGVjdGVkIHRvIGhvc3Qgc2VydmljZSB3b3JrZXJzIHRvIGV4aXQgYmV0d2VlbiB0aGUK
KyAgICAgICAgdGltZSBpdCBpcyBzZWxlY3RlZCBhbmQgdGhlIHRpbWUgaXQgc2VuZHMgdGhlIG1l
c3NhZ2UgdG8gTmV0d29ya2luZyBwcm9jZXNzLgorCisgICAgICAgIFRvIGVuc3VyZSB0aGF0IHRo
ZSBjb250ZXh0IGNvbm5lY3Rpb24gaXMgY3JlYXRlZCBieSBXZWJQcm9jZXNzLCBXZWJQcm9jZXNz
UHJveHkgdGFrZXMgYSBiYWNrZ3JvdW5kIGFzc2VydGlvbiB1bnRpbCBXZWJQcm9jZXNzIGZpbmlz
aGVzCisgICAgICAgIGNyZWF0aW5nIHRoZSBjb250ZXh0IGNvbm5lY3Rpb24gdG8gTmV0d29yayBw
cm9jZXNzLgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dl
YlByb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJv
Y2Vzczo6ZXN0YWJsaXNoU1dDb250ZXh0Q29ubmVjdGlvbik6CisgICAgICAgICogTmV0d29ya1By
b2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaDoKKyAgICAgICAgKiBOZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbjoKKyAgICAg
ICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6
Ok5ldHdvcmtQcm9jZXNzOjpzd1NlcnZlckZvclNlc3Npb24pOgorICAgICAgICAqIE5ldHdvcmtQ
cm9jZXNzL05ldHdvcmtQcm9jZXNzLmg6CisgICAgICAgICogVUlQcm9jZXNzL05ldHdvcmsvTmV0
d29ya1Byb2Nlc3NQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzUHJv
eHk6OmVzdGFibGlzaFdvcmtlckNvbnRleHRDb25uZWN0aW9uVG9OZXR3b3JrUHJvY2Vzcyk6Cisg
ICAgICAgICogVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5oOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkubWVzc2FnZXMuaW46Cisg
ICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
V2ViUHJvY2Vzc1Bvb2w6OmVzdGFibGlzaFdvcmtlckNvbnRleHRDb25uZWN0aW9uVG9OZXR3b3Jr
UHJvY2Vzcyk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmg6CisgICAgICAg
ICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBy
b2Nlc3NQcm94eTo6ZXN0YWJsaXNoU2VydmljZVdvcmtlckNvbnRleHQpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1N0b3JhZ2Uv
V2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uY3BwOgorICAgICAgICAoV2ViS2l0OjptX3Vz
ZXJBZ2VudCk6CisgICAgICAgIChXZWJLaXQ6OldlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9u
Ojplc3RhYmxpc2hDb25uZWN0aW9uKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1N0b3JhZ2UvV2Vi
U1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBy
b2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjplc3RhYmxpc2hXb3JrZXJD
b250ZXh0Q29ubmVjdGlvblRvTmV0d29ya1Byb2Nlc3MpOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViUHJvY2Vzcy5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5p
bjoKKwogMjAyMC0wMi0wNCAgeW91ZW5uIGZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAg
ICAgICAgW0NvY29hXSBVc2UgQVZBc3NldFdyaXRlckRlbGVnYXRlIHRvIGltcGxlbWVudCBNZWRp
YVJlY29yZGVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29u
dGV4dC9TV0NvbnRleHRNYW5hZ2VyLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uv
Y29udGV4dC9TV0NvbnRleHRNYW5hZ2VyLmgKaW5kZXggOGI0OTllNzJiNzg4OWZiMzliM2E0YWUx
M2M2NThhZTBmMzdiMGFjNS4uYmE1N2FmNTNkOGM0YWU3NGU1MDcwYjdjNGUyY2Y1ZmRhOGNiZDVi
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU1dD
b250ZXh0TWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250
ZXh0L1NXQ29udGV4dE1hbmFnZXIuaApAQCAtNDksNiArNDksNyBAQCBwdWJsaWM6CiAgICAgcHVi
bGljOgogICAgICAgICB2aXJ0dWFsIH5Db25uZWN0aW9uKCkgeyB9CiAKKyAgICAgICAgdmlydHVh
bCB2b2lkIGVzdGFibGlzaENvbm5lY3Rpb24oQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKSA9
IDA7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBwb3N0TWVzc2FnZVRvU2VydmljZVdvcmtlckNsaWVu
dChjb25zdCBTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllciYgZGVzdGluYXRpb25JZGVudGlm
aWVyLCBjb25zdCBNZXNzYWdlV2l0aE1lc3NhZ2VQb3J0cyYsIFNlcnZpY2VXb3JrZXJJZGVudGlm
aWVyIHNvdXJjZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VPcmlnaW4pID0gMDsKICAgICAgICAgdmly
dHVhbCB2b2lkIHNlcnZpY2VXb3JrZXJTdGFydGVkKE9wdGlvbmFsPFNlcnZpY2VXb3JrZXJKb2JE
YXRhSWRlbnRpZmllcj4sIFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCBib29sIGRvZXNIYW5kbGVG
ZXRjaCkgPSAwOwogICAgICAgICB2aXJ0dWFsIHZvaWQgc2VydmljZVdvcmtlckZhaWxlZFRvU3Rh
cnQoT3B0aW9uYWw8U2VydmljZVdvcmtlckpvYkRhdGFJZGVudGlmaWVyPiwgU2VydmljZVdvcmtl
cklkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSkgPSAwOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmNwcAppbmRleCBiNjZiM2Jm
NmNlYWUzOTc3MjEyZDQxM2QwZjE3MDhmODU2ZmM2NzJlLi4xYTQwNWM4MWJiNmE3ZTYwZmVmZjAz
NTVkMjE1OTJlYTRhN2ZiYjIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3Nl
cnZpY2Uvc2VydmVyL1NXU2VydmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3Nl
cnZpY2Uvc2VydmVyL1NXU2VydmVyLmNwcApAQCAtMTAyMiw3ICsxMDIyLDYgQEAgdm9pZCBTV1Nl
cnZlcjo6YWRkQ29udGV4dENvbm5lY3Rpb24oU1dTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uJiBj
b25uZWN0aW9uKQogewogICAgIEFTU0VSVCghbV9jb250ZXh0Q29ubmVjdGlvbnMuY29udGFpbnMo
Y29ubmVjdGlvbi5yZWdpc3RyYWJsZURvbWFpbigpKSk7CiAKLSAgICBtX3BlbmRpbmdDb25uZWN0
aW9uRG9tYWlucy5yZW1vdmUoY29ubmVjdGlvbi5yZWdpc3RyYWJsZURvbWFpbigpKTsKICAgICBt
X2NvbnRleHRDb25uZWN0aW9ucy5hZGQoY29ubmVjdGlvbi5yZWdpc3RyYWJsZURvbWFpbigpLCAm
Y29ubmVjdGlvbik7CiAKICAgICBjb250ZXh0Q29ubmVjdGlvbkNyZWF0ZWQoY29ubmVjdGlvbik7
CkBAIC0xMDQ3LDcgKzEwNDYsMTkgQEAgdm9pZCBTV1NlcnZlcjo6Y3JlYXRlQ29udGV4dENvbm5l
Y3Rpb24oY29uc3QgUmVnaXN0cmFibGVEb21haW4mIHJlZ2lzdHJhYmxlRG9tYWkKICAgICAgICAg
cmV0dXJuOwogCiAgICAgbV9wZW5kaW5nQ29ubmVjdGlvbkRvbWFpbnMuYWRkKHJlZ2lzdHJhYmxl
RG9tYWluKTsKLSAgICBtX2NyZWF0ZUNvbnRleHRDb25uZWN0aW9uQ2FsbGJhY2socmVnaXN0cmFi
bGVEb21haW4pOworICAgIG1fY3JlYXRlQ29udGV4dENvbm5lY3Rpb25DYWxsYmFjayhyZWdpc3Ry
YWJsZURvbWFpbiwgW3RoaXMsIHdlYWtUaGlzID0gbWFrZVdlYWtQdHIodGhpcyksIHJlZ2lzdHJh
YmxlRG9tYWluXSB7CisgICAgICAgIGlmICghd2Vha1RoaXMpCisgICAgICAgICAgICByZXR1cm47
CisKKyAgICAgICAgQVNTRVJUKG1fcGVuZGluZ0Nvbm5lY3Rpb25Eb21haW5zLmNvbnRhaW5zKHJl
Z2lzdHJhYmxlRG9tYWluKSk7CisgICAgICAgIG1fcGVuZGluZ0Nvbm5lY3Rpb25Eb21haW5zLnJl
bW92ZShyZWdpc3RyYWJsZURvbWFpbik7CisKKyAgICAgICAgaWYgKG1fY29udGV4dENvbm5lY3Rp
b25zLmNvbnRhaW5zKHJlZ2lzdHJhYmxlRG9tYWluKSkKKyAgICAgICAgICAgIHJldHVybjsKKwor
ICAgICAgICBpZiAobmVlZHNDb250ZXh0Q29ubmVjdGlvbkZvclJlZ2lzdHJhYmxlRG9tYWluKHJl
Z2lzdHJhYmxlRG9tYWluKSkKKyAgICAgICAgICAgIGNyZWF0ZUNvbnRleHRDb25uZWN0aW9uKHJl
Z2lzdHJhYmxlRG9tYWluKTsKKyAgICB9KTsKIH0KIAogYm9vbCBTV1NlcnZlcjo6Y2FuSGFuZGxl
U2NoZW1lKFN0cmluZ1ZpZXcgc2NoZW1lKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5oIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5oCmluZGV4IDNhZWQ3OGE1MTVjOGQxMWQxZTRm
ZTgwNDEzNThkMWIwOGQ5MDlhNDUuLmNkYmQxZDE3M2E4MjYwMjg1YzliM2MzZjRjMWI2Y2E1MjFk
OWJjZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIv
U1dTZXJ2ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NX
U2VydmVyLmgKQEAgLTEyNSw3ICsxMjUsNyBAQCBwdWJsaWM6CiAgICAgfTsKIAogICAgIHVzaW5n
IFNvZnRVcGRhdGVDYWxsYmFjayA9IEZ1bmN0aW9uPHZvaWQoU2VydmljZVdvcmtlckpvYkRhdGEm
JiBqb2JEYXRhLCBib29sIHNob3VsZFJlZnJlc2hDYWNoZSwgUmVzb3VyY2VSZXF1ZXN0JiYsIENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoY29uc3QgU2VydmljZVdvcmtlckZldGNoUmVzdWx0Jik+JiYp
PjsKLSAgICB1c2luZyBDcmVhdGVDb250ZXh0Q29ubmVjdGlvbkNhbGxiYWNrID0gRnVuY3Rpb248
dm9pZChjb25zdCBXZWJDb3JlOjpSZWdpc3RyYWJsZURvbWFpbiYpPjsKKyAgICB1c2luZyBDcmVh
dGVDb250ZXh0Q29ubmVjdGlvbkNhbGxiYWNrID0gRnVuY3Rpb248dm9pZChjb25zdCBXZWJDb3Jl
OjpSZWdpc3RyYWJsZURvbWFpbiYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik+OwogICAg
IFdFQkNPUkVfRVhQT1JUIFNXU2VydmVyKFVuaXF1ZVJlZjxTV09yaWdpblN0b3JlPiYmLCBib29s
IHByb2Nlc3NUZXJtaW5hdGlvbkRlbGF5RW5hYmxlZCwgU3RyaW5nJiYgcmVnaXN0cmF0aW9uRGF0
YWJhc2VEaXJlY3RvcnksIFBBTDo6U2Vzc2lvbklELCBTb2Z0VXBkYXRlQ2FsbGJhY2smJiwgQ3Jl
YXRlQ29udGV4dENvbm5lY3Rpb25DYWxsYmFjayYmKTsKIAogICAgIFdFQkNPUkVfRVhQT1JUIH5T
V1NlcnZlcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcAppbmRleCBhN2JjMTQwZTM3NTll
MGMxYTNkMzMzZDQ0MGI5MGU3YWU2OTkxZWVmLi5mYzA4ZWY5OWU0YjQ2NzUwN2Y4YjdhNGY3YjU1
OWJjNGI2MTk2NzE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05l
dHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcApAQCAtOTE3LDEwICs5
MTcsMTEgQEAgdm9pZCBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6ZXN0YWJsaXNoU1dT
ZXJ2ZXJDb25uZWN0aW9uKCkKICAgICBzZXJ2ZXIuYWRkQ29ubmVjdGlvbihXVEZNb3ZlKGNvbm5l
Y3Rpb24pKTsKIH0KIAotdm9pZCBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6ZXN0YWJs
aXNoU1dDb250ZXh0Q29ubmVjdGlvbihSZWdpc3RyYWJsZURvbWFpbiYmIHJlZ2lzdHJhYmxlRG9t
YWluKQordm9pZCBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6ZXN0YWJsaXNoU1dDb250
ZXh0Q29ubmVjdGlvbihSZWdpc3RyYWJsZURvbWFpbiYmIHJlZ2lzdHJhYmxlRG9tYWluLCBDb21w
bGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAgaWYgKGF1
dG8qIHNlcnZlciA9IG1fbmV0d29ya1Byb2Nlc3MtPnN3U2VydmVyRm9yU2Vzc2lvbklmRXhpc3Rz
KG1fc2Vzc2lvbklEKSkKICAgICAgICAgbV9zd0NvbnRleHRDb25uZWN0aW9uID0gbWFrZVVuaXF1
ZTxXZWJTV1NlcnZlclRvQ29udGV4dENvbm5lY3Rpb24+KCp0aGlzLCBXVEZNb3ZlKHJlZ2lzdHJh
YmxlRG9tYWluKSwgKnNlcnZlcik7CisgICAgY29tcGxldGlvbkhhbmRsZXIoKTsKIH0KIAogdm9p
ZCBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6Y2xvc2VTV0NvbnRleHRDb25uZWN0aW9u
KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29y
a0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaAppbmRleCA3ZDQ5OWMxM2Y5MmFlYmI2MTgzMTE0Y2U3
MDE0YzE1ODMwNmRjNmI2Li5lMzViZDQ4YjFkM2VhMGE3NDZkY2NmODExYjkyNDllMTkyOGYwODIw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0
aW9uVG9XZWJQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oCkBAIC0yMjUsNyArMjI1LDcgQEAgcHJpdmF0ZToK
IAogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKICAgICB2b2lkIGVzdGFibGlzaFNXU2VydmVy
Q29ubmVjdGlvbigpOwotICAgIHZvaWQgZXN0YWJsaXNoU1dDb250ZXh0Q29ubmVjdGlvbihXZWJD
b3JlOjpSZWdpc3RyYWJsZURvbWFpbiYmKTsKKyAgICB2b2lkIGVzdGFibGlzaFNXQ29udGV4dENv
bm5lY3Rpb24oV2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW4mJiwgQ29tcGxldGlvbkhhbmRsZXI8
dm9pZCgpPiYmKTsKICAgICB2b2lkIGNsb3NlU1dDb250ZXh0Q29ubmVjdGlvbigpOwogICAgIHZv
aWQgdW5yZWdpc3RlclNXQ29ubmVjdGlvbigpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLm1lc3Nh
Z2VzLmluIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRv
V2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgppbmRleCA4N2I2OTRlMjE0MGEzNmRmZjQ4Y2Q2YjMwN2Ez
OTIxOGE5ODNjZDY1Li5lOTVjYzkzMzhhYjczNTc5YTYyNDY1ZTEyMmUyZTcwNDZiZGFiNjg4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9u
VG9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MubWVzc2FnZXMuaW4KQEAgLTc0LDcgKzc0
LDcgQEAgbWVzc2FnZXMgLT4gTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MgTGVnYWN5UmVj
ZWl2ZXIgewogICAgIFRha2VOZXR3b3JrTG9hZEluZm9ybWF0aW9uTWV0cmljcyh1aW50NjRfdCBy
ZXNvdXJjZUxvYWRJZGVudGlmaWVyKSAtPiAoV2ViQ29yZTo6TmV0d29ya0xvYWRNZXRyaWNzIG5l
dHdvcmtNZXRyaWNzKSBTeW5jaHJvbm91cwogCiAjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQot
ICAgIEVzdGFibGlzaFNXQ29udGV4dENvbm5lY3Rpb24oV2ViQ29yZTo6UmVnaXN0cmFibGVEb21h
aW4gZG9tYWluKQorICAgIEVzdGFibGlzaFNXQ29udGV4dENvbm5lY3Rpb24oV2ViQ29yZTo6UmVn
aXN0cmFibGVEb21haW4gZG9tYWluKSAtPiAoKSBBc3luYwogICAgIENsb3NlU1dDb250ZXh0Q29u
bmVjdGlvbigpCiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05l
dHdvcmtQcm9jZXNzLmNwcAppbmRleCAwYWUyOTE2ODNiYjc1MDZhY2QyYTczYzk3ZTQ3MDI2ZGNl
NDZlZjlkLi4yNGZjNWU0NTk0NWM2ZjZhNWRkMzk0MjQ1YjJiMGJlYTk4ZTU2N2YxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcApAQCAtMjQw
MSw5ICsyNDAxLDkgQEAgU1dTZXJ2ZXImIE5ldHdvcmtQcm9jZXNzOjpzd1NlcnZlckZvclNlc3Np
b24oUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklEKQogCiAgICAgICAgIHJldHVybiBtYWtlVW5pcXVl
PFNXU2VydmVyPihtYWtlVW5pcXVlUmVmPFdlYlNXT3JpZ2luU3RvcmU+KCksIGluZm8ucHJvY2Vz
c1Rlcm1pbmF0aW9uRGVsYXlFbmFibGVkLCBXVEZNb3ZlKHBhdGgpLCBzZXNzaW9uSUQsIFt0aGlz
LCBzZXNzaW9uSURdKGF1dG8mJiBqb2JEYXRhLCBib29sIHNob3VsZFJlZnJlc2hDYWNoZSwgYXV0
byYmIHJlcXVlc3QsIGF1dG8mJiBjb21wbGV0aW9uSGFuZGxlcikgbXV0YWJsZSB7CiAgICAgICAg
ICAgICBTZXJ2aWNlV29ya2VyU29mdFVwZGF0ZUxvYWRlcjo6c3RhcnQobmV0d29ya1Nlc3Npb24o
c2Vzc2lvbklEKSwgV1RGTW92ZShqb2JEYXRhKSwgc2hvdWxkUmVmcmVzaENhY2hlLCBXVEZNb3Zl
KHJlcXVlc3QpLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7Ci0gICAgICAgIH0sIFt0aGlz
LCBzZXNzaW9uSURdKGF1dG8mIHJlZ2lzdHJhYmxlRG9tYWluKSB7CisgICAgICAgIH0sIFt0aGlz
LCBzZXNzaW9uSURdKGF1dG8mIHJlZ2lzdHJhYmxlRG9tYWluLCBhdXRvJiYgY29tcGxldGlvbkhh
bmRsZXIpIHsKICAgICAgICAgICAgIEFTU0VSVCghcmVnaXN0cmFibGVEb21haW4uaXNFbXB0eSgp
KTsKLSAgICAgICAgICAgIHBhcmVudFByb2Nlc3NDb25uZWN0aW9uKCktPnNlbmQoTWVzc2FnZXM6
Ok5ldHdvcmtQcm9jZXNzUHJveHk6OkVzdGFibGlzaFdvcmtlckNvbnRleHRDb25uZWN0aW9uVG9O
ZXR3b3JrUHJvY2VzcyB7IHJlZ2lzdHJhYmxlRG9tYWluLCBzZXNzaW9uSUQgfSwgMCk7CisgICAg
ICAgICAgICBwYXJlbnRQcm9jZXNzQ29ubmVjdGlvbigpLT5zZW5kV2l0aEFzeW5jUmVwbHkoTWVz
c2FnZXM6Ok5ldHdvcmtQcm9jZXNzUHJveHk6OkVzdGFibGlzaFdvcmtlckNvbnRleHRDb25uZWN0
aW9uVG9OZXR3b3JrUHJvY2VzcyB7IHJlZ2lzdHJhYmxlRG9tYWluLCBzZXNzaW9uSUQgfSwgV1RG
TW92ZShjb21wbGV0aW9uSGFuZGxlciksIDApOwogICAgICAgICB9KTsKICAgICB9KTsKICAgICBy
ZXR1cm4gKnJlc3VsdC5pdGVyYXRvci0+dmFsdWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuY3BwIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcAppbmRleCAwOThiZDVh
ZGE3ZWNhYmVjYWU0NDZkMTU0NWIyZmZlOTM0YzVkYTBmLi41ZWI2YzFhZGJjZDI4OWEzN2I1NGJi
NjNmNmYyOTM5NzVmN2ZhNzRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9O
ZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5jcHAKQEAgLTEyOTksOSArMTI5OSw5IEBA
IHZvaWQgTmV0d29ya1Byb2Nlc3NQcm94eTo6Z2V0U2FuZGJveEV4dGVuc2lvbnNGb3JCbG9iRmls
ZXMoY29uc3QgVmVjdG9yPFN0cmluZz4mCiAjZW5kaWYKIAogI2lmIEVOQUJMRShTRVJWSUNFX1dP
UktFUikKLXZvaWQgTmV0d29ya1Byb2Nlc3NQcm94eTo6ZXN0YWJsaXNoV29ya2VyQ29udGV4dENv
bm5lY3Rpb25Ub05ldHdvcmtQcm9jZXNzKFJlZ2lzdHJhYmxlRG9tYWluJiYgcmVnaXN0cmFibGVE
b21haW4sIFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCkKK3ZvaWQgTmV0d29ya1Byb2Nlc3NQcm94
eTo6ZXN0YWJsaXNoV29ya2VyQ29udGV4dENvbm5lY3Rpb25Ub05ldHdvcmtQcm9jZXNzKFJlZ2lz
dHJhYmxlRG9tYWluJiYgcmVnaXN0cmFibGVEb21haW4sIFBBTDo6U2Vzc2lvbklEIHNlc3Npb25J
RCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewotICAg
IG1fcHJvY2Vzc1Bvb2wuZXN0YWJsaXNoV29ya2VyQ29udGV4dENvbm5lY3Rpb25Ub05ldHdvcmtQ
cm9jZXNzKCp0aGlzLCBXVEZNb3ZlKHJlZ2lzdHJhYmxlRG9tYWluKSwgc2Vzc2lvbklEKTsKKyAg
ICBtX3Byb2Nlc3NQb29sLmVzdGFibGlzaFdvcmtlckNvbnRleHRDb25uZWN0aW9uVG9OZXR3b3Jr
UHJvY2VzcygqdGhpcywgV1RGTW92ZShyZWdpc3RyYWJsZURvbWFpbiksIHNlc3Npb25JRCwgV1RG
TW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwogfQogCiB2b2lkIE5ldHdvcmtQcm9jZXNzUHJveHk6
OndvcmtlckNvbnRleHRDb25uZWN0aW9uTm9Mb25nZXJOZWVkZWQoV2ViQ29yZTo6UHJvY2Vzc0lk
ZW50aWZpZXIgaWRlbnRpZmllcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
TmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmgKaW5kZXggYTAyMjIyOWNiN2RhMTI4OWQxOTcz
ZDk0OGJkM2E0MGFkM2RiNmM5Ny4uZmI4NjEwMTdkODgxOTc3YzNmMDlmODUzZmUyM2FhNTUzNDk4
OTA5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3Jr
UHJvY2Vzc1Byb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3
b3JrUHJvY2Vzc1Byb3h5LmgKQEAgLTI2Miw3ICsyNjIsNyBAQCBwcml2YXRlOgogI2VuZGlmCiAK
ICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCi0gICAgdm9pZCBlc3RhYmxpc2hXb3JrZXJDb250
ZXh0Q29ubmVjdGlvblRvTmV0d29ya1Byb2Nlc3MoV2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW4m
JiwgUEFMOjpTZXNzaW9uSUQpOworICAgIHZvaWQgZXN0YWJsaXNoV29ya2VyQ29udGV4dENvbm5l
Y3Rpb25Ub05ldHdvcmtQcm9jZXNzKFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluJiYsIFBBTDo6
U2Vzc2lvbklELCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogICAgIHZvaWQgd29ya2Vy
Q29udGV4dENvbm5lY3Rpb25Ob0xvbmdlck5lZWRlZChXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmll
cik7CiAgICAgdm9pZCByZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnRQcm9jZXNzKFdlYkNvcmU6
OlByb2Nlc3NJZGVudGlmaWVyIHdlYlByb2Nlc3NJZGVudGlmaWVyLCBXZWJDb3JlOjpQcm9jZXNz
SWRlbnRpZmllciBzZXJ2aWNlV29ya2VyUHJvY2Vzc0lkZW50aWZpZXIpOwogICAgIHZvaWQgdW5y
ZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnRQcm9jZXNzKFdlYkNvcmU6OlByb2Nlc3NJZGVudGlm
aWVyIHdlYlByb2Nlc3NJZGVudGlmaWVyLCBXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllciBzZXJ2
aWNlV29ya2VyUHJvY2Vzc0lkZW50aWZpZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmlu
CmluZGV4IDZhOTc4MTU1MjYxMmVlYjdmODQ1YmNkZGZmZjQyNWQ5MjVkYzk4ZTIuLjRiZGE3Njhj
ZDRmOGNmZmZmMWU5MDRlOTkwODM3MTYyMGUxZTUzYzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5tZXNzYWdlcy5pbgorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkubWVz
c2FnZXMuaW4KQEAgLTYyLDcgKzYyLDcgQEAgbWVzc2FnZXMgLT4gTmV0d29ya1Byb2Nlc3NQcm94
eSBMZWdhY3lSZWNlaXZlciBOb3RSZWZDb3VudGVkIHsKICNlbmRpZgogCiAjaWYgRU5BQkxFKFNF
UlZJQ0VfV09SS0VSKQotICAgIEVzdGFibGlzaFdvcmtlckNvbnRleHRDb25uZWN0aW9uVG9OZXR3
b3JrUHJvY2VzcyhXZWJDb3JlOjpSZWdpc3RyYWJsZURvbWFpbiByZWdpc3RyYWJsZURvbWFpbiwg
UEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklEKQorICAgIEVzdGFibGlzaFdvcmtlckNvbnRleHRDb25u
ZWN0aW9uVG9OZXR3b3JrUHJvY2VzcyhXZWJDb3JlOjpSZWdpc3RyYWJsZURvbWFpbiByZWdpc3Ry
YWJsZURvbWFpbiwgUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklEKSAtPiAoKSBBc3luYwogICAgIFdv
cmtlckNvbnRleHRDb25uZWN0aW9uTm9Mb25nZXJOZWVkZWQoV2ViQ29yZTo6UHJvY2Vzc0lkZW50
aWZpZXIgaWRlbnRpZmllcikKICAgICBSZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnRQcm9jZXNz
KFdlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyIHdlYlByb2Nlc3NJZGVudGlmaWVyLCBXZWJDb3Jl
OjpQcm9jZXNzSWRlbnRpZmllciBzZXJ2aWNlV29ya2VyUHJvY2Vzc0lkZW50aWZpZXIpCiAgICAg
VW5yZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnRQcm9jZXNzKFdlYkNvcmU6OlByb2Nlc3NJZGVu
dGlmaWVyIHdlYlByb2Nlc3NJZGVudGlmaWVyLCBXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllciBz
ZXJ2aWNlV29ya2VyUHJvY2Vzc0lkZW50aWZpZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQcm9jZXNzUG9vbC5jcHAKaW5kZXggZWU3ZDUzMjlkOGNlMDhlOTY5OGYwNWVkNDQ4MGJiZWE5
ZjNkODljNC4uZDg0NDYwZTgzZGUyZDk2ZDg0YzgxNzMxYTcwY2YwNGM2OGNjODVlYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcApAQCAtNzM3LDcgKzczNyw3
IEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OmdldEdQVVByb2Nlc3NDb25uZWN0aW9uKFdlYlByb2Nl
c3NQcm94eSYgd2ViUHJvY2Vzc1Byb3h5LCBNCiAjZW5kaWYKIAogI2lmIEVOQUJMRShTRVJWSUNF
X1dPUktFUikKLXZvaWQgV2ViUHJvY2Vzc1Bvb2w6OmVzdGFibGlzaFdvcmtlckNvbnRleHRDb25u
ZWN0aW9uVG9OZXR3b3JrUHJvY2VzcyhOZXR3b3JrUHJvY2Vzc1Byb3h5JiBwcm94eSwgUmVnaXN0
cmFibGVEb21haW4mJiByZWdpc3RyYWJsZURvbWFpbiwgUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklE
KQordm9pZCBXZWJQcm9jZXNzUG9vbDo6ZXN0YWJsaXNoV29ya2VyQ29udGV4dENvbm5lY3Rpb25U
b05ldHdvcmtQcm9jZXNzKE5ldHdvcmtQcm9jZXNzUHJveHkmIHByb3h5LCBSZWdpc3RyYWJsZURv
bWFpbiYmIHJlZ2lzdHJhYmxlRG9tYWluLCBQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAgICBBU1NFUlRf
VU5VU0VEKHByb3h5LCAmcHJveHkgPT0gbV9uZXR3b3JrUHJvY2Vzcy5nZXQoKSk7CiAKQEAgLTc1
Miw2ICs3NTIsNyBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjplc3RhYmxpc2hXb3JrZXJDb250ZXh0
Q29ubmVjdGlvblRvTmV0d29ya1Byb2Nlc3MoTmV0d29ya1BybwogICAgIFJlZ2lzdHJhYmxlRG9t
YWluV2l0aFNlc3Npb25JRCByZWdpc3RyYWJsZURvbWFpbldpdGhTZXNzaW9uSUQgeyBSZWdpc3Ry
YWJsZURvbWFpbiB7IHJlZ2lzdHJhYmxlRG9tYWluIH0sIHNlc3Npb25JRCB9OwogICAgIGlmICht
X3NlcnZpY2VXb3JrZXJQcm9jZXNzZXMuY29udGFpbnMocmVnaXN0cmFibGVEb21haW5XaXRoU2Vz
c2lvbklEKSkgewogICAgICAgICBXRUJQUk9DRVNTUE9PTF9SRUxFQVNFX0xPR19JRl9BTExPV0VE
KFNlcnZpY2VXb3JrZXIsICJlc3RhYmxpc2hXb3JrZXJDb250ZXh0Q29ubmVjdGlvblRvTmV0d29y
a1Byb2Nlc3MgcHJvY2VzcyBhbHJlYWR5IGNyZWF0ZWQiKTsKKyAgICAgICAgY29tcGxldGlvbkhh
bmRsZXIoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtNzg5LDcgKzc5MCw3IEBAIHZv
aWQgV2ViUHJvY2Vzc1Bvb2w6OmVzdGFibGlzaFdvcmtlckNvbnRleHRDb25uZWN0aW9uVG9OZXR3
b3JrUHJvY2VzcyhOZXR3b3JrUHJvCiAgICAgQVNTRVJUKCFtX3NlcnZpY2VXb3JrZXJQcm9jZXNz
ZXMuY29udGFpbnMocmVnaXN0cmFibGVEb21haW5XaXRoU2Vzc2lvbklEKSk7CiAgICAgbV9zZXJ2
aWNlV29ya2VyUHJvY2Vzc2VzLmFkZChXVEZNb3ZlKHJlZ2lzdHJhYmxlRG9tYWluV2l0aFNlc3Np
b25JRCksIG1ha2VXZWFrUHRyKHNlcnZpY2VXb3JrZXJQcm9jZXNzUHJveHkpKTsKIAotICAgIHNl
cnZpY2VXb3JrZXJQcm9jZXNzUHJveHktPmVzdGFibGlzaFNlcnZpY2VXb3JrZXJDb250ZXh0KG1f
c2VydmljZVdvcmtlclByZWZlcmVuY2VzID8gbV9zZXJ2aWNlV29ya2VyUHJlZmVyZW5jZXMudmFs
dWUoKSA6IG1fZGVmYXVsdFBhZ2VHcm91cC0+cHJlZmVyZW5jZXMoKS5zdG9yZSgpKTsKKyAgICBz
ZXJ2aWNlV29ya2VyUHJvY2Vzc1Byb3h5LT5lc3RhYmxpc2hTZXJ2aWNlV29ya2VyQ29udGV4dCht
X3NlcnZpY2VXb3JrZXJQcmVmZXJlbmNlcyA/IG1fc2VydmljZVdvcmtlclByZWZlcmVuY2VzLnZh
bHVlKCkgOiBtX2RlZmF1bHRQYWdlR3JvdXAtPnByZWZlcmVuY2VzKCkuc3RvcmUoKSwgV1RGTW92
ZShjb21wbGV0aW9uSGFuZGxlcikpOwogICAgIGlmICghbV9zZXJ2aWNlV29ya2VyVXNlckFnZW50
LmlzTnVsbCgpKQogICAgICAgICBzZXJ2aWNlV29ya2VyUHJvY2Vzc1Byb3h5LT5zZXRTZXJ2aWNl
V29ya2VyVXNlckFnZW50KG1fc2VydmljZVdvcmtlclVzZXJBZ2VudCk7CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaAppbmRleCA2NGIxZGJjZTRjOTA3NTM2OTk5YjFj
MmE1ZWIzMTQ2NzBmNDIzZTFlLi5jN2E5ZGIyMmVlZDliZGMxYjEwN2UyYjcwMjdkM2NiZmQyNTgy
OTRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmgKQEAgLTM5OCw3
ICszOTgsNyBAQCBwdWJsaWM6CiAKICAgICBib29sIGlzU2VydmljZVdvcmtlclBhZ2VJRChXZWJQ
YWdlUHJveHlJZGVudGlmaWVyKSBjb25zdDsKICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCi0g
ICAgdm9pZCBlc3RhYmxpc2hXb3JrZXJDb250ZXh0Q29ubmVjdGlvblRvTmV0d29ya1Byb2Nlc3Mo
TmV0d29ya1Byb2Nlc3NQcm94eSYsIFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluJiYsIFBBTDo6
U2Vzc2lvbklEKTsKKyAgICB2b2lkIGVzdGFibGlzaFdvcmtlckNvbnRleHRDb25uZWN0aW9uVG9O
ZXR3b3JrUHJvY2VzcyhOZXR3b3JrUHJvY2Vzc1Byb3h5JiwgV2ViQ29yZTo6UmVnaXN0cmFibGVE
b21haW4mJiwgUEFMOjpTZXNzaW9uSUQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAg
ICAgdm9pZCByZW1vdmVGcm9tU2VydmljZVdvcmtlclByb2Nlc3NlcyhXZWJQcm9jZXNzUHJveHkm
KTsKICAgICBzaXplX3Qgc2VydmljZVdvcmtlclByb3hpZXNDb3VudCgpIGNvbnN0IHsgcmV0dXJu
IG1fc2VydmljZVdvcmtlclByb2Nlc3Nlcy5zaXplKCk7IH0KICAgICB2b2lkIHNldEFsbG93c0Fu
eVNTTENlcnRpZmljYXRlRm9yU2VydmljZVdvcmtlcihib29sIGFsbG93cykgeyBtX2FsbG93c0Fu
eVNTTENlcnRpZmljYXRlRm9yU2VydmljZVdvcmtlciA9IGFsbG93czsgfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAKaW5kZXggNzE3ZDNmMWYwODc5NTk5MzUy
ZmI5MmE4OTg5ZDVhMmE1NGY1NDI5Yy4uNWUyNDk2ODA5ZDczNTAzMmRiOGJlM2Y2YjY3YjFlOTQ5
M2ViOTJjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1By
b3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3Bw
CkBAIC0xNjA1LDkgKzE2MDUsMTEgQEAgdm9pZCBXZWJQcm9jZXNzUHJveHk6OmVuZEJhY2tncm91
bmRBY3Rpdml0eUZvckZ1bGxzY3JlZW5JbnB1dCgpCiAjZW5kaWYKIAogI2lmIEVOQUJMRShTRVJW
SUNFX1dPUktFUikKLXZvaWQgV2ViUHJvY2Vzc1Byb3h5Ojplc3RhYmxpc2hTZXJ2aWNlV29ya2Vy
Q29udGV4dChjb25zdCBXZWJQcmVmZXJlbmNlc1N0b3JlJiBzdG9yZSkKK3ZvaWQgV2ViUHJvY2Vz
c1Byb3h5Ojplc3RhYmxpc2hTZXJ2aWNlV29ya2VyQ29udGV4dChjb25zdCBXZWJQcmVmZXJlbmNl
c1N0b3JlJiBzdG9yZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5k
bGVyKQogewotICAgIHNlbmQoTWVzc2FnZXM6OldlYlByb2Nlc3M6OkVzdGFibGlzaFdvcmtlckNv
bnRleHRDb25uZWN0aW9uVG9OZXR3b3JrUHJvY2VzcyB7IHByb2Nlc3NQb29sKCkuZGVmYXVsdFBh
Z2VHcm91cCgpLnBhZ2VHcm91cElEKCksIG1fc2VydmljZVdvcmtlckluZm9ybWF0aW9uLT5zZXJ2
aWNlV29ya2VyUGFnZVByb3h5SUQsIG1fc2VydmljZVdvcmtlckluZm9ybWF0aW9uLT5zZXJ2aWNl
V29ya2VyUGFnZUlELCBzdG9yZSwgKm1fcmVnaXN0cmFibGVEb21haW4sIG1fc2VydmljZVdvcmtl
ckluZm9ybWF0aW9uLT5pbml0aWFsaXphdGlvbkRhdGEgfSwgMCk7CisgICAgc2VuZFdpdGhBc3lu
Y1JlcGx5KE1lc3NhZ2VzOjpXZWJQcm9jZXNzOjpFc3RhYmxpc2hXb3JrZXJDb250ZXh0Q29ubmVj
dGlvblRvTmV0d29ya1Byb2Nlc3MgeyBwcm9jZXNzUG9vbCgpLmRlZmF1bHRQYWdlR3JvdXAoKS5w
YWdlR3JvdXBJRCgpLCBtX3NlcnZpY2VXb3JrZXJJbmZvcm1hdGlvbi0+c2VydmljZVdvcmtlclBh
Z2VQcm94eUlELCBtX3NlcnZpY2VXb3JrZXJJbmZvcm1hdGlvbi0+c2VydmljZVdvcmtlclBhZ2VJ
RCwgc3RvcmUsICptX3JlZ2lzdHJhYmxlRG9tYWluLCBtX3NlcnZpY2VXb3JrZXJJbmZvcm1hdGlv
bi0+aW5pdGlhbGl6YXRpb25EYXRhIH0sIFthY3Rpdml0eSA9IG1fdGhyb3R0bGVyLmJhY2tncm91
bmRBY3Rpdml0eSgiRXN0YWJsaXNoIFNlcnZpY2UgV29ya2VyIl9zKSwgY29tcGxldGlvbkhhbmRs
ZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0oKSBtdXRhYmxlIHsKKyAgICAgICAgY29t
cGxldGlvbkhhbmRsZXIoKTsKKyAgICB9LCAwKTsKIH0KIAogdm9pZCBXZWJQcm9jZXNzUHJveHk6
OnNldFNlcnZpY2VXb3JrZXJVc2VyQWdlbnQoY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaCBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCmluZGV4IGVmNjRiM2MyZTk0Mjgw
OTY1OTQ4MTE1ZjdhYmYzNzQ1ZTZlN2Y2MjUuLjIxNThhMmI5MDExODBmYjIyZjliZDMzN2QxZDcz
NTBjODk0Mzc3ZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nl
c3NQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5o
CkBAIC0zMzksNyArMzM5LDcgQEAgcHVibGljOgogICAgIHZvaWQgZGVyZWYoKSBmaW5hbCB7IFRo
cmVhZFNhZmVSZWZDb3VudGVkOjpkZXJlZigpOyB9CiAKICNpZiBFTkFCTEUoU0VSVklDRV9XT1JL
RVIpCi0gICAgdm9pZCBlc3RhYmxpc2hTZXJ2aWNlV29ya2VyQ29udGV4dChjb25zdCBXZWJQcmVm
ZXJlbmNlc1N0b3JlJik7CisgICAgdm9pZCBlc3RhYmxpc2hTZXJ2aWNlV29ya2VyQ29udGV4dChj
b25zdCBXZWJQcmVmZXJlbmNlc1N0b3JlJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsK
ICAgICB2b2lkIHNldFNlcnZpY2VXb3JrZXJVc2VyQWdlbnQoY29uc3QgU3RyaW5nJik7CiAgICAg
dm9pZCB1cGRhdGVTZXJ2aWNlV29ya2VyUHJlZmVyZW5jZXNTdG9yZShjb25zdCBXZWJQcmVmZXJl
bmNlc1N0b3JlJik7CiAgICAgYm9vbCBoYXNTZXJ2aWNlV29ya2VyUGFnZVByb3h5KFdlYlBhZ2VQ
cm94eUlkZW50aWZpZXIgcGFnZVByb3h5SUQpIHsgcmV0dXJuIG1fc2VydmljZVdvcmtlckluZm9y
bWF0aW9uICYmIG1fc2VydmljZVdvcmtlckluZm9ybWF0aW9uLT5zZXJ2aWNlV29ya2VyUGFnZVBy
b3h5SUQgPT0gcGFnZVByb3h5SUQ7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmNw
cAppbmRleCBlZTNiMGVjNmIwMGU0MDNkNjA3ZmFjMjJmYzAwMGY0ODJhY2U3NDIxLi5mNzA1ZGQx
ZWUyMmViYmMwZTRmZWVlMDBjODY3NWQzODQwZTkzYTQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDb250ZXh0TWFuYWdl
ckNvbm5lY3Rpb24uY3BwCkBAIC0xMDYsMTIgKzEwNiwxNiBAQCBXZWJTV0NvbnRleHRNYW5hZ2Vy
Q29ubmVjdGlvbjo6V2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24oUmVmPElQQzo6Q29ubmVj
dGlvbgogICAgIH0KIAogICAgIHVwZGF0ZVByZWZlcmVuY2VzU3RvcmUoc3RvcmUpOwotICAgIG1f
Y29ubmVjdGlvblRvTmV0d29ya1Byb2Nlc3MtPnNlbmQoTWVzc2FnZXM6Ok5ldHdvcmtDb25uZWN0
aW9uVG9XZWJQcm9jZXNzOjpFc3RhYmxpc2hTV0NvbnRleHRDb25uZWN0aW9uIHsgbV9yZWdpc3Ry
YWJsZURvbWFpbiB9LCAwKTsKICAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5kaXNhYmxlVGVy
bWluYXRpb24oKTsKIH0KIAogV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb246On5XZWJTV0Nv
bnRleHRNYW5hZ2VyQ29ubmVjdGlvbigpID0gZGVmYXVsdDsKIAordm9pZCBXZWJTV0NvbnRleHRN
YW5hZ2VyQ29ubmVjdGlvbjo6ZXN0YWJsaXNoQ29ubmVjdGlvbihDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCit7CisgICAgbV9jb25uZWN0aW9uVG9OZXR3b3Jr
UHJvY2Vzcy0+c2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpOZXR3b3JrQ29ubmVjdGlvblRv
V2ViUHJvY2Vzczo6RXN0YWJsaXNoU1dDb250ZXh0Q29ubmVjdGlvbiB7IG1fcmVnaXN0cmFibGVE
b21haW4gfSwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlciksIDApOworfQorCiB2b2lkIFdlYlNX
Q29udGV4dE1hbmFnZXJDb25uZWN0aW9uOjp1cGRhdGVQcmVmZXJlbmNlc1N0b3JlKGNvbnN0IFdl
YlByZWZlcmVuY2VzU3RvcmUmIHN0b3JlKQogewogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6
OnNoYXJlZEZlYXR1cmVzKCkuc2V0U2VydmljZVdvcmtlckVuYWJsZWQodHJ1ZSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2Vy
Q29ubmVjdGlvbi5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDb250
ZXh0TWFuYWdlckNvbm5lY3Rpb24uaAppbmRleCA0MjJhOTc5MjVjYTE3ZmYwMzc1NDIzYmRjNzNl
YjFkZmVhYTRhNzg4Li44MWZlMWU5NjA5NzlmNDUxNjEwOTYxNjQ3Mzk1YzFlMzVkYTY1Nzk3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRN
YW5hZ2VyQ29ubmVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdl
L1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmgKQEAgLTY4LDYgKzY4LDcgQEAgcHJpdmF0
ZToKICAgICB2b2lkIHVwZGF0ZVByZWZlcmVuY2VzU3RvcmUoY29uc3QgV2ViUHJlZmVyZW5jZXNT
dG9yZSYpOwogCiAgICAgLy8gV2ViQ29yZTo6U1dDb250ZXh0TWFuYWdlcjo6Q29ubmVjdGlvbi4K
KyAgICB2b2lkIGVzdGFibGlzaENvbm5lY3Rpb24oQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYm
KSBmaW5hbDsKICAgICB2b2lkIHBvc3RNZXNzYWdlVG9TZXJ2aWNlV29ya2VyQ2xpZW50KGNvbnN0
IFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyJiBkZXN0aW5hdGlvbklkZW50
aWZpZXIsIGNvbnN0IFdlYkNvcmU6Ok1lc3NhZ2VXaXRoTWVzc2FnZVBvcnRzJiwgV2ViQ29yZTo6
U2VydmljZVdvcmtlcklkZW50aWZpZXIgc291cmNlSWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBz
b3VyY2VPcmlnaW4pIGZpbmFsOwogICAgIHZvaWQgZGlkRmluaXNoSW5zdGFsbChPcHRpb25hbDxX
ZWJDb3JlOjpTZXJ2aWNlV29ya2VySm9iRGF0YUlkZW50aWZpZXI+LCBXZWJDb3JlOjpTZXJ2aWNl
V29ya2VySWRlbnRpZmllciwgYm9vbCB3YXNTdWNjZXNzZnVsKSBmaW5hbDsKICAgICB2b2lkIGRp
ZEZpbmlzaEFjdGl2YXRpb24oV2ViQ29yZTo6U2VydmljZVdvcmtlcklkZW50aWZpZXIpIGZpbmFs
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCmluZGV4IDM3OTM1YzU3ZGNl
NzIyYzAwNDZjYmEwMzI4ZDgyYWYzNDMyYWZjNTEuLjI2ODlkYTQ3MjI5Y2U0NGRmYzQ0N2NiYzg3
Y2ZlMmU5NWNiZGY1MjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
cm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAK
QEAgLTE4NTAsMTMgKzE4NTAsMTQgQEAgTGliV2ViUlRDTmV0d29yayYgV2ViUHJvY2Vzczo6bGli
V2ViUlRDTmV0d29yaygpCiB9CiAKICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCi12b2lkIFdl
YlByb2Nlc3M6OmVzdGFibGlzaFdvcmtlckNvbnRleHRDb25uZWN0aW9uVG9OZXR3b3JrUHJvY2Vz
cyh1aW50NjRfdCBwYWdlR3JvdXBJRCwgV2ViUGFnZVByb3h5SWRlbnRpZmllciB3ZWJQYWdlUHJv
eHlJRCwgUGFnZUlkZW50aWZpZXIgcGFnZUlELCBjb25zdCBXZWJQcmVmZXJlbmNlc1N0b3JlJiBz
dG9yZSwgUmVnaXN0cmFibGVEb21haW4mJiByZWdpc3RyYWJsZURvbWFpbiwgU2VydmljZVdvcmtl
ckluaXRpYWxpemF0aW9uRGF0YSYmIGluaXRpYWxpemF0aW9uRGF0YSkKK3ZvaWQgV2ViUHJvY2Vz
czo6ZXN0YWJsaXNoV29ya2VyQ29udGV4dENvbm5lY3Rpb25Ub05ldHdvcmtQcm9jZXNzKHVpbnQ2
NF90IHBhZ2VHcm91cElELCBXZWJQYWdlUHJveHlJZGVudGlmaWVyIHdlYlBhZ2VQcm94eUlELCBQ
YWdlSWRlbnRpZmllciBwYWdlSUQsIGNvbnN0IFdlYlByZWZlcmVuY2VzU3RvcmUmIHN0b3JlLCBS
ZWdpc3RyYWJsZURvbWFpbiYmIHJlZ2lzdHJhYmxlRG9tYWluLCBTZXJ2aWNlV29ya2VySW5pdGlh
bGl6YXRpb25EYXRhJiYgaW5pdGlhbGl6YXRpb25EYXRhLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAgLy8gV2UgYXJlIGluIHRoZSBTZXJ2aWNl
IFdvcmtlciBjb250ZXh0IHByb2Nlc3MgYW5kIHRoZSBjYWxsIGJlbG93IGVzdGFibGlzaGVzIG91
ciBjb25uZWN0aW9uIHRvIHRoZSBOZXR3b3JrIFByb2Nlc3MKICAgICAvLyBieSBjYWxsaW5nIGVu
c3VyZU5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi4gU1dDb250ZXh0TWFuYWdlciBuZWVkcyB0byB1
c2UgdGhlIHNhbWUgdW5kZXJseWluZyBJUEM6OkNvbm5lY3Rpb24gYXMgdGhlCiAgICAgLy8gTmV0
d29ya1Byb2Nlc3NDb25uZWN0aW9uIGZvciBzeW5jaHJvbml6YXRpb24gcHVycG9zZXMuCiAgICAg
YXV0byYgaXBjQ29ubmVjdGlvbiA9IGVuc3VyZU5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbigpLmNv
bm5lY3Rpb24oKTsKICAgICBTV0NvbnRleHRNYW5hZ2VyOjpzaW5nbGV0b24oKS5zZXRDb25uZWN0
aW9uKG1ha2VVbmlxdWU8V2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24+KGlwY0Nvbm5lY3Rp
b24sIFdURk1vdmUocmVnaXN0cmFibGVEb21haW4pLCBwYWdlR3JvdXBJRCwgd2ViUGFnZVByb3h5
SUQsIHBhZ2VJRCwgc3RvcmUsIFdURk1vdmUoaW5pdGlhbGl6YXRpb25EYXRhKSkpOworICAgIFNX
Q29udGV4dE1hbmFnZXI6OnNpbmdsZXRvbigpLmNvbm5lY3Rpb24oKS0+ZXN0YWJsaXNoQ29ubmVj
dGlvbihXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiB9CiAKIHZvaWQgV2ViUHJvY2Vzczo6
cmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50cygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBy
b2Nlc3MuaAppbmRleCAxMzE1OWFkZWJhMjQyOTA3MmY1ZDNmZjcwNTM4ZTAwNzc0ZWQ4ODY5Li5h
YzYxYzIwMDMwMWFiN2ZlMTkxZGM0Mjg2Y2Q5ZmFkM2QyMmUwYzM4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQcm9jZXNzLmgKQEAgLTQwMCw3ICs0MDAsNyBAQCBwcml2YXRlOgogI2VuZGlm
CiAKICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCi0gICAgdm9pZCBlc3RhYmxpc2hXb3JrZXJD
b250ZXh0Q29ubmVjdGlvblRvTmV0d29ya1Byb2Nlc3ModWludDY0X3QgcGFnZUdyb3VwSUQsIFdl
YlBhZ2VQcm94eUlkZW50aWZpZXIsIFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVyLCBjb25zdCBXZWJQ
cmVmZXJlbmNlc1N0b3JlJiwgV2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW4mJiwgU2VydmljZVdv
cmtlckluaXRpYWxpemF0aW9uRGF0YSYmKTsKKyAgICB2b2lkIGVzdGFibGlzaFdvcmtlckNvbnRl
eHRDb25uZWN0aW9uVG9OZXR3b3JrUHJvY2Vzcyh1aW50NjRfdCBwYWdlR3JvdXBJRCwgV2ViUGFn
ZVByb3h5SWRlbnRpZmllciwgV2ViQ29yZTo6UGFnZUlkZW50aWZpZXIsIGNvbnN0IFdlYlByZWZl
cmVuY2VzU3RvcmUmLCBXZWJDb3JlOjpSZWdpc3RyYWJsZURvbWFpbiYmLCBTZXJ2aWNlV29ya2Vy
SW5pdGlhbGl6YXRpb25EYXRhJiYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAgICAg
dm9pZCByZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnRzKCk7CiAjZW5kaWYKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4gYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgppbmRleCA3YWIxZmE1
M2U4ZGZjNGYwYjQ2NjlhM2ZiNWU3ODcxZTQwMWI2YmQzLi5kZmJhNjA2YmU0Nzg2YjJiZjRhNDIy
NDc2NmQ1MjFkNWZmM2I2ZmRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UHJvY2Vzcy5tZXNzYWdlcy5pbgpAQCAtMTA2LDcgKzEwNiw3IEBAIG1lc3NhZ2VzIC0+IFdlYlBy
b2Nlc3MgTGVnYWN5UmVjZWl2ZXIgTm90UmVmQ291bnRlZCB7CiAjZW5kaWYKIAogI2lmIEVOQUJM
RShTRVJWSUNFX1dPUktFUikKLSAgICBFc3RhYmxpc2hXb3JrZXJDb250ZXh0Q29ubmVjdGlvblRv
TmV0d29ya1Byb2Nlc3ModWludDY0X3QgcGFnZUdyb3VwSUQsIFdlYktpdDo6V2ViUGFnZVByb3h5
SWRlbnRpZmllciB3ZWJQYWdlUHJveHlJRCwgV2ViQ29yZTo6UGFnZUlkZW50aWZpZXIgcGFnZUlE
LCBzdHJ1Y3QgV2ViS2l0OjpXZWJQcmVmZXJlbmNlc1N0b3JlIHN0b3JlLCBXZWJDb3JlOjpSZWdp
c3RyYWJsZURvbWFpbiBkb21haW4sIHN0cnVjdCBXZWJLaXQ6OlNlcnZpY2VXb3JrZXJJbml0aWFs
aXphdGlvbkRhdGEgaW5pdGlhbGl6YXRpb25EYXRhKQorICAgIEVzdGFibGlzaFdvcmtlckNvbnRl
eHRDb25uZWN0aW9uVG9OZXR3b3JrUHJvY2Vzcyh1aW50NjRfdCBwYWdlR3JvdXBJRCwgV2ViS2l0
OjpXZWJQYWdlUHJveHlJZGVudGlmaWVyIHdlYlBhZ2VQcm94eUlELCBXZWJDb3JlOjpQYWdlSWRl
bnRpZmllciBwYWdlSUQsIHN0cnVjdCBXZWJLaXQ6OldlYlByZWZlcmVuY2VzU3RvcmUgc3RvcmUs
IFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluIGRvbWFpbiwgc3RydWN0IFdlYktpdDo6U2Vydmlj
ZVdvcmtlckluaXRpYWxpemF0aW9uRGF0YSBpbml0aWFsaXphdGlvbkRhdGEpIC0+ICgpIEFzeW5j
CiAgICAgUmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50cygpCiAjZW5kaWYKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>389650</attachid>
            <date>2020-02-04 04:53:13 -0800</date>
            <delta_ts>2020-02-04 09:02:11 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-207122-20200204135311.patch</filename>
            <type>text/plain</type>
            <size>27877</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU1NjY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTg4MGI3MjBjOTUzMGE1
NWUxYTBjMGZhNzMyMGFiMzhmMWYxMGQ1Ni4uYTkwNzAxOTQyYWIxNjkyNzE2ZTE5OTAyOGZhN2E4
MDU4NTRmZGYxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDIwLTAyLTA0ICB5b3Vl
bm4gZmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBOZXR3b3JrUHJvY2VzcyBz
aG91bGQgYmUgbm90aWZpZWQgYnkgVUlQcm9jZXNzIHdoZW4gaXRzIHNlcnZpY2Ugd29ya2VyIHBy
b2Nlc3MgY29ubmVjdGlvbiBzaG91bGQgYmUgb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNzEyMgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTkw
ODk3ODA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkIGEgY29tcGxldGlvbiBoYW5kbGVyIHRvIHRoZSBjcmVhdGUgY29udGV4dCBjb25uZWN0aW9u
IGNhbGxiYWNrLgorICAgICAgICBUaGlzIGlzIGNhbGxlZCB3aGVuIHRoZSBjb250ZXh0IGNvbm5l
Y3Rpb24gc2hvdWxkIGhhdmUgYmVlbiBjcmVhdGVkLgorICAgICAgICBJbiBjYXNlIHRoZXJlIGlz
IGEgY29udGV4dCBjb25uZWN0aW9uLCBjb21wbGV0aW9uIGhhbmRsZXIgZG9lcyBub3RoaW5nLgor
ICAgICAgICBPdGhlcndpc2UsIFNXU2VydmVyIHdpbGwgcmV0cnkgY3JlYXRpbmcgYSBjb250ZXh0
IGNvbm5lY3Rpb24gaWYgbmVlZGVkLgorCisgICAgICAgIFRoZSBwZW5kaW5nIGNvbm5lY3Rpb24g
bWFwIGVudHJ5IGlzIG5vdyByZW1vdmVkIGluIHRoZSBjb21wbGV0aW9uIGhhbmRsZXIgaW5zdGVh
ZCBvZiBhZGRDb250ZXh0Q29ubmVjdGlvbi4KKyAgICAgICAgVGhpcyBlbnN1cmVzIHRoYXQgb25s
eSBvbmUgY29ubmVjdGlvbiByZXF1ZXN0IGlzIHNlbnQgYnkgbmV0d29yayBwcm9jZXNzIGF0IGEg
dGltZS4KKworICAgICAgICBBZGQgZXh0cmEgbG9nZ2luZyB0byBtb25pdG9yIGNyZWF0aW9uIG9m
IGEgY29udGV4dCBjb25uZWN0aW9uLgorCisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL2NvbnRl
eHQvU1dDb250ZXh0TWFuYWdlci5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9zZXJ2ZXIv
U1dTZXJ2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1dTZXJ2ZXI6OmFkZENvbnRleHRDb25u
ZWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlNXU2VydmVyOjpyZW1vdmVDb250ZXh0Q29ubmVj
dGlvbik6CisgICAgICAgIChXZWJDb3JlOjpTV1NlcnZlcjo6Y3JlYXRlQ29udGV4dENvbm5lY3Rp
b25GaW5pc2hlZCk6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5o
OgorCiAyMDIwLTAyLTA0ICB5b3Vlbm4gZmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAg
ICAgICBDaGVjayBmb3IgY2FsbGJhY2sgYmVpbmcgbnVsbCBpbiBOb3RpZmljYXRpb24ucmVxdWVz
dFBlcm1pc3Npb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggMTA0ZTM2YjM1M2RiODZlNDFjN2JkNmFmYjNmZThjNTk0
MDEyZDgwZS4uNzU4OTJkZTdmMjQwYTQ5NWU5ODU5ZGI2YjAxM2U1M2NjMjk5ZTdmNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cKQEAgLTEsMyArMSw0OCBAQAorMjAyMC0wMi0wNCAgeW91ZW5uIGZhYmxldCAgPHlvdWVubkBh
cHBsZS5jb20+CisKKyAgICAgICAgTmV0d29ya1Byb2Nlc3Mgc2hvdWxkIGJlIG5vdGlmaWVkIGJ5
IFVJUHJvY2VzcyB3aGVuIGl0cyBzZXJ2aWNlIHdvcmtlciBwcm9jZXNzIGNvbm5lY3Rpb24gc2hv
dWxkIGJlIG9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMDcxMjIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU5MDg5NzgwPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBjb21wbGV0aW9uIGhhbmRs
ZXJzIHRvIHRoZSBtZXNzYWdpbmcgZnJvbSBOZXR3b3JrUHJvY2VzcyAtPiBVSVByb2Nlc3MgLT4g
V2ViUHJvY2VzcyAtPiBOZXR3b3JrUHJvY2VzcworICAgICAgICB1c2VkIHRvIGNyZWF0ZSBhIHNl
cnZpY2Ugd29ya2VyIGNvbnRleHQgY29ubmVjdGlvbi4KKworICAgICAgICBUaGlzIGFsbG93cyBO
ZXR3b3JrUHJvY2VzcyB0byBhc2sgYWdhaW4gZm9yIGEgY29ubmVjdGlvbiBpZiB0aGUgY29ubmVj
dGlvbiBpcyBzdGlsbCBuZWVkZWQgYnV0IE5ldHdvcmtQcm9jZXNzIGRpZCBub3QgZmluZCB0aGUg
Y29udGV4dCBjb25uZWN0aW9uLgorCisgICAgICAgIFRoaXMgaXMgZGlmZmljdWx0IHRvIHRlc3Qg
c2luY2Ugd2Ugd291bGQgbmVlZCBmb3IgdGhlIHByb2Nlc3Mgc2VsZWN0ZWQgdG8gaG9zdCBzZXJ2
aWNlIHdvcmtlcnMgdG8gZXhpdCBiZXR3ZWVuIHRoZQorICAgICAgICB0aW1lIGl0IGlzIHNlbGVj
dGVkIGFuZCB0aGUgdGltZSBpdCBzZW5kcyB0aGUgbWVzc2FnZSB0byBOZXR3b3JraW5nIHByb2Nl
c3MuCisKKyAgICAgICAgVG8gZW5zdXJlIHRoYXQgdGhlIGNvbnRleHQgY29ubmVjdGlvbiBpcyBj
cmVhdGVkIGJ5IFdlYlByb2Nlc3MsIFdlYlByb2Nlc3NQcm94eSB0YWtlcyBhIGJhY2tncm91bmQg
YXNzZXJ0aW9uIHVudGlsIFdlYlByb2Nlc3MgZmluaXNoZXMKKyAgICAgICAgY3JlYXRpbmcgdGhl
IGNvbnRleHQgY29ubmVjdGlvbiB0byBOZXR3b3JrIHByb2Nlc3MuCisKKyAgICAgICAgKiBOZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHA6CisgICAgICAgIChX
ZWJLaXQ6Ok5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjplc3RhYmxpc2hTV0NvbnRleHRD
b25uZWN0aW9uKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRv
V2ViUHJvY2Vzcy5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9u
VG9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdv
cmtQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3M6OnN3U2VydmVy
Rm9yU2Vzc2lvbik6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaDoK
KyAgICAgICAgKiBVSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3NQcm94eTo6ZXN0YWJsaXNoV29ya2VyQ29udGV4
dENvbm5lY3Rpb25Ub05ldHdvcmtQcm9jZXNzKToKKyAgICAgICAgKiBVSVByb2Nlc3MvTmV0d29y
ay9OZXR3b3JrUHJvY2Vzc1Byb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL05ldHdvcmsvTmV0
d29ya1Byb2Nlc3NQcm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJv
Y2Vzc1Bvb2wuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6ZXN0YWJsaXNo
V29ya2VyQ29udGV4dENvbm5lY3Rpb25Ub05ldHdvcmtQcm9jZXNzKToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1By
b3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5Ojplc3RhYmxpc2hTZXJ2
aWNlV29ya2VyQ29udGV4dCk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5o
OgorICAgICAgICAqIFdlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVj
dGlvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6Om1fdXNlckFnZW50KToKKyAgICAgICAgKFdlYktp
dDo6V2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb246OmVzdGFibGlzaENvbm5lY3Rpb24pOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlv
bi5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJL
aXQ6OldlYlByb2Nlc3M6OmVzdGFibGlzaFdvcmtlckNvbnRleHRDb25uZWN0aW9uVG9OZXR3b3Jr
UHJvY2Vzcyk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmg6CisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluOgorCiAyMDIwLTAyLTA0ICB5b3Vlbm4g
ZmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBbQ29jb2FdIFVzZSBBVkFzc2V0
V3JpdGVyRGVsZWdhdGUgdG8gaW1wbGVtZW50IE1lZGlhUmVjb3JkZXIKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NXQ29udGV4dE1hbmFnZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NXQ29udGV4dE1hbmFnZXIu
aAppbmRleCA4YjQ5OWU3MmI3ODg5ZmIzOWIzYTRhZTEzYzY1OGFlMGYzN2IwYWM1Li5iYTU3YWY1
M2Q4YzRhZTc0ZTUwNzBiN2M0ZTJjZjVmZGE4Y2JkNWJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TV0NvbnRleHRNYW5hZ2VyLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU1dDb250ZXh0TWFuYWdlci5oCkBA
IC00OSw2ICs0OSw3IEBAIHB1YmxpYzoKICAgICBwdWJsaWM6CiAgICAgICAgIHZpcnR1YWwgfkNv
bm5lY3Rpb24oKSB7IH0KIAorICAgICAgICB2aXJ0dWFsIHZvaWQgZXN0YWJsaXNoQ29ubmVjdGlv
bihDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpID0gMDsKICAgICAgICAgdmlydHVhbCB2b2lk
IHBvc3RNZXNzYWdlVG9TZXJ2aWNlV29ya2VyQ2xpZW50KGNvbnN0IFNlcnZpY2VXb3JrZXJDbGll
bnRJZGVudGlmaWVyJiBkZXN0aW5hdGlvbklkZW50aWZpZXIsIGNvbnN0IE1lc3NhZ2VXaXRoTWVz
c2FnZVBvcnRzJiwgU2VydmljZVdvcmtlcklkZW50aWZpZXIgc291cmNlLCBjb25zdCBTdHJpbmcm
IHNvdXJjZU9yaWdpbikgPSAwOwogICAgICAgICB2aXJ0dWFsIHZvaWQgc2VydmljZVdvcmtlclN0
YXJ0ZWQoT3B0aW9uYWw8U2VydmljZVdvcmtlckpvYkRhdGFJZGVudGlmaWVyPiwgU2VydmljZVdv
cmtlcklkZW50aWZpZXIsIGJvb2wgZG9lc0hhbmRsZUZldGNoKSA9IDA7CiAgICAgICAgIHZpcnR1
YWwgdm9pZCBzZXJ2aWNlV29ya2VyRmFpbGVkVG9TdGFydChPcHRpb25hbDxTZXJ2aWNlV29ya2Vy
Sm9iRGF0YUlkZW50aWZpZXI+LCBTZXJ2aWNlV29ya2VySWRlbnRpZmllciwgY29uc3QgU3RyaW5n
JiBtZXNzYWdlKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZp
Y2Uvc2VydmVyL1NXU2VydmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9z
ZXJ2ZXIvU1dTZXJ2ZXIuY3BwCmluZGV4IGI2NmIzYmY2Y2VhZTM5NzcyMTJkNDEzZDBmMTcwOGY4
NTZmYzY3MmUuLjRkZDhmODUxNWNlZDQ5ZDIxNmJjMmEwOTVjOWQwOGJiYWZjM2I2N2IgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuY3Bw
CkBAIC0xMDIwLDkgKzEwMjAsMTAgQEAgdm9pZCBTV1NlcnZlcjo6cGVyZm9ybUdldE9yaWdpbnNX
aXRoUmVnaXN0cmF0aW9uc0NhbGxiYWNrcygpCiAKIHZvaWQgU1dTZXJ2ZXI6OmFkZENvbnRleHRD
b25uZWN0aW9uKFNXU2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbiYgY29ubmVjdGlvbikKIHsKKyAg
ICBSRUxFQVNFX0xPRyhTZXJ2aWNlV29ya2VyLCAiU1dTZXJ2ZXI6OmFkZENvbnRleHRDb25uZWN0
aW9uIik7CisKICAgICBBU1NFUlQoIW1fY29udGV4dENvbm5lY3Rpb25zLmNvbnRhaW5zKGNvbm5l
Y3Rpb24ucmVnaXN0cmFibGVEb21haW4oKSkpOwogCi0gICAgbV9wZW5kaW5nQ29ubmVjdGlvbkRv
bWFpbnMucmVtb3ZlKGNvbm5lY3Rpb24ucmVnaXN0cmFibGVEb21haW4oKSk7CiAgICAgbV9jb250
ZXh0Q29ubmVjdGlvbnMuYWRkKGNvbm5lY3Rpb24ucmVnaXN0cmFibGVEb21haW4oKSwgJmNvbm5l
Y3Rpb24pOwogCiAgICAgY29udGV4dENvbm5lY3Rpb25DcmVhdGVkKGNvbm5lY3Rpb24pOwpAQCAt
MTAzMCw2ICsxMDMxLDggQEAgdm9pZCBTV1NlcnZlcjo6YWRkQ29udGV4dENvbm5lY3Rpb24oU1dT
ZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uJiBjb25uZWN0aW9uKQogCiB2b2lkIFNXU2VydmVyOjpy
ZW1vdmVDb250ZXh0Q29ubmVjdGlvbihTV1NlcnZlclRvQ29udGV4dENvbm5lY3Rpb24mIGNvbm5l
Y3Rpb24pCiB7CisgICAgUkVMRUFTRV9MT0coU2VydmljZVdvcmtlciwgIlNXU2VydmVyOjpyZW1v
dmVDb250ZXh0Q29ubmVjdGlvbiIpOworCiAgICAgYXV0byYgcmVnaXN0cmFibGVEb21haW4gPSBj
b25uZWN0aW9uLnJlZ2lzdHJhYmxlRG9tYWluKCk7CiAKICAgICBBU1NFUlQobV9jb250ZXh0Q29u
bmVjdGlvbnMuZ2V0KHJlZ2lzdHJhYmxlRG9tYWluKSA9PSAmY29ubmVjdGlvbik7CkBAIC0xMDQ2
LDggKzEwNDksMjQgQEAgdm9pZCBTV1NlcnZlcjo6Y3JlYXRlQ29udGV4dENvbm5lY3Rpb24oY29u
c3QgUmVnaXN0cmFibGVEb21haW4mIHJlZ2lzdHJhYmxlRG9tYWkKICAgICBpZiAobV9wZW5kaW5n
Q29ubmVjdGlvbkRvbWFpbnMuY29udGFpbnMocmVnaXN0cmFibGVEb21haW4pKQogICAgICAgICBy
ZXR1cm47CiAKKyAgICBSRUxFQVNFX0xPRyhTZXJ2aWNlV29ya2VyLCAiU1dTZXJ2ZXI6OmNyZWF0
ZUNvbnRleHRDb25uZWN0aW9uIHdpbGwgY3JlYXRlIGEgY29ubmVjdGlvbiIpOworCiAgICAgbV9w
ZW5kaW5nQ29ubmVjdGlvbkRvbWFpbnMuYWRkKHJlZ2lzdHJhYmxlRG9tYWluKTsKLSAgICBtX2Ny
ZWF0ZUNvbnRleHRDb25uZWN0aW9uQ2FsbGJhY2socmVnaXN0cmFibGVEb21haW4pOworICAgIG1f
Y3JlYXRlQ29udGV4dENvbm5lY3Rpb25DYWxsYmFjayhyZWdpc3RyYWJsZURvbWFpbiwgW3RoaXMs
IHdlYWtUaGlzID0gbWFrZVdlYWtQdHIodGhpcyksIHJlZ2lzdHJhYmxlRG9tYWluXSB7CisgICAg
ICAgIGlmICghd2Vha1RoaXMpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgUkVMRUFT
RV9MT0coU2VydmljZVdvcmtlciwgIlNXU2VydmVyOjpjcmVhdGVDb250ZXh0Q29ubmVjdGlvbiBz
aG91bGQgbm93IGhhdmUgY3JlYXRlZCBhIGNvbm5lY3Rpb24iKTsKKworICAgICAgICBBU1NFUlQo
bV9wZW5kaW5nQ29ubmVjdGlvbkRvbWFpbnMuY29udGFpbnMocmVnaXN0cmFibGVEb21haW4pKTsK
KyAgICAgICAgbV9wZW5kaW5nQ29ubmVjdGlvbkRvbWFpbnMucmVtb3ZlKHJlZ2lzdHJhYmxlRG9t
YWluKTsKKworICAgICAgICBpZiAobV9jb250ZXh0Q29ubmVjdGlvbnMuY29udGFpbnMocmVnaXN0
cmFibGVEb21haW4pKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIGlmIChuZWVkc0Nv
bnRleHRDb25uZWN0aW9uRm9yUmVnaXN0cmFibGVEb21haW4ocmVnaXN0cmFibGVEb21haW4pKQor
ICAgICAgICAgICAgY3JlYXRlQ29udGV4dENvbm5lY3Rpb24ocmVnaXN0cmFibGVEb21haW4pOwor
ICAgIH0pOwogfQogCiBib29sIFNXU2VydmVyOjpjYW5IYW5kbGVTY2hlbWUoU3RyaW5nVmlldyBz
Y2hlbWUpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uv
c2VydmVyL1NXU2VydmVyLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVy
L1NXU2VydmVyLmgKaW5kZXggM2FlZDc4YTUxNWM4ZDExZDFlNGZlODA0MTM1OGQxYjA4ZDkwOWE0
NS4uY2RiZDFkMTczYTgyNjAyODVjOWIzYzNmNGMxYjZjYTUyMWQ5YmNkNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuaApAQCAtMTI1LDcg
KzEyNSw3IEBAIHB1YmxpYzoKICAgICB9OwogCiAgICAgdXNpbmcgU29mdFVwZGF0ZUNhbGxiYWNr
ID0gRnVuY3Rpb248dm9pZChTZXJ2aWNlV29ya2VySm9iRGF0YSYmIGpvYkRhdGEsIGJvb2wgc2hv
dWxkUmVmcmVzaENhY2hlLCBSZXNvdXJjZVJlcXVlc3QmJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZChjb25zdCBTZXJ2aWNlV29ya2VyRmV0Y2hSZXN1bHQmKT4mJik+OwotICAgIHVzaW5nIENyZWF0
ZUNvbnRleHRDb25uZWN0aW9uQ2FsbGJhY2sgPSBGdW5jdGlvbjx2b2lkKGNvbnN0IFdlYkNvcmU6
OlJlZ2lzdHJhYmxlRG9tYWluJik+OworICAgIHVzaW5nIENyZWF0ZUNvbnRleHRDb25uZWN0aW9u
Q2FsbGJhY2sgPSBGdW5jdGlvbjx2b2lkKGNvbnN0IFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWlu
JiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKT47CiAgICAgV0VCQ09SRV9FWFBPUlQgU1dT
ZXJ2ZXIoVW5pcXVlUmVmPFNXT3JpZ2luU3RvcmU+JiYsIGJvb2wgcHJvY2Vzc1Rlcm1pbmF0aW9u
RGVsYXlFbmFibGVkLCBTdHJpbmcmJiByZWdpc3RyYXRpb25EYXRhYmFzZURpcmVjdG9yeSwgUEFM
OjpTZXNzaW9uSUQsIFNvZnRVcGRhdGVDYWxsYmFjayYmLCBDcmVhdGVDb250ZXh0Q29ubmVjdGlv
bkNhbGxiYWNrJiYpOwogCiAgICAgV0VCQ09SRV9FWFBPUlQgflNXU2VydmVyKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQ
cm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rp
b25Ub1dlYlByb2Nlc3MuY3BwCmluZGV4IGE3YmMxNDBlMzc1OWUwYzFhM2QzMzNkNDQwYjkwZTdh
ZTY5OTFlZWYuLmZjMDhlZjk5ZTRiNDY3NTA3ZjhiN2E0ZjdiNTU5YmM0YjYxOTY3MTkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dl
YlByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nv
bm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwCkBAIC05MTcsMTAgKzkxNywxMSBAQCB2b2lkIE5ldHdv
cmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjplc3RhYmxpc2hTV1NlcnZlckNvbm5lY3Rpb24oKQog
ICAgIHNlcnZlci5hZGRDb25uZWN0aW9uKFdURk1vdmUoY29ubmVjdGlvbikpOwogfQogCi12b2lk
IE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjplc3RhYmxpc2hTV0NvbnRleHRDb25uZWN0
aW9uKFJlZ2lzdHJhYmxlRG9tYWluJiYgcmVnaXN0cmFibGVEb21haW4pCit2b2lkIE5ldHdvcmtD
b25uZWN0aW9uVG9XZWJQcm9jZXNzOjplc3RhYmxpc2hTV0NvbnRleHRDb25uZWN0aW9uKFJlZ2lz
dHJhYmxlRG9tYWluJiYgcmVnaXN0cmFibGVEb21haW4sIENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
KT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAgICBpZiAoYXV0byogc2VydmVyID0gbV9uZXR3
b3JrUHJvY2Vzcy0+c3dTZXJ2ZXJGb3JTZXNzaW9uSWZFeGlzdHMobV9zZXNzaW9uSUQpKQogICAg
ICAgICBtX3N3Q29udGV4dENvbm5lY3Rpb24gPSBtYWtlVW5pcXVlPFdlYlNXU2VydmVyVG9Db250
ZXh0Q29ubmVjdGlvbj4oKnRoaXMsIFdURk1vdmUocmVnaXN0cmFibGVEb21haW4pLCAqc2VydmVy
KTsKKyAgICBjb21wbGV0aW9uSGFuZGxlcigpOwogfQogCiB2b2lkIE5ldHdvcmtDb25uZWN0aW9u
VG9XZWJQcm9jZXNzOjpjbG9zZVNXQ29udGV4dENvbm5lY3Rpb24oKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5o
IGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJv
Y2Vzcy5oCmluZGV4IDdkNDk5YzEzZjkyYWViYjYxODMxMTRjZTcwMTRjMTU4MzA2ZGM2YjYuLmUz
NWJkNDhiMWQzZWEwYTc0NmRjY2Y4MTFiOTI0OWUxOTI4ZjA4MjAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQ
cm9jZXNzLmgKQEAgLTIyNSw3ICsyMjUsNyBAQCBwcml2YXRlOgogCiAjaWYgRU5BQkxFKFNFUlZJ
Q0VfV09SS0VSKQogICAgIHZvaWQgZXN0YWJsaXNoU1dTZXJ2ZXJDb25uZWN0aW9uKCk7Ci0gICAg
dm9pZCBlc3RhYmxpc2hTV0NvbnRleHRDb25uZWN0aW9uKFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9t
YWluJiYpOworICAgIHZvaWQgZXN0YWJsaXNoU1dDb250ZXh0Q29ubmVjdGlvbihXZWJDb3JlOjpS
ZWdpc3RyYWJsZURvbWFpbiYmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogICAgIHZv
aWQgY2xvc2VTV0NvbnRleHRDb25uZWN0aW9uKCk7CiAgICAgdm9pZCB1bnJlZ2lzdGVyU1dDb25u
ZWN0aW9uKCk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLm1lc3NhZ2Vz
LmluCmluZGV4IDg3YjY5NGUyMTQwYTM2ZGZmNDhjZDZiMzA3YTM5MjE4YTk4M2NkNjUuLmU5NWNj
OTMzOGFiNzM1NzlhNjI0NjVlMTIyZTJlNzA0NmJkYWI2ODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MubWVzc2Fn
ZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlv
blRvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgpAQCAtNzQsNyArNzQsNyBAQCBtZXNzYWdlcyAtPiBO
ZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2VzcyBMZWdhY3lSZWNlaXZlciB7CiAgICAgVGFrZU5l
dHdvcmtMb2FkSW5mb3JtYXRpb25NZXRyaWNzKHVpbnQ2NF90IHJlc291cmNlTG9hZElkZW50aWZp
ZXIpIC0+IChXZWJDb3JlOjpOZXR3b3JrTG9hZE1ldHJpY3MgbmV0d29ya01ldHJpY3MpIFN5bmNo
cm9ub3VzCiAKICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCi0gICAgRXN0YWJsaXNoU1dDb250
ZXh0Q29ubmVjdGlvbihXZWJDb3JlOjpSZWdpc3RyYWJsZURvbWFpbiBkb21haW4pCisgICAgRXN0
YWJsaXNoU1dDb250ZXh0Q29ubmVjdGlvbihXZWJDb3JlOjpSZWdpc3RyYWJsZURvbWFpbiBkb21h
aW4pIC0+ICgpIEFzeW5jCiAgICAgQ2xvc2VTV0NvbnRleHRDb25uZWN0aW9uKCkKICNlbmRpZgog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNz
LmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwCmlu
ZGV4IDBhZTI5MTY4M2JiNzUwNmFjZDJhNzNjOTdlNDcwMjZkY2U0NmVmOWQuLjI0ZmM1ZTQ1OTQ1
YzZmNmE1ZGQzOTQyNDViMmIwYmVhOThlNTY3ZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwCkBAIC0yNDAxLDkgKzI0MDEsOSBAQCBTV1Nl
cnZlciYgTmV0d29ya1Byb2Nlc3M6OnN3U2VydmVyRm9yU2Vzc2lvbihQQUw6OlNlc3Npb25JRCBz
ZXNzaW9uSUQpCiAKICAgICAgICAgcmV0dXJuIG1ha2VVbmlxdWU8U1dTZXJ2ZXI+KG1ha2VVbmlx
dWVSZWY8V2ViU1dPcmlnaW5TdG9yZT4oKSwgaW5mby5wcm9jZXNzVGVybWluYXRpb25EZWxheUVu
YWJsZWQsIFdURk1vdmUocGF0aCksIHNlc3Npb25JRCwgW3RoaXMsIHNlc3Npb25JRF0oYXV0byYm
IGpvYkRhdGEsIGJvb2wgc2hvdWxkUmVmcmVzaENhY2hlLCBhdXRvJiYgcmVxdWVzdCwgYXV0byYm
IGNvbXBsZXRpb25IYW5kbGVyKSBtdXRhYmxlIHsKICAgICAgICAgICAgIFNlcnZpY2VXb3JrZXJT
b2Z0VXBkYXRlTG9hZGVyOjpzdGFydChuZXR3b3JrU2Vzc2lvbihzZXNzaW9uSUQpLCBXVEZNb3Zl
KGpvYkRhdGEpLCBzaG91bGRSZWZyZXNoQ2FjaGUsIFdURk1vdmUocmVxdWVzdCksIFdURk1vdmUo
Y29tcGxldGlvbkhhbmRsZXIpKTsKLSAgICAgICAgfSwgW3RoaXMsIHNlc3Npb25JRF0oYXV0byYg
cmVnaXN0cmFibGVEb21haW4pIHsKKyAgICAgICAgfSwgW3RoaXMsIHNlc3Npb25JRF0oYXV0byYg
cmVnaXN0cmFibGVEb21haW4sIGF1dG8mJiBjb21wbGV0aW9uSGFuZGxlcikgewogICAgICAgICAg
ICAgQVNTRVJUKCFyZWdpc3RyYWJsZURvbWFpbi5pc0VtcHR5KCkpOwotICAgICAgICAgICAgcGFy
ZW50UHJvY2Vzc0Nvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6TmV0d29ya1Byb2Nlc3NQcm94
eTo6RXN0YWJsaXNoV29ya2VyQ29udGV4dENvbm5lY3Rpb25Ub05ldHdvcmtQcm9jZXNzIHsgcmVn
aXN0cmFibGVEb21haW4sIHNlc3Npb25JRCB9LCAwKTsKKyAgICAgICAgICAgIHBhcmVudFByb2Nl
c3NDb25uZWN0aW9uKCktPnNlbmRXaXRoQXN5bmNSZXBseShNZXNzYWdlczo6TmV0d29ya1Byb2Nl
c3NQcm94eTo6RXN0YWJsaXNoV29ya2VyQ29udGV4dENvbm5lY3Rpb25Ub05ldHdvcmtQcm9jZXNz
IHsgcmVnaXN0cmFibGVEb21haW4sIHNlc3Npb25JRCB9LCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5k
bGVyKSwgMCk7CiAgICAgICAgIH0pOwogICAgIH0pOwogICAgIHJldHVybiAqcmVzdWx0Lml0ZXJh
dG9yLT52YWx1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsv
TmV0d29ya1Byb2Nlc3NQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3Jr
L05ldHdvcmtQcm9jZXNzUHJveHkuY3BwCmluZGV4IDA5OGJkNWFkYTdlY2FiZWNhZTQ0NmQxNTQ1
YjJmZmU5MzRjNWRhMGYuLjVlYjZjMWFkYmNkMjg5YTM3YjU0YmI2M2Y2ZjI5Mzk3NWY3ZmE3NGYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nl
c3NQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3Jr
UHJvY2Vzc1Byb3h5LmNwcApAQCAtMTI5OSw5ICsxMjk5LDkgQEAgdm9pZCBOZXR3b3JrUHJvY2Vz
c1Byb3h5OjpnZXRTYW5kYm94RXh0ZW5zaW9uc0ZvckJsb2JGaWxlcyhjb25zdCBWZWN0b3I8U3Ry
aW5nPiYKICNlbmRpZgogCiAjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQotdm9pZCBOZXR3b3Jr
UHJvY2Vzc1Byb3h5Ojplc3RhYmxpc2hXb3JrZXJDb250ZXh0Q29ubmVjdGlvblRvTmV0d29ya1By
b2Nlc3MoUmVnaXN0cmFibGVEb21haW4mJiByZWdpc3RyYWJsZURvbWFpbiwgUEFMOjpTZXNzaW9u
SUQgc2Vzc2lvbklEKQordm9pZCBOZXR3b3JrUHJvY2Vzc1Byb3h5Ojplc3RhYmxpc2hXb3JrZXJD
b250ZXh0Q29ubmVjdGlvblRvTmV0d29ya1Byb2Nlc3MoUmVnaXN0cmFibGVEb21haW4mJiByZWdp
c3RyYWJsZURvbWFpbiwgUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7Ci0gICAgbV9wcm9jZXNzUG9vbC5lc3Rh
Ymxpc2hXb3JrZXJDb250ZXh0Q29ubmVjdGlvblRvTmV0d29ya1Byb2Nlc3MoKnRoaXMsIFdURk1v
dmUocmVnaXN0cmFibGVEb21haW4pLCBzZXNzaW9uSUQpOworICAgIG1fcHJvY2Vzc1Bvb2wuZXN0
YWJsaXNoV29ya2VyQ29udGV4dENvbm5lY3Rpb25Ub05ldHdvcmtQcm9jZXNzKCp0aGlzLCBXVEZN
b3ZlKHJlZ2lzdHJhYmxlRG9tYWluKSwgc2Vzc2lvbklELCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5k
bGVyKSk7CiB9CiAKIHZvaWQgTmV0d29ya1Byb2Nlc3NQcm94eTo6d29ya2VyQ29udGV4dENvbm5l
Y3Rpb25Ob0xvbmdlck5lZWRlZChXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllciBpZGVudGlmaWVy
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJv
Y2Vzc1Byb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9j
ZXNzUHJveHkuaAppbmRleCBhMDIyMjI5Y2I3ZGExMjg5ZDE5NzNkOTQ4YmQzYTQwYWQzZGI2Yzk3
Li5mYjg2MTAxN2Q4ODE5NzdjM2YwOWY4NTNmZTIzYWE1NTM0OTg5MDk3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuaApA
QCAtMjYyLDcgKzI2Miw3IEBAIHByaXZhdGU6CiAjZW5kaWYKIAogI2lmIEVOQUJMRShTRVJWSUNF
X1dPUktFUikKLSAgICB2b2lkIGVzdGFibGlzaFdvcmtlckNvbnRleHRDb25uZWN0aW9uVG9OZXR3
b3JrUHJvY2VzcyhXZWJDb3JlOjpSZWdpc3RyYWJsZURvbWFpbiYmLCBQQUw6OlNlc3Npb25JRCk7
CisgICAgdm9pZCBlc3RhYmxpc2hXb3JrZXJDb250ZXh0Q29ubmVjdGlvblRvTmV0d29ya1Byb2Nl
c3MoV2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW4mJiwgUEFMOjpTZXNzaW9uSUQsIENvbXBsZXRp
b25IYW5kbGVyPHZvaWQoKT4mJik7CiAgICAgdm9pZCB3b3JrZXJDb250ZXh0Q29ubmVjdGlvbk5v
TG9uZ2VyTmVlZGVkKFdlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyKTsKICAgICB2b2lkIHJlZ2lz
dGVyU2VydmljZVdvcmtlckNsaWVudFByb2Nlc3MoV2ViQ29yZTo6UHJvY2Vzc0lkZW50aWZpZXIg
d2ViUHJvY2Vzc0lkZW50aWZpZXIsIFdlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyIHNlcnZpY2VX
b3JrZXJQcm9jZXNzSWRlbnRpZmllcik7CiAgICAgdm9pZCB1bnJlZ2lzdGVyU2VydmljZVdvcmtl
ckNsaWVudFByb2Nlc3MoV2ViQ29yZTo6UHJvY2Vzc0lkZW50aWZpZXIgd2ViUHJvY2Vzc0lkZW50
aWZpZXIsIFdlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyIHNlcnZpY2VXb3JrZXJQcm9jZXNzSWRl
bnRpZmllcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05l
dHdvcmtQcm9jZXNzUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9O
ZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkubWVzc2FnZXMuaW4KaW5kZXggNmE5NzgxNTUyNjEy
ZWViN2Y4NDViY2RkZmZmNDI1ZDkyNWRjOThlMi4uNGJkYTc2OGNkNGY4Y2ZmZmYxZTkwNGU5OTA4
MzcxNjIwZTFlNTNjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29y
ay9OZXR3b3JrUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5tZXNzYWdlcy5pbgpAQCAtNjIsNyAr
NjIsNyBAQCBtZXNzYWdlcyAtPiBOZXR3b3JrUHJvY2Vzc1Byb3h5IExlZ2FjeVJlY2VpdmVyIE5v
dFJlZkNvdW50ZWQgewogI2VuZGlmCiAKICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCi0gICAg
RXN0YWJsaXNoV29ya2VyQ29udGV4dENvbm5lY3Rpb25Ub05ldHdvcmtQcm9jZXNzKFdlYkNvcmU6
OlJlZ2lzdHJhYmxlRG9tYWluIHJlZ2lzdHJhYmxlRG9tYWluLCBQQUw6OlNlc3Npb25JRCBzZXNz
aW9uSUQpCisgICAgRXN0YWJsaXNoV29ya2VyQ29udGV4dENvbm5lY3Rpb25Ub05ldHdvcmtQcm9j
ZXNzKFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluIHJlZ2lzdHJhYmxlRG9tYWluLCBQQUw6OlNl
c3Npb25JRCBzZXNzaW9uSUQpIC0+ICgpIEFzeW5jCiAgICAgV29ya2VyQ29udGV4dENvbm5lY3Rp
b25Ob0xvbmdlck5lZWRlZChXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllciBpZGVudGlmaWVyKQog
ICAgIFJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudFByb2Nlc3MoV2ViQ29yZTo6UHJvY2Vzc0lk
ZW50aWZpZXIgd2ViUHJvY2Vzc0lkZW50aWZpZXIsIFdlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVy
IHNlcnZpY2VXb3JrZXJQcm9jZXNzSWRlbnRpZmllcikKICAgICBVbnJlZ2lzdGVyU2VydmljZVdv
cmtlckNsaWVudFByb2Nlc3MoV2ViQ29yZTo6UHJvY2Vzc0lkZW50aWZpZXIgd2ViUHJvY2Vzc0lk
ZW50aWZpZXIsIFdlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyIHNlcnZpY2VXb3JrZXJQcm9jZXNz
SWRlbnRpZmllcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nl
c3NQb29sLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcApp
bmRleCBlZTdkNTMyOWQ4Y2UwOGU5Njk4ZjA1ZWQ0NDgwYmJlYTlmM2Q4OWM0Li5kODQ0NjBlODNk
ZTJkOTZkODRjODE3MzFhNzBjZjA0YzY4Y2M4NWVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCkBAIC03MzcsNyArNzM3LDcgQEAgdm9pZCBXZWJQcm9jZXNz
UG9vbDo6Z2V0R1BVUHJvY2Vzc0Nvbm5lY3Rpb24oV2ViUHJvY2Vzc1Byb3h5JiB3ZWJQcm9jZXNz
UHJveHksIE0KICNlbmRpZgogCiAjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQotdm9pZCBXZWJQ
cm9jZXNzUG9vbDo6ZXN0YWJsaXNoV29ya2VyQ29udGV4dENvbm5lY3Rpb25Ub05ldHdvcmtQcm9j
ZXNzKE5ldHdvcmtQcm9jZXNzUHJveHkmIHByb3h5LCBSZWdpc3RyYWJsZURvbWFpbiYmIHJlZ2lz
dHJhYmxlRG9tYWluLCBQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQpCit2b2lkIFdlYlByb2Nlc3NQ
b29sOjplc3RhYmxpc2hXb3JrZXJDb250ZXh0Q29ubmVjdGlvblRvTmV0d29ya1Byb2Nlc3MoTmV0
d29ya1Byb2Nlc3NQcm94eSYgcHJveHksIFJlZ2lzdHJhYmxlRG9tYWluJiYgcmVnaXN0cmFibGVE
b21haW4sIFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgp
PiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIEFTU0VSVF9VTlVTRUQocHJveHksICZwcm94
eSA9PSBtX25ldHdvcmtQcm9jZXNzLmdldCgpKTsKIApAQCAtNzUyLDYgKzc1Miw3IEBAIHZvaWQg
V2ViUHJvY2Vzc1Bvb2w6OmVzdGFibGlzaFdvcmtlckNvbnRleHRDb25uZWN0aW9uVG9OZXR3b3Jr
UHJvY2VzcyhOZXR3b3JrUHJvCiAgICAgUmVnaXN0cmFibGVEb21haW5XaXRoU2Vzc2lvbklEIHJl
Z2lzdHJhYmxlRG9tYWluV2l0aFNlc3Npb25JRCB7IFJlZ2lzdHJhYmxlRG9tYWluIHsgcmVnaXN0
cmFibGVEb21haW4gfSwgc2Vzc2lvbklEIH07CiAgICAgaWYgKG1fc2VydmljZVdvcmtlclByb2Nl
c3Nlcy5jb250YWlucyhyZWdpc3RyYWJsZURvbWFpbldpdGhTZXNzaW9uSUQpKSB7CiAgICAgICAg
IFdFQlBST0NFU1NQT09MX1JFTEVBU0VfTE9HX0lGX0FMTE9XRUQoU2VydmljZVdvcmtlciwgImVz
dGFibGlzaFdvcmtlckNvbnRleHRDb25uZWN0aW9uVG9OZXR3b3JrUHJvY2VzcyBwcm9jZXNzIGFs
cmVhZHkgY3JlYXRlZCIpOworICAgICAgICBjb21wbGV0aW9uSGFuZGxlcigpOwogICAgICAgICBy
ZXR1cm47CiAgICAgfQogCkBAIC03ODksNyArNzkwLDcgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6
ZXN0YWJsaXNoV29ya2VyQ29udGV4dENvbm5lY3Rpb25Ub05ldHdvcmtQcm9jZXNzKE5ldHdvcmtQ
cm8KICAgICBBU1NFUlQoIW1fc2VydmljZVdvcmtlclByb2Nlc3Nlcy5jb250YWlucyhyZWdpc3Ry
YWJsZURvbWFpbldpdGhTZXNzaW9uSUQpKTsKICAgICBtX3NlcnZpY2VXb3JrZXJQcm9jZXNzZXMu
YWRkKFdURk1vdmUocmVnaXN0cmFibGVEb21haW5XaXRoU2Vzc2lvbklEKSwgbWFrZVdlYWtQdHIo
c2VydmljZVdvcmtlclByb2Nlc3NQcm94eSkpOwogCi0gICAgc2VydmljZVdvcmtlclByb2Nlc3NQ
cm94eS0+ZXN0YWJsaXNoU2VydmljZVdvcmtlckNvbnRleHQobV9zZXJ2aWNlV29ya2VyUHJlZmVy
ZW5jZXMgPyBtX3NlcnZpY2VXb3JrZXJQcmVmZXJlbmNlcy52YWx1ZSgpIDogbV9kZWZhdWx0UGFn
ZUdyb3VwLT5wcmVmZXJlbmNlcygpLnN0b3JlKCkpOworICAgIHNlcnZpY2VXb3JrZXJQcm9jZXNz
UHJveHktPmVzdGFibGlzaFNlcnZpY2VXb3JrZXJDb250ZXh0KG1fc2VydmljZVdvcmtlclByZWZl
cmVuY2VzID8gbV9zZXJ2aWNlV29ya2VyUHJlZmVyZW5jZXMudmFsdWUoKSA6IG1fZGVmYXVsdFBh
Z2VHcm91cC0+cHJlZmVyZW5jZXMoKS5zdG9yZSgpLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVy
KSk7CiAgICAgaWYgKCFtX3NlcnZpY2VXb3JrZXJVc2VyQWdlbnQuaXNOdWxsKCkpCiAgICAgICAg
IHNlcnZpY2VXb3JrZXJQcm9jZXNzUHJveHktPnNldFNlcnZpY2VXb3JrZXJVc2VyQWdlbnQobV9z
ZXJ2aWNlV29ya2VyVXNlckFnZW50KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlByb2Nlc3NQb29sLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9j
ZXNzUG9vbC5oCmluZGV4IDY0YjFkYmNlNGM5MDc1MzY5OTliMWMyYTVlYjMxNDY3MGY0MjNlMWUu
LmM3YTlkYjIyZWVkOWJkYzFiMTA3ZTJiNzAyN2QzY2JmZDI1ODI5NGIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmgKKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaApAQCAtMzk4LDcgKzM5OCw3IEBAIHB1YmxpYzoK
IAogICAgIGJvb2wgaXNTZXJ2aWNlV29ya2VyUGFnZUlEKFdlYlBhZ2VQcm94eUlkZW50aWZpZXIp
IGNvbnN0OwogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKLSAgICB2b2lkIGVzdGFibGlzaFdv
cmtlckNvbnRleHRDb25uZWN0aW9uVG9OZXR3b3JrUHJvY2VzcyhOZXR3b3JrUHJvY2Vzc1Byb3h5
JiwgV2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW4mJiwgUEFMOjpTZXNzaW9uSUQpOworICAgIHZv
aWQgZXN0YWJsaXNoV29ya2VyQ29udGV4dENvbm5lY3Rpb25Ub05ldHdvcmtQcm9jZXNzKE5ldHdv
cmtQcm9jZXNzUHJveHkmLCBXZWJDb3JlOjpSZWdpc3RyYWJsZURvbWFpbiYmLCBQQUw6OlNlc3Np
b25JRCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKICAgICB2b2lkIHJlbW92ZUZyb21T
ZXJ2aWNlV29ya2VyUHJvY2Vzc2VzKFdlYlByb2Nlc3NQcm94eSYpOwogICAgIHNpemVfdCBzZXJ2
aWNlV29ya2VyUHJveGllc0NvdW50KCkgY29uc3QgeyByZXR1cm4gbV9zZXJ2aWNlV29ya2VyUHJv
Y2Vzc2VzLnNpemUoKTsgfQogICAgIHZvaWQgc2V0QWxsb3dzQW55U1NMQ2VydGlmaWNhdGVGb3JT
ZXJ2aWNlV29ya2VyKGJvb2wgYWxsb3dzKSB7IG1fYWxsb3dzQW55U1NMQ2VydGlmaWNhdGVGb3JT
ZXJ2aWNlV29ya2VyID0gYWxsb3dzOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJv
Y2Vzc1Byb3h5LmNwcAppbmRleCA3MTdkM2YxZjA4Nzk1OTkzNTJmYjkyYTg5ODlkNWEyYTU0ZjU0
MjljLi44Y2E3NTY1OWQwZmM1NWVkNWY1YWE5ZmYxNDdkNzdkNjE5M2U0NmJlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAKQEAgLTE2MDUsOSArMTYwNSwx
MiBAQCB2b2lkIFdlYlByb2Nlc3NQcm94eTo6ZW5kQmFja2dyb3VuZEFjdGl2aXR5Rm9yRnVsbHNj
cmVlbklucHV0KCkKICNlbmRpZgogCiAjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQotdm9pZCBX
ZWJQcm9jZXNzUHJveHk6OmVzdGFibGlzaFNlcnZpY2VXb3JrZXJDb250ZXh0KGNvbnN0IFdlYlBy
ZWZlcmVuY2VzU3RvcmUmIHN0b3JlKQordm9pZCBXZWJQcm9jZXNzUHJveHk6OmVzdGFibGlzaFNl
cnZpY2VXb3JrZXJDb250ZXh0KGNvbnN0IFdlYlByZWZlcmVuY2VzU3RvcmUmIHN0b3JlLCBDb21w
bGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7Ci0gICAgc2VuZChN
ZXNzYWdlczo6V2ViUHJvY2Vzczo6RXN0YWJsaXNoV29ya2VyQ29udGV4dENvbm5lY3Rpb25Ub05l
dHdvcmtQcm9jZXNzIHsgcHJvY2Vzc1Bvb2woKS5kZWZhdWx0UGFnZUdyb3VwKCkucGFnZUdyb3Vw
SUQoKSwgbV9zZXJ2aWNlV29ya2VySW5mb3JtYXRpb24tPnNlcnZpY2VXb3JrZXJQYWdlUHJveHlJ
RCwgbV9zZXJ2aWNlV29ya2VySW5mb3JtYXRpb24tPnNlcnZpY2VXb3JrZXJQYWdlSUQsIHN0b3Jl
LCAqbV9yZWdpc3RyYWJsZURvbWFpbiwgbV9zZXJ2aWNlV29ya2VySW5mb3JtYXRpb24tPmluaXRp
YWxpemF0aW9uRGF0YSB9LCAwKTsKKyAgICBzZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6Oldl
YlByb2Nlc3M6OkVzdGFibGlzaFdvcmtlckNvbnRleHRDb25uZWN0aW9uVG9OZXR3b3JrUHJvY2Vz
cyB7IHByb2Nlc3NQb29sKCkuZGVmYXVsdFBhZ2VHcm91cCgpLnBhZ2VHcm91cElEKCksIG1fc2Vy
dmljZVdvcmtlckluZm9ybWF0aW9uLT5zZXJ2aWNlV29ya2VyUGFnZVByb3h5SUQsIG1fc2Vydmlj
ZVdvcmtlckluZm9ybWF0aW9uLT5zZXJ2aWNlV29ya2VyUGFnZUlELCBzdG9yZSwgKm1fcmVnaXN0
cmFibGVEb21haW4sIG1fc2VydmljZVdvcmtlckluZm9ybWF0aW9uLT5pbml0aWFsaXphdGlvbkRh
dGEgfSwgW2FjdGl2aXR5ID0gbV90aHJvdHRsZXIuYmFja2dyb3VuZEFjdGl2aXR5KCJFc3RhYmxp
c2ggU2VydmljZSBXb3JrZXIiX3MpLCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxl
dGlvbkhhbmRsZXIpXSgpIG11dGFibGUgeworICAgICAgICBSRUxFQVNFX0xPRyhMb2FkaW5nLCAi
V2ViUHJvY2Vzc1Byb3h5Ojplc3RhYmxpc2hTZXJ2aWNlV29ya2VyQ29udGV4dCBmaW5pc2hlZCIp
OworICAgICAgICBjb21wbGV0aW9uSGFuZGxlcigpOworICAgIH0sIDApOwogfQogCiB2b2lkIFdl
YlByb2Nlc3NQcm94eTo6c2V0U2VydmljZVdvcmtlclVzZXJBZ2VudChjb25zdCBTdHJpbmcmIHVz
ZXJBZ2VudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQ
cm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmgKaW5kZXgg
ZWY2NGIzYzJlOTQyODA5NjU5NDgxMTVmN2FiZjM3NDVlNmU3ZjYyNS4uMjE1OGEyYjkwMTE4MGZi
MjJmOWJkMzM3ZDFkNzM1MGM4OTQzNzdkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UHJvY2Vzc1Byb3h5LmgKQEAgLTMzOSw3ICszMzksNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBkZXJl
ZigpIGZpbmFsIHsgVGhyZWFkU2FmZVJlZkNvdW50ZWQ6OmRlcmVmKCk7IH0KIAogI2lmIEVOQUJM
RShTRVJWSUNFX1dPUktFUikKLSAgICB2b2lkIGVzdGFibGlzaFNlcnZpY2VXb3JrZXJDb250ZXh0
KGNvbnN0IFdlYlByZWZlcmVuY2VzU3RvcmUmKTsKKyAgICB2b2lkIGVzdGFibGlzaFNlcnZpY2VX
b3JrZXJDb250ZXh0KGNvbnN0IFdlYlByZWZlcmVuY2VzU3RvcmUmLCBDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKCk+JiYpOwogICAgIHZvaWQgc2V0U2VydmljZVdvcmtlclVzZXJBZ2VudChjb25zdCBT
dHJpbmcmKTsKICAgICB2b2lkIHVwZGF0ZVNlcnZpY2VXb3JrZXJQcmVmZXJlbmNlc1N0b3JlKGNv
bnN0IFdlYlByZWZlcmVuY2VzU3RvcmUmKTsKICAgICBib29sIGhhc1NlcnZpY2VXb3JrZXJQYWdl
UHJveHkoV2ViUGFnZVByb3h5SWRlbnRpZmllciBwYWdlUHJveHlJRCkgeyByZXR1cm4gbV9zZXJ2
aWNlV29ya2VySW5mb3JtYXRpb24gJiYgbV9zZXJ2aWNlV29ya2VySW5mb3JtYXRpb24tPnNlcnZp
Y2VXb3JrZXJQYWdlUHJveHlJRCA9PSBwYWdlUHJveHlJRDsgfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24u
Y3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDb250ZXh0TWFuYWdl
ckNvbm5lY3Rpb24uY3BwCmluZGV4IGVlM2IwZWM2YjAwZTQwM2Q2MDdmYWMyMmZjMDAwZjQ4MmFj
ZTc0MjEuLmY3MDVkZDFlZTIyZWJiYzBlNGZlZWUwMGM4Njc1ZDM4NDBlOTNhNDIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4dE1hbmFnZXJD
b25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJT
V0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5jcHAKQEAgLTEwNiwxMiArMTA2LDE2IEBAIFdlYlNX
Q29udGV4dE1hbmFnZXJDb25uZWN0aW9uOjpXZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbihS
ZWY8SVBDOjpDb25uZWN0aW9uCiAgICAgfQogCiAgICAgdXBkYXRlUHJlZmVyZW5jZXNTdG9yZShz
dG9yZSk7Ci0gICAgbV9jb25uZWN0aW9uVG9OZXR3b3JrUHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6
TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OkVzdGFibGlzaFNXQ29udGV4dENvbm5lY3Rp
b24geyBtX3JlZ2lzdHJhYmxlRG9tYWluIH0sIDApOwogICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRv
bigpLmRpc2FibGVUZXJtaW5hdGlvbigpOwogfQogCiBXZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVj
dGlvbjo6fldlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uKCkgPSBkZWZhdWx0OwogCit2b2lk
IFdlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uOjplc3RhYmxpc2hDb25uZWN0aW9uKENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK3sKKyAgICBtX2Nvbm5l
Y3Rpb25Ub05ldHdvcmtQcm9jZXNzLT5zZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6Ok5ldHdv
cmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpFc3RhYmxpc2hTV0NvbnRleHRDb25uZWN0aW9uIHsg
bV9yZWdpc3RyYWJsZURvbWFpbiB9LCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSwgMCk7Cit9
CisKIHZvaWQgV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb246OnVwZGF0ZVByZWZlcmVuY2Vz
U3RvcmUoY29uc3QgV2ViUHJlZmVyZW5jZXNTdG9yZSYgc3RvcmUpCiB7CiAgICAgUnVudGltZUVu
YWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRTZXJ2aWNlV29ya2VyRW5hYmxlZCh0
cnVlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNX
Q29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3Rv
cmFnZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5oCmluZGV4IDQyMmE5NzkyNWNhMTdm
ZjAzNzU0MjNiZGM3M2ViMWRmZWFhNGE3ODguLjgxZmUxZTk2MDk3OWY0NTE2MTA5NjE2NDczOTVj
MWUzNWRhNjU3OTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdl
L1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1N0b3JhZ2UvV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uaApAQCAtNjgsNiAr
NjgsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgdXBkYXRlUHJlZmVyZW5jZXNTdG9yZShjb25zdCBX
ZWJQcmVmZXJlbmNlc1N0b3JlJik7CiAKICAgICAvLyBXZWJDb3JlOjpTV0NvbnRleHRNYW5hZ2Vy
OjpDb25uZWN0aW9uLgorICAgIHZvaWQgZXN0YWJsaXNoQ29ubmVjdGlvbihDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKCk+JiYpIGZpbmFsOwogICAgIHZvaWQgcG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3Jr
ZXJDbGllbnQoY29uc3QgV2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXImIGRl
c3RpbmF0aW9uSWRlbnRpZmllciwgY29uc3QgV2ViQ29yZTo6TWVzc2FnZVdpdGhNZXNzYWdlUG9y
dHMmLCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRlbnRpZmllciBzb3VyY2VJZGVudGlmaWVyLCBj
b25zdCBTdHJpbmcmIHNvdXJjZU9yaWdpbikgZmluYWw7CiAgICAgdm9pZCBkaWRGaW5pc2hJbnN0
YWxsKE9wdGlvbmFsPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJKb2JEYXRhSWRlbnRpZmllcj4sIFdl
YkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCBib29sIHdhc1N1Y2Nlc3NmdWwpIGZpbmFs
OwogICAgIHZvaWQgZGlkRmluaXNoQWN0aXZhdGlvbihXZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRl
bnRpZmllcikgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKaW5k
ZXggMzc5MzVjNTdkY2U3MjJjMDA0NmNiYTAzMjhkODJhZjM0MzJhZmM1MS4uMjY4OWRhNDcyMjlj
ZTQ0ZGZjNDQ3Y2JjODdjZmUyZTk1Y2JkZjUyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQcm9jZXNzLmNwcApAQCAtMTg1MCwxMyArMTg1MCwxNCBAQCBMaWJXZWJSVENOZXR3b3JrJiBX
ZWJQcm9jZXNzOjpsaWJXZWJSVENOZXR3b3JrKCkKIH0KIAogI2lmIEVOQUJMRShTRVJWSUNFX1dP
UktFUikKLXZvaWQgV2ViUHJvY2Vzczo6ZXN0YWJsaXNoV29ya2VyQ29udGV4dENvbm5lY3Rpb25U
b05ldHdvcmtQcm9jZXNzKHVpbnQ2NF90IHBhZ2VHcm91cElELCBXZWJQYWdlUHJveHlJZGVudGlm
aWVyIHdlYlBhZ2VQcm94eUlELCBQYWdlSWRlbnRpZmllciBwYWdlSUQsIGNvbnN0IFdlYlByZWZl
cmVuY2VzU3RvcmUmIHN0b3JlLCBSZWdpc3RyYWJsZURvbWFpbiYmIHJlZ2lzdHJhYmxlRG9tYWlu
LCBTZXJ2aWNlV29ya2VySW5pdGlhbGl6YXRpb25EYXRhJiYgaW5pdGlhbGl6YXRpb25EYXRhKQor
dm9pZCBXZWJQcm9jZXNzOjplc3RhYmxpc2hXb3JrZXJDb250ZXh0Q29ubmVjdGlvblRvTmV0d29y
a1Byb2Nlc3ModWludDY0X3QgcGFnZUdyb3VwSUQsIFdlYlBhZ2VQcm94eUlkZW50aWZpZXIgd2Vi
UGFnZVByb3h5SUQsIFBhZ2VJZGVudGlmaWVyIHBhZ2VJRCwgY29uc3QgV2ViUHJlZmVyZW5jZXNT
dG9yZSYgc3RvcmUsIFJlZ2lzdHJhYmxlRG9tYWluJiYgcmVnaXN0cmFibGVEb21haW4sIFNlcnZp
Y2VXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEmJiBpbml0aWFsaXphdGlvbkRhdGEsIENvbXBsZXRp
b25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAgICAvLyBXZSBhcmUg
aW4gdGhlIFNlcnZpY2UgV29ya2VyIGNvbnRleHQgcHJvY2VzcyBhbmQgdGhlIGNhbGwgYmVsb3cg
ZXN0YWJsaXNoZXMgb3VyIGNvbm5lY3Rpb24gdG8gdGhlIE5ldHdvcmsgUHJvY2VzcwogICAgIC8v
IGJ5IGNhbGxpbmcgZW5zdXJlTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLiBTV0NvbnRleHRNYW5h
Z2VyIG5lZWRzIHRvIHVzZSB0aGUgc2FtZSB1bmRlcmx5aW5nIElQQzo6Q29ubmVjdGlvbiBhcyB0
aGUKICAgICAvLyBOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24gZm9yIHN5bmNocm9uaXphdGlvbiBw
dXJwb3Nlcy4KICAgICBhdXRvJiBpcGNDb25uZWN0aW9uID0gZW5zdXJlTmV0d29ya1Byb2Nlc3ND
b25uZWN0aW9uKCkuY29ubmVjdGlvbigpOwogICAgIFNXQ29udGV4dE1hbmFnZXI6OnNpbmdsZXRv
bigpLnNldENvbm5lY3Rpb24obWFrZVVuaXF1ZTxXZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlv
bj4oaXBjQ29ubmVjdGlvbiwgV1RGTW92ZShyZWdpc3RyYWJsZURvbWFpbiksIHBhZ2VHcm91cElE
LCB3ZWJQYWdlUHJveHlJRCwgcGFnZUlELCBzdG9yZSwgV1RGTW92ZShpbml0aWFsaXphdGlvbkRh
dGEpKSk7CisgICAgU1dDb250ZXh0TWFuYWdlcjo6c2luZ2xldG9uKCkuY29ubmVjdGlvbigpLT5l
c3RhYmxpc2hDb25uZWN0aW9uKFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKIH0KIAogdm9p
ZCBXZWJQcm9jZXNzOjpyZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnRzKCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUHJvY2Vzcy5oCmluZGV4IDEzMTU5YWRlYmEyNDI5MDcyZjVkM2ZmNzA1Mzhl
MDA3NzRlZDg4NjkuLmFjNjFjMjAwMzAxYWI3ZmUxOTFkYzQyODZjZDlmYWQzZDIyZTBjMzggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKKysrIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaApAQCAtNDAwLDcgKzQwMCw3IEBAIHBy
aXZhdGU6CiAjZW5kaWYKIAogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKLSAgICB2b2lkIGVz
dGFibGlzaFdvcmtlckNvbnRleHRDb25uZWN0aW9uVG9OZXR3b3JrUHJvY2Vzcyh1aW50NjRfdCBw
YWdlR3JvdXBJRCwgV2ViUGFnZVByb3h5SWRlbnRpZmllciwgV2ViQ29yZTo6UGFnZUlkZW50aWZp
ZXIsIGNvbnN0IFdlYlByZWZlcmVuY2VzU3RvcmUmLCBXZWJDb3JlOjpSZWdpc3RyYWJsZURvbWFp
biYmLCBTZXJ2aWNlV29ya2VySW5pdGlhbGl6YXRpb25EYXRhJiYpOworICAgIHZvaWQgZXN0YWJs
aXNoV29ya2VyQ29udGV4dENvbm5lY3Rpb25Ub05ldHdvcmtQcm9jZXNzKHVpbnQ2NF90IHBhZ2VH
cm91cElELCBXZWJQYWdlUHJveHlJZGVudGlmaWVyLCBXZWJDb3JlOjpQYWdlSWRlbnRpZmllciwg
Y29uc3QgV2ViUHJlZmVyZW5jZXNTdG9yZSYsIFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluJiYs
IFNlcnZpY2VXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEmJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZCgpPiYmKTsKICAgICB2b2lkIHJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudHMoKTsKICNlbmRp
ZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNz
YWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmlu
CmluZGV4IDdhYjFmYTUzZThkZmM0ZjBiNDY2OWEzZmI1ZTc4NzFlNDAxYjZiZDMuLmRmYmE2MDZi
ZTQ3ODZiMmJmNGE0MjI0NzY2ZDUyMWQ1ZmYzYjZmZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCkBAIC0xMDYsNyArMTA2LDcgQEAgbWVz
c2FnZXMgLT4gV2ViUHJvY2VzcyBMZWdhY3lSZWNlaXZlciBOb3RSZWZDb3VudGVkIHsKICNlbmRp
ZgogCiAjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQotICAgIEVzdGFibGlzaFdvcmtlckNvbnRl
eHRDb25uZWN0aW9uVG9OZXR3b3JrUHJvY2Vzcyh1aW50NjRfdCBwYWdlR3JvdXBJRCwgV2ViS2l0
OjpXZWJQYWdlUHJveHlJZGVudGlmaWVyIHdlYlBhZ2VQcm94eUlELCBXZWJDb3JlOjpQYWdlSWRl
bnRpZmllciBwYWdlSUQsIHN0cnVjdCBXZWJLaXQ6OldlYlByZWZlcmVuY2VzU3RvcmUgc3RvcmUs
IFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluIGRvbWFpbiwgc3RydWN0IFdlYktpdDo6U2Vydmlj
ZVdvcmtlckluaXRpYWxpemF0aW9uRGF0YSBpbml0aWFsaXphdGlvbkRhdGEpCisgICAgRXN0YWJs
aXNoV29ya2VyQ29udGV4dENvbm5lY3Rpb25Ub05ldHdvcmtQcm9jZXNzKHVpbnQ2NF90IHBhZ2VH
cm91cElELCBXZWJLaXQ6OldlYlBhZ2VQcm94eUlkZW50aWZpZXIgd2ViUGFnZVByb3h5SUQsIFdl
YkNvcmU6OlBhZ2VJZGVudGlmaWVyIHBhZ2VJRCwgc3RydWN0IFdlYktpdDo6V2ViUHJlZmVyZW5j
ZXNTdG9yZSBzdG9yZSwgV2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW4gZG9tYWluLCBzdHJ1Y3Qg
V2ViS2l0OjpTZXJ2aWNlV29ya2VySW5pdGlhbGl6YXRpb25EYXRhIGluaXRpYWxpemF0aW9uRGF0
YSkgLT4gKCkgQXN5bmMKICAgICBSZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnRzKCkKICNlbmRp
ZgogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>