<?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>231265</bug_id>
          
          <creation_ts>2021-10-05 16:25:46 -0700</creation_ts>
          <short_desc>[EWS] Allow the optimization of running only the subset of failed tests on run-layout-tests-without-patch also for patches modifying the TestExpectations files</short_desc>
          <delta_ts>2021-11-09 06:41:37 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=219500</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=231999</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Alberto Lopez Perez">clopez</reporter>
          <assigned_to name="Carlos Alberto Lopez Perez">clopez</assigned_to>
          <cc>aakash_jain</cc>
    
    <cc>ap</cc>
    
    <cc>clopez</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jbedard</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1800833</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2021-10-05 16:25:46 -0700</bug_when>
    <thetext>On bug 219500 an optimization for run-layout-tests-without-patch was implemented, but this optimization was avoided for the following corner case:

&gt; Consider a patch that removes a [ Skip ] test expectation. If the test still fails in reality, then EWS will be green anyway! That&apos;s because all three runs will see it fail - passing the test on command line overrides [ Skip ].

However, instead of avoiding the optimization in this case we can pass the flag &apos;--skipped=always&apos; to run-webkit-tests.

That way the test will not be run if it is marked as skipped, even when it is specified on the command-line. So it is safe to apply the optimization in that case as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1800857</commentid>
    <comment_count>1</comment_count>
      <attachid>440299</attachid>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2021-10-05 16:53:57 -0700</bug_when>
    <thetext>Created attachment 440299
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1800864</commentid>
    <comment_count>2</comment_count>
      <attachid>440301</attachid>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2021-10-05 17:02:40 -0700</bug_when>
    <thetext>Created attachment 440301
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1800866</commentid>
    <comment_count>3</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2021-10-05 17:03:49 -0700</bug_when>
    <thetext>Note: this also works for the case of a Test marked as failure on the Expectation files, and the patch removing the expectation meanwhile the test still fails.


The flag &apos;--skip-failing-tests&apos; that is passed by default (in combination with &apos;--skipped=always&apos;) also avoid running any tests marked as failing on the Expectation files even when those are passed as arguments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1801082</commentid>
    <comment_count>4</comment_count>
      <attachid>440301</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-10-06 08:25:03 -0700</bug_when>
    <thetext>Comment on attachment 440301
Patch

Would like to see if Aakash has any comments, but this looks reasonable to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1801602</commentid>
    <comment_count>5</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2021-10-07 08:00:35 -0700</bug_when>
    <thetext>Alexey can comment better about the corner case and --skipped=always, as he was the one to point it out in https://bugs.webkit.org/show_bug.cgi?id=219500#c11. 

The patch seems fine from code perspective, as in it seems to be doing what it claims to do.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1801775</commentid>
    <comment_count>6</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2021-10-07 14:04:55 -0700</bug_when>
    <thetext>I think that this correctly deals with the specific case that I suggested, however it&apos;s not as clear that all cases where TestExpectations are modified are now OK.

Perhaps the best way to move forward is if you could list all the interesting cases and why they are OK. A couple cases that come to mind are &quot;Skip&quot; expectation for a directory, and a patch that adds/removes a &quot;Pass Failure&quot; expectation (which is effectively Skip for EWS because of --skip-failing-tests).

That would help us organize the thinking around what could be missing.

Also, I see that this patch doesn&apos;t add a regression test for what would have been wrong if the check for TestExpectations was removed without adding --skipped=always. Could you please add the test?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1803533</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-10-12 16:26:24 -0700</bug_when>
    <thetext>&lt;rdar://problem/84171814&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1804511</commentid>
    <comment_count>8</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2021-10-14 14:30:59 -0700</bug_when>
    <thetext>(In reply to Alexey Proskuryakov from comment #6)
&gt; I think that this correctly deals with the specific case that I suggested,
&gt; however it&apos;s not as clear that all cases where TestExpectations are modified
&gt; are now OK.
&gt; 
&gt; Perhaps the best way to move forward is if you could list all the
&gt; interesting cases and why they are OK. A couple cases that come to mind are
&gt; &quot;Skip&quot; expectation for a directory, and a patch that adds/removes a &quot;Pass
&gt; Failure&quot; expectation (which is effectively Skip for EWS because of
&gt; --skip-failing-tests).
&gt; 
&gt; That would help us organize the thinking around what could be missing.
&gt; 
&gt; Also, I see that this patch doesn&apos;t add a regression test for what would
&gt; have been wrong if the check for TestExpectations was removed without adding
&gt; --skipped=always. Could you please add the test?


This are all the corner cases that I can think about:

	1. A patch that removes an expectation for a test that is Skipped
	2. Like above, but for a whole directory
	3. A patch that removes an expectation for a test that is marked as Flaky like in &quot;[ Failure Pass]&quot;
	4. Like above, but for a whole directory
        5. A patch that marks a tests as passing because the directory where it lives is Skipped (or marked as Fail) but this test fails


So to test this I made this quick patch modifying the expectation files to test the cases: http://sprunge.us/6Dkoju

Then I run WTR passing a list of the tests affected (for all the 5 cases), on the command-line like this:

Tools/Scripts/run-webkit-tests --release --skip-failing-tests --skipped=always compositing/contents-format/ipad/deep-color-backing-store.html compositing/ios/basic-layer-properties.html compositing/ios/overflow-scroll-touch-tiles.html compositing/ios/overflow-scroll-update-overlap.html compositing/ios/rasterization-scale.html compositing/ios/rtl-overflow-scrolling-2.html imported/w3c/web-platform-tests/service-workers/service-worker/clients-matchall-frozen.https.html inspector/debugger/stepping/stepNext.html inspector/debugger/stepping/stepping-switch.html webaudio/AudioBufferSource/audiobuffersource-detune-modulation.html webaudio/AudioBufferSource/audiobuffersource-playbackrate-modulation.html



And I get the expected behaviour:

- With the test patch it runs the 11 tests (some fail/crash/timeout etc)
- Without the test patch (clean tree) it skips the 11 tests even when those are specified on the command-line

It says:
&gt; Found 11 tests; running 0, skipping 11.
&gt; All tests skipped.


Do you have an idea of other corner cases that can be interesting to test?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1805744</commentid>
    <comment_count>9</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2021-10-18 15:40:35 -0700</bug_when>
    <thetext>I can&apos;t. Would it be possible to write regression tests for these cases? Relying on thinking every time is dangerous.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1805827</commentid>
    <comment_count>10</comment_count>
      <attachid>441671</attachid>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2021-10-18 19:04:56 -0700</bug_when>
    <thetext>Created attachment 441671
Patch

Add regression unit tests for the corner cases</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1805828</commentid>
    <comment_count>11</comment_count>
      <attachid>441672</attachid>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2021-10-18 19:07:59 -0700</bug_when>
    <thetext>Created attachment 441672
Patch

typo fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1806128</commentid>
    <comment_count>12</comment_count>
      <attachid>441672</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2021-10-19 10:22:52 -0700</bug_when>
    <thetext>Comment on attachment 441672
Patch

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

&gt; Tools/ChangeLog:19
&gt; +        * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:

These are run-webkit-tests tests, not EWS behavior tests, which is what is most relevant to confirm. Can that be tested?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1806132</commentid>
    <comment_count>13</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2021-10-19 10:27:31 -0700</bug_when>
    <thetext>(In reply to Alexey Proskuryakov from comment #12)
&gt; Comment on attachment 441672 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=441672&amp;action=review
&gt; 
&gt; &gt; Tools/ChangeLog:19
&gt; &gt; +        * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
&gt; 
&gt; These are run-webkit-tests tests, not EWS behavior tests, which is what is
&gt; most relevant to confirm. Can that be tested?

The EWS behavior is already being tested. It already checks that both the parameters &apos;--skipped=always&apos; and &apos;--skip-failing-tests&apos; are passed on the step of &apos;run-layout-tests-without-patch&apos; on the unit test test_success_retry_only_subset()


Other than the above, this patch doesn&apos;t change the EWS behaviour further.

What allows this to work is how run-webkit-tests behaves when the flags &apos;--skipped=always&apos; and &apos;--skip-failing-tests&apos; are passed and I also added unit tests for that.

So I don&apos;t know what more tests I can add.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1806135</commentid>
    <comment_count>14</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2021-10-19 10:31:33 -0700</bug_when>
    <thetext>One way to think about this is: you are changing CISupport/ews-build/steps.py, and are not adding any tests at all that execute that new code.

As an example, look at the original concern:

&gt; Consider a patch that removes a [ Skip ] test expectation. If the test still fails in reality, then EWS will be green anyway! That&apos;s because all three runs will see it fail - passing the test on command line overrides [ Skip ]. Skipped directories would result in something similar, but I&apos;m not even entirely sure what will happen.

This is what the test should check, that EWS doesn&apos;t provide a wring result in this situation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1806144</commentid>
    <comment_count>15</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2021-10-19 10:42:17 -0700</bug_when>
    <thetext>(In reply to Alexey Proskuryakov from comment #14)
&gt; One way to think about this is: you are changing
&gt; CISupport/ews-build/steps.py, and are not adding any tests at all that
&gt; execute that new code.
&gt; 

Sorry, but I think this is wrong.

I&apos;m modifying the unit test test_success_retry_only_subset() at Tools/CISupport/ews-build/steps_unittest.py to ensure it checks that webkit-test-runner receives the flags &apos;--skipped=always&apos; and &apos;--skip-failing-tests&apos;


&gt; As an example, look at the original concern:
&gt; 
&gt; &gt; Consider a patch that removes a [ Skip ] test expectation. If the test still fails in reality, then EWS will be green anyway! That&apos;s because all three runs will see it fail - passing the test on command line overrides [ Skip ]. Skipped directories would result in something similar, but I&apos;m not even entirely sure what will happen.
&gt; 
&gt; This is what the test should check, that EWS doesn&apos;t provide a wring result
&gt; in this situation.

And this is tested in the unit-tests test_ews_corner_case_skipped_test() that I added on Tools/Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py

It checks that when you pass a test on the command line in combination with &apos;--skipped=always&apos; that test won&apos;t run</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1806148</commentid>
    <comment_count>16</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2021-10-19 10:45:48 -0700</bug_when>
    <thetext>What I mean is, this feature needs tests that verify whether EWS succeeds or fails, and if it fails, which tests it reports as failing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1806207</commentid>
    <comment_count>17</comment_count>
      <attachid>441672</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2021-10-19 12:00:07 -0700</bug_when>
    <thetext>Comment on attachment 441672
Patch

Discussed in Slack, I think that we are on the same page now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1806246</commentid>
    <comment_count>18</comment_count>
      <attachid>441773</attachid>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2021-10-19 12:49:30 -0700</bug_when>
    <thetext>Created attachment 441773
Patch

add a few more tests in steps_unittest for the EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1806250</commentid>
    <comment_count>19</comment_count>
      <attachid>441775</attachid>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2021-10-19 12:53:08 -0700</bug_when>
    <thetext>Created attachment 441775
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1806668</commentid>
    <comment_count>20</comment_count>
      <attachid>441775</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2021-10-20 10:03:50 -0700</bug_when>
    <thetext>Comment on attachment 441775
Patch

I think that test coverage is adequate now.

I haven&apos;t reviewed all of the code line by line, so it may be good to give Aakash and others some time to comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1807386</commentid>
    <comment_count>21</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2021-10-21 15:12:45 -0700</bug_when>
    <thetext>Had a quick look, it look good to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1813108</commentid>
    <comment_count>22</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2021-11-09 06:01:47 -0800</bug_when>
    <thetext>Thanks for the review! I think enough time has already passed for anyone else to comment further on this.
Landing now</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1813109</commentid>
    <comment_count>23</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-11-09 06:01:50 -0800</bug_when>
    <thetext>Tools/Scripts/svn-apply failed to apply attachment 441775 to trunk.
Please resolve the conflicts and upload a new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1813131</commentid>
    <comment_count>24</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2021-11-09 06:40:43 -0800</bug_when>
    <thetext>Committed r285496 (244020@main): &lt;https://commits.webkit.org/244020@main&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>440299</attachid>
            <date>2021-10-05 16:53:57 -0700</date>
            <delta_ts>2021-10-05 17:02:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231265-20211006005314.patch</filename>
            <type>text/plain</type>
            <size>9976</size>
            <attacher name="Carlos Alberto Lopez Perez">clopez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzNTgyCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggODk0MzYwZGJlYmJmNWFkMWNmMmUzMzIxNDFiNGY1Yzc5
ODQ1MzNkNC4uMzU0OWFmZTY5MGJhZTE5NzUzNGMwNWQ3N2MwNzFmYTM2ZjY2M2U3ZiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIy
IEBACisyMDIxLTEwLTA1ICBDYXJsb3MgQWxiZXJ0byBMb3BleiBQZXJleiAgPGNsb3BlekBpZ2Fs
aWEuY29tPgorCisgICAgICAgIFtFV1NdIEFsbG93IHRoZSBvcHRpbWl6YXRpb24gb2YgcnVubmlu
ZyBvbmx5IHRoZSBzdWJzZXQgb2YgZmFpbGVkIHRlc3RzIG9uIHJ1bi1sYXlvdXQtdGVzdHMtd2l0
aG91dC1wYXRjaCBhbHNvIGZvciBwYXRjaGVzIG1vZGlmeWluZyB0aGUgVGVzdEV4cGVjdGF0aW9u
cyBmaWxlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjMxMjY1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
T24gcjI3NDQ3NSBhbiBvcHRpbWl6YXRpb24gd2FzIGFwcGxpZWQgdG8gcnVuLWxheW91dC10ZXN0
cy13aXRob3V0LXBhdGNoIHRvIG9ubHkKKyAgICAgICAgcnVuIHRoZSBzdWJzZXQgb2YgdGVzdHMg
dGhhdCBmYWlsZWQgd2l0aCBwYXRjaCBpbnN0ZWFkIG9mIHRoZSB3aG9sZSBsYXlvdXQgdGVzdHMu
CisgICAgICAgIEJ1dCB0aGlzIG9wdGltaXphdGlvbiBoYWQgYSBjb3JuZXIgY2FzZSB3aGVyZSBp
dCBjb3VsZG4ndCBiZSBhcHBsaWVkLgorICAgICAgICBJdCBzZWVtcyB0aGF0IHdlIGNhbiBzdGls
bCBhcHBseSB0aGlzIG9wdGltaXphdGlvbiBpbiB0aGlzIGNvcm5lciBjYXNlIGlmIHdlIHBhc3MK
KyAgICAgICAgJy0tc2tpcHBlZD1hbHdheXMnIHRvIHJ1bi13ZWJraXQtdGVzdHMgc28gdGhhdCBT
a2lwcGVkIHRlc3RzIGFyZSBub3QgcnVuIGV2ZW4gaWYKKyAgICAgICAgdGhvc2UgYXJlIHNwZWNp
ZmllZCBhcyBhcmd1bWVudHMgb24gdGhlIGNvbW1hbmQtbGluZS4KKworICAgICAgICAqIENJU3Vw
cG9ydC9ld3MtYnVpbGQvc3RlcHMucHk6CisgICAgICAgIChSdW5XZWJLaXRUZXN0cy5zZXRMYXlv
dXRUZXN0Q29tbWFuZCk6CisgICAgICAgIChSdW5XZWJLaXRUZXN0c1dpdGhvdXRQYXRjaC5zZXRM
YXlvdXRUZXN0Q29tbWFuZCk6CisgICAgICAgICogQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVwc191
bml0dGVzdC5weToKKwogMjAyMS0xMC0wNSAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNl
bkB3ZWJraXQub3JnPgogCiAgICAgICAgIFRlc3RXZWJLaXRBUEkuUHJpdmF0ZUNsaWNrTWVhc3Vy
ZW1lbnQuRGFlbW9uQmFzaWNGdW5jdGlvbmFsaXR5IGlzIHRpbWluZyBvdXQKZGlmZiAtLWdpdCBh
L1Rvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHMucHkgYi9Ub29scy9DSVN1cHBvcnQvZXdz
LWJ1aWxkL3N0ZXBzLnB5CmluZGV4IGRhZGY5OTJiNTQ5OWZkNWNiZjgwMzk0YjVmNzhmZTkwMzM0
NTczZDUuLjcyOWE3MzQ4NDAzYzQ1YjVmMjdlNTI4MDEwNGE3NTBkZWI4OWIyNjEgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHMucHkKKysrIGIvVG9vbHMvQ0lTdXBw
b3J0L2V3cy1idWlsZC9zdGVwcy5weQpAQCAtMjIxOCwzMSArMjIxOCw2IEBAIGNsYXNzIFJ1bldl
YktpdFRlc3RzKHNoZWxsLlRlc3QpOgogICAgICAgICBpZiBzZWxmLkVOQUJMRV9HVUFSRF9NQUxM
T0M6CiAgICAgICAgICAgICBzZWxmLnNldENvbW1hbmQoc2VsZi5jb21tYW5kICsgWyctLWd1YXJk
LW1hbGxvYyddKQogCi0gICAgICAgIGlmIHNlbGYubmFtZSA9PSAncnVuLWxheW91dC10ZXN0cy13
aXRob3V0LXBhdGNoJzoKLSAgICAgICAgICAgICMgSW4gb3JkZXIgdG8gc3BlZWQgdXAgdGVzdGlu
Zywgb24gdGhlIHN0ZXAgdGhhdCByZXRyaWVzIHJ1bm5pbmcgdGhlIGxheW91dCB0ZXN0cyB3aXRo
b3V0IHBhdGNoCi0gICAgICAgICAgICAjIG9ubHkgcnVuIHRoZSBzdWJzZXQgb2YgdGVzdHMgdGhh
dCBmYWlsZWQgb24gdGhlIHByZXZpb3VzIHN0ZXBzLgotICAgICAgICAgICAgIyBCdXQgb25seSBk
byB0aGF0IGlmIHRoZSBwcmV2aW91cyBzdGVwcyBkaWRuJ3QgZXhjZWVkIHRoZSB0ZXN0IGZhaWx1
cmUgbGltaXQgYW5kIHRoZSBwYXRjaCBkb2Vzbid0Ci0gICAgICAgICAgICAjIG1vZGlmeSB0aGUg
VGVzdEV4cGVjdGF0aW9ucyBmaWxlcyAodGhlcmUgYXJlIGNvcm5lciBjYXNlcyB3aGVyZSB3ZSBj
YW4ndCBndWFyYW50ZWUgdGhlIGNvcnJlY3RuZXMKLSAgICAgICAgICAgICMgb2YgdGhpcyBvcHRp
bWl6YXRpb24gaWYgdGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBUZXN0RXhwZWN0YXRpb25zIGZpbGVz
LCBmb3IgZXhhbXBsZSwgaWYgdGhlIHBhdGNoCi0gICAgICAgICAgICAjIHJlbW92ZXMgc2tpcHBl
ZCB0ZXN0cyBidXQgdGhvc2UgdGVzdHMgc3RpbGwgZmFpbCkuCi0gICAgICAgICAgICBmaXJzdF9y
ZXN1bHRzX2RpZF9leGNlZWRfdGVzdF9mYWlsdXJlX2xpbWl0ID0gc2VsZi5nZXRQcm9wZXJ0eSgn
Zmlyc3RfcmVzdWx0c19leGNlZWRfZmFpbHVyZV9saW1pdCcsIEZhbHNlKQotICAgICAgICAgICAg
c2Vjb25kX3Jlc3VsdHNfZGlkX2V4Y2VlZF90ZXN0X2ZhaWx1cmVfbGltaXQgPSBzZWxmLmdldFBy
b3BlcnR5KCdzZWNvbmRfcmVzdWx0c19leGNlZWRfZmFpbHVyZV9saW1pdCcsIEZhbHNlKQotICAg
ICAgICAgICAgaWYgbm90IGZpcnN0X3Jlc3VsdHNfZGlkX2V4Y2VlZF90ZXN0X2ZhaWx1cmVfbGlt
aXQgYW5kIG5vdCBzZWNvbmRfcmVzdWx0c19kaWRfZXhjZWVkX3Rlc3RfZmFpbHVyZV9saW1pdDoK
LSAgICAgICAgICAgICAgICBwYXRjaF9tb2RpZmllc19leHBlY3RhdGlvbl9maWxlcyA9IEZhbHNl
Ci0gICAgICAgICAgICAgICAgcGF0Y2ggPSBzZWxmLl9nZXRfcGF0Y2goKQotICAgICAgICAgICAg
ICAgIGlmIHBhdGNoOgotICAgICAgICAgICAgICAgICAgICBmb3IgbGluZSBpbiBwYXRjaC5zcGxp
dGxpbmVzKCk6Ci0gICAgICAgICAgICAgICAgICAgICAgICBsaW5lID0gbGluZS5zdHJpcCgpCi0g
ICAgICAgICAgICAgICAgICAgICAgICAjIHBhdGNoIGlzIHN0b3JlZCBieSBidWlsZGJvdCBhcyBi
eXRlczogaHR0cHM6Ly9naXRodWIuY29tL2J1aWxkYm90L2J1aWxkYm90L2lzc3Vlcy81ODEyI2lz
c3VlY29tbWVudC03OTAxNzU5NzkKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIChiJ0xheW91
dFRlc3RzLycgaW4gbGluZSBhbmQgYidUZXN0RXhwZWN0YXRpb25zJyBpbiBsaW5lKSBhbmQgKGxp
bmUuc3RhcnRzd2l0aChiJy0tLScpIG9yIGxpbmUuc3RhcnRzd2l0aChiJysrKycpKToKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBwYXRjaF9tb2RpZmllc19leHBlY3RhdGlvbl9maWxlcyA9
IFRydWUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhawotICAgICAgICAgICAgICAg
IGlmIG5vdCBwYXRjaF9tb2RpZmllc19leHBlY3RhdGlvbl9maWxlczoKLSAgICAgICAgICAgICAg
ICAgICAgZmlyc3RfcmVzdWx0c19mYWlsaW5nX3Rlc3RzID0gc2V0KHNlbGYuZ2V0UHJvcGVydHko
J2ZpcnN0X3J1bl9mYWlsdXJlcycsIHNldCgpKSkKLSAgICAgICAgICAgICAgICAgICAgc2Vjb25k
X3Jlc3VsdHNfZmFpbGluZ190ZXN0cyA9IHNldChzZWxmLmdldFByb3BlcnR5KCdzZWNvbmRfcnVu
X2ZhaWx1cmVzJywgc2V0KCkpKQotICAgICAgICAgICAgICAgICAgICBsaXN0X3JldHJ5X3Rlc3Rz
ID0gc29ydGVkKGZpcnN0X3Jlc3VsdHNfZmFpbGluZ190ZXN0cy51bmlvbihzZWNvbmRfcmVzdWx0
c19mYWlsaW5nX3Rlc3RzKSkKLSAgICAgICAgICAgICAgICAgICAgc2VsZi5zZXRDb21tYW5kKHNl
bGYuY29tbWFuZCArIGxpc3RfcmV0cnlfdGVzdHMpCi0KICAgICBkZWYgc3RhcnQoc2VsZik6CiAg
ICAgICAgIHNlbGYubG9nX29ic2VydmVyID0gbG9nb2JzZXJ2ZXIuQnVmZmVyTG9nT2JzZXJ2ZXIo
d2FudFN0ZGVycj1UcnVlKQogICAgICAgICBzZWxmLmFkZExvZ09ic2VydmVyKCdzdGRpbycsIHNl
bGYubG9nX29ic2VydmVyKQpAQCAtMjQ5OCw2ICsyNDczLDIzIEBAIGNsYXNzIFJ1bldlYktpdFRl
c3RzV2l0aG91dFBhdGNoKFJ1bldlYktpdFRlc3RzKToKICAgICAgICAgICAgICAgICBzZWxmLl9h
ZGRUb0xvZyhzZWxmLnRlc3RfZmFpbHVyZXNfbG9nX25hbWUsICdcbicuam9pbihjbGVhbl90cmVl
X3Jlc3VsdHMuZmFpbGluZ190ZXN0cykpCiAgICAgICAgIHNlbGYuX3BhcnNlUnVuV2ViS2l0VGVz
dHNPdXRwdXQobG9nVGV4dCkKIAorICAgIGRlZiBzZXRMYXlvdXRUZXN0Q29tbWFuZChzZWxmKToK
KyAgICAgICAgc3VwZXIoUnVuV2ViS2l0VGVzdHNXaXRob3V0UGF0Y2gsIHNlbGYpLnNldExheW91
dFRlc3RDb21tYW5kKCkKKyAgICAgICAgIyBJbiBvcmRlciB0byBzcGVlZCB1cCB0ZXN0aW5nLCBv
biB0aGUgc3RlcCB0aGF0IHJldHJpZXMgcnVubmluZyB0aGUgbGF5b3V0IHRlc3RzIHdpdGhvdXQg
cGF0Y2gKKyAgICAgICAgIyBvbmx5IHJ1biB0aGUgc3Vic2V0IG9mIHRlc3RzIHRoYXQgZmFpbGVk
IG9uIHRoZSBwcmV2aW91cyBzdGVwcy4KKyAgICAgICAgIyBCdXQgb25seSBkbyB0aGF0IGlmIHRo
ZSBwcmV2aW91cyBzdGVwcyBkaWRuJ3QgZXhjZWVkIHRoZSB0ZXN0IGZhaWx1cmUgbGltaXQKKyAg
ICAgICAgIyBBbHNvIHBhc3MgLS1za2lwcGVkPWFsd2F5cyB0byBhdm9pZCBydW5uaW5nIGEgdGVz
dCB0aGF0IGlzIHNraXBwZWQgb24gdGhlIGNsZWFuIHRyZWUgYW5kIHRoYXQKKyAgICAgICAgIyB0
aGUgcGF0Y2ggcmVtb3ZlZCBmcm9tIHRoZSBUZXN0RXhwZWN0YXRpb25zIGZpbGUgbWVhbndoaWxl
IGl0IHN0aWxsIGZhaWxzIHdpdGggdGhlIHBhdGNoIChzbworICAgICAgICAjIGl0IGlzIHBhc3Nl
ZCBhcyBhbiBhcmd1bWVudCBvbiB0aGUgY29tbWFuZC1saW5lKQorICAgICAgICBmaXJzdF9yZXN1
bHRzX2RpZF9leGNlZWRfdGVzdF9mYWlsdXJlX2xpbWl0ID0gc2VsZi5nZXRQcm9wZXJ0eSgnZmly
c3RfcmVzdWx0c19leGNlZWRfZmFpbHVyZV9saW1pdCcsIEZhbHNlKQorICAgICAgICBzZWNvbmRf
cmVzdWx0c19kaWRfZXhjZWVkX3Rlc3RfZmFpbHVyZV9saW1pdCA9IHNlbGYuZ2V0UHJvcGVydHko
J3NlY29uZF9yZXN1bHRzX2V4Y2VlZF9mYWlsdXJlX2xpbWl0JywgRmFsc2UpCisgICAgICAgIGlm
IG5vdCBmaXJzdF9yZXN1bHRzX2RpZF9leGNlZWRfdGVzdF9mYWlsdXJlX2xpbWl0IGFuZCBub3Qg
c2Vjb25kX3Jlc3VsdHNfZGlkX2V4Y2VlZF90ZXN0X2ZhaWx1cmVfbGltaXQ6CisgICAgICAgICAg
ICBmaXJzdF9yZXN1bHRzX2ZhaWxpbmdfdGVzdHMgPSBzZXQoc2VsZi5nZXRQcm9wZXJ0eSgnZmly
c3RfcnVuX2ZhaWx1cmVzJywgc2V0KCkpKQorICAgICAgICAgICAgc2Vjb25kX3Jlc3VsdHNfZmFp
bGluZ190ZXN0cyA9IHNldChzZWxmLmdldFByb3BlcnR5KCdzZWNvbmRfcnVuX2ZhaWx1cmVzJywg
c2V0KCkpKQorICAgICAgICAgICAgbGlzdF9mYWlsZWRfdGVzdHNfd2l0aF9wYXRjaCA9IHNvcnRl
ZChmaXJzdF9yZXN1bHRzX2ZhaWxpbmdfdGVzdHMudW5pb24oc2Vjb25kX3Jlc3VsdHNfZmFpbGlu
Z190ZXN0cykpCisgICAgICAgICAgICBpZiBsaXN0X2ZhaWxlZF90ZXN0c193aXRoX3BhdGNoOgor
ICAgICAgICAgICAgICAgIHNlbGYuc2V0Q29tbWFuZChzZWxmLmNvbW1hbmQgKyBbJy0tc2tpcHBl
ZD1hbHdheXMnXSArIGxpc3RfZmFpbGVkX3Rlc3RzX3dpdGhfcGF0Y2gpCisKIAogY2xhc3MgQW5h
bHl6ZUxheW91dFRlc3RzUmVzdWx0cyhidWlsZHN0ZXAuQnVpbGRTdGVwLCBCdWd6aWxsYU1peGlu
KToKICAgICBuYW1lID0gJ2FuYWx5emUtbGF5b3V0LXRlc3RzLXJlc3VsdHMnCmRpZmYgLS1naXQg
YS9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzX3VuaXR0ZXN0LnB5IGIvVG9vbHMvQ0lT
dXBwb3J0L2V3cy1idWlsZC9zdGVwc191bml0dGVzdC5weQppbmRleCBjOGMyNjJlMTU0MWQ0YmY5
YTFjNzU5NTljZTNmY2NiZDg2MTUxZDBiLi45MzRkZTQ4Y2Q0ODAxZjM5YTNhNDNhZGQ0NzQ5YWUz
N2Q1ZWZjMWZjIDEwMDY0NAotLS0gYS9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzX3Vu
aXR0ZXN0LnB5CisrKyBiL1Rvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHNfdW5pdHRlc3Qu
cHkKQEAgLTIxNzMsNiArMjE3Myw3IEBAIGNsYXNzIFRlc3RSdW5XZWJLaXRUZXN0c1dpdGhvdXRQ
YXRjaChCdWlsZFN0ZXBNaXhpbkFkZGl0aW9ucywgdW5pdHRlc3QuVGVzdENhc2UpCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAnLS1kZWJ1Zy1yd3QtbG9nZ2luZycsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAnLS1leGl0LWFmdGVyLW4tZmFpbHVyZXMnLCAnMzAn
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0tc2tpcC1mYWlsaW5nLXRlc3Rz
JywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICctLXNraXBwZWQ9YWx3YXlzJywK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0ZXN0MScsICd0ZXN0MicsICd0ZXN0
MycsICd0ZXN0NCddLAogICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgKyAw
LApAQCAtMjIwOCw2MyArMjIwOSw2IEBAIGNsYXNzIFRlc3RSdW5XZWJLaXRUZXN0c1dpdGhvdXRQ
YXRjaChCdWlsZFN0ZXBNaXhpbkFkZGl0aW9ucywgdW5pdHRlc3QuVGVzdENhc2UpCiAgICAgICAg
IHNlbGYuZXhwZWN0T3V0Y29tZShyZXN1bHQ9U1VDQ0VTUywgc3RhdGVfc3RyaW5nPSdsYXlvdXQt
dGVzdHMnKQogICAgICAgICByZXR1cm4gc2VsZi5ydW5TdGVwKCkKIAotICAgIGRlZiB0ZXN0X3N1
Y2Nlc3NfcmV0cnlfb25seV9zdWJzZXRfcGF0Y2hfbm9fbW9kaWZpZXNfZXhwZWN0YXRpb25zKHNl
bGYpOgotICAgICAgICBzZWxmLmNvbmZpZ3VyZVN0ZXAoKQotICAgICAgICBzZWxmLnNldFByb3Bl
cnR5KCdmdWxsUGxhdGZvcm0nLCAnaW9zLXNpbXVsYXRvcicpCi0gICAgICAgIHNlbGYuc2V0UHJv
cGVydHkoJ2NvbmZpZ3VyYXRpb24nLCAncmVsZWFzZScpCi0gICAgICAgIHNlbGYuc2V0UHJvcGVy
dHkoJ2ZpcnN0X3J1bl9mYWlsdXJlcycsIFsndGVzdDEnLCAndGVzdDInLCAndGVzdDMnXSkKLSAg
ICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgnc2Vjb25kX3J1bl9mYWlsdXJlcycsIFsndGVzdDEnLCAn
dGVzdDMnLCAndGVzdDQnXSkKLSAgICAgICAgUnVuV2ViS2l0VGVzdHMuX2dldF9wYXRjaCA9IGxh
bWJkYSB4OiBiJysrKyBUb29scy9DaGFuZ2VMb2dcbisrKyBUb29scy9XZWJLaXRUZXN0UnVubmVy
L09wdGlvbnMuY3BwXG4nCi0gICAgICAgIHNlbGYuZXhwZWN0UmVtb3RlQ29tbWFuZHMoCi0gICAg
ICAgICAgICBFeHBlY3RTaGVsbCh3b3JrZGlyPSd3a2RpcicsCi0gICAgICAgICAgICAgICAgICAg
ICAgICBsb2dmaWxlcz17J2pzb24nOiBzZWxmLmpzb25GaWxlTmFtZX0sCi0gICAgICAgICAgICAg
ICAgICAgICAgICBsb2dFbnZpcm9uPUZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgY29t
bWFuZD1bJ3B5dGhvbicsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVG9vbHMv
U2NyaXB0cy9ydW4td2Via2l0LXRlc3RzJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICctLW5vLWJ1aWxkJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICctLW5v
LXNob3ctcmVzdWx0cycsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLS1uby1u
ZXctdGVzdC1yZXN1bHRzJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICctLWNs
b2JiZXItb2xkLXJlc3VsdHMnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0t
cmVsZWFzZScsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLS1yZXN1bHRzLWRp
cmVjdG9yeScsICdsYXlvdXQtdGVzdC1yZXN1bHRzJywKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICctLWRlYnVnLXJ3dC1sb2dnaW5nJywKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICctLWV4aXQtYWZ0ZXItbi1mYWlsdXJlcycsICczMCcsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAnLS1za2lwLWZhaWxpbmctdGVzdHMnLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgJ3Rlc3QxJywgJ3Rlc3QyJywgJ3Rlc3QzJywgJ3Rlc3Q0J10s
Ci0gICAgICAgICAgICAgICAgICAgICAgICApCi0gICAgICAgICAgICArIDAsCi0gICAgICAgICkK
LSAgICAgICAgc2VsZi5leHBlY3RPdXRjb21lKHJlc3VsdD1TVUNDRVNTLCBzdGF0ZV9zdHJpbmc9
J2xheW91dC10ZXN0cycpCi0gICAgICAgIHJldHVybiBzZWxmLnJ1blN0ZXAoKQotCi0gICAgZGVm
IHRlc3Rfc3VjY2Vzc19yZXRyeV9vbmx5X3N1YnNldF9wYXRjaF9tb2RpZmllc19leHBlY3RhdGlv
bnMoc2VsZik6Ci0gICAgICAgIHNlbGYuY29uZmlndXJlU3RlcCgpCi0gICAgICAgIHNlbGYuc2V0
UHJvcGVydHkoJ2Z1bGxQbGF0Zm9ybScsICdpb3Mtc2ltdWxhdG9yJykKLSAgICAgICAgc2VsZi5z
ZXRQcm9wZXJ0eSgnY29uZmlndXJhdGlvbicsICdyZWxlYXNlJykKLSAgICAgICAgc2VsZi5zZXRQ
cm9wZXJ0eSgnZmlyc3RfcnVuX2ZhaWx1cmVzJywgWyd0ZXN0MScsICd0ZXN0MicsICd0ZXN0Mydd
KQotICAgICAgICBzZWxmLnNldFByb3BlcnR5KCdzZWNvbmRfcnVuX2ZhaWx1cmVzJywgWyd0ZXN0
MScsICd0ZXN0MycsICd0ZXN0NCddKQotICAgICAgICBSdW5XZWJLaXRUZXN0cy5fZ2V0X3BhdGNo
ID0gbGFtYmRhIHg6IGInKysrIExheW91dFRlc3RzL0NoYW5nZWxvZ1xuKysrIExheW91dFRlc3Rz
L3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zXG4nCi0gICAgICAgIHNlbGYuZXhwZWN0UmVt
b3RlQ29tbWFuZHMoCi0gICAgICAgICAgICBFeHBlY3RTaGVsbCh3b3JrZGlyPSd3a2RpcicsCi0g
ICAgICAgICAgICAgICAgICAgICAgICBsb2dmaWxlcz17J2pzb24nOiBzZWxmLmpzb25GaWxlTmFt
ZX0sCi0gICAgICAgICAgICAgICAgICAgICAgICBsb2dFbnZpcm9uPUZhbHNlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgY29tbWFuZD1bJ3B5dGhvbicsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAnVG9vbHMvU2NyaXB0cy9ydW4td2Via2l0LXRlc3RzJywKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICctLW5vLWJ1aWxkJywKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICctLW5vLXNob3ctcmVzdWx0cycsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAnLS1uby1uZXctdGVzdC1yZXN1bHRzJywKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICctLWNsb2JiZXItb2xkLXJlc3VsdHMnLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgJy0tcmVsZWFzZScsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAnLS1yZXN1bHRzLWRpcmVjdG9yeScsICdsYXlvdXQtdGVzdC1yZXN1bHRzJywKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICctLWRlYnVnLXJ3dC1sb2dnaW5nJywKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICctLWV4aXQtYWZ0ZXItbi1mYWlsdXJlcycsICcz
MCcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLS1za2lwLWZhaWxpbmctdGVz
dHMnXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICkKLSAgICAgICAgICAgICsgMCwKLSAgICAg
ICAgKQotICAgICAgICBzZWxmLmV4cGVjdE91dGNvbWUocmVzdWx0PVNVQ0NFU1MsIHN0YXRlX3N0
cmluZz0nbGF5b3V0LXRlc3RzJykKLSAgICAgICAgcmV0dXJuIHNlbGYucnVuU3RlcCgpCi0KICAg
ICBkZWYgdGVzdF9mYWlsdXJlKHNlbGYpOgogICAgICAgICBzZWxmLmNvbmZpZ3VyZVN0ZXAoKQog
ICAgICAgICBzZWxmLnNldFByb3BlcnR5KCdmdWxsUGxhdGZvcm0nLCAnaW9zLXNpbXVsYXRvcicp
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>440301</attachid>
            <date>2021-10-05 17:02:40 -0700</date>
            <delta_ts>2021-10-18 19:04:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231265-20211006010156.patch</filename>
            <type>text/plain</type>
            <size>10208</size>
            <attacher name="Carlos Alberto Lopez Perez">clopez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzNTgyCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggODk0MzYwZGJlYmJmNWFkMWNmMmUzMzIxNDFiNGY1Yzc5
ODQ1MzNkNC4uMzU0OWFmZTY5MGJhZTE5NzUzNGMwNWQ3N2MwNzFmYTM2ZjY2M2U3ZiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIy
IEBACisyMDIxLTEwLTA1ICBDYXJsb3MgQWxiZXJ0byBMb3BleiBQZXJleiAgPGNsb3BlekBpZ2Fs
aWEuY29tPgorCisgICAgICAgIFtFV1NdIEFsbG93IHRoZSBvcHRpbWl6YXRpb24gb2YgcnVubmlu
ZyBvbmx5IHRoZSBzdWJzZXQgb2YgZmFpbGVkIHRlc3RzIG9uIHJ1bi1sYXlvdXQtdGVzdHMtd2l0
aG91dC1wYXRjaCBhbHNvIGZvciBwYXRjaGVzIG1vZGlmeWluZyB0aGUgVGVzdEV4cGVjdGF0aW9u
cyBmaWxlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjMxMjY1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
T24gcjI3NDQ3NSBhbiBvcHRpbWl6YXRpb24gd2FzIGFwcGxpZWQgdG8gcnVuLWxheW91dC10ZXN0
cy13aXRob3V0LXBhdGNoIHRvIG9ubHkKKyAgICAgICAgcnVuIHRoZSBzdWJzZXQgb2YgdGVzdHMg
dGhhdCBmYWlsZWQgd2l0aCBwYXRjaCBpbnN0ZWFkIG9mIHRoZSB3aG9sZSBsYXlvdXQgdGVzdHMu
CisgICAgICAgIEJ1dCB0aGlzIG9wdGltaXphdGlvbiBoYWQgYSBjb3JuZXIgY2FzZSB3aGVyZSBp
dCBjb3VsZG4ndCBiZSBhcHBsaWVkLgorICAgICAgICBJdCBzZWVtcyB0aGF0IHdlIGNhbiBzdGls
bCBhcHBseSB0aGlzIG9wdGltaXphdGlvbiBpbiB0aGlzIGNvcm5lciBjYXNlIGlmIHdlIHBhc3MK
KyAgICAgICAgJy0tc2tpcHBlZD1hbHdheXMnIHRvIHJ1bi13ZWJraXQtdGVzdHMgc28gdGhhdCBT
a2lwcGVkIHRlc3RzIGFyZSBub3QgcnVuIGV2ZW4gaWYKKyAgICAgICAgdGhvc2UgYXJlIHNwZWNp
ZmllZCBhcyBhcmd1bWVudHMgb24gdGhlIGNvbW1hbmQtbGluZS4KKworICAgICAgICAqIENJU3Vw
cG9ydC9ld3MtYnVpbGQvc3RlcHMucHk6CisgICAgICAgIChSdW5XZWJLaXRUZXN0cy5zZXRMYXlv
dXRUZXN0Q29tbWFuZCk6CisgICAgICAgIChSdW5XZWJLaXRUZXN0c1dpdGhvdXRQYXRjaC5zZXRM
YXlvdXRUZXN0Q29tbWFuZCk6CisgICAgICAgICogQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVwc191
bml0dGVzdC5weToKKwogMjAyMS0xMC0wNSAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNl
bkB3ZWJraXQub3JnPgogCiAgICAgICAgIFRlc3RXZWJLaXRBUEkuUHJpdmF0ZUNsaWNrTWVhc3Vy
ZW1lbnQuRGFlbW9uQmFzaWNGdW5jdGlvbmFsaXR5IGlzIHRpbWluZyBvdXQKZGlmZiAtLWdpdCBh
L1Rvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHMucHkgYi9Ub29scy9DSVN1cHBvcnQvZXdz
LWJ1aWxkL3N0ZXBzLnB5CmluZGV4IGRhZGY5OTJiNTQ5OWZkNWNiZjgwMzk0YjVmNzhmZTkwMzM0
NTczZDUuLmM3ZDZlZjIzMzM2YWViNzI3YzdmM2RlNzNhNTc5ODVmODIwMmEwY2MgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHMucHkKKysrIGIvVG9vbHMvQ0lTdXBw
b3J0L2V3cy1idWlsZC9zdGVwcy5weQpAQCAtMjIxOCwzMSArMjIxOCw2IEBAIGNsYXNzIFJ1bldl
YktpdFRlc3RzKHNoZWxsLlRlc3QpOgogICAgICAgICBpZiBzZWxmLkVOQUJMRV9HVUFSRF9NQUxM
T0M6CiAgICAgICAgICAgICBzZWxmLnNldENvbW1hbmQoc2VsZi5jb21tYW5kICsgWyctLWd1YXJk
LW1hbGxvYyddKQogCi0gICAgICAgIGlmIHNlbGYubmFtZSA9PSAncnVuLWxheW91dC10ZXN0cy13
aXRob3V0LXBhdGNoJzoKLSAgICAgICAgICAgICMgSW4gb3JkZXIgdG8gc3BlZWQgdXAgdGVzdGlu
Zywgb24gdGhlIHN0ZXAgdGhhdCByZXRyaWVzIHJ1bm5pbmcgdGhlIGxheW91dCB0ZXN0cyB3aXRo
b3V0IHBhdGNoCi0gICAgICAgICAgICAjIG9ubHkgcnVuIHRoZSBzdWJzZXQgb2YgdGVzdHMgdGhh
dCBmYWlsZWQgb24gdGhlIHByZXZpb3VzIHN0ZXBzLgotICAgICAgICAgICAgIyBCdXQgb25seSBk
byB0aGF0IGlmIHRoZSBwcmV2aW91cyBzdGVwcyBkaWRuJ3QgZXhjZWVkIHRoZSB0ZXN0IGZhaWx1
cmUgbGltaXQgYW5kIHRoZSBwYXRjaCBkb2Vzbid0Ci0gICAgICAgICAgICAjIG1vZGlmeSB0aGUg
VGVzdEV4cGVjdGF0aW9ucyBmaWxlcyAodGhlcmUgYXJlIGNvcm5lciBjYXNlcyB3aGVyZSB3ZSBj
YW4ndCBndWFyYW50ZWUgdGhlIGNvcnJlY3RuZXMKLSAgICAgICAgICAgICMgb2YgdGhpcyBvcHRp
bWl6YXRpb24gaWYgdGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBUZXN0RXhwZWN0YXRpb25zIGZpbGVz
LCBmb3IgZXhhbXBsZSwgaWYgdGhlIHBhdGNoCi0gICAgICAgICAgICAjIHJlbW92ZXMgc2tpcHBl
ZCB0ZXN0cyBidXQgdGhvc2UgdGVzdHMgc3RpbGwgZmFpbCkuCi0gICAgICAgICAgICBmaXJzdF9y
ZXN1bHRzX2RpZF9leGNlZWRfdGVzdF9mYWlsdXJlX2xpbWl0ID0gc2VsZi5nZXRQcm9wZXJ0eSgn
Zmlyc3RfcmVzdWx0c19leGNlZWRfZmFpbHVyZV9saW1pdCcsIEZhbHNlKQotICAgICAgICAgICAg
c2Vjb25kX3Jlc3VsdHNfZGlkX2V4Y2VlZF90ZXN0X2ZhaWx1cmVfbGltaXQgPSBzZWxmLmdldFBy
b3BlcnR5KCdzZWNvbmRfcmVzdWx0c19leGNlZWRfZmFpbHVyZV9saW1pdCcsIEZhbHNlKQotICAg
ICAgICAgICAgaWYgbm90IGZpcnN0X3Jlc3VsdHNfZGlkX2V4Y2VlZF90ZXN0X2ZhaWx1cmVfbGlt
aXQgYW5kIG5vdCBzZWNvbmRfcmVzdWx0c19kaWRfZXhjZWVkX3Rlc3RfZmFpbHVyZV9saW1pdDoK
LSAgICAgICAgICAgICAgICBwYXRjaF9tb2RpZmllc19leHBlY3RhdGlvbl9maWxlcyA9IEZhbHNl
Ci0gICAgICAgICAgICAgICAgcGF0Y2ggPSBzZWxmLl9nZXRfcGF0Y2goKQotICAgICAgICAgICAg
ICAgIGlmIHBhdGNoOgotICAgICAgICAgICAgICAgICAgICBmb3IgbGluZSBpbiBwYXRjaC5zcGxp
dGxpbmVzKCk6Ci0gICAgICAgICAgICAgICAgICAgICAgICBsaW5lID0gbGluZS5zdHJpcCgpCi0g
ICAgICAgICAgICAgICAgICAgICAgICAjIHBhdGNoIGlzIHN0b3JlZCBieSBidWlsZGJvdCBhcyBi
eXRlczogaHR0cHM6Ly9naXRodWIuY29tL2J1aWxkYm90L2J1aWxkYm90L2lzc3Vlcy81ODEyI2lz
c3VlY29tbWVudC03OTAxNzU5NzkKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIChiJ0xheW91
dFRlc3RzLycgaW4gbGluZSBhbmQgYidUZXN0RXhwZWN0YXRpb25zJyBpbiBsaW5lKSBhbmQgKGxp
bmUuc3RhcnRzd2l0aChiJy0tLScpIG9yIGxpbmUuc3RhcnRzd2l0aChiJysrKycpKToKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBwYXRjaF9tb2RpZmllc19leHBlY3RhdGlvbl9maWxlcyA9
IFRydWUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhawotICAgICAgICAgICAgICAg
IGlmIG5vdCBwYXRjaF9tb2RpZmllc19leHBlY3RhdGlvbl9maWxlczoKLSAgICAgICAgICAgICAg
ICAgICAgZmlyc3RfcmVzdWx0c19mYWlsaW5nX3Rlc3RzID0gc2V0KHNlbGYuZ2V0UHJvcGVydHko
J2ZpcnN0X3J1bl9mYWlsdXJlcycsIHNldCgpKSkKLSAgICAgICAgICAgICAgICAgICAgc2Vjb25k
X3Jlc3VsdHNfZmFpbGluZ190ZXN0cyA9IHNldChzZWxmLmdldFByb3BlcnR5KCdzZWNvbmRfcnVu
X2ZhaWx1cmVzJywgc2V0KCkpKQotICAgICAgICAgICAgICAgICAgICBsaXN0X3JldHJ5X3Rlc3Rz
ID0gc29ydGVkKGZpcnN0X3Jlc3VsdHNfZmFpbGluZ190ZXN0cy51bmlvbihzZWNvbmRfcmVzdWx0
c19mYWlsaW5nX3Rlc3RzKSkKLSAgICAgICAgICAgICAgICAgICAgc2VsZi5zZXRDb21tYW5kKHNl
bGYuY29tbWFuZCArIGxpc3RfcmV0cnlfdGVzdHMpCi0KICAgICBkZWYgc3RhcnQoc2VsZik6CiAg
ICAgICAgIHNlbGYubG9nX29ic2VydmVyID0gbG9nb2JzZXJ2ZXIuQnVmZmVyTG9nT2JzZXJ2ZXIo
d2FudFN0ZGVycj1UcnVlKQogICAgICAgICBzZWxmLmFkZExvZ09ic2VydmVyKCdzdGRpbycsIHNl
bGYubG9nX29ic2VydmVyKQpAQCAtMjQ5OCw2ICsyNDczLDI1IEBAIGNsYXNzIFJ1bldlYktpdFRl
c3RzV2l0aG91dFBhdGNoKFJ1bldlYktpdFRlc3RzKToKICAgICAgICAgICAgICAgICBzZWxmLl9h
ZGRUb0xvZyhzZWxmLnRlc3RfZmFpbHVyZXNfbG9nX25hbWUsICdcbicuam9pbihjbGVhbl90cmVl
X3Jlc3VsdHMuZmFpbGluZ190ZXN0cykpCiAgICAgICAgIHNlbGYuX3BhcnNlUnVuV2ViS2l0VGVz
dHNPdXRwdXQobG9nVGV4dCkKIAorICAgIGRlZiBzZXRMYXlvdXRUZXN0Q29tbWFuZChzZWxmKToK
KyAgICAgICAgc3VwZXIoUnVuV2ViS2l0VGVzdHNXaXRob3V0UGF0Y2gsIHNlbGYpLnNldExheW91
dFRlc3RDb21tYW5kKCkKKyAgICAgICAgIyBJbiBvcmRlciB0byBzcGVlZCB1cCB0ZXN0aW5nLCBv
biB0aGUgc3RlcCB0aGF0IHJldHJpZXMgcnVubmluZyB0aGUgbGF5b3V0IHRlc3RzIHdpdGhvdXQg
cGF0Y2gKKyAgICAgICAgIyBvbmx5IHJ1biB0aGUgc3Vic2V0IG9mIHRlc3RzIHRoYXQgZmFpbGVk
IG9uIHRoZSBwcmV2aW91cyBzdGVwcy4KKyAgICAgICAgIyBCdXQgb25seSBkbyB0aGF0IGlmIHRo
ZSBwcmV2aW91cyBzdGVwcyBkaWRuJ3QgZXhjZWVkIHRoZSB0ZXN0IGZhaWx1cmUgbGltaXQKKyAg
ICAgICAgIyBBbHNvIHBhc3MgJy0tc2tpcHBlZD1hbHdheXMnIHRvIGF2b2lkIHJ1bm5pbmcgYSB0
ZXN0IHRoYXQgaXMgc2tpcHBlZCBvbiB0aGUgY2xlYW4gdHJlZSBhbmQgdGhhdAorICAgICAgICAj
IHRoZSBwYXRjaCByZW1vdmVkIGZyb20gdGhlIFRlc3RFeHBlY3RhdGlvbnMgZmlsZSBtZWFud2hp
bGUgaXQgc3RpbGwgZmFpbHMgd2l0aCB0aGUgcGF0Y2ggKHNvCisgICAgICAgICMgaXQgaXMgcGFz
c2VkIGFzIGFuIGFyZ3VtZW50IG9uIHRoZSBjb21tYW5kLWxpbmUpCisgICAgICAgICMgVGhlIGZs
YWcgJy0tc2tpcC1mYWlsaW5nLXRlc3RzJyB0aGF0IGlzIHBhc3NlZCBieSBkZWZhdWx0IChpbiBj
b21iaW5hdGlvbiB3aXRoICctLXNraXBwZWQ9YWx3YXlzJykKKyAgICAgICAgIyBhbHNvIGF2b2lk
IHJ1bm5pbmcgdGVzdHMgbWFya2VkIGFzIGZhaWxpbmcgb24gdGhlIEV4cGVjdGF0aW9uIGZpbGVz
IGV2ZW4gd2hlbiB0aG9zZSBhcmUgcGFzc2VkIGFzIGFyZ3VtZW50cy4KKyAgICAgICAgZmlyc3Rf
cmVzdWx0c19kaWRfZXhjZWVkX3Rlc3RfZmFpbHVyZV9saW1pdCA9IHNlbGYuZ2V0UHJvcGVydHko
J2ZpcnN0X3Jlc3VsdHNfZXhjZWVkX2ZhaWx1cmVfbGltaXQnLCBGYWxzZSkKKyAgICAgICAgc2Vj
b25kX3Jlc3VsdHNfZGlkX2V4Y2VlZF90ZXN0X2ZhaWx1cmVfbGltaXQgPSBzZWxmLmdldFByb3Bl
cnR5KCdzZWNvbmRfcmVzdWx0c19leGNlZWRfZmFpbHVyZV9saW1pdCcsIEZhbHNlKQorICAgICAg
ICBpZiBub3QgZmlyc3RfcmVzdWx0c19kaWRfZXhjZWVkX3Rlc3RfZmFpbHVyZV9saW1pdCBhbmQg
bm90IHNlY29uZF9yZXN1bHRzX2RpZF9leGNlZWRfdGVzdF9mYWlsdXJlX2xpbWl0OgorICAgICAg
ICAgICAgZmlyc3RfcmVzdWx0c19mYWlsaW5nX3Rlc3RzID0gc2V0KHNlbGYuZ2V0UHJvcGVydHko
J2ZpcnN0X3J1bl9mYWlsdXJlcycsIHNldCgpKSkKKyAgICAgICAgICAgIHNlY29uZF9yZXN1bHRz
X2ZhaWxpbmdfdGVzdHMgPSBzZXQoc2VsZi5nZXRQcm9wZXJ0eSgnc2Vjb25kX3J1bl9mYWlsdXJl
cycsIHNldCgpKSkKKyAgICAgICAgICAgIGxpc3RfZmFpbGVkX3Rlc3RzX3dpdGhfcGF0Y2ggPSBz
b3J0ZWQoZmlyc3RfcmVzdWx0c19mYWlsaW5nX3Rlc3RzLnVuaW9uKHNlY29uZF9yZXN1bHRzX2Zh
aWxpbmdfdGVzdHMpKQorICAgICAgICAgICAgaWYgbGlzdF9mYWlsZWRfdGVzdHNfd2l0aF9wYXRj
aDoKKyAgICAgICAgICAgICAgICBzZWxmLnNldENvbW1hbmQoc2VsZi5jb21tYW5kICsgWyctLXNr
aXBwZWQ9YWx3YXlzJ10gKyBsaXN0X2ZhaWxlZF90ZXN0c193aXRoX3BhdGNoKQorCiAKIGNsYXNz
IEFuYWx5emVMYXlvdXRUZXN0c1Jlc3VsdHMoYnVpbGRzdGVwLkJ1aWxkU3RlcCwgQnVnemlsbGFN
aXhpbik6CiAgICAgbmFtZSA9ICdhbmFseXplLWxheW91dC10ZXN0cy1yZXN1bHRzJwpkaWZmIC0t
Z2l0IGEvVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVwc191bml0dGVzdC5weSBiL1Rvb2xz
L0NJU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHNfdW5pdHRlc3QucHkKaW5kZXggYzhjMjYyZTE1NDFk
NGJmOWExYzc1OTU5Y2UzZmNjYmQ4NjE1MWQwYi4uOTM0ZGU0OGNkNDgwMWYzOWEzYTQzYWRkNDc0
OWFlMzdkNWVmYzFmYyAxMDA2NDQKLS0tIGEvVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVw
c191bml0dGVzdC5weQorKysgYi9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzX3VuaXR0
ZXN0LnB5CkBAIC0yMTczLDYgKzIxNzMsNyBAQCBjbGFzcyBUZXN0UnVuV2ViS2l0VGVzdHNXaXRo
b3V0UGF0Y2goQnVpbGRTdGVwTWl4aW5BZGRpdGlvbnMsIHVuaXR0ZXN0LlRlc3RDYXNlKQogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0tZGVidWctcnd0LWxvZ2dpbmcnLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0tZXhpdC1hZnRlci1uLWZhaWx1cmVzJywg
JzMwJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICctLXNraXAtZmFpbGluZy10
ZXN0cycsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLS1za2lwcGVkPWFsd2F5
cycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndGVzdDEnLCAndGVzdDInLCAn
dGVzdDMnLCAndGVzdDQnXSwKICAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAg
ICsgMCwKQEAgLTIyMDgsNjMgKzIyMDksNiBAQCBjbGFzcyBUZXN0UnVuV2ViS2l0VGVzdHNXaXRo
b3V0UGF0Y2goQnVpbGRTdGVwTWl4aW5BZGRpdGlvbnMsIHVuaXR0ZXN0LlRlc3RDYXNlKQogICAg
ICAgICBzZWxmLmV4cGVjdE91dGNvbWUocmVzdWx0PVNVQ0NFU1MsIHN0YXRlX3N0cmluZz0nbGF5
b3V0LXRlc3RzJykKICAgICAgICAgcmV0dXJuIHNlbGYucnVuU3RlcCgpCiAKLSAgICBkZWYgdGVz
dF9zdWNjZXNzX3JldHJ5X29ubHlfc3Vic2V0X3BhdGNoX25vX21vZGlmaWVzX2V4cGVjdGF0aW9u
cyhzZWxmKToKLSAgICAgICAgc2VsZi5jb25maWd1cmVTdGVwKCkKLSAgICAgICAgc2VsZi5zZXRQ
cm9wZXJ0eSgnZnVsbFBsYXRmb3JtJywgJ2lvcy1zaW11bGF0b3InKQotICAgICAgICBzZWxmLnNl
dFByb3BlcnR5KCdjb25maWd1cmF0aW9uJywgJ3JlbGVhc2UnKQotICAgICAgICBzZWxmLnNldFBy
b3BlcnR5KCdmaXJzdF9ydW5fZmFpbHVyZXMnLCBbJ3Rlc3QxJywgJ3Rlc3QyJywgJ3Rlc3QzJ10p
Ci0gICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ3NlY29uZF9ydW5fZmFpbHVyZXMnLCBbJ3Rlc3Qx
JywgJ3Rlc3QzJywgJ3Rlc3Q0J10pCi0gICAgICAgIFJ1bldlYktpdFRlc3RzLl9nZXRfcGF0Y2gg
PSBsYW1iZGEgeDogYicrKysgVG9vbHMvQ2hhbmdlTG9nXG4rKysgVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9PcHRpb25zLmNwcFxuJwotICAgICAgICBzZWxmLmV4cGVjdFJlbW90ZUNvbW1hbmRzKAot
ICAgICAgICAgICAgRXhwZWN0U2hlbGwod29ya2Rpcj0nd2tkaXInLAotICAgICAgICAgICAgICAg
ICAgICAgICAgbG9nZmlsZXM9eydqc29uJzogc2VsZi5qc29uRmlsZU5hbWV9LAotICAgICAgICAg
ICAgICAgICAgICAgICAgbG9nRW52aXJvbj1GYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
IGNvbW1hbmQ9WydweXRob24nLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Rv
b2xzL1NjcmlwdHMvcnVuLXdlYmtpdC10ZXN0cycsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAnLS1uby1idWlsZCcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn
LS1uby1zaG93LXJlc3VsdHMnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0t
bm8tbmV3LXRlc3QtcmVzdWx0cycsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn
LS1jbG9iYmVyLW9sZC1yZXN1bHRzJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICctLXJlbGVhc2UnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0tcmVzdWx0
cy1kaXJlY3RvcnknLCAnbGF5b3V0LXRlc3QtcmVzdWx0cycsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAnLS1kZWJ1Zy1yd3QtbG9nZ2luZycsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAnLS1leGl0LWFmdGVyLW4tZmFpbHVyZXMnLCAnMzAnLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgJy0tc2tpcC1mYWlsaW5nLXRlc3RzJywKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICd0ZXN0MScsICd0ZXN0MicsICd0ZXN0MycsICd0ZXN0
NCddLAotICAgICAgICAgICAgICAgICAgICAgICAgKQotICAgICAgICAgICAgKyAwLAotICAgICAg
ICApCi0gICAgICAgIHNlbGYuZXhwZWN0T3V0Y29tZShyZXN1bHQ9U1VDQ0VTUywgc3RhdGVfc3Ry
aW5nPSdsYXlvdXQtdGVzdHMnKQotICAgICAgICByZXR1cm4gc2VsZi5ydW5TdGVwKCkKLQotICAg
IGRlZiB0ZXN0X3N1Y2Nlc3NfcmV0cnlfb25seV9zdWJzZXRfcGF0Y2hfbW9kaWZpZXNfZXhwZWN0
YXRpb25zKHNlbGYpOgotICAgICAgICBzZWxmLmNvbmZpZ3VyZVN0ZXAoKQotICAgICAgICBzZWxm
LnNldFByb3BlcnR5KCdmdWxsUGxhdGZvcm0nLCAnaW9zLXNpbXVsYXRvcicpCi0gICAgICAgIHNl
bGYuc2V0UHJvcGVydHkoJ2NvbmZpZ3VyYXRpb24nLCAncmVsZWFzZScpCi0gICAgICAgIHNlbGYu
c2V0UHJvcGVydHkoJ2ZpcnN0X3J1bl9mYWlsdXJlcycsIFsndGVzdDEnLCAndGVzdDInLCAndGVz
dDMnXSkKLSAgICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgnc2Vjb25kX3J1bl9mYWlsdXJlcycsIFsn
dGVzdDEnLCAndGVzdDMnLCAndGVzdDQnXSkKLSAgICAgICAgUnVuV2ViS2l0VGVzdHMuX2dldF9w
YXRjaCA9IGxhbWJkYSB4OiBiJysrKyBMYXlvdXRUZXN0cy9DaGFuZ2Vsb2dcbisrKyBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9uc1xuJwotICAgICAgICBzZWxmLmV4cGVj
dFJlbW90ZUNvbW1hbmRzKAotICAgICAgICAgICAgRXhwZWN0U2hlbGwod29ya2Rpcj0nd2tkaXIn
LAotICAgICAgICAgICAgICAgICAgICAgICAgbG9nZmlsZXM9eydqc29uJzogc2VsZi5qc29uRmls
ZU5hbWV9LAotICAgICAgICAgICAgICAgICAgICAgICAgbG9nRW52aXJvbj1GYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbW1hbmQ9WydweXRob24nLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgJ1Rvb2xzL1NjcmlwdHMvcnVuLXdlYmtpdC10ZXN0cycsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAnLS1uby1idWlsZCcsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAnLS1uby1zaG93LXJlc3VsdHMnLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgJy0tbm8tbmV3LXRlc3QtcmVzdWx0cycsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAnLS1jbG9iYmVyLW9sZC1yZXN1bHRzJywKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICctLXJlbGVhc2UnLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgJy0tcmVzdWx0cy1kaXJlY3RvcnknLCAnbGF5b3V0LXRlc3QtcmVzdWx0cycsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLS1kZWJ1Zy1yd3QtbG9nZ2luZycsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLS1leGl0LWFmdGVyLW4tZmFpbHVyZXMn
LCAnMzAnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0tc2tpcC1mYWlsaW5n
LXRlc3RzJ10sCi0gICAgICAgICAgICAgICAgICAgICAgICApCi0gICAgICAgICAgICArIDAsCi0g
ICAgICAgICkKLSAgICAgICAgc2VsZi5leHBlY3RPdXRjb21lKHJlc3VsdD1TVUNDRVNTLCBzdGF0
ZV9zdHJpbmc9J2xheW91dC10ZXN0cycpCi0gICAgICAgIHJldHVybiBzZWxmLnJ1blN0ZXAoKQot
CiAgICAgZGVmIHRlc3RfZmFpbHVyZShzZWxmKToKICAgICAgICAgc2VsZi5jb25maWd1cmVTdGVw
KCkKICAgICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgnZnVsbFBsYXRmb3JtJywgJ2lvcy1zaW11bGF0
b3InKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>441671</attachid>
            <date>2021-10-18 19:04:56 -0700</date>
            <delta_ts>2021-10-18 19:07:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231265-20211019030410.patch</filename>
            <type>text/plain</type>
            <size>16294</size>
            <attacher name="Carlos Alberto Lopez Perez">clopez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0NDE1CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNzU4MTJkMThlNzAzYzVhMjFiNzcxMzczNDg1OGM5MTlj
MDU5YjVhYy4uYTI3YmUzNDlkMzEzYzI5NzJjNzYzZGFjMzMwMWRhMjhkNzVhMjIxZCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5
IEBACisyMDIxLTEwLTE4ICBDYXJsb3MgQWxiZXJ0byBMb3BleiBQZXJleiAgPGNsb3BlekBpZ2Fs
aWEuY29tPgorCisgICAgICAgIFtFV1NdIEFsbG93IHRoZSBvcHRpbWl6YXRpb24gb2YgcnVubmlu
ZyBvbmx5IHRoZSBzdWJzZXQgb2YgZmFpbGVkIHRlc3RzIG9uIHJ1bi1sYXlvdXQtdGVzdHMtd2l0
aG91dC1wYXRjaCBhbHNvIGZvciBwYXRjaGVzIG1vZGlmeWluZyB0aGUgVGVzdEV4cGVjdGF0aW9u
cyBmaWxlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjMxMjY1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
T24gcjI3NDQ3NSBhbiBvcHRpbWl6YXRpb24gd2FzIGFwcGxpZWQgdG8gcnVuLWxheW91dC10ZXN0
cy13aXRob3V0LXBhdGNoIHRvIG9ubHkKKyAgICAgICAgcnVuIHRoZSBzdWJzZXQgb2YgdGVzdHMg
dGhhdCBmYWlsZWQgd2l0aCBwYXRjaCBpbnN0ZWFkIG9mIHRoZSB3aG9sZSBsYXlvdXQgdGVzdHMu
CisgICAgICAgIEJ1dCB0aGlzIG9wdGltaXphdGlvbiBoYWQgYSBjb3JuZXIgY2FzZSB3aGVyZSBp
dCBjb3VsZG4ndCBiZSBhcHBsaWVkLgorICAgICAgICBJdCBzZWVtcyB0aGF0IHdlIGNhbiBzdGls
bCBhcHBseSB0aGlzIG9wdGltaXphdGlvbiBpbiB0aGlzIGNvcm5lciBjYXNlIGlmIHdlIHBhc3MK
KyAgICAgICAgJy0tc2tpcHBlZD1hbHdheXMnIHRvIHJ1bi13ZWJraXQtdGVzdHMgc28gdGhhdCBT
a2lwcGVkIHRlc3RzIGFyZSBub3QgcnVuIGV2ZW4gaWYKKyAgICAgICAgdGhvc2UgYXJlIHNwZWNp
ZmllZCBhcyBhcmd1bWVudHMgb24gdGhlIGNvbW1hbmQtbGluZS4KKworICAgICAgICAqIENJU3Vw
cG9ydC9ld3MtYnVpbGQvc3RlcHMucHk6CisgICAgICAgIChSdW5XZWJLaXRUZXN0cy5zZXRMYXlv
dXRUZXN0Q29tbWFuZCk6CisgICAgICAgIChSdW5XZWJLaXRUZXN0c1dpdGhvdXRQYXRjaC5zZXRM
YXlvdXRUZXN0Q29tbWFuZCk6CisgICAgICAgICogQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVwc191
bml0dGVzdC5weToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9ydW5f
d2Via2l0X3Rlc3RzX2ludGVncmF0aW9udGVzdC5weToKKyAgICAgICAgKFJ1blRlc3QudGVzdF9l
d3NfY29ybmVyX2Nhc2VfZmFpbGluZ190ZXN0KToKKyAgICAgICAgKFJ1blRlc3QpOgorICAgICAg
ICAoUnVuVGVzdC50ZXN0X2V3c19jb3JuZXJfY2FzZV9mYWlsaW5nX2RpcmVjdG9yeSk6CisgICAg
ICAgIChSdW5UZXN0LnRlc3RfZXdzX2Nvcm5lcl9jYXNlX3NraXBwZWRfdGVzdCk6CisgICAgICAg
IChSdW5UZXN0LnRlc3RfZXdzX2Nvcm5lcl9jYXNlX3NraXBwZWRfZGlyZWN0b3J5KToKKyAgICAg
ICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvdGVzdC5weToKKwogMjAyMS0xMC0xOCAgSm9obiBQ
YXNjb2UgIDxqX3Bhc2NvZUBhcHBsZS5jb20+CiAKICAgICAgICAgW1dlYkF1dGhuXSBPYnRhaW4g
Y29uc2VudCB0byBjcmVhdGUgbmV3IGNyZWRlbnRpYWwgd2hlbiBwbGF0Zm9ybSBhdXRoZW50aWNh
dG9yIGluIGV4Y2x1ZGVkQ3JlZGVudGlhbHMKZGlmZiAtLWdpdCBhL1Rvb2xzL0NJU3VwcG9ydC9l
d3MtYnVpbGQvc3RlcHMucHkgYi9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzLnB5Cmlu
ZGV4IGM1Y2MyNGVhN2RjZTE3ZWE5OTU1ZjQ3MTdmNWNkY2M2MjBmYzY5NjMuLmU0YjM2NmE4Njg2
MmU3NDAwNDE5NjM1NWJiNDI1MDRlMjU1ZDlkYTUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NJU3VwcG9y
dC9ld3MtYnVpbGQvc3RlcHMucHkKKysrIGIvVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVw
cy5weQpAQCAtMjIxOCwzMSArMjIxOCw2IEBAIGNsYXNzIFJ1bldlYktpdFRlc3RzKHNoZWxsLlRl
c3QpOgogICAgICAgICBpZiBzZWxmLkVOQUJMRV9HVUFSRF9NQUxMT0M6CiAgICAgICAgICAgICBz
ZWxmLnNldENvbW1hbmQoc2VsZi5jb21tYW5kICsgWyctLWd1YXJkLW1hbGxvYyddKQogCi0gICAg
ICAgIGlmIHNlbGYubmFtZSA9PSAncnVuLWxheW91dC10ZXN0cy13aXRob3V0LXBhdGNoJzoKLSAg
ICAgICAgICAgICMgSW4gb3JkZXIgdG8gc3BlZWQgdXAgdGVzdGluZywgb24gdGhlIHN0ZXAgdGhh
dCByZXRyaWVzIHJ1bm5pbmcgdGhlIGxheW91dCB0ZXN0cyB3aXRob3V0IHBhdGNoCi0gICAgICAg
ICAgICAjIG9ubHkgcnVuIHRoZSBzdWJzZXQgb2YgdGVzdHMgdGhhdCBmYWlsZWQgb24gdGhlIHBy
ZXZpb3VzIHN0ZXBzLgotICAgICAgICAgICAgIyBCdXQgb25seSBkbyB0aGF0IGlmIHRoZSBwcmV2
aW91cyBzdGVwcyBkaWRuJ3QgZXhjZWVkIHRoZSB0ZXN0IGZhaWx1cmUgbGltaXQgYW5kIHRoZSBw
YXRjaCBkb2Vzbid0Ci0gICAgICAgICAgICAjIG1vZGlmeSB0aGUgVGVzdEV4cGVjdGF0aW9ucyBm
aWxlcyAodGhlcmUgYXJlIGNvcm5lciBjYXNlcyB3aGVyZSB3ZSBjYW4ndCBndWFyYW50ZWUgdGhl
IGNvcnJlY3RuZXMKLSAgICAgICAgICAgICMgb2YgdGhpcyBvcHRpbWl6YXRpb24gaWYgdGhlIHBh
dGNoIG1vZGlmaWVzIHRoZSBUZXN0RXhwZWN0YXRpb25zIGZpbGVzLCBmb3IgZXhhbXBsZSwgaWYg
dGhlIHBhdGNoCi0gICAgICAgICAgICAjIHJlbW92ZXMgc2tpcHBlZCB0ZXN0cyBidXQgdGhvc2Ug
dGVzdHMgc3RpbGwgZmFpbCkuCi0gICAgICAgICAgICBmaXJzdF9yZXN1bHRzX2RpZF9leGNlZWRf
dGVzdF9mYWlsdXJlX2xpbWl0ID0gc2VsZi5nZXRQcm9wZXJ0eSgnZmlyc3RfcmVzdWx0c19leGNl
ZWRfZmFpbHVyZV9saW1pdCcsIEZhbHNlKQotICAgICAgICAgICAgc2Vjb25kX3Jlc3VsdHNfZGlk
X2V4Y2VlZF90ZXN0X2ZhaWx1cmVfbGltaXQgPSBzZWxmLmdldFByb3BlcnR5KCdzZWNvbmRfcmVz
dWx0c19leGNlZWRfZmFpbHVyZV9saW1pdCcsIEZhbHNlKQotICAgICAgICAgICAgaWYgbm90IGZp
cnN0X3Jlc3VsdHNfZGlkX2V4Y2VlZF90ZXN0X2ZhaWx1cmVfbGltaXQgYW5kIG5vdCBzZWNvbmRf
cmVzdWx0c19kaWRfZXhjZWVkX3Rlc3RfZmFpbHVyZV9saW1pdDoKLSAgICAgICAgICAgICAgICBw
YXRjaF9tb2RpZmllc19leHBlY3RhdGlvbl9maWxlcyA9IEZhbHNlCi0gICAgICAgICAgICAgICAg
cGF0Y2ggPSBzZWxmLl9nZXRfcGF0Y2goKQotICAgICAgICAgICAgICAgIGlmIHBhdGNoOgotICAg
ICAgICAgICAgICAgICAgICBmb3IgbGluZSBpbiBwYXRjaC5zcGxpdGxpbmVzKCk6Ci0gICAgICAg
ICAgICAgICAgICAgICAgICBsaW5lID0gbGluZS5zdHJpcCgpCi0gICAgICAgICAgICAgICAgICAg
ICAgICAjIHBhdGNoIGlzIHN0b3JlZCBieSBidWlsZGJvdCBhcyBieXRlczogaHR0cHM6Ly9naXRo
dWIuY29tL2J1aWxkYm90L2J1aWxkYm90L2lzc3Vlcy81ODEyI2lzc3VlY29tbWVudC03OTAxNzU5
NzkKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIChiJ0xheW91dFRlc3RzLycgaW4gbGluZSBh
bmQgYidUZXN0RXhwZWN0YXRpb25zJyBpbiBsaW5lKSBhbmQgKGxpbmUuc3RhcnRzd2l0aChiJy0t
LScpIG9yIGxpbmUuc3RhcnRzd2l0aChiJysrKycpKToKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBwYXRjaF9tb2RpZmllc19leHBlY3RhdGlvbl9maWxlcyA9IFRydWUKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBicmVhawotICAgICAgICAgICAgICAgIGlmIG5vdCBwYXRjaF9tb2Rp
Zmllc19leHBlY3RhdGlvbl9maWxlczoKLSAgICAgICAgICAgICAgICAgICAgZmlyc3RfcmVzdWx0
c19mYWlsaW5nX3Rlc3RzID0gc2V0KHNlbGYuZ2V0UHJvcGVydHkoJ2ZpcnN0X3J1bl9mYWlsdXJl
cycsIHNldCgpKSkKLSAgICAgICAgICAgICAgICAgICAgc2Vjb25kX3Jlc3VsdHNfZmFpbGluZ190
ZXN0cyA9IHNldChzZWxmLmdldFByb3BlcnR5KCdzZWNvbmRfcnVuX2ZhaWx1cmVzJywgc2V0KCkp
KQotICAgICAgICAgICAgICAgICAgICBsaXN0X3JldHJ5X3Rlc3RzID0gc29ydGVkKGZpcnN0X3Jl
c3VsdHNfZmFpbGluZ190ZXN0cy51bmlvbihzZWNvbmRfcmVzdWx0c19mYWlsaW5nX3Rlc3RzKSkK
LSAgICAgICAgICAgICAgICAgICAgc2VsZi5zZXRDb21tYW5kKHNlbGYuY29tbWFuZCArIGxpc3Rf
cmV0cnlfdGVzdHMpCi0KICAgICBkZWYgc3RhcnQoc2VsZik6CiAgICAgICAgIHNlbGYubG9nX29i
c2VydmVyID0gbG9nb2JzZXJ2ZXIuQnVmZmVyTG9nT2JzZXJ2ZXIod2FudFN0ZGVycj1UcnVlKQog
ICAgICAgICBzZWxmLmFkZExvZ09ic2VydmVyKCdzdGRpbycsIHNlbGYubG9nX29ic2VydmVyKQpA
QCAtMjQ5OCw2ICsyNDczLDI1IEBAIGNsYXNzIFJ1bldlYktpdFRlc3RzV2l0aG91dFBhdGNoKFJ1
bldlYktpdFRlc3RzKToKICAgICAgICAgICAgICAgICBzZWxmLl9hZGRUb0xvZyhzZWxmLnRlc3Rf
ZmFpbHVyZXNfbG9nX25hbWUsICdcbicuam9pbihjbGVhbl90cmVlX3Jlc3VsdHMuZmFpbGluZ190
ZXN0cykpCiAgICAgICAgIHNlbGYuX3BhcnNlUnVuV2ViS2l0VGVzdHNPdXRwdXQobG9nVGV4dCkK
IAorICAgIGRlZiBzZXRMYXlvdXRUZXN0Q29tbWFuZChzZWxmKToKKyAgICAgICAgc3VwZXIoUnVu
V2ViS2l0VGVzdHNXaXRob3V0UGF0Y2gsIHNlbGYpLnNldExheW91dFRlc3RDb21tYW5kKCkKKyAg
ICAgICAgIyBJbiBvcmRlciB0byBzcGVlZCB1cCB0ZXN0aW5nLCBvbiB0aGUgc3RlcCB0aGF0IHJl
dHJpZXMgcnVubmluZyB0aGUgbGF5b3V0IHRlc3RzIHdpdGhvdXQgcGF0Y2gKKyAgICAgICAgIyBv
bmx5IHJ1biB0aGUgc3Vic2V0IG9mIHRlc3RzIHRoYXQgZmFpbGVkIG9uIHRoZSBwcmV2aW91cyBz
dGVwcy4KKyAgICAgICAgIyBCdXQgb25seSBkbyB0aGF0IGlmIHRoZSBwcmV2aW91cyBzdGVwcyBk
aWRuJ3QgZXhjZWVkIHRoZSB0ZXN0IGZhaWx1cmUgbGltaXQKKyAgICAgICAgIyBBbHNvIHBhc3Mg
Jy0tc2tpcHBlZD1hbHdheXMnIHRvIGF2b2lkIHJ1bm5pbmcgYSB0ZXN0IHRoYXQgaXMgc2tpcHBl
ZCBvbiB0aGUgY2xlYW4gdHJlZSBhbmQgdGhhdAorICAgICAgICAjIHRoZSBwYXRjaCByZW1vdmVk
IGZyb20gdGhlIFRlc3RFeHBlY3RhdGlvbnMgZmlsZSBtZWFud2hpbGUgaXQgc3RpbGwgZmFpbHMg
d2l0aCB0aGUgcGF0Y2ggKHNvCisgICAgICAgICMgaXQgaXMgcGFzc2VkIGFzIGFuIGFyZ3VtZW50
IG9uIHRoZSBjb21tYW5kLWxpbmUpCisgICAgICAgICMgVGhlIGZsYWcgJy0tc2tpcC1mYWlsaW5n
LXRlc3RzJyB0aGF0IGlzIHBhc3NlZCBieSBkZWZhdWx0IChpbiBjb21iaW5hdGlvbiB3aXRoICct
LXNraXBwZWQ9YWx3YXlzJykKKyAgICAgICAgIyBhdm9pZHMgcnVubmluZyB0ZXN0cyBtYXJrZWQg
YXMgZmFpbGluZyBvbiB0aGUgRXhwZWN0YXRpb24gZmlsZXMgZXZlbiB3aGVuIHRob3NlIGFyZSBw
YXNzZWQgYXMgYXJndW1lbnRzLgorICAgICAgICBmaXJzdF9yZXN1bHRzX2RpZF9leGNlZWRfdGVz
dF9mYWlsdXJlX2xpbWl0ID0gc2VsZi5nZXRQcm9wZXJ0eSgnZmlyc3RfcmVzdWx0c19leGNlZWRf
ZmFpbHVyZV9saW1pdCcsIEZhbHNlKQorICAgICAgICBzZWNvbmRfcmVzdWx0c19kaWRfZXhjZWVk
X3Rlc3RfZmFpbHVyZV9saW1pdCA9IHNlbGYuZ2V0UHJvcGVydHkoJ3NlY29uZF9yZXN1bHRzX2V4
Y2VlZF9mYWlsdXJlX2xpbWl0JywgRmFsc2UpCisgICAgICAgIGlmIG5vdCBmaXJzdF9yZXN1bHRz
X2RpZF9leGNlZWRfdGVzdF9mYWlsdXJlX2xpbWl0IGFuZCBub3Qgc2Vjb25kX3Jlc3VsdHNfZGlk
X2V4Y2VlZF90ZXN0X2ZhaWx1cmVfbGltaXQ6CisgICAgICAgICAgICBmaXJzdF9yZXN1bHRzX2Zh
aWxpbmdfdGVzdHMgPSBzZXQoc2VsZi5nZXRQcm9wZXJ0eSgnZmlyc3RfcnVuX2ZhaWx1cmVzJywg
c2V0KCkpKQorICAgICAgICAgICAgc2Vjb25kX3Jlc3VsdHNfZmFpbGluZ190ZXN0cyA9IHNldChz
ZWxmLmdldFByb3BlcnR5KCdzZWNvbmRfcnVuX2ZhaWx1cmVzJywgc2V0KCkpKQorICAgICAgICAg
ICAgbGlzdF9mYWlsZWRfdGVzdHNfd2l0aF9wYXRjaCA9IHNvcnRlZChmaXJzdF9yZXN1bHRzX2Zh
aWxpbmdfdGVzdHMudW5pb24oc2Vjb25kX3Jlc3VsdHNfZmFpbGluZ190ZXN0cykpCisgICAgICAg
ICAgICBpZiBsaXN0X2ZhaWxlZF90ZXN0c193aXRoX3BhdGNoOgorICAgICAgICAgICAgICAgIHNl
bGYuc2V0Q29tbWFuZChzZWxmLmNvbW1hbmQgKyBbJy0tc2tpcHBlZD1hbHdheXMnXSArIGxpc3Rf
ZmFpbGVkX3Rlc3RzX3dpdGhfcGF0Y2gpCisKIAogY2xhc3MgQW5hbHl6ZUxheW91dFRlc3RzUmVz
dWx0cyhidWlsZHN0ZXAuQnVpbGRTdGVwLCBCdWd6aWxsYU1peGluKToKICAgICBuYW1lID0gJ2Fu
YWx5emUtbGF5b3V0LXRlc3RzLXJlc3VsdHMnCmRpZmYgLS1naXQgYS9Ub29scy9DSVN1cHBvcnQv
ZXdzLWJ1aWxkL3N0ZXBzX3VuaXR0ZXN0LnB5IGIvVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9z
dGVwc191bml0dGVzdC5weQppbmRleCBjOGMyNjJlMTU0MWQ0YmY5YTFjNzU5NTljZTNmY2NiZDg2
MTUxZDBiLi45MzRkZTQ4Y2Q0ODAxZjM5YTNhNDNhZGQ0NzQ5YWUzN2Q1ZWZjMWZjIDEwMDY0NAot
LS0gYS9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzX3VuaXR0ZXN0LnB5CisrKyBiL1Rv
b2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHNfdW5pdHRlc3QucHkKQEAgLTIxNzMsNiArMjE3
Myw3IEBAIGNsYXNzIFRlc3RSdW5XZWJLaXRUZXN0c1dpdGhvdXRQYXRjaChCdWlsZFN0ZXBNaXhp
bkFkZGl0aW9ucywgdW5pdHRlc3QuVGVzdENhc2UpCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAnLS1kZWJ1Zy1yd3QtbG9nZ2luZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAnLS1leGl0LWFmdGVyLW4tZmFpbHVyZXMnLCAnMzAnLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgJy0tc2tpcC1mYWlsaW5nLXRlc3RzJywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICctLXNraXBwZWQ9YWx3YXlzJywKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICd0ZXN0MScsICd0ZXN0MicsICd0ZXN0MycsICd0ZXN0NCddLAogICAg
ICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgKyAwLApAQCAtMjIwOCw2MyArMjIw
OSw2IEBAIGNsYXNzIFRlc3RSdW5XZWJLaXRUZXN0c1dpdGhvdXRQYXRjaChCdWlsZFN0ZXBNaXhp
bkFkZGl0aW9ucywgdW5pdHRlc3QuVGVzdENhc2UpCiAgICAgICAgIHNlbGYuZXhwZWN0T3V0Y29t
ZShyZXN1bHQ9U1VDQ0VTUywgc3RhdGVfc3RyaW5nPSdsYXlvdXQtdGVzdHMnKQogICAgICAgICBy
ZXR1cm4gc2VsZi5ydW5TdGVwKCkKIAotICAgIGRlZiB0ZXN0X3N1Y2Nlc3NfcmV0cnlfb25seV9z
dWJzZXRfcGF0Y2hfbm9fbW9kaWZpZXNfZXhwZWN0YXRpb25zKHNlbGYpOgotICAgICAgICBzZWxm
LmNvbmZpZ3VyZVN0ZXAoKQotICAgICAgICBzZWxmLnNldFByb3BlcnR5KCdmdWxsUGxhdGZvcm0n
LCAnaW9zLXNpbXVsYXRvcicpCi0gICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ2NvbmZpZ3VyYXRp
b24nLCAncmVsZWFzZScpCi0gICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ2ZpcnN0X3J1bl9mYWls
dXJlcycsIFsndGVzdDEnLCAndGVzdDInLCAndGVzdDMnXSkKLSAgICAgICAgc2VsZi5zZXRQcm9w
ZXJ0eSgnc2Vjb25kX3J1bl9mYWlsdXJlcycsIFsndGVzdDEnLCAndGVzdDMnLCAndGVzdDQnXSkK
LSAgICAgICAgUnVuV2ViS2l0VGVzdHMuX2dldF9wYXRjaCA9IGxhbWJkYSB4OiBiJysrKyBUb29s
cy9DaGFuZ2VMb2dcbisrKyBUb29scy9XZWJLaXRUZXN0UnVubmVyL09wdGlvbnMuY3BwXG4nCi0g
ICAgICAgIHNlbGYuZXhwZWN0UmVtb3RlQ29tbWFuZHMoCi0gICAgICAgICAgICBFeHBlY3RTaGVs
bCh3b3JrZGlyPSd3a2RpcicsCi0gICAgICAgICAgICAgICAgICAgICAgICBsb2dmaWxlcz17J2pz
b24nOiBzZWxmLmpzb25GaWxlTmFtZX0sCi0gICAgICAgICAgICAgICAgICAgICAgICBsb2dFbnZp
cm9uPUZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgY29tbWFuZD1bJ3B5dGhvbicsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVG9vbHMvU2NyaXB0cy9ydW4td2Via2l0
LXRlc3RzJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICctLW5vLWJ1aWxkJywK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICctLW5vLXNob3ctcmVzdWx0cycsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLS1uby1uZXctdGVzdC1yZXN1bHRzJywK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICctLWNsb2JiZXItb2xkLXJlc3VsdHMn
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0tcmVsZWFzZScsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAnLS1yZXN1bHRzLWRpcmVjdG9yeScsICdsYXlvdXQt
dGVzdC1yZXN1bHRzJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICctLWRlYnVn
LXJ3dC1sb2dnaW5nJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICctLWV4aXQt
YWZ0ZXItbi1mYWlsdXJlcycsICczMCcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAnLS1za2lwLWZhaWxpbmctdGVzdHMnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgJ3Rlc3QxJywgJ3Rlc3QyJywgJ3Rlc3QzJywgJ3Rlc3Q0J10sCi0gICAgICAgICAgICAgICAg
ICAgICAgICApCi0gICAgICAgICAgICArIDAsCi0gICAgICAgICkKLSAgICAgICAgc2VsZi5leHBl
Y3RPdXRjb21lKHJlc3VsdD1TVUNDRVNTLCBzdGF0ZV9zdHJpbmc9J2xheW91dC10ZXN0cycpCi0g
ICAgICAgIHJldHVybiBzZWxmLnJ1blN0ZXAoKQotCi0gICAgZGVmIHRlc3Rfc3VjY2Vzc19yZXRy
eV9vbmx5X3N1YnNldF9wYXRjaF9tb2RpZmllc19leHBlY3RhdGlvbnMoc2VsZik6Ci0gICAgICAg
IHNlbGYuY29uZmlndXJlU3RlcCgpCi0gICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ2Z1bGxQbGF0
Zm9ybScsICdpb3Mtc2ltdWxhdG9yJykKLSAgICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgnY29uZmln
dXJhdGlvbicsICdyZWxlYXNlJykKLSAgICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgnZmlyc3RfcnVu
X2ZhaWx1cmVzJywgWyd0ZXN0MScsICd0ZXN0MicsICd0ZXN0MyddKQotICAgICAgICBzZWxmLnNl
dFByb3BlcnR5KCdzZWNvbmRfcnVuX2ZhaWx1cmVzJywgWyd0ZXN0MScsICd0ZXN0MycsICd0ZXN0
NCddKQotICAgICAgICBSdW5XZWJLaXRUZXN0cy5fZ2V0X3BhdGNoID0gbGFtYmRhIHg6IGInKysr
IExheW91dFRlc3RzL0NoYW5nZWxvZ1xuKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0
RXhwZWN0YXRpb25zXG4nCi0gICAgICAgIHNlbGYuZXhwZWN0UmVtb3RlQ29tbWFuZHMoCi0gICAg
ICAgICAgICBFeHBlY3RTaGVsbCh3b3JrZGlyPSd3a2RpcicsCi0gICAgICAgICAgICAgICAgICAg
ICAgICBsb2dmaWxlcz17J2pzb24nOiBzZWxmLmpzb25GaWxlTmFtZX0sCi0gICAgICAgICAgICAg
ICAgICAgICAgICBsb2dFbnZpcm9uPUZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgY29t
bWFuZD1bJ3B5dGhvbicsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVG9vbHMv
U2NyaXB0cy9ydW4td2Via2l0LXRlc3RzJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICctLW5vLWJ1aWxkJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICctLW5v
LXNob3ctcmVzdWx0cycsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLS1uby1u
ZXctdGVzdC1yZXN1bHRzJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICctLWNs
b2JiZXItb2xkLXJlc3VsdHMnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0t
cmVsZWFzZScsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLS1yZXN1bHRzLWRp
cmVjdG9yeScsICdsYXlvdXQtdGVzdC1yZXN1bHRzJywKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICctLWRlYnVnLXJ3dC1sb2dnaW5nJywKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICctLWV4aXQtYWZ0ZXItbi1mYWlsdXJlcycsICczMCcsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAnLS1za2lwLWZhaWxpbmctdGVzdHMnXSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICkKLSAgICAgICAgICAgICsgMCwKLSAgICAgICAgKQotICAgICAgICBzZWxm
LmV4cGVjdE91dGNvbWUocmVzdWx0PVNVQ0NFU1MsIHN0YXRlX3N0cmluZz0nbGF5b3V0LXRlc3Rz
JykKLSAgICAgICAgcmV0dXJuIHNlbGYucnVuU3RlcCgpCi0KICAgICBkZWYgdGVzdF9mYWlsdXJl
KHNlbGYpOgogICAgICAgICBzZWxmLmNvbmZpZ3VyZVN0ZXAoKQogICAgICAgICBzZWxmLnNldFBy
b3BlcnR5KCdmdWxsUGxhdGZvcm0nLCAnaW9zLXNpbXVsYXRvcicpCmRpZmYgLS1naXQgYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9ydW5fd2Via2l0X3Rlc3RzX2ludGVncmF0
aW9udGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJr
aXRfdGVzdHNfaW50ZWdyYXRpb250ZXN0LnB5CmluZGV4IGU2N2VjZTUwN2Q0MGEzOTgwNzlmMzIz
ZWU3YTU3Y2VmOTZmY2I0NDcuLmYxMWNhNzE4ZjRkM2FkMTUyMTlkOWNhMDljOWRkNjY2MWQxMGNl
MzUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93
ZWJraXRfdGVzdHNfaW50ZWdyYXRpb250ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHNfaW50ZWdyYXRpb250ZXN0LnB5CkBAIC0z
NDksNiArMzQ5LDM5IEBAIGNsYXNzIFJ1blRlc3QodW5pdHRlc3QuVGVzdENhc2UsIFN0cmVhbVRl
c3RpbmdNaXhpbik6CiAgICAgICAgICMgTm93IGNoZWNrIHRoYXQgd2UgZG9uJ3QgcnVuIGFueXRo
aW5nLgogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGdldF90ZXN0c19ydW4oWyctLXNraXBwZWQ9
YWx3YXlzJywgJ3Bhc3Nlcy9za2lwcGVkL3NraXAuaHRtbCddKSwgW10pCiAKKyAgICBkZWYgdGVz
dF9ld3NfY29ybmVyX2Nhc2VfZmFpbGluZ190ZXN0KHNlbGYpOgorICAgICAgICAjIFdlIHNob3Vs
ZCBza2lwIHJ1bm5pbmcgdGVzdHMgbWFya2VkIGFzIGZmYWlsdXJlcyAob3IgZmxha2llcykgd2hl
biBwYXNzaW5nICctLXNraXAtZmFpbGluZy10ZXN0cycKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVh
bChnZXRfdGVzdHNfcnVuKFsnLS1za2lwLWZhaWxpbmctdGVzdHMnLCAnZmFpbHVyZXMvZXhwZWN0
ZWQnXSksIFtdKQorICAgICAgICAjIEJ1dCBpZiB3ZSBzcGVjaWZ5IHRoZSBuYW1lIG9mIHRoZSBp
bmRpdmlkdWFsIHRlc3RzLCB0aGVuIHRob3NlIHRlc3RzIHNob3VsZCBydW4KKyAgICAgICAgbGlz
dF9vZl90ZXN0c19mYWlsaW5nID0gWydmYWlsdXJlcy9leHBlY3RlZC90aW1lb3V0Lmh0bWwnLCAn
ZmFpbHVyZXMvZXhwZWN0ZWQvdGV4dC5odG1sJywgJ2ZhaWx1cmVzL2V4cGVjdGVkL2NyYXNoLmh0
bWwnLCAnZmFpbHVyZXMvZXhwZWN0ZWQvbWlzc2luZ19pbWFnZS5odG1sJ10KKyAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbChnZXRfdGVzdHNfcnVuKFsnLS1za2lwLWZhaWxpbmctdGVzdHMnXSArIGxp
c3Rfb2ZfdGVzdHNfZmFpbGluZyksIGxpc3Rfb2ZfdGVzdHNfZmFpbGluZykKKyAgICAgICAgIyBV
bmxlc3Mgd2Ugc3BlY2lmeSBhbHNvICctLXNraXBwZWQ9YWx3YXlzJywgdGhlbiB0aGV5IHNob3Vs
ZCBiZSBza2lwcGVkIGV2ZW4gd2hlbiB3ZSBsaXN0IHRoZW0gaW5kaXZpZHVhbGx5IG9uIHRoZSBj
b21tYW5kIGxpbmUKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChnZXRfdGVzdHNfcnVuKFsnLS1z
a2lwLWZhaWxpbmctdGVzdHMnLCAnLS1za2lwcGVkPWFsd2F5cyddICsgbGlzdF9vZl90ZXN0c19m
YWlsaW5nKSwgW10pCisKKyAgICBkZWYgdGVzdF9ld3NfY29ybmVyX2Nhc2VfZmFpbGluZ19kaXJl
Y3Rvcnkoc2VsZik6CisgICAgICAgICMgV2hlbiBhIHdob2xlIGRpcmVjdG9yeSBpcyBpcyBtYXJr
ZWQgYXMgZmFpbGluZyAob3IgZmxha3kpLCB0aGVuIHRoZSB0ZXN0cyBpbnNpZGUgc2hvdWxkIG5v
dCBydW4gaWYgd2Ugc3BlY2lmeSB0aGUgbmFtZSBvZiB0aGUgZGlyZWN0b3J5IGFuZCB3ZSBwYXNz
ICctLXNraXAtZmFpbGluZy10ZXN0cycKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChnZXRfdGVz
dHNfcnVuKFsnLS1za2lwLWZhaWxpbmctdGVzdHMnLCAnY29ybmVyLWNhc2VzL2V3cy9kaXJlY3Rv
cnktZmxha3knXSksIFtdKQorICAgICAgICAjIEJ1dCBpZiB3ZSBzcGVjaWZ5IG9uIHRoZSBjb21t
YW5kLWxpbmUgdGhlIG5hbWUgb2YgaW5kaXZpZHVhbCB0ZXN0cyBpbnNpZGUgdGhhdCBkaXJlY3Rv
cnkgdGhlIHRlc3RzIHNob3VsZCBydW4gKGV2ZW4gd2l0aCAnLS1za2lwLWZhaWxpbmctdGVzdHMn
KQorICAgICAgICBsaXN0X29mX3Rlc3RzX2ZhaWxpbmcgPSBbJ2Nvcm5lci1jYXNlcy9ld3MvZGly
ZWN0b3J5LXNraXBwZWQvZmFpbHVyZS5odG1sJywgJ2Nvcm5lci1jYXNlcy9ld3MvZGlyZWN0b3J5
LXNraXBwZWQvdGltZW91dC5odG1sJ10KKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChnZXRfdGVz
dHNfcnVuKFsnLS1uby1yZXRyeS1mYWlsdXJlcycsICctLXNraXAtZmFpbGluZy10ZXN0cyddICsg
bGlzdF9vZl90ZXN0c19mYWlsaW5nKSwgbGlzdF9vZl90ZXN0c19mYWlsaW5nKQorICAgICAgICAj
IFVubGVzcyB3ZSBzcGVjaWZ5IGFsc28gJy0tc2tpcHBlZD1hbHdheXMnIChpbiBjb21iaW5hdGlv
biB3aXRoICctLXNraXAtZmFpbGluZy10ZXN0cycpLCB0aGVuIHRoZXkgc2hvdWxkIGJlIHNraXBw
ZWQgZXZlbiB3aGVuIHdlIGxpc3QgdGhlbSBpbmRpdmlkdWFsbHkgb24gdGhlIGNvbW1hbmQgbGlu
ZQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGdldF90ZXN0c19ydW4oWyctLW5vLXJldHJ5LWZh
aWx1cmVzJywgICctLXNraXAtZmFpbGluZy10ZXN0cycsICctLXNraXBwZWQ9YWx3YXlzJ10gKyBs
aXN0X29mX3Rlc3RzX2ZhaWxpbmcpLCBbXSkKKworICAgIGRlZiB0ZXN0X2V3c19jb3JuZXJfY2Fz
ZV9za2lwcGVkX3Rlc3Qoc2VsZik6CisgICAgICAgICMgV2hlbiB3ZSBzcGVjaWZ5IG9uIHRoZSBj
b21tYW5kIGxpbmUgdGhlIG5hbWUgb2YgYSB0ZXN0IHNraXBwZWQgdGhpcyB0ZXN0IHNob3VsZCBy
dW4KKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChnZXRfdGVzdHNfcnVuKFsncGFzc2VzL3NraXBw
ZWQvc2tpcC5odG1sJ10pLCBbJ3Bhc3Nlcy9za2lwcGVkL3NraXAuaHRtbCddKQorICAgICAgICAj
IFVubGVzcyB3ZSBzcGVjaWZ5IGFsc28gJy0tc2tpcHBlZD1hbHdheXMnLCB0aGVuIGl0IHNob3Vs
ZCBiZSBza2lwcGVkIGV2ZW4gd2hlbiB3ZSBsaXN0IGl0IG9uIHRoZSBjb21tYW5kIGxpbmUKKyAg
ICAgICAgc2VsZi5hc3NlcnRFcXVhbChnZXRfdGVzdHNfcnVuKFsnLS1za2lwcGVkPWFsd2F5cycs
ICdwYXNzZXMvc2tpcHBlZC9za2lwLmh0bWwnXSksIFtdKQorCisgICAgZGVmIHRlc3RfZXdzX2Nv
cm5lcl9jYXNlX3NraXBwZWRfZGlyZWN0b3J5KHNlbGYpOgorICAgICAgICAjIFdoZW4gYSB3aG9s
ZSBkaXJlY3RvcnkgaXMgc2tpcHBlZCwgdGhlbiB0aGUgdGVzdHMgaW5zaWRlIHNob3VsZCBub3Qg
cnVuIGlmIHdlIHNwZWNpZnkgdGhlIG5hbWUgb2YgdGhlIGRpcmVjdG9yeQorICAgICAgICBzZWxm
LmFzc2VydEVxdWFsKGdldF90ZXN0c19ydW4oWydjb3JuZXItY2FzZXMvZXdzL2RpcmVjdG9yeS1z
a2lwcGVkJ10pLCBbXSkKKyAgICAgICAgIyBCdXQgaWYgd2Ugc3BlY2lmeSBvbiB0aGUgY29tbWFu
ZC1saW5lIHRoZSBuYW1lIG9mIGluZGl2aWR1YWwgdGVzdHMgaW5zaWRlIHRoYXQgZGlyZWN0b3J5
IHRoZSB0ZXN0cyBzaG91bGQgcnVuCisgICAgICAgIGxpc3Rfb2ZfdGVzdHNfZmFpbGluZyA9IFsn
Y29ybmVyLWNhc2VzL2V3cy9kaXJlY3Rvcnktc2tpcHBlZC9mYWlsdXJlLmh0bWwnLCAnY29ybmVy
LWNhc2VzL2V3cy9kaXJlY3Rvcnktc2tpcHBlZC90aW1lb3V0Lmh0bWwnXQorICAgICAgICBzZWxm
LmFzc2VydEVxdWFsKGdldF90ZXN0c19ydW4oWyctLW5vLXJldHJ5LWZhaWx1cmVzJ10gKyBsaXN0
X29mX3Rlc3RzX2ZhaWxpbmcpLCBsaXN0X29mX3Rlc3RzX2ZhaWxpbmcpCisgICAgICAgICMgVW5s
ZXNzIHdlIHNwZWNpZnkgYWxzbyAnLS1za2lwcGVkPWFsd2F5cycsIHRoZW4gdGhleSBzaG91bGQg
YmUgc2tpcHBlZCBldmVuIHdoZW4gd2UgbGlzdCB0aGVtIGluZGl2aWR1YWxseSBvbiB0aGUgY29t
bWFuZCBsaW5lCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZ2V0X3Rlc3RzX3J1bihbJy0tbm8t
cmV0cnktZmFpbHVyZXMnLCAnLS1za2lwcGVkPWFsd2F5cyddICsgbGlzdF9vZl90ZXN0c19mYWls
aW5nKSwgW10pCisKICAgICBkZWYgdGVzdF9pdGVyYXRpb25zKHNlbGYpOgogICAgICAgICB0ZXN0
c190b19ydW4gPSBbJ3Bhc3Nlcy9pbWFnZS5odG1sJywgJ3Bhc3Nlcy90ZXh0Lmh0bWwnXQogICAg
ICAgICB0ZXN0c19ydW4gPSBnZXRfdGVzdHNfcnVuKFsnLS1pdGVyYXRpb25zJywgJzInXSArIHRl
c3RzX3RvX3J1bikKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC90ZXN0
LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3Rlc3QucHkKaW5kZXggZjJjZTg3M2Vh
MTM3OGExYWIzMTMzMjJjM2RiOTQwY2E5YmI4OWVlZS4uOGIzMWE0ZGNiOGNkOGEwMGUzMDIxMjU3
NTM0ZGQ5OTA2YWQyOTNhYSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0
L3Rlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3Rlc3QucHkKQEAgLTEw
NSw4ICsxMDUsOCBAQCBjbGFzcyBUZXN0TGlzdChvYmplY3QpOgogIwogIyBUaGVzZSBudW1iZXJz
IG1heSBuZWVkIHRvIGJlIHVwZGF0ZWQgd2hlbmV2ZXIgd2UgYWRkIG9yIGRlbGV0ZSB0ZXN0cy4K
ICMKLVRPVEFMX1RFU1RTID0gNjkKLVRPVEFMX1NLSVBTID0gOQorVE9UQUxfVEVTVFMgPSA3Mwor
VE9UQUxfU0tJUFMgPSAxMQogVE9UQUxfUkVUUklFUyA9IDExCiAKIFVORVhQRUNURURfUEFTU0VT
ID0gNgpAQCAtMjU3LDYgKzI1NywxMSBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHgzNAogICAg
ICAgICBhY3R1YWxfaW1hZ2U9J2ltYWdlX25vdF9pbl9waXhlbGRpci1wbmd0RVh0Y2hlY2tzdW1c
eDAwY2hlY2tzdW1fZmFpbCcsCiAgICAgICAgIGV4cGVjdGVkX2ltYWdlPSdpbWFnZV9ub3RfaW5f
cGl4ZWxkaXItcG5ndEVYdGNoZWNrc3VtXHgwMGNoZWNrc3VtLXBuZycpCiAKKyAgICB0ZXN0cy5h
ZGQoJ2Nvcm5lci1jYXNlcy9ld3MvZGlyZWN0b3J5LXNraXBwZWQvZmFpbHVyZS5odG1sJywgZXhw
ZWN0ZWRfdGV4dD0nb2stdHh0JywgYWN0dWFsX3RleHQ9J3RleHRfZmFpbC10eHQnKQorICAgIHRl
c3RzLmFkZCgnY29ybmVyLWNhc2VzL2V3cy9kaXJlY3Rvcnktc2tpcHBlZC90aW1lb3V0Lmh0bWwn
LCB0aW1lb3V0PVRydWUpCisgICAgdGVzdHMuYWRkKCdjb3JuZXItY2FzZXMvZXdzL2RpcmVjdG9y
eS1mbGFreS9mYWlsdXJlLmh0bWwnLCBleHBlY3RlZF90ZXh0PSdvay10eHQnLCBhY3R1YWxfdGV4
dD0ndGV4dF9mYWlsLXR4dCcpCisgICAgdGVzdHMuYWRkKCdjb3JuZXItY2FzZXMvZXdzL2RpcmVj
dG9yeS1mbGFreS90aW1lb3V0Lmh0bWwnLCB0aW1lb3V0PVRydWUpCisKICAgICByZXR1cm4gdGVz
dHMKIAogCkBAIC0zMDEsNiArMzA2LDggQEAgQnVnKHRlc3QpIGZhaWx1cmVzL2V4cGVjdGVkL2tl
eWJvYXJkLmh0bWwgWyBXb250Rml4IF0KIEJ1Zyh0ZXN0KSBmYWlsdXJlcy9leHBlY3RlZC9leGNl
cHRpb24uaHRtbCBbIFdvbnRGaXggXQogQnVnKHRlc3QpIGZhaWx1cmVzL3VuZXhwZWN0ZWQvcGFz
cy5odG1sIFsgRmFpbHVyZSBdCiBCdWcodGVzdCkgcGFzc2VzL3NraXBwZWQvc2tpcC5odG1sIFsg
U2tpcCBdCitCdWcodGVzdCkgY29ybmVyLWNhc2VzL2V3cy9kaXJlY3Rvcnktc2tpcHBlZCBbIFNr
aXAgXQorQnVnKHRlc3QpIGNvcm5lci1jYXNlcy9ld3MvZGlyZWN0b3J5LWZsYWt5IFsgUGFzcyBU
aW1lb3V0IEZhaWx1cmUgXQogIiIiKQogCiAgICAgIyBGSVhNRTogVGhpcyB0ZXN0IHdhcyBvbmx5
IGJlaW5nIGlnbm9yZWQgYmVjYXVzZSBvZiBtaXNzaW5nIGEgbGVhZGluZyAnLycuCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>441672</attachid>
            <date>2021-10-18 19:07:59 -0700</date>
            <delta_ts>2021-10-19 12:46:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231265-20211019030713.patch</filename>
            <type>text/plain</type>
            <size>16293</size>
            <attacher name="Carlos Alberto Lopez Perez">clopez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0NDE1CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNzU4MTJkMThlNzAzYzVhMjFiNzcxMzczNDg1OGM5MTlj
MDU5YjVhYy4uYTI3YmUzNDlkMzEzYzI5NzJjNzYzZGFjMzMwMWRhMjhkNzVhMjIxZCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5
IEBACisyMDIxLTEwLTE4ICBDYXJsb3MgQWxiZXJ0byBMb3BleiBQZXJleiAgPGNsb3BlekBpZ2Fs
aWEuY29tPgorCisgICAgICAgIFtFV1NdIEFsbG93IHRoZSBvcHRpbWl6YXRpb24gb2YgcnVubmlu
ZyBvbmx5IHRoZSBzdWJzZXQgb2YgZmFpbGVkIHRlc3RzIG9uIHJ1bi1sYXlvdXQtdGVzdHMtd2l0
aG91dC1wYXRjaCBhbHNvIGZvciBwYXRjaGVzIG1vZGlmeWluZyB0aGUgVGVzdEV4cGVjdGF0aW9u
cyBmaWxlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjMxMjY1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
T24gcjI3NDQ3NSBhbiBvcHRpbWl6YXRpb24gd2FzIGFwcGxpZWQgdG8gcnVuLWxheW91dC10ZXN0
cy13aXRob3V0LXBhdGNoIHRvIG9ubHkKKyAgICAgICAgcnVuIHRoZSBzdWJzZXQgb2YgdGVzdHMg
dGhhdCBmYWlsZWQgd2l0aCBwYXRjaCBpbnN0ZWFkIG9mIHRoZSB3aG9sZSBsYXlvdXQgdGVzdHMu
CisgICAgICAgIEJ1dCB0aGlzIG9wdGltaXphdGlvbiBoYWQgYSBjb3JuZXIgY2FzZSB3aGVyZSBp
dCBjb3VsZG4ndCBiZSBhcHBsaWVkLgorICAgICAgICBJdCBzZWVtcyB0aGF0IHdlIGNhbiBzdGls
bCBhcHBseSB0aGlzIG9wdGltaXphdGlvbiBpbiB0aGlzIGNvcm5lciBjYXNlIGlmIHdlIHBhc3MK
KyAgICAgICAgJy0tc2tpcHBlZD1hbHdheXMnIHRvIHJ1bi13ZWJraXQtdGVzdHMgc28gdGhhdCBT
a2lwcGVkIHRlc3RzIGFyZSBub3QgcnVuIGV2ZW4gaWYKKyAgICAgICAgdGhvc2UgYXJlIHNwZWNp
ZmllZCBhcyBhcmd1bWVudHMgb24gdGhlIGNvbW1hbmQtbGluZS4KKworICAgICAgICAqIENJU3Vw
cG9ydC9ld3MtYnVpbGQvc3RlcHMucHk6CisgICAgICAgIChSdW5XZWJLaXRUZXN0cy5zZXRMYXlv
dXRUZXN0Q29tbWFuZCk6CisgICAgICAgIChSdW5XZWJLaXRUZXN0c1dpdGhvdXRQYXRjaC5zZXRM
YXlvdXRUZXN0Q29tbWFuZCk6CisgICAgICAgICogQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVwc191
bml0dGVzdC5weToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9ydW5f
d2Via2l0X3Rlc3RzX2ludGVncmF0aW9udGVzdC5weToKKyAgICAgICAgKFJ1blRlc3QudGVzdF9l
d3NfY29ybmVyX2Nhc2VfZmFpbGluZ190ZXN0KToKKyAgICAgICAgKFJ1blRlc3QpOgorICAgICAg
ICAoUnVuVGVzdC50ZXN0X2V3c19jb3JuZXJfY2FzZV9mYWlsaW5nX2RpcmVjdG9yeSk6CisgICAg
ICAgIChSdW5UZXN0LnRlc3RfZXdzX2Nvcm5lcl9jYXNlX3NraXBwZWRfdGVzdCk6CisgICAgICAg
IChSdW5UZXN0LnRlc3RfZXdzX2Nvcm5lcl9jYXNlX3NraXBwZWRfZGlyZWN0b3J5KToKKyAgICAg
ICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvdGVzdC5weToKKwogMjAyMS0xMC0xOCAgSm9obiBQ
YXNjb2UgIDxqX3Bhc2NvZUBhcHBsZS5jb20+CiAKICAgICAgICAgW1dlYkF1dGhuXSBPYnRhaW4g
Y29uc2VudCB0byBjcmVhdGUgbmV3IGNyZWRlbnRpYWwgd2hlbiBwbGF0Zm9ybSBhdXRoZW50aWNh
dG9yIGluIGV4Y2x1ZGVkQ3JlZGVudGlhbHMKZGlmZiAtLWdpdCBhL1Rvb2xzL0NJU3VwcG9ydC9l
d3MtYnVpbGQvc3RlcHMucHkgYi9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzLnB5Cmlu
ZGV4IGM1Y2MyNGVhN2RjZTE3ZWE5OTU1ZjQ3MTdmNWNkY2M2MjBmYzY5NjMuLmU0YjM2NmE4Njg2
MmU3NDAwNDE5NjM1NWJiNDI1MDRlMjU1ZDlkYTUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NJU3VwcG9y
dC9ld3MtYnVpbGQvc3RlcHMucHkKKysrIGIvVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVw
cy5weQpAQCAtMjIxOCwzMSArMjIxOCw2IEBAIGNsYXNzIFJ1bldlYktpdFRlc3RzKHNoZWxsLlRl
c3QpOgogICAgICAgICBpZiBzZWxmLkVOQUJMRV9HVUFSRF9NQUxMT0M6CiAgICAgICAgICAgICBz
ZWxmLnNldENvbW1hbmQoc2VsZi5jb21tYW5kICsgWyctLWd1YXJkLW1hbGxvYyddKQogCi0gICAg
ICAgIGlmIHNlbGYubmFtZSA9PSAncnVuLWxheW91dC10ZXN0cy13aXRob3V0LXBhdGNoJzoKLSAg
ICAgICAgICAgICMgSW4gb3JkZXIgdG8gc3BlZWQgdXAgdGVzdGluZywgb24gdGhlIHN0ZXAgdGhh
dCByZXRyaWVzIHJ1bm5pbmcgdGhlIGxheW91dCB0ZXN0cyB3aXRob3V0IHBhdGNoCi0gICAgICAg
ICAgICAjIG9ubHkgcnVuIHRoZSBzdWJzZXQgb2YgdGVzdHMgdGhhdCBmYWlsZWQgb24gdGhlIHBy
ZXZpb3VzIHN0ZXBzLgotICAgICAgICAgICAgIyBCdXQgb25seSBkbyB0aGF0IGlmIHRoZSBwcmV2
aW91cyBzdGVwcyBkaWRuJ3QgZXhjZWVkIHRoZSB0ZXN0IGZhaWx1cmUgbGltaXQgYW5kIHRoZSBw
YXRjaCBkb2Vzbid0Ci0gICAgICAgICAgICAjIG1vZGlmeSB0aGUgVGVzdEV4cGVjdGF0aW9ucyBm
aWxlcyAodGhlcmUgYXJlIGNvcm5lciBjYXNlcyB3aGVyZSB3ZSBjYW4ndCBndWFyYW50ZWUgdGhl
IGNvcnJlY3RuZXMKLSAgICAgICAgICAgICMgb2YgdGhpcyBvcHRpbWl6YXRpb24gaWYgdGhlIHBh
dGNoIG1vZGlmaWVzIHRoZSBUZXN0RXhwZWN0YXRpb25zIGZpbGVzLCBmb3IgZXhhbXBsZSwgaWYg
dGhlIHBhdGNoCi0gICAgICAgICAgICAjIHJlbW92ZXMgc2tpcHBlZCB0ZXN0cyBidXQgdGhvc2Ug
dGVzdHMgc3RpbGwgZmFpbCkuCi0gICAgICAgICAgICBmaXJzdF9yZXN1bHRzX2RpZF9leGNlZWRf
dGVzdF9mYWlsdXJlX2xpbWl0ID0gc2VsZi5nZXRQcm9wZXJ0eSgnZmlyc3RfcmVzdWx0c19leGNl
ZWRfZmFpbHVyZV9saW1pdCcsIEZhbHNlKQotICAgICAgICAgICAgc2Vjb25kX3Jlc3VsdHNfZGlk
X2V4Y2VlZF90ZXN0X2ZhaWx1cmVfbGltaXQgPSBzZWxmLmdldFByb3BlcnR5KCdzZWNvbmRfcmVz
dWx0c19leGNlZWRfZmFpbHVyZV9saW1pdCcsIEZhbHNlKQotICAgICAgICAgICAgaWYgbm90IGZp
cnN0X3Jlc3VsdHNfZGlkX2V4Y2VlZF90ZXN0X2ZhaWx1cmVfbGltaXQgYW5kIG5vdCBzZWNvbmRf
cmVzdWx0c19kaWRfZXhjZWVkX3Rlc3RfZmFpbHVyZV9saW1pdDoKLSAgICAgICAgICAgICAgICBw
YXRjaF9tb2RpZmllc19leHBlY3RhdGlvbl9maWxlcyA9IEZhbHNlCi0gICAgICAgICAgICAgICAg
cGF0Y2ggPSBzZWxmLl9nZXRfcGF0Y2goKQotICAgICAgICAgICAgICAgIGlmIHBhdGNoOgotICAg
ICAgICAgICAgICAgICAgICBmb3IgbGluZSBpbiBwYXRjaC5zcGxpdGxpbmVzKCk6Ci0gICAgICAg
ICAgICAgICAgICAgICAgICBsaW5lID0gbGluZS5zdHJpcCgpCi0gICAgICAgICAgICAgICAgICAg
ICAgICAjIHBhdGNoIGlzIHN0b3JlZCBieSBidWlsZGJvdCBhcyBieXRlczogaHR0cHM6Ly9naXRo
dWIuY29tL2J1aWxkYm90L2J1aWxkYm90L2lzc3Vlcy81ODEyI2lzc3VlY29tbWVudC03OTAxNzU5
NzkKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIChiJ0xheW91dFRlc3RzLycgaW4gbGluZSBh
bmQgYidUZXN0RXhwZWN0YXRpb25zJyBpbiBsaW5lKSBhbmQgKGxpbmUuc3RhcnRzd2l0aChiJy0t
LScpIG9yIGxpbmUuc3RhcnRzd2l0aChiJysrKycpKToKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBwYXRjaF9tb2RpZmllc19leHBlY3RhdGlvbl9maWxlcyA9IFRydWUKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBicmVhawotICAgICAgICAgICAgICAgIGlmIG5vdCBwYXRjaF9tb2Rp
Zmllc19leHBlY3RhdGlvbl9maWxlczoKLSAgICAgICAgICAgICAgICAgICAgZmlyc3RfcmVzdWx0
c19mYWlsaW5nX3Rlc3RzID0gc2V0KHNlbGYuZ2V0UHJvcGVydHkoJ2ZpcnN0X3J1bl9mYWlsdXJl
cycsIHNldCgpKSkKLSAgICAgICAgICAgICAgICAgICAgc2Vjb25kX3Jlc3VsdHNfZmFpbGluZ190
ZXN0cyA9IHNldChzZWxmLmdldFByb3BlcnR5KCdzZWNvbmRfcnVuX2ZhaWx1cmVzJywgc2V0KCkp
KQotICAgICAgICAgICAgICAgICAgICBsaXN0X3JldHJ5X3Rlc3RzID0gc29ydGVkKGZpcnN0X3Jl
c3VsdHNfZmFpbGluZ190ZXN0cy51bmlvbihzZWNvbmRfcmVzdWx0c19mYWlsaW5nX3Rlc3RzKSkK
LSAgICAgICAgICAgICAgICAgICAgc2VsZi5zZXRDb21tYW5kKHNlbGYuY29tbWFuZCArIGxpc3Rf
cmV0cnlfdGVzdHMpCi0KICAgICBkZWYgc3RhcnQoc2VsZik6CiAgICAgICAgIHNlbGYubG9nX29i
c2VydmVyID0gbG9nb2JzZXJ2ZXIuQnVmZmVyTG9nT2JzZXJ2ZXIod2FudFN0ZGVycj1UcnVlKQog
ICAgICAgICBzZWxmLmFkZExvZ09ic2VydmVyKCdzdGRpbycsIHNlbGYubG9nX29ic2VydmVyKQpA
QCAtMjQ5OCw2ICsyNDczLDI1IEBAIGNsYXNzIFJ1bldlYktpdFRlc3RzV2l0aG91dFBhdGNoKFJ1
bldlYktpdFRlc3RzKToKICAgICAgICAgICAgICAgICBzZWxmLl9hZGRUb0xvZyhzZWxmLnRlc3Rf
ZmFpbHVyZXNfbG9nX25hbWUsICdcbicuam9pbihjbGVhbl90cmVlX3Jlc3VsdHMuZmFpbGluZ190
ZXN0cykpCiAgICAgICAgIHNlbGYuX3BhcnNlUnVuV2ViS2l0VGVzdHNPdXRwdXQobG9nVGV4dCkK
IAorICAgIGRlZiBzZXRMYXlvdXRUZXN0Q29tbWFuZChzZWxmKToKKyAgICAgICAgc3VwZXIoUnVu
V2ViS2l0VGVzdHNXaXRob3V0UGF0Y2gsIHNlbGYpLnNldExheW91dFRlc3RDb21tYW5kKCkKKyAg
ICAgICAgIyBJbiBvcmRlciB0byBzcGVlZCB1cCB0ZXN0aW5nLCBvbiB0aGUgc3RlcCB0aGF0IHJl
dHJpZXMgcnVubmluZyB0aGUgbGF5b3V0IHRlc3RzIHdpdGhvdXQgcGF0Y2gKKyAgICAgICAgIyBv
bmx5IHJ1biB0aGUgc3Vic2V0IG9mIHRlc3RzIHRoYXQgZmFpbGVkIG9uIHRoZSBwcmV2aW91cyBz
dGVwcy4KKyAgICAgICAgIyBCdXQgb25seSBkbyB0aGF0IGlmIHRoZSBwcmV2aW91cyBzdGVwcyBk
aWRuJ3QgZXhjZWVkIHRoZSB0ZXN0IGZhaWx1cmUgbGltaXQKKyAgICAgICAgIyBBbHNvIHBhc3Mg
Jy0tc2tpcHBlZD1hbHdheXMnIHRvIGF2b2lkIHJ1bm5pbmcgYSB0ZXN0IHRoYXQgaXMgc2tpcHBl
ZCBvbiB0aGUgY2xlYW4gdHJlZSBhbmQgdGhhdAorICAgICAgICAjIHRoZSBwYXRjaCByZW1vdmVk
IGZyb20gdGhlIFRlc3RFeHBlY3RhdGlvbnMgZmlsZSBtZWFud2hpbGUgaXQgc3RpbGwgZmFpbHMg
d2l0aCB0aGUgcGF0Y2ggKHNvCisgICAgICAgICMgaXQgaXMgcGFzc2VkIGFzIGFuIGFyZ3VtZW50
IG9uIHRoZSBjb21tYW5kLWxpbmUpCisgICAgICAgICMgVGhlIGZsYWcgJy0tc2tpcC1mYWlsaW5n
LXRlc3RzJyB0aGF0IGlzIHBhc3NlZCBieSBkZWZhdWx0IChpbiBjb21iaW5hdGlvbiB3aXRoICct
LXNraXBwZWQ9YWx3YXlzJykKKyAgICAgICAgIyBhdm9pZHMgcnVubmluZyB0ZXN0cyBtYXJrZWQg
YXMgZmFpbGluZyBvbiB0aGUgRXhwZWN0YXRpb24gZmlsZXMgZXZlbiB3aGVuIHRob3NlIGFyZSBw
YXNzZWQgYXMgYXJndW1lbnRzLgorICAgICAgICBmaXJzdF9yZXN1bHRzX2RpZF9leGNlZWRfdGVz
dF9mYWlsdXJlX2xpbWl0ID0gc2VsZi5nZXRQcm9wZXJ0eSgnZmlyc3RfcmVzdWx0c19leGNlZWRf
ZmFpbHVyZV9saW1pdCcsIEZhbHNlKQorICAgICAgICBzZWNvbmRfcmVzdWx0c19kaWRfZXhjZWVk
X3Rlc3RfZmFpbHVyZV9saW1pdCA9IHNlbGYuZ2V0UHJvcGVydHkoJ3NlY29uZF9yZXN1bHRzX2V4
Y2VlZF9mYWlsdXJlX2xpbWl0JywgRmFsc2UpCisgICAgICAgIGlmIG5vdCBmaXJzdF9yZXN1bHRz
X2RpZF9leGNlZWRfdGVzdF9mYWlsdXJlX2xpbWl0IGFuZCBub3Qgc2Vjb25kX3Jlc3VsdHNfZGlk
X2V4Y2VlZF90ZXN0X2ZhaWx1cmVfbGltaXQ6CisgICAgICAgICAgICBmaXJzdF9yZXN1bHRzX2Zh
aWxpbmdfdGVzdHMgPSBzZXQoc2VsZi5nZXRQcm9wZXJ0eSgnZmlyc3RfcnVuX2ZhaWx1cmVzJywg
c2V0KCkpKQorICAgICAgICAgICAgc2Vjb25kX3Jlc3VsdHNfZmFpbGluZ190ZXN0cyA9IHNldChz
ZWxmLmdldFByb3BlcnR5KCdzZWNvbmRfcnVuX2ZhaWx1cmVzJywgc2V0KCkpKQorICAgICAgICAg
ICAgbGlzdF9mYWlsZWRfdGVzdHNfd2l0aF9wYXRjaCA9IHNvcnRlZChmaXJzdF9yZXN1bHRzX2Zh
aWxpbmdfdGVzdHMudW5pb24oc2Vjb25kX3Jlc3VsdHNfZmFpbGluZ190ZXN0cykpCisgICAgICAg
ICAgICBpZiBsaXN0X2ZhaWxlZF90ZXN0c193aXRoX3BhdGNoOgorICAgICAgICAgICAgICAgIHNl
bGYuc2V0Q29tbWFuZChzZWxmLmNvbW1hbmQgKyBbJy0tc2tpcHBlZD1hbHdheXMnXSArIGxpc3Rf
ZmFpbGVkX3Rlc3RzX3dpdGhfcGF0Y2gpCisKIAogY2xhc3MgQW5hbHl6ZUxheW91dFRlc3RzUmVz
dWx0cyhidWlsZHN0ZXAuQnVpbGRTdGVwLCBCdWd6aWxsYU1peGluKToKICAgICBuYW1lID0gJ2Fu
YWx5emUtbGF5b3V0LXRlc3RzLXJlc3VsdHMnCmRpZmYgLS1naXQgYS9Ub29scy9DSVN1cHBvcnQv
ZXdzLWJ1aWxkL3N0ZXBzX3VuaXR0ZXN0LnB5IGIvVG9vbHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9z
dGVwc191bml0dGVzdC5weQppbmRleCBjOGMyNjJlMTU0MWQ0YmY5YTFjNzU5NTljZTNmY2NiZDg2
MTUxZDBiLi45MzRkZTQ4Y2Q0ODAxZjM5YTNhNDNhZGQ0NzQ5YWUzN2Q1ZWZjMWZjIDEwMDY0NAot
LS0gYS9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzX3VuaXR0ZXN0LnB5CisrKyBiL1Rv
b2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHNfdW5pdHRlc3QucHkKQEAgLTIxNzMsNiArMjE3
Myw3IEBAIGNsYXNzIFRlc3RSdW5XZWJLaXRUZXN0c1dpdGhvdXRQYXRjaChCdWlsZFN0ZXBNaXhp
bkFkZGl0aW9ucywgdW5pdHRlc3QuVGVzdENhc2UpCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAnLS1kZWJ1Zy1yd3QtbG9nZ2luZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAnLS1leGl0LWFmdGVyLW4tZmFpbHVyZXMnLCAnMzAnLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgJy0tc2tpcC1mYWlsaW5nLXRlc3RzJywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICctLXNraXBwZWQ9YWx3YXlzJywKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICd0ZXN0MScsICd0ZXN0MicsICd0ZXN0MycsICd0ZXN0NCddLAogICAg
ICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgKyAwLApAQCAtMjIwOCw2MyArMjIw
OSw2IEBAIGNsYXNzIFRlc3RSdW5XZWJLaXRUZXN0c1dpdGhvdXRQYXRjaChCdWlsZFN0ZXBNaXhp
bkFkZGl0aW9ucywgdW5pdHRlc3QuVGVzdENhc2UpCiAgICAgICAgIHNlbGYuZXhwZWN0T3V0Y29t
ZShyZXN1bHQ9U1VDQ0VTUywgc3RhdGVfc3RyaW5nPSdsYXlvdXQtdGVzdHMnKQogICAgICAgICBy
ZXR1cm4gc2VsZi5ydW5TdGVwKCkKIAotICAgIGRlZiB0ZXN0X3N1Y2Nlc3NfcmV0cnlfb25seV9z
dWJzZXRfcGF0Y2hfbm9fbW9kaWZpZXNfZXhwZWN0YXRpb25zKHNlbGYpOgotICAgICAgICBzZWxm
LmNvbmZpZ3VyZVN0ZXAoKQotICAgICAgICBzZWxmLnNldFByb3BlcnR5KCdmdWxsUGxhdGZvcm0n
LCAnaW9zLXNpbXVsYXRvcicpCi0gICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ2NvbmZpZ3VyYXRp
b24nLCAncmVsZWFzZScpCi0gICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ2ZpcnN0X3J1bl9mYWls
dXJlcycsIFsndGVzdDEnLCAndGVzdDInLCAndGVzdDMnXSkKLSAgICAgICAgc2VsZi5zZXRQcm9w
ZXJ0eSgnc2Vjb25kX3J1bl9mYWlsdXJlcycsIFsndGVzdDEnLCAndGVzdDMnLCAndGVzdDQnXSkK
LSAgICAgICAgUnVuV2ViS2l0VGVzdHMuX2dldF9wYXRjaCA9IGxhbWJkYSB4OiBiJysrKyBUb29s
cy9DaGFuZ2VMb2dcbisrKyBUb29scy9XZWJLaXRUZXN0UnVubmVyL09wdGlvbnMuY3BwXG4nCi0g
ICAgICAgIHNlbGYuZXhwZWN0UmVtb3RlQ29tbWFuZHMoCi0gICAgICAgICAgICBFeHBlY3RTaGVs
bCh3b3JrZGlyPSd3a2RpcicsCi0gICAgICAgICAgICAgICAgICAgICAgICBsb2dmaWxlcz17J2pz
b24nOiBzZWxmLmpzb25GaWxlTmFtZX0sCi0gICAgICAgICAgICAgICAgICAgICAgICBsb2dFbnZp
cm9uPUZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgY29tbWFuZD1bJ3B5dGhvbicsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVG9vbHMvU2NyaXB0cy9ydW4td2Via2l0
LXRlc3RzJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICctLW5vLWJ1aWxkJywK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICctLW5vLXNob3ctcmVzdWx0cycsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLS1uby1uZXctdGVzdC1yZXN1bHRzJywK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICctLWNsb2JiZXItb2xkLXJlc3VsdHMn
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0tcmVsZWFzZScsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAnLS1yZXN1bHRzLWRpcmVjdG9yeScsICdsYXlvdXQt
dGVzdC1yZXN1bHRzJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICctLWRlYnVn
LXJ3dC1sb2dnaW5nJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICctLWV4aXQt
YWZ0ZXItbi1mYWlsdXJlcycsICczMCcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAnLS1za2lwLWZhaWxpbmctdGVzdHMnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgJ3Rlc3QxJywgJ3Rlc3QyJywgJ3Rlc3QzJywgJ3Rlc3Q0J10sCi0gICAgICAgICAgICAgICAg
ICAgICAgICApCi0gICAgICAgICAgICArIDAsCi0gICAgICAgICkKLSAgICAgICAgc2VsZi5leHBl
Y3RPdXRjb21lKHJlc3VsdD1TVUNDRVNTLCBzdGF0ZV9zdHJpbmc9J2xheW91dC10ZXN0cycpCi0g
ICAgICAgIHJldHVybiBzZWxmLnJ1blN0ZXAoKQotCi0gICAgZGVmIHRlc3Rfc3VjY2Vzc19yZXRy
eV9vbmx5X3N1YnNldF9wYXRjaF9tb2RpZmllc19leHBlY3RhdGlvbnMoc2VsZik6Ci0gICAgICAg
IHNlbGYuY29uZmlndXJlU3RlcCgpCi0gICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ2Z1bGxQbGF0
Zm9ybScsICdpb3Mtc2ltdWxhdG9yJykKLSAgICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgnY29uZmln
dXJhdGlvbicsICdyZWxlYXNlJykKLSAgICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgnZmlyc3RfcnVu
X2ZhaWx1cmVzJywgWyd0ZXN0MScsICd0ZXN0MicsICd0ZXN0MyddKQotICAgICAgICBzZWxmLnNl
dFByb3BlcnR5KCdzZWNvbmRfcnVuX2ZhaWx1cmVzJywgWyd0ZXN0MScsICd0ZXN0MycsICd0ZXN0
NCddKQotICAgICAgICBSdW5XZWJLaXRUZXN0cy5fZ2V0X3BhdGNoID0gbGFtYmRhIHg6IGInKysr
IExheW91dFRlc3RzL0NoYW5nZWxvZ1xuKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0
RXhwZWN0YXRpb25zXG4nCi0gICAgICAgIHNlbGYuZXhwZWN0UmVtb3RlQ29tbWFuZHMoCi0gICAg
ICAgICAgICBFeHBlY3RTaGVsbCh3b3JrZGlyPSd3a2RpcicsCi0gICAgICAgICAgICAgICAgICAg
ICAgICBsb2dmaWxlcz17J2pzb24nOiBzZWxmLmpzb25GaWxlTmFtZX0sCi0gICAgICAgICAgICAg
ICAgICAgICAgICBsb2dFbnZpcm9uPUZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgY29t
bWFuZD1bJ3B5dGhvbicsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVG9vbHMv
U2NyaXB0cy9ydW4td2Via2l0LXRlc3RzJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICctLW5vLWJ1aWxkJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICctLW5v
LXNob3ctcmVzdWx0cycsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLS1uby1u
ZXctdGVzdC1yZXN1bHRzJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICctLWNs
b2JiZXItb2xkLXJlc3VsdHMnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0t
cmVsZWFzZScsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLS1yZXN1bHRzLWRp
cmVjdG9yeScsICdsYXlvdXQtdGVzdC1yZXN1bHRzJywKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICctLWRlYnVnLXJ3dC1sb2dnaW5nJywKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICctLWV4aXQtYWZ0ZXItbi1mYWlsdXJlcycsICczMCcsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAnLS1za2lwLWZhaWxpbmctdGVzdHMnXSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICkKLSAgICAgICAgICAgICsgMCwKLSAgICAgICAgKQotICAgICAgICBzZWxm
LmV4cGVjdE91dGNvbWUocmVzdWx0PVNVQ0NFU1MsIHN0YXRlX3N0cmluZz0nbGF5b3V0LXRlc3Rz
JykKLSAgICAgICAgcmV0dXJuIHNlbGYucnVuU3RlcCgpCi0KICAgICBkZWYgdGVzdF9mYWlsdXJl
KHNlbGYpOgogICAgICAgICBzZWxmLmNvbmZpZ3VyZVN0ZXAoKQogICAgICAgICBzZWxmLnNldFBy
b3BlcnR5KCdmdWxsUGxhdGZvcm0nLCAnaW9zLXNpbXVsYXRvcicpCmRpZmYgLS1naXQgYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9ydW5fd2Via2l0X3Rlc3RzX2ludGVncmF0
aW9udGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJr
aXRfdGVzdHNfaW50ZWdyYXRpb250ZXN0LnB5CmluZGV4IGU2N2VjZTUwN2Q0MGEzOTgwNzlmMzIz
ZWU3YTU3Y2VmOTZmY2I0NDcuLjBiZDMwOGUwY2M1OTAyN2NlZDFkNGViMTg5MDhiOGM2MTg2NTE5
ZDggMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93
ZWJraXRfdGVzdHNfaW50ZWdyYXRpb250ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHNfaW50ZWdyYXRpb250ZXN0LnB5CkBAIC0z
NDksNiArMzQ5LDM5IEBAIGNsYXNzIFJ1blRlc3QodW5pdHRlc3QuVGVzdENhc2UsIFN0cmVhbVRl
c3RpbmdNaXhpbik6CiAgICAgICAgICMgTm93IGNoZWNrIHRoYXQgd2UgZG9uJ3QgcnVuIGFueXRo
aW5nLgogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGdldF90ZXN0c19ydW4oWyctLXNraXBwZWQ9
YWx3YXlzJywgJ3Bhc3Nlcy9za2lwcGVkL3NraXAuaHRtbCddKSwgW10pCiAKKyAgICBkZWYgdGVz
dF9ld3NfY29ybmVyX2Nhc2VfZmFpbGluZ190ZXN0KHNlbGYpOgorICAgICAgICAjIFdlIHNob3Vs
ZCBza2lwIHJ1bm5pbmcgdGVzdHMgbWFya2VkIGFzIGZhaWx1cmVzIChvciBmbGFraWVzKSB3aGVu
IHBhc3NpbmcgJy0tc2tpcC1mYWlsaW5nLXRlc3RzJworICAgICAgICBzZWxmLmFzc2VydEVxdWFs
KGdldF90ZXN0c19ydW4oWyctLXNraXAtZmFpbGluZy10ZXN0cycsICdmYWlsdXJlcy9leHBlY3Rl
ZCddKSwgW10pCisgICAgICAgICMgQnV0IGlmIHdlIHNwZWNpZnkgdGhlIG5hbWUgb2YgdGhlIGlu
ZGl2aWR1YWwgdGVzdHMsIHRoZW4gdGhvc2UgdGVzdHMgc2hvdWxkIHJ1bgorICAgICAgICBsaXN0
X29mX3Rlc3RzX2ZhaWxpbmcgPSBbJ2ZhaWx1cmVzL2V4cGVjdGVkL3RpbWVvdXQuaHRtbCcsICdm
YWlsdXJlcy9leHBlY3RlZC90ZXh0Lmh0bWwnLCAnZmFpbHVyZXMvZXhwZWN0ZWQvY3Jhc2guaHRt
bCcsICdmYWlsdXJlcy9leHBlY3RlZC9taXNzaW5nX2ltYWdlLmh0bWwnXQorICAgICAgICBzZWxm
LmFzc2VydEVxdWFsKGdldF90ZXN0c19ydW4oWyctLXNraXAtZmFpbGluZy10ZXN0cyddICsgbGlz
dF9vZl90ZXN0c19mYWlsaW5nKSwgbGlzdF9vZl90ZXN0c19mYWlsaW5nKQorICAgICAgICAjIFVu
bGVzcyB3ZSBzcGVjaWZ5IGFsc28gJy0tc2tpcHBlZD1hbHdheXMnLCB0aGVuIHRoZXkgc2hvdWxk
IGJlIHNraXBwZWQgZXZlbiB3aGVuIHdlIGxpc3QgdGhlbSBpbmRpdmlkdWFsbHkgb24gdGhlIGNv
bW1hbmQgbGluZQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGdldF90ZXN0c19ydW4oWyctLXNr
aXAtZmFpbGluZy10ZXN0cycsICctLXNraXBwZWQ9YWx3YXlzJ10gKyBsaXN0X29mX3Rlc3RzX2Zh
aWxpbmcpLCBbXSkKKworICAgIGRlZiB0ZXN0X2V3c19jb3JuZXJfY2FzZV9mYWlsaW5nX2RpcmVj
dG9yeShzZWxmKToKKyAgICAgICAgIyBXaGVuIGEgd2hvbGUgZGlyZWN0b3J5IGlzIGlzIG1hcmtl
ZCBhcyBmYWlsaW5nIChvciBmbGFreSksIHRoZW4gdGhlIHRlc3RzIGluc2lkZSBzaG91bGQgbm90
IHJ1biBpZiB3ZSBzcGVjaWZ5IHRoZSBuYW1lIG9mIHRoZSBkaXJlY3RvcnkgYW5kIHdlIHBhc3Mg
Jy0tc2tpcC1mYWlsaW5nLXRlc3RzJworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGdldF90ZXN0
c19ydW4oWyctLXNraXAtZmFpbGluZy10ZXN0cycsICdjb3JuZXItY2FzZXMvZXdzL2RpcmVjdG9y
eS1mbGFreSddKSwgW10pCisgICAgICAgICMgQnV0IGlmIHdlIHNwZWNpZnkgb24gdGhlIGNvbW1h
bmQtbGluZSB0aGUgbmFtZSBvZiBpbmRpdmlkdWFsIHRlc3RzIGluc2lkZSB0aGF0IGRpcmVjdG9y
eSB0aGUgdGVzdHMgc2hvdWxkIHJ1biAoZXZlbiB3aXRoICctLXNraXAtZmFpbGluZy10ZXN0cycp
CisgICAgICAgIGxpc3Rfb2ZfdGVzdHNfZmFpbGluZyA9IFsnY29ybmVyLWNhc2VzL2V3cy9kaXJl
Y3Rvcnktc2tpcHBlZC9mYWlsdXJlLmh0bWwnLCAnY29ybmVyLWNhc2VzL2V3cy9kaXJlY3Rvcnkt
c2tpcHBlZC90aW1lb3V0Lmh0bWwnXQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGdldF90ZXN0
c19ydW4oWyctLW5vLXJldHJ5LWZhaWx1cmVzJywgJy0tc2tpcC1mYWlsaW5nLXRlc3RzJ10gKyBs
aXN0X29mX3Rlc3RzX2ZhaWxpbmcpLCBsaXN0X29mX3Rlc3RzX2ZhaWxpbmcpCisgICAgICAgICMg
VW5sZXNzIHdlIHNwZWNpZnkgYWxzbyAnLS1za2lwcGVkPWFsd2F5cycgKGluIGNvbWJpbmF0aW9u
IHdpdGggJy0tc2tpcC1mYWlsaW5nLXRlc3RzJyksIHRoZW4gdGhleSBzaG91bGQgYmUgc2tpcHBl
ZCBldmVuIHdoZW4gd2UgbGlzdCB0aGVtIGluZGl2aWR1YWxseSBvbiB0aGUgY29tbWFuZCBsaW5l
CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZ2V0X3Rlc3RzX3J1bihbJy0tbm8tcmV0cnktZmFp
bHVyZXMnLCAgJy0tc2tpcC1mYWlsaW5nLXRlc3RzJywgJy0tc2tpcHBlZD1hbHdheXMnXSArIGxp
c3Rfb2ZfdGVzdHNfZmFpbGluZyksIFtdKQorCisgICAgZGVmIHRlc3RfZXdzX2Nvcm5lcl9jYXNl
X3NraXBwZWRfdGVzdChzZWxmKToKKyAgICAgICAgIyBXaGVuIHdlIHNwZWNpZnkgb24gdGhlIGNv
bW1hbmQgbGluZSB0aGUgbmFtZSBvZiBhIHRlc3Qgc2tpcHBlZCB0aGlzIHRlc3Qgc2hvdWxkIHJ1
bgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGdldF90ZXN0c19ydW4oWydwYXNzZXMvc2tpcHBl
ZC9za2lwLmh0bWwnXSksIFsncGFzc2VzL3NraXBwZWQvc2tpcC5odG1sJ10pCisgICAgICAgICMg
VW5sZXNzIHdlIHNwZWNpZnkgYWxzbyAnLS1za2lwcGVkPWFsd2F5cycsIHRoZW4gaXQgc2hvdWxk
IGJlIHNraXBwZWQgZXZlbiB3aGVuIHdlIGxpc3QgaXQgb24gdGhlIGNvbW1hbmQgbGluZQorICAg
ICAgICBzZWxmLmFzc2VydEVxdWFsKGdldF90ZXN0c19ydW4oWyctLXNraXBwZWQ9YWx3YXlzJywg
J3Bhc3Nlcy9za2lwcGVkL3NraXAuaHRtbCddKSwgW10pCisKKyAgICBkZWYgdGVzdF9ld3NfY29y
bmVyX2Nhc2Vfc2tpcHBlZF9kaXJlY3Rvcnkoc2VsZik6CisgICAgICAgICMgV2hlbiBhIHdob2xl
IGRpcmVjdG9yeSBpcyBza2lwcGVkLCB0aGVuIHRoZSB0ZXN0cyBpbnNpZGUgc2hvdWxkIG5vdCBy
dW4gaWYgd2Ugc3BlY2lmeSB0aGUgbmFtZSBvZiB0aGUgZGlyZWN0b3J5CisgICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWwoZ2V0X3Rlc3RzX3J1bihbJ2Nvcm5lci1jYXNlcy9ld3MvZGlyZWN0b3J5LXNr
aXBwZWQnXSksIFtdKQorICAgICAgICAjIEJ1dCBpZiB3ZSBzcGVjaWZ5IG9uIHRoZSBjb21tYW5k
LWxpbmUgdGhlIG5hbWUgb2YgaW5kaXZpZHVhbCB0ZXN0cyBpbnNpZGUgdGhhdCBkaXJlY3Rvcnkg
dGhlIHRlc3RzIHNob3VsZCBydW4KKyAgICAgICAgbGlzdF9vZl90ZXN0c19mYWlsaW5nID0gWydj
b3JuZXItY2FzZXMvZXdzL2RpcmVjdG9yeS1za2lwcGVkL2ZhaWx1cmUuaHRtbCcsICdjb3JuZXIt
Y2FzZXMvZXdzL2RpcmVjdG9yeS1za2lwcGVkL3RpbWVvdXQuaHRtbCddCisgICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWwoZ2V0X3Rlc3RzX3J1bihbJy0tbm8tcmV0cnktZmFpbHVyZXMnXSArIGxpc3Rf
b2ZfdGVzdHNfZmFpbGluZyksIGxpc3Rfb2ZfdGVzdHNfZmFpbGluZykKKyAgICAgICAgIyBVbmxl
c3Mgd2Ugc3BlY2lmeSBhbHNvICctLXNraXBwZWQ9YWx3YXlzJywgdGhlbiB0aGV5IHNob3VsZCBi
ZSBza2lwcGVkIGV2ZW4gd2hlbiB3ZSBsaXN0IHRoZW0gaW5kaXZpZHVhbGx5IG9uIHRoZSBjb21t
YW5kIGxpbmUKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChnZXRfdGVzdHNfcnVuKFsnLS1uby1y
ZXRyeS1mYWlsdXJlcycsICctLXNraXBwZWQ9YWx3YXlzJ10gKyBsaXN0X29mX3Rlc3RzX2ZhaWxp
bmcpLCBbXSkKKwogICAgIGRlZiB0ZXN0X2l0ZXJhdGlvbnMoc2VsZik6CiAgICAgICAgIHRlc3Rz
X3RvX3J1biA9IFsncGFzc2VzL2ltYWdlLmh0bWwnLCAncGFzc2VzL3RleHQuaHRtbCddCiAgICAg
ICAgIHRlc3RzX3J1biA9IGdldF90ZXN0c19ydW4oWyctLWl0ZXJhdGlvbnMnLCAnMiddICsgdGVz
dHNfdG9fcnVuKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3Rlc3Qu
cHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvdGVzdC5weQppbmRleCBmMmNlODczZWEx
Mzc4YTFhYjMxMzMyMmMzZGI5NDBjYTliYjg5ZWVlLi44YjMxYTRkY2I4Y2Q4YTAwZTMwMjEyNTc1
MzRkZDk5MDZhZDI5M2FhIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQv
dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvdGVzdC5weQpAQCAtMTA1
LDggKzEwNSw4IEBAIGNsYXNzIFRlc3RMaXN0KG9iamVjdCk6CiAjCiAjIFRoZXNlIG51bWJlcnMg
bWF5IG5lZWQgdG8gYmUgdXBkYXRlZCB3aGVuZXZlciB3ZSBhZGQgb3IgZGVsZXRlIHRlc3RzLgog
IwotVE9UQUxfVEVTVFMgPSA2OQotVE9UQUxfU0tJUFMgPSA5CitUT1RBTF9URVNUUyA9IDczCitU
T1RBTF9TS0lQUyA9IDExCiBUT1RBTF9SRVRSSUVTID0gMTEKIAogVU5FWFBFQ1RFRF9QQVNTRVMg
PSA2CkBAIC0yNTcsNiArMjU3LDExIEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDM0CiAgICAg
ICAgIGFjdHVhbF9pbWFnZT0naW1hZ2Vfbm90X2luX3BpeGVsZGlyLXBuZ3RFWHRjaGVja3N1bVx4
MDBjaGVja3N1bV9mYWlsJywKICAgICAgICAgZXhwZWN0ZWRfaW1hZ2U9J2ltYWdlX25vdF9pbl9w
aXhlbGRpci1wbmd0RVh0Y2hlY2tzdW1ceDAwY2hlY2tzdW0tcG5nJykKIAorICAgIHRlc3RzLmFk
ZCgnY29ybmVyLWNhc2VzL2V3cy9kaXJlY3Rvcnktc2tpcHBlZC9mYWlsdXJlLmh0bWwnLCBleHBl
Y3RlZF90ZXh0PSdvay10eHQnLCBhY3R1YWxfdGV4dD0ndGV4dF9mYWlsLXR4dCcpCisgICAgdGVz
dHMuYWRkKCdjb3JuZXItY2FzZXMvZXdzL2RpcmVjdG9yeS1za2lwcGVkL3RpbWVvdXQuaHRtbCcs
IHRpbWVvdXQ9VHJ1ZSkKKyAgICB0ZXN0cy5hZGQoJ2Nvcm5lci1jYXNlcy9ld3MvZGlyZWN0b3J5
LWZsYWt5L2ZhaWx1cmUuaHRtbCcsIGV4cGVjdGVkX3RleHQ9J29rLXR4dCcsIGFjdHVhbF90ZXh0
PSd0ZXh0X2ZhaWwtdHh0JykKKyAgICB0ZXN0cy5hZGQoJ2Nvcm5lci1jYXNlcy9ld3MvZGlyZWN0
b3J5LWZsYWt5L3RpbWVvdXQuaHRtbCcsIHRpbWVvdXQ9VHJ1ZSkKKwogICAgIHJldHVybiB0ZXN0
cwogCiAKQEAgLTMwMSw2ICszMDYsOCBAQCBCdWcodGVzdCkgZmFpbHVyZXMvZXhwZWN0ZWQva2V5
Ym9hcmQuaHRtbCBbIFdvbnRGaXggXQogQnVnKHRlc3QpIGZhaWx1cmVzL2V4cGVjdGVkL2V4Y2Vw
dGlvbi5odG1sIFsgV29udEZpeCBdCiBCdWcodGVzdCkgZmFpbHVyZXMvdW5leHBlY3RlZC9wYXNz
Lmh0bWwgWyBGYWlsdXJlIF0KIEJ1Zyh0ZXN0KSBwYXNzZXMvc2tpcHBlZC9za2lwLmh0bWwgWyBT
a2lwIF0KK0J1Zyh0ZXN0KSBjb3JuZXItY2FzZXMvZXdzL2RpcmVjdG9yeS1za2lwcGVkIFsgU2tp
cCBdCitCdWcodGVzdCkgY29ybmVyLWNhc2VzL2V3cy9kaXJlY3RvcnktZmxha3kgWyBQYXNzIFRp
bWVvdXQgRmFpbHVyZSBdCiAiIiIpCiAKICAgICAjIEZJWE1FOiBUaGlzIHRlc3Qgd2FzIG9ubHkg
YmVpbmcgaWdub3JlZCBiZWNhdXNlIG9mIG1pc3NpbmcgYSBsZWFkaW5nICcvJy4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>441773</attachid>
            <date>2021-10-19 12:49:30 -0700</date>
            <delta_ts>2021-10-19 12:52:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231265-20211019204844.patch</filename>
            <type>text/plain</type>
            <size>19271</size>
            <attacher name="Carlos Alberto Lopez Perez">clopez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0NDc5CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZGNkZGZhMGM5NzdiZTk5NzE5MjZkZTAzOTE5ODUzZDk0
N2FiYjRiNS4uNmUzOTc5YTgyM2U0MDdhOTliOGE1MjFkNDg4NTU4ZDY1NzExOTcyZSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5
IEBACisyMDIxLTEwLTE4ICBDYXJsb3MgQWxiZXJ0byBMb3BleiBQZXJleiAgPGNsb3BlekBpZ2Fs
aWEuY29tPgorCisgICAgICAgIFtFV1NdIEFsbG93IHRoZSBvcHRpbWl6YXRpb24gb2YgcnVubmlu
ZyBvbmx5IHRoZSBzdWJzZXQgb2YgZmFpbGVkIHRlc3RzIG9uIHJ1bi1sYXlvdXQtdGVzdHMtd2l0
aG91dC1wYXRjaCBhbHNvIGZvciBwYXRjaGVzIG1vZGlmeWluZyB0aGUgVGVzdEV4cGVjdGF0aW9u
cyBmaWxlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjMxMjY1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
T24gcjI3NDQ3NSBhbiBvcHRpbWl6YXRpb24gd2FzIGFwcGxpZWQgdG8gcnVuLWxheW91dC10ZXN0
cy13aXRob3V0LXBhdGNoIHRvIG9ubHkKKyAgICAgICAgcnVuIHRoZSBzdWJzZXQgb2YgdGVzdHMg
dGhhdCBmYWlsZWQgd2l0aCBwYXRjaCBpbnN0ZWFkIG9mIHRoZSB3aG9sZSBsYXlvdXQgdGVzdHMu
CisgICAgICAgIEJ1dCB0aGlzIG9wdGltaXphdGlvbiBoYWQgYSBjb3JuZXIgY2FzZSB3aGVyZSBp
dCBjb3VsZG4ndCBiZSBhcHBsaWVkLgorICAgICAgICBJdCBzZWVtcyB0aGF0IHdlIGNhbiBzdGls
bCBhcHBseSB0aGlzIG9wdGltaXphdGlvbiBpbiB0aGlzIGNvcm5lciBjYXNlIGlmIHdlIHBhc3MK
KyAgICAgICAgJy0tc2tpcHBlZD1hbHdheXMnIHRvIHJ1bi13ZWJraXQtdGVzdHMgc28gdGhhdCBT
a2lwcGVkIHRlc3RzIGFyZSBub3QgcnVuIGV2ZW4gaWYKKyAgICAgICAgdGhvc2UgYXJlIHNwZWNp
ZmllZCBhcyBhcmd1bWVudHMgb24gdGhlIGNvbW1hbmQtbGluZS4KKworICAgICAgICAqIENJU3Vw
cG9ydC9ld3MtYnVpbGQvc3RlcHMucHk6CisgICAgICAgIChSdW5XZWJLaXRUZXN0cy5zZXRMYXlv
dXRUZXN0Q29tbWFuZCk6CisgICAgICAgIChSdW5XZWJLaXRUZXN0c1dpdGhvdXRQYXRjaC5zZXRM
YXlvdXRUZXN0Q29tbWFuZCk6CisgICAgICAgICogQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVwc191
bml0dGVzdC5weToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9ydW5f
d2Via2l0X3Rlc3RzX2ludGVncmF0aW9udGVzdC5weToKKyAgICAgICAgKFJ1blRlc3QudGVzdF9l
d3NfY29ybmVyX2Nhc2VfZmFpbGluZ190ZXN0KToKKyAgICAgICAgKFJ1blRlc3QpOgorICAgICAg
ICAoUnVuVGVzdC50ZXN0X2V3c19jb3JuZXJfY2FzZV9mYWlsaW5nX2RpcmVjdG9yeSk6CisgICAg
ICAgIChSdW5UZXN0LnRlc3RfZXdzX2Nvcm5lcl9jYXNlX3NraXBwZWRfdGVzdCk6CisgICAgICAg
IChSdW5UZXN0LnRlc3RfZXdzX2Nvcm5lcl9jYXNlX3NraXBwZWRfZGlyZWN0b3J5KToKKyAgICAg
ICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvdGVzdC5weToKKwogMjAyMS0xMC0xOSAgSm9uYXRo
YW4gQmVkYXJkICA8amJlZGFyZEBhcHBsZS5jb20+CiAKICAgICAgICAgW3dlYmtpdHNjbXB5XSBG
aWx0ZXIgYXBwcm92ZXJzIGJ5IHN0YXR1cwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ0lTdXBwb3J0L2V3
cy1idWlsZC9zdGVwcy5weSBiL1Rvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHMucHkKaW5k
ZXggYzVjYzI0ZWE3ZGNlMTdlYTk5NTVmNDcxN2Y1Y2RjYzYyMGZjNjk2My4uZTRiMzY2YTg2ODYy
ZTc0MDA0MTk2MzU1YmI0MjUwNGUyNTVkOWRhNSAxMDA2NDQKLS0tIGEvVG9vbHMvQ0lTdXBwb3J0
L2V3cy1idWlsZC9zdGVwcy5weQorKysgYi9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBz
LnB5CkBAIC0yMjE4LDMxICsyMjE4LDYgQEAgY2xhc3MgUnVuV2ViS2l0VGVzdHMoc2hlbGwuVGVz
dCk6CiAgICAgICAgIGlmIHNlbGYuRU5BQkxFX0dVQVJEX01BTExPQzoKICAgICAgICAgICAgIHNl
bGYuc2V0Q29tbWFuZChzZWxmLmNvbW1hbmQgKyBbJy0tZ3VhcmQtbWFsbG9jJ10pCiAKLSAgICAg
ICAgaWYgc2VsZi5uYW1lID09ICdydW4tbGF5b3V0LXRlc3RzLXdpdGhvdXQtcGF0Y2gnOgotICAg
ICAgICAgICAgIyBJbiBvcmRlciB0byBzcGVlZCB1cCB0ZXN0aW5nLCBvbiB0aGUgc3RlcCB0aGF0
IHJldHJpZXMgcnVubmluZyB0aGUgbGF5b3V0IHRlc3RzIHdpdGhvdXQgcGF0Y2gKLSAgICAgICAg
ICAgICMgb25seSBydW4gdGhlIHN1YnNldCBvZiB0ZXN0cyB0aGF0IGZhaWxlZCBvbiB0aGUgcHJl
dmlvdXMgc3RlcHMuCi0gICAgICAgICAgICAjIEJ1dCBvbmx5IGRvIHRoYXQgaWYgdGhlIHByZXZp
b3VzIHN0ZXBzIGRpZG4ndCBleGNlZWQgdGhlIHRlc3QgZmFpbHVyZSBsaW1pdCBhbmQgdGhlIHBh
dGNoIGRvZXNuJ3QKLSAgICAgICAgICAgICMgbW9kaWZ5IHRoZSBUZXN0RXhwZWN0YXRpb25zIGZp
bGVzICh0aGVyZSBhcmUgY29ybmVyIGNhc2VzIHdoZXJlIHdlIGNhbid0IGd1YXJhbnRlZSB0aGUg
Y29ycmVjdG5lcwotICAgICAgICAgICAgIyBvZiB0aGlzIG9wdGltaXphdGlvbiBpZiB0aGUgcGF0
Y2ggbW9kaWZpZXMgdGhlIFRlc3RFeHBlY3RhdGlvbnMgZmlsZXMsIGZvciBleGFtcGxlLCBpZiB0
aGUgcGF0Y2gKLSAgICAgICAgICAgICMgcmVtb3ZlcyBza2lwcGVkIHRlc3RzIGJ1dCB0aG9zZSB0
ZXN0cyBzdGlsbCBmYWlsKS4KLSAgICAgICAgICAgIGZpcnN0X3Jlc3VsdHNfZGlkX2V4Y2VlZF90
ZXN0X2ZhaWx1cmVfbGltaXQgPSBzZWxmLmdldFByb3BlcnR5KCdmaXJzdF9yZXN1bHRzX2V4Y2Vl
ZF9mYWlsdXJlX2xpbWl0JywgRmFsc2UpCi0gICAgICAgICAgICBzZWNvbmRfcmVzdWx0c19kaWRf
ZXhjZWVkX3Rlc3RfZmFpbHVyZV9saW1pdCA9IHNlbGYuZ2V0UHJvcGVydHkoJ3NlY29uZF9yZXN1
bHRzX2V4Y2VlZF9mYWlsdXJlX2xpbWl0JywgRmFsc2UpCi0gICAgICAgICAgICBpZiBub3QgZmly
c3RfcmVzdWx0c19kaWRfZXhjZWVkX3Rlc3RfZmFpbHVyZV9saW1pdCBhbmQgbm90IHNlY29uZF9y
ZXN1bHRzX2RpZF9leGNlZWRfdGVzdF9mYWlsdXJlX2xpbWl0OgotICAgICAgICAgICAgICAgIHBh
dGNoX21vZGlmaWVzX2V4cGVjdGF0aW9uX2ZpbGVzID0gRmFsc2UKLSAgICAgICAgICAgICAgICBw
YXRjaCA9IHNlbGYuX2dldF9wYXRjaCgpCi0gICAgICAgICAgICAgICAgaWYgcGF0Y2g6Ci0gICAg
ICAgICAgICAgICAgICAgIGZvciBsaW5lIGluIHBhdGNoLnNwbGl0bGluZXMoKToKLSAgICAgICAg
ICAgICAgICAgICAgICAgIGxpbmUgPSBsaW5lLnN0cmlwKCkKLSAgICAgICAgICAgICAgICAgICAg
ICAgICMgcGF0Y2ggaXMgc3RvcmVkIGJ5IGJ1aWxkYm90IGFzIGJ5dGVzOiBodHRwczovL2dpdGh1
Yi5jb20vYnVpbGRib3QvYnVpbGRib3QvaXNzdWVzLzU4MTIjaXNzdWVjb21tZW50LTc5MDE3NTk3
OQotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGInTGF5b3V0VGVzdHMvJyBpbiBsaW5lIGFu
ZCBiJ1Rlc3RFeHBlY3RhdGlvbnMnIGluIGxpbmUpIGFuZCAobGluZS5zdGFydHN3aXRoKGInLS0t
Jykgb3IgbGluZS5zdGFydHN3aXRoKGInKysrJykpOgotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHBhdGNoX21vZGlmaWVzX2V4cGVjdGF0aW9uX2ZpbGVzID0gVHJ1ZQotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGJyZWFrCi0gICAgICAgICAgICAgICAgaWYgbm90IHBhdGNoX21vZGlm
aWVzX2V4cGVjdGF0aW9uX2ZpbGVzOgotICAgICAgICAgICAgICAgICAgICBmaXJzdF9yZXN1bHRz
X2ZhaWxpbmdfdGVzdHMgPSBzZXQoc2VsZi5nZXRQcm9wZXJ0eSgnZmlyc3RfcnVuX2ZhaWx1cmVz
Jywgc2V0KCkpKQotICAgICAgICAgICAgICAgICAgICBzZWNvbmRfcmVzdWx0c19mYWlsaW5nX3Rl
c3RzID0gc2V0KHNlbGYuZ2V0UHJvcGVydHkoJ3NlY29uZF9ydW5fZmFpbHVyZXMnLCBzZXQoKSkp
Ci0gICAgICAgICAgICAgICAgICAgIGxpc3RfcmV0cnlfdGVzdHMgPSBzb3J0ZWQoZmlyc3RfcmVz
dWx0c19mYWlsaW5nX3Rlc3RzLnVuaW9uKHNlY29uZF9yZXN1bHRzX2ZhaWxpbmdfdGVzdHMpKQot
ICAgICAgICAgICAgICAgICAgICBzZWxmLnNldENvbW1hbmQoc2VsZi5jb21tYW5kICsgbGlzdF9y
ZXRyeV90ZXN0cykKLQogICAgIGRlZiBzdGFydChzZWxmKToKICAgICAgICAgc2VsZi5sb2dfb2Jz
ZXJ2ZXIgPSBsb2dvYnNlcnZlci5CdWZmZXJMb2dPYnNlcnZlcih3YW50U3RkZXJyPVRydWUpCiAg
ICAgICAgIHNlbGYuYWRkTG9nT2JzZXJ2ZXIoJ3N0ZGlvJywgc2VsZi5sb2dfb2JzZXJ2ZXIpCkBA
IC0yNDk4LDYgKzI0NzMsMjUgQEAgY2xhc3MgUnVuV2ViS2l0VGVzdHNXaXRob3V0UGF0Y2goUnVu
V2ViS2l0VGVzdHMpOgogICAgICAgICAgICAgICAgIHNlbGYuX2FkZFRvTG9nKHNlbGYudGVzdF9m
YWlsdXJlc19sb2dfbmFtZSwgJ1xuJy5qb2luKGNsZWFuX3RyZWVfcmVzdWx0cy5mYWlsaW5nX3Rl
c3RzKSkKICAgICAgICAgc2VsZi5fcGFyc2VSdW5XZWJLaXRUZXN0c091dHB1dChsb2dUZXh0KQog
CisgICAgZGVmIHNldExheW91dFRlc3RDb21tYW5kKHNlbGYpOgorICAgICAgICBzdXBlcihSdW5X
ZWJLaXRUZXN0c1dpdGhvdXRQYXRjaCwgc2VsZikuc2V0TGF5b3V0VGVzdENvbW1hbmQoKQorICAg
ICAgICAjIEluIG9yZGVyIHRvIHNwZWVkIHVwIHRlc3RpbmcsIG9uIHRoZSBzdGVwIHRoYXQgcmV0
cmllcyBydW5uaW5nIHRoZSBsYXlvdXQgdGVzdHMgd2l0aG91dCBwYXRjaAorICAgICAgICAjIG9u
bHkgcnVuIHRoZSBzdWJzZXQgb2YgdGVzdHMgdGhhdCBmYWlsZWQgb24gdGhlIHByZXZpb3VzIHN0
ZXBzLgorICAgICAgICAjIEJ1dCBvbmx5IGRvIHRoYXQgaWYgdGhlIHByZXZpb3VzIHN0ZXBzIGRp
ZG4ndCBleGNlZWQgdGhlIHRlc3QgZmFpbHVyZSBsaW1pdAorICAgICAgICAjIEFsc28gcGFzcyAn
LS1za2lwcGVkPWFsd2F5cycgdG8gYXZvaWQgcnVubmluZyBhIHRlc3QgdGhhdCBpcyBza2lwcGVk
IG9uIHRoZSBjbGVhbiB0cmVlIGFuZCB0aGF0CisgICAgICAgICMgdGhlIHBhdGNoIHJlbW92ZWQg
ZnJvbSB0aGUgVGVzdEV4cGVjdGF0aW9ucyBmaWxlIG1lYW53aGlsZSBpdCBzdGlsbCBmYWlscyB3
aXRoIHRoZSBwYXRjaCAoc28KKyAgICAgICAgIyBpdCBpcyBwYXNzZWQgYXMgYW4gYXJndW1lbnQg
b24gdGhlIGNvbW1hbmQtbGluZSkKKyAgICAgICAgIyBUaGUgZmxhZyAnLS1za2lwLWZhaWxpbmct
dGVzdHMnIHRoYXQgaXMgcGFzc2VkIGJ5IGRlZmF1bHQgKGluIGNvbWJpbmF0aW9uIHdpdGggJy0t
c2tpcHBlZD1hbHdheXMnKQorICAgICAgICAjIGF2b2lkcyBydW5uaW5nIHRlc3RzIG1hcmtlZCBh
cyBmYWlsaW5nIG9uIHRoZSBFeHBlY3RhdGlvbiBmaWxlcyBldmVuIHdoZW4gdGhvc2UgYXJlIHBh
c3NlZCBhcyBhcmd1bWVudHMuCisgICAgICAgIGZpcnN0X3Jlc3VsdHNfZGlkX2V4Y2VlZF90ZXN0
X2ZhaWx1cmVfbGltaXQgPSBzZWxmLmdldFByb3BlcnR5KCdmaXJzdF9yZXN1bHRzX2V4Y2VlZF9m
YWlsdXJlX2xpbWl0JywgRmFsc2UpCisgICAgICAgIHNlY29uZF9yZXN1bHRzX2RpZF9leGNlZWRf
dGVzdF9mYWlsdXJlX2xpbWl0ID0gc2VsZi5nZXRQcm9wZXJ0eSgnc2Vjb25kX3Jlc3VsdHNfZXhj
ZWVkX2ZhaWx1cmVfbGltaXQnLCBGYWxzZSkKKyAgICAgICAgaWYgbm90IGZpcnN0X3Jlc3VsdHNf
ZGlkX2V4Y2VlZF90ZXN0X2ZhaWx1cmVfbGltaXQgYW5kIG5vdCBzZWNvbmRfcmVzdWx0c19kaWRf
ZXhjZWVkX3Rlc3RfZmFpbHVyZV9saW1pdDoKKyAgICAgICAgICAgIGZpcnN0X3Jlc3VsdHNfZmFp
bGluZ190ZXN0cyA9IHNldChzZWxmLmdldFByb3BlcnR5KCdmaXJzdF9ydW5fZmFpbHVyZXMnLCBz
ZXQoKSkpCisgICAgICAgICAgICBzZWNvbmRfcmVzdWx0c19mYWlsaW5nX3Rlc3RzID0gc2V0KHNl
bGYuZ2V0UHJvcGVydHkoJ3NlY29uZF9ydW5fZmFpbHVyZXMnLCBzZXQoKSkpCisgICAgICAgICAg
ICBsaXN0X2ZhaWxlZF90ZXN0c193aXRoX3BhdGNoID0gc29ydGVkKGZpcnN0X3Jlc3VsdHNfZmFp
bGluZ190ZXN0cy51bmlvbihzZWNvbmRfcmVzdWx0c19mYWlsaW5nX3Rlc3RzKSkKKyAgICAgICAg
ICAgIGlmIGxpc3RfZmFpbGVkX3Rlc3RzX3dpdGhfcGF0Y2g6CisgICAgICAgICAgICAgICAgc2Vs
Zi5zZXRDb21tYW5kKHNlbGYuY29tbWFuZCArIFsnLS1za2lwcGVkPWFsd2F5cyddICsgbGlzdF9m
YWlsZWRfdGVzdHNfd2l0aF9wYXRjaCkKKwogCiBjbGFzcyBBbmFseXplTGF5b3V0VGVzdHNSZXN1
bHRzKGJ1aWxkc3RlcC5CdWlsZFN0ZXAsIEJ1Z3ppbGxhTWl4aW4pOgogICAgIG5hbWUgPSAnYW5h
bHl6ZS1sYXlvdXQtdGVzdHMtcmVzdWx0cycKZGlmZiAtLWdpdCBhL1Rvb2xzL0NJU3VwcG9ydC9l
d3MtYnVpbGQvc3RlcHNfdW5pdHRlc3QucHkgYi9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0
ZXBzX3VuaXR0ZXN0LnB5CmluZGV4IGM4YzI2MmUxNTQxZDRiZjlhMWM3NTk1OWNlM2ZjY2JkODYx
NTFkMGIuLjJkZjNkN2I3OTE2OWNkOTM5NDgwZGQxZGMxOTU0YmQzZDI4ZWFhZmUgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHNfdW5pdHRlc3QucHkKKysrIGIvVG9v
bHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVwc191bml0dGVzdC5weQpAQCAtMjE1MiwxMiArMjE1
MiwxMiBAQCBjbGFzcyBUZXN0UnVuV2ViS2l0VGVzdHNXaXRob3V0UGF0Y2goQnVpbGRTdGVwTWl4
aW5BZGRpdGlvbnMsIHVuaXR0ZXN0LlRlc3RDYXNlKQogICAgICAgICBzZWxmLmV4cGVjdE91dGNv
bWUocmVzdWx0PVNVQ0NFU1MsIHN0YXRlX3N0cmluZz0nbGF5b3V0LXRlc3RzJykKICAgICAgICAg
cmV0dXJuIHNlbGYucnVuU3RlcCgpCiAKLSAgICBkZWYgdGVzdF9zdWNjZXNzX3JldHJ5X29ubHlf
c3Vic2V0KHNlbGYpOgorICAgIGRlZiB0ZXN0X3J1bl9zdWJ0ZXN0X3Rlc3RzX3N1Y2Nlc3Moc2Vs
Zik6CiAgICAgICAgIHNlbGYuY29uZmlndXJlU3RlcCgpCiAgICAgICAgIHNlbGYuc2V0UHJvcGVy
dHkoJ2Z1bGxQbGF0Zm9ybScsICdpb3Mtc2ltdWxhdG9yJykKICAgICAgICAgc2VsZi5zZXRQcm9w
ZXJ0eSgnY29uZmlndXJhdGlvbicsICdyZWxlYXNlJykKLSAgICAgICAgc2VsZi5zZXRQcm9wZXJ0
eSgnZmlyc3RfcnVuX2ZhaWx1cmVzJywgWyd0ZXN0MScsICd0ZXN0MicsICd0ZXN0MyddKQotICAg
ICAgICBzZWxmLnNldFByb3BlcnR5KCdzZWNvbmRfcnVuX2ZhaWx1cmVzJywgWyd0ZXN0MScsICd0
ZXN0MycsICd0ZXN0NCddKQorICAgICAgICBzZWxmLnNldFByb3BlcnR5KCdmaXJzdF9ydW5fZmFp
bHVyZXMnLCBbJ3Rlc3QxLmh0bWwnLCAndGVzdDIuaHRtbCcsICd0ZXN0My5odG1sJ10pCisgICAg
ICAgIHNlbGYuc2V0UHJvcGVydHkoJ3NlY29uZF9ydW5fZmFpbHVyZXMnLCBbJ3Rlc3QzLmh0bWwn
LCAndGVzdDQuaHRtbCcsICd0ZXN0NS5odG1sJ10pCiAgICAgICAgIHNlbGYuZXhwZWN0UmVtb3Rl
Q29tbWFuZHMoCiAgICAgICAgICAgICBFeHBlY3RTaGVsbCh3b3JrZGlyPSd3a2RpcicsCiAgICAg
ICAgICAgICAgICAgICAgICAgICBsb2dmaWxlcz17J2pzb24nOiBzZWxmLmpzb25GaWxlTmFtZX0s
CkBAIC0yMTczLDIwICsyMTczLDIwIEBAIGNsYXNzIFRlc3RSdW5XZWJLaXRUZXN0c1dpdGhvdXRQ
YXRjaChCdWlsZFN0ZXBNaXhpbkFkZGl0aW9ucywgdW5pdHRlc3QuVGVzdENhc2UpCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAnLS1kZWJ1Zy1yd3QtbG9nZ2luZycsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAnLS1leGl0LWFmdGVyLW4tZmFpbHVyZXMnLCAnMzAn
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0tc2tpcC1mYWlsaW5nLXRlc3Rz
JywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0ZXN0MScsICd0ZXN0MicsICd0
ZXN0MycsICd0ZXN0NCddLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0tc2tp
cHBlZD1hbHdheXMnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Rlc3QxLmh0
bWwnLCAndGVzdDIuaHRtbCcsICd0ZXN0My5odG1sJywgJ3Rlc3Q0Lmh0bWwnLCAndGVzdDUuaHRt
bCddLAogICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgKyAwLAogICAgICAg
ICApCiAgICAgICAgIHNlbGYuZXhwZWN0T3V0Y29tZShyZXN1bHQ9U1VDQ0VTUywgc3RhdGVfc3Ry
aW5nPSdsYXlvdXQtdGVzdHMnKQogICAgICAgICByZXR1cm4gc2VsZi5ydW5TdGVwKCkKIAotICAg
IGRlZiB0ZXN0X3N1Y2Nlc3NfcmV0cnlfb25seV9zdWJzZXRfbGltaXRfZXhjZWVkZWQoc2VsZik6
CisgICAgZGVmIHRlc3RfcnVuX3N1YnRlc3RfdGVzdHNfcmVtb3Zlc19za2lwcGVkX3RoYXRfZmFp
bHMoc2VsZik6CiAgICAgICAgIHNlbGYuY29uZmlndXJlU3RlcCgpCiAgICAgICAgIHNlbGYuc2V0
UHJvcGVydHkoJ2Z1bGxQbGF0Zm9ybScsICdpb3Mtc2ltdWxhdG9yJykKICAgICAgICAgc2VsZi5z
ZXRQcm9wZXJ0eSgnY29uZmlndXJhdGlvbicsICdyZWxlYXNlJykKLSAgICAgICAgc2VsZi5zZXRQ
cm9wZXJ0eSgnZmlyc3RfcnVuX2ZhaWx1cmVzJywgWyd0ZXN0MScsICd0ZXN0MicsICd0ZXN0Mydd
KQotICAgICAgICBzZWxmLnNldFByb3BlcnR5KCdzZWNvbmRfcmVzdWx0c19leGNlZWRfZmFpbHVy
ZV9saW1pdCcsIFRydWUpCi0gICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ3NlY29uZF9ydW5fZmFp
bHVyZXMnLCBbJ3Rlc3R7fScuZm9ybWF0KGkpIGZvciBpIGluIHJhbmdlKDAsIDMwKV0pCisgICAg
ICAgIHNlbGYuc2V0UHJvcGVydHkoJ2ZpcnN0X3J1bl9mYWlsdXJlcycsIFsndGVzdC13YXMtc2tp
cHBlZC1wYXRjaC1yZW1vdmVkLWV4cGVjdGF0aW9uLWJ1dC1zdGlsbC1mYWlscy5odG1sJ10pCisg
ICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ3NlY29uZF9ydW5fZmFpbHVyZXMnLCBbJ3Rlc3Qtd2Fz
LXNraXBwZWQtcGF0Y2gtcmVtb3ZlZC1leHBlY3RhdGlvbi1idXQtc3RpbGwtZmFpbHMuaHRtbCdd
KQogICAgICAgICBzZWxmLmV4cGVjdFJlbW90ZUNvbW1hbmRzKAogICAgICAgICAgICAgRXhwZWN0
U2hlbGwod29ya2Rpcj0nd2tkaXInLAogICAgICAgICAgICAgICAgICAgICAgICAgbG9nZmlsZXM9
eydqc29uJzogc2VsZi5qc29uRmlsZU5hbWV9LApAQCAtMjIwMSwyMCArMjIwMSwyMSBAQCBjbGFz
cyBUZXN0UnVuV2ViS2l0VGVzdHNXaXRob3V0UGF0Y2goQnVpbGRTdGVwTWl4aW5BZGRpdGlvbnMs
IHVuaXR0ZXN0LlRlc3RDYXNlKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0t
cmVzdWx0cy1kaXJlY3RvcnknLCAnbGF5b3V0LXRlc3QtcmVzdWx0cycsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAnLS1kZWJ1Zy1yd3QtbG9nZ2luZycsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAnLS1leGl0LWFmdGVyLW4tZmFpbHVyZXMnLCAnMzAnLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0tc2tpcC1mYWlsaW5nLXRlc3RzJ10sCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLS1za2lwLWZhaWxpbmctdGVzdHMnLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0tc2tpcHBlZD1hbHdheXMnLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Rlc3Qtd2FzLXNraXBwZWQtcGF0Y2gtcmVt
b3ZlZC1leHBlY3RhdGlvbi1idXQtc3RpbGwtZmFpbHMuaHRtbCddLAogICAgICAgICAgICAgICAg
ICAgICAgICAgKQogICAgICAgICAgICAgKyAwLAogICAgICAgICApCiAgICAgICAgIHNlbGYuZXhw
ZWN0T3V0Y29tZShyZXN1bHQ9U1VDQ0VTUywgc3RhdGVfc3RyaW5nPSdsYXlvdXQtdGVzdHMnKQog
ICAgICAgICByZXR1cm4gc2VsZi5ydW5TdGVwKCkKIAotICAgIGRlZiB0ZXN0X3N1Y2Nlc3NfcmV0
cnlfb25seV9zdWJzZXRfcGF0Y2hfbm9fbW9kaWZpZXNfZXhwZWN0YXRpb25zKHNlbGYpOgorICAg
IGRlZiB0ZXN0X3J1bl9zdWJ0ZXN0X3Rlc3RzX2ZhaWwoc2VsZik6CiAgICAgICAgIHNlbGYuY29u
ZmlndXJlU3RlcCgpCiAgICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ2Z1bGxQbGF0Zm9ybScsICdp
b3Mtc2ltdWxhdG9yJykKICAgICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgnY29uZmlndXJhdGlvbics
ICdyZWxlYXNlJykKLSAgICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgnZmlyc3RfcnVuX2ZhaWx1cmVz
JywgWyd0ZXN0MScsICd0ZXN0MicsICd0ZXN0MyddKQotICAgICAgICBzZWxmLnNldFByb3BlcnR5
KCdzZWNvbmRfcnVuX2ZhaWx1cmVzJywgWyd0ZXN0MScsICd0ZXN0MycsICd0ZXN0NCddKQotICAg
ICAgICBSdW5XZWJLaXRUZXN0cy5fZ2V0X3BhdGNoID0gbGFtYmRhIHg6IGInKysrIFRvb2xzL0No
YW5nZUxvZ1xuKysrIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvT3B0aW9ucy5jcHBcbicKKyAgICAg
ICAgc2VsZi5zZXRQcm9wZXJ0eSgnZmlyc3RfcnVuX2ZhaWx1cmVzJywgWyd0ZXN0LWZhaWxzLXdp
dGhwYXRjaDEuaHRtbCcsICd0ZXN0LXByZS1leGlzdGVudC1mYWlsdXJlMS5odG1sJ10pCisgICAg
ICAgIHNlbGYuc2V0UHJvcGVydHkoJ3NlY29uZF9ydW5fZmFpbHVyZXMnLCBbJ3Rlc3QtZmFpbHMt
d2l0aHBhdGNoMi5odG1sJywgJ3Rlc3QtcHJlLWV4aXN0ZW50LWZhaWx1cmUyLmh0bWwnXSkKICAg
ICAgICAgc2VsZi5leHBlY3RSZW1vdGVDb21tYW5kcygKICAgICAgICAgICAgIEV4cGVjdFNoZWxs
KHdvcmtkaXI9J3drZGlyJywKICAgICAgICAgICAgICAgICAgICAgICAgIGxvZ2ZpbGVzPXsnanNv
bic6IHNlbGYuanNvbkZpbGVOYW1lfSwKQEAgLTIyMzAsMjAgKzIyMzEsMjIgQEAgY2xhc3MgVGVz
dFJ1bldlYktpdFRlc3RzV2l0aG91dFBhdGNoKEJ1aWxkU3RlcE1peGluQWRkaXRpb25zLCB1bml0
dGVzdC5UZXN0Q2FzZSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICctLWRlYnVn
LXJ3dC1sb2dnaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICctLWV4aXQt
YWZ0ZXItbi1mYWlsdXJlcycsICczMCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAnLS1za2lwLWZhaWxpbmctdGVzdHMnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgJ3Rlc3QxJywgJ3Rlc3QyJywgJ3Rlc3QzJywgJ3Rlc3Q0J10sCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAnLS1za2lwcGVkPWFsd2F5cycsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAndGVzdC1mYWlscy13aXRocGF0Y2gxLmh0bWwnLCAndGVzdC1mYWlscy13
aXRocGF0Y2gyLmh0bWwnLCAndGVzdC1wcmUtZXhpc3RlbnQtZmFpbHVyZTEuaHRtbCcsICd0ZXN0
LXByZS1leGlzdGVudC1mYWlsdXJlMi5odG1sJ10sCiAgICAgICAgICAgICAgICAgICAgICAgICAp
Ci0gICAgICAgICAgICArIDAsCisgICAgICAgICAgICArIEV4cGVjdFNoZWxsLmxvZygnc3RkaW8n
LCBzdGRvdXQ9JzIgZmFpbHVyZXMgZm91bmQuJykKKyAgICAgICAgICAgICsgMiwKICAgICAgICAg
KQotICAgICAgICBzZWxmLmV4cGVjdE91dGNvbWUocmVzdWx0PVNVQ0NFU1MsIHN0YXRlX3N0cmlu
Zz0nbGF5b3V0LXRlc3RzJykKKyAgICAgICAgc2VsZi5leHBlY3RPdXRjb21lKHJlc3VsdD1GQUlM
VVJFLCBzdGF0ZV9zdHJpbmc9J2xheW91dC10ZXN0cyAoZmFpbHVyZSknKQogICAgICAgICByZXR1
cm4gc2VsZi5ydW5TdGVwKCkKIAotICAgIGRlZiB0ZXN0X3N1Y2Nlc3NfcmV0cnlfb25seV9zdWJz
ZXRfcGF0Y2hfbW9kaWZpZXNfZXhwZWN0YXRpb25zKHNlbGYpOgorICAgIGRlZiB0ZXN0X3J1bl9z
dWJ0ZXN0X3Rlc3RzX2xpbWl0X2V4Y2VlZGVkKHNlbGYpOgogICAgICAgICBzZWxmLmNvbmZpZ3Vy
ZVN0ZXAoKQogICAgICAgICBzZWxmLnNldFByb3BlcnR5KCdmdWxsUGxhdGZvcm0nLCAnaW9zLXNp
bXVsYXRvcicpCiAgICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ2NvbmZpZ3VyYXRpb24nLCAncmVs
ZWFzZScpCi0gICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ2ZpcnN0X3J1bl9mYWlsdXJlcycsIFsn
dGVzdDEnLCAndGVzdDInLCAndGVzdDMnXSkKLSAgICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgnc2Vj
b25kX3J1bl9mYWlsdXJlcycsIFsndGVzdDEnLCAndGVzdDMnLCAndGVzdDQnXSkKLSAgICAgICAg
UnVuV2ViS2l0VGVzdHMuX2dldF9wYXRjaCA9IGxhbWJkYSB4OiBiJysrKyBMYXlvdXRUZXN0cy9D
aGFuZ2Vsb2dcbisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9uc1xu
JworICAgICAgICBzZWxmLnNldFByb3BlcnR5KCdmaXJzdF9ydW5fZmFpbHVyZXMnLCBbJ3Rlc3Qx
Lmh0bWwnLCAndGVzdDIuaHRtbCcsICd0ZXN0My5odG1sJ10pCisgICAgICAgIHNlbGYuc2V0UHJv
cGVydHkoJ3NlY29uZF9yZXN1bHRzX2V4Y2VlZF9mYWlsdXJlX2xpbWl0JywgVHJ1ZSkKKyAgICAg
ICAgc2VsZi5zZXRQcm9wZXJ0eSgnc2Vjb25kX3J1bl9mYWlsdXJlcycsIFsndGVzdHt9Lmh0bWwn
LmZvcm1hdChpKSBmb3IgaSBpbiByYW5nZSgwLCAzMCldKQogICAgICAgICBzZWxmLmV4cGVjdFJl
bW90ZUNvbW1hbmRzKAogICAgICAgICAgICAgRXhwZWN0U2hlbGwod29ya2Rpcj0nd2tkaXInLAog
ICAgICAgICAgICAgICAgICAgICAgICAgbG9nZmlsZXM9eydqc29uJzogc2VsZi5qc29uRmlsZU5h
bWV9LApAQCAtMjU0Miw2ICsyNTQ1LDE1IEBAIGNsYXNzIFRlc3RBbmFseXplTGF5b3V0VGVzdHNS
ZXN1bHRzKEJ1aWxkU3RlcE1peGluQWRkaXRpb25zLCB1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAg
ICAgIHNlbGYuZXhwZWN0T3V0Y29tZShyZXN1bHQ9RkFJTFVSRSwgc3RhdGVfc3RyaW5nPSdGb3Vu
ZCB1bmV4cGVjdGVkIGZhaWx1cmUgd2l0aCBwYXRjaCAoZmFpbHVyZSknKQogICAgICAgICByZXR1
cm4gc2VsZi5ydW5TdGVwKCkKIAorICAgIGRlZiB0ZXN0X3BhdGNoX3JlbW92ZXNfc2tpcHBlZF90
ZXN0X3RoYXRfZmFpbHMoc2VsZik6CisgICAgICAgIHNlbGYuY29uZmlndXJlU3RlcCgpCisgICAg
ICAgIHNlbGYuc2V0UHJvcGVydHkoJ2ZpcnN0X3J1bl9mYWlsdXJlcycsIFsnanF1ZXJ5L29mZnNl
dC5odG1sJ10pCisgICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ3NlY29uZF9ydW5fZmFpbHVyZXMn
LCBbJ2pxdWVyeS9vZmZzZXQuaHRtbCddKQorICAgICAgICBzZWxmLnNldFByb3BlcnR5KCdjbGVh
bl90cmVlX3J1bl9mYWlsdXJlcycsIFtdKQorICAgICAgICBzZWxmLnNldFByb3BlcnR5KCdjbGVh
bl90cmVlX3J1bl9zdGF0dXMnLCBTVUNDRVNTKQorICAgICAgICBzZWxmLmV4cGVjdE91dGNvbWUo
cmVzdWx0PUZBSUxVUkUsIHN0YXRlX3N0cmluZz0nRm91bmQgMSBuZXcgdGVzdCBmYWlsdXJlOiBq
cXVlcnkvb2Zmc2V0Lmh0bWwgKGZhaWx1cmUpJykKKyAgICAgICAgcmV0dXJuIHNlbGYucnVuU3Rl
cCgpCisKIAogY2xhc3MgVGVzdENoZWNrT3V0U3BlY2lmaWNSZXZpc2lvbihCdWlsZFN0ZXBNaXhp
bkFkZGl0aW9ucywgdW5pdHRlc3QuVGVzdENhc2UpOgogICAgIGRlZiBzZXRVcChzZWxmKToKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRf
dGVzdHNfaW50ZWdyYXRpb250ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRf
dGVzdHMvcnVuX3dlYmtpdF90ZXN0c19pbnRlZ3JhdGlvbnRlc3QucHkKaW5kZXggZTY3ZWNlNTA3
ZDQwYTM5ODA3OWYzMjNlZTdhNTdjZWY5NmZjYjQ0Ny4uMGJkMzA4ZTBjYzU5MDI3Y2VkMWQ0ZWIx
ODkwOGI4YzYxODY1MTlkOCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0c19pbnRlZ3JhdGlvbnRlc3QucHkKKysrIGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0c19pbnRlZ3JhdGlv
bnRlc3QucHkKQEAgLTM0OSw2ICszNDksMzkgQEAgY2xhc3MgUnVuVGVzdCh1bml0dGVzdC5UZXN0
Q2FzZSwgU3RyZWFtVGVzdGluZ01peGluKToKICAgICAgICAgIyBOb3cgY2hlY2sgdGhhdCB3ZSBk
b24ndCBydW4gYW55dGhpbmcuCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZ2V0X3Rlc3RzX3J1
bihbJy0tc2tpcHBlZD1hbHdheXMnLCAncGFzc2VzL3NraXBwZWQvc2tpcC5odG1sJ10pLCBbXSkK
IAorICAgIGRlZiB0ZXN0X2V3c19jb3JuZXJfY2FzZV9mYWlsaW5nX3Rlc3Qoc2VsZik6CisgICAg
ICAgICMgV2Ugc2hvdWxkIHNraXAgcnVubmluZyB0ZXN0cyBtYXJrZWQgYXMgZmFpbHVyZXMgKG9y
IGZsYWtpZXMpIHdoZW4gcGFzc2luZyAnLS1za2lwLWZhaWxpbmctdGVzdHMnCisgICAgICAgIHNl
bGYuYXNzZXJ0RXF1YWwoZ2V0X3Rlc3RzX3J1bihbJy0tc2tpcC1mYWlsaW5nLXRlc3RzJywgJ2Zh
aWx1cmVzL2V4cGVjdGVkJ10pLCBbXSkKKyAgICAgICAgIyBCdXQgaWYgd2Ugc3BlY2lmeSB0aGUg
bmFtZSBvZiB0aGUgaW5kaXZpZHVhbCB0ZXN0cywgdGhlbiB0aG9zZSB0ZXN0cyBzaG91bGQgcnVu
CisgICAgICAgIGxpc3Rfb2ZfdGVzdHNfZmFpbGluZyA9IFsnZmFpbHVyZXMvZXhwZWN0ZWQvdGlt
ZW91dC5odG1sJywgJ2ZhaWx1cmVzL2V4cGVjdGVkL3RleHQuaHRtbCcsICdmYWlsdXJlcy9leHBl
Y3RlZC9jcmFzaC5odG1sJywgJ2ZhaWx1cmVzL2V4cGVjdGVkL21pc3NpbmdfaW1hZ2UuaHRtbCdd
CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZ2V0X3Rlc3RzX3J1bihbJy0tc2tpcC1mYWlsaW5n
LXRlc3RzJ10gKyBsaXN0X29mX3Rlc3RzX2ZhaWxpbmcpLCBsaXN0X29mX3Rlc3RzX2ZhaWxpbmcp
CisgICAgICAgICMgVW5sZXNzIHdlIHNwZWNpZnkgYWxzbyAnLS1za2lwcGVkPWFsd2F5cycsIHRo
ZW4gdGhleSBzaG91bGQgYmUgc2tpcHBlZCBldmVuIHdoZW4gd2UgbGlzdCB0aGVtIGluZGl2aWR1
YWxseSBvbiB0aGUgY29tbWFuZCBsaW5lCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZ2V0X3Rl
c3RzX3J1bihbJy0tc2tpcC1mYWlsaW5nLXRlc3RzJywgJy0tc2tpcHBlZD1hbHdheXMnXSArIGxp
c3Rfb2ZfdGVzdHNfZmFpbGluZyksIFtdKQorCisgICAgZGVmIHRlc3RfZXdzX2Nvcm5lcl9jYXNl
X2ZhaWxpbmdfZGlyZWN0b3J5KHNlbGYpOgorICAgICAgICAjIFdoZW4gYSB3aG9sZSBkaXJlY3Rv
cnkgaXMgaXMgbWFya2VkIGFzIGZhaWxpbmcgKG9yIGZsYWt5KSwgdGhlbiB0aGUgdGVzdHMgaW5z
aWRlIHNob3VsZCBub3QgcnVuIGlmIHdlIHNwZWNpZnkgdGhlIG5hbWUgb2YgdGhlIGRpcmVjdG9y
eSBhbmQgd2UgcGFzcyAnLS1za2lwLWZhaWxpbmctdGVzdHMnCisgICAgICAgIHNlbGYuYXNzZXJ0
RXF1YWwoZ2V0X3Rlc3RzX3J1bihbJy0tc2tpcC1mYWlsaW5nLXRlc3RzJywgJ2Nvcm5lci1jYXNl
cy9ld3MvZGlyZWN0b3J5LWZsYWt5J10pLCBbXSkKKyAgICAgICAgIyBCdXQgaWYgd2Ugc3BlY2lm
eSBvbiB0aGUgY29tbWFuZC1saW5lIHRoZSBuYW1lIG9mIGluZGl2aWR1YWwgdGVzdHMgaW5zaWRl
IHRoYXQgZGlyZWN0b3J5IHRoZSB0ZXN0cyBzaG91bGQgcnVuIChldmVuIHdpdGggJy0tc2tpcC1m
YWlsaW5nLXRlc3RzJykKKyAgICAgICAgbGlzdF9vZl90ZXN0c19mYWlsaW5nID0gWydjb3JuZXIt
Y2FzZXMvZXdzL2RpcmVjdG9yeS1za2lwcGVkL2ZhaWx1cmUuaHRtbCcsICdjb3JuZXItY2FzZXMv
ZXdzL2RpcmVjdG9yeS1za2lwcGVkL3RpbWVvdXQuaHRtbCddCisgICAgICAgIHNlbGYuYXNzZXJ0
RXF1YWwoZ2V0X3Rlc3RzX3J1bihbJy0tbm8tcmV0cnktZmFpbHVyZXMnLCAnLS1za2lwLWZhaWxp
bmctdGVzdHMnXSArIGxpc3Rfb2ZfdGVzdHNfZmFpbGluZyksIGxpc3Rfb2ZfdGVzdHNfZmFpbGlu
ZykKKyAgICAgICAgIyBVbmxlc3Mgd2Ugc3BlY2lmeSBhbHNvICctLXNraXBwZWQ9YWx3YXlzJyAo
aW4gY29tYmluYXRpb24gd2l0aCAnLS1za2lwLWZhaWxpbmctdGVzdHMnKSwgdGhlbiB0aGV5IHNo
b3VsZCBiZSBza2lwcGVkIGV2ZW4gd2hlbiB3ZSBsaXN0IHRoZW0gaW5kaXZpZHVhbGx5IG9uIHRo
ZSBjb21tYW5kIGxpbmUKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChnZXRfdGVzdHNfcnVuKFsn
LS1uby1yZXRyeS1mYWlsdXJlcycsICAnLS1za2lwLWZhaWxpbmctdGVzdHMnLCAnLS1za2lwcGVk
PWFsd2F5cyddICsgbGlzdF9vZl90ZXN0c19mYWlsaW5nKSwgW10pCisKKyAgICBkZWYgdGVzdF9l
d3NfY29ybmVyX2Nhc2Vfc2tpcHBlZF90ZXN0KHNlbGYpOgorICAgICAgICAjIFdoZW4gd2Ugc3Bl
Y2lmeSBvbiB0aGUgY29tbWFuZCBsaW5lIHRoZSBuYW1lIG9mIGEgdGVzdCBza2lwcGVkIHRoaXMg
dGVzdCBzaG91bGQgcnVuCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZ2V0X3Rlc3RzX3J1bihb
J3Bhc3Nlcy9za2lwcGVkL3NraXAuaHRtbCddKSwgWydwYXNzZXMvc2tpcHBlZC9za2lwLmh0bWwn
XSkKKyAgICAgICAgIyBVbmxlc3Mgd2Ugc3BlY2lmeSBhbHNvICctLXNraXBwZWQ9YWx3YXlzJywg
dGhlbiBpdCBzaG91bGQgYmUgc2tpcHBlZCBldmVuIHdoZW4gd2UgbGlzdCBpdCBvbiB0aGUgY29t
bWFuZCBsaW5lCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZ2V0X3Rlc3RzX3J1bihbJy0tc2tp
cHBlZD1hbHdheXMnLCAncGFzc2VzL3NraXBwZWQvc2tpcC5odG1sJ10pLCBbXSkKKworICAgIGRl
ZiB0ZXN0X2V3c19jb3JuZXJfY2FzZV9za2lwcGVkX2RpcmVjdG9yeShzZWxmKToKKyAgICAgICAg
IyBXaGVuIGEgd2hvbGUgZGlyZWN0b3J5IGlzIHNraXBwZWQsIHRoZW4gdGhlIHRlc3RzIGluc2lk
ZSBzaG91bGQgbm90IHJ1biBpZiB3ZSBzcGVjaWZ5IHRoZSBuYW1lIG9mIHRoZSBkaXJlY3RvcnkK
KyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChnZXRfdGVzdHNfcnVuKFsnY29ybmVyLWNhc2VzL2V3
cy9kaXJlY3Rvcnktc2tpcHBlZCddKSwgW10pCisgICAgICAgICMgQnV0IGlmIHdlIHNwZWNpZnkg
b24gdGhlIGNvbW1hbmQtbGluZSB0aGUgbmFtZSBvZiBpbmRpdmlkdWFsIHRlc3RzIGluc2lkZSB0
aGF0IGRpcmVjdG9yeSB0aGUgdGVzdHMgc2hvdWxkIHJ1bgorICAgICAgICBsaXN0X29mX3Rlc3Rz
X2ZhaWxpbmcgPSBbJ2Nvcm5lci1jYXNlcy9ld3MvZGlyZWN0b3J5LXNraXBwZWQvZmFpbHVyZS5o
dG1sJywgJ2Nvcm5lci1jYXNlcy9ld3MvZGlyZWN0b3J5LXNraXBwZWQvdGltZW91dC5odG1sJ10K
KyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChnZXRfdGVzdHNfcnVuKFsnLS1uby1yZXRyeS1mYWls
dXJlcyddICsgbGlzdF9vZl90ZXN0c19mYWlsaW5nKSwgbGlzdF9vZl90ZXN0c19mYWlsaW5nKQor
ICAgICAgICAjIFVubGVzcyB3ZSBzcGVjaWZ5IGFsc28gJy0tc2tpcHBlZD1hbHdheXMnLCB0aGVu
IHRoZXkgc2hvdWxkIGJlIHNraXBwZWQgZXZlbiB3aGVuIHdlIGxpc3QgdGhlbSBpbmRpdmlkdWFs
bHkgb24gdGhlIGNvbW1hbmQgbGluZQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGdldF90ZXN0
c19ydW4oWyctLW5vLXJldHJ5LWZhaWx1cmVzJywgJy0tc2tpcHBlZD1hbHdheXMnXSArIGxpc3Rf
b2ZfdGVzdHNfZmFpbGluZyksIFtdKQorCiAgICAgZGVmIHRlc3RfaXRlcmF0aW9ucyhzZWxmKToK
ICAgICAgICAgdGVzdHNfdG9fcnVuID0gWydwYXNzZXMvaW1hZ2UuaHRtbCcsICdwYXNzZXMvdGV4
dC5odG1sJ10KICAgICAgICAgdGVzdHNfcnVuID0gZ2V0X3Rlc3RzX3J1bihbJy0taXRlcmF0aW9u
cycsICcyJ10gKyB0ZXN0c190b19ydW4pCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L3BvcnQvdGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC90ZXN0LnB5Cmlu
ZGV4IGYyY2U4NzNlYTEzNzhhMWFiMzEzMzIyYzNkYjk0MGNhOWJiODllZWUuLjhiMzFhNGRjYjhj
ZDhhMDBlMzAyMTI1NzUzNGRkOTkwNmFkMjkzYWEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvcG9ydC90ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC90
ZXN0LnB5CkBAIC0xMDUsOCArMTA1LDggQEAgY2xhc3MgVGVzdExpc3Qob2JqZWN0KToKICMKICMg
VGhlc2UgbnVtYmVycyBtYXkgbmVlZCB0byBiZSB1cGRhdGVkIHdoZW5ldmVyIHdlIGFkZCBvciBk
ZWxldGUgdGVzdHMuCiAjCi1UT1RBTF9URVNUUyA9IDY5Ci1UT1RBTF9TS0lQUyA9IDkKK1RPVEFM
X1RFU1RTID0gNzMKK1RPVEFMX1NLSVBTID0gMTEKIFRPVEFMX1JFVFJJRVMgPSAxMQogCiBVTkVY
UEVDVEVEX1BBU1NFUyA9IDYKQEAgLTI1Nyw2ICsyNTcsMTEgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA4MDB4MzQKICAgICAgICAgYWN0dWFsX2ltYWdlPSdpbWFnZV9ub3RfaW5fcGl4ZWxkaXItcG5n
dEVYdGNoZWNrc3VtXHgwMGNoZWNrc3VtX2ZhaWwnLAogICAgICAgICBleHBlY3RlZF9pbWFnZT0n
aW1hZ2Vfbm90X2luX3BpeGVsZGlyLXBuZ3RFWHRjaGVja3N1bVx4MDBjaGVja3N1bS1wbmcnKQog
CisgICAgdGVzdHMuYWRkKCdjb3JuZXItY2FzZXMvZXdzL2RpcmVjdG9yeS1za2lwcGVkL2ZhaWx1
cmUuaHRtbCcsIGV4cGVjdGVkX3RleHQ9J29rLXR4dCcsIGFjdHVhbF90ZXh0PSd0ZXh0X2ZhaWwt
dHh0JykKKyAgICB0ZXN0cy5hZGQoJ2Nvcm5lci1jYXNlcy9ld3MvZGlyZWN0b3J5LXNraXBwZWQv
dGltZW91dC5odG1sJywgdGltZW91dD1UcnVlKQorICAgIHRlc3RzLmFkZCgnY29ybmVyLWNhc2Vz
L2V3cy9kaXJlY3RvcnktZmxha3kvZmFpbHVyZS5odG1sJywgZXhwZWN0ZWRfdGV4dD0nb2stdHh0
JywgYWN0dWFsX3RleHQ9J3RleHRfZmFpbC10eHQnKQorICAgIHRlc3RzLmFkZCgnY29ybmVyLWNh
c2VzL2V3cy9kaXJlY3RvcnktZmxha3kvdGltZW91dC5odG1sJywgdGltZW91dD1UcnVlKQorCiAg
ICAgcmV0dXJuIHRlc3RzCiAKIApAQCAtMzAxLDYgKzMwNiw4IEBAIEJ1Zyh0ZXN0KSBmYWlsdXJl
cy9leHBlY3RlZC9rZXlib2FyZC5odG1sIFsgV29udEZpeCBdCiBCdWcodGVzdCkgZmFpbHVyZXMv
ZXhwZWN0ZWQvZXhjZXB0aW9uLmh0bWwgWyBXb250Rml4IF0KIEJ1Zyh0ZXN0KSBmYWlsdXJlcy91
bmV4cGVjdGVkL3Bhc3MuaHRtbCBbIEZhaWx1cmUgXQogQnVnKHRlc3QpIHBhc3Nlcy9za2lwcGVk
L3NraXAuaHRtbCBbIFNraXAgXQorQnVnKHRlc3QpIGNvcm5lci1jYXNlcy9ld3MvZGlyZWN0b3J5
LXNraXBwZWQgWyBTa2lwIF0KK0J1Zyh0ZXN0KSBjb3JuZXItY2FzZXMvZXdzL2RpcmVjdG9yeS1m
bGFreSBbIFBhc3MgVGltZW91dCBGYWlsdXJlIF0KICIiIikKIAogICAgICMgRklYTUU6IFRoaXMg
dGVzdCB3YXMgb25seSBiZWluZyBpZ25vcmVkIGJlY2F1c2Ugb2YgbWlzc2luZyBhIGxlYWRpbmcg
Jy8nLgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>441775</attachid>
            <date>2021-10-19 12:53:08 -0700</date>
            <delta_ts>2021-11-09 06:41:37 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231265-20211019205222.patch</filename>
            <type>text/plain</type>
            <size>19406</size>
            <attacher name="Carlos Alberto Lopez Perez">clopez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0NDc5CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZGNkZGZhMGM5NzdiZTk5NzE5MjZkZTAzOTE5ODUzZDk0
N2FiYjRiNS4uNmUzOTc5YTgyM2U0MDdhOTliOGE1MjFkNDg4NTU4ZDY1NzExOTcyZSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5
IEBACisyMDIxLTEwLTE4ICBDYXJsb3MgQWxiZXJ0byBMb3BleiBQZXJleiAgPGNsb3BlekBpZ2Fs
aWEuY29tPgorCisgICAgICAgIFtFV1NdIEFsbG93IHRoZSBvcHRpbWl6YXRpb24gb2YgcnVubmlu
ZyBvbmx5IHRoZSBzdWJzZXQgb2YgZmFpbGVkIHRlc3RzIG9uIHJ1bi1sYXlvdXQtdGVzdHMtd2l0
aG91dC1wYXRjaCBhbHNvIGZvciBwYXRjaGVzIG1vZGlmeWluZyB0aGUgVGVzdEV4cGVjdGF0aW9u
cyBmaWxlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjMxMjY1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
T24gcjI3NDQ3NSBhbiBvcHRpbWl6YXRpb24gd2FzIGFwcGxpZWQgdG8gcnVuLWxheW91dC10ZXN0
cy13aXRob3V0LXBhdGNoIHRvIG9ubHkKKyAgICAgICAgcnVuIHRoZSBzdWJzZXQgb2YgdGVzdHMg
dGhhdCBmYWlsZWQgd2l0aCBwYXRjaCBpbnN0ZWFkIG9mIHRoZSB3aG9sZSBsYXlvdXQgdGVzdHMu
CisgICAgICAgIEJ1dCB0aGlzIG9wdGltaXphdGlvbiBoYWQgYSBjb3JuZXIgY2FzZSB3aGVyZSBp
dCBjb3VsZG4ndCBiZSBhcHBsaWVkLgorICAgICAgICBJdCBzZWVtcyB0aGF0IHdlIGNhbiBzdGls
bCBhcHBseSB0aGlzIG9wdGltaXphdGlvbiBpbiB0aGlzIGNvcm5lciBjYXNlIGlmIHdlIHBhc3MK
KyAgICAgICAgJy0tc2tpcHBlZD1hbHdheXMnIHRvIHJ1bi13ZWJraXQtdGVzdHMgc28gdGhhdCBT
a2lwcGVkIHRlc3RzIGFyZSBub3QgcnVuIGV2ZW4gaWYKKyAgICAgICAgdGhvc2UgYXJlIHNwZWNp
ZmllZCBhcyBhcmd1bWVudHMgb24gdGhlIGNvbW1hbmQtbGluZS4KKworICAgICAgICAqIENJU3Vw
cG9ydC9ld3MtYnVpbGQvc3RlcHMucHk6CisgICAgICAgIChSdW5XZWJLaXRUZXN0cy5zZXRMYXlv
dXRUZXN0Q29tbWFuZCk6CisgICAgICAgIChSdW5XZWJLaXRUZXN0c1dpdGhvdXRQYXRjaC5zZXRM
YXlvdXRUZXN0Q29tbWFuZCk6CisgICAgICAgICogQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVwc191
bml0dGVzdC5weToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9ydW5f
d2Via2l0X3Rlc3RzX2ludGVncmF0aW9udGVzdC5weToKKyAgICAgICAgKFJ1blRlc3QudGVzdF9l
d3NfY29ybmVyX2Nhc2VfZmFpbGluZ190ZXN0KToKKyAgICAgICAgKFJ1blRlc3QpOgorICAgICAg
ICAoUnVuVGVzdC50ZXN0X2V3c19jb3JuZXJfY2FzZV9mYWlsaW5nX2RpcmVjdG9yeSk6CisgICAg
ICAgIChSdW5UZXN0LnRlc3RfZXdzX2Nvcm5lcl9jYXNlX3NraXBwZWRfdGVzdCk6CisgICAgICAg
IChSdW5UZXN0LnRlc3RfZXdzX2Nvcm5lcl9jYXNlX3NraXBwZWRfZGlyZWN0b3J5KToKKyAgICAg
ICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvdGVzdC5weToKKwogMjAyMS0xMC0xOSAgSm9uYXRo
YW4gQmVkYXJkICA8amJlZGFyZEBhcHBsZS5jb20+CiAKICAgICAgICAgW3dlYmtpdHNjbXB5XSBG
aWx0ZXIgYXBwcm92ZXJzIGJ5IHN0YXR1cwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ0lTdXBwb3J0L2V3
cy1idWlsZC9zdGVwcy5weSBiL1Rvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHMucHkKaW5k
ZXggYzVjYzI0ZWE3ZGNlMTdlYTk5NTVmNDcxN2Y1Y2RjYzYyMGZjNjk2My4uZTRiMzY2YTg2ODYy
ZTc0MDA0MTk2MzU1YmI0MjUwNGUyNTVkOWRhNSAxMDA2NDQKLS0tIGEvVG9vbHMvQ0lTdXBwb3J0
L2V3cy1idWlsZC9zdGVwcy5weQorKysgYi9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBz
LnB5CkBAIC0yMjE4LDMxICsyMjE4LDYgQEAgY2xhc3MgUnVuV2ViS2l0VGVzdHMoc2hlbGwuVGVz
dCk6CiAgICAgICAgIGlmIHNlbGYuRU5BQkxFX0dVQVJEX01BTExPQzoKICAgICAgICAgICAgIHNl
bGYuc2V0Q29tbWFuZChzZWxmLmNvbW1hbmQgKyBbJy0tZ3VhcmQtbWFsbG9jJ10pCiAKLSAgICAg
ICAgaWYgc2VsZi5uYW1lID09ICdydW4tbGF5b3V0LXRlc3RzLXdpdGhvdXQtcGF0Y2gnOgotICAg
ICAgICAgICAgIyBJbiBvcmRlciB0byBzcGVlZCB1cCB0ZXN0aW5nLCBvbiB0aGUgc3RlcCB0aGF0
IHJldHJpZXMgcnVubmluZyB0aGUgbGF5b3V0IHRlc3RzIHdpdGhvdXQgcGF0Y2gKLSAgICAgICAg
ICAgICMgb25seSBydW4gdGhlIHN1YnNldCBvZiB0ZXN0cyB0aGF0IGZhaWxlZCBvbiB0aGUgcHJl
dmlvdXMgc3RlcHMuCi0gICAgICAgICAgICAjIEJ1dCBvbmx5IGRvIHRoYXQgaWYgdGhlIHByZXZp
b3VzIHN0ZXBzIGRpZG4ndCBleGNlZWQgdGhlIHRlc3QgZmFpbHVyZSBsaW1pdCBhbmQgdGhlIHBh
dGNoIGRvZXNuJ3QKLSAgICAgICAgICAgICMgbW9kaWZ5IHRoZSBUZXN0RXhwZWN0YXRpb25zIGZp
bGVzICh0aGVyZSBhcmUgY29ybmVyIGNhc2VzIHdoZXJlIHdlIGNhbid0IGd1YXJhbnRlZSB0aGUg
Y29ycmVjdG5lcwotICAgICAgICAgICAgIyBvZiB0aGlzIG9wdGltaXphdGlvbiBpZiB0aGUgcGF0
Y2ggbW9kaWZpZXMgdGhlIFRlc3RFeHBlY3RhdGlvbnMgZmlsZXMsIGZvciBleGFtcGxlLCBpZiB0
aGUgcGF0Y2gKLSAgICAgICAgICAgICMgcmVtb3ZlcyBza2lwcGVkIHRlc3RzIGJ1dCB0aG9zZSB0
ZXN0cyBzdGlsbCBmYWlsKS4KLSAgICAgICAgICAgIGZpcnN0X3Jlc3VsdHNfZGlkX2V4Y2VlZF90
ZXN0X2ZhaWx1cmVfbGltaXQgPSBzZWxmLmdldFByb3BlcnR5KCdmaXJzdF9yZXN1bHRzX2V4Y2Vl
ZF9mYWlsdXJlX2xpbWl0JywgRmFsc2UpCi0gICAgICAgICAgICBzZWNvbmRfcmVzdWx0c19kaWRf
ZXhjZWVkX3Rlc3RfZmFpbHVyZV9saW1pdCA9IHNlbGYuZ2V0UHJvcGVydHkoJ3NlY29uZF9yZXN1
bHRzX2V4Y2VlZF9mYWlsdXJlX2xpbWl0JywgRmFsc2UpCi0gICAgICAgICAgICBpZiBub3QgZmly
c3RfcmVzdWx0c19kaWRfZXhjZWVkX3Rlc3RfZmFpbHVyZV9saW1pdCBhbmQgbm90IHNlY29uZF9y
ZXN1bHRzX2RpZF9leGNlZWRfdGVzdF9mYWlsdXJlX2xpbWl0OgotICAgICAgICAgICAgICAgIHBh
dGNoX21vZGlmaWVzX2V4cGVjdGF0aW9uX2ZpbGVzID0gRmFsc2UKLSAgICAgICAgICAgICAgICBw
YXRjaCA9IHNlbGYuX2dldF9wYXRjaCgpCi0gICAgICAgICAgICAgICAgaWYgcGF0Y2g6Ci0gICAg
ICAgICAgICAgICAgICAgIGZvciBsaW5lIGluIHBhdGNoLnNwbGl0bGluZXMoKToKLSAgICAgICAg
ICAgICAgICAgICAgICAgIGxpbmUgPSBsaW5lLnN0cmlwKCkKLSAgICAgICAgICAgICAgICAgICAg
ICAgICMgcGF0Y2ggaXMgc3RvcmVkIGJ5IGJ1aWxkYm90IGFzIGJ5dGVzOiBodHRwczovL2dpdGh1
Yi5jb20vYnVpbGRib3QvYnVpbGRib3QvaXNzdWVzLzU4MTIjaXNzdWVjb21tZW50LTc5MDE3NTk3
OQotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGInTGF5b3V0VGVzdHMvJyBpbiBsaW5lIGFu
ZCBiJ1Rlc3RFeHBlY3RhdGlvbnMnIGluIGxpbmUpIGFuZCAobGluZS5zdGFydHN3aXRoKGInLS0t
Jykgb3IgbGluZS5zdGFydHN3aXRoKGInKysrJykpOgotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHBhdGNoX21vZGlmaWVzX2V4cGVjdGF0aW9uX2ZpbGVzID0gVHJ1ZQotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGJyZWFrCi0gICAgICAgICAgICAgICAgaWYgbm90IHBhdGNoX21vZGlm
aWVzX2V4cGVjdGF0aW9uX2ZpbGVzOgotICAgICAgICAgICAgICAgICAgICBmaXJzdF9yZXN1bHRz
X2ZhaWxpbmdfdGVzdHMgPSBzZXQoc2VsZi5nZXRQcm9wZXJ0eSgnZmlyc3RfcnVuX2ZhaWx1cmVz
Jywgc2V0KCkpKQotICAgICAgICAgICAgICAgICAgICBzZWNvbmRfcmVzdWx0c19mYWlsaW5nX3Rl
c3RzID0gc2V0KHNlbGYuZ2V0UHJvcGVydHkoJ3NlY29uZF9ydW5fZmFpbHVyZXMnLCBzZXQoKSkp
Ci0gICAgICAgICAgICAgICAgICAgIGxpc3RfcmV0cnlfdGVzdHMgPSBzb3J0ZWQoZmlyc3RfcmVz
dWx0c19mYWlsaW5nX3Rlc3RzLnVuaW9uKHNlY29uZF9yZXN1bHRzX2ZhaWxpbmdfdGVzdHMpKQot
ICAgICAgICAgICAgICAgICAgICBzZWxmLnNldENvbW1hbmQoc2VsZi5jb21tYW5kICsgbGlzdF9y
ZXRyeV90ZXN0cykKLQogICAgIGRlZiBzdGFydChzZWxmKToKICAgICAgICAgc2VsZi5sb2dfb2Jz
ZXJ2ZXIgPSBsb2dvYnNlcnZlci5CdWZmZXJMb2dPYnNlcnZlcih3YW50U3RkZXJyPVRydWUpCiAg
ICAgICAgIHNlbGYuYWRkTG9nT2JzZXJ2ZXIoJ3N0ZGlvJywgc2VsZi5sb2dfb2JzZXJ2ZXIpCkBA
IC0yNDk4LDYgKzI0NzMsMjUgQEAgY2xhc3MgUnVuV2ViS2l0VGVzdHNXaXRob3V0UGF0Y2goUnVu
V2ViS2l0VGVzdHMpOgogICAgICAgICAgICAgICAgIHNlbGYuX2FkZFRvTG9nKHNlbGYudGVzdF9m
YWlsdXJlc19sb2dfbmFtZSwgJ1xuJy5qb2luKGNsZWFuX3RyZWVfcmVzdWx0cy5mYWlsaW5nX3Rl
c3RzKSkKICAgICAgICAgc2VsZi5fcGFyc2VSdW5XZWJLaXRUZXN0c091dHB1dChsb2dUZXh0KQog
CisgICAgZGVmIHNldExheW91dFRlc3RDb21tYW5kKHNlbGYpOgorICAgICAgICBzdXBlcihSdW5X
ZWJLaXRUZXN0c1dpdGhvdXRQYXRjaCwgc2VsZikuc2V0TGF5b3V0VGVzdENvbW1hbmQoKQorICAg
ICAgICAjIEluIG9yZGVyIHRvIHNwZWVkIHVwIHRlc3RpbmcsIG9uIHRoZSBzdGVwIHRoYXQgcmV0
cmllcyBydW5uaW5nIHRoZSBsYXlvdXQgdGVzdHMgd2l0aG91dCBwYXRjaAorICAgICAgICAjIG9u
bHkgcnVuIHRoZSBzdWJzZXQgb2YgdGVzdHMgdGhhdCBmYWlsZWQgb24gdGhlIHByZXZpb3VzIHN0
ZXBzLgorICAgICAgICAjIEJ1dCBvbmx5IGRvIHRoYXQgaWYgdGhlIHByZXZpb3VzIHN0ZXBzIGRp
ZG4ndCBleGNlZWQgdGhlIHRlc3QgZmFpbHVyZSBsaW1pdAorICAgICAgICAjIEFsc28gcGFzcyAn
LS1za2lwcGVkPWFsd2F5cycgdG8gYXZvaWQgcnVubmluZyBhIHRlc3QgdGhhdCBpcyBza2lwcGVk
IG9uIHRoZSBjbGVhbiB0cmVlIGFuZCB0aGF0CisgICAgICAgICMgdGhlIHBhdGNoIHJlbW92ZWQg
ZnJvbSB0aGUgVGVzdEV4cGVjdGF0aW9ucyBmaWxlIG1lYW53aGlsZSBpdCBzdGlsbCBmYWlscyB3
aXRoIHRoZSBwYXRjaCAoc28KKyAgICAgICAgIyBpdCBpcyBwYXNzZWQgYXMgYW4gYXJndW1lbnQg
b24gdGhlIGNvbW1hbmQtbGluZSkKKyAgICAgICAgIyBUaGUgZmxhZyAnLS1za2lwLWZhaWxpbmct
dGVzdHMnIHRoYXQgaXMgcGFzc2VkIGJ5IGRlZmF1bHQgKGluIGNvbWJpbmF0aW9uIHdpdGggJy0t
c2tpcHBlZD1hbHdheXMnKQorICAgICAgICAjIGF2b2lkcyBydW5uaW5nIHRlc3RzIG1hcmtlZCBh
cyBmYWlsaW5nIG9uIHRoZSBFeHBlY3RhdGlvbiBmaWxlcyBldmVuIHdoZW4gdGhvc2UgYXJlIHBh
c3NlZCBhcyBhcmd1bWVudHMuCisgICAgICAgIGZpcnN0X3Jlc3VsdHNfZGlkX2V4Y2VlZF90ZXN0
X2ZhaWx1cmVfbGltaXQgPSBzZWxmLmdldFByb3BlcnR5KCdmaXJzdF9yZXN1bHRzX2V4Y2VlZF9m
YWlsdXJlX2xpbWl0JywgRmFsc2UpCisgICAgICAgIHNlY29uZF9yZXN1bHRzX2RpZF9leGNlZWRf
dGVzdF9mYWlsdXJlX2xpbWl0ID0gc2VsZi5nZXRQcm9wZXJ0eSgnc2Vjb25kX3Jlc3VsdHNfZXhj
ZWVkX2ZhaWx1cmVfbGltaXQnLCBGYWxzZSkKKyAgICAgICAgaWYgbm90IGZpcnN0X3Jlc3VsdHNf
ZGlkX2V4Y2VlZF90ZXN0X2ZhaWx1cmVfbGltaXQgYW5kIG5vdCBzZWNvbmRfcmVzdWx0c19kaWRf
ZXhjZWVkX3Rlc3RfZmFpbHVyZV9saW1pdDoKKyAgICAgICAgICAgIGZpcnN0X3Jlc3VsdHNfZmFp
bGluZ190ZXN0cyA9IHNldChzZWxmLmdldFByb3BlcnR5KCdmaXJzdF9ydW5fZmFpbHVyZXMnLCBz
ZXQoKSkpCisgICAgICAgICAgICBzZWNvbmRfcmVzdWx0c19mYWlsaW5nX3Rlc3RzID0gc2V0KHNl
bGYuZ2V0UHJvcGVydHkoJ3NlY29uZF9ydW5fZmFpbHVyZXMnLCBzZXQoKSkpCisgICAgICAgICAg
ICBsaXN0X2ZhaWxlZF90ZXN0c193aXRoX3BhdGNoID0gc29ydGVkKGZpcnN0X3Jlc3VsdHNfZmFp
bGluZ190ZXN0cy51bmlvbihzZWNvbmRfcmVzdWx0c19mYWlsaW5nX3Rlc3RzKSkKKyAgICAgICAg
ICAgIGlmIGxpc3RfZmFpbGVkX3Rlc3RzX3dpdGhfcGF0Y2g6CisgICAgICAgICAgICAgICAgc2Vs
Zi5zZXRDb21tYW5kKHNlbGYuY29tbWFuZCArIFsnLS1za2lwcGVkPWFsd2F5cyddICsgbGlzdF9m
YWlsZWRfdGVzdHNfd2l0aF9wYXRjaCkKKwogCiBjbGFzcyBBbmFseXplTGF5b3V0VGVzdHNSZXN1
bHRzKGJ1aWxkc3RlcC5CdWlsZFN0ZXAsIEJ1Z3ppbGxhTWl4aW4pOgogICAgIG5hbWUgPSAnYW5h
bHl6ZS1sYXlvdXQtdGVzdHMtcmVzdWx0cycKZGlmZiAtLWdpdCBhL1Rvb2xzL0NJU3VwcG9ydC9l
d3MtYnVpbGQvc3RlcHNfdW5pdHRlc3QucHkgYi9Ub29scy9DSVN1cHBvcnQvZXdzLWJ1aWxkL3N0
ZXBzX3VuaXR0ZXN0LnB5CmluZGV4IGM4YzI2MmUxNTQxZDRiZjlhMWM3NTk1OWNlM2ZjY2JkODYx
NTFkMGIuLjJlMjNkMDA1ZDY0MDcyNmE4NWVkNDFkZDllZjNjYzI2ZjA4MWJjNzcgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL0NJU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHNfdW5pdHRlc3QucHkKKysrIGIvVG9v
bHMvQ0lTdXBwb3J0L2V3cy1idWlsZC9zdGVwc191bml0dGVzdC5weQpAQCAtMjE1MiwxMiArMjE1
MiwxMiBAQCBjbGFzcyBUZXN0UnVuV2ViS2l0VGVzdHNXaXRob3V0UGF0Y2goQnVpbGRTdGVwTWl4
aW5BZGRpdGlvbnMsIHVuaXR0ZXN0LlRlc3RDYXNlKQogICAgICAgICBzZWxmLmV4cGVjdE91dGNv
bWUocmVzdWx0PVNVQ0NFU1MsIHN0YXRlX3N0cmluZz0nbGF5b3V0LXRlc3RzJykKICAgICAgICAg
cmV0dXJuIHNlbGYucnVuU3RlcCgpCiAKLSAgICBkZWYgdGVzdF9zdWNjZXNzX3JldHJ5X29ubHlf
c3Vic2V0KHNlbGYpOgorICAgIGRlZiB0ZXN0X3J1bl9zdWJ0ZXN0X3Rlc3RzX3N1Y2Nlc3Moc2Vs
Zik6CiAgICAgICAgIHNlbGYuY29uZmlndXJlU3RlcCgpCiAgICAgICAgIHNlbGYuc2V0UHJvcGVy
dHkoJ2Z1bGxQbGF0Zm9ybScsICdpb3Mtc2ltdWxhdG9yJykKICAgICAgICAgc2VsZi5zZXRQcm9w
ZXJ0eSgnY29uZmlndXJhdGlvbicsICdyZWxlYXNlJykKLSAgICAgICAgc2VsZi5zZXRQcm9wZXJ0
eSgnZmlyc3RfcnVuX2ZhaWx1cmVzJywgWyd0ZXN0MScsICd0ZXN0MicsICd0ZXN0MyddKQotICAg
ICAgICBzZWxmLnNldFByb3BlcnR5KCdzZWNvbmRfcnVuX2ZhaWx1cmVzJywgWyd0ZXN0MScsICd0
ZXN0MycsICd0ZXN0NCddKQorICAgICAgICBzZWxmLnNldFByb3BlcnR5KCdmaXJzdF9ydW5fZmFp
bHVyZXMnLCBbJ3Rlc3QxLmh0bWwnLCAndGVzdDIuaHRtbCcsICd0ZXN0My5odG1sJ10pCisgICAg
ICAgIHNlbGYuc2V0UHJvcGVydHkoJ3NlY29uZF9ydW5fZmFpbHVyZXMnLCBbJ3Rlc3QzLmh0bWwn
LCAndGVzdDQuaHRtbCcsICd0ZXN0NS5odG1sJ10pCiAgICAgICAgIHNlbGYuZXhwZWN0UmVtb3Rl
Q29tbWFuZHMoCiAgICAgICAgICAgICBFeHBlY3RTaGVsbCh3b3JrZGlyPSd3a2RpcicsCiAgICAg
ICAgICAgICAgICAgICAgICAgICBsb2dmaWxlcz17J2pzb24nOiBzZWxmLmpzb25GaWxlTmFtZX0s
CkBAIC0yMTczLDIwICsyMTczLDIwIEBAIGNsYXNzIFRlc3RSdW5XZWJLaXRUZXN0c1dpdGhvdXRQ
YXRjaChCdWlsZFN0ZXBNaXhpbkFkZGl0aW9ucywgdW5pdHRlc3QuVGVzdENhc2UpCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAnLS1kZWJ1Zy1yd3QtbG9nZ2luZycsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAnLS1leGl0LWFmdGVyLW4tZmFpbHVyZXMnLCAnMzAn
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0tc2tpcC1mYWlsaW5nLXRlc3Rz
JywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0ZXN0MScsICd0ZXN0MicsICd0
ZXN0MycsICd0ZXN0NCddLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0tc2tp
cHBlZD1hbHdheXMnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Rlc3QxLmh0
bWwnLCAndGVzdDIuaHRtbCcsICd0ZXN0My5odG1sJywgJ3Rlc3Q0Lmh0bWwnLCAndGVzdDUuaHRt
bCddLAogICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgKyAwLAogICAgICAg
ICApCiAgICAgICAgIHNlbGYuZXhwZWN0T3V0Y29tZShyZXN1bHQ9U1VDQ0VTUywgc3RhdGVfc3Ry
aW5nPSdsYXlvdXQtdGVzdHMnKQogICAgICAgICByZXR1cm4gc2VsZi5ydW5TdGVwKCkKIAotICAg
IGRlZiB0ZXN0X3N1Y2Nlc3NfcmV0cnlfb25seV9zdWJzZXRfbGltaXRfZXhjZWVkZWQoc2VsZik6
CisgICAgZGVmIHRlc3RfcnVuX3N1YnRlc3RfdGVzdHNfcmVtb3Zlc19za2lwcGVkX3RoYXRfZmFp
bHMoc2VsZik6CiAgICAgICAgIHNlbGYuY29uZmlndXJlU3RlcCgpCiAgICAgICAgIHNlbGYuc2V0
UHJvcGVydHkoJ2Z1bGxQbGF0Zm9ybScsICdpb3Mtc2ltdWxhdG9yJykKICAgICAgICAgc2VsZi5z
ZXRQcm9wZXJ0eSgnY29uZmlndXJhdGlvbicsICdyZWxlYXNlJykKLSAgICAgICAgc2VsZi5zZXRQ
cm9wZXJ0eSgnZmlyc3RfcnVuX2ZhaWx1cmVzJywgWyd0ZXN0MScsICd0ZXN0MicsICd0ZXN0Mydd
KQotICAgICAgICBzZWxmLnNldFByb3BlcnR5KCdzZWNvbmRfcmVzdWx0c19leGNlZWRfZmFpbHVy
ZV9saW1pdCcsIFRydWUpCi0gICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ3NlY29uZF9ydW5fZmFp
bHVyZXMnLCBbJ3Rlc3R7fScuZm9ybWF0KGkpIGZvciBpIGluIHJhbmdlKDAsIDMwKV0pCisgICAg
ICAgIHNlbGYuc2V0UHJvcGVydHkoJ2ZpcnN0X3J1bl9mYWlsdXJlcycsIFsndGVzdC13YXMtc2tp
cHBlZC1wYXRjaC1yZW1vdmVkLWV4cGVjdGF0aW9uLWJ1dC1zdGlsbC1mYWlscy5odG1sJ10pCisg
ICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ3NlY29uZF9ydW5fZmFpbHVyZXMnLCBbJ3Rlc3Qtd2Fz
LXNraXBwZWQtcGF0Y2gtcmVtb3ZlZC1leHBlY3RhdGlvbi1idXQtc3RpbGwtZmFpbHMuaHRtbCdd
KQogICAgICAgICBzZWxmLmV4cGVjdFJlbW90ZUNvbW1hbmRzKAogICAgICAgICAgICAgRXhwZWN0
U2hlbGwod29ya2Rpcj0nd2tkaXInLAogICAgICAgICAgICAgICAgICAgICAgICAgbG9nZmlsZXM9
eydqc29uJzogc2VsZi5qc29uRmlsZU5hbWV9LApAQCAtMjIwMSwyMCArMjIwMSwyMSBAQCBjbGFz
cyBUZXN0UnVuV2ViS2l0VGVzdHNXaXRob3V0UGF0Y2goQnVpbGRTdGVwTWl4aW5BZGRpdGlvbnMs
IHVuaXR0ZXN0LlRlc3RDYXNlKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0t
cmVzdWx0cy1kaXJlY3RvcnknLCAnbGF5b3V0LXRlc3QtcmVzdWx0cycsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAnLS1kZWJ1Zy1yd3QtbG9nZ2luZycsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAnLS1leGl0LWFmdGVyLW4tZmFpbHVyZXMnLCAnMzAnLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0tc2tpcC1mYWlsaW5nLXRlc3RzJ10sCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLS1za2lwLWZhaWxpbmctdGVzdHMnLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0tc2tpcHBlZD1hbHdheXMnLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Rlc3Qtd2FzLXNraXBwZWQtcGF0Y2gtcmVt
b3ZlZC1leHBlY3RhdGlvbi1idXQtc3RpbGwtZmFpbHMuaHRtbCddLAogICAgICAgICAgICAgICAg
ICAgICAgICAgKQogICAgICAgICAgICAgKyAwLAogICAgICAgICApCiAgICAgICAgIHNlbGYuZXhw
ZWN0T3V0Y29tZShyZXN1bHQ9U1VDQ0VTUywgc3RhdGVfc3RyaW5nPSdsYXlvdXQtdGVzdHMnKQog
ICAgICAgICByZXR1cm4gc2VsZi5ydW5TdGVwKCkKIAotICAgIGRlZiB0ZXN0X3N1Y2Nlc3NfcmV0
cnlfb25seV9zdWJzZXRfcGF0Y2hfbm9fbW9kaWZpZXNfZXhwZWN0YXRpb25zKHNlbGYpOgorICAg
IGRlZiB0ZXN0X3J1bl9zdWJ0ZXN0X3Rlc3RzX2ZhaWwoc2VsZik6CiAgICAgICAgIHNlbGYuY29u
ZmlndXJlU3RlcCgpCiAgICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ2Z1bGxQbGF0Zm9ybScsICdp
b3Mtc2ltdWxhdG9yJykKICAgICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgnY29uZmlndXJhdGlvbics
ICdyZWxlYXNlJykKLSAgICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgnZmlyc3RfcnVuX2ZhaWx1cmVz
JywgWyd0ZXN0MScsICd0ZXN0MicsICd0ZXN0MyddKQotICAgICAgICBzZWxmLnNldFByb3BlcnR5
KCdzZWNvbmRfcnVuX2ZhaWx1cmVzJywgWyd0ZXN0MScsICd0ZXN0MycsICd0ZXN0NCddKQotICAg
ICAgICBSdW5XZWJLaXRUZXN0cy5fZ2V0X3BhdGNoID0gbGFtYmRhIHg6IGInKysrIFRvb2xzL0No
YW5nZUxvZ1xuKysrIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvT3B0aW9ucy5jcHBcbicKKyAgICAg
ICAgc2VsZi5zZXRQcm9wZXJ0eSgnZmlyc3RfcnVuX2ZhaWx1cmVzJywgWyd0ZXN0LWZhaWxzLXdp
dGhwYXRjaDEuaHRtbCcsICd0ZXN0LXByZS1leGlzdGVudC1mYWlsdXJlMS5odG1sJ10pCisgICAg
ICAgIHNlbGYuc2V0UHJvcGVydHkoJ3NlY29uZF9ydW5fZmFpbHVyZXMnLCBbJ3Rlc3QtZmFpbHMt
d2l0aHBhdGNoMi5odG1sJywgJ3Rlc3QtcHJlLWV4aXN0ZW50LWZhaWx1cmUyLmh0bWwnXSkKICAg
ICAgICAgc2VsZi5leHBlY3RSZW1vdGVDb21tYW5kcygKICAgICAgICAgICAgIEV4cGVjdFNoZWxs
KHdvcmtkaXI9J3drZGlyJywKICAgICAgICAgICAgICAgICAgICAgICAgIGxvZ2ZpbGVzPXsnanNv
bic6IHNlbGYuanNvbkZpbGVOYW1lfSwKQEAgLTIyMzAsMjAgKzIyMzEsMjIgQEAgY2xhc3MgVGVz
dFJ1bldlYktpdFRlc3RzV2l0aG91dFBhdGNoKEJ1aWxkU3RlcE1peGluQWRkaXRpb25zLCB1bml0
dGVzdC5UZXN0Q2FzZSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICctLWRlYnVn
LXJ3dC1sb2dnaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICctLWV4aXQt
YWZ0ZXItbi1mYWlsdXJlcycsICczMCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAnLS1za2lwLWZhaWxpbmctdGVzdHMnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgJ3Rlc3QxJywgJ3Rlc3QyJywgJ3Rlc3QzJywgJ3Rlc3Q0J10sCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAnLS1za2lwcGVkPWFsd2F5cycsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAndGVzdC1mYWlscy13aXRocGF0Y2gxLmh0bWwnLCAndGVzdC1mYWlscy13
aXRocGF0Y2gyLmh0bWwnLCAndGVzdC1wcmUtZXhpc3RlbnQtZmFpbHVyZTEuaHRtbCcsICd0ZXN0
LXByZS1leGlzdGVudC1mYWlsdXJlMi5odG1sJ10sCiAgICAgICAgICAgICAgICAgICAgICAgICAp
Ci0gICAgICAgICAgICArIDAsCisgICAgICAgICAgICArIEV4cGVjdFNoZWxsLmxvZygnc3RkaW8n
LCBzdGRvdXQ9JzIgZmFpbHVyZXMgZm91bmQuJykKKyAgICAgICAgICAgICsgMiwKICAgICAgICAg
KQotICAgICAgICBzZWxmLmV4cGVjdE91dGNvbWUocmVzdWx0PVNVQ0NFU1MsIHN0YXRlX3N0cmlu
Zz0nbGF5b3V0LXRlc3RzJykKKyAgICAgICAgc2VsZi5leHBlY3RPdXRjb21lKHJlc3VsdD1GQUlM
VVJFLCBzdGF0ZV9zdHJpbmc9J2xheW91dC10ZXN0cyAoZmFpbHVyZSknKQogICAgICAgICByZXR1
cm4gc2VsZi5ydW5TdGVwKCkKIAotICAgIGRlZiB0ZXN0X3N1Y2Nlc3NfcmV0cnlfb25seV9zdWJz
ZXRfcGF0Y2hfbW9kaWZpZXNfZXhwZWN0YXRpb25zKHNlbGYpOgorICAgIGRlZiB0ZXN0X3J1bl9z
dWJ0ZXN0X3Rlc3RzX2xpbWl0X2V4Y2VlZGVkKHNlbGYpOgogICAgICAgICBzZWxmLmNvbmZpZ3Vy
ZVN0ZXAoKQogICAgICAgICBzZWxmLnNldFByb3BlcnR5KCdmdWxsUGxhdGZvcm0nLCAnaW9zLXNp
bXVsYXRvcicpCiAgICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ2NvbmZpZ3VyYXRpb24nLCAncmVs
ZWFzZScpCi0gICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ2ZpcnN0X3J1bl9mYWlsdXJlcycsIFsn
dGVzdDEnLCAndGVzdDInLCAndGVzdDMnXSkKLSAgICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgnc2Vj
b25kX3J1bl9mYWlsdXJlcycsIFsndGVzdDEnLCAndGVzdDMnLCAndGVzdDQnXSkKLSAgICAgICAg
UnVuV2ViS2l0VGVzdHMuX2dldF9wYXRjaCA9IGxhbWJkYSB4OiBiJysrKyBMYXlvdXRUZXN0cy9D
aGFuZ2Vsb2dcbisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9uc1xu
JworICAgICAgICBzZWxmLnNldFByb3BlcnR5KCdmaXJzdF9ydW5fZmFpbHVyZXMnLCBbJ3Rlc3Qx
Lmh0bWwnLCAndGVzdDIuaHRtbCcsICd0ZXN0My5odG1sJ10pCisgICAgICAgIHNlbGYuc2V0UHJv
cGVydHkoJ3NlY29uZF9yZXN1bHRzX2V4Y2VlZF9mYWlsdXJlX2xpbWl0JywgVHJ1ZSkKKyAgICAg
ICAgc2VsZi5zZXRQcm9wZXJ0eSgnc2Vjb25kX3J1bl9mYWlsdXJlcycsIFsndGVzdHt9Lmh0bWwn
LmZvcm1hdChpKSBmb3IgaSBpbiByYW5nZSgwLCAzMCldKQogICAgICAgICBzZWxmLmV4cGVjdFJl
bW90ZUNvbW1hbmRzKAogICAgICAgICAgICAgRXhwZWN0U2hlbGwod29ya2Rpcj0nd2tkaXInLAog
ICAgICAgICAgICAgICAgICAgICAgICAgbG9nZmlsZXM9eydqc29uJzogc2VsZi5qc29uRmlsZU5h
bWV9LApAQCAtMjU0Miw2ICsyNTQ1LDE1IEBAIGNsYXNzIFRlc3RBbmFseXplTGF5b3V0VGVzdHNS
ZXN1bHRzKEJ1aWxkU3RlcE1peGluQWRkaXRpb25zLCB1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAg
ICAgIHNlbGYuZXhwZWN0T3V0Y29tZShyZXN1bHQ9RkFJTFVSRSwgc3RhdGVfc3RyaW5nPSdGb3Vu
ZCB1bmV4cGVjdGVkIGZhaWx1cmUgd2l0aCBwYXRjaCAoZmFpbHVyZSknKQogICAgICAgICByZXR1
cm4gc2VsZi5ydW5TdGVwKCkKIAorICAgIGRlZiB0ZXN0X3BhdGNoX3JlbW92ZXNfc2tpcHBlZF90
ZXN0X3RoYXRfZmFpbHMoc2VsZik6CisgICAgICAgIHNlbGYuY29uZmlndXJlU3RlcCgpCisgICAg
ICAgIHNlbGYuc2V0UHJvcGVydHkoJ2ZpcnN0X3J1bl9mYWlsdXJlcycsIFsndGVzdC13YXMtc2tp
cHBlZC1wYXRjaC1yZW1vdmVkLWV4cGVjdGF0aW9uLWJ1dC1zdGlsbC1mYWlscy5odG1sJ10pCisg
ICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ3NlY29uZF9ydW5fZmFpbHVyZXMnLCBbJ3Rlc3Qtd2Fz
LXNraXBwZWQtcGF0Y2gtcmVtb3ZlZC1leHBlY3RhdGlvbi1idXQtc3RpbGwtZmFpbHMuaHRtbCdd
KQorICAgICAgICBzZWxmLnNldFByb3BlcnR5KCdjbGVhbl90cmVlX3J1bl9mYWlsdXJlcycsIFtd
KQorICAgICAgICBzZWxmLnNldFByb3BlcnR5KCdjbGVhbl90cmVlX3J1bl9zdGF0dXMnLCBTVUND
RVNTKQorICAgICAgICBzZWxmLmV4cGVjdE91dGNvbWUocmVzdWx0PUZBSUxVUkUsIHN0YXRlX3N0
cmluZz0nRm91bmQgMSBuZXcgdGVzdCBmYWlsdXJlOiB0ZXN0LXdhcy1za2lwcGVkLXBhdGNoLXJl
bW92ZWQtZXhwZWN0YXRpb24tYnV0LXN0aWxsLWZhaWxzLmh0bWwgKGZhaWx1cmUpJykKKyAgICAg
ICAgcmV0dXJuIHNlbGYucnVuU3RlcCgpCisKIAogY2xhc3MgVGVzdENoZWNrT3V0U3BlY2lmaWNS
ZXZpc2lvbihCdWlsZFN0ZXBNaXhpbkFkZGl0aW9ucywgdW5pdHRlc3QuVGVzdENhc2UpOgogICAg
IGRlZiBzZXRVcChzZWxmKToKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5
b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHNfaW50ZWdyYXRpb250ZXN0LnB5IGIvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0c19pbnRlZ3JhdGlvbnRl
c3QucHkKaW5kZXggZTY3ZWNlNTA3ZDQwYTM5ODA3OWYzMjNlZTdhNTdjZWY5NmZjYjQ0Ny4uMGJk
MzA4ZTBjYzU5MDI3Y2VkMWQ0ZWIxODkwOGI4YzYxODY1MTlkOCAxMDA2NDQKLS0tIGEvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0c19pbnRlZ3JhdGlv
bnRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVuX3dl
YmtpdF90ZXN0c19pbnRlZ3JhdGlvbnRlc3QucHkKQEAgLTM0OSw2ICszNDksMzkgQEAgY2xhc3Mg
UnVuVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSwgU3RyZWFtVGVzdGluZ01peGluKToKICAgICAgICAg
IyBOb3cgY2hlY2sgdGhhdCB3ZSBkb24ndCBydW4gYW55dGhpbmcuCiAgICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWwoZ2V0X3Rlc3RzX3J1bihbJy0tc2tpcHBlZD1hbHdheXMnLCAncGFzc2VzL3NraXBw
ZWQvc2tpcC5odG1sJ10pLCBbXSkKIAorICAgIGRlZiB0ZXN0X2V3c19jb3JuZXJfY2FzZV9mYWls
aW5nX3Rlc3Qoc2VsZik6CisgICAgICAgICMgV2Ugc2hvdWxkIHNraXAgcnVubmluZyB0ZXN0cyBt
YXJrZWQgYXMgZmFpbHVyZXMgKG9yIGZsYWtpZXMpIHdoZW4gcGFzc2luZyAnLS1za2lwLWZhaWxp
bmctdGVzdHMnCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZ2V0X3Rlc3RzX3J1bihbJy0tc2tp
cC1mYWlsaW5nLXRlc3RzJywgJ2ZhaWx1cmVzL2V4cGVjdGVkJ10pLCBbXSkKKyAgICAgICAgIyBC
dXQgaWYgd2Ugc3BlY2lmeSB0aGUgbmFtZSBvZiB0aGUgaW5kaXZpZHVhbCB0ZXN0cywgdGhlbiB0
aG9zZSB0ZXN0cyBzaG91bGQgcnVuCisgICAgICAgIGxpc3Rfb2ZfdGVzdHNfZmFpbGluZyA9IFsn
ZmFpbHVyZXMvZXhwZWN0ZWQvdGltZW91dC5odG1sJywgJ2ZhaWx1cmVzL2V4cGVjdGVkL3RleHQu
aHRtbCcsICdmYWlsdXJlcy9leHBlY3RlZC9jcmFzaC5odG1sJywgJ2ZhaWx1cmVzL2V4cGVjdGVk
L21pc3NpbmdfaW1hZ2UuaHRtbCddCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZ2V0X3Rlc3Rz
X3J1bihbJy0tc2tpcC1mYWlsaW5nLXRlc3RzJ10gKyBsaXN0X29mX3Rlc3RzX2ZhaWxpbmcpLCBs
aXN0X29mX3Rlc3RzX2ZhaWxpbmcpCisgICAgICAgICMgVW5sZXNzIHdlIHNwZWNpZnkgYWxzbyAn
LS1za2lwcGVkPWFsd2F5cycsIHRoZW4gdGhleSBzaG91bGQgYmUgc2tpcHBlZCBldmVuIHdoZW4g
d2UgbGlzdCB0aGVtIGluZGl2aWR1YWxseSBvbiB0aGUgY29tbWFuZCBsaW5lCisgICAgICAgIHNl
bGYuYXNzZXJ0RXF1YWwoZ2V0X3Rlc3RzX3J1bihbJy0tc2tpcC1mYWlsaW5nLXRlc3RzJywgJy0t
c2tpcHBlZD1hbHdheXMnXSArIGxpc3Rfb2ZfdGVzdHNfZmFpbGluZyksIFtdKQorCisgICAgZGVm
IHRlc3RfZXdzX2Nvcm5lcl9jYXNlX2ZhaWxpbmdfZGlyZWN0b3J5KHNlbGYpOgorICAgICAgICAj
IFdoZW4gYSB3aG9sZSBkaXJlY3RvcnkgaXMgaXMgbWFya2VkIGFzIGZhaWxpbmcgKG9yIGZsYWt5
KSwgdGhlbiB0aGUgdGVzdHMgaW5zaWRlIHNob3VsZCBub3QgcnVuIGlmIHdlIHNwZWNpZnkgdGhl
IG5hbWUgb2YgdGhlIGRpcmVjdG9yeSBhbmQgd2UgcGFzcyAnLS1za2lwLWZhaWxpbmctdGVzdHMn
CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZ2V0X3Rlc3RzX3J1bihbJy0tc2tpcC1mYWlsaW5n
LXRlc3RzJywgJ2Nvcm5lci1jYXNlcy9ld3MvZGlyZWN0b3J5LWZsYWt5J10pLCBbXSkKKyAgICAg
ICAgIyBCdXQgaWYgd2Ugc3BlY2lmeSBvbiB0aGUgY29tbWFuZC1saW5lIHRoZSBuYW1lIG9mIGlu
ZGl2aWR1YWwgdGVzdHMgaW5zaWRlIHRoYXQgZGlyZWN0b3J5IHRoZSB0ZXN0cyBzaG91bGQgcnVu
IChldmVuIHdpdGggJy0tc2tpcC1mYWlsaW5nLXRlc3RzJykKKyAgICAgICAgbGlzdF9vZl90ZXN0
c19mYWlsaW5nID0gWydjb3JuZXItY2FzZXMvZXdzL2RpcmVjdG9yeS1za2lwcGVkL2ZhaWx1cmUu
aHRtbCcsICdjb3JuZXItY2FzZXMvZXdzL2RpcmVjdG9yeS1za2lwcGVkL3RpbWVvdXQuaHRtbCdd
CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZ2V0X3Rlc3RzX3J1bihbJy0tbm8tcmV0cnktZmFp
bHVyZXMnLCAnLS1za2lwLWZhaWxpbmctdGVzdHMnXSArIGxpc3Rfb2ZfdGVzdHNfZmFpbGluZyks
IGxpc3Rfb2ZfdGVzdHNfZmFpbGluZykKKyAgICAgICAgIyBVbmxlc3Mgd2Ugc3BlY2lmeSBhbHNv
ICctLXNraXBwZWQ9YWx3YXlzJyAoaW4gY29tYmluYXRpb24gd2l0aCAnLS1za2lwLWZhaWxpbmct
dGVzdHMnKSwgdGhlbiB0aGV5IHNob3VsZCBiZSBza2lwcGVkIGV2ZW4gd2hlbiB3ZSBsaXN0IHRo
ZW0gaW5kaXZpZHVhbGx5IG9uIHRoZSBjb21tYW5kIGxpbmUKKyAgICAgICAgc2VsZi5hc3NlcnRF
cXVhbChnZXRfdGVzdHNfcnVuKFsnLS1uby1yZXRyeS1mYWlsdXJlcycsICAnLS1za2lwLWZhaWxp
bmctdGVzdHMnLCAnLS1za2lwcGVkPWFsd2F5cyddICsgbGlzdF9vZl90ZXN0c19mYWlsaW5nKSwg
W10pCisKKyAgICBkZWYgdGVzdF9ld3NfY29ybmVyX2Nhc2Vfc2tpcHBlZF90ZXN0KHNlbGYpOgor
ICAgICAgICAjIFdoZW4gd2Ugc3BlY2lmeSBvbiB0aGUgY29tbWFuZCBsaW5lIHRoZSBuYW1lIG9m
IGEgdGVzdCBza2lwcGVkIHRoaXMgdGVzdCBzaG91bGQgcnVuCisgICAgICAgIHNlbGYuYXNzZXJ0
RXF1YWwoZ2V0X3Rlc3RzX3J1bihbJ3Bhc3Nlcy9za2lwcGVkL3NraXAuaHRtbCddKSwgWydwYXNz
ZXMvc2tpcHBlZC9za2lwLmh0bWwnXSkKKyAgICAgICAgIyBVbmxlc3Mgd2Ugc3BlY2lmeSBhbHNv
ICctLXNraXBwZWQ9YWx3YXlzJywgdGhlbiBpdCBzaG91bGQgYmUgc2tpcHBlZCBldmVuIHdoZW4g
d2UgbGlzdCBpdCBvbiB0aGUgY29tbWFuZCBsaW5lCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwo
Z2V0X3Rlc3RzX3J1bihbJy0tc2tpcHBlZD1hbHdheXMnLCAncGFzc2VzL3NraXBwZWQvc2tpcC5o
dG1sJ10pLCBbXSkKKworICAgIGRlZiB0ZXN0X2V3c19jb3JuZXJfY2FzZV9za2lwcGVkX2RpcmVj
dG9yeShzZWxmKToKKyAgICAgICAgIyBXaGVuIGEgd2hvbGUgZGlyZWN0b3J5IGlzIHNraXBwZWQs
IHRoZW4gdGhlIHRlc3RzIGluc2lkZSBzaG91bGQgbm90IHJ1biBpZiB3ZSBzcGVjaWZ5IHRoZSBu
YW1lIG9mIHRoZSBkaXJlY3RvcnkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChnZXRfdGVzdHNf
cnVuKFsnY29ybmVyLWNhc2VzL2V3cy9kaXJlY3Rvcnktc2tpcHBlZCddKSwgW10pCisgICAgICAg
ICMgQnV0IGlmIHdlIHNwZWNpZnkgb24gdGhlIGNvbW1hbmQtbGluZSB0aGUgbmFtZSBvZiBpbmRp
dmlkdWFsIHRlc3RzIGluc2lkZSB0aGF0IGRpcmVjdG9yeSB0aGUgdGVzdHMgc2hvdWxkIHJ1bgor
ICAgICAgICBsaXN0X29mX3Rlc3RzX2ZhaWxpbmcgPSBbJ2Nvcm5lci1jYXNlcy9ld3MvZGlyZWN0
b3J5LXNraXBwZWQvZmFpbHVyZS5odG1sJywgJ2Nvcm5lci1jYXNlcy9ld3MvZGlyZWN0b3J5LXNr
aXBwZWQvdGltZW91dC5odG1sJ10KKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChnZXRfdGVzdHNf
cnVuKFsnLS1uby1yZXRyeS1mYWlsdXJlcyddICsgbGlzdF9vZl90ZXN0c19mYWlsaW5nKSwgbGlz
dF9vZl90ZXN0c19mYWlsaW5nKQorICAgICAgICAjIFVubGVzcyB3ZSBzcGVjaWZ5IGFsc28gJy0t
c2tpcHBlZD1hbHdheXMnLCB0aGVuIHRoZXkgc2hvdWxkIGJlIHNraXBwZWQgZXZlbiB3aGVuIHdl
IGxpc3QgdGhlbSBpbmRpdmlkdWFsbHkgb24gdGhlIGNvbW1hbmQgbGluZQorICAgICAgICBzZWxm
LmFzc2VydEVxdWFsKGdldF90ZXN0c19ydW4oWyctLW5vLXJldHJ5LWZhaWx1cmVzJywgJy0tc2tp
cHBlZD1hbHdheXMnXSArIGxpc3Rfb2ZfdGVzdHNfZmFpbGluZyksIFtdKQorCiAgICAgZGVmIHRl
c3RfaXRlcmF0aW9ucyhzZWxmKToKICAgICAgICAgdGVzdHNfdG9fcnVuID0gWydwYXNzZXMvaW1h
Z2UuaHRtbCcsICdwYXNzZXMvdGV4dC5odG1sJ10KICAgICAgICAgdGVzdHNfcnVuID0gZ2V0X3Rl
c3RzX3J1bihbJy0taXRlcmF0aW9ucycsICcyJ10gKyB0ZXN0c190b19ydW4pCmRpZmYgLS1naXQg
YS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvdGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvcG9ydC90ZXN0LnB5CmluZGV4IGYyY2U4NzNlYTEzNzhhMWFiMzEzMzIyYzNkYjk0MGNh
OWJiODllZWUuLjhiMzFhNGRjYjhjZDhhMDBlMzAyMTI1NzUzNGRkOTkwNmFkMjkzYWEgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC90ZXN0LnB5CisrKyBiL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvcG9ydC90ZXN0LnB5CkBAIC0xMDUsOCArMTA1LDggQEAgY2xhc3MgVGVz
dExpc3Qob2JqZWN0KToKICMKICMgVGhlc2UgbnVtYmVycyBtYXkgbmVlZCB0byBiZSB1cGRhdGVk
IHdoZW5ldmVyIHdlIGFkZCBvciBkZWxldGUgdGVzdHMuCiAjCi1UT1RBTF9URVNUUyA9IDY5Ci1U
T1RBTF9TS0lQUyA9IDkKK1RPVEFMX1RFU1RTID0gNzMKK1RPVEFMX1NLSVBTID0gMTEKIFRPVEFM
X1JFVFJJRVMgPSAxMQogCiBVTkVYUEVDVEVEX1BBU1NFUyA9IDYKQEAgLTI1Nyw2ICsyNTcsMTEg
QEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MzQKICAgICAgICAgYWN0dWFsX2ltYWdlPSdpbWFn
ZV9ub3RfaW5fcGl4ZWxkaXItcG5ndEVYdGNoZWNrc3VtXHgwMGNoZWNrc3VtX2ZhaWwnLAogICAg
ICAgICBleHBlY3RlZF9pbWFnZT0naW1hZ2Vfbm90X2luX3BpeGVsZGlyLXBuZ3RFWHRjaGVja3N1
bVx4MDBjaGVja3N1bS1wbmcnKQogCisgICAgdGVzdHMuYWRkKCdjb3JuZXItY2FzZXMvZXdzL2Rp
cmVjdG9yeS1za2lwcGVkL2ZhaWx1cmUuaHRtbCcsIGV4cGVjdGVkX3RleHQ9J29rLXR4dCcsIGFj
dHVhbF90ZXh0PSd0ZXh0X2ZhaWwtdHh0JykKKyAgICB0ZXN0cy5hZGQoJ2Nvcm5lci1jYXNlcy9l
d3MvZGlyZWN0b3J5LXNraXBwZWQvdGltZW91dC5odG1sJywgdGltZW91dD1UcnVlKQorICAgIHRl
c3RzLmFkZCgnY29ybmVyLWNhc2VzL2V3cy9kaXJlY3RvcnktZmxha3kvZmFpbHVyZS5odG1sJywg
ZXhwZWN0ZWRfdGV4dD0nb2stdHh0JywgYWN0dWFsX3RleHQ9J3RleHRfZmFpbC10eHQnKQorICAg
IHRlc3RzLmFkZCgnY29ybmVyLWNhc2VzL2V3cy9kaXJlY3RvcnktZmxha3kvdGltZW91dC5odG1s
JywgdGltZW91dD1UcnVlKQorCiAgICAgcmV0dXJuIHRlc3RzCiAKIApAQCAtMzAxLDYgKzMwNiw4
IEBAIEJ1Zyh0ZXN0KSBmYWlsdXJlcy9leHBlY3RlZC9rZXlib2FyZC5odG1sIFsgV29udEZpeCBd
CiBCdWcodGVzdCkgZmFpbHVyZXMvZXhwZWN0ZWQvZXhjZXB0aW9uLmh0bWwgWyBXb250Rml4IF0K
IEJ1Zyh0ZXN0KSBmYWlsdXJlcy91bmV4cGVjdGVkL3Bhc3MuaHRtbCBbIEZhaWx1cmUgXQogQnVn
KHRlc3QpIHBhc3Nlcy9za2lwcGVkL3NraXAuaHRtbCBbIFNraXAgXQorQnVnKHRlc3QpIGNvcm5l
ci1jYXNlcy9ld3MvZGlyZWN0b3J5LXNraXBwZWQgWyBTa2lwIF0KK0J1Zyh0ZXN0KSBjb3JuZXIt
Y2FzZXMvZXdzL2RpcmVjdG9yeS1mbGFreSBbIFBhc3MgVGltZW91dCBGYWlsdXJlIF0KICIiIikK
IAogICAgICMgRklYTUU6IFRoaXMgdGVzdCB3YXMgb25seSBiZWluZyBpZ25vcmVkIGJlY2F1c2Ug
b2YgbWlzc2luZyBhIGxlYWRpbmcgJy8nLgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>