<?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>122251</bug_id>
          
          <creation_ts>2013-10-02 17:27:02 -0700</creation_ts>
          <short_desc>[CSS Shapes] Revise the CSS property parsing tests</short_desc>
          <delta_ts>2013-10-03 12:59:31 -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>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Hans Muller">giles_joplin</reporter>
          <assigned_to name="Hans Muller">giles_joplin</assigned_to>
          <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>935622</commentid>
    <comment_count>0</comment_count>
    <who name="Hans Muller">giles_joplin</who>
    <bug_when>2013-10-02 17:27:02 -0700</bug_when>
    <thetext>akling pointed out that we should flatten the CSS Shape property parsing tests a little by hoisting the scripts into the HTML files.  

See https://bugs.webkit.org/show_bug.cgi?id=122216#c2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>935906</commentid>
    <comment_count>1</comment_count>
      <attachid>213286</attachid>
    <who name="Hans Muller">giles_joplin</who>
    <bug_when>2013-10-03 12:13:10 -0700</bug_when>
    <thetext>Created attachment 213286
Patch

Flattened the shapes CSS property parsing tests by inserting the code from the fast/shapes/parsing/script-tests subdirectory into the test HTML source files. The subdirectory is now empty and the tests are easier to read.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>935915</commentid>
    <comment_count>2</comment_count>
      <attachid>213286</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2013-10-03 12:31:28 -0700</bug_when>
    <thetext>Comment on attachment 213286
Patch

Awesome! r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>935939</commentid>
    <comment_count>3</comment_count>
      <attachid>213286</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-10-03 12:59:29 -0700</bug_when>
    <thetext>Comment on attachment 213286
Patch

Clearing flags on attachment: 213286

Committed r156851: &lt;http://trac.webkit.org/changeset/156851&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>935940</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-10-03 12:59:31 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>213286</attachid>
            <date>2013-10-03 12:13:10 -0700</date>
            <delta_ts>2013-10-03 12:59:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>tmp.patch</filename>
            <type>text/plain</type>
            <size>46796</size>
            <attacher name="Hans Muller">giles_joplin</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAwZGU5NTQ4Li45M2M2MjBlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzcgQEAKKzIwMTMtMTAt
MDMgIEhhbnMgTXVsbGVyICA8aG11bGxlckBhZG9iZS5jb20+CisKKyAgICAgICAgW0NTUyBTaGFw
ZXNdIFJldmlzZSB0aGUgQ1NTIHByb3BlcnR5IHBhcnNpbmcgdGVzdHMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMjI1MQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZsYXR0ZW5lZCB0aGUgc2hhcGVzIENT
UyBwcm9wZXJ0eSBwYXJzaW5nIHRlc3RzIGJ5IGluc2VydGluZyB0aGUgY29kZSBmcm9tCisgICAg
ICAgIHRoZSBmYXN0L3NoYXBlcy9wYXJzaW5nL3NjcmlwdC10ZXN0cyBzdWJkaXJlY3RvcnkgaW50
byB0aGUgdGVzdCBIVE1MIHNvdXJjZQorICAgICAgICBmaWxlcy4gVGhlIHN1YmRpcmVjdG9yeSBp
cyBub3cgZW1wdHkgYW5kIHRoZSB0ZXN0cyBhcmUgZWFzaWVyIHRvIHJlYWQuCisKKyAgICAgICAg
KiBmYXN0L3NoYXBlcy9wYXJzaW5nL3BhcnNpbmctc2hhcGUtaW1hZ2UtdGhyZXNob2xkLmh0bWw6
IEluc2VydGVkIHBhcnNpbmctc2hhcGUtaW1hZ2UtdGhyZXNob2xkLmpzIGluc3RlYWQgb2YgcmVm
ZXJyaW5nIHRvIGl0IHdpdGggc2NyaXB0IHNyYy4KKyAgICAgICAgKiBmYXN0L3NoYXBlcy9wYXJz
aW5nL3BhcnNpbmctc2hhcGUtaW5zaWRlLmh0bWw6IExpa2V3aXNlCisgICAgICAgICogZmFzdC9z
aGFwZXMvcGFyc2luZy9wYXJzaW5nLXNoYXBlLWxlbmd0aHMuaHRtbDogTGlrZXdpc2UKKyAgICAg
ICAgKiBmYXN0L3NoYXBlcy9wYXJzaW5nL3BhcnNpbmctc2hhcGUtbWFyZ2luLmh0bWw6IExpa2V3
aXNlCisgICAgICAgICogZmFzdC9zaGFwZXMvcGFyc2luZy9wYXJzaW5nLXNoYXBlLW91dHNpZGUu
aHRtbDogTGlrZXdpc2UKKyAgICAgICAgKiBmYXN0L3NoYXBlcy9wYXJzaW5nL3BhcnNpbmctc2hh
cGUtcGFkZGluZy5odG1sOiBMaWtld2lzZQorICAgICAgICAqIGZhc3Qvc2hhcGVzL3BhcnNpbmcv
cGFyc2luZy10ZXN0LXV0aWxzLmpzOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvZmFzdC9zaGFw
ZXMvcGFyc2luZy9zY3JpcHQtdGVzdHMvcGFyc2luZy10ZXN0LXV0aWxzLmpzLgorICAgICAgICAo
Z2V0Q1NTVGV4dCk6CisgICAgICAgIChnZXRDb21wdXRlZFN0eWxlVmFsdWUpOgorICAgICAgICAo
Z2V0UGFyZW50QW5kQ2hpbGRDb21wdXRlZFN0eWxlcyk6CisgICAgICAgIChnZXRQYXJlbnRBbmRD
aGlsZENvbXB1dGVkU3R5bGVzU3RyaW5nKToKKyAgICAgICAgKGdldENoaWxkQ29tcHV0ZWRTdHls
ZSk6CisgICAgICAgICh0ZXN0U2hhcGVTcGVjaWZpZWRQcm9wZXJ0eSk6CisgICAgICAgICh0ZXN0
U2hhcGVDb21wdXRlZFByb3BlcnR5KToKKyAgICAgICAgKHRlc3ROb3RJbmhlcml0ZWRTaGFwZUNo
aWxkUHJvcGVydHkpOgorICAgICAgICAocHJvcGVydHkpOgorICAgICAgICAqIGZhc3Qvc2hhcGVz
L3BhcnNpbmcvc2NyaXB0LXRlc3RzL3BhcnNpbmctc2hhcGUtaW1hZ2UtdGhyZXNob2xkLmpzOiBS
ZW1vdmVkLgorICAgICAgICAqIGZhc3Qvc2hhcGVzL3BhcnNpbmcvc2NyaXB0LXRlc3RzL3BhcnNp
bmctc2hhcGUtaW5zaWRlLmpzOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qvc2hhcGVzL3BhcnNp
bmcvc2NyaXB0LXRlc3RzL3BhcnNpbmctc2hhcGUtbGVuZ3Rocy5qczogUmVtb3ZlZC4KKyAgICAg
ICAgKiBmYXN0L3NoYXBlcy9wYXJzaW5nL3NjcmlwdC10ZXN0cy9wYXJzaW5nLXNoYXBlLW1hcmdp
bi5qczogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L3NoYXBlcy9wYXJzaW5nL3NjcmlwdC10ZXN0
cy9wYXJzaW5nLXNoYXBlLW91dHNpZGUuanM6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9zaGFw
ZXMvcGFyc2luZy9zY3JpcHQtdGVzdHMvcGFyc2luZy1zaGFwZS1wYWRkaW5nLmpzOiBSZW1vdmVk
LgorCiAyMDEzLTEwLTAyICBNYXJpbyBTYW5jaGV6IFByYWRhICA8bWFyaW8ucHJhZGFAc2Ftc3Vu
Zy5jb20+CiAKICAgICAgICAgW0FUS10gRXhwb3NlIGFyaWEtaW52YWxpZCBhcyBhIHRleHQgYXR0
cmlidXRlIChub3Qgb2JqZWN0IGF0dHJpYnV0ZSkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3Qvc2hhcGVzL3BhcnNpbmcvcGFyc2luZy1zaGFwZS1pbWFnZS10aHJlc2hvbGQuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3Qvc2hhcGVzL3BhcnNpbmcvcGFyc2luZy1zaGFwZS1pbWFnZS10aHJlc2hv
bGQuaHRtbAppbmRleCBlMTkxZjJjLi42NTM1NmQzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L3NoYXBlcy9wYXJzaW5nL3BhcnNpbmctc2hhcGUtaW1hZ2UtdGhyZXNob2xkLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9zaGFwZXMvcGFyc2luZy9wYXJzaW5nLXNoYXBlLWltYWdlLXRo
cmVzaG9sZC5odG1sCkBAIC00LDggKzQsMzYgQEAKIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHk+Ci08c2NyaXB0
IHNyYz0ic2NyaXB0LXRlc3RzL3BhcnNpbmctdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0ic2NyaXB0LXRlc3RzL3BhcnNpbmctc2hhcGUtaW1hZ2UtdGhyZXNob2xkLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJwYXJzaW5nLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCdUZXN0IHBhcnNpbmcgb2YgdGhlIENTUyBzaGFwZS1pbWFn
ZS10aHJlc2hvbGQgcHJvcGVydHkuJyk7CisKKy8vIFRoZSB0ZXN0IGZ1bmN0aW9ucyBhbmQgZ2xv
YmFscyB1c2VkIGhlcmUgYXJlIGRlZmluZWQgcGFyc2luZy10ZXN0LXV0aWxzLmpzLgorCithcHBs
eVRvRWFjaEFyZ2xpc3QoCisgICAgdGVzdFNoYXBlQ29tcHV0ZWRQcm9wZXJ0eSwKKyAgICBbLy8g
W3Byb3BlcnR5LCB2YWx1ZSwgZXhwZWN0ZWRWYWx1ZV0KKyAgICAgWyItd2Via2l0LXNoYXBlLWlt
YWdlLXRocmVzaG9sZCIsICIwIiwgIjAiXSwKKyAgICAgWyItd2Via2l0LXNoYXBlLWltYWdlLXRo
cmVzaG9sZCIsICIwLjUiLCAiMC41Il0sCisgICAgIFsiLXdlYmtpdC1zaGFwZS1pbWFnZS10aHJl
c2hvbGQiLCAiMSIsICIxIl0sCisgICAgIFsiLXdlYmtpdC1zaGFwZS1pbWFnZS10aHJlc2hvbGQi
LCAiLTAuMSIsICIwIl0sCisgICAgIFsiLXdlYmtpdC1zaGFwZS1pbWFnZS10aHJlc2hvbGQiLCAi
MS4xIiwgIjEiXSwKKyAgICAgWyItd2Via2l0LXNoYXBlLWltYWdlLXRocmVzaG9sZCIsICJpZGVu
dGlmaWVyIiwgIjAiXSwKKyAgICAgWyItd2Via2l0LXNoYXBlLWltYWdlLXRocmVzaG9sZCIsICJc
J3N0cmluZ1wnIiwgIjAiXQorXQorCisKKyk7CisKK2FwcGx5VG9FYWNoQXJnbGlzdCgKKyAgICB0
ZXN0Tm90SW5oZXJpdGVkU2hhcGVDaGlsZFByb3BlcnR5LAorICAgIFsvLyBbcHJvcGVydHksIHBh
cmVudFZhbHVlLCBjaGlsZFZhbHVlLCBleHBlY3RlZENoaWxkVmFsdWVdCisgICAgIFsiLXdlYmtp
dC1zaGFwZS1pbWFnZS10aHJlc2hvbGQiLCAiMCIsICIwIiwgIjAiXSwKKyAgICAgWyItd2Via2l0
LXNoYXBlLWltYWdlLXRocmVzaG9sZCIsICIwIiwgIjEiLCAiMSJdLAorICAgICBbIi13ZWJraXQt
c2hhcGUtaW1hZ2UtdGhyZXNob2xkIiwgIjEiLCAiLTEiLCAiMCJdLAorICAgICBbIi13ZWJraXQt
c2hhcGUtaW1hZ2UtdGhyZXNob2xkIiwgIjIiLCAiMSIsICIxIl1dCispOworPC9zY3JpcHQ+CiA8
c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
CiA8L2JvZHk+CiA8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9w
YXJzaW5nL3BhcnNpbmctc2hhcGUtaW5zaWRlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3NoYXBl
cy9wYXJzaW5nL3BhcnNpbmctc2hhcGUtaW5zaWRlLmh0bWwKaW5kZXggNWQxOThhNy4uM2VlZTRj
ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zaGFwZXMvcGFyc2luZy9wYXJzaW5nLXNo
YXBlLWluc2lkZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2hhcGVzL3BhcnNpbmcvcGFy
c2luZy1zaGFwZS1pbnNpZGUuaHRtbApAQCAtNCw4ICs0LDM4IEBACiA8c2NyaXB0IHNyYz0iLi4v
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5
PgotPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9wYXJzaW5nLXRlc3QtdXRpbHMuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9wYXJzaW5nLXNoYXBlLWluc2lkZS5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icGFyc2luZy10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQ+CitkZXNjcmlwdGlvbignVGVzdGluZyBwYXJzaW5nIG9mIHRoZSAtd2Via2l0LXNo
YXBlLWluc2lkZSBwcm9wZXJ0eS4nKTsKKworLy8gVGhlIHRlc3QgZnVuY3Rpb25zIGFuZCBnbG9i
YWxzIHVzZWQgaGVyZSBhcmUgZGVmaW5lZCBwYXJzaW5nLXRlc3QtdXRpbHMuanMuCisKK3ZhbGlk
U2hhcGVWYWx1ZXMuY29uY2F0KCJvdXRzaWRlLXNoYXBlIikuZm9yRWFjaChmdW5jdGlvbihlbHQs
IGksIGEpIHsgCisgICAgdmFyIHZhbHVlID0gKGVsdCBpbnN0YW5jZW9mIEFycmF5KSA/IGVsdFsw
XSA6IGVsdDsKKyAgICB2YXIgZXhwZWN0ZWRWYWx1ZSA9IChlbHQgaW5zdGFuY2VvZiBBcnJheSkg
PyBlbHRbMV0gOiBlbHQ7CisgICAgdmFyIGNvbXB1dGVkVmFsdWUgPSAoZWx0IGluc3RhbmNlb2Yg
QXJyYXkgJiYgZWx0Lmxlbmd0aCA+IDIpID8gZWx0WzJdIDogZXhwZWN0ZWRWYWx1ZTsKKyAgICB0
ZXN0U2hhcGVTcGVjaWZpZWRQcm9wZXJ0eSgiLXdlYmtpdC1zaGFwZS1pbnNpZGUiLCB2YWx1ZSwg
ZXhwZWN0ZWRWYWx1ZSk7CisgICAgdGVzdFNoYXBlQ29tcHV0ZWRQcm9wZXJ0eSgiLXdlYmtpdC1z
aGFwZS1pbnNpZGUiLCB2YWx1ZSwgY29tcHV0ZWRWYWx1ZSk7Cit9KTsKKwordGVzdExvY2FsVVJM
U2hhcGVQcm9wZXJ0eSgiLXdlYmtpdC1zaGFwZS1pbnNpZGUiLCAidXJsKFwnaW1hZ2VcJykiLCAi
dXJsKGltYWdlKSIpOworCitpbnZhbGlkU2hhcGVWYWx1ZXMuZm9yRWFjaChmdW5jdGlvbih2YWx1
ZSwgaSwgYSkgeyAKKyAgICB0ZXN0U2hhcGVQcm9wZXJ0eVBhcnNpbmdGYWlsdXJlKCItd2Via2l0
LXNoYXBlLWluc2lkZSIsIHZhbHVlLCAib3V0c2lkZS1zaGFwZSIpIAorfSk7CisKK2FwcGx5VG9F
YWNoQXJnbGlzdCgKKyAgICB0ZXN0Tm90SW5oZXJpdGVkU2hhcGVQcm9wZXJ0eSwgCisgICAgWy8v
IFtwcm9wZXJ0eSwgcGFyZW50VmFsdWUsIGNoaWxkVmFsdWUsIGV4cGVjdGVkVmFsdWVdCisgICAg
IFsiLXdlYmtpdC1zaGFwZS1pbnNpZGUiLCAiYXV0byIsICJyZWN0YW5nbGUoMTBweCwgMjBweCwg
MzBweCwgNDBweCkiLCAicGFyZW50OiBhdXRvLCBjaGlsZDogcmVjdGFuZ2xlKDEwcHgsIDIwcHgs
IDMwcHgsIDQwcHgsIDBweCwgMHB4KSJdLAorICAgICBbIi13ZWJraXQtc2hhcGUtaW5zaWRlIiwg
Im91dHNpZGUtc2hhcGUiLCAicmVjdGFuZ2xlKDEwcHgsIDIwcHgsIDMwcHgsIDQwcHgpIiwgInBh
cmVudDogb3V0c2lkZS1zaGFwZSwgY2hpbGQ6IHJlY3RhbmdsZSgxMHB4LCAyMHB4LCAzMHB4LCA0
MHB4LCAwcHgsIDBweCkiXSwKKyAgICAgWyItd2Via2l0LXNoYXBlLWluc2lkZSIsICJyZWN0YW5n
bGUoMTBweCwgMjBweCwgMzBweCwgNDBweCkiLCAiaW5pdGlhbCIsICJwYXJlbnQ6IHJlY3Rhbmds
ZSgxMHB4LCAyMHB4LCAzMHB4LCA0MHB4LCAwcHgsIDBweCksIGNoaWxkOiBvdXRzaWRlLXNoYXBl
Il0sCisgICAgIFsiLXdlYmtpdC1zaGFwZS1pbnNpZGUiLCAicmVjdGFuZ2xlKDEwcHgsIDIwcHgs
IDMwcHgsIDQwcHgpIiwgIiIsICJwYXJlbnQ6IHJlY3RhbmdsZSgxMHB4LCAyMHB4LCAzMHB4LCA0
MHB4LCAwcHgsIDBweCksIGNoaWxkOiBvdXRzaWRlLXNoYXBlIl0sCisgICAgIFsiLXdlYmtpdC1z
aGFwZS1pbnNpZGUiLCAicmVjdGFuZ2xlKDEwcHgsIDIwcHgsIDMwcHgsIDQwcHgpIiwgImluaGVy
aXQiLCAicGFyZW50OiByZWN0YW5nbGUoMTBweCwgMjBweCwgMzBweCwgNDBweCwgMHB4LCAwcHgp
LCBjaGlsZDogcmVjdGFuZ2xlKDEwcHgsIDIwcHgsIDMwcHgsIDQwcHgsIDBweCwgMHB4KSJdLAor
ICAgICBbIi13ZWJraXQtc2hhcGUtaW5zaWRlIiwgIiIsICJpbmhlcml0IiwgInBhcmVudDogb3V0
c2lkZS1zaGFwZSwgY2hpbGQ6IG91dHNpZGUtc2hhcGUiXSwKKyAgICAgWyItd2Via2l0LXNoYXBl
LWluc2lkZSIsICJhdXRvIiwgImluaGVyaXQiLCAicGFyZW50OiBhdXRvLCBjaGlsZDogYXV0byJd
XQorKTsKKzwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgogPC9ib2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9zaGFwZXMvcGFyc2luZy9wYXJzaW5nLXNoYXBlLWxlbmd0aHMuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3Qvc2hhcGVzL3BhcnNpbmcvcGFyc2luZy1zaGFwZS1sZW5ndGhzLmh0bWwK
aW5kZXggZDUyNmJjMC4uYWM0ZTQ4YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zaGFw
ZXMvcGFyc2luZy9wYXJzaW5nLXNoYXBlLWxlbmd0aHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L3NoYXBlcy9wYXJzaW5nL3BhcnNpbmctc2hhcGUtbGVuZ3Rocy5odG1sCkBAIC04LDggKzgs
MTAxIEBAIGRpdiB7IGZvbnQtc2l6ZTogOHB4OyB9CiA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5PgotPHNjcmlw
dCBzcmM9InNjcmlwdC10ZXN0cy9wYXJzaW5nLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9InNjcmlwdC10ZXN0cy9wYXJzaW5nLXNoYXBlLWxlbmd0aHMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9InBhcnNpbmctdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
PgorZGVzY3JpcHRpb24oJ1Rlc3QgdGhhdCBleGNsdXNpb24gc2hhcGVzIGFjY2VwdCBkaWZmZXJl
bnQgbGVuZ3RoIHVuaXRzJyk7CisKKy8vIFRoZSB0ZXN0IGZ1bmN0aW9ucyBhbmQgZ2xvYmFscyB1
c2VkIGhlcmUgYXJlIGRlZmluZWQgcGFyc2luZy10ZXN0LXV0aWxzLmpzLgorCitmdW5jdGlvbiBn
ZXRTdHlsZVZhbHVlKHByb3BlcnR5LCB2YWx1ZSkgeworICAgIHZhciBkaXYgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJkaXYiKTsKKyAgICBkaXYuc3R5bGUuc2V0UHJvcGVydHkocHJvcGVydHks
IHZhbHVlKTsKKyAgICByZXR1cm4gZGl2LnN0eWxlLmdldFByb3BlcnR5VmFsdWUocHJvcGVydHkp
OworfQorCitmdW5jdGlvbiB0ZXN0U3R5bGVWYWx1ZSh2YWx1ZSwgZXhwZWN0ZWQpIHsKKyAgICBp
ZiAoZXhwZWN0ZWQgPT09IG51bGwpCisgICAgICAgIHNob3VsZEJlTnVsbCgnZ2V0U3R5bGVWYWx1
ZSgiLXdlYmtpdC1zaGFwZS1pbnNpZGUiLCAiJyArIHZhbHVlICsgJyIpJyk7CisgICAgZWxzZQor
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2dldFN0eWxlVmFsdWUoIi13ZWJraXQtc2hh
cGUtaW5zaWRlIiwgIicgKyB2YWx1ZSArICciKScsIGV4cGVjdGVkKTsKK30KK2Z1bmN0aW9uIHRl
c3RDb21wdXRlZFN0eWxlVmFsdWUodmFsdWUsIGV4cGVjdGVkKSB7CisgICAgdGVzdFNoYXBlQ29t
cHV0ZWRQcm9wZXJ0eSgiLXdlYmtpdC1zaGFwZS1pbnNpZGUiLCB2YWx1ZSwgZXhwZWN0ZWQpOwor
fQorCitmdW5jdGlvbiB0ZXN0SW52YWxpZFZhbHVlKHByb3BlcnR5LCB2YWx1ZSkgeworICAgIHRl
c3RTdHlsZVZhbHVlKHZhbHVlLCBudWxsKTsKKyAgICB0ZXN0Q29tcHV0ZWRTdHlsZVZhbHVlKHZh
bHVlLCAnb3V0c2lkZS1zaGFwZScpOworfQorCisvLyBhYnNvbHV0ZSBsZW5ndGhzIC0gbnVtYmVy
IHNlcmlhbGl6YXRpb24sIHVuaXRzCit0ZXN0U3R5bGVWYWx1ZSgiY2lyY2xlKDAsIDAsIDApIiwg
ImNpcmNsZSgwcHgsIDBweCwgMHB4KSIpOwordGVzdFN0eWxlVmFsdWUoImNpcmNsZSgtMXB4LCAr
MXB4LCAxcHgpIiwgImNpcmNsZSgtMXB4LCAxcHgsIDFweCkiKTsKK3Rlc3RTdHlsZVZhbHVlKCJj
aXJjbGUoLTEuNXB4LCArMS41cHgsIDEuNXB4KSIsICJjaXJjbGUoLTEuNXB4LCAxLjVweCwgMS41
cHgpIik7Cit0ZXN0U3R5bGVWYWx1ZSgiY2lyY2xlKC0uNXB4LCArLjVweCwgLjVweCkiLCAiY2ly
Y2xlKC0wLjVweCwgMC41cHgsIDAuNXB4KSIpOworCit0ZXN0U3R5bGVWYWx1ZSgicmVjdGFuZ2xl
KDFjbSwgMW1tLCAxaW4sIDFweCwgMXB0LCAxcGMpIiwgInJlY3RhbmdsZSgxY20sIDFtbSwgMWlu
LCAxcHgsIDFwdCwgMXBjKSIpOwordGVzdFN0eWxlVmFsdWUoImluc2V0LXJlY3RhbmdsZSgxY20s
IDFtbSwgMWluLCAxcHgsIDFwdCwgMXBjKSIsICJpbnNldC1yZWN0YW5nbGUoMWNtLCAxbW0sIDFp
biwgMXB4LCAxcHQsIDFwYykiKTsKKworLy8gZm9udC1yZWxhdGl2ZSBsZW5ndGhzIC0gbnVtYmVy
IHNlcmlhbGl6YXRpb24sIHVuaXRzLCByZXNvbHV0aW9uCit0ZXN0U3R5bGVWYWx1ZSgiY2lyY2xl
KC0xZW0sICsxZW0sIDFlbSkiLCAiY2lyY2xlKC0xZW0sIDFlbSwgMWVtKSIpOwordGVzdFN0eWxl
VmFsdWUoImNpcmNsZSgtMS41ZW0sICsxLjVlbSwgMS41ZW0pIiwgImNpcmNsZSgtMS41ZW0sIDEu
NWVtLCAxLjVlbSkiKTsKK3Rlc3RTdHlsZVZhbHVlKCJjaXJjbGUoLS41ZW0sICsuNWVtLCAuNWVt
KSIsICJjaXJjbGUoLTAuNWVtLCAwLjVlbSwgMC41ZW0pIik7CisKK3Rlc3RTdHlsZVZhbHVlKCJj
aXJjbGUoMWV4LCAxZXgsIDFleCkiLCAiY2lyY2xlKDFleCwgMWV4LCAxZXgpIik7CisvLyBGSVhN
RTogQWRkIGNoIHRlc3Qgd2hlbiBpdCBpcyBzdXBwb3J0ZWQKK3Rlc3RTdHlsZVZhbHVlKCJjaXJj
bGUoMXJlbSwgMXJlbSwgMXJlbSkiLCAiY2lyY2xlKDFyZW0sIDFyZW0sIDFyZW0pIik7CisKK3Rl
c3RDb21wdXRlZFN0eWxlVmFsdWUoImNpcmNsZSguNWVtLCAxZW0sIDEuNWVtKSIsICJjaXJjbGUo
NHB4LCA4cHgsIDEycHgpIik7Cit0ZXN0Q29tcHV0ZWRTdHlsZVZhbHVlKCJjaXJjbGUoLjVyZW0s
IDFyZW0sIDEuNXJlbSkiLCAiY2lyY2xlKDhweCwgMTZweCwgMjRweCkiKTsKKworLy8gdmlld3Bv
cnQtcGVyY2VudGFnZSBsZW5ndGhzIC0gdW5pdHMsIHJlc29sdXRpb24KK3Rlc3RTdHlsZVZhbHVl
KCJjaXJjbGUoMXZ3LCAxdncsIDF2dykiLCAiY2lyY2xlKDF2dywgMXZ3LCAxdncpIik7Cit0ZXN0
U3R5bGVWYWx1ZSgiY2lyY2xlKDF2aCwgMXZoLCAxdmgpIiwgImNpcmNsZSgxdmgsIDF2aCwgMXZo
KSIpOwordGVzdFN0eWxlVmFsdWUoImNpcmNsZSgxdm1pbiwgMXZtaW4sIDF2bWluKSIsICJjaXJj
bGUoMXZtaW4sIDF2bWluLCAxdm1pbikiKTsKKwordGVzdENvbXB1dGVkU3R5bGVWYWx1ZSgiY2ly
Y2xlKC41dncsIDF2dywgMS41dncpIiwgImNpcmNsZSgwLjV2dywgMXZ3LCAxLjV2dykiKTsKK3Rl
c3RDb21wdXRlZFN0eWxlVmFsdWUoImNpcmNsZSguNXZoLCAxdmgsIDEuNXZoKSIsICJjaXJjbGUo
MC41dmgsIDF2aCwgMS41dmgpIik7Cit0ZXN0Q29tcHV0ZWRTdHlsZVZhbHVlKCJjaXJjbGUoLjV2
bWluLCAxdm1pbiwgMS41dm1pbikiLCAiY2lyY2xlKDAuNXZtaW4sIDF2bWluLCAxLjV2bWluKSIp
OworCisvLyBwZXJjZW50YWdlIGxlbmd0aHMgLSB1bml0cwordGVzdFN0eWxlVmFsdWUoImNpcmNs
ZSgxMDAlLCAxMDAlLCAxMDAlKSIsICJjaXJjbGUoMTAwJSwgMTAwJSwgMTAwJSkiKTsKK3Rlc3RT
dHlsZVZhbHVlKCJyZWN0YW5nbGUoNDUlLCA0NSUsIDkwJSwgNjAlLCAyNSUsIDEwJSkiLCAicmVj
dGFuZ2xlKDQ1JSwgNDUlLCA5MCUsIDYwJSwgMjUlLCAxMCUpIik7Cit0ZXN0U3R5bGVWYWx1ZSgi
aW5zZXQtcmVjdGFuZ2xlKDQ1JSwgNDUlLCA5MCUsIDYwJSwgMjUlLCAxMCUpIiwgImluc2V0LXJl
Y3RhbmdsZSg0NSUsIDQ1JSwgOTAlLCA2MCUsIDI1JSwgMTAlKSIpOwordGVzdFN0eWxlVmFsdWUo
ImVsbGlwc2UoMTAwJSwgMTAwJSwgMTAwJSwgMTAwJSkiLCAiZWxsaXBzZSgxMDAlLCAxMDAlLCAx
MDAlLCAxMDAlKSIpOwordGVzdFN0eWxlVmFsdWUoInBvbHlnb24oMTAlIDIwJSwgMzAlIDQwJSwg
NDAlIDUwJSkiLCAicG9seWdvbihub256ZXJvLCAxMCUgMjAlLCAzMCUgNDAlLCA0MCUgNTAlKSIp
OworCit0ZXN0Q29tcHV0ZWRTdHlsZVZhbHVlKCJjaXJjbGUoNTAlLCAxMDAlLCAxNTAlKSIsICJj
aXJjbGUoNTAlLCAxMDAlLCAxNTAlKSIpOwordGVzdENvbXB1dGVkU3R5bGVWYWx1ZSgicmVjdGFu
Z2xlKDQ1JSwgNDUlLCA5MCUsIDYwJSwgMjUlLCAxMCUpIiwgInJlY3RhbmdsZSg0NSUsIDQ1JSwg
OTAlLCA2MCUsIDI1JSwgMTAlKSIpOwordGVzdENvbXB1dGVkU3R5bGVWYWx1ZSgiaW5zZXQtcmVj
dGFuZ2xlKDQ1JSwgNDUlLCA5MCUsIDYwJSwgMjUlLCAxMCUpIiwgImluc2V0LXJlY3RhbmdsZSg0
NSUsIDQ1JSwgOTAlLCA2MCUsIDI1JSwgMTAlKSIpOwordGVzdENvbXB1dGVkU3R5bGVWYWx1ZSgi
ZWxsaXBzZSgxMDAlLCAxMDAlLCAxMDAlLCAxMDAlKSIsICJlbGxpcHNlKDEwMCUsIDEwMCUsIDEw
MCUsIDEwMCUpIik7Cit0ZXN0Q29tcHV0ZWRTdHlsZVZhbHVlKCJwb2x5Z29uKDEwJSAyMCUsIDMw
JSA0MCUsIDQwJSA1MCUpIiwgInBvbHlnb24obm9uemVybywgMTAlIDIwJSwgMzAlIDQwJSwgNDAl
IDUwJSkiKTsKKworLy8gcmVqZWN0IG5vbi1sZW5ndGhzCit0ZXN0SW52YWxpZFZhbHVlKCItd2Vi
a2l0LXNoYXBlLWluc2lkZSIsICJjaXJjbGUoMXB4LCAxcHgsIDEpIik7Cit0ZXN0SW52YWxpZFZh
bHVlKCItd2Via2l0LXNoYXBlLWluc2lkZSIsICJjaXJjbGUoMXB4LCAxcHgsIHB4KSIpOwordGVz
dEludmFsaWRWYWx1ZSgiLXdlYmtpdC1zaGFwZS1pbnNpZGUiLCAiY2lyY2xlKDFweCwgMXB4LCAx
cCkiKTsKK3Rlc3RJbnZhbGlkVmFsdWUoIi13ZWJraXQtc2hhcGUtaW5zaWRlIiwgImNpcmNsZSgx
cHgsIDFweCwgY2FsYygpKSIpOworCisvLyByZWplY3QgbmVnYXRpdmUgcmFkaXVzZXMKK3Rlc3RJ
bnZhbGlkVmFsdWUoIi13ZWJraXQtc2hhcGUtaW5zaWRlIiwgImNpcmNsZSgtMS41cHgsICsxLjVw
eCwgLTEuNXB4KSIpOwordGVzdEludmFsaWRWYWx1ZSgiLXdlYmtpdC1zaGFwZS1pbnNpZGUiLCAi
cmVjdGFuZ2xlKDFjbSwgMW1tLCAxaW4sIDFweCwgLTFwdCwgMXBjKSIpOwordGVzdEludmFsaWRW
YWx1ZSgiLXdlYmtpdC1zaGFwZS1pbnNpZGUiLCAicmVjdGFuZ2xlKDFjbSwgMW1tLCAxaW4sIDFw
eCwgMXB0LCAtMXBjKSIpOwordGVzdEludmFsaWRWYWx1ZSgiLXdlYmtpdC1zaGFwZS1pbnNpZGUi
LCAiaW5zZXQtcmVjdGFuZ2xlKDFjbSwgMW1tLCAxaW4sIDFweCwgLTFwdCwgMXBjKSIpOwordGVz
dEludmFsaWRWYWx1ZSgiLXdlYmtpdC1zaGFwZS1pbnNpZGUiLCAiaW5zZXQtcmVjdGFuZ2xlKDFj
bSwgMW1tLCAxaW4sIDFweCwgMXB0LCAtMXBjKSIpOwordGVzdEludmFsaWRWYWx1ZSgiLXdlYmtp
dC1zaGFwZS1pbnNpZGUiLCAiZWxsaXBzZSgxZW0sIDFlbSwgLTFlbSwgMWVtKSIpOwordGVzdElu
dmFsaWRWYWx1ZSgiLXdlYmtpdC1zaGFwZS1pbnNpZGUiLCAiZWxsaXBzZSgxZW0sIDFlbSwgMWVt
LCAtMWVtKSIpOworCisvLyByZWplY3QgbmVnYXRpdmUgaGVpZ2h0IGFuZCB3aWR0aAordGVzdElu
dmFsaWRWYWx1ZSgiLXdlYmtpdC1zaGFwZS1pbnNpZGUiLCAicmVjdGFuZ2xlKDFjbSwgMW1tLCAt
MWluLCAxcHgsIDFwdCwgMXBjKSIpOwordGVzdEludmFsaWRWYWx1ZSgiLXdlYmtpdC1zaGFwZS1p
bnNpZGUiLCAicmVjdGFuZ2xlKDFjbSwgMW1tLCAxaW4sIC0xcHgsIDFwdCwgMXBjKSIpOworCisv
LyByZWplY3QgbmVnYXRpdmUgdG9wLCByaWdodCwgYm90dG9tLCBhbmQgbGVmdAordGVzdEludmFs
aWRWYWx1ZSgiLXdlYmtpdC1zaGFwZS1pbnNpZGUiLCAiaW5zZXQtcmVjdGFuZ2xlKC0xY20sIDFt
bSwgMWluLCAxcHgsIDFwdCwgMXBjKSIpOwordGVzdEludmFsaWRWYWx1ZSgiLXdlYmtpdC1zaGFw
ZS1pbnNpZGUiLCAiaW5zZXQtcmVjdGFuZ2xlKDFjbSwgLTFtbSwgMWluLCAxcHgsIDFwdCwgMXBj
KSIpOwordGVzdEludmFsaWRWYWx1ZSgiLXdlYmtpdC1zaGFwZS1pbnNpZGUiLCAiaW5zZXQtcmVj
dGFuZ2xlKDFjbSwgMW1tLCAtMWluLCAxcHgsIDFwdCwgMXBjKSIpOwordGVzdEludmFsaWRWYWx1
ZSgiLXdlYmtpdC1zaGFwZS1pbnNpZGUiLCAiaW5zZXQtcmVjdGFuZ2xlKDFjbSwgMW1tLCAxaW4s
IC0xcHgsIDFwdCwgMXBjKSIpOworPC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9wYXJzaW5nL3BhcnNpbmctc2hhcGUtbWFy
Z2luLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9wYXJzaW5nL3BhcnNpbmctc2hhcGUt
bWFyZ2luLmh0bWwKaW5kZXggMjRkZjNmNi4uNjFmNjE0YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9zaGFwZXMvcGFyc2luZy9wYXJzaW5nLXNoYXBlLW1hcmdpbi5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3Qvc2hhcGVzL3BhcnNpbmcvcGFyc2luZy1zaGFwZS1tYXJnaW4uaHRtbApA
QCAtNCw4ICs0LDQxIEBACiA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5PgotPHNjcmlwdCBzcmM9InNjcmlwdC10
ZXN0cy9wYXJzaW5nLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9InNjcmlw
dC10ZXN0cy9wYXJzaW5nLXNoYXBlLW1hcmdpbi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
cGFyc2luZy10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbign
VGVzdCBwYXJzaW5nIG9mIHRoZSBDU1Mgc2hhcGUtbWFyZ2luIHByb3BlcnR5LicpOworCisvLyBU
aGUgdGVzdCBmdW5jdGlvbnMgYW5kIGdsb2JhbHMgdXNlZCBoZXJlIGFyZSBkZWZpbmVkIHBhcnNp
bmctdGVzdC11dGlscy5qcy4KKwordmFsaWRTaGFwZUxlbmd0aHMuZm9yRWFjaChmdW5jdGlvbih2
YWx1ZSwgaSwgYSkgeworICAgIHRlc3RTaGFwZVNwZWNpZmllZFByb3BlcnR5KCItd2Via2l0LXNo
YXBlLW1hcmdpbiIsIHZhbHVlLCB2YWx1ZSk7Cit9KTsKKwordGVzdFNoYXBlU3BlY2lmaWVkUHJv
cGVydHkoIi13ZWJraXQtc2hhcGUtbWFyZ2luIiwgIjAiLCAiMHB4Iik7CisKK2ludmFsaWRTaGFw
ZUxlbmd0aHMuZm9yRWFjaChmdW5jdGlvbih2YWx1ZSwgaSwgYSkgeworICAgIHRlc3RTaGFwZVNw
ZWNpZmllZFByb3BlcnR5KCItd2Via2l0LXNoYXBlLW1hcmdpbiIsIHZhbHVlLCAiIik7Cit9KTsK
KworYXBwbHlUb0VhY2hBcmdsaXN0KAorICAgIHRlc3RTaGFwZUNvbXB1dGVkUHJvcGVydHksCisg
ICAgWy8vIFtwcm9wZXJ0eSwgdmFsdWUsIGV4cGVjdGVkVmFsdWVdCisgICAgIFsiLXdlYmtpdC1z
aGFwZS1tYXJnaW4iLCAiMCIsICIwcHgiXSwKKyAgICAgWyItd2Via2l0LXNoYXBlLW1hcmdpbiIs
ICIxcHgiLCAiMXB4Il0sCisgICAgIFsiLXdlYmtpdC1zaGFwZS1tYXJnaW4iLCAiLTVlbSIsICIw
cHgiXSwKKyAgICAgWyItd2Via2l0LXNoYXBlLW1hcmdpbiIsICJpZGVudGlmaWVyIiwgIjBweCJd
LAorICAgICBbIi13ZWJraXQtc2hhcGUtbWFyZ2luIiwgIlwnc3RyaW5nXCciLCAiMHB4Il1dCisp
OworCithcHBseVRvRWFjaEFyZ2xpc3QoCisgICAgdGVzdE5vdEluaGVyaXRlZFNoYXBlQ2hpbGRQ
cm9wZXJ0eSwKKyAgICBbLy8gW3Byb3BlcnR5LCBwYXJlbnRWYWx1ZSwgY2hpbGRWYWx1ZSwgZXhw
ZWN0ZWRDaGlsZFZhbHVlXQorICAgICBbIi13ZWJraXQtc2hhcGUtbWFyZ2luIiwgIjAiLCAiMCIs
ICIwcHgiXSwKKyAgICAgWyItd2Via2l0LXNoYXBlLW1hcmdpbiIsICIwIiwgIjFweCIsICIxcHgi
XSwKKyAgICAgWyItd2Via2l0LXNoYXBlLW1hcmdpbiIsICIxcHgiLCAiLTFlbSIsICIwcHgiXSwK
KyAgICAgWyItd2Via2l0LXNoYXBlLW1hcmdpbiIsICIycHgiLCAiMXB4IiwgIjFweCJdXQorKTsK
Kzwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgogPC9ib2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9zaGFwZXMvcGFyc2luZy9wYXJzaW5nLXNoYXBlLW91dHNpZGUuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3Qvc2hhcGVzL3BhcnNpbmcvcGFyc2luZy1zaGFwZS1vdXRzaWRlLmh0bWwKaW5kZXgg
NjJkM2ZhMS4uZjJlZmI0NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zaGFwZXMvcGFy
c2luZy9wYXJzaW5nLXNoYXBlLW91dHNpZGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3No
YXBlcy9wYXJzaW5nL3BhcnNpbmctc2hhcGUtb3V0c2lkZS5odG1sCkBAIC00LDggKzQsMzkgQEAK
IDxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgogPC9oZWFkPgogPGJvZHk+Ci08c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL3BhcnNpbmctdGVz
dC11dGlscy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL3BhcnNpbmct
c2hhcGUtb3V0c2lkZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icGFyc2luZy10ZXN0LXV0
aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbignVGVzdGluZyBwYXJzaW5n
IG9mIHRoZSAtd2Via2l0LXNoYXBlLW91dHNpZGUgcHJvcGVydHkuJyk7CisKKy8vIFRoZSB0ZXN0
IGZ1bmN0aW9ucyBhbmQgZ2xvYmFscyB1c2VkIGhlcmUgYXJlIGRlZmluZWQgcGFyc2luZy10ZXN0
LXV0aWxzLmpzLgorCit2YWxpZFNoYXBlVmFsdWVzLmZvckVhY2goZnVuY3Rpb24oZWx0LCBpLCBh
KSB7IAorICAgIHZhciB2YWx1ZSA9IChlbHQgaW5zdGFuY2VvZiBBcnJheSkgPyBlbHRbMF0gOiBl
bHQ7CisgICAgdmFyIGV4cGVjdGVkVmFsdWUgPSAoZWx0IGluc3RhbmNlb2YgQXJyYXkpID8gZWx0
WzFdIDogZWx0OworICAgIHZhciBjb21wdXRlZFZhbHVlID0gKGVsdCBpbnN0YW5jZW9mIEFycmF5
ICYmIGVsdC5sZW5ndGggPiAyKSA/IGVsdFsyXSA6IGV4cGVjdGVkVmFsdWU7CisgICAgdGVzdFNo
YXBlU3BlY2lmaWVkUHJvcGVydHkoIi13ZWJraXQtc2hhcGUtb3V0c2lkZSIsIHZhbHVlLCBleHBl
Y3RlZFZhbHVlKTsKKyAgICB0ZXN0U2hhcGVDb21wdXRlZFByb3BlcnR5KCItd2Via2l0LXNoYXBl
LW91dHNpZGUiLCB2YWx1ZSwgY29tcHV0ZWRWYWx1ZSk7Cit9KTsKKwordGVzdExvY2FsVVJMU2hh
cGVQcm9wZXJ0eSgiLXdlYmtpdC1zaGFwZS1vdXRzaWRlIiwgInVybChcJ2ltYWdlXCcpIiwgInVy
bChpbWFnZSkiKTsKKworaW52YWxpZFNoYXBlVmFsdWVzLmZvckVhY2goZnVuY3Rpb24odmFsdWUs
IGksIGEpIHsgCisgICAgdGVzdFNoYXBlUHJvcGVydHlQYXJzaW5nRmFpbHVyZSgiLXdlYmtpdC1z
aGFwZS1vdXRzaWRlIiwgdmFsdWUsICJhdXRvIikgCit9KTsKKwordGVzdFNoYXBlUHJvcGVydHlQ
YXJzaW5nRmFpbHVyZSgiLXdlYmtpdC1zaGFwZS1vdXRzaWRlIiwgIm91dHNpZGUtc2hhcGUiLCAi
YXV0byIpOworCithcHBseVRvRWFjaEFyZ2xpc3QoCisgICAgdGVzdE5vdEluaGVyaXRlZFNoYXBl
UHJvcGVydHksCisgICAgWy8vIFtwcm9wZXJ0eSwgcGFyZW50VmFsdWUsIGNoaWxkVmFsdWUsIGV4
cGVjdGVkVmFsdWVdCisgICAgIFsiLXdlYmtpdC1zaGFwZS1vdXRzaWRlIiwgImF1dG8iLCAicmVj
dGFuZ2xlKDEwcHgsIDIwcHgsIDMwcHgsIDQwcHgpIiwgInBhcmVudDogYXV0bywgY2hpbGQ6IHJl
Y3RhbmdsZSgxMHB4LCAyMHB4LCAzMHB4LCA0MHB4LCAwcHgsIDBweCkiXSwKKyAgICAgWyItd2Vi
a2l0LXNoYXBlLW91dHNpZGUiLCAicmVjdGFuZ2xlKDEwcHgsIDIwcHgsIDMwcHgsIDQwcHgpIiwg
ImluaXRpYWwiLCAicGFyZW50OiByZWN0YW5nbGUoMTBweCwgMjBweCwgMzBweCwgNDBweCwgMHB4
LCAwcHgpLCBjaGlsZDogYXV0byJdLAorICAgICBbIi13ZWJraXQtc2hhcGUtb3V0c2lkZSIsICJy
ZWN0YW5nbGUoMTBweCwgMjBweCwgMzBweCwgNDBweCkiLCAiIiwgInBhcmVudDogcmVjdGFuZ2xl
KDEwcHgsIDIwcHgsIDMwcHgsIDQwcHgsIDBweCwgMHB4KSwgY2hpbGQ6IGF1dG8iXSwKKyAgICAg
WyItd2Via2l0LXNoYXBlLW91dHNpZGUiLCAicmVjdGFuZ2xlKDEwcHgsIDIwcHgsIDMwcHgsIDQw
cHgpIiwgImluaGVyaXQiLCAicGFyZW50OiByZWN0YW5nbGUoMTBweCwgMjBweCwgMzBweCwgNDBw
eCwgMHB4LCAwcHgpLCBjaGlsZDogcmVjdGFuZ2xlKDEwcHgsIDIwcHgsIDMwcHgsIDQwcHgsIDBw
eCwgMHB4KSJdLAorICAgICBbIi13ZWJraXQtc2hhcGUtb3V0c2lkZSIsICIiLCAiaW5oZXJpdCIs
ICJwYXJlbnQ6IGF1dG8sIGNoaWxkOiBhdXRvIl0sCisgICAgIFsiLXdlYmtpdC1zaGFwZS1vdXRz
aWRlIiwgImF1dG8iLCAiaW5oZXJpdCIsICJwYXJlbnQ6IGF1dG8sIGNoaWxkOiBhdXRvIl1dCisp
OworPC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L3NoYXBlcy9wYXJzaW5nL3BhcnNpbmctc2hhcGUtcGFkZGluZy5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9zaGFwZXMvcGFyc2luZy9wYXJzaW5nLXNoYXBlLXBhZGRpbmcuaHRtbAppbmRl
eCAxMjU4OTlkLi4yZDU2ZDk0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9w
YXJzaW5nL3BhcnNpbmctc2hhcGUtcGFkZGluZy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
c2hhcGVzL3BhcnNpbmcvcGFyc2luZy1zaGFwZS1wYWRkaW5nLmh0bWwKQEAgLTQsOCArNCw0MSBA
QAogPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+CiA8L2hlYWQ+CiA8Ym9keT4KLTxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvcGFyc2luZy10
ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvcGFyc2lu
Zy1zaGFwZS1wYWRkaW5nLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJwYXJzaW5nLXRlc3Qt
dXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCdUZXN0IHBhcnNpbmcg
b2YgdGhlIENTUyBzaGFwZS1wYWRkaW5nIHByb3BlcnR5LicpOworCisvLyBUaGUgdGVzdCBmdW5j
dGlvbnMgYW5kIGdsb2JhbHMgdXNlZCBoZXJlIGFyZSBkZWZpbmVkIHBhcnNpbmctdGVzdC11dGls
cy5qcy4KKwordmFsaWRTaGFwZUxlbmd0aHMuZm9yRWFjaChmdW5jdGlvbih2YWx1ZSwgaSwgYSkg
eworICAgIHRlc3RTaGFwZVNwZWNpZmllZFByb3BlcnR5KCItd2Via2l0LXNoYXBlLXBhZGRpbmci
LCB2YWx1ZSwgdmFsdWUpOworfSk7CisKK3Rlc3RTaGFwZVNwZWNpZmllZFByb3BlcnR5KCItd2Vi
a2l0LXNoYXBlLXBhZGRpbmciLCAiMCIsICIwcHgiKTsKKworaW52YWxpZFNoYXBlTGVuZ3Rocy5m
b3JFYWNoKGZ1bmN0aW9uKHZhbHVlLCBpLCBhKSB7CisgICAgdGVzdFNoYXBlU3BlY2lmaWVkUHJv
cGVydHkoIi13ZWJraXQtc2hhcGUtcGFkZGluZyIsIHZhbHVlLCAiIik7Cit9KTsKKworYXBwbHlU
b0VhY2hBcmdsaXN0KAorICAgIHRlc3RTaGFwZUNvbXB1dGVkUHJvcGVydHksCisgICAgWy8vIFtw
cm9wZXJ0eSwgdmFsdWUsIGV4cGVjdGVkVmFsdWVdCisgICAgIFsiLXdlYmtpdC1zaGFwZS1wYWRk
aW5nIiwgIjAiLCAiMHB4Il0sCisgICAgIFsiLXdlYmtpdC1zaGFwZS1wYWRkaW5nIiwgIjFweCIs
ICIxcHgiXSwKKyAgICAgWyItd2Via2l0LXNoYXBlLXBhZGRpbmciLCAiLTVlbSIsICIwcHgiXSwK
KyAgICAgWyItd2Via2l0LXNoYXBlLXBhZGRpbmciLCAiaWRlbnRpZmllciIsICIwcHgiXSwKKyAg
ICAgWyItd2Via2l0LXNoYXBlLXBhZGRpbmciLCAiXCdzdHJpbmdcJyIsICIwcHgiXV0KKyk7CisK
K2FwcGx5VG9FYWNoQXJnbGlzdCgKKyAgICB0ZXN0Tm90SW5oZXJpdGVkU2hhcGVDaGlsZFByb3Bl
cnR5LAorICAgIFsvLyBbcHJvcGVydHksIHBhcmVudFZhbHVlLCBjaGlsZFZhbHVlLCBleHBlY3Rl
ZENoaWxkVmFsdWVdCisgICAgIFsiLXdlYmtpdC1zaGFwZS1wYWRkaW5nIiwgIjAiLCAiMCIsICIw
cHgiXSwKKyAgICAgWyItd2Via2l0LXNoYXBlLXBhZGRpbmciLCAiMCIsICIxcHgiLCAiMXB4Il0s
CisgICAgIFsiLXdlYmtpdC1zaGFwZS1wYWRkaW5nIiwgIjFweCIsICItMWVtIiwgIjBweCJdLAor
ICAgICBbIi13ZWJraXQtc2hhcGUtcGFkZGluZyIsICIycHgiLCAiMXB4IiwgIjFweCJdXQorKTsK
Kzwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgogPC9ib2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9zaGFwZXMvcGFyc2luZy9wYXJzaW5nLXRlc3QtdXRpbHMuanMgYi9MYXlvdXRUZXN0cy9m
YXN0L3NoYXBlcy9wYXJzaW5nL3BhcnNpbmctdGVzdC11dGlscy5qcwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwLi4wYjNlZmZhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9zaGFwZXMvcGFyc2luZy9wYXJzaW5nLXRlc3QtdXRpbHMuanMKQEAgLTAsMCArMSwx
NzYgQEAKKy8vIFZhbGlkIHZhbHVlcyBmb3IgYm90aCBzaGFwZS1pbnNpZGUgYW5kIHNoYXBlLW91
dHNpZGUuIFR3byB2YWx1ZXMgYXJlIHNwZWNpZmllZCB3aGVuIHRoZSBzaGFwZSBwcm9wZXJ0eSB2
YWx1ZSAKKy8vIGRpZmZlcnMgZnJvbSB0aGUgc3BlY2lmaWVkIHZhbHVlLiBUaHJlZSB2YWx1ZXMg
YXJlIHNwZWNpZmllZCB3aGVuIHRoZSBjb21wdXRlZCBzaGFwZSBwcm9wZXJ0eSB2YWx1ZSBkaWZm
ZXJzCisvLyBmcm9tIHRoZSBzcGVjaWZpZWQgdmFsdWUuCisvLyBlZzogInNwZWNpZmllZCB2YWx1
ZS9DU1MgVGV4dCB2YWx1ZS9jb21wdXRlZCBzdHlsZSB2YWx1ZSIKKy8vIG9yOiBbInNwZWNpZmll
ZCB2YWx1ZSIsICJDU1MgVGV4dCB2YWx1ZS9jb21wdXRlZCBzdHlsZSB2YWx1ZSJdCisvLyBvcjog
WyJzcGVjaWZpZWQgdmFsdWUiLCAiQ1NTIFRleHQgdmFsdWUiLCAiQ29tcHV0ZWQgc3R5bGUgdmFs
dWUiXQordmFyIHZhbGlkU2hhcGVWYWx1ZXMgPSBbCisgICAgImF1dG8iLAorICAgIFsicmVjdGFu
Z2xlKDEwcHgsIDIwcHgsIDMwcHgsIDQwcHgpIiwgInJlY3RhbmdsZSgxMHB4LCAyMHB4LCAzMHB4
LCA0MHB4KSIsICJyZWN0YW5nbGUoMTBweCwgMjBweCwgMzBweCwgNDBweCwgMHB4LCAwcHgpIl0s
CisgICAgWyJyZWN0YW5nbGUoMTBweCwgMjBweCwgMzBweCwgNDBweCwgNXB4KSIsICJyZWN0YW5n
bGUoMTBweCwgMjBweCwgMzBweCwgNDBweCwgNXB4KSIsICJyZWN0YW5nbGUoMTBweCwgMjBweCwg
MzBweCwgNDBweCwgNXB4LCA1cHgpIl0sCisgICAgInJlY3RhbmdsZSgxMHB4LCAyMHB4LCAzMHB4
LCA0MHB4LCA1cHgsIDEwcHgpIiwKKworICAgIFsiaW5zZXQtcmVjdGFuZ2xlKDEwcHgsIDIwcHgs
IDMwcHgsIDQwcHgpIiwgImluc2V0LXJlY3RhbmdsZSgxMHB4LCAyMHB4LCAzMHB4LCA0MHB4KSIs
ICJpbnNldC1yZWN0YW5nbGUoMTBweCwgMjBweCwgMzBweCwgNDBweCwgMHB4LCAwcHgpIl0sCisg
ICAgWyJpbnNldC1yZWN0YW5nbGUoMTBweCwgMjBweCwgMzBweCwgNDBweCwgNXB4KSIsICJpbnNl
dC1yZWN0YW5nbGUoMTBweCwgMjBweCwgMzBweCwgNDBweCwgNXB4KSIsICJpbnNldC1yZWN0YW5n
bGUoMTBweCwgMjBweCwgMzBweCwgNDBweCwgNXB4LCA1cHgpIl0sCisgICAgImluc2V0LXJlY3Rh
bmdsZSgxMHB4LCAyMHB4LCAzMHB4LCA0MHB4LCA1cHgsIDEwcHgpIiwKKworICAgICJjaXJjbGUo
MTBweCwgMjBweCwgMzBweCkiLAorCisgICAgImVsbGlwc2UoMTBweCwgMjBweCwgMzBweCwgNDBw
eCkiLAorCisgICAgWyJwb2x5Z29uKDEwcHggMjBweCwgMzBweCA0MHB4LCA0MHB4IDUwcHgpIiwg
InBvbHlnb24obm9uemVybywgMTBweCAyMHB4LCAzMHB4IDQwcHgsIDQwcHggNTBweCkiXSwKKyAg
ICBbInBvbHlnb24oZXZlbm9kZCwgMTBweCAyMHB4LCAzMHB4IDQwcHgsIDQwcHggNTBweCkiLCAi
cG9seWdvbihldmVub2RkLCAxMHB4IDIwcHgsIDMwcHggNDBweCwgNDBweCA1MHB4KSJdLAorICAg
IFsicG9seWdvbihub256ZXJvLCAxMHB4IDIwcHgsIDMwcHggNDBweCwgNDBweCA1MHB4KSIsICJw
b2x5Z29uKG5vbnplcm8sIDEwcHggMjBweCwgMzBweCA0MHB4LCA0MHB4IDUwcHgpIl0KK107CisK
Ky8vIEludmFsaWQgdmFsdWVzIGZvciBib3RoIHNoYXBlLWluc2lkZSBhbmQgc2hhcGUtb3V0c2lk
ZS4gV2hlbiBhbiBpbnZhbGlkIHNoYXBlIHZhbHVlIGlzIHNwZWNpZmllZCwgdGhlIAorLy8gc2hh
cGUgcHJvcGVydHkncyBjb21wdXRlZCB2YWx1ZSBpcyB0aGUgc2FtZSBhcyBpdHMgZGVmYXVsdC4K
K3ZhciBpbnZhbGlkU2hhcGVWYWx1ZXMgPSBbCisgICAgImNhbGMoKSIsCisgICAgIm5vbmUiLAor
CisgICAgInJlY3RhbmdsZSgpIiwKKyAgICAicmVjdGFuZ2xlKDEwcHgpIiwKKyAgICAicmVjdGFu
Z2xlKDEwcHgsIDEwcHgpIiwKKyAgICAicmVjdGFuZ2xlKDEwcHgsIDIwcHgsIDMwcHgpIiwKKyAg
ICAicmVjdGFuZ2xlKDEwcHggMjBweCAzMHB4IDQwcHgpIiwKKyAgICAicmVjdGFuZ2xlKDEwcHgs
IDIwcHgsIDMwcHgsIDQwcHgsIDUwcHgsIDYwcHgsIDcwcHgpIiwKKworICAgICJpbnNldC1yZWN0
YW5nbGUoKSIsCisgICAgImluc2V0LXJlY3RhbmdsZSgxMHB4KSIsCisgICAgImluc2V0LXJlY3Rh
bmdsZSgxMHB4LCAxMHB4KSIsCisgICAgImluc2V0LXJlY3RhbmdsZSgxMHB4LCAyMHB4LCAzMHB4
KSIsCisgICAgImluc2V0LXJlY3RhbmdsZSgxMHB4IDIwcHggMzBweCA0MHB4KSIsCisgICAgImlu
c2V0LXJlY3RhbmdsZSgxMHB4LCAyMHB4LCAzMHB4LCA0MHB4LCA1MHB4LCA2MHB4LCA3MHB4KSIs
CisKKyAgICAiY2lyY2xlKCkiLAorICAgICJjaXJjbGUoMTBweCkiLAorICAgICJjaXJjbGUoMTBw
eCwgMjBweCkiLAorICAgICJjaXJjbGUoMTBweCAyMHB4IDMwcHgpIiwKKyAgICAiY2lyY2xlKDEw
cHgsIDIwcHgsIDMwcHgsIDQwcHgpIiwKKworICAgICJlbGxpcHNlKCkiLAorICAgICJlbGxpcHNl
KDEwcHgpIiwKKyAgICAiZWxsaXBzZSgxMHB4LCAyMHB4KSIsCisgICAgImVsbGlwc2UoMTBweCwg
MjBweCwgMzBweCkiLAorICAgICJlbGxpcHNlKDEwcHggMjBweCAzMHB4IDQwcHgpIiwKKworICAg
ICJwb2x5Z29uKCkiLAorICAgICJwb2x5Z29uKGV2ZW5vZGQgMTBweCAyMHB4LCAzMHB4IDQwcHgs
IDQwcHggNTBweCkiLAorICAgICJwb2x5Z29uKG5vbnplcm8gMTBweCAyMHB4LCAzMHB4IDQwcHgs
IDQwcHggNTBweCkiLAorICAgICJwb2x5Z29uKG5vbnplcm8pIiwKKyAgICAicG9seWdvbihldmVu
b2RkKSIsCisgICAgInBvbHlnb24oMTBweCkiLAorICAgICJwb2x5Z29uKG5vbnplcm8sMTBweCki
LAorICAgICJwb2x5Z29uKGV2ZW5vZGQsMTJweCkiLAorICAgICJwb2x5Z29uKDEwcHgsIDIwcHgs
IDMwcHgsIDQwcHgsIDQwcHgsIDUwcHgpIiwKK107CisKKy8vIFZhbGlkIGxlbmd0aCB2YWx1ZXMg
Zm9yIHNoYXBlLW1hcmdpbiBhbmQgc2hhcGUtcGFkZGluZy4KK3ZhciB2YWxpZFNoYXBlTGVuZ3Ro
cyA9IFsKKyAgICAiMS41ZXgiLAorICAgICIyZW0iLAorICAgICIyLjVpbiIsCisgICAgIjNjbSIs
CisgICAgIjMuNW1tIiwKKyAgICAiNHB0IiwKKyAgICAiNC41cGMiLAorICAgICI1cHgiCitdOwor
CisvLyBJbnZhbGlkIGxlbmd0aCB2YWx1ZXMgZm9yIHNoYXBlLW1hcmdpbiBhbmQgc2hhcGUtcGFk
ZGluZy4KK3ZhciBpbnZhbGlkU2hhcGVMZW5ndGhzID0gWworICAgICItNXB4IiwKKyAgICAiYXV0
byIsCisgICAgIjEyMCUiLAorICAgICJcJ3N0cmluZ1wnIgorXTsKKworZnVuY3Rpb24gZ2V0Q1NT
VGV4dChwcm9wZXJ0eSwgdmFsdWUpCit7CisgICAgdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJkaXYiKTsKKyAgICBlbGVtZW50LnN0eWxlLmNzc1RleHQgPSBwcm9wZXJ0eSAr
ICI6ICIgKyB2YWx1ZTsKKyAgICByZXR1cm4gZWxlbWVudC5zdHlsZVtwcm9wZXJ0eV07Cit9CisK
K2Z1bmN0aW9uIGdldENvbXB1dGVkU3R5bGVWYWx1ZShwcm9wZXJ0eSwgdmFsdWUpIAoreworICAg
IHZhciBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CisgICAgZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChlbGVtZW50KTsKKyAgICBlbGVtZW50LnN0eWxlLnNldFByb3Bl
cnR5KHByb3BlcnR5LCB2YWx1ZSk7CisgICAgdmFyIGNvbXB1dGVkVmFsdWUgPSBnZXRDb21wdXRl
ZFN0eWxlKGVsZW1lbnQpLmdldFByb3BlcnR5VmFsdWUocHJvcGVydHkpOworICAgIGRvY3VtZW50
LmJvZHkucmVtb3ZlQ2hpbGQoZWxlbWVudCk7CisgICAgcmV0dXJuIGNvbXB1dGVkVmFsdWU7Cit9
CisKK2Z1bmN0aW9uIGdldFBhcmVudEFuZENoaWxkQ29tcHV0ZWRTdHlsZXMocHJvcGVydHksIHBh
cmVudFZhbHVlLCBjaGlsZFZhbHVlKSAKK3sKKyAgICB2YXIgcGFyZW50RWxlbWVudCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
cGFyZW50RWxlbWVudCk7CisgICAgcGFyZW50RWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eShwcm9w
ZXJ0eSwgcGFyZW50VmFsdWUpOworICAgIHZhciBjaGlsZEVsZW1lbnQgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJkaXYiKTsKKyAgICBwYXJlbnRFbGVtZW50LmFwcGVuZENoaWxkKGNoaWxkRWxl
bWVudCk7CisgICAgY2hpbGRFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KHByb3BlcnR5LCBjaGls
ZFZhbHVlKTsKKyAgICB2YXIgcGFyZW50Q29tcHV0ZWRWYWx1ZSA9IGdldENvbXB1dGVkU3R5bGUo
cGFyZW50RWxlbWVudCkuZ2V0UHJvcGVydHlWYWx1ZShwcm9wZXJ0eSk7CisgICAgdmFyIGNoaWxk
Q29tcHV0ZWRWYWx1ZSA9IGdldENvbXB1dGVkU3R5bGUoY2hpbGRFbGVtZW50KS5nZXRQcm9wZXJ0
eVZhbHVlKHByb3BlcnR5KTsKKyAgICBwYXJlbnRFbGVtZW50LnJlbW92ZUNoaWxkKGNoaWxkRWxl
bWVudCk7CisgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChwYXJlbnRFbGVtZW50KTsKKyAg
ICByZXR1cm4ge3BhcmVudDogcGFyZW50Q29tcHV0ZWRWYWx1ZSwgY2hpbGQ6IGNoaWxkQ29tcHV0
ZWRWYWx1ZX07Cit9CisKK2Z1bmN0aW9uIGdldFBhcmVudEFuZENoaWxkQ29tcHV0ZWRTdHlsZXNT
dHJpbmcocHJvcGVydHksIHBhcmVudFZhbHVlLCBjaGlsZFZhbHVlKSAKK3sKKyAgICB2YXIgc3R5
bGVzID0gZ2V0UGFyZW50QW5kQ2hpbGRDb21wdXRlZFN0eWxlcyhwcm9wZXJ0eSwgcGFyZW50VmFs
dWUsIGNoaWxkVmFsdWUpOworICAgIHJldHVybiAicGFyZW50OiAiICsgc3R5bGVzLnBhcmVudCAr
ICIsIGNoaWxkOiAiICsgc3R5bGVzLmNoaWxkOworfQorCitmdW5jdGlvbiBnZXRDaGlsZENvbXB1
dGVkU3R5bGUocHJvcGVydHksIHBhcmVudFZhbHVlLCBjaGlsZFZhbHVlKSAKK3sKKyAgICB2YXIg
c3R5bGVzID0gZ2V0UGFyZW50QW5kQ2hpbGRDb21wdXRlZFN0eWxlcyhwcm9wZXJ0eSwgcGFyZW50
VmFsdWUsIGNoaWxkVmFsdWUpOworICAgIHJldHVybiBzdHlsZXMuY2hpbGQ7Cit9CisKK2Z1bmN0
aW9uIHRlc3RTaGFwZVNwZWNpZmllZFByb3BlcnR5KHByb3BlcnR5LCB2YWx1ZSwgZXhwZWN0ZWRW
YWx1ZSkKK3sKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2dldENTU1RleHQoIicgKyBwcm9w
ZXJ0eSArICciLCAiJyArIHZhbHVlICsgJyIpJywgZXhwZWN0ZWRWYWx1ZSk7Cit9CisKK2Z1bmN0
aW9uIHRlc3RTaGFwZUNvbXB1dGVkUHJvcGVydHkocHJvcGVydHksIHZhbHVlLCBleHBlY3RlZFZh
bHVlKQoreworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0Q29tcHV0ZWRTdHlsZVZhbHVl
KCInICsgcHJvcGVydHkgKyAnIiwgIicgKyB2YWx1ZSArICciKScsIGV4cGVjdGVkVmFsdWUpOwor
fQorCitmdW5jdGlvbiB0ZXN0Tm90SW5oZXJpdGVkU2hhcGVDaGlsZFByb3BlcnR5KHByb3BlcnR5
LCBwYXJlbnRWYWx1ZSwgY2hpbGRWYWx1ZSwgZXhwZWN0ZWRDaGlsZFZhbHVlKQoreworICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0Q2hpbGRDb21wdXRlZFN0eWxlKCInICsgcHJvcGVydHkg
KyAnIiwgIicgKyBwYXJlbnRWYWx1ZSArICciLCAiJyArIGNoaWxkVmFsdWUgKyAnIiknLCBleHBl
Y3RlZENoaWxkVmFsdWUpOworfQorCisvLyBOZWVkIHRvIHJlbW92ZSB0aGUgYmFzZSBVUkwgdG8g
YXZvaWQgaGF2aW5nIGxvY2FsIHBhdGhzIGluIHRoZSBleHBlY3RlZCByZXN1bHRzLgorZnVuY3Rp
b24gcmVtb3ZlQmFzZVVSTChzcmMpIHsKKyAgICB2YXIgdXJsUmVnZXhwID0gL3VybFwoKFteXCld
KilcKS9nOworICAgIHJldHVybiBzcmMucmVwbGFjZSh1cmxSZWdleHAsIGZ1bmN0aW9uKG1hdGNo
LCB1cmwpIHsKKyAgICAgICAgcmV0dXJuICJ1cmwoIiArIHVybC5zdWJzdHIodXJsLmxhc3RJbmRl
eE9mKCIvIikgKyAxKSArICIpIjsKKyAgICB9KTsKK30KKworZnVuY3Rpb24gdGVzdExvY2FsVVJM
U2hhcGVQcm9wZXJ0eShwcm9wZXJ0eSwgdmFsdWUsIGV4cGVjdGVkKSAKK3sKKyAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ3JlbW92ZUJhc2VVUkwoZ2V0Q1NTVGV4dCgiJyArIHByb3BlcnR5ICsg
JyIsICInICsgdmFsdWUgKyAnIikpJywgZXhwZWN0ZWQpOworICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygncmVtb3ZlQmFzZVVSTChnZXRDb21wdXRlZFN0eWxlVmFsdWUoIicgKyBwcm9wZXJ0eSAr
ICciLCAiJyArIHZhbHVlICsgJyIpKScsIGV4cGVjdGVkKTsKK30KKworZnVuY3Rpb24gdGVzdFNo
YXBlUHJvcGVydHlQYXJzaW5nRmFpbHVyZShwcm9wZXJ0eSwgdmFsdWUsIGRlZmF1bHRDb21wdXRl
ZFN0eWxlKSAKK3sKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2dldENTU1RleHQoIicgKyBw
cm9wZXJ0eSArICciLCAiJyArIHZhbHVlICsgJyIpJywgJycpOworICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygnZ2V0Q29tcHV0ZWRTdHlsZVZhbHVlKCInICsgcHJvcGVydHkgKyAnIiwgIicgKyB2
YWx1ZSArICciKScsIGRlZmF1bHRDb21wdXRlZFN0eWxlKTsKK30KKworZnVuY3Rpb24gdGVzdE5v
dEluaGVyaXRlZFNoYXBlUHJvcGVydHkocHJvcGVydHksIHBhcmVudFZhbHVlLCBjaGlsZFZhbHVl
LCBleHBlY3RlZFZhbHVlKQoreworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0UGFyZW50
QW5kQ2hpbGRDb21wdXRlZFN0eWxlc1N0cmluZygiJyArIHByb3BlcnR5ICsgJyIsICInICsgcGFy
ZW50VmFsdWUgKyAnIiwgIicgKyBjaGlsZFZhbHVlICsgJyIpJywgZXhwZWN0ZWRWYWx1ZSk7Cit9
CisKK2Z1bmN0aW9uIGFwcGx5VG9FYWNoQXJnbGlzdCh0ZXN0RnVuY3Rpb24sIGFyZ2xpc3RzKQor
eworICAgIGFyZ2xpc3RzLmZvckVhY2goZnVuY3Rpb24oYXJnbGlzdCwgaSwgYSkge3Rlc3RGdW5j
dGlvbi5hcHBseShudWxsLCBhcmdsaXN0KTt9KTsKK30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3Qvc2hhcGVzL3BhcnNpbmcvc2NyaXB0LXRlc3RzL3BhcnNpbmctc2hhcGUtaW1hZ2UtdGhy
ZXNob2xkLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9zaGFwZXMvcGFyc2luZy9zY3JpcHQtdGVzdHMv
cGFyc2luZy1zaGFwZS1pbWFnZS10aHJlc2hvbGQuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGUwOGU0NTkuLjAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zaGFwZXMvcGFy
c2luZy9zY3JpcHQtdGVzdHMvcGFyc2luZy1zaGFwZS1pbWFnZS10aHJlc2hvbGQuanMKKysrIC9k
ZXYvbnVsbApAQCAtMSwyNyArMCwwIEBACi1kZXNjcmlwdGlvbignVGVzdCBwYXJzaW5nIG9mIHRo
ZSBDU1Mgc2hhcGUtaW1hZ2UtdGhyZXNob2xkIHByb3BlcnR5LicpOwotCi0vLyBUaGUgdGVzdCBm
dW5jdGlvbnMgYW5kIGdsb2JhbHMgdXNlZCBoZXJlIGFyZSBkZWZpbmVkIHBhcnNpbmctdGVzdC11
dGlscy5qcy4KLQotYXBwbHlUb0VhY2hBcmdsaXN0KAotICAgIHRlc3RTaGFwZUNvbXB1dGVkUHJv
cGVydHksCi0gICAgWy8vIFtwcm9wZXJ0eSwgdmFsdWUsIGV4cGVjdGVkVmFsdWVdCi0gICAgIFsi
LXdlYmtpdC1zaGFwZS1pbWFnZS10aHJlc2hvbGQiLCAiMCIsICIwIl0sCi0gICAgIFsiLXdlYmtp
dC1zaGFwZS1pbWFnZS10aHJlc2hvbGQiLCAiMC41IiwgIjAuNSJdLAotICAgICBbIi13ZWJraXQt
c2hhcGUtaW1hZ2UtdGhyZXNob2xkIiwgIjEiLCAiMSJdLAotICAgICBbIi13ZWJraXQtc2hhcGUt
aW1hZ2UtdGhyZXNob2xkIiwgIi0wLjEiLCAiMCJdLAotICAgICBbIi13ZWJraXQtc2hhcGUtaW1h
Z2UtdGhyZXNob2xkIiwgIjEuMSIsICIxIl0sCi0gICAgIFsiLXdlYmtpdC1zaGFwZS1pbWFnZS10
aHJlc2hvbGQiLCAiaWRlbnRpZmllciIsICIwIl0sCi0gICAgIFsiLXdlYmtpdC1zaGFwZS1pbWFn
ZS10aHJlc2hvbGQiLCAiXCdzdHJpbmdcJyIsICIwIl0KLV0KLQotCi0pOwotCi1hcHBseVRvRWFj
aEFyZ2xpc3QoCi0gICAgdGVzdE5vdEluaGVyaXRlZFNoYXBlQ2hpbGRQcm9wZXJ0eSwKLSAgICBb
Ly8gW3Byb3BlcnR5LCBwYXJlbnRWYWx1ZSwgY2hpbGRWYWx1ZSwgZXhwZWN0ZWRDaGlsZFZhbHVl
XQotICAgICBbIi13ZWJraXQtc2hhcGUtaW1hZ2UtdGhyZXNob2xkIiwgIjAiLCAiMCIsICIwIl0s
Ci0gICAgIFsiLXdlYmtpdC1zaGFwZS1pbWFnZS10aHJlc2hvbGQiLCAiMCIsICIxIiwgIjEiXSwK
LSAgICAgWyItd2Via2l0LXNoYXBlLWltYWdlLXRocmVzaG9sZCIsICIxIiwgIi0xIiwgIjAiXSwK
LSAgICAgWyItd2Via2l0LXNoYXBlLWltYWdlLXRocmVzaG9sZCIsICIyIiwgIjEiLCAiMSJdXQot
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2hhcGVzL3BhcnNpbmcvc2NyaXB0LXRl
c3RzL3BhcnNpbmctc2hhcGUtaW5zaWRlLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9zaGFwZXMvcGFy
c2luZy9zY3JpcHQtdGVzdHMvcGFyc2luZy1zaGFwZS1pbnNpZGUuanMKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDY3NzA2ZTIuLjAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9z
aGFwZXMvcGFyc2luZy9zY3JpcHQtdGVzdHMvcGFyc2luZy1zaGFwZS1pbnNpZGUuanMKKysrIC9k
ZXYvbnVsbApAQCAtMSwyOSArMCwwIEBACi1kZXNjcmlwdGlvbignVGVzdGluZyBwYXJzaW5nIG9m
IHRoZSAtd2Via2l0LXNoYXBlLWluc2lkZSBwcm9wZXJ0eS4nKTsKLQotLy8gVGhlIHRlc3QgZnVu
Y3Rpb25zIGFuZCBnbG9iYWxzIHVzZWQgaGVyZSBhcmUgZGVmaW5lZCBwYXJzaW5nLXRlc3QtdXRp
bHMuanMuCi0KLXZhbGlkU2hhcGVWYWx1ZXMuY29uY2F0KCJvdXRzaWRlLXNoYXBlIikuZm9yRWFj
aChmdW5jdGlvbihlbHQsIGksIGEpIHsgCi0gICAgdmFyIHZhbHVlID0gKGVsdCBpbnN0YW5jZW9m
IEFycmF5KSA/IGVsdFswXSA6IGVsdDsKLSAgICB2YXIgZXhwZWN0ZWRWYWx1ZSA9IChlbHQgaW5z
dGFuY2VvZiBBcnJheSkgPyBlbHRbMV0gOiBlbHQ7Ci0gICAgdmFyIGNvbXB1dGVkVmFsdWUgPSAo
ZWx0IGluc3RhbmNlb2YgQXJyYXkgJiYgZWx0Lmxlbmd0aCA+IDIpID8gZWx0WzJdIDogZXhwZWN0
ZWRWYWx1ZTsKLSAgICB0ZXN0U2hhcGVTcGVjaWZpZWRQcm9wZXJ0eSgiLXdlYmtpdC1zaGFwZS1p
bnNpZGUiLCB2YWx1ZSwgZXhwZWN0ZWRWYWx1ZSk7Ci0gICAgdGVzdFNoYXBlQ29tcHV0ZWRQcm9w
ZXJ0eSgiLXdlYmtpdC1zaGFwZS1pbnNpZGUiLCB2YWx1ZSwgY29tcHV0ZWRWYWx1ZSk7Ci19KTsK
LQotdGVzdExvY2FsVVJMU2hhcGVQcm9wZXJ0eSgiLXdlYmtpdC1zaGFwZS1pbnNpZGUiLCAidXJs
KFwnaW1hZ2VcJykiLCAidXJsKGltYWdlKSIpOwotCi1pbnZhbGlkU2hhcGVWYWx1ZXMuZm9yRWFj
aChmdW5jdGlvbih2YWx1ZSwgaSwgYSkgeyAKLSAgICB0ZXN0U2hhcGVQcm9wZXJ0eVBhcnNpbmdG
YWlsdXJlKCItd2Via2l0LXNoYXBlLWluc2lkZSIsIHZhbHVlLCAib3V0c2lkZS1zaGFwZSIpIAot
fSk7Ci0KLWFwcGx5VG9FYWNoQXJnbGlzdCgKLSAgICB0ZXN0Tm90SW5oZXJpdGVkU2hhcGVQcm9w
ZXJ0eSwgCi0gICAgWy8vIFtwcm9wZXJ0eSwgcGFyZW50VmFsdWUsIGNoaWxkVmFsdWUsIGV4cGVj
dGVkVmFsdWVdCi0gICAgIFsiLXdlYmtpdC1zaGFwZS1pbnNpZGUiLCAiYXV0byIsICJyZWN0YW5n
bGUoMTBweCwgMjBweCwgMzBweCwgNDBweCkiLCAicGFyZW50OiBhdXRvLCBjaGlsZDogcmVjdGFu
Z2xlKDEwcHgsIDIwcHgsIDMwcHgsIDQwcHgsIDBweCwgMHB4KSJdLAotICAgICBbIi13ZWJraXQt
c2hhcGUtaW5zaWRlIiwgIm91dHNpZGUtc2hhcGUiLCAicmVjdGFuZ2xlKDEwcHgsIDIwcHgsIDMw
cHgsIDQwcHgpIiwgInBhcmVudDogb3V0c2lkZS1zaGFwZSwgY2hpbGQ6IHJlY3RhbmdsZSgxMHB4
LCAyMHB4LCAzMHB4LCA0MHB4LCAwcHgsIDBweCkiXSwKLSAgICAgWyItd2Via2l0LXNoYXBlLWlu
c2lkZSIsICJyZWN0YW5nbGUoMTBweCwgMjBweCwgMzBweCwgNDBweCkiLCAiaW5pdGlhbCIsICJw
YXJlbnQ6IHJlY3RhbmdsZSgxMHB4LCAyMHB4LCAzMHB4LCA0MHB4LCAwcHgsIDBweCksIGNoaWxk
OiBvdXRzaWRlLXNoYXBlIl0sCi0gICAgIFsiLXdlYmtpdC1zaGFwZS1pbnNpZGUiLCAicmVjdGFu
Z2xlKDEwcHgsIDIwcHgsIDMwcHgsIDQwcHgpIiwgIiIsICJwYXJlbnQ6IHJlY3RhbmdsZSgxMHB4
LCAyMHB4LCAzMHB4LCA0MHB4LCAwcHgsIDBweCksIGNoaWxkOiBvdXRzaWRlLXNoYXBlIl0sCi0g
ICAgIFsiLXdlYmtpdC1zaGFwZS1pbnNpZGUiLCAicmVjdGFuZ2xlKDEwcHgsIDIwcHgsIDMwcHgs
IDQwcHgpIiwgImluaGVyaXQiLCAicGFyZW50OiByZWN0YW5nbGUoMTBweCwgMjBweCwgMzBweCwg
NDBweCwgMHB4LCAwcHgpLCBjaGlsZDogcmVjdGFuZ2xlKDEwcHgsIDIwcHgsIDMwcHgsIDQwcHgs
IDBweCwgMHB4KSJdLAotICAgICBbIi13ZWJraXQtc2hhcGUtaW5zaWRlIiwgIiIsICJpbmhlcml0
IiwgInBhcmVudDogb3V0c2lkZS1zaGFwZSwgY2hpbGQ6IG91dHNpZGUtc2hhcGUiXSwKLSAgICAg
WyItd2Via2l0LXNoYXBlLWluc2lkZSIsICJhdXRvIiwgImluaGVyaXQiLCAicGFyZW50OiBhdXRv
LCBjaGlsZDogYXV0byJdXQotKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2hhcGVz
L3BhcnNpbmcvc2NyaXB0LXRlc3RzL3BhcnNpbmctc2hhcGUtbGVuZ3Rocy5qcyBiL0xheW91dFRl
c3RzL2Zhc3Qvc2hhcGVzL3BhcnNpbmcvc2NyaXB0LXRlc3RzL3BhcnNpbmctc2hhcGUtbGVuZ3Ro
cy5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjI2MGY1MS4uMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9wYXJzaW5nL3NjcmlwdC10ZXN0cy9wYXJzaW5nLXNo
YXBlLWxlbmd0aHMuanMKKysrIC9kZXYvbnVsbApAQCAtMSw5MiArMCwwIEBACi1kZXNjcmlwdGlv
bignVGVzdCB0aGF0IGV4Y2x1c2lvbiBzaGFwZXMgYWNjZXB0IGRpZmZlcmVudCBsZW5ndGggdW5p
dHMnKTsKLQotLy8gVGhlIHRlc3QgZnVuY3Rpb25zIGFuZCBnbG9iYWxzIHVzZWQgaGVyZSBhcmUg
ZGVmaW5lZCBwYXJzaW5nLXRlc3QtdXRpbHMuanMuCi0KLWZ1bmN0aW9uIGdldFN0eWxlVmFsdWUo
cHJvcGVydHksIHZhbHVlKSB7Ci0gICAgdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
ImRpdiIpOwotICAgIGRpdi5zdHlsZS5zZXRQcm9wZXJ0eShwcm9wZXJ0eSwgdmFsdWUpOwotICAg
IHJldHVybiBkaXYuc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZShwcm9wZXJ0eSk7Ci19Ci0KLWZ1bmN0
aW9uIHRlc3RTdHlsZVZhbHVlKHZhbHVlLCBleHBlY3RlZCkgewotICAgIGlmIChleHBlY3RlZCA9
PT0gbnVsbCkKLSAgICAgICAgc2hvdWxkQmVOdWxsKCdnZXRTdHlsZVZhbHVlKCItd2Via2l0LXNo
YXBlLWluc2lkZSIsICInICsgdmFsdWUgKyAnIiknKTsKLSAgICBlbHNlCi0gICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygnZ2V0U3R5bGVWYWx1ZSgiLXdlYmtpdC1zaGFwZS1pbnNpZGUiLCAi
JyArIHZhbHVlICsgJyIpJywgZXhwZWN0ZWQpOwotfQotZnVuY3Rpb24gdGVzdENvbXB1dGVkU3R5
bGVWYWx1ZSh2YWx1ZSwgZXhwZWN0ZWQpIHsKLSAgICB0ZXN0U2hhcGVDb21wdXRlZFByb3BlcnR5
KCItd2Via2l0LXNoYXBlLWluc2lkZSIsIHZhbHVlLCBleHBlY3RlZCk7Ci19Ci0KLWZ1bmN0aW9u
IHRlc3RJbnZhbGlkVmFsdWUocHJvcGVydHksIHZhbHVlKSB7Ci0gICAgdGVzdFN0eWxlVmFsdWUo
dmFsdWUsIG51bGwpOwotICAgIHRlc3RDb21wdXRlZFN0eWxlVmFsdWUodmFsdWUsICdvdXRzaWRl
LXNoYXBlJyk7Ci19Ci0KLS8vIGFic29sdXRlIGxlbmd0aHMgLSBudW1iZXIgc2VyaWFsaXphdGlv
biwgdW5pdHMKLXRlc3RTdHlsZVZhbHVlKCJjaXJjbGUoMCwgMCwgMCkiLCAiY2lyY2xlKDBweCwg
MHB4LCAwcHgpIik7Ci10ZXN0U3R5bGVWYWx1ZSgiY2lyY2xlKC0xcHgsICsxcHgsIDFweCkiLCAi
Y2lyY2xlKC0xcHgsIDFweCwgMXB4KSIpOwotdGVzdFN0eWxlVmFsdWUoImNpcmNsZSgtMS41cHgs
ICsxLjVweCwgMS41cHgpIiwgImNpcmNsZSgtMS41cHgsIDEuNXB4LCAxLjVweCkiKTsKLXRlc3RT
dHlsZVZhbHVlKCJjaXJjbGUoLS41cHgsICsuNXB4LCAuNXB4KSIsICJjaXJjbGUoLTAuNXB4LCAw
LjVweCwgMC41cHgpIik7Ci0KLXRlc3RTdHlsZVZhbHVlKCJyZWN0YW5nbGUoMWNtLCAxbW0sIDFp
biwgMXB4LCAxcHQsIDFwYykiLCAicmVjdGFuZ2xlKDFjbSwgMW1tLCAxaW4sIDFweCwgMXB0LCAx
cGMpIik7Ci10ZXN0U3R5bGVWYWx1ZSgiaW5zZXQtcmVjdGFuZ2xlKDFjbSwgMW1tLCAxaW4sIDFw
eCwgMXB0LCAxcGMpIiwgImluc2V0LXJlY3RhbmdsZSgxY20sIDFtbSwgMWluLCAxcHgsIDFwdCwg
MXBjKSIpOwotCi0vLyBmb250LXJlbGF0aXZlIGxlbmd0aHMgLSBudW1iZXIgc2VyaWFsaXphdGlv
biwgdW5pdHMsIHJlc29sdXRpb24KLXRlc3RTdHlsZVZhbHVlKCJjaXJjbGUoLTFlbSwgKzFlbSwg
MWVtKSIsICJjaXJjbGUoLTFlbSwgMWVtLCAxZW0pIik7Ci10ZXN0U3R5bGVWYWx1ZSgiY2lyY2xl
KC0xLjVlbSwgKzEuNWVtLCAxLjVlbSkiLCAiY2lyY2xlKC0xLjVlbSwgMS41ZW0sIDEuNWVtKSIp
OwotdGVzdFN0eWxlVmFsdWUoImNpcmNsZSgtLjVlbSwgKy41ZW0sIC41ZW0pIiwgImNpcmNsZSgt
MC41ZW0sIDAuNWVtLCAwLjVlbSkiKTsKLQotdGVzdFN0eWxlVmFsdWUoImNpcmNsZSgxZXgsIDFl
eCwgMWV4KSIsICJjaXJjbGUoMWV4LCAxZXgsIDFleCkiKTsKLS8vIEZJWE1FOiBBZGQgY2ggdGVz
dCB3aGVuIGl0IGlzIHN1cHBvcnRlZAotdGVzdFN0eWxlVmFsdWUoImNpcmNsZSgxcmVtLCAxcmVt
LCAxcmVtKSIsICJjaXJjbGUoMXJlbSwgMXJlbSwgMXJlbSkiKTsKLQotdGVzdENvbXB1dGVkU3R5
bGVWYWx1ZSgiY2lyY2xlKC41ZW0sIDFlbSwgMS41ZW0pIiwgImNpcmNsZSg0cHgsIDhweCwgMTJw
eCkiKTsKLXRlc3RDb21wdXRlZFN0eWxlVmFsdWUoImNpcmNsZSguNXJlbSwgMXJlbSwgMS41cmVt
KSIsICJjaXJjbGUoOHB4LCAxNnB4LCAyNHB4KSIpOwotCi0vLyB2aWV3cG9ydC1wZXJjZW50YWdl
IGxlbmd0aHMgLSB1bml0cywgcmVzb2x1dGlvbgotdGVzdFN0eWxlVmFsdWUoImNpcmNsZSgxdncs
IDF2dywgMXZ3KSIsICJjaXJjbGUoMXZ3LCAxdncsIDF2dykiKTsKLXRlc3RTdHlsZVZhbHVlKCJj
aXJjbGUoMXZoLCAxdmgsIDF2aCkiLCAiY2lyY2xlKDF2aCwgMXZoLCAxdmgpIik7Ci10ZXN0U3R5
bGVWYWx1ZSgiY2lyY2xlKDF2bWluLCAxdm1pbiwgMXZtaW4pIiwgImNpcmNsZSgxdm1pbiwgMXZt
aW4sIDF2bWluKSIpOwotCi10ZXN0Q29tcHV0ZWRTdHlsZVZhbHVlKCJjaXJjbGUoLjV2dywgMXZ3
LCAxLjV2dykiLCAiY2lyY2xlKDAuNXZ3LCAxdncsIDEuNXZ3KSIpOwotdGVzdENvbXB1dGVkU3R5
bGVWYWx1ZSgiY2lyY2xlKC41dmgsIDF2aCwgMS41dmgpIiwgImNpcmNsZSgwLjV2aCwgMXZoLCAx
LjV2aCkiKTsKLXRlc3RDb21wdXRlZFN0eWxlVmFsdWUoImNpcmNsZSguNXZtaW4sIDF2bWluLCAx
LjV2bWluKSIsICJjaXJjbGUoMC41dm1pbiwgMXZtaW4sIDEuNXZtaW4pIik7Ci0KLS8vIHBlcmNl
bnRhZ2UgbGVuZ3RocyAtIHVuaXRzCi10ZXN0U3R5bGVWYWx1ZSgiY2lyY2xlKDEwMCUsIDEwMCUs
IDEwMCUpIiwgImNpcmNsZSgxMDAlLCAxMDAlLCAxMDAlKSIpOwotdGVzdFN0eWxlVmFsdWUoInJl
Y3RhbmdsZSg0NSUsIDQ1JSwgOTAlLCA2MCUsIDI1JSwgMTAlKSIsICJyZWN0YW5nbGUoNDUlLCA0
NSUsIDkwJSwgNjAlLCAyNSUsIDEwJSkiKTsKLXRlc3RTdHlsZVZhbHVlKCJpbnNldC1yZWN0YW5n
bGUoNDUlLCA0NSUsIDkwJSwgNjAlLCAyNSUsIDEwJSkiLCAiaW5zZXQtcmVjdGFuZ2xlKDQ1JSwg
NDUlLCA5MCUsIDYwJSwgMjUlLCAxMCUpIik7Ci10ZXN0U3R5bGVWYWx1ZSgiZWxsaXBzZSgxMDAl
LCAxMDAlLCAxMDAlLCAxMDAlKSIsICJlbGxpcHNlKDEwMCUsIDEwMCUsIDEwMCUsIDEwMCUpIik7
Ci10ZXN0U3R5bGVWYWx1ZSgicG9seWdvbigxMCUgMjAlLCAzMCUgNDAlLCA0MCUgNTAlKSIsICJw
b2x5Z29uKG5vbnplcm8sIDEwJSAyMCUsIDMwJSA0MCUsIDQwJSA1MCUpIik7Ci0KLXRlc3RDb21w
dXRlZFN0eWxlVmFsdWUoImNpcmNsZSg1MCUsIDEwMCUsIDE1MCUpIiwgImNpcmNsZSg1MCUsIDEw
MCUsIDE1MCUpIik7Ci10ZXN0Q29tcHV0ZWRTdHlsZVZhbHVlKCJyZWN0YW5nbGUoNDUlLCA0NSUs
IDkwJSwgNjAlLCAyNSUsIDEwJSkiLCAicmVjdGFuZ2xlKDQ1JSwgNDUlLCA5MCUsIDYwJSwgMjUl
LCAxMCUpIik7Ci10ZXN0Q29tcHV0ZWRTdHlsZVZhbHVlKCJpbnNldC1yZWN0YW5nbGUoNDUlLCA0
NSUsIDkwJSwgNjAlLCAyNSUsIDEwJSkiLCAiaW5zZXQtcmVjdGFuZ2xlKDQ1JSwgNDUlLCA5MCUs
IDYwJSwgMjUlLCAxMCUpIik7Ci10ZXN0Q29tcHV0ZWRTdHlsZVZhbHVlKCJlbGxpcHNlKDEwMCUs
IDEwMCUsIDEwMCUsIDEwMCUpIiwgImVsbGlwc2UoMTAwJSwgMTAwJSwgMTAwJSwgMTAwJSkiKTsK
LXRlc3RDb21wdXRlZFN0eWxlVmFsdWUoInBvbHlnb24oMTAlIDIwJSwgMzAlIDQwJSwgNDAlIDUw
JSkiLCAicG9seWdvbihub256ZXJvLCAxMCUgMjAlLCAzMCUgNDAlLCA0MCUgNTAlKSIpOwotCi0v
LyByZWplY3Qgbm9uLWxlbmd0aHMKLXRlc3RJbnZhbGlkVmFsdWUoIi13ZWJraXQtc2hhcGUtaW5z
aWRlIiwgImNpcmNsZSgxcHgsIDFweCwgMSkiKTsKLXRlc3RJbnZhbGlkVmFsdWUoIi13ZWJraXQt
c2hhcGUtaW5zaWRlIiwgImNpcmNsZSgxcHgsIDFweCwgcHgpIik7Ci10ZXN0SW52YWxpZFZhbHVl
KCItd2Via2l0LXNoYXBlLWluc2lkZSIsICJjaXJjbGUoMXB4LCAxcHgsIDFwKSIpOwotdGVzdElu
dmFsaWRWYWx1ZSgiLXdlYmtpdC1zaGFwZS1pbnNpZGUiLCAiY2lyY2xlKDFweCwgMXB4LCBjYWxj
KCkpIik7Ci0KLS8vIHJlamVjdCBuZWdhdGl2ZSByYWRpdXNlcwotdGVzdEludmFsaWRWYWx1ZSgi
LXdlYmtpdC1zaGFwZS1pbnNpZGUiLCAiY2lyY2xlKC0xLjVweCwgKzEuNXB4LCAtMS41cHgpIik7
Ci10ZXN0SW52YWxpZFZhbHVlKCItd2Via2l0LXNoYXBlLWluc2lkZSIsICJyZWN0YW5nbGUoMWNt
LCAxbW0sIDFpbiwgMXB4LCAtMXB0LCAxcGMpIik7Ci10ZXN0SW52YWxpZFZhbHVlKCItd2Via2l0
LXNoYXBlLWluc2lkZSIsICJyZWN0YW5nbGUoMWNtLCAxbW0sIDFpbiwgMXB4LCAxcHQsIC0xcGMp
Iik7Ci10ZXN0SW52YWxpZFZhbHVlKCItd2Via2l0LXNoYXBlLWluc2lkZSIsICJpbnNldC1yZWN0
YW5nbGUoMWNtLCAxbW0sIDFpbiwgMXB4LCAtMXB0LCAxcGMpIik7Ci10ZXN0SW52YWxpZFZhbHVl
KCItd2Via2l0LXNoYXBlLWluc2lkZSIsICJpbnNldC1yZWN0YW5nbGUoMWNtLCAxbW0sIDFpbiwg
MXB4LCAxcHQsIC0xcGMpIik7Ci10ZXN0SW52YWxpZFZhbHVlKCItd2Via2l0LXNoYXBlLWluc2lk
ZSIsICJlbGxpcHNlKDFlbSwgMWVtLCAtMWVtLCAxZW0pIik7Ci10ZXN0SW52YWxpZFZhbHVlKCIt
d2Via2l0LXNoYXBlLWluc2lkZSIsICJlbGxpcHNlKDFlbSwgMWVtLCAxZW0sIC0xZW0pIik7Ci0K
LS8vIHJlamVjdCBuZWdhdGl2ZSBoZWlnaHQgYW5kIHdpZHRoCi10ZXN0SW52YWxpZFZhbHVlKCIt
d2Via2l0LXNoYXBlLWluc2lkZSIsICJyZWN0YW5nbGUoMWNtLCAxbW0sIC0xaW4sIDFweCwgMXB0
LCAxcGMpIik7Ci10ZXN0SW52YWxpZFZhbHVlKCItd2Via2l0LXNoYXBlLWluc2lkZSIsICJyZWN0
YW5nbGUoMWNtLCAxbW0sIDFpbiwgLTFweCwgMXB0LCAxcGMpIik7Ci0KLS8vIHJlamVjdCBuZWdh
dGl2ZSB0b3AsIHJpZ2h0LCBib3R0b20sIGFuZCBsZWZ0Ci10ZXN0SW52YWxpZFZhbHVlKCItd2Vi
a2l0LXNoYXBlLWluc2lkZSIsICJpbnNldC1yZWN0YW5nbGUoLTFjbSwgMW1tLCAxaW4sIDFweCwg
MXB0LCAxcGMpIik7Ci10ZXN0SW52YWxpZFZhbHVlKCItd2Via2l0LXNoYXBlLWluc2lkZSIsICJp
bnNldC1yZWN0YW5nbGUoMWNtLCAtMW1tLCAxaW4sIDFweCwgMXB0LCAxcGMpIik7Ci10ZXN0SW52
YWxpZFZhbHVlKCItd2Via2l0LXNoYXBlLWluc2lkZSIsICJpbnNldC1yZWN0YW5nbGUoMWNtLCAx
bW0sIC0xaW4sIDFweCwgMXB0LCAxcGMpIik7Ci10ZXN0SW52YWxpZFZhbHVlKCItd2Via2l0LXNo
YXBlLWluc2lkZSIsICJpbnNldC1yZWN0YW5nbGUoMWNtLCAxbW0sIDFpbiwgLTFweCwgMXB0LCAx
cGMpIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9wYXJzaW5nL3Njcmlw
dC10ZXN0cy9wYXJzaW5nLXNoYXBlLW1hcmdpbi5qcyBiL0xheW91dFRlc3RzL2Zhc3Qvc2hhcGVz
L3BhcnNpbmcvc2NyaXB0LXRlc3RzL3BhcnNpbmctc2hhcGUtbWFyZ2luLmpzCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBiMmNjMWY2Li4wMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zh
c3Qvc2hhcGVzL3BhcnNpbmcvc2NyaXB0LXRlc3RzL3BhcnNpbmctc2hhcGUtbWFyZ2luLmpzCisr
KyAvZGV2L251bGwKQEAgLTEsMzQgKzAsMCBAQAotZGVzY3JpcHRpb24oJ1Rlc3QgcGFyc2luZyBv
ZiB0aGUgQ1NTIHNoYXBlLW1hcmdpbiBwcm9wZXJ0eS4nKTsKLQotLy8gVGhlIHRlc3QgZnVuY3Rp
b25zIGFuZCBnbG9iYWxzIHVzZWQgaGVyZSBhcmUgZGVmaW5lZCBwYXJzaW5nLXRlc3QtdXRpbHMu
anMuCi0KLXZhbGlkU2hhcGVMZW5ndGhzLmZvckVhY2goZnVuY3Rpb24odmFsdWUsIGksIGEpIHsK
LSAgICB0ZXN0U2hhcGVTcGVjaWZpZWRQcm9wZXJ0eSgiLXdlYmtpdC1zaGFwZS1tYXJnaW4iLCB2
YWx1ZSwgdmFsdWUpOwotfSk7Ci0KLXRlc3RTaGFwZVNwZWNpZmllZFByb3BlcnR5KCItd2Via2l0
LXNoYXBlLW1hcmdpbiIsICIwIiwgIjBweCIpOwotCi1pbnZhbGlkU2hhcGVMZW5ndGhzLmZvckVh
Y2goZnVuY3Rpb24odmFsdWUsIGksIGEpIHsKLSAgICB0ZXN0U2hhcGVTcGVjaWZpZWRQcm9wZXJ0
eSgiLXdlYmtpdC1zaGFwZS1tYXJnaW4iLCB2YWx1ZSwgIiIpOwotfSk7Ci0KLWFwcGx5VG9FYWNo
QXJnbGlzdCgKLSAgICB0ZXN0U2hhcGVDb21wdXRlZFByb3BlcnR5LAotICAgIFsvLyBbcHJvcGVy
dHksIHZhbHVlLCBleHBlY3RlZFZhbHVlXQotICAgICBbIi13ZWJraXQtc2hhcGUtbWFyZ2luIiwg
IjAiLCAiMHB4Il0sCi0gICAgIFsiLXdlYmtpdC1zaGFwZS1tYXJnaW4iLCAiMXB4IiwgIjFweCJd
LAotICAgICBbIi13ZWJraXQtc2hhcGUtbWFyZ2luIiwgIi01ZW0iLCAiMHB4Il0sCi0gICAgIFsi
LXdlYmtpdC1zaGFwZS1tYXJnaW4iLCAiaWRlbnRpZmllciIsICIwcHgiXSwKLSAgICAgWyItd2Vi
a2l0LXNoYXBlLW1hcmdpbiIsICJcJ3N0cmluZ1wnIiwgIjBweCJdXQotKTsKLQotYXBwbHlUb0Vh
Y2hBcmdsaXN0KAotICAgIHRlc3ROb3RJbmhlcml0ZWRTaGFwZUNoaWxkUHJvcGVydHksCi0gICAg
Wy8vIFtwcm9wZXJ0eSwgcGFyZW50VmFsdWUsIGNoaWxkVmFsdWUsIGV4cGVjdGVkQ2hpbGRWYWx1
ZV0KLSAgICAgWyItd2Via2l0LXNoYXBlLW1hcmdpbiIsICIwIiwgIjAiLCAiMHB4Il0sCi0gICAg
IFsiLXdlYmtpdC1zaGFwZS1tYXJnaW4iLCAiMCIsICIxcHgiLCAiMXB4Il0sCi0gICAgIFsiLXdl
YmtpdC1zaGFwZS1tYXJnaW4iLCAiMXB4IiwgIi0xZW0iLCAiMHB4Il0sCi0gICAgIFsiLXdlYmtp
dC1zaGFwZS1tYXJnaW4iLCAiMnB4IiwgIjFweCIsICIxcHgiXV0KLSk7Ci0KLQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9zaGFwZXMvcGFyc2luZy9zY3JpcHQtdGVzdHMvcGFyc2luZy1z
aGFwZS1vdXRzaWRlLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9zaGFwZXMvcGFyc2luZy9zY3JpcHQt
dGVzdHMvcGFyc2luZy1zaGFwZS1vdXRzaWRlLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwN2U4ZGFmLi4wMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2hhcGVzL3BhcnNp
bmcvc2NyaXB0LXRlc3RzL3BhcnNpbmctc2hhcGUtb3V0c2lkZS5qcworKysgL2Rldi9udWxsCkBA
IC0xLDMwICswLDAgQEAKLWRlc2NyaXB0aW9uKCdUZXN0aW5nIHBhcnNpbmcgb2YgdGhlIC13ZWJr
aXQtc2hhcGUtb3V0c2lkZSBwcm9wZXJ0eS4nKTsKLQotLy8gVGhlIHRlc3QgZnVuY3Rpb25zIGFu
ZCBnbG9iYWxzIHVzZWQgaGVyZSBhcmUgZGVmaW5lZCBwYXJzaW5nLXRlc3QtdXRpbHMuanMuCi0K
LXZhbGlkU2hhcGVWYWx1ZXMuZm9yRWFjaChmdW5jdGlvbihlbHQsIGksIGEpIHsgCi0gICAgdmFy
IHZhbHVlID0gKGVsdCBpbnN0YW5jZW9mIEFycmF5KSA/IGVsdFswXSA6IGVsdDsKLSAgICB2YXIg
ZXhwZWN0ZWRWYWx1ZSA9IChlbHQgaW5zdGFuY2VvZiBBcnJheSkgPyBlbHRbMV0gOiBlbHQ7Ci0g
ICAgdmFyIGNvbXB1dGVkVmFsdWUgPSAoZWx0IGluc3RhbmNlb2YgQXJyYXkgJiYgZWx0Lmxlbmd0
aCA+IDIpID8gZWx0WzJdIDogZXhwZWN0ZWRWYWx1ZTsKLSAgICB0ZXN0U2hhcGVTcGVjaWZpZWRQ
cm9wZXJ0eSgiLXdlYmtpdC1zaGFwZS1vdXRzaWRlIiwgdmFsdWUsIGV4cGVjdGVkVmFsdWUpOwot
ICAgIHRlc3RTaGFwZUNvbXB1dGVkUHJvcGVydHkoIi13ZWJraXQtc2hhcGUtb3V0c2lkZSIsIHZh
bHVlLCBjb21wdXRlZFZhbHVlKTsKLX0pOwotCi10ZXN0TG9jYWxVUkxTaGFwZVByb3BlcnR5KCIt
d2Via2l0LXNoYXBlLW91dHNpZGUiLCAidXJsKFwnaW1hZ2VcJykiLCAidXJsKGltYWdlKSIpOwot
Ci1pbnZhbGlkU2hhcGVWYWx1ZXMuZm9yRWFjaChmdW5jdGlvbih2YWx1ZSwgaSwgYSkgeyAKLSAg
ICB0ZXN0U2hhcGVQcm9wZXJ0eVBhcnNpbmdGYWlsdXJlKCItd2Via2l0LXNoYXBlLW91dHNpZGUi
LCB2YWx1ZSwgImF1dG8iKSAKLX0pOwotCi10ZXN0U2hhcGVQcm9wZXJ0eVBhcnNpbmdGYWlsdXJl
KCItd2Via2l0LXNoYXBlLW91dHNpZGUiLCAib3V0c2lkZS1zaGFwZSIsICJhdXRvIik7Ci0KLWFw
cGx5VG9FYWNoQXJnbGlzdCgKLSAgICB0ZXN0Tm90SW5oZXJpdGVkU2hhcGVQcm9wZXJ0eSwKLSAg
ICBbLy8gW3Byb3BlcnR5LCBwYXJlbnRWYWx1ZSwgY2hpbGRWYWx1ZSwgZXhwZWN0ZWRWYWx1ZV0K
LSAgICAgWyItd2Via2l0LXNoYXBlLW91dHNpZGUiLCAiYXV0byIsICJyZWN0YW5nbGUoMTBweCwg
MjBweCwgMzBweCwgNDBweCkiLCAicGFyZW50OiBhdXRvLCBjaGlsZDogcmVjdGFuZ2xlKDEwcHgs
IDIwcHgsIDMwcHgsIDQwcHgsIDBweCwgMHB4KSJdLAotICAgICBbIi13ZWJraXQtc2hhcGUtb3V0
c2lkZSIsICJyZWN0YW5nbGUoMTBweCwgMjBweCwgMzBweCwgNDBweCkiLCAiaW5pdGlhbCIsICJw
YXJlbnQ6IHJlY3RhbmdsZSgxMHB4LCAyMHB4LCAzMHB4LCA0MHB4LCAwcHgsIDBweCksIGNoaWxk
OiBhdXRvIl0sCi0gICAgIFsiLXdlYmtpdC1zaGFwZS1vdXRzaWRlIiwgInJlY3RhbmdsZSgxMHB4
LCAyMHB4LCAzMHB4LCA0MHB4KSIsICIiLCAicGFyZW50OiByZWN0YW5nbGUoMTBweCwgMjBweCwg
MzBweCwgNDBweCwgMHB4LCAwcHgpLCBjaGlsZDogYXV0byJdLAotICAgICBbIi13ZWJraXQtc2hh
cGUtb3V0c2lkZSIsICJyZWN0YW5nbGUoMTBweCwgMjBweCwgMzBweCwgNDBweCkiLCAiaW5oZXJp
dCIsICJwYXJlbnQ6IHJlY3RhbmdsZSgxMHB4LCAyMHB4LCAzMHB4LCA0MHB4LCAwcHgsIDBweCks
IGNoaWxkOiByZWN0YW5nbGUoMTBweCwgMjBweCwgMzBweCwgNDBweCwgMHB4LCAwcHgpIl0sCi0g
ICAgIFsiLXdlYmtpdC1zaGFwZS1vdXRzaWRlIiwgIiIsICJpbmhlcml0IiwgInBhcmVudDogYXV0
bywgY2hpbGQ6IGF1dG8iXSwKLSAgICAgWyItd2Via2l0LXNoYXBlLW91dHNpZGUiLCAiYXV0byIs
ICJpbmhlcml0IiwgInBhcmVudDogYXV0bywgY2hpbGQ6IGF1dG8iXV0KLSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9wYXJzaW5nL3NjcmlwdC10ZXN0cy9wYXJzaW5nLXNo
YXBlLXBhZGRpbmcuanMgYi9MYXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9wYXJzaW5nL3NjcmlwdC10
ZXN0cy9wYXJzaW5nLXNoYXBlLXBhZGRpbmcuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDI5MTViNDkuLjAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zaGFwZXMvcGFyc2lu
Zy9zY3JpcHQtdGVzdHMvcGFyc2luZy1zaGFwZS1wYWRkaW5nLmpzCisrKyAvZGV2L251bGwKQEAg
LTEsMzIgKzAsMCBAQAotZGVzY3JpcHRpb24oJ1Rlc3QgcGFyc2luZyBvZiB0aGUgQ1NTIHNoYXBl
LXBhZGRpbmcgcHJvcGVydHkuJyk7Ci0KLS8vIFRoZSB0ZXN0IGZ1bmN0aW9ucyBhbmQgZ2xvYmFs
cyB1c2VkIGhlcmUgYXJlIGRlZmluZWQgcGFyc2luZy10ZXN0LXV0aWxzLmpzLgotCi12YWxpZFNo
YXBlTGVuZ3Rocy5mb3JFYWNoKGZ1bmN0aW9uKHZhbHVlLCBpLCBhKSB7Ci0gICAgdGVzdFNoYXBl
U3BlY2lmaWVkUHJvcGVydHkoIi13ZWJraXQtc2hhcGUtcGFkZGluZyIsIHZhbHVlLCB2YWx1ZSk7
Ci19KTsKLQotdGVzdFNoYXBlU3BlY2lmaWVkUHJvcGVydHkoIi13ZWJraXQtc2hhcGUtcGFkZGlu
ZyIsICIwIiwgIjBweCIpOwotCi1pbnZhbGlkU2hhcGVMZW5ndGhzLmZvckVhY2goZnVuY3Rpb24o
dmFsdWUsIGksIGEpIHsKLSAgICB0ZXN0U2hhcGVTcGVjaWZpZWRQcm9wZXJ0eSgiLXdlYmtpdC1z
aGFwZS1wYWRkaW5nIiwgdmFsdWUsICIiKTsKLX0pOwotCi1hcHBseVRvRWFjaEFyZ2xpc3QoCi0g
ICAgdGVzdFNoYXBlQ29tcHV0ZWRQcm9wZXJ0eSwKLSAgICBbLy8gW3Byb3BlcnR5LCB2YWx1ZSwg
ZXhwZWN0ZWRWYWx1ZV0KLSAgICAgWyItd2Via2l0LXNoYXBlLXBhZGRpbmciLCAiMCIsICIwcHgi
XSwKLSAgICAgWyItd2Via2l0LXNoYXBlLXBhZGRpbmciLCAiMXB4IiwgIjFweCJdLAotICAgICBb
Ii13ZWJraXQtc2hhcGUtcGFkZGluZyIsICItNWVtIiwgIjBweCJdLAotICAgICBbIi13ZWJraXQt
c2hhcGUtcGFkZGluZyIsICJpZGVudGlmaWVyIiwgIjBweCJdLAotICAgICBbIi13ZWJraXQtc2hh
cGUtcGFkZGluZyIsICJcJ3N0cmluZ1wnIiwgIjBweCJdXQotKTsKLQotYXBwbHlUb0VhY2hBcmds
aXN0KAotICAgIHRlc3ROb3RJbmhlcml0ZWRTaGFwZUNoaWxkUHJvcGVydHksCi0gICAgWy8vIFtw
cm9wZXJ0eSwgcGFyZW50VmFsdWUsIGNoaWxkVmFsdWUsIGV4cGVjdGVkQ2hpbGRWYWx1ZV0KLSAg
ICAgWyItd2Via2l0LXNoYXBlLXBhZGRpbmciLCAiMCIsICIwIiwgIjBweCJdLAotICAgICBbIi13
ZWJraXQtc2hhcGUtcGFkZGluZyIsICIwIiwgIjFweCIsICIxcHgiXSwKLSAgICAgWyItd2Via2l0
LXNoYXBlLXBhZGRpbmciLCAiMXB4IiwgIi0xZW0iLCAiMHB4Il0sCi0gICAgIFsiLXdlYmtpdC1z
aGFwZS1wYWRkaW5nIiwgIjJweCIsICIxcHgiLCAiMXB4Il1dCi0pOwpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2hhcGVzL3BhcnNpbmcv
c2NyaXB0LXRlc3RzL3BhcnNpbmctdGVzdC11dGlscy5qcyBiL0xheW91dFRlc3RzL2Zhc3Qvc2hh
cGVzL3BhcnNpbmcvc2NyaXB0LXRlc3RzL3BhcnNpbmctdGVzdC11dGlscy5qcwpkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMGIzZWZmYS4uMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L3NoYXBlcy9wYXJzaW5nL3NjcmlwdC10ZXN0cy9wYXJzaW5nLXRlc3QtdXRpbHMuanMKKysr
IC9kZXYvbnVsbApAQCAtMSwxNzYgKzAsMCBAQAotLy8gVmFsaWQgdmFsdWVzIGZvciBib3RoIHNo
YXBlLWluc2lkZSBhbmQgc2hhcGUtb3V0c2lkZS4gVHdvIHZhbHVlcyBhcmUgc3BlY2lmaWVkIHdo
ZW4gdGhlIHNoYXBlIHByb3BlcnR5IHZhbHVlIAotLy8gZGlmZmVycyBmcm9tIHRoZSBzcGVjaWZp
ZWQgdmFsdWUuIFRocmVlIHZhbHVlcyBhcmUgc3BlY2lmaWVkIHdoZW4gdGhlIGNvbXB1dGVkIHNo
YXBlIHByb3BlcnR5IHZhbHVlIGRpZmZlcnMKLS8vIGZyb20gdGhlIHNwZWNpZmllZCB2YWx1ZS4K
LS8vIGVnOiAic3BlY2lmaWVkIHZhbHVlL0NTUyBUZXh0IHZhbHVlL2NvbXB1dGVkIHN0eWxlIHZh
bHVlIgotLy8gb3I6IFsic3BlY2lmaWVkIHZhbHVlIiwgIkNTUyBUZXh0IHZhbHVlL2NvbXB1dGVk
IHN0eWxlIHZhbHVlIl0KLS8vIG9yOiBbInNwZWNpZmllZCB2YWx1ZSIsICJDU1MgVGV4dCB2YWx1
ZSIsICJDb21wdXRlZCBzdHlsZSB2YWx1ZSJdCi12YXIgdmFsaWRTaGFwZVZhbHVlcyA9IFsKLSAg
ICAiYXV0byIsCi0gICAgWyJyZWN0YW5nbGUoMTBweCwgMjBweCwgMzBweCwgNDBweCkiLCAicmVj
dGFuZ2xlKDEwcHgsIDIwcHgsIDMwcHgsIDQwcHgpIiwgInJlY3RhbmdsZSgxMHB4LCAyMHB4LCAz
MHB4LCA0MHB4LCAwcHgsIDBweCkiXSwKLSAgICBbInJlY3RhbmdsZSgxMHB4LCAyMHB4LCAzMHB4
LCA0MHB4LCA1cHgpIiwgInJlY3RhbmdsZSgxMHB4LCAyMHB4LCAzMHB4LCA0MHB4LCA1cHgpIiwg
InJlY3RhbmdsZSgxMHB4LCAyMHB4LCAzMHB4LCA0MHB4LCA1cHgsIDVweCkiXSwKLSAgICAicmVj
dGFuZ2xlKDEwcHgsIDIwcHgsIDMwcHgsIDQwcHgsIDVweCwgMTBweCkiLAotCi0gICAgWyJpbnNl
dC1yZWN0YW5nbGUoMTBweCwgMjBweCwgMzBweCwgNDBweCkiLCAiaW5zZXQtcmVjdGFuZ2xlKDEw
cHgsIDIwcHgsIDMwcHgsIDQwcHgpIiwgImluc2V0LXJlY3RhbmdsZSgxMHB4LCAyMHB4LCAzMHB4
LCA0MHB4LCAwcHgsIDBweCkiXSwKLSAgICBbImluc2V0LXJlY3RhbmdsZSgxMHB4LCAyMHB4LCAz
MHB4LCA0MHB4LCA1cHgpIiwgImluc2V0LXJlY3RhbmdsZSgxMHB4LCAyMHB4LCAzMHB4LCA0MHB4
LCA1cHgpIiwgImluc2V0LXJlY3RhbmdsZSgxMHB4LCAyMHB4LCAzMHB4LCA0MHB4LCA1cHgsIDVw
eCkiXSwKLSAgICAiaW5zZXQtcmVjdGFuZ2xlKDEwcHgsIDIwcHgsIDMwcHgsIDQwcHgsIDVweCwg
MTBweCkiLAotCi0gICAgImNpcmNsZSgxMHB4LCAyMHB4LCAzMHB4KSIsCi0KLSAgICAiZWxsaXBz
ZSgxMHB4LCAyMHB4LCAzMHB4LCA0MHB4KSIsCi0KLSAgICBbInBvbHlnb24oMTBweCAyMHB4LCAz
MHB4IDQwcHgsIDQwcHggNTBweCkiLCAicG9seWdvbihub256ZXJvLCAxMHB4IDIwcHgsIDMwcHgg
NDBweCwgNDBweCA1MHB4KSJdLAotICAgIFsicG9seWdvbihldmVub2RkLCAxMHB4IDIwcHgsIDMw
cHggNDBweCwgNDBweCA1MHB4KSIsICJwb2x5Z29uKGV2ZW5vZGQsIDEwcHggMjBweCwgMzBweCA0
MHB4LCA0MHB4IDUwcHgpIl0sCi0gICAgWyJwb2x5Z29uKG5vbnplcm8sIDEwcHggMjBweCwgMzBw
eCA0MHB4LCA0MHB4IDUwcHgpIiwgInBvbHlnb24obm9uemVybywgMTBweCAyMHB4LCAzMHB4IDQw
cHgsIDQwcHggNTBweCkiXQotXTsKLQotLy8gSW52YWxpZCB2YWx1ZXMgZm9yIGJvdGggc2hhcGUt
aW5zaWRlIGFuZCBzaGFwZS1vdXRzaWRlLiBXaGVuIGFuIGludmFsaWQgc2hhcGUgdmFsdWUgaXMg
c3BlY2lmaWVkLCB0aGUgCi0vLyBzaGFwZSBwcm9wZXJ0eSdzIGNvbXB1dGVkIHZhbHVlIGlzIHRo
ZSBzYW1lIGFzIGl0cyBkZWZhdWx0LgotdmFyIGludmFsaWRTaGFwZVZhbHVlcyA9IFsKLSAgICAi
Y2FsYygpIiwKLSAgICAibm9uZSIsCi0KLSAgICAicmVjdGFuZ2xlKCkiLAotICAgICJyZWN0YW5n
bGUoMTBweCkiLAotICAgICJyZWN0YW5nbGUoMTBweCwgMTBweCkiLAotICAgICJyZWN0YW5nbGUo
MTBweCwgMjBweCwgMzBweCkiLAotICAgICJyZWN0YW5nbGUoMTBweCAyMHB4IDMwcHggNDBweCki
LAotICAgICJyZWN0YW5nbGUoMTBweCwgMjBweCwgMzBweCwgNDBweCwgNTBweCwgNjBweCwgNzBw
eCkiLAotCi0gICAgImluc2V0LXJlY3RhbmdsZSgpIiwKLSAgICAiaW5zZXQtcmVjdGFuZ2xlKDEw
cHgpIiwKLSAgICAiaW5zZXQtcmVjdGFuZ2xlKDEwcHgsIDEwcHgpIiwKLSAgICAiaW5zZXQtcmVj
dGFuZ2xlKDEwcHgsIDIwcHgsIDMwcHgpIiwKLSAgICAiaW5zZXQtcmVjdGFuZ2xlKDEwcHggMjBw
eCAzMHB4IDQwcHgpIiwKLSAgICAiaW5zZXQtcmVjdGFuZ2xlKDEwcHgsIDIwcHgsIDMwcHgsIDQw
cHgsIDUwcHgsIDYwcHgsIDcwcHgpIiwKLQotICAgICJjaXJjbGUoKSIsCi0gICAgImNpcmNsZSgx
MHB4KSIsCi0gICAgImNpcmNsZSgxMHB4LCAyMHB4KSIsCi0gICAgImNpcmNsZSgxMHB4IDIwcHgg
MzBweCkiLAotICAgICJjaXJjbGUoMTBweCwgMjBweCwgMzBweCwgNDBweCkiLAotCi0gICAgImVs
bGlwc2UoKSIsCi0gICAgImVsbGlwc2UoMTBweCkiLAotICAgICJlbGxpcHNlKDEwcHgsIDIwcHgp
IiwKLSAgICAiZWxsaXBzZSgxMHB4LCAyMHB4LCAzMHB4KSIsCi0gICAgImVsbGlwc2UoMTBweCAy
MHB4IDMwcHggNDBweCkiLAotCi0gICAgInBvbHlnb24oKSIsCi0gICAgInBvbHlnb24oZXZlbm9k
ZCAxMHB4IDIwcHgsIDMwcHggNDBweCwgNDBweCA1MHB4KSIsCi0gICAgInBvbHlnb24obm9uemVy
byAxMHB4IDIwcHgsIDMwcHggNDBweCwgNDBweCA1MHB4KSIsCi0gICAgInBvbHlnb24obm9uemVy
bykiLAotICAgICJwb2x5Z29uKGV2ZW5vZGQpIiwKLSAgICAicG9seWdvbigxMHB4KSIsCi0gICAg
InBvbHlnb24obm9uemVybywxMHB4KSIsCi0gICAgInBvbHlnb24oZXZlbm9kZCwxMnB4KSIsCi0g
ICAgInBvbHlnb24oMTBweCwgMjBweCwgMzBweCwgNDBweCwgNDBweCwgNTBweCkiLAotXTsKLQot
Ly8gVmFsaWQgbGVuZ3RoIHZhbHVlcyBmb3Igc2hhcGUtbWFyZ2luIGFuZCBzaGFwZS1wYWRkaW5n
LgotdmFyIHZhbGlkU2hhcGVMZW5ndGhzID0gWwotICAgICIxLjVleCIsCi0gICAgIjJlbSIsCi0g
ICAgIjIuNWluIiwKLSAgICAiM2NtIiwKLSAgICAiMy41bW0iLAotICAgICI0cHQiLAotICAgICI0
LjVwYyIsCi0gICAgIjVweCIKLV07Ci0KLS8vIEludmFsaWQgbGVuZ3RoIHZhbHVlcyBmb3Igc2hh
cGUtbWFyZ2luIGFuZCBzaGFwZS1wYWRkaW5nLgotdmFyIGludmFsaWRTaGFwZUxlbmd0aHMgPSBb
Ci0gICAgIi01cHgiLAotICAgICJhdXRvIiwKLSAgICAiMTIwJSIsCi0gICAgIlwnc3RyaW5nXCci
Ci1dOwotCi1mdW5jdGlvbiBnZXRDU1NUZXh0KHByb3BlcnR5LCB2YWx1ZSkKLXsKLSAgICB2YXIg
ZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwotICAgIGVsZW1lbnQuc3R5
bGUuY3NzVGV4dCA9IHByb3BlcnR5ICsgIjogIiArIHZhbHVlOwotICAgIHJldHVybiBlbGVtZW50
LnN0eWxlW3Byb3BlcnR5XTsKLX0KLQotZnVuY3Rpb24gZ2V0Q29tcHV0ZWRTdHlsZVZhbHVlKHBy
b3BlcnR5LCB2YWx1ZSkgCi17Ci0gICAgdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJkaXYiKTsKLSAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGVsZW1lbnQpOwotICAg
IGVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkocHJvcGVydHksIHZhbHVlKTsKLSAgICB2YXIgY29t
cHV0ZWRWYWx1ZSA9IGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCkuZ2V0UHJvcGVydHlWYWx1ZShw
cm9wZXJ0eSk7Ci0gICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChlbGVtZW50KTsKLSAgICBy
ZXR1cm4gY29tcHV0ZWRWYWx1ZTsKLX0KLQotZnVuY3Rpb24gZ2V0UGFyZW50QW5kQ2hpbGRDb21w
dXRlZFN0eWxlcyhwcm9wZXJ0eSwgcGFyZW50VmFsdWUsIGNoaWxkVmFsdWUpIAotewotICAgIHZh
ciBwYXJlbnRFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Ci0gICAgZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChwYXJlbnRFbGVtZW50KTsKLSAgICBwYXJlbnRFbGVtZW50
LnN0eWxlLnNldFByb3BlcnR5KHByb3BlcnR5LCBwYXJlbnRWYWx1ZSk7Ci0gICAgdmFyIGNoaWxk
RWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwotICAgIHBhcmVudEVsZW1l
bnQuYXBwZW5kQ2hpbGQoY2hpbGRFbGVtZW50KTsKLSAgICBjaGlsZEVsZW1lbnQuc3R5bGUuc2V0
UHJvcGVydHkocHJvcGVydHksIGNoaWxkVmFsdWUpOwotICAgIHZhciBwYXJlbnRDb21wdXRlZFZh
bHVlID0gZ2V0Q29tcHV0ZWRTdHlsZShwYXJlbnRFbGVtZW50KS5nZXRQcm9wZXJ0eVZhbHVlKHBy
b3BlcnR5KTsKLSAgICB2YXIgY2hpbGRDb21wdXRlZFZhbHVlID0gZ2V0Q29tcHV0ZWRTdHlsZShj
aGlsZEVsZW1lbnQpLmdldFByb3BlcnR5VmFsdWUocHJvcGVydHkpOwotICAgIHBhcmVudEVsZW1l
bnQucmVtb3ZlQ2hpbGQoY2hpbGRFbGVtZW50KTsKLSAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNo
aWxkKHBhcmVudEVsZW1lbnQpOwotICAgIHJldHVybiB7cGFyZW50OiBwYXJlbnRDb21wdXRlZFZh
bHVlLCBjaGlsZDogY2hpbGRDb21wdXRlZFZhbHVlfTsKLX0KLQotZnVuY3Rpb24gZ2V0UGFyZW50
QW5kQ2hpbGRDb21wdXRlZFN0eWxlc1N0cmluZyhwcm9wZXJ0eSwgcGFyZW50VmFsdWUsIGNoaWxk
VmFsdWUpIAotewotICAgIHZhciBzdHlsZXMgPSBnZXRQYXJlbnRBbmRDaGlsZENvbXB1dGVkU3R5
bGVzKHByb3BlcnR5LCBwYXJlbnRWYWx1ZSwgY2hpbGRWYWx1ZSk7Ci0gICAgcmV0dXJuICJwYXJl
bnQ6ICIgKyBzdHlsZXMucGFyZW50ICsgIiwgY2hpbGQ6ICIgKyBzdHlsZXMuY2hpbGQ7Ci19Ci0K
LWZ1bmN0aW9uIGdldENoaWxkQ29tcHV0ZWRTdHlsZShwcm9wZXJ0eSwgcGFyZW50VmFsdWUsIGNo
aWxkVmFsdWUpIAotewotICAgIHZhciBzdHlsZXMgPSBnZXRQYXJlbnRBbmRDaGlsZENvbXB1dGVk
U3R5bGVzKHByb3BlcnR5LCBwYXJlbnRWYWx1ZSwgY2hpbGRWYWx1ZSk7Ci0gICAgcmV0dXJuIHN0
eWxlcy5jaGlsZDsKLX0KLQotZnVuY3Rpb24gdGVzdFNoYXBlU3BlY2lmaWVkUHJvcGVydHkocHJv
cGVydHksIHZhbHVlLCBleHBlY3RlZFZhbHVlKQotewotICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygnZ2V0Q1NTVGV4dCgiJyArIHByb3BlcnR5ICsgJyIsICInICsgdmFsdWUgKyAnIiknLCBleHBl
Y3RlZFZhbHVlKTsKLX0KLQotZnVuY3Rpb24gdGVzdFNoYXBlQ29tcHV0ZWRQcm9wZXJ0eShwcm9w
ZXJ0eSwgdmFsdWUsIGV4cGVjdGVkVmFsdWUpCi17Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCdnZXRDb21wdXRlZFN0eWxlVmFsdWUoIicgKyBwcm9wZXJ0eSArICciLCAiJyArIHZhbHVlICsg
JyIpJywgZXhwZWN0ZWRWYWx1ZSk7Ci19Ci0KLWZ1bmN0aW9uIHRlc3ROb3RJbmhlcml0ZWRTaGFw
ZUNoaWxkUHJvcGVydHkocHJvcGVydHksIHBhcmVudFZhbHVlLCBjaGlsZFZhbHVlLCBleHBlY3Rl
ZENoaWxkVmFsdWUpCi17Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdnZXRDaGlsZENvbXB1
dGVkU3R5bGUoIicgKyBwcm9wZXJ0eSArICciLCAiJyArIHBhcmVudFZhbHVlICsgJyIsICInICsg
Y2hpbGRWYWx1ZSArICciKScsIGV4cGVjdGVkQ2hpbGRWYWx1ZSk7Ci19Ci0KLS8vIE5lZWQgdG8g
cmVtb3ZlIHRoZSBiYXNlIFVSTCB0byBhdm9pZCBoYXZpbmcgbG9jYWwgcGF0aHMgaW4gdGhlIGV4
cGVjdGVkIHJlc3VsdHMuCi1mdW5jdGlvbiByZW1vdmVCYXNlVVJMKHNyYykgewotICAgIHZhciB1
cmxSZWdleHAgPSAvdXJsXCgoW15cKV0qKVwpL2c7Ci0gICAgcmV0dXJuIHNyYy5yZXBsYWNlKHVy
bFJlZ2V4cCwgZnVuY3Rpb24obWF0Y2gsIHVybCkgewotICAgICAgICByZXR1cm4gInVybCgiICsg
dXJsLnN1YnN0cih1cmwubGFzdEluZGV4T2YoIi8iKSArIDEpICsgIikiOwotICAgIH0pOwotfQot
Ci1mdW5jdGlvbiB0ZXN0TG9jYWxVUkxTaGFwZVByb3BlcnR5KHByb3BlcnR5LCB2YWx1ZSwgZXhw
ZWN0ZWQpIAotewotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygncmVtb3ZlQmFzZVVSTChnZXRD
U1NUZXh0KCInICsgcHJvcGVydHkgKyAnIiwgIicgKyB2YWx1ZSArICciKSknLCBleHBlY3RlZCk7
Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdyZW1vdmVCYXNlVVJMKGdldENvbXB1dGVkU3R5
bGVWYWx1ZSgiJyArIHByb3BlcnR5ICsgJyIsICInICsgdmFsdWUgKyAnIikpJywgZXhwZWN0ZWQp
OwotfQotCi1mdW5jdGlvbiB0ZXN0U2hhcGVQcm9wZXJ0eVBhcnNpbmdGYWlsdXJlKHByb3BlcnR5
LCB2YWx1ZSwgZGVmYXVsdENvbXB1dGVkU3R5bGUpIAotewotICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygnZ2V0Q1NTVGV4dCgiJyArIHByb3BlcnR5ICsgJyIsICInICsgdmFsdWUgKyAnIiknLCAn
Jyk7Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdnZXRDb21wdXRlZFN0eWxlVmFsdWUoIicg
KyBwcm9wZXJ0eSArICciLCAiJyArIHZhbHVlICsgJyIpJywgZGVmYXVsdENvbXB1dGVkU3R5bGUp
OwotfQotCi1mdW5jdGlvbiB0ZXN0Tm90SW5oZXJpdGVkU2hhcGVQcm9wZXJ0eShwcm9wZXJ0eSwg
cGFyZW50VmFsdWUsIGNoaWxkVmFsdWUsIGV4cGVjdGVkVmFsdWUpCi17Ci0gICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCdnZXRQYXJlbnRBbmRDaGlsZENvbXB1dGVkU3R5bGVzU3RyaW5nKCInICsg
cHJvcGVydHkgKyAnIiwgIicgKyBwYXJlbnRWYWx1ZSArICciLCAiJyArIGNoaWxkVmFsdWUgKyAn
IiknLCBleHBlY3RlZFZhbHVlKTsKLX0KLQotZnVuY3Rpb24gYXBwbHlUb0VhY2hBcmdsaXN0KHRl
c3RGdW5jdGlvbiwgYXJnbGlzdHMpCi17Ci0gICAgYXJnbGlzdHMuZm9yRWFjaChmdW5jdGlvbihh
cmdsaXN0LCBpLCBhKSB7dGVzdEZ1bmN0aW9uLmFwcGx5KG51bGwsIGFyZ2xpc3QpO30pOwotfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>