<?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>178497</bug_id>
          
          <creation_ts>2017-10-18 18:31:44 -0700</creation_ts>
          <short_desc>Implement ServiceWorkerRegistration.scope / updateViaCache</short_desc>
          <delta_ts>2017-10-19 06:14:25 -0700</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>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=174541</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar, WebExposed</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>ben</cc>
    
    <cc>buildbot</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ggaren</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1361993</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-10-18 18:31:44 -0700</bug_when>
    <thetext>Implement ServiceWorkerRegistration.scope / updateViaCache.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1361995</commentid>
    <comment_count>1</comment_count>
      <attachid>324194</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-10-18 18:36:34 -0700</bug_when>
    <thetext>Created attachment 324194
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1362008</commentid>
    <comment_count>2</comment_count>
      <attachid>324194</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-10-18 18:57:52 -0700</bug_when>
    <thetext>Comment on attachment 324194
Patch

LGTM once the bots are happy.

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

&gt; Source/WebCore/workers/service/ServiceWorkerRegistration.h:66
&gt;      virtual ScriptExecutionContext* scriptExecutionContext() const;

Can you mark these two as final as well?

&gt; Source/WebCore/workers/service/ServiceWorkerRegistrationData.h:74
&gt; +    decoder &gt;&gt; updateViaCache;

I wonder whether decoder &gt;&gt; key &gt;&gt; identifier &gt;&gt; scopeURL &gt;&gt; updateViaCache would be something we want.
That would match the encoder version nicely but we do not return as early and it is less debuggable.

&gt; Source/WebCore/workers/service/ServiceWorkerRegistrationData.h:78
&gt; +    return {{ WTFMove(*key), WTFMove(*identifier), WTFMove(*scopeURL), WTFMove(*updateViaCache) }};

Does style say to put a space between {{ or }}?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1362009</commentid>
    <comment_count>3</comment_count>
      <attachid>324196</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-10-18 19:02:36 -0700</bug_when>
    <thetext>Created attachment 324196
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1362043</commentid>
    <comment_count>4</comment_count>
      <attachid>324204</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-10-18 19:56:27 -0700</bug_when>
    <thetext>Created attachment 324204
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1362045</commentid>
    <comment_count>5</comment_count>
      <attachid>324204</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-10-18 20:29:55 -0700</bug_when>
    <thetext>Comment on attachment 324204
Patch

Clearing flags on attachment: 324204

Committed r223652: &lt;https://trac.webkit.org/changeset/223652&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1362046</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-10-18 20:29:57 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1362047</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-10-18 20:31:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/35067071&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1362121</commentid>
    <comment_count>8</comment_count>
    <who name="Ben Kelly">ben</who>
    <bug_when>2017-10-19 06:14:25 -0700</bug_when>
    <thetext>FYI, there is an open spec issue about updateViaCache:

https://github.com/w3c/ServiceWorker/issues/1189</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>324194</attachid>
            <date>2017-10-18 18:36:34 -0700</date>
            <delta_ts>2017-10-18 19:02:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-178497-20171018183633.patch</filename>
            <type>text/plain</type>
            <size>26335</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIzNjM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGI4NTRiZjI4NGRlOTY5
ZmU1MmMxYzhiMTk0NjkxMjU3YjA3Y2Y2OC4uNTEzODFlNmRhY2Q2MTM4MjNjM2Q0MjNhMDE3MDNm
YzU2OWRkYmI3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQ3IEBACiAyMDE3LTEwLTE4ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKKyAgICAgICAgSW1wbGVtZW50IFNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb24uc2NvcGUgLyB1cGRhdGVWaWFDYWNoZQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4NDk3CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50IFNlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb24uc2NvcGUgLyB1cGRhdGVWaWFDYWNoZS4KKworICAgICAgICBObyBuZXcgdGVz
dHMsIHVwZGF0ZWQgZXhpc3RpbmcgdGVzdC4KKworICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtl
ckNvbnRhaW5lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ29udGFpbmVy
Ojpqb2JSZXNvbHZlZFdpdGhSZWdpc3RyYXRpb24pOgorICAgICAgICAqIHdvcmtlcnMvc2Vydmlj
ZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmg6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1Nl
cnZpY2VXb3JrZXJKb2IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlckpvYjo6
cmVzb2x2ZWRXaXRoUmVnaXN0cmF0aW9uKToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2Vy
dmljZVdvcmtlckpvYi5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2Vy
Sm9iQ2xpZW50Lmg6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdp
c3RyYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlv
bjo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uOjpzY29wZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uOjp1cGRhdGVWaWFDYWNoZSBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uOjp1cGRhdGUpOgorICAgICAgICAoV2Vi
Q29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6dW5yZWdpc3Rlcik6CisgICAgICAgIChX
ZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uOjpzY3JpcHRFeGVjdXRpb25Db250ZXh0
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb246OmFj
dGl2ZURPTU9iamVjdE5hbWUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbjo6Y2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbiBjb25zdCk6Cisg
ICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uaDoKKyAg
ICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5pZGw6Cisg
ICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhOjppc29s
YXRlZENvcHkgY29uc3QpOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uRGF0YS5oOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbkRhdGE6OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29y
a2VyUmVnaXN0cmF0aW9uRGF0YTo6ZGVjb2RlKToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2Uv
c2VydmVyL1NXQ2xpZW50Q29ubmVjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTV0NsaWVu
dENvbm5lY3Rpb246OmpvYlJlc29sdmVkSW5TZXJ2ZXIpOgorICAgICAgICAqIHdvcmtlcnMvc2Vy
dmljZS9zZXJ2ZXIvU1dDbGllbnRDb25uZWN0aW9uLmg6CisgICAgICAgICogd29ya2Vycy9zZXJ2
aWNlL3NlcnZlci9TV1NlcnZlclJlZ2lzdHJhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpT
V1NlcnZlclJlZ2lzdHJhdGlvbjo6c2NyaXB0Q29udGV4dFN0YXJ0ZWQpOgorICAgICAgICAoV2Vi
Q29yZTo6U1dTZXJ2ZXJSZWdpc3RyYXRpb246OmRhdGEgY29uc3QpOgorCisyMDE3LTEwLTE4ICBD
aHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKICAgICAgICAgW1NlcnZpY2UgV29ya2Vy
XSBBZGQgc3R1YnMgZm9yIENsaWVudCAvIFdpbmRvd0NsaWVudCAvIENsaWVudHMKICAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODQ2OQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmlu
ZGV4IGE5MzNmYTIyNmYwZjc5ZDdjZjA5OTc0NjNjZTk2NzU4ZmY5YWEwMDEuLjdlY2EwMzBmYTNi
MWNkYjU2YWU0MTVjMWY4NmU0NGVjYjAwZTM5YzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTUgQEAK
IDIwMTctMTAtMTggIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAorICAgICAgICBJ
bXBsZW1lbnQgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5zY29wZSAvIHVwZGF0ZVZpYUNhY2hl
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzg0OTcK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNoYXJl
ZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaDoKKyAgICAgICAgKiBTdG9yYWdlUHJvY2Vzcy9TZXJ2
aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5jcHA6CisKKzIwMTctMTAtMTggIENocmlz
IER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKwogICAgICAgICBbU2VydmljZSBXb3JrZXJdIEFk
ZCBzdHVicyBmb3IgQ2xpZW50IC8gV2luZG93Q2xpZW50IC8gQ2xpZW50cwogICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4NDY5CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBmMTM1ZDFi
MWYzZmE2ODI3YTBkNGE1MjgwYWZiOWM4MGI5MzI2OWM1Li5iZGYzMjRiNTJhY2Q5NzhhMjQyYTBm
OTZkNjBmMzU4MDc3NmM3Njk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yNDkzLDcgKzI0OTMsNyBAQAogCQk1MUYxNzU2NzFG
M0VCQzgzMDBDNzQ5NTAgLyogU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUYxNzU0RDFGM0VCQzBDMDBD
NzQ5NTAgLyogU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5jcHAgKi87IH07CiAJCTUxRjE3NTY4
MUYzRUJDODMwMEM3NDk1MCAvKiBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUYxNzU0QzFGM0VCQzBDMDBD
NzQ5NTAgLyogU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5oICovOyB9OwogCQk1MUYxNzU2OTFG
M0VCQzgzMDBDNzQ5NTAgLyogU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbk9wdGlvbnMuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRjE3NTRBMUYzRUJD
MEMwMEM3NDk1MCAvKiBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uT3B0aW9ucy5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTUxRjE3NTZDMUYzRUJD
ODMwMEM3NDk1MCAvKiBTZXJ2aWNlV29ya2VyVXBkYXRlVmlhQ2FjaGUuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRjE3NTQ3MUYzRUJDMEMwMEM3NDk1
MCAvKiBTZXJ2aWNlV29ya2VyVXBkYXRlVmlhQ2FjaGUuaCAqLzsgfTsKKwkJNTFGMTc1NkMxRjNF
QkM4MzAwQzc0OTUwIC8qIFNlcnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNoZS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFGMTc1NDcxRjNFQkMwQzAwQzc0
OTUwIC8qIFNlcnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNoZS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTUxRjY0NTYyMUY0NTM5OEYwMEI1NERFRCAv
KiBFeGNlcHRpb25EYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA1MUY2NDU2MDFGNDUzOThCMDBCNTRERUQgLyogRXhjZXB0aW9uRGF0YS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTUxRjY0NTY5MUY0
NTM5QjkwMEI1NERFRCAvKiBTZXJ2aWNlV29ya2VySm9iRGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFGNjQ1NjYxRjQ1Mzk5RjAwQjU0REVEIC8q
IFNlcnZpY2VXb3JrZXJKb2JEYXRhLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJNTFGNjQ1NkExRjQ1MzlDMDAwQjU0REVEIC8qIFNlcnZpY2VXb3Jr
ZXJKb2JUeXBlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1MUY2NDU2NTFGNDUzOTlGMDBCNTRERUQgLyogU2VydmljZVdvcmtlckpvYlR5cGUuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMzI3MTUsOSAr
MzI3MTUsOCBAQAogCQkJCTBGNDk2NkFBMURCNDBDNDMwMEEyNzRCQiAvKiBKU0RPTVBvaW50LmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTBGNDk2NkFDMURCNDBDNDMwMEEyNzRCQiAvKiBKU0RPTVBv
aW50SW5pdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjQ5NjZBRTFEQjQwQzQzMDBBMjc0QkIg
LyogSlNET01Qb2ludFJlYWRPbmx5LmNwcCBpbiBTb3VyY2VzICovLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICA0MUFGMzc5RDFGOERCMUI1MDAxMTFDMzEgLyogSlNET01Qcm9taXNl
LmNwcCBpbiBTb3VyY2VzICovLAotCQkJCUUxNzJBRjhGMTgxMUJDMzcwMEZCQURCOSAvKiBKU0RP
TVByb21pc2VEZWZlcnJlZC5jcHAgaW4gU291cmNlcyAqLywKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgMEZGM0I5MjgxRUUzQjZERTAwQjg0MTQ0IC8qIEpTRE9NUXVhZC5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQk0MUFGMzc5RDFGOERCMUI1MDAxMTFDMzEgLyogSlNET01Qcm9taXNl
LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGRjNCOTI4MUVFM0I2REUwMEI4NDE0NCAvKiBKU0RP
TVF1YWQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEZGM0I5MkExRUUzQjZERTAwQjg0MTQ0IC8q
IEpTRE9NUXVhZEluaXQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEY0NzEwQkIxREI1NkJFODAw
MkRDRUMzIC8qIEpTRE9NUmVjdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjQ3MTBCRDFEQjU2
QkU4MDAyRENFQzMgLyogSlNET01SZWN0SW5pdC5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFp
bmVyLmNwcAppbmRleCBkMzBkYzU3YTZkOGRiMDQwMTgxOTdlODYyMWY2Y2EyOTE4ODE4ZGM5Li4y
MThhNjRhZGMxZjcxNDk2NTkxOWUxZTAxZjgwZTZmMTU3YjY0MTQwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIu
Y3BwCkBAIC0xNjcsNyArMTY3LDcgQEAgdm9pZCBTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjpqb2JG
YWlsZWRXaXRoRXhjZXB0aW9uKFNlcnZpY2VXb3JrZXJKb2ImIGpvYiwgY29uc3QKICAgICBqb2JE
aWRGaW5pc2goam9iKTsKIH0KIAotdm9pZCBTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjpqb2JSZXNv
bHZlZFdpdGhSZWdpc3RyYXRpb24oU2VydmljZVdvcmtlckpvYiYgam9iLCBjb25zdCBTZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uRGF0YSYgZGF0YSkKK3ZvaWQgU2VydmljZVdvcmtlckNvbnRhaW5l
cjo6am9iUmVzb2x2ZWRXaXRoUmVnaXN0cmF0aW9uKFNlcnZpY2VXb3JrZXJKb2ImIGpvYiwgU2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEmJiBkYXRhKQogewogICAgIFNjb3BlR3VhcmQgZ3Vh
cmQoW3RoaXMsICZqb2JdIHsKICAgICAgICAgam9iRGlkRmluaXNoKGpvYik7CkBAIC0xNzksNyAr
MTc5LDcgQEAgdm9pZCBTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjpqb2JSZXNvbHZlZFdpdGhSZWdp
c3RyYXRpb24oU2VydmljZVdvcmtlckpvYiYgam9iLAogICAgICAgICByZXR1cm47CiAgICAgfQog
Ci0gICAgYXV0byByZWdpc3RyYXRpb24gPSBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uOjpjcmVh
dGUoKmNvbnRleHQsIGRhdGEpOworICAgIGF1dG8gcmVnaXN0cmF0aW9uID0gU2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbjo6Y3JlYXRlKCpjb250ZXh0LCBXVEZNb3ZlKGRhdGEpKTsKICAgICBqb2Iu
cHJvbWlzZSgpLnJlc29sdmU8SURMSW50ZXJmYWNlPFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24+
PihyZWdpc3RyYXRpb24uZ2V0KCkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5oIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuaAppbmRleCBmZjRjNzhkNTFi
NTRlNzcxZTE0NzA3NTgzZDVhMTMxMGE0M2EzMjI4Li4xNWY1NmQxZmVlMjQ0NTQ1NzVhYWEzOGNm
Y2MxODAwMWZjNDUyMjYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZp
Y2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmgKQEAgLTcyLDcgKzcyLDcgQEAgcHJpdmF0
ZToKICAgICB2b2lkIHNjaGVkdWxlSm9iKFJlZjxTZXJ2aWNlV29ya2VySm9iPiYmKTsKIAogICAg
IHZvaWQgam9iRmFpbGVkV2l0aEV4Y2VwdGlvbihTZXJ2aWNlV29ya2VySm9iJiwgY29uc3QgRXhj
ZXB0aW9uJikgZmluYWw7Ci0gICAgdm9pZCBqb2JSZXNvbHZlZFdpdGhSZWdpc3RyYXRpb24oU2Vy
dmljZVdvcmtlckpvYiYsIGNvbnN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhJikgZmlu
YWw7CisgICAgdm9pZCBqb2JSZXNvbHZlZFdpdGhSZWdpc3RyYXRpb24oU2VydmljZVdvcmtlckpv
YiYsIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhJiYpIGZpbmFsOwogICAgIHZvaWQgc3Rh
cnRTY3JpcHRGZXRjaEZvckpvYihTZXJ2aWNlV29ya2VySm9iJikgZmluYWw7CiAgICAgdm9pZCBq
b2JGaW5pc2hlZExvYWRpbmdTY3JpcHQoU2VydmljZVdvcmtlckpvYiYsIGNvbnN0IFN0cmluZyYp
IGZpbmFsOwogICAgIHZvaWQgam9iRmFpbGVkTG9hZGluZ1NjcmlwdChTZXJ2aWNlV29ya2VySm9i
JiwgY29uc3QgUmVzb3VyY2VFcnJvciYpIGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJKb2IuY3BwIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJKb2IuY3BwCmluZGV4IDIzMWUwNDEyMTdmOTYw
NjMxNzY5Nzg1N2E4MjkxMzQxNjJhNTM1OTMuLjYyMDI0YjhkOTAxNjZkZjU4ZDZjMjlmYjlkNzVi
YmE3Nzk2MGZiZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9T
ZXJ2aWNlV29ya2VySm9iLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uv
U2VydmljZVdvcmtlckpvYi5jcHAKQEAgLTU3LDEzICs1NywxMyBAQCB2b2lkIFNlcnZpY2VXb3Jr
ZXJKb2I6OmZhaWxlZFdpdGhFeGNlcHRpb24oY29uc3QgRXhjZXB0aW9uJiBleGNlcHRpb24pCiAg
ICAgbV9jbGllbnQtPmpvYkZhaWxlZFdpdGhFeGNlcHRpb24oKnRoaXMsIGV4Y2VwdGlvbik7CiB9
CiAKLXZvaWQgU2VydmljZVdvcmtlckpvYjo6cmVzb2x2ZWRXaXRoUmVnaXN0cmF0aW9uKGNvbnN0
IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhJiBkYXRhKQordm9pZCBTZXJ2aWNlV29ya2Vy
Sm9iOjpyZXNvbHZlZFdpdGhSZWdpc3RyYXRpb24oU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRh
dGEmJiBkYXRhKQogewogICAgIEFTU0VSVChjdXJyZW50VGhyZWFkKCkgPT0gbV9jcmVhdGlvblRo
cmVhZCk7CiAgICAgQVNTRVJUKCFtX2NvbXBsZXRlZCk7CiAKICAgICBtX2NvbXBsZXRlZCA9IHRy
dWU7Ci0gICAgbV9jbGllbnQtPmpvYlJlc29sdmVkV2l0aFJlZ2lzdHJhdGlvbigqdGhpcywgZGF0
YSk7CisgICAgbV9jbGllbnQtPmpvYlJlc29sdmVkV2l0aFJlZ2lzdHJhdGlvbigqdGhpcywgV1RG
TW92ZShkYXRhKSk7CiB9CiAKIHZvaWQgU2VydmljZVdvcmtlckpvYjo6c3RhcnRTY3JpcHRGZXRj
aCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdv
cmtlckpvYi5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJK
b2IuaAppbmRleCA3N2QyMTgzNWU4N2NiMGI5OTkxNjZlYTlhMmViNDFkOTEzZTQ2MzIxLi4wZWI3
YjkzMTUxY2JlNjhmZmQ5NGFjZWUxN2YzOTAwOWIzMDU0NjU0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckpvYi5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VySm9iLmgKQEAgLTU1LDcgKzU1LDcg
QEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIH5TZXJ2aWNlV29ya2VySm9iKCk7CiAKICAg
ICB2b2lkIGZhaWxlZFdpdGhFeGNlcHRpb24oY29uc3QgRXhjZXB0aW9uJik7Ci0gICAgdm9pZCBy
ZXNvbHZlZFdpdGhSZWdpc3RyYXRpb24oY29uc3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRh
dGEmKTsKKyAgICB2b2lkIHJlc29sdmVkV2l0aFJlZ2lzdHJhdGlvbihTZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uRGF0YSYmKTsKICAgICB2b2lkIHN0YXJ0U2NyaXB0RmV0Y2goKTsKIAogICAgIFNl
cnZpY2VXb3JrZXJKb2JEYXRhIGRhdGEoKSBjb25zdCB7IHJldHVybiBtX2pvYkRhdGE7IH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VySm9i
Q2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckpv
YkNsaWVudC5oCmluZGV4IGY5Y2YyMjZhOGZlNDdiMTI0ZjE4MGYzNTY5NjE3NTMwZGM0ZTRmY2Mu
LmUxMDdmZGJmZjFiYTkzMTc4N2MwMzI0MTc1MDViOTc5YmQ1MzZlNDYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VySm9iQ2xpZW50LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJKb2JDbGllbnQu
aApAQCAtNDAsNyArNDAsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB+U2VydmljZVdvcmtlckpv
YkNsaWVudCgpIHsgfTsKIAogICAgIHZpcnR1YWwgdm9pZCBqb2JGYWlsZWRXaXRoRXhjZXB0aW9u
KFNlcnZpY2VXb3JrZXJKb2ImLCBjb25zdCBFeGNlcHRpb24mKSA9IDA7Ci0gICAgdmlydHVhbCB2
b2lkIGpvYlJlc29sdmVkV2l0aFJlZ2lzdHJhdGlvbihTZXJ2aWNlV29ya2VySm9iJiwgY29uc3Qg
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEmKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGpv
YlJlc29sdmVkV2l0aFJlZ2lzdHJhdGlvbihTZXJ2aWNlV29ya2VySm9iJiwgU2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbkRhdGEmJikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBzdGFydFNjcmlwdEZl
dGNoRm9ySm9iKFNlcnZpY2VXb3JrZXJKb2ImKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGpvYkZp
bmlzaGVkTG9hZGluZ1NjcmlwdChTZXJ2aWNlV29ya2VySm9iJiwgY29uc3QgU3RyaW5nJikgPSAw
OwogICAgIHZpcnR1YWwgdm9pZCBqb2JGYWlsZWRMb2FkaW5nU2NyaXB0KFNlcnZpY2VXb3JrZXJK
b2ImLCBjb25zdCBSZXNvdXJjZUVycm9yJikgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uY3BwIGIvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uY3BwCmlu
ZGV4IDYwNjVjZTU0MWRmODc5OWVlNDBhMGRlMThkNTdkYjc1OWFiNWQ5NDYuLmNkYWU0Yjg3YjJi
MjYzYmIzZTdjYjM1OWZjZDI3YzY3ZTQwYjg2NTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5jcHAK
QEAgLTMwLDkgKzMwLDkgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1TZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQmIGNvbnRleHQsIGNvbnN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhJiByZWdp
c3RyYXRpb25EYXRhKQorU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6U2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uRGF0YSYmIHJlZ2lzdHJhdGlvbkRhdGEpCiAgICAgOiBBY3RpdmVET01PYmpl
Y3QoJmNvbnRleHQpCi0gICAgLCBtX3JlZ2lzdHJhdGlvbkRhdGEocmVnaXN0cmF0aW9uRGF0YSkK
KyAgICAsIG1fcmVnaXN0cmF0aW9uRGF0YShXVEZNb3ZlKHJlZ2lzdHJhdGlvbkRhdGEpKQogewog
ICAgIHN1c3BlbmRJZk5lZWRlZCgpOwogfQpAQCAtNTQsMjIgKzU0LDIyIEBAIFNlcnZpY2VXb3Jr
ZXIqIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb246OmFjdGl2ZSgpCiAKIGNvbnN0IFN0cmluZyYg
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6c2NvcGUoKSBjb25zdAogewotICAgIHJldHVybiBl
bXB0eVN0cmluZygpOworICAgIHJldHVybiBtX3JlZ2lzdHJhdGlvbkRhdGEuc2NvcGVVUkw7CiB9
CiAKLVNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb246OlVwZGF0ZVZpYUNhY2hlIFNlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb246OnVwZGF0ZVZpYUNhY2hlKCkgY29uc3QKK1NlcnZpY2VXb3JrZXJVcGRh
dGVWaWFDYWNoZSBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uOjp1cGRhdGVWaWFDYWNoZSgpIGNv
bnN0CiB7Ci0gICAgcmV0dXJuIFVwZGF0ZVZpYUNhY2hlOjpJbXBvcnRzOworICAgIHJldHVybiBt
X3JlZ2lzdHJhdGlvbkRhdGEudXBkYXRlVmlhQ2FjaGU7CiB9CiAKIHZvaWQgU2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbjo6dXBkYXRlKFJlZjxEZWZlcnJlZFByb21pc2U+JiYgcHJvbWlzZSkKIHsK
LSAgICBwcm9taXNlLT5yZWplY3QoRXhjZXB0aW9uKFVua25vd25FcnJvciwgQVNDSUlMaXRlcmFs
KCJTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uOjp1cGRhdGUgbm90IHlldCBpbXBsZW1lbnRlZCIp
KSk7CisgICAgcHJvbWlzZS0+cmVqZWN0KEV4Y2VwdGlvbihOb3RTdXBwb3J0ZWRFcnJvciwgQVND
SUlMaXRlcmFsKCJTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uOjp1cGRhdGUgbm90IHlldCBpbXBs
ZW1lbnRlZCIpKSk7CiB9CiAKIHZvaWQgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6dW5yZWdp
c3RlcihSZWY8RGVmZXJyZWRQcm9taXNlPiYmIHByb21pc2UpCiB7Ci0gICAgcHJvbWlzZS0+cmVq
ZWN0KEV4Y2VwdGlvbihVbmtub3duRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiU2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbjo6dW5yZWdpc3RlciBub3QgeWV0IGltcGxlbWVudGVkIikpKTsKKyAgICBwcm9t
aXNlLT5yZWplY3QoRXhjZXB0aW9uKE5vdFN1cHBvcnRlZEVycm9yLCBBU0NJSUxpdGVyYWwoIlNl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb246OnVucmVnaXN0ZXIgbm90IHlldCBpbXBsZW1lbnRlZCIp
KSk7CiB9CiAKIEV2ZW50VGFyZ2V0SW50ZXJmYWNlIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb246
OmV2ZW50VGFyZ2V0SW50ZXJmYWNlKCkgY29uc3QKQEAgLTc5LDcgKzc5LDE3IEBAIEV2ZW50VGFy
Z2V0SW50ZXJmYWNlIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb246OmV2ZW50VGFyZ2V0SW50ZXJm
YWNlKCkgY29uc3QKIAogU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogU2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbjo6c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG51
bGxwdHI7CisgICAgcmV0dXJuIEFjdGl2ZURPTU9iamVjdDo6c2NyaXB0RXhlY3V0aW9uQ29udGV4
dCgpOworfQorCitjb25zdCBjaGFyKiBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uOjphY3RpdmVE
T01PYmplY3ROYW1lKCkgY29uc3QKK3sKKyAgICByZXR1cm4gIlNlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb24iOworfQorCitib29sIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb246OmNhblN1c3BlbmRG
b3JEb2N1bWVudFN1c3BlbnNpb24oKSBjb25zdAoreworICAgIHJldHVybiAhaGFzUGVuZGluZ0Fj
dGl2aXR5KCk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmggYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5o
CmluZGV4IGVhNmIwNTMwMzkxY2ViYzZkZWIxNDlhN2YzN2E1ZTI4YjNiOTJiZjQuLmM0YzlkMmJm
NmI5MzJhNTNhYWNhMWNiNGNjNjg0YmNiZTlmNzIwMDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uaApA
QCAtMzksMTUgKzM5LDkgQEAgY2xhc3MgU2VydmljZVdvcmtlcjsKIAogY2xhc3MgU2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbiBmaW5hbCA6IHB1YmxpYyBSZWZDb3VudGVkPFNlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb24+LCBwdWJsaWMgRXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0YSwgcHVibGljIEFj
dGl2ZURPTU9iamVjdCB7CiBwdWJsaWM6Ci0gICAgZW51bSBjbGFzcyBVcGRhdGVWaWFDYWNoZSB7
Ci0gICAgICAgIEltcG9ydHMsCi0gICAgICAgIEFsbCwKLSAgICAgICAgTm9uZSwKLSAgICB9Owot
Ci0gICAgc3RhdGljIFJlZjxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uPiBjcmVhdGUoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgY29uc3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlv
bkRhdGEmIGRhdGEpCisgICAgc3RhdGljIFJlZjxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uPiBj
cmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgU2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbkRhdGEmJiBkYXRhKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcg
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbihjb250ZXh0LCBkYXRhKSk7CisgICAgICAgIHJldHVy
biBhZG9wdFJlZigqbmV3IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24oY29udGV4dCwgV1RGTW92
ZShkYXRhKSkpOwogICAgIH0KIAogICAgIHZpcnR1YWwgflNlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b24oKSA9IGRlZmF1bHQ7CkBAIC01Nyw3ICs1MSw3IEBAIHB1YmxpYzoKICAgICBTZXJ2aWNlV29y
a2VyKiBhY3RpdmUoKTsKIAogICAgIGNvbnN0IFN0cmluZyYgc2NvcGUoKSBjb25zdDsKLSAgICBV
cGRhdGVWaWFDYWNoZSB1cGRhdGVWaWFDYWNoZSgpIGNvbnN0OworICAgIFNlcnZpY2VXb3JrZXJV
cGRhdGVWaWFDYWNoZSB1cGRhdGVWaWFDYWNoZSgpIGNvbnN0OwogCiAgICAgdm9pZCB1cGRhdGUo
UmVmPERlZmVycmVkUHJvbWlzZT4mJik7CiAgICAgdm9pZCB1bnJlZ2lzdGVyKFJlZjxEZWZlcnJl
ZFByb21pc2U+JiYpOwpAQCAtNjYsMTUgKzYwLDE1IEBAIHB1YmxpYzoKICAgICB1c2luZyBSZWZD
b3VudGVkOjpkZXJlZjsKIAogcHJpdmF0ZToKLSAgICBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBjb25zdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
RGF0YSYpOworICAgIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24oU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCYsIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhJiYpOwogCiAgICAgdmlydHVhbCBF
dmVudFRhcmdldEludGVyZmFjZSBldmVudFRhcmdldEludGVyZmFjZSgpIGNvbnN0OwogICAgIHZp
cnR1YWwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpIGNv
bnN0OwogICAgIHZvaWQgcmVmRXZlbnRUYXJnZXQoKSBmaW5hbCB7IHJlZigpOyB9CiAgICAgdm9p
ZCBkZXJlZkV2ZW50VGFyZ2V0KCkgZmluYWwgeyBkZXJlZigpOyB9CiAKLSAgICBjb25zdCBjaGFy
KiBhY3RpdmVET01PYmplY3ROYW1lKCkgY29uc3QgeyByZXR1cm4gIlNlcnZpY2VXb3JrZXJSZWdp
c3RyYXRpb24iOyB9Ci0gICAgYm9vbCBjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkg
Y29uc3QgeyByZXR1cm4gZmFsc2U7IH0KKyAgICBjb25zdCBjaGFyKiBhY3RpdmVET01PYmplY3RO
YW1lKCkgY29uc3Q7CisgICAgYm9vbCBjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkg
Y29uc3Q7CiAKICAgICBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YSBtX3JlZ2lzdHJhdGlv
bkRhdGE7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1Nl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uaWRsIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2
aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uaWRsCmluZGV4IDMyZTZkY2I3YTdjZWI5NDJl
YTFiZTM5NDdkZGU5ZDUyYmExYmNjZjQuLjA0NjRjOWZhMDE2MGMyNmZlMGZlOGUyM2EyOGUxYWEx
YzYyYmE5YzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3Nl
cnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5pZGwKQEAgLTQ1LDkgKzQ1LDMgQEAKICAg
ICAvLyBldmVudAogICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb251cGRhdGVmb3VuZDsKIH07
Ci0KLWVudW0gU2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlIHsKLSAgICAiaW1wb3J0cyIsCi0g
ICAgImFsbCIsCi0gICAgIm5vbmUiCi19OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YS5jcHAK
aW5kZXggMWFmMmI5ZDZlNjVjZTZlMWRkMDk3ZTFhYWVmNjQ3NGI0NTExNDI0Yy4uOTFkMzgxZTYy
N2VkMWY3OGY5MjMyN2E2NjEwZTU1ZmY4M2VmMDQ2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlv
bkRhdGEuY3BwCkBAIC0zMiwxMCArMzIsMTIgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YSBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YTo6
aXNvbGF0ZWRDb3B5KCkgY29uc3QKIHsKLSAgICBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0
YSByZXN1bHQ7Ci0gICAgcmVzdWx0LmtleSA9IGtleS5pc29sYXRlZENvcHkoKTsKLSAgICByZXN1
bHQuaWRlbnRpZmllciA9IGlkZW50aWZpZXI7Ci0gICAgcmV0dXJuIHJlc3VsdDsKKyAgICByZXR1
cm4geworICAgICAgICBrZXkuaXNvbGF0ZWRDb3B5KCksCisgICAgICAgIGlkZW50aWZpZXIsCisg
ICAgICAgIHNjb3BlVVJMLmlzb2xhdGVkQ29weSgpLAorICAgICAgICB1cGRhdGVWaWFDYWNoZQor
ICAgIH07CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdURgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhLmggYi9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEu
aAppbmRleCA4NTg1MGFhMjAyYTgyMzZiYmYxOGY5M2E2YjM4NmQ0ZDE4NmViMDc3Li4wNmNmNjky
MTVkZDc1YzJlYjdjNGFiM2VjYmI1MTExYTA5NTZiMGM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlv
bkRhdGEuaApAQCAtMzEsOSArMzEsMTMgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitlbnVt
IGNsYXNzIFNlcnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNoZTsKKwogc3RydWN0IFNlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb25EYXRhIHsKICAgICBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5IGtl
eTsKICAgICB1aW50NjRfdCBpZGVudGlmaWVyOworICAgIFVSTCBzY29wZVVSTDsKKyAgICBTZXJ2
aWNlV29ya2VyVXBkYXRlVmlhQ2FjaGUgdXBkYXRlVmlhQ2FjaGU7CiAKICAgICBTZXJ2aWNlV29y
a2VyUmVnaXN0cmF0aW9uRGF0YSBpc29sYXRlZENvcHkoKSBjb25zdDsKIApAQCAtNDUsNyArNDks
NyBAQCBzdHJ1Y3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEgewogdGVtcGxhdGU8Y2xh
c3MgRW5jb2Rlcj4KIHZvaWQgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGE6OmVuY29kZShF
bmNvZGVyJiBlbmNvZGVyKSBjb25zdAogewotICAgIGVuY29kZXIgPDwga2V5IDw8IGlkZW50aWZp
ZXI7CisgICAgZW5jb2RlciA8PCBrZXkgPDwgaWRlbnRpZmllciA8PCBzY29wZVVSTCA8PCB1cGRh
dGVWaWFDYWNoZTsKIH0KIAogdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4KQEAgLTYwLDggKzY0LDE4
IEBAIHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGE+IFNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb25EYXRhOjpkZWNvCiAgICAgZGVjb2RlciA+PiBpZGVudGlmaWVyOwog
ICAgIGlmICghaWRlbnRpZmllcikKICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKLSAgICAK
LSAgICByZXR1cm4ge3sgV1RGTW92ZSgqa2V5KSwgV1RGTW92ZSgqaWRlbnRpZmllcikgfX07CisK
KyAgICBzdGQ6Om9wdGlvbmFsPFVSTD4gc2NvcGVVUkw7CisgICAgZGVjb2RlciA+PiBzY29wZVVS
TDsKKyAgICBpZiAoIXNjb3BlVVJMKQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworCisg
ICAgc3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2VyVXBkYXRlVmlhQ2FjaGU+IHVwZGF0ZVZpYUNh
Y2hlOworICAgIGRlY29kZXIgPj4gdXBkYXRlVmlhQ2FjaGU7CisgICAgaWYgKCF1cGRhdGVWaWFD
YWNoZSkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHJldHVybiB7eyBXVEZN
b3ZlKCprZXkpLCBXVEZNb3ZlKCppZGVudGlmaWVyKSwgV1RGTW92ZSgqc2NvcGVVUkwpLCBXVEZN
b3ZlKCp1cGRhdGVWaWFDYWNoZSkgfX07CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdURgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV0NsaWVudENvbm5l
Y3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV0NsaWVu
dENvbm5lY3Rpb24uY3BwCmluZGV4IDBiYzQ5MDJhYWU5YWZhNzAyYTIwZTM5ZDcxOGEwOTM4OTE1
YmExMWQuLjUyMWUwZWIzYjMzNGEwNDYyZDkzMmZiN2UyMTkxMDMwNjZiYTJiMjMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dDbGllbnRDb25uZWN0
aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXQ2xp
ZW50Q29ubmVjdGlvbi5jcHAKQEAgLTc1LDcgKzc1LDcgQEAgdm9pZCBTV0NsaWVudENvbm5lY3Rp
b246OmpvYlJlamVjdGVkSW5TZXJ2ZXIodWludDY0X3Qgam9iSWRlbnRpZmllciwgY29uc3QgRXhj
ZXAKICAgICBqb2ItPmZhaWxlZFdpdGhFeGNlcHRpb24oZXhjZXB0aW9uRGF0YS50b0V4Y2VwdGlv
bigpKTsKIH0KIAotdm9pZCBTV0NsaWVudENvbm5lY3Rpb246OmpvYlJlc29sdmVkSW5TZXJ2ZXIo
dWludDY0X3Qgam9iSWRlbnRpZmllciwgY29uc3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRh
dGEmIHJlZ2lzdHJhdGlvbkRhdGEpCit2b2lkIFNXQ2xpZW50Q29ubmVjdGlvbjo6am9iUmVzb2x2
ZWRJblNlcnZlcih1aW50NjRfdCBqb2JJZGVudGlmaWVyLCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uRGF0YSYmIHJlZ2lzdHJhdGlvbkRhdGEpCiB7CiAgICAgYXV0byBqb2IgPSBtX3NjaGVkdWxl
ZEpvYnMudGFrZShqb2JJZGVudGlmaWVyKTsKICAgICBpZiAoIWpvYikgewpAQCAtODMsNyArODMs
NyBAQCB2b2lkIFNXQ2xpZW50Q29ubmVjdGlvbjo6am9iUmVzb2x2ZWRJblNlcnZlcih1aW50NjRf
dCBqb2JJZGVudGlmaWVyLCBjb25zdCBTZXJ2aQogICAgICAgICByZXR1cm47CiAgICAgfQogCi0g
ICAgam9iLT5yZXNvbHZlZFdpdGhSZWdpc3RyYXRpb24ocmVnaXN0cmF0aW9uRGF0YSk7CisgICAg
am9iLT5yZXNvbHZlZFdpdGhSZWdpc3RyYXRpb24oV1RGTW92ZShyZWdpc3RyYXRpb25EYXRhKSk7
CiB9CiAKIHZvaWQgU1dDbGllbnRDb25uZWN0aW9uOjpzdGFydFNjcmlwdEZldGNoRm9yU2VydmVy
KHVpbnQ2NF90IGpvYklkZW50aWZpZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2Uvc2VydmVyL1NXQ2xpZW50Q29ubmVjdGlvbi5oIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV0NsaWVudENvbm5lY3Rpb24uaAppbmRleCBkY2FkZDAy
ODYzYjY3MWM5OWUzZDU2NzVmZjEwNjIxYmE3OTVhOGMzLi45YzhhMTcwZjEyZDFmN2Q3ZjdmMWU1
YmRlMmFlYjM3MTM4M2MwNWMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3Nl
cnZpY2Uvc2VydmVyL1NXQ2xpZW50Q29ubmVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dDbGllbnRDb25uZWN0aW9uLmgKQEAgLTU0LDcgKzU0LDcg
QEAgcHVibGljOgogCiBwcm90ZWN0ZWQ6CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBqb2JSZWpl
Y3RlZEluU2VydmVyKHVpbnQ2NF90IGpvYklkZW50aWZpZXIsIGNvbnN0IEV4Y2VwdGlvbkRhdGEm
KTsKLSAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGpvYlJlc29sdmVkSW5TZXJ2ZXIodWludDY0X3Qg
am9iSWRlbnRpZmllciwgY29uc3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEmKTsKKyAg
ICBXRUJDT1JFX0VYUE9SVCB2b2lkIGpvYlJlc29sdmVkSW5TZXJ2ZXIodWludDY0X3Qgam9iSWRl
bnRpZmllciwgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEmJik7CiAgICAgV0VCQ09SRV9F
WFBPUlQgdm9pZCBzdGFydFNjcmlwdEZldGNoRm9yU2VydmVyKHVpbnQ2NF90IGpvYklkZW50aWZp
ZXIpOwogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2
aWNlL3NlcnZlci9TV1NlcnZlclJlZ2lzdHJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyUmVnaXN0cmF0aW9uLmNwcAppbmRleCAwZWM3ODdl
OWUzNzAzYmZlNzEyOTRmYTQxOTFkOWI1ZTY3NjVkZWE0Li4wZDIxNzhlN2M0YzAwZTcwOGFmZTUx
NTg1OTQyODI0ZDQzZTI3NWQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3Nl
cnZpY2Uvc2VydmVyL1NXU2VydmVyUmVnaXN0cmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyUmVnaXN0cmF0aW9uLmNwcApAQCAtMzQs
NiArMzQsNyBAQAogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVkZSAiU2Vydmlj
ZVdvcmtlckZldGNoUmVzdWx0LmgiCiAjaW5jbHVkZSAiU2VydmljZVdvcmtlclJlZ2lzdHJhdGlv
bkRhdGEuaCIKKyNpbmNsdWRlICJTZXJ2aWNlV29ya2VyVXBkYXRlVmlhQ2FjaGUuaCIKICNpbmNs
dWRlICJXb3JrZXJUeXBlLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTk2LDggKzk3LDcg
QEAgdm9pZCBTV1NlcnZlclJlZ2lzdHJhdGlvbjo6c2NyaXB0Q29udGV4dEZhaWxlZFRvU3RhcnQo
U1dTZXJ2ZXI6OkNvbm5lY3Rpb24mLCBjb24KIHZvaWQgU1dTZXJ2ZXJSZWdpc3RyYXRpb246OnNj
cmlwdENvbnRleHRTdGFydGVkKFNXU2VydmVyOjpDb25uZWN0aW9uJiwgdWludDY0X3QgaWRlbnRp
ZmllciwgY29uc3QgU3RyaW5nJiB3b3JrZXJJRCkKIHsKICAgICBVTlVTRURfUEFSQU0od29ya2Vy
SUQpOwotCi0gICAgcmVzb2x2ZUN1cnJlbnRKb2IoU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRh
dGEgeyBtX3JlZ2lzdHJhdGlvbktleSwgaWRlbnRpZmllciB9KTsKKyAgICByZXNvbHZlQ3VycmVu
dEpvYihTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YSB7IG1fcmVnaXN0cmF0aW9uS2V5LCBp
ZGVudGlmaWVyLCBtX3Njb3BlVVJMLCBtX3VwZGF0ZVZpYUNhY2hlLnZhbHVlX29yKFNlcnZpY2VX
b3JrZXJVcGRhdGVWaWFDYWNoZTo6SW1wb3J0cykgfSk7CiB9CiAKIHZvaWQgU1dTZXJ2ZXJSZWdp
c3RyYXRpb246OnN0YXJ0TmV4dEpvYigpCkBAIC0yNDksNyArMjQ5LDcgQEAgdm9pZCBTV1NlcnZl
clJlZ2lzdHJhdGlvbjo6ZmluaXNoQ3VycmVudEpvYigpCiAKIFNlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb25EYXRhIFNXU2VydmVyUmVnaXN0cmF0aW9uOjpkYXRhKCkgY29uc3QKIHsKLSAgICByZXR1
cm4geyBtX3JlZ2lzdHJhdGlvbktleSwgaWRlbnRpZmllcigpIH07CisgICAgcmV0dXJuIHsgbV9y
ZWdpc3RyYXRpb25LZXksIGlkZW50aWZpZXIoKSwgbV9zY29wZVVSTCwgbV91cGRhdGVWaWFDYWNo
ZS52YWx1ZV9vcihTZXJ2aWNlV29ya2VyVXBkYXRlVmlhQ2FjaGU6OkltcG9ydHMpIH07CiB9CiAK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJz
LmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaAppbmRleCA0
YWMwMWRhZDM5MzVlMTZhZGY0YjE1NDAzNjc1MGYyNDlhNWRkYzYwLi41NDI0MTRmYTc0N2I3MTBm
MTViMzQ3NTA5MjM4MzJjNWUwNzJhMGM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJD
b3JlQXJndW1lbnRDb2RlcnMuaApAQCAtMzksNiArMzksNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUv
UGF5bWVudEhlYWRlcnMuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1JlYWx0aW1lTWVkaWFTb3VyY2Uu
aD4KICNpbmNsdWRlIDxXZWJDb3JlL1Njcm9sbFNuYXBPZmZzZXRzSW5mby5oPgorI2luY2x1ZGUg
PFdlYkNvcmUvU2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlLmg+CiAjaW5jbHVkZSA8V2ViQ29y
ZS9TdG9yZWRDcmVkZW50aWFsc1BvbGljeS5oPgogCiBuYW1lc3BhY2UgV1RGIHsKQEAgLTc4NCw0
ICs3ODUsMTMgQEAgdGVtcGxhdGUgPD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6U3RvcmVk
Q3JlZGVudGlhbHNQb2xpY3k+IHsKICAgICA+OwogfTsKIAordGVtcGxhdGUgPD4gc3RydWN0IEVu
dW1UcmFpdHM8V2ViQ29yZTo6U2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlPiB7CisgICAgdXNp
bmcgdmFsdWVzID0gRW51bVZhbHVlczwKKyAgICAgICAgV2ViQ29yZTo6U2VydmljZVdvcmtlclVw
ZGF0ZVZpYUNhY2hlLAorICAgICAgICBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyVXBkYXRlVmlhQ2Fj
aGU6OkltcG9ydHMsCisgICAgICAgIFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNo
ZTo6QWxsLAorICAgICAgICBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyVXBkYXRlVmlhQ2FjaGU6Ok5v
bmUKKyAgICA+OworfTsKKwogfSAvLyBuYW1lc3BhY2UgV1RGCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9u
LmNwcCBiL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1Nl
cnZlckNvbm5lY3Rpb24uY3BwCmluZGV4IDcyOTdmNGI1M2U4NzU3ZDk2MzYyZDg5ZGQ2YzY2OTUy
YWQ1NjA5OWUuLjY5OTU4ZmZiMGU4OGYzZmQ5MDA0MDJkZjQ1MDczZTVjMGQzMjk0OTEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1Nl
cnZlckNvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU2Vy
dmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uY3BwCkBAIC0zMiw2ICszMiw3IEBACiAj
aW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIlN0b3JhZ2VQcm9jZXNzLmgiCiAjaW5jbHVk
ZSAiU3RvcmFnZVRvV2ViUHJvY2Vzc0Nvbm5lY3Rpb25NZXNzYWdlcy5oIgorI2luY2x1ZGUgIldl
YkNvcmVBcmd1bWVudENvZGVycy5oIgogI2luY2x1ZGUgIldlYlByb2Nlc3MuaCIKICNpbmNsdWRl
ICJXZWJQcm9jZXNzTWVzc2FnZXMuaCIKICNpbmNsdWRlICJXZWJTV0NsaWVudENvbm5lY3Rpb25N
ZXNzYWdlcy5oIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCmluZGV4IDcyZmFkZGVkMzNhNmU2NzU1ZGIyMDVjNjRhNzM1ZTk0YWVlNDRm
NjQuLjMwMTNlNjgzYjE1OWM3YWU3NzcyZmMyOWM2MDM2MTA5YTc3NTQyODcgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNiBAQAorMjAxNy0xMC0xOCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgor
CisgICAgICAgIEltcGxlbWVudCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLnNjb3BlIC8gdXBk
YXRlVmlhQ2FjaGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE3ODQ5NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEV4dGVuZCBsYXlvdXQgdGVzdCBjb3ZlcmFnZS4KKworICAgICAgICAqIGh0dHAvdGVzdHMv
d29ya2Vycy9zZXJ2aWNlL2Jhc2ljLXJlZ2lzdGVyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9yZXNvdXJjZXMvYmFzaWMtcmVnaXN0ZXIuanM6Cisg
ICAgICAgICh0aGVuKToKKwogMjAxNy0xMC0xNyAgRGVhbiBKYWNrc29uICA8ZGlub0BhcHBsZS5j
b20+CiAKICAgICAgICAgTWFrZSBmYWlsaW5nIFdlYkdMIHRlc3RzIHByb2R1Y2UgZGVidWcgb3V0
cHV0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9i
YXNpYy1yZWdpc3Rlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dvcmtl
cnMvc2VydmljZS9iYXNpYy1yZWdpc3Rlci1leHBlY3RlZC50eHQKaW5kZXggMDNjYjNjZjg5MTYw
NmU4NWUxZDY5NjE1M2E0ZGJjOTE0MzMxZDg0MC4uMGQ1NGI1ZDgyOTM2MDk0YzFkOWFiZmM3Mjky
MjViODMyYjM3NGRhYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJz
L3NlcnZpY2UvYmFzaWMtcmVnaXN0ZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL2Jhc2ljLXJlZ2lzdGVyLWV4cGVjdGVkLnR4dApAQCAt
MSw2ICsxLDggQEAKIFBBU1M6IE5vIHNlcnZpY2Ugd29ya2VyIGlzIGluaXRpYWxseSByZWdpc3Rl
cmVkIGZvciB0aGlzIG9yaWdpbgogUEFTUzogTm8gc2VydmljZSB3b3JrZXIgaXMgaW5pdGlhbGx5
IHJlZ2lzdGVyZWQgZm9yIHRoaXMgb3JpZ2luIGluIHByaXZhdGUgc2Vzc2lvbgogUmVnaXN0ZXJl
ZCEKK1BBU1M6IHJlZ2lzdHJhdGlvbiBvYmplY3QncyBzY29wZSBpcyB2YWxpZAorUEFTUzogcmVn
aXN0cmF0aW9uIG9iamVjdCdzIHVwZGF0ZVZpYUNhY2hlIGlzIHZhbGlkCiBQQVNTOiBBIHNlcnZp
Y2Ugd29ya2VyIGlzIG5vdyByZWdpc3RlcmVkIGZvciB0aGlzIG9yaWdpbgogUEFTUzogTm8gc2Vy
dmljZSB3b3JrZXIgaXMgcmVnaXN0ZXJlZCBmb3IgdGhpcyBvcmlnaW4gaW4gcHJpdmF0ZSBzZXNz
aW9uCiBSZWdpc3RlcmVkIQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93b3Jr
ZXJzL3NlcnZpY2UvcmVzb3VyY2VzL2Jhc2ljLXJlZ2lzdGVyLmpzIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvcmVzb3VyY2VzL2Jhc2ljLXJlZ2lzdGVyLmpzCmluZGV4
IGUyYTY4Y2U0MmM4ZjRkYThlYjNlZjg1Y2M5ZDE4MmZlODJjMTc1NzEuLmRkM2Q5MzA4ZGM0MzAz
ZWI3YzNmODhiNDFjMjE2MzQ3ZTk5YjI2ZmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvd29ya2Vycy9zZXJ2aWNlL3Jlc291cmNlcy9iYXNpYy1yZWdpc3Rlci5qcworKysgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9yZXNvdXJjZXMvYmFzaWMtcmVn
aXN0ZXIuanMKQEAgLTMwLDEwICszMCwyMCBAQCBlbHNlCiAKIHRlc3RSdW5uZXIuc2V0UHJpdmF0
ZUJyb3dzaW5nRW5hYmxlZChmYWxzZSk7CiAKLW5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLnJlZ2lz
dGVyKCJyZXNvdXJjZXMvZW1wdHktd29ya2VyLmpzIiwgeyB9KQorbmF2aWdhdG9yLnNlcnZpY2VX
b3JrZXIucmVnaXN0ZXIoInJlc291cmNlcy9lbXB0eS13b3JrZXIuanMiLCB7IHNjb3BlOiAiL3Rl
c3QiLCB1cGRhdGVWaWFDYWNoZTogIm5vbmUiIH0pCiAudGhlbihmdW5jdGlvbihyKSB7CiAJbG9n
KCJSZWdpc3RlcmVkISIpOwogCisgICAgICAgIGlmIChyLnNjb3BlID09ICJodHRwOi8vMTI3LjAu
MC4xOjgwMDAvdGVzdCIpCisgICAgICAgICAgIGxvZygiUEFTUzogcmVnaXN0cmF0aW9uIG9iamVj
dCdzIHNjb3BlIGlzIHZhbGlkIik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgbG9nKCJGQUlM
OiByZWdpc3RyYXRpb24gb2JqZWN0J3Mgc2NvcGUgaXMgaW52YWxpZCwgZ290OiAiICsgci5zY29w
ZSk7CisKKyAgICAgICAgaWYgKHIudXBkYXRlVmlhQ2FjaGUgPT0gIm5vbmUiKQorICAgICAgICAg
ICBsb2coIlBBU1M6IHJlZ2lzdHJhdGlvbiBvYmplY3QncyB1cGRhdGVWaWFDYWNoZSBpcyB2YWxp
ZCIpOworICAgICAgICBlbHNlCisgICAgICAgICAgIGxvZygiRkFJTDogcmVnaXN0cmF0aW9uIG9i
amVjdCdzIHVwZGF0ZVZpYUNhY2hlIGlzIGludmFsaWQsIGdvdDogIiArIHIudXBkYXRlVmlhQ2Fj
aGUpOworCiAgICAgICAgIGlmIChpbnRlcm5hbHMuaGFzU2VydmljZVdvcmtlclJlZ2lzdGVyZWRG
b3JPcmlnaW4oc2VsZi5vcmlnaW4pKQogICAgICAgICAgICAgbG9nKCJQQVNTOiBBIHNlcnZpY2Ug
d29ya2VyIGlzIG5vdyByZWdpc3RlcmVkIGZvciB0aGlzIG9yaWdpbiIpOwogICAgICAgICBlbHNl
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>324196</attachid>
            <date>2017-10-18 19:02:36 -0700</date>
            <delta_ts>2017-10-18 19:56:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-178497-20171018190235.patch</filename>
            <type>text/plain</type>
            <size>26511</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIzNjM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGI4NTRiZjI4NGRlOTY5
ZmU1MmMxYzhiMTk0NjkxMjU3YjA3Y2Y2OC4uM2VlNWFiYjA2MDQyZGEyOTEyYThlZDVmODE1ZGQ5
Y2VlMWRiMDcwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQ3IEBACiAyMDE3LTEwLTE4ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKKyAgICAgICAgSW1wbGVtZW50IFNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb24uc2NvcGUgLyB1cGRhdGVWaWFDYWNoZQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4NDk3CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgWW91ZW5uIEZhYmxldC4KKworICAgICAgICBJbXBsZW1lbnQgU2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbi5zY29wZSAvIHVwZGF0ZVZpYUNhY2hlLgorCisgICAgICAgIE5vIG5ldyB0ZXN0
cywgdXBkYXRlZCBleGlzdGluZyB0ZXN0LgorCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2Vy
Q29udGFpbmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDb250YWluZXI6
OmpvYlJlc29sdmVkV2l0aFJlZ2lzdHJhdGlvbik6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNl
L1NlcnZpY2VXb3JrZXJDb250YWluZXIuaDoKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2Vy
dmljZVdvcmtlckpvYi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2VySm9iOjpy
ZXNvbHZlZFdpdGhSZWdpc3RyYXRpb24pOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2
aWNlV29ya2VySm9iLmg6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJK
b2JDbGllbnQuaDoKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
OjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb246OnNjb3BlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb246OnVwZGF0ZVZpYUNhY2hlIGNvbnN0KToKKyAgICAgICAgKFdl
YkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb246OnVwZGF0ZSk6CisgICAgICAgIChXZWJD
b3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uOjp1bnJlZ2lzdGVyKToKKyAgICAgICAgKFdl
YkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb246OnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6YWN0
aXZlRE9NT2JqZWN0TmFtZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uOjpjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uIGNvbnN0KToKKyAg
ICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5oOgorICAg
ICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmlkbDoKKyAg
ICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGE6Omlzb2xh
dGVkQ29weSBjb25zdCk6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb25EYXRhLmg6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uRGF0YTo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb25EYXRhOjpkZWNvZGUpOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9z
ZXJ2ZXIvU1dDbGllbnRDb25uZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNXQ2xpZW50
Q29ubmVjdGlvbjo6am9iUmVzb2x2ZWRJblNlcnZlcik6CisgICAgICAgICogd29ya2Vycy9zZXJ2
aWNlL3NlcnZlci9TV0NsaWVudENvbm5lY3Rpb24uaDoKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZp
Y2Uvc2VydmVyL1NXU2VydmVyUmVnaXN0cmF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNX
U2VydmVyUmVnaXN0cmF0aW9uOjpzY3JpcHRDb250ZXh0U3RhcnRlZCk6CisgICAgICAgIChXZWJD
b3JlOjpTV1NlcnZlclJlZ2lzdHJhdGlvbjo6ZGF0YSBjb25zdCk6CisKKzIwMTctMTAtMTggIENo
cmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKwogICAgICAgICBbU2VydmljZSBXb3JrZXJd
IEFkZCBzdHVicyBmb3IgQ2xpZW50IC8gV2luZG93Q2xpZW50IC8gQ2xpZW50cwogICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4NDY5CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5k
ZXggYTkzM2ZhMjI2ZjBmNzlkN2NmMDk5NzQ2M2NlOTY3NThmZjlhYTAwMS4uODU2OTI1ODRhMjU0
MTVmZjUzYTY3Mzc0MDlhZDllNDQ1MmJkZTcwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsNSArMSwxNSBAQAog
MjAxNy0xMC0xOCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCisgICAgICAgIElt
cGxlbWVudCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLnNjb3BlIC8gdXBkYXRlVmlhQ2FjaGUK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODQ5Nwor
CisgICAgICAgIFJldmlld2VkIGJ5IFlvdWVubiBGYWJsZXQuCisKKyAgICAgICAgKiBTaGFyZWQv
V2ViQ29yZUFyZ3VtZW50Q29kZXJzLmg6CisgICAgICAgICogU3RvcmFnZVByb2Nlc3MvU2Vydmlj
ZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uY3BwOgorCisyMDE3LTEwLTE4ICBDaHJpcyBE
dW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKICAgICAgICAgW1NlcnZpY2UgV29ya2VyXSBBZGQg
c3R1YnMgZm9yIENsaWVudCAvIFdpbmRvd0NsaWVudCAvIENsaWVudHMKICAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODQ2OQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZjEzNWQxYjFm
M2ZhNjgyN2EwZDRhNTI4MGFmYjljODBiOTMyNjljNS4uYmRmMzI0YjUyYWNkOTc4YTI0MmEwZjk2
ZDYwZjM1ODA3NzZjNzY5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjQ5Myw3ICsyNDkzLDcgQEAKIAkJNTFGMTc1NjcxRjNF
QkM4MzAwQzc0OTUwIC8qIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFGMTc1NEQxRjNFQkMwQzAwQzc0
OTUwIC8qIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uY3BwICovOyB9OwogCQk1MUYxNzU2ODFG
M0VCQzgzMDBDNzQ5NTAgLyogU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFGMTc1NEMxRjNFQkMwQzAwQzc0
OTUwIC8qIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uaCAqLzsgfTsKIAkJNTFGMTc1NjkxRjNF
QkM4MzAwQzc0OTUwIC8qIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25PcHRpb25zLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUYxNzU0QTFGM0VCQzBD
MDBDNzQ5NTAgLyogU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbk9wdGlvbnMuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQk1MUYxNzU2QzFGM0VCQzgz
MDBDNzQ5NTAgLyogU2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUYxNzU0NzFGM0VCQzBDMDBDNzQ5NTAg
LyogU2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlLmggKi87IH07CisJCTUxRjE3NTZDMUYzRUJD
ODMwMEM3NDk1MCAvKiBTZXJ2aWNlV29ya2VyVXBkYXRlVmlhQ2FjaGUuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRjE3NTQ3MUYzRUJDMEMwMEM3NDk1
MCAvKiBTZXJ2aWNlV29ya2VyVXBkYXRlVmlhQ2FjaGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1MUY2NDU2MjFGNDUzOThGMDBCNTRERUQgLyog
RXhjZXB0aW9uRGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNTFGNjQ1NjAxRjQ1Mzk4QjAwQjU0REVEIC8qIEV4Y2VwdGlvbkRhdGEuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1MUY2NDU2OTFGNDUz
OUI5MDBCNTRERUQgLyogU2VydmljZVdvcmtlckpvYkRhdGEuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRjY0NTY2MUY0NTM5OUYwMEI1NERFRCAvKiBT
ZXJ2aWNlV29ya2VySm9iRGF0YS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCTUxRjY0NTZBMUY0NTM5QzAwMEI1NERFRCAvKiBTZXJ2aWNlV29ya2Vy
Sm9iVHlwZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NTFGNjQ1NjUxRjQ1Mzk5RjAwQjU0REVEIC8qIFNlcnZpY2VXb3JrZXJKb2JUeXBlLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTMyNzE1LDkgKzMy
NzE1LDggQEAKIAkJCQkwRjQ5NjZBQTFEQjQwQzQzMDBBMjc0QkIgLyogSlNET01Qb2ludC5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQkwRjQ5NjZBQzFEQjQwQzQzMDBBMjc0QkIgLyogSlNET01Qb2lu
dEluaXQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEY0OTY2QUUxREI0MEM0MzAwQTI3NEJCIC8q
IEpTRE9NUG9pbnRSZWFkT25seS5jcHAgaW4gU291cmNlcyAqLywKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgNDFBRjM3OUQxRjhEQjFCNTAwMTExQzMxIC8qIEpTRE9NUHJvbWlzZS5j
cHAgaW4gU291cmNlcyAqLywKLQkJCQlFMTcyQUY4RjE4MTFCQzM3MDBGQkFEQjkgLyogSlNET01Q
cm9taXNlRGVmZXJyZWQuY3BwIGluIFNvdXJjZXMgKi8sCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDBGRjNCOTI4MUVFM0I2REUwMEI4NDE0NCAvKiBKU0RPTVF1YWQuY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJNDFBRjM3OUQxRjhEQjFCNTAwMTExQzMxIC8qIEpTRE9NUHJvbWlzZS5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQkwRkYzQjkyODFFRTNCNkRFMDBCODQxNDQgLyogSlNET01R
dWFkLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGRjNCOTJBMUVFM0I2REUwMEI4NDE0NCAvKiBK
U0RPTVF1YWRJbml0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGNDcxMEJCMURCNTZCRTgwMDJE
Q0VDMyAvKiBKU0RPTVJlY3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEY0NzEwQkQxREI1NkJF
ODAwMkRDRUMzIC8qIEpTRE9NUmVjdEluaXQuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5l
ci5jcHAKaW5kZXggZDMwZGM1N2E2ZDhkYjA0MDE4MTk3ZTg2MjFmNmNhMjkxODgxOGRjOS4uMjE4
YTY0YWRjMWY3MTQ5NjU5MTllMWUwMWY4MGU2ZjE1N2I2NDE0MCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmNw
cApAQCAtMTY3LDcgKzE2Nyw3IEBAIHZvaWQgU2VydmljZVdvcmtlckNvbnRhaW5lcjo6am9iRmFp
bGVkV2l0aEV4Y2VwdGlvbihTZXJ2aWNlV29ya2VySm9iJiBqb2IsIGNvbnN0CiAgICAgam9iRGlk
RmluaXNoKGpvYik7CiB9CiAKLXZvaWQgU2VydmljZVdvcmtlckNvbnRhaW5lcjo6am9iUmVzb2x2
ZWRXaXRoUmVnaXN0cmF0aW9uKFNlcnZpY2VXb3JrZXJKb2ImIGpvYiwgY29uc3QgU2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbkRhdGEmIGRhdGEpCit2b2lkIFNlcnZpY2VXb3JrZXJDb250YWluZXI6
OmpvYlJlc29sdmVkV2l0aFJlZ2lzdHJhdGlvbihTZXJ2aWNlV29ya2VySm9iJiBqb2IsIFNlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhJiYgZGF0YSkKIHsKICAgICBTY29wZUd1YXJkIGd1YXJk
KFt0aGlzLCAmam9iXSB7CiAgICAgICAgIGpvYkRpZEZpbmlzaChqb2IpOwpAQCAtMTc5LDcgKzE3
OSw3IEBAIHZvaWQgU2VydmljZVdvcmtlckNvbnRhaW5lcjo6am9iUmVzb2x2ZWRXaXRoUmVnaXN0
cmF0aW9uKFNlcnZpY2VXb3JrZXJKb2ImIGpvYiwKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAot
ICAgIGF1dG8gcmVnaXN0cmF0aW9uID0gU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6Y3JlYXRl
KCpjb250ZXh0LCBkYXRhKTsKKyAgICBhdXRvIHJlZ2lzdHJhdGlvbiA9IFNlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb246OmNyZWF0ZSgqY29udGV4dCwgV1RGTW92ZShkYXRhKSk7CiAgICAgam9iLnBy
b21pc2UoKS5yZXNvbHZlPElETEludGVyZmFjZTxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uPj4o
cmVnaXN0cmF0aW9uLmdldCgpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmgKaW5kZXggZmY0Yzc4ZDUxYjU0
ZTc3MWUxNDcwNzU4M2Q1YTEzMTBhNDNhMzIyOC4uMTVmNTZkMWZlZTI0NDU0NTc1YWFhMzhjZmNj
MTgwMDFmYzQ1MjI2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L1NlcnZpY2VXb3JrZXJDb250YWluZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3Nl
cnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5oCkBAIC03Miw3ICs3Miw3IEBAIHByaXZhdGU6
CiAgICAgdm9pZCBzY2hlZHVsZUpvYihSZWY8U2VydmljZVdvcmtlckpvYj4mJik7CiAKICAgICB2
b2lkIGpvYkZhaWxlZFdpdGhFeGNlcHRpb24oU2VydmljZVdvcmtlckpvYiYsIGNvbnN0IEV4Y2Vw
dGlvbiYpIGZpbmFsOwotICAgIHZvaWQgam9iUmVzb2x2ZWRXaXRoUmVnaXN0cmF0aW9uKFNlcnZp
Y2VXb3JrZXJKb2ImLCBjb25zdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YSYpIGZpbmFs
OworICAgIHZvaWQgam9iUmVzb2x2ZWRXaXRoUmVnaXN0cmF0aW9uKFNlcnZpY2VXb3JrZXJKb2Im
LCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YSYmKSBmaW5hbDsKICAgICB2b2lkIHN0YXJ0
U2NyaXB0RmV0Y2hGb3JKb2IoU2VydmljZVdvcmtlckpvYiYpIGZpbmFsOwogICAgIHZvaWQgam9i
RmluaXNoZWRMb2FkaW5nU2NyaXB0KFNlcnZpY2VXb3JrZXJKb2ImLCBjb25zdCBTdHJpbmcmKSBm
aW5hbDsKICAgICB2b2lkIGpvYkZhaWxlZExvYWRpbmdTY3JpcHQoU2VydmljZVdvcmtlckpvYiYs
IGNvbnN0IFJlc291cmNlRXJyb3ImKSBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VySm9iLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VySm9iLmNwcAppbmRleCAyMzFlMDQxMjE3Zjk2MDYz
MTc2OTc4NTdhODI5MTM0MTYyYTUzNTkzLi42MjAyNGI4ZDkwMTY2ZGY1OGQ2YzI5ZmI5ZDc1YmJh
Nzc5NjBmYmUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vy
dmljZVdvcmtlckpvYi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1Nl
cnZpY2VXb3JrZXJKb2IuY3BwCkBAIC01NywxMyArNTcsMTMgQEAgdm9pZCBTZXJ2aWNlV29ya2Vy
Sm9iOjpmYWlsZWRXaXRoRXhjZXB0aW9uKGNvbnN0IEV4Y2VwdGlvbiYgZXhjZXB0aW9uKQogICAg
IG1fY2xpZW50LT5qb2JGYWlsZWRXaXRoRXhjZXB0aW9uKCp0aGlzLCBleGNlcHRpb24pOwogfQog
Ci12b2lkIFNlcnZpY2VXb3JrZXJKb2I6OnJlc29sdmVkV2l0aFJlZ2lzdHJhdGlvbihjb25zdCBT
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YSYgZGF0YSkKK3ZvaWQgU2VydmljZVdvcmtlckpv
Yjo6cmVzb2x2ZWRXaXRoUmVnaXN0cmF0aW9uKFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRh
JiYgZGF0YSkKIHsKICAgICBBU1NFUlQoY3VycmVudFRocmVhZCgpID09IG1fY3JlYXRpb25UaHJl
YWQpOwogICAgIEFTU0VSVCghbV9jb21wbGV0ZWQpOwogCiAgICAgbV9jb21wbGV0ZWQgPSB0cnVl
OwotICAgIG1fY2xpZW50LT5qb2JSZXNvbHZlZFdpdGhSZWdpc3RyYXRpb24oKnRoaXMsIGRhdGEp
OworICAgIG1fY2xpZW50LT5qb2JSZXNvbHZlZFdpdGhSZWdpc3RyYXRpb24oKnRoaXMsIFdURk1v
dmUoZGF0YSkpOwogfQogCiB2b2lkIFNlcnZpY2VXb3JrZXJKb2I6OnN0YXJ0U2NyaXB0RmV0Y2go
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3Jr
ZXJKb2IuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VySm9i
LmgKaW5kZXggNzdkMjE4MzVlODdjYjBiOTk5MTY2ZWE5YTJlYjQxZDkxM2U0NjMyMS4uMGViN2I5
MzE1MWNiZTY4ZmZkOTRhY2VlMTdmMzkwMDliMzA1NDY1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJKb2IuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckpvYi5oCkBAIC01NSw3ICs1NSw3IEBA
IHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCB+U2VydmljZVdvcmtlckpvYigpOwogCiAgICAg
dm9pZCBmYWlsZWRXaXRoRXhjZXB0aW9uKGNvbnN0IEV4Y2VwdGlvbiYpOwotICAgIHZvaWQgcmVz
b2x2ZWRXaXRoUmVnaXN0cmF0aW9uKGNvbnN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRh
Jik7CisgICAgdm9pZCByZXNvbHZlZFdpdGhSZWdpc3RyYXRpb24oU2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbkRhdGEmJik7CiAgICAgdm9pZCBzdGFydFNjcmlwdEZldGNoKCk7CiAKICAgICBTZXJ2
aWNlV29ya2VySm9iRGF0YSBkYXRhKCkgY29uc3QgeyByZXR1cm4gbV9qb2JEYXRhOyB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckpvYkNs
aWVudC5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJKb2JD
bGllbnQuaAppbmRleCBmOWNmMjI2YThmZTQ3YjEyNGYxODBmMzU2OTYxNzUzMGRjNGU0ZmNjLi5l
MTA3ZmRiZmYxYmE5MzE3ODdjMDMyNDE3NTA1Yjk3OWJkNTM2ZTQ2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckpvYkNsaWVudC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VySm9iQ2xpZW50LmgK
QEAgLTQwLDcgKzQwLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgflNlcnZpY2VXb3JrZXJKb2JD
bGllbnQoKSB7IH07CiAKICAgICB2aXJ0dWFsIHZvaWQgam9iRmFpbGVkV2l0aEV4Y2VwdGlvbihT
ZXJ2aWNlV29ya2VySm9iJiwgY29uc3QgRXhjZXB0aW9uJikgPSAwOwotICAgIHZpcnR1YWwgdm9p
ZCBqb2JSZXNvbHZlZFdpdGhSZWdpc3RyYXRpb24oU2VydmljZVdvcmtlckpvYiYsIGNvbnN0IFNl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhJikgPSAwOworICAgIHZpcnR1YWwgdm9pZCBqb2JS
ZXNvbHZlZFdpdGhSZWdpc3RyYXRpb24oU2VydmljZVdvcmtlckpvYiYsIFNlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb25EYXRhJiYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc3RhcnRTY3JpcHRGZXRj
aEZvckpvYihTZXJ2aWNlV29ya2VySm9iJikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBqb2JGaW5p
c2hlZExvYWRpbmdTY3JpcHQoU2VydmljZVdvcmtlckpvYiYsIGNvbnN0IFN0cmluZyYpID0gMDsK
ICAgICB2aXJ0dWFsIHZvaWQgam9iRmFpbGVkTG9hZGluZ1NjcmlwdChTZXJ2aWNlV29ya2VySm9i
JiwgY29uc3QgUmVzb3VyY2VFcnJvciYpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmNwcAppbmRl
eCA2MDY1Y2U1NDFkZjg3OTllZTQwYTBkZTE4ZDU3ZGI3NTlhYjVkOTQ2Li5jZGFlNGI4N2IyYjI2
M2JiM2U3Y2IzNTlmY2QyN2M2N2U0MGI4NjU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uY3BwCkBA
IC0zMCw5ICszMCw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotU2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbjo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbihTY3JpcHRFeGVjdXRpb25Db250
ZXh0JiBjb250ZXh0LCBjb25zdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YSYgcmVnaXN0
cmF0aW9uRGF0YSkKK1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb246OlNlcnZpY2VXb3JrZXJSZWdp
c3RyYXRpb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgU2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbkRhdGEmJiByZWdpc3RyYXRpb25EYXRhKQogICAgIDogQWN0aXZlRE9NT2JqZWN0
KCZjb250ZXh0KQotICAgICwgbV9yZWdpc3RyYXRpb25EYXRhKHJlZ2lzdHJhdGlvbkRhdGEpCisg
ICAgLCBtX3JlZ2lzdHJhdGlvbkRhdGEoV1RGTW92ZShyZWdpc3RyYXRpb25EYXRhKSkKIHsKICAg
ICBzdXNwZW5kSWZOZWVkZWQoKTsKIH0KQEAgLTU0LDIyICs1NCwyMiBAQCBTZXJ2aWNlV29ya2Vy
KiBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uOjphY3RpdmUoKQogCiBjb25zdCBTdHJpbmcmIFNl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb246OnNjb3BlKCkgY29uc3QKIHsKLSAgICByZXR1cm4gZW1w
dHlTdHJpbmcoKTsKKyAgICByZXR1cm4gbV9yZWdpc3RyYXRpb25EYXRhLnNjb3BlVVJMOwogfQog
Ci1TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uOjpVcGRhdGVWaWFDYWNoZSBTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uOjp1cGRhdGVWaWFDYWNoZSgpIGNvbnN0CitTZXJ2aWNlV29ya2VyVXBkYXRl
VmlhQ2FjaGUgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6dXBkYXRlVmlhQ2FjaGUoKSBjb25z
dAogewotICAgIHJldHVybiBVcGRhdGVWaWFDYWNoZTo6SW1wb3J0czsKKyAgICByZXR1cm4gbV9y
ZWdpc3RyYXRpb25EYXRhLnVwZGF0ZVZpYUNhY2hlOwogfQogCiB2b2lkIFNlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb246OnVwZGF0ZShSZWY8RGVmZXJyZWRQcm9taXNlPiYmIHByb21pc2UpCiB7Ci0g
ICAgcHJvbWlzZS0+cmVqZWN0KEV4Y2VwdGlvbihVbmtub3duRXJyb3IsIEFTQ0lJTGl0ZXJhbCgi
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6dXBkYXRlIG5vdCB5ZXQgaW1wbGVtZW50ZWQiKSkp
OworICAgIHByb21pc2UtPnJlamVjdChFeGNlcHRpb24oTm90U3VwcG9ydGVkRXJyb3IsIEFTQ0lJ
TGl0ZXJhbCgiU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6dXBkYXRlIG5vdCB5ZXQgaW1wbGVt
ZW50ZWQiKSkpOwogfQogCiB2b2lkIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb246OnVucmVnaXN0
ZXIoUmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlKQogewotICAgIHByb21pc2UtPnJlamVj
dChFeGNlcHRpb24oVW5rbm93bkVycm9yLCBBU0NJSUxpdGVyYWwoIlNlcnZpY2VXb3JrZXJSZWdp
c3RyYXRpb246OnVucmVnaXN0ZXIgbm90IHlldCBpbXBsZW1lbnRlZCIpKSk7CisgICAgcHJvbWlz
ZS0+cmVqZWN0KEV4Y2VwdGlvbihOb3RTdXBwb3J0ZWRFcnJvciwgQVNDSUlMaXRlcmFsKCJTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uOjp1bnJlZ2lzdGVyIG5vdCB5ZXQgaW1wbGVtZW50ZWQiKSkp
OwogfQogCiBFdmVudFRhcmdldEludGVyZmFjZSBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uOjpl
dmVudFRhcmdldEludGVyZmFjZSgpIGNvbnN0CkBAIC03OSw3ICs3OSwxNyBAQCBFdmVudFRhcmdl
dEludGVyZmFjZSBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uOjpldmVudFRhcmdldEludGVyZmFj
ZSgpIGNvbnN0CiAKIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIFNlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb246OnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSBjb25zdAogewotICAgIHJldHVybiBudWxs
cHRyOworICAgIHJldHVybiBBY3RpdmVET01PYmplY3Q6OnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQo
KTsKK30KKworY29uc3QgY2hhciogU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6YWN0aXZlRE9N
T2JqZWN0TmFtZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuICJTZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uIjsKK30KKworYm9vbCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uOjpjYW5TdXNwZW5kRm9y
RG9jdW1lbnRTdXNwZW5zaW9uKCkgY29uc3QKK3sKKyAgICByZXR1cm4gIWhhc1BlbmRpbmdBY3Rp
dml0eSgpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5oIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uaApp
bmRleCBlYTZiMDUzMDM5MWNlYmM2ZGViMTQ5YTdmMzdhNWUyOGIzYjkyYmY0Li43ZGE5ZWI3MGM4
YzQ2NDc4YjI4NmI5M2UyZDY0MmQ3ZTU3Yjk5OGVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmgKQEAg
LTM5LDE1ICszOSw5IEBAIGNsYXNzIFNlcnZpY2VXb3JrZXI7CiAKIGNsYXNzIFNlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb24gZmluYWwgOiBwdWJsaWMgUmVmQ291bnRlZDxTZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uPiwgcHVibGljIEV2ZW50VGFyZ2V0V2l0aElubGluZURhdGEsIHB1YmxpYyBBY3Rp
dmVET01PYmplY3QgewogcHVibGljOgotICAgIGVudW0gY2xhc3MgVXBkYXRlVmlhQ2FjaGUgewot
ICAgICAgICBJbXBvcnRzLAotICAgICAgICBBbGwsCi0gICAgICAgIE5vbmUsCi0gICAgfTsKLQot
ICAgIHN0YXRpYyBSZWY8U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbj4gY3JlYXRlKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIGNvbnN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25E
YXRhJiBkYXRhKQorICAgIHN0YXRpYyBSZWY8U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbj4gY3Jl
YXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIFNlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb25EYXRhJiYgZGF0YSkKICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFNl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb24oY29udGV4dCwgZGF0YSkpOworICAgICAgICByZXR1cm4g
YWRvcHRSZWYoKm5ldyBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uKGNvbnRleHQsIFdURk1vdmUo
ZGF0YSkpKTsKICAgICB9CiAKICAgICB2aXJ0dWFsIH5TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
KCkgPSBkZWZhdWx0OwpAQCAtNTcsNyArNTEsNyBAQCBwdWJsaWM6CiAgICAgU2VydmljZVdvcmtl
ciogYWN0aXZlKCk7CiAKICAgICBjb25zdCBTdHJpbmcmIHNjb3BlKCkgY29uc3Q7Ci0gICAgVXBk
YXRlVmlhQ2FjaGUgdXBkYXRlVmlhQ2FjaGUoKSBjb25zdDsKKyAgICBTZXJ2aWNlV29ya2VyVXBk
YXRlVmlhQ2FjaGUgdXBkYXRlVmlhQ2FjaGUoKSBjb25zdDsKIAogICAgIHZvaWQgdXBkYXRlKFJl
ZjxEZWZlcnJlZFByb21pc2U+JiYpOwogICAgIHZvaWQgdW5yZWdpc3RlcihSZWY8RGVmZXJyZWRQ
cm9taXNlPiYmKTsKQEAgLTY2LDE1ICs2MCwxNSBAQCBwdWJsaWM6CiAgICAgdXNpbmcgUmVmQ291
bnRlZDo6ZGVyZWY7CiAKIHByaXZhdGU6Ci0gICAgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbihT
Y3JpcHRFeGVjdXRpb25Db250ZXh0JiwgY29uc3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRh
dGEmKTsKKyAgICBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQmLCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YSYmKTsKIAotICAgIHZpcnR1YWwgRXZl
bnRUYXJnZXRJbnRlcmZhY2UgZXZlbnRUYXJnZXRJbnRlcmZhY2UoKSBjb25zdDsKLSAgICB2aXJ0
dWFsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSBjb25z
dDsKKyAgICBFdmVudFRhcmdldEludGVyZmFjZSBldmVudFRhcmdldEludGVyZmFjZSgpIGNvbnN0
IGZpbmFsOworICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQoKSBjb25zdCBmaW5hbDsKICAgICB2b2lkIHJlZkV2ZW50VGFyZ2V0KCkgZmluYWwgeyByZWYo
KTsgfQogICAgIHZvaWQgZGVyZWZFdmVudFRhcmdldCgpIGZpbmFsIHsgZGVyZWYoKTsgfQogCi0g
ICAgY29uc3QgY2hhciogYWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0IHsgcmV0dXJuICJTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uIjsgfQotICAgIGJvb2wgY2FuU3VzcGVuZEZvckRvY3VtZW50
U3VzcGVuc2lvbigpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisgICAgY29uc3QgY2hhciogYWN0
aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0IGZpbmFsOworICAgIGJvb2wgY2FuU3VzcGVuZEZvckRv
Y3VtZW50U3VzcGVuc2lvbigpIGNvbnN0IGZpbmFsOwogCiAgICAgU2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbkRhdGEgbV9yZWdpc3RyYXRpb25EYXRhOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmlkbCBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmlk
bAppbmRleCAzMmU2ZGNiN2E3Y2ViOTQyZWExYmUzOTQ3ZGRlOWQ1MmJhMWJjY2Y0Li4wNDY0Yzlm
YTAxNjBjMjZmZTBmZThlMjNhMjhlMWFhMWM2MmJhOWMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5pZGwKKysrIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24u
aWRsCkBAIC00NSw5ICs0NSwzIEBACiAgICAgLy8gZXZlbnQKICAgICBhdHRyaWJ1dGUgRXZlbnRI
YW5kbGVyIG9udXBkYXRlZm91bmQ7CiB9OwotCi1lbnVtIFNlcnZpY2VXb3JrZXJVcGRhdGVWaWFD
YWNoZSB7Ci0gICAgImltcG9ydHMiLAotICAgICJhbGwiLAotICAgICJub25lIgotfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uRGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbkRhdGEuY3BwCmluZGV4IDFhZjJiOWQ2ZTY1Y2U2ZTFkZDA5N2UxYWFl
ZjY0NzRiNDUxMTQyNGMuLjkxZDM4MWU2MjdlZDFmNzhmOTIzMjdhNjYxMGU1NWZmODNlZjA0NmIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhLmNwcApAQCAtMzIsMTAgKzMyLDEyIEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEgU2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGE6Omlzb2xhdGVkQ29weSgpIGNvbnN0CiB7Ci0gICAgU2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEgcmVzdWx0OwotICAgIHJlc3VsdC5rZXkgPSBrZXku
aXNvbGF0ZWRDb3B5KCk7Ci0gICAgcmVzdWx0LmlkZW50aWZpZXIgPSBpZGVudGlmaWVyOwotICAg
IHJldHVybiByZXN1bHQ7CisgICAgcmV0dXJuIHsKKyAgICAgICAga2V5Lmlzb2xhdGVkQ29weSgp
LAorICAgICAgICBpZGVudGlmaWVyLAorICAgICAgICBzY29wZVVSTC5pc29sYXRlZENvcHkoKSwK
KyAgICAgICAgdXBkYXRlVmlhQ2FjaGUKKyAgICB9OwogfQogCiB9IC8vIG5hbWVzcGFjZSBXVEYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhLmgKaW5kZXggODU4NTBhYTIwMmE4MjM2YmJmMThmOTNh
NmIzODZkNGQxODZlYjA3Ny4uNmY2YTIxOWFlMzRjZTQ2NjViNzA1MDg2OGVmNmFkNjI1MDc0NzA2
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb25EYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhLmgKQEAgLTMxLDkgKzMxLDEzIEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAorZW51bSBjbGFzcyBTZXJ2aWNlV29ya2VyVXBkYXRlVmlhQ2Fj
aGU7CisKIHN0cnVjdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YSB7CiAgICAgU2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbktleSBrZXk7CiAgICAgdWludDY0X3QgaWRlbnRpZmllcjsKKyAg
ICBVUkwgc2NvcGVVUkw7CisgICAgU2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlIHVwZGF0ZVZp
YUNhY2hlOwogCiAgICAgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEgaXNvbGF0ZWRDb3B5
KCkgY29uc3Q7CiAKQEAgLTQ1LDcgKzQ5LDcgQEAgc3RydWN0IFNlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb25EYXRhIHsKIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+CiB2b2lkIFNlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb25EYXRhOjplbmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKIHsKLSAgICBl
bmNvZGVyIDw8IGtleSA8PCBpZGVudGlmaWVyOworICAgIGVuY29kZXIgPDwga2V5IDw8IGlkZW50
aWZpZXIgPDwgc2NvcGVVUkwgPDwgdXBkYXRlVmlhQ2FjaGU7CiB9CiAKIHRlbXBsYXRlPGNsYXNz
IERlY29kZXI+CkBAIC02MCw4ICs2NCwxOCBAQCBzdGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb25EYXRhPiBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YTo6ZGVjbwogICAg
IGRlY29kZXIgPj4gaWRlbnRpZmllcjsKICAgICBpZiAoIWlkZW50aWZpZXIpCiAgICAgICAgIHJl
dHVybiBzdGQ6Om51bGxvcHQ7Ci0gICAgCi0gICAgcmV0dXJuIHt7IFdURk1vdmUoKmtleSksIFdU
Rk1vdmUoKmlkZW50aWZpZXIpIH19OworCisgICAgc3RkOjpvcHRpb25hbDxVUkw+IHNjb3BlVVJM
OworICAgIGRlY29kZXIgPj4gc2NvcGVVUkw7CisgICAgaWYgKCFzY29wZVVSTCkKKyAgICAgICAg
cmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlclVw
ZGF0ZVZpYUNhY2hlPiB1cGRhdGVWaWFDYWNoZTsKKyAgICBkZWNvZGVyID4+IHVwZGF0ZVZpYUNh
Y2hlOworICAgIGlmICghdXBkYXRlVmlhQ2FjaGUpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxv
cHQ7CisKKyAgICByZXR1cm4geyB7IFdURk1vdmUoKmtleSksIFdURk1vdmUoKmlkZW50aWZpZXIp
LCBXVEZNb3ZlKCpzY29wZVVSTCksIFdURk1vdmUoKnVwZGF0ZVZpYUNhY2hlKSB9IH07CiB9CiAK
IH0gLy8gbmFtZXNwYWNlIFdURgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9z
ZXJ2aWNlL3NlcnZlci9TV0NsaWVudENvbm5lY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zZXJ2aWNlL3NlcnZlci9TV0NsaWVudENvbm5lY3Rpb24uY3BwCmluZGV4IDBiYzQ5MDJh
YWU5YWZhNzAyYTIwZTM5ZDcxOGEwOTM4OTE1YmExMWQuLjUyMWUwZWIzYjMzNGEwNDYyZDkzMmZi
N2UyMTkxMDMwNjZiYTJiMjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vy
dmljZS9zZXJ2ZXIvU1dDbGllbnRDb25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXQ2xpZW50Q29ubmVjdGlvbi5jcHAKQEAgLTc1LDcgKzc1
LDcgQEAgdm9pZCBTV0NsaWVudENvbm5lY3Rpb246OmpvYlJlamVjdGVkSW5TZXJ2ZXIodWludDY0
X3Qgam9iSWRlbnRpZmllciwgY29uc3QgRXhjZXAKICAgICBqb2ItPmZhaWxlZFdpdGhFeGNlcHRp
b24oZXhjZXB0aW9uRGF0YS50b0V4Y2VwdGlvbigpKTsKIH0KIAotdm9pZCBTV0NsaWVudENvbm5l
Y3Rpb246OmpvYlJlc29sdmVkSW5TZXJ2ZXIodWludDY0X3Qgam9iSWRlbnRpZmllciwgY29uc3Qg
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEmIHJlZ2lzdHJhdGlvbkRhdGEpCit2b2lkIFNX
Q2xpZW50Q29ubmVjdGlvbjo6am9iUmVzb2x2ZWRJblNlcnZlcih1aW50NjRfdCBqb2JJZGVudGlm
aWVyLCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YSYmIHJlZ2lzdHJhdGlvbkRhdGEpCiB7
CiAgICAgYXV0byBqb2IgPSBtX3NjaGVkdWxlZEpvYnMudGFrZShqb2JJZGVudGlmaWVyKTsKICAg
ICBpZiAoIWpvYikgewpAQCAtODMsNyArODMsNyBAQCB2b2lkIFNXQ2xpZW50Q29ubmVjdGlvbjo6
am9iUmVzb2x2ZWRJblNlcnZlcih1aW50NjRfdCBqb2JJZGVudGlmaWVyLCBjb25zdCBTZXJ2aQog
ICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgam9iLT5yZXNvbHZlZFdpdGhSZWdpc3RyYXRp
b24ocmVnaXN0cmF0aW9uRGF0YSk7CisgICAgam9iLT5yZXNvbHZlZFdpdGhSZWdpc3RyYXRpb24o
V1RGTW92ZShyZWdpc3RyYXRpb25EYXRhKSk7CiB9CiAKIHZvaWQgU1dDbGllbnRDb25uZWN0aW9u
OjpzdGFydFNjcmlwdEZldGNoRm9yU2VydmVyKHVpbnQ2NF90IGpvYklkZW50aWZpZXIpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXQ2xpZW50Q29u
bmVjdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV0NsaWVu
dENvbm5lY3Rpb24uaAppbmRleCBkY2FkZDAyODYzYjY3MWM5OWUzZDU2NzVmZjEwNjIxYmE3OTVh
OGMzLi45YzhhMTcwZjEyZDFmN2Q3ZjdmMWU1YmRlMmFlYjM3MTM4M2MwNWMxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXQ2xpZW50Q29ubmVjdGlv
bi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dDbGllbnRD
b25uZWN0aW9uLmgKQEAgLTU0LDcgKzU0LDcgQEAgcHVibGljOgogCiBwcm90ZWN0ZWQ6CiAgICAg
V0VCQ09SRV9FWFBPUlQgdm9pZCBqb2JSZWplY3RlZEluU2VydmVyKHVpbnQ2NF90IGpvYklkZW50
aWZpZXIsIGNvbnN0IEV4Y2VwdGlvbkRhdGEmKTsKLSAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGpv
YlJlc29sdmVkSW5TZXJ2ZXIodWludDY0X3Qgam9iSWRlbnRpZmllciwgY29uc3QgU2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbkRhdGEmKTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGpvYlJlc29s
dmVkSW5TZXJ2ZXIodWludDY0X3Qgam9iSWRlbnRpZmllciwgU2VydmljZVdvcmtlclJlZ2lzdHJh
dGlvbkRhdGEmJik7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzdGFydFNjcmlwdEZldGNoRm9y
U2VydmVyKHVpbnQ2NF90IGpvYklkZW50aWZpZXIpOwogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlclJlZ2lzdHJhdGlv
bi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyUmVn
aXN0cmF0aW9uLmNwcAppbmRleCAwZWM3ODdlOWUzNzAzYmZlNzEyOTRmYTQxOTFkOWI1ZTY3NjVk
ZWE0Li4wZDIxNzhlN2M0YzAwZTcwOGFmZTUxNTg1OTQyODI0ZDQzZTI3NWQ1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyUmVnaXN0cmF0
aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2Vy
dmVyUmVnaXN0cmF0aW9uLmNwcApAQCAtMzQsNiArMzQsNyBAQAogI2luY2x1ZGUgIlNlY3VyaXR5
T3JpZ2luLmgiCiAjaW5jbHVkZSAiU2VydmljZVdvcmtlckZldGNoUmVzdWx0LmgiCiAjaW5jbHVk
ZSAiU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEuaCIKKyNpbmNsdWRlICJTZXJ2aWNlV29y
a2VyVXBkYXRlVmlhQ2FjaGUuaCIKICNpbmNsdWRlICJXb3JrZXJUeXBlLmgiCiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKQEAgLTk2LDggKzk3LDcgQEAgdm9pZCBTV1NlcnZlclJlZ2lzdHJhdGlvbjo6
c2NyaXB0Q29udGV4dEZhaWxlZFRvU3RhcnQoU1dTZXJ2ZXI6OkNvbm5lY3Rpb24mLCBjb24KIHZv
aWQgU1dTZXJ2ZXJSZWdpc3RyYXRpb246OnNjcmlwdENvbnRleHRTdGFydGVkKFNXU2VydmVyOjpD
b25uZWN0aW9uJiwgdWludDY0X3QgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB3b3JrZXJJRCkK
IHsKICAgICBVTlVTRURfUEFSQU0od29ya2VySUQpOwotCi0gICAgcmVzb2x2ZUN1cnJlbnRKb2Io
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEgeyBtX3JlZ2lzdHJhdGlvbktleSwgaWRlbnRp
ZmllciB9KTsKKyAgICByZXNvbHZlQ3VycmVudEpvYihTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
RGF0YSB7IG1fcmVnaXN0cmF0aW9uS2V5LCBpZGVudGlmaWVyLCBtX3Njb3BlVVJMLCBtX3VwZGF0
ZVZpYUNhY2hlLnZhbHVlX29yKFNlcnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNoZTo6SW1wb3J0cykg
fSk7CiB9CiAKIHZvaWQgU1dTZXJ2ZXJSZWdpc3RyYXRpb246OnN0YXJ0TmV4dEpvYigpCkBAIC0y
NDksNyArMjQ5LDcgQEAgdm9pZCBTV1NlcnZlclJlZ2lzdHJhdGlvbjo6ZmluaXNoQ3VycmVudEpv
YigpCiAKIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhIFNXU2VydmVyUmVnaXN0cmF0aW9u
OjpkYXRhKCkgY29uc3QKIHsKLSAgICByZXR1cm4geyBtX3JlZ2lzdHJhdGlvbktleSwgaWRlbnRp
ZmllcigpIH07CisgICAgcmV0dXJuIHsgbV9yZWdpc3RyYXRpb25LZXksIGlkZW50aWZpZXIoKSwg
bV9zY29wZVVSTCwgbV91cGRhdGVWaWFDYWNoZS52YWx1ZV9vcihTZXJ2aWNlV29ya2VyVXBkYXRl
VmlhQ2FjaGU6OkltcG9ydHMpIH07CiB9CiAKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9T
aGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJD
b3JlQXJndW1lbnRDb2RlcnMuaAppbmRleCA0YWMwMWRhZDM5MzVlMTZhZGY0YjE1NDAzNjc1MGYy
NDlhNWRkYzYwLi4xYzJkYzcwNzkwM2FjOTdjNTQ3YzU1YzE0YzdhODA5MTc2ZjVlYTAyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaApAQCAtMzksNiAr
MzksNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvUGF5bWVudEhlYWRlcnMuaD4KICNpbmNsdWRlIDxX
ZWJDb3JlL1JlYWx0aW1lTWVkaWFTb3VyY2UuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Njcm9sbFNu
YXBPZmZzZXRzSW5mby5oPgorI2luY2x1ZGUgPFdlYkNvcmUvU2VydmljZVdvcmtlclVwZGF0ZVZp
YUNhY2hlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TdG9yZWRDcmVkZW50aWFsc1BvbGljeS5oPgog
CiBuYW1lc3BhY2UgV1RGIHsKQEAgLTc4NCw0ICs3ODUsMTUgQEAgdGVtcGxhdGUgPD4gc3RydWN0
IEVudW1UcmFpdHM8V2ViQ29yZTo6U3RvcmVkQ3JlZGVudGlhbHNQb2xpY3k+IHsKICAgICA+Owog
fTsKIAorI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKK3RlbXBsYXRlIDw+IHN0cnVjdCBFbnVt
VHJhaXRzPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNoZT4geworICAgIHVzaW5n
IHZhbHVlcyA9IEVudW1WYWx1ZXM8CisgICAgICAgIFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJVcGRh
dGVWaWFDYWNoZSwKKyAgICAgICAgV2ViQ29yZTo6U2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hl
OjpJbXBvcnRzLAorICAgICAgICBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyVXBkYXRlVmlhQ2FjaGU6
OkFsbCwKKyAgICAgICAgV2ViQ29yZTo6U2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlOjpOb25l
CisgICAgPjsKK307CisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV1RGCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25u
ZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU2VydmljZVdvcmtlci9X
ZWJTV1NlcnZlckNvbm5lY3Rpb24uY3BwCmluZGV4IDcyOTdmNGI1M2U4NzU3ZDk2MzYyZDg5ZGQ2
YzY2OTUyYWQ1NjA5OWUuLjY5OTU4ZmZiMGU4OGYzZmQ5MDA0MDJkZjQ1MDczZTVjMGQzMjk0OTEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU2VydmljZVdvcmtlci9X
ZWJTV1NlcnZlckNvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nl
c3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uY3BwCkBAIC0zMiw2ICszMiw3
IEBACiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIlN0b3JhZ2VQcm9jZXNzLmgiCiAj
aW5jbHVkZSAiU3RvcmFnZVRvV2ViUHJvY2Vzc0Nvbm5lY3Rpb25NZXNzYWdlcy5oIgorI2luY2x1
ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgogI2luY2x1ZGUgIldlYlByb2Nlc3MuaCIKICNp
bmNsdWRlICJXZWJQcm9jZXNzTWVzc2FnZXMuaCIKICNpbmNsdWRlICJXZWJTV0NsaWVudENvbm5l
Y3Rpb25NZXNzYWdlcy5oIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDcyZmFkZGVkMzNhNmU2NzU1ZGIyMDVjNjRhNzM1ZTk0
YWVlNDRmNjQuLjlhNzJkMDFkZmEzZjNjMThjNmM5ZGY4OWM4MjkxNGU2OWEwOTFlNTMgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNiBAQAorMjAxNy0xMC0xOCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUu
Y29tPgorCisgICAgICAgIEltcGxlbWVudCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLnNjb3Bl
IC8gdXBkYXRlVmlhQ2FjaGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE3ODQ5NworCisgICAgICAgIFJldmlld2VkIGJ5IFlvdWVubiBGYWJsZXQuCisK
KyAgICAgICAgRXh0ZW5kIGxheW91dCB0ZXN0IGNvdmVyYWdlLgorCisgICAgICAgICogaHR0cC90
ZXN0cy93b3JrZXJzL3NlcnZpY2UvYmFzaWMtcmVnaXN0ZXItZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIGh0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL3Jlc291cmNlcy9iYXNpYy1yZWdpc3Rlci5q
czoKKyAgICAgICAgKHRoZW4pOgorCiAyMDE3LTEwLTE3ICBEZWFuIEphY2tzb24gIDxkaW5vQGFw
cGxlLmNvbT4KIAogICAgICAgICBNYWtlIGZhaWxpbmcgV2ViR0wgdGVzdHMgcHJvZHVjZSBkZWJ1
ZyBvdXRwdXQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2
aWNlL2Jhc2ljLXJlZ2lzdGVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
d29ya2Vycy9zZXJ2aWNlL2Jhc2ljLXJlZ2lzdGVyLWV4cGVjdGVkLnR4dAppbmRleCAwM2NiM2Nm
ODkxNjA2ZTg1ZTFkNjk2MTUzYTRkYmM5MTQzMzFkODQwLi4wZDU0YjVkODI5MzYwOTRjMWQ5YWJm
YzcyOTIyNWI4MzJiMzc0ZGFhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dv
cmtlcnMvc2VydmljZS9iYXNpYy1yZWdpc3Rlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvYmFzaWMtcmVnaXN0ZXItZXhwZWN0ZWQudHh0
CkBAIC0xLDYgKzEsOCBAQAogUEFTUzogTm8gc2VydmljZSB3b3JrZXIgaXMgaW5pdGlhbGx5IHJl
Z2lzdGVyZWQgZm9yIHRoaXMgb3JpZ2luCiBQQVNTOiBObyBzZXJ2aWNlIHdvcmtlciBpcyBpbml0
aWFsbHkgcmVnaXN0ZXJlZCBmb3IgdGhpcyBvcmlnaW4gaW4gcHJpdmF0ZSBzZXNzaW9uCiBSZWdp
c3RlcmVkIQorUEFTUzogcmVnaXN0cmF0aW9uIG9iamVjdCdzIHNjb3BlIGlzIHZhbGlkCitQQVNT
OiByZWdpc3RyYXRpb24gb2JqZWN0J3MgdXBkYXRlVmlhQ2FjaGUgaXMgdmFsaWQKIFBBU1M6IEEg
c2VydmljZSB3b3JrZXIgaXMgbm93IHJlZ2lzdGVyZWQgZm9yIHRoaXMgb3JpZ2luCiBQQVNTOiBO
byBzZXJ2aWNlIHdvcmtlciBpcyByZWdpc3RlcmVkIGZvciB0aGlzIG9yaWdpbiBpbiBwcml2YXRl
IHNlc3Npb24KIFJlZ2lzdGVyZWQhCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3dvcmtlcnMvc2VydmljZS9yZXNvdXJjZXMvYmFzaWMtcmVnaXN0ZXIuanMgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9yZXNvdXJjZXMvYmFzaWMtcmVnaXN0ZXIuanMK
aW5kZXggZTJhNjhjZTQyYzhmNGRhOGViM2VmODVjYzlkMTgyZmU4MmMxNzU3MS4uZGQzZDkzMDhk
YzQzMDNlYjdjM2Y4OGI0MWMyMTYzNDdlOTliMjZmYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvcmVzb3VyY2VzL2Jhc2ljLXJlZ2lzdGVyLmpzCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL3Jlc291cmNlcy9iYXNp
Yy1yZWdpc3Rlci5qcwpAQCAtMzAsMTAgKzMwLDIwIEBAIGVsc2UKIAogdGVzdFJ1bm5lci5zZXRQ
cml2YXRlQnJvd3NpbmdFbmFibGVkKGZhbHNlKTsKIAotbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIu
cmVnaXN0ZXIoInJlc291cmNlcy9lbXB0eS13b3JrZXIuanMiLCB7IH0pCituYXZpZ2F0b3Iuc2Vy
dmljZVdvcmtlci5yZWdpc3RlcigicmVzb3VyY2VzL2VtcHR5LXdvcmtlci5qcyIsIHsgc2NvcGU6
ICIvdGVzdCIsIHVwZGF0ZVZpYUNhY2hlOiAibm9uZSIgfSkKIC50aGVuKGZ1bmN0aW9uKHIpIHsK
IAlsb2coIlJlZ2lzdGVyZWQhIik7CiAKKyAgICAgICAgaWYgKHIuc2NvcGUgPT0gImh0dHA6Ly8x
MjcuMC4wLjE6ODAwMC90ZXN0IikKKyAgICAgICAgICAgbG9nKCJQQVNTOiByZWdpc3RyYXRpb24g
b2JqZWN0J3Mgc2NvcGUgaXMgdmFsaWQiKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICBsb2co
IkZBSUw6IHJlZ2lzdHJhdGlvbiBvYmplY3QncyBzY29wZSBpcyBpbnZhbGlkLCBnb3Q6ICIgKyBy
LnNjb3BlKTsKKworICAgICAgICBpZiAoci51cGRhdGVWaWFDYWNoZSA9PSAibm9uZSIpCisgICAg
ICAgICAgIGxvZygiUEFTUzogcmVnaXN0cmF0aW9uIG9iamVjdCdzIHVwZGF0ZVZpYUNhY2hlIGlz
IHZhbGlkIik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgbG9nKCJGQUlMOiByZWdpc3RyYXRp
b24gb2JqZWN0J3MgdXBkYXRlVmlhQ2FjaGUgaXMgaW52YWxpZCwgZ290OiAiICsgci51cGRhdGVW
aWFDYWNoZSk7CisKICAgICAgICAgaWYgKGludGVybmFscy5oYXNTZXJ2aWNlV29ya2VyUmVnaXN0
ZXJlZEZvck9yaWdpbihzZWxmLm9yaWdpbikpCiAgICAgICAgICAgICBsb2coIlBBU1M6IEEgc2Vy
dmljZSB3b3JrZXIgaXMgbm93IHJlZ2lzdGVyZWQgZm9yIHRoaXMgb3JpZ2luIik7CiAgICAgICAg
IGVsc2UK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>324204</attachid>
            <date>2017-10-18 19:56:27 -0700</date>
            <delta_ts>2017-10-18 20:29:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-178497-20171018195627.patch</filename>
            <type>text/plain</type>
            <size>25842</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIzNjUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWExODc3YzZjNWMyZjgz
ZTYwMDg2M2RiNWYwYzFlYzZmYjBkZTcyYy4uMTgzMjYyN2VjYjRiZWVjYmFlNzI3YmQ5NGQ1NmE2
OTZkYjE0MTA3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDE3LTEwLTE4ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IFNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb24uc2NvcGUgLyB1cGRhdGVWaWFDYWNoZQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4NDk3CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgWW91ZW5uIEZhYmxldC4KKworICAgICAgICBJbXBsZW1lbnQgU2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbi5zY29wZSAvIHVwZGF0ZVZpYUNhY2hlLgorCisgICAgICAgIE5vIG5ldyB0ZXN0
cywgdXBkYXRlZCBleGlzdGluZyB0ZXN0LgorCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2Vy
Q29udGFpbmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDb250YWluZXI6
OmpvYlJlc29sdmVkV2l0aFJlZ2lzdHJhdGlvbik6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNl
L1NlcnZpY2VXb3JrZXJDb250YWluZXIuaDoKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2Vy
dmljZVdvcmtlckpvYi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2VySm9iOjpy
ZXNvbHZlZFdpdGhSZWdpc3RyYXRpb24pOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2
aWNlV29ya2VySm9iLmg6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJK
b2JDbGllbnQuaDoKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
OjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb246OnNjb3BlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb246OnVwZGF0ZVZpYUNhY2hlIGNvbnN0KToKKyAgICAgICAgKFdl
YkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb246OnVwZGF0ZSk6CisgICAgICAgIChXZWJD
b3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uOjp1bnJlZ2lzdGVyKToKKyAgICAgICAgKFdl
YkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb246OnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6YWN0
aXZlRE9NT2JqZWN0TmFtZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uOjpjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uIGNvbnN0KToKKyAg
ICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5oOgorICAg
ICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmlkbDoKKyAg
ICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGE6Omlzb2xh
dGVkQ29weSBjb25zdCk6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb25EYXRhLmg6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uRGF0YTo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb25EYXRhOjpkZWNvZGUpOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9z
ZXJ2ZXIvU1dDbGllbnRDb25uZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNXQ2xpZW50
Q29ubmVjdGlvbjo6am9iUmVzb2x2ZWRJblNlcnZlcik6CisgICAgICAgICogd29ya2Vycy9zZXJ2
aWNlL3NlcnZlci9TV0NsaWVudENvbm5lY3Rpb24uaDoKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZp
Y2Uvc2VydmVyL1NXU2VydmVyUmVnaXN0cmF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNX
U2VydmVyUmVnaXN0cmF0aW9uOjpzY3JpcHRDb250ZXh0U3RhcnRlZCk6CisgICAgICAgIChXZWJD
b3JlOjpTV1NlcnZlclJlZ2lzdHJhdGlvbjo6ZGF0YSBjb25zdCk6CisKIDIwMTctMTAtMTggIFlv
dWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBwcmVsaW1pbmFy
eSBzdXBwb3J0IGZvciBTZXJ2aWNlV29ya2VyIEhhbmRsZSBGZXRjaApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA1MmE5
NjRhMTI2YzFmMzgzYmJlNTc5ODhkYmIwMjEwMWQwYWMzNDFiLi45NzllMGZiNDE5MTYxOGIzYWQz
MWVmNWEzZTc5YzQ3MzNjMjBmZTM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE3LTEw
LTE4ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50
IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uc2NvcGUgLyB1cGRhdGVWaWFDYWNoZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4NDk3CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgWW91ZW5uIEZhYmxldC4KKworICAgICAgICAqIFNoYXJlZC9XZWJDb3Jl
QXJndW1lbnRDb2RlcnMuaDoKKyAgICAgICAgKiBTdG9yYWdlUHJvY2Vzcy9TZXJ2aWNlV29ya2Vy
L1dlYlNXU2VydmVyQ29ubmVjdGlvbi5jcHA6CisKIDIwMTctMTAtMTggIFlvdWVubiBGYWJsZXQg
IDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBwcmVsaW1pbmFyeSBzdXBwb3J0IGZv
ciBTZXJ2aWNlV29ya2VyIEhhbmRsZSBGZXRjaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDdmYmFiYzVmMThlOGRhYWM5YzllZjYy
YzBlZGU3NGY2NmZlMTg0N2IuLjAyMTUxODlhM2E4YTBhOGMzYjE1MzEyOTMyMjhlMzJiN2VjNDlm
NTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKQEAgLTI0OTEsNyArMjQ5MSw3IEBACiAJCTUxRjE3NTY3MUYzRUJDODMwMEM3NDk1MCAv
KiBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRjE3NTREMUYzRUJDMEMwMEM3NDk1MCAvKiBTZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uLmNwcCAqLzsgfTsKIAkJNTFGMTc1NjgxRjNFQkM4MzAwQzc0OTUw
IC8qIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRjE3NTRDMUYzRUJDMEMwMEM3NDk1MCAvKiBTZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uLmggKi87IH07CiAJCTUxRjE3NTY5MUYzRUJDODMwMEM3NDk1MCAv
KiBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uT3B0aW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFGMTc1NEExRjNFQkMwQzAwQzc0OTUwIC8qIFNl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb25PcHRpb25zLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJNTFGMTc1NkMxRjNFQkM4MzAwQzc0OTUwIC8qIFNl
cnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNoZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNTFGMTc1NDcxRjNFQkMwQzAwQzc0OTUwIC8qIFNlcnZpY2VXb3Jr
ZXJVcGRhdGVWaWFDYWNoZS5oICovOyB9OworCQk1MUYxNzU2QzFGM0VCQzgzMDBDNzQ5NTAgLyog
U2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1MUYxNzU0NzFGM0VCQzBDMDBDNzQ5NTAgLyogU2VydmljZVdv
cmtlclVwZGF0ZVZpYUNhY2hlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJNTFGNjQ1NjIxRjQ1Mzk4RjAwQjU0REVEIC8qIEV4Y2VwdGlvbkRhdGEu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRjY0NTYw
MUY0NTM5OEIwMEI1NERFRCAvKiBFeGNlcHRpb25EYXRhLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNTFGNjQ1NjkxRjQ1MzlCOTAwQjU0REVEIC8q
IFNlcnZpY2VXb3JrZXJKb2JEYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA1MUY2NDU2NjFGNDUzOTlGMDBCNTRERUQgLyogU2VydmljZVdvcmtlckpv
YkRhdGEuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQk1MUY2NDU2QTFGNDUzOUMwMDBCNTRERUQgLyogU2VydmljZVdvcmtlckpvYlR5cGUuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRjY0NTY1MUY0NTM5
OUYwMEI1NERFRCAvKiBTZXJ2aWNlV29ya2VySm9iVHlwZS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0zMjcwOCw5ICszMjcwOCw4IEBACiAJCQkJ
MEY0OTY2QUExREI0MEM0MzAwQTI3NEJCIC8qIEpTRE9NUG9pbnQuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJMEY0OTY2QUMxREI0MEM0MzAwQTI3NEJCIC8qIEpTRE9NUG9pbnRJbml0LmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTBGNDk2NkFFMURCNDBDNDMwMEEyNzRCQiAvKiBKU0RPTVBvaW50UmVh
ZE9ubHkuY3BwIGluIFNvdXJjZXMgKi8sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IDQxQUYzNzlEMUY4REIxQjUwMDExMUMzMSAvKiBKU0RPTVByb21pc2UuY3BwIGluIFNvdXJjZXMg
Ki8sCi0JCQkJRTE3MkFGOEYxODExQkMzNzAwRkJBREI5IC8qIEpTRE9NUHJvbWlzZURlZmVycmVk
LmNwcCBpbiBTb3VyY2VzICovLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwRkYz
QjkyODFFRTNCNkRFMDBCODQxNDQgLyogSlNET01RdWFkLmNwcCBpbiBTb3VyY2VzICovLAorCQkJ
CTQxQUYzNzlEMUY4REIxQjUwMDExMUMzMSAvKiBKU0RPTVByb21pc2UuY3BwIGluIFNvdXJjZXMg
Ki8sCisJCQkJMEZGM0I5MjgxRUUzQjZERTAwQjg0MTQ0IC8qIEpTRE9NUXVhZC5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQkwRkYzQjkyQTFFRTNCNkRFMDBCODQxNDQgLyogSlNET01RdWFkSW5pdC5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjQ3MTBCQjFEQjU2QkU4MDAyRENFQzMgLyogSlNET01S
ZWN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGNDcxMEJEMURCNTZCRTgwMDJEQ0VDMyAvKiBK
U0RPTVJlY3RJbml0LmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuY3BwCmluZGV4IDk1
MzQ1MTc3ZDcwMjZiOTE3ODZlYTAyYjM1NTVlZjlmNmVmNWE1YTYuLmU4MzBhOGRhNzNmOTBkN2Vl
MjMyMGZmYjAyYWRlODFjZDEzMWY5NzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5jcHAKQEAgLTE2Nyw3ICsx
NjcsNyBAQCB2b2lkIFNlcnZpY2VXb3JrZXJDb250YWluZXI6OmpvYkZhaWxlZFdpdGhFeGNlcHRp
b24oU2VydmljZVdvcmtlckpvYiYgam9iLCBjb25zdAogICAgIGpvYkRpZEZpbmlzaChqb2IpOwog
fQogCi12b2lkIFNlcnZpY2VXb3JrZXJDb250YWluZXI6OmpvYlJlc29sdmVkV2l0aFJlZ2lzdHJh
dGlvbihTZXJ2aWNlV29ya2VySm9iJiBqb2IsIGNvbnN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b25EYXRhJiBkYXRhKQordm9pZCBTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjpqb2JSZXNvbHZlZFdp
dGhSZWdpc3RyYXRpb24oU2VydmljZVdvcmtlckpvYiYgam9iLCBTZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uRGF0YSYmIGRhdGEpCiB7CiAgICAgU2NvcGVHdWFyZCBndWFyZChbdGhpcywgJmpvYl0g
ewogICAgICAgICBqb2JEaWRGaW5pc2goam9iKTsKQEAgLTE4Miw3ICsxODIsNyBAQCB2b2lkIFNl
cnZpY2VXb3JrZXJDb250YWluZXI6OmpvYlJlc29sdmVkV2l0aFJlZ2lzdHJhdGlvbihTZXJ2aWNl
V29ya2VySm9iJiBqb2IsCiAgICAgLy8gRklYTUU6IEltcGxlbWVudCBwcm9wZXIgc2VsZWN0aW9u
IG9mIHNlcnZpY2Ugd29ya2Vycy4KICAgICBjb250ZXh0LT5zZXRTZWxlY3RlZFNlcnZpY2VXb3Jr
ZXJJZGVudGlmaWVyKGRhdGEuaWRlbnRpZmllcik7CiAKLSAgICBhdXRvIHJlZ2lzdHJhdGlvbiA9
IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb246OmNyZWF0ZSgqY29udGV4dCwgZGF0YSk7CisgICAg
YXV0byByZWdpc3RyYXRpb24gPSBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uOjpjcmVhdGUoKmNv
bnRleHQsIFdURk1vdmUoZGF0YSkpOwogICAgIGpvYi5wcm9taXNlKCkucmVzb2x2ZTxJRExJbnRl
cmZhY2U8U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbj4+KHJlZ2lzdHJhdGlvbi5nZXQoKSk7CiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29y
a2VyQ29udGFpbmVyLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdv
cmtlckNvbnRhaW5lci5oCmluZGV4IGZmNGM3OGQ1MWI1NGU3NzFlMTQ3MDc1ODNkNWExMzEwYTQz
YTMyMjguLjE1ZjU2ZDFmZWUyNDQ1NDU3NWFhYTM4Y2ZjYzE4MDAxZmM0NTIyNjIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250
YWluZXIuaApAQCAtNzIsNyArNzIsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgc2NoZWR1bGVKb2Io
UmVmPFNlcnZpY2VXb3JrZXJKb2I+JiYpOwogCiAgICAgdm9pZCBqb2JGYWlsZWRXaXRoRXhjZXB0
aW9uKFNlcnZpY2VXb3JrZXJKb2ImLCBjb25zdCBFeGNlcHRpb24mKSBmaW5hbDsKLSAgICB2b2lk
IGpvYlJlc29sdmVkV2l0aFJlZ2lzdHJhdGlvbihTZXJ2aWNlV29ya2VySm9iJiwgY29uc3QgU2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEmKSBmaW5hbDsKKyAgICB2b2lkIGpvYlJlc29sdmVk
V2l0aFJlZ2lzdHJhdGlvbihTZXJ2aWNlV29ya2VySm9iJiwgU2VydmljZVdvcmtlclJlZ2lzdHJh
dGlvbkRhdGEmJikgZmluYWw7CiAgICAgdm9pZCBzdGFydFNjcmlwdEZldGNoRm9ySm9iKFNlcnZp
Y2VXb3JrZXJKb2ImKSBmaW5hbDsKICAgICB2b2lkIGpvYkZpbmlzaGVkTG9hZGluZ1NjcmlwdChT
ZXJ2aWNlV29ya2VySm9iJiwgY29uc3QgU3RyaW5nJikgZmluYWw7CiAgICAgdm9pZCBqb2JGYWls
ZWRMb2FkaW5nU2NyaXB0KFNlcnZpY2VXb3JrZXJKb2ImLCBjb25zdCBSZXNvdXJjZUVycm9yJikg
ZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vydmlj
ZVdvcmtlckpvYi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdv
cmtlckpvYi5jcHAKaW5kZXggMjMxZTA0MTIxN2Y5NjA2MzE3Njk3ODU3YTgyOTEzNDE2MmE1MzU5
My4uNjIwMjRiOGQ5MDE2NmRmNThkNmMyOWZiOWQ3NWJiYTc3OTYwZmJlMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJKb2IuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VySm9iLmNwcApAQCAt
NTcsMTMgKzU3LDEzIEBAIHZvaWQgU2VydmljZVdvcmtlckpvYjo6ZmFpbGVkV2l0aEV4Y2VwdGlv
bihjb25zdCBFeGNlcHRpb24mIGV4Y2VwdGlvbikKICAgICBtX2NsaWVudC0+am9iRmFpbGVkV2l0
aEV4Y2VwdGlvbigqdGhpcywgZXhjZXB0aW9uKTsKIH0KIAotdm9pZCBTZXJ2aWNlV29ya2VySm9i
OjpyZXNvbHZlZFdpdGhSZWdpc3RyYXRpb24oY29uc3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlv
bkRhdGEmIGRhdGEpCit2b2lkIFNlcnZpY2VXb3JrZXJKb2I6OnJlc29sdmVkV2l0aFJlZ2lzdHJh
dGlvbihTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YSYmIGRhdGEpCiB7CiAgICAgQVNTRVJU
KGN1cnJlbnRUaHJlYWQoKSA9PSBtX2NyZWF0aW9uVGhyZWFkKTsKICAgICBBU1NFUlQoIW1fY29t
cGxldGVkKTsKIAogICAgIG1fY29tcGxldGVkID0gdHJ1ZTsKLSAgICBtX2NsaWVudC0+am9iUmVz
b2x2ZWRXaXRoUmVnaXN0cmF0aW9uKCp0aGlzLCBkYXRhKTsKKyAgICBtX2NsaWVudC0+am9iUmVz
b2x2ZWRXaXRoUmVnaXN0cmF0aW9uKCp0aGlzLCBXVEZNb3ZlKGRhdGEpKTsKIH0KIAogdm9pZCBT
ZXJ2aWNlV29ya2VySm9iOjpzdGFydFNjcmlwdEZldGNoKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VySm9iLmggYi9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckpvYi5oCmluZGV4IDc3ZDIxODM1ZTg3Y2Iw
Yjk5OTE2NmVhOWEyZWI0MWQ5MTNlNDYzMjEuLjBlYjdiOTMxNTFjYmU2OGZmZDk0YWNlZTE3ZjM5
MDA5YjMwNTQ2NTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9T
ZXJ2aWNlV29ya2VySm9iLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1Nl
cnZpY2VXb3JrZXJKb2IuaApAQCAtNTUsNyArNTUsNyBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9F
WFBPUlQgflNlcnZpY2VXb3JrZXJKb2IoKTsKIAogICAgIHZvaWQgZmFpbGVkV2l0aEV4Y2VwdGlv
bihjb25zdCBFeGNlcHRpb24mKTsKLSAgICB2b2lkIHJlc29sdmVkV2l0aFJlZ2lzdHJhdGlvbihj
b25zdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YSYpOworICAgIHZvaWQgcmVzb2x2ZWRX
aXRoUmVnaXN0cmF0aW9uKFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhJiYpOwogICAgIHZv
aWQgc3RhcnRTY3JpcHRGZXRjaCgpOwogCiAgICAgU2VydmljZVdvcmtlckpvYkRhdGEgZGF0YSgp
IGNvbnN0IHsgcmV0dXJuIG1fam9iRGF0YTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJKb2JDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VySm9iQ2xpZW50LmgKaW5kZXggZjljZjIyNmE4
ZmU0N2IxMjRmMTgwZjM1Njk2MTc1MzBkYzRlNGZjYy4uZTEwN2ZkYmZmMWJhOTMxNzg3YzAzMjQx
NzUwNWI5NzliZDUzNmU0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2
aWNlL1NlcnZpY2VXb3JrZXJKb2JDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L3NlcnZpY2UvU2VydmljZVdvcmtlckpvYkNsaWVudC5oCkBAIC00MCw3ICs0MCw3IEBAIHB1Ymxp
YzoKICAgICB2aXJ0dWFsIH5TZXJ2aWNlV29ya2VySm9iQ2xpZW50KCkgeyB9OwogCiAgICAgdmly
dHVhbCB2b2lkIGpvYkZhaWxlZFdpdGhFeGNlcHRpb24oU2VydmljZVdvcmtlckpvYiYsIGNvbnN0
IEV4Y2VwdGlvbiYpID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgam9iUmVzb2x2ZWRXaXRoUmVnaXN0
cmF0aW9uKFNlcnZpY2VXb3JrZXJKb2ImLCBjb25zdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
RGF0YSYpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgam9iUmVzb2x2ZWRXaXRoUmVnaXN0cmF0aW9u
KFNlcnZpY2VXb3JrZXJKb2ImLCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YSYmKSA9IDA7
CiAgICAgdmlydHVhbCB2b2lkIHN0YXJ0U2NyaXB0RmV0Y2hGb3JKb2IoU2VydmljZVdvcmtlckpv
YiYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgam9iRmluaXNoZWRMb2FkaW5nU2NyaXB0KFNlcnZp
Y2VXb3JrZXJKb2ImLCBjb25zdCBTdHJpbmcmKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGpvYkZh
aWxlZExvYWRpbmdTY3JpcHQoU2VydmljZVdvcmtlckpvYiYsIGNvbnN0IFJlc291cmNlRXJyb3Im
KSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uv
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5jcHAKaW5kZXggNjA2NWNlNTQxZGY4Nzk5ZWU0MGEw
ZGUxOGQ1N2RiNzU5YWI1ZDk0Ni4uY2RhZTRiODdiMmIyNjNiYjNlN2NiMzU5ZmNkMjdjNjdlNDBi
ODY1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vydmlj
ZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmNwcApAQCAtMzAsOSArMzAsOSBAQAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLVNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb246OlNlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgY29uc3QgU2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEmIHJlZ2lzdHJhdGlvbkRhdGEpCitTZXJ2aWNlV29y
a2VyUmVnaXN0cmF0aW9uOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uKFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQmIGNvbnRleHQsIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhJiYgcmVnaXN0
cmF0aW9uRGF0YSkKICAgICA6IEFjdGl2ZURPTU9iamVjdCgmY29udGV4dCkKLSAgICAsIG1fcmVn
aXN0cmF0aW9uRGF0YShyZWdpc3RyYXRpb25EYXRhKQorICAgICwgbV9yZWdpc3RyYXRpb25EYXRh
KFdURk1vdmUocmVnaXN0cmF0aW9uRGF0YSkpCiB7CiAgICAgc3VzcGVuZElmTmVlZGVkKCk7CiB9
CkBAIC01NCwyMiArNTQsMjIgQEAgU2VydmljZVdvcmtlciogU2VydmljZVdvcmtlclJlZ2lzdHJh
dGlvbjo6YWN0aXZlKCkKIAogY29uc3QgU3RyaW5nJiBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
OjpzY29wZSgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7CisgICAgcmV0dXJu
IG1fcmVnaXN0cmF0aW9uRGF0YS5zY29wZVVSTDsKIH0KIAotU2VydmljZVdvcmtlclJlZ2lzdHJh
dGlvbjo6VXBkYXRlVmlhQ2FjaGUgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6dXBkYXRlVmlh
Q2FjaGUoKSBjb25zdAorU2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlIFNlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb246OnVwZGF0ZVZpYUNhY2hlKCkgY29uc3QKIHsKLSAgICByZXR1cm4gVXBkYXRl
VmlhQ2FjaGU6OkltcG9ydHM7CisgICAgcmV0dXJuIG1fcmVnaXN0cmF0aW9uRGF0YS51cGRhdGVW
aWFDYWNoZTsKIH0KIAogdm9pZCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uOjp1cGRhdGUoUmVm
PERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlKQogewotICAgIHByb21pc2UtPnJlamVjdChFeGNl
cHRpb24oVW5rbm93bkVycm9yLCBBU0NJSUxpdGVyYWwoIlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b246OnVwZGF0ZSBub3QgeWV0IGltcGxlbWVudGVkIikpKTsKKyAgICBwcm9taXNlLT5yZWplY3Qo
RXhjZXB0aW9uKE5vdFN1cHBvcnRlZEVycm9yLCBBU0NJSUxpdGVyYWwoIlNlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb246OnVwZGF0ZSBub3QgeWV0IGltcGxlbWVudGVkIikpKTsKIH0KIAogdm9pZCBT
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uOjp1bnJlZ2lzdGVyKFJlZjxEZWZlcnJlZFByb21pc2U+
JiYgcHJvbWlzZSkKIHsKLSAgICBwcm9taXNlLT5yZWplY3QoRXhjZXB0aW9uKFVua25vd25FcnJv
ciwgQVNDSUlMaXRlcmFsKCJTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uOjp1bnJlZ2lzdGVyIG5v
dCB5ZXQgaW1wbGVtZW50ZWQiKSkpOworICAgIHByb21pc2UtPnJlamVjdChFeGNlcHRpb24oTm90
U3VwcG9ydGVkRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6
dW5yZWdpc3RlciBub3QgeWV0IGltcGxlbWVudGVkIikpKTsKIH0KIAogRXZlbnRUYXJnZXRJbnRl
cmZhY2UgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6ZXZlbnRUYXJnZXRJbnRlcmZhY2UoKSBj
b25zdApAQCAtNzksNyArNzksMTcgQEAgRXZlbnRUYXJnZXRJbnRlcmZhY2UgU2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbjo6ZXZlbnRUYXJnZXRJbnRlcmZhY2UoKSBjb25zdAogCiBTY3JpcHRFeGVj
dXRpb25Db250ZXh0KiBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uOjpzY3JpcHRFeGVjdXRpb25D
b250ZXh0KCkgY29uc3QKIHsKLSAgICByZXR1cm4gbnVsbHB0cjsKKyAgICByZXR1cm4gQWN0aXZl
RE9NT2JqZWN0OjpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7Cit9CisKK2NvbnN0IGNoYXIqIFNl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb246OmFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25zdAorewor
ICAgIHJldHVybiAiU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbiI7Cit9CisKK2Jvb2wgU2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbjo6Y2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbigpIGNv
bnN0Cit7CisgICAgcmV0dXJuICFoYXNQZW5kaW5nQWN0aXZpdHkoKTsKIH0KIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vy
dmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmgKaW5kZXggZWE2YjA1MzAzOTFjZWJjNmRl
YjE0OWE3ZjM3YTVlMjhiM2I5MmJmNC4uN2RhOWViNzBjOGM0NjQ3OGIyODZiOTNlMmQ2NDJkN2U1
N2I5OThlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZp
Y2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5oCkBAIC0zOSwxNSArMzksOSBAQCBjbGFzcyBT
ZXJ2aWNlV29ya2VyOwogCiBjbGFzcyBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uIGZpbmFsIDog
cHVibGljIFJlZkNvdW50ZWQ8U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbj4sIHB1YmxpYyBFdmVu
dFRhcmdldFdpdGhJbmxpbmVEYXRhLCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0IHsKIHB1YmxpYzoK
LSAgICBlbnVtIGNsYXNzIFVwZGF0ZVZpYUNhY2hlIHsKLSAgICAgICAgSW1wb3J0cywKLSAgICAg
ICAgQWxsLAotICAgICAgICBOb25lLAotICAgIH07Ci0KLSAgICBzdGF0aWMgUmVmPFNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb24+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0
LCBjb25zdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YSYgZGF0YSkKKyAgICBzdGF0aWMg
UmVmPFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250
ZXh0JiBjb250ZXh0LCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YSYmIGRhdGEpCiAgICAg
ewotICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
KGNvbnRleHQsIGRhdGEpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbihjb250ZXh0LCBXVEZNb3ZlKGRhdGEpKSk7CiAgICAgfQogCiAgICAg
dmlydHVhbCB+U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbigpID0gZGVmYXVsdDsKQEAgLTU3LDcg
KzUxLDcgQEAgcHVibGljOgogICAgIFNlcnZpY2VXb3JrZXIqIGFjdGl2ZSgpOwogCiAgICAgY29u
c3QgU3RyaW5nJiBzY29wZSgpIGNvbnN0OwotICAgIFVwZGF0ZVZpYUNhY2hlIHVwZGF0ZVZpYUNh
Y2hlKCkgY29uc3Q7CisgICAgU2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlIHVwZGF0ZVZpYUNh
Y2hlKCkgY29uc3Q7CiAKICAgICB2b2lkIHVwZGF0ZShSZWY8RGVmZXJyZWRQcm9taXNlPiYmKTsK
ICAgICB2b2lkIHVucmVnaXN0ZXIoUmVmPERlZmVycmVkUHJvbWlzZT4mJik7CkBAIC02NiwxNSAr
NjAsMTUgQEAgcHVibGljOgogICAgIHVzaW5nIFJlZkNvdW50ZWQ6OmRlcmVmOwogCiBwcml2YXRl
OgotICAgIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYs
IGNvbnN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhJik7CisgICAgU2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgU2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbkRhdGEmJik7CiAKLSAgICB2aXJ0dWFsIEV2ZW50VGFyZ2V0SW50ZXJmYWNlIGV2ZW50
VGFyZ2V0SW50ZXJmYWNlKCkgY29uc3Q7Ci0gICAgdmlydHVhbCBTY3JpcHRFeGVjdXRpb25Db250
ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgY29uc3Q7CisgICAgRXZlbnRUYXJnZXRJbnRl
cmZhY2UgZXZlbnRUYXJnZXRJbnRlcmZhY2UoKSBjb25zdCBmaW5hbDsKKyAgICBTY3JpcHRFeGVj
dXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgY29uc3QgZmluYWw7CiAgICAg
dm9pZCByZWZFdmVudFRhcmdldCgpIGZpbmFsIHsgcmVmKCk7IH0KICAgICB2b2lkIGRlcmVmRXZl
bnRUYXJnZXQoKSBmaW5hbCB7IGRlcmVmKCk7IH0KIAotICAgIGNvbnN0IGNoYXIqIGFjdGl2ZURP
TU9iamVjdE5hbWUoKSBjb25zdCB7IHJldHVybiAiU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbiI7
IH0KLSAgICBib29sIGNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBjb25zdCB7IHJl
dHVybiBmYWxzZTsgfQorICAgIGNvbnN0IGNoYXIqIGFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25z
dCBmaW5hbDsKKyAgICBib29sIGNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBjb25z
dCBmaW5hbDsKIAogICAgIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhIG1fcmVnaXN0cmF0
aW9uRGF0YTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uv
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5pZGwgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3Nl
cnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5pZGwKaW5kZXggMzJlNmRjYjdhN2NlYjk0
MmVhMWJlMzk0N2RkZTlkNTJiYTFiY2NmNC4uMDQ2NGM5ZmEwMTYwYzI2ZmUwZmU4ZTIzYTI4ZTFh
YTFjNjJiYTljMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1Nl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmlkbApAQCAtNDUsOSArNDUsMyBAQAog
ICAgIC8vIGV2ZW50CiAgICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbnVwZGF0ZWZvdW5kOwog
fTsKLQotZW51bSBTZXJ2aWNlV29ya2VyVXBkYXRlVmlhQ2FjaGUgewotICAgICJpbXBvcnRzIiwK
LSAgICAiYWxsIiwKLSAgICAibm9uZSIKLX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEuY3BwIGIvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhLmNw
cAppbmRleCAxYWYyYjlkNmU2NWNlNmUxZGQwOTdlMWFhZWY2NDc0YjQ1MTE0MjRjLi45MWQzODFl
NjI3ZWQxZjc4ZjkyMzI3YTY2MTBlNTVmZjgzZWYwNDZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uRGF0YS5jcHAKQEAgLTMyLDEwICszMiwxMiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFNl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRh
Ojppc29sYXRlZENvcHkoKSBjb25zdAogewotICAgIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25E
YXRhIHJlc3VsdDsKLSAgICByZXN1bHQua2V5ID0ga2V5Lmlzb2xhdGVkQ29weSgpOwotICAgIHJl
c3VsdC5pZGVudGlmaWVyID0gaWRlbnRpZmllcjsKLSAgICByZXR1cm4gcmVzdWx0OworICAgIHJl
dHVybiB7CisgICAgICAgIGtleS5pc29sYXRlZENvcHkoKSwKKyAgICAgICAgaWRlbnRpZmllciwK
KyAgICAgICAgc2NvcGVVUkwuaXNvbGF0ZWRDb3B5KCksCisgICAgICAgIHVwZGF0ZVZpYUNhY2hl
CisgICAgfTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV1RGCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEuaCBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0
YS5oCmluZGV4IDg1ODUwYWEyMDJhODIzNmJiZjE4ZjkzYTZiMzg2ZDRkMTg2ZWIwNzcuLjZmNmEy
MTlhZTM0Y2U0NjY1YjcwNTA4NjhlZjZhZDYyNTA3NDcwNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uRGF0YS5oCkBAIC0zMSw5ICszMSwxMyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2Vu
dW0gY2xhc3MgU2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlOworCiBzdHJ1Y3QgU2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbkRhdGEgewogICAgIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkg
a2V5OwogICAgIHVpbnQ2NF90IGlkZW50aWZpZXI7CisgICAgVVJMIHNjb3BlVVJMOworICAgIFNl
cnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNoZSB1cGRhdGVWaWFDYWNoZTsKIAogICAgIFNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb25EYXRhIGlzb2xhdGVkQ29weSgpIGNvbnN0OwogCkBAIC00NSw3ICs0
OSw3IEBAIHN0cnVjdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YSB7CiB0ZW1wbGF0ZTxj
bGFzcyBFbmNvZGVyPgogdm9pZCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YTo6ZW5jb2Rl
KEVuY29kZXImIGVuY29kZXIpIGNvbnN0CiB7Ci0gICAgZW5jb2RlciA8PCBrZXkgPDwgaWRlbnRp
ZmllcjsKKyAgICBlbmNvZGVyIDw8IGtleSA8PCBpZGVudGlmaWVyIDw8IHNjb3BlVVJMIDw8IHVw
ZGF0ZVZpYUNhY2hlOwogfQogCiB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPgpAQCAtNjAsOCArNjQs
MTggQEAgc3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YT4gU2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGE6OmRlY28KICAgICBkZWNvZGVyID4+IGlkZW50aWZpZXI7
CiAgICAgaWYgKCFpZGVudGlmaWVyKQogICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwotICAg
IAotICAgIHJldHVybiB7eyBXVEZNb3ZlKCprZXkpLCBXVEZNb3ZlKCppZGVudGlmaWVyKSB9fTsK
KworICAgIHN0ZDo6b3B0aW9uYWw8VVJMPiBzY29wZVVSTDsKKyAgICBkZWNvZGVyID4+IHNjb3Bl
VVJMOworICAgIGlmICghc2NvcGVVUkwpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisK
KyAgICBzdGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNoZT4gdXBkYXRlVmlh
Q2FjaGU7CisgICAgZGVjb2RlciA+PiB1cGRhdGVWaWFDYWNoZTsKKyAgICBpZiAoIXVwZGF0ZVZp
YUNhY2hlKQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworCisgICAgcmV0dXJuIHsgeyBX
VEZNb3ZlKCprZXkpLCBXVEZNb3ZlKCppZGVudGlmaWVyKSwgV1RGTW92ZSgqc2NvcGVVUkwpLCBX
VEZNb3ZlKCp1cGRhdGVWaWFDYWNoZSkgfSB9OwogfQogCiB9IC8vIG5hbWVzcGFjZSBXVEYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dDbGllbnRD
b25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dD
bGllbnRDb25uZWN0aW9uLmNwcAppbmRleCAwYmM0OTAyYWFlOWFmYTcwMmEyMGUzOWQ3MThhMDkz
ODkxNWJhMTFkLi41MjFlMGViM2IzMzRhMDQ2MmQ5MzJmYjdlMjE5MTAzMDY2YmEyYjIzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXQ2xpZW50Q29u
bmVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9T
V0NsaWVudENvbm5lY3Rpb24uY3BwCkBAIC03NSw3ICs3NSw3IEBAIHZvaWQgU1dDbGllbnRDb25u
ZWN0aW9uOjpqb2JSZWplY3RlZEluU2VydmVyKHVpbnQ2NF90IGpvYklkZW50aWZpZXIsIGNvbnN0
IEV4Y2VwCiAgICAgam9iLT5mYWlsZWRXaXRoRXhjZXB0aW9uKGV4Y2VwdGlvbkRhdGEudG9FeGNl
cHRpb24oKSk7CiB9CiAKLXZvaWQgU1dDbGllbnRDb25uZWN0aW9uOjpqb2JSZXNvbHZlZEluU2Vy
dmVyKHVpbnQ2NF90IGpvYklkZW50aWZpZXIsIGNvbnN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b25EYXRhJiByZWdpc3RyYXRpb25EYXRhKQordm9pZCBTV0NsaWVudENvbm5lY3Rpb246OmpvYlJl
c29sdmVkSW5TZXJ2ZXIodWludDY0X3Qgam9iSWRlbnRpZmllciwgU2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbkRhdGEmJiByZWdpc3RyYXRpb25EYXRhKQogewogICAgIGF1dG8gam9iID0gbV9zY2hl
ZHVsZWRKb2JzLnRha2Uoam9iSWRlbnRpZmllcik7CiAgICAgaWYgKCFqb2IpIHsKQEAgLTgzLDcg
KzgzLDcgQEAgdm9pZCBTV0NsaWVudENvbm5lY3Rpb246OmpvYlJlc29sdmVkSW5TZXJ2ZXIodWlu
dDY0X3Qgam9iSWRlbnRpZmllciwgY29uc3QgU2VydmkKICAgICAgICAgcmV0dXJuOwogICAgIH0K
IAotICAgIGpvYi0+cmVzb2x2ZWRXaXRoUmVnaXN0cmF0aW9uKHJlZ2lzdHJhdGlvbkRhdGEpOwor
ICAgIGpvYi0+cmVzb2x2ZWRXaXRoUmVnaXN0cmF0aW9uKFdURk1vdmUocmVnaXN0cmF0aW9uRGF0
YSkpOwogfQogCiB2b2lkIFNXQ2xpZW50Q29ubmVjdGlvbjo6c3RhcnRTY3JpcHRGZXRjaEZvclNl
cnZlcih1aW50NjRfdCBqb2JJZGVudGlmaWVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV0NsaWVudENvbm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dDbGllbnRDb25uZWN0aW9uLmgKaW5kZXggZGNh
ZGQwMjg2M2I2NzFjOTllM2Q1Njc1ZmYxMDYyMWJhNzk1YThjMy4uOWM4YTE3MGYxMmQxZjdkN2Y3
ZjFlNWJkZTJhZWIzNzEzODNjMDVjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL3NlcnZlci9TV0NsaWVudENvbm5lY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXQ2xpZW50Q29ubmVjdGlvbi5oCkBAIC01NCw3ICs1
NCw3IEBAIHB1YmxpYzoKIAogcHJvdGVjdGVkOgogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgam9i
UmVqZWN0ZWRJblNlcnZlcih1aW50NjRfdCBqb2JJZGVudGlmaWVyLCBjb25zdCBFeGNlcHRpb25E
YXRhJik7Ci0gICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBqb2JSZXNvbHZlZEluU2VydmVyKHVpbnQ2
NF90IGpvYklkZW50aWZpZXIsIGNvbnN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhJik7
CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBqb2JSZXNvbHZlZEluU2VydmVyKHVpbnQ2NF90IGpv
YklkZW50aWZpZXIsIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhJiYpOwogICAgIFdFQkNP
UkVfRVhQT1JUIHZvaWQgc3RhcnRTY3JpcHRGZXRjaEZvclNlcnZlcih1aW50NjRfdCBqb2JJZGVu
dGlmaWVyKTsKIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJSZWdpc3RyYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlclJlZ2lzdHJhdGlvbi5jcHAKaW5kZXggMGVj
Nzg3ZTllMzcwM2JmZTcxMjk0ZmE0MTkxZDliNWU2NzY1ZGVhNC4uMGQyMTc4ZTdjNGMwMGU3MDhh
ZmU1MTU4NTk0MjgyNGQ0M2UyNzVkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlclJlZ2lzdHJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlclJlZ2lzdHJhdGlvbi5jcHAKQEAg
LTM0LDYgKzM0LDcgQEAKICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgogI2luY2x1ZGUgIlNl
cnZpY2VXb3JrZXJGZXRjaFJlc3VsdC5oIgogI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb25EYXRhLmgiCisjaW5jbHVkZSAiU2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlLmgiCiAj
aW5jbHVkZSAiV29ya2VyVHlwZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC05Niw4ICs5
Nyw3IEBAIHZvaWQgU1dTZXJ2ZXJSZWdpc3RyYXRpb246OnNjcmlwdENvbnRleHRGYWlsZWRUb1N0
YXJ0KFNXU2VydmVyOjpDb25uZWN0aW9uJiwgY29uCiB2b2lkIFNXU2VydmVyUmVnaXN0cmF0aW9u
OjpzY3JpcHRDb250ZXh0U3RhcnRlZChTV1NlcnZlcjo6Q29ubmVjdGlvbiYsIHVpbnQ2NF90IGlk
ZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgd29ya2VySUQpCiB7CiAgICAgVU5VU0VEX1BBUkFNKHdv
cmtlcklEKTsKLQotICAgIHJlc29sdmVDdXJyZW50Sm9iKFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b25EYXRhIHsgbV9yZWdpc3RyYXRpb25LZXksIGlkZW50aWZpZXIgfSk7CisgICAgcmVzb2x2ZUN1
cnJlbnRKb2IoU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEgeyBtX3JlZ2lzdHJhdGlvbktl
eSwgaWRlbnRpZmllciwgbV9zY29wZVVSTCwgbV91cGRhdGVWaWFDYWNoZS52YWx1ZV9vcihTZXJ2
aWNlV29ya2VyVXBkYXRlVmlhQ2FjaGU6OkltcG9ydHMpIH0pOwogfQogCiB2b2lkIFNXU2VydmVy
UmVnaXN0cmF0aW9uOjpzdGFydE5leHRKb2IoKQpAQCAtMjQ5LDcgKzI0OSw3IEBAIHZvaWQgU1dT
ZXJ2ZXJSZWdpc3RyYXRpb246OmZpbmlzaEN1cnJlbnRKb2IoKQogCiBTZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uRGF0YSBTV1NlcnZlclJlZ2lzdHJhdGlvbjo6ZGF0YSgpIGNvbnN0CiB7Ci0gICAg
cmV0dXJuIHsgbV9yZWdpc3RyYXRpb25LZXksIGlkZW50aWZpZXIoKSB9OworICAgIHJldHVybiB7
IG1fcmVnaXN0cmF0aW9uS2V5LCBpZGVudGlmaWVyKCksIG1fc2NvcGVVUkwsIG1fdXBkYXRlVmlh
Q2FjaGUudmFsdWVfb3IoU2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlOjpJbXBvcnRzKSB9Owog
fQogCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENv
ZGVycy5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgKaW5k
ZXggNGFjMDFkYWQzOTM1ZTE2YWRmNGIxNTQwMzY3NTBmMjQ5YTVkZGM2MC4uMWMyZGM3MDc5MDNh
Yzk3YzU0N2M1NWMxNGM3YTgwOTE3NmY1ZWEwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9T
aGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQv
V2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgKQEAgLTM5LDYgKzM5LDcgQEAKICNpbmNsdWRlIDxXZWJD
b3JlL1BheW1lbnRIZWFkZXJzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZWFsdGltZU1lZGlhU291
cmNlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TY3JvbGxTbmFwT2Zmc2V0c0luZm8uaD4KKyNpbmNs
dWRlIDxXZWJDb3JlL1NlcnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNoZS5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvU3RvcmVkQ3JlZGVudGlhbHNQb2xpY3kuaD4KIAogbmFtZXNwYWNlIFdURiB7CkBAIC03
ODQsNCArNzg1LDE1IEBAIHRlbXBsYXRlIDw+IHN0cnVjdCBFbnVtVHJhaXRzPFdlYkNvcmU6OlN0
b3JlZENyZWRlbnRpYWxzUG9saWN5PiB7CiAgICAgPjsKIH07CiAKKyNpZiBFTkFCTEUoU0VSVklD
RV9XT1JLRVIpCit0ZW1wbGF0ZSA8PiBzdHJ1Y3QgRW51bVRyYWl0czxXZWJDb3JlOjpTZXJ2aWNl
V29ya2VyVXBkYXRlVmlhQ2FjaGU+IHsKKyAgICB1c2luZyB2YWx1ZXMgPSBFbnVtVmFsdWVzPAor
ICAgICAgICBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyVXBkYXRlVmlhQ2FjaGUsCisgICAgICAgIFdl
YkNvcmU6OlNlcnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNoZTo6SW1wb3J0cywKKyAgICAgICAgV2Vi
Q29yZTo6U2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlOjpBbGwsCisgICAgICAgIFdlYkNvcmU6
OlNlcnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNoZTo6Tm9uZQorICAgID47Cit9OworI2VuZGlmCisK
IH0gLy8gbmFtZXNwYWNlIFdURgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDYwMzNhMWM4YzQzYWVhOWJiOTQ5NGQzMzMyODQz
ODgxY2M5ZGFhODYuLmIwMzhlMzJiN2VhOGY0MmU2NTJmZjY3M2U1YTkxNzI2NjhkNDc2YzQgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNiBAQAorMjAxNy0xMC0xOCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBw
bGUuY29tPgorCisgICAgICAgIEltcGxlbWVudCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLnNj
b3BlIC8gdXBkYXRlVmlhQ2FjaGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE3ODQ5NworCisgICAgICAgIFJldmlld2VkIGJ5IFlvdWVubiBGYWJsZXQu
CisKKyAgICAgICAgRXh0ZW5kIGxheW91dCB0ZXN0IGNvdmVyYWdlLgorCisgICAgICAgICogaHR0
cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvYmFzaWMtcmVnaXN0ZXItZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIGh0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL3Jlc291cmNlcy9iYXNpYy1yZWdpc3Rl
ci5qczoKKyAgICAgICAgKHRoZW4pOgorCiAyMDE3LTEwLTE4ICBZb3Vlbm4gRmFibGV0ICA8eW91
ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgcHJlbGltaW5hcnkgc3VwcG9ydCBmb3IgU2Vy
dmljZVdvcmtlciBIYW5kbGUgRmV0Y2gKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvd29ya2Vycy9zZXJ2aWNlL2Jhc2ljLXJlZ2lzdGVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL2Jhc2ljLXJlZ2lzdGVyLWV4cGVjdGVkLnR4
dAppbmRleCAwM2NiM2NmODkxNjA2ZTg1ZTFkNjk2MTUzYTRkYmM5MTQzMzFkODQwLi4wZDU0YjVk
ODI5MzYwOTRjMWQ5YWJmYzcyOTIyNWI4MzJiMzc0ZGFhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9iYXNpYy1yZWdpc3Rlci1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvYmFzaWMtcmVnaXN0
ZXItZXhwZWN0ZWQudHh0CkBAIC0xLDYgKzEsOCBAQAogUEFTUzogTm8gc2VydmljZSB3b3JrZXIg
aXMgaW5pdGlhbGx5IHJlZ2lzdGVyZWQgZm9yIHRoaXMgb3JpZ2luCiBQQVNTOiBObyBzZXJ2aWNl
IHdvcmtlciBpcyBpbml0aWFsbHkgcmVnaXN0ZXJlZCBmb3IgdGhpcyBvcmlnaW4gaW4gcHJpdmF0
ZSBzZXNzaW9uCiBSZWdpc3RlcmVkIQorUEFTUzogcmVnaXN0cmF0aW9uIG9iamVjdCdzIHNjb3Bl
IGlzIHZhbGlkCitQQVNTOiByZWdpc3RyYXRpb24gb2JqZWN0J3MgdXBkYXRlVmlhQ2FjaGUgaXMg
dmFsaWQKIFBBU1M6IEEgc2VydmljZSB3b3JrZXIgaXMgbm93IHJlZ2lzdGVyZWQgZm9yIHRoaXMg
b3JpZ2luCiBQQVNTOiBObyBzZXJ2aWNlIHdvcmtlciBpcyByZWdpc3RlcmVkIGZvciB0aGlzIG9y
aWdpbiBpbiBwcml2YXRlIHNlc3Npb24KIFJlZ2lzdGVyZWQhCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9yZXNvdXJjZXMvYmFzaWMtcmVnaXN0ZXIu
anMgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9yZXNvdXJjZXMvYmFz
aWMtcmVnaXN0ZXIuanMKaW5kZXggZTJhNjhjZTQyYzhmNGRhOGViM2VmODVjYzlkMTgyZmU4MmMx
NzU3MS4uZGQzZDkzMDhkYzQzMDNlYjdjM2Y4OGI0MWMyMTYzNDdlOTliMjZmYSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvcmVzb3VyY2VzL2Jhc2lj
LXJlZ2lzdGVyLmpzCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNl
L3Jlc291cmNlcy9iYXNpYy1yZWdpc3Rlci5qcwpAQCAtMzAsMTAgKzMwLDIwIEBAIGVsc2UKIAog
dGVzdFJ1bm5lci5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKGZhbHNlKTsKIAotbmF2aWdhdG9y
LnNlcnZpY2VXb3JrZXIucmVnaXN0ZXIoInJlc291cmNlcy9lbXB0eS13b3JrZXIuanMiLCB7IH0p
CituYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5yZWdpc3RlcigicmVzb3VyY2VzL2VtcHR5LXdvcmtl
ci5qcyIsIHsgc2NvcGU6ICIvdGVzdCIsIHVwZGF0ZVZpYUNhY2hlOiAibm9uZSIgfSkKIC50aGVu
KGZ1bmN0aW9uKHIpIHsKIAlsb2coIlJlZ2lzdGVyZWQhIik7CiAKKyAgICAgICAgaWYgKHIuc2Nv
cGUgPT0gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC90ZXN0IikKKyAgICAgICAgICAgbG9nKCJQQVNT
OiByZWdpc3RyYXRpb24gb2JqZWN0J3Mgc2NvcGUgaXMgdmFsaWQiKTsKKyAgICAgICAgZWxzZQor
ICAgICAgICAgICBsb2coIkZBSUw6IHJlZ2lzdHJhdGlvbiBvYmplY3QncyBzY29wZSBpcyBpbnZh
bGlkLCBnb3Q6ICIgKyByLnNjb3BlKTsKKworICAgICAgICBpZiAoci51cGRhdGVWaWFDYWNoZSA9
PSAibm9uZSIpCisgICAgICAgICAgIGxvZygiUEFTUzogcmVnaXN0cmF0aW9uIG9iamVjdCdzIHVw
ZGF0ZVZpYUNhY2hlIGlzIHZhbGlkIik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgbG9nKCJG
QUlMOiByZWdpc3RyYXRpb24gb2JqZWN0J3MgdXBkYXRlVmlhQ2FjaGUgaXMgaW52YWxpZCwgZ290
OiAiICsgci51cGRhdGVWaWFDYWNoZSk7CisKICAgICAgICAgaWYgKGludGVybmFscy5oYXNTZXJ2
aWNlV29ya2VyUmVnaXN0ZXJlZEZvck9yaWdpbihzZWxmLm9yaWdpbikpCiAgICAgICAgICAgICBs
b2coIlBBU1M6IEEgc2VydmljZSB3b3JrZXIgaXMgbm93IHJlZ2lzdGVyZWQgZm9yIHRoaXMgb3Jp
Z2luIik7CiAgICAgICAgIGVsc2UK
</data>

          </attachment>
      

    </bug>

</bugzilla>