<?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>159698</bug_id>
          
          <creation_ts>2016-07-12 17:19:47 -0700</creation_ts>
          <short_desc>REGRESSION(r203131): This change caused an existing LayoutTest to time out on debug testers (Requested by ryanhaddad on #webkit).</short_desc>
          <delta_ts>2016-07-12 17:21:33 -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>159657</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>benjamin</cc>
    
    <cc>ryanhaddad</cc>
    
    <cc>saam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1210263</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-07-12 17:19:47 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/203131 broke the build:
This change caused an existing LayoutTest to time out on debug testers (Requested by ryanhaddad 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>1210265</commentid>
    <comment_count>1</comment_count>
      <attachid>283475</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-07-12 17:20:20 -0700</bug_when>
    <thetext>Created attachment 283475
ROLLOUT of r203131

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>1210267</commentid>
    <comment_count>2</comment_count>
      <attachid>283475</attachid>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2016-07-12 17:21:30 -0700</bug_when>
    <thetext>Comment on attachment 283475
ROLLOUT of r203131

Clearing flags on attachment: 283475

Committed r203143: &lt;http://trac.webkit.org/changeset/203143&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1210268</commentid>
    <comment_count>3</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2016-07-12 17:21:33 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>283475</attachid>
            <date>2016-07-12 17:20:20 -0700</date>
            <delta_ts>2016-07-12 17:21:30 -0700</delta_ts>
            <desc>ROLLOUT of r203131</desc>
            <filename>bug-159698-20160712171936.patch</filename>
            <type>text/plain</type>
            <size>33840</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAzMTQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAz
MWVlZThkOGRmOGQzNjE2YzBjN2M1NjcyMjAwOTBhMDUxMGE1MDUyLi42ZDc0ZWRkZGU0OGY5N2Jh
MGEyNzNjNzUyOGEzMDM1NDJkYjQxMzU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNyBAQAorMjAxNi0wNy0xMiAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtp
dC5vcmc+CisKKyAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjIwMzEzMS4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1OTY5OAorCisgICAg
ICAgIFRoaXMgY2hhbmdlIGNhdXNlZCBhbiBleGlzdGluZyBMYXlvdXRUZXN0IHRvIHRpbWUgb3V0
IG9uIGRlYnVnCisgICAgICAgIHRlc3RlcnMgKFJlcXVlc3RlZCBieSByeWFuaGFkZGFkIG9uICN3
ZWJraXQpLgorCisgICAgICAgIFJldmVydGVkIGNoYW5nZXNldDoKKworICAgICAgICAiW0pTQ10g
QXJyYXkucHJvdG90eXBlLmpvaW4oKSBmYWlscyBzb21lIGNvbmZvcm1hbmNlIHRlc3RzIgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU5NjU3CisgICAg
ICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzIwMzEzMQorCiAyMDE2LTA3LTEy
ICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2luXSBG
aXggZm9yIGJ1aWxkIGVycm9yIHdoZW4gdHJ5aW5nIHRvIHZlcnNpb24gc3RhbXAgZGxsLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dURi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwppbmRl
eCA1NGYwNzUyZGNjMDg1N2Q2ZmVjY2Y2OWRiODc3NzM0ZTFlNjg2YmQ4Li5mZWQ1YjU4NWU2YTU1
YzljNmZkOTQ0ODczMzQzYTAxMjlkNjBmZWNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE2LTA3
LTEyICBDb21taXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KKworICAgICAgICBV
bnJldmlld2VkLCByb2xsaW5nIG91dCByMjAzMTMxLgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU5Njk4CisKKyAgICAgICAgVGhpcyBjaGFuZ2UgY2F1
c2VkIGFuIGV4aXN0aW5nIExheW91dFRlc3QgdG8gdGltZSBvdXQgb24gZGVidWcKKyAgICAgICAg
dGVzdGVycyAoUmVxdWVzdGVkIGJ5IHJ5YW5oYWRkYWQgb24gI3dlYmtpdCkuCisKKyAgICAgICAg
UmV2ZXJ0ZWQgY2hhbmdlc2V0OgorCisgICAgICAgICJbSlNDXSBBcnJheS5wcm90b3R5cGUuam9p
bigpIGZhaWxzIHNvbWUgY29uZm9ybWFuY2UgdGVzdHMiCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTk2NTcKKyAgICAgICAgaHR0cDovL3RyYWMud2Vi
a2l0Lm9yZy9jaGFuZ2VzZXQvMjAzMTMxCisKIDIwMTYtMDctMTIgIEZpbGlwIFBpemxvICA8ZnBp
emxvQGFwcGxlLmNvbT4KIAogICAgICAgICBwbGF0Zm9ybVVzZXJQcmVmZXJyZWRMYW5ndWFnZXMg
b24gTWFjIHNob3VsZCBub3QgdHJ5IHRvIHB1dCB0aGUgcmVnaW9uIGludG8gdGhlIGxhbmd1YWdl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVByb3RvdHlw
ZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVByb3RvdHlwZS5jcHAK
aW5kZXggMjg2OWQxMDI2ZTQ1Y2E4NzU5ZTcwNTdkOGI2OWRkOWExNGJjYmZiYy4uNWVkNDg5NDcw
MGY0Y2Y2NTUyYWZjZTIxNTY2YmM5MmQxZjQ2YWZkYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcApAQCAtNDg2LDcxICs0ODYsMTIgQEAg
c3RhdGljIGlubGluZSBib29sIGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZShFeGVjU3RhdGUm
IHN0YXRlLCBKU09iamVjdCogb2JqZWMKICAgICByZXR1cm4gb2JqZWN0LT5zdHJ1Y3R1cmUodm0p
LT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0pOwogfQogCi1zdGF0aWMgSlNWYWx1ZSBz
bG93Sm9pbihFeGVjU3RhdGUmIGV4ZWMsIEpTT2JqZWN0KiB0aGlzT2JqZWN0LCBKU1N0cmluZyog
c2VwYXJhdG9yLCB1aW50NjRfdCBsZW5ndGgpCitzdGF0aWMgaW5saW5lIEpTVmFsdWUgam9pbihF
eGVjU3RhdGUmIHN0YXRlLCBKU09iamVjdCogdGhpc09iamVjdCwgU3RyaW5nVmlldyBzZXBhcmF0
b3IpCiB7Ci0gICAgLy8gNS4gSWYgbGVuIGlzIHplcm8sIHJldHVybiB0aGUgZW1wdHkgU3RyaW5n
LgotICAgIGlmICghbGVuZ3RoKQotICAgICAgICByZXR1cm4ganNFbXB0eVN0cmluZygmZXhlYyk7
Ci0KLSAgICBWTSYgdm0gPSBleGVjLnZtKCk7Ci0KLSAgICAvLyA2LiBMZXQgZWxlbWVudDAgYmUg
R2V0KE8sICIwIikuCi0gICAgSlNWYWx1ZSBlbGVtZW50MCA9IHRoaXNPYmplY3QtPmdldEluZGV4
KCZleGVjLCAwKTsKLSAgICBpZiAodm0uZXhjZXB0aW9uKCkpCi0gICAgICAgIHJldHVybiBKU1Zh
bHVlKCk7Ci0KLSAgICAvLyA3LiBJZiBlbGVtZW50MCBpcyB1bmRlZmluZWQgb3IgbnVsbCwgbGV0
IFIgYmUgdGhlIGVtcHR5IFN0cmluZzsgb3RoZXJ3aXNlLCBsZXQgUiBiZSA/IFRvU3RyaW5nKGVs
ZW1lbnQwKS4KLSAgICBKU1N0cmluZyogciA9IG51bGxwdHI7Ci0gICAgaWYgKGVsZW1lbnQwLmlz
VW5kZWZpbmVkT3JOdWxsKCkpCi0gICAgICAgIHIgPSBqc0VtcHR5U3RyaW5nKCZleGVjKTsKLSAg
ICBlbHNlCi0gICAgICAgIHIgPSBlbGVtZW50MC50b1N0cmluZygmZXhlYyk7Ci0gICAgaWYgKHZt
LmV4Y2VwdGlvbigpKQotICAgICAgICByZXR1cm4gSlNWYWx1ZSgpOwotCi0gICAgLy8gOC4gTGV0
IGsgYmUgMS4KLSAgICAvLyA5LiBSZXBlYXQsIHdoaWxlIGsgPCBsZW4KLSAgICAvLyA5LmUgSW5j
cmVhc2UgayBieSAxLi4KLSAgICBmb3IgKHVpbnQ2NF90IGsgPSAxOyBrIDwgbGVuZ3RoOyArK2sp
IHsKLSAgICAgICAgLy8gYi4gTGV0IGVsZW1lbnQgYmUgPyBHZXQoTywgISBUb1N0cmluZyhrKSku
Ci0gICAgICAgIEpTVmFsdWUgZWxlbWVudCA9IHRoaXNPYmplY3QtPmdldCgmZXhlYywgSWRlbnRp
Zmllcjo6ZnJvbVN0cmluZygmZXhlYywgQXRvbWljU3RyaW5nOjpudW1iZXIoaykpKTsKLSAgICAg
ICAgaWYgKHZtLmV4Y2VwdGlvbigpKQotICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWUoKTsKLQot
ICAgICAgICAvLyBjLiBJZiBlbGVtZW50IGlzIHVuZGVmaW5lZCBvciBudWxsLCBsZXQgbmV4dCBi
ZSB0aGUgZW1wdHkgU3RyaW5nOyBvdGhlcndpc2UsIGxldCBuZXh0IGJlID8gVG9TdHJpbmcoZWxl
bWVudCkuCi0gICAgICAgIEpTU3RyaW5nKiBuZXh0ID0gbnVsbHB0cjsKLSAgICAgICAgaWYgKGVs
ZW1lbnQuaXNVbmRlZmluZWRPck51bGwoKSkgewotICAgICAgICAgICAgaWYgKCFzZXBhcmF0b3It
Pmxlbmd0aCgpKQotICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgbmV4dCA9
IGpzRW1wdHlTdHJpbmcoJmV4ZWMpOwotICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgIG5leHQg
PSBlbGVtZW50LnRvU3RyaW5nKCZleGVjKTsKLSAgICAgICAgaWYgKHZtLmV4Y2VwdGlvbigpKQot
ICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWUoKTsKLQotICAgICAgICAvLyBhLiBMZXQgUyBiZSB0
aGUgU3RyaW5nIHZhbHVlIHByb2R1Y2VkIGJ5IGNvbmNhdGVuYXRpbmcgUiBhbmQgc2VwLgotICAg
ICAgICAvLyBkLiBMZXQgUiBiZSBhIFN0cmluZyB2YWx1ZSBwcm9kdWNlZCBieSBjb25jYXRlbmF0
aW5nIFMgYW5kIG5leHQuCi0gICAgICAgIHIgPSBKU1JvcGVTdHJpbmc6OmNyZWF0ZSh2bSwgciwg
c2VwYXJhdG9yLCBuZXh0KTsKLSAgICB9Ci0gICAgLy8gMTAuIFJldHVybiBSLgotICAgIHJldHVy
biByOwotfQotCi1zdGF0aWMgaW5saW5lIGJvb2wgY2FuVXNlRmFzdEpvaW4oY29uc3QgSlNPYmpl
Y3QqIHRoaXNPYmplY3QpCi17Ci0gICAgc3dpdGNoICh0aGlzT2JqZWN0LT5pbmRleGluZ1R5cGUo
KSkgewotICAgIGNhc2UgQUxMX0NPTlRJR1VPVVNfSU5ERVhJTkdfVFlQRVM6Ci0gICAgY2FzZSBB
TExfSU5UMzJfSU5ERVhJTkdfVFlQRVM6Ci0gICAgY2FzZSBBTExfRE9VQkxFX0lOREVYSU5HX1RZ
UEVTOgotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICBkZWZhdWx0OgotICAgICAgICBicmVhazsK
LSAgICB9Ci0gICAgcmV0dXJuIGZhbHNlOwotfQorICAgIHVuc2lnbmVkIGxlbmd0aCA9IGdldExl
bmd0aCgmc3RhdGUsIHRoaXNPYmplY3QpOworICAgIGlmIChzdGF0ZS5oYWRFeGNlcHRpb24oKSkK
KyAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7CiAKLXN0YXRpYyBpbmxpbmUgSlNWYWx1ZSBm
YXN0Sm9pbihFeGVjU3RhdGUmIHN0YXRlLCBKU09iamVjdCogdGhpc09iamVjdCwgU3RyaW5nVmll
dyBzZXBhcmF0b3IsIHVuc2lnbmVkIGxlbmd0aCkKLXsKICAgICBzd2l0Y2ggKHRoaXNPYmplY3Qt
PmluZGV4aW5nVHlwZSgpKSB7CiAgICAgY2FzZSBBTExfQ09OVElHVU9VU19JTkRFWElOR19UWVBF
UzoKICAgICBjYXNlIEFMTF9JTlQzMl9JTkRFWElOR19UWVBFUzogewpAQCAtNjAxLDYgKzU0Miwy
NSBAQCBzdGF0aWMgaW5saW5lIEpTVmFsdWUgZmFzdEpvaW4oRXhlY1N0YXRlJiBzdGF0ZSwgSlNP
YmplY3QqIHRoaXNPYmplY3QsIFN0cmluZ1ZpZQogICAgICAgICB9CiAgICAgICAgIHJldHVybiBq
b2luZXIuam9pbihzdGF0ZSk7CiAgICAgfQorICAgIGNhc2UgQUxMX0FSUkFZX1NUT1JBR0VfSU5E
RVhJTkdfVFlQRVM6IHsKKyAgICAgICAgYXV0byYgc3RvcmFnZSA9ICp0aGlzT2JqZWN0LT5idXR0
ZXJmbHkoKS0+YXJyYXlTdG9yYWdlKCk7CisgICAgICAgIGlmIChsZW5ndGggPiBzdG9yYWdlLnZl
Y3Rvckxlbmd0aCgpKQorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGlmIChzdG9yYWdlLmhh
c0hvbGVzKCkgJiYgdGhpc09iamVjdC0+c3RydWN0dXJlKHN0YXRlLnZtKCkpLT5ob2xlc011c3RG
b3J3YXJkVG9Qcm90b3R5cGUoc3RhdGUudm0oKSkpCisgICAgICAgICAgICBicmVhazsKKyAgICAg
ICAgSlNTdHJpbmdKb2luZXIgam9pbmVyKHN0YXRlLCBzZXBhcmF0b3IsIGxlbmd0aCk7CisgICAg
ICAgIGlmIChzdGF0ZS5oYWRFeGNlcHRpb24oKSkKKyAgICAgICAgICAgIHJldHVybiBqc1VuZGVm
aW5lZCgpOworICAgICAgICBhdXRvIGRhdGEgPSBzdG9yYWdlLnZlY3RvcigpLmRhdGEoKTsKKyAg
ICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGxlbmd0aDsgKytpKSB7CisgICAgICAgICAg
ICBpZiAoSlNWYWx1ZSB2YWx1ZSA9IGRhdGFbaV0uZ2V0KCkpIHsKKyAgICAgICAgICAgICAgICBp
ZiAoIWpvaW5lci5hcHBlbmRXaXRob3V0U2lkZUVmZmVjdHMoc3RhdGUsIHZhbHVlKSkKKyAgICAg
ICAgICAgICAgICAgICAgZ290byBnZW5lcmFsQ2FzZTsKKyAgICAgICAgICAgIH0gZWxzZQorICAg
ICAgICAgICAgICAgIGpvaW5lci5hcHBlbmRFbXB0eVN0cmluZygpOworICAgICAgICB9CisgICAg
ICAgIHJldHVybiBqb2luZXIuam9pbihzdGF0ZSk7CisgICAgfQogICAgIH0KIAogZ2VuZXJhbENh
c2U6CkBAIC02MjAsNyArNTgwLDYgQEAgZ2VuZXJhbENhc2U6CiAKIEVuY29kZWRKU1ZhbHVlIEpT
Q19IT1NUX0NBTEwgYXJyYXlQcm90b0Z1bmNKb2luKEV4ZWNTdGF0ZSogZXhlYykKIHsKLSAgICAv
LyAxLiBMZXQgTyBiZSA/IFRvT2JqZWN0KHRoaXMgdmFsdWUpLgogICAgIEpTT2JqZWN0KiB0aGlz
T2JqZWN0ID0gZXhlYy0+dGhpc1ZhbHVlKCkudG9UaGlzKGV4ZWMsIFN0cmljdE1vZGUpLnRvT2Jq
ZWN0KGV4ZWMpOwogICAgIGlmICghdGhpc09iamVjdCkKICAgICAgICAgcmV0dXJuIEpTVmFsdWU6
OmVuY29kZShKU1ZhbHVlKCkpOwpAQCAtNjI5LDQzICs1ODgsMTYgQEAgRW5jb2RlZEpTVmFsdWUg
SlNDX0hPU1RfQ0FMTCBhcnJheVByb3RvRnVuY0pvaW4oRXhlY1N0YXRlKiBleGVjKQogICAgIGlm
IChKU1ZhbHVlIGVhcmx5UmV0dXJuVmFsdWUgPSBjaGVja2VyLmVhcmx5UmV0dXJuVmFsdWUoKSkK
ICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShlYXJseVJldHVyblZhbHVlKTsKIAotICAg
IC8vIDIuIExldCBsZW4gYmUgPyBUb0xlbmd0aCg/IEdldChPLCAibGVuZ3RoIikpLgotICAgIGRv
dWJsZSBsZW5ndGggPSB0b0xlbmd0aChleGVjLCB0aGlzT2JqZWN0KTsKLSAgICBpZiAoZXhlYy0+
aGFkRXhjZXB0aW9uKCkpCi0gICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoSlNWYWx1ZSgp
KTsKLQotICAgIC8vIDMuIElmIHNlcGFyYXRvciBpcyB1bmRlZmluZWQsIGxldCBzZXBhcmF0b3Ig
YmUgdGhlIHNpbmdsZS1lbGVtZW50IFN0cmluZyAiLCIuCiAgICAgSlNWYWx1ZSBzZXBhcmF0b3JW
YWx1ZSA9IGV4ZWMtPmFyZ3VtZW50KDApOwogICAgIGlmIChzZXBhcmF0b3JWYWx1ZS5pc1VuZGVm
aW5lZCgpKSB7CiAgICAgICAgIGNvbnN0IExDaGFyIGNvbW1hID0gJywnOwotCi0gICAgICAgIGlm
IChVTkxJS0VMWShsZW5ndGggPiBzdGQ6Om51bWVyaWNfbGltaXRzPHVuc2lnbmVkPjo6bWF4KCkg
fHwgIWNhblVzZUZhc3RKb2luKHRoaXNPYmplY3QpKSkgewotICAgICAgICAgICAgdWludDY0X3Qg
bGVuZ3RoNjQgPSBzdGF0aWNfY2FzdDx1aW50NjRfdD4obGVuZ3RoKTsKLSAgICAgICAgICAgIEFT
U0VSVChzdGF0aWNfY2FzdDxkb3VibGU+KGxlbmd0aDY0KSA9PSBsZW5ndGgpOwotICAgICAgICAg
ICAgSlNTdHJpbmcqIGpzU2VwYXJhdG9yID0ganNTaW5nbGVDaGFyYWN0ZXJTdHJpbmcoZXhlYywg
Y29tbWEpOwotICAgICAgICAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQotICAgICAgICAg
ICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoSlNWYWx1ZSgpKTsKLQotICAgICAgICAgICAg
cmV0dXJuIEpTVmFsdWU6OmVuY29kZShzbG93Sm9pbigqZXhlYywgdGhpc09iamVjdCwganNTZXBh
cmF0b3IsIGxlbmd0aDY0KSk7Ci0gICAgICAgIH0KLQotICAgICAgICB1bnNpZ25lZCB1bnNpZ25l
ZExlbmd0aCA9IHN0YXRpY19jYXN0PHVuc2lnbmVkPihsZW5ndGgpOwotICAgICAgICBBU1NFUlQo
c3RhdGljX2Nhc3Q8ZG91YmxlPih1bnNpZ25lZExlbmd0aCkgPT0gbGVuZ3RoKTsKLSAgICAgICAg
cmV0dXJuIEpTVmFsdWU6OmVuY29kZShmYXN0Sm9pbigqZXhlYywgdGhpc09iamVjdCwgeyAmY29t
bWEsIDEgfSwgdW5zaWduZWRMZW5ndGgpKTsKKyAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29k
ZShqb2luKCpleGVjLCB0aGlzT2JqZWN0LCB7ICZjb21tYSwgMSB9KSk7CiAgICAgfQogCi0gICAg
Ly8gNC4gTGV0IHNlcCBiZSA/IFRvU3RyaW5nKHNlcGFyYXRvcikuCi0gICAgSlNTdHJpbmcqIGpz
U2VwYXJhdG9yID0gc2VwYXJhdG9yVmFsdWUudG9TdHJpbmcoZXhlYyk7CisgICAgSlNTdHJpbmcq
IHNlcGFyYXRvciA9IHNlcGFyYXRvclZhbHVlLnRvU3RyaW5nKGV4ZWMpOwogICAgIGlmIChleGVj
LT5oYWRFeGNlcHRpb24oKSkKICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVm
aW5lZCgpKTsKLQotICAgIGlmIChVTkxJS0VMWShsZW5ndGggPiBzdGQ6Om51bWVyaWNfbGltaXRz
PHVuc2lnbmVkPjo6bWF4KCkgfHwgIWNhblVzZUZhc3RKb2luKHRoaXNPYmplY3QpKSkgewotICAg
ICAgICB1aW50NjRfdCBsZW5ndGg2NCA9IHN0YXRpY19jYXN0PHVpbnQ2NF90PihsZW5ndGgpOwot
ICAgICAgICBBU1NFUlQoc3RhdGljX2Nhc3Q8ZG91YmxlPihsZW5ndGg2NCkgPT0gbGVuZ3RoKTsK
LSAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShzbG93Sm9pbigqZXhlYywgdGhpc09iamVj
dCwganNTZXBhcmF0b3IsIGxlbmd0aDY0KSk7Ci0gICAgfQotCi0gICAgcmV0dXJuIEpTVmFsdWU6
OmVuY29kZShmYXN0Sm9pbigqZXhlYywgdGhpc09iamVjdCwganNTZXBhcmF0b3ItPnZpZXcoZXhl
YykuZ2V0KCksIGxlbmd0aCkpOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoam9pbigqZXhl
YywgdGhpc09iamVjdCwgc2VwYXJhdG9yLT52aWV3KGV4ZWMpLmdldCgpKSk7CiB9CiAKIEVuY29k
ZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlQcm90b0Z1bmNQb3AoRXhlY1N0YXRlKiBleGVj
KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheS5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheS5oCmluZGV4IGNkZTlkZjEwMzhh
ZGNmNDQ5ZjNhMTNiZTdlNmEwNGFlNDg1NTM0YjEuLmU5OTZmODA3YzY5MDA3ZGZiMjdlOTNjMGU5
Y2NkMTRiOTZkYjFhZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTQXJyYXkuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5LmgK
QEAgLTM1MywxOCArMzUzLDYgQEAgQUxXQVlTX0lOTElORSB1bnNpZ25lZCBnZXRMZW5ndGgoRXhl
Y1N0YXRlKiBleGVjLCBKU09iamVjdCogb2JqKQogICAgIHJldHVybiBsZW5ndGhWYWx1ZS50b1VJ
bnQzMihleGVjKTsKIH0KIAotQUxXQVlTX0lOTElORSBkb3VibGUgdG9MZW5ndGgoRXhlY1N0YXRl
KiBleGVjLCBKU09iamVjdCogb2JqKQotewotICAgIGlmIChpc0pTQXJyYXkob2JqKSkKLSAgICAg
ICAgcmV0dXJuIGpzQ2FzdDxKU0FycmF5Kj4ob2JqKS0+bGVuZ3RoKCk7Ci0KLSAgICBWTSYgdm0g
PSBleGVjLT52bSgpOwotICAgIEpTVmFsdWUgbGVuZ3RoVmFsdWUgPSBvYmotPmdldChleGVjLCB2
bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgpOwotICAgIGlmIChVTkxJS0VMWSh2bS5leGNlcHRpb24o
KSkpCi0gICAgICAgIHJldHVybiBQTmFOOwotICAgIHJldHVybiBsZW5ndGhWYWx1ZS50b0xlbmd0
aChleGVjKTsKLX0KLQogfSAvLyBuYW1lc3BhY2UgSlNDCiAKICNlbmRpZiAvLyBKU0FycmF5X2gK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3RleHQvQXRvbWljU3RyaW5nLmNwcCBiL1NvdXJj
ZS9XVEYvd3RmL3RleHQvQXRvbWljU3RyaW5nLmNwcAppbmRleCA3YmE2NGRiMDU1MDE3N2Y1YjM1
Yjc0MmE4ZDM5NDc0MDE4M2IwZjA4Li5hOWZlZjE1MTc2ZDQ1MDgwMGU1YTI1NzljNTQzN2YzZThk
ZDQ3MGZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L0F0b21pY1N0cmluZy5jcHAK
KysrIGIvU291cmNlL1dURi93dGYvdGV4dC9BdG9taWNTdHJpbmcuY3BwCkBAIC0xLDUgKzEsNSBA
QAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNC0yMDA4LCAyMDEzLTIwMTQsIDIwMTYgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA0LTIwMDgsIDIw
MTMtMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMp
IDIwMTAgUGF0cmljayBHYW5zdGVyZXIgPHBhcm9nYUBwYXJvZ2EuY29tPgogICogQ29weXJpZ2h0
IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgpAQCAtOTIsMTYg
KzkyLDYgQEAgQXRvbWljU3RyaW5nIEF0b21pY1N0cmluZzo6bnVtYmVyKHVuc2lnbmVkIG51bWJl
cikKICAgICByZXR1cm4gbnVtYmVyVG9TdHJpbmdVbnNpZ25lZDxBdG9taWNTdHJpbmc+KG51bWJl
cik7CiB9CiAKLUF0b21pY1N0cmluZyBBdG9taWNTdHJpbmc6Om51bWJlcih1bnNpZ25lZCBsb25n
IG51bWJlcikKLXsKLSAgICByZXR1cm4gbnVtYmVyVG9TdHJpbmdVbnNpZ25lZDxBdG9taWNTdHJp
bmc+KG51bWJlcik7Ci19Ci0KLUF0b21pY1N0cmluZyBBdG9taWNTdHJpbmc6Om51bWJlcih1bnNp
Z25lZCBsb25nIGxvbmcgbnVtYmVyKQotewotICAgIHJldHVybiBudW1iZXJUb1N0cmluZ1Vuc2ln
bmVkPEF0b21pY1N0cmluZz4obnVtYmVyKTsKLX0KLQogQXRvbWljU3RyaW5nIEF0b21pY1N0cmlu
Zzo6bnVtYmVyKGRvdWJsZSBudW1iZXIpCiB7CiAgICAgTnVtYmVyVG9TdHJpbmdCdWZmZXIgYnVm
ZmVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvdGV4dC9BdG9taWNTdHJpbmcuaCBiL1Nv
dXJjZS9XVEYvd3RmL3RleHQvQXRvbWljU3RyaW5nLmgKaW5kZXggZDllNzhhNjdkYTQyMTBjMTMz
ZjU2NjQ1NzgwNzYzMmQ0NDg2NzA2Mi4uOTMyMmE3OGQ0MjEwNTM4MmI1Mjg0MDhiNTA5YjA1OTI3
NGNhZDc2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvdGV4dC9BdG9taWNTdHJpbmcuaAor
KysgYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L0F0b21pY1N0cmluZy5oCkBAIC0xMDUsOCArMTA1LDYg
QEAgcHVibGljOgogCiAgICAgV1RGX0VYUE9SVF9TVFJJTkdfQVBJIHN0YXRpYyBBdG9taWNTdHJp
bmcgbnVtYmVyKGludCk7CiAgICAgV1RGX0VYUE9SVF9TVFJJTkdfQVBJIHN0YXRpYyBBdG9taWNT
dHJpbmcgbnVtYmVyKHVuc2lnbmVkKTsKLSAgICBXVEZfRVhQT1JUX1NUUklOR19BUEkgc3RhdGlj
IEF0b21pY1N0cmluZyBudW1iZXIodW5zaWduZWQgbG9uZyk7Ci0gICAgV1RGX0VYUE9SVF9TVFJJ
TkdfQVBJIHN0YXRpYyBBdG9taWNTdHJpbmcgbnVtYmVyKHVuc2lnbmVkIGxvbmcgbG9uZyk7CiAg
ICAgV1RGX0VYUE9SVF9TVFJJTkdfQVBJIHN0YXRpYyBBdG9taWNTdHJpbmcgbnVtYmVyKGRvdWJs
ZSk7CiAgICAgLy8gSWYgd2UgbmVlZCBtb3JlIG92ZXJsb2FkcyBvZiB0aGUgbnVtYmVyIGZ1bmN0
aW9uLCB3ZSBjYW4gYWRkIGFsbCB0aGUgb3RoZXJzIHRoYXQgU3RyaW5nIGhhcywgYnV0IHRoZXNl
IHNlZW0gdG8gZG8gZm9yIG5vdy4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDdhZWZmMTA2YmJjODRmYTIzNDU0MzExYTIx
YzI2YWExMjM5OTk1OWEuLmIzZWVmYTE5NjhjMjBkYmQxMWE2YjExMDZhMjZiZDE4NWE0ZjE2OTUg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxNi0wNy0xMiAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0
LXF1ZXVlQHdlYmtpdC5vcmc+CisKKyAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjIw
MzEzMS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1
OTY5OAorCisgICAgICAgIFRoaXMgY2hhbmdlIGNhdXNlZCBhbiBleGlzdGluZyBMYXlvdXRUZXN0
IHRvIHRpbWUgb3V0IG9uIGRlYnVnCisgICAgICAgIHRlc3RlcnMgKFJlcXVlc3RlZCBieSByeWFu
aGFkZGFkIG9uICN3ZWJraXQpLgorCisgICAgICAgIFJldmVydGVkIGNoYW5nZXNldDoKKworICAg
ICAgICAiW0pTQ10gQXJyYXkucHJvdG90eXBlLmpvaW4oKSBmYWlscyBzb21lIGNvbmZvcm1hbmNl
IHRlc3RzIgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTU5NjU3CisgICAgICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzIwMzEzMQor
CiAyMDE2LTA3LTEyICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KIAogICAgICAgICBS
RUdSRVNTSU9OICgyMDI2OTQpOiBBdWRpbyBhbmQgVmlkZW8gcGxheWJhY2sgY29udHJvbHM6IENh
bm5vdCBmaW5kIGEgcG9zaXRpb24gc2xpZGVyIHRvIGFkanVzdCBwbGF5YmFjayBwb3NpdGlvbiB1
c2luZyBWTy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL2FycmF5LWpvaW4tZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvanMvYXJyYXktam9pbi1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDQ5ZTY0ODY2YzkzYWIwMGQwYWI1NTg4NjQ0ODhhNTA4MjE3NjU5
OGMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvanMvYXJyYXktam9pbi1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw0MyAr
MCwwIEBACi1WZXJpZnkgQXJyYXkucHJvdG90eXBlLmpvaW4oKSBwcm9wZXJ0aWVzCi0KLU9uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1GdW5jdGlvbiBwcm9wZXJ0aWVzCi1QQVNTIHR5cGVv
ZiBBcnJheS5wcm90b3R5cGUuam9pbiBpcyAiZnVuY3Rpb24iCi1QQVNTIEFycmF5LnByb3RvdHlw
ZS5qb2luLm5hbWUgaXMgImpvaW4iCi1QQVNTIEFycmF5LnByb3RvdHlwZS5qb2luLmxlbmd0aCBp
cyAxCi1QQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQXJyYXkucHJvdG90eXBl
LCAnam9pbicpLmNvbmZpZ3VyYWJsZSBpcyB0cnVlCi1QQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0
eURlc2NyaXB0b3IoQXJyYXkucHJvdG90eXBlLCAnam9pbicpLmVudW1lcmFibGUgaXMgZmFsc2UK
LVBBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihBcnJheS5wcm90b3R5cGUsICdq
b2luJykud3JpdGFibGUgaXMgdHJ1ZQotSW50MzIgQXJyYXkKLVBBU1MgWzEsIDIsIDNdLmpvaW4o
KSBpcyAiMSwyLDMiCi1QQVNTIFsxLCAyLCAzXS5qb2luKCcnKSBpcyAiMTIzIgotUEFTUyBbMSwg
MiwgM10uam9pbign5p+wJykgaXMgIjHmn7Ay5p+wMyIKLURvdWJsZSBBcnJheQotUEFTUyBbTWF0
aC5QSSwgTWF0aC5FLCA2LjYyNl0uam9pbigpIGlzICIzLjE0MTU5MjY1MzU4OTc5MywyLjcxODI4
MTgyODQ1OTA0NSw2LjYyNiIKLVBBU1MgW01hdGguUEksIE1hdGguRSwgNi42MjZdLmpvaW4oJycp
IGlzICIzLjE0MTU5MjY1MzU4OTc5MzIuNzE4MjgxODI4NDU5MDQ1Ni42MjYiCi1QQVNTIFtNYXRo
LlBJLCBNYXRoLkUsIDYuNjI2XS5qb2luKCfmn7AnKSBpcyAiMy4xNDE1OTI2NTM1ODk3OTPmn7Ay
LjcxODI4MTgyODQ1OTA0NeafsDYuNjI2IgotQ29udGlndW91cyBBcnJheQotUEFTUyBbMSwgJ1dl
YktpdCcsIHsgdG9TdHJpbmc6ICgpID0+IHsgcmV0dXJuICdJc0luY3JlZGlibGUnfSB9XS5qb2lu
KCkgaXMgIjEsV2ViS2l0LElzSW5jcmVkaWJsZSIKLVBBU1MgWzEsICdXZWJLaXQnLCB7IHRvU3Ry
aW5nOiAoKSA9PiB7IHJldHVybiAnSXNJbmNyZWRpYmxlJ30gfV0uam9pbignJykgaXMgIjFXZWJL
aXRJc0luY3JlZGlibGUiCi1QQVNTIFsxLCAnV2ViS2l0JywgeyB0b1N0cmluZzogKCkgPT4geyBy
ZXR1cm4gJ0lzSW5jcmVkaWJsZSd9IH1dLmpvaW4oJ+afsCcpIGlzICIx5p+wV2ViS2l05p+wSXNJ
bmNyZWRpYmxlIgotU3BhcnNlIEFycmF5Ci1QQVNTIHNtYWxsU3BhcnNlQXJyYXkuam9pbigpIGlz
ICJXZWJLaXQsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwxNSIKLVBB
U1Mgc21hbGxTcGFyc2VBcnJheS5qb2luKCcnKSBpcyAiV2ViS2l0MTUiCi1QQVNTIHNtYWxsU3Bh
cnNlQXJyYXkuam9pbign5p+wJykgaXMgIldlYktpdOafsOafsOafsOafsOafsOafsOafsOafsOaf
sOafsOafsOafsOafsOafsOafsOafsOafsOafsOafsOafsOafsOafsOafsOafsOafsOafsOafsOaf
sOafsOafsOafsOafsOafsOafsOafsOafsOafsOafsOafsOafsOafsOafsDE1IgotUEFTUyBsYXJn
ZVNwYXJzZUFycmF5MS5qb2luKCcnKSBpcyAiV2ViS2l0NDIiCi1QQVNTIGxhcmdlU3BhcnNlQXJy
YXkyLmpvaW4oJycpIGlzICJXZWJLaXQ0MiIKLU91dCBvZiBtZW1vcnkKLVBBU1Mgb3ZlcnNpemVk
QXJyYXkuam9pbignJykgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBPdXQgb2YgbWVtb3J5LgotVG9M
ZW5ndGggaXMgY2FsbGVkIGZpcnN0IG9uICJ0aGlzIiwgZm9sbG93ZWQgYnkgVG9TdHJpbmcgb24g
dGhlIHNlcGFyYXRvci4gRm9sbG93ZWQgYnkgVG9TdHJpbmcgb24gZWFjaCBlbGVtZW50LgotUEFT
UyBBcnJheS5wcm90b3R5cGUuam9pbi5jYWxsKGNhbGxlZU9iamVjdCwgc2VwYXJhdG9yT2JqZWN0
KSBpcyAiV2ViS2l0MOafsFdlYktpdDEiCi1QQVNTIGNhbGxTZXF1ZW5jZS5qb2luKCcsICcpIGlz
ICJjYWxsZS5sZW5ndGgsIGxlbmd0aC52YWx1ZU9mLCBzZXBhcmF0b3IudG9TdHJpbmcsIGNhbGxl
LmdldCAwLCBpbmRleDAudG9TdHJpbmcsIGNhbGxlLmdldCAxLCBpbmRleDAudG9TdHJpbmciCi1X
ZSB1c2UgVG9MZW5ndGggb24gdGhlIG9iamVjdCdzIGxlbmd0aCwgbm90IFRvSW50MzIgb3IgVG9V
SW50MzIuCi1QQVNTIEFycmF5LnByb3RvdHlwZS5qb2luLmNhbGwobGVuZ3RoeU9iamVjdCkgaXMg
IiIKLVBBU1MgQXJyYXkucHJvdG90eXBlLmpvaW4uY2FsbChsZW5ndGh5T2JqZWN0KSBpcyAiIgot
UEFTUyBBcnJheS5wcm90b3R5cGUuam9pbi5jYWxsKGxlbmd0aHlPYmplY3QpIGlzICIiCi1QQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvanMvYXJyYXktam9pbi5odG1sIGIvTGF5b3V0VGVzdHMvanMvYXJyYXkt
am9pbi5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMzVhYTBkNzM1Y2Y3NTNi
ZDg1MzhiZTAwOTk3MWFkYTE4MDQ3NzFhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2pzL2FycmF5LWpvaW4uaHRtbAorKysgL2Rldi9u
dWxsCkBAIC0xLDExICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxt
ZXRhIGNoYXJzZXQ9InV0Zi04Ij4KLTxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08c2NyaXB0IHNyYz0ic2NyaXB0LXRl
c3RzL2FycmF5LWpvaW4uanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvanMvc2NyaXB0LXRlc3RzL2FycmF5LWpvaW4uanMgYi9MYXlvdXRUZXN0cy9q
cy9zY3JpcHQtdGVzdHMvYXJyYXktam9pbi5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDIyYjlhMGM4MmYyOTY1M2JkZGNlNmNlNzk2N2M0ZjQ1YzE5MjI3My4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9qcy9zY3JpcHQt
dGVzdHMvYXJyYXktam9pbi5qcworKysgL2Rldi9udWxsCkBAIC0xLDk2ICswLDAgQEAKLSJ1c2Ug
c3RyaWN0IjsKLQotZGVzY3JpcHRpb24oIlZlcmlmeSBBcnJheS5wcm90b3R5cGUuam9pbigpIHBy
b3BlcnRpZXMiKTsKLQotZGVidWcoIkZ1bmN0aW9uIHByb3BlcnRpZXMiKTsKLXNob3VsZEJlRXF1
YWxUb1N0cmluZygidHlwZW9mIEFycmF5LnByb3RvdHlwZS5qb2luIiwgImZ1bmN0aW9uIik7Ci1z
aG91bGRCZUVxdWFsVG9TdHJpbmcoIkFycmF5LnByb3RvdHlwZS5qb2luLm5hbWUiLCAiam9pbiIp
Owotc2hvdWxkQmUoIkFycmF5LnByb3RvdHlwZS5qb2luLmxlbmd0aCIsICIxIik7Ci1zaG91bGRC
ZVRydWUoIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQXJyYXkucHJvdG90eXBlLCAn
am9pbicpLmNvbmZpZ3VyYWJsZSIpOwotc2hvdWxkQmVGYWxzZSgiT2JqZWN0LmdldE93blByb3Bl
cnR5RGVzY3JpcHRvcihBcnJheS5wcm90b3R5cGUsICdqb2luJykuZW51bWVyYWJsZSIpOwotc2hv
dWxkQmVUcnVlKCJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEFycmF5LnByb3RvdHlw
ZSwgJ2pvaW4nKS53cml0YWJsZSIpOwotCi1kZWJ1ZygiSW50MzIgQXJyYXkiKTsKLXNob3VsZEJl
RXF1YWxUb1N0cmluZygiWzEsIDIsIDNdLmpvaW4oKSIsICIxLDIsMyIpOwotc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJbMSwgMiwgM10uam9pbignJykiLCAiMTIzIik7Ci1zaG91bGRCZUVxdWFsVG9T
dHJpbmcoIlsxLCAyLCAzXS5qb2luKCfmn7AnKSIsICIx5p+wMuafsDMiKTsKLQotZGVidWcoIkRv
dWJsZSBBcnJheSIpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJbTWF0aC5QSSwgTWF0aC5FLCA2
LjYyNl0uam9pbigpIiwgIjMuMTQxNTkyNjUzNTg5NzkzLDIuNzE4MjgxODI4NDU5MDQ1LDYuNjI2
Iik7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoIltNYXRoLlBJLCBNYXRoLkUsIDYuNjI2XS5qb2lu
KCcnKSIsICIzLjE0MTU5MjY1MzU4OTc5MzIuNzE4MjgxODI4NDU5MDQ1Ni42MjYiKTsKLXNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiW01hdGguUEksIE1hdGguRSwgNi42MjZdLmpvaW4oJ+afsCcpIiwg
IjMuMTQxNTkyNjUzNTg5Nzkz5p+wMi43MTgyODE4Mjg0NTkwNDXmn7A2LjYyNiIpOwotCi1kZWJ1
ZygiQ29udGlndW91cyBBcnJheSIpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJbMSwgJ1dlYktp
dCcsIHsgdG9TdHJpbmc6ICgpID0+IHsgcmV0dXJuICdJc0luY3JlZGlibGUnfSB9XS5qb2luKCki
LCAiMSxXZWJLaXQsSXNJbmNyZWRpYmxlIik7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoIlsxLCAn
V2ViS2l0JywgeyB0b1N0cmluZzogKCkgPT4geyByZXR1cm4gJ0lzSW5jcmVkaWJsZSd9IH1dLmpv
aW4oJycpIiwgIjFXZWJLaXRJc0luY3JlZGlibGUiKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygi
WzEsICdXZWJLaXQnLCB7IHRvU3RyaW5nOiAoKSA9PiB7IHJldHVybiAnSXNJbmNyZWRpYmxlJ30g
fV0uam9pbign5p+wJykiLCAiMeafsFdlYktpdOafsElzSW5jcmVkaWJsZSIpOwotCi1kZWJ1Zygi
U3BhcnNlIEFycmF5Iik7Ci12YXIgc21hbGxTcGFyc2VBcnJheSA9IG5ldyBBcnJheTsKLXNtYWxs
U3BhcnNlQXJyYXlbLTFdID0gIk9vcHMiOwotc21hbGxTcGFyc2VBcnJheVswXSA9ICJXZWJLaXQi
Owotc21hbGxTcGFyc2VBcnJheVs0Ml0gPSAxNTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygic21h
bGxTcGFyc2VBcnJheS5qb2luKCkiLCAiV2ViS2l0LCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCws
LCwsLCwsLCwsLCwsLCwsMTUiKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygic21hbGxTcGFyc2VB
cnJheS5qb2luKCcnKSIsICJXZWJLaXQxNSIpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJzbWFs
bFNwYXJzZUFycmF5LmpvaW4oJ+afsCcpIiwgIldlYktpdOafsOafsOafsOafsOafsOafsOafsOaf
sOafsOafsOafsOafsOafsOafsOafsOafsOafsOafsOafsOafsOafsOafsOafsOafsOafsOafsOaf
sOafsOafsOafsOafsOafsOafsOafsOafsOafsOafsOafsOafsOafsOafsOafsDE1Iik7Ci0KLXZh
ciBsYXJnZVNwYXJzZUFycmF5MSA9IG5ldyBBcnJheTsKLWxhcmdlU3BhcnNlQXJyYXkxWzEwMDAw
MV0gPSA0MjsKLWxhcmdlU3BhcnNlQXJyYXkxWzBdID0gIldlYktpdCI7Ci1sYXJnZVNwYXJzZUFy
cmF5MVtOdW1iZXIuTUFYX1NBRkVfSU5URUdFUl0gPSB7IHZhbHVlT2Y6ICgpID0+IHsgcmV0dXJu
ICdJc0Nvb2wnfSB9Owotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJsYXJnZVNwYXJzZUFycmF5MS5q
b2luKCcnKSIsICJXZWJLaXQ0MiIpOwotCi12YXIgbGFyZ2VTcGFyc2VBcnJheTIgPSBuZXcgQXJy
YXk7Ci1sYXJnZVNwYXJzZUFycmF5MlsxMDAwMDFdID0gNDI7Ci1sYXJnZVNwYXJzZUFycmF5Mls0
Ml0gPSAiV2ViS2l0IjsKLWxhcmdlU3BhcnNlQXJyYXkyWzEwMjRdID0gIiI7Ci1zaG91bGRCZUVx
dWFsVG9TdHJpbmcoImxhcmdlU3BhcnNlQXJyYXkyLmpvaW4oJycpIiwgIldlYktpdDQyIik7Ci0K
LWRlYnVnKCJPdXQgb2YgbWVtb3J5Iik7Ci0vLyA0MTk0MzAzICogNDA5NiA+IE1heCBTdHJpbmcg
TGVuZ3RoLgotbGV0IG92ZXJzaXplZEFycmF5ID0gbmV3IEFycmF5KDQwOTYpOwotbGV0IHNoYXJl
ZFN0cmluZyA9ICJBIi5yZXBlYXQoMTA0ODU3Nik7Ci1vdmVyc2l6ZWRBcnJheS5maWxsKHNoYXJl
ZFN0cmluZyk7Ci1zaG91bGRUaHJvdygib3ZlcnNpemVkQXJyYXkuam9pbignJykiLCAiJ0Vycm9y
OiBPdXQgb2YgbWVtb3J5JyIpOwotCi1kZWJ1ZygiVG9MZW5ndGggaXMgY2FsbGVkIGZpcnN0IG9u
IFwidGhpc1wiLCBmb2xsb3dlZCBieSBUb1N0cmluZyBvbiB0aGUgc2VwYXJhdG9yLiBGb2xsb3dl
ZCBieSBUb1N0cmluZyBvbiBlYWNoIGVsZW1lbnQuIik7Ci12YXIgY2FsbFNlcXVlbmNlID0gW107
Ci12YXIgbGVuZ3RoT2JqZWN0ID0gewotICAgIHRvU3RyaW5nOiAoKSA9PiB7IGNhbGxTZXF1ZW5j
ZS5wdXNoKCJsZW5ndGgudG9TdHJpbmciKTsgcmV0dXJuICJGQUlMISI7IH0sCi0gICAgdmFsdWVP
ZjogKCkgPT4geyBjYWxsU2VxdWVuY2UucHVzaCgibGVuZ3RoLnZhbHVlT2YiKTsgcmV0dXJuIDI7
IH0KLX07Ci12YXIgaW5kZXgwT2JqZWN0ID0gewotICAgIHRvU3RyaW5nOiAoKSA9PiB7IGNhbGxT
ZXF1ZW5jZS5wdXNoKCJpbmRleDAudG9TdHJpbmciKTsgcmV0dXJuICJXZWJLaXQwIjsgfSwKLSAg
ICB2YWx1ZU9mOiAoKSA9PiB7IGNhbGxTZXF1ZW5jZS5wdXNoKCJpbmRleDAudmFsdWVPZiIpOyBy
ZXR1cm4gIkZBSUwhIjsgfQotfTsKLXZhciBpbmRleDFPYmplY3QgPSB7Ci0gICAgdG9TdHJpbmc6
ICgpID0+IHsgY2FsbFNlcXVlbmNlLnB1c2goImluZGV4MC50b1N0cmluZyIpOyByZXR1cm4gIldl
YktpdDEiOyB9LAotICAgIHZhbHVlT2Y6ICgpID0+IHsgY2FsbFNlcXVlbmNlLnB1c2goImluZGV4
MC52YWx1ZU9mIik7IHJldHVybiAiRkFJTCEiOyB9Ci19OwotdmFyIGNhbGxlZU9iamVjdCA9IHsK
LSAgICB0b1N0cmluZzogKCkgPT4geyBjYWxsU2VxdWVuY2UucHVzaCgiY2FsbGVlLnRvU3RyaW5n
Iik7IHJldHVybiAiRkFJTCEiOyB9LAotICAgIHZhbHVlT2Y6ICgpID0+IHsgY2FsbFNlcXVlbmNl
LnB1c2goImNhbGxlLnZhbHVlT2YiKTsgcmV0dXJuICJGQUlMISI7IH0sCi0gICAgZ2V0IGxlbmd0
aCAoKSB7IGNhbGxTZXF1ZW5jZS5wdXNoKCJjYWxsZS5sZW5ndGgiKTsgcmV0dXJuIGxlbmd0aE9i
amVjdDsgfSwKLSAgICBnZXQgMCAoKSB7IGNhbGxTZXF1ZW5jZS5wdXNoKCJjYWxsZS5nZXQgMCIp
OyByZXR1cm4gaW5kZXgwT2JqZWN0OyB9LAotICAgIGdldCAxICgpIHsgY2FsbFNlcXVlbmNlLnB1
c2goImNhbGxlLmdldCAxIik7IHJldHVybiBpbmRleDFPYmplY3Q7IH0KLX07Ci12YXIgc2VwYXJh
dG9yT2JqZWN0ID0gewotICAgIHRvU3RyaW5nOiAoKSA9PiB7IGNhbGxTZXF1ZW5jZS5wdXNoKCJz
ZXBhcmF0b3IudG9TdHJpbmciKTsgcmV0dXJuICLmn7AiOyB9LAotICAgIHZhbHVlT2Y6ICgpID0+
IHsgY2FsbFNlcXVlbmNlLnB1c2goInNlcGFyYXRvci52YWx1ZU9mIik7IHJldHVybiAiRkFJTCEi
OyB9Ci19OwotCi1zaG91bGRCZUVxdWFsVG9TdHJpbmcoIkFycmF5LnByb3RvdHlwZS5qb2luLmNh
bGwoY2FsbGVlT2JqZWN0LCBzZXBhcmF0b3JPYmplY3QpIiwgIldlYktpdDDmn7BXZWJLaXQxIik7
Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoImNhbGxTZXF1ZW5jZS5qb2luKCcsICcpIiwgImNhbGxl
Lmxlbmd0aCwgbGVuZ3RoLnZhbHVlT2YsIHNlcGFyYXRvci50b1N0cmluZywgY2FsbGUuZ2V0IDAs
IGluZGV4MC50b1N0cmluZywgY2FsbGUuZ2V0IDEsIGluZGV4MC50b1N0cmluZyIpOwotCi0KLWRl
YnVnKCJXZSB1c2UgVG9MZW5ndGggb24gdGhlIG9iamVjdCdzIGxlbmd0aCwgbm90IFRvSW50MzIg
b3IgVG9VSW50MzIuIik7Ci12YXIgbGVuZ3RoeU9iamVjdCA9IHsKLSAgICBnZXQgMCAoKSB7IHRo
cm93ICJGYWlsISBBY2Nlc3NlZCAwLiI7IH0sCi0gICAgZ2V0IDEgKCkgeyB0aHJvdyAiRmFpbCEg
QWNjZXNzZWQgMS4iOyB9Ci19Ci1sZW5ndGh5T2JqZWN0Lmxlbmd0aCA9IC0xOwotc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJBcnJheS5wcm90b3R5cGUuam9pbi5jYWxsKGxlbmd0aHlPYmplY3QpIiwg
IiIpOwotbGVuZ3RoeU9iamVjdC5sZW5ndGggPSAtNDI5NDk2NzI5NDsKLXNob3VsZEJlRXF1YWxU
b1N0cmluZygiQXJyYXkucHJvdG90eXBlLmpvaW4uY2FsbChsZW5ndGh5T2JqZWN0KSIsICIiKTsK
LWxlbmd0aHlPYmplY3QubGVuZ3RoID0gLTQyOTQ5NjcyOTU7Ci1zaG91bGRCZUVxdWFsVG9TdHJp
bmcoIkFycmF5LnByb3RvdHlwZS5qb2luLmNhbGwobGVuZ3RoeU9iamVjdCkiLCAiIik7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9zcHV0bmlrL0NvbmZvcm1hbmNlLzE1X05hdGl2ZV9PYmplY3Rz
LzE1LjRfQXJyYXkvMTUuNC40LzE1LjQuNC41X0FycmF5X3Byb3RvdHlwZV9qb2luL1MxNS40LjQu
NV9BMl9UMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zcHV0bmlrL0NvbmZvcm1hbmNlLzE1
X05hdGl2ZV9PYmplY3RzLzE1LjRfQXJyYXkvMTUuNC40LzE1LjQuNC41X0FycmF5X3Byb3RvdHlw
ZV9qb2luL1MxNS40LjQuNV9BMl9UMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZhMjE2OTFj
MzQzMjBiNTc5MDcxMDkyMzI5MzJmYjdhZWFjM2E2NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL3NwdXRuaWsvQ29uZm9ybWFuY2UvMTVfTmF0aXZlX09iamVjdHMvMTUuNF9BcnJheS8x
NS40LjQvMTUuNC40LjVfQXJyYXlfcHJvdG90eXBlX2pvaW4vUzE1LjQuNC41X0EyX1QyLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDYgQEAKK1MxNS40LjQuNV9BMl9UMgorCitQQVNTIAorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3NwdXRuaWsvQ29uZm9ybWFuY2Uv
MTVfTmF0aXZlX09iamVjdHMvMTUuNF9BcnJheS8xNS40LjQvMTUuNC40LjVfQXJyYXlfcHJvdG90
eXBlX2pvaW4vUzE1LjQuNC41X0EyX1QyLmh0bWwgYi9MYXlvdXRUZXN0cy9zcHV0bmlrL0NvbmZv
cm1hbmNlLzE1X05hdGl2ZV9PYmplY3RzLzE1LjRfQXJyYXkvMTUuNC40LzE1LjQuNC41X0FycmF5
X3Byb3RvdHlwZV9qb2luL1MxNS40LjQuNV9BMl9UMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM1NWIzMmY3
NWE3NGZkNDAyOTliZDhiODZmMmEzMDVlMWFhMWQ5ZGUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9zcHV0bmlrL0NvbmZvcm1hbmNlLzE1X05hdGl2ZV9PYmplY3RzLzE1LjRfQXJyYXkv
MTUuNC40LzE1LjQuNC41X0FycmF5X3Byb3RvdHlwZV9qb2luL1MxNS40LjQuNV9BMl9UMi5odG1s
CkBAIC0wLDAgKzEsMTY3IEBACis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0ndXRmLTgn
PgorPHN0eWxlPgorLnBhc3MgeworICAgIGZvbnQtd2VpZ2h0OiBib2xkOworICAgIGNvbG9yOiBn
cmVlbjsKK30KKy5mYWlsIHsKKyAgICBmb250LXdlaWdodDogYm9sZDsKKyAgICBjb2xvcjogcmVk
OworfQorPC9zdHlsZT4KKworPHNjcmlwdD4KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0
ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKworZnVuY3Rpb24gU3B1dG5pa0Vycm9yKG1lc3NhZ2Up
Cit7CisgICAgdGhpcy5tZXNzYWdlID0gbWVzc2FnZTsKK30KKworU3B1dG5pa0Vycm9yLnByb3Rv
dHlwZS50b1N0cmluZyA9IGZ1bmN0aW9uICgpCit7CisgICAgcmV0dXJuICdTcHV0bmlrRXJyb3I6
ICcgKyB0aGlzLm1lc3NhZ2U7Cit9OworCit2YXIgc3B1dG5pa0V4Y2VwdGlvbjsKKworZnVuY3Rp
b24gdGVzdFByaW50KG1zZykKK3sKKyAgICB2YXIgc3BhbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInNwYW4iKTsKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpLmFwcGVu
ZENoaWxkKHNwYW4pOyAvLyBpbnNlcnQgaXQgZmlyc3Qgc28gWEhUTUwga25vd3MgdGhlIG5hbWVz
cGFjZSAKKyAgICBzcGFuLmlubmVySFRNTCA9IG1zZyArICc8YnIgLz4nOworfQorCitmdW5jdGlv
biBlc2NhcGVIVE1MKHRleHQpCit7CisgICAgcmV0dXJuIHRleHQudG9TdHJpbmcoKS5yZXBsYWNl
KC8mL2csICImYW1wOyIpLnJlcGxhY2UoLzwvZywgIiZsdDsiKTsKK30KKworZnVuY3Rpb24gcHJp
bnRUZXN0UGFzc2VkKG1zZykKK3sKKyAgICB0ZXN0UHJpbnQoJzxzcGFuPjxzcGFuIGNsYXNzPSJw
YXNzIj5QQVNTPC9zcGFuPiAnICsgZXNjYXBlSFRNTChtc2cpICsgJzwvc3Bhbj4nKTsKK30KKwor
ZnVuY3Rpb24gcHJpbnRUZXN0RmFpbGVkKG1zZykKK3sKKyAgICB0ZXN0UHJpbnQoJzxzcGFuPjxz
cGFuIGNsYXNzPSJmYWlsIj5GQUlMPC9zcGFuPiAnICsgZXNjYXBlSFRNTChtc2cpICsgJzwvc3Bh
bj4nKTsKK30KKworZnVuY3Rpb24gdGVzdEZhaWxlZChtc2cpCit7CisgICAgdGhyb3cgbmV3IFNw
dXRuaWtFcnJvcihtc2cpOworfQorCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gZmFsc2U7Cis8
L3NjcmlwdD4KKworPC9oZWFkPgorPGJvZHk+Cis8cD5TMTUuNC40LjVfQTJfVDI8L3A+Cis8ZGl2
IGlkPSdjb25zb2xlJz48L2Rpdj4KKzxzY3JpcHQ+Cit0cnkgeworCisvKioKKyAqIEBuYW1lOiBT
MTUuNC40LjVfQTJfVDI7CisgKiBAc2VjdGlvbjogMTUuNC40LjU7CisgKiBAYXNzZXJ0aW9uOiBU
aGUgam9pbiBmdW5jdGlvbiBpcyBpbnRlbnRpb25hbGx5IGdlbmVyaWMuIAorICogSXQgZG9lcyBu
b3QgcmVxdWlyZSB0aGF0IGl0cyB0aGlzIHZhbHVlIGJlIGFuIEFycmF5IG9iamVjdDsKKyAqIEBk
ZXNjcmlwdGlvbjogSWYgVG9VaW50MzIobGVuZ3RoKSBpcyB6ZXJvLCByZXR1cm4gdGhlIGVtcHR5
IHN0cmluZzsKKyovCisKK3ZhciBvYmogPSB7fTsKK29iai5qb2luID0gQXJyYXkucHJvdG90eXBl
LmpvaW47CisKKy8vQ0hFQ0sjMQorb2JqLmxlbmd0aCA9IE5hTjsKK2lmIChvYmouam9pbigpICE9
PSAiIikgeworICB0ZXN0RmFpbGVkKCcjMTogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gTmFO
OyBvYmouam9pbiA9IEFycmF5LnByb3RvdHlwZS5qb2luOyBvYmouam9pbigpID09PSAiIi4gQWN0
dWFsOiAnICsgKG9iai5qb2luKCkpKTsKK30KKworLy9DSEVDSyMyCitpZiAoaXNOYU4ob2JqLmxl
bmd0aCkgIT09IHRydWUpIHsKKyAgdGVzdEZhaWxlZCgnIzI6IHZhciBvYmogPSB7fTsgb2JqLmxl
bmd0aCA9IE5hTjsgb2JqLmpvaW4gPSBBcnJheS5wcm90b3R5cGUuam9pbjsgb2JqLmpvaW4oKTsg
b2JqLmxlbmd0aCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwor
fQorCisvL0NIRUNLIzMKK29iai5sZW5ndGggPSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFk7Citp
ZiAob2JqLmpvaW4oKSAhPT0gIiIpIHsKKyAgdGVzdEZhaWxlZCgnIzM6IHZhciBvYmogPSB7fTsg
b2JqLmxlbmd0aCA9IE51bWJlci5QT1NJVElWRV9JTkZJTklUWTsgb2JqLmpvaW4gPSBBcnJheS5w
cm90b3R5cGUuam9pbjsgb2JqLmpvaW4oKSA9PT0gIiIuIEFjdHVhbDogJyArIChvYmouam9pbigp
KSk7Cit9CisKKy8vQ0hFQ0sjNAoraWYgKG9iai5sZW5ndGggIT09IE51bWJlci5QT1NJVElWRV9J
TkZJTklUWSkgeworICB0ZXN0RmFpbGVkKCcjNDogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0g
TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZOyBvYmouam9pbiA9IEFycmF5LnByb3RvdHlwZS5qb2lu
OyBvYmouam9pbigpOyBvYmoubGVuZ3RoID09PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkuIEFj
dHVhbDogJyArIChvYmoubGVuZ3RoKSk7Cit9CisKKy8vQ0hFQ0sjNQorb2JqLmxlbmd0aCA9IE51
bWJlci5ORUdBVElWRV9JTkZJTklUWTsKK2lmIChvYmouam9pbigpICE9PSAiIikgeworICB0ZXN0
RmFpbGVkKCcjNTogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gTnVtYmVyLk5FR0FUSVZFX0lO
RklOSVRZOyBvYmouam9pbiA9IEFycmF5LnByb3RvdHlwZS5qb2luOyBvYmouam9pbigpID09PSAi
Ii4gQWN0dWFsOiAnICsgKG9iai5qb2luKCkpKTsKK30KKworLy9DSEVDSyM2CitpZiAob2JqLmxl
bmd0aCAhPT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSB7CisgIHRlc3RGYWlsZWQoJyM2OiB2
YXIgb2JqID0ge307IG9iai5sZW5ndGggPSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFk7IG9iai5q
b2luID0gQXJyYXkucHJvdG90eXBlLmpvaW47IG9iai5qb2luKCk7IG9iai5sZW5ndGggPT09IE51
bWJlci5ORUdBVElWRV9JTkZJTklUWS4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKK30KKwor
Ly9DSEVDSyM3CitvYmoubGVuZ3RoID0gLTA7CitpZiAob2JqLmpvaW4oKSAhPT0gIiIpIHsKKyAg
dGVzdEZhaWxlZCgnIzc6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IC0wOyBvYmouam9pbiA9
IEFycmF5LnByb3RvdHlwZS5qb2luOyBvYmouam9pbigpID09PSAiIi4gQWN0dWFsOiAnICsgKG9i
ai5qb2luKCkpKTsKK30gICAgCisKKy8vQ0hFQ0sjOAoraWYgKG9iai5sZW5ndGggIT09IC0wKSB7
CisgIHRlc3RGYWlsZWQoJyM4OiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSAtMDsgb2JqLmpv
aW4gPSBBcnJheS5wcm90b3R5cGUuam9pbjsgb2JqLmpvaW4oKTsgb2JqLmxlbmd0aCA9PT0gMC4g
QWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKK30gZWxzZSB7CisgIGlmICgxL29iai5sZW5ndGgg
IT09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgeworICAgIHRlc3RGYWlsZWQoJyM4OiB2YXIg
b2JqID0ge307IG9iai5sZW5ndGggPSAtMDsgb2JqLmpvaW4gPSBBcnJheS5wcm90b3R5cGUuam9p
bjsgb2JqLmpvaW4oKTsgb2JqLmxlbmd0aCA9PT0gLTAuIEFjdHVhbDogJyArIChvYmoubGVuZ3Ro
KSk7CisgIH0gIAorfSAgIAorCisvL0NIRUNLIzkKK29iai5sZW5ndGggPSAwLjU7CitpZiAob2Jq
LmpvaW4oKSAhPT0gIiIpIHsKKyAgdGVzdEZhaWxlZCgnIzk6IHZhciBvYmogPSB7fTsgb2JqLmxl
bmd0aCA9IDAuNTsgb2JqLmpvaW4gPSBBcnJheS5wcm90b3R5cGUuam9pbjsgb2JqLmpvaW4oKSA9
PT0gIiIuIEFjdHVhbDogJyArIChvYmouam9pbigpKSk7Cit9CisKKy8vQ0hFQ0sjMTAKK2lmIChv
YmoubGVuZ3RoICE9PSAwLjUpIHsKKyAgdGVzdEZhaWxlZCgnIzEwOiB2YXIgb2JqID0ge307IG9i
ai5sZW5ndGggPSAwLjU7IG9iai5qb2luID0gQXJyYXkucHJvdG90eXBlLmpvaW47IG9iai5qb2lu
KCk7IG9iai5sZW5ndGggPT09IDAuNS4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKK30gCisK
Ky8vQ0hFQ0sjMTEKK3ZhciB4ID0gbmV3IE51bWJlcigwKTsKK29iai5sZW5ndGggPSB4OworaWYg
KG9iai5qb2luKCkgIT09ICIiKSB7CisgIHRlc3RGYWlsZWQoJyMxMTogdmFyIHggPSBuZXcgTnVt
YmVyKDApOyB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSB4OyBvYmouam9pbiA9IEFycmF5LnBy
b3RvdHlwZS5qb2luOyBvYmouam9pbigpID09PSAiIi4gQWN0dWFsOiAnICsgKG9iai5qb2luKCkp
KTsKK30KKworLy9DSEVDSyMxMgoraWYgKG9iai5sZW5ndGggIT09IHgpIHsKKyAgdGVzdEZhaWxl
ZCgnIzEyOiB2YXIgeCA9IG5ldyBOdW1iZXIoMCk7IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9
IHg7IG9iai5qb2luID0gQXJyYXkucHJvdG90eXBlLmpvaW47IG9iai5qb2luKCk7IG9iai5sZW5n
dGggPT09IHguIEFjdHVhbDogJyArIChvYmoubGVuZ3RoKSk7Cit9CisKK30gY2F0Y2ggKGV4KSB7
CisgICAgc3B1dG5pa0V4Y2VwdGlvbiA9IGV4OworfQorCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2Vk
ID0gdHJ1ZTsKKzwvc2NyaXB0PgorCis8c2NyaXB0PgoraWYgKCFzdWNjZXNzZnVsbHlQYXJzZWQp
CisgICAgcHJpbnRUZXN0RmFpbGVkKCdzdWNjZXNzZnVsbHlQYXJzZWQgaXMgbm90IHNldCcpOwor
ZWxzZSBpZiAoc3B1dG5pa0V4Y2VwdGlvbikKKyAgICBwcmludFRlc3RGYWlsZWQoc3B1dG5pa0V4
Y2VwdGlvbik7CitlbHNlCisgICAgcHJpbnRUZXN0UGFzc2VkKCIiKTsKK3Rlc3RQcmludCgnPGJy
IC8+PHNwYW4gY2xhc3M9InBhc3MiPlRFU1QgQ09NUExFVEU8L3NwYW4+Jyk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3NwdXRuaWsvQ29uZm9y
bWFuY2UvMTVfTmF0aXZlX09iamVjdHMvMTUuNF9BcnJheS8xNS40LjQvMTUuNC40LjVfQXJyYXlf
cHJvdG90eXBlX2pvaW4vUzE1LjQuNC41X0E0X1QxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3NwdXRuaWsvQ29uZm9ybWFuY2UvMTVfTmF0aXZlX09iamVjdHMvMTUuNF9BcnJheS8xNS40LjQv
MTUuNC40LjVfQXJyYXlfcHJvdG90eXBlX2pvaW4vUzE1LjQuNC41X0E0X1QxLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi45MDk5NjQ4OTNkNDE1ZmU1MWU1ZmRlMDFiODZjYjg5NGVjZTFlZDBjCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3B1dG5pay9Db25mb3JtYW5jZS8xNV9OYXRp
dmVfT2JqZWN0cy8xNS40X0FycmF5LzE1LjQuNC8xNS40LjQuNV9BcnJheV9wcm90b3R5cGVfam9p
bi9TMTUuNC40LjVfQTRfVDEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNiBAQAorUzE1LjQuNC41
X0E0X1QxCisKK1BBU1MgCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvc3B1dG5pay9Db25mb3JtYW5jZS8xNV9OYXRpdmVfT2JqZWN0cy8xNS40X0FycmF5LzE1LjQu
NC8xNS40LjQuNV9BcnJheV9wcm90b3R5cGVfam9pbi9TMTUuNC40LjVfQTRfVDEuaHRtbCBiL0xh
eW91dFRlc3RzL3NwdXRuaWsvQ29uZm9ybWFuY2UvMTVfTmF0aXZlX09iamVjdHMvMTUuNF9BcnJh
eS8xNS40LjQvMTUuNC40LjVfQXJyYXlfcHJvdG90eXBlX2pvaW4vUzE1LjQuNC41X0E0X1QxLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNjQ3OWY1NTdjODcwNjE2ZWFjZmIzYmZhODViN2U2NTM4NTYwYTViZAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3NwdXRuaWsvQ29uZm9ybWFuY2UvMTVfTmF0
aXZlX09iamVjdHMvMTUuNF9BcnJheS8xNS40LjQvMTUuNC40LjVfQXJyYXlfcHJvdG90eXBlX2pv
aW4vUzE1LjQuNC41X0E0X1QxLmh0bWwKQEAgLTAsMCArMSwxMDggQEAKKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBjaGFyc2V0PSd1dGYtOCc+Cis8c3R5bGU+CisucGFzcyB7CisgICAgZm9udC13ZWln
aHQ6IGJvbGQ7CisgICAgY29sb3I6IGdyZWVuOworfQorLmZhaWwgeworICAgIGZvbnQtd2VpZ2h0
OiBib2xkOworICAgIGNvbG9yOiByZWQ7Cit9Cis8L3N0eWxlPgorCis8c2NyaXB0PgoraWYgKHdp
bmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworCitmdW5jdGlv
biBTcHV0bmlrRXJyb3IobWVzc2FnZSkKK3sKKyAgICB0aGlzLm1lc3NhZ2UgPSBtZXNzYWdlOwor
fQorCitTcHV0bmlrRXJyb3IucHJvdG90eXBlLnRvU3RyaW5nID0gZnVuY3Rpb24gKCkKK3sKKyAg
ICByZXR1cm4gJ1NwdXRuaWtFcnJvcjogJyArIHRoaXMubWVzc2FnZTsKK307CisKK3ZhciBzcHV0
bmlrRXhjZXB0aW9uOworCitmdW5jdGlvbiB0ZXN0UHJpbnQobXNnKQoreworICAgIHZhciBzcGFu
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpOworICAgIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb25zb2xlIikuYXBwZW5kQ2hpbGQoc3Bhbik7IC8vIGluc2VydCBpdCBmaXJzdCBz
byBYSFRNTCBrbm93cyB0aGUgbmFtZXNwYWNlIAorICAgIHNwYW4uaW5uZXJIVE1MID0gbXNnICsg
JzxiciAvPic7Cit9CisKK2Z1bmN0aW9uIGVzY2FwZUhUTUwodGV4dCkKK3sKKyAgICByZXR1cm4g
dGV4dC50b1N0cmluZygpLnJlcGxhY2UoLyYvZywgIiZhbXA7IikucmVwbGFjZSgvPC9nLCAiJmx0
OyIpOworfQorCitmdW5jdGlvbiBwcmludFRlc3RQYXNzZWQobXNnKQoreworICAgIHRlc3RQcmlu
dCgnPHNwYW4+PHNwYW4gY2xhc3M9InBhc3MiPlBBU1M8L3NwYW4+ICcgKyBlc2NhcGVIVE1MKG1z
ZykgKyAnPC9zcGFuPicpOworfQorCitmdW5jdGlvbiBwcmludFRlc3RGYWlsZWQobXNnKQorewor
ICAgIHRlc3RQcmludCgnPHNwYW4+PHNwYW4gY2xhc3M9ImZhaWwiPkZBSUw8L3NwYW4+ICcgKyBl
c2NhcGVIVE1MKG1zZykgKyAnPC9zcGFuPicpOworfQorCitmdW5jdGlvbiB0ZXN0RmFpbGVkKG1z
ZykKK3sKKyAgICB0aHJvdyBuZXcgU3B1dG5pa0Vycm9yKG1zZyk7Cit9CisKK3ZhciBzdWNjZXNz
ZnVsbHlQYXJzZWQgPSBmYWxzZTsKKzwvc2NyaXB0PgorCis8L2hlYWQ+Cis8Ym9keT4KKzxwPlMx
NS40LjQuNV9BNF9UMTwvcD4KKzxkaXYgaWQ9J2NvbnNvbGUnPjwvZGl2PgorPHNjcmlwdD4KK3Ry
eSB7CisKKy8qKgorICogQG5hbWU6IFMxNS40LjQuNV9BNF9UMTsKKyAqIEBzZWN0aW9uOiAxNS40
LjQuNTsKKyAqIEBhc3NlcnRpb246IENoZWNrIFRvVWludDMyKGxlbmd0aCkgZm9yIG5vbiBBcnJh
eSBvYmplY3RzOworICogQGRlc2NyaXB0aW9uOiBsZW5ndGggPSA0Mjk0OTY3Mjk2OyAKKyovCisK
K3ZhciBvYmogPSB7fTsKK29iai5qb2luID0gQXJyYXkucHJvdG90eXBlLmpvaW47CitvYmpbMF0g
PSAieCI7CitvYmpbNDI5NDk2NzI5NV0gPSAieSI7CitvYmoubGVuZ3RoID0gNDI5NDk2NzI5NjsK
KworLy9DSEVDSyMxCitpZiAob2JqLmpvaW4oIiIpICE9PSAiIikgeworICB0ZXN0RmFpbGVkKCcj
MTogdmFyIG9iaiA9IHt9OyBvYmouam9pbiA9IEFycmF5LnByb3RvdHlwZS5qb2luOyBvYmpbMF0g
PSAieCI7IG9ials0Mjk0OTY3Mjk1XSA9ICJ5Ijsgb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTY7IG9i
ai5qb2luKCIiKSA9PT0gIiIuIEFjdHVhbDogJyArIChvYmouam9pbigiIikpKTsKK30KKworLy9D
SEVDSyMyCitpZiAob2JqLmxlbmd0aCAhPT0gNDI5NDk2NzI5NikgeworICB0ZXN0RmFpbGVkKCcj
MjogdmFyIG9iaiA9IHt9OyBvYmouam9pbiA9IEFycmF5LnByb3RvdHlwZS5qb2luOyBvYmpbMF0g
PSAieCI7IG9ials0Mjk0OTY3Mjk1XSA9ICJ5Ijsgb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTY7IG9i
ai5qb2luKCIiKTsgb2JqLmxlbmd0aCA9PT0gNDI5NDk2NzI5Ni4gQWN0dWFsOiAnICsgKG9iai5s
ZW5ndGgpKTsKK30KKworfSBjYXRjaCAoZXgpIHsKKyAgICBzcHV0bmlrRXhjZXB0aW9uID0gZXg7
Cit9CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+CisKKzxzY3Jp
cHQ+CitpZiAoIXN1Y2Nlc3NmdWxseVBhcnNlZCkKKyAgICBwcmludFRlc3RGYWlsZWQoJ3N1Y2Nl
c3NmdWxseVBhcnNlZCBpcyBub3Qgc2V0Jyk7CitlbHNlIGlmIChzcHV0bmlrRXhjZXB0aW9uKQor
ICAgIHByaW50VGVzdEZhaWxlZChzcHV0bmlrRXhjZXB0aW9uKTsKK2Vsc2UKKyAgICBwcmludFRl
c3RQYXNzZWQoIiIpOwordGVzdFByaW50KCc8YnIgLz48c3BhbiBjbGFzcz0icGFzcyI+VEVTVCBD
T01QTEVURTwvc3Bhbj4nKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvc3B1dG5pay9Db25mb3JtYW5jZS8xNV9OYXRpdmVfT2JqZWN0cy8xNS40
X0FycmF5LzE1LjQuNC8xNS40LjQuNV9BcnJheV9wcm90b3R5cGVfam9pbi9TMTUuNC40LjVfQTRf
VDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3B1dG5pay9Db25mb3JtYW5jZS8xNV9OYXRp
dmVfT2JqZWN0cy8xNS40X0FycmF5LzE1LjQuNC8xNS40LjQuNV9BcnJheV9wcm90b3R5cGVfam9p
bi9TMTUuNC40LjVfQTRfVDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUxNWE3NjFkZDg1ZTYz
NTY3OTNjMjY0ZmQ2NDIxZTZlYTQwN2NmZDUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9zcHV0bmlrL0NvbmZvcm1hbmNlLzE1X05hdGl2ZV9PYmplY3RzLzE1LjRfQXJyYXkvMTUuNC40
LzE1LjQuNC41X0FycmF5X3Byb3RvdHlwZV9qb2luL1MxNS40LjQuNV9BNF9UMi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSw2IEBACitTMTUuNC40LjVfQTRfVDIKKworUEFTUyAKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zcHV0bmlrL0NvbmZvcm1hbmNlLzE1X05h
dGl2ZV9PYmplY3RzLzE1LjRfQXJyYXkvMTUuNC40LzE1LjQuNC41X0FycmF5X3Byb3RvdHlwZV9q
b2luL1MxNS40LjQuNV9BNF9UMi5odG1sIGIvTGF5b3V0VGVzdHMvc3B1dG5pay9Db25mb3JtYW5j
ZS8xNV9OYXRpdmVfT2JqZWN0cy8xNS40X0FycmF5LzE1LjQuNC8xNS40LjQuNV9BcnJheV9wcm90
b3R5cGVfam9pbi9TMTUuNC40LjVfQTRfVDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMjMwMTNkMjJhOGE1
NDRmYmU5YWM4OTk4ZDg2MzM5ZDk4Y2UzNzFmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvc3B1dG5pay9Db25mb3JtYW5jZS8xNV9OYXRpdmVfT2JqZWN0cy8xNS40X0FycmF5LzE1LjQu
NC8xNS40LjQuNV9BcnJheV9wcm90b3R5cGVfam9pbi9TMTUuNC40LjVfQTRfVDIuaHRtbApAQCAt
MCwwICsxLDEwOSBAQAorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9J3V0Zi04Jz4KKzxz
dHlsZT4KKy5wYXNzIHsKKyAgICBmb250LXdlaWdodDogYm9sZDsKKyAgICBjb2xvcjogZ3JlZW47
Cit9CisuZmFpbCB7CisgICAgZm9udC13ZWlnaHQ6IGJvbGQ7CisgICAgY29sb3I6IHJlZDsKK30K
Kzwvc3R5bGU+CisKKzxzY3JpcHQ+CitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1
bm5lci5kdW1wQXNUZXh0KCk7CisKK2Z1bmN0aW9uIFNwdXRuaWtFcnJvcihtZXNzYWdlKQorewor
ICAgIHRoaXMubWVzc2FnZSA9IG1lc3NhZ2U7Cit9CisKK1NwdXRuaWtFcnJvci5wcm90b3R5cGUu
dG9TdHJpbmcgPSBmdW5jdGlvbiAoKQoreworICAgIHJldHVybiAnU3B1dG5pa0Vycm9yOiAnICsg
dGhpcy5tZXNzYWdlOworfTsKKwordmFyIHNwdXRuaWtFeGNlcHRpb247CisKK2Z1bmN0aW9uIHRl
c3RQcmludChtc2cpCit7CisgICAgdmFyIHNwYW4gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJz
cGFuIik7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUiKS5hcHBlbmRDaGls
ZChzcGFuKTsgLy8gaW5zZXJ0IGl0IGZpcnN0IHNvIFhIVE1MIGtub3dzIHRoZSBuYW1lc3BhY2Ug
CisgICAgc3Bhbi5pbm5lckhUTUwgPSBtc2cgKyAnPGJyIC8+JzsKK30KKworZnVuY3Rpb24gZXNj
YXBlSFRNTCh0ZXh0KQoreworICAgIHJldHVybiB0ZXh0LnRvU3RyaW5nKCkucmVwbGFjZSgvJi9n
LCAiJmFtcDsiKS5yZXBsYWNlKC88L2csICImbHQ7Iik7Cit9CisKK2Z1bmN0aW9uIHByaW50VGVz
dFBhc3NlZChtc2cpCit7CisgICAgdGVzdFByaW50KCc8c3Bhbj48c3BhbiBjbGFzcz0icGFzcyI+
UEFTUzwvc3Bhbj4gJyArIGVzY2FwZUhUTUwobXNnKSArICc8L3NwYW4+Jyk7Cit9CisKK2Z1bmN0
aW9uIHByaW50VGVzdEZhaWxlZChtc2cpCit7CisgICAgdGVzdFByaW50KCc8c3Bhbj48c3BhbiBj
bGFzcz0iZmFpbCI+RkFJTDwvc3Bhbj4gJyArIGVzY2FwZUhUTUwobXNnKSArICc8L3NwYW4+Jyk7
Cit9CisKK2Z1bmN0aW9uIHRlc3RGYWlsZWQobXNnKQoreworICAgIHRocm93IG5ldyBTcHV0bmlr
RXJyb3IobXNnKTsKK30KKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IGZhbHNlOworPC9zY3Jp
cHQ+CisKKzwvaGVhZD4KKzxib2R5PgorPHA+UzE1LjQuNC41X0E0X1QyPC9wPgorPGRpdiBpZD0n
Y29uc29sZSc+PC9kaXY+Cis8c2NyaXB0PgordHJ5IHsKKworLyoqCisgKiBAbmFtZTogUzE1LjQu
NC41X0E0X1QyOworICogQHNlY3Rpb246IDE1LjQuNC41OworICogQGFzc2VydGlvbjogQ2hlY2sg
VG9VaW50MzIobGVuZ3RoKSBmb3Igbm9uIEFycmF5IG9iamVjdHM7CisgKiBAZGVzY3JpcHRpb246
IGxlbmd0aCA9IDQyOTQ5NjcyOTc7IAorKi8KKwordmFyIG9iaiA9IHt9Oworb2JqLmpvaW4gPSBB
cnJheS5wcm90b3R5cGUuam9pbjsKK29ialswXSA9ICJ4IjsKK29ialsxXSA9ICJ5IjsKK29ials0
Mjk0OTY3Mjk2XSA9ICJ6IjsKK29iai5sZW5ndGggPSA0Mjk0OTY3Mjk3OworCisvL0NIRUNLIzEK
K2lmIChvYmouam9pbigiIikgIT09ICJ4IikgeworICB0ZXN0RmFpbGVkKCcjMTogdmFyIG9iaiA9
IHt9OyBvYmouam9pbiA9IEFycmF5LnByb3RvdHlwZS5qb2luOyBvYmpbMF0gPSAieCI7IG9ialsx
XSA9ICJ5Ijsgb2JqWzQyOTQ5NjcyOTZdID0gInoiOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5Nzsg
b2JqLmpvaW4oIiIpID09PSAieCIuIEFjdHVhbDogJyArIChvYmouam9pbigiIikpKTsKK30KKwor
Ly9DSEVDSyMyCitpZiAob2JqLmxlbmd0aCAhPT0gNDI5NDk2NzI5NykgeworICB0ZXN0RmFpbGVk
KCcjMjogdmFyIG9iaiA9IHt9OyBvYmouam9pbiA9IEFycmF5LnByb3RvdHlwZS5qb2luOyBvYmpb
MF0gPSAieCI7IG9ialsxXSA9ICJ5Ijsgb2JqWzQyOTQ5NjcyOTZdID0gInoiOyBvYmoubGVuZ3Ro
ID0gNDI5NDk2NzI5Nzsgb2JqLmpvaW4oIiIpOyBvYmoubGVuZ3RoID09PSA0Mjk0OTY3Mjk3LiBB
Y3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOworfQorCit9IGNhdGNoIChleCkgeworICAgIHNwdXRu
aWtFeGNlcHRpb24gPSBleDsKK30KKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8
L3NjcmlwdD4KKworPHNjcmlwdD4KK2lmICghc3VjY2Vzc2Z1bGx5UGFyc2VkKQorICAgIHByaW50
VGVzdEZhaWxlZCgnc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIG5vdCBzZXQnKTsKK2Vsc2UgaWYgKHNw
dXRuaWtFeGNlcHRpb24pCisgICAgcHJpbnRUZXN0RmFpbGVkKHNwdXRuaWtFeGNlcHRpb24pOwor
ZWxzZQorICAgIHByaW50VGVzdFBhc3NlZCgiIik7Cit0ZXN0UHJpbnQoJzxiciAvPjxzcGFuIGNs
YXNzPSJwYXNzIj5URVNUIENPTVBMRVRFPC9zcGFuPicpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zcHV0bmlrL0NvbmZvcm1hbmNlLzE1X05h
dGl2ZV9PYmplY3RzLzE1LjRfQXJyYXkvMTUuNC40LzE1LjQuNC41X0FycmF5X3Byb3RvdHlwZV9q
b2luL1MxNS40LjQuNV9BNF9UMy5odG1sIGIvTGF5b3V0VGVzdHMvc3B1dG5pay9Db25mb3JtYW5j
ZS8xNV9OYXRpdmVfT2JqZWN0cy8xNS40X0FycmF5LzE1LjQuNC8xNS40LjQuNV9BcnJheV9wcm90
b3R5cGVfam9pbi9TMTUuNC40LjVfQTRfVDMuaHRtbAppbmRleCBkZDhkY2MxMjJhOWIwMWE5MzA0
MGM3NmE1ZTg3ZmVhZDUxNzk4M2IzLi5kZjZiNTEwN2FiZWM5YjdjMWU3YWE4OWVjMzUwYjRhNWZj
Nzc3NzU4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zcHV0bmlrL0NvbmZvcm1hbmNlLzE1X05h
dGl2ZV9PYmplY3RzLzE1LjRfQXJyYXkvMTUuNC40LzE1LjQuNC41X0FycmF5X3Byb3RvdHlwZV9q
b2luL1MxNS40LjQuNV9BNF9UMy5odG1sCisrKyBiL0xheW91dFRlc3RzL3NwdXRuaWsvQ29uZm9y
bWFuY2UvMTVfTmF0aXZlX09iamVjdHMvMTUuNF9BcnJheS8xNS40LjQvMTUuNC40LjVfQXJyYXlf
cHJvdG90eXBlX2pvaW4vUzE1LjQuNC41X0E0X1QzLmh0bWwKQEAgLTgwLDggKzgwLDggQEAgb2Jq
WzJdID0gInoiOwogb2JqLmxlbmd0aCA9IC00Mjk0OTY3Mjk0OwogCiAvL0NIRUNLIzEKLWlmIChv
Ymouam9pbigiIikgIT09ICIiKSB7Ci0gIHRlc3RGYWlsZWQoJyMxOiB2YXIgb2JqID0ge307IG9i
ai5qb2luID0gQXJyYXkucHJvdG90eXBlLmpvaW47IG9ialswXSA9ICJ4Ijsgb2JqWzFdID0gInki
OyBvYmpbMl0gPSAieiI7IG9iai5sZW5ndGggPSAtNDI5NDk2NzI5NDsgb2JqLmpvaW4oIiIpID09
PSAiIi4gQWN0dWFsOiAnICsgKG9iai5qb2luKCIiKSkpOworaWYgKG9iai5qb2luKCIiKSAhPT0g
Inh5IikgeworICB0ZXN0RmFpbGVkKCcjMTogdmFyIG9iaiA9IHt9OyBvYmouam9pbiA9IEFycmF5
LnByb3RvdHlwZS5qb2luOyBvYmpbMF0gPSAieCI7IG9ialsxXSA9ICJ5Ijsgb2JqWzJdID0gInoi
OyBvYmoubGVuZ3RoID0gLTQyOTQ5NjcyOTQ7IG9iai5qb2luKCIiKSA9PT0gInh5Ii4gQWN0dWFs
OiAnICsgKG9iai5qb2luKCIiKSkpOwogfQogCiAvL0NIRUNLIzIK
</data>

          </attachment>
      

    </bug>

</bugzilla>