<?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>179517</bug_id>
          
          <creation_ts>2017-11-09 18:41:08 -0800</creation_ts>
          <short_desc>ServiceWorkerRegistration objects may get recycled for different SWServerRegistration objects</short_desc>
          <delta_ts>2017-11-15 09:43:24 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>beidson</cc>
    
    <cc>ggaren</cc>
    
    <cc>ryanhaddad</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1370161</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-11-09 18:41:08 -0800</bug_when>
    <thetext>ServiceWorkerRegistration objects may get recycled for different SWServerRegistration objects, leading to flakiness in the tests. Right now, we use ServiceWorkerRegistrationKey as key in the m_registration map on WebProcess side. The lifetime of the ServiceWorkerRegistration objects is tied to the lifetime of their JS wrapper. When the test does a registration for a given scope, then unregisters, then registers again for the same scope, we end up creating a new SWServerRegistration object on server side, but possibly reuse the same ServiceWorkerRegistration object on WebProcess side, if the wrapper has not been garbage collected. This is because the registrations have the same ServiceWorkerRegistrationKey.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1370185</commentid>
    <comment_count>1</comment_count>
      <attachid>326538</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-11-09 20:03:01 -0800</bug_when>
    <thetext>Created attachment 326538
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1370223</commentid>
    <comment_count>2</comment_count>
      <attachid>326553</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-11-09 22:04:46 -0800</bug_when>
    <thetext>Created attachment 326553
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1370226</commentid>
    <comment_count>3</comment_count>
      <attachid>326553</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2017-11-09 22:14:33 -0800</bug_when>
    <thetext>Comment on attachment 326553
Patch

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

&gt; Source/WebCore/ChangeLog:22
&gt; +        * WebCore.xcodeproj/project.pbxproj:

This is no longer changed \o/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1370227</commentid>
    <comment_count>4</comment_count>
      <attachid>326555</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-11-09 22:24:36 -0800</bug_when>
    <thetext>Created attachment 326555
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1370229</commentid>
    <comment_count>5</comment_count>
      <attachid>326555</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-11-09 22:26:45 -0800</bug_when>
    <thetext>Comment on attachment 326555
Patch

Clearing flags on attachment: 326555

Committed r224664: &lt;https://trac.webkit.org/changeset/224664&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1370230</commentid>
    <comment_count>6</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-11-09 22:26:47 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1371980</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-11-15 09:43:24 -0800</bug_when>
    <thetext>&lt;rdar://problem/35562308&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>326538</attachid>
            <date>2017-11-09 20:03:01 -0800</date>
            <delta_ts>2017-11-09 22:04:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-179517-20171109200300.patch</filename>
            <type>text/plain</type>
            <size>83166</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI0NjUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGNjNzM2OWJiZTBlYTJl
ODZmMjJlZTM2MzNkZGFkMzEyZTEwNDljZC4uODVkYmM5MGNmZjU5M2FiZGZkMWE0OGExZDNlOTkz
YWRkNjhhMzQwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDYxIEBACiAyMDE3LTExLTA5ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKKyAgICAgICAgU2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbiBvYmplY3RzIG1heSBnZXQgcmVjeWNsZWQgZm9yIGRpZmZlcmVudCBTV1NlcnZlclJl
Z2lzdHJhdGlvbiBvYmplY3RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNzk1MTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uIG9iamVjdHMgY291bGQgZ2V0IHJl
Y3ljbGVkIGZvciBkaWZmZXJlbnQgU1dTZXJ2ZXJSZWdpc3RyYXRpb24gb2JqZWN0cywgbGVhZGlu
ZyB0bworICAgICAgICBmbGFraW5lc3MgaW4gdGhlIHRlc3RzLiBXZSB1c2VzIFNlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb25LZXkgYXMga2V5IGluIHRoZSBtX3JlZ2lzdHJhdGlvbiBtYXAgb24gV2Vi
UHJvY2VzcworICAgICAgICBzaWRlLiBUaGUgbGlmZXRpbWUgb2YgdGhlIFNlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb24gb2JqZWN0cyBpcyB0aWVkIHRvIHRoZSBsaWZldGltZSBvZiB0aGVpciBKUyB3
cmFwcGVyLgorICAgICAgICBXaGVuIGEgdGVzdCBkb2VzIGEgcmVnaXN0cmF0aW9uIGZvciBhIGdp
dmVuIHNjb3BlLCB0aGVuIHVucmVnaXN0ZXJzLCB0aGVuIHJlZ2lzdGVycyBhZ2FpbiBmb3IgdGhl
IHNhbWUgc2NvcGUsCisgICAgICAgIHdlIHdvdWxkIGVuZCB1cCBjcmVhdGluZyBhIG5ldyBTV1Nl
cnZlclJlZ2lzdHJhdGlvbiBvYmplY3Qgb24gc2VydmVyIHNpZGUsIGJ1dCBwb3NzaWJseSByZXVz
ZSB0aGUgc2FtZQorICAgICAgICBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uIG9iamVjdCBvbiBX
ZWJQcm9jZXNzIHNpZGUsIGlmIGl0cyB3cmFwcGVyIGhhcyBub3QgeWV0IGJlZW4gZ2FyYmFnZSBj
b2xsZWN0ZWQuCisgICAgICAgIFRoaXMgaXMgYmVjYXVzZSB0aGUgcmVnaXN0cmF0aW9ucyBoYXZl
IHRoZSBzYW1lIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkgaW4gdGhpcyBjYXNlLgorCisg
ICAgICAgIFRvIGFkZHJlc3MgdGhlIGlzc3VlLCB3ZSBub3cgdXNlIHRoZSBTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uSWRlbnRpZmllciBhcyBrZXkgaW4gdGhlIG1fcmVnaXN0cmF0aW9uCisgICAg
ICAgIGhhc2ggbWFwLiBBIFNXU2VydmVyUmVnaXN0cmF0aW9uIGhhcyBhIHVuaXF1ZSBTZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciBvbiBzZXJ2ZXIgc2lkZS4KKyAgICAgICAgQWxs
IGl0cyBjbGllbnRzIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24gYWxzbyB1c2UgdGhlIHNhbWUg
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIuCisKKyAgICAgICAgVGVzdDogaHR0
cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvYmFzaWMtdW5yZWdpc3Rlci10aGVuLXJlZ2lzdGVyLWFn
YWluLW5vLXJldXNlLmh0bWwKKworICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvajoKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5l
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjpnZXRSZWdp
c3RyYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlckNvbnRhaW5lcjo6c2No
ZWR1bGVUYXNrVG9VcGRhdGVSZWdpc3RyYXRpb25TdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpT
ZXJ2aWNlV29ya2VyQ29udGFpbmVyOjpzY2hlZHVsZVRhc2tUb0ZpcmVVcGRhdGVGb3VuZEV2ZW50
KToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDb250YWluZXI6OmpvYlJlc29sdmVk
V2l0aFJlZ2lzdHJhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ29udGFp
bmVyOjphZGRSZWdpc3RyYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlckNv
bnRhaW5lcjo6cmVtb3ZlUmVnaXN0cmF0aW9uKToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2Uv
U2VydmljZVdvcmtlckNvbnRhaW5lci5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uLmg6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhLmg6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29y
a2VyUmVnaXN0cmF0aW9uRGF0YTo6ZGVjb2RlKToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2Uv
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIuaDogQWRkZWQuCisgICAgICAgICog
d29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV0NsaWVudENvbm5lY3Rpb24uY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U1dDbGllbnRDb25uZWN0aW9uOjp1cGRhdGVSZWdpc3RyYXRpb25TdGF0ZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpTV0NsaWVudENvbm5lY3Rpb246OmZpcmVVcGRhdGVGb3VuZEV2ZW50
KToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXQ2xpZW50Q29ubmVjdGlvbi5o
OgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6U1dTZXJ2ZXI6OkNvbm5lY3Rpb246OmFkZFNlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb25JblNlcnZlcik6CisgICAgICAgIChXZWJDb3JlOjpTV1NlcnZlcjo6Q29ubmVjdGlvbjo6
cmVtb3ZlU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkluU2VydmVyKToKKyAgICAgICAgKFdlYkNv
cmU6OlNXU2VydmVyOjpyZXNvbHZlUmVnaXN0cmF0aW9uSm9iKToKKyAgICAgICAgKFdlYkNvcmU6
OlNXU2VydmVyOjphZGRDbGllbnRTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uKToKKyAgICAgICAg
KFdlYkNvcmU6OlNXU2VydmVyOjpyZW1vdmVDbGllbnRTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
KToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmg6CisgICAgICAg
ICogd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlclJlZ2lzdHJhdGlvbi5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpnZW5lcmF0ZVNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVy
KToKKyAgICAgICAgKFdlYkNvcmU6OlNXU2VydmVyUmVnaXN0cmF0aW9uOjpTV1NlcnZlclJlZ2lz
dHJhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpTV1NlcnZlclJlZ2lzdHJhdGlvbjo6dXBkYXRl
UmVnaXN0cmF0aW9uU3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6U1dTZXJ2ZXJSZWdpc3RyYXRp
b246OmZpcmVVcGRhdGVGb3VuZEV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlNXU2VydmVyUmVn
aXN0cmF0aW9uOjpmb3JFYWNoQ29ubmVjdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpTV1NlcnZl
clJlZ2lzdHJhdGlvbjo6YWRkQ2xpZW50U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbik6CisgICAg
ICAgIChXZWJDb3JlOjpTV1NlcnZlclJlZ2lzdHJhdGlvbjo6cmVtb3ZlQ2xpZW50U2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbik6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1Nl
cnZlclJlZ2lzdHJhdGlvbi5oOgorICAgICAgICAoV2ViQ29yZTo6U1dTZXJ2ZXJSZWdpc3RyYXRp
b246OmlkZW50aWZpZXIgY29uc3QpOgorCisyMDE3LTExLTA5ICBDaHJpcyBEdW1leiAgPGNkdW1l
ekBhcHBsZS5jb20+CisKICAgICAgICAgSW1wbGVtZW50IHJlYWwgcG9zdCAnaW5zdGFsbCcgZXZl
bnQgc3RlcHMgb2YgdGhlIEluc3RhbGwgYWxnb3JpdGhtIChzdGVwcyAxNCspCiAgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzk0MDEKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRl
eCAwMDk2OTA1NjZmNjllNjdmNzZkZDViZGM5OGM1NTBlN2MzNTI2NjY4Li4xYzFkOTRmYjNhZjQx
MTEyOGUwZTFlMWU5ZmI4NGMyNWE5MzE3OTNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI1IEBACiAy
MDE3LTExLTA5ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKKyAgICAgICAgU2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbiBvYmplY3RzIG1heSBnZXQgcmVjeWNsZWQgZm9yIGRpZmZl
cmVudCBTV1NlcnZlclJlZ2lzdHJhdGlvbiBvYmplY3RzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzk1MTcKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5Ogor
ICAgICAgICAoZm9yd2FyZF9kZWNsYXJhdGlvbnNfYW5kX2hlYWRlcnMpOgorICAgICAgICAqIFN0
b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6V2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjp1cGRhdGVSZWdpc3RyYXRpb25T
dGF0ZUluQ2xpZW50KToKKyAgICAgICAgKFdlYktpdDo6V2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjpm
aXJlVXBkYXRlRm91bmRFdmVudCk6CisgICAgICAgICogU3RvcmFnZVByb2Nlc3MvU2VydmljZVdv
cmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uaDoKKyAgICAgICAgKiBTdG9yYWdlUHJvY2Vzcy9T
ZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5tZXNzYWdlcy5pbjoKKyAgICAgICAg
KiBXZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6V2ViU1dDbGllbnRDb25uZWN0aW9uOjphZGRTZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uSW5TZXJ2ZXIpOgorICAgICAgICAoV2ViS2l0OjpXZWJTV0NsaWVudENvbm5lY3Rpb246OnJl
bW92ZVNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JblNlcnZlcik6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5oOgorICAgICAgICAqIFdlYlByb2Nl
c3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24ubWVzc2FnZXMuaW46CisKKzIwMTctMTEt
MDkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKwogICAgICAgICBJbXBsZW1lbnQg
cmVhbCBwb3N0ICdpbnN0YWxsJyBldmVudCBzdGVwcyBvZiB0aGUgSW5zdGFsbCBhbGdvcml0aG0g
KHN0ZXBzIDE0KykKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE3OTQwMQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKaW5kZXggNzU2ZmY3MWUzOTBhMTQ3NmRmMDkwMjJhNjA0OTllMTNlZTg2NDcx
NS4uMDg5NWI0YTRlZWU5ZWQyOGM5ZmJmOTkwZDAwNjgyNjNlODVmNjVkMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjE2NCw2
ICsyMTY0LDcgQEAKIAkJODMxMUMwMDMxRkFBMkU5NTAwRTNDOEU1IC8qIFNXU2VydmVySm9iUXVl
dWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDgzMTFD
MDAyMUZBQTJFODkwMEUzQzhFNSAvKiBTV1NlcnZlckpvYlF1ZXVlLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJODMxMjBDNzExQzU2RjNGQjAwMUNC
MTEyIC8qIEhUTUxEYXRhRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gODM0Qjg2QTcxQzU2RTgzQTAwRjNGMEUzIC8qIEhUTUxEYXRhRWxlbWVu
dC5oICovOyB9OwogCQk4MzIxNTA3RTFGMjdFQTFCMDA5NUIxMzYgLyogTmF2aWdhdG9yQmVhY29u
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4MzIxNTA3
QjFGMjdFQTE1MDA5NUIxMzYgLyogTmF2aWdhdG9yQmVhY29uLmggKi87IH07CisJCTgzMkE4Q0U4
MUZCNTQ2NDkwMEFCNjY2QyAvKiBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllci5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODMyQThDRTYx
RkI1NDYzRjAwQUI2NjZDIC8qIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJODMyQjg0
MzQxOUQ4RTU1MTAwQjI2MDU1IC8qIFNWR0FuaW1hdGVFbGVtZW50QmFzZS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODMyQjg0MzMxOUQ4RTU1MTAwQjI2
MDU1IC8qIFNWR0FuaW1hdGVFbGVtZW50QmFzZS5oICovOyB9OwogCQk4MzNCOUUzMjFGNTA4RDg1
MDBFMEU0MjggLyogSlNGaWxlU3lzdGVtRGlyZWN0b3J5RW50cnkuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDgzM0I5RTJGMUY1MDhEODAwMEUwRTQyOCAv
KiBKU0ZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeS5oICovOyB9OwogCQk4MzNCOUUzNDFGNTA4RDg1
MDBFMEU0MjggLyogSlNGaWxlU3lzdGVtRW50cnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDgzM0I5RTJBMUY1MDhEODAwMEUwRTQyOCAvKiBKU0ZpbGVT
eXN0ZW1FbnRyeS5oICovOyB9OwpAQCAtOTM3Nyw2ICs5Mzc4LDcgQEAKIAkJODMyMTUwN0MxRjI3
RUExNTAwOTVCMTM2IC8qIE5hdmlnYXRvckJlYWNvbi5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gTmF2aWdhdG9yQmVhY29u
LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODMyOUE0MTcxRUMyNUIyQjAwOEVE
NEJFIC8qIERvY3VtZW50QW5kRWxlbWVudEV2ZW50SGFuZGxlcnMuaWRsICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4
dDsgcGF0aCA9IERvY3VtZW50QW5kRWxlbWVudEV2ZW50SGFuZGxlcnMuaWRsOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk4MzI5RENDMjFDN0E2QUUzMDA3MzBCMzMgLyogSFRNTEh5cGVy
bGlua0VsZW1lbnRVdGlscy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gSFRNTEh5cGVybGlu
a0VsZW1lbnRVdGlscy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTgzMkE4Q0U2
MUZCNTQ2M0YwMEFCNjY2QyAvKiBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uSWRlbnRpZmllci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4MzJCODQzMzE5
RDhFNTUxMDBCMjYwNTUgLyogU1ZHQW5pbWF0ZUVsZW1lbnRCYXNlLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFNWR0FuaW1hdGVFbGVtZW50QmFzZS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk4MzJCODQzNTE5RDhFNTc0MDBCMjYwNTUgLyogU1ZHQW5pbWF0ZUVs
ZW1lbnRCYXNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNWR0Fu
aW1hdGVFbGVtZW50QmFzZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTgzM0I5
RTJBMUY1MDhEODAwMEUwRTQyOCAvKiBKU0ZpbGVTeXN0ZW1FbnRyeS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBKU0ZpbGVTeXN0ZW1FbnRyeS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwpAQCAtMTMyNDEsNTMgKzEzMjQzLDUzIEBACiAJCURFNUY4NENFMUZBMUE0QUEw
MDZEQjYzQSAvKiBVbmlmaWVkU291cmNlNDIyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IFVuaWZpZWRTb3VyY2U0MjIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlERTVGODRDRjFGQTFBNEFCMDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTQzOS5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBVbmlmaWVkU291cmNlNDM5LmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJREU1Rjg0RDAxRkExQTRBQzAwNkRCNjNB
IC8qIFVuaWZpZWRTb3VyY2U0MDEuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gVW5pZmllZFNvdXJjZTQwMS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0J
CURFNUY4NTNEMUZBMUFCQjIwMDZEQjYzQSAvKiBVbmlmaWVkU291cmNlOC1tbS5tbSAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFVuaWZpZWRTb3VyY2U4LW1tLm1tOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlERTVGODUzRTFGQTFBQkIzMDA2REI2M0EgLyog
VW5pZmllZFNvdXJjZTE1LW1tLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBw
YXRoID0gVW5pZmllZFNvdXJjZTE1LW1tLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owot
CQlERTVGODUzRjFGQTFBQkI0MDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTI4LW1tLm1tICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gVW5pZmllZFNvdXJjZTI4LW1tLm1t
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlERTVGODU0MDFGQTFBQkI1MDA2REI2M0Eg
LyogVW5pZmllZFNvdXJjZTM1LW1tLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3Bw
OyBwYXRoID0gVW5pZmllZFNvdXJjZTM1LW1tLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwotCQlERTVGODU0MTFGQTFBQkI2MDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTIzLW1tLm1tICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gVW5pZmllZFNvdXJjZTIzLW1t
Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlERTVGODU0MjFGQTFBQkI3MDA2REI2
M0EgLyogVW5pZmllZFNvdXJjZTMwLW1tLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2Jq
Y3BwOyBwYXRoID0gVW5pZmllZFNvdXJjZTMwLW1tLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwotCQlERTVGODU0MzFGQTFBQkI4MDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTQ0LW1tLm1t
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gVW5pZmllZFNvdXJjZTQ0
LW1tLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlERTVGODU0NDFGQTFBQkI5MDA2
REI2M0EgLyogVW5pZmllZFNvdXJjZTQ2LW1tLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
b2JqY3BwOyBwYXRoID0gVW5pZmllZFNvdXJjZTQ2LW1tLm1tOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwotCQlERTVGODU0NTFGQTFBQkJBMDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTM3LW1t
Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gVW5pZmllZFNvdXJj
ZTM3LW1tLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlERTVGODU0NjFGQTFBQkJC
MDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTI0LW1tLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAub2JqY3BwOyBwYXRoID0gVW5pZmllZFNvdXJjZTI0LW1tLm1tOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwotCQlERTVGODU0NzFGQTFBQkJCMDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTI1
LW1tLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gVW5pZmllZFNv
dXJjZTI1LW1tLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlERTVGODU0ODFGQTFB
QkJDMDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTQzLW1tLm1tICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAub2JqY3BwOyBwYXRoID0gVW5pZmllZFNvdXJjZTQzLW1tLm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlERTVGODUzRDFGQTFBQkIyMDA2REI2M0EgLyogVW5pZmllZFNvdXJj
ZTgtbW0ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSAiVW5pZmll
ZFNvdXJjZTgtbW0ubW0iOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlERTVGODUzRTFG
QTFBQkIzMDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTE1LW1tLm1tICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAub2JqY3BwOyBwYXRoID0gIlVuaWZpZWRTb3VyY2UxNS1tbS5tbSI7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCURFNUY4NTNGMUZBMUFCQjQwMDZEQjYzQSAvKiBVbmlmaWVk
U291cmNlMjgtbW0ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSAi
VW5pZmllZFNvdXJjZTI4LW1tLm1tIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJREU1
Rjg1NDAxRkExQUJCNTAwNkRCNjNBIC8qIFVuaWZpZWRTb3VyY2UzNS1tbS5tbSAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9ICJVbmlmaWVkU291cmNlMzUtbW0ubW0iOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlERTVGODU0MTFGQTFBQkI2MDA2REI2M0EgLyog
VW5pZmllZFNvdXJjZTIzLW1tLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBw
YXRoID0gIlVuaWZpZWRTb3VyY2UyMy1tbS5tbSI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCURFNUY4NTQyMUZBMUFCQjcwMDZEQjYzQSAvKiBVbmlmaWVkU291cmNlMzAtbW0ubW0gKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSAiVW5pZmllZFNvdXJjZTMwLW1t
Lm1tIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJREU1Rjg1NDMxRkExQUJCODAwNkRC
NjNBIC8qIFVuaWZpZWRTb3VyY2U0NC1tbS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9i
amNwcDsgcGF0aCA9ICJVbmlmaWVkU291cmNlNDQtbW0ubW0iOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQlERTVGODU0NDFGQTFBQkI5MDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTQ2LW1t
Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gIlVuaWZpZWRTb3Vy
Y2U0Ni1tbS5tbSI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCURFNUY4NTQ1MUZBMUFC
QkEwMDZEQjYzQSAvKiBVbmlmaWVkU291cmNlMzctbW0ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5vYmpjcHA7IHBhdGggPSAiVW5pZmllZFNvdXJjZTM3LW1tLm1tIjsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJREU1Rjg1NDYxRkExQUJCQjAwNkRCNjNBIC8qIFVuaWZpZWRTb3Vy
Y2UyNC1tbS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9ICJVbmlm
aWVkU291cmNlMjQtbW0ubW0iOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlERTVGODU0
NzFGQTFBQkJCMDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTI1LW1tLm1tICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gIlVuaWZpZWRTb3VyY2UyNS1tbS5tbSI7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCURFNUY4NTQ4MUZBMUFCQkMwMDZEQjYzQSAvKiBVbmlm
aWVkU291cmNlNDMtbW0ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGgg
PSAiVW5pZmllZFNvdXJjZTQzLW1tLm1tIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
REU1Rjg1NDkxRkExQUJCRDAwNkRCNjNBIC8qIFVuaWZpZWRTb3VyY2U0LW1tLm1tICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gIlVuaWZpZWRTb3VyY2U0LW1tLm1tIjsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJREU1Rjg1NEExRkExQUJCRTAwNkRCNjNBIC8q
IFVuaWZpZWRTb3VyY2UxNy1tbS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsg
cGF0aCA9IFVuaWZpZWRTb3VyY2UxNy1tbS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
LQkJREU1Rjg1NEIxRkExQUJCRjAwNkRCNjNBIC8qIFVuaWZpZWRTb3VyY2U0OS1tbS5tbSAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFVuaWZpZWRTb3VyY2U0OS1tbS5t
bTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJREU1Rjg1NEMxRkExQUJDMDAwNkRCNjNB
IC8qIFVuaWZpZWRTb3VyY2U1MC1tbS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNw
cDsgcGF0aCA9IFVuaWZpZWRTb3VyY2U1MC1tbS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKLQkJREU1Rjg1NEQxRkExQUJDMTAwNkRCNjNBIC8qIFVuaWZpZWRTb3VyY2UyMi1tbS5tbSAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFVuaWZpZWRTb3VyY2UyMi1t
bS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJREU1Rjg1NEUxRkExQUJDMjAwNkRC
NjNBIC8qIFVuaWZpZWRTb3VyY2UxNC1tbS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9i
amNwcDsgcGF0aCA9IFVuaWZpZWRTb3VyY2UxNC1tbS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKLQkJREU1Rjg1NEYxRkExQUJDMzAwNkRCNjNBIC8qIFVuaWZpZWRTb3VyY2U0Mi1tbS5t
bSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFVuaWZpZWRTb3VyY2U0
Mi1tbS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJREU1Rjg1NTAxRkExQUJDMzAw
NkRCNjNBIC8qIFVuaWZpZWRTb3VyY2UxOC1tbS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
Lm9iamNwcDsgcGF0aCA9IFVuaWZpZWRTb3VyY2UxOC1tbS5tbTsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKLQkJREU1Rjg1NTExRkExQUJDNDAwNkRCNjNBIC8qIFVuaWZpZWRTb3VyY2UzMS1t
bS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFVuaWZpZWRTb3Vy
Y2UzMS1tbS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJREU1Rjg1NTIxRkExQUJD
NTAwNkRCNjNBIC8qIFVuaWZpZWRTb3VyY2UyMC1tbS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLm9iamNwcDsgcGF0aCA9IFVuaWZpZWRTb3VyY2UyMC1tbS5tbTsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKLQkJREU1Rjg1NTMxRkExQUJDNjAwNkRCNjNBIC8qIFVuaWZpZWRTb3VyY2Ux
OS1tbS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFVuaWZpZWRT
b3VyY2UxOS1tbS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJREU1Rjg1NTQxRkEx
QUJDNzAwNkRCNjNBIC8qIFVuaWZpZWRTb3VyY2U5LW1tLm1tICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAub2JqY3BwOyBwYXRoID0gVW5pZmllZFNvdXJjZTktbW0ubW07IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07Ci0JCURFNUY4NTU1MUZBMUFCQzgwMDZEQjYzQSAvKiBVbmlmaWVkU291cmNl
MzYtbW0ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBVbmlmaWVk
U291cmNlMzYtbW0ubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCURFNUY4NTU2MUZB
MUFCQzkwMDZEQjYzQSAvKiBVbmlmaWVkU291cmNlNDAtbW0ubW0gKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5vYmpjcHA7IHBhdGggPSBVbmlmaWVkU291cmNlNDAtbW0ubW07IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07Ci0JCURFNUY4NTU3MUZBMUFCQ0EwMDZEQjYzQSAvKiBVbmlmaWVkU291
cmNlMzQtbW0ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBVbmlm
aWVkU291cmNlMzQtbW0ubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCURFNUY4NTU4
MUZBMUFCQ0IwMDZEQjYzQSAvKiBVbmlmaWVkU291cmNlNDUtbW0ubW0gKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBVbmlmaWVkU291cmNlNDUtbW0ubW07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07Ci0JCURFNUY4NTU5MUZBMUFCQ0MwMDZEQjYzQSAvKiBVbmlmaWVk
U291cmNlMzktbW0ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBV
bmlmaWVkU291cmNlMzktbW0ubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCURFNUY4
NTVBMUZBMUFCQ0QwMDZEQjYzQSAvKiBVbmlmaWVkU291cmNlMjEtbW0ubW0gKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBVbmlmaWVkU291cmNlMjEtbW0ubW07IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCURFNUY4NTVCMUZBMUFCQ0UwMDZEQjYzQSAvKiBVbmlm
aWVkU291cmNlMzMtbW0ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGgg
PSBVbmlmaWVkU291cmNlMzMtbW0ubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCURF
NUY4NTVDMUZBMUFCQ0UwMDZEQjYzQSAvKiBVbmlmaWVkU291cmNlMzgtbW0ubW0gKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBVbmlmaWVkU291cmNlMzgtbW0ubW07IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCURFNUY4NTVEMUZBMUFCQ0YwMDZEQjYzQSAvKiBV
bmlmaWVkU291cmNlMjYtbW0ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBh
dGggPSBVbmlmaWVkU291cmNlMjYtbW0ubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0J
CURFNUY4NTVFMUZBMUFCRDAwMDZEQjYzQSAvKiBVbmlmaWVkU291cmNlMTYtbW0ubW0gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBVbmlmaWVkU291cmNlMTYtbW0ubW07
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCURFNUY4NTVGMUZBMUFCRDEwMDZEQjYzQSAv
KiBVbmlmaWVkU291cmNlNy1tbS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsg
cGF0aCA9IFVuaWZpZWRTb3VyY2U3LW1tLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owot
CQlERTVGODU2MDFGQTFBQkQyMDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTMyLW1tLm1tICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gVW5pZmllZFNvdXJjZTMyLW1tLm1t
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlERTVGODU2MTFGQTFBQkQzMDA2REI2M0Eg
LyogVW5pZmllZFNvdXJjZTExLW1tLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3Bw
OyBwYXRoID0gVW5pZmllZFNvdXJjZTExLW1tLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwotCQlERTVGODU2MjFGQTFBQkQ0MDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTQ3LW1tLm1tICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gVW5pZmllZFNvdXJjZTQ3LW1t
Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlERTVGODU2MzFGQTFBQkQ1MDA2REI2
M0EgLyogVW5pZmllZFNvdXJjZTEwLW1tLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2Jq
Y3BwOyBwYXRoID0gVW5pZmllZFNvdXJjZTEwLW1tLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwotCQlERTVGODU2NDFGQTFBQkQ1MDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTEyLW1tLm1t
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gVW5pZmllZFNvdXJjZTEy
LW1tLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlERTVGODU2NTFGQTFBQkQ2MDA2
REI2M0EgLyogVW5pZmllZFNvdXJjZTUtbW0ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5v
YmpjcHA7IHBhdGggPSBVbmlmaWVkU291cmNlNS1tbS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKLQkJREU1Rjg1NjYxRkExQUJENzAwNkRCNjNBIC8qIFVuaWZpZWRTb3VyY2U0MS1tbS5t
bSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFVuaWZpZWRTb3VyY2U0
MS1tbS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJREU1Rjg1NjcxRkExQUJEODAw
NkRCNjNBIC8qIFVuaWZpZWRTb3VyY2U0OC1tbS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
Lm9iamNwcDsgcGF0aCA9IFVuaWZpZWRTb3VyY2U0OC1tbS5tbTsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKLQkJREU1Rjg1NjgxRkExQUJEOTAwNkRCNjNBIC8qIFVuaWZpZWRTb3VyY2UyOS1t
bS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFVuaWZpZWRTb3Vy
Y2UyOS1tbS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJREU1Rjg1NjkxRkExQUJE
QTAwNkRCNjNBIC8qIFVuaWZpZWRTb3VyY2UyNy1tbS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLm9iamNwcDsgcGF0aCA9IFVuaWZpZWRTb3VyY2UyNy1tbS5tbTsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKLQkJREU1Rjg1NkExRkExQUJEQjAwNkRCNjNBIC8qIFVuaWZpZWRTb3VyY2Ux
My1tbS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFVuaWZpZWRT
b3VyY2UxMy1tbS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJREU1Rjg1NkIxRkEx
QUJEQjAwNkRCNjNBIC8qIFVuaWZpZWRTb3VyY2U2LW1tLm1tICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAub2JqY3BwOyBwYXRoID0gVW5pZmllZFNvdXJjZTYtbW0ubW07IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCURFNUY4NTRBMUZBMUFCQkUwMDZEQjYzQSAvKiBVbmlmaWVkU291cmNl
MTctbW0ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSAiVW5pZmll
ZFNvdXJjZTE3LW1tLm1tIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJREU1Rjg1NEIx
RkExQUJCRjAwNkRCNjNBIC8qIFVuaWZpZWRTb3VyY2U0OS1tbS5tbSAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9ICJVbmlmaWVkU291cmNlNDktbW0ubW0iOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlERTVGODU0QzFGQTFBQkMwMDA2REI2M0EgLyogVW5pZmll
ZFNvdXJjZTUwLW1tLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0g
IlVuaWZpZWRTb3VyY2U1MC1tbS5tbSI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCURF
NUY4NTREMUZBMUFCQzEwMDZEQjYzQSAvKiBVbmlmaWVkU291cmNlMjItbW0ubW0gKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSAiVW5pZmllZFNvdXJjZTIyLW1tLm1tIjsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJREU1Rjg1NEUxRkExQUJDMjAwNkRCNjNBIC8q
IFVuaWZpZWRTb3VyY2UxNC1tbS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsg
cGF0aCA9ICJVbmlmaWVkU291cmNlMTQtbW0ubW0iOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlERTVGODU0RjFGQTFBQkMzMDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTQyLW1tLm1tICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gIlVuaWZpZWRTb3VyY2U0Mi1t
bS5tbSI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCURFNUY4NTUwMUZBMUFCQzMwMDZE
QjYzQSAvKiBVbmlmaWVkU291cmNlMTgtbW0ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5v
YmpjcHA7IHBhdGggPSAiVW5pZmllZFNvdXJjZTE4LW1tLm1tIjsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJREU1Rjg1NTExRkExQUJDNDAwNkRCNjNBIC8qIFVuaWZpZWRTb3VyY2UzMS1t
bS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9ICJVbmlmaWVkU291
cmNlMzEtbW0ubW0iOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlERTVGODU1MjFGQTFB
QkM1MDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTIwLW1tLm1tICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAub2JqY3BwOyBwYXRoID0gIlVuaWZpZWRTb3VyY2UyMC1tbS5tbSI7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCURFNUY4NTUzMUZBMUFCQzYwMDZEQjYzQSAvKiBVbmlmaWVkU291
cmNlMTktbW0ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSAiVW5p
ZmllZFNvdXJjZTE5LW1tLm1tIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJREU1Rjg1
NTQxRkExQUJDNzAwNkRCNjNBIC8qIFVuaWZpZWRTb3VyY2U5LW1tLm1tICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gIlVuaWZpZWRTb3VyY2U5LW1tLm1tIjsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJREU1Rjg1NTUxRkExQUJDODAwNkRCNjNBIC8qIFVuaWZp
ZWRTb3VyY2UzNi1tbS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9
ICJVbmlmaWVkU291cmNlMzYtbW0ubW0iOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlE
RTVGODU1NjFGQTFBQkM5MDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTQwLW1tLm1tICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gIlVuaWZpZWRTb3VyY2U0MC1tbS5tbSI7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCURFNUY4NTU3MUZBMUFCQ0EwMDZEQjYzQSAv
KiBVbmlmaWVkU291cmNlMzQtbW0ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7
IHBhdGggPSAiVW5pZmllZFNvdXJjZTM0LW1tLm1tIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJREU1Rjg1NTgxRkExQUJDQjAwNkRCNjNBIC8qIFVuaWZpZWRTb3VyY2U0NS1tbS5tbSAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9ICJVbmlmaWVkU291cmNlNDUt
bW0ubW0iOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlERTVGODU1OTFGQTFBQkNDMDA2
REI2M0EgLyogVW5pZmllZFNvdXJjZTM5LW1tLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
b2JqY3BwOyBwYXRoID0gIlVuaWZpZWRTb3VyY2UzOS1tbS5tbSI7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCURFNUY4NTVBMUZBMUFCQ0QwMDZEQjYzQSAvKiBVbmlmaWVkU291cmNlMjEt
bW0ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSAiVW5pZmllZFNv
dXJjZTIxLW1tLm1tIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJREU1Rjg1NUIxRkEx
QUJDRTAwNkRCNjNBIC8qIFVuaWZpZWRTb3VyY2UzMy1tbS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLm9iamNwcDsgcGF0aCA9ICJVbmlmaWVkU291cmNlMzMtbW0ubW0iOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlERTVGODU1QzFGQTFBQkNFMDA2REI2M0EgLyogVW5pZmllZFNv
dXJjZTM4LW1tLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gIlVu
aWZpZWRTb3VyY2UzOC1tbS5tbSI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCURFNUY4
NTVEMUZBMUFCQ0YwMDZEQjYzQSAvKiBVbmlmaWVkU291cmNlMjYtbW0ubW0gKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSAiVW5pZmllZFNvdXJjZTI2LW1tLm1tIjsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJREU1Rjg1NUUxRkExQUJEMDAwNkRCNjNBIC8qIFVu
aWZpZWRTb3VyY2UxNi1tbS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0
aCA9ICJVbmlmaWVkU291cmNlMTYtbW0ubW0iOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlERTVGODU1RjFGQTFBQkQxMDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTctbW0ubW0gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSAiVW5pZmllZFNvdXJjZTctbW0ubW0i
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlERTVGODU2MDFGQTFBQkQyMDA2REI2M0Eg
LyogVW5pZmllZFNvdXJjZTMyLW1tLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3Bw
OyBwYXRoID0gIlVuaWZpZWRTb3VyY2UzMi1tbS5tbSI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCURFNUY4NTYxMUZBMUFCRDMwMDZEQjYzQSAvKiBVbmlmaWVkU291cmNlMTEtbW0ubW0g
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSAiVW5pZmllZFNvdXJjZTEx
LW1tLm1tIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJREU1Rjg1NjIxRkExQUJENDAw
NkRCNjNBIC8qIFVuaWZpZWRTb3VyY2U0Ny1tbS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
Lm9iamNwcDsgcGF0aCA9ICJVbmlmaWVkU291cmNlNDctbW0ubW0iOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlERTVGODU2MzFGQTFBQkQ1MDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTEw
LW1tLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gIlVuaWZpZWRT
b3VyY2UxMC1tbS5tbSI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCURFNUY4NTY0MUZB
MUFCRDUwMDZEQjYzQSAvKiBVbmlmaWVkU291cmNlMTItbW0ubW0gKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5vYmpjcHA7IHBhdGggPSAiVW5pZmllZFNvdXJjZTEyLW1tLm1tIjsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJREU1Rjg1NjUxRkExQUJENjAwNkRCNjNBIC8qIFVuaWZpZWRT
b3VyY2U1LW1tLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gIlVu
aWZpZWRTb3VyY2U1LW1tLm1tIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJREU1Rjg1
NjYxRkExQUJENzAwNkRCNjNBIC8qIFVuaWZpZWRTb3VyY2U0MS1tbS5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9ICJVbmlmaWVkU291cmNlNDEtbW0ubW0iOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlERTVGODU2NzFGQTFBQkQ4MDA2REI2M0EgLyogVW5p
ZmllZFNvdXJjZTQ4LW1tLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRo
ID0gIlVuaWZpZWRTb3VyY2U0OC1tbS5tbSI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CURFNUY4NTY4MUZBMUFCRDkwMDZEQjYzQSAvKiBVbmlmaWVkU291cmNlMjktbW0ubW0gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSAiVW5pZmllZFNvdXJjZTI5LW1tLm1t
Ijsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJREU1Rjg1NjkxRkExQUJEQTAwNkRCNjNB
IC8qIFVuaWZpZWRTb3VyY2UyNy1tbS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNw
cDsgcGF0aCA9ICJVbmlmaWVkU291cmNlMjctbW0ubW0iOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlERTVGODU2QTFGQTFBQkRCMDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTEzLW1tLm1t
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gIlVuaWZpZWRTb3VyY2Ux
My1tbS5tbSI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCURFNUY4NTZCMUZBMUFCREIw
MDZEQjYzQSAvKiBVbmlmaWVkU291cmNlNi1tbS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
Lm9iamNwcDsgcGF0aCA9ICJVbmlmaWVkU291cmNlNi1tbS5tbSI7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCURFNUY4NUI2MUZBMjM4MzUwMDZEQjYzQSAvKiBVbmlmaWVkU291cmNlNDY4
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFVuaWZpZWRTb3VyY2U0
NjguY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlERTVGODVCNzFGQTIzODM1MDA2
REI2M0EgLyogVW5pZmllZFNvdXJjZTQ2OS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBVbmlmaWVkU291cmNlNDY5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJREU1Rjg1QjgxRkEyMzgzNjAwNkRCNjNBIC8qIFVuaWZpZWRTb3VyY2U0NTguY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVW5pZmllZFNvdXJjZTQ1OC5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMzMxOCwxNiArMTMzMjAsMTYgQEAKIAkJ
REU1Rjg1RDExRkEyMzg1NDAwNkRCNjNBIC8qIFVuaWZpZWRTb3VyY2U0NzYuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVW5pZmllZFNvdXJjZTQ3Ni5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCURFNUY4NUQyMUZBMjM4NTYwMDZEQjYzQSAvKiBVbmlm
aWVkU291cmNlNDc4LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFVu
aWZpZWRTb3VyY2U0NzguY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlERTVGODVE
MzFGQTIzODU5MDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTQ4MC5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBVbmlmaWVkU291cmNlNDgwLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKLQkJREU1Rjg2MzIxRkEyQUVGRjAwNkRCNjNBIC8qIFVuaWZpZWRTb3Vy
Y2U1OS1tbS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFVuaWZp
ZWRTb3VyY2U1OS1tbS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJREU1Rjg2MzMx
RkEyQUYwMDAwNkRCNjNBIC8qIFVuaWZpZWRTb3VyY2U1NC1tbS5tbSAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFVuaWZpZWRTb3VyY2U1NC1tbS5tbTsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKLQkJREU1Rjg2MzQxRkEyQUYwMTAwNkRCNjNBIC8qIFVuaWZpZWRT
b3VyY2U1Ni1tbS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFVu
aWZpZWRTb3VyY2U1Ni1tbS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJREU1Rjg2
MzUxRkEyQUYwMzAwNkRCNjNBIC8qIFVuaWZpZWRTb3VyY2U1My1tbS5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFVuaWZpZWRTb3VyY2U1My1tbS5tbTsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJREU1Rjg2MzYxRkEyQUYwNDAwNkRCNjNBIC8qIFVuaWZp
ZWRTb3VyY2U1MS1tbS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9
IFVuaWZpZWRTb3VyY2U1MS1tbS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJREU1
Rjg2MzcxRkEyQUYwNTAwNkRCNjNBIC8qIFVuaWZpZWRTb3VyY2U1Mi1tbS5tbSAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFVuaWZpZWRTb3VyY2U1Mi1tbS5tbTsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJREU1Rjg2MzgxRkEyQUYwNjAwNkRCNjNBIC8qIFVu
aWZpZWRTb3VyY2U1Ny1tbS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0
aCA9IFVuaWZpZWRTb3VyY2U1Ny1tbS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJ
REU1Rjg2MzkxRkEyQUYwNzAwNkRCNjNBIC8qIFVuaWZpZWRTb3VyY2U1OC1tbS5tbSAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFVuaWZpZWRTb3VyY2U1OC1tbS5tbTsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJREU1Rjg2M0ExRkEyQUYwNzAwNkRCNjNBIC8q
IFVuaWZpZWRTb3VyY2U2MC1tbS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsg
cGF0aCA9IFVuaWZpZWRTb3VyY2U2MC1tbS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
LQkJREU1Rjg2M0IxRkEyQUYwODAwNkRCNjNBIC8qIFVuaWZpZWRTb3VyY2U1NS1tbS5tbSAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFVuaWZpZWRTb3VyY2U1NS1tbS5t
bTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJREU1Rjg2MzIxRkEyQUVGRjAwNkRCNjNB
IC8qIFVuaWZpZWRTb3VyY2U1OS1tbS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNw
cDsgcGF0aCA9ICJVbmlmaWVkU291cmNlNTktbW0ubW0iOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlERTVGODYzMzFGQTJBRjAwMDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTU0LW1tLm1t
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gIlVuaWZpZWRTb3VyY2U1
NC1tbS5tbSI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCURFNUY4NjM0MUZBMkFGMDEw
MDZEQjYzQSAvKiBVbmlmaWVkU291cmNlNTYtbW0ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5vYmpjcHA7IHBhdGggPSAiVW5pZmllZFNvdXJjZTU2LW1tLm1tIjsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJREU1Rjg2MzUxRkEyQUYwMzAwNkRCNjNBIC8qIFVuaWZpZWRTb3VyY2U1
My1tbS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9ICJVbmlmaWVk
U291cmNlNTMtbW0ubW0iOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlERTVGODYzNjFG
QTJBRjA0MDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTUxLW1tLm1tICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAub2JqY3BwOyBwYXRoID0gIlVuaWZpZWRTb3VyY2U1MS1tbS5tbSI7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCURFNUY4NjM3MUZBMkFGMDUwMDZEQjYzQSAvKiBVbmlmaWVk
U291cmNlNTItbW0ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSAi
VW5pZmllZFNvdXJjZTUyLW1tLm1tIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJREU1
Rjg2MzgxRkEyQUYwNjAwNkRCNjNBIC8qIFVuaWZpZWRTb3VyY2U1Ny1tbS5tbSAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9ICJVbmlmaWVkU291cmNlNTctbW0ubW0iOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlERTVGODYzOTFGQTJBRjA3MDA2REI2M0EgLyog
VW5pZmllZFNvdXJjZTU4LW1tLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBw
YXRoID0gIlVuaWZpZWRTb3VyY2U1OC1tbS5tbSI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCURFNUY4NjNBMUZBMkFGMDcwMDZEQjYzQSAvKiBVbmlmaWVkU291cmNlNjAtbW0ubW0gKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSAiVW5pZmllZFNvdXJjZTYwLW1t
Lm1tIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJREU1Rjg2M0IxRkEyQUYwODAwNkRC
NjNBIC8qIFVuaWZpZWRTb3VyY2U1NS1tbS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9i
amNwcDsgcGF0aCA9ICJVbmlmaWVkU291cmNlNTUtbW0ubW0iOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlERUMyOTc1RDFCNERFQjJBMDA1RjU5NDUgLyogSlNDdXN0b21FdmVudEN1c3Rv
bS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0N1c3RvbUV2ZW50
Q3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJREVDQTdENkExRjlFNjFD
QjAwRTNCNjYxIC8qIFVuaWZpZWRTb3VyY2UxNDQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gVW5pZmllZFNvdXJjZTE0NC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCURFQ0E3RDZCMUY5RTYxQ0MwMEUzQjY2MSAvKiBVbmlmaWVkU291cmNlMTQ4LmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFVuaWZpZWRTb3VyY2UxNDgu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTcyNzgsNiArMTcyODAsNyBAQAog
CQkJCTUxRjE3NTRCMUYzRUJDMEMwMEM3NDk1MCAvKiBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
LmlkbCAqLywKIAkJCQk1MTdBNTM0QjFGNTQ5RDRBMDBEQ0RDMEEgLyogU2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbkRhdGEuY3BwICovLAogCQkJCTUxN0E1MzRDMUY1NDlENEEwMERDREMwQSAvKiBT
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YS5oICovLAorCQkJCTgzMkE4Q0U2MUZCNTQ2M0Yw
MEFCNjY2QyAvKiBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllci5oICovLAogCQkJ
CTUxN0E1MzI3MUY0QjkwQjIwMERDREMwQSAvKiBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5
LmNwcCAqLywKIAkJCQk1MTdBNTMyNjFGNEI5MEIyMDBEQ0RDMEEgLyogU2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbktleS5oICovLAogCQkJCTUxRjY0NUEwMUY0QkY1MTYwMEI1NERFRCAvKiBTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uT3B0aW9ucy5jcHAgKi8sCkBAIC0yODkyOSw2ICsyODkzMiw3
IEBACiAJCQkJNTFGMTc1NjYxRjNFQkM4MzAwQzc0OTUwIC8qIFNlcnZpY2VXb3JrZXJQcm92aWRl
ci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTFGMTc1NjgxRjNFQkM4MzAwQzc0OTUwIC8qIFNlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTUxN0E1MzRGMUY1NEE4
QkEwMERDREMwQSAvKiBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YS5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJODMyQThDRTgxRkI1NDY0OTAwQUI2NjZDIC8qIFNlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb25JZGVudGlmaWVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTdBNTMyOTFGNEI5MEI5MDBE
Q0RDMEEgLyogU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJNTFGMTc1NjkxRjNFQkM4MzAwQzc0OTUwIC8qIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25P
cHRpb25zLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MUJDQ0UzMDFGOEYxNzlFMDA2QkEwRUQgLyog
U2VydmljZVdvcmtlclRocmVhZC5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5jcHAKaW5k
ZXggMDg0NDliMmZiYTI4N2MwMmRkYjE2Yzk1NjI2ZTRhMWYwM2Y4YTY1YS4uZmI0NmNiZDVhZjI1
NDc3YWIwY2FjODc2NWIxMTNhYWY1N2UxNDUwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmNwcApAQCAtMjMw
LDcgKzIzMCw3IEBAIHZvaWQgU2VydmljZVdvcmtlckNvbnRhaW5lcjo6Z2V0UmVnaXN0cmF0aW9u
KGNvbnN0IFN0cmluZyYgY2xpZW50VVJMLCBSZWY8RGVmZXJyCiAgICAgICAgICAgICByZXR1cm47
CiAgICAgICAgIH0KIAotICAgICAgICBSZWZQdHI8U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbj4g
cmVnaXN0cmF0aW9uID0gbV9yZWdpc3RyYXRpb25zLmdldChyZXN1bHQtPmtleSk7CisgICAgICAg
IFJlZlB0cjxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uPiByZWdpc3RyYXRpb24gPSBtX3JlZ2lz
dHJhdGlvbnMuZ2V0KHJlc3VsdC0+aWRlbnRpZmllcik7CiAgICAgICAgIGlmICghcmVnaXN0cmF0
aW9uKSB7CiAgICAgICAgICAgICBhdXRvJiBjb250ZXh0ID0gKnNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQoKTsKICAgICAgICAgICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgcHJvYmFibHkgbm90IGJlIGNv
bnN0cnVjdGluZyBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uIG9iamVjdHMgaGVyZS4gSW5zdGVh
ZCwgd2Ugc2hvdWxkIG1ha2UKQEAgLTI0MSwxNCArMjQxLDE0IEBAIHZvaWQgU2VydmljZVdvcmtl
ckNvbnRhaW5lcjo6Z2V0UmVnaXN0cmF0aW9uKGNvbnN0IFN0cmluZyYgY2xpZW50VVJMLCBSZWY8
RGVmZXJyCiAgICAgfSk7CiB9CiAKLXZvaWQgU2VydmljZVdvcmtlckNvbnRhaW5lcjo6c2NoZWR1
bGVUYXNrVG9VcGRhdGVSZWdpc3RyYXRpb25TdGF0ZShjb25zdCBTZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uS2V5JiBrZXksIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25TdGF0ZSBzdGF0ZSwgY29u
c3Qgc3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2VySWRlbnRpZmllcj4mIHNlcnZpY2VXb3JrZXJJ
ZGVudGlmaWVyKQordm9pZCBTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjpzY2hlZHVsZVRhc2tUb1Vw
ZGF0ZVJlZ2lzdHJhdGlvblN0YXRlKFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVy
IGlkZW50aWZpZXIsIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25TdGF0ZSBzdGF0ZSwgY29uc3Qg
c3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2VySWRlbnRpZmllcj4mIHNlcnZpY2VXb3JrZXJJZGVu
dGlmaWVyKQogewogICAgIGF1dG8qIGNvbnRleHQgPSBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7
CiAgICAgaWYgKCFjb250ZXh0KQogICAgICAgICByZXR1cm47CiAKLSAgICBjb250ZXh0LT5wb3N0
VGFzayhbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpLCBrZXksIHN0YXRlLCBz
ZXJ2aWNlV29ya2VySWRlbnRpZmllcl0oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpIHsKLSAgICAg
ICAgaWYgKGF1dG8qIHJlZ2lzdHJhdGlvbiA9IG1fcmVnaXN0cmF0aW9ucy5nZXQoa2V5KSkKKyAg
ICBjb250ZXh0LT5wb3N0VGFzayhbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMp
LCBpZGVudGlmaWVyLCBzdGF0ZSwgc2VydmljZVdvcmtlcklkZW50aWZpZXJdKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQmKSB7CisgICAgICAgIGlmIChhdXRvKiByZWdpc3RyYXRpb24gPSBtX3JlZ2lz
dHJhdGlvbnMuZ2V0KGlkZW50aWZpZXIpKQogICAgICAgICAgICAgcmVnaXN0cmF0aW9uLT51cGRh
dGVTdGF0ZUZyb21TZXJ2ZXIoc3RhdGUsIHNlcnZpY2VXb3JrZXJJZGVudGlmaWVyKTsKICAgICB9
KTsKIH0KQEAgLTI3MywxNiArMjczLDE2IEBAIHZvaWQgU2VydmljZVdvcmtlckNvbnRhaW5lcjo6
am9iRmFpbGVkV2l0aEV4Y2VwdGlvbihTZXJ2aWNlV29ya2VySm9iJiBqb2IsIGNvbnN0CiAgICAg
am9iRGlkRmluaXNoKGpvYik7CiB9CiAKLXZvaWQgU2VydmljZVdvcmtlckNvbnRhaW5lcjo6c2No
ZWR1bGVUYXNrVG9GaXJlVXBkYXRlRm91bmRFdmVudChjb25zdCBTZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uS2V5JiBrZXkpCit2b2lkIFNlcnZpY2VXb3JrZXJDb250YWluZXI6OnNjaGVkdWxlVGFz
a1RvRmlyZVVwZGF0ZUZvdW5kRXZlbnQoU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZp
ZXIgaWRlbnRpZmllcikKIHsKICAgICBpZiAoaXNTdG9wcGVkKCkpCiAgICAgICAgIHJldHVybjsK
IAotICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+cG9zdFRhc2soW3RoaXMsIHByb3RlY3Rl
ZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwga2V5XShTY3JpcHRFeGVjdXRpb25Db250ZXh0Jikgewor
ICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+cG9zdFRhc2soW3RoaXMsIHByb3RlY3RlZFRo
aXMgPSBtYWtlUmVmKCp0aGlzKSwgaWRlbnRpZmllcl0oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYp
IHsKICAgICAgICAgaWYgKGlzU3RvcHBlZCgpKQogICAgICAgICAgICAgcmV0dXJuOwogCi0gICAg
ICAgIGlmIChhdXRvKiByZWdpc3RyYXRpb24gPSBtX3JlZ2lzdHJhdGlvbnMuZ2V0KGtleSkpCisg
ICAgICAgIGlmIChhdXRvKiByZWdpc3RyYXRpb24gPSBtX3JlZ2lzdHJhdGlvbnMuZ2V0KGlkZW50
aWZpZXIpKQogICAgICAgICAgICAgcmVnaXN0cmF0aW9uLT5kaXNwYXRjaEV2ZW50KEV2ZW50Ojpj
cmVhdGUoZXZlbnROYW1lcygpLnVwZGF0ZWZvdW5kRXZlbnQsIGZhbHNlLCBmYWxzZSkpOwogICAg
IH0pOwogfQpAQCAtMzAxLDcgKzMwMSw3IEBAIHZvaWQgU2VydmljZVdvcmtlckNvbnRhaW5lcjo6
am9iUmVzb2x2ZWRXaXRoUmVnaXN0cmF0aW9uKFNlcnZpY2VXb3JrZXJKb2ImIGpvYiwKICAgICB9
CiAKICAgICBjb250ZXh0LT5wb3N0VGFzayhbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYo
KnRoaXMpLCBqb2IgPSBtYWtlUmVmKGpvYiksIGRhdGEgPSBXVEZNb3ZlKGRhdGEpLCBwcm9taXNl
UmVzb2x2ZWRIYW5kbGVyID0gV1RGTW92ZShwcm9taXNlUmVzb2x2ZWRIYW5kbGVyKV0oU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkgbXV0YWJsZSB7Ci0gICAgICAgIFJlZlB0cjxTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uPiByZWdpc3RyYXRpb24gPSBtX3JlZ2lzdHJhdGlvbnMuZ2V0
KGRhdGEua2V5KTsKKyAgICAgICAgUmVmUHRyPFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24+IHJl
Z2lzdHJhdGlvbiA9IG1fcmVnaXN0cmF0aW9ucy5nZXQoZGF0YS5pZGVudGlmaWVyKTsKICAgICAg
ICAgaWYgKCFyZWdpc3RyYXRpb24pCiAgICAgICAgICAgICByZWdpc3RyYXRpb24gPSBTZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uOjpjcmVhdGUoY29udGV4dCwgKnRoaXMsIFdURk1vdmUoZGF0YSkp
OwogCkBAIC0zOTUsMTMgKzM5NSwxMyBAQCBib29sIFNlcnZpY2VXb3JrZXJDb250YWluZXI6OmNh
blN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBjb25zdAogdm9pZCBTZXJ2aWNlV29ya2Vy
Q29udGFpbmVyOjphZGRSZWdpc3RyYXRpb24oU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbiYgcmVn
aXN0cmF0aW9uKQogewogICAgIG1fc3dDb25uZWN0aW9uLT5hZGRTZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uSW5TZXJ2ZXIocmVnaXN0cmF0aW9uLmRhdGEoKS5rZXksIHJlZ2lzdHJhdGlvbi5pZGVu
dGlmaWVyKCkpOwotICAgIG1fcmVnaXN0cmF0aW9ucy5hZGQocmVnaXN0cmF0aW9uLmRhdGEoKS5r
ZXksICZyZWdpc3RyYXRpb24pOworICAgIG1fcmVnaXN0cmF0aW9ucy5hZGQocmVnaXN0cmF0aW9u
LmlkZW50aWZpZXIoKSwgJnJlZ2lzdHJhdGlvbik7CiB9CiAKIHZvaWQgU2VydmljZVdvcmtlckNv
bnRhaW5lcjo6cmVtb3ZlUmVnaXN0cmF0aW9uKFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24mIHJl
Z2lzdHJhdGlvbikKIHsKICAgICBtX3N3Q29ubmVjdGlvbi0+cmVtb3ZlU2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbkluU2VydmVyKHJlZ2lzdHJhdGlvbi5kYXRhKCkua2V5LCByZWdpc3RyYXRpb24u
aWRlbnRpZmllcigpKTsKLSAgICBtX3JlZ2lzdHJhdGlvbnMucmVtb3ZlKHJlZ2lzdHJhdGlvbi5k
YXRhKCkua2V5KTsKKyAgICBtX3JlZ2lzdHJhdGlvbnMucmVtb3ZlKHJlZ2lzdHJhdGlvbi5pZGVu
dGlmaWVyKCkpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5oIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuaAppbmRl
eCA3ZjI2MzM3MGZjZmJlZTdkZTU5NjJlY2Y2NzBlZGNiOTk2MTljOGRkLi5mMmNhY2Y5ZjU3MTFj
YTg0Y2M3MzZiNTZkMmQwNTBkNTIyMmJkNDViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmgKQEAgLTY1LDggKzY1
LDggQEAgcHVibGljOgogICAgIHZvaWQgdXBkYXRlUmVnaXN0cmF0aW9uKGNvbnN0IFVSTCYgc2Nv
cGVVUkwsIGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBXb3JrZXJUeXBlLCBSZWY8RGVmZXJyZWRQcm9t
aXNlPiYmKTsKIAogICAgIHZvaWQgZ2V0UmVnaXN0cmF0aW9uKGNvbnN0IFN0cmluZyYgY2xpZW50
VVJMLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmKTsKLSAgICB2b2lkIHNjaGVkdWxlVGFza1RvVXBk
YXRlUmVnaXN0cmF0aW9uU3RhdGUoY29uc3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleSYs
IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25TdGF0ZSwgY29uc3Qgc3RkOjpvcHRpb25hbDxTZXJ2
aWNlV29ya2VySWRlbnRpZmllcj4mKTsKLSAgICB2b2lkIHNjaGVkdWxlVGFza1RvRmlyZVVwZGF0
ZUZvdW5kRXZlbnQoY29uc3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleSYpOworICAgIHZv
aWQgc2NoZWR1bGVUYXNrVG9VcGRhdGVSZWdpc3RyYXRpb25TdGF0ZShTZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uSWRlbnRpZmllciwgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvblN0YXRlLCBjb25z
dCBzdGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyPiYpOworICAgIHZvaWQgc2No
ZWR1bGVUYXNrVG9GaXJlVXBkYXRlRm91bmRFdmVudChTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
SWRlbnRpZmllcik7CiAKICAgICB1c2luZyBSZWdpc3RyYXRpb25zUHJvbWlzZSA9IERPTVByb21p
c2VEZWZlcnJlZDxJRExTZXF1ZW5jZTxJRExJbnRlcmZhY2U8U2VydmljZVdvcmtlclJlZ2lzdHJh
dGlvbj4+PjsKICAgICB2b2lkIGdldFJlZ2lzdHJhdGlvbnMoUmVnaXN0cmF0aW9uc1Byb21pc2Um
Jik7CkBAIC0xMTEsNyArMTExLDcgQEAgcHJpdmF0ZToKICAgICBIYXNoTWFwPHVpbnQ2NF90LCBS
ZWY8U2VydmljZVdvcmtlckpvYj4+IG1fam9iTWFwOwogCiAgICAgYm9vbCBtX2lzU3RvcHBlZCB7
IGZhbHNlIH07Ci0gICAgSGFzaE1hcDxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5LCBTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uKj4gbV9yZWdpc3RyYXRpb25zOworICAgIEhhc2hNYXA8U2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIsIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b24qPiBtX3JlZ2lzdHJhdGlvbnM7CiAKICNpZm5kZWYgTkRFQlVHCiAgICAgVGhyZWFkSWRlbnRp
ZmllciBtX2NyZWF0aW9uVGhyZWFkIHsgY3VycmVudFRocmVhZCgpIH07CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5o
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b24uaAppbmRleCBlNjU4YTVmYjEyYTI4OWMxMzkxOTE5N2NjN2U5NmQyMmZkNTQyMTMzLi44NzIw
MjUyMDVhZjZkOWU2MmY3ZjIzOGJiNWVhZmExZWE5M2ZmNzZiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
LmgKQEAgLTMyLDcgKzMyLDcgQEAKICNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgog
I2luY2x1ZGUgIlNXQ2xpZW50Q29ubmVjdGlvbi5oIgogI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb25EYXRhLmgiCi0jaW5jbHVkZSA8d3RmL0lkZW50aWZpZWQuaD4KKyNpbmNsdWRl
ICJTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllci5oIgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKQEAgLTQwLDcgKzQwLDcgQEAgY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsK
IGNsYXNzIFNlcnZpY2VXb3JrZXI7CiBjbGFzcyBTZXJ2aWNlV29ya2VyQ29udGFpbmVyOwogCi1j
bGFzcyBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uIGZpbmFsIDogcHVibGljIFJlZkNvdW50ZWQ8
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbj4sIHB1YmxpYyBFdmVudFRhcmdldFdpdGhJbmxpbmVE
YXRhLCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0LCBwdWJsaWMgVGhyZWFkU2FmZUlkZW50aWZpZWQ8
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbj4geworY2xhc3MgU2VydmljZVdvcmtlclJlZ2lzdHJh
dGlvbiBmaW5hbCA6IHB1YmxpYyBSZWZDb3VudGVkPFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24+
LCBwdWJsaWMgRXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0YSwgcHVibGljIEFjdGl2ZURPTU9iamVj
dCB7CiBwdWJsaWM6CiAgICAgdGVtcGxhdGUgPHR5cGVuYW1lLi4uIEFyZ3M+IHN0YXRpYyBSZWY8
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbj4gY3JlYXRlKEFyZ3MmJi4uLiBhcmdzKQogICAgIHsK
QEAgLTQ5LDYgKzQ5LDggQEAgcHVibGljOgogCiAgICAgflNlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b24oKTsKIAorICAgIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyIGlkZW50aWZp
ZXIoKSBjb25zdCB7IHJldHVybiBtX3JlZ2lzdHJhdGlvbkRhdGEuaWRlbnRpZmllcjsgfQorCiAg
ICAgU2VydmljZVdvcmtlciogaW5zdGFsbGluZygpOwogICAgIFNlcnZpY2VXb3JrZXIqIHdhaXRp
bmcoKTsKICAgICBTZXJ2aWNlV29ya2VyKiBhY3RpdmUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YS5oIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25E
YXRhLmgKaW5kZXggYWNkMzI0ZTIxOTY1YjE0NWI3OTUyYjgyODViODQ3M2IxMWM3YTcwNi4uZGVh
NGExMmIyMTNlM2U3ZGFkN2E2ZjczZTBhNDhhOGZjMDgxNGM1NCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb25EYXRhLmgKQEAgLTI4LDYgKzI4LDcgQEAKICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIp
CiAKICNpbmNsdWRlICJTZXJ2aWNlV29ya2VySWRlbnRpZmllci5oIgorI2luY2x1ZGUgIlNlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyLmgiCiAjaW5jbHVkZSAiU2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbktleS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zNiw3ICszNyw3
IEBAIGVudW0gY2xhc3MgU2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlOwogCiBzdHJ1Y3QgU2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEgewogICAgIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b25LZXkga2V5OwotICAgIHVpbnQ2NF90IGlkZW50aWZpZXI7CisgICAgU2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbklkZW50aWZpZXIgaWRlbnRpZmllcjsKICAgICBVUkwgc2NvcGVVUkw7CiAgICAg
VVJMIHNjcmlwdFVSTDsKICAgICBTZXJ2aWNlV29ya2VyVXBkYXRlVmlhQ2FjaGUgdXBkYXRlVmlh
Q2FjaGU7CkBAIC02Niw3ICs2Nyw3IEBAIHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbkRhdGE+IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhOjpkZWNvCiAgICAgaWYg
KCFrZXkpCiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAgICAgCi0gICAgc3RkOjpvcHRp
b25hbDx1aW50NjRfdD4gaWRlbnRpZmllcjsKKyAgICBzdGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyPiBpZGVudGlmaWVyOwogICAgIGRlY29kZXIgPj4gaWRl
bnRpZmllcjsKICAgICBpZiAoIWlkZW50aWZpZXIpCiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxv
cHQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vy
dmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllci5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM4
Nzg2MjgzNmQxYjkyNTNmOTQzNDg4YzNjNjg0ZWY5NDlkMmMyMDQKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlv
bklkZW50aWZpZXIuaApAQCAtMCwwICsxLDM5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
CisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNl
CisKKyNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCisKKyNpbmNsdWRlIDx3dGYvT2JqZWN0SWRl
bnRpZmllci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2VudW0gU2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbklkZW50aWZpZXJUeXBlIHsgfTsKK3VzaW5nIFNlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb25JZGVudGlmaWVyID0gT2JqZWN0SWRlbnRpZmllcjxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uSWRlbnRpZmllclR5cGU+OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAv
LyBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2Uvc2VydmVyL1NXQ2xpZW50Q29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXQ2xpZW50Q29ubmVjdGlvbi5jcHAKaW5kZXggZmE0
OGIyNWRkNzQyMGE4YjhkYmE3YWYzZjJkMTI3ZjAzNmU3ZWNhNS4uMjVhZGE3MDVjODBhNDY5MjIw
ODZkZTBjOWFmZDY5M2ViMzMzOGI5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL3NlcnZlci9TV0NsaWVudENvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dDbGllbnRDb25uZWN0aW9uLmNwcApAQCAtMTUy
LDEwICsxNTIsMTAgQEAgdm9pZCBTV0NsaWVudENvbm5lY3Rpb246OmZvckVhY2hDb250YWluZXIo
Y29uc3QgV1RGOjpGdW5jdGlvbjx2b2lkKFNlcnZpY2VXb3JrZXIKICAgICB9CiB9CiAKLXZvaWQg
U1dDbGllbnRDb25uZWN0aW9uOjp1cGRhdGVSZWdpc3RyYXRpb25TdGF0ZShjb25zdCBTZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uS2V5JiBrZXksIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25TdGF0
ZSBzdGF0ZSwgc3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2VySWRlbnRpZmllcj4gc2VydmljZVdv
cmtlcklkZW50aWZpZXIpCit2b2lkIFNXQ2xpZW50Q29ubmVjdGlvbjo6dXBkYXRlUmVnaXN0cmF0
aW9uU3RhdGUoU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIgaWRlbnRpZmllciwg
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvblN0YXRlIHN0YXRlLCBzdGQ6Om9wdGlvbmFsPFNlcnZp
Y2VXb3JrZXJJZGVudGlmaWVyPiBzZXJ2aWNlV29ya2VySWRlbnRpZmllcikKIHsKICAgICBmb3JF
YWNoQ29udGFpbmVyKFsmXShTZXJ2aWNlV29ya2VyQ29udGFpbmVyJiBjb250YWluZXIpIHsKLSAg
ICAgICAgY29udGFpbmVyLnNjaGVkdWxlVGFza1RvVXBkYXRlUmVnaXN0cmF0aW9uU3RhdGUoa2V5
LCBzdGF0ZSwgc2VydmljZVdvcmtlcklkZW50aWZpZXIpOworICAgICAgICBjb250YWluZXIuc2No
ZWR1bGVUYXNrVG9VcGRhdGVSZWdpc3RyYXRpb25TdGF0ZShpZGVudGlmaWVyLCBzdGF0ZSwgc2Vy
dmljZVdvcmtlcklkZW50aWZpZXIpOwogICAgIH0pOwogfQogCkBAIC0xNjUsMTAgKzE2NSwxMCBA
QCB2b2lkIFNXQ2xpZW50Q29ubmVjdGlvbjo6dXBkYXRlV29ya2VyU3RhdGUoU2VydmljZVdvcmtl
cklkZW50aWZpZXIgaWRlbnRpZmllciwgUwogICAgICAgICB3b3JrZXItPnNjaGVkdWxlVGFza1Rv
VXBkYXRlU3RhdGUoc3RhdGUpOwogfQogCi12b2lkIFNXQ2xpZW50Q29ubmVjdGlvbjo6ZmlyZVVw
ZGF0ZUZvdW5kRXZlbnQoY29uc3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleSYga2V5KQor
dm9pZCBTV0NsaWVudENvbm5lY3Rpb246OmZpcmVVcGRhdGVGb3VuZEV2ZW50KFNlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyIGlkZW50aWZpZXIpCiB7CiAgICAgZm9yRWFjaENvbnRh
aW5lcihbJl0oU2VydmljZVdvcmtlckNvbnRhaW5lciYgY29udGFpbmVyKSB7Ci0gICAgICAgIGNv
bnRhaW5lci5zY2hlZHVsZVRhc2tUb0ZpcmVVcGRhdGVGb3VuZEV2ZW50KGtleSk7CisgICAgICAg
IGNvbnRhaW5lci5zY2hlZHVsZVRhc2tUb0ZpcmVVcGRhdGVGb3VuZEV2ZW50KGlkZW50aWZpZXIp
OwogICAgIH0pOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZp
Y2Uvc2VydmVyL1NXQ2xpZW50Q29ubmVjdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9z
ZXJ2aWNlL3NlcnZlci9TV0NsaWVudENvbm5lY3Rpb24uaAppbmRleCA3N2IxYzMzMzdjMGFkZDY1
MWJjZWUyMDczNTU4YTlkZTZmNjI4YTUxLi5hNTNhYjA5ZmJlZTUyYTkzOWMwYzY5ODcxNTI0Yjlj
ZWE4ZmI4YWUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2Vy
dmVyL1NXQ2xpZW50Q29ubmVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vy
dmljZS9zZXJ2ZXIvU1dDbGllbnRDb25uZWN0aW9uLmgKQEAgLTI4LDYgKzI4LDcgQEAKICNpZiBF
TkFCTEUoU0VSVklDRV9XT1JLRVIpCiAKICNpbmNsdWRlICJTZXJ2aWNlV29ya2VySm9iLmgiCisj
aW5jbHVkZSAiU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIuaCIKICNpbmNsdWRl
IDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRTYWZlUmVmQ291bnRlZC5oPgog
CkBAIC01Myw4ICs1NCw4IEBAIHB1YmxpYzoKICAgICB1c2luZyBSZWdpc3RyYXRpb25DYWxsYmFj
ayA9IFdURjo6Q29tcGxldGlvbkhhbmRsZXI8dm9pZChzdGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb25EYXRhPiYmKT47CiAgICAgdmlydHVhbCB2b2lkIG1hdGNoUmVnaXN0cmF0
aW9uKGNvbnN0IFNlY3VyaXR5T3JpZ2luJiB0b3BPcmlnaW4sIGNvbnN0IFVSTCYgY2xpZW50VVJM
LCBSZWdpc3RyYXRpb25DYWxsYmFjayYmKSA9IDA7CiAKLSAgICB2aXJ0dWFsIHZvaWQgYWRkU2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbkluU2VydmVyKGNvbnN0IFNlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb25LZXkmLCB1aW50NjRfdCByZWdpc3RyYXRpb25JZGVudGlmaWVyKSA9IDA7Ci0gICAgdmly
dHVhbCB2b2lkIHJlbW92ZVNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JblNlcnZlcihjb25zdCBT
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5JiwgdWludDY0X3QgcmVnaXN0cmF0aW9uSWRlbnRp
ZmllcikgPSAwOworICAgIHZpcnR1YWwgdm9pZCBhZGRTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
SW5TZXJ2ZXIoY29uc3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleSYsIFNlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHJlbW92ZVNl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JblNlcnZlcihjb25zdCBTZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uS2V5JiwgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIpID0gMDsKIAog
ICAgIHZvaWQgc2NoZWR1bGVKb2IoU2VydmljZVdvcmtlckpvYiYpOwogICAgIHZvaWQgZmluaXNo
ZWRGZXRjaGluZ1NjcmlwdChTZXJ2aWNlV29ya2VySm9iJiwgY29uc3QgU3RyaW5nJik7CkBAIC03
NCw5ICs3NSw5IEBAIHByb3RlY3RlZDoKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHVucmVnaXN0
cmF0aW9uSm9iUmVzb2x2ZWRJblNlcnZlcih1aW50NjRfdCBqb2JJZGVudGlmaWVyLCBib29sIHVu
cmVnaXN0cmF0aW9uUmVzdWx0KTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHN0YXJ0U2NyaXB0
RmV0Y2hGb3JTZXJ2ZXIodWludDY0X3Qgam9iSWRlbnRpZmllcik7CiAgICAgV0VCQ09SRV9FWFBP
UlQgdm9pZCBwb3N0TWVzc2FnZVRvU2VydmljZVdvcmtlckNsaWVudCh1aW50NjRfdCBkZXN0aW5h
dGlvblNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyLCBSZWY8U2VyaWFsaXplZFNjcmlw
dFZhbHVlPiYmIG1lc3NhZ2UsIFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIHNvdXJjZSwgY29uc3Qg
U3RyaW5nJiBzb3VyY2VPcmlnaW4pOwotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgdXBkYXRlUmVn
aXN0cmF0aW9uU3RhdGUoY29uc3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleSYsIFNlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb25TdGF0ZSwgc3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2VySWRl
bnRpZmllcj4pOworICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgdXBkYXRlUmVnaXN0cmF0aW9uU3Rh
dGUoU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIsIFNlcnZpY2VXb3JrZXJSZWdp
c3RyYXRpb25TdGF0ZSwgc3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2VySWRlbnRpZmllcj4pOwog
ICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgdXBkYXRlV29ya2VyU3RhdGUoU2VydmljZVdvcmtlcklk
ZW50aWZpZXIsIFNlcnZpY2VXb3JrZXJTdGF0ZSk7Ci0gICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBm
aXJlVXBkYXRlRm91bmRFdmVudChjb25zdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5Jik7
CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBmaXJlVXBkYXRlRm91bmRFdmVudChTZXJ2aWNlV29y
a2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcik7CiAKIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lk
IHNjaGVkdWxlSm9iSW5TZXJ2ZXIoY29uc3QgU2VydmljZVdvcmtlckpvYkRhdGEmKSA9IDA7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuY3Bw
CmluZGV4IDcyYzkwM2Q5NDgwNGY5NmEyNjZhMDFiMDliMzNhN2U4NTg4MTY0N2MuLmI0MjZjZDAx
YTZhMzBmYmQyZmRhOTcxNjUzOTA4MTdkYmYzMTY3MzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuY3BwCkBAIC0xMjIsMTQgKzEyMiwx
NCBAQCB2b2lkIFNXU2VydmVyOjpDb25uZWN0aW9uOjpkaWRSZXNvbHZlUmVnaXN0cmF0aW9uUHJv
bWlzZShjb25zdCBTZXJ2aWNlV29ya2VyUmVnaQogICAgIG1fc2VydmVyLmRpZFJlc29sdmVSZWdp
c3RyYXRpb25Qcm9taXNlKCp0aGlzLCBrZXkpOwogfQogCi12b2lkIFNXU2VydmVyOjpDb25uZWN0
aW9uOjphZGRTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSW5TZXJ2ZXIoY29uc3QgU2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbktleSYga2V5LCB1aW50NjRfdCBjbGllbnRSZWdpc3RyYXRpb25JZGVu
dGlmaWVyKQordm9pZCBTV1NlcnZlcjo6Q29ubmVjdGlvbjo6YWRkU2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbkluU2VydmVyKGNvbnN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkmIGtleSwg
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIgaWRlbnRpZmllcikKIHsKLSAgICBt
X3NlcnZlci5hZGRDbGllbnRTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uKCp0aGlzLCBrZXksIGNs
aWVudFJlZ2lzdHJhdGlvbklkZW50aWZpZXIpOworICAgIG1fc2VydmVyLmFkZENsaWVudFNlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb24oKnRoaXMsIGtleSwgaWRlbnRpZmllcik7CiB9CiAKLXZvaWQg
U1dTZXJ2ZXI6OkNvbm5lY3Rpb246OnJlbW92ZVNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JblNl
cnZlcihjb25zdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5JiBrZXksIHVpbnQ2NF90IGNs
aWVudFJlZ2lzdHJhdGlvbklkZW50aWZpZXIpCit2b2lkIFNXU2VydmVyOjpDb25uZWN0aW9uOjpy
ZW1vdmVTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSW5TZXJ2ZXIoY29uc3QgU2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbktleSYga2V5LCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmll
ciBpZGVudGlmaWVyKQogewotICAgIG1fc2VydmVyLnJlbW92ZUNsaWVudFNlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb24oKnRoaXMsIGtleSwgY2xpZW50UmVnaXN0cmF0aW9uSWRlbnRpZmllcik7Cisg
ICAgbV9zZXJ2ZXIucmVtb3ZlQ2xpZW50U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbigqdGhpcywg
a2V5LCBpZGVudGlmaWVyKTsKIH0KIAogdm9pZCBTV1NlcnZlcjo6Q29ubmVjdGlvbjo6c2NyaXB0
Q29udGV4dEZhaWxlZFRvU3RhcnQoY29uc3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleSYg
cmVnaXN0cmF0aW9uS2V5LCBTZXJ2aWNlV29ya2VySWRlbnRpZmllciBpZGVudGlmaWVyLCBjb25z
dCBTdHJpbmcmIG1lc3NhZ2UpCkBAIC0xNzgsNyArMTc4LDcgQEAgdm9pZCBTV1NlcnZlcjo6cmVq
ZWN0Sm9iKGNvbnN0IFNlcnZpY2VXb3JrZXJKb2JEYXRhJiBqb2JEYXRhLCBjb25zdCBFeGNlcHRp
b25EYXQKIAogdm9pZCBTV1NlcnZlcjo6cmVzb2x2ZVJlZ2lzdHJhdGlvbkpvYihjb25zdCBTZXJ2
aWNlV29ya2VySm9iRGF0YSYgam9iRGF0YSwgY29uc3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlv
bkRhdGEmIHJlZ2lzdHJhdGlvbkRhdGEsIFNob3VsZE5vdGlmeVdoZW5SZXNvbHZlZCBzaG91bGRO
b3RpZnlXaGVuUmVzb2x2ZWQpCiB7Ci0gICAgTE9HKFNlcnZpY2VXb3JrZXIsICJSZXNvbHZlZCBT
ZXJ2aWNlV29ya2VyIGpvYiAlIiBQUkl1NjQgIi0lIiBQUkl1NjQgIiBpbiBzZXJ2ZXIgd2l0aCBy
ZWdpc3RyYXRpb24gJSIgUFJJdTY0LCBqb2JEYXRhLmNvbm5lY3Rpb25JZGVudGlmaWVyKCksIGpv
YkRhdGEuaWRlbnRpZmllcigpLCByZWdpc3RyYXRpb25EYXRhLmlkZW50aWZpZXIpOworICAgIExP
RyhTZXJ2aWNlV29ya2VyLCAiUmVzb2x2ZWQgU2VydmljZVdvcmtlciBqb2IgJSIgUFJJdTY0ICIt
JSIgUFJJdTY0ICIgaW4gc2VydmVyIHdpdGggcmVnaXN0cmF0aW9uICVzIiwgam9iRGF0YS5jb25u
ZWN0aW9uSWRlbnRpZmllcigpLCBqb2JEYXRhLmlkZW50aWZpZXIoKSwgcmVnaXN0cmF0aW9uRGF0
YS5pZGVudGlmaWVyLmxvZ2dpbmdTdHJpbmcoKS51dGY4KCkuZGF0YSgpKTsKICAgICBhdXRvKiBj
b25uZWN0aW9uID0gbV9jb25uZWN0aW9ucy5nZXQoam9iRGF0YS5jb25uZWN0aW9uSWRlbnRpZmll
cigpKTsKICAgICBpZiAoIWNvbm5lY3Rpb24pCiAgICAgICAgIHJldHVybjsKQEAgLTI1MCwyNiAr
MjUwLDMyIEBAIHZvaWQgU1dTZXJ2ZXI6OmRpZFJlc29sdmVSZWdpc3RyYXRpb25Qcm9taXNlKENv
bm5lY3Rpb24mIGNvbm5lY3Rpb24sIGNvbnN0IFNlcnZpCiAgICAgICAgIGpvYlF1ZXVlLT5kaWRS
ZXNvbHZlUmVnaXN0cmF0aW9uUHJvbWlzZShjb25uZWN0aW9uKTsKIH0KIAotdm9pZCBTV1NlcnZl
cjo6YWRkQ2xpZW50U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbihDb25uZWN0aW9uJiBjb25uZWN0
aW9uLCBjb25zdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5JiBrZXksIHVpbnQ2NF90IHJl
Z2lzdHJhdGlvbklkZW50aWZpZXIpCit2b2lkIFNXU2VydmVyOjphZGRDbGllbnRTZXJ2aWNlV29y
a2VyUmVnaXN0cmF0aW9uKENvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIGNvbnN0IFNlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb25LZXkmIGtleSwgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZp
ZXIgaWRlbnRpZmllcikKIHsKICAgICBhdXRvKiByZWdpc3RyYXRpb24gPSBtX3JlZ2lzdHJhdGlv
bnMuZ2V0KGtleSk7CiAgICAgaWYgKCFyZWdpc3RyYXRpb24pIHsKICAgICAgICAgTE9HX0VSUk9S
KCJSZXF1ZXN0IHRvIGFkZCBjbGllbnQtc2lkZSBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uIHRv
IG5vbi1leGlzdGVudCBzZXJ2ZXItc2lkZSByZWdpc3RyYXRpb24iKTsKICAgICAgICAgcmV0dXJu
OwogICAgIH0KKworICAgIGlmIChyZWdpc3RyYXRpb24tPmlkZW50aWZpZXIoKSAhPSBpZGVudGlm
aWVyKQorICAgICAgICByZXR1cm47CiAgICAgCi0gICAgcmVnaXN0cmF0aW9uLT5hZGRDbGllbnRT
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uKGNvbm5lY3Rpb24uaWRlbnRpZmllcigpLCByZWdpc3Ry
YXRpb25JZGVudGlmaWVyKTsKKyAgICByZWdpc3RyYXRpb24tPmFkZENsaWVudFNlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb24oY29ubmVjdGlvbi5pZGVudGlmaWVyKCkpOwogfQogCi12b2lkIFNXU2Vy
dmVyOjpyZW1vdmVDbGllbnRTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uKENvbm5lY3Rpb24mIGNv
bm5lY3Rpb24sIGNvbnN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkmIGtleSwgdWludDY0
X3QgcmVnaXN0cmF0aW9uSWRlbnRpZmllcikKK3ZvaWQgU1dTZXJ2ZXI6OnJlbW92ZUNsaWVudFNl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb24oQ29ubmVjdGlvbiYgY29ubmVjdGlvbiwgY29uc3QgU2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbktleSYga2V5LCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
SWRlbnRpZmllciBpZGVudGlmaWVyKQogewogICAgIGF1dG8qIHJlZ2lzdHJhdGlvbiA9IG1fcmVn
aXN0cmF0aW9ucy5nZXQoa2V5KTsKICAgICBpZiAoIXJlZ2lzdHJhdGlvbikgewogICAgICAgICBM
T0dfRVJST1IoIlJlcXVlc3QgdG8gcmVtb3ZlIGNsaWVudC1zaWRlIFNlcnZpY2VXb3JrZXJSZWdp
c3RyYXRpb24gZnJvbSBub24tZXhpc3RlbnQgc2VydmVyLXNpZGUgcmVnaXN0cmF0aW9uIik7CiAg
ICAgICAgIHJldHVybjsKICAgICB9CisKKyAgICBpZiAocmVnaXN0cmF0aW9uLT5pZGVudGlmaWVy
KCkgIT0gaWRlbnRpZmllcikKKyAgICAgICAgcmV0dXJuOwogICAgIAotICAgIHJlZ2lzdHJhdGlv
bi0+cmVtb3ZlQ2xpZW50U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbihjb25uZWN0aW9uLmlkZW50
aWZpZXIoKSwgcmVnaXN0cmF0aW9uSWRlbnRpZmllcik7CisgICAgcmVnaXN0cmF0aW9uLT5yZW1v
dmVDbGllbnRTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uKGNvbm5lY3Rpb24uaWRlbnRpZmllcigp
KTsKIH0KIAogUmVmPFNXU2VydmVyV29ya2VyPiBTV1NlcnZlcjo6dXBkYXRlV29ya2VyKENvbm5l
Y3Rpb24mIGNvbm5lY3Rpb24sIGNvbnN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkmIHJl
Z2lzdHJhdGlvbktleSwgY29uc3QgVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgc2NyaXB0LCBXb3Jr
ZXJUeXBlIHR5cGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uv
c2VydmVyL1NXU2VydmVyLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVy
L1NXU2VydmVyLmgKaW5kZXggNTgwY2MyNjlmYWNiM2UzYTFhZDk5YjRhOGE1MTQzZDZjODEzNGQz
My4uNmQ3ZTNiZDk5YzRiNmU2MTIwODk1NDk3OTIxODNhY2ZjY2E5ZGEzMiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuaApAQCAtNjYsOSAr
NjYsOSBAQCBwdWJsaWM6CiAgICAgICAgIGNvbnN0IFNXU2VydmVyUmVnaXN0cmF0aW9uKiBkb1Jl
Z2lzdHJhdGlvbk1hdGNoaW5nKGNvbnN0IFNlY3VyaXR5T3JpZ2luRGF0YSYgdG9wT3JpZ2luLCBj
b25zdCBVUkwmIGNsaWVudFVSTCkgY29uc3QgeyByZXR1cm4gbV9zZXJ2ZXIuZG9SZWdpc3RyYXRp
b25NYXRjaGluZyh0b3BPcmlnaW4sIGNsaWVudFVSTCk7IH0KIAogICAgICAgICAvLyBNZXNzYWdl
cyB0byB0aGUgY2xpZW50IFdlYlByb2Nlc3MKLSAgICAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZVJl
Z2lzdHJhdGlvblN0YXRlSW5DbGllbnQoY29uc3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktl
eSYsIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25TdGF0ZSwgc3RkOjpvcHRpb25hbDxTZXJ2aWNl
V29ya2VySWRlbnRpZmllcj4pID0gMDsKKyAgICAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZVJlZ2lz
dHJhdGlvblN0YXRlSW5DbGllbnQoU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIs
IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25TdGF0ZSwgc3RkOjpvcHRpb25hbDxTZXJ2aWNlV29y
a2VySWRlbnRpZmllcj4pID0gMDsKICAgICAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZVdvcmtlclN0
YXRlSW5DbGllbnQoU2VydmljZVdvcmtlcklkZW50aWZpZXIsIFNlcnZpY2VXb3JrZXJTdGF0ZSkg
PSAwOwotICAgICAgICB2aXJ0dWFsIHZvaWQgZmlyZVVwZGF0ZUZvdW5kRXZlbnQoY29uc3QgU2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbktleSYpID0gMDsKKyAgICAgICAgdmlydHVhbCB2b2lkIGZp
cmVVcGRhdGVGb3VuZEV2ZW50KFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyKSA9
IDA7CiAKICAgICBwcm90ZWN0ZWQ6CiAgICAgICAgIFdFQkNPUkVfRVhQT1JUIENvbm5lY3Rpb24o
U1dTZXJ2ZXImLCB1aW50NjRfdCBpZGVudGlmaWVyKTsKQEAgLTc2LDggKzc2LDggQEAgcHVibGlj
OgogCiAgICAgICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2NoZWR1bGVKb2JJblNlcnZlcihjb25z
dCBTZXJ2aWNlV29ya2VySm9iRGF0YSYpOwogICAgICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGZp
bmlzaEZldGNoaW5nU2NyaXB0SW5TZXJ2ZXIoY29uc3QgU2VydmljZVdvcmtlckZldGNoUmVzdWx0
Jik7Ci0gICAgICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgYWRkU2VydmljZVdvcmtlclJlZ2lzdHJh
dGlvbkluU2VydmVyKGNvbnN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkmLCB1aW50NjRf
dCBjbGllbnRSZWdpc3RyYXRpb25JZGVudGlmaWVyKTsKLSAgICAgICAgV0VCQ09SRV9FWFBPUlQg
dm9pZCByZW1vdmVTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSW5TZXJ2ZXIoY29uc3QgU2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbktleSYsIHVpbnQ2NF90IGNsaWVudFJlZ2lzdHJhdGlvbklkZW50
aWZpZXIpOworICAgICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGFkZFNlcnZpY2VXb3JrZXJSZWdp
c3RyYXRpb25JblNlcnZlcihjb25zdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5JiwgU2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIpOworICAgICAgICBXRUJDT1JFX0VYUE9S
VCB2b2lkIHJlbW92ZVNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JblNlcnZlcihjb25zdCBTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5JiwgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50
aWZpZXIpOwogCiAgICAgcHJpdmF0ZToKICAgICAgICAgLy8gTWVzc2FnZXMgdG8gdGhlIGNsaWVu
dCBXZWJQcm9jZXNzCkBAIC0xMzAsOCArMTMwLDggQEAgcHJpdmF0ZToKICAgICB2b2lkIGRpZEZp
bmlzaEluc3RhbGwoQ29ubmVjdGlvbiYsIGNvbnN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25L
ZXkmLCBTZXJ2aWNlV29ya2VySWRlbnRpZmllciwgYm9vbCB3YXNTdWNjZXNzZnVsKTsKICAgICB2
b2lkIGRpZFJlc29sdmVSZWdpc3RyYXRpb25Qcm9taXNlKENvbm5lY3Rpb24mLCBjb25zdCBTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5Jik7CiAKLSAgICB2b2lkIGFkZENsaWVudFNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb24oQ29ubmVjdGlvbiYsIGNvbnN0IFNlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb25LZXkmLCB1aW50NjRfdCByZWdpc3RyYXRpb25JZGVudGlmaWVyKTsKLSAgICB2b2lkIHJl
bW92ZUNsaWVudFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24oQ29ubmVjdGlvbiYsIGNvbnN0IFNl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkmLCB1aW50NjRfdCByZWdpc3RyYXRpb25JZGVudGlm
aWVyKTsKKyAgICB2b2lkIGFkZENsaWVudFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24oQ29ubmVj
dGlvbiYsIGNvbnN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkmLCBTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uSWRlbnRpZmllcik7CisgICAgdm9pZCByZW1vdmVDbGllbnRTZXJ2aWNlV29y
a2VyUmVnaXN0cmF0aW9uKENvbm5lY3Rpb24mLCBjb25zdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uS2V5JiwgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIpOwogCiAgICAgV0VC
Q09SRV9FWFBPUlQgY29uc3QgU1dTZXJ2ZXJSZWdpc3RyYXRpb24qIGRvUmVnaXN0cmF0aW9uTWF0
Y2hpbmcoY29uc3QgU2VjdXJpdHlPcmlnaW5EYXRhJiB0b3BPcmlnaW4sIGNvbnN0IFVSTCYgY2xp
ZW50VVJMKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2
aWNlL3NlcnZlci9TV1NlcnZlclJlZ2lzdHJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyUmVnaXN0cmF0aW9uLmNwcAppbmRleCA4ZDg0ZGNi
OTM5MDk3YWNiZjQ4ZDlmOWViMTYyNmM1ZmMxNDMzZjAzLi5iNDdlYTUzZjVhZTk4YWNlNzA3Yjhj
MGI0ZWNhYzMyY2I1OGI1NmRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3Nl
cnZpY2Uvc2VydmVyL1NXU2VydmVyUmVnaXN0cmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyUmVnaXN0cmF0aW9uLmNwcApAQCAtMzUs
OCArMzUsMTUgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitzdGF0aWMgU2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbklkZW50aWZpZXIgZ2VuZXJhdGVTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
SWRlbnRpZmllcigpCit7CisgICAgc3RhdGljIHVpbnQ2NF90IGlkZW50aWZpZXIgPSAwOworICAg
IHJldHVybiBtYWtlT2JqZWN0SWRlbnRpZmllcjxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRl
bnRpZmllclR5cGU+KCsraWRlbnRpZmllcik7Cit9CisKIFNXU2VydmVyUmVnaXN0cmF0aW9uOjpT
V1NlcnZlclJlZ2lzdHJhdGlvbihTV1NlcnZlciYgc2VydmVyLCBjb25zdCBTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uS2V5JiBrZXksIFNlcnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNoZSB1cGRhdGVW
aWFDYWNoZSwgY29uc3QgVVJMJiBzY29wZVVSTCwgY29uc3QgVVJMJiBzY3JpcHRVUkwpCi0gICAg
OiBtX3JlZ2lzdHJhdGlvbktleShrZXkpCisgICAgOiBtX2lkZW50aWZpZXIoZ2VuZXJhdGVTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcigpKQorICAgICwgbV9yZWdpc3RyYXRpb25L
ZXkoa2V5KQogICAgICwgbV91cGRhdGVWaWFDYWNoZSh1cGRhdGVWaWFDYWNoZSkKICAgICAsIG1f
c2NvcGVVUkwoc2NvcGVVUkwpCiAgICAgLCBtX3NjcmlwdFVSTChzY3JpcHRVUkwpCkBAIC04MCw3
ICs4Nyw3IEBAIHZvaWQgU1dTZXJ2ZXJSZWdpc3RyYXRpb246OnVwZGF0ZVJlZ2lzdHJhdGlvblN0
YXRlKGNvbnN0IFNlcnZpY2VXb3JrZXJKb2JEYXRhJiBqCiAgICAgICAgIHNlcnZpY2VXb3JrZXJJ
ZGVudGlmaWVyID0gd29ya2VyLT5pZGVudGlmaWVyKCk7CiAKICAgICBmb3JFYWNoQ29ubmVjdGlv
bihqb2IsIFsmXShhdXRvJiBjb25uZWN0aW9uKSB7Ci0gICAgICAgIGNvbm5lY3Rpb24udXBkYXRl
UmVnaXN0cmF0aW9uU3RhdGVJbkNsaWVudChtX3JlZ2lzdHJhdGlvbktleSwgc3RhdGUsIHNlcnZp
Y2VXb3JrZXJJZGVudGlmaWVyKTsKKyAgICAgICAgY29ubmVjdGlvbi51cGRhdGVSZWdpc3RyYXRp
b25TdGF0ZUluQ2xpZW50KGlkZW50aWZpZXIoKSwgc3RhdGUsIHNlcnZpY2VXb3JrZXJJZGVudGlm
aWVyKTsKICAgICB9KTsKIH0KIApAQCAtOTgsNyArMTA1LDcgQEAgdm9pZCBTV1NlcnZlclJlZ2lz
dHJhdGlvbjo6dXBkYXRlV29ya2VyU3RhdGUoY29uc3QgU2VydmljZVdvcmtlckpvYkRhdGEmIGpv
YiwgU1cKIHZvaWQgU1dTZXJ2ZXJSZWdpc3RyYXRpb246OmZpcmVVcGRhdGVGb3VuZEV2ZW50KGNv
bnN0IFNlcnZpY2VXb3JrZXJKb2JEYXRhJiBqb2IpCiB7CiAgICAgZm9yRWFjaENvbm5lY3Rpb24o
am9iLCBbJl0oYXV0byYgY29ubmVjdGlvbikgewotICAgICAgICBjb25uZWN0aW9uLmZpcmVVcGRh
dGVGb3VuZEV2ZW50KG1fcmVnaXN0cmF0aW9uS2V5KTsKKyAgICAgICAgY29ubmVjdGlvbi5maXJl
VXBkYXRlRm91bmRFdmVudChpZGVudGlmaWVyKCkpOwogICAgIH0pOwogfQogCkBAIC0xMDYsMTIg
KzExMywxMiBAQCB2b2lkIFNXU2VydmVyUmVnaXN0cmF0aW9uOjpmb3JFYWNoQ29ubmVjdGlvbihj
b25zdCBTZXJ2aWNlV29ya2VySm9iRGF0YSYgam9iLCBjbwogewogICAgIC8vIE5vIG1hdHRlciB3
aGF0LCB3ZSBzZW5kIHRoZSBldmVudCB0byB0aGUgY29ubmVjdGlvbiB0aGF0IHNjaGVkdWxlZCB0
aGUgam9iLiBUaGUgY2xpZW50IHJlZ2lzdHJhdGlvbgogICAgIC8vIG1heSBub3QgaGF2ZSBnb3R0
ZW4gYSBjaGFuY2UgdG8gcmVnaXN0ZXIgaXRzZWxmIHlldC4KLSAgICBpZiAoIW1fY2xpZW50UmVn
aXN0cmF0aW9uc0J5Q29ubmVjdGlvbi5jb250YWlucyhqb2IuY29ubmVjdGlvbklkZW50aWZpZXIo
KSkpIHsKKyAgICBpZiAoIW1fY29ubmVjdGlvbnNXaXRoQ2xpZW50UmVnaXN0cmF0aW9ucy5jb250
YWlucyhqb2IuY29ubmVjdGlvbklkZW50aWZpZXIoKSkpIHsKICAgICAgICAgaWYgKGF1dG8qIGNv
bm5lY3Rpb24gPSBtX3NlcnZlci5nZXRDb25uZWN0aW9uKGpvYi5jb25uZWN0aW9uSWRlbnRpZmll
cigpKSkKICAgICAgICAgICAgIGFwcGx5KCpjb25uZWN0aW9uKTsKICAgICB9CiAKLSAgICBmb3Ig
KGF1dG8mIGNvbm5lY3Rpb25JZGVudGlmaWVyV2l0aENsaWVudHMgOiBtX2NsaWVudFJlZ2lzdHJh
dGlvbnNCeUNvbm5lY3Rpb24ua2V5cygpKSB7CisgICAgZm9yICh1aW50NjRfdCBjb25uZWN0aW9u
SWRlbnRpZmllcldpdGhDbGllbnRzIDogbV9jb25uZWN0aW9uc1dpdGhDbGllbnRSZWdpc3RyYXRp
b25zLnZhbHVlcygpKSB7CiAgICAgICAgIGlmIChhdXRvKiBjb25uZWN0aW9uID0gbV9zZXJ2ZXIu
Z2V0Q29ubmVjdGlvbihjb25uZWN0aW9uSWRlbnRpZmllcldpdGhDbGllbnRzKSkKICAgICAgICAg
ICAgIGFwcGx5KCpjb25uZWN0aW9uKTsKICAgICB9CkBAIC0xMzQsMjUgKzE0MSwxNCBAQCBTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YSBTV1NlcnZlclJlZ2lzdHJhdGlvbjo6ZGF0YSgpIGNv
bnN0CiAgICAgcmV0dXJuIHsgbV9yZWdpc3RyYXRpb25LZXksIGlkZW50aWZpZXIoKSwgbV9zY29w
ZVVSTCwgbV9zY3JpcHRVUkwsIG1fdXBkYXRlVmlhQ2FjaGUsIGluc3RhbGxpbmdJRCwgd2FpdGlu
Z0lELCBhY3RpdmVJRCB9OwogfQogCi12b2lkIFNXU2VydmVyUmVnaXN0cmF0aW9uOjphZGRDbGll
bnRTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uKHVpbnQ2NF90IGNvbm5lY3Rpb25JZGVudGlmaWVy
LCB1aW50NjRfdCBjbGllbnRSZWdpc3RyYXRpb25JZGVudGlmaWVyKQordm9pZCBTV1NlcnZlclJl
Z2lzdHJhdGlvbjo6YWRkQ2xpZW50U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbih1aW50NjRfdCBj
b25uZWN0aW9uSWRlbnRpZmllcikKIHsKLSAgICBhdXRvIHJlc3VsdCA9IG1fY2xpZW50UmVnaXN0
cmF0aW9uc0J5Q29ubmVjdGlvbi5lbnN1cmUoY29ubmVjdGlvbklkZW50aWZpZXIsIFtdIHsKLSAg
ICAgICAgcmV0dXJuIHN0ZDo6bWFrZV91bmlxdWU8SGFzaFNldDx1aW50NjRfdD4+KCk7Ci0gICAg
fSk7Ci0gICAgCi0gICAgQVNTRVJUKCFyZXN1bHQuaXRlcmF0b3ItPnZhbHVlLT5jb250YWlucyhj
bGllbnRSZWdpc3RyYXRpb25JZGVudGlmaWVyKSk7Ci0gICAgcmVzdWx0Lml0ZXJhdG9yLT52YWx1
ZS0+YWRkKGNsaWVudFJlZ2lzdHJhdGlvbklkZW50aWZpZXIpOworICAgIG1fY29ubmVjdGlvbnNX
aXRoQ2xpZW50UmVnaXN0cmF0aW9ucy5hZGQoY29ubmVjdGlvbklkZW50aWZpZXIpOwogfQogCi12
b2lkIFNXU2VydmVyUmVnaXN0cmF0aW9uOjpyZW1vdmVDbGllbnRTZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uKHVpbnQ2NF90IGNvbm5lY3Rpb25JZGVudGlmaWVyLCB1aW50NjRfdCBjbGllbnRSZWdp
c3RyYXRpb25JZGVudGlmaWVyKQordm9pZCBTV1NlcnZlclJlZ2lzdHJhdGlvbjo6cmVtb3ZlQ2xp
ZW50U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbih1aW50NjRfdCBjb25uZWN0aW9uSWRlbnRpZmll
cikKIHsKLSAgICBhdXRvIGl0ZXJhdG9yID0gbV9jbGllbnRSZWdpc3RyYXRpb25zQnlDb25uZWN0
aW9uLmZpbmQoY29ubmVjdGlvbklkZW50aWZpZXIpOwotICAgIGlmIChpdGVyYXRvciA9PSBtX2Ns
aWVudFJlZ2lzdHJhdGlvbnNCeUNvbm5lY3Rpb24uZW5kKCkgfHwgIWl0ZXJhdG9yLT52YWx1ZSkK
LSAgICAgICAgcmV0dXJuOwotICAgIAotICAgIGl0ZXJhdG9yLT52YWx1ZS0+cmVtb3ZlKGNsaWVu
dFJlZ2lzdHJhdGlvbklkZW50aWZpZXIpOwotICAgIGlmIChpdGVyYXRvci0+dmFsdWUtPmlzRW1w
dHkoKSkKLSAgICAgICAgbV9jbGllbnRSZWdpc3RyYXRpb25zQnlDb25uZWN0aW9uLnJlbW92ZShp
dGVyYXRvcik7CisgICAgbV9jb25uZWN0aW9uc1dpdGhDbGllbnRSZWdpc3RyYXRpb25zLnJlbW92
ZShjb25uZWN0aW9uSWRlbnRpZmllcik7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJS
ZWdpc3RyYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dT
ZXJ2ZXJSZWdpc3RyYXRpb24uaAppbmRleCAzNzg2OTQ0ZmE3NDhmNDg1MjBmMGQyYjA4NGRmNGQw
OTkyMGE0YTgwLi44NDY2MzJmMTcxNjJiNDUxMDNiNTczNWFiMjA3MTJjNjVkMjg1MGViIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyUmVn
aXN0cmF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9T
V1NlcnZlclJlZ2lzdHJhdGlvbi5oCkBAIC0yOSw3ICsyOSw4IEBACiAKICNpbmNsdWRlICJTV1Nl
cnZlci5oIgogI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhLmgiCi0jaW5j
bHVkZSA8d3RmL0lkZW50aWZpZWQuaD4KKyNpbmNsdWRlICJTZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uSWRlbnRpZmllci5oIgorI2luY2x1ZGUgPHd0Zi9IYXNoQ291bnRlZFNldC5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQwLDEyICs0MSwxMyBAQCBlbnVtIGNsYXNzIFNlcnZpY2VX
b3JrZXJTdGF0ZTsKIHN0cnVjdCBFeGNlcHRpb25EYXRhOwogc3RydWN0IFNlcnZpY2VXb3JrZXJG
ZXRjaFJlc3VsdDsKIAotY2xhc3MgU1dTZXJ2ZXJSZWdpc3RyYXRpb24gOiBwdWJsaWMgVGhyZWFk
U2FmZUlkZW50aWZpZWQ8U1dTZXJ2ZXJSZWdpc3RyYXRpb24+IHsKK2NsYXNzIFNXU2VydmVyUmVn
aXN0cmF0aW9uIHsKIHB1YmxpYzoKICAgICBTV1NlcnZlclJlZ2lzdHJhdGlvbihTV1NlcnZlciYs
IGNvbnN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkmLCBTZXJ2aWNlV29ya2VyVXBkYXRl
VmlhQ2FjaGUsIGNvbnN0IFVSTCYgc2NvcGVVUkwsIGNvbnN0IFVSTCYgc2NyaXB0VVJMKTsKICAg
ICB+U1dTZXJ2ZXJSZWdpc3RyYXRpb24oKTsKIAogICAgIGNvbnN0IFNlcnZpY2VXb3JrZXJSZWdp
c3RyYXRpb25LZXkmIGtleSgpIGNvbnN0IHsgcmV0dXJuIG1fcmVnaXN0cmF0aW9uS2V5OyB9Cisg
ICAgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIgaWRlbnRpZmllcigpIGNvbnN0
IHsgcmV0dXJuIG1faWRlbnRpZmllcjsgfQogCiAgICAgU1dTZXJ2ZXJXb3JrZXIqIGdldE5ld2Vz
dFdvcmtlcigpOwogICAgIFdFQkNPUkVfRVhQT1JUIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25E
YXRhIGRhdGEoKSBjb25zdDsKQEAgLTYwLDggKzYyLDggQEAgcHVibGljOgogICAgIHZvaWQgdXBk
YXRlV29ya2VyU3RhdGUoY29uc3QgU2VydmljZVdvcmtlckpvYkRhdGEmLCBTV1NlcnZlcldvcmtl
ciYsIFNlcnZpY2VXb3JrZXJTdGF0ZSk7CiAgICAgdm9pZCBmaXJlVXBkYXRlRm91bmRFdmVudChj
b25zdCBTZXJ2aWNlV29ya2VySm9iRGF0YSYpOwogCi0gICAgdm9pZCBhZGRDbGllbnRTZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uKHVpbnQ2NF90IGNvbm5lY3Rpb25JZGVudGlmaWVyLCB1aW50NjRf
dCBjbGllbnRSZWdpc3RyYXRpb25JZGVudGlmaWVyKTsKLSAgICB2b2lkIHJlbW92ZUNsaWVudFNl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb24odWludDY0X3QgY29ubmVjdGlvbklkZW50aWZpZXIsIHVp
bnQ2NF90IGNsaWVudFJlZ2lzdHJhdGlvbklkZW50aWZpZXIpOworICAgIHZvaWQgYWRkQ2xpZW50
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbih1aW50NjRfdCBjb25uZWN0aW9uSWRlbnRpZmllcik7
CisgICAgdm9pZCByZW1vdmVDbGllbnRTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uKHVpbnQ2NF90
IGNvbm5lY3Rpb25JZGVudGlmaWVyKTsKIAogICAgIFNXU2VydmVyV29ya2VyKiBpbnN0YWxsaW5n
V29ya2VyKCkgY29uc3QgeyByZXR1cm4gbV9pbnN0YWxsaW5nV29ya2VyLmdldCgpOyB9CiAgICAg
U1dTZXJ2ZXJXb3JrZXIqIHdhaXRpbmdXb3JrZXIoKSBjb25zdCB7IHJldHVybiBtX3dhaXRpbmdX
b3JrZXIuZ2V0KCk7IH0KQEAgLTcwLDYgKzcyLDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICB2
b2lkIGZvckVhY2hDb25uZWN0aW9uKGNvbnN0IFNlcnZpY2VXb3JrZXJKb2JEYXRhJiwgY29uc3Qg
V1RGOjpGdW5jdGlvbjx2b2lkKFNXU2VydmVyOjpDb25uZWN0aW9uJik+Jik7CiAKKyAgICBTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciBtX2lkZW50aWZpZXI7CiAgICAgU2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbktleSBtX3JlZ2lzdHJhdGlvbktleTsKICAgICBTZXJ2aWNlV29y
a2VyVXBkYXRlVmlhQ2FjaGUgbV91cGRhdGVWaWFDYWNoZTsKICAgICBVUkwgbV9zY29wZVVSTDsK
QEAgLTgyLDcgKzg1LDcgQEAgcHJpdmF0ZToKIAogICAgIGRvdWJsZSBtX2xhc3RVcGRhdGVUaW1l
IHsgMCB9OwogICAgIAotICAgIEhhc2hNYXA8dWludDY0X3QsIHN0ZDo6dW5pcXVlX3B0cjxIYXNo
U2V0PHVpbnQ2NF90Pj4+IG1fY2xpZW50UmVnaXN0cmF0aW9uc0J5Q29ubmVjdGlvbjsKKyAgICBI
YXNoQ291bnRlZFNldDx1aW50NjRfdD4gbV9jb25uZWN0aW9uc1dpdGhDbGllbnRSZWdpc3RyYXRp
b25zOwogICAgIFNXU2VydmVyJiBtX3NlcnZlcjsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHkgYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMv
d2Via2l0L21lc3NhZ2VzLnB5CmluZGV4IDM5NjFlNmUyZmI3MzMzOWE1YzNjZmZkYjExYTU1YjAz
MDk5MGU0YTEuLjk5YzcxMWM5ODlhZDgwNTg4ZWQ0ZWE3NmQyMTliNDNlYTM2NjcyZjMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHkKKysrIGIvU291
cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weQpAQCAtMTg3LDcgKzE4Nyw3IEBA
IGRlZiBmb3J3YXJkX2RlY2xhcmF0aW9uc19hbmRfaGVhZGVycyhyZWNlaXZlcik6CiAgICAgICAg
IGtpbmQgPSBwYXJhbWV0ZXIua2luZAogICAgICAgICB0eXBlID0gcGFyYW1ldGVyLnR5cGUKIAot
ICAgICAgICBpZiB0eXBlLmZpbmQoJzwnKSAhPSAtMSBvciB0eXBlID09ICJXZWJDb3JlOjpTZXJ2
aWNlV29ya2VySWRlbnRpZmllciI6CisgICAgICAgIGlmIHR5cGUuZmluZCgnPCcpICE9IC0xIG9y
IHR5cGUgPT0gIldlYkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIiBvciB0eXBlID09ICJX
ZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciI6CiAgICAgICAgICAg
ICAjIERvbid0IGZvcndhcmQgZGVjbGFyZSBjbGFzcyB0ZW1wbGF0ZXMgb3IgU2VydmljZVdvcmtl
cklkZW50aWZpZXIuCiAgICAgICAgICAgICBoZWFkZXJzLnVwZGF0ZShoZWFkZXJzX2Zvcl90eXBl
KHR5cGUpKQogICAgICAgICAgICAgY29udGludWUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
U3RvcmFnZVByb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uY3BwIGIv
U291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29u
bmVjdGlvbi5jcHAKaW5kZXggZGI3YTBhZjFjZDYyZjEzMjExNGNmMDgzOGMzYTcyM2UyNmUxYjRk
ZC4uMDYyNGI1Mzk4Mjk5NzE0MWVkNDhlMzE1Y2NhNzg0MGM5ZTdhNWIzNCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29u
bmVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9TZXJ2aWNlV29y
a2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5jcHAKQEAgLTk2LDE0ICs5NiwxNCBAQCB2b2lkIFdl
YlNXU2VydmVyQ29ubmVjdGlvbjo6c3RhcnRTY3JpcHRGZXRjaEluQ2xpZW50KHVpbnQ2NF90IGpv
YklkZW50aWZpZXIpCiAgICAgc2VuZChNZXNzYWdlczo6V2ViU1dDbGllbnRDb25uZWN0aW9uOjpT
dGFydFNjcmlwdEZldGNoRm9yU2VydmVyKGpvYklkZW50aWZpZXIpKTsKIH0KIAotdm9pZCBXZWJT
V1NlcnZlckNvbm5lY3Rpb246OnVwZGF0ZVJlZ2lzdHJhdGlvblN0YXRlSW5DbGllbnQoY29uc3Qg
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleSYga2V5LCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uU3RhdGUgc3RhdGUsIHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlcklkZW50aWZpZXI+IHNl
cnZpY2VXb3JrZXJJZGVudGlmaWVyKQordm9pZCBXZWJTV1NlcnZlckNvbm5lY3Rpb246OnVwZGF0
ZVJlZ2lzdHJhdGlvblN0YXRlSW5DbGllbnQoU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50
aWZpZXIgaWRlbnRpZmllciwgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvblN0YXRlIHN0YXRlLCBz
dGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyPiBzZXJ2aWNlV29ya2VySWRlbnRp
ZmllcikKIHsKLSAgICBzZW5kKE1lc3NhZ2VzOjpXZWJTV0NsaWVudENvbm5lY3Rpb246OlVwZGF0
ZVJlZ2lzdHJhdGlvblN0YXRlKGtleSwgc3RhdGUsIHNlcnZpY2VXb3JrZXJJZGVudGlmaWVyKSk7
CisgICAgc2VuZChNZXNzYWdlczo6V2ViU1dDbGllbnRDb25uZWN0aW9uOjpVcGRhdGVSZWdpc3Ry
YXRpb25TdGF0ZShpZGVudGlmaWVyLCBzdGF0ZSwgc2VydmljZVdvcmtlcklkZW50aWZpZXIpKTsK
IH0KIAotdm9pZCBXZWJTV1NlcnZlckNvbm5lY3Rpb246OmZpcmVVcGRhdGVGb3VuZEV2ZW50KGNv
bnN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkmIGtleSkKK3ZvaWQgV2ViU1dTZXJ2ZXJD
b25uZWN0aW9uOjpmaXJlVXBkYXRlRm91bmRFdmVudChTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
SWRlbnRpZmllciBpZGVudGlmaWVyKQogewotICAgIHNlbmQoTWVzc2FnZXM6OldlYlNXQ2xpZW50
Q29ubmVjdGlvbjo6RmlyZVVwZGF0ZUZvdW5kRXZlbnQoa2V5KSk7CisgICAgc2VuZChNZXNzYWdl
czo6V2ViU1dDbGllbnRDb25uZWN0aW9uOjpGaXJlVXBkYXRlRm91bmRFdmVudChpZGVudGlmaWVy
KSk7CiB9CiAKIHZvaWQgV2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjp1cGRhdGVXb3JrZXJTdGF0ZUlu
Q2xpZW50KFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIHdvcmtlciwgU2VydmljZVdvcmtlclN0YXRl
IHN0YXRlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9TZXJ2aWNl
V29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5oIGIvU291cmNlL1dlYktpdC9TdG9yYWdlUHJv
Y2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5oCmluZGV4IDM4ZWRiNGNh
YzZlZjQxZjY3NmFhYjBhZDFlYjM1ZDEzNDJhYTJmYzguLjEzNjFjMmMxNjliNzczNGEwYTIyODQ0
MjhlOTY5Mzg4ZjgzMjdkYjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nl
c3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1N0b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmgK
QEAgLTY1LDkgKzY1LDkgQEAgcHJpdmF0ZToKICAgICB2b2lkIHJlc29sdmVSZWdpc3RyYXRpb25K
b2JJbkNsaWVudCh1aW50NjRfdCBqb2JJZGVudGlmaWVyLCBjb25zdCBXZWJDb3JlOjpTZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uRGF0YSYsIFdlYkNvcmU6OlNob3VsZE5vdGlmeVdoZW5SZXNvbHZl
ZCkgZmluYWw7CiAgICAgdm9pZCByZXNvbHZlVW5yZWdpc3RyYXRpb25Kb2JJbkNsaWVudCh1aW50
NjRfdCBqb2JJZGVudGlmaWVyLCBjb25zdCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uS2V5JiwgYm9vbCB1bnJlZ2lzdHJhdGlvblJlc3VsdCkgZmluYWw7CiAgICAgdm9pZCBzdGFy
dFNjcmlwdEZldGNoSW5DbGllbnQodWludDY0X3Qgam9iSWRlbnRpZmllcikgZmluYWw7Ci0gICAg
dm9pZCB1cGRhdGVSZWdpc3RyYXRpb25TdGF0ZUluQ2xpZW50KGNvbnN0IFdlYkNvcmU6OlNlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb25LZXkmLCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uU3RhdGUsIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6U2VydmljZVdvcmtlcklkZW50aWZpZXI+
KSBmaW5hbDsKKyAgICB2b2lkIHVwZGF0ZVJlZ2lzdHJhdGlvblN0YXRlSW5DbGllbnQoV2ViQ29y
ZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIsIFdlYkNvcmU6OlNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb25TdGF0ZSwgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpTZXJ2aWNlV29y
a2VySWRlbnRpZmllcj4pIGZpbmFsOwogICAgIHZvaWQgdXBkYXRlV29ya2VyU3RhdGVJbkNsaWVu
dChXZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRlbnRpZmllciwgV2ViQ29yZTo6U2VydmljZVdvcmtl
clN0YXRlKSBmaW5hbDsKLSAgICB2b2lkIGZpcmVVcGRhdGVGb3VuZEV2ZW50KGNvbnN0IFdlYkNv
cmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkmKSBmaW5hbDsKKyAgICB2b2lkIGZpcmVV
cGRhdGVGb3VuZEV2ZW50KFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlm
aWVyKSBmaW5hbDsKIAogICAgIHZvaWQgc3RhcnRGZXRjaCh1aW50NjRfdCBmZXRjaElkZW50aWZp
ZXIsIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6U2VydmljZVdvcmtlcklkZW50aWZpZXI+LCBjb25z
dCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBXZWJDb3JlOjpGZXRjaE9wdGlvbnMm
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9TZXJ2aWNlV29y
a2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvU3Rv
cmFnZVByb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24ubWVzc2FnZXMu
aW4KaW5kZXggNWY1ZDY4MTA5YWFkZTM5NzE0ZjIwMzc2ZjVjOTlhMDI2NjI5MDk5Ni4uNDJjM2Zj
NmIyYjU5MzJjMzdiODAwYjJhMjdiNzBmM2FjYmYzODU2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9TdG9yYWdlUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5t
ZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3Jr
ZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLm1lc3NhZ2VzLmluCkBAIC0yNiw4ICsyNiw4IEBAIG1l
c3NhZ2VzIC0+IFdlYlNXU2VydmVyQ29ubmVjdGlvbiB7CiAgICAgIyBXaGVuIHBvc3NpYmxlLCB0
aGVzZSBtZXNzYWdlcyBjYW4gYmUgaW1wbGVtZW50ZWQgZGlyZWN0bHkgYnkgV2ViQ29yZTo6U1dD
bGllbnRDb25uZWN0aW9uCiAgICAgU2NoZWR1bGVKb2JJblNlcnZlcihzdHJ1Y3QgV2ViQ29yZTo6
U2VydmljZVdvcmtlckpvYkRhdGEgam9iRGF0YSkKICAgICBGaW5pc2hGZXRjaGluZ1NjcmlwdElu
U2VydmVyKHN0cnVjdCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyRmV0Y2hSZXN1bHQgcmVzdWx0KQot
ICAgIEFkZFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JblNlcnZlcihXZWJDb3JlOjpTZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uS2V5IGtleSwgdWludDY0X3QgcmVnaXN0cmF0aW9uSWRlbnRpZmll
cikKLSAgICBSZW1vdmVTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSW5TZXJ2ZXIoV2ViQ29yZTo6
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleSBrZXksIHVpbnQ2NF90IHJlZ2lzdHJhdGlvbklk
ZW50aWZpZXIpCisgICAgQWRkU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkluU2VydmVyKFdlYkNv
cmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkga2V5LCBXZWJDb3JlOjpTZXJ2aWNlV29y
a2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciBpZGVudGlmaWVyKQorICAgIFJlbW92ZVNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb25JblNlcnZlcihXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uS2V5IGtleSwgV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIg
aWRlbnRpZmllcikKIAogICAgIFN0YXJ0RmV0Y2godWludDY0X3QgaWRlbnRpZmllciwgc3RkOjpv
cHRpb25hbDxXZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRlbnRpZmllcj4gc2VydmljZVdvcmtlcklk
ZW50aWZpZXIsIFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCByZXF1ZXN0LCBzdHJ1Y3QgV2ViQ29y
ZTo6RmV0Y2hPcHRpb25zIG9wdGlvbnMpCiAgICAgUG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXJH
bG9iYWxTY29wZShXZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRlbnRpZmllciBkZXN0aW5hdGlvblNl
cnZpY2VXb3JrZXJJZGVudGlmaWVyLCBJUEM6OkRhdGFSZWZlcmVuY2UgbWVzc2FnZSwgdWludDY0
X3Qgc291cmNlU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIsIFN0cmluZyBzb3VyY2VP
cmlnaW4pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJT
V0NsaWVudENvbm5lY3Rpb24uY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2Uv
V2ViU1dDbGllbnRDb25uZWN0aW9uLmNwcAppbmRleCBlYzk1MTc1YTk4MzJjMmJiNjBlOTI0NDIy
ODQ0NzAzMGVmM2VkZjk4Li5iNGM2ZGFjZmE1ZjFjYjQ1YmQ0MTM5MDZiZTNiOTM4N2FkZjA0OGM3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVu
dENvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dl
YlNXQ2xpZW50Q29ubmVjdGlvbi5jcHAKQEAgLTcwLDE0ICs3MCwxNCBAQCB2b2lkIFdlYlNXQ2xp
ZW50Q29ubmVjdGlvbjo6ZmluaXNoRmV0Y2hpbmdTY3JpcHRJblNlcnZlcihjb25zdCBTZXJ2aWNl
V29ya2VyRmV0YwogICAgIHNlbmQoTWVzc2FnZXM6OldlYlNXU2VydmVyQ29ubmVjdGlvbjo6Rmlu
aXNoRmV0Y2hpbmdTY3JpcHRJblNlcnZlcihyZXN1bHQpKTsKIH0KIAotdm9pZCBXZWJTV0NsaWVu
dENvbm5lY3Rpb246OmFkZFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JblNlcnZlcihjb25zdCBT
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5JiBrZXksIHVpbnQ2NF90IHJlZ2lzdHJhdGlvbklk
ZW50aWZpZXIpCit2b2lkIFdlYlNXQ2xpZW50Q29ubmVjdGlvbjo6YWRkU2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbkluU2VydmVyKGNvbnN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkmIGtl
eSwgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIgaWRlbnRpZmllcikKIHsKLSAg
ICBzZW5kKE1lc3NhZ2VzOjpXZWJTV1NlcnZlckNvbm5lY3Rpb246OkFkZFNlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb25JblNlcnZlcihrZXksIHJlZ2lzdHJhdGlvbklkZW50aWZpZXIpKTsKKyAgICBz
ZW5kKE1lc3NhZ2VzOjpXZWJTV1NlcnZlckNvbm5lY3Rpb246OkFkZFNlcnZpY2VXb3JrZXJSZWdp
c3RyYXRpb25JblNlcnZlcihrZXksIGlkZW50aWZpZXIpKTsKIH0KIAotdm9pZCBXZWJTV0NsaWVu
dENvbm5lY3Rpb246OnJlbW92ZVNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JblNlcnZlcihjb25z
dCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5JiBrZXksIHVpbnQ2NF90IHJlZ2lzdHJhdGlv
bklkZW50aWZpZXIpCit2b2lkIFdlYlNXQ2xpZW50Q29ubmVjdGlvbjo6cmVtb3ZlU2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbkluU2VydmVyKGNvbnN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25L
ZXkmIGtleSwgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIgaWRlbnRpZmllcikK
IHsKLSAgICBzZW5kKE1lc3NhZ2VzOjpXZWJTV1NlcnZlckNvbm5lY3Rpb246OlJlbW92ZVNlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb25JblNlcnZlcihrZXksIHJlZ2lzdHJhdGlvbklkZW50aWZpZXIp
KTsKKyAgICBzZW5kKE1lc3NhZ2VzOjpXZWJTV1NlcnZlckNvbm5lY3Rpb246OlJlbW92ZVNlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb25JblNlcnZlcihrZXksIGlkZW50aWZpZXIpKTsKIH0KIAogdm9p
ZCBXZWJTV0NsaWVudENvbm5lY3Rpb246OnBvc3RNZXNzYWdlVG9TZXJ2aWNlV29ya2VyR2xvYmFs
U2NvcGUoU2VydmljZVdvcmtlcklkZW50aWZpZXIgZGVzdGluYXRpb25JZGVudGlmaWVyLCBSZWY8
U2VyaWFsaXplZFNjcmlwdFZhbHVlPiYmIHNjcmlwdFZhbHVlLCBTY3JpcHRFeGVjdXRpb25Db250
ZXh0JiBzb3VyY2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFn
ZS9XZWJTV0NsaWVudENvbm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9y
YWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5oCmluZGV4IDQ1YmYyZTlkYzdiOGEwZGIzOTU2YTM3
NDljNmZjMGFmZDYwNzcxM2YuLmFkNjQyYzkwMmYwMWJmN2Q2OThjNjhlYzgyNDE5ZWJjYWFhNDhi
NTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xp
ZW50Q29ubmVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dl
YlNXQ2xpZW50Q29ubmVjdGlvbi5oCkBAIC01NCw4ICs1NCw4IEBAIHB1YmxpYzoKIAogICAgIHVp
bnQ2NF90IGlkZW50aWZpZXIoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2lkZW50aWZpZXI7IH0K
IAotICAgIHZvaWQgYWRkU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkluU2VydmVyKGNvbnN0IFdl
YkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkmLCB1aW50NjRfdCByZWdpc3RyYXRp
b25JZGVudGlmaWVyKSBmaW5hbDsKLSAgICB2b2lkIHJlbW92ZVNlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb25JblNlcnZlcihjb25zdCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5
JiwgdWludDY0X3QgcmVnaXN0cmF0aW9uSWRlbnRpZmllcikgZmluYWw7CisgICAgdm9pZCBhZGRT
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSW5TZXJ2ZXIoY29uc3QgV2ViQ29yZTo6U2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbktleSYsIFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25J
ZGVudGlmaWVyKSBmaW5hbDsKKyAgICB2b2lkIHJlbW92ZVNlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b25JblNlcnZlcihjb25zdCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5Jiwg
V2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIpIGZpbmFsOwogCiAg
ICAgdm9pZCBkaXNjb25uZWN0ZWRGcm9tV2ViUHJvY2VzcygpOwogICAgIHZvaWQgZGlkUmVjZWl2
ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJikgZmluYWw7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rp
b24ubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0Ns
aWVudENvbm5lY3Rpb24ubWVzc2FnZXMuaW4KaW5kZXggNmEzNDdjNDQ1OWFiNmEwZjU5YjMzYTg3
NWU2OTA0YWMwYTE1M2ZlZi4uNTMzZGNlNjFkYzE1NjgxZWExYTg0ZDc3Y2M5OTA2NTQ3YjFmM2Fi
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGll
bnRDb25uZWN0aW9uLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9T
dG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5tZXNzYWdlcy5pbgpAQCAtMjgsOSArMjgsOSBA
QCBtZXNzYWdlcyAtPiBXZWJTV0NsaWVudENvbm5lY3Rpb24gewogICAgIFJlZ2lzdHJhdGlvbkpv
YlJlc29sdmVkSW5TZXJ2ZXIodWludDY0X3QgaWRlbnRpZmllciwgc3RydWN0IFdlYkNvcmU6OlNl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhIHJlZ2lzdHJhdGlvbiwgZW51bSBXZWJDb3JlOjpT
aG91bGROb3RpZnlXaGVuUmVzb2x2ZWQgc2hvdWxkTm90aWZ5V2hlblJlc29sdmVkKQogICAgIFVu
cmVnaXN0cmF0aW9uSm9iUmVzb2x2ZWRJblNlcnZlcih1aW50NjRfdCBpZGVudGlmaWVyLCBib29s
IHVucmVnaXN0cmF0aW9uUmVzdWx0KQogICAgIFN0YXJ0U2NyaXB0RmV0Y2hGb3JTZXJ2ZXIodWlu
dDY0X3Qgam9iSWRlbnRpZmllcikKLSAgICBVcGRhdGVSZWdpc3RyYXRpb25TdGF0ZShXZWJDb3Jl
OjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5IGtleSwgZW51bSBXZWJDb3JlOjpTZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uU3RhdGUgc3RhdGUsIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6U2Vy
dmljZVdvcmtlcklkZW50aWZpZXI+IHNlcnZpY2VXb3JrZXJJZGVudGlmaWVyKQorICAgIFVwZGF0
ZVJlZ2lzdHJhdGlvblN0YXRlKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVu
dGlmaWVyIGlkZW50aWZpZXIsIGVudW0gV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlv
blN0YXRlIHN0YXRlLCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVudGlm
aWVyPiBzZXJ2aWNlV29ya2VySWRlbnRpZmllcikKICAgICBVcGRhdGVXb3JrZXJTdGF0ZShXZWJD
b3JlOjpTZXJ2aWNlV29ya2VySWRlbnRpZmllciBzZXJ2aWNlV29ya2VySWRlbnRpZmllciwgZW51
bSBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyU3RhdGUgc3RhdGUpCi0gICAgRmlyZVVwZGF0ZUZvdW5k
RXZlbnQoV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleSBrZXkpCisgICAgRmly
ZVVwZGF0ZUZvdW5kRXZlbnQoV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50
aWZpZXIgaWRlbnRpZmllcikKIAogICAgIFNldFNXT3JpZ2luVGFibGVTaGFyZWRNZW1vcnkoV2Vi
S2l0OjpTaGFyZWRNZW1vcnk6OkhhbmRsZSBoYW5kbGUpCiAgICAgUG9zdE1lc3NhZ2VUb1NlcnZp
Y2VXb3JrZXJDbGllbnQodWludDY0X3QgZGVzdGluYXRpb25TY3JpcHRFeGVjdXRpb25Db250ZXh0
SWRlbnRpZmllciwgSVBDOjpEYXRhUmVmZXJlbmNlIG1lc3NhZ2UsIFdlYkNvcmU6OlNlcnZpY2VX
b3JrZXJJZGVudGlmaWVyIHNvdXJjZVNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCBTdHJpbmcgc291
cmNlT3JpZ2luKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCmluZGV4IGVkMjQzYTI4ZjY1NmJhMzg0NmVhZWExNGY2OWZhMTMzMDJhOTli
MGUuLjVmYWMwNDJlZDdjMWFlNTRmOGRjMmVhMDYxMGQzMDFjYWU0N2Q1MjIgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNSBAQAorMjAxNy0xMS0wOSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgor
CisgICAgICAgIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24gb2JqZWN0cyBtYXkgZ2V0IHJlY3lj
bGVkIGZvciBkaWZmZXJlbnQgU1dTZXJ2ZXJSZWdpc3RyYXRpb24gb2JqZWN0cworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc5NTE3CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGxheW91dCB0ZXN0IGNv
dmVyYWdlLgorCisgICAgICAgICogaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvYmFzaWMtdW5y
ZWdpc3Rlci10aGVuLXJlZ2lzdGVyLWFnYWluLW5vLXJldXNlLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvYmFzaWMtdW5yZWdpc3Rlci10
aGVuLXJlZ2lzdGVyLWFnYWluLW5vLXJldXNlLmh0bWw6IEFkZGVkLgorCiAyMDE3LTExLTA5ICBE
b3VnIFJ1c3NlbGwgIDxkX3J1c3NlbGxAYXBwbGUuY29tPgogCiAgICAgICAgIEJ1ZyAxNzkwNjgg
LSBBWDogc2VhcmNoIHByZWRpY2F0ZSByZXR1cm5zIGNvbnRhaW5pbmcgZ3JvdXAgZm9yIHBsYWlu
IHRleHQgaW5zdGVhZCBvZiB0ZXh0IGVsZW1lbnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9n
CmluZGV4IGYyMDEwODUxNGI0ODYyYzVkZDY5ZWQ5YWRiMjBiZmUwOWI5NDE4MWYuLjg3ZDIxM2Fi
OGY0YjljNTcyNGM2Zjg4ZjUyYzQ4M2QxMTA2NDRiYzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0No
YW5nZUxvZwpAQCAtMSw1ICsxLDI0IEBACiAyMDE3LTExLTA5ICBDaHJpcyBEdW1leiAgPGNkdW1l
ekBhcHBsZS5jb20+CiAKKyAgICAgICAgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbiBvYmplY3Rz
IG1heSBnZXQgcmVjeWNsZWQgZm9yIGRpZmZlcmVudCBTV1NlcnZlclJlZ2lzdHJhdGlvbiBvYmpl
Y3RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzk1
MTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVhZHkuaHR0
cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICBUaGUgdGVzdCBmYWlscyBkaWZmZXJlbnRseS4gVGhl
IGZhaWx1cmUgaXMgZXhwZWN0ZWQgaGVyZSBzaW5jZSB3ZSBkbyBub3QgaW1wbGVtZW50IHRoZQor
ICAgICAgICAiVHJ5IENsZWFyIFJlZ2lzdHJhdGlvbiIgYWxnb3JpdGhtLiBBcyBhIHJlc3VsdCwg
d2UgZG8gbm90IHN1cHBvcnQgcmVzdXJyZWN0aW5nIGEKKyAgICAgICAgcmVnaXN0cmF0aW9uIHdp
dGggdGhlICd1bmluc3RhbGxpbmcnIGZsYWcgc2V0LiBXZSBhbHdheXMgY2xlYXIgdW5pbnN0YWxs
aW5nIHJlZ2lzdHJhdGlvbnMKKyAgICAgICAgb24gc2VydmVyIHNpZGUgZm9yIG5vdy4KKworICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
dW5yZWdpc3Rlci10aGVuLXJlZ2lzdGVyLmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgU2Ft
ZSByZWFzb24gYXMgYWJvdmUuIFRoZSBzZWNvbmQgY2hlY2tzIGNhbGxzIHVucmVnaXN0ZXIoKSBm
b3IgYSByZWdpc3RyYXRpb24gdGhhdCBpcyAiaW4gdXNlIgorICAgICAgICBhcyBleHBlY3RzIGl0
IHRvIGdldCByZXN1cnJlY3RlZCB3aGVuIGNhbGxpbmcgcmVnaXN0ZXIoKSBhZ2Fpbi4gV2UgY3Vy
cmVudGx5IGFsd2F5cyBjbGVhcgorICAgICAgICByZWdpc3RyYXRpb25zIHRoYXQgYXJlIHVucmVn
aXN0ZXJlZCBvbiBzZXJ2ZXIgc2lkZS4KKworCisyMDE3LTExLTA5ICBDaHJpcyBEdW1leiAgPGNk
dW1lekBhcHBsZS5jb20+CisKICAgICAgICAgSW1wbGVtZW50IHJlYWwgcG9zdCAnaW5zdGFsbCcg
ZXZlbnQgc3RlcHMgb2YgdGhlIEluc3RhbGwgYWxnb3JpdGhtIChzdGVwcyAxNCspCiAgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzk0MDEKIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvYmFzaWMtdW5yZWdp
c3Rlci10aGVuLXJlZ2lzdGVyLWFnYWluLW5vLXJldXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL2Jhc2ljLXVucmVnaXN0ZXItdGhlbi1yZWdp
c3Rlci1hZ2Fpbi1uby1yZXVzZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzE2NzgwZWNkYmJj
OTcyODUzYmViYWViYjdmMDRiYWY3MmFjMmU0MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL2Jhc2ljLXVucmVnaXN0ZXItdGhlbi1yZWdp
c3Rlci1hZ2Fpbi1uby1yZXVzZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACitQQVNTOiBy
ZWdpc3RyYXRpb24xIHNob3VsZCBub3QgaGF2ZSBhbiBpbnN0YWxsaW5nIHdvcmtlcgorUEFTUzog
cmVnaXN0cmF0aW9uMSBzaG91bGQgbm90IGhhdmUgYSB3YWl0aW5nIHdvcmtlcgorUEFTUzogcmVn
aXN0cmF0aW9uMSBzaG91bGQgaGF2ZSBhbiBhY3RpdmUgd29ya2VyCitQQVNTOiByZWdpc3RyYXRp
b24yIHNob3VsZCBoYXZlIGFuIGluc3RhbGxpbmcgd29ya2VyCitQQVNTOiByZWdpc3RyYXRpb24y
IHNob3VsZCBub3QgaGF2ZSBhIHdhaXRpbmcgd29ya2VyCitQQVNTOiByZWdpc3RyYXRpb24yIHNo
b3VsZCBub3QgaGF2ZSBhbiBhY3RpdmUgd29ya2VyCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL2Jhc2ljLXVucmVnaXN0ZXItdGhlbi1yZWdpc3Rl
ci1hZ2Fpbi1uby1yZXVzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJzL3Nl
cnZpY2UvYmFzaWMtdW5yZWdpc3Rlci10aGVuLXJlZ2lzdGVyLWFnYWluLW5vLXJldXNlLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNmVmOGU1MThiMzdiOTYyZDUyNjBmMGY3YTU2MmY0NmQxNGQ1NDk0MgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL2Jh
c2ljLXVucmVnaXN0ZXItdGhlbi1yZWdpc3Rlci1hZ2Fpbi1uby1yZXVzZS5odG1sCkBAIC0wLDAg
KzEsNTYgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3N3LXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KKworYXN5bmMgZnVu
Y3Rpb24gdGVzdCgpCit7CisgICAgdHJ5IHsKKyAgICAgICAgIGxldCByZWdpc3RyYXRpb24xID0g
YXdhaXQgbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIucmVnaXN0ZXIoInJlc291cmNlcy9lbXB0eS5q
cyIsIHsgfSk7CisgICAgICAgICBhd2FpdCB3YWl0Rm9yU3RhdGUocmVnaXN0cmF0aW9uMS5pbnN0
YWxsaW5nLCAiYWN0aXZhdGVkIik7CisgICAgICAgICBpZiAocmVnaXN0cmF0aW9uMS5pbnN0YWxs
aW5nKQorICAgICAgICAgICAgIGxvZygiRkFJTDogcmVnaXN0cmF0aW9uMSBzaG91bGQgbm90IGhh
dmUgYW4gaW5zdGFsbGluZyB3b3JrZXIiKTsKKyAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICBs
b2coIlBBU1M6IHJlZ2lzdHJhdGlvbjEgc2hvdWxkIG5vdCBoYXZlIGFuIGluc3RhbGxpbmcgd29y
a2VyIik7CisKKyAgICAgICAgIGlmIChyZWdpc3RyYXRpb24xLndhaXRpbmcpCisgICAgICAgICAg
ICAgbG9nKCJGQUlMOiByZWdpc3RyYXRpb24xIHNob3VsZCBub3QgaGF2ZSBhIHdhaXRpbmcgd29y
a2VyIik7CisgICAgICAgICBlbHNlCisgICAgICAgICAgICAgbG9nKCJQQVNTOiByZWdpc3RyYXRp
b24xIHNob3VsZCBub3QgaGF2ZSBhIHdhaXRpbmcgd29ya2VyIik7CisKKyAgICAgICAgIGlmIChy
ZWdpc3RyYXRpb24xLmFjdGl2ZSkKKyAgICAgICAgICAgICBsb2coIlBBU1M6IHJlZ2lzdHJhdGlv
bjEgc2hvdWxkIGhhdmUgYW4gYWN0aXZlIHdvcmtlciIpOworICAgICAgICAgZWxzZQorICAgICAg
ICAgICAgIGxvZygiRkFJTDogcmVnaXN0cmF0aW9uMSBzaG91bGQgaGF2ZSBhbiBhY3RpdmUgd29y
a2VyIik7CisKKyAgICAgICAgIGF3YWl0IHJlZ2lzdHJhdGlvbjEudW5yZWdpc3RlcigpOworCisg
ICAgICAgICBsZXQgcmVnaXN0cmF0aW9uMiA9IGF3YWl0IG5hdmlnYXRvci5zZXJ2aWNlV29ya2Vy
LnJlZ2lzdGVyKCJyZXNvdXJjZXMvZW1wdHkuanMiLCB7IH0pOworICAgICAgICAgaWYgKHJlZ2lz
dHJhdGlvbjIuaW5zdGFsbGluZykKKyAgICAgICAgICAgICBsb2coIlBBU1M6IHJlZ2lzdHJhdGlv
bjIgc2hvdWxkIGhhdmUgYW4gaW5zdGFsbGluZyB3b3JrZXIiKTsKKyAgICAgICAgIGVsc2UKKyAg
ICAgICAgICAgICBsb2coIkZBSUw6IHJlZ2lzdHJhdGlvbjIgc2hvdWxkIGhhdmUgYW4gaW5zdGFs
bGluZyB3b3JrZXIiKTsKKworICAgICAgICAgaWYgKHJlZ2lzdHJhdGlvbjIud2FpdGluZykKKyAg
ICAgICAgICAgICBsb2coIkZBSUw6IHJlZ2lzdHJhdGlvbjIgc2hvdWxkIG5vdCBoYXZlIGEgd2Fp
dGluZyB3b3JrZXIiKTsKKyAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICBsb2coIlBBU1M6IHJl
Z2lzdHJhdGlvbjIgc2hvdWxkIG5vdCBoYXZlIGEgd2FpdGluZyB3b3JrZXIiKTsKKworICAgICAg
ICAgaWYgKHJlZ2lzdHJhdGlvbjIuYWN0aXZlKQorICAgICAgICAgICAgIGxvZygiRkFJTDogcmVn
aXN0cmF0aW9uMiBzaG91bGQgbm90IGhhdmUgYW4gYWN0aXZlIHdvcmtlciIpOworICAgICAgICAg
ZWxzZQorICAgICAgICAgICAgIGxvZygiUEFTUzogcmVnaXN0cmF0aW9uMiBzaG91bGQgbm90IGhh
dmUgYW4gYWN0aXZlIHdvcmtlciIpOworCisgICAgfSBjYXRjaCAoZSkgeworICAgICAgICBsb2co
IkZBSUw6IEdvdCBleGNlcHRpb24gIiArIGUpOworICAgIH0KKworICAgIGZpbmlzaFNXVGVzdCgp
OworfQorCit0ZXN0KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL3JlYWR5Lmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL3JlYWR5Lmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCAwNDg5NDE3ZGY3MjI4OTYxZmJk
NDIyZGUwNGNmMGYyNjczNTNiNTJkLi5hNTUxNzBlZTg1MzU1MDM3YjJhYTUxMDVhZGI3NDAxYTc2
OThmODZkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZWFkeS5odHRwcy1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVhZHkuaHR0cHMtZXhwZWN0ZWQudHh0CkBA
IC0xMCw1ICsxMCw1IEBAIEZBSUwgcmVhZHkgb24gYW4gaWZyYW1lIHdob3NlIHBhcmVudCByZWdp
c3RlcnMgYSBuZXcgc2VydmljZSB3b3JrZXIgcHJvbWlzZV90ZXN0CiBGQUlMIHJlYWR5IG9uIGFu
IGlmcmFtZSB0aGF0IGluc3RhbGxzIGEgbmV3IHNlcnZpY2Ugd29ya2VyIHByb21pc2VfdGVzdDog
VW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlVua25vd25FcnJvcjogc2Vy
dmljZVdvcmtlci5yZWFkeSgpIGlzIG5vdCB5ZXQgaW1wbGVtZW50ZWQiCiBGQUlMIHJlYWR5IGFm
dGVyIGEgbG9uZ2VyIG1hdGNoZWQgcmVnaXN0cmF0aW9uIHJlZ2lzdGVyZWQgcHJvbWlzZV90ZXN0
OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVW5rbm93bkVycm9yOiBz
ZXJ2aWNlV29ya2VyLnJlYWR5KCkgaXMgbm90IHlldCBpbXBsZW1lbnRlZCIKIEZBSUwgYWNjZXNz
IHJlYWR5IGFmdGVyIGl0IGhhcyBiZWVuIHJlc29sdmVkIHByb21pc2VfdGVzdDogVW5oYW5kbGVk
IHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlVua25vd25FcnJvcjogc2VydmljZVdvcmtl
ci5yZWFkeSgpIGlzIG5vdCB5ZXQgaW1wbGVtZW50ZWQiCi1GQUlMIGFjY2VzcyByZWFkeSBvbiB1
bmluc3RhbGxpbmcgcmVnaXN0cmF0aW9uIHRoYXQgaXMgcmVzdXJyZWN0ZWQgcHJvbWlzZV90ZXN0
OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVW5rbm93bkVycm9yOiBz
ZXJ2aWNlV29ya2VyLnJlYWR5KCkgaXMgbm90IHlldCBpbXBsZW1lbnRlZCIKK0ZBSUwgYWNjZXNz
IHJlYWR5IG9uIHVuaW5zdGFsbGluZyByZWdpc3RyYXRpb24gdGhhdCBpcyByZXN1cnJlY3RlZCBh
c3NlcnRfZXF1YWxzOiBleGlzdGluZyByZWdpc3RyYXRpb24gc2hvdWxkIGJlIHJlc3VycmVjdGVk
IGV4cGVjdGVkIG9iamVjdCAiW29iamVjdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uXSIgYnV0
IGdvdCBvYmplY3QgIltvYmplY3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbl0iCiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3VucmVnaXN0ZXItdGhlbi1yZWdpc3Rlci5odHRwcy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci91bnJlZ2lzdGVyLXRoZW4tcmVnaXN0ZXIu
aHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IGJkYjE5YWUxMTFkNGFkYzMzZWUyYTcyMDNhZDk2YjU5
MzZlMjEyNjAuLjgwYzM1MjU5NzA2MGNlZGFhYjAxMWUwODRmOTc2YzA4Zjk4MTE3ZWMgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3VucmVnaXN0ZXItdGhlbi1yZWdpc3Rlci5odHRwcy1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvdW5yZWdpc3Rlci10aGVuLXJlZ2lz
dGVyLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSw3ICsxLDcgQEAKIAogCi1GQUlMIFVucmVnaXN0
ZXIgdGhlbiByZWdpc3RlciByZXNvbHZlcyB0byBhIG5ldyB2YWx1ZSBhc3NlcnRfdW5yZWFjaGVk
OiB1bmV4cGVjdGVkIHJlamVjdGlvbjogYXNzZXJ0X25vdF9lcXVhbHM6IHJlZ2lzdGVyIHNob3Vs
ZCByZXNvbHZlIHRvIGEgbmV3IHZhbHVlIGdvdCBkaXNhbGxvd2VkIHZhbHVlIG9iamVjdCAiW29i
amVjdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uXSIgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2Rl
Ci1QQVNTIFVucmVnaXN0ZXIgdGhlbiByZWdpc3RlciByZXNvbHZlcyB0byB0aGUgb3JpZ2luYWwg
dmFsdWUgaWYgdGhlIHJlZ2lzdHJhdGlvbiBpcyBpbiB1c2UuIAorUEFTUyBVbnJlZ2lzdGVyIHRo
ZW4gcmVnaXN0ZXIgcmVzb2x2ZXMgdG8gYSBuZXcgdmFsdWUgCitGQUlMIFVucmVnaXN0ZXIgdGhl
biByZWdpc3RlciByZXNvbHZlcyB0byB0aGUgb3JpZ2luYWwgdmFsdWUgaWYgdGhlIHJlZ2lzdHJh
dGlvbiBpcyBpbiB1c2UuIGFzc2VydF91bnJlYWNoZWQ6IHVuZXhwZWN0ZWQgcmVqZWN0aW9uOiBh
c3NlcnRfZXF1YWxzOiBuZXcgcmVnaXN0cmF0aW9uIHNob3VsZCByZXNvbHZlIHRvIHRoZSBzYW1l
IHJlZ2lzdHJhdGlvbiBleHBlY3RlZCBvYmplY3QgIltvYmplY3QgU2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbl0iIGJ1dCBnb3Qgb2JqZWN0ICJbb2JqZWN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b25dIiBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKIFBBU1MgUmVsb2FkaW5nIHRoZSBsYXN0IGNv
bnRyb2xsZWQgaWZyYW1lIGFmdGVyIHVucmVnaXN0cmF0aW9uIHNob3VsZCBlbnN1cmUgdGhlIGRl
bGV0aW9uIG9mIHRoZSByZWdpc3RyYXRpb24gCiBGQUlMIFVucmVnaXN0ZXIgdGhlbiByZWdpc3Rl
ciBkb2VzIG5vdCBhZmZlY3QgZXhpc3RpbmcgY29udHJvbGxlZSBhc3NlcnRfdW5yZWFjaGVkOiB1
bmV4cGVjdGVkIHJlamVjdGlvbjogYXNzZXJ0X2VxdWFsczogaW5zdGFsbGluZyB2ZXJzaW9uIGlz
IG51bGwgZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9iamVjdCAiW29iamVjdCBTZXJ2aWNlV29ya2Vy
XSIgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCiBGQUlMIFVucmVnaXN0ZXIgdGhlbiByZWdpc3Rl
ciByZXN1cnJlY3RzIHRoZSByZWdpc3RyYXRpb24gYXNzZXJ0X3VucmVhY2hlZDogdW5leHBlY3Rl
ZCByZWplY3Rpb246IGFzc2VydF9ub3RfZXF1YWxzOiBkb2N1bWVudCBzaG91bGQgaGF2ZSBhIGNv
bnRyb2xsZXIgZ290IGRpc2FsbG93ZWQgdmFsdWUgbnVsbCBSZWFjaGVkIHVucmVhY2hhYmxlIGNv
ZGUK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>326553</attachid>
            <date>2017-11-09 22:04:46 -0800</date>
            <delta_ts>2017-11-09 22:24:35 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-179517-20171109220445.patch</filename>
            <type>text/plain</type>
            <size>53025</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI0NjUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGNjNzM2OWJiZTBlYTJl
ODZmMjJlZTM2MzNkZGFkMzEyZTEwNDljZC4uZjM2Y2ZmZGFmMmZkMTU4NGI1MmRkN2U5NjMzN2U2
MzZiZTI4MjVjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDYwIEBACiAyMDE3LTExLTA5ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKKyAgICAgICAgU2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbiBvYmplY3RzIG1heSBnZXQgcmVjeWNsZWQgZm9yIGRpZmZlcmVudCBTV1NlcnZlclJl
Z2lzdHJhdGlvbiBvYmplY3RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNzk1MTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uIG9iamVjdHMgY291bGQgZ2V0IHJl
Y3ljbGVkIGZvciBkaWZmZXJlbnQgU1dTZXJ2ZXJSZWdpc3RyYXRpb24gb2JqZWN0cywgbGVhZGlu
ZyB0bworICAgICAgICBmbGFraW5lc3MgaW4gdGhlIHRlc3RzLiBXZSB1c2VzIFNlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb25LZXkgYXMga2V5IGluIHRoZSBtX3JlZ2lzdHJhdGlvbiBtYXAgb24gV2Vi
UHJvY2VzcworICAgICAgICBzaWRlLiBUaGUgbGlmZXRpbWUgb2YgdGhlIFNlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb24gb2JqZWN0cyBpcyB0aWVkIHRvIHRoZSBsaWZldGltZSBvZiB0aGVpciBKUyB3
cmFwcGVyLgorICAgICAgICBXaGVuIGEgdGVzdCBkb2VzIGEgcmVnaXN0cmF0aW9uIGZvciBhIGdp
dmVuIHNjb3BlLCB0aGVuIHVucmVnaXN0ZXJzLCB0aGVuIHJlZ2lzdGVycyBhZ2FpbiBmb3IgdGhl
IHNhbWUgc2NvcGUsCisgICAgICAgIHdlIHdvdWxkIGVuZCB1cCBjcmVhdGluZyBhIG5ldyBTV1Nl
cnZlclJlZ2lzdHJhdGlvbiBvYmplY3Qgb24gc2VydmVyIHNpZGUsIGJ1dCBwb3NzaWJseSByZXVz
ZSB0aGUgc2FtZQorICAgICAgICBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uIG9iamVjdCBvbiBX
ZWJQcm9jZXNzIHNpZGUsIGlmIGl0cyB3cmFwcGVyIGhhcyBub3QgeWV0IGJlZW4gZ2FyYmFnZSBj
b2xsZWN0ZWQuCisgICAgICAgIFRoaXMgaXMgYmVjYXVzZSB0aGUgcmVnaXN0cmF0aW9ucyBoYXZl
IHRoZSBzYW1lIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkgaW4gdGhpcyBjYXNlLgorCisg
ICAgICAgIFRvIGFkZHJlc3MgdGhlIGlzc3VlLCB3ZSBub3cgdXNlIHRoZSBTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uSWRlbnRpZmllciBhcyBrZXkgaW4gdGhlIG1fcmVnaXN0cmF0aW9uCisgICAg
ICAgIGhhc2ggbWFwLiBBIFNXU2VydmVyUmVnaXN0cmF0aW9uIGhhcyBhIHVuaXF1ZSBTZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciBvbiBzZXJ2ZXIgc2lkZS4KKyAgICAgICAgQWxs
IGl0cyBjbGllbnRzIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24gYWxzbyB1c2UgdGhlIHNhbWUg
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIuCisKKyAgICAgICAgVGVzdDogaHR0
cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvYmFzaWMtdW5yZWdpc3Rlci10aGVuLXJlZ2lzdGVyLWFn
YWluLW5vLXJldXNlLmh0bWwKKworICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvajoKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5l
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjpnZXRSZWdp
c3RyYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlckNvbnRhaW5lcjo6c2No
ZWR1bGVUYXNrVG9VcGRhdGVSZWdpc3RyYXRpb25TdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpT
ZXJ2aWNlV29ya2VyQ29udGFpbmVyOjpzY2hlZHVsZVRhc2tUb0ZpcmVVcGRhdGVGb3VuZEV2ZW50
KToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDb250YWluZXI6OmpvYlJlc29sdmVk
V2l0aFJlZ2lzdHJhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ29udGFp
bmVyOjphZGRSZWdpc3RyYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlckNv
bnRhaW5lcjo6cmVtb3ZlUmVnaXN0cmF0aW9uKToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2Uv
U2VydmljZVdvcmtlckNvbnRhaW5lci5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uLmg6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhLmg6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29y
a2VyUmVnaXN0cmF0aW9uRGF0YTo6ZGVjb2RlKToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2Uv
c2VydmVyL1NXQ2xpZW50Q29ubmVjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTV0NsaWVu
dENvbm5lY3Rpb246OnVwZGF0ZVJlZ2lzdHJhdGlvblN0YXRlKToKKyAgICAgICAgKFdlYkNvcmU6
OlNXQ2xpZW50Q29ubmVjdGlvbjo6ZmlyZVVwZGF0ZUZvdW5kRXZlbnQpOgorICAgICAgICAqIHdv
cmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dDbGllbnRDb25uZWN0aW9uLmg6CisgICAgICAgICogd29y
a2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTV1Nl
cnZlcjo6Q29ubmVjdGlvbjo6YWRkU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkluU2VydmVyKToK
KyAgICAgICAgKFdlYkNvcmU6OlNXU2VydmVyOjpDb25uZWN0aW9uOjpyZW1vdmVTZXJ2aWNlV29y
a2VyUmVnaXN0cmF0aW9uSW5TZXJ2ZXIpOgorICAgICAgICAoV2ViQ29yZTo6U1dTZXJ2ZXI6OnJl
c29sdmVSZWdpc3RyYXRpb25Kb2IpOgorICAgICAgICAoV2ViQ29yZTo6U1dTZXJ2ZXI6OmFkZENs
aWVudFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6U1dTZXJ2
ZXI6OnJlbW92ZUNsaWVudFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24pOgorICAgICAgICAqIHdv
cmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuaDoKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZp
Y2Uvc2VydmVyL1NXU2VydmVyUmVnaXN0cmF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Omdl
bmVyYXRlU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIpOgorICAgICAgICAoV2Vi
Q29yZTo6U1dTZXJ2ZXJSZWdpc3RyYXRpb246OlNXU2VydmVyUmVnaXN0cmF0aW9uKToKKyAgICAg
ICAgKFdlYkNvcmU6OlNXU2VydmVyUmVnaXN0cmF0aW9uOjp1cGRhdGVSZWdpc3RyYXRpb25TdGF0
ZSk6CisgICAgICAgIChXZWJDb3JlOjpTV1NlcnZlclJlZ2lzdHJhdGlvbjo6ZmlyZVVwZGF0ZUZv
dW5kRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6U1dTZXJ2ZXJSZWdpc3RyYXRpb246OmZvckVh
Y2hDb25uZWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlNXU2VydmVyUmVnaXN0cmF0aW9uOjph
ZGRDbGllbnRTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlNX
U2VydmVyUmVnaXN0cmF0aW9uOjpyZW1vdmVDbGllbnRTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
KToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyUmVnaXN0cmF0aW9u
Lmg6CisgICAgICAgIChXZWJDb3JlOjpTV1NlcnZlclJlZ2lzdHJhdGlvbjo6aWRlbnRpZmllciBj
b25zdCk6CisKKzIwMTctMTEtMDkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKwog
ICAgICAgICBJbXBsZW1lbnQgcmVhbCBwb3N0ICdpbnN0YWxsJyBldmVudCBzdGVwcyBvZiB0aGUg
SW5zdGFsbCBhbGdvcml0aG0gKHN0ZXBzIDE0KykKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE3OTQwMQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDAwOTY5MDU2NmY2OWU2
N2Y3NmRkNWJkYzk4YzU1MGU3YzM1MjY2NjguLjFjMWQ5NGZiM2FmNDExMTI4ZTBlMWUxZTlmYjg0
YzI1YTkzMTc5M2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMjUgQEAKIDIwMTctMTEtMDkgIENocmlz
IER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAorICAgICAgICBTZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uIG9iamVjdHMgbWF5IGdldCByZWN5Y2xlZCBmb3IgZGlmZmVyZW50IFNXU2VydmVyUmVn
aXN0cmF0aW9uIG9iamVjdHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE3OTUxNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHk6CisgICAgICAgIChmb3J3YXJk
X2RlY2xhcmF0aW9uc19hbmRfaGVhZGVycyk6CisgICAgICAgICogU3RvcmFnZVByb2Nlc3MvU2Vy
dmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJTV1NlcnZlckNvbm5lY3Rpb246OnVwZGF0ZVJlZ2lzdHJhdGlvblN0YXRlSW5DbGllbnQpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJTV1NlcnZlckNvbm5lY3Rpb246OmZpcmVVcGRhdGVGb3VuZEV2
ZW50KToKKyAgICAgICAgKiBTdG9yYWdlUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVy
Q29ubmVjdGlvbi5oOgorICAgICAgICAqIFN0b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2Vi
U1dTZXJ2ZXJDb25uZWN0aW9uLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvU3Rv
cmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24uY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJTV0Ns
aWVudENvbm5lY3Rpb246OmFkZFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JblNlcnZlcik6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlNXQ2xpZW50Q29ubmVjdGlvbjo6cmVtb3ZlU2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbkluU2VydmVyKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1N0b3JhZ2UvV2Vi
U1dDbGllbnRDb25uZWN0aW9uLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNX
Q2xpZW50Q29ubmVjdGlvbi5tZXNzYWdlcy5pbjoKKworMjAxNy0xMS0wOSAgQ2hyaXMgRHVtZXog
IDxjZHVtZXpAYXBwbGUuY29tPgorCiAgICAgICAgIEltcGxlbWVudCByZWFsIHBvc3QgJ2luc3Rh
bGwnIGV2ZW50IHN0ZXBzIG9mIHRoZSBJbnN0YWxsIGFsZ29yaXRobSAoc3RlcHMgMTQrKQogICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc5NDAxCiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29u
dGFpbmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2Vy
Q29udGFpbmVyLmNwcAppbmRleCAwODQ0OWIyZmJhMjg3YzAyZGRiMTZjOTU2MjZlNGExZjAzZjhh
NjVhLi5mYjQ2Y2JkNWFmMjU0NzdhYjBjYWM4NzY1YjExM2FhZjU3ZTE0NTA5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250
YWluZXIuY3BwCkBAIC0yMzAsNyArMjMwLDcgQEAgdm9pZCBTZXJ2aWNlV29ya2VyQ29udGFpbmVy
OjpnZXRSZWdpc3RyYXRpb24oY29uc3QgU3RyaW5nJiBjbGllbnRVUkwsIFJlZjxEZWZlcnIKICAg
ICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogCi0gICAgICAgIFJlZlB0cjxTZXJ2aWNlV29y
a2VyUmVnaXN0cmF0aW9uPiByZWdpc3RyYXRpb24gPSBtX3JlZ2lzdHJhdGlvbnMuZ2V0KHJlc3Vs
dC0+a2V5KTsKKyAgICAgICAgUmVmUHRyPFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24+IHJlZ2lz
dHJhdGlvbiA9IG1fcmVnaXN0cmF0aW9ucy5nZXQocmVzdWx0LT5pZGVudGlmaWVyKTsKICAgICAg
ICAgaWYgKCFyZWdpc3RyYXRpb24pIHsKICAgICAgICAgICAgIGF1dG8mIGNvbnRleHQgPSAqc2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCgpOwogICAgICAgICAgICAgLy8gRklYTUU6IFdlIHNob3VsZCBw
cm9iYWJseSBub3QgYmUgY29uc3RydWN0aW5nIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24gb2Jq
ZWN0cyBoZXJlLiBJbnN0ZWFkLCB3ZSBzaG91bGQgbWFrZQpAQCAtMjQxLDE0ICsyNDEsMTQgQEAg
dm9pZCBTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjpnZXRSZWdpc3RyYXRpb24oY29uc3QgU3RyaW5n
JiBjbGllbnRVUkwsIFJlZjxEZWZlcnIKICAgICB9KTsKIH0KIAotdm9pZCBTZXJ2aWNlV29ya2Vy
Q29udGFpbmVyOjpzY2hlZHVsZVRhc2tUb1VwZGF0ZVJlZ2lzdHJhdGlvblN0YXRlKGNvbnN0IFNl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkmIGtleSwgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlv
blN0YXRlIHN0YXRlLCBjb25zdCBzdGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJJZGVudGlmaWVy
PiYgc2VydmljZVdvcmtlcklkZW50aWZpZXIpCit2b2lkIFNlcnZpY2VXb3JrZXJDb250YWluZXI6
OnNjaGVkdWxlVGFza1RvVXBkYXRlUmVnaXN0cmF0aW9uU3RhdGUoU2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbklkZW50aWZpZXIgaWRlbnRpZmllciwgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvblN0
YXRlIHN0YXRlLCBjb25zdCBzdGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyPiYg
c2VydmljZVdvcmtlcklkZW50aWZpZXIpCiB7CiAgICAgYXV0byogY29udGV4dCA9IHNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQoKTsKICAgICBpZiAoIWNvbnRleHQpCiAgICAgICAgIHJldHVybjsKIAot
ICAgIGNvbnRleHQtPnBvc3RUYXNrKFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhp
cyksIGtleSwgc3RhdGUsIHNlcnZpY2VXb3JrZXJJZGVudGlmaWVyXShTY3JpcHRFeGVjdXRpb25D
b250ZXh0JikgewotICAgICAgICBpZiAoYXV0byogcmVnaXN0cmF0aW9uID0gbV9yZWdpc3RyYXRp
b25zLmdldChrZXkpKQorICAgIGNvbnRleHQtPnBvc3RUYXNrKFt0aGlzLCBwcm90ZWN0ZWRUaGlz
ID0gbWFrZVJlZigqdGhpcyksIGlkZW50aWZpZXIsIHN0YXRlLCBzZXJ2aWNlV29ya2VySWRlbnRp
Zmllcl0oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpIHsKKyAgICAgICAgaWYgKGF1dG8qIHJlZ2lz
dHJhdGlvbiA9IG1fcmVnaXN0cmF0aW9ucy5nZXQoaWRlbnRpZmllcikpCiAgICAgICAgICAgICBy
ZWdpc3RyYXRpb24tPnVwZGF0ZVN0YXRlRnJvbVNlcnZlcihzdGF0ZSwgc2VydmljZVdvcmtlcklk
ZW50aWZpZXIpOwogICAgIH0pOwogfQpAQCAtMjczLDE2ICsyNzMsMTYgQEAgdm9pZCBTZXJ2aWNl
V29ya2VyQ29udGFpbmVyOjpqb2JGYWlsZWRXaXRoRXhjZXB0aW9uKFNlcnZpY2VXb3JrZXJKb2Im
IGpvYiwgY29uc3QKICAgICBqb2JEaWRGaW5pc2goam9iKTsKIH0KIAotdm9pZCBTZXJ2aWNlV29y
a2VyQ29udGFpbmVyOjpzY2hlZHVsZVRhc2tUb0ZpcmVVcGRhdGVGb3VuZEV2ZW50KGNvbnN0IFNl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkmIGtleSkKK3ZvaWQgU2VydmljZVdvcmtlckNvbnRh
aW5lcjo6c2NoZWR1bGVUYXNrVG9GaXJlVXBkYXRlRm91bmRFdmVudChTZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uSWRlbnRpZmllciBpZGVudGlmaWVyKQogewogICAgIGlmIChpc1N0b3BwZWQoKSkK
ICAgICAgICAgcmV0dXJuOwogCi0gICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5wb3N0VGFz
ayhbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpLCBrZXldKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQmKSB7CisgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5wb3N0VGFzayhb
dGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpLCBpZGVudGlmaWVyXShTY3JpcHRF
eGVjdXRpb25Db250ZXh0JikgewogICAgICAgICBpZiAoaXNTdG9wcGVkKCkpCiAgICAgICAgICAg
ICByZXR1cm47CiAKLSAgICAgICAgaWYgKGF1dG8qIHJlZ2lzdHJhdGlvbiA9IG1fcmVnaXN0cmF0
aW9ucy5nZXQoa2V5KSkKKyAgICAgICAgaWYgKGF1dG8qIHJlZ2lzdHJhdGlvbiA9IG1fcmVnaXN0
cmF0aW9ucy5nZXQoaWRlbnRpZmllcikpCiAgICAgICAgICAgICByZWdpc3RyYXRpb24tPmRpc3Bh
dGNoRXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkudXBkYXRlZm91bmRFdmVudCwgZmFs
c2UsIGZhbHNlKSk7CiAgICAgfSk7CiB9CkBAIC0zMDEsNyArMzAxLDcgQEAgdm9pZCBTZXJ2aWNl
V29ya2VyQ29udGFpbmVyOjpqb2JSZXNvbHZlZFdpdGhSZWdpc3RyYXRpb24oU2VydmljZVdvcmtl
ckpvYiYgam9iLAogICAgIH0KIAogICAgIGNvbnRleHQtPnBvc3RUYXNrKFt0aGlzLCBwcm90ZWN0
ZWRUaGlzID0gbWFrZVJlZigqdGhpcyksIGpvYiA9IG1ha2VSZWYoam9iKSwgZGF0YSA9IFdURk1v
dmUoZGF0YSksIHByb21pc2VSZXNvbHZlZEhhbmRsZXIgPSBXVEZNb3ZlKHByb21pc2VSZXNvbHZl
ZEhhbmRsZXIpXShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0KSBtdXRhYmxlIHsKLSAg
ICAgICAgUmVmUHRyPFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24+IHJlZ2lzdHJhdGlvbiA9IG1f
cmVnaXN0cmF0aW9ucy5nZXQoZGF0YS5rZXkpOworICAgICAgICBSZWZQdHI8U2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbj4gcmVnaXN0cmF0aW9uID0gbV9yZWdpc3RyYXRpb25zLmdldChkYXRhLmlk
ZW50aWZpZXIpOwogICAgICAgICBpZiAoIXJlZ2lzdHJhdGlvbikKICAgICAgICAgICAgIHJlZ2lz
dHJhdGlvbiA9IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb246OmNyZWF0ZShjb250ZXh0LCAqdGhp
cywgV1RGTW92ZShkYXRhKSk7CiAKQEAgLTM5NSwxMyArMzk1LDEzIEBAIGJvb2wgU2VydmljZVdv
cmtlckNvbnRhaW5lcjo6Y2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbigpIGNvbnN0CiB2
b2lkIFNlcnZpY2VXb3JrZXJDb250YWluZXI6OmFkZFJlZ2lzdHJhdGlvbihTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uJiByZWdpc3RyYXRpb24pCiB7CiAgICAgbV9zd0Nvbm5lY3Rpb24tPmFkZFNl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JblNlcnZlcihyZWdpc3RyYXRpb24uZGF0YSgpLmtleSwg
cmVnaXN0cmF0aW9uLmlkZW50aWZpZXIoKSk7Ci0gICAgbV9yZWdpc3RyYXRpb25zLmFkZChyZWdp
c3RyYXRpb24uZGF0YSgpLmtleSwgJnJlZ2lzdHJhdGlvbik7CisgICAgbV9yZWdpc3RyYXRpb25z
LmFkZChyZWdpc3RyYXRpb24uaWRlbnRpZmllcigpLCAmcmVnaXN0cmF0aW9uKTsKIH0KIAogdm9p
ZCBTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjpyZW1vdmVSZWdpc3RyYXRpb24oU2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbiYgcmVnaXN0cmF0aW9uKQogewogICAgIG1fc3dDb25uZWN0aW9uLT5yZW1v
dmVTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSW5TZXJ2ZXIocmVnaXN0cmF0aW9uLmRhdGEoKS5r
ZXksIHJlZ2lzdHJhdGlvbi5pZGVudGlmaWVyKCkpOwotICAgIG1fcmVnaXN0cmF0aW9ucy5yZW1v
dmUocmVnaXN0cmF0aW9uLmRhdGEoKS5rZXkpOworICAgIG1fcmVnaXN0cmF0aW9ucy5yZW1vdmUo
cmVnaXN0cmF0aW9uLmlkZW50aWZpZXIoKSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2Vy
Q29udGFpbmVyLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtl
ckNvbnRhaW5lci5oCmluZGV4IDdmMjYzMzcwZmNmYmVlN2RlNTk2MmVjZjY3MGVkY2I5OTYxOWM4
ZGQuLmYyY2FjZjlmNTcxMWNhODRjYzczNmI1NmQyZDA1MGQ1MjIyYmQ0NWIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWlu
ZXIuaApAQCAtNjUsOCArNjUsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCB1cGRhdGVSZWdpc3RyYXRp
b24oY29uc3QgVVJMJiBzY29wZVVSTCwgY29uc3QgVVJMJiBzY3JpcHRVUkwsIFdvcmtlclR5cGUs
IFJlZjxEZWZlcnJlZFByb21pc2U+JiYpOwogCiAgICAgdm9pZCBnZXRSZWdpc3RyYXRpb24oY29u
c3QgU3RyaW5nJiBjbGllbnRVUkwsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYpOwotICAgIHZvaWQg
c2NoZWR1bGVUYXNrVG9VcGRhdGVSZWdpc3RyYXRpb25TdGF0ZShjb25zdCBTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uS2V5JiwgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvblN0YXRlLCBjb25zdCBz
dGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyPiYpOwotICAgIHZvaWQgc2NoZWR1
bGVUYXNrVG9GaXJlVXBkYXRlRm91bmRFdmVudChjb25zdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uS2V5Jik7CisgICAgdm9pZCBzY2hlZHVsZVRhc2tUb1VwZGF0ZVJlZ2lzdHJhdGlvblN0YXRl
KFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyLCBTZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uU3RhdGUsIGNvbnN0IHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlcklkZW50aWZpZXI+
Jik7CisgICAgdm9pZCBzY2hlZHVsZVRhc2tUb0ZpcmVVcGRhdGVGb3VuZEV2ZW50KFNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyKTsKIAogICAgIHVzaW5nIFJlZ2lzdHJhdGlvbnNQ
cm9taXNlID0gRE9NUHJvbWlzZURlZmVycmVkPElETFNlcXVlbmNlPElETEludGVyZmFjZTxTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uPj4+OwogICAgIHZvaWQgZ2V0UmVnaXN0cmF0aW9ucyhSZWdp
c3RyYXRpb25zUHJvbWlzZSYmKTsKQEAgLTExMSw3ICsxMTEsNyBAQCBwcml2YXRlOgogICAgIEhh
c2hNYXA8dWludDY0X3QsIFJlZjxTZXJ2aWNlV29ya2VySm9iPj4gbV9qb2JNYXA7CiAKICAgICBi
b29sIG1faXNTdG9wcGVkIHsgZmFsc2UgfTsKLSAgICBIYXNoTWFwPFNlcnZpY2VXb3JrZXJSZWdp
c3RyYXRpb25LZXksIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24qPiBtX3JlZ2lzdHJhdGlvbnM7
CisgICAgSGFzaE1hcDxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciwgU2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbio+IG1fcmVnaXN0cmF0aW9uczsKIAogI2lmbmRlZiBOREVCVUcK
ICAgICBUaHJlYWRJZGVudGlmaWVyIG1fY3JlYXRpb25UaHJlYWQgeyBjdXJyZW50VGhyZWFkKCkg
fTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29y
a2VyUmVnaXN0cmF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbi5oCmluZGV4IGU2NThhNWZiMTJhMjg5YzEzOTE5MTk3Y2M3ZTk2
ZDIyZmQ1NDIxMzMuLmM4ZDVlOTdmMDIxNDRiNTBmZDgzY2U0MTc3NWIyMTEwYjE1NjViZWYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb24uaApAQCAtMzIsNyArMzIsNiBAQAogI2luY2x1ZGUgIkpTRE9NUHJv
bWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiU1dDbGllbnRDb25uZWN0aW9uLmgiCiAjaW5jbHVk
ZSAiU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEuaCIKLSNpbmNsdWRlIDx3dGYvSWRlbnRp
ZmllZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQwLDcgKzM5LDcgQEAgY2xhc3Mg
U2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKIGNsYXNzIFNlcnZpY2VXb3JrZXI7CiBjbGFzcyBTZXJ2
aWNlV29ya2VyQ29udGFpbmVyOwogCi1jbGFzcyBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uIGZp
bmFsIDogcHVibGljIFJlZkNvdW50ZWQ8U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbj4sIHB1Ymxp
YyBFdmVudFRhcmdldFdpdGhJbmxpbmVEYXRhLCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0LCBwdWJs
aWMgVGhyZWFkU2FmZUlkZW50aWZpZWQ8U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbj4geworY2xh
c3MgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbiBmaW5hbCA6IHB1YmxpYyBSZWZDb3VudGVkPFNl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb24+LCBwdWJsaWMgRXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0
YSwgcHVibGljIEFjdGl2ZURPTU9iamVjdCB7CiBwdWJsaWM6CiAgICAgdGVtcGxhdGUgPHR5cGVu
YW1lLi4uIEFyZ3M+IHN0YXRpYyBSZWY8U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbj4gY3JlYXRl
KEFyZ3MmJi4uLiBhcmdzKQogICAgIHsKQEAgLTQ5LDYgKzQ4LDggQEAgcHVibGljOgogCiAgICAg
flNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24oKTsKIAorICAgIFNlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb25JZGVudGlmaWVyIGlkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX3JlZ2lzdHJhdGlv
bkRhdGEuaWRlbnRpZmllcjsgfQorCiAgICAgU2VydmljZVdvcmtlciogaW5zdGFsbGluZygpOwog
ICAgIFNlcnZpY2VXb3JrZXIqIHdhaXRpbmcoKTsKICAgICBTZXJ2aWNlV29ya2VyKiBhY3RpdmUo
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29y
a2VyUmVnaXN0cmF0aW9uRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1Nl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhLmgKaW5kZXggYWNkMzI0ZTIxOTY1YjE0NWI3OTUy
YjgyODViODQ3M2IxMWM3YTcwNi4uNTU2ZjA1NDJjZmYyZTcyZWZhNjliNzY2YzMyMDRhMjFkZWFi
OTllZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb25EYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2
aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhLmgKQEAgLTI5LDYgKzI5LDcgQEAKIAog
I2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLmgiCiAjaW5jbHVkZSAiU2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbktleS5oIgorI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJUeXBlcy5oIgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTM2LDcgKzM3LDcgQEAgZW51bSBjbGFzcyBTZXJ2
aWNlV29ya2VyVXBkYXRlVmlhQ2FjaGU7CiAKIHN0cnVjdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uRGF0YSB7CiAgICAgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleSBrZXk7Ci0gICAgdWlu
dDY0X3QgaWRlbnRpZmllcjsKKyAgICBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmll
ciBpZGVudGlmaWVyOwogICAgIFVSTCBzY29wZVVSTDsKICAgICBVUkwgc2NyaXB0VVJMOwogICAg
IFNlcnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNoZSB1cGRhdGVWaWFDYWNoZTsKQEAgLTY2LDcgKzY3
LDcgQEAgc3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YT4gU2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGE6OmRlY28KICAgICBpZiAoIWtleSkKICAgICAgICAgcmV0
dXJuIHN0ZDo6bnVsbG9wdDsKICAgICAKLSAgICBzdGQ6Om9wdGlvbmFsPHVpbnQ2NF90PiBpZGVu
dGlmaWVyOworICAgIHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50
aWZpZXI+IGlkZW50aWZpZXI7CiAgICAgZGVjb2RlciA+PiBpZGVudGlmaWVyOwogICAgIGlmICgh
aWRlbnRpZmllcikKICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyVHlwZXMuaCBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyVHlwZXMuaAppbmRleCBmZjM1
ZWVhZTcwNTdiYzVlOTQyNDI1ZmNjNmViZDllZTllNWZjNTBjLi5hM2M2YzNlNjE3OGViODVlNDg0
MmZjMWEwNmQzZGVhNGVlMjg0YWEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L3NlcnZpY2UvU2VydmljZVdvcmtlclR5cGVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJUeXBlcy5oCkBAIC0yNyw2ICsyNyw4IEBACiAKICNpZiBF
TkFCTEUoU0VSVklDRV9XT1JLRVIpCiAKKyNpbmNsdWRlIDx3dGYvT2JqZWN0SWRlbnRpZmllci5o
PgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGVudW0gY2xhc3MgU2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvblN0YXRlIHsKQEAgLTQ1LDYgKzQ3LDkgQEAgZW51bSBjbGFzcyBTZXJ2aWNlV29ya2Vy
U3RhdGUgewogCiBlbnVtIGNsYXNzIFNob3VsZE5vdGlmeVdoZW5SZXNvbHZlZCB7IE5vLCBZZXMg
fTsKIAorZW51bSBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllclR5cGUgeyB9Owor
dXNpbmcgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIgPSBPYmplY3RJZGVudGlm
aWVyPFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyVHlwZT47CisKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShTRVJWSUNFX1dPUktFUikKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dDbGllbnRDb25u
ZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dDbGll
bnRDb25uZWN0aW9uLmNwcAppbmRleCBmYTQ4YjI1ZGQ3NDIwYThiOGRiYTdhZjNmMmQxMjdmMDM2
ZTdlY2E1Li4yNWFkYTcwNWM4MGE0NjkyMjA4NmRlMGM5YWZkNjkzZWIzMzM4YjljIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXQ2xpZW50Q29ubmVj
dGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV0Ns
aWVudENvbm5lY3Rpb24uY3BwCkBAIC0xNTIsMTAgKzE1MiwxMCBAQCB2b2lkIFNXQ2xpZW50Q29u
bmVjdGlvbjo6Zm9yRWFjaENvbnRhaW5lcihjb25zdCBXVEY6OkZ1bmN0aW9uPHZvaWQoU2Vydmlj
ZVdvcmtlcgogICAgIH0KIH0KIAotdm9pZCBTV0NsaWVudENvbm5lY3Rpb246OnVwZGF0ZVJlZ2lz
dHJhdGlvblN0YXRlKGNvbnN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkmIGtleSwgU2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvblN0YXRlIHN0YXRlLCBzdGQ6Om9wdGlvbmFsPFNlcnZpY2VX
b3JrZXJJZGVudGlmaWVyPiBzZXJ2aWNlV29ya2VySWRlbnRpZmllcikKK3ZvaWQgU1dDbGllbnRD
b25uZWN0aW9uOjp1cGRhdGVSZWdpc3RyYXRpb25TdGF0ZShTZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uSWRlbnRpZmllciBpZGVudGlmaWVyLCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uU3RhdGUg
c3RhdGUsIHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlcklkZW50aWZpZXI+IHNlcnZpY2VXb3Jr
ZXJJZGVudGlmaWVyKQogewogICAgIGZvckVhY2hDb250YWluZXIoWyZdKFNlcnZpY2VXb3JrZXJD
b250YWluZXImIGNvbnRhaW5lcikgewotICAgICAgICBjb250YWluZXIuc2NoZWR1bGVUYXNrVG9V
cGRhdGVSZWdpc3RyYXRpb25TdGF0ZShrZXksIHN0YXRlLCBzZXJ2aWNlV29ya2VySWRlbnRpZmll
cik7CisgICAgICAgIGNvbnRhaW5lci5zY2hlZHVsZVRhc2tUb1VwZGF0ZVJlZ2lzdHJhdGlvblN0
YXRlKGlkZW50aWZpZXIsIHN0YXRlLCBzZXJ2aWNlV29ya2VySWRlbnRpZmllcik7CiAgICAgfSk7
CiB9CiAKQEAgLTE2NSwxMCArMTY1LDEwIEBAIHZvaWQgU1dDbGllbnRDb25uZWN0aW9uOjp1cGRh
dGVXb3JrZXJTdGF0ZShTZXJ2aWNlV29ya2VySWRlbnRpZmllciBpZGVudGlmaWVyLCBTCiAgICAg
ICAgIHdvcmtlci0+c2NoZWR1bGVUYXNrVG9VcGRhdGVTdGF0ZShzdGF0ZSk7CiB9CiAKLXZvaWQg
U1dDbGllbnRDb25uZWN0aW9uOjpmaXJlVXBkYXRlRm91bmRFdmVudChjb25zdCBTZXJ2aWNlV29y
a2VyUmVnaXN0cmF0aW9uS2V5JiBrZXkpCit2b2lkIFNXQ2xpZW50Q29ubmVjdGlvbjo6ZmlyZVVw
ZGF0ZUZvdW5kRXZlbnQoU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIgaWRlbnRp
ZmllcikKIHsKICAgICBmb3JFYWNoQ29udGFpbmVyKFsmXShTZXJ2aWNlV29ya2VyQ29udGFpbmVy
JiBjb250YWluZXIpIHsKLSAgICAgICAgY29udGFpbmVyLnNjaGVkdWxlVGFza1RvRmlyZVVwZGF0
ZUZvdW5kRXZlbnQoa2V5KTsKKyAgICAgICAgY29udGFpbmVyLnNjaGVkdWxlVGFza1RvRmlyZVVw
ZGF0ZUZvdW5kRXZlbnQoaWRlbnRpZmllcik7CiAgICAgfSk7CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dDbGllbnRDb25uZWN0aW9uLmgg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXQ2xpZW50Q29ubmVjdGlv
bi5oCmluZGV4IDc3YjFjMzMzN2MwYWRkNjUxYmNlZTIwNzM1NThhOWRlNmY2MjhhNTEuLjBlYzg3
ZmNjYWFmOWQ0YjY0ZWY2NmEwMzdhYjI1NDAzMGVkMjc2NmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dDbGllbnRDb25uZWN0aW9uLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV0NsaWVudENvbm5lY3Rpb24u
aApAQCAtMjgsNiArMjgsNyBAQAogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKIAogI2luY2x1
ZGUgIlNlcnZpY2VXb3JrZXJKb2IuaCIKKyNpbmNsdWRlICJTZXJ2aWNlV29ya2VyVHlwZXMuaCIK
ICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRTYWZlUmVmQ291
bnRlZC5oPgogCkBAIC01Myw4ICs1NCw4IEBAIHB1YmxpYzoKICAgICB1c2luZyBSZWdpc3RyYXRp
b25DYWxsYmFjayA9IFdURjo6Q29tcGxldGlvbkhhbmRsZXI8dm9pZChzdGQ6Om9wdGlvbmFsPFNl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhPiYmKT47CiAgICAgdmlydHVhbCB2b2lkIG1hdGNo
UmVnaXN0cmF0aW9uKGNvbnN0IFNlY3VyaXR5T3JpZ2luJiB0b3BPcmlnaW4sIGNvbnN0IFVSTCYg
Y2xpZW50VVJMLCBSZWdpc3RyYXRpb25DYWxsYmFjayYmKSA9IDA7CiAKLSAgICB2aXJ0dWFsIHZv
aWQgYWRkU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkluU2VydmVyKGNvbnN0IFNlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb25LZXkmLCB1aW50NjRfdCByZWdpc3RyYXRpb25JZGVudGlmaWVyKSA9IDA7
Ci0gICAgdmlydHVhbCB2b2lkIHJlbW92ZVNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JblNlcnZl
cihjb25zdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5JiwgdWludDY0X3QgcmVnaXN0cmF0
aW9uSWRlbnRpZmllcikgPSAwOworICAgIHZpcnR1YWwgdm9pZCBhZGRTZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uSW5TZXJ2ZXIoY29uc3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleSYsIFNl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyKSA9IDA7CisgICAgdmlydHVhbCB2b2lk
IHJlbW92ZVNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JblNlcnZlcihjb25zdCBTZXJ2aWNlV29y
a2VyUmVnaXN0cmF0aW9uS2V5JiwgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIp
ID0gMDsKIAogICAgIHZvaWQgc2NoZWR1bGVKb2IoU2VydmljZVdvcmtlckpvYiYpOwogICAgIHZv
aWQgZmluaXNoZWRGZXRjaGluZ1NjcmlwdChTZXJ2aWNlV29ya2VySm9iJiwgY29uc3QgU3RyaW5n
Jik7CkBAIC03NCw5ICs3NSw5IEBAIHByb3RlY3RlZDoKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lk
IHVucmVnaXN0cmF0aW9uSm9iUmVzb2x2ZWRJblNlcnZlcih1aW50NjRfdCBqb2JJZGVudGlmaWVy
LCBib29sIHVucmVnaXN0cmF0aW9uUmVzdWx0KTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHN0
YXJ0U2NyaXB0RmV0Y2hGb3JTZXJ2ZXIodWludDY0X3Qgam9iSWRlbnRpZmllcik7CiAgICAgV0VC
Q09SRV9FWFBPUlQgdm9pZCBwb3N0TWVzc2FnZVRvU2VydmljZVdvcmtlckNsaWVudCh1aW50NjRf
dCBkZXN0aW5hdGlvblNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyLCBSZWY8U2VyaWFs
aXplZFNjcmlwdFZhbHVlPiYmIG1lc3NhZ2UsIFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIHNvdXJj
ZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VPcmlnaW4pOwotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQg
dXBkYXRlUmVnaXN0cmF0aW9uU3RhdGUoY29uc3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktl
eSYsIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25TdGF0ZSwgc3RkOjpvcHRpb25hbDxTZXJ2aWNl
V29ya2VySWRlbnRpZmllcj4pOworICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgdXBkYXRlUmVnaXN0
cmF0aW9uU3RhdGUoU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIsIFNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb25TdGF0ZSwgc3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2VySWRlbnRp
Zmllcj4pOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgdXBkYXRlV29ya2VyU3RhdGUoU2Vydmlj
ZVdvcmtlcklkZW50aWZpZXIsIFNlcnZpY2VXb3JrZXJTdGF0ZSk7Ci0gICAgV0VCQ09SRV9FWFBP
UlQgdm9pZCBmaXJlVXBkYXRlRm91bmRFdmVudChjb25zdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uS2V5Jik7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBmaXJlVXBkYXRlRm91bmRFdmVudChT
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcik7CiAKIHByaXZhdGU6CiAgICAgdmly
dHVhbCB2b2lkIHNjaGVkdWxlSm9iSW5TZXJ2ZXIoY29uc3QgU2VydmljZVdvcmtlckpvYkRhdGEm
KSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVy
L1NXU2VydmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dT
ZXJ2ZXIuY3BwCmluZGV4IDcyYzkwM2Q5NDgwNGY5NmEyNjZhMDFiMDliMzNhN2U4NTg4MTY0N2Mu
LmI0MjZjZDAxYTZhMzBmYmQyZmRhOTcxNjUzOTA4MTdkYmYzMTY3MzAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuY3BwCkBAIC0xMjIs
MTQgKzEyMiwxNCBAQCB2b2lkIFNXU2VydmVyOjpDb25uZWN0aW9uOjpkaWRSZXNvbHZlUmVnaXN0
cmF0aW9uUHJvbWlzZShjb25zdCBTZXJ2aWNlV29ya2VyUmVnaQogICAgIG1fc2VydmVyLmRpZFJl
c29sdmVSZWdpc3RyYXRpb25Qcm9taXNlKCp0aGlzLCBrZXkpOwogfQogCi12b2lkIFNXU2VydmVy
OjpDb25uZWN0aW9uOjphZGRTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSW5TZXJ2ZXIoY29uc3Qg
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleSYga2V5LCB1aW50NjRfdCBjbGllbnRSZWdpc3Ry
YXRpb25JZGVudGlmaWVyKQordm9pZCBTV1NlcnZlcjo6Q29ubmVjdGlvbjo6YWRkU2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbkluU2VydmVyKGNvbnN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25L
ZXkmIGtleSwgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIgaWRlbnRpZmllcikK
IHsKLSAgICBtX3NlcnZlci5hZGRDbGllbnRTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uKCp0aGlz
LCBrZXksIGNsaWVudFJlZ2lzdHJhdGlvbklkZW50aWZpZXIpOworICAgIG1fc2VydmVyLmFkZENs
aWVudFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24oKnRoaXMsIGtleSwgaWRlbnRpZmllcik7CiB9
CiAKLXZvaWQgU1dTZXJ2ZXI6OkNvbm5lY3Rpb246OnJlbW92ZVNlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb25JblNlcnZlcihjb25zdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5JiBrZXksIHVp
bnQ2NF90IGNsaWVudFJlZ2lzdHJhdGlvbklkZW50aWZpZXIpCit2b2lkIFNXU2VydmVyOjpDb25u
ZWN0aW9uOjpyZW1vdmVTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSW5TZXJ2ZXIoY29uc3QgU2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbktleSYga2V5LCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
SWRlbnRpZmllciBpZGVudGlmaWVyKQogewotICAgIG1fc2VydmVyLnJlbW92ZUNsaWVudFNlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb24oKnRoaXMsIGtleSwgY2xpZW50UmVnaXN0cmF0aW9uSWRlbnRp
Zmllcik7CisgICAgbV9zZXJ2ZXIucmVtb3ZlQ2xpZW50U2VydmljZVdvcmtlclJlZ2lzdHJhdGlv
bigqdGhpcywga2V5LCBpZGVudGlmaWVyKTsKIH0KIAogdm9pZCBTV1NlcnZlcjo6Q29ubmVjdGlv
bjo6c2NyaXB0Q29udGV4dEZhaWxlZFRvU3RhcnQoY29uc3QgU2VydmljZVdvcmtlclJlZ2lzdHJh
dGlvbktleSYgcmVnaXN0cmF0aW9uS2V5LCBTZXJ2aWNlV29ya2VySWRlbnRpZmllciBpZGVudGlm
aWVyLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCkBAIC0xNzgsNyArMTc4LDcgQEAgdm9pZCBTV1Nl
cnZlcjo6cmVqZWN0Sm9iKGNvbnN0IFNlcnZpY2VXb3JrZXJKb2JEYXRhJiBqb2JEYXRhLCBjb25z
dCBFeGNlcHRpb25EYXQKIAogdm9pZCBTV1NlcnZlcjo6cmVzb2x2ZVJlZ2lzdHJhdGlvbkpvYihj
b25zdCBTZXJ2aWNlV29ya2VySm9iRGF0YSYgam9iRGF0YSwgY29uc3QgU2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbkRhdGEmIHJlZ2lzdHJhdGlvbkRhdGEsIFNob3VsZE5vdGlmeVdoZW5SZXNvbHZl
ZCBzaG91bGROb3RpZnlXaGVuUmVzb2x2ZWQpCiB7Ci0gICAgTE9HKFNlcnZpY2VXb3JrZXIsICJS
ZXNvbHZlZCBTZXJ2aWNlV29ya2VyIGpvYiAlIiBQUkl1NjQgIi0lIiBQUkl1NjQgIiBpbiBzZXJ2
ZXIgd2l0aCByZWdpc3RyYXRpb24gJSIgUFJJdTY0LCBqb2JEYXRhLmNvbm5lY3Rpb25JZGVudGlm
aWVyKCksIGpvYkRhdGEuaWRlbnRpZmllcigpLCByZWdpc3RyYXRpb25EYXRhLmlkZW50aWZpZXIp
OworICAgIExPRyhTZXJ2aWNlV29ya2VyLCAiUmVzb2x2ZWQgU2VydmljZVdvcmtlciBqb2IgJSIg
UFJJdTY0ICItJSIgUFJJdTY0ICIgaW4gc2VydmVyIHdpdGggcmVnaXN0cmF0aW9uICVzIiwgam9i
RGF0YS5jb25uZWN0aW9uSWRlbnRpZmllcigpLCBqb2JEYXRhLmlkZW50aWZpZXIoKSwgcmVnaXN0
cmF0aW9uRGF0YS5pZGVudGlmaWVyLmxvZ2dpbmdTdHJpbmcoKS51dGY4KCkuZGF0YSgpKTsKICAg
ICBhdXRvKiBjb25uZWN0aW9uID0gbV9jb25uZWN0aW9ucy5nZXQoam9iRGF0YS5jb25uZWN0aW9u
SWRlbnRpZmllcigpKTsKICAgICBpZiAoIWNvbm5lY3Rpb24pCiAgICAgICAgIHJldHVybjsKQEAg
LTI1MCwyNiArMjUwLDMyIEBAIHZvaWQgU1dTZXJ2ZXI6OmRpZFJlc29sdmVSZWdpc3RyYXRpb25Q
cm9taXNlKENvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIGNvbnN0IFNlcnZpCiAgICAgICAgIGpvYlF1
ZXVlLT5kaWRSZXNvbHZlUmVnaXN0cmF0aW9uUHJvbWlzZShjb25uZWN0aW9uKTsKIH0KIAotdm9p
ZCBTV1NlcnZlcjo6YWRkQ2xpZW50U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbihDb25uZWN0aW9u
JiBjb25uZWN0aW9uLCBjb25zdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5JiBrZXksIHVp
bnQ2NF90IHJlZ2lzdHJhdGlvbklkZW50aWZpZXIpCit2b2lkIFNXU2VydmVyOjphZGRDbGllbnRT
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uKENvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIGNvbnN0IFNl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkmIGtleSwgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlv
bklkZW50aWZpZXIgaWRlbnRpZmllcikKIHsKICAgICBhdXRvKiByZWdpc3RyYXRpb24gPSBtX3Jl
Z2lzdHJhdGlvbnMuZ2V0KGtleSk7CiAgICAgaWYgKCFyZWdpc3RyYXRpb24pIHsKICAgICAgICAg
TE9HX0VSUk9SKCJSZXF1ZXN0IHRvIGFkZCBjbGllbnQtc2lkZSBTZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uIHRvIG5vbi1leGlzdGVudCBzZXJ2ZXItc2lkZSByZWdpc3RyYXRpb24iKTsKICAgICAg
ICAgcmV0dXJuOwogICAgIH0KKworICAgIGlmIChyZWdpc3RyYXRpb24tPmlkZW50aWZpZXIoKSAh
PSBpZGVudGlmaWVyKQorICAgICAgICByZXR1cm47CiAgICAgCi0gICAgcmVnaXN0cmF0aW9uLT5h
ZGRDbGllbnRTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uKGNvbm5lY3Rpb24uaWRlbnRpZmllcigp
LCByZWdpc3RyYXRpb25JZGVudGlmaWVyKTsKKyAgICByZWdpc3RyYXRpb24tPmFkZENsaWVudFNl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb24oY29ubmVjdGlvbi5pZGVudGlmaWVyKCkpOwogfQogCi12
b2lkIFNXU2VydmVyOjpyZW1vdmVDbGllbnRTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uKENvbm5l
Y3Rpb24mIGNvbm5lY3Rpb24sIGNvbnN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkmIGtl
eSwgdWludDY0X3QgcmVnaXN0cmF0aW9uSWRlbnRpZmllcikKK3ZvaWQgU1dTZXJ2ZXI6OnJlbW92
ZUNsaWVudFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24oQ29ubmVjdGlvbiYgY29ubmVjdGlvbiwg
Y29uc3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleSYga2V5LCBTZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uSWRlbnRpZmllciBpZGVudGlmaWVyKQogewogICAgIGF1dG8qIHJlZ2lzdHJhdGlv
biA9IG1fcmVnaXN0cmF0aW9ucy5nZXQoa2V5KTsKICAgICBpZiAoIXJlZ2lzdHJhdGlvbikgewog
ICAgICAgICBMT0dfRVJST1IoIlJlcXVlc3QgdG8gcmVtb3ZlIGNsaWVudC1zaWRlIFNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb24gZnJvbSBub24tZXhpc3RlbnQgc2VydmVyLXNpZGUgcmVnaXN0cmF0
aW9uIik7CiAgICAgICAgIHJldHVybjsKICAgICB9CisKKyAgICBpZiAocmVnaXN0cmF0aW9uLT5p
ZGVudGlmaWVyKCkgIT0gaWRlbnRpZmllcikKKyAgICAgICAgcmV0dXJuOwogICAgIAotICAgIHJl
Z2lzdHJhdGlvbi0+cmVtb3ZlQ2xpZW50U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbihjb25uZWN0
aW9uLmlkZW50aWZpZXIoKSwgcmVnaXN0cmF0aW9uSWRlbnRpZmllcik7CisgICAgcmVnaXN0cmF0
aW9uLT5yZW1vdmVDbGllbnRTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uKGNvbm5lY3Rpb24uaWRl
bnRpZmllcigpKTsKIH0KIAogUmVmPFNXU2VydmVyV29ya2VyPiBTV1NlcnZlcjo6dXBkYXRlV29y
a2VyKENvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIGNvbnN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b25LZXkmIHJlZ2lzdHJhdGlvbktleSwgY29uc3QgVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgc2Ny
aXB0LCBXb3JrZXJUeXBlIHR5cGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZp
Y2Uvc2VydmVyL1NXU2VydmVyLmgKaW5kZXggNTgwY2MyNjlmYWNiM2UzYTFhZDk5YjRhOGE1MTQz
ZDZjODEzNGQzMy4uNmQ3ZTNiZDk5YzRiNmU2MTIwODk1NDk3OTIxODNhY2ZjY2E5ZGEzMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuaApA
QCAtNjYsOSArNjYsOSBAQCBwdWJsaWM6CiAgICAgICAgIGNvbnN0IFNXU2VydmVyUmVnaXN0cmF0
aW9uKiBkb1JlZ2lzdHJhdGlvbk1hdGNoaW5nKGNvbnN0IFNlY3VyaXR5T3JpZ2luRGF0YSYgdG9w
T3JpZ2luLCBjb25zdCBVUkwmIGNsaWVudFVSTCkgY29uc3QgeyByZXR1cm4gbV9zZXJ2ZXIuZG9S
ZWdpc3RyYXRpb25NYXRjaGluZyh0b3BPcmlnaW4sIGNsaWVudFVSTCk7IH0KIAogICAgICAgICAv
LyBNZXNzYWdlcyB0byB0aGUgY2xpZW50IFdlYlByb2Nlc3MKLSAgICAgICAgdmlydHVhbCB2b2lk
IHVwZGF0ZVJlZ2lzdHJhdGlvblN0YXRlSW5DbGllbnQoY29uc3QgU2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbktleSYsIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25TdGF0ZSwgc3RkOjpvcHRpb25h
bDxTZXJ2aWNlV29ya2VySWRlbnRpZmllcj4pID0gMDsKKyAgICAgICAgdmlydHVhbCB2b2lkIHVw
ZGF0ZVJlZ2lzdHJhdGlvblN0YXRlSW5DbGllbnQoU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklk
ZW50aWZpZXIsIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25TdGF0ZSwgc3RkOjpvcHRpb25hbDxT
ZXJ2aWNlV29ya2VySWRlbnRpZmllcj4pID0gMDsKICAgICAgICAgdmlydHVhbCB2b2lkIHVwZGF0
ZVdvcmtlclN0YXRlSW5DbGllbnQoU2VydmljZVdvcmtlcklkZW50aWZpZXIsIFNlcnZpY2VXb3Jr
ZXJTdGF0ZSkgPSAwOwotICAgICAgICB2aXJ0dWFsIHZvaWQgZmlyZVVwZGF0ZUZvdW5kRXZlbnQo
Y29uc3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleSYpID0gMDsKKyAgICAgICAgdmlydHVh
bCB2b2lkIGZpcmVVcGRhdGVGb3VuZEV2ZW50KFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVu
dGlmaWVyKSA9IDA7CiAKICAgICBwcm90ZWN0ZWQ6CiAgICAgICAgIFdFQkNPUkVfRVhQT1JUIENv
bm5lY3Rpb24oU1dTZXJ2ZXImLCB1aW50NjRfdCBpZGVudGlmaWVyKTsKQEAgLTc2LDggKzc2LDgg
QEAgcHVibGljOgogCiAgICAgICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2NoZWR1bGVKb2JJblNl
cnZlcihjb25zdCBTZXJ2aWNlV29ya2VySm9iRGF0YSYpOwogICAgICAgICBXRUJDT1JFX0VYUE9S
VCB2b2lkIGZpbmlzaEZldGNoaW5nU2NyaXB0SW5TZXJ2ZXIoY29uc3QgU2VydmljZVdvcmtlckZl
dGNoUmVzdWx0Jik7Ci0gICAgICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgYWRkU2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbkluU2VydmVyKGNvbnN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkm
LCB1aW50NjRfdCBjbGllbnRSZWdpc3RyYXRpb25JZGVudGlmaWVyKTsKLSAgICAgICAgV0VCQ09S
RV9FWFBPUlQgdm9pZCByZW1vdmVTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSW5TZXJ2ZXIoY29u
c3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleSYsIHVpbnQ2NF90IGNsaWVudFJlZ2lzdHJh
dGlvbklkZW50aWZpZXIpOworICAgICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGFkZFNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb25JblNlcnZlcihjb25zdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
S2V5JiwgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIpOworICAgICAgICBXRUJD
T1JFX0VYUE9SVCB2b2lkIHJlbW92ZVNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JblNlcnZlcihj
b25zdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5JiwgU2VydmljZVdvcmtlclJlZ2lzdHJh
dGlvbklkZW50aWZpZXIpOwogCiAgICAgcHJpdmF0ZToKICAgICAgICAgLy8gTWVzc2FnZXMgdG8g
dGhlIGNsaWVudCBXZWJQcm9jZXNzCkBAIC0xMzAsOCArMTMwLDggQEAgcHJpdmF0ZToKICAgICB2
b2lkIGRpZEZpbmlzaEluc3RhbGwoQ29ubmVjdGlvbiYsIGNvbnN0IFNlcnZpY2VXb3JrZXJSZWdp
c3RyYXRpb25LZXkmLCBTZXJ2aWNlV29ya2VySWRlbnRpZmllciwgYm9vbCB3YXNTdWNjZXNzZnVs
KTsKICAgICB2b2lkIGRpZFJlc29sdmVSZWdpc3RyYXRpb25Qcm9taXNlKENvbm5lY3Rpb24mLCBj
b25zdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5Jik7CiAKLSAgICB2b2lkIGFkZENsaWVu
dFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24oQ29ubmVjdGlvbiYsIGNvbnN0IFNlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb25LZXkmLCB1aW50NjRfdCByZWdpc3RyYXRpb25JZGVudGlmaWVyKTsKLSAg
ICB2b2lkIHJlbW92ZUNsaWVudFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24oQ29ubmVjdGlvbiYs
IGNvbnN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkmLCB1aW50NjRfdCByZWdpc3RyYXRp
b25JZGVudGlmaWVyKTsKKyAgICB2b2lkIGFkZENsaWVudFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b24oQ29ubmVjdGlvbiYsIGNvbnN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkmLCBTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcik7CisgICAgdm9pZCByZW1vdmVDbGllbnRT
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uKENvbm5lY3Rpb24mLCBjb25zdCBTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uS2V5JiwgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIpOwog
CiAgICAgV0VCQ09SRV9FWFBPUlQgY29uc3QgU1dTZXJ2ZXJSZWdpc3RyYXRpb24qIGRvUmVnaXN0
cmF0aW9uTWF0Y2hpbmcoY29uc3QgU2VjdXJpdHlPcmlnaW5EYXRhJiB0b3BPcmlnaW4sIGNvbnN0
IFVSTCYgY2xpZW50VVJMKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlclJlZ2lzdHJhdGlvbi5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyUmVnaXN0cmF0aW9uLmNwcAppbmRl
eCA4ZDg0ZGNiOTM5MDk3YWNiZjQ4ZDlmOWViMTYyNmM1ZmMxNDMzZjAzLi5iNDdlYTUzZjVhZTk4
YWNlNzA3YjhjMGI0ZWNhYzMyY2I1OGI1NmRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyUmVnaXN0cmF0aW9uLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyUmVnaXN0cmF0aW9uLmNw
cApAQCAtMzUsOCArMzUsMTUgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitzdGF0aWMgU2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIgZ2VuZXJhdGVTZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uSWRlbnRpZmllcigpCit7CisgICAgc3RhdGljIHVpbnQ2NF90IGlkZW50aWZpZXIg
PSAwOworICAgIHJldHVybiBtYWtlT2JqZWN0SWRlbnRpZmllcjxTZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uSWRlbnRpZmllclR5cGU+KCsraWRlbnRpZmllcik7Cit9CisKIFNXU2VydmVyUmVnaXN0
cmF0aW9uOjpTV1NlcnZlclJlZ2lzdHJhdGlvbihTV1NlcnZlciYgc2VydmVyLCBjb25zdCBTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5JiBrZXksIFNlcnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNo
ZSB1cGRhdGVWaWFDYWNoZSwgY29uc3QgVVJMJiBzY29wZVVSTCwgY29uc3QgVVJMJiBzY3JpcHRV
UkwpCi0gICAgOiBtX3JlZ2lzdHJhdGlvbktleShrZXkpCisgICAgOiBtX2lkZW50aWZpZXIoZ2Vu
ZXJhdGVTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcigpKQorICAgICwgbV9yZWdp
c3RyYXRpb25LZXkoa2V5KQogICAgICwgbV91cGRhdGVWaWFDYWNoZSh1cGRhdGVWaWFDYWNoZSkK
ICAgICAsIG1fc2NvcGVVUkwoc2NvcGVVUkwpCiAgICAgLCBtX3NjcmlwdFVSTChzY3JpcHRVUkwp
CkBAIC04MCw3ICs4Nyw3IEBAIHZvaWQgU1dTZXJ2ZXJSZWdpc3RyYXRpb246OnVwZGF0ZVJlZ2lz
dHJhdGlvblN0YXRlKGNvbnN0IFNlcnZpY2VXb3JrZXJKb2JEYXRhJiBqCiAgICAgICAgIHNlcnZp
Y2VXb3JrZXJJZGVudGlmaWVyID0gd29ya2VyLT5pZGVudGlmaWVyKCk7CiAKICAgICBmb3JFYWNo
Q29ubmVjdGlvbihqb2IsIFsmXShhdXRvJiBjb25uZWN0aW9uKSB7Ci0gICAgICAgIGNvbm5lY3Rp
b24udXBkYXRlUmVnaXN0cmF0aW9uU3RhdGVJbkNsaWVudChtX3JlZ2lzdHJhdGlvbktleSwgc3Rh
dGUsIHNlcnZpY2VXb3JrZXJJZGVudGlmaWVyKTsKKyAgICAgICAgY29ubmVjdGlvbi51cGRhdGVS
ZWdpc3RyYXRpb25TdGF0ZUluQ2xpZW50KGlkZW50aWZpZXIoKSwgc3RhdGUsIHNlcnZpY2VXb3Jr
ZXJJZGVudGlmaWVyKTsKICAgICB9KTsKIH0KIApAQCAtOTgsNyArMTA1LDcgQEAgdm9pZCBTV1Nl
cnZlclJlZ2lzdHJhdGlvbjo6dXBkYXRlV29ya2VyU3RhdGUoY29uc3QgU2VydmljZVdvcmtlckpv
YkRhdGEmIGpvYiwgU1cKIHZvaWQgU1dTZXJ2ZXJSZWdpc3RyYXRpb246OmZpcmVVcGRhdGVGb3Vu
ZEV2ZW50KGNvbnN0IFNlcnZpY2VXb3JrZXJKb2JEYXRhJiBqb2IpCiB7CiAgICAgZm9yRWFjaENv
bm5lY3Rpb24oam9iLCBbJl0oYXV0byYgY29ubmVjdGlvbikgewotICAgICAgICBjb25uZWN0aW9u
LmZpcmVVcGRhdGVGb3VuZEV2ZW50KG1fcmVnaXN0cmF0aW9uS2V5KTsKKyAgICAgICAgY29ubmVj
dGlvbi5maXJlVXBkYXRlRm91bmRFdmVudChpZGVudGlmaWVyKCkpOwogICAgIH0pOwogfQogCkBA
IC0xMDYsMTIgKzExMywxMiBAQCB2b2lkIFNXU2VydmVyUmVnaXN0cmF0aW9uOjpmb3JFYWNoQ29u
bmVjdGlvbihjb25zdCBTZXJ2aWNlV29ya2VySm9iRGF0YSYgam9iLCBjbwogewogICAgIC8vIE5v
IG1hdHRlciB3aGF0LCB3ZSBzZW5kIHRoZSBldmVudCB0byB0aGUgY29ubmVjdGlvbiB0aGF0IHNj
aGVkdWxlZCB0aGUgam9iLiBUaGUgY2xpZW50IHJlZ2lzdHJhdGlvbgogICAgIC8vIG1heSBub3Qg
aGF2ZSBnb3R0ZW4gYSBjaGFuY2UgdG8gcmVnaXN0ZXIgaXRzZWxmIHlldC4KLSAgICBpZiAoIW1f
Y2xpZW50UmVnaXN0cmF0aW9uc0J5Q29ubmVjdGlvbi5jb250YWlucyhqb2IuY29ubmVjdGlvbklk
ZW50aWZpZXIoKSkpIHsKKyAgICBpZiAoIW1fY29ubmVjdGlvbnNXaXRoQ2xpZW50UmVnaXN0cmF0
aW9ucy5jb250YWlucyhqb2IuY29ubmVjdGlvbklkZW50aWZpZXIoKSkpIHsKICAgICAgICAgaWYg
KGF1dG8qIGNvbm5lY3Rpb24gPSBtX3NlcnZlci5nZXRDb25uZWN0aW9uKGpvYi5jb25uZWN0aW9u
SWRlbnRpZmllcigpKSkKICAgICAgICAgICAgIGFwcGx5KCpjb25uZWN0aW9uKTsKICAgICB9CiAK
LSAgICBmb3IgKGF1dG8mIGNvbm5lY3Rpb25JZGVudGlmaWVyV2l0aENsaWVudHMgOiBtX2NsaWVu
dFJlZ2lzdHJhdGlvbnNCeUNvbm5lY3Rpb24ua2V5cygpKSB7CisgICAgZm9yICh1aW50NjRfdCBj
b25uZWN0aW9uSWRlbnRpZmllcldpdGhDbGllbnRzIDogbV9jb25uZWN0aW9uc1dpdGhDbGllbnRS
ZWdpc3RyYXRpb25zLnZhbHVlcygpKSB7CiAgICAgICAgIGlmIChhdXRvKiBjb25uZWN0aW9uID0g
bV9zZXJ2ZXIuZ2V0Q29ubmVjdGlvbihjb25uZWN0aW9uSWRlbnRpZmllcldpdGhDbGllbnRzKSkK
ICAgICAgICAgICAgIGFwcGx5KCpjb25uZWN0aW9uKTsKICAgICB9CkBAIC0xMzQsMjUgKzE0MSwx
NCBAQCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YSBTV1NlcnZlclJlZ2lzdHJhdGlvbjo6
ZGF0YSgpIGNvbnN0CiAgICAgcmV0dXJuIHsgbV9yZWdpc3RyYXRpb25LZXksIGlkZW50aWZpZXIo
KSwgbV9zY29wZVVSTCwgbV9zY3JpcHRVUkwsIG1fdXBkYXRlVmlhQ2FjaGUsIGluc3RhbGxpbmdJ
RCwgd2FpdGluZ0lELCBhY3RpdmVJRCB9OwogfQogCi12b2lkIFNXU2VydmVyUmVnaXN0cmF0aW9u
OjphZGRDbGllbnRTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uKHVpbnQ2NF90IGNvbm5lY3Rpb25J
ZGVudGlmaWVyLCB1aW50NjRfdCBjbGllbnRSZWdpc3RyYXRpb25JZGVudGlmaWVyKQordm9pZCBT
V1NlcnZlclJlZ2lzdHJhdGlvbjo6YWRkQ2xpZW50U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbih1
aW50NjRfdCBjb25uZWN0aW9uSWRlbnRpZmllcikKIHsKLSAgICBhdXRvIHJlc3VsdCA9IG1fY2xp
ZW50UmVnaXN0cmF0aW9uc0J5Q29ubmVjdGlvbi5lbnN1cmUoY29ubmVjdGlvbklkZW50aWZpZXIs
IFtdIHsKLSAgICAgICAgcmV0dXJuIHN0ZDo6bWFrZV91bmlxdWU8SGFzaFNldDx1aW50NjRfdD4+
KCk7Ci0gICAgfSk7Ci0gICAgCi0gICAgQVNTRVJUKCFyZXN1bHQuaXRlcmF0b3ItPnZhbHVlLT5j
b250YWlucyhjbGllbnRSZWdpc3RyYXRpb25JZGVudGlmaWVyKSk7Ci0gICAgcmVzdWx0Lml0ZXJh
dG9yLT52YWx1ZS0+YWRkKGNsaWVudFJlZ2lzdHJhdGlvbklkZW50aWZpZXIpOworICAgIG1fY29u
bmVjdGlvbnNXaXRoQ2xpZW50UmVnaXN0cmF0aW9ucy5hZGQoY29ubmVjdGlvbklkZW50aWZpZXIp
OwogfQogCi12b2lkIFNXU2VydmVyUmVnaXN0cmF0aW9uOjpyZW1vdmVDbGllbnRTZXJ2aWNlV29y
a2VyUmVnaXN0cmF0aW9uKHVpbnQ2NF90IGNvbm5lY3Rpb25JZGVudGlmaWVyLCB1aW50NjRfdCBj
bGllbnRSZWdpc3RyYXRpb25JZGVudGlmaWVyKQordm9pZCBTV1NlcnZlclJlZ2lzdHJhdGlvbjo6
cmVtb3ZlQ2xpZW50U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbih1aW50NjRfdCBjb25uZWN0aW9u
SWRlbnRpZmllcikKIHsKLSAgICBhdXRvIGl0ZXJhdG9yID0gbV9jbGllbnRSZWdpc3RyYXRpb25z
QnlDb25uZWN0aW9uLmZpbmQoY29ubmVjdGlvbklkZW50aWZpZXIpOwotICAgIGlmIChpdGVyYXRv
ciA9PSBtX2NsaWVudFJlZ2lzdHJhdGlvbnNCeUNvbm5lY3Rpb24uZW5kKCkgfHwgIWl0ZXJhdG9y
LT52YWx1ZSkKLSAgICAgICAgcmV0dXJuOwotICAgIAotICAgIGl0ZXJhdG9yLT52YWx1ZS0+cmVt
b3ZlKGNsaWVudFJlZ2lzdHJhdGlvbklkZW50aWZpZXIpOwotICAgIGlmIChpdGVyYXRvci0+dmFs
dWUtPmlzRW1wdHkoKSkKLSAgICAgICAgbV9jbGllbnRSZWdpc3RyYXRpb25zQnlDb25uZWN0aW9u
LnJlbW92ZShpdGVyYXRvcik7CisgICAgbV9jb25uZWN0aW9uc1dpdGhDbGllbnRSZWdpc3RyYXRp
b25zLnJlbW92ZShjb25uZWN0aW9uSWRlbnRpZmllcik7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIv
U1dTZXJ2ZXJSZWdpc3RyYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9z
ZXJ2ZXIvU1dTZXJ2ZXJSZWdpc3RyYXRpb24uaAppbmRleCAzNzg2OTQ0ZmE3NDhmNDg1MjBmMGQy
YjA4NGRmNGQwOTkyMGE0YTgwLi4yOTYzODM5YWY5MjM4MThhYzliMWJjNmZiN2RhMmRiYThhNDYx
YmIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NX
U2VydmVyUmVnaXN0cmF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L3NlcnZlci9TV1NlcnZlclJlZ2lzdHJhdGlvbi5oCkBAIC0yOSw3ICsyOSw4IEBACiAKICNpbmNs
dWRlICJTV1NlcnZlci5oIgogI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRh
LmgiCi0jaW5jbHVkZSA8d3RmL0lkZW50aWZpZWQuaD4KKyNpbmNsdWRlICJTZXJ2aWNlV29ya2Vy
VHlwZXMuaCIKKyNpbmNsdWRlIDx3dGYvSGFzaENvdW50ZWRTZXQuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCkBAIC00MCwxMiArNDEsMTMgQEAgZW51bSBjbGFzcyBTZXJ2aWNlV29ya2VyU3Rh
dGU7CiBzdHJ1Y3QgRXhjZXB0aW9uRGF0YTsKIHN0cnVjdCBTZXJ2aWNlV29ya2VyRmV0Y2hSZXN1
bHQ7CiAKLWNsYXNzIFNXU2VydmVyUmVnaXN0cmF0aW9uIDogcHVibGljIFRocmVhZFNhZmVJZGVu
dGlmaWVkPFNXU2VydmVyUmVnaXN0cmF0aW9uPiB7CitjbGFzcyBTV1NlcnZlclJlZ2lzdHJhdGlv
biB7CiBwdWJsaWM6CiAgICAgU1dTZXJ2ZXJSZWdpc3RyYXRpb24oU1dTZXJ2ZXImLCBjb25zdCBT
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5JiwgU2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hl
LCBjb25zdCBVUkwmIHNjb3BlVVJMLCBjb25zdCBVUkwmIHNjcmlwdFVSTCk7CiAgICAgflNXU2Vy
dmVyUmVnaXN0cmF0aW9uKCk7CiAKICAgICBjb25zdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
S2V5JiBrZXkoKSBjb25zdCB7IHJldHVybiBtX3JlZ2lzdHJhdGlvbktleTsgfQorICAgIFNlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyIGlkZW50aWZpZXIoKSBjb25zdCB7IHJldHVy
biBtX2lkZW50aWZpZXI7IH0KIAogICAgIFNXU2VydmVyV29ya2VyKiBnZXROZXdlc3RXb3JrZXIo
KTsKICAgICBXRUJDT1JFX0VYUE9SVCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YSBkYXRh
KCkgY29uc3Q7CkBAIC02MCw4ICs2Miw4IEBAIHB1YmxpYzoKICAgICB2b2lkIHVwZGF0ZVdvcmtl
clN0YXRlKGNvbnN0IFNlcnZpY2VXb3JrZXJKb2JEYXRhJiwgU1dTZXJ2ZXJXb3JrZXImLCBTZXJ2
aWNlV29ya2VyU3RhdGUpOwogICAgIHZvaWQgZmlyZVVwZGF0ZUZvdW5kRXZlbnQoY29uc3QgU2Vy
dmljZVdvcmtlckpvYkRhdGEmKTsKIAotICAgIHZvaWQgYWRkQ2xpZW50U2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbih1aW50NjRfdCBjb25uZWN0aW9uSWRlbnRpZmllciwgdWludDY0X3QgY2xpZW50
UmVnaXN0cmF0aW9uSWRlbnRpZmllcik7Ci0gICAgdm9pZCByZW1vdmVDbGllbnRTZXJ2aWNlV29y
a2VyUmVnaXN0cmF0aW9uKHVpbnQ2NF90IGNvbm5lY3Rpb25JZGVudGlmaWVyLCB1aW50NjRfdCBj
bGllbnRSZWdpc3RyYXRpb25JZGVudGlmaWVyKTsKKyAgICB2b2lkIGFkZENsaWVudFNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb24odWludDY0X3QgY29ubmVjdGlvbklkZW50aWZpZXIpOworICAgIHZv
aWQgcmVtb3ZlQ2xpZW50U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbih1aW50NjRfdCBjb25uZWN0
aW9uSWRlbnRpZmllcik7CiAKICAgICBTV1NlcnZlcldvcmtlciogaW5zdGFsbGluZ1dvcmtlcigp
IGNvbnN0IHsgcmV0dXJuIG1faW5zdGFsbGluZ1dvcmtlci5nZXQoKTsgfQogICAgIFNXU2VydmVy
V29ya2VyKiB3YWl0aW5nV29ya2VyKCkgY29uc3QgeyByZXR1cm4gbV93YWl0aW5nV29ya2VyLmdl
dCgpOyB9CkBAIC03MCw2ICs3Miw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgdm9pZCBmb3JF
YWNoQ29ubmVjdGlvbihjb25zdCBTZXJ2aWNlV29ya2VySm9iRGF0YSYsIGNvbnN0IFdURjo6RnVu
Y3Rpb248dm9pZChTV1NlcnZlcjo6Q29ubmVjdGlvbiYpPiYpOwogCisgICAgU2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbklkZW50aWZpZXIgbV9pZGVudGlmaWVyOwogICAgIFNlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb25LZXkgbV9yZWdpc3RyYXRpb25LZXk7CiAgICAgU2VydmljZVdvcmtlclVwZGF0
ZVZpYUNhY2hlIG1fdXBkYXRlVmlhQ2FjaGU7CiAgICAgVVJMIG1fc2NvcGVVUkw7CkBAIC04Miw3
ICs4NSw3IEBAIHByaXZhdGU6CiAKICAgICBkb3VibGUgbV9sYXN0VXBkYXRlVGltZSB7IDAgfTsK
ICAgICAKLSAgICBIYXNoTWFwPHVpbnQ2NF90LCBzdGQ6OnVuaXF1ZV9wdHI8SGFzaFNldDx1aW50
NjRfdD4+PiBtX2NsaWVudFJlZ2lzdHJhdGlvbnNCeUNvbm5lY3Rpb247CisgICAgSGFzaENvdW50
ZWRTZXQ8dWludDY0X3Q+IG1fY29ubmVjdGlvbnNXaXRoQ2xpZW50UmVnaXN0cmF0aW9uczsKICAg
ICBTV1NlcnZlciYgbV9zZXJ2ZXI7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1Nj
cmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5IGIvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9t
ZXNzYWdlcy5weQppbmRleCAzOTYxZTZlMmZiNzMzMzlhNWMzY2ZmZGIxMWE1NWIwMzA5OTBlNGEx
Li44NTVmNjExMmQ4ZDZkOTVmYjk4MzkxMTU3YWM5YmIzYmMzOTA4YWNkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5CisrKyBiL1NvdXJjZS9XZWJL
aXQvU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHkKQEAgLTE4Nyw3ICsxODcsNyBAQCBkZWYgZm9y
d2FyZF9kZWNsYXJhdGlvbnNfYW5kX2hlYWRlcnMocmVjZWl2ZXIpOgogICAgICAgICBraW5kID0g
cGFyYW1ldGVyLmtpbmQKICAgICAgICAgdHlwZSA9IHBhcmFtZXRlci50eXBlCiAKLSAgICAgICAg
aWYgdHlwZS5maW5kKCc8JykgIT0gLTEgb3IgdHlwZSA9PSAiV2ViQ29yZTo6U2VydmljZVdvcmtl
cklkZW50aWZpZXIiOgorICAgICAgICBpZiB0eXBlLmZpbmQoJzwnKSAhPSAtMSBvciB0eXBlID09
ICJXZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRlbnRpZmllciIgb3IgdHlwZSA9PSAiV2ViQ29yZTo6
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIiOgogICAgICAgICAgICAgIyBEb24n
dCBmb3J3YXJkIGRlY2xhcmUgY2xhc3MgdGVtcGxhdGVzIG9yIFNlcnZpY2VXb3JrZXJJZGVudGlm
aWVyLgogICAgICAgICAgICAgaGVhZGVycy51cGRhdGUoaGVhZGVyc19mb3JfdHlwZSh0eXBlKSkK
ICAgICAgICAgICAgIGNvbnRpbnVlCkBAIC0zNzIsNiArMzcyLDcgQEAgZGVmIGhlYWRlcnNfZm9y
X3R5cGUodHlwZSk6CiAgICAgICAgICdXZWJDb3JlOjpQbHVnaW5JbmZvJzogWyc8V2ViQ29yZS9Q
bHVnaW5EYXRhLmg+J10sCiAgICAgICAgICdXZWJDb3JlOjpQb2xpY3lBY3Rpb24nOiBbJzxXZWJD
b3JlL0ZyYW1lTG9hZGVyVHlwZXMuaD4nXSwKICAgICAgICAgJ1dlYkNvcmU6OlJlY2VudFNlYXJj
aCc6IFsnPFdlYkNvcmUvU2VhcmNoUG9wdXBNZW51Lmg+J10sCisgICAgICAgICdXZWJDb3JlOjpT
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcic6IFsnPFdlYkNvcmUvU2VydmljZVdv
cmtlclR5cGVzLmg+J10sCiAgICAgICAgICdXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uU3RhdGUnOiBbJzxXZWJDb3JlL1NlcnZpY2VXb3JrZXJUeXBlcy5oPiddLAogICAgICAgICAn
V2ViQ29yZTo6U2VydmljZVdvcmtlclN0YXRlJzogWyc8V2ViQ29yZS9TZXJ2aWNlV29ya2VyVHlw
ZXMuaD4nXSwKICAgICAgICAgJ1dlYkNvcmU6OlNoaXBwaW5nQ29udGFjdFVwZGF0ZSc6IFsnPFdl
YkNvcmUvQXBwbGVQYXlTZXNzaW9uUGF5bWVudFJlcXVlc3QuaD4nXSwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5l
Y3Rpb24uY3BwIGIvU291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dl
YlNXU2VydmVyQ29ubmVjdGlvbi5jcHAKaW5kZXggZGI3YTBhZjFjZDYyZjEzMjExNGNmMDgzOGMz
YTcyM2UyNmUxYjRkZC4uMDYyNGI1Mzk4Mjk5NzE0MWVkNDhlMzE1Y2NhNzg0MGM5ZTdhNWIzNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dl
YlNXU2VydmVyQ29ubmVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vz
cy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5jcHAKQEAgLTk2LDE0ICs5Niwx
NCBAQCB2b2lkIFdlYlNXU2VydmVyQ29ubmVjdGlvbjo6c3RhcnRTY3JpcHRGZXRjaEluQ2xpZW50
KHVpbnQ2NF90IGpvYklkZW50aWZpZXIpCiAgICAgc2VuZChNZXNzYWdlczo6V2ViU1dDbGllbnRD
b25uZWN0aW9uOjpTdGFydFNjcmlwdEZldGNoRm9yU2VydmVyKGpvYklkZW50aWZpZXIpKTsKIH0K
IAotdm9pZCBXZWJTV1NlcnZlckNvbm5lY3Rpb246OnVwZGF0ZVJlZ2lzdHJhdGlvblN0YXRlSW5D
bGllbnQoY29uc3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleSYga2V5LCBTZXJ2aWNlV29y
a2VyUmVnaXN0cmF0aW9uU3RhdGUgc3RhdGUsIHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlcklk
ZW50aWZpZXI+IHNlcnZpY2VXb3JrZXJJZGVudGlmaWVyKQordm9pZCBXZWJTV1NlcnZlckNvbm5l
Y3Rpb246OnVwZGF0ZVJlZ2lzdHJhdGlvblN0YXRlSW5DbGllbnQoU2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbklkZW50aWZpZXIgaWRlbnRpZmllciwgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvblN0
YXRlIHN0YXRlLCBzdGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyPiBzZXJ2aWNl
V29ya2VySWRlbnRpZmllcikKIHsKLSAgICBzZW5kKE1lc3NhZ2VzOjpXZWJTV0NsaWVudENvbm5l
Y3Rpb246OlVwZGF0ZVJlZ2lzdHJhdGlvblN0YXRlKGtleSwgc3RhdGUsIHNlcnZpY2VXb3JrZXJJ
ZGVudGlmaWVyKSk7CisgICAgc2VuZChNZXNzYWdlczo6V2ViU1dDbGllbnRDb25uZWN0aW9uOjpV
cGRhdGVSZWdpc3RyYXRpb25TdGF0ZShpZGVudGlmaWVyLCBzdGF0ZSwgc2VydmljZVdvcmtlcklk
ZW50aWZpZXIpKTsKIH0KIAotdm9pZCBXZWJTV1NlcnZlckNvbm5lY3Rpb246OmZpcmVVcGRhdGVG
b3VuZEV2ZW50KGNvbnN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkmIGtleSkKK3ZvaWQg
V2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjpmaXJlVXBkYXRlRm91bmRFdmVudChTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uSWRlbnRpZmllciBpZGVudGlmaWVyKQogewotICAgIHNlbmQoTWVzc2FnZXM6
OldlYlNXQ2xpZW50Q29ubmVjdGlvbjo6RmlyZVVwZGF0ZUZvdW5kRXZlbnQoa2V5KSk7CisgICAg
c2VuZChNZXNzYWdlczo6V2ViU1dDbGllbnRDb25uZWN0aW9uOjpGaXJlVXBkYXRlRm91bmRFdmVu
dChpZGVudGlmaWVyKSk7CiB9CiAKIHZvaWQgV2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjp1cGRhdGVX
b3JrZXJTdGF0ZUluQ2xpZW50KFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIHdvcmtlciwgU2Vydmlj
ZVdvcmtlclN0YXRlIHN0YXRlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TdG9yYWdlUHJv
Y2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5oIGIvU291cmNlL1dlYktp
dC9TdG9yYWdlUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5oCmlu
ZGV4IDM4ZWRiNGNhYzZlZjQxZjY3NmFhYjBhZDFlYjM1ZDEzNDJhYTJmYzguLjEzNjFjMmMxNjli
NzczNGEwYTIyODQ0MjhlOTY5Mzg4ZjgzMjdkYjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
U3RvcmFnZVByb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJD
b25uZWN0aW9uLmgKQEAgLTY1LDkgKzY1LDkgQEAgcHJpdmF0ZToKICAgICB2b2lkIHJlc29sdmVS
ZWdpc3RyYXRpb25Kb2JJbkNsaWVudCh1aW50NjRfdCBqb2JJZGVudGlmaWVyLCBjb25zdCBXZWJD
b3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YSYsIFdlYkNvcmU6OlNob3VsZE5vdGlm
eVdoZW5SZXNvbHZlZCkgZmluYWw7CiAgICAgdm9pZCByZXNvbHZlVW5yZWdpc3RyYXRpb25Kb2JJ
bkNsaWVudCh1aW50NjRfdCBqb2JJZGVudGlmaWVyLCBjb25zdCBXZWJDb3JlOjpTZXJ2aWNlV29y
a2VyUmVnaXN0cmF0aW9uS2V5JiwgYm9vbCB1bnJlZ2lzdHJhdGlvblJlc3VsdCkgZmluYWw7CiAg
ICAgdm9pZCBzdGFydFNjcmlwdEZldGNoSW5DbGllbnQodWludDY0X3Qgam9iSWRlbnRpZmllcikg
ZmluYWw7Ci0gICAgdm9pZCB1cGRhdGVSZWdpc3RyYXRpb25TdGF0ZUluQ2xpZW50KGNvbnN0IFdl
YkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkmLCBXZWJDb3JlOjpTZXJ2aWNlV29y
a2VyUmVnaXN0cmF0aW9uU3RhdGUsIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6U2VydmljZVdvcmtl
cklkZW50aWZpZXI+KSBmaW5hbDsKKyAgICB2b2lkIHVwZGF0ZVJlZ2lzdHJhdGlvblN0YXRlSW5D
bGllbnQoV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIsIFdlYkNv
cmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25TdGF0ZSwgc3RkOjpvcHRpb25hbDxXZWJDb3Jl
OjpTZXJ2aWNlV29ya2VySWRlbnRpZmllcj4pIGZpbmFsOwogICAgIHZvaWQgdXBkYXRlV29ya2Vy
U3RhdGVJbkNsaWVudChXZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRlbnRpZmllciwgV2ViQ29yZTo6
U2VydmljZVdvcmtlclN0YXRlKSBmaW5hbDsKLSAgICB2b2lkIGZpcmVVcGRhdGVGb3VuZEV2ZW50
KGNvbnN0IFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkmKSBmaW5hbDsKKyAg
ICB2b2lkIGZpcmVVcGRhdGVGb3VuZEV2ZW50KFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb25JZGVudGlmaWVyKSBmaW5hbDsKIAogICAgIHZvaWQgc3RhcnRGZXRjaCh1aW50NjRfdCBm
ZXRjaElkZW50aWZpZXIsIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6U2VydmljZVdvcmtlcklkZW50
aWZpZXI+LCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBXZWJDb3JlOjpG
ZXRjaE9wdGlvbnMmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vz
cy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5tZXNzYWdlcy5pbiBiL1NvdXJj
ZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rp
b24ubWVzc2FnZXMuaW4KaW5kZXggNWY1ZDY4MTA5YWFkZTM5NzE0ZjIwMzc2ZjVjOTlhMDI2NjI5
MDk5Ni4uNDJjM2ZjNmIyYjU5MzJjMzdiODAwYjJhMjdiNzBmM2FjYmYzODU2YiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVy
Q29ubmVjdGlvbi5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNz
L1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLm1lc3NhZ2VzLmluCkBAIC0yNiw4
ICsyNiw4IEBAIG1lc3NhZ2VzIC0+IFdlYlNXU2VydmVyQ29ubmVjdGlvbiB7CiAgICAgIyBXaGVu
IHBvc3NpYmxlLCB0aGVzZSBtZXNzYWdlcyBjYW4gYmUgaW1wbGVtZW50ZWQgZGlyZWN0bHkgYnkg
V2ViQ29yZTo6U1dDbGllbnRDb25uZWN0aW9uCiAgICAgU2NoZWR1bGVKb2JJblNlcnZlcihzdHJ1
Y3QgV2ViQ29yZTo6U2VydmljZVdvcmtlckpvYkRhdGEgam9iRGF0YSkKICAgICBGaW5pc2hGZXRj
aGluZ1NjcmlwdEluU2VydmVyKHN0cnVjdCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyRmV0Y2hSZXN1
bHQgcmVzdWx0KQotICAgIEFkZFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JblNlcnZlcihXZWJD
b3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5IGtleSwgdWludDY0X3QgcmVnaXN0cmF0
aW9uSWRlbnRpZmllcikKLSAgICBSZW1vdmVTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSW5TZXJ2
ZXIoV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleSBrZXksIHVpbnQ2NF90IHJl
Z2lzdHJhdGlvbklkZW50aWZpZXIpCisgICAgQWRkU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklu
U2VydmVyKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkga2V5LCBXZWJDb3Jl
OjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciBpZGVudGlmaWVyKQorICAgIFJl
bW92ZVNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JblNlcnZlcihXZWJDb3JlOjpTZXJ2aWNlV29y
a2VyUmVnaXN0cmF0aW9uS2V5IGtleSwgV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlv
bklkZW50aWZpZXIgaWRlbnRpZmllcikKIAogICAgIFN0YXJ0RmV0Y2godWludDY0X3QgaWRlbnRp
Zmllciwgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRlbnRpZmllcj4gc2Vy
dmljZVdvcmtlcklkZW50aWZpZXIsIFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCByZXF1ZXN0LCBz
dHJ1Y3QgV2ViQ29yZTo6RmV0Y2hPcHRpb25zIG9wdGlvbnMpCiAgICAgUG9zdE1lc3NhZ2VUb1Nl
cnZpY2VXb3JrZXJHbG9iYWxTY29wZShXZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRlbnRpZmllciBk
ZXN0aW5hdGlvblNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCBJUEM6OkRhdGFSZWZlcmVuY2UgbWVz
c2FnZSwgdWludDY0X3Qgc291cmNlU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIsIFN0
cmluZyBzb3VyY2VPcmlnaW4pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
U3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24uY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmNwcAppbmRleCBlYzk1MTc1YTk4MzJj
MmJiNjBlOTI0NDIyODQ0NzAzMGVmM2VkZjk4Li5iNGM2ZGFjZmE1ZjFjYjQ1YmQ0MTM5MDZiZTNi
OTM4N2FkZjA0OGM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFn
ZS9XZWJTV0NsaWVudENvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5jcHAKQEAgLTcwLDE0ICs3MCwxNCBAQCB2
b2lkIFdlYlNXQ2xpZW50Q29ubmVjdGlvbjo6ZmluaXNoRmV0Y2hpbmdTY3JpcHRJblNlcnZlcihj
b25zdCBTZXJ2aWNlV29ya2VyRmV0YwogICAgIHNlbmQoTWVzc2FnZXM6OldlYlNXU2VydmVyQ29u
bmVjdGlvbjo6RmluaXNoRmV0Y2hpbmdTY3JpcHRJblNlcnZlcihyZXN1bHQpKTsKIH0KIAotdm9p
ZCBXZWJTV0NsaWVudENvbm5lY3Rpb246OmFkZFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JblNl
cnZlcihjb25zdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5JiBrZXksIHVpbnQ2NF90IHJl
Z2lzdHJhdGlvbklkZW50aWZpZXIpCit2b2lkIFdlYlNXQ2xpZW50Q29ubmVjdGlvbjo6YWRkU2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbkluU2VydmVyKGNvbnN0IFNlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb25LZXkmIGtleSwgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIgaWRlbnRp
ZmllcikKIHsKLSAgICBzZW5kKE1lc3NhZ2VzOjpXZWJTV1NlcnZlckNvbm5lY3Rpb246OkFkZFNl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JblNlcnZlcihrZXksIHJlZ2lzdHJhdGlvbklkZW50aWZp
ZXIpKTsKKyAgICBzZW5kKE1lc3NhZ2VzOjpXZWJTV1NlcnZlckNvbm5lY3Rpb246OkFkZFNlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb25JblNlcnZlcihrZXksIGlkZW50aWZpZXIpKTsKIH0KIAotdm9p
ZCBXZWJTV0NsaWVudENvbm5lY3Rpb246OnJlbW92ZVNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25J
blNlcnZlcihjb25zdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5JiBrZXksIHVpbnQ2NF90
IHJlZ2lzdHJhdGlvbklkZW50aWZpZXIpCit2b2lkIFdlYlNXQ2xpZW50Q29ubmVjdGlvbjo6cmVt
b3ZlU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkluU2VydmVyKGNvbnN0IFNlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb25LZXkmIGtleSwgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIg
aWRlbnRpZmllcikKIHsKLSAgICBzZW5kKE1lc3NhZ2VzOjpXZWJTV1NlcnZlckNvbm5lY3Rpb246
OlJlbW92ZVNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JblNlcnZlcihrZXksIHJlZ2lzdHJhdGlv
bklkZW50aWZpZXIpKTsKKyAgICBzZW5kKE1lc3NhZ2VzOjpXZWJTV1NlcnZlckNvbm5lY3Rpb246
OlJlbW92ZVNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JblNlcnZlcihrZXksIGlkZW50aWZpZXIp
KTsKIH0KIAogdm9pZCBXZWJTV0NsaWVudENvbm5lY3Rpb246OnBvc3RNZXNzYWdlVG9TZXJ2aWNl
V29ya2VyR2xvYmFsU2NvcGUoU2VydmljZVdvcmtlcklkZW50aWZpZXIgZGVzdGluYXRpb25JZGVu
dGlmaWVyLCBSZWY8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiYmIHNjcmlwdFZhbHVlLCBTY3JpcHRF
eGVjdXRpb25Db250ZXh0JiBzb3VyY2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5oCmluZGV4IDQ1YmYyZTlkYzdi
OGEwZGIzOTU2YTM3NDljNmZjMGFmZDYwNzcxM2YuLmFkNjQyYzkwMmYwMWJmN2Q2OThjNjhlYzgy
NDE5ZWJjYWFhNDhiNTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9y
YWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5oCkBAIC01NCw4ICs1NCw4IEBAIHB1Ymxp
YzoKIAogICAgIHVpbnQ2NF90IGlkZW50aWZpZXIoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2lk
ZW50aWZpZXI7IH0KIAotICAgIHZvaWQgYWRkU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkluU2Vy
dmVyKGNvbnN0IFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkmLCB1aW50NjRf
dCByZWdpc3RyYXRpb25JZGVudGlmaWVyKSBmaW5hbDsKLSAgICB2b2lkIHJlbW92ZVNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb25JblNlcnZlcihjb25zdCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uS2V5JiwgdWludDY0X3QgcmVnaXN0cmF0aW9uSWRlbnRpZmllcikgZmluYWw7Cisg
ICAgdm9pZCBhZGRTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSW5TZXJ2ZXIoY29uc3QgV2ViQ29y
ZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleSYsIFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb25JZGVudGlmaWVyKSBmaW5hbDsKKyAgICB2b2lkIHJlbW92ZVNlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb25JblNlcnZlcihjb25zdCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uS2V5JiwgV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIp
IGZpbmFsOwogCiAgICAgdm9pZCBkaXNjb25uZWN0ZWRGcm9tV2ViUHJvY2VzcygpOwogICAgIHZv
aWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJikgZmlu
YWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0Ns
aWVudENvbm5lY3Rpb24ubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3Rv
cmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24ubWVzc2FnZXMuaW4KaW5kZXggNmEzNDdjNDQ1OWFi
NmEwZjU5YjMzYTg3NWU2OTA0YWMwYTE1M2ZlZi4uNTMzZGNlNjFkYzE1NjgxZWExYTg0ZDc3Y2M5
OTA2NTQ3YjFmM2FiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3Jh
Z2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5tZXNzYWdlcy5pbgpAQCAt
MjgsOSArMjgsOSBAQCBtZXNzYWdlcyAtPiBXZWJTV0NsaWVudENvbm5lY3Rpb24gewogICAgIFJl
Z2lzdHJhdGlvbkpvYlJlc29sdmVkSW5TZXJ2ZXIodWludDY0X3QgaWRlbnRpZmllciwgc3RydWN0
IFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhIHJlZ2lzdHJhdGlvbiwgZW51
bSBXZWJDb3JlOjpTaG91bGROb3RpZnlXaGVuUmVzb2x2ZWQgc2hvdWxkTm90aWZ5V2hlblJlc29s
dmVkKQogICAgIFVucmVnaXN0cmF0aW9uSm9iUmVzb2x2ZWRJblNlcnZlcih1aW50NjRfdCBpZGVu
dGlmaWVyLCBib29sIHVucmVnaXN0cmF0aW9uUmVzdWx0KQogICAgIFN0YXJ0U2NyaXB0RmV0Y2hG
b3JTZXJ2ZXIodWludDY0X3Qgam9iSWRlbnRpZmllcikKLSAgICBVcGRhdGVSZWdpc3RyYXRpb25T
dGF0ZShXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5IGtleSwgZW51bSBXZWJD
b3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uU3RhdGUgc3RhdGUsIHN0ZDo6b3B0aW9uYWw8
V2ViQ29yZTo6U2VydmljZVdvcmtlcklkZW50aWZpZXI+IHNlcnZpY2VXb3JrZXJJZGVudGlmaWVy
KQorICAgIFVwZGF0ZVJlZ2lzdHJhdGlvblN0YXRlKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdp
c3RyYXRpb25JZGVudGlmaWVyIGlkZW50aWZpZXIsIGVudW0gV2ViQ29yZTo6U2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvblN0YXRlIHN0YXRlLCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlNlcnZpY2VX
b3JrZXJJZGVudGlmaWVyPiBzZXJ2aWNlV29ya2VySWRlbnRpZmllcikKICAgICBVcGRhdGVXb3Jr
ZXJTdGF0ZShXZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRlbnRpZmllciBzZXJ2aWNlV29ya2VySWRl
bnRpZmllciwgZW51bSBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyU3RhdGUgc3RhdGUpCi0gICAgRmly
ZVVwZGF0ZUZvdW5kRXZlbnQoV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleSBr
ZXkpCisgICAgRmlyZVVwZGF0ZUZvdW5kRXZlbnQoV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbklkZW50aWZpZXIgaWRlbnRpZmllcikKIAogICAgIFNldFNXT3JpZ2luVGFibGVTaGFy
ZWRNZW1vcnkoV2ViS2l0OjpTaGFyZWRNZW1vcnk6OkhhbmRsZSBoYW5kbGUpCiAgICAgUG9zdE1l
c3NhZ2VUb1NlcnZpY2VXb3JrZXJDbGllbnQodWludDY0X3QgZGVzdGluYXRpb25TY3JpcHRFeGVj
dXRpb25Db250ZXh0SWRlbnRpZmllciwgSVBDOjpEYXRhUmVmZXJlbmNlIG1lc3NhZ2UsIFdlYkNv
cmU6OlNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIHNvdXJjZVNlcnZpY2VXb3JrZXJJZGVudGlmaWVy
LCBTdHJpbmcgc291cmNlT3JpZ2luKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGVkMjQzYTI4ZjY1NmJhMzg0NmVhZWExNGY2
OWZhMTMzMDJhOTliMGUuLjVmYWMwNDJlZDdjMWFlNTRmOGRjMmVhMDYxMGQzMDFjYWU0N2Q1MjIg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxNy0xMS0wOSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpA
YXBwbGUuY29tPgorCisgICAgICAgIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24gb2JqZWN0cyBt
YXkgZ2V0IHJlY3ljbGVkIGZvciBkaWZmZXJlbnQgU1dTZXJ2ZXJSZWdpc3RyYXRpb24gb2JqZWN0
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc5NTE3
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGxh
eW91dCB0ZXN0IGNvdmVyYWdlLgorCisgICAgICAgICogaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZp
Y2UvYmFzaWMtdW5yZWdpc3Rlci10aGVuLXJlZ2lzdGVyLWFnYWluLW5vLXJldXNlLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvYmFzaWMt
dW5yZWdpc3Rlci10aGVuLXJlZ2lzdGVyLWFnYWluLW5vLXJldXNlLmh0bWw6IEFkZGVkLgorCiAy
MDE3LTExLTA5ICBEb3VnIFJ1c3NlbGwgIDxkX3J1c3NlbGxAYXBwbGUuY29tPgogCiAgICAgICAg
IEJ1ZyAxNzkwNjggLSBBWDogc2VhcmNoIHByZWRpY2F0ZSByZXR1cm5zIGNvbnRhaW5pbmcgZ3Jv
dXAgZm9yIHBsYWluIHRleHQgaW5zdGVhZCBvZiB0ZXh0IGVsZW1lbnQKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2MvQ2hhbmdlTG9nCmluZGV4IGYyMDEwODUxNGI0ODYyYzVkZDY5ZWQ5YWRiMjBiZmUwOWI5NDE4
MWYuLjg3ZDIxM2FiOGY0YjljNTcyNGM2Zjg4ZjUyYzQ4M2QxMTA2NDRiYzcgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI0IEBACiAyMDE3LTExLTA5ICBDaHJpcyBE
dW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKKyAgICAgICAgU2VydmljZVdvcmtlclJlZ2lzdHJh
dGlvbiBvYmplY3RzIG1heSBnZXQgcmVjeWNsZWQgZm9yIGRpZmZlcmVudCBTV1NlcnZlclJlZ2lz
dHJhdGlvbiBvYmplY3RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNzk1MTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvcmVhZHkuaHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICBUaGUgdGVzdCBmYWlscyBkaWZm
ZXJlbnRseS4gVGhlIGZhaWx1cmUgaXMgZXhwZWN0ZWQgaGVyZSBzaW5jZSB3ZSBkbyBub3QgaW1w
bGVtZW50IHRoZQorICAgICAgICAiVHJ5IENsZWFyIFJlZ2lzdHJhdGlvbiIgYWxnb3JpdGhtLiBB
cyBhIHJlc3VsdCwgd2UgZG8gbm90IHN1cHBvcnQgcmVzdXJyZWN0aW5nIGEKKyAgICAgICAgcmVn
aXN0cmF0aW9uIHdpdGggdGhlICd1bmluc3RhbGxpbmcnIGZsYWcgc2V0LiBXZSBhbHdheXMgY2xl
YXIgdW5pbnN0YWxsaW5nIHJlZ2lzdHJhdGlvbnMKKyAgICAgICAgb24gc2VydmVyIHNpZGUgZm9y
IG5vdy4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvdW5yZWdpc3Rlci10aGVuLXJlZ2lzdGVyLmh0dHBzLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgU2FtZSByZWFzb24gYXMgYWJvdmUuIFRoZSBzZWNvbmQgY2hlY2tzIGNhbGxzIHVu
cmVnaXN0ZXIoKSBmb3IgYSByZWdpc3RyYXRpb24gdGhhdCBpcyAiaW4gdXNlIgorICAgICAgICBh
cyBleHBlY3RzIGl0IHRvIGdldCByZXN1cnJlY3RlZCB3aGVuIGNhbGxpbmcgcmVnaXN0ZXIoKSBh
Z2Fpbi4gV2UgY3VycmVudGx5IGFsd2F5cyBjbGVhcgorICAgICAgICByZWdpc3RyYXRpb25zIHRo
YXQgYXJlIHVucmVnaXN0ZXJlZCBvbiBzZXJ2ZXIgc2lkZS4KKworCisyMDE3LTExLTA5ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKICAgICAgICAgSW1wbGVtZW50IHJlYWwgcG9z
dCAnaW5zdGFsbCcgZXZlbnQgc3RlcHMgb2YgdGhlIEluc3RhbGwgYWxnb3JpdGhtIChzdGVwcyAx
NCspCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzk0
MDEKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2Uv
YmFzaWMtdW5yZWdpc3Rlci10aGVuLXJlZ2lzdGVyLWFnYWluLW5vLXJldXNlLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL2Jhc2ljLXVucmVnaXN0
ZXItdGhlbi1yZWdpc3Rlci1hZ2Fpbi1uby1yZXVzZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NzE2NzgwZWNkYmJjOTcyODUzYmViYWViYjdmMDRiYWY3MmFjMmU0MAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL2Jhc2ljLXVucmVnaXN0
ZXItdGhlbi1yZWdpc3Rlci1hZ2Fpbi1uby1yZXVzZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3
IEBACitQQVNTOiByZWdpc3RyYXRpb24xIHNob3VsZCBub3QgaGF2ZSBhbiBpbnN0YWxsaW5nIHdv
cmtlcgorUEFTUzogcmVnaXN0cmF0aW9uMSBzaG91bGQgbm90IGhhdmUgYSB3YWl0aW5nIHdvcmtl
cgorUEFTUzogcmVnaXN0cmF0aW9uMSBzaG91bGQgaGF2ZSBhbiBhY3RpdmUgd29ya2VyCitQQVNT
OiByZWdpc3RyYXRpb24yIHNob3VsZCBoYXZlIGFuIGluc3RhbGxpbmcgd29ya2VyCitQQVNTOiBy
ZWdpc3RyYXRpb24yIHNob3VsZCBub3QgaGF2ZSBhIHdhaXRpbmcgd29ya2VyCitQQVNTOiByZWdp
c3RyYXRpb24yIHNob3VsZCBub3QgaGF2ZSBhbiBhY3RpdmUgd29ya2VyCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL2Jhc2ljLXVucmVnaXN0ZXIt
dGhlbi1yZWdpc3Rlci1hZ2Fpbi1uby1yZXVzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93b3JrZXJzL3NlcnZpY2UvYmFzaWMtdW5yZWdpc3Rlci10aGVuLXJlZ2lzdGVyLWFnYWluLW5v
LXJldXNlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmVmOGU1MThiMzdiOTYyZDUyNjBmMGY3YTU2MmY0NmQx
NGQ1NDk0MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vy
cy9zZXJ2aWNlL2Jhc2ljLXVucmVnaXN0ZXItdGhlbi1yZWdpc3Rlci1hZ2Fpbi1uby1yZXVzZS5o
dG1sCkBAIC0wLDAgKzEsNTYgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0icmVzb3Vy
Y2VzL3N3LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4K
KworYXN5bmMgZnVuY3Rpb24gdGVzdCgpCit7CisgICAgdHJ5IHsKKyAgICAgICAgIGxldCByZWdp
c3RyYXRpb24xID0gYXdhaXQgbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIucmVnaXN0ZXIoInJlc291
cmNlcy9lbXB0eS5qcyIsIHsgfSk7CisgICAgICAgICBhd2FpdCB3YWl0Rm9yU3RhdGUocmVnaXN0
cmF0aW9uMS5pbnN0YWxsaW5nLCAiYWN0aXZhdGVkIik7CisgICAgICAgICBpZiAocmVnaXN0cmF0
aW9uMS5pbnN0YWxsaW5nKQorICAgICAgICAgICAgIGxvZygiRkFJTDogcmVnaXN0cmF0aW9uMSBz
aG91bGQgbm90IGhhdmUgYW4gaW5zdGFsbGluZyB3b3JrZXIiKTsKKyAgICAgICAgIGVsc2UKKyAg
ICAgICAgICAgICBsb2coIlBBU1M6IHJlZ2lzdHJhdGlvbjEgc2hvdWxkIG5vdCBoYXZlIGFuIGlu
c3RhbGxpbmcgd29ya2VyIik7CisKKyAgICAgICAgIGlmIChyZWdpc3RyYXRpb24xLndhaXRpbmcp
CisgICAgICAgICAgICAgbG9nKCJGQUlMOiByZWdpc3RyYXRpb24xIHNob3VsZCBub3QgaGF2ZSBh
IHdhaXRpbmcgd29ya2VyIik7CisgICAgICAgICBlbHNlCisgICAgICAgICAgICAgbG9nKCJQQVNT
OiByZWdpc3RyYXRpb24xIHNob3VsZCBub3QgaGF2ZSBhIHdhaXRpbmcgd29ya2VyIik7CisKKyAg
ICAgICAgIGlmIChyZWdpc3RyYXRpb24xLmFjdGl2ZSkKKyAgICAgICAgICAgICBsb2coIlBBU1M6
IHJlZ2lzdHJhdGlvbjEgc2hvdWxkIGhhdmUgYW4gYWN0aXZlIHdvcmtlciIpOworICAgICAgICAg
ZWxzZQorICAgICAgICAgICAgIGxvZygiRkFJTDogcmVnaXN0cmF0aW9uMSBzaG91bGQgaGF2ZSBh
biBhY3RpdmUgd29ya2VyIik7CisKKyAgICAgICAgIGF3YWl0IHJlZ2lzdHJhdGlvbjEudW5yZWdp
c3RlcigpOworCisgICAgICAgICBsZXQgcmVnaXN0cmF0aW9uMiA9IGF3YWl0IG5hdmlnYXRvci5z
ZXJ2aWNlV29ya2VyLnJlZ2lzdGVyKCJyZXNvdXJjZXMvZW1wdHkuanMiLCB7IH0pOworICAgICAg
ICAgaWYgKHJlZ2lzdHJhdGlvbjIuaW5zdGFsbGluZykKKyAgICAgICAgICAgICBsb2coIlBBU1M6
IHJlZ2lzdHJhdGlvbjIgc2hvdWxkIGhhdmUgYW4gaW5zdGFsbGluZyB3b3JrZXIiKTsKKyAgICAg
ICAgIGVsc2UKKyAgICAgICAgICAgICBsb2coIkZBSUw6IHJlZ2lzdHJhdGlvbjIgc2hvdWxkIGhh
dmUgYW4gaW5zdGFsbGluZyB3b3JrZXIiKTsKKworICAgICAgICAgaWYgKHJlZ2lzdHJhdGlvbjIu
d2FpdGluZykKKyAgICAgICAgICAgICBsb2coIkZBSUw6IHJlZ2lzdHJhdGlvbjIgc2hvdWxkIG5v
dCBoYXZlIGEgd2FpdGluZyB3b3JrZXIiKTsKKyAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICBs
b2coIlBBU1M6IHJlZ2lzdHJhdGlvbjIgc2hvdWxkIG5vdCBoYXZlIGEgd2FpdGluZyB3b3JrZXIi
KTsKKworICAgICAgICAgaWYgKHJlZ2lzdHJhdGlvbjIuYWN0aXZlKQorICAgICAgICAgICAgIGxv
ZygiRkFJTDogcmVnaXN0cmF0aW9uMiBzaG91bGQgbm90IGhhdmUgYW4gYWN0aXZlIHdvcmtlciIp
OworICAgICAgICAgZWxzZQorICAgICAgICAgICAgIGxvZygiUEFTUzogcmVnaXN0cmF0aW9uMiBz
aG91bGQgbm90IGhhdmUgYW4gYWN0aXZlIHdvcmtlciIpOworCisgICAgfSBjYXRjaCAoZSkgewor
ICAgICAgICBsb2coIkZBSUw6IEdvdCBleGNlcHRpb24gIiArIGUpOworICAgIH0KKworICAgIGZp
bmlzaFNXVGVzdCgpOworfQorCit0ZXN0KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3JlYWR5Lmh0dHBzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL3JlYWR5Lmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCAwNDg5NDE3
ZGY3MjI4OTYxZmJkNDIyZGUwNGNmMGYyNjczNTNiNTJkLi5hNTUxNzBlZTg1MzU1MDM3YjJhYTUx
MDVhZGI3NDAxYTc2OThmODZkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZWFkeS5o
dHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVhZHkuaHR0cHMtZXhw
ZWN0ZWQudHh0CkBAIC0xMCw1ICsxMCw1IEBAIEZBSUwgcmVhZHkgb24gYW4gaWZyYW1lIHdob3Nl
IHBhcmVudCByZWdpc3RlcnMgYSBuZXcgc2VydmljZSB3b3JrZXIgcHJvbWlzZV90ZXN0CiBGQUlM
IHJlYWR5IG9uIGFuIGlmcmFtZSB0aGF0IGluc3RhbGxzIGEgbmV3IHNlcnZpY2Ugd29ya2VyIHBy
b21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlVua25v
d25FcnJvcjogc2VydmljZVdvcmtlci5yZWFkeSgpIGlzIG5vdCB5ZXQgaW1wbGVtZW50ZWQiCiBG
QUlMIHJlYWR5IGFmdGVyIGEgbG9uZ2VyIG1hdGNoZWQgcmVnaXN0cmF0aW9uIHJlZ2lzdGVyZWQg
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVW5r
bm93bkVycm9yOiBzZXJ2aWNlV29ya2VyLnJlYWR5KCkgaXMgbm90IHlldCBpbXBsZW1lbnRlZCIK
IEZBSUwgYWNjZXNzIHJlYWR5IGFmdGVyIGl0IGhhcyBiZWVuIHJlc29sdmVkIHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlVua25vd25FcnJvcjog
c2VydmljZVdvcmtlci5yZWFkeSgpIGlzIG5vdCB5ZXQgaW1wbGVtZW50ZWQiCi1GQUlMIGFjY2Vz
cyByZWFkeSBvbiB1bmluc3RhbGxpbmcgcmVnaXN0cmF0aW9uIHRoYXQgaXMgcmVzdXJyZWN0ZWQg
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVW5r
bm93bkVycm9yOiBzZXJ2aWNlV29ya2VyLnJlYWR5KCkgaXMgbm90IHlldCBpbXBsZW1lbnRlZCIK
K0ZBSUwgYWNjZXNzIHJlYWR5IG9uIHVuaW5zdGFsbGluZyByZWdpc3RyYXRpb24gdGhhdCBpcyBy
ZXN1cnJlY3RlZCBhc3NlcnRfZXF1YWxzOiBleGlzdGluZyByZWdpc3RyYXRpb24gc2hvdWxkIGJl
IHJlc3VycmVjdGVkIGV4cGVjdGVkIG9iamVjdCAiW29iamVjdCBTZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uXSIgYnV0IGdvdCBvYmplY3QgIltvYmplY3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlv
bl0iCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3VucmVnaXN0ZXItdGhlbi1yZWdp
c3Rlci5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci91bnJlZ2lzdGVyLXRo
ZW4tcmVnaXN0ZXIuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IGJkYjE5YWUxMTFkNGFkYzMzZWUy
YTcyMDNhZDk2YjU5MzZlMjEyNjAuLjgwYzM1MjU5NzA2MGNlZGFhYjAxMWUwODRmOTc2YzA4Zjk4
MTE3ZWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3VucmVnaXN0ZXItdGhlbi1yZWdp
c3Rlci5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvdW5yZWdpc3Rl
ci10aGVuLXJlZ2lzdGVyLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSw3ICsxLDcgQEAKIAogCi1G
QUlMIFVucmVnaXN0ZXIgdGhlbiByZWdpc3RlciByZXNvbHZlcyB0byBhIG5ldyB2YWx1ZSBhc3Nl
cnRfdW5yZWFjaGVkOiB1bmV4cGVjdGVkIHJlamVjdGlvbjogYXNzZXJ0X25vdF9lcXVhbHM6IHJl
Z2lzdGVyIHNob3VsZCByZXNvbHZlIHRvIGEgbmV3IHZhbHVlIGdvdCBkaXNhbGxvd2VkIHZhbHVl
IG9iamVjdCAiW29iamVjdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uXSIgUmVhY2hlZCB1bnJl
YWNoYWJsZSBjb2RlCi1QQVNTIFVucmVnaXN0ZXIgdGhlbiByZWdpc3RlciByZXNvbHZlcyB0byB0
aGUgb3JpZ2luYWwgdmFsdWUgaWYgdGhlIHJlZ2lzdHJhdGlvbiBpcyBpbiB1c2UuIAorUEFTUyBV
bnJlZ2lzdGVyIHRoZW4gcmVnaXN0ZXIgcmVzb2x2ZXMgdG8gYSBuZXcgdmFsdWUgCitGQUlMIFVu
cmVnaXN0ZXIgdGhlbiByZWdpc3RlciByZXNvbHZlcyB0byB0aGUgb3JpZ2luYWwgdmFsdWUgaWYg
dGhlIHJlZ2lzdHJhdGlvbiBpcyBpbiB1c2UuIGFzc2VydF91bnJlYWNoZWQ6IHVuZXhwZWN0ZWQg
cmVqZWN0aW9uOiBhc3NlcnRfZXF1YWxzOiBuZXcgcmVnaXN0cmF0aW9uIHNob3VsZCByZXNvbHZl
IHRvIHRoZSBzYW1lIHJlZ2lzdHJhdGlvbiBleHBlY3RlZCBvYmplY3QgIltvYmplY3QgU2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbl0iIGJ1dCBnb3Qgb2JqZWN0ICJbb2JqZWN0IFNlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb25dIiBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKIFBBU1MgUmVsb2FkaW5n
IHRoZSBsYXN0IGNvbnRyb2xsZWQgaWZyYW1lIGFmdGVyIHVucmVnaXN0cmF0aW9uIHNob3VsZCBl
bnN1cmUgdGhlIGRlbGV0aW9uIG9mIHRoZSByZWdpc3RyYXRpb24gCiBGQUlMIFVucmVnaXN0ZXIg
dGhlbiByZWdpc3RlciBkb2VzIG5vdCBhZmZlY3QgZXhpc3RpbmcgY29udHJvbGxlZSBhc3NlcnRf
dW5yZWFjaGVkOiB1bmV4cGVjdGVkIHJlamVjdGlvbjogYXNzZXJ0X2VxdWFsczogaW5zdGFsbGlu
ZyB2ZXJzaW9uIGlzIG51bGwgZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9iamVjdCAiW29iamVjdCBT
ZXJ2aWNlV29ya2VyXSIgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCiBGQUlMIFVucmVnaXN0ZXIg
dGhlbiByZWdpc3RlciByZXN1cnJlY3RzIHRoZSByZWdpc3RyYXRpb24gYXNzZXJ0X3VucmVhY2hl
ZDogdW5leHBlY3RlZCByZWplY3Rpb246IGFzc2VydF9ub3RfZXF1YWxzOiBkb2N1bWVudCBzaG91
bGQgaGF2ZSBhIGNvbnRyb2xsZXIgZ290IGRpc2FsbG93ZWQgdmFsdWUgbnVsbCBSZWFjaGVkIHVu
cmVhY2hhYmxlIGNvZGUK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>326555</attachid>
            <date>2017-11-09 22:24:36 -0800</date>
            <delta_ts>2017-11-09 22:26:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-179517-20171109222436.patch</filename>
            <type>text/plain</type>
            <size>52827</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI0NjYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWM1OWQyYzIyZGM0MWJi
OWRiNmZiMWQ2NzI1ZTBlOGFiZDBjZjM4Yi4uMzg4ZmE4Y2RhYmMwNmE3ZjU4MmZhZmUzN2MwMjhl
M2JhNmVjMTZiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU3IEBACisyMDE3LTExLTA5ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgU2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbiBvYmplY3RzIG1heSBnZXQgcmVjeWNsZWQgZm9yIGRpZmZlcmVudCBTV1NlcnZlclJl
Z2lzdHJhdGlvbiBvYmplY3RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNzk1MTcKKworICAgICAgICBSZXZpZXdlZCBieSBCcmFkeSBFaWRzb24uCisK
KyAgICAgICAgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbiBvYmplY3RzIGNvdWxkIGdldCByZWN5
Y2xlZCBmb3IgZGlmZmVyZW50IFNXU2VydmVyUmVnaXN0cmF0aW9uIG9iamVjdHMsIGxlYWRpbmcg
dG8KKyAgICAgICAgZmxha2luZXNzIGluIHRoZSB0ZXN0cy4gV2UgdXNlcyBTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uS2V5IGFzIGtleSBpbiB0aGUgbV9yZWdpc3RyYXRpb24gbWFwIG9uIFdlYlBy
b2Nlc3MKKyAgICAgICAgc2lkZS4gVGhlIGxpZmV0aW1lIG9mIHRoZSBTZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uIG9iamVjdHMgaXMgdGllZCB0byB0aGUgbGlmZXRpbWUgb2YgdGhlaXIgSlMgd3Jh
cHBlci4KKyAgICAgICAgV2hlbiBhIHRlc3QgZG9lcyBhIHJlZ2lzdHJhdGlvbiBmb3IgYSBnaXZl
biBzY29wZSwgdGhlbiB1bnJlZ2lzdGVycywgdGhlbiByZWdpc3RlcnMgYWdhaW4gZm9yIHRoZSBz
YW1lIHNjb3BlLAorICAgICAgICB3ZSB3b3VsZCBlbmQgdXAgY3JlYXRpbmcgYSBuZXcgU1dTZXJ2
ZXJSZWdpc3RyYXRpb24gb2JqZWN0IG9uIHNlcnZlciBzaWRlLCBidXQgcG9zc2libHkgcmV1c2Ug
dGhlIHNhbWUKKyAgICAgICAgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbiBvYmplY3Qgb24gV2Vi
UHJvY2VzcyBzaWRlLCBpZiBpdHMgd3JhcHBlciBoYXMgbm90IHlldCBiZWVuIGdhcmJhZ2UgY29s
bGVjdGVkLgorICAgICAgICBUaGlzIGlzIGJlY2F1c2UgdGhlIHJlZ2lzdHJhdGlvbnMgaGF2ZSB0
aGUgc2FtZSBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5IGluIHRoaXMgY2FzZS4KKworICAg
ICAgICBUbyBhZGRyZXNzIHRoZSBpc3N1ZSwgd2Ugbm93IHVzZSB0aGUgU2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbklkZW50aWZpZXIgYXMga2V5IGluIHRoZSBtX3JlZ2lzdHJhdGlvbgorICAgICAg
ICBoYXNoIG1hcC4gQSBTV1NlcnZlclJlZ2lzdHJhdGlvbiBoYXMgYSB1bmlxdWUgU2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIgb24gc2VydmVyIHNpZGUuCisgICAgICAgIEFsbCBp
dHMgY2xpZW50cyBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uIGFsc28gdXNlIHRoZSBzYW1lIFNl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyLgorCisgICAgICAgIFRlc3Q6IGh0dHAv
dGVzdHMvd29ya2Vycy9zZXJ2aWNlL2Jhc2ljLXVucmVnaXN0ZXItdGhlbi1yZWdpc3Rlci1hZ2Fp
bi1uby1yZXVzZS5odG1sCisKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtl
ckNvbnRhaW5lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ29udGFpbmVy
OjpnZXRSZWdpc3RyYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlckNvbnRh
aW5lcjo6c2NoZWR1bGVUYXNrVG9VcGRhdGVSZWdpc3RyYXRpb25TdGF0ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjpzY2hlZHVsZVRhc2tUb0ZpcmVVcGRhdGVG
b3VuZEV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDb250YWluZXI6Ompv
YlJlc29sdmVkV2l0aFJlZ2lzdHJhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29y
a2VyQ29udGFpbmVyOjphZGRSZWdpc3RyYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6U2Vydmlj
ZVdvcmtlckNvbnRhaW5lcjo6cmVtb3ZlUmVnaXN0cmF0aW9uKToKKyAgICAgICAgKiB3b3JrZXJz
L3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5oOgorICAgICAgICAqIHdvcmtlcnMvc2Vy
dmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmg6CisgICAgICAgICogd29ya2Vycy9zZXJ2
aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhLmg6CisgICAgICAgIChXZWJDb3JlOjpT
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YTo6ZGVjb2RlKToKKyAgICAgICAgKiB3b3JrZXJz
L3NlcnZpY2Uvc2VydmVyL1NXQ2xpZW50Q29ubmVjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpTV0NsaWVudENvbm5lY3Rpb246OnVwZGF0ZVJlZ2lzdHJhdGlvblN0YXRlKToKKyAgICAgICAg
KFdlYkNvcmU6OlNXQ2xpZW50Q29ubmVjdGlvbjo6ZmlyZVVwZGF0ZUZvdW5kRXZlbnQpOgorICAg
ICAgICAqIHdvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dDbGllbnRDb25uZWN0aW9uLmg6CisgICAg
ICAgICogd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpTV1NlcnZlcjo6Q29ubmVjdGlvbjo6YWRkU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklu
U2VydmVyKToKKyAgICAgICAgKFdlYkNvcmU6OlNXU2VydmVyOjpDb25uZWN0aW9uOjpyZW1vdmVT
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSW5TZXJ2ZXIpOgorICAgICAgICAoV2ViQ29yZTo6U1dT
ZXJ2ZXI6OnJlc29sdmVSZWdpc3RyYXRpb25Kb2IpOgorICAgICAgICAoV2ViQ29yZTo6U1dTZXJ2
ZXI6OmFkZENsaWVudFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24pOgorICAgICAgICAoV2ViQ29y
ZTo6U1dTZXJ2ZXI6OnJlbW92ZUNsaWVudFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24pOgorICAg
ICAgICAqIHdvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuaDoKKyAgICAgICAgKiB3b3Jr
ZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyUmVnaXN0cmF0aW9uLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OmdlbmVyYXRlU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIpOgorICAg
ICAgICAoV2ViQ29yZTo6U1dTZXJ2ZXJSZWdpc3RyYXRpb246OlNXU2VydmVyUmVnaXN0cmF0aW9u
KToKKyAgICAgICAgKFdlYkNvcmU6OlNXU2VydmVyUmVnaXN0cmF0aW9uOjp1cGRhdGVSZWdpc3Ry
YXRpb25TdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTV1NlcnZlclJlZ2lzdHJhdGlvbjo6Zmly
ZVVwZGF0ZUZvdW5kRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6U1dTZXJ2ZXJSZWdpc3RyYXRp
b246OmZvckVhY2hDb25uZWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlNXU2VydmVyUmVnaXN0
cmF0aW9uOjphZGRDbGllbnRTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uKToKKyAgICAgICAgKFdl
YkNvcmU6OlNXU2VydmVyUmVnaXN0cmF0aW9uOjpyZW1vdmVDbGllbnRTZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uKToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyUmVn
aXN0cmF0aW9uLmg6CisgICAgICAgIChXZWJDb3JlOjpTV1NlcnZlclJlZ2lzdHJhdGlvbjo6aWRl
bnRpZmllciBjb25zdCk6CisKIDIwMTctMTEtMDkgIEpvaG4gV2lsYW5kZXIgIDx3aWxhbmRlckBh
cHBsZS5jb20+CiAKICAgICAgICAgSWdub3JlIEhTVFMgZm9yIHBhcnRpdGlvbmVkLCBjcm9zcy1v
cmlnaW4gc3VicmVzb3VyY2UgcmVxdWVzdHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggYmQ0YTQzYTczMzFhMTU1YWI5
ZjhmNmEwOTdkYTMwMWZjMDE2NzFmMC4uOGFlMGJkZjgzYWVlMGQyYTNjZTBhYzU3YzViMTMyOGI3
ZjU3Y2UzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAxNy0xMS0wOSAgQ2hyaXMgRHVt
ZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b24gb2JqZWN0cyBtYXkgZ2V0IHJlY3ljbGVkIGZvciBkaWZmZXJlbnQgU1dTZXJ2ZXJSZWdpc3Ry
YXRpb24gb2JqZWN0cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTc5NTE3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQnJhZHkgRWlkc29uLgorCisgICAg
ICAgICogU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHk6CisgICAgICAgIChmb3J3YXJkX2RlY2xh
cmF0aW9uc19hbmRfaGVhZGVycyk6CisgICAgICAgICogU3RvcmFnZVByb2Nlc3MvU2VydmljZVdv
cmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJTV1Nl
cnZlckNvbm5lY3Rpb246OnVwZGF0ZVJlZ2lzdHJhdGlvblN0YXRlSW5DbGllbnQpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJTV1NlcnZlckNvbm5lY3Rpb246OmZpcmVVcGRhdGVGb3VuZEV2ZW50KToK
KyAgICAgICAgKiBTdG9yYWdlUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVj
dGlvbi5oOgorICAgICAgICAqIFN0b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2
ZXJDb25uZWN0aW9uLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvU3RvcmFnZS9X
ZWJTV0NsaWVudENvbm5lY3Rpb24uY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJTV0NsaWVudENv
bm5lY3Rpb246OmFkZFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JblNlcnZlcik6CisgICAgICAg
IChXZWJLaXQ6OldlYlNXQ2xpZW50Q29ubmVjdGlvbjo6cmVtb3ZlU2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbkluU2VydmVyKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGll
bnRDb25uZWN0aW9uLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50
Q29ubmVjdGlvbi5tZXNzYWdlcy5pbjoKKwogMjAxNy0xMS0wOSAgSm9obiBXaWxhbmRlciAgPHdp
bGFuZGVyQGFwcGxlLmNvbT4KIAogICAgICAgICBJZ25vcmUgSFNUUyBmb3IgcGFydGl0aW9uZWQs
IGNyb3NzLW9yaWdpbiBzdWJyZXNvdXJjZSByZXF1ZXN0cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuY3BwCmluZGV4
IDA4NDQ5YjJmYmEyODdjMDJkZGIxNmM5NTYyNmU0YTFmMDNmOGE2NWEuLmZiNDZjYmQ1YWYyNTQ3
N2FiMGNhYzg3NjViMTEzYWFmNTdlMTQ1MDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5jcHAKQEAgLTIzMCw3
ICsyMzAsNyBAQCB2b2lkIFNlcnZpY2VXb3JrZXJDb250YWluZXI6OmdldFJlZ2lzdHJhdGlvbihj
b25zdCBTdHJpbmcmIGNsaWVudFVSTCwgUmVmPERlZmVycgogICAgICAgICAgICAgcmV0dXJuOwog
ICAgICAgICB9CiAKLSAgICAgICAgUmVmUHRyPFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24+IHJl
Z2lzdHJhdGlvbiA9IG1fcmVnaXN0cmF0aW9ucy5nZXQocmVzdWx0LT5rZXkpOworICAgICAgICBS
ZWZQdHI8U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbj4gcmVnaXN0cmF0aW9uID0gbV9yZWdpc3Ry
YXRpb25zLmdldChyZXN1bHQtPmlkZW50aWZpZXIpOwogICAgICAgICBpZiAoIXJlZ2lzdHJhdGlv
bikgewogICAgICAgICAgICAgYXV0byYgY29udGV4dCA9ICpzY3JpcHRFeGVjdXRpb25Db250ZXh0
KCk7CiAgICAgICAgICAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIHByb2JhYmx5IG5vdCBiZSBjb25z
dHJ1Y3RpbmcgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbiBvYmplY3RzIGhlcmUuIEluc3RlYWQs
IHdlIHNob3VsZCBtYWtlCkBAIC0yNDEsMTQgKzI0MSwxNCBAQCB2b2lkIFNlcnZpY2VXb3JrZXJD
b250YWluZXI6OmdldFJlZ2lzdHJhdGlvbihjb25zdCBTdHJpbmcmIGNsaWVudFVSTCwgUmVmPERl
ZmVycgogICAgIH0pOwogfQogCi12b2lkIFNlcnZpY2VXb3JrZXJDb250YWluZXI6OnNjaGVkdWxl
VGFza1RvVXBkYXRlUmVnaXN0cmF0aW9uU3RhdGUoY29uc3QgU2VydmljZVdvcmtlclJlZ2lzdHJh
dGlvbktleSYga2V5LCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uU3RhdGUgc3RhdGUsIGNvbnN0
IHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlcklkZW50aWZpZXI+JiBzZXJ2aWNlV29ya2VySWRl
bnRpZmllcikKK3ZvaWQgU2VydmljZVdvcmtlckNvbnRhaW5lcjo6c2NoZWR1bGVUYXNrVG9VcGRh
dGVSZWdpc3RyYXRpb25TdGF0ZShTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciBp
ZGVudGlmaWVyLCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uU3RhdGUgc3RhdGUsIGNvbnN0IHN0
ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlcklkZW50aWZpZXI+JiBzZXJ2aWNlV29ya2VySWRlbnRp
ZmllcikKIHsKICAgICBhdXRvKiBjb250ZXh0ID0gc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOwog
ICAgIGlmICghY29udGV4dCkKICAgICAgICAgcmV0dXJuOwogCi0gICAgY29udGV4dC0+cG9zdFRh
c2soW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwga2V5LCBzdGF0ZSwgc2Vy
dmljZVdvcmtlcklkZW50aWZpZXJdKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKSB7Ci0gICAgICAg
IGlmIChhdXRvKiByZWdpc3RyYXRpb24gPSBtX3JlZ2lzdHJhdGlvbnMuZ2V0KGtleSkpCisgICAg
Y29udGV4dC0+cG9zdFRhc2soW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwg
aWRlbnRpZmllciwgc3RhdGUsIHNlcnZpY2VXb3JrZXJJZGVudGlmaWVyXShTY3JpcHRFeGVjdXRp
b25Db250ZXh0JikgeworICAgICAgICBpZiAoYXV0byogcmVnaXN0cmF0aW9uID0gbV9yZWdpc3Ry
YXRpb25zLmdldChpZGVudGlmaWVyKSkKICAgICAgICAgICAgIHJlZ2lzdHJhdGlvbi0+dXBkYXRl
U3RhdGVGcm9tU2VydmVyKHN0YXRlLCBzZXJ2aWNlV29ya2VySWRlbnRpZmllcik7CiAgICAgfSk7
CiB9CkBAIC0yNzMsMTYgKzI3MywxNiBAQCB2b2lkIFNlcnZpY2VXb3JrZXJDb250YWluZXI6Ompv
YkZhaWxlZFdpdGhFeGNlcHRpb24oU2VydmljZVdvcmtlckpvYiYgam9iLCBjb25zdAogICAgIGpv
YkRpZEZpbmlzaChqb2IpOwogfQogCi12b2lkIFNlcnZpY2VXb3JrZXJDb250YWluZXI6OnNjaGVk
dWxlVGFza1RvRmlyZVVwZGF0ZUZvdW5kRXZlbnQoY29uc3QgU2VydmljZVdvcmtlclJlZ2lzdHJh
dGlvbktleSYga2V5KQordm9pZCBTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjpzY2hlZHVsZVRhc2tU
b0ZpcmVVcGRhdGVGb3VuZEV2ZW50KFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVy
IGlkZW50aWZpZXIpCiB7CiAgICAgaWYgKGlzU3RvcHBlZCgpKQogICAgICAgICByZXR1cm47CiAK
LSAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPnBvc3RUYXNrKFt0aGlzLCBwcm90ZWN0ZWRU
aGlzID0gbWFrZVJlZigqdGhpcyksIGtleV0oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpIHsKKyAg
ICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPnBvc3RUYXNrKFt0aGlzLCBwcm90ZWN0ZWRUaGlz
ID0gbWFrZVJlZigqdGhpcyksIGlkZW50aWZpZXJdKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKSB7
CiAgICAgICAgIGlmIChpc1N0b3BwZWQoKSkKICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAg
ICBpZiAoYXV0byogcmVnaXN0cmF0aW9uID0gbV9yZWdpc3RyYXRpb25zLmdldChrZXkpKQorICAg
ICAgICBpZiAoYXV0byogcmVnaXN0cmF0aW9uID0gbV9yZWdpc3RyYXRpb25zLmdldChpZGVudGlm
aWVyKSkKICAgICAgICAgICAgIHJlZ2lzdHJhdGlvbi0+ZGlzcGF0Y2hFdmVudChFdmVudDo6Y3Jl
YXRlKGV2ZW50TmFtZXMoKS51cGRhdGVmb3VuZEV2ZW50LCBmYWxzZSwgZmFsc2UpKTsKICAgICB9
KTsKIH0KQEAgLTMwMSw3ICszMDEsNyBAQCB2b2lkIFNlcnZpY2VXb3JrZXJDb250YWluZXI6Ompv
YlJlc29sdmVkV2l0aFJlZ2lzdHJhdGlvbihTZXJ2aWNlV29ya2VySm9iJiBqb2IsCiAgICAgfQog
CiAgICAgY29udGV4dC0+cG9zdFRhc2soW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0
aGlzKSwgam9iID0gbWFrZVJlZihqb2IpLCBkYXRhID0gV1RGTW92ZShkYXRhKSwgcHJvbWlzZVJl
c29sdmVkSGFuZGxlciA9IFdURk1vdmUocHJvbWlzZVJlc29sdmVkSGFuZGxlcildKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpIG11dGFibGUgewotICAgICAgICBSZWZQdHI8U2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbj4gcmVnaXN0cmF0aW9uID0gbV9yZWdpc3RyYXRpb25zLmdldChk
YXRhLmtleSk7CisgICAgICAgIFJlZlB0cjxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uPiByZWdp
c3RyYXRpb24gPSBtX3JlZ2lzdHJhdGlvbnMuZ2V0KGRhdGEuaWRlbnRpZmllcik7CiAgICAgICAg
IGlmICghcmVnaXN0cmF0aW9uKQogICAgICAgICAgICAgcmVnaXN0cmF0aW9uID0gU2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbjo6Y3JlYXRlKGNvbnRleHQsICp0aGlzLCBXVEZNb3ZlKGRhdGEpKTsK
IApAQCAtMzk1LDEzICszOTUsMTMgQEAgYm9vbCBTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjpjYW5T
dXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkgY29uc3QKIHZvaWQgU2VydmljZVdvcmtlckNv
bnRhaW5lcjo6YWRkUmVnaXN0cmF0aW9uKFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24mIHJlZ2lz
dHJhdGlvbikKIHsKICAgICBtX3N3Q29ubmVjdGlvbi0+YWRkU2VydmljZVdvcmtlclJlZ2lzdHJh
dGlvbkluU2VydmVyKHJlZ2lzdHJhdGlvbi5kYXRhKCkua2V5LCByZWdpc3RyYXRpb24uaWRlbnRp
ZmllcigpKTsKLSAgICBtX3JlZ2lzdHJhdGlvbnMuYWRkKHJlZ2lzdHJhdGlvbi5kYXRhKCkua2V5
LCAmcmVnaXN0cmF0aW9uKTsKKyAgICBtX3JlZ2lzdHJhdGlvbnMuYWRkKHJlZ2lzdHJhdGlvbi5p
ZGVudGlmaWVyKCksICZyZWdpc3RyYXRpb24pOwogfQogCiB2b2lkIFNlcnZpY2VXb3JrZXJDb250
YWluZXI6OnJlbW92ZVJlZ2lzdHJhdGlvbihTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uJiByZWdp
c3RyYXRpb24pCiB7CiAgICAgbV9zd0Nvbm5lY3Rpb24tPnJlbW92ZVNlcnZpY2VXb3JrZXJSZWdp
c3RyYXRpb25JblNlcnZlcihyZWdpc3RyYXRpb24uZGF0YSgpLmtleSwgcmVnaXN0cmF0aW9uLmlk
ZW50aWZpZXIoKSk7Ci0gICAgbV9yZWdpc3RyYXRpb25zLnJlbW92ZShyZWdpc3RyYXRpb24uZGF0
YSgpLmtleSk7CisgICAgbV9yZWdpc3RyYXRpb25zLnJlbW92ZShyZWdpc3RyYXRpb24uaWRlbnRp
ZmllcigpKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmgKaW5kZXgg
N2YyNjMzNzBmY2ZiZWU3ZGU1OTYyZWNmNjcwZWRjYjk5NjE5YzhkZC4uZjJjYWNmOWY1NzExY2E4
NGNjNzM2YjU2ZDJkMDUwZDUyMjJiZDQ1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5oCkBAIC02NSw4ICs2NSw4
IEBAIHB1YmxpYzoKICAgICB2b2lkIHVwZGF0ZVJlZ2lzdHJhdGlvbihjb25zdCBVUkwmIHNjb3Bl
VVJMLCBjb25zdCBVUkwmIHNjcmlwdFVSTCwgV29ya2VyVHlwZSwgUmVmPERlZmVycmVkUHJvbWlz
ZT4mJik7CiAKICAgICB2b2lkIGdldFJlZ2lzdHJhdGlvbihjb25zdCBTdHJpbmcmIGNsaWVudFVS
TCwgUmVmPERlZmVycmVkUHJvbWlzZT4mJik7Ci0gICAgdm9pZCBzY2hlZHVsZVRhc2tUb1VwZGF0
ZVJlZ2lzdHJhdGlvblN0YXRlKGNvbnN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkmLCBT
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uU3RhdGUsIGNvbnN0IHN0ZDo6b3B0aW9uYWw8U2Vydmlj
ZVdvcmtlcklkZW50aWZpZXI+Jik7Ci0gICAgdm9pZCBzY2hlZHVsZVRhc2tUb0ZpcmVVcGRhdGVG
b3VuZEV2ZW50KGNvbnN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkmKTsKKyAgICB2b2lk
IHNjaGVkdWxlVGFza1RvVXBkYXRlUmVnaXN0cmF0aW9uU3RhdGUoU2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbklkZW50aWZpZXIsIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25TdGF0ZSwgY29uc3Qg
c3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2VySWRlbnRpZmllcj4mKTsKKyAgICB2b2lkIHNjaGVk
dWxlVGFza1RvRmlyZVVwZGF0ZUZvdW5kRXZlbnQoU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklk
ZW50aWZpZXIpOwogCiAgICAgdXNpbmcgUmVnaXN0cmF0aW9uc1Byb21pc2UgPSBET01Qcm9taXNl
RGVmZXJyZWQ8SURMU2VxdWVuY2U8SURMSW50ZXJmYWNlPFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b24+Pj47CiAgICAgdm9pZCBnZXRSZWdpc3RyYXRpb25zKFJlZ2lzdHJhdGlvbnNQcm9taXNlJiYp
OwpAQCAtMTExLDcgKzExMSw3IEBAIHByaXZhdGU6CiAgICAgSGFzaE1hcDx1aW50NjRfdCwgUmVm
PFNlcnZpY2VXb3JrZXJKb2I+PiBtX2pvYk1hcDsKIAogICAgIGJvb2wgbV9pc1N0b3BwZWQgeyBm
YWxzZSB9OwotICAgIEhhc2hNYXA8U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleSwgU2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbio+IG1fcmVnaXN0cmF0aW9uczsKKyAgICBIYXNoTWFwPFNlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyLCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
Kj4gbV9yZWdpc3RyYXRpb25zOwogCiAjaWZuZGVmIE5ERUJVRwogICAgIFRocmVhZElkZW50aWZp
ZXIgbV9jcmVhdGlvblRocmVhZCB7IGN1cnJlbnRUaHJlYWQoKSB9OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uaCBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
LmgKaW5kZXggZTY1OGE1ZmIxMmEyODljMTM5MTkxOTdjYzdlOTZkMjJmZDU0MjEzMy4uYzhkNWU5
N2YwMjE0NGI1MGZkODNjZTQxNzc1YjIxMTBiMTU2NWJlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uaAorKysgYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5o
CkBAIC0zMiw3ICszMiw2IEBACiAjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKICNp
bmNsdWRlICJTV0NsaWVudENvbm5lY3Rpb24uaCIKICNpbmNsdWRlICJTZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uRGF0YS5oIgotI2luY2x1ZGUgPHd0Zi9JZGVudGlmaWVkLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIApAQCAtNDAsNyArMzksNyBAQCBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250
ZXh0OwogY2xhc3MgU2VydmljZVdvcmtlcjsKIGNsYXNzIFNlcnZpY2VXb3JrZXJDb250YWluZXI7
CiAKLWNsYXNzIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24gZmluYWwgOiBwdWJsaWMgUmVmQ291
bnRlZDxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uPiwgcHVibGljIEV2ZW50VGFyZ2V0V2l0aElu
bGluZURhdGEsIHB1YmxpYyBBY3RpdmVET01PYmplY3QsIHB1YmxpYyBUaHJlYWRTYWZlSWRlbnRp
ZmllZDxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uPiB7CitjbGFzcyBTZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uIGZpbmFsIDogcHVibGljIFJlZkNvdW50ZWQ8U2VydmljZVdvcmtlclJlZ2lzdHJh
dGlvbj4sIHB1YmxpYyBFdmVudFRhcmdldFdpdGhJbmxpbmVEYXRhLCBwdWJsaWMgQWN0aXZlRE9N
T2JqZWN0IHsKIHB1YmxpYzoKICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUuLi4gQXJncz4gc3RhdGlj
IFJlZjxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uPiBjcmVhdGUoQXJncyYmLi4uIGFyZ3MpCiAg
ICAgewpAQCAtNDksNiArNDgsOCBAQCBwdWJsaWM6CiAKICAgICB+U2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbigpOwogCisgICAgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIgaWRl
bnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIG1fcmVnaXN0cmF0aW9uRGF0YS5pZGVudGlmaWVyOyB9
CisKICAgICBTZXJ2aWNlV29ya2VyKiBpbnN0YWxsaW5nKCk7CiAgICAgU2VydmljZVdvcmtlciog
d2FpdGluZygpOwogICAgIFNlcnZpY2VXb3JrZXIqIGFjdGl2ZSgpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRh
LmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJh
dGlvbkRhdGEuaAppbmRleCBhY2QzMjRlMjE5NjViMTQ1Yjc5NTJiODI4NWI4NDczYjExYzdhNzA2
Li41NTZmMDU0MmNmZjJlNzJlZmE2OWI3NjZjMzIwNGEyMWRlYWI5OWVlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRh
dGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbkRhdGEuaApAQCAtMjksNiArMjksNyBAQAogCiAjaW5jbHVkZSAiU2VydmljZVdv
cmtlcklkZW50aWZpZXIuaCIKICNpbmNsdWRlICJTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5
LmgiCisjaW5jbHVkZSAiU2VydmljZVdvcmtlclR5cGVzLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIApAQCAtMzYsNyArMzcsNyBAQCBlbnVtIGNsYXNzIFNlcnZpY2VXb3JrZXJVcGRhdGVWaWFD
YWNoZTsKIAogc3RydWN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhIHsKICAgICBTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5IGtleTsKLSAgICB1aW50NjRfdCBpZGVudGlmaWVyOwor
ICAgIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyIGlkZW50aWZpZXI7CiAgICAg
VVJMIHNjb3BlVVJMOwogICAgIFVSTCBzY3JpcHRVUkw7CiAgICAgU2VydmljZVdvcmtlclVwZGF0
ZVZpYUNhY2hlIHVwZGF0ZVZpYUNhY2hlOwpAQCAtNjYsNyArNjcsNyBAQCBzdGQ6Om9wdGlvbmFs
PFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhPiBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
RGF0YTo6ZGVjbwogICAgIGlmICgha2V5KQogICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0Owog
ICAgIAotICAgIHN0ZDo6b3B0aW9uYWw8dWludDY0X3Q+IGlkZW50aWZpZXI7CisgICAgc3RkOjpv
cHRpb25hbDxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcj4gaWRlbnRpZmllcjsK
ICAgICBkZWNvZGVyID4+IGlkZW50aWZpZXI7CiAgICAgaWYgKCFpZGVudGlmaWVyKQogICAgICAg
ICByZXR1cm4gc3RkOjpudWxsb3B0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJUeXBlcy5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9z
ZXJ2aWNlL1NlcnZpY2VXb3JrZXJUeXBlcy5oCmluZGV4IGZmMzVlZWFlNzA1N2JjNWU5NDI0MjVm
Y2M2ZWJkOWVlOWU1ZmM1MGMuLmEzYzZjM2U2MTc4ZWI4NWU0ODQyZmMxYTA2ZDNkZWE0ZWUyODRh
YTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29y
a2VyVHlwZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdv
cmtlclR5cGVzLmgKQEAgLTI3LDYgKzI3LDggQEAKIAogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktF
UikKIAorI2luY2x1ZGUgPHd0Zi9PYmplY3RJZGVudGlmaWVyLmg+CisKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogZW51bSBjbGFzcyBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uU3RhdGUgewpAQCAt
NDUsNiArNDcsOSBAQCBlbnVtIGNsYXNzIFNlcnZpY2VXb3JrZXJTdGF0ZSB7CiAKIGVudW0gY2xh
c3MgU2hvdWxkTm90aWZ5V2hlblJlc29sdmVkIHsgTm8sIFllcyB9OwogCitlbnVtIFNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyVHlwZSB7IH07Cit1c2luZyBTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uSWRlbnRpZmllciA9IE9iamVjdElkZW50aWZpZXI8U2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbklkZW50aWZpZXJUeXBlPjsKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAj
ZW5kaWYgLy8gRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV0NsaWVudENvbm5lY3Rpb24uY3BwIGIvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV0NsaWVudENvbm5lY3Rpb24uY3BwCmlu
ZGV4IGZhNDhiMjVkZDc0MjBhOGI4ZGJhN2FmM2YyZDEyN2YwMzZlN2VjYTUuLjI1YWRhNzA1Yzgw
YTQ2OTIyMDg2ZGUwYzlhZmQ2OTNlYjMzMzhiOWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dDbGllbnRDb25uZWN0aW9uLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXQ2xpZW50Q29ubmVjdGlvbi5jcHAK
QEAgLTE1MiwxMCArMTUyLDEwIEBAIHZvaWQgU1dDbGllbnRDb25uZWN0aW9uOjpmb3JFYWNoQ29u
dGFpbmVyKGNvbnN0IFdURjo6RnVuY3Rpb248dm9pZChTZXJ2aWNlV29ya2VyCiAgICAgfQogfQog
Ci12b2lkIFNXQ2xpZW50Q29ubmVjdGlvbjo6dXBkYXRlUmVnaXN0cmF0aW9uU3RhdGUoY29uc3Qg
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleSYga2V5LCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uU3RhdGUgc3RhdGUsIHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlcklkZW50aWZpZXI+IHNl
cnZpY2VXb3JrZXJJZGVudGlmaWVyKQordm9pZCBTV0NsaWVudENvbm5lY3Rpb246OnVwZGF0ZVJl
Z2lzdHJhdGlvblN0YXRlKFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyIGlkZW50
aWZpZXIsIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25TdGF0ZSBzdGF0ZSwgc3RkOjpvcHRpb25h
bDxTZXJ2aWNlV29ya2VySWRlbnRpZmllcj4gc2VydmljZVdvcmtlcklkZW50aWZpZXIpCiB7CiAg
ICAgZm9yRWFjaENvbnRhaW5lcihbJl0oU2VydmljZVdvcmtlckNvbnRhaW5lciYgY29udGFpbmVy
KSB7Ci0gICAgICAgIGNvbnRhaW5lci5zY2hlZHVsZVRhc2tUb1VwZGF0ZVJlZ2lzdHJhdGlvblN0
YXRlKGtleSwgc3RhdGUsIHNlcnZpY2VXb3JrZXJJZGVudGlmaWVyKTsKKyAgICAgICAgY29udGFp
bmVyLnNjaGVkdWxlVGFza1RvVXBkYXRlUmVnaXN0cmF0aW9uU3RhdGUoaWRlbnRpZmllciwgc3Rh
dGUsIHNlcnZpY2VXb3JrZXJJZGVudGlmaWVyKTsKICAgICB9KTsKIH0KIApAQCAtMTY1LDEwICsx
NjUsMTAgQEAgdm9pZCBTV0NsaWVudENvbm5lY3Rpb246OnVwZGF0ZVdvcmtlclN0YXRlKFNlcnZp
Y2VXb3JrZXJJZGVudGlmaWVyIGlkZW50aWZpZXIsIFMKICAgICAgICAgd29ya2VyLT5zY2hlZHVs
ZVRhc2tUb1VwZGF0ZVN0YXRlKHN0YXRlKTsKIH0KIAotdm9pZCBTV0NsaWVudENvbm5lY3Rpb246
OmZpcmVVcGRhdGVGb3VuZEV2ZW50KGNvbnN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkm
IGtleSkKK3ZvaWQgU1dDbGllbnRDb25uZWN0aW9uOjpmaXJlVXBkYXRlRm91bmRFdmVudChTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciBpZGVudGlmaWVyKQogewogICAgIGZvckVh
Y2hDb250YWluZXIoWyZdKFNlcnZpY2VXb3JrZXJDb250YWluZXImIGNvbnRhaW5lcikgewotICAg
ICAgICBjb250YWluZXIuc2NoZWR1bGVUYXNrVG9GaXJlVXBkYXRlRm91bmRFdmVudChrZXkpOwor
ICAgICAgICBjb250YWluZXIuc2NoZWR1bGVUYXNrVG9GaXJlVXBkYXRlRm91bmRFdmVudChpZGVu
dGlmaWVyKTsKICAgICB9KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL3NlcnZlci9TV0NsaWVudENvbm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dDbGllbnRDb25uZWN0aW9uLmgKaW5kZXggNzdiMWMzMzM3
YzBhZGQ2NTFiY2VlMjA3MzU1OGE5ZGU2ZjYyOGE1MS4uMGVjODdmY2NhYWY5ZDRiNjRlZjY2YTAz
N2FiMjU0MDMwZWQyNzY2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2
aWNlL3NlcnZlci9TV0NsaWVudENvbm5lY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2Uvc2VydmVyL1NXQ2xpZW50Q29ubmVjdGlvbi5oCkBAIC0yOCw2ICsyOCw3IEBA
CiAjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQogCiAjaW5jbHVkZSAiU2VydmljZVdvcmtlckpv
Yi5oIgorI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJUeXBlcy5oIgogI2luY2x1ZGUgPHd0Zi9IYXNo
TWFwLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZFNhZmVSZWZDb3VudGVkLmg+CiAKQEAgLTUzLDgg
KzU0LDggQEAgcHVibGljOgogICAgIHVzaW5nIFJlZ2lzdHJhdGlvbkNhbGxiYWNrID0gV1RGOjpD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlclJlZ2lzdHJh
dGlvbkRhdGE+JiYpPjsKICAgICB2aXJ0dWFsIHZvaWQgbWF0Y2hSZWdpc3RyYXRpb24oY29uc3Qg
U2VjdXJpdHlPcmlnaW4mIHRvcE9yaWdpbiwgY29uc3QgVVJMJiBjbGllbnRVUkwsIFJlZ2lzdHJh
dGlvbkNhbGxiYWNrJiYpID0gMDsKIAotICAgIHZpcnR1YWwgdm9pZCBhZGRTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uSW5TZXJ2ZXIoY29uc3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleSYs
IHVpbnQ2NF90IHJlZ2lzdHJhdGlvbklkZW50aWZpZXIpID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQg
cmVtb3ZlU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkluU2VydmVyKGNvbnN0IFNlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb25LZXkmLCB1aW50NjRfdCByZWdpc3RyYXRpb25JZGVudGlmaWVyKSA9IDA7
CisgICAgdmlydHVhbCB2b2lkIGFkZFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JblNlcnZlcihj
b25zdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5JiwgU2VydmljZVdvcmtlclJlZ2lzdHJh
dGlvbklkZW50aWZpZXIpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlU2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbkluU2VydmVyKGNvbnN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkm
LCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcikgPSAwOwogCiAgICAgdm9pZCBz
Y2hlZHVsZUpvYihTZXJ2aWNlV29ya2VySm9iJik7CiAgICAgdm9pZCBmaW5pc2hlZEZldGNoaW5n
U2NyaXB0KFNlcnZpY2VXb3JrZXJKb2ImLCBjb25zdCBTdHJpbmcmKTsKQEAgLTc0LDkgKzc1LDkg
QEAgcHJvdGVjdGVkOgogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgdW5yZWdpc3RyYXRpb25Kb2JS
ZXNvbHZlZEluU2VydmVyKHVpbnQ2NF90IGpvYklkZW50aWZpZXIsIGJvb2wgdW5yZWdpc3RyYXRp
b25SZXN1bHQpOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc3RhcnRTY3JpcHRGZXRjaEZvclNl
cnZlcih1aW50NjRfdCBqb2JJZGVudGlmaWVyKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHBv
c3RNZXNzYWdlVG9TZXJ2aWNlV29ya2VyQ2xpZW50KHVpbnQ2NF90IGRlc3RpbmF0aW9uU2NyaXB0
RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIsIFJlZjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+JiYg
bWVzc2FnZSwgU2VydmljZVdvcmtlcklkZW50aWZpZXIgc291cmNlLCBjb25zdCBTdHJpbmcmIHNv
dXJjZU9yaWdpbik7Ci0gICAgV0VCQ09SRV9FWFBPUlQgdm9pZCB1cGRhdGVSZWdpc3RyYXRpb25T
dGF0ZShjb25zdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5JiwgU2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvblN0YXRlLCBzdGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyPik7
CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCB1cGRhdGVSZWdpc3RyYXRpb25TdGF0ZShTZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciwgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvblN0
YXRlLCBzdGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyPik7CiAgICAgV0VCQ09S
RV9FWFBPUlQgdm9pZCB1cGRhdGVXb3JrZXJTdGF0ZShTZXJ2aWNlV29ya2VySWRlbnRpZmllciwg
U2VydmljZVdvcmtlclN0YXRlKTsKLSAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGZpcmVVcGRhdGVG
b3VuZEV2ZW50KGNvbnN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkmKTsKKyAgICBXRUJD
T1JFX0VYUE9SVCB2b2lkIGZpcmVVcGRhdGVGb3VuZEV2ZW50KFNlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb25JZGVudGlmaWVyKTsKIAogcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgc2NoZWR1bGVK
b2JJblNlcnZlcihjb25zdCBTZXJ2aWNlV29ya2VySm9iRGF0YSYpID0gMDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5jcHAKaW5kZXggNzJj
OTAzZDk0ODA0Zjk2YTI2NmEwMWIwOWIzM2E3ZTg1ODgxNjQ3Yy4uYjQyNmNkMDFhNmEzMGZiZDJm
ZGE5NzE2NTM5MDgxN2RiZjMxNjczMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5jcHAKQEAgLTEyMiwxNCArMTIyLDE0IEBAIHZvaWQg
U1dTZXJ2ZXI6OkNvbm5lY3Rpb246OmRpZFJlc29sdmVSZWdpc3RyYXRpb25Qcm9taXNlKGNvbnN0
IFNlcnZpY2VXb3JrZXJSZWdpCiAgICAgbV9zZXJ2ZXIuZGlkUmVzb2x2ZVJlZ2lzdHJhdGlvblBy
b21pc2UoKnRoaXMsIGtleSk7CiB9CiAKLXZvaWQgU1dTZXJ2ZXI6OkNvbm5lY3Rpb246OmFkZFNl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JblNlcnZlcihjb25zdCBTZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uS2V5JiBrZXksIHVpbnQ2NF90IGNsaWVudFJlZ2lzdHJhdGlvbklkZW50aWZpZXIpCit2
b2lkIFNXU2VydmVyOjpDb25uZWN0aW9uOjphZGRTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSW5T
ZXJ2ZXIoY29uc3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleSYga2V5LCBTZXJ2aWNlV29y
a2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciBpZGVudGlmaWVyKQogewotICAgIG1fc2VydmVyLmFk
ZENsaWVudFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24oKnRoaXMsIGtleSwgY2xpZW50UmVnaXN0
cmF0aW9uSWRlbnRpZmllcik7CisgICAgbV9zZXJ2ZXIuYWRkQ2xpZW50U2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbigqdGhpcywga2V5LCBpZGVudGlmaWVyKTsKIH0KIAotdm9pZCBTV1NlcnZlcjo6
Q29ubmVjdGlvbjo6cmVtb3ZlU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkluU2VydmVyKGNvbnN0
IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkmIGtleSwgdWludDY0X3QgY2xpZW50UmVnaXN0
cmF0aW9uSWRlbnRpZmllcikKK3ZvaWQgU1dTZXJ2ZXI6OkNvbm5lY3Rpb246OnJlbW92ZVNlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb25JblNlcnZlcihjb25zdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uS2V5JiBrZXksIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyIGlkZW50aWZp
ZXIpCiB7Ci0gICAgbV9zZXJ2ZXIucmVtb3ZlQ2xpZW50U2VydmljZVdvcmtlclJlZ2lzdHJhdGlv
bigqdGhpcywga2V5LCBjbGllbnRSZWdpc3RyYXRpb25JZGVudGlmaWVyKTsKKyAgICBtX3NlcnZl
ci5yZW1vdmVDbGllbnRTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uKCp0aGlzLCBrZXksIGlkZW50
aWZpZXIpOwogfQogCiB2b2lkIFNXU2VydmVyOjpDb25uZWN0aW9uOjpzY3JpcHRDb250ZXh0RmFp
bGVkVG9TdGFydChjb25zdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5JiByZWdpc3RyYXRp
b25LZXksIFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYg
bWVzc2FnZSkKQEAgLTE3OCw3ICsxNzgsNyBAQCB2b2lkIFNXU2VydmVyOjpyZWplY3RKb2IoY29u
c3QgU2VydmljZVdvcmtlckpvYkRhdGEmIGpvYkRhdGEsIGNvbnN0IEV4Y2VwdGlvbkRhdAogCiB2
b2lkIFNXU2VydmVyOjpyZXNvbHZlUmVnaXN0cmF0aW9uSm9iKGNvbnN0IFNlcnZpY2VXb3JrZXJK
b2JEYXRhJiBqb2JEYXRhLCBjb25zdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YSYgcmVn
aXN0cmF0aW9uRGF0YSwgU2hvdWxkTm90aWZ5V2hlblJlc29sdmVkIHNob3VsZE5vdGlmeVdoZW5S
ZXNvbHZlZCkKIHsKLSAgICBMT0coU2VydmljZVdvcmtlciwgIlJlc29sdmVkIFNlcnZpY2VXb3Jr
ZXIgam9iICUiIFBSSXU2NCAiLSUiIFBSSXU2NCAiIGluIHNlcnZlciB3aXRoIHJlZ2lzdHJhdGlv
biAlIiBQUkl1NjQsIGpvYkRhdGEuY29ubmVjdGlvbklkZW50aWZpZXIoKSwgam9iRGF0YS5pZGVu
dGlmaWVyKCksIHJlZ2lzdHJhdGlvbkRhdGEuaWRlbnRpZmllcik7CisgICAgTE9HKFNlcnZpY2VX
b3JrZXIsICJSZXNvbHZlZCBTZXJ2aWNlV29ya2VyIGpvYiAlIiBQUkl1NjQgIi0lIiBQUkl1NjQg
IiBpbiBzZXJ2ZXIgd2l0aCByZWdpc3RyYXRpb24gJXMiLCBqb2JEYXRhLmNvbm5lY3Rpb25JZGVu
dGlmaWVyKCksIGpvYkRhdGEuaWRlbnRpZmllcigpLCByZWdpc3RyYXRpb25EYXRhLmlkZW50aWZp
ZXIubG9nZ2luZ1N0cmluZygpLnV0ZjgoKS5kYXRhKCkpOwogICAgIGF1dG8qIGNvbm5lY3Rpb24g
PSBtX2Nvbm5lY3Rpb25zLmdldChqb2JEYXRhLmNvbm5lY3Rpb25JZGVudGlmaWVyKCkpOwogICAg
IGlmICghY29ubmVjdGlvbikKICAgICAgICAgcmV0dXJuOwpAQCAtMjUwLDI2ICsyNTAsMzIgQEAg
dm9pZCBTV1NlcnZlcjo6ZGlkUmVzb2x2ZVJlZ2lzdHJhdGlvblByb21pc2UoQ29ubmVjdGlvbiYg
Y29ubmVjdGlvbiwgY29uc3QgU2VydmkKICAgICAgICAgam9iUXVldWUtPmRpZFJlc29sdmVSZWdp
c3RyYXRpb25Qcm9taXNlKGNvbm5lY3Rpb24pOwogfQogCi12b2lkIFNXU2VydmVyOjphZGRDbGll
bnRTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uKENvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIGNvbnN0
IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkmIGtleSwgdWludDY0X3QgcmVnaXN0cmF0aW9u
SWRlbnRpZmllcikKK3ZvaWQgU1dTZXJ2ZXI6OmFkZENsaWVudFNlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb24oQ29ubmVjdGlvbiYgY29ubmVjdGlvbiwgY29uc3QgU2VydmljZVdvcmtlclJlZ2lzdHJh
dGlvbktleSYga2V5LCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciBpZGVudGlm
aWVyKQogewogICAgIGF1dG8qIHJlZ2lzdHJhdGlvbiA9IG1fcmVnaXN0cmF0aW9ucy5nZXQoa2V5
KTsKICAgICBpZiAoIXJlZ2lzdHJhdGlvbikgewogICAgICAgICBMT0dfRVJST1IoIlJlcXVlc3Qg
dG8gYWRkIGNsaWVudC1zaWRlIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24gdG8gbm9uLWV4aXN0
ZW50IHNlcnZlci1zaWRlIHJlZ2lzdHJhdGlvbiIpOwogICAgICAgICByZXR1cm47CiAgICAgfQor
CisgICAgaWYgKHJlZ2lzdHJhdGlvbi0+aWRlbnRpZmllcigpICE9IGlkZW50aWZpZXIpCisgICAg
ICAgIHJldHVybjsKICAgICAKLSAgICByZWdpc3RyYXRpb24tPmFkZENsaWVudFNlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb24oY29ubmVjdGlvbi5pZGVudGlmaWVyKCksIHJlZ2lzdHJhdGlvbklkZW50
aWZpZXIpOworICAgIHJlZ2lzdHJhdGlvbi0+YWRkQ2xpZW50U2VydmljZVdvcmtlclJlZ2lzdHJh
dGlvbihjb25uZWN0aW9uLmlkZW50aWZpZXIoKSk7CiB9CiAKLXZvaWQgU1dTZXJ2ZXI6OnJlbW92
ZUNsaWVudFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24oQ29ubmVjdGlvbiYgY29ubmVjdGlvbiwg
Y29uc3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleSYga2V5LCB1aW50NjRfdCByZWdpc3Ry
YXRpb25JZGVudGlmaWVyKQordm9pZCBTV1NlcnZlcjo6cmVtb3ZlQ2xpZW50U2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbihDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBjb25zdCBTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uS2V5JiBrZXksIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVy
IGlkZW50aWZpZXIpCiB7CiAgICAgYXV0byogcmVnaXN0cmF0aW9uID0gbV9yZWdpc3RyYXRpb25z
LmdldChrZXkpOwogICAgIGlmICghcmVnaXN0cmF0aW9uKSB7CiAgICAgICAgIExPR19FUlJPUigi
UmVxdWVzdCB0byByZW1vdmUgY2xpZW50LXNpZGUgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbiBm
cm9tIG5vbi1leGlzdGVudCBzZXJ2ZXItc2lkZSByZWdpc3RyYXRpb24iKTsKICAgICAgICAgcmV0
dXJuOwogICAgIH0KKworICAgIGlmIChyZWdpc3RyYXRpb24tPmlkZW50aWZpZXIoKSAhPSBpZGVu
dGlmaWVyKQorICAgICAgICByZXR1cm47CiAgICAgCi0gICAgcmVnaXN0cmF0aW9uLT5yZW1vdmVD
bGllbnRTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uKGNvbm5lY3Rpb24uaWRlbnRpZmllcigpLCBy
ZWdpc3RyYXRpb25JZGVudGlmaWVyKTsKKyAgICByZWdpc3RyYXRpb24tPnJlbW92ZUNsaWVudFNl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb24oY29ubmVjdGlvbi5pZGVudGlmaWVyKCkpOwogfQogCiBS
ZWY8U1dTZXJ2ZXJXb3JrZXI+IFNXU2VydmVyOjp1cGRhdGVXb3JrZXIoQ29ubmVjdGlvbiYgY29u
bmVjdGlvbiwgY29uc3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleSYgcmVnaXN0cmF0aW9u
S2V5LCBjb25zdCBVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBzY3JpcHQsIFdvcmtlclR5cGUgdHlw
ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dT
ZXJ2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIu
aAppbmRleCA1ODBjYzI2OWZhY2IzZTNhMWFkOTliNGE4YTUxNDNkNmM4MTM0ZDMzLi42ZDdlM2Jk
OTljNGI2ZTYxMjA4OTU0OTc5MjE4M2FjZmNjYTlkYTMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5oCkBAIC02Niw5ICs2Niw5IEBAIHB1
YmxpYzoKICAgICAgICAgY29uc3QgU1dTZXJ2ZXJSZWdpc3RyYXRpb24qIGRvUmVnaXN0cmF0aW9u
TWF0Y2hpbmcoY29uc3QgU2VjdXJpdHlPcmlnaW5EYXRhJiB0b3BPcmlnaW4sIGNvbnN0IFVSTCYg
Y2xpZW50VVJMKSBjb25zdCB7IHJldHVybiBtX3NlcnZlci5kb1JlZ2lzdHJhdGlvbk1hdGNoaW5n
KHRvcE9yaWdpbiwgY2xpZW50VVJMKTsgfQogCiAgICAgICAgIC8vIE1lc3NhZ2VzIHRvIHRoZSBj
bGllbnQgV2ViUHJvY2VzcwotICAgICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlUmVnaXN0cmF0aW9u
U3RhdGVJbkNsaWVudChjb25zdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5JiwgU2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvblN0YXRlLCBzdGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJJZGVu
dGlmaWVyPikgPSAwOworICAgICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlUmVnaXN0cmF0aW9uU3Rh
dGVJbkNsaWVudChTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciwgU2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvblN0YXRlLCBzdGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJJZGVudGlm
aWVyPikgPSAwOwogICAgICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlV29ya2VyU3RhdGVJbkNsaWVu
dChTZXJ2aWNlV29ya2VySWRlbnRpZmllciwgU2VydmljZVdvcmtlclN0YXRlKSA9IDA7Ci0gICAg
ICAgIHZpcnR1YWwgdm9pZCBmaXJlVXBkYXRlRm91bmRFdmVudChjb25zdCBTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uS2V5JikgPSAwOworICAgICAgICB2aXJ0dWFsIHZvaWQgZmlyZVVwZGF0ZUZv
dW5kRXZlbnQoU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIpID0gMDsKIAogICAg
IHByb3RlY3RlZDoKICAgICAgICAgV0VCQ09SRV9FWFBPUlQgQ29ubmVjdGlvbihTV1NlcnZlciYs
IHVpbnQ2NF90IGlkZW50aWZpZXIpOwpAQCAtNzYsOCArNzYsOCBAQCBwdWJsaWM6CiAKICAgICAg
ICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzY2hlZHVsZUpvYkluU2VydmVyKGNvbnN0IFNlcnZpY2VX
b3JrZXJKb2JEYXRhJik7CiAgICAgICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZmluaXNoRmV0Y2hp
bmdTY3JpcHRJblNlcnZlcihjb25zdCBTZXJ2aWNlV29ya2VyRmV0Y2hSZXN1bHQmKTsKLSAgICAg
ICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBhZGRTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSW5TZXJ2
ZXIoY29uc3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleSYsIHVpbnQ2NF90IGNsaWVudFJl
Z2lzdHJhdGlvbklkZW50aWZpZXIpOwotICAgICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHJlbW92
ZVNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JblNlcnZlcihjb25zdCBTZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uS2V5JiwgdWludDY0X3QgY2xpZW50UmVnaXN0cmF0aW9uSWRlbnRpZmllcik7Cisg
ICAgICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgYWRkU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklu
U2VydmVyKGNvbnN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkmLCBTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uSWRlbnRpZmllcik7CisgICAgICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgcmVt
b3ZlU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkluU2VydmVyKGNvbnN0IFNlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb25LZXkmLCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcik7CiAK
ICAgICBwcml2YXRlOgogICAgICAgICAvLyBNZXNzYWdlcyB0byB0aGUgY2xpZW50IFdlYlByb2Nl
c3MKQEAgLTEzMCw4ICsxMzAsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgZGlkRmluaXNoSW5zdGFs
bChDb25uZWN0aW9uJiwgY29uc3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleSYsIFNlcnZp
Y2VXb3JrZXJJZGVudGlmaWVyLCBib29sIHdhc1N1Y2Nlc3NmdWwpOwogICAgIHZvaWQgZGlkUmVz
b2x2ZVJlZ2lzdHJhdGlvblByb21pc2UoQ29ubmVjdGlvbiYsIGNvbnN0IFNlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb25LZXkmKTsKIAotICAgIHZvaWQgYWRkQ2xpZW50U2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbihDb25uZWN0aW9uJiwgY29uc3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleSYs
IHVpbnQ2NF90IHJlZ2lzdHJhdGlvbklkZW50aWZpZXIpOwotICAgIHZvaWQgcmVtb3ZlQ2xpZW50
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbihDb25uZWN0aW9uJiwgY29uc3QgU2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbktleSYsIHVpbnQ2NF90IHJlZ2lzdHJhdGlvbklkZW50aWZpZXIpOworICAg
IHZvaWQgYWRkQ2xpZW50U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbihDb25uZWN0aW9uJiwgY29u
c3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleSYsIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b25JZGVudGlmaWVyKTsKKyAgICB2b2lkIHJlbW92ZUNsaWVudFNlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb24oQ29ubmVjdGlvbiYsIGNvbnN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkmLCBT
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcik7CiAKICAgICBXRUJDT1JFX0VYUE9S
VCBjb25zdCBTV1NlcnZlclJlZ2lzdHJhdGlvbiogZG9SZWdpc3RyYXRpb25NYXRjaGluZyhjb25z
dCBTZWN1cml0eU9yaWdpbkRhdGEmIHRvcE9yaWdpbiwgY29uc3QgVVJMJiBjbGllbnRVUkwpIGNv
bnN0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVy
L1NXU2VydmVyUmVnaXN0cmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vydmlj
ZS9zZXJ2ZXIvU1dTZXJ2ZXJSZWdpc3RyYXRpb24uY3BwCmluZGV4IDhkODRkY2I5MzkwOTdhY2Jm
NDhkOWY5ZWIxNjI2YzVmYzE0MzNmMDMuLmI0N2VhNTNmNWFlOThhY2U3MDdiOGMwYjRlY2FjMzJj
YjU4YjU2ZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2
ZXIvU1dTZXJ2ZXJSZWdpc3RyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJSZWdpc3RyYXRpb24uY3BwCkBAIC0zNSw4ICszNSwxNSBA
QAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK3N0YXRpYyBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uSWRlbnRpZmllciBnZW5lcmF0ZVNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVy
KCkKK3sKKyAgICBzdGF0aWMgdWludDY0X3QgaWRlbnRpZmllciA9IDA7CisgICAgcmV0dXJuIG1h
a2VPYmplY3RJZGVudGlmaWVyPFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyVHlw
ZT4oKytpZGVudGlmaWVyKTsKK30KKwogU1dTZXJ2ZXJSZWdpc3RyYXRpb246OlNXU2VydmVyUmVn
aXN0cmF0aW9uKFNXU2VydmVyJiBzZXJ2ZXIsIGNvbnN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b25LZXkmIGtleSwgU2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlIHVwZGF0ZVZpYUNhY2hlLCBj
b25zdCBVUkwmIHNjb3BlVVJMLCBjb25zdCBVUkwmIHNjcmlwdFVSTCkKLSAgICA6IG1fcmVnaXN0
cmF0aW9uS2V5KGtleSkKKyAgICA6IG1faWRlbnRpZmllcihnZW5lcmF0ZVNlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb25JZGVudGlmaWVyKCkpCisgICAgLCBtX3JlZ2lzdHJhdGlvbktleShrZXkpCiAg
ICAgLCBtX3VwZGF0ZVZpYUNhY2hlKHVwZGF0ZVZpYUNhY2hlKQogICAgICwgbV9zY29wZVVSTChz
Y29wZVVSTCkKICAgICAsIG1fc2NyaXB0VVJMKHNjcmlwdFVSTCkKQEAgLTgwLDcgKzg3LDcgQEAg
dm9pZCBTV1NlcnZlclJlZ2lzdHJhdGlvbjo6dXBkYXRlUmVnaXN0cmF0aW9uU3RhdGUoY29uc3Qg
U2VydmljZVdvcmtlckpvYkRhdGEmIGoKICAgICAgICAgc2VydmljZVdvcmtlcklkZW50aWZpZXIg
PSB3b3JrZXItPmlkZW50aWZpZXIoKTsKIAogICAgIGZvckVhY2hDb25uZWN0aW9uKGpvYiwgWyZd
KGF1dG8mIGNvbm5lY3Rpb24pIHsKLSAgICAgICAgY29ubmVjdGlvbi51cGRhdGVSZWdpc3RyYXRp
b25TdGF0ZUluQ2xpZW50KG1fcmVnaXN0cmF0aW9uS2V5LCBzdGF0ZSwgc2VydmljZVdvcmtlcklk
ZW50aWZpZXIpOworICAgICAgICBjb25uZWN0aW9uLnVwZGF0ZVJlZ2lzdHJhdGlvblN0YXRlSW5D
bGllbnQoaWRlbnRpZmllcigpLCBzdGF0ZSwgc2VydmljZVdvcmtlcklkZW50aWZpZXIpOwogICAg
IH0pOwogfQogCkBAIC05OCw3ICsxMDUsNyBAQCB2b2lkIFNXU2VydmVyUmVnaXN0cmF0aW9uOjp1
cGRhdGVXb3JrZXJTdGF0ZShjb25zdCBTZXJ2aWNlV29ya2VySm9iRGF0YSYgam9iLCBTVwogdm9p
ZCBTV1NlcnZlclJlZ2lzdHJhdGlvbjo6ZmlyZVVwZGF0ZUZvdW5kRXZlbnQoY29uc3QgU2Vydmlj
ZVdvcmtlckpvYkRhdGEmIGpvYikKIHsKICAgICBmb3JFYWNoQ29ubmVjdGlvbihqb2IsIFsmXShh
dXRvJiBjb25uZWN0aW9uKSB7Ci0gICAgICAgIGNvbm5lY3Rpb24uZmlyZVVwZGF0ZUZvdW5kRXZl
bnQobV9yZWdpc3RyYXRpb25LZXkpOworICAgICAgICBjb25uZWN0aW9uLmZpcmVVcGRhdGVGb3Vu
ZEV2ZW50KGlkZW50aWZpZXIoKSk7CiAgICAgfSk7CiB9CiAKQEAgLTEwNiwxMiArMTEzLDEyIEBA
IHZvaWQgU1dTZXJ2ZXJSZWdpc3RyYXRpb246OmZvckVhY2hDb25uZWN0aW9uKGNvbnN0IFNlcnZp
Y2VXb3JrZXJKb2JEYXRhJiBqb2IsIGNvCiB7CiAgICAgLy8gTm8gbWF0dGVyIHdoYXQsIHdlIHNl
bmQgdGhlIGV2ZW50IHRvIHRoZSBjb25uZWN0aW9uIHRoYXQgc2NoZWR1bGVkIHRoZSBqb2IuIFRo
ZSBjbGllbnQgcmVnaXN0cmF0aW9uCiAgICAgLy8gbWF5IG5vdCBoYXZlIGdvdHRlbiBhIGNoYW5j
ZSB0byByZWdpc3RlciBpdHNlbGYgeWV0LgotICAgIGlmICghbV9jbGllbnRSZWdpc3RyYXRpb25z
QnlDb25uZWN0aW9uLmNvbnRhaW5zKGpvYi5jb25uZWN0aW9uSWRlbnRpZmllcigpKSkgeworICAg
IGlmICghbV9jb25uZWN0aW9uc1dpdGhDbGllbnRSZWdpc3RyYXRpb25zLmNvbnRhaW5zKGpvYi5j
b25uZWN0aW9uSWRlbnRpZmllcigpKSkgewogICAgICAgICBpZiAoYXV0byogY29ubmVjdGlvbiA9
IG1fc2VydmVyLmdldENvbm5lY3Rpb24oam9iLmNvbm5lY3Rpb25JZGVudGlmaWVyKCkpKQogICAg
ICAgICAgICAgYXBwbHkoKmNvbm5lY3Rpb24pOwogICAgIH0KIAotICAgIGZvciAoYXV0byYgY29u
bmVjdGlvbklkZW50aWZpZXJXaXRoQ2xpZW50cyA6IG1fY2xpZW50UmVnaXN0cmF0aW9uc0J5Q29u
bmVjdGlvbi5rZXlzKCkpIHsKKyAgICBmb3IgKHVpbnQ2NF90IGNvbm5lY3Rpb25JZGVudGlmaWVy
V2l0aENsaWVudHMgOiBtX2Nvbm5lY3Rpb25zV2l0aENsaWVudFJlZ2lzdHJhdGlvbnMudmFsdWVz
KCkpIHsKICAgICAgICAgaWYgKGF1dG8qIGNvbm5lY3Rpb24gPSBtX3NlcnZlci5nZXRDb25uZWN0
aW9uKGNvbm5lY3Rpb25JZGVudGlmaWVyV2l0aENsaWVudHMpKQogICAgICAgICAgICAgYXBwbHko
KmNvbm5lY3Rpb24pOwogICAgIH0KQEAgLTEzNCwyNSArMTQxLDE0IEBAIFNlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb25EYXRhIFNXU2VydmVyUmVnaXN0cmF0aW9uOjpkYXRhKCkgY29uc3QKICAgICBy
ZXR1cm4geyBtX3JlZ2lzdHJhdGlvbktleSwgaWRlbnRpZmllcigpLCBtX3Njb3BlVVJMLCBtX3Nj
cmlwdFVSTCwgbV91cGRhdGVWaWFDYWNoZSwgaW5zdGFsbGluZ0lELCB3YWl0aW5nSUQsIGFjdGl2
ZUlEIH07CiB9CiAKLXZvaWQgU1dTZXJ2ZXJSZWdpc3RyYXRpb246OmFkZENsaWVudFNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb24odWludDY0X3QgY29ubmVjdGlvbklkZW50aWZpZXIsIHVpbnQ2NF90
IGNsaWVudFJlZ2lzdHJhdGlvbklkZW50aWZpZXIpCit2b2lkIFNXU2VydmVyUmVnaXN0cmF0aW9u
OjphZGRDbGllbnRTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uKHVpbnQ2NF90IGNvbm5lY3Rpb25J
ZGVudGlmaWVyKQogewotICAgIGF1dG8gcmVzdWx0ID0gbV9jbGllbnRSZWdpc3RyYXRpb25zQnlD
b25uZWN0aW9uLmVuc3VyZShjb25uZWN0aW9uSWRlbnRpZmllciwgW10gewotICAgICAgICByZXR1
cm4gc3RkOjptYWtlX3VuaXF1ZTxIYXNoU2V0PHVpbnQ2NF90Pj4oKTsKLSAgICB9KTsKLSAgICAK
LSAgICBBU1NFUlQoIXJlc3VsdC5pdGVyYXRvci0+dmFsdWUtPmNvbnRhaW5zKGNsaWVudFJlZ2lz
dHJhdGlvbklkZW50aWZpZXIpKTsKLSAgICByZXN1bHQuaXRlcmF0b3ItPnZhbHVlLT5hZGQoY2xp
ZW50UmVnaXN0cmF0aW9uSWRlbnRpZmllcik7CisgICAgbV9jb25uZWN0aW9uc1dpdGhDbGllbnRS
ZWdpc3RyYXRpb25zLmFkZChjb25uZWN0aW9uSWRlbnRpZmllcik7CiB9CiAKLXZvaWQgU1dTZXJ2
ZXJSZWdpc3RyYXRpb246OnJlbW92ZUNsaWVudFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24odWlu
dDY0X3QgY29ubmVjdGlvbklkZW50aWZpZXIsIHVpbnQ2NF90IGNsaWVudFJlZ2lzdHJhdGlvbklk
ZW50aWZpZXIpCit2b2lkIFNXU2VydmVyUmVnaXN0cmF0aW9uOjpyZW1vdmVDbGllbnRTZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uKHVpbnQ2NF90IGNvbm5lY3Rpb25JZGVudGlmaWVyKQogewotICAg
IGF1dG8gaXRlcmF0b3IgPSBtX2NsaWVudFJlZ2lzdHJhdGlvbnNCeUNvbm5lY3Rpb24uZmluZChj
b25uZWN0aW9uSWRlbnRpZmllcik7Ci0gICAgaWYgKGl0ZXJhdG9yID09IG1fY2xpZW50UmVnaXN0
cmF0aW9uc0J5Q29ubmVjdGlvbi5lbmQoKSB8fCAhaXRlcmF0b3ItPnZhbHVlKQotICAgICAgICBy
ZXR1cm47Ci0gICAgCi0gICAgaXRlcmF0b3ItPnZhbHVlLT5yZW1vdmUoY2xpZW50UmVnaXN0cmF0
aW9uSWRlbnRpZmllcik7Ci0gICAgaWYgKGl0ZXJhdG9yLT52YWx1ZS0+aXNFbXB0eSgpKQotICAg
ICAgICBtX2NsaWVudFJlZ2lzdHJhdGlvbnNCeUNvbm5lY3Rpb24ucmVtb3ZlKGl0ZXJhdG9yKTsK
KyAgICBtX2Nvbm5lY3Rpb25zV2l0aENsaWVudFJlZ2lzdHJhdGlvbnMucmVtb3ZlKGNvbm5lY3Rp
b25JZGVudGlmaWVyKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlclJlZ2lzdHJhdGlv
bi5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlclJlZ2lz
dHJhdGlvbi5oCmluZGV4IDM3ODY5NDRmYTc0OGY0ODUyMGYwZDJiMDg0ZGY0ZDA5OTIwYTRhODAu
LjI5NjM4MzlhZjkyMzgxOGFjOWIxYmM2ZmI3ZGEyZGJhOGE0NjFiYjMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJSZWdpc3RyYXRpb24u
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyUmVn
aXN0cmF0aW9uLmgKQEAgLTI5LDcgKzI5LDggQEAKIAogI2luY2x1ZGUgIlNXU2VydmVyLmgiCiAj
aW5jbHVkZSAiU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEuaCIKLSNpbmNsdWRlIDx3dGYv
SWRlbnRpZmllZC5oPgorI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJUeXBlcy5oIgorI2luY2x1ZGUg
PHd0Zi9IYXNoQ291bnRlZFNldC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQwLDEy
ICs0MSwxMyBAQCBlbnVtIGNsYXNzIFNlcnZpY2VXb3JrZXJTdGF0ZTsKIHN0cnVjdCBFeGNlcHRp
b25EYXRhOwogc3RydWN0IFNlcnZpY2VXb3JrZXJGZXRjaFJlc3VsdDsKIAotY2xhc3MgU1dTZXJ2
ZXJSZWdpc3RyYXRpb24gOiBwdWJsaWMgVGhyZWFkU2FmZUlkZW50aWZpZWQ8U1dTZXJ2ZXJSZWdp
c3RyYXRpb24+IHsKK2NsYXNzIFNXU2VydmVyUmVnaXN0cmF0aW9uIHsKIHB1YmxpYzoKICAgICBT
V1NlcnZlclJlZ2lzdHJhdGlvbihTV1NlcnZlciYsIGNvbnN0IFNlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb25LZXkmLCBTZXJ2aWNlV29ya2VyVXBkYXRlVmlhQ2FjaGUsIGNvbnN0IFVSTCYgc2NvcGVV
UkwsIGNvbnN0IFVSTCYgc2NyaXB0VVJMKTsKICAgICB+U1dTZXJ2ZXJSZWdpc3RyYXRpb24oKTsK
IAogICAgIGNvbnN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkmIGtleSgpIGNvbnN0IHsg
cmV0dXJuIG1fcmVnaXN0cmF0aW9uS2V5OyB9CisgICAgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlv
bklkZW50aWZpZXIgaWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIG1faWRlbnRpZmllcjsgfQog
CiAgICAgU1dTZXJ2ZXJXb3JrZXIqIGdldE5ld2VzdFdvcmtlcigpOwogICAgIFdFQkNPUkVfRVhQ
T1JUIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhIGRhdGEoKSBjb25zdDsKQEAgLTYwLDgg
KzYyLDggQEAgcHVibGljOgogICAgIHZvaWQgdXBkYXRlV29ya2VyU3RhdGUoY29uc3QgU2Vydmlj
ZVdvcmtlckpvYkRhdGEmLCBTV1NlcnZlcldvcmtlciYsIFNlcnZpY2VXb3JrZXJTdGF0ZSk7CiAg
ICAgdm9pZCBmaXJlVXBkYXRlRm91bmRFdmVudChjb25zdCBTZXJ2aWNlV29ya2VySm9iRGF0YSYp
OwogCi0gICAgdm9pZCBhZGRDbGllbnRTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uKHVpbnQ2NF90
IGNvbm5lY3Rpb25JZGVudGlmaWVyLCB1aW50NjRfdCBjbGllbnRSZWdpc3RyYXRpb25JZGVudGlm
aWVyKTsKLSAgICB2b2lkIHJlbW92ZUNsaWVudFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24odWlu
dDY0X3QgY29ubmVjdGlvbklkZW50aWZpZXIsIHVpbnQ2NF90IGNsaWVudFJlZ2lzdHJhdGlvbklk
ZW50aWZpZXIpOworICAgIHZvaWQgYWRkQ2xpZW50U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbih1
aW50NjRfdCBjb25uZWN0aW9uSWRlbnRpZmllcik7CisgICAgdm9pZCByZW1vdmVDbGllbnRTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uKHVpbnQ2NF90IGNvbm5lY3Rpb25JZGVudGlmaWVyKTsKIAog
ICAgIFNXU2VydmVyV29ya2VyKiBpbnN0YWxsaW5nV29ya2VyKCkgY29uc3QgeyByZXR1cm4gbV9p
bnN0YWxsaW5nV29ya2VyLmdldCgpOyB9CiAgICAgU1dTZXJ2ZXJXb3JrZXIqIHdhaXRpbmdXb3Jr
ZXIoKSBjb25zdCB7IHJldHVybiBtX3dhaXRpbmdXb3JrZXIuZ2V0KCk7IH0KQEAgLTcwLDYgKzcy
LDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICB2b2lkIGZvckVhY2hDb25uZWN0aW9uKGNvbnN0
IFNlcnZpY2VXb3JrZXJKb2JEYXRhJiwgY29uc3QgV1RGOjpGdW5jdGlvbjx2b2lkKFNXU2VydmVy
OjpDb25uZWN0aW9uJik+Jik7CiAKKyAgICBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRp
ZmllciBtX2lkZW50aWZpZXI7CiAgICAgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleSBtX3Jl
Z2lzdHJhdGlvbktleTsKICAgICBTZXJ2aWNlV29ya2VyVXBkYXRlVmlhQ2FjaGUgbV91cGRhdGVW
aWFDYWNoZTsKICAgICBVUkwgbV9zY29wZVVSTDsKQEAgLTgyLDcgKzg1LDcgQEAgcHJpdmF0ZToK
IAogICAgIGRvdWJsZSBtX2xhc3RVcGRhdGVUaW1lIHsgMCB9OwogICAgIAotICAgIEhhc2hNYXA8
dWludDY0X3QsIHN0ZDo6dW5pcXVlX3B0cjxIYXNoU2V0PHVpbnQ2NF90Pj4+IG1fY2xpZW50UmVn
aXN0cmF0aW9uc0J5Q29ubmVjdGlvbjsKKyAgICBIYXNoQ291bnRlZFNldDx1aW50NjRfdD4gbV9j
b25uZWN0aW9uc1dpdGhDbGllbnRSZWdpc3RyYXRpb25zOwogICAgIFNXU2VydmVyJiBtX3NlcnZl
cjsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVzc2Fn
ZXMucHkgYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5CmluZGV4IDM5
NjFlNmUyZmI3MzMzOWE1YzNjZmZkYjExYTU1YjAzMDk5MGU0YTEuLjg1NWY2MTEyZDhkNmQ5NWZi
OTgzOTExNTdhYzliYjNiYzM5MDhhY2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0
cy93ZWJraXQvbWVzc2FnZXMucHkKKysrIGIvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9t
ZXNzYWdlcy5weQpAQCAtMTg3LDcgKzE4Nyw3IEBAIGRlZiBmb3J3YXJkX2RlY2xhcmF0aW9uc19h
bmRfaGVhZGVycyhyZWNlaXZlcik6CiAgICAgICAgIGtpbmQgPSBwYXJhbWV0ZXIua2luZAogICAg
ICAgICB0eXBlID0gcGFyYW1ldGVyLnR5cGUKIAotICAgICAgICBpZiB0eXBlLmZpbmQoJzwnKSAh
PSAtMSBvciB0eXBlID09ICJXZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRlbnRpZmllciI6CisgICAg
ICAgIGlmIHR5cGUuZmluZCgnPCcpICE9IC0xIG9yIHR5cGUgPT0gIldlYkNvcmU6OlNlcnZpY2VX
b3JrZXJJZGVudGlmaWVyIiBvciB0eXBlID09ICJXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uSWRlbnRpZmllciI6CiAgICAgICAgICAgICAjIERvbid0IGZvcndhcmQgZGVjbGFyZSBj
bGFzcyB0ZW1wbGF0ZXMgb3IgU2VydmljZVdvcmtlcklkZW50aWZpZXIuCiAgICAgICAgICAgICBo
ZWFkZXJzLnVwZGF0ZShoZWFkZXJzX2Zvcl90eXBlKHR5cGUpKQogICAgICAgICAgICAgY29udGlu
dWUKQEAgLTM3Miw2ICszNzIsNyBAQCBkZWYgaGVhZGVyc19mb3JfdHlwZSh0eXBlKToKICAgICAg
ICAgJ1dlYkNvcmU6OlBsdWdpbkluZm8nOiBbJzxXZWJDb3JlL1BsdWdpbkRhdGEuaD4nXSwKICAg
ICAgICAgJ1dlYkNvcmU6OlBvbGljeUFjdGlvbic6IFsnPFdlYkNvcmUvRnJhbWVMb2FkZXJUeXBl
cy5oPiddLAogICAgICAgICAnV2ViQ29yZTo6UmVjZW50U2VhcmNoJzogWyc8V2ViQ29yZS9TZWFy
Y2hQb3B1cE1lbnUuaD4nXSwKKyAgICAgICAgJ1dlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb25JZGVudGlmaWVyJzogWyc8V2ViQ29yZS9TZXJ2aWNlV29ya2VyVHlwZXMuaD4nXSwKICAg
ICAgICAgJ1dlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25TdGF0ZSc6IFsnPFdlYkNv
cmUvU2VydmljZVdvcmtlclR5cGVzLmg+J10sCiAgICAgICAgICdXZWJDb3JlOjpTZXJ2aWNlV29y
a2VyU3RhdGUnOiBbJzxXZWJDb3JlL1NlcnZpY2VXb3JrZXJUeXBlcy5oPiddLAogICAgICAgICAn
V2ViQ29yZTo6U2hpcHBpbmdDb250YWN0VXBkYXRlJzogWyc8V2ViQ29yZS9BcHBsZVBheVNlc3Np
b25QYXltZW50UmVxdWVzdC5oPiddLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TdG9yYWdl
UHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9u
LmNwcAppbmRleCBkYjdhMGFmMWNkNjJmMTMyMTE0Y2YwODM4YzNhNzIzZTI2ZTFiNGRkLi4wNjI0
YjUzOTgyOTk3MTQxZWQ0OGUzMTVjY2E3ODQwYzllN2E1YjM0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9u
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2Vi
U1dTZXJ2ZXJDb25uZWN0aW9uLmNwcApAQCAtOTYsMTQgKzk2LDE0IEBAIHZvaWQgV2ViU1dTZXJ2
ZXJDb25uZWN0aW9uOjpzdGFydFNjcmlwdEZldGNoSW5DbGllbnQodWludDY0X3Qgam9iSWRlbnRp
ZmllcikKICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJTV0NsaWVudENvbm5lY3Rpb246OlN0YXJ0U2Ny
aXB0RmV0Y2hGb3JTZXJ2ZXIoam9iSWRlbnRpZmllcikpOwogfQogCi12b2lkIFdlYlNXU2VydmVy
Q29ubmVjdGlvbjo6dXBkYXRlUmVnaXN0cmF0aW9uU3RhdGVJbkNsaWVudChjb25zdCBTZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uS2V5JiBrZXksIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25TdGF0
ZSBzdGF0ZSwgc3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2VySWRlbnRpZmllcj4gc2VydmljZVdv
cmtlcklkZW50aWZpZXIpCit2b2lkIFdlYlNXU2VydmVyQ29ubmVjdGlvbjo6dXBkYXRlUmVnaXN0
cmF0aW9uU3RhdGVJbkNsaWVudChTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciBp
ZGVudGlmaWVyLCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uU3RhdGUgc3RhdGUsIHN0ZDo6b3B0
aW9uYWw8U2VydmljZVdvcmtlcklkZW50aWZpZXI+IHNlcnZpY2VXb3JrZXJJZGVudGlmaWVyKQog
ewotICAgIHNlbmQoTWVzc2FnZXM6OldlYlNXQ2xpZW50Q29ubmVjdGlvbjo6VXBkYXRlUmVnaXN0
cmF0aW9uU3RhdGUoa2V5LCBzdGF0ZSwgc2VydmljZVdvcmtlcklkZW50aWZpZXIpKTsKKyAgICBz
ZW5kKE1lc3NhZ2VzOjpXZWJTV0NsaWVudENvbm5lY3Rpb246OlVwZGF0ZVJlZ2lzdHJhdGlvblN0
YXRlKGlkZW50aWZpZXIsIHN0YXRlLCBzZXJ2aWNlV29ya2VySWRlbnRpZmllcikpOwogfQogCi12
b2lkIFdlYlNXU2VydmVyQ29ubmVjdGlvbjo6ZmlyZVVwZGF0ZUZvdW5kRXZlbnQoY29uc3QgU2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbktleSYga2V5KQordm9pZCBXZWJTV1NlcnZlckNvbm5lY3Rp
b246OmZpcmVVcGRhdGVGb3VuZEV2ZW50KFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlm
aWVyIGlkZW50aWZpZXIpCiB7Ci0gICAgc2VuZChNZXNzYWdlczo6V2ViU1dDbGllbnRDb25uZWN0
aW9uOjpGaXJlVXBkYXRlRm91bmRFdmVudChrZXkpKTsKKyAgICBzZW5kKE1lc3NhZ2VzOjpXZWJT
V0NsaWVudENvbm5lY3Rpb246OkZpcmVVcGRhdGVGb3VuZEV2ZW50KGlkZW50aWZpZXIpKTsKIH0K
IAogdm9pZCBXZWJTV1NlcnZlckNvbm5lY3Rpb246OnVwZGF0ZVdvcmtlclN0YXRlSW5DbGllbnQo
U2VydmljZVdvcmtlcklkZW50aWZpZXIgd29ya2VyLCBTZXJ2aWNlV29ya2VyU3RhdGUgc3RhdGUp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIv
V2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1Nl
cnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmgKaW5kZXggMzhlZGI0Y2FjNmVmNDFm
Njc2YWFiMGFkMWViMzVkMTM0MmFhMmZjOC4uMTM2MWMyYzE2OWI3NzM0YTBhMjI4NDQyOGU5Njkz
ODhmODMyN2RiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9TZXJ2
aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU3Rv
cmFnZVByb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uaApAQCAtNjUs
OSArNjUsOSBAQCBwcml2YXRlOgogICAgIHZvaWQgcmVzb2x2ZVJlZ2lzdHJhdGlvbkpvYkluQ2xp
ZW50KHVpbnQ2NF90IGpvYklkZW50aWZpZXIsIGNvbnN0IFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb25EYXRhJiwgV2ViQ29yZTo6U2hvdWxkTm90aWZ5V2hlblJlc29sdmVkKSBmaW5h
bDsKICAgICB2b2lkIHJlc29sdmVVbnJlZ2lzdHJhdGlvbkpvYkluQ2xpZW50KHVpbnQ2NF90IGpv
YklkZW50aWZpZXIsIGNvbnN0IFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkm
LCBib29sIHVucmVnaXN0cmF0aW9uUmVzdWx0KSBmaW5hbDsKICAgICB2b2lkIHN0YXJ0U2NyaXB0
RmV0Y2hJbkNsaWVudCh1aW50NjRfdCBqb2JJZGVudGlmaWVyKSBmaW5hbDsKLSAgICB2b2lkIHVw
ZGF0ZVJlZ2lzdHJhdGlvblN0YXRlSW5DbGllbnQoY29uc3QgV2ViQ29yZTo6U2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbktleSYsIFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25TdGF0
ZSwgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRlbnRpZmllcj4pIGZpbmFs
OworICAgIHZvaWQgdXBkYXRlUmVnaXN0cmF0aW9uU3RhdGVJbkNsaWVudChXZWJDb3JlOjpTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciwgV2ViQ29yZTo6U2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvblN0YXRlLCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVu
dGlmaWVyPikgZmluYWw7CiAgICAgdm9pZCB1cGRhdGVXb3JrZXJTdGF0ZUluQ2xpZW50KFdlYkNv
cmU6OlNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyU3RhdGUp
IGZpbmFsOwotICAgIHZvaWQgZmlyZVVwZGF0ZUZvdW5kRXZlbnQoY29uc3QgV2ViQ29yZTo6U2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbktleSYpIGZpbmFsOworICAgIHZvaWQgZmlyZVVwZGF0ZUZv
dW5kRXZlbnQoV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIpIGZp
bmFsOwogCiAgICAgdm9pZCBzdGFydEZldGNoKHVpbnQ2NF90IGZldGNoSWRlbnRpZmllciwgc3Rk
OjpvcHRpb25hbDxXZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRlbnRpZmllcj4sIGNvbnN0IFdlYkNv
cmU6OlJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFdlYkNvcmU6OkZldGNoT3B0aW9ucyYpOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2Vi
U1dTZXJ2ZXJDb25uZWN0aW9uLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9TdG9yYWdlUHJv
Y2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5tZXNzYWdlcy5pbgppbmRl
eCA1ZjVkNjgxMDlhYWRlMzk3MTRmMjAzNzZmNWM5OWEwMjY2MjkwOTk2Li40MmMzZmM2YjJiNTkz
MmMzN2I4MDBiMmEyN2I3MGYzYWNiZjM4NTZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1N0
b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLm1lc3NhZ2Vz
LmluCisrKyBiL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU2VydmljZVdvcmtlci9XZWJT
V1NlcnZlckNvbm5lY3Rpb24ubWVzc2FnZXMuaW4KQEAgLTI2LDggKzI2LDggQEAgbWVzc2FnZXMg
LT4gV2ViU1dTZXJ2ZXJDb25uZWN0aW9uIHsKICAgICAjIFdoZW4gcG9zc2libGUsIHRoZXNlIG1l
c3NhZ2VzIGNhbiBiZSBpbXBsZW1lbnRlZCBkaXJlY3RseSBieSBXZWJDb3JlOjpTV0NsaWVudENv
bm5lY3Rpb24KICAgICBTY2hlZHVsZUpvYkluU2VydmVyKHN0cnVjdCBXZWJDb3JlOjpTZXJ2aWNl
V29ya2VySm9iRGF0YSBqb2JEYXRhKQogICAgIEZpbmlzaEZldGNoaW5nU2NyaXB0SW5TZXJ2ZXIo
c3RydWN0IFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJGZXRjaFJlc3VsdCByZXN1bHQpCi0gICAgQWRk
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkluU2VydmVyKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb25LZXkga2V5LCB1aW50NjRfdCByZWdpc3RyYXRpb25JZGVudGlmaWVyKQotICAg
IFJlbW92ZVNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JblNlcnZlcihXZWJDb3JlOjpTZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uS2V5IGtleSwgdWludDY0X3QgcmVnaXN0cmF0aW9uSWRlbnRpZmll
cikKKyAgICBBZGRTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSW5TZXJ2ZXIoV2ViQ29yZTo6U2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbktleSBrZXksIFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdp
c3RyYXRpb25JZGVudGlmaWVyIGlkZW50aWZpZXIpCisgICAgUmVtb3ZlU2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbkluU2VydmVyKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkg
a2V5LCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciBpZGVudGlm
aWVyKQogCiAgICAgU3RhcnRGZXRjaCh1aW50NjRfdCBpZGVudGlmaWVyLCBzdGQ6Om9wdGlvbmFs
PFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVudGlmaWVyPiBzZXJ2aWNlV29ya2VySWRlbnRpZmll
ciwgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QsIHN0cnVjdCBXZWJDb3JlOjpGZXRj
aE9wdGlvbnMgb3B0aW9ucykKICAgICBQb3N0TWVzc2FnZVRvU2VydmljZVdvcmtlckdsb2JhbFNj
b3BlKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIGRlc3RpbmF0aW9uU2VydmljZVdv
cmtlcklkZW50aWZpZXIsIElQQzo6RGF0YVJlZmVyZW5jZSBtZXNzYWdlLCB1aW50NjRfdCBzb3Vy
Y2VTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllciwgU3RyaW5nIHNvdXJjZU9yaWdpbikK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50
Q29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0Ns
aWVudENvbm5lY3Rpb24uY3BwCmluZGV4IGVjOTUxNzVhOTgzMmMyYmI2MGU5MjQ0MjI4NDQ3MDMw
ZWYzZWRmOTguLmI0YzZkYWNmYTVmMWNiNDViZDQxMzkwNmJlM2I5Mzg3YWRmMDQ4YzcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVj
dGlvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGll
bnRDb25uZWN0aW9uLmNwcApAQCAtNzAsMTQgKzcwLDE0IEBAIHZvaWQgV2ViU1dDbGllbnRDb25u
ZWN0aW9uOjpmaW5pc2hGZXRjaGluZ1NjcmlwdEluU2VydmVyKGNvbnN0IFNlcnZpY2VXb3JrZXJG
ZXRjCiAgICAgc2VuZChNZXNzYWdlczo6V2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjpGaW5pc2hGZXRj
aGluZ1NjcmlwdEluU2VydmVyKHJlc3VsdCkpOwogfQogCi12b2lkIFdlYlNXQ2xpZW50Q29ubmVj
dGlvbjo6YWRkU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkluU2VydmVyKGNvbnN0IFNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb25LZXkmIGtleSwgdWludDY0X3QgcmVnaXN0cmF0aW9uSWRlbnRpZmll
cikKK3ZvaWQgV2ViU1dDbGllbnRDb25uZWN0aW9uOjphZGRTZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uSW5TZXJ2ZXIoY29uc3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleSYga2V5LCBTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciBpZGVudGlmaWVyKQogewotICAgIHNlbmQo
TWVzc2FnZXM6OldlYlNXU2VydmVyQ29ubmVjdGlvbjo6QWRkU2VydmljZVdvcmtlclJlZ2lzdHJh
dGlvbkluU2VydmVyKGtleSwgcmVnaXN0cmF0aW9uSWRlbnRpZmllcikpOworICAgIHNlbmQoTWVz
c2FnZXM6OldlYlNXU2VydmVyQ29ubmVjdGlvbjo6QWRkU2VydmljZVdvcmtlclJlZ2lzdHJhdGlv
bkluU2VydmVyKGtleSwgaWRlbnRpZmllcikpOwogfQogCi12b2lkIFdlYlNXQ2xpZW50Q29ubmVj
dGlvbjo6cmVtb3ZlU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkluU2VydmVyKGNvbnN0IFNlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb25LZXkmIGtleSwgdWludDY0X3QgcmVnaXN0cmF0aW9uSWRlbnRp
ZmllcikKK3ZvaWQgV2ViU1dDbGllbnRDb25uZWN0aW9uOjpyZW1vdmVTZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uSW5TZXJ2ZXIoY29uc3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleSYga2V5
LCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciBpZGVudGlmaWVyKQogewotICAg
IHNlbmQoTWVzc2FnZXM6OldlYlNXU2VydmVyQ29ubmVjdGlvbjo6UmVtb3ZlU2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbkluU2VydmVyKGtleSwgcmVnaXN0cmF0aW9uSWRlbnRpZmllcikpOworICAg
IHNlbmQoTWVzc2FnZXM6OldlYlNXU2VydmVyQ29ubmVjdGlvbjo6UmVtb3ZlU2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbkluU2VydmVyKGtleSwgaWRlbnRpZmllcikpOwogfQogCiB2b2lkIFdlYlNX
Q2xpZW50Q29ubmVjdGlvbjo6cG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZShT
ZXJ2aWNlV29ya2VySWRlbnRpZmllciBkZXN0aW5hdGlvbklkZW50aWZpZXIsIFJlZjxTZXJpYWxp
emVkU2NyaXB0VmFsdWU+JiYgc2NyaXB0VmFsdWUsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIHNv
dXJjZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNX
Q2xpZW50Q29ubmVjdGlvbi5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2Vi
U1dDbGllbnRDb25uZWN0aW9uLmgKaW5kZXggNDViZjJlOWRjN2I4YTBkYjM5NTZhMzc0OWM2ZmMw
YWZkNjA3NzEzZi4uYWQ2NDJjOTAyZjAxYmY3ZDY5OGM2OGVjODI0MTllYmNhYWE0OGI1MiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25u
ZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGll
bnRDb25uZWN0aW9uLmgKQEAgLTU0LDggKzU0LDggQEAgcHVibGljOgogCiAgICAgdWludDY0X3Qg
aWRlbnRpZmllcigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1faWRlbnRpZmllcjsgfQogCi0gICAg
dm9pZCBhZGRTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSW5TZXJ2ZXIoY29uc3QgV2ViQ29yZTo6
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleSYsIHVpbnQ2NF90IHJlZ2lzdHJhdGlvbklkZW50
aWZpZXIpIGZpbmFsOwotICAgIHZvaWQgcmVtb3ZlU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklu
U2VydmVyKGNvbnN0IFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkmLCB1aW50
NjRfdCByZWdpc3RyYXRpb25JZGVudGlmaWVyKSBmaW5hbDsKKyAgICB2b2lkIGFkZFNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb25JblNlcnZlcihjb25zdCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uS2V5JiwgV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZp
ZXIpIGZpbmFsOworICAgIHZvaWQgcmVtb3ZlU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkluU2Vy
dmVyKGNvbnN0IFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkmLCBXZWJDb3Jl
OjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcikgZmluYWw7CiAKICAgICB2b2lk
IGRpc2Nvbm5lY3RlZEZyb21XZWJQcm9jZXNzKCk7CiAgICAgdm9pZCBkaWRSZWNlaXZlTWVzc2Fn
ZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXImKSBmaW5hbDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5tZXNz
YWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29u
bmVjdGlvbi5tZXNzYWdlcy5pbgppbmRleCA2YTM0N2M0NDU5YWI2YTBmNTliMzNhODc1ZTY5MDRh
YzBhMTUzZmVmLi41MzNkY2U2MWRjMTU2ODFlYTFhODRkNzdjYzk5MDY1NDdiMWYzYWJhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5l
Y3Rpb24ubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2Uv
V2ViU1dDbGllbnRDb25uZWN0aW9uLm1lc3NhZ2VzLmluCkBAIC0yOCw5ICsyOCw5IEBAIG1lc3Nh
Z2VzIC0+IFdlYlNXQ2xpZW50Q29ubmVjdGlvbiB7CiAgICAgUmVnaXN0cmF0aW9uSm9iUmVzb2x2
ZWRJblNlcnZlcih1aW50NjRfdCBpZGVudGlmaWVyLCBzdHJ1Y3QgV2ViQ29yZTo6U2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbkRhdGEgcmVnaXN0cmF0aW9uLCBlbnVtIFdlYkNvcmU6OlNob3VsZE5v
dGlmeVdoZW5SZXNvbHZlZCBzaG91bGROb3RpZnlXaGVuUmVzb2x2ZWQpCiAgICAgVW5yZWdpc3Ry
YXRpb25Kb2JSZXNvbHZlZEluU2VydmVyKHVpbnQ2NF90IGlkZW50aWZpZXIsIGJvb2wgdW5yZWdp
c3RyYXRpb25SZXN1bHQpCiAgICAgU3RhcnRTY3JpcHRGZXRjaEZvclNlcnZlcih1aW50NjRfdCBq
b2JJZGVudGlmaWVyKQotICAgIFVwZGF0ZVJlZ2lzdHJhdGlvblN0YXRlKFdlYkNvcmU6OlNlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb25LZXkga2V5LCBlbnVtIFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb25TdGF0ZSBzdGF0ZSwgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpTZXJ2aWNlV29y
a2VySWRlbnRpZmllcj4gc2VydmljZVdvcmtlcklkZW50aWZpZXIpCisgICAgVXBkYXRlUmVnaXN0
cmF0aW9uU3RhdGUoV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIg
aWRlbnRpZmllciwgZW51bSBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uU3RhdGUg
c3RhdGUsIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6U2VydmljZVdvcmtlcklkZW50aWZpZXI+IHNl
cnZpY2VXb3JrZXJJZGVudGlmaWVyKQogICAgIFVwZGF0ZVdvcmtlclN0YXRlKFdlYkNvcmU6OlNl
cnZpY2VXb3JrZXJJZGVudGlmaWVyIHNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCBlbnVtIFdlYkNv
cmU6OlNlcnZpY2VXb3JrZXJTdGF0ZSBzdGF0ZSkKLSAgICBGaXJlVXBkYXRlRm91bmRFdmVudChX
ZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5IGtleSkKKyAgICBGaXJlVXBkYXRl
Rm91bmRFdmVudChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciBp
ZGVudGlmaWVyKQogCiAgICAgU2V0U1dPcmlnaW5UYWJsZVNoYXJlZE1lbW9yeShXZWJLaXQ6OlNo
YXJlZE1lbW9yeTo6SGFuZGxlIGhhbmRsZSkKICAgICBQb3N0TWVzc2FnZVRvU2VydmljZVdvcmtl
ckNsaWVudCh1aW50NjRfdCBkZXN0aW5hdGlvblNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlm
aWVyLCBJUEM6OkRhdGFSZWZlcmVuY2UgbWVzc2FnZSwgV2ViQ29yZTo6U2VydmljZVdvcmtlcklk
ZW50aWZpZXIgc291cmNlU2VydmljZVdvcmtlcklkZW50aWZpZXIsIFN0cmluZyBzb3VyY2VPcmln
aW4pCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKaW5kZXggNzc3YjdhNTExODRjNmY0ZmViOWVkZWYwNjFlYzIyNzBhYTMyMTkzZS4uMzI5
OWNlNmMwNWQ1ZmYwYmQyODQ5YWNhOTJlMjkwNGUxMzk2ODlkYSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE3
IEBACiAyMDE3LTExLTA5ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKKyAgICAg
ICAgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbiBvYmplY3RzIG1heSBnZXQgcmVjeWNsZWQgZm9y
IGRpZmZlcmVudCBTV1NlcnZlclJlZ2lzdHJhdGlvbiBvYmplY3RzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzk1MTcKKworICAgICAgICBSZXZpZXdl
ZCBieSBCcmFkeSBFaWRzb24uCisKKyAgICAgICAgQWRkIGxheW91dCB0ZXN0IGNvdmVyYWdlLgor
CisgICAgICAgICogaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvYmFzaWMtdW5yZWdpc3Rlci10
aGVuLXJlZ2lzdGVyLWFnYWluLW5vLXJldXNlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvYmFzaWMtdW5yZWdpc3Rlci10aGVuLXJlZ2lz
dGVyLWFnYWluLW5vLXJldXNlLmh0bWw6IEFkZGVkLgorCisyMDE3LTExLTA5ICBDaHJpcyBEdW1l
eiAgPGNkdW1lekBhcHBsZS5jb20+CisKICAgICAgICAgVW5yZXZpZXdlZCwgcmViYXNlbGluZSBm
bGFreSAvIHNraXBwZWQgc2VydmljZSB3b3JrZXIgdGVzdHMKICAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3OTUyMQogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0No
YW5nZUxvZwppbmRleCAzOTRlZjI0NjhjZTM2NmUxMzA0ZjU5NmM1NmVjYjViNjI4MDA4NzEwLi4x
MmM4MzQ2NDdiOTkxMTMzYmY3MGQ5M2JjNjBmZmU1NzVmZjYxOTY4IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9DaGFuZ2VMb2cKQEAgLTEsNSArMSwyNCBAQAogMjAxNy0xMS0wOSAgQ2hyaXMgRHVtZXog
IDxjZHVtZXpAYXBwbGUuY29tPgogCisgICAgICAgIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24g
b2JqZWN0cyBtYXkgZ2V0IHJlY3ljbGVkIGZvciBkaWZmZXJlbnQgU1dTZXJ2ZXJSZWdpc3RyYXRp
b24gb2JqZWN0cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTc5NTE3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQnJhZHkgRWlkc29uLgorCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZWFk
eS5odHRwcy1leHBlY3RlZC50eHQ6CisgICAgICAgIFRoZSB0ZXN0IGZhaWxzIGRpZmZlcmVudGx5
LiBUaGUgZmFpbHVyZSBpcyBleHBlY3RlZCBoZXJlIHNpbmNlIHdlIGRvIG5vdCBpbXBsZW1lbnQg
dGhlCisgICAgICAgICJUcnkgQ2xlYXIgUmVnaXN0cmF0aW9uIiBhbGdvcml0aG0uIEFzIGEgcmVz
dWx0LCB3ZSBkbyBub3Qgc3VwcG9ydCByZXN1cnJlY3RpbmcgYQorICAgICAgICByZWdpc3RyYXRp
b24gd2l0aCB0aGUgJ3VuaW5zdGFsbGluZycgZmxhZyBzZXQuIFdlIGFsd2F5cyBjbGVhciB1bmlu
c3RhbGxpbmcgcmVnaXN0cmF0aW9ucworICAgICAgICBvbiBzZXJ2ZXIgc2lkZSBmb3Igbm93Lgor
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci91bnJlZ2lzdGVyLXRoZW4tcmVnaXN0ZXIuaHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAg
ICBTYW1lIHJlYXNvbiBhcyBhYm92ZS4gVGhlIHNlY29uZCBjaGVja3MgY2FsbHMgdW5yZWdpc3Rl
cigpIGZvciBhIHJlZ2lzdHJhdGlvbiB0aGF0IGlzICJpbiB1c2UiCisgICAgICAgIGFzIGV4cGVj
dHMgaXQgdG8gZ2V0IHJlc3VycmVjdGVkIHdoZW4gY2FsbGluZyByZWdpc3RlcigpIGFnYWluLiBX
ZSBjdXJyZW50bHkgYWx3YXlzIGNsZWFyCisgICAgICAgIHJlZ2lzdHJhdGlvbnMgdGhhdCBhcmUg
dW5yZWdpc3RlcmVkIG9uIHNlcnZlciBzaWRlLgorCisKKzIwMTctMTEtMDkgIENocmlzIER1bWV6
ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKwogICAgICAgICBVbnJldmlld2VkLCBlYmFzZWxpbmUgZmxh
a3kgLyBza2lwcGVkIHNlcnZpY2Ugd29ya2VyIHRlc3RzCiAgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzk1MjEKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvYmFzaWMtdW5yZWdpc3Rlci10aGVuLXJlZ2lz
dGVyLWFnYWluLW5vLXJldXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
d29ya2Vycy9zZXJ2aWNlL2Jhc2ljLXVucmVnaXN0ZXItdGhlbi1yZWdpc3Rlci1hZ2Fpbi1uby1y
ZXVzZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzE2NzgwZWNkYmJjOTcyODUzYmViYWViYjdm
MDRiYWY3MmFjMmU0MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
d29ya2Vycy9zZXJ2aWNlL2Jhc2ljLXVucmVnaXN0ZXItdGhlbi1yZWdpc3Rlci1hZ2Fpbi1uby1y
ZXVzZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACitQQVNTOiByZWdpc3RyYXRpb24xIHNo
b3VsZCBub3QgaGF2ZSBhbiBpbnN0YWxsaW5nIHdvcmtlcgorUEFTUzogcmVnaXN0cmF0aW9uMSBz
aG91bGQgbm90IGhhdmUgYSB3YWl0aW5nIHdvcmtlcgorUEFTUzogcmVnaXN0cmF0aW9uMSBzaG91
bGQgaGF2ZSBhbiBhY3RpdmUgd29ya2VyCitQQVNTOiByZWdpc3RyYXRpb24yIHNob3VsZCBoYXZl
IGFuIGluc3RhbGxpbmcgd29ya2VyCitQQVNTOiByZWdpc3RyYXRpb24yIHNob3VsZCBub3QgaGF2
ZSBhIHdhaXRpbmcgd29ya2VyCitQQVNTOiByZWdpc3RyYXRpb24yIHNob3VsZCBub3QgaGF2ZSBh
biBhY3RpdmUgd29ya2VyCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29y
a2Vycy9zZXJ2aWNlL2Jhc2ljLXVucmVnaXN0ZXItdGhlbi1yZWdpc3Rlci1hZ2Fpbi1uby1yZXVz
ZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvYmFzaWMtdW5y
ZWdpc3Rlci10aGVuLXJlZ2lzdGVyLWFnYWluLW5vLXJldXNlLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmVm
OGU1MThiMzdiOTYyZDUyNjBmMGY3YTU2MmY0NmQxNGQ1NDk0MgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL2Jhc2ljLXVucmVnaXN0ZXIt
dGhlbi1yZWdpc3Rlci1hZ2Fpbi1uby1yZXVzZS5odG1sCkBAIC0wLDAgKzEsNTYgQEAKKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3N3LXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KKworYXN5bmMgZnVuY3Rpb24gdGVzdCgpCit7
CisgICAgdHJ5IHsKKyAgICAgICAgIGxldCByZWdpc3RyYXRpb24xID0gYXdhaXQgbmF2aWdhdG9y
LnNlcnZpY2VXb3JrZXIucmVnaXN0ZXIoInJlc291cmNlcy9lbXB0eS5qcyIsIHsgfSk7CisgICAg
ICAgICBhd2FpdCB3YWl0Rm9yU3RhdGUocmVnaXN0cmF0aW9uMS5pbnN0YWxsaW5nLCAiYWN0aXZh
dGVkIik7CisgICAgICAgICBpZiAocmVnaXN0cmF0aW9uMS5pbnN0YWxsaW5nKQorICAgICAgICAg
ICAgIGxvZygiRkFJTDogcmVnaXN0cmF0aW9uMSBzaG91bGQgbm90IGhhdmUgYW4gaW5zdGFsbGlu
ZyB3b3JrZXIiKTsKKyAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICBsb2coIlBBU1M6IHJlZ2lz
dHJhdGlvbjEgc2hvdWxkIG5vdCBoYXZlIGFuIGluc3RhbGxpbmcgd29ya2VyIik7CisKKyAgICAg
ICAgIGlmIChyZWdpc3RyYXRpb24xLndhaXRpbmcpCisgICAgICAgICAgICAgbG9nKCJGQUlMOiBy
ZWdpc3RyYXRpb24xIHNob3VsZCBub3QgaGF2ZSBhIHdhaXRpbmcgd29ya2VyIik7CisgICAgICAg
ICBlbHNlCisgICAgICAgICAgICAgbG9nKCJQQVNTOiByZWdpc3RyYXRpb24xIHNob3VsZCBub3Qg
aGF2ZSBhIHdhaXRpbmcgd29ya2VyIik7CisKKyAgICAgICAgIGlmIChyZWdpc3RyYXRpb24xLmFj
dGl2ZSkKKyAgICAgICAgICAgICBsb2coIlBBU1M6IHJlZ2lzdHJhdGlvbjEgc2hvdWxkIGhhdmUg
YW4gYWN0aXZlIHdvcmtlciIpOworICAgICAgICAgZWxzZQorICAgICAgICAgICAgIGxvZygiRkFJ
TDogcmVnaXN0cmF0aW9uMSBzaG91bGQgaGF2ZSBhbiBhY3RpdmUgd29ya2VyIik7CisKKyAgICAg
ICAgIGF3YWl0IHJlZ2lzdHJhdGlvbjEudW5yZWdpc3RlcigpOworCisgICAgICAgICBsZXQgcmVn
aXN0cmF0aW9uMiA9IGF3YWl0IG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLnJlZ2lzdGVyKCJyZXNv
dXJjZXMvZW1wdHkuanMiLCB7IH0pOworICAgICAgICAgaWYgKHJlZ2lzdHJhdGlvbjIuaW5zdGFs
bGluZykKKyAgICAgICAgICAgICBsb2coIlBBU1M6IHJlZ2lzdHJhdGlvbjIgc2hvdWxkIGhhdmUg
YW4gaW5zdGFsbGluZyB3b3JrZXIiKTsKKyAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICBsb2co
IkZBSUw6IHJlZ2lzdHJhdGlvbjIgc2hvdWxkIGhhdmUgYW4gaW5zdGFsbGluZyB3b3JrZXIiKTsK
KworICAgICAgICAgaWYgKHJlZ2lzdHJhdGlvbjIud2FpdGluZykKKyAgICAgICAgICAgICBsb2co
IkZBSUw6IHJlZ2lzdHJhdGlvbjIgc2hvdWxkIG5vdCBoYXZlIGEgd2FpdGluZyB3b3JrZXIiKTsK
KyAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICBsb2coIlBBU1M6IHJlZ2lzdHJhdGlvbjIgc2hv
dWxkIG5vdCBoYXZlIGEgd2FpdGluZyB3b3JrZXIiKTsKKworICAgICAgICAgaWYgKHJlZ2lzdHJh
dGlvbjIuYWN0aXZlKQorICAgICAgICAgICAgIGxvZygiRkFJTDogcmVnaXN0cmF0aW9uMiBzaG91
bGQgbm90IGhhdmUgYW4gYWN0aXZlIHdvcmtlciIpOworICAgICAgICAgZWxzZQorICAgICAgICAg
ICAgIGxvZygiUEFTUzogcmVnaXN0cmF0aW9uMiBzaG91bGQgbm90IGhhdmUgYW4gYWN0aXZlIHdv
cmtlciIpOworCisgICAgfSBjYXRjaCAoZSkgeworICAgICAgICBsb2coIkZBSUw6IEdvdCBleGNl
cHRpb24gIiArIGUpOworICAgIH0KKworICAgIGZpbmlzaFNXVGVzdCgpOworfQorCit0ZXN0KCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL3JlYWR5Lmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3JlYWR5Lmh0
dHBzLWV4cGVjdGVkLnR4dAppbmRleCAwNDg5NDE3ZGY3MjI4OTYxZmJkNDIyZGUwNGNmMGYyNjcz
NTNiNTJkLi5hNTUxNzBlZTg1MzU1MDM3YjJhYTUxMDVhZGI3NDAxYTc2OThmODZkIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZWFkeS5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvcmVhZHkuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xMCw1ICsxMCw1IEBA
IEZBSUwgcmVhZHkgb24gYW4gaWZyYW1lIHdob3NlIHBhcmVudCByZWdpc3RlcnMgYSBuZXcgc2Vy
dmljZSB3b3JrZXIgcHJvbWlzZV90ZXN0CiBGQUlMIHJlYWR5IG9uIGFuIGlmcmFtZSB0aGF0IGlu
c3RhbGxzIGEgbmV3IHNlcnZpY2Ugd29ya2VyIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVj
dGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlVua25vd25FcnJvcjogc2VydmljZVdvcmtlci5yZWFk
eSgpIGlzIG5vdCB5ZXQgaW1wbGVtZW50ZWQiCiBGQUlMIHJlYWR5IGFmdGVyIGEgbG9uZ2VyIG1h
dGNoZWQgcmVnaXN0cmF0aW9uIHJlZ2lzdGVyZWQgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVW5rbm93bkVycm9yOiBzZXJ2aWNlV29ya2VyLnJl
YWR5KCkgaXMgbm90IHlldCBpbXBsZW1lbnRlZCIKIEZBSUwgYWNjZXNzIHJlYWR5IGFmdGVyIGl0
IGhhcyBiZWVuIHJlc29sdmVkIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIlVua25vd25FcnJvcjogc2VydmljZVdvcmtlci5yZWFkeSgpIGlzIG5v
dCB5ZXQgaW1wbGVtZW50ZWQiCi1GQUlMIGFjY2VzcyByZWFkeSBvbiB1bmluc3RhbGxpbmcgcmVn
aXN0cmF0aW9uIHRoYXQgaXMgcmVzdXJyZWN0ZWQgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVW5rbm93bkVycm9yOiBzZXJ2aWNlV29ya2VyLnJl
YWR5KCkgaXMgbm90IHlldCBpbXBsZW1lbnRlZCIKK0ZBSUwgYWNjZXNzIHJlYWR5IG9uIHVuaW5z
dGFsbGluZyByZWdpc3RyYXRpb24gdGhhdCBpcyByZXN1cnJlY3RlZCBhc3NlcnRfZXF1YWxzOiBl
eGlzdGluZyByZWdpc3RyYXRpb24gc2hvdWxkIGJlIHJlc3VycmVjdGVkIGV4cGVjdGVkIG9iamVj
dCAiW29iamVjdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uXSIgYnV0IGdvdCBvYmplY3QgIltv
YmplY3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbl0iCiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL3VucmVnaXN0ZXItdGhlbi1yZWdpc3Rlci5odHRwcy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci91bnJlZ2lzdGVyLXRoZW4tcmVnaXN0ZXIuaHR0cHMtZXhwZWN0ZWQu
dHh0CmluZGV4IGJkYjE5YWUxMTFkNGFkYzMzZWUyYTcyMDNhZDk2YjU5MzZlMjEyNjAuLjgwYzM1
MjU5NzA2MGNlZGFhYjAxMWUwODRmOTc2YzA4Zjk4MTE3ZWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL3VucmVnaXN0ZXItdGhlbi1yZWdpc3Rlci5odHRwcy1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvdW5yZWdpc3Rlci10aGVuLXJlZ2lzdGVyLmh0dHBzLWV4cGVj
dGVkLnR4dApAQCAtMSw3ICsxLDcgQEAKIAogCi1GQUlMIFVucmVnaXN0ZXIgdGhlbiByZWdpc3Rl
ciByZXNvbHZlcyB0byBhIG5ldyB2YWx1ZSBhc3NlcnRfdW5yZWFjaGVkOiB1bmV4cGVjdGVkIHJl
amVjdGlvbjogYXNzZXJ0X25vdF9lcXVhbHM6IHJlZ2lzdGVyIHNob3VsZCByZXNvbHZlIHRvIGEg
bmV3IHZhbHVlIGdvdCBkaXNhbGxvd2VkIHZhbHVlIG9iamVjdCAiW29iamVjdCBTZXJ2aWNlV29y
a2VyUmVnaXN0cmF0aW9uXSIgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCi1QQVNTIFVucmVnaXN0
ZXIgdGhlbiByZWdpc3RlciByZXNvbHZlcyB0byB0aGUgb3JpZ2luYWwgdmFsdWUgaWYgdGhlIHJl
Z2lzdHJhdGlvbiBpcyBpbiB1c2UuIAorUEFTUyBVbnJlZ2lzdGVyIHRoZW4gcmVnaXN0ZXIgcmVz
b2x2ZXMgdG8gYSBuZXcgdmFsdWUgCitGQUlMIFVucmVnaXN0ZXIgdGhlbiByZWdpc3RlciByZXNv
bHZlcyB0byB0aGUgb3JpZ2luYWwgdmFsdWUgaWYgdGhlIHJlZ2lzdHJhdGlvbiBpcyBpbiB1c2Uu
IGFzc2VydF91bnJlYWNoZWQ6IHVuZXhwZWN0ZWQgcmVqZWN0aW9uOiBhc3NlcnRfZXF1YWxzOiBu
ZXcgcmVnaXN0cmF0aW9uIHNob3VsZCByZXNvbHZlIHRvIHRoZSBzYW1lIHJlZ2lzdHJhdGlvbiBl
eHBlY3RlZCBvYmplY3QgIltvYmplY3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbl0iIGJ1dCBn
b3Qgb2JqZWN0ICJbb2JqZWN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25dIiBSZWFjaGVkIHVu
cmVhY2hhYmxlIGNvZGUKIFBBU1MgUmVsb2FkaW5nIHRoZSBsYXN0IGNvbnRyb2xsZWQgaWZyYW1l
IGFmdGVyIHVucmVnaXN0cmF0aW9uIHNob3VsZCBlbnN1cmUgdGhlIGRlbGV0aW9uIG9mIHRoZSBy
ZWdpc3RyYXRpb24gCiBGQUlMIFVucmVnaXN0ZXIgdGhlbiByZWdpc3RlciBkb2VzIG5vdCBhZmZl
Y3QgZXhpc3RpbmcgY29udHJvbGxlZSBhc3NlcnRfdW5yZWFjaGVkOiB1bmV4cGVjdGVkIHJlamVj
dGlvbjogYXNzZXJ0X2VxdWFsczogaW5zdGFsbGluZyB2ZXJzaW9uIGlzIG51bGwgZXhwZWN0ZWQg
bnVsbCBidXQgZ290IG9iamVjdCAiW29iamVjdCBTZXJ2aWNlV29ya2VyXSIgUmVhY2hlZCB1bnJl
YWNoYWJsZSBjb2RlCiBGQUlMIFVucmVnaXN0ZXIgdGhlbiByZWdpc3RlciByZXN1cnJlY3RzIHRo
ZSByZWdpc3RyYXRpb24gYXNzZXJ0X3VucmVhY2hlZDogdW5leHBlY3RlZCByZWplY3Rpb246IGFz
c2VydF9ub3RfZXF1YWxzOiBkb2N1bWVudCBzaG91bGQgaGF2ZSBhIGNvbnRyb2xsZXIgZ290IGRp
c2FsbG93ZWQgdmFsdWUgbnVsbCBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUK
</data>

          </attachment>
      

    </bug>

</bugzilla>