<?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>97426</bug_id>
          
          <creation_ts>2012-09-23 22:46:05 -0700</creation_ts>
          <short_desc>Unexpected reftest passes are only reported when pixel testing is enabled in results.html as well</short_desc>
          <delta_ts>2012-09-25 00:54:44 -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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Zan Dobersek">zan</reporter>
          <assigned_to name="Zan Dobersek">zan</assigned_to>
          <cc>abarth</cc>
    
    <cc>cdumez</cc>
    
    <cc>dpranke</cc>
    
    <cc>ojan</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>726390</commentid>
    <comment_count>0</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2012-09-23 22:46:05 -0700</bug_when>
    <thetext>This bug is an extension of the bug #97242. In results.html the unexpectedly-passing reftests are currently only reported when pixel testing was enabled during the test run.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>726393</commentid>
    <comment_count>1</comment_count>
      <attachid>165313</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2012-09-23 22:56:42 -0700</bug_when>
    <thetext>Created attachment 165313
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>726703</commentid>
    <comment_count>2</comment_count>
      <attachid>165313</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-09-24 08:40:54 -0700</bug_when>
    <thetext>Comment on attachment 165313
Patch

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

The python change here makes it so that *every* test is treated as a reftest. Not sure off the top of my head what the correct code is, but we should only mark reftests as reftests.

I&apos;d prefer if we also keep is_reftest only for matching reftests. It just complicates the if-statement on the JS side to need to check both is_reftest and is_mismatch_reftest.

Also, can you please write a test for the results.html change?

&gt; LayoutTests/fast/harness/results.html:515
&gt; +        if (expected != &apos;IMAGE&apos; || globalState().results.pixel_tests_enabled || testObject.is_reftest) {

This should be (expected != &apos;IMAGE&apos; || (globalState().results.pixel_tests_enabled || testObject.is_reftest)), no?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>726706</commentid>
    <comment_count>3</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-09-24 08:43:13 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 165313 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=165313&amp;action=review
&gt; 
&gt; The python change here makes it so that *every* test is treated as a reftest. Not sure off the top of my head what the correct code is, but we should only mark reftests as reftests.

nm this. I misread the code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>726770</commentid>
    <comment_count>4</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2012-09-24 09:47:37 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; 
&gt; I&apos;d prefer if we also keep is_reftest only for matching reftests. It just complicates the if-statement on the JS side to need to check both is_reftest and is_mismatch_reftest.
&gt; 
&gt; Also, can you please write a test for the results.html change?

Sure.

&gt; &gt; LayoutTests/fast/harness/results.html:515
&gt; &gt; +        if (expected != &apos;IMAGE&apos; || globalState().results.pixel_tests_enabled || testObject.is_reftest) {
&gt; 
&gt; This should be (expected != &apos;IMAGE&apos; || (globalState().results.pixel_tests_enabled || testObject.is_reftest)), no?

Yeah, that works as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>726800</commentid>
    <comment_count>5</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-09-24 10:06:40 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (In reply to comment #2)
&gt; &gt; &gt; LayoutTests/fast/harness/results.html:515
&gt; &gt; &gt; +        if (expected != &apos;IMAGE&apos; || globalState().results.pixel_tests_enabled || testObject.is_reftest) {
&gt; &gt; 
&gt; &gt; This should be (expected != &apos;IMAGE&apos; || (globalState().results.pixel_tests_enabled || testObject.is_reftest)), no?
&gt; 
&gt; Yeah, that works as well.

Sigh. I clearly was not awake when I reviewed this patch this morning. Ignore this as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>726801</commentid>
    <comment_count>6</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-09-24 10:08:54 -0700</bug_when>
    <thetext>Now that I&apos;m actually awake...this patch looks good as is. Just needs a test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>726817</commentid>
    <comment_count>7</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2012-09-24 10:34:03 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; Now that I&apos;m actually awake...this patch looks good as is. Just needs a test.

Refactored it a bit in that time, I&apos;ll upload it anyway.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>726828</commentid>
    <comment_count>8</comment_count>
      <attachid>165408</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2012-09-24 10:45:26 -0700</bug_when>
    <thetext>Created attachment 165408
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>726843</commentid>
    <comment_count>9</comment_count>
      <attachid>165408</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-09-24 10:58:32 -0700</bug_when>
    <thetext>Comment on attachment 165408
Patch

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

This is a nice cleanup. Would be great if you addressed my one comment, but I understand if you&apos;d rather just add a FIXME and commit this.

&gt; Tools/Scripts/webkitpy/layout_tests/controllers/manager.py:174
&gt; +        if &apos;==&apos; in result.reftest_type:
&gt; +            test_dict[&apos;is_reftest&apos;] = True
&gt; +        if &apos;!=&apos; in result.reftest_type:
&gt; +            test_dict[&apos;is_mismatch_reftest&apos;] = True

How about just putting reftest_type in test_dict directly and changing results.html to look at that? You can make this a FIXME if you don&apos;t want to do it now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>726896</commentid>
    <comment_count>10</comment_count>
      <attachid>165421</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2012-09-24 12:00:17 -0700</bug_when>
    <thetext>Created attachment 165421
Patch

Uploading a modified patch so you can confirm the changes look somewhat similar to what you had in mind.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>726898</commentid>
    <comment_count>11</comment_count>
      <attachid>165421</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-09-24 12:02:13 -0700</bug_when>
    <thetext>Comment on attachment 165421
Patch

Looks great. Thanks.

This patch exposes the fact that we handle multiple reference files completely incorrectly in results.html. We can deal with that problem when we actually have tests with multiple references in the tree.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>727314</commentid>
    <comment_count>12</comment_count>
      <attachid>165421</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2012-09-24 23:17:31 -0700</bug_when>
    <thetext>Comment on attachment 165421
Patch

Clearing flags on attachment: 165421

Committed r129459: &lt;http://trac.webkit.org/changeset/129459&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>727315</commentid>
    <comment_count>13</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2012-09-24 23:17:36 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>727347</commentid>
    <comment_count>14</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-09-25 00:16:04 -0700</bug_when>
    <thetext>One python test started failing after this landed:
[245/1584] webkitpy.layout_tests.run_webkit_tests_integrationtest.EndToEndTest.test_reftest_with_two_notrefs failed:
  Traceback (most recent call last):
    File &quot;/home/buildslave-1/webkit-buildslave/efl-linux-64-debug/build/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py&quot;, line 967, in test_reftest_with_two_notrefs
      {&quot;expected&quot;: &quot;PASS&quot;, &quot;actual&quot;: &quot;IMAGE&quot;, &quot;image_diff_percent&quot;: 1, &apos;is_reftest&apos;: True})
  AssertionError: {u&apos;expected&apos;: u&apos;PASS&apos;, u&apos;actual&apos;: u&apos;IMAGE&apos;, u&apos;reftest_type&apos;: [u&apos;==&apos;], u&apos;image_di [truncated]... != {&apos;expected&apos;: &apos;PASS&apos;, &apos;is_reftest&apos;: True, &apos;actual&apos;: &apos;IMAGE&apos;, &apos;image_diff_percent&apos; [truncated]...
  - {u&apos;actual&apos;: u&apos;IMAGE&apos;,
  ?  -          -
  
  + {&apos;actual&apos;: &apos;IMAGE&apos;,
  -  u&apos;expected&apos;: u&apos;PASS&apos;,
  ?  -            -
  
  +  &apos;expected&apos;: &apos;PASS&apos;,
  -  u&apos;image_diff_percent&apos;: 1,
  ?  -
  
  +  &apos;image_diff_percent&apos;: 1,
  -  u&apos;reftest_type&apos;: [u&apos;==&apos;]}
  +  &apos;is_reftest&apos;: True}
  
Ran 1584 tests in 2.911s
FAILED (failures=1, errors=0)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>727375</commentid>
    <comment_count>15</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2012-09-25 00:54:44 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; One python test started failing after this landed:

Thanks for reporting, the test cases needed updating which I forgot to do when uploading the latest iteration of the patch. I fixed it in http://trac.webkit.org/changeset/129465.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>165313</attachid>
            <date>2012-09-23 22:56:42 -0700</date>
            <delta_ts>2012-09-24 10:45:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97426-20120923225603.patch</filename>
            <type>text/plain</type>
            <size>7426</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI5MzI2CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNWU2Y2RlOTdiZmZkYTFiNTg4MmUwZTViODMyYTY0NDJj
ZGM4ZGM4ZC4uMTRmNmM5MGY5ZWMxZGVhNzMyYjVkNmM5ZjJlNjNlYjQ3NzNiYzUyNiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0
IEBACisyMDEyLTA5LTIzICBaYW4gRG9iZXJzZWsgIDx6YW5kb2JlcnNla0BnbWFpbC5jb20+CisK
KyAgICAgICAgVW5leHBlY3RlZCByZWZ0ZXN0IHBhc3NlcyBhcmUgb25seSByZXBvcnRlZCB3aGVu
IHBpeGVsIHRlc3RpbmcgaXMgZW5hYmxlZCBpbiByZXN1bHRzLmh0bWwgYXMgd2VsbAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTc0MjYKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXaGVuIHN1bW1hcml6aW5n
IHJlc3VsdHMsIHRoZSAnaXNfcmVmdGVzdCcga2V5IGluIHRlc3QgZGljdGlvbmFyeSBpcyBub3cg
c2V0CisgICAgICAgIHRvIHRydWUgZm9yIGV2ZXJ5IHJlZnRlc3QgYW5kIG5vdCBvbmx5IHJlZnRl
c3RzIHRoYXQgcHJvZHVjZSBhIHJlZnRlc3QgbWlzbWF0Y2guCisgICAgICAgIFRoaXMgbWVhbnMg
dGhhdCBkaWN0aW9uYXJpZXMgZm9yIGZhaWxpbmcgbWlzbWF0Y2ggcmVmdGVzdHMgbm93IGNvbnRh
aW4gYm90aAorICAgICAgICAnaXNfcmVmdGVzdCcgYW5kICdpc19taXNtYXRjaF9yZWZ0ZXN0JyBr
ZXlzLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxl
cnMvbWFuYWdlci5weToKKyAgICAgICAgKGludGVycHJldF90ZXN0X2ZhaWx1cmVzKToKKyAgICAg
ICAgKHN1bW1hcml6ZV9yZXN1bHRzKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91
dF90ZXN0cy9jb250cm9sbGVycy9tYW5hZ2VyX3VuaXR0ZXN0LnB5OgorICAgICAgICAoUmVzdWx0
U3VtbWFyeVRlc3QudGVzdF9pbnRlcnByZXRfdGVzdF9mYWlsdXJlcyk6IEFwcHJvcHJpYXRlbHkg
bW9kaWZ5IHRoZQorICAgICAgICB0ZXN0IGNhc2VzIHRvIHJlZmxlY3QgdGhlc2UgY2hhbmdlcy4K
KyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9ydW5fd2Via2l0X3Rlc3Rz
X2ludGVncmF0aW9udGVzdC5weToKKyAgICAgICAgKEVuZFRvRW5kVGVzdC50ZXN0X3JlZnRlc3Rf
d2l0aF90d29fbm90cmVmcyk6IERpdHRvLgorCiAyMDEyLTA5LTIyICBEb21pbmljIE1henpvbmkg
IDxkbWF6em9uaUBnb29nbGUuY29tPgogCiAgICAgICAgIEFYOiBMYXlvdXQgdGVzdHMgd291bGQg
YmUgZWFzaWVyIHRvIHdyaXRlIGlmIEFjY2Vzc2liaWxpdHlDb250cm9sbGVyIGNvdWxkIGZpbmQg
YW4gZWxlbWVudCBieSBpZApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdlci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
bGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL21hbmFnZXIucHkKaW5kZXggZTY5MjRhM2VlNjkxMmFi
Zjg4MDkwMTMwMDA2ZWZmZTQ0ODIyZTkxMC4uZjQ2NWU3MjI5ZmE4YjE3YWNmNDA2YTdkMTBiMGI1
MDk0YzY2YjZkMCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVz
dHMvY29udHJvbGxlcnMvbWFuYWdlci5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xh
eW91dF90ZXN0cy9jb250cm9sbGVycy9tYW5hZ2VyLnB5CkBAIC04OCw3ICs4OCw2IEBAIGRlZiBp
bnRlcnByZXRfdGVzdF9mYWlsdXJlcyhwb3J0LCB0ZXN0X25hbWUsIGZhaWx1cmVzKToKICAgICAg
ICAgaWYgaXNpbnN0YW5jZShmYWlsdXJlLCB0ZXN0X2ZhaWx1cmVzLkZhaWx1cmVJbWFnZUhhc2hN
aXNtYXRjaCk6CiAgICAgICAgICAgICB0ZXN0X2RpY3RbJ2ltYWdlX2RpZmZfcGVyY2VudCddID0g
ZmFpbHVyZS5kaWZmX3BlcmNlbnQKICAgICAgICAgZWxpZiBpc2luc3RhbmNlKGZhaWx1cmUsIHRl
c3RfZmFpbHVyZXMuRmFpbHVyZVJlZnRlc3RNaXNtYXRjaCk6Ci0gICAgICAgICAgICB0ZXN0X2Rp
Y3RbJ2lzX3JlZnRlc3QnXSA9IFRydWUKICAgICAgICAgICAgIHRlc3RfZGljdFsnaW1hZ2VfZGlm
Zl9wZXJjZW50J10gPSBmYWlsdXJlLmRpZmZfcGVyY2VudAogICAgICAgICBlbGlmIGlzaW5zdGFu
Y2UoZmFpbHVyZSwgdGVzdF9mYWlsdXJlcy5GYWlsdXJlUmVmdGVzdE1pc21hdGNoRGlkTm90T2Nj
dXIpOgogICAgICAgICAgICAgdGVzdF9kaWN0Wydpc19taXNtYXRjaF9yZWZ0ZXN0J10gPSBUcnVl
CkBAIC0xNzIsNiArMTcxLDkgQEAgZGVmIHN1bW1hcml6ZV9yZXN1bHRzKHBvcnRfb2JqLCBleHBl
Y3RhdGlvbnMsIHJlc3VsdF9zdW1tYXJ5LCByZXRyeV9zdW1tYXJ5LCB0ZXMKICAgICAgICAgaWYg
cmVzdWx0Lmhhc19zdGRlcnI6CiAgICAgICAgICAgICB0ZXN0X2RpY3RbJ2hhc19zdGRlcnInXSA9
IFRydWUKIAorICAgICAgICBpZiByZXN1bHQuaXNfcmVmdGVzdDoKKyAgICAgICAgICAgIHRlc3Rf
ZGljdFsnaXNfcmVmdGVzdCddID0gVHJ1ZQorCiAgICAgICAgIGlmIGV4cGVjdGF0aW9ucy5oYXNf
bW9kaWZpZXIodGVzdF9uYW1lLCB0ZXN0X2V4cGVjdGF0aW9ucy5XT05URklYKToKICAgICAgICAg
ICAgIHRlc3RfZGljdFsnd29udGZpeCddID0gVHJ1ZQogCmRpZmYgLS1naXQgYS9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9tYW5hZ2VyX3VuaXR0ZXN0LnB5
IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdl
cl91bml0dGVzdC5weQppbmRleCBkY2QyNGE0NDY2ZDdkNjUwNDM4ODM0ZDM5NDdiMWQwZjlhYWI4
MjExLi5hNmJmOGJjZTYxNjA4ZWZhNzI5Njg5NGRhMmI3MDJlYWI0NGZhYmJjIDEwMDY0NAotLS0g
YS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9tYW5hZ2Vy
X3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2Nv
bnRyb2xsZXJzL21hbmFnZXJfdW5pdHRlc3QucHkKQEAgLTEwNSwyMiArMTA1LDIyIEBAIGNsYXNz
IFJlc3VsdFN1bW1hcnlUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICBkZWYgdGVzdF9pbnRl
cnByZXRfdGVzdF9mYWlsdXJlcyhzZWxmKToKICAgICAgICAgdGVzdF9kaWN0ID0gaW50ZXJwcmV0
X3Rlc3RfZmFpbHVyZXMoc2VsZi5wb3J0LCAnZm9vL3JlZnRlc3QuaHRtbCcsCiAgICAgICAgICAg
ICBbdGVzdF9mYWlsdXJlcy5GYWlsdXJlUmVmdGVzdE1pc21hdGNoKHNlbGYucG9ydC5hYnNwYXRo
X2Zvcl90ZXN0KCdmb28vcmVmdGVzdC1leHBlY3RlZC5odG1sJykpXSkKLSAgICAgICAgc2VsZi5h
c3NlcnRUcnVlKCdpc19yZWZ0ZXN0JyBpbiB0ZXN0X2RpY3QpCisgICAgICAgIHNlbGYuYXNzZXJ0
VHJ1ZSgnaW1hZ2VfZGlmZl9wZXJjZW50JyBpbiB0ZXN0X2RpY3QpCiAgICAgICAgIHNlbGYuYXNz
ZXJ0RmFsc2UoJ2lzX21pc21hdGNoX3JlZnRlc3QnIGluIHRlc3RfZGljdCkKIAogICAgICAgICB0
ZXN0X2RpY3QgPSBpbnRlcnByZXRfdGVzdF9mYWlsdXJlcyhzZWxmLnBvcnQsICdmb28vcmVmdGVz
dC5odG1sJywKICAgICAgICAgICAgIFt0ZXN0X2ZhaWx1cmVzLkZhaWx1cmVSZWZ0ZXN0TWlzbWF0
Y2goc2VsZi5wb3J0LmFic3BhdGhfZm9yX3Rlc3QoJ2Zvby9jb21tb24uaHRtbCcpKV0pCi0gICAg
ICAgIHNlbGYuYXNzZXJ0VHJ1ZSgnaXNfcmVmdGVzdCcgaW4gdGVzdF9kaWN0KQorICAgICAgICBz
ZWxmLmFzc2VydFRydWUoJ2ltYWdlX2RpZmZfcGVyY2VudCcgaW4gdGVzdF9kaWN0KQogICAgICAg
ICBzZWxmLmFzc2VydEZhbHNlKCdpc19taXNtYXRjaF9yZWZ0ZXN0JyBpbiB0ZXN0X2RpY3QpCiAK
ICAgICAgICAgdGVzdF9kaWN0ID0gaW50ZXJwcmV0X3Rlc3RfZmFpbHVyZXMoc2VsZi5wb3J0LCAn
Zm9vL3JlZnRlc3QuaHRtbCcsCiAgICAgICAgICAgICBbdGVzdF9mYWlsdXJlcy5GYWlsdXJlUmVm
dGVzdE1pc21hdGNoRGlkTm90T2NjdXIoc2VsZi5wb3J0LmFic3BhdGhfZm9yX3Rlc3QoJ2Zvby9y
ZWZ0ZXN0LWV4cGVjdGVkLW1pc21hdGNoLmh0bWwnKSldKQotICAgICAgICBzZWxmLmFzc2VydEZh
bHNlKCdpc19yZWZ0ZXN0JyBpbiB0ZXN0X2RpY3QpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uo
J2ltYWdlX2RpZmZfcGVyY2VudCcgaW4gdGVzdF9kaWN0KQogICAgICAgICBzZWxmLmFzc2VydFRy
dWUodGVzdF9kaWN0Wydpc19taXNtYXRjaF9yZWZ0ZXN0J10pCiAKICAgICAgICAgdGVzdF9kaWN0
ID0gaW50ZXJwcmV0X3Rlc3RfZmFpbHVyZXMoc2VsZi5wb3J0LCAnZm9vL3JlZnRlc3QuaHRtbCcs
CiAgICAgICAgICAgICBbdGVzdF9mYWlsdXJlcy5GYWlsdXJlUmVmdGVzdE1pc21hdGNoRGlkTm90
T2NjdXIoc2VsZi5wb3J0LmFic3BhdGhfZm9yX3Rlc3QoJ2Zvby9jb21tb24uaHRtbCcpKV0pCi0g
ICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoJ2lzX3JlZnRlc3QnIGluIHRlc3RfZGljdCkKKyAgICAg
ICAgc2VsZi5hc3NlcnRGYWxzZSgnaW1hZ2VfZGlmZl9wZXJjZW50JyBpbiB0ZXN0X2RpY3QpCiAg
ICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSh0ZXN0X2RpY3RbJ2lzX21pc21hdGNoX3JlZnRlc3QnXSkK
IAogICAgIGRlZiBnZXRfcmVzdWx0KHNlbGYsIHRlc3RfbmFtZSwgcmVzdWx0X3R5cGU9dGVzdF9l
eHBlY3RhdGlvbnMuUEFTUywgcnVuX3RpbWU9MCk6CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L2xheW91dF90ZXN0cy9ydW5fd2Via2l0X3Rlc3RzX2ludGVncmF0aW9udGVzdC5w
eSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHNf
aW50ZWdyYXRpb250ZXN0LnB5CmluZGV4IDVlNmU0MjJlYmFiYWU1NTk2NmM4MWVlZjM0M2YyZTUw
YzRiNDhkNGMuLjdhODZiNDFlM2EyMDM4MDI2OGYxMTUzN2JlNDY5MTI2ZTdjZjZmOGIgMTAwNzU1
Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVz
dHNfaW50ZWdyYXRpb250ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0
X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHNfaW50ZWdyYXRpb250ZXN0LnB5CkBAIC05NjYsOSArOTY2
LDkgQEAgY2xhc3MgRW5kVG9FbmRUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbChqc29uWyJ0ZXN0cyJdWyJyZWZ0ZXN0cyJdWyJmb28iXVsibXVsdGlwbGUt
bWF0Y2gtZmFpbHVyZS5odG1sIl0sCiAgICAgICAgICAgICB7ImV4cGVjdGVkIjogIlBBU1MiLCAi
YWN0dWFsIjogIklNQUdFIiwgImltYWdlX2RpZmZfcGVyY2VudCI6IDEsICdpc19yZWZ0ZXN0Jzog
VHJ1ZX0pCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoanNvblsidGVzdHMiXVsicmVmdGVzdHMi
XVsiZm9vIl1bIm11bHRpcGxlLW1pc21hdGNoLWZhaWx1cmUuaHRtbCJdLAotICAgICAgICAgICAg
eyJleHBlY3RlZCI6ICJQQVNTIiwgImFjdHVhbCI6ICJJTUFHRSIsICJpc19taXNtYXRjaF9yZWZ0
ZXN0IjogVHJ1ZX0pCisgICAgICAgICAgICB7ImV4cGVjdGVkIjogIlBBU1MiLCAiYWN0dWFsIjog
IklNQUdFIiwgImlzX21pc21hdGNoX3JlZnRlc3QiOiBUcnVlLCAiaXNfcmVmdGVzdCI6IFRydWV9
KQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGpzb25bInRlc3RzIl1bInJlZnRlc3RzIl1bImZv
byJdWyJtdWx0aXBsZS1ib3RoLWZhaWx1cmUuaHRtbCJdLAotICAgICAgICAgICAgeyJleHBlY3Rl
ZCI6ICJQQVNTIiwgImFjdHVhbCI6ICJJTUFHRSIsICJpc19taXNtYXRjaF9yZWZ0ZXN0IjogVHJ1
ZX0pCisgICAgICAgICAgICB7ImV4cGVjdGVkIjogIlBBU1MiLCAiYWN0dWFsIjogIklNQUdFIiwg
ImlzX21pc21hdGNoX3JlZnRlc3QiOiBUcnVlLCAiaXNfcmVmdGVzdCI6IFRydWV9KQogCiAKIGNs
YXNzIFJlYmFzZWxpbmVUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlLCBTdHJlYW1UZXN0aW5nTWl4aW4p
OgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCmluZGV4IDEzYjZlMWVhYWE1Y2EzMGJjYzY4YzlkZTg0N2I4NDEwMzUzODk5N2QuLjBhYmVi
ZmM1N2JlYTZmNTAzMzQ5NzdlMTFiM2JjMjcwYzhkMTE0ZGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBA
QAorMjAxMi0wOS0yMyAgWmFuIERvYmVyc2VrICA8emFuZG9iZXJzZWtAZ21haWwuY29tPgorCisg
ICAgICAgIFVuZXhwZWN0ZWQgcmVmdGVzdCBwYXNzZXMgYXJlIG9ubHkgcmVwb3J0ZWQgd2hlbiBw
aXhlbCB0ZXN0aW5nIGlzIGVuYWJsZWQgaW4gcmVzdWx0cy5odG1sIGFzIHdlbGwKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk3NDI2CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVwb3J0IHVuZXhwZWN0ZWRs
eSBwYXNzaW5nIHJlZnRlc3RzIGFzIHdlbGwuCisKKyAgICAgICAgKiBmYXN0L2hhcm5lc3MvcmVz
dWx0cy5odG1sOgorCiAyMDEyLTA5LTIzICBHYXZpbiBCYXJyYWNsb3VnaCAgPGJhcnJhY2xvdWdo
QGFwcGxlLmNvbT4KIAogICAgICAgICBTb3J0aW5nIGEgbm9uLWFycmF5IGNyZWF0ZXMgcHJvcHJl
dGllcyAoc3BlYy12aW9sYXRpb24pCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2hhcm5l
c3MvcmVzdWx0cy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9oYXJuZXNzL3Jlc3VsdHMuaHRtbApp
bmRleCBmY2FmNzJmNTU1MDcxYjM5ZmMzNDQ4ZGNhMGU1M2ZlODE2Y2JjY2YwLi5hOWFhYWM3ZTMy
MmY1NjVjZGJjOWI3ZDZhYTc2MGIxZmQyYjVkM2VlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L2hhcm5lc3MvcmVzdWx0cy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvaGFybmVzcy9y
ZXN1bHRzLmh0bWwKQEAgLTUxMiw3ICs1MTIsNyBAQCBmdW5jdGlvbiBwcm9jZXNzR2xvYmFsU3Rh
dGVGb3IodGVzdE9iamVjdCkKICAgICB9CiAKICAgICBpZiAoYWN0dWFsID09ICdQQVNTJyAmJiBl
eHBlY3RlZCAhPSAnUEFTUycpIHsKLSAgICAgICAgaWYgKGV4cGVjdGVkICE9ICdJTUFHRScgfHwg
Z2xvYmFsU3RhdGUoKS5yZXN1bHRzLnBpeGVsX3Rlc3RzX2VuYWJsZWQpIHsKKyAgICAgICAgaWYg
KGV4cGVjdGVkICE9ICdJTUFHRScgfHwgZ2xvYmFsU3RhdGUoKS5yZXN1bHRzLnBpeGVsX3Rlc3Rz
X2VuYWJsZWQgfHwgdGVzdE9iamVjdC5pc19yZWZ0ZXN0KSB7CiAgICAgICAgICAgICBnbG9iYWxT
dGF0ZSgpLnVuZXhwZWN0ZWRQYXNzVGVzdHMucHVzaCh0ZXN0T2JqZWN0KTsKICAgICAgICAgfQog
ICAgICAgICByZXR1cm47Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>165408</attachid>
            <date>2012-09-24 10:45:26 -0700</date>
            <delta_ts>2012-09-24 12:00:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97426-20120924104448.patch</filename>
            <type>text/plain</type>
            <size>20491</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI5Mzc0CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMjM2MDcwMzlkYTU1OTlhOGYzYzBhMjNlMTUyMDk1YjNh
NWFkOWNhOS4uNGQ3Y2I3NDQxYTA1YzRmMzhlMDZiZGM0NWQ2YWVhYjU3YzFlY2UyNyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQz
IEBACiAyMDEyLTA5LTI0ICBaYW4gRG9iZXJzZWsgIDx6YW5kb2JlcnNla0BnbWFpbC5jb20+CiAK
KyAgICAgICAgVW5leHBlY3RlZCByZWZ0ZXN0IHBhc3NlcyBhcmUgb25seSByZXBvcnRlZCB3aGVu
IHBpeGVsIHRlc3RpbmcgaXMgZW5hYmxlZCBpbiByZXN1bHRzLmh0bWwgYXMgd2VsbAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTc0MjYKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgJ2lzX3JlZnRlc3Qn
IG1lbWJlciBvZiB0aGUgVGVzdFJlc3VsdCBjbGFzcyBoYXMgYmVlbiByZXBsYWNlZCBieSB0aGUg
cmVmdGVzdF90eXBlCisgICAgICAgIG1lbWJlciB3aGljaCBpcyBhIHNldCBjb250YWluaW5nIGVp
dGhlciAnIT0nLCAnPT0nLCBib3RoIG9yIG5vbmUgaWYgdGhlIHRlc3QgcmVwcmVzZW50ZWQKKyAg
ICAgICAgYnkgdGhlIG9iamVjdCBpcyBub3QgYSByZWZ0ZXN0LgorCisgICAgICAgIFdoZW4gc3Vt
bWFyaXppbmcgcmVzdWx0cywgdGhlICdpc19yZWZ0ZXN0JyBhbmQgJ2lzX21pc21hdGNoX3JlZnRl
c3QnIGtleXMgYXJlCisgICAgICAgIG5vdyBwcmVzZW50IGluIHRoZSB0ZXN0IGRpY3Rpb25heSBh
Y2NvcmRpbmdseSB0byB0aGUgcmVmdGVzdCB0eXBlIChvciBub3QgYXQgYWxsCisgICAgICAgIGlm
IHRoZSB0ZXN0IGlzIG5vdCBhIHJlZnRlc3QpLgorCisgICAgICAgIFRoZSB0ZXN0IGZhaWx1cmUg
aW50ZXJwcmV0YXRpb24gbWV0aG9kIGhhcyBiZWVuIHJlZmFjdG9yZWQsIGl0IG5vdyByZXBvcnRz
IG9ubHkKKyAgICAgICAgbWlzc2luZyByZXN1bHRzIG9mIHZhcmlvdXMgZm9ybWF0cyBhbmQgaW1h
Z2UgZGlmZiBwZXJjZW50IGluIGNhc2Ugb2YgaW1hZ2Ugb3IKKyAgICAgICAgcmVmdGVzdCBtaXNt
YXRjaC4KKworICAgICAgICBVbml0IHRlc3RzIGhhdmUgYmVlbiBtb2RpZmllZCBhY2NvcmRpbmds
eS4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJz
L2xheW91dF90ZXN0X3J1bm5lci5weToKKyAgICAgICAgKExheW91dFRlc3RSdW5uZXIuX3VwZGF0
ZV9zdW1tYXJ5X3dpdGhfcmVzdWx0KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91
dF90ZXN0cy9jb250cm9sbGVycy9sYXlvdXRfdGVzdF9ydW5uZXJfdW5pdHRlc3QucHk6CisgICAg
ICAgIChMYXlvdXRUZXN0UnVubmVyVGVzdHMudGVzdF91cGRhdGVfc3VtbWFyeV93aXRoX3Jlc3Vs
dCk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMv
bWFuYWdlci5weToKKyAgICAgICAgKGludGVycHJldF90ZXN0X2ZhaWx1cmVzKToKKyAgICAgICAg
KHN1bW1hcml6ZV9yZXN1bHRzKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90
ZXN0cy9jb250cm9sbGVycy9tYW5hZ2VyX3VuaXR0ZXN0LnB5OgorICAgICAgICAoUmVzdWx0U3Vt
bWFyeVRlc3QudGVzdF9pbnRlcnByZXRfdGVzdF9mYWlsdXJlcyk6CisgICAgICAgICogU2NyaXB0
cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvc2luZ2xlX3Rlc3RfcnVubmVyLnB5
OgorICAgICAgICAoU2luZ2xlVGVzdFJ1bm5lci5ydW4pOgorICAgICAgICAoU2luZ2xlVGVzdFJ1
bm5lci5fcnVuX3JlZnRlc3QpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rl
c3RzL21vZGVscy90ZXN0X3Jlc3VsdHMucHk6CisgICAgICAgIChUZXN0UmVzdWx0Ll9faW5pdF9f
KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9ydW5fd2Via2l0X3Rl
c3RzX2ludGVncmF0aW9udGVzdC5weToKKyAgICAgICAgKEVuZFRvRW5kVGVzdC50ZXN0X3JlZnRl
c3Rfd2l0aF90d29fbm90cmVmcyk6CisKKzIwMTItMDktMjQgIFphbiBEb2JlcnNlayAgPHphbmRv
YmVyc2VrQGdtYWlsLmNvbT4KKwogICAgICAgICBSRUdSRVNTSU9OIChyMTI5MjExLXIxMjkyMTgp
OiBodHRwL3Rlc3RzL2xvYWRpbmcvcmVkaXJlY3Qtd2l0aC1uby1sb2NhdGlvbi1jcmFzaC5odG1s
IGZhaWxpbmcgb24gR1RLIExpbnV4IDY0LWJpdCBSZWxlYXNlIFdLMiAoVGVzdHMpCiAgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NzQwNAogCmRpZmYgLS1n
aXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9sYXlv
dXRfdGVzdF9ydW5uZXIucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9j
b250cm9sbGVycy9sYXlvdXRfdGVzdF9ydW5uZXIucHkKaW5kZXggNjlkMmNjMDMwZWQ0ZjA2MmFj
ZDY1NDAzNzZiMDBlYjhhN2U5MDQwYy4uNDIwMTI4NjE5ZWE2ZTdjY2Y3NGM4NThhZTZkYmE0MmQ2
MTI0ZDM3YyAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMv
Y29udHJvbGxlcnMvbGF5b3V0X3Rlc3RfcnVubmVyLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL2xheW91dF90ZXN0X3J1bm5lci5weQpAQCAt
MTk4LDcgKzE5OCw3IEBAIGNsYXNzIExheW91dFRlc3RSdW5uZXIob2JqZWN0KToKICAgICAgICAg
ICAgIGV4cF9zdHIgPSBnb3Rfc3RyID0gJ1NLSVAnCiAgICAgICAgICAgICBleHBlY3RlZCA9IFRy
dWUKICAgICAgICAgZWxzZToKLSAgICAgICAgICAgIGV4cGVjdGVkID0gc2VsZi5fZXhwZWN0YXRp
b25zLm1hdGNoZXNfYW5fZXhwZWN0ZWRfcmVzdWx0KHJlc3VsdC50ZXN0X25hbWUsIHJlc3VsdC50
eXBlLCBzZWxmLl9vcHRpb25zLnBpeGVsX3Rlc3RzIG9yIHJlc3VsdC5pc19yZWZ0ZXN0KQorICAg
ICAgICAgICAgZXhwZWN0ZWQgPSBzZWxmLl9leHBlY3RhdGlvbnMubWF0Y2hlc19hbl9leHBlY3Rl
ZF9yZXN1bHQocmVzdWx0LnRlc3RfbmFtZSwgcmVzdWx0LnR5cGUsIHNlbGYuX29wdGlvbnMucGl4
ZWxfdGVzdHMgb3IgcmVzdWx0LnJlZnRlc3RfdHlwZSkKICAgICAgICAgICAgIGV4cF9zdHIgPSBz
ZWxmLl9leHBlY3RhdGlvbnMuZ2V0X2V4cGVjdGF0aW9uc19zdHJpbmcocmVzdWx0LnRlc3RfbmFt
ZSkKICAgICAgICAgICAgIGdvdF9zdHIgPSBzZWxmLl9leHBlY3RhdGlvbnMuZXhwZWN0YXRpb25f
dG9fc3RyaW5nKHJlc3VsdC50eXBlKQogCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9sYXlvdXRfdGVzdF9ydW5uZXJfdW5pdHRlc3Qu
cHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9sYXlv
dXRfdGVzdF9ydW5uZXJfdW5pdHRlc3QucHkKaW5kZXggNTA2MmQ1Mjc3YTY4Y2I4NjIzYzc5NWFl
ZWFlNDM2NjIxNTRiNWU0OS4uNGVmYTRlMDBjODQ5OTdhZmU5NTk4NGY4OGY1YzE4ODM2MzkzM2M3
MiAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJv
bGxlcnMvbGF5b3V0X3Rlc3RfcnVubmVyX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL2xheW91dF90ZXN0X3J1bm5lcl91bml0
dGVzdC5weQpAQCAtMTUyLDEzICsxNTIsMTMgQEAgY2xhc3MgTGF5b3V0VGVzdFJ1bm5lclRlc3Rz
KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgcnVubmVyLl9leHBlY3RhdGlvbnMgPSBleHBl
Y3RhdGlvbnMKIAogICAgICAgICByZXN1bHRfc3VtbWFyeSA9IFJlc3VsdFN1bW1hcnkoZXhwZWN0
YXRpb25zLCBbdGVzdF0sIDEsIHNldCgpKQotICAgICAgICByZXN1bHQgPSBUZXN0UmVzdWx0KHRl
c3RfbmFtZT10ZXN0LCBmYWlsdXJlcz1bdGVzdF9mYWlsdXJlcy5GYWlsdXJlUmVmdGVzdE1pc21h
dGNoRGlkTm90T2NjdXIoKV0sIGlzX3JlZnRlc3Q9VHJ1ZSkKKyAgICAgICAgcmVzdWx0ID0gVGVz
dFJlc3VsdCh0ZXN0X25hbWU9dGVzdCwgZmFpbHVyZXM9W3Rlc3RfZmFpbHVyZXMuRmFpbHVyZVJl
ZnRlc3RNaXNtYXRjaERpZE5vdE9jY3VyKCldLCByZWZ0ZXN0X3R5cGU9WychPSddKQogICAgICAg
ICBydW5uZXIuX3VwZGF0ZV9zdW1tYXJ5X3dpdGhfcmVzdWx0KHJlc3VsdF9zdW1tYXJ5LCByZXN1
bHQpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKDEsIHJlc3VsdF9zdW1tYXJ5LmV4cGVjdGVk
KQogICAgICAgICBzZWxmLmFzc2VydEVxdWFscygwLCByZXN1bHRfc3VtbWFyeS51bmV4cGVjdGVk
KQogCiAgICAgICAgIHJlc3VsdF9zdW1tYXJ5ID0gUmVzdWx0U3VtbWFyeShleHBlY3RhdGlvbnMs
IFt0ZXN0XSwgMSwgc2V0KCkpCi0gICAgICAgIHJlc3VsdCA9IFRlc3RSZXN1bHQodGVzdF9uYW1l
PXRlc3QsIGZhaWx1cmVzPVtdLCBpc19yZWZ0ZXN0PVRydWUpCisgICAgICAgIHJlc3VsdCA9IFRl
c3RSZXN1bHQodGVzdF9uYW1lPXRlc3QsIGZhaWx1cmVzPVtdLCByZWZ0ZXN0X3R5cGU9Wyc9PSdd
KQogICAgICAgICBydW5uZXIuX3VwZGF0ZV9zdW1tYXJ5X3dpdGhfcmVzdWx0KHJlc3VsdF9zdW1t
YXJ5LCByZXN1bHQpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKDAsIHJlc3VsdF9zdW1tYXJ5
LmV4cGVjdGVkKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFscygxLCByZXN1bHRfc3VtbWFyeS51
bmV4cGVjdGVkKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVz
dHMvY29udHJvbGxlcnMvbWFuYWdlci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0
X3Rlc3RzL2NvbnRyb2xsZXJzL21hbmFnZXIucHkKaW5kZXggZTY5MjRhM2VlNjkxMmFiZjg4MDkw
MTMwMDA2ZWZmZTQ0ODIyZTkxMC4uZjhkZDQ3ZGU3NWQ1ZmY3Mzg2ZmYwZDhkNzA4MTUwMzBjMGU1
ZGEwYiAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29u
dHJvbGxlcnMvbWFuYWdlci5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90
ZXN0cy9jb250cm9sbGVycy9tYW5hZ2VyLnB5CkBAIC03NSw3ICs3NSw3IEBAIGRlZiBpbnRlcnBy
ZXRfdGVzdF9mYWlsdXJlcyhwb3J0LCB0ZXN0X25hbWUsIGZhaWx1cmVzKToKICAgICAgICAgdGVz
dF9uYW1lOiB0ZXN0IG5hbWUgcmVsYXRpdmUgdG8gbGF5b3V0X3Rlc3RzIGRpcmVjdG9yeQogICAg
ICAgICBmYWlsdXJlczogbGlzdCBvZiB0ZXN0IGZhaWx1cmVzCiAgICAgUmV0dXJuczoKLSAgICAg
ICAgQSBkaWN0aW9uYXJ5IGxpa2Ugeydpc19yZWZ0ZXN0JzogVHJ1ZSwgLi4ufQorICAgICAgICBB
IGRpY3Rpb25hcnkgbGlrZSB7J2lzX21pc3NpbmdfdGV4dCc6IFRydWUsIC4uLn0KICAgICAiIiIK
ICAgICB0ZXN0X2RpY3QgPSB7fQogICAgIGZhaWx1cmVfdHlwZXMgPSBbdHlwZShmYWlsdXJlKSBm
b3IgZmFpbHVyZSBpbiBmYWlsdXJlc10KQEAgLTg0LDIwICs4NCwxNiBAQCBkZWYgaW50ZXJwcmV0
X3Rlc3RfZmFpbHVyZXMocG9ydCwgdGVzdF9uYW1lLCBmYWlsdXJlcyk6CiAgICAgaWYgdGVzdF9m
YWlsdXJlcy5GYWlsdXJlTWlzc2luZ0F1ZGlvIGluIGZhaWx1cmVfdHlwZXM6CiAgICAgICAgIHRl
c3RfZGljdFsnaXNfbWlzc2luZ19hdWRpbyddID0gVHJ1ZQogCi0gICAgZm9yIGZhaWx1cmUgaW4g
ZmFpbHVyZXM6Ci0gICAgICAgIGlmIGlzaW5zdGFuY2UoZmFpbHVyZSwgdGVzdF9mYWlsdXJlcy5G
YWlsdXJlSW1hZ2VIYXNoTWlzbWF0Y2gpOgotICAgICAgICAgICAgdGVzdF9kaWN0WydpbWFnZV9k
aWZmX3BlcmNlbnQnXSA9IGZhaWx1cmUuZGlmZl9wZXJjZW50Ci0gICAgICAgIGVsaWYgaXNpbnN0
YW5jZShmYWlsdXJlLCB0ZXN0X2ZhaWx1cmVzLkZhaWx1cmVSZWZ0ZXN0TWlzbWF0Y2gpOgotICAg
ICAgICAgICAgdGVzdF9kaWN0Wydpc19yZWZ0ZXN0J10gPSBUcnVlCi0gICAgICAgICAgICB0ZXN0
X2RpY3RbJ2ltYWdlX2RpZmZfcGVyY2VudCddID0gZmFpbHVyZS5kaWZmX3BlcmNlbnQKLSAgICAg
ICAgZWxpZiBpc2luc3RhbmNlKGZhaWx1cmUsIHRlc3RfZmFpbHVyZXMuRmFpbHVyZVJlZnRlc3RN
aXNtYXRjaERpZE5vdE9jY3VyKToKLSAgICAgICAgICAgIHRlc3RfZGljdFsnaXNfbWlzbWF0Y2hf
cmVmdGVzdCddID0gVHJ1ZQotCiAgICAgaWYgdGVzdF9mYWlsdXJlcy5GYWlsdXJlTWlzc2luZ1Jl
c3VsdCBpbiBmYWlsdXJlX3R5cGVzOgogICAgICAgICB0ZXN0X2RpY3RbJ2lzX21pc3NpbmdfdGV4
dCddID0gVHJ1ZQogCiAgICAgaWYgdGVzdF9mYWlsdXJlcy5GYWlsdXJlTWlzc2luZ0ltYWdlIGlu
IGZhaWx1cmVfdHlwZXMgb3IgdGVzdF9mYWlsdXJlcy5GYWlsdXJlTWlzc2luZ0ltYWdlSGFzaCBp
biBmYWlsdXJlX3R5cGVzOgogICAgICAgICB0ZXN0X2RpY3RbJ2lzX21pc3NpbmdfaW1hZ2UnXSA9
IFRydWUKKworICAgIGZvciBmYWlsdXJlIGluIGZhaWx1cmVzOgorICAgICAgICBpZiBpc2luc3Rh
bmNlKGZhaWx1cmUsIHRlc3RfZmFpbHVyZXMuRmFpbHVyZUltYWdlSGFzaE1pc21hdGNoKSBvciBp
c2luc3RhbmNlKGZhaWx1cmUsIHRlc3RfZmFpbHVyZXMuRmFpbHVyZVJlZnRlc3RNaXNtYXRjaCk6
CisgICAgICAgICAgICB0ZXN0X2RpY3RbJ2ltYWdlX2RpZmZfcGVyY2VudCddID0gZmFpbHVyZS5k
aWZmX3BlcmNlbnQKKwogICAgIHJldHVybiB0ZXN0X2RpY3QKIAogCkBAIC0xNzIsNiArMTY4LDEx
IEBAIGRlZiBzdW1tYXJpemVfcmVzdWx0cyhwb3J0X29iaiwgZXhwZWN0YXRpb25zLCByZXN1bHRf
c3VtbWFyeSwgcmV0cnlfc3VtbWFyeSwgdGVzCiAgICAgICAgIGlmIHJlc3VsdC5oYXNfc3RkZXJy
OgogICAgICAgICAgICAgdGVzdF9kaWN0WydoYXNfc3RkZXJyJ10gPSBUcnVlCiAKKyAgICAgICAg
aWYgJz09JyBpbiByZXN1bHQucmVmdGVzdF90eXBlOgorICAgICAgICAgICAgdGVzdF9kaWN0Wydp
c19yZWZ0ZXN0J10gPSBUcnVlCisgICAgICAgIGlmICchPScgaW4gcmVzdWx0LnJlZnRlc3RfdHlw
ZToKKyAgICAgICAgICAgIHRlc3RfZGljdFsnaXNfbWlzbWF0Y2hfcmVmdGVzdCddID0gVHJ1ZQor
CiAgICAgICAgIGlmIGV4cGVjdGF0aW9ucy5oYXNfbW9kaWZpZXIodGVzdF9uYW1lLCB0ZXN0X2V4
cGVjdGF0aW9ucy5XT05URklYKToKICAgICAgICAgICAgIHRlc3RfZGljdFsnd29udGZpeCddID0g
VHJ1ZQogCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9j
b250cm9sbGVycy9tYW5hZ2VyX3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9s
YXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdlcl91bml0dGVzdC5weQppbmRleCBkY2QyNGE0
NDY2ZDdkNjUwNDM4ODM0ZDM5NDdiMWQwZjlhYWI4MjExLi4wOTg0MDk5OGVjNWZjYTIwMzRmNjgw
NzE2MjdiNWMzNzhkZDI0MGE0IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xh
eW91dF90ZXN0cy9jb250cm9sbGVycy9tYW5hZ2VyX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL21hbmFnZXJfdW5pdHRlc3Qu
cHkKQEAgLTEwNCwyNCArMTA0LDMyIEBAIGNsYXNzIFJlc3VsdFN1bW1hcnlUZXN0KHVuaXR0ZXN0
LlRlc3RDYXNlKToKIAogICAgIGRlZiB0ZXN0X2ludGVycHJldF90ZXN0X2ZhaWx1cmVzKHNlbGYp
OgogICAgICAgICB0ZXN0X2RpY3QgPSBpbnRlcnByZXRfdGVzdF9mYWlsdXJlcyhzZWxmLnBvcnQs
ICdmb28vcmVmdGVzdC5odG1sJywKLSAgICAgICAgICAgIFt0ZXN0X2ZhaWx1cmVzLkZhaWx1cmVS
ZWZ0ZXN0TWlzbWF0Y2goc2VsZi5wb3J0LmFic3BhdGhfZm9yX3Rlc3QoJ2Zvby9yZWZ0ZXN0LWV4
cGVjdGVkLmh0bWwnKSldKQotICAgICAgICBzZWxmLmFzc2VydFRydWUoJ2lzX3JlZnRlc3QnIGlu
IHRlc3RfZGljdCkKLSAgICAgICAgc2VsZi5hc3NlcnRGYWxzZSgnaXNfbWlzbWF0Y2hfcmVmdGVz
dCcgaW4gdGVzdF9kaWN0KQorICAgICAgICAgICAgW3Rlc3RfZmFpbHVyZXMuRmFpbHVyZUltYWdl
SGFzaE1pc21hdGNoKGRpZmZfcGVyY2VudD0wLjQyKV0pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1
YWwodGVzdF9kaWN0WydpbWFnZV9kaWZmX3BlcmNlbnQnXSwgMC40MikKIAogICAgICAgICB0ZXN0
X2RpY3QgPSBpbnRlcnByZXRfdGVzdF9mYWlsdXJlcyhzZWxmLnBvcnQsICdmb28vcmVmdGVzdC5o
dG1sJywKLSAgICAgICAgICAgIFt0ZXN0X2ZhaWx1cmVzLkZhaWx1cmVSZWZ0ZXN0TWlzbWF0Y2go
c2VsZi5wb3J0LmFic3BhdGhfZm9yX3Rlc3QoJ2Zvby9jb21tb24uaHRtbCcpKV0pCi0gICAgICAg
IHNlbGYuYXNzZXJ0VHJ1ZSgnaXNfcmVmdGVzdCcgaW4gdGVzdF9kaWN0KQotICAgICAgICBzZWxm
LmFzc2VydEZhbHNlKCdpc19taXNtYXRjaF9yZWZ0ZXN0JyBpbiB0ZXN0X2RpY3QpCisgICAgICAg
ICAgICBbdGVzdF9mYWlsdXJlcy5GYWlsdXJlUmVmdGVzdE1pc21hdGNoKHNlbGYucG9ydC5hYnNw
YXRoX2Zvcl90ZXN0KCdmb28vcmVmdGVzdC1leHBlY3RlZC5odG1sJykpXSkKKyAgICAgICAgc2Vs
Zi5hc3NlcnRUcnVlKCdpbWFnZV9kaWZmX3BlcmNlbnQnIGluIHRlc3RfZGljdCkKIAogICAgICAg
ICB0ZXN0X2RpY3QgPSBpbnRlcnByZXRfdGVzdF9mYWlsdXJlcyhzZWxmLnBvcnQsICdmb28vcmVm
dGVzdC5odG1sJywKICAgICAgICAgICAgIFt0ZXN0X2ZhaWx1cmVzLkZhaWx1cmVSZWZ0ZXN0TWlz
bWF0Y2hEaWROb3RPY2N1cihzZWxmLnBvcnQuYWJzcGF0aF9mb3JfdGVzdCgnZm9vL3JlZnRlc3Qt
ZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbCcpKV0pCi0gICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoJ2lz
X3JlZnRlc3QnIGluIHRlc3RfZGljdCkKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHRlc3RfZGlj
dFsnaXNfbWlzbWF0Y2hfcmVmdGVzdCddKQorICAgICAgICBzZWxmLmFzc2VydERpY3RFcXVhbCh0
ZXN0X2RpY3QsIHt9KQogCi0gICAgICAgIHRlc3RfZGljdCA9IGludGVycHJldF90ZXN0X2ZhaWx1
cmVzKHNlbGYucG9ydCwgJ2Zvby9yZWZ0ZXN0Lmh0bWwnLAotICAgICAgICAgICAgW3Rlc3RfZmFp
bHVyZXMuRmFpbHVyZVJlZnRlc3RNaXNtYXRjaERpZE5vdE9jY3VyKHNlbGYucG9ydC5hYnNwYXRo
X2Zvcl90ZXN0KCdmb28vY29tbW9uLmh0bWwnKSldKQotICAgICAgICBzZWxmLmFzc2VydEZhbHNl
KCdpc19yZWZ0ZXN0JyBpbiB0ZXN0X2RpY3QpCi0gICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSh0ZXN0
X2RpY3RbJ2lzX21pc21hdGNoX3JlZnRlc3QnXSkKKyAgICAgICAgdGVzdF9kaWN0ID0gaW50ZXJw
cmV0X3Rlc3RfZmFpbHVyZXMoc2VsZi5wb3J0LCAnZm9vL2F1ZGlvLXRlc3QuaHRtbCcsCisgICAg
ICAgICAgICBbdGVzdF9mYWlsdXJlcy5GYWlsdXJlTWlzc2luZ0F1ZGlvKCldKQorICAgICAgICBz
ZWxmLmFzc2VydFRydWUoJ2lzX21pc3NpbmdfYXVkaW8nIGluIHRlc3RfZGljdCkKKworICAgICAg
ICB0ZXN0X2RpY3QgPSBpbnRlcnByZXRfdGVzdF9mYWlsdXJlcyhzZWxmLnBvcnQsICdmb28vdGV4
dC10ZXN0Lmh0bWwnLAorICAgICAgICAgICAgW3Rlc3RfZmFpbHVyZXMuRmFpbHVyZU1pc3NpbmdS
ZXN1bHQoKV0pCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSgnaXNfbWlzc2luZ190ZXh0JyBpbiB0
ZXN0X2RpY3QpCisKKyAgICAgICAgdGVzdF9kaWN0ID0gaW50ZXJwcmV0X3Rlc3RfZmFpbHVyZXMo
c2VsZi5wb3J0LCAnZm9vL3BpeGVsLXRlc3QuaHRtbCcsCisgICAgICAgICAgICBbdGVzdF9mYWls
dXJlcy5GYWlsdXJlTWlzc2luZ0ltYWdlKCldKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoJ2lz
X21pc3NpbmdfaW1hZ2UnIGluIHRlc3RfZGljdCkKKworICAgICAgICB0ZXN0X2RpY3QgPSBpbnRl
cnByZXRfdGVzdF9mYWlsdXJlcyhzZWxmLnBvcnQsICdmb28vcGl4ZWwtdGVzdC5odG1sJywKKyAg
ICAgICAgICAgIFt0ZXN0X2ZhaWx1cmVzLkZhaWx1cmVNaXNzaW5nSW1hZ2VIYXNoKCldKQorICAg
ICAgICBzZWxmLmFzc2VydFRydWUoJ2lzX21pc3NpbmdfaW1hZ2UnIGluIHRlc3RfZGljdCkKIAog
ICAgIGRlZiBnZXRfcmVzdWx0KHNlbGYsIHRlc3RfbmFtZSwgcmVzdWx0X3R5cGU9dGVzdF9leHBl
Y3RhdGlvbnMuUEFTUywgcnVuX3RpbWU9MCk6CiAgICAgICAgIGZhaWx1cmVzID0gW10KZGlmZiAt
LWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL3Np
bmdsZV90ZXN0X3J1bm5lci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3Rz
L2NvbnRyb2xsZXJzL3NpbmdsZV90ZXN0X3J1bm5lci5weQppbmRleCAwOWI0ZTFkOWZiZmI2Nzkx
OGU1NTM1NzE3MjlhYjJjNzgyNTA2M2I5Li4wY2I3YWVmZWNiZGM3NTY5MGQzZGRjOTcyOTJjOTJh
OWUwNjVkMDU2IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0
cy9jb250cm9sbGVycy9zaW5nbGVfdGVzdF9ydW5uZXIucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvc2luZ2xlX3Rlc3RfcnVubmVyLnB5CkBA
IC05NCw3ICs5NCw4IEBAIGNsYXNzIFNpbmdsZVRlc3RSdW5uZXIob2JqZWN0KToKICAgICBkZWYg
cnVuKHNlbGYpOgogICAgICAgICBpZiBzZWxmLl9yZWZlcmVuY2VfZmlsZXM6CiAgICAgICAgICAg
ICBpZiBzZWxmLl9wb3J0LmdldF9vcHRpb24oJ25vX3JlZl90ZXN0cycpIG9yIHNlbGYuX29wdGlv
bnMucmVzZXRfcmVzdWx0czoKLSAgICAgICAgICAgICAgICByZXN1bHQgPSBUZXN0UmVzdWx0KHNl
bGYuX3Rlc3RfbmFtZSwgaXNfcmVmdGVzdD1UcnVlKQorICAgICAgICAgICAgICAgIHJlZnRlc3Rf
dHlwZSA9IHNldChbcmVmZXJlbmNlX2ZpbGVbMF0gZm9yIHJlZmVyZW5jZV9maWxlIGluIHNlbGYu
X3JlZmVyZW5jZV9maWxlc10pCisgICAgICAgICAgICAgICAgcmVzdWx0ID0gVGVzdFJlc3VsdChz
ZWxmLl90ZXN0X25hbWUsIHJlZnRlc3RfdHlwZT1yZWZ0ZXN0X3R5cGUpCiAgICAgICAgICAgICAg
ICAgcmVzdWx0LnR5cGUgPSB0ZXN0X2V4cGVjdGF0aW9ucy5TS0lQCiAgICAgICAgICAgICAgICAg
cmV0dXJuIHJlc3VsdAogICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3J1bl9yZWZ0ZXN0KCkKQEAg
LTMwMyw3ICszMDQsOCBAQCBjbGFzcyBTaW5nbGVUZXN0UnVubmVyKG9iamVjdCk6CiAKICAgICAg
ICAgYXNzZXJ0KHJlZmVyZW5jZV9vdXRwdXQpCiAgICAgICAgIHRlc3RfcmVzdWx0X3dyaXRlci53
cml0ZV90ZXN0X3Jlc3VsdChzZWxmLl9maWxlc3lzdGVtLCBzZWxmLl9wb3J0LCBzZWxmLl90ZXN0
X25hbWUsIHRlc3Rfb3V0cHV0LCByZWZlcmVuY2Vfb3V0cHV0LCB0ZXN0X3Jlc3VsdC5mYWlsdXJl
cykKLSAgICAgICAgcmV0dXJuIFRlc3RSZXN1bHQoc2VsZi5fdGVzdF9uYW1lLCB0ZXN0X3Jlc3Vs
dC5mYWlsdXJlcywgdG90YWxfdGVzdF90aW1lICsgdGVzdF9yZXN1bHQudGVzdF9ydW5fdGltZSwg
dGVzdF9yZXN1bHQuaGFzX3N0ZGVyciwgaXNfcmVmdGVzdD1UcnVlKQorICAgICAgICByZWZ0ZXN0
X3R5cGUgPSBzZXQoW3JlZmVyZW5jZV9maWxlWzBdIGZvciByZWZlcmVuY2VfZmlsZSBpbiBzZWxm
Ll9yZWZlcmVuY2VfZmlsZXNdKQorICAgICAgICByZXR1cm4gVGVzdFJlc3VsdChzZWxmLl90ZXN0
X25hbWUsIHRlc3RfcmVzdWx0LmZhaWx1cmVzLCB0b3RhbF90ZXN0X3RpbWUgKyB0ZXN0X3Jlc3Vs
dC50ZXN0X3J1bl90aW1lLCB0ZXN0X3Jlc3VsdC5oYXNfc3RkZXJyLCByZWZ0ZXN0X3R5cGU9cmVm
dGVzdF90eXBlKQogCiAgICAgZGVmIF9jb21wYXJlX291dHB1dF93aXRoX3JlZmVyZW5jZShzZWxm
LCByZWZlcmVuY2VfZHJpdmVyX291dHB1dCwgYWN0dWFsX2RyaXZlcl9vdXRwdXQsIHJlZmVyZW5j
ZV9maWxlbmFtZSwgbWlzbWF0Y2gpOgogICAgICAgICB0b3RhbF90ZXN0X3RpbWUgPSByZWZlcmVu
Y2VfZHJpdmVyX291dHB1dC50ZXN0X3RpbWUgKyBhY3R1YWxfZHJpdmVyX291dHB1dC50ZXN0X3Rp
bWUKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL21vZGVs
cy90ZXN0X3Jlc3VsdHMucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9t
b2RlbHMvdGVzdF9yZXN1bHRzLnB5CmluZGV4IGQ2YzgzMDE0YTQ4NTE3NjRmNDUxMTk4OTZlZjA1
OThjNjM1NTVmOGEuLjZiOWRiNTU4NzYxZTVkZTY0NDM3Nzg0MTAwZWI3MDNjZTY4ODJjY2MgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL21vZGVscy90ZXN0
X3Jlc3VsdHMucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbW9k
ZWxzL3Rlc3RfcmVzdWx0cy5weQpAQCAtMzgsMTIgKzM4LDEyIEBAIGNsYXNzIFRlc3RSZXN1bHQo
b2JqZWN0KToKICAgICBkZWYgbG9hZHMoc3RyaW5nKToKICAgICAgICAgcmV0dXJuIGNQaWNrbGUu
bG9hZHMoc3RyaW5nKQogCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIHRlc3RfbmFtZSwgZmFpbHVy
ZXM9Tm9uZSwgdGVzdF9ydW5fdGltZT1Ob25lLCBoYXNfc3RkZXJyPUZhbHNlLCBpc19yZWZ0ZXN0
PUZhbHNlKToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgdGVzdF9uYW1lLCBmYWlsdXJlcz1Ob25l
LCB0ZXN0X3J1bl90aW1lPU5vbmUsIGhhc19zdGRlcnI9RmFsc2UsIHJlZnRlc3RfdHlwZT1bXSk6
CiAgICAgICAgIHNlbGYudGVzdF9uYW1lID0gdGVzdF9uYW1lCiAgICAgICAgIHNlbGYuZmFpbHVy
ZXMgPSBmYWlsdXJlcyBvciBbXQogICAgICAgICBzZWxmLnRlc3RfcnVuX3RpbWUgPSB0ZXN0X3J1
bl90aW1lIG9yIDAKICAgICAgICAgc2VsZi5oYXNfc3RkZXJyID0gaGFzX3N0ZGVycgotICAgICAg
ICBzZWxmLmlzX3JlZnRlc3QgPSBpc19yZWZ0ZXN0CisgICAgICAgIHNlbGYucmVmdGVzdF90eXBl
ID0gcmVmdGVzdF90eXBlCiAgICAgICAgICMgRklYTUU6IFNldHRpbmcgdGhpcyBpbiB0aGUgY29u
c3RydWN0b3IgbWFrZXMgdGhpcyBjbGFzcyBoYXJkIHRvIG11dGF0ZS4KICAgICAgICAgc2VsZi50
eXBlID0gdGVzdF9mYWlsdXJlcy5kZXRlcm1pbmVfcmVzdWx0X3R5cGUoZmFpbHVyZXMpCiAKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRf
dGVzdHNfaW50ZWdyYXRpb250ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRf
dGVzdHMvcnVuX3dlYmtpdF90ZXN0c19pbnRlZ3JhdGlvbnRlc3QucHkKaW5kZXggNWU2ZTQyMmVi
YWJhZTU1OTY2YzgxZWVmMzQzZjJlNTBjNGI0OGQ0Yy4uZDEwMzYwZWYzZDA1YzIzYzQxODYxYjM0
MjgwYzcyOTFkYjZlODI2NSAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0c19pbnRlZ3JhdGlvbnRlc3QucHkKKysrIGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0c19pbnRlZ3JhdGlv
bnRlc3QucHkKQEAgLTk2OCw3ICs5NjgsNyBAQCBjbGFzcyBFbmRUb0VuZFRlc3QodW5pdHRlc3Qu
VGVzdENhc2UpOgogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGpzb25bInRlc3RzIl1bInJlZnRl
c3RzIl1bImZvbyJdWyJtdWx0aXBsZS1taXNtYXRjaC1mYWlsdXJlLmh0bWwiXSwKICAgICAgICAg
ICAgIHsiZXhwZWN0ZWQiOiAiUEFTUyIsICJhY3R1YWwiOiAiSU1BR0UiLCAiaXNfbWlzbWF0Y2hf
cmVmdGVzdCI6IFRydWV9KQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGpzb25bInRlc3RzIl1b
InJlZnRlc3RzIl1bImZvbyJdWyJtdWx0aXBsZS1ib3RoLWZhaWx1cmUuaHRtbCJdLAotICAgICAg
ICAgICAgeyJleHBlY3RlZCI6ICJQQVNTIiwgImFjdHVhbCI6ICJJTUFHRSIsICJpc19taXNtYXRj
aF9yZWZ0ZXN0IjogVHJ1ZX0pCisgICAgICAgICAgICB7ImV4cGVjdGVkIjogIlBBU1MiLCAiYWN0
dWFsIjogIklNQUdFIiwgImlzX21pc21hdGNoX3JlZnRlc3QiOiBUcnVlLCAiaXNfcmVmdGVzdCI6
IFRydWV9KQogCiAKIGNsYXNzIFJlYmFzZWxpbmVUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlLCBTdHJl
YW1UZXN0aW5nTWl4aW4pOgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDdhYjYxM2RiN2E0ZTVhYWIzMTBjYWNiNjBiNjcyNWE2
MDVmZTZjMzQuLmNhZmRhNWRjY2YzMTYzYjIwMDU1ZTBhMWY5YjFjMDVmNWRkNWMzYTIgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNiBAQAorMjAxMi0wOS0yNCAgWmFuIERvYmVyc2VrICA8emFuZG9iZXJzZWtA
Z21haWwuY29tPgorCisgICAgICAgIFVuZXhwZWN0ZWQgcmVmdGVzdCBwYXNzZXMgYXJlIG9ubHkg
cmVwb3J0ZWQgd2hlbiBwaXhlbCB0ZXN0aW5nIGlzIGVuYWJsZWQgaW4gcmVzdWx0cy5odG1sIGFz
IHdlbGwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk3
NDI2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVw
b3J0IHVuZXhwZWN0ZWRseSBwYXNzaW5nIHJlZnRlc3RzIGFzIHdlbGwuIFRlc3QgY2FzZXMgaW5j
bHVkZWQuCisKKyAgICAgICAgKiBmYXN0L2hhcm5lc3MvcmVzb3VyY2VzL3Jlc3VsdHMtdGVzdC5q
czoKKyAgICAgICAgKiBmYXN0L2hhcm5lc3MvcmVzdWx0cy1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogZmFzdC9oYXJuZXNzL3Jlc3VsdHMuaHRtbDoKKwogMjAxMi0wOS0yNCAgUmFwaGFlbCBLdWJv
IGRhIENvc3RhICA8cmFwaGFlbC5rdWJvLmRhLmNvc3RhQGludGVsLmNvbT4KIAogICAgICAgICBb
RUZMXSBVbnJldmlld2VkIGdhcmRlbmluZy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
aGFybmVzcy9yZXNvdXJjZXMvcmVzdWx0cy10ZXN0LmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9oYXJu
ZXNzL3Jlc291cmNlcy9yZXN1bHRzLXRlc3QuanMKaW5kZXggMTgyMjhlYzY3MGJjNTNjMzliYTE0
ZTE1Y2I4OTY2MzhjOGNlMzQzNy4uZGMzZWI5MGU1NTBiNzgzMTU0ZmExYjIzY2I3MTE1NTdkN2Iy
ZGQ5ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9oYXJuZXNzL3Jlc291cmNlcy9yZXN1
bHRzLXRlc3QuanMKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9oYXJuZXNzL3Jlc291cmNlcy9yZXN1
bHRzLXRlc3QuanMKQEAgLTI3NCw2ICsyNzQsMjEgQEAgZnVuY3Rpb24gcnVuVGVzdHMoKQogICAg
IHJlc3VsdHMudGVzdHNbJ2Jhci1yZWZ0ZXN0LW1pc21hdGNoLmh0bWwnXS5pc19taXNtYXRjaF9y
ZWZ0ZXN0ID0gdHJ1ZTsKICAgICBydW5TaW5nbGVSb3dUZXN0KHJlc3VsdHMsIGZhbHNlLCAnJywg
J3JlZiBtaXNtYXRjaCBodG1sIGFjdHVhbCAnKTsKIAorICAgIHJlc3VsdHMgPSBtb2NrUmVzdWx0
cygpOworICAgIHJlc3VsdHMudGVzdHNbJ2Jhci1yZWZ0ZXN0Lmh0bWwnXSA9IG1vY2tFeHBlY3Rh
dGlvbignSU1BR0UnLCAnUEFTUycpOworICAgIHJlc3VsdHMudGVzdHNbJ2Jhci1yZWZ0ZXN0Lmh0
bWwnXS5pc19yZWZ0ZXN0ID0gdHJ1ZTsKKyAgICByZXN1bHRzLnBpeGVsX3Rlc3RzX2VuYWJsZWQg
PSBmYWxzZTsKKyAgICBydW5UZXN0KHJlc3VsdHMsIGZ1bmN0aW9uKCkgeworICAgICAgICBhc3Nl
cnRUcnVlKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ3Rib2R5IHRkOm50aC1jaGlsZCgxKScpLnRl
eHRDb250ZW50ID09ICdiYXItcmVmdGVzdC5odG1sIFx1MjY5MScpOworICAgIH0pOworCisgICAg
cmVzdWx0cyA9IG1vY2tSZXN1bHRzKCk7CisgICAgcmVzdWx0cy50ZXN0c1snYmFyLXJlZnRlc3Qt
bWlzbWF0Y2guaHRtbCddID0gbW9ja0V4cGVjdGF0aW9uKCdJTUFHRScsICdQQVNTJyk7CisgICAg
cmVzdWx0cy50ZXN0c1snYmFyLXJlZnRlc3QtbWlzbWF0Y2guaHRtbCddLmlzX21pc21hdGNoX3Jl
ZnRlc3QgPSB0cnVlOworICAgIHJlc3VsdHMucGl4ZWxfdGVzdHNfZW5hYmxlZCA9IGZhbHNlOwor
ICAgIHJ1blRlc3QocmVzdWx0cywgZnVuY3Rpb24oKSB7CisgICAgICAgIGFzc2VydFRydWUoZG9j
dW1lbnQucXVlcnlTZWxlY3RvcigndGJvZHkgdGQ6bnRoLWNoaWxkKDEpJykudGV4dENvbnRlbnQg
PT0gJ2Jhci1yZWZ0ZXN0LW1pc21hdGNoLmh0bWwgXHUyNjkxJyk7CisgICAgfSk7CiAKICAgICBy
ZXN1bHRzID0gbW9ja1Jlc3VsdHMoKTsKICAgICB2YXIgc3VidHJlZSA9IHJlc3VsdHMudGVzdHNb
J2ZvbyddID0ge30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvaGFybmVzcy9yZXN1bHRz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvaGFybmVzcy9yZXN1bHRzLWV4cGVjdGVk
LnR4dAppbmRleCBmZjBmYjk2OGQzNWZiMDIyZTRkNGVmMDBhM2MwNDk5OTRhMmRmNzUzLi5iOTNj
MzMyNmM4YTMwNjc5NjQwOWFmN2VjYzk4ZTI1OGEwZjQ1ZDAzIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2hhcm5lc3MvcmVzdWx0cy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9oYXJuZXNzL3Jlc3VsdHMtZXhwZWN0ZWQudHh0CkBAIC05NCwxOCArOTQsMTMgQEAgVEVT
VC0xNTogUEFTUwogVEVTVC0xNTogUEFTUwogVEVTVC0xNTogUEFTUwogVEVTVC0xNjogUEFTUwot
VEVTVC0xNjogUEFTUwotVEVTVC0xNjogUEFTUwotVEVTVC0xNzogUEFTUwogVEVTVC0xNzogUEFT
UwotVEVTVC0xNzogUEFTUwotVEVTVC0xODogUEFTUwogVEVTVC0xODogUEFTUwogVEVTVC0xODog
UEFTUwogVEVTVC0xODogUEFTUwogVEVTVC0xOTogUEFTUwogVEVTVC0xOTogUEFTUwotVEVTVC0y
MDogUEFTUworVEVTVC0xOTogUEFTUwogVEVTVC0yMDogUEFTUwogVEVTVC0yMDogUEFTUwogVEVT
VC0yMDogUEFTUwpAQCAtMTE0LDQ3ICsxMDksNDIgQEAgVEVTVC0yMTogUEFTUwogVEVTVC0yMTog
UEFTUwogVEVTVC0yMjogUEFTUwogVEVTVC0yMjogUEFTUworVEVTVC0yMjogUEFTUworVEVTVC0y
MjogUEFTUworVEVTVC0yMjogUEFTUworVEVTVC0yMzogUEFTUwogVEVTVC0yMzogUEFTUwogVEVT
VC0yNDogUEFTUwogVEVTVC0yNDogUEFTUwogVEVTVC0yNTogUEFTUwogVEVTVC0yNjogUEFTUwor
VEVTVC0yNjogUEFTUwogVEVTVC0yNzogUEFTUwogVEVTVC0yODogUEFTUwotVEVTVC0yODogUEFT
UwotVEVTVC0yODogUEFTUwogVEVTVC0yOTogUEFTUwotVEVTVC0yOTogUEFTUwotVEVTVC0zMDog
UEFTUwotVEVTVC0zMDogUEFTUwotVEVTVC0zMDogUEFTUwogVEVTVC0zMDogUEFTUwogVEVTVC0z
MDogUEFTUwogVEVTVC0zMDogUEFTUwotVEVTVC0zMDogUEFTUwotVEVTVC0zMDogUEFTUwotVEVT
VC0zMDogUEFTUwotVEVTVC0zMDogUEFTUwotVEVTVC0zMDogUEFTUwotVEVTVC0zMDogUEFTUwot
VEVTVC0zMDogUEFTUwotVEVTVC0zMDogUEFTUwotVEVTVC0zMDogUEFTUwotVEVTVC0zMDogUEFT
UwotVEVTVC0zMTogUEFTUwotVEVTVC0zMTogUEFTUwotVEVTVC0zMTogUEFTUwotVEVTVC0zMTog
UEFTUwotVEVTVC0zMTogUEFTUwotVEVTVC0zMTogUEFTUwotVEVTVC0zMTogUEFTUwotVEVTVC0z
MTogUEFTUwogVEVTVC0zMTogUEFTUwogVEVTVC0zMTogUEFTUwogVEVTVC0zMjogUEFTUwogVEVT
VC0zMjogUEFTUwogVEVTVC0zMjogUEFTUwogVEVTVC0zMjogUEFTUworVEVTVC0zMjogUEFTUwor
VEVTVC0zMjogUEFTUworVEVTVC0zMjogUEFTUworVEVTVC0zMjogUEFTUworVEVTVC0zMjogUEFT
UworVEVTVC0zMjogUEFTUworVEVTVC0zMjogUEFTUworVEVTVC0zMjogUEFTUworVEVTVC0zMjog
UEFTUworVEVTVC0zMjogUEFTUworVEVTVC0zMjogUEFTUworVEVTVC0zMjogUEFTUworVEVTVC0z
MzogUEFTUworVEVTVC0zMzogUEFTUwogVEVTVC0zMzogUEFTUwogVEVTVC0zMzogUEFTUwogVEVT
VC0zMzogUEFTUwpAQCAtMTY2LDU1ICsxNTYsMTggQEAgVEVTVC0zMzogUEFTUwogVEVTVC0zNDog
UEFTUwogVEVTVC0zNDogUEFTUwogVEVTVC0zNDogUEFTUworVEVTVC0zNDogUEFTUworVEVTVC0z
NTogUEFTUworVEVTVC0zNTogUEFTUworVEVTVC0zNTogUEFTUworVEVTVC0zNTogUEFTUworVEVT
VC0zNTogUEFTUwogVEVTVC0zNTogUEFTUwogVEVTVC0zNTogUEFTUwogVEVTVC0zNTogUEFTUwog
VEVTVC0zNjogUEFTUwogVEVTVC0zNjogUEFTUwogVEVTVC0zNjogUEFTUwotVEVTVC0zNjogUEFT
UwotVEVTVC0zNjogUEFTUwotVEVTVC0zNjogUEFTUwotVEVTVC0zNjogUEFTUwotVEVTVC0zNjog
UEFTUwotVEVTVC0zNjogUEFTUwotVEVTVC0zNjogUEFTUwotVEVTVC0zNjogUEFTUwotVEVTVC0z
NjogUEFTUwotVEVTVC0zNjogUEFTUwotVEVTVC0zNjogUEFTUwotVEVTVC0zNjogUEFTUwotVEVT
VC0zNjogUEFTUwotVEVTVC0zNjogUEFTUwotVEVTVC0zNjogUEFTUwotVEVTVC0zNjogUEFTUwot
VEVTVC0zNjogUEFTUwotVEVTVC0zNjogUEFTUwotVEVTVC0zNjogUEFTUwotVEVTVC0zNjogUEFT
UwotVEVTVC0zNjogUEFTUwotVEVTVC0zNjogUEFTUwotVEVTVC0zNjogUEFTUwotVEVTVC0zNjog
UEFTUwotVEVTVC0zNjogUEFTUwotVEVTVC0zNjogUEFTUwotVEVTVC0zNjogUEFTUwotVEVTVC0z
NjogUEFTUwotVEVTVC0zNjogUEFTUwotVEVTVC0zNjogUEFTUwotVEVTVC0zNjogUEFTUwotVEVT
VC0zNjogUEFTUwotVEVTVC0zNjogUEFTUwotVEVTVC0zNjogUEFTUwotVEVTVC0zNzogUEFTUwot
VEVTVC0zNzogUEFTUwotVEVTVC0zNzogUEFTUwotVEVTVC0zNzogUEFTUwotVEVTVC0zNzogUEFT
UwotVEVTVC0zNzogUEFTUwotVEVTVC0zNzogUEFTUwotVEVTVC0zNzogUEFTUwotVEVTVC0zNzog
UEFTUwogVEVTVC0zNzogUEFTUwogVEVTVC0zNzogUEFTUwogVEVTVC0zNzogUEFTUwpAQCAtMjIy
LDYgKzE3NSw1NSBAQCBURVNULTM4OiBQQVNTCiBURVNULTM4OiBQQVNTCiBURVNULTM4OiBQQVNT
CiBURVNULTM4OiBQQVNTCitURVNULTM4OiBQQVNTCitURVNULTM4OiBQQVNTCitURVNULTM4OiBQ
QVNTCitURVNULTM4OiBQQVNTCitURVNULTM4OiBQQVNTCitURVNULTM4OiBQQVNTCitURVNULTM4
OiBQQVNTCitURVNULTM4OiBQQVNTCitURVNULTM4OiBQQVNTCitURVNULTM4OiBQQVNTCitURVNU
LTM4OiBQQVNTCitURVNULTM4OiBQQVNTCitURVNULTM4OiBQQVNTCitURVNULTM4OiBQQVNTCitU
RVNULTM4OiBQQVNTCitURVNULTM4OiBQQVNTCitURVNULTM4OiBQQVNTCitURVNULTM4OiBQQVNT
CitURVNULTM4OiBQQVNTCitURVNULTM4OiBQQVNTCitURVNULTM4OiBQQVNTCitURVNULTM4OiBQ
QVNTCitURVNULTM4OiBQQVNTCitURVNULTM4OiBQQVNTCitURVNULTM4OiBQQVNTCitURVNULTM4
OiBQQVNTCitURVNULTM4OiBQQVNTCitURVNULTM4OiBQQVNTCitURVNULTM4OiBQQVNTCitURVNU
LTM4OiBQQVNTCitURVNULTM4OiBQQVNTCitURVNULTM4OiBQQVNTCitURVNULTM4OiBQQVNTCitU
RVNULTM5OiBQQVNTCitURVNULTM5OiBQQVNTCitURVNULTM5OiBQQVNTCitURVNULTM5OiBQQVNT
CitURVNULTM5OiBQQVNTCitURVNULTM5OiBQQVNTCitURVNULTM5OiBQQVNTCitURVNULTM5OiBQ
QVNTCitURVNULTM5OiBQQVNTCiBURVNULTM5OiBQQVNTCiBURVNULTM5OiBQQVNTCiBURVNULTM5
OiBQQVNTCitURVNULTQwOiBQQVNTCitURVNULTQwOiBQQVNTCitURVNULTQwOiBQQVNTCitURVNU
LTQwOiBQQVNTCitURVNULTQxOiBQQVNTCitURVNULTQxOiBQQVNTCitURVNULTQxOiBQQVNTCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2hhcm5lc3MvcmVzdWx0cy5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9oYXJuZXNzL3Jlc3VsdHMuaHRtbAppbmRleCBmY2FmNzJmNTU1MDcxYjM5ZmMz
NDQ4ZGNhMGU1M2ZlODE2Y2JjY2YwLi5mYmNlOGI1OTA5NmUzM2EzMjg5MDM4NmI2ODYxMzU1N2I3
YTg5Y2FhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2hhcm5lc3MvcmVzdWx0cy5odG1s
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvaGFybmVzcy9yZXN1bHRzLmh0bWwKQEAgLTUxMiw3ICs1
MTIsNyBAQCBmdW5jdGlvbiBwcm9jZXNzR2xvYmFsU3RhdGVGb3IodGVzdE9iamVjdCkKICAgICB9
CiAKICAgICBpZiAoYWN0dWFsID09ICdQQVNTJyAmJiBleHBlY3RlZCAhPSAnUEFTUycpIHsKLSAg
ICAgICAgaWYgKGV4cGVjdGVkICE9ICdJTUFHRScgfHwgZ2xvYmFsU3RhdGUoKS5yZXN1bHRzLnBp
eGVsX3Rlc3RzX2VuYWJsZWQpIHsKKyAgICAgICAgaWYgKGV4cGVjdGVkICE9ICdJTUFHRScgfHwg
KGdsb2JhbFN0YXRlKCkucmVzdWx0cy5waXhlbF90ZXN0c19lbmFibGVkIHx8IHRlc3RPYmplY3Qu
aXNfcmVmdGVzdCB8fCB0ZXN0T2JqZWN0LmlzX21pc21hdGNoX3JlZnRlc3QpKSB7CiAgICAgICAg
ICAgICBnbG9iYWxTdGF0ZSgpLnVuZXhwZWN0ZWRQYXNzVGVzdHMucHVzaCh0ZXN0T2JqZWN0KTsK
ICAgICAgICAgfQogICAgICAgICByZXR1cm47Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>165421</attachid>
            <date>2012-09-24 12:00:17 -0700</date>
            <delta_ts>2012-09-24 23:17:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97426-20120924115938.patch</filename>
            <type>text/plain</type>
            <size>21985</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI5Mzc0CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMjM2MDcwMzlkYTU1OTlhOGYzYzBhMjNlMTUyMDk1YjNh
NWFkOWNhOS4uOWU2NjM3NGZhYjI0YWViNGNkNTQxYTQxNjJlZTRlMGU2Y2QxNWI5MSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQy
IEBACiAyMDEyLTA5LTI0ICBaYW4gRG9iZXJzZWsgIDx6YW5kb2JlcnNla0BnbWFpbC5jb20+CiAK
KyAgICAgICAgVW5leHBlY3RlZCByZWZ0ZXN0IHBhc3NlcyBhcmUgb25seSByZXBvcnRlZCB3aGVu
IHBpeGVsIHRlc3RpbmcgaXMgZW5hYmxlZCBpbiByZXN1bHRzLmh0bWwgYXMgd2VsbAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTc0MjYKKworICAgICAg
ICBSZXZpZXdlZCBieSBPamFuIFZhZmFpLgorCisgICAgICAgIFRoZSAnaXNfcmVmdGVzdCcgbWVt
YmVyIG9mIHRoZSBUZXN0UmVzdWx0IGNsYXNzIGhhcyBiZWVuIHJlcGxhY2VkIGJ5IHRoZSByZWZ0
ZXN0X3R5cGUKKyAgICAgICAgbWVtYmVyIHdoaWNoIGlzIGEgc2V0IGNvbnRhaW5pbmcgZWl0aGVy
ICchPScsICc9PScsIGJvdGggb3Igbm9uZSBpZiB0aGUgdGVzdCByZXByZXNlbnRlZAorICAgICAg
ICBieSB0aGUgb2JqZWN0IGlzIG5vdCBhIHJlZnRlc3QuCisKKyAgICAgICAgV2hlbiBzdW1tYXJp
emluZyByZXN1bHRzLCB0aGUgdGVzdCBkaWN0aW9uYXJ5IGlzIHVwZGF0ZWQgdG8gY29udGFpbiB0
aGUgJ3JlZnRlc3RfdHlwZScga2V5CisgICAgICAgIGlmIHRoZSB0ZXN0IGlzIGEgcmVmdGVzdC4g
VGhlIHZhbHVlIG9mIHRoaXMga2V5IGlzIGEgbGlzdCBvZiBhbGwgdGhlIHJlZnRlc3QgdHlwZXMg
b2YgdGhpcyB0ZXN0LgorCisgICAgICAgIFRoZSB0ZXN0IGZhaWx1cmUgaW50ZXJwcmV0YXRpb24g
bWV0aG9kIGhhcyBiZWVuIHJlZmFjdG9yZWQsIGl0IG5vdyByZXBvcnRzIG9ubHkKKyAgICAgICAg
bWlzc2luZyByZXN1bHRzIG9mIHZhcmlvdXMgZm9ybWF0cyBhbmQgaW1hZ2UgZGlmZiBwZXJjZW50
IGluIGNhc2Ugb2YgaW1hZ2Ugb3IKKyAgICAgICAgcmVmdGVzdCBtaXNtYXRjaC4KKworICAgICAg
ICBVbml0IHRlc3RzIGhhdmUgYmVlbiBtb2RpZmllZCBhY2NvcmRpbmdseS4KKworICAgICAgICAq
IFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL2xheW91dF90ZXN0X3J1
bm5lci5weToKKyAgICAgICAgKExheW91dFRlc3RSdW5uZXIuX3VwZGF0ZV9zdW1tYXJ5X3dpdGhf
cmVzdWx0KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9s
bGVycy9sYXlvdXRfdGVzdF9ydW5uZXJfdW5pdHRlc3QucHk6CisgICAgICAgIChMYXlvdXRUZXN0
UnVubmVyVGVzdHMudGVzdF91cGRhdGVfc3VtbWFyeV93aXRoX3Jlc3VsdCk6CisgICAgICAgICog
U2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdlci5weToKKyAg
ICAgICAgKGludGVycHJldF90ZXN0X2ZhaWx1cmVzKToKKyAgICAgICAgKHN1bW1hcml6ZV9yZXN1
bHRzKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVy
cy9tYW5hZ2VyX3VuaXR0ZXN0LnB5OgorICAgICAgICAoUmVzdWx0U3VtbWFyeVRlc3QudGVzdF9p
bnRlcnByZXRfdGVzdF9mYWlsdXJlcyk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvY29udHJvbGxlcnMvc2luZ2xlX3Rlc3RfcnVubmVyLnB5OgorICAgICAgICAoU2lu
Z2xlVGVzdFJ1bm5lci5ydW4pOgorICAgICAgICAoU2luZ2xlVGVzdFJ1bm5lci5fcnVuX3JlZnRl
c3QpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL21vZGVscy90ZXN0
X3Jlc3VsdHMucHk6CisgICAgICAgIChUZXN0UmVzdWx0Ll9faW5pdF9fKToKKyAgICAgICAgKiBT
Y3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9ydW5fd2Via2l0X3Rlc3RzX2ludGVncmF0aW9u
dGVzdC5weToKKyAgICAgICAgKEVuZFRvRW5kVGVzdC50ZXN0X3JlZnRlc3Rfd2l0aF90d29fbm90
cmVmcyk6CisKKzIwMTItMDktMjQgIFphbiBEb2JlcnNlayAgPHphbmRvYmVyc2VrQGdtYWlsLmNv
bT4KKwogICAgICAgICBSRUdSRVNTSU9OIChyMTI5MjExLXIxMjkyMTgpOiBodHRwL3Rlc3RzL2xv
YWRpbmcvcmVkaXJlY3Qtd2l0aC1uby1sb2NhdGlvbi1jcmFzaC5odG1sIGZhaWxpbmcgb24gR1RL
IExpbnV4IDY0LWJpdCBSZWxlYXNlIFdLMiAoVGVzdHMpCiAgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NzQwNAogCmRpZmYgLS1naXQgYS9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9sYXlvdXRfdGVzdF9ydW5uZXIu
cHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9sYXlv
dXRfdGVzdF9ydW5uZXIucHkKaW5kZXggNjlkMmNjMDMwZWQ0ZjA2MmFjZDY1NDAzNzZiMDBlYjhh
N2U5MDQwYy4uNDIwMTI4NjE5ZWE2ZTdjY2Y3NGM4NThhZTZkYmE0MmQ2MTI0ZDM3YyAxMDA2NDQK
LS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbGF5
b3V0X3Rlc3RfcnVubmVyLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rl
c3RzL2NvbnRyb2xsZXJzL2xheW91dF90ZXN0X3J1bm5lci5weQpAQCAtMTk4LDcgKzE5OCw3IEBA
IGNsYXNzIExheW91dFRlc3RSdW5uZXIob2JqZWN0KToKICAgICAgICAgICAgIGV4cF9zdHIgPSBn
b3Rfc3RyID0gJ1NLSVAnCiAgICAgICAgICAgICBleHBlY3RlZCA9IFRydWUKICAgICAgICAgZWxz
ZToKLSAgICAgICAgICAgIGV4cGVjdGVkID0gc2VsZi5fZXhwZWN0YXRpb25zLm1hdGNoZXNfYW5f
ZXhwZWN0ZWRfcmVzdWx0KHJlc3VsdC50ZXN0X25hbWUsIHJlc3VsdC50eXBlLCBzZWxmLl9vcHRp
b25zLnBpeGVsX3Rlc3RzIG9yIHJlc3VsdC5pc19yZWZ0ZXN0KQorICAgICAgICAgICAgZXhwZWN0
ZWQgPSBzZWxmLl9leHBlY3RhdGlvbnMubWF0Y2hlc19hbl9leHBlY3RlZF9yZXN1bHQocmVzdWx0
LnRlc3RfbmFtZSwgcmVzdWx0LnR5cGUsIHNlbGYuX29wdGlvbnMucGl4ZWxfdGVzdHMgb3IgcmVz
dWx0LnJlZnRlc3RfdHlwZSkKICAgICAgICAgICAgIGV4cF9zdHIgPSBzZWxmLl9leHBlY3RhdGlv
bnMuZ2V0X2V4cGVjdGF0aW9uc19zdHJpbmcocmVzdWx0LnRlc3RfbmFtZSkKICAgICAgICAgICAg
IGdvdF9zdHIgPSBzZWxmLl9leHBlY3RhdGlvbnMuZXhwZWN0YXRpb25fdG9fc3RyaW5nKHJlc3Vs
dC50eXBlKQogCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0
cy9jb250cm9sbGVycy9sYXlvdXRfdGVzdF9ydW5uZXJfdW5pdHRlc3QucHkgYi9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9sYXlvdXRfdGVzdF9ydW5uZXJf
dW5pdHRlc3QucHkKaW5kZXggNTA2MmQ1Mjc3YTY4Y2I4NjIzYzc5NWFlZWFlNDM2NjIxNTRiNWU0
OS4uNGVmYTRlMDBjODQ5OTdhZmU5NTk4NGY4OGY1YzE4ODM2MzkzM2M3MiAxMDA2NDQKLS0tIGEv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbGF5b3V0X3Rl
c3RfcnVubmVyX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0
X3Rlc3RzL2NvbnRyb2xsZXJzL2xheW91dF90ZXN0X3J1bm5lcl91bml0dGVzdC5weQpAQCAtMTUy
LDEzICsxNTIsMTMgQEAgY2xhc3MgTGF5b3V0VGVzdFJ1bm5lclRlc3RzKHVuaXR0ZXN0LlRlc3RD
YXNlKToKICAgICAgICAgcnVubmVyLl9leHBlY3RhdGlvbnMgPSBleHBlY3RhdGlvbnMKIAogICAg
ICAgICByZXN1bHRfc3VtbWFyeSA9IFJlc3VsdFN1bW1hcnkoZXhwZWN0YXRpb25zLCBbdGVzdF0s
IDEsIHNldCgpKQotICAgICAgICByZXN1bHQgPSBUZXN0UmVzdWx0KHRlc3RfbmFtZT10ZXN0LCBm
YWlsdXJlcz1bdGVzdF9mYWlsdXJlcy5GYWlsdXJlUmVmdGVzdE1pc21hdGNoRGlkTm90T2NjdXIo
KV0sIGlzX3JlZnRlc3Q9VHJ1ZSkKKyAgICAgICAgcmVzdWx0ID0gVGVzdFJlc3VsdCh0ZXN0X25h
bWU9dGVzdCwgZmFpbHVyZXM9W3Rlc3RfZmFpbHVyZXMuRmFpbHVyZVJlZnRlc3RNaXNtYXRjaERp
ZE5vdE9jY3VyKCldLCByZWZ0ZXN0X3R5cGU9WychPSddKQogICAgICAgICBydW5uZXIuX3VwZGF0
ZV9zdW1tYXJ5X3dpdGhfcmVzdWx0KHJlc3VsdF9zdW1tYXJ5LCByZXN1bHQpCiAgICAgICAgIHNl
bGYuYXNzZXJ0RXF1YWxzKDEsIHJlc3VsdF9zdW1tYXJ5LmV4cGVjdGVkKQogICAgICAgICBzZWxm
LmFzc2VydEVxdWFscygwLCByZXN1bHRfc3VtbWFyeS51bmV4cGVjdGVkKQogCiAgICAgICAgIHJl
c3VsdF9zdW1tYXJ5ID0gUmVzdWx0U3VtbWFyeShleHBlY3RhdGlvbnMsIFt0ZXN0XSwgMSwgc2V0
KCkpCi0gICAgICAgIHJlc3VsdCA9IFRlc3RSZXN1bHQodGVzdF9uYW1lPXRlc3QsIGZhaWx1cmVz
PVtdLCBpc19yZWZ0ZXN0PVRydWUpCisgICAgICAgIHJlc3VsdCA9IFRlc3RSZXN1bHQodGVzdF9u
YW1lPXRlc3QsIGZhaWx1cmVzPVtdLCByZWZ0ZXN0X3R5cGU9Wyc9PSddKQogICAgICAgICBydW5u
ZXIuX3VwZGF0ZV9zdW1tYXJ5X3dpdGhfcmVzdWx0KHJlc3VsdF9zdW1tYXJ5LCByZXN1bHQpCiAg
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKDAsIHJlc3VsdF9zdW1tYXJ5LmV4cGVjdGVkKQogICAg
ICAgICBzZWxmLmFzc2VydEVxdWFscygxLCByZXN1bHRfc3VtbWFyeS51bmV4cGVjdGVkKQpkaWZm
IC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMv
bWFuYWdlci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xs
ZXJzL21hbmFnZXIucHkKaW5kZXggZTY5MjRhM2VlNjkxMmFiZjg4MDkwMTMwMDA2ZWZmZTQ0ODIy
ZTkxMC4uZDA2ZWQ3MTUzNDk2MjA4ZWE3M2U2OWMwZmNhYzFjNDljNjNmZjNmZCAxMDA2NDQKLS0t
IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdl
ci5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVy
cy9tYW5hZ2VyLnB5CkBAIC03NSw3ICs3NSw3IEBAIGRlZiBpbnRlcnByZXRfdGVzdF9mYWlsdXJl
cyhwb3J0LCB0ZXN0X25hbWUsIGZhaWx1cmVzKToKICAgICAgICAgdGVzdF9uYW1lOiB0ZXN0IG5h
bWUgcmVsYXRpdmUgdG8gbGF5b3V0X3Rlc3RzIGRpcmVjdG9yeQogICAgICAgICBmYWlsdXJlczog
bGlzdCBvZiB0ZXN0IGZhaWx1cmVzCiAgICAgUmV0dXJuczoKLSAgICAgICAgQSBkaWN0aW9uYXJ5
IGxpa2Ugeydpc19yZWZ0ZXN0JzogVHJ1ZSwgLi4ufQorICAgICAgICBBIGRpY3Rpb25hcnkgbGlr
ZSB7J2lzX21pc3NpbmdfdGV4dCc6IFRydWUsIC4uLn0KICAgICAiIiIKICAgICB0ZXN0X2RpY3Qg
PSB7fQogICAgIGZhaWx1cmVfdHlwZXMgPSBbdHlwZShmYWlsdXJlKSBmb3IgZmFpbHVyZSBpbiBm
YWlsdXJlc10KQEAgLTg0LDIwICs4NCwxNiBAQCBkZWYgaW50ZXJwcmV0X3Rlc3RfZmFpbHVyZXMo
cG9ydCwgdGVzdF9uYW1lLCBmYWlsdXJlcyk6CiAgICAgaWYgdGVzdF9mYWlsdXJlcy5GYWlsdXJl
TWlzc2luZ0F1ZGlvIGluIGZhaWx1cmVfdHlwZXM6CiAgICAgICAgIHRlc3RfZGljdFsnaXNfbWlz
c2luZ19hdWRpbyddID0gVHJ1ZQogCi0gICAgZm9yIGZhaWx1cmUgaW4gZmFpbHVyZXM6Ci0gICAg
ICAgIGlmIGlzaW5zdGFuY2UoZmFpbHVyZSwgdGVzdF9mYWlsdXJlcy5GYWlsdXJlSW1hZ2VIYXNo
TWlzbWF0Y2gpOgotICAgICAgICAgICAgdGVzdF9kaWN0WydpbWFnZV9kaWZmX3BlcmNlbnQnXSA9
IGZhaWx1cmUuZGlmZl9wZXJjZW50Ci0gICAgICAgIGVsaWYgaXNpbnN0YW5jZShmYWlsdXJlLCB0
ZXN0X2ZhaWx1cmVzLkZhaWx1cmVSZWZ0ZXN0TWlzbWF0Y2gpOgotICAgICAgICAgICAgdGVzdF9k
aWN0Wydpc19yZWZ0ZXN0J10gPSBUcnVlCi0gICAgICAgICAgICB0ZXN0X2RpY3RbJ2ltYWdlX2Rp
ZmZfcGVyY2VudCddID0gZmFpbHVyZS5kaWZmX3BlcmNlbnQKLSAgICAgICAgZWxpZiBpc2luc3Rh
bmNlKGZhaWx1cmUsIHRlc3RfZmFpbHVyZXMuRmFpbHVyZVJlZnRlc3RNaXNtYXRjaERpZE5vdE9j
Y3VyKToKLSAgICAgICAgICAgIHRlc3RfZGljdFsnaXNfbWlzbWF0Y2hfcmVmdGVzdCddID0gVHJ1
ZQotCiAgICAgaWYgdGVzdF9mYWlsdXJlcy5GYWlsdXJlTWlzc2luZ1Jlc3VsdCBpbiBmYWlsdXJl
X3R5cGVzOgogICAgICAgICB0ZXN0X2RpY3RbJ2lzX21pc3NpbmdfdGV4dCddID0gVHJ1ZQogCiAg
ICAgaWYgdGVzdF9mYWlsdXJlcy5GYWlsdXJlTWlzc2luZ0ltYWdlIGluIGZhaWx1cmVfdHlwZXMg
b3IgdGVzdF9mYWlsdXJlcy5GYWlsdXJlTWlzc2luZ0ltYWdlSGFzaCBpbiBmYWlsdXJlX3R5cGVz
OgogICAgICAgICB0ZXN0X2RpY3RbJ2lzX21pc3NpbmdfaW1hZ2UnXSA9IFRydWUKKworICAgIGZv
ciBmYWlsdXJlIGluIGZhaWx1cmVzOgorICAgICAgICBpZiBpc2luc3RhbmNlKGZhaWx1cmUsIHRl
c3RfZmFpbHVyZXMuRmFpbHVyZUltYWdlSGFzaE1pc21hdGNoKSBvciBpc2luc3RhbmNlKGZhaWx1
cmUsIHRlc3RfZmFpbHVyZXMuRmFpbHVyZVJlZnRlc3RNaXNtYXRjaCk6CisgICAgICAgICAgICB0
ZXN0X2RpY3RbJ2ltYWdlX2RpZmZfcGVyY2VudCddID0gZmFpbHVyZS5kaWZmX3BlcmNlbnQKKwog
ICAgIHJldHVybiB0ZXN0X2RpY3QKIAogCkBAIC0xNzIsNiArMTY4LDkgQEAgZGVmIHN1bW1hcml6
ZV9yZXN1bHRzKHBvcnRfb2JqLCBleHBlY3RhdGlvbnMsIHJlc3VsdF9zdW1tYXJ5LCByZXRyeV9z
dW1tYXJ5LCB0ZXMKICAgICAgICAgaWYgcmVzdWx0Lmhhc19zdGRlcnI6CiAgICAgICAgICAgICB0
ZXN0X2RpY3RbJ2hhc19zdGRlcnInXSA9IFRydWUKIAorICAgICAgICBpZiByZXN1bHQucmVmdGVz
dF90eXBlOgorICAgICAgICAgICAgdGVzdF9kaWN0LnVwZGF0ZShyZWZ0ZXN0X3R5cGU9bGlzdChy
ZXN1bHQucmVmdGVzdF90eXBlKSkKKwogICAgICAgICBpZiBleHBlY3RhdGlvbnMuaGFzX21vZGlm
aWVyKHRlc3RfbmFtZSwgdGVzdF9leHBlY3RhdGlvbnMuV09OVEZJWCk6CiAgICAgICAgICAgICB0
ZXN0X2RpY3RbJ3dvbnRmaXgnXSA9IFRydWUKIApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdlcl91bml0dGVzdC5weSBiL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL21hbmFnZXJfdW5p
dHRlc3QucHkKaW5kZXggZGNkMjRhNDQ2NmQ3ZDY1MDQzODgzNGQzOTQ3YjFkMGY5YWFiODIxMS4u
MDk4NDA5OThlYzVmY2EyMDM0ZjY4MDcxNjI3YjVjMzc4ZGQyNDBhNCAxMDA2NDQKLS0tIGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdlcl91bml0
dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9s
bGVycy9tYW5hZ2VyX3VuaXR0ZXN0LnB5CkBAIC0xMDQsMjQgKzEwNCwzMiBAQCBjbGFzcyBSZXN1
bHRTdW1tYXJ5VGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAKICAgICBkZWYgdGVzdF9pbnRlcnBy
ZXRfdGVzdF9mYWlsdXJlcyhzZWxmKToKICAgICAgICAgdGVzdF9kaWN0ID0gaW50ZXJwcmV0X3Rl
c3RfZmFpbHVyZXMoc2VsZi5wb3J0LCAnZm9vL3JlZnRlc3QuaHRtbCcsCi0gICAgICAgICAgICBb
dGVzdF9mYWlsdXJlcy5GYWlsdXJlUmVmdGVzdE1pc21hdGNoKHNlbGYucG9ydC5hYnNwYXRoX2Zv
cl90ZXN0KCdmb28vcmVmdGVzdC1leHBlY3RlZC5odG1sJykpXSkKLSAgICAgICAgc2VsZi5hc3Nl
cnRUcnVlKCdpc19yZWZ0ZXN0JyBpbiB0ZXN0X2RpY3QpCi0gICAgICAgIHNlbGYuYXNzZXJ0RmFs
c2UoJ2lzX21pc21hdGNoX3JlZnRlc3QnIGluIHRlc3RfZGljdCkKKyAgICAgICAgICAgIFt0ZXN0
X2ZhaWx1cmVzLkZhaWx1cmVJbWFnZUhhc2hNaXNtYXRjaChkaWZmX3BlcmNlbnQ9MC40MildKQor
ICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHRlc3RfZGljdFsnaW1hZ2VfZGlmZl9wZXJjZW50J10s
IDAuNDIpCiAKICAgICAgICAgdGVzdF9kaWN0ID0gaW50ZXJwcmV0X3Rlc3RfZmFpbHVyZXMoc2Vs
Zi5wb3J0LCAnZm9vL3JlZnRlc3QuaHRtbCcsCi0gICAgICAgICAgICBbdGVzdF9mYWlsdXJlcy5G
YWlsdXJlUmVmdGVzdE1pc21hdGNoKHNlbGYucG9ydC5hYnNwYXRoX2Zvcl90ZXN0KCdmb28vY29t
bW9uLmh0bWwnKSldKQotICAgICAgICBzZWxmLmFzc2VydFRydWUoJ2lzX3JlZnRlc3QnIGluIHRl
c3RfZGljdCkKLSAgICAgICAgc2VsZi5hc3NlcnRGYWxzZSgnaXNfbWlzbWF0Y2hfcmVmdGVzdCcg
aW4gdGVzdF9kaWN0KQorICAgICAgICAgICAgW3Rlc3RfZmFpbHVyZXMuRmFpbHVyZVJlZnRlc3RN
aXNtYXRjaChzZWxmLnBvcnQuYWJzcGF0aF9mb3JfdGVzdCgnZm9vL3JlZnRlc3QtZXhwZWN0ZWQu
aHRtbCcpKV0pCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSgnaW1hZ2VfZGlmZl9wZXJjZW50JyBp
biB0ZXN0X2RpY3QpCiAKICAgICAgICAgdGVzdF9kaWN0ID0gaW50ZXJwcmV0X3Rlc3RfZmFpbHVy
ZXMoc2VsZi5wb3J0LCAnZm9vL3JlZnRlc3QuaHRtbCcsCiAgICAgICAgICAgICBbdGVzdF9mYWls
dXJlcy5GYWlsdXJlUmVmdGVzdE1pc21hdGNoRGlkTm90T2NjdXIoc2VsZi5wb3J0LmFic3BhdGhf
Zm9yX3Rlc3QoJ2Zvby9yZWZ0ZXN0LWV4cGVjdGVkLW1pc21hdGNoLmh0bWwnKSldKQotICAgICAg
ICBzZWxmLmFzc2VydEZhbHNlKCdpc19yZWZ0ZXN0JyBpbiB0ZXN0X2RpY3QpCi0gICAgICAgIHNl
bGYuYXNzZXJ0VHJ1ZSh0ZXN0X2RpY3RbJ2lzX21pc21hdGNoX3JlZnRlc3QnXSkKKyAgICAgICAg
c2VsZi5hc3NlcnREaWN0RXF1YWwodGVzdF9kaWN0LCB7fSkKIAotICAgICAgICB0ZXN0X2RpY3Qg
PSBpbnRlcnByZXRfdGVzdF9mYWlsdXJlcyhzZWxmLnBvcnQsICdmb28vcmVmdGVzdC5odG1sJywK
LSAgICAgICAgICAgIFt0ZXN0X2ZhaWx1cmVzLkZhaWx1cmVSZWZ0ZXN0TWlzbWF0Y2hEaWROb3RP
Y2N1cihzZWxmLnBvcnQuYWJzcGF0aF9mb3JfdGVzdCgnZm9vL2NvbW1vbi5odG1sJykpXSkKLSAg
ICAgICAgc2VsZi5hc3NlcnRGYWxzZSgnaXNfcmVmdGVzdCcgaW4gdGVzdF9kaWN0KQotICAgICAg
ICBzZWxmLmFzc2VydFRydWUodGVzdF9kaWN0Wydpc19taXNtYXRjaF9yZWZ0ZXN0J10pCisgICAg
ICAgIHRlc3RfZGljdCA9IGludGVycHJldF90ZXN0X2ZhaWx1cmVzKHNlbGYucG9ydCwgJ2Zvby9h
dWRpby10ZXN0Lmh0bWwnLAorICAgICAgICAgICAgW3Rlc3RfZmFpbHVyZXMuRmFpbHVyZU1pc3Np
bmdBdWRpbygpXSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKCdpc19taXNzaW5nX2F1ZGlvJyBp
biB0ZXN0X2RpY3QpCisKKyAgICAgICAgdGVzdF9kaWN0ID0gaW50ZXJwcmV0X3Rlc3RfZmFpbHVy
ZXMoc2VsZi5wb3J0LCAnZm9vL3RleHQtdGVzdC5odG1sJywKKyAgICAgICAgICAgIFt0ZXN0X2Zh
aWx1cmVzLkZhaWx1cmVNaXNzaW5nUmVzdWx0KCldKQorICAgICAgICBzZWxmLmFzc2VydFRydWUo
J2lzX21pc3NpbmdfdGV4dCcgaW4gdGVzdF9kaWN0KQorCisgICAgICAgIHRlc3RfZGljdCA9IGlu
dGVycHJldF90ZXN0X2ZhaWx1cmVzKHNlbGYucG9ydCwgJ2Zvby9waXhlbC10ZXN0Lmh0bWwnLAor
ICAgICAgICAgICAgW3Rlc3RfZmFpbHVyZXMuRmFpbHVyZU1pc3NpbmdJbWFnZSgpXSkKKyAgICAg
ICAgc2VsZi5hc3NlcnRUcnVlKCdpc19taXNzaW5nX2ltYWdlJyBpbiB0ZXN0X2RpY3QpCisKKyAg
ICAgICAgdGVzdF9kaWN0ID0gaW50ZXJwcmV0X3Rlc3RfZmFpbHVyZXMoc2VsZi5wb3J0LCAnZm9v
L3BpeGVsLXRlc3QuaHRtbCcsCisgICAgICAgICAgICBbdGVzdF9mYWlsdXJlcy5GYWlsdXJlTWlz
c2luZ0ltYWdlSGFzaCgpXSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKCdpc19taXNzaW5nX2lt
YWdlJyBpbiB0ZXN0X2RpY3QpCiAKICAgICBkZWYgZ2V0X3Jlc3VsdChzZWxmLCB0ZXN0X25hbWUs
IHJlc3VsdF90eXBlPXRlc3RfZXhwZWN0YXRpb25zLlBBU1MsIHJ1bl90aW1lPTApOgogICAgICAg
ICBmYWlsdXJlcyA9IFtdCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91
dF90ZXN0cy9jb250cm9sbGVycy9zaW5nbGVfdGVzdF9ydW5uZXIucHkgYi9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9zaW5nbGVfdGVzdF9ydW5uZXIucHkK
aW5kZXggMDliNGUxZDlmYmZiNjc5MThlNTUzNTcxNzI5YWIyYzc4MjUwNjNiOS4uMGNiN2FlZmVj
YmRjNzU2OTBkM2RkYzk3MjkyYzkyYTllMDY1ZDA1NiAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvc2luZ2xlX3Rlc3RfcnVubmVyLnB5
CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL3Np
bmdsZV90ZXN0X3J1bm5lci5weQpAQCAtOTQsNyArOTQsOCBAQCBjbGFzcyBTaW5nbGVUZXN0UnVu
bmVyKG9iamVjdCk6CiAgICAgZGVmIHJ1bihzZWxmKToKICAgICAgICAgaWYgc2VsZi5fcmVmZXJl
bmNlX2ZpbGVzOgogICAgICAgICAgICAgaWYgc2VsZi5fcG9ydC5nZXRfb3B0aW9uKCdub19yZWZf
dGVzdHMnKSBvciBzZWxmLl9vcHRpb25zLnJlc2V0X3Jlc3VsdHM6Ci0gICAgICAgICAgICAgICAg
cmVzdWx0ID0gVGVzdFJlc3VsdChzZWxmLl90ZXN0X25hbWUsIGlzX3JlZnRlc3Q9VHJ1ZSkKKyAg
ICAgICAgICAgICAgICByZWZ0ZXN0X3R5cGUgPSBzZXQoW3JlZmVyZW5jZV9maWxlWzBdIGZvciBy
ZWZlcmVuY2VfZmlsZSBpbiBzZWxmLl9yZWZlcmVuY2VfZmlsZXNdKQorICAgICAgICAgICAgICAg
IHJlc3VsdCA9IFRlc3RSZXN1bHQoc2VsZi5fdGVzdF9uYW1lLCByZWZ0ZXN0X3R5cGU9cmVmdGVz
dF90eXBlKQogICAgICAgICAgICAgICAgIHJlc3VsdC50eXBlID0gdGVzdF9leHBlY3RhdGlvbnMu
U0tJUAogICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQKICAgICAgICAgICAgIHJldHVybiBz
ZWxmLl9ydW5fcmVmdGVzdCgpCkBAIC0zMDMsNyArMzA0LDggQEAgY2xhc3MgU2luZ2xlVGVzdFJ1
bm5lcihvYmplY3QpOgogCiAgICAgICAgIGFzc2VydChyZWZlcmVuY2Vfb3V0cHV0KQogICAgICAg
ICB0ZXN0X3Jlc3VsdF93cml0ZXIud3JpdGVfdGVzdF9yZXN1bHQoc2VsZi5fZmlsZXN5c3RlbSwg
c2VsZi5fcG9ydCwgc2VsZi5fdGVzdF9uYW1lLCB0ZXN0X291dHB1dCwgcmVmZXJlbmNlX291dHB1
dCwgdGVzdF9yZXN1bHQuZmFpbHVyZXMpCi0gICAgICAgIHJldHVybiBUZXN0UmVzdWx0KHNlbGYu
X3Rlc3RfbmFtZSwgdGVzdF9yZXN1bHQuZmFpbHVyZXMsIHRvdGFsX3Rlc3RfdGltZSArIHRlc3Rf
cmVzdWx0LnRlc3RfcnVuX3RpbWUsIHRlc3RfcmVzdWx0Lmhhc19zdGRlcnIsIGlzX3JlZnRlc3Q9
VHJ1ZSkKKyAgICAgICAgcmVmdGVzdF90eXBlID0gc2V0KFtyZWZlcmVuY2VfZmlsZVswXSBmb3Ig
cmVmZXJlbmNlX2ZpbGUgaW4gc2VsZi5fcmVmZXJlbmNlX2ZpbGVzXSkKKyAgICAgICAgcmV0dXJu
IFRlc3RSZXN1bHQoc2VsZi5fdGVzdF9uYW1lLCB0ZXN0X3Jlc3VsdC5mYWlsdXJlcywgdG90YWxf
dGVzdF90aW1lICsgdGVzdF9yZXN1bHQudGVzdF9ydW5fdGltZSwgdGVzdF9yZXN1bHQuaGFzX3N0
ZGVyciwgcmVmdGVzdF90eXBlPXJlZnRlc3RfdHlwZSkKIAogICAgIGRlZiBfY29tcGFyZV9vdXRw
dXRfd2l0aF9yZWZlcmVuY2Uoc2VsZiwgcmVmZXJlbmNlX2RyaXZlcl9vdXRwdXQsIGFjdHVhbF9k
cml2ZXJfb3V0cHV0LCByZWZlcmVuY2VfZmlsZW5hbWUsIG1pc21hdGNoKToKICAgICAgICAgdG90
YWxfdGVzdF90aW1lID0gcmVmZXJlbmNlX2RyaXZlcl9vdXRwdXQudGVzdF90aW1lICsgYWN0dWFs
X2RyaXZlcl9vdXRwdXQudGVzdF90aW1lCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2xheW91dF90ZXN0cy9tb2RlbHMvdGVzdF9yZXN1bHRzLnB5IGIvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvbW9kZWxzL3Rlc3RfcmVzdWx0cy5weQppbmRleCBkNmM4MzAx
NGE0ODUxNzY0ZjQ1MTE5ODk2ZWYwNTk4YzYzNTU1ZjhhLi42YjlkYjU1ODc2MWU1ZGU2NDQzNzc4
NDEwMGViNzAzY2U2ODgyY2NjIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xh
eW91dF90ZXN0cy9tb2RlbHMvdGVzdF9yZXN1bHRzLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvbGF5b3V0X3Rlc3RzL21vZGVscy90ZXN0X3Jlc3VsdHMucHkKQEAgLTM4LDEyICszOCwx
MiBAQCBjbGFzcyBUZXN0UmVzdWx0KG9iamVjdCk6CiAgICAgZGVmIGxvYWRzKHN0cmluZyk6CiAg
ICAgICAgIHJldHVybiBjUGlja2xlLmxvYWRzKHN0cmluZykKIAotICAgIGRlZiBfX2luaXRfXyhz
ZWxmLCB0ZXN0X25hbWUsIGZhaWx1cmVzPU5vbmUsIHRlc3RfcnVuX3RpbWU9Tm9uZSwgaGFzX3N0
ZGVycj1GYWxzZSwgaXNfcmVmdGVzdD1GYWxzZSk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHRl
c3RfbmFtZSwgZmFpbHVyZXM9Tm9uZSwgdGVzdF9ydW5fdGltZT1Ob25lLCBoYXNfc3RkZXJyPUZh
bHNlLCByZWZ0ZXN0X3R5cGU9W10pOgogICAgICAgICBzZWxmLnRlc3RfbmFtZSA9IHRlc3RfbmFt
ZQogICAgICAgICBzZWxmLmZhaWx1cmVzID0gZmFpbHVyZXMgb3IgW10KICAgICAgICAgc2VsZi50
ZXN0X3J1bl90aW1lID0gdGVzdF9ydW5fdGltZSBvciAwCiAgICAgICAgIHNlbGYuaGFzX3N0ZGVy
ciA9IGhhc19zdGRlcnIKLSAgICAgICAgc2VsZi5pc19yZWZ0ZXN0ID0gaXNfcmVmdGVzdAorICAg
ICAgICBzZWxmLnJlZnRlc3RfdHlwZSA9IHJlZnRlc3RfdHlwZQogICAgICAgICAjIEZJWE1FOiBT
ZXR0aW5nIHRoaXMgaW4gdGhlIGNvbnN0cnVjdG9yIG1ha2VzIHRoaXMgY2xhc3MgaGFyZCB0byBt
dXRhdGUuCiAgICAgICAgIHNlbGYudHlwZSA9IHRlc3RfZmFpbHVyZXMuZGV0ZXJtaW5lX3Jlc3Vs
dF90eXBlKGZhaWx1cmVzKQogCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xh
eW91dF90ZXN0cy9ydW5fd2Via2l0X3Rlc3RzX2ludGVncmF0aW9udGVzdC5weSBiL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHNfaW50ZWdyYXRpb250
ZXN0LnB5CmluZGV4IDVlNmU0MjJlYmFiYWU1NTk2NmM4MWVlZjM0M2YyZTUwYzRiNDhkNGMuLmQx
MDM2MGVmM2QwNWMyM2M0MTg2MWIzNDI4MGM3MjkxZGI2ZTgyNjUgMTAwNzU1Ci0tLSBhL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHNfaW50ZWdyYXRp
b250ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93
ZWJraXRfdGVzdHNfaW50ZWdyYXRpb250ZXN0LnB5CkBAIC05NjgsNyArOTY4LDcgQEAgY2xhc3Mg
RW5kVG9FbmRUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgc2VsZi5hc3NlcnRFcXVh
bChqc29uWyJ0ZXN0cyJdWyJyZWZ0ZXN0cyJdWyJmb28iXVsibXVsdGlwbGUtbWlzbWF0Y2gtZmFp
bHVyZS5odG1sIl0sCiAgICAgICAgICAgICB7ImV4cGVjdGVkIjogIlBBU1MiLCAiYWN0dWFsIjog
IklNQUdFIiwgImlzX21pc21hdGNoX3JlZnRlc3QiOiBUcnVlfSkKICAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbChqc29uWyJ0ZXN0cyJdWyJyZWZ0ZXN0cyJdWyJmb28iXVsibXVsdGlwbGUtYm90aC1m
YWlsdXJlLmh0bWwiXSwKLSAgICAgICAgICAgIHsiZXhwZWN0ZWQiOiAiUEFTUyIsICJhY3R1YWwi
OiAiSU1BR0UiLCAiaXNfbWlzbWF0Y2hfcmVmdGVzdCI6IFRydWV9KQorICAgICAgICAgICAgeyJl
eHBlY3RlZCI6ICJQQVNTIiwgImFjdHVhbCI6ICJJTUFHRSIsICJpc19taXNtYXRjaF9yZWZ0ZXN0
IjogVHJ1ZSwgImlzX3JlZnRlc3QiOiBUcnVlfSkKIAogCiBjbGFzcyBSZWJhc2VsaW5lVGVzdCh1
bml0dGVzdC5UZXN0Q2FzZSwgU3RyZWFtVGVzdGluZ01peGluKToKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA3YWI2MTNkYjdh
NGU1YWFiMzEwY2FjYjYwYjY3MjVhNjA1ZmU2YzM0Li4zNDY4ZmEyODA4MjE3NzA5YWNhY2JhMzFk
N2IwN2EzMTYxMWQyYTcwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMDktMjQgIFphbiBE
b2JlcnNlayAgPHphbmRvYmVyc2VrQGdtYWlsLmNvbT4KKworICAgICAgICBVbmV4cGVjdGVkIHJl
ZnRlc3QgcGFzc2VzIGFyZSBvbmx5IHJlcG9ydGVkIHdoZW4gcGl4ZWwgdGVzdGluZyBpcyBlbmFi
bGVkIGluIHJlc3VsdHMuaHRtbCBhcyB3ZWxsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD05NzQyNgorCisgICAgICAgIFJldmlld2VkIGJ5IE9qYW4gVmFm
YWkuCisKKyAgICAgICAgUmVwb3J0IHVuZXhwZWN0ZWRseSBwYXNzaW5nIHJlZnRlc3RzIGFzIHdl
bGwuIFRlc3QgY2FzZXMgaW5jbHVkZWQuCisKKyAgICAgICAgKiBmYXN0L2hhcm5lc3MvcmVzb3Vy
Y2VzL3Jlc3VsdHMtdGVzdC5qczoKKyAgICAgICAgKiBmYXN0L2hhcm5lc3MvcmVzdWx0cy1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogZmFzdC9oYXJuZXNzL3Jlc3VsdHMuaHRtbDoKKwogMjAxMi0w
OS0yNCAgUmFwaGFlbCBLdWJvIGRhIENvc3RhICA8cmFwaGFlbC5rdWJvLmRhLmNvc3RhQGludGVs
LmNvbT4KIAogICAgICAgICBbRUZMXSBVbnJldmlld2VkIGdhcmRlbmluZy4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvaGFybmVzcy9yZXNvdXJjZXMvcmVzdWx0cy10ZXN0LmpzIGIvTGF5
b3V0VGVzdHMvZmFzdC9oYXJuZXNzL3Jlc291cmNlcy9yZXN1bHRzLXRlc3QuanMKaW5kZXggMTgy
MjhlYzY3MGJjNTNjMzliYTE0ZTE1Y2I4OTY2MzhjOGNlMzQzNy4uOTA3ZmVjY2FhMDI3MjMzOTEx
ZWExMjUwYTlhOTMyY2VhNmI5MzQ4YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9oYXJu
ZXNzL3Jlc291cmNlcy9yZXN1bHRzLXRlc3QuanMKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9oYXJu
ZXNzL3Jlc291cmNlcy9yZXN1bHRzLXRlc3QuanMKQEAgLTI2NiwxNCArMjY2LDI5IEBAIGZ1bmN0
aW9uIHJ1blRlc3RzKCkKIAogICAgIHJlc3VsdHMgPSBtb2NrUmVzdWx0cygpOwogICAgIHJlc3Vs
dHMudGVzdHNbJ2Jhci1yZWZ0ZXN0Lmh0bWwnXSA9IG1vY2tFeHBlY3RhdGlvbignUEFTUycsICdJ
TUFHRScsIDEpOwotICAgIHJlc3VsdHMudGVzdHNbJ2Jhci1yZWZ0ZXN0Lmh0bWwnXS5pc19yZWZ0
ZXN0ID0gdHJ1ZTsKKyAgICByZXN1bHRzLnRlc3RzWydiYXItcmVmdGVzdC5odG1sJ10ucmVmdGVz
dF90eXBlID0gWyc9PSddOwogICAgIHJ1blNpbmdsZVJvd1Rlc3QocmVzdWx0cywgZmFsc2UsICcn
LCAncmVmIGh0bWwgaW1hZ2VzIGRpZmYgKDElKSAnKTsKIAogICAgIHJlc3VsdHMgPSBtb2NrUmVz
dWx0cygpOwogICAgIHJlc3VsdHMudGVzdHNbJ2Jhci1yZWZ0ZXN0LW1pc21hdGNoLmh0bWwnXSA9
IG1vY2tFeHBlY3RhdGlvbignUEFTUycsICdJTUFHRScpOwotICAgIHJlc3VsdHMudGVzdHNbJ2Jh
ci1yZWZ0ZXN0LW1pc21hdGNoLmh0bWwnXS5pc19taXNtYXRjaF9yZWZ0ZXN0ID0gdHJ1ZTsKKyAg
ICByZXN1bHRzLnRlc3RzWydiYXItcmVmdGVzdC1taXNtYXRjaC5odG1sJ10ucmVmdGVzdF90eXBl
ID0gWychPSddOwogICAgIHJ1blNpbmdsZVJvd1Rlc3QocmVzdWx0cywgZmFsc2UsICcnLCAncmVm
IG1pc21hdGNoIGh0bWwgYWN0dWFsICcpOwogCisgICAgcmVzdWx0cyA9IG1vY2tSZXN1bHRzKCk7
CisgICAgcmVzdWx0cy50ZXN0c1snYmFyLXJlZnRlc3QuaHRtbCddID0gbW9ja0V4cGVjdGF0aW9u
KCdJTUFHRScsICdQQVNTJyk7CisgICAgcmVzdWx0cy50ZXN0c1snYmFyLXJlZnRlc3QuaHRtbCdd
LnJlZnRlc3RfdHlwZSA9IFsnPT0nXTsKKyAgICByZXN1bHRzLnBpeGVsX3Rlc3RzX2VuYWJsZWQg
PSBmYWxzZTsKKyAgICBydW5UZXN0KHJlc3VsdHMsIGZ1bmN0aW9uKCkgeworICAgICAgICBhc3Nl
cnRUcnVlKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ3Rib2R5IHRkOm50aC1jaGlsZCgxKScpLnRl
eHRDb250ZW50ID09ICdiYXItcmVmdGVzdC5odG1sIFx1MjY5MScpOworICAgIH0pOworCisgICAg
cmVzdWx0cyA9IG1vY2tSZXN1bHRzKCk7CisgICAgcmVzdWx0cy50ZXN0c1snYmFyLXJlZnRlc3Qt
bWlzbWF0Y2guaHRtbCddID0gbW9ja0V4cGVjdGF0aW9uKCdJTUFHRScsICdQQVNTJyk7CisgICAg
cmVzdWx0cy50ZXN0c1snYmFyLXJlZnRlc3QtbWlzbWF0Y2guaHRtbCddLnJlZnRlc3RfdHlwZSA9
IFsnIT0nXTsKKyAgICByZXN1bHRzLnBpeGVsX3Rlc3RzX2VuYWJsZWQgPSBmYWxzZTsKKyAgICBy
dW5UZXN0KHJlc3VsdHMsIGZ1bmN0aW9uKCkgeworICAgICAgICBhc3NlcnRUcnVlKGRvY3VtZW50
LnF1ZXJ5U2VsZWN0b3IoJ3Rib2R5IHRkOm50aC1jaGlsZCgxKScpLnRleHRDb250ZW50ID09ICdi
YXItcmVmdGVzdC1taXNtYXRjaC5odG1sIFx1MjY5MScpOworICAgIH0pOwogCiAgICAgcmVzdWx0
cyA9IG1vY2tSZXN1bHRzKCk7CiAgICAgdmFyIHN1YnRyZWUgPSByZXN1bHRzLnRlc3RzWydmb28n
XSA9IHt9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2hhcm5lc3MvcmVzdWx0cy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2hhcm5lc3MvcmVzdWx0cy1leHBlY3RlZC50eHQK
aW5kZXggZmYwZmI5NjhkMzVmYjAyMmU0ZDRlZjAwYTNjMDQ5OTk0YTJkZjc1My4uYjkzYzMzMjZj
OGEzMDY3OTY0MDlhZjdlY2M5OGUyNThhMGY0NWQwMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9oYXJuZXNzL3Jlc3VsdHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
aGFybmVzcy9yZXN1bHRzLWV4cGVjdGVkLnR4dApAQCAtOTQsMTggKzk0LDEzIEBAIFRFU1QtMTU6
IFBBU1MKIFRFU1QtMTU6IFBBU1MKIFRFU1QtMTU6IFBBU1MKIFRFU1QtMTY6IFBBU1MKLVRFU1Qt
MTY6IFBBU1MKLVRFU1QtMTY6IFBBU1MKLVRFU1QtMTc6IFBBU1MKIFRFU1QtMTc6IFBBU1MKLVRF
U1QtMTc6IFBBU1MKLVRFU1QtMTg6IFBBU1MKIFRFU1QtMTg6IFBBU1MKIFRFU1QtMTg6IFBBU1MK
IFRFU1QtMTg6IFBBU1MKIFRFU1QtMTk6IFBBU1MKIFRFU1QtMTk6IFBBU1MKLVRFU1QtMjA6IFBB
U1MKK1RFU1QtMTk6IFBBU1MKIFRFU1QtMjA6IFBBU1MKIFRFU1QtMjA6IFBBU1MKIFRFU1QtMjA6
IFBBU1MKQEAgLTExNCw0NyArMTA5LDQyIEBAIFRFU1QtMjE6IFBBU1MKIFRFU1QtMjE6IFBBU1MK
IFRFU1QtMjI6IFBBU1MKIFRFU1QtMjI6IFBBU1MKK1RFU1QtMjI6IFBBU1MKK1RFU1QtMjI6IFBB
U1MKK1RFU1QtMjI6IFBBU1MKK1RFU1QtMjM6IFBBU1MKIFRFU1QtMjM6IFBBU1MKIFRFU1QtMjQ6
IFBBU1MKIFRFU1QtMjQ6IFBBU1MKIFRFU1QtMjU6IFBBU1MKIFRFU1QtMjY6IFBBU1MKK1RFU1Qt
MjY6IFBBU1MKIFRFU1QtMjc6IFBBU1MKIFRFU1QtMjg6IFBBU1MKLVRFU1QtMjg6IFBBU1MKLVRF
U1QtMjg6IFBBU1MKIFRFU1QtMjk6IFBBU1MKLVRFU1QtMjk6IFBBU1MKLVRFU1QtMzA6IFBBU1MK
LVRFU1QtMzA6IFBBU1MKLVRFU1QtMzA6IFBBU1MKIFRFU1QtMzA6IFBBU1MKIFRFU1QtMzA6IFBB
U1MKIFRFU1QtMzA6IFBBU1MKLVRFU1QtMzA6IFBBU1MKLVRFU1QtMzA6IFBBU1MKLVRFU1QtMzA6
IFBBU1MKLVRFU1QtMzA6IFBBU1MKLVRFU1QtMzA6IFBBU1MKLVRFU1QtMzA6IFBBU1MKLVRFU1Qt
MzA6IFBBU1MKLVRFU1QtMzA6IFBBU1MKLVRFU1QtMzA6IFBBU1MKLVRFU1QtMzA6IFBBU1MKLVRF
U1QtMzE6IFBBU1MKLVRFU1QtMzE6IFBBU1MKLVRFU1QtMzE6IFBBU1MKLVRFU1QtMzE6IFBBU1MK
LVRFU1QtMzE6IFBBU1MKLVRFU1QtMzE6IFBBU1MKLVRFU1QtMzE6IFBBU1MKLVRFU1QtMzE6IFBB
U1MKIFRFU1QtMzE6IFBBU1MKIFRFU1QtMzE6IFBBU1MKIFRFU1QtMzI6IFBBU1MKIFRFU1QtMzI6
IFBBU1MKIFRFU1QtMzI6IFBBU1MKIFRFU1QtMzI6IFBBU1MKK1RFU1QtMzI6IFBBU1MKK1RFU1Qt
MzI6IFBBU1MKK1RFU1QtMzI6IFBBU1MKK1RFU1QtMzI6IFBBU1MKK1RFU1QtMzI6IFBBU1MKK1RF
U1QtMzI6IFBBU1MKK1RFU1QtMzI6IFBBU1MKK1RFU1QtMzI6IFBBU1MKK1RFU1QtMzI6IFBBU1MK
K1RFU1QtMzI6IFBBU1MKK1RFU1QtMzI6IFBBU1MKK1RFU1QtMzI6IFBBU1MKK1RFU1QtMzM6IFBB
U1MKK1RFU1QtMzM6IFBBU1MKIFRFU1QtMzM6IFBBU1MKIFRFU1QtMzM6IFBBU1MKIFRFU1QtMzM6
IFBBU1MKQEAgLTE2Niw1NSArMTU2LDE4IEBAIFRFU1QtMzM6IFBBU1MKIFRFU1QtMzQ6IFBBU1MK
IFRFU1QtMzQ6IFBBU1MKIFRFU1QtMzQ6IFBBU1MKK1RFU1QtMzQ6IFBBU1MKK1RFU1QtMzU6IFBB
U1MKK1RFU1QtMzU6IFBBU1MKK1RFU1QtMzU6IFBBU1MKK1RFU1QtMzU6IFBBU1MKK1RFU1QtMzU6
IFBBU1MKIFRFU1QtMzU6IFBBU1MKIFRFU1QtMzU6IFBBU1MKIFRFU1QtMzU6IFBBU1MKIFRFU1Qt
MzY6IFBBU1MKIFRFU1QtMzY6IFBBU1MKIFRFU1QtMzY6IFBBU1MKLVRFU1QtMzY6IFBBU1MKLVRF
U1QtMzY6IFBBU1MKLVRFU1QtMzY6IFBBU1MKLVRFU1QtMzY6IFBBU1MKLVRFU1QtMzY6IFBBU1MK
LVRFU1QtMzY6IFBBU1MKLVRFU1QtMzY6IFBBU1MKLVRFU1QtMzY6IFBBU1MKLVRFU1QtMzY6IFBB
U1MKLVRFU1QtMzY6IFBBU1MKLVRFU1QtMzY6IFBBU1MKLVRFU1QtMzY6IFBBU1MKLVRFU1QtMzY6
IFBBU1MKLVRFU1QtMzY6IFBBU1MKLVRFU1QtMzY6IFBBU1MKLVRFU1QtMzY6IFBBU1MKLVRFU1Qt
MzY6IFBBU1MKLVRFU1QtMzY6IFBBU1MKLVRFU1QtMzY6IFBBU1MKLVRFU1QtMzY6IFBBU1MKLVRF
U1QtMzY6IFBBU1MKLVRFU1QtMzY6IFBBU1MKLVRFU1QtMzY6IFBBU1MKLVRFU1QtMzY6IFBBU1MK
LVRFU1QtMzY6IFBBU1MKLVRFU1QtMzY6IFBBU1MKLVRFU1QtMzY6IFBBU1MKLVRFU1QtMzY6IFBB
U1MKLVRFU1QtMzY6IFBBU1MKLVRFU1QtMzY6IFBBU1MKLVRFU1QtMzY6IFBBU1MKLVRFU1QtMzY6
IFBBU1MKLVRFU1QtMzY6IFBBU1MKLVRFU1QtMzY6IFBBU1MKLVRFU1QtMzc6IFBBU1MKLVRFU1Qt
Mzc6IFBBU1MKLVRFU1QtMzc6IFBBU1MKLVRFU1QtMzc6IFBBU1MKLVRFU1QtMzc6IFBBU1MKLVRF
U1QtMzc6IFBBU1MKLVRFU1QtMzc6IFBBU1MKLVRFU1QtMzc6IFBBU1MKLVRFU1QtMzc6IFBBU1MK
IFRFU1QtMzc6IFBBU1MKIFRFU1QtMzc6IFBBU1MKIFRFU1QtMzc6IFBBU1MKQEAgLTIyMiw2ICsx
NzUsNTUgQEAgVEVTVC0zODogUEFTUwogVEVTVC0zODogUEFTUwogVEVTVC0zODogUEFTUwogVEVT
VC0zODogUEFTUworVEVTVC0zODogUEFTUworVEVTVC0zODogUEFTUworVEVTVC0zODogUEFTUwor
VEVTVC0zODogUEFTUworVEVTVC0zODogUEFTUworVEVTVC0zODogUEFTUworVEVTVC0zODogUEFT
UworVEVTVC0zODogUEFTUworVEVTVC0zODogUEFTUworVEVTVC0zODogUEFTUworVEVTVC0zODog
UEFTUworVEVTVC0zODogUEFTUworVEVTVC0zODogUEFTUworVEVTVC0zODogUEFTUworVEVTVC0z
ODogUEFTUworVEVTVC0zODogUEFTUworVEVTVC0zODogUEFTUworVEVTVC0zODogUEFTUworVEVT
VC0zODogUEFTUworVEVTVC0zODogUEFTUworVEVTVC0zODogUEFTUworVEVTVC0zODogUEFTUwor
VEVTVC0zODogUEFTUworVEVTVC0zODogUEFTUworVEVTVC0zODogUEFTUworVEVTVC0zODogUEFT
UworVEVTVC0zODogUEFTUworVEVTVC0zODogUEFTUworVEVTVC0zODogUEFTUworVEVTVC0zODog
UEFTUworVEVTVC0zODogUEFTUworVEVTVC0zODogUEFTUworVEVTVC0zODogUEFTUworVEVTVC0z
OTogUEFTUworVEVTVC0zOTogUEFTUworVEVTVC0zOTogUEFTUworVEVTVC0zOTogUEFTUworVEVT
VC0zOTogUEFTUworVEVTVC0zOTogUEFTUworVEVTVC0zOTogUEFTUworVEVTVC0zOTogUEFTUwor
VEVTVC0zOTogUEFTUwogVEVTVC0zOTogUEFTUwogVEVTVC0zOTogUEFTUwogVEVTVC0zOTogUEFT
UworVEVTVC00MDogUEFTUworVEVTVC00MDogUEFTUworVEVTVC00MDogUEFTUworVEVTVC00MDog
UEFTUworVEVTVC00MTogUEFTUworVEVTVC00MTogUEFTUworVEVTVC00MTogUEFTUwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9oYXJuZXNzL3Jlc3VsdHMuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvaGFybmVzcy9yZXN1bHRzLmh0bWwKaW5kZXggZmNhZjcyZjU1NTA3MWIzOWZjMzQ0OGRj
YTBlNTNmZTgxNmNiY2NmMC4uYzdkN2Y2YWEzYzRmMzY0ZmQxOGNiOGZiM2RlNGY1MzUzYjI2MmE2
NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9oYXJuZXNzL3Jlc3VsdHMuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2hhcm5lc3MvcmVzdWx0cy5odG1sCkBAIC01MTIsNyArNTEyLDcg
QEAgZnVuY3Rpb24gcHJvY2Vzc0dsb2JhbFN0YXRlRm9yKHRlc3RPYmplY3QpCiAgICAgfQogCiAg
ICAgaWYgKGFjdHVhbCA9PSAnUEFTUycgJiYgZXhwZWN0ZWQgIT0gJ1BBU1MnKSB7Ci0gICAgICAg
IGlmIChleHBlY3RlZCAhPSAnSU1BR0UnIHx8IGdsb2JhbFN0YXRlKCkucmVzdWx0cy5waXhlbF90
ZXN0c19lbmFibGVkKSB7CisgICAgICAgIGlmIChleHBlY3RlZCAhPSAnSU1BR0UnIHx8IChnbG9i
YWxTdGF0ZSgpLnJlc3VsdHMucGl4ZWxfdGVzdHNfZW5hYmxlZCB8fCB0ZXN0T2JqZWN0LnJlZnRl
c3RfdHlwZSkpIHsKICAgICAgICAgICAgIGdsb2JhbFN0YXRlKCkudW5leHBlY3RlZFBhc3NUZXN0
cy5wdXNoKHRlc3RPYmplY3QpOwogICAgICAgICB9CiAgICAgICAgIHJldHVybjsKQEAgLTU2OCw3
ICs1NjgsNyBAQCBmdW5jdGlvbiB0YWJsZVJvdyh0ZXN0T2JqZWN0KQogICAgIHZhciByb3cgPSAn
PHRib2R5JwogICAgIGlmIChnbG9iYWxTdGF0ZSgpLnJlc3VsdHMudXNlc19leHBlY3RhdGlvbnNf
ZmlsZSkKICAgICAgICAgcm93ICs9ICcgY2xhc3M9IicgKyAodGVzdE9iamVjdC5pc0V4cGVjdGVk
ID8gJ2V4cGVjdGVkJyA6ICcnKSArICciJzsKLSAgICBpZiAodGVzdE9iamVjdC5pc19taXNtYXRj
aF9yZWZ0ZXN0KQorICAgIGlmICh0ZXN0T2JqZWN0LnJlZnRlc3RfdHlwZSAmJiB0ZXN0T2JqZWN0
LnJlZnRlc3RfdHlwZS5pbmRleE9mKCchPScpICE9IC0xKQogICAgICAgICByb3cgKz0gJyBtaXNt
YXRjaHJlZnRlc3Q9dHJ1ZSc7CiAgICAgcm93ICs9ICc+PHRyPic7CiAKQEAgLTYwMiwxMSArNjAy
LDExIEBAIGZ1bmN0aW9uIHRhYmxlUm93KHRlc3RPYmplY3QpCiAgICAgaWYgKGFjdHVhbC5pbmRl
eE9mKCdJTUFHRScpICE9IC0xKSB7CiAgICAgICAgIGdsb2JhbFN0YXRlKCkuaGFzSW1hZ2VGYWls
dXJlcyA9IHRydWU7CiAKLSAgICAgICAgaWYgKHRlc3RPYmplY3QuaXNfbWlzbWF0Y2hfcmVmdGVz
dCkgeworICAgICAgICBpZiAodGVzdE9iamVjdC5yZWZ0ZXN0X3R5cGUgJiYgdGVzdE9iamVjdC5y
ZWZ0ZXN0X3R5cGUuaW5kZXhPZignIT0nKSAhPSAtMSkgewogICAgICAgICAgICAgcm93ICs9IHJl
c3VsdExpbmsodGVzdF9wcmVmaXgsICctZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbCcsICdyZWYgbWlz
bWF0Y2ggaHRtbCcpOwogICAgICAgICAgICAgcm93ICs9IHJlc3VsdExpbmsodGVzdF9wcmVmaXgs
ICctYWN0dWFsLnBuZycsICdhY3R1YWwnKTsKICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAg
IGlmICh0ZXN0T2JqZWN0LmlzX3JlZnRlc3QpIHsKKyAgICAgICAgICAgIGlmICh0ZXN0T2JqZWN0
LnJlZnRlc3RfdHlwZSAmJiB0ZXN0T2JqZWN0LnJlZnRlc3RfdHlwZS5pbmRleE9mKCc9PScpICE9
IC0xKSB7CiAgICAgICAgICAgICAgICAgcm93ICs9IHJlc3VsdExpbmsodGVzdF9wcmVmaXgsICct
ZXhwZWN0ZWQuaHRtbCcsICdyZWYgaHRtbCcpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAg
aWYgKGdsb2JhbFN0YXRlKCkuc2hvdWxkVG9nZ2xlSW1hZ2VzKSB7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>