<?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>158464</bug_id>
          
          <creation_ts>2016-06-06 22:56:29 -0700</creation_ts>
          <short_desc>REGRESSION(r201679): http/tests/websocket/tests/hybi/upgrade-simple-ws.html is flaky (Requested by ap on #webkit).</short_desc>
          <delta_ts>2016-06-06 23:03:41 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>143653</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>aestes</cc>
    
    <cc>bfulgham</cc>
    
    <cc>ryanhaddad</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1199926</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-06-06 22:56:29 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/201679 broke the build:
http/tests/websocket/tests/hybi/upgrade-simple-ws.html is flaky (Requested by ap on #webkit).

This is an automatic bug report generated by webkitbot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1199928</commentid>
    <comment_count>1</comment_count>
      <attachid>280678</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-06-06 22:57:10 -0700</bug_when>
    <thetext>Created attachment 280678
ROLLOUT of r201679

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the rollout will be successful.  This process takes approximately 15 minutes.

If you would like to land the rollout faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1199933</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2016-06-06 22:59:23 -0700</bug_when>
    <thetext>*** Bug 158448 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1199936</commentid>
    <comment_count>3</comment_count>
      <attachid>280678</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-06-06 23:03:38 -0700</bug_when>
    <thetext>Comment on attachment 280678
ROLLOUT of r201679

Clearing flags on attachment: 280678

Committed r201742: &lt;http://trac.webkit.org/changeset/201742&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1199937</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-06-06 23:03:41 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>280678</attachid>
            <date>2016-06-06 22:57:10 -0700</date>
            <delta_ts>2016-06-06 23:03:38 -0700</delta_ts>
            <desc>ROLLOUT of r201679</desc>
            <filename>bug-158464-20160606225835.patch</filename>
            <type>text/plain</type>
            <size>105240</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAxNzQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTgxMjBkZmM2OGU2OWE4
NjdlNTlhOWEyYmRlODBmMmMxN2Y3YWY4NC4uM2VmMDcwMDBjNDlhMWNiZDcxNjY0YWZhYTY3M2M4
NWM2ZGNjM2NmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE2LTA2LTA2ICBDb21t
aXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KKworICAgICAgICBVbnJldmlld2Vk
LCByb2xsaW5nIG91dCByMjAxNjc5LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTU4NDY0CisKKyAgICAgICAgaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVz
dHMvaHliaS91cGdyYWRlLXNpbXBsZS13cy5odG1sIGlzCisgICAgICAgIGZsYWt5IChSZXF1ZXN0
ZWQgYnkgYXAgb24gI3dlYmtpdCkuCisKKyAgICAgICAgUmV2ZXJ0ZWQgY2hhbmdlc2V0OgorCisg
ICAgICAgICJDU1A6IENvbnRlbnQgU2VjdXJpdHkgUG9saWN5IGRpcmVjdGl2ZSwgdXBncmFkZS1p
bnNlY3VyZS0KKyAgICAgICAgcmVxdWVzdHMgKFVJUikiCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDM2NTMKKyAgICAgICAgaHR0cDovL3RyYWMud2Vi
a2l0Lm9yZy9jaGFuZ2VzZXQvMjAxNjc5CisKIDIwMTYtMDYtMDYgIEppZXdlbiBUYW4gIDxqaWV3
ZW5fdGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBVUkxzIGNvbnRhaW5pbmcgdGFicyBvciBuZXds
aW5lcyBhcmUgcGFyc2VkIGluY29ycmVjdGx5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2Vic29ja2V0cy9XZWJTb2NrZXQuY3BwCmluZGV4IGNhNzFkY2MzNTlkYTlmZTVhZGE3MTcxNmFh
NTg5OGFkOWE1MzQ4ZmMuLjM2ZGVkNTk0NjUwYWUzYzIyZTY4MmVmM2U0NTBjZTFjYTEzYjY0MTUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXQuY3Bw
CkBAIC0xLDYgKzEsNSBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiAg
QWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENvcHlyaWdodCAoQykgMjAxNS0yMDE2IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUKQEAgLTIzMSw5ICsyMzAsNiBAQCB2b2lkIFdlYlNvY2tldDo6Y29ubmVjdChjb25zdCBTdHJp
bmcmIHVybCwgY29uc3QgVmVjdG9yPFN0cmluZz4mIHByb3RvY29scywgRXhjZQogICAgICAgICBl
YyA9IFNZTlRBWF9FUlI7CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0KLSAgICBzY3JpcHRFeGVj
dXRpb25Db250ZXh0KCktPmNvbnRlbnRTZWN1cml0eVBvbGljeSgpLT51cGdyYWRlSW5zZWN1cmVS
ZXF1ZXN0SWZOZWVkZWQobV91cmwsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6SW5zZWN1cmVSZXF1
ZXN0VHlwZTo6TG9hZCk7Ci0gICAgCiAgICAgaWYgKCFwb3J0QWxsb3dlZChtX3VybCkpIHsKICAg
ICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdl
U291cmNlOjpKUywgTWVzc2FnZUxldmVsOjpFcnJvciwgIldlYlNvY2tldCBwb3J0ICIgKyBTdHJp
bmc6Om51bWJlcihtX3VybC5wb3J0KCkpICsgIiBibG9ja2VkIik7CiAgICAgICAgIG1fc3RhdGUg
PSBDTE9TRUQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIv
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCA0ZWU1NGE3MDk0MGQxNmMzNDIy
ZjY4ZmJiMzdkYWQ0MmM5OWYyMTJmLi4wMDI1ZGIyZmE2Mzc4YzUyZTFhNjhkYzQzMTA1NDdhOGIx
ZTNjOTIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTUxOTQsMjYgKzUxOTQsMTYgQEAg
dm9pZCBEb2N1bWVudDo6aW5pdFNlY3VyaXR5Q29udGV4dCgpCiAKICAgICAvLyBJZiB3ZSBkbyBu
b3Qgb2J0YWluIGEgbWVhbmluZ2Z1bCBvcmlnaW4gZnJvbSB0aGUgVVJMLCB0aGVuIHdlIHRyeSB0
bwogICAgIC8vIGZpbmQgb25lIHZpYSB0aGUgZnJhbWUgaGllcmFyY2h5LgotICAgIEZyYW1lKiBw
YXJlbnRGcmFtZSA9IG1fZnJhbWUtPnRyZWUoKS5wYXJlbnQoKTsKLSAgICBGcmFtZSogb3BlbmVy
RnJhbWUgPSBtX2ZyYW1lLT5sb2FkZXIoKS5vcGVuZXIoKTsKIAotICAgIEZyYW1lKiBvd25lckZy
YW1lID0gcGFyZW50RnJhbWU7CisgICAgRnJhbWUqIG93bmVyRnJhbWUgPSBtX2ZyYW1lLT50cmVl
KCkucGFyZW50KCk7CiAgICAgaWYgKCFvd25lckZyYW1lKQotICAgICAgICBvd25lckZyYW1lID0g
b3BlbmVyRnJhbWU7CisgICAgICAgIG93bmVyRnJhbWUgPSBtX2ZyYW1lLT5sb2FkZXIoKS5vcGVu
ZXIoKTsKIAogICAgIGlmICghb3duZXJGcmFtZSkgewogICAgICAgICBkaWRGYWlsVG9Jbml0aWFs
aXplU2VjdXJpdHlPcmlnaW4oKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLSAgICAKLSAgICBE
b2N1bWVudCogb3BlbmVyRG9jdW1lbnQgPSBvcGVuZXJGcmFtZSA/IG9wZW5lckZyYW1lLT5kb2N1
bWVudCgpIDogbnVsbHB0cjsKIAotICAgIC8vIFBlciA8aHR0cDovL3d3dy53My5vcmcvVFIvdXBn
cmFkZS1pbnNlY3VyZS1yZXF1ZXN0cy8+LCBuZXcgYnJvd3NpbmcgY29udGV4dHMgbXVzdCBpbmhl
cml0IGZyb20gYW4KLSAgICAvLyBvbmdvaW5nIHNldCBvZiB1cGdyYWRlZCByZXF1ZXN0cy4gV2hl
biBvcGVuaW5nIGEgbmV3IGJyb3dzaW5nIGNvbnRleHQsIHdlIG5lZWQgdG8gY2FwdHVyZSBpdHMK
LSAgICAvLyBleGlzdGluZyB1cGdyYWRlIHJlcXVlc3QuIE5lc3RlZCBicm93c2luZyBjb250ZXh0
cyBhcmUgaGFuZGxlZCBkdXJpbmcgRG9jdW1lbnRXcml0ZXI6OmJlZ2luLgotICAgIGlmIChvcGVu
ZXJEb2N1bWVudCkKLSAgICAgICAgY29udGVudFNlY3VyaXR5UG9saWN5KCktPmluaGVyaXRJbnNl
Y3VyZU5hdmlnYXRpb25SZXF1ZXN0c1RvVXBncmFkZUZyb21PcGVuZXIoKm9wZW5lckRvY3VtZW50
LT5jb250ZW50U2VjdXJpdHlQb2xpY3koKSk7Ci0gICAgCiAgICAgaWYgKGlzU2FuZGJveGVkKFNh
bmRib3hPcmlnaW4pKSB7CiAgICAgICAgIC8vIElmIHdlJ3JlIHN1cHBvc2VkIHRvIGluaGVyaXQg
b3VyIHNlY3VyaXR5IG9yaWdpbiBmcm9tIG91ciBvd25lciwKICAgICAgICAgLy8gYnV0IHdlJ3Jl
IGFsc28gc2FuZGJveGVkLCB0aGUgb25seSB0aGluZyB3ZSBpbmhlcml0IGlzIHRoZSBhYmlsaXR5
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5jcHAKaW5kZXggNGMwZmRkMDYwZTczZmQ3ZDFh
YTljODFhMTY5MTFkMTZkYmNjNjk5ZC4uNmNiMjVkOTY4MWMxOTY4YjIzMDk0NGRjYjQ3ZDJjOTM1
ZGM3NGU5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmNwcApAQCAtMiw3ICsyLDcg
QEAKICAqIENvcHlyaWdodCAoQykgMTk5OSBMYXJzIEtub2xsIChrbm9sbEBrZGUub3JnKQogICog
ICAgICAgICAgIChDKSAxOTk5IEFudHRpIEtvaXZpc3RvIChrb2l2aXN0b0BrZGUub3JnKQogICog
ICAgICAgICAgIChDKSAyMDAxIERpcmsgTXVlbGxlciAobXVlbGxlckBrZGUub3JnKQotICogQ29w
eXJpZ2h0IChDKSAyMDAzLTIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICog
Q29weXJpZ2h0IChDKSAyMDAzLCAyMDA0LCAyMDA1LCAyMDA2LCAyMDA3LCAyMDA4IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAwOCBOaWtvbGFzIFpp
bW1lcm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJl
ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCkBAIC0yNjQsOCArMjY0
LDYgQEAgYm9vbCBTY3JpcHRFbGVtZW50OjpyZXF1ZXN0U2NyaXB0KGNvbnN0IFN0cmluZyYgc291
cmNlVXJsKQogCiAgICAgICAgIENhY2hlZFJlc291cmNlUmVxdWVzdCByZXF1ZXN0KFJlc291cmNl
UmVxdWVzdChtX2VsZW1lbnQuZG9jdW1lbnQoKS5jb21wbGV0ZVVSTChzb3VyY2VVcmwpKSwgb3B0
aW9ucyk7CiAKLSAgICAgICAgbV9lbGVtZW50LmRvY3VtZW50KCkuY29udGVudFNlY3VyaXR5UG9s
aWN5KCktPnVwZ3JhZGVJbnNlY3VyZVJlcXVlc3RJZk5lZWRlZChyZXF1ZXN0Lm11dGFibGVSZXNv
dXJjZVJlcXVlc3QoKSwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpJbnNlY3VyZVJlcXVlc3RUeXBl
OjpMb2FkKTsKLQogICAgICAgICBTdHJpbmcgY3Jvc3NPcmlnaW5Nb2RlID0gbV9lbGVtZW50LmZh
c3RHZXRBdHRyaWJ1dGUoSFRNTE5hbWVzOjpjcm9zc29yaWdpbkF0dHIpOwogICAgICAgICBpZiAo
IWNyb3NzT3JpZ2luTW9kZS5pc051bGwoKSkgewogICAgICAgICAgICAgbV9yZXF1ZXN0VXNlc0Fj
Y2Vzc0NvbnRyb2wgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Rv
Y3VtZW50V3JpdGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFdyaXRlci5j
cHAKaW5kZXggYWNkYmRkZTI1NmRkOWY2MjNlNjg3OTk4NWJjNmI4ZDU3Mzg5MDhlNy4uNDQyZTNi
ZjU3ODYxZjQ1NTViOWVjNGM5Y2E4NzcwZTJkMjY0YWEwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0RvY3VtZW50V3JpdGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvRG9jdW1lbnRXcml0ZXIuY3BwCkBAIC0yOSw3ICsyOSw2IEBACiAjaW5jbHVkZSAiY29uZmln
LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRXcml0ZXIuaCIKIAotI2luY2x1ZGUgIkNvbnRlbnRTZWN1
cml0eVBvbGljeS5oIgogI2luY2x1ZGUgIkRPTUltcGxlbWVudGF0aW9uLmgiCiAjaW5jbHVkZSAi
RE9NV2luZG93LmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKQEAgLTE0NCwxNyArMTQzLDYgQEAgdm9p
ZCBEb2N1bWVudFdyaXRlcjo6YmVnaW4oY29uc3QgVVJMJiB1cmxSZWZlcmVuY2UsIGJvb2wgZGlz
cGF0Y2gsIERvY3VtZW50KiBvd24KICAgICBlbHNlCiAgICAgICAgIGRvY3VtZW50LT5jcmVhdGVE
T01XaW5kb3coKTsKIAotICAgIC8vIFBlciA8aHR0cDovL3d3dy53My5vcmcvVFIvdXBncmFkZS1p
bnNlY3VyZS1yZXF1ZXN0cy8+LCB3ZSBuZWVkIHRvIHJldGFpbiBhbiBvbmdvaW5nIHNldCBvZiB1
cGdyYWRlZAotICAgIC8vIHJlcXVlc3RzIGluIG5ldyBuYXZpZ2F0aW9uIGNvbnRleHRzLiBBbHRo
b3VnaCB0aGlzIGluZm9ybWF0aW9uIGlzIHByZXNlbnQgd2hlbiB3ZSBjb25zdHJ1Y3QgdGhlCi0g
ICAgLy8gRG9jdW1lbnQgb2JqZWN0LCBpdCBpcyBkaXNjYXJkIGluIHRoZSBzdWJzZXF1ZW50ICdj
bGVhcicgc3RhdGVtZW50cyBiZWxvdy4gU28sIHdlIG11c3QgY2FwdHVyZSBpdAotICAgIC8vIHNv
IHdlIGNhbiByZXN0b3JlIGl0LgotICAgIEhhc2hTZXQ8UmVmUHRyPFNlY3VyaXR5T3JpZ2luPj4g
aW5zZWN1cmVOYXZpZ2F0aW9uUmVxdWVzdHNUb1VwZ3JhZGU7Ci0gICAgYm9vbCB1cGdyYWRlSW5z
ZWN1cmVSZXF1ZXN0cyA9IGZhbHNlOwotICAgIGlmIChhdXRvKiBleGlzdGluZ0RvY3VtZW50ID0g
bV9mcmFtZS0+ZG9jdW1lbnQoKSkgewotICAgICAgICB1cGdyYWRlSW5zZWN1cmVSZXF1ZXN0cyA9
IGV4aXN0aW5nRG9jdW1lbnQtPmNvbnRlbnRTZWN1cml0eVBvbGljeSgpLT51cGdyYWRlSW5zZWN1
cmVSZXF1ZXN0cygpOwotICAgICAgICBpbnNlY3VyZU5hdmlnYXRpb25SZXF1ZXN0c1RvVXBncmFk
ZSA9IGV4aXN0aW5nRG9jdW1lbnQtPmNvbnRlbnRTZWN1cml0eVBvbGljeSgpLT50YWtlTmF2aWdh
dGlvblJlcXVlc3RzVG9VcGdyYWRlKCk7Ci0gICAgfQotICAgIAogICAgIG1fZnJhbWUtPmxvYWRl
cigpLmNsZWFyKGRvY3VtZW50LnB0cigpLCAhc2hvdWxkUmV1c2VEZWZhdWx0VmlldywgIXNob3Vs
ZFJldXNlRGVmYXVsdFZpZXcpOwogICAgIGNsZWFyKCk7CiAKQEAgLTE2OSw5ICsxNTcsNiBAQCB2
b2lkIERvY3VtZW50V3JpdGVyOjpiZWdpbihjb25zdCBVUkwmIHVybFJlZmVyZW5jZSwgYm9vbCBk
aXNwYXRjaCwgRG9jdW1lbnQqIG93bgogICAgIG1fZnJhbWUtPmxvYWRlcigpLnNldE91dGdvaW5n
UmVmZXJyZXIodXJsKTsKICAgICBtX2ZyYW1lLT5zZXREb2N1bWVudChkb2N1bWVudC5jb3B5UmVm
KCkpOwogCi0gICAgZG9jdW1lbnQtPmNvbnRlbnRTZWN1cml0eVBvbGljeSgpLT5zZXRVcGdyYWRl
SW5zZWN1cmVSZXF1ZXN0cyh1cGdyYWRlSW5zZWN1cmVSZXF1ZXN0cyk7Ci0gICAgZG9jdW1lbnQt
PmNvbnRlbnRTZWN1cml0eVBvbGljeSgpLT5zZXRJbnNlY3VyZU5hdmlnYXRpb25SZXF1ZXN0c1Rv
VXBncmFkZShXVEZNb3ZlKGluc2VjdXJlTmF2aWdhdGlvblJlcXVlc3RzVG9VcGdyYWRlKSk7Ci0K
ICAgICBpZiAobV9kZWNvZGVyKQogICAgICAgICBkb2N1bWVudC0+c2V0RGVjb2RlcihtX2RlY29k
ZXIuZ2V0KCkpOwogICAgIGlmIChvd25lckRvY3VtZW50KSB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvRm9ybVN1Ym1pc3Npb24uY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0Zvcm1TdWJtaXNzaW9uLmNwcAppbmRleCBiZWMxMjIzZDc2NmNhMmI3MzBkOGU5MDFjODViNjMy
ZjAzMDBkNmUzLi41YzRkNTgxYWIzMGEwYWNlZmU0YmVlYWQ5OGQ1MWJjNTQ3Y2VhOTQ0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRm9ybVN1Ym1pc3Npb24uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9Gb3JtU3VibWlzc2lvbi5jcHAKQEAgLTEsNiArMSw1IEBACiAv
KgogICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMTUtMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC0zMiw3ICszMSw2IEBA
CiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiRm9ybVN1Ym1pc3Npb24uaCIKIAotI2lu
Y2x1ZGUgIkNvbnRlbnRTZWN1cml0eVBvbGljeS5oIgogI2luY2x1ZGUgIkRPTUZvcm1EYXRhLmgi
CiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJFdmVudC5oIgpAQCAtMTkwLDggKzE4
OCw2IEBAIFJlZjxGb3JtU3VibWlzc2lvbj4gRm9ybVN1Ym1pc3Npb246OmNyZWF0ZShIVE1MRm9y
bUVsZW1lbnQqIGZvcm0sIGNvbnN0IEF0dHJpYnV0CiAgICAgYm9vbCBpc011bHRpUGFydEZvcm0g
PSBmYWxzZTsKICAgICBTdHJpbmcgZW5jb2RpbmdUeXBlID0gY29waWVkQXR0cmlidXRlcy5lbmNv
ZGluZ1R5cGUoKTsKIAotICAgIGRvY3VtZW50LmNvbnRlbnRTZWN1cml0eVBvbGljeSgpLT51cGdy
YWRlSW5zZWN1cmVSZXF1ZXN0SWZOZWVkZWQoYWN0aW9uVVJMLCBDb250ZW50U2VjdXJpdHlQb2xp
Y3k6Okluc2VjdXJlUmVxdWVzdFR5cGU6OkZvcm1TdWJtaXNzaW9uKTsKLQogICAgIGlmIChjb3Bp
ZWRBdHRyaWJ1dGVzLm1ldGhvZCgpID09IFBvc3RNZXRob2QpIHsKICAgICAgICAgaXNNdWx0aVBh
cnRGb3JtID0gY29waWVkQXR0cmlidXRlcy5pc011bHRpUGFydEZvcm0oKTsKICAgICAgICAgaWYg
KGlzTXVsdGlQYXJ0Rm9ybSAmJiBpc01haWx0b0Zvcm0pIHsKQEAgLTI3Myw3ICsyNjksNiBAQCB2
b2lkIEZvcm1TdWJtaXNzaW9uOjpwb3B1bGF0ZUZyYW1lTG9hZFJlcXVlc3QoRnJhbWVMb2FkUmVx
dWVzdCYgZnJhbWVSZXF1ZXN0KQogCiAgICAgZnJhbWVSZXF1ZXN0LnJlc291cmNlUmVxdWVzdCgp
LnNldFVSTChyZXF1ZXN0VVJMKCkpOwogICAgIEZyYW1lTG9hZGVyOjphZGRIVFRQT3JpZ2luSWZO
ZWVkZWQoZnJhbWVSZXF1ZXN0LnJlc291cmNlUmVxdWVzdCgpLCBtX29yaWdpbik7Ci0gICAgRnJh
bWVMb2FkZXI6OmFkZEhUVFBVcGdyYWRlSW5zZWN1cmVSZXF1ZXN0c0lmTmVlZGVkKGZyYW1lUmVx
dWVzdC5yZXNvdXJjZVJlcXVlc3QoKSk7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVM
b2FkZXIuY3BwCmluZGV4IDVlOWVhYjBlZWQ3ZTIzMDBkY2QyODkyNThjY2Q5ZTkzNmE4NjFlYTEu
LmEzYWU4ODRhMDkzOThhOWQyOWQyZmU4N2JhOTljZTgwYzY5YTZhN2EgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL0ZyYW1lTG9hZGVyLmNwcApAQCAtMzY5LDcgKzM2OSw2IEBAIHZvaWQgRnJhbWVMb2Fk
ZXI6OnVybFNlbGVjdGVkKGNvbnN0IEZyYW1lTG9hZFJlcXVlc3QmIHBhc3NlZFJlcXVlc3QsIEV2
ZW50KiB0cmlnCiAgICAgICAgIGZyYW1lUmVxdWVzdC5zZXRGcmFtZU5hbWUobV9mcmFtZS5kb2N1
bWVudCgpLT5iYXNlVGFyZ2V0KCkpOwogCiAgICAgYWRkSFRUUE9yaWdpbklmTmVlZGVkKGZyYW1l
UmVxdWVzdC5yZXNvdXJjZVJlcXVlc3QoKSwgb3V0Z29pbmdPcmlnaW4oKSk7Ci0gICAgbV9mcmFt
ZS5kb2N1bWVudCgpLT5jb250ZW50U2VjdXJpdHlQb2xpY3koKS0+dXBncmFkZUluc2VjdXJlUmVx
dWVzdElmTmVlZGVkKGZyYW1lUmVxdWVzdC5yZXNvdXJjZVJlcXVlc3QoKSwgQ29udGVudFNlY3Vy
aXR5UG9saWN5OjpJbnNlY3VyZVJlcXVlc3RUeXBlOjpOYXZpZ2F0aW9uKTsKIAogICAgIGxvYWRG
cmFtZVJlcXVlc3QoZnJhbWVSZXF1ZXN0LCB0cmlnZ2VyaW5nRXZlbnQsIG51bGxwdHIpOwogfQpA
QCAtMjU0NSw5ICsyNTQ0LDYgQEAgdm9pZCBGcmFtZUxvYWRlcjo6YWRkRXh0cmFGaWVsZHNUb01h
aW5SZXNvdXJjZVJlcXVlc3QoUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0KQogICAgIC8vIEZJWE1F
OiBVc2luZyBtX2xvYWRUeXBlIHNlZW1zIHdyb25nIGZvciBzb21lIGNhbGxlcnMuCiAgICAgLy8g
SWYgd2UgYXJlIG9ubHkgcHJlcGFyaW5nIHRvIGxvYWQgdGhlIG1haW4gcmVzb3VyY2UsIHRoYXQg
aXMgcHJldmlvdXMgbG9hZCdzIGxvYWQgdHlwZSEKICAgICBhZGRFeHRyYUZpZWxkc1RvUmVxdWVz
dChyZXF1ZXN0LCBtX2xvYWRUeXBlLCB0cnVlKTsKLQotICAgIC8vIFVwZ3JhZGUtSW5zZWN1cmUt
UmVxdWVzdHMgc2hvdWxkIG9ubHkgYmUgYWRkZWQgdG8gbWFpbiByZXNvdXJjZSByZXF1ZXN0cwot
ICAgIGFkZEhUVFBVcGdyYWRlSW5zZWN1cmVSZXF1ZXN0c0lmTmVlZGVkKHJlcXVlc3QpOwogfQog
CiB2b2lkIEZyYW1lTG9hZGVyOjphZGRFeHRyYUZpZWxkc1RvUmVxdWVzdChSZXNvdXJjZVJlcXVl
c3QmIHJlcXVlc3QsIEZyYW1lTG9hZFR5cGUgbG9hZFR5cGUsIGJvb2wgbWFpblJlc291cmNlKQpA
QCAtMjY1NCwxNiArMjY1MCw2IEBAIHZvaWQgRnJhbWVMb2FkZXI6OmFkZEhUVFBPcmlnaW5JZk5l
ZWRlZChSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFN0cmluZyYKICAgICByZXF1ZXN0
LnNldEhUVFBPcmlnaW4ob3JpZ2luKTsKIH0KIAotdm9pZCBGcmFtZUxvYWRlcjo6YWRkSFRUUFVw
Z3JhZGVJbnNlY3VyZVJlcXVlc3RzSWZOZWVkZWQoUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0KQot
ewotICAgIGlmIChyZXF1ZXN0LnVybCgpLnByb3RvY29sSXMoImh0dHBzIikpIHsKLSAgICAgICAg
Ly8gRklYTUU6IElkZW50aWZ5IEhTVFMgY2FzZXMgYW5kIGF2b2lkIGFkZGluZyB0aGUgaGVhZGVy
LiA8aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1Nzg4NT4KLSAgICAg
ICAgcmV0dXJuOwotICAgIH0KLQotICAgIHJlcXVlc3Quc2V0SFRUUEhlYWRlckZpZWxkKEhUVFBI
ZWFkZXJOYW1lOjpVcGdyYWRlSW5zZWN1cmVSZXF1ZXN0cywgQVNDSUlMaXRlcmFsKCIxIikpOwot
fQotCiB2b2lkIEZyYW1lTG9hZGVyOjpsb2FkUG9zdFJlcXVlc3QoY29uc3QgRnJhbWVMb2FkUmVx
dWVzdCYgcmVxdWVzdCwgY29uc3QgU3RyaW5nJiByZWZlcnJlciwgRnJhbWVMb2FkVHlwZSBsb2Fk
VHlwZSwgRXZlbnQqIGV2ZW50LCBQYXNzUmVmUHRyPEZvcm1TdGF0ZT4gcHJwRm9ybVN0YXRlKQog
ewogICAgIFJlZlB0cjxGb3JtU3RhdGU+IGZvcm1TdGF0ZSA9IHBycEZvcm1TdGF0ZTsKQEAgLTI2
ODgsOSArMjY3NCw2IEBAIHZvaWQgRnJhbWVMb2FkZXI6OmxvYWRQb3N0UmVxdWVzdChjb25zdCBG
cmFtZUxvYWRSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBTdHJpbmcmCiAgICAgd29ya2luZ1Jlc291
cmNlUmVxdWVzdC5zZXRIVFRQQ29udGVudFR5cGUoY29udGVudFR5cGUpOwogICAgIGFkZEV4dHJh
RmllbGRzVG9SZXF1ZXN0KHdvcmtpbmdSZXNvdXJjZVJlcXVlc3QsIGxvYWRUeXBlLCB0cnVlKTsK
IAotICAgIGlmIChEb2N1bWVudCogZG9jdW1lbnQgPSBtX2ZyYW1lLmRvY3VtZW50KCkpCi0gICAg
ICAgIGRvY3VtZW50LT5jb250ZW50U2VjdXJpdHlQb2xpY3koKS0+dXBncmFkZUluc2VjdXJlUmVx
dWVzdElmTmVlZGVkKHdvcmtpbmdSZXNvdXJjZVJlcXVlc3QsIENvbnRlbnRTZWN1cml0eVBvbGlj
eTo6SW5zZWN1cmVSZXF1ZXN0VHlwZTo6TG9hZCk7Ci0KICAgICBOYXZpZ2F0aW9uQWN0aW9uIGFj
dGlvbih3b3JraW5nUmVzb3VyY2VSZXF1ZXN0LCBsb2FkVHlwZSwgdHJ1ZSwgZXZlbnQsIHJlcXVl
c3Quc2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSgpLCByZXF1ZXN0LmRvd25sb2FkQXR0cmli
dXRlKCkpOwogCiAgICAgaWYgKCFmcmFtZU5hbWUuaXNFbXB0eSgpKSB7CkBAIC0yNzQ5LDggKzI3
MzIsNiBAQCB1bnNpZ25lZCBsb25nIEZyYW1lTG9hZGVyOjpsb2FkUmVzb3VyY2VTeW5jaHJvbm91
c2x5KGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdQogICAgIH0KICNlbmRpZgogCi0gICAgbV9m
cmFtZS5kb2N1bWVudCgpLT5jb250ZW50U2VjdXJpdHlQb2xpY3koKS0+dXBncmFkZUluc2VjdXJl
UmVxdWVzdElmTmVlZGVkKG5ld1JlcXVlc3QsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6SW5zZWN1
cmVSZXF1ZXN0VHlwZTo6TG9hZCk7Ci0gICAgCiAgICAgaWYgKGVycm9yLmlzTnVsbCgpKSB7CiAg
ICAgICAgIEFTU0VSVCghbmV3UmVxdWVzdC5pc051bGwoKSk7CiAKQEAgLTMzMzQsNyArMzMxNSw2
IEBAIHZvaWQgRnJhbWVMb2FkZXI6OmxvYWREaWZmZXJlbnREb2N1bWVudEl0ZW0oSGlzdG9yeUl0
ZW0mIGl0ZW0sIEZyYW1lTG9hZFR5cGUgbG9hCiAgICAgICAgIHJlcXVlc3Quc2V0SFRUUENvbnRl
bnRUeXBlKGl0ZW0uZm9ybUNvbnRlbnRUeXBlKCkpOwogICAgICAgICBSZWZQdHI8U2VjdXJpdHlP
cmlnaW4+IHNlY3VyaXR5T3JpZ2luID0gU2VjdXJpdHlPcmlnaW46OmNyZWF0ZUZyb21TdHJpbmco
aXRlbS5yZWZlcnJlcigpKTsKICAgICAgICAgYWRkSFRUUE9yaWdpbklmTmVlZGVkKHJlcXVlc3Qs
IHNlY3VyaXR5T3JpZ2luLT50b1N0cmluZygpKTsKLSAgICAgICAgYWRkSFRUUFVwZ3JhZGVJbnNl
Y3VyZVJlcXVlc3RzSWZOZWVkZWQocmVxdWVzdCk7CiAKICAgICAgICAgLy8gTWFrZSBzdXJlIHRv
IGFkZCBleHRyYSBmaWVsZHMgdG8gdGhlIHJlcXVlc3QgYWZ0ZXIgdGhlIE9yaWdpbiBoZWFkZXIg
aXMgYWRkZWQgZm9yIHRoZSBGb3JtRGF0YSBjYXNlLgogICAgICAgICAvLyBTZWUgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMTk0IGZvciBtb3JlIGRpc2N1c3Npb24u
CkBAIC0zNjI1LDcgKzM2MDUsNiBAQCBSZWZQdHI8RnJhbWU+IGNyZWF0ZVdpbmRvdyhGcmFtZSYg
b3BlbmVyRnJhbWUsIEZyYW1lJiBsb29rdXBGcmFtZSwgY29uc3QgRnJhbWVMbwogICAgIGlmICgh
cmVmZXJyZXIuaXNFbXB0eSgpKQogICAgICAgICByZXF1ZXN0V2l0aFJlZmVycmVyLnJlc291cmNl
UmVxdWVzdCgpLnNldEhUVFBSZWZlcnJlcihyZWZlcnJlcik7CiAgICAgRnJhbWVMb2FkZXI6OmFk
ZEhUVFBPcmlnaW5JZk5lZWRlZChyZXF1ZXN0V2l0aFJlZmVycmVyLnJlc291cmNlUmVxdWVzdCgp
LCBvcGVuZXJGcmFtZS5sb2FkZXIoKS5vdXRnb2luZ09yaWdpbigpKTsKLSAgICBGcmFtZUxvYWRl
cjo6YWRkSFRUUFVwZ3JhZGVJbnNlY3VyZVJlcXVlc3RzSWZOZWVkZWQocmVxdWVzdFdpdGhSZWZl
cnJlci5yZXNvdXJjZVJlcXVlc3QoKSk7CiAKICAgICBQYWdlKiBvbGRQYWdlID0gb3BlbmVyRnJh
bWUucGFnZSgpOwogICAgIGlmICghb2xkUGFnZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9GcmFtZUxvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVy
LmgKaW5kZXggOWJlZDcwMDgyMWM2NDdlOTg1YTIyNTY5MWI1NWNkODRhYTRmZGFiOC4uZTdmMTUy
MGY1N2I1NzgwZTU4OWQxMWYxMmM5YWVkOTlkNjI3YzM4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Zy
YW1lTG9hZGVyLmgKQEAgLTIwMiw3ICsyMDIsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBhZGRFeHRy
YUZpZWxkc1RvTWFpblJlc291cmNlUmVxdWVzdChSZXNvdXJjZVJlcXVlc3QmKTsKICAgICAKICAg
ICBzdGF0aWMgdm9pZCBhZGRIVFRQT3JpZ2luSWZOZWVkZWQoUmVzb3VyY2VSZXF1ZXN0JiwgY29u
c3QgU3RyaW5nJiBvcmlnaW4pOwotICAgIHN0YXRpYyB2b2lkIGFkZEhUVFBVcGdyYWRlSW5zZWN1
cmVSZXF1ZXN0c0lmTmVlZGVkKFJlc291cmNlUmVxdWVzdCYpOwogCiAgICAgRnJhbWVMb2FkZXJD
bGllbnQmIGNsaWVudCgpIGNvbnN0IHsgcmV0dXJuIG1fY2xpZW50OyB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9QaW5nTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9QaW5nTG9hZGVyLmNwcAppbmRleCAxMTYzNzcxNGU1NTY2MTIxZGMxMzZiZjVjYWMyMTdj
NDAwMGY3NzEyLi5iNTk5NDBlZmJiYzdkNWEyMjU3MDM0ZTZhZGFhMGIzNDQ2YmVkZWU1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUGluZ0xvYWRlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL1BpbmdMb2FkZXIuY3BwCkBAIC0xLDcgKzEsNiBAQAogLyoKICAqIENv
cHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29w
eXJpZ2h0IChDKSAyMDE1IFJvb3Blc2ggQ2hhbmRlciAocm9vcEByb29wYy5uZXQpCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMTUtMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgog
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC0zNCw3ICszMyw2IEBACiAjaW5jbHVk
ZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiUGluZ0xvYWRlci5oIgogCi0jaW5jbHVkZSAiQ29udGVu
dFNlY3VyaXR5UG9saWN5LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJGb3Jt
RGF0YS5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCkBAIC04Miw5ICs4MCw2IEBAIHZvaWQgUGluZ0xv
YWRlcjo6bG9hZEltYWdlKEZyYW1lJiBmcmFtZSwgY29uc3QgVVJMJiB1cmwpCiAgICAgICAgIHJl
dHVybjsKICNlbmRpZgogCi0gICAgaWYgKERvY3VtZW50KiBkb2N1bWVudCA9IGZyYW1lLmRvY3Vt
ZW50KCkpCi0gICAgICAgIGRvY3VtZW50LT5jb250ZW50U2VjdXJpdHlQb2xpY3koKS0+dXBncmFk
ZUluc2VjdXJlUmVxdWVzdElmTmVlZGVkKHJlcXVlc3QsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6
SW5zZWN1cmVSZXF1ZXN0VHlwZTo6TG9hZCk7Ci0KICAgICByZXF1ZXN0LnNldEhUVFBIZWFkZXJG
aWVsZChIVFRQSGVhZGVyTmFtZTo6Q2FjaGVDb250cm9sLCAibWF4LWFnZT0wIik7CiAgICAgU3Ry
aW5nIHJlZmVycmVyID0gU2VjdXJpdHlQb2xpY3k6OmdlbmVyYXRlUmVmZXJyZXJIZWFkZXIoZnJh
bWUuZG9jdW1lbnQoKS0+cmVmZXJyZXJQb2xpY3koKSwgcmVxdWVzdC51cmwoKSwgZnJhbWUubG9h
ZGVyKCkub3V0Z29pbmdSZWZlcnJlcigpKTsKICAgICBpZiAoIXJlZmVycmVyLmlzRW1wdHkoKSkK
QEAgLTEwNyw4ICsxMDIsNiBAQCB2b2lkIFBpbmdMb2FkZXI6OnNlbmRQaW5nKEZyYW1lJiBmcmFt
ZSwgY29uc3QgVVJMJiBwaW5nVVJMLCBjb25zdCBVUkwmIGRlc3RpbmF0aQogICAgICAgICByZXR1
cm47CiAjZW5kaWYKIAotICAgIGZyYW1lLmRvY3VtZW50KCktPmNvbnRlbnRTZWN1cml0eVBvbGlj
eSgpLT51cGdyYWRlSW5zZWN1cmVSZXF1ZXN0SWZOZWVkZWQocmVxdWVzdCwgQ29udGVudFNlY3Vy
aXR5UG9saWN5OjpJbnNlY3VyZVJlcXVlc3RUeXBlOjpMb2FkKTsKLQogICAgIHJlcXVlc3Quc2V0
SFRUUE1ldGhvZCgiUE9TVCIpOwogICAgIHJlcXVlc3Quc2V0SFRUUENvbnRlbnRUeXBlKCJ0ZXh0
L3BpbmciKTsKICAgICByZXF1ZXN0LnNldEhUVFBCb2R5KEZvcm1EYXRhOjpjcmVhdGUoIlBJTkci
KSk7CkBAIC0xNDAsOSArMTMzLDYgQEAgdm9pZCBQaW5nTG9hZGVyOjpzZW5kVmlvbGF0aW9uUmVw
b3J0KEZyYW1lJiBmcmFtZSwgY29uc3QgVVJMJiByZXBvcnRVUkwsIFJlZlB0cjwKICAgICAgICAg
cmV0dXJuOwogI2VuZGlmCiAKLSAgICBpZiAoRG9jdW1lbnQqIGRvY3VtZW50ID0gZnJhbWUuZG9j
dW1lbnQoKSkKLSAgICAgICAgZG9jdW1lbnQtPmNvbnRlbnRTZWN1cml0eVBvbGljeSgpLT51cGdy
YWRlSW5zZWN1cmVSZXF1ZXN0SWZOZWVkZWQocmVxdWVzdCwgQ29udGVudFNlY3VyaXR5UG9saWN5
OjpJbnNlY3VyZVJlcXVlc3RUeXBlOjpMb2FkKTsKLQogICAgIHJlcXVlc3Quc2V0SFRUUE1ldGhv
ZChBU0NJSUxpdGVyYWwoIlBPU1QiKSk7CiAgICAgcmVxdWVzdC5zZXRIVFRQQm9keShXVEZNb3Zl
KHJlcG9ydCkpOwogICAgIHN3aXRjaCAocmVwb3J0VHlwZSkgewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL1N1YmZyYW1lTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9TdWJmcmFtZUxvYWRlci5jcHAKaW5kZXggMzgxMzU3MDQzNGNjNjcwYmEwYmRkOTgwY2Y1YjY1
YzBjZDI3OGE2Yy4uMzhjYjA0NjAwNjUzZGE0MzJkOWYzMzFjODU2OTg4YTJjMjA0ODJlZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YmZyYW1lTG9hZGVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvU3ViZnJhbWVMb2FkZXIuY3BwCkBAIC0xLDUgKzEsNSBAQAog
LyoKLSAqIENvcHlyaWdodCAoQykgMjAwNi0yMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNywgMjAwOCwgMjAwOSwgMjAxMCwgMjAx
MSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDgg
Tm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCiAgKiBDb3B5cmln
aHQgKEMpIDIwMDgsIDIwMDkgVG9yY2ggTW9iaWxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4g
KGh0dHA6Ly93d3cudG9yY2htb2JpbGUuY29tLykKICAqIENvcHlyaWdodCAoQykgMjAwOCBBbHAg
VG9rZXIgPGFscEBhdG9rZXIuY29tPgpAQCAtMjMxLDggKzIzMSw2IEBAIGJvb2wgU3ViZnJhbWVM
b2FkZXI6OnJlcXVlc3RPYmplY3QoSFRNTFBsdWdJbkltYWdlRWxlbWVudCYgb3duZXJFbGVtZW50
LCBjb25zdCBTCiAgICAgaWYgKCF1cmwuaXNFbXB0eSgpKQogICAgICAgICBjb21wbGV0ZWRVUkwg
PSBjb21wbGV0ZVVSTCh1cmwpOwogCi0gICAgZG9jdW1lbnQoKS0+Y29udGVudFNlY3VyaXR5UG9s
aWN5KCktPnVwZ3JhZGVJbnNlY3VyZVJlcXVlc3RJZk5lZWRlZChjb21wbGV0ZWRVUkwsIENvbnRl
bnRTZWN1cml0eVBvbGljeTo6SW5zZWN1cmVSZXF1ZXN0VHlwZTo6TG9hZCk7Ci0KICAgICBib29s
IGhhc0ZhbGxiYWNrQ29udGVudCA9IGlzPEhUTUxPYmplY3RFbGVtZW50Pihvd25lckVsZW1lbnQp
ICYmIGRvd25jYXN0PEhUTUxPYmplY3RFbGVtZW50Pihvd25lckVsZW1lbnQpLmhhc0ZhbGxiYWNr
Q29udGVudCgpOwogCiAgICAgYm9vbCB1c2VGYWxsYmFjazsKQEAgLTMwMiwxMSArMzAwLDggQEAg
UGFzc1JlZlB0cjxXaWRnZXQ+IFN1YmZyYW1lTG9hZGVyOjpjcmVhdGVKYXZhQXBwbGV0V2lkZ2V0
KGNvbnN0IEludFNpemUmIHNpemUsIEgKICAgICByZXR1cm4gd2lkZ2V0OwogfQogCi1GcmFtZSog
U3ViZnJhbWVMb2FkZXI6OmxvYWRPclJlZGlyZWN0U3ViZnJhbWUoSFRNTEZyYW1lT3duZXJFbGVt
ZW50JiBvd25lckVsZW1lbnQsIGNvbnN0IFVSTCYgcmVxdWVzdFVybCwgY29uc3QgQXRvbWljU3Ry
aW5nJiBmcmFtZU5hbWUsIExvY2tIaXN0b3J5IGxvY2tIaXN0b3J5LCBMb2NrQmFja0ZvcndhcmRM
aXN0IGxvY2tCYWNrRm9yd2FyZExpc3QpCitGcmFtZSogU3ViZnJhbWVMb2FkZXI6OmxvYWRPclJl
ZGlyZWN0U3ViZnJhbWUoSFRNTEZyYW1lT3duZXJFbGVtZW50JiBvd25lckVsZW1lbnQsIGNvbnN0
IFVSTCYgdXJsLCBjb25zdCBBdG9taWNTdHJpbmcmIGZyYW1lTmFtZSwgTG9ja0hpc3RvcnkgbG9j
a0hpc3RvcnksIExvY2tCYWNrRm9yd2FyZExpc3QgbG9ja0JhY2tGb3J3YXJkTGlzdCkKIHsKLSAg
ICBVUkwgdXJsID0gcmVxdWVzdFVybDsKLSAgICBvd25lckVsZW1lbnQuZG9jdW1lbnQoKS5jb250
ZW50U2VjdXJpdHlQb2xpY3koKS0+dXBncmFkZUluc2VjdXJlUmVxdWVzdElmTmVlZGVkKHVybCwg
Q29udGVudFNlY3VyaXR5UG9saWN5OjpJbnNlY3VyZVJlcXVlc3RUeXBlOjpMb2FkKTsKLQogICAg
IEZyYW1lKiBmcmFtZSA9IG93bmVyRWxlbWVudC5jb250ZW50RnJhbWUoKTsKICAgICBpZiAoZnJh
bWUpCiAgICAgICAgIGZyYW1lLT5uYXZpZ2F0aW9uU2NoZWR1bGVyKCkuc2NoZWR1bGVMb2NhdGlv
bkNoYW5nZShtX2ZyYW1lLmRvY3VtZW50KCksIG1fZnJhbWUuZG9jdW1lbnQoKS0+c2VjdXJpdHlP
cmlnaW4oKSwgdXJsLCBtX2ZyYW1lLmxvYWRlcigpLm91dGdvaW5nUmVmZXJyZXIoKSwgbG9ja0hp
c3RvcnksIGxvY2tCYWNrRm9yd2FyZExpc3QpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVIb3N0LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlSG9zdC5jcHAKaW5kZXggMzdjMmVjZjdk
ZDIxZjMzNTA5ZWQ3MTBhZWNiMmM2YTU1NTdkOTA3NC4uNGUxMzQ4NTQwZTU0NWIxYWMwZDBhNzRi
MGY1YzM2NmJhODExOWUxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNh
Y2hlL0FwcGxpY2F0aW9uQ2FjaGVIb3N0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
YXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUhvc3QuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAq
IENvcHlyaWdodCAoQykgMjAwOC0yMDE2IEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4K
KyAqIENvcHlyaWdodCAoQykgMjAwOCwgMjAwOSBBcHBsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2
ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI5LDcgKzI5LDYgQEAKICNp
bmNsdWRlICJBcHBsaWNhdGlvbkNhY2hlLmgiCiAjaW5jbHVkZSAiQXBwbGljYXRpb25DYWNoZUdy
b3VwLmgiCiAjaW5jbHVkZSAiQXBwbGljYXRpb25DYWNoZVJlc291cmNlLmgiCi0jaW5jbHVkZSAi
Q29udGVudFNlY3VyaXR5UG9saWN5LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRMb2FkZXIuaCIKICNp
bmNsdWRlICJET01BcHBsaWNhdGlvbkNhY2hlLmgiCiAjaW5jbHVkZSAiRmlsZVN5c3RlbS5oIgpA
QCAtMzcxLDE4ICszNzAsMTIgQEAgdm9pZCBBcHBsaWNhdGlvbkNhY2hlSG9zdDo6c2V0QXBwbGlj
YXRpb25DYWNoZShQYXNzUmVmUHRyPEFwcGxpY2F0aW9uQ2FjaGU+IGFwcGwKICAgICBtX2FwcGxp
Y2F0aW9uQ2FjaGUgPSBhcHBsaWNhdGlvbkNhY2hlOwogfQogCi1ib29sIEFwcGxpY2F0aW9uQ2Fj
aGVIb3N0OjpzaG91bGRMb2FkUmVzb3VyY2VGcm9tQXBwbGljYXRpb25DYWNoZShjb25zdCBSZXNv
dXJjZVJlcXVlc3QmIG9yaWdpbmFsUmVxdWVzdCwgQXBwbGljYXRpb25DYWNoZVJlc291cmNlKiYg
cmVzb3VyY2UpCitib29sIEFwcGxpY2F0aW9uQ2FjaGVIb3N0OjpzaG91bGRMb2FkUmVzb3VyY2VG
cm9tQXBwbGljYXRpb25DYWNoZShjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIEFwcGxp
Y2F0aW9uQ2FjaGVSZXNvdXJjZSomIHJlc291cmNlKQogewogICAgIEFwcGxpY2F0aW9uQ2FjaGUq
IGNhY2hlID0gYXBwbGljYXRpb25DYWNoZSgpOwogICAgIGlmICghY2FjaGUgfHwgIWNhY2hlLT5p
c0NvbXBsZXRlKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIFJlc291cmNlUmVxdWVz
dCByZXF1ZXN0KG9yaWdpbmFsUmVxdWVzdCk7Ci0gICAgaWYgKEZyYW1lKiBsb2FkZXJGcmFtZSA9
IG1fZG9jdW1lbnRMb2FkZXIuZnJhbWUoKSkgewotICAgICAgICBpZiAoRG9jdW1lbnQqIGRvY3Vt
ZW50ID0gbG9hZGVyRnJhbWUtPmRvY3VtZW50KCkpCi0gICAgICAgICAgICBkb2N1bWVudC0+Y29u
dGVudFNlY3VyaXR5UG9saWN5KCktPnVwZ3JhZGVJbnNlY3VyZVJlcXVlc3RJZk5lZWRlZChyZXF1
ZXN0LCBDb250ZW50U2VjdXJpdHlQb2xpY3k6Okluc2VjdXJlUmVxdWVzdFR5cGU6OkxvYWQpOwot
ICAgIH0KLSAgICAKICAgICAvLyBJZiB0aGUgcmVzb3VyY2UgaXMgbm90IHRvIGJlIGZldGNoZWQg
dXNpbmcgdGhlIEhUVFAgR0VUIG1lY2hhbmlzbSBvciBlcXVpdmFsZW50LCBvciBpZiBpdHMgVVJM
IGhhcyBhIGRpZmZlcmVudAogICAgIC8vIDxzY2hlbWU+IGNvbXBvbmVudCB0aGFuIHRoZSBhcHBs
aWNhdGlvbiBjYWNoZSdzIG1hbmlmZXN0LCB0aGVuIGZldGNoIHRoZSByZXNvdXJjZSBub3JtYWxs
eS4KICAgICBpZiAoIUFwcGxpY2F0aW9uQ2FjaGU6OnJlcXVlc3RJc0hUVFBPckhUVFBTR2V0KHJl
cXVlc3QpIHx8ICFlcXVhbElnbm9yaW5nQVNDSUlDYXNlKHJlcXVlc3QudXJsKCkucHJvdG9jb2wo
KSwgY2FjaGUtPm1hbmlmZXN0UmVzb3VyY2UoKS0+dXJsKCkucHJvdG9jb2woKSkpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcApp
bmRleCAzNDNmNGQxOWVjZTg1MmFlODYxZTAwMzlhZWM1ZjE3ZTdhZjIyZTU0Li44ZGU2ZWY0NDAy
MGIwMWQwYWIzMGQ4Y2Q4OGZjOWI4OTY0NGZlYTNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTIsNyArMiw3IEBA
CiAgICAgQ29weXJpZ2h0IChDKSAxOTk4IExhcnMgS25vbGwgKGtub2xsQG1waS1oZC5tcGcuZGUp
CiAgICAgQ29weXJpZ2h0IChDKSAyMDAxIERpcmsgTXVlbGxlciAobXVlbGxlckBrZGUub3JnKQog
ICAgIENvcHlyaWdodCAoQykgMjAwMiBXYWxkbyBCYXN0aWFuIChiYXN0aWFuQGtkZS5vcmcpCi0g
ICAgQ29weXJpZ2h0IChDKSAyMDA0LTIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICAgIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiwgMjAwNywgMjAwOCwgMjAwOSwg
MjAxMCwgMjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICAgQ29weXJpZ2h0
IChDKSAyMDA5IFRvcmNoIE1vYmlsZSBJbmMuIGh0dHA6Ly93d3cudG9yY2htb2JpbGUuY29tLwog
CiAgICAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl
IGl0IGFuZC9vcgpAQCAtMTc5LDggKzE3OSw2IEBAIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hl
ZEltYWdlPiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdEltYWdlKENhY2hlZFJlc291CiB7
CiAgICAgaWYgKEZyYW1lKiBmcmFtZSA9IHRoaXMtPmZyYW1lKCkpIHsKICAgICAgICAgaWYgKGZy
YW1lLT5sb2FkZXIoKS5wYWdlRGlzbWlzc2FsRXZlbnRCZWluZ0Rpc3BhdGNoZWQoKSAhPSBGcmFt
ZUxvYWRlcjo6UGFnZURpc21pc3NhbFR5cGU6Ok5vbmUpIHsKLSAgICAgICAgICAgIGlmIChEb2N1
bWVudCogZG9jdW1lbnQgPSBmcmFtZS0+ZG9jdW1lbnQoKSkKLSAgICAgICAgICAgICAgICBkb2N1
bWVudC0+Y29udGVudFNlY3VyaXR5UG9saWN5KCktPnVwZ3JhZGVJbnNlY3VyZVJlcXVlc3RJZk5l
ZWRlZChyZXF1ZXN0Lm11dGFibGVSZXNvdXJjZVJlcXVlc3QoKSwgQ29udGVudFNlY3VyaXR5UG9s
aWN5OjpJbnNlY3VyZVJlcXVlc3RUeXBlOjpMb2FkKTsKICAgICAgICAgICAgIFVSTCByZXF1ZXN0
VVJMID0gcmVxdWVzdC5yZXNvdXJjZVJlcXVlc3QoKS51cmwoKTsKICAgICAgICAgICAgIGlmIChy
ZXF1ZXN0VVJMLmlzVmFsaWQoKSAmJiBjYW5SZXF1ZXN0KENhY2hlZFJlc291cmNlOjpJbWFnZVJl
c291cmNlLCByZXF1ZXN0VVJMLCByZXF1ZXN0Lm9wdGlvbnMoKSwgcmVxdWVzdC5mb3JQcmVsb2Fk
KCkpKQogICAgICAgICAgICAgICAgIFBpbmdMb2FkZXI6OmxvYWRJbWFnZSgqZnJhbWUsIHJlcXVl
c3RVUkwpOwpAQCAtNTQ5LDkgKzU0Nyw2IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBsb2dNZW1vcnlD
YWNoZVJlc291cmNlUmVxdWVzdChGcmFtZSogZnJhbWUsIGNvbnN0IFN0cmluZyYgZGVzCiAKIENh
Y2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFJlc291cmNlPiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6
cmVxdWVzdFJlc291cmNlKENhY2hlZFJlc291cmNlOjpUeXBlIHR5cGUsIENhY2hlZFJlc291cmNl
UmVxdWVzdCYgcmVxdWVzdCkKIHsKLSAgICBpZiAoRG9jdW1lbnQqIGRvY3VtZW50ID0gdGhpcy0+
ZG9jdW1lbnQoKSkKLSAgICAgICAgZG9jdW1lbnQtPmNvbnRlbnRTZWN1cml0eVBvbGljeSgpLT51
cGdyYWRlSW5zZWN1cmVSZXF1ZXN0SWZOZWVkZWQocmVxdWVzdC5tdXRhYmxlUmVzb3VyY2VSZXF1
ZXN0KCksIENvbnRlbnRTZWN1cml0eVBvbGljeTo6SW5zZWN1cmVSZXF1ZXN0VHlwZTo6TG9hZCk7
Ci0gICAgCiAgICAgVVJMIHVybCA9IHJlcXVlc3QucmVzb3VyY2VSZXF1ZXN0KCkudXJsKCk7CiAg
ICAgCiAgICAgTE9HKFJlc291cmNlTG9hZGluZywgIkNhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1
ZXN0UmVzb3VyY2UgJyVzJywgY2hhcnNldCAnJXMnLCBwcmlvcml0eT0lZCwgZm9yUHJlbG9hZD0l
dSIsIHVybC5zdHJpbmdDZW50ZXJFbGxpcHNpemVkVG9MZW5ndGgoKS5sYXRpbjEoKS5kYXRhKCks
IHJlcXVlc3QuY2hhcnNldCgpLmxhdGluMSgpLmRhdGEoKSwgcmVxdWVzdC5wcmlvcml0eSgpID8g
c3RhdGljX2Nhc3Q8aW50PihyZXF1ZXN0LnByaW9yaXR5KCkudmFsdWUoKSkgOiAtMSwgcmVxdWVz
dC5mb3JQcmVsb2FkKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9jc3AvQ29u
dGVudFNlY3VyaXR5UG9saWN5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRlbnRT
ZWN1cml0eVBvbGljeS5jcHAKaW5kZXggZTdkZTBhOGRkOGRjMDNhZTg0ZjE5YzAyMzA1MjY4ZmIx
YjBiOTYwMi4uODFkMWY0MjRhNzBiZGIyY2IzNTllOTMzMTM3NjcxYTgxMTBiNjc5OSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3kuY3BwCkBA
IC00Niw3ICs0Niw2IEBACiAjaW5jbHVkZSAiSlNNYWluVGhyZWFkRXhlY1N0YXRlLmgiCiAjaW5j
bHVkZSAiUGFyc2luZ1V0aWxpdGllcy5oIgogI2luY2x1ZGUgIlBpbmdMb2FkZXIuaCIKLSNpbmNs
dWRlICJSZXNvdXJjZVJlcXVlc3QuaCIKICNpbmNsdWRlICJSdW50aW1lRW5hYmxlZEZlYXR1cmVz
LmgiCiAjaW5jbHVkZSAiU2NoZW1lUmVnaXN0cnkuaCIKICNpbmNsdWRlICJTZWN1cml0eU9yaWdp
bi5oIgpAQCAtMTEyLDkgKzExMSw2IEBAIHZvaWQgQ29udGVudFNlY3VyaXR5UG9saWN5Ojpjb3B5
U3RhdGVGcm9tKGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeSogb3RoZXIpCiAgICAgQVNTRVJU
KG1fcG9saWNpZXMuaXNFbXB0eSgpKTsKICAgICBmb3IgKGF1dG8mIHBvbGljeSA6IG90aGVyLT5t
X3BvbGljaWVzKQogICAgICAgICBkaWRSZWNlaXZlSGVhZGVyKHBvbGljeS0+aGVhZGVyKCksIHBv
bGljeS0+aGVhZGVyVHlwZSgpLCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OlBvbGljeUZyb206Oklu
aGVyaXRlZCk7Ci0KLSAgICBtX3VwZ3JhZGVJbnNlY3VyZVJlcXVlc3RzID0gb3RoZXItPm1fdXBn
cmFkZUluc2VjdXJlUmVxdWVzdHM7Ci0gICAgbV9pbnNlY3VyZU5hdmlnYXRpb25SZXF1ZXN0c1Rv
VXBncmFkZS5hZGQob3RoZXItPm1faW5zZWN1cmVOYXZpZ2F0aW9uUmVxdWVzdHNUb1VwZ3JhZGUu
YmVnaW4oKSwgb3RoZXItPm1faW5zZWN1cmVOYXZpZ2F0aW9uUmVxdWVzdHNUb1VwZ3JhZGUuZW5k
KCkpOwogfQogCiB2b2lkIENvbnRlbnRTZWN1cml0eVBvbGljeTo6ZGlkQ3JlYXRlV2luZG93U2hl
bGwoSlNET01XaW5kb3dTaGVsbCYgd2luZG93U2hlbGwpIGNvbnN0CkBAIC03NTgsNzAgKzc1NCw1
IEBAIGJvb2wgQ29udGVudFNlY3VyaXR5UG9saWN5OjpleHBlcmltZW50YWxGZWF0dXJlc0VuYWJs
ZWQoKSBjb25zdAogICAgIHJldHVybiBmYWxzZTsKICNlbmRpZgogfQotCi12b2lkIENvbnRlbnRT
ZWN1cml0eVBvbGljeTo6dXBncmFkZUluc2VjdXJlUmVxdWVzdElmTmVlZGVkKFJlc291cmNlUmVx
dWVzdCYgcmVxdWVzdCwgSW5zZWN1cmVSZXF1ZXN0VHlwZSByZXF1ZXN0VHlwZSkKLXsKLSAgICBV
UkwgdXJsID0gcmVxdWVzdC51cmwoKTsKLSAgICB1cGdyYWRlSW5zZWN1cmVSZXF1ZXN0SWZOZWVk
ZWQodXJsLCByZXF1ZXN0VHlwZSk7Ci0gICAgcmVxdWVzdC5zZXRVUkwodXJsKTsKLX0KLQotdm9p
ZCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OnVwZ3JhZGVJbnNlY3VyZVJlcXVlc3RJZk5lZWRlZChV
UkwmIHVybCwgSW5zZWN1cmVSZXF1ZXN0VHlwZSByZXF1ZXN0VHlwZSkKLXsKLSAgICBpZiAoIXVy
bC5wcm90b2NvbElzKCJodHRwIikgJiYgIXVybC5wcm90b2NvbElzKCJ3cyIpKQotICAgICAgICBy
ZXR1cm47Ci0KLSAgICBib29sIHVwZ3JhZGVSZXF1ZXN0ID0gbV9pbnNlY3VyZU5hdmlnYXRpb25S
ZXF1ZXN0c1RvVXBncmFkZS5jb250YWlucyhTZWN1cml0eU9yaWdpbjo6Y3JlYXRlKHVybCkpOwot
ICAgIGlmIChyZXF1ZXN0VHlwZSA9PSBJbnNlY3VyZVJlcXVlc3RUeXBlOjpMb2FkIHx8IHJlcXVl
c3RUeXBlID09IEluc2VjdXJlUmVxdWVzdFR5cGU6OkZvcm1TdWJtaXNzaW9uKQotICAgICAgICB1
cGdyYWRlUmVxdWVzdCB8PSBtX3VwZ3JhZGVJbnNlY3VyZVJlcXVlc3RzOwotICAgIAotICAgIGlm
ICghdXBncmFkZVJlcXVlc3QpCi0gICAgICAgIHJldHVybjsKLQotICAgIGlmICh1cmwucHJvdG9j
b2xJcygiaHR0cCIpKQotICAgICAgICB1cmwuc2V0UHJvdG9jb2woImh0dHBzIik7Ci0gICAgZWxz
ZSBpZiAodXJsLnByb3RvY29sSXMoIndzIikpCi0gICAgICAgIHVybC5zZXRQcm90b2NvbCgid3Nz
Iik7Ci0gICAgZWxzZQotICAgICAgICByZXR1cm47Ci0gICAgCi0gICAgaWYgKHVybC5wb3J0KCkg
PT0gODApCi0gICAgICAgIHVybC5zZXRQb3J0KDQ0Myk7Ci19Ci0KLXZvaWQgQ29udGVudFNlY3Vy
aXR5UG9saWN5OjpzZXRVcGdyYWRlSW5zZWN1cmVSZXF1ZXN0cyhib29sIHVwZ3JhZGVJbnNlY3Vy
ZVJlcXVlc3RzKQotewotICAgIG1fdXBncmFkZUluc2VjdXJlUmVxdWVzdHMgPSB1cGdyYWRlSW5z
ZWN1cmVSZXF1ZXN0czsKLSAgICBpZiAoIW1fdXBncmFkZUluc2VjdXJlUmVxdWVzdHMpCi0gICAg
ICAgIHJldHVybjsKLQotICAgIGlmICghbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0KQotICAgICAg
ICByZXR1cm47Ci0KLSAgICAvLyBTdG9yZSB0aGUgdXBncmFkZSBkb21haW4gYXMgYW4gJ2luc2Vj
dXJlJyBwcm90b2NvbCBzbyB3ZSBjYW4gcXVpY2tseSBpZGVudGlmeQotICAgIC8vIG9yaWdpbnMg
d2Ugc2hvdWxkIHVwZ3JhZGUuCi0gICAgVVJMIHVwZ3JhZGVVUkwgPSBtX3NjcmlwdEV4ZWN1dGlv
bkNvbnRleHQtPnVybCgpOwotICAgIGlmICh1cGdyYWRlVVJMLnByb3RvY29sSXMoImh0dHBzIikp
Ci0gICAgICAgIHVwZ3JhZGVVUkwuc2V0UHJvdG9jb2woImh0dHAiKTsKLSAgICBlbHNlIGlmICh1
cGdyYWRlVVJMLnByb3RvY29sSXMoIndzcyIpKQotICAgICAgICB1cGdyYWRlVVJMLnNldFByb3Rv
Y29sKCJ3cyIpOwogICAgIAotICAgIG1faW5zZWN1cmVOYXZpZ2F0aW9uUmVxdWVzdHNUb1VwZ3Jh
ZGUuYWRkKFNlY3VyaXR5T3JpZ2luOjpjcmVhdGUodXBncmFkZVVSTCkpOwotfQotCi12b2lkIENv
bnRlbnRTZWN1cml0eVBvbGljeTo6aW5oZXJpdEluc2VjdXJlTmF2aWdhdGlvblJlcXVlc3RzVG9V
cGdyYWRlRnJvbU9wZW5lcihjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3kmIG90aGVyKQotewot
ICAgIG1faW5zZWN1cmVOYXZpZ2F0aW9uUmVxdWVzdHNUb1VwZ3JhZGUuYWRkKG90aGVyLm1faW5z
ZWN1cmVOYXZpZ2F0aW9uUmVxdWVzdHNUb1VwZ3JhZGUuYmVnaW4oKSwgb3RoZXIubV9pbnNlY3Vy
ZU5hdmlnYXRpb25SZXF1ZXN0c1RvVXBncmFkZS5lbmQoKSk7Ci19Ci0KLUhhc2hTZXQ8UmVmUHRy
PFNlY3VyaXR5T3JpZ2luPj4mJiBDb250ZW50U2VjdXJpdHlQb2xpY3k6OnRha2VOYXZpZ2F0aW9u
UmVxdWVzdHNUb1VwZ3JhZGUoKQotewotICAgIHJldHVybiBXVEZNb3ZlKG1faW5zZWN1cmVOYXZp
Z2F0aW9uUmVxdWVzdHNUb1VwZ3JhZGUpOwotfQotCi12b2lkIENvbnRlbnRTZWN1cml0eVBvbGlj
eTo6c2V0SW5zZWN1cmVOYXZpZ2F0aW9uUmVxdWVzdHNUb1VwZ3JhZGUoSGFzaFNldDxSZWZQdHI8
U2VjdXJpdHlPcmlnaW4+PiYmIGluc2VjdXJlTmF2aWdhdGlvblJlcXVlc3RzKQotewotICAgIG1f
aW5zZWN1cmVOYXZpZ2F0aW9uUmVxdWVzdHNUb1VwZ3JhZGUgPSBXVEZNb3ZlKGluc2VjdXJlTmF2
aWdhdGlvblJlcXVlc3RzKTsKLX0KLQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9D
b250ZW50U2VjdXJpdHlQb2xpY3kuaAppbmRleCBiODMyNjA3YWFiOWU3NzBiNjZiMjdlNTdkYTMw
OWRjNDI5YWY5ZWIxLi5kZmQ3ZjU1ZTdkN2NjY2Y5NTYyZjAxYzVlZjhkMDk1ODgzYzMzZmM4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3ku
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3kuaApA
QCAtMjcsOSArMjcsNiBAQAogI3ByYWdtYSBvbmNlCiAKICNpbmNsdWRlICJDb250ZW50U2VjdXJp
dHlQb2xpY3lSZXNwb25zZUhlYWRlcnMuaCIKLSNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgot
I2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luSGFzaC5oIgotI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+
CiAjaW5jbHVkZSA8d3RmL09wdGlvblNldC5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KICNp
bmNsdWRlIDx3dGYvdGV4dC9UZXh0UG9zaXRpb24uaD4KQEAgLTUwLDcgKzQ3LDYgQEAgY2xhc3Mg
Q29udGVudFNlY3VyaXR5UG9saWN5U291cmNlOwogY2xhc3MgRE9NU3RyaW5nTGlzdDsKIGNsYXNz
IEZyYW1lOwogY2xhc3MgSlNET01XaW5kb3dTaGVsbDsKLWNsYXNzIFJlc291cmNlUmVxdWVzdDsK
IGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiBjbGFzcyBTZWN1cml0eU9yaWdpbjsKIGNs
YXNzIFRleHRFbmNvZGluZzsKQEAgLTE1MiwxNiArMTQ4LDYgQEAgcHVibGljOgogICAgIC8vIFVz
ZWQgYnkgQ29udGVudFNlY3VyaXR5UG9saWN5U291cmNlCiAgICAgYm9vbCBwcm90b2NvbE1hdGNo
ZXNTZWxmKGNvbnN0IFVSTCYpIGNvbnN0OwogCi0gICAgdm9pZCBzZXRVcGdyYWRlSW5zZWN1cmVS
ZXF1ZXN0cyhib29sKTsKLSAgICBib29sIHVwZ3JhZGVJbnNlY3VyZVJlcXVlc3RzKCkgY29uc3Qg
eyByZXR1cm4gbV91cGdyYWRlSW5zZWN1cmVSZXF1ZXN0czsgfQotICAgIGVudW0gY2xhc3MgSW5z
ZWN1cmVSZXF1ZXN0VHlwZSB7IExvYWQsIEZvcm1TdWJtaXNzaW9uLCBOYXZpZ2F0aW9uIH07Ci0g
ICAgdm9pZCB1cGdyYWRlSW5zZWN1cmVSZXF1ZXN0SWZOZWVkZWQoUmVzb3VyY2VSZXF1ZXN0Jiwg
SW5zZWN1cmVSZXF1ZXN0VHlwZSk7Ci0gICAgdm9pZCB1cGdyYWRlSW5zZWN1cmVSZXF1ZXN0SWZO
ZWVkZWQoVVJMJiwgSW5zZWN1cmVSZXF1ZXN0VHlwZSk7Ci0KLSAgICBIYXNoU2V0PFJlZlB0cjxT
ZWN1cml0eU9yaWdpbj4+JiYgdGFrZU5hdmlnYXRpb25SZXF1ZXN0c1RvVXBncmFkZSgpOwotICAg
IHZvaWQgaW5oZXJpdEluc2VjdXJlTmF2aWdhdGlvblJlcXVlc3RzVG9VcGdyYWRlRnJvbU9wZW5l
cihjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3kmKTsKLSAgICB2b2lkIHNldEluc2VjdXJlTmF2
aWdhdGlvblJlcXVlc3RzVG9VcGdyYWRlKEhhc2hTZXQ8UmVmUHRyPFNlY3VyaXR5T3JpZ2luPj4m
Jik7Ci0KIHByaXZhdGU6CiAgICAgdm9pZCBsb2dUb0NvbnNvbGUoY29uc3QgU3RyaW5nJiBtZXNz
YWdlLCBjb25zdCBTdHJpbmcmIGNvbnRleHRVUkwgPSBTdHJpbmcoKSwgY29uc3QgV1RGOjpPcmRp
bmFsTnVtYmVyJiBjb250ZXh0TGluZSA9IFdURjo6T3JkaW5hbE51bWJlcjo6YmVmb3JlRmlyc3Qo
KSwgSlNDOjpFeGVjU3RhdGUqID0gbnVsbHB0cikgY29uc3Q7CiAgICAgdm9pZCB1cGRhdGVTb3Vy
Y2VTZWxmKGNvbnN0IFNlY3VyaXR5T3JpZ2luJik7CkBAIC0xODgsMTAgKzE3NCw4IEBAIHByaXZh
dGU6CiAgICAgU2FuZGJveEZsYWdzIG1fc2FuZGJveEZsYWdzOwogICAgIGJvb2wgbV9vdmVycmlk
ZUlubGluZVN0eWxlQWxsb3dlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzUmVwb3J0aW5nRW5h
YmxlZCB7IHRydWUgfTsKLSAgICBib29sIG1fdXBncmFkZUluc2VjdXJlUmVxdWVzdHMgeyBmYWxz
ZSB9OwogICAgIE9wdGlvblNldDxDb250ZW50U2VjdXJpdHlQb2xpY3lIYXNoQWxnb3JpdGhtPiBt
X2hhc2hBbGdvcml0aG1zRm9ySW5saW5lU2NyaXB0czsKICAgICBPcHRpb25TZXQ8Q29udGVudFNl
Y3VyaXR5UG9saWN5SGFzaEFsZ29yaXRobT4gbV9oYXNoQWxnb3JpdGhtc0ZvcklubGluZVN0eWxl
c2hlZXRzOwotICAgIEhhc2hTZXQ8UmVmUHRyPFNlY3VyaXR5T3JpZ2luPj4gbV9pbnNlY3VyZU5h
dmlnYXRpb25SZXF1ZXN0c1RvVXBncmFkZTsKIH07CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFByZWRp
Y2F0ZSwgdHlwZW5hbWUuLi4gQXJncz4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
Y3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeURpcmVjdGl2ZUxpc3QuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZlTGlzdC5jcHAKaW5kZXgg
ZmVkZDNmNjYwNmY0ODEwMzYzMDAwYzI4YmRhYTNjZjA5M2Q1NDc1MC4uMzJiYWVhNTI0MDIyZmU4
ZjQ5NDJmNzFhMGMxODM3MzNiZDdmZTg0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZlTGlzdC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZlTGlzdC5jcHAK
QEAgLTEwMCw2ICsxMDAsOCBAQCBzdGF0aWMgaW5saW5lIGJvb2wgY2hlY2tNZWRpYVR5cGUoQ29u
dGVudFNlY3VyaXR5UG9saWN5TWVkaWFMaXN0RGlyZWN0aXZlKiBkaXJlYwogQ29udGVudFNlY3Vy
aXR5UG9saWN5RGlyZWN0aXZlTGlzdDo6Q29udGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZlTGlz
dChDb250ZW50U2VjdXJpdHlQb2xpY3kmIHBvbGljeSwgQ29udGVudFNlY3VyaXR5UG9saWN5SGVh
ZGVyVHlwZSB0eXBlKQogICAgIDogbV9wb2xpY3kocG9saWN5KQogICAgICwgbV9oZWFkZXJUeXBl
KHR5cGUpCisgICAgLCBtX3JlcG9ydE9ubHkoZmFsc2UpCisgICAgLCBtX2hhdmVTYW5kYm94UG9s
aWN5KGZhbHNlKQogewogICAgIG1fcmVwb3J0T25seSA9ICh0eXBlID09IENvbnRlbnRTZWN1cml0
eVBvbGljeUhlYWRlclR5cGU6OlJlcG9ydCB8fCB0eXBlID09IENvbnRlbnRTZWN1cml0eVBvbGlj
eUhlYWRlclR5cGU6OlByZWZpeGVkUmVwb3J0KTsKIH0KQEAgLTQzMywyMCArNDM1LDYgQEAgdm9p
ZCBDb250ZW50U2VjdXJpdHlQb2xpY3lEaXJlY3RpdmVMaXN0OjphcHBseVNhbmRib3hQb2xpY3ko
Y29uc3QgU3RyaW5nJiBuYW1lLAogICAgICAgICBtX3BvbGljeS5yZXBvcnRJbnZhbGlkU2FuZGJv
eEZsYWdzKGludmFsaWRUb2tlbnMpOwogfQogCi12b2lkIENvbnRlbnRTZWN1cml0eVBvbGljeURp
cmVjdGl2ZUxpc3Q6OnNldFVwZ3JhZGVJbnNlY3VyZVJlcXVlc3RzKGNvbnN0IFN0cmluZyYgbmFt
ZSkKLXsKLSAgICBpZiAobV9yZXBvcnRPbmx5KSB7Ci0gICAgICAgIG1fcG9saWN5LnJlcG9ydElu
dmFsaWREaXJlY3RpdmVJblJlcG9ydE9ubHlNb2RlKG5hbWUpOwotICAgICAgICByZXR1cm47Ci0g
ICAgfQotICAgIGlmIChtX3VwZ3JhZGVJbnNlY3VyZVJlcXVlc3RzKSB7Ci0gICAgICAgIG1fcG9s
aWN5LnJlcG9ydER1cGxpY2F0ZURpcmVjdGl2ZShuYW1lKTsKLSAgICAgICAgcmV0dXJuOwotICAg
IH0KLSAgICBtX3VwZ3JhZGVJbnNlY3VyZVJlcXVlc3RzID0gdHJ1ZTsKLSAgICBtX3BvbGljeS5z
ZXRVcGdyYWRlSW5zZWN1cmVSZXF1ZXN0cyh0cnVlKTsKLX0KLQogdm9pZCBDb250ZW50U2VjdXJp
dHlQb2xpY3lEaXJlY3RpdmVMaXN0OjphZGREaXJlY3RpdmUoY29uc3QgU3RyaW5nJiBuYW1lLCBj
b25zdCBTdHJpbmcmIHZhbHVlKQogewogICAgIEFTU0VSVCghbmFtZS5pc0VtcHR5KCkpOwpAQCAt
NDkzLDggKzQ4MSw2IEBAIHZvaWQgQ29udGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZlTGlzdDo6
YWRkRGlyZWN0aXZlKGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QKICAgICAgICAgYXBwbHlTYW5k
Ym94UG9saWN5KG5hbWUsIHZhbHVlKTsKICAgICBlbHNlIGlmIChlcXVhbElnbm9yaW5nQVNDSUlD
YXNlKG5hbWUsIENvbnRlbnRTZWN1cml0eVBvbGljeURpcmVjdGl2ZU5hbWVzOjpyZXBvcnRVUkkp
KQogICAgICAgICBwYXJzZVJlcG9ydFVSSShuYW1lLCB2YWx1ZSk7Ci0gICAgZWxzZSBpZiAoZXF1
YWxJZ25vcmluZ0FTQ0lJQ2FzZShuYW1lLCBDb250ZW50U2VjdXJpdHlQb2xpY3lEaXJlY3RpdmVO
YW1lczo6dXBncmFkZUluc2VjdXJlUmVxdWVzdHMpKQotICAgICAgICBzZXRVcGdyYWRlSW5zZWN1
cmVSZXF1ZXN0cyhuYW1lKTsKICAgICBlbHNlCiAgICAgICAgIG1fcG9saWN5LnJlcG9ydFVuc3Vw
cG9ydGVkRGlyZWN0aXZlKG5hbWUpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZlTGlzdC5oIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZlTGlzdC5oCmluZGV4IGFi
ZmNjYTYyN2U4MzNmMjk4MDJlNTk2MTdmZmJlNWRmNmEwMmUyMDUuLjY0ZWU5NWQ3OGMzNTkwMGJj
Njg2NDkyODgzNTFlZmVmYWE3Y2VjNjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
Y3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeURpcmVjdGl2ZUxpc3QuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3lEaXJlY3RpdmVMaXN0LmgKQEAgLTg2
LDcgKzg2LDYgQEAgcHJpdmF0ZToKICAgICB2b2lkIHBhcnNlUGx1Z2luVHlwZXMoY29uc3QgU3Ry
aW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHZhbHVlKTsKICAgICB2b2lkIGFkZERpcmVjdGl2ZShj
b25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgdmFsdWUpOwogICAgIHZvaWQgYXBwbHlT
YW5kYm94UG9saWN5KGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBzYW5kYm94UG9s
aWN5KTsKLSAgICB2b2lkIHNldFVwZ3JhZGVJbnNlY3VyZVJlcXVlc3RzKGNvbnN0IFN0cmluZyYg
bmFtZSk7CiAKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgQ1NQRGlyZWN0aXZlVHlwZT4KICAgICB2b2lk
IHNldENTUERpcmVjdGl2ZShjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgdmFsdWUs
IHN0ZDo6dW5pcXVlX3B0cjxDU1BEaXJlY3RpdmVUeXBlPiYpOwpAQCAtMTAxLDkgKzEwMCw4IEBA
IHByaXZhdGU6CiAgICAgU3RyaW5nIG1faGVhZGVyOwogICAgIENvbnRlbnRTZWN1cml0eVBvbGlj
eUhlYWRlclR5cGUgbV9oZWFkZXJUeXBlOwogCi0gICAgYm9vbCBtX3JlcG9ydE9ubHkgeyBmYWxz
ZSB9OwotICAgIGJvb2wgbV9oYXZlU2FuZGJveFBvbGljeSB7IGZhbHNlIH07Ci0gICAgYm9vbCBt
X3VwZ3JhZGVJbnNlY3VyZVJlcXVlc3RzIHsgZmFsc2UgfTsKKyAgICBib29sIG1fcmVwb3J0T25s
eTsKKyAgICBib29sIG1faGF2ZVNhbmRib3hQb2xpY3k7CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8
Q29udGVudFNlY3VyaXR5UG9saWN5TWVkaWFMaXN0RGlyZWN0aXZlPiBtX3BsdWdpblR5cGVzOwog
ICAgIHN0ZDo6dW5pcXVlX3B0cjxDb250ZW50U2VjdXJpdHlQb2xpY3lTb3VyY2VMaXN0RGlyZWN0
aXZlPiBtX2Jhc2VVUkk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9Db250
ZW50U2VjdXJpdHlQb2xpY3lEaXJlY3RpdmVOYW1lcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3lEaXJlY3RpdmVOYW1lcy5jcHAKaW5kZXggZDA1ODY0
ZjgyZjNlNWJjMTJkN2RhMmVhOGI5Mzk5ZDZiNTEwZTEyZC4uMDFmNDJhNmJjOGQxMGQwOWM4NjUx
N2M3NDlkYWI2YTE0ZDdmODllZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9jc3Av
Q29udGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZlTmFtZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeURpcmVjdGl2ZU5hbWVzLmNwcApAQCAt
NDYsNyArNDYsNiBAQCBjb25zdCBjaGFyKiBjb25zdCByZXBvcnRVUkkgPSAicmVwb3J0LXVyaSI7
CiBjb25zdCBjaGFyKiBjb25zdCBzYW5kYm94ID0gInNhbmRib3giOwogY29uc3QgY2hhciogY29u
c3Qgc2NyaXB0U3JjID0gInNjcmlwdC1zcmMiOwogY29uc3QgY2hhciogY29uc3Qgc3R5bGVTcmMg
PSAic3R5bGUtc3JjIjsKLWNvbnN0IGNoYXIqIGNvbnN0IHVwZ3JhZGVJbnNlY3VyZVJlcXVlc3Rz
ID0gInVwZ3JhZGUtaW5zZWN1cmUtcmVxdWVzdHMiOwogICAgIAogfSAvLyBuYW1lc3BhY2UgQ29u
dGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZlTmFtZXMKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZlTmFtZXMuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeURpcmVjdGl2ZU5hbWVz
LmgKaW5kZXggZmM1ODc5NTYyMjljMWFkY2E1NjUzNDg4ZmFlNWI1MGQ0YzRjYWYwZC4uOGExZTNk
MzllYTgxYmI4ODE2NDIwNDBlMjBjYzBlMzcxOWVhZmI3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZlTmFtZXMuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3lEaXJlY3RpdmVO
YW1lcy5oCkBAIC00NSw3ICs0NSw2IEBAIGV4dGVybiBjb25zdCBjaGFyKiBjb25zdCByZXBvcnRV
Ukk7CiBleHRlcm4gY29uc3QgY2hhciogY29uc3Qgc2FuZGJveDsKIGV4dGVybiBjb25zdCBjaGFy
KiBjb25zdCBzY3JpcHRTcmM7CiBleHRlcm4gY29uc3QgY2hhciogY29uc3Qgc3R5bGVTcmM7Ci1l
eHRlcm4gY29uc3QgY2hhciogY29uc3QgdXBncmFkZUluc2VjdXJlUmVxdWVzdHM7CiAKIH0gLy8g
bmFtZXNwYWNlIENvbnRlbnRTZWN1cml0eVBvbGljeURpcmVjdGl2ZU5hbWVzCiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvSFRUUEhlYWRlck5hbWVzLmluIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9IVFRQSGVhZGVyTmFtZXMuaW4KaW5kZXgg
YTA3OGZjZGFkOGM1MDY2NDZlYjU0YTgxMDE1ZmJmZGZmNzUwYzNhYS4uMzQ5ODJjYTRlMmY1ZmYw
OTVlMGM5YmMzZWRmNjY4OTIxNjBmZDcwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9IVFRQSGVhZGVyTmFtZXMuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9IVFRQSGVhZGVyTmFtZXMuaW4KQEAgLTg5LDcgKzg5LDYgQEAgVGltaW5n
LUFsbG93LU9yaWdpbgogVHJhaWxlcgogVHJhbnNmZXItRW5jb2RpbmcKIFVwZ3JhZGUKLVVwZ3Jh
ZGUtSW5zZWN1cmUtUmVxdWVzdHMKIFVzZXItQWdlbnQKIFZhcnkKIFZpYQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3ht
bC9YTUxIdHRwUmVxdWVzdC5jcHAKaW5kZXggNThlY2FkYjRhNmJjYTIwODM2NTE0M2QyYWRhYTMz
YmE0M2ExN2E4ZS4uZjhjNzUyMTJjNDdlYjUwZGQ2NWNjZjA1MWI3Y2I4NTM5ZjI2NTU1MiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAq
ICBDb3B5cmlnaHQgKEMpIDIwMDQtMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKiAgQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA2LCAyMDA4IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KICAqICBDb3B5cmlnaHQgKEMpIDIwMDUtMjAwNyBBbGV4ZXkgUHJvc2t1cnlh
a292IDxhcEB3ZWJraXQub3JnPgogICogIENvcHlyaWdodCAoQykgMjAwNywgMjAwOCBKdWxpZW4g
Q2hhZmZyYWl4IDxqY2hhZmZyYWl4QHdlYmtpdC5vcmc+CiAgKiAgQ29weXJpZ2h0IChDKSAyMDA4
LCAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCkBAIC00ODAsNyArNDgwLDYg
QEAgdm9pZCBYTUxIdHRwUmVxdWVzdDo6b3Blbihjb25zdCBTdHJpbmcmIG1ldGhvZCwgY29uc3Qg
VVJMJiB1cmwsIGJvb2wgYXN5bmMsIEV4Y2UKICAgICBtX21ldGhvZCA9IHVwcGVyY2FzZUtub3du
SFRUUE1ldGhvZChtZXRob2QpOwogCiAgICAgbV91cmwgPSB1cmw7Ci0gICAgc2NyaXB0RXhlY3V0
aW9uQ29udGV4dCgpLT5jb250ZW50U2VjdXJpdHlQb2xpY3koKS0+dXBncmFkZUluc2VjdXJlUmVx
dWVzdElmTmVlZGVkKG1fdXJsLCBDb250ZW50U2VjdXJpdHlQb2xpY3k6Okluc2VjdXJlUmVxdWVz
dFR5cGU6OkxvYWQpOwogCiAgICAgbV9hc3luYyA9IGFzeW5jOwogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggODE3NzczZGZk
OWViYzE3M2UwOTVkZWIzMGI3NjJmNzM5OWU1ZTA2Mi4uNTA2Nzc4ZjljNzQ3MWMzNGY0MmNlYTM3
OGUyZmVhMWMwNTVhY2QxMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE2LTA2LTA2ICBDb21t
aXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KKworICAgICAgICBVbnJldmlld2Vk
LCByb2xsaW5nIG91dCByMjAxNjc5LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTU4NDY0CisKKyAgICAgICAgaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVz
dHMvaHliaS91cGdyYWRlLXNpbXBsZS13cy5odG1sIGlzCisgICAgICAgIGZsYWt5IChSZXF1ZXN0
ZWQgYnkgYXAgb24gI3dlYmtpdCkuCisKKyAgICAgICAgUmV2ZXJ0ZWQgY2hhbmdlc2V0OgorCisg
ICAgICAgICJDU1A6IENvbnRlbnQgU2VjdXJpdHkgUG9saWN5IGRpcmVjdGl2ZSwgdXBncmFkZS1p
bnNlY3VyZS0KKyAgICAgICAgcmVxdWVzdHMgKFVJUikiCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDM2NTMKKyAgICAgICAgaHR0cDovL3RyYWMud2Vi
a2l0Lm9yZy9jaGFuZ2VzZXQvMjAxNjc5CisKIDIwMTYtMDYtMDYgIEppZXdlbiBUYW4gIDxqaWV3
ZW5fdGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBVUkxzIGNvbnRhaW5pbmcgdGFicyBvciBuZXds
aW5lcyBhcmUgcGFyc2VkIGluY29ycmVjdGx5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXBvcnQtb25seS11cGdyYWRl
LWluc2VjdXJlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkv
Y29udGVudFNlY3VyaXR5UG9saWN5L3JlcG9ydC1vbmx5LXVwZ3JhZGUtaW5zZWN1cmUtZXhwZWN0
ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwYTIyMDg3YWNjYmQwYWVlNWUy
OTFjNGIyZTkyMmQxZjVmYmQ0ZTRiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3Vy
aXR5UG9saWN5L3JlcG9ydC1vbmx5LXVwZ3JhZGUtaW5zZWN1cmUtZXhwZWN0ZWQudHh0CisrKyAv
ZGV2L251bGwKQEAgLTEsOSArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IFRoZSBDb250ZW50IFNl
Y3VyaXR5IFBvbGljeSBkaXJlY3RpdmUgJ3VwZ3JhZGUtaW5zZWN1cmUtcmVxdWVzdHMnIGlzIGln
bm9yZWQgd2hlbiBkZWxpdmVyZWQgaW4gYSByZXBvcnQtb25seSBwb2xpY3kuCi1DT05TT0xFIE1F
U1NBR0U6IGxpbmUgMTogW1JlcG9ydCBPbmx5XSBSZWZ1c2VkIHRvIGV4ZWN1dGUgYSBzY3JpcHQg
YmVjYXVzZSBpdHMgaGFzaCwgaXRzIG5vbmNlLCBvciAndW5zYWZlLWlubGluZScgZG9lcyBub3Qg
YXBwZWFyIGluIHRoZSBzY3JpcHQtc3JjIGRpcmVjdGl2ZSBvZiB0aGUgQ29udGVudCBTZWN1cml0
eSBQb2xpY3kuCi1BTEVSVDogUEFTUwotQ1NQIHJlcG9ydCByZWNlaXZlZDoKLUNPTlRFTlRfVFlQ
RTogYXBwbGljYXRpb24vY3NwLXJlcG9ydAotSFRUUF9SRUZFUkVSOiBodHRwOi8vMTI3LjAuMC4x
OjgwMDAvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3JlcG9ydC1vbmx5LXVwZ3JhZGUt
aW5zZWN1cmUucGhwCi1SRVFVRVNUX01FVEhPRDogUE9TVAotPT09IFBPU1QgREFUQSA9PT0KLXsi
Y3NwLXJlcG9ydCI6eyJkb2N1bWVudC11cmkiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDAvc2VjdXJp
dHkvY29udGVudFNlY3VyaXR5UG9saWN5L3JlcG9ydC1vbmx5LXVwZ3JhZGUtaW5zZWN1cmUucGhw
IiwicmVmZXJyZXIiOiIiLCJ2aW9sYXRlZC1kaXJlY3RpdmUiOiJzY3JpcHQtc3JjICdzZWxmJyIs
ImVmZmVjdGl2ZS1kaXJlY3RpdmUiOiJzY3JpcHQtc3JjIiwib3JpZ2luYWwtcG9saWN5Ijoic2Ny
aXB0LXNyYyAnc2VsZic7IHVwZ3JhZGUtaW5zZWN1cmUtcmVxdWVzdHM7IHJlcG9ydC11cmkgcmVz
b3VyY2VzL3NhdmUtcmVwb3J0LnBocCIsImJsb2NrZWQtdXJpIjoiIiwic3RhdHVzLWNvZGUiOjIw
MH19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRT
ZWN1cml0eVBvbGljeS9yZXBvcnQtb25seS11cGdyYWRlLWluc2VjdXJlLnBocCBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3JlcG9ydC1vbmx5
LXVwZ3JhZGUtaW5zZWN1cmUucGhwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0M2Qy
ZjZhYjdhYjdmNTM1Y2VmMGYzZDkzNGYxNTFjNDAzZDA5YTY2Li4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJp
dHkvY29udGVudFNlY3VyaXR5UG9saWN5L3JlcG9ydC1vbmx5LXVwZ3JhZGUtaW5zZWN1cmUucGhw
CisrKyAvZGV2L251bGwKQEAgLTEsOCArMCwwIEBACi08P3BocAotICAgIGhlYWRlcigiQ29udGVu
dC1TZWN1cml0eS1Qb2xpY3ktUmVwb3J0LU9ubHk6IHNjcmlwdC1zcmMgJ3NlbGYnOyB1cGdyYWRl
LWluc2VjdXJlLXJlcXVlc3RzOyByZXBvcnQtdXJpIHJlc291cmNlcy9zYXZlLXJlcG9ydC5waHAi
KTsKLT8+Ci08c2NyaXB0PgotLy8gVGhpcyBzY3JpcHQgYmxvY2sgd2lsbCB0cmlnZ2VyIGEgdmlv
bGF0aW9uIHJlcG9ydCBidXQgc2hvdWxkbid0IGJlIGJsb2NrZWQuCi1hbGVydCgnUEFTUycpOwot
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0icmVzb3VyY2VzL2dvLXRvLWVjaG8tcmVwb3J0LmpzIj48
L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29u
dGVudFNlY3VyaXR5UG9saWN5L3VwZ3JhZGUtaW5zZWN1cmUtcmVxdWVzdHMvYmFzaWMtdXBncmFk
ZS1jb3JzLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJp
dHkvY29udGVudFNlY3VyaXR5UG9saWN5L3VwZ3JhZGUtaW5zZWN1cmUtcmVxdWVzdHMvYmFzaWMt
dXBncmFkZS1jb3JzLmh0dHBzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggYzY1OTBkYzYxOGNmYTM4N2QyMjQwZDJkODQ3YjdlYjkyZWM5OWU3ZC4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS91cGdyYWRlLWluc2VjdXJlLXJlcXVl
c3RzL2Jhc2ljLXVwZ3JhZGUtY29ycy5odHRwcy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApA
QCAtMSw0ICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAzMTogUEFTUzogU3VjY2Vzc2Z1
bGx5IHJldHJpZXZlZCBpbWFnZSBkYXRhLgotVGhpcyB0ZXN0IG9wZW5zIGEgd2luZG93IHRoYXQg
bG9hZHMgYW4gaW5zZWN1cmUgaW1hZ2UuIFdlIHNob3VsZCB1cGdyYWRlIHRoaXMgcmVxdWVzdCBh
bmQgdGhlcmVieSBhdm9pZCB0cmlnZ2VyaW5nIGEgbWl4ZWQgY29udGVudCBjYWxsYmFjay4KLQot
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1
cml0eVBvbGljeS91cGdyYWRlLWluc2VjdXJlLXJlcXVlc3RzL2Jhc2ljLXVwZ3JhZGUtY29ycy5o
dHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJp
dHlQb2xpY3kvdXBncmFkZS1pbnNlY3VyZS1yZXF1ZXN0cy9iYXNpYy11cGdyYWRlLWNvcnMuaHR0
cHMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjhkMjllZDlmMzUzZmI4NDQx
M2Q0ZGI4NWQ5ZGM5ODZjYTY5YzM1Mi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1
cml0eVBvbGljeS91cGdyYWRlLWluc2VjdXJlLXJlcXVlc3RzL2Jhc2ljLXVwZ3JhZGUtY29ycy5o
dHRwcy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+
Ci08aHRtbD4KLTxib2R5PgotPHNjcmlwdD4KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAg
IHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgp
OwotfQotPC9zY3JpcHQ+Ci08cD5UaGlzIHRlc3Qgb3BlbnMgYSB3aW5kb3cgdGhhdCBsb2FkcyBh
biBpbnNlY3VyZSBpbWFnZS4gIFdlIHNob3VsZCB1cGdyYWRlCi10aGlzIHJlcXVlc3QgYW5kIHRo
ZXJlYnkgYXZvaWQgdHJpZ2dlcmluZyBhIG1peGVkIGNvbnRlbnQgY2FsbGJhY2suPC9wPgotPGlm
cmFtZSBzcmM9Imh0dHBzOi8vMTI3LjAuMC4xOjg0NDMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5
UG9saWN5L3VwZ3JhZGUtaW5zZWN1cmUtcmVxdWVzdHMvcmVzb3VyY2VzL2Jhc2ljLXVwZ3JhZGUt
Y29ycy5odHRwcy5odG1sIj48L2lmcmFtZT4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3Vw
Z3JhZGUtaW5zZWN1cmUtcmVxdWVzdHMvYmFzaWMtdXBncmFkZS5odHRwcy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS91
cGdyYWRlLWluc2VjdXJlLXJlcXVlc3RzL2Jhc2ljLXVwZ3JhZGUuaHR0cHMtZXhwZWN0ZWQudHh0
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5ZDNkYjcwYjhiNWVmNDIyOGEzNTM5ZjNk
ZGFkYmE3NDhiZTZlMWYzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9s
aWN5L3VwZ3JhZGUtaW5zZWN1cmUtcmVxdWVzdHMvYmFzaWMtdXBncmFkZS5odHRwcy1leHBlY3Rl
ZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwzICswLDAgQEAKLQotUEFTUyBWZXJpZnkgdGhhdCBp
bWFnZXMgYXJlIHVwZ3JhZGVkLiAKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvdXBncmFkZS1pbnNlY3VyZS1yZXF1ZXN0
cy9iYXNpYy11cGdyYWRlLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3Vy
aXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS91cGdyYWRlLWluc2VjdXJlLXJlcXVlc3RzL2Jhc2lj
LXVwZ3JhZGUuaHR0cHMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTU0MzUz
NmVkNmVkM2QzNmZjMmQ5ODRlN2VkMjgxZDI3ZGM2MWZjOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5
L2NvbnRlbnRTZWN1cml0eVBvbGljeS91cGdyYWRlLWluc2VjdXJlLXJlcXVlc3RzL2Jhc2ljLXVw
Z3JhZGUuaHR0cHMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDMzICswLDAgQEAKLTwhRE9DVFlQ
RSBodG1sPgotPHRpdGxlPlVwZ3JhZGUgSW5zZWN1cmUgUmVxdWVzdHM6IEJhc2ljcy48L3RpdGxl
PgotPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLQotPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1TZWN1cml0eS1Qb2xpY3ki
IGNvbnRlbnQ9InVwZ3JhZGUtaW5zZWN1cmUtcmVxdWVzdHMiPgotPHNjcmlwdD4KLWlmICh3aW5k
b3cudGVzdFJ1bm5lcikKLSAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLQotLy8gVGhpcyBp
cyBhIGJpdCBvZiBhIGhhY2suIFVQR1JBREUgZG9lc24ndCB1cGdyYWRlIHRoZSBwb3J0IG51bWJl
ciwgc28gd2UKLS8vIHNwZWNpZnkgdGhpcyBub24tZXhpc3RlbnQgVVJMICgnaHR0cCcgb3ZlciBw
b3J0IDg0NDMpLiBJZiBVUEdSQURFIGRvZXNuJ3QKLS8vIHdvcmssIGl0IHdvbid0IGxvYWQuCi12
YXIgaW5zZWN1cmVJbWFnZSA9ICJodHRwOi8vMTI3LjAuMC4xOjg0NDMvc2VjdXJpdHkvcmVzb3Vy
Y2VzL2FiZS5wbmciOwotCi0oZnVuY3Rpb24oKSB7Ci0gICAgdmFyIHQgPSBhc3luY190ZXN0KCJW
ZXJpZnkgdGhhdCBpbWFnZXMgYXJlIHVwZ3JhZGVkLiIpOwotICAgIHQuc3RlcChmdW5jdGlvbiAo
KSB7Ci0gICAgICAgIHZhciBpID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW1nJyk7Ci0gICAg
ICAgIGkub25sb2FkID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgYXNz
ZXJ0X2VxdWFscyhpLm5hdHVyYWxIZWlnaHQsIDEwMywgIkhlaWdodC4iKTsKLSAgICAgICAgICAg
IGFzc2VydF9lcXVhbHMoaS5uYXR1cmFsV2lkdGgsIDc2LCAiV2lkdGguIik7Ci0gICAgICAgICAg
ICB0LmRvbmUoKTsKLSAgICAgICAgfSk7Ci0gICAgICAgIGkub25lcnJvciA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgIGFzc2VydF91bnJlYWNoZWQoIlRoZSBpbWFnZSBz
aG91bGQgbG9hZCBzdWNjZXNzZnVsbHkuIik7Ci0gICAgICAgIH0pOwotCi0gICAgICAgIGkuc3Jj
ID0gaW5zZWN1cmVJbWFnZTsKLSAgICB9KTsKLX0oKSk7Ci0KLTwvc2NyaXB0PgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kv
dXBncmFkZS1pbnNlY3VyZS1yZXF1ZXN0cy9mb3JtLXVwZ3JhZGUtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvdXBncmFk
ZS1pbnNlY3VyZS1yZXF1ZXN0cy9mb3JtLXVwZ3JhZGUtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBhMDk1ZTZkM2UwZDc2MmFjNmMzZGNmZTE4NjBmMWIzMzFmMTdi
NGE5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3VwZ3JhZGUt
aW5zZWN1cmUtcmVxdWVzdHMvZm9ybS11cGdyYWRlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxs
CkBAIC0xLDUgKzAsMCBAQAotCi0KLVBBU1MgU2FtZS1ob3N0IGZvcm0gc3VibWlzc2lvbnMgYXJl
IHVwZ3JhZGVkLiAKLVBBU1MgQ3Jvc3MtaG9zdCBmb3JtIHN1Ym1pc3Npb25zIGFyZSB1cGdyYWRl
ZC4gCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVu
dFNlY3VyaXR5UG9saWN5L3VwZ3JhZGUtaW5zZWN1cmUtcmVxdWVzdHMvZm9ybS11cGdyYWRlLmh0
bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGlj
eS91cGdyYWRlLWluc2VjdXJlLXJlcXVlc3RzL2Zvcm0tdXBncmFkZS5odG1sCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA2M2Y4N2M2MzkwYTU0YzBhZWQzMGRjZmVmZjFjNTJjMmE4NDYy
MmNlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3VwZ3JhZGUt
aW5zZWN1cmUtcmVxdWVzdHMvZm9ybS11cGdyYWRlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0
MSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxoZWFkPgotPHRpdGxlPlVwZ3JhZGUgSW5zZWN1
cmUgUmVxdWVzdHM6IEZvcm0gU3VibWlzc2lvbi48L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii9qcy10
ZXN0LXJlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2pz
LXRlc3QtcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4K
LTxib2R5PgotPHNjcmlwdD4KLWFzeW5jX3Rlc3QodCA9PiB7Ci0gICAgdmFyIGlmcmFtZSA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lmcmFtZScpOwotICAgIGlmcmFtZS5zcmNkb2MgPSAiPG1l
dGEgaHR0cC1lcXVpdj0nQ29udGVudC1TZWN1cml0eS1Qb2xpY3knIGNvbnRlbnQ9J3VwZ3JhZGUt
aW5zZWN1cmUtcmVxdWVzdHMnPiIgKwotICAgICAgICAgICAgICAgIjxmb3JtIGFjdGlvbj0naHR0
cDovLzEyNy4wLjAuMTo4NDQzL3NlY3VyaXR5L3Jlc291cmNlcy9wb3N0LW9yaWdpbi10by1wYXJl
bnQuaHRtbCc+PC9mb3JtPiIgKwotICAgICAgICAgICAgICAgIjxzY3JpcHQ+ZG9jdW1lbnQucXVl
cnlTZWxlY3RvcignZm9ybScpLnN1Ym1pdCgpPC9zY3IiICsgImlwdD4iOwotCi0gICAgd2luZG93
LmFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCB0LnN0ZXBfZnVuYyhlID0+IHsKLSAgICAgICAg
aWYgKGUuc291cmNlID09IGlmcmFtZS5jb250ZW50V2luZG93KSB7Ci0gICAgICAgICAgICBhc3Nl
cnRfZXF1YWxzKCJodHRwc18xMjcuMC4wLjFfODQ0MyIsIGUuZGF0YS5vcmlnaW4pOwotICAgICAg
ICAgICAgdC5kb25lKCk7Ci0gICAgICAgIH0KLSAgICB9KSk7Ci0KLSAgICBkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKGlmcmFtZSk7Ci19LCAiU2FtZS1ob3N0IGZvcm0gc3VibWlzc2lvbnMgYXJl
IHVwZ3JhZGVkLiIpOwotCi1hc3luY190ZXN0KHQgPT4gewotICAgIHZhciBpZnJhbWUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCdpZnJhbWUnKTsKLSAgICBpZnJhbWUuc3JjZG9jID0gIjxtZXRh
IGh0dHAtZXF1aXY9J0NvbnRlbnQtU2VjdXJpdHktUG9saWN5JyBjb250ZW50PSd1cGdyYWRlLWlu
c2VjdXJlLXJlcXVlc3RzJz4iICsKLSAgICAgICAgICAgICAgICI8Zm9ybSBhY3Rpb249J2h0dHA6
Ly9sb2NhbGhvc3Q6ODQ0My9zZWN1cml0eS9yZXNvdXJjZXMvcG9zdC1vcmlnaW4tdG8tcGFyZW50
Lmh0bWwnPjwvZm9ybT4iICsKLSAgICAgICAgICAgICAgICI8c2NyaXB0PmRvY3VtZW50LnF1ZXJ5
U2VsZWN0b3IoJ2Zvcm0nKS5zdWJtaXQoKTwvc2NyIiArICJpcHQ+IjsKLQotICAgIHdpbmRvdy5h
ZGRFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgdC5zdGVwX2Z1bmMoZSA9PiB7Ci0gICAgICAgIGlm
IChlLnNvdXJjZSA9PSBpZnJhbWUuY29udGVudFdpbmRvdykgewotICAgICAgICAgICAgYXNzZXJ0
X2VxdWFscyhlLmRhdGEub3JpZ2luLCAiaHR0cHNfbG9jYWxob3N0Xzg0NDMiKTsKLSAgICAgICAg
ICAgIHQuZG9uZSgpOwotICAgICAgICB9Ci0gICAgfSkpOwotCi0gICAgZG9jdW1lbnQuYm9keS5h
cHBlbmRDaGlsZChpZnJhbWUpOwotfSwgIkNyb3NzLWhvc3QgZm9ybSBzdWJtaXNzaW9ucyBhcmUg
dXBncmFkZWQuIik7Ci08L3NjcmlwdD4KLTwvYm9keT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRT
ZWN1cml0eVBvbGljeS91cGdyYWRlLWluc2VjdXJlLXJlcXVlc3RzL2h0dHBzLWhlYWRlci1hdXhp
bGlhcnktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250
ZW50U2VjdXJpdHlQb2xpY3kvdXBncmFkZS1pbnNlY3VyZS1yZXF1ZXN0cy9odHRwcy1oZWFkZXIt
YXV4aWxpYXJ5LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGE1
OTMzZGQ5ZTk3ZWYzMGY0YjBhODNlNjliYjExZmY3NjZmMDJkZi4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3Vy
aXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS91cGdyYWRlLWluc2VjdXJlLXJlcXVlc3RzL2h0dHBz
LWhlYWRlci1hdXhpbGlhcnktZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMyArMCww
IEBACi0KLVBBU1MgVmVyaWZ5IHRoYXQgbmVzdGVkIGRvY3VtZW50cyByZWNlaXZlIGFuICdIVFRQ
UycgaGVhZGVyLiAKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0
eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvdXBncmFkZS1pbnNlY3VyZS1yZXF1ZXN0cy9odHRwcy1o
ZWFkZXItYXV4aWxpYXJ5Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nv
bnRlbnRTZWN1cml0eVBvbGljeS91cGdyYWRlLWluc2VjdXJlLXJlcXVlc3RzL2h0dHBzLWhlYWRl
ci1hdXhpbGlhcnkuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWJmYTFkMmYz
YmZkNTVhZGEyZmIzMDZjYzYyNGQ4NTY2Yjc4ZDEyYi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nv
bnRlbnRTZWN1cml0eVBvbGljeS91cGdyYWRlLWluc2VjdXJlLXJlcXVlc3RzL2h0dHBzLWhlYWRl
ci1hdXhpbGlhcnkuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDIxICswLDAgQEAKLTwhRE9DVFlQ
RSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLSAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci0gIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotICA8c2NyaXB0PgotICAgIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgIHRlc3RSdW5uZXIuc2V0Q2FuT3BlbldpbmRvd3Mo
KTsKLQotICAgIHZhciB0ID0gYXN5bmNfdGVzdCgiVmVyaWZ5IHRoYXQgbmVzdGVkIGRvY3VtZW50
cyByZWNlaXZlIGFuICdIVFRQUycgaGVhZGVyLiIpOwotICAgIHdpbmRvdy5hZGRFdmVudExpc3Rl
bmVyKCJtZXNzYWdlIiwgdC5zdGVwX2Z1bmMoZnVuY3Rpb24gKG1lc3NhZ2UpIHsKLSAgICAgIGFz
c2VydF9lcXVhbHMobWVzc2FnZS5kYXRhLmhlYWRlciwgIjEiKTsKLSAgICAgIHQuZG9uZSgpOwot
ICAgIH0pKTsKLQotICAgIHdpbmRvdy5vcGVuKCJyZXNvdXJjZXMvcG9zdC1odHRwcy1oZWFkZXIu
cGwiKTsKLSAgPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTwvYm9keT4KLTwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5
UG9saWN5L3VwZ3JhZGUtaW5zZWN1cmUtcmVxdWVzdHMvaHR0cHMtaGVhZGVyLW5lc3RlZC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0
eVBvbGljeS91cGdyYWRlLWluc2VjdXJlLXJlcXVlc3RzL2h0dHBzLWhlYWRlci1uZXN0ZWQtZXhw
ZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0MDMyN2FjODdkODBiMzI5
MzI5MDdiNGQ1MTQ3ZGE0ZDU5Y2NjZjlmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNl
Y3VyaXR5UG9saWN5L3VwZ3JhZGUtaW5zZWN1cmUtcmVxdWVzdHMvaHR0cHMtaGVhZGVyLW5lc3Rl
ZC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLQotCi1QQVNTIFZl
cmlmeSB0aGF0IG5lc3RlZCBkb2N1bWVudHMgcmVjZWl2ZSBhbiAnSFRUUFMnIGhlYWRlci4gCi0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3Vy
aXR5UG9saWN5L3VwZ3JhZGUtaW5zZWN1cmUtcmVxdWVzdHMvaHR0cHMtaGVhZGVyLW5lc3RlZC5o
dG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xp
Y3kvdXBncmFkZS1pbnNlY3VyZS1yZXF1ZXN0cy9odHRwcy1oZWFkZXItbmVzdGVkLmh0bWwKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAxZDM5NWYzMjhiMTJjNzA0NjMyNTcwMDYxYzll
N2YzMDBiN2U1ODAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kv
dXBncmFkZS1pbnNlY3VyZS1yZXF1ZXN0cy9odHRwcy1oZWFkZXItbmVzdGVkLmh0bWwKKysrIC9k
ZXYvbnVsbApAQCAtMSwxNyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+
Ci0gIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgotICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KLSAgPHNjcmlwdD4KLSAgICB2YXIgdCA9IGFzeW5jX3Rlc3QoIlZlcmlm
eSB0aGF0IG5lc3RlZCBkb2N1bWVudHMgcmVjZWl2ZSBhbiAnSFRUUFMnIGhlYWRlci4iKTsKLSAg
ICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsIHQuc3RlcF9mdW5jKGZ1bmN0aW9u
IChtZXNzYWdlKSB7Ci0gICAgICBhc3NlcnRfZXF1YWxzKG1lc3NhZ2UuZGF0YS5oZWFkZXIsICIx
Iik7Ci0gICAgICB0LmRvbmUoKTsKLSAgICB9KSk7Ci0gIDwvc2NyaXB0PgotPC9oZWFkPgotPGJv
ZHk+Ci0gIDxpZnJhbWUgc3JjPSJyZXNvdXJjZXMvcG9zdC1odHRwcy1oZWFkZXIucGwiPjwvaWZy
YW1lPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvdXBncmFkZS1pbnNlY3VyZS1yZXF1ZXN0
cy9odHRwcy1oZWFkZXItc3VicmVzb3VyY2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvdXBncmFkZS1pbnNlY3VyZS1y
ZXF1ZXN0cy9odHRwcy1oZWFkZXItc3VicmVzb3VyY2UtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBhOTA2Nzk4NWY3ODA1NzUzMGFmOTQ1OTJlOGVlMTkzOGU4Yjc0
NTZjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3VwZ3JhZGUt
aW5zZWN1cmUtcmVxdWVzdHMvaHR0cHMtaGVhZGVyLXN1YnJlc291cmNlLWV4cGVjdGVkLnR4dAor
KysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotCi1QQVNTIFZlcmlmeSB0aGF0IHN1YnJlc291
cmNlcyBkbyBub3QgcmVjZWl2ZSBhbiAnVXBncmFkZS1JbnNlY3VyZS1SZXF1ZXN0cycgaGVhZGVy
LiAKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50
U2VjdXJpdHlQb2xpY3kvdXBncmFkZS1pbnNlY3VyZS1yZXF1ZXN0cy9odHRwcy1oZWFkZXItc3Vi
cmVzb3VyY2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNl
Y3VyaXR5UG9saWN5L3VwZ3JhZGUtaW5zZWN1cmUtcmVxdWVzdHMvaHR0cHMtaGVhZGVyLXN1YnJl
c291cmNlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMwY2NiNTcwYzVhZjI4
NzU3YWY5YzQzNjBmNzU2ZDIwMWJkOGYyOWYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50
U2VjdXJpdHlQb2xpY3kvdXBncmFkZS1pbnNlY3VyZS1yZXF1ZXN0cy9odHRwcy1oZWFkZXItc3Vi
cmVzb3VyY2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDIxICswLDAgQEAKLTwhRE9DVFlQRSBo
dG1sPgotPGh0bWw+Ci08aGVhZD4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0PgotICAg
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgIHRlc3RSdW5uZXIuc2V0Q2FuT3BlbldpbmRv
d3MoKTsKLQotICAgIHZhciB0ID0gYXN5bmNfdGVzdCgiVmVyaWZ5IHRoYXQgc3VicmVzb3VyY2Vz
IGRvIG5vdCByZWNlaXZlIGFuICdVcGdyYWRlLUluc2VjdXJlLVJlcXVlc3RzJyBoZWFkZXIuIik7
Ci0gICAgZmV0Y2goInJlc291cmNlcy9lY2hvLWh0dHBzLWhlYWRlci5wbCIpLnRoZW4odC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVzKSB7Ci0gICAgICAgIHJldHVybiByZXMuanNvbigpOwotICAgIH0p
KS50aGVuKHQuc3RlcF9mdW5jKGZ1bmN0aW9uKGpzb24pIHsKLSAgICAgICAgYXNzZXJ0X2VxdWFs
cyhqc29uLmhlYWRlciwgIiIpOwotICAgICAgICB0LmRvbmUoKTsKLSAgICB9KSk7Ci0gICAgPC9z
Y3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3VwZ3Jh
ZGUtaW5zZWN1cmUtcmVxdWVzdHMvaHR0cHMtaGVhZGVyLXRvcC1sZXZlbC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS91
cGdyYWRlLWluc2VjdXJlLXJlcXVlc3RzL2h0dHBzLWhlYWRlci10b3AtbGV2ZWwtZXhwZWN0ZWQu
dHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0MzhkOTUyNzdmMTZlOTc2MWIwOWVk
MjY1MDEyZmU2NzlkZDgzYzlhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5
UG9saWN5L3VwZ3JhZGUtaW5zZWN1cmUtcmVxdWVzdHMvaHR0cHMtaGVhZGVyLXRvcC1sZXZlbC1l
eHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwzICswLDAgQEAKLVZlcmlmeSB0aGF0IHRo
aXMgcmVxdWVzdCB3YXMgZGVsaXZlcmVkIHdpdGggYW4gJ1VwZ3JhZGUtSW5zZWN1cmUtUmVxdWVz
dHMnIGhlYWRlci4KLQotVXBncmFkZS1JbnNlY3VyZS1SZXF1ZXN0czogMQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvdXBn
cmFkZS1pbnNlY3VyZS1yZXF1ZXN0cy9odHRwcy1oZWFkZXItdG9wLWxldmVsLmh0bWwgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS91cGdyYWRl
LWluc2VjdXJlLXJlcXVlc3RzL2h0dHBzLWhlYWRlci10b3AtbGV2ZWwuaHRtbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggNjczZTMyZjc5Y2I2MGU4Nzg0MDY2NjRiYzk0MzNkMWU1MmUx
ODZiYi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS91cGdyYWRl
LWluc2VjdXJlLXJlcXVlc3RzL2h0dHBzLWhlYWRlci10b3AtbGV2ZWwuaHRtbAorKysgL2Rldi9u
dWxsCkBAIC0xLDE2ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08c2NyaXB0Pgot
aWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0g
ICAgdGVzdFJ1bm5lci5zZXRDYW5PcGVuV2luZG93cyh0cnVlKTsKLSAgICB0ZXN0UnVubmVyLndh
aXRVbnRpbERvbmUoKTsKLX0KLTwvc2NyaXB0PgotPGJvZHk+Ci0gICAgPGEgaHJlZj0icmVzb3Vy
Y2VzL2NoZWNrLWh0dHBzLWhlYWRlci5wbCI+TmF2aWdhdGUhPC9hPgotICAgIDxzY3JpcHQ+Ci0g
ICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignYScpLmNsaWNrKCk7Ci0gICAgPC9zY3JpcHQ+Ci08
L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3Vy
aXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS91cGdyYWRlLWluc2VjdXJlLXJlcXVlc3RzL2lmcmFt
ZS11cGdyYWRlLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2Vj
dXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3VwZ3JhZGUtaW5zZWN1cmUtcmVxdWVzdHMvaWZy
YW1lLXVwZ3JhZGUuaHR0cHMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAxN2ZkYzE2YTJiMWMyNDE3NzUzYjVlNDQzNGQ0OTNkMDUwZmY4NzUwLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3VwZ3JhZGUtaW5zZWN1cmUtcmVxdWVz
dHMvaWZyYW1lLXVwZ3JhZGUuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEs
NiArMCwwIEBACi0KLQotUEFTUyBTYW1lLWhvc3QgZnJhbWVzIGFyZSB1cGdyYWRlZC4gCi1QQVNT
IENyb3NzLWhvc3QgZnJhbWVzIGFyZSB1cGdyYWRlZC4gCi1QQVNTIFVwZ3JhZGUgcG9saWN5IGRv
ZXMgTk9UIGNhc2NhZGUgdG8gbmVzdGVkLCBjcm9zcy1ob3N0IGZyYW1lcy4gCi0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5
L3VwZ3JhZGUtaW5zZWN1cmUtcmVxdWVzdHMvaWZyYW1lLXVwZ3JhZGUuaHR0cHMuaHRtbCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3VwZ3Jh
ZGUtaW5zZWN1cmUtcmVxdWVzdHMvaWZyYW1lLXVwZ3JhZGUuaHR0cHMuaHRtbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMmY2YTAzZjdkOGFmMGFiZmE0ODI2ZjkwYjBmOTkyNzA1ZmQ5
MTlhYy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS91cGdyYWRl
LWluc2VjdXJlLXJlcXVlc3RzL2lmcmFtZS11cGdyYWRlLmh0dHBzLmh0bWwKKysrIC9kZXYvbnVs
bApAQCAtMSw1NyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxoZWFkPgotPHRpdGxlPlVwZ3Jh
ZGUgSW5zZWN1cmUgUmVxdWVzdHM6IElGcmFtZXMuPC90aXRsZT4KLTxzY3JpcHQgc3JjPSIvanMt
dGVzdC1yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9q
cy10ZXN0LXJlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci0KLTxtZXRh
IGh0dHAtZXF1aXY9IkNvbnRlbnQtU2VjdXJpdHktUG9saWN5IiBjb250ZW50PSJ1cGdyYWRlLWlu
c2VjdXJlLXJlcXVlc3RzIj4KLTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdD4KLS8vIFRoaXMgdGVz
dCBpcyBhIGJpdCBvZiBhIGhhY2suIFVQR1JBREUgZG9lc24ndCB1cGdyYWRlIHRoZSBwb3J0IG51
bWJlciwgc28gd2UKLS8vIHNwZWNpZnkgdGhpcyBub24tZXhpc3RlbnQgVVJMICgnaHR0cCcgb3Zl
ciBwb3J0IDg0NDMpLiBJZiBVUEdSQURFIGRvZXNuJ3QKLS8vIHdvcmssIGl0IHdvbid0IGxvYWQu
Ci1hc3luY190ZXN0KHQgPT4gewotICAgIHZhciBpZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCdpZnJhbWUnKTsKLSAgICBpZnJhbWUuc3JjID0gIkhUdHA6Ly8xMjcuMC4wLjE6ODQ0My9z
ZWN1cml0eS9yZXNvdXJjZXMvcG9zdC1vcmlnaW4tdG8tcGFyZW50Lmh0bWwiOwotCi0gICAgd2lu
ZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCB0LnN0ZXBfZnVuYyhlID0+IHsKLSAgICAg
ICAgaWYgKGUuc291cmNlID09IGlmcmFtZS5jb250ZW50V2luZG93KSB7Ci0gICAgICAgICAgICBh
c3NlcnRfZXF1YWxzKGUuZGF0YS5vcmlnaW4sICJodHRwc18xMjcuMC4wLjFfODQ0MyIpOwotICAg
ICAgICAgICAgdC5kb25lKCk7Ci0gICAgICAgIH0KLSAgICB9KSk7Ci0KLSAgICBkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKGlmcmFtZSk7Ci19LCAiU2FtZS1ob3N0IGZyYW1lcyBhcmUgdXBncmFk
ZWQuIik7Ci0KLWFzeW5jX3Rlc3QodCA9PiB7Ci0gICAgdmFyIGlmcmFtZSA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoJ2lmcmFtZScpOwotICAgIGlmcmFtZS5zcmMgPSAiaFR0UDovL2xvY2FsaG9z
dDo4NDQzL3NlY3VyaXR5L3Jlc291cmNlcy9wb3N0LW9yaWdpbi10by1wYXJlbnQuaHRtbCI7Ci0K
LSAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIHQuc3RlcF9mdW5jKGUgPT4g
ewotICAgICAgICBpZiAoZS5zb3VyY2UgPT0gaWZyYW1lLmNvbnRlbnRXaW5kb3cpIHsKLSAgICAg
ICAgICAgIGFzc2VydF9lcXVhbHMoZS5kYXRhLm9yaWdpbiwgImh0dHBzX2xvY2FsaG9zdF84NDQz
Iik7Ci0gICAgICAgICAgICB0LmRvbmUoKTsKLSAgICAgICAgfQotICAgIH0pKTsKLQotICAgIGRv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaWZyYW1lKTsKLX0sICJDcm9zcy1ob3N0IGZyYW1lcyBh
cmUgdXBncmFkZWQuIik7Ci0KLWFzeW5jX3Rlc3QodCA9PiB7Ci0gICAgdmFyIGlmcmFtZSA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lmcmFtZScpOwotICAgIGlmcmFtZS5zcmNkb2MgPSAiPGEg
aHJlZj0nSFRUUDovL2xvY2FsaG9zdDo4MDAwL3NlY3VyaXR5L3Jlc291cmNlcy9wb3N0LW9yaWdp
bi10by1wYXJlbnQuaHRtbCc+TmF2aWdhdGUhPC9hPiIgKwotICAgICAgICAgICAgICAgIjxzY3Jp
cHQ+ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignYScpLmNsaWNrKCk8L3NjciIgKyAiaXB0PiI7Ci0K
LSAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIHQuc3RlcF9mdW5jKGUgPT4g
ewotICAgICAgICBpZiAoZS5zb3VyY2UgPT0gaWZyYW1lLmNvbnRlbnRXaW5kb3cpIHsKLSAgICAg
ICAgICAgIGFzc2VydF9lcXVhbHMoZS5kYXRhLm9yaWdpbiwgImh0dHBfbG9jYWxob3N0XzgwMDAi
KTsKLSAgICAgICAgICAgIHQuZG9uZSgpOwotICAgICAgICB9Ci0gICAgfSkpOwotCi0gICAgZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChpZnJhbWUpOwotfSwgIlVwZ3JhZGUgcG9saWN5IGRvZXMg
Tk9UIGNhc2NhZGUgdG8gbmVzdGVkLCBjcm9zcy1ob3N0IGZyYW1lcy4iKTsKLTwvc2NyaXB0Pgot
PC9ib2R5PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3VwZ3JhZGUtaW5z
ZWN1cmUtcmVxdWVzdHMvcHJvcGVyLW5lc3RlZC11cGdyYWRlcy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS91cGdyYWRl
LWluc2VjdXJlLXJlcXVlc3RzL3Byb3Blci1uZXN0ZWQtdXBncmFkZXMtZXhwZWN0ZWQudHh0CmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmNzY4ZTRhMjRiNDU4YzgwMmI0OTFhMzAyNDVk
YTgyOWI5NzJmZmQ3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5
L3VwZ3JhZGUtaW5zZWN1cmUtcmVxdWVzdHMvcHJvcGVyLW5lc3RlZC11cGdyYWRlcy1leHBlY3Rl
ZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxOSArMCwwIEBACi1mcmFtZSAiPCEtLWZyYW1lUGF0
aCAvLzwhLS1mcmFtZTAtLT4tLT4iIC0gZGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JGcmFtZQot
bWFpbiBmcmFtZSAtIGRpZEZpbmlzaERvY3VtZW50TG9hZEZvckZyYW1lCi1mcmFtZSAiPCEtLWZy
YW1lUGF0aCAvLzwhLS1mcmFtZTAtLT4tLT4iIC0gZGlkQ29tbWl0TG9hZEZvckZyYW1lCi1BTEVS
VDogUEFTUwotZnJhbWUgIjwhLS1mcmFtZVBhdGggLy88IS0tZnJhbWUwLS0+LzwhLS1mcmFtZTAt
LT4tLT4iIC0gZGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JGcmFtZQotZnJhbWUgIjwhLS1mcmFt
ZVBhdGggLy88IS0tZnJhbWUwLS0+LS0+IiAtIGRpZEZpbmlzaERvY3VtZW50TG9hZEZvckZyYW1l
Ci1mcmFtZSAiPCEtLWZyYW1lUGF0aCAvLzwhLS1mcmFtZTAtLT4vPCEtLWZyYW1lMC0tPi0tPiIg
LSBkaWRDb21taXRMb2FkRm9yRnJhbWUKLUFMRVJUOiBQQVNTCi1BTEVSVDogUEFTUwotZnJhbWUg
IjwhLS1mcmFtZVBhdGggLy88IS0tZnJhbWUwLS0+LzwhLS1mcmFtZTAtLT4tLT4iIC0gZGlkRmlu
aXNoRG9jdW1lbnRMb2FkRm9yRnJhbWUKLWZyYW1lICI8IS0tZnJhbWVQYXRoIC8vPCEtLWZyYW1l
MC0tPi88IS0tZnJhbWUwLS0+LS0+IiAtIGRpZEhhbmRsZU9ubG9hZEV2ZW50c0ZvckZyYW1lCi1m
cmFtZSAiPCEtLWZyYW1lUGF0aCAvLzwhLS1mcmFtZTAtLT4tLT4iIC0gZGlkSGFuZGxlT25sb2Fk
RXZlbnRzRm9yRnJhbWUKLW1haW4gZnJhbWUgLSBkaWRIYW5kbGVPbmxvYWRFdmVudHNGb3JGcmFt
ZQotZnJhbWUgIjwhLS1mcmFtZVBhdGggLy88IS0tZnJhbWUwLS0+LzwhLS1mcmFtZTAtLT4tLT4i
IC0gZGlkRmluaXNoTG9hZEZvckZyYW1lCi1mcmFtZSAiPCEtLWZyYW1lUGF0aCAvLzwhLS1mcmFt
ZTAtLT4tLT4iIC0gZGlkRmluaXNoTG9hZEZvckZyYW1lCi1tYWluIGZyYW1lIC0gZGlkRmluaXNo
TG9hZEZvckZyYW1lCi1UaGlzIHRlc3QgbG9hZHMgYSBzZWN1cmUgaWZyYW1lIHdpdGggdGhlICd1
cGdyYWRlLWluc2VjdXJlLXJlcXVlc3RzJyBoZWFkZXIuIFRoZSBzZWN1cmUgZnJhbWUgaGFzIGFu
IGluc2VjdXJlIHNjcmlwdCByZWZlcmVuY2UsIHdoaWNoIHdpbGwgZ2V0IHVwZ3JhZGVkLiBUaGUg
c2VjdXJlIGZyYW1lIGRvZXMgYSBzZWN1cmUgbG9hZCBvZiBhbm90aGVyIGZyYW1lLiBUaGlzIG90
aGVyIGZyYW1lIHNwZWNpZmllcyBhbiBpbnNlY3VyZSBsb2FkIG9mIHRoaXMgc2FtZSBzY3JpcHQu
IElmIHRoZSBuZXN0ZWQgc3VicmVzb3VyY2UgbG9naWMgaXMgd29ya2luZyBwcm9wZXJseSwgdGhl
IG5vbi1zZWN1cmUgbG9hZCBpbiB0aGUgc2Vjb25kIG5lc3RlZCBmcmFtZSBzaG91bGQgYmUgdXBn
cmFkZWQsIGV2ZW4gdGhvdWdoIHRoYXQgZnJhbWUgZG9lcyBub3QgdXNlIHRoZSAndXBncmFkZS1p
bnNlY3VyZS1yZXF1ZXN0cycgaGVhZGVyLCBiZWNhdXNlIGl0IGhhZCBiZWVuIHByZXZpb3VzbHkg
dXBncmFkZWQgYnkgYW4gZW5jbG9zaW5nIGNvbnRleHQuIFRoZSBmcmFtZSB0d28tbGF5ZXJzIGRl
ZXAgYWxzbyBsb2FkcyBhIHNlY29uZCBzY3JpcHQgdXNpbmcgSFRUUC4gVGhpcyBzaG91bGQgYWxz
byBiZSB1cGdyYWRlZCB0byBIVFRQUywgc2luY2UgdGhlIG5lc3RlZCBmcmFtZSBpbmhlcml0cyB0
aGUgJ3VwZ3JhZGUtaW5zZWN1cmUtcmVxdWVzdCcgZnJvbSBpdHMgcGFyZW50LgotCi0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9s
aWN5L3VwZ3JhZGUtaW5zZWN1cmUtcmVxdWVzdHMvcHJvcGVyLW5lc3RlZC11cGdyYWRlcy5odG1s
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kv
dXBncmFkZS1pbnNlY3VyZS1yZXF1ZXN0cy9wcm9wZXItbmVzdGVkLXVwZ3JhZGVzLmh0bWwKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM0YTEwYzYyZGE1ZjUwOGJjYWYxYTEzZmIyNTg1
NjJiZmE1NzZiMDIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kv
dXBncmFkZS1pbnNlY3VyZS1yZXF1ZXN0cy9wcm9wZXItbmVzdGVkLXVwZ3JhZGVzLmh0bWwKKysr
IC9kZXYvbnVsbApAQCAtMSwyNSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGJv
ZHk+Ci08c2NyaXB0PgotaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgdGVzdFJ1bm5lci5k
dW1wQXNUZXh0KCk7Ci0gICAgdGVzdFJ1bm5lci5kdW1wRnJhbWVMb2FkQ2FsbGJhY2tzKCk7Ci19
Ci08L3NjcmlwdD4KLTxwPlRoaXMgdGVzdCBsb2FkcyBhIHNlY3VyZSBpZnJhbWUgd2l0aCB0aGUg
J3VwZ3JhZGUtaW5zZWN1cmUtcmVxdWVzdHMnIGhlYWRlci4KLVRoZSBzZWN1cmUgZnJhbWUgaGFz
IGFuIGluc2VjdXJlIHNjcmlwdCByZWZlcmVuY2UsIHdoaWNoIHdpbGwgZ2V0IHVwZ3JhZGVkLiBU
aGUKLXNlY3VyZSBmcmFtZSBkb2VzIGEgc2VjdXJlIGxvYWQgb2YgYW5vdGhlciBmcmFtZS4gVGhp
cyBvdGhlciBmcmFtZSBzcGVjaWZpZXMgYW4KLWluc2VjdXJlIGxvYWQgb2YgdGhpcyBzYW1lIHNj
cmlwdC4KLQotSWYgdGhlIG5lc3RlZCBzdWJyZXNvdXJjZSBsb2dpYyBpcyB3b3JraW5nIHByb3Bl
cmx5LCB0aGUgbm9uLXNlY3VyZSBsb2FkIGluCi10aGUgc2Vjb25kIG5lc3RlZCBmcmFtZSBzaG91
bGQgYmUgdXBncmFkZWQsIGV2ZW4gdGhvdWdoIHRoYXQgZnJhbWUgZG9lcyBub3QgdXNlCi10aGUg
J3VwZ3JhZGUtaW5zZWN1cmUtcmVxdWVzdHMnIGhlYWRlciwgYmVjYXVzZSBpdCBoYWQgYmVlbiBw
cmV2aW91c2x5IHVwZ3JhZGVkCi1ieSBhbiBlbmNsb3NpbmcgY29udGV4dC4KLQotVGhlIGZyYW1l
IHR3by1sYXllcnMgZGVlcCBhbHNvIGxvYWRzIGEgc2Vjb25kIHNjcmlwdCB1c2luZyBIVFRQLiBU
aGlzIHNob3VsZCBhbHNvCi1iZSB1cGdyYWRlZCB0byBIVFRQUywgc2luY2UgdGhlIG5lc3RlZCBm
cmFtZSBpbmhlcml0cyB0aGUgJ3VwZ3JhZGUtaW5zZWN1cmUtcmVxdWVzdCcKLWZyb20gaXRzIHBh
cmVudC48L3A+Ci08aWZyYW1lIHNyYz0iaHR0cHM6Ly8xMjcuMC4wLjE6ODQ0My9zZWN1cml0eS9j
b250ZW50U2VjdXJpdHlQb2xpY3kvdXBncmFkZS1pbnNlY3VyZS1yZXF1ZXN0cy9yZXNvdXJjZXMv
bmVzdGVkLWZyYW1lLmh0bWwiPjwvaWZyYW1lPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kv
dXBncmFkZS1pbnNlY3VyZS1yZXF1ZXN0cy9wcm9wZXItb3Blbi13aW5kb3ctdXBncmFkZXMtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJp
dHlQb2xpY3kvdXBncmFkZS1pbnNlY3VyZS1yZXF1ZXN0cy9wcm9wZXItb3Blbi13aW5kb3ctdXBn
cmFkZXMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkZTJkZDlj
ZDVmZTc0MWUwOWJkYTA0MzQ3MTZmMmIxZWIzN2Q0NmQ5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkv
Y29udGVudFNlY3VyaXR5UG9saWN5L3VwZ3JhZGUtaW5zZWN1cmUtcmVxdWVzdHMvcHJvcGVyLW9w
ZW4td2luZG93LXVwZ3JhZGVzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDkgKzAs
MCBAQAotQUxFUlQ6IFBBU1MKLUFMRVJUOiBQQVNTCi1DT05TT0xFIE1FU1NBR0U6IFtibG9ja2Vk
XSBUaGUgcGFnZSBhdCBodHRwczovLzEyNy4wLjAuMTo4NDQzL3NlY3VyaXR5L2NvbnRlbnRTZWN1
cml0eVBvbGljeS91cGdyYWRlLWluc2VjdXJlLXJlcXVlc3RzL3Jlc291cmNlcy9uZXN0ZWQtbmVz
dGVkLXdpbmRvdy5odG1sIHdhcyBub3QgYWxsb3dlZCB0byBydW4gaW5zZWN1cmUgY29udGVudCBm
cm9tIGh0dHA6Ly9sb2NhbGhvc3Q6ODQ0My9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kv
cmVzb3VyY2VzL2FsZXJ0LXBhc3MuanMuCi0KLVRoaXMgdGVzdCBjYXVzZXMgYSBuZXcgd2luZG93
IHRvIG9wZW4gcGVyZm9ybWluZyBhIHNlY3VyZSBuYXZpZ2F0aW9uIHRvIGEgZG9jdW1lbnQgd2l0
aCB0aGUgJ3VwZ3JhZGUtaW5zZWN1cmUtcmVxdWVzdHMnIGhlYWRlci4gVGhlIHNlY3VyZSBkb2N1
bWVudCBoYXMgYW4gaW5zZWN1cmUgc2NyaXB0IHJlZmVyZW5jZSwgd2hpY2ggd2lsbCBnZXQgdXBn
cmFkZWQuIFRoZSBzZWN1cmUgZG9jdW1lbnQgZG9lcyBhbiBpbnNlY3VyZSBuYXZpZ2F0aW9uIHRv
IGEgbmV3IHdpbmRvdy4gVGhpcyBuZXcgbmF2aWdhdGlvbiBzaG91bGQgbm90IGJlIHVwZ3JhZGVk
LgotCi1UaGUgbmV3IGRvY3VtZW50IGRvZXMgYW4gaW5zZWN1cmUgbmF2aWdhdGlvbiB0byBhIGhv
c3Qgd2UgaGF2ZSB2aXNpdGVkIGJlZm9yZS4gVGhpcyBuYXZpZ2F0aW9uIHNob3VsZCBiZSB1cGdy
YWRlZCwgZXZlbiB0aG91Z2ggdGhlIHNpdGUgZG9lcyBub3QgaGF2ZSB0aGUgJ3VwZGF0ZS1pbnNl
Y3VyZS1yZXF1ZXN0cycgaGVhZGVyLiBUaGUgbmV3IGRvY3VtZW50IGFsc28gZG9lcyBhbiBpbnNl
Y3VyZSBuYXZpZ2F0aW9uIHRvIGEgc2Vjb25kIGRvbWFpbiwgd2hpY2ggaGFzIG5vdCBiZWVuIHVw
Z3JhZGVkIGJlZm9yZS4gVGhpcyBuYXZpZ2F0aW9uIHNob3VsZCBub3QgYmUgdXBncmFkZWQsIGFu
ZCB3aWxsIGZhaWwgKGluIHRoaXMgdGVzdCkgYmVjYXVzZSB3ZSBvbmx5IHByb3ZpZGUgdGhlIHJl
c291cmNlIHRvIGxvYWQgdW5kZXIgdGhlIEhUVFBTIHNlcnZlci4KLQotSWYgdXBncmFkZXMgYXJl
IHdvcmtpbmcgYXMgZXhwZWN0ZWQsIHRoZXJlIHNob3VsZCBiZSB0d28gUEFTUyBlbnRyaWVzIGlu
IHRoZSB0ZXN0IG91dHB1dC4gSWYgdGhlcmUgYXJlIGZpdmUgZW50aXJlcywgdGhlIGluc2VjdXJl
IGxvYWQgdG8gYSBuZXcgaG9zdCBpcyBiZWluZyBpbXByb3Blcmx5IHVwZ3JhZGVkLgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xp
Y3kvdXBncmFkZS1pbnNlY3VyZS1yZXF1ZXN0cy9wcm9wZXItb3Blbi13aW5kb3ctdXBncmFkZXMu
aHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9s
aWN5L3VwZ3JhZGUtaW5zZWN1cmUtcmVxdWVzdHMvcHJvcGVyLW9wZW4td2luZG93LXVwZ3JhZGVz
Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFhYjM4ZWEyNzRkZTE5MWE0YTRl
OGU1YWYyMzUxZDY3MmNlZjQ2MjQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJp
dHlQb2xpY3kvdXBncmFkZS1pbnNlY3VyZS1yZXF1ZXN0cy9wcm9wZXItb3Blbi13aW5kb3ctdXBn
cmFkZXMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDM1ICswLDAgQEAKLTwhRE9DVFlQRSBodG1s
PgotPGh0bWw+Ci08aGVhZD4KLSAgICA8c2NyaXB0PgotICAgIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikgewotICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICAgICAgdGVzdFJ1
bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0Q2FuT3BlbldpbmRvd3Mo
KTsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRDbG9zZVJlbWFpbmluZ1dpbmRvd3NXaGVuQ29tcGxl
dGUodHJ1ZSk7Ci0gICAgfQotCi0gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2Ui
LCBmdW5jdGlvbiAoZSkgewotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAg
ICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICB9LCBmYWxzZSk7Ci0gICAgCi0gICAg
d2luZG93Lm9wZW4oImh0dHBzOi8vMTI3LjAuMC4xOjg0NDMvc2VjdXJpdHkvY29udGVudFNlY3Vy
aXR5UG9saWN5L3VwZ3JhZGUtaW5zZWN1cmUtcmVxdWVzdHMvcmVzb3VyY2VzL25lc3RlZC13aW5k
b3cuaHRtbCIpOwotICAgIDwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08cD5UaGlzIHRlc3Qg
Y2F1c2VzIGEgbmV3IHdpbmRvdyB0byBvcGVuIHBlcmZvcm1pbmcgYSBzZWN1cmUgbmF2aWdhdGlv
biB0byBhCi1kb2N1bWVudCB3aXRoIHRoZSAndXBncmFkZS1pbnNlY3VyZS1yZXF1ZXN0cycgaGVh
ZGVyLiBUaGUgc2VjdXJlIGRvY3VtZW50IGhhcwotYW4gaW5zZWN1cmUgc2NyaXB0IHJlZmVyZW5j
ZSwgd2hpY2ggd2lsbCBnZXQgdXBncmFkZWQuIFRoZSBzZWN1cmUgZG9jdW1lbnQgZG9lcwotYW4g
aW5zZWN1cmUgbmF2aWdhdGlvbiB0byBhIG5ldyB3aW5kb3cuIFRoaXMgbmV3IG5hdmlnYXRpb24g
c2hvdWxkIG5vdCBiZSB1cGdyYWRlZC48L3A+Ci08cD5UaGUgbmV3IGRvY3VtZW50IGRvZXMgYW4g
aW5zZWN1cmUgbmF2aWdhdGlvbiB0byBhIGhvc3Qgd2UgaGF2ZSB2aXNpdGVkIGJlZm9yZS4KLVRo
aXMgbmF2aWdhdGlvbiBzaG91bGQgYmUgdXBncmFkZWQsIGV2ZW4gdGhvdWdoIHRoZSBzaXRlIGRv
ZXMgbm90IGhhdmUgdGhlCi0ndXBkYXRlLWluc2VjdXJlLXJlcXVlc3RzJyBoZWFkZXIuIFRoZSBu
ZXcgZG9jdW1lbnQgYWxzbyBkb2VzIGFuIGluc2VjdXJlIG5hdmlnYXRpb24KLXRvIGEgc2Vjb25k
IGRvbWFpbiwgd2hpY2ggaGFzIG5vdCBiZWVuIHVwZ3JhZGVkIGJlZm9yZS4gVGhpcyBuYXZpZ2F0
aW9uIHNob3VsZCBub3QKLWJlIHVwZ3JhZGVkLCBhbmQgd2lsbCBmYWlsIChpbiB0aGlzIHRlc3Qp
IGJlY2F1c2Ugd2Ugb25seSBwcm92aWRlIHRoZSByZXNvdXJjZSB0bwotbG9hZCB1bmRlciB0aGUg
SFRUUFMgc2VydmVyLjwvcD4KLTxwPklmIHVwZ3JhZGVzIGFyZSB3b3JraW5nIGFzIGV4cGVjdGVk
LCB0aGVyZSBzaG91bGQgYmUgdHdvIFBBU1MgZW50cmllcyBpbiB0aGUKLXRlc3Qgb3V0cHV0LiBJ
ZiB0aGVyZSBhcmUgZml2ZSBlbnRpcmVzLCB0aGUgaW5zZWN1cmUgbG9hZCB0byBhIG5ldyBob3N0
Ci1pcyBiZWluZyBpbXByb3Blcmx5IHVwZ3JhZGVkLjwvcD4KLTwvYm9keT4KLTwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5
UG9saWN5L3VwZ3JhZGUtaW5zZWN1cmUtcmVxdWVzdHMvcmVzb3VyY2VzL2Jhc2ljLXVwZ3JhZGUt
Y29ycy5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50
U2VjdXJpdHlQb2xpY3kvdXBncmFkZS1pbnNlY3VyZS1yZXF1ZXN0cy9yZXNvdXJjZXMvYmFzaWMt
dXBncmFkZS1jb3JzLmh0dHBzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBi
NDBlMTZiNGMyN2U5NzNmMDRmNjQzMjI0MzI2YTk0NDY4ZjI1YjkuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1
cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvdXBncmFkZS1pbnNlY3VyZS1yZXF1ZXN0cy9yZXNv
dXJjZXMvYmFzaWMtdXBncmFkZS1jb3JzLmh0dHBzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0
MyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTx0aXRsZT5VcGdyYWRlIEluc2VjdXJlIFJlcXVl
c3RzOiBCYXNpY3MuPC90aXRsZT4KLTxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci0KLTxtZXRhIGh0dHAtZXF1aXY9IkNvbnRl
bnQtU2VjdXJpdHktUG9saWN5IiBjb250ZW50PSJ1cGdyYWRlLWluc2VjdXJlLXJlcXVlc3RzIj4K
LTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdD4KLWlmICh3aW5kb3cudGVzdFJ1bm5l
cikKLSAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLQotLy8gVGhpcyBpcyBhIGJpdCBvZiBh
IGhhY2suIFVQR1JBREUgZG9lc24ndCB1cGdyYWRlIHRoZSBwb3J0IG51bWJlciwgc28gd2UKLS8v
IHNwZWNpZnkgdGhpcyBub24tZXhpc3RlbnQgVVJMICgnaHR0cCcgb3ZlciBwb3J0IDg0NDMpLiBJ
ZiBVUEdSQURFIGRvZXNuJ3QKLS8vIHdvcmssIGl0IHdvbid0IGxvYWQuCi12YXIgaW5zZWN1cmVJ
bWFnZSA9ICJodHRwOi8vMTI3LjAuMC4xOjg0NDMvc2VjdXJpdHkvcmVzb3VyY2VzL2FiZS5wbmci
OwotCi0oZnVuY3Rpb24oKSB7Ci0gICAgdmFyIHQgPSBhc3luY190ZXN0KCJWZXJpZnkgdGhhdCBp
bWFnZXMgaGF2ZSBjb3JyZWN0IGNyb3NzLW9yaWdpbiBiZWhhdmlvci4iKTsKLSAgICB0LnN0ZXAo
ZnVuY3Rpb24gKCkgewotICAgICAgICB2YXIgaSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lt
ZycpOwotICAgICAgICBpLm9ubG9hZCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uICgpIHsKLSAgICAg
ICAgICAgIC8vIERyYXcgdGhlIGltYWdlIG9udG8gYSBjYW52YXMuCi0gICAgICAgICAgICB2YXIg
Y2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7Ci0gICAgICAgICAgICB2
YXIgY3R4ID0gY2FudmFzLmdldENvbnRleHQoJzJkJyk7Ci0gICAgICAgICAgICBjdHguZHJhd0lt
YWdlKGksIDAsIDApOwotCi0gICAgICAgICAgICAvLyBHcmFiIGEgcGl4ZWwgdG8gdmVyaWZ5IHRo
YXQgdGhlIGltYWdlIGlzIHNhbWUtb3JpZ2luOgotICAgICAgICAgICAgdHJ5IHsKLSAgICAgICAg
ICAgICAgICB2YXIgcGl4ZWwgPSBjdHguZ2V0SW1hZ2VEYXRhKDAsIDAsIDEsIDEpOwotICAgICAg
ICAgICAgICAgIHQuZG9uZSgpOwotICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCJQQVNTOiBT
dWNjZXNzZnVsbHkgcmV0cmlldmVkIGltYWdlIGRhdGEuIik7Ci0gICAgICAgICAgICB9IGNhdGNo
IChlKSB7Ci0gICAgICAgICAgICAgICAgY29uc29sZS5sb2coIkZBSUw6IFRoZSBpbWFnZSBzaG91
bGQgYmUgc2FtZS1vcmlnaW4gd2l0aCB0aGlzIGRvY3VtZW50LiIpOwotICAgICAgICAgICAgfQot
ICAgICAgICB9KTsKLSAgICAgICAgaS5vbmVycm9yID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24gKCkg
ewotICAgICAgICAgICAgY29uc29sZS5sb2coIkZBSUw6IFRoZSBpbWFnZSBzaG91bGQgbG9hZCBz
dWNjZXNzZnVsbHkuIik7Ci0gICAgICAgIH0pOwotCi0gICAgICAgIGkuc3JjID0gaW5zZWN1cmVJ
bWFnZTsKLSAgICB9KTsKLX0oKSk7Ci08L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3VwZ3JhZGUtaW5zZWN1
cmUtcmVxdWVzdHMvcmVzb3VyY2VzL2NoZWNrLWh0dHBzLWhlYWRlci5wbCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3VwZ3JhZGUtaW5zZWN1
cmUtcmVxdWVzdHMvcmVzb3VyY2VzL2NoZWNrLWh0dHBzLWhlYWRlci5wbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA3NTUKaW5kZXggZGRlZWRkOGNkYmU1OTNlYTNmMTNiOGEwMTgzMjdmMzc1Y2VkZDhl
Ni4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS91cGdyYWRlLWlu
c2VjdXJlLXJlcXVlc3RzL3Jlc291cmNlcy9jaGVjay1odHRwcy1oZWFkZXIucGwKKysrIC9kZXYv
bnVsbApAQCAtMSwyNiArMCwwIEBACi0jIS91c3IvYmluL3BlcmwgLXdUCi11c2Ugc3RyaWN0Owot
Ci1wcmludCAiQ29udGVudC1UeXBlOiB0ZXh0L2h0bWxcbiI7Ci1wcmludCAiQWNjZXNzLUNvbnRy
b2wtQWxsb3ctT3JpZ2luOiAqXG4iOwotcHJpbnQgIkNhY2hlLUNvbnRyb2w6IG5vLXN0b3JlXG5c
biI7Ci0KLXByaW50IDw8RE9ORQotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotICAg
IDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgotICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci0gICAgPHA+VmVyaWZ5IHRoYXQgdGhpcyBy
ZXF1ZXN0IHdhcyBkZWxpdmVyZWQgd2l0aCBhbiAnVXBncmFkZS1JbnNlY3VyZS1SZXF1ZXN0cycg
aGVhZGVyLjwvcD4KLSAgICA8c2NyaXB0PgotICAgIHZhciBodHRwc0hlYWRlciA9ICIkRU5WeyJI
VFRQX1VQR1JBREVfSU5TRUNVUkVfUkVRVUVTVFMifSI7Ci0gICAgZG9jdW1lbnQud3JpdGUoIlVw
Z3JhZGUtSW5zZWN1cmUtUmVxdWVzdHM6ICIgKyBodHRwc0hlYWRlcikKLSAgICBhc3NlcnRfZXF1
YWxzKGh0dHBzSGVhZGVyLCAiMSIpOwotICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAg
ICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0
bWw+Ci1ET05FCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nv
bnRlbnRTZWN1cml0eVBvbGljeS91cGdyYWRlLWluc2VjdXJlLXJlcXVlc3RzL3Jlc291cmNlcy9l
Y2hvLWh0dHBzLWhlYWRlci5wbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29u
dGVudFNlY3VyaXR5UG9saWN5L3VwZ3JhZGUtaW5zZWN1cmUtcmVxdWVzdHMvcmVzb3VyY2VzL2Vj
aG8taHR0cHMtaGVhZGVyLnBsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDc1NQppbmRleCA3ZjIwZmI4
MGYyOWI2Y2JhNGNlNjU4YmVmYmY0YTliZTMyM2U1ODYzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkv
Y29udGVudFNlY3VyaXR5UG9saWN5L3VwZ3JhZGUtaW5zZWN1cmUtcmVxdWVzdHMvcmVzb3VyY2Vz
L2VjaG8taHR0cHMtaGVhZGVyLnBsCisrKyAvZGV2L251bGwKQEAgLTEsMTAgKzAsMCBAQAotIyEv
dXNyL2Jpbi9wZXJsIC13VAotdXNlIHN0cmljdDsKLQotcHJpbnQgIkNvbnRlbnQtVHlwZTogdGV4
dC9odG1sXG4iOwotcHJpbnQgIkFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbjogKlxuIjsKLXBy
aW50ICJDYWNoZS1Db250cm9sOiBuby1zdG9yZVxuXG4iOwotCi1wcmludCA8PERPTkUKLXsgImhl
YWRlciI6ICIkRU5WeyJIVFRQX1VQR1JBREVfSU5TRUNVUkVfUkVRVUVTVFMifSIgfQotRE9ORQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJp
dHlQb2xpY3kvdXBncmFkZS1pbnNlY3VyZS1yZXF1ZXN0cy9yZXNvdXJjZXMvZnJhbWUtd2l0aC1p
bnNlY3VyZS1hdWRpby12aWRlby5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0
eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvdXBncmFkZS1pbnNlY3VyZS1yZXF1ZXN0cy9yZXNvdXJj
ZXMvZnJhbWUtd2l0aC1pbnNlY3VyZS1hdWRpby12aWRlby5odG1sCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA3ZDE2ZDIyZWU1OTE2MWRlMWZlYTIwYmViNjYyNWYzNzhhMTM2YWFmLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3VwZ3JhZGUtaW5zZWN1
cmUtcmVxdWVzdHMvcmVzb3VyY2VzL2ZyYW1lLXdpdGgtaW5zZWN1cmUtYXVkaW8tdmlkZW8uaHRt
bAorKysgL2Rldi9udWxsCkBAIC0xLDExICswLDAgQEAKLTxtZXRhIGh0dHAtZXF1aXY9IkNvbnRl
bnQtU2VjdXJpdHktUG9saWN5IiBjb250ZW50PSJ1cGdyYWRlLWluc2VjdXJlLXJlcXVlc3RzIj4K
LTxib2R5IG9ubG9hZD0ibG9hZGVkKCkiPgotPGF1ZGlvIHNyYz0iaHR0cDovLzEyNy4wLjAuMTo4
NDQzL3Jlc291cmNlcy90ZXN0Lm1wNCI+PC9hdWRpbz4KLTx2aWRlbyBzcmM9Imh0dHA6Ly8xMjcu
MC4wLjE6ODQ0My9yZXNvdXJjZXMvdGVzdC5tcDQiPjwvdmlkZW8+Ci08c2NyaXB0PgotZnVuY3Rp
b24gbG9hZGVkKCkgewotICAgIGlmICh3aW5kb3cub3BlbmVyKQotICAgICAgICB3aW5kb3cub3Bl
bmVyLnBvc3RNZXNzYWdlKCdkb25lJywgJyonKTsKLX0KLTwvc2NyaXB0PgotPC9ib2R5PgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQ
b2xpY3kvdXBncmFkZS1pbnNlY3VyZS1yZXF1ZXN0cy9yZXNvdXJjZXMvZnJhbWUtd2l0aC1pbnNl
Y3VyZS1jc3MuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNl
Y3VyaXR5UG9saWN5L3VwZ3JhZGUtaW5zZWN1cmUtcmVxdWVzdHMvcmVzb3VyY2VzL2ZyYW1lLXdp
dGgtaW5zZWN1cmUtY3NzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgxMDEx
OWRhYTE1YTBmOTI4N2VmZTRmMTliNTY1NWU4OWJjODE4MzAuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0
eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvdXBncmFkZS1pbnNlY3VyZS1yZXF1ZXN0cy9yZXNvdXJj
ZXMvZnJhbWUtd2l0aC1pbnNlY3VyZS1jc3MuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDE0ICsw
LDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxtZXRhIGh0dHAtZXF1aXY9
IkNvbnRlbnQtU2VjdXJpdHktUG9saWN5IiBjb250ZW50PSJ1cGdyYWRlLWluc2VjdXJlLXJlcXVl
c3RzIj4KLTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cDovLzEyNy4wLjAuMTo4NDQz
L3NlY3VyaXR5L21peGVkQ29udGVudC9yZXNvdXJjZXMvc3R5bGUuY3NzIj4KLTwvaGVhZD4KLTxi
b2R5PgotVGhpcyBiYWNrZ3JvdW5kIGNvbG9yIHNob3VsZCBiZSBibHVlLgotPHNjcmlwdD4KLWlm
ICh3aW5kb3cub3BlbmVyKQotICAgIHdpbmRvdy5vcGVuZXIucG9zdE1lc3NhZ2UoJ2RvbmUnLCAn
KicpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS91cGdyYWRlLWluc2Vj
dXJlLXJlcXVlc3RzL3Jlc291cmNlcy9mcmFtZS13aXRoLWluc2VjdXJlLWltYWdlLmh0bWwgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS91cGdy
YWRlLWluc2VjdXJlLXJlcXVlc3RzL3Jlc291cmNlcy9mcmFtZS13aXRoLWluc2VjdXJlLWltYWdl
Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJmYzU4Njc4MmQ4ODU2YWE3NDc4
YmU3YzI3NTU2NzM2NmVhNzNiYmQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJp
dHlQb2xpY3kvdXBncmFkZS1pbnNlY3VyZS1yZXF1ZXN0cy9yZXNvdXJjZXMvZnJhbWUtd2l0aC1p
bnNlY3VyZS1pbWFnZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsOCArMCwwIEBACi08bWV0YSBo
dHRwLWVxdWl2PSJDb250ZW50LVNlY3VyaXR5LVBvbGljeSIgY29udGVudD0idXBncmFkZS1pbnNl
Y3VyZS1yZXF1ZXN0cyI+Ci08aW1nIHNyYz0iaHR0cDovLzEyNy4wLjAuMTo4NDQzL3NlY3VyaXR5
L3Jlc291cmNlcy9jb21wYXNzLmpwZyI+Ci08c2NyaXB0Pgotd2luZG93Lm9ubG9hZCA9IGZ1bmN0
aW9uKCkgewotICAgIGlmICh3aW5kb3cub3BlbmVyKQotICAgICAgICB3aW5kb3cub3BlbmVyLnBv
c3RNZXNzYWdlKCdkb25lJywgJyonKTsKLX07Ci08L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3VwZ3JhZGUt
aW5zZWN1cmUtcmVxdWVzdHMvcmVzb3VyY2VzL2ZyYW1lLXdpdGgtcmVkaXJlY3QtaHR0cC10by1o
dHRwcy1zY3JpcHQuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVu
dFNlY3VyaXR5UG9saWN5L3VwZ3JhZGUtaW5zZWN1cmUtcmVxdWVzdHMvcmVzb3VyY2VzL2ZyYW1l
LXdpdGgtcmVkaXJlY3QtaHR0cC10by1odHRwcy1zY3JpcHQuaHRtbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggZmJkMzk5MjQwOGFhMWJhZDc5ZjdmYjAxZTljYjA5NzNmNmFiNmE1My4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS91cGdyYWRlLWluc2Vj
dXJlLXJlcXVlc3RzL3Jlc291cmNlcy9mcmFtZS13aXRoLXJlZGlyZWN0LWh0dHAtdG8taHR0cHMt
c2NyaXB0Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyICswLDAgQEAKLTxtZXRhIGh0dHAtZXF1
aXY9IkNvbnRlbnQtU2VjdXJpdHktUG9saWN5IiBjb250ZW50PSJ1cGdyYWRlLWluc2VjdXJlLXJl
cXVlc3RzIj4KLTxzY3JpcHQgc3JjPSJodHRwOi8vMTI3LjAuMC4xOjg0NDMvcmVzb3VyY2VzL3Jl
ZGlyZWN0LnBocD91cmw9aHR0cHM6Ly8xMjcuMC4wLjE6ODQ0My9zZWN1cml0eS9taXhlZENvbnRl
bnQvcmVzb3VyY2VzL3NjcmlwdC5qcyI+PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS91cGdyYWRlLWluc2Vj
dXJlLXJlcXVlc3RzL3Jlc291cmNlcy9mcmFtZS13aXRoLXJlZGlyZWN0LWh0dHBzLXRvLWh0dHAt
c2NyaXB0Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1
cml0eVBvbGljeS91cGdyYWRlLWluc2VjdXJlLXJlcXVlc3RzL3Jlc291cmNlcy9mcmFtZS13aXRo
LXJlZGlyZWN0LWh0dHBzLXRvLWh0dHAtc2NyaXB0Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDZkYzdkNTI4MmRlMDY3YjNlNWMwNDZlN2UwYzAzOTdmZWY2YTkyMDQuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvdXBncmFkZS1pbnNlY3VyZS1y
ZXF1ZXN0cy9yZXNvdXJjZXMvZnJhbWUtd2l0aC1yZWRpcmVjdC1odHRwcy10by1odHRwLXNjcmlw
dC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMiArMCwwIEBACi08bWV0YSBodHRwLWVxdWl2PSJD
b250ZW50LVNlY3VyaXR5LVBvbGljeSIgY29udGVudD0idXBncmFkZS1pbnNlY3VyZS1yZXF1ZXN0
cyI+Ci08c2NyaXB0IHNyYz0iaFR0cFM6Ly8xMjcuMC4wLjE6ODQ0My9yZXNvdXJjZXMvcmVkaXJl
Y3QucGhwP3VybD1oVHRQOi8vMTI3LjAuMC4xOjgwODAvc2VjdXJpdHkvbWl4ZWRDb250ZW50L3Jl
c291cmNlcy9zY3JpcHQuanMiPjwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvdXBncmFkZS1pbnNlY3VyZS1y
ZXF1ZXN0cy9yZXNvdXJjZXMvaW5zZWN1cmUteGhyLWluLW1haW4tZnJhbWUtd2luZG93Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS91
cGdyYWRlLWluc2VjdXJlLXJlcXVlc3RzL3Jlc291cmNlcy9pbnNlY3VyZS14aHItaW4tbWFpbi1m
cmFtZS13aW5kb3cuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTBkYWM5MTk1
MTVhZTEzNzlhNmI1YWZiNDg4NWU2ZjFjNWVjYWJkNy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nv
bnRlbnRTZWN1cml0eVBvbGljeS91cGdyYWRlLWluc2VjdXJlLXJlcXVlc3RzL3Jlc291cmNlcy9p
bnNlY3VyZS14aHItaW4tbWFpbi1mcmFtZS13aW5kb3cuaHRtbAorKysgL2Rldi9udWxsCkBAIC0x
LDM0ICswLDAgQEAKLTxodG1sPgotPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1TZWN1cml0eS1Q
b2xpY3kiIGNvbnRlbnQ9InVwZ3JhZGUtaW5zZWN1cmUtcmVxdWVzdHMiPgotPGJvZHk+Ci08c2Ny
aXB0PgotCi13aW5kb3cub25sb2FkID0gZnVuY3Rpb24oKSB7Ci0gICAgdmFyIHhociA9IG5ldyBY
TUxIdHRwUmVxdWVzdCgpOwotICAgIHhoci5vbmxvYWQgPSBmdW5jdGlvbigpIHsKLSAgICAgICAg
YWxlcnQoIlBBU1M6IGxvYWQgd2FzIG5vdCBibG9ja2VkIik7Ci0gICAgICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgIH07
Ci0KLSAgICAvLyBXaGVuIFhIUiBpcyBibG9ja2VkIGR1ZSB0byBtaXhlZCBjb250ZW50IGJsb2Nr
aW5nLCBpdCBqdXN0IGFwcGVhcnMgYXMgaWYgdGhlIGxvYWQgc3RhbGxzLAotICAgIC8vIHNlZSBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ1NzE3LgotICAgIHNldFRp
bWVvdXQoZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAg
ICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgIH0sIDIwMDApOwotCi0gICAgdHJ5
IHsKLSAgICAgICAgeGhyLm9wZW4oIkdFVCIsICJodHRwOi8vMTI3LjAuMC4xOjg0NDMvIik7Ci0g
ICAgfSBjYXRjaCAoZXgpIHsKLSAgICAgICAgLy8gRmlyZWZveCByYWlzZXMgYW4gZXhjZXB0aW9u
LCB3aGljaCBpcyBvbmUgd2F5IHRvIG1ha2UgdGhpcyBkZXRlY3RhYmxlLgotICAgICAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsK
LSAgICB9Ci0KLSAgICB4aHIuc2VuZChudWxsKTsKLX07Ci08L3NjcmlwdD4KLQotPC9ib2R5Pgot
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250
ZW50U2VjdXJpdHlQb2xpY3kvdXBncmFkZS1pbnNlY3VyZS1yZXF1ZXN0cy9yZXNvdXJjZXMvbWl4
ZWQtY29udGVudC13aXRoLXVwZ3JhZGUuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2Vj
dXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3VwZ3JhZGUtaW5zZWN1cmUtcmVxdWVzdHMvcmVz
b3VyY2VzL21peGVkLWNvbnRlbnQtd2l0aC11cGdyYWRlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNzU1CmluZGV4IDkzMDA4ZDYyMTMwNTM2NThjOTcxNDY1NTEwMzYxZDA2M2JlNTU1NDYuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvdXBncmFkZS1pbnNlY3Vy
ZS1yZXF1ZXN0cy9yZXNvdXJjZXMvbWl4ZWQtY29udGVudC13aXRoLXVwZ3JhZGUuaHRtbAorKysg
L2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1TZWN1
cml0eS1Qb2xpY3kiIGNvbnRlbnQ9InVwZ3JhZGUtaW5zZWN1cmUtcmVxdWVzdHMiPgotVGhpcyBw
YWdlIGluY2x1ZGVzIGFuIGluc2VjdXJlIHNjcmlwdCB0aGF0IGFsZXJ0cyAiUEFTUyIuIEFsdGhv
dWdoIGl0IGlzIGJsb2NrZWQgYnkgQ1NQLCBpdCBzaG91bGQgYmUgdXBncmFkZWQgYW5kIGV4ZWN1
dGVkLgotPHNjcmlwdCBzcmM9Imh0dHA6Ly8xMjcuMC4wLjE6ODQ0My9zZWN1cml0eS9jb250ZW50
U2VjdXJpdHlQb2xpY3kvcmVzb3VyY2VzL2FsZXJ0LXBhc3MuanMiPjwvc2NyaXB0PgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xp
Y3kvdXBncmFkZS1pbnNlY3VyZS1yZXF1ZXN0cy9yZXNvdXJjZXMvbmVzdGVkLWZyYW1lLmh0bWwg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS91
cGdyYWRlLWluc2VjdXJlLXJlcXVlc3RzL3Jlc291cmNlcy9uZXN0ZWQtZnJhbWUuaHRtbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjljYTYxNTY1YzRhZDEyNmFmZTcyZWYwYmRlMmZl
NzY1NjM2YTNiMS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS91
cGdyYWRlLWluc2VjdXJlLXJlcXVlc3RzL3Jlc291cmNlcy9uZXN0ZWQtZnJhbWUuaHRtbAorKysg
L2Rldi9udWxsCkBAIC0xLDggKzAsMCBAQAotPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1TZWN1
cml0eS1Qb2xpY3kiIGNvbnRlbnQ9InVwZ3JhZGUtaW5zZWN1cmUtcmVxdWVzdHMiPgotPHNjcmlw
dCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08ZGl2
PgotICAgIDxwPlRoZSBmb2xsb3dpbmcgc2NyaXB0IGlzIGxvYWRlZCB1c2luZyAnaHR0cCcsIGJ1
dCBpdCBzaG91bGQgYmUgdXBncmFkZWQgdG8gJ2h0dHBzJyBkdWUgdG8gdGhlCi0ndXBncmFkZS1p
bnNlY3VyZS1yZXF1ZXN0cycgaGVhZGVyLjwvcD4KLSAgICA8c2NyaXB0IHNyYz0iaHR0cDovLzEy
Ny4wLjAuMTo4NDQzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXNvdXJjZXMvYWxl
cnQtcGFzcy5qcyI+PC9zY3JpcHQ+Ci08ZGl2PgotPGlmcmFtZSBzcmM9Imh0dHBzOi8vMTI3LjAu
MC4xOjg0NDMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3VwZ3JhZGUtaW5zZWN1cmUt
cmVxdWVzdHMvcmVzb3VyY2VzL25lc3RlZC1uZXN0ZWQtZnJhbWUuaHRtbCI+PC9pZnJhbWU+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0
eVBvbGljeS91cGdyYWRlLWluc2VjdXJlLXJlcXVlc3RzL3Jlc291cmNlcy9uZXN0ZWQtbmVzdGVk
LWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1
cml0eVBvbGljeS91cGdyYWRlLWluc2VjdXJlLXJlcXVlc3RzL3Jlc291cmNlcy9uZXN0ZWQtbmVz
dGVkLWZyYW1lLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDYxYmRkYzYwNTA1
ZDRmZjAxM2YzYWViNzA2ZjFkYjBhMmE1YjY3MDIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250
ZW50U2VjdXJpdHlQb2xpY3kvdXBncmFkZS1pbnNlY3VyZS1yZXF1ZXN0cy9yZXNvdXJjZXMvbmVz
dGVkLW5lc3RlZC1mcmFtZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTAgKzAsMCBAQAotPGRp
dj4KLSAgICA8cD5UaGUgZm9sbG93aW5nIHNjcmlwdCBpcyBsb2FkZWQgdXNpbmcgJ2h0dHAnLCBi
dXQgaXQgc2hvdWxkIGJlIHVwZ3JhZGVkIHRvICdodHRwcycgYmVjYXVzZSB0aGUKLWVuY2xvc2lu
ZyBmcmFtZSBoYXMgYWxyZWFkeSB1cGdyYWRlZCBpdC48L3A+Ci0gICAgPHNjcmlwdCBzcmM9Imh0
dHA6Ly8xMjcuMC4wLjE6ODQ0My9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVzb3Vy
Y2VzL2FsZXJ0LXBhc3MuanMiPjwvc2NyaXB0PgotPGRpdj4KLTxkaXY+Ci0gICAgPHA+VGhlIGZv
bGxvd2luZyBzY3JpcHQgaXMgbG9hZGVkIHVzaW5nICdodHRwJywgYnV0IHNob3VsZCBiZSB1cGdy
YWRlZCB0byAnaHR0cHMnIGJlY2F1c2UgdGhlCi1lbmNsb3NpbmcgZnJhbWUgaXMgc2V0IHRvIHVw
Z3JhZGUuPC9wPgotICAgIDxzY3JpcHQgc3JjPSJodHRwOi8vbG9jYWxob3N0Ojg0NDMvc2VjdXJp
dHkvY29udGVudFNlY3VyaXR5UG9saWN5L3Jlc291cmNlcy9hbGVydC1wYXNzLmpzIj48L3Njcmlw
dD4KLTwvZGl2PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3VwZ3JhZGUt
aW5zZWN1cmUtcmVxdWVzdHMvcmVzb3VyY2VzL25lc3RlZC1uZXN0ZWQtd2luZG93Lmh0bWwgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS91cGdy
YWRlLWluc2VjdXJlLXJlcXVlc3RzL3Jlc291cmNlcy9uZXN0ZWQtbmVzdGVkLXdpbmRvdy5odG1s
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmZmNhOTRjNDgyMmE2ZDIxY2E2Y2EwYjk1
YmM3MDhmNGFhOWQ2ZmRmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9s
aWN5L3VwZ3JhZGUtaW5zZWN1cmUtcmVxdWVzdHMvcmVzb3VyY2VzL25lc3RlZC1uZXN0ZWQtd2lu
ZG93Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxOSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4K
LTxodG1sPgotPGJvZHk+Ci08ZGl2PgotICAgIDxwPlRoZSBmb2xsb3dpbmcgc2NyaXB0IGlzIGxv
YWRlZCB1c2luZyAnaHR0cCcsIGJ1dCBpdCBzaG91bGQgYmUgdXBncmFkZWQgdG8gJ2h0dHBzJyBi
ZWNhdXNlIHRoZQotZW5jbG9zaW5nIGZyYW1lIGhhcyBhbHJlYWR5IHVwZ3JhZGVkIGl0LjwvcD4K
LSAgICA8c2NyaXB0IHNyYz0iaHR0cDovLzEyNy4wLjAuMTo4NDQzL3NlY3VyaXR5L2NvbnRlbnRT
ZWN1cml0eVBvbGljeS9yZXNvdXJjZXMvYWxlcnQtcGFzcy5qcyI+PC9zY3JpcHQ+Ci08ZGl2Pgot
PGRpdj4KLSAgICA8cD5UaGUgZm9sbG93aW5nIHNjcmlwdCBpcyBsb2FkZWQgdXNpbmcgJ2h0dHAn
LCBidXQgc2hvdWxkIE5PVCBiZSB1cGdyYWRlZCB0byAnaHR0cHMnIGJlY2F1c2UgdGhpcwotd2lu
ZG93IGRvZXMgbm90IGhhdmUgJ3VwZ3JhZGUtaW5zZWN1cmUtcmVxdWVzdHMnIHNldCwgYW5kIHdl
IGhhdmUgbm90IGxvYWRlZCBmcm9tIHRoaXMgaG9zdC9wb3J0IGNvbWJpbmF0aW9uCi1zZWN1cmVs
eSBpbiBwcmV2aW91cyBsb2Fkcy48L3A+Ci0gICAgPHNjcmlwdCBzcmM9Imh0dHA6Ly9sb2NhbGhv
c3Q6ODQ0My9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVzb3VyY2VzL2FsZXJ0LXBh
c3MuanMiPjwvc2NyaXB0PgotPC9kaXY+Ci08c2NyaXB0PgotaWYgKHdpbmRvdy5vcGVuZXIpCi0g
ICAgd2luZG93Lm9wZW5lci5wb3N0TWVzc2FnZSgnZG9uZScsICcqJyk7Ci08L3NjcmlwdD4KLTwv
Ym9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVu
dFNlY3VyaXR5UG9saWN5L3VwZ3JhZGUtaW5zZWN1cmUtcmVxdWVzdHMvcmVzb3VyY2VzL25lc3Rl
ZC13aW5kb3cuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNl
Y3VyaXR5UG9saWN5L3VwZ3JhZGUtaW5zZWN1cmUtcmVxdWVzdHMvcmVzb3VyY2VzL25lc3RlZC13
aW5kb3cuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2RlY2ZiZWZjNDNiMTRm
OWNkNGYxOTZhY2MxNTgyODNiOTRjYjYwNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRT
ZWN1cml0eVBvbGljeS91cGdyYWRlLWluc2VjdXJlLXJlcXVlc3RzL3Jlc291cmNlcy9uZXN0ZWQt
d2luZG93Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0MCArMCwwIEBACi08IURPQ1RZUEUgaHRt
bD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1TZWN1cml0
eS1Qb2xpY3kiIGNvbnRlbnQ9InVwZ3JhZGUtaW5zZWN1cmUtcmVxdWVzdHMiPgotICAgIDxzY3Jp
cHQ+Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIud2Fp
dFVudGlsRG9uZSgpOwotICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAg
dGVzdFJ1bm5lci5zZXRDYW5PcGVuV2luZG93cygpOwotICAgICAgICB0ZXN0UnVubmVyLnNldENs
b3NlUmVtYWluaW5nV2luZG93c1doZW5Db21wbGV0ZSh0cnVlKTsKLSAgICB9Ci0KLSAgICB3aW5k
b3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsIGZ1bmN0aW9uIChlKSB7Ci0gICAgICAgIGlm
ICh3aW5kb3cub3BlbmVyKQotICAgICAgICAgICAgd2luZG93Lm9wZW5lci5wb3N0TWVzc2FnZSgn
ZG9uZScsICcqJyk7Ci0gICAgfSwgZmFsc2UpOwotICAgIDwvc2NyaXB0PgotPC9oZWFkPgotPGJv
ZHk+Ci08ZGl2PgotICAgIDxwPlRoZSBmb2xsb3dpbmcgd2luZG93IGlzIGxvYWRlZCB1c2luZyAn
aHR0cCcsIGFuZCBzaG91bGQgbm90IGJlIHVwZ3JhZGVkIGJlY2F1c2UgaXQgaXMgZ29pbmcgdG8g
YSBkaWZmZXJlbnQKLW9yaWdpbi4gVGhpcyBzaG91bGQgZ2VuZXJhdGUgYSAnNDAwIC0gQmFkIFJl
cXVlc3QnLgotICAgICAgICA8c2NyaXB0PgotICAgICAgICB3aW5kb3cub3BlbigiaHR0cDovL2xv
Y2FsaG9zdDo4NDQzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS91cGdyYWRlLWluc2Vj
dXJlLXJlcXVlc3RzL3Jlc291cmNlcy9uZXN0ZWQtbmVzdGVkLXdpbmRvdy5odG1sIik7Ci0gICAg
ICAgIDwvc2NyaXB0PgotICAgIDwvcD4KLTxkaXY+Ci08ZGl2PgotICAgIDxwPlRoZSBmb2xsb3dp
bmcgc2NyaXB0IGlzIGxvYWRlZCB1c2luZyAnaHR0cCcsIGJ1dCBpdCBzaG91bGQgYmUgdXBncmFk
ZWQgdG8gJ2h0dHBzJyBkdWUgdG8gdGhlCi0ndXBncmFkZS1pbnNlY3VyZS1yZXF1ZXN0cycgaGVh
ZGVyLjwvcD4KLSAgICA8c2NyaXB0IHNyYz0iaHR0cDovLzEyNy4wLjAuMTo4NDQzL3NlY3VyaXR5
L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXNvdXJjZXMvYWxlcnQtcGFzcy5qcyI+PC9zY3JpcHQ+
Ci08ZGl2PgotPGRpdj4KLSAgICA8cD5UaGUgZm9sbG93aW5nIGRvY3VtZW50IGlzIGxvYWRlZCB1
c2luZyAnaHR0cCcsIGJ1dCBzaG91bGQgYmUgdXBncmFkZWQgYmVjYXVzZSBpdCBpcyBhbiBvcmln
aW4gd2UgaGF2ZSBwcmV2aW91c2x5IHVwZ3JhZGVkLjwvcD4KLSAgICA8c2NyaXB0PgotICAgIHdp
bmRvdy5vcGVuKCJodHRwOi8vMTI3LjAuMC4xOjg0NDMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5
UG9saWN5L3VwZ3JhZGUtaW5zZWN1cmUtcmVxdWVzdHMvcmVzb3VyY2VzL25lc3RlZC1uZXN0ZWQt
d2luZG93Lmh0bWwiKTsKLSAgICA8L3NjcmlwdD4KLTxkaXY+Ci08L2JvZHk+Ci08L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvdXBncmFkZS1pbnNlY3VyZS1yZXF1
ZXN0cy9yZXNvdXJjZXMvcG9zdC1odHRwcy1oZWFkZXIucGwgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS91cGdyYWRlLWluc2VjdXJlLXJlcXVl
c3RzL3Jlc291cmNlcy9wb3N0LWh0dHBzLWhlYWRlci5wbApkZWxldGVkIGZpbGUgbW9kZSAxMDA3
NTUKaW5kZXggNmE4YjNmN2IxZjgxNDFhZDNjYmM2ZTVmMzAxNTJkMTI3NmVlNjZhMi4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS91cGdyYWRlLWluc2VjdXJlLXJl
cXVlc3RzL3Jlc291cmNlcy9wb3N0LWh0dHBzLWhlYWRlci5wbAorKysgL2Rldi9udWxsCkBAIC0x
LDEzICswLDAgQEAKLSMhL3Vzci9iaW4vcGVybCAtd1QKLXVzZSBzdHJpY3Q7Ci0KLXByaW50ICJD
b250ZW50LVR5cGU6IHRleHQvaHRtbFxuIjsKLXByaW50ICJBY2Nlc3MtQ29udHJvbC1BbGxvdy1P
cmlnaW46ICpcbiI7Ci1wcmludCAiQ2FjaGUtQ29udHJvbDogbm8tc3RvcmVcblxuIjsKLQotcHJp
bnQgPDxET05FCi08c2NyaXB0PgotICAgIHZhciB0YXJnZXQgPSB3aW5kb3cub3BlbmVyIHx8IHdp
bmRvdy50b3A7Ci0gICAgdGFyZ2V0LnBvc3RNZXNzYWdlKHsgImhlYWRlciI6ICIkRU5WeyJIVFRQ
X1VQR1JBREVfSU5TRUNVUkVfUkVRVUVTVFMifSIgfSwgIioiKTsKLTwvc2NyaXB0PgotRE9ORQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJp
dHlQb2xpY3kvdXBncmFkZS1pbnNlY3VyZS1yZXF1ZXN0cy91cGdyYWRlLWluc2VjdXJlLWF1ZGlv
LXZpZGVvLWluLW1haW4tZnJhbWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvdXBncmFkZS1pbnNlY3VyZS1yZXF1ZXN0
cy91cGdyYWRlLWluc2VjdXJlLWF1ZGlvLXZpZGVvLWluLW1haW4tZnJhbWUtZXhwZWN0ZWQudHh0
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhYmQ3YmJmZDk5N2NkZjk4ODFlODczOTU1
Yzg5MGE0ZjJiOTljZGIxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9s
aWN5L3VwZ3JhZGUtaW5zZWN1cmUtcmVxdWVzdHMvdXBncmFkZS1pbnNlY3VyZS1hdWRpby12aWRl
by1pbi1tYWluLWZyYW1lLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAK
LVRoaXMgdGVzdCBvcGVucyBhIHdpbmRvdyB0aGF0IGxvYWRzIGluc2VjdXJlIEhUTUw1IGF1ZGlv
IGFuZCB2aWRlby4gQWx0aG91Z2ggdGhlIG1haW4gZnJhbWUgaW4gdGhlIHdpbmRvdyBpcyBIVFRQ
UywgYW5kIGl0IGlzIGFza2VkIHRvIGRpc3BsYXkgaW5zZWN1cmUgY29udGVudCwgd2Ugc2hvdWxk
IHVwZ3JhZGUgdGhlIGluc2VjdXJlIGNvbnRlbnQgdG8gSFRUUFMgYW5kIHRoZXJlZm9yZSBub3Qg
dHJpZ2dlciBhIG1peGVkIGNvbnRlbnQgY2FsbGJhY2suCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS91cGdyYWRlLWluc2Vj
dXJlLXJlcXVlc3RzL3VwZ3JhZGUtaW5zZWN1cmUtYXVkaW8tdmlkZW8taW4tbWFpbi1mcmFtZS5o
dG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xp
Y3kvdXBncmFkZS1pbnNlY3VyZS1yZXF1ZXN0cy91cGdyYWRlLWluc2VjdXJlLWF1ZGlvLXZpZGVv
LWluLW1haW4tZnJhbWUuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzI3MjU2
MzZlMGViOGVjOWY4ZjMwMjEwOWZkYmEyOTljZWMyMTZlMC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5
L2NvbnRlbnRTZWN1cml0eVBvbGljeS91cGdyYWRlLWluc2VjdXJlLXJlcXVlc3RzL3VwZ3JhZGUt
aW5zZWN1cmUtYXVkaW8tdmlkZW8taW4tbWFpbi1mcmFtZS5odG1sCisrKyAvZGV2L251bGwKQEAg
LTEsMjcgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxib2R5PgotPHNjcmlwdD4K
LWlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgp
OwotICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgIHRlc3RSdW5uZXIuc2V0Q2FuT3Bl
bldpbmRvd3MoKTsKLSAgICB0ZXN0UnVubmVyLnNldENsb3NlUmVtYWluaW5nV2luZG93c1doZW5D
b21wbGV0ZSh0cnVlKTsKLX0KLQotd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLCBm
dW5jdGlvbiAoZSkgewotICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgdGVzdFJ1
bm5lci5ub3RpZnlEb25lKCk7Ci19LCBmYWxzZSk7Ci0KLTwvc2NyaXB0PgotPHA+VGhpcyB0ZXN0
IG9wZW5zIGEgd2luZG93IHRoYXQgbG9hZHMgaW5zZWN1cmUgSFRNTDUgYXVkaW8gYW5kIHZpZGVv
LiAgQWx0aG91Z2ggdGhlCi1tYWluIGZyYW1lIGluIHRoZSB3aW5kb3cgaXMgSFRUUFMsIGFuZCBp
dCBpcyBhc2tlZCB0byBkaXNwbGF5IGluc2VjdXJlIGNvbnRlbnQsIHdlIHNob3VsZAotdXBncmFk
ZSB0aGUgaW5zZWN1cmUgY29udGVudCB0byBIVFRQUyBhbmQgdGhlcmVmb3JlIG5vdCB0cmlnZ2Vy
IGEgbWl4ZWQgY29udGVudCBjYWxsYmFjay48L3A+Ci08c2NyaXB0Pgotb25sb2FkID0gZnVuY3Rp
b24oKSB7Ci0gICAgd2luZG93Lm9wZW4oImh0dHBzOi8vMTI3LjAuMC4xOjg0NDMvc2VjdXJpdHkv
Y29udGVudFNlY3VyaXR5UG9saWN5L3VwZ3JhZGUtaW5zZWN1cmUtcmVxdWVzdHMvcmVzb3VyY2Vz
L2ZyYW1lLXdpdGgtaW5zZWN1cmUtYXVkaW8tdmlkZW8uaHRtbCIpOwotfQotPC9zY3JpcHQ+Ci08
L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3Vy
aXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS91cGdyYWRlLWluc2VjdXJlLXJlcXVlc3RzL3VwZ3Jh
ZGUtaW5zZWN1cmUtY3NzLWluLWlmcmFtZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS91cGdyYWRlLWluc2VjdXJlLXJl
cXVlc3RzL3VwZ3JhZGUtaW5zZWN1cmUtY3NzLWluLWlmcmFtZS1leHBlY3RlZC50eHQKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDkwMzA3YjQxNmIzMzU1YTQ1MzY3ZmNiZmRmMzY1NTky
MGI1MzgzY2UuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvdXBn
cmFkZS1pbnNlY3VyZS1yZXF1ZXN0cy91cGdyYWRlLWluc2VjdXJlLWNzcy1pbi1pZnJhbWUtZXhw
ZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTEgKzAsMCBAQAotZnJhbWUgIjwhLS1mcmFt
ZVBhdGggLy88IS0tZnJhbWUwLS0+LS0+IiAtIGRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkRm9yRnJh
bWUKLW1haW4gZnJhbWUgLSBkaWRGaW5pc2hEb2N1bWVudExvYWRGb3JGcmFtZQotZnJhbWUgIjwh
LS1mcmFtZVBhdGggLy88IS0tZnJhbWUwLS0+LS0+IiAtIGRpZENvbW1pdExvYWRGb3JGcmFtZQot
ZnJhbWUgIjwhLS1mcmFtZVBhdGggLy88IS0tZnJhbWUwLS0+LS0+IiAtIGRpZEZpbmlzaERvY3Vt
ZW50TG9hZEZvckZyYW1lCi1mcmFtZSAiPCEtLWZyYW1lUGF0aCAvLzwhLS1mcmFtZTAtLT4tLT4i
IC0gZGlkSGFuZGxlT25sb2FkRXZlbnRzRm9yRnJhbWUKLW1haW4gZnJhbWUgLSBkaWRIYW5kbGVP
bmxvYWRFdmVudHNGb3JGcmFtZQotZnJhbWUgIjwhLS1mcmFtZVBhdGggLy88IS0tZnJhbWUwLS0+
LS0+IiAtIGRpZEZpbmlzaExvYWRGb3JGcmFtZQotbWFpbiBmcmFtZSAtIGRpZEZpbmlzaExvYWRG
b3JGcmFtZQotVGhpcyB0ZXN0IGxvYWRzIGEgc2VjdXJlIGlmcmFtZSB0aGF0IGxvYWRzIGFuIGlu
c2VjdXJlIHN0eWxlIHNoZWV0LiBXZSBzaG91bGQgdXBncmFkZSB0aGUgQ1NTIHJlcXVlc3QgdG8g
SFRUUFMsIGFuZCB0aGVyZWJ5IGF2b2lkIHRyaWdnZXJpbmcgYSBtaXhlZCBjb250ZW50IGNhbGxi
YWNrLgotCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29u
dGVudFNlY3VyaXR5UG9saWN5L3VwZ3JhZGUtaW5zZWN1cmUtcmVxdWVzdHMvdXBncmFkZS1pbnNl
Y3VyZS1jc3MtaW4taWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5
L2NvbnRlbnRTZWN1cml0eVBvbGljeS91cGdyYWRlLWluc2VjdXJlLXJlcXVlc3RzL3VwZ3JhZGUt
aW5zZWN1cmUtY3NzLWluLWlmcmFtZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCBjOTBjOTZhMjdlMzI0NjFjODBlNjBjYzZjYzY0YmJjN2MwNzIyYjU3Li4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
c2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3VwZ3JhZGUtaW5zZWN1cmUtcmVxdWVzdHMv
dXBncmFkZS1pbnNlY3VyZS1jc3MtaW4taWZyYW1lLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwx
NSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGJvZHk+Ci08c2NyaXB0PgotaWYg
KHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAg
dGVzdFJ1bm5lci5kdW1wRnJhbWVMb2FkQ2FsbGJhY2tzKCk7Ci19Ci08L3NjcmlwdD4KLTxwPlRo
aXMgdGVzdCBsb2FkcyBhIHNlY3VyZSBpZnJhbWUgdGhhdCBsb2FkcyBhbiBpbnNlY3VyZSBzdHls
ZSBzaGVldC4KLVdlIHNob3VsZCB1cGdyYWRlIHRoZSBDU1MgcmVxdWVzdCB0byBIVFRQUywgYW5k
IHRoZXJlYnkgYXZvaWQgdHJpZ2dlcmluZwotYSBtaXhlZCBjb250ZW50IGNhbGxiYWNrLjwvcD4K
LTxpZnJhbWUgc3JjPSJodHRwczovLzEyNy4wLjAuMTo4NDQzL3NlY3VyaXR5L2NvbnRlbnRTZWN1
cml0eVBvbGljeS91cGdyYWRlLWluc2VjdXJlLXJlcXVlc3RzL3Jlc291cmNlcy9mcmFtZS13aXRo
LWluc2VjdXJlLWNzcy5odG1sIj48L2lmcmFtZT4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5
L3VwZ3JhZGUtaW5zZWN1cmUtcmVxdWVzdHMvdXBncmFkZS1pbnNlY3VyZS1pbWFnZS1pbi1tYWlu
LWZyYW1lLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29u
dGVudFNlY3VyaXR5UG9saWN5L3VwZ3JhZGUtaW5zZWN1cmUtcmVxdWVzdHMvdXBncmFkZS1pbnNl
Y3VyZS1pbWFnZS1pbi1tYWluLWZyYW1lLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggZmIyNmE5YTJkZDA4MmY5NTM3ZDk0N2I2Y2I5MzY5YTI0NTgwNjJlZC4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS91cGdyYWRlLWluc2VjdXJl
LXJlcXVlc3RzL3VwZ3JhZGUtaW5zZWN1cmUtaW1hZ2UtaW4tbWFpbi1mcmFtZS1leHBlY3RlZC50
eHQKKysrIC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi1UaGlzIHRlc3Qgb3BlbnMgYSB3aW5kb3cg
dGhhdCBsb2FkcyBhbiBpbnNlY3VyZSBpbWFnZS4gV2Ugc2hvdWxkIHVwZ3JhZGUgdGhpcyByZXF1
ZXN0IGFuZCB0aGVyZWJ5IGF2b2lkIHRyaWdnZXJpbmcgYSBtaXhlZCBjb250ZW50IGNhbGxiYWNr
LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2Vj
dXJpdHlQb2xpY3kvdXBncmFkZS1pbnNlY3VyZS1yZXF1ZXN0cy91cGdyYWRlLWluc2VjdXJlLWlt
YWdlLWluLW1haW4tZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkv
Y29udGVudFNlY3VyaXR5UG9saWN5L3VwZ3JhZGUtaW5zZWN1cmUtcmVxdWVzdHMvdXBncmFkZS1p
bnNlY3VyZS1pbWFnZS1pbi1tYWluLWZyYW1lLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDllY2ZlY2IzZjdhYjRmMzQ3NzM5MWY3N2I2OTMwY2UyYTI5NDZkNTIuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvdXBncmFkZS1pbnNlY3VyZS1yZXF1
ZXN0cy91cGdyYWRlLWluc2VjdXJlLWltYWdlLWluLW1haW4tZnJhbWUuaHRtbAorKysgL2Rldi9u
dWxsCkBAIC0xLDI2ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08Ym9keT4KLTxz
Y3JpcHQ+Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICB0ZXN0UnVubmVyLndhaXRVbnRp
bERvbmUoKTsKLSAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICB0ZXN0UnVubmVyLnNl
dENhbk9wZW5XaW5kb3dzKCk7Ci0gICAgdGVzdFJ1bm5lci5zZXRDbG9zZVJlbWFpbmluZ1dpbmRv
d3NXaGVuQ29tcGxldGUodHJ1ZSk7Ci19Ci0KLXdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJtZXNz
YWdlIiwgZnVuY3Rpb24gKGUpIHsKLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAg
IHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotfSwgZmFsc2UpOwotCi08L3NjcmlwdD4KLTxwPlRo
aXMgdGVzdCBvcGVucyBhIHdpbmRvdyB0aGF0IGxvYWRzIGFuIGluc2VjdXJlIGltYWdlLiAgV2Ug
c2hvdWxkIHVwZ3JhZGUKLXRoaXMgcmVxdWVzdCBhbmQgdGhlcmVieSBhdm9pZCB0cmlnZ2VyaW5n
IGEgbWl4ZWQgY29udGVudCBjYWxsYmFjay48L3A+Ci08c2NyaXB0Pgotb25sb2FkID0gZnVuY3Rp
b24oKSB7Ci0gICAgd2luZG93Lm9wZW4oImh0dHBzOi8vMTI3LjAuMC4xOjg0NDMvc2VjdXJpdHkv
Y29udGVudFNlY3VyaXR5UG9saWN5L3VwZ3JhZGUtaW5zZWN1cmUtcmVxdWVzdHMvcmVzb3VyY2Vz
L2ZyYW1lLXdpdGgtaW5zZWN1cmUtaW1hZ2UuaHRtbCIpOwotfQotPC9zY3JpcHQ+Ci08L2JvZHk+
Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nv
bnRlbnRTZWN1cml0eVBvbGljeS91cGdyYWRlLWluc2VjdXJlLXJlcXVlc3RzL3VwZ3JhZGUtaW5z
ZWN1cmUteGhyLWluLW1haW4tZnJhbWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvdXBncmFkZS1pbnNlY3VyZS1yZXF1
ZXN0cy91cGdyYWRlLWluc2VjdXJlLXhoci1pbi1tYWluLWZyYW1lLWV4cGVjdGVkLnR4dApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzI1NzhkZTY1ODliOGU4ZTQzYWFlMWM4NzM1M2Jl
ZGU0NmQ1YzBiOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS91
cGdyYWRlLWluc2VjdXJlLXJlcXVlc3RzL3VwZ3JhZGUtaW5zZWN1cmUteGhyLWluLW1haW4tZnJh
bWUtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMiArMCwwIEBACi1BTEVSVDogUEFT
UzogbG9hZCB3YXMgbm90IGJsb2NrZWQKLVRoaXMgdGVzdCBvcGVucyBhIEhUVFBTIHdpbmRvdyB0
aGF0IGxvYWRzIGluc2VjdXJlIGRhdGEgdmlhIFhIUi4gV2Ugc2hvdWxkIHVwZ3JhZGUgdGhpcyBy
ZXF1ZXN0IGFuZCB0aGVyZWJ5IGF2b2lkIGEgbWl4ZWQgY29udGVudCBjYWxsYmFjay4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9s
aWN5L3VwZ3JhZGUtaW5zZWN1cmUtcmVxdWVzdHMvdXBncmFkZS1pbnNlY3VyZS14aHItaW4tbWFp
bi1mcmFtZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2Vj
dXJpdHlQb2xpY3kvdXBncmFkZS1pbnNlY3VyZS1yZXF1ZXN0cy91cGdyYWRlLWluc2VjdXJlLXho
ci1pbi1tYWluLWZyYW1lLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg4NzM5
MWZiYWM3OGVkMTFmMTNlMDdhZDJiNjY4NDNkZDViMTY5NjQuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0
eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvdXBncmFkZS1pbnNlY3VyZS1yZXF1ZXN0cy91cGdyYWRl
LWluc2VjdXJlLXhoci1pbi1tYWluLWZyYW1lLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyMSAr
MCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGJvZHk+Ci08c2NyaXB0PgotaWYgKHdp
bmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0gICAg
dGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgdGVzdFJ1bm5lci5zZXRDYW5PcGVuV2luZG93
cygpOwotICAgIHRlc3RSdW5uZXIuc2V0Q2xvc2VSZW1haW5pbmdXaW5kb3dzV2hlbkNvbXBsZXRl
KHRydWUpOwotfQotCi08L3NjcmlwdD4KLTxwPlRoaXMgdGVzdCBvcGVucyBhIEhUVFBTIHdpbmRv
dyB0aGF0IGxvYWRzIGluc2VjdXJlIGRhdGEgdmlhIFhIUi4gIFdlIHNob3VsZCB1cGdyYWRlCi10
aGlzIHJlcXVlc3QgYW5kIHRoZXJlYnkgYXZvaWQgYSBtaXhlZCBjb250ZW50IGNhbGxiYWNrLjwv
cD4KLTxzY3JpcHQ+Ci1vbmxvYWQgPSBmdW5jdGlvbigpIHsKLSAgICB3aW5kb3cub3BlbigiaHR0
cHM6Ly8xMjcuMC4wLjE6ODQ0My9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvdXBncmFk
ZS1pbnNlY3VyZS1yZXF1ZXN0cy9yZXNvdXJjZXMvaW5zZWN1cmUteGhyLWluLW1haW4tZnJhbWUt
d2luZG93Lmh0bWwiKTsKLX0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kv
dXBncmFkZS1pbnNlY3VyZS1yZXF1ZXN0cy91cGdyYWRlLXJlZGlyZWN0LWh0dHAtdG8taHR0cHMt
c2NyaXB0LWluLWlmcmFtZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Nl
Y3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS91cGdyYWRlLWluc2VjdXJlLXJlcXVlc3RzL3Vw
Z3JhZGUtcmVkaXJlY3QtaHR0cC10by1odHRwcy1zY3JpcHQtaW4taWZyYW1lLWV4cGVjdGVkLnR4
dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzlhZWMxZDc2ZmI0MzQ3NDYwYjM0YjVi
YWJkODE3ODhlZDdkOTFhMC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBv
bGljeS91cGdyYWRlLWluc2VjdXJlLXJlcXVlc3RzL3VwZ3JhZGUtcmVkaXJlY3QtaHR0cC10by1o
dHRwcy1zY3JpcHQtaW4taWZyYW1lLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDEx
ICswLDAgQEAKLWZyYW1lICI8IS0tZnJhbWVQYXRoIC8vPCEtLWZyYW1lMC0tPi0tPiIgLSBkaWRT
dGFydFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lCi1tYWluIGZyYW1lIC0gZGlkRmluaXNoRG9jdW1l
bnRMb2FkRm9yRnJhbWUKLWZyYW1lICI8IS0tZnJhbWVQYXRoIC8vPCEtLWZyYW1lMC0tPi0tPiIg
LSBkaWRDb21taXRMb2FkRm9yRnJhbWUKLWZyYW1lICI8IS0tZnJhbWVQYXRoIC8vPCEtLWZyYW1l
MC0tPi0tPiIgLSBkaWRGaW5pc2hEb2N1bWVudExvYWRGb3JGcmFtZQotZnJhbWUgIjwhLS1mcmFt
ZVBhdGggLy88IS0tZnJhbWUwLS0+LS0+IiAtIGRpZEhhbmRsZU9ubG9hZEV2ZW50c0ZvckZyYW1l
Ci1tYWluIGZyYW1lIC0gZGlkSGFuZGxlT25sb2FkRXZlbnRzRm9yRnJhbWUKLWZyYW1lICI8IS0t
ZnJhbWVQYXRoIC8vPCEtLWZyYW1lMC0tPi0tPiIgLSBkaWRGaW5pc2hMb2FkRm9yRnJhbWUKLW1h
aW4gZnJhbWUgLSBkaWRGaW5pc2hMb2FkRm9yRnJhbWUKLVRoaXMgdGVzdCBsb2FkcyBhIHNlY3Vy
ZSBpZnJhbWUgdGhhdCBsb2FkcyBhbiBpbnNlY3VyZSBzY3JpcHQgKGJ1dCB3aXRoIGEgdHJpY2t5
IHJlZGlyZWN0KS4gV2Ugc2hvdWxkIHVwZ3JhZGUgdGhlIHNjcmlwdCByZXF1ZXN0LCBhbmQgdGhl
cmVieSBhdm9pZCB0cmlnZ2VyaW5nIGEgbWl4ZWQgY29udGVudCBjYWxsYmFjay4KLQotCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBv
bGljeS91cGdyYWRlLWluc2VjdXJlLXJlcXVlc3RzL3VwZ3JhZGUtcmVkaXJlY3QtaHR0cC10by1o
dHRwcy1zY3JpcHQtaW4taWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3Vy
aXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS91cGdyYWRlLWluc2VjdXJlLXJlcXVlc3RzL3VwZ3Jh
ZGUtcmVkaXJlY3QtaHR0cC10by1odHRwcy1zY3JpcHQtaW4taWZyYW1lLmh0bWwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgxOWM0MDI0NjY4ZDJmNDA3YzQzNWZlNDZiYmZlM2U2OGIw
ZDRkMjcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvdXBncmFk
ZS1pbnNlY3VyZS1yZXF1ZXN0cy91cGdyYWRlLXJlZGlyZWN0LWh0dHAtdG8taHR0cHMtc2NyaXB0
LWluLWlmcmFtZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTUgKzAsMCBAQAotPCFET0NUWVBF
IGh0bWw+Ci08aHRtbD4KLTxib2R5PgotPHNjcmlwdD4KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikg
ewotICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgIHRlc3RSdW5uZXIuZHVtcEZyYW1l
TG9hZENhbGxiYWNrcygpOwotfQotPC9zY3JpcHQ+Ci08cD5UaGlzIHRlc3QgbG9hZHMgYSBzZWN1
cmUgaWZyYW1lIHRoYXQgbG9hZHMgYW4gaW5zZWN1cmUgc2NyaXB0IChidXQgd2l0aCBhCi10cmlj
a3kgcmVkaXJlY3QpLiAgV2Ugc2hvdWxkIHVwZ3JhZGUgdGhlIHNjcmlwdCByZXF1ZXN0LCBhbmQg
dGhlcmVieSBhdm9pZAotdHJpZ2dlcmluZyBhIG1peGVkIGNvbnRlbnQgY2FsbGJhY2suPC9wPgot
PGlmcmFtZSBzcmM9Imh0dHBzOi8vMTI3LjAuMC4xOjg0NDMvc2VjdXJpdHkvY29udGVudFNlY3Vy
aXR5UG9saWN5L3VwZ3JhZGUtaW5zZWN1cmUtcmVxdWVzdHMvcmVzb3VyY2VzL2ZyYW1lLXdpdGgt
cmVkaXJlY3QtaHR0cC10by1odHRwcy1zY3JpcHQuaHRtbCI+PC9pZnJhbWU+Ci08L2JvZHk+Ci08
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRl
bnRTZWN1cml0eVBvbGljeS91cGdyYWRlLWluc2VjdXJlLXJlcXVlc3RzL3VwZ3JhZGUtcmVkaXJl
Y3QtaHR0cHMtdG8taHR0cC1zY3JpcHQtaW4taWZyYW1lLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3VwZ3JhZGUtaW5z
ZWN1cmUtcmVxdWVzdHMvdXBncmFkZS1yZWRpcmVjdC1odHRwcy10by1odHRwLXNjcmlwdC1pbi1p
ZnJhbWUtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlZjcwMjBm
OGEwODQ0OThiNDM0NDY3ZTJkYTQ3NjA2YThhZWVjZmM0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkv
Y29udGVudFNlY3VyaXR5UG9saWN5L3VwZ3JhZGUtaW5zZWN1cmUtcmVxdWVzdHMvdXBncmFkZS1y
ZWRpcmVjdC1odHRwcy10by1odHRwLXNjcmlwdC1pbi1pZnJhbWUtZXhwZWN0ZWQudHh0CisrKyAv
ZGV2L251bGwKQEAgLTEsMTMgKzAsMCBAQAotZnJhbWUgIjwhLS1mcmFtZVBhdGggLy88IS0tZnJh
bWUwLS0+LS0+IiAtIGRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUKLW1haW4gZnJhbWUg
LSBkaWRGaW5pc2hEb2N1bWVudExvYWRGb3JGcmFtZQotZnJhbWUgIjwhLS1mcmFtZVBhdGggLy88
IS0tZnJhbWUwLS0+LS0+IiAtIGRpZENvbW1pdExvYWRGb3JGcmFtZQotQ09OU09MRSBNRVNTQUdF
OiBbYmxvY2tlZF0gVGhlIHBhZ2UgYXQgaHR0cHM6Ly8xMjcuMC4wLjE6ODQ0My9zZWN1cml0eS9j
b250ZW50U2VjdXJpdHlQb2xpY3kvdXBncmFkZS1pbnNlY3VyZS1yZXF1ZXN0cy9yZXNvdXJjZXMv
ZnJhbWUtd2l0aC1yZWRpcmVjdC1odHRwcy10by1odHRwLXNjcmlwdC5odG1sIHdhcyBub3QgYWxs
b3dlZCB0byBydW4gaW5zZWN1cmUgY29udGVudCBmcm9tIGh0dHA6Ly8xMjcuMC4wLjE6ODA4MC9z
ZWN1cml0eS9taXhlZENvbnRlbnQvcmVzb3VyY2VzL3NjcmlwdC5qcy4KLQotZnJhbWUgIjwhLS1m
cmFtZVBhdGggLy88IS0tZnJhbWUwLS0+LS0+IiAtIGRpZEZpbmlzaERvY3VtZW50TG9hZEZvckZy
YW1lCi1mcmFtZSAiPCEtLWZyYW1lUGF0aCAvLzwhLS1mcmFtZTAtLT4tLT4iIC0gZGlkSGFuZGxl
T25sb2FkRXZlbnRzRm9yRnJhbWUKLW1haW4gZnJhbWUgLSBkaWRIYW5kbGVPbmxvYWRFdmVudHNG
b3JGcmFtZQotZnJhbWUgIjwhLS1mcmFtZVBhdGggLy88IS0tZnJhbWUwLS0+LS0+IiAtIGRpZEZp
bmlzaExvYWRGb3JGcmFtZQotbWFpbiBmcmFtZSAtIGRpZEZpbmlzaExvYWRGb3JGcmFtZQotVGhp
cyB0ZXN0IGxvYWRzIGEgc2VjdXJlIGlmcmFtZSB0aGF0IGxvYWRzIGFuIGluc2VjdXJlIHNjcmlw
dCAoYnV0IHdpdGggYSB0cmlja3kgcmVkaXJlY3QpLiBXZSBzaG91bGQgdXBncmFkZSB0aGUgcmVs
ZXZhbnQgcmVxdWVzdHMgZm9yIHRoZSBhbnkgdG9wLWxldmVsIGZyYW1lcywgYnV0IG5vdCBzdWIt
cmVzb3VyY2VzIG9mIHRob3NlIGZyYW1lcywgdHJpZ2dlcmluZyBhIG1peGVkIGNvbnRlbnQgY2Fs
bGJhY2suCi0KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9j
b250ZW50U2VjdXJpdHlQb2xpY3kvdXBncmFkZS1pbnNlY3VyZS1yZXF1ZXN0cy91cGdyYWRlLXJl
ZGlyZWN0LWh0dHBzLXRvLWh0dHAtc2NyaXB0LWluLWlmcmFtZS5odG1sIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvdXBncmFkZS1pbnNlY3Vy
ZS1yZXF1ZXN0cy91cGdyYWRlLXJlZGlyZWN0LWh0dHBzLXRvLWh0dHAtc2NyaXB0LWluLWlmcmFt
ZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmNzAxYWNmYmUxMjcwZjJmZjgy
MDE0NWI0Njk5OGJhMTA4ZTA2MmQ4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3Vy
aXR5UG9saWN5L3VwZ3JhZGUtaW5zZWN1cmUtcmVxdWVzdHMvdXBncmFkZS1yZWRpcmVjdC1odHRw
cy10by1odHRwLXNjcmlwdC1pbi1pZnJhbWUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDE1ICsw
LDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08Ym9keT4KLTxzY3JpcHQ+Ci1pZiAod2lu
ZG93LnRlc3RSdW5uZXIpIHsKLSAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICB0ZXN0
UnVubmVyLmR1bXBGcmFtZUxvYWRDYWxsYmFja3MoKTsKLX0KLTwvc2NyaXB0PgotPHA+VGhpcyB0
ZXN0IGxvYWRzIGEgc2VjdXJlIGlmcmFtZSB0aGF0IGxvYWRzIGFuIGluc2VjdXJlIHNjcmlwdCAo
YnV0IHdpdGggYQotdHJpY2t5IHJlZGlyZWN0KS4gIFdlIHNob3VsZCB1cGdyYWRlIHRoZSByZWxl
dmFudCByZXF1ZXN0cyBmb3IgdGhlIGFueSB0b3AtbGV2ZWwKLWZyYW1lcywgYnV0IG5vdCBzdWIt
cmVzb3VyY2VzIG9mIHRob3NlIGZyYW1lcywgdHJpZ2dlcmluZyBhIG1peGVkIGNvbnRlbnQgY2Fs
bGJhY2suPC9wPgotPGlmcmFtZSBzcmM9Imh0dHBzOi8vMTI3LjAuMC4xOjg0NDMvc2VjdXJpdHkv
Y29udGVudFNlY3VyaXR5UG9saWN5L3VwZ3JhZGUtaW5zZWN1cmUtcmVxdWVzdHMvcmVzb3VyY2Vz
L2ZyYW1lLXdpdGgtcmVkaXJlY3QtaHR0cHMtdG8taHR0cC1zY3JpcHQuaHRtbCI+PC9pZnJhbWU+
Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Nl
Y3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS91cGdyYWRlLWluc2VjdXJlLXJlcXVlc3RzL3Vw
Z3JhZGVzLW1peGVkLWNvbnRlbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvdXBncmFkZS1pbnNlY3VyZS1yZXF1ZXN0
cy91cGdyYWRlcy1taXhlZC1jb250ZW50LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggNWNlNGVlOTFmMWI3ZWFiNGE4OWIwMzY0ZGNkOWJhMzk5ZjZmODhkMC4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS91cGdyYWRlLWluc2VjdXJl
LXJlcXVlc3RzL3VwZ3JhZGVzLW1peGVkLWNvbnRlbnQtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251
bGwKQEAgLTEsMiArMCwwIEBACi1BTEVSVDogUEFTUwotVGhpcyBwYWdlIHNob3VsZCBhbGVydCAi
UEFTUyIgYW5kIG5vdCBnZW5lcmF0ZSBhbnkgbWl4ZWQgY29udGVudCB3YXJuaW5ncyBpbiB0aGUg
Y29uc29sZS4gCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nv
bnRlbnRTZWN1cml0eVBvbGljeS91cGdyYWRlLWluc2VjdXJlLXJlcXVlc3RzL3VwZ3JhZGVzLW1p
eGVkLWNvbnRlbnQuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVu
dFNlY3VyaXR5UG9saWN5L3VwZ3JhZGUtaW5zZWN1cmUtcmVxdWVzdHMvdXBncmFkZXMtbWl4ZWQt
Y29udGVudC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxMmQ2ZDhhYThiMmM4
OWQ2NmE2M2FmOGZhNzFiYjRmM2YwZGM3NzA3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVu
dFNlY3VyaXR5UG9saWN5L3VwZ3JhZGUtaW5zZWN1cmUtcmVxdWVzdHMvdXBncmFkZXMtbWl4ZWQt
Y29udGVudC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNiArMCwwIEBACi08c2NyaXB0PgotaWYg
KHdpbmRvdy50ZXN0UnVubmVyKQotICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotPC9zY3Jp
cHQ+Ci1UaGlzIHBhZ2Ugc2hvdWxkIGFsZXJ0ICJQQVNTIiBhbmQgbm90IGdlbmVyYXRlIGFueSBt
aXhlZCBjb250ZW50IHdhcm5pbmdzIGluIHRoZSBjb25zb2xlLgotPGlmcmFtZSBzcmM9Imh0dHBz
Oi8vMTI3LjAuMC4xOjg0NDMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3VwZ3JhZGUt
aW5zZWN1cmUtcmVxdWVzdHMvcmVzb3VyY2VzL21peGVkLWNvbnRlbnQtd2l0aC11cGdyYWRlLmh0
bWwiPjwvaWZyYW1lPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0
eS9yZXNvdXJjZXMvcG9zdC1vcmlnaW4tdG8tcGFyZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3NlY3VyaXR5L3Jlc291cmNlcy9wb3N0LW9yaWdpbi10by1wYXJlbnQuaHRtbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWEwMDA1ZDk1OGZiMjIyNDc5NzkyYjgyMDY3NWVj
OTg1M2ZkYzIwNC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3Jlc291cmNlcy9wb3N0LW9yaWdpbi10
by1wYXJlbnQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotPHNjcmlwdD4KLSAg
ICB3aW5kb3cucGFyZW50LnBvc3RNZXNzYWdlKHsgJ29yaWdpbic6IGRvY3VtZW50Lm9yaWdpbiB9
LCAnKicpOwotPC9zY3JpcHQ+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvaWZyYW1lLXVwZ3JhZGUuaHR0cHMtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvaWZyYW1lLXVwZ3JhZGUuaHR0cHMt
ZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkODZmMzI0MzRmMDk5
NGM2YTYwZDkyMDIxMjM1NTA1MGY2MjEzZGE2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2lmcmFtZS11cGdy
YWRlLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDYgKzAsMCBAQAotCi0K
LVBBU1MgU2FtZS1ob3N0IGZyYW1lcyBhcmUgdXBncmFkZWQuIAotUEFTUyBDcm9zcy1ob3N0IGZy
YW1lcyBhcmUgdXBncmFkZWQuIAotUEFTUyBVcGdyYWRlIHBvbGljeSBjYXNjYWRlcyB0byBuZXN0
ZWQsIHNhbWUtaG9zdCBmcmFtZXMuIAotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3NzbC9pZnJhbWUtdXBncmFkZS5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9zc2wvaWZyYW1lLXVwZ3JhZGUuaHR0cHMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggOTBmNTZiZjZjMTA3NDYzNmU2OWJhNmRhNGQwNTY0NWZlZjRmNjk4Yi4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3NzbC9pZnJhbWUtdXBncmFkZS5odHRwcy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNTcg
KzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5VcGdyYWRlIEluc2VjdXJl
IFJlcXVlc3RzOiBJRnJhbWVzLjwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotCi08bWV0YSBodHRwLWVxdWl2
PSJDb250ZW50LVNlY3VyaXR5LVBvbGljeSIgY29udGVudD0idXBncmFkZS1pbnNlY3VyZS1yZXF1
ZXN0cyI+Ci08L2hlYWQ+Ci08Ym9keT4KLTxzY3JpcHQ+Ci0vLyBUaGlzIHRlc3QgaXMgYSBiaXQg
b2YgYSBoYWNrLiBVUEdSQURFIGRvZXNuJ3QgdXBncmFkZSB0aGUgcG9ydCBudW1iZXIsIHNvIHdl
Ci0vLyBzcGVjaWZ5IHRoaXMgbm9uLWV4aXN0ZW50IFVSTCAoJ2h0dHAnIG92ZXIgcG9ydCA4NDQz
KS4gSWYgVVBHUkFERSBkb2Vzbid0Ci0vLyB3b3JrLCBpdCB3b24ndCBsb2FkLgotYXN5bmNfdGVz
dCh0ID0+IHsKLSAgICB2YXIgaWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaWZyYW1l
Jyk7Ci0gICAgaWZyYW1lLnNyYyA9ICJIVHRwOi8vMTI3LjAuMC4xOjg0NDMvc2VjdXJpdHkvcmVz
b3VyY2VzL3Bvc3Qtb3JpZ2luLXRvLXBhcmVudC5odG1sIjsKLQotICAgIHdpbmRvdy5hZGRFdmVu
dExpc3RlbmVyKCdtZXNzYWdlJywgdC5zdGVwX2Z1bmMoZSA9PiB7Ci0gICAgICAgIGlmIChlLnNv
dXJjZSA9PSBpZnJhbWUuY29udGVudFdpbmRvdykgewotICAgICAgICAgICAgYXNzZXJ0X2VxdWFs
cyhlLmRhdGEub3JpZ2luLCAiaHR0cHNfMTI3LjAuMC4xXzg0NDMiKTsKLSAgICAgICAgICAgIHQu
ZG9uZSgpOwotICAgICAgICB9Ci0gICAgfSkpOwotCi0gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZChpZnJhbWUpOwotfSwgIlNhbWUtaG9zdCBmcmFtZXMgYXJlIHVwZ3JhZGVkLiIpOwotCi1h
c3luY190ZXN0KHQgPT4gewotICAgIHZhciBpZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCdpZnJhbWUnKTsKLSAgICBpZnJhbWUuc3JjID0gImhUdFA6Ly9sb2NhbGhvc3Q6ODQ0My9zZWN1
cml0eS9yZXNvdXJjZXMvcG9zdC1vcmlnaW4tdG8tcGFyZW50Lmh0bWwiOwotCi0gICAgd2luZG93
LmFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCB0LnN0ZXBfZnVuYyhlID0+IHsKLSAgICAgICAg
aWYgKGUuc291cmNlID09IGlmcmFtZS5jb250ZW50V2luZG93KSB7Ci0gICAgICAgICAgICBhc3Nl
cnRfZXF1YWxzKGUuZGF0YS5vcmlnaW4sICJodHRwc19sb2NhbGhvc3RfODQ0MyIpOwotICAgICAg
ICAgICAgdC5kb25lKCk7Ci0gICAgICAgIH0KLSAgICB9KSk7Ci0KLSAgICBkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKGlmcmFtZSk7Ci19LCAiQ3Jvc3MtaG9zdCBmcmFtZXMgYXJlIHVwZ3JhZGVk
LiIpOwotCi1hc3luY190ZXN0KHQgPT4gewotICAgIHZhciBpZnJhbWUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCdpZnJhbWUnKTsKLSAgICBpZnJhbWUuc3JjZG9jID0gIjxhIGhyZWY9J2hUdFA6
Ly8xMjcuMC4wLjE6ODQ0My9zZWN1cml0eS9yZXNvdXJjZXMvcG9zdC1vcmlnaW4tdG8tcGFyZW50
Lmh0bWwnPk5hdmlnYXRlITwvYT4iICsKLSAgICAgICAgICAgICAgICI8c2NyaXB0PmRvY3VtZW50
LnF1ZXJ5U2VsZWN0b3IoJ2EnKS5jbGljaygpPC9zY3IiICsgImlwdD4iOwotCi0gICAgd2luZG93
LmFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCB0LnN0ZXBfZnVuYyhlID0+IHsKLSAgICAgICAg
aWYgKGUuc291cmNlID09IGlmcmFtZS5jb250ZW50V2luZG93KSB7Ci0gICAgICAgICAgICBhc3Nl
cnRfZXF1YWxzKGUuZGF0YS5vcmlnaW4sICJodHRwc18xMjcuMC4wLjFfODQ0MyIpOwotICAgICAg
ICAgICAgdC5kb25lKCk7Ci0gICAgICAgIH0KLSAgICB9KSk7Ci0KLSAgICBkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKGlmcmFtZSk7Ci19LCAiVXBncmFkZSBwb2xpY3kgY2FzY2FkZXMgdG8gbmVz
dGVkLCBzYW1lLWhvc3QgZnJhbWVzLiIpOwotPC9zY3JpcHQ+Ci08L2JvZHk+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wv
cmVzb3VyY2VzL29yaWdpbi11c2FnZS1pZnJhbWUtMS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9zc2wvcmVzb3VyY2VzL29yaWdpbi11c2FnZS1pZnJhbWUtMS5odG1sCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA2NGQzMmM2NjdlYTNlOWRjNWE4NTU2YjljOWRhNWQwZDNkNDk3
NjY0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvc3NsL3Jlc291cmNlcy9vcmlnaW4tdXNhZ2UtaWZyYW1lLTEuaHRt
bAorKysgL2Rldi9udWxsCkBAIC0xLDkgKzAsMCBAQAotPGh0bWwgbWFuaWZlc3Q9Im9yaWdpbi11
c2FnZS1pZnJhbWUtMS5tYW5pZmVzdCI+Ci08c2NyaXB0PgotLy8gaWZyYW1lLTEgaXMgZXhwZWN0
ZWQgdG8gc3VjY2VlZC4KLWFwcGxpY2F0aW9uQ2FjaGUub25jYWNoZWQgPSBmdW5jdGlvbigpIHsg
cGFyZW50LnBvc3RNZXNzYWdlKCJQQVNTIC0gY2FjaGVkIGlmcmFtZS0xIiwgIioiKTsgfTsKLWFw
cGxpY2F0aW9uQ2FjaGUub25lcnJvciA9IGZ1bmN0aW9uKCkgeyBwYXJlbnQucG9zdE1lc3NhZ2Uo
IkZBSUwgLSBlcnJvciBjYWNoaW5nIGlmcmFtZS0xLCBleHBlY3RlZCB0aGlzIHRvIHN1Y2NlZWQi
LCAiKiIpOyB9OwotYXBwbGljYXRpb25DYWNoZS5vbm5vdXBkYXRlID0gZnVuY3Rpb24oKSB7IHBh
cmVudC5wb3N0TWVzc2FnZSgiRkFJTCAtIG5vIHVwZGF0ZSBpZnJhbWUtMSwgYWxsIGNhY2hlcyBz
aG91bGQgaGF2ZSBiZWVuIGRlbGV0ZWQgYmVmb3JlIHRoaXMgdGVzdCIsICIqIik7IH07Ci0KLTwv
c2NyaXB0PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wv
cmVzb3VyY2VzL29yaWdpbi11c2FnZS1pZnJhbWUtMS5tYW5pZmVzdCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvc3NsL3Jlc291cmNlcy9vcmlnaW4tdXNhZ2UtaWZyYW1lLTEubWFuaWZlc3QKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJmYTljZDUxY2M2MDhlNjdlZDcxZWEwNGQxYjAx
NDRjZDM3NjVkYWUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvcmVzb3VyY2VzL29yaWdpbi11c2FnZS1pZnJh
bWUtMS5tYW5pZmVzdAorKysgL2Rldi9udWxsCkBAIC0xLDYgKzAsMCBAQAotQ0FDSEUgTUFOSUZF
U1QKLQotIyBUaGlzIGFkZHMgfjEzSyB0byB0aGUgYXBwIGNhY2hlCi0KLUNBQ0hFOgotaHR0cHM6
Ly8xMjcuMC4wLjE6ODQ0My9zZWN1cml0eS9yZXNvdXJjZXMvYWJlLnBuZwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvcmVzb3VyY2VzL29yaWdpbi11c2FnZS1pZnJhbWUt
Mi5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvcmVzb3VyY2VzL29yaWdpbi11c2Fn
ZS1pZnJhbWUtMi5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5OWMxYWZmYTlj
NWM3MzMwOTU1NjcwZTc0OGQ1NDI4MWMxNmY1YWQ3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3NsL3Jlc291cmNl
cy9vcmlnaW4tdXNhZ2UtaWZyYW1lLTIuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDggKzAsMCBA
QAotPGh0bWwgbWFuaWZlc3Q9Im9yaWdpbi11c2FnZS1pZnJhbWUtMi5tYW5pZmVzdCI+Ci08c2Ny
aXB0PgotLy8gaWZyYW1lLTIgaXMgZXhwZWN0ZWQgdG8gZmFpbCBkdWUgdG8gZXhjZWVkaW5nIHRo
ZSBvcmlnaW4gcXVvdGEuCi1hcHBsaWNhdGlvbkNhY2hlLm9uY2FjaGVkID0gZnVuY3Rpb24oKSB7
IHBhcmVudC5wb3N0TWVzc2FnZSgiUEFTUyAtIGNhY2hlZCBpZnJhbWUtMiIsICIqIik7IH07Ci1h
cHBsaWNhdGlvbkNhY2hlLm9uZXJyb3IgPSBmdW5jdGlvbigpIHsgcGFyZW50LnBvc3RNZXNzYWdl
KCJGQUlMIC0gZXJyb3IgY2FjaGluZyBpZnJhbWUtMiIsICIqIik7IH07Ci1hcHBsaWNhdGlvbkNh
Y2hlLm9ubm91cGRhdGUgPSBmdW5jdGlvbigpIHsgcGFyZW50LnBvc3RNZXNzYWdlKCJGQUlMIC0g
bm8gdXBkYXRlIGlmcmFtZS0yLCBhbGwgY2FjaGVzIHNob3VsZCBoYXZlIGJlZW4gZGVsZXRlZCBi
ZWZvcmUgdGhpcyB0ZXN0IiwgIioiKTsgfTsKLTwvc2NyaXB0PgotPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvcmVzb3VyY2VzL29yaWdpbi11c2FnZS1pZnJh
bWUtMi5tYW5pZmVzdCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3NsL3Jlc291cmNlcy9vcmln
aW4tdXNhZ2UtaWZyYW1lLTIubWFuaWZlc3QKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDJmYTljZDUxY2M2MDhlNjdlZDcxZWEwNGQxYjAxNDRjZDM3NjVkYWUuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9z
c2wvcmVzb3VyY2VzL29yaWdpbi11c2FnZS1pZnJhbWUtMi5tYW5pZmVzdAorKysgL2Rldi9udWxs
CkBAIC0xLDYgKzAsMCBAQAotQ0FDSEUgTUFOSUZFU1QKLQotIyBUaGlzIGFkZHMgfjEzSyB0byB0
aGUgYXBwIGNhY2hlCi0KLUNBQ0hFOgotaHR0cHM6Ly8xMjcuMC4wLjE6ODQ0My9zZWN1cml0eS9y
ZXNvdXJjZXMvYWJlLnBuZwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wv
dXBncmFkZS1vcmlnaW4tdXNhZ2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9zc2wvdXBncmFkZS1vcmlnaW4tdXNhZ2UtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCBiMzlmM2ZlNjVlYzdhYzhmOGFlNGRiOTgyMzhkYTdkNmUxZjRkODg5Li4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc3NsL3VwZ3JhZGUtb3JpZ2luLXVzYWdlLWV4cGVjdGVkLnR4dAorKysgL2Rl
di9udWxsCkBAIC0xLDEwICswLDAgQEAKLVRoaXMgdGVzdCBjaGVja3MgdGhhdCBwZXItb3JpZ2lu
IHVzYWdlIGlzIHJlcG9ydGVkIGNvcnJlY3RseSB3aGVuIHVwZ3JhZGluZyBpbnNlY3VyZSBsb2Fk
IHJlcXVlc3RzIGJ5IGxvYWRpbmcgdHdvIGlmcmFtZXMgd2hpY2ggdXNlIH4xNUsgZWFjaCBhbmQg
cXVlcnlpbmcgb3JpZ2luIHVzYWdlLgotCi1DbGVhcmVkIGFwcGxpY2F0aW9uIGNhY2hlCi1QQVNT
IC0gY2FjaGVkIGlmcmFtZS0xCi1Vc2FnZSBmb3IgaHR0cHM6Ly8xMjcuMC4wLjE6ODQ0MyBhZnRl
ciBmaXJzdCBmcmFtZSBpcyBiZXR3ZWVuIDE1MDAwIGFuZCAxNjAwMCBieXRlczogdHJ1ZQotUEFT
UyAtIGNhY2hlZCBpZnJhbWUtMgotVXNhZ2UgZm9yIGh0dHBzOi8vMTI3LjAuMC4xOjg0NDMgYWZ0
ZXIgc2Vjb25kIGZyYW1lIGlzIGJldHdlZW4gMzAwMDAgYW5kIDMyMDAwIGJ5dGVzOiB0cnVlCi1S
ZW1vdmluZyBBcHBsaWNhdGlvbiBDYWNoZSBmb3IgaHR0cHM6Ly8xMjcuMC4wLjE6ODQ0MwotVXNh
Z2UgZm9yIGh0dHBzOi8vMTI3LjAuMC4xOjg0NDM6IDAKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zc2wvdXBncmFkZS1vcmlnaW4tdXNhZ2UuaHRtbCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc3NsL3VwZ3JhZGUtb3JpZ2luLXVzYWdlLmh0bWwKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDVjMmQxYjg4OWQyY2VlMThkNWY2OGFkMzQ0ZTg2NTkzN2ZlZDliYjUu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zc2wvdXBncmFkZS1vcmlnaW4tdXNhZ2UuaHRtbAorKysgL2Rldi9udWxs
CkBAIC0xLDc1ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08bWV0YSBodHRwLWVxdWl2PSJDb250
ZW50LVNlY3VyaXR5LVBvbGljeSIgY29udGVudD0idXBncmFkZS1pbnNlY3VyZS1yZXF1ZXN0cyI+
Ci08c2NyaXB0PgotCi12YXIgZHJ0VVJMID0gImh0dHBzOi8vMTI3LjAuMC4xOjg0NDMiOwotCi0v
LyBIZWxwZXJzLgotCi1mdW5jdGlvbiBsb2cobWVzc2FnZSkgewotICAgIGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb25zb2xlIikuaW5uZXJIVE1MICs9IG1lc3NhZ2UgKyAiPGJyPiI7Ci19Ci0K
LS8vIFN0YXJ0IGFuZCBlbmQuCi0KLWZ1bmN0aW9uIHN0YXJ0VGVzdCgpIHsKLSAgICBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpIHsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRBbGxvd3NBbnlTU0xDZXJ0
aWZpY2F0ZSh0cnVlKTsKLSAgICAgICAgdGVzdFJ1bm5lci5jbGVhckFsbEFwcGxpY2F0aW9uQ2Fj
aGVzKCk7Ci0gICAgICAgIGxvZygiQ2xlYXJlZCBhcHBsaWNhdGlvbiBjYWNoZSIpOwotICAgICAg
ICB0ZXN0UnVubmVyLmR1bXBBcHBsaWNhdGlvbkNhY2hlRGVsZWdhdGVDYWxsYmFja3MoKTsKLSAg
ICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgIHRlc3RSdW5uZXIud2FpdFVu
dGlsRG9uZSgpOwotICAgIH0KLQotICAgIGFkZEZpcnN0SUZyYW1lKCk7Ci19Ci0KLWZ1bmN0aW9u
IGZpbmlzaFRlc3QoKSB7Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0ZXN0
UnVubmVyLm5vdGlmeURvbmUoKTsKLX0KLQotLy8gU3RhZ2VzLgotCi1mdW5jdGlvbiBhZGRJRnJh
bWVXaXRoQ29udGludWF0aW9uKHNyYywgY29udGludWF0aW9uKSB7Ci0gICAgd2luZG93Lm9ubWVz
c2FnZSA9IGNvbnRpbnVhdGlvbjsKLSAgICB2YXIgaWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgiaWZyYW1lIik7Ci0gICAgaWZyYW1lLnNyYyA9IHNyYzsKLSAgICBkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKGlmcmFtZSk7Ci19Ci0KLWZ1bmN0aW9uIGFkZEZpcnN0SUZyYW1lKCkgewot
ICAgIC8vIEV4cGVjdGVkIHRvIHN1Y2NlZWQuCi0gICAgYWRkSUZyYW1lV2l0aENvbnRpbnVhdGlv
bigiaHR0cDovLzEyNy4wLjAuMTo4NDQzL3NzbC9yZXNvdXJjZXMvb3JpZ2luLXVzYWdlLWlmcmFt
ZS0xLmh0bWwiLCBmdW5jdGlvbihldmVudCkgewotICAgICAgICBsb2coZXZlbnQuZGF0YSk7Ci0g
ICAgICAgIHZhciB1c2FnZSA9IHRlc3RSdW5uZXIuYXBwbGljYXRpb25DYWNoZURpc2tVc2FnZUZv
ck9yaWdpbihkcnRVUkwpOwotICAgICAgICBsb2coIlVzYWdlIGZvciAiICsgZHJ0VVJMICsgIiBh
ZnRlciBmaXJzdCBmcmFtZSBpcyBiZXR3ZWVuIDE1MDAwIGFuZCAxNjAwMCBieXRlczogIiArICgo
dXNhZ2UgPiAxNTAwMCkgJiYgKHVzYWdlIDwgMTYwMDApKSk7Ci0gICAgICAgIGFkZFNlY29uZElG
cmFtZSgpOwotICAgIH0pOwotfQotCi1mdW5jdGlvbiBhZGRTZWNvbmRJRnJhbWUoKSB7Ci0gICAg
YWRkSUZyYW1lV2l0aENvbnRpbnVhdGlvbigiaHR0cDovLzEyNy4wLjAuMTo4NDQzL3NzbC9yZXNv
dXJjZXMvb3JpZ2luLXVzYWdlLWlmcmFtZS0yLmh0bWwiLCBmdW5jdGlvbihldmVudCkgewotICAg
ICAgICBsb2coZXZlbnQuZGF0YSk7Ci0gICAgICAgIHZhciB1c2FnZSA9IHRlc3RSdW5uZXIuYXBw
bGljYXRpb25DYWNoZURpc2tVc2FnZUZvck9yaWdpbihkcnRVUkwpOwotICAgICAgICBsb2coIlVz
YWdlIGZvciAiICsgZHJ0VVJMICsgIiBhZnRlciBzZWNvbmQgZnJhbWUgaXMgYmV0d2VlbiAzMDAw
MCBhbmQgMzIwMDAgYnl0ZXM6ICIgKyAoKHVzYWdlID4gMzAwMDApICYmICh1c2FnZSA8IDMyMDAw
KSkpOwotCi0gICAgICAgIGxvZygiUmVtb3ZpbmcgQXBwbGljYXRpb24gQ2FjaGUgZm9yICIgKyBk
cnRVUkwpOwotICAgICAgICB0ZXN0UnVubmVyLmNsZWFyQXBwbGljYXRpb25DYWNoZUZvck9yaWdp
bihkcnRVUkwpOwotCi0gICAgICAgIGxvZygiVXNhZ2UgZm9yICIgKyBkcnRVUkwgKyAiOiAiICsg
dGVzdFJ1bm5lci5hcHBsaWNhdGlvbkNhY2hlRGlza1VzYWdlRm9yT3JpZ2luKGRydFVSTCkpOwot
Ci0gICAgICAgIGZpbmlzaFRlc3QoKTsKLSAgICB9KTsKLX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+
Ci08Ym9keSBvbmxvYWQ9InN0YXJ0VGVzdCgpIj4KLTxwPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBw
ZXItb3JpZ2luIHVzYWdlIGlzIHJlcG9ydGVkIGNvcnJlY3RseSB3aGVuIHVwZ3JhZGluZyBpbnNl
Y3VyZSBsb2FkIHJlcXVlc3RzIGJ5IGxvYWRpbmcgdHdvIGlmcmFtZXMgd2hpY2ggdXNlIH4xNUsg
ZWFjaCBhbmQgcXVlcnlpbmcgb3JpZ2luIHVzYWdlLjwvcD4KLTwvcD4KLTxwcmUgaWQ9ImNvbnNv
bGUiPjwvcHJlPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS91cGdyYWRlLXNpbXBsZS13cy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3VwZ3JhZGUt
c2ltcGxlLXdzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWVh
M2MyNGRlOTBhOGZhZTI2ODFlNDliOGYyZjk5YWVlYWYwZDg1NC4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNv
Y2tldC90ZXN0cy9oeWJpL3VwZ3JhZGUtc2ltcGxlLXdzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9u
dWxsCkBAIC0xLDExICswLDAgQEAKLVNpbXBsZSB1cGdyYWRlIGluc2VjdXJlIFdlYiBTb2NrZXQg
dGVzdAotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLUNyZWF0ZWQgYSBzb2NrZXQgdG8g
J3dzczovLzEyNy4wLjAuMTo5MzIzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3NpbXBsZSc7IHJlYWR5
U3RhdGUgMC4KLVRoZSAnd3MnIHByb3RvY29sIHNob3VsZCBiZSB1cGdyYWRlZCB0byAnd3NzJy4g
SWYgdGhpcyBoYXBwZW5zLCB3ZSB3aWxsIGNvbm5lY3QgcHJvcGVybHkgYW5kIHRoZSB0ZXN0IHdp
bGwgc3VjY2VlZC4KLUNvbm5lY3RlZDsgcmVhZHlTdGF0ZSAxCi1SZXNvbHZlZCBVUkw6IHdzczov
LzEyNy4wLjAuMTo5MzIzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3NpbXBsZQotUmVjZWl2ZWQ6ICdI
ZWxsbyBmcm9tIFNpbXBsZSBXU0guJzsgcmVhZHlTdGF0ZSAxCi1DbG9zZWQ7IHJlYWR5U3RhdGUg
My4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMv
aHliaS91cGdyYWRlLXNpbXBsZS13cy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJz
b2NrZXQvdGVzdHMvaHliaS91cGdyYWRlLXNpbXBsZS13cy5odG1sCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA1OWJlYjM0MTgyN2RjNzhmZmM5NjZiMzY2YTQ2Yzk2ZmQ1NjhlMTYwLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvdXBncmFkZS1zaW1wbGUtd3MuaHRtbAor
KysgL2Rldi9udWxsCkBAIC0xLDYyICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08
aGVhZD4KLTxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgotPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1TZWN1cml0eS1Qb2xpY3kiIGNvbnRl
bnQ9InVwZ3JhZGUtaW5zZWN1cmUtcmVxdWVzdHMiPgotPC9oZWFkPgotPGJvZHk+Ci08ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQg
dHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLWRlc2NyaXB0aW9uKCJTaW1wbGUgdXBncmFkZSBpbnNl
Y3VyZSBXZWIgU29ja2V0IHRlc3QiKTsKLQotd2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOwot
Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgdGVzdFJ1bm5lci5zZXRBbGxvd3NBbnlTU0xD
ZXJ0aWZpY2F0ZSh0cnVlKTsKLQotZnVuY3Rpb24gZW5kVGVzdCgpCi17Ci0gICAgY2xlYXJUaW1l
b3V0KHRpbWVvdXRJRCk7Ci0gICAgZmluaXNoSlNUZXN0KCk7Ci19Ci0KLXZhciB3cyA9IG5ldyBX
ZWJTb2NrZXQoIndzOi8vMTI3LjAuMC4xOjkzMjMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvc2ltcGxl
Iik7Ci1kZWJ1ZygiQ3JlYXRlZCBhIHNvY2tldCB0byAnIiArIHdzLlVSTCArICInOyByZWFkeVN0
YXRlICIgKyB3cy5yZWFkeVN0YXRlICsgIi4iKTsKLWRlYnVnKCJUaGUgJ3dzJyBwcm90b2NvbCBz
aG91bGQgYmUgdXBncmFkZWQgdG8gJ3dzcycuIElmIHRoaXMgaGFwcGVucywgd2Ugd2lsbCBjb25u
ZWN0IHByb3Blcmx5IGFuZCB0aGUgdGVzdCB3aWxsIHN1Y2NlZWQuIik7Ci0KLXdzLm9ub3BlbiA9
IGZ1bmN0aW9uKCkKLXsKLSAgICBkZWJ1ZygiQ29ubmVjdGVkOyByZWFkeVN0YXRlICIgKyB3cy5y
ZWFkeVN0YXRlKTsKLSAgICBkZWJ1ZygiUmVzb2x2ZWQgVVJMOiAiICsgd3MuVVJMKQotfTsKLQot
d3Mub25tZXNzYWdlID0gZnVuY3Rpb24obWVzc2FnZUV2ZW50KQotewotICAgIGRlYnVnKCJSZWNl
aXZlZDogJyIgKyBtZXNzYWdlRXZlbnQuZGF0YSArICInOyByZWFkeVN0YXRlICIgKyB3cy5yZWFk
eVN0YXRlKTsKLX07Ci0KLXdzLm9uY2xvc2UgPSBmdW5jdGlvbigpCi17Ci0gICAgZGVidWcoIkNs
b3NlZDsgcmVhZHlTdGF0ZSAiICsgd3MucmVhZHlTdGF0ZSArICIuIik7Ci0gICAgZW5kVGVzdCgp
OwotfTsKLQotd3Mub25lcnJvciA9IGZ1bmN0aW9uKGVycm9yRXZlbnQpCi17Ci0gICAgZGVidWco
IkVycm9yOiAnIiArIGVycm9yRXZlbnQuZGF0YSArICInOyByZWFkeVN0YXRlICIgKyB3cy5yZWFk
eVN0YXRlKTsKLSAgICBlbmRUZXN0KCk7Ci19Ci0KLWZ1bmN0aW9uIHRpbWVPdXRDYWxsYmFjaygp
Ci17Ci0gICAgZGVidWcoIlRpbWVkIG91dCBpbiBzdGF0ZTogIiArIHdzLnJlYWR5U3RhdGUpOwot
ICAgIGVuZFRlc3QoKTsKLX0KLQotdmFyIHRpbWVvdXRJRCA9IHNldFRpbWVvdXQodGltZU91dENh
bGxiYWNrLCAzMDApOwotCi08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggZDhiNDE0ZjU0OWZjOGU4Mjc3
NTlhNWM2OWM1ZmI3YjVhMTJkMDYyZi4uYzFiYTdjOGEzYTM1ZDIyMTMxYjdjNGM2YTE1MmM3NjQ3
ZWU5OGFmNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3Rh
dGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKQEAg
LTEzNDcsNSArMTM0NywzIEBAIHdlYmtpdC5vcmcvYi8xNTYzMjAgZmFzdC9yZWdpb25zL2lubGlu
ZS1ibG9jay1pbnNpZGUtYW5vbnltb3VzLW92ZXJmbG93Lmh0bWwgWyBJCiB3ZWJraXQub3JnL2Iv
MTU1MTk2IG1lZGlhL3ZpZGVvLXdpdGgtZmlsZS11cmwtYWxsb3dlZC1ieS1jc3AtbWVkaWEtc3Jj
LXN0YXItd2l0aC1BbGxvd0NvbnRlbnRTZWN1cml0eVBvbGljeVNvdXJjZVN0YXJUb01hdGNoQW55
UHJvdG9jb2wtZW5hYmxlZC5odG1sIFsgU2tpcCBdCiAKIHdlYmtpdC5vcmcvYi8xNTgxMDEgaW1w
b3J0ZWQvYmxpbmsvaHR0cC90ZXN0cy9wbHVnaW5zL2dldC11cmwtbm90aWZ5LW9uLXJlbW92YWwu
aHRtbCBbIFBhc3MgVGltZW91dCBdCi0KLXdlYmtpdC5vcmcvYi8xNDM2NTMgWyBZb3NlbWl0ZSBd
IGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvdXBncmFkZS1zaW1wbGUtd3MuaHRtbCBb
IFNraXAgXSAjIFRpbWVvdXQK
</data>

          </attachment>
      

    </bug>

</bugzilla>