<?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>64605</bug_id>
          
          <creation_ts>2011-07-15 10:58:22 -0700</creation_ts>
          <short_desc>Move expectation parsing code to TestExpectationsParser.</short_desc>
          <delta_ts>2011-07-15 12:34:01 -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>Tools / Tests</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>
          <dependson>64602</dependson>
          <blocked>64385</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dimitri Glazkov (Google)">dglazkov</reporter>
          <assigned_to name="Dimitri Glazkov (Google)">dglazkov</assigned_to>
          <cc>abarth</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>437829</commentid>
    <comment_count>0</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-07-15 10:58:22 -0700</bug_when>
    <thetext>Move expectation parsing code to TestExpectationsParser.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>437835</commentid>
    <comment_count>1</comment_count>
      <attachid>101004</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-07-15 11:08:22 -0700</bug_when>
    <thetext>Created attachment 101004
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>437885</commentid>
    <comment_count>2</comment_count>
      <attachid>101004</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-07-15 12:06:12 -0700</bug_when>
    <thetext>Comment on attachment 101004
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=101004&amp;action=review

&gt; Tools/Scripts/webkitpy/layout_tests/models/test_expectations.py:208
&gt; +        has_wontfix = &apos;wontfix&apos; in expectation.modifiers

Ojan would tell you to make &apos;wontfix&apos; a string constant instead of a string literal.

&gt; Tools/Scripts/webkitpy/layout_tests/models/test_expectations.py:210
&gt; +        for opt in expectation.modifiers:

opt =&gt; option or modifier ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>437909</commentid>
    <comment_count>3</comment_count>
      <attachid>101004</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-07-15 12:33:22 -0700</bug_when>
    <thetext>Comment on attachment 101004
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=101004&amp;action=review

&gt;&gt; Tools/Scripts/webkitpy/layout_tests/models/test_expectations.py:208
&gt;&gt; +        has_wontfix = &apos;wontfix&apos; in expectation.modifiers
&gt; 
&gt; Ojan would tell you to make &apos;wontfix&apos; a string constant instead of a string literal.

Yeah, I need to do a quick code bath to remove all these.

&gt;&gt; Tools/Scripts/webkitpy/layout_tests/models/test_expectations.py:210
&gt;&gt; +        for opt in expectation.modifiers:
&gt; 
&gt; opt =&gt; option or modifier ?

ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>437910</commentid>
    <comment_count>4</comment_count>
      <attachid>101004</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-07-15 12:33:56 -0700</bug_when>
    <thetext>Comment on attachment 101004
Patch

Clearing flags on attachment: 101004

Committed r91092: &lt;http://trac.webkit.org/changeset/91092&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>437911</commentid>
    <comment_count>5</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-07-15 12:34:01 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>101004</attachid>
            <date>2011-07-15 11:08:22 -0700</date>
            <delta_ts>2011-07-15 12:33:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-64605-20110715110821.patch</filename>
            <type>text/plain</type>
            <size>25890</size>
            <attacher name="Dimitri Glazkov (Google)">dglazkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTEwNzMKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCBhOTRhYjRkZDYwODhkY2I4MGE0Mzk0ZTlhODE3ZWFhYjA3
M2QzODVjLi4yMDgzNjY5ZWE1NGYzMGZiYjgxMWRmZDlhYzk5ODc2OGE3N2JkMTFhIDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMjUg
QEAKIDIwMTEtMDctMTUgIERpbWl0cmkgR2xhemtvdiAgPGRnbGF6a292QGNocm9taXVtLm9yZz4K
IAorICAgICAgICBNb3ZlIGV4cGVjdGF0aW9uIHBhcnNpbmcgY29kZSB0byBUZXN0RXhwZWN0YXRp
b25QYXJzZXIuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD02NDYwNQorCisgICAgICAgIFRoaXMgaXMgYSBzb21ld2hhdCBtZWNoYW5pY2FsIG1vdmUsIHdp
dGggdHdvIGludGVyZXN0aW5nIGJpdHM6CisgICAgICAgIAorICAgICAgICAxKSBUZXN0RXhwZWN0
YXRpb25QYXJzZXIucGFyc2UgbWV0aG9kcyByZW5hbWVkIHRvIHRva2VuaXplLCB0byBiZXR0ZXIK
KyAgICAgICAgcmVmbGVjdCB3aGF0IHRoZXkgZG8KKworICAgICAgICAyKSBUZXN0RXhwZWN0YXRp
b25MaW5lIG5vdyBjYXJyaWVzIGFsbCBvZiBpdHMgaW5mbywgZnJvbSB0b2tlbnMgdG8gcGFyc2Vk
IGRhdGEsCisgICAgICAgIGFuZCBldmVuIHRoZSBsaXN0IG9mIHRlc3RzIHRoYXQgaXQgbWF0Y2hl
cyAoYSBsaW5lIG1heSByZWZlciB0byBtb3JlIHRoYW4gb25lIHRlc3QpLgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9s
YXlvdXRfdGVzdHMvbW9kZWxzL3Rlc3RfZXhwZWN0YXRpb25zLnB5OiBNb3ZlZCBwYXJzaW5nLXJl
bGF0ZWQgVGVzdEV4cGVjdGFpb25zIG1ldGhvZHMKKyAgICAgICAgICAgIHRvIFRlc3RFeHBlY3Rh
dGlvblBhcnNlciwgYWRkZWQgbW9yZSBtZW1iZXJzIHRvIFRlc3RFeHBlY3RhdGlvbkxpbmUgdG8g
Y2FycnkgcGFyc2VkIGluZm8sIHJlbmFtZWQgZXhpc3RpbmcgcGFyc2UgbWV0aG9kcworICAgICAg
ICAgICAgdG8gInRva2VuaXplIiwgY2hhbmdlZCBjYWxsc2l0ZXMgdG8gdXNlIG5ldyBjb2RlLgor
ICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL21vZGVscy90ZXN0X2V4cGVj
dGF0aW9uc191bml0dGVzdC5weTogQ2hhbmdlZCB1bml0IHRlc3RzIHRvIHJlZmxlY3QgcmVuYW1l
cy4KKworMjAxMS0wNy0xNSAgRGltaXRyaSBHbGF6a292ICA8ZGdsYXprb3ZAY2hyb21pdW0ub3Jn
PgorCiAgICAgICAgIFN3aXRjaCB0byB1c2UgUHl0aG9uIGVudW1lcmF0ZSBmdW5jdGlvbiB0byBl
bnVtZXJhdGUgbGluZSBudW1iZXJzLgogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NjQ2MDIKIApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9sYXlvdXRfdGVzdHMvbW9kZWxzL3Rlc3RfZXhwZWN0YXRpb25zLnB5IGIvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbW9kZWxzL3Rlc3RfZXhwZWN0YXRpb25zLnB5CmluZGV4
IDJkZDFkYWEzNGRhN2U3OWY3MmU0NjgwMjI4OGJkYmQxZTFmMWYzNTQuLmY1MzZiOTA2YzlkZmYx
M2MzOGEwNGJiYzExY2U5NTI0YTljOTMzNDIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvbGF5b3V0X3Rlc3RzL21vZGVscy90ZXN0X2V4cGVjdGF0aW9ucy5weQorKysgYi9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9tb2RlbHMvdGVzdF9leHBlY3RhdGlvbnMu
cHkKQEAgLTE2NSwxMiArMTY1LDEwNCBAQCBjbGFzcyBUZXN0RXhwZWN0YXRpb25TZXJpYWxpemVy
OgogY2xhc3MgVGVzdEV4cGVjdGF0aW9uUGFyc2VyOgogICAgICIiIlByb3ZpZGVzIHBhcnNpbmcg
ZmFjaWxpdGllcyBmb3IgbGluZXMgaW4gdGhlIHRlc3RfZXhwZWN0YXRpb24udHh0IGZpbGUuIiIi
CiAKKyAgICBkZWYgX19pbml0X18oc2VsZiwgcG9ydCwgdGVzdF9jb25maWcsIGZ1bGxfdGVzdF9s
aXN0LCBhbGxvd19yZWJhc2VsaW5lX21vZGlmaWVyKToKKyAgICAgICAgc2VsZi5fcG9ydCA9IHBv
cnQKKyAgICAgICAgc2VsZi5fbWF0Y2hlciA9IE1vZGlmaWVyTWF0Y2hlcih0ZXN0X2NvbmZpZykK
KyAgICAgICAgc2VsZi5fZnVsbF90ZXN0X2xpc3QgPSBmdWxsX3Rlc3RfbGlzdAorICAgICAgICBz
ZWxmLl9hbGxvd19yZWJhc2VsaW5lX21vZGlmaWVyID0gYWxsb3dfcmViYXNlbGluZV9tb2RpZmll
cgorCisgICAgZGVmIHBhcnNlKHNlbGYsIGV4cGVjdGF0aW9uKToKKyAgICAgICAgZXhwZWN0YXRp
b24ubnVtX21hdGNoZXMgPSBzZWxmLl9jaGVja19vcHRpb25zKHNlbGYuX21hdGNoZXIsIGV4cGVj
dGF0aW9uKQorICAgICAgICBpZiBleHBlY3RhdGlvbi5udW1fbWF0Y2hlcyA9PSBNb2RpZmllck1h
dGNoZXIuTk9fTUFUQ0g6CisgICAgICAgICAgICByZXR1cm4KKworICAgICAgICBzZWxmLl9jaGVj
a19vcHRpb25zX2FnYWluc3RfZXhwZWN0YXRpb25zKGV4cGVjdGF0aW9uKQorCisgICAgICAgIGlm
IHNlbGYuX2NoZWNrX3BhdGhfZG9lc19ub3RfZXhpc3QoZXhwZWN0YXRpb24pOgorICAgICAgICAg
ICAgcmV0dXJuCisKKyAgICAgICAgaWYgbm90IHNlbGYuX2Z1bGxfdGVzdF9saXN0OgorICAgICAg
ICAgICAgZXhwZWN0YXRpb24ubWF0Y2hpbmdfdGVzdHMgPSBbZXhwZWN0YXRpb24ubmFtZV0KKyAg
ICAgICAgZWxzZToKKyAgICAgICAgICAgIGV4cGVjdGF0aW9uLm1hdGNoaW5nX3Rlc3RzID0gc2Vs
Zi5fY29sbGVjdF9tYXRjaGluZ190ZXN0cyhleHBlY3RhdGlvbi5uYW1lKQorCisgICAgICAgIGV4
cGVjdGF0aW9uLnBhcnNlZF9tb2RpZmllcnMgPSBbbW9kaWZpZXIgZm9yIG1vZGlmaWVyIGluIGV4
cGVjdGF0aW9uLm1vZGlmaWVycyBpZiBtb2RpZmllciBpbiBUZXN0RXhwZWN0YXRpb25zLk1PRElG
SUVSU10KKyAgICAgICAgc2VsZi5fcGFyc2VfZXhwZWN0YXRpb25zKGV4cGVjdGF0aW9uKQorCisg
ICAgZGVmIF9wYXJzZV9leHBlY3RhdGlvbnMoc2VsZiwgZXhwZWN0YXRpb25fbGluZSk6CisgICAg
ICAgIHJlc3VsdCA9IHNldCgpCisgICAgICAgIGZvciBwYXJ0IGluIGV4cGVjdGF0aW9uX2xpbmUu
ZXhwZWN0YXRpb25zOgorICAgICAgICAgICAgZXhwZWN0YXRpb24gPSBUZXN0RXhwZWN0YXRpb25z
LmV4cGVjdGF0aW9uX2Zyb21fc3RyaW5nKHBhcnQpCisgICAgICAgICAgICBpZiBleHBlY3RhdGlv
biBpcyBOb25lOiAgIyBDYXJlZnVsLCBQQVNTIGlzIGN1cnJlbnRseSAwLgorICAgICAgICAgICAg
ICAgIGV4cGVjdGF0aW9uX2xpbmUuZXJyb3JzLmFwcGVuZCgnVW5zdXBwb3J0ZWQgZXhwZWN0YXRp
b246ICVzJyAlIHBhcnQpCisgICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgICAgIHJl
c3VsdC5hZGQoZXhwZWN0YXRpb24pCisgICAgICAgIGV4cGVjdGF0aW9uX2xpbmUucGFyc2VkX2V4
cGVjdGF0aW9ucyA9IHJlc3VsdAorCisgICAgZGVmIF9jaGVja19vcHRpb25zKHNlbGYsIG1hdGNo
ZXIsIGV4cGVjdGF0aW9uKToKKyAgICAgICAgbWF0Y2hfcmVzdWx0ID0gbWF0Y2hlci5tYXRjaChl
eHBlY3RhdGlvbikKKyAgICAgICAgc2VsZi5fY2hlY2tfc2VtYW50aWNzKGV4cGVjdGF0aW9uKQor
ICAgICAgICByZXR1cm4gbWF0Y2hfcmVzdWx0Lm51bV9tYXRjaGVzCisKKyAgICBkZWYgX2NoZWNr
X3NlbWFudGljcyhzZWxmLCBleHBlY3RhdGlvbik6CisgICAgICAgIGhhc193b250Zml4ID0gJ3dv
bnRmaXgnIGluIGV4cGVjdGF0aW9uLm1vZGlmaWVycworICAgICAgICBoYXNfYnVnID0gRmFsc2UK
KyAgICAgICAgZm9yIG9wdCBpbiBleHBlY3RhdGlvbi5tb2RpZmllcnM6CisgICAgICAgICAgICBp
ZiBvcHQuc3RhcnRzd2l0aCgnYnVnJyk6CisgICAgICAgICAgICAgICAgaGFzX2J1ZyA9IFRydWUK
KyAgICAgICAgICAgICAgICBpZiByZS5tYXRjaCgnYnVnXGQrJywgb3B0KToKKyAgICAgICAgICAg
ICAgICAgICAgZXhwZWN0YXRpb24uZXJyb3JzLmFwcGVuZCgnQlVHXGQrIGlzIG5vdCBhbGxvd2Vk
LCBtdXN0IGJlIG9uZSBvZiBCVUdDUlxkKywgQlVHV0tcZCssIEJVR1Y4X1xkKywgb3IgYSBub24t
bnVtZXJpYyBidWcgaWRlbnRpZmllci4nKQorCisgICAgICAgIGlmIG5vdCBoYXNfYnVnIGFuZCBu
b3QgaGFzX3dvbnRmaXg6CisgICAgICAgICAgICBleHBlY3RhdGlvbi53YXJuaW5ncy5hcHBlbmQo
J1Rlc3QgbGFja3MgQlVHIG1vZGlmaWVyLicpCisKKyAgICAgICAgaWYgc2VsZi5fYWxsb3dfcmVi
YXNlbGluZV9tb2RpZmllciBhbmQgJ3JlYmFzZWxpbmUnIGluIGV4cGVjdGF0aW9uLm1vZGlmaWVy
czoKKyAgICAgICAgICAgIGV4cGVjdGF0aW9uLmVycm9ycy5hcHBlbmQoJ1JFQkFTRUxJTkUgc2hv
dWxkIG9ubHkgYmUgdXNlZCBmb3IgcnVubmluZyByZWJhc2VsaW5lLnB5LiBDYW5ub3QgYmUgY2hl
Y2tlZCBpbi4nKQorCisgICAgZGVmIF9jaGVja19vcHRpb25zX2FnYWluc3RfZXhwZWN0YXRpb25z
KHNlbGYsIGV4cGVjdGF0aW9uKToKKyAgICAgICAgaWYgJ3Nsb3cnIGluIGV4cGVjdGF0aW9uLm1v
ZGlmaWVycyBhbmQgJ3RpbWVvdXQnIGluIGV4cGVjdGF0aW9uLmV4cGVjdGF0aW9uczoKKyAgICAg
ICAgICAgIGV4cGVjdGF0aW9uLmVycm9ycy5hcHBlbmQoJ0EgdGVzdCBjYW4gbm90IGJlIGJvdGgg
U0xPVyBhbmQgVElNRU9VVC4gSWYgaXQgdGltZXMgb3V0IGluZGVmaW5pdGVseSwgdGhlbiBpdCBz
aG91bGQgYmUganVzdCBUSU1FT1VULicpCisKKyAgICBkZWYgX2NoZWNrX3BhdGhfZG9lc19ub3Rf
ZXhpc3Qoc2VsZiwgZXhwZWN0YXRpb24pOgorICAgICAgICAjIFdlYktpdCdzIHdheSBvZiBza2lw
cGluZyB0ZXN0cyBpcyB0byBhZGQgYSAtZGlzYWJsZWQgc3VmZml4LgorICAgICAgICAjIFNvIHdl
IHNob3VsZCBjb25zaWRlciB0aGUgcGF0aCBleGlzdGluZyBpZiB0aGUgcGF0aCBvciB0aGUKKyAg
ICAgICAgIyAtZGlzYWJsZWQgdmVyc2lvbiBleGlzdHMuCisgICAgICAgIGlmIChub3Qgc2VsZi5f
cG9ydC50ZXN0X2V4aXN0cyhleHBlY3RhdGlvbi5uYW1lKQorICAgICAgICAgICAgYW5kIG5vdCBz
ZWxmLl9wb3J0LnRlc3RfZXhpc3RzKGV4cGVjdGF0aW9uLm5hbWUgKyAnLWRpc2FibGVkJykpOgor
ICAgICAgICAgICAgIyBMb2cgYSB3YXJuaW5nIGhlcmUgc2luY2UgeW91IGhpdCB0aGlzIGNhc2Ug
YW55CisgICAgICAgICAgICAjIHRpbWUgeW91IHVwZGF0ZSB0ZXN0X2V4cGVjdGF0aW9ucy50eHQg
d2l0aG91dCBzeW5jaW5nCisgICAgICAgICAgICAjIHRoZSBMYXlvdXRUZXN0cyBkaXJlY3RvcnkK
KyAgICAgICAgICAgIGV4cGVjdGF0aW9uLndhcm5pbmdzLmFwcGVuZCgnUGF0aCBkb2VzIG5vdCBl
eGlzdC4nKQorICAgICAgICAgICAgcmV0dXJuIFRydWUKKyAgICAgICAgcmV0dXJuIEZhbHNlCisK
KyAgICBkZWYgX2NvbGxlY3RfbWF0Y2hpbmdfdGVzdHMoc2VsZiwgdGVzdF9saXN0X3BhdGgpOgor
ICAgICAgICAiIiJDb252ZXJ0IHRoZSB0ZXN0IHNwZWNpZmljYXRpb24gdG8gYW4gYWJzb2x1dGUs
IG5vcm1hbGl6ZWQKKyAgICAgICAgcGF0aCBhbmQgbWFrZSBzdXJlIGRpcmVjdG9yaWVzIGVuZCB3
aXRoIHRoZSBPUyBwYXRoIHNlcGFyYXRvci4iIiIKKyAgICAgICAgIyBGSVhNRTogZnVsbF90ZXN0
X2xpc3QgY2FuIHF1aWNrbHkgY29udGFpbiBhIGJpZyBhbW91bnQgb2YKKyAgICAgICAgIyBlbGVt
ZW50cy4gV2Ugc2hvdWxkIGNvbnNpZGVyIGF0IHNvbWUgcG9pbnQgdG8gdXNlIGEgbW9yZQorICAg
ICAgICAjIGVmZmljaWVudCBzdHJ1Y3R1cmUgaW5zdGVhZCBvZiBhIGxpc3QuIE1heWJlIGEgZGlj
dGlvbmFyeSBvZgorICAgICAgICAjIGxpc3RzIHRvIHJlcHJlc2VudCB0aGUgdHJlZSBvZiB0ZXN0
cywgbGVhdmVzIGJlaW5nIHRlc3QKKyAgICAgICAgIyBmaWxlcyBhbmQgbm9kZXMgYmVpbmcgY2F0
ZWdvcmllcy4KKworICAgICAgICBpZiBzZWxmLl9wb3J0LnRlc3RfaXNkaXIodGVzdF9saXN0X3Bh
dGgpOgorICAgICAgICAgICAgIyB0aGlzIGlzIGEgdGVzdCBjYXRlZ29yeSwgcmV0dXJuIGFsbCB0
aGUgdGVzdHMgb2YgdGhlIGNhdGVnb3J5LgorICAgICAgICAgICAgdGVzdF9saXN0X3BhdGggPSBz
ZWxmLl9wb3J0Lm5vcm1hbGl6ZV90ZXN0X25hbWUodGVzdF9saXN0X3BhdGgpCisKKyAgICAgICAg
ICAgIHJldHVybiBbdGVzdCBmb3IgdGVzdCBpbiBzZWxmLl9mdWxsX3Rlc3RfbGlzdCBpZiB0ZXN0
LnN0YXJ0c3dpdGgodGVzdF9saXN0X3BhdGgpXQorCisgICAgICAgICMgdGhpcyBpcyBhIHRlc3Qg
ZmlsZSwgZG8gYSBxdWljayBjaGVjayBpZiBpdCdzIGluIHRoZQorICAgICAgICAjIGZ1bGwgdGVz
dCBzdWl0ZS4KKyAgICAgICAgcmVzdWx0ID0gW10KKyAgICAgICAgaWYgdGVzdF9saXN0X3BhdGgg
aW4gc2VsZi5fZnVsbF90ZXN0X2xpc3Q6CisgICAgICAgICAgICByZXN1bHQgPSBbdGVzdF9saXN0
X3BhdGgsIF0KKyAgICAgICAgcmV0dXJuIHJlc3VsdAorCiAgICAgQGNsYXNzbWV0aG9kCi0gICAg
ZGVmIHBhcnNlKGNscywgZXhwZWN0YXRpb25fc3RyaW5nKToKLSAgICAgICAgIiIiUGFyc2VzIGEg
bGluZSBmcm9tIHRlc3RfZXhwZWN0YXRpb25zLnR4dCBhbmQgcmV0dXJucyBhIHR1cGxlLCBjb250
YWluaW5nIGEgVGVzdEV4cGVjdGF0aW9uTGluZSBpbnN0YW5jZQotICAgICAgICBhbmQgYSBsaXN0
IHN5bnRheCBlcnJvcywgaWYgYW55LgorICAgIGRlZiB0b2tlbml6ZShjbHMsIGV4cGVjdGF0aW9u
X3N0cmluZyk6CisgICAgICAgICIiIlRva2VuaXplcyBhIGxpbmUgZnJvbSB0ZXN0X2V4cGVjdGF0
aW9ucy50eHQgYW5kIHJldHVybnMgYW4gdW5wYXJzZWQgVGVzdEV4cGVjdGF0aW9uTGluZSBpbnN0
YW5jZS4KIAotICAgICAgICBUaGUgZm9ybWF0IG9mIHRlc3QgZXhwZWN0YXRpb24gaXM6CisgICAg
ICAgIFRoZSBmb3JtYXQgb2YgYSB0ZXN0IGV4cGVjdGF0aW9uIGxpbmUgaXM6CiAKICAgICAgICAg
W1s8bW9kaWZpZXJzPl0gOiA8bmFtZT4gPSA8ZXhwZWN0YXRpb25zPl1bIC8vPGNvbW1lbnQ+XQog
CkBAIC0yMDYsMTEgKzI5OCwxMSBAQCBjbGFzcyBUZXN0RXhwZWN0YXRpb25QYXJzZXI6CiAgICAg
ICAgIHJldHVybiBleHBlY3RhdGlvbgogCiAgICAgQGNsYXNzbWV0aG9kCi0gICAgZGVmIHBhcnNl
X2xpc3QoY2xzLCBleHBlY3RhdGlvbnNfc3RyaW5nKToKKyAgICBkZWYgdG9rZW5pemVfbGlzdChj
bHMsIGV4cGVjdGF0aW9uc19zdHJpbmcpOgogICAgICAgICAiIiJSZXR1cm5zIGEgbGlzdCBvZiBU
ZXN0RXhwZWN0YXRpb25MaW5lcywgb25lIGZvciBlYWNoIGxpbmUgaW4gZXhwZWN0YXRpb25zX3N0
cmluZy4iIiIKICAgICAgICAgZXhwZWN0YXRpb25zID0gW10KICAgICAgICAgZm9yIGxpbmUgaW4g
ZXhwZWN0YXRpb25zX3N0cmluZy5zcGxpdCgiXG4iKToKLSAgICAgICAgICAgIGV4cGVjdGF0aW9u
cy5hcHBlbmQoY2xzLnBhcnNlKGxpbmUpKQorICAgICAgICAgICAgZXhwZWN0YXRpb25zLmFwcGVu
ZChjbHMudG9rZW5pemUobGluZSkpCiAgICAgICAgIHJldHVybiBleHBlY3RhdGlvbnMKIAogICAg
IEBjbGFzc21ldGhvZApAQCAtMjI3LDE2ICszMTksMjIgQEAgY2xhc3MgVGVzdEV4cGVjdGF0aW9u
TGluZToKICAgICAgICAgIiIiSW5pdGlhbGl6ZXMgYSBibGFuay1saW5lIGVxdWl2YWxlbnQgb2Yg
YW4gZXhwZWN0YXRpb24uIiIiCiAgICAgICAgIHNlbGYubmFtZSA9IE5vbmUKICAgICAgICAgc2Vs
Zi5tb2RpZmllcnMgPSBbXQorICAgICAgICBzZWxmLnBhcnNlZF9tb2RpZmllcnMgPSBbXQogICAg
ICAgICBzZWxmLmV4cGVjdGF0aW9ucyA9IFtdCisgICAgICAgIHNlbGYucGFyc2VkX2V4cGVjdGF0
aW9ucyA9IHNldCgpCiAgICAgICAgIHNlbGYuY29tbWVudCA9IE5vbmUKKyAgICAgICAgc2VsZi5u
dW1fbWF0Y2hlcyA9IE1vZGlmaWVyTWF0Y2hlci5OT19NQVRDSAorICAgICAgICBzZWxmLm1hdGNo
aW5nX3Rlc3RzID0gW10KICAgICAgICAgc2VsZi5lcnJvcnMgPSBbXQogICAgICAgICBzZWxmLndh
cm5pbmdzID0gW10KIAogICAgIGRlZiBpc19tYWxmb3JtZWQoc2VsZik6CiAgICAgICAgIHJldHVy
biBsZW4oc2VsZi5lcnJvcnMpID4gMAogCisgICAgZGVmIGlzX2ludmFsaWQoc2VsZik6CisgICAg
ICAgIHJldHVybiBzZWxmLmlzX21hbGZvcm1lZCgpIG9yIGxlbihzZWxmLndhcm5pbmdzKSA+IDAK
IAotIyBGSVhNRTogUmVmYWN0b3IgdG8gdXNlIFRlc3RFeHBlY3RhdGlvbkxpbmUgYXMgZGF0YSBp
dGVtCisjIEZJWE1FOiBSZWZhY3RvciB0byB1c2UgVGVzdEV4cGVjdGF0aW9uTGluZSBhcyBkYXRh
IGl0ZW0uCiAjIEZJWE1FOiBSZWZhY3RvciBBUEkgdG8gYmUgYSBwcm9wZXIgQ1JVRC4KIGNsYXNz
IFRlc3RFeHBlY3RhdGlvbnNNb2RlbDoKICAgICAiIiJSZXByZXNlbnRzIHJlbGF0aW9uYWwgc3Rv
cmUgb2YgYWxsIGV4cGVjdGF0aW9ucyBhbmQgcHJvdmlkZXMgQ1JVRCBzZW1hbnRpY3MgdG8gbWFu
YWdlIGl0LiIiIgpAQCAtMzExLDE4ICs0MDksMjEgQEAgY2xhc3MgVGVzdEV4cGVjdGF0aW9uc01v
ZGVsOgogICAgIGRlZiBnZXRfZXhwZWN0YXRpb25zKHNlbGYsIHRlc3QpOgogICAgICAgICByZXR1
cm4gc2VsZi5fdGVzdF90b19leHBlY3RhdGlvbnNbdGVzdF0KIAotICAgIGRlZiBhZGRfdGVzdHMo
c2VsZiwgbGluZW5vLCBleHBlY3RhdGlvbiwgdGVzdHMsIHBhcnNlZF9leHBlY3RhdGlvbnMsIHBh
cnNlZF9tb2RpZmllcnMsIG51bV9tYXRjaGVzLCBvdmVycmlkZXNfYWxsb3dlZCk6CisgICAgZGVm
IGFkZF90ZXN0cyhzZWxmLCBsaW5lbm8sIGV4cGVjdGF0aW9uLCBvdmVycmlkZXNfYWxsb3dlZCk6
CiAgICAgICAgICIiIlJldHVybnMgYSBsaXN0IG9mIGVycm9ycywgZW5jb3VudGVyZWQgd2hpbGUg
bWF0Y2hpbmcgbW9kaWZpZXJzLiIiIgotICAgICAgICAjIEZJWE1FOiBTaG91bGRuJ3QgcmV0dXJu
IGFueXRoaW5nLCB0aGlzIGlzIGEgdGVtcG9yYXJ5IGxheWVyaW5nIHZvbGF0aW9uLgotICAgICAg
ICBmb3IgdGVzdCBpbiB0ZXN0czoKLSAgICAgICAgICAgIGlmIHNlbGYuX2FscmVhZHlfc2Vlbl9i
ZXR0ZXJfbWF0Y2godGVzdCwgZXhwZWN0YXRpb24sIG51bV9tYXRjaGVzLCBsaW5lbm8sIG92ZXJy
aWRlc19hbGxvd2VkKToKKworICAgICAgICBpZiBleHBlY3RhdGlvbi5pc19pbnZhbGlkKCk6Cisg
ICAgICAgICAgICByZXR1cm4KKworICAgICAgICBmb3IgdGVzdCBpbiBleHBlY3RhdGlvbi5tYXRj
aGluZ190ZXN0czoKKyAgICAgICAgICAgIGlmIHNlbGYuX2FscmVhZHlfc2Vlbl9iZXR0ZXJfbWF0
Y2godGVzdCwgZXhwZWN0YXRpb24sIGxpbmVubywgb3ZlcnJpZGVzX2FsbG93ZWQpOgogICAgICAg
ICAgICAgICAgIGNvbnRpbnVlCiAKICAgICAgICAgICAgIHNlbGYuX2NsZWFyX2V4cGVjdGF0aW9u
c19mb3JfdGVzdCh0ZXN0LCBleHBlY3RhdGlvbi5uYW1lKQotICAgICAgICAgICAgc2VsZi5fdGVz
dF9saXN0X3BhdGhzW3Rlc3RdID0gKHNlbGYuX3BvcnQubm9ybWFsaXplX3Rlc3RfbmFtZShleHBl
Y3RhdGlvbi5uYW1lKSwgbnVtX21hdGNoZXMsIGxpbmVubykKLSAgICAgICAgICAgIHNlbGYuYWRk
X3Rlc3QodGVzdCwgcGFyc2VkX21vZGlmaWVycywgcGFyc2VkX2V4cGVjdGF0aW9ucywgZXhwZWN0
YXRpb24ubW9kaWZpZXJzLCBvdmVycmlkZXNfYWxsb3dlZCkKKyAgICAgICAgICAgIHNlbGYuX3Rl
c3RfbGlzdF9wYXRoc1t0ZXN0XSA9IChzZWxmLl9wb3J0Lm5vcm1hbGl6ZV90ZXN0X25hbWUoZXhw
ZWN0YXRpb24ubmFtZSksIGV4cGVjdGF0aW9uLm51bV9tYXRjaGVzLCBsaW5lbm8pCisgICAgICAg
ICAgICBzZWxmLmFkZF90ZXN0KHRlc3QsIGV4cGVjdGF0aW9uLCBvdmVycmlkZXNfYWxsb3dlZCkK
IAotICAgIGRlZiBhZGRfdGVzdChzZWxmLCB0ZXN0LCBtb2RpZmllcnMsIGV4cGVjdGF0aW9ucywg
b3B0aW9ucywgb3ZlcnJpZGVzX2FsbG93ZWQpOgorICAgIGRlZiBhZGRfdGVzdChzZWxmLCB0ZXN0
LCBleHBlY3RhdGlvbl9saW5lLCBvdmVycmlkZXNfYWxsb3dlZCk6CiAgICAgICAgICIiIlNldHMg
dGhlIGV4cGVjdGVkIHN0YXRlIGZvciBhIGdpdmVuIHRlc3QuCiAKICAgICAgICAgVGhpcyByb3V0
aW5lIGFzc3VtZXMgdGhlIHRlc3QgaGFzIG5vdCBiZWVuIGFkZGVkIGJlZm9yZS4gSWYgaXQgaGFz
LApAQCAtMzMxLDMyICs0MzIsMzAgQEAgY2xhc3MgVGVzdEV4cGVjdGF0aW9uc01vZGVsOgogCiAg
ICAgICAgIEFyZ3M6CiAgICAgICAgICAgdGVzdDogdGVzdCB0byBhZGQKLSAgICAgICAgICBtb2Rp
ZmllcnM6IHNlcXVlbmNlIG9mIG1vZGlmaWVyIGtleXdvcmRzICgnd29udGZpeCcsICdzbG93Jywg
ZXRjLikKLSAgICAgICAgICBleHBlY3RhdGlvbnM6IHNlcXVlbmNlIG9mIGV4cGVjdGF0aW9ucyAo
UEFTUywgSU1BR0UsIGV0Yy4pCi0gICAgICAgICAgb3B0aW9uczogc2VxdWVuY2Ugb2Yga2V5d29y
ZHMgYW5kIGJ1ZyBpZGVudGlmaWVycy4KKyAgICAgICAgICBleHBlY3RhdGlvbl9saW5lOiBleHBl
Y3RhdGlvbiB0byBhZGQKICAgICAgICAgICBvdmVycmlkZXNfYWxsb3dlZDogd2hldGhlciB3ZSdy
ZSBwYXJzaW5nIHRoZSByZWd1bGFyIGV4cGVjdGF0aW9ucwogICAgICAgICAgICAgICBvciB0aGUg
b3ZlcnJpZGRpbmcgZXhwZWN0YXRpb25zIiIiCi0gICAgICAgIHNlbGYuX3Rlc3RfdG9fZXhwZWN0
YXRpb25zW3Rlc3RdID0gZXhwZWN0YXRpb25zCi0gICAgICAgIGZvciBleHBlY3RhdGlvbiBpbiBl
eHBlY3RhdGlvbnM6CisgICAgICAgIHNlbGYuX3Rlc3RfdG9fZXhwZWN0YXRpb25zW3Rlc3RdID0g
ZXhwZWN0YXRpb25fbGluZS5wYXJzZWRfZXhwZWN0YXRpb25zCisgICAgICAgIGZvciBleHBlY3Rh
dGlvbiBpbiBleHBlY3RhdGlvbl9saW5lLnBhcnNlZF9leHBlY3RhdGlvbnM6CiAgICAgICAgICAg
ICBzZWxmLl9leHBlY3RhdGlvbl90b190ZXN0c1tleHBlY3RhdGlvbl0uYWRkKHRlc3QpCiAKLSAg
ICAgICAgc2VsZi5fdGVzdF90b19vcHRpb25zW3Rlc3RdID0gb3B0aW9ucworICAgICAgICBzZWxm
Ll90ZXN0X3RvX29wdGlvbnNbdGVzdF0gPSBleHBlY3RhdGlvbl9saW5lLm1vZGlmaWVycwogICAg
ICAgICBzZWxmLl90ZXN0X3RvX21vZGlmaWVyc1t0ZXN0XSA9IHNldCgpCi0gICAgICAgIGZvciBt
b2RpZmllciBpbiBtb2RpZmllcnM6CisgICAgICAgIGZvciBtb2RpZmllciBpbiBleHBlY3RhdGlv
bl9saW5lLnBhcnNlZF9tb2RpZmllcnM6CiAgICAgICAgICAgICBtb2RfdmFsdWUgPSBUZXN0RXhw
ZWN0YXRpb25zLk1PRElGSUVSU1ttb2RpZmllcl0KICAgICAgICAgICAgIHNlbGYuX21vZGlmaWVy
X3RvX3Rlc3RzW21vZF92YWx1ZV0uYWRkKHRlc3QpCiAgICAgICAgICAgICBzZWxmLl90ZXN0X3Rv
X21vZGlmaWVyc1t0ZXN0XS5hZGQobW9kX3ZhbHVlKQogCi0gICAgICAgIGlmICd3b250Zml4JyBp
biBtb2RpZmllcnM6CisgICAgICAgIGlmICd3b250Zml4JyBpbiBleHBlY3RhdGlvbl9saW5lLnBh
cnNlZF9tb2RpZmllcnM6CiAgICAgICAgICAgICBzZWxmLl90aW1lbGluZV90b190ZXN0c1tXT05U
RklYXS5hZGQodGVzdCkKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHNlbGYuX3RpbWVsaW5l
X3RvX3Rlc3RzW05PV10uYWRkKHRlc3QpCiAKLSAgICAgICAgaWYgJ3NraXAnIGluIG1vZGlmaWVy
czoKKyAgICAgICAgaWYgJ3NraXAnIGluIGV4cGVjdGF0aW9uX2xpbmUucGFyc2VkX21vZGlmaWVy
czoKICAgICAgICAgICAgIHNlbGYuX3Jlc3VsdF90eXBlX3RvX3Rlc3RzW1NLSVBdLmFkZCh0ZXN0
KQotICAgICAgICBlbGlmIGV4cGVjdGF0aW9ucyA9PSBzZXQoW1BBU1NdKToKKyAgICAgICAgZWxp
ZiBleHBlY3RhdGlvbl9saW5lLnBhcnNlZF9leHBlY3RhdGlvbnMgPT0gc2V0KFtQQVNTXSk6CiAg
ICAgICAgICAgICBzZWxmLl9yZXN1bHRfdHlwZV90b190ZXN0c1tQQVNTXS5hZGQodGVzdCkKLSAg
ICAgICAgZWxpZiBsZW4oZXhwZWN0YXRpb25zKSA+IDE6CisgICAgICAgIGVsaWYgbGVuKGV4cGVj
dGF0aW9uX2xpbmUucGFyc2VkX2V4cGVjdGF0aW9ucykgPiAxOgogICAgICAgICAgICAgc2VsZi5f
cmVzdWx0X3R5cGVfdG9fdGVzdHNbRkxBS1ldLmFkZCh0ZXN0KQogICAgICAgICBlbHNlOgogICAg
ICAgICAgICAgc2VsZi5fcmVzdWx0X3R5cGVfdG9fdGVzdHNbRkFJTF0uYWRkKHRlc3QpCkBAIC0z
ODgsNyArNDg3LDcgQEAgY2xhc3MgVGVzdEV4cGVjdGF0aW9uc01vZGVsOgogICAgICAgICAgICAg
aWYgdGVzdCBpbiBzZXRfb2ZfdGVzdHM6CiAgICAgICAgICAgICAgICAgc2V0X29mX3Rlc3RzLnJl
bW92ZSh0ZXN0KQogCi0gICAgZGVmIF9hbHJlYWR5X3NlZW5fYmV0dGVyX21hdGNoKHNlbGYsIHRl
c3QsIGV4cGVjdGF0aW9uLCBudW1fbWF0Y2hlcywgbGluZW5vLCBvdmVycmlkZXNfYWxsb3dlZCk6
CisgICAgZGVmIF9hbHJlYWR5X3NlZW5fYmV0dGVyX21hdGNoKHNlbGYsIHRlc3QsIGV4cGVjdGF0
aW9uLCBsaW5lbm8sIG92ZXJyaWRlc19hbGxvd2VkKToKICAgICAgICAgIiIiUmV0dXJucyB3aGV0
aGVyIHdlJ3ZlIHNlZW4gYSBiZXR0ZXIgbWF0Y2ggYWxyZWFkeSBpbiB0aGUgZmlsZS4KIAogICAg
ICAgICBSZXR1cm5zIFRydWUgaWYgd2UndmUgYWxyZWFkeSBzZWVuIGEgZXhwZWN0YXRpb24ubmFt
ZSB0aGF0IG1hdGNoZXMgbW9yZSBvZiB0aGUgdGVzdApAQCAtNDMzLDExICs1MzIsMTEgQEAgY2xh
c3MgVGVzdEV4cGVjdGF0aW9uc01vZGVsOgogICAgICAgICAjIFRvIHVzZSB0aGUgIm1vcmUgbW9k
aWZpZXJzIHdpbnMiIHBvbGljeSwgY2hhbmdlIHRoZSBlcnJvcnMgZm9yIG92ZXJyaWRlcwogICAg
ICAgICAjIHRvIGJlIHdhcm5pbmdzIGFuZCByZXR1cm4gRmFsc2UiLgogCi0gICAgICAgIGlmIHBy
ZXZfbnVtX21hdGNoZXMgPT0gbnVtX21hdGNoZXM6CisgICAgICAgIGlmIHByZXZfbnVtX21hdGNo
ZXMgPT0gZXhwZWN0YXRpb24ubnVtX21hdGNoZXM6CiAgICAgICAgICAgICBleHBlY3RhdGlvbi5l
cnJvcnMuYXBwZW5kKCdEdXBsaWNhdGUgb3IgYW1iaWd1b3VzICVzLicgJSBleHBlY3RhdGlvbl9z
b3VyY2UpCiAgICAgICAgICAgICByZXR1cm4gVHJ1ZQogCi0gICAgICAgIGlmIHByZXZfbnVtX21h
dGNoZXMgPCBudW1fbWF0Y2hlczoKKyAgICAgICAgaWYgcHJldl9udW1fbWF0Y2hlcyA8IGV4cGVj
dGF0aW9uLm51bV9tYXRjaGVzOgogICAgICAgICAgICAgZXhwZWN0YXRpb24uZXJyb3JzLmFwcGVu
ZCgnTW9yZSBzcGVjaWZpYyBlbnRyeSBvbiBsaW5lICVkIG92ZXJyaWRlcyBsaW5lICVkJyAlIChs
aW5lbm8sIHByZXZfbGluZW5vKSkKICAgICAgICAgICAgICMgRklYTUU6IHJldHVybiBGYWxzZSBp
ZiB3ZSB3YW50IG1vcmUgc3BlY2lmaWMgdG8gd2luLgogICAgICAgICAgICAgcmV0dXJuIFRydWUK
QEAgLTU0NywxMSArNjQ2LDExIEBAIGNsYXNzIFRlc3RFeHBlY3RhdGlvbnM6CiAgICAgICAgICAg
ICAgICAgdGhhdCBuZWVkIHRvIG1hbmFnZSB0d28gc2V0cyBvZiBleHBlY3RhdGlvbnMgKGUuZy4s
IHVwc3RyZWFtCiAgICAgICAgICAgICAgICAgYW5kIGRvd25zdHJlYW0gZXhwZWN0YXRpb25zKS4K
ICAgICAgICAgIiIiCi0gICAgICAgIHNlbGYuX3BvcnQgPSBwb3J0CiAgICAgICAgIHNlbGYuX2Z1
bGxfdGVzdF9saXN0ID0gdGVzdHMKICAgICAgICAgc2VsZi5fdGVzdF9jb25maWcgPSB0ZXN0X2Nv
bmZpZwogICAgICAgICBzZWxmLl9pc19saW50X21vZGUgPSBpc19saW50X21vZGUKICAgICAgICAg
c2VsZi5fbW9kZWwgPSBUZXN0RXhwZWN0YXRpb25zTW9kZWwocG9ydCkKKyAgICAgICAgc2VsZi5f
cGFyc2VyID0gVGVzdEV4cGVjdGF0aW9uUGFyc2VyKHBvcnQsIHRlc3RfY29uZmlnLCB0ZXN0cywg
aXNfbGludF9tb2RlKQogCiAgICAgICAgICMgTWFwcyByZWxhdGl2ZSB0ZXN0IHBhdGhzIGFzIGxp
c3RlZCBpbiB0aGUgZXhwZWN0YXRpb25zIGZpbGUgdG8gYQogICAgICAgICAjIGxpc3Qgb2YgbWFw
cyBjb250YWluaW5nIG1vZGlmaWVycyBhbmQgZXhwZWN0YXRpb25zIGZvciBlYWNoIHRpbWUKQEAg
LTU2MCwxMSArNjU5LDExIEBAIGNsYXNzIFRlc3RFeHBlY3RhdGlvbnM6CiAgICAgICAgICMgaW52
YWxpZCBvbmVzLgogICAgICAgICBzZWxmLl9hbGxfZXhwZWN0YXRpb25zID0ge30KIAotICAgICAg
ICBzZWxmLl9leHBlY3RhdGlvbnMgPSBUZXN0RXhwZWN0YXRpb25QYXJzZXIucGFyc2VfbGlzdChl
eHBlY3RhdGlvbnMpCisgICAgICAgIHNlbGYuX2V4cGVjdGF0aW9ucyA9IFRlc3RFeHBlY3RhdGlv
blBhcnNlci50b2tlbml6ZV9saXN0KGV4cGVjdGF0aW9ucykKICAgICAgICAgc2VsZi5fYWRkX2V4
cGVjdGF0aW9ucyhzZWxmLl9leHBlY3RhdGlvbnMsIG92ZXJyaWRlc19hbGxvd2VkPUZhbHNlKQog
CiAgICAgICAgIGlmIG92ZXJyaWRlczoKLSAgICAgICAgICAgIG92ZXJyaWRlc19leHBlY3RhdGlv
bnMgPSBUZXN0RXhwZWN0YXRpb25QYXJzZXIucGFyc2VfbGlzdChvdmVycmlkZXMpCisgICAgICAg
ICAgICBvdmVycmlkZXNfZXhwZWN0YXRpb25zID0gVGVzdEV4cGVjdGF0aW9uUGFyc2VyLnRva2Vu
aXplX2xpc3Qob3ZlcnJpZGVzKQogICAgICAgICAgICAgc2VsZi5fYWRkX2V4cGVjdGF0aW9ucyhv
dmVycmlkZXNfZXhwZWN0YXRpb25zLCBvdmVycmlkZXNfYWxsb3dlZD1UcnVlKQogICAgICAgICAg
ICAgc2VsZi5fZXhwZWN0YXRpb25zICs9IG92ZXJyaWRlc19leHBlY3RhdGlvbnMKIApAQCAtNjYx
LDEzICs3NjAsMTIgQEAgY2xhc3MgVGVzdEV4cGVjdGF0aW9uczoKICAgICAgICAgICAgICAgICAg
ICAgcmFpc2UgUGFyc2VFcnJvcihmYXRhbD1GYWxzZSwgZXJyb3JzPXdhcm5pbmdzKQogCiAgICAg
ZGVmIF9wcm9jZXNzX3Rlc3RzX3dpdGhvdXRfZXhwZWN0YXRpb25zKHNlbGYpOgotICAgICAgICBl
eHBlY3RhdGlvbnMgPSBzZXQoW1BBU1NdKQotICAgICAgICBvcHRpb25zID0gW10KLSAgICAgICAg
bW9kaWZpZXJzID0gW10KKyAgICAgICAgZXhwZWN0YXRpb24gPSBUZXN0RXhwZWN0YXRpb25MaW5l
KCkKKyAgICAgICAgZXhwZWN0YXRpb24ucGFyc2VkX2V4cGVjdGF0aW9ucyA9IHNldChbUEFTU10p
CiAgICAgICAgIGlmIHNlbGYuX2Z1bGxfdGVzdF9saXN0OgogICAgICAgICAgICAgZm9yIHRlc3Qg
aW4gc2VsZi5fZnVsbF90ZXN0X2xpc3Q6CiAgICAgICAgICAgICAgICAgaWYgbm90IHNlbGYuX21v
ZGVsLmhhc190ZXN0KHRlc3QpOgotICAgICAgICAgICAgICAgICAgICBzZWxmLl9tb2RlbC5hZGRf
dGVzdCh0ZXN0LCBtb2RpZmllcnMsIGV4cGVjdGF0aW9ucywgb3B0aW9ucywgb3ZlcnJpZGVzX2Fs
bG93ZWQ9RmFsc2UpCisgICAgICAgICAgICAgICAgICAgIHNlbGYuX21vZGVsLmFkZF90ZXN0KHRl
c3QsIGV4cGVjdGF0aW9uLCBvdmVycmlkZXNfYWxsb3dlZD1GYWxzZSkKIAogICAgIGRlZiBnZXRf
ZXhwZWN0YXRpb25zX2pzb25fZm9yX2FsbF9wbGF0Zm9ybXMoc2VsZik6CiAgICAgICAgICMgU3Bl
Y2lmeSBzZXBhcmF0b3JzIGluIG9yZGVyIHRvIGdldCBjb21wYWN0IGVuY29kaW5nLgpAQCAtNjkx
LDggKzc4OSw2IEBAIGNsYXNzIFRlc3RFeHBlY3RhdGlvbnM6CiAgICAgICAgICAgICBNb2RpZmll
cnNBbmRFeHBlY3RhdGlvbnMob3B0aW9ucywgZXhwZWN0YXRpb25zKSkKIAogICAgIGRlZiBfYWRk
X2V4cGVjdGF0aW9ucyhzZWxmLCBleHBlY3RhdGlvbl9saXN0LCBvdmVycmlkZXNfYWxsb3dlZCk6
Ci0gICAgICAgIG1hdGNoZXIgPSBNb2RpZmllck1hdGNoZXIoc2VsZi5fdGVzdF9jb25maWcpCi0K
ICAgICAgICAgZm9yIGxpbmVubywgZXhwZWN0YXRpb24gaW4gZW51bWVyYXRlKGV4cGVjdGF0aW9u
X2xpc3QsIHN0YXJ0PTEpOgogICAgICAgICAgICAgZXhwZWN0YXRpb25zID0gZXhwZWN0YXRpb24u
ZXhwZWN0YXRpb25zCiAKQEAgLTcwMyw5MyArNzk5LDggQEAgY2xhc3MgVGVzdEV4cGVjdGF0aW9u
czoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiAiLmpvaW4o
ZXhwZWN0YXRpb24ubW9kaWZpZXJzKS51cHBlcigpLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiICIuam9pbihleHBlY3RhdGlvbi5leHBlY3RhdGlvbnMpLnVw
cGVyKCkpCiAKLSAgICAgICAgICAgIG51bV9tYXRjaGVzID0gc2VsZi5fY2hlY2tfb3B0aW9ucyht
YXRjaGVyLCBleHBlY3RhdGlvbikKLSAgICAgICAgICAgIGlmIG51bV9tYXRjaGVzID09IE1vZGlm
aWVyTWF0Y2hlci5OT19NQVRDSDoKLSAgICAgICAgICAgICAgICBjb250aW51ZQotCi0gICAgICAg
ICAgICBzZWxmLl9jaGVja19vcHRpb25zX2FnYWluc3RfZXhwZWN0YXRpb25zKGV4cGVjdGF0aW9u
KQotCi0gICAgICAgICAgICBpZiBzZWxmLl9jaGVja19wYXRoX2RvZXNfbm90X2V4aXN0KGV4cGVj
dGF0aW9uKToKLSAgICAgICAgICAgICAgICBjb250aW51ZQotCi0gICAgICAgICAgICBpZiBub3Qg
c2VsZi5fZnVsbF90ZXN0X2xpc3Q6Ci0gICAgICAgICAgICAgICAgdGVzdHMgPSBbZXhwZWN0YXRp
b24ubmFtZV0KLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgdGVzdHMgPSBzZWxm
Ll9leHBhbmRfdGVzdHMoZXhwZWN0YXRpb24ubmFtZSkKLQotICAgICAgICAgICAgcGFyc2VkX21v
ZGlmaWVycyA9IFttb2RpZmllciBmb3IgbW9kaWZpZXIgaW4gZXhwZWN0YXRpb24ubW9kaWZpZXJz
IGlmIG1vZGlmaWVyIGluIHNlbGYuTU9ESUZJRVJTXQotICAgICAgICAgICAgcGFyc2VkX2V4cGVj
dGF0aW9ucyA9IHNlbGYuX3BhcnNlX2V4cGVjdGF0aW9ucyhleHBlY3RhdGlvbikKLQotICAgICAg
ICAgICAgc2VsZi5fbW9kZWwuYWRkX3Rlc3RzKGxpbmVubywgZXhwZWN0YXRpb24sIHRlc3RzLCBw
YXJzZWRfZXhwZWN0YXRpb25zLCBwYXJzZWRfbW9kaWZpZXJzLCBudW1fbWF0Y2hlcywgb3ZlcnJp
ZGVzX2FsbG93ZWQpCi0KLSAgICBkZWYgX3BhcnNlX2V4cGVjdGF0aW9ucyhzZWxmLCBleHBlY3Rh
dGlvbl9saW5lKToKLSAgICAgICAgcmVzdWx0ID0gc2V0KCkKLSAgICAgICAgZm9yIHBhcnQgaW4g
ZXhwZWN0YXRpb25fbGluZS5leHBlY3RhdGlvbnM6Ci0gICAgICAgICAgICBleHBlY3RhdGlvbiA9
IFRlc3RFeHBlY3RhdGlvbnMuZXhwZWN0YXRpb25fZnJvbV9zdHJpbmcocGFydCkKLSAgICAgICAg
ICAgIGlmIGV4cGVjdGF0aW9uIGlzIE5vbmU6ICAjIENhcmVmdWwsIFBBU1MgaXMgY3VycmVudGx5
IDAuCi0gICAgICAgICAgICAgICAgZXhwZWN0YXRpb25fbGluZS5lcnJvcnMuYXBwZW5kKCdVbnN1
cHBvcnRlZCBleHBlY3RhdGlvbjogJXMnICUgcGFydCkKLSAgICAgICAgICAgICAgICBjb250aW51
ZQotICAgICAgICAgICAgcmVzdWx0LmFkZChleHBlY3RhdGlvbikKLSAgICAgICAgcmV0dXJuIHJl
c3VsdAotCi0gICAgZGVmIF9jaGVja19vcHRpb25zKHNlbGYsIG1hdGNoZXIsIGV4cGVjdGF0aW9u
KToKLSAgICAgICAgbWF0Y2hfcmVzdWx0ID0gbWF0Y2hlci5tYXRjaChleHBlY3RhdGlvbikKLSAg
ICAgICAgc2VsZi5fY2hlY2tfc2VtYW50aWNzKGV4cGVjdGF0aW9uKQotICAgICAgICByZXR1cm4g
bWF0Y2hfcmVzdWx0Lm51bV9tYXRjaGVzCi0KLSAgICBkZWYgX2NoZWNrX3NlbWFudGljcyhzZWxm
LCBleHBlY3RhdGlvbik6Ci0gICAgICAgIGhhc193b250Zml4ID0gJ3dvbnRmaXgnIGluIGV4cGVj
dGF0aW9uLm1vZGlmaWVycwotICAgICAgICBoYXNfYnVnID0gRmFsc2UKLSAgICAgICAgZm9yIG9w
dCBpbiBleHBlY3RhdGlvbi5tb2RpZmllcnM6Ci0gICAgICAgICAgICBpZiBvcHQuc3RhcnRzd2l0
aCgnYnVnJyk6Ci0gICAgICAgICAgICAgICAgaGFzX2J1ZyA9IFRydWUKLSAgICAgICAgICAgICAg
ICBpZiByZS5tYXRjaCgnYnVnXGQrJywgb3B0KToKLSAgICAgICAgICAgICAgICAgICAgZXhwZWN0
YXRpb24uZXJyb3JzLmFwcGVuZCgnQlVHXGQrIGlzIG5vdCBhbGxvd2VkLCBtdXN0IGJlIG9uZSBv
ZiBCVUdDUlxkKywgQlVHV0tcZCssIEJVR1Y4X1xkKywgb3IgYSBub24tbnVtZXJpYyBidWcgaWRl
bnRpZmllci4nKQotCi0gICAgICAgIGlmIG5vdCBoYXNfYnVnIGFuZCBub3QgaGFzX3dvbnRmaXg6
Ci0gICAgICAgICAgICBleHBlY3RhdGlvbi53YXJuaW5ncy5hcHBlbmQoJ1Rlc3QgbGFja3MgQlVH
IG1vZGlmaWVyLicpCi0KLSAgICAgICAgaWYgc2VsZi5faXNfbGludF9tb2RlIGFuZCAncmViYXNl
bGluZScgaW4gZXhwZWN0YXRpb24ubW9kaWZpZXJzOgotICAgICAgICAgICAgZXhwZWN0YXRpb24u
ZXJyb3JzLmFwcGVuZCgnUkVCQVNFTElORSBzaG91bGQgb25seSBiZSB1c2VkIGZvciBydW5uaW5n
IHJlYmFzZWxpbmUucHkuIENhbm5vdCBiZSBjaGVja2VkIGluLicpCi0KLSAgICBkZWYgX2NoZWNr
X29wdGlvbnNfYWdhaW5zdF9leHBlY3RhdGlvbnMoc2VsZiwgZXhwZWN0YXRpb24pOgotICAgICAg
ICBpZiAnc2xvdycgaW4gZXhwZWN0YXRpb24ubW9kaWZpZXJzIGFuZCAndGltZW91dCcgaW4gZXhw
ZWN0YXRpb24uZXhwZWN0YXRpb25zOgotICAgICAgICAgICAgZXhwZWN0YXRpb24uZXJyb3JzLmFw
cGVuZCgnQSB0ZXN0IGNhbiBub3QgYmUgYm90aCBTTE9XIGFuZCBUSU1FT1VULiBJZiBpdCB0aW1l
cyBvdXQgaW5kZWZpbml0ZWx5LCB0aGVuIGl0IHNob3VsZCBiZSBqdXN0IFRJTUVPVVQuJykKLQot
ICAgIGRlZiBfY2hlY2tfcGF0aF9kb2VzX25vdF9leGlzdChzZWxmLCBleHBlY3RhdGlvbik6Ci0g
ICAgICAgICMgV2ViS2l0J3Mgd2F5IG9mIHNraXBwaW5nIHRlc3RzIGlzIHRvIGFkZCBhIC1kaXNh
YmxlZCBzdWZmaXguCi0gICAgICAgICMgU28gd2Ugc2hvdWxkIGNvbnNpZGVyIHRoZSBwYXRoIGV4
aXN0aW5nIGlmIHRoZSBwYXRoIG9yIHRoZQotICAgICAgICAjIC1kaXNhYmxlZCB2ZXJzaW9uIGV4
aXN0cy4KLSAgICAgICAgaWYgKG5vdCBzZWxmLl9wb3J0LnRlc3RfZXhpc3RzKGV4cGVjdGF0aW9u
Lm5hbWUpCi0gICAgICAgICAgICBhbmQgbm90IHNlbGYuX3BvcnQudGVzdF9leGlzdHMoZXhwZWN0
YXRpb24ubmFtZSArICctZGlzYWJsZWQnKSk6Ci0gICAgICAgICAgICAjIExvZyBhIHdhcm5pbmcg
aGVyZSBzaW5jZSB5b3UgaGl0IHRoaXMgY2FzZSBhbnkKLSAgICAgICAgICAgICMgdGltZSB5b3Ug
dXBkYXRlIHRlc3RfZXhwZWN0YXRpb25zLnR4dCB3aXRob3V0IHN5bmNpbmcKLSAgICAgICAgICAg
ICMgdGhlIExheW91dFRlc3RzIGRpcmVjdG9yeQotICAgICAgICAgICAgZXhwZWN0YXRpb24ud2Fy
bmluZ3MuYXBwZW5kKCdQYXRoIGRvZXMgbm90IGV4aXN0LicpCi0gICAgICAgICAgICByZXR1cm4g
VHJ1ZQotICAgICAgICByZXR1cm4gRmFsc2UKLQotICAgIGRlZiBfZXhwYW5kX3Rlc3RzKHNlbGYs
IHRlc3RfbGlzdF9wYXRoKToKLSAgICAgICAgIiIiQ29udmVydCB0aGUgdGVzdCBzcGVjaWZpY2F0
aW9uIHRvIGFuIGFic29sdXRlLCBub3JtYWxpemVkCi0gICAgICAgIHBhdGggYW5kIG1ha2Ugc3Vy
ZSBkaXJlY3RvcmllcyBlbmQgd2l0aCB0aGUgT1MgcGF0aCBzZXBhcmF0b3IuIiIiCi0gICAgICAg
ICMgRklYTUU6IGZ1bGxfdGVzdF9saXN0IGNhbiBxdWlja2x5IGNvbnRhaW4gYSBiaWcgYW1vdW50
IG9mCi0gICAgICAgICMgZWxlbWVudHMuIFdlIHNob3VsZCBjb25zaWRlciBhdCBzb21lIHBvaW50
IHRvIHVzZSBhIG1vcmUKLSAgICAgICAgIyBlZmZpY2llbnQgc3RydWN0dXJlIGluc3RlYWQgb2Yg
YSBsaXN0LiBNYXliZSBhIGRpY3Rpb25hcnkgb2YKLSAgICAgICAgIyBsaXN0cyB0byByZXByZXNl
bnQgdGhlIHRyZWUgb2YgdGVzdHMsIGxlYXZlcyBiZWluZyB0ZXN0Ci0gICAgICAgICMgZmlsZXMg
YW5kIG5vZGVzIGJlaW5nIGNhdGVnb3JpZXMuCi0KLSAgICAgICAgaWYgc2VsZi5fcG9ydC50ZXN0
X2lzZGlyKHRlc3RfbGlzdF9wYXRoKToKLSAgICAgICAgICAgICMgdGhpcyBpcyBhIHRlc3QgY2F0
ZWdvcnksIHJldHVybiBhbGwgdGhlIHRlc3RzIG9mIHRoZSBjYXRlZ29yeS4KLSAgICAgICAgICAg
IHRlc3RfbGlzdF9wYXRoID0gc2VsZi5fcG9ydC5ub3JtYWxpemVfdGVzdF9uYW1lKHRlc3RfbGlz
dF9wYXRoKQotCi0gICAgICAgICAgICByZXR1cm4gW3Rlc3QgZm9yIHRlc3QgaW4gc2VsZi5fZnVs
bF90ZXN0X2xpc3QgaWYgdGVzdC5zdGFydHN3aXRoKHRlc3RfbGlzdF9wYXRoKV0KLQotICAgICAg
ICAjIHRoaXMgaXMgYSB0ZXN0IGZpbGUsIGRvIGEgcXVpY2sgY2hlY2sgaWYgaXQncyBpbiB0aGUK
LSAgICAgICAgIyBmdWxsIHRlc3Qgc3VpdGUuCi0gICAgICAgIHJlc3VsdCA9IFtdCi0gICAgICAg
IGlmIHRlc3RfbGlzdF9wYXRoIGluIHNlbGYuX2Z1bGxfdGVzdF9saXN0OgotICAgICAgICAgICAg
cmVzdWx0ID0gW3Rlc3RfbGlzdF9wYXRoLCBdCi0gICAgICAgIHJldHVybiByZXN1bHQKKyAgICAg
ICAgICAgIHNlbGYuX3BhcnNlci5wYXJzZShleHBlY3RhdGlvbikKKyAgICAgICAgICAgIHNlbGYu
X21vZGVsLmFkZF90ZXN0cyhsaW5lbm8sIGV4cGVjdGF0aW9uLCBvdmVycmlkZXNfYWxsb3dlZCkK
IAogCiBjbGFzcyBNb2RpZmllck1hdGNoUmVzdWx0KG9iamVjdCk6CmRpZmYgLS1naXQgYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9tb2RlbHMvdGVzdF9leHBlY3RhdGlvbnNf
dW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9tb2RlbHMv
dGVzdF9leHBlY3RhdGlvbnNfdW5pdHRlc3QucHkKaW5kZXggNjM2NDRlNjJjMmY0OTZlOTM1NDll
Y2E4NDE5MTkwZWZjMTkwNTQxNC4uZTBmZDBjMzNkNzdiODU3M2M3MWNlNDBmNjJkNzQzY2NkYTBj
MDYwOSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbW9k
ZWxzL3Rlc3RfZXhwZWN0YXRpb25zX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvbGF5b3V0X3Rlc3RzL21vZGVscy90ZXN0X2V4cGVjdGF0aW9uc191bml0dGVzdC5weQpA
QCAtNDYzLDY0ICs0NjMsNjQgQEAgY2xhc3MgTW9kaWZpZXJUZXN0cyh1bml0dGVzdC5UZXN0Q2Fz
ZSk6CiAKIAogY2xhc3MgVGVzdEV4cGVjdGF0aW9uUGFyc2VyVGVzdHModW5pdHRlc3QuVGVzdENh
c2UpOgotICAgIGRlZiB0ZXN0X2JsYW5rKHNlbGYpOgotICAgICAgICBleHBlY3RhdGlvbiA9IFRl
c3RFeHBlY3RhdGlvblBhcnNlci5wYXJzZSgnJykKKyAgICBkZWYgdGVzdF90b2tlbml6ZV9ibGFu
ayhzZWxmKToKKyAgICAgICAgZXhwZWN0YXRpb24gPSBUZXN0RXhwZWN0YXRpb25QYXJzZXIudG9r
ZW5pemUoJycpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXhwZWN0YXRpb24uaXNfbWFsZm9y
bWVkKCksIEZhbHNlKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV4cGVjdGF0aW9uLmNvbW1l
bnQsIE5vbmUpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGV4cGVjdGF0aW9uLmVycm9y
cyksIDApCiAKLSAgICBkZWYgdGVzdF9taXNzaW5nX2NvbG9uKHNlbGYpOgotICAgICAgICBleHBl
Y3RhdGlvbiA9IFRlc3RFeHBlY3RhdGlvblBhcnNlci5wYXJzZSgnUXV4LicpCisgICAgZGVmIHRl
c3RfdG9rZW5pemVfbWlzc2luZ19jb2xvbihzZWxmKToKKyAgICAgICAgZXhwZWN0YXRpb24gPSBU
ZXN0RXhwZWN0YXRpb25QYXJzZXIudG9rZW5pemUoJ1F1eC4nKQogICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFsKGV4cGVjdGF0aW9uLmlzX21hbGZvcm1lZCgpLCBUcnVlKQogICAgICAgICBzZWxmLmFz
c2VydEVxdWFsKGV4cGVjdGF0aW9uLmNvbW1lbnQsICdRdXguJykKICAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbChzdHIoZXhwZWN0YXRpb24uZXJyb3JzKSwgJ1siTWlzc2luZyBhIFwnOlwnIl0nKQog
Ci0gICAgZGVmIHRlc3RfZXh0cmFfY29sb24oc2VsZik6Ci0gICAgICAgIGV4cGVjdGF0aW9uID0g
VGVzdEV4cGVjdGF0aW9uUGFyc2VyLnBhcnNlKCdGT08gOiA6IGJhcicpCisgICAgZGVmIHRlc3Rf
dG9rZW5pemVfZXh0cmFfY29sb24oc2VsZik6CisgICAgICAgIGV4cGVjdGF0aW9uID0gVGVzdEV4
cGVjdGF0aW9uUGFyc2VyLnRva2VuaXplKCdGT08gOiA6IGJhcicpCiAgICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWwoZXhwZWN0YXRpb24uaXNfbWFsZm9ybWVkKCksIFRydWUpCiAgICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWwoZXhwZWN0YXRpb24uY29tbWVudCwgJ0ZPTyA6IDogYmFyJykKICAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbChzdHIoZXhwZWN0YXRpb24uZXJyb3JzKSwgJ1siRXh0cmFuZW91cyBc
JzpcJyJdJykKIAotICAgIGRlZiB0ZXN0X2VtcHR5X2NvbW1lbnQoc2VsZik6Ci0gICAgICAgIGV4
cGVjdGF0aW9uID0gVGVzdEV4cGVjdGF0aW9uUGFyc2VyLnBhcnNlKCcvLycpCisgICAgZGVmIHRl
c3RfdG9rZW5pemVfZW1wdHlfY29tbWVudChzZWxmKToKKyAgICAgICAgZXhwZWN0YXRpb24gPSBU
ZXN0RXhwZWN0YXRpb25QYXJzZXIudG9rZW5pemUoJy8vJykKICAgICAgICAgc2VsZi5hc3NlcnRF
cXVhbChleHBlY3RhdGlvbi5pc19tYWxmb3JtZWQoKSwgRmFsc2UpCiAgICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWwoZXhwZWN0YXRpb24uY29tbWVudCwgJycpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1
YWwobGVuKGV4cGVjdGF0aW9uLmVycm9ycyksIDApCiAKLSAgICBkZWYgdGVzdF9jb21tZW50KHNl
bGYpOgotICAgICAgICBleHBlY3RhdGlvbiA9IFRlc3RFeHBlY3RhdGlvblBhcnNlci5wYXJzZSgn
Ly9RdXguJykKKyAgICBkZWYgdGVzdF90b2tlbml6ZV9jb21tZW50KHNlbGYpOgorICAgICAgICBl
eHBlY3RhdGlvbiA9IFRlc3RFeHBlY3RhdGlvblBhcnNlci50b2tlbml6ZSgnLy9RdXguJykKICAg
ICAgICAgc2VsZi5hc3NlcnRFcXVhbChleHBlY3RhdGlvbi5pc19tYWxmb3JtZWQoKSwgRmFsc2Up
CiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXhwZWN0YXRpb24uY29tbWVudCwgJ1F1eC4nKQog
ICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihleHBlY3RhdGlvbi5lcnJvcnMpLCAwKQogCi0g
ICAgZGVmIHRlc3RfbWlzc2luZ19lcXVhbChzZWxmKToKLSAgICAgICAgZXhwZWN0YXRpb24gPSBU
ZXN0RXhwZWN0YXRpb25QYXJzZXIucGFyc2UoJ0ZPTyA6IGJhcicpCisgICAgZGVmIHRlc3RfdG9r
ZW5pemVfbWlzc2luZ19lcXVhbChzZWxmKToKKyAgICAgICAgZXhwZWN0YXRpb24gPSBUZXN0RXhw
ZWN0YXRpb25QYXJzZXIudG9rZW5pemUoJ0ZPTyA6IGJhcicpCiAgICAgICAgIHNlbGYuYXNzZXJ0
RXF1YWwoZXhwZWN0YXRpb24uaXNfbWFsZm9ybWVkKCksIFRydWUpCiAgICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWwoZXhwZWN0YXRpb24uY29tbWVudCwgJ0ZPTyA6IGJhcicpCiAgICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWwoc3RyKGV4cGVjdGF0aW9uLmVycm9ycyksICJbJ01pc3NpbmcgZXhwZWN0YXRp
b25zXCddIikKIAotICAgIGRlZiB0ZXN0X2V4dHJhX2VxdWFsKHNlbGYpOgotICAgICAgICBleHBl
Y3RhdGlvbiA9IFRlc3RFeHBlY3RhdGlvblBhcnNlci5wYXJzZSgnRk9PIDogYmFyID0gQkFaID0g
UXV4LicpCisgICAgZGVmIHRlc3RfdG9rZW5pemVfZXh0cmFfZXF1YWwoc2VsZik6CisgICAgICAg
IGV4cGVjdGF0aW9uID0gVGVzdEV4cGVjdGF0aW9uUGFyc2VyLnRva2VuaXplKCdGT08gOiBiYXIg
PSBCQVogPSBRdXguJykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChleHBlY3RhdGlvbi5pc19t
YWxmb3JtZWQoKSwgVHJ1ZSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChleHBlY3RhdGlvbi5j
b21tZW50LCAnRk9PIDogYmFyID0gQkFaID0gUXV4LicpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1
YWwoc3RyKGV4cGVjdGF0aW9uLmVycm9ycyksICdbIkV4dHJhbmVvdXMgXCc9XCciXScpCiAKLSAg
ICBkZWYgdGVzdF92YWxpZChzZWxmKToKLSAgICAgICAgZXhwZWN0YXRpb24gPSBUZXN0RXhwZWN0
YXRpb25QYXJzZXIucGFyc2UoJ0ZPTyA6IGJhciA9IEJBWicpCisgICAgZGVmIHRlc3RfdG9rZW5p
emVfdmFsaWQoc2VsZik6CisgICAgICAgIGV4cGVjdGF0aW9uID0gVGVzdEV4cGVjdGF0aW9uUGFy
c2VyLnRva2VuaXplKCdGT08gOiBiYXIgPSBCQVonKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFs
KGV4cGVjdGF0aW9uLmlzX21hbGZvcm1lZCgpLCBGYWxzZSkKICAgICAgICAgc2VsZi5hc3NlcnRF
cXVhbChleHBlY3RhdGlvbi5jb21tZW50LCBOb25lKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFs
KGxlbihleHBlY3RhdGlvbi5lcnJvcnMpLCAwKQogCi0gICAgZGVmIHRlc3RfdmFsaWRfd2l0aF9j
b21tZW50KHNlbGYpOgotICAgICAgICBleHBlY3RhdGlvbiA9IFRlc3RFeHBlY3RhdGlvblBhcnNl
ci5wYXJzZSgnRk9PIDogYmFyID0gQkFaIC8vUXV4LicpCisgICAgZGVmIHRlc3RfdG9rZW5pemVf
dmFsaWRfd2l0aF9jb21tZW50KHNlbGYpOgorICAgICAgICBleHBlY3RhdGlvbiA9IFRlc3RFeHBl
Y3RhdGlvblBhcnNlci50b2tlbml6ZSgnRk9PIDogYmFyID0gQkFaIC8vUXV4LicpCiAgICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWwoZXhwZWN0YXRpb24uaXNfbWFsZm9ybWVkKCksIEZhbHNlKQogICAg
ICAgICBzZWxmLmFzc2VydEVxdWFsKGV4cGVjdGF0aW9uLmNvbW1lbnQsICdRdXguJykKICAgICAg
ICAgc2VsZi5hc3NlcnRFcXVhbChzdHIoZXhwZWN0YXRpb24ubW9kaWZpZXJzKSwgJ1tcJ2Zvb1wn
XScpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKGV4cGVjdGF0aW9uLmV4cGVjdGF0aW9u
cyksICdbXCdiYXpcJ10nKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihleHBlY3RhdGlv
bi5lcnJvcnMpLCAwKQogCi0gICAgZGVmIHRlc3RfdmFsaWRfd2l0aF9tdWx0aXBsZV9tb2RpZmll
cnMoc2VsZik6Ci0gICAgICAgIGV4cGVjdGF0aW9uID0gVGVzdEV4cGVjdGF0aW9uUGFyc2VyLnBh
cnNlKCdGT08xIEZPTzIgOiBiYXIgPSBCQVogLy9RdXguJykKKyAgICBkZWYgdGVzdF90b2tlbml6
ZV92YWxpZF93aXRoX211bHRpcGxlX21vZGlmaWVycyhzZWxmKToKKyAgICAgICAgZXhwZWN0YXRp
b24gPSBUZXN0RXhwZWN0YXRpb25QYXJzZXIudG9rZW5pemUoJ0ZPTzEgRk9PMiA6IGJhciA9IEJB
WiAvL1F1eC4nKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV4cGVjdGF0aW9uLmlzX21hbGZv
cm1lZCgpLCBGYWxzZSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChleHBlY3RhdGlvbi5jb21t
ZW50LCAnUXV4LicpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKGV4cGVjdGF0aW9uLm1v
ZGlmaWVycyksICdbXCdmb28xXCcsIFwnZm9vMlwnXScpCkBAIC01MzAsMTMgKzUzMCwxMyBAQCBj
bGFzcyBUZXN0RXhwZWN0YXRpb25QYXJzZXJUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAKIGNs
YXNzIFRlc3RFeHBlY3RhdGlvblNlcmlhbGl6ZXJUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAg
ICAgZGVmIGFzc2VydF9yb3VuZF90cmlwKHNlbGYsIGluX3N0cmluZywgZXhwZWN0ZWRfc3RyaW5n
PU5vbmUpOgotICAgICAgICBleHBlY3RhdGlvbiA9IFRlc3RFeHBlY3RhdGlvblBhcnNlci5wYXJz
ZShpbl9zdHJpbmcpCisgICAgICAgIGV4cGVjdGF0aW9uID0gVGVzdEV4cGVjdGF0aW9uUGFyc2Vy
LnRva2VuaXplKGluX3N0cmluZykKICAgICAgICAgaWYgZXhwZWN0ZWRfc3RyaW5nIGlzIE5vbmU6
CiAgICAgICAgICAgICBleHBlY3RlZF9zdHJpbmcgPSBpbl9zdHJpbmcKICAgICAgICAgc2VsZi5h
c3NlcnRFcXVhbChleHBlY3RlZF9zdHJpbmcsIFRlc3RFeHBlY3RhdGlvblNlcmlhbGl6ZXIudG9f
c3RyaW5nKGV4cGVjdGF0aW9uKSkKIAogICAgIGRlZiBhc3NlcnRfbGlzdF9yb3VuZF90cmlwKHNl
bGYsIGluX3N0cmluZywgZXhwZWN0ZWRfc3RyaW5nPU5vbmUpOgotICAgICAgICBleHBlY3RhdGlv
bnMgPSBUZXN0RXhwZWN0YXRpb25QYXJzZXIucGFyc2VfbGlzdChpbl9zdHJpbmcpCisgICAgICAg
IGV4cGVjdGF0aW9ucyA9IFRlc3RFeHBlY3RhdGlvblBhcnNlci50b2tlbml6ZV9saXN0KGluX3N0
cmluZykKICAgICAgICAgaWYgZXhwZWN0ZWRfc3RyaW5nIGlzIE5vbmU6CiAgICAgICAgICAgICBl
eHBlY3RlZF9zdHJpbmcgPSBpbl9zdHJpbmcKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChleHBl
Y3RlZF9zdHJpbmcsIFRlc3RFeHBlY3RhdGlvblNlcmlhbGl6ZXIubGlzdF90b19zdHJpbmcoZXhw
ZWN0YXRpb25zKSkK
</data>

          </attachment>
      

    </bug>

</bugzilla>