<?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>12951</bug_id>
          
          <creation_ts>2007-03-02 17:02:10 -0800</creation_ts>
          <short_desc>REGRESSION (r19949): LayoutTests/fast/xsl/xslt-processer.html fails</short_desc>
          <delta_ts>2007-03-04 08:03:20 -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>Tools / Tests</component>
          <version>523.x (Safari 3)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://build.webkit.org/results/post-commit-powerpc-mac-os-x/5863/</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>LayoutTestFailure, Regression</keywords>
          <priority>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="David Kilzer (:ddkilzer)">ddkilzer</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>justin.garcia</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>20462</commentid>
    <comment_count>0</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2007-03-02 17:02:10 -0800</bug_when>
    <thetext>The results for LayoutTests/fast/xsl/xslt-processer.html broke (progressed) with r19949, the fix for Bug 12735.  Patch forthcoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>20463</commentid>
    <comment_count>1</comment_count>
      <attachid>13459</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2007-03-02 17:16:06 -0800</bug_when>
    <thetext>Created attachment 13459
Patch v1

Proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>20464</commentid>
    <comment_count>2</comment_count>
      <attachid>13459</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2007-03-02 17:30:13 -0800</bug_when>
    <thetext>Comment on attachment 13459
Patch v1

Please move the layout test to fix the spelling error.  It should be processor not processer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>20466</commentid>
    <comment_count>3</comment_count>
      <attachid>13460</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2007-03-02 17:57:08 -0800</bug_when>
    <thetext>Created attachment 13460
Patch v2

Fixed misspelling of &quot;processer&quot; to &quot;processor&quot; per Comment #2.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>20507</commentid>
    <comment_count>4</comment_count>
      <attachid>13460</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2007-03-04 03:52:04 -0800</bug_when>
    <thetext>Comment on attachment 13460
Patch v2

r=me. Please use &quot;svn mv&quot; to preserve history when moving the actual test file (processer -&gt; processor).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>20521</commentid>
    <comment_count>5</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2007-03-04 08:02:45 -0800</bug_when>
    <thetext>Landed in r19953.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>20522</commentid>
    <comment_count>6</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2007-03-04 08:03:20 -0800</bug_when>
    <thetext>Committed revision 19953.

I also had to set the allow-tabs property on these files:

LayoutTests/fast/xsl/xslt-processor-expected.txt
LayoutTests/fast/xsl/xslt-processor.html</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>13459</attachid>
            <date>2007-03-02 17:16:06 -0800</date>
            <delta_ts>2007-03-02 17:57:08 -0800</delta_ts>
            <desc>Patch v1</desc>
            <filename>bug-12951-v1.diff</filename>
            <type>text/plain</type>
            <size>1350</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDE5OTUwKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMDctMDMtMDIgIERhdmlkIEtpbHplciAgPGRk
a2lsemVyQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgLSBmaXggaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTI5NTEKKyAgICAgICAgICBSRUdSRVNTSU9OIChyMTk5NDkpOiBMYXlvdXRUZXN0cy9mYXN0L3hz
bC94c2x0LXByb2Nlc3Nlci5odG1sIGZhaWxzCisKKyAgICAgICAgKiBmYXN0L3hzbC94c2x0LXBy
b2Nlc3Nlci1leHBlY3RlZC50eHQ6IFJlc3VsdHMgcHJvZ3Jlc3NlZCBhZnRlciBmaXhpbmcKKyAg
ICAgICAgQnVnemlsbGEgQnVnIDEyNzM1ICg8cmRhcjovL3Byb2JsZW0vNDU0NTA0MD4pLgorCiAy
MDA3LTAzLTAyICBKdXN0aW4gR2FyY2lhICA8anVzdGluLmdhcmNpYUBhcHBsZS5jb20+CiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgaGFycmlzb24KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QveHNsL3hz
bHQtcHJvY2Vzc2VyLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0
L3hzbC94c2x0LXByb2Nlc3Nlci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDE5OTQ5KQorKysgTGF5
b3V0VGVzdHMvZmFzdC94c2wveHNsdC1wcm9jZXNzZXItZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNv
cHkpCkBAIC00Myw4ICs0Myw4IEBACiA8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFRE
IFhIVE1MIDEuMCBTdHJpY3QvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94
aHRtbDEtc3RyaWN0LmR0ZCI+PGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0
bWwiPgogPGhlYWQ+PHRpdGxlPjwvdGl0bGU+PC9oZWFkPgogPGJvZHk+Ci08cHJlPkNIQVJBQ1RF
UlMgSU4gWFNMVDogPDw8JtGC0LXRgdGCJj4+PgotU09VUkNFIFhNTDogPDw8JtGC0LXRgdGCJj4+
PgorPHByZT5DSEFSQUNURVJTIElOIFhTTFQ6ICZsdDsmbHQ7Jmx0OyZhbXA70YLQtdGB0YImYW1w
OyZndDsmZ3Q7Jmd0OworU09VUkNFIFhNTDogJmx0OyZsdDsmbHQ7JmFtcDvRgtC10YHRgiZhbXA7
Jmd0OyZndDsmZ3Q7CiA8L3ByZT4KIDwvYm9keT4KIDwvaHRtbD4K
</data>
<flag name="review"
          id="5309"
          type_id="1"
          status="-"
          setter="hyatt"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>13460</attachid>
            <date>2007-03-02 17:57:08 -0800</date>
            <delta_ts>2007-03-04 03:52:04 -0800</delta_ts>
            <desc>Patch v2</desc>
            <filename>bug-12951-v2.diff</filename>
            <type>text/plain</type>
            <size>34466</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDE5OTUwKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTggQEAKKzIwMDctMDMtMDIgIERhdmlkIEtpbHplciAgPGRk
a2lsemVyQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgLSBmaXggaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTI5NTEKKyAgICAgICAgICBSRUdSRVNTSU9OIChyMTk5NDkpOiBMYXlvdXRUZXN0cy9mYXN0L3hz
bC94c2x0LXByb2Nlc3Nlci5odG1sIGZhaWxzCisKKyAgICAgICAgRml4ZWQgc3BlbGxpbmcgb2Yg
InByb2Nlc3NlciIgdG8gInByb2Nlc3NvciIgaW4gZmlsZSBuYW1lcy4KKworICAgICAgICAqIGZh
c3QveHNsL3hzbHQtcHJvY2Vzc2VyLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBm
YXN0L3hzbC94c2x0LXByb2Nlc3Nlci5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QveHNs
L3hzbHQtcHJvY2Vzc29yLWV4cGVjdGVkLnR4dDogQWRkZWQuIFJlc3VsdHMgcHJvZ3Jlc3NlZCBh
ZnRlciBmaXhpbmcKKyAgICAgICAgQnVnemlsbGEgQnVnIDEyNzM1ICg8cmRhcjovL3Byb2JsZW0v
NDU0NTA0MD4pLgorICAgICAgICAqIGZhc3QveHNsL3hzbHQtcHJvY2Vzc29yLmh0bWw6IEFkZGVk
LgorCiAyMDA3LTAzLTAyICBKdXN0aW4gR2FyY2lhICA8anVzdGluLmdhcmNpYUBhcHBsZS5jb20+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgaGFycmlzb24KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qv
eHNsL3hzbHQtcHJvY2Vzc2VyLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9mYXN0L3hzbC94c2x0LXByb2Nlc3Nlci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDE5OTUwKQor
KysgTGF5b3V0VGVzdHMvZmFzdC94c2wveHNsdC1wcm9jZXNzZXItZXhwZWN0ZWQudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDEyNCArMCwwIEBACi0wLjEgb3JpZ2luYWwgeG1sOgotPD94bWwtc3R5
bGVzaGVldCB0eXBlPSJ0ZXh0L3hzbCIgaHJlZj0ieHNsdC10ZXh0LnhzbCI/PjxURVNUPlNPVVJD
RSBYTUw6ICZsdDsmbHQ7Jmx0OyZhbXA70YLQtdGB0YImYW1wOyZndDsmZ3Q7Jmd0OzwvVEVTVD4K
LTAuMiB4c2wxOgotPHhzbDpzdHlsZXNoZWV0IHhtbG5zOnhzbD0iaHR0cDovL3d3dy53My5vcmcv
MTk5OS9YU0wvVHJhbnNmb3JtIiB2ZXJzaW9uPSIxLjAiPgotCi08eHNsOm91dHB1dCBtZXRob2Q9
InRleHQiIGVuY29kaW5nPSJLT0k4LVIiLz4KLTx4c2w6dGVtcGxhdGUgbWF0Y2g9IlRFU1QiPkNI
QVJBQ1RFUlMgSU4gWFNMVDogJmx0OyZsdDsmbHQ7JmFtcDvRgtC10YHRgiZhbXA7Jmd0OyZndDsm
Z3Q7Ci08eHNsOmFwcGx5LXRlbXBsYXRlcy8+PHhzbDp0ZXh0PgotPC94c2w6dGV4dD48L3hzbDp0
ZW1wbGF0ZT4KLQotPHhzbDp0ZW1wbGF0ZT4KLQkJPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9Ii4iLz4K
LTwveHNsOnRlbXBsYXRlPgotCi08L3hzbDpzdHlsZXNoZWV0PgotMC4zIHhzbDI6Ci08eHNsOnN0
eWxlc2hlZXQgeG1sbnM6eHNsPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L1hTTC9UcmFuc2Zvcm0i
IHZlcnNpb249IjEuMCI+Ci0gICAgPHhzbDpvdXRwdXQgbWV0aG9kPSJodG1sIiBlbmNvZGluZz0i
VVRGLTgiLz4KLSAgICA8eHNsOnRlbXBsYXRlIG1hdGNoPSJURVNUIj4KLSAgICAgICAgPGh0bWwg
eG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPgotICAgICAgICAgICAgPGhlYWQ+
Ci0gICAgICAgICAgICAgICAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50
PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiIC8+Ci0gICAgICAgICAgICA8L2hlYWQ+ICAKLSAg
ICAgICAgICAgIDxib2R5PgotICAgICAgICAgICAgICBDSEFSQUNURVJTIElOIFhTTFQ6IMOpw6nD
qcOpw6nDqcOpw6nDqcOpw6kgPGJyIC8+IDx4c2w6YXBwbHktdGVtcGxhdGVzLz4KLSAgICAgICAg
ICAgIDwvYm9keT4KLSAgICAgICAgPC9odG1sPgotICA8L3hzbDp0ZW1wbGF0ZT4KLQotPHhzbDp0
ZW1wbGF0ZT4KLQkJPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9Ii4iLz4KLTwveHNsOnRlbXBsYXRlPgot
Ci08L3hzbDpzdHlsZXNoZWV0PgotCi0xLjAgdm9pZCBpbXBvcnRTdHlsZXNoZWV0KGluIERPTU5v
ZGUgc3R5bGUpOgotCi0xLjEgSW1wb3J0IHR3byBkaWZmZXJlbnQgc3R5bGVzaGVldHM6Ci08aHRt
bCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+PGhlYWQ+PG1ldGEgaHR0cC1l
cXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiPjwv
aGVhZD48Ym9keT4KLSAgICAgICAgICAgICAgQ0hBUkFDVEVSUyBJTiBYU0xUOiDDqcOpw6nDqcOp
w6nDqcOpw6nDqcOpIDxicj48YnI+U09VUkNFIFhNTDogJmx0OyZsdDsmbHQ7JmFtcDvRgtC10YHR
giZhbXA7Jmd0OyZndDsmZ3Q7Ci08L2JvZHk+PC9odG1sPgotMS4yIEltcG9ydCBzYW1lIHN0eWxl
c2hlZXQgdHdpY2U6Ci08IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEu
MCBTdHJpY3QvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3Ry
aWN0LmR0ZCI+PGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPgotPGhl
YWQ+PHRpdGxlPjwvdGl0bGU+PC9oZWFkPgotPGJvZHk+Ci08cHJlPkNIQVJBQ1RFUlMgSU4gWFNM
VDogPDw8JtGC0LXRgdGCJj4+PgotU09VUkNFIFhNTDogPDw8JtGC0LXRgdGCJj4+PgotPC9wcmU+
Ci08L2JvZHk+Ci08L2h0bWw+Ci0xLjMgSW1wb3J0IHVuZGVmaW5lZCBzdHlsZXNoZWV0OgotKioq
KkZhaWx1cmUqKioqIChleHBlY3RlZCBleGNlcHRpb24sIGluc3RlYWQgZ290IHJlc3VsdDogInVu
ZGVmaW5lZCIpCi0xLjQgSW1wb3J0IHVuZGVmaW5lZCBzdHlsZXNoZWV0OgotKioqKkZhaWx1cmUq
KioqIChleHBlY3RlZCBleGNlcHRpb24sIGluc3RlYWQgZ290IHJlc3VsdDogInVuZGVmaW5lZCIp
Ci0xLjUgRG9uJ3QgaW1wb3J0IHN0eWxlc2hlZXQ6Ci1TdWNjZXNzCi0KLTIuMCBET01Eb2N1bWVu
dEZyYWdtZW50IHRyYW5zZm9ybVRvRnJhZ21lbnQoaW4gRE9NTm9kZSBzb3VyY2UsIGluIERPTURv
Y3VtZW50IG91dHB1dCk6Ci0KLTIuMSBmcmFnbWVudCB3aXRoIHVuZGVmaW5lZCBzb3VyY2U6Ci0q
KioqRmFpbHVyZSoqKiogKGV4cGVjdGVkIGV4Y2VwdGlvbiwgaW5zdGVhZCBnb3QgcmVzdWx0OiAi
dW5kZWZpbmVkIikKLTIuMiBmcmFnbWVudCB3aXRoIHVuZGVmaW5lZCBvdXRwdXQgZG9jdW1lbnQ6
Ci1TdWNjZXNzCi0yLjMgdXNlIG5vbi1ET01Eb2N1bWVudCBvdXRwdXQgcGFyYW1ldGVyOgotKioq
KkZhaWx1cmUqKioqIChleHBlY3RlZCBleGNlcHRpb24sIGluc3RlYWQgZ290IHJlc3VsdDogInVu
ZGVmaW5lZCIpCi0yLjQgdHJhbnNmb3JtIHRvIHNhbWUgZnJhZ21lbnQgdHdpY2U6Ci1TdWNjZXNz
Ci0yLjUgdHJhbnNmb3JtZWQgZnJhZ21lbnQgY29udGFpbmluZyBvbmx5IHRleHQ6Ci1TdWNjZXNz
Ci0yLjYgZnJhZ21lbnQgdXNpbmcgcGFzc2VkIHBhcmFtZXRlcnM6Ci1TdWNjZXNzCi0KLTMuMCBE
T01Eb2N1bWVudCB0cmFuc2Zvcm1Ub0RvY3VtZW50KGluIERPTU5vZGUgc291cmNlKToKLQotMy4x
IHVzZSBub24tRE9NRG9jdW1lbnQgb3V0cHV0IHBhcmFtZXRlcjoKLSoqKipGYWlsdXJlKioqKiAo
ZXhwZWN0ZWQgZXhjZXB0aW9uLCBpbnN0ZWFkIGdvdCByZXN1bHQ6ICJ1bmRlZmluZWQiKQotMy4y
IHRyYW5zZm9ybSB0d2ljZToKLVN1Y2Nlc3MKLQotNC4wIHZvaWQgc2V0UGFyYW1ldGVyKGluIERP
TVN0cmluZyBuYW1lc3BhY2VVUkksIGluIERPTVN0cmluZyBsb2NhbE5hbWUsIGluIFZhbHVlIHZh
bHVlKToKLQotNC4xIHBhc3Mgc2V0UGFyYW1ldGVyIHNhbWUgbG9jYWxuYW1lLCBkaWZmZXJlbnQg
bmFtZXNwYWNlczoKLSoqKipGYWlsdXJlKioqKiAoZXhwZWN0ZWQ6ICJTdWNjZXNzIiBhY3R1YWw6
ICJGYWlsdXJlIikKLTQuMiBwYXNzIHVuZGVmaW5lZCBuYW1lc3BhY2U6Ci1TdWNjZXNzCi00LjMg
cGFzcyBzZXRQYXJhbWV0ZXIgYW4gdW5kZWZpbmVkIG5hbWU6Ci0qKioqRmFpbHVyZSoqKiogKGV4
cGVjdGVkIGV4Y2VwdGlvbiwgaW5zdGVhZCBnb3QgcmVzdWx0OiAidW5kZWZpbmVkIikKLTQuNCBw
YXNzIHVuc3VwcG9ydGVkIHZhbHVlIHRvIHNldFBhcmFtZXRlcjoKLSoqKipGYWlsdXJlKioqKiAo
ZXhwZWN0ZWQgZXhjZXB0aW9uLCBpbnN0ZWFkIGdvdCByZXN1bHQ6ICJ1bmRlZmluZWQiKQotCi01
LjAgVmFsdWUgZ2V0UGFyYW1ldGVyKGluIERPTVN0cmluZyBuYW1lc3BhY2VVUkksIGluIERPTVN0
cmluZyBsb2NhbE5hbWUpOgotCi01LjEgcGFzcyBnZXRQYXJhbWV0ZXIgYW4gdW5kZWZpbmVkIG5h
bWU6Ci0qKioqRmFpbHVyZSoqKiogKGV4cGVjdGVkIGV4Y2VwdGlvbiwgaW5zdGVhZCBnb3QgcmVz
dWx0OiAidW5kZWZpbmVkIikKLTUuMiBwYXNzIGdldFBhcmFtZXRlciBhIG5hbWUgd2hpY2ggaGFz
IG5vdCBiZWVuIHNldDoKLVN1Y2Nlc3MKLTUuMyB2ZXJpZnkgZ2V0UGFyYW1ldGVyIGFjdHVhbGx5
IGdldHMgKGFuZCBzZXQgc2V0cyk6Ci1TdWNjZXNzCi0KLTYuMCB2b2lkIHJlbW92ZVBhcmFtZXRl
cihpbiBET01TdHJpbmcgbmFtZXNwYWNlVVJJLCBpbiBET01TdHJpbmcgbG9jYWxOYW1lKToKLQot
Ni4xIHBhc3MgcmVtb3ZlUGFyYW1ldGVyIHNhbWUgbG9jYWxuYW1lLCBkaWZmZXJlbnQgbmFtZXNw
YWNlczoKLSoqKipGYWlsdXJlKioqKiAoZXhwZWN0ZWQ6ICJTdWNjZXNzIiBhY3R1YWw6ICJGYWls
dXJlIikKLTYuMiB2ZXJpZnkgcmVtb3ZlUGFyYW1ldGVyIGFjdHVhbGx5IHJlbW92ZXMgdXNpbmcg
dW5kZWZpbmVkIG5hbWVzcGFjZToKLVN1Y2Nlc3MKLTYuMyBwYXNzIHJlbW92ZVBhcmFtZXRlciB1
bmRlZmluZWQgbmFtZToKLVN1Y2Nlc3MKLTYuNCBwYXNzIHJlbW92ZVBhcmFtZXRlciBhIG5hbWUg
d2hpY2ggaGFzIG5vdCBiZWVuIHNldDoKLVN1Y2Nlc3MKLTYuNSB2ZXJpZnkgcmVtb3ZlUGFyYW1l
dGVyIGFjdHVhbGx5IHJlbW92ZXM6Ci1TdWNjZXNzCi0KLTcuMCB2b2lkIGNsZWFyUGFyYW1ldGVy
cygpOgotCi03LjEgdmVyaWZ5IHRoYXQgY2xlYXJQYXJhbWV0ZXJzIGRvZXM6Ci1TdWNjZXNzCi0K
LTguMCB2b2lkIHJlc2V0KCk6Ci0KLTguMSB2ZXJpZnkgdGhhdCBwYXJhbWV0ZXJzIGhhdmUgYmVl
biBjbGVhcmVkOgotU3VjY2VzcwotOC4yIHZlcmlmeSB0aGF0IHN0eWxlc2hlZXQgaGFzIGJlZW4g
Y2xlYXJlZDoKLVN1Y2Nlc3MKLQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC94c2wveHNsdC1wcm9j
ZXNzZXIuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3hzbC94c2x0LXByb2Nl
c3Nlci5odG1sCShyZXZpc2lvbiAxOTk1MCkKKysrIExheW91dFRlc3RzL2Zhc3QveHNsL3hzbHQt
cHJvY2Vzc2VyLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMzIxICswLDAgQEAKLTxodG1sPgot
PGhlYWQ+Ci08U1RZTEU+Ci1wcmUgeyBib3JkZXI6MXB4IHNvbGlkIGJsdWUgfQotc3BhbiB7IGZv
bnQtd2VpZ2h0OiBib2xkIH0KLS5zdWNjZXNzIHsgY29sb3I6IGdyZWVuOyB9Ci0uZmFpbHVyZSB7
IGNvbG9yOiByZWQ7IH0KLTwvU1RZTEU+Ci08L2hlYWQ+Ci08Ym9keSBpZD0iYm9keSI+Ci0KLTxz
Y3JpcHQ+Ci1pZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotCWxheW91dFRlc3RDb250
cm9sbGVyLmR1bXBBc1RleHQoKTsKLQotdmFyIHJlcXVlc3RlciA9IG5ldyBYTUxIdHRwUmVxdWVz
dCgpOwotdmFyIHByb2Nlc3NvciA9IG5ldyBYU0xUUHJvY2Vzc29yKCk7Ci12YXIgc2VyaWFsaXpl
ciA9IG5ldyBYTUxTZXJpYWxpemVyKCk7Ci0KLXZhciBzZWN0aW9uSWQgPSAwOwotdmFyIHRlc3RJ
ZCA9IDA7Ci0KLWZ1bmN0aW9uIGFkZFNlY3Rpb25IZWFkZXIobmFtZSkgewotCXNlY3Rpb25JZCsr
OwotCWRvY3VtZW50LndyaXRlbG4oIjxicj48c3Bhbj4iICsgc2VjdGlvbklkICsgIi4wICIgKyBu
YW1lICsgIjo8L3NwYW4+PGJyPjxicj4iKTsKLQl0ZXN0SWQgPSAwOwotfQotCi1mdW5jdGlvbiBh
ZGRSZXN1bHRFeHBlY3RFeGNlcHRpb24obmFtZSwgZnVuYykgewotCXRyeSB7Ci0JCXZhciByZXN1
bHQgPSBmdW5jKCk7Ci0JCWFkZFN0cmluZ1Jlc3VsdCh0ZXN0bmFtZSwgIioqKipGYWlsdXJlKioq
KiAoZXhwZWN0ZWQgZXhjZXB0aW9uLCBpbnN0ZWFkIGdvdCByZXN1bHQ6IFwiIiArIHJlc3VsdCAr
ICJcIikiLCAiZmFpbHVyZSIpOwotCX0gY2F0Y2ggKGUpIHsKLQkJLy8gRklYTUU6IHByb2JhYmx5
IHNob3VsZCBjaGVjayBleGNlcHRpb24gdHlwZQotCQlhZGRTdWNjZXNzUmVzdWx0KHRlc3RuYW1l
KTsKLQl9Ci19Ci0KLWZ1bmN0aW9uIGFkZFJlc3VsdEV4cGVjdFZhbHVlV2hlblNlcmlhbGl6ZWQo
bmFtZSwgdmFsdWUsIGV4cGVjdGVkVmFsdWUpIHsKLQl2YXIgc2VyaWFsaXplZFZhbHVlOwotCWlm
ICh2YWx1ZSkKLQkJc2VyaWFsaXplZFZhbHVlID0gc2VyaWFsaXplci5zZXJpYWxpemVUb1N0cmlu
Zyh2YWx1ZSk7Ci0JaWYgKHNlcmlhbGl6ZWRWYWx1ZSA9PSBleHBlY3RlZFZhbHVlKQotCQlhZGRT
dWNjZXNzUmVzdWx0KG5hbWUpOwotCWVsc2UKLQkJYWRkRmFpbHVyZVJlc3VsdChuYW1lLCBleHBl
Y3RlZFZhbHVlLCBzZXJpYWxpemVkVmFsdWUpOwotfQotCi1mdW5jdGlvbiBhZGRSZXN1bHRFeHBl
Y3RWYWx1ZShuYW1lLCB2YWx1ZSwgZXhwZWN0ZWRWYWx1ZSkgewotCWlmICh2YWx1ZSA9PSBleHBl
Y3RlZFZhbHVlKQotCQlhZGRTdWNjZXNzUmVzdWx0KG5hbWUpOwotCWVsc2UKLQkJYWRkRmFpbHVy
ZVJlc3VsdChuYW1lLCBleHBlY3RlZFZhbHVlLCB2YWx1ZSk7Ci19Ci0KLWZ1bmN0aW9uIGdldFhN
TERvY3VtZW50KG5hbWUpCi17Ci0JcmVxdWVzdGVyLm9wZW4oIkdFVCIsIG5hbWUsIGZhbHNlKTsK
LQlyZXF1ZXN0ZXIuc2VuZChudWxsKTsKLQlyZXR1cm4gcmVxdWVzdGVyLnJlc3BvbnNlWE1MOwot
fQotCi1mdW5jdGlvbiBhZGRTdHJpbmdSZXN1bHQobmFtZSwgcmVzdWx0LCBjc3NDbGFzcykKLXsK
LQl0ZXN0SWQrKzsKLQl2YXIgdGVzdE51bWJlclN0cmluZyA9ICIiICsgc2VjdGlvbklkICsgIi4i
ICsgdGVzdElkCi0JdmFyIHRlc3RJZFN0cmluZyA9ICJpZCIgKyB0ZXN0TnVtYmVyU3RyaW5nOwot
CWRvY3VtZW50LndyaXRlbG4oIjxzcGFuPiIgKyB0ZXN0TnVtYmVyU3RyaW5nICsgIiAiICsgbmFt
ZSArICI6PC9zcGFuPiIpOwotCWRvY3VtZW50LndyaXRlbG4oIjxwcmUgaWQ9XCIiICsgdGVzdElk
U3RyaW5nICsgIlwiIGNsYXNzPVwiIiArIGNzc0NsYXNzICsgIlwiPkBATk8gVkFMVUVAQDwvcHJl
PiIpOwotCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRlc3RJZFN0cmluZykuZmlyc3RDaGlsZC5u
b2RlVmFsdWUgPSByZXN1bHQ7Ci19Ci0KLWZ1bmN0aW9uIGFkZEZhaWx1cmVSZXN1bHQobmFtZSwg
ZXhwZWN0ZWRWYWx1ZSwgYWN0dWFsKQotewotCWFkZFN0cmluZ1Jlc3VsdChuYW1lLCAiKioqKkZh
aWx1cmUqKioqIChleHBlY3RlZDogXCIiICsgZXhwZWN0ZWRWYWx1ZSArICJcIiBhY3R1YWw6IFwi
IiArIGFjdHVhbCArICJcIikiLCAiZmFpbHVyZSIpOwotfQotCi1mdW5jdGlvbiBhZGRTdWNjZXNz
UmVzdWx0KG5hbWUpCi17Ci0JYWRkU3RyaW5nUmVzdWx0KG5hbWUsICJTdWNjZXNzIiwgInN1Y2Nl
c3MiKTsKLX0KLQotZnVuY3Rpb24gYWRkWE1MUmVzdWx0KG5hbWUsIHJlc3VsdCkKLXsKLQl2YXIg
c3RyOwotCWlmIChyZXN1bHQpCi0JCXN0ciA9IHNlcmlhbGl6ZXIuc2VyaWFsaXplVG9TdHJpbmco
cmVzdWx0KTsKLQlhZGRTdHJpbmdSZXN1bHQobmFtZSwgc3RyKTsKLX0KLQotdmFyIHhtbCA9IGdl
dFhNTERvY3VtZW50KCJ4c2x0LXRleHQueG1sIik7Ci1hZGRYTUxSZXN1bHQoIm9yaWdpbmFsIHht
bCIsIHhtbCk7Ci12YXIgeHNsMSA9IGdldFhNTERvY3VtZW50KCJ4c2x0LXRleHQueHNsIik7Ci1h
ZGRYTUxSZXN1bHQoInhzbDEiLCB4c2wxKTsKLXZhciB4c2wyID0gZ2V0WE1MRG9jdW1lbnQoInJl
c291cmNlcy94c2x0LWVuYy54c2wiKTsKLWFkZFhNTFJlc3VsdCgieHNsMiIsIHhzbDIpOwotCi0K
LQotLy8gMS4wIHZvaWQgaW1wb3J0U3R5bGVzaGVldChpbiBET01Ob2RlIHN0eWxlKTsKLWFkZFNl
Y3Rpb25IZWFkZXIoInZvaWQgaW1wb3J0U3R5bGVzaGVldChpbiBET01Ob2RlIHN0eWxlKSIpOwot
Ly8gMS4xIEltcG9ydCB0d28gZGlmZmVyZW50IHN0eWxlc2hlZXRzIChsYXN0IG9uZSB3aW5zKQot
Ci1wcm9jZXNzb3IuaW1wb3J0U3R5bGVzaGVldCh4c2wxKTsKLXByb2Nlc3Nvci5pbXBvcnRTdHls
ZXNoZWV0KHhzbDIpOwotdmFyIG5ld1hNTCA9IHByb2Nlc3Nvci50cmFuc2Zvcm1Ub0RvY3VtZW50
KHhtbCk7Ci1hZGRYTUxSZXN1bHQoIkltcG9ydCB0d28gZGlmZmVyZW50IHN0eWxlc2hlZXRzIiwg
bmV3WE1MKTsKLQotLy8gMS4yIEltcG9ydCBzYW1lIHN0eWxlc2hlZXQgdHdpY2UKLQotcHJvY2Vz
c29yLnJlc2V0KCk7Ci1wcm9jZXNzb3IuaW1wb3J0U3R5bGVzaGVldCh4c2wxKTsKLXByb2Nlc3Nv
ci5pbXBvcnRTdHlsZXNoZWV0KHhzbDEpOwotCi12YXIgbmV3WE1MID0gcHJvY2Vzc29yLnRyYW5z
Zm9ybVRvRG9jdW1lbnQoeG1sKTsKLWFkZFhNTFJlc3VsdCgiSW1wb3J0IHNhbWUgc3R5bGVzaGVl
dCB0d2ljZSIsIG5ld1hNTCk7Ci0KLS8vIDEuMyBJbXBvcnQgdW5kZWZpbmVkIHN0eWxlc2hlZXQK
LQotcHJvY2Vzc29yLnJlc2V0KCk7Ci12YXIgdGVzdG5hbWUgPSAiSW1wb3J0IHVuZGVmaW5lZCBz
dHlsZXNoZWV0IjsKLWFkZFJlc3VsdEV4cGVjdEV4Y2VwdGlvbih0ZXN0bmFtZSwgZnVuY3Rpb24g
KCkgeyByZXR1cm4gcHJvY2Vzc29yLmltcG9ydFN0eWxlc2hlZXQodW5kZWZpbmVkKTsgfSApOwot
Ci0vLyAxLjQgSW1wb3J0IGludmFsaWQgc3R5bGVzaGVldCAobm90IHdlbGxmb3JtZWQgeGxzdCkK
LQotcHJvY2Vzc29yLnJlc2V0KCk7Ci12YXIgdGVzdE5hbWUgPSAiSW1wb3J0IGludmFsaWQgc3R5
bGVzaGVldCI7Ci1hZGRSZXN1bHRFeHBlY3RFeGNlcHRpb24odGVzdG5hbWUsIGZ1bmN0aW9uICgp
IHsgcmV0dXJuIHByb2Nlc3Nvci5pbXBvcnRTdHlsZXNoZWV0KHhtbCk7IH0gKTsKLQotLy8gMS41
IERvbid0IGltcG9ydCBzdHlsZXNoZWV0Ci0KLXByb2Nlc3Nvci5yZXNldCgpOwotdmFyIG5ld1hN
TCA9IHByb2Nlc3Nvci50cmFuc2Zvcm1Ub0RvY3VtZW50KHhtbCk7Ci1hZGRSZXN1bHRFeHBlY3RW
YWx1ZVdoZW5TZXJpYWxpemVkKCJEb24ndCBpbXBvcnQgc3R5bGVzaGVldCIsIG5ld1hNTCwgdW5k
ZWZpbmVkKTsKLQotCi0KLS8vIDIuMCBET01Eb2N1bWVudEZyYWdtZW50IHRyYW5zZm9ybVRvRnJh
Z21lbnQoaW4gRE9NTm9kZSBzb3VyY2UsIGluIERPTURvY3VtZW50IG91dHB1dCk7Ci1hZGRTZWN0
aW9uSGVhZGVyKCJET01Eb2N1bWVudEZyYWdtZW50IHRyYW5zZm9ybVRvRnJhZ21lbnQoaW4gRE9N
Tm9kZSBzb3VyY2UsIGluIERPTURvY3VtZW50IG91dHB1dCkiKTsKLS8vIDIuMSBmcmFnbWVudCB3
aXRoIHVuZGVmaW5lZCBzb3VyY2UKLQotcHJvY2Vzc29yLnJlc2V0KCk7Ci1wcm9jZXNzb3IuaW1w
b3J0U3R5bGVzaGVldCh4c2wxKTsKLXZhciBvd25lckRvY3VtZW50ID0gZG9jdW1lbnQuaW1wbGVt
ZW50YXRpb24uY3JlYXRlRG9jdW1lbnQoIiIsICJ0ZXN0IiwgbnVsbCk7Ci12YXIgdGVzdG5hbWUg
PSAiZnJhZ21lbnQgd2l0aCB1bmRlZmluZWQgc291cmNlIjsKLWFkZFJlc3VsdEV4cGVjdEV4Y2Vw
dGlvbih0ZXN0bmFtZSwgZnVuY3Rpb24gKCkgeyByZXR1cm4gcHJvY2Vzc29yLnRyYW5zZm9ybVRv
RnJhZ21lbnQodW5kZWZpbmVkLCBvd25lckRvY3VtZW50KTsgfSApOwotCi0vLyAyLjIgZnJhZ21l
bnQgd2l0aCB1bmRlZmluZWQgb3V0cHV0IGRvY3VtZW50Ci0KLW93bmVyRG9jdW1lbnQgPSBkb2N1
bWVudC5pbXBsZW1lbnRhdGlvbi5jcmVhdGVEb2N1bWVudCgiIiwgInRlc3QiLCBudWxsKTsKLW5l
d0ZyYWdtZW50ID0gcHJvY2Vzc29yLnRyYW5zZm9ybVRvRnJhZ21lbnQoeG1sLCB1bmRlZmluZWQp
OwotYWRkUmVzdWx0RXhwZWN0VmFsdWVXaGVuU2VyaWFsaXplZCgiZnJhZ21lbnQgd2l0aCB1bmRl
ZmluZWQgb3V0cHV0IGRvY3VtZW50IiwgbmV3RnJhZ21lbnQsIHVuZGVmaW5lZCk7Ci0KLS8vIDIu
MyB1c2Ugbm9uLURPTURvY3VtZW50IG91dHB1dCBwYXJhbWV0ZXIKLQotdmFyIHRlc3RuYW1lID0g
InVzZSBub24tRE9NRG9jdW1lbnQgb3V0cHV0IHBhcmFtZXRlciI7Ci1hZGRSZXN1bHRFeHBlY3RF
eGNlcHRpb24odGVzdG5hbWUsIGZ1bmN0aW9uICgpIHsgcmV0dXJuIHByb2Nlc3Nvci50cmFuc2Zv
cm1Ub0ZyYWdtZW50KHhtbCwgImVycm9yIik7IH0gKTsKLQotLy8gMi40IHRyYW5zZm9ybSB0byBz
YW1lIGZyYWdtZW50IHR3aWNlCi0KLW93bmVyRG9jdW1lbnQgPSBkb2N1bWVudC5pbXBsZW1lbnRh
dGlvbi5jcmVhdGVEb2N1bWVudCgiIiwgInRlc3QiLCBudWxsKTsKLXZhciBzZWNvbmREb2N1bWVu
dCA9IGRvY3VtZW50LmltcGxlbWVudGF0aW9uLmNyZWF0ZURvY3VtZW50KCIiLCAidGVzdCIsIG51
bGwpOwotbmV3RnJhZ21lbnQgPSBwcm9jZXNzb3IudHJhbnNmb3JtVG9GcmFnbWVudCh4bWwsIG93
bmVyRG9jdW1lbnQpOwotdmFyIHNlY29uZEZyYWdtZW50ID0gcHJvY2Vzc29yLnRyYW5zZm9ybVRv
RnJhZ21lbnQoeG1sLCBzZWNvbmREb2N1bWVudCk7Ci1hZGRSZXN1bHRFeHBlY3RWYWx1ZVdoZW5T
ZXJpYWxpemVkKCJ0cmFuc2Zvcm0gdG8gc2FtZSBmcmFnbWVudCB0d2ljZSIsIHNlY29uZEZyYWdt
ZW50LCBzZXJpYWxpemVyLnNlcmlhbGl6ZVRvU3RyaW5nKG5ld0ZyYWdtZW50KSk7Ci0KLQotLy8g
Mi41IHRyYW5zZm9ybSB0byB0ZXh0Ci0vLyAyLjYgZnJhZ21lbnQgdXNpbmcgcGFzc2VkIHBhcmFt
ZXRlcnMKLXZhciBwYXJhbVhTTCA9IGdldFhNTERvY3VtZW50KCJyZXNvdXJjZXMveHNsdC1wYXJh
bS54c2wiKTsKLXZhciBwYXJhbVhNTCA9IGdldFhNTERvY3VtZW50KCJyZXNvdXJjZXMveHNsdC1w
YXJhbS54bWwiKTsKLQotdmFyIHBhcmFtUHJvY2Vzc29yID0gbmV3IFhTTFRQcm9jZXNzb3I7Ci1w
YXJhbVByb2Nlc3Nvci5pbXBvcnRTdHlsZXNoZWV0KHBhcmFtWFNMKTsKLXBhcmFtUHJvY2Vzc29y
LnNldFBhcmFtZXRlcihudWxsLCAicGFyYW0iLCAiU1VDQ0VTUyIpOwotCi12YXIgb3duZXJEb2N1
bWVudCA9IGRvY3VtZW50LmltcGxlbWVudGF0aW9uLmNyZWF0ZURvY3VtZW50KCIiLCAidGVzdCIs
IG51bGwpOwotdmFyIGZyYWdtZW50ID0gcGFyYW1Qcm9jZXNzb3IudHJhbnNmb3JtVG9GcmFnbWVu
dChwYXJhbVhNTCwgb3duZXJEb2N1bWVudCk7Ci1hZGRSZXN1bHRFeHBlY3RWYWx1ZVdoZW5TZXJp
YWxpemVkKCJ0cmFuc2Zvcm1lZCBmcmFnbWVudCBjb250YWluaW5nIG9ubHkgdGV4dCIsIGZyYWdt
ZW50LCAiU1VDQ0VTUyIpOwotYWRkUmVzdWx0RXhwZWN0VmFsdWUoImZyYWdtZW50IHVzaW5nIHBh
c3NlZCBwYXJhbWV0ZXJzIiwgZnJhZ21lbnQuZmlyc3RDaGlsZC5ub2RlVmFsdWUsICJTVUNDRVNT
Iik7Ci0KLQotCi0vLyAzLjAgRE9NRG9jdW1lbnQgdHJhbnNmb3JtVG9Eb2N1bWVudChpbiBET01O
b2RlIHNvdXJjZSk7Ci1hZGRTZWN0aW9uSGVhZGVyKCJET01Eb2N1bWVudCB0cmFuc2Zvcm1Ub0Rv
Y3VtZW50KGluIERPTU5vZGUgc291cmNlKSIpOwotCi0vLyAzLjEgZG9jdW1lbnQgZnJvbSB1bmRl
ZmluZWQgc291cmNlCi0KLXByb2Nlc3Nvci5yZXNldCgpOwotcHJvY2Vzc29yLmltcG9ydFN0eWxl
c2hlZXQoeHNsMSk7Ci1hZGRSZXN1bHRFeHBlY3RFeGNlcHRpb24oImRvY3VtZW50IGZyb20gdW5k
ZWZpbmVkIHNvdXJjZSIsIGZ1bmN0aW9uICgpIHsgcmV0dXJuIHByb2Nlc3Nvci50cmFuc2Zvcm1U
b0RvY3VtZW50KHVuZGVmaW5lZCk7IH0gKTsKLQotLy8gMy4yIHRyYW5zZm9ybSB0d2ljZQotCi1w
cm9jZXNzb3IucmVzZXQoKTsKLXByb2Nlc3Nvci5pbXBvcnRTdHlsZXNoZWV0KHhzbDEpOwotdmFy
IG5ld1hNTCA9IHByb2Nlc3Nvci50cmFuc2Zvcm1Ub0RvY3VtZW50KHhtbCk7Ci12YXIgbmV3ZXJY
TUwgPSBwcm9jZXNzb3IudHJhbnNmb3JtVG9Eb2N1bWVudCh4bWwpOwotYWRkUmVzdWx0RXhwZWN0
VmFsdWVXaGVuU2VyaWFsaXplZCgidHJhbnNmb3JtIHR3aWNlIiwgbmV3WE1MLCBzZXJpYWxpemVy
LnNlcmlhbGl6ZVRvU3RyaW5nKG5ld2VyWE1MKSk7Ci0KLQotCi0KLS8vIDQuMCB2b2lkIHNldFBh
cmFtZXRlcihpbiBET01TdHJpbmcgbmFtZXNwYWNlVVJJLCBpbiBET01TdHJpbmcgbG9jYWxOYW1l
LCBpbiBWYWx1ZSB2YWx1ZSk7Ci1hZGRTZWN0aW9uSGVhZGVyKCJ2b2lkIHNldFBhcmFtZXRlcihp
biBET01TdHJpbmcgbmFtZXNwYWNlVVJJLCBpbiBET01TdHJpbmcgbG9jYWxOYW1lLCBpbiBWYWx1
ZSB2YWx1ZSkiKTsKLXByb2Nlc3Nvci5yZXNldCgpOwotCi0vLyA0LjEgcGFzcyBzZXRQYXJhbWV0
ZXIgc2FtZSBsb2NhbG5hbWUsIGRpZmZlcmVudCBuYW1lc3BhY2VzCi1wcm9jZXNzb3Iuc2V0UGFy
YW1ldGVyKCJmb28iLCAiZm9vIiwgIlN1Y2Nlc3MiKTsKLXByb2Nlc3Nvci5zZXRQYXJhbWV0ZXIo
ImJhciIsICJmb28iLCAiRmFpbHVyZSIpOwotdmFyIHRlc3RuYW1lID0gInBhc3Mgc2V0UGFyYW1l
dGVyIHNhbWUgbG9jYWxuYW1lLCBkaWZmZXJlbnQgbmFtZXNwYWNlcyI7Ci1hZGRSZXN1bHRFeHBl
Y3RWYWx1ZSh0ZXN0bmFtZSwgcHJvY2Vzc29yLmdldFBhcmFtZXRlcigiZm9vIiwgImZvbyIpLCAi
U3VjY2VzcyIpOwotCi0vLyA0LjIgcGFzcyB1bmRlZmluZWQgbmFtZXNwYWNlCi0KLXByb2Nlc3Nv
ci5zZXRQYXJhbWV0ZXIodW5kZWZpbmVkLCAiZm9vIiwgIlN1Y2Nlc3MiKTsKLWFkZFJlc3VsdEV4
cGVjdFZhbHVlKCJwYXNzIHVuZGVmaW5lZCBuYW1lc3BhY2UiLCBwcm9jZXNzb3IuZ2V0UGFyYW1l
dGVyKHVuZGVmaW5lZCwgImZvbyIpLCAiU3VjY2VzcyIpOwotCi0vLyA0LjMgcGFzcyBzZXRQYXJh
bWV0ZXIgYW4gdW5kZWZpbmVkIG5hbWUKLQotdmFyIHRlc3RuYW1lID0gInBhc3Mgc2V0UGFyYW1l
dGVyIGFuIHVuZGVmaW5lZCBuYW1lIjsKLWFkZFJlc3VsdEV4cGVjdEV4Y2VwdGlvbih0ZXN0bmFt
ZSwgZnVuY3Rpb24gKCkgeyByZXR1cm4gcHJvY2Vzc29yLnNldFBhcmFtZXRlcih1bmRlZmluZWQs
IHVuZGVmaW5lZCAsICJTdWNjZXNzIik7IH0gKTsKLQotLy8gNC40IHBhc3MgdW5kZWZpbmVkIHZh
bHVlCi0KLXByb2Nlc3Nvci5zZXRQYXJhbWV0ZXIodW5kZWZpbmVkLCAiZm9vIiwgdW5kZWZpbmVk
KTsKLXZhciB0ZXN0bmFtZSA9ICJwYXNzIHVuZGVmaW5lZCB2YWx1ZSI7Ci0KLQotLy8gNC41IHBh
c3MgdW5zdXBwb3J0ZWQgdmFsdWUgdG8gc2V0UGFyYW1ldGVyIChvYmplY3QsIGZvciBpbnN0YW5j
ZT8pCi0KLXZhciB0ZXN0bmFtZSA9ICJwYXNzIHVuc3VwcG9ydGVkIHZhbHVlIHRvIHNldFBhcmFt
ZXRlciI7Ci1hZGRSZXN1bHRFeHBlY3RFeGNlcHRpb24odGVzdG5hbWUsIGZ1bmN0aW9uICgpIHsg
cmV0dXJuIHByb2Nlc3Nvci5zZXRQYXJhbWV0ZXIodW5kZWZpbmVkLCAiaW52YWxpZCIgLCBuZXcg
QXJyYXkoKSk7IH0gKTsKLQotCi0vLyA1LjAgVmFsdWUgZ2V0UGFyYW1ldGVyKGluIERPTVN0cmlu
ZyBuYW1lc3BhY2VVUkksIGluIERPTVN0cmluZyBsb2NhbE5hbWUpOwotYWRkU2VjdGlvbkhlYWRl
cigiVmFsdWUgZ2V0UGFyYW1ldGVyKGluIERPTVN0cmluZyBuYW1lc3BhY2VVUkksIGluIERPTVN0
cmluZyBsb2NhbE5hbWUpIik7Ci0KLS8vIDUuMSBwYXNzIHVuZGVmaW5lZCBuYW1lCi0KLXZhciB0
ZXN0bmFtZSA9ICJwYXNzIGdldFBhcmFtZXRlciBhbiB1bmRlZmluZWQgbmFtZSI7Ci1hZGRSZXN1
bHRFeHBlY3RFeGNlcHRpb24odGVzdG5hbWUsIGZ1bmN0aW9uICgpIHsgcmV0dXJuIHByb2Nlc3Nv
ci5nZXRQYXJhbWV0ZXIodW5kZWZpbmVkLCB1bmRlZmluZWQpOyB9ICk7Ci0KLS8vIDUuMiBwYXNz
IGdldFBhcmFtZXRlciBhIG5hbWUgd2hpY2ggaGFzIG5vdCBiZWVuIHNldAotCi12YXIgdGVzdG5h
bWUgPSAicGFzcyBnZXRQYXJhbWV0ZXIgYSBuYW1lIHdoaWNoIGhhcyBub3QgYmVlbiBzZXQiOwot
YWRkUmVzdWx0RXhwZWN0VmFsdWUodGVzdG5hbWUsIHByb2Nlc3Nvci5nZXRQYXJhbWV0ZXIodW5k
ZWZpbmVkLCAiaGFzbm90YmVlbnNldCIpLCB1bmRlZmluZWQpOwotCi0vLyA1LjMgdmVyaWZ5IGdl
dFBhcmFtZXRlciBhY3R1YWxseSBnZXRzIChhbmQgc2V0IHNldHMpCi1wcm9jZXNzb3Iuc2V0UGFy
YW1ldGVyKG51bGwsICJ0ZXN0IiwgInRlc3RWYWx1ZSIpOwotdmFyIHRlc3RuYW1lID0gInZlcmlm
eSBnZXRQYXJhbWV0ZXIgYWN0dWFsbHkgZ2V0cyAoYW5kIHNldCBzZXRzKSI7Ci1hZGRSZXN1bHRF
eHBlY3RWYWx1ZSh0ZXN0bmFtZSwgcHJvY2Vzc29yLmdldFBhcmFtZXRlcihudWxsLCAidGVzdCIp
LCAidGVzdFZhbHVlIik7Ci0KLQotCi0vLyA2LjAgdm9pZCByZW1vdmVQYXJhbWV0ZXIoaW4gRE9N
U3RyaW5nIG5hbWVzcGFjZVVSSSwgaW4gRE9NU3RyaW5nIGxvY2FsTmFtZSk7Ci1hZGRTZWN0aW9u
SGVhZGVyKCJ2b2lkIHJlbW92ZVBhcmFtZXRlcihpbiBET01TdHJpbmcgbmFtZXNwYWNlVVJJLCBp
biBET01TdHJpbmcgbG9jYWxOYW1lKSIpOwotLy8gNi4xIHBhc3MgcmVtb3ZlUGFyYW1ldGVyIHNh
bWUgbG9jYWxuYW1lLCBkaWZmZXJlbnQgbmFtZXNwYWNlcwotCi1wcm9jZXNzb3Iuc2V0UGFyYW1l
dGVyKCJmb28iLCAiZm9vIiwgIlN1Y2Nlc3MiKTsKLXByb2Nlc3Nvci5zZXRQYXJhbWV0ZXIoImJh
ciIsICJmb28iLCAiRmFpbHVyZSIpOwotdmFyIHRlc3RuYW1lID0gInBhc3MgcmVtb3ZlUGFyYW1l
dGVyIHNhbWUgbG9jYWxuYW1lLCBkaWZmZXJlbnQgbmFtZXNwYWNlcyI7Ci1hZGRSZXN1bHRFeHBl
Y3RWYWx1ZSh0ZXN0bmFtZSwgcHJvY2Vzc29yLmdldFBhcmFtZXRlcigiZm9vIiwgImZvbyIpLCAi
U3VjY2VzcyIpOwotCi0vLyA2LjIgcGFzcyB1bmRlZmluZWQgbmFtZXNwYWNlCi0KLXByb2Nlc3Nv
ci5zZXRQYXJhbWV0ZXIodW5kZWZpbmVkLCAidGVzdCIsICJ0ZXN0VmFsdWUiKTsKLXByb2Nlc3Nv
ci5yZW1vdmVQYXJhbWV0ZXIodW5kZWZpbmVkLCAidGVzdCIpOwotdmFyIHRlc3RuYW1lID0gInZl
cmlmeSByZW1vdmVQYXJhbWV0ZXIgYWN0dWFsbHkgcmVtb3ZlcyB1c2luZyB1bmRlZmluZWQgbmFt
ZXNwYWNlIjsJCi1hZGRSZXN1bHRFeHBlY3RWYWx1ZSh0ZXN0bmFtZSwgcHJvY2Vzc29yLmdldFBh
cmFtZXRlcihudWxsLCAidGVzdCIpLCB1bmRlZmluZWQpOwotCi0vLyA2LjMgcGFzcyByZW1vdmVQ
YXJhbWV0ZXIgdW5kZWZpbmVkIG5hbWUKLQotcHJvY2Vzc29yLnNldFBhcmFtZXRlcih1bmRlZmlu
ZWQsICJ1bmRlZmluZWQiLCAiU3VjY2VzcyIpOwotcHJvY2Vzc29yLnJlbW92ZVBhcmFtZXRlcih1
bmRlZmluZWQsIHVuZGVmaW5lZCk7Ci12YXIgdGVzdG5hbWUgPSAicGFzcyByZW1vdmVQYXJhbWV0
ZXIgdW5kZWZpbmVkIG5hbWUiOwotYWRkUmVzdWx0RXhwZWN0VmFsdWUodGVzdG5hbWUsIHByb2Nl
c3Nvci5nZXRQYXJhbWV0ZXIodW5kZWZpbmVkLCAidW5kZWZpbmVkIiksICJTdWNjZXNzIik7Ci0K
LS8vIDYuNCBwYXNzIHJlbW92ZVBhcmFtZXRlciBhIG5hbWUgd2hpY2ggaGFzIG5vdCBiZWVuIHNl
dAotCi1wcm9jZXNzb3IucmVtb3ZlUGFyYW1ldGVyKHVuZGVmaW5lZCwgIm5ldmVyYmVlbnNldGZv
cnJlbW92ZSIpOwotYWRkUmVzdWx0RXhwZWN0VmFsdWUoInBhc3MgcmVtb3ZlUGFyYW1ldGVyIGEg
bmFtZSB3aGljaCBoYXMgbm90IGJlZW4gc2V0IiwgIlN1Y2Nlc3MiLCAiU3VjY2VzcyIpOwotCi0v
LyA2LjUgdmVyaWZ5IHJlbW92ZVBhcmFtZXRlciBhY3R1YWxseSByZW1vdmVzCi1wcm9jZXNzb3Iu
c2V0UGFyYW1ldGVyKG51bGwsICJ0ZXN0IiwgInRlc3RWYWx1ZSIpOwotcHJvY2Vzc29yLnJlbW92
ZVBhcmFtZXRlcihudWxsLCAidGVzdCIpOwotdmFyIHRlc3RuYW1lID0gInZlcmlmeSByZW1vdmVQ
YXJhbWV0ZXIgYWN0dWFsbHkgcmVtb3ZlcyI7Ci1hZGRSZXN1bHRFeHBlY3RWYWx1ZSh0ZXN0bmFt
ZSwgcHJvY2Vzc29yLmdldFBhcmFtZXRlcihudWxsLCAidGVzdCIpLCB1bmRlZmluZWQpOwotCi0K
LQotLy8gNy4wIHZvaWQgY2xlYXJQYXJhbWV0ZXJzKCk7Ci1hZGRTZWN0aW9uSGVhZGVyKCJ2b2lk
IGNsZWFyUGFyYW1ldGVycygpIik7Ci0KLS8vIDcuMSBjYWxsLCB2ZXJpZnkgdGhhdCBwYXJhbWV0
ZXJzIGhhdmUgYmVlbiBjbGVhcmVkCi1wcm9jZXNzb3Iuc2V0UGFyYW1ldGVyKG51bGwsICJ0ZXN0
IiwgInRlc3RWYWx1ZSIpOwotcHJvY2Vzc29yLmNsZWFyUGFyYW1ldGVycygpOwotdmFyIHRlc3Ru
YW1lID0gInZlcmlmeSB0aGF0IGNsZWFyUGFyYW1ldGVycyBkb2VzIjsKLWFkZFJlc3VsdEV4cGVj
dFZhbHVlKHRlc3RuYW1lLCBwcm9jZXNzb3IuZ2V0UGFyYW1ldGVyKG51bGwsICJ0ZXN0IiksIHVu
ZGVmaW5lZCk7Ci0KLQotLy8gOC4wIHZvaWQgcmVzZXQoKTsKLWFkZFNlY3Rpb25IZWFkZXIoInZv
aWQgcmVzZXQoKSIpOwotcHJvY2Vzc29yID0gbmV3IFhTTFRQcm9jZXNzb3IoKTsKLXByb2Nlc3Nv
ci5pbXBvcnRTdHlsZXNoZWV0KHhzbDEpOwotcHJvY2Vzc29yLnNldFBhcmFtZXRlcihudWxsLCAi
dGVzdCIsICJ0ZXN0VmFsdWUiKTsKLXByb2Nlc3Nvci5yZXNldCgpOwotCi0vLyA4LjEgY2FsbCwg
dmVyaWZ5IHRoYXQgcGFyYW1ldGVycyBhcmUgY2xlYXJlZCBhZnRlciByZXNldCgpCi12YXIgdGVz
dG5hbWUgPSAidmVyaWZ5IHRoYXQgcGFyYW1ldGVycyBoYXZlIGJlZW4gY2xlYXJlZCI7Ci1hZGRS
ZXN1bHRFeHBlY3RWYWx1ZSh0ZXN0bmFtZSwgcHJvY2Vzc29yLmdldFBhcmFtZXRlcihudWxsLCAi
dGVzdCIpLCB1bmRlZmluZWQpOwotCi0vLyA4LjIgY2FsbCwgdmVyaWZ5IHRoYXQgc3R5bGVzaGVl
dCBoYXMgYmVlbiBjbGVhcmVkIGFmdGVyIHJlc2V0KCkKLXZhciB0ZXN0bmFtZSA9ICJ2ZXJpZnkg
dGhhdCBzdHlsZXNoZWV0IGhhcyBiZWVuIGNsZWFyZWQiOwotdmFyIHJlc3VsdERvY3VtZW50ID0g
cHJvY2Vzc29yLnRyYW5zZm9ybVRvRG9jdW1lbnQoeG1sKTsKLWFkZFJlc3VsdEV4cGVjdFZhbHVl
V2hlblNlcmlhbGl6ZWQodGVzdG5hbWUsIHJlc3VsdERvY3VtZW50LCB1bmRlZmluZWQpOwotCi08
L3NjcmlwdD4KLQotPC9ib2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
SW5kZXg6IExheW91dFRlc3RzL2Zhc3QveHNsL3hzbHQtcHJvY2Vzc29yLWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3hzbC94c2x0LXByb2Nlc3Nvci1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDE5OTUwKQkoZnJvbSBMYXlvdXRUZXN0cy9mYXN0L3hzbC94c2x0LXBy
b2Nlc3Nlci1leHBlY3RlZC50eHQ6MTk5NTApCisrKyBMYXlvdXRUZXN0cy9mYXN0L3hzbC94c2x0
LXByb2Nlc3Nvci1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMjQgQEAK
KzAuMSBvcmlnaW5hbCB4bWw6Cis8P3htbC1zdHlsZXNoZWV0IHR5cGU9InRleHQveHNsIiBocmVm
PSJ4c2x0LXRleHQueHNsIj8+PFRFU1Q+U09VUkNFIFhNTDogJmx0OyZsdDsmbHQ7JmFtcDvRgtC1
0YHRgiZhbXA7Jmd0OyZndDsmZ3Q7PC9URVNUPgorMC4yIHhzbDE6Cis8eHNsOnN0eWxlc2hlZXQg
eG1sbnM6eHNsPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L1hTTC9UcmFuc2Zvcm0iIHZlcnNpb249
IjEuMCI+CisKKzx4c2w6b3V0cHV0IG1ldGhvZD0idGV4dCIgZW5jb2Rpbmc9IktPSTgtUiIvPgor
PHhzbDp0ZW1wbGF0ZSBtYXRjaD0iVEVTVCI+Q0hBUkFDVEVSUyBJTiBYU0xUOiAmbHQ7Jmx0OyZs
dDsmYW1wO9GC0LXRgdGCJmFtcDsmZ3Q7Jmd0OyZndDsKKzx4c2w6YXBwbHktdGVtcGxhdGVzLz48
eHNsOnRleHQ+Cis8L3hzbDp0ZXh0PjwveHNsOnRlbXBsYXRlPgorCis8eHNsOnRlbXBsYXRlPgor
CQk8eHNsOnZhbHVlLW9mIHNlbGVjdD0iLiIvPgorPC94c2w6dGVtcGxhdGU+CisKKzwveHNsOnN0
eWxlc2hlZXQ+CiswLjMgeHNsMjoKKzx4c2w6c3R5bGVzaGVldCB4bWxuczp4c2w9Imh0dHA6Ly93
d3cudzMub3JnLzE5OTkvWFNML1RyYW5zZm9ybSIgdmVyc2lvbj0iMS4wIj4KKyAgICA8eHNsOm91
dHB1dCBtZXRob2Q9Imh0bWwiIGVuY29kaW5nPSJVVEYtOCIvPgorICAgIDx4c2w6dGVtcGxhdGUg
bWF0Y2g9IlRFU1QiPgorICAgICAgICA8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5
OS94aHRtbCI+CisgICAgICAgICAgICA8aGVhZD4KKyAgICAgICAgICAgICAgICA8bWV0YSBodHRw
LWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIg
Lz4KKyAgICAgICAgICAgIDwvaGVhZD4gIAorICAgICAgICAgICAgPGJvZHk+CisgICAgICAgICAg
ICAgIENIQVJBQ1RFUlMgSU4gWFNMVDogw6nDqcOpw6nDqcOpw6nDqcOpw6nDqSA8YnIgLz4gPHhz
bDphcHBseS10ZW1wbGF0ZXMvPgorICAgICAgICAgICAgPC9ib2R5PgorICAgICAgICA8L2h0bWw+
CisgIDwveHNsOnRlbXBsYXRlPgorCis8eHNsOnRlbXBsYXRlPgorCQk8eHNsOnZhbHVlLW9mIHNl
bGVjdD0iLiIvPgorPC94c2w6dGVtcGxhdGU+CisKKzwveHNsOnN0eWxlc2hlZXQ+CisKKzEuMCB2
b2lkIGltcG9ydFN0eWxlc2hlZXQoaW4gRE9NTm9kZSBzdHlsZSk6CisKKzEuMSBJbXBvcnQgdHdv
IGRpZmZlcmVudCBzdHlsZXNoZWV0czoKKzxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8x
OTk5L3hodG1sIj48aGVhZD48bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9
InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCI+PC9oZWFkPjxib2R5PgorICAgICAgICAgICAgICBD
SEFSQUNURVJTIElOIFhTTFQ6IMOpw6nDqcOpw6nDqcOpw6nDqcOpw6kgPGJyPjxicj5TT1VSQ0Ug
WE1MOiAmbHQ7Jmx0OyZsdDsmYW1wO9GC0LXRgdGCJmFtcDsmZ3Q7Jmd0OyZndDsKKzwvYm9keT48
L2h0bWw+CisxLjIgSW1wb3J0IHNhbWUgc3R5bGVzaGVldCB0d2ljZToKKzwhRE9DVFlQRSBodG1s
IFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFN0cmljdC8vRU4iICJodHRwOi8vd3d3Lncz
Lm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS1zdHJpY3QuZHRkIj48aHRtbCB4bWxucz0iaHR0cDov
L3d3dy53My5vcmcvMTk5OS94aHRtbCI+Cis8aGVhZD48dGl0bGU+PC90aXRsZT48L2hlYWQ+Cis8
Ym9keT4KKzxwcmU+Q0hBUkFDVEVSUyBJTiBYU0xUOiA8PDwm0YLQtdGB0YImPj4+CitTT1VSQ0Ug
WE1MOiA8PDwm0YLQtdGB0YImPj4+Cis8L3ByZT4KKzwvYm9keT4KKzwvaHRtbD4KKzEuMyBJbXBv
cnQgdW5kZWZpbmVkIHN0eWxlc2hlZXQ6CisqKioqRmFpbHVyZSoqKiogKGV4cGVjdGVkIGV4Y2Vw
dGlvbiwgaW5zdGVhZCBnb3QgcmVzdWx0OiAidW5kZWZpbmVkIikKKzEuNCBJbXBvcnQgdW5kZWZp
bmVkIHN0eWxlc2hlZXQ6CisqKioqRmFpbHVyZSoqKiogKGV4cGVjdGVkIGV4Y2VwdGlvbiwgaW5z
dGVhZCBnb3QgcmVzdWx0OiAidW5kZWZpbmVkIikKKzEuNSBEb24ndCBpbXBvcnQgc3R5bGVzaGVl
dDoKK1N1Y2Nlc3MKKworMi4wIERPTURvY3VtZW50RnJhZ21lbnQgdHJhbnNmb3JtVG9GcmFnbWVu
dChpbiBET01Ob2RlIHNvdXJjZSwgaW4gRE9NRG9jdW1lbnQgb3V0cHV0KToKKworMi4xIGZyYWdt
ZW50IHdpdGggdW5kZWZpbmVkIHNvdXJjZToKKyoqKipGYWlsdXJlKioqKiAoZXhwZWN0ZWQgZXhj
ZXB0aW9uLCBpbnN0ZWFkIGdvdCByZXN1bHQ6ICJ1bmRlZmluZWQiKQorMi4yIGZyYWdtZW50IHdp
dGggdW5kZWZpbmVkIG91dHB1dCBkb2N1bWVudDoKK1N1Y2Nlc3MKKzIuMyB1c2Ugbm9uLURPTURv
Y3VtZW50IG91dHB1dCBwYXJhbWV0ZXI6CisqKioqRmFpbHVyZSoqKiogKGV4cGVjdGVkIGV4Y2Vw
dGlvbiwgaW5zdGVhZCBnb3QgcmVzdWx0OiAidW5kZWZpbmVkIikKKzIuNCB0cmFuc2Zvcm0gdG8g
c2FtZSBmcmFnbWVudCB0d2ljZToKK1N1Y2Nlc3MKKzIuNSB0cmFuc2Zvcm1lZCBmcmFnbWVudCBj
b250YWluaW5nIG9ubHkgdGV4dDoKK1N1Y2Nlc3MKKzIuNiBmcmFnbWVudCB1c2luZyBwYXNzZWQg
cGFyYW1ldGVyczoKK1N1Y2Nlc3MKKworMy4wIERPTURvY3VtZW50IHRyYW5zZm9ybVRvRG9jdW1l
bnQoaW4gRE9NTm9kZSBzb3VyY2UpOgorCiszLjEgdXNlIG5vbi1ET01Eb2N1bWVudCBvdXRwdXQg
cGFyYW1ldGVyOgorKioqKkZhaWx1cmUqKioqIChleHBlY3RlZCBleGNlcHRpb24sIGluc3RlYWQg
Z290IHJlc3VsdDogInVuZGVmaW5lZCIpCiszLjIgdHJhbnNmb3JtIHR3aWNlOgorU3VjY2Vzcwor
Cis0LjAgdm9pZCBzZXRQYXJhbWV0ZXIoaW4gRE9NU3RyaW5nIG5hbWVzcGFjZVVSSSwgaW4gRE9N
U3RyaW5nIGxvY2FsTmFtZSwgaW4gVmFsdWUgdmFsdWUpOgorCis0LjEgcGFzcyBzZXRQYXJhbWV0
ZXIgc2FtZSBsb2NhbG5hbWUsIGRpZmZlcmVudCBuYW1lc3BhY2VzOgorKioqKkZhaWx1cmUqKioq
IChleHBlY3RlZDogIlN1Y2Nlc3MiIGFjdHVhbDogIkZhaWx1cmUiKQorNC4yIHBhc3MgdW5kZWZp
bmVkIG5hbWVzcGFjZToKK1N1Y2Nlc3MKKzQuMyBwYXNzIHNldFBhcmFtZXRlciBhbiB1bmRlZmlu
ZWQgbmFtZToKKyoqKipGYWlsdXJlKioqKiAoZXhwZWN0ZWQgZXhjZXB0aW9uLCBpbnN0ZWFkIGdv
dCByZXN1bHQ6ICJ1bmRlZmluZWQiKQorNC40IHBhc3MgdW5zdXBwb3J0ZWQgdmFsdWUgdG8gc2V0
UGFyYW1ldGVyOgorKioqKkZhaWx1cmUqKioqIChleHBlY3RlZCBleGNlcHRpb24sIGluc3RlYWQg
Z290IHJlc3VsdDogInVuZGVmaW5lZCIpCisKKzUuMCBWYWx1ZSBnZXRQYXJhbWV0ZXIoaW4gRE9N
U3RyaW5nIG5hbWVzcGFjZVVSSSwgaW4gRE9NU3RyaW5nIGxvY2FsTmFtZSk6CisKKzUuMSBwYXNz
IGdldFBhcmFtZXRlciBhbiB1bmRlZmluZWQgbmFtZToKKyoqKipGYWlsdXJlKioqKiAoZXhwZWN0
ZWQgZXhjZXB0aW9uLCBpbnN0ZWFkIGdvdCByZXN1bHQ6ICJ1bmRlZmluZWQiKQorNS4yIHBhc3Mg
Z2V0UGFyYW1ldGVyIGEgbmFtZSB3aGljaCBoYXMgbm90IGJlZW4gc2V0OgorU3VjY2VzcworNS4z
IHZlcmlmeSBnZXRQYXJhbWV0ZXIgYWN0dWFsbHkgZ2V0cyAoYW5kIHNldCBzZXRzKToKK1N1Y2Nl
c3MKKworNi4wIHZvaWQgcmVtb3ZlUGFyYW1ldGVyKGluIERPTVN0cmluZyBuYW1lc3BhY2VVUkks
IGluIERPTVN0cmluZyBsb2NhbE5hbWUpOgorCis2LjEgcGFzcyByZW1vdmVQYXJhbWV0ZXIgc2Ft
ZSBsb2NhbG5hbWUsIGRpZmZlcmVudCBuYW1lc3BhY2VzOgorKioqKkZhaWx1cmUqKioqIChleHBl
Y3RlZDogIlN1Y2Nlc3MiIGFjdHVhbDogIkZhaWx1cmUiKQorNi4yIHZlcmlmeSByZW1vdmVQYXJh
bWV0ZXIgYWN0dWFsbHkgcmVtb3ZlcyB1c2luZyB1bmRlZmluZWQgbmFtZXNwYWNlOgorU3VjY2Vz
cworNi4zIHBhc3MgcmVtb3ZlUGFyYW1ldGVyIHVuZGVmaW5lZCBuYW1lOgorU3VjY2VzcworNi40
IHBhc3MgcmVtb3ZlUGFyYW1ldGVyIGEgbmFtZSB3aGljaCBoYXMgbm90IGJlZW4gc2V0OgorU3Vj
Y2VzcworNi41IHZlcmlmeSByZW1vdmVQYXJhbWV0ZXIgYWN0dWFsbHkgcmVtb3ZlczoKK1N1Y2Nl
c3MKKworNy4wIHZvaWQgY2xlYXJQYXJhbWV0ZXJzKCk6CisKKzcuMSB2ZXJpZnkgdGhhdCBjbGVh
clBhcmFtZXRlcnMgZG9lczoKK1N1Y2Nlc3MKKworOC4wIHZvaWQgcmVzZXQoKToKKworOC4xIHZl
cmlmeSB0aGF0IHBhcmFtZXRlcnMgaGF2ZSBiZWVuIGNsZWFyZWQ6CitTdWNjZXNzCis4LjIgdmVy
aWZ5IHRoYXQgc3R5bGVzaGVldCBoYXMgYmVlbiBjbGVhcmVkOgorU3VjY2VzcworCkluZGV4OiBM
YXlvdXRUZXN0cy9mYXN0L3hzbC94c2x0LXByb2Nlc3Nvci1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvZmFzdC94c2wveHNsdC1wcm9jZXNzb3ItZXhwZWN0ZWQudHh0CShy
ZXZpc2lvbiAxOTk1MCkKKysrIExheW91dFRlc3RzL2Zhc3QveHNsL3hzbHQtcHJvY2Vzc29yLWV4
cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtNDMsOCArNDMsOCBAQAogPCFET0NUWVBFIGh0
bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIgImh0dHA6Ly93d3cu
dzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXN0cmljdC5kdGQiPjxodG1sIHhtbG5zPSJodHRw
Oi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj4KIDxoZWFkPjx0aXRsZT48L3RpdGxlPjwvaGVhZD4K
IDxib2R5PgotPHByZT5DSEFSQUNURVJTIElOIFhTTFQ6IDw8PCbRgtC10YHRgiY+Pj4KLVNPVVJD
RSBYTUw6IDw8PCbRgtC10YHRgiY+Pj4KKzxwcmU+Q0hBUkFDVEVSUyBJTiBYU0xUOiAmbHQ7Jmx0
OyZsdDsmYW1wO9GC0LXRgdGCJmFtcDsmZ3Q7Jmd0OyZndDsKK1NPVVJDRSBYTUw6ICZsdDsmbHQ7
Jmx0OyZhbXA70YLQtdGB0YImYW1wOyZndDsmZ3Q7Jmd0OwogPC9wcmU+CiA8L2JvZHk+CiA8L2h0
bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3hzbC94c2x0LXByb2Nlc3Nvci5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QveHNsL3hzbHQtcHJvY2Vzc29yLmh0bWwJKHJldmlz
aW9uIDE5OTUwKQkoZnJvbSBMYXlvdXRUZXN0cy9mYXN0L3hzbC94c2x0LXByb2Nlc3Nlci5odG1s
OjE5OTUwKQorKysgTGF5b3V0VGVzdHMvZmFzdC94c2wveHNsdC1wcm9jZXNzb3IuaHRtbAkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDMyMSBAQAorPGh0bWw+Cis8aGVhZD4KKzxTVFlMRT4KK3By
ZSB7IGJvcmRlcjoxcHggc29saWQgYmx1ZSB9CitzcGFuIHsgZm9udC13ZWlnaHQ6IGJvbGQgfQor
LnN1Y2Nlc3MgeyBjb2xvcjogZ3JlZW47IH0KKy5mYWlsdXJlIHsgY29sb3I6IHJlZDsgfQorPC9T
VFlMRT4KKzwvaGVhZD4KKzxib2R5IGlkPSJib2R5Ij4KKworPHNjcmlwdD4KK2lmICh3aW5kb3cu
bGF5b3V0VGVzdENvbnRyb2xsZXIpCisJbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgp
OworCit2YXIgcmVxdWVzdGVyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7Cit2YXIgcHJvY2Vzc29y
ID0gbmV3IFhTTFRQcm9jZXNzb3IoKTsKK3ZhciBzZXJpYWxpemVyID0gbmV3IFhNTFNlcmlhbGl6
ZXIoKTsKKwordmFyIHNlY3Rpb25JZCA9IDA7Cit2YXIgdGVzdElkID0gMDsKKworZnVuY3Rpb24g
YWRkU2VjdGlvbkhlYWRlcihuYW1lKSB7CisJc2VjdGlvbklkKys7CisJZG9jdW1lbnQud3JpdGVs
bigiPGJyPjxzcGFuPiIgKyBzZWN0aW9uSWQgKyAiLjAgIiArIG5hbWUgKyAiOjwvc3Bhbj48YnI+
PGJyPiIpOworCXRlc3RJZCA9IDA7Cit9CisKK2Z1bmN0aW9uIGFkZFJlc3VsdEV4cGVjdEV4Y2Vw
dGlvbihuYW1lLCBmdW5jKSB7CisJdHJ5IHsKKwkJdmFyIHJlc3VsdCA9IGZ1bmMoKTsKKwkJYWRk
U3RyaW5nUmVzdWx0KHRlc3RuYW1lLCAiKioqKkZhaWx1cmUqKioqIChleHBlY3RlZCBleGNlcHRp
b24sIGluc3RlYWQgZ290IHJlc3VsdDogXCIiICsgcmVzdWx0ICsgIlwiKSIsICJmYWlsdXJlIik7
CisJfSBjYXRjaCAoZSkgeworCQkvLyBGSVhNRTogcHJvYmFibHkgc2hvdWxkIGNoZWNrIGV4Y2Vw
dGlvbiB0eXBlCisJCWFkZFN1Y2Nlc3NSZXN1bHQodGVzdG5hbWUpOworCX0KK30KKworZnVuY3Rp
b24gYWRkUmVzdWx0RXhwZWN0VmFsdWVXaGVuU2VyaWFsaXplZChuYW1lLCB2YWx1ZSwgZXhwZWN0
ZWRWYWx1ZSkgeworCXZhciBzZXJpYWxpemVkVmFsdWU7CisJaWYgKHZhbHVlKQorCQlzZXJpYWxp
emVkVmFsdWUgPSBzZXJpYWxpemVyLnNlcmlhbGl6ZVRvU3RyaW5nKHZhbHVlKTsKKwlpZiAoc2Vy
aWFsaXplZFZhbHVlID09IGV4cGVjdGVkVmFsdWUpCisJCWFkZFN1Y2Nlc3NSZXN1bHQobmFtZSk7
CisJZWxzZQorCQlhZGRGYWlsdXJlUmVzdWx0KG5hbWUsIGV4cGVjdGVkVmFsdWUsIHNlcmlhbGl6
ZWRWYWx1ZSk7Cit9CisKK2Z1bmN0aW9uIGFkZFJlc3VsdEV4cGVjdFZhbHVlKG5hbWUsIHZhbHVl
LCBleHBlY3RlZFZhbHVlKSB7CisJaWYgKHZhbHVlID09IGV4cGVjdGVkVmFsdWUpCisJCWFkZFN1
Y2Nlc3NSZXN1bHQobmFtZSk7CisJZWxzZQorCQlhZGRGYWlsdXJlUmVzdWx0KG5hbWUsIGV4cGVj
dGVkVmFsdWUsIHZhbHVlKTsKK30KKworZnVuY3Rpb24gZ2V0WE1MRG9jdW1lbnQobmFtZSkKK3sK
KwlyZXF1ZXN0ZXIub3BlbigiR0VUIiwgbmFtZSwgZmFsc2UpOworCXJlcXVlc3Rlci5zZW5kKG51
bGwpOworCXJldHVybiByZXF1ZXN0ZXIucmVzcG9uc2VYTUw7Cit9CisKK2Z1bmN0aW9uIGFkZFN0
cmluZ1Jlc3VsdChuYW1lLCByZXN1bHQsIGNzc0NsYXNzKQoreworCXRlc3RJZCsrOworCXZhciB0
ZXN0TnVtYmVyU3RyaW5nID0gIiIgKyBzZWN0aW9uSWQgKyAiLiIgKyB0ZXN0SWQKKwl2YXIgdGVz
dElkU3RyaW5nID0gImlkIiArIHRlc3ROdW1iZXJTdHJpbmc7CisJZG9jdW1lbnQud3JpdGVsbigi
PHNwYW4+IiArIHRlc3ROdW1iZXJTdHJpbmcgKyAiICIgKyBuYW1lICsgIjo8L3NwYW4+Iik7CisJ
ZG9jdW1lbnQud3JpdGVsbigiPHByZSBpZD1cIiIgKyB0ZXN0SWRTdHJpbmcgKyAiXCIgY2xhc3M9
XCIiICsgY3NzQ2xhc3MgKyAiXCI+QEBOTyBWQUxVRUBAPC9wcmU+Iik7CisJZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQodGVzdElkU3RyaW5nKS5maXJzdENoaWxkLm5vZGVWYWx1ZSA9IHJlc3VsdDsK
K30KKworZnVuY3Rpb24gYWRkRmFpbHVyZVJlc3VsdChuYW1lLCBleHBlY3RlZFZhbHVlLCBhY3R1
YWwpCit7CisJYWRkU3RyaW5nUmVzdWx0KG5hbWUsICIqKioqRmFpbHVyZSoqKiogKGV4cGVjdGVk
OiBcIiIgKyBleHBlY3RlZFZhbHVlICsgIlwiIGFjdHVhbDogXCIiICsgYWN0dWFsICsgIlwiKSIs
ICJmYWlsdXJlIik7Cit9CisKK2Z1bmN0aW9uIGFkZFN1Y2Nlc3NSZXN1bHQobmFtZSkKK3sKKwlh
ZGRTdHJpbmdSZXN1bHQobmFtZSwgIlN1Y2Nlc3MiLCAic3VjY2VzcyIpOworfQorCitmdW5jdGlv
biBhZGRYTUxSZXN1bHQobmFtZSwgcmVzdWx0KQoreworCXZhciBzdHI7CisJaWYgKHJlc3VsdCkK
KwkJc3RyID0gc2VyaWFsaXplci5zZXJpYWxpemVUb1N0cmluZyhyZXN1bHQpOworCWFkZFN0cmlu
Z1Jlc3VsdChuYW1lLCBzdHIpOworfQorCit2YXIgeG1sID0gZ2V0WE1MRG9jdW1lbnQoInhzbHQt
dGV4dC54bWwiKTsKK2FkZFhNTFJlc3VsdCgib3JpZ2luYWwgeG1sIiwgeG1sKTsKK3ZhciB4c2wx
ID0gZ2V0WE1MRG9jdW1lbnQoInhzbHQtdGV4dC54c2wiKTsKK2FkZFhNTFJlc3VsdCgieHNsMSIs
IHhzbDEpOwordmFyIHhzbDIgPSBnZXRYTUxEb2N1bWVudCgicmVzb3VyY2VzL3hzbHQtZW5jLnhz
bCIpOworYWRkWE1MUmVzdWx0KCJ4c2wyIiwgeHNsMik7CisKKworCisvLyAxLjAgdm9pZCBpbXBv
cnRTdHlsZXNoZWV0KGluIERPTU5vZGUgc3R5bGUpOworYWRkU2VjdGlvbkhlYWRlcigidm9pZCBp
bXBvcnRTdHlsZXNoZWV0KGluIERPTU5vZGUgc3R5bGUpIik7CisvLyAxLjEgSW1wb3J0IHR3byBk
aWZmZXJlbnQgc3R5bGVzaGVldHMgKGxhc3Qgb25lIHdpbnMpCisKK3Byb2Nlc3Nvci5pbXBvcnRT
dHlsZXNoZWV0KHhzbDEpOworcHJvY2Vzc29yLmltcG9ydFN0eWxlc2hlZXQoeHNsMik7Cit2YXIg
bmV3WE1MID0gcHJvY2Vzc29yLnRyYW5zZm9ybVRvRG9jdW1lbnQoeG1sKTsKK2FkZFhNTFJlc3Vs
dCgiSW1wb3J0IHR3byBkaWZmZXJlbnQgc3R5bGVzaGVldHMiLCBuZXdYTUwpOworCisvLyAxLjIg
SW1wb3J0IHNhbWUgc3R5bGVzaGVldCB0d2ljZQorCitwcm9jZXNzb3IucmVzZXQoKTsKK3Byb2Nl
c3Nvci5pbXBvcnRTdHlsZXNoZWV0KHhzbDEpOworcHJvY2Vzc29yLmltcG9ydFN0eWxlc2hlZXQo
eHNsMSk7CisKK3ZhciBuZXdYTUwgPSBwcm9jZXNzb3IudHJhbnNmb3JtVG9Eb2N1bWVudCh4bWwp
OworYWRkWE1MUmVzdWx0KCJJbXBvcnQgc2FtZSBzdHlsZXNoZWV0IHR3aWNlIiwgbmV3WE1MKTsK
KworLy8gMS4zIEltcG9ydCB1bmRlZmluZWQgc3R5bGVzaGVldAorCitwcm9jZXNzb3IucmVzZXQo
KTsKK3ZhciB0ZXN0bmFtZSA9ICJJbXBvcnQgdW5kZWZpbmVkIHN0eWxlc2hlZXQiOworYWRkUmVz
dWx0RXhwZWN0RXhjZXB0aW9uKHRlc3RuYW1lLCBmdW5jdGlvbiAoKSB7IHJldHVybiBwcm9jZXNz
b3IuaW1wb3J0U3R5bGVzaGVldCh1bmRlZmluZWQpOyB9ICk7CisKKy8vIDEuNCBJbXBvcnQgaW52
YWxpZCBzdHlsZXNoZWV0IChub3Qgd2VsbGZvcm1lZCB4bHN0KQorCitwcm9jZXNzb3IucmVzZXQo
KTsKK3ZhciB0ZXN0TmFtZSA9ICJJbXBvcnQgaW52YWxpZCBzdHlsZXNoZWV0IjsKK2FkZFJlc3Vs
dEV4cGVjdEV4Y2VwdGlvbih0ZXN0bmFtZSwgZnVuY3Rpb24gKCkgeyByZXR1cm4gcHJvY2Vzc29y
LmltcG9ydFN0eWxlc2hlZXQoeG1sKTsgfSApOworCisvLyAxLjUgRG9uJ3QgaW1wb3J0IHN0eWxl
c2hlZXQKKworcHJvY2Vzc29yLnJlc2V0KCk7Cit2YXIgbmV3WE1MID0gcHJvY2Vzc29yLnRyYW5z
Zm9ybVRvRG9jdW1lbnQoeG1sKTsKK2FkZFJlc3VsdEV4cGVjdFZhbHVlV2hlblNlcmlhbGl6ZWQo
IkRvbid0IGltcG9ydCBzdHlsZXNoZWV0IiwgbmV3WE1MLCB1bmRlZmluZWQpOworCisKKworLy8g
Mi4wIERPTURvY3VtZW50RnJhZ21lbnQgdHJhbnNmb3JtVG9GcmFnbWVudChpbiBET01Ob2RlIHNv
dXJjZSwgaW4gRE9NRG9jdW1lbnQgb3V0cHV0KTsKK2FkZFNlY3Rpb25IZWFkZXIoIkRPTURvY3Vt
ZW50RnJhZ21lbnQgdHJhbnNmb3JtVG9GcmFnbWVudChpbiBET01Ob2RlIHNvdXJjZSwgaW4gRE9N
RG9jdW1lbnQgb3V0cHV0KSIpOworLy8gMi4xIGZyYWdtZW50IHdpdGggdW5kZWZpbmVkIHNvdXJj
ZQorCitwcm9jZXNzb3IucmVzZXQoKTsKK3Byb2Nlc3Nvci5pbXBvcnRTdHlsZXNoZWV0KHhzbDEp
OwordmFyIG93bmVyRG9jdW1lbnQgPSBkb2N1bWVudC5pbXBsZW1lbnRhdGlvbi5jcmVhdGVEb2N1
bWVudCgiIiwgInRlc3QiLCBudWxsKTsKK3ZhciB0ZXN0bmFtZSA9ICJmcmFnbWVudCB3aXRoIHVu
ZGVmaW5lZCBzb3VyY2UiOworYWRkUmVzdWx0RXhwZWN0RXhjZXB0aW9uKHRlc3RuYW1lLCBmdW5j
dGlvbiAoKSB7IHJldHVybiBwcm9jZXNzb3IudHJhbnNmb3JtVG9GcmFnbWVudCh1bmRlZmluZWQs
IG93bmVyRG9jdW1lbnQpOyB9ICk7CisKKy8vIDIuMiBmcmFnbWVudCB3aXRoIHVuZGVmaW5lZCBv
dXRwdXQgZG9jdW1lbnQKKworb3duZXJEb2N1bWVudCA9IGRvY3VtZW50LmltcGxlbWVudGF0aW9u
LmNyZWF0ZURvY3VtZW50KCIiLCAidGVzdCIsIG51bGwpOworbmV3RnJhZ21lbnQgPSBwcm9jZXNz
b3IudHJhbnNmb3JtVG9GcmFnbWVudCh4bWwsIHVuZGVmaW5lZCk7CithZGRSZXN1bHRFeHBlY3RW
YWx1ZVdoZW5TZXJpYWxpemVkKCJmcmFnbWVudCB3aXRoIHVuZGVmaW5lZCBvdXRwdXQgZG9jdW1l
bnQiLCBuZXdGcmFnbWVudCwgdW5kZWZpbmVkKTsKKworLy8gMi4zIHVzZSBub24tRE9NRG9jdW1l
bnQgb3V0cHV0IHBhcmFtZXRlcgorCit2YXIgdGVzdG5hbWUgPSAidXNlIG5vbi1ET01Eb2N1bWVu
dCBvdXRwdXQgcGFyYW1ldGVyIjsKK2FkZFJlc3VsdEV4cGVjdEV4Y2VwdGlvbih0ZXN0bmFtZSwg
ZnVuY3Rpb24gKCkgeyByZXR1cm4gcHJvY2Vzc29yLnRyYW5zZm9ybVRvRnJhZ21lbnQoeG1sLCAi
ZXJyb3IiKTsgfSApOworCisvLyAyLjQgdHJhbnNmb3JtIHRvIHNhbWUgZnJhZ21lbnQgdHdpY2UK
Kworb3duZXJEb2N1bWVudCA9IGRvY3VtZW50LmltcGxlbWVudGF0aW9uLmNyZWF0ZURvY3VtZW50
KCIiLCAidGVzdCIsIG51bGwpOwordmFyIHNlY29uZERvY3VtZW50ID0gZG9jdW1lbnQuaW1wbGVt
ZW50YXRpb24uY3JlYXRlRG9jdW1lbnQoIiIsICJ0ZXN0IiwgbnVsbCk7CituZXdGcmFnbWVudCA9
IHByb2Nlc3Nvci50cmFuc2Zvcm1Ub0ZyYWdtZW50KHhtbCwgb3duZXJEb2N1bWVudCk7Cit2YXIg
c2Vjb25kRnJhZ21lbnQgPSBwcm9jZXNzb3IudHJhbnNmb3JtVG9GcmFnbWVudCh4bWwsIHNlY29u
ZERvY3VtZW50KTsKK2FkZFJlc3VsdEV4cGVjdFZhbHVlV2hlblNlcmlhbGl6ZWQoInRyYW5zZm9y
bSB0byBzYW1lIGZyYWdtZW50IHR3aWNlIiwgc2Vjb25kRnJhZ21lbnQsIHNlcmlhbGl6ZXIuc2Vy
aWFsaXplVG9TdHJpbmcobmV3RnJhZ21lbnQpKTsKKworCisvLyAyLjUgdHJhbnNmb3JtIHRvIHRl
eHQKKy8vIDIuNiBmcmFnbWVudCB1c2luZyBwYXNzZWQgcGFyYW1ldGVycwordmFyIHBhcmFtWFNM
ID0gZ2V0WE1MRG9jdW1lbnQoInJlc291cmNlcy94c2x0LXBhcmFtLnhzbCIpOwordmFyIHBhcmFt
WE1MID0gZ2V0WE1MRG9jdW1lbnQoInJlc291cmNlcy94c2x0LXBhcmFtLnhtbCIpOworCit2YXIg
cGFyYW1Qcm9jZXNzb3IgPSBuZXcgWFNMVFByb2Nlc3NvcjsKK3BhcmFtUHJvY2Vzc29yLmltcG9y
dFN0eWxlc2hlZXQocGFyYW1YU0wpOworcGFyYW1Qcm9jZXNzb3Iuc2V0UGFyYW1ldGVyKG51bGws
ICJwYXJhbSIsICJTVUNDRVNTIik7CisKK3ZhciBvd25lckRvY3VtZW50ID0gZG9jdW1lbnQuaW1w
bGVtZW50YXRpb24uY3JlYXRlRG9jdW1lbnQoIiIsICJ0ZXN0IiwgbnVsbCk7Cit2YXIgZnJhZ21l
bnQgPSBwYXJhbVByb2Nlc3Nvci50cmFuc2Zvcm1Ub0ZyYWdtZW50KHBhcmFtWE1MLCBvd25lckRv
Y3VtZW50KTsKK2FkZFJlc3VsdEV4cGVjdFZhbHVlV2hlblNlcmlhbGl6ZWQoInRyYW5zZm9ybWVk
IGZyYWdtZW50IGNvbnRhaW5pbmcgb25seSB0ZXh0IiwgZnJhZ21lbnQsICJTVUNDRVNTIik7Cith
ZGRSZXN1bHRFeHBlY3RWYWx1ZSgiZnJhZ21lbnQgdXNpbmcgcGFzc2VkIHBhcmFtZXRlcnMiLCBm
cmFnbWVudC5maXJzdENoaWxkLm5vZGVWYWx1ZSwgIlNVQ0NFU1MiKTsKKworCisKKy8vIDMuMCBE
T01Eb2N1bWVudCB0cmFuc2Zvcm1Ub0RvY3VtZW50KGluIERPTU5vZGUgc291cmNlKTsKK2FkZFNl
Y3Rpb25IZWFkZXIoIkRPTURvY3VtZW50IHRyYW5zZm9ybVRvRG9jdW1lbnQoaW4gRE9NTm9kZSBz
b3VyY2UpIik7CisKKy8vIDMuMSBkb2N1bWVudCBmcm9tIHVuZGVmaW5lZCBzb3VyY2UKKworcHJv
Y2Vzc29yLnJlc2V0KCk7Citwcm9jZXNzb3IuaW1wb3J0U3R5bGVzaGVldCh4c2wxKTsKK2FkZFJl
c3VsdEV4cGVjdEV4Y2VwdGlvbigiZG9jdW1lbnQgZnJvbSB1bmRlZmluZWQgc291cmNlIiwgZnVu
Y3Rpb24gKCkgeyByZXR1cm4gcHJvY2Vzc29yLnRyYW5zZm9ybVRvRG9jdW1lbnQodW5kZWZpbmVk
KTsgfSApOworCisvLyAzLjIgdHJhbnNmb3JtIHR3aWNlCisKK3Byb2Nlc3Nvci5yZXNldCgpOwor
cHJvY2Vzc29yLmltcG9ydFN0eWxlc2hlZXQoeHNsMSk7Cit2YXIgbmV3WE1MID0gcHJvY2Vzc29y
LnRyYW5zZm9ybVRvRG9jdW1lbnQoeG1sKTsKK3ZhciBuZXdlclhNTCA9IHByb2Nlc3Nvci50cmFu
c2Zvcm1Ub0RvY3VtZW50KHhtbCk7CithZGRSZXN1bHRFeHBlY3RWYWx1ZVdoZW5TZXJpYWxpemVk
KCJ0cmFuc2Zvcm0gdHdpY2UiLCBuZXdYTUwsIHNlcmlhbGl6ZXIuc2VyaWFsaXplVG9TdHJpbmco
bmV3ZXJYTUwpKTsKKworCisKKworLy8gNC4wIHZvaWQgc2V0UGFyYW1ldGVyKGluIERPTVN0cmlu
ZyBuYW1lc3BhY2VVUkksIGluIERPTVN0cmluZyBsb2NhbE5hbWUsIGluIFZhbHVlIHZhbHVlKTsK
K2FkZFNlY3Rpb25IZWFkZXIoInZvaWQgc2V0UGFyYW1ldGVyKGluIERPTVN0cmluZyBuYW1lc3Bh
Y2VVUkksIGluIERPTVN0cmluZyBsb2NhbE5hbWUsIGluIFZhbHVlIHZhbHVlKSIpOworcHJvY2Vz
c29yLnJlc2V0KCk7CisKKy8vIDQuMSBwYXNzIHNldFBhcmFtZXRlciBzYW1lIGxvY2FsbmFtZSwg
ZGlmZmVyZW50IG5hbWVzcGFjZXMKK3Byb2Nlc3Nvci5zZXRQYXJhbWV0ZXIoImZvbyIsICJmb28i
LCAiU3VjY2VzcyIpOworcHJvY2Vzc29yLnNldFBhcmFtZXRlcigiYmFyIiwgImZvbyIsICJGYWls
dXJlIik7Cit2YXIgdGVzdG5hbWUgPSAicGFzcyBzZXRQYXJhbWV0ZXIgc2FtZSBsb2NhbG5hbWUs
IGRpZmZlcmVudCBuYW1lc3BhY2VzIjsKK2FkZFJlc3VsdEV4cGVjdFZhbHVlKHRlc3RuYW1lLCBw
cm9jZXNzb3IuZ2V0UGFyYW1ldGVyKCJmb28iLCAiZm9vIiksICJTdWNjZXNzIik7CisKKy8vIDQu
MiBwYXNzIHVuZGVmaW5lZCBuYW1lc3BhY2UKKworcHJvY2Vzc29yLnNldFBhcmFtZXRlcih1bmRl
ZmluZWQsICJmb28iLCAiU3VjY2VzcyIpOworYWRkUmVzdWx0RXhwZWN0VmFsdWUoInBhc3MgdW5k
ZWZpbmVkIG5hbWVzcGFjZSIsIHByb2Nlc3Nvci5nZXRQYXJhbWV0ZXIodW5kZWZpbmVkLCAiZm9v
IiksICJTdWNjZXNzIik7CisKKy8vIDQuMyBwYXNzIHNldFBhcmFtZXRlciBhbiB1bmRlZmluZWQg
bmFtZQorCit2YXIgdGVzdG5hbWUgPSAicGFzcyBzZXRQYXJhbWV0ZXIgYW4gdW5kZWZpbmVkIG5h
bWUiOworYWRkUmVzdWx0RXhwZWN0RXhjZXB0aW9uKHRlc3RuYW1lLCBmdW5jdGlvbiAoKSB7IHJl
dHVybiBwcm9jZXNzb3Iuc2V0UGFyYW1ldGVyKHVuZGVmaW5lZCwgdW5kZWZpbmVkICwgIlN1Y2Nl
c3MiKTsgfSApOworCisvLyA0LjQgcGFzcyB1bmRlZmluZWQgdmFsdWUKKworcHJvY2Vzc29yLnNl
dFBhcmFtZXRlcih1bmRlZmluZWQsICJmb28iLCB1bmRlZmluZWQpOwordmFyIHRlc3RuYW1lID0g
InBhc3MgdW5kZWZpbmVkIHZhbHVlIjsKKworCisvLyA0LjUgcGFzcyB1bnN1cHBvcnRlZCB2YWx1
ZSB0byBzZXRQYXJhbWV0ZXIgKG9iamVjdCwgZm9yIGluc3RhbmNlPykKKwordmFyIHRlc3RuYW1l
ID0gInBhc3MgdW5zdXBwb3J0ZWQgdmFsdWUgdG8gc2V0UGFyYW1ldGVyIjsKK2FkZFJlc3VsdEV4
cGVjdEV4Y2VwdGlvbih0ZXN0bmFtZSwgZnVuY3Rpb24gKCkgeyByZXR1cm4gcHJvY2Vzc29yLnNl
dFBhcmFtZXRlcih1bmRlZmluZWQsICJpbnZhbGlkIiAsIG5ldyBBcnJheSgpKTsgfSApOworCisK
Ky8vIDUuMCBWYWx1ZSBnZXRQYXJhbWV0ZXIoaW4gRE9NU3RyaW5nIG5hbWVzcGFjZVVSSSwgaW4g
RE9NU3RyaW5nIGxvY2FsTmFtZSk7CithZGRTZWN0aW9uSGVhZGVyKCJWYWx1ZSBnZXRQYXJhbWV0
ZXIoaW4gRE9NU3RyaW5nIG5hbWVzcGFjZVVSSSwgaW4gRE9NU3RyaW5nIGxvY2FsTmFtZSkiKTsK
KworLy8gNS4xIHBhc3MgdW5kZWZpbmVkIG5hbWUKKwordmFyIHRlc3RuYW1lID0gInBhc3MgZ2V0
UGFyYW1ldGVyIGFuIHVuZGVmaW5lZCBuYW1lIjsKK2FkZFJlc3VsdEV4cGVjdEV4Y2VwdGlvbih0
ZXN0bmFtZSwgZnVuY3Rpb24gKCkgeyByZXR1cm4gcHJvY2Vzc29yLmdldFBhcmFtZXRlcih1bmRl
ZmluZWQsIHVuZGVmaW5lZCk7IH0gKTsKKworLy8gNS4yIHBhc3MgZ2V0UGFyYW1ldGVyIGEgbmFt
ZSB3aGljaCBoYXMgbm90IGJlZW4gc2V0CisKK3ZhciB0ZXN0bmFtZSA9ICJwYXNzIGdldFBhcmFt
ZXRlciBhIG5hbWUgd2hpY2ggaGFzIG5vdCBiZWVuIHNldCI7CithZGRSZXN1bHRFeHBlY3RWYWx1
ZSh0ZXN0bmFtZSwgcHJvY2Vzc29yLmdldFBhcmFtZXRlcih1bmRlZmluZWQsICJoYXNub3RiZWVu
c2V0IiksIHVuZGVmaW5lZCk7CisKKy8vIDUuMyB2ZXJpZnkgZ2V0UGFyYW1ldGVyIGFjdHVhbGx5
IGdldHMgKGFuZCBzZXQgc2V0cykKK3Byb2Nlc3Nvci5zZXRQYXJhbWV0ZXIobnVsbCwgInRlc3Qi
LCAidGVzdFZhbHVlIik7Cit2YXIgdGVzdG5hbWUgPSAidmVyaWZ5IGdldFBhcmFtZXRlciBhY3R1
YWxseSBnZXRzIChhbmQgc2V0IHNldHMpIjsKK2FkZFJlc3VsdEV4cGVjdFZhbHVlKHRlc3RuYW1l
LCBwcm9jZXNzb3IuZ2V0UGFyYW1ldGVyKG51bGwsICJ0ZXN0IiksICJ0ZXN0VmFsdWUiKTsKKwor
CisKKy8vIDYuMCB2b2lkIHJlbW92ZVBhcmFtZXRlcihpbiBET01TdHJpbmcgbmFtZXNwYWNlVVJJ
LCBpbiBET01TdHJpbmcgbG9jYWxOYW1lKTsKK2FkZFNlY3Rpb25IZWFkZXIoInZvaWQgcmVtb3Zl
UGFyYW1ldGVyKGluIERPTVN0cmluZyBuYW1lc3BhY2VVUkksIGluIERPTVN0cmluZyBsb2NhbE5h
bWUpIik7CisvLyA2LjEgcGFzcyByZW1vdmVQYXJhbWV0ZXIgc2FtZSBsb2NhbG5hbWUsIGRpZmZl
cmVudCBuYW1lc3BhY2VzCisKK3Byb2Nlc3Nvci5zZXRQYXJhbWV0ZXIoImZvbyIsICJmb28iLCAi
U3VjY2VzcyIpOworcHJvY2Vzc29yLnNldFBhcmFtZXRlcigiYmFyIiwgImZvbyIsICJGYWlsdXJl
Iik7Cit2YXIgdGVzdG5hbWUgPSAicGFzcyByZW1vdmVQYXJhbWV0ZXIgc2FtZSBsb2NhbG5hbWUs
IGRpZmZlcmVudCBuYW1lc3BhY2VzIjsKK2FkZFJlc3VsdEV4cGVjdFZhbHVlKHRlc3RuYW1lLCBw
cm9jZXNzb3IuZ2V0UGFyYW1ldGVyKCJmb28iLCAiZm9vIiksICJTdWNjZXNzIik7CisKKy8vIDYu
MiBwYXNzIHVuZGVmaW5lZCBuYW1lc3BhY2UKKworcHJvY2Vzc29yLnNldFBhcmFtZXRlcih1bmRl
ZmluZWQsICJ0ZXN0IiwgInRlc3RWYWx1ZSIpOworcHJvY2Vzc29yLnJlbW92ZVBhcmFtZXRlcih1
bmRlZmluZWQsICJ0ZXN0Iik7Cit2YXIgdGVzdG5hbWUgPSAidmVyaWZ5IHJlbW92ZVBhcmFtZXRl
ciBhY3R1YWxseSByZW1vdmVzIHVzaW5nIHVuZGVmaW5lZCBuYW1lc3BhY2UiOwkKK2FkZFJlc3Vs
dEV4cGVjdFZhbHVlKHRlc3RuYW1lLCBwcm9jZXNzb3IuZ2V0UGFyYW1ldGVyKG51bGwsICJ0ZXN0
IiksIHVuZGVmaW5lZCk7CisKKy8vIDYuMyBwYXNzIHJlbW92ZVBhcmFtZXRlciB1bmRlZmluZWQg
bmFtZQorCitwcm9jZXNzb3Iuc2V0UGFyYW1ldGVyKHVuZGVmaW5lZCwgInVuZGVmaW5lZCIsICJT
dWNjZXNzIik7Citwcm9jZXNzb3IucmVtb3ZlUGFyYW1ldGVyKHVuZGVmaW5lZCwgdW5kZWZpbmVk
KTsKK3ZhciB0ZXN0bmFtZSA9ICJwYXNzIHJlbW92ZVBhcmFtZXRlciB1bmRlZmluZWQgbmFtZSI7
CithZGRSZXN1bHRFeHBlY3RWYWx1ZSh0ZXN0bmFtZSwgcHJvY2Vzc29yLmdldFBhcmFtZXRlcih1
bmRlZmluZWQsICJ1bmRlZmluZWQiKSwgIlN1Y2Nlc3MiKTsKKworLy8gNi40IHBhc3MgcmVtb3Zl
UGFyYW1ldGVyIGEgbmFtZSB3aGljaCBoYXMgbm90IGJlZW4gc2V0CisKK3Byb2Nlc3Nvci5yZW1v
dmVQYXJhbWV0ZXIodW5kZWZpbmVkLCAibmV2ZXJiZWVuc2V0Zm9ycmVtb3ZlIik7CithZGRSZXN1
bHRFeHBlY3RWYWx1ZSgicGFzcyByZW1vdmVQYXJhbWV0ZXIgYSBuYW1lIHdoaWNoIGhhcyBub3Qg
YmVlbiBzZXQiLCAiU3VjY2VzcyIsICJTdWNjZXNzIik7CisKKy8vIDYuNSB2ZXJpZnkgcmVtb3Zl
UGFyYW1ldGVyIGFjdHVhbGx5IHJlbW92ZXMKK3Byb2Nlc3Nvci5zZXRQYXJhbWV0ZXIobnVsbCwg
InRlc3QiLCAidGVzdFZhbHVlIik7Citwcm9jZXNzb3IucmVtb3ZlUGFyYW1ldGVyKG51bGwsICJ0
ZXN0Iik7Cit2YXIgdGVzdG5hbWUgPSAidmVyaWZ5IHJlbW92ZVBhcmFtZXRlciBhY3R1YWxseSBy
ZW1vdmVzIjsKK2FkZFJlc3VsdEV4cGVjdFZhbHVlKHRlc3RuYW1lLCBwcm9jZXNzb3IuZ2V0UGFy
YW1ldGVyKG51bGwsICJ0ZXN0IiksIHVuZGVmaW5lZCk7CisKKworCisvLyA3LjAgdm9pZCBjbGVh
clBhcmFtZXRlcnMoKTsKK2FkZFNlY3Rpb25IZWFkZXIoInZvaWQgY2xlYXJQYXJhbWV0ZXJzKCki
KTsKKworLy8gNy4xIGNhbGwsIHZlcmlmeSB0aGF0IHBhcmFtZXRlcnMgaGF2ZSBiZWVuIGNsZWFy
ZWQKK3Byb2Nlc3Nvci5zZXRQYXJhbWV0ZXIobnVsbCwgInRlc3QiLCAidGVzdFZhbHVlIik7Citw
cm9jZXNzb3IuY2xlYXJQYXJhbWV0ZXJzKCk7Cit2YXIgdGVzdG5hbWUgPSAidmVyaWZ5IHRoYXQg
Y2xlYXJQYXJhbWV0ZXJzIGRvZXMiOworYWRkUmVzdWx0RXhwZWN0VmFsdWUodGVzdG5hbWUsIHBy
b2Nlc3Nvci5nZXRQYXJhbWV0ZXIobnVsbCwgInRlc3QiKSwgdW5kZWZpbmVkKTsKKworCisvLyA4
LjAgdm9pZCByZXNldCgpOworYWRkU2VjdGlvbkhlYWRlcigidm9pZCByZXNldCgpIik7Citwcm9j
ZXNzb3IgPSBuZXcgWFNMVFByb2Nlc3NvcigpOworcHJvY2Vzc29yLmltcG9ydFN0eWxlc2hlZXQo
eHNsMSk7Citwcm9jZXNzb3Iuc2V0UGFyYW1ldGVyKG51bGwsICJ0ZXN0IiwgInRlc3RWYWx1ZSIp
OworcHJvY2Vzc29yLnJlc2V0KCk7CisKKy8vIDguMSBjYWxsLCB2ZXJpZnkgdGhhdCBwYXJhbWV0
ZXJzIGFyZSBjbGVhcmVkIGFmdGVyIHJlc2V0KCkKK3ZhciB0ZXN0bmFtZSA9ICJ2ZXJpZnkgdGhh
dCBwYXJhbWV0ZXJzIGhhdmUgYmVlbiBjbGVhcmVkIjsKK2FkZFJlc3VsdEV4cGVjdFZhbHVlKHRl
c3RuYW1lLCBwcm9jZXNzb3IuZ2V0UGFyYW1ldGVyKG51bGwsICJ0ZXN0IiksIHVuZGVmaW5lZCk7
CisKKy8vIDguMiBjYWxsLCB2ZXJpZnkgdGhhdCBzdHlsZXNoZWV0IGhhcyBiZWVuIGNsZWFyZWQg
YWZ0ZXIgcmVzZXQoKQordmFyIHRlc3RuYW1lID0gInZlcmlmeSB0aGF0IHN0eWxlc2hlZXQgaGFz
IGJlZW4gY2xlYXJlZCI7Cit2YXIgcmVzdWx0RG9jdW1lbnQgPSBwcm9jZXNzb3IudHJhbnNmb3Jt
VG9Eb2N1bWVudCh4bWwpOworYWRkUmVzdWx0RXhwZWN0VmFsdWVXaGVuU2VyaWFsaXplZCh0ZXN0
bmFtZSwgcmVzdWx0RG9jdW1lbnQsIHVuZGVmaW5lZCk7CisKKzwvc2NyaXB0PgorCis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo=
</data>
<flag name="review"
          id="5310"
          type_id="1"
          status="+"
          setter="zimmermann"
    />
          </attachment>
      

    </bug>

</bugzilla>