<?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>307353</bug_id>
          
          <creation_ts>2026-02-09 10:29:35 -0800</creation_ts>
          <short_desc>REGRESSION(307061@main): Several JetStream3 regressions</short_desc>
          <delta_ts>2026-02-09 10:32:12 -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>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>307266</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>2179505</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2026-02-09 10:29:35 -0800</bug_when>
    <thetext>https://commits.webkit.org/307061@main introduced a regression:
Several JetStream3 regressions

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>2179507</commentid>
    <comment_count>1</comment_count>
      <attachid>478294</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2026-02-09 10:29:41 -0800</bug_when>
    <thetext>Created attachment 478294
REVERT of 307061@main

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 revert will be successful.  This process takes approximately 15 minutes.

If you would like to land the revert 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>2179509</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2026-02-09 10:31:42 -0800</bug_when>
    <thetext>Committed 307089@main (2e967edd1dc0): &lt;https://commits.webkit.org/307089@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 478294.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2179510</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2026-02-09 10:32:12 -0800</bug_when>
    <thetext>&lt;rdar://problem/169979430&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>478294</attachid>
            <date>2026-02-09 10:29:41 -0800</date>
            <delta_ts>2026-02-09 10:31:43 -0800</delta_ts>
            <desc>REVERT of 307061@main</desc>
            <filename>bug-307353-20260209182941.patch</filename>
            <type>text/plain</type>
            <size>37338</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">RnJvbSBiYjA3Y2Q3OTliM2Y5ZGRjMTkzZDI3ODI5ZjQwNTAyZTVmODk5Njk4IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBDb21taXQgUXVldWUgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3Jn
PgpEYXRlOiBNb24sIDkgRmViIDIwMjYgMTg6Mjk6MzggKzAwMDAKU3ViamVjdDogW1BBVENIXSBV
bnJldmlld2VkLCByZXZlcnRpbmcgMzA3MDYxQG1haW4uCiBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MzA3MzUzCgpTZXZlcmFsIEpldFN0cmVhbTMgcmVncmVzc2lvbnMK
ClJldmVydGVkIGNoYW5nZXNldDoKCiJbSlNDXSBBZGQgQXJpdGhEaXYoSW50NTJVc2UsIEludDUy
VXNlKSBpbiBERkcgLyBGVEwiCmh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0zMDcyNjYKaHR0cHM6Ly9jb21taXRzLndlYmtpdC5vcmcvMzA3MDYxQG1haW4KLS0tCiAuLi4v
ZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmggICAgICAgfCAgMzAgKy0KIC4uLi9k
ZmcvREZHQmFja3dhcmRzUHJvcGFnYXRpb25QaGFzZS5jcHAgICAgICB8ICAgMyAtCiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR0ZpeHVwUGhhc2UuY3BwICAgfCAgIDkgKy0KIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHR3JhcGguaCAgICAgICAgICB8ICAgMiArLQogLi4uL2RmZy9E
RkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHAgICAgIHwgICA0ICstCiAuLi4vSmF2YVNj
cmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcCAgfCAxMTAgKy0tLS0tCiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAgfCAgMzMgLS0KIEpTVGVzdHMv
c3RyZXNzL2ludDUyLWFyaXRoLWRpdi1sb2dpY2FsLW5vdC5qcyB8IDEyNyAtLS0tLS0tCiAuLi5p
bnQ1Mi1hcml0aC1kaXYtd2l0aC1vdmVyZmxvdy11bmNoZWNrZWQuanMgfCAxNzkgLS0tLS0tLS0t
CiBKU1Rlc3RzL3N0cmVzcy9pbnQ1Mi1hcml0aC1kaXYuanMgICAgICAgICAgICAgfCAzNTQgLS0t
LS0tLS0tLS0tLS0tLS0tCiAxMCBmaWxlcyBjaGFuZ2VkLCAxNSBpbnNlcnRpb25zKCspLCA4MzYg
ZGVsZXRpb25zKC0pCiBkZWxldGUgbW9kZSAxMDA2NDQgSlNUZXN0cy9zdHJlc3MvaW50NTItYXJp
dGgtZGl2LWxvZ2ljYWwtbm90LmpzCiBkZWxldGUgbW9kZSAxMDA2NDQgSlNUZXN0cy9zdHJlc3Mv
aW50NTItYXJpdGgtZGl2LXdpdGgtb3ZlcmZsb3ctdW5jaGVja2VkLmpzCiBkZWxldGUgbW9kZSAx
MDA2NDQgSlNUZXN0cy9zdHJlc3MvaW50NTItYXJpdGgtZGl2LmpzCgpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5o
CmluZGV4IDEwNWFhMjA2YmRlYi4uZjUyYzdmOGMwZTExIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oCkBA
IC0zODAsMjkgKzM4MCwxMiBAQCBib29sIEFic3RyYWN0SW50ZXJwcmV0ZXI8QWJzdHJhY3RTdGF0
ZVR5cGU+OjpoYW5kbGVDb25zdGFudERpdk9wKE5vZGUqIG5vZGUpCiAgICAgICAgICAgICBpZiAo
aXNEaXZPcGVyYXRpb24pIHsKICAgICAgICAgICAgICAgICBkb3VibGUgZG91YmxlUmVzdWx0ID0g
bGVmdC5hc051bWJlcigpIC8gcmlnaHQuYXNOdW1iZXIoKTsKIAotICAgICAgICAgICAgICAgIGlm
IChub2RlLT5jaGlsZDEoKS51c2VLaW5kKCkgPT0gSW50NTJSZXBVc2UpIHsKLSAgICAgICAgICAg
ICAgICAgICAgaWYgKG5vZGUtPmhhc0FyaXRoTW9kZSgpKSB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICBpZiAoIXNob3VsZENoZWNrT3ZlcmZsb3cobm9kZS0+YXJpdGhNb2RlKCkpKSB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHN0ZDo6aXNuYW4oZG91YmxlUmVzdWx0KSB8fCBz
dGQ6OmlzaW5mKGRvdWJsZVJlc3VsdCkpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGRvdWJsZVJlc3VsdCA9IDA7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZQotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb3VibGVSZXN1bHQgPSB0cnVuYyhkb3VibGVS
ZXN1bHQpOwotICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICghc2hvdWxkQ2hlY2tO
ZWdhdGl2ZVplcm8obm9kZS0+YXJpdGhNb2RlKCkpKQotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGRvdWJsZVJlc3VsdCArPSAwOyAvLyBTYW5pdGl6ZXMgemVyby4KLSAgICAgICAgICAgICAg
ICAgICAgfQotICAgICAgICAgICAgICAgICAgICBpZiAodHJ5Q29udmVydFRvSW50NTIoZG91Ymxl
UmVzdWx0KSAhPSBKU1ZhbHVlOjpub3RJbnQ1MikgewotICAgICAgICAgICAgICAgICAgICAgICAg
aWYgKGlzQ2xvYmJlcmluZykKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWRGb2xkQ2xv
YmJlcldvcmxkKCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBzZXRDb25zdGFudChub2RlLCBq
c051bWJlcihkb3VibGVSZXN1bHQpKTsKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAg
ICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChpc0Nsb2JiZXJpbmcpCi0g
ICAgICAgICAgICAgICAgICAgICAgICBkaWRGb2xkQ2xvYmJlcldvcmxkKCk7Ci0gICAgICAgICAg
ICAgICAgICAgIGlmIChvcCA9PSBWYWx1ZURpdikKLSAgICAgICAgICAgICAgICAgICAgICAgIHNl
dENvbnN0YW50KG5vZGUsIGpzTnVtYmVyKGRvdWJsZVJlc3VsdCkpOwotICAgICAgICAgICAgICAg
ICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgICAgICBzZXRDb25zdGFudChub2RlLCBqc0Rv
dWJsZU51bWJlcihkb3VibGVSZXN1bHQpKTsKLSAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICAgICAgaWYgKGlzQ2xvYmJlcmluZykKKyAgICAgICAgICAgICAgICAgICAgZGlkRm9sZENsb2Ji
ZXJXb3JsZCgpOworICAgICAgICAgICAgICAgIGlmIChvcCA9PSBWYWx1ZURpdikKKyAgICAgICAg
ICAgICAgICAgICAgc2V0Q29uc3RhbnQobm9kZSwganNOdW1iZXIoZG91YmxlUmVzdWx0KSk7Cisg
ICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICBzZXRDb25zdGFudChub2Rl
LCBqc0RvdWJsZU51bWJlcihkb3VibGVSZXN1bHQpKTsKICAgICAgICAgICAgIH0gZWxzZSB7CiAg
ICAgICAgICAgICAgICAgZG91YmxlIGRvdWJsZVJlc3VsdCA9IGZtb2QobGVmdC5hc051bWJlcigp
LCByaWdodC5hc051bWJlcigpKTsKIApAQCAtMTM0Miw2ICsxMzI1LDcgQEAgYm9vbCBBYnN0cmFj
dEludGVycHJldGVyPEFic3RyYWN0U3RhdGVUeXBlPjo6ZXhlY3V0ZUVmZmVjdHModW5zaWduZWQg
Y2xvYmJlckxpbWkKICAgICAgICAgICAgIHNldE5vbkNlbGxUeXBlRm9yTm9kZShub2RlLCBTcGVj
SW50MzJPbmx5KTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIEludDUyUmVwVXNl
OgorICAgICAgICAgICAgQVNTRVJUKG5vZGUtPm9wKCkgPT0gQXJpdGhNb2QpOwogICAgICAgICAg
ICAgc2V0Tm9uQ2VsbFR5cGVGb3JOb2RlKG5vZGUsIFNwZWNJbnQ1MkFueSk7CiAgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgY2FzZSBEb3VibGVSZXBVc2U6CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR0JhY2t3YXJkc1Byb3BhZ2F0aW9uUGhhc2UuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCYWNrd2FyZHNQcm9wYWdhdGlvblBoYXNlLmNwcApp
bmRleCBiNGQzNTZjMGQ5M2MuLjMyZTJiM2YyMTQzMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdCYWNrd2FyZHNQcm9wYWdhdGlvblBoYXNlLmNwcAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0JhY2t3YXJkc1Byb3BhZ2F0aW9uUGhhc2UuY3BwCkBA
IC01MjksOSArNTI5LDYgQEAgcHJpdmF0ZToKICAgICAgICAgICAgICAgICAvLyBXZSBjYW4gY2xl
YXIgdGhpcyBmbGFnIHNpbmNlIE1vZCBhbmQgRGl2IG5ldmVyIHByb2R1Y2VzIEluZmluaXR5LiBJ
dCBpcyBvbmx5IE5hTi4KICAgICAgICAgICAgICAgICBmbGFncyAmPSB+Tm9kZUJ5dGVjb2RlTmVl
ZHNOYU5PckluZmluaXR5OwogICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgLy8g
Tk9URTogV2UgaW50ZW50aW9uYWxseSBkbyBOT1QgY2xlYXIgTm9kZUJ5dGVjb2RlTmVlZHNOYU5P
ckluZmluaXR5IGZvciBBcml0aERpdi9WYWx1ZURpdi4KLSAgICAgICAgICAgIC8vIERpdmlzaW9u
IGJ5IHplcm8gcHJvZHVjZXMgwrFJbmZpbml0eSAobm90IE5hTiksIGFuZCAhSW5maW5pdHkgaXMg
ZmFsc2UsIHdoaWxlIGNoaWxsRGl2Ci0gICAgICAgICAgICAvLyByZXR1cm5zIDAgZm9yIHplcm8t
ZGl2aXNvciBhbmQgITAgaXMgdHJ1ZSDigJQgYSBkaWZmZXJlbnQgcmVzdWx0LgogICAgICAgICAg
ICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRml4dXBQaGFzZS5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0ZpeHVwUGhhc2UuY3BwCmluZGV4IDkxZTk5MzU2ZGIz
ZS4uMmFiZjlkYzA0NDI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0ZpeHVwUGhhc2UuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRml4dXBQ
aGFzZS5jcHAKQEAgLTEzMywxNSArMTMzLDEwIEBAIHByaXZhdGU6CiAgICAgICAgICAgICByZXR1
cm47CiAgICAgICAgIH0KIAotICAgICAgICBpZiAobV9ncmFwaC5kaXZTaG91bGRTcGVjdWxhdGVJ
bnQ1Mihub2RlKSkgeworICAgICAgICBpZiAoKG5vZGUtPm9wKCkgPT0gQXJpdGhNb2QgfHwgbm9k
ZS0+b3AoKSA9PSBWYWx1ZU1vZCkgJiYgbV9ncmFwaC5tb2RTaG91bGRTcGVjdWxhdGVJbnQ1Mihu
b2RlKSkgewogICAgICAgICAgICAgZml4RWRnZTxJbnQ1MlJlcFVzZT4obGVmdENoaWxkKTsKICAg
ICAgICAgICAgIGZpeEVkZ2U8SW50NTJSZXBVc2U+KHJpZ2h0Q2hpbGQpOwotCi0gICAgICAgICAg
ICAvLyBXZSBuZWVkIHRvIGJlIGNhcmVmdWwgYWJvdXQgc2tpcHBpbmcgb3ZlcmZsb3cgY2hlY2sg
YmVjYXVzZSBkaXYgLyBtb2QgY2FuIGdlbmVyYXRlIG5vbiBpbnRlZ2VyIHZhbHVlcwotICAgICAg
ICAgICAgLy8gZnJvbSAoSW50NTIsIEludDUyKSBpbnB1dHMuIEZvciBub3csIHdlIGFsd2F5cyBj
aGVjayBub24temVybyBkaXZpc29yLgotICAgICAgICAgICAgaWYgKCgobm9kZS0+b3AoKSA9PSBB
cml0aERpdiB8fCBub2RlLT5vcCgpID09IFZhbHVlRGl2KSAmJiBieXRlY29kZUNhblRydW5jYXRl
SW50ZWdlcihub2RlLT5hcml0aE5vZGVGbGFncygpKSkKLSAgICAgICAgICAgICAgICAmJiBieXRl
Y29kZUNhbklnbm9yZU5hTkFuZEluZmluaXR5KG5vZGUtPmFyaXRoTm9kZUZsYWdzKCkpCi0gICAg
ICAgICAgICAgICAgJiYgYnl0ZWNvZGVDYW5JZ25vcmVOZWdhdGl2ZVplcm8obm9kZS0+YXJpdGhO
b2RlRmxhZ3MoKSkpCisgICAgICAgICAgICBpZiAoYnl0ZWNvZGVDYW5JZ25vcmVOYU5BbmRJbmZp
bml0eShub2RlLT5hcml0aE5vZGVGbGFncygpKSAmJiBieXRlY29kZUNhbklnbm9yZU5lZ2F0aXZl
WmVybyhub2RlLT5hcml0aE5vZGVGbGFncygpKSkKICAgICAgICAgICAgICAgICBub2RlLT5zZXRB
cml0aE1vZGUoQXJpdGg6OlVuY2hlY2tlZCk7CiAgICAgICAgICAgICBlbHNlIGlmIChieXRlY29k
ZUNhbklnbm9yZU5lZ2F0aXZlWmVybyhub2RlLT5hcml0aE5vZGVGbGFncygpKSkKICAgICAgICAg
ICAgICAgICBub2RlLT5zZXRBcml0aE1vZGUoQXJpdGg6OkNoZWNrT3ZlcmZsb3cpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdHcmFwaC5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdHcmFwaC5oCmluZGV4IDIzMzNkYzJlMmY1MS4uYjk0ODRjOGM3ODJm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0dyYXBoLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdHcmFwaC5oCkBAIC00MTgsNyArNDE4LDcgQEAg
cHVibGljOgogICAgICAgICByZXR1cm4gc2hvdWxkU3BlY3VsYXRlSW50NTJGb3JBZGQobGVmdCkg
JiYgc2hvdWxkU3BlY3VsYXRlSW50NTJGb3JBZGQocmlnaHQpOwogICAgIH0KIAotICAgIGJvb2wg
ZGl2U2hvdWxkU3BlY3VsYXRlSW50NTIoTm9kZSogbm9kZSkKKyAgICBib29sIG1vZFNob3VsZFNw
ZWN1bGF0ZUludDUyKE5vZGUqIG5vZGUpCiAgICAgewogICAgICAgICAvLyBUaGlzIGlzIG11Y2gg
bW9yZSByZWxheGVkIGNvbXBhcmVkIHRvIGFkZFNob3VsZFNwZWN1bGF0ZUludDUyLgogICAgICAg
ICAvLyBUaGUgcmVhc29uIGlzIGRvdWJsZSBtb2QgaXMgc28gY29zdGx5LCBzbyBpdCBpcyB3b3J0
aCB0cnlpbmcgd2l0aCBtdWNoIG1vcmUgYWdncmVzc2l2ZWx5IGNvbXBhcmVkIHRvIGFkZFNob3Vs
ZFNwZWN1bGF0ZUludDUyLgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlLmNwcAppbmRleCBiZTI5MTk4ZTMyNmUu
LmE3OThhMjc1ZmY1MiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQ
cmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHAKQEAgLTUyOCw3ICs1MjgsNyBA
QCBwcml2YXRlOgogICAgICAgICAgICAgICAgICAgICAmJiBpc0Z1bGxOdW1iZXJPckJvb2xlYW5T
cGVjdWxhdGlvbkV4cGVjdGluZ0RlZmluZWQocmlnaHQpKSB7CiAgICAgICAgICAgICAgICAgICAg
IGlmIChtX2dyYXBoLmJpbmFyeUFyaXRoU2hvdWxkU3BlY3VsYXRlSW50MzIobm9kZSwgbV9wYXNz
KSkKICAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5nZWQgfD0gbWVyZ2VQcmVkaWN0aW9uKFNw
ZWNJbnQzMk9ubHkpOwotICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChtX2dyYXBoLmRpdlNo
b3VsZFNwZWN1bGF0ZUludDUyKG5vZGUpKQorICAgICAgICAgICAgICAgICAgICBlbHNlIGlmICgo
b3AgPT0gVmFsdWVNb2QgfHwgb3AgPT0gQXJpdGhNb2QpICYmIG1fZ3JhcGgubW9kU2hvdWxkU3Bl
Y3VsYXRlSW50NTIobm9kZSkpCiAgICAgICAgICAgICAgICAgICAgICAgICBjaGFuZ2VkIHw9IG1l
cmdlUHJlZGljdGlvbihTcGVjSW50NTJBbnkpOwogICAgICAgICAgICAgICAgICAgICBlbHNlCiAg
ICAgICAgICAgICAgICAgICAgICAgICBjaGFuZ2VkIHw9IG1lcmdlUHJlZGljdGlvbihTcGVjQnl0
ZWNvZGVEb3VibGUpOwpAQCAtODYxLDcgKzg2MSw3IEBAIHByaXZhdGU6CiAgICAgICAgICAgICBp
ZiAoaXNGdWxsTnVtYmVyU3BlY3VsYXRpb24obGVmdCkKICAgICAgICAgICAgICAgICAmJiBpc0Z1
bGxOdW1iZXJTcGVjdWxhdGlvbihyaWdodCkKICAgICAgICAgICAgICAgICAmJiAhbV9ncmFwaC5i
aW5hcnlBcml0aFNob3VsZFNwZWN1bGF0ZUludDMyKG5vZGUsIG1fcGFzcykKLSAgICAgICAgICAg
ICAgICAmJiAhbV9ncmFwaC5kaXZTaG91bGRTcGVjdWxhdGVJbnQ1Mihub2RlKSkKKyAgICAgICAg
ICAgICAgICAmJiAhKChub2RlLT5vcCgpID09IEFyaXRoTW9kIHx8IG5vZGUtPm9wKCkgPT0gVmFs
dWVNb2QpICYmIG1fZ3JhcGgubW9kU2hvdWxkU3BlY3VsYXRlSW50NTIobm9kZSkpKQogICAgICAg
ICAgICAgICAgIGJhbGxvdCA9IFZvdGVEb3VibGU7CiAgICAgICAgICAgICBlbHNlCiAgICAgICAg
ICAgICAgICAgYmFsbG90ID0gVm90ZVZhbHVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAppbmRleCAyNWQ4MmQ4MDQxNzAuLjM4N2MxN2EyYjE1
MiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJ
VC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5j
cHAKQEAgLTYwMTQsMTIwICs2MDE0LDE2IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVB
cml0aERpdihOb2RlKiBub2RlKQogI2VuZGlmCiAgICAgICAgIGJyZWFrOwogICAgIH0KLQotI2lm
IFVTRShKU1ZBTFVFNjQpCi0gICAgY2FzZSBJbnQ1MlJlcFVzZTogewotICAgICAgICBTcGVjdWxh
dGVTdHJpY3RJbnQ1Mk9wZXJhbmQgb3AxKHRoaXMsIG5vZGUtPmNoaWxkMSgpKTsKLSAgICAgICAg
U3BlY3VsYXRlU3RyaWN0SW50NTJPcGVyYW5kIG9wMih0aGlzLCBub2RlLT5jaGlsZDIoKSk7Ci0K
LSAgICAgICAgR1BSUmVnIG9wMUdQUiA9IG9wMS5ncHIoKTsKLSAgICAgICAgR1BSUmVnIG9wMkdQ
UiA9IG9wMi5ncHIoKTsKLQotI2lmIENQVShYODZfNjQpCi0gICAgICAgIEdQUlRlbXBvcmFyeSBl
YXgodGhpcywgWDg2UmVnaXN0ZXJzOjplYXgpOwotICAgICAgICBHUFJUZW1wb3JhcnkgZWR4KHRo
aXMsIFg4NlJlZ2lzdGVyczo6ZWR4KTsKLQotICAgICAgICBHUFJSZWcgb3AxU2F2ZUdQUjsKLSAg
ICAgICAgaWYgKG9wMUdQUiA9PSBYODZSZWdpc3RlcnM6OmVheCB8fCBvcDFHUFIgPT0gWDg2UmVn
aXN0ZXJzOjplZHgpIHsKLSAgICAgICAgICAgIG9wMVNhdmVHUFIgPSBhbGxvY2F0ZSgpOwotICAg
ICAgICAgICAgbW92ZShvcDFHUFIsIG9wMVNhdmVHUFIpOwotICAgICAgICB9IGVsc2UKLSAgICAg
ICAgICAgIG9wMVNhdmVHUFIgPSBvcDFHUFI7Ci0KLSAgICAgICAgR1BSUmVnIG9wMlRlbXBHUFIg
PSBJbnZhbGlkR1BSUmVnOwotICAgICAgICBpZiAob3AyR1BSID09IFg4NlJlZ2lzdGVyczo6ZWF4
IHx8IG9wMkdQUiA9PSBYODZSZWdpc3RlcnM6OmVkeCkgewotICAgICAgICAgICAgb3AyVGVtcEdQ
UiA9IGFsbG9jYXRlKCk7Ci0gICAgICAgICAgICBtb3ZlKG9wMkdQUiwgb3AyVGVtcEdQUik7Ci0g
ICAgICAgICAgICBvcDJHUFIgPSBvcDJUZW1wR1BSOwotICAgICAgICB9Ci0KLSAgICAgICAgSnVt
cExpc3QgZG9uZUNhc2VzOwotCi0gICAgICAgIGlmIChzaG91bGRDaGVja092ZXJmbG93KG5vZGUt
PmFyaXRoTW9kZSgpKSkKLSAgICAgICAgICAgIHNwZWN1bGF0aW9uQ2hlY2soSW50NTJPdmVyZmxv
dywgSlNWYWx1ZVJlZ3MoKSwgbnVsbHB0ciwgYnJhbmNoVGVzdDY0KFplcm8sIG9wMkdQUikpOwot
ICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgIEp1bXAgbm90WmVybyA9IGJyYW5jaFRlc3Q2NChO
b25aZXJvLCBvcDJHUFIpOwotICAgICAgICAgICAgbW92ZShUcnVzdGVkSW1tNjQoMCksIFg4NlJl
Z2lzdGVyczo6ZWF4KTsKLSAgICAgICAgICAgIGRvbmVDYXNlcy5hcHBlbmQoanVtcCgpKTsKLQot
ICAgICAgICAgICAgbm90WmVyby5saW5rKHRoaXMpOwotICAgICAgICB9Ci0KLSAgICAgICAgaWYg
KHNob3VsZENoZWNrTmVnYXRpdmVaZXJvKG5vZGUtPmFyaXRoTW9kZSgpKSkgewotICAgICAgICAg
ICAgSnVtcCBudW1lcmF0b3JOb25aZXJvID0gYnJhbmNoVGVzdDY0KE5vblplcm8sIG9wMVNhdmVH
UFIpOwotICAgICAgICAgICAgc3BlY3VsYXRpb25DaGVjayhOZWdhdGl2ZVplcm8sIEpTVmFsdWVS
ZWdzKCksIG51bGxwdHIsIGJyYW5jaDY0KExlc3NUaGFuLCBvcDJHUFIsIFRydXN0ZWRJbW02NCgw
KSkpOwotICAgICAgICAgICAgbnVtZXJhdG9yTm9uWmVyby5saW5rKHRoaXMpOwotICAgICAgICB9
Ci0KLSAgICAgICAgbW92ZShvcDFHUFIsIFg4NlJlZ2lzdGVyczo6ZWF4KTsKLSAgICAgICAgeDg2
Q29udmVydFRvUXVhZFdvcmQ2NCgpOwotICAgICAgICB4ODZEaXY2NChvcDJHUFIpOwotCi0gICAg
ICAgIGlmIChzaG91bGRDaGVja092ZXJmbG93KG5vZGUtPmFyaXRoTW9kZSgpKSkKLSAgICAgICAg
ICAgIHNwZWN1bGF0aW9uQ2hlY2soSW50NTJPdmVyZmxvdywgSlNWYWx1ZVJlZ3MoKSwgbnVsbHB0
ciwgYnJhbmNoVGVzdDY0KE5vblplcm8sIFg4NlJlZ2lzdGVyczo6ZWR4KSk7Ci0KLSAgICAgICAg
ZG9uZUNhc2VzLmxpbmsodGhpcyk7Ci0KLSAgICAgICAgaWYgKG9wMVNhdmVHUFIgIT0gb3AxR1BS
KQotICAgICAgICAgICAgdW5sb2NrKG9wMVNhdmVHUFIpOwotICAgICAgICBpZiAob3AyVGVtcEdQ
UiAhPSBJbnZhbGlkR1BSUmVnKQotICAgICAgICAgICAgdW5sb2NrKG9wMlRlbXBHUFIpOwotCi0g
ICAgICAgIHN0cmljdEludDUyUmVzdWx0KFg4NlJlZ2lzdGVyczo6ZWF4LCBub2RlKTsKLSNlbGlm
IENQVShBUk02NCkKLSAgICAgICAgR1BSVGVtcG9yYXJ5IHF1b3RpZW50KHRoaXMpOwotICAgICAg
ICBHUFJUZW1wb3JhcnkgbXVsdGlwbHlBbnN3ZXIodGhpcyk7Ci0KLSAgICAgICAgR1BSUmVnIHF1
b3RpZW50R1BSID0gcXVvdGllbnQuZ3ByKCk7Ci0gICAgICAgIEdQUlJlZyBtdWx0aXBseUFuc3dl
ckdQUiA9IG11bHRpcGx5QW5zd2VyLmdwcigpOwotCi0gICAgICAgIEp1bXBMaXN0IGRvbmVDYXNl
czsKLQotICAgICAgICBpZiAoc2hvdWxkQ2hlY2tPdmVyZmxvdyhub2RlLT5hcml0aE1vZGUoKSkp
Ci0gICAgICAgICAgICBzcGVjdWxhdGlvbkNoZWNrKEludDUyT3ZlcmZsb3csIEpTVmFsdWVSZWdz
KCksIG51bGxwdHIsIGJyYW5jaFRlc3Q2NChaZXJvLCBvcDJHUFIpKTsKLSAgICAgICAgZWxzZSB7
Ci0gICAgICAgICAgICBKdW1wIG5vdFplcm8gPSBicmFuY2hUZXN0NjQoTm9uWmVybywgb3AyR1BS
KTsKLSAgICAgICAgICAgIG1vdmUoVHJ1c3RlZEltbTY0KDApLCBxdW90aWVudEdQUik7Ci0gICAg
ICAgICAgICBkb25lQ2FzZXMuYXBwZW5kKGp1bXAoKSk7Ci0KLSAgICAgICAgICAgIG5vdFplcm8u
bGluayh0aGlzKTsKLSAgICAgICAgfQotCi0gICAgICAgIGlmIChzaG91bGRDaGVja05lZ2F0aXZl
WmVybyhub2RlLT5hcml0aE1vZGUoKSkpIHsKLSAgICAgICAgICAgIEp1bXAgbnVtZXJhdG9yTm9u
WmVybyA9IGJyYW5jaFRlc3Q2NChOb25aZXJvLCBvcDFHUFIpOwotICAgICAgICAgICAgc3BlY3Vs
YXRpb25DaGVjayhOZWdhdGl2ZVplcm8sIEpTVmFsdWVSZWdzKCksIG51bGxwdHIsIGJyYW5jaDY0
KExlc3NUaGFuLCBvcDJHUFIsIFRydXN0ZWRJbW02NCgwKSkpOwotICAgICAgICAgICAgbnVtZXJh
dG9yTm9uWmVyby5saW5rKHRoaXMpOwotICAgICAgICB9Ci0KLSAgICAgICAgZGl2NjQob3AxR1BS
LCBvcDJHUFIsIHF1b3RpZW50R1BSKTsKLQotICAgICAgICAvLyBDaGVjayB0aGF0IHRoZSBkaXZp
c2lvbiB3YXMgZXhhY3Q6IHF1b3RpZW50ICogZGVub21pbmF0b3IgbXVzdCBlcXVhbCBudW1lcmF0
b3IuCi0gICAgICAgIC8vIE5vIG5lZWQgdG8gY2hlY2sgZm9yIG11bHRpcGxpY2F0aW9uIG92ZXJm
bG93OiBib3RoIG9wZXJhbmRzIGFyZSBJbnQ1MiwgYW5kCi0gICAgICAgIC8vIHxxdW90aWVudHwg
PD0gfG51bWVyYXRvcnwgKGludGVnZXIgZGl2aXNpb24gY2FuJ3QgaW5jcmVhc2UgbWFnbml0dWRl
KSwgc28KLSAgICAgICAgLy8gfHF1b3RpZW50ICogZGVub21pbmF0b3J8IDw9IHxudW1lcmF0b3J8
IHdoaWNoIGZpdHMgaW4gSW50NTIsIGxldCBhbG9uZSBpbnQ2NC4KLSAgICAgICAgaWYgKHNob3Vs
ZENoZWNrT3ZlcmZsb3cobm9kZS0+YXJpdGhNb2RlKCkpKSB7Ci0gICAgICAgICAgICBtdWw2NChx
dW90aWVudEdQUiwgb3AyR1BSLCBtdWx0aXBseUFuc3dlckdQUik7Ci0gICAgICAgICAgICBzcGVj
dWxhdGlvbkNoZWNrKEludDUyT3ZlcmZsb3csIEpTVmFsdWVSZWdzKCksIG51bGxwdHIsIGJyYW5j
aDY0KE5vdEVxdWFsLCBtdWx0aXBseUFuc3dlckdQUiwgb3AxR1BSKSk7Ci0gICAgICAgIH0KLQot
ICAgICAgICBkb25lQ2FzZXMubGluayh0aGlzKTsKLSAgICAgICAgc3RyaWN0SW50NTJSZXN1bHQo
cXVvdGllbnRHUFIsIG5vZGUpOwotI2Vsc2UKLSAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JF
QUNIRUQoKTsKLSNlbmRpZgotICAgICAgICBicmVhazsKLSAgICB9Ci0jZW5kaWYgLy8gVVNFKEpT
VkFMVUU2NCkKLQorICAgICAgICAKICAgICBjYXNlIERvdWJsZVJlcFVzZTogewogICAgICAgICBT
cGVjdWxhdGVEb3VibGVPcGVyYW5kIG9wMSh0aGlzLCBub2RlLT5jaGlsZDEoKSk7CiAgICAgICAg
IFNwZWN1bGF0ZURvdWJsZU9wZXJhbmQgb3AyKHRoaXMsIG5vZGUtPmNoaWxkMigpKTsKICAgICAg
ICAgRlBSVGVtcG9yYXJ5IHJlc3VsdCh0aGlzLCBvcDEpOwotCisgICAgICAgIAogICAgICAgICBG
UFJSZWcgcmVnMSA9IG9wMS5mcHIoKTsKICAgICAgICAgRlBSUmVnIHJlZzIgPSBvcDIuZnByKCk7
CiAgICAgICAgIGRpdkRvdWJsZShyZWcxLCByZWcyLCByZXN1bHQuZnByKCkpOwotCisgICAgICAg
IAogICAgICAgICBkb3VibGVSZXN1bHQocmVzdWx0LmZwcigpLCBub2RlKTsKICAgICAgICAgYnJl
YWs7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dl
ckRGR1RvQjMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvQjMu
Y3BwCmluZGV4IDYyZWM1ZTlmYWZjYi4uNmZmN2E4NjFkZTA5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvQjMuY3BwCkBAIC0zMjE3LDM5ICszMjE3LDYgQEAg
cHJpdmF0ZToKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAKLSAgICAgICAgY2FzZSBJ
bnQ1MlJlcFVzZTogewotICAgICAgICAgICAgTFZhbHVlIG51bWVyYXRvciA9IGxvd1N0cmljdElu
dDUyKG1fbm9kZS0+Y2hpbGQxKCkpOwotICAgICAgICAgICAgTFZhbHVlIGRlbm9taW5hdG9yID0g
bG93U3RyaWN0SW50NTIobV9ub2RlLT5jaGlsZDIoKSk7Ci0KLSAgICAgICAgICAgIGlmIChzaG91
bGRDaGVja05lZ2F0aXZlWmVybyhtX25vZGUtPmFyaXRoTW9kZSgpKSkgewotICAgICAgICAgICAg
ICAgIExCYXNpY0Jsb2NrIHplcm9OdW1lcmF0b3IgPSBtX291dC5uZXdCbG9jaygpOwotICAgICAg
ICAgICAgICAgIExCYXNpY0Jsb2NrIG51bWVyYXRvckNvbnRpbnVhdGlvbiA9IG1fb3V0Lm5ld0Js
b2NrKCk7Ci0KLSAgICAgICAgICAgICAgICBtX291dC5icmFuY2goCi0gICAgICAgICAgICAgICAg
ICAgIG1fb3V0LmlzWmVybzY0KG51bWVyYXRvciksCi0gICAgICAgICAgICAgICAgICAgIHJhcmVs
eSh6ZXJvTnVtZXJhdG9yKSwgdXN1YWxseShudW1lcmF0b3JDb250aW51YXRpb24pKTsKLQotICAg
ICAgICAgICAgICAgIExCYXNpY0Jsb2NrIGlubmVyTGFzdE5leHQgPSBtX291dC5hcHBlbmRUbyh6
ZXJvTnVtZXJhdG9yLCBudW1lcmF0b3JDb250aW51YXRpb24pOwotCi0gICAgICAgICAgICAgICAg
c3BlY3VsYXRlKAotICAgICAgICAgICAgICAgICAgICBOZWdhdGl2ZVplcm8sIG5vVmFsdWUoKSwg
bnVsbHB0ciwgbV9vdXQubGVzc1RoYW4oZGVub21pbmF0b3IsIG1fb3V0LmludDY0WmVybykpOwot
Ci0gICAgICAgICAgICAgICAgbV9vdXQuanVtcChudW1lcmF0b3JDb250aW51YXRpb24pOwotCi0g
ICAgICAgICAgICAgICAgbV9vdXQuYXBwZW5kVG8obnVtZXJhdG9yQ29udGludWF0aW9uLCBpbm5l
ckxhc3ROZXh0KTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgaWYgKHNob3VsZENoZWNr
T3ZlcmZsb3cobV9ub2RlLT5hcml0aE1vZGUoKSkpIHsKLSAgICAgICAgICAgICAgICBzcGVjdWxh
dGUoSW50NTJPdmVyZmxvdywgbm9WYWx1ZSgpLCBudWxscHRyLCBtX291dC5pc1plcm82NChkZW5v
bWluYXRvcikpOwotICAgICAgICAgICAgICAgIExWYWx1ZSByZXN1bHQgPSBtX291dC5kaXYobnVt
ZXJhdG9yLCBkZW5vbWluYXRvcik7Ci0gICAgICAgICAgICAgICAgc3BlY3VsYXRlKEludDUyT3Zl
cmZsb3csIG5vVmFsdWUoKSwgbnVsbHB0ciwgbV9vdXQubm90RXF1YWwobV9vdXQubXVsKHJlc3Vs
dCwgZGVub21pbmF0b3IpLCBudW1lcmF0b3IpKTsKLSAgICAgICAgICAgICAgICBzZXRTdHJpY3RJ
bnQ1MihyZXN1bHQpOwotICAgICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICAgICAgc2V0U3Ry
aWN0SW50NTIobV9vdXQuY2hpbGxEaXYobnVtZXJhdG9yLCBkZW5vbWluYXRvcikpOwotCi0gICAg
ICAgICAgICBicmVhazsKLSAgICAgICAgfQotCiAgICAgICAgIGNhc2UgRG91YmxlUmVwVXNlOiB7
CiAgICAgICAgICAgICBzZXREb3VibGUobV9vdXQuZG91YmxlRGl2KAogICAgICAgICAgICAgICAg
IGxvd0RvdWJsZShtX25vZGUtPmNoaWxkMSgpKSwgbG93RG91YmxlKG1fbm9kZS0+Y2hpbGQyKCkp
KSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3N0cmVzcy9pbnQ1Mi1hcml0aC1kaXYtbG9naWNhbC1u
b3QuanMgYi9KU1Rlc3RzL3N0cmVzcy9pbnQ1Mi1hcml0aC1kaXYtbG9naWNhbC1ub3QuanMKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI0MDA4YTQ2NzVhYi4uMDAwMDAwMDAwMDAwCi0t
LSBhL0pTVGVzdHMvc3RyZXNzL2ludDUyLWFyaXRoLWRpdi1sb2dpY2FsLW5vdC5qcworKysgL2Rl
di9udWxsCkBAIC0xLDEyNyArMCwwIEBACi0vLyBUZXN0IHRoYXQgTG9naWNhbE5vdCBkb2VzIE5P
VCBpbmNvcnJlY3RseSBjbGVhciBOb2RlQnl0ZWNvZGVOZWVkc05hTk9ySW5maW5pdHkKLS8vIGZv
ciBBcml0aERpdi4gRGl2aXNpb24gYnkgemVybyBwcm9kdWNlcyDCsUluZmluaXR5LCBhbmQgIUlu
ZmluaXR5IGlzIGZhbHNlLgotLy8gSWYgdGhlIGZsYWcgd2VyZSBpbmNvcnJlY3RseSBjbGVhcmVk
LCBjaGlsbERpdiB3b3VsZCByZXR1cm4gMCBmb3IgemVyby1kaXZpc29yLAotLy8gYW5kICEwIHdv
dWxkIGJlIHRydWUg4oCUIGEgd3JvbmcgcmVzdWx0LgotCi0vLyA9PT09PSBCYXNpYzogIShpbnQ1
MiAvIDApIHNob3VsZCBiZSBmYWxzZSAoSW5maW5pdHkgaXMgdHJ1dGh5KSA9PT09PQotCi1mdW5j
dGlvbiBkaXZJbnQ1MkxvZ2ljYWxOb3REaXZCeVplcm8oYSwgYikgewotICAgIHJldHVybiAhKGEg
LyBiKTsKLX0KLW5vSW5saW5lKGRpdkludDUyTG9naWNhbE5vdERpdkJ5WmVybyk7Ci0KLS8vIFdh
cm0gdXAgd2l0aCBub3JtYWwgZGl2aXNpb24gZmlyc3Qgc28gdGhlIGZ1bmN0aW9uIGdldHMgSklU
LWNvbXBpbGVkCi1mb3IgKGxldCBpID0gMDsgaSA8IHRlc3RMb29wQ291bnQ7IGkrKykgewotICAg
IGxldCByZXN1bHQgPSBkaXZJbnQ1MkxvZ2ljYWxOb3REaXZCeVplcm8oMjE0NzQ4MzY0OCAqIDYs
IDMpOwotICAgIGlmIChyZXN1bHQgIT09IGZhbHNlKQotICAgICAgICB0aHJvdyAiRkFJTDogZGl2
SW50NTJMb2dpY2FsTm90RGl2QnlaZXJvIG5vcm1hbCwgZ290ICIgKyByZXN1bHQgKyAiIGV4cGVj
dGVkIGZhbHNlIjsKLX0KLQotLy8gTm93IHRlc3QgZGl2aXNpb24gYnkgemVybzogeCAvIDAgPSBJ
bmZpbml0eSwgIUluZmluaXR5ID0gZmFsc2UKLWZvciAobGV0IGkgPSAwOyBpIDwgdGVzdExvb3BD
b3VudDsgaSsrKSB7Ci0gICAgbGV0IHJlc3VsdCA9IGRpdkludDUyTG9naWNhbE5vdERpdkJ5WmVy
bygyMTQ3NDgzNjQ4LCAwKTsKLSAgICAvLyAhSW5maW5pdHkgc2hvdWxkIGJlIGZhbHNlLiBJZiB0
aGUgb3B0aW1pemF0aW9uIGluY29ycmVjdGx5IGNsZWFycwotICAgIC8vIE5lZWRzTmFOT3JJbmZp
bml0eSwgY2hpbGxEaXYgcmV0dXJucyAwLCBhbmQgITAgPSB0cnVlIChXUk9ORykuCi0gICAgaWYg
KHJlc3VsdCAhPT0gZmFsc2UpCi0gICAgICAgIHRocm93ICJGQUlMOiBkaXZJbnQ1MkxvZ2ljYWxO
b3REaXZCeVplcm8gZGl2LWJ5LXplcm8sIGdvdCAiICsgcmVzdWx0ICsgIiBleHBlY3RlZCBmYWxz
ZSI7Ci19Ci0KLS8vID09PT09IE1peGVkOiBhbHRlcm5hdGUgYmV0d2VlbiBub3JtYWwgYW5kIGRp
di1ieS16ZXJvID09PT09Ci0KLWZ1bmN0aW9uIGRpdkludDUyTG9naWNhbE5vdE1peGVkKGEsIGIp
IHsKLSAgICByZXR1cm4gIShhIC8gYik7Ci19Ci1ub0lubGluZShkaXZJbnQ1MkxvZ2ljYWxOb3RN
aXhlZCk7Ci0KLWZvciAobGV0IGkgPSAwOyBpIDwgdGVzdExvb3BDb3VudDsgaSsrKSB7Ci0gICAg
aWYgKGkgJSAyID09PSAwKSB7Ci0gICAgICAgIGxldCByZXN1bHQgPSBkaXZJbnQ1MkxvZ2ljYWxO
b3RNaXhlZCgyMTQ3NDgzNjQ4ICogNCwgMik7Ci0gICAgICAgIGlmIChyZXN1bHQgIT09IGZhbHNl
KQotICAgICAgICAgICAgdGhyb3cgIkZBSUw6IGRpdkludDUyTG9naWNhbE5vdE1peGVkIG5vcm1h
bCwgZ290ICIgKyByZXN1bHQgKyAiIGV4cGVjdGVkIGZhbHNlIjsKLSAgICB9IGVsc2UgewotICAg
ICAgICAvLyBub256ZXJvIC8gMCA9IEluZmluaXR5LCAhSW5maW5pdHkgPSBmYWxzZQotICAgICAg
ICBsZXQgcmVzdWx0ID0gZGl2SW50NTJMb2dpY2FsTm90TWl4ZWQoMjE0NzQ4MzY0OCwgMCk7Ci0g
ICAgICAgIGlmIChyZXN1bHQgIT09IGZhbHNlKQotICAgICAgICAgICAgdGhyb3cgIkZBSUw6IGRp
dkludDUyTG9naWNhbE5vdE1peGVkIGRpdi1ieS16ZXJvLCBnb3QgIiArIHJlc3VsdCArICIgZXhw
ZWN0ZWQgZmFsc2UiOwotICAgIH0KLX0KLQotLy8gPT09PT0gTmVnYXRpdmUgaW5maW5pdHk6IG5l
Z2F0aXZlX2ludDUyIC8gMCA9IC1JbmZpbml0eSwgISgtSW5maW5pdHkpID0gZmFsc2UgPT09PT0K
LQotZnVuY3Rpb24gZGl2SW50NTJMb2dpY2FsTm90TmVnSW5mKGEsIGIpIHsKLSAgICByZXR1cm4g
IShhIC8gYik7Ci19Ci1ub0lubGluZShkaXZJbnQ1MkxvZ2ljYWxOb3ROZWdJbmYpOwotCi1mb3Ig
KGxldCBpID0gMDsgaSA8IHRlc3RMb29wQ291bnQ7IGkrKykgewotICAgIGlmIChpICUgMiA9PT0g
MCkgewotICAgICAgICBsZXQgcmVzdWx0ID0gZGl2SW50NTJMb2dpY2FsTm90TmVnSW5mKC0yMTQ3
NDgzNjQ4ICogNiwgMyk7Ci0gICAgICAgIGlmIChyZXN1bHQgIT09IGZhbHNlKQotICAgICAgICAg
ICAgdGhyb3cgIkZBSUw6IGRpdkludDUyTG9naWNhbE5vdE5lZ0luZiBub3JtYWwsIGdvdCAiICsg
cmVzdWx0ICsgIiBleHBlY3RlZCBmYWxzZSI7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgbGV0IHJl
c3VsdCA9IGRpdkludDUyTG9naWNhbE5vdE5lZ0luZigtMjE0NzQ4MzY0OCwgMCk7Ci0gICAgICAg
IGlmIChyZXN1bHQgIT09IGZhbHNlKQotICAgICAgICAgICAgdGhyb3cgIkZBSUw6IGRpdkludDUy
TG9naWNhbE5vdE5lZ0luZiBuZWctZGl2LWJ5LXplcm8sIGdvdCAiICsgcmVzdWx0ICsgIiBleHBl
Y3RlZCBmYWxzZSI7Ci0gICAgfQotfQotCi0vLyA9PT09PSAwIC8gMCA9IE5hTiwgIU5hTiA9IHRy
dWUgKHRoaXMgaXMgdGhlIE5hTiBjYXNlLCBzaG91bGQgc3RpbGwgd29yaykgPT09PT0KLQotZnVu
Y3Rpb24gZGl2SW50NTJMb2dpY2FsTm90TmFOKGEsIGIpIHsKLSAgICByZXR1cm4gIShhIC8gYik7
Ci19Ci1ub0lubGluZShkaXZJbnQ1MkxvZ2ljYWxOb3ROYU4pOwotCi1mb3IgKGxldCBpID0gMDsg
aSA8IHRlc3RMb29wQ291bnQ7IGkrKykgewotICAgIGlmIChpICUgMyA9PT0gMCkgewotICAgICAg
ICAvLyBOb3JtYWwgY2FzZTogcmVzdWx0IGlzIG5vbnplcm8sICFub256ZXJvID0gZmFsc2UKLSAg
ICAgICAgbGV0IHJlc3VsdCA9IGRpdkludDUyTG9naWNhbE5vdE5hTigyMTQ3NDgzNjQ4ICogNiwg
Myk7Ci0gICAgICAgIGlmIChyZXN1bHQgIT09IGZhbHNlKQotICAgICAgICAgICAgdGhyb3cgIkZB
SUw6IGRpdkludDUyTG9naWNhbE5vdE5hTiBub3JtYWwsIGdvdCAiICsgcmVzdWx0ICsgIiBleHBl
Y3RlZCBmYWxzZSI7Ci0gICAgfSBlbHNlIGlmIChpICUgMyA9PT0gMSkgewotICAgICAgICAvLyBJ
bmZpbml0eSBjYXNlOiBub256ZXJvIC8gMCA9IEluZmluaXR5LCAhSW5maW5pdHkgPSBmYWxzZQot
ICAgICAgICBsZXQgcmVzdWx0ID0gZGl2SW50NTJMb2dpY2FsTm90TmFOKDIxNDc0ODM2NDgsIDAp
OwotICAgICAgICBpZiAocmVzdWx0ICE9PSBmYWxzZSkKLSAgICAgICAgICAgIHRocm93ICJGQUlM
OiBkaXZJbnQ1MkxvZ2ljYWxOb3ROYU4gaW5maW5pdHksIGdvdCAiICsgcmVzdWx0ICsgIiBleHBl
Y3RlZCBmYWxzZSI7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgLy8gTmFOIGNhc2U6IDAgLyAwID0g
TmFOLCAhTmFOID0gdHJ1ZQotICAgICAgICBsZXQgcmVzdWx0ID0gZGl2SW50NTJMb2dpY2FsTm90
TmFOKDAsIDApOwotICAgICAgICBpZiAocmVzdWx0ICE9PSB0cnVlKQotICAgICAgICAgICAgdGhy
b3cgIkZBSUw6IGRpdkludDUyTG9naWNhbE5vdE5hTiBuYW4sIGdvdCAiICsgcmVzdWx0ICsgIiBl
eHBlY3RlZCB0cnVlIjsKLSAgICB9Ci19Ci0KLS8vID09PT09IEV4YWN0IGRpdmlzaW9uIHByb2R1
Y2luZyB6ZXJvOiAhKDAgLyBpbnQ1MikgPSB0cnVlIGZvciBwb3NpdGl2ZSBkaXZpc29yID09PT09
Ci0KLWZ1bmN0aW9uIGRpdkludDUyTG9naWNhbE5vdFplcm9SZXN1bHQoYSwgYikgewotICAgIHJl
dHVybiAhKGEgLyBiKTsKLX0KLW5vSW5saW5lKGRpdkludDUyTG9naWNhbE5vdFplcm9SZXN1bHQp
OwotCi1mb3IgKGxldCBpID0gMDsgaSA8IHRlc3RMb29wQ291bnQ7IGkrKykgewotICAgIC8vIDAg
LyBwb3NpdGl2ZSA9ICswLCAhKCswKSA9IHRydWUKLSAgICBsZXQgcmVzdWx0ID0gZGl2SW50NTJM
b2dpY2FsTm90WmVyb1Jlc3VsdCgwLCAyMTQ3NDgzNjQ4KTsKLSAgICBpZiAocmVzdWx0ICE9PSB0
cnVlKQotICAgICAgICB0aHJvdyAiRkFJTDogZGl2SW50NTJMb2dpY2FsTm90WmVyb1Jlc3VsdCB6
ZXJvLCBnb3QgIiArIHJlc3VsdCArICIgZXhwZWN0ZWQgdHJ1ZSI7Ci19Ci0KLS8vID09PT09IFZl
cmlmeSBBcml0aE1vZCB3aXRoIExvZ2ljYWxOb3Qgc3RpbGwgd29ya3MgKHJlZ3Jlc3Npb24gY2hl
Y2spID09PT09Ci0vLyBNb2QgYnkgemVybyBwcm9kdWNlcyBOYU4sICFOYU4gPSB0cnVlLiBjaGls
bE1vZCByZXR1cm5zIDAsICEwID0gdHJ1ZS4gU2FtZSByZXN1bHQuCi0KLWZ1bmN0aW9uIG1vZElu
dDUyTG9naWNhbE5vdERpdkJ5WmVybyhhLCBiKSB7Ci0gICAgcmV0dXJuICEoYSAlIGIpOwotfQot
bm9JbmxpbmUobW9kSW50NTJMb2dpY2FsTm90RGl2QnlaZXJvKTsKLQotZm9yIChsZXQgaSA9IDA7
IGkgPCB0ZXN0TG9vcENvdW50OyBpKyspIHsKLSAgICBpZiAoaSAlIDIgPT09IDApIHsKLSAgICAg
ICAgbGV0IHJlc3VsdCA9IG1vZEludDUyTG9naWNhbE5vdERpdkJ5WmVybygyMTQ3NDgzNjQ4LCA3
KTsKLSAgICAgICAgaWYgKHJlc3VsdCAhPT0gZmFsc2UpCi0gICAgICAgICAgICB0aHJvdyAiRkFJ
TDogbW9kSW50NTJMb2dpY2FsTm90RGl2QnlaZXJvIG5vcm1hbCwgZ290ICIgKyByZXN1bHQgKyAi
IGV4cGVjdGVkIGZhbHNlIjsKLSAgICB9IGVsc2UgewotICAgICAgICAvLyB4ICUgMCA9IE5hTiwg
IU5hTiA9IHRydWUuIGNoaWxsTW9kIHJldHVybnMgMCwgITAgPSB0cnVlLiBDb3JyZWN0LgotICAg
ICAgICBsZXQgcmVzdWx0ID0gbW9kSW50NTJMb2dpY2FsTm90RGl2QnlaZXJvKDIxNDc0ODM2NDgs
IDApOwotICAgICAgICBpZiAocmVzdWx0ICE9PSB0cnVlKQotICAgICAgICAgICAgdGhyb3cgIkZB
SUw6IG1vZEludDUyTG9naWNhbE5vdERpdkJ5WmVybyBtb2QtYnktemVybywgZ290ICIgKyByZXN1
bHQgKyAiIGV4cGVjdGVkIHRydWUiOwotICAgIH0KLX0KZGlmZiAtLWdpdCBhL0pTVGVzdHMvc3Ry
ZXNzL2ludDUyLWFyaXRoLWRpdi13aXRoLW92ZXJmbG93LXVuY2hlY2tlZC5qcyBiL0pTVGVzdHMv
c3RyZXNzL2ludDUyLWFyaXRoLWRpdi13aXRoLW92ZXJmbG93LXVuY2hlY2tlZC5qcwpkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmU1Yzc1ODA1YWFkLi4wMDAwMDAwMDAwMDAKLS0tIGEv
SlNUZXN0cy9zdHJlc3MvaW50NTItYXJpdGgtZGl2LXdpdGgtb3ZlcmZsb3ctdW5jaGVja2VkLmpz
CisrKyAvZGV2L251bGwKQEAgLTEsMTc5ICswLDAgQEAKLS8vIFRlc3QgSW50NTIgQXJpdGhEaXYg
d2l0aCBBcml0aDo6VW5jaGVja2VkIG1vZGUuCi0vLyBXaGVuIHRoZSByZXN1bHQgb2YgSW50NTIg
ZGl2aXNpb24gZmVlZHMgaW50byBiaXR3aXNlIG9wZXJhdGlvbnMgKGxpa2UgfCAwKSwKLS8vIGJh
Y2t3YXJkIHByb3BhZ2F0aW9uIGNsZWFycyBOb2RlQnl0ZWNvZGVOZWVkc05hTk9ySW5maW5pdHkg
YW5kIE5vZGVCeXRlY29kZU5lZWRzTmVnWmVybywKLS8vIGVuYWJsaW5nIEFyaXRoOjpVbmNoZWNr
ZWQgbW9kZSB3aGljaCBhdm9pZHMgT1NSIGV4aXRzIG9uIGRpdmlzaW9uLWJ5LXplcm8sCi0vLyBu
b24tZXhhY3QgZGl2aXNpb24sIGFuZCBuZWdhdGl2ZS16ZXJvIHJlc3VsdHMuCi0KLS8vID09PT09
IEJhc2ljIEludDUyIGRpdiB3aXRoIHwgMCAoQXJpdGg6OlVuY2hlY2tlZCBwYXRoKSA9PT09PQot
Ci1mdW5jdGlvbiBkaXZJbnQ1MkJpdE9yKGEsIGIpIHsKLSAgICByZXR1cm4gKGEgLyBiKSB8IDA7
Ci19Ci1ub0lubGluZShkaXZJbnQ1MkJpdE9yKTsKLQotLy8gQmFzaWMgSW50NTIgZGl2IHdpdGgg
fCAwIChleGFjdCBkaXZpc2lvbikKLWZvciAobGV0IGkgPSAwOyBpIDwgdGVzdExvb3BDb3VudDsg
aSsrKSB7Ci0gICAgbGV0IHJlc3VsdCA9IGRpdkludDUyQml0T3IoMjE0NzQ4MzY0OCAqIDYsIDMp
OwotICAgIGxldCBleHBlY3RlZCA9ICgyMTQ3NDgzNjQ4ICogNiAvIDMpIHwgMDsKLSAgICBpZiAo
cmVzdWx0ICE9PSBleHBlY3RlZCkKLSAgICAgICAgdGhyb3cgIkZBSUw6IGRpdkludDUyQml0T3Ig
YmFzaWMsIGdvdCAiICsgcmVzdWx0ICsgIiBleHBlY3RlZCAiICsgZXhwZWN0ZWQ7Ci19Ci0KLS8v
IE5vbi1leGFjdCBkaXZpc2lvbjogcmVzdWx0IGlzIHRydW5jYXRlZCBieSB8IDAKLWZvciAobGV0
IGkgPSAwOyBpIDwgdGVzdExvb3BDb3VudDsgaSsrKSB7Ci0gICAgbGV0IHJlc3VsdCA9IGRpdklu
dDUyQml0T3IoMjE0NzQ4MzY0OSwgMik7Ci0gICAgbGV0IGV4cGVjdGVkID0gKDIxNDc0ODM2NDkg
LyAyKSB8IDA7Ci0gICAgaWYgKHJlc3VsdCAhPT0gZXhwZWN0ZWQpCi0gICAgICAgIHRocm93ICJG
QUlMOiBkaXZJbnQ1MkJpdE9yIG5vbi1leGFjdCwgZ290ICIgKyByZXN1bHQgKyAiIGV4cGVjdGVk
ICIgKyBleHBlY3RlZDsKLX0KLQotLy8gTmVnYXRpdmUgbnVtZXJhdG9yCi1mb3IgKGxldCBpID0g
MDsgaSA8IHRlc3RMb29wQ291bnQ7IGkrKykgewotICAgIGxldCByZXN1bHQgPSBkaXZJbnQ1MkJp
dE9yKC00NTAzNTk5NjI3MzcwNDk2LCA0KTsKLSAgICBsZXQgZXhwZWN0ZWQgPSAoLTQ1MDM1OTk2
MjczNzA0OTYgLyA0KSB8IDA7Ci0gICAgaWYgKHJlc3VsdCAhPT0gZXhwZWN0ZWQpCi0gICAgICAg
IHRocm93ICJGQUlMOiBkaXZJbnQ1MkJpdE9yIG5lZ2F0aXZlIG51bWVyYXRvciwgZ290ICIgKyBy
ZXN1bHQgKyAiIGV4cGVjdGVkICIgKyBleHBlY3RlZDsKLX0KLQotLy8gPT09PT0gRGl2aXNpb24g
YnkgemVybyB3aXRoIHwgMCAoQXJpdGg6OlVuY2hlY2tlZCwgc2hvdWxkIE5PVCBPU1IgZXhpdCkg
PT09PT0KLQotZnVuY3Rpb24gZGl2SW50NTJEaXZCeVplcm9CaXRPcihhLCBiKSB7Ci0gICAgcmV0
dXJuIChhIC8gYikgfCAwOwotfQotbm9JbmxpbmUoZGl2SW50NTJEaXZCeVplcm9CaXRPcik7Ci0K
LWZvciAobGV0IGkgPSAwOyBpIDwgdGVzdExvb3BDb3VudDsgaSsrKSB7Ci0gICAgaWYgKGkgJSAy
ID09PSAwKSB7Ci0gICAgICAgIGxldCByZXN1bHQgPSBkaXZJbnQ1MkRpdkJ5WmVyb0JpdE9yKDIx
NDc0ODM2NDggKiA2LCAzKTsKLSAgICAgICAgbGV0IGV4cGVjdGVkID0gKDIxNDc0ODM2NDggKiA2
IC8gMykgfCAwOwotICAgICAgICBpZiAocmVzdWx0ICE9PSBleHBlY3RlZCkKLSAgICAgICAgICAg
IHRocm93ICJGQUlMOiBkaXZJbnQ1MkRpdkJ5WmVyb0JpdE9yIG5vcm1hbCBjYXNlLCBnb3QgIiAr
IHJlc3VsdDsKLSAgICB9IGVsc2UgewotICAgICAgICAvLyB4IC8gMCBpbiBKUyBwcm9kdWNlcyBJ
bmZpbml0eSAob3IgLUluZmluaXR5KSwgSW5maW5pdHkgfCAwID0gMC4KLSAgICAgICAgLy8gV2l0
aCBBcml0aDo6VW5jaGVja2VkLCBjaGlsbERpdiByZXR1cm5zIDAgZm9yIHplcm8gZGVub21pbmF0
b3IsCi0gICAgICAgIC8vIHRoZW4gfCAwIHByb2R1Y2VzIDAuIFNhbWUgcmVzdWx0LgotICAgICAg
ICBsZXQgcmVzdWx0ID0gZGl2SW50NTJEaXZCeVplcm9CaXRPcigyMTQ3NDgzNjQ4LCAwKTsKLSAg
ICAgICAgaWYgKHJlc3VsdCAhPT0gMCkKLSAgICAgICAgICAgIHRocm93ICJGQUlMOiBkaXZJbnQ1
MkRpdkJ5WmVyb0JpdE9yIGRpdi1ieS16ZXJvLCBnb3QgIiArIHJlc3VsdCArICIgZXhwZWN0ZWQg
MCI7Ci0gICAgfQotfQotCi0vLyBQdXJlIGRpdmlzaW9uIGJ5IHplcm8gY2FzZQotZnVuY3Rpb24g
ZGl2SW50NTJBbHdheXNaZXJvRGl2aXNvckJpdE9yKGEpIHsKLSAgICByZXR1cm4gKGEgLyAwKSB8
IDA7Ci19Ci1ub0lubGluZShkaXZJbnQ1MkFsd2F5c1plcm9EaXZpc29yQml0T3IpOwotCi1mb3Ig
KGxldCBpID0gMDsgaSA8IHRlc3RMb29wQ291bnQ7IGkrKykgewotICAgIGxldCByZXN1bHQgPSBk
aXZJbnQ1MkFsd2F5c1plcm9EaXZpc29yQml0T3IoMjE0NzQ4MzY0OCArIGkpOwotICAgIGlmIChy
ZXN1bHQgIT09IDApCi0gICAgICAgIHRocm93ICJGQUlMOiBkaXZJbnQ1MkFsd2F5c1plcm9EaXZp
c29yQml0T3IsIGdvdCAiICsgcmVzdWx0ICsgIiBleHBlY3RlZCAwIjsKLX0KLQotLy8gPT09PT0g
TmVnYXRpdmUgemVybyB3aXRoIHwgMCAoQXJpdGg6OlVuY2hlY2tlZCwgLTAgfCAwID0gMCkgPT09
PT0KLQotZnVuY3Rpb24gZGl2SW50NTJOZWdaZXJvQml0T3IoYSwgYikgewotICAgIHJldHVybiAo
YSAvIGIpIHwgMDsKLX0KLW5vSW5saW5lKGRpdkludDUyTmVnWmVyb0JpdE9yKTsKLQotZm9yIChs
ZXQgaSA9IDA7IGkgPCB0ZXN0TG9vcENvdW50OyBpKyspIHsKLSAgICAvLyAwIC8gLTJeMzEgd291
bGQgYmUgLTAsIGJ1dCB8IDAgbWFrZXMgaXQgKzAgPSAwLgotICAgIGxldCByZXN1bHQgPSBkaXZJ
bnQ1Mk5lZ1plcm9CaXRPcigwLCAtMjE0NzQ4MzY0OCk7Ci0gICAgaWYgKHJlc3VsdCAhPT0gMCkK
LSAgICAgICAgdGhyb3cgIkZBSUw6IGRpdkludDUyTmVnWmVyb0JpdE9yLCBnb3QgIiArIHJlc3Vs
dCArICIgZXhwZWN0ZWQgMCI7Ci19Ci0KLS8vID09PT09IEludDUyIGRpdiB3aXRoIG90aGVyIGJp
dHdpc2Ugb3BlcmF0b3JzIChhbHNvIEFyaXRoOjpVbmNoZWNrZWQpID09PT09Ci0KLWZ1bmN0aW9u
IGRpdkludDUyQml0QW5kKGEsIGIpIHsKLSAgICByZXR1cm4gKGEgLyBiKSAmIDB4N0ZGRkZGRkY7
Ci19Ci1ub0lubGluZShkaXZJbnQ1MkJpdEFuZCk7Ci0KLWZvciAobGV0IGkgPSAwOyBpIDwgdGVz
dExvb3BDb3VudDsgaSsrKSB7Ci0gICAgbGV0IHJlc3VsdCA9IGRpdkludDUyQml0QW5kKDQ1MDM1
OTk2MjczNzA0OTYsIDQpOwotICAgIGxldCBleHBlY3RlZCA9ICg0NTAzNTk5NjI3MzcwNDk2IC8g
NCkgJiAweDdGRkZGRkZGOwotICAgIGlmIChyZXN1bHQgIT09IGV4cGVjdGVkKQotICAgICAgICB0
aHJvdyAiRkFJTDogZGl2SW50NTJCaXRBbmQsIGdvdCAiICsgcmVzdWx0ICsgIiBleHBlY3RlZCAi
ICsgZXhwZWN0ZWQ7Ci19Ci0KLWZ1bmN0aW9uIGRpdkludDUyQml0WG9yKGEsIGIpIHsKLSAgICBy
ZXR1cm4gKGEgLyBiKSBeIDA7Ci19Ci1ub0lubGluZShkaXZJbnQ1MkJpdFhvcik7Ci0KLWZvciAo
bGV0IGkgPSAwOyBpIDwgdGVzdExvb3BDb3VudDsgaSsrKSB7Ci0gICAgbGV0IHJlc3VsdCA9IGRp
dkludDUyQml0WG9yKDIxNDc0ODM2NDggKiA2LCAzKTsKLSAgICBsZXQgZXhwZWN0ZWQgPSAoMjE0
NzQ4MzY0OCAqIDYgLyAzKSBeIDA7Ci0gICAgaWYgKHJlc3VsdCAhPT0gZXhwZWN0ZWQpCi0gICAg
ICAgIHRocm93ICJGQUlMOiBkaXZJbnQ1MkJpdFhvciwgZ290ICIgKyByZXN1bHQgKyAiIGV4cGVj
dGVkICIgKyBleHBlY3RlZDsKLX0KLQotZnVuY3Rpb24gZGl2SW50NTJCaXRTaGlmdChhLCBiKSB7
Ci0gICAgcmV0dXJuIChhIC8gYikgPj4gMDsKLX0KLW5vSW5saW5lKGRpdkludDUyQml0U2hpZnQp
OwotCi1mb3IgKGxldCBpID0gMDsgaSA8IHRlc3RMb29wQ291bnQ7IGkrKykgewotICAgIGxldCBy
ZXN1bHQgPSBkaXZJbnQ1MkJpdFNoaWZ0KDQ1MDM1OTk2MjczNzA0OTYsIDIwOTcxNTIpOwotICAg
IGxldCBleHBlY3RlZCA9ICg0NTAzNTk5NjI3MzcwNDk2IC8gMjA5NzE1MikgPj4gMDsKLSAgICBp
ZiAocmVzdWx0ICE9PSBleHBlY3RlZCkKLSAgICAgICAgdGhyb3cgIkZBSUw6IGRpdkludDUyQml0
U2hpZnQsIGdvdCAiICsgcmVzdWx0ICsgIiBleHBlY3RlZCAiICsgZXhwZWN0ZWQ7Ci19Ci0KLS8v
ID09PT09IFZhcnlpbmcgaW5wdXRzIHRvIHByZXZlbnQgY29uc3RhbnQgZm9sZGluZyA9PT09PQot
Ci1mdW5jdGlvbiBkaXZJbnQ1MlZhcnlpbmdCaXRPcihhLCBiKSB7Ci0gICAgcmV0dXJuIChhIC8g
YikgfCAwOwotfQotbm9JbmxpbmUoZGl2SW50NTJWYXJ5aW5nQml0T3IpOwotCi1mb3IgKGxldCBp
ID0gMDsgaSA8IHRlc3RMb29wQ291bnQ7IGkrKykgewotICAgIGxldCBhID0gKDIxNDc0ODM2NDgg
KyBpKSAqIDc7Ci0gICAgbGV0IGIgPSA3OwotICAgIGxldCByZXN1bHQgPSBkaXZJbnQ1MlZhcnlp
bmdCaXRPcihhLCBiKTsKLSAgICBsZXQgZXhwZWN0ZWQgPSAoYSAvIGIpIHwgMDsKLSAgICBpZiAo
cmVzdWx0ICE9PSBleHBlY3RlZCkKLSAgICAgICAgdGhyb3cgIkZBSUw6IGRpdkludDUyVmFyeWlu
Z0JpdE9yIGF0IGk9IiArIGkgKyAiLCBnb3QgIiArIHJlc3VsdCArICIgZXhwZWN0ZWQgIiArIGV4
cGVjdGVkOwotfQotCi0vLyBWYXJ5aW5nIGlucHV0cyB3aXRoIG9jY2FzaW9uYWwgemVybyBkaXZp
c29yCi1mdW5jdGlvbiBkaXZJbnQ1MlZhcnlpbmdaZXJvQml0T3IoYSwgYikgewotICAgIHJldHVy
biAoYSAvIGIpIHwgMDsKLX0KLW5vSW5saW5lKGRpdkludDUyVmFyeWluZ1plcm9CaXRPcik7Ci0K
LWZvciAobGV0IGkgPSAwOyBpIDwgdGVzdExvb3BDb3VudDsgaSsrKSB7Ci0gICAgbGV0IGEgPSAy
MTQ3NDgzNjQ4ICsgaTsKLSAgICAvLyBFdmVyeSAxMDAwdGggaXRlcmF0aW9uLCBkaXZpc29yIGlz
IDAKLSAgICBsZXQgYiA9IChpICUgMTAwMCA9PT0gMCkgPyAwIDogMTsKLSAgICBsZXQgcmVzdWx0
ID0gZGl2SW50NTJWYXJ5aW5nWmVyb0JpdE9yKGEsIGIpOwotICAgIGxldCBleHBlY3RlZCA9IChh
IC8gYikgfCAwOwotICAgIGlmIChyZXN1bHQgIT09IGV4cGVjdGVkKQotICAgICAgICB0aHJvdyAi
RkFJTDogZGl2SW50NTJWYXJ5aW5nWmVyb0JpdE9yIGF0IGk9IiArIGkgKyAiLCBnb3QgIiArIHJl
c3VsdCArICIgZXhwZWN0ZWQgIiArIGV4cGVjdGVkOwotfQotCi0vLyA9PT09PSBTdHJlc3MgdGVz
dDogbWFueSBkaWZmZXJlbnQgSW50NTIgdmFsdWVzIHRocm91Z2ggVW5jaGVja2VkIHBhdGggPT09
PT0KLQotZnVuY3Rpb24gZGl2SW50NTJTdHJlc3NCaXRPcihhLCBiKSB7Ci0gICAgcmV0dXJuIChh
IC8gYikgfCAwOwotfQotbm9JbmxpbmUoZGl2SW50NTJTdHJlc3NCaXRPcik7Ci0KLWxldCBpbnQ1
MlZhbHVlcyA9IFsKLSAgICAyMTQ3NDgzNjQ4LCAtMjE0NzQ4MzY0OSwgNDI5NDk2NzI5NiwgLTQy
OTQ5NjcyOTYsCi0gICAgMTA5OTUxMTYyNzc3NiwgLTEwOTk1MTE2Mjc3NzYsIDQ1MDM1OTk2Mjcz
NzA0OTYsIC00NTAzNTk5NjI3MzcwNDk2LAotICAgIDIyNTE3OTk4MTM2ODUyNDgsIC0yMjUxNzk5
ODEzNjg1MjQ4LCA4NTg5OTM0NTkyLCAtODU4OTkzNDU5MgotXTsKLQotbGV0IGRpdmlzb3JzID0g
WzEsIC0xLCAyLCAtMiwgNCwgLTQsIDgsIDIxNDc0ODM2NDhdOwotCi1mb3IgKGxldCBpID0gMDsg
aSA8IHRlc3RMb29wQ291bnQ7IGkrKykgewotICAgIGxldCBhID0gaW50NTJWYWx1ZXNbaSAlIGlu
dDUyVmFsdWVzLmxlbmd0aF07Ci0gICAgbGV0IGIgPSBkaXZpc29yc1tpICUgZGl2aXNvcnMubGVu
Z3RoXTsKLSAgICBsZXQgcmVzdWx0ID0gZGl2SW50NTJTdHJlc3NCaXRPcihhLCBiKTsKLSAgICBs
ZXQgZXhwZWN0ZWQgPSAoYSAvIGIpIHwgMDsKLSAgICBpZiAocmVzdWx0ICE9PSBleHBlY3RlZCkK
LSAgICAgICAgdGhyb3cgIkZBSUw6IGRpdkludDUyU3RyZXNzQml0T3IgYT0iICsgYSArICIgYj0i
ICsgYiArICIsIGdvdCAiICsgcmVzdWx0ICsgIiBleHBlY3RlZCAiICsgZXhwZWN0ZWQ7Ci19CmRp
ZmYgLS1naXQgYS9KU1Rlc3RzL3N0cmVzcy9pbnQ1Mi1hcml0aC1kaXYuanMgYi9KU1Rlc3RzL3N0
cmVzcy9pbnQ1Mi1hcml0aC1kaXYuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRh
OTU3MjEwMTU0Zi4uMDAwMDAwMDAwMDAwCi0tLSBhL0pTVGVzdHMvc3RyZXNzL2ludDUyLWFyaXRo
LWRpdi5qcworKysgL2Rldi9udWxsCkBAIC0xLDM1NCArMCwwIEBACi0vLyBUZXN0IEludDUyIGRp
dmlzaW9uIG9wZXJhdGlvbiB3aXRoIGNvbXByZWhlbnNpdmUgZWRnZSBjYXNlcwotCi0vLyA9PT09
PSBCYXNpYyBJbnQ1MiBkaXZpc2lvbiB3aXRoIGV4YWN0IHJlc3VsdHMgPT09PT0KLWZ1bmN0aW9u
IGRpdmlkZUludDUyKGEsIGIpIHsKLSAgICByZXR1cm4gYSAvIGI7Ci19Ci1ub0lubGluZShkaXZp
ZGVJbnQ1Mik7Ci0KLS8vIEludDUyIHZhbHVlcyAoZXhjZWVkIEludDMyIG1heCBvZiAyMTQ3NDgz
NjQ3KQotbGV0IGxhcmdlID0gMjE0NzQ4MzY0OCAqIDY7ICAvLyAyXjMxICogNgotbGV0IGV4cGVj
dGVkID0gbGFyZ2UgLyAzOwotZm9yIChsZXQgaSA9IDA7IGkgPCB0ZXN0TG9vcENvdW50OyBpKysp
IHsKLSAgICBsZXQgcmVzdWx0ID0gZGl2aWRlSW50NTIobGFyZ2UsIDMpOwotICAgIGlmIChyZXN1
bHQgIT09IGV4cGVjdGVkKQotICAgICAgICB0aHJvdyAiRkFJTDogaW50NTIgZGl2IGJhc2ljIGNh
c2UsIGdvdCAiICsgcmVzdWx0ICsgIiBleHBlY3RlZCAiICsgZXhwZWN0ZWQ7Ci19Ci0KLS8vIExh
cmdlciBJbnQ1MiB2YWx1ZXMKLWxldCBsYXJnZXIgPSA0NTAzNTk5NjI3MzcwNDk2OyAgLy8gMl41
MgotbGV0IGxhcmdlckV4cGVjdGVkID0gbGFyZ2VyIC8gNDsKLWZvciAobGV0IGkgPSAwOyBpIDwg
dGVzdExvb3BDb3VudDsgaSsrKSB7Ci0gICAgbGV0IHJlc3VsdCA9IGRpdmlkZUludDUyKGxhcmdl
ciwgNCk7Ci0gICAgaWYgKHJlc3VsdCAhPT0gbGFyZ2VyRXhwZWN0ZWQpCi0gICAgICAgIHRocm93
ICJGQUlMOiBpbnQ1MiBkaXYgbGFyZ2UgY2FzZSwgZ290ICIgKyByZXN1bHQgKyAiIGV4cGVjdGVk
ICIgKyBsYXJnZXJFeHBlY3RlZDsKLX0KLQotLy8gTmVnYXRpdmUgSW50NTIgbnVtZXJhdG9yCi1s
ZXQgbmVnYXRpdmUgPSAtMjE0NzQ4MzY0OCAqIDY7Ci1sZXQgbmVnRXhwZWN0ZWQgPSBuZWdhdGl2
ZSAvIDM7Ci1mb3IgKGxldCBpID0gMDsgaSA8IHRlc3RMb29wQ291bnQ7IGkrKykgewotICAgIGxl
dCByZXN1bHQgPSBkaXZpZGVJbnQ1MihuZWdhdGl2ZSwgMyk7Ci0gICAgaWYgKHJlc3VsdCAhPT0g
bmVnRXhwZWN0ZWQpCi0gICAgICAgIHRocm93ICJGQUlMOiBpbnQ1MiBkaXYgbmVnYXRpdmUgbnVt
ZXJhdG9yLCBnb3QgIiArIHJlc3VsdCArICIgZXhwZWN0ZWQgIiArIG5lZ0V4cGVjdGVkOwotfQot
Ci0vLyBUZXN0IHdpdGggbmVnYXRpdmUgZGl2aXNvcgotbGV0IG5lZ0Rpdmlzb3JFeHBlY3RlZCA9
IGxhcmdlIC8gLTM7Ci1mb3IgKGxldCBpID0gMDsgaSA8IHRlc3RMb29wQ291bnQ7IGkrKykgewot
ICAgIGxldCByZXN1bHQgPSBkaXZpZGVJbnQ1MihsYXJnZSwgLTMpOwotICAgIGlmIChyZXN1bHQg
IT09IG5lZ0Rpdmlzb3JFeHBlY3RlZCkKLSAgICAgICAgdGhyb3cgIkZBSUw6IGludDUyIGRpdiBu
ZWdhdGl2ZSBkaXZpc29yLCBnb3QgIiArIHJlc3VsdCArICIgZXhwZWN0ZWQgIiArIG5lZ0Rpdmlz
b3JFeHBlY3RlZDsKLX0KLQotLy8gVGVzdCBib3RoIG5lZ2F0aXZlCi1sZXQgYm90aE5lZ0V4cGVj
dGVkID0gbmVnYXRpdmUgLyAtMzsKLWZvciAobGV0IGkgPSAwOyBpIDwgdGVzdExvb3BDb3VudDsg
aSsrKSB7Ci0gICAgbGV0IHJlc3VsdCA9IGRpdmlkZUludDUyKG5lZ2F0aXZlLCAtMyk7Ci0gICAg
aWYgKHJlc3VsdCAhPT0gYm90aE5lZ0V4cGVjdGVkKQotICAgICAgICB0aHJvdyAiRkFJTDogaW50
NTIgZGl2IGJvdGggbmVnYXRpdmUsIGdvdCAiICsgcmVzdWx0ICsgIiBleHBlY3RlZCAiICsgYm90
aE5lZ0V4cGVjdGVkOwotfQotCi0vLyA9PT09PSBBbnlJbnRBc0RvdWJsZSBjYXNlcyA9PT09PQot
ZnVuY3Rpb24gZGl2aWRlQW55SW50QXNEb3VibGUoYSwgYikgewotICAgIHJldHVybiAoYSAqIDEu
MCkgLyAoYiAqIDEuMCk7Ci19Ci1ub0lubGluZShkaXZpZGVBbnlJbnRBc0RvdWJsZSk7Ci0KLWxl
dCBkb3VibGVJbnQ1MiA9IDIxNDc0ODM2NDguMCAqIDY7ICAvLyAyXjMxICogNiBhcyBkb3VibGUK
LWxldCBkb3VibGVFeHBlY3RlZCA9IGRvdWJsZUludDUyIC8gMzsKLWZvciAobGV0IGkgPSAwOyBp
IDwgdGVzdExvb3BDb3VudDsgaSsrKSB7Ci0gICAgbGV0IHJlc3VsdCA9IGRpdmlkZUFueUludEFz
RG91YmxlKGRvdWJsZUludDUyLCAzKTsKLSAgICBpZiAocmVzdWx0ICE9PSBkb3VibGVFeHBlY3Rl
ZCkKLSAgICAgICAgdGhyb3cgIkZBSUw6IEFueUludEFzRG91YmxlIGRpdiBjYXNlLCBnb3QgIiAr
IHJlc3VsdCArICIgZXhwZWN0ZWQgIiArIGRvdWJsZUV4cGVjdGVkOwotfQotCi0vLyA9PT09PSBT
ZWxmLWRpdmlzaW9uIChhIC8gYSA9PSAxKSA9PT09PQotZnVuY3Rpb24gZGl2aWRlU2VsZihhKSB7
Ci0gICAgcmV0dXJuIGEgLyBhOwotfQotbm9JbmxpbmUoZGl2aWRlU2VsZik7Ci0KLWZvciAobGV0
IGkgPSAwOyBpIDwgdGVzdExvb3BDb3VudDsgaSsrKSB7Ci0gICAgbGV0IHJlc3VsdCA9IGRpdmlk
ZVNlbGYoMjE0NzQ4MzY0OCk7Ci0gICAgaWYgKHJlc3VsdCAhPT0gMSkKLSAgICAgICAgdGhyb3cg
IkZBSUw6IGRpdmlkZVNlbGYoMl4zMSksIGdvdCAiICsgcmVzdWx0ICsgIiBleHBlY3RlZCAxIjsK
LX0KLQotZm9yIChsZXQgaSA9IDA7IGkgPCB0ZXN0TG9vcENvdW50OyBpKyspIHsKLSAgICBsZXQg
cmVzdWx0ID0gZGl2aWRlU2VsZigtNDUwMzU5OTYyNzM3MDQ5Nik7Ci0gICAgaWYgKHJlc3VsdCAh
PT0gMSkKLSAgICAgICAgdGhyb3cgIkZBSUw6IGRpdmlkZVNlbGYoLTJeNTIpLCBnb3QgIiArIHJl
c3VsdCArICIgZXhwZWN0ZWQgMSI7Ci19Ci0KLS8vID09PT09IERpdmlzaW9uIGJ5IDEgYW5kIC0x
ID09PT09Ci1mdW5jdGlvbiBkaXZCeU9uZShhKSB7Ci0gICAgcmV0dXJuIGEgLyAxOwotfQotbm9J
bmxpbmUoZGl2QnlPbmUpOwotCi1mb3IgKGxldCBpID0gMDsgaSA8IHRlc3RMb29wQ291bnQ7IGkr
KykgewotICAgIGxldCByZXN1bHQgPSBkaXZCeU9uZSgyMTQ3NDgzNjQ4KTsKLSAgICBpZiAocmVz
dWx0ICE9PSAyMTQ3NDgzNjQ4KQotICAgICAgICB0aHJvdyAiRkFJTDogZGl2QnlPbmUoMl4zMSks
IGdvdCAiICsgcmVzdWx0ICsgIiBleHBlY3RlZCAyMTQ3NDgzNjQ4IjsKLX0KLQotZm9yIChsZXQg
aSA9IDA7IGkgPCB0ZXN0TG9vcENvdW50OyBpKyspIHsKLSAgICBsZXQgcmVzdWx0ID0gZGl2QnlP
bmUoLTQ1MDM1OTk2MjczNzA0OTYpOwotICAgIGlmIChyZXN1bHQgIT09IC00NTAzNTk5NjI3Mzcw
NDk2KQotICAgICAgICB0aHJvdyAiRkFJTDogZGl2QnlPbmUoLTJeNTIpLCBnb3QgIiArIHJlc3Vs
dCArICIgZXhwZWN0ZWQgLTQ1MDM1OTk2MjczNzA0OTYiOwotfQotCi1mdW5jdGlvbiBkaXZCeU5l
Z09uZShhKSB7Ci0gICAgcmV0dXJuIGEgLyAtMTsKLX0KLW5vSW5saW5lKGRpdkJ5TmVnT25lKTsK
LQotZm9yIChsZXQgaSA9IDA7IGkgPCB0ZXN0TG9vcENvdW50OyBpKyspIHsKLSAgICBsZXQgcmVz
dWx0ID0gZGl2QnlOZWdPbmUoMjE0NzQ4MzY0OCk7Ci0gICAgaWYgKHJlc3VsdCAhPT0gLTIxNDc0
ODM2NDgpCi0gICAgICAgIHRocm93ICJGQUlMOiBkaXZCeU5lZ09uZSgyXjMxKSwgZ290ICIgKyBy
ZXN1bHQgKyAiIGV4cGVjdGVkIC0yMTQ3NDgzNjQ4IjsKLX0KLQotZm9yIChsZXQgaSA9IDA7IGkg
PCB0ZXN0TG9vcENvdW50OyBpKyspIHsKLSAgICBsZXQgcmVzdWx0ID0gZGl2QnlOZWdPbmUoLTQ1
MDM1OTk2MjczNzA0OTYpOwotICAgIGlmIChyZXN1bHQgIT09IDQ1MDM1OTk2MjczNzA0OTYpCi0g
ICAgICAgIHRocm93ICJGQUlMOiBkaXZCeU5lZ09uZSgtMl41MiksIGdvdCAiICsgcmVzdWx0ICsg
IiBleHBlY3RlZCA0NTAzNTk5NjI3MzcwNDk2IjsKLX0KLQotLy8gPT09PT0gRGl2aXNpb24gYnkg
cG93ZXJzIG9mIDIgPT09PT0KLWZ1bmN0aW9uIGRpdkJ5UG93ZXJPZlR3byhhLCBiKSB7Ci0gICAg
cmV0dXJuIGEgLyBiOwotfQotbm9JbmxpbmUoZGl2QnlQb3dlck9mVHdvKTsKLQotZm9yIChsZXQg
aSA9IDA7IGkgPCB0ZXN0TG9vcENvdW50OyBpKyspIHsKLSAgICBsZXQgcmVzdWx0ID0gZGl2QnlQ
b3dlck9mVHdvKDEwOTk1MTE2Mjc3NzYsIDEwMjQpOyAgLy8gMl40MCAvIDJeMTAgPSAyXjMwCi0g
ICAgaWYgKHJlc3VsdCAhPT0gMTA3Mzc0MTgyNCkKLSAgICAgICAgdGhyb3cgIkZBSUw6IGRpdkJ5
UG93ZXJPZlR3byAyXjQwLzJeMTAsIGdvdCAiICsgcmVzdWx0ICsgIiBleHBlY3RlZCAxMDczNzQx
ODI0IjsKLX0KLQotZm9yIChsZXQgaSA9IDA7IGkgPCB0ZXN0TG9vcENvdW50OyBpKyspIHsKLSAg
ICBsZXQgcmVzdWx0ID0gZGl2QnlQb3dlck9mVHdvKDQ1MDM1OTk2MjczNzA0OTYsIDIwOTcxNTIp
OyAgLy8gMl41MiAvIDJeMjEgPSAyXjMxCi0gICAgaWYgKHJlc3VsdCAhPT0gMjE0NzQ4MzY0OCkK
LSAgICAgICAgdGhyb3cgIkZBSUw6IGRpdkJ5UG93ZXJPZlR3byAyXjUyLzJeMjEsIGdvdCAiICsg
cmVzdWx0ICsgIiBleHBlY3RlZCAyMTQ3NDgzNjQ4IjsKLX0KLQotLy8gPT09PT0gTmVnYXRpdmUg
emVybyBlZGdlIGNhc2VzID09PT09Ci0vLyBGb3IgZGl2aXNpb24sIC0wIG9jY3VycyB3aGVuIG51
bWVyYXRvciA9PSAwIGFuZCBkZW5vbWluYXRvciA8IDAKLQotZnVuY3Rpb24gY2hlY2tOZWdhdGl2
ZVplcm8odmFsdWUsIHRlc3ROYW1lKSB7Ci0gICAgaWYgKHZhbHVlICE9PSAwKQotICAgICAgICB0
aHJvdyAiRkFJTDogIiArIHRlc3ROYW1lICsgIiBzaG91bGQgYmUgemVybywgZ290ICIgKyB2YWx1
ZTsKLSAgICBpZiAoMSAvIHZhbHVlICE9PSAtSW5maW5pdHkpCi0gICAgICAgIHRocm93ICJGQUlM
OiAiICsgdGVzdE5hbWUgKyAiIHNob3VsZCBiZSAtMCwgZ290ICIgKyAoMS92YWx1ZSk7Ci19Ci0K
LWZ1bmN0aW9uIGNoZWNrUG9zaXRpdmVaZXJvKHZhbHVlLCB0ZXN0TmFtZSkgewotICAgIGlmICh2
YWx1ZSAhPT0gMCkKLSAgICAgICAgdGhyb3cgIkZBSUw6ICIgKyB0ZXN0TmFtZSArICIgc2hvdWxk
IGJlIHplcm8sIGdvdCAiICsgdmFsdWU7Ci0gICAgaWYgKDEgLyB2YWx1ZSAhPT0gSW5maW5pdHkp
Ci0gICAgICAgIHRocm93ICJGQUlMOiAiICsgdGVzdE5hbWUgKyAiIHNob3VsZCBiZSArMCwgZ290
ICIgKyAoMS92YWx1ZSk7Ci19Ci0KLS8vIDAgLyBuZWdhdGl2ZV9pbnQ1MiA9IC0wCi1mdW5jdGlv
biBkaXZOZWdaZXJvMShhLCBiKSB7Ci0gICAgcmV0dXJuIGEgLyBiOwotfQotbm9JbmxpbmUoZGl2
TmVnWmVybzEpOwotCi1mb3IgKGxldCBpID0gMDsgaSA8IHRlc3RMb29wQ291bnQ7IGkrKykgewot
ICAgIGxldCByZXN1bHQgPSBkaXZOZWdaZXJvMSgwLCAtMjE0NzQ4MzY0OCk7Ci0gICAgY2hlY2tO
ZWdhdGl2ZVplcm8ocmVzdWx0LCAiZGl2TmVnWmVybzE6IDAgLyAtMjE0NzQ4MzY0OCIpOwotfQot
Ci1mdW5jdGlvbiBkaXZOZWdaZXJvMihhLCBiKSB7Ci0gICAgcmV0dXJuIGEgLyBiOwotfQotbm9J
bmxpbmUoZGl2TmVnWmVybzIpOwotCi1mb3IgKGxldCBpID0gMDsgaSA8IHRlc3RMb29wQ291bnQ7
IGkrKykgewotICAgIGxldCByZXN1bHQgPSBkaXZOZWdaZXJvMigwLCAtNDUwMzU5OTYyNzM3MDQ5
Nik7Ci0gICAgY2hlY2tOZWdhdGl2ZVplcm8ocmVzdWx0LCAiZGl2TmVnWmVybzI6IDAgLyAtNDUw
MzU5OTYyNzM3MDQ5NiIpOwotfQotCi0vLyAwIC8gcG9zaXRpdmVfaW50NTIgPSArMAotZnVuY3Rp
b24gZGl2UG9zWmVybzEoYSwgYikgewotICAgIHJldHVybiBhIC8gYjsKLX0KLW5vSW5saW5lKGRp
dlBvc1plcm8xKTsKLQotZm9yIChsZXQgaSA9IDA7IGkgPCB0ZXN0TG9vcENvdW50OyBpKyspIHsK
LSAgICBsZXQgcmVzdWx0ID0gZGl2UG9zWmVybzEoMCwgMjE0NzQ4MzY0OCk7Ci0gICAgY2hlY2tQ
b3NpdGl2ZVplcm8ocmVzdWx0LCAiZGl2UG9zWmVybzE6IDAgLyAyMTQ3NDgzNjQ4Iik7Ci19Ci0K
LS8vID09PT09IE5vbi1leGFjdCBkaXZpc2lvbiAoc2hvdWxkIGZhbGwgYmFjayB0byBkb3VibGUg
dmlhIE9TUiBleGl0KSA9PT09PQotZnVuY3Rpb24gZGl2Tm9uRXhhY3QoYSwgYikgewotICAgIHJl
dHVybiBhIC8gYjsKLX0KLW5vSW5saW5lKGRpdk5vbkV4YWN0KTsKLQotZm9yIChsZXQgaSA9IDA7
IGkgPCB0ZXN0TG9vcENvdW50OyBpKyspIHsKLSAgICBsZXQgcmVzdWx0ID0gZGl2Tm9uRXhhY3Qo
MjE0NzQ4MzY0OSwgMik7ICAvLyBOb3QgZXhhY3RseSBkaXZpc2libGUKLSAgICBpZiAocmVzdWx0
ICE9PSAyMTQ3NDgzNjQ5IC8gMikKLSAgICAgICAgdGhyb3cgIkZBSUw6IGRpdk5vbkV4YWN0LCBn
b3QgIiArIHJlc3VsdCArICIgZXhwZWN0ZWQgIiArICgyMTQ3NDgzNjQ5IC8gMik7Ci19Ci0KLS8v
ID09PT09IEJvdW5kYXJ5IHZhbHVlcyA9PT09PQotCi0vLyBNQVhfSU5UNTIgLyAxID0gTUFYX0lO
VDUyCi1mdW5jdGlvbiBkaXZNYXhJbnQ1MihhLCBiKSB7Ci0gICAgcmV0dXJuIGEgLyBiOwotfQot
bm9JbmxpbmUoZGl2TWF4SW50NTIpOwotCi1mb3IgKGxldCBpID0gMDsgaSA8IHRlc3RMb29wQ291
bnQ7IGkrKykgewotICAgIGxldCByZXN1bHQgPSBkaXZNYXhJbnQ1MigyMjUxNzk5ODEzNjg1MjQ3
LCAxKTsgIC8vIE1BWF9JTlQ1MiAoMl41MS0xKQotICAgIGlmIChyZXN1bHQgIT09IDIyNTE3OTk4
MTM2ODUyNDcpCi0gICAgICAgIHRocm93ICJGQUlMOiBkaXZNYXhJbnQ1MiAvIDEsIGdvdCAiICsg
cmVzdWx0ICsgIiBleHBlY3RlZCAyMjUxNzk5ODEzNjg1MjQ3IjsKLX0KLQotLy8gTUlOX0lOVDUy
IC8gMSA9IE1JTl9JTlQ1MgotZnVuY3Rpb24gZGl2TWluSW50NTIoYSwgYikgewotICAgIHJldHVy
biBhIC8gYjsKLX0KLW5vSW5saW5lKGRpdk1pbkludDUyKTsKLQotZm9yIChsZXQgaSA9IDA7IGkg
PCB0ZXN0TG9vcENvdW50OyBpKyspIHsKLSAgICBsZXQgcmVzdWx0ID0gZGl2TWluSW50NTIoLTIy
NTE3OTk4MTM2ODUyNDgsIDEpOyAgLy8gTUlOX0lOVDUyICgtMl41MSkKLSAgICBpZiAocmVzdWx0
ICE9PSAtMjI1MTc5OTgxMzY4NTI0OCkKLSAgICAgICAgdGhyb3cgIkZBSUw6IGRpdk1pbkludDUy
IC8gMSwgZ290ICIgKyByZXN1bHQgKyAiIGV4cGVjdGVkIC0yMjUxNzk5ODEzNjg1MjQ4IjsKLX0K
LQotLy8gTUlOX0lOVDUyIC8gLTEgPSAyXjUxIChleGNlZWRzIE1BWF9JTlQ1Miwgc2hvdWxkIE9T
UiBleGl0IHRvIGRvdWJsZSkKLWZ1bmN0aW9uIGRpdk1pbkludDUyQnlOZWdPbmUoYSwgYikgewot
ICAgIHJldHVybiBhIC8gYjsKLX0KLW5vSW5saW5lKGRpdk1pbkludDUyQnlOZWdPbmUpOwotCi1m
b3IgKGxldCBpID0gMDsgaSA8IHRlc3RMb29wQ291bnQ7IGkrKykgewotICAgIGxldCByZXN1bHQg
PSBkaXZNaW5JbnQ1MkJ5TmVnT25lKC0yMjUxNzk5ODEzNjg1MjQ4LCAtMSk7Ci0gICAgaWYgKHJl
c3VsdCAhPT0gMjI1MTc5OTgxMzY4NTI0OCkKLSAgICAgICAgdGhyb3cgIkZBSUw6IGRpdk1pbklu
dDUyQnlOZWdPbmUsIGdvdCAiICsgcmVzdWx0ICsgIiBleHBlY3RlZCAyMjUxNzk5ODEzNjg1MjQ4
IjsKLX0KLQotLy8gPT09PT0gTGFyZ2UgZXhhY3QgZGl2aXNpb25zID09PT09Ci1mdW5jdGlvbiBk
aXZMYXJnZUV4YWN0MShhLCBiKSB7Ci0gICAgcmV0dXJuIGEgLyBiOwotfQotbm9JbmxpbmUoZGl2
TGFyZ2VFeGFjdDEpOwotCi1mb3IgKGxldCBpID0gMDsgaSA8IHRlc3RMb29wQ291bnQ7IGkrKykg
ewotICAgIGxldCByZXN1bHQgPSBkaXZMYXJnZUV4YWN0MSgxMDk5NTExNjI3Nzc2ICogMywgMyk7
ICAvLyAyXjQwICogMyAvIDMgPSAyXjQwCi0gICAgaWYgKHJlc3VsdCAhPT0gMTA5OTUxMTYyNzc3
NikKLSAgICAgICAgdGhyb3cgIkZBSUw6IGRpdkxhcmdlRXhhY3QxLCBnb3QgIiArIHJlc3VsdCAr
ICIgZXhwZWN0ZWQgMTA5OTUxMTYyNzc3NiI7Ci19Ci0KLWZ1bmN0aW9uIGRpdkxhcmdlRXhhY3Qy
KGEsIGIpIHsKLSAgICByZXR1cm4gYSAvIGI7Ci19Ci1ub0lubGluZShkaXZMYXJnZUV4YWN0Mik7
Ci0KLWZvciAobGV0IGkgPSAwOyBpIDwgdGVzdExvb3BDb3VudDsgaSsrKSB7Ci0gICAgbGV0IHJl
c3VsdCA9IGRpdkxhcmdlRXhhY3QyKC00Mjk0OTY3Mjk2ICogNywgNyk7ICAvLyAtMl4zMiAqIDcg
LyA3ID0gLTJeMzIKLSAgICBpZiAocmVzdWx0ICE9PSAtNDI5NDk2NzI5NikKLSAgICAgICAgdGhy
b3cgIkZBSUw6IGRpdkxhcmdlRXhhY3QyLCBnb3QgIiArIHJlc3VsdCArICIgZXhwZWN0ZWQgLTQy
OTQ5NjcyOTYiOwotfQotCi0vLyA9PT09PSBNaXhlZCBwb3NpdGl2ZS9uZWdhdGl2ZSB3aXRoIGV4
YWN0IHJlc3VsdHMgPT09PT0KLWZ1bmN0aW9uIGRpdk1peGVkMShhLCBiKSB7Ci0gICAgcmV0dXJu
IGEgLyBiOwotfQotbm9JbmxpbmUoZGl2TWl4ZWQxKTsKLQotZm9yIChsZXQgaSA9IDA7IGkgPCB0
ZXN0TG9vcENvdW50OyBpKyspIHsKLSAgICBsZXQgcmVzdWx0ID0gZGl2TWl4ZWQxKC04NTg5OTM0
NTkyLCA0KTsgIC8vIC0yXjMzIC8gNCA9IC0yXjMxCi0gICAgaWYgKHJlc3VsdCAhPT0gLTIxNDc0
ODM2NDgpCi0gICAgICAgIHRocm93ICJGQUlMOiBkaXZNaXhlZDEsIGdvdCAiICsgcmVzdWx0ICsg
IiBleHBlY3RlZCAtMjE0NzQ4MzY0OCI7Ci19Ci0KLWZ1bmN0aW9uIGRpdk1peGVkMihhLCBiKSB7
Ci0gICAgcmV0dXJuIGEgLyBiOwotfQotbm9JbmxpbmUoZGl2TWl4ZWQyKTsKLQotZm9yIChsZXQg
aSA9IDA7IGkgPCB0ZXN0TG9vcENvdW50OyBpKyspIHsKLSAgICBsZXQgcmVzdWx0ID0gZGl2TWl4
ZWQyKDg1ODk5MzQ1OTIsIC00KTsgIC8vIDJeMzMgLyAtNCA9IC0yXjMxCi0gICAgaWYgKHJlc3Vs
dCAhPT0gLTIxNDc0ODM2NDgpCi0gICAgICAgIHRocm93ICJGQUlMOiBkaXZNaXhlZDIsIGdvdCAi
ICsgcmVzdWx0ICsgIiBleHBlY3RlZCAtMjE0NzQ4MzY0OCI7Ci19Ci0KLS8vID09PT09IFZhbHVl
cyBqdXN0IGFib3ZlIEludDMyIHJhbmdlIHRvIGVuc3VyZSBJbnQ1MiBwYXRoIGlzIHRha2VuID09
PT09Ci1mdW5jdGlvbiBkaXZKdXN0QWJvdmVJbnQzMihhLCBiKSB7Ci0gICAgcmV0dXJuIGEgLyBi
OwotfQotbm9JbmxpbmUoZGl2SnVzdEFib3ZlSW50MzIpOwotCi1mb3IgKGxldCBpID0gMDsgaSA8
IHRlc3RMb29wQ291bnQ7IGkrKykgewotICAgIGxldCByZXN1bHQgPSBkaXZKdXN0QWJvdmVJbnQz
MigyMTQ3NDgzNjQ4ICogMiwgMik7ICAvLyAoMl4zMSAqIDIpIC8gMiA9IDJeMzEKLSAgICBpZiAo
cmVzdWx0ICE9PSAyMTQ3NDgzNjQ4KQotICAgICAgICB0aHJvdyAiRkFJTDogZGl2SnVzdEFib3Zl
SW50MzIsIGdvdCAiICsgcmVzdWx0ICsgIiBleHBlY3RlZCAyMTQ3NDgzNjQ4IjsKLX0KLQotZnVu
Y3Rpb24gZGl2SnVzdEJlbG93SW50MzJNaW4oYSwgYikgewotICAgIHJldHVybiBhIC8gYjsKLX0K
LW5vSW5saW5lKGRpdkp1c3RCZWxvd0ludDMyTWluKTsKLQotZm9yIChsZXQgaSA9IDA7IGkgPCB0
ZXN0TG9vcENvdW50OyBpKyspIHsKLSAgICBsZXQgcmVzdWx0ID0gZGl2SnVzdEJlbG93SW50MzJN
aW4oLTIxNDc0ODM2NDkgKiAzLCAzKTsgIC8vIC0oMl4zMSsxKSozIC8gMyA9IC0oMl4zMSsxKQot
ICAgIGlmIChyZXN1bHQgIT09IC0yMTQ3NDgzNjQ5KQotICAgICAgICB0aHJvdyAiRkFJTDogZGl2
SnVzdEJlbG93SW50MzJNaW4sIGdvdCAiICsgcmVzdWx0ICsgIiBleHBlY3RlZCAtMjE0NzQ4MzY0
OSI7Ci19Ci0KLS8vID09PT09IEFsdGVybmF0aW5nIHZhbHVlcyB0byBzdHJlc3MgSklUID09PT09
Ci1mdW5jdGlvbiBkaXZBbHRlcm5hdGluZyhhLCBiKSB7Ci0gICAgcmV0dXJuIGEgLyBiOwotfQot
bm9JbmxpbmUoZGl2QWx0ZXJuYXRpbmcpOwotCi1mb3IgKGxldCBpID0gMDsgaSA8IHRlc3RMb29w
Q291bnQ7IGkrKykgewotICAgIGxldCBhX3ZhbCA9IChpICUgMiA9PT0gMCkgPyAxMDk5NTExNjI3
Nzc2ICogNSA6IC0xMDk5NTExNjI3Nzc2ICogNTsgIC8vIMKxMl40MCAqIDUKLSAgICBsZXQgcmVz
dWx0ID0gZGl2QWx0ZXJuYXRpbmcoYV92YWwsIDUpOwotICAgIGxldCBleHBlY3RlZCA9IGFfdmFs
IC8gNTsKLSAgICBpZiAocmVzdWx0ICE9PSBleHBlY3RlZCkKLSAgICAgICAgdGhyb3cgIkZBSUw6
IGRpdkFsdGVybmF0aW5nIGl0ZXJhdGlvbiAiICsgaSArICIsIGdvdCAiICsgcmVzdWx0ICsgIiBl
eHBlY3RlZCAiICsgZXhwZWN0ZWQ7Ci19Ci0KLS8vID09PT09IFN0cmVzcyB0ZXN0IHdpdGggdmFy
aW91cyBleGFjdCBkaXZpc2lvbnMgPT09PT0KLWZ1bmN0aW9uIGRpdlN0cmVzcyhhLCBiKSB7Ci0g
ICAgcmV0dXJuIGEgLyBiOwotfQotbm9JbmxpbmUoZGl2U3RyZXNzKTsKLQotbGV0IGludDUyVmFs
dWVzID0gWwotICAgIDIxNDc0ODM2NDgsIC0yMTQ3NDgzNjQ5LCA0Mjk0OTY3Mjk2LCAtNDI5NDk2
NzI5NiwKLSAgICAxMDk5NTExNjI3Nzc2LCAtMTA5OTUxMTYyNzc3NiwgMjI1MTc5OTgxMzY4NTI0
NywgLTIyNTE3OTk4MTM2ODUyNDgsCi0gICAgODU4OTkzNDU5MiwgLTg1ODk5MzQ1OTIKLV07Ci0K
LWxldCBleGFjdERpdmlzb3JzID0gWzEsIC0xLCAyLCAtMiwgNCwgLTQsIDgsIC04XTsKLQotZm9y
IChsZXQgaSA9IDA7IGkgPCB0ZXN0TG9vcENvdW50OyBpKyspIHsKLSAgICBsZXQgYSA9IGludDUy
VmFsdWVzW2kgJSBpbnQ1MlZhbHVlcy5sZW5ndGhdOwotICAgIGxldCBiID0gZXhhY3REaXZpc29y
c1tpICUgZXhhY3REaXZpc29ycy5sZW5ndGhdOwotICAgIGxldCByZXN1bHQgPSBkaXZTdHJlc3Mo
YSwgYik7Ci0gICAgbGV0IGV4cGVjdGVkID0gYSAvIGI7Ci0gICAgaWYgKHJlc3VsdCAhPT0gZXhw
ZWN0ZWQpCi0gICAgICAgIHRocm93ICJGQUlMOiBkaXZTdHJlc3MgYT0iICsgYSArICIgYj0iICsg
YiArICIsIGdvdCAiICsgcmVzdWx0ICsgIiBleHBlY3RlZCAiICsgZXhwZWN0ZWQ7Ci19Ci0KLS8v
ID09PT09IENvbXB1dGVkIEludDUyIGRpdmlzaW9uID09PT09Ci1mdW5jdGlvbiBkaXZDb21wdXRl
ZEludDUyKHgpIHsKLSAgICBsZXQgbGFyZ2VWYWx1ZSA9IHggKiAyMTQ3NDgzNjQ4OyAgLy8gV2ls
bCBiZSBJbnQ1Mi1yYW5nZQotICAgIHJldHVybiBsYXJnZVZhbHVlIC8gMjsKLX0KLW5vSW5saW5l
KGRpdkNvbXB1dGVkSW50NTIpOwotCi1sZXQgY29tcHV0ZWRFeHBlY3RlZCA9ICg2ICogMjE0NzQ4
MzY0OCkgLyAyOwotZm9yIChsZXQgaSA9IDA7IGkgPCB0ZXN0TG9vcENvdW50OyBpKyspIHsKLSAg
ICBsZXQgcmVzdWx0ID0gZGl2Q29tcHV0ZWRJbnQ1Mig2KTsKLSAgICBpZiAocmVzdWx0ICE9PSBj
b21wdXRlZEV4cGVjdGVkKQotICAgICAgICB0aHJvdyAiRkFJTDogY29tcHV0ZWQgSW50NTIgZGl2
IGNhc2UsIGdvdCAiICsgcmVzdWx0ICsgIiBleHBlY3RlZCAiICsgY29tcHV0ZWRFeHBlY3RlZDsK
LX0K
</data>

          </attachment>
      

    </bug>

</bugzilla>