<?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>104072</bug_id>
          
          <creation_ts>2012-12-04 17:30:46 -0800</creation_ts>
          <short_desc>nrwt: remove --no-record-results</short_desc>
          <delta_ts>2012-12-05 17:25:13 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>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>104064</dependson>
          <blocked>103824</blocked>
    
    <blocked>104158</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dirk Pranke">dpranke</reporter>
          <assigned_to name="Dirk Pranke">dpranke</assigned_to>
          <cc>abarth</cc>
    
    <cc>eric</cc>
    
    <cc>ojan</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>783155</commentid>
    <comment_count>0</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-12-04 17:30:46 -0800</bug_when>
    <thetext>nrwt: remove --no-record-results</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>783157</commentid>
    <comment_count>1</comment_count>
      <attachid>177618</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-12-04 17:31:48 -0800</bug_when>
    <thetext>Created attachment 177618
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>784097</commentid>
    <comment_count>2</comment_count>
      <attachid>177618</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-12-05 14:05:17 -0800</bug_when>
    <thetext>Comment on attachment 177618
Patch

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

&gt; Tools/Scripts/webkitpy/layout_tests/controllers/manager.py:376
&gt; +                                                num_workers=1, retrying=True)

nit: Don&apos;t we typically only indent things like this 4 spaces?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>784113</commentid>
    <comment_count>3</comment_count>
      <attachid>177618</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-12-05 14:26:36 -0800</bug_when>
    <thetext>Comment on attachment 177618
Patch

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

&gt;&gt; Tools/Scripts/webkitpy/layout_tests/controllers/manager.py:376
&gt;&gt; +                                                num_workers=1, retrying=True)
&gt; 
&gt; nit: Don&apos;t we typically only indent things like this 4 spaces?

I think it&apos;s acceptable to either do 4 spaces or line up w/ the opening paren.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>784159</commentid>
    <comment_count>4</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-12-05 15:06:35 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 177618 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=177618&amp;action=review
&gt; 
&gt; &gt;&gt; Tools/Scripts/webkitpy/layout_tests/controllers/manager.py:376
&gt; &gt;&gt; +                                                num_workers=1, retrying=True)
&gt; &gt; 
&gt; &gt; nit: Don&apos;t we typically only indent things like this 4 spaces?
&gt; 
&gt; I think it&apos;s acceptable to either do 4 spaces or line up w/ the opening paren.

No, WebKit style is to always indent by 4 spaces.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>784180</commentid>
    <comment_count>5</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-12-05 15:24:32 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; (In reply to comment #3)
&gt; &gt; (From update of attachment 177618 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=177618&amp;action=review
&gt; &gt; 
&gt; &gt; &gt;&gt; Tools/Scripts/webkitpy/layout_tests/controllers/manager.py:376
&gt; &gt; &gt;&gt; +                                                num_workers=1, retrying=True)
&gt; &gt; &gt; 
&gt; &gt; &gt; nit: Don&apos;t we typically only indent things like this 4 spaces?
&gt; &gt; 
&gt; &gt; I think it&apos;s acceptable to either do 4 spaces or line up w/ the opening paren.
&gt; 
&gt; No, WebKit style is to always indent by 4 spaces.

Hm. PEP-8 style is to line up with the paren, and we generally follow PEP-8 in Python code, as noted in http://trac.webkit.org/wiki/PythonGuidelines . It doesn&apos;t look like the main coding style web page ( http://www.webkit.org/coding/coding-style.html ) actually says anything about multi-line function calls one way or another, for any language. And, I would bet that more python code follows PEP-8 in this regard than WK style.

That said, I don&apos;t really care. Looks like both pep8 and pylint don&apos;t complain about this either way. I will fix this case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>784181</commentid>
    <comment_count>6</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-12-05 15:25:58 -0800</bug_when>
    <thetext>Committed r136768: &lt;http://trac.webkit.org/changeset/136768&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>784190</commentid>
    <comment_count>7</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-12-05 15:32:57 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; Hm. PEP-8 style is to line up with the paren, and we generally follow PEP-8 in Python code, as noted in http://trac.webkit.org/wiki/PythonGuidelines . It doesn&apos;t look like the main coding style web page ( http://www.webkit.org/coding/coding-style.html ) actually says anything about multi-line function calls one way or another, for any language. And, I would bet that more python code follows PEP-8 in this regard than WK style.

&quot;The indent size is 4 spaces.&quot; in the indentation section refers to ALL indentations.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>784211</commentid>
    <comment_count>8</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-12-05 15:51:15 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; (In reply to comment #5)
&gt; &gt; Hm. PEP-8 style is to line up with the paren, and we generally follow PEP-8 in Python code, as noted in http://trac.webkit.org/wiki/PythonGuidelines . It doesn&apos;t look like the main coding style web page ( http://www.webkit.org/coding/coding-style.html ) actually says anything about multi-line function calls one way or another, for any language. And, I would bet that more python code follows PEP-8 in this regard than WK style.
&gt; 
&gt; &quot;The indent size is 4 spaces.&quot; in the indentation section refers to ALL indentations.

If you say so. It would be nice if it mentioned this case explicitly, because I would not have (and didn&apos;t) make that leap. Also, it&apos;s not obvious that that page does (or should) apply to python code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>784218</commentid>
    <comment_count>9</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-12-05 15:54:20 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; If you say so. It would be nice if it mentioned this case explicitly, because I would not have (and didn&apos;t) make that leap.

Feel free to submit a patch but this had never come up on C++ side of things. I think the part of confusion comes from old python code that followed Google style guide instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>784250</commentid>
    <comment_count>10</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-12-05 16:37:58 -0800</bug_when>
    <thetext>(In reply to comment #9)
&gt; (In reply to comment #8)
&gt; &gt; If you say so. It would be nice if it mentioned this case explicitly, because I would not have (and didn&apos;t) make that leap.
&gt; 
&gt; Feel free to submit a patch but this had never come up on C++ side of things. I think the part of confusion comes from old python code that followed Google style guide instead.

No, this is coming up because I write code that follows PEP-8 style even for new code :).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>784298</commentid>
    <comment_count>11</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-12-05 17:06:54 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; (In reply to comment #9)
&gt; &gt; (In reply to comment #8)
&gt; &gt; &gt; If you say so. It would be nice if it mentioned this case explicitly, because I would not have (and didn&apos;t) make that leap.
&gt; &gt; 
&gt; &gt; Feel free to submit a patch but this had never come up on C++ side of things. I think the part of confusion comes from old python code that followed Google style guide instead.
&gt; 
&gt; No, this is coming up because I write code that follows PEP-8 style even for new code :).

But PEP8 doesn’t prevent indentations to be always 4 spaces.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>784302</commentid>
    <comment_count>12</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-12-05 17:09:52 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; (In reply to comment #10)
&gt; &gt; (In reply to comment #9)
&gt; &gt; &gt; (In reply to comment #8)
&gt; &gt; &gt; &gt; If you say so. It would be nice if it mentioned this case explicitly, because I would not have (and didn&apos;t) make that leap.
&gt; &gt; &gt; 
&gt; &gt; &gt; Feel free to submit a patch but this had never come up on C++ side of things. I think the part of confusion comes from old python code that followed Google style guide instead.
&gt; &gt; 
&gt; &gt; No, this is coming up because I write code that follows PEP-8 style even for new code :).
&gt; 
&gt; But PEP8 doesn’t prevent indentations to be always 4 spaces.

PEP-8 (the actual standard) says that function arguments should be aligned with the paren, and that left-indenting is wrong. pep8.py (the tool) and pylint do not seem to enforce that.

http://www.python.org/dev/peps/pep-0008/#indentation</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>784311</commentid>
    <comment_count>13</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-12-05 17:16:54 -0800</bug_when>
    <thetext>(In reply to comment #12)
&gt; (In reply to comment #11)
&gt; &gt; But PEP8 doesn’t prevent indentations to be always 4 spaces.
&gt; 
&gt; PEP-8 (the actual standard) says that function arguments should be aligned with the paren, and that left-indenting is wrong. pep8.py (the tool) and pylint do not seem to enforce that.
&gt; 
&gt; http://www.python.org/dev/peps/pep-0008/#indentation

See examples:
# More indentation included to distinguish this from the rest.
def long_function_name(
        var_one, var_two, var_three,
        var_four):
    print(var_one)

and

# Extra indentation is not necessary.
foo = long_function_name(
  var_one, var_two,
  var_three, var_four)

are both acceptable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>784324</commentid>
    <comment_count>14</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-12-05 17:25:13 -0800</bug_when>
    <thetext>(In reply to comment #13)
&gt; (In reply to comment #12)
&gt; &gt; (In reply to comment #11)
&gt; &gt; &gt; But PEP8 doesn’t prevent indentations to be always 4 spaces.
&gt; &gt; 
&gt; &gt; PEP-8 (the actual standard) says that function arguments should be aligned with the paren, and that left-indenting is wrong. pep8.py (the tool) and pylint do not seem to enforce that.
&gt; &gt; 
&gt; &gt; http://www.python.org/dev/peps/pep-0008/#indentation
&gt; 
&gt; See examples:
&gt; # More indentation included to distinguish this from the rest.
&gt; def long_function_name(
&gt;         var_one, var_two, var_three,
&gt;         var_four):
&gt;     print(var_one)
&gt; 
&gt; and
&gt; 
&gt; # Extra indentation is not necessary.
&gt; foo = long_function_name(
&gt;   var_one, var_two,
&gt;   var_three, var_four)
&gt; 
&gt; are both acceptable.

Okay, there are some cases where you not aligning w/ the left paren appear to be okay, but the line ojan commented on has variables on the first line and the second (and only) subsequent line: it matches the first &quot;no&quot; example, not the second &quot;yes&quot; example or the &quot;optional&quot; example.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>177618</attachid>
            <date>2012-12-04 17:31:48 -0800</date>
            <delta_ts>2012-12-05 14:26:36 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-104072-20121204172913.patch</filename>
            <type>text/plain</type>
            <size>24687</size>
            <attacher name="Dirk Pranke">dpranke</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM2NTg1CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZTUwZjRhMmQ5NzMwMzczN2RkOWJhMjI0NzgwOGU5YTk2
MzM4NjEyZS4uZWM1YmVmYmZlYTEyNjYxNTNlMjdmZTJiZmVkM2Q5YTcxYWUwOWQwMCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQ2
IEBACiAyMDEyLTEyLTA0ICBEaXJrIFByYW5rZSAgPGRwcmFua2VAY2hyb21pdW0ub3JnPgogCisg
ICAgICAgIG5yd3Q6IHJlbW92ZSAtLW5vLXJlY29yZC1yZXN1bHRzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDQwNzIKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgY29tbWFuZCBsaW5lIGZsYWcgd2Fz
IG9ubHkgYmVpbmcgdXNlZCBpbiB0aGUgdW5pdCB0ZXN0cyBhbmQKKyAgICAgICAgd2Fzbid0IHJl
YWxseSBuZWVkZWQgb25jZSB3ZSBzdGFydGVkIHVzaW5nIGEgbW9jayBmaWxlc3lzdGVtLgorCisg
ICAgICAgIEFsc28sIHJlZm9ybWF0IGEgYnVuY2ggb2YgbG9uZyBsaW5lcyAuLi4KKworICAgICAg
ICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL21hbmFnZXIucHk6
CisgICAgICAgIChNYW5hZ2VyLnJ1bik6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0cy5weToKKyAgICAgICAgKHBhcnNlX2FyZ3MpOgorICAg
ICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHNfaW50
ZWdyYXRpb250ZXN0LnB5OgorICAgICAgICAocGFyc2VfYXJncyk6CisgICAgICAgIChwYXNzaW5n
X3J1bik6CisgICAgICAgIChsb2dnaW5nX3J1bik6CisgICAgICAgIChNYWluVGVzdC50ZXN0X3Jl
cGVhdF9lYWNoX2l0ZXJhdGlvbnNfbnVtX3Rlc3RzKToKKyAgICAgICAgKE1haW5UZXN0LnRlc3Rf
dGVzdF9saXN0KToKKyAgICAgICAgKE1haW5UZXN0LnRlc3RfbWlzc2luZ19hbmRfdW5leHBlY3Rl
ZF9yZXN1bHRzKToKKyAgICAgICAgKE1haW5UZXN0LnRlc3RfcGl4ZWxfdGVzdF9kaXJlY3Rvcmll
cyk6CisgICAgICAgIChNYWluVGVzdC50ZXN0X21pc3NpbmdfYW5kX3VuZXhwZWN0ZWRfcmVzdWx0
c193aXRoX2N1c3RvbV9leGl0X2NvZGUpOgorICAgICAgICAoTWFpblRlc3QudGVzdF9jcmFzaF93
aXRoX3N0ZGVycik6CisgICAgICAgIChNYWluVGVzdC50ZXN0X25vX2ltYWdlX2ZhaWx1cmVfd2l0
aF9pbWFnZV9kaWZmKToKKyAgICAgICAgKE1haW5UZXN0LnRlc3RfY3Jhc2hfbG9nKToKKyAgICAg
ICAgKE1haW5UZXN0LnRlc3Rfd2ViX3Byb2Nlc3NfY3Jhc2hfbG9nKToKKyAgICAgICAgKE1haW5U
ZXN0LnRlc3RfZXhpdF9hZnRlcl9uX2ZhaWx1cmVzX3VwbG9hZCk6CisgICAgICAgIChNYWluVGVz
dC50ZXN0X3Jlc3VsdHNfZGlyZWN0b3J5X2Fic29sdXRlKToKKyAgICAgICAgKE1haW5UZXN0LnRl
c3RfcmVzdWx0c19kaXJlY3RvcnlfcmVsYXRpdmUpOgorICAgICAgICAoTWFpblRlc3QudGVzdF9y
ZWZ0ZXN0X3Nob3VsZF9ub3RfdXNlX25hbWluZ19jb252ZW50aW9uX2lmX25vdF9saXN0ZWRfaW5f
cmVmdGVzdGxpc3QpOgorICAgICAgICAoTWFpblRlc3QudGVzdF9hZGRpdGlvbmFsX2V4cGVjdGF0
aW9ucyk6CisgICAgICAgIChNYWluVGVzdC50ZXN0X291dHB1dF9kaWZmcyk6CisgICAgICAgIChF
bmRUb0VuZFRlc3QudGVzdF9lbmRfdG9fZW5kKToKKyAgICAgICAgKEVuZFRvRW5kVGVzdC50ZXN0
X3JlZnRlc3Rfd2l0aF90d29fbm90cmVmcyk6CisgICAgICAgIChSZWJhc2VsaW5lVGVzdC50ZXN0
X3Jlc2V0X3Jlc3VsdHMpOgorICAgICAgICAoUmViYXNlbGluZVRlc3QudGVzdF9taXNzaW5nX3Jl
c3VsdHMpOgorICAgICAgICAoUmViYXNlbGluZVRlc3QudGVzdF9uZXdfYmFzZWxpbmUpOgorCisy
MDEyLTEyLTA0ICBEaXJrIFByYW5rZSAgPGRwcmFua2VAY2hyb21pdW0ub3JnPgorCiAgICAgICAg
IG5yd3Q6IHNpbXBsaWZ5IHRoZSBmaW5kaW5nIG9mIHRlc3RzIHRvIHJldHJ5CiAgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDQwNjcKIApkaWZmIC0tZ2l0
IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdl
ci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL21h
bmFnZXIucHkKaW5kZXggNmFjODMwOWE3NWI5NzhhMmJjNTRjODkyZjY5ZGNhNzk5NTBhNmU2MS4u
N2VjNTY1MmI2YTRkMmE2NmYxNDcwMjg4M2U1MzY5YzNjOWE5Y2U2YyAxMDA2NDQKLS0tIGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdlci5weQor
KysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9tYW5h
Z2VyLnB5CkBAIC0zNTEsMTAgKzM1MSw4IEBAIGNsYXNzIE1hbmFnZXIob2JqZWN0KToKICAgICAg
ICAgc2VsZi5fcHJpbnRlci53cml0ZV91cGRhdGUoIlBhcnNpbmcgZXhwZWN0YXRpb25zIC4uLiIp
CiAgICAgICAgIHNlbGYuX2V4cGVjdGF0aW9ucyA9IHRlc3RfZXhwZWN0YXRpb25zLlRlc3RFeHBl
Y3RhdGlvbnMoc2VsZi5fcG9ydCwgdGVzdF9uYW1lcykKIAotICAgICAgICBudW1fYWxsX3Rlc3Rf
ZmlsZXNfZm91bmQgPSBsZW4odGVzdF9uYW1lcykKICAgICAgICAgdGVzdHNfdG9fcnVuLCB0ZXN0
c190b19za2lwID0gc2VsZi5fcHJlcGFyZV9saXN0cyhwYXRocywgdGVzdF9uYW1lcykKLQotICAg
ICAgICBzZWxmLl9wcmludGVyLnByaW50X2ZvdW5kKG51bV9hbGxfdGVzdF9maWxlc19mb3VuZCwg
bGVuKHRlc3RzX3RvX3J1biksIHNlbGYuX29wdGlvbnMucmVwZWF0X2VhY2gsIHNlbGYuX29wdGlv
bnMuaXRlcmF0aW9ucykKKyAgICAgICAgc2VsZi5fcHJpbnRlci5wcmludF9mb3VuZChsZW4odGVz
dF9uYW1lcyksIGxlbih0ZXN0c190b19ydW4pLCBzZWxmLl9vcHRpb25zLnJlcGVhdF9lYWNoLCBz
ZWxmLl9vcHRpb25zLml0ZXJhdGlvbnMpCiAKICAgICAgICAgIyBDaGVjayB0byBtYWtlIHN1cmUg
d2UncmUgbm90IHNraXBwaW5nIGV2ZXJ5IHRlc3QuCiAgICAgICAgIGlmIG5vdCB0ZXN0c190b19y
dW46CkBAIC0zNjUsNyArMzYzLDYgQEAgY2xhc3MgTWFuYWdlcihvYmplY3QpOgogICAgICAgICAg
ICAgcmV0dXJuIC0xCiAKICAgICAgICAgc3RhcnRfdGltZSA9IHRpbWUudGltZSgpCi0KICAgICAg
ICAgdHJ5OgogICAgICAgICAgICAgcmVzdWx0X3N1bW1hcnkgPSBzZWxmLl9ydW5fdGVzdHModGVz
dHNfdG9fcnVuLCB0ZXN0c190b19za2lwLCBzZWxmLl9vcHRpb25zLnJlcGVhdF9lYWNoLCBzZWxm
Ll9vcHRpb25zLml0ZXJhdGlvbnMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQoc2VsZi5fb3B0aW9ucy5jaGlsZF9wcm9jZXNzZXMpLCByZXRyeWluZz1G
YWxzZSkKQEAgLTM3NSw3ICszNzIsOCBAQCBjbGFzcyBNYW5hZ2VyKG9iamVjdCk6CiAgICAgICAg
ICAgICAgICAgX2xvZy5pbmZvKCcnKQogICAgICAgICAgICAgICAgIF9sb2cuaW5mbygiUmV0cnlp
bmcgJWQgdW5leHBlY3RlZCBmYWlsdXJlKHMpIC4uLiIgJSBsZW4odGVzdHNfdG9fcmV0cnkpKQog
ICAgICAgICAgICAgICAgIF9sb2cuaW5mbygnJykKLSAgICAgICAgICAgICAgICByZXRyeV9zdW1t
YXJ5ID0gc2VsZi5fcnVuX3Rlc3RzKHRlc3RzX3RvX3JldHJ5LCB0ZXN0c190b19za2lwPXNldCgp
LCByZXBlYXRfZWFjaD0xLCBpdGVyYXRpb25zPTEsIG51bV93b3JrZXJzPTEsIHJldHJ5aW5nPVRy
dWUpCisgICAgICAgICAgICAgICAgcmV0cnlfc3VtbWFyeSA9IHNlbGYuX3J1bl90ZXN0cyh0ZXN0
c190b19yZXRyeSwgdGVzdHNfdG9fc2tpcD1zZXQoKSwgcmVwZWF0X2VhY2g9MSwgaXRlcmF0aW9u
cz0xLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVt
X3dvcmtlcnM9MSwgcmV0cnlpbmc9VHJ1ZSkKICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAg
ICAgICAgcmV0cnlfc3VtbWFyeSA9IE5vbmUKICAgICAgICAgZmluYWxseToKQEAgLTM5MiwxOCAr
MzkwLDE0IEBAIGNsYXNzIE1hbmFnZXIob2JqZWN0KToKICAgICAgICAgc3VtbWFyaXplZF9yZXN1
bHRzID0gc3VtbWFyaXplX3Jlc3VsdHMoc2VsZi5fcG9ydCwgc2VsZi5fZXhwZWN0YXRpb25zLCBy
ZXN1bHRfc3VtbWFyeSwgcmV0cnlfc3VtbWFyeSkKICAgICAgICAgc2VsZi5fcHJpbnRlci5wcmlu
dF9yZXN1bHRzKGVuZF90aW1lIC0gc3RhcnRfdGltZSwgcmVzdWx0X3N1bW1hcnksIHN1bW1hcml6
ZWRfcmVzdWx0cykKIAotICAgICAgICAjIEZJWE1FOiByZW1vdmUgcmVjb3JkX3Jlc3VsdHMuIEl0
J3MganVzdCB1c2VkIGZvciB0ZXN0aW5nLiBUaGVyZSdzIG5vIG5lZWQKLSAgICAgICAgIyBmb3Ig
aXQgdG8gYmUgYSBjb21tYW5kbGluZSBhcmd1bWVudC4KLSAgICAgICAgaWYgc2VsZi5fb3B0aW9u
cy5yZWNvcmRfcmVzdWx0cyBhbmQgbm90IHNlbGYuX29wdGlvbnMuZHJ5X3J1bjoKKyAgICAgICAg
aWYgbm90IHNlbGYuX29wdGlvbnMuZHJ5X3J1bjoKICAgICAgICAgICAgIHNlbGYuX3BvcnQucHJp
bnRfbGVha3Nfc3VtbWFyeSgpCi0gICAgICAgICAgICAjIFdyaXRlIHRoZSBzYW1lIGRhdGEgdG8g
bG9nIGZpbGVzIGFuZCB1cGxvYWQgZ2VuZXJhdGVkIEpTT04gZmlsZXMgdG8gYXBwZW5naW5lIHNl
cnZlci4KICAgICAgICAgICAgIHNlbGYuX3VwbG9hZF9qc29uX2ZpbGVzKHN1bW1hcml6ZWRfcmVz
dWx0cywgcmVzdWx0X3N1bW1hcnkpCiAKLSAgICAgICAgIyBXcml0ZSB0aGUgc3VtbWFyeSB0byBk
aXNrIChyZXN1bHRzLmh0bWwpIGFuZCBkaXNwbGF5IGl0IGlmIHJlcXVlc3RlZC4KLSAgICAgICAg
aWYgbm90IHNlbGYuX29wdGlvbnMuZHJ5X3J1bjoKICAgICAgICAgICAgIHJlc3VsdHNfcGF0aCA9
IHNlbGYuX2ZpbGVzeXN0ZW0uam9pbihzZWxmLl9yZXN1bHRzX2RpcmVjdG9yeSwgInJlc3VsdHMu
aHRtbCIpCiAgICAgICAgICAgICBzZWxmLl9jb3B5X3Jlc3VsdHNfaHRtbF9maWxlKHJlc3VsdHNf
cGF0aCkKLSAgICAgICAgICAgIGlmIHNlbGYuX29wdGlvbnMuc2hvd19yZXN1bHRzIGFuZCByZXN1
bHRfc3VtbWFyeS51bmV4cGVjdGVkX3Jlc3VsdHMgb3IgKHNlbGYuX29wdGlvbnMuZnVsbF9yZXN1
bHRzX2h0bWwgYW5kIHJlc3VsdF9zdW1tYXJ5LnRvdGFsX2ZhaWx1cmVzKToKKyAgICAgICAgICAg
IGlmIHNlbGYuX29wdGlvbnMuc2hvd19yZXN1bHRzIGFuZCAocmVzdWx0X3N1bW1hcnkudW5leHBl
Y3RlZF9yZXN1bHRzIG9yCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIChzZWxmLl9vcHRpb25zLmZ1bGxfcmVzdWx0c19odG1sIGFuZCByZXN1bHRfc3VtbWFy
eS50b3RhbF9mYWlsdXJlcykpOgogICAgICAgICAgICAgICAgIHNlbGYuX3BvcnQuc2hvd19yZXN1
bHRzX2h0bWxfZmlsZShyZXN1bHRzX3BhdGgpCiAKICAgICAgICAgcmV0dXJuIHNlbGYuX3BvcnQu
ZXhpdF9jb2RlX2Zyb21fc3VtbWFyaXplZF9yZXN1bHRzKHN1bW1hcml6ZWRfcmVzdWx0cykKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRf
dGVzdHMucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9ydW5fd2Via2l0
X3Rlc3RzLnB5CmluZGV4IGRmMGUxOWVjOWEyYjRmOTU0Y2YwNjcwMDYwYzRjYmM5ZWVmZDUzZDEu
Ljc2Y2U1NTVjMzgyOWU0OTFlZGQ2ZTZjZTI3NjJlZmU0NGFkOTA5ZTQgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHMucHkKKysr
IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0cy5w
eQpAQCAtMjg5LDkgKzI4OSw2IEBAIGRlZiBwYXJzZV9hcmdzKGFyZ3M9Tm9uZSk6CiAgICAgICAg
ICAgICBoZWxwPSJTaG93IGFsbCBmYWlsdXJlcyBpbiByZXN1bHRzLmh0bWwsIHJhdGhlciB0aGFu
IG9ubHkgcmVncmVzc2lvbnMiKSwKICAgICAgICAgb3B0cGFyc2UubWFrZV9vcHRpb24oIi0tY2xv
YmJlci1vbGQtcmVzdWx0cyIsIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsCiAgICAgICAgICAgICBkZWZh
dWx0PUZhbHNlLCBoZWxwPSJDbG9iYmVycyB0ZXN0IHJlc3VsdHMgZnJvbSBwcmV2aW91cyBydW5z
LiIpLAotICAgICAgICBvcHRwYXJzZS5tYWtlX29wdGlvbigiLS1uby1yZWNvcmQtcmVzdWx0cyIs
IGFjdGlvbj0ic3RvcmVfZmFsc2UiLAotICAgICAgICAgICAgZGVmYXVsdD1UcnVlLCBkZXN0PSJy
ZWNvcmRfcmVzdWx0cyIsCi0gICAgICAgICAgICBoZWxwPSJEb24ndCByZWNvcmQgdGhlIHJlc3Vs
dHMuIiksCiAgICAgICAgIG9wdHBhcnNlLm1ha2Vfb3B0aW9uKCItLWh0dHAiLCBhY3Rpb249InN0
b3JlX3RydWUiLCBkZXN0PSJodHRwIiwKICAgICAgICAgICAgIGRlZmF1bHQ9VHJ1ZSwgaGVscD0i
UnVuIEhUVFAgYW5kIFdlYlNvY2tldCB0ZXN0cyAoZGVmYXVsdCkiKSwKICAgICAgICAgb3B0cGFy
c2UubWFrZV9vcHRpb24oIi0tbm8taHR0cCIsIGFjdGlvbj0ic3RvcmVfZmFsc2UiLCBkZXN0PSJo
dHRwIiwKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1
bl93ZWJraXRfdGVzdHNfaW50ZWdyYXRpb250ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0c19pbnRlZ3JhdGlvbnRlc3QucHkKaW5kZXgg
ZmU3MDA1MDAxODcyNDdiZDhlODRjYzUwMzIwODc4YjI2N2Q1YTZkMS4uN2I5NjlmMTY0ZTZjNTQ1
YWI5OTA2NWI0Mzc0NmNhMmViZWI1MTYzOCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0c19pbnRlZ3JhdGlvbnRlc3QucHkKKysr
IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0c19p
bnRlZ3JhdGlvbnRlc3QucHkKQEAgLTU3LDEzICs1NywxMSBAQCBmcm9tIHdlYmtpdHB5LnRlc3Qu
c2tpcCBpbXBvcnQgc2tpcF9pZgogZnJvbSB3ZWJraXRweS50b29sLm1vY2t0b29sIGltcG9ydCBN
b2NrT3B0aW9ucwogCiAKLWRlZiBwYXJzZV9hcmdzKGV4dHJhX2FyZ3M9Tm9uZSwgcmVjb3JkX3Jl
c3VsdHM9RmFsc2UsIHRlc3RzX2luY2x1ZGVkPUZhbHNlLCBuZXdfcmVzdWx0cz1GYWxzZSwgcHJp
bnRfbm90aGluZz1UcnVlKToKK2RlZiBwYXJzZV9hcmdzKGV4dHJhX2FyZ3M9Tm9uZSwgdGVzdHNf
aW5jbHVkZWQ9RmFsc2UsIG5ld19yZXN1bHRzPUZhbHNlLCBwcmludF9ub3RoaW5nPVRydWUpOgog
ICAgIGV4dHJhX2FyZ3MgPSBleHRyYV9hcmdzIG9yIFtdCiAgICAgYXJncyA9IFtdCiAgICAgaWYg
bm90ICctLXBsYXRmb3JtJyBpbiBleHRyYV9hcmdzOgogICAgICAgICBhcmdzLmV4dGVuZChbJy0t
cGxhdGZvcm0nLCAndGVzdCddKQotICAgIGlmIG5vdCByZWNvcmRfcmVzdWx0czoKLSAgICAgICAg
YXJncy5hcHBlbmQoJy0tbm8tcmVjb3JkLXJlc3VsdHMnKQogICAgIGlmIG5vdCBuZXdfcmVzdWx0
czoKICAgICAgICAgYXJncy5hcHBlbmQoJy0tbm8tbmV3LXRlc3QtcmVzdWx0cycpCiAKQEAgLTc5
LDggKzc3LDggQEAgZGVmIHBhcnNlX2FyZ3MoZXh0cmFfYXJncz1Ob25lLCByZWNvcmRfcmVzdWx0
cz1GYWxzZSwgdGVzdHNfaW5jbHVkZWQ9RmFsc2UsIG5ld18KICAgICByZXR1cm4gcnVuX3dlYmtp
dF90ZXN0cy5wYXJzZV9hcmdzKGFyZ3MpCiAKIAotZGVmIHBhc3NpbmdfcnVuKGV4dHJhX2FyZ3M9
Tm9uZSwgcG9ydF9vYmo9Tm9uZSwgcmVjb3JkX3Jlc3VsdHM9RmFsc2UsIHRlc3RzX2luY2x1ZGVk
PUZhbHNlLCBob3N0PU5vbmUsIHNoYXJlZF9wb3J0PVRydWUpOgotICAgIG9wdGlvbnMsIHBhcnNl
ZF9hcmdzID0gcGFyc2VfYXJncyhleHRyYV9hcmdzLCByZWNvcmRfcmVzdWx0cywgdGVzdHNfaW5j
bHVkZWQpCitkZWYgcGFzc2luZ19ydW4oZXh0cmFfYXJncz1Ob25lLCBwb3J0X29iaj1Ob25lLCB0
ZXN0c19pbmNsdWRlZD1GYWxzZSwgaG9zdD1Ob25lLCBzaGFyZWRfcG9ydD1UcnVlKToKKyAgICBv
cHRpb25zLCBwYXJzZWRfYXJncyA9IHBhcnNlX2FyZ3MoZXh0cmFfYXJncywgdGVzdHNfaW5jbHVk
ZWQpCiAgICAgaWYgbm90IHBvcnRfb2JqOgogICAgICAgICBob3N0ID0gaG9zdCBvciBNb2NrSG9z
dCgpCiAgICAgICAgIHBvcnRfb2JqID0gaG9zdC5wb3J0X2ZhY3RvcnkuZ2V0KHBvcnRfbmFtZT1v
cHRpb25zLnBsYXRmb3JtLCBvcHRpb25zPW9wdGlvbnMpCkBAIC05NCw5ICs5Miw4IEBAIGRlZiBw
YXNzaW5nX3J1bihleHRyYV9hcmdzPU5vbmUsIHBvcnRfb2JqPU5vbmUsIHJlY29yZF9yZXN1bHRz
PUZhbHNlLCB0ZXN0c19pbmNsCiAgICAgcmV0dXJuIHJlcyA9PSAwCiAKIAotZGVmIGxvZ2dpbmdf
cnVuKGV4dHJhX2FyZ3M9Tm9uZSwgcG9ydF9vYmo9Tm9uZSwgcmVjb3JkX3Jlc3VsdHM9RmFsc2Us
IHRlc3RzX2luY2x1ZGVkPUZhbHNlLCBob3N0PU5vbmUsIG5ld19yZXN1bHRzPUZhbHNlLCBzaGFy
ZWRfcG9ydD1UcnVlKToKK2RlZiBsb2dnaW5nX3J1bihleHRyYV9hcmdzPU5vbmUsIHBvcnRfb2Jq
PU5vbmUsIHRlc3RzX2luY2x1ZGVkPUZhbHNlLCBob3N0PU5vbmUsIG5ld19yZXN1bHRzPUZhbHNl
LCBzaGFyZWRfcG9ydD1UcnVlKToKICAgICBvcHRpb25zLCBwYXJzZWRfYXJncyA9IHBhcnNlX2Fy
Z3MoZXh0cmFfYXJncz1leHRyYV9hcmdzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICByZWNvcmRfcmVzdWx0cz1yZWNvcmRfcmVzdWx0cywKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdGVzdHNfaW5jbHVkZWQ9dGVzdHNfaW5jbHVkZWQsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW50X25vdGhpbmc9RmFsc2UsIG5l
d19yZXN1bHRzPW5ld19yZXN1bHRzKQogICAgIGhvc3QgPSBob3N0IG9yIE1vY2tIb3N0KCkKQEAg
LTQ3NCwxMSArNDcxLDkgQEAgY2xhc3MgTWFpblRlc3QodW5pdHRlc3QuVGVzdENhc2UsIFN0cmVh
bVRlc3RpbmdNaXhpbik6CiAgICAgICAgICMgVGhlIHRvdGFsIG51bWJlciBvZiB0ZXN0cyBzaG91
bGQgYmU6IG51bWJlcl9vZl90ZXN0cyAqCiAgICAgICAgICMgcmVwZWF0X2VhY2ggKiBpdGVyYXRp
b25zCiAgICAgICAgIGhvc3QgPSBNb2NrSG9zdCgpCi0gICAgICAgIHJlcywgb3V0LCBlcnIsIF8g
PSBsb2dnaW5nX3J1bihbJy0taXRlcmF0aW9ucycsICcyJywKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAnLS1yZXBlYXQtZWFjaCcsICc0JywKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAnLS1kZWJ1Zy1yd3QtbG9nZ2luZycsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Bhc3Nlcy90ZXh0Lmh0bWwnLCAnZmFp
bHVyZXMvZXhwZWN0ZWQvdGV4dC5odG1sJ10sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB0ZXN0c19pbmNsdWRlZD1UcnVlLCBob3N0PWhvc3QsIHJlY29yZF9yZXN1bHRz
PVRydWUpCisgICAgICAgIHJlcywgb3V0LCBlcnIsIF8gPSBsb2dnaW5nX3J1bigKKyAgICAgICAg
ICAgIFsnLS1pdGVyYXRpb25zJywgJzInLCAnLS1yZXBlYXQtZWFjaCcsICc0JywgJy0tZGVidWct
cnd0LWxvZ2dpbmcnLCAncGFzc2VzL3RleHQuaHRtbCcsICdmYWlsdXJlcy9leHBlY3RlZC90ZXh0
Lmh0bWwnXSwKKyAgICAgICAgICAgIHRlc3RzX2luY2x1ZGVkPVRydWUsIGhvc3Q9aG9zdCkKICAg
ICAgICAgc2VsZi5hc3NlcnRDb250YWlucyhvdXQsICI9PiBSZXN1bHRzOiA4LzE2IHRlc3RzIHBh
c3NlZCAoNTAuMCUpXG4iKQogICAgICAgICBzZWxmLmFzc2VydENvbnRhaW5zKGVyciwgIkFsbCAx
NiB0ZXN0cyByYW4gYXMgZXhwZWN0ZWQuXG4iKQogCkBAIC01NjMsOCArNTU4LDcgQEAgY2xhc3Mg
TWFpblRlc3QodW5pdHRlc3QuVGVzdENhc2UsIFN0cmVhbVRlc3RpbmdNaXhpbik6CiAgICAgICAg
IHRlc3RzX3J1biA9IGdldF90ZXN0c19ydW4oWyctLXRlc3QtbGlzdD0lcycgJSBmaWxlbmFtZV0s
IHRlc3RzX2luY2x1ZGVkPVRydWUsIGZsYXR0ZW5fYmF0Y2hlcz1UcnVlLCBob3N0PWhvc3QpCiAg
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoWydwYXNzZXMvdGV4dC5odG1sJ10sIHRlc3RzX3J1bikK
ICAgICAgICAgaG9zdC5maWxlc3lzdGVtLnJlbW92ZShmaWxlbmFtZSkKLSAgICAgICAgcmVzLCBv
dXQsIGVyciwgdXNlciA9IGxvZ2dpbmdfcnVuKFsnLS10ZXN0LWxpc3Q9JXMnICUgZmlsZW5hbWVd
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdHNfaW5jbHVk
ZWQ9VHJ1ZSwgaG9zdD1ob3N0KQorICAgICAgICByZXMsIG91dCwgZXJyLCB1c2VyID0gbG9nZ2lu
Z19ydW4oWyctLXRlc3QtbGlzdD0lcycgJSBmaWxlbmFtZV0sIHRlc3RzX2luY2x1ZGVkPVRydWUs
IGhvc3Q9aG9zdCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXMsIC0xKQogICAgICAgICBz
ZWxmLmFzc2VydE5vdEVtcHR5KGVycikKIApAQCAtNTkzLDcgKzU4Nyw3IEBAIGNsYXNzIE1haW5U
ZXN0KHVuaXR0ZXN0LlRlc3RDYXNlLCBTdHJlYW1UZXN0aW5nTWl4aW4pOgogICAgICAgICAgICAg
J2ZhaWx1cmVzL2V4cGVjdGVkL21pc3NpbmdfaW1hZ2UuaHRtbCcsCiAgICAgICAgICAgICAnZmFp
bHVyZXMvdW5leHBlY3RlZC9taXNzaW5nX3RleHQuaHRtbCcsCiAgICAgICAgICAgICAnZmFpbHVy
ZXMvdW5leHBlY3RlZC90ZXh0LWltYWdlLWNoZWNrc3VtLmh0bWwnXSwKLSAgICAgICAgICAgIHRl
c3RzX2luY2x1ZGVkPVRydWUsIGhvc3Q9aG9zdCwgcmVjb3JkX3Jlc3VsdHM9VHJ1ZSkKKyAgICAg
ICAgICAgIHRlc3RzX2luY2x1ZGVkPVRydWUsIGhvc3Q9aG9zdCkKICAgICAgICAgZmlsZV9saXN0
ID0gaG9zdC5maWxlc3lzdGVtLndyaXR0ZW5fZmlsZXMua2V5cygpCiAgICAgICAgIGZpbGVfbGlz
dC5yZW1vdmUoJy90bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy90ZXN0c19ydW4wLnR4dCcpCiAgICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzLCAxKQpAQCAtNjExLDcgKzYwNSw3IEBAIGNsYXNzIE1h
aW5UZXN0KHVuaXR0ZXN0LlRlc3RDYXNlLCBTdHJlYW1UZXN0aW5nTWl4aW4pOgogICAgICAgICBh
cmdzID0gWyctLXBpeGVsLXRlc3RzJywgJy0tcGl4ZWwtdGVzdC1kaXJlY3RvcnknLCAnZmFpbHVy
ZXMvdW5leHBlY3RlZC9waXhlbGRpcicsCiAgICAgICAgICAgICAgICAgJ2ZhaWx1cmVzL3VuZXhw
ZWN0ZWQvcGl4ZWxkaXIvaW1hZ2VfaW5fcGl4ZWxkaXIuaHRtbCcsCiAgICAgICAgICAgICAgICAg
J2ZhaWx1cmVzL3VuZXhwZWN0ZWQvaW1hZ2Vfbm90X2luX3BpeGVsZGlyLmh0bWwnXQotICAgICAg
ICByZXMsIG91dCwgZXJyLCBfID0gbG9nZ2luZ19ydW4oZXh0cmFfYXJncz1hcmdzLCBob3N0PWhv
c3QsIHJlY29yZF9yZXN1bHRzPVRydWUsIHRlc3RzX2luY2x1ZGVkPVRydWUpCisgICAgICAgIHJl
cywgb3V0LCBlcnIsIF8gPSBsb2dnaW5nX3J1bihleHRyYV9hcmdzPWFyZ3MsIGhvc3Q9aG9zdCwg
dGVzdHNfaW5jbHVkZWQ9VHJ1ZSkKIAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlcywgMSkK
ICAgICAgICAgZXhwZWN0ZWRfdG9rZW4gPSAnInVuZXhwZWN0ZWQiOnsicGl4ZWxkaXIiOnsiaW1h
Z2VfaW5fcGl4ZWxkaXIuaHRtbCI6eyJleHBlY3RlZCI6IlBBU1MiLCJhY3R1YWwiOiJJTUFHRSIn
CkBAIC02MzIsMjcgKzYyNiwxNyBAQCBjbGFzcyBNYWluVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSwg
U3RyZWFtVGVzdGluZ01peGluKToKICAgICAgICAgICAgICdmYWlsdXJlcy9leHBlY3RlZC9taXNz
aW5nX2ltYWdlLmh0bWwnLAogICAgICAgICAgICAgJ2ZhaWx1cmVzL3VuZXhwZWN0ZWQvbWlzc2lu
Z190ZXh0Lmh0bWwnLAogICAgICAgICAgICAgJ2ZhaWx1cmVzL3VuZXhwZWN0ZWQvdGV4dC1pbWFn
ZS1jaGVja3N1bS5odG1sJ10sCi0gICAgICAgICAgICB0ZXN0c19pbmNsdWRlZD1UcnVlLCBob3N0
PWhvc3QsIHJlY29yZF9yZXN1bHRzPVRydWUsIHBvcnRfb2JqPXRlc3RfcG9ydCkKKyAgICAgICAg
ICAgIHRlc3RzX2luY2x1ZGVkPVRydWUsIGhvc3Q9aG9zdCwgcG9ydF9vYmo9dGVzdF9wb3J0KQog
ICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlcywgMikKIAogICAgIGRlZiB0ZXN0X2NyYXNoX3dp
dGhfc3RkZXJyKHNlbGYpOgogICAgICAgICBob3N0ID0gTW9ja0hvc3QoKQotICAgICAgICByZXMs
IGJ1aWxkYm90X291dHB1dCwgcmVndWxhcl9vdXRwdXQsIHVzZXIgPSBsb2dnaW5nX3J1bihbCi0g
ICAgICAgICAgICAgICAgJ2ZhaWx1cmVzL3VuZXhwZWN0ZWQvY3Jhc2gtd2l0aC1zdGRlcnIuaHRt
bCcsCi0gICAgICAgICAgICBdLAotICAgICAgICAgICAgdGVzdHNfaW5jbHVkZWQ9VHJ1ZSwKLSAg
ICAgICAgICAgIHJlY29yZF9yZXN1bHRzPVRydWUsCi0gICAgICAgICAgICBob3N0PWhvc3QpCisg
ICAgICAgIHJlcywgYnVpbGRib3Rfb3V0cHV0LCByZWd1bGFyX291dHB1dCwgdXNlciA9IGxvZ2dp
bmdfcnVuKFsnZmFpbHVyZXMvdW5leHBlY3RlZC9jcmFzaC13aXRoLXN0ZGVyci5odG1sJ10sIHRl
c3RzX2luY2x1ZGVkPVRydWUsIGhvc3Q9aG9zdCkKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGhv
c3QuZmlsZXN5c3RlbS5yZWFkX3RleHRfZmlsZSgnL3RtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Z1
bGxfcmVzdWx0cy5qc29uJykuZmluZCgneyJjcmFzaC13aXRoLXN0ZGVyci5odG1sIjp7ImV4cGVj
dGVkIjoiUEFTUyIsImFjdHVhbCI6IkNSQVNIIiwiaGFzX3N0ZGVyciI6dHJ1ZX19JykgIT0gLTEp
CiAKICAgICBkZWYgdGVzdF9ub19pbWFnZV9mYWlsdXJlX3dpdGhfaW1hZ2VfZGlmZihzZWxmKToK
ICAgICAgICAgaG9zdCA9IE1vY2tIb3N0KCkKLSAgICAgICAgcmVzLCBidWlsZGJvdF9vdXRwdXQs
IHJlZ3VsYXJfb3V0cHV0LCB1c2VyID0gbG9nZ2luZ19ydW4oWwotICAgICAgICAgICAgICAgICdm
YWlsdXJlcy91bmV4cGVjdGVkL2NoZWNrc3VtLXdpdGgtbWF0Y2hpbmctaW1hZ2UuaHRtbCcsCi0g
ICAgICAgICAgICBdLAotICAgICAgICAgICAgdGVzdHNfaW5jbHVkZWQ9VHJ1ZSwKLSAgICAgICAg
ICAgIHJlY29yZF9yZXN1bHRzPVRydWUsCi0gICAgICAgICAgICBob3N0PWhvc3QpCisgICAgICAg
IHJlcywgYnVpbGRib3Rfb3V0cHV0LCByZWd1bGFyX291dHB1dCwgdXNlciA9IGxvZ2dpbmdfcnVu
KFsnZmFpbHVyZXMvdW5leHBlY3RlZC9jaGVja3N1bS13aXRoLW1hdGNoaW5nLWltYWdlLmh0bWwn
XSwgdGVzdHNfaW5jbHVkZWQ9VHJ1ZSwgaG9zdD1ob3N0KQogICAgICAgICBzZWxmLmFzc2VydFRy
dWUoaG9zdC5maWxlc3lzdGVtLnJlYWRfdGV4dF9maWxlKCcvdG1wL2xheW91dC10ZXN0LXJlc3Vs
dHMvZnVsbF9yZXN1bHRzLmpzb24nKS5maW5kKCcibnVtX3JlZ3Jlc3Npb25zIjowJykgIT0gLTEp
CiAKICAgICBkZWYgdGVzdF9jcmFzaF9sb2coc2VsZik6CkBAIC02NjMsMTIgKzY0Nyw3IEBAIGNs
YXNzIE1haW5UZXN0KHVuaXR0ZXN0LlRlc3RDYXNlLCBTdHJlYW1UZXN0aW5nTWl4aW4pOgogICAg
ICAgICBtb2NrX2NyYXNoX3JlcG9ydCA9IG1ha2VfbW9ja19jcmFzaF9yZXBvcnRfZGFyd2luKCdE
dW1wUmVuZGVyVHJlZScsIDEyMzQ1KQogICAgICAgICBob3N0ID0gTW9ja0hvc3QoKQogICAgICAg
ICBob3N0LmZpbGVzeXN0ZW0ud3JpdGVfdGV4dF9maWxlKCcvVXNlcnMvbW9jay9MaWJyYXJ5L0xv
Z3MvRGlhZ25vc3RpY1JlcG9ydHMvRHVtcFJlbmRlclRyZWVfMjAxMS0wNi0xMy0xNTA3MTlfcXVh
ZHplbi5jcmFzaCcsIG1vY2tfY3Jhc2hfcmVwb3J0KQotICAgICAgICByZXMsIGJ1aWxkYm90X291
dHB1dCwgcmVndWxhcl9vdXRwdXQsIHVzZXIgPSBsb2dnaW5nX3J1bihbCi0gICAgICAgICAgICAg
ICAgJ2ZhaWx1cmVzL3VuZXhwZWN0ZWQvY3Jhc2gtd2l0aC1zdGRlcnIuaHRtbCcsCi0gICAgICAg
ICAgICBdLAotICAgICAgICAgICAgdGVzdHNfaW5jbHVkZWQ9VHJ1ZSwKLSAgICAgICAgICAgIHJl
Y29yZF9yZXN1bHRzPVRydWUsCi0gICAgICAgICAgICBob3N0PWhvc3QpCisgICAgICAgIHJlcywg
YnVpbGRib3Rfb3V0cHV0LCByZWd1bGFyX291dHB1dCwgdXNlciA9IGxvZ2dpbmdfcnVuKFsnZmFp
bHVyZXMvdW5leHBlY3RlZC9jcmFzaC13aXRoLXN0ZGVyci5odG1sJ10sIHRlc3RzX2luY2x1ZGVk
PVRydWUsIGhvc3Q9aG9zdCkKICAgICAgICAgZXhwZWN0ZWRfY3Jhc2hfbG9nID0gbW9ja19jcmFz
aF9yZXBvcnQKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChob3N0LmZpbGVzeXN0ZW0ucmVhZF90
ZXh0X2ZpbGUoJy90bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYWlsdXJlcy91bmV4cGVjdGVkL2Ny
YXNoLXdpdGgtc3RkZXJyLWNyYXNoLWxvZy50eHQnKSwgZXhwZWN0ZWRfY3Jhc2hfbG9nKQogCkBA
IC02ODAsMjQgKzY1OSwxNCBAQCBjbGFzcyBNYWluVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSwgU3Ry
ZWFtVGVzdGluZ01peGluKToKICAgICAgICAgbW9ja19jcmFzaF9yZXBvcnQgPSBtYWtlX21vY2tf
Y3Jhc2hfcmVwb3J0X2RhcndpbignV2ViUHJvY2VzcycsIDEyMzQ1KQogICAgICAgICBob3N0ID0g
TW9ja0hvc3QoKQogICAgICAgICBob3N0LmZpbGVzeXN0ZW0ud3JpdGVfdGV4dF9maWxlKCcvVXNl
cnMvbW9jay9MaWJyYXJ5L0xvZ3MvRGlhZ25vc3RpY1JlcG9ydHMvV2ViUHJvY2Vzc18yMDExLTA2
LTEzLTE1MDcxOV9xdWFkemVuLmNyYXNoJywgbW9ja19jcmFzaF9yZXBvcnQpCi0gICAgICAgIHJl
cywgYnVpbGRib3Rfb3V0cHV0LCByZWd1bGFyX291dHB1dCwgdXNlciA9IGxvZ2dpbmdfcnVuKFsK
LSAgICAgICAgICAgICAgICAnZmFpbHVyZXMvdW5leHBlY3RlZC93ZWItcHJvY2Vzcy1jcmFzaC13
aXRoLXN0ZGVyci5odG1sJywKLSAgICAgICAgICAgIF0sCi0gICAgICAgICAgICB0ZXN0c19pbmNs
dWRlZD1UcnVlLAotICAgICAgICAgICAgcmVjb3JkX3Jlc3VsdHM9VHJ1ZSwKLSAgICAgICAgICAg
IGhvc3Q9aG9zdCkKKyAgICAgICAgcmVzLCBidWlsZGJvdF9vdXRwdXQsIHJlZ3VsYXJfb3V0cHV0
LCB1c2VyID0gbG9nZ2luZ19ydW4oWydmYWlsdXJlcy91bmV4cGVjdGVkL3dlYi1wcm9jZXNzLWNy
YXNoLXdpdGgtc3RkZXJyLmh0bWwnXSwgdGVzdHNfaW5jbHVkZWQ9VHJ1ZSwgaG9zdD1ob3N0KQog
ICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGhvc3QuZmlsZXN5c3RlbS5yZWFkX3RleHRfZmlsZSgn
L3RtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2ZhaWx1cmVzL3VuZXhwZWN0ZWQvd2ViLXByb2Nlc3Mt
Y3Jhc2gtd2l0aC1zdGRlcnItY3Jhc2gtbG9nLnR4dCcpLCBtb2NrX2NyYXNoX3JlcG9ydCkKIAog
ICAgIGRlZiB0ZXN0X2V4aXRfYWZ0ZXJfbl9mYWlsdXJlc191cGxvYWQoc2VsZik6CiAgICAgICAg
IGhvc3QgPSBNb2NrSG9zdCgpCi0gICAgICAgIHJlcywgYnVpbGRib3Rfb3V0cHV0LCByZWd1bGFy
X291dHB1dCwgdXNlciA9IGxvZ2dpbmdfcnVuKFsKLSAgICAgICAgICAgICAgICAnZmFpbHVyZXMv
dW5leHBlY3RlZC90ZXh0LWltYWdlLWNoZWNrc3VtLmh0bWwnLAotICAgICAgICAgICAgICAgICdw
YXNzZXMvdGV4dC5odG1sJywKLSAgICAgICAgICAgICAgICAnLS1leGl0LWFmdGVyLW4tZmFpbHVy
ZXMnLCAnMScsCi0gICAgICAgICAgICBdLAotICAgICAgICAgICAgdGVzdHNfaW5jbHVkZWQ9VHJ1
ZSwKLSAgICAgICAgICAgIHJlY29yZF9yZXN1bHRzPVRydWUsCi0gICAgICAgICAgICBob3N0PWhv
c3QpCisgICAgICAgIHJlcywgYnVpbGRib3Rfb3V0cHV0LCByZWd1bGFyX291dHB1dCwgdXNlciA9
IGxvZ2dpbmdfcnVuKAorICAgICAgICAgICBbJ2ZhaWx1cmVzL3VuZXhwZWN0ZWQvdGV4dC1pbWFn
ZS1jaGVja3N1bS5odG1sJywgJ3Bhc3Nlcy90ZXh0Lmh0bWwnLCAnLS1leGl0LWFmdGVyLW4tZmFp
bHVyZXMnLCAnMSddLAorICAgICAgICAgICB0ZXN0c19pbmNsdWRlZD1UcnVlLCBob3N0PWhvc3Qp
CiAKICAgICAgICAgIyBCeSByZXR1cm5pbmcgRmFsc2UsIHdlIGtub3cgdGhhdCB0aGUgaW5jcmVt
ZW50YWwgcmVzdWx0cyB3ZXJlIGdlbmVyYXRlZCBhbmQgdGhlbiBkZWxldGVkLgogICAgICAgICBz
ZWxmLmFzc2VydEZhbHNlKGhvc3QuZmlsZXN5c3RlbS5leGlzdHMoJy90bXAvbGF5b3V0LXRlc3Qt
cmVzdWx0cy9pbmNyZW1lbnRhbF9yZXN1bHRzLmpzb24nKSkKQEAgLTc3Myw4ICs3NDIsNyBAQCBj
bGFzcyBNYWluVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSwgU3RyZWFtVGVzdGluZ01peGluKToKIAog
ICAgICAgICBob3N0ID0gTW9ja0hvc3QoKQogICAgICAgICB3aXRoIGhvc3QuZmlsZXN5c3RlbS5t
a2R0ZW1wKCkgYXMgdG1wZGlyOgotICAgICAgICAgICAgcmVzLCBvdXQsIGVyciwgdXNlciA9IGxv
Z2dpbmdfcnVuKFsnLS1yZXN1bHRzLWRpcmVjdG9yeT0nICsgc3RyKHRtcGRpcildLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RzX2luY2x1ZGVkPVRy
dWUsIGhvc3Q9aG9zdCkKKyAgICAgICAgICAgIHJlcywgb3V0LCBlcnIsIHVzZXIgPSBsb2dnaW5n
X3J1bihbJy0tcmVzdWx0cy1kaXJlY3Rvcnk9JyArIHN0cih0bXBkaXIpXSwgdGVzdHNfaW5jbHVk
ZWQ9VHJ1ZSwgaG9zdD1ob3N0KQogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh1c2VyLm9w
ZW5lZF91cmxzLCBbcGF0aC5hYnNwYXRoX3RvX3VyaShob3N0LnBsYXRmb3JtLCBob3N0LmZpbGVz
eXN0ZW0uam9pbih0bXBkaXIsICdyZXN1bHRzLmh0bWwnKSldKQogCiAgICAgZGVmIHRlc3RfcmVz
dWx0c19kaXJlY3RvcnlfZGVmYXVsdChzZWxmKToKQEAgLTc5MSw4ICs3NTksNyBAQCBjbGFzcyBN
YWluVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSwgU3RyZWFtVGVzdGluZ01peGluKToKICAgICAgICAg
aG9zdCA9IE1vY2tIb3N0KCkKICAgICAgICAgaG9zdC5maWxlc3lzdGVtLm1heWJlX21ha2VfZGly
ZWN0b3J5KCcvdG1wL2N3ZCcpCiAgICAgICAgIGhvc3QuZmlsZXN5c3RlbS5jaGRpcignL3RtcC9j
d2QnKQotICAgICAgICByZXMsIG91dCwgZXJyLCB1c2VyID0gbG9nZ2luZ19ydW4oWyctLXJlc3Vs
dHMtZGlyZWN0b3J5PWZvbyddLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdGVzdHNfaW5jbHVkZWQ9VHJ1ZSwgaG9zdD1ob3N0KQorICAgICAgICByZXMsIG91dCwg
ZXJyLCB1c2VyID0gbG9nZ2luZ19ydW4oWyctLXJlc3VsdHMtZGlyZWN0b3J5PWZvbyddLCB0ZXN0
c19pbmNsdWRlZD1UcnVlLCBob3N0PWhvc3QpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodXNl
ci5vcGVuZWRfdXJscywgW3BhdGguYWJzcGF0aF90b191cmkoaG9zdC5wbGF0Zm9ybSwgJy90bXAv
Y3dkL2Zvby9yZXN1bHRzLmh0bWwnKV0pCiAKICAgICBkZWYgdGVzdF9yZXRyeWluZ19hbmRfZmxh
a3lfdGVzdHMoc2VsZik6CkBAIC04ODYsNyArODUzLDcgQEAgY2xhc3MgTWFpblRlc3QodW5pdHRl
c3QuVGVzdENhc2UsIFN0cmVhbVRlc3RpbmdNaXhpbik6CiAKICAgICBkZWYgdGVzdF9yZWZ0ZXN0
X3Nob3VsZF9ub3RfdXNlX25hbWluZ19jb252ZW50aW9uX2lmX25vdF9saXN0ZWRfaW5fcmVmdGVz
dGxpc3Qoc2VsZik6CiAgICAgICAgIGhvc3QgPSBNb2NrSG9zdCgpCi0gICAgICAgIHJlcywgb3V0
LCBlcnIsIF8gPSBsb2dnaW5nX3J1bihbJy0tbm8tc2hvdy1yZXN1bHRzJywgJ3JlZnRlc3RzL2Zv
by8nXSwgdGVzdHNfaW5jbHVkZWQ9VHJ1ZSwgaG9zdD1ob3N0LCByZWNvcmRfcmVzdWx0cz1UcnVl
KQorICAgICAgICByZXMsIG91dCwgZXJyLCBfID0gbG9nZ2luZ19ydW4oWyctLW5vLXNob3ctcmVz
dWx0cycsICdyZWZ0ZXN0cy9mb28vJ10sIHRlc3RzX2luY2x1ZGVkPVRydWUsIGhvc3Q9aG9zdCkK
ICAgICAgICAganNvbl9zdHJpbmcgPSBob3N0LmZpbGVzeXN0ZW0ucmVhZF90ZXh0X2ZpbGUoJy90
bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mdWxsX3Jlc3VsdHMuanNvbicpCiAgICAgICAgIHNlbGYu
YXNzZXJ0VHJ1ZShqc29uX3N0cmluZy5maW5kKCcidW5saXN0ZWR0ZXN0Lmh0bWwiOnsiZXhwZWN0
ZWQiOiJQQVNTIiwiaXNfbWlzc2luZ190ZXh0Ijp0cnVlLCJhY3R1YWwiOiJNSVNTSU5HIiwiaXNf
bWlzc2luZ19pbWFnZSI6dHJ1ZX0nKSAhPSAtMSkKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGpz
b25fc3RyaW5nLmZpbmQoJyJudW1fcmVncmVzc2lvbnMiOjQnKSAhPSAtMSkKQEAgLTkwMyw3ICs4
NzAsNyBAQCBjbGFzcyBNYWluVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSwgU3RyZWFtVGVzdGluZ01p
eGluKToKICAgICAgICAgaG9zdCA9IE1vY2tIb3N0KCkKICAgICAgICAgaG9zdC5maWxlc3lzdGVt
LndyaXRlX3RleHRfZmlsZSgnL3RtcC9vdmVycmlkZXMudHh0JywgJ0J1Zyh4KSBmYWlsdXJlcy91
bmV4cGVjdGVkL21pc21hdGNoLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF1cbicpCiAgICAgICAg
IHNlbGYuYXNzZXJ0VHJ1ZShwYXNzaW5nX3J1bihbJy0tYWRkaXRpb25hbC1leHBlY3RhdGlvbnMn
LCAnL3RtcC9vdmVycmlkZXMudHh0JywgJ2ZhaWx1cmVzL3VuZXhwZWN0ZWQvbWlzbWF0Y2guaHRt
bCddLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RzX2luY2x1ZGVk
PVRydWUsIGhvc3Q9aG9zdCkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0
ZXN0c19pbmNsdWRlZD1UcnVlLCBob3N0PWhvc3QpKQogCiAgICAgZGVmIHRlc3Rfbm9faHR0cF9h
bmRfZm9yY2Uoc2VsZik6CiAgICAgICAgICMgU2VlIHRlc3RfcnVuX2ZvcmNlLCB1c2luZyAtLWZv
cmNlIHJhaXNlcyBhbiBleGNlcHRpb24uCkBAIC05MzYsOCArOTAzLDcgQEAgY2xhc3MgTWFpblRl
c3QodW5pdHRlc3QuVGVzdENhc2UsIFN0cmVhbVRlc3RpbmdNaXhpbik6CiAgICAgICAgICMgVGVz
dCB0byBlbnN1cmUgdGhhdCB3ZSBkb24ndCBnZW5lcmF0ZSAtd2RpZmYuaHRtbCBvciAtcHJldHR5
Lmh0bWwgaWYgd2RpZmYgYW5kIFByZXR0eVBhdGNoCiAgICAgICAgICMgYXJlbid0IGF2YWlsYWJs
ZS4KICAgICAgICAgaG9zdCA9IE1vY2tIb3N0KCkKLSAgICAgICAgcmVzLCBvdXQsIGVyciwgXyA9
IGxvZ2dpbmdfcnVuKFsnLS1waXhlbC10ZXN0cycsICdmYWlsdXJlcy91bmV4cGVjdGVkL3RleHQt
aW1hZ2UtY2hlY2tzdW0uaHRtbCddLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdGVzdHNfaW5jbHVkZWQ9VHJ1ZSwgcmVjb3JkX3Jlc3VsdHM9VHJ1ZSwgaG9zdD1ob3N0
KQorICAgICAgICByZXMsIG91dCwgZXJyLCBfID0gbG9nZ2luZ19ydW4oWyctLXBpeGVsLXRlc3Rz
JywgJ2ZhaWx1cmVzL3VuZXhwZWN0ZWQvdGV4dC1pbWFnZS1jaGVja3N1bS5odG1sJ10sIHRlc3Rz
X2luY2x1ZGVkPVRydWUsIGhvc3Q9aG9zdCkKICAgICAgICAgd3JpdHRlbl9maWxlcyA9IGhvc3Qu
ZmlsZXN5c3RlbS53cml0dGVuX2ZpbGVzCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShhbnkocGF0
aC5lbmRzd2l0aCgnLWRpZmYudHh0JykgZm9yIHBhdGggaW4gd3JpdHRlbl9maWxlcy5rZXlzKCkp
KQogICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGFueShwYXRoLmVuZHN3aXRoKCctd2RpZmYuaHRt
bCcpIGZvciBwYXRoIGluIHdyaXR0ZW5fZmlsZXMua2V5cygpKSkKQEAgLTk5MSw3ICs5NTcsNyBA
QCBjbGFzcyBFbmRUb0VuZFRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogCiAgICAgZGVmIHRlc3Rf
ZW5kX3RvX2VuZChzZWxmKToKICAgICAgICAgaG9zdCA9IE1vY2tIb3N0KCkKLSAgICAgICAgcmVz
LCBvdXQsIGVyciwgdXNlciA9IGxvZ2dpbmdfcnVuKHJlY29yZF9yZXN1bHRzPVRydWUsIHRlc3Rz
X2luY2x1ZGVkPVRydWUsIGhvc3Q9aG9zdCkKKyAgICAgICAgcmVzLCBvdXQsIGVyciwgdXNlciA9
IGxvZ2dpbmdfcnVuKHRlc3RzX2luY2x1ZGVkPVRydWUsIGhvc3Q9aG9zdCkKIAogICAgICAgICBz
ZWxmLmFzc2VydEVxdWFsKHJlcywgdW5leHBlY3RlZF90ZXN0c19jb3VudCkKICAgICAgICAgcmVz
dWx0cyA9IHNlbGYucGFyc2VfZnVsbF9yZXN1bHRzKGhvc3QuZmlsZXN5c3RlbS5yZWFkX3RleHRf
ZmlsZSgnL3RtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Z1bGxfcmVzdWx0cy5qc29uJykpCkBAIC0x
MDA2LDcgKzk3Miw3IEBAIGNsYXNzIEVuZFRvRW5kVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAg
ICAgICAgICMgVGVzdCB0aGF0IHdlIHVwZGF0ZSBleHBlY3RhdGlvbnMgaW4gcGxhY2UuIElmIHRo
ZSBleHBlY3RhdGlvbgogICAgICAgICAjIGlzIG1pc3NpbmcsIHVwZGF0ZSB0aGUgZXhwZWN0ZWQg
Z2VuZXJpYyBsb2NhdGlvbi4KICAgICAgICAgaG9zdCA9IE1vY2tIb3N0KCkKLSAgICAgICAgcmVz
LCBvdXQsIGVyciwgXyA9IGxvZ2dpbmdfcnVuKFsnLS1uby1zaG93LXJlc3VsdHMnLCAncmVmdGVz
dHMvZm9vLyddLCB0ZXN0c19pbmNsdWRlZD1UcnVlLCBob3N0PWhvc3QsIHJlY29yZF9yZXN1bHRz
PVRydWUpCisgICAgICAgIHJlcywgb3V0LCBlcnIsIF8gPSBsb2dnaW5nX3J1bihbJy0tbm8tc2hv
dy1yZXN1bHRzJywgJ3JlZnRlc3RzL2Zvby8nXSwgdGVzdHNfaW5jbHVkZWQ9VHJ1ZSwgaG9zdD1o
b3N0KQogICAgICAgICBmaWxlX2xpc3QgPSBob3N0LmZpbGVzeXN0ZW0ud3JpdHRlbl9maWxlcy5r
ZXlzKCkKICAgICAgICAgZmlsZV9saXN0LnJlbW92ZSgnL3RtcC9sYXlvdXQtdGVzdC1yZXN1bHRz
L3Rlc3RzX3J1bjAudHh0JykKICAgICAgICAganNvbl9zdHJpbmcgPSBob3N0LmZpbGVzeXN0ZW0u
cmVhZF90ZXh0X2ZpbGUoJy90bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mdWxsX3Jlc3VsdHMuanNv
bicpCkBAIC0xMDM4LDE2ICsxMDA0LDE0IEBAIGNsYXNzIFJlYmFzZWxpbmVUZXN0KHVuaXR0ZXN0
LlRlc3RDYXNlLCBTdHJlYW1UZXN0aW5nTWl4aW4pOgogICAgICAgICAjIFRlc3QgdGhhdCB3ZSB1
cGRhdGUgZXhwZWN0YXRpb25zIGluIHBsYWNlLiBJZiB0aGUgZXhwZWN0YXRpb24KICAgICAgICAg
IyBpcyBtaXNzaW5nLCB1cGRhdGUgdGhlIGV4cGVjdGVkIGdlbmVyaWMgbG9jYXRpb24uCiAgICAg
ICAgIGhvc3QgPSBNb2NrSG9zdCgpCi0gICAgICAgIHJlcywgb3V0LCBlcnIsIF8gPSBsb2dnaW5n
X3J1bihbJy0tcGl4ZWwtdGVzdHMnLAotICAgICAgICAgICAgICAgICAgICAgICAgJy0tcmVzZXQt
cmVzdWx0cycsCi0gICAgICAgICAgICAgICAgICAgICAgICAncGFzc2VzL2ltYWdlLmh0bWwnLAot
ICAgICAgICAgICAgICAgICAgICAgICAgJ2ZhaWx1cmVzL2V4cGVjdGVkL21pc3NpbmdfaW1hZ2Uu
aHRtbCddLAotICAgICAgICAgICAgICAgICAgICAgICAgdGVzdHNfaW5jbHVkZWQ9VHJ1ZSwgaG9z
dD1ob3N0LCBuZXdfcmVzdWx0cz1UcnVlKQorICAgICAgICByZXMsIG91dCwgZXJyLCBfID0gbG9n
Z2luZ19ydW4oCisgICAgICAgICAgICBbJy0tcGl4ZWwtdGVzdHMnLCAnLS1yZXNldC1yZXN1bHRz
JywgJ3Bhc3Nlcy9pbWFnZS5odG1sJywgJ2ZhaWx1cmVzL2V4cGVjdGVkL21pc3NpbmdfaW1hZ2Uu
aHRtbCddLAorICAgICAgICAgICAgdGVzdHNfaW5jbHVkZWQ9VHJ1ZSwgaG9zdD1ob3N0LCBuZXdf
cmVzdWx0cz1UcnVlKQogICAgICAgICBmaWxlX2xpc3QgPSBob3N0LmZpbGVzeXN0ZW0ud3JpdHRl
bl9maWxlcy5rZXlzKCkKICAgICAgICAgZmlsZV9saXN0LnJlbW92ZSgnL3RtcC9sYXlvdXQtdGVz
dC1yZXN1bHRzL3Rlc3RzX3J1bjAudHh0JykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXMs
IDApCiAgICAgICAgIHNlbGYuYXNzZXJ0RW1wdHkob3V0KQotICAgICAgICBzZWxmLmFzc2VydEVx
dWFsKGxlbihmaWxlX2xpc3QpLCA0KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihmaWxl
X2xpc3QpLCA3KQogICAgICAgICBzZWxmLmFzc2VydEJhc2VsaW5lcyhmaWxlX2xpc3QsICJwYXNz
ZXMvaW1hZ2UiLCBbIi50eHQiLCAiLnBuZyJdLCBlcnIpCiAgICAgICAgIHNlbGYuYXNzZXJ0QmFz
ZWxpbmVzKGZpbGVfbGlzdCwgImZhaWx1cmVzL2V4cGVjdGVkL21pc3NpbmdfaW1hZ2UiLCBbIi50
eHQiLCAiLnBuZyJdLCBlcnIpCiAKQEAgLTEwNTYsMTYgKzEwMjAsMTYgQEAgY2xhc3MgUmViYXNl
bGluZVRlc3QodW5pdHRlc3QuVGVzdENhc2UsIFN0cmVhbVRlc3RpbmdNaXhpbik6CiAgICAgICAg
ICMgaXMgbWlzc2luZywgdXBkYXRlIHRoZSBleHBlY3RlZCBnZW5lcmljIGxvY2F0aW9uLgogICAg
ICAgICBob3N0ID0gTW9ja0hvc3QoKQogICAgICAgICByZXMsIG91dCwgZXJyLCBfID0gbG9nZ2lu
Z19ydW4oWyctLW5vLXNob3ctcmVzdWx0cycsCi0gICAgICAgICAgICAgICAgICAgICAnZmFpbHVy
ZXMvdW5leHBlY3RlZC9taXNzaW5nX3RleHQuaHRtbCcsCi0gICAgICAgICAgICAgICAgICAgICAn
ZmFpbHVyZXMvdW5leHBlY3RlZC9taXNzaW5nX2ltYWdlLmh0bWwnLAotICAgICAgICAgICAgICAg
ICAgICAgJ2ZhaWx1cmVzL3VuZXhwZWN0ZWQvbWlzc2luZ19hdWRpby5odG1sJywKLSAgICAgICAg
ICAgICAgICAgICAgICdmYWlsdXJlcy91bmV4cGVjdGVkL21pc3NpbmdfcmVuZGVyX3RyZWVfZHVt
cC5odG1sJ10sCi0gICAgICAgICAgICAgICAgICAgICB0ZXN0c19pbmNsdWRlZD1UcnVlLCBob3N0
PWhvc3QsIG5ld19yZXN1bHRzPVRydWUpCisgICAgICAgICAgICAnZmFpbHVyZXMvdW5leHBlY3Rl
ZC9taXNzaW5nX3RleHQuaHRtbCcsCisgICAgICAgICAgICAnZmFpbHVyZXMvdW5leHBlY3RlZC9t
aXNzaW5nX2ltYWdlLmh0bWwnLAorICAgICAgICAgICAgJ2ZhaWx1cmVzL3VuZXhwZWN0ZWQvbWlz
c2luZ19hdWRpby5odG1sJywKKyAgICAgICAgICAgICdmYWlsdXJlcy91bmV4cGVjdGVkL21pc3Np
bmdfcmVuZGVyX3RyZWVfZHVtcC5odG1sJ10sCisgICAgICAgICAgICB0ZXN0c19pbmNsdWRlZD1U
cnVlLCBob3N0PWhvc3QsIG5ld19yZXN1bHRzPVRydWUpCiAgICAgICAgIGZpbGVfbGlzdCA9IGhv
c3QuZmlsZXN5c3RlbS53cml0dGVuX2ZpbGVzLmtleXMoKQogICAgICAgICBmaWxlX2xpc3QucmVt
b3ZlKCcvdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvdGVzdHNfcnVuMC50eHQnKQogICAgICAgICBz
ZWxmLmFzc2VydEVxdWFsKHJlcywgMCkKICAgICAgICAgc2VsZi5hc3NlcnROb3RFbXB0eShvdXQp
Ci0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGZpbGVfbGlzdCksIDYpCisgICAgICAgIHNl
bGYuYXNzZXJ0RXF1YWwobGVuKGZpbGVfbGlzdCksIDkpCiAgICAgICAgIHNlbGYuYXNzZXJ0QmFz
ZWxpbmVzKGZpbGVfbGlzdCwgImZhaWx1cmVzL3VuZXhwZWN0ZWQvbWlzc2luZ190ZXh0IiwgWyIu
dHh0Il0sIGVycikKICAgICAgICAgc2VsZi5hc3NlcnRCYXNlbGluZXMoZmlsZV9saXN0LCAicGxh
dGZvcm0vdGVzdC9mYWlsdXJlcy91bmV4cGVjdGVkL21pc3NpbmdfaW1hZ2UiLCBbIi5wbmciXSwg
ZXJyKQogICAgICAgICBzZWxmLmFzc2VydEJhc2VsaW5lcyhmaWxlX2xpc3QsICJwbGF0Zm9ybS90
ZXN0L2ZhaWx1cmVzL3VuZXhwZWN0ZWQvbWlzc2luZ19yZW5kZXJfdHJlZV9kdW1wIiwgWyIudHh0
Il0sIGVycikKQEAgLTEwNzQsMTYgKzEwMzgsMTQgQEAgY2xhc3MgUmViYXNlbGluZVRlc3QodW5p
dHRlc3QuVGVzdENhc2UsIFN0cmVhbVRlc3RpbmdNaXhpbik6CiAgICAgICAgICMgVGVzdCB0aGF0
IHdlIHVwZGF0ZSB0aGUgcGxhdGZvcm0gZXhwZWN0YXRpb25zIGluIHRoZSB2ZXJzaW9uLXNwZWNp
ZmljIGRpcmVjdG9yaWVzCiAgICAgICAgICMgZm9yIGJvdGggZXhpc3RpbmcgYW5kIG5ldyBiYXNl
bGluZXMuCiAgICAgICAgIGhvc3QgPSBNb2NrSG9zdCgpCi0gICAgICAgIHJlcywgb3V0LCBlcnIs
IF8gPSBsb2dnaW5nX3J1bihbJy0tcGl4ZWwtdGVzdHMnLAotICAgICAgICAgICAgICAgICAgICAg
ICAgJy0tbmV3LWJhc2VsaW5lJywKLSAgICAgICAgICAgICAgICAgICAgICAgICdwYXNzZXMvaW1h
Z2UuaHRtbCcsCi0gICAgICAgICAgICAgICAgICAgICAgICAnZmFpbHVyZXMvZXhwZWN0ZWQvbWlz
c2luZ19pbWFnZS5odG1sJ10sCi0gICAgICAgICAgICAgICAgICAgIHRlc3RzX2luY2x1ZGVkPVRy
dWUsIGhvc3Q9aG9zdCwgbmV3X3Jlc3VsdHM9VHJ1ZSkKKyAgICAgICAgcmVzLCBvdXQsIGVyciwg
XyA9IGxvZ2dpbmdfcnVuKAorICAgICAgICAgICAgWyctLXBpeGVsLXRlc3RzJywgJy0tbmV3LWJh
c2VsaW5lJywgJ3Bhc3Nlcy9pbWFnZS5odG1sJywgJ2ZhaWx1cmVzL2V4cGVjdGVkL21pc3Npbmdf
aW1hZ2UuaHRtbCddLAorICAgICAgICAgICAgdGVzdHNfaW5jbHVkZWQ9VHJ1ZSwgaG9zdD1ob3N0
LCBuZXdfcmVzdWx0cz1UcnVlKQogICAgICAgICBmaWxlX2xpc3QgPSBob3N0LmZpbGVzeXN0ZW0u
d3JpdHRlbl9maWxlcy5rZXlzKCkKICAgICAgICAgZmlsZV9saXN0LnJlbW92ZSgnL3RtcC9sYXlv
dXQtdGVzdC1yZXN1bHRzL3Rlc3RzX3J1bjAudHh0JykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVh
bChyZXMsIDApCiAgICAgICAgIHNlbGYuYXNzZXJ0RW1wdHkob3V0KQotICAgICAgICBzZWxmLmFz
c2VydEVxdWFsKGxlbihmaWxlX2xpc3QpLCA0KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxl
bihmaWxlX2xpc3QpLCA3KQogICAgICAgICBzZWxmLmFzc2VydEJhc2VsaW5lcyhmaWxlX2xpc3Qs
CiAgICAgICAgICAgICAicGxhdGZvcm0vdGVzdC1tYWMtbGVvcGFyZC9wYXNzZXMvaW1hZ2UiLCBb
Ii50eHQiLCAiLnBuZyJdLCBlcnIpCiAgICAgICAgIHNlbGYuYXNzZXJ0QmFzZWxpbmVzKGZpbGVf
bGlzdCwK
</data>
<flag name="review"
          id="193839"
          type_id="1"
          status="+"
          setter="ojan"
    />
          </attachment>
      

    </bug>

</bugzilla>