<?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>180276</bug_id>
          
          <creation_ts>2017-12-01 13:32:05 -0800</creation_ts>
          <short_desc>Implement https://w3c.github.io/ServiceWorker/#clients-getall</short_desc>
          <delta_ts>2017-12-02 11:42:33 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>beidson</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1377021</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-12-01 13:32:05 -0800</bug_when>
    <thetext>Implement clients.matchAll</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377024</commentid>
    <comment_count>1</comment_count>
      <attachid>328148</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-12-01 13:33:54 -0800</bug_when>
    <thetext>Created attachment 328148
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377189</commentid>
    <comment_count>2</comment_count>
      <attachid>328194</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-12-01 17:43:59 -0800</bug_when>
    <thetext>Created attachment 328194
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377312</commentid>
    <comment_count>3</comment_count>
      <attachid>328194</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-12-02 10:06:58 -0800</bug_when>
    <thetext>Comment on attachment 328194
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377334</commentid>
    <comment_count>4</comment_count>
      <attachid>328194</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-12-02 11:41:04 -0800</bug_when>
    <thetext>Comment on attachment 328194
Patch

Clearing flags on attachment: 328194

Committed r225452: &lt;https://trac.webkit.org/changeset/225452&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377335</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-12-02 11:41:05 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377337</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-12-02 11:42:33 -0800</bug_when>
    <thetext>&lt;rdar://problem/35815455&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>328148</attachid>
            <date>2017-12-01 13:33:54 -0800</date>
            <delta_ts>2017-12-01 17:43:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-180276-20171201133353.patch</filename>
            <type>text/plain</type>
            <size>35006</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI1MzkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGY0NjhhMWE4NWViNjY4
OTAwNTA0ZDAwYzdiY2Y5YjBjMjUwNGI5ZC4uZDE5MWZjZDczNGE0M2YzNjhiNmRhMjA2YzI4OTky
NjlkNGJjNTJkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDMwIEBACiAyMDE3LTEyLTAxICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAorICAgICAgICBJbXBsZW1lbnQgaHR0cHM6
Ly93M2MuZ2l0aHViLmlvL1NlcnZpY2VXb3JrZXIvI2NsaWVudHMtZ2V0YWxsCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODAyNzYKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBodHRwL3Rlc3RzL3dv
cmtlcnMvc2VydmljZS9zZXJ2aWNld29ya2VyY2xpZW50cy1tYXRjaEFsbC5odHRwcy5odG1sCisK
KyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICog
d29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnRzLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlNlcnZpY2VXb3JrZXJDbGllbnRzOjptYXRjaEFsbCk6CisgICAgICAgICogd29ya2Vycy9z
ZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnRzLmg6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNl
L2NvbnRleHQvU1dDb250ZXh0TWFuYWdlci5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9z
ZXJ2ZXIvU1dTZXJ2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1dTZXJ2ZXI6Om1hdGNoQWxs
KToKKyAgICAgICAgKFdlYkNvcmU6OlNXU2VydmVyOjpyZWdpc3RlclNlcnZpY2VXb3JrZXJDbGll
bnQpOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuaDoKKyAgICAg
ICAgKiB3b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbi5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpTV1NlcnZlclRvQ29udGV4dENvbm5lY3Rpb246Om1hdGNo
QWxsKToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyVG9Db250ZXh0
Q29ubmVjdGlvbi5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJX
b3JrZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1dTZXJ2ZXJXb3JrZXI6Om1hdGNoQWxsKToK
KyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyV29ya2VyLmg6CisKKzIw
MTctMTItMDEgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCiAgICAgICAgIElt
cGxlbWVudCBodHRwczovL3czYy5naXRodWIuaW8vU2VydmljZVdvcmtlci8jY2xpZW50cy1jbGFp
bQogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgwMjYx
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKaW5kZXggMDViYTdkZDBjNjhjOWEyZTY0OGNlNDAzYjNkNWQ1ZjEyYjBjYzNjZi4u
MWU2ODQ1OWMwZmE0ZDI5ZjY3YzJjMjdkNDRhYTcyYWNmMDYzZGU4NiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEs
NSArMSwyMiBAQAogMjAxNy0xMi0wMSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+
CiAKKyAgICAgICAgSW1wbGVtZW50IGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9TZXJ2aWNlV29ya2Vy
LyNjbGllbnRzLWdldGFsbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTgwMjc2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBTdG9yYWdlUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyVG9Db250
ZXh0Q29ubmVjdGlvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlNXU2VydmVyVG9Db250ZXh0
Q29ubmVjdGlvbjo6bWF0Y2hBbGxDb21wbGV0ZWQpOgorICAgICAgICAqIFN0b3JhZ2VQcm9jZXNz
L1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uLmg6CisgICAgICAg
ICogU3RvcmFnZVByb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlclRvQ29udGV4dENvbm5l
Y3Rpb24ubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29u
dGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViU1dDb250ZXh0
TWFuYWdlckNvbm5lY3Rpb246Om1hdGNoQWxsKToKKyAgICAgICAgKFdlYktpdDo6V2ViU1dDb250
ZXh0TWFuYWdlckNvbm5lY3Rpb246Om1hdGNoQWxsQ29tcGxldGVkKToKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1N0b3JhZ2UvV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uaDoKKyAgICAgICAg
KiBXZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24ubWVzc2Fn
ZXMuaW46CisKKzIwMTctMTItMDEgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgor
CiAgICAgICAgIEltcGxlbWVudCBodHRwczovL3czYy5naXRodWIuaW8vU2VydmljZVdvcmtlci8j
Y2xpZW50cy1jbGFpbQogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTgwMjYxCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagppbmRleCA3YjNjMDk5Nzg0MDEyMjlkMWExZmFhZDAwODBlNGI4MDU2OGUx
M2FkLi5mZGNlNTc3NGI1MzJiNDhhMmM3Nzc4NTNkOWFkOTZmODE1ZDExNDVkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC05ODIs
NiArOTgyLDcgQEAKIAkJNDEzOEY4NTgxRDI1M0YwRTAwMUNCNjFFIC8qIEpTRE9NSXRlcmF0b3Iu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMzhGODU2
MUQyNTNFRUUwMDFDQjYxRSAvKiBKU0RPTUl0ZXJhdG9yLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDEzQzJDMzQxQkMyOUE4RjAwNzUyMDRDIC8q
IEpTRE9NQ29uc3RydWN0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDQxM0MyQzMzMUJDMjlBN0IwMDc1MjA0QyAvKiBKU0RPTUNvbnN0cnVjdG9yLmgg
Ki87IH07CiAJCTQxM0UwMDc5MURCMEU0RjIwMDIzNDFEMiAvKiBNZW1vcnlSZWxlYXNlLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTNFMDA3ODFEQjBF
NERFMDAyMzQxRDIgLyogTWVtb3J5UmVsZWFzZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CisJCTQxM0ZDNEQwMUZEMUVBODMwMDU0MUM0QiAvKiBTZXJ2
aWNlV29ya2VyQ2xpZW50RGF0YVdpdGhJZGVudGlmaWVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTNGQzRDRjFGRDFFQTgwMDA1NDFDNEIgLyogU2Vy
dmljZVdvcmtlckNsaWVudERhdGFXaXRoSWRlbnRpZmllci5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQxNEI4MjA1MUQ2REYwRTUwMDc3RUJFMyAv
KiBTdHJ1Y3R1cmVkQ2xvbmUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDQxNEI4MjAzMUQ2REYwRDkwMDc3RUJFMyAvKiBTdHJ1Y3R1cmVkQ2xvbmUuaCAq
LzsgfTsKIAkJNDE0QzI1RDcxRTlFRkVERTAwQkVFMTQxIC8qIEgyNjRWaWRlb1Rvb2xCb3hFbmNv
ZGVyLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE0
QzI1RDYxRTlFRjdDMDAwQkVFMTQxIC8qIEgyNjRWaWRlb1Rvb2xCb3hFbmNvZGVyLm1tICovOyB9
OwogCQk0MTRERURFNzFGOUZFOTFFMDA0N0M0MEQgLyogRW1wdHlGcmFtZUxvYWRlckNsaWVudC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE0REVERTUx
RjlGRTkxNTAwNDdDNDBEIC8qIEVtcHR5RnJhbWVMb2FkZXJDbGllbnQuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtOTg5LDYgKzk5MCw3IEBACiAJ
CTQxNTA4MDM2MUUzRjAwQUQwMDUxRDc1RCAvKiBMaWJXZWJSVENBdWRpb01vZHVsZS5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTUwODAzNDFFM0Yw
MEFBMDA1MUQ3NUQgLyogTGliV2ViUlRDQXVkaW9Nb2R1bGUuY3BwICovOyB9OwogCQk0MTUwODAz
NzFFM0YwMEIwMDA1MUQ3NUQgLyogTGliV2ViUlRDQXVkaW9Nb2R1bGUuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxNTA4MDM1MUUzRjAwQUEwMDUxRDc1
RCAvKiBMaWJXZWJSVENBdWRpb01vZHVsZS5oICovOyB9OwogCQk0MTUwRjlGMTEyQjZFMEU3MDAw
OEM4NjAgLyogU2xpZGVyVGh1bWJFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0MTUwRjlFRjEyQjZFMEU3MDAwOEM4NjAgLyogU2xpZGVyVGh1
bWJFbGVtZW50LmggKi87IH07CisJCTQxNTE5Q0I4MUZEMUYwMkUwMDdGNjIzQyAvKiBTZXJ2aWNl
V29ya2VyQ2xpZW50UXVlcnlPcHRpb25zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA0MTNGQzRDRDFGRDFERDhDMDA1NDFDNEIgLyogU2VydmljZVdvcmtl
ckNsaWVudFF1ZXJ5T3B0aW9ucy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCTQxNTFFNUJCMUZCQTRDN0EwMEU0N0UyRCAvKiBTV09yaWdpblN0b3Jl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTUxRTVC
NzFGQkE0Qzc1MDBFNDdFMkQgLyogU1dPcmlnaW5TdG9yZS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQxNTc0NzQ3MUUzODY5QTQwMEU5MTREOCAv
KiBMaWJXZWJSVENNYWNyb3MuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDQxNTc0NzQzMUUzODY5OUUwMEU5MTREOCAvKiBMaWJXZWJSVENNYWNyb3MuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0MTU3NDc0
ODFFMzg2OUE3MDBFOTE0RDggLyogTGliV2ViUlRDUHJvdmlkZXIuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxNTc0NzQ0MUUzODY5OUUwMEU5MTREOCAv
KiBMaWJXZWJSVENQcm92aWRlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CkBAIC02OTI1LDYgKzY5MjcsOCBAQAogCQk0MTNFMDA3NzFEQjBFNERFMDAy
MzQxRDIgLyogTWVtb3J5UmVsZWFzZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBNZW1vcnlSZWxlYXNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NDEzRTAwNzgxREIwRTRERTAwMjM0MUQyIC8qIE1lbW9yeVJlbGVhc2UuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gTWVtb3J5UmVsZWFzZS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk0MTNFMDA3QjFEQjBFNzA3MDAyMzQxRDIgLyogTWVtb3J5UmVsZWFzZUNvY29h
Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gTWVtb3J5UmVsZWFz
ZUNvY29hLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTNGQzRDRDFGRDFERDhD
MDA1NDFDNEIgLyogU2VydmljZVdvcmtlckNsaWVudFF1ZXJ5T3B0aW9ucy5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBTZXJ2aWNlV29ya2VyQ2xpZW50UXVlcnlPcHRpb25zLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxM0ZDNENGMUZEMUVBODAwMDU0MUM0QiAv
KiBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YVdpdGhJZGVudGlmaWVyLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFNlcnZpY2VXb3JrZXJDbGllbnREYXRhV2l0aElkZW50aWZpZXIu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE0N0UyQjIxQzg4MzM3RjAwQTdFNzE1
IC8qIEZldGNoQm9keU93bmVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZl
dGNoQm9keU93bmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxNDdFMkIzMUM4
OTkxMjYwMEE3RTcxNSAvKiBGZXRjaEJvZHlPd25lci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBGZXRjaEJvZHlPd25lci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTQxNDdFMkI0MUM4OTkxMjYwMEE3RTcxNSAvKiBGZXRjaExvYWRlci5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBGZXRjaExvYWRlci5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNzI4NSwxMCArMTcyODksMTIgQEAKIAkJCQk0NkVG
MTQyODFGOTdCN0JBMDBDMkE1MjQgLyogU2VydmljZVdvcmtlckNsaWVudC5pZGwgKi8sCiAJCQkJ
ODM3OTM2M0MxRkJCQjBBNDAwQzgwMjNDIC8qIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhLmNwcCAq
LywKIAkJCQk4Mzc5MzYzRTFGQkJCMEE1MDBDODAyM0MgLyogU2VydmljZVdvcmtlckNsaWVudERh
dGEuaCAqLywKKwkJCQk0MTNGQzRDRjFGRDFFQTgwMDA1NDFDNEIgLyogU2VydmljZVdvcmtlckNs
aWVudERhdGFXaXRoSWRlbnRpZmllci5oICovLAogCQkJCTgzN0Q0NjI1MUZBMkE4QzUwMDU0RTFG
QSAvKiBTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllci5oICovLAogCQkJCTQ2RUYxNDIxMUY5
N0I3QkEwMEMyQTUyNCAvKiBTZXJ2aWNlV29ya2VyQ2xpZW50cy5jcHAgKi8sCiAJCQkJNDZFRjE0
MjIxRjk3QjdCQTAwQzJBNTI0IC8qIFNlcnZpY2VXb3JrZXJDbGllbnRzLmggKi8sCiAJCQkJNDZF
RjE0MjMxRjk3QjdCQTAwQzJBNTI0IC8qIFNlcnZpY2VXb3JrZXJDbGllbnRzLmlkbCAqLywKKwkJ
CQk0MTNGQzRDRDFGRDFERDhDMDA1NDFDNEIgLyogU2VydmljZVdvcmtlckNsaWVudFF1ZXJ5T3B0
aW9ucy5oICovLAogCQkJCTgzNjlGREZCMUZBMTAyQ0IwMEMxRkYxRiAvKiBTZXJ2aWNlV29ya2Vy
Q2xpZW50VHlwZS5oICovLAogCQkJCTgzNjlGREY5MUZBMTAyQ0EwMEMxRkYxRiAvKiBTZXJ2aWNl
V29ya2VyQ2xpZW50VHlwZS5pZGwgKi8sCiAJCQkJNTFGMTc1NTgxRjNFQkMwQzAwQzc0OTUwIC8q
IFNlcnZpY2VXb3JrZXJDb250YWluZXIuY3BwICovLApAQCAtMjYzODgsNiArMjYzOTQsNyBAQAog
CQkJCTU3RUVBQTQ3MUU5RUQyREQwMDcwMTEyNCAvKiBDcnlwdG9BbGdvcml0aG1FQ0RTQS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNTdFRUFBNTAxRTlGRkJGQzAwNzAxMTI0IC8qIENyeXB0b0FsZ29y
aXRobUVjZHNhUGFyYW1zLmggaW4gSGVhZGVycyAqLywKIAkJCQk1NzUwQTk3RTFFNkExM0VGMDA3
MDVDNEEgLyogQ3J5cHRvQWxnb3JpdGhtRWNLZXlQYXJhbXMuaCBpbiBIZWFkZXJzICovLAorCQkJ
CTQxNTE5Q0I4MUZEMUYwMkUwMDdGNjIzQyAvKiBTZXJ2aWNlV29ya2VyQ2xpZW50UXVlcnlPcHRp
b25zLmggaW4gSGVhZGVycyAqLywKIAkJCQk1Nzk1N0NBOTFFOTcxREUwMDA4MDcyQUIgLyogQ3J5
cHRvQWxnb3JpdGhtSEtERi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTc5NTdDQjIxRTk3MjY0NTAw
ODA3MkFCIC8qIENyeXB0b0FsZ29yaXRobUhrZGZQYXJhbXMuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUUxMjVGODMyMTgyMkYxMUIwMEQ4NENEOSAvKiBDcnlwdG9BbGdvcml0aG1ITUFDLmggaW4gSGVh
ZGVycyAqLywKQEAgLTI4OTQ0LDYgKzI4OTUxLDcgQEAKIAkJCQk4M0M1Nzk1RDFEQTVDMzAxMDA2
RkFDQTggLyogU2Nyb2xsVG9PcHRpb25zLmggaW4gSGVhZGVycyAqLywKIAkJCQk5M0MwOUM4NjBC
MDY1N0FBMDA1QUJENEQgLyogU2Nyb2xsVHlwZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDNkQ2
RTI2MDlBRjk0MzUwMEY1OTc1OSAvKiBTY3JvbGxWaWV3LmggaW4gSGVhZGVycyAqLywKKwkJCQk0
MTNGQzREMDFGRDFFQTgzMDA1NDFDNEIgLyogU2VydmljZVdvcmtlckNsaWVudERhdGFXaXRoSWRl
bnRpZmllci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRjU1QjNERDIxMjUxRjEyRDAwM0VGMjY5IC8q
IFNlYXJjaElucHV0VHlwZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQUI3MTcwODkwQjMxMTgwODAw
MTcxMjNFIC8qIFNlYXJjaFBvcHVwTWVudS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEU3MDU4RjQx
QkM1Q0VEQTAwNDVBNTA3IC8qIFNlYXJjaFBvcHVwTWVudUNvY29hLmggaW4gSGVhZGVycyAqLywK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2Vy
Q2xpZW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtl
ckNsaWVudHMuY3BwCmluZGV4IGI1ZWI4ZGNlMDY0Y2Y5NTczZjJjOGFiYWE2NmNhZmQ3NGQzYWVm
MzUuLjJmZjBiMjlmMGRjZjhiMmFmYTM5MjdmZDhmNWY3ZjNlMDA1ZDIwZmUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ2xpZW50cy5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnRz
LmNwcApAQCAtMTE0LDkgKzExNCwzOCBAQCB2b2lkIFNlcnZpY2VXb3JrZXJDbGllbnRzOjpnZXQo
Y29uc3QgU3RyaW5nJiBpZCwgUmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlKQogICAgIH0p
OwogfQogCi12b2lkIFNlcnZpY2VXb3JrZXJDbGllbnRzOjptYXRjaEFsbChjb25zdCBDbGllbnRR
dWVyeU9wdGlvbnMmLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmIHByb21pc2UpCit2b2lkIFNlcnZp
Y2VXb3JrZXJDbGllbnRzOjptYXRjaEFsbChjb25zdCBDbGllbnRRdWVyeU9wdGlvbnMmIG9wdGlv
bnMsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYgcHJvbWlzZSkKIHsKLSAgICBwcm9taXNlLT5yZWpl
Y3QoRXhjZXB0aW9uIHsgTm90U3VwcG9ydGVkRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiY2xpZW50cy5t
YXRjaEFsbCgpIGlzIG5vdCB5ZXQgc3VwcG9ydGVkIikgfSk7CisgICAgYXV0byogY29udGV4dCA9
IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsKKyAgICBpZiAoIWNvbnRleHQpIHsKKyAgICAgICAg
cHJvbWlzZS0+cmVqZWN0KEV4Y2VwdGlvbiB7IEludmFsaWRTdGF0ZUVycm9yIH0pOworICAgICAg
ICByZXR1cm47CisgICAgfQorCisgICAgYXV0byYgc2VydmljZVdvcmtlckdsb2JhbFNjb3BlID0g
ZG93bmNhc3Q8U2VydmljZVdvcmtlckdsb2JhbFNjb3BlPigqY29udGV4dCk7CisgICAgYXV0byBw
cm9taXNlUG9pbnRlciA9IHByb21pc2UucHRyKCk7CisKKyAgICBhdXRvIHN0YXRlID0gYWRvcHRS
ZWYoKm5ldyBSZXF1ZXN0U3RhdGUgeyB0aGlzLCBwcm9taXNlUG9pbnRlciwgc2VydmljZVdvcmtl
ckdsb2JhbFNjb3BlLnRocmVhZCgpLmlkZW50aWZpZXIoKSB9KTsKKyAgICBtX3BlbmRpbmdSZXF1
ZXN0cy5hZGQocHJvbWlzZVBvaW50ZXIsIFBlbmRpbmdSZXF1ZXN0IHsgV1RGTW92ZShwcm9taXNl
KSwgbWFrZVBlbmRpbmdBY3Rpdml0eSgqdGhpcyksIHN0YXRlLmNvcHlSZWYoKSB9KTsKKworICAg
IGNhbGxPbk1haW5UaHJlYWQoW3N0YXRlID0gV1RGTW92ZShzdGF0ZSksIG9wdGlvbnNdICgpIG11
dGFibGUgeworICAgICAgICBhdXRvIGNvbm5lY3Rpb24gPSBTV0NvbnRleHRNYW5hZ2VyOjpzaW5n
bGV0b24oKS5jb25uZWN0aW9uKCk7CisgICAgICAgIGNvbm5lY3Rpb24tPm1hdGNoQWxsKHN0YXRl
LT5tX2lkZW50aWZpZXIsIG9wdGlvbnMsIFtzdGF0ZSA9IFdURk1vdmUoc3RhdGUpXSAoYXV0byYm
IGNsaWVudHNEYXRhKSBtdXRhYmxlIHsKKyAgICAgICAgICAgIFNXQ29udGV4dE1hbmFnZXI6OnNp
bmdsZXRvbigpLnBvc3RUYXNrVG9TZXJ2aWNlV29ya2VyKHN0YXRlLT5tX2lkZW50aWZpZXIsIFtz
dGF0ZSA9IFdURk1vdmUoc3RhdGUpLCBjbGllbnRzRGF0YSA9IGNyb3NzVGhyZWFkQ29weShjbGll
bnRzRGF0YSldIChhdXRvJikgbXV0YWJsZSB7CisgICAgICAgICAgICAgICAgaWYgKCFzdGF0ZS0+
bV9jbGllbnRzKQorICAgICAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICAgICAg
YXV0byByZXF1ZXN0ID0gc3RhdGUtPm1fY2xpZW50cy0+bV9wZW5kaW5nUmVxdWVzdHMudGFrZShz
dGF0ZS0+bV9wcm9taXNlKTsKKyAgICAgICAgICAgICAgICBpZiAoIXJlcXVlc3QucHJvbWlzZSkK
KyAgICAgICAgICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgICAgICAgICAgYXV0byYgY29u
dGV4dCA9IGRvd25jYXN0PFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZT4oKnN0YXRlLT5tX2NsaWVu
dHMtPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7CisgICAgICAgICAgICAgICAgYXV0byBjbGll
bnRzID0gV1RGOjptYXAoY2xpZW50c0RhdGEsIFsmXSAoYXV0byYmIGl0ZW0pIHsKKyAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuIFNlcnZpY2VXb3JrZXJDbGllbnQ6OmdldE9yQ3JlYXRlKGNvbnRl
eHQsIGl0ZW0uaWRlbnRpZmllciwgV1RGTW92ZShpdGVtLmRhdGEpKTsKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgICAgICByZXF1ZXN0LnByb21pc2UtPnJlc29sdmU8SURMU2VxdWVu
Y2U8SURMSW50ZXJmYWNlPFNlcnZpY2VXb3JrZXJDbGllbnQ+Pj4oV1RGTW92ZShjbGllbnRzKSk7
CisgICAgICAgICAgICB9KTsKKyAgICAgICAgfSk7CisgICAgfSk7CiB9CiAKIHZvaWQgU2Vydmlj
ZVdvcmtlckNsaWVudHM6Om9wZW5XaW5kb3coY29uc3QgU3RyaW5nJiB1cmwsIFJlZjxEZWZlcnJl
ZFByb21pc2U+JiYgcHJvbWlzZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2VydmljZS9TZXJ2aWNlV29ya2VyQ2xpZW50cy5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9z
ZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnRzLmgKaW5kZXggMjUwZTFjOWJjNGFmNzAwYWNhNDMz
YmUyMjk5OTQ1YTE2ZDgzMjI4OC4uNDkxZTNkZWUzY2JkMzY1N2QwNjBlYWMyMWJhMGVlMzYwZDAx
MmY4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VX
b3JrZXJDbGllbnRzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZp
Y2VXb3JrZXJDbGllbnRzLmgKQEAgLTI5LDYgKzI5LDcgQEAKIAogI2luY2x1ZGUgIkFjdGl2ZURP
TU9iamVjdC5oIgogI2luY2x1ZGUgIkV4Y2VwdGlvbk9yLmgiCisjaW5jbHVkZSAiU2VydmljZVdv
cmtlckNsaWVudFF1ZXJ5T3B0aW9ucy5oIgogI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJDbGllbnRU
eXBlLmgiCiAjaW5jbHVkZSAiU2VydmljZVdvcmtlcklkZW50aWZpZXIuaCIKICNpbmNsdWRlIDx3
dGYvUmVmLmg+CkBAIC00OSwxMCArNTAsNyBAQCBwdWJsaWM6CiAgICAgfQogICAgIH5TZXJ2aWNl
V29ya2VyQ2xpZW50cygpOwogCi0gICAgc3RydWN0IENsaWVudFF1ZXJ5T3B0aW9ucyB7Ci0gICAg
ICAgIGJvb2wgaW5jbHVkZVVuY29udHJvbGxlZCB7IGZhbHNlIH07Ci0gICAgICAgIFNlcnZpY2VX
b3JrZXJDbGllbnRUeXBlIHR5cGUgeyBTZXJ2aWNlV29ya2VyQ2xpZW50VHlwZTo6V2luZG93IH07
Ci0gICAgfTsKKyAgICB1c2luZyBDbGllbnRRdWVyeU9wdGlvbnMgPSBTZXJ2aWNlV29ya2VyQ2xp
ZW50UXVlcnlPcHRpb25zOwogCiAgICAgdm9pZCBnZXQoY29uc3QgU3RyaW5nJiBpZCwgUmVmPERl
ZmVycmVkUHJvbWlzZT4mJik7CiAgICAgdm9pZCBtYXRjaEFsbChjb25zdCBDbGllbnRRdWVyeU9w
dGlvbnMmLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NXQ29udGV4dE1hbmFnZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NXQ29udGV4dE1hbmFnZXIuaAppbmRleCBj
MWY0ODcyZTM5NmZjM2FjMmE1MWYwNWU4MzVlYTUzNjI0ZjA5MzI3Li44NjdhZDE5Y2QyMjY3YTRi
N2U2ZmRjZTJiNTZlMTVlYzgwYmE5ZDIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2UvY29udGV4dC9TV0NvbnRleHRNYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU1dDb250ZXh0TWFuYWdlci5oCkBAIC0yOCw2ICsy
OCw4IEBACiAjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQogCiAjaW5jbHVkZSAiRXhjZXB0aW9u
T3IuaCIKKyNpbmNsdWRlICJTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YVdpdGhJZGVudGlmaWVyLmgi
CisjaW5jbHVkZSAiU2VydmljZVdvcmtlckNsaWVudFF1ZXJ5T3B0aW9ucy5oIgogI2luY2x1ZGUg
IlNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLmgiCiAjaW5jbHVkZSAiU2VydmljZVdvcmtlclRocmVh
ZFByb3h5LmgiCiAjaW5jbHVkZSA8d3RmL0NvbXBsZXRpb25IYW5kbGVyLmg+CkBAIC0zNiw3ICsz
OCw2IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZTsKLXN0cnVjdCBTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllcjsKIAogY2xhc3MgU1dDb250
ZXh0TWFuYWdlciB7CiBwdWJsaWM6CkBAIC01Niw2ICs1Nyw3IEBAIHB1YmxpYzoKICAgICAgICAg
dXNpbmcgRmluZENsaWVudEJ5SWRlbnRpZmllckNhbGxiYWNrID0gV1RGOjpDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKEV4Y2VwdGlvbk9yPHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlckNsaWVudERh
dGE+PiYmKT47CiAgICAgICAgIHZpcnR1YWwgdm9pZCBmaW5kQ2xpZW50QnlJZGVudGlmaWVyKFNl
cnZpY2VXb3JrZXJJZGVudGlmaWVyLCBTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllciwgRmlu
ZENsaWVudEJ5SWRlbnRpZmllckNhbGxiYWNrJiYpID0gMDsKICAgICAgICAgdmlydHVhbCB2b2lk
IGNsYWltKFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCBXVEY6OkNvbXBsZXRpb25IYW5kbGVyPHZv
aWQoKT4mJikgPSAwOworICAgICAgICB2aXJ0dWFsIHZvaWQgbWF0Y2hBbGwoU2VydmljZVdvcmtl
cklkZW50aWZpZXIsIGNvbnN0IFNlcnZpY2VXb3JrZXJDbGllbnRRdWVyeU9wdGlvbnMmLCBTZXJ2
aWNlV29ya2VyQ2xpZW50c01hdGNoQWxsQ2FsbGJhY2smJikgPSAwOwogICAgIH07CiAKICAgICBX
RUJDT1JFX0VYUE9SVCB2b2lkIHNldENvbm5lY3Rpb24oc3RkOjp1bmlxdWVfcHRyPENvbm5lY3Rp
b24+JiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZl
ci9TV1NlcnZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NX
U2VydmVyLmNwcAppbmRleCBiODYwYWU4NjUxMGU1ZWJjMTQxNzlmODc0YmRlOThhMTFjNTdmN2Uy
Li41MjFlODBmMjg0NjI3YjYyNWQ5Y2UxOWZhNTJiNzYwZGVjYjFiODEzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmNwcApAQCAtMzQw
LDYgKzM0MCwyOSBAQCB2b2lkIFNXU2VydmVyOjpjbGFpbShTV1NlcnZlcldvcmtlciYgd29ya2Vy
KQogICAgIH0KIH0KIAordm9pZCBTV1NlcnZlcjo6bWF0Y2hBbGwoU1dTZXJ2ZXJXb3JrZXImIHdv
cmtlciwgY29uc3QgU2VydmljZVdvcmtlckNsaWVudFF1ZXJ5T3B0aW9ucyYgb3B0aW9ucywgU2Vy
dmljZVdvcmtlckNsaWVudHNNYXRjaEFsbENhbGxiYWNrJiYgY2FsbGJhY2spCit7CisgICAgLy8g
RklYTUU6IEZpbHRlciBjbGllbnRzIG9uY2Ugd2Ugc3VwcG9ydCB3b3JrZXIgY2xpZW50cyBhbmQg
cmVzZXJ2ZWQgY2xpZW50cy4KKyAgICAvLyBGSVhNRTogU3VwcG9ydCBXaW5kb3dDbGllbnQgYWRk
aXRpb25hbCBwcm9wZXJ0aWVzLgorCisgICAgYXV0byBpdGVyYXRvciA9IG1fY2xpZW50cy5maW5k
KHdvcmtlci5vcmlnaW4oKSk7CisgICAgaWYgKGl0ZXJhdG9yID09IG1fY2xpZW50cy5lbmQoKSkK
KyAgICAgICAgcmV0dXJuIGNhbGxiYWNrKHsgfSk7CisKKyAgICBhdXRvIGNsaWVudHMgPSBpdGVy
YXRvci0+dmFsdWU7CisgICAgaWYgKCFvcHRpb25zLmluY2x1ZGVVbmNvbnRyb2xsZWQpIHsKKyAg
ICAgICAgLy8gRklYTUU6IFdlIHNob3VsZCBwcm9iYWJseSBiZSBhYmxlIHRvIGVhc2lseSBnZXQg
dGhlIHNlcnZpY2Ugd29ya2VyIGNvbnRyb2xsaW5nIHRoZSBjbGllbnQuCisgICAgICAgIGNsaWVu
dHMucmVtb3ZlQWxsTWF0Y2hpbmcoWyZdIChhdXRvJiBjbGllbnQpIHsKKyAgICAgICAgICAgIGZv
ciAoYXV0byYgcmVnaXN0cmF0aW9uIDogbV9yZWdpc3RyYXRpb25zLnZhbHVlcygpKSB7CisgICAg
ICAgICAgICAgICAgaWYgKHJlZ2lzdHJhdGlvbi0+aXNDb250cm9sbGluZ0NsaWVudChjbGllbnQu
aWRlbnRpZmllcikpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICB9KTsKKyAgICB9CisgICAg
Y2FsbGJhY2soV1RGTW92ZShjbGllbnRzKSk7Cit9CisKIHZvaWQgU1dTZXJ2ZXI6OmRpZFJlc29s
dmVSZWdpc3RyYXRpb25Qcm9taXNlKENvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIGNvbnN0IFNlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb25LZXkmIHJlZ2lzdHJhdGlvbktleSkKIHsKICAgICBBU1NFUlRf
VU5VU0VEKGNvbm5lY3Rpb24sIG1fY29ubmVjdGlvbnMuY29udGFpbnMoY29ubmVjdGlvbi5pZGVu
dGlmaWVyKCkpKTsKQEAgLTUzMyw4ICs1NTYsOCBAQCBTV1NlcnZlclJlZ2lzdHJhdGlvbiogU1dT
ZXJ2ZXI6OmRvUmVnaXN0cmF0aW9uTWF0Y2hpbmcoY29uc3QgU2VjdXJpdHlPcmlnaW5EYXRhJgog
dm9pZCBTV1NlcnZlcjo6cmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KENsaWVudE9yaWdpbiYm
IGNsaWVudE9yaWdpbiwgU2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXIgaWRlbnRpZmllciwg
U2VydmljZVdvcmtlckNsaWVudERhdGEmJiBkYXRhKQogewogICAgIG1fY2xpZW50cy5lbnN1cmUo
V1RGTW92ZShjbGllbnRPcmlnaW4pLCBbXSB7Ci0gICAgICAgIHJldHVybiBWZWN0b3I8Q2xpZW50
SW5mb3JtYXRpb24+IHsgfTsKLSAgICB9KS5pdGVyYXRvci0+dmFsdWUuYXBwZW5kKENsaWVudElu
Zm9ybWF0aW9uIHsgaWRlbnRpZmllciwgV1RGTW92ZShkYXRhKSB9KTsKKyAgICAgICAgcmV0dXJu
IFZlY3RvcjxTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YVdpdGhJZGVudGlmaWVyPiB7IH07CisgICAg
fSkuaXRlcmF0b3ItPnZhbHVlLmFwcGVuZChTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YVdpdGhJZGVu
dGlmaWVyIHsgaWRlbnRpZmllciwgV1RGTW92ZShkYXRhKSB9KTsKIH0KIAogdm9pZCBTV1NlcnZl
cjo6dW5yZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQoY29uc3QgQ2xpZW50T3JpZ2luJiBjbGll
bnRPcmlnaW4sIFNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyIGlkZW50aWZpZXIpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmgKaW5kZXgg
ZmQ3ODU4YjBiNWQ1ZDk2NTQ3ZGQ4OWUxMmM5ZTg3NjE2MGNmZWIwZC4uZGM3NTY4N2I2YmZhM2Yy
ZmIxNGRmMDQ5OTEzNTJmZTQ0NGViNjlhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuaApAQCAtNTUsNiArNTUsNyBAQCBjbGFzcyBTV1Nl
cnZlclRvQ29udGV4dENvbm5lY3Rpb247CiBlbnVtIGNsYXNzIFNlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb25TdGF0ZTsKIGVudW0gY2xhc3MgU2VydmljZVdvcmtlclN0YXRlOwogc3RydWN0IEV4Y2Vw
dGlvbkRhdGE7CitzdHJ1Y3QgU2VydmljZVdvcmtlckNsaWVudFF1ZXJ5T3B0aW9uczsKIHN0cnVj
dCBTZXJ2aWNlV29ya2VyQ29udGV4dERhdGE7CiBzdHJ1Y3QgU2VydmljZVdvcmtlckZldGNoUmVz
dWx0Owogc3RydWN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhOwpAQCAtMTQwLDYgKzE0
MSw3IEBAIHB1YmxpYzoKIAogICAgIHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlckNsaWVudERh
dGE+IGZpbmRDbGllbnRCeUlkZW50aWZpZXIoY29uc3QgQ2xpZW50T3JpZ2luJiwgU2VydmljZVdv
cmtlckNsaWVudElkZW50aWZpZXIpOwogICAgIHZvaWQgY2xhaW0oU1dTZXJ2ZXJXb3JrZXImKTsK
KyAgICB2b2lkIG1hdGNoQWxsKFNXU2VydmVyV29ya2VyJiwgY29uc3QgU2VydmljZVdvcmtlckNs
aWVudFF1ZXJ5T3B0aW9ucyYsIFNlcnZpY2VXb3JrZXJDbGllbnRzTWF0Y2hBbGxDYWxsYmFjayYm
KTsKIAogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbkNy
ZWF0ZWQoKTsKICAgICAKQEAgLTE3NSwxMSArMTc3LDcgQEAgcHJpdmF0ZToKIAogICAgIEhhc2hN
YXA8U2VydmljZVdvcmtlcklkZW50aWZpZXIsIFJlZjxTV1NlcnZlcldvcmtlcj4+IG1fd29ya2Vy
c0J5SUQ7CiAKLSAgICBzdHJ1Y3QgQ2xpZW50SW5mb3JtYXRpb24gewotICAgICAgICBTZXJ2aWNl
V29ya2VyQ2xpZW50SWRlbnRpZmllciBpZGVudGlmaWVyOwotICAgICAgICBTZXJ2aWNlV29ya2Vy
Q2xpZW50RGF0YSBkYXRhOwotICAgIH07Ci0gICAgSGFzaE1hcDxDbGllbnRPcmlnaW4sIFZlY3Rv
cjxDbGllbnRJbmZvcm1hdGlvbj4+IG1fY2xpZW50czsKKyAgICBIYXNoTWFwPENsaWVudE9yaWdp
biwgVmVjdG9yPFNlcnZpY2VXb3JrZXJDbGllbnREYXRhV2l0aElkZW50aWZpZXI+PiBtX2NsaWVu
dHM7CiAKICAgICBSZWZQdHI8VGhyZWFkPiBtX3Rhc2tUaHJlYWQ7CiAgICAgTG9jayBtX3Rhc2tU
aHJlYWRMb2NrOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3Nl
cnZlci9TV1NlcnZlclRvQ29udGV4dENvbm5lY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlclRvQ29udGV4dENvbm5lY3Rpb24uY3BwCmluZGV4
IDJlNmNiMzJjNDhjNjBjODdiZjUyYzljYzJmNzI4NDVmNzIwNThmYjIuLjIzYTZiYWExYmU3MzFh
NGNiYWZlMmMzYzIwNjE1MzE2MTUzOWExNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyVG9Db250ZXh0
Q29ubmVjdGlvbi5jcHAKQEAgLTEyMiw2ICsxMjIsMTUgQEAgdm9pZCBTV1NlcnZlclRvQ29udGV4
dENvbm5lY3Rpb246OmNsYWltKHVpbnQ2NF90IHJlcXVlc3RJZGVudGlmaWVyLCBTZXJ2aWNlV29y
a2UKICAgICB9CiB9CiAKK3ZvaWQgU1dTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uOjptYXRjaEFs
bCh1aW50NjRfdCByZXF1ZXN0SWRlbnRpZmllciwgU2VydmljZVdvcmtlcklkZW50aWZpZXIgc2Vy
dmljZVdvcmtlcklkZW50aWZpZXIsIGNvbnN0IFNlcnZpY2VXb3JrZXJDbGllbnRRdWVyeU9wdGlv
bnMmIG9wdGlvbnMpCit7CisgICAgaWYgKGF1dG8qIHdvcmtlciA9IFNXU2VydmVyV29ya2VyOjpl
eGlzdGluZ1dvcmtlckZvcklkZW50aWZpZXIoc2VydmljZVdvcmtlcklkZW50aWZpZXIpKSB7Cisg
ICAgICAgIHdvcmtlci0+bWF0Y2hBbGwob3B0aW9ucywgW3JlcXVlc3RJZGVudGlmaWVyXSAoYXV0
byYmIGRhdGEpIHsKKyAgICAgICAgICAgIGdsb2JhbFNlcnZlclRvQ29udGV4dENvbm5lY3Rpb24o
KS0+bWF0Y2hBbGxDb21wbGV0ZWQocmVxdWVzdElkZW50aWZpZXIsIGRhdGEpOworICAgICAgICB9
KTsKKyAgICB9Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJM
RShTRVJWSUNFX1dPUktFUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vy
dmljZS9zZXJ2ZXIvU1dTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uLmggYi9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbi5oCmlu
ZGV4IDYxMTFhZjM1NzdkMGUzZDkzYTYwMTI5MGU1OWViNjhhMWJhOGNhYjEuLmU5MjQzNGY1MGRm
MDkxYWU1Y2M4ZjMzY2E1OTJiNjViYzAyZWQxNzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlclRvQ29udGV4
dENvbm5lY3Rpb24uaApAQCAtMjcsNiArMjcsNyBAQAogCiAjaWYgRU5BQkxFKFNFUlZJQ0VfV09S
S0VSKQogCisjaW5jbHVkZSAiU2VydmljZVdvcmtlckNsaWVudFF1ZXJ5T3B0aW9ucy5oIgogI2lu
Y2x1ZGUgIlNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLmgiCiAjaW5jbHVkZSAiU2VydmljZVdvcmtl
clR5cGVzLmgiCiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KQEAgLTM2LDYgKzM3LDcgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgU1dTZXJ2ZXI7CiBzdHJ1Y3QgU2VydmljZVdvcmtl
ckNsaWVudERhdGE7CiBzdHJ1Y3QgU2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXI7CitzdHJ1
Y3QgU2VydmljZVdvcmtlckNsaWVudERhdGFXaXRoSWRlbnRpZmllcjsKIHN0cnVjdCBTZXJ2aWNl
V29ya2VyQ29udGV4dERhdGE7CiBzdHJ1Y3QgU2VydmljZVdvcmtlckpvYkRhdGFJZGVudGlmaWVy
OwogCkBAIC01Myw2ICs1NSw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBmaW5kQ2xp
ZW50QnlJZGVudGlmaWVyQ29tcGxldGVkKHVpbnQ2NF90IHJlcXVlc3RJZGVudGlmaWVyLCBjb25z
dCBzdGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJDbGllbnREYXRhPiYsIGJvb2wgaGFzU2VjdXJp
dHlFcnJvcikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBjbGFpbUNvbXBsZXRlZCh1aW50NjRfdCBy
ZXF1ZXN0SWRlbnRpZmllcikgPSAwOworICAgIHZpcnR1YWwgdm9pZCBtYXRjaEFsbENvbXBsZXRl
ZCh1aW50NjRfdCByZXF1ZXN0SWRlbnRpZmllciwgY29uc3QgVmVjdG9yPFNlcnZpY2VXb3JrZXJD
bGllbnREYXRhV2l0aElkZW50aWZpZXI+JikgPSAwOwogCiAgICAgLy8gTWVzc2FnZXMgYmFjayBm
cm9tIHRoZSBTVyBob3N0IHByb2Nlc3MKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNjcmlwdENv
bnRleHRGYWlsZWRUb1N0YXJ0KGNvbnN0IHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlckpvYkRh
dGFJZGVudGlmaWVyPiYsIFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIG1l
c3NhZ2UpOwpAQCAtNjMsNiArNjYsNyBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9p
ZCB3b3JrZXJUZXJtaW5hdGVkKFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyKTsKICAgICBXRUJDT1JF
X0VYUE9SVCB2b2lkIGZpbmRDbGllbnRCeUlkZW50aWZpZXIodWludDY0X3QgY2xpZW50SWRSZXF1
ZXN0SWRlbnRpZmllciwgU2VydmljZVdvcmtlcklkZW50aWZpZXIsIFNlcnZpY2VXb3JrZXJDbGll
bnRJZGVudGlmaWVyKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGNsYWltKHVpbnQ2NF90IHJl
cXVlc3RJZGVudGlmaWVyLCBTZXJ2aWNlV29ya2VySWRlbnRpZmllcik7CisgICAgV0VCQ09SRV9F
WFBPUlQgdm9pZCBtYXRjaEFsbCh1aW50NjRfdCByZXF1ZXN0SWRlbnRpZmllciwgU2VydmljZVdv
cmtlcklkZW50aWZpZXIsIGNvbnN0IFNlcnZpY2VXb3JrZXJDbGllbnRRdWVyeU9wdGlvbnMmKTsK
IAogICAgIHN0YXRpYyBTV1NlcnZlclRvQ29udGV4dENvbm5lY3Rpb24qIGNvbm5lY3Rpb25Gb3JJ
ZGVudGlmaWVyKFNXU2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbklkZW50aWZpZXIpOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyV29y
a2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJX
b3JrZXIuY3BwCmluZGV4IDQ2NGJiYjg4MDFhZDI2ZWFlNzJlOTI4ZmFiMWZlZDYzOTYxYjk5NjEu
LjEyYTVlNzI2N2MwYzAzZTE3YWVkZWIyOGYwMWI3ZDdiY2Q2MmYyYjMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJXb3JrZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJXb3JrZXIu
Y3BwCkBAIC0xMDgsNiArMTA4LDExIEBAIHZvaWQgU1dTZXJ2ZXJXb3JrZXI6OmNsYWltKCkKICAg
ICByZXR1cm4gbV9zZXJ2ZXIuY2xhaW0oKnRoaXMpOwogfQogCit2b2lkIFNXU2VydmVyV29ya2Vy
OjptYXRjaEFsbChjb25zdCBTZXJ2aWNlV29ya2VyQ2xpZW50UXVlcnlPcHRpb25zJiBvcHRpb25z
LCBTZXJ2aWNlV29ya2VyQ2xpZW50c01hdGNoQWxsQ2FsbGJhY2smJiBjYWxsYmFjaykKK3sKKyAg
ICByZXR1cm4gbV9zZXJ2ZXIubWF0Y2hBbGwoKnRoaXMsIG9wdGlvbnMsIFdURk1vdmUoY2FsbGJh
Y2spKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKFNF
UlZJQ0VfV09SS0VSKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L3NlcnZlci9TV1NlcnZlcldvcmtlci5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L3NlcnZlci9TV1NlcnZlcldvcmtlci5oCmluZGV4IDYyMjdmOTk5MWQxM2FiMWQ4NzA2ODU3MDI4
NGM2OWI2NWU5MDhhMDAuLjJhZWE3YTQ3NDY4NTE4YWZkNWY2OTczMzIwMDBmN2Y2YzZjMzJlYjMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2
ZXJXb3JrZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NX
U2VydmVyV29ya2VyLmgKQEAgLTI3LDYgKzI3LDcgQEAKIAogI2lmIEVOQUJMRShTRVJWSUNFX1dP
UktFUikKIAorI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJDbGllbnREYXRhV2l0aElkZW50aWZpZXIu
aCIKICNpbmNsdWRlICJTZXJ2aWNlV29ya2VyRGF0YS5oIgogI2luY2x1ZGUgIlNlcnZpY2VXb3Jr
ZXJJZGVudGlmaWVyLmgiCiAjaW5jbHVkZSAiU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleS5o
IgpAQCAtMzksOCArNDAsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBzdHJ1Y3QgQ2xpZW50T3Jp
Z2luOwogY2xhc3MgU1dTZXJ2ZXI7CiBjbGFzcyBTV1NlcnZlclJlZ2lzdHJhdGlvbjsKLXN0cnVj
dCBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YTsKLXN0cnVjdCBTZXJ2aWNlV29ya2VyQ2xpZW50SWRl
bnRpZmllcjsKK3N0cnVjdCBTZXJ2aWNlV29ya2VyQ2xpZW50UXVlcnlPcHRpb25zOwogc3RydWN0
IFNlcnZpY2VXb3JrZXJKb2JEYXRhSWRlbnRpZmllcjsKIGVudW0gY2xhc3MgV29ya2VyVHlwZTsK
IApAQCAtNzgsNiArNzgsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBjb250ZXh0VGVybWluYXRlZCgp
OwogICAgIHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlckNsaWVudERhdGE+IGZpbmRDbGllbnRC
eUlkZW50aWZpZXIoU2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXIpOwogICAgIHZvaWQgY2xh
aW0oKTsKKyAgICB2b2lkIG1hdGNoQWxsKGNvbnN0IFNlcnZpY2VXb3JrZXJDbGllbnRRdWVyeU9w
dGlvbnMmLCBTZXJ2aWNlV29ya2VyQ2xpZW50c01hdGNoQWxsQ2FsbGJhY2smJik7CiAKICAgICBX
RUJDT1JFX0VYUE9SVCBzdGF0aWMgU1dTZXJ2ZXJXb3JrZXIqIGV4aXN0aW5nV29ya2VyRm9ySWRl
bnRpZmllcihTZXJ2aWNlV29ya2VySWRlbnRpZmllcik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvU3RvcmFnZVByb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlclRvQ29udGV4dENv
bm5lY3Rpb24uY3BwIGIvU291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9TZXJ2aWNlV29ya2Vy
L1dlYlNXU2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbi5jcHAKaW5kZXggMjQ2OTQ2MTU0MDQzOTkx
MzllY2ZkYTUwYzc5NjM1MjMzMTdhNjI5My4uYTcxM2Y3NGQyNzBlM2M3OTg3YzU1YWQ3ZWNhZDFm
MDA3OGNhZjBkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9TZXJ2
aWNlV29ya2VyL1dlYlNXU2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbi5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyVG9Db250ZXh0
Q29ubmVjdGlvbi5jcHAKQEAgLTg2LDYgKzg2LDExIEBAIHZvaWQgV2ViU1dTZXJ2ZXJUb0NvbnRl
eHRDb25uZWN0aW9uOjpjbGFpbUNvbXBsZXRlZCh1aW50NjRfdCByZXF1ZXN0SWRlbnRpZmllcikK
ICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbjo6Q2xhaW1D
b21wbGV0ZWQgeyByZXF1ZXN0SWRlbnRpZmllciB9KTsKIH0KIAordm9pZCBXZWJTV1NlcnZlclRv
Q29udGV4dENvbm5lY3Rpb246Om1hdGNoQWxsQ29tcGxldGVkKHVpbnQ2NF90IHJlcXVlc3RJZGVu
dGlmaWVyLCBjb25zdCBWZWN0b3I8U2VydmljZVdvcmtlckNsaWVudERhdGFXaXRoSWRlbnRpZmll
cj4mIGNsaWVudHNEYXRhKQoreworICAgIHNlbmQoTWVzc2FnZXM6OldlYlNXQ29udGV4dE1hbmFn
ZXJDb25uZWN0aW9uOjpNYXRjaEFsbENvbXBsZXRlZCB7IHJlcXVlc3RJZGVudGlmaWVyLCBjbGll
bnRzRGF0YSB9KTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICNlbmRpZiAvLyBFTkFC
TEUoU0VSVklDRV9XT1JLRVIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9j
ZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uLmggYi9Tb3Vy
Y2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJUb0NvbnRl
eHRDb25uZWN0aW9uLmgKaW5kZXggMjhhMzI0OWMyM2Y2NWU1OTM5YWE0YTYxMGFiNWI3NmJkYzg5
YzUzZi4uMDkxNmViZDc0YWVlYWM5ZjAwMjFlNTlmY2EwYjUyMWFjMDYxNDhkYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVy
VG9Db250ZXh0Q29ubmVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3Mv
U2VydmljZVdvcmtlci9XZWJTV1NlcnZlclRvQ29udGV4dENvbm5lY3Rpb24uaApAQCAtNjEsNiAr
NjEsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgdGVybWluYXRlV29ya2VyKFdlYkNvcmU6OlNlcnZp
Y2VXb3JrZXJJZGVudGlmaWVyKSBmaW5hbDsKICAgICB2b2lkIGZpbmRDbGllbnRCeUlkZW50aWZp
ZXJDb21wbGV0ZWQodWludDY0X3QgcmVxdWVzdElkZW50aWZpZXIsIGNvbnN0IHN0ZDo6b3B0aW9u
YWw8V2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVudERhdGE+JiwgYm9vbCBoYXNTZWN1cml0eUVy
cm9yKSBmaW5hbDsKICAgICB2b2lkIGNsYWltQ29tcGxldGVkKHVpbnQ2NF90IHJlcXVlc3RJZGVu
dGlmaWVyKSBmaW5hbDsKKyAgICB2b2lkIG1hdGNoQWxsQ29tcGxldGVkKHVpbnQ2NF90IHJlcXVl
c3RJZGVudGlmaWVyLCBjb25zdCBWZWN0b3I8V2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVudERh
dGFXaXRoSWRlbnRpZmllcj4mKSBmaW5hbDsKIAogICAgIFJlZjxJUEM6OkNvbm5lY3Rpb24+IG1f
aXBjQ29ubmVjdGlvbjsKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVBy
b2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlclRvQ29udGV4dENvbm5lY3Rpb24ubWVzc2Fn
ZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dT
ZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uLm1lc3NhZ2VzLmluCmluZGV4IDQ5OTE3YmE2NzI4M2E1
ZmM5OTVhOTFhODhiOWI2N2YzYjUxN2M2MTAuLmZlODg3MmVmOGI2ZWNhMjY3OGQ3Y2FlNzAwMjhl
YTgyOGYzYmVlMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU2Vy
dmljZVdvcmtlci9XZWJTV1NlcnZlclRvQ29udGV4dENvbm5lY3Rpb24ubWVzc2FnZXMuaW4KKysr
IGIvU291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVy
VG9Db250ZXh0Q29ubmVjdGlvbi5tZXNzYWdlcy5pbgpAQCAtMzMsNiArMzMsNyBAQCBtZXNzYWdl
cyAtPiBXZWJTV1NlcnZlclRvQ29udGV4dENvbm5lY3Rpb24gewogICAgIFdvcmtlclRlcm1pbmF0
ZWQoV2ViQ29yZTo6U2VydmljZVdvcmtlcklkZW50aWZpZXIgaWRlbnRpZmllcik7CiAgICAgRmlu
ZENsaWVudEJ5SWRlbnRpZmllcih1aW50NjRfdCByZXF1ZXN0SWRlbnRpZmllciwgV2ViQ29yZTo6
U2VydmljZVdvcmtlcklkZW50aWZpZXIgc2VydmljZVdvcmtlcklkZW50aWZpZXIsIHN0cnVjdCBX
ZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllciBjbGllbnRJZGVudGlmaWVyKTsK
ICAgICBDbGFpbSh1aW50NjRfdCBjbGllbnRJZFJlcXVlc3RJZGVudGlmaWVyLCBXZWJDb3JlOjpT
ZXJ2aWNlV29ya2VySWRlbnRpZmllciBzZXJ2aWNlV29ya2VySWRlbnRpZmllcik7CisgICAgTWF0
Y2hBbGwodWludDY0X3QgbWF0Y2hBbGxSZXF1ZXN0SWRlbnRpZmllciwgV2ViQ29yZTo6U2Vydmlj
ZVdvcmtlcklkZW50aWZpZXIgc2VydmljZVdvcmtlcklkZW50aWZpZXIsIHN0cnVjdCBXZWJDb3Jl
OjpTZXJ2aWNlV29ya2VyQ2xpZW50UXVlcnlPcHRpb25zIG9wdGlvbnMpOwogfQogCiAjZW5kaWYg
Ly8gRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1N0b3JhZ2UvV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uY3BwIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24u
Y3BwCmluZGV4IDExMTBjZjdmOTkyZWY3ZTc5MGIxNTRkZGVjZDg1ZTZiYmQ3MWViMDguLjFlNWMy
ZTMwZGI1MDNhYzVmMTg4MDQ5MDNhMzNmNjNiZThkNDlhYTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5h
Z2VyQ29ubmVjdGlvbi5jcHAKQEAgLTIyNiw2ICsyMjYsMTkgQEAgdm9pZCBXZWJTV0NvbnRleHRN
YW5hZ2VyQ29ubmVjdGlvbjo6Y2xhaW1Db21wbGV0ZWQodWludDY0X3QgY2xhaW1SZXF1ZXN0SWRl
bnRpZmkKICAgICAgICAgY2FsbGJhY2soKTsKIH0KIAordm9pZCBXZWJTV0NvbnRleHRNYW5hZ2Vy
Q29ubmVjdGlvbjo6bWF0Y2hBbGwoV2ViQ29yZTo6U2VydmljZVdvcmtlcklkZW50aWZpZXIgc2Vy
dmljZVdvcmtlcklkZW50aWZpZXIsIGNvbnN0IFNlcnZpY2VXb3JrZXJDbGllbnRRdWVyeU9wdGlv
bnMmIG9wdGlvbnMsIFNlcnZpY2VXb3JrZXJDbGllbnRzTWF0Y2hBbGxDYWxsYmFjayYmIGNhbGxi
YWNrKQoreworICAgIGF1dG8gcmVxdWVzdElkZW50aWZpZXIgPSArK21fcHJldmlvdXNSZXF1ZXN0
SWRlbnRpZmllcjsKKyAgICBtX21hdGNoQWxsUmVxdWVzdHMuYWRkKHJlcXVlc3RJZGVudGlmaWVy
LCBXVEZNb3ZlKGNhbGxiYWNrKSk7CisgICAgbV9jb25uZWN0aW9uVG9TdG9yYWdlUHJvY2Vzcy0+
c2VuZChNZXNzYWdlczo6V2ViU1dTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uOjpNYXRjaEFsbCB7
IHJlcXVlc3RJZGVudGlmaWVyLCBzZXJ2aWNlV29ya2VySWRlbnRpZmllciwgb3B0aW9ucyB9LCAw
KTsKK30KKwordm9pZCBXZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbjo6bWF0Y2hBbGxDb21w
bGV0ZWQodWludDY0X3QgcmVxdWVzdElkZW50aWZpZXIsIFZlY3RvcjxTZXJ2aWNlV29ya2VyQ2xp
ZW50RGF0YVdpdGhJZGVudGlmaWVyPiYmIGNsaWVudHNEYXRhKQoreworICAgIGlmIChhdXRvIGNh
bGxiYWNrID0gbV9tYXRjaEFsbFJlcXVlc3RzLnRha2UocmVxdWVzdElkZW50aWZpZXIpKQorICAg
ICAgICBjYWxsYmFjayhXVEZNb3ZlKGNsaWVudHNEYXRhKSk7Cit9CisKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShTRVJWSUNFX1dPUktFUikKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4dE1hbmFnZXJDb25u
ZWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRN
YW5hZ2VyQ29ubmVjdGlvbi5oCmluZGV4IDMwMTYxMTAxMzFkOTA4ZTAxNWQ1MjFlMTg3OTllMTg2
ZjJkN2ZjNjcuLmUzZmVmM2I4ZTI3MzY2ZmIwNDBiYTRhZmE4NDk3ZDhiNDM1Mjg1YWQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4dE1hbmFn
ZXJDb25uZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2Vi
U1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uaApAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUg
IkNvbm5lY3Rpb24uaCIKICNpbmNsdWRlICJNZXNzYWdlUmVjZWl2ZXIuaCIKICNpbmNsdWRlIDxX
ZWJDb3JlL1NXQ29udGV4dE1hbmFnZXIuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1NlcnZpY2VXb3Jr
ZXJDbGllbnREYXRhV2l0aElkZW50aWZpZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1NlcnZpY2VX
b3JrZXJUeXBlcy5oPgogCiBuYW1lc3BhY2UgSVBDIHsKQEAgLTYzLDYgKzY0LDcgQEAgcHJpdmF0
ZToKICAgICB2b2lkIHdvcmtlclRlcm1pbmF0ZWQoV2ViQ29yZTo6U2VydmljZVdvcmtlcklkZW50
aWZpZXIpIGZpbmFsOwogICAgIHZvaWQgZmluZENsaWVudEJ5SWRlbnRpZmllcihXZWJDb3JlOjpT
ZXJ2aWNlV29ya2VySWRlbnRpZmllciwgV2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVudElkZW50
aWZpZXIsIEZpbmRDbGllbnRCeUlkZW50aWZpZXJDYWxsYmFjayYmKSBmaW5hbDsKICAgICB2b2lk
IGNsYWltKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCBXVEY6OkNvbXBsZXRpb25I
YW5kbGVyPHZvaWQoKT4mJikgZmluYWw7CisgICAgdm9pZCBtYXRjaEFsbChXZWJDb3JlOjpTZXJ2
aWNlV29ya2VySWRlbnRpZmllciwgY29uc3QgV2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVudFF1
ZXJ5T3B0aW9ucyYsIFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDbGllbnRzTWF0Y2hBbGxDYWxsYmFj
ayYmKSBmaW5hbDsKIAogICAgIC8vIElQQyBtZXNzYWdlcy4KICAgICB2b2lkIHNlcnZpY2VXb3Jr
ZXJTdGFydGVkV2l0aE1lc3NhZ2Uoc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpTZXJ2aWNlV29ya2Vy
Sm9iRGF0YUlkZW50aWZpZXI+LCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRlbnRpZmllciwgY29u
c3QgU3RyaW5nJiBleGNlcHRpb25NZXNzYWdlKSBmaW5hbDsKQEAgLTc0LDYgKzc2LDcgQEAgcHJp
dmF0ZToKICAgICB2b2lkIHRlcm1pbmF0ZVdvcmtlcihXZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRl
bnRpZmllcik7CiAgICAgdm9pZCBmaW5kQ2xpZW50QnlJZGVudGlmaWVyQ29tcGxldGVkKHVpbnQ2
NF90IHJlcXVlc3RJZGVudGlmaWVyLCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlNlcnZpY2VXb3Jr
ZXJDbGllbnREYXRhPiYmLCBib29sIGhhc1NlY3VyaXR5RXJyb3IpOwogICAgIHZvaWQgY2xhaW1D
b21wbGV0ZWQodWludDY0X3QgY2xhaW1SZXF1ZXN0SWRlbnRpZmllcik7CisgICAgdm9pZCBtYXRj
aEFsbENvbXBsZXRlZCh1aW50NjRfdCBtYXRjaEFsbFJlcXVlc3RJZGVudGlmaWVyLCBWZWN0b3I8
V2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVudERhdGFXaXRoSWRlbnRpZmllcj4mJik7CiAKICAg
ICBSZWY8SVBDOjpDb25uZWN0aW9uPiBtX2Nvbm5lY3Rpb25Ub1N0b3JhZ2VQcm9jZXNzOwogICAg
IHVpbnQ2NF90IG1fcGFnZUlEIHsgMCB9OwpAQCAtODEsNiArODQsNyBAQCBwcml2YXRlOgogCiAg
ICAgSGFzaE1hcDx1aW50NjRfdCwgRmluZENsaWVudEJ5SWRlbnRpZmllckNhbGxiYWNrPiBtX2Zp
bmRDbGllbnRCeUlkZW50aWZpZXJSZXF1ZXN0czsKICAgICBIYXNoTWFwPHVpbnQ2NF90LCBXVEY6
OkNvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4+IG1fY2xhaW1SZXF1ZXN0czsKKyAgICBIYXNoTWFw
PHVpbnQ2NF90LCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ2xpZW50c01hdGNoQWxsQ2FsbGJhY2s+
IG1fbWF0Y2hBbGxSZXF1ZXN0czsKICAgICB1aW50NjRfdCBtX3ByZXZpb3VzUmVxdWVzdElkZW50
aWZpZXIgeyAwIH07CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
U3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5tZXNzYWdlcy5pbiBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9u
Lm1lc3NhZ2VzLmluCmluZGV4IDIxYTA0NjE1ODY3MmZkMTRiOGU2ZTNhNDY1NTMzYmEyMzZlNDU0
NTguLmVjMjIxMTlhNjk3MDY2ODlkNGU0MWY1MDM4NGZjNDZjZTk4MjFjYTcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4dE1hbmFnZXJDb25u
ZWN0aW9uLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdl
L1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLm1lc3NhZ2VzLmluCkBAIC0zMCw3ICszMCw4
IEBAIG1lc3NhZ2VzIC0+IFdlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uIHsKICAgICBGaXJl
QWN0aXZhdGVFdmVudChXZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRlbnRpZmllciBpZGVudGlmaWVy
KQogICAgIFRlcm1pbmF0ZVdvcmtlcihXZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRlbnRpZmllciBp
ZGVudGlmaWVyKQogICAgIEZpbmRDbGllbnRCeUlkZW50aWZpZXJDb21wbGV0ZWQodWludDY0X3Qg
Y2xpZW50SWRSZXF1ZXN0SWRlbnRpZmllciwgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpTZXJ2aWNl
V29ya2VyQ2xpZW50RGF0YT4gZGF0YSwgYm9vbCBoYXNTZWN1cml0eUVycm9yKQotICAgIENsYWlt
Q29tcGxldGVkKHVpbnQ2NF90IGNsaWVudElkUmVxdWVzdElkZW50aWZpZXIpCisgICAgQ2xhaW1D
b21wbGV0ZWQodWludDY0X3QgY2xhaW1SZXF1ZXN0SWRlbnRpZmllcikKKyAgICBNYXRjaEFsbENv
bXBsZXRlZCh1aW50NjRfdCBtYXRjaEFsbFJlcXVlc3RJZGVudGlmaWVyLCBWZWN0b3I8V2ViQ29y
ZTo6U2VydmljZVdvcmtlckNsaWVudERhdGFXaXRoSWRlbnRpZmllcj4gY2xpZW50c0RhdGEpCiB9
CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCmluZGV4IDk1Yzc0ZWZiMTQxYTI1NjM4Y2RiMDA0NmZkODAwMjc5Yjc5MTk3
YTkuLmU3NGQxM2I0YzBmMDE3ZWEwNDZiMDNmMTgzNWFmZDQzMzQ3NjZlMWEgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEs
NSArMSwxOSBAQAogMjAxNy0xMi0wMSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+
CiAKKyAgICAgICAgSW1wbGVtZW50IGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9TZXJ2aWNlV29ya2Vy
LyNjbGllbnRzLWdldGFsbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTgwMjc2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBodHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9zZXJ2aWNld29ya2VyY2xpZW50
cy1tYXRjaEFsbC13b3JrZXIuanM6IEFkZGVkLgorICAgICAgICAobWF0Y2hBbGxQcm9taXNlMS5z
ZWxmLmNsaWVudHMubWF0Y2hBbGwudGhlbik6CisgICAgICAgICh0aGVuKToKKyAgICAgICAgKGFz
eW5jLmRvVGVzdEFmdGVyTWVzc2FnZSk6CisgICAgICAgICogaHR0cC90ZXN0cy93b3JrZXJzL3Nl
cnZpY2Uvc2VydmljZXdvcmtlcmNsaWVudHMtbWF0Y2hBbGwuaHR0cHMtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9zZXJ2aWNld29ya2Vy
Y2xpZW50cy1tYXRjaEFsbC5odHRwcy5odG1sOiBBZGRlZC4KKworMjAxNy0xMi0wMSAgWW91ZW5u
IEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKICAgICAgICAgSW1wbGVtZW50IGh0dHBzOi8v
dzNjLmdpdGh1Yi5pby9TZXJ2aWNlV29ya2VyLyNjbGllbnRzLWNsYWltCiAgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODAyNjEKIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2Uvc2VydmljZXdvcmtlcmNsaWVu
dHMtbWF0Y2hBbGwtd29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJzL3Nl
cnZpY2Uvc2VydmljZXdvcmtlcmNsaWVudHMtbWF0Y2hBbGwtd29ya2VyLmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmJhZDY5OTUzMzRmMTNjZjAyZjliMDg0YTgwODk4ZjJiNTU5ODFmYTkKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9zZXJ2aWNld29ya2Vy
Y2xpZW50cy1tYXRjaEFsbC13b3JrZXIuanMKQEAgLTAsMCArMSw0MSBAQAordmFyIG1hdGNoQWxs
UHJvbWlzZTEgPSBzZWxmLmNsaWVudHMubWF0Y2hBbGwoKS50aGVuKChjbGllbnRzKSA9PiB7Cisg
ICAgcmV0dXJuIGNsaWVudHMubGVuZ3RoID09PSAwID8gIlBBU1MiIDogIkZBSUw6IGV4cGVjdGVk
IG5vIG1hdGNoZWQgY2xpZW50LCBnb3QgIiArIGNsaWVudHMubGVuZ3RoOworfSwgKGUpID0+IHsK
KyAgICByZXR1cm4gIkZBSUw6IG1hdGNoQWxsIDEgcmVqZWN0ZWQgd2l0aCAiICsgZTsKK30pOwor
CisKK3ZhciBtYXRjaGVkQ2xpZW50czsKK21hdGNoQWxsUHJvbWlzZTIgPSBzZWxmLmNsaWVudHMu
bWF0Y2hBbGwoeyBpbmNsdWRlVW5jb250cm9sbGVkIDogdHJ1ZSB9KS50aGVuKChjKSA9PiB7Cisg
ICAgbWF0Y2hlZENsaWVudHMgPSBjOworICAgIHJldHVybiBtYXRjaGVkQ2xpZW50cy5sZW5ndGgg
PT09IDEgPyAiUEFTUyIgOiAiRkFJTDogZXhwZWN0ZWQgb25lIG1hdGNoZWQgY2xpZW50LCBnb3Qg
IiArIG1hdGNoZWRDbGllbnRzLmxlbmd0aDsKK30sIChlKSA9PiB7CisgICAgcmV0dXJuICJGQUlM
OiBtYXRjaEFsbCAyIHJlamVjdGVkIHdpdGggIiArIGU7Cit9KTsKKworYXN5bmMgZnVuY3Rpb24g
ZG9UZXN0QWZ0ZXJNZXNzYWdlKGV2ZW50KQoreworICB0cnkgeworICAgIGlmIChldmVudC5kYXRh
ICE9PSAic3RhcnQiKSB7CisgICAgICAgIGV2ZW50LnNvdXJjZS5wb3N0TWVzc2FnZSgiRkFJTDog
cmVjZWl2ZWQgdW5leHBlY3RlZCBtZXNzYWdlIGZyb20gY2xpZW50Iik7CisgICAgICAgIHJldHVy
bjsKKyAgICB9CisKKyAgICB2YXIgcmVzdWx0ID0gYXdhaXQgbWF0Y2hBbGxQcm9taXNlMTsKKyAg
ICBpZiAocmVzdWx0ICE9PSAiUEFTUyIpIHsKKyAgICAgICAgZXZlbnQuc291cmNlLnBvc3RNZXNz
YWdlKHJlc3VsdCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICB2YXIgcmVzdWx0ID0g
YXdhaXQgbWF0Y2hBbGxQcm9taXNlMjsKKyAgICBpZiAocmVzdWx0ICE9PSAiUEFTUyIpIHsKKyAg
ICAgICAgZXZlbnQuc291cmNlLnBvc3RNZXNzYWdlKHJlc3VsdCk7CisgICAgICAgIHJldHVybjsK
KyAgICB9CisgICAgZXZlbnQuc291cmNlLnBvc3RNZXNzYWdlKCJQQVNTIik7CisgIH0gY2F0Y2gg
KGUpIHsKKyAgICBldmVudC5zb3VyY2UucG9zdE1lc3NhZ2UoIkZBSUw6IHJlY2VpdmVkIGV4Y2Vw
dGlvbiAiICsgZSk7CisgIH0KK30KKworc2VsZi5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwg
ZG9UZXN0QWZ0ZXJNZXNzYWdlKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
d29ya2Vycy9zZXJ2aWNlL3NlcnZpY2V3b3JrZXJjbGllbnRzLW1hdGNoQWxsLmh0dHBzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL3NlcnZpY2V3
b3JrZXJjbGllbnRzLW1hdGNoQWxsLmh0dHBzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41OTI4
NDI1ODhjMjExYzhjYmE1ZjA4MDk3ZDljMWQ4OGIxYTk3MmIxCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2Uvc2VydmljZXdvcmtlcmNsaWVu
dHMtbWF0Y2hBbGwuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorCitQQVNTIFNl
dHVwIHdvcmtlciAKK1BBU1MgVGVzdCBzZWxmLmNsaWVudHMubWF0Y2hBbGwgCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL3NlcnZpY2V3b3JrZXJj
bGllbnRzLW1hdGNoQWxsLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dvcmtl
cnMvc2VydmljZS9zZXJ2aWNld29ya2VyY2xpZW50cy1tYXRjaEFsbC5odHRwcy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjlhZjRkOTg2NTQ4NDU3YmRhNDllZjc0ZmNlNTk4M2ZjMTQ1YTdhYWEKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9zZXJ2aWNl
d29ya2VyY2xpZW50cy1tYXRjaEFsbC5odHRwcy5odG1sCkBAIC0wLDAgKzEsNDIgQEAKKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+Cit2YXIgc2NvcGUgPSAiL3dvcmtlcnMvc2Vy
dmljZS9zZXJ2aWNld29ya2VyY2xpZW50cy1jbGFpbS5odHRwcy5odG1sIjsKK3ZhciBhY3RpdmVX
b3JrZXI7CisKK3Byb21pc2VfdGVzdChhc3luYyAodGVzdCkgPT4geworICAgIHZhciByZWdpc3Ry
YXRpb24gPSBhd2FpdCBuYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5nZXRSZWdpc3RyYXRpb24oc2Nv
cGUpOworICAgIGlmIChyZWdpc3RyYXRpb24gJiYgcmVnaXN0cmF0aW9uLnNjb3BlID09PSBzY29w
ZSkKKyAgICAgICAgYXdhaXQgcmVnaXN0cmF0aW9uLnVucmVnaXN0ZXIoKTsKKworICAgIHZhciBy
ZWdpc3RyYXRpb24gPSBhd2FpdCBuYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5yZWdpc3Rlcigic2Vy
dmljZXdvcmtlcmNsaWVudHMtbWF0Y2hBbGwtd29ya2VyLmpzIiwgeyBzY29wZSA6IHNjb3BlIH0p
OworICAgIGFjdGl2ZVdvcmtlciA9IHJlZ2lzdHJhdGlvbi5hY3RpdmU7CisgICAgaWYgKGFjdGl2
ZVdvcmtlcikKKyAgICAgICAgcmV0dXJuOworICAgIGFjdGl2ZVdvcmtlciA9IHJlZ2lzdHJhdGlv
bi5pbnN0YWxsaW5nOworICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICAg
ICAgYWN0aXZlV29ya2VyLmFkZEV2ZW50TGlzdGVuZXIoJ3N0YXRlY2hhbmdlJywgKCkgPT4gewor
ICAgICAgICAgICAgaWYgKGFjdGl2ZVdvcmtlci5zdGF0ZSA9PT0gImFjdGl2YXRlZCIpCisgICAg
ICAgICAgICAgICAgcmVzb2x2ZSgpOworICAgICAgICB9KTsKKyAgICB9KTsKK30sICJTZXR1cCB3
b3JrZXIiKTsKKworcHJvbWlzZV90ZXN0KGFzeW5jICh0ZXN0KSA9PiB7CisgICAgdmFyIHByb21p
c2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7CisgICAgICAgIG5hdmlnYXRv
ci5zZXJ2aWNlV29ya2VyLmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLCB0ZXN0LnN0ZXBfZnVu
YygoZXZlbnQpID0+IHsKKyAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoZXZlbnQuZGF0YSwgIlBB
U1MiKTsKKyAgICAgICAgICAgIHJlc29sdmUoKTsKKyAgICAgICAgfSkpOworICAgIH0pOworCisg
ICAgYWN0aXZlV29ya2VyLnBvc3RNZXNzYWdlKCJzdGFydCIpOworICAgIGF3YWl0IHByb21pc2U7
Cit9LCAiVGVzdCBzZWxmLmNsaWVudHMubWF0Y2hBbGwiKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>328194</attachid>
            <date>2017-12-01 17:43:59 -0800</date>
            <delta_ts>2017-12-02 11:41:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-180276-20171201174358.patch</filename>
            <type>text/plain</type>
            <size>51274</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI1NDE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzJlNjA2OGQ0NjA5MDgy
NTg0M2ZmNWQzNjdjMTg5Zjg5NmNjZWMxMy4uY2Q5NDI4NTZiYTEyMmI0M2YyZjFjNzA0YzliZWQz
ZjQ2NjE4NDVmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDUzIEBACiAyMDE3LTEyLTAxICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAorICAgICAgICBJbXBsZW1lbnQgaHR0cHM6
Ly93M2MuZ2l0aHViLmlvL1NlcnZpY2VXb3JrZXIvI2NsaWVudHMtZ2V0YWxsCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODAyNzYKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBodHRwL3Rlc3RzL3dv
cmtlcnMvc2VydmljZS9zZXJ2aWNld29ya2VyY2xpZW50cy1tYXRjaEFsbC5odHRwcy5odG1sCisK
KyAgICAgICAgTW92ZSBDbGllbnRzIFF1ZXJ5T3B0aW9ucyB0byBpdHMgb3duIGNsYXNzIHNpbmNl
IGl0IGlzIHVzZWQgYnkgdmFyaW91cyBwYXJ0aWVzLgorICAgICAgICBBZGQgZW5jb2Rlci9kZWNv
ZGVyIHJvdXRpbmVzLgorCisgICAgICAgIEFkZCBhIFNlcnZpZVdvcmtlckNsaWVudEluZm9ybWF0
aW9uIHdoaWNoIHJlcGxhY2VzIFNXU2VydmVyOjpDbGllbnRJbmZvcm1hdGlvbiBzdHJ1Y3R1cmUu
CisgICAgICAgIFRoaXMgaXMgd2hhdCBpcyBzZW50IGJhY2sgYXMgYSByZXN1bHQgdG8gbWF0Y2hB
bGwgcmVxdWVzdHMuCisgICAgICAgIEFkZCBlbmNvZGVyL2RlY29kZXIgcm91dGluZXMuCisKKyAg
ICAgICAgSW1wbGVtZW50IG1hdGNoQWxsIGJ5IGhvcHBpbmcgdG8gdGhlIG1haW4gdGhyZWFkLCBt
YWtpbmcgSVBDIHRvIHRoZSBzdG9yYWdlIHByb2Nlc3MuCisgICAgICAgIFNXU2VydmVyIGluIHN0
b3JhZ2UgcHJvY2VzcyB0aGVuIGl0ZXJhdGVzIHRocm91Z2ggdGhlIHJlbGV2YW50IHNlcnZpY2Ug
d29ya2VycyBhbmQgZG9lcyBzb21lIGZpbHRlcmluZy4KKyAgICAgICAgQWRkaXRpb25hbCBmaWx0
ZXJpbmcgYW5kIGluZm9ybWF0aW9uIHNob3VsZCBiZSBnYXRoZXJlZCBpbiBmdXR1cmUgcGF0Y2hl
cyB0byBmdWxseSBpbXBsZW1lbnQgdGhlIGFsZ29yaXRobS4KKworICAgICAgICBBZGQgdG8gU1dT
ZXJ2ZXIgYSBIYXNoTWFwIHRvIGVhc2lseSBpZGVudGlmeSBieSB3aGljaCBzZXJ2aWNlIHdvcmtl
ciBhIGNsaWVudCBpcyBjb250cm9sbGVkLCBpZiBhbnkuCisgICAgICAgIFRoaXMgbWFwIGlzIHVw
ZGF0ZWQgYXQgdGhlIHNhbWUgdGltZSByZWdpc3RyYXRpb25zIGFyZSB1cGRhdGVkLgorCisgICAg
ICAgIG1hdGNoQWxsIGlzIGdpdmVuIGEgY2FsbGJhY2sgYXMgaW4gdGhlIGZ1dHVyZSwgd2luZG93
IGNsaWVudCBpbmZvcm1hdGlvbiB3aWxsIGJlIHJldHJpZXZlZCBhc3luY2hyb25vdXNseS4KKwor
ICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiB3
b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNsaWVudEluZm9ybWF0aW9uLmg6IEFkZGVkLgor
ICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVudEluZm9ybWF0aW9uOjppc29sYXRl
ZENvcHkgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVudEluZm9y
bWF0aW9uOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlckNs
aWVudEluZm9ybWF0aW9uOjpkZWNvZGUpOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2
aWNlV29ya2VyQ2xpZW50UXVlcnlPcHRpb25zLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6
U2VydmljZVdvcmtlckNsaWVudFF1ZXJ5T3B0aW9uczo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDbGllbnRRdWVyeU9wdGlvbnM6OmRlY29kZSk6CisgICAg
ICAgICogd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnRzLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDbGllbnRzOjptYXRjaEFsbCk6CisgICAgICAgICogd29y
a2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnRzLmg6CisgICAgICAgICogd29ya2Vycy9z
ZXJ2aWNlL2NvbnRleHQvU1dDb250ZXh0TWFuYWdlci5oOgorICAgICAgICAqIHdvcmtlcnMvc2Vy
dmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1dTZXJ2ZXI6Om1h
dGNoQWxsKToKKyAgICAgICAgKFdlYkNvcmU6OlNXU2VydmVyOjpyZWdpc3RlclNlcnZpY2VXb3Jr
ZXJDbGllbnQpOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuaDoK
KyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyVG9Db250ZXh0Q29ubmVj
dGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTV1NlcnZlclRvQ29udGV4dENvbm5lY3Rpb246
Om1hdGNoQWxsKToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyVG9D
b250ZXh0Q29ubmVjdGlvbi5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dT
ZXJ2ZXJXb3JrZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1dTZXJ2ZXJXb3JrZXI6Om1hdGNo
QWxsKToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyV29ya2VyLmg6
CisKKzIwMTctMTItMDEgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCiAgICAg
ICAgIEltcGxlbWVudCBodHRwczovL3czYy5naXRodWIuaW8vU2VydmljZVdvcmtlci8jY2xpZW50
cy1nZXQKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4
MDE2NwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCmluZGV4IDY4NjIxNWM4YThhNzhjMjE0MDFkNjU3ODg5NjJlZDY1NmRjMTcy
ZmEuLjRmZmMxYjllMmU1NDYxZTIxMGRmYzgxZTk4ZTM0NzhjNjk0NjY2MDIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBA
IC0xLDUgKzEsMjQgQEAKIDIwMTctMTItMDEgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUu
Y29tPgogCisgICAgICAgIEltcGxlbWVudCBodHRwczovL3czYy5naXRodWIuaW8vU2VydmljZVdv
cmtlci8jY2xpZW50cy1nZXRhbGwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE4MDI3NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEFkZCBJUEMgcGx1bWJlcnkgZm9yIGNsaWVudHMubWF0Y2hBbGwgYmV0d2Vl
biBTZXJ2aWNlV29ya2VyIHByb2Nlc3MgYW5kIFN0b3JhZ2UgcHJvY2Vzcy4KKworICAgICAgICAq
IFN0b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJUb0NvbnRleHRDb25uZWN0
aW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViU1dTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9u
OjptYXRjaEFsbENvbXBsZXRlZCk6CisgICAgICAgICogU3RvcmFnZVByb2Nlc3MvU2VydmljZVdv
cmtlci9XZWJTV1NlcnZlclRvQ29udGV4dENvbm5lY3Rpb24uaDoKKyAgICAgICAgKiBTdG9yYWdl
UHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbi5tZXNz
YWdlcy5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDb250ZXh0TWFuYWdl
ckNvbm5lY3Rpb24uY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJTV0NvbnRleHRNYW5hZ2VyQ29u
bmVjdGlvbjo6bWF0Y2hBbGwpOgorICAgICAgICAoV2ViS2l0OjpXZWJTV0NvbnRleHRNYW5hZ2Vy
Q29ubmVjdGlvbjo6bWF0Y2hBbGxDb21wbGV0ZWQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvU3Rv
cmFnZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5oOgorICAgICAgICAqIFdlYlByb2Nl
c3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5tZXNzYWdlcy5pbjoKKwor
MjAxNy0xMi0wMSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKICAgICAgICAg
SW1wbGVtZW50IGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9TZXJ2aWNlV29ya2VyLyNjbGllbnRzLWdl
dAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgwMTY3
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agppbmRleCA3YjNjMDk5Nzg0MDEyMjlkMWExZmFhZDAwODBlNGI4MDU2OGUxM2FkLi5lMDA2MWUx
M2E1OTczZGM5ZDlmZDNiYjM3YWE3ODdkNjc0MWJkNzdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC05ODksNiArOTg5LDcgQEAK
IAkJNDE1MDgwMzYxRTNGMDBBRDAwNTFENzVEIC8qIExpYldlYlJUQ0F1ZGlvTW9kdWxlLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxNTA4MDM0MUUz
RjAwQUEwMDUxRDc1RCAvKiBMaWJXZWJSVENBdWRpb01vZHVsZS5jcHAgKi87IH07CiAJCTQxNTA4
MDM3MUUzRjAwQjAwMDUxRDc1RCAvKiBMaWJXZWJSVENBdWRpb01vZHVsZS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE1MDgwMzUxRTNGMDBBQTAwNTFE
NzVEIC8qIExpYldlYlJUQ0F1ZGlvTW9kdWxlLmggKi87IH07CiAJCTQxNTBGOUYxMTJCNkUwRTcw
MDA4Qzg2MCAvKiBTbGlkZXJUaHVtYkVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxNTBGOUVGMTJCNkUwRTcwMDA4Qzg2MCAvKiBTbGlkZXJU
aHVtYkVsZW1lbnQuaCAqLzsgfTsKKwkJNDE1MTlDQjgxRkQxRjAyRTAwN0Y2MjNDIC8qIFNlcnZp
Y2VXb3JrZXJDbGllbnRRdWVyeU9wdGlvbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQxM0ZDNENEMUZEMUREOEMwMDU0MUM0QiAvKiBTZXJ2aWNlV29y
a2VyQ2xpZW50UXVlcnlPcHRpb25zLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJNDE1MUU1QkIxRkJBNEM3QTAwRTQ3RTJEIC8qIFNXT3JpZ2luU3Rv
cmUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxNTFF
NUI3MUZCQTRDNzUwMEU0N0UyRCAvKiBTV09yaWdpblN0b3JlLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDE1NzQ3NDcxRTM4NjlBNDAwRTkxNEQ4
IC8qIExpYldlYlJUQ01hY3Jvcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDE1NzQ3NDMxRTM4Njk5RTAwRTkxNEQ4IC8qIExpYldlYlJUQ01hY3Jvcy5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQxNTc0
NzQ4MUUzODY5QTcwMEU5MTREOCAvKiBMaWJXZWJSVENQcm92aWRlci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE1NzQ3NDQxRTM4Njk5RTAwRTkxNEQ4
IC8qIExpYldlYlJUQ1Byb3ZpZGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKQEAgLTEwMzUsNiArMTAzNiw3IEBACiAJCTQxQjJBNjI2MUVGMUJGNkQw
MDJCOUQ3QSAvKiBXZWJBdWRpb1NvdXJjZVByb3ZpZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUIyQTYyNTFFRjFCRjYwMDAyQjlEN0EgLyogV2Vi
QXVkaW9Tb3VyY2VQcm92aWRlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCTQxQkY3MDBDMEZFODZGNDkwMDVFOERFQyAvKiBNZXNzYWdlUG9ydENo
YW5uZWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQx
QkY3MDBBMEZFODZGNDkwMDVFOERFQyAvKiBNZXNzYWdlUG9ydENoYW5uZWwuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0MUJGNzAxMDBGRTg2RjYx
MDA1RThERUMgLyogUGxhdGZvcm1NZXNzYWdlUG9ydENoYW5uZWwuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxQkY3MDBFMEZFODZGNjEwMDVFOERFQyAv
KiBQbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5lbC5oICovOyB9OworCQk0MUM2OEFGNTFGRDIyNzkw
MDBBQUEzQjMgLyogU2VydmljZVdvcmtlckNsaWVudEluZm9ybWF0aW9uLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUM2OEFGMzFGRDIxRThFMDBBQUEz
QjMgLyogU2VydmljZVdvcmtlckNsaWVudEluZm9ybWF0aW9uLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDFDNzYwQjEwRURFMDNEMzAwQzE2NTVG
IC8qIFNjcmlwdFN0YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA0MUM3NjBCMDBFREUwM0QzMDBDMTY1NUYgLyogU2NyaXB0U3RhdGUuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0MUNBRDcxRTFFQTA5
MEExMDAxNzgxNjQgLyogVmlkZW9Ub29sQm94RW5jb2RlckZhY3RvcnkuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFDQUQ3MUMxRUEwOTA1NzAwMTc4
MTY0IC8qIFZpZGVvVG9vbEJveEVuY29kZXJGYWN0b3J5LmNwcCAqLzsgfTsKIAkJNDFEMDE1Q0Ew
RjRCNUM3MTAwNEE2NjJGIC8qIENvbnRlbnRUeXBlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUQwMTVDODBGNEI1QzcxMDA0QTY2MkYgLyogQ29udGVu
dFR5cGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpA
QCAtNjkyNSw2ICs2OTI3LDcgQEAKIAkJNDEzRTAwNzcxREIwRTRERTAwMjM0MUQyIC8qIE1lbW9y
eVJlbGVhc2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTWVtb3J5
UmVsZWFzZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxM0UwMDc4MURCMEU0
REUwMDIzNDFEMiAvKiBNZW1vcnlSZWxlYXNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IE1lbW9yeVJlbGVhc2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDEz
RTAwN0IxREIwRTcwNzAwMjM0MUQyIC8qIE1lbW9yeVJlbGVhc2VDb2NvYS5tbSAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IE1lbW9yeVJlbGVhc2VDb2NvYS5tbTsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDEzRkM0Q0QxRkQxREQ4QzAwNTQxQzRCIC8qIFNl
cnZpY2VXb3JrZXJDbGllbnRRdWVyeU9wdGlvbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gU2VydmljZVdvcmtlckNsaWVudFF1ZXJ5T3B0aW9ucy5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk0MTQ3RTJCMjFDODgzMzdGMDBBN0U3MTUgLyogRmV0Y2hCb2R5T3du
ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRmV0Y2hCb2R5T3duZXIuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE0N0UyQjMxQzg5OTEyNjAwQTdFNzE1IC8q
IEZldGNoQm9keU93bmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEZldGNoQm9keU93bmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE0N0Uy
QjQxQzg5OTEyNjAwQTdFNzE1IC8qIEZldGNoTG9hZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IEZldGNoTG9hZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKQEAgLTcwMzMsNiArNzAzNiw3IEBACiAJCTQxQkY3MDBBMEZFODZGNDkwMDVFOERFQyAv
KiBNZXNzYWdlUG9ydENoYW5uZWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
TWVzc2FnZVBvcnRDaGFubmVsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxQkY3
MDBEMEZFODZGNjEwMDVFOERFQyAvKiBQbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5lbC5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBQbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hh
bm5lbC5jcHA7IHBhdGggPSBkZWZhdWx0L1BsYXRmb3JtTWVzc2FnZVBvcnRDaGFubmVsLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDFCRjcwMEUwRkU4NkY2MTAwNUU4REVDIC8q
IFBsYXRmb3JtTWVzc2FnZVBvcnRDaGFubmVsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
bmFtZSA9IFBsYXRmb3JtTWVzc2FnZVBvcnRDaGFubmVsLmg7IHBhdGggPSBkZWZhdWx0L1BsYXRm
b3JtTWVzc2FnZVBvcnRDaGFubmVsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQx
QzY4QUYzMUZEMjFFOEUwMEFBQTNCMyAvKiBTZXJ2aWNlV29ya2VyQ2xpZW50SW5mb3JtYXRpb24u
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2VydmljZVdvcmtlckNsaWVudElu
Zm9ybWF0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxQzc2MEIwMEVERTAz
RDMwMEMxNjU1RiAvKiBTY3JpcHRTdGF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBTY3JpcHRTdGF0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MUM3RTEw
NTFFNkE1NDM2MDAyN0I0REUgLyogQ2FudmFzQ2FwdHVyZU1lZGlhU3RyZWFtVHJhY2suY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ2FudmFzQ2FwdHVyZU1lZGlhU3Ry
ZWFtVHJhY2suY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MUM3RTEwNjFFNkE1
NDM2MDAyN0I0REUgLyogQ2FudmFzQ2FwdHVyZU1lZGlhU3RyZWFtVHJhY2suaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2FudmFzQ2FwdHVyZU1lZGlhU3RyZWFtVHJhY2suaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE3Mjg2LDYgKzE3MjkwLDggQEAKIAkJCQk4
Mzc5MzYzQzFGQkJCMEE0MDBDODAyM0MgLyogU2VydmljZVdvcmtlckNsaWVudERhdGEuY3BwICov
LAogCQkJCTgzNzkzNjNFMUZCQkIwQTUwMEM4MDIzQyAvKiBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0
YS5oICovLAogCQkJCTgzN0Q0NjI1MUZBMkE4QzUwMDU0RTFGQSAvKiBTZXJ2aWNlV29ya2VyQ2xp
ZW50SWRlbnRpZmllci5oICovLAorCQkJCTQxQzY4QUYzMUZEMjFFOEUwMEFBQTNCMyAvKiBTZXJ2
aWNlV29ya2VyQ2xpZW50SW5mb3JtYXRpb24uaCAqLywKKwkJCQk0MTNGQzRDRDFGRDFERDhDMDA1
NDFDNEIgLyogU2VydmljZVdvcmtlckNsaWVudFF1ZXJ5T3B0aW9ucy5oICovLAogCQkJCTQ2RUYx
NDIxMUY5N0I3QkEwMEMyQTUyNCAvKiBTZXJ2aWNlV29ya2VyQ2xpZW50cy5jcHAgKi8sCiAJCQkJ
NDZFRjE0MjIxRjk3QjdCQTAwQzJBNTI0IC8qIFNlcnZpY2VXb3JrZXJDbGllbnRzLmggKi8sCiAJ
CQkJNDZFRjE0MjMxRjk3QjdCQTAwQzJBNTI0IC8qIFNlcnZpY2VXb3JrZXJDbGllbnRzLmlkbCAq
LywKQEAgLTI4OTc1LDYgKzI4OTgxLDggQEAKIAkJCQk0NkVGMTQyRDFGOTdCN0Q4MDBDMkE1MjQg
LyogU2VydmljZVdvcmtlckNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODM3OTM2M0YxRkJC
QjBCNDAwQzgwMjNDIC8qIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhLmggaW4gSGVhZGVycyAqLywK
IAkJCQk4MzdENDYyNzFGQTJBOENFMDA1NEUxRkEgLyogU2VydmljZVdvcmtlckNsaWVudElkZW50
aWZpZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTQxQzY4QUY1MUZEMjI3OTAwMEFBQTNCMyAvKiBT
ZXJ2aWNlV29ya2VyQ2xpZW50SW5mb3JtYXRpb24uaCBpbiBIZWFkZXJzICovLAorCQkJCTQxNTE5
Q0I4MUZEMUYwMkUwMDdGNjIzQyAvKiBTZXJ2aWNlV29ya2VyQ2xpZW50UXVlcnlPcHRpb25zLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk0NkVGMTQyQzFGOTdCN0Q4MDBDMkE1MjQgLyogU2VydmljZVdv
cmtlckNsaWVudHMuaCBpbiBIZWFkZXJzICovLAogCQkJCTgzNjlGREZDMUZBMTAyRTMwMEMxRkYx
RiAvKiBTZXJ2aWNlV29ya2VyQ2xpZW50VHlwZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTFGMTc1
NUYxRjNFQkM4MzAwQzc0OTUwIC8qIFNlcnZpY2VXb3JrZXJDb250YWluZXIuaCBpbiBIZWFkZXJz
ICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VX
b3JrZXJDbGllbnRJbmZvcm1hdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L1NlcnZpY2VXb3JrZXJDbGllbnRJbmZvcm1hdGlvbi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM5ZjdmNjQ5MDVl
MDQzYzg0OTRiYTQxNzdjMWNmZWZkZTExOWFlYjQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNsaWVudEluZm9ybWF0aW9uLmgK
QEAgLTAsMCArMSw3NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxF
KFNFUlZJQ0VfV09SS0VSKQorCisjaW5jbHVkZSAiU2VydmljZVdvcmtlckNsaWVudERhdGEuaCIK
KyNpbmNsdWRlICJTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllci5oIgorI2luY2x1ZGUgPHd0
Zi9WZWN0b3IuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBTY3JpcHRFeGVjdXRp
b25Db250ZXh0OworCitzdHJ1Y3QgU2VydmljZVdvcmtlckNsaWVudEluZm9ybWF0aW9uIHsKKyAg
ICBTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllciBpZGVudGlmaWVyOworICAgIFNlcnZpY2VX
b3JrZXJDbGllbnREYXRhIGRhdGE7CisKKyAgICBTZXJ2aWNlV29ya2VyQ2xpZW50SW5mb3JtYXRp
b24gaXNvbGF0ZWRDb3B5KCkgY29uc3QgeyByZXR1cm4geyBpZGVudGlmaWVyLCBkYXRhLmlzb2xh
dGVkQ29weSgpIH07IH0KKworICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5jb2Rl
KEVuY29kZXImKSBjb25zdDsKKyAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgc3Rk
OjpvcHRpb25hbDxTZXJ2aWNlV29ya2VyQ2xpZW50SW5mb3JtYXRpb24+IGRlY29kZShEZWNvZGVy
Jik7Cit9OworCit1c2luZyBTZXJ2aWNlV29ya2VyQ2xpZW50c01hdGNoQWxsQ2FsbGJhY2sgPSBX
VEY6OkNvbXBsZXRpb25IYW5kbGVyPHZvaWQoVmVjdG9yPFNlcnZpY2VXb3JrZXJDbGllbnRJbmZv
cm1hdGlvbj4mJik+OworCit0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPgordm9pZCBTZXJ2aWNlV29y
a2VyQ2xpZW50SW5mb3JtYXRpb246OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAorewor
ICAgIGVuY29kZXIgPDwgaWRlbnRpZmllciA8PCBkYXRhOworfQorCit0ZW1wbGF0ZTxjbGFzcyBE
ZWNvZGVyPgorc3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2VyQ2xpZW50SW5mb3JtYXRpb24+IFNl
cnZpY2VXb3JrZXJDbGllbnRJbmZvcm1hdGlvbjo6ZGVjb2RlKERlY29kZXImIGRlY29kZXIpCit7
CisgICAgc3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllcj4gaWRlbnRp
ZmllcjsKKyAgICBkZWNvZGVyID4+IGlkZW50aWZpZXI7CisgICAgaWYgKCFpZGVudGlmaWVyKQor
ICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworCisgICAgc3RkOjpvcHRpb25hbDxTZXJ2aWNl
V29ya2VyQ2xpZW50RGF0YT4gZGF0YTsKKyAgICBkZWNvZGVyID4+IGRhdGE7CisgICAgaWYgKCFk
YXRhKQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworCisgICAgcmV0dXJuIHsgeyBXVEZN
b3ZlKCppZGVudGlmaWVyKSwgV1RGTW92ZSgqZGF0YSkgfSB9OworfQorCit9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNsaWVudFF1ZXJ5
T3B0aW9ucy5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJD
bGllbnRRdWVyeU9wdGlvbnMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNGFhZWY2Yzk3Y2ZlZjg0ZDBhZGQ1MjZl
NjA5YTc0MTBkMDIwODkzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnRRdWVyeU9wdGlvbnMuaApAQCAtMCwwICsxLDY2
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoU0VSVklDRV9XT1JL
RVIpCisKKyNpbmNsdWRlICJTZXJ2aWNlV29ya2VyQ2xpZW50VHlwZS5oIgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK3N0cnVjdCBTZXJ2aWNlV29ya2VyQ2xpZW50UXVlcnlPcHRpb25zIHsKKyAg
ICBib29sIGluY2x1ZGVVbmNvbnRyb2xsZWQgeyBmYWxzZSB9OworICAgIFNlcnZpY2VXb3JrZXJD
bGllbnRUeXBlIHR5cGUgeyBTZXJ2aWNlV29ya2VyQ2xpZW50VHlwZTo6V2luZG93IH07CisKKyAg
ICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7Cisg
ICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIHN0ZDo6b3B0aW9uYWw8U2VydmljZVdv
cmtlckNsaWVudFF1ZXJ5T3B0aW9ucz4gZGVjb2RlKERlY29kZXImKTsKK307CisKK3RlbXBsYXRl
PGNsYXNzIEVuY29kZXI+Cit2b2lkIFNlcnZpY2VXb3JrZXJDbGllbnRRdWVyeU9wdGlvbnM6OmVu
Y29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAoreworICAgIGVuY29kZXIgPDwgaW5jbHVkZVVu
Y29udHJvbGxlZCA8PCB0eXBlOworfQorCit0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPgorc3RkOjpv
cHRpb25hbDxTZXJ2aWNlV29ya2VyQ2xpZW50UXVlcnlPcHRpb25zPiBTZXJ2aWNlV29ya2VyQ2xp
ZW50UXVlcnlPcHRpb25zOjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKK3sKKyAgICBzdGQ6Om9w
dGlvbmFsPGJvb2w+IGluY2x1ZGVVbmNvbnRyb2xsZWQ7CisgICAgZGVjb2RlciA+PiBpbmNsdWRl
VW5jb250cm9sbGVkOworICAgIGlmICghaW5jbHVkZVVuY29udHJvbGxlZCkKKyAgICAgICAgcmV0
dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlckNsaWVu
dFR5cGU+IHR5cGU7CisgICAgZGVjb2RlciA+PiB0eXBlOworICAgIGlmICghdHlwZSkKKyAgICAg
ICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHJldHVybiB7IHsgKmluY2x1ZGVVbmNvbnRy
b2xsZWQsICp0eXBlIH0gfTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYg
Ly8gRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnRzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ2xpZW50cy5jcHAKaW5kZXggYTRlYmM3YTMxODA1
NWIyMGY4ZmYzN2Y0Y2ExOTMwMjAwMTAwMDBiOS4uNDUwNGY1M2E4MWFiMmNmOWRhNGUyYzRmYWQ4
ZGM4NDExMGJkOWQzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L1NlcnZpY2VXb3JrZXJDbGllbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3Nl
cnZpY2UvU2VydmljZVdvcmtlckNsaWVudHMuY3BwCkBAIC03NCwxOCArNzQsNDAgQEAgdm9pZCBT
ZXJ2aWNlV29ya2VyQ2xpZW50czo6Z2V0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQs
IGNvbnN0IFN0cmluZyYgaWQKICAgICB9KTsKIH0KIAotdm9pZCBTZXJ2aWNlV29ya2VyQ2xpZW50
czo6bWF0Y2hBbGwoY29uc3QgQ2xpZW50UXVlcnlPcHRpb25zJiwgUmVmPERlZmVycmVkUHJvbWlz
ZT4mJiBwcm9taXNlKQorCitzdGF0aWMgaW5saW5lIHZvaWQgbWF0Y2hBbGxDb21wbGV0ZWQoU2Vy
dmljZVdvcmtlckdsb2JhbFNjb3BlJiBzY29wZSwgRGVmZXJyZWRQcm9taXNlJiBwcm9taXNlLCBW
ZWN0b3I8U2VydmljZVdvcmtlckNsaWVudEluZm9ybWF0aW9uPiYmIGNsaWVudHNEYXRhKQogewot
ICAgIHByb21pc2UtPnJlamVjdChFeGNlcHRpb24geyBOb3RTdXBwb3J0ZWRFcnJvciwgQVNDSUlM
aXRlcmFsKCJjbGllbnRzLm1hdGNoQWxsKCkgaXMgbm90IHlldCBzdXBwb3J0ZWQiKSB9KTsKKyAg
ICBhdXRvIGNsaWVudHMgPSBXVEY6Om1hcChjbGllbnRzRGF0YSwgWyZdIChhdXRvJiYgY2xpZW50
KSB7CisgICAgICAgIHJldHVybiBTZXJ2aWNlV29ya2VyQ2xpZW50OjpnZXRPckNyZWF0ZShzY29w
ZSwgY2xpZW50LmlkZW50aWZpZXIsIFdURk1vdmUoY2xpZW50LmRhdGEpKTsKKyAgICB9KTsKKyAg
ICBwcm9taXNlLnJlc29sdmU8SURMU2VxdWVuY2U8SURMSW50ZXJmYWNlPFNlcnZpY2VXb3JrZXJD
bGllbnQ+Pj4oV1RGTW92ZShjbGllbnRzKSk7Cit9CisKK3ZvaWQgU2VydmljZVdvcmtlckNsaWVu
dHM6Om1hdGNoQWxsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIGNvbnN0IENsaWVu
dFF1ZXJ5T3B0aW9ucyYgb3B0aW9ucywgUmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlKQor
eworICAgIGF1dG8gcHJvbWlzZVBvaW50ZXIgPSBwcm9taXNlLnB0cigpOworICAgIG1fcGVuZGlu
Z1Byb21pc2VzLmFkZChwcm9taXNlUG9pbnRlciwgV1RGTW92ZShwcm9taXNlKSk7CisKKyAgICBh
dXRvIHNlcnZpY2VXb3JrZXJJZGVudGlmaWVyID0gZG93bmNhc3Q8U2VydmljZVdvcmtlckdsb2Jh
bFNjb3BlPihjb250ZXh0KS50aHJlYWQoKS5pZGVudGlmaWVyKCk7CisKKyAgICBjYWxsT25NYWlu
VGhyZWFkKFtwcm9taXNlUG9pbnRlciwgc2VydmljZVdvcmtlcklkZW50aWZpZXIsIG9wdGlvbnNd
ICgpIG11dGFibGUgeworICAgICAgICBhdXRvIGNvbm5lY3Rpb24gPSBTV0NvbnRleHRNYW5hZ2Vy
OjpzaW5nbGV0b24oKS5jb25uZWN0aW9uKCk7CisgICAgICAgIGNvbm5lY3Rpb24tPm1hdGNoQWxs
KHNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCBvcHRpb25zLCBbcHJvbWlzZVBvaW50ZXIsIHNlcnZp
Y2VXb3JrZXJJZGVudGlmaWVyXSAoYXV0byYmIGNsaWVudHNEYXRhKSBtdXRhYmxlIHsKKyAgICAg
ICAgICAgIFNXQ29udGV4dE1hbmFnZXI6OnNpbmdsZXRvbigpLnBvc3RUYXNrVG9TZXJ2aWNlV29y
a2VyKHNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCBbcHJvbWlzZVBvaW50ZXIsIGNsaWVudHNEYXRh
ID0gY3Jvc3NUaHJlYWRDb3B5KGNsaWVudHNEYXRhKV0gKGF1dG8mIHNjb3BlKSBtdXRhYmxlIHsK
KyAgICAgICAgICAgICAgICBpZiAoYXV0byBwcm9taXNlID0gc2NvcGUuY2xpZW50cygpLm1fcGVu
ZGluZ1Byb21pc2VzLnRha2UocHJvbWlzZVBvaW50ZXIpKQorICAgICAgICAgICAgICAgICAgICBt
YXRjaEFsbENvbXBsZXRlZChzY29wZSwgKnByb21pc2UsIFdURk1vdmUoY2xpZW50c0RhdGEpKTsK
KyAgICAgICAgICAgIH0pOworICAgICAgICB9KTsKKyAgICB9KTsKIH0KIAotdm9pZCBTZXJ2aWNl
V29ya2VyQ2xpZW50czo6b3BlbldpbmRvdyhjb25zdCBTdHJpbmcmIHVybCwgUmVmPERlZmVycmVk
UHJvbWlzZT4mJiBwcm9taXNlKQordm9pZCBTZXJ2aWNlV29ya2VyQ2xpZW50czo6b3BlbldpbmRv
dyhTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgY29uc3QgU3RyaW5nJiB1cmwsIFJlZjxEZWZlcnJl
ZFByb21pc2U+JiYgcHJvbWlzZSkKIHsKICAgICBVTlVTRURfUEFSQU0odXJsKTsKICAgICBwcm9t
aXNlLT5yZWplY3QoRXhjZXB0aW9uIHsgTm90U3VwcG9ydGVkRXJyb3IsIEFTQ0lJTGl0ZXJhbCgi
Y2xpZW50cy5vcGVuV2luZG93KCkgaXMgbm90IHlldCBzdXBwb3J0ZWQiKSB9KTsKIH0KIAotdm9p
ZCBTZXJ2aWNlV29ya2VyQ2xpZW50czo6Y2xhaW0oUmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9t
aXNlKQordm9pZCBTZXJ2aWNlV29ya2VyQ2xpZW50czo6Y2xhaW0oU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCYsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYgcHJvbWlzZSkKIHsKICAgICBwcm9taXNlLT5y
ZWplY3QoRXhjZXB0aW9uIHsgTm90U3VwcG9ydGVkRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiY2xpZW50
cy5jbGFpbSgpIGlzIG5vdCB5ZXQgc3VwcG9ydGVkIikgfSk7CiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNsaWVudHMuaCBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ2xpZW50cy5oCmluZGV4IDlj
YWMwZjZkZjcxY2FmYzYxN2RmNzcxZWUxNjRkYzA4MDE4YThjYzYuLjQwNzVkYTU5MmUyOTBhNDc1
YWRjNGMxYWVkNjMyMTljMDk3YTgxMTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ2xpZW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ2xpZW50cy5oCkBAIC0yNyw2ICsyNyw3IEBACiAK
ICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCiAKKyNpbmNsdWRlICJTZXJ2aWNlV29ya2VyQ2xp
ZW50UXVlcnlPcHRpb25zLmgiCiAjaW5jbHVkZSAiU2VydmljZVdvcmtlckNsaWVudFR5cGUuaCIK
ICNpbmNsdWRlICJTZXJ2aWNlV29ya2VySWRlbnRpZmllci5oIgogI2luY2x1ZGUgPHd0Zi9SZWYu
aD4KQEAgLTQ2LDE1ICs0NywxMiBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBhZG9wdFJlZigq
bmV3IFNlcnZpY2VXb3JrZXJDbGllbnRzKTsKICAgICB9CiAKLSAgICBzdHJ1Y3QgQ2xpZW50UXVl
cnlPcHRpb25zIHsKLSAgICAgICAgYm9vbCBpbmNsdWRlVW5jb250cm9sbGVkIHsgZmFsc2UgfTsK
LSAgICAgICAgU2VydmljZVdvcmtlckNsaWVudFR5cGUgdHlwZSB7IFNlcnZpY2VXb3JrZXJDbGll
bnRUeXBlOjpXaW5kb3cgfTsKLSAgICB9OworICAgIHVzaW5nIENsaWVudFF1ZXJ5T3B0aW9ucyA9
IFNlcnZpY2VXb3JrZXJDbGllbnRRdWVyeU9wdGlvbnM7CiAKICAgICB2b2lkIGdldChTY3JpcHRF
eGVjdXRpb25Db250ZXh0JiwgY29uc3QgU3RyaW5nJiBpZCwgUmVmPERlZmVycmVkUHJvbWlzZT4m
Jik7Ci0gICAgdm9pZCBtYXRjaEFsbChjb25zdCBDbGllbnRRdWVyeU9wdGlvbnMmLCBSZWY8RGVm
ZXJyZWRQcm9taXNlPiYmKTsKLSAgICB2b2lkIG9wZW5XaW5kb3coY29uc3QgU3RyaW5nJiB1cmws
IFJlZjxEZWZlcnJlZFByb21pc2U+JiYpOwotICAgIHZvaWQgY2xhaW0oUmVmPERlZmVycmVkUHJv
bWlzZT4mJik7CisgICAgdm9pZCBtYXRjaEFsbChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgY29u
c3QgQ2xpZW50UXVlcnlPcHRpb25zJiwgUmVmPERlZmVycmVkUHJvbWlzZT4mJik7CisgICAgdm9p
ZCBvcGVuV2luZG93KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBjb25zdCBTdHJpbmcmIHVybCwg
UmVmPERlZmVycmVkUHJvbWlzZT4mJik7CisgICAgdm9pZCBjbGFpbShTY3JpcHRFeGVjdXRpb25D
b250ZXh0JiwgUmVmPERlZmVycmVkUHJvbWlzZT4mJik7CiAKIHByaXZhdGU6CiAgICAgU2Vydmlj
ZVdvcmtlckNsaWVudHMoKSA9IGRlZmF1bHQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNsaWVudHMuaWRsIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnRzLmlkbAppbmRleCA0OGEyMDgyNWE5
MDM1ZmM2OWYwNzY5ODRiZDhkYTA4Yjc4N2Y1MTVhLi4wMjAzZDdkYTUxNDg3ZWJlZWJiYmMyNjM0
MWY0Y2FkNDYzOTdkZTg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZp
Y2UvU2VydmljZVdvcmtlckNsaWVudHMuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2VydmljZS9TZXJ2aWNlV29ya2VyQ2xpZW50cy5pZGwKQEAgLTMzLDkgKzMzLDkgQEAKIF0gaW50
ZXJmYWNlIFNlcnZpY2VXb3JrZXJDbGllbnRzIHsKICAgICAvLyBUaGUgb2JqZWN0cyByZXR1cm5l
ZCB3aWxsIGJlIG5ldyBpbnN0YW5jZXMgZXZlcnkgdGltZQogICAgIFtOZXdPYmplY3QsIENhbGxX
aXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIFByb21pc2U8YW55PiBnZXQoRE9NU3RyaW5nIGlk
KTsKLSAgICBbTmV3T2JqZWN0XSBQcm9taXNlPHNlcXVlbmNlPENsaWVudD4+IG1hdGNoQWxsKG9w
dGlvbmFsIENsaWVudFF1ZXJ5T3B0aW9ucyBvcHRpb25zKTsKLSAgICBbTmV3T2JqZWN0XSBQcm9t
aXNlPFdpbmRvd0NsaWVudD8+IG9wZW5XaW5kb3coVVNWU3RyaW5nIHVybCk7Ci0gICAgW05ld09i
amVjdF0gUHJvbWlzZTx2b2lkPiBjbGFpbSgpOworICAgIFtOZXdPYmplY3QsIENhbGxXaXRoPVNj
cmlwdEV4ZWN1dGlvbkNvbnRleHRdIFByb21pc2U8c2VxdWVuY2U8Q2xpZW50Pj4gbWF0Y2hBbGwo
b3B0aW9uYWwgQ2xpZW50UXVlcnlPcHRpb25zIG9wdGlvbnMpOworICAgIFtOZXdPYmplY3QsIENh
bGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIFByb21pc2U8V2luZG93Q2xpZW50Pz4gb3Bl
bldpbmRvdyhVU1ZTdHJpbmcgdXJsKTsKKyAgICBbTmV3T2JqZWN0LCBDYWxsV2l0aD1TY3JpcHRF
eGVjdXRpb25Db250ZXh0XSBQcm9taXNlPHZvaWQ+IGNsYWltKCk7CiB9OwogCiBkaWN0aW9uYXJ5
IENsaWVudFF1ZXJ5T3B0aW9ucyB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L3NlcnZpY2UvY29udGV4dC9TV0NvbnRleHRNYW5hZ2VyLmggYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2UvY29udGV4dC9TV0NvbnRleHRNYW5hZ2VyLmgKaW5kZXggN2IwZThhNjc0MDFj
YjQ2NzI2YTRhODA0OGRmYjMxZjYzYTliYzgzNy4uZjBiMTBhMDE0NDFkYTQ1OWMzYTkwMzlmNzU3
NGFjMjdlNTY3ODdmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L2NvbnRleHQvU1dDb250ZXh0TWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2VydmljZS9jb250ZXh0L1NXQ29udGV4dE1hbmFnZXIuaApAQCAtMjgsNiArMjgsOCBAQAogI2lm
IEVOQUJMRShTRVJWSUNFX1dPUktFUikKIAogI2luY2x1ZGUgIkV4Y2VwdGlvbk9yLmgiCisjaW5j
bHVkZSAiU2VydmljZVdvcmtlckNsaWVudEluZm9ybWF0aW9uLmgiCisjaW5jbHVkZSAiU2Vydmlj
ZVdvcmtlckNsaWVudFF1ZXJ5T3B0aW9ucy5oIgogI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJJZGVu
dGlmaWVyLmgiCiAjaW5jbHVkZSAiU2VydmljZVdvcmtlclRocmVhZFByb3h5LmgiCiAjaW5jbHVk
ZSA8d3RmL0NvbXBsZXRpb25IYW5kbGVyLmg+CkBAIC0zNiw3ICszOCw2IEBACiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIGNsYXNzIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTsKLXN0cnVjdCBTZXJ2aWNl
V29ya2VyQ2xpZW50SWRlbnRpZmllcjsKIGNsYXNzIFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZTsK
IAogY2xhc3MgU1dDb250ZXh0TWFuYWdlciB7CkBAIC01Niw2ICs1Nyw3IEBAIHB1YmxpYzoKIAog
ICAgICAgICB1c2luZyBGaW5kQ2xpZW50QnlJZGVudGlmaWVyQ2FsbGJhY2sgPSBXVEY6OkNvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoRXhjZXB0aW9uT3I8c3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2Vy
Q2xpZW50RGF0YT4+JiYpPjsKICAgICAgICAgdmlydHVhbCB2b2lkIGZpbmRDbGllbnRCeUlkZW50
aWZpZXIoU2VydmljZVdvcmtlcklkZW50aWZpZXIsIFNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlm
aWVyLCBGaW5kQ2xpZW50QnlJZGVudGlmaWVyQ2FsbGJhY2smJikgPSAwOworICAgICAgICB2aXJ0
dWFsIHZvaWQgbWF0Y2hBbGwoU2VydmljZVdvcmtlcklkZW50aWZpZXIsIGNvbnN0IFNlcnZpY2VX
b3JrZXJDbGllbnRRdWVyeU9wdGlvbnMmLCBTZXJ2aWNlV29ya2VyQ2xpZW50c01hdGNoQWxsQ2Fs
bGJhY2smJikgPSAwOwogICAgIH07CiAKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldENvbm5l
Y3Rpb24oc3RkOjp1bmlxdWVfcHRyPENvbm5lY3Rpb24+JiYpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmNwcAppbmRleCAwYzM3ZTJkOTky
NmQ2YWViMWYwM2RjMDllYjM0MjNlYzcxYmMxMzI3Li5iYmNiNGM4MmRhZGJhMDM4NDMxYjM1ZDIx
NjFkN2UxOThmZTZkYTdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZp
Y2Uvc2VydmVyL1NXU2VydmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZp
Y2Uvc2VydmVyL1NXU2VydmVyLmNwcApAQCAtNDEsNiArNDEsNyBAQAogI2luY2x1ZGUgIlNlcnZp
Y2VXb3JrZXJDb250ZXh0RGF0YS5oIgogI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJGZXRjaFJlc3Vs
dC5oIgogI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJKb2JEYXRhLmgiCisjaW5jbHVkZSA8d3RmL0Nv
bXBsZXRpb25IYW5kbGVyLmg+CiAjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+CiAjaW5j
bHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKQEAgLTMxMiw4ICszMTMsMTEgQEAgdm9pZCBT
V1NlcnZlcjo6ZGlkRmluaXNoQWN0aXZhdGlvbihTV1NlcnZlcldvcmtlciYgd29ya2VyKQogICAg
ICAgICBTV1NlcnZlckpvYlF1ZXVlOjpkaWRGaW5pc2hBY3RpdmF0aW9uKCpyZWdpc3RyYXRpb24s
IHdvcmtlci5pZGVudGlmaWVyKCkpOwogfQogCisvLyBodHRwczovL3czYy5naXRodWIuaW8vU2Vy
dmljZVdvcmtlci8jY2xpZW50cy1nZXQKIHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlckNsaWVu
dERhdGE+IFNXU2VydmVyOjpmaW5kQ2xpZW50QnlJZGVudGlmaWVyKGNvbnN0IENsaWVudE9yaWdp
biYgb3JpZ2luLCBTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllciBjbGllbnRJZGVudGlmaWVy
KQogeworICAgIC8vIEZJWE1FOiBTdXBwb3J0IFdpbmRvd0NsaWVudCBhZGRpdGlvbmFsIHByb3Bl
cnRpZXMuCisKICAgICBhdXRvIGl0ZXJhdG9yID0gbV9jbGllbnRzLmZpbmQob3JpZ2luKTsKICAg
ICBpZiAoaXRlcmF0b3IgPT0gbV9jbGllbnRzLmVuZCgpKQogICAgICAgICByZXR1cm4gc3RkOjpu
dWxsb3B0OwpAQCAtMzI2LDYgKzMzMCwyNyBAQCBzdGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJD
bGllbnREYXRhPiBTV1NlcnZlcjo6ZmluZENsaWVudEJ5SWRlbnRpZmllcihjb25zdCBDbAogICAg
IHJldHVybiAocG9zaXRpb24gIT0gbm90Rm91bmQpID8gc3RkOjptYWtlX29wdGlvbmFsKGNsaWVu
dHNbcG9zaXRpb25dLmRhdGEpIDogc3RkOjpudWxsb3B0OwogfQogCisvLyBodHRwczovL3czYy5n
aXRodWIuaW8vU2VydmljZVdvcmtlci8jY2xpZW50cy1nZXRhbGwKK3ZvaWQgU1dTZXJ2ZXI6Om1h
dGNoQWxsKFNXU2VydmVyV29ya2VyJiB3b3JrZXIsIGNvbnN0IFNlcnZpY2VXb3JrZXJDbGllbnRR
dWVyeU9wdGlvbnMmIG9wdGlvbnMsIFNlcnZpY2VXb3JrZXJDbGllbnRzTWF0Y2hBbGxDYWxsYmFj
ayYmIGNhbGxiYWNrKQoreworICAgIC8vIEZJWE1FOiBTdXBwb3J0IHJlc2VydmVkIGNsaWVudCBm
aWx0ZXJpbmcuCisgICAgLy8gRklYTUU6IFN1cHBvcnQgV2luZG93Q2xpZW50IGFkZGl0aW9uYWwg
cHJvcGVydGllcy4KKworICAgIGF1dG8gY2xpZW50cyA9IG1fY2xpZW50cy5nZXQod29ya2VyLm9y
aWdpbigpKTsKKworICAgIGlmICghb3B0aW9ucy5pbmNsdWRlVW5jb250cm9sbGVkKSB7CisgICAg
ICAgIGNsaWVudHMucmVtb3ZlQWxsTWF0Y2hpbmcoWyZdIChjb25zdCBhdXRvJiBjbGllbnQpIHsK
KyAgICAgICAgICAgIHJldHVybiB3b3JrZXIuaWRlbnRpZmllcigpICE9IG1fY2xpZW50VG9Db250
cm9sbGluZ1dvcmtlci5nZXQoY2xpZW50LmlkZW50aWZpZXIpOworICAgICAgICB9KTsKKyAgICB9
CisgICAgaWYgKG9wdGlvbnMudHlwZSAhPSBTZXJ2aWNlV29ya2VyQ2xpZW50VHlwZTo6QWxsKSB7
CisgICAgICAgIGNsaWVudHMucmVtb3ZlQWxsTWF0Y2hpbmcoWyZdIChjb25zdCBhdXRvJiBjbGll
bnQpIHsKKyAgICAgICAgICAgIHJldHVybiBvcHRpb25zLnR5cGUgIT0gY2xpZW50LmRhdGEudHlw
ZTsKKyAgICAgICAgfSk7CisgICAgfQorICAgIGNhbGxiYWNrKFdURk1vdmUoY2xpZW50cykpOwor
fQorCiB2b2lkIFNXU2VydmVyOjpkaWRSZXNvbHZlUmVnaXN0cmF0aW9uUHJvbWlzZShDb25uZWN0
aW9uJiBjb25uZWN0aW9uLCBjb25zdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5JiByZWdp
c3RyYXRpb25LZXkpCiB7CiAgICAgQVNTRVJUX1VOVVNFRChjb25uZWN0aW9uLCBtX2Nvbm5lY3Rp
b25zLmNvbnRhaW5zKGNvbm5lY3Rpb24uaWRlbnRpZmllcigpKSk7CkBAIC0zNTYsMjIgKzM4MSwz
MSBAQCB2b2lkIFNXU2VydmVyOjpyZW1vdmVDbGllbnRTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
KENvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIFNlcgogICAgIHJlZ2lzdHJhdGlvbi0+cmVtb3ZlQ2xp
ZW50U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbihjb25uZWN0aW9uLmlkZW50aWZpZXIoKSk7CiB9
CiAKLXZvaWQgU1dTZXJ2ZXI6OnNlcnZpY2VXb3JrZXJTdGFydGVkQ29udHJvbGxpbmdDbGllbnQo
Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgU2VydmljZVdvcmtlcklkZW50aWZpZXIsIFNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyIHJlZ2lzdHJhdGlvbklkZW50aWZpZXIsIERvY3Vt
ZW50SWRlbnRpZmllciBjb250ZXh0SWRlbnRpZmllcikKK3ZvaWQgU1dTZXJ2ZXI6OnNlcnZpY2VX
b3JrZXJTdGFydGVkQ29udHJvbGxpbmdDbGllbnQoQ29ubmVjdGlvbiYgY29ubmVjdGlvbiwgU2Vy
dmljZVdvcmtlcklkZW50aWZpZXIgc2VydmljZVdvcmtlcklkZW50aWZpZXIsIFNlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyIHJlZ2lzdHJhdGlvbklkZW50aWZpZXIsIERvY3VtZW50
SWRlbnRpZmllciBjb250ZXh0SWRlbnRpZmllcikKIHsKICAgICBhdXRvKiByZWdpc3RyYXRpb24g
PSBtX3JlZ2lzdHJhdGlvbnNCeUlELmdldChyZWdpc3RyYXRpb25JZGVudGlmaWVyKTsKICAgICBp
ZiAoIXJlZ2lzdHJhdGlvbikKICAgICAgICAgcmV0dXJuOwogCi0gICAgcmVnaXN0cmF0aW9uLT5h
ZGRDbGllbnRVc2luZ1JlZ2lzdHJhdGlvbih7IGNvbm5lY3Rpb24uaWRlbnRpZmllcigpLCBjb250
ZXh0SWRlbnRpZmllciB9KTsKKyAgICBTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllciBjbGll
bnRJZGVudGlmaWVyIHsgY29ubmVjdGlvbi5pZGVudGlmaWVyKCksIGNvbnRleHRJZGVudGlmaWVy
IH07CisgICAgcmVnaXN0cmF0aW9uLT5hZGRDbGllbnRVc2luZ1JlZ2lzdHJhdGlvbihjbGllbnRJ
ZGVudGlmaWVyKTsKKworICAgIGF1dG8gcmVzdWx0ID0gbV9jbGllbnRUb0NvbnRyb2xsaW5nV29y
a2VyLmFkZChjbGllbnRJZGVudGlmaWVyLCBzZXJ2aWNlV29ya2VySWRlbnRpZmllcik7CisgICAg
QVNTRVJUX1VOVVNFRChyZXN1bHQsIHJlc3VsdC5pc05ld0VudHJ5KTsKIH0KIAotdm9pZCBTV1Nl
cnZlcjo6c2VydmljZVdvcmtlclN0b3BwZWRDb250cm9sbGluZ0NsaWVudChDb25uZWN0aW9uJiBj
b25uZWN0aW9uLCBTZXJ2aWNlV29ya2VySWRlbnRpZmllciwgU2VydmljZVdvcmtlclJlZ2lzdHJh
dGlvbklkZW50aWZpZXIgcmVnaXN0cmF0aW9uSWRlbnRpZmllciwgRG9jdW1lbnRJZGVudGlmaWVy
IGNvbnRleHRJZGVudGlmaWVyKQordm9pZCBTV1NlcnZlcjo6c2VydmljZVdvcmtlclN0b3BwZWRD
b250cm9sbGluZ0NsaWVudChDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBTZXJ2aWNlV29ya2VySWRl
bnRpZmllciBzZXJ2aWNlV29ya2VySWRlbnRpZmllciwgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlv
bklkZW50aWZpZXIgcmVnaXN0cmF0aW9uSWRlbnRpZmllciwgRG9jdW1lbnRJZGVudGlmaWVyIGNv
bnRleHRJZGVudGlmaWVyKQogeworICAgIFVOVVNFRF9QQVJBTShzZXJ2aWNlV29ya2VySWRlbnRp
Zmllcik7CiAgICAgYXV0byogcmVnaXN0cmF0aW9uID0gbV9yZWdpc3RyYXRpb25zQnlJRC5nZXQo
cmVnaXN0cmF0aW9uSWRlbnRpZmllcik7CiAgICAgaWYgKCFyZWdpc3RyYXRpb24pCiAgICAgICAg
IHJldHVybjsKIAotICAgIHJlZ2lzdHJhdGlvbi0+cmVtb3ZlQ2xpZW50VXNpbmdSZWdpc3RyYXRp
b24oeyBjb25uZWN0aW9uLmlkZW50aWZpZXIoKSwgY29udGV4dElkZW50aWZpZXIgfSk7CisgICAg
U2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXIgY2xpZW50SWRlbnRpZmllciB7IGNvbm5lY3Rp
b24uaWRlbnRpZmllcigpLCBjb250ZXh0SWRlbnRpZmllciB9OworICAgIHJlZ2lzdHJhdGlvbi0+
cmVtb3ZlQ2xpZW50VXNpbmdSZWdpc3RyYXRpb24oY2xpZW50SWRlbnRpZmllcik7CisKKyAgICBh
dXRvIHJlc3VsdCA9IG1fY2xpZW50VG9Db250cm9sbGluZ1dvcmtlci50YWtlKGNsaWVudElkZW50
aWZpZXIpOworICAgIEFTU0VSVF9VTlVTRUQocmVzdWx0LCByZXN1bHQgPT0gc2VydmljZVdvcmtl
cklkZW50aWZpZXIpOwogfQogCiB2b2lkIFNXU2VydmVyOjp1cGRhdGVXb3JrZXIoQ29ubmVjdGlv
biYsIGNvbnN0IFNlcnZpY2VXb3JrZXJKb2JEYXRhSWRlbnRpZmllciYgam9iRGF0YUlkZW50aWZp
ZXIsIFNXU2VydmVyUmVnaXN0cmF0aW9uJiByZWdpc3RyYXRpb24sIGNvbnN0IFVSTCYgdXJsLCBj
b25zdCBTdHJpbmcmIHNjcmlwdCwgV29ya2VyVHlwZSB0eXBlKQpAQCAtNTgyLDggKzYxNiw4IEBA
IGNvbnN0IFNXU2VydmVyUmVnaXN0cmF0aW9uKiBTV1NlcnZlcjo6ZG9SZWdpc3RyYXRpb25NYXRj
aGluZyhjb25zdCBTZWN1cml0eU9yaWdpCiB2b2lkIFNXU2VydmVyOjpyZWdpc3RlclNlcnZpY2VX
b3JrZXJDbGllbnQoQ2xpZW50T3JpZ2luJiYgY2xpZW50T3JpZ2luLCBTZXJ2aWNlV29ya2VyQ2xp
ZW50SWRlbnRpZmllciBpZGVudGlmaWVyLCBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSYmIGRhdGEp
CiB7CiAgICAgbV9jbGllbnRzLmVuc3VyZShXVEZNb3ZlKGNsaWVudE9yaWdpbiksIFtdIHsKLSAg
ICAgICAgcmV0dXJuIFZlY3RvcjxDbGllbnRJbmZvcm1hdGlvbj4geyB9OwotICAgIH0pLml0ZXJh
dG9yLT52YWx1ZS5hcHBlbmQoQ2xpZW50SW5mb3JtYXRpb24geyBpZGVudGlmaWVyLCBXVEZNb3Zl
KGRhdGEpIH0pOworICAgICAgICByZXR1cm4gVmVjdG9yPFNlcnZpY2VXb3JrZXJDbGllbnRJbmZv
cm1hdGlvbj4geyB9OworICAgIH0pLml0ZXJhdG9yLT52YWx1ZS5hcHBlbmQoU2VydmljZVdvcmtl
ckNsaWVudEluZm9ybWF0aW9uIHsgaWRlbnRpZmllciwgV1RGTW92ZShkYXRhKSB9KTsKIH0KIAog
dm9pZCBTV1NlcnZlcjo6dW5yZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQoY29uc3QgQ2xpZW50
T3JpZ2luJiBjbGllbnRPcmlnaW4sIFNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyIGlkZW50
aWZpZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVy
L1NXU2VydmVyLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2Vy
dmVyLmgKaW5kZXggOGJhODk3NDRlMDY3Y2IxZTk0NWUxMmE0MTMwYTE1MDJkYjI4Y2YyNi4uZGM2
ZWY3Mzk4OWZhZDk2ZWYzMmRhZDI3YmM0ZTkyNzAyZWUzOGE3OSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuaApAQCAtNTUsNiArNTUsNyBA
QCBjbGFzcyBTV1NlcnZlclRvQ29udGV4dENvbm5lY3Rpb247CiBlbnVtIGNsYXNzIFNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb25TdGF0ZTsKIGVudW0gY2xhc3MgU2VydmljZVdvcmtlclN0YXRlOwog
c3RydWN0IEV4Y2VwdGlvbkRhdGE7CitzdHJ1Y3QgU2VydmljZVdvcmtlckNsaWVudFF1ZXJ5T3B0
aW9uczsKIHN0cnVjdCBTZXJ2aWNlV29ya2VyQ29udGV4dERhdGE7CiBzdHJ1Y3QgU2VydmljZVdv
cmtlckZldGNoUmVzdWx0Owogc3RydWN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhOwpA
QCAtMTM5LDYgKzE0MCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGRpZEZpbmlzaEFjdGl2YXRpb24o
U1dTZXJ2ZXJXb3JrZXImKTsKICAgICB2b2lkIHdvcmtlckNvbnRleHRUZXJtaW5hdGVkKFNXU2Vy
dmVyV29ya2VyJik7CiAgICAgc3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YT4g
ZmluZENsaWVudEJ5SWRlbnRpZmllcihjb25zdCBDbGllbnRPcmlnaW4mLCBTZXJ2aWNlV29ya2Vy
Q2xpZW50SWRlbnRpZmllcik7CisgICAgdm9pZCBtYXRjaEFsbChTV1NlcnZlcldvcmtlciYsIGNv
bnN0IFNlcnZpY2VXb3JrZXJDbGllbnRRdWVyeU9wdGlvbnMmLCBTZXJ2aWNlV29ya2VyQ2xpZW50
c01hdGNoQWxsQ2FsbGJhY2smJik7CiAKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNlcnZlclRv
Q29udGV4dENvbm5lY3Rpb25DcmVhdGVkKCk7CiAgICAgCkBAIC0xODIsMTEgKzE4NCw4IEBAIHBy
aXZhdGU6CiAKICAgICBIYXNoTWFwPFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCBSZWY8U1dTZXJ2
ZXJXb3JrZXI+PiBtX3J1bm5pbmdPclRlcm1pbmF0aW5nV29ya2VyczsKIAotICAgIHN0cnVjdCBD
bGllbnRJbmZvcm1hdGlvbiB7Ci0gICAgICAgIFNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVy
IGlkZW50aWZpZXI7Ci0gICAgICAgIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhIGRhdGE7Ci0gICAg
fTsKLSAgICBIYXNoTWFwPENsaWVudE9yaWdpbiwgVmVjdG9yPENsaWVudEluZm9ybWF0aW9uPj4g
bV9jbGllbnRzOworICAgIEhhc2hNYXA8Q2xpZW50T3JpZ2luLCBWZWN0b3I8U2VydmljZVdvcmtl
ckNsaWVudEluZm9ybWF0aW9uPj4gbV9jbGllbnRzOworICAgIEhhc2hNYXA8U2VydmljZVdvcmtl
ckNsaWVudElkZW50aWZpZXIsIFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyPiBtX2NsaWVudFRvQ29u
dHJvbGxpbmdXb3JrZXI7CiAKICAgICBSZWZQdHI8VGhyZWFkPiBtX3Rhc2tUaHJlYWQ7CiAgICAg
TG9jayBtX3Rhc2tUaHJlYWRMb2NrOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlclRvQ29udGV4dENvbm5lY3Rpb24uY3BwIGIvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlclRvQ29udGV4dENvbm5lY3Rp
b24uY3BwCmluZGV4IDczN2M3OGJhNTg3M2I2YWFiZmZkN2NmNjQxZjNjYzVjMjQwYzNlOWQuLmY2
MWQ3ZDM2ZTE1NjMyNzgyYTFmM2QyMDQ5Njg1ODczYzNlZWMwYmYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJUb0NvbnRleHRDb25uZWN0
aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2Vy
dmVyVG9Db250ZXh0Q29ubmVjdGlvbi5jcHAKQEAgLTExNCw2ICsxMTQsMTUgQEAgdm9pZCBTV1Nl
cnZlclRvQ29udGV4dENvbm5lY3Rpb246OmZpbmRDbGllbnRCeUlkZW50aWZpZXIodWludDY0X3Qg
cmVxdWVzdElkZW50aWYKICAgICAgICAgZ2xvYmFsU2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbigp
LT5maW5kQ2xpZW50QnlJZGVudGlmaWVyQ29tcGxldGVkKHJlcXVlc3RJZGVudGlmaWVyLCB3b3Jr
ZXItPmZpbmRDbGllbnRCeUlkZW50aWZpZXIoY2xpZW50SWQpLCBmYWxzZSk7CiB9CiAKK3ZvaWQg
U1dTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uOjptYXRjaEFsbCh1aW50NjRfdCByZXF1ZXN0SWRl
bnRpZmllciwgU2VydmljZVdvcmtlcklkZW50aWZpZXIgc2VydmljZVdvcmtlcklkZW50aWZpZXIs
IGNvbnN0IFNlcnZpY2VXb3JrZXJDbGllbnRRdWVyeU9wdGlvbnMmIG9wdGlvbnMpCit7CisgICAg
aWYgKGF1dG8qIHdvcmtlciA9IFNXU2VydmVyV29ya2VyOjpleGlzdGluZ1dvcmtlckZvcklkZW50
aWZpZXIoc2VydmljZVdvcmtlcklkZW50aWZpZXIpKSB7CisgICAgICAgIHdvcmtlci0+bWF0Y2hB
bGwob3B0aW9ucywgW3JlcXVlc3RJZGVudGlmaWVyXSAoYXV0byYmIGRhdGEpIHsKKyAgICAgICAg
ICAgIGdsb2JhbFNlcnZlclRvQ29udGV4dENvbm5lY3Rpb24oKS0+bWF0Y2hBbGxDb21wbGV0ZWQo
cmVxdWVzdElkZW50aWZpZXIsIGRhdGEpOworICAgICAgICB9KTsKKyAgICB9Cit9CisKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShTRVJWSUNFX1dPUktFUikKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJU
b0NvbnRleHRDb25uZWN0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2Vy
dmVyL1NXU2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbi5oCmluZGV4IDQ3MzY0Yzk0MzgwZTZmNzcz
YzZmYjc2ZjExYjY5ZWJjYjcyNDYyODcuLjdiZTQxMzE2NGZiYTY0ZjgwMTU1N2VkNzJkNDk5YzVh
OGE2MmRlNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2
ZXIvU1dTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlclRvQ29udGV4dENvbm5lY3Rpb24uaApAQCAtMjcs
NiArMjcsNyBAQAogCiAjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQogCisjaW5jbHVkZSAiU2Vy
dmljZVdvcmtlckNsaWVudFF1ZXJ5T3B0aW9ucy5oIgogI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJJ
ZGVudGlmaWVyLmgiCiAjaW5jbHVkZSAiU2VydmljZVdvcmtlclR5cGVzLmgiCiAjaW5jbHVkZSA8
d3RmL1JlZkNvdW50ZWQuaD4KQEAgLTM2LDYgKzM3LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
Y2xhc3MgU1dTZXJ2ZXI7CiBzdHJ1Y3QgU2VydmljZVdvcmtlckNsaWVudERhdGE7CiBzdHJ1Y3Qg
U2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXI7CitzdHJ1Y3QgU2VydmljZVdvcmtlckNsaWVu
dEluZm9ybWF0aW9uOwogc3RydWN0IFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YTsKIHN0cnVjdCBT
ZXJ2aWNlV29ya2VySm9iRGF0YUlkZW50aWZpZXI7CiAKQEAgLTUyLDYgKzU0LDcgQEAgcHVibGlj
OgogICAgIHZpcnR1YWwgdm9pZCB0ZXJtaW5hdGVXb3JrZXIoU2VydmljZVdvcmtlcklkZW50aWZp
ZXIpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc3luY1Rlcm1pbmF0ZVdvcmtlcihTZXJ2aWNlV29y
a2VySWRlbnRpZmllcikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBmaW5kQ2xpZW50QnlJZGVudGlm
aWVyQ29tcGxldGVkKHVpbnQ2NF90IHJlcXVlc3RJZGVudGlmaWVyLCBjb25zdCBzdGQ6Om9wdGlv
bmFsPFNlcnZpY2VXb3JrZXJDbGllbnREYXRhPiYsIGJvb2wgaGFzU2VjdXJpdHlFcnJvcikgPSAw
OworICAgIHZpcnR1YWwgdm9pZCBtYXRjaEFsbENvbXBsZXRlZCh1aW50NjRfdCByZXF1ZXN0SWRl
bnRpZmllciwgY29uc3QgVmVjdG9yPFNlcnZpY2VXb3JrZXJDbGllbnRJbmZvcm1hdGlvbj4mKSA9
IDA7CiAKICAgICAvLyBNZXNzYWdlcyBiYWNrIGZyb20gdGhlIFNXIGhvc3QgcHJvY2VzcwogICAg
IFdFQkNPUkVfRVhQT1JUIHZvaWQgc2NyaXB0Q29udGV4dEZhaWxlZFRvU3RhcnQoY29uc3Qgc3Rk
OjpvcHRpb25hbDxTZXJ2aWNlV29ya2VySm9iRGF0YUlkZW50aWZpZXI+JiwgU2VydmljZVdvcmtl
cklkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSk7CkBAIC02MSw2ICs2NCw3IEBAIHB1
YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldFNlcnZpY2VXb3JrZXJIYXNQZW5kaW5n
RXZlbnRzKFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCBib29sIGhhc1BlbmRpbmdFdmVudHMpOwog
ICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgd29ya2VyVGVybWluYXRlZChTZXJ2aWNlV29ya2VySWRl
bnRpZmllcik7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBmaW5kQ2xpZW50QnlJZGVudGlmaWVy
KHVpbnQ2NF90IGNsaWVudElkUmVxdWVzdElkZW50aWZpZXIsIFNlcnZpY2VXb3JrZXJJZGVudGlm
aWVyLCBTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllcik7CisgICAgV0VCQ09SRV9FWFBPUlQg
dm9pZCBtYXRjaEFsbCh1aW50NjRfdCByZXF1ZXN0SWRlbnRpZmllciwgU2VydmljZVdvcmtlcklk
ZW50aWZpZXIsIGNvbnN0IFNlcnZpY2VXb3JrZXJDbGllbnRRdWVyeU9wdGlvbnMmKTsKIAogICAg
IHN0YXRpYyBTV1NlcnZlclRvQ29udGV4dENvbm5lY3Rpb24qIGNvbm5lY3Rpb25Gb3JJZGVudGlm
aWVyKFNXU2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbklkZW50aWZpZXIpOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyV29ya2VyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJXb3JrZXIu
Y3BwCmluZGV4IGJjZjk2ZGMxOGUwNTk5M2FmNWVhMjdiMDY2MTBjNWUzZTIwNWFkM2IuLjViZGMw
NjI3YTg2NzliMDQzYjAxZTExMDA2YjI0MmJhNWRjYTg3MDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJXb3JrZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJXb3JrZXIuY3BwCkBA
IC0xMTEsNiArMTExLDExIEBAIHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlckNsaWVudERhdGE+
IFNXU2VydmVyV29ya2VyOjpmaW5kQ2xpZW50QnlJZGVudGlmaWVyKFNlCiAgICAgcmV0dXJuIG1f
c2VydmVyLmZpbmRDbGllbnRCeUlkZW50aWZpZXIob3JpZ2luKCksIGNsaWVudElkKTsKIH0KIAor
dm9pZCBTV1NlcnZlcldvcmtlcjo6bWF0Y2hBbGwoY29uc3QgU2VydmljZVdvcmtlckNsaWVudFF1
ZXJ5T3B0aW9ucyYgb3B0aW9ucywgU2VydmljZVdvcmtlckNsaWVudHNNYXRjaEFsbENhbGxiYWNr
JiYgY2FsbGJhY2spCit7CisgICAgcmV0dXJuIG1fc2VydmVyLm1hdGNoQWxsKCp0aGlzLCBvcHRp
b25zLCBXVEZNb3ZlKGNhbGxiYWNrKSk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAog
I2VuZGlmIC8vIEVOQUJMRShTRVJWSUNFX1dPUktFUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJXb3JrZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJXb3JrZXIuaAppbmRleCBkZjUxZjhm
ODc1ZjlkYzI3MzQ5N2ZlMjdlYTMzOWExNTYzM2YyYjQ3Li5lMzk3YzExOGQ3MmM5MDBhNGM0MmNl
ZjJiMmVjMDFiMmZjMWE1Njc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3Nl
cnZpY2Uvc2VydmVyL1NXU2VydmVyV29ya2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlcldvcmtlci5oCkBAIC0yNyw2ICsyNyw3IEBACiAKICNp
ZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCiAKKyNpbmNsdWRlICJTZXJ2aWNlV29ya2VyQ2xpZW50
SW5mb3JtYXRpb24uaCIKICNpbmNsdWRlICJTZXJ2aWNlV29ya2VyRGF0YS5oIgogI2luY2x1ZGUg
IlNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLmgiCiAjaW5jbHVkZSAiU2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbktleS5oIgpAQCAtNDEsNiArNDIsNyBAQCBjbGFzcyBTV1NlcnZlcjsKIGNsYXNzIFNX
U2VydmVyUmVnaXN0cmF0aW9uOwogc3RydWN0IFNlcnZpY2VXb3JrZXJDbGllbnREYXRhOwogc3Ry
dWN0IFNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyOworc3RydWN0IFNlcnZpY2VXb3JrZXJD
bGllbnRRdWVyeU9wdGlvbnM7CiBzdHJ1Y3QgU2VydmljZVdvcmtlckNvbnRleHREYXRhOwogc3Ry
dWN0IFNlcnZpY2VXb3JrZXJKb2JEYXRhSWRlbnRpZmllcjsKIGVudW0gY2xhc3MgV29ya2VyVHlw
ZTsKQEAgLTg3LDYgKzg5LDcgQEAgcHVibGljOgogICAgIHZvaWQgZGlkRmluaXNoQWN0aXZhdGlv
bigpOwogICAgIHZvaWQgY29udGV4dFRlcm1pbmF0ZWQoKTsKICAgICBzdGQ6Om9wdGlvbmFsPFNl
cnZpY2VXb3JrZXJDbGllbnREYXRhPiBmaW5kQ2xpZW50QnlJZGVudGlmaWVyKFNlcnZpY2VXb3Jr
ZXJDbGllbnRJZGVudGlmaWVyKTsKKyAgICB2b2lkIG1hdGNoQWxsKGNvbnN0IFNlcnZpY2VXb3Jr
ZXJDbGllbnRRdWVyeU9wdGlvbnMmLCBTZXJ2aWNlV29ya2VyQ2xpZW50c01hdGNoQWxsQ2FsbGJh
Y2smJik7CiAKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgU1dTZXJ2ZXJXb3JrZXIqIGV4aXN0
aW5nV29ya2VyRm9ySWRlbnRpZmllcihTZXJ2aWNlV29ya2VySWRlbnRpZmllcik7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1Nl
cnZlclRvQ29udGV4dENvbm5lY3Rpb24uY3BwIGIvU291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vz
cy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbi5jcHAKaW5kZXgg
MWJiMWM4OGRlNzY0NmE3YjYzZDZmOWM1Y2Q5YWQxYTBkNTRjNmExZC4uYjZkNmViNGViMDRiYTYz
YjViMmUwZGI5MmQ5YTllM2I5ZDI2MDk2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TdG9y
YWdlUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbi5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNX
U2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbi5jcHAKQEAgLTg2LDYgKzg2LDExIEBAIHZvaWQgV2Vi
U1dTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uOjpmaW5kQ2xpZW50QnlJZGVudGlmaWVyQ29tcGxl
dGVkKHVpbnQ2NF90IHJlCiAgICAgc2VuZChNZXNzYWdlczo6V2ViU1dDb250ZXh0TWFuYWdlckNv
bm5lY3Rpb246OkZpbmRDbGllbnRCeUlkZW50aWZpZXJDb21wbGV0ZWQgeyByZXF1ZXN0SWRlbnRp
ZmllciwgZGF0YSwgaGFzU2VjdXJpdHlFcnJvciB9KTsKIH0KIAordm9pZCBXZWJTV1NlcnZlclRv
Q29udGV4dENvbm5lY3Rpb246Om1hdGNoQWxsQ29tcGxldGVkKHVpbnQ2NF90IHJlcXVlc3RJZGVu
dGlmaWVyLCBjb25zdCBWZWN0b3I8U2VydmljZVdvcmtlckNsaWVudEluZm9ybWF0aW9uPiYgY2xp
ZW50c0RhdGEpCit7CisgICAgc2VuZChNZXNzYWdlczo6V2ViU1dDb250ZXh0TWFuYWdlckNvbm5l
Y3Rpb246Ok1hdGNoQWxsQ29tcGxldGVkIHsgcmVxdWVzdElkZW50aWZpZXIsIGNsaWVudHNEYXRh
IH0pOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI2VuZGlmIC8vIEVOQUJMRShTRVJW
SUNFX1dPUktFUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU2Vy
dmljZVdvcmtlci9XZWJTV1NlcnZlclRvQ29udGV4dENvbm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJL
aXQvU3RvcmFnZVByb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlclRvQ29udGV4dENvbm5l
Y3Rpb24uaAppbmRleCA5MTcyZTNmNmIwNTNlY2I2YTJjNDM3NDkwYjAzOGY2MjY0OTc0MGYxLi4z
NjVmMTk3MTY4ZmM5OGM1MDBkODIwMWFjNzk4Y2E4NjNhNTU2ZTlkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJUb0NvbnRl
eHRDb25uZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9TZXJ2aWNl
V29ya2VyL1dlYlNXU2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbi5oCkBAIC02MSw2ICs2MSw3IEBA
IHByaXZhdGU6CiAgICAgdm9pZCB0ZXJtaW5hdGVXb3JrZXIoV2ViQ29yZTo6U2VydmljZVdvcmtl
cklkZW50aWZpZXIpIGZpbmFsOwogICAgIHZvaWQgc3luY1Rlcm1pbmF0ZVdvcmtlcihXZWJDb3Jl
OjpTZXJ2aWNlV29ya2VySWRlbnRpZmllcikgZmluYWw7CiAgICAgdm9pZCBmaW5kQ2xpZW50QnlJ
ZGVudGlmaWVyQ29tcGxldGVkKHVpbnQ2NF90IHJlcXVlc3RJZGVudGlmaWVyLCBjb25zdCBzdGQ6
Om9wdGlvbmFsPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDbGllbnREYXRhPiYsIGJvb2wgaGFzU2Vj
dXJpdHlFcnJvcikgZmluYWw7CisgICAgdm9pZCBtYXRjaEFsbENvbXBsZXRlZCh1aW50NjRfdCBy
ZXF1ZXN0SWRlbnRpZmllciwgY29uc3QgVmVjdG9yPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDbGll
bnRJbmZvcm1hdGlvbj4mKSBmaW5hbDsKIAogICAgIFJlZjxJUEM6OkNvbm5lY3Rpb24+IG1faXBj
Q29ubmVjdGlvbjsKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nl
c3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlclRvQ29udGV4dENvbm5lY3Rpb24ubWVzc2FnZXMu
aW4gYi9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2
ZXJUb0NvbnRleHRDb25uZWN0aW9uLm1lc3NhZ2VzLmluCmluZGV4IDBlZjAxODhmMTQxOTU0MzVk
MWIwODM2ZmU3N2QzNDY2ODIzYjZjNmMuLjA2NjBiNmQ0MDFlYTQ4MjUyYmYxNGJiOWFiODFhMmU4
YmY2OWUyN2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU2Vydmlj
ZVdvcmtlci9XZWJTV1NlcnZlclRvQ29udGV4dENvbm5lY3Rpb24ubWVzc2FnZXMuaW4KKysrIGIv
U291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyVG9D
b250ZXh0Q29ubmVjdGlvbi5tZXNzYWdlcy5pbgpAQCAtMzIsNiArMzIsNyBAQCBtZXNzYWdlcyAt
PiBXZWJTV1NlcnZlclRvQ29udGV4dENvbm5lY3Rpb24gewogICAgIFNldFNlcnZpY2VXb3JrZXJI
YXNQZW5kaW5nRXZlbnRzKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIGlkZW50aWZp
ZXIsIGJvb2wgaGFzUGVuZGluZ0V2ZW50cyk7CiAgICAgV29ya2VyVGVybWluYXRlZChXZWJDb3Jl
OjpTZXJ2aWNlV29ya2VySWRlbnRpZmllciBpZGVudGlmaWVyKTsKICAgICBGaW5kQ2xpZW50QnlJ
ZGVudGlmaWVyKHVpbnQ2NF90IHJlcXVlc3RJZGVudGlmaWVyLCBXZWJDb3JlOjpTZXJ2aWNlV29y
a2VySWRlbnRpZmllciBzZXJ2aWNlV29ya2VySWRlbnRpZmllciwgc3RydWN0IFdlYkNvcmU6OlNl
cnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyIGNsaWVudElkZW50aWZpZXIpOworICAgIE1hdGNo
QWxsKHVpbnQ2NF90IG1hdGNoQWxsUmVxdWVzdElkZW50aWZpZXIsIFdlYkNvcmU6OlNlcnZpY2VX
b3JrZXJJZGVudGlmaWVyIHNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCBzdHJ1Y3QgV2ViQ29yZTo6
U2VydmljZVdvcmtlckNsaWVudFF1ZXJ5T3B0aW9ucyBvcHRpb25zKTsKIH0KIAogI2VuZGlmIC8v
IEVOQUJMRShTRVJWSUNFX1dPUktFUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmNw
cAppbmRleCBmZDY1NmM1Y2U1ZjdlYTA5ZjBkNjAwODdiODcwMWY5MGYwYTIzYjgyLi5hNWUzMDdl
MzgyMjg3YmRiNjU3ZWEzMDdkYTM1NTIzOWFiMTQxMjI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDb250ZXh0TWFuYWdl
ckNvbm5lY3Rpb24uY3BwCkBAIC0yMjAsNiArMjIwLDE5IEBAIHZvaWQgV2ViU1dDb250ZXh0TWFu
YWdlckNvbm5lY3Rpb246OmZpbmRDbGllbnRCeUlkZW50aWZpZXJDb21wbGV0ZWQodWludDY0X3Qg
cmVxCiAgICAgfQogfQogCit2b2lkIFdlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uOjptYXRj
aEFsbChXZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRlbnRpZmllciBzZXJ2aWNlV29ya2VySWRlbnRp
ZmllciwgY29uc3QgU2VydmljZVdvcmtlckNsaWVudFF1ZXJ5T3B0aW9ucyYgb3B0aW9ucywgU2Vy
dmljZVdvcmtlckNsaWVudHNNYXRjaEFsbENhbGxiYWNrJiYgY2FsbGJhY2spCit7CisgICAgYXV0
byByZXF1ZXN0SWRlbnRpZmllciA9ICsrbV9wcmV2aW91c1JlcXVlc3RJZGVudGlmaWVyOworICAg
IG1fbWF0Y2hBbGxSZXF1ZXN0cy5hZGQocmVxdWVzdElkZW50aWZpZXIsIFdURk1vdmUoY2FsbGJh
Y2spKTsKKyAgICBtX2Nvbm5lY3Rpb25Ub1N0b3JhZ2VQcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpX
ZWJTV1NlcnZlclRvQ29udGV4dENvbm5lY3Rpb246Ok1hdGNoQWxsIHsgcmVxdWVzdElkZW50aWZp
ZXIsIHNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCBvcHRpb25zIH0sIDApOworfQorCit2b2lkIFdl
YlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uOjptYXRjaEFsbENvbXBsZXRlZCh1aW50NjRfdCBy
ZXF1ZXN0SWRlbnRpZmllciwgVmVjdG9yPFNlcnZpY2VXb3JrZXJDbGllbnRJbmZvcm1hdGlvbj4m
JiBjbGllbnRzRGF0YSkKK3sKKyAgICBpZiAoYXV0byBjYWxsYmFjayA9IG1fbWF0Y2hBbGxSZXF1
ZXN0cy50YWtlKHJlcXVlc3RJZGVudGlmaWVyKSkKKyAgICAgICAgY2FsbGJhY2soV1RGTW92ZShj
bGllbnRzRGF0YSkpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBF
TkFCTEUoU0VSVklDRV9XT1JLRVIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5oIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uaAppbmRl
eCA1OTdkYTRlY2UzNmNhMDhmY2UyNmE3MjcxNzRhMzFkZTY2ZjkxNDNkLi44ZTU3NjIyOGQyODNl
YTIyMWZjM2VkYWUyOGE4ZjYwN2M3MGQwNzY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0
aW9uLmgKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlICJNZXNzYWdlUmVjZWl2ZXIuaCIKICNp
bmNsdWRlICJXZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbk1lc3NhZ2VzLmgiCiAjaW5jbHVk
ZSA8V2ViQ29yZS9TV0NvbnRleHRNYW5hZ2VyLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9TZXJ2aWNl
V29ya2VyQ2xpZW50SW5mb3JtYXRpb24uaD4KICNpbmNsdWRlIDxXZWJDb3JlL1NlcnZpY2VXb3Jr
ZXJUeXBlcy5oPgogCiBuYW1lc3BhY2UgSVBDIHsKQEAgLTY0LDYgKzY1LDcgQEAgcHJpdmF0ZToK
ICAgICB2b2lkIHNldFNlcnZpY2VXb3JrZXJIYXNQZW5kaW5nRXZlbnRzKFdlYkNvcmU6OlNlcnZp
Y2VXb3JrZXJJZGVudGlmaWVyLCBib29sKSBmaW5hbDsKICAgICB2b2lkIHdvcmtlclRlcm1pbmF0
ZWQoV2ViQ29yZTo6U2VydmljZVdvcmtlcklkZW50aWZpZXIpIGZpbmFsOwogICAgIHZvaWQgZmlu
ZENsaWVudEJ5SWRlbnRpZmllcihXZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRlbnRpZmllciwgV2Vi
Q29yZTo6U2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXIsIEZpbmRDbGllbnRCeUlkZW50aWZp
ZXJDYWxsYmFjayYmKSBmaW5hbDsKKyAgICB2b2lkIG1hdGNoQWxsKFdlYkNvcmU6OlNlcnZpY2VX
b3JrZXJJZGVudGlmaWVyLCBjb25zdCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ2xpZW50UXVlcnlP
cHRpb25zJiwgV2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVudHNNYXRjaEFsbENhbGxiYWNrJiYp
IGZpbmFsOwogCiAgICAgLy8gSVBDIG1lc3NhZ2VzLgogICAgIHZvaWQgc2VydmljZVdvcmtlclN0
YXJ0ZWRXaXRoTWVzc2FnZShzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJKb2JE
YXRhSWRlbnRpZmllcj4sIFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCBjb25zdCBT
dHJpbmcmIGV4Y2VwdGlvbk1lc3NhZ2UpIGZpbmFsOwpAQCAtNzUsMTIgKzc3LDE0IEBAIHByaXZh
dGU6CiAgICAgdm9pZCB0ZXJtaW5hdGVXb3JrZXIoV2ViQ29yZTo6U2VydmljZVdvcmtlcklkZW50
aWZpZXIpOwogICAgIHZvaWQgc3luY1Rlcm1pbmF0ZVdvcmtlcihXZWJDb3JlOjpTZXJ2aWNlV29y
a2VySWRlbnRpZmllciwgUmVmPE1lc3NhZ2VzOjpXZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlv
bjo6U3luY1Rlcm1pbmF0ZVdvcmtlcjo6RGVsYXllZFJlcGx5PiYmKTsKICAgICB2b2lkIGZpbmRD
bGllbnRCeUlkZW50aWZpZXJDb21wbGV0ZWQodWludDY0X3QgcmVxdWVzdElkZW50aWZpZXIsIHN0
ZDo6b3B0aW9uYWw8V2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVudERhdGE+JiYsIGJvb2wgaGFz
U2VjdXJpdHlFcnJvcik7CisgICAgdm9pZCBtYXRjaEFsbENvbXBsZXRlZCh1aW50NjRfdCBtYXRj
aEFsbFJlcXVlc3RJZGVudGlmaWVyLCBWZWN0b3I8V2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVu
dEluZm9ybWF0aW9uPiYmKTsKIAogICAgIFJlZjxJUEM6OkNvbm5lY3Rpb24+IG1fY29ubmVjdGlv
blRvU3RvcmFnZVByb2Nlc3M7CiAgICAgdWludDY0X3QgbV9wYWdlSUQgeyAwIH07CiAgICAgdWlu
dDY0X3QgbV9wcmV2aW91c1NlcnZpY2VXb3JrZXJJRCB7IDAgfTsKIAogICAgIEhhc2hNYXA8dWlu
dDY0X3QsIEZpbmRDbGllbnRCeUlkZW50aWZpZXJDYWxsYmFjaz4gbV9maW5kQ2xpZW50QnlJZGVu
dGlmaWVyUmVxdWVzdHM7CisgICAgSGFzaE1hcDx1aW50NjRfdCwgV2ViQ29yZTo6U2VydmljZVdv
cmtlckNsaWVudHNNYXRjaEFsbENhbGxiYWNrPiBtX21hdGNoQWxsUmVxdWVzdHM7CiAgICAgdWlu
dDY0X3QgbV9wcmV2aW91c1JlcXVlc3RJZGVudGlmaWVyIHsgMCB9OwogfTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDb250ZXh0TWFuYWdlckNv
bm5lY3Rpb24ubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9X
ZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5tZXNzYWdlcy5pbgppbmRleCA3YTE3MTVlMzZl
N2Y2MjNkNzJhZGZlMjJjZDI2MjY4Zjc4OTIwMDcwLi5jMjFhNTA5ZmQyYjYxYzJlNjllMmVlNWVj
OTBmODZhNTY5ZjQ1NTg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3Rv
cmFnZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5tZXNzYWdlcy5pbgorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlv
bi5tZXNzYWdlcy5pbgpAQCAtMzEsNiArMzEsNyBAQCBtZXNzYWdlcyAtPiBXZWJTV0NvbnRleHRN
YW5hZ2VyQ29ubmVjdGlvbiB7CiAgICAgVGVybWluYXRlV29ya2VyKFdlYkNvcmU6OlNlcnZpY2VX
b3JrZXJJZGVudGlmaWVyIGlkZW50aWZpZXIpCiAgICAgU3luY1Rlcm1pbmF0ZVdvcmtlcihXZWJD
b3JlOjpTZXJ2aWNlV29ya2VySWRlbnRpZmllciBpZGVudGlmaWVyKSAtPiAoKSBEZWxheWVkCiAg
ICAgRmluZENsaWVudEJ5SWRlbnRpZmllckNvbXBsZXRlZCh1aW50NjRfdCBjbGllbnRJZFJlcXVl
c3RJZGVudGlmaWVyLCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDbGllbnRE
YXRhPiBkYXRhLCBib29sIGhhc1NlY3VyaXR5RXJyb3IpCisgICAgTWF0Y2hBbGxDb21wbGV0ZWQo
dWludDY0X3QgbWF0Y2hBbGxSZXF1ZXN0SWRlbnRpZmllciwgVmVjdG9yPFdlYkNvcmU6OlNlcnZp
Y2VXb3JrZXJDbGllbnRJbmZvcm1hdGlvbj4gY2xpZW50c0RhdGEpCiB9CiAKICNlbmRpZgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmlu
ZGV4IDdkZWJmZmFiZmJkODVjMmQwNWJiYjQ2MjA4NjVlYzZiOGY3ZmViZWYuLjM2MGE5NGUzY2Ey
NDQwNThjODkwMWY1YjBiZTFjMzVkMjVhNjdjZGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsNSArMSwxNiBAQAogMjAx
Ny0xMi0wMSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKKyAgICAgICAgSW1w
bGVtZW50IGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9TZXJ2aWNlV29ya2VyLyNjbGllbnRzLWdldGFs
bAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgwMjc2
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBodHRw
L3Rlc3RzL3dvcmtlcnMvc2VydmljZS9zZXJ2aWNld29ya2VyY2xpZW50cy1tYXRjaEFsbC13b3Jr
ZXIuanM6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL3NlcnZp
Y2V3b3JrZXJjbGllbnRzLW1hdGNoQWxsLmh0dHBzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2Uvc2VydmljZXdvcmtlcmNsaWVudHMtbWF0
Y2hBbGwuaHR0cHMuaHRtbDogQWRkZWQuCisKKzIwMTctMTItMDEgIFlvdWVubiBGYWJsZXQgIDx5
b3Vlbm5AYXBwbGUuY29tPgorCiAgICAgICAgIEltcGxlbWVudCBodHRwczovL3czYy5naXRodWIu
aW8vU2VydmljZVdvcmtlci8jY2xpZW50cy1nZXQKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MDE2NwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxv
ZwppbmRleCAyNzEzZWFlNzUxOWVhYTMxMTVlNjIzNDVjNWU0ZmFhYmUxMzZiOTM3Li44ZmEwZTUw
MTUzY2IwOTNiZDVjYzE2ZGNhOGIwYTNmYzJkYjMxMjFlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxNy0xMi0wMSAgWW91ZW5uIEZhYmxldCAgPHlv
dWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IGh0dHBzOi8vdzNjLmdpdGh1Yi5p
by9TZXJ2aWNlV29ya2VyLyNjbGllbnRzLWdldGFsbAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgwMjc2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL2NhY2hlLXN0b3JhZ2Uvc2VydmljZXdvcmtlci9jcmVkZW50aWFscy5odHRwcy1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci9uYXZpZ2F0ZS13aW5kb3cuaHR0cHMtZXhwZWN0ZWQudHh0OgorCiAyMDE3LTEy
LTAxICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgRHJvcCBjbGll
bnRDcmVhdGlvblVSTCBmcm9tIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL3NlcnZpY2V3b3JrZXJj
bGllbnRzLW1hdGNoQWxsLXdvcmtlci5qcyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vy
cy9zZXJ2aWNlL3NlcnZpY2V3b3JrZXJjbGllbnRzLW1hdGNoQWxsLXdvcmtlci5qcwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMWNkMTUzZmEzZGE3NDQyZTFjMTA2OWUxMWQwN2NjMjA1ODY1MTgxCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2Uvc2VydmljZXdv
cmtlcmNsaWVudHMtbWF0Y2hBbGwtd29ya2VyLmpzCkBAIC0wLDAgKzEsNDEgQEAKK3ZhciBtYXRj
aEFsbFByb21pc2UxID0gc2VsZi5jbGllbnRzLm1hdGNoQWxsKCkudGhlbigoY2xpZW50cykgPT4g
eworICAgIHJldHVybiBjbGllbnRzLmxlbmd0aCA9PT0gMCA/ICJQQVNTIiA6ICJGQUlMOiBleHBl
Y3RlZCBubyBtYXRjaGVkIGNsaWVudCwgZ290ICIgKyBjbGllbnRzLmxlbmd0aDsKK30sIChlKSA9
PiB7CisgICAgcmV0dXJuICJGQUlMOiBtYXRjaEFsbCAxIHJlamVjdGVkIHdpdGggIiArIGU7Cit9
KTsKKworCit2YXIgbWF0Y2hlZENsaWVudHM7CittYXRjaEFsbFByb21pc2UyID0gc2VsZi5jbGll
bnRzLm1hdGNoQWxsKHsgaW5jbHVkZVVuY29udHJvbGxlZCA6IHRydWUgfSkudGhlbigoYykgPT4g
eworICAgIG1hdGNoZWRDbGllbnRzID0gYzsKKyAgICByZXR1cm4gbWF0Y2hlZENsaWVudHMubGVu
Z3RoID09PSAxID8gIlBBU1MiIDogIkZBSUw6IGV4cGVjdGVkIG9uZSBtYXRjaGVkIGNsaWVudCwg
Z290ICIgKyBtYXRjaGVkQ2xpZW50cy5sZW5ndGg7Cit9LCAoZSkgPT4geworICAgIHJldHVybiAi
RkFJTDogbWF0Y2hBbGwgMiByZWplY3RlZCB3aXRoICIgKyBlOworfSk7CisKK2FzeW5jIGZ1bmN0
aW9uIGRvVGVzdEFmdGVyTWVzc2FnZShldmVudCkKK3sKKyAgICB0cnkgeworICAgICAgICBpZiAo
ZXZlbnQuZGF0YSAhPT0gInN0YXJ0IikgeworICAgICAgICAgICAgZXZlbnQuc291cmNlLnBvc3RN
ZXNzYWdlKCJGQUlMOiByZWNlaXZlZCB1bmV4cGVjdGVkIG1lc3NhZ2UgZnJvbSBjbGllbnQiKTsK
KyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIHZhciByZXN1bHQgPSBh
d2FpdCBtYXRjaEFsbFByb21pc2UxOworICAgICAgICBpZiAocmVzdWx0ICE9PSAiUEFTUyIpIHsK
KyAgICAgICAgICAgIGV2ZW50LnNvdXJjZS5wb3N0TWVzc2FnZShyZXN1bHQpOworICAgICAgICAg
ICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgdmFyIHJlc3VsdCA9IGF3YWl0IG1hdGNo
QWxsUHJvbWlzZTI7CisgICAgICAgIGlmIChyZXN1bHQgIT09ICJQQVNTIikgeworICAgICAgICAg
ICAgZXZlbnQuc291cmNlLnBvc3RNZXNzYWdlKHJlc3VsdCk7CisgICAgICAgICAgICByZXR1cm47
CisgICAgICAgIH0KKyAgICAgICAgZXZlbnQuc291cmNlLnBvc3RNZXNzYWdlKCJQQVNTIik7Cisg
ICAgfSBjYXRjaCAoZSkgeworICAgICAgICBldmVudC5zb3VyY2UucG9zdE1lc3NhZ2UoIkZBSUw6
IHJlY2VpdmVkIGV4Y2VwdGlvbiAiICsgZSk7CisgICAgfQorfQorCitzZWxmLmFkZEV2ZW50TGlz
dGVuZXIoIm1lc3NhZ2UiLCBkb1Rlc3RBZnRlck1lc3NhZ2UpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2Uvc2VydmljZXdvcmtlcmNsaWVudHMtbWF0
Y2hBbGwuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJz
L3NlcnZpY2Uvc2VydmljZXdvcmtlcmNsaWVudHMtbWF0Y2hBbGwuaHR0cHMtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjU5Mjg0MjU4OGMyMTFjOGNiYTVmMDgwOTdkOWMxZDg4YjFhOTcyYjEKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9z
ZXJ2aWNld29ya2VyY2xpZW50cy1tYXRjaEFsbC5odHRwcy1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSw0IEBACisKK1BBU1MgU2V0dXAgd29ya2VyIAorUEFTUyBUZXN0IHNlbGYuY2xpZW50cy5tYXRj
aEFsbCAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZp
Y2Uvc2VydmljZXdvcmtlcmNsaWVudHMtbWF0Y2hBbGwuaHR0cHMuaHRtbCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL3NlcnZpY2V3b3JrZXJjbGllbnRzLW1hdGNoQWxs
Lmh0dHBzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWFmNGQ5ODY1NDg0NTdiZGE0OWVmNzRmY2U1OTgzZmMx
NDVhN2FhYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vy
cy9zZXJ2aWNlL3NlcnZpY2V3b3JrZXJjbGllbnRzLW1hdGNoQWxsLmh0dHBzLmh0bWwKQEAgLTAs
MCArMSw0MiBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KK3ZhciBzY29w
ZSA9ICIvd29ya2Vycy9zZXJ2aWNlL3NlcnZpY2V3b3JrZXJjbGllbnRzLWNsYWltLmh0dHBzLmh0
bWwiOwordmFyIGFjdGl2ZVdvcmtlcjsKKworcHJvbWlzZV90ZXN0KGFzeW5jICh0ZXN0KSA9PiB7
CisgICAgdmFyIHJlZ2lzdHJhdGlvbiA9IGF3YWl0IG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLmdl
dFJlZ2lzdHJhdGlvbihzY29wZSk7CisgICAgaWYgKHJlZ2lzdHJhdGlvbiAmJiByZWdpc3RyYXRp
b24uc2NvcGUgPT09IHNjb3BlKQorICAgICAgICBhd2FpdCByZWdpc3RyYXRpb24udW5yZWdpc3Rl
cigpOworCisgICAgdmFyIHJlZ2lzdHJhdGlvbiA9IGF3YWl0IG5hdmlnYXRvci5zZXJ2aWNlV29y
a2VyLnJlZ2lzdGVyKCJzZXJ2aWNld29ya2VyY2xpZW50cy1tYXRjaEFsbC13b3JrZXIuanMiLCB7
IHNjb3BlIDogc2NvcGUgfSk7CisgICAgYWN0aXZlV29ya2VyID0gcmVnaXN0cmF0aW9uLmFjdGl2
ZTsKKyAgICBpZiAoYWN0aXZlV29ya2VyKQorICAgICAgICByZXR1cm47CisgICAgYWN0aXZlV29y
a2VyID0gcmVnaXN0cmF0aW9uLmluc3RhbGxpbmc7CisgICAgcmV0dXJuIG5ldyBQcm9taXNlKHJl
c29sdmUgPT4geworICAgICAgICBhY3RpdmVXb3JrZXIuYWRkRXZlbnRMaXN0ZW5lcignc3RhdGVj
aGFuZ2UnLCAoKSA9PiB7CisgICAgICAgICAgICBpZiAoYWN0aXZlV29ya2VyLnN0YXRlID09PSAi
YWN0aXZhdGVkIikKKyAgICAgICAgICAgICAgICByZXNvbHZlKCk7CisgICAgICAgIH0pOworICAg
IH0pOworfSwgIlNldHVwIHdvcmtlciIpOworCitwcm9taXNlX3Rlc3QoYXN5bmMgKHRlc3QpID0+
IHsKKyAgICB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHsK
KyAgICAgICAgbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2Fn
ZSIsIHRlc3Quc3RlcF9mdW5jKChldmVudCkgPT4geworICAgICAgICAgICAgYXNzZXJ0X2VxdWFs
cyhldmVudC5kYXRhLCAiUEFTUyIpOworICAgICAgICAgICAgcmVzb2x2ZSgpOworICAgICAgICB9
KSk7CisgICAgfSk7CisKKyAgICBhY3RpdmVXb3JrZXIucG9zdE1lc3NhZ2UoInN0YXJ0Iik7Cisg
ICAgYXdhaXQgcHJvbWlzZTsKK30sICJUZXN0IHNlbGYuY2xpZW50cy5tYXRjaEFsbCIpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3Nl
cnZpY2V3b3JrZXIvY3JlZGVudGlhbHMuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3Rv
cmFnZS9zZXJ2aWNld29ya2VyL2NyZWRlbnRpYWxzLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCBj
MWU0NThjYmRiNDc2MDA3MjU2Y2E4YTMwMTM0OGRhZGZkMzhjZDMzLi5kZWQwYTBkYzU1MjI4MmQ2
NjUyZDg5MzBmM2Y4ZjY5YjZlYzk4NmYzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3Nl
cnZpY2V3b3JrZXIvY3JlZGVudGlhbHMuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hl
LXN0b3JhZ2Uvc2VydmljZXdvcmtlci9jcmVkZW50aWFscy5odHRwcy1leHBlY3RlZC50eHQKQEAg
LTEsNSArMSwzIEBACiAKLUhhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAot
Ci1USU1FT1VUIENhY2hlIEFQSSBtYXRjaGluZyBpbmNsdWRlcyBjcmVkZW50aWFscyBUZXN0IHRp
bWVkIG91dAorUEFTUyBDYWNoZSBBUEkgbWF0Y2hpbmcgaW5jbHVkZXMgY3JlZGVudGlhbHMgCiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL25hdmlnYXRlLXdpbmRvdy5odHRwcy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9uYXZpZ2F0ZS13aW5kb3cuaHR0cHMtZXhwZWN0
ZWQudHh0CmluZGV4IGE4MTY1YTc5MTdiMmUzNjRjMGZmODQ4NTEwZjBkZGNjYTJmOWUzOWYuLjdk
NGU2OWRlNzUyYzBjNWY0ODcyMWIwMjg2YmRiYmY2MDIxOWMwYjAgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL25hdmlnYXRlLXdpbmRvdy5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvbmF2aWdhdGUtd2luZG93Lmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSw0
ICsxLDQgQEAKIAotRkFJTCBDbGllbnRzLm1hdGNoQWxsKCkgc2hvdWxkIG5vdCBzaG93IGFuIG9s
ZCB3aW5kb3cgYXMgY29udHJvbGxlZCBhZnRlciBpdCBuYXZpZ2F0ZXMuIGFzc2VydF91bnJlYWNo
ZWQ6IHVuZXhwZWN0ZWQgcmVqZWN0aW9uOiBtYXRjaEFsbCgpIHJlamVjdGVkIHdpdGggIk5vdFN1
cHBvcnRlZEVycm9yOiBjbGllbnRzLm1hdGNoQWxsKCkgaXMgbm90IHlldCBzdXBwb3J0ZWQiIFJl
YWNoZWQgdW5yZWFjaGFibGUgY29kZQotRkFJTCBDbGllbnRzLm1hdGNoQWxsKCkgc2hvdWxkIG5v
dCBzaG93IGFuIG9sZCB3aW5kb3cgYWZ0ZXIgaXQgbmF2aWdhdGVzLiBhc3NlcnRfdW5yZWFjaGVk
OiB1bmV4cGVjdGVkIHJlamVjdGlvbjogbWF0Y2hBbGwoKSByZWplY3RlZCB3aXRoICJOb3RTdXBw
b3J0ZWRFcnJvcjogY2xpZW50cy5tYXRjaEFsbCgpIGlzIG5vdCB5ZXQgc3VwcG9ydGVkIiBSZWFj
aGVkIHVucmVhY2hhYmxlIGNvZGUKK1BBU1MgQ2xpZW50cy5tYXRjaEFsbCgpIHNob3VsZCBub3Qg
c2hvdyBhbiBvbGQgd2luZG93IGFzIGNvbnRyb2xsZWQgYWZ0ZXIgaXQgbmF2aWdhdGVzLiAKK0ZB
SUwgQ2xpZW50cy5tYXRjaEFsbCgpIHNob3VsZCBub3Qgc2hvdyBhbiBvbGQgd2luZG93IGFmdGVy
IGl0IG5hdmlnYXRlcy4gYXNzZXJ0X3VucmVhY2hlZDogdW5leHBlY3RlZCByZWplY3Rpb246IGFz
c2VydF9lcXVhbHM6IGV4cGVjdGVkIG51bWJlciBvZiBjbGllbnRzIGV4cGVjdGVkIDMgYnV0IGdv
dCAyIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>