<?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>79464</bug_id>
          
          <creation_ts>2012-02-24 01:44:41 -0800</creation_ts>
          <short_desc>REGRESSION(r108731): Broke Chromium Win tests (Requested by bashi on #webkit).</short_desc>
          <delta_ts>2012-02-24 01:47:29 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (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>77522</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Review Bot">webkit.review.bot</reporter>
          <assigned_to name="WebKit Review Bot">webkit.review.bot</assigned_to>
          <cc>bashi</cc>
    
    <cc>tkent</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>564085</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-24 01:44:41 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/108731 broke the build:
Broke Chromium Win tests (Requested by bashi on #webkit).

This is an automatic bug report generated by the sheriff-bot. 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 case pain.

&quot;Only you can prevent forest fires.&quot; -- Smokey the Bear</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>564087</commentid>
    <comment_count>1</comment_count>
      <attachid>128687</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-24 01:45:12 -0800</bug_when>
    <thetext>Created attachment 128687
ROLLOUT of r108731

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>564088</commentid>
    <comment_count>2</comment_count>
      <attachid>128687</attachid>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2012-02-24 01:47:23 -0800</bug_when>
    <thetext>Comment on attachment 128687
ROLLOUT of r108731

Clearing flags on attachment: 128687

Committed r108752: &lt;http://trac.webkit.org/changeset/108752&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>564089</commentid>
    <comment_count>3</comment_count>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2012-02-24 01:47:29 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>128687</attachid>
            <date>2012-02-24 01:45:12 -0800</date>
            <delta_ts>2012-02-24 01:47:23 -0800</delta_ts>
            <desc>ROLLOUT of r108731</desc>
            <filename>bug-79464-20120224094712.patch</filename>
            <type>text/plain</type>
            <size>53462</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA4NzUxCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
NTZlMTMwMjhhNjA3OWZlY2FkZDkyZmE1OGJiMjQyNjc3NjQ2NzllLi41MjJkYTIxMWE5YzhkZjc0
NzljZWU5YjZiNDgxOTc4YzEyMTFiZjJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMyBAQAorMjAxMi0wMi0yNCAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBn
bWFpbC5jb20+CisKKyAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjEwODczMS4KKyAg
ICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMTA4NzMxCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03OTQ2NAorCisgICAgICAgIEJy
b2tlIENocm9taXVtIFdpbiB0ZXN0cyAoUmVxdWVzdGVkIGJ5IGJhc2hpIG9uICN3ZWJraXQpLgor
CisgICAgICAgICogd3RmL1BsYXRmb3JtLmg6CisKIDIwMTItMDItMjQgIEFuZHJldyBMbyAgPGFu
bG9AcmltLmNvbT4KIAogICAgICAgICBbQmxhY2tCZXJyeV0gRW5hYmxlIHJlcXVlc3RBbmltYXRp
b25GcmFtZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCmluZGV4IDY1YzhkOTFiNjM0Y2UyNmQ2NjA5OGI0NmY0YWJkY2JmNmY2
N2Q0NTUuLjMxNmMzZTA1MzRjODYwZWZkNTBjMDIzMDc1ZDRlNjU3MWI3ZDBlZTcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwyOSBAQAorMjAxMi0wMi0yNCAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2
aWV3LmJvdEBnbWFpbC5jb20+CisKKyAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjEw
ODczMS4KKyAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMTA4NzMxCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03OTQ2NAorCisg
ICAgICAgIEJyb2tlIENocm9taXVtIFdpbiB0ZXN0cyAoUmVxdWVzdGVkIGJ5IGJhc2hpIG9uICN3
ZWJraXQpLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogR05VbWFrZWZp
bGUubGlzdC5hbToKKyAgICAgICAgKiBUYXJnZXQucHJpOgorICAgICAgICAqIFdlYkNvcmUuZ3lw
L1dlYkNvcmUuZ3lwOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3Jl
LnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2o6CisgICAgICAgICogd2Vic29ja2V0cy9XZWJTb2NrZXQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6V2ViU29ja2V0OjpkaWRDb25uZWN0KToKKyAgICAgICAgKiB3ZWJzb2NrZXRz
L1dlYlNvY2tldENoYW5uZWwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViU29ja2V0Q2hhbm5l
bDo6Y29ubmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJTb2NrZXRDaGFubmVsOjpmYWlsKToK
KyAgICAgICAgKFdlYkNvcmU6OldlYlNvY2tldENoYW5uZWw6OnByb2Nlc3NGcmFtZSk6CisgICAg
ICAgIChXZWJDb3JlOjpXZWJTb2NrZXRDaGFubmVsOjpzZW5kRnJhbWUpOgorICAgICAgICAqIHdl
YnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5oOgorICAgICAgICAqIHdlYnNvY2tldHMvV2ViU29j
a2V0RGVmbGF0ZUZyYW1lci5jcHA6IFJlbW92ZWQuCisgICAgICAgICogd2Vic29ja2V0cy9XZWJT
b2NrZXREZWZsYXRlRnJhbWVyLmg6IFJlbW92ZWQuCisKIDIwMTItMDItMjIgIFZzZXZvbG9kIFZs
YXNvdiAgPHZzZXZpa0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogU2hv
dyBzY3JpcHRzIHBhbmVsIG5hdmlnYXRvciBvdmVybGF5IG9uIHRoZSBmaXJzdCBzY3JpcHRzIHBh
bmVsIG9wZW5pbmcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRm
b3JtLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmgKaW5kZXggMGQxNGM5
MTM0Y2VjMjliZTM3OTY1YzIxMjFhMGI2N2QxYmRjNDdhYS4uNzZiMTFmZTg4ZTQ5ODJhNDVjOGM3
YmZiYzVjNzU0ZjRhMGJlMjBkMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0
Zi9QbGF0Zm9ybS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaApA
QCAtMTE5NCw4ICsxMTk0LDQgQEAKICNkZWZpbmUgV1RGX1VTRV9XVEZVUkwgMAogI2VuZGlmCiAK
LSNpZiAhUExBVEZPUk0oUVQpICYmICFQTEFURk9STShFRkwpCi0jZGVmaW5lIFdURl9VU0VfWkxJ
QiAxCi0jZW5kaWYKLQogI2VuZGlmIC8qIFdURl9QbGF0Zm9ybV9oICovCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMu
dHh0CmluZGV4IDc4MzYwZDhlOWFkZTM2ZDE0YTUxNzdkYTQ5ZmM3NjQyYWU1NzZmMzEuLmNkMTY3
N2Y1YTBmMWFlZWY4M2JmMDNhYTc0NDk3N2Q5MGNiYjcwNTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0
CkBAIC0yMDYwLDcgKzIwNjAsNiBAQCBJRiAoRU5BQkxFX1dFQl9TT0NLRVRTKQogICAgICAgICB3
ZWJzb2NrZXRzL1RocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsQ2xpZW50V3JhcHBlci5jcHAKICAg
ICAgICAgd2Vic29ja2V0cy9XZWJTb2NrZXQuY3BwCiAgICAgICAgIHdlYnNvY2tldHMvV2ViU29j
a2V0Q2hhbm5lbC5jcHAKLSAgICAgICAgd2Vic29ja2V0cy9XZWJTb2NrZXREZWZsYXRlRnJhbWVy
LmNwcAogICAgICAgICB3ZWJzb2NrZXRzL1dlYlNvY2tldEV4dGVuc2lvbkRpc3BhdGNoZXIuY3Bw
CiAgICAgICAgIHdlYnNvY2tldHMvV2ViU29ja2V0SGFuZHNoYWtlLmNwcAogICAgICAgICB3ZWJz
b2NrZXRzL1dlYlNvY2tldEhhbmRzaGFrZVJlcXVlc3QuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUu
bGlzdC5hbQppbmRleCA5NTA0MDkxNjVkZmRlNjQ3ZTBkMWM3MTlkY2FmODUzYjEyNWRjMGM1Li41
N2UzN2Q2YTM5MjQ3N2IwMmMzMTMwMDBjZmVmZWQ2YTg3Mzc3NjEzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1h
a2VmaWxlLmxpc3QuYW0KQEAgLTQzNDQsOCArNDM0NCw2IEBAIHdlYmNvcmVfc291cmNlcyArPSBc
CiAJU291cmNlL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmggXAogCVNvdXJj
ZS9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvd2Vi
c29ja2V0cy9XZWJTb2NrZXQuaCBcCi0JU291cmNlL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2Nr
ZXREZWZsYXRlRnJhbWVyLmNwcCBcCi0JU291cmNlL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2Nr
ZXREZWZsYXRlRnJhbWVyLmggXAogCVNvdXJjZS9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0
RGVmbGF0ZXIuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldERlZmxh
dGVyLmggXAogCVNvdXJjZS9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0RXh0ZW5zaW9uRGlz
cGF0Y2hlci5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaSBiL1Nv
dXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKaW5kZXggZTk1ZWQ0ZWNjOWE4MzM2OTNhMmY1NDlkNDQx
NzRhNjMxYjcwOWQ3Ny4uNGQ1MjkyZDI2NDhhZjIyYzE3YjY5NzQxNWRjZDYyNGE5ZWZjOTdiZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9UYXJnZXQucHJpCkBAIC0zNjc1LDcgKzM2NzUsNiBAQCBjb250YWlucyhERUZJTkVTLCBFTkFC
TEVfV0VCX1NPQ0tFVFM9MSkgewogICAgICAgICB3ZWJzb2NrZXRzL1dlYlNvY2tldC5oIFwKICAg
ICAgICAgd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmggXAogICAgICAgICB3ZWJzb2NrZXRz
L1dlYlNvY2tldENoYW5uZWxDbGllbnQuaCBcCi0gICAgICAgIHdlYnNvY2tldHMvV2ViU29ja2V0
RGVmbGF0ZUZyYW1lci5oIFwKICAgICAgICAgd2Vic29ja2V0cy9XZWJTb2NrZXRFeHRlbnNpb25E
aXNwYXRjaGVyLmggXAogICAgICAgICB3ZWJzb2NrZXRzL1dlYlNvY2tldEV4dGVuc2lvblByb2Nl
c3Nvci5oIFwKICAgICAgICAgd2Vic29ja2V0cy9XZWJTb2NrZXRGcmFtZS5oIFwKQEAgLTM2ODcs
NyArMzY4Niw2IEBAIGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9XRUJfU09DS0VUUz0xKSB7CiAg
ICAgU09VUkNFUyArPSBcCiAgICAgICAgIHdlYnNvY2tldHMvV2ViU29ja2V0LmNwcCBcCiAgICAg
ICAgIHdlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHAgXAotICAgICAgICB3ZWJzb2NrZXRz
L1dlYlNvY2tldERlZmxhdGVGcmFtZXIuY3BwIFwKICAgICAgICAgd2Vic29ja2V0cy9XZWJTb2Nr
ZXRFeHRlbnNpb25EaXNwYXRjaGVyLmNwcCBcCiAgICAgICAgIHdlYnNvY2tldHMvV2ViU29ja2V0
SGFuZHNoYWtlLmNwcCBcCiAgICAgICAgIHdlYnNvY2tldHMvV2ViU29ja2V0SGFuZHNoYWtlUmVx
dWVzdC5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29y
ZS5neXAgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cAppbmRleCA0ZWQz
M2RhODdiYjllZDg3Nzc2OTA5Mjk1Y2MwYmIwMmJmYWU3ZDU0Li4yNWM1NDEzMzZiYThlZTc2OTY0
YTI5YzNmYjk2MzhiYjg3YzJhMWUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lmd5cC9XZWJDb3JlLmd5cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3Jl
Lmd5cApAQCAtMTE5NSw3ICsxMTk1LDYgQEAKICAgICAgICAgJzwoY2hyb21pdW1fc3JjX2Rpcikv
dGhpcmRfcGFydHkvb3RzL290cy5neXA6b3RzJywKICAgICAgICAgJzwoY2hyb21pdW1fc3JjX2Rp
cikvdGhpcmRfcGFydHkvc3FsaXRlL3NxbGl0ZS5neXA6c3FsaXRlJywKICAgICAgICAgJzwoY2hy
b21pdW1fc3JjX2RpcikvdGhpcmRfcGFydHkvYW5nbGUvc3JjL2J1aWxkX2FuZ2xlLmd5cDp0cmFu
c2xhdG9yX2dsc2wnLAotICAgICAgICAnPChjaHJvbWl1bV9zcmNfZGlyKS90aGlyZF9wYXJ0eS96
bGliL3psaWIuZ3lwOnpsaWInLAogICAgICAgICAnPChjaHJvbWl1bV9zcmNfZGlyKS92OC90b29s
cy9neXAvdjguZ3lwOnY4JywKICAgICAgICAgJzwobGlianBlZ19neXBfcGF0aCk6bGlianBlZycs
CiAgICAgICBdLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDA0ODIyZjg1MjlhOTdkNWUyNDhmZTNlZTg4
ODU1NjgxYjYxODE2NjguLjdhZjg2ZDdlODI0NDQ4OWNhN2ZkOThlNmZiOWZhMzUzMDA5NjQ1ZWYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmd5cGkKQEAgLTQ4MzIsOCArNDgzMiw2IEBACiAgICAgICAgICAgICAnd2Vi
c29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcCcsCiAgICAgICAgICAgICAnd2Vic29ja2V0cy9X
ZWJTb2NrZXRDaGFubmVsLmgnLAogICAgICAgICAgICAgJ3dlYnNvY2tldHMvV2ViU29ja2V0Q2hh
bm5lbENsaWVudC5oJywKLSAgICAgICAgICAgICd3ZWJzb2NrZXRzL1dlYlNvY2tldERlZmxhdGVG
cmFtZXIuY3BwJywKLSAgICAgICAgICAgICd3ZWJzb2NrZXRzL1dlYlNvY2tldERlZmxhdGVGcmFt
ZXIuaCcsCiAgICAgICAgICAgICAnd2Vic29ja2V0cy9XZWJTb2NrZXREZWZsYXRlci5jcHAnLAog
ICAgICAgICAgICAgJ3dlYnNvY2tldHMvV2ViU29ja2V0RGVmbGF0ZXIuaCcsCiAgICAgICAgICAg
ICAnd2Vic29ja2V0cy9XZWJTb2NrZXRFeHRlbnNpb25EaXNwYXRjaGVyLmNwcCcsCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IGZkN2Y3MWI4MGMw
ODg2ZjRjYTg0ODRjNzQwYWRjODYzMjY4Zjc1ODYuLmJlNDBiYTM1MmJlYmQyODY3Y2EyYjU3Yzc4
MWU1ZWQ4NWFmODFmYmYgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9q
L1dlYkNvcmUudmNwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNv
cmUudmNwcm9qCkBAIC03MzQ3NCwxNCArNzM0NzQsNiBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJ
CTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlx3ZWJzb2NrZXRzXFdlYlNvY2tldERlZmxhdGVG
cmFtZXIuY3BwIgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRo
PSIuLlx3ZWJzb2NrZXRzXFdlYlNvY2tldERlZmxhdGVGcmFtZXIuaCIKLQkJCQk+Ci0JCQk8L0Zp
bGU+Ci0JCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cd2Vic29ja2V0c1xXZWJTb2NrZXRE
ZWZsYXRlci5jcHAiCiAJCQkJPgogCQkJPC9GaWxlPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDI1NDMxY2E3ZDQwYTdhMWI1Njdl
ZGI0MzAyZDM3YTBlNTNhNzBkMTguLjkzNzE3ODNiMWVhNDY5YzA3ZTczMWY1MTQyMTNkNGFiNmQz
N2NiYmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKQEAgLTEzNjcsOCArMTM2Nyw2IEBACiAJCTRBMUU3MTk2MTRFMTAxRjkwMDYyNkY5
RCAvKiBKU0hUTUxTaGFkb3dFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA0QTFFNzE5NDE0RTEwMUY5MDA2MjZGOUQgLyogSlNIVE1MU2hhZG93
RWxlbWVudC5oICovOyB9OwogCQk0QTFFNzFBNTE0RTEwNkFDMDA2MjZGOUQgLyogSlNTaGFkb3dS
b290LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDRB
MUU3MUEzMTRFMTA2QUMwMDYyNkY5RCAvKiBKU1NoYWRvd1Jvb3QuY3BwICovOyB9OwogCQk0QTFF
NzFBNjE0RTEwNkFDMDA2MjZGOUQgLyogSlNTaGFkb3dSb290LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0QTFFNzFBNDE0RTEwNkFDMDA2MjZGOUQgLyog
SlNTaGFkb3dSb290LmggKi87IH07Ci0JCTRBMjkyMjJCMTRGNDY4QkEwMDIxRjc3RSAvKiBXZWJT
b2NrZXREZWZsYXRlRnJhbWVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDRBMjkyMjI5MTRGNDY4QkEwMDIxRjc3RSAvKiBXZWJTb2NrZXREZWZsYXRl
RnJhbWVyLmNwcCAqLzsgfTsKLQkJNEEyOTIyMkMxNEY0NjhCQTAwMjFGNzdFIC8qIFdlYlNvY2tl
dERlZmxhdGVGcmFtZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDRBMjkyMjJBMTRGNDY4QkEwMDIxRjc3RSAvKiBXZWJTb2NrZXREZWZsYXRlRnJhbWVy
LmggKi87IH07CiAJCTRBNEEyMzQ2MTRGMUUxNDQwMDQ2RkJGMSAvKiBXZWJTb2NrZXRGcmFtZS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNEE0QTIzNDUx
NEYxRTE0NDAwNDZGQkYxIC8qIFdlYlNvY2tldEZyYW1lLmggKi87IH07CiAJCTRBNkU5RkMzMTND
MTdEMUQwMDQ2QTdGOCAvKiBGb250RmVhdHVyZVZhbHVlLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDRBNkU5RkMxMTNDMTdEMUQwMDQ2QTdGOCAvKiBG
b250RmVhdHVyZVZhbHVlLmNwcCAqLzsgfTsKIAkJNEE2RTlGQzQxM0MxN0QxRDAwNDZBN0Y4IC8q
IEZvbnRGZWF0dXJlVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDRBNkU5RkMyMTNDMTdEMUQwMDQ2QTdGOCAvKiBGb250RmVhdHVyZVZhbHVlLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTgyMzQs
OCArODIzMiw2IEBACiAJCTRBMUU3MTk0MTRFMTAxRjkwMDYyNkY5RCAvKiBKU0hUTUxTaGFkb3dF
bGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTSFRNTFNoYWRvd0Vs
ZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNEExRTcxQTMxNEUxMDZBQzAw
NjI2RjlEIC8qIEpTU2hhZG93Um9vdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBKU1NoYWRvd1Jvb3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0
QTFFNzFBNDE0RTEwNkFDMDA2MjZGOUQgLyogSlNTaGFkb3dSb290LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEpTU2hhZG93Um9vdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwotCQk0QTI5MjIyOTE0RjQ2OEJBMDAyMUY3N0UgLyogV2ViU29ja2V0RGVmbGF0ZUZyYW1l
ci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJTb2NrZXREZWZs
YXRlRnJhbWVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNEEyOTIyMkExNEY0
NjhCQTAwMjFGNzdFIC8qIFdlYlNvY2tldERlZmxhdGVGcmFtZXIuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gV2ViU29ja2V0RGVmbGF0ZUZyYW1lci5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk0QTRBMjM0NTE0RjFFMTQ0MDA0NkZCRjEgLyogV2ViU29ja2V0RnJh
bWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViU29ja2V0RnJhbWUuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNEE2RTlGQzExM0MxN0QxRDAwNDZBN0Y4IC8q
IEZvbnRGZWF0dXJlVmFsdWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gRm9udEZlYXR1cmVWYWx1ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTRB
NkU5RkMyMTNDMTdEMUQwMDQ2QTdGOCAvKiBGb250RmVhdHVyZVZhbHVlLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZvbnRGZWF0dXJlVmFsdWUuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKQEAgLTE0ODY0LDggKzE0ODYwLDYgQEAKIAkJCQk1MTBENEE0NzEwMzE3N0Ey
MDA0OUVBNTQgLyogV2ViU29ja2V0Q2hhbm5lbC5jcHAgKi8sCiAJCQkJNTEwRDRBNDgxMDMxNzdB
MjAwNDlFQTU0IC8qIFdlYlNvY2tldENoYW5uZWwuaCAqLywKIAkJCQk1MTBENEE0OTEwMzE3N0Ey
MDA0OUVBNTQgLyogV2ViU29ja2V0Q2hhbm5lbENsaWVudC5oICovLAotCQkJCTRBMjkyMjI5MTRG
NDY4QkEwMDIxRjc3RSAvKiBXZWJTb2NrZXREZWZsYXRlRnJhbWVyLmNwcCAqLywKLQkJCQk0QTI5
MjIyQTE0RjQ2OEJBMDAyMUY3N0UgLyogV2ViU29ja2V0RGVmbGF0ZUZyYW1lci5oICovLAogCQkJ
CTRBRTAyQUJCMTRFOEE5RDIwMEJDM0JBNyAvKiBXZWJTb2NrZXREZWZsYXRlci5jcHAgKi8sCiAJ
CQkJNEFFMDJBQkMxNEU4QTlEMjAwQkMzQkE3IC8qIFdlYlNvY2tldERlZmxhdGVyLmggKi8sCiAJ
CQkJNEE5NTdGMDMxNEUyNDExMDAwNDlEQkZCIC8qIFdlYlNvY2tldEV4dGVuc2lvbkRpc3BhdGNo
ZXIuY3BwICovLApAQCAtMjQyNjAsNyArMjQyNTQsNiBAQAogCQkJCTUxOEEzNEMyMTAyNkM4MzEw
MDFCNjg5NiAvKiBXZWJTb2NrZXQuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxMEQ0QTRGMTAzMTc3
QTIwMDQ5RUE1NCAvKiBXZWJTb2NrZXRDaGFubmVsLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTBE
NEE1MDEwMzE3N0EyMDA0OUVBNTQgLyogV2ViU29ja2V0Q2hhbm5lbENsaWVudC5oIGluIEhlYWRl
cnMgKi8sCi0JCQkJNEEyOTIyMkMxNEY0NjhCQTAwMjFGNzdFIC8qIFdlYlNvY2tldERlZmxhdGVG
cmFtZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTRBRTAyQUJFMTRFOEE5RDIwMEJDM0JBNyAvKiBX
ZWJTb2NrZXREZWZsYXRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNEE5NTdGMDcxNEUyNDEzMDAw
NDlEQkZCIC8qIFdlYlNvY2tldEV4dGVuc2lvbkRpc3BhdGNoZXIuaCBpbiBIZWFkZXJzICovLAog
CQkJCTRBREUyNUZBMTRFM0JCNEMwMDRDMjIxMyAvKiBXZWJTb2NrZXRFeHRlbnNpb25Qcm9jZXNz
b3IuaCBpbiBIZWFkZXJzICovLApAQCAtMjcyMjAsNyArMjcyMTMsNiBAQAogCQkJCTFDQUYzNDgy
MEE2QzQwNTIwMEFCRTA2RSAvKiBXZWJTY3JpcHRPYmplY3QubW0gaW4gU291cmNlcyAqLywKIAkJ
CQk1MThBMzRDMTEwMjZDODMxMDAxQjY4OTYgLyogV2ViU29ja2V0LmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTUxMEQ0QTRFMTAzMTc3QTIwMDQ5RUE1NCAvKiBXZWJTb2NrZXRDaGFubmVsLmNwcCBp
biBTb3VyY2VzICovLAotCQkJCTRBMjkyMjJCMTRGNDY4QkEwMDIxRjc3RSAvKiBXZWJTb2NrZXRE
ZWZsYXRlRnJhbWVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTRBRTAyQUJEMTRFOEE5RDIwMEJD
M0JBNyAvKiBXZWJTb2NrZXREZWZsYXRlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0QTk1N0Yw
NjE0RTI0MTJBMDA0OURCRkIgLyogV2ViU29ja2V0RXh0ZW5zaW9uRGlzcGF0Y2hlci5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQk1MUFCQUU0NDEwNDNBQjRBMDA4QzUyNjAgLyogV2ViU29ja2V0SGFu
ZHNoYWtlLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd2Vi
c29ja2V0cy9XZWJTb2NrZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2Nr
ZXQuY3BwCmluZGV4IDdkZDg1NGVkMTUyYTMyMWYwNDkyMTEyY2U1NWE3ZjEwOWU4OTMzZTcuLjM2
ZGJiNmYzMmMyNDk4M2MyMGY4NThlMGRhYzc3NjFmYjY5YjEyYTQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93
ZWJzb2NrZXRzL1dlYlNvY2tldC5jcHAKQEAgLTQ3OCw3ICs0NzgsNiBAQCB2b2lkIFdlYlNvY2tl
dDo6ZGlkQ29ubmVjdCgpCiAgICAgQVNTRVJUKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7CiAg
ICAgbV9zdGF0ZSA9IE9QRU47CiAgICAgbV9zdWJwcm90b2NvbCA9IG1fY2hhbm5lbC0+c3VicHJv
dG9jb2woKTsKLSAgICBtX2V4dGVuc2lvbnMgPSBtX2NoYW5uZWwtPmV4dGVuc2lvbnMoKTsKICAg
ICBkaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLm9wZW5FdmVudCwgZmFs
c2UsIGZhbHNlKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dlYnNvY2tldHMv
V2ViU29ja2V0Q2hhbm5lbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tl
dENoYW5uZWwuY3BwCmluZGV4IGM0MGIwOTg1N2U2YWQ3MDQ4YWUxZDUwY2M5MmM2NTE3MjRjNzRl
NjcuLmVjMDcwNmRiNGY4NDhmNTc1NTFjOTg3ZjI3YmM0NGUyZGM4MDQyNjggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcApAQCAtMTI3LDggKzEy
Nyw2IEBAIHZvaWQgV2ViU29ja2V0Q2hhbm5lbDo6Y29ubmVjdChjb25zdCBLVVJMJiB1cmwsIGNv
bnN0IFN0cmluZyYgcHJvdG9jb2wpCiAgICAgQVNTRVJUKCFtX3N1c3BlbmRlZCk7CiAgICAgbV9o
YW5kc2hha2UgPSBhZG9wdFB0cihuZXcgV2ViU29ja2V0SGFuZHNoYWtlKHVybCwgcHJvdG9jb2ws
IG1fZG9jdW1lbnQsIG1fdXNlSGl4aWU3NlByb3RvY29sKSk7CiAgICAgbV9oYW5kc2hha2UtPnJl
c2V0KCk7Ci0gICAgaWYgKCFtX3VzZUhpeGllNzZQcm90b2NvbCAmJiBtX2RlZmxhdGVGcmFtZXIu
Y2FuRGVmbGF0ZSgpKQotICAgICAgICBtX2hhbmRzaGFrZS0+YWRkRXh0ZW5zaW9uUHJvY2Vzc29y
KG1fZGVmbGF0ZUZyYW1lci5jcmVhdGVFeHRlbnNpb25Qcm9jZXNzb3IoKSk7CiAgICAgaWYgKG1f
aWRlbnRpZmllcikKICAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRDcmVhdGVX
ZWJTb2NrZXQobV9kb2N1bWVudCwgbV9pZGVudGlmaWVyLCB1cmwsIG1fZG9jdW1lbnQtPnVybCgp
KTsKICAgICByZWYoKTsKQEAgLTIzMCw3ICsyMjgsNiBAQCB2b2lkIFdlYlNvY2tldENoYW5uZWw6
OmZhaWwoY29uc3QgU3RyaW5nJiByZWFzb24pCiAgICAgICAgIG1fc2hvdWxkRGlzY2FyZFJlY2Vp
dmVkRGF0YSA9IHRydWU7CiAgICAgICAgIGlmIChtX2J1ZmZlcikKICAgICAgICAgICAgIHNraXBC
dWZmZXIobV9idWZmZXJTaXplKTsgLy8gU2F2ZSBtZW1vcnkuCi0gICAgICAgIG1fZGVmbGF0ZUZy
YW1lci5kaWRGYWlsKCk7CiAgICAgICAgIG1faGFzQ29udGludW91c0ZyYW1lID0gZmFsc2U7CiAg
ICAgICAgIG1fY29udGludW91c0ZyYW1lRGF0YS5jbGVhcigpOwogICAgIH0KQEAgLTYyMSwxMiAr
NjE4LDYgQEAgYm9vbCBXZWJTb2NrZXRDaGFubmVsOjpwcm9jZXNzRnJhbWUoKQogICAgIEFTU0VS
VChtX2J1ZmZlciA8IGZyYW1lRW5kKTsKICAgICBBU1NFUlQoZnJhbWVFbmQgPD0gbV9idWZmZXIg
KyBtX2J1ZmZlclNpemUpOwogCi0gICAgSW5mbGF0ZVJlc3VsdEhvbGRlciBpbmZsYXRlUmVzdWx0
ID0gbV9kZWZsYXRlRnJhbWVyLmluZmxhdGUoZnJhbWUpOwotICAgIGlmICghaW5mbGF0ZVJlc3Vs
dC5zdWNjZWVkZWQoKSkgewotICAgICAgICBmYWlsKGluZmxhdGVSZXN1bHQuZmFpbHVyZVJlYXNv
bigpKTsKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLQogICAgIC8vIFZhbGlkYXRlIHRo
ZSBmcmFtZSBkYXRhLgogICAgIGlmIChXZWJTb2NrZXRGcmFtZTo6aXNSZXNlcnZlZE9wQ29kZShm
cmFtZS5vcENvZGUpKSB7CiAgICAgICAgIGZhaWwoIlVucmVjb2duaXplZCBmcmFtZSBvcGNvZGU6
ICIgKyBTdHJpbmc6Om51bWJlcihmcmFtZS5vcENvZGUpKTsKQEAgLTEwMjAsMTMgKzEwMTEsNiBA
QCBib29sIFdlYlNvY2tldENoYW5uZWw6OnNlbmRGcmFtZShXZWJTb2NrZXRGcmFtZTo6T3BDb2Rl
IG9wQ29kZSwgY29uc3QgY2hhciogZGF0YQogCiAgICAgQVNTRVJUKCEob3BDb2RlICYgfm9wQ29k
ZU1hc2spKTsgLy8gQ2hlY2tzIHdoZXRoZXIgIm9wQ29kZSIgZml0cyBpbiB0aGUgcmFuZ2Ugb2Yg
b3BDb2Rlcy4KICAgICBXZWJTb2NrZXRGcmFtZSBmcmFtZShvcENvZGUsIHRydWUsIGZhbHNlLCB0
cnVlLCBkYXRhLCBkYXRhTGVuZ3RoKTsKLQotICAgIERlZmxhdGVSZXN1bHRIb2xkZXIgZGVmbGF0
ZVJlc3VsdCA9IG1fZGVmbGF0ZUZyYW1lci5kZWZsYXRlKGZyYW1lKTsKLSAgICBpZiAoIWRlZmxh
dGVSZXN1bHQuc3VjY2VlZGVkKCkpIHsKLSAgICAgICAgZmFpbChkZWZsYXRlUmVzdWx0LmZhaWx1
cmVSZWFzb24oKSk7Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0KICAgICBWZWN0b3I8
Y2hhcj4gZnJhbWVEYXRhOwogICAgIG1ha2VGcmFtZURhdGEoZnJhbWUsIGZyYW1lRGF0YSk7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5o
IGIvU291cmNlL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmgKaW5kZXggNmQx
ZmViYmNhMDZlMWVkN2Q1Y2VlMTUwZDg3NjBhZjc4MDQ2MjE2Ni4uNGJiMjhjOWYyYjA1YWYzNDk5
N2JlMDdhNjJmMTJiYzRlOTgzNTgxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd2Vic29j
a2V0cy9XZWJTb2NrZXRDaGFubmVsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd2Vic29ja2V0cy9X
ZWJTb2NrZXRDaGFubmVsLmgKQEAgLTM3LDcgKzM3LDYgQEAKICNpbmNsdWRlICJTb2NrZXRTdHJl
YW1IYW5kbGVDbGllbnQuaCIKICNpbmNsdWRlICJUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5o
IgogI2luY2x1ZGUgIlRpbWVyLmgiCi0jaW5jbHVkZSAiV2ViU29ja2V0RGVmbGF0ZUZyYW1lci5o
IgogI2luY2x1ZGUgIldlYlNvY2tldEZyYW1lLmgiCiAjaW5jbHVkZSAiV2ViU29ja2V0SGFuZHNo
YWtlLmgiCiAjaW5jbHVkZSA8d3RmL0RlcXVlLmg+CkBAIC0yMzIsOCArMjMxLDYgQEAgcHJpdmF0
ZToKICAgICBPd25QdHI8RmlsZVJlYWRlckxvYWRlcj4gbV9ibG9iTG9hZGVyOwogICAgIEJsb2JM
b2FkZXJTdGF0dXMgbV9ibG9iTG9hZGVyU3RhdHVzOwogI2VuZGlmCi0KLSAgICBXZWJTb2NrZXRE
ZWZsYXRlRnJhbWVyIG1fZGVmbGF0ZUZyYW1lcjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0RGVmbGF0
ZUZyYW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldERlZmxhdGVG
cmFtZXIuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwYzlkMzUzNmJhYjNlYjkw
OGNjYWM3M2Y0OGJjYTgzN2Y3NWM1ZWE2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0RGVmbGF0
ZUZyYW1lci5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwyNjIgKzAsMCBAQAotLyoKLSAqIENvcHly
aWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKLSAqIG1ldDoKLSAqCi0gKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgotICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZQotICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgotICogaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQotICogZGlzdHJpYnV0
aW9uLgotICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5h
bWVzIG9mIGl0cwotICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KLSAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwotICogIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QKLSAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUgotICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKLSAqIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAot
ICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVAotICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCi0gKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKLSAqIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29u
ZmlnLmgiCi0KLSNpZiBFTkFCTEUoV0VCX1NPQ0tFVFMpCi0KLSNpbmNsdWRlICJXZWJTb2NrZXRE
ZWZsYXRlRnJhbWVyLmgiCi0KLSNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0
Zi90ZXh0L1N0cmluZ0hhc2guaD4KLSNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KLQot
bmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBXZWJTb2NrZXRFeHRlbnNpb25EZWZsYXRlRnJh
bWUgOiBwdWJsaWMgV2ViU29ja2V0RXh0ZW5zaW9uUHJvY2Vzc29yIHsKLXB1YmxpYzoKLSAgICBz
dGF0aWMgUGFzc093blB0cjxXZWJTb2NrZXRFeHRlbnNpb25EZWZsYXRlRnJhbWU+IGNyZWF0ZShX
ZWJTb2NrZXREZWZsYXRlRnJhbWVyKiBmcmFtZXIpCi0gICAgewotICAgICAgICByZXR1cm4gYWRv
cHRQdHIobmV3IFdlYlNvY2tldEV4dGVuc2lvbkRlZmxhdGVGcmFtZShmcmFtZXIpKTsKLSAgICB9
Ci0gICAgdmlydHVhbCB+V2ViU29ja2V0RXh0ZW5zaW9uRGVmbGF0ZUZyYW1lKCkgeyB9Ci0KLSAg
ICB2aXJ0dWFsIFN0cmluZyBoYW5kc2hha2VTdHJpbmcoKSBPVkVSUklERTsKLSAgICB2aXJ0dWFs
IGJvb2wgcHJvY2Vzc1Jlc3BvbnNlKGNvbnN0IEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+JikgT1ZF
UlJJREU7Ci0gICAgdmlydHVhbCBTdHJpbmcgZmFpbHVyZVJlYXNvbigpIE9WRVJSSURFIHsgcmV0
dXJuIG1fZmFpbHVyZVJlYXNvbjsgfQotCi1wcml2YXRlOgotICAgIFdlYlNvY2tldEV4dGVuc2lv
bkRlZmxhdGVGcmFtZShXZWJTb2NrZXREZWZsYXRlRnJhbWVyKik7Ci0KLSAgICBXZWJTb2NrZXRE
ZWZsYXRlRnJhbWVyKiBtX2ZyYW1lcjsKLSAgICBib29sIG1fcmVzcG9uc2VQcm9jZXNzZWQ7Ci0g
ICAgU3RyaW5nIG1fZmFpbHVyZVJlYXNvbjsKLX07Ci0KLS8vIEZYSU1FOiBSZW1vdmUgdmVuZG9y
IHByZWZpeCBhZnRlciB0aGUgc3BlY2lmaWNhdGlvbiBtYXR1cmVkLgotV2ViU29ja2V0RXh0ZW5z
aW9uRGVmbGF0ZUZyYW1lOjpXZWJTb2NrZXRFeHRlbnNpb25EZWZsYXRlRnJhbWUoV2ViU29ja2V0
RGVmbGF0ZUZyYW1lciogZnJhbWVyKQotICAgIDogV2ViU29ja2V0RXh0ZW5zaW9uUHJvY2Vzc29y
KCJ4LXdlYmtpdC1kZWZsYXRlLWZyYW1lIikKLSAgICAsIG1fZnJhbWVyKGZyYW1lcikKLSAgICAs
IG1fcmVzcG9uc2VQcm9jZXNzZWQoZmFsc2UpCi17Ci0gICAgQVNTRVJUKG1fZnJhbWVyKTsKLX0K
LQotU3RyaW5nIFdlYlNvY2tldEV4dGVuc2lvbkRlZmxhdGVGcmFtZTo6aGFuZHNoYWtlU3RyaW5n
KCkKLXsKLSAgICByZXR1cm4gZXh0ZW5zaW9uVG9rZW4oKTsgLy8gTm8gcGFyYW1ldGVyCi19Ci0K
LWJvb2wgV2ViU29ja2V0RXh0ZW5zaW9uRGVmbGF0ZUZyYW1lOjpwcm9jZXNzUmVzcG9uc2UoY29u
c3QgSGFzaE1hcDxTdHJpbmcsIFN0cmluZz4mIHNlcnZlclBhcmFtZXRlcnMpCi17Ci0jaWYgVVNF
KFpMSUIpCi0gICAgaWYgKG1fcmVzcG9uc2VQcm9jZXNzZWQpIHsKLSAgICAgICAgbV9mYWlsdXJl
UmVhc29uID0gIlJlY2VpdmVkIGR1cGxpY2F0ZSBkZWZsYXRlLWZyYW1lIHJlc3BvbnNlIjsKLSAg
ICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLSAgICBtX3Jlc3BvbnNlUHJvY2Vzc2VkID0gdHJ1
ZTsKLQotICAgIGludCBleHBlY3RlZE51bVBhcmFtZXRlcnMgPSAwOwotICAgIGludCB3aW5kb3dC
aXRzID0gMTU7Ci0gICAgSGFzaE1hcDxTdHJpbmcsIFN0cmluZz46OmNvbnN0X2l0ZXJhdG9yIHBh
cmFtZXRlciA9IHNlcnZlclBhcmFtZXRlcnMuZmluZCgibWF4X3dpbmRvd19iaXRzIik7Ci0gICAg
aWYgKHBhcmFtZXRlciAhPSBzZXJ2ZXJQYXJhbWV0ZXJzLmVuZCgpKSB7Ci0gICAgICAgIHdpbmRv
d0JpdHMgPSBwYXJhbWV0ZXItPnNlY29uZC50b0ludCgpOwotICAgICAgICBpZiAod2luZG93Qml0
cyA8IDggfHwgd2luZG93Qml0cyA+IDE1KSB7Ci0gICAgICAgICAgICBtX2ZhaWx1cmVSZWFzb24g
PSAiUmVjZWl2ZWQgaW52YWxpZCBtYXhfd2luZG93X2JpdHMgcGFyYW1ldGVyIjsKLSAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgfQotICAgICAgICBleHBlY3RlZE51bVBhcmFtZXRl
cnMrKzsKLSAgICB9Ci0KLSAgICBXZWJTb2NrZXREZWZsYXRlcjo6Q29udGV4dFRha2VPdmVyTW9k
ZSBtb2RlID0gV2ViU29ja2V0RGVmbGF0ZXI6OlRha2VPdmVyQ29udGV4dDsKLSAgICBwYXJhbWV0
ZXIgPSBzZXJ2ZXJQYXJhbWV0ZXJzLmZpbmQoIm5vX2NvbnRleHRfdGFrZW92ZXIiKTsKLSAgICBp
ZiAocGFyYW1ldGVyICE9IHNlcnZlclBhcmFtZXRlcnMuZW5kKCkpIHsKLSAgICAgICAgaWYgKCFw
YXJhbWV0ZXItPnNlY29uZC5pc051bGwoKSkgewotICAgICAgICAgICAgbV9mYWlsdXJlUmVhc29u
ID0gIlJlY2VpdmVkIGludmFsaWQgbm9fY29udGV4dF90YWtlb3ZlciBwYXJhbWV0ZXIiOwotICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICB9Ci0gICAgICAgIG1vZGUgPSBXZWJTb2Nr
ZXREZWZsYXRlcjo6RG9Ob3RUYWtlT3ZlckNvbnRleHQ7Ci0gICAgICAgIGV4cGVjdGVkTnVtUGFy
YW1ldGVycysrOwotICAgIH0KLQotICAgIGlmIChleHBlY3RlZE51bVBhcmFtZXRlcnMgIT0gc2Vy
dmVyUGFyYW1ldGVycy5zaXplKCkpIHsKLSAgICAgICAgbV9mYWlsdXJlUmVhc29uID0gIlJlY2Vp
dmVkIHVuZXhwZWN0ZWQgZGVmbGF0ZS1mcmFtZSBwYXJhbWV0ZXIiOwotICAgICAgICByZXR1cm4g
ZmFsc2U7Ci0gICAgfQotCi0gICAgbV9mcmFtZXItPmVuYWJsZURlZmxhdGUod2luZG93Qml0cywg
bW9kZSk7Ci0gICAgcmV0dXJuIHRydWU7Ci0jZWxzZQotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OwotICAgIHJldHVybiBmYWxzZTsKLSNlbmRpZgotfQotCi1EZWZsYXRlUmVzdWx0SG9sZGVyOjpE
ZWZsYXRlUmVzdWx0SG9sZGVyKFdlYlNvY2tldERlZmxhdGVGcmFtZXIqIGZyYW1lcikKLSAgICA6
IG1fZnJhbWVyKGZyYW1lcikKLSAgICAsIG1fc3VjY2VlZGVkKHRydWUpCi17Ci0gICAgQVNTRVJU
KG1fZnJhbWVyKTsKLX0KLQotRGVmbGF0ZVJlc3VsdEhvbGRlcjo6fkRlZmxhdGVSZXN1bHRIb2xk
ZXIoKQotewotICAgIG1fZnJhbWVyLT5yZXNldERlZmxhdGVDb250ZXh0KCk7Ci19Ci0KLXZvaWQg
RGVmbGF0ZVJlc3VsdEhvbGRlcjo6ZmFpbChjb25zdCBTdHJpbmcmIGZhaWx1cmVSZWFzb24pCi17
Ci0gICAgbV9zdWNjZWVkZWQgPSBmYWxzZTsKLSAgICBtX2ZhaWx1cmVSZWFzb24gPSBmYWlsdXJl
UmVhc29uOwotfQotCi1JbmZsYXRlUmVzdWx0SG9sZGVyOjpJbmZsYXRlUmVzdWx0SG9sZGVyKFdl
YlNvY2tldERlZmxhdGVGcmFtZXIqIGZyYW1lcikKLSAgICA6IG1fZnJhbWVyKGZyYW1lcikKLSAg
ICAsIG1fc3VjY2VlZGVkKHRydWUpCi17Ci0gICAgQVNTRVJUKG1fZnJhbWVyKTsKLX0KLQotSW5m
bGF0ZVJlc3VsdEhvbGRlcjo6fkluZmxhdGVSZXN1bHRIb2xkZXIoKQotewotICAgIG1fZnJhbWVy
LT5yZXNldEluZmxhdGVDb250ZXh0KCk7Ci19Ci0KLXZvaWQgSW5mbGF0ZVJlc3VsdEhvbGRlcjo6
ZmFpbChjb25zdCBTdHJpbmcmIGZhaWx1cmVSZWFzb24pCi17Ci0gICAgbV9zdWNjZWVkZWQgPSBm
YWxzZTsKLSAgICBtX2ZhaWx1cmVSZWFzb24gPSBmYWlsdXJlUmVhc29uOwotfQotCi1XZWJTb2Nr
ZXREZWZsYXRlRnJhbWVyOjpXZWJTb2NrZXREZWZsYXRlRnJhbWVyKCkKLSAgICA6IG1fZW5hYmxl
ZChmYWxzZSkKLXsKLX0KLQotUGFzc093blB0cjxXZWJTb2NrZXRFeHRlbnNpb25Qcm9jZXNzb3I+
IFdlYlNvY2tldERlZmxhdGVGcmFtZXI6OmNyZWF0ZUV4dGVuc2lvblByb2Nlc3NvcigpCi17Ci0g
ICAgcmV0dXJuIFdlYlNvY2tldEV4dGVuc2lvbkRlZmxhdGVGcmFtZTo6Y3JlYXRlKHRoaXMpOwot
fQotCi1ib29sIFdlYlNvY2tldERlZmxhdGVGcmFtZXI6OmNhbkRlZmxhdGUoKSBjb25zdAotewot
I2lmIFVTRShaTElCKQotICAgIHJldHVybiB0cnVlOwotI2Vsc2UKLSAgICByZXR1cm4gZmFsc2U7
Ci0jZW5kaWYKLX0KLQotI2lmIFVTRShaTElCKQotdm9pZCBXZWJTb2NrZXREZWZsYXRlRnJhbWVy
OjplbmFibGVEZWZsYXRlKGludCB3aW5kb3dCaXRzLCBXZWJTb2NrZXREZWZsYXRlcjo6Q29udGV4
dFRha2VPdmVyTW9kZSBtb2RlKQotewotICAgIG1fZGVmbGF0ZXIgPSBXZWJTb2NrZXREZWZsYXRl
cjo6Y3JlYXRlKHdpbmRvd0JpdHMsIG1vZGUpOwotICAgIG1faW5mbGF0ZXIgPSBXZWJTb2NrZXRJ
bmZsYXRlcjo6Y3JlYXRlKCk7Ci0gICAgaWYgKCFtX2RlZmxhdGVyIHx8ICFtX2luZmxhdGVyKSB7
Ci0gICAgICAgIG1fZGVmbGF0ZXIuY2xlYXIoKTsKLSAgICAgICAgbV9pbmZsYXRlci5jbGVhcigp
OwotICAgICAgICByZXR1cm47Ci0gICAgfQotICAgIGlmICghbV9kZWZsYXRlci0+aW5pdGlhbGl6
ZSgpIHx8ICFtX2luZmxhdGVyLT5pbml0aWFsaXplKCkpIHsKLSAgICAgICAgbV9kZWZsYXRlci5j
bGVhcigpOwotICAgICAgICBtX2luZmxhdGVyLmNsZWFyKCk7Ci0gICAgICAgIHJldHVybjsKLSAg
ICB9Ci0gICAgbV9lbmFibGVkID0gdHJ1ZTsKLX0KLSNlbmRpZgotCi1EZWZsYXRlUmVzdWx0SG9s
ZGVyIFdlYlNvY2tldERlZmxhdGVGcmFtZXI6OmRlZmxhdGUoV2ViU29ja2V0RnJhbWUmIGZyYW1l
KQotewotI2lmIFVTRShaTElCKQotICAgIERlZmxhdGVSZXN1bHRIb2xkZXIgcmVzdWx0KHRoaXMp
OwotICAgIGlmICghZW5hYmxlZCgpIHx8ICFXZWJTb2NrZXRGcmFtZTo6aXNOb25Db250cm9sT3BD
b2RlKGZyYW1lLm9wQ29kZSkgfHwgIWZyYW1lLnBheWxvYWRMZW5ndGgpCi0gICAgICAgIHJldHVy
biByZXN1bHQ7Ci0gICAgaWYgKCFtX2RlZmxhdGVyLT5hZGRCeXRlcyhmcmFtZS5wYXlsb2FkLCBm
cmFtZS5wYXlsb2FkTGVuZ3RoKSB8fCAhbV9kZWZsYXRlci0+ZmluaXNoKCkpIHsKLSAgICAgICAg
cmVzdWx0LmZhaWwoIkZhaWxlZCB0byBjb21wcmVzcyBmcmFtZSIpOwotICAgICAgICByZXR1cm4g
cmVzdWx0OwotICAgIH0KLSAgICBmcmFtZS5jb21wcmVzcyA9IHRydWU7Ci0gICAgZnJhbWUucGF5
bG9hZCA9IG1fZGVmbGF0ZXItPmRhdGEoKTsKLSAgICBmcmFtZS5wYXlsb2FkTGVuZ3RoID0gbV9k
ZWZsYXRlci0+c2l6ZSgpOwotICAgIHJldHVybiByZXN1bHQ7Ci0jZWxzZQotICAgIHJldHVybiBE
ZWZsYXRlUmVzdWx0SG9sZGVyKHRoaXMpOwotI2VuZGlmCi19Ci0KLXZvaWQgV2ViU29ja2V0RGVm
bGF0ZUZyYW1lcjo6cmVzZXREZWZsYXRlQ29udGV4dCgpCi17Ci0jaWYgVVNFKFpMSUIpCi0gICAg
aWYgKG1fZGVmbGF0ZXIpCi0gICAgICAgIG1fZGVmbGF0ZXItPnJlc2V0KCk7Ci0jZW5kaWYKLX0K
LQotSW5mbGF0ZVJlc3VsdEhvbGRlciBXZWJTb2NrZXREZWZsYXRlRnJhbWVyOjppbmZsYXRlKFdl
YlNvY2tldEZyYW1lJiBmcmFtZSkKLXsKLSNpZiBVU0UoWkxJQikKLSAgICBJbmZsYXRlUmVzdWx0
SG9sZGVyIHJlc3VsdCh0aGlzKTsKLSAgICBpZiAoIWZyYW1lLmNvbXByZXNzKQotICAgICAgICBy
ZXR1cm4gcmVzdWx0OwotICAgIGlmICghZW5hYmxlZCgpIHx8ICFXZWJTb2NrZXRGcmFtZTo6aXNO
b25Db250cm9sT3BDb2RlKGZyYW1lLm9wQ29kZSkpIHsKLSAgICAgICAgcmVzdWx0LmZhaWwoIlJl
Y2VpdmVkIHVuZXhwZWN0ZWQgY29tcHJlc3NlZCBmcmFtZSIpOwotICAgICAgICByZXR1cm4gcmVz
dWx0OwotICAgIH0KLSAgICBpZiAoIW1faW5mbGF0ZXItPmFkZEJ5dGVzKGZyYW1lLnBheWxvYWQs
IGZyYW1lLnBheWxvYWRMZW5ndGgpIHx8ICFtX2luZmxhdGVyLT5maW5pc2goKSkgewotICAgICAg
ICByZXN1bHQuZmFpbCgiRmFpbGVkIHRvIGRlY29tcHJlc3MgZnJhbWUiKTsKLSAgICAgICAgcmV0
dXJuIHJlc3VsdDsKLSAgICB9Ci0gICAgZnJhbWUuY29tcHJlc3MgPSBmYWxzZTsKLSAgICBmcmFt
ZS5wYXlsb2FkID0gbV9pbmZsYXRlci0+ZGF0YSgpOwotICAgIGZyYW1lLnBheWxvYWRMZW5ndGgg
PSBtX2luZmxhdGVyLT5zaXplKCk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLSNlbHNlCi0gICAgcmV0
dXJuIEluZmxhdGVSZXN1bHRIb2xkZXIodGhpcyk7Ci0jZW5kaWYKLX0KLQotdm9pZCBXZWJTb2Nr
ZXREZWZsYXRlRnJhbWVyOjpyZXNldEluZmxhdGVDb250ZXh0KCkKLXsKLSNpZiBVU0UoWkxJQikK
LSAgICBpZiAobV9pbmZsYXRlcikKLSAgICAgICAgbV9pbmZsYXRlci0+cmVzZXQoKTsKLSNlbmRp
ZgotfQotCi12b2lkIFdlYlNvY2tldERlZmxhdGVGcmFtZXI6OmRpZEZhaWwoKQotewotICAgIHJl
c2V0RGVmbGF0ZUNvbnRleHQoKTsKLSAgICByZXNldEluZmxhdGVDb250ZXh0KCk7Ci19Ci0KLX0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIEVOQUJMRShXRUJfU09DS0VUUykKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0RGVmbGF0ZUZyYW1l
ci5oIGIvU291cmNlL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXREZWZsYXRlRnJhbWVyLmgK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhlOGJhODM5MDNmNWEyYjZkZTA3ODA3MmMz
ZmQ1NzI3ZjcyZTdiZTYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvU291cmNlL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXREZWZsYXRlRnJhbWVyLmgK
KysrIC9kZXYvbnVsbApAQCAtMSwxMTIgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAx
MiBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUKLSAqIG1ldDoKLSAqCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICog
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZQotICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgotICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQotICogZGlzdHJpYnV0aW9uLgotICogICAg
ICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwot
ICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20KLSAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwotICogIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUgotICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKLSAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAotICogU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAot
ICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsCi0gKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKLSAqIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIFdlYlNvY2tldERlZmxhdGVG
cmFtZXJfaAotI2RlZmluZSBXZWJTb2NrZXREZWZsYXRlRnJhbWVyX2gKLQotI2lmIEVOQUJMRShX
RUJfU09DS0VUUykKLQotI2lmIFVTRShaTElCKQotI2luY2x1ZGUgIldlYlNvY2tldERlZmxhdGVy
LmgiCi0jZW5kaWYKLSNpbmNsdWRlICJXZWJTb2NrZXRFeHRlbnNpb25Qcm9jZXNzb3IuaCIKLSNp
bmNsdWRlICJXZWJTb2NrZXRGcmFtZS5oIgotI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KLSNpbmNs
dWRlIDx3dGYvUGFzc093blB0ci5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIFdl
YlNvY2tldERlZmxhdGVGcmFtZXI7Ci0KLWNsYXNzIERlZmxhdGVSZXN1bHRIb2xkZXIgewotcHVi
bGljOgotICAgIGV4cGxpY2l0IERlZmxhdGVSZXN1bHRIb2xkZXIoV2ViU29ja2V0RGVmbGF0ZUZy
YW1lciopOwotICAgIH5EZWZsYXRlUmVzdWx0SG9sZGVyKCk7Ci0KLSAgICBib29sIHN1Y2NlZWRl
ZCgpIGNvbnN0IHsgcmV0dXJuIG1fc3VjY2VlZGVkOyB9Ci0gICAgU3RyaW5nIGZhaWx1cmVSZWFz
b24oKSBjb25zdCB7IHJldHVybiBtX2ZhaWx1cmVSZWFzb247IH0KLQotICAgIHZvaWQgZmFpbChj
b25zdCBTdHJpbmcmIGZhaWx1cmVSZWFzb24pOwotCi1wcml2YXRlOgotICAgIFdlYlNvY2tldERl
ZmxhdGVGcmFtZXIqIG1fZnJhbWVyOwotICAgIGJvb2wgbV9zdWNjZWVkZWQ7Ci0gICAgU3RyaW5n
IG1fZmFpbHVyZVJlYXNvbjsKLX07Ci0KLWNsYXNzIEluZmxhdGVSZXN1bHRIb2xkZXIgewotcHVi
bGljOgotICAgIGV4cGxpY2l0IEluZmxhdGVSZXN1bHRIb2xkZXIoV2ViU29ja2V0RGVmbGF0ZUZy
YW1lciopOwotICAgIH5JbmZsYXRlUmVzdWx0SG9sZGVyKCk7Ci0KLSAgICBib29sIHN1Y2NlZWRl
ZCgpIGNvbnN0IHsgcmV0dXJuIG1fc3VjY2VlZGVkOyB9Ci0gICAgU3RyaW5nIGZhaWx1cmVSZWFz
b24oKSBjb25zdCB7IHJldHVybiBtX2ZhaWx1cmVSZWFzb247IH0KLQotICAgIHZvaWQgZmFpbChj
b25zdCBTdHJpbmcmIGZhaWx1cmVSZWFzb24pOwotCi1wcml2YXRlOgotICAgIFdlYlNvY2tldERl
ZmxhdGVGcmFtZXIqIG1fZnJhbWVyOwotICAgIGJvb2wgbV9zdWNjZWVkZWQ7Ci0gICAgU3RyaW5n
IG1fZmFpbHVyZVJlYXNvbjsKLX07Ci0KLWNsYXNzIFdlYlNvY2tldERlZmxhdGVGcmFtZXIgewot
cHVibGljOgotICAgIFdlYlNvY2tldERlZmxhdGVGcmFtZXIoKTsKLQotICAgIFBhc3NPd25QdHI8
V2ViU29ja2V0RXh0ZW5zaW9uUHJvY2Vzc29yPiBjcmVhdGVFeHRlbnNpb25Qcm9jZXNzb3IoKTsK
LQotICAgIGJvb2wgY2FuRGVmbGF0ZSgpIGNvbnN0OwotICAgIGJvb2wgZW5hYmxlZCgpIGNvbnN0
IHsgcmV0dXJuIG1fZW5hYmxlZDsgfQotCi0gICAgRGVmbGF0ZVJlc3VsdEhvbGRlciBkZWZsYXRl
KFdlYlNvY2tldEZyYW1lJik7Ci0gICAgdm9pZCByZXNldERlZmxhdGVDb250ZXh0KCk7Ci0gICAg
SW5mbGF0ZVJlc3VsdEhvbGRlciBpbmZsYXRlKFdlYlNvY2tldEZyYW1lJik7Ci0gICAgdm9pZCBy
ZXNldEluZmxhdGVDb250ZXh0KCk7Ci0KLSAgICB2b2lkIGRpZEZhaWwoKTsKLQotI2lmIFVTRSha
TElCKQotICAgIHZvaWQgZW5hYmxlRGVmbGF0ZShpbnQgd2luZG93Qml0cywgV2ViU29ja2V0RGVm
bGF0ZXI6OkNvbnRleHRUYWtlT3Zlck1vZGUpOwotI2VuZGlmCi0KLXByaXZhdGU6Ci0gICAgYm9v
bCBtX2VuYWJsZWQ7Ci0jaWYgVVNFKFpMSUIpCi0gICAgT3duUHRyPFdlYlNvY2tldERlZmxhdGVy
PiBtX2RlZmxhdGVyOwotICAgIE93blB0cjxXZWJTb2NrZXRJbmZsYXRlcj4gbV9pbmZsYXRlcjsK
LSNlbmRpZgotfTsKLQotfQotCi0jZW5kaWYgLy8gRU5BQkxFKFdFQl9TT0NLRVRTKQotCi0jZW5k
aWYgLy8gV2ViU29ja2V0RGVmbGF0ZUZyYW1lcl9oCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMjYxZDNjNTA3OTM5YTY1NGFj
MGYyN2Q4Njg1OTJkMDYzMTU3MzNkYi4uMDllM2E4ZTIwMTFjODkxOGNmYzM1Zjc4NzczZTgxNmZk
OTJhOTMwNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEyLTAyLTI0ICBTaGVyaWZmIEJvdCAg
PHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KKworICAgICAgICBVbnJldmlld2VkLCByb2xs
aW5nIG91dCByMTA4NzMxLgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNl
dC8xMDg3MzEKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTc5NDY0CisKKyAgICAgICAgQnJva2UgQ2hyb21pdW0gV2luIHRlc3RzIChSZXF1ZXN0ZWQgYnkg
YmFzaGkgb24gI3dlYmtpdCkuCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0
cy9oeWJpL2NvbXByZXNzZWQtY29udHJvbC1mcmFtZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9jb21wcmVzc2VkLWNvbnRy
b2wtZnJhbWUuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90
ZXN0cy9oeWJpL2NvbXByZXNzZWQtY29udHJvbC1mcmFtZV93c2gucHk6IFJlbW92ZWQuCisgICAg
ICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9kZWZsYXRlLWZyYW1lLWNvbXAt
Yml0LW9ub2ZmLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dl
YnNvY2tldC90ZXN0cy9oeWJpL2RlZmxhdGUtZnJhbWUtY29tcC1iaXQtb25vZmYuaHRtbDogUmVt
b3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2RlZmxhdGUt
ZnJhbWUtaW52YWxpZC1wYXJhbWV0ZXItZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAq
IGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvZGVmbGF0ZS1mcmFtZS1pbnZhbGlkLXBh
cmFtZXRlci5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rl
c3RzL2h5YmkvZGVmbGF0ZS1mcmFtZS1pbnZhbGlkLXBhcmFtZXRlcl93c2gucHk6IFJlbW92ZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9kZWZsYXRlLWZyYW1l
LXBhcmFtZXRlci1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93
ZWJzb2NrZXQvdGVzdHMvaHliaS9kZWZsYXRlLWZyYW1lLXBhcmFtZXRlci5odG1sOiBSZW1vdmVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvZGVmbGF0ZS1mcmFt
ZV93c2gucHk6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMv
aHliaS9oYW5kc2hha2UtZmFpbC1ieS1leHRlbnNpb25zLWhlYWRlci1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9zZW5kLWZpbGUtYmxvYl93
c2gucHk6CisgICAgICAgICh3ZWJfc29ja2V0X3RyYW5zZmVyX2RhdGEpOgorCiAyMDEyLTAyLTI0
ICBNaWtlIExhd3RoZXIgIDxtaWtlbGF3dGhlckBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgQ1NT
MyBjYWxjKCk6IGhhbmRsZSBub24tbmVnYXRpdmUgdmFsdWVzCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2NvbXByZXNzZWQtY29udHJvbC1m
cmFtZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0
cy9oeWJpL2NvbXByZXNzZWQtY29udHJvbC1mcmFtZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDY0MWVjNDczZDZiZTIxYzFjMDYwMTAyOWZmYzVmYTM5Y2NiZjM4
MjQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9jb21wcmVzc2VkLWNvbnRyb2wt
ZnJhbWUtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotQ09OU09M
RSBNRVNTQUdFOiBSZWNlaXZlZCB1bmV4cGVjdGVkIGNvbXByZXNzZWQgZnJhbWUKLVRlc3Qgd2hl
dGhlciBhIGNvbXByZXNzZWQgY29udHJvbCBmcmFtZSBpcyByZWplY3RlZAotCi1PbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCi0KLW9ub3BlbigpIHdhcyBjYWxsZWQuCi1vbmNsb3NlKCkgd2FzIGNh
bGxlZC4KLVBBU1MgY2xvc2VFdmVudC53YXNDbGVhbiBpcyBmYWxzZQotUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvY29tcHJlc3NlZC1jb250cm9sLWZy
YW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2Nv
bXByZXNzZWQtY29udHJvbC1mcmFtZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCBiMjA4OGM3OTliZTQxMWMxMjI4MTJhNTA5NDJmYTgzOTgzODAwOWE0Li4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
d2Vic29ja2V0L3Rlc3RzL2h5YmkvY29tcHJlc3NlZC1jb250cm9sLWZyYW1lLmh0bWwKKysrIC9k
ZXYvbnVsbApAQCAtMSw0MSArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+
Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2Ny
aXB0Ij4KLWRlc2NyaXB0aW9uKCJUZXN0IHdoZXRoZXIgYSBjb21wcmVzc2VkIGNvbnRyb2wgZnJh
bWUgaXMgcmVqZWN0ZWQiKTsKLQotd2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOwotaWYgKHdp
bmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5vdmVy
cmlkZVByZWZlcmVuY2UoIldlYktpdEhpeGllNzZXZWJTb2NrZXRQcm90b2NvbEVuYWJsZWQiLCAw
KTsKLQotdmFyIHdzID0gbmV3IFdlYlNvY2tldCgid3M6Ly8xMjcuMC4wLjE6ODg4MC93ZWJzb2Nr
ZXQvdGVzdHMvaHliaS9jb21wcmVzc2VkLWNvbnRyb2wtZnJhbWUiKTsKLXZhciBjbG9zZUV2ZW50
OwotCi13cy5vbm9wZW4gPSBmdW5jdGlvbigpCi17Ci0gICAgZGVidWcoIm9ub3BlbigpIHdhcyBj
YWxsZWQuIik7Ci19OwotCi13cy5vbm1lc3NhZ2UgPSBmdW5jdGlvbihldmVudCkKLXsKLSAgICB2
YXIgbWVzc2FnZSA9IGV2ZW50LmRhdGE7Ci0gICAgdGVzdEZhaWxlZCgib25tZXNzYWdlKCkgd2Fz
IGNhbGxlZC4gKG1lc3NhZ2UgPSBcIiIgKyBtZXNzYWdlICsgIlwiKSIpOwotfTsKLQotd3Mub25j
bG9zZSA9IGZ1bmN0aW9uKGV2ZW50KQotewotICAgIGRlYnVnKCJvbmNsb3NlKCkgd2FzIGNhbGxl
ZC4iKTsKLSAgICBjbG9zZUV2ZW50ID0gZXZlbnQ7Ci0gICAgc2hvdWxkQmVGYWxzZSgiY2xvc2VF
dmVudC53YXNDbGVhbiIpOwotICAgIGZpbmlzaEpTVGVzdCgpOwotfTsKLQotPC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvY29tcHJlc3NlZC1jb250cm9sLWZyYW1lX3dz
aC5weSBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvY29tcHJl
c3NlZC1jb250cm9sLWZyYW1lX3dzaC5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
OGUxMmU5YzQ1MjJiMzE4NTg3ODQ2ZmIxNjAxNjE5NzlhOGIzYjJhYy4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dl
YnNvY2tldC90ZXN0cy9oeWJpL2NvbXByZXNzZWQtY29udHJvbC1mcmFtZV93c2gucHkKKysrIC9k
ZXYvbnVsbApAQCAtMSw0OCArMCwwIEBACi0jIENvcHlyaWdodCAyMDEyLCBHb29nbGUgSW5jLiAg
QWxsIHJpZ2h0cyByZXNlcnZlZC4KLSMKLSMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0jIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKLSMg
bWV0OgotIwotIyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAotIyBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0jICAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKLSMgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgot
IyBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlCi0jIGRpc3RyaWJ1dGlvbi4KLSMgICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29n
bGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwotIyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQotIyB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotIwotIyBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTCi0jICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UCi0jIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgotIyBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAotIyBPV05F
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwKLSMgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVAotIyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKLSMgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCi0jIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKLSMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0jIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0KLQotZnJvbSBtb2RfcHl3
ZWJzb2NrZXQgaW1wb3J0IGNvbW1vbgotZnJvbSBtb2RfcHl3ZWJzb2NrZXQgaW1wb3J0IHN0cmVh
bQotaW1wb3J0IHpsaWIKLQotCi1kZWYgd2ViX3NvY2tldF9kb19leHRyYV9oYW5kc2hha2UocmVx
dWVzdCk6Ci0gICAgcGFzcwotCi0KLWRlZiB3ZWJfc29ja2V0X3RyYW5zZmVyX2RhdGEocmVxdWVz
dCk6Ci0gICAgY29tcHJlc3MgPSB6bGliLmNvbXByZXNzb2JqKAotICAgICAgICB6bGliLlpfREVG
QVVMVF9DT01QUkVTU0lPTiwgemxpYi5ERUZMQVRFRCwgLXpsaWIuTUFYX1dCSVRTKQotICAgIGNv
bXByZXNzZWRfbWVzc2FnZSA9IGNvbXByZXNzLmNvbXByZXNzKCdjbG9zZSBtZXNzYWdlJykKLSAg
ICBjb21wcmVzc2VkX21lc3NhZ2UgKz0gY29tcHJlc3MuZmx1c2goemxpYi5aX1NZTkNfRkxVU0gp
Ci0gICAgY29tcHJlc3NlZF9tZXNzYWdlID0gY29tcHJlc3NlZF9tZXNzYWdlWzotNF0KLSAgICBo
ZWFkZXIgPSBzdHJlYW0uY3JlYXRlX2hlYWRlcigKLSAgICAgICAgb3Bjb2RlPWNvbW1vbi5PUENP
REVfQ0xPU0UsIHBheWxvYWRfbGVuZ3RoPWxlbihjb21wcmVzc2VkX21lc3NhZ2UpLAotICAgICAg
ICBmaW49MSwgcnN2MT0xLCByc3YyPTAsIHJzdjM9MCwgbWFzaz1GYWxzZSkKLSAgICByZXF1ZXN0
LmNvbm5lY3Rpb24ud3JpdGUoaGVhZGVyICsgY29tcHJlc3NlZF9tZXNzYWdlKQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9kZWZsYXRlLWZy
YW1lLWNvbXAtYml0LW9ub2ZmLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
d2Vic29ja2V0L3Rlc3RzL2h5YmkvZGVmbGF0ZS1mcmFtZS1jb21wLWJpdC1vbm9mZi1leHBlY3Rl
ZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU2MmZlZjNkZTZmMGZlNDA4MGVh
MmQzNTIzZjI5NWI0Mzg2MjNmMzMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9k
ZWZsYXRlLWZyYW1lLWNvbXAtYml0LW9ub2ZmLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBA
IC0xLDIwICswLDAgQEAKLVRlc3QgY29tcHJlc3Npb24gZW5hYmxlZC9kaXNhYmxlZCBmcmFtZSBy
ZWNlaXZpbmcuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotU2VuZGluZyBtZXNzYWdl
OiAiSGVsbG8iCi1QQVNTIGV2ZW50LmRhdGEgaXMgJ0hlbGxvJwotU2VuZGluZyBtZXNzYWdlOiAi
RGlzYWJsZUNvbXByZXNzaW9uIgotUEFTUyBldmVudC5kYXRhIGlzICdEaXNhYmxlQ29tcHJlc3Np
b24nCi1TZW5kaW5nIG1lc3NhZ2U6ICJXb3JsZCIKLVBBU1MgZXZlbnQuZGF0YSBpcyAnV29ybGQn
Ci1TZW5kaW5nIG1lc3NhZ2U6ICJFbmFibGVDb21wcmVzc2lvbiIKLVBBU1MgZXZlbnQuZGF0YSBp
cyAnRW5hYmxlQ29tcHJlc3Npb24nCi1TZW5kaW5nIG1lc3NhZ2U6ICJHb29kYnllIgotUEFTUyBl
dmVudC5kYXRhIGlzICdHb29kYnllJwotb25jbG9zZSgpIHdhcyBjYWxsZWQuCi1QQVNTIGNsb3Nl
RXZlbnQud2FzQ2xlYW4gaXMgdHJ1ZQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQot
Ci1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vi
c29ja2V0L3Rlc3RzL2h5YmkvZGVmbGF0ZS1mcmFtZS1jb21wLWJpdC1vbm9mZi5odG1sIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9kZWZsYXRlLWZyYW1lLWNv
bXAtYml0LW9ub2ZmLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDUzMmFjNTdi
YjhmOGJiOTA2ZmFhNDJiNDMzNGJmMmZjMjc4YTY3NjkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQv
dGVzdHMvaHliaS9kZWZsYXRlLWZyYW1lLWNvbXAtYml0LW9ub2ZmLmh0bWwKKysrIC9kZXYvbnVs
bApAQCAtMSw2MCArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgotPGhlYWQ+Ci08c2Ny
aXB0IHNyYz0iLi4vLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Ci08
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQ+Ci1kZXNjcmlwdGlvbigiVGVzdCBjb21w
cmVzc2lvbiBlbmFibGVkL2Rpc2FibGVkIGZyYW1lIHJlY2VpdmluZy4iKTsKLQotd2luZG93Lmpz
VGVzdElzQXN5bmMgPSB0cnVlOwotaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdEhpeGllNzZX
ZWJTb2NrZXRQcm90b2NvbEVuYWJsZWQiLCAwKTsKLQotdmFyIGNsb3NlRXZlbnQ7Ci12YXIgd3M7
Ci12YXIgbWVzc2FnZUluZGV4OwotCi12YXIgbWVzc2FnZXMgPSBbCi0gICAgIkhlbGxvIiwKLSAg
ICAiRGlzYWJsZUNvbXByZXNzaW9uIiwgLy8gVGhpcyBkaXNhYmxlcyBjb21wcmVzc2lvbgotICAg
ICJXb3JsZCIsCi0gICAgIkVuYWJsZUNvbXByZXNzaW9uIiwgLy8gVGhpcyBlbmFibGVzIGNvbXBy
ZXNzaW9uCi0gICAgIkdvb2RieWUiCi1dOwotCi13cyA9IG5ldyBXZWJTb2NrZXQoIndzOi8vbG9j
YWxob3N0Ojg4ODAvd2Vic29ja2V0L3Rlc3RzL2h5YmkvZGVmbGF0ZS1mcmFtZSIpOwotCi13cy5v
bm9wZW4gPSBmdW5jdGlvbihldmVudCkKLXsKLSAgICBtZXNzYWdlSW5kZXggPSAwOwotICAgIGRl
YnVnKCJTZW5kaW5nIG1lc3NhZ2U6IFwiIiArIG1lc3NhZ2VzW21lc3NhZ2VJbmRleF0gKyAiXCIi
KTsKLSAgICB3cy5zZW5kKG1lc3NhZ2VzW21lc3NhZ2VJbmRleF0pOwotfTsKLQotd3Mub25tZXNz
YWdlID0gZnVuY3Rpb24oZXZlbnQpCi17Ci0gICAgc2hvdWxkQmUoImV2ZW50LmRhdGEiLCAiJyIg
KyBtZXNzYWdlc1ttZXNzYWdlSW5kZXhdICsgIiciKTsKLSAgICBpZiAobWVzc2FnZUluZGV4ID09
PSBtZXNzYWdlcy5sZW5ndGggLSAxKQotICAgICAgICB3cy5jbG9zZSgpOwotICAgIGVsc2Ugewot
ICAgICAgICBtZXNzYWdlSW5kZXggKz0gMTsKLSAgICAgICAgZGVidWcoIlNlbmRpbmcgbWVzc2Fn
ZTogXCIiICsgbWVzc2FnZXNbbWVzc2FnZUluZGV4XSArICJcIiIpOwotICAgICAgICB3cy5zZW5k
KG1lc3NhZ2VzW21lc3NhZ2VJbmRleF0pOwotICAgIH0KLX07Ci0KLXdzLm9uY2xvc2UgPSBmdW5j
dGlvbihldmVudCkKLXsKLSAgICBkZWJ1Zygib25jbG9zZSgpIHdhcyBjYWxsZWQuIik7Ci0gICAg
Y2xvc2VFdmVudCA9IGV2ZW50OwotICAgIHNob3VsZEJlVHJ1ZSgiY2xvc2VFdmVudC53YXNDbGVh
biIpOwotICAgIGZpbmlzaEpTVGVzdCgpOwotfTsKLQotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
Li4vLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
LTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vi
c29ja2V0L3Rlc3RzL2h5YmkvZGVmbGF0ZS1mcmFtZS1pbnZhbGlkLXBhcmFtZXRlci1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2RlZmxh
dGUtZnJhbWUtaW52YWxpZC1wYXJhbWV0ZXItZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA4M2EyNGQyOGNjMjMzYjdhNWY2MzQ5M2I5NWQwZjgxYmE3ZjM0ZGIyLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvZGVmbGF0ZS1mcmFtZS1pbnZhbGlkLXBh
cmFtZXRlci1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwyOCArMCwwIEBACi1DT05T
T0xFIE1FU1NBR0U6IFJlY2VpdmVkIHVuZXhwZWN0ZWQgZGVmbGF0ZS1mcmFtZSBwYXJhbWV0ZXIK
LUNPTlNPTEUgTUVTU0FHRTogUmVjZWl2ZWQgaW52YWxpZCBtYXhfd2luZG93X2JpdHMgcGFyYW1l
dGVyCi1DT05TT0xFIE1FU1NBR0U6IFJlY2VpdmVkIGludmFsaWQgbWF4X3dpbmRvd19iaXRzIHBh
cmFtZXRlcgotQ09OU09MRSBNRVNTQUdFOiBSZWNlaXZlZCBpbnZhbGlkIG5vX2NvbnRleHRfdGFr
ZW92ZXIgcGFyYW1ldGVyCi1DT05TT0xFIE1FU1NBR0U6IFJlY2VpdmVkIHVuZXhwZWN0ZWQgZGVm
bGF0ZS1mcmFtZSBwYXJhbWV0ZXIKLVRlc3Qgd2hldGhlciBXZWJTb2NrZXQgcmVqZWN0cyBpbnZh
bGlkIGRlZmxhdGUtZnJhbWUgcGFyYW1ldGVycy4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgotCi1UZXN0aW5nIHBhcmFtZXRlcjogIngtZm9vIgotb25jbG9zZSgpIHdhcyBjYWxsZWQuCi1Q
QVNTIGNsb3NlRXZlbnQud2FzQ2xlYW4gaXMgZmFsc2UKLVRlc3RpbmcgcGFyYW1ldGVyOiAibWF4
X3dpbmRvd19iaXRzPTciCi1vbmNsb3NlKCkgd2FzIGNhbGxlZC4KLVBBU1MgY2xvc2VFdmVudC53
YXNDbGVhbiBpcyBmYWxzZQotVGVzdGluZyBwYXJhbWV0ZXI6ICJtYXhfd2luZG93X2JpdHM9MTYi
Ci1vbmNsb3NlKCkgd2FzIGNhbGxlZC4KLVBBU1MgY2xvc2VFdmVudC53YXNDbGVhbiBpcyBmYWxz
ZQotVGVzdGluZyBwYXJhbWV0ZXI6ICJub19jb250ZXh0X3Rha2VvdmVyPWZvbyIKLW9uY2xvc2Uo
KSB3YXMgY2FsbGVkLgotUEFTUyBjbG9zZUV2ZW50Lndhc0NsZWFuIGlzIGZhbHNlCi1UZXN0aW5n
IHBhcmFtZXRlcjogIm1heF93aW5kb3dfYml0cz04OyBub19jb250ZXh0X3Rha2VvdmVyOyB4LWZv
byIKLW9uY2xvc2UoKSB3YXMgY2FsbGVkLgotUEFTUyBjbG9zZUV2ZW50Lndhc0NsZWFuIGlzIGZh
bHNlCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9k
ZWZsYXRlLWZyYW1lLWludmFsaWQtcGFyYW1ldGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2RlZmxhdGUtZnJhbWUtaW52YWxpZC1wYXJhbWV0ZXIu
aHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWE1ZmJkMDZkMjAyYTNlY2M4MDJh
ZTI0YTc3OWVmNjRiOTM5YTljMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2Rl
ZmxhdGUtZnJhbWUtaW52YWxpZC1wYXJhbWV0ZXIuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDU3
ICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIu
Li8uLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08
L2hlYWQ+Ci08Ym9keT4KLTxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KLTxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgotPHNjcmlwdD4KLWRlc2NyaXB0aW9uKCJUZXN0IHdoZXRoZXIgV2ViU29j
a2V0IHJlamVjdHMgaW52YWxpZCBkZWZsYXRlLWZyYW1lIHBhcmFtZXRlcnMuIik7Ci0KLXdpbmRv
dy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLWlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIp
Ci0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRIaXhp
ZTc2V2ViU29ja2V0UHJvdG9jb2xFbmFibGVkIiwgMCk7Ci0KLXZhciBjbG9zZUV2ZW50OwotCi12
YXIgdGVzdENhc2UgPSBbCi0gICAgIngtZm9vIiwKLSAgICAibWF4X3dpbmRvd19iaXRzPTciLAot
ICAgICJtYXhfd2luZG93X2JpdHM9MTYiLAotICAgICJub19jb250ZXh0X3Rha2VvdmVyPWZvbyIs
Ci0gICAgIm1heF93aW5kb3dfYml0cz04OyBub19jb250ZXh0X3Rha2VvdmVyOyB4LWZvbyIKLV07
Ci0KLWZ1bmN0aW9uIGRvVGVzdChpbmRleCkKLXsKLSAgICB2YXIgcGFyYW1ldGVyID0gdGVzdENh
c2VbaW5kZXhdOwotICAgIHZhciB1cmwgPSAid3M6Ly9sb2NhbGhvc3Q6ODg4MC93ZWJzb2NrZXQv
dGVzdHMvaHliaS9kZWZsYXRlLWZyYW1lLWludmFsaWQtcGFyYW1ldGVyPyIgKyBlbmNvZGVVUkko
cGFyYW1ldGVyKTsKLSAgICB2YXIgd3MgPSBuZXcgV2ViU29ja2V0KHVybCk7Ci0KLSAgICBkZWJ1
ZygiVGVzdGluZyBwYXJhbWV0ZXI6IFwiIiArIHBhcmFtZXRlciArICJcIiIpOwotCi0gICAgd3Mu
b25tZXNzYWdlID0gZnVuY3Rpb24oZXZlbnQpCi0gICAgewotICAgICAgICB2YXIgbWVzc2FnZSA9
IGV2ZW50LmRhdGE7Ci0gICAgICAgIHRlc3RGYWlsZWQoIm9ubWVzc2FnZSgpIHdhcyBjYWxsZWQu
IChtZXNzYWdlID0gXCIiICsgbWVzc2FnZSArICJcIikiKTsKLSAgICB9OwotCi0gICAgd3Mub25j
bG9zZSA9IGZ1bmN0aW9uKGV2ZW50KQotICAgIHsKLSAgICAgICAgZGVidWcoIm9uY2xvc2UoKSB3
YXMgY2FsbGVkLiIpOwotICAgICAgICBjbG9zZUV2ZW50ID0gZXZlbnQ7Ci0gICAgICAgIHNob3Vs
ZEJlRmFsc2UoImNsb3NlRXZlbnQud2FzQ2xlYW4iKTsKLSAgICAgICAgaWYgKGluZGV4ID09PSB0
ZXN0Q2FzZS5sZW5ndGggLSAxKQotICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Ci0gICAgICAg
IGVsc2UKLSAgICAgICAgICAgIGRvVGVzdChpbmRleCArIDEpOwotICAgIH07Ci19Ci0KLWRvVGVz
dCgwKTsKLQotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vanMtdGVzdC1yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvZGVmbGF0
ZS1mcmFtZS1pbnZhbGlkLXBhcmFtZXRlcl93c2gucHkgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3dlYnNvY2tldC90ZXN0cy9oeWJpL2RlZmxhdGUtZnJhbWUtaW52YWxpZC1wYXJhbWV0ZXJfd3No
LnB5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhOGNjMjVjOGQ3Y2NjMWE2NzZhZDFl
ZjY4NGQ2MzA5OTEyOGZmMDA0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvZGVm
bGF0ZS1mcmFtZS1pbnZhbGlkLXBhcmFtZXRlcl93c2gucHkKKysrIC9kZXYvbnVsbApAQCAtMSw1
NiArMCwwIEBACi0jIENvcHlyaWdodCAyMDEyLCBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNl
cnZlZC4KLSMKLSMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0Ci0jIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKLSMgbWV0OgotIwotIyAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAotIyBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCi0jICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKLSMgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgotIyBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCi0jIGRpc3Ry
aWJ1dGlvbi4KLSMgICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhl
IG5hbWVzIG9mIGl0cwotIyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQotIyB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotIwotIyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0jICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UCi0jIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUgotIyBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAotIyBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKLSMgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAotIyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwKLSMgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCi0jIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSMgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCi0jIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0KLQotaW1wb3J0IHVybGxpYgotZnJvbSBtb2RfcHl3
ZWJzb2NrZXQgaW1wb3J0IGhhbmRzaGFrZQotZnJvbSBtb2RfcHl3ZWJzb2NrZXQuaGFuZHNoYWtl
Lmh5YmkgaW1wb3J0IGNvbXB1dGVfYWNjZXB0Ci0KLQotZGVmIHdlYl9zb2NrZXRfZG9fZXh0cmFf
aGFuZHNoYWtlKHJlcXVlc3QpOgotICAgIHJlc291cmNlcyA9IHJlcXVlc3Qud3NfcmVzb3VyY2Uu
c3BsaXQoJz8nLCAxKQotICAgIHBhcmFtZXRlcnMgPSBOb25lCi0gICAgaWYgbGVuKHJlc291cmNl
cykgPT0gMjoKLSAgICAgICAgcGFyYW1ldGVycyA9IHVybGxpYi51bnF1b3RlKHJlc291cmNlc1sx
XSkKLQotICAgIG1lc3NhZ2UgPSAnSFRUUC8xLjEgMTAxIFN3aXRjaGluZyBQcm90b2NvbHNcclxu
JwotICAgIG1lc3NhZ2UgKz0gJ1VwZ3JhZGU6IHdlYnNvY2tldFxyXG4nCi0gICAgbWVzc2FnZSAr
PSAnQ29ubmVjdGlvbjogVXBncmFkZVxyXG4nCi0gICAgbWVzc2FnZSArPSAnU2VjLVdlYlNvY2tl
dC1BY2NlcHQ6ICVzXHJcbicgJSBjb21wdXRlX2FjY2VwdChyZXF1ZXN0LmhlYWRlcnNfaW5bJ1Nl
Yy1XZWJTb2NrZXQtS2V5J10pWzBdCi0gICAgbWVzc2FnZSArPSAnU2VjLVdlYlNvY2tldC1FeHRl
bnNpb25zOiB4LXdlYmtpdC1kZWZsYXRlLWZyYW1lJwotICAgIGlmIHBhcmFtZXRlcnM6Ci0gICAg
ICAgIG1lc3NhZ2UgKz0gJzsgJXNcclxuJyAlIHBhcmFtZXRlcnMKLSAgICBlbHNlOgotICAgICAg
ICBtZXNzYWdlICs9ICdcclxuJwotICAgIG1lc3NhZ2UgKz0gJ1xyXG4nCi0gICAgcmVxdWVzdC5j
b25uZWN0aW9uLndyaXRlKG1lc3NhZ2UpCi0gICAgcmFpc2UgaGFuZHNoYWtlLkFib3J0ZWRCeVVz
ZXJFeGNlcHRpb24oJ0Fib3J0IHRoZSBjb25uZWN0aW9uJykgIyBQcmV2ZW50cyBweXdlYnNvY2tl
dCBmcm9tIHNlbmRpbmcgaXRzIG93biBoYW5kc2hha2UgbWVzc2FnZS4KLQotCi1kZWYgd2ViX3Nv
Y2tldF90cmFuc2Zlcl9kYXRhKHJlcXVlc3QpOgotICAgIHBhc3MKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvZGVmbGF0ZS1mcmFtZS1wYXJh
bWV0ZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVz
dHMvaHliaS9kZWZsYXRlLWZyYW1lLXBhcmFtZXRlci1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDcyNjNmZTM5NGE0NjI0YTE4NGMzZGIyZjQ3Mjg5NDQ0OWQwZDQw
NGUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9kZWZsYXRlLWZyYW1lLXBhcmFt
ZXRlci1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwzMCArMCwwIEBACi1UZXN0IFdl
YlNvY2tldCBkZWZsYXRlLWZyYW1lIGV4dGVuc2lvbi4KLQotT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgotCi1UZXN0aW5nIHF1ZXJ5OiAibWF4X3dpbmRvd19iaXRzPTgiCi1QQVNTIHdzLmV4dGVu
c2lvbnMuc2VhcmNoKCd4LXdlYmtpdC1kZWZsYXRlLWZyYW1lJykgIT0gLTEgaXMgdHJ1ZQotUEFT
UyB3cy5leHRlbnNpb25zLnNlYXJjaCgnbWF4X3dpbmRvd19iaXRzPTgnKSAhPSAtMSBpcyB0cnVl
Ci1QQVNTIGV2ZW50LmRhdGEgaXMgZmlyc3RNZXNzYWdlCi1QQVNTIGV2ZW50LmRhdGEgaXMgc2Vj
b25kTWVzc2FnZQotb25jbG9zZSgpIHdhcyBjYWxsZWQuCi1QQVNTIGNsb3NlRXZlbnQud2FzQ2xl
YW4gaXMgdHJ1ZQotVGVzdGluZyBxdWVyeTogIm5vX2NvbnRleHRfdGFrZW92ZXIiCi1QQVNTIHdz
LmV4dGVuc2lvbnMuc2VhcmNoKCd4LXdlYmtpdC1kZWZsYXRlLWZyYW1lJykgIT0gLTEgaXMgdHJ1
ZQotUEFTUyB3cy5leHRlbnNpb25zLnNlYXJjaCgnbm9fY29udGV4dF90YWtlb3ZlcicpICE9IC0x
IGlzIHRydWUKLVBBU1MgZXZlbnQuZGF0YSBpcyBmaXJzdE1lc3NhZ2UKLVBBU1MgZXZlbnQuZGF0
YSBpcyBzZWNvbmRNZXNzYWdlCi1vbmNsb3NlKCkgd2FzIGNhbGxlZC4KLVBBU1MgY2xvc2VFdmVu
dC53YXNDbGVhbiBpcyB0cnVlCi1UZXN0aW5nIHF1ZXJ5OiAibWF4X3dpbmRvd19iaXRzPTgmbm9f
Y29udGV4dF90YWtlb3ZlciIKLVBBU1Mgd3MuZXh0ZW5zaW9ucy5zZWFyY2goJ3gtd2Via2l0LWRl
ZmxhdGUtZnJhbWUnKSAhPSAtMSBpcyB0cnVlCi1QQVNTIHdzLmV4dGVuc2lvbnMuc2VhcmNoKCdt
YXhfd2luZG93X2JpdHM9OCcpICE9IC0xIGlzIHRydWUKLVBBU1Mgd3MuZXh0ZW5zaW9ucy5zZWFy
Y2goJ25vX2NvbnRleHRfdGFrZW92ZXInKSAhPSAtMSBpcyB0cnVlCi1QQVNTIGV2ZW50LmRhdGEg
aXMgZmlyc3RNZXNzYWdlCi1QQVNTIGV2ZW50LmRhdGEgaXMgc2Vjb25kTWVzc2FnZQotb25jbG9z
ZSgpIHdhcyBjYWxsZWQuCi1QQVNTIGNsb3NlRXZlbnQud2FzQ2xlYW4gaXMgdHJ1ZQotUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvZGVmbGF0ZS1mcmFt
ZS1wYXJhbWV0ZXIuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3Rz
L2h5YmkvZGVmbGF0ZS1mcmFtZS1wYXJhbWV0ZXIuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggNGI3N2U0NzE4MTdlMjM0N2NmYjgzNmZkOWUzYWFhM2VmYjg1YzZmMS4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2RlZmxhdGUtZnJhbWUtcGFyYW1ldGVyLmh0bWwK
KysrIC9kZXYvbnVsbApAQCAtMSw5MCArMCwwIEBACi08IURPQ1RZUEUgSFRNTD4KLTxodG1sPgot
PGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQ+Ci1kZXNjcmlwdGlv
bigiVGVzdCBXZWJTb2NrZXQgZGVmbGF0ZS1mcmFtZSBleHRlbnNpb24uIik7Ci0KLXdpbmRvdy5q
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLWlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0g
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRIaXhpZTc2
V2ViU29ja2V0UHJvdG9jb2xFbmFibGVkIiwgMCk7Ci0KLXZhciBjbG9zZUV2ZW50OwotdmFyIHdz
OwotdmFyIG1lc3NhZ2VJbmRleDsKLQotdmFyIHF1ZXJpZXMgPSBbCi0gICAgIm1heF93aW5kb3df
Yml0cz04IiwKLSAgICAibm9fY29udGV4dF90YWtlb3ZlciIsCi0gICAgIm1heF93aW5kb3dfYml0
cz04Jm5vX2NvbnRleHRfdGFrZW92ZXIiCi1dOwotCi0vLyBUaGUgZmlyc3QgbWVzc2FnZSBjb25z
aXN0cyBvZiBhIGxvdCBvZiAnYicgYW5kIGEgZmV3ICdhJyBhdCB0aGUgaGVhZCBhbmQKLS8vIHRo
ZSB0YWlsLCB3aGlsZSB0aGUgc2Vjb25kIG9uZSBjb25zaXN0cyBvZiAnYScuCi12YXIgZmlyc3RN
ZXNzYWdlID0gJyc7Ci12YXIgc2Vjb25kTWVzc2FnZSA9ICcnOwotZm9yICh2YXIgaSA9IDA7IGkg
PCAxNjsgKytpKSB7Ci0gICAgZmlyc3RNZXNzYWdlICs9ICdhJzsKLSAgICBzZWNvbmRNZXNzYWdl
ICs9ICdhJzsKLX0KLWZvciAodmFyIGkgPSAwOyBpIDwgMTAyNDsgKytpKSB7Ci0gICAgZmlyc3RN
ZXNzYWdlICs9ICdiJzsKLSAgICBzZWNvbmRNZXNzYWdlICs9ICdhJzsKLX0KLWZvciAodmFyIGkg
PSAwOyBpIDwgMTY7ICsraSkgewotICAgIGZpcnN0TWVzc2FnZSArPSAnYSc7Ci0gICAgc2Vjb25k
TWVzc2FnZSArPSAnYSc7Ci19Ci0KLWZ1bmN0aW9uIGRvVGVzdChxdWVyeUluZGV4KQotewotICAg
IHZhciBxdWVyeSA9IHF1ZXJpZXNbcXVlcnlJbmRleF07Ci0gICAgZGVidWcoIlRlc3RpbmcgcXVl
cnk6IFwiIiArIHF1ZXJ5ICsgIlwiIik7Ci0KLSAgICB2YXIgdXJsID0gIndzOi8vbG9jYWxob3N0
Ojg4ODAvd2Vic29ja2V0L3Rlc3RzL2h5YmkvZGVmbGF0ZS1mcmFtZT8iICsgcXVlcnk7Ci0gICAg
d3MgPSBuZXcgV2ViU29ja2V0KHVybCk7Ci0gICAgbWVzc2FnZUluZGV4ID0gMDsKLQotICAgIHdz
Lm9ub3BlbiA9IGZ1bmN0aW9uKGV2ZW50KQotICAgIHsKLSAgICAgICAgc2hvdWxkQmVUcnVlKCJ3
cy5leHRlbnNpb25zLnNlYXJjaCgneC13ZWJraXQtZGVmbGF0ZS1mcmFtZScpICE9IC0xIik7Ci0g
ICAgICAgIHBhcmFtZXRlcnMgPSBxdWVyeS5zcGxpdCgnJicpOwotICAgICAgICBmb3IgKHZhciBp
ID0gMDsgaSA8IHBhcmFtZXRlcnMubGVuZ3RoOyArK2kpCi0gICAgICAgICAgICBzaG91bGRCZVRy
dWUoIndzLmV4dGVuc2lvbnMuc2VhcmNoKCciICsgcGFyYW1ldGVyc1tpXSArICInKSAhPSAtMSIp
OwotICAgICAgICB3cy5zZW5kKGZpcnN0TWVzc2FnZSk7Ci0gICAgfTsKLQotICAgIHdzLm9ubWVz
c2FnZSA9IGZ1bmN0aW9uKGV2ZW50KQotICAgIHsKLSAgICAgICAgaWYgKG1lc3NhZ2VJbmRleCA9
PT0gMCkgewotICAgICAgICAgICAgc2hvdWxkQmUoImV2ZW50LmRhdGEiLCAiZmlyc3RNZXNzYWdl
Iik7Ci0gICAgICAgICAgICBtZXNzYWdlSW5kZXggKz0gMQotICAgICAgICAgICAgd3Muc2VuZChz
ZWNvbmRNZXNzYWdlKTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIHNob3VsZEJlKCJl
dmVudC5kYXRhIiwgInNlY29uZE1lc3NhZ2UiKTsKLSAgICAgICAgICAgIHdzLmNsb3NlKCk7Ci0g
ICAgICAgIH0KLSAgICB9OwotCi0gICAgd3Mub25jbG9zZSA9IGZ1bmN0aW9uKGV2ZW50KQotICAg
IHsKLSAgICAgICAgZGVidWcoIm9uY2xvc2UoKSB3YXMgY2FsbGVkLiIpOwotICAgICAgICBjbG9z
ZUV2ZW50ID0gZXZlbnQ7Ci0gICAgICAgIHNob3VsZEJlVHJ1ZSgiY2xvc2VFdmVudC53YXNDbGVh
biIpOwotICAgICAgICBpZiAocXVlcnlJbmRleCA9PT0gcXVlcmllcy5sZW5ndGggLSAxKQotICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIGRvVGVz
dChxdWVyeUluZGV4ICsgMSk7Ci0gICAgfTsKLX0KLQotZG9UZXN0KDApOwotCi08L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9kZWZsYXRlLWZyYW1lX3dzaC5weSBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvZGVmbGF0ZS1mcmFtZV93
c2gucHkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgzYjc4Mzg1NTA0Mjc0ODNhOTMy
NmNlOGZhNjBjMTc5ODFhZGJkNTEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9k
ZWZsYXRlLWZyYW1lX3dzaC5weQorKysgL2Rldi9udWxsCkBAIC0xLDgyICswLDAgQEAKLSMgQ29w
eXJpZ2h0IDIwMTIsIEdvb2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgotIwotIyBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKLSMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZQotIyBtZXQ6Ci0jCi0jICAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0jIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
LSMgICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZQotIyBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCi0jIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKLSMgZGlzdHJpYnV0aW9uLgotIyAgICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCi0j
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZCBmcm9tCi0jIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uCi0jCi0jIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKLSMgIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSMgTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SCi0jIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUCi0jIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAotIyBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCi0jIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLAotIyBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkKLSMgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotIyAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSMgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KLQotCi1pbXBvcnQgdXJscGFyc2UKLWZyb20gbW9kX3B5d2Vic29ja2V0LmV4dGVu
c2lvbnMgaW1wb3J0IERlZmxhdGVGcmFtZUV4dGVuc2lvblByb2Nlc3NvcgotZnJvbSBtb2RfcHl3
ZWJzb2NrZXQuZXh0ZW5zaW9ucyBpbXBvcnQgRXh0ZW5zaW9uUHJvY2Vzc29ySW50ZXJmYWNlCi1m
cm9tIG1vZF9weXdlYnNvY2tldC5jb21tb24gaW1wb3J0IEV4dGVuc2lvblBhcmFtZXRlcgotCi0K
LV9HT09EQllFX01FU1NBR0UgPSB1J0dvb2RieWUnCi1fRU5BQkxFX01FU1NBR0UgPSB1J0VuYWJs
ZUNvbXByZXNzaW9uJwotX0RJU0FCTEVfTUVTU0FHRSA9IHUnRGlzYWJsZUNvbXByZXNzaW9uJwot
Ci0KLWRlZiBfZ2V0X2RlZmxhdGVfZnJhbWVfZXh0ZW5zaW9uX3Byb2Nlc3NvcihyZXF1ZXN0KToK
LSAgICBmb3IgZXh0ZW5zaW9uX3Byb2Nlc3NvciBpbiByZXF1ZXN0LndzX2V4dGVuc2lvbl9wcm9j
ZXNzb3JzOgotICAgICAgICBpZiBpc2luc3RhbmNlKGV4dGVuc2lvbl9wcm9jZXNzb3IsIERlZmxh
dGVGcmFtZUV4dGVuc2lvblByb2Nlc3Nvcik6Ci0gICAgICAgICAgICByZXR1cm4gZXh0ZW5zaW9u
X3Byb2Nlc3NvcgotICAgIHJldHVybiBOb25lCi0KLQotZGVmIHdlYl9zb2NrZXRfZG9fZXh0cmFf
aGFuZHNoYWtlKHJlcXVlc3QpOgotICAgIHByb2Nlc3NvciA9IF9nZXRfZGVmbGF0ZV9mcmFtZV9l
eHRlbnNpb25fcHJvY2Vzc29yKHJlcXVlc3QpCi0gICAgaWYgbm90IHByb2Nlc3NvcjoKLSAgICAg
ICAgcmV0dXJuCi0gICAgciA9IHJlcXVlc3Qud3NfcmVzb3VyY2Uuc3BsaXQoJz8nLCAxKQotICAg
IGlmIGxlbihyKSA9PSAxOgotICAgICAgICByZXR1cm4KLSAgICBwYXJhbWV0ZXJzID0gdXJscGFy
c2UucGFyc2VfcXMoclsxXSwga2VlcF9ibGFua192YWx1ZXM9VHJ1ZSkKLSAgICBpZiAnbWF4X3dp
bmRvd19iaXRzJyBpbiBwYXJhbWV0ZXJzOgotICAgICAgICB3aW5kb3dfYml0cyA9IGludChwYXJh
bWV0ZXJzWydtYXhfd2luZG93X2JpdHMnXVswXSkKLSAgICAgICAgcHJvY2Vzc29yLnNldF9yZXNw
b25zZV93aW5kb3dfYml0cyh3aW5kb3dfYml0cykKLSAgICBpZiAnbm9fY29udGV4dF90YWtlb3Zl
cicgaW4gcGFyYW1ldGVyczoKLSAgICAgICAgcHJvY2Vzc29yLnNldF9yZXNwb25zZV9ub19jb250
ZXh0X3Rha2VvdmVyKFRydWUpCi0KLQotZGVmIHdlYl9zb2NrZXRfdHJhbnNmZXJfZGF0YShyZXF1
ZXN0KToKLSAgICBwcm9jZXNzb3IgPSBfZ2V0X2RlZmxhdGVfZnJhbWVfZXh0ZW5zaW9uX3Byb2Nl
c3NvcihyZXF1ZXN0KQotICAgIHdoaWxlIFRydWU6Ci0gICAgICAgIGxpbmUgPSByZXF1ZXN0Lndz
X3N0cmVhbS5yZWNlaXZlX21lc3NhZ2UoKQotICAgICAgICBpZiBsaW5lIGlzIE5vbmU6Ci0gICAg
ICAgICAgICByZXR1cm4KLSAgICAgICAgaWYgaXNpbnN0YW5jZShsaW5lLCB1bmljb2RlKToKLSAg
ICAgICAgICAgIGlmIHByb2Nlc3NvcjoKLSAgICAgICAgICAgICAgICBpZiBsaW5lID09IF9FTkFC
TEVfTUVTU0FHRToKLSAgICAgICAgICAgICAgICAgICAgcHJvY2Vzc29yLmVuYWJsZV9vdXRnb2lu
Z19jb21wcmVzc2lvbigpCi0gICAgICAgICAgICAgICAgZWxpZiBsaW5lID09IF9ESVNBQkxFX01F
U1NBR0U6Ci0gICAgICAgICAgICAgICAgICAgIHByb2Nlc3Nvci5kaXNhYmxlX291dGdvaW5nX2Nv
bXByZXNzaW9uKCkKLSAgICAgICAgICAgIHJlcXVlc3Qud3Nfc3RyZWFtLnNlbmRfbWVzc2FnZShs
aW5lLCBiaW5hcnk9RmFsc2UpCi0gICAgICAgICAgICBpZiBsaW5lID09IF9HT09EQllFX01FU1NB
R0U6Ci0gICAgICAgICAgICAgICAgcmV0dXJuCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBy
ZXF1ZXN0LndzX3N0cmVhbS5zZW5kX21lc3NhZ2UobGluZSwgYmluYXJ5PVRydWUpCi0KLQotIyB2
aTpzdHM9NCBzdz00IGV0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNv
Y2tldC90ZXN0cy9oeWJpL2hhbmRzaGFrZS1mYWlsLWJ5LWV4dGVuc2lvbnMtaGVhZGVyLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvaGFu
ZHNoYWtlLWZhaWwtYnktZXh0ZW5zaW9ucy1oZWFkZXItZXhwZWN0ZWQudHh0CmluZGV4IGNjOTlh
ZjBkZDE2NWQ1M2Y0MDY3MGM1YzU4NmFlYzk5ZWZiNjgzY2EuLmFkZjA2YjY1MWQ2YjQ3MTViNGEx
Yjk3Yzg3Yzk2MDIzM2FhZTFmYTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
d2Vic29ja2V0L3Rlc3RzL2h5YmkvaGFuZHNoYWtlLWZhaWwtYnktZXh0ZW5zaW9ucy1oZWFkZXIt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3Rz
L2h5YmkvaGFuZHNoYWtlLWZhaWwtYnktZXh0ZW5zaW9ucy1oZWFkZXItZXhwZWN0ZWQudHh0CkBA
IC0xLDQgKzEsNCBAQAotQ09OU09MRSBNRVNTQUdFOiBSZWNlaXZlZCB1bmV4cGVjdGVkIGV4dGVu
c2lvbjogeC1mb28KK0NPTlNPTEUgTUVTU0FHRTogUmVjZWl2ZWQgdW5leHBlY3RlZCBTZWMtV2Vi
U29ja2V0LUV4dGVuc2lvbnMgaGVhZGVyCiBUZXN0IHdoZXRoZXIgV2ViU29ja2V0IGhhbmRzaGFr
ZSBmYWlscyBpZiB0aGUgc2VydmVyIHNlbmRzIFNlYy1XZWJTb2NrZXQtRXh0ZW5zaW9ucyBoZWFk
ZXIuCiAKIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvc2VuZC1maWxlLWJsb2Jfd3NoLnB5IGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9zZW5kLWZpbGUtYmxv
Yl93c2gucHkKaW5kZXggNzkyMDM0Y2ZlM2I3MGUwNDgzYjVkZTk1ZTRlMTcwMWQ5Nzc4MmNhMy4u
ZGFhNDQwNDcxYWY4M2FiMjYyODY3NTFjM2UxODg4MmY0ODRkYjc4YyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9zZW5kLWZpbGUtYmxvYl93
c2gucHkKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9z
ZW5kLWZpbGUtYmxvYl93c2gucHkKQEAgLTIsMTQgKzIsNiBAQCBmcm9tIG1vZF9weXdlYnNvY2tl
dCBpbXBvcnQgY29tbW9uCiBmcm9tIG1vZF9weXdlYnNvY2tldCBpbXBvcnQgbXNndXRpbAogCiAK
LWRlZiBfcmV0cmlldmVfZnJhbWUoc3RyZWFtKToKLSAgICAjIEZJWE1FOiBVc2UgYmV0dGVyIEFQ
SS4KLSAgICBmcmFtZSA9IHN0cmVhbS5fcmVjZWl2ZV9mcmFtZV9hc19mcmFtZV9vYmplY3QoKQot
ICAgIGZvciBmcmFtZV9maWx0ZXIgaW4gc3RyZWFtLl9vcHRpb25zLmluY29taW5nX2ZyYW1lX2Zp
bHRlcnM6Ci0gICAgICAgIGZyYW1lX2ZpbHRlci5maWx0ZXIoZnJhbWUpCi0gICAgcmV0dXJuIGZy
YW1lCi0KLQogZGVmIHdlYl9zb2NrZXRfZG9fZXh0cmFfaGFuZHNoYWtlKHJlcXVlc3QpOgogICAg
IHBhc3MgIyBBbHdheXMgYWNjZXB0LgogCkBAIC0xOCwxMSArMTAsMTIgQEAgZGVmIHdlYl9zb2Nr
ZXRfdHJhbnNmZXJfZGF0YShyZXF1ZXN0KToKICAgICBleHBlY3RlZF9tZXNzYWdlcyA9IFsnSGVs
bG8sIHdvcmxkISddCiAKICAgICBmb3IgdGVzdF9udW1iZXIsIGV4cGVjdGVkX21lc3NhZ2UgaW4g
ZW51bWVyYXRlKGV4cGVjdGVkX21lc3NhZ2VzKToKLSAgICAgICAgZnJhbWUgPSBfcmV0cmlldmVf
ZnJhbWUocmVxdWVzdC53c19zdHJlYW0pCi0gICAgICAgIGlmIGZyYW1lLm9wY29kZSA9PSBjb21t
b24uT1BDT0RFX0JJTkFSWSBhbmQgZnJhbWUucGF5bG9hZCA9PSBleHBlY3RlZF9tZXNzYWdlIGFu
ZCBmcmFtZS5maW46CisgICAgICAgICMgRklYTUU6IFVzZSBiZXR0ZXIgQVBJLgorICAgICAgICBv
cGNvZGUsIHBheWxvYWQsIGZpbmFsLCB1bnVzZWRfcmVzZXJ2ZWQxLCB1bnVzZWRfcmVzZXJ2ZWQy
LCB1bnVzZWRfcmVzZXJ2ZWQzID0gcmVxdWVzdC53c19zdHJlYW0uX3JlY2VpdmVfZnJhbWUoKQor
ICAgICAgICBpZiBvcGNvZGUgPT0gY29tbW9uLk9QQ09ERV9CSU5BUlkgYW5kIHBheWxvYWQgPT0g
ZXhwZWN0ZWRfbWVzc2FnZSBhbmQgZmluYWw6CiAgICAgICAgICAgICBtc2d1dGlsLnNlbmRfbWVz
c2FnZShyZXF1ZXN0LCAnUEFTUzogTWVzc2FnZSAjJWQuJyAlIHRlc3RfbnVtYmVyKQogICAgICAg
ICBlbHNlOgotICAgICAgICAgICAgbXNndXRpbC5zZW5kX21lc3NhZ2UocmVxdWVzdCwgJ0ZBSUw6
IE1lc3NhZ2UgIyVkOiBSZWNlaXZlZCB1bmV4cGVjdGVkIGZyYW1lOiBvcGNvZGUgPSAlciwgcGF5
bG9hZCA9ICVyLCBmaW5hbCA9ICVyJyAlICh0ZXN0X251bWJlciwgZnJhbWUub3Bjb2RlLCBmcmFt
ZS5wYXlsb2FkLCBmcmFtZS5maW4pKQorICAgICAgICAgICAgbXNndXRpbC5zZW5kX21lc3NhZ2Uo
cmVxdWVzdCwgJ0ZBSUw6IE1lc3NhZ2UgIyVkOiBSZWNlaXZlZCB1bmV4cGVjdGVkIGZyYW1lOiBv
cGNvZGUgPSAlciwgcGF5bG9hZCA9ICVyLCBmaW5hbCA9ICVyJyAlICh0ZXN0X251bWJlciwgb3Bj
b2RlLCBwYXlsb2FkLCBmaW5hbCkpCiAKIAogZGVmIGFsbF9kaXN0aW5jdF9ieXRlcygpOgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>