<?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>179649</bug_id>
          
          <creation_ts>2017-11-13 19:06:43 -0800</creation_ts>
          <short_desc>Send ServiceWorkerData structs to the WebProcesses instead of ServiceWorkerIdentifiers</short_desc>
          <delta_ts>2017-11-15 09:32:34 -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>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1371217</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-11-13 19:06:43 -0800</bug_when>
    <thetext>Send ServiceWorkerData structs to the WebProcesses instead of ServiceWorkerIdentifiers so that the WebProcesses can correctly construct ServiceWorker objects, with the right attributes / state.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1371224</commentid>
    <comment_count>1</comment_count>
      <attachid>326840</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-11-13 19:45:16 -0800</bug_when>
    <thetext>Created attachment 326840
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1371236</commentid>
    <comment_count>2</comment_count>
      <attachid>326844</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-11-13 20:24:51 -0800</bug_when>
    <thetext>Created attachment 326844
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1371268</commentid>
    <comment_count>3</comment_count>
      <attachid>326844</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2017-11-13 22:02:08 -0800</bug_when>
    <thetext>Comment on attachment 326844
Patch

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

&gt; Source/WebCore/workers/service/ServiceWorkerData.cpp:40
&gt; +    return {
&gt; +        identifier,
&gt; +        scriptURL.isolatedCopy(),
&gt; +        state,
&gt; +        type
&gt; +    };

We don&apos;t normally multi-line something like this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1371276</commentid>
    <comment_count>4</comment_count>
      <attachid>326844</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-11-13 22:04:42 -0800</bug_when>
    <thetext>Comment on attachment 326844
Patch

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

&gt;&gt; Source/WebCore/workers/service/ServiceWorkerData.cpp:40
&gt;&gt; +    };
&gt; 
&gt; We don&apos;t normally multi-line something like this.

I followed your pattern in ServiceWorkerRegistrationData :P</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1371278</commentid>
    <comment_count>5</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2017-11-13 22:12:34 -0800</bug_when>
    <thetext>(In reply to Chris Dumez from comment #4)
&gt; Comment on attachment 326844 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=326844&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebCore/workers/service/ServiceWorkerData.cpp:40
&gt; &gt;&gt; +    };
&gt; &gt; 
&gt; &gt; We don&apos;t normally multi-line something like this.
&gt; 
&gt; I followed your pattern in ServiceWorkerRegistrationData :P

I think I multilined that because it was so many more thingies.

But probably shouldn&apos;t have. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1371280</commentid>
    <comment_count>6</comment_count>
      <attachid>326844</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-11-13 22:21:47 -0800</bug_when>
    <thetext>Comment on attachment 326844
Patch

Clearing flags on attachment: 326844

Committed r224804: &lt;https://trac.webkit.org/changeset/224804&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1371281</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-11-13 22:21:49 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1371875</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-11-15 09:32:34 -0800</bug_when>
    <thetext>&lt;rdar://problem/35561904&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>326840</attachid>
            <date>2017-11-13 19:45:16 -0800</date>
            <delta_ts>2017-11-13 20:24:50 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-179649-20171113194515.patch</filename>
            <type>text/plain</type>
            <size>79889</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI0NzcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGU0NDlhODgzM2EzMTc3
ZTRhZGI0ZmU2MDUyYWM2YmZiM2Q2MDk0My4uMDVkMDA4OWNhYTNmZjE3ZDRmYmMzYzc2ODI5YzI5
M2Q2NWNiNWM0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYwIEBACisyMDE3LTExLTEzICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgU2VuZCBTZXJ2aWNlV29ya2Vy
RGF0YSBzdHJ1Y3RzIHRvIHRoZSBXZWJQcm9jZXNzZXMgaW5zdGVhZCBvZiBTZXJ2aWNlV29ya2Vy
SWRlbnRpZmllcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE3OTY0OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFNlbmQgU2VydmljZVdvcmtlckRhdGEgc3RydWN0cyB0byB0aGUgV2ViUHJvY2Vzc2VzIGlu
c3RlYWQgb2YgU2VydmljZVdvcmtlcklkZW50aWZpZXJzIHNvIHRoYXQgdGhlCisgICAgICAgIFdl
YlByb2Nlc3NlcyBjYW4gY29ycmVjdGx5IGNvbnN0cnVjdCBTZXJ2aWNlV29ya2VyIG9iamVjdHMs
IHdpdGggdGhlIHJpZ2h0IGF0dHJpYnV0ZXMgLyBzdGF0ZS4KKworICAgICAgICBObyBuZXcgdGVz
dHMsIHJlYmFzZWxpbmVkIGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgICogU291cmNlcy50eHQ6
CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAq
IHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNl
cnZpY2VXb3JrZXI6OmdldE9yQ3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3Jr
ZXI6OlNlcnZpY2VXb3JrZXIpOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlcjo6flNl
cnZpY2VXb3JrZXIpOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlcjo6c2NoZWR1bGVU
YXNrVG9VcGRhdGVTdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyOjpwb3N0
TWVzc2FnZSk6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXIuaDoKKyAg
ICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjpzY2hlZHVsZVRhc2tUb1VwZGF0
ZVJlZ2lzdHJhdGlvblN0YXRlKToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdv
cmtlckNvbnRhaW5lci5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2Vy
RGF0YS5jcHA6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YS5jcHAuCisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNl
V29ya2VyRGF0YTo6aXNvbGF0ZWRDb3B5IGNvbnN0KToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZp
Y2UvU2VydmljZVdvcmtlckRhdGEuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlcldvcmtlci5jcHAuCisgICAgICAgIChXZWJDb3JlOjpT
ZXJ2aWNlV29ya2VyRGF0YTo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZp
Y2VXb3JrZXJEYXRhOjpkZWNvZGUpOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb246OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24pOgorICAgICAgICAoV2ViQ29y
ZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6dXBkYXRlU3RhdGVGcm9tU2VydmVyKToKKyAg
ICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5oOgorICAg
ICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YTo6aXNvbGF0
ZWRDb3B5IGNvbnN0KToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbkRhdGEuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb25EYXRhOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbkRhdGE6OmRlY29kZSk6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL3Nl
cnZlci9TV0NsaWVudENvbm5lY3Rpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1dDbGllbnRD
b25uZWN0aW9uOjpwb3N0TWVzc2FnZVRvU2VydmljZVdvcmtlckNsaWVudCk6CisgICAgICAgIChX
ZWJDb3JlOjpTV0NsaWVudENvbm5lY3Rpb246OnVwZGF0ZVJlZ2lzdHJhdGlvblN0YXRlKToKKyAg
ICAgICAgKiB3b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXQ2xpZW50Q29ubmVjdGlvbi5oOgorICAg
ICAgICAqIHdvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuaDoKKyAgICAgICAgKiB3b3Jr
ZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyUmVnaXN0cmF0aW9uLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlNXU2VydmVyUmVnaXN0cmF0aW9uOjp1cGRhdGVSZWdpc3RyYXRpb25TdGF0ZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpTV1NlcnZlclJlZ2lzdHJhdGlvbjo6ZGF0YSBjb25zdCk6CisgICAg
ICAgICogd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlcldvcmtlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTV1NlcnZlcldvcmtlcjo6U1dTZXJ2ZXJXb3JrZXIpOgorICAgICAgICAoV2Vi
Q29yZTo6bV9zY3JpcHQpOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2
ZXJXb3JrZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNXU2VydmVyV29ya2VyOjpzY3JpcHRVUkwg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6U1dTZXJ2ZXJXb3JrZXI6OnR5cGUgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6U1dTZXJ2ZXJXb3JrZXI6OmlkZW50aWZpZXIgY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6U1dTZXJ2ZXJXb3JrZXI6OnN0YXRlIGNvbnN0KToKKyAgICAgICAgKFdl
YkNvcmU6OlNXU2VydmVyV29ya2VyOjpzZXRTdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTV1Nl
cnZlcldvcmtlcjo6ZGF0YSBjb25zdCk6CisKIDIwMTctMTEtMTMgIENocmlzIER1bWV6ICA8Y2R1
bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBJbXBsZW1lbnQgIlNlcnZpY2UgV29ya2VyIEhhcyBO
byBQZW5kaW5nIEV2ZW50cyIgLyAiVXBkYXRlIFNlcnZpY2UgV29ya2VyIEV4dGVuZGVkIEV2ZW50
cyBTZXQiIGFsZ29yaXRobXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggYjU3YTI4MTdjNjFhZDNjYjUwM2Y5MjI0NDNm
ZTllYzJhMjY1NTQ1ZC4uMWFjNTlkZTQ3NzI2YjcwMWY2ZjA3OGYzYzJjOTU2OWY1MzI0ODdmNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxNy0xMS0xMyAgQ2hyaXMgRHVtZXogIDxjZHVt
ZXpAYXBwbGUuY29tPgorCisgICAgICAgIFNlbmQgU2VydmljZVdvcmtlckRhdGEgc3RydWN0cyB0
byB0aGUgV2ViUHJvY2Vzc2VzIGluc3RlYWQgb2YgU2VydmljZVdvcmtlcklkZW50aWZpZXJzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzk2NDkKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNoYXJlZC9X
ZWJDb3JlQXJndW1lbnRDb2RlcnMuaDoKKyAgICAgICAgKiBTdG9yYWdlUHJvY2Vzcy9TZXJ2aWNl
V29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlNX
U2VydmVyQ29ubmVjdGlvbjo6dXBkYXRlUmVnaXN0cmF0aW9uU3RhdGVJbkNsaWVudCk6CisgICAg
ICAgIChXZWJLaXQ6OldlYlNXU2VydmVyQ29ubmVjdGlvbjo6cG9zdE1lc3NhZ2VUb1NlcnZpY2VX
b3JrZXJDbGllbnQpOgorICAgICAgICAqIFN0b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2Vi
U1dTZXJ2ZXJDb25uZWN0aW9uLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNX
Q2xpZW50Q29ubmVjdGlvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlNXQ2xpZW50Q29ubmVj
dGlvbjo6cG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXJDbGllbnQpOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24uaDoKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLm1lc3NhZ2VzLmluOgorCiAyMDE3LTEx
LTEzICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgSW1wbGVtZW50
ICJTZXJ2aWNlIFdvcmtlciBIYXMgTm8gUGVuZGluZyBFdmVudHMiIC8gIlVwZGF0ZSBTZXJ2aWNl
IFdvcmtlciBFeHRlbmRlZCBFdmVudHMgU2V0IiBhbGdvcml0aG1zCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4
IDIzOWQ2OTllNjA1ODZhZmZiZDZiZmMxOGRiNTdhN2NiZWNhZmYxMDguLmRkZjA5YjllZDdmZTRm
ZGY3ZjFmZDA1NjE2MTFmNDIzYjg0MzRjZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1Nv
dXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CkBAIC0yMTcwLDYgKzIx
NzAsNyBAQCB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNsaWVudC5jcHAKIHdvcmtlcnMv
c2VydmljZS9TZXJ2aWNlV29ya2VyQ2xpZW50cy5jcHAKIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNl
V29ya2VyQ29udGFpbmVyLmNwcAogd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250ZXh0
RGF0YS5jcHAKK3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyRGF0YS5jcHAKIHdvcmtlcnMv
c2VydmljZS9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuY3BwCiB3b3JrZXJzL3NlcnZpY2UvU2Vy
dmljZVdvcmtlckpvYi5jcHAKIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VySm9iRGF0YS5j
cHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agppbmRleCBiZGViMDQwYmJiZjc5OGY3Y2UxMjlkZDQ3MGZiMjM0YzJmNWQzZTQ5Li44NmZlOTUz
ZThkY2JlNmJkZjM2ZWY4ZDMxNzU2NWY5ZTIyMzRmNDYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xNDI1LDcgKzE0MjUsNyBA
QAogCQk1MUU2ODIxMDE2Mzg3MzAyMDAzQkJGM0MgLyogTG9hZGVyU3RyYXRlZ3kuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRTY4MjBGMTYzODczMDIw
MDNCQkYzQyAvKiBMb2FkZXJTdHJhdGVneS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCTUxRUU3QjM4MUFBNTBCMDUwMEY5MkIyMSAvKiBSZXNvdXJj
ZUxvYWRJbmZvLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1MUVFN0IzNzFBQTUwQjA1MDBGOTJCMjEgLyogUmVzb3VyY2VMb2FkSW5mby5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTUxRUVBQTc0MUJFRkZB
QjEwMDIxODAwOCAvKiBJbmRleFZhbHVlRW50cnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRUVBQTcyMUJFRkZBNzkwMDIxODAwOCAvKiBJbmRleFZh
bHVlRW50cnkuaCAqLzsgfTsKLQkJNTFGMTc0RkUxRjM1ODk5MjAwQzc0OTUwIC8qIFdvcmtlclR5
cGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRjE3
NEZDMUYzNTg5ODgwMEM3NDk1MCAvKiBXb3JrZXJUeXBlLmggKi87IH07CisJCTUxRjE3NEZFMUYz
NTg5OTIwMEM3NDk1MCAvKiBXb3JrZXJUeXBlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1MUYxNzRGQzFGMzU4OTg4MDBDNzQ5NTAgLyogV29ya2VyVHlw
ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTUx
RjE3NTAzMUYzNThCM0IwMEM3NDk1MCAvKiBKU1NlcnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNoZS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFGMTc1MDEx
RjM1OEIzNjAwQzc0OTUwIC8qIEpTU2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlLmggKi87IH07
CiAJCTUxRjE3NTA2MUYzNThCRjcwMEM3NDk1MCAvKiBKU1dvcmtlclR5cGUuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRjE3NTA1MUYzNThCREUwMEM3
NDk1MCAvKiBKU1dvcmtlclR5cGUuaCAqLzsgfTsKIAkJNTFGMTc1NUQxRjNFQkM4MzAwQzc0OTUw
IC8qIFNlcnZpY2VXb3JrZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDUxRjE3NTVBMUYzRUJDMEMwMEM3NDk1MCAvKiBTZXJ2aWNlV29ya2VyLmggKi87
IH07CkBAIC0yMjQxLDYgKzIyNDEsNyBAQAogCQk4M0QzNUFFQzFDNzE4N0ZBMDBGNzBENUEgLyog
WE1MSHR0cFJlcXVlc3RFdmVudFRhcmdldC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gODNEMzVBRUExQzcxODdFRDAwRjcwRDVBIC8qIFhNTEh0dHBSZXF1
ZXN0RXZlbnRUYXJnZXQuaCAqLzsgfTsKIAkJODNEMzVBRjIxQzcxOEQ5MDAwRjcwRDVBIC8qIEpT
WE1MSHR0cFJlcXVlc3RFdmVudFRhcmdldC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gODNEMzVBRjAxQzcxOEQ4NDAwRjcwRDVBIC8qIEpTWE1MSHR0cFJl
cXVlc3RFdmVudFRhcmdldC5oICovOyB9OwogCQk4M0UzNTlBMjFCQjEwMzFEMDAyQ0VCOTggLyog
SlNIVE1MVGltZUVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDgzRTM1OUEwMUJCMTAzMUQwMDJDRUI5OCAvKiBKU0hUTUxUaW1lRWxlbWVudC5o
ICovOyB9OworCQk4M0U4NjY4MDFGQkE1NjVCMDA4ODU1QzUgLyogU2VydmljZVdvcmtlckRhdGEu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDgzRTg2NjdE
MUZCQTU2M0YwMDg4NTVDNSAvKiBTZXJ2aWNlV29ya2VyRGF0YS5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTgzRUU1OThGMUY1MDk1OEUwMDNFOEIz
MCAvKiBKU0Vycm9yQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDgzRUU1OThCMUY1MDk1OEIwMDNFOEIzMCAvKiBKU0Vycm9yQ2FsbGJhY2su
aCAqLzsgfTsKIAkJODNGQjMzNzExRjUwOEE1NDAwOTg2RTU0IC8qIEZpbGVTeXN0ZW1EaXJlY3Rv
cnlFbnRyeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
ODNGQjMzNkQxRjUwOEE0RTAwOTg2RTU0IC8qIEZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeS5oICov
OyB9OwogCQk4M0ZCMzM3MzFGNTA4QTU4MDA5ODZFNTQgLyogRmlsZVN5c3RlbUVudHJ5LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4M0ZCMzM2RjFGNTA4
QTRFMDA5ODZFNTQgLyogRmlsZVN5c3RlbUVudHJ5LmggKi87IH07CkBAIC05NTI2LDYgKzk1Mjcs
OCBAQAogCQk4M0UwNDVFRjFEQUExMDRGMDBCMEQ4QjkgLyogSlNVSUV2ZW50SW5pdC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1VJRXZlbnRJbml0Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTgzRTM1OUEwMUJCMTAzMUQwMDJDRUI5OCAvKiBKU0hUTUxUaW1l
RWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0hUTUxUaW1lRWxl
bWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4M0UzNTlBMTFCQjEwMzFEMDAy
Q0VCOTggLyogSlNIVE1MVGltZUVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gSlNIVE1MVGltZUVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk4M0U4NjY3RDFGQkE1NjNGMDA4ODU1QzUgLyogU2VydmljZVdvcmtlckRhdGEuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2VydmljZVdvcmtlckRhdGEuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODNFODY2N0YxRkJBNTY0MDAwODg1NUM1IC8qIFNl
cnZpY2VXb3JrZXJEYXRhLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFNlcnZpY2VXb3JrZXJEYXRhLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODNF
OTU5RTExQjhCQzIyQjAwNEQ5Mzg1IC8qIE5hdGl2ZU5vZGVGaWx0ZXIuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gTmF0aXZlTm9kZUZpbHRlci5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk4M0U5QjMwMDFEQTVBNTFFMDBGRkU4RjYgLyogSlNTY3JvbGxUb09wdGlv
bnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNTY3JvbGxUb09w
dGlvbnMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4M0U5QjMwMTFEQTVBNTFF
MDBGRkU4RjYgLyogSlNTY3JvbGxUb09wdGlvbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gSlNTY3JvbGxUb09wdGlvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
QEAgLTE3MjgwLDYgKzE3MjgzLDggQEAKIAkJCQk1MUYxNzU1NjFGM0VCQzBDMDBDNzQ5NTAgLyog
U2VydmljZVdvcmtlckNvbnRhaW5lci5pZGwgKi8sCiAJCQkJNTE3Qzg3MTYxRjhGRDREMzAwRUI4
MDc2IC8qIFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YS5jcHAgKi8sCiAJCQkJNTFDQTdFRTcxRjg4
MzJFMDAwM0QzMTMxIC8qIFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YS5oICovLAorCQkJCTgzRTg2
NjdGMUZCQTU2NDAwMDg4NTVDNSAvKiBTZXJ2aWNlV29ya2VyRGF0YS5jcHAgKi8sCisJCQkJODNF
ODY2N0QxRkJBNTYzRjAwODg1NUM1IC8qIFNlcnZpY2VXb3JrZXJEYXRhLmggKi8sCiAJCQkJNTE3
QTUzNUMxRjU4OTlGMjAwRENEQzBBIC8qIFNlcnZpY2VXb3JrZXJGZXRjaFJlc3VsdC5oICovLAog
CQkJCTUxRjE3NTU1MUYzRUJDMEMwMEM3NDk1MCAvKiBTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUu
Y3BwICovLAogCQkJCTUxRjE3NTU0MUYzRUJDMEMwMEM3NDk1MCAvKiBTZXJ2aWNlV29ya2VyR2xv
YmFsU2NvcGUuaCAqLywKQEAgLTE3MzE2LDEyNCArMTczMjEsMTI0IEBACiAJCQlpc2EgPSBQQlhH
cm91cDsKIAkJCWNoaWxkcmVuID0gKAogCQkJCTUzOEVDN0YzMUY5NkFBNUIwMDREMjJBOCAvKiBV
bmlmaWVkU291cmNlMS1tbS5tbSAqLywKLQkJCQk1MzhFQzdGODFGOTZBQTY5MDA0RDIyQTggLyog
VW5pZmllZFNvdXJjZTItbW0ubW0gKi8sCi0JCQkJNTM4RUM3RUQxRjk2QUE1NTAwNEQyMkE4IC8q
IFVuaWZpZWRTb3VyY2UzLW1tLm1tICovLAotCQkJCURFNUY4NTQ5MUZBMUFCQkQwMDZEQjYzQSAv
KiBVbmlmaWVkU291cmNlNC1tbS5tbSAqLywKLQkJCQlERTVGODU2NTFGQTFBQkQ2MDA2REI2M0Eg
LyogVW5pZmllZFNvdXJjZTUtbW0ubW0gKi8sCi0JCQkJREU1Rjg1NkIxRkExQUJEQjAwNkRCNjNB
IC8qIFVuaWZpZWRTb3VyY2U2LW1tLm1tICovLAotCQkJCURFNUY4NTVGMUZBMUFCRDEwMDZEQjYz
QSAvKiBVbmlmaWVkU291cmNlNy1tbS5tbSAqLywKLQkJCQlERTVGODUzRDFGQTFBQkIyMDA2REI2
M0EgLyogVW5pZmllZFNvdXJjZTgtbW0ubW0gKi8sCi0JCQkJREU1Rjg1NTQxRkExQUJDNzAwNkRC
NjNBIC8qIFVuaWZpZWRTb3VyY2U5LW1tLm1tICovLAotCQkJCURFNUY4NTYzMUZBMUFCRDUwMDZE
QjYzQSAvKiBVbmlmaWVkU291cmNlMTAtbW0ubW0gKi8sCi0JCQkJREU1Rjg1NjExRkExQUJEMzAw
NkRCNjNBIC8qIFVuaWZpZWRTb3VyY2UxMS1tbS5tbSAqLywKLQkJCQlERTVGODU2NDFGQTFBQkQ1
MDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTEyLW1tLm1tICovLAotCQkJCURFNUY4NTZBMUZBMUFC
REIwMDZEQjYzQSAvKiBVbmlmaWVkU291cmNlMTMtbW0ubW0gKi8sCi0JCQkJREU1Rjg1NEUxRkEx
QUJDMjAwNkRCNjNBIC8qIFVuaWZpZWRTb3VyY2UxNC1tbS5tbSAqLywKLQkJCQlERTVGODUzRTFG
QTFBQkIzMDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTE1LW1tLm1tICovLAotCQkJCURFNUY4NTVF
MUZBMUFCRDAwMDZEQjYzQSAvKiBVbmlmaWVkU291cmNlMTYtbW0ubW0gKi8sCi0JCQkJREU1Rjg1
NEExRkExQUJCRTAwNkRCNjNBIC8qIFVuaWZpZWRTb3VyY2UxNy1tbS5tbSAqLywKLQkJCQlERTVG
ODU1MDFGQTFBQkMzMDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTE4LW1tLm1tICovLAotCQkJCURF
NUY4NTUzMUZBMUFCQzYwMDZEQjYzQSAvKiBVbmlmaWVkU291cmNlMTktbW0ubW0gKi8sCi0JCQkJ
REU1Rjg1NTIxRkExQUJDNTAwNkRCNjNBIC8qIFVuaWZpZWRTb3VyY2UyMC1tbS5tbSAqLywKLQkJ
CQlERTVGODU1QTFGQTFBQkNEMDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTIxLW1tLm1tICovLAot
CQkJCURFNUY4NTREMUZBMUFCQzEwMDZEQjYzQSAvKiBVbmlmaWVkU291cmNlMjItbW0ubW0gKi8s
Ci0JCQkJREU1Rjg1NDExRkExQUJCNjAwNkRCNjNBIC8qIFVuaWZpZWRTb3VyY2UyMy1tbS5tbSAq
LywKLQkJCQlERTVGODU0NjFGQTFBQkJCMDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTI0LW1tLm1t
ICovLAotCQkJCURFNUY4NTQ3MUZBMUFCQkIwMDZEQjYzQSAvKiBVbmlmaWVkU291cmNlMjUtbW0u
bW0gKi8sCi0JCQkJREU1Rjg1NUQxRkExQUJDRjAwNkRCNjNBIC8qIFVuaWZpZWRTb3VyY2UyNi1t
bS5tbSAqLywKLQkJCQlERTVGODU2OTFGQTFBQkRBMDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTI3
LW1tLm1tICovLAotCQkJCURFNUY4NTNGMUZBMUFCQjQwMDZEQjYzQSAvKiBVbmlmaWVkU291cmNl
MjgtbW0ubW0gKi8sCi0JCQkJREU1Rjg1NjgxRkExQUJEOTAwNkRCNjNBIC8qIFVuaWZpZWRTb3Vy
Y2UyOS1tbS5tbSAqLywKLQkJCQlERTVGODU0MjFGQTFBQkI3MDA2REI2M0EgLyogVW5pZmllZFNv
dXJjZTMwLW1tLm1tICovLAotCQkJCURFNUY4NTUxMUZBMUFCQzQwMDZEQjYzQSAvKiBVbmlmaWVk
U291cmNlMzEtbW0ubW0gKi8sCi0JCQkJREU1Rjg1NjAxRkExQUJEMjAwNkRCNjNBIC8qIFVuaWZp
ZWRTb3VyY2UzMi1tbS5tbSAqLywKLQkJCQlERTVGODU1QjFGQTFBQkNFMDA2REI2M0EgLyogVW5p
ZmllZFNvdXJjZTMzLW1tLm1tICovLAotCQkJCURFNUY4NTU3MUZBMUFCQ0EwMDZEQjYzQSAvKiBV
bmlmaWVkU291cmNlMzQtbW0ubW0gKi8sCi0JCQkJREU1Rjg1NDAxRkExQUJCNTAwNkRCNjNBIC8q
IFVuaWZpZWRTb3VyY2UzNS1tbS5tbSAqLywKLQkJCQlERTVGODU1NTFGQTFBQkM4MDA2REI2M0Eg
LyogVW5pZmllZFNvdXJjZTM2LW1tLm1tICovLAotCQkJCURFNUY4NTQ1MUZBMUFCQkEwMDZEQjYz
QSAvKiBVbmlmaWVkU291cmNlMzctbW0ubW0gKi8sCi0JCQkJREU1Rjg1NUMxRkExQUJDRTAwNkRC
NjNBIC8qIFVuaWZpZWRTb3VyY2UzOC1tbS5tbSAqLywKLQkJCQlERTVGODU1OTFGQTFBQkNDMDA2
REI2M0EgLyogVW5pZmllZFNvdXJjZTM5LW1tLm1tICovLAotCQkJCURFNUY4NTU2MUZBMUFCQzkw
MDZEQjYzQSAvKiBVbmlmaWVkU291cmNlNDAtbW0ubW0gKi8sCi0JCQkJREU1Rjg1NjYxRkExQUJE
NzAwNkRCNjNBIC8qIFVuaWZpZWRTb3VyY2U0MS1tbS5tbSAqLywKLQkJCQlERTVGODU0RjFGQTFB
QkMzMDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTQyLW1tLm1tICovLAotCQkJCURFNUY4NTQ4MUZB
MUFCQkMwMDZEQjYzQSAvKiBVbmlmaWVkU291cmNlNDMtbW0ubW0gKi8sCi0JCQkJREU1Rjg1NDMx
RkExQUJCODAwNkRCNjNBIC8qIFVuaWZpZWRTb3VyY2U0NC1tbS5tbSAqLywKLQkJCQlERTVGODU1
ODFGQTFBQkNCMDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTQ1LW1tLm1tICovLAotCQkJCURFNUY4
NTQ0MUZBMUFCQjkwMDZEQjYzQSAvKiBVbmlmaWVkU291cmNlNDYtbW0ubW0gKi8sCi0JCQkJREU1
Rjg1NjIxRkExQUJENDAwNkRCNjNBIC8qIFVuaWZpZWRTb3VyY2U0Ny1tbS5tbSAqLywKLQkJCQlE
RTVGODU2NzFGQTFBQkQ4MDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTQ4LW1tLm1tICovLAotCQkJ
CURFNUY4NTRCMUZBMUFCQkYwMDZEQjYzQSAvKiBVbmlmaWVkU291cmNlNDktbW0ubW0gKi8sCi0J
CQkJREU1Rjg1NEMxRkExQUJDMDAwNkRCNjNBIC8qIFVuaWZpZWRTb3VyY2U1MC1tbS5tbSAqLywK
LQkJCQlERTVGODYzNjFGQTJBRjA0MDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTUxLW1tLm1tICov
LAotCQkJCURFNUY4NjM3MUZBMkFGMDUwMDZEQjYzQSAvKiBVbmlmaWVkU291cmNlNTItbW0ubW0g
Ki8sCi0JCQkJREU1Rjg2MzUxRkEyQUYwMzAwNkRCNjNBIC8qIFVuaWZpZWRTb3VyY2U1My1tbS5t
bSAqLywKLQkJCQlERTVGODYzMzFGQTJBRjAwMDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTU0LW1t
Lm1tICovLAotCQkJCURFNUY4NjNCMUZBMkFGMDgwMDZEQjYzQSAvKiBVbmlmaWVkU291cmNlNTUt
bW0ubW0gKi8sCi0JCQkJREU1Rjg2MzQxRkEyQUYwMTAwNkRCNjNBIC8qIFVuaWZpZWRTb3VyY2U1
Ni1tbS5tbSAqLywKLQkJCQlERTVGODYzODFGQTJBRjA2MDA2REI2M0EgLyogVW5pZmllZFNvdXJj
ZTU3LW1tLm1tICovLAotCQkJCURFNUY4NjM5MUZBMkFGMDcwMDZEQjYzQSAvKiBVbmlmaWVkU291
cmNlNTgtbW0ubW0gKi8sCi0JCQkJREU1Rjg2MzIxRkEyQUVGRjAwNkRCNjNBIC8qIFVuaWZpZWRT
b3VyY2U1OS1tbS5tbSAqLywKLQkJCQlERTVGODYzQTFGQTJBRjA3MDA2REI2M0EgLyogVW5pZmll
ZFNvdXJjZTYwLW1tLm1tICovLAogCQkJCTUzOEVDN0ZBMUY5NkFBNzAwMDREMjJBOCAvKiBVbmlm
aWVkU291cmNlMS5jcHAgKi8sCisJCQkJNTM4RUM3RjgxRjk2QUE2OTAwNEQyMkE4IC8qIFVuaWZp
ZWRTb3VyY2UyLW1tLm1tICovLAogCQkJCTUzOEVDN0VFMUY5NkFBNTYwMDREMjJBOCAvKiBVbmlm
aWVkU291cmNlMi5jcHAgKi8sCisJCQkJNTM4RUM3RUQxRjk2QUE1NTAwNEQyMkE4IC8qIFVuaWZp
ZWRTb3VyY2UzLW1tLm1tICovLAogCQkJCTUzOEVDN0VDMUY5NkFBNTQwMDREMjJBOCAvKiBVbmlm
aWVkU291cmNlMy5jcHAgKi8sCisJCQkJREU1Rjg1NDkxRkExQUJCRDAwNkRCNjNBIC8qIFVuaWZp
ZWRTb3VyY2U0LW1tLm1tICovLAogCQkJCTUzOEVDN0VGMUY5NkFBNTcwMDREMjJBOCAvKiBVbmlm
aWVkU291cmNlNC5jcHAgKi8sCisJCQkJREU1Rjg1NjUxRkExQUJENjAwNkRCNjNBIC8qIFVuaWZp
ZWRTb3VyY2U1LW1tLm1tICovLAogCQkJCTUzOEVDN0YwMUY5NkFBNTgwMDREMjJBOCAvKiBVbmlm
aWVkU291cmNlNS5jcHAgKi8sCisJCQkJREU1Rjg1NkIxRkExQUJEQjAwNkRCNjNBIC8qIFVuaWZp
ZWRTb3VyY2U2LW1tLm1tICovLAogCQkJCTUzOEVDN0VCMUY5NkFBNTMwMDREMjJBOCAvKiBVbmlm
aWVkU291cmNlNi5jcHAgKi8sCisJCQkJREU1Rjg1NUYxRkExQUJEMTAwNkRCNjNBIC8qIFVuaWZp
ZWRTb3VyY2U3LW1tLm1tICovLAogCQkJCTUzOEVDN0YxMUY5NkFBNTkwMDREMjJBOCAvKiBVbmlm
aWVkU291cmNlNy5jcHAgKi8sCisJCQkJREU1Rjg1M0QxRkExQUJCMjAwNkRCNjNBIC8qIFVuaWZp
ZWRTb3VyY2U4LW1tLm1tICovLAogCQkJCTUzOEVDN0YyMUY5NkFBNUEwMDREMjJBOCAvKiBVbmlm
aWVkU291cmNlOC5jcHAgKi8sCisJCQkJREU1Rjg1NTQxRkExQUJDNzAwNkRCNjNBIC8qIFVuaWZp
ZWRTb3VyY2U5LW1tLm1tICovLAogCQkJCTUzOEVDN0ZFMUY5NkFBNzYwMDREMjJBOCAvKiBVbmlm
aWVkU291cmNlOS5jcHAgKi8sCisJCQkJREU1Rjg1NjMxRkExQUJENTAwNkRCNjNBIC8qIFVuaWZp
ZWRTb3VyY2UxMC1tbS5tbSAqLywKIAkJCQk1MzhFQzdGNTFGOTZBQTVFMDA0RDIyQTggLyogVW5p
ZmllZFNvdXJjZTEwLmNwcCAqLywKKwkJCQlERTVGODU2MTFGQTFBQkQzMDA2REI2M0EgLyogVW5p
ZmllZFNvdXJjZTExLW1tLm1tICovLAogCQkJCTUzOEVDN0Y0MUY5NkFBNUQwMDREMjJBOCAvKiBV
bmlmaWVkU291cmNlMTEuY3BwICovLAorCQkJCURFNUY4NTY0MUZBMUFCRDUwMDZEQjYzQSAvKiBV
bmlmaWVkU291cmNlMTItbW0ubW0gKi8sCiAJCQkJNTM4RUM3RjYxRjk2QUE1RjAwNEQyMkE4IC8q
IFVuaWZpZWRTb3VyY2UxMi5jcHAgKi8sCisJCQkJREU1Rjg1NkExRkExQUJEQjAwNkRCNjNBIC8q
IFVuaWZpZWRTb3VyY2UxMy1tbS5tbSAqLywKIAkJCQk1MzhFQzdGRDFGOTZBQTc0MDA0RDIyQTgg
LyogVW5pZmllZFNvdXJjZTEzLmNwcCAqLywKKwkJCQlERTVGODU0RTFGQTFBQkMyMDA2REI2M0Eg
LyogVW5pZmllZFNvdXJjZTE0LW1tLm1tICovLAogCQkJCTUzOEVDN0ZDMUY5NkFBNzMwMDREMjJB
OCAvKiBVbmlmaWVkU291cmNlMTQuY3BwICovLAorCQkJCURFNUY4NTNFMUZBMUFCQjMwMDZEQjYz
QSAvKiBVbmlmaWVkU291cmNlMTUtbW0ubW0gKi8sCiAJCQkJNTM4RUM3RkYxRjk2QUE3NzAwNEQy
MkE4IC8qIFVuaWZpZWRTb3VyY2UxNS5jcHAgKi8sCisJCQkJREU1Rjg1NUUxRkExQUJEMDAwNkRC
NjNBIC8qIFVuaWZpZWRTb3VyY2UxNi1tbS5tbSAqLywKIAkJCQk1MzhFQzdGNzFGOTZBQTYwMDA0
RDIyQTggLyogVW5pZmllZFNvdXJjZTE2LmNwcCAqLywKKwkJCQlERTVGODU0QTFGQTFBQkJFMDA2
REI2M0EgLyogVW5pZmllZFNvdXJjZTE3LW1tLm1tICovLAogCQkJCTUzOEVDODAxMUY5NkFBN0Ew
MDREMjJBOCAvKiBVbmlmaWVkU291cmNlMTcuY3BwICovLAorCQkJCURFNUY4NTUwMUZBMUFCQzMw
MDZEQjYzQSAvKiBVbmlmaWVkU291cmNlMTgtbW0ubW0gKi8sCiAJCQkJNTM4RUM3RkIxRjk2QUE3
MjAwNEQyMkE4IC8qIFVuaWZpZWRTb3VyY2UxOC5jcHAgKi8sCisJCQkJREU1Rjg1NTMxRkExQUJD
NjAwNkRCNjNBIC8qIFVuaWZpZWRTb3VyY2UxOS1tbS5tbSAqLywKIAkJCQk1MzhFQzdGOTFGOTZB
QTZFMDA0RDIyQTggLyogVW5pZmllZFNvdXJjZTE5LmNwcCAqLywKKwkJCQlERTVGODU1MjFGQTFB
QkM1MDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTIwLW1tLm1tICovLAogCQkJCTUzOEVDODAwMUY5
NkFBNzgwMDREMjJBOCAvKiBVbmlmaWVkU291cmNlMjAuY3BwICovLAorCQkJCURFNUY4NTVBMUZB
MUFCQ0QwMDZEQjYzQSAvKiBVbmlmaWVkU291cmNlMjEtbW0ubW0gKi8sCiAJCQkJNTM4RUM4MzUx
Rjk5M0YwRDAwNEQyMkE4IC8qIFVuaWZpZWRTb3VyY2UyMS5jcHAgKi8sCisJCQkJREU1Rjg1NEQx
RkExQUJDMTAwNkRCNjNBIC8qIFVuaWZpZWRTb3VyY2UyMi1tbS5tbSAqLywKIAkJCQk1MzhFQzg0
QTFGOTkzRjE4MDA0RDIyQTggLyogVW5pZmllZFNvdXJjZTIyLmNwcCAqLywKKwkJCQlERTVGODU0
MTFGQTFBQkI2MDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTIzLW1tLm1tICovLAogCQkJCTUzOEVD
ODJBMUY5OTNGMDcwMDREMjJBOCAvKiBVbmlmaWVkU291cmNlMjMuY3BwICovLAorCQkJCURFNUY4
NTQ2MUZBMUFCQkIwMDZEQjYzQSAvKiBVbmlmaWVkU291cmNlMjQtbW0ubW0gKi8sCiAJCQkJNTM4
RUM4M0YxRjk5M0YxMjAwNEQyMkE4IC8qIFVuaWZpZWRTb3VyY2UyNC5jcHAgKi8sCisJCQkJREU1
Rjg1NDcxRkExQUJCQjAwNkRCNjNBIC8qIFVuaWZpZWRTb3VyY2UyNS1tbS5tbSAqLywKIAkJCQk1
MzhFQzgzQTFGOTkzRjEwMDA0RDIyQTggLyogVW5pZmllZFNvdXJjZTI1LmNwcCAqLywKKwkJCQlE
RTVGODU1RDFGQTFBQkNGMDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTI2LW1tLm1tICovLAogCQkJ
CTUzOEVDODRDMUY5OTNGMTkwMDREMjJBOCAvKiBVbmlmaWVkU291cmNlMjYuY3BwICovLAorCQkJ
CURFNUY4NTY5MUZBMUFCREEwMDZEQjYzQSAvKiBVbmlmaWVkU291cmNlMjctbW0ubW0gKi8sCiAJ
CQkJNTM4RUM4NUYxRjk5M0YyMzAwNEQyMkE4IC8qIFVuaWZpZWRTb3VyY2UyNy5jcHAgKi8sCisJ
CQkJREU1Rjg1M0YxRkExQUJCNDAwNkRCNjNBIC8qIFVuaWZpZWRTb3VyY2UyOC1tbS5tbSAqLywK
IAkJCQk1MzhFQzg0QjFGOTkzRjE4MDA0RDIyQTggLyogVW5pZmllZFNvdXJjZTI4LmNwcCAqLywK
KwkJCQlERTVGODU2ODFGQTFBQkQ5MDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTI5LW1tLm1tICov
LAogCQkJCTUzOEVDODU1MUY5OTNGMUUwMDREMjJBOCAvKiBVbmlmaWVkU291cmNlMjkuY3BwICov
LAorCQkJCURFNUY4NTQyMUZBMUFCQjcwMDZEQjYzQSAvKiBVbmlmaWVkU291cmNlMzAtbW0ubW0g
Ki8sCiAJCQkJNTM4RUM4NzYxRjk5M0YyRjAwNEQyMkE4IC8qIFVuaWZpZWRTb3VyY2UzMC5jcHAg
Ki8sCisJCQkJREU1Rjg1NTExRkExQUJDNDAwNkRCNjNBIC8qIFVuaWZpZWRTb3VyY2UzMS1tbS5t
bSAqLywKIAkJCQk1MzhFQzg1QjFGOTkzRjIxMDA0RDIyQTggLyogVW5pZmllZFNvdXJjZTMxLmNw
cCAqLywKKwkJCQlERTVGODU2MDFGQTFBQkQyMDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTMyLW1t
Lm1tICovLAogCQkJCTUzOEVDODJCMUY5OTNGMDgwMDREMjJBOCAvKiBVbmlmaWVkU291cmNlMzIu
Y3BwICovLAorCQkJCURFNUY4NTVCMUZBMUFCQ0UwMDZEQjYzQSAvKiBVbmlmaWVkU291cmNlMzMt
bW0ubW0gKi8sCiAJCQkJNTM4RUM4N0YxRjk5M0YzNDAwNEQyMkE4IC8qIFVuaWZpZWRTb3VyY2Uz
My5jcHAgKi8sCisJCQkJREU1Rjg1NTcxRkExQUJDQTAwNkRCNjNBIC8qIFVuaWZpZWRTb3VyY2Uz
NC1tbS5tbSAqLywKIAkJCQk1MzhFQzg1NzFGOTkzRjFGMDA0RDIyQTggLyogVW5pZmllZFNvdXJj
ZTM0LmNwcCAqLywKKwkJCQlERTVGODU0MDFGQTFBQkI1MDA2REI2M0EgLyogVW5pZmllZFNvdXJj
ZTM1LW1tLm1tICovLAogCQkJCTUzOEVDODdBMUY5OTNGMzEwMDREMjJBOCAvKiBVbmlmaWVkU291
cmNlMzUuY3BwICovLAorCQkJCURFNUY4NTU1MUZBMUFCQzgwMDZEQjYzQSAvKiBVbmlmaWVkU291
cmNlMzYtbW0ubW0gKi8sCiAJCQkJNTM4RUM4NjAxRjk5M0YyMzAwNEQyMkE4IC8qIFVuaWZpZWRT
b3VyY2UzNi5jcHAgKi8sCisJCQkJREU1Rjg1NDUxRkExQUJCQTAwNkRCNjNBIC8qIFVuaWZpZWRT
b3VyY2UzNy1tbS5tbSAqLywKIAkJCQk1MzhFQzgzMjFGOTkzRjBDMDA0RDIyQTggLyogVW5pZmll
ZFNvdXJjZTM3LmNwcCAqLywKKwkJCQlERTVGODU1QzFGQTFBQkNFMDA2REI2M0EgLyogVW5pZmll
ZFNvdXJjZTM4LW1tLm1tICovLAogCQkJCTUzOEVDODdCMUY5OTNGMzIwMDREMjJBOCAvKiBVbmlm
aWVkU291cmNlMzguY3BwICovLAorCQkJCURFNUY4NTU5MUZBMUFCQ0MwMDZEQjYzQSAvKiBVbmlm
aWVkU291cmNlMzktbW0ubW0gKi8sCiAJCQkJNTM4RUM4N0MxRjk5M0YzMjAwNEQyMkE4IC8qIFVu
aWZpZWRTb3VyY2UzOS5jcHAgKi8sCisJCQkJREU1Rjg1NTYxRkExQUJDOTAwNkRCNjNBIC8qIFVu
aWZpZWRTb3VyY2U0MC1tbS5tbSAqLywKIAkJCQk1MzhFQzg0OTFGOTkzRjE3MDA0RDIyQTggLyog
VW5pZmllZFNvdXJjZTQwLmNwcCAqLywKKwkJCQlERTVGODU2NjFGQTFBQkQ3MDA2REI2M0EgLyog
VW5pZmllZFNvdXJjZTQxLW1tLm1tICovLAogCQkJCTUzOEVDODRFMUY5OTNGMUEwMDREMjJBOCAv
KiBVbmlmaWVkU291cmNlNDEuY3BwICovLAorCQkJCURFNUY4NTRGMUZBMUFCQzMwMDZEQjYzQSAv
KiBVbmlmaWVkU291cmNlNDItbW0ubW0gKi8sCiAJCQkJNTM4RUM4M0IxRjk5M0YxMDAwNEQyMkE4
IC8qIFVuaWZpZWRTb3VyY2U0Mi5jcHAgKi8sCisJCQkJREU1Rjg1NDgxRkExQUJCQzAwNkRCNjNB
IC8qIFVuaWZpZWRTb3VyY2U0My1tbS5tbSAqLywKIAkJCQk1MzhFQzg1MjFGOTkzRjFDMDA0RDIy
QTggLyogVW5pZmllZFNvdXJjZTQzLmNwcCAqLywKKwkJCQlERTVGODU0MzFGQTFBQkI4MDA2REI2
M0EgLyogVW5pZmllZFNvdXJjZTQ0LW1tLm1tICovLAogCQkJCTUzOEVDODZBMUY5OTNGMjkwMDRE
MjJBOCAvKiBVbmlmaWVkU291cmNlNDQuY3BwICovLAorCQkJCURFNUY4NTU4MUZBMUFCQ0IwMDZE
QjYzQSAvKiBVbmlmaWVkU291cmNlNDUtbW0ubW0gKi8sCiAJCQkJNTM4RUM4M0MxRjk5M0YxMTAw
NEQyMkE4IC8qIFVuaWZpZWRTb3VyY2U0NS5jcHAgKi8sCisJCQkJREU1Rjg1NDQxRkExQUJCOTAw
NkRCNjNBIC8qIFVuaWZpZWRTb3VyY2U0Ni1tbS5tbSAqLywKIAkJCQk1MzhFQzg3NzFGOTkzRjMw
MDA0RDIyQTggLyogVW5pZmllZFNvdXJjZTQ2LmNwcCAqLywKKwkJCQlERTVGODU2MjFGQTFBQkQ0
MDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTQ3LW1tLm1tICovLAogCQkJCTUzOEVDODY4MUY5OTNG
MjgwMDREMjJBOCAvKiBVbmlmaWVkU291cmNlNDcuY3BwICovLAorCQkJCURFNUY4NTY3MUZBMUFC
RDgwMDZEQjYzQSAvKiBVbmlmaWVkU291cmNlNDgtbW0ubW0gKi8sCiAJCQkJNTM4RUM4NDMxRjk5
M0YxNDAwNEQyMkE4IC8qIFVuaWZpZWRTb3VyY2U0OC5jcHAgKi8sCisJCQkJREU1Rjg1NEIxRkEx
QUJCRjAwNkRCNjNBIC8qIFVuaWZpZWRTb3VyY2U0OS1tbS5tbSAqLywKIAkJCQk1MzhFQzg3RDFG
OTkzRjMzMDA0RDIyQTggLyogVW5pZmllZFNvdXJjZTQ5LmNwcCAqLywKKwkJCQlERTVGODU0QzFG
QTFBQkMwMDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTUwLW1tLm1tICovLAogCQkJCTUzOEVDODI3
MUY5OTNGMDYwMDREMjJBOCAvKiBVbmlmaWVkU291cmNlNTAuY3BwICovLAorCQkJCURFNUY4NjM2
MUZBMkFGMDQwMDZEQjYzQSAvKiBVbmlmaWVkU291cmNlNTEtbW0ubW0gKi8sCiAJCQkJNTM4RUM4
NDcxRjk5M0YxNjAwNEQyMkE4IC8qIFVuaWZpZWRTb3VyY2U1MS5jcHAgKi8sCisJCQkJREU1Rjg2
MzcxRkEyQUYwNTAwNkRCNjNBIC8qIFVuaWZpZWRTb3VyY2U1Mi1tbS5tbSAqLywKIAkJCQk1MzhF
Qzg4MDFGOTkzRjM0MDA0RDIyQTggLyogVW5pZmllZFNvdXJjZTUyLmNwcCAqLywKKwkJCQlERTVG
ODYzNTFGQTJBRjAzMDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTUzLW1tLm1tICovLAogCQkJCTUz
OEVDODJDMUY5OTNGMDkwMDREMjJBOCAvKiBVbmlmaWVkU291cmNlNTMuY3BwICovLAorCQkJCURF
NUY4NjMzMUZBMkFGMDAwMDZEQjYzQSAvKiBVbmlmaWVkU291cmNlNTQtbW0ubW0gKi8sCiAJCQkJ
NTM4RUM4NjkxRjk5M0YyODAwNEQyMkE4IC8qIFVuaWZpZWRTb3VyY2U1NC5jcHAgKi8sCisJCQkJ
REU1Rjg2M0IxRkEyQUYwODAwNkRCNjNBIC8qIFVuaWZpZWRTb3VyY2U1NS1tbS5tbSAqLywKIAkJ
CQk1MzhFQzg2QzFGOTkzRjJBMDA0RDIyQTggLyogVW5pZmllZFNvdXJjZTU1LmNwcCAqLywKKwkJ
CQlERTVGODYzNDFGQTJBRjAxMDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTU2LW1tLm1tICovLAog
CQkJCTUzOEVDODg1MUY5OTNGM0EwMDREMjJBOCAvKiBVbmlmaWVkU291cmNlNTYuY3BwICovLAor
CQkJCURFNUY4NjM4MUZBMkFGMDYwMDZEQjYzQSAvKiBVbmlmaWVkU291cmNlNTctbW0ubW0gKi8s
CiAJCQkJNTM4RUM4NzgxRjk5M0YzMDAwNEQyMkE4IC8qIFVuaWZpZWRTb3VyY2U1Ny5jcHAgKi8s
CisJCQkJREU1Rjg2MzkxRkEyQUYwNzAwNkRCNjNBIC8qIFVuaWZpZWRTb3VyY2U1OC1tbS5tbSAq
LywKIAkJCQk1MzhFQzgyRjFGOTkzRjBBMDA0RDIyQTggLyogVW5pZmllZFNvdXJjZTU4LmNwcCAq
LywKKwkJCQlERTVGODYzMjFGQTJBRUZGMDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTU5LW1tLm1t
ICovLAogCQkJCTUzOEVDODZCMUY5OTNGMjkwMDREMjJBOCAvKiBVbmlmaWVkU291cmNlNTkuY3Bw
ICovLAorCQkJCURFNUY4NjNBMUZBMkFGMDcwMDZEQjYzQSAvKiBVbmlmaWVkU291cmNlNjAtbW0u
bW0gKi8sCiAJCQkJNTM4RUM4NzkxRjk5M0YzMTAwNEQyMkE4IC8qIFVuaWZpZWRTb3VyY2U2MC5j
cHAgKi8sCiAJCQkJNTM4RUM4N0UxRjk5M0YzMzAwNEQyMkE4IC8qIFVuaWZpZWRTb3VyY2U2MS5j
cHAgKi8sCiAJCQkJNTM4RUM4NUExRjk5M0YyMDAwNEQyMkE4IC8qIFVuaWZpZWRTb3VyY2U2Mi5j
cHAgKi8sCkBAIC0yODk1OSw2ICsyODk2NCw3IEBACiAJCQkJODM2OUZERkMxRkExMDJFMzAwQzFG
RjFGIC8qIFNlcnZpY2VXb3JrZXJDbGllbnRUeXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MUYx
NzU1RjFGM0VCQzgzMDBDNzQ5NTAgLyogU2VydmljZVdvcmtlckNvbnRhaW5lci5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNTFDQTdFRTkxRjg4MzM5MDAwM0QzMTMxIC8qIFNlcnZpY2VXb3JrZXJDb250
ZXh0RGF0YS5oIGluIEhlYWRlcnMgKi8sCisJCQkJODNFODY2ODAxRkJBNTY1QjAwODg1NUM1IC8q
IFNlcnZpY2VXb3JrZXJEYXRhLmggaW4gSGVhZGVycyAqLywKIAkJCQlBNTJCMzQ4RjFGQTNCREE2
MDA4QjYyNDYgLyogU2VydmljZVdvcmtlckRlYnVnZ2FibGUuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTQxOUFDRjkyMUY5N0U3REEwMDlGMUE4MyAvKiBTZXJ2aWNlV29ya2VyRmV0Y2guaCBpbiBIZWFk
ZXJzICovLAogCQkJCTUxN0E1MzVEMUY1ODk5RkUwMERDREMwQSAvKiBTZXJ2aWNlV29ya2VyRmV0
Y2hSZXN1bHQuaCBpbiBIZWFkZXJzICovLApAQCAtMzAzNTAsMTI0ICszMDM1NiwxMjQgQEAKIAkJ
CQlCRTg4RTBDMTE3MTVDRTI2MDA2NThEOTggLyogVHJhY2tMaXN0QmFzZS5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQkwNzNCREMwNTFGNjg0MzYxMDBFRTM0RUQgLyogVHJhY2tQcml2YXRlQmFzZS5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQk1MzhFQzgwMzFGOTZBRjgxMDA0RDIyQTggLyogVW5pZmll
ZFNvdXJjZTEtbW0ubW0gaW4gU291cmNlcyAqLywKLQkJCQk1MzhFQzgwNTFGOTZBRjgxMDA0RDIy
QTggLyogVW5pZmllZFNvdXJjZTItbW0ubW0gaW4gU291cmNlcyAqLywKLQkJCQk1MzhFQzgwNzFG
OTZBRjgxMDA0RDIyQTggLyogVW5pZmllZFNvdXJjZTMtbW0ubW0gaW4gU291cmNlcyAqLywKLQkJ
CQlERTVGODU2QzFGQTFBQkYzMDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTQtbW0ubW0gaW4gU291
cmNlcyAqLywKLQkJCQlERTVGODU2RDFGQTFBQkYzMDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTUt
bW0ubW0gaW4gU291cmNlcyAqLywKLQkJCQlERTVGODU2RTFGQTFBQkYzMDA2REI2M0EgLyogVW5p
ZmllZFNvdXJjZTYtbW0ubW0gaW4gU291cmNlcyAqLywKLQkJCQlERTVGODU2RjFGQTFBQkYzMDA2
REI2M0EgLyogVW5pZmllZFNvdXJjZTctbW0ubW0gaW4gU291cmNlcyAqLywKLQkJCQlERTVGODU3
MDFGQTFBQkYzMDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTgtbW0ubW0gaW4gU291cmNlcyAqLywK
LQkJCQlERTVGODU3MTFGQTFBQkYzMDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTktbW0ubW0gaW4g
U291cmNlcyAqLywKLQkJCQlERTVGODU3MjFGQTFBQkYzMDA2REI2M0EgLyogVW5pZmllZFNvdXJj
ZTEwLW1tLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJREU1Rjg1NzMxRkExQUJGMzAwNkRCNjNBIC8q
IFVuaWZpZWRTb3VyY2UxMS1tbS5tbSBpbiBTb3VyY2VzICovLAotCQkJCURFNUY4NTc0MUZBMUFC
RjMwMDZEQjYzQSAvKiBVbmlmaWVkU291cmNlMTItbW0ubW0gaW4gU291cmNlcyAqLywKLQkJCQlE
RTVGODU3NTFGQTFBQkYzMDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTEzLW1tLm1tIGluIFNvdXJj
ZXMgKi8sCi0JCQkJREU1Rjg1NzYxRkExQUJGMzAwNkRCNjNBIC8qIFVuaWZpZWRTb3VyY2UxNC1t
bS5tbSBpbiBTb3VyY2VzICovLAotCQkJCURFNUY4NTc3MUZBMUFCRjMwMDZEQjYzQSAvKiBVbmlm
aWVkU291cmNlMTUtbW0ubW0gaW4gU291cmNlcyAqLywKLQkJCQlERTVGODU3ODFGQTFBQkYzMDA2
REI2M0EgLyogVW5pZmllZFNvdXJjZTE2LW1tLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJREU1Rjg1
NzkxRkExQUJGNDAwNkRCNjNBIC8qIFVuaWZpZWRTb3VyY2UxNy1tbS5tbSBpbiBTb3VyY2VzICov
LAotCQkJCURFNUY4NTdBMUZBMUFCRjQwMDZEQjYzQSAvKiBVbmlmaWVkU291cmNlMTgtbW0ubW0g
aW4gU291cmNlcyAqLywKLQkJCQlERTVGODU3QjFGQTFBQkY0MDA2REI2M0EgLyogVW5pZmllZFNv
dXJjZTE5LW1tLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJREU1Rjg1N0MxRkExQUJGNDAwNkRCNjNB
IC8qIFVuaWZpZWRTb3VyY2UyMC1tbS5tbSBpbiBTb3VyY2VzICovLAotCQkJCURFNUY4NTdEMUZB
MUFCRjQwMDZEQjYzQSAvKiBVbmlmaWVkU291cmNlMjEtbW0ubW0gaW4gU291cmNlcyAqLywKLQkJ
CQlERTVGODU3RTFGQTFBQkY0MDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTIyLW1tLm1tIGluIFNv
dXJjZXMgKi8sCi0JCQkJREU1Rjg1N0YxRkExQUJGNDAwNkRCNjNBIC8qIFVuaWZpZWRTb3VyY2Uy
My1tbS5tbSBpbiBTb3VyY2VzICovLAotCQkJCURFNUY4NTgwMUZBMUFCRjQwMDZEQjYzQSAvKiBV
bmlmaWVkU291cmNlMjQtbW0ubW0gaW4gU291cmNlcyAqLywKLQkJCQlERTVGODU4MTFGQTFBQkY0
MDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTI1LW1tLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJREU1
Rjg1ODIxRkExQUJGNDAwNkRCNjNBIC8qIFVuaWZpZWRTb3VyY2UyNi1tbS5tbSBpbiBTb3VyY2Vz
ICovLAotCQkJCURFNUY4NTgzMUZBMUFCRjQwMDZEQjYzQSAvKiBVbmlmaWVkU291cmNlMjctbW0u
bW0gaW4gU291cmNlcyAqLywKLQkJCQlERTVGODU4NDFGQTFBQkY0MDA2REI2M0EgLyogVW5pZmll
ZFNvdXJjZTI4LW1tLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJREU1Rjg1ODUxRkExQUJGNDAwNkRC
NjNBIC8qIFVuaWZpZWRTb3VyY2UyOS1tbS5tbSBpbiBTb3VyY2VzICovLAotCQkJCURFNUY4NTg2
MUZBMUFCRjQwMDZEQjYzQSAvKiBVbmlmaWVkU291cmNlMzAtbW0ubW0gaW4gU291cmNlcyAqLywK
LQkJCQlERTVGODU4NzFGQTFBQkY0MDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTMxLW1tLm1tIGlu
IFNvdXJjZXMgKi8sCi0JCQkJREU1Rjg1ODgxRkExQUJGNDAwNkRCNjNBIC8qIFVuaWZpZWRTb3Vy
Y2UzMi1tbS5tbSBpbiBTb3VyY2VzICovLAotCQkJCURFNUY4NTg5MUZBMUFCRjQwMDZEQjYzQSAv
KiBVbmlmaWVkU291cmNlMzMtbW0ubW0gaW4gU291cmNlcyAqLywKLQkJCQlERTVGODU4QTFGQTFB
QkY0MDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTM0LW1tLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJ
REU1Rjg1OEIxRkExQUJGNDAwNkRCNjNBIC8qIFVuaWZpZWRTb3VyY2UzNS1tbS5tbSBpbiBTb3Vy
Y2VzICovLAotCQkJCURFNUY4NThDMUZBMUFCRjQwMDZEQjYzQSAvKiBVbmlmaWVkU291cmNlMzYt
bW0ubW0gaW4gU291cmNlcyAqLywKLQkJCQlERTVGODU4RDFGQTFBQkY0MDA2REI2M0EgLyogVW5p
ZmllZFNvdXJjZTM3LW1tLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJREU1Rjg1OEUxRkExQUJGNDAw
NkRCNjNBIC8qIFVuaWZpZWRTb3VyY2UzOC1tbS5tbSBpbiBTb3VyY2VzICovLAotCQkJCURFNUY4
NThGMUZBMUFCRjQwMDZEQjYzQSAvKiBVbmlmaWVkU291cmNlMzktbW0ubW0gaW4gU291cmNlcyAq
LywKLQkJCQlERTVGODU5MDFGQTFBQkY0MDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTQwLW1tLm1t
IGluIFNvdXJjZXMgKi8sCi0JCQkJREU1Rjg1OTExRkExQUJGNDAwNkRCNjNBIC8qIFVuaWZpZWRT
b3VyY2U0MS1tbS5tbSBpbiBTb3VyY2VzICovLAotCQkJCURFNUY4NTkyMUZBMUFCRjQwMDZEQjYz
QSAvKiBVbmlmaWVkU291cmNlNDItbW0ubW0gaW4gU291cmNlcyAqLywKLQkJCQlERTVGODU5MzFG
QTFBQkY0MDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTQzLW1tLm1tIGluIFNvdXJjZXMgKi8sCi0J
CQkJREU1Rjg1OTQxRkExQUJGNDAwNkRCNjNBIC8qIFVuaWZpZWRTb3VyY2U0NC1tbS5tbSBpbiBT
b3VyY2VzICovLAotCQkJCURFNUY4NTk1MUZBMUFCRjQwMDZEQjYzQSAvKiBVbmlmaWVkU291cmNl
NDUtbW0ubW0gaW4gU291cmNlcyAqLywKLQkJCQlERTVGODU5NjFGQTFBQkY0MDA2REI2M0EgLyog
VW5pZmllZFNvdXJjZTQ2LW1tLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJREU1Rjg1OTcxRkExQUJG
NDAwNkRCNjNBIC8qIFVuaWZpZWRTb3VyY2U0Ny1tbS5tbSBpbiBTb3VyY2VzICovLAotCQkJCURF
NUY4NTk4MUZBMUFCRjQwMDZEQjYzQSAvKiBVbmlmaWVkU291cmNlNDgtbW0ubW0gaW4gU291cmNl
cyAqLywKLQkJCQlERTVGODU5OTFGQTFBQkY0MDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTQ5LW1t
Lm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJREU1Rjg1OUExRkExQUJGNDAwNkRCNjNBIC8qIFVuaWZp
ZWRTb3VyY2U1MC1tbS5tbSBpbiBTb3VyY2VzICovLAotCQkJCURFNUY4NjUwMUZBMkFGMjQwMDZE
QjYzQSAvKiBVbmlmaWVkU291cmNlNTEtbW0ubW0gaW4gU291cmNlcyAqLywKLQkJCQlERTVGODY1
MTFGQTJBRjI0MDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTUyLW1tLm1tIGluIFNvdXJjZXMgKi8s
Ci0JCQkJREU1Rjg2NTIxRkEyQUYyNDAwNkRCNjNBIC8qIFVuaWZpZWRTb3VyY2U1My1tbS5tbSBp
biBTb3VyY2VzICovLAotCQkJCURFNUY4NjUzMUZBMkFGMjQwMDZEQjYzQSAvKiBVbmlmaWVkU291
cmNlNTQtbW0ubW0gaW4gU291cmNlcyAqLywKLQkJCQlERTVGODY1NDFGQTJBRjI0MDA2REI2M0Eg
LyogVW5pZmllZFNvdXJjZTU1LW1tLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJREU1Rjg2NTUxRkEy
QUYyNDAwNkRCNjNBIC8qIFVuaWZpZWRTb3VyY2U1Ni1tbS5tbSBpbiBTb3VyY2VzICovLAotCQkJ
CURFNUY4NjU2MUZBMkFGMjQwMDZEQjYzQSAvKiBVbmlmaWVkU291cmNlNTctbW0ubW0gaW4gU291
cmNlcyAqLywKLQkJCQlERTVGODY1NzFGQTJBRjI0MDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTU4
LW1tLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJREU1Rjg2NTgxRkEyQUYyNDAwNkRCNjNBIC8qIFVu
aWZpZWRTb3VyY2U1OS1tbS5tbSBpbiBTb3VyY2VzICovLAotCQkJCURFNUY4NjU5MUZBMkFGMjQw
MDZEQjYzQSAvKiBVbmlmaWVkU291cmNlNjAtbW0ubW0gaW4gU291cmNlcyAqLywKIAkJCQk1MzhF
QzgwMjFGOTZBRjgxMDA0RDIyQTggLyogVW5pZmllZFNvdXJjZTEuY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJNTM4RUM4MDUxRjk2QUY4MTAwNEQyMkE4IC8qIFVuaWZpZWRTb3VyY2UyLW1tLm1tIGlu
IFNvdXJjZXMgKi8sCiAJCQkJNTM4RUM4MDQxRjk2QUY4MTAwNEQyMkE4IC8qIFVuaWZpZWRTb3Vy
Y2UyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTUzOEVDODA3MUY5NkFGODEwMDREMjJBOCAvKiBV
bmlmaWVkU291cmNlMy1tbS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTUzOEVDODA2MUY5NkFGODEw
MDREMjJBOCAvKiBVbmlmaWVkU291cmNlMy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlERTVGODU2
QzFGQTFBQkYzMDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTQtbW0ubW0gaW4gU291cmNlcyAqLywK
IAkJCQk1MzhFQzgwODFGOTZBRjgxMDA0RDIyQTggLyogVW5pZmllZFNvdXJjZTQuY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJREU1Rjg1NkQxRkExQUJGMzAwNkRCNjNBIC8qIFVuaWZpZWRTb3VyY2U1
LW1tLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTM4RUM4MDkxRjk2QUY4MTAwNEQyMkE4IC8qIFVu
aWZpZWRTb3VyY2U1LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCURFNUY4NTZFMUZBMUFCRjMwMDZE
QjYzQSAvKiBVbmlmaWVkU291cmNlNi1tbS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTUzOEVDODBB
MUY5NkFGODEwMDREMjJBOCAvKiBVbmlmaWVkU291cmNlNi5jcHAgaW4gU291cmNlcyAqLywKKwkJ
CQlERTVGODU2RjFGQTFBQkYzMDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTctbW0ubW0gaW4gU291
cmNlcyAqLywKIAkJCQk1MzhFQzgwQjFGOTZBRjgxMDA0RDIyQTggLyogVW5pZmllZFNvdXJjZTcu
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJREU1Rjg1NzAxRkExQUJGMzAwNkRCNjNBIC8qIFVuaWZp
ZWRTb3VyY2U4LW1tLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTM4RUM4MEMxRjk2QUY4MTAwNEQy
MkE4IC8qIFVuaWZpZWRTb3VyY2U4LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCURFNUY4NTcxMUZB
MUFCRjMwMDZEQjYzQSAvKiBVbmlmaWVkU291cmNlOS1tbS5tbSBpbiBTb3VyY2VzICovLAogCQkJ
CTUzOEVDODBEMUY5NkFGODEwMDREMjJBOCAvKiBVbmlmaWVkU291cmNlOS5jcHAgaW4gU291cmNl
cyAqLywKKwkJCQlERTVGODU3MjFGQTFBQkYzMDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTEwLW1t
Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTM4RUM4MEUxRjk2QUY4MTAwNEQyMkE4IC8qIFVuaWZp
ZWRTb3VyY2UxMC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlERTVGODU3MzFGQTFBQkYzMDA2REI2
M0EgLyogVW5pZmllZFNvdXJjZTExLW1tLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTM4RUM4MEYx
Rjk2QUY4MTAwNEQyMkE4IC8qIFVuaWZpZWRTb3VyY2UxMS5jcHAgaW4gU291cmNlcyAqLywKKwkJ
CQlERTVGODU3NDFGQTFBQkYzMDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTEyLW1tLm1tIGluIFNv
dXJjZXMgKi8sCiAJCQkJNTM4RUM4MTAxRjk2QUY4MTAwNEQyMkE4IC8qIFVuaWZpZWRTb3VyY2Ux
Mi5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlERTVGODU3NTFGQTFBQkYzMDA2REI2M0EgLyogVW5p
ZmllZFNvdXJjZTEzLW1tLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTM4RUM4MTExRjk2QUY4MTAw
NEQyMkE4IC8qIFVuaWZpZWRTb3VyY2UxMy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlERTVGODU3
NjFGQTFBQkYzMDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTE0LW1tLm1tIGluIFNvdXJjZXMgKi8s
CiAJCQkJNTM4RUM4MTIxRjk2QUY4MTAwNEQyMkE4IC8qIFVuaWZpZWRTb3VyY2UxNC5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQlERTVGODU3NzFGQTFBQkYzMDA2REI2M0EgLyogVW5pZmllZFNvdXJj
ZTE1LW1tLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTM4RUM4MTMxRjk2QUY4MTAwNEQyMkE4IC8q
IFVuaWZpZWRTb3VyY2UxNS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlERTVGODU3ODFGQTFBQkYz
MDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTE2LW1tLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTM4
RUM4MTQxRjk2QUY4MTAwNEQyMkE4IC8qIFVuaWZpZWRTb3VyY2UxNi5jcHAgaW4gU291cmNlcyAq
LywKKwkJCQlERTVGODU3OTFGQTFBQkY0MDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTE3LW1tLm1t
IGluIFNvdXJjZXMgKi8sCiAJCQkJNTM4RUM4MTUxRjk2QUY4MTAwNEQyMkE4IC8qIFVuaWZpZWRT
b3VyY2UxNy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlERTVGODU3QTFGQTFBQkY0MDA2REI2M0Eg
LyogVW5pZmllZFNvdXJjZTE4LW1tLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTM4RUM4MTYxRjk2
QUY4MTAwNEQyMkE4IC8qIFVuaWZpZWRTb3VyY2UxOC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlE
RTVGODU3QjFGQTFBQkY0MDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTE5LW1tLm1tIGluIFNvdXJj
ZXMgKi8sCiAJCQkJNTM4RUM4MTcxRjk2QUY4MTAwNEQyMkE4IC8qIFVuaWZpZWRTb3VyY2UxOS5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQlERTVGODU3QzFGQTFBQkY0MDA2REI2M0EgLyogVW5pZmll
ZFNvdXJjZTIwLW1tLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTM4RUM4MTgxRjk2QUY4MTAwNEQy
MkE4IC8qIFVuaWZpZWRTb3VyY2UyMC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlERTVGODU3RDFG
QTFBQkY0MDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTIxLW1tLm1tIGluIFNvdXJjZXMgKi8sCiAJ
CQkJNTM4RUM4ODYxRjk5M0Y5QzAwNEQyMkE4IC8qIFVuaWZpZWRTb3VyY2UyMS5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQlERTVGODU3RTFGQTFBQkY0MDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTIy
LW1tLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTM4RUM4ODcxRjk5M0Y5QzAwNEQyMkE4IC8qIFVu
aWZpZWRTb3VyY2UyMi5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlERTVGODU3RjFGQTFBQkY0MDA2
REI2M0EgLyogVW5pZmllZFNvdXJjZTIzLW1tLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTM4RUM4
ODgxRjk5M0Y5QzAwNEQyMkE4IC8qIFVuaWZpZWRTb3VyY2UyMy5jcHAgaW4gU291cmNlcyAqLywK
KwkJCQlERTVGODU4MDFGQTFBQkY0MDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTI0LW1tLm1tIGlu
IFNvdXJjZXMgKi8sCiAJCQkJNTM4RUM4ODkxRjk5M0Y5RDAwNEQyMkE4IC8qIFVuaWZpZWRTb3Vy
Y2UyNC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlERTVGODU4MTFGQTFBQkY0MDA2REI2M0EgLyog
VW5pZmllZFNvdXJjZTI1LW1tLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTM4RUM4OEExRjk5M0Y5
RDAwNEQyMkE4IC8qIFVuaWZpZWRTb3VyY2UyNS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlERTVG
ODU4MjFGQTFBQkY0MDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTI2LW1tLm1tIGluIFNvdXJjZXMg
Ki8sCiAJCQkJNTM4RUM4OEIxRjk5M0Y5RDAwNEQyMkE4IC8qIFVuaWZpZWRTb3VyY2UyNi5jcHAg
aW4gU291cmNlcyAqLywKKwkJCQlERTVGODU4MzFGQTFBQkY0MDA2REI2M0EgLyogVW5pZmllZFNv
dXJjZTI3LW1tLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTM4RUM4OEMxRjk5M0Y5RDAwNEQyMkE4
IC8qIFVuaWZpZWRTb3VyY2UyNy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlERTVGODU4NDFGQTFB
QkY0MDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTI4LW1tLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJ
NTM4RUM4OEQxRjk5M0Y5RDAwNEQyMkE4IC8qIFVuaWZpZWRTb3VyY2UyOC5jcHAgaW4gU291cmNl
cyAqLywKKwkJCQlERTVGODU4NTFGQTFBQkY0MDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTI5LW1t
Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTM4RUM4OEUxRjk5M0Y5RDAwNEQyMkE4IC8qIFVuaWZp
ZWRTb3VyY2UyOS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlERTVGODU4NjFGQTFBQkY0MDA2REI2
M0EgLyogVW5pZmllZFNvdXJjZTMwLW1tLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTM4RUM4OEYx
Rjk5M0Y5RDAwNEQyMkE4IC8qIFVuaWZpZWRTb3VyY2UzMC5jcHAgaW4gU291cmNlcyAqLywKKwkJ
CQlERTVGODU4NzFGQTFBQkY0MDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTMxLW1tLm1tIGluIFNv
dXJjZXMgKi8sCiAJCQkJNTM4RUM4OTAxRjk5M0Y5RDAwNEQyMkE4IC8qIFVuaWZpZWRTb3VyY2Uz
MS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlERTVGODU4ODFGQTFBQkY0MDA2REI2M0EgLyogVW5p
ZmllZFNvdXJjZTMyLW1tLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTM4RUM4OTExRjk5M0Y5RDAw
NEQyMkE4IC8qIFVuaWZpZWRTb3VyY2UzMi5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlERTVGODU4
OTFGQTFBQkY0MDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTMzLW1tLm1tIGluIFNvdXJjZXMgKi8s
CiAJCQkJNTM4RUM4OTIxRjk5M0Y5RDAwNEQyMkE4IC8qIFVuaWZpZWRTb3VyY2UzMy5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQlERTVGODU4QTFGQTFBQkY0MDA2REI2M0EgLyogVW5pZmllZFNvdXJj
ZTM0LW1tLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTM4RUM4OTMxRjk5M0Y5RDAwNEQyMkE4IC8q
IFVuaWZpZWRTb3VyY2UzNC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlERTVGODU4QjFGQTFBQkY0
MDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTM1LW1tLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTM4
RUM4OTQxRjk5M0Y5RDAwNEQyMkE4IC8qIFVuaWZpZWRTb3VyY2UzNS5jcHAgaW4gU291cmNlcyAq
LywKKwkJCQlERTVGODU4QzFGQTFBQkY0MDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTM2LW1tLm1t
IGluIFNvdXJjZXMgKi8sCiAJCQkJNTM4RUM4OTUxRjk5M0Y5RDAwNEQyMkE4IC8qIFVuaWZpZWRT
b3VyY2UzNi5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlERTVGODU4RDFGQTFBQkY0MDA2REI2M0Eg
LyogVW5pZmllZFNvdXJjZTM3LW1tLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTM4RUM4OTYxRjk5
M0Y5RDAwNEQyMkE4IC8qIFVuaWZpZWRTb3VyY2UzNy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlE
RTVGODU4RTFGQTFBQkY0MDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTM4LW1tLm1tIGluIFNvdXJj
ZXMgKi8sCiAJCQkJNTM4RUM4OTcxRjk5M0Y5RDAwNEQyMkE4IC8qIFVuaWZpZWRTb3VyY2UzOC5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQlERTVGODU4RjFGQTFBQkY0MDA2REI2M0EgLyogVW5pZmll
ZFNvdXJjZTM5LW1tLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTM4RUM4OTgxRjk5M0Y5RDAwNEQy
MkE4IC8qIFVuaWZpZWRTb3VyY2UzOS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlERTVGODU5MDFG
QTFBQkY0MDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTQwLW1tLm1tIGluIFNvdXJjZXMgKi8sCiAJ
CQkJNTM4RUM4OTkxRjk5M0Y5RDAwNEQyMkE4IC8qIFVuaWZpZWRTb3VyY2U0MC5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQlERTVGODU5MTFGQTFBQkY0MDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTQx
LW1tLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTM4RUM4OUExRjk5M0Y5RDAwNEQyMkE4IC8qIFVu
aWZpZWRTb3VyY2U0MS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlERTVGODU5MjFGQTFBQkY0MDA2
REI2M0EgLyogVW5pZmllZFNvdXJjZTQyLW1tLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTM4RUM4
OUIxRjk5M0Y5RDAwNEQyMkE4IC8qIFVuaWZpZWRTb3VyY2U0Mi5jcHAgaW4gU291cmNlcyAqLywK
KwkJCQlERTVGODU5MzFGQTFBQkY0MDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTQzLW1tLm1tIGlu
IFNvdXJjZXMgKi8sCiAJCQkJNTM4RUM4OUMxRjk5M0Y5RDAwNEQyMkE4IC8qIFVuaWZpZWRTb3Vy
Y2U0My5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlERTVGODU5NDFGQTFBQkY0MDA2REI2M0EgLyog
VW5pZmllZFNvdXJjZTQ0LW1tLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTM4RUM4OUQxRjk5M0Y5
RDAwNEQyMkE4IC8qIFVuaWZpZWRTb3VyY2U0NC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlERTVG
ODU5NTFGQTFBQkY0MDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTQ1LW1tLm1tIGluIFNvdXJjZXMg
Ki8sCiAJCQkJNTM4RUM4OUUxRjk5M0Y5RDAwNEQyMkE4IC8qIFVuaWZpZWRTb3VyY2U0NS5jcHAg
aW4gU291cmNlcyAqLywKKwkJCQlERTVGODU5NjFGQTFBQkY0MDA2REI2M0EgLyogVW5pZmllZFNv
dXJjZTQ2LW1tLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTM4RUM4OUYxRjk5M0Y5RDAwNEQyMkE4
IC8qIFVuaWZpZWRTb3VyY2U0Ni5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlERTVGODU5NzFGQTFB
QkY0MDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTQ3LW1tLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJ
NTM4RUM4QTAxRjk5M0Y5RDAwNEQyMkE4IC8qIFVuaWZpZWRTb3VyY2U0Ny5jcHAgaW4gU291cmNl
cyAqLywKKwkJCQlERTVGODU5ODFGQTFBQkY0MDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTQ4LW1t
Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTM4RUM4QTExRjk5M0Y5RDAwNEQyMkE4IC8qIFVuaWZp
ZWRTb3VyY2U0OC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlERTVGODU5OTFGQTFBQkY0MDA2REI2
M0EgLyogVW5pZmllZFNvdXJjZTQ5LW1tLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTM4RUM4QTIx
Rjk5M0Y5RDAwNEQyMkE4IC8qIFVuaWZpZWRTb3VyY2U0OS5jcHAgaW4gU291cmNlcyAqLywKKwkJ
CQlERTVGODU5QTFGQTFBQkY0MDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTUwLW1tLm1tIGluIFNv
dXJjZXMgKi8sCiAJCQkJNTM4RUM4QTMxRjk5M0Y5RDAwNEQyMkE4IC8qIFVuaWZpZWRTb3VyY2U1
MC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlERTVGODY1MDFGQTJBRjI0MDA2REI2M0EgLyogVW5p
ZmllZFNvdXJjZTUxLW1tLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTM4RUM4QTQxRjk5M0Y5RDAw
NEQyMkE4IC8qIFVuaWZpZWRTb3VyY2U1MS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlERTVGODY1
MTFGQTJBRjI0MDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTUyLW1tLm1tIGluIFNvdXJjZXMgKi8s
CiAJCQkJNTM4RUM4QTUxRjk5M0Y5RDAwNEQyMkE4IC8qIFVuaWZpZWRTb3VyY2U1Mi5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQlERTVGODY1MjFGQTJBRjI0MDA2REI2M0EgLyogVW5pZmllZFNvdXJj
ZTUzLW1tLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTM4RUM4QTYxRjk5M0Y5RDAwNEQyMkE4IC8q
IFVuaWZpZWRTb3VyY2U1My5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlERTVGODY1MzFGQTJBRjI0
MDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTU0LW1tLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTM4
RUM4QTcxRjk5M0Y5RDAwNEQyMkE4IC8qIFVuaWZpZWRTb3VyY2U1NC5jcHAgaW4gU291cmNlcyAq
LywKKwkJCQlERTVGODY1NDFGQTJBRjI0MDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTU1LW1tLm1t
IGluIFNvdXJjZXMgKi8sCiAJCQkJNTM4RUM4QTgxRjk5M0Y5RDAwNEQyMkE4IC8qIFVuaWZpZWRT
b3VyY2U1NS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlERTVGODY1NTFGQTJBRjI0MDA2REI2M0Eg
LyogVW5pZmllZFNvdXJjZTU2LW1tLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTM4RUM4QTkxRjk5
M0Y5RDAwNEQyMkE4IC8qIFVuaWZpZWRTb3VyY2U1Ni5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlE
RTVGODY1NjFGQTJBRjI0MDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTU3LW1tLm1tIGluIFNvdXJj
ZXMgKi8sCiAJCQkJNTM4RUM4QUExRjk5M0Y5RDAwNEQyMkE4IC8qIFVuaWZpZWRTb3VyY2U1Ny5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQlERTVGODY1NzFGQTJBRjI0MDA2REI2M0EgLyogVW5pZmll
ZFNvdXJjZTU4LW1tLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTM4RUM4QUIxRjk5M0Y5RDAwNEQy
MkE4IC8qIFVuaWZpZWRTb3VyY2U1OC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlERTVGODY1ODFG
QTJBRjI0MDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTU5LW1tLm1tIGluIFNvdXJjZXMgKi8sCiAJ
CQkJNTM4RUM4QUMxRjk5M0Y5RDAwNEQyMkE4IC8qIFVuaWZpZWRTb3VyY2U1OS5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQlERTVGODY1OTFGQTJBRjI0MDA2REI2M0EgLyogVW5pZmllZFNvdXJjZTYw
LW1tLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTM4RUM4QUQxRjk5M0Y5RDAwNEQyMkE4IC8qIFVu
aWZpZWRTb3VyY2U2MC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MzhFQzhBRTFGOTkzRjlEMDA0
RDIyQTggLyogVW5pZmllZFNvdXJjZTYxLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUzOEVDOEFG
MUY5OTNGOUQwMDREMjJBOCAvKiBVbmlmaWVkU291cmNlNjIuY3BwIGluIFNvdXJjZXMgKi8sCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlci5jcHAKaW5k
ZXggOTZlNTE3MTY0NTViZWVmNTlkMDVlYzQ1MjU0MDMxZjUyMzExNzg3NS4uM2Y0OTQ5MzJiODQx
ODRlNGU3MzIyNDA0ZGM5M2ExZWQ4M2Q2ZmFiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyLmNwcApAQCAtNTMsMTMgKzUzLDIzIEBAIEhhc2hN
YXA8U2VydmljZVdvcmtlcklkZW50aWZpZXIsIEhhc2hTZXQ8U2VydmljZVdvcmtlcio+PiYgU2Vy
dmljZVdvcmtlcjo6bXV0YWJsCiAgICAgcmV0dXJuIGFsbFdvcmtlcnNNYXA7CiB9CiAKLVNlcnZp
Y2VXb3JrZXI6OlNlcnZpY2VXb3JrZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwg
U2VydmljZVdvcmtlcklkZW50aWZpZXIgaWRlbnRpZmllciwgY29uc3QgVVJMJiBzY3JpcHRVUkws
IFN0YXRlIHN0YXRlKQorUmVmPFNlcnZpY2VXb3JrZXI+IFNlcnZpY2VXb3JrZXI6OmdldE9yQ3Jl
YXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIFNlcnZpY2VXb3JrZXJEYXRhJiYg
ZGF0YSkKK3sKKyAgICBhdXRvIGl0ID0gYWxsV29ya2VycygpLmZpbmQoZGF0YS5pZGVudGlmaWVy
KTsKKyAgICBpZiAoaXQgIT0gYWxsV29ya2VycygpLmVuZCgpKSB7CisgICAgICAgIGZvciAoYXV0
byYgd29ya2VyIDogaXQtPnZhbHVlKSB7CisgICAgICAgICAgICBpZiAod29ya2VyLT5zY3JpcHRF
eGVjdXRpb25Db250ZXh0KCkgPT0gJmNvbnRleHQpCisgICAgICAgICAgICAgICAgcmV0dXJuICp3
b3JrZXI7CisgICAgICAgIH0KKyAgICB9CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU2Vydmlj
ZVdvcmtlcihjb250ZXh0LCBXVEZNb3ZlKGRhdGEpKSk7Cit9CisKK1NlcnZpY2VXb3JrZXI6OlNl
cnZpY2VXb3JrZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgU2VydmljZVdvcmtl
ckRhdGEmJiBkYXRhKQogICAgIDogQ29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIoJmNvbnRleHQp
Ci0gICAgLCBtX2lkZW50aWZpZXIoaWRlbnRpZmllcikKLSAgICAsIG1fc2NyaXB0VVJMKHNjcmlw
dFVSTCkKLSAgICAsIG1fc3RhdGUoc3RhdGUpCisgICAgLCBtX2RhdGEoV1RGTW92ZShkYXRhKSkK
IHsKLSAgICBhdXRvIHJlc3VsdCA9IG11dGFibGVBbGxXb3JrZXJzKCkuZW5zdXJlKGlkZW50aWZp
ZXIsIFtdIHsKKyAgICBhdXRvIHJlc3VsdCA9IG11dGFibGVBbGxXb3JrZXJzKCkuZW5zdXJlKGlk
ZW50aWZpZXIoKSwgW10gewogICAgICAgICByZXR1cm4gSGFzaFNldDxTZXJ2aWNlV29ya2VyKj4o
KTsKICAgICB9KTsKICAgICByZXN1bHQuaXRlcmF0b3ItPnZhbHVlLmFkZCh0aGlzKTsKQEAgLTY3
LDcgKzc3LDcgQEAgU2VydmljZVdvcmtlcjo6U2VydmljZVdvcmtlcihTY3JpcHRFeGVjdXRpb25D
b250ZXh0JiBjb250ZXh0LCBTZXJ2aWNlV29ya2VySWRlbnQKIAogU2VydmljZVdvcmtlcjo6flNl
cnZpY2VXb3JrZXIoKQogewotICAgIGF1dG8gaXRlcmF0b3IgPSBtdXRhYmxlQWxsV29ya2Vycygp
LmZpbmQobV9pZGVudGlmaWVyKTsKKyAgICBhdXRvIGl0ZXJhdG9yID0gbXV0YWJsZUFsbFdvcmtl
cnMoKS5maW5kKGlkZW50aWZpZXIoKSk7CiAKICAgICBBU1NFUlQoaXRlcmF0b3ItPnZhbHVlLmNv
bnRhaW5zKHRoaXMpKTsKICAgICBpdGVyYXRvci0+dmFsdWUucmVtb3ZlKHRoaXMpOwpAQCAtODYs
NyArOTYsNyBAQCB2b2lkIFNlcnZpY2VXb3JrZXI6OnNjaGVkdWxlVGFza1RvVXBkYXRlU3RhdGUo
U3RhdGUgc3RhdGUpCiAgICAgICAgIHJldHVybjsKIAogICAgIGNvbnRleHQtPnBvc3RUYXNrKFt0
aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyksIHN0YXRlXShTY3JpcHRFeGVjdXRp
b25Db250ZXh0JikgewotICAgICAgICBtX3N0YXRlID0gc3RhdGU7CisgICAgICAgIG1fZGF0YS5z
dGF0ZSA9IHN0YXRlOwogICAgICAgICBkaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnRO
YW1lcygpLnN0YXRlY2hhbmdlRXZlbnQsIGZhbHNlLCBmYWxzZSkpOwogICAgIH0pOwogfQpAQCAt
MTE3LDcgKzEyNyw3IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IFNlcnZpY2VXb3JrZXI6OnBvc3RNZXNz
YWdlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIEpTCiAgICAgICAgIHJldHVybiBF
eGNlcHRpb24geyBOb3RTdXBwb3J0ZWRFcnJvciwgQVNDSUlMaXRlcmFsKCJQYXNzaW5nIE1lc3Nh
Z2VQb3J0IG9iamVjdHMgdG8gcG9zdE1lc3NhZ2UgaXMgbm90IHlldCBzdXBwb3J0ZWQiKSB9Owog
CiAgICAgYXV0byYgc3dDb25uZWN0aW9uID0gU2VydmljZVdvcmtlclByb3ZpZGVyOjpzaW5nbGV0
b24oKS5zZXJ2aWNlV29ya2VyQ29ubmVjdGlvbkZvclNlc3Npb24oY29udGV4dC5zZXNzaW9uSUQo
KSk7Ci0gICAgc3dDb25uZWN0aW9uLnBvc3RNZXNzYWdlVG9TZXJ2aWNlV29ya2VyR2xvYmFsU2Nv
cGUobV9pZGVudGlmaWVyLCBtZXNzYWdlLnJlbGVhc2VSZXR1cm5WYWx1ZSgpLCBjb250ZXh0KTsK
KyAgICBzd0Nvbm5lY3Rpb24ucG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZShp
ZGVudGlmaWVyKCksIG1lc3NhZ2UucmVsZWFzZVJldHVyblZhbHVlKCksIGNvbnRleHQpOwogCiAg
ICAgcmV0dXJuIHsgfTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vy
dmljZS9TZXJ2aWNlV29ya2VyLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vy
dmljZVdvcmtlci5oCmluZGV4IDY0ODQxNDUyOGJmMjg5NjgzZWJjMTZjZGUzZTA4MTQ2NjI3NTI2
ZTUuLjc0YzhjYTlkZDljMjc2ZGRlYzFmZmI4ZTZmZGJjNjYxM2YzZWY2Y2YgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXIuaApAQCAtMjksOCArMjks
NyBAQAogCiAjaW5jbHVkZSAiQ29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIuaCIKICNpbmNsdWRl
ICJFdmVudFRhcmdldC5oIgotI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLmgiCi0j
aW5jbHVkZSAiU2VydmljZVdvcmtlclR5cGVzLmgiCisjaW5jbHVkZSAiU2VydmljZVdvcmtlckRh
dGEuaCIKICNpbmNsdWRlICJVUkwuaCIKICNpbmNsdWRlIDxoZWFwL1N0cm9uZy5oPgogI2luY2x1
ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CkBAIC00NiwyMiArNDUsMTkgQEAgY2xhc3MgRnJhbWU7CiBj
bGFzcyBTZXJ2aWNlV29ya2VyIGZpbmFsIDogcHVibGljIFJlZkNvdW50ZWQ8U2VydmljZVdvcmtl
cj4sIHB1YmxpYyBFdmVudFRhcmdldFdpdGhJbmxpbmVEYXRhLCBwdWJsaWMgQ29udGV4dERlc3Ry
dWN0aW9uT2JzZXJ2ZXIgewogcHVibGljOgogICAgIHVzaW5nIFN0YXRlID0gU2VydmljZVdvcmtl
clN0YXRlOwotICAgIHN0YXRpYyBSZWY8U2VydmljZVdvcmtlcj4gY3JlYXRlKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQmIGNvbnRleHQsIFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIGlkZW50aWZpZXIs
IGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBTdGF0ZSBzdGF0ZSA9IFN0YXRlOjpJbnN0YWxsaW5nKQot
ICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU2VydmljZVdvcmtlcihjb250ZXh0
LCBpZGVudGlmaWVyLCBzY3JpcHRVUkwsIHN0YXRlKSk7Ci0gICAgfQorICAgIHN0YXRpYyBSZWY8
U2VydmljZVdvcmtlcj4gZ2V0T3JDcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFNlcnZp
Y2VXb3JrZXJEYXRhJiYpOwogCiAgICAgdmlydHVhbCB+U2VydmljZVdvcmtlcigpOwogCi0gICAg
Y29uc3QgVVJMJiBzY3JpcHRVUkwoKSBjb25zdCB7IHJldHVybiBtX3NjcmlwdFVSTDsgfQorICAg
IGNvbnN0IFVSTCYgc2NyaXB0VVJMKCkgY29uc3QgeyByZXR1cm4gbV9kYXRhLnNjcmlwdFVSTDsg
fQogCi0gICAgU3RhdGUgc3RhdGUoKSBjb25zdCB7IHJldHVybiBtX3N0YXRlOyB9CisgICAgU3Rh
dGUgc3RhdGUoKSBjb25zdCB7IHJldHVybiBtX2RhdGEuc3RhdGU7IH0KICAgICAKICAgICB2b2lk
IHNjaGVkdWxlVGFza1RvVXBkYXRlU3RhdGUoU3RhdGUpOwogCiAgICAgRXhjZXB0aW9uT3I8dm9p
ZD4gcG9zdE1lc3NhZ2UoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIEpTQzo6SlNWYWx1ZSBtZXNz
YWdlLCBWZWN0b3I8SlNDOjpTdHJvbmc8SlNDOjpKU09iamVjdD4+JiYpOwogCi0gICAgU2Vydmlj
ZVdvcmtlcklkZW50aWZpZXIgaWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIG1faWRlbnRpZmll
cjsgfQorICAgIFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIGlkZW50aWZpZXIoKSBjb25zdCB7IHJl
dHVybiBtX2RhdGEuaWRlbnRpZmllcjsgfQogCiAgICAgdXNpbmcgUmVmQ291bnRlZDo6cmVmOwog
ICAgIHVzaW5nIFJlZkNvdW50ZWQ6OmRlcmVmOwpAQCAtNjksNyArNjUsNyBAQCBwdWJsaWM6CiAg
ICAgc3RhdGljIGNvbnN0IEhhc2hNYXA8U2VydmljZVdvcmtlcklkZW50aWZpZXIsIEhhc2hTZXQ8
U2VydmljZVdvcmtlcio+PiYgYWxsV29ya2VycygpOwogCiBwcml2YXRlOgotICAgIFNlcnZpY2VX
b3JrZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCBj
b25zdCBVUkwmIHNjcmlwdFVSTCwgU3RhdGUpOworICAgIFNlcnZpY2VXb3JrZXIoU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCYsIFNlcnZpY2VXb3JrZXJEYXRhJiYpOwogICAgIHN0YXRpYyBIYXNoTWFw
PFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCBIYXNoU2V0PFNlcnZpY2VXb3JrZXIqPj4mIG11dGFi
bGVBbGxXb3JrZXJzKCk7CiAKICAgICBFdmVudFRhcmdldEludGVyZmFjZSBldmVudFRhcmdldElu
dGVyZmFjZSgpIGNvbnN0IGZpbmFsOwpAQCAtNzcsOSArNzMsNyBAQCBwcml2YXRlOgogICAgIHZv
aWQgcmVmRXZlbnRUYXJnZXQoKSBmaW5hbCB7IHJlZigpOyB9CiAgICAgdm9pZCBkZXJlZkV2ZW50
VGFyZ2V0KCkgZmluYWwgeyBkZXJlZigpOyB9CiAKLSAgICBTZXJ2aWNlV29ya2VySWRlbnRpZmll
ciBtX2lkZW50aWZpZXI7Ci0gICAgVVJMIG1fc2NyaXB0VVJMOwotICAgIFN0YXRlIG1fc3RhdGU7
CisgICAgU2VydmljZVdvcmtlckRhdGEgbV9kYXRhOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VX
b3JrZXJDb250YWluZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZp
Y2VXb3JrZXJDb250YWluZXIuY3BwCmluZGV4IGZiNDZjYmQ1YWYyNTQ3N2FiMGNhYzg3NjViMTEz
YWFmNTdlMTQ1MDkuLmQyMDhkMTE0MjIyY2QzMDA3MzA2ZWRlY2ZjM2FiMzQxYTBlYzEzM2IgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29u
dGFpbmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdv
cmtlckNvbnRhaW5lci5jcHAKQEAgLTI0MSwxNSArMjQxLDE5IEBAIHZvaWQgU2VydmljZVdvcmtl
ckNvbnRhaW5lcjo6Z2V0UmVnaXN0cmF0aW9uKGNvbnN0IFN0cmluZyYgY2xpZW50VVJMLCBSZWY8
RGVmZXJyCiAgICAgfSk7CiB9CiAKLXZvaWQgU2VydmljZVdvcmtlckNvbnRhaW5lcjo6c2NoZWR1
bGVUYXNrVG9VcGRhdGVSZWdpc3RyYXRpb25TdGF0ZShTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
SWRlbnRpZmllciBpZGVudGlmaWVyLCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uU3RhdGUgc3Rh
dGUsIGNvbnN0IHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlcklkZW50aWZpZXI+JiBzZXJ2aWNl
V29ya2VySWRlbnRpZmllcikKK3ZvaWQgU2VydmljZVdvcmtlckNvbnRhaW5lcjo6c2NoZWR1bGVU
YXNrVG9VcGRhdGVSZWdpc3RyYXRpb25TdGF0ZShTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRl
bnRpZmllciBpZGVudGlmaWVyLCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uU3RhdGUgc3RhdGUs
IGNvbnN0IHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlckRhdGE+JiBzZXJ2aWNlV29ya2VyRGF0
YSkKIHsKICAgICBhdXRvKiBjb250ZXh0ID0gc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOwogICAg
IGlmICghY29udGV4dCkKICAgICAgICAgcmV0dXJuOwogCi0gICAgY29udGV4dC0+cG9zdFRhc2so
W3RoaXMsIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgaWRlbnRpZmllciwgc3RhdGUs
IHNlcnZpY2VXb3JrZXJJZGVudGlmaWVyXShTY3JpcHRFeGVjdXRpb25Db250ZXh0JikgeworICAg
IFJlZlB0cjxTZXJ2aWNlV29ya2VyPiBzZXJ2aWNlV29ya2VyOworICAgIGlmIChzZXJ2aWNlV29y
a2VyRGF0YSkKKyAgICAgICAgc2VydmljZVdvcmtlciA9IFNlcnZpY2VXb3JrZXI6OmdldE9yQ3Jl
YXRlKCpjb250ZXh0LCBTZXJ2aWNlV29ya2VyRGF0YSB7ICpzZXJ2aWNlV29ya2VyRGF0YSB9KTsK
KworICAgIGNvbnRleHQtPnBvc3RUYXNrKFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigq
dGhpcyksIGlkZW50aWZpZXIsIHN0YXRlLCBzZXJ2aWNlV29ya2VyID0gV1RGTW92ZShzZXJ2aWNl
V29ya2VyKV0oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpIG11dGFibGUgewogICAgICAgICBpZiAo
YXV0byogcmVnaXN0cmF0aW9uID0gbV9yZWdpc3RyYXRpb25zLmdldChpZGVudGlmaWVyKSkKLSAg
ICAgICAgICAgIHJlZ2lzdHJhdGlvbi0+dXBkYXRlU3RhdGVGcm9tU2VydmVyKHN0YXRlLCBzZXJ2
aWNlV29ya2VySWRlbnRpZmllcik7CisgICAgICAgICAgICByZWdpc3RyYXRpb24tPnVwZGF0ZVN0
YXRlRnJvbVNlcnZlcihzdGF0ZSwgV1RGTW92ZShzZXJ2aWNlV29ya2VyKSk7CiAgICAgfSk7CiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29y
a2VyQ29udGFpbmVyLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdv
cmtlckNvbnRhaW5lci5oCmluZGV4IGYyY2FjZjlmNTcxMWNhODRjYzczNmI1NmQyZDA1MGQ1MjIy
YmQ0NWIuLmViNGFkM2IxODNhZTIxZjkzMzEyMDM0MDIzZTk1YmNkNjJhODAyZGQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250
YWluZXIuaApAQCAtNjUsNyArNjUsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCB1cGRhdGVSZWdpc3Ry
YXRpb24oY29uc3QgVVJMJiBzY29wZVVSTCwgY29uc3QgVVJMJiBzY3JpcHRVUkwsIFdvcmtlclR5
cGUsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYpOwogCiAgICAgdm9pZCBnZXRSZWdpc3RyYXRpb24o
Y29uc3QgU3RyaW5nJiBjbGllbnRVUkwsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYpOwotICAgIHZv
aWQgc2NoZWR1bGVUYXNrVG9VcGRhdGVSZWdpc3RyYXRpb25TdGF0ZShTZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uSWRlbnRpZmllciwgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvblN0YXRlLCBjb25z
dCBzdGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyPiYpOworICAgIHZvaWQgc2No
ZWR1bGVUYXNrVG9VcGRhdGVSZWdpc3RyYXRpb25TdGF0ZShTZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uSWRlbnRpZmllciwgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvblN0YXRlLCBjb25zdCBzdGQ6
Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJEYXRhPiYpOwogICAgIHZvaWQgc2NoZWR1bGVUYXNrVG9G
aXJlVXBkYXRlRm91bmRFdmVudChTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcik7
CiAKICAgICB1c2luZyBSZWdpc3RyYXRpb25zUHJvbWlzZSA9IERPTVByb21pc2VEZWZlcnJlZDxJ
RExTZXF1ZW5jZTxJRExJbnRlcmZhY2U8U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbj4+PjsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyRGF0
YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckRhdGEu
Y3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjg3ZTkwOGUyZTgyZDE3YTQ3ZTIzNzNkMTFiNjQwNjgyNjQyMmU1NGYK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vydmlj
ZVdvcmtlckRhdGEuY3BwCkBAIC0wLDAgKzEsNDUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisKKyNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCisjaW5jbHVkZSAiU2Vydmlj
ZVdvcmtlckRhdGEuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitTZXJ2aWNlV29ya2VyRGF0
YSBTZXJ2aWNlV29ya2VyRGF0YTo6aXNvbGF0ZWRDb3B5KCkgY29uc3QKK3sKKyAgICByZXR1cm4g
eworICAgICAgICBpZGVudGlmaWVyLAorICAgICAgICBzY3JpcHRVUkwuaXNvbGF0ZWRDb3B5KCks
CisgICAgICAgIHN0YXRlLAorICAgICAgICB0eXBlCisgICAgfTsKK30KKworfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJEYXRhLmggYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckRhdGEuaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5hMjRiN2U1NDkyZWYzMGQxMTZmYzZlNmQ1N2NlZGVjZDZmMjQ2NmRiCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJEYXRh
LmgKQEAgLTAsMCArMSw4MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5B
QkxFKFNFUlZJQ0VfV09SS0VSKQorCisjaW5jbHVkZSAiU2VydmljZVdvcmtlcklkZW50aWZpZXIu
aCIKKyNpbmNsdWRlICJTZXJ2aWNlV29ya2VyVHlwZXMuaCIKKyNpbmNsdWRlICJVUkwuaCIKKyNp
bmNsdWRlICJXb3JrZXJUeXBlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RydWN0IFNl
cnZpY2VXb3JrZXJEYXRhIHsKKyAgICBTZXJ2aWNlV29ya2VySWRlbnRpZmllciBpZGVudGlmaWVy
OworICAgIFVSTCBzY3JpcHRVUkw7CisgICAgU2VydmljZVdvcmtlclN0YXRlIHN0YXRlOworICAg
IFdvcmtlclR5cGUgdHlwZTsKKworICAgIFNlcnZpY2VXb3JrZXJEYXRhIGlzb2xhdGVkQ29weSgp
IGNvbnN0OworCisgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2Rl
ciYpIGNvbnN0OworICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IHN0YXRpYyBzdGQ6Om9wdGlv
bmFsPFNlcnZpY2VXb3JrZXJEYXRhPiBkZWNvZGUoRGVjb2RlciYpOworfTsKKwordGVtcGxhdGU8
Y2xhc3MgRW5jb2Rlcj4KK3ZvaWQgU2VydmljZVdvcmtlckRhdGE6OmVuY29kZShFbmNvZGVyJiBl
bmNvZGVyKSBjb25zdAoreworICAgIGVuY29kZXIgPDwgaWRlbnRpZmllciA8PCBzY3JpcHRVUkwg
PDwgc3RhdGUgPDwgdHlwZTsKK30KKwordGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4KK3N0ZDo6b3B0
aW9uYWw8U2VydmljZVdvcmtlckRhdGE+IFNlcnZpY2VXb3JrZXJEYXRhOjpkZWNvZGUoRGVjb2Rl
ciYgZGVjb2RlcikKK3sKKyAgICBzdGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJJZGVudGlmaWVy
PiBpZGVudGlmaWVyOworICAgIGRlY29kZXIgPj4gaWRlbnRpZmllcjsKKyAgICBpZiAoIWlkZW50
aWZpZXIpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICBzdGQ6Om9wdGlvbmFs
PFVSTD4gc2NyaXB0VVJMOworICAgIGRlY29kZXIgPj4gc2NyaXB0VVJMOworICAgIGlmICghc2Ny
aXB0VVJMKQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworCisgICAgc3RkOjpvcHRpb25h
bDxTZXJ2aWNlV29ya2VyU3RhdGU+IHN0YXRlOworICAgIGRlY29kZXIgPj4gc3RhdGU7CisgICAg
aWYgKCFzdGF0ZSkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHN0ZDo6b3B0
aW9uYWw8V29ya2VyVHlwZT4gdHlwZTsKKyAgICBkZWNvZGVyID4+IHR5cGU7CisgICAgaWYgKCF0
eXBlKQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworCisgICAgcmV0dXJuIHsgeyBXVEZN
b3ZlKCppZGVudGlmaWVyKSwgV1RGTW92ZSgqc2NyaXB0VVJMKSwgV1RGTW92ZSgqc3RhdGUpLCBX
VEZNb3ZlKCp0eXBlKSB9IH07Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlm
IC8vIEVOQUJMRShTRVJWSUNFX1dPUktFUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmNwcAppbmRleCBl
MmY3ZTFjZGNkMTExYmQ1MDQyMDU0MWUyMzIwZTA4NTM4MzYwN2QzLi44MGRlOTI1ZDAxMTcxYWI3
OTI2Nzc4MTgwMzA2NzRkMjU1OGM3N2JjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uY3BwCkBAIC00
NSwxNSArNDUsMTIgQEAgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6U2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb24KICAgICBMT0coU2VydmljZVdv
cmtlciwgIkNyZWF0aW5nIHJlZ2lzdHJhdGlvbiAlcCBmb3IgcmVnaXN0cmF0aW9uIGtleSAlcyIs
IHRoaXMsIG1fcmVnaXN0cmF0aW9uRGF0YS5rZXkubG9nZ2luZ1N0cmluZygpLnV0ZjgoKS5kYXRh
KCkpOwogICAgIHN1c3BlbmRJZk5lZWRlZCgpOwogCi0gICAgLy8gRklYTUU6IFJlY29uY2lsZSB3
b3JrZXIgc3RhdGUgcHJvcGVybHkgKHNlZSBiZWxvdykKLSAgICBpZiAobV9yZWdpc3RyYXRpb25E
YXRhLmluc3RhbGxpbmdTZXJ2aWNlV29ya2VySWRlbnRpZmllcikKLSAgICAgICAgbV9pbnN0YWxs
aW5nV29ya2VyID0gU2VydmljZVdvcmtlcjo6Y3JlYXRlKGNvbnRleHQsICptX3JlZ2lzdHJhdGlv
bkRhdGEuaW5zdGFsbGluZ1NlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCBtX3JlZ2lzdHJhdGlvbkRh
dGEuc2NyaXB0VVJMLCBTZXJ2aWNlV29ya2VyOjpTdGF0ZTo6SW5zdGFsbGluZyk7Ci0gICAgaWYg
KG1fcmVnaXN0cmF0aW9uRGF0YS53YWl0aW5nU2VydmljZVdvcmtlcklkZW50aWZpZXIpCi0gICAg
ICAgIG1fd2FpdGluZ1dvcmtlciA9IFNlcnZpY2VXb3JrZXI6OmNyZWF0ZShjb250ZXh0LCAqbV9y
ZWdpc3RyYXRpb25EYXRhLndhaXRpbmdTZXJ2aWNlV29ya2VySWRlbnRpZmllciwgbV9yZWdpc3Ry
YXRpb25EYXRhLnNjcmlwdFVSTCwgU2VydmljZVdvcmtlcjo6U3RhdGU6Okluc3RhbGxlZCk7Ci0g
ICAgaWYgKG1fcmVnaXN0cmF0aW9uRGF0YS5hY3RpdmVTZXJ2aWNlV29ya2VySWRlbnRpZmllcikg
ewotICAgICAgICAvLyBGSVhNRTogQWN0aXZhdGluZyBvciBBY3RpdmF0ZWQ/IFRoaXMgaXMgd2h5
IHdlIGhhdmUgdG8gaGF2ZSBtb3JlIGRhdGEgaGVyZS4uLgotICAgICAgICBtX2FjdGl2ZVdvcmtl
ciA9IFNlcnZpY2VXb3JrZXI6OmNyZWF0ZShjb250ZXh0LCAqbV9yZWdpc3RyYXRpb25EYXRhLmFj
dGl2ZVNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCBtX3JlZ2lzdHJhdGlvbkRhdGEuc2NyaXB0VVJM
LCBTZXJ2aWNlV29ya2VyOjpTdGF0ZTo6QWN0aXZhdGVkKTsKLSAgICB9CisgICAgaWYgKG1fcmVn
aXN0cmF0aW9uRGF0YS5pbnN0YWxsaW5nV29ya2VyKQorICAgICAgICBtX2luc3RhbGxpbmdXb3Jr
ZXIgPSBTZXJ2aWNlV29ya2VyOjpnZXRPckNyZWF0ZShjb250ZXh0LCBXVEZNb3ZlKCptX3JlZ2lz
dHJhdGlvbkRhdGEuaW5zdGFsbGluZ1dvcmtlcikpOworICAgIGlmIChtX3JlZ2lzdHJhdGlvbkRh
dGEud2FpdGluZ1dvcmtlcikKKyAgICAgICAgbV93YWl0aW5nV29ya2VyID0gU2VydmljZVdvcmtl
cjo6Z2V0T3JDcmVhdGUoY29udGV4dCwgV1RGTW92ZSgqbV9yZWdpc3RyYXRpb25EYXRhLndhaXRp
bmdXb3JrZXIpKTsKKyAgICBpZiAobV9yZWdpc3RyYXRpb25EYXRhLmFjdGl2ZVdvcmtlcikKKyAg
ICAgICAgbV9hY3RpdmVXb3JrZXIgPSBTZXJ2aWNlV29ya2VyOjpnZXRPckNyZWF0ZShjb250ZXh0
LCBXVEZNb3ZlKCptX3JlZ2lzdHJhdGlvbkRhdGEuYWN0aXZlV29ya2VyKSk7CiAKICAgICAvLyBG
SVhNRTogSW1wbGVtZW50IHByb3BlciBzZWxlY3Rpb24gb2Ygc2VydmljZSB3b3JrZXJzLgogICAg
IGNvbnRleHQuc2V0QWN0aXZlU2VydmljZVdvcmtlcihnZXROZXdlc3RXb3JrZXIoKSk7CkBAIC0x
NDYsMzAgKzE0MywxNyBAQCB2b2lkIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb246OnVucmVnaXN0
ZXIoUmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlKQogICAgIGNvbnRhaW5lci0+cmVtb3Zl
UmVnaXN0cmF0aW9uKG1fcmVnaXN0cmF0aW9uRGF0YS5zY29wZVVSTCwgV1RGTW92ZShwcm9taXNl
KSk7CiB9CiAKLXZvaWQgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6dXBkYXRlU3RhdGVGcm9t
U2VydmVyKFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25TdGF0ZSBzdGF0ZSwgc3RkOjpvcHRpb25h
bDxTZXJ2aWNlV29ya2VySWRlbnRpZmllcj4gc2VydmljZVdvcmtlcklkZW50aWZpZXIpCit2b2lk
IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb246OnVwZGF0ZVN0YXRlRnJvbVNlcnZlcihTZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uU3RhdGUgc3RhdGUsIFJlZlB0cjxTZXJ2aWNlV29ya2VyPiYmIHNl
cnZpY2VXb3JrZXIpCiB7Ci0gICAgYXV0byogY29udGV4dCA9IHNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQoKTsKLSAgICBpZiAoIWNvbnRleHQpCi0gICAgICAgIHJldHVybjsKLQotICAgIFJlZlB0cjxT
ZXJ2aWNlV29ya2VyPiB3b3JrZXI7Ci0gICAgaWYgKHNlcnZpY2VXb3JrZXJJZGVudGlmaWVyKSB7
Ci0gICAgICAgIGF1dG8qIG5ld2VzdFdvcmtlciA9IGdldE5ld2VzdFdvcmtlcigpOwotICAgICAg
ICBpZiAobmV3ZXN0V29ya2VyICYmIG5ld2VzdFdvcmtlci0+aWRlbnRpZmllcigpID09ICpzZXJ2
aWNlV29ya2VySWRlbnRpZmllcikKLSAgICAgICAgICAgIHdvcmtlciA9IG5ld2VzdFdvcmtlcjsK
LSAgICAgICAgZWxzZQotICAgICAgICAgICAgd29ya2VyID0gU2VydmljZVdvcmtlcjo6Y3JlYXRl
KCpjb250ZXh0LCAqc2VydmljZVdvcmtlcklkZW50aWZpZXIsIG1fcmVnaXN0cmF0aW9uRGF0YS5z
Y3JpcHRVUkwpOwotICAgIH0KLQogICAgIHN3aXRjaCAoc3RhdGUpIHsKICAgICBjYXNlIFNlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb25TdGF0ZTo6SW5zdGFsbGluZzoKLSAgICAgICAgbV9pbnN0YWxs
aW5nV29ya2VyID0gV1RGTW92ZSh3b3JrZXIpOworICAgICAgICBtX2luc3RhbGxpbmdXb3JrZXIg
PSBXVEZNb3ZlKHNlcnZpY2VXb3JrZXIpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFNlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb25TdGF0ZTo6V2FpdGluZzoKLSAgICAgICAgbV93YWl0aW5nV29y
a2VyID0gV1RGTW92ZSh3b3JrZXIpOworICAgICAgICBtX3dhaXRpbmdXb3JrZXIgPSBXVEZNb3Zl
KHNlcnZpY2VXb3JrZXIpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFNlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb25TdGF0ZTo6QWN0aXZlOgotICAgICAgICBtX2FjdGl2ZVdvcmtlciA9IFdURk1v
dmUod29ya2VyKTsKKyAgICAgICAgbV9hY3RpdmVXb3JrZXIgPSBXVEZNb3ZlKHNlcnZpY2VXb3Jr
ZXIpOwogICAgICAgICBicmVhazsKICAgICB9CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5oIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uaAppbmRleCBj
ODAzNjZjZDE1YzJkNWE0MDE1ZjRlMTU1YjAyOWUwMGNkMWJhMDIxLi4wODRmZTgzMTY3MTRkNGY3
YWYyODk1OTc5MjFhZTIwNmJmNTM4ZmJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmgKQEAgLTY3LDcg
KzY3LDcgQEAgcHVibGljOgogICAgIAogICAgIGNvbnN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b25EYXRhJiBkYXRhKCkgY29uc3QgeyByZXR1cm4gbV9yZWdpc3RyYXRpb25EYXRhOyB9CiAKLSAg
ICB2b2lkIHVwZGF0ZVN0YXRlRnJvbVNlcnZlcihTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uU3Rh
dGUsIHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlcklkZW50aWZpZXI+KTsKKyAgICB2b2lkIHVw
ZGF0ZVN0YXRlRnJvbVNlcnZlcihTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uU3RhdGUsIFJlZlB0
cjxTZXJ2aWNlV29ya2VyPiYmKTsKIAogcHJpdmF0ZToKICAgICBTZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBSZWY8U2VydmljZVdvcmtlckNvbnRhaW5l
cj4mJiwgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEmJik7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEu
Y3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb25EYXRhLmNwcAppbmRleCA0MTZjNWUyNGVlNTUxZWI4M2NkNDk4ZjhlM2NlMjE1MjhmNGU5
MWQyLi4zNjQxNWRjMzNhZWE1MDkzY2E2YWE2MjgwYTlkMmYzNjFkNGMyYWIzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlv
bkRhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29y
a2VyUmVnaXN0cmF0aW9uRGF0YS5jcHAKQEAgLTM2LDExICszNiwxMCBAQCBTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uRGF0YSBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YTo6aXNvbGF0ZWRD
b3B5KCkgY29ucwogICAgICAgICBrZXkuaXNvbGF0ZWRDb3B5KCksCiAgICAgICAgIGlkZW50aWZp
ZXIsCiAgICAgICAgIHNjb3BlVVJMLmlzb2xhdGVkQ29weSgpLAotICAgICAgICBzY3JpcHRVUkwu
aXNvbGF0ZWRDb3B5KCksCiAgICAgICAgIHVwZGF0ZVZpYUNhY2hlLAotICAgICAgICBpbnN0YWxs
aW5nU2VydmljZVdvcmtlcklkZW50aWZpZXIsCi0gICAgICAgIHdhaXRpbmdTZXJ2aWNlV29ya2Vy
SWRlbnRpZmllciwKLSAgICAgICAgYWN0aXZlU2VydmljZVdvcmtlcklkZW50aWZpZXIsCisgICAg
ICAgIGluc3RhbGxpbmdXb3JrZXIgPyBzdGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJEYXRhPihp
bnN0YWxsaW5nV29ya2VyLT5pc29sYXRlZENvcHkoKSkgOiBzdGQ6Om51bGxvcHQsCisgICAgICAg
IHdhaXRpbmdXb3JrZXIgPyBzdGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJEYXRhPih3YWl0aW5n
V29ya2VyLT5pc29sYXRlZENvcHkoKSkgOiBzdGQ6Om51bGxvcHQsCisgICAgICAgIGFjdGl2ZVdv
cmtlciA/IHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlckRhdGE+KGFjdGl2ZVdvcmtlci0+aXNv
bGF0ZWRDb3B5KCkpIDogc3RkOjpudWxsb3B0LAogICAgIH07CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0
YS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb25EYXRhLmgKaW5kZXggNTU2ZjA1NDJjZmYyZTcyZWZhNjliNzY2YzMyMDRhMjFkZWFiOTll
ZS4uZTgwNjMwYWRkNjkyMWYxMzNiZTk3NzYzZmIyOTg1NGUzNzcwOTYzYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25E
YXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb25EYXRhLmgKQEAgLTI3LDYgKzI3LDcgQEAKIAogI2lmIEVOQUJMRShTRVJWSUNF
X1dPUktFUikKIAorI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJEYXRhLmgiCiAjaW5jbHVkZSAiU2Vy
dmljZVdvcmtlcklkZW50aWZpZXIuaCIKICNpbmNsdWRlICJTZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uS2V5LmgiCiAjaW5jbHVkZSAiU2VydmljZVdvcmtlclR5cGVzLmgiCkBAIC0zOSwxMiArNDAs
MTEgQEAgc3RydWN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhIHsKICAgICBTZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uS2V5IGtleTsKICAgICBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
SWRlbnRpZmllciBpZGVudGlmaWVyOwogICAgIFVSTCBzY29wZVVSTDsKLSAgICBVUkwgc2NyaXB0
VVJMOwogICAgIFNlcnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNoZSB1cGRhdGVWaWFDYWNoZTsKIAot
ICAgIHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlcklkZW50aWZpZXI+IGluc3RhbGxpbmdTZXJ2
aWNlV29ya2VySWRlbnRpZmllcjsKLSAgICBzdGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJJZGVu
dGlmaWVyPiB3YWl0aW5nU2VydmljZVdvcmtlcklkZW50aWZpZXI7Ci0gICAgc3RkOjpvcHRpb25h
bDxTZXJ2aWNlV29ya2VySWRlbnRpZmllcj4gYWN0aXZlU2VydmljZVdvcmtlcklkZW50aWZpZXI7
CisgICAgc3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2VyRGF0YT4gaW5zdGFsbGluZ1dvcmtlcjsK
KyAgICBzdGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJEYXRhPiB3YWl0aW5nV29ya2VyOworICAg
IHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlckRhdGE+IGFjdGl2ZVdvcmtlcjsKIAogICAgIFNl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhIGlzb2xhdGVkQ29weSgpIGNvbnN0OwogCkBAIC01
Niw3ICs1Niw3IEBAIHN0cnVjdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YSB7CiB0ZW1w
bGF0ZTxjbGFzcyBFbmNvZGVyPgogdm9pZCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YTo6
ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0CiB7Ci0gICAgZW5jb2RlciA8PCBrZXkgPDwg
aWRlbnRpZmllciA8PCBzY29wZVVSTCA8PCBzY3JpcHRVUkwgPDwgdXBkYXRlVmlhQ2FjaGUgPDwg
aW5zdGFsbGluZ1NlcnZpY2VXb3JrZXJJZGVudGlmaWVyIDw8IHdhaXRpbmdTZXJ2aWNlV29ya2Vy
SWRlbnRpZmllciA8PCBhY3RpdmVTZXJ2aWNlV29ya2VySWRlbnRpZmllcjsKKyAgICBlbmNvZGVy
IDw8IGtleSA8PCBpZGVudGlmaWVyIDw8IHNjb3BlVVJMIDw8IHVwZGF0ZVZpYUNhY2hlIDw8IGlu
c3RhbGxpbmdXb3JrZXIgPDwgd2FpdGluZ1dvcmtlciA8PCBhY3RpdmVXb3JrZXI7CiB9CiAKIHRl
bXBsYXRlPGNsYXNzIERlY29kZXI+CkBAIC03NywzMiArNzcsMjcgQEAgc3RkOjpvcHRpb25hbDxT
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YT4gU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRh
dGE6OmRlY28KICAgICBpZiAoIXNjb3BlVVJMKQogICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0
OwogCi0gICAgc3RkOjpvcHRpb25hbDxVUkw+IHNjcmlwdFVSTDsKLSAgICBkZWNvZGVyID4+IHNj
cmlwdFVSTDsKLSAgICBpZiAoIXNjcmlwdFVSTCkKLSAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9w
dDsKLQogICAgIHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlPiB1cGRh
dGVWaWFDYWNoZTsKICAgICBkZWNvZGVyID4+IHVwZGF0ZVZpYUNhY2hlOwogICAgIGlmICghdXBk
YXRlVmlhQ2FjaGUpCiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAKLSAgICBzdGQ6Om9w
dGlvbmFsPHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlcklkZW50aWZpZXI+PiBpbnN0YWxsaW5n
U2VydmljZVdvcmtlcklkZW50aWZpZXI7Ci0gICAgZGVjb2RlciA+PiBpbnN0YWxsaW5nU2Vydmlj
ZVdvcmtlcklkZW50aWZpZXI7Ci0gICAgaWYgKCFpbnN0YWxsaW5nU2VydmljZVdvcmtlcklkZW50
aWZpZXIpCisgICAgc3RkOjpvcHRpb25hbDxzdGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJEYXRh
Pj4gaW5zdGFsbGluZ1dvcmtlcjsKKyAgICBkZWNvZGVyID4+IGluc3RhbGxpbmdXb3JrZXI7Cisg
ICAgaWYgKCFpbnN0YWxsaW5nV29ya2VyKQogICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0Owog
Ci0gICAgc3RkOjpvcHRpb25hbDxzdGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJJZGVudGlmaWVy
Pj4gd2FpdGluZ1NlcnZpY2VXb3JrZXJJZGVudGlmaWVyOwotICAgIGRlY29kZXIgPj4gd2FpdGlu
Z1NlcnZpY2VXb3JrZXJJZGVudGlmaWVyOwotICAgIGlmICghd2FpdGluZ1NlcnZpY2VXb3JrZXJJ
ZGVudGlmaWVyKQorICAgIHN0ZDo6b3B0aW9uYWw8c3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2Vy
RGF0YT4+IHdhaXRpbmdXb3JrZXI7CisgICAgZGVjb2RlciA+PiB3YWl0aW5nV29ya2VyOworICAg
IGlmICghd2FpdGluZ1dvcmtlcikKICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKIAotICAg
IHN0ZDo6b3B0aW9uYWw8c3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2VySWRlbnRpZmllcj4+IGFj
dGl2ZVNlcnZpY2VXb3JrZXJJZGVudGlmaWVyOwotICAgIGRlY29kZXIgPj4gYWN0aXZlU2Vydmlj
ZVdvcmtlcklkZW50aWZpZXI7Ci0gICAgaWYgKCFhY3RpdmVTZXJ2aWNlV29ya2VySWRlbnRpZmll
cikKKyAgICBzdGQ6Om9wdGlvbmFsPHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlckRhdGE+PiBh
Y3RpdmVXb3JrZXI7CisgICAgZGVjb2RlciA+PiBhY3RpdmVXb3JrZXI7CisgICAgaWYgKCFhY3Rp
dmVXb3JrZXIpCiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAKLSAgICByZXR1cm4geyB7
IFdURk1vdmUoKmtleSksIFdURk1vdmUoKmlkZW50aWZpZXIpLCBXVEZNb3ZlKCpzY29wZVVSTCks
IFdURk1vdmUoKnNjcmlwdFVSTCksIFdURk1vdmUoKnVwZGF0ZVZpYUNhY2hlKSwgV1RGTW92ZSgq
aW5zdGFsbGluZ1NlcnZpY2VXb3JrZXJJZGVudGlmaWVyKSwgV1RGTW92ZSgqd2FpdGluZ1NlcnZp
Y2VXb3JrZXJJZGVudGlmaWVyKSwgV1RGTW92ZSgqYWN0aXZlU2VydmljZVdvcmtlcklkZW50aWZp
ZXIpIH0gfTsKKyAgICByZXR1cm4geyB7IFdURk1vdmUoKmtleSksIFdURk1vdmUoKmlkZW50aWZp
ZXIpLCBXVEZNb3ZlKCpzY29wZVVSTCksIFdURk1vdmUoKnVwZGF0ZVZpYUNhY2hlKSwgV1RGTW92
ZSgqaW5zdGFsbGluZ1dvcmtlciksIFdURk1vdmUoKndhaXRpbmdXb3JrZXIpLCBXVEZNb3ZlKCph
Y3RpdmVXb3JrZXIpIH0gfTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV1RGCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXQ2xpZW50Q29ubmVjdGlvbi5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXQ2xpZW50Q29ubmVj
dGlvbi5jcHAKaW5kZXggMjVhZGE3MDVjODBhNDY5MjIwODZkZTBjOWFmZDY5M2ViMzMzOGI5Yy4u
YjI5NTk2NGI0YjVhMTk0OGM0Y2UwYjViOTNmZGQ0NjY2N2ExZWJjOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV0NsaWVudENvbm5lY3Rpb24uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dDbGllbnRDb25u
ZWN0aW9uLmNwcApAQCAtMTE4LDcgKzExOCw3IEBAIHZvaWQgU1dDbGllbnRDb25uZWN0aW9uOjpz
dGFydFNjcmlwdEZldGNoRm9yU2VydmVyKHVpbnQ2NF90IGpvYklkZW50aWZpZXIpCiAgICAgam9i
LT5zdGFydFNjcmlwdEZldGNoKCk7CiB9CiAKLXZvaWQgU1dDbGllbnRDb25uZWN0aW9uOjpwb3N0
TWVzc2FnZVRvU2VydmljZVdvcmtlckNsaWVudCh1aW50NjRfdCBkZXN0aW5hdGlvblNjcmlwdEV4
ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyLCBSZWY8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiYmIG1l
c3NhZ2UsIFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIHNvdXJjZUlkZW50aWZpZXIsIGNvbnN0IFN0
cmluZyYgc291cmNlT3JpZ2luKQordm9pZCBTV0NsaWVudENvbm5lY3Rpb246OnBvc3RNZXNzYWdl
VG9TZXJ2aWNlV29ya2VyQ2xpZW50KHVpbnQ2NF90IGRlc3RpbmF0aW9uU2NyaXB0RXhlY3V0aW9u
Q29udGV4dElkZW50aWZpZXIsIFJlZjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+JiYgbWVzc2FnZSwg
U2VydmljZVdvcmtlckRhdGEmJiBzb3VyY2VEYXRhLCBjb25zdCBTdHJpbmcmIHNvdXJjZU9yaWdp
bikKIHsKICAgICAvLyBGSVhNRTogZGVzdGluYXRpb25TY3JpcHRFeGVjdXRpb25Db250ZXh0SWRl
bnRpZmllciBjYW4gb25seSBpZGVudGlmeSBhIERvY3VtZW50IGF0IHRoZSBtb21lbnQuCiAgICAg
YXV0byogZGVzdGluYXRpb25Eb2N1bWVudCA9IERvY3VtZW50OjphbGxEb2N1bWVudHNNYXAoKS5n
ZXQoZGVzdGluYXRpb25TY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllcik7CkBAIC0xMjks
MTQgKzEyOSw3IEBAIHZvaWQgU1dDbGllbnRDb25uZWN0aW9uOjpwb3N0TWVzc2FnZVRvU2Vydmlj
ZVdvcmtlckNsaWVudCh1aW50NjRfdCBkZXN0aW5hdGlvblNjCiAgICAgaWYgKCFjb250YWluZXIp
CiAgICAgICAgIHJldHVybjsKIAotICAgIHN0ZDo6b3B0aW9uYWw8TWVzc2FnZUV2ZW50U291cmNl
PiBzb3VyY2U7Ci0gICAgYXV0byogYWN0aXZlU2VydmljZVdvcmtlciA9IGRlc3RpbmF0aW9uRG9j
dW1lbnQtPmFjdGl2ZVNlcnZpY2VXb3JrZXIoKTsKLSAgICBpZiAoYWN0aXZlU2VydmljZVdvcmtl
ciAmJiBhY3RpdmVTZXJ2aWNlV29ya2VyLT5pZGVudGlmaWVyKCkgPT0gc291cmNlSWRlbnRpZmll
cikKLSAgICAgICAgc291cmNlID0gTWVzc2FnZUV2ZW50U291cmNlIHsgUmVmUHRyPFNlcnZpY2VX
b3JrZXI+IHsgYWN0aXZlU2VydmljZVdvcmtlciB9IH07Ci0gICAgZWxzZSB7Ci0gICAgICAgIC8v
IEZJWE1FOiBQYXNzIGluIHZhbGlkIHNjcmlwdFVSTC4KLSAgICAgICAgc291cmNlID0gTWVzc2Fn
ZUV2ZW50U291cmNlIHsgUmVmUHRyPFNlcnZpY2VXb3JrZXI+IHsgU2VydmljZVdvcmtlcjo6Y3Jl
YXRlKCpkZXN0aW5hdGlvbkRvY3VtZW50LCBzb3VyY2VJZGVudGlmaWVyLCBVUkwoKSkgfSB9Owot
ICAgIH0KKyAgICBNZXNzYWdlRXZlbnRTb3VyY2Ugc291cmNlID0gUmVmUHRyPFNlcnZpY2VXb3Jr
ZXI+IHsgU2VydmljZVdvcmtlcjo6Z2V0T3JDcmVhdGUoKmRlc3RpbmF0aW9uRG9jdW1lbnQsIFdU
Rk1vdmUoc291cmNlRGF0YSkpIH07CiAKICAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIHBhc3MgaW4g
cG9ydHMuCiAgICAgYXV0byBtZXNzYWdlRXZlbnQgPSBNZXNzYWdlRXZlbnQ6OmNyZWF0ZSh7IH0s
IFdURk1vdmUobWVzc2FnZSksIHNvdXJjZU9yaWdpbiwgeyB9LCBXVEZNb3ZlKHNvdXJjZSkpOwpA
QCAtMTUyLDEwICsxNDUsMTAgQEAgdm9pZCBTV0NsaWVudENvbm5lY3Rpb246OmZvckVhY2hDb250
YWluZXIoY29uc3QgV1RGOjpGdW5jdGlvbjx2b2lkKFNlcnZpY2VXb3JrZXIKICAgICB9CiB9CiAK
LXZvaWQgU1dDbGllbnRDb25uZWN0aW9uOjp1cGRhdGVSZWdpc3RyYXRpb25TdGF0ZShTZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciBpZGVudGlmaWVyLCBTZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uU3RhdGUgc3RhdGUsIHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlcklkZW50aWZp
ZXI+IHNlcnZpY2VXb3JrZXJJZGVudGlmaWVyKQordm9pZCBTV0NsaWVudENvbm5lY3Rpb246OnVw
ZGF0ZVJlZ2lzdHJhdGlvblN0YXRlKFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVy
IGlkZW50aWZpZXIsIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25TdGF0ZSBzdGF0ZSwgY29uc3Qg
c3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2VyRGF0YT4mIHNlcnZpY2VXb3JrZXJEYXRhKQogewog
ICAgIGZvckVhY2hDb250YWluZXIoWyZdKFNlcnZpY2VXb3JrZXJDb250YWluZXImIGNvbnRhaW5l
cikgewotICAgICAgICBjb250YWluZXIuc2NoZWR1bGVUYXNrVG9VcGRhdGVSZWdpc3RyYXRpb25T
dGF0ZShpZGVudGlmaWVyLCBzdGF0ZSwgc2VydmljZVdvcmtlcklkZW50aWZpZXIpOworICAgICAg
ICBjb250YWluZXIuc2NoZWR1bGVUYXNrVG9VcGRhdGVSZWdpc3RyYXRpb25TdGF0ZShpZGVudGlm
aWVyLCBzdGF0ZSwgc2VydmljZVdvcmtlckRhdGEpOwogICAgIH0pOwogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXQ2xpZW50Q29ubmVjdGlv
bi5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV0NsaWVudENvbm5l
Y3Rpb24uaAppbmRleCAwZWM4N2ZjY2FhZjlkNGI2NGVmNjZhMDM3YWIyNTQwMzBlZDI3NjZjLi43
MTk5OTA0NDJmNDk5ZDZkNjIyOTFkN2Q4MmFlNDk1ZWI3YzgxM2EzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXQ2xpZW50Q29ubmVjdGlvbi5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dDbGllbnRDb25uZWN0
aW9uLmgKQEAgLTQ0LDYgKzQ0LDcgQEAgZW51bSBjbGFzcyBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uU3RhdGU7CiBlbnVtIGNsYXNzIFNlcnZpY2VXb3JrZXJTdGF0ZTsKIGVudW0gY2xhc3MgU2hv
dWxkTm90aWZ5V2hlblJlc29sdmVkOwogc3RydWN0IEV4Y2VwdGlvbkRhdGE7CitzdHJ1Y3QgU2Vy
dmljZVdvcmtlckRhdGE7CiBzdHJ1Y3QgU2VydmljZVdvcmtlckZldGNoUmVzdWx0Owogc3RydWN0
IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhOwogCkBAIC03NCw4ICs3NSw4IEBAIHByb3Rl
Y3RlZDoKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHJlZ2lzdHJhdGlvbkpvYlJlc29sdmVkSW5T
ZXJ2ZXIodWludDY0X3Qgam9iSWRlbnRpZmllciwgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRh
dGEmJiwgU2hvdWxkTm90aWZ5V2hlblJlc29sdmVkKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lk
IHVucmVnaXN0cmF0aW9uSm9iUmVzb2x2ZWRJblNlcnZlcih1aW50NjRfdCBqb2JJZGVudGlmaWVy
LCBib29sIHVucmVnaXN0cmF0aW9uUmVzdWx0KTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHN0
YXJ0U2NyaXB0RmV0Y2hGb3JTZXJ2ZXIodWludDY0X3Qgam9iSWRlbnRpZmllcik7Ci0gICAgV0VC
Q09SRV9FWFBPUlQgdm9pZCBwb3N0TWVzc2FnZVRvU2VydmljZVdvcmtlckNsaWVudCh1aW50NjRf
dCBkZXN0aW5hdGlvblNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyLCBSZWY8U2VyaWFs
aXplZFNjcmlwdFZhbHVlPiYmIG1lc3NhZ2UsIFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIHNvdXJj
ZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VPcmlnaW4pOwotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQg
dXBkYXRlUmVnaXN0cmF0aW9uU3RhdGUoU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZp
ZXIsIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25TdGF0ZSwgc3RkOjpvcHRpb25hbDxTZXJ2aWNl
V29ya2VySWRlbnRpZmllcj4pOworICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgcG9zdE1lc3NhZ2VU
b1NlcnZpY2VXb3JrZXJDbGllbnQodWludDY0X3QgZGVzdGluYXRpb25TY3JpcHRFeGVjdXRpb25D
b250ZXh0SWRlbnRpZmllciwgUmVmPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4mJiBtZXNzYWdlLCBT
ZXJ2aWNlV29ya2VyRGF0YSYmIHNvdXJjZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VPcmlnaW4pOwor
ICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgdXBkYXRlUmVnaXN0cmF0aW9uU3RhdGUoU2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIsIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25TdGF0
ZSwgY29uc3Qgc3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2VyRGF0YT4mKTsKICAgICBXRUJDT1JF
X0VYUE9SVCB2b2lkIHVwZGF0ZVdvcmtlclN0YXRlKFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCBT
ZXJ2aWNlV29ya2VyU3RhdGUpOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZmlyZVVwZGF0ZUZv
dW5kRXZlbnQoU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIpOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmggYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmgKaW5kZXggZjBj
OGMyYzFjZjVkOGE5YjYwNTk1MmVkZDM5MjU2NTM3YzIxODQxMi4uOWEyYTUxYzc4OTY4MWY3ZWJh
Y2QxMzVjY2NhZWI2YzE3MDY2NDRkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuaApAQCAtNjgsNyArNjgsNyBAQCBwdWJsaWM6CiAgICAg
ICAgIGNvbnN0IFNXU2VydmVyUmVnaXN0cmF0aW9uKiBkb1JlZ2lzdHJhdGlvbk1hdGNoaW5nKGNv
bnN0IFNlY3VyaXR5T3JpZ2luRGF0YSYgdG9wT3JpZ2luLCBjb25zdCBVUkwmIGNsaWVudFVSTCkg
Y29uc3QgeyByZXR1cm4gbV9zZXJ2ZXIuZG9SZWdpc3RyYXRpb25NYXRjaGluZyh0b3BPcmlnaW4s
IGNsaWVudFVSTCk7IH0KIAogICAgICAgICAvLyBNZXNzYWdlcyB0byB0aGUgY2xpZW50IFdlYlBy
b2Nlc3MKLSAgICAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZVJlZ2lzdHJhdGlvblN0YXRlSW5DbGll
bnQoU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIsIFNlcnZpY2VXb3JrZXJSZWdp
c3RyYXRpb25TdGF0ZSwgc3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2VySWRlbnRpZmllcj4pID0g
MDsKKyAgICAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZVJlZ2lzdHJhdGlvblN0YXRlSW5DbGllbnQo
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIsIFNlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb25TdGF0ZSwgY29uc3Qgc3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2VyRGF0YT4mKSA9IDA7
CiAgICAgICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVXb3JrZXJTdGF0ZUluQ2xpZW50KFNlcnZpY2VX
b3JrZXJJZGVudGlmaWVyLCBTZXJ2aWNlV29ya2VyU3RhdGUpID0gMDsKICAgICAgICAgdmlydHVh
bCB2b2lkIGZpcmVVcGRhdGVGb3VuZEV2ZW50KFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVu
dGlmaWVyKSA9IDA7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vydmlj
ZS9zZXJ2ZXIvU1dTZXJ2ZXJSZWdpc3RyYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlclJlZ2lzdHJhdGlvbi5jcHAKaW5kZXggZjczYmVmZWNi
NDM2MjJhMGI3ZDA5MjQ1MGVkZWY5NjJlODQ2YWY3MC4uZTA1NDMxODg5ZTQ5N2Y3NTFmYzk0OTc4
YWM5YWZiMzU5ZDQ4NTIyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2
aWNlL3NlcnZlci9TV1NlcnZlclJlZ2lzdHJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlclJlZ2lzdHJhdGlvbi5jcHAKQEAgLTgyLDEy
ICs4MiwxMiBAQCB2b2lkIFNXU2VydmVyUmVnaXN0cmF0aW9uOjp1cGRhdGVSZWdpc3RyYXRpb25T
dGF0ZShTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uU3RhdAogICAgICAgICBicmVhazsKICAgICB9
OwogCi0gICAgc3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2VySWRlbnRpZmllcj4gc2VydmljZVdv
cmtlcklkZW50aWZpZXI7CisgICAgc3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2VyRGF0YT4gc2Vy
dmljZVdvcmtlckRhdGE7CiAgICAgaWYgKHdvcmtlcikKLSAgICAgICAgc2VydmljZVdvcmtlcklk
ZW50aWZpZXIgPSB3b3JrZXItPmlkZW50aWZpZXIoKTsKKyAgICAgICAgc2VydmljZVdvcmtlckRh
dGEgPSB3b3JrZXItPmRhdGEoKTsKIAogICAgIGZvckVhY2hDb25uZWN0aW9uKFsmXShhdXRvJiBj
b25uZWN0aW9uKSB7Ci0gICAgICAgIGNvbm5lY3Rpb24udXBkYXRlUmVnaXN0cmF0aW9uU3RhdGVJ
bkNsaWVudChpZGVudGlmaWVyKCksIHN0YXRlLCBzZXJ2aWNlV29ya2VySWRlbnRpZmllcik7Cisg
ICAgICAgIGNvbm5lY3Rpb24udXBkYXRlUmVnaXN0cmF0aW9uU3RhdGVJbkNsaWVudChpZGVudGlm
aWVyKCksIHN0YXRlLCBzZXJ2aWNlV29ya2VyRGF0YSk7CiAgICAgfSk7CiB9CiAKQEAgLTExOSwx
OSArMTE5LDE5IEBAIHZvaWQgU1dTZXJ2ZXJSZWdpc3RyYXRpb246OmZvckVhY2hDb25uZWN0aW9u
KGNvbnN0IFdURjo6RnVuY3Rpb248dm9pZChTV1NlcnZlcjo6CiAKIFNlcnZpY2VXb3JrZXJSZWdp
c3RyYXRpb25EYXRhIFNXU2VydmVyUmVnaXN0cmF0aW9uOjpkYXRhKCkgY29uc3QKIHsKLSAgICBz
dGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyPiBpbnN0YWxsaW5nSUQ7CisgICAg
c3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2VyRGF0YT4gaW5zdGFsbGluZ1dvcmtlckRhdGE7CiAg
ICAgaWYgKG1faW5zdGFsbGluZ1dvcmtlcikKLSAgICAgICAgaW5zdGFsbGluZ0lEID0gbV9pbnN0
YWxsaW5nV29ya2VyLT5pZGVudGlmaWVyKCk7CisgICAgICAgIGluc3RhbGxpbmdXb3JrZXJEYXRh
ID0gbV9pbnN0YWxsaW5nV29ya2VyLT5kYXRhKCk7CiAKLSAgICBzdGQ6Om9wdGlvbmFsPFNlcnZp
Y2VXb3JrZXJJZGVudGlmaWVyPiB3YWl0aW5nSUQ7CisgICAgc3RkOjpvcHRpb25hbDxTZXJ2aWNl
V29ya2VyRGF0YT4gd2FpdGluZ1dvcmtlckRhdGE7CiAgICAgaWYgKG1fd2FpdGluZ1dvcmtlcikK
LSAgICAgICAgd2FpdGluZ0lEID0gbV93YWl0aW5nV29ya2VyLT5pZGVudGlmaWVyKCk7CisgICAg
ICAgIHdhaXRpbmdXb3JrZXJEYXRhID0gbV93YWl0aW5nV29ya2VyLT5kYXRhKCk7CiAKLSAgICBz
dGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyPiBhY3RpdmVJRDsKKyAgICBzdGQ6
Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJEYXRhPiBhY3RpdmVXb3JrZXJEYXRhOwogICAgIGlmICht
X2FjdGl2ZVdvcmtlcikKLSAgICAgICAgYWN0aXZlSUQgPSBtX2FjdGl2ZVdvcmtlci0+aWRlbnRp
ZmllcigpOworICAgICAgICBhY3RpdmVXb3JrZXJEYXRhID0gbV9hY3RpdmVXb3JrZXItPmRhdGEo
KTsKIAotICAgIHJldHVybiB7IG1fcmVnaXN0cmF0aW9uS2V5LCBpZGVudGlmaWVyKCksIG1fc2Nv
cGVVUkwsIG1fc2NyaXB0VVJMLCBtX3VwZGF0ZVZpYUNhY2hlLCBpbnN0YWxsaW5nSUQsIHdhaXRp
bmdJRCwgYWN0aXZlSUQgfTsKKyAgICByZXR1cm4geyBtX3JlZ2lzdHJhdGlvbktleSwgaWRlbnRp
ZmllcigpLCBtX3Njb3BlVVJMLCBtX3VwZGF0ZVZpYUNhY2hlLCBXVEZNb3ZlKGluc3RhbGxpbmdX
b3JrZXJEYXRhKSwgV1RGTW92ZSh3YWl0aW5nV29ya2VyRGF0YSksIFdURk1vdmUoYWN0aXZlV29y
a2VyRGF0YSkgfTsKIH0KIAogdm9pZCBTV1NlcnZlclJlZ2lzdHJhdGlvbjo6YWRkQ2xpZW50U2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbih1aW50NjRfdCBjb25uZWN0aW9uSWRlbnRpZmllcikKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJX
b3JrZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZl
cldvcmtlci5jcHAKaW5kZXggMTI1YTI2NGY1N2NlNTBmMDU2NmJjMjlhYjcyMmRmNTgxYjQ2YmUy
Zi4uMzA0NWYxM2UxNmI3ZGQ4MzFmNzVhMjYxYWJlOTg5NTk5YzE5MTFhNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlcldvcmtlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlcldvcmtl
ci5jcHAKQEAgLTMwLDEyICszMCwxMCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVNXU2Vy
dmVyV29ya2VyOjpTV1NlcnZlcldvcmtlcihjb25zdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
S2V5JiByZWdpc3RyYXRpb25LZXksIGNvbnN0IFVSTCYgdXJsLCBjb25zdCBTdHJpbmcmIHNjcmlw
dCwgV29ya2VyVHlwZSB0eXBlLCBTZXJ2aWNlV29ya2VySWRlbnRpZmllciBpZGVudGlmaWVyKQor
U1dTZXJ2ZXJXb3JrZXI6OlNXU2VydmVyV29ya2VyKGNvbnN0IFNlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb25LZXkmIHJlZ2lzdHJhdGlvbktleSwgY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0
cmluZyYgc2NyaXB0LCBXb3JrZXJUeXBlIHR5cGUsIFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIGlk
ZW50aWZpZXIpCiAgICAgOiBtX3JlZ2lzdHJhdGlvbktleShyZWdpc3RyYXRpb25LZXkpCi0gICAg
LCBtX3NjcmlwdFVSTCh1cmwpCisgICAgLCBtX2RhdGEgeyBpZGVudGlmaWVyLCBzY3JpcHRVUkws
IFNlcnZpY2VXb3JrZXJTdGF0ZTo6UmVkdW5kYW50LCB0eXBlIH0KICAgICAsIG1fc2NyaXB0KHNj
cmlwdCkKLSAgICAsIG1faWRlbnRpZmllcihpZGVudGlmaWVyKQotICAgICwgbV90eXBlKHR5cGUp
CiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2
ZXIvU1dTZXJ2ZXJXb3JrZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2
ZXIvU1dTZXJ2ZXJXb3JrZXIuaAppbmRleCAxYTY4MWViMjljZTg1YjU5MDNjN2E0MWQ5N2EwNDRh
OGI0YWQwYTM1Li43MTdkZjY1YjhiMDU1MmQ1ODdjYjRhZjU2MzZmMjcxODZmODNkOWNhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyV29y
a2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZl
cldvcmtlci5oCkBAIC0yNyw2ICsyNyw3IEBACiAKICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIp
CiAKKyNpbmNsdWRlICJTZXJ2aWNlV29ya2VyRGF0YS5oIgogI2luY2x1ZGUgIlNlcnZpY2VXb3Jr
ZXJJZGVudGlmaWVyLmgiCiAjaW5jbHVkZSAiU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleS5o
IgogI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJUeXBlcy5oIgpAQCAtNDUsMzIgKzQ2LDMwIEBAIHB1
YmxpYzoKICAgICB9CiAgICAgCiAgICAgU1dTZXJ2ZXJXb3JrZXIoY29uc3QgU1dTZXJ2ZXJXb3Jr
ZXImKSA9IGRlbGV0ZTsKLSAgICB+U1dTZXJ2ZXJXb3JrZXIoKTsKKyAgICBXRUJDT1JFX0VYUE9S
VCB+U1dTZXJ2ZXJXb3JrZXIoKTsKIAogICAgIHZvaWQgdGVybWluYXRlKCk7CiAKLSAgICBjb25z
dCBVUkwmIHNjcmlwdFVSTCgpIGNvbnN0IHsgcmV0dXJuIG1fc2NyaXB0VVJMOyB9CisgICAgY29u
c3QgVVJMJiBzY3JpcHRVUkwoKSBjb25zdCB7IHJldHVybiBtX2RhdGEuc2NyaXB0VVJMOyB9CiAg
ICAgY29uc3QgU3RyaW5nJiBzY3JpcHQoKSBjb25zdCB7IHJldHVybiBtX3NjcmlwdDsgfQotICAg
IFdvcmtlclR5cGUgdHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZTsgfQorICAgIFdvcmtlclR5
cGUgdHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fZGF0YS50eXBlOyB9CiAKLSAgICBTZXJ2aWNlV29y
a2VySWRlbnRpZmllciBpZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gbV9pZGVudGlmaWVyOyB9
CisgICAgU2VydmljZVdvcmtlcklkZW50aWZpZXIgaWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJu
IG1fZGF0YS5pZGVudGlmaWVyOyB9CiAKLSAgICBTZXJ2aWNlV29ya2VyU3RhdGUgc3RhdGUoKSBj
b25zdCB7IHJldHVybiBtX3N0YXRlOyB9Ci0gICAgdm9pZCBzZXRTdGF0ZShTZXJ2aWNlV29ya2Vy
U3RhdGUgc3RhdGUpIHsgbV9zdGF0ZSA9IHN0YXRlOyB9CisgICAgU2VydmljZVdvcmtlclN0YXRl
IHN0YXRlKCkgY29uc3QgeyByZXR1cm4gbV9kYXRhLnN0YXRlOyB9CisgICAgdm9pZCBzZXRTdGF0
ZShTZXJ2aWNlV29ya2VyU3RhdGUgc3RhdGUpIHsgbV9kYXRhLnN0YXRlID0gc3RhdGU7IH0KIAog
ICAgIGJvb2wgaGFzUGVuZGluZ0V2ZW50cygpIGNvbnN0IHsgcmV0dXJuIG1faGFzUGVuZGluZ0V2
ZW50czsgfQogICAgIHZvaWQgc2V0SGFzUGVuZGluZ0V2ZW50cyhib29sIHZhbHVlKSB7IG1faGFz
UGVuZGluZ0V2ZW50cyA9IHZhbHVlOyB9CiAKKyAgICBjb25zdCBTZXJ2aWNlV29ya2VyRGF0YSYg
ZGF0YSgpIGNvbnN0IHsgcmV0dXJuIG1fZGF0YTsgfQorCiBwcml2YXRlOgogICAgIFNXU2VydmVy
V29ya2VyKGNvbnN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkmLCBjb25zdCBVUkwmLCBj
b25zdCBTdHJpbmcmIHNjcmlwdCwgV29ya2VyVHlwZSwgU2VydmljZVdvcmtlcklkZW50aWZpZXIp
OwogCiAgICAgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleSBtX3JlZ2lzdHJhdGlvbktleTsK
LSAgICBVUkwgbV9zY3JpcHRVUkw7CisgICAgU2VydmljZVdvcmtlckRhdGEgbV9kYXRhOwogICAg
IFN0cmluZyBtX3NjcmlwdDsKLSAgICBTZXJ2aWNlV29ya2VySWRlbnRpZmllciBtX2lkZW50aWZp
ZXI7Ci0gICAgV29ya2VyVHlwZSBtX3R5cGU7Ci0gICAgCi0gICAgU2VydmljZVdvcmtlclN0YXRl
IG1fc3RhdGUgeyBTZXJ2aWNlV29ya2VyU3RhdGU6OlJlZHVuZGFudCB9OwogICAgIGJvb2wgbV9o
YXNQZW5kaW5nRXZlbnRzIHsgZmFsc2UgfTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQv
V2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgKaW5kZXggOThkOTdhZGZjODRiNzFmNGI4NzBmZjZmZDlm
YTY0NTgyZDY2ZDhkZi4uZTk5Y2I2ZGQ4MWZhNjM5YzZhY2FkNjI1YTNkZDJlOWZmZDBlN2MyYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgK
KysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgKQEAgLTQy
LDYgKzQyLDcgQEAKICNpbmNsdWRlIDxXZWJDb3JlL1NlcnZpY2VXb3JrZXJUeXBlcy5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvU2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlLmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9TdG9yZWRDcmVkZW50aWFsc1BvbGljeS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvV29y
a2VyVHlwZS5oPgogCiBuYW1lc3BhY2UgV1RGIHsKIGNsYXNzIE1vbm90b25pY1RpbWU7CkBAIC03
OTcsNiArNzk4LDE0IEBAIHRlbXBsYXRlIDw+IHN0cnVjdCBFbnVtVHJhaXRzPFdlYkNvcmU6OlN0
b3JlZENyZWRlbnRpYWxzUG9saWN5PiB7CiAgICAgPjsKIH07CiAKK3RlbXBsYXRlIDw+IHN0cnVj
dCBFbnVtVHJhaXRzPFdlYkNvcmU6OldvcmtlclR5cGU+IHsKKyAgICB1c2luZyB2YWx1ZXMgPSBF
bnVtVmFsdWVzPAorICAgICAgICBXZWJDb3JlOjpXb3JrZXJUeXBlLAorICAgICAgICBXZWJDb3Jl
OjpXb3JrZXJUeXBlOjpDbGFzc2ljLAorICAgICAgICBXZWJDb3JlOjpXb3JrZXJUeXBlOjpNb2R1
bGUKKyAgICA+OworfTsKKwogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKIHRlbXBsYXRlIDw+
IHN0cnVjdCBFbnVtVHJhaXRzPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNoZT4g
ewogICAgIHVzaW5nIHZhbHVlcyA9IEVudW1WYWx1ZXM8CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1N0b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmNw
cCBiL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZl
ckNvbm5lY3Rpb24uY3BwCmluZGV4IDZiYzU4OWE5NTcyODUwMTNhYjQ4ODQwYzJmNDBiMDQ2MDE5
MTk5YzQuLmM2ZjQ4NDhmYzk2NTAzNjM2YjIxYTM5MjcwNDEwOGE5MDA5OWUzYjggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZl
ckNvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU2Vydmlj
ZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uY3BwCkBAIC05Niw5ICs5Niw5IEBAIHZvaWQg
V2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjpzdGFydFNjcmlwdEZldGNoSW5DbGllbnQodWludDY0X3Qg
am9iSWRlbnRpZmllcikKICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJTV0NsaWVudENvbm5lY3Rpb246
OlN0YXJ0U2NyaXB0RmV0Y2hGb3JTZXJ2ZXIoam9iSWRlbnRpZmllcikpOwogfQogCi12b2lkIFdl
YlNXU2VydmVyQ29ubmVjdGlvbjo6dXBkYXRlUmVnaXN0cmF0aW9uU3RhdGVJbkNsaWVudChTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciBpZGVudGlmaWVyLCBTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uU3RhdGUgc3RhdGUsIHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlcklkZW50
aWZpZXI+IHNlcnZpY2VXb3JrZXJJZGVudGlmaWVyKQordm9pZCBXZWJTV1NlcnZlckNvbm5lY3Rp
b246OnVwZGF0ZVJlZ2lzdHJhdGlvblN0YXRlSW5DbGllbnQoU2VydmljZVdvcmtlclJlZ2lzdHJh
dGlvbklkZW50aWZpZXIgaWRlbnRpZmllciwgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvblN0YXRl
IHN0YXRlLCBjb25zdCBzdGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJEYXRhPiYgc2VydmljZVdv
cmtlckRhdGEpCiB7Ci0gICAgc2VuZChNZXNzYWdlczo6V2ViU1dDbGllbnRDb25uZWN0aW9uOjpV
cGRhdGVSZWdpc3RyYXRpb25TdGF0ZShpZGVudGlmaWVyLCBzdGF0ZSwgc2VydmljZVdvcmtlcklk
ZW50aWZpZXIpKTsKKyAgICBzZW5kKE1lc3NhZ2VzOjpXZWJTV0NsaWVudENvbm5lY3Rpb246OlVw
ZGF0ZVJlZ2lzdHJhdGlvblN0YXRlKGlkZW50aWZpZXIsIHN0YXRlLCBzZXJ2aWNlV29ya2VyRGF0
YSkpOwogfQogCiB2b2lkIFdlYlNXU2VydmVyQ29ubmVjdGlvbjo6ZmlyZVVwZGF0ZUZvdW5kRXZl
bnQoU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIgaWRlbnRpZmllcikKQEAgLTE2
NSw5ICsxNjUsMTMgQEAgdm9pZCBXZWJTV1NlcnZlckNvbm5lY3Rpb246OmRpZE5vdEhhbmRsZUZl
dGNoKHVpbnQ2NF90IGZldGNoSWRlbnRpZmllcikKICAgICBtX2NvbnRlbnRDb25uZWN0aW9uLT5z
ZW5kKE1lc3NhZ2VzOjpTZXJ2aWNlV29ya2VyQ2xpZW50RmV0Y2g6OkRpZE5vdEhhbmRsZSB7IH0s
IGZldGNoSWRlbnRpZmllcik7CiB9CiAKLXZvaWQgV2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjpwb3N0
TWVzc2FnZVRvU2VydmljZVdvcmtlckNsaWVudCh1aW50NjRfdCBkZXN0aW5hdGlvblNjcmlwdEV4
ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyLCBjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmIG1lc3Nh
Z2UsIFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIHNvdXJjZVNlcnZpY2VXb3JrZXJJZGVudGlmaWVy
LCBjb25zdCBTdHJpbmcmIHNvdXJjZU9yaWdpbikKK3ZvaWQgV2ViU1dTZXJ2ZXJDb25uZWN0aW9u
Ojpwb3N0TWVzc2FnZVRvU2VydmljZVdvcmtlckNsaWVudCh1aW50NjRfdCBkZXN0aW5hdGlvblNj
cmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyLCBjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2Um
IG1lc3NhZ2UsIFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIHNvdXJjZUlkZW50aWZpZXIsIGNvbnN0
IFN0cmluZyYgc291cmNlT3JpZ2luKQogewotICAgIHNlbmQoTWVzc2FnZXM6OldlYlNXQ2xpZW50
Q29ubmVjdGlvbjo6UG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXJDbGllbnQgeyBkZXN0aW5hdGlv
blNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyLCBtZXNzYWdlLCBzb3VyY2VTZXJ2aWNl
V29ya2VySWRlbnRpZmllciwgc291cmNlT3JpZ2luIH0pOworICAgIGF1dG8qIHNvdXJjZVNlcnZp
Y2VXb3JrZXIgPSBzZXJ2ZXIoKS53b3JrZXJCeUlEKHNvdXJjZUlkZW50aWZpZXIpOworICAgIGlm
ICghc291cmNlU2VydmljZVdvcmtlcikKKyAgICAgICAgcmV0dXJuOworCisgICAgc2VuZChNZXNz
YWdlczo6V2ViU1dDbGllbnRDb25uZWN0aW9uOjpQb3N0TWVzc2FnZVRvU2VydmljZVdvcmtlckNs
aWVudCB7IGRlc3RpbmF0aW9uU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIsIG1lc3Nh
Z2UsIHNvdXJjZVNlcnZpY2VXb3JrZXItPmRhdGEoKSwgc291cmNlT3JpZ2luIH0pOwogfQogCiB2
b2lkIFdlYlNXU2VydmVyQ29ubmVjdGlvbjo6bWF0Y2hSZWdpc3RyYXRpb24odWludDY0X3QgcmVn
aXN0cmF0aW9uTWF0Y2hSZXF1ZXN0SWRlbnRpZmllciwgY29uc3QgU2VjdXJpdHlPcmlnaW5EYXRh
JiB0b3BPcmlnaW4sIGNvbnN0IFVSTCYgY2xpZW50VVJMKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9TdG9yYWdlUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5o
IGIvU291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVy
Q29ubmVjdGlvbi5oCmluZGV4IDdmMWNkNTFlY2YxM2RhZTY0ZjJkMDViMjZjZWRiNmQzNTY4NDlj
NGQuLjhmOGI0MjY4ZGJlYzNlNzZmMDQ4MzZjNTlmZDE0ZmQxNDVlYjNjYmYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNv
bm5lY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3Jr
ZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmgKQEAgLTY1LDcgKzY1LDcgQEAgcHJpdmF0ZToKICAg
ICB2b2lkIHJlc29sdmVSZWdpc3RyYXRpb25Kb2JJbkNsaWVudCh1aW50NjRfdCBqb2JJZGVudGlm
aWVyLCBjb25zdCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YSYsIFdlYkNv
cmU6OlNob3VsZE5vdGlmeVdoZW5SZXNvbHZlZCkgZmluYWw7CiAgICAgdm9pZCByZXNvbHZlVW5y
ZWdpc3RyYXRpb25Kb2JJbkNsaWVudCh1aW50NjRfdCBqb2JJZGVudGlmaWVyLCBjb25zdCBXZWJD
b3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5JiwgYm9vbCB1bnJlZ2lzdHJhdGlvblJl
c3VsdCkgZmluYWw7CiAgICAgdm9pZCBzdGFydFNjcmlwdEZldGNoSW5DbGllbnQodWludDY0X3Qg
am9iSWRlbnRpZmllcikgZmluYWw7Ci0gICAgdm9pZCB1cGRhdGVSZWdpc3RyYXRpb25TdGF0ZUlu
Q2xpZW50KFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyLCBXZWJD
b3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uU3RhdGUsIHN0ZDo6b3B0aW9uYWw8V2ViQ29y
ZTo6U2VydmljZVdvcmtlcklkZW50aWZpZXI+KSBmaW5hbDsKKyAgICB2b2lkIHVwZGF0ZVJlZ2lz
dHJhdGlvblN0YXRlSW5DbGllbnQoV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklk
ZW50aWZpZXIsIFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25TdGF0ZSwgY29uc3Qg
c3RkOjpvcHRpb25hbDxXZWJDb3JlOjpTZXJ2aWNlV29ya2VyRGF0YT4mKSBmaW5hbDsKICAgICB2
b2lkIHVwZGF0ZVdvcmtlclN0YXRlSW5DbGllbnQoV2ViQ29yZTo6U2VydmljZVdvcmtlcklkZW50
aWZpZXIsIFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJTdGF0ZSkgZmluYWw7CiAgICAgdm9pZCBmaXJl
VXBkYXRlRm91bmRFdmVudChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRp
ZmllcikgZmluYWw7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9y
YWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
U3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24uY3BwCmluZGV4IGI0YzZkYWNmYTVmMWNiNDVi
ZDQxMzkwNmJlM2I5Mzg3YWRmMDQ4YzcuLjExYWJiOGM1MWViMGUwZmFiMzc2N2NmNjkwNmU2ZmFm
MTVjYjk3ODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dl
YlNXQ2xpZW50Q29ubmVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0
b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmNwcApAQCAtMTI2LDkgKzEyNiw5IEBAIFJlZjxT
ZXJ2aWNlV29ya2VyQ2xpZW50RmV0Y2g+IFdlYlNXQ2xpZW50Q29ubmVjdGlvbjo6c3RhcnRGZXRj
aChXZWJTZXJ2aWNlV29ya2VyCiAgICAgcmV0dXJuIFNlcnZpY2VXb3JrZXJDbGllbnRGZXRjaDo6
Y3JlYXRlKHByb3ZpZGVyLCBXVEZNb3ZlKGxvYWRlciksIGlkZW50aWZpZXIsIG1fY29ubmVjdGlv
bi5nZXQoKSwgV1RGTW92ZShjYWxsYmFjaykpOwogfQogCi12b2lkIFdlYlNXQ2xpZW50Q29ubmVj
dGlvbjo6cG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXJDbGllbnQodWludDY0X3QgZGVzdGluYXRp
b25TY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllciwgY29uc3QgSVBDOjpEYXRhUmVmZXJl
bmNlJiBtZXNzYWdlLCBTZXJ2aWNlV29ya2VySWRlbnRpZmllciBzb3VyY2VJZGVudGlmaWVyLCBj
b25zdCBTdHJpbmcmIHNvdXJjZU9yaWdpbikKK3ZvaWQgV2ViU1dDbGllbnRDb25uZWN0aW9uOjpw
b3N0TWVzc2FnZVRvU2VydmljZVdvcmtlckNsaWVudCh1aW50NjRfdCBkZXN0aW5hdGlvblNjcmlw
dEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyLCBjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmIG1l
c3NhZ2UsIFNlcnZpY2VXb3JrZXJEYXRhJiYgc291cmNlLCBjb25zdCBTdHJpbmcmIHNvdXJjZU9y
aWdpbikKIHsKLSAgICBTV0NsaWVudENvbm5lY3Rpb246OnBvc3RNZXNzYWdlVG9TZXJ2aWNlV29y
a2VyQ2xpZW50KGRlc3RpbmF0aW9uU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIsIFNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZTo6YWRvcHQobWVzc2FnZS52ZWN0b3IoKSksIHNvdXJjZUlkZW50
aWZpZXIsIHNvdXJjZU9yaWdpbik7CisgICAgU1dDbGllbnRDb25uZWN0aW9uOjpwb3N0TWVzc2Fn
ZVRvU2VydmljZVdvcmtlckNsaWVudChkZXN0aW5hdGlvblNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJ
ZGVudGlmaWVyLCBTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmFkb3B0KG1lc3NhZ2UudmVjdG9yKCkp
LCBXVEZNb3ZlKHNvdXJjZSksIHNvdXJjZU9yaWdpbik7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dD
bGllbnRDb25uZWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJT
V0NsaWVudENvbm5lY3Rpb24uaAppbmRleCBhZDY0MmM5MDJmMDFiZjdkNjk4YzY4ZWM4MjQxOWVi
Y2FhYTQ4YjUyLi41MTJhMWQxYWJjY2NkODcyYTQ5NDNiYjQ0MWVjMzZlOGY4NDIxNDUwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5l
Y3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVu
dENvbm5lY3Rpb24uaApAQCAtNjMsNyArNjMsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBoYXNTZXJ2
aWNlV29ya2VyUmVnaXN0ZXJlZEZvck9yaWdpbihjb25zdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdp
biYpIGNvbnN0IGZpbmFsOwogICAgIFJlZjxTZXJ2aWNlV29ya2VyQ2xpZW50RmV0Y2g+IHN0YXJ0
RmV0Y2goV2ViU2VydmljZVdvcmtlclByb3ZpZGVyJiwgUmVmPFdlYkNvcmU6OlJlc291cmNlTG9h
ZGVyPiYmLCB1aW50NjRfdCBpZGVudGlmaWVyLCBTZXJ2aWNlV29ya2VyQ2xpZW50RmV0Y2g6OkNh
bGxiYWNrJiYpOwogCi0gICAgdm9pZCBwb3N0TWVzc2FnZVRvU2VydmljZVdvcmtlckNsaWVudCh1
aW50NjRfdCBkZXN0aW5hdGlvblNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyLCBjb25z
dCBJUEM6OkRhdGFSZWZlcmVuY2UmIG1lc3NhZ2UsIFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVu
dGlmaWVyIHNvdXJjZUlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgc291cmNlT3JpZ2luKTsKKyAg
ICB2b2lkIHBvc3RNZXNzYWdlVG9TZXJ2aWNlV29ya2VyQ2xpZW50KHVpbnQ2NF90IGRlc3RpbmF0
aW9uU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIsIGNvbnN0IElQQzo6RGF0YVJlZmVy
ZW5jZSYgbWVzc2FnZSwgV2ViQ29yZTo6U2VydmljZVdvcmtlckRhdGEmJiBzb3VyY2UsIGNvbnN0
IFN0cmluZyYgc291cmNlT3JpZ2luKTsKIAogcHJpdmF0ZToKICAgICB2b2lkIHNjaGVkdWxlSm9i
SW5TZXJ2ZXIoY29uc3QgV2ViQ29yZTo6U2VydmljZVdvcmtlckpvYkRhdGEmKSBmaW5hbDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29u
bmVjdGlvbi5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dl
YlNXQ2xpZW50Q29ubmVjdGlvbi5tZXNzYWdlcy5pbgppbmRleCA1MzNkY2U2MWRjMTU2ODFlYTFh
ODRkNzdjYzk5MDY1NDdiMWYzYWJhLi40ZmMyZGYzNDU4YTllMjI0YTUyZDEwZDcwOWIyZjBjOWU2
MzJiOTkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJT
V0NsaWVudENvbm5lY3Rpb24ubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLm1lc3NhZ2VzLmluCkBAIC0yOCwxMiAr
MjgsMTIgQEAgbWVzc2FnZXMgLT4gV2ViU1dDbGllbnRDb25uZWN0aW9uIHsKICAgICBSZWdpc3Ry
YXRpb25Kb2JSZXNvbHZlZEluU2VydmVyKHVpbnQ2NF90IGlkZW50aWZpZXIsIHN0cnVjdCBXZWJD
b3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YSByZWdpc3RyYXRpb24sIGVudW0gV2Vi
Q29yZTo6U2hvdWxkTm90aWZ5V2hlblJlc29sdmVkIHNob3VsZE5vdGlmeVdoZW5SZXNvbHZlZCkK
ICAgICBVbnJlZ2lzdHJhdGlvbkpvYlJlc29sdmVkSW5TZXJ2ZXIodWludDY0X3QgaWRlbnRpZmll
ciwgYm9vbCB1bnJlZ2lzdHJhdGlvblJlc3VsdCkKICAgICBTdGFydFNjcmlwdEZldGNoRm9yU2Vy
dmVyKHVpbnQ2NF90IGpvYklkZW50aWZpZXIpCi0gICAgVXBkYXRlUmVnaXN0cmF0aW9uU3RhdGUo
V2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIgaWRlbnRpZmllciwg
ZW51bSBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uU3RhdGUgc3RhdGUsIHN0ZDo6
b3B0aW9uYWw8V2ViQ29yZTo6U2VydmljZVdvcmtlcklkZW50aWZpZXI+IHNlcnZpY2VXb3JrZXJJ
ZGVudGlmaWVyKQorICAgIFVwZGF0ZVJlZ2lzdHJhdGlvblN0YXRlKFdlYkNvcmU6OlNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyIGlkZW50aWZpZXIsIGVudW0gV2ViQ29yZTo6U2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvblN0YXRlIHN0YXRlLCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6
OlNlcnZpY2VXb3JrZXJEYXRhPiBzZXJ2aWNlV29ya2VySWRlbnRpZmllcikKICAgICBVcGRhdGVX
b3JrZXJTdGF0ZShXZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRlbnRpZmllciBzZXJ2aWNlV29ya2Vy
SWRlbnRpZmllciwgZW51bSBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyU3RhdGUgc3RhdGUpCiAgICAg
RmlyZVVwZGF0ZUZvdW5kRXZlbnQoV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklk
ZW50aWZpZXIgaWRlbnRpZmllcikKIAogICAgIFNldFNXT3JpZ2luVGFibGVTaGFyZWRNZW1vcnko
V2ViS2l0OjpTaGFyZWRNZW1vcnk6OkhhbmRsZSBoYW5kbGUpCi0gICAgUG9zdE1lc3NhZ2VUb1Nl
cnZpY2VXb3JrZXJDbGllbnQodWludDY0X3QgZGVzdGluYXRpb25TY3JpcHRFeGVjdXRpb25Db250
ZXh0SWRlbnRpZmllciwgSVBDOjpEYXRhUmVmZXJlbmNlIG1lc3NhZ2UsIFdlYkNvcmU6OlNlcnZp
Y2VXb3JrZXJJZGVudGlmaWVyIHNvdXJjZVNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCBTdHJpbmcg
c291cmNlT3JpZ2luKQorICAgIFBvc3RNZXNzYWdlVG9TZXJ2aWNlV29ya2VyQ2xpZW50KHVpbnQ2
NF90IGRlc3RpbmF0aW9uU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIsIElQQzo6RGF0
YVJlZmVyZW5jZSBtZXNzYWdlLCBzdHJ1Y3QgV2ViQ29yZTo6U2VydmljZVdvcmtlckRhdGEgc291
cmNlLCBTdHJpbmcgc291cmNlT3JpZ2luKQogCiAgICAgRGlkTWF0Y2hSZWdpc3RyYXRpb24odWlu
dDY0X3QgbWF0Y2hSZXF1ZXN0SWRlbnRpZmllciwgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YT4gZGF0YSkKIH0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hh
bmdlTG9nCmluZGV4IGQ2OWM3YzhkMTdjNWM5N2JhMDJjM2I3MTg2NWJiNmM5Nzc4ZWY2ZmEuLjNh
ODBkMDliMGYwOThmZTQzMTBlYTMxYmI4MWY4NDA2MjExZjYwMTggMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE3LTExLTEzICBDaHJpcyBEdW1leiAg
PGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgU2VuZCBTZXJ2aWNlV29ya2VyRGF0YSBzdHJ1
Y3RzIHRvIHRoZSBXZWJQcm9jZXNzZXMgaW5zdGVhZCBvZiBTZXJ2aWNlV29ya2VySWRlbnRpZmll
cnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3OTY0
OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlYmFz
ZWxpbmUgYSBjb3VwbGUgb2YgV1BUIHRlc3RzIHRoYXQgYXJlIG5vdyBwYXNzaW5nLgorCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9y
ZWdpc3Rlci13YWl0LWZvcmV2ZXItaW4taW5zdGFsbC13b3JrZXIuaHR0cHMtZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvc2tpcC13YWl0aW5nLmh0dHBzLWV4cGVjdGVkLnR4dDoKKwogMjAxNy0xMS0xMiAgTWFj
aWVqIFN0YWNob3dpYWsgIDxtanNAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBzdXBwb3J0
IGZvciBVVEYtMzIgdmFyaWFudCB0ZXh0IGVuY29kaW5ncwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvcmVnaXN0ZXItd2FpdC1mb3JldmVyLWluLWluc3RhbGwtd29ya2VyLmh0dHBzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3JlZ2lzdGVyLXdhaXQtZm9yZXZlci1pbi1p
bnN0YWxsLXdvcmtlci5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggYzViNWU5MWM4OTQxZTRhNGM1
ODJiNGM3Njc1OWQwMjEwYmI2NzYwNS4uNTU5YWI5MDVjYjRjNTg3OTI3NDEwMWMxZWI4ZWIxMGE0
ODBlOTU3ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVnaXN0ZXItd2FpdC1mb3Jl
dmVyLWluLWluc3RhbGwtd29ya2VyLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9yZWdpc3Rlci13YWl0LWZvcmV2ZXItaW4taW5zdGFsbC13b3JrZXIuaHR0cHMtZXhw
ZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlMIHJlZ2lzdGVyIHdvcmtlciB0aGF0IGNh
bGxzIHdhaXRVbnRpbCB3aXRoIGEgcHJvbWlzZSB0aGF0IG5ldmVyIHJlc29sdmVzIGluIG9uaW5z
dGFsbCBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2VtcHR5LXdvcmtlci5qcyIgYnV0
IGdvdCAiaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvcmVzb3VyY2VzL3dhaXQtZm9yZXZlci1pbi1pbnN0YWxsLXdvcmtlci5qcyIKK1BBU1MgcmVn
aXN0ZXIgd29ya2VyIHRoYXQgY2FsbHMgd2FpdFVudGlsIHdpdGggYSBwcm9taXNlIHRoYXQgbmV2
ZXIgcmVzb2x2ZXMgaW4gb25pbnN0YWxsIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9za2lwLXdhaXRpbmcuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvc2tp
cC13YWl0aW5nLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCA0ODE5M2E0YTVhMjUxZTNkZDY3MDA1
ZjYyN2QxYmVkYmU4NGNmMmJjLi5mYzQ5ZDE3MDI0ZjU0MTY0Njc5OGYyOTk2ZTJlNzE4MjA2MzMy
ZTI3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9za2lwLXdhaXRpbmcuaHR0cHMtZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3NraXAtd2FpdGluZy5odHRwcy1leHBl
Y3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLUZBSUwgVGVzdCBza2lwV2FpdGluZyB3aXRoIGJv
dGggYWN0aXZlIGFuZCB3YWl0aW5nIHdvcmtlcnMgYXNzZXJ0X2VxdWFsczogV29ya2VyIHdpdGgg
dXJsMiBzaG91bGQgYmUgd2FpdGluZyBleHBlY3RlZCAiaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2VtcHR5LXdvcmtlci5qcyIg
YnV0IGdvdCAiaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvcmVzb3VyY2VzL2VtcHR5LmpzIgorUEFTUyBUZXN0IHNraXBXYWl0aW5nIHdpdGggYm90
aCBhY3RpdmUgYW5kIHdhaXRpbmcgd29ya2VycyAKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>326844</attachid>
            <date>2017-11-13 20:24:51 -0800</date>
            <delta_ts>2017-11-13 22:21:47 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-179649-20171113202450.patch</filename>
            <type>text/plain</type>
            <size>55535</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI0ODAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzUyZDM1N2YzNDZhZDVl
OThmMGMxNDIwMWJhYWI5Y2YyOGFmOWRlYi4uODFjOThjZDA4ZTZjNTE1MDE4N2E1OTA4Yzc2NDBk
ZTJiZGZjOTZjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYwIEBACisyMDE3LTExLTEzICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgU2VuZCBTZXJ2aWNlV29ya2Vy
RGF0YSBzdHJ1Y3RzIHRvIHRoZSBXZWJQcm9jZXNzZXMgaW5zdGVhZCBvZiBTZXJ2aWNlV29ya2Vy
SWRlbnRpZmllcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE3OTY0OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFNlbmQgU2VydmljZVdvcmtlckRhdGEgc3RydWN0cyB0byB0aGUgV2ViUHJvY2Vzc2VzIGlu
c3RlYWQgb2YgU2VydmljZVdvcmtlcklkZW50aWZpZXJzIHNvIHRoYXQgdGhlCisgICAgICAgIFdl
YlByb2Nlc3NlcyBjYW4gY29ycmVjdGx5IGNvbnN0cnVjdCBTZXJ2aWNlV29ya2VyIG9iamVjdHMs
IHdpdGggdGhlIHJpZ2h0IGF0dHJpYnV0ZXMgLyBzdGF0ZS4KKworICAgICAgICBObyBuZXcgdGVz
dHMsIHJlYmFzZWxpbmVkIGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgICogU291cmNlcy50eHQ6
CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAq
IHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNl
cnZpY2VXb3JrZXI6OmdldE9yQ3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3Jr
ZXI6OlNlcnZpY2VXb3JrZXIpOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlcjo6flNl
cnZpY2VXb3JrZXIpOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlcjo6c2NoZWR1bGVU
YXNrVG9VcGRhdGVTdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyOjpwb3N0
TWVzc2FnZSk6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXIuaDoKKyAg
ICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjpzY2hlZHVsZVRhc2tUb1VwZGF0
ZVJlZ2lzdHJhdGlvblN0YXRlKToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdv
cmtlckNvbnRhaW5lci5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2Vy
RGF0YS5jcHA6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YS5jcHAuCisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNl
V29ya2VyRGF0YTo6aXNvbGF0ZWRDb3B5IGNvbnN0KToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZp
Y2UvU2VydmljZVdvcmtlckRhdGEuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlcldvcmtlci5jcHAuCisgICAgICAgIChXZWJDb3JlOjpT
ZXJ2aWNlV29ya2VyRGF0YTo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZp
Y2VXb3JrZXJEYXRhOjpkZWNvZGUpOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb246OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24pOgorICAgICAgICAoV2ViQ29y
ZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6dXBkYXRlU3RhdGVGcm9tU2VydmVyKToKKyAg
ICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5oOgorICAg
ICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YTo6aXNvbGF0
ZWRDb3B5IGNvbnN0KToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbkRhdGEuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb25EYXRhOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbkRhdGE6OmRlY29kZSk6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL3Nl
cnZlci9TV0NsaWVudENvbm5lY3Rpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1dDbGllbnRD
b25uZWN0aW9uOjpwb3N0TWVzc2FnZVRvU2VydmljZVdvcmtlckNsaWVudCk6CisgICAgICAgIChX
ZWJDb3JlOjpTV0NsaWVudENvbm5lY3Rpb246OnVwZGF0ZVJlZ2lzdHJhdGlvblN0YXRlKToKKyAg
ICAgICAgKiB3b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXQ2xpZW50Q29ubmVjdGlvbi5oOgorICAg
ICAgICAqIHdvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuaDoKKyAgICAgICAgKiB3b3Jr
ZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyUmVnaXN0cmF0aW9uLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlNXU2VydmVyUmVnaXN0cmF0aW9uOjp1cGRhdGVSZWdpc3RyYXRpb25TdGF0ZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpTV1NlcnZlclJlZ2lzdHJhdGlvbjo6ZGF0YSBjb25zdCk6CisgICAg
ICAgICogd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlcldvcmtlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTV1NlcnZlcldvcmtlcjo6U1dTZXJ2ZXJXb3JrZXIpOgorICAgICAgICAoV2Vi
Q29yZTo6bV9zY3JpcHQpOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2
ZXJXb3JrZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNXU2VydmVyV29ya2VyOjpzY3JpcHRVUkwg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6U1dTZXJ2ZXJXb3JrZXI6OnR5cGUgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6U1dTZXJ2ZXJXb3JrZXI6OmlkZW50aWZpZXIgY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6U1dTZXJ2ZXJXb3JrZXI6OnN0YXRlIGNvbnN0KToKKyAgICAgICAgKFdl
YkNvcmU6OlNXU2VydmVyV29ya2VyOjpzZXRTdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTV1Nl
cnZlcldvcmtlcjo6ZGF0YSBjb25zdCk6CisKIDIwMTctMTEtMTMgIEJyYWR5IEVpZHNvbiAgPGJl
aWRzb25AYXBwbGUuY29tPgogCiAgICAgICAgIE1hc3NpdmUgIlNlcnZlci1wcm9jZXNzLXRvLWNv
bnRleHQtcHJvY2VzcyIgY29ubmVjdGlvbiBvdmVyaGF1bC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggMDg1MzhjZjMw
NjliNGQyNDE2NGRhY2I4MWI3YjM3YzAxNjNkZmVlNC4uNmQwYWY3OTEzOTBlZDc1NGVhN2NkMzVi
NTdlZjc5OTBmM2IyNGJkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxNy0xMS0xMyAg
Q2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIFNlbmQgU2VydmljZVdv
cmtlckRhdGEgc3RydWN0cyB0byB0aGUgV2ViUHJvY2Vzc2VzIGluc3RlYWQgb2YgU2VydmljZVdv
cmtlcklkZW50aWZpZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNzk2NDkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIFNoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaDoKKyAgICAgICAgKiBTdG9y
YWdlUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYlNXU2VydmVyQ29ubmVjdGlvbjo6dXBkYXRlUmVnaXN0cmF0aW9uU3Rh
dGVJbkNsaWVudCk6CisgICAgICAgIChXZWJLaXQ6OldlYlNXU2VydmVyQ29ubmVjdGlvbjo6cG9z
dE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXJDbGllbnQpOgorICAgICAgICAqIFN0b3JhZ2VQcm9jZXNz
L1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmg6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYlNXQ2xpZW50Q29ubmVjdGlvbjo6cG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXJDbGllbnQp
OgorICAgICAgICAqIFdlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24uaDoK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLm1lc3Nh
Z2VzLmluOgorCiAyMDE3LTExLTEzICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4K
IAogICAgICAgICBNYXNzaXZlICJTZXJ2ZXItcHJvY2Vzcy10by1jb250ZXh0LXByb2Nlc3MiIGNv
bm5lY3Rpb24gb3ZlcmhhdWwuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4
dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4IGFjOWY2ZTcyNmQzNThlM2FkZjIz
ZjcyNTJkMjE5ZjE2OThhMjZhNDUuLjJiMWM0NTQ0NjNlM2MwY2I0ZmQ0MmJmNmJkNDZmNjVlZGNk
MjczZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1NvdXJjZXMudHh0CkBAIC0yMTcyLDYgKzIxNzIsNyBAQCB3b3JrZXJzL3NlcnZp
Y2UvU2VydmljZVdvcmtlckNsaWVudC5jcHAKIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2Vy
Q2xpZW50cy5jcHAKIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmNwcAog
d29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250ZXh0RGF0YS5jcHAKK3dvcmtlcnMvc2Vy
dmljZS9TZXJ2aWNlV29ya2VyRGF0YS5jcHAKIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2Vy
R2xvYmFsU2NvcGUuY3BwCiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckpvYi5jcHAKIHdv
cmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VySm9iRGF0YS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA4OTIzZGNhNWE0ZTBl
NDZjN2JiY2NkN2E2Njc5N2Q2YmQzZDM3OTlmLi43ZmRmZTNkNjQ5NDk4YzNhZmYzYmE4OTU1OGE4
ZDQ5M2M4Y2NjYzI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCkBAIC0yMjQzLDYgKzIyNDMsNyBAQAogCQk4M0QzNUFFQzFDNzE4N0ZB
MDBGNzBENUEgLyogWE1MSHR0cFJlcXVlc3RFdmVudFRhcmdldC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODNEMzVBRUExQzcxODdFRDAwRjcwRDVBIC8q
IFhNTEh0dHBSZXF1ZXN0RXZlbnRUYXJnZXQuaCAqLzsgfTsKIAkJODNEMzVBRjIxQzcxOEQ5MDAw
RjcwRDVBIC8qIEpTWE1MSHR0cFJlcXVlc3RFdmVudFRhcmdldC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODNEMzVBRjAxQzcxOEQ4NDAwRjcwRDVBIC8q
IEpTWE1MSHR0cFJlcXVlc3RFdmVudFRhcmdldC5oICovOyB9OwogCQk4M0UzNTlBMjFCQjEwMzFE
MDAyQ0VCOTggLyogSlNIVE1MVGltZUVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDgzRTM1OUEwMUJCMTAzMUQwMDJDRUI5OCAvKiBKU0hUTUxU
aW1lRWxlbWVudC5oICovOyB9OworCQk4M0U4NjY4MDFGQkE1NjVCMDA4ODU1QzUgLyogU2Vydmlj
ZVdvcmtlckRhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDgzRTg2NjdEMUZCQTU2M0YwMDg4NTVDNSAvKiBTZXJ2aWNlV29ya2VyRGF0YS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTgzRUU1OThGMUY1
MDk1OEUwMDNFOEIzMCAvKiBKU0Vycm9yQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDgzRUU1OThCMUY1MDk1OEIwMDNFOEIzMCAvKiBKU0Vy
cm9yQ2FsbGJhY2suaCAqLzsgfTsKIAkJODNGQjMzNzExRjUwOEE1NDAwOTg2RTU0IC8qIEZpbGVT
eXN0ZW1EaXJlY3RvcnlFbnRyeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gODNGQjMzNkQxRjUwOEE0RTAwOTg2RTU0IC8qIEZpbGVTeXN0ZW1EaXJlY3Rv
cnlFbnRyeS5oICovOyB9OwogCQk4M0ZCMzM3MzFGNTA4QTU4MDA5ODZFNTQgLyogRmlsZVN5c3Rl
bUVudHJ5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4
M0ZCMzM2RjFGNTA4QTRFMDA5ODZFNTQgLyogRmlsZVN5c3RlbUVudHJ5LmggKi87IH07CkBAIC05
NTM0LDYgKzk1MzUsOCBAQAogCQk4M0UwNDVFRjFEQUExMDRGMDBCMEQ4QjkgLyogSlNVSUV2ZW50
SW5pdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1VJRXZlbnRJbml0Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTgzRTM1OUEwMUJCMTAzMUQwMDJDRUI5OCAv
KiBKU0hUTUxUaW1lRWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBK
U0hUTUxUaW1lRWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4M0UzNTlB
MTFCQjEwMzFEMDAyQ0VCOTggLyogSlNIVE1MVGltZUVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNIVE1MVGltZUVsZW1lbnQuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk4M0U4NjY3RDFGQkE1NjNGMDA4ODU1QzUgLyogU2VydmljZVdv
cmtlckRhdGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2VydmljZVdvcmtl
ckRhdGEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODNFODY2N0YxRkJBNTY0MDAw
ODg1NUM1IC8qIFNlcnZpY2VXb3JrZXJEYXRhLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IFNlcnZpY2VXb3JrZXJEYXRhLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJODNFOTU5RTExQjhCQzIyQjAwNEQ5Mzg1IC8qIE5hdGl2ZU5vZGVGaWx0ZXIuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTmF0aXZlTm9kZUZpbHRlci5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4M0U5QjMwMDFEQTVBNTFFMDBGRkU4RjYgLyogSlNT
Y3JvbGxUb09wdGlvbnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
SlNTY3JvbGxUb09wdGlvbnMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4M0U5
QjMwMTFEQTVBNTFFMDBGRkU4RjYgLyogSlNTY3JvbGxUb09wdGlvbnMuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gSlNTY3JvbGxUb09wdGlvbnMuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKQEAgLTE3Mjk2LDYgKzE3Mjk5LDggQEAKIAkJCQk1MUYxNzU1NjFGM0VCQzBD
MDBDNzQ5NTAgLyogU2VydmljZVdvcmtlckNvbnRhaW5lci5pZGwgKi8sCiAJCQkJNTE3Qzg3MTYx
RjhGRDREMzAwRUI4MDc2IC8qIFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YS5jcHAgKi8sCiAJCQkJ
NTFDQTdFRTcxRjg4MzJFMDAwM0QzMTMxIC8qIFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YS5oICov
LAorCQkJCTgzRTg2NjdGMUZCQTU2NDAwMDg4NTVDNSAvKiBTZXJ2aWNlV29ya2VyRGF0YS5jcHAg
Ki8sCisJCQkJODNFODY2N0QxRkJBNTYzRjAwODg1NUM1IC8qIFNlcnZpY2VXb3JrZXJEYXRhLmgg
Ki8sCiAJCQkJNTE3QTUzNUMxRjU4OTlGMjAwRENEQzBBIC8qIFNlcnZpY2VXb3JrZXJGZXRjaFJl
c3VsdC5oICovLAogCQkJCTUxRjE3NTU1MUYzRUJDMEMwMEM3NDk1MCAvKiBTZXJ2aWNlV29ya2Vy
R2xvYmFsU2NvcGUuY3BwICovLAogCQkJCTUxRjE3NTU0MUYzRUJDMEMwMEM3NDk1MCAvKiBTZXJ2
aWNlV29ya2VyR2xvYmFsU2NvcGUuaCAqLywKQEAgLTI4OTgwLDYgKzI4OTg1LDcgQEAKIAkJCQk4
MzY5RkRGQzFGQTEwMkUzMDBDMUZGMUYgLyogU2VydmljZVdvcmtlckNsaWVudFR5cGUuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTUxRjE3NTVGMUYzRUJDODMwMEM3NDk1MCAvKiBTZXJ2aWNlV29ya2Vy
Q29udGFpbmVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MUNBN0VFOTFGODgzMzkwMDAzRDMxMzEg
LyogU2VydmljZVdvcmtlckNvbnRleHREYXRhLmggaW4gSGVhZGVycyAqLywKKwkJCQk4M0U4NjY4
MDFGQkE1NjVCMDA4ODU1QzUgLyogU2VydmljZVdvcmtlckRhdGEuaCBpbiBIZWFkZXJzICovLAog
CQkJCUE1MkIzNDhGMUZBM0JEQTYwMDhCNjI0NiAvKiBTZXJ2aWNlV29ya2VyRGVidWdnYWJsZS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNDE5QUNGOTIxRjk3RTdEQTAwOUYxQTgzIC8qIFNlcnZpY2VX
b3JrZXJGZXRjaC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE3QTUzNUQxRjU4OTlGRTAwRENEQzBB
IC8qIFNlcnZpY2VXb3JrZXJGZXRjaFJlc3VsdC5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlci5jcHAKaW5kZXggOTZlNTE3
MTY0NTViZWVmNTlkMDVlYzQ1MjU0MDMxZjUyMzExNzg3NS4uM2Y0OTQ5MzJiODQxODRlNGU3MzIy
NDA0ZGM5M2ExZWQ4M2Q2ZmFiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9z
ZXJ2aWNlL1NlcnZpY2VXb3JrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vy
dmljZS9TZXJ2aWNlV29ya2VyLmNwcApAQCAtNTMsMTMgKzUzLDIzIEBAIEhhc2hNYXA8U2Vydmlj
ZVdvcmtlcklkZW50aWZpZXIsIEhhc2hTZXQ8U2VydmljZVdvcmtlcio+PiYgU2VydmljZVdvcmtl
cjo6bXV0YWJsCiAgICAgcmV0dXJuIGFsbFdvcmtlcnNNYXA7CiB9CiAKLVNlcnZpY2VXb3JrZXI6
OlNlcnZpY2VXb3JrZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgU2VydmljZVdv
cmtlcklkZW50aWZpZXIgaWRlbnRpZmllciwgY29uc3QgVVJMJiBzY3JpcHRVUkwsIFN0YXRlIHN0
YXRlKQorUmVmPFNlcnZpY2VXb3JrZXI+IFNlcnZpY2VXb3JrZXI6OmdldE9yQ3JlYXRlKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIFNlcnZpY2VXb3JrZXJEYXRhJiYgZGF0YSkKK3sK
KyAgICBhdXRvIGl0ID0gYWxsV29ya2VycygpLmZpbmQoZGF0YS5pZGVudGlmaWVyKTsKKyAgICBp
ZiAoaXQgIT0gYWxsV29ya2VycygpLmVuZCgpKSB7CisgICAgICAgIGZvciAoYXV0byYgd29ya2Vy
IDogaXQtPnZhbHVlKSB7CisgICAgICAgICAgICBpZiAod29ya2VyLT5zY3JpcHRFeGVjdXRpb25D
b250ZXh0KCkgPT0gJmNvbnRleHQpCisgICAgICAgICAgICAgICAgcmV0dXJuICp3b3JrZXI7Cisg
ICAgICAgIH0KKyAgICB9CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU2VydmljZVdvcmtlcihj
b250ZXh0LCBXVEZNb3ZlKGRhdGEpKSk7Cit9CisKK1NlcnZpY2VXb3JrZXI6OlNlcnZpY2VXb3Jr
ZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgU2VydmljZVdvcmtlckRhdGEmJiBk
YXRhKQogICAgIDogQ29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIoJmNvbnRleHQpCi0gICAgLCBt
X2lkZW50aWZpZXIoaWRlbnRpZmllcikKLSAgICAsIG1fc2NyaXB0VVJMKHNjcmlwdFVSTCkKLSAg
ICAsIG1fc3RhdGUoc3RhdGUpCisgICAgLCBtX2RhdGEoV1RGTW92ZShkYXRhKSkKIHsKLSAgICBh
dXRvIHJlc3VsdCA9IG11dGFibGVBbGxXb3JrZXJzKCkuZW5zdXJlKGlkZW50aWZpZXIsIFtdIHsK
KyAgICBhdXRvIHJlc3VsdCA9IG11dGFibGVBbGxXb3JrZXJzKCkuZW5zdXJlKGlkZW50aWZpZXIo
KSwgW10gewogICAgICAgICByZXR1cm4gSGFzaFNldDxTZXJ2aWNlV29ya2VyKj4oKTsKICAgICB9
KTsKICAgICByZXN1bHQuaXRlcmF0b3ItPnZhbHVlLmFkZCh0aGlzKTsKQEAgLTY3LDcgKzc3LDcg
QEAgU2VydmljZVdvcmtlcjo6U2VydmljZVdvcmtlcihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBj
b250ZXh0LCBTZXJ2aWNlV29ya2VySWRlbnQKIAogU2VydmljZVdvcmtlcjo6flNlcnZpY2VXb3Jr
ZXIoKQogewotICAgIGF1dG8gaXRlcmF0b3IgPSBtdXRhYmxlQWxsV29ya2VycygpLmZpbmQobV9p
ZGVudGlmaWVyKTsKKyAgICBhdXRvIGl0ZXJhdG9yID0gbXV0YWJsZUFsbFdvcmtlcnMoKS5maW5k
KGlkZW50aWZpZXIoKSk7CiAKICAgICBBU1NFUlQoaXRlcmF0b3ItPnZhbHVlLmNvbnRhaW5zKHRo
aXMpKTsKICAgICBpdGVyYXRvci0+dmFsdWUucmVtb3ZlKHRoaXMpOwpAQCAtODYsNyArOTYsNyBA
QCB2b2lkIFNlcnZpY2VXb3JrZXI6OnNjaGVkdWxlVGFza1RvVXBkYXRlU3RhdGUoU3RhdGUgc3Rh
dGUpCiAgICAgICAgIHJldHVybjsKIAogICAgIGNvbnRleHQtPnBvc3RUYXNrKFt0aGlzLCBwcm90
ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyksIHN0YXRlXShTY3JpcHRFeGVjdXRpb25Db250ZXh0
JikgewotICAgICAgICBtX3N0YXRlID0gc3RhdGU7CisgICAgICAgIG1fZGF0YS5zdGF0ZSA9IHN0
YXRlOwogICAgICAgICBkaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLnN0
YXRlY2hhbmdlRXZlbnQsIGZhbHNlLCBmYWxzZSkpOwogICAgIH0pOwogfQpAQCAtMTE3LDcgKzEy
Nyw3IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IFNlcnZpY2VXb3JrZXI6OnBvc3RNZXNzYWdlKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIEpTCiAgICAgICAgIHJldHVybiBFeGNlcHRpb24g
eyBOb3RTdXBwb3J0ZWRFcnJvciwgQVNDSUlMaXRlcmFsKCJQYXNzaW5nIE1lc3NhZ2VQb3J0IG9i
amVjdHMgdG8gcG9zdE1lc3NhZ2UgaXMgbm90IHlldCBzdXBwb3J0ZWQiKSB9OwogCiAgICAgYXV0
byYgc3dDb25uZWN0aW9uID0gU2VydmljZVdvcmtlclByb3ZpZGVyOjpzaW5nbGV0b24oKS5zZXJ2
aWNlV29ya2VyQ29ubmVjdGlvbkZvclNlc3Npb24oY29udGV4dC5zZXNzaW9uSUQoKSk7Ci0gICAg
c3dDb25uZWN0aW9uLnBvc3RNZXNzYWdlVG9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUobV9pZGVu
dGlmaWVyLCBtZXNzYWdlLnJlbGVhc2VSZXR1cm5WYWx1ZSgpLCBjb250ZXh0KTsKKyAgICBzd0Nv
bm5lY3Rpb24ucG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZShpZGVudGlmaWVy
KCksIG1lc3NhZ2UucmVsZWFzZVJldHVyblZhbHVlKCksIGNvbnRleHQpOwogCiAgICAgcmV0dXJu
IHsgfTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2
aWNlV29ya2VyLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtl
ci5oCmluZGV4IDY0ODQxNDUyOGJmMjg5NjgzZWJjMTZjZGUzZTA4MTQ2NjI3NTI2ZTUuLjc0Yzhj
YTlkZDljMjc2ZGRlYzFmZmI4ZTZmZGJjNjYxM2YzZWY2Y2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXIuaApAQCAtMjksOCArMjksNyBAQAogCiAj
aW5jbHVkZSAiQ29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIuaCIKICNpbmNsdWRlICJFdmVudFRh
cmdldC5oIgotI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLmgiCi0jaW5jbHVkZSAi
U2VydmljZVdvcmtlclR5cGVzLmgiCisjaW5jbHVkZSAiU2VydmljZVdvcmtlckRhdGEuaCIKICNp
bmNsdWRlICJVUkwuaCIKICNpbmNsdWRlIDxoZWFwL1N0cm9uZy5oPgogI2luY2x1ZGUgPHd0Zi9S
ZWZDb3VudGVkLmg+CkBAIC00NiwyMiArNDUsMTkgQEAgY2xhc3MgRnJhbWU7CiBjbGFzcyBTZXJ2
aWNlV29ya2VyIGZpbmFsIDogcHVibGljIFJlZkNvdW50ZWQ8U2VydmljZVdvcmtlcj4sIHB1Ymxp
YyBFdmVudFRhcmdldFdpdGhJbmxpbmVEYXRhLCBwdWJsaWMgQ29udGV4dERlc3RydWN0aW9uT2Jz
ZXJ2ZXIgewogcHVibGljOgogICAgIHVzaW5nIFN0YXRlID0gU2VydmljZVdvcmtlclN0YXRlOwot
ICAgIHN0YXRpYyBSZWY8U2VydmljZVdvcmtlcj4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQmIGNvbnRleHQsIFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIGlkZW50aWZpZXIsIGNvbnN0IFVS
TCYgc2NyaXB0VVJMLCBTdGF0ZSBzdGF0ZSA9IFN0YXRlOjpJbnN0YWxsaW5nKQotICAgIHsKLSAg
ICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU2VydmljZVdvcmtlcihjb250ZXh0LCBpZGVudGlm
aWVyLCBzY3JpcHRVUkwsIHN0YXRlKSk7Ci0gICAgfQorICAgIHN0YXRpYyBSZWY8U2VydmljZVdv
cmtlcj4gZ2V0T3JDcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFNlcnZpY2VXb3JrZXJE
YXRhJiYpOwogCiAgICAgdmlydHVhbCB+U2VydmljZVdvcmtlcigpOwogCi0gICAgY29uc3QgVVJM
JiBzY3JpcHRVUkwoKSBjb25zdCB7IHJldHVybiBtX3NjcmlwdFVSTDsgfQorICAgIGNvbnN0IFVS
TCYgc2NyaXB0VVJMKCkgY29uc3QgeyByZXR1cm4gbV9kYXRhLnNjcmlwdFVSTDsgfQogCi0gICAg
U3RhdGUgc3RhdGUoKSBjb25zdCB7IHJldHVybiBtX3N0YXRlOyB9CisgICAgU3RhdGUgc3RhdGUo
KSBjb25zdCB7IHJldHVybiBtX2RhdGEuc3RhdGU7IH0KICAgICAKICAgICB2b2lkIHNjaGVkdWxl
VGFza1RvVXBkYXRlU3RhdGUoU3RhdGUpOwogCiAgICAgRXhjZXB0aW9uT3I8dm9pZD4gcG9zdE1l
c3NhZ2UoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIEpTQzo6SlNWYWx1ZSBtZXNzYWdlLCBWZWN0
b3I8SlNDOjpTdHJvbmc8SlNDOjpKU09iamVjdD4+JiYpOwogCi0gICAgU2VydmljZVdvcmtlcklk
ZW50aWZpZXIgaWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIG1faWRlbnRpZmllcjsgfQorICAg
IFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIGlkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX2Rh
dGEuaWRlbnRpZmllcjsgfQogCiAgICAgdXNpbmcgUmVmQ291bnRlZDo6cmVmOwogICAgIHVzaW5n
IFJlZkNvdW50ZWQ6OmRlcmVmOwpAQCAtNjksNyArNjUsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGlj
IGNvbnN0IEhhc2hNYXA8U2VydmljZVdvcmtlcklkZW50aWZpZXIsIEhhc2hTZXQ8U2VydmljZVdv
cmtlcio+PiYgYWxsV29ya2VycygpOwogCiBwcml2YXRlOgotICAgIFNlcnZpY2VXb3JrZXIoU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCYsIFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCBjb25zdCBVUkwm
IHNjcmlwdFVSTCwgU3RhdGUpOworICAgIFNlcnZpY2VXb3JrZXIoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCYsIFNlcnZpY2VXb3JrZXJEYXRhJiYpOwogICAgIHN0YXRpYyBIYXNoTWFwPFNlcnZpY2VX
b3JrZXJJZGVudGlmaWVyLCBIYXNoU2V0PFNlcnZpY2VXb3JrZXIqPj4mIG11dGFibGVBbGxXb3Jr
ZXJzKCk7CiAKICAgICBFdmVudFRhcmdldEludGVyZmFjZSBldmVudFRhcmdldEludGVyZmFjZSgp
IGNvbnN0IGZpbmFsOwpAQCAtNzcsOSArNzMsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgcmVmRXZl
bnRUYXJnZXQoKSBmaW5hbCB7IHJlZigpOyB9CiAgICAgdm9pZCBkZXJlZkV2ZW50VGFyZ2V0KCkg
ZmluYWwgeyBkZXJlZigpOyB9CiAKLSAgICBTZXJ2aWNlV29ya2VySWRlbnRpZmllciBtX2lkZW50
aWZpZXI7Ci0gICAgVVJMIG1fc2NyaXB0VVJMOwotICAgIFN0YXRlIG1fc3RhdGU7CisgICAgU2Vy
dmljZVdvcmtlckRhdGEgbV9kYXRhOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250
YWluZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJD
b250YWluZXIuY3BwCmluZGV4IGZiNDZjYmQ1YWYyNTQ3N2FiMGNhYzg3NjViMTEzYWFmNTdlMTQ1
MDkuLmQyMDhkMTE0MjIyY2QzMDA3MzA2ZWRlY2ZjM2FiMzQxYTBlYzEzM2IgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRh
aW5lci5jcHAKQEAgLTI0MSwxNSArMjQxLDE5IEBAIHZvaWQgU2VydmljZVdvcmtlckNvbnRhaW5l
cjo6Z2V0UmVnaXN0cmF0aW9uKGNvbnN0IFN0cmluZyYgY2xpZW50VVJMLCBSZWY8RGVmZXJyCiAg
ICAgfSk7CiB9CiAKLXZvaWQgU2VydmljZVdvcmtlckNvbnRhaW5lcjo6c2NoZWR1bGVUYXNrVG9V
cGRhdGVSZWdpc3RyYXRpb25TdGF0ZShTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmll
ciBpZGVudGlmaWVyLCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uU3RhdGUgc3RhdGUsIGNvbnN0
IHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlcklkZW50aWZpZXI+JiBzZXJ2aWNlV29ya2VySWRl
bnRpZmllcikKK3ZvaWQgU2VydmljZVdvcmtlckNvbnRhaW5lcjo6c2NoZWR1bGVUYXNrVG9VcGRh
dGVSZWdpc3RyYXRpb25TdGF0ZShTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciBp
ZGVudGlmaWVyLCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uU3RhdGUgc3RhdGUsIGNvbnN0IHN0
ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlckRhdGE+JiBzZXJ2aWNlV29ya2VyRGF0YSkKIHsKICAg
ICBhdXRvKiBjb250ZXh0ID0gc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOwogICAgIGlmICghY29u
dGV4dCkKICAgICAgICAgcmV0dXJuOwogCi0gICAgY29udGV4dC0+cG9zdFRhc2soW3RoaXMsIHBy
b3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgaWRlbnRpZmllciwgc3RhdGUsIHNlcnZpY2VX
b3JrZXJJZGVudGlmaWVyXShTY3JpcHRFeGVjdXRpb25Db250ZXh0JikgeworICAgIFJlZlB0cjxT
ZXJ2aWNlV29ya2VyPiBzZXJ2aWNlV29ya2VyOworICAgIGlmIChzZXJ2aWNlV29ya2VyRGF0YSkK
KyAgICAgICAgc2VydmljZVdvcmtlciA9IFNlcnZpY2VXb3JrZXI6OmdldE9yQ3JlYXRlKCpjb250
ZXh0LCBTZXJ2aWNlV29ya2VyRGF0YSB7ICpzZXJ2aWNlV29ya2VyRGF0YSB9KTsKKworICAgIGNv
bnRleHQtPnBvc3RUYXNrKFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyksIGlk
ZW50aWZpZXIsIHN0YXRlLCBzZXJ2aWNlV29ya2VyID0gV1RGTW92ZShzZXJ2aWNlV29ya2VyKV0o
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpIG11dGFibGUgewogICAgICAgICBpZiAoYXV0byogcmVn
aXN0cmF0aW9uID0gbV9yZWdpc3RyYXRpb25zLmdldChpZGVudGlmaWVyKSkKLSAgICAgICAgICAg
IHJlZ2lzdHJhdGlvbi0+dXBkYXRlU3RhdGVGcm9tU2VydmVyKHN0YXRlLCBzZXJ2aWNlV29ya2Vy
SWRlbnRpZmllcik7CisgICAgICAgICAgICByZWdpc3RyYXRpb24tPnVwZGF0ZVN0YXRlRnJvbVNl
cnZlcihzdGF0ZSwgV1RGTW92ZShzZXJ2aWNlV29ya2VyKSk7CiAgICAgfSk7CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFp
bmVyLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRh
aW5lci5oCmluZGV4IGYyY2FjZjlmNTcxMWNhODRjYzczNmI1NmQyZDA1MGQ1MjIyYmQ0NWIuLmVi
NGFkM2IxODNhZTIxZjkzMzEyMDM0MDIzZTk1YmNkNjJhODAyZGQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuaApA
QCAtNjUsNyArNjUsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCB1cGRhdGVSZWdpc3RyYXRpb24oY29u
c3QgVVJMJiBzY29wZVVSTCwgY29uc3QgVVJMJiBzY3JpcHRVUkwsIFdvcmtlclR5cGUsIFJlZjxE
ZWZlcnJlZFByb21pc2U+JiYpOwogCiAgICAgdm9pZCBnZXRSZWdpc3RyYXRpb24oY29uc3QgU3Ry
aW5nJiBjbGllbnRVUkwsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYpOwotICAgIHZvaWQgc2NoZWR1
bGVUYXNrVG9VcGRhdGVSZWdpc3RyYXRpb25TdGF0ZShTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
SWRlbnRpZmllciwgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvblN0YXRlLCBjb25zdCBzdGQ6Om9w
dGlvbmFsPFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyPiYpOworICAgIHZvaWQgc2NoZWR1bGVUYXNr
VG9VcGRhdGVSZWdpc3RyYXRpb25TdGF0ZShTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRp
ZmllciwgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvblN0YXRlLCBjb25zdCBzdGQ6Om9wdGlvbmFs
PFNlcnZpY2VXb3JrZXJEYXRhPiYpOwogICAgIHZvaWQgc2NoZWR1bGVUYXNrVG9GaXJlVXBkYXRl
Rm91bmRFdmVudChTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcik7CiAKICAgICB1
c2luZyBSZWdpc3RyYXRpb25zUHJvbWlzZSA9IERPTVByb21pc2VEZWZlcnJlZDxJRExTZXF1ZW5j
ZTxJRExJbnRlcmZhY2U8U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbj4+PjsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyRGF0YS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckRhdGEuY3BwCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjg3ZTkwOGUyZTgyZDE3YTQ3ZTIzNzNkMTFiNjQwNjgyNjQyMmU1NGYKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckRh
dGEuY3BwCkBAIC0wLDAgKzEsNDUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgi
CisKKyNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCisjaW5jbHVkZSAiU2VydmljZVdvcmtlckRh
dGEuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitTZXJ2aWNlV29ya2VyRGF0YSBTZXJ2aWNl
V29ya2VyRGF0YTo6aXNvbGF0ZWRDb3B5KCkgY29uc3QKK3sKKyAgICByZXR1cm4geworICAgICAg
ICBpZGVudGlmaWVyLAorICAgICAgICBzY3JpcHRVUkwuaXNvbGF0ZWRDb3B5KCksCisgICAgICAg
IHN0YXRlLAorICAgICAgICB0eXBlCisgICAgfTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQorCisjZW5kaWYgLy8gRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJEYXRhLmggYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckRhdGEuaApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMjRi
N2U1NDkyZWYzMGQxMTZmYzZlNmQ1N2NlZGVjZDZmMjQ2NmRiCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJEYXRhLmgKQEAgLTAs
MCArMSw4MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKFNFUlZJ
Q0VfV09SS0VSKQorCisjaW5jbHVkZSAiU2VydmljZVdvcmtlcklkZW50aWZpZXIuaCIKKyNpbmNs
dWRlICJTZXJ2aWNlV29ya2VyVHlwZXMuaCIKKyNpbmNsdWRlICJVUkwuaCIKKyNpbmNsdWRlICJX
b3JrZXJUeXBlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RydWN0IFNlcnZpY2VXb3Jr
ZXJEYXRhIHsKKyAgICBTZXJ2aWNlV29ya2VySWRlbnRpZmllciBpZGVudGlmaWVyOworICAgIFVS
TCBzY3JpcHRVUkw7CisgICAgU2VydmljZVdvcmtlclN0YXRlIHN0YXRlOworICAgIFdvcmtlclR5
cGUgdHlwZTsKKworICAgIFNlcnZpY2VXb3JrZXJEYXRhIGlzb2xhdGVkQ29weSgpIGNvbnN0Owor
CisgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0
OworICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IHN0YXRpYyBzdGQ6Om9wdGlvbmFsPFNlcnZp
Y2VXb3JrZXJEYXRhPiBkZWNvZGUoRGVjb2RlciYpOworfTsKKwordGVtcGxhdGU8Y2xhc3MgRW5j
b2Rlcj4KK3ZvaWQgU2VydmljZVdvcmtlckRhdGE6OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBj
b25zdAoreworICAgIGVuY29kZXIgPDwgaWRlbnRpZmllciA8PCBzY3JpcHRVUkwgPDwgc3RhdGUg
PDwgdHlwZTsKK30KKwordGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4KK3N0ZDo6b3B0aW9uYWw8U2Vy
dmljZVdvcmtlckRhdGE+IFNlcnZpY2VXb3JrZXJEYXRhOjpkZWNvZGUoRGVjb2RlciYgZGVjb2Rl
cikKK3sKKyAgICBzdGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyPiBpZGVudGlm
aWVyOworICAgIGRlY29kZXIgPj4gaWRlbnRpZmllcjsKKyAgICBpZiAoIWlkZW50aWZpZXIpCisg
ICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICBzdGQ6Om9wdGlvbmFsPFVSTD4gc2Ny
aXB0VVJMOworICAgIGRlY29kZXIgPj4gc2NyaXB0VVJMOworICAgIGlmICghc2NyaXB0VVJMKQor
ICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworCisgICAgc3RkOjpvcHRpb25hbDxTZXJ2aWNl
V29ya2VyU3RhdGU+IHN0YXRlOworICAgIGRlY29kZXIgPj4gc3RhdGU7CisgICAgaWYgKCFzdGF0
ZSkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHN0ZDo6b3B0aW9uYWw8V29y
a2VyVHlwZT4gdHlwZTsKKyAgICBkZWNvZGVyID4+IHR5cGU7CisgICAgaWYgKCF0eXBlKQorICAg
ICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworCisgICAgcmV0dXJuIHsgeyBXVEZNb3ZlKCppZGVu
dGlmaWVyKSwgV1RGTW92ZSgqc2NyaXB0VVJMKSwgV1RGTW92ZSgqc3RhdGUpLCBXVEZNb3ZlKCp0
eXBlKSB9IH07Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJM
RShTRVJWSUNFX1dPUktFUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vy
dmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmNwcAppbmRleCBlMmY3ZTFjZGNk
MTExYmQ1MDQyMDU0MWUyMzIwZTA4NTM4MzYwN2QzLi44MGRlOTI1ZDAxMTcxYWI3OTI2Nzc4MTgw
MzA2NzRkMjU1OGM3N2JjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZp
Y2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uY3BwCkBAIC00NSwxNSArNDUs
MTIgQEAgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlv
bihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb24KICAgICBMT0coU2VydmljZVdvcmtlciwgIkNy
ZWF0aW5nIHJlZ2lzdHJhdGlvbiAlcCBmb3IgcmVnaXN0cmF0aW9uIGtleSAlcyIsIHRoaXMsIG1f
cmVnaXN0cmF0aW9uRGF0YS5rZXkubG9nZ2luZ1N0cmluZygpLnV0ZjgoKS5kYXRhKCkpOwogICAg
IHN1c3BlbmRJZk5lZWRlZCgpOwogCi0gICAgLy8gRklYTUU6IFJlY29uY2lsZSB3b3JrZXIgc3Rh
dGUgcHJvcGVybHkgKHNlZSBiZWxvdykKLSAgICBpZiAobV9yZWdpc3RyYXRpb25EYXRhLmluc3Rh
bGxpbmdTZXJ2aWNlV29ya2VySWRlbnRpZmllcikKLSAgICAgICAgbV9pbnN0YWxsaW5nV29ya2Vy
ID0gU2VydmljZVdvcmtlcjo6Y3JlYXRlKGNvbnRleHQsICptX3JlZ2lzdHJhdGlvbkRhdGEuaW5z
dGFsbGluZ1NlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCBtX3JlZ2lzdHJhdGlvbkRhdGEuc2NyaXB0
VVJMLCBTZXJ2aWNlV29ya2VyOjpTdGF0ZTo6SW5zdGFsbGluZyk7Ci0gICAgaWYgKG1fcmVnaXN0
cmF0aW9uRGF0YS53YWl0aW5nU2VydmljZVdvcmtlcklkZW50aWZpZXIpCi0gICAgICAgIG1fd2Fp
dGluZ1dvcmtlciA9IFNlcnZpY2VXb3JrZXI6OmNyZWF0ZShjb250ZXh0LCAqbV9yZWdpc3RyYXRp
b25EYXRhLndhaXRpbmdTZXJ2aWNlV29ya2VySWRlbnRpZmllciwgbV9yZWdpc3RyYXRpb25EYXRh
LnNjcmlwdFVSTCwgU2VydmljZVdvcmtlcjo6U3RhdGU6Okluc3RhbGxlZCk7Ci0gICAgaWYgKG1f
cmVnaXN0cmF0aW9uRGF0YS5hY3RpdmVTZXJ2aWNlV29ya2VySWRlbnRpZmllcikgewotICAgICAg
ICAvLyBGSVhNRTogQWN0aXZhdGluZyBvciBBY3RpdmF0ZWQ/IFRoaXMgaXMgd2h5IHdlIGhhdmUg
dG8gaGF2ZSBtb3JlIGRhdGEgaGVyZS4uLgotICAgICAgICBtX2FjdGl2ZVdvcmtlciA9IFNlcnZp
Y2VXb3JrZXI6OmNyZWF0ZShjb250ZXh0LCAqbV9yZWdpc3RyYXRpb25EYXRhLmFjdGl2ZVNlcnZp
Y2VXb3JrZXJJZGVudGlmaWVyLCBtX3JlZ2lzdHJhdGlvbkRhdGEuc2NyaXB0VVJMLCBTZXJ2aWNl
V29ya2VyOjpTdGF0ZTo6QWN0aXZhdGVkKTsKLSAgICB9CisgICAgaWYgKG1fcmVnaXN0cmF0aW9u
RGF0YS5pbnN0YWxsaW5nV29ya2VyKQorICAgICAgICBtX2luc3RhbGxpbmdXb3JrZXIgPSBTZXJ2
aWNlV29ya2VyOjpnZXRPckNyZWF0ZShjb250ZXh0LCBXVEZNb3ZlKCptX3JlZ2lzdHJhdGlvbkRh
dGEuaW5zdGFsbGluZ1dvcmtlcikpOworICAgIGlmIChtX3JlZ2lzdHJhdGlvbkRhdGEud2FpdGlu
Z1dvcmtlcikKKyAgICAgICAgbV93YWl0aW5nV29ya2VyID0gU2VydmljZVdvcmtlcjo6Z2V0T3JD
cmVhdGUoY29udGV4dCwgV1RGTW92ZSgqbV9yZWdpc3RyYXRpb25EYXRhLndhaXRpbmdXb3JrZXIp
KTsKKyAgICBpZiAobV9yZWdpc3RyYXRpb25EYXRhLmFjdGl2ZVdvcmtlcikKKyAgICAgICAgbV9h
Y3RpdmVXb3JrZXIgPSBTZXJ2aWNlV29ya2VyOjpnZXRPckNyZWF0ZShjb250ZXh0LCBXVEZNb3Zl
KCptX3JlZ2lzdHJhdGlvbkRhdGEuYWN0aXZlV29ya2VyKSk7CiAKICAgICAvLyBGSVhNRTogSW1w
bGVtZW50IHByb3BlciBzZWxlY3Rpb24gb2Ygc2VydmljZSB3b3JrZXJzLgogICAgIGNvbnRleHQu
c2V0QWN0aXZlU2VydmljZVdvcmtlcihnZXROZXdlc3RXb3JrZXIoKSk7CkBAIC0xNDYsMzAgKzE0
MywxNyBAQCB2b2lkIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb246OnVucmVnaXN0ZXIoUmVmPERl
ZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlKQogICAgIGNvbnRhaW5lci0+cmVtb3ZlUmVnaXN0cmF0
aW9uKG1fcmVnaXN0cmF0aW9uRGF0YS5zY29wZVVSTCwgV1RGTW92ZShwcm9taXNlKSk7CiB9CiAK
LXZvaWQgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6dXBkYXRlU3RhdGVGcm9tU2VydmVyKFNl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb25TdGF0ZSBzdGF0ZSwgc3RkOjpvcHRpb25hbDxTZXJ2aWNl
V29ya2VySWRlbnRpZmllcj4gc2VydmljZVdvcmtlcklkZW50aWZpZXIpCit2b2lkIFNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb246OnVwZGF0ZVN0YXRlRnJvbVNlcnZlcihTZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uU3RhdGUgc3RhdGUsIFJlZlB0cjxTZXJ2aWNlV29ya2VyPiYmIHNlcnZpY2VXb3Jr
ZXIpCiB7Ci0gICAgYXV0byogY29udGV4dCA9IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsKLSAg
ICBpZiAoIWNvbnRleHQpCi0gICAgICAgIHJldHVybjsKLQotICAgIFJlZlB0cjxTZXJ2aWNlV29y
a2VyPiB3b3JrZXI7Ci0gICAgaWYgKHNlcnZpY2VXb3JrZXJJZGVudGlmaWVyKSB7Ci0gICAgICAg
IGF1dG8qIG5ld2VzdFdvcmtlciA9IGdldE5ld2VzdFdvcmtlcigpOwotICAgICAgICBpZiAobmV3
ZXN0V29ya2VyICYmIG5ld2VzdFdvcmtlci0+aWRlbnRpZmllcigpID09ICpzZXJ2aWNlV29ya2Vy
SWRlbnRpZmllcikKLSAgICAgICAgICAgIHdvcmtlciA9IG5ld2VzdFdvcmtlcjsKLSAgICAgICAg
ZWxzZQotICAgICAgICAgICAgd29ya2VyID0gU2VydmljZVdvcmtlcjo6Y3JlYXRlKCpjb250ZXh0
LCAqc2VydmljZVdvcmtlcklkZW50aWZpZXIsIG1fcmVnaXN0cmF0aW9uRGF0YS5zY3JpcHRVUkwp
OwotICAgIH0KLQogICAgIHN3aXRjaCAoc3RhdGUpIHsKICAgICBjYXNlIFNlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb25TdGF0ZTo6SW5zdGFsbGluZzoKLSAgICAgICAgbV9pbnN0YWxsaW5nV29ya2Vy
ID0gV1RGTW92ZSh3b3JrZXIpOworICAgICAgICBtX2luc3RhbGxpbmdXb3JrZXIgPSBXVEZNb3Zl
KHNlcnZpY2VXb3JrZXIpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFNlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb25TdGF0ZTo6V2FpdGluZzoKLSAgICAgICAgbV93YWl0aW5nV29ya2VyID0gV1RG
TW92ZSh3b3JrZXIpOworICAgICAgICBtX3dhaXRpbmdXb3JrZXIgPSBXVEZNb3ZlKHNlcnZpY2VX
b3JrZXIpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b25TdGF0ZTo6QWN0aXZlOgotICAgICAgICBtX2FjdGl2ZVdvcmtlciA9IFdURk1vdmUod29ya2Vy
KTsKKyAgICAgICAgbV9hY3RpdmVXb3JrZXIgPSBXVEZNb3ZlKHNlcnZpY2VXb3JrZXIpOwogICAg
ICAgICBicmVhazsKICAgICB9CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uaAppbmRleCBjODAzNjZjZDE1
YzJkNWE0MDE1ZjRlMTU1YjAyOWUwMGNkMWJhMDIxLi4wODRmZTgzMTY3MTRkNGY3YWYyODk1OTc5
MjFhZTIwNmJmNTM4ZmJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZp
Y2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmgKQEAgLTY3LDcgKzY3LDcgQEAg
cHVibGljOgogICAgIAogICAgIGNvbnN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhJiBk
YXRhKCkgY29uc3QgeyByZXR1cm4gbV9yZWdpc3RyYXRpb25EYXRhOyB9CiAKLSAgICB2b2lkIHVw
ZGF0ZVN0YXRlRnJvbVNlcnZlcihTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uU3RhdGUsIHN0ZDo6
b3B0aW9uYWw8U2VydmljZVdvcmtlcklkZW50aWZpZXI+KTsKKyAgICB2b2lkIHVwZGF0ZVN0YXRl
RnJvbVNlcnZlcihTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uU3RhdGUsIFJlZlB0cjxTZXJ2aWNl
V29ya2VyPiYmKTsKIAogcHJpdmF0ZToKICAgICBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBSZWY8U2VydmljZVdvcmtlckNvbnRhaW5lcj4mJiwgU2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEmJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEuY3BwIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRh
LmNwcAppbmRleCA0MTZjNWUyNGVlNTUxZWI4M2NkNDk4ZjhlM2NlMjE1MjhmNGU5MWQyLi4zNjQx
NWRjMzNhZWE1MDkzY2E2YWE2MjgwYTlkMmYzNjFkNGMyYWIzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uRGF0YS5jcHAKQEAgLTM2LDExICszNiwxMCBAQCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uRGF0YSBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YTo6aXNvbGF0ZWRDb3B5KCkgY29u
cwogICAgICAgICBrZXkuaXNvbGF0ZWRDb3B5KCksCiAgICAgICAgIGlkZW50aWZpZXIsCiAgICAg
ICAgIHNjb3BlVVJMLmlzb2xhdGVkQ29weSgpLAotICAgICAgICBzY3JpcHRVUkwuaXNvbGF0ZWRD
b3B5KCksCiAgICAgICAgIHVwZGF0ZVZpYUNhY2hlLAotICAgICAgICBpbnN0YWxsaW5nU2Vydmlj
ZVdvcmtlcklkZW50aWZpZXIsCi0gICAgICAgIHdhaXRpbmdTZXJ2aWNlV29ya2VySWRlbnRpZmll
ciwKLSAgICAgICAgYWN0aXZlU2VydmljZVdvcmtlcklkZW50aWZpZXIsCisgICAgICAgIGluc3Rh
bGxpbmdXb3JrZXIgPyBzdGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJEYXRhPihpbnN0YWxsaW5n
V29ya2VyLT5pc29sYXRlZENvcHkoKSkgOiBzdGQ6Om51bGxvcHQsCisgICAgICAgIHdhaXRpbmdX
b3JrZXIgPyBzdGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJEYXRhPih3YWl0aW5nV29ya2VyLT5p
c29sYXRlZENvcHkoKSkgOiBzdGQ6Om51bGxvcHQsCisgICAgICAgIGFjdGl2ZVdvcmtlciA/IHN0
ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlckRhdGE+KGFjdGl2ZVdvcmtlci0+aXNvbGF0ZWRDb3B5
KCkpIDogc3RkOjpudWxsb3B0LAogICAgIH07CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YS5oIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRh
LmgKaW5kZXggNTU2ZjA1NDJjZmYyZTcyZWZhNjliNzY2YzMyMDRhMjFkZWFiOTllZS4uZTgwNjMw
YWRkNjkyMWYxMzNiZTk3NzYzZmIyOTg1NGUzNzcwOTYzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b25EYXRhLmgKQEAgLTI3LDYgKzI3LDcgQEAKIAogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikK
IAorI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJEYXRhLmgiCiAjaW5jbHVkZSAiU2VydmljZVdvcmtl
cklkZW50aWZpZXIuaCIKICNpbmNsdWRlICJTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5Lmgi
CiAjaW5jbHVkZSAiU2VydmljZVdvcmtlclR5cGVzLmgiCkBAIC0zOSwxMiArNDAsMTEgQEAgc3Ry
dWN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhIHsKICAgICBTZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uS2V5IGtleTsKICAgICBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmll
ciBpZGVudGlmaWVyOwogICAgIFVSTCBzY29wZVVSTDsKLSAgICBVUkwgc2NyaXB0VVJMOwogICAg
IFNlcnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNoZSB1cGRhdGVWaWFDYWNoZTsKIAotICAgIHN0ZDo6
b3B0aW9uYWw8U2VydmljZVdvcmtlcklkZW50aWZpZXI+IGluc3RhbGxpbmdTZXJ2aWNlV29ya2Vy
SWRlbnRpZmllcjsKLSAgICBzdGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyPiB3
YWl0aW5nU2VydmljZVdvcmtlcklkZW50aWZpZXI7Ci0gICAgc3RkOjpvcHRpb25hbDxTZXJ2aWNl
V29ya2VySWRlbnRpZmllcj4gYWN0aXZlU2VydmljZVdvcmtlcklkZW50aWZpZXI7CisgICAgc3Rk
OjpvcHRpb25hbDxTZXJ2aWNlV29ya2VyRGF0YT4gaW5zdGFsbGluZ1dvcmtlcjsKKyAgICBzdGQ6
Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJEYXRhPiB3YWl0aW5nV29ya2VyOworICAgIHN0ZDo6b3B0
aW9uYWw8U2VydmljZVdvcmtlckRhdGE+IGFjdGl2ZVdvcmtlcjsKIAogICAgIFNlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb25EYXRhIGlzb2xhdGVkQ29weSgpIGNvbnN0OwogCkBAIC01Niw3ICs1Niw3
IEBAIHN0cnVjdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YSB7CiB0ZW1wbGF0ZTxjbGFz
cyBFbmNvZGVyPgogdm9pZCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YTo6ZW5jb2RlKEVu
Y29kZXImIGVuY29kZXIpIGNvbnN0CiB7Ci0gICAgZW5jb2RlciA8PCBrZXkgPDwgaWRlbnRpZmll
ciA8PCBzY29wZVVSTCA8PCBzY3JpcHRVUkwgPDwgdXBkYXRlVmlhQ2FjaGUgPDwgaW5zdGFsbGlu
Z1NlcnZpY2VXb3JrZXJJZGVudGlmaWVyIDw8IHdhaXRpbmdTZXJ2aWNlV29ya2VySWRlbnRpZmll
ciA8PCBhY3RpdmVTZXJ2aWNlV29ya2VySWRlbnRpZmllcjsKKyAgICBlbmNvZGVyIDw8IGtleSA8
PCBpZGVudGlmaWVyIDw8IHNjb3BlVVJMIDw8IHVwZGF0ZVZpYUNhY2hlIDw8IGluc3RhbGxpbmdX
b3JrZXIgPDwgd2FpdGluZ1dvcmtlciA8PCBhY3RpdmVXb3JrZXI7CiB9CiAKIHRlbXBsYXRlPGNs
YXNzIERlY29kZXI+CkBAIC03NywzMiArNzcsMjcgQEAgc3RkOjpvcHRpb25hbDxTZXJ2aWNlV29y
a2VyUmVnaXN0cmF0aW9uRGF0YT4gU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGE6OmRlY28K
ICAgICBpZiAoIXNjb3BlVVJMKQogICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogCi0gICAg
c3RkOjpvcHRpb25hbDxVUkw+IHNjcmlwdFVSTDsKLSAgICBkZWNvZGVyID4+IHNjcmlwdFVSTDsK
LSAgICBpZiAoIXNjcmlwdFVSTCkKLSAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKLQogICAg
IHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlPiB1cGRhdGVWaWFDYWNo
ZTsKICAgICBkZWNvZGVyID4+IHVwZGF0ZVZpYUNhY2hlOwogICAgIGlmICghdXBkYXRlVmlhQ2Fj
aGUpCiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAKLSAgICBzdGQ6Om9wdGlvbmFsPHN0
ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlcklkZW50aWZpZXI+PiBpbnN0YWxsaW5nU2VydmljZVdv
cmtlcklkZW50aWZpZXI7Ci0gICAgZGVjb2RlciA+PiBpbnN0YWxsaW5nU2VydmljZVdvcmtlcklk
ZW50aWZpZXI7Ci0gICAgaWYgKCFpbnN0YWxsaW5nU2VydmljZVdvcmtlcklkZW50aWZpZXIpCisg
ICAgc3RkOjpvcHRpb25hbDxzdGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJEYXRhPj4gaW5zdGFs
bGluZ1dvcmtlcjsKKyAgICBkZWNvZGVyID4+IGluc3RhbGxpbmdXb3JrZXI7CisgICAgaWYgKCFp
bnN0YWxsaW5nV29ya2VyKQogICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogCi0gICAgc3Rk
OjpvcHRpb25hbDxzdGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyPj4gd2FpdGlu
Z1NlcnZpY2VXb3JrZXJJZGVudGlmaWVyOwotICAgIGRlY29kZXIgPj4gd2FpdGluZ1NlcnZpY2VX
b3JrZXJJZGVudGlmaWVyOwotICAgIGlmICghd2FpdGluZ1NlcnZpY2VXb3JrZXJJZGVudGlmaWVy
KQorICAgIHN0ZDo6b3B0aW9uYWw8c3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2VyRGF0YT4+IHdh
aXRpbmdXb3JrZXI7CisgICAgZGVjb2RlciA+PiB3YWl0aW5nV29ya2VyOworICAgIGlmICghd2Fp
dGluZ1dvcmtlcikKICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKIAotICAgIHN0ZDo6b3B0
aW9uYWw8c3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2VySWRlbnRpZmllcj4+IGFjdGl2ZVNlcnZp
Y2VXb3JrZXJJZGVudGlmaWVyOwotICAgIGRlY29kZXIgPj4gYWN0aXZlU2VydmljZVdvcmtlcklk
ZW50aWZpZXI7Ci0gICAgaWYgKCFhY3RpdmVTZXJ2aWNlV29ya2VySWRlbnRpZmllcikKKyAgICBz
dGQ6Om9wdGlvbmFsPHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlckRhdGE+PiBhY3RpdmVXb3Jr
ZXI7CisgICAgZGVjb2RlciA+PiBhY3RpdmVXb3JrZXI7CisgICAgaWYgKCFhY3RpdmVXb3JrZXIp
CiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAKLSAgICByZXR1cm4geyB7IFdURk1vdmUo
KmtleSksIFdURk1vdmUoKmlkZW50aWZpZXIpLCBXVEZNb3ZlKCpzY29wZVVSTCksIFdURk1vdmUo
KnNjcmlwdFVSTCksIFdURk1vdmUoKnVwZGF0ZVZpYUNhY2hlKSwgV1RGTW92ZSgqaW5zdGFsbGlu
Z1NlcnZpY2VXb3JrZXJJZGVudGlmaWVyKSwgV1RGTW92ZSgqd2FpdGluZ1NlcnZpY2VXb3JrZXJJ
ZGVudGlmaWVyKSwgV1RGTW92ZSgqYWN0aXZlU2VydmljZVdvcmtlcklkZW50aWZpZXIpIH0gfTsK
KyAgICByZXR1cm4geyB7IFdURk1vdmUoKmtleSksIFdURk1vdmUoKmlkZW50aWZpZXIpLCBXVEZN
b3ZlKCpzY29wZVVSTCksIFdURk1vdmUoKnVwZGF0ZVZpYUNhY2hlKSwgV1RGTW92ZSgqaW5zdGFs
bGluZ1dvcmtlciksIFdURk1vdmUoKndhaXRpbmdXb3JrZXIpLCBXVEZNb3ZlKCphY3RpdmVXb3Jr
ZXIpIH0gfTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV1RGCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXQ2xpZW50Q29ubmVjdGlvbi5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXQ2xpZW50Q29ubmVjdGlvbi5jcHAK
aW5kZXggMjVhZGE3MDVjODBhNDY5MjIwODZkZTBjOWFmZDY5M2ViMzMzOGI5Yy4uYjI5NTk2NGI0
YjVhMTk0OGM0Y2UwYjViOTNmZGQ0NjY2N2ExZWJjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV0NsaWVudENvbm5lY3Rpb24uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dDbGllbnRDb25uZWN0aW9uLmNw
cApAQCAtMTE4LDcgKzExOCw3IEBAIHZvaWQgU1dDbGllbnRDb25uZWN0aW9uOjpzdGFydFNjcmlw
dEZldGNoRm9yU2VydmVyKHVpbnQ2NF90IGpvYklkZW50aWZpZXIpCiAgICAgam9iLT5zdGFydFNj
cmlwdEZldGNoKCk7CiB9CiAKLXZvaWQgU1dDbGllbnRDb25uZWN0aW9uOjpwb3N0TWVzc2FnZVRv
U2VydmljZVdvcmtlckNsaWVudCh1aW50NjRfdCBkZXN0aW5hdGlvblNjcmlwdEV4ZWN1dGlvbkNv
bnRleHRJZGVudGlmaWVyLCBSZWY8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiYmIG1lc3NhZ2UsIFNl
cnZpY2VXb3JrZXJJZGVudGlmaWVyIHNvdXJjZUlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgc291
cmNlT3JpZ2luKQordm9pZCBTV0NsaWVudENvbm5lY3Rpb246OnBvc3RNZXNzYWdlVG9TZXJ2aWNl
V29ya2VyQ2xpZW50KHVpbnQ2NF90IGRlc3RpbmF0aW9uU2NyaXB0RXhlY3V0aW9uQ29udGV4dElk
ZW50aWZpZXIsIFJlZjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+JiYgbWVzc2FnZSwgU2VydmljZVdv
cmtlckRhdGEmJiBzb3VyY2VEYXRhLCBjb25zdCBTdHJpbmcmIHNvdXJjZU9yaWdpbikKIHsKICAg
ICAvLyBGSVhNRTogZGVzdGluYXRpb25TY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllciBj
YW4gb25seSBpZGVudGlmeSBhIERvY3VtZW50IGF0IHRoZSBtb21lbnQuCiAgICAgYXV0byogZGVz
dGluYXRpb25Eb2N1bWVudCA9IERvY3VtZW50OjphbGxEb2N1bWVudHNNYXAoKS5nZXQoZGVzdGlu
YXRpb25TY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllcik7CkBAIC0xMjksMTQgKzEyOSw3
IEBAIHZvaWQgU1dDbGllbnRDb25uZWN0aW9uOjpwb3N0TWVzc2FnZVRvU2VydmljZVdvcmtlckNs
aWVudCh1aW50NjRfdCBkZXN0aW5hdGlvblNjCiAgICAgaWYgKCFjb250YWluZXIpCiAgICAgICAg
IHJldHVybjsKIAotICAgIHN0ZDo6b3B0aW9uYWw8TWVzc2FnZUV2ZW50U291cmNlPiBzb3VyY2U7
Ci0gICAgYXV0byogYWN0aXZlU2VydmljZVdvcmtlciA9IGRlc3RpbmF0aW9uRG9jdW1lbnQtPmFj
dGl2ZVNlcnZpY2VXb3JrZXIoKTsKLSAgICBpZiAoYWN0aXZlU2VydmljZVdvcmtlciAmJiBhY3Rp
dmVTZXJ2aWNlV29ya2VyLT5pZGVudGlmaWVyKCkgPT0gc291cmNlSWRlbnRpZmllcikKLSAgICAg
ICAgc291cmNlID0gTWVzc2FnZUV2ZW50U291cmNlIHsgUmVmUHRyPFNlcnZpY2VXb3JrZXI+IHsg
YWN0aXZlU2VydmljZVdvcmtlciB9IH07Ci0gICAgZWxzZSB7Ci0gICAgICAgIC8vIEZJWE1FOiBQ
YXNzIGluIHZhbGlkIHNjcmlwdFVSTC4KLSAgICAgICAgc291cmNlID0gTWVzc2FnZUV2ZW50U291
cmNlIHsgUmVmUHRyPFNlcnZpY2VXb3JrZXI+IHsgU2VydmljZVdvcmtlcjo6Y3JlYXRlKCpkZXN0
aW5hdGlvbkRvY3VtZW50LCBzb3VyY2VJZGVudGlmaWVyLCBVUkwoKSkgfSB9OwotICAgIH0KKyAg
ICBNZXNzYWdlRXZlbnRTb3VyY2Ugc291cmNlID0gUmVmUHRyPFNlcnZpY2VXb3JrZXI+IHsgU2Vy
dmljZVdvcmtlcjo6Z2V0T3JDcmVhdGUoKmRlc3RpbmF0aW9uRG9jdW1lbnQsIFdURk1vdmUoc291
cmNlRGF0YSkpIH07CiAKICAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIHBhc3MgaW4gcG9ydHMuCiAg
ICAgYXV0byBtZXNzYWdlRXZlbnQgPSBNZXNzYWdlRXZlbnQ6OmNyZWF0ZSh7IH0sIFdURk1vdmUo
bWVzc2FnZSksIHNvdXJjZU9yaWdpbiwgeyB9LCBXVEZNb3ZlKHNvdXJjZSkpOwpAQCAtMTUyLDEw
ICsxNDUsMTAgQEAgdm9pZCBTV0NsaWVudENvbm5lY3Rpb246OmZvckVhY2hDb250YWluZXIoY29u
c3QgV1RGOjpGdW5jdGlvbjx2b2lkKFNlcnZpY2VXb3JrZXIKICAgICB9CiB9CiAKLXZvaWQgU1dD
bGllbnRDb25uZWN0aW9uOjp1cGRhdGVSZWdpc3RyYXRpb25TdGF0ZShTZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uSWRlbnRpZmllciBpZGVudGlmaWVyLCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
U3RhdGUgc3RhdGUsIHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlcklkZW50aWZpZXI+IHNlcnZp
Y2VXb3JrZXJJZGVudGlmaWVyKQordm9pZCBTV0NsaWVudENvbm5lY3Rpb246OnVwZGF0ZVJlZ2lz
dHJhdGlvblN0YXRlKFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyIGlkZW50aWZp
ZXIsIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25TdGF0ZSBzdGF0ZSwgY29uc3Qgc3RkOjpvcHRp
b25hbDxTZXJ2aWNlV29ya2VyRGF0YT4mIHNlcnZpY2VXb3JrZXJEYXRhKQogewogICAgIGZvckVh
Y2hDb250YWluZXIoWyZdKFNlcnZpY2VXb3JrZXJDb250YWluZXImIGNvbnRhaW5lcikgewotICAg
ICAgICBjb250YWluZXIuc2NoZWR1bGVUYXNrVG9VcGRhdGVSZWdpc3RyYXRpb25TdGF0ZShpZGVu
dGlmaWVyLCBzdGF0ZSwgc2VydmljZVdvcmtlcklkZW50aWZpZXIpOworICAgICAgICBjb250YWlu
ZXIuc2NoZWR1bGVUYXNrVG9VcGRhdGVSZWdpc3RyYXRpb25TdGF0ZShpZGVudGlmaWVyLCBzdGF0
ZSwgc2VydmljZVdvcmtlckRhdGEpOwogICAgIH0pOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXQ2xpZW50Q29ubmVjdGlvbi5oIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV0NsaWVudENvbm5lY3Rpb24uaApp
bmRleCAwZWM4N2ZjY2FhZjlkNGI2NGVmNjZhMDM3YWIyNTQwMzBlZDI3NjZjLi43MTk5OTA0NDJm
NDk5ZDZkNjIyOTFkN2Q4MmFlNDk1ZWI3YzgxM2EzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXQ2xpZW50Q29ubmVjdGlvbi5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dDbGllbnRDb25uZWN0aW9uLmgKQEAg
LTQ0LDYgKzQ0LDcgQEAgZW51bSBjbGFzcyBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uU3RhdGU7
CiBlbnVtIGNsYXNzIFNlcnZpY2VXb3JrZXJTdGF0ZTsKIGVudW0gY2xhc3MgU2hvdWxkTm90aWZ5
V2hlblJlc29sdmVkOwogc3RydWN0IEV4Y2VwdGlvbkRhdGE7CitzdHJ1Y3QgU2VydmljZVdvcmtl
ckRhdGE7CiBzdHJ1Y3QgU2VydmljZVdvcmtlckZldGNoUmVzdWx0Owogc3RydWN0IFNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb25EYXRhOwogCkBAIC03NCw4ICs3NSw4IEBAIHByb3RlY3RlZDoKICAg
ICBXRUJDT1JFX0VYUE9SVCB2b2lkIHJlZ2lzdHJhdGlvbkpvYlJlc29sdmVkSW5TZXJ2ZXIodWlu
dDY0X3Qgam9iSWRlbnRpZmllciwgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEmJiwgU2hv
dWxkTm90aWZ5V2hlblJlc29sdmVkKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHVucmVnaXN0
cmF0aW9uSm9iUmVzb2x2ZWRJblNlcnZlcih1aW50NjRfdCBqb2JJZGVudGlmaWVyLCBib29sIHVu
cmVnaXN0cmF0aW9uUmVzdWx0KTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHN0YXJ0U2NyaXB0
RmV0Y2hGb3JTZXJ2ZXIodWludDY0X3Qgam9iSWRlbnRpZmllcik7Ci0gICAgV0VCQ09SRV9FWFBP
UlQgdm9pZCBwb3N0TWVzc2FnZVRvU2VydmljZVdvcmtlckNsaWVudCh1aW50NjRfdCBkZXN0aW5h
dGlvblNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyLCBSZWY8U2VyaWFsaXplZFNjcmlw
dFZhbHVlPiYmIG1lc3NhZ2UsIFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIHNvdXJjZSwgY29uc3Qg
U3RyaW5nJiBzb3VyY2VPcmlnaW4pOwotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgdXBkYXRlUmVn
aXN0cmF0aW9uU3RhdGUoU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIsIFNlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb25TdGF0ZSwgc3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2VySWRl
bnRpZmllcj4pOworICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgcG9zdE1lc3NhZ2VUb1NlcnZpY2VX
b3JrZXJDbGllbnQodWludDY0X3QgZGVzdGluYXRpb25TY3JpcHRFeGVjdXRpb25Db250ZXh0SWRl
bnRpZmllciwgUmVmPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4mJiBtZXNzYWdlLCBTZXJ2aWNlV29y
a2VyRGF0YSYmIHNvdXJjZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VPcmlnaW4pOworICAgIFdFQkNP
UkVfRVhQT1JUIHZvaWQgdXBkYXRlUmVnaXN0cmF0aW9uU3RhdGUoU2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbklkZW50aWZpZXIsIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25TdGF0ZSwgY29uc3Qg
c3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2VyRGF0YT4mKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2
b2lkIHVwZGF0ZVdvcmtlclN0YXRlKFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCBTZXJ2aWNlV29y
a2VyU3RhdGUpOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZmlyZVVwZGF0ZUZvdW5kRXZlbnQo
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIpOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmggYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmgKaW5kZXggODM4YzdlNWM0Mjcw
OTQwYTk5ZGE2NzU1NGUyYWI0M2IwZTk4Mzc1Yy4uMzBiMTJjYWY3ZmIzNjA2ZmJjZjRkODA1Yzdm
N2RkMmQ5N2RiOWM1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L3NlcnZlci9TV1NlcnZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9z
ZXJ2ZXIvU1dTZXJ2ZXIuaApAQCAtNjcsNyArNjcsNyBAQCBwdWJsaWM6CiAgICAgICAgIGNvbnN0
IFNXU2VydmVyUmVnaXN0cmF0aW9uKiBkb1JlZ2lzdHJhdGlvbk1hdGNoaW5nKGNvbnN0IFNlY3Vy
aXR5T3JpZ2luRGF0YSYgdG9wT3JpZ2luLCBjb25zdCBVUkwmIGNsaWVudFVSTCkgY29uc3QgeyBy
ZXR1cm4gbV9zZXJ2ZXIuZG9SZWdpc3RyYXRpb25NYXRjaGluZyh0b3BPcmlnaW4sIGNsaWVudFVS
TCk7IH0KIAogICAgICAgICAvLyBNZXNzYWdlcyB0byB0aGUgY2xpZW50IFdlYlByb2Nlc3MKLSAg
ICAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZVJlZ2lzdHJhdGlvblN0YXRlSW5DbGllbnQoU2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIsIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25T
dGF0ZSwgc3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2VySWRlbnRpZmllcj4pID0gMDsKKyAgICAg
ICAgdmlydHVhbCB2b2lkIHVwZGF0ZVJlZ2lzdHJhdGlvblN0YXRlSW5DbGllbnQoU2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIsIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25TdGF0
ZSwgY29uc3Qgc3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2VyRGF0YT4mKSA9IDA7CiAgICAgICAg
IHZpcnR1YWwgdm9pZCB1cGRhdGVXb3JrZXJTdGF0ZUluQ2xpZW50KFNlcnZpY2VXb3JrZXJJZGVu
dGlmaWVyLCBTZXJ2aWNlV29ya2VyU3RhdGUpID0gMDsKICAgICAgICAgdmlydHVhbCB2b2lkIGZp
cmVVcGRhdGVGb3VuZEV2ZW50KFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyKSA9
IDA7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIv
U1dTZXJ2ZXJSZWdpc3RyYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L3NlcnZlci9TV1NlcnZlclJlZ2lzdHJhdGlvbi5jcHAKaW5kZXggNzMyNzc5N2I4MDZkNGIyODUz
OTJjNTgxYTk1YTE5Y2ViMzJkYzFhZi4uZDZlMTRiNDA1NDZlYjk0Y2UxZTQzMTVkNzlkNjNhYjM2
OWI0NWNhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZl
ci9TV1NlcnZlclJlZ2lzdHJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9z
ZXJ2aWNlL3NlcnZlci9TV1NlcnZlclJlZ2lzdHJhdGlvbi5jcHAKQEAgLTgxLDEyICs4MSwxMiBA
QCB2b2lkIFNXU2VydmVyUmVnaXN0cmF0aW9uOjp1cGRhdGVSZWdpc3RyYXRpb25TdGF0ZShTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uU3RhdAogICAgICAgICBicmVhazsKICAgICB9OwogCi0gICAg
c3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2VySWRlbnRpZmllcj4gc2VydmljZVdvcmtlcklkZW50
aWZpZXI7CisgICAgc3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2VyRGF0YT4gc2VydmljZVdvcmtl
ckRhdGE7CiAgICAgaWYgKHdvcmtlcikKLSAgICAgICAgc2VydmljZVdvcmtlcklkZW50aWZpZXIg
PSB3b3JrZXItPmlkZW50aWZpZXIoKTsKKyAgICAgICAgc2VydmljZVdvcmtlckRhdGEgPSB3b3Jr
ZXItPmRhdGEoKTsKIAogICAgIGZvckVhY2hDb25uZWN0aW9uKFsmXShhdXRvJiBjb25uZWN0aW9u
KSB7Ci0gICAgICAgIGNvbm5lY3Rpb24udXBkYXRlUmVnaXN0cmF0aW9uU3RhdGVJbkNsaWVudChp
ZGVudGlmaWVyKCksIHN0YXRlLCBzZXJ2aWNlV29ya2VySWRlbnRpZmllcik7CisgICAgICAgIGNv
bm5lY3Rpb24udXBkYXRlUmVnaXN0cmF0aW9uU3RhdGVJbkNsaWVudChpZGVudGlmaWVyKCksIHN0
YXRlLCBzZXJ2aWNlV29ya2VyRGF0YSk7CiAgICAgfSk7CiB9CiAKQEAgLTExOCwxOSArMTE4LDE5
IEBAIHZvaWQgU1dTZXJ2ZXJSZWdpc3RyYXRpb246OmZvckVhY2hDb25uZWN0aW9uKGNvbnN0IFdU
Rjo6RnVuY3Rpb248dm9pZChTV1NlcnZlcjo6CiAKIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25E
YXRhIFNXU2VydmVyUmVnaXN0cmF0aW9uOjpkYXRhKCkgY29uc3QKIHsKLSAgICBzdGQ6Om9wdGlv
bmFsPFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyPiBpbnN0YWxsaW5nSUQ7CisgICAgc3RkOjpvcHRp
b25hbDxTZXJ2aWNlV29ya2VyRGF0YT4gaW5zdGFsbGluZ1dvcmtlckRhdGE7CiAgICAgaWYgKG1f
aW5zdGFsbGluZ1dvcmtlcikKLSAgICAgICAgaW5zdGFsbGluZ0lEID0gbV9pbnN0YWxsaW5nV29y
a2VyLT5pZGVudGlmaWVyKCk7CisgICAgICAgIGluc3RhbGxpbmdXb3JrZXJEYXRhID0gbV9pbnN0
YWxsaW5nV29ya2VyLT5kYXRhKCk7CiAKLSAgICBzdGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJJ
ZGVudGlmaWVyPiB3YWl0aW5nSUQ7CisgICAgc3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2VyRGF0
YT4gd2FpdGluZ1dvcmtlckRhdGE7CiAgICAgaWYgKG1fd2FpdGluZ1dvcmtlcikKLSAgICAgICAg
d2FpdGluZ0lEID0gbV93YWl0aW5nV29ya2VyLT5pZGVudGlmaWVyKCk7CisgICAgICAgIHdhaXRp
bmdXb3JrZXJEYXRhID0gbV93YWl0aW5nV29ya2VyLT5kYXRhKCk7CiAKLSAgICBzdGQ6Om9wdGlv
bmFsPFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyPiBhY3RpdmVJRDsKKyAgICBzdGQ6Om9wdGlvbmFs
PFNlcnZpY2VXb3JrZXJEYXRhPiBhY3RpdmVXb3JrZXJEYXRhOwogICAgIGlmIChtX2FjdGl2ZVdv
cmtlcikKLSAgICAgICAgYWN0aXZlSUQgPSBtX2FjdGl2ZVdvcmtlci0+aWRlbnRpZmllcigpOwor
ICAgICAgICBhY3RpdmVXb3JrZXJEYXRhID0gbV9hY3RpdmVXb3JrZXItPmRhdGEoKTsKIAotICAg
IHJldHVybiB7IG1fcmVnaXN0cmF0aW9uS2V5LCBpZGVudGlmaWVyKCksIG1fc2NvcGVVUkwsIG1f
c2NyaXB0VVJMLCBtX3VwZGF0ZVZpYUNhY2hlLCBpbnN0YWxsaW5nSUQsIHdhaXRpbmdJRCwgYWN0
aXZlSUQgfTsKKyAgICByZXR1cm4geyBtX3JlZ2lzdHJhdGlvbktleSwgaWRlbnRpZmllcigpLCBt
X3Njb3BlVVJMLCBtX3VwZGF0ZVZpYUNhY2hlLCBXVEZNb3ZlKGluc3RhbGxpbmdXb3JrZXJEYXRh
KSwgV1RGTW92ZSh3YWl0aW5nV29ya2VyRGF0YSksIFdURk1vdmUoYWN0aXZlV29ya2VyRGF0YSkg
fTsKIH0KIAogdm9pZCBTV1NlcnZlclJlZ2lzdHJhdGlvbjo6YWRkQ2xpZW50U2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbih1aW50NjRfdCBjb25uZWN0aW9uSWRlbnRpZmllcikKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJXb3JrZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlcldvcmtlci5j
cHAKaW5kZXggNWJiMjMwY2ZmMDcwZGNmYjQxNTE3NWE4MDRkZGM4YTc0OTQwOWFmNy4uMDA3ZWU5
YzBlMGM3MjQzNjEyNDZlY2NmZTJlNGQwYTY0ODJlYmU3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlcldvcmtlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlcldvcmtlci5jcHAKQEAg
LTQzLDE0ICs0MywxMiBAQCBTV1NlcnZlcldvcmtlciogU1dTZXJ2ZXJXb3JrZXI6OmV4aXN0aW5n
V29ya2VyRm9ySWRlbnRpZmllcihTZXJ2aWNlV29ya2VySWRlbnRpZgogICAgIHJldHVybiBhbGxX
b3JrZXJzKCkuZ2V0KGlkZW50aWZpZXIpOwogfQogCi1TV1NlcnZlcldvcmtlcjo6U1dTZXJ2ZXJX
b3JrZXIoU1dTZXJ2ZXImIHNlcnZlciwgY29uc3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktl
eSYgcmVnaXN0cmF0aW9uS2V5LCBTV1NlcnZlclRvQ29udGV4dENvbm5lY3Rpb25JZGVudGlmaWVy
IGNvbnRleHRDb25uZWN0aW9uSWRlbnRpZmllciwgY29uc3QgVVJMJiB1cmwsIGNvbnN0IFN0cmlu
ZyYgc2NyaXB0LCBXb3JrZXJUeXBlIHR5cGUsIFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIGlkZW50
aWZpZXIpCitTV1NlcnZlcldvcmtlcjo6U1dTZXJ2ZXJXb3JrZXIoU1dTZXJ2ZXImIHNlcnZlciwg
Y29uc3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleSYgcmVnaXN0cmF0aW9uS2V5LCBTV1Nl
cnZlclRvQ29udGV4dENvbm5lY3Rpb25JZGVudGlmaWVyIGNvbnRleHRDb25uZWN0aW9uSWRlbnRp
ZmllciwgY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgc2NyaXB0LCBXb3JrZXJU
eXBlIHR5cGUsIFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIGlkZW50aWZpZXIpCiAgICAgOiBtX3Nl
cnZlcihzZXJ2ZXIpCiAgICAgLCBtX3JlZ2lzdHJhdGlvbktleShyZWdpc3RyYXRpb25LZXkpCiAg
ICAgLCBtX2NvbnRleHRDb25uZWN0aW9uSWRlbnRpZmllcihjb250ZXh0Q29ubmVjdGlvbklkZW50
aWZpZXIpCi0gICAgLCBtX3NjcmlwdFVSTCh1cmwpCisgICAgLCBtX2RhdGEgeyBpZGVudGlmaWVy
LCBzY3JpcHRVUkwsIFNlcnZpY2VXb3JrZXJTdGF0ZTo6UmVkdW5kYW50LCB0eXBlIH0KICAgICAs
IG1fc2NyaXB0KHNjcmlwdCkKLSAgICAsIG1faWRlbnRpZmllcihpZGVudGlmaWVyKQotICAgICwg
bV90eXBlKHR5cGUpCiB7CiAgICAgYXV0byByZXN1bHQgPSBhbGxXb3JrZXJzKCkuYWRkKGlkZW50
aWZpZXIsIHRoaXMpOwogICAgIEFTU0VSVF9VTlVTRUQocmVzdWx0LCByZXN1bHQuaXNOZXdFbnRy
eSk7CkBAIC01OCw3ICs1Niw3IEBAIFNXU2VydmVyV29ya2VyOjpTV1NlcnZlcldvcmtlcihTV1Nl
cnZlciYgc2VydmVyLCBjb25zdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uCiAKIFNXU2VydmVy
V29ya2VyOjp+U1dTZXJ2ZXJXb3JrZXIoKQogewotICAgIGF1dG8gdGFrZW4gPSBhbGxXb3JrZXJz
KCkudGFrZShtX2lkZW50aWZpZXIpOworICAgIGF1dG8gdGFrZW4gPSBhbGxXb3JrZXJzKCkudGFr
ZShpZGVudGlmaWVyKCkpOwogICAgIEFTU0VSVF9VTlVTRUQodGFrZW4sIHRha2VuID09IHRoaXMp
OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVy
L1NXU2VydmVyV29ya2VyLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVy
L1NXU2VydmVyV29ya2VyLmgKaW5kZXggMzhiMGI0N2FjZTc4YmFjMTlhYTI0OTczMGIwNTY5YjQ3
NGRiZGYzOS4uZGQyZThlYTZmNjNkOTdlOTRmZDI5YmQwODYzNjVhY2VlMTllZGMxMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlcldvcmtl
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJX
b3JrZXIuaApAQCAtMjcsNiArMjcsNyBAQAogCiAjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQog
CisjaW5jbHVkZSAiU2VydmljZVdvcmtlckRhdGEuaCIKICNpbmNsdWRlICJTZXJ2aWNlV29ya2Vy
SWRlbnRpZmllci5oIgogI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkuaCIK
ICNpbmNsdWRlICJTZXJ2aWNlV29ya2VyVHlwZXMuaCIKQEAgLTQ2LDIxICs0NywyMSBAQCBwdWJs
aWM6CiAgICAgfQogICAgIAogICAgIFNXU2VydmVyV29ya2VyKGNvbnN0IFNXU2VydmVyV29ya2Vy
JikgPSBkZWxldGU7Ci0gICAgflNXU2VydmVyV29ya2VyKCk7CisgICAgV0VCQ09SRV9FWFBPUlQg
flNXU2VydmVyV29ya2VyKCk7CiAKICAgICB2b2lkIHRlcm1pbmF0ZSgpOwogCiAgICAgU1dTZXJ2
ZXImIHNlcnZlcigpOwogICAgIGNvbnN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkmIHJl
Z2lzdHJhdGlvbktleSgpIGNvbnN0IHsgcmV0dXJuIG1fcmVnaXN0cmF0aW9uS2V5OyB9Ci0gICAg
Y29uc3QgVVJMJiBzY3JpcHRVUkwoKSBjb25zdCB7IHJldHVybiBtX3NjcmlwdFVSTDsgfQorICAg
IGNvbnN0IFVSTCYgc2NyaXB0VVJMKCkgY29uc3QgeyByZXR1cm4gbV9kYXRhLnNjcmlwdFVSTDsg
fQogICAgIGNvbnN0IFN0cmluZyYgc2NyaXB0KCkgY29uc3QgeyByZXR1cm4gbV9zY3JpcHQ7IH0K
LSAgICBXb3JrZXJUeXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBtX3R5cGU7IH0KKyAgICBXb3Jr
ZXJUeXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBtX2RhdGEudHlwZTsgfQogCi0gICAgU2Vydmlj
ZVdvcmtlcklkZW50aWZpZXIgaWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIG1faWRlbnRpZmll
cjsgfQorICAgIFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIGlkZW50aWZpZXIoKSBjb25zdCB7IHJl
dHVybiBtX2RhdGEuaWRlbnRpZmllcjsgfQogICAgIFNXU2VydmVyVG9Db250ZXh0Q29ubmVjdGlv
bklkZW50aWZpZXIgY29udGV4dENvbm5lY3Rpb25JZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4g
bV9jb250ZXh0Q29ubmVjdGlvbklkZW50aWZpZXI7IH0KIAotICAgIFNlcnZpY2VXb3JrZXJTdGF0
ZSBzdGF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fc3RhdGU7IH0KLSAgICB2b2lkIHNldFN0YXRlKFNl
cnZpY2VXb3JrZXJTdGF0ZSBzdGF0ZSkgeyBtX3N0YXRlID0gc3RhdGU7IH0KKyAgICBTZXJ2aWNl
V29ya2VyU3RhdGUgc3RhdGUoKSBjb25zdCB7IHJldHVybiBtX2RhdGEuc3RhdGU7IH0KKyAgICB2
b2lkIHNldFN0YXRlKFNlcnZpY2VXb3JrZXJTdGF0ZSBzdGF0ZSkgeyBtX2RhdGEuc3RhdGUgPSBz
dGF0ZTsgfQogCiAgICAgYm9vbCBoYXNQZW5kaW5nRXZlbnRzKCkgY29uc3QgeyByZXR1cm4gbV9o
YXNQZW5kaW5nRXZlbnRzOyB9CiAgICAgdm9pZCBzZXRIYXNQZW5kaW5nRXZlbnRzKGJvb2wgdmFs
dWUpIHsgbV9oYXNQZW5kaW5nRXZlbnRzID0gdmFsdWU7IH0KQEAgLTcyLDE4ICs3MywxNiBAQCBw
dWJsaWM6CiAKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgU1dTZXJ2ZXJXb3JrZXIqIGV4aXN0
aW5nV29ya2VyRm9ySWRlbnRpZmllcihTZXJ2aWNlV29ya2VySWRlbnRpZmllcik7CiAKKyAgICBj
b25zdCBTZXJ2aWNlV29ya2VyRGF0YSYgZGF0YSgpIGNvbnN0IHsgcmV0dXJuIG1fZGF0YTsgfQor
CiBwcml2YXRlOgogICAgIFNXU2VydmVyV29ya2VyKFNXU2VydmVyJiwgY29uc3QgU2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbktleSYsIFNXU2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbklkZW50aWZp
ZXIsIGNvbnN0IFVSTCYsIGNvbnN0IFN0cmluZyYgc2NyaXB0LCBXb3JrZXJUeXBlLCBTZXJ2aWNl
V29ya2VySWRlbnRpZmllcik7CiAKICAgICBTV1NlcnZlciYgbV9zZXJ2ZXI7CiAgICAgU2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbktleSBtX3JlZ2lzdHJhdGlvbktleTsKICAgICBTV1NlcnZlclRv
Q29udGV4dENvbm5lY3Rpb25JZGVudGlmaWVyIG1fY29udGV4dENvbm5lY3Rpb25JZGVudGlmaWVy
OwotICAgIFVSTCBtX3NjcmlwdFVSTDsKKyAgICBTZXJ2aWNlV29ya2VyRGF0YSBtX2RhdGE7CiAg
ICAgU3RyaW5nIG1fc2NyaXB0OwotICAgIFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIG1faWRlbnRp
ZmllcjsKLSAgICBXb3JrZXJUeXBlIG1fdHlwZTsKLSAgICAKLSAgICBTZXJ2aWNlV29ya2VyU3Rh
dGUgbV9zdGF0ZSB7IFNlcnZpY2VXb3JrZXJTdGF0ZTo6UmVkdW5kYW50IH07CiAgICAgYm9vbCBt
X2hhc1BlbmRpbmdFdmVudHMgeyBmYWxzZSB9OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9TdG9yYWdlUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2
ZXJDb25uZWN0aW9uLmNwcAppbmRleCAyOGNkYmI3ZWE5MWI2Zjg4ZDcyY2MyZTNiOGQ1ZGIzZWZl
MDBlYmUwLi4wYzI0YTEyNDE2Yjc0NDRmYWQyMDcwYjBhNjAxOWNiMzhhNTgyYWFhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2
ZXJDb25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1NlcnZp
Y2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmNwcApAQCAtOTEsOSArOTEsOSBAQCB2b2lk
IFdlYlNXU2VydmVyQ29ubmVjdGlvbjo6c3RhcnRTY3JpcHRGZXRjaEluQ2xpZW50KHVpbnQ2NF90
IGpvYklkZW50aWZpZXIpCiAgICAgc2VuZChNZXNzYWdlczo6V2ViU1dDbGllbnRDb25uZWN0aW9u
OjpTdGFydFNjcmlwdEZldGNoRm9yU2VydmVyKGpvYklkZW50aWZpZXIpKTsKIH0KIAotdm9pZCBX
ZWJTV1NlcnZlckNvbm5lY3Rpb246OnVwZGF0ZVJlZ2lzdHJhdGlvblN0YXRlSW5DbGllbnQoU2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIgaWRlbnRpZmllciwgU2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvblN0YXRlIHN0YXRlLCBzdGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJJZGVu
dGlmaWVyPiBzZXJ2aWNlV29ya2VySWRlbnRpZmllcikKK3ZvaWQgV2ViU1dTZXJ2ZXJDb25uZWN0
aW9uOjp1cGRhdGVSZWdpc3RyYXRpb25TdGF0ZUluQ2xpZW50KFNlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb25JZGVudGlmaWVyIGlkZW50aWZpZXIsIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25TdGF0
ZSBzdGF0ZSwgY29uc3Qgc3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2VyRGF0YT4mIHNlcnZpY2VX
b3JrZXJEYXRhKQogewotICAgIHNlbmQoTWVzc2FnZXM6OldlYlNXQ2xpZW50Q29ubmVjdGlvbjo6
VXBkYXRlUmVnaXN0cmF0aW9uU3RhdGUoaWRlbnRpZmllciwgc3RhdGUsIHNlcnZpY2VXb3JrZXJJ
ZGVudGlmaWVyKSk7CisgICAgc2VuZChNZXNzYWdlczo6V2ViU1dDbGllbnRDb25uZWN0aW9uOjpV
cGRhdGVSZWdpc3RyYXRpb25TdGF0ZShpZGVudGlmaWVyLCBzdGF0ZSwgc2VydmljZVdvcmtlckRh
dGEpKTsKIH0KIAogdm9pZCBXZWJTV1NlcnZlckNvbm5lY3Rpb246OmZpcmVVcGRhdGVGb3VuZEV2
ZW50KFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyIGlkZW50aWZpZXIpCkBAIC0x
NDIsOSArMTQyLDEzIEBAIHZvaWQgV2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjpkaWROb3RIYW5kbGVG
ZXRjaCh1aW50NjRfdCBmZXRjaElkZW50aWZpZXIpCiAgICAgbV9jb250ZW50Q29ubmVjdGlvbi0+
c2VuZChNZXNzYWdlczo6U2VydmljZVdvcmtlckNsaWVudEZldGNoOjpEaWROb3RIYW5kbGUgeyB9
LCBmZXRjaElkZW50aWZpZXIpOwogfQogCi12b2lkIFdlYlNXU2VydmVyQ29ubmVjdGlvbjo6cG9z
dE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXJDbGllbnQodWludDY0X3QgZGVzdGluYXRpb25TY3JpcHRF
eGVjdXRpb25Db250ZXh0SWRlbnRpZmllciwgY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJiBtZXNz
YWdlLCBTZXJ2aWNlV29ya2VySWRlbnRpZmllciBzb3VyY2VTZXJ2aWNlV29ya2VySWRlbnRpZmll
ciwgY29uc3QgU3RyaW5nJiBzb3VyY2VPcmlnaW4pCit2b2lkIFdlYlNXU2VydmVyQ29ubmVjdGlv
bjo6cG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXJDbGllbnQodWludDY0X3QgZGVzdGluYXRpb25T
Y3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllciwgY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNl
JiBtZXNzYWdlLCBTZXJ2aWNlV29ya2VySWRlbnRpZmllciBzb3VyY2VJZGVudGlmaWVyLCBjb25z
dCBTdHJpbmcmIHNvdXJjZU9yaWdpbikKIHsKLSAgICBzZW5kKE1lc3NhZ2VzOjpXZWJTV0NsaWVu
dENvbm5lY3Rpb246OlBvc3RNZXNzYWdlVG9TZXJ2aWNlV29ya2VyQ2xpZW50IHsgZGVzdGluYXRp
b25TY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllciwgbWVzc2FnZSwgc291cmNlU2Vydmlj
ZVdvcmtlcklkZW50aWZpZXIsIHNvdXJjZU9yaWdpbiB9KTsKKyAgICBhdXRvKiBzb3VyY2VTZXJ2
aWNlV29ya2VyID0gc2VydmVyKCkud29ya2VyQnlJRChzb3VyY2VJZGVudGlmaWVyKTsKKyAgICBp
ZiAoIXNvdXJjZVNlcnZpY2VXb3JrZXIpCisgICAgICAgIHJldHVybjsKKworICAgIHNlbmQoTWVz
c2FnZXM6OldlYlNXQ2xpZW50Q29ubmVjdGlvbjo6UG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXJD
bGllbnQgeyBkZXN0aW5hdGlvblNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyLCBtZXNz
YWdlLCBzb3VyY2VTZXJ2aWNlV29ya2VyLT5kYXRhKCksIHNvdXJjZU9yaWdpbiB9KTsKIH0KIAog
dm9pZCBXZWJTV1NlcnZlckNvbm5lY3Rpb246Om1hdGNoUmVnaXN0cmF0aW9uKHVpbnQ2NF90IHJl
Z2lzdHJhdGlvbk1hdGNoUmVxdWVzdElkZW50aWZpZXIsIGNvbnN0IFNlY3VyaXR5T3JpZ2luRGF0
YSYgdG9wT3JpZ2luLCBjb25zdCBVUkwmIGNsaWVudFVSTCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvU3RvcmFnZVByb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24u
aCBiL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZl
ckNvbm5lY3Rpb24uaAppbmRleCBiODBiM2JmZDQ3Y2ExMjEwNTI3MDQ5MzFmNzMxYjVlYTA5Nzg0
NDdkLi4zZjRjYTViM2M4MmU2NDViMzZkYWI5ODM0ZmIyMWRkMzdlMTNjMTNjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJD
b25uZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9TZXJ2aWNlV29y
a2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5oCkBAIC02NCw3ICs2NCw3IEBAIHByaXZhdGU6CiAg
ICAgdm9pZCByZXNvbHZlUmVnaXN0cmF0aW9uSm9iSW5DbGllbnQodWludDY0X3Qgam9iSWRlbnRp
ZmllciwgY29uc3QgV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEmLCBXZWJD
b3JlOjpTaG91bGROb3RpZnlXaGVuUmVzb2x2ZWQpIGZpbmFsOwogICAgIHZvaWQgcmVzb2x2ZVVu
cmVnaXN0cmF0aW9uSm9iSW5DbGllbnQodWludDY0X3Qgam9iSWRlbnRpZmllciwgY29uc3QgV2Vi
Q29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleSYsIGJvb2wgdW5yZWdpc3RyYXRpb25S
ZXN1bHQpIGZpbmFsOwogICAgIHZvaWQgc3RhcnRTY3JpcHRGZXRjaEluQ2xpZW50KHVpbnQ2NF90
IGpvYklkZW50aWZpZXIpIGZpbmFsOwotICAgIHZvaWQgdXBkYXRlUmVnaXN0cmF0aW9uU3RhdGVJ
bkNsaWVudChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciwgV2Vi
Q29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvblN0YXRlLCBzdGQ6Om9wdGlvbmFsPFdlYkNv
cmU6OlNlcnZpY2VXb3JrZXJJZGVudGlmaWVyPikgZmluYWw7CisgICAgdm9pZCB1cGRhdGVSZWdp
c3RyYXRpb25TdGF0ZUluQ2xpZW50KFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25J
ZGVudGlmaWVyLCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uU3RhdGUsIGNvbnN0
IHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6U2VydmljZVdvcmtlckRhdGE+JikgZmluYWw7CiAgICAg
dm9pZCB1cGRhdGVXb3JrZXJTdGF0ZUluQ2xpZW50KFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVu
dGlmaWVyLCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyU3RhdGUpIGZpbmFsOwogICAgIHZvaWQgZmly
ZVVwZGF0ZUZvdW5kRXZlbnQoV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50
aWZpZXIpIGZpbmFsOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3Rv
cmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24uY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmNwcAppbmRleCA2NjY3ZDcwNGJhZWZmZmUw
ZWUxOWFlN2I5OWVkZjgzMTVlY2U0ZWMzLi40MjI4ZmEyZmEzMGNmMTUzMmZlMWMwODU2MmJjYjQz
ZTEwOWMwZmE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9X
ZWJTV0NsaWVudENvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9T
dG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5jcHAKQEAgLTEzMSw5ICsxMzEsOSBAQCBSZWY8
U2VydmljZVdvcmtlckNsaWVudEZldGNoPiBXZWJTV0NsaWVudENvbm5lY3Rpb246OnN0YXJ0RmV0
Y2goV2ViU2VydmljZVdvcmtlcgogICAgIHJldHVybiBTZXJ2aWNlV29ya2VyQ2xpZW50RmV0Y2g6
OmNyZWF0ZShwcm92aWRlciwgV1RGTW92ZShsb2FkZXIpLCBpZGVudGlmaWVyLCBtX2Nvbm5lY3Rp
b24uZ2V0KCksIFdURk1vdmUoY2FsbGJhY2spKTsKIH0KIAotdm9pZCBXZWJTV0NsaWVudENvbm5l
Y3Rpb246OnBvc3RNZXNzYWdlVG9TZXJ2aWNlV29ya2VyQ2xpZW50KHVpbnQ2NF90IGRlc3RpbmF0
aW9uU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIsIGNvbnN0IElQQzo6RGF0YVJlZmVy
ZW5jZSYgbWVzc2FnZSwgU2VydmljZVdvcmtlcklkZW50aWZpZXIgc291cmNlSWRlbnRpZmllciwg
Y29uc3QgU3RyaW5nJiBzb3VyY2VPcmlnaW4pCit2b2lkIFdlYlNXQ2xpZW50Q29ubmVjdGlvbjo6
cG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXJDbGllbnQodWludDY0X3QgZGVzdGluYXRpb25TY3Jp
cHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllciwgY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJiBt
ZXNzYWdlLCBTZXJ2aWNlV29ya2VyRGF0YSYmIHNvdXJjZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VP
cmlnaW4pCiB7Ci0gICAgU1dDbGllbnRDb25uZWN0aW9uOjpwb3N0TWVzc2FnZVRvU2VydmljZVdv
cmtlckNsaWVudChkZXN0aW5hdGlvblNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyLCBT
ZXJpYWxpemVkU2NyaXB0VmFsdWU6OmFkb3B0KG1lc3NhZ2UudmVjdG9yKCkpLCBzb3VyY2VJZGVu
dGlmaWVyLCBzb3VyY2VPcmlnaW4pOworICAgIFNXQ2xpZW50Q29ubmVjdGlvbjo6cG9zdE1lc3Nh
Z2VUb1NlcnZpY2VXb3JrZXJDbGllbnQoZGVzdGluYXRpb25TY3JpcHRFeGVjdXRpb25Db250ZXh0
SWRlbnRpZmllciwgU2VyaWFsaXplZFNjcmlwdFZhbHVlOjphZG9wdChtZXNzYWdlLnZlY3Rvcigp
KSwgV1RGTW92ZShzb3VyY2UpLCBzb3VyY2VPcmlnaW4pOwogfQogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNX
Q2xpZW50Q29ubmVjdGlvbi5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2Vi
U1dDbGllbnRDb25uZWN0aW9uLmgKaW5kZXggYWQ2NDJjOTAyZjAxYmY3ZDY5OGM2OGVjODI0MTll
YmNhYWE0OGI1Mi4uNTEyYTFkMWFiY2NjZDg3MmE0OTQzYmI0NDFlYzM2ZThmODQyMTQ1MCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25u
ZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGll
bnRDb25uZWN0aW9uLmgKQEAgLTYzLDcgKzYzLDcgQEAgcHVibGljOgogICAgIGJvb2wgaGFzU2Vy
dmljZVdvcmtlclJlZ2lzdGVyZWRGb3JPcmlnaW4oY29uc3QgV2ViQ29yZTo6U2VjdXJpdHlPcmln
aW4mKSBjb25zdCBmaW5hbDsKICAgICBSZWY8U2VydmljZVdvcmtlckNsaWVudEZldGNoPiBzdGFy
dEZldGNoKFdlYlNlcnZpY2VXb3JrZXJQcm92aWRlciYsIFJlZjxXZWJDb3JlOjpSZXNvdXJjZUxv
YWRlcj4mJiwgdWludDY0X3QgaWRlbnRpZmllciwgU2VydmljZVdvcmtlckNsaWVudEZldGNoOjpD
YWxsYmFjayYmKTsKIAotICAgIHZvaWQgcG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXJDbGllbnQo
dWludDY0X3QgZGVzdGluYXRpb25TY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllciwgY29u
c3QgSVBDOjpEYXRhUmVmZXJlbmNlJiBtZXNzYWdlLCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRl
bnRpZmllciBzb3VyY2VJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZU9yaWdpbik7Cisg
ICAgdm9pZCBwb3N0TWVzc2FnZVRvU2VydmljZVdvcmtlckNsaWVudCh1aW50NjRfdCBkZXN0aW5h
dGlvblNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyLCBjb25zdCBJUEM6OkRhdGFSZWZl
cmVuY2UmIG1lc3NhZ2UsIFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJEYXRhJiYgc291cmNlLCBjb25z
dCBTdHJpbmcmIHNvdXJjZU9yaWdpbik7CiAKIHByaXZhdGU6CiAgICAgdm9pZCBzY2hlZHVsZUpv
YkluU2VydmVyKGNvbnN0IFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJKb2JEYXRhJikgZmluYWw7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENv
bm5lY3Rpb24ubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9X
ZWJTV0NsaWVudENvbm5lY3Rpb24ubWVzc2FnZXMuaW4KaW5kZXggNTMzZGNlNjFkYzE1NjgxZWEx
YTg0ZDc3Y2M5OTA2NTQ3YjFmM2FiYS4uNGZjMmRmMzQ1OGE5ZTIyNGE1MmQxMGQ3MDliMmYwYzll
NjMyYjk5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2Vi
U1dDbGllbnRDb25uZWN0aW9uLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5tZXNzYWdlcy5pbgpAQCAtMjgsMTIg
KzI4LDEyIEBAIG1lc3NhZ2VzIC0+IFdlYlNXQ2xpZW50Q29ubmVjdGlvbiB7CiAgICAgUmVnaXN0
cmF0aW9uSm9iUmVzb2x2ZWRJblNlcnZlcih1aW50NjRfdCBpZGVudGlmaWVyLCBzdHJ1Y3QgV2Vi
Q29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEgcmVnaXN0cmF0aW9uLCBlbnVtIFdl
YkNvcmU6OlNob3VsZE5vdGlmeVdoZW5SZXNvbHZlZCBzaG91bGROb3RpZnlXaGVuUmVzb2x2ZWQp
CiAgICAgVW5yZWdpc3RyYXRpb25Kb2JSZXNvbHZlZEluU2VydmVyKHVpbnQ2NF90IGlkZW50aWZp
ZXIsIGJvb2wgdW5yZWdpc3RyYXRpb25SZXN1bHQpCiAgICAgU3RhcnRTY3JpcHRGZXRjaEZvclNl
cnZlcih1aW50NjRfdCBqb2JJZGVudGlmaWVyKQotICAgIFVwZGF0ZVJlZ2lzdHJhdGlvblN0YXRl
KFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyIGlkZW50aWZpZXIs
IGVudW0gV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvblN0YXRlIHN0YXRlLCBzdGQ6
Om9wdGlvbmFsPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVudGlmaWVyPiBzZXJ2aWNlV29ya2Vy
SWRlbnRpZmllcikKKyAgICBVcGRhdGVSZWdpc3RyYXRpb25TdGF0ZShXZWJDb3JlOjpTZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciBpZGVudGlmaWVyLCBlbnVtIFdlYkNvcmU6OlNl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb25TdGF0ZSBzdGF0ZSwgc3RkOjpvcHRpb25hbDxXZWJDb3Jl
OjpTZXJ2aWNlV29ya2VyRGF0YT4gc2VydmljZVdvcmtlcklkZW50aWZpZXIpCiAgICAgVXBkYXRl
V29ya2VyU3RhdGUoV2ViQ29yZTo6U2VydmljZVdvcmtlcklkZW50aWZpZXIgc2VydmljZVdvcmtl
cklkZW50aWZpZXIsIGVudW0gV2ViQ29yZTo6U2VydmljZVdvcmtlclN0YXRlIHN0YXRlKQogICAg
IEZpcmVVcGRhdGVGb3VuZEV2ZW50KFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25J
ZGVudGlmaWVyIGlkZW50aWZpZXIpCiAKICAgICBTZXRTV09yaWdpblRhYmxlU2hhcmVkTWVtb3J5
KFdlYktpdDo6U2hhcmVkTWVtb3J5OjpIYW5kbGUgaGFuZGxlKQotICAgIFBvc3RNZXNzYWdlVG9T
ZXJ2aWNlV29ya2VyQ2xpZW50KHVpbnQ2NF90IGRlc3RpbmF0aW9uU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dElkZW50aWZpZXIsIElQQzo6RGF0YVJlZmVyZW5jZSBtZXNzYWdlLCBXZWJDb3JlOjpTZXJ2
aWNlV29ya2VySWRlbnRpZmllciBzb3VyY2VTZXJ2aWNlV29ya2VySWRlbnRpZmllciwgU3RyaW5n
IHNvdXJjZU9yaWdpbikKKyAgICBQb3N0TWVzc2FnZVRvU2VydmljZVdvcmtlckNsaWVudCh1aW50
NjRfdCBkZXN0aW5hdGlvblNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyLCBJUEM6OkRh
dGFSZWZlcmVuY2UgbWVzc2FnZSwgc3RydWN0IFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJEYXRhIHNv
dXJjZSwgU3RyaW5nIHNvdXJjZU9yaWdpbikKIAogICAgIERpZE1hdGNoUmVnaXN0cmF0aW9uKHVp
bnQ2NF90IG1hdGNoUmVxdWVzdElkZW50aWZpZXIsIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6U2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGE+IGRhdGEpCiB9CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0No
YW5nZUxvZwppbmRleCBmNTFmMzQ2ODNiZmY4NWJlZWY1OGQ1OGUzOGZiMTMxNTVmNzBmNjRiLi4x
Mjg2MGQ4M2NmOWFlNmYyY2ZjNDY2NDEyNjQ0MzcwMDgxZjI3MjYxIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxNy0xMS0xMyAgQ2hyaXMgRHVtZXog
IDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIFNlbmQgU2VydmljZVdvcmtlckRhdGEgc3Ry
dWN0cyB0byB0aGUgV2ViUHJvY2Vzc2VzIGluc3RlYWQgb2YgU2VydmljZVdvcmtlcklkZW50aWZp
ZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzk2
NDkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZWJh
c2VsaW5lIGEgY291cGxlIG9mIFdQVCB0ZXN0cyB0aGF0IGFyZSBub3cgcGFzc2luZy4KKworICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
cmVnaXN0ZXItd2FpdC1mb3JldmVyLWluLWluc3RhbGwtd29ya2VyLmh0dHBzLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL3NraXAtd2FpdGluZy5odHRwcy1leHBlY3RlZC50eHQ6CisKIDIwMTctMTEtMTMgIFlv
dWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIG1hdGNoUmVnaXN0cmF0
aW9uIGRvZXMgbm90IG5lZWQgdG8gZ28gdG8gU3RvcmFnZVByb2Nlc3MgaWYgbm8gc2VydmljZSB3
b3JrZXIgaXMgcmVnaXN0ZXJlZApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVnaXN0
ZXItd2FpdC1mb3JldmVyLWluLWluc3RhbGwtd29ya2VyLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL3JlZ2lzdGVyLXdhaXQtZm9yZXZlci1pbi1pbnN0YWxsLXdvcmtlci5o
dHRwcy1leHBlY3RlZC50eHQKaW5kZXggYzViNWU5MWM4OTQxZTRhNGM1ODJiNGM3Njc1OWQwMjEw
YmI2NzYwNS4uNTU5YWI5MDVjYjRjNTg3OTI3NDEwMWMxZWI4ZWIxMGE0ODBlOTU3ZCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVnaXN0ZXItd2FpdC1mb3JldmVyLWluLWluc3RhbGwt
d29ya2VyLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZWdpc3Rl
ci13YWl0LWZvcmV2ZXItaW4taW5zdGFsbC13b3JrZXIuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0x
LDMgKzEsMyBAQAogCi1GQUlMIHJlZ2lzdGVyIHdvcmtlciB0aGF0IGNhbGxzIHdhaXRVbnRpbCB3
aXRoIGEgcHJvbWlzZSB0aGF0IG5ldmVyIHJlc29sdmVzIGluIG9uaW5zdGFsbCBhc3NlcnRfZXF1
YWxzOiBleHBlY3RlZCAiaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvcmVzb3VyY2VzL2VtcHR5LXdvcmtlci5qcyIgYnV0IGdvdCAiaHR0cHM6Ly9s
b2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3dh
aXQtZm9yZXZlci1pbi1pbnN0YWxsLXdvcmtlci5qcyIKK1BBU1MgcmVnaXN0ZXIgd29ya2VyIHRo
YXQgY2FsbHMgd2FpdFVudGlsIHdpdGggYSBwcm9taXNlIHRoYXQgbmV2ZXIgcmVzb2x2ZXMgaW4g
b25pbnN0YWxsIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9za2lwLXdhaXRpbmcu
aHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvc2tpcC13YWl0aW5nLmh0dHBz
LWV4cGVjdGVkLnR4dAppbmRleCA0ODE5M2E0YTVhMjUxZTNkZDY3MDA1ZjYyN2QxYmVkYmU4NGNm
MmJjLi5mYzQ5ZDE3MDI0ZjU0MTY0Njc5OGYyOTk2ZTJlNzE4MjA2MzMyZTI3IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9za2lwLXdhaXRpbmcuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL3NraXAtd2FpdGluZy5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEs
MyArMSwzIEBACiAKLUZBSUwgVGVzdCBza2lwV2FpdGluZyB3aXRoIGJvdGggYWN0aXZlIGFuZCB3
YWl0aW5nIHdvcmtlcnMgYXNzZXJ0X2VxdWFsczogV29ya2VyIHdpdGggdXJsMiBzaG91bGQgYmUg
d2FpdGluZyBleHBlY3RlZCAiaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2VtcHR5LXdvcmtlci5qcyIgYnV0IGdvdCAiaHR0cHM6
Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2Vz
L2VtcHR5LmpzIgorUEFTUyBUZXN0IHNraXBXYWl0aW5nIHdpdGggYm90aCBhY3RpdmUgYW5kIHdh
aXRpbmcgd29ya2VycyAKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>