<?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>199489</bug_id>
          
          <creation_ts>2019-07-03 19:55:10 -0700</creation_ts>
          <short_desc>run-javascriptcore-tests won&apos;t report test results for testmasm, testair, testb3, testdfg and test api</short_desc>
          <delta_ts>2019-07-24 11:07:10 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>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=199753</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>
          <dependson>199797</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Zhifei Fang">zhifei_fang</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>aakash_jain</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ews-feeder</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>guijemont</cc>
    
    <cc>jbedard</cc>
    
    <cc>ryanhaddad</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zhifei_fang</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1550167</commentid>
    <comment_count>0</comment_count>
    <who name="Zhifei Fang">zhifei_fang</who>
    <bug_when>2019-07-03 19:55:10 -0700</bug_when>
    <thetext>run-javascript-core-test won&apos;t report json results for testmasm, testair, testb3, testdfg and test api without fail fast</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1550171</commentid>
    <comment_count>1</comment_count>
      <attachid>373451</attachid>
    <who name="Zhifei Fang">zhifei_fang</who>
    <bug_when>2019-07-03 20:07:57 -0700</bug_when>
    <thetext>Created attachment 373451
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1550183</commentid>
    <comment_count>2</comment_count>
      <attachid>373451</attachid>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-07-03 22:02:41 -0700</bug_when>
    <thetext>Comment on attachment 373451
Patch

Attachment 373451 did not pass jsc-ews (mac):
Output: https://webkit-queues.webkit.org/results/12657707

New failing tests:
mozilla-tests.yaml/js1_5/Array/regress-101964.js.mozilla-ftl-eager-no-cjit-validate-phases
apiTests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1550931</commentid>
    <comment_count>3</comment_count>
      <attachid>373451</attachid>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2019-07-08 12:21:05 -0700</bug_when>
    <thetext>Comment on attachment 373451
Patch

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

&gt; Tools/Scripts/run-javascriptcore-tests:-406
&gt; -    if ($testResult &amp;&amp; $failFast) {

Why is testResult being removed from here? Doesn&apos;t that mean that irrespective of failure or success, we will always exit the script. 
Since the runTest() method is called multiple times (once each for testmasm, testair, testb3, testdfg, testapi), only &apos;testmasm&apos; would be run, and rest of the tests would never be run.

Please verify.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1550965</commentid>
    <comment_count>4</comment_count>
      <attachid>373665</attachid>
    <who name="Zhifei Fang">zhifei_fang</who>
    <bug_when>2019-07-08 14:29:18 -0700</bug_when>
    <thetext>Created attachment 373665
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1550975</commentid>
    <comment_count>5</comment_count>
      <attachid>373665</attachid>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2019-07-08 14:40:16 -0700</bug_when>
    <thetext>Comment on attachment 373665
Patch

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

&gt; Tools/Scripts/run-javascriptcore-tests:404
&gt; +        writeJsonDataIfApplicable();

Since the runTest() method is called multiple times, wouldn&apos;t the json results be overwritten after every function call, and only &apos;testapi&apos; results be reported?

may also modify &apos;writeJsonDataIfApplicable&apos; to append (&gt;&gt;) instead of overwritting(&gt;), and delete any old data from the file before starting the tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1550985</commentid>
    <comment_count>6</comment_count>
    <who name="Zhifei Fang">zhifei_fang</who>
    <bug_when>2019-07-08 15:01:11 -0700</bug_when>
    <thetext>(In reply to Aakash Jain from comment #5)
&gt; Comment on attachment 373665 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=373665&amp;action=review
&gt; 
&gt; &gt; Tools/Scripts/run-javascriptcore-tests:404
&gt; &gt; +        writeJsonDataIfApplicable();
&gt; 
&gt; Since the runTest() method is called multiple times, wouldn&apos;t the json
&gt; results be overwritten after every function call, and only &apos;testapi&apos; results
&gt; be reported?
&gt; 
&gt; may also modify &apos;writeJsonDataIfApplicable&apos; to append (&gt;&gt;) instead of
&gt; overwritting(&gt;), and delete any old data from the file before starting the
&gt; tests.

I found I have modified the wrong place, it should write the json file at then end. Will provide another patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1551472</commentid>
    <comment_count>7</comment_count>
      <attachid>373779</attachid>
    <who name="Zhifei Fang">zhifei_fang</who>
    <bug_when>2019-07-09 15:23:59 -0700</bug_when>
    <thetext>Created attachment 373779
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1551477</commentid>
    <comment_count>8</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-07-09 15:28:39 -0700</bug_when>
    <thetext>Attachment 373779 did not pass style-queue:


ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:126:  [RunJavaScriptCoreTestsTest.test_jsc_stress_failures_with_binary_results_output] Undefined variable &apos;FAILURE&apos;  [pylint/E0602] [5]
ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:132:  [RunJavaScriptCoreTestsTest.test_jsc_stress_failures_with_binary_result_output] Undefined variable &apos;FAILURE&apos;  [pylint/E0602] [5]
Total errors found: 2 in 4 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1551562</commentid>
    <comment_count>9</comment_count>
      <attachid>373779</attachid>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-07-09 18:38:34 -0700</bug_when>
    <thetext>Comment on attachment 373779
Patch

Attachment 373779 did not pass jsc-ews (mac):
Output: https://webkit-queues.webkit.org/results/12703212

New failing tests:
mozilla-tests.yaml/js1_5/Array/regress-101964.js.mozilla-ftl-eager-no-cjit-validate-phases
apiTests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1551728</commentid>
    <comment_count>10</comment_count>
      <attachid>373850</attachid>
    <who name="Zhifei Fang">zhifei_fang</who>
    <bug_when>2019-07-10 10:53:01 -0700</bug_when>
    <thetext>Created attachment 373850
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1551729</commentid>
    <comment_count>11</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-07-10 10:55:41 -0700</bug_when>
    <thetext>Attachment 373850 did not pass style-queue:


ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:126:  [RunJavaScriptCoreTestsTest.test_jsc_stress_failures_with_binary_results_output] Undefined variable &apos;FAILURE&apos;  [pylint/E0602] [5]
ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:132:  [RunJavaScriptCoreTestsTest.test_jsc_stress_failures_with_binary_result_output] Undefined variable &apos;FAILURE&apos;  [pylint/E0602] [5]
Total errors found: 2 in 4 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1551748</commentid>
    <comment_count>12</comment_count>
      <attachid>373850</attachid>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2019-07-10 11:33:09 -0700</bug_when>
    <thetext>Comment on attachment 373850
Patch

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

&gt; Tools/Scripts/run-javascriptcore-tests:413
&gt; +        reportTestFailures();

Do you want to run this method only in case of failFast?

I see that this method is called at the end as well, but that would probably report test failures only for last function call.

&gt; Tools/Scripts/run-javascriptcore-tests:421
&gt; +  if ($numJSCtestFailures) {

Do you want to exit early here if numJSCtestFailures is 0?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1551757</commentid>
    <comment_count>13</comment_count>
    <who name="Zhifei Fang">zhifei_fang</who>
    <bug_when>2019-07-10 11:46:09 -0700</bug_when>
    <thetext>(In reply to Aakash Jain from comment #12)
&gt; Comment on attachment 373850 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=373850&amp;action=review
&gt; 
&gt; &gt; Tools/Scripts/run-javascriptcore-tests:413
&gt; &gt; +        reportTestFailures();
&gt; 
&gt; Do you want to run this method only in case of failFast?
&gt; 
&gt; I see that this method is called at the end as well, but that would probably
&gt; report test failures only for last function call.

I call it at the end because I will have some format like this:



** The following JSC stress test failures have been introduced:
	mozilla-tests.yaml/js1_5/Array/regress-101964.js.mozilla-ftl-eager-no-cjit-validate-phases
	mozilla-tests.yaml/js1_5/Array/regress-101964.js.mozilla-llint
	mozilla-tests.yaml/js1_5/Array/regress-101964.js.mozilla-no-ftl

Results for JSC stress tests:
    3 failures found.


** The following JSC test binaries failures have been introduced:
	testmasm
	testair
	testb3
	testdfg
	testapi

Results for JSC test binaries:
    5 failures found.



We will put all the report together. This will be good for bot watcher to look at.

Also, if we have fail fast option, that means it should quit whenever a failures found, we should also print this summary, it will look like this:


testApi completed with rc=5
** The following JSC test binaries failures have been introduced:
	testapi

Results for JSC test binaries:
    1 failure found.


&gt; 
&gt; &gt; Tools/Scripts/run-javascriptcore-tests:421
&gt; &gt; +  if ($numJSCtestFailures) {
&gt; 
&gt; Do you want to exit early here if numJSCtestFailures is 0?


No, if there are no test failures, it should print out the summary as well:

like this:

Results for JSC test binaries:
    0 failure found.
OK

This is also the same logic for the jsc stress tests report.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1551786</commentid>
    <comment_count>14</comment_count>
      <attachid>373850</attachid>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2019-07-10 13:00:39 -0700</bug_when>
    <thetext>Comment on attachment 373850
Patch

looks fine to me, but would prefer if jbedard can also have a look.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1551794</commentid>
    <comment_count>15</comment_count>
      <attachid>373850</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2019-07-10 13:08:11 -0700</bug_when>
    <thetext>Comment on attachment 373850
Patch

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

&gt; Tools/BuildSlaveSupport/build.webkit.org-config/steps.py:359
&gt;              return int(match.group(1))

Should we be early returning here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1551795</commentid>
    <comment_count>16</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2019-07-10 13:08:35 -0700</bug_when>
    <thetext>Can we see an example of old output vs new output?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1551816</commentid>
    <comment_count>17</comment_count>
    <who name="Zhifei Fang">zhifei_fang</who>
    <bug_when>2019-07-10 13:44:52 -0700</bug_when>
    <thetext>(In reply to Jonathan Bedard from comment #16)
&gt; Can we see an example of old output vs new output?

Only add a new section

** The following JSC stress test failures have been introduced:
	mozilla-tests.yaml/js1_5/Array/regress-101964.js.mozilla-ftl-eager-no-cjit-validate-phases
	mozilla-tests.yaml/js1_5/Array/regress-101964.js.mozilla-llint
	mozilla-tests.yaml/js1_5/Array/regress-101964.js.mozilla-no-ftl

Results for JSC stress tests:
    3 failures found.


+** The following JSC test binaries failures have been introduced:
+	testmasm
+	testair
+	testb3
+	testdfg
+	testapi
+
+Results for JSC test binaries:
+    5 failures found.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1551818</commentid>
    <comment_count>18</comment_count>
    <who name="Zhifei Fang">zhifei_fang</who>
    <bug_when>2019-07-10 13:49:30 -0700</bug_when>
    <thetext>(In reply to Jonathan Bedard from comment #15)
&gt; Comment on attachment 373850 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=373850&amp;action=review
&gt; 
&gt; &gt; Tools/BuildSlaveSupport/build.webkit.org-config/steps.py:359
&gt; &gt;              return int(match.group(1))
&gt; 
&gt; Should we be early returning here?

That&apos;s the existing logic, it will return the count for &quot;Results for Mozilla tests:&quot; or &quot;Results for JSC stress test:&quot; I guess &quot;Results for Mozilla tests:&quot; is an old format, I don&apos;t find any script output this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1551836</commentid>
    <comment_count>19</comment_count>
      <attachid>373850</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2019-07-10 14:13:24 -0700</bug_when>
    <thetext>Comment on attachment 373850
Patch

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

&gt;&gt;&gt; Tools/BuildSlaveSupport/build.webkit.org-config/steps.py:359
&gt;&gt;&gt;              return int(match.group(1))
&gt;&gt; 
&gt;&gt; Should we be early returning here?
&gt; 
&gt; That&apos;s the existing logic, it will return the count for &quot;Results for Mozilla tests:&quot; or &quot;Results for JSC stress test:&quot; I guess &quot;Results for Mozilla tests:&quot; is an old format, I don&apos;t find any script output this.

It&apos;s just weird to me that we converted the other early return but not this one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1551847</commentid>
    <comment_count>20</comment_count>
      <attachid>373866</attachid>
    <who name="Zhifei Fang">zhifei_fang</who>
    <bug_when>2019-07-10 14:59:08 -0700</bug_when>
    <thetext>Created attachment 373866
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1551848</commentid>
    <comment_count>21</comment_count>
    <who name="Zhifei Fang">zhifei_fang</who>
    <bug_when>2019-07-10 14:59:35 -0700</bug_when>
    <thetext>(In reply to Jonathan Bedard from comment #19)
&gt; Comment on attachment 373850 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=373850&amp;action=review
&gt; 
&gt; &gt;&gt;&gt; Tools/BuildSlaveSupport/build.webkit.org-config/steps.py:359
&gt; &gt;&gt;&gt;              return int(match.group(1))
&gt; &gt;&gt; 
&gt; &gt;&gt; Should we be early returning here?
&gt; &gt; 
&gt; &gt; That&apos;s the existing logic, it will return the count for &quot;Results for Mozilla tests:&quot; or &quot;Results for JSC stress test:&quot; I guess &quot;Results for Mozilla tests:&quot; is an old format, I don&apos;t find any script output this.
&gt; 
&gt; It&apos;s just weird to me that we converted the other early return but not this
&gt; one.

changed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1551849</commentid>
    <comment_count>22</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-07-10 15:00:49 -0700</bug_when>
    <thetext>Attachment 373866 did not pass style-queue:


ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:126:  [RunJavaScriptCoreTestsTest.test_jsc_stress_failures_with_binary_results_output] Undefined variable &apos;FAILURE&apos;  [pylint/E0602] [5]
ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:132:  [RunJavaScriptCoreTestsTest.test_jsc_stress_failures_with_binary_result_output] Undefined variable &apos;FAILURE&apos;  [pylint/E0602] [5]
Total errors found: 2 in 4 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1551888</commentid>
    <comment_count>23</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2019-07-10 17:05:31 -0700</bug_when>
    <thetext>jsc-mips is failing.

Is this because we were ignoring such failures earlier? Is this an existing failure?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1551892</commentid>
    <comment_count>24</comment_count>
    <who name="Zhifei Fang">zhifei_fang</who>
    <bug_when>2019-07-10 17:08:47 -0700</bug_when>
    <thetext>(In reply to Jonathan Bedard from comment #23)
&gt; jsc-mips is failing.
&gt; 
&gt; Is this because we were ignoring such failures earlier? Is this an existing
&gt; failure?

I don&apos;t think without restart, the buildbot part code will have any effects.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1551894</commentid>
    <comment_count>25</comment_count>
    <who name="Zhifei Fang">zhifei_fang</who>
    <bug_when>2019-07-10 17:10:41 -0700</bug_when>
    <thetext>(In reply to Jonathan Bedard from comment #23)
&gt; jsc-mips is failing.
&gt; 
&gt; Is this because we were ignoring such failures earlier? Is this an existing
&gt; failure?

I was wrong here, because I change the return code, if any test binaries failed, it will return 1 which indicate the error.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1551895</commentid>
    <comment_count>26</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2019-07-10 17:12:01 -0700</bug_when>
    <thetext>(In reply to Zhifei Fang from comment #25)
&gt; (In reply to Jonathan Bedard from comment #23)
&gt; &gt; jsc-mips is failing.
&gt; &gt; 
&gt; &gt; Is this because we were ignoring such failures earlier? Is this an existing
&gt; &gt; failure?
&gt; 
&gt; I was wrong here, because I change the return code, if any test binaries
&gt; failed, it will return 1 which indicate the error.

Previous patches didn&apos;t fail, though. So this is either a flakey test or a newly introduced failure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1551898</commentid>
    <comment_count>27</comment_count>
      <attachid>373866</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2019-07-10 17:24:29 -0700</bug_when>
    <thetext>Comment on attachment 373866
Patch

Zhifei says that the problem jsc-mips has surfaced may be a real issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1551899</commentid>
    <comment_count>28</comment_count>
    <who name="Zhifei Fang">zhifei_fang</who>
    <bug_when>2019-07-10 17:27:48 -0700</bug_when>
    <thetext>(In reply to Jonathan Bedard from comment #27)
&gt; Comment on attachment 373866 [details]
&gt; Patch
&gt; 
&gt; Zhifei says that the problem jsc-mips has surfaced may be a real issue.

Yes, we cannot testb3 testair testdfg etc for arch MIPS, those only support X64 and ARM64</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1552086</commentid>
    <comment_count>29</comment_count>
    <who name="Guillaume Emont">guijemont</who>
    <bug_when>2019-07-11 09:45:50 -0700</bug_when>
    <thetext>(In reply to Jonathan Bedard from comment #26)

&gt; 
&gt; Previous patches didn&apos;t fail, though. So this is either a flakey test or a
&gt; newly introduced failure.

I think it&apos;s neither: I just enabled testing on the jsc-mips EWS. Up until yesterday, it was only compiling and not running tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1552088</commentid>
    <comment_count>30</comment_count>
    <who name="Guillaume Emont">guijemont</who>
    <bug_when>2019-07-11 09:48:40 -0700</bug_when>
    <thetext>(In reply to Guillaume Emont from comment #29)
&gt; (In reply to Jonathan Bedard from comment #26)
&gt; 
&gt; &gt; 
&gt; &gt; Previous patches didn&apos;t fail, though. So this is either a flakey test or a
&gt; &gt; newly introduced failure.
&gt; 
&gt; I think it&apos;s neither: I just enabled testing on the jsc-mips EWS. Up until
&gt; yesterday, it was only compiling and not running tests.

I also don&apos;t fully understand why the bubbles for arm and mips are currently green, since when clicking on them we see that they are actually failing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1552090</commentid>
    <comment_count>31</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2019-07-11 09:57:54 -0700</bug_when>
    <thetext>(In reply to Guillaume Emont from comment #30)
&gt; (In reply to Guillaume Emont from comment #29)
&gt; &gt; (In reply to Jonathan Bedard from comment #26)
&gt; &gt; 
&gt; &gt; &gt; 
&gt; &gt; &gt; Previous patches didn&apos;t fail, though. So this is either a flakey test or a
&gt; &gt; &gt; newly introduced failure.
&gt; &gt; 
&gt; &gt; I think it&apos;s neither: I just enabled testing on the jsc-mips EWS. Up until
&gt; &gt; yesterday, it was only compiling and not running tests.
&gt; 
&gt; I also don&apos;t fully understand why the bubbles for arm and mips are currently
&gt; green, since when clicking on them we see that they are actually failing.

It looks like they passed on retry.

Old EWS doesn&apos;t actually show us the output of successful run.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1552230</commentid>
    <comment_count>32</comment_count>
      <attachid>373956</attachid>
    <who name="Zhifei Fang">zhifei_fang</who>
    <bug_when>2019-07-11 14:39:21 -0700</bug_when>
    <thetext>Created attachment 373956
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1552233</commentid>
    <comment_count>33</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-07-11 14:40:55 -0700</bug_when>
    <thetext>Attachment 373956 did not pass style-queue:


ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:126:  [RunJavaScriptCoreTestsTest.test_jsc_stress_failures_with_binary_results_output] Undefined variable &apos;FAILURE&apos;  [pylint/E0602] [5]
ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:132:  [RunJavaScriptCoreTestsTest.test_jsc_stress_failures_with_binary_result_output] Undefined variable &apos;FAILURE&apos;  [pylint/E0602] [5]
Total errors found: 2 in 4 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1552236</commentid>
    <comment_count>34</comment_count>
    <who name="Zhifei Fang">zhifei_fang</who>
    <bug_when>2019-07-11 14:48:01 -0700</bug_when>
    <thetext>(In reply to Jonathan Bedard from comment #31)
&gt; (In reply to Guillaume Emont from comment #30)
&gt; &gt; (In reply to Guillaume Emont from comment #29)
&gt; &gt; &gt; (In reply to Jonathan Bedard from comment #26)
&gt; &gt; &gt; 
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; Previous patches didn&apos;t fail, though. So this is either a flakey test or a
&gt; &gt; &gt; &gt; newly introduced failure.
&gt; &gt; &gt; 
&gt; &gt; &gt; I think it&apos;s neither: I just enabled testing on the jsc-mips EWS. Up until
&gt; &gt; &gt; yesterday, it was only compiling and not running tests.
&gt; &gt; 
&gt; &gt; I also don&apos;t fully understand why the bubbles for arm and mips are currently
&gt; &gt; green, since when clicking on them we see that they are actually failing.
&gt; 
&gt; It looks like they passed on retry.
&gt; 
&gt; Old EWS doesn&apos;t actually show us the output of successful run.

Those test binaries cannot be run on remote device actually, for now, this script don&apos;t have this functionality. Even you provide --remote to this command, all the test binaries will be executed locally. I guess we should fix in other patch.

And here, my newest patch will disable those test binaries for mips. Even though we change it to run on remote device, mips won&apos;t support those as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1552388</commentid>
    <comment_count>35</comment_count>
    <who name="Guillaume Emont">guijemont</who>
    <bug_when>2019-07-12 03:30:23 -0700</bug_when>
    <thetext>(In reply to Zhifei Fang from comment #34)
&gt; (In reply to Jonathan Bedard from comment #31)
&gt; &gt; (In reply to Guillaume Emont from comment #30)
&gt; &gt; &gt; (In reply to Guillaume Emont from comment #29)
&gt; &gt; &gt; &gt; (In reply to Jonathan Bedard from comment #26)
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; &gt; Previous patches didn&apos;t fail, though. So this is either a flakey test or a
&gt; &gt; &gt; &gt; &gt; newly introduced failure.
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; I think it&apos;s neither: I just enabled testing on the jsc-mips EWS. Up until
&gt; &gt; &gt; &gt; yesterday, it was only compiling and not running tests.
&gt; &gt; &gt; 
&gt; &gt; &gt; I also don&apos;t fully understand why the bubbles for arm and mips are currently
&gt; &gt; &gt; green, since when clicking on them we see that they are actually failing.
&gt; &gt; 
&gt; &gt; It looks like they passed on retry.
&gt; &gt; 
&gt; &gt; Old EWS doesn&apos;t actually show us the output of successful run.
&gt; 
&gt; Those test binaries cannot be run on remote device actually, for now, this
&gt; script don&apos;t have this functionality. Even you provide --remote to this
&gt; command, all the test binaries will be executed locally. I guess we should
&gt; fix in other patch.
&gt; 
&gt; And here, my newest patch will disable those test binaries for mips. Even
&gt; though we change it to run on remote device, mips won&apos;t support those as
&gt; well.

Should be disabled for armv7 too. Don&apos;t know if there are other EWSs running tests remotely.

BTW, there is a patch awaiting review in Bug 195404 that runs tests on remote devices. We have an issue with a testmasm failure on arm that I&apos;m currently investigating though, so we might not want to enable this immediately.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1552390</commentid>
    <comment_count>36</comment_count>
      <attachid>373956</attachid>
    <who name="Guillaume Emont">guijemont</who>
    <bug_when>2019-07-12 03:35:30 -0700</bug_when>
    <thetext>Comment on attachment 373956
Patch

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

&gt; Tools/BuildSlaveSupport/build.webkit.org-config/steps.py:336
&gt; +        if architecture == &apos;mips&apos;:
&gt; +            self.command += [&apos;--no-testmasm&apos;, &apos;--no-testair&apos;, &apos;--no-testb3&apos;, &apos;--no-testdfg&apos;, &apos;--no-testapi&apos;]

We should add arm here too (unsure about aarch64). Also, will this work for both buildbots and EWS (old and new)?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1552463</commentid>
    <comment_count>37</comment_count>
    <who name="Zhifei Fang">zhifei_fang</who>
    <bug_when>2019-07-12 10:57:46 -0700</bug_when>
    <thetext>(In reply to Guillaume Emont from comment #36)
&gt; Comment on attachment 373956 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=373956&amp;action=review
&gt; 
&gt; &gt; Tools/BuildSlaveSupport/build.webkit.org-config/steps.py:336
&gt; &gt; +        if architecture == &apos;mips&apos;:
&gt; &gt; +            self.command += [&apos;--no-testmasm&apos;, &apos;--no-testair&apos;, &apos;--no-testb3&apos;, &apos;--no-testdfg&apos;, &apos;--no-testapi&apos;]
&gt; 
&gt; We should add arm here too (unsure about aarch64). Also, will this work for
&gt; both buildbots and EWS (old and new)?

Here are some my thoughts:

I think JSC team would love to run those test binaries on remote devices, I can disable them for now, since we don&apos;t actually run them remotely, I guess we should create another radar to make them run on the remote device, I believe arm support them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1552473</commentid>
    <comment_count>38</comment_count>
      <attachid>374024</attachid>
    <who name="Zhifei Fang">zhifei_fang</who>
    <bug_when>2019-07-12 11:26:44 -0700</bug_when>
    <thetext>Created attachment 374024
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1552475</commentid>
    <comment_count>39</comment_count>
    <who name="Zhifei Fang">zhifei_fang</who>
    <bug_when>2019-07-12 11:27:39 -0700</bug_when>
    <thetext>(In reply to Guillaume Emont from comment #36)
&gt; Comment on attachment 373956 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=373956&amp;action=review
&gt; 
&gt; &gt; Tools/BuildSlaveSupport/build.webkit.org-config/steps.py:336
&gt; &gt; +        if architecture == &apos;mips&apos;:
&gt; &gt; +            self.command += [&apos;--no-testmasm&apos;, &apos;--no-testair&apos;, &apos;--no-testb3&apos;, &apos;--no-testdfg&apos;, &apos;--no-testapi&apos;]
&gt; 
&gt; We should add arm here too (unsure about aarch64). Also, will this work for
&gt; both buildbots and EWS (old and new)?

Did add all those will run remote test arch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1552476</commentid>
    <comment_count>40</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-07-12 11:29:23 -0700</bug_when>
    <thetext>Attachment 374024 did not pass style-queue:


ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:126:  [RunJavaScriptCoreTestsTest.test_jsc_stress_failures_with_binary_results_output] Undefined variable &apos;FAILURE&apos;  [pylint/E0602] [5]
ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:132:  [RunJavaScriptCoreTestsTest.test_jsc_stress_failures_with_binary_result_output] Undefined variable &apos;FAILURE&apos;  [pylint/E0602] [5]
Total errors found: 2 in 4 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1552480</commentid>
    <comment_count>41</comment_count>
      <attachid>374024</attachid>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2019-07-12 11:52:51 -0700</bug_when>
    <thetext>Comment on attachment 374024
Patch

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

&gt; Tools/ChangeLog:5
&gt; +

Please add corresponding rdar id here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1552481</commentid>
    <comment_count>42</comment_count>
      <attachid>374026</attachid>
    <who name="Zhifei Fang">zhifei_fang</who>
    <bug_when>2019-07-12 12:08:04 -0700</bug_when>
    <thetext>Created attachment 374026
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1552482</commentid>
    <comment_count>43</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-07-12 12:10:41 -0700</bug_when>
    <thetext>Attachment 374026 did not pass style-queue:


ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:126:  [RunJavaScriptCoreTestsTest.test_jsc_stress_failures_with_binary_results_output] Undefined variable &apos;FAILURE&apos;  [pylint/E0602] [5]
ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:132:  [RunJavaScriptCoreTestsTest.test_jsc_stress_failures_with_binary_result_output] Undefined variable &apos;FAILURE&apos;  [pylint/E0602] [5]
Total errors found: 2 in 4 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1552486</commentid>
    <comment_count>44</comment_count>
      <attachid>374026</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-07-12 12:50:12 -0700</bug_when>
    <thetext>Comment on attachment 374026
Patch

Clearing flags on attachment: 374026

Committed r247393: &lt;https://trac.webkit.org/changeset/247393&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1552487</commentid>
    <comment_count>45</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-07-12 12:50:14 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1552488</commentid>
    <comment_count>46</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-07-12 12:51:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/53022268&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1552817</commentid>
    <comment_count>47</comment_count>
    <who name="Guillaume Emont">guijemont</who>
    <bug_when>2019-07-15 04:23:58 -0700</bug_when>
    <thetext>This definitely breaks the arm and mips EWS.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1552821</commentid>
    <comment_count>48</comment_count>
    <who name="Guillaume Emont">guijemont</who>
    <bug_when>2019-07-15 04:49:39 -0700</bug_when>
    <thetext>(In reply to Guillaume Emont from comment #47)
&gt; This definitely breaks the arm and mips EWS.

Example test output from arm bot (we get the same on the mips bot):
https://webkit-queues.webkit.org/results/12741762

I believe that additional code is needed to disable the binary test report on these archs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1552823</commentid>
    <comment_count>49</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-07-15 04:55:12 -0700</bug_when>
    <thetext>Re-opened since this is blocked by bug 199797</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1552862</commentid>
    <comment_count>50</comment_count>
    <who name="Zhifei Fang">zhifei_fang</who>
    <bug_when>2019-07-15 10:04:52 -0700</bug_when>
    <thetext>(In reply to Guillaume Emont from comment #48)
&gt; (In reply to Guillaume Emont from comment #47)
&gt; &gt; This definitely breaks the arm and mips EWS.
&gt; 
&gt; Example test output from arm bot (we get the same on the mips bot):
&gt; https://webkit-queues.webkit.org/results/12741762
&gt; 
&gt; I believe that additional code is needed to disable the binary test report
&gt; on these archs.

This is weird, it works well here:

https://build.webkit.org/builders/JSCOnly%20Linux%20MIPS32el%20Release/builds/3310/steps/jscore-test/logs/stdio

Most likely either I miss something, or I miss to restart something.

aakash_jain, any instruction here ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1552872</commentid>
    <comment_count>51</comment_count>
    <who name="Guillaume Emont">guijemont</who>
    <bug_when>2019-07-15 10:19:52 -0700</bug_when>
    <thetext>(In reply to Zhifei Fang from comment #50)
&gt; (In reply to Guillaume Emont from comment #48)
&gt; &gt; (In reply to Guillaume Emont from comment #47)
&gt; &gt; &gt; This definitely breaks the arm and mips EWS.
&gt; &gt; 
&gt; &gt; Example test output from arm bot (we get the same on the mips bot):
&gt; &gt; https://webkit-queues.webkit.org/results/12741762
&gt; &gt; 
&gt; &gt; I believe that additional code is needed to disable the binary test report
&gt; &gt; on these archs.
&gt; 
&gt; This is weird, it works well here:
&gt; 
&gt; https://build.webkit.org/builders/JSCOnly%20Linux%20MIPS32el%20Release/
&gt; builds/3310/steps/jscore-test/logs/stdio
&gt; 
&gt; Most likely either I miss something, or I miss to restart something.
&gt; 
&gt; aakash_jain, any instruction here ?

Buildbots and (old) EWS don&apos;t use the same scripts. So I think we&apos;re in a situation where the buildbots properly ignore the results of tesmasm &amp; co, whereas the EWS looks at them.
I would guess we might need to add code in Tools/Scripts/webkitpy/common/config/ports.py or somewhere around that so that we also pass the --no-testmasm... options for the old EWS.
Alternatively, if this looks unfeasible, I can try to add this to the $JSCTESTS_OPTIONS environment variable of jsc-mips-ews and jsc-armv7-ews.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1552877</commentid>
    <comment_count>52</comment_count>
    <who name="Zhifei Fang">zhifei_fang</who>
    <bug_when>2019-07-15 10:28:04 -0700</bug_when>
    <thetext>(In reply to Guillaume Emont from comment #51)
&gt; (In reply to Zhifei Fang from comment #50)
&gt; &gt; (In reply to Guillaume Emont from comment #48)
&gt; &gt; &gt; (In reply to Guillaume Emont from comment #47)
&gt; &gt; &gt; &gt; This definitely breaks the arm and mips EWS.
&gt; &gt; &gt; 
&gt; &gt; &gt; Example test output from arm bot (we get the same on the mips bot):
&gt; &gt; &gt; https://webkit-queues.webkit.org/results/12741762
&gt; &gt; &gt; 
&gt; &gt; &gt; I believe that additional code is needed to disable the binary test report
&gt; &gt; &gt; on these archs.
&gt; &gt; 
&gt; &gt; This is weird, it works well here:
&gt; &gt; 
&gt; &gt; https://build.webkit.org/builders/JSCOnly%20Linux%20MIPS32el%20Release/
&gt; &gt; builds/3310/steps/jscore-test/logs/stdio
&gt; &gt; 
&gt; &gt; Most likely either I miss something, or I miss to restart something.
&gt; &gt; 
&gt; &gt; aakash_jain, any instruction here ?
&gt; 
&gt; Buildbots and (old) EWS don&apos;t use the same scripts. So I think we&apos;re in a
&gt; situation where the buildbots properly ignore the results of tesmasm &amp; co,
&gt; whereas the EWS looks at them.
&gt; I would guess we might need to add code in
&gt; Tools/Scripts/webkitpy/common/config/ports.py or somewhere around that so
&gt; that we also pass the --no-testmasm... options for the old EWS.
&gt; Alternatively, if this looks unfeasible, I can try to add this to the
&gt; $JSCTESTS_OPTIONS environment variable of jsc-mips-ews and jsc-armv7-ews.

I guess I will need to modify the old EWS code as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1552883</commentid>
    <comment_count>53</comment_count>
    <who name="Guillaume Emont">guijemont</who>
    <bug_when>2019-07-15 10:47:31 -0700</bug_when>
    <thetext>(In reply to Zhifei Fang from comment #52)

&gt; I guess I will need to modify the old EWS code as well.

Yes, jsc-mips-ews and jsc-armv7-ews still run the old EWS system.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1553341</commentid>
    <comment_count>54</comment_count>
      <attachid>374251</attachid>
    <who name="Zhifei Fang">zhifei_fang</who>
    <bug_when>2019-07-16 15:38:44 -0700</bug_when>
    <thetext>Created attachment 374251
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1553342</commentid>
    <comment_count>55</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-07-16 15:39:52 -0700</bug_when>
    <thetext>Attachment 374251 did not pass style-queue:


ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:126:  [RunJavaScriptCoreTestsTest.test_jsc_stress_failures_with_binary_results_output] Undefined variable &apos;FAILURE&apos;  [pylint/E0602] [5]
ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:132:  [RunJavaScriptCoreTestsTest.test_jsc_stress_failures_with_binary_result_output] Undefined variable &apos;FAILURE&apos;  [pylint/E0602] [5]
Total errors found: 2 in 6 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1553564</commentid>
    <comment_count>56</comment_count>
      <attachid>374306</attachid>
    <who name="Zhifei Fang">zhifei_fang</who>
    <bug_when>2019-07-17 10:36:00 -0700</bug_when>
    <thetext>Created attachment 374306
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1553566</commentid>
    <comment_count>57</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-07-17 10:37:26 -0700</bug_when>
    <thetext>Attachment 374306 did not pass style-queue:


ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:126:  [RunJavaScriptCoreTestsTest.test_jsc_stress_failures_with_binary_results_output] Undefined variable &apos;FAILURE&apos;  [pylint/E0602] [5]
ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:132:  [RunJavaScriptCoreTestsTest.test_jsc_stress_failures_with_binary_result_output] Undefined variable &apos;FAILURE&apos;  [pylint/E0602] [5]
Total errors found: 2 in 6 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1553577</commentid>
    <comment_count>58</comment_count>
      <attachid>374307</attachid>
    <who name="Zhifei Fang">zhifei_fang</who>
    <bug_when>2019-07-17 10:59:09 -0700</bug_when>
    <thetext>Created attachment 374307
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1553582</commentid>
    <comment_count>59</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-07-17 11:01:39 -0700</bug_when>
    <thetext>Attachment 374307 did not pass style-queue:


ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:126:  [RunJavaScriptCoreTestsTest.test_jsc_stress_failures_with_binary_results_output] Undefined variable &apos;FAILURE&apos;  [pylint/E0602] [5]
ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:132:  [RunJavaScriptCoreTestsTest.test_jsc_stress_failures_with_binary_result_output] Undefined variable &apos;FAILURE&apos;  [pylint/E0602] [5]
Total errors found: 2 in 6 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1553734</commentid>
    <comment_count>60</comment_count>
      <attachid>374307</attachid>
    <who name="Guillaume Emont">guijemont</who>
    <bug_when>2019-07-17 16:07:29 -0700</bug_when>
    <thetext>Comment on attachment 374307
Patch

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

&gt; Tools/Scripts/webkitpy/common/config/ports.py:259
&gt; +&quot;&quot;&quot;
&gt; +    def run_javascriptcore_tests_command(self, build_style=None):
&gt; +        command = self.script_shell_command(&quot;run-javascriptcore-tests&quot;)
&gt; +        command.append(&quot;--no-fail-fast&quot;)
&gt; +        command.append(&quot;--no-testmasm&quot;)
&gt; +        command.append(&quot;--no-testair&quot;)
&gt; +        command.append(&quot;--no-testb3&quot;)
&gt; +        command.append(&quot;--no-testdfg&quot;)
&gt; +        command.append(&quot;--no-testapi&quot;)
&gt; +        if &apos;JSCTESTS_OPTIONS&apos; in os.environ:
&gt; +            command += os.environ[&apos;JSCTESTS_OPTIONS&apos;].split()
&gt; +        return self._append_build_style_flag(command, build_style)
&gt; +&quot;&quot;&quot;

I&apos;m confused as to why the jsc-mips and jsc-armv7 bubbles show green, but things definitely fail there with this version with this code between quotes. A previous version was working for them.
Other than removing the quotes, uou might want to add some conditions on the arch here, since I think that the jsc-i386 and jsc EWS should be able to run these binaries (unless they&apos;re already in the new EWS, in which case they wouldn&apos;t be affected, but I suspect that at least jsc-i386 is still on the old EWS).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1553742</commentid>
    <comment_count>61</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2019-07-17 16:21:15 -0700</bug_when>
    <thetext>&gt; I&apos;m confused as to why the jsc-mips and jsc-armv7 bubbles show green
Seems like a bug in old EWS: https://bugs.webkit.org/show_bug.cgi?id=199753

&gt; unless they&apos;re already in the new EWS
All the jsc queues are on old EWS currently.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1554003</commentid>
    <comment_count>62</comment_count>
    <who name="Zhifei Fang">zhifei_fang</who>
    <bug_when>2019-07-18 13:21:59 -0700</bug_when>
    <thetext>jsc failing is because testapi is actually failing, we don&apos;t report this in ews before.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1554004</commentid>
    <comment_count>63</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2019-07-18 13:26:12 -0700</bug_when>
    <thetext>(In reply to Zhifei Fang from comment #62)
&gt; jsc failing is because testapi is actually failing, we don&apos;t report this in ews before.
ok, can you please file another bug for that with the details. And is it possible for us to fix the root-cause?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1554840</commentid>
    <comment_count>64</comment_count>
      <attachid>374627</attachid>
    <who name="Zhifei Fang">zhifei_fang</who>
    <bug_when>2019-07-22 13:58:09 -0700</bug_when>
    <thetext>Created attachment 374627
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1554844</commentid>
    <comment_count>65</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-07-22 14:01:07 -0700</bug_when>
    <thetext>Attachment 374627 did not pass style-queue:


ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:126:  [RunJavaScriptCoreTestsTest.test_jsc_stress_failures_with_binary_results_output] Undefined variable &apos;FAILURE&apos;  [pylint/E0602] [5]
ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:132:  [RunJavaScriptCoreTestsTest.test_jsc_stress_failures_with_binary_result_output] Undefined variable &apos;FAILURE&apos;  [pylint/E0602] [5]
Total errors found: 2 in 6 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1555078</commentid>
    <comment_count>66</comment_count>
      <attachid>374690</attachid>
    <who name="Zhifei Fang">zhifei_fang</who>
    <bug_when>2019-07-23 11:56:12 -0700</bug_when>
    <thetext>Created attachment 374690
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1555079</commentid>
    <comment_count>67</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-07-23 11:58:44 -0700</bug_when>
    <thetext>Attachment 374690 did not pass style-queue:


ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:126:  [RunJavaScriptCoreTestsTest.test_jsc_stress_failures_with_binary_results_output] Undefined variable &apos;FAILURE&apos;  [pylint/E0602] [5]
ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:132:  [RunJavaScriptCoreTestsTest.test_jsc_stress_failures_with_binary_result_output] Undefined variable &apos;FAILURE&apos;  [pylint/E0602] [5]
Total errors found: 2 in 6 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1555216</commentid>
    <comment_count>68</comment_count>
      <attachid>374690</attachid>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2019-07-23 16:48:48 -0700</bug_when>
    <thetext>Comment on attachment 374690
Patch

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

&gt; Tools/ChangeLog:8
&gt; +        * BuildSlaveSupport/build.webkit.org-config/steps.py:

Please update ChangeLog with the short description of the changes.

&gt; Tools/BuildSlaveSupport/build.webkit.org-config/steps.py:335
&gt; +        # Currently run-javascriptcore-test doesn&apos;t support run those binaries remotely

Nit: run -&gt; running.
Also what does &apos;those&apos; refer to?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1555236</commentid>
    <comment_count>69</comment_count>
      <attachid>374738</attachid>
    <who name="Zhifei Fang">zhifei_fang</who>
    <bug_when>2019-07-23 17:22:29 -0700</bug_when>
    <thetext>Created attachment 374738
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1555237</commentid>
    <comment_count>70</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-07-23 17:23:52 -0700</bug_when>
    <thetext>Attachment 374738 did not pass style-queue:


ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:126:  [RunJavaScriptCoreTestsTest.test_jsc_stress_failures_with_binary_results_output] Undefined variable &apos;FAILURE&apos;  [pylint/E0602] [5]
ERROR: Tools/BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:132:  [RunJavaScriptCoreTestsTest.test_jsc_stress_failures_with_binary_result_output] Undefined variable &apos;FAILURE&apos;  [pylint/E0602] [5]
Total errors found: 2 in 6 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1555302</commentid>
    <comment_count>71</comment_count>
      <attachid>374738</attachid>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2019-07-23 20:50:16 -0700</bug_when>
    <thetext>Comment on attachment 374738
Patch

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

lgtm

&gt; Tools/BuildSlaveSupport/build.webkit.org-config/steps.py:335
&gt; +        # Currently run-javascriptcore-test doesn&apos;t support run javascript core test binaries list below remotely

This looks weird/incomplete. Maybe rephrase something like:

# Currently run-javascriptcore-test doesn&apos;t support remotely running few javascript core test binaries.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1555406</commentid>
    <comment_count>72</comment_count>
      <attachid>374738</attachid>
    <who name="EWS">ews-feeder</who>
    <bug_when>2019-07-24 10:32:43 -0700</bug_when>
    <thetext>Comment on attachment 374738
Patch

Rejecting attachment 374738 from commit-queue.

zhifei_fang@apple.com does not have committer permissions according to https://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/common/config/contributors.json.

- If you do not have committer rights please read http://webkit.org/coding/contributing.html for instructions on how to use bugzilla flags.

- If you have committer rights please correct the error in Tools/Scripts/webkitpy/common/config/contributors.json by adding yourself to the file (no review needed).  The commit-queue restarts itself every 2 hours.  After restart the commit-queue will correctly respect your committer rights.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1555427</commentid>
    <comment_count>73</comment_count>
      <attachid>374738</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-07-24 11:07:07 -0700</bug_when>
    <thetext>Comment on attachment 374738
Patch

Clearing flags on attachment: 374738

Committed r247781: &lt;https://trac.webkit.org/changeset/247781&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1555428</commentid>
    <comment_count>74</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-07-24 11:07:10 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>373451</attachid>
            <date>2019-07-03 20:07:57 -0700</date>
            <delta_ts>2019-07-08 14:29:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199489-20190703200756.patch</filename>
            <type>text/plain</type>
            <size>1379</size>
            <attacher name="Zhifei Fang">zhifei_fang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3MDMwCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNTQ5Mjk0NTliYWI4ZDIzMjA4ZWZiNDY2NmU2MjdlNjJm
MmUwZGUwOC4uYTk1NmZlYWZjYzI3NTc3OWZiMGQ3MjVhYTg4Njc4ZDA0YjQxYTJkNiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEz
IEBACisyMDE5LTA3LTAzICBaaGlmZWkgRmFuZyAgPHpoaWZlaV9mYW5nQGFwcGxlLmNvbT4KKwor
ICAgICAgICBydW4tamF2YXNjcmlwdC1jb3JlLXRlc3Qgd29uJ3QgcmVwb3J0IGpzb24gcmVzdWx0
cyBmb3IgdGVzdG1hc20sIHRlc3RhaXIsIHRlc3RiMywgdGVzdGRmZyBhbmQgdGVzdCBhcGkKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5OTQ4OQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2NyaXB0cy9y
dW4tamF2YXNjcmlwdGNvcmUtdGVzdHM6CisgICAgICAgIChydW5UZXN0KToKKwogMjAxOS0wNy0w
MSAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAg
IEFkZCBuZXcgZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbiBTUEkgd2l0aCBwcmVmZXJl
bmNlcyBhbmQgdXNlckluZm8KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvcnVuLWphdmFzY3Jp
cHRjb3JlLXRlc3RzIGIvVG9vbHMvU2NyaXB0cy9ydW4tamF2YXNjcmlwdGNvcmUtdGVzdHMKaW5k
ZXggY2ZlNjFhMjc3NDE4ZDE5YjA3NjQwZjA1ZGVlYzU3YWY1NDhjOTgwZi4uOTU1OTQ1OGRhMmI5
YzhmNzgxYTJhYmM3MWIyYjdiM2Q1YjY5OWFhOSAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9y
dW4tamF2YXNjcmlwdGNvcmUtdGVzdHMKKysrIGIvVG9vbHMvU2NyaXB0cy9ydW4tamF2YXNjcmlw
dGNvcmUtdGVzdHMKQEAgLTQwMSwxMCArNDAxLDEwIEBAIHN1YiBydW5UZXN0IHsKICAgICBpZiAo
ZGVmaW5lZCgkanNvbkZpbGVOYW1lKSkgewogICAgICAgICBteSAkdGVzdFN0YXR1cyA9ICgkZXhp
dFN0YXR1cyA9PSAwKT8gSlNPTjo6UFA6OnRydWU6IEpTT046OlBQOjpmYWxzZTsKICAgICAgICAg
JGpzb25EYXRheyRqc29uVGVzdFN0YXR1c05hbWV9ID0gJHRlc3RTdGF0dXM7CisgICAgICAgIHdy
aXRlSnNvbkRhdGFJZkFwcGxpY2FibGUoKTsKICAgICB9CiAKLSAgICBpZiAoJHRlc3RSZXN1bHQg
JiYgJGZhaWxGYXN0KSB7Ci0gICAgICAgIHdyaXRlSnNvbkRhdGFJZkFwcGxpY2FibGUoKTsKKyAg
ICBpZiAoJGZhaWxGYXN0KSB7CiAgICAgICAgIGV4aXQgZXhpdFN0YXR1cygkdGVzdFJlc3VsdCk7
CiAgICAgfQogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>373665</attachid>
            <date>2019-07-08 14:29:18 -0700</date>
            <delta_ts>2019-07-09 15:23:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199489-20190708142917.patch</filename>
            <type>text/plain</type>
            <size>1329</size>
            <attacher name="Zhifei Fang">zhifei_fang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3MjI5CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNTgzZTQ1ODM3Mzg3ZGRlYTZkMWNjMGEzOWE1YTljZjMx
ZjNhMmViMC4uNjI3YzEyZTZiMzRmODk0YjQ5ZWNlZDg1N2M5YzMwNzgwM2FlYjljNiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEz
IEBACisyMDE5LTA3LTA4ICBaaGlmZWkgRmFuZyAgPHpoaWZlaV9mYW5nQGFwcGxlLmNvbT4KKwor
ICAgICAgICBydW4tamF2YXNjcmlwdC1jb3JlLXRlc3Qgd29uJ3QgcmVwb3J0IGpzb24gcmVzdWx0
cyBmb3IgdGVzdG1hc20sdGVzdGFpciwgdGVzdGIzLCB0ZXN0ZGZnIGFuZCB0ZXN0IGFwaQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk5NDg5CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTY3JpcHRzL3J1
bi1qYXZhc2NyaXB0Y29yZS10ZXN0czoKKyAgICAgICAgKHJ1blRlc3QpOgorCiAyMDE5LTA3LTA4
ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNvbT4KIAogICAgICAgICB0ZXN0LXdl
YmtpdHB5OiBFeHBsaWNpdGx5IHVzZSBQeXRob24gMi43IGxsZGIgbGlicmFyeQpkaWZmIC0tZ2l0
IGEvVG9vbHMvU2NyaXB0cy9ydW4tamF2YXNjcmlwdGNvcmUtdGVzdHMgYi9Ub29scy9TY3JpcHRz
L3J1bi1qYXZhc2NyaXB0Y29yZS10ZXN0cwppbmRleCBjZmU2MWEyNzc0MThkMTliMDc2NDBmMDVk
ZWVjNTdhZjU0OGM5ODBmLi4yYzgzNGFiZDA3MDhkM2M5ZGYyYmIyNzMxZGMyODE5ZDc1ZjYyODBm
IDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3J1bi1qYXZhc2NyaXB0Y29yZS10ZXN0cworKysg
Yi9Ub29scy9TY3JpcHRzL3J1bi1qYXZhc2NyaXB0Y29yZS10ZXN0cwpAQCAtNDAxLDEwICs0MDEs
MTAgQEAgc3ViIHJ1blRlc3QgewogICAgIGlmIChkZWZpbmVkKCRqc29uRmlsZU5hbWUpKSB7CiAg
ICAgICAgIG15ICR0ZXN0U3RhdHVzID0gKCRleGl0U3RhdHVzID09IDApPyBKU09OOjpQUDo6dHJ1
ZTogSlNPTjo6UFA6OmZhbHNlOwogICAgICAgICAkanNvbkRhdGF7JGpzb25UZXN0U3RhdHVzTmFt
ZX0gPSAkdGVzdFN0YXR1czsKKyAgICAgICAgd3JpdGVKc29uRGF0YUlmQXBwbGljYWJsZSgpOwog
ICAgIH0KIAogICAgIGlmICgkdGVzdFJlc3VsdCAmJiAkZmFpbEZhc3QpIHsKLSAgICAgICAgd3Jp
dGVKc29uRGF0YUlmQXBwbGljYWJsZSgpOwogICAgICAgICBleGl0IGV4aXRTdGF0dXMoJHRlc3RS
ZXN1bHQpOwogICAgIH0KIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>373779</attachid>
            <date>2019-07-09 15:23:59 -0700</date>
            <delta_ts>2019-07-10 10:52:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199489-20190709152358.patch</filename>
            <type>text/plain</type>
            <size>5830</size>
            <attacher name="Zhifei Fang">zhifei_fang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3MjI5CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNTgzZTQ1ODM3Mzg3ZGRlYTZkMWNjMGEzOWE1YTljZjMx
ZjNhMmViMC4uYWUyZmJlNzI3NDkxY2MzZGY3MjE5ODViYWFlYWZhMjc4MGVmZDQ5YiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4
IEBACisyMDE5LTA3LTA5ICBaaGlmZWkgRmFuZyAgPHpoaWZlaV9mYW5nQGFwcGxlLmNvbT4KKwor
ICAgICAgICBydW4tamF2YXNjcmlwdC1jb3JlLXRlc3Qgd29uJ3QgcmVwb3J0IGpzb24gcmVzdWx0
cyBmb3IgdGVzdG1hc20sIHRlc3RhaXIsIHRlc3RiMywgdGVzdGRmZyBhbmQgdGVzdCBhcGkKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5OTQ4OQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQnVpbGRTbGF2
ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvc3RlcHMucHk6CisgICAgICAgIChSdW5K
YXZhU2NyaXB0Q29yZVRlc3RzLmNvdW50RmFpbHVyZXMpOgorICAgICAgICAqIEJ1aWxkU2xhdmVT
dXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3N0ZXBzX3VuaXR0ZXN0LnB5OgorICAgICAg
ICAqIFNjcmlwdHMvcnVuLWphdmFzY3JpcHRjb3JlLXRlc3RzOgorICAgICAgICAocnVuVGVzdCk6
CisgICAgICAgIChyZXBvcnRUZXN0RmFpbHVyZXMpOgorICAgICAgICAocnVuSlNDU3RyZXNzVGVz
dHMpOgorCiAyMDE5LTA3LTA4ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNvbT4K
IAogICAgICAgICB0ZXN0LXdlYmtpdHB5OiBFeHBsaWNpdGx5IHVzZSBQeXRob24gMi43IGxsZGIg
bGlicmFyeQpkaWZmIC0tZ2l0IGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0
Lm9yZy1jb25maWcvc3RlcHMucHkgYi9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJr
aXQub3JnLWNvbmZpZy9zdGVwcy5weQppbmRleCBjMjdkMjYyZGY5YzllOGU3ZmJmMTc0YWY0MWU3
NDQ5YWY2MDc1NWU2Li5jZGFmZDNhYmRlMmYyYmIwNmQ1OTQ4NTgyM2RhNzk5ZTljNDRjNTRhIDEw
MDY0NAotLS0gYS9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZp
Zy9zdGVwcy5weQorKysgYi9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3Jn
LWNvbmZpZy9zdGVwcy5weQpAQCAtMzQ0LDE2ICszNDQsMjEgQEAgY2xhc3MgUnVuSmF2YVNjcmlw
dENvcmVUZXN0cyhUZXN0V2l0aEZhaWx1cmVDb3VudCk6CiAKICAgICBkZWYgY291bnRGYWlsdXJl
cyhzZWxmLCBjbWQpOgogICAgICAgICBsb2dUZXh0ID0gY21kLmxvZ3NbJ3N0ZGlvJ10uZ2V0VGV4
dCgpCisgICAgICAgIGNvdW50ID0gMAogCiAgICAgICAgIG1hdGNoID0gcmUuc2VhcmNoKHInXlJl
c3VsdHMgZm9yIEpTQyBzdHJlc3MgdGVzdHM6XHI/XG5ccysoXGQrKSBmYWlsdXJlJywgbG9nVGV4
dCwgcmUuTVVMVElMSU5FKQogICAgICAgICBpZiBtYXRjaDoKLSAgICAgICAgICAgIHJldHVybiBp
bnQobWF0Y2guZ3JvdXAoMSkpCisgICAgICAgICAgICBjb3VudCArPSBpbnQobWF0Y2guZ3JvdXAo
MSkpCisKKyAgICAgICAgbWF0Y2ggPSByZS5zZWFyY2gocidSZXN1bHRzIGZvciBKU0MgdGVzdCBi
aW5hcmllczpccj9cblxzKyhcZCspIGZhaWx1cmUnLCBsb2dUZXh0LCByZS5NVUxUSUxJTkUpCisg
ICAgICAgIGlmIG1hdGNoOgorICAgICAgICAgICAgY291bnQgKz0gaW50KG1hdGNoLmdyb3VwKDEp
KQogCiAgICAgICAgIG1hdGNoID0gcmUuc2VhcmNoKHInXlJlc3VsdHMgZm9yIE1vemlsbGEgdGVz
dHM6XHI/XG5ccysoXGQrKSByZWdyZXNzaW9uJywgbG9nVGV4dCwgcmUuTVVMVElMSU5FKQogICAg
ICAgICBpZiBtYXRjaDoKICAgICAgICAgICAgIHJldHVybiBpbnQobWF0Y2guZ3JvdXAoMSkpCiAK
LSAgICAgICAgcmV0dXJuIDAKKyAgICAgICAgcmV0dXJuIGNvdW50CiAKIAogY2xhc3MgUnVuUmVt
b3RlSmF2YVNjcmlwdENvcmVUZXN0cyhSdW5KYXZhU2NyaXB0Q29yZVRlc3RzKToKZGlmZiAtLWdp
dCBhL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3N0ZXBz
X3VuaXR0ZXN0LnB5IGIvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1j
b25maWcvc3RlcHNfdW5pdHRlc3QucHkKaW5kZXggNGY4NzVkM2VhMGQwM2FjMjJlNTU0YjM1NWY5
MDIyMTQ3NDcyZTgzZi4uNjUzMTViZGU1Nzg4ZGQ1NjY4NjA2MTNiMDcwYjhkNTg4NzQyMTZiYiAx
MDA3NTUKLS0tIGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25m
aWcvc3RlcHNfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQu
d2Via2l0Lm9yZy1jb25maWcvc3RlcHNfdW5pdHRlc3QucHkKQEAgLTEyMiw2ICsxMjIsMTggQEAg
Y2xhc3MgUnVuSmF2YVNjcmlwdENvcmVUZXN0c1Rlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAg
ICAgICBzZWxmLmFzc2VydFJlc3VsdHMoRkFJTFVSRSwgWyI1IEpTQyB0ZXN0cyBmYWlsZWQiXSwg
MSwgICIiIlJlc3VsdHMgZm9yIEpTQyBzdHJlc3MgdGVzdHM6CiAgICAgNSBmYWlsdXJlcyBmb3Vu
ZC4iIiIpCiAKKyAgICBkZWYgdGVzdF9qc2Nfc3RyZXNzX2ZhaWx1cmVzX3dpdGhfYmluYXJ5X3Jl
c3VsdHNfb3V0cHV0KHNlbGYpOgorICAgICAgICBzZWxmLmFzc2VydFJlc3VsdHMoRkFJTFVSRSwg
WyI4IEpTQyB0ZXN0cyBmYWlsZWQiXSwgMSwgICIiIlJlc3VsdHMgZm9yIEpTQyBzdHJlc3MgdGVz
dHM6CisgICAgNSBmYWlsdXJlcyBmb3VuZC4KK1Jlc3VsdHMgZm9yIEpTQyB0ZXN0IGJpbmFyaWVz
OgorICAgIDMgZmFpbHVyZXMgZm91bmQuIiIiKQorCisgICAgZGVmIHRlc3RfanNjX3N0cmVzc19m
YWlsdXJlc193aXRoX2JpbmFyeV9yZXN1bHRfb3V0cHV0KHNlbGYpOgorICAgICAgICBzZWxmLmFz
c2VydFJlc3VsdHMoRkFJTFVSRSwgWyI2IEpTQyB0ZXN0cyBmYWlsZWQiXSwgMSwgICIiIlJlc3Vs
dHMgZm9yIEpTQyBzdHJlc3MgdGVzdHM6CisgICAgNSBmYWlsdXJlcyBmb3VuZC4KK1Jlc3VsdHMg
Zm9yIEpTQyB0ZXN0IGJpbmFyaWVzOgorICAgIDEgZmFpbHVyZSBmb3VuZC4iIiIpCisKIAogY2xh
c3MgUnVuVGVzdDI2MlRlc3RzVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgZGVmIGFzc2Vy
dFJlc3VsdHMoc2VsZiwgZXhwZWN0ZWRfcmVzdWx0LCBleHBlY3RlZF90ZXh0LCByYywgc3RkaW8p
OgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9ydW4tamF2YXNjcmlwdGNvcmUtdGVzdHMgYi9U
b29scy9TY3JpcHRzL3J1bi1qYXZhc2NyaXB0Y29yZS10ZXN0cwppbmRleCBjZmU2MWEyNzc0MThk
MTliMDc2NDBmMDVkZWVjNTdhZjU0OGM5ODBmLi4yYjhhYjAyNTZmNDk2NDk3MTI5NjBmMmU3MTVk
MDk2YTYwYzIwZTVjIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3J1bi1qYXZhc2NyaXB0Y29y
ZS10ZXN0cworKysgYi9Ub29scy9TY3JpcHRzL3J1bi1qYXZhc2NyaXB0Y29yZS10ZXN0cwpAQCAt
OTIsNiArOTIsOCBAQCBteSAkY3JlYXRlVGFyYmFsbCA9IDA7CiBteSAkcmVtb3RlSG9zdCA9IDA7
CiBteSAkZmFpbEZhc3QgPSAxOwogbXkgJWpzb25EYXRhID0gKCk7CitteSBAdGVzdFJlc3VsdHMg
PSAoKTsKK215ICRpc1Rlc3RGYWlsZWQgPSAwOwogbXkgJHJlbW90ZUNvbmZpZ0ZpbGU7CiBteSAk
anNvbkZpbGVOYW1lOwogbXkgJHZlcmJvc2UgPSAwOwpAQCAtMzk4LDE3ICs0MDAsMzkgQEAgc3Vi
IHJ1blRlc3QgewogICAgIG15ICRleGl0U3RhdHVzID0gZXhpdFN0YXR1cygkdGVzdFJlc3VsdCk7
CiAgICAgcHJpbnQgIiR0ZXN0TmFtZSBjb21wbGV0ZWQgd2l0aCByYz0kdGVzdFJlc3VsdCAoJGV4
aXRTdGF0dXMpXG5cbiI7CiAKKyAgICBteSAkdGVzdFN0YXR1cyA9ICgkZXhpdFN0YXR1cyA9PSAw
KT8gSlNPTjo6UFA6OnRydWU6IEpTT046OlBQOjpmYWxzZTsKKyAgICBpZiAoJGV4aXRTdGF0dXMp
IHsKKyAgICAgICAgJGlzVGVzdEZhaWxlZCA9IDE7CisgICAgfQogICAgIGlmIChkZWZpbmVkKCRq
c29uRmlsZU5hbWUpKSB7Ci0gICAgICAgIG15ICR0ZXN0U3RhdHVzID0gKCRleGl0U3RhdHVzID09
IDApPyBKU09OOjpQUDo6dHJ1ZTogSlNPTjo6UFA6OmZhbHNlOwogICAgICAgICAkanNvbkRhdGF7
JGpzb25UZXN0U3RhdHVzTmFtZX0gPSAkdGVzdFN0YXR1czsKICAgICB9CisgICAgcHVzaCBAdGVz
dFJlc3VsdHMsICR0ZXN0TmFtZTsKIAogICAgIGlmICgkdGVzdFJlc3VsdCAmJiAkZmFpbEZhc3Qp
IHsKKyAgICAgICAgcmVwb3J0VGVzdEZhaWx1cmVzKCk7CiAgICAgICAgIHdyaXRlSnNvbkRhdGFJ
ZkFwcGxpY2FibGUoKTsKICAgICAgICAgZXhpdCBleGl0U3RhdHVzKCR0ZXN0UmVzdWx0KTsKICAg
ICB9CiB9CiAKK3N1YiByZXBvcnRUZXN0RmFpbHVyZXMgeworICBteSAkbnVtSlNDdGVzdEZhaWx1
cmVzID0gQHRlc3RSZXN1bHRzOworICBpZiAoJG51bUpTQ3Rlc3RGYWlsdXJlcykgeworICAgICAg
cHJpbnQgIlxuKiogVGhlIGZvbGxvd2luZyBKU0MgdGVzdCBiaW5hcmllcyBmYWlsdXJlcyBoYXZl
IGJlZW4gaW50cm9kdWNlZDpcbiI7CisgICAgICBmb3JlYWNoIG15ICR0ZXN0RmFpbHVyZSAoQHRl
c3RSZXN1bHRzKSB7CisgICAgICAgICAgcHJpbnQgIlx0JHRlc3RGYWlsdXJlXG4iOworICAgICAg
fQorICB9CisgIHByaW50ICJcbiI7CisKKyAgcHJpbnQgIlJlc3VsdHMgZm9yIEpTQyB0ZXN0IGJp
bmFyaWVzOlxuIjsKKyAgcHJpbnRUaGluZ3NGb3VuZCgkbnVtSlNDdGVzdEZhaWx1cmVzLCAiZmFp
bHVyZSIsICJmYWlsdXJlcyIsICJmb3VuZCIpOworICBwcmludCAiICAgIE9LLlxuIiBpZiAkbnVt
SlNDdGVzdEZhaWx1cmVzID09IDA7CisKKyAgcHJpbnQgIlxuIjsKK30KKwogaWYgKCRydW5UZXN0
TWFzbSkgeyBydW5UZXN0KCJ0ZXN0bWFzbSIsICJhbGxNYXNtVGVzdHNQYXNzZWQiKSB9CiBpZiAo
JHJ1blRlc3RBaXIpIHsgcnVuVGVzdCgidGVzdGFpciIsICJhbGxBaXJUZXN0c1Bhc3NlZCIpIH0K
IGlmICgkcnVuVGVzdEIzKSB7IHJ1blRlc3QoInRlc3RiMyIsICJhbGxCM1Rlc3RzUGFzc2VkIikg
fQpAQCAtNDIwLDYgKzQ0NCwxMSBAQCBpZiAoJHJ1blRlc3RBUEkpIHsgcnVuVGVzdCgidGVzdGFw
aSIsICJhbGxBcGlUZXN0c1Bhc3NlZCIpIH0KIGNoZGlyV2ViS2l0KCk7CiAKIHJ1bkpTQ1N0cmVz
c1Rlc3RzKCk7CityZXBvcnRUZXN0RmFpbHVyZXMoKTsKKworaWYgKCRpc1Rlc3RGYWlsZWQpIHsK
KyAgZXhpdCgxKTsKK30KIAogc3ViIHJ1bkpTQ1N0cmVzc1Rlc3RzCiB7CkBAIC01NzMsNiArNjAy
LDcgQEAgc3ViIHJ1bkpTQ1N0cmVzc1Rlc3RzCiAgICAgbXkgJG51bUpTQ1N0cmVzc0ZhaWx1cmVz
ID0gQGpzY1N0cmVzc0ZhaWxMaXN0OwogCiAgICAgaWYgKCRudW1KU0NTdHJlc3NGYWlsdXJlcykg
eworICAgICAgICAkaXNUZXN0RmFpbGVkID0gMTsKICAgICAgICAgcHJpbnQgIlxuKiogVGhlIGZv
bGxvd2luZyBKU0Mgc3RyZXNzIHRlc3QgZmFpbHVyZXMgaGF2ZSBiZWVuIGludHJvZHVjZWQ6XG4i
OwogICAgICAgICBmb3JlYWNoIG15ICR0ZXN0RmFpbHVyZSAoQGpzY1N0cmVzc0ZhaWxMaXN0KSB7
CiAgICAgICAgICAgICBwcmludCAiXHQkdGVzdEZhaWx1cmVcbiI7CkBAIC01OTEsNyArNjIxLDYg
QEAgc3ViIHJ1bkpTQ1N0cmVzc1Rlc3RzCiAgICAgfQogCiAgICAgd3JpdGVKc29uRGF0YUlmQXBw
bGljYWJsZSgpOwotICAgIGV4aXQoMSkgaWYgJG51bUpTQ1N0cmVzc0ZhaWx1cmVzOwogfQogCiBz
dWIgcmVhZEFsbExpbmVzCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>373850</attachid>
            <date>2019-07-10 10:53:01 -0700</date>
            <delta_ts>2019-07-10 14:59:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199489-20190710105300.patch</filename>
            <type>text/plain</type>
            <size>5834</size>
            <attacher name="Zhifei Fang">zhifei_fang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3MjI5CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNTgzZTQ1ODM3Mzg3ZGRlYTZkMWNjMGEzOWE1YTljZjMx
ZjNhMmViMC4uYWUyZmJlNzI3NDkxY2MzZGY3MjE5ODViYWFlYWZhMjc4MGVmZDQ5YiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4
IEBACisyMDE5LTA3LTA5ICBaaGlmZWkgRmFuZyAgPHpoaWZlaV9mYW5nQGFwcGxlLmNvbT4KKwor
ICAgICAgICBydW4tamF2YXNjcmlwdC1jb3JlLXRlc3Qgd29uJ3QgcmVwb3J0IGpzb24gcmVzdWx0
cyBmb3IgdGVzdG1hc20sIHRlc3RhaXIsIHRlc3RiMywgdGVzdGRmZyBhbmQgdGVzdCBhcGkKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5OTQ4OQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQnVpbGRTbGF2
ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvc3RlcHMucHk6CisgICAgICAgIChSdW5K
YXZhU2NyaXB0Q29yZVRlc3RzLmNvdW50RmFpbHVyZXMpOgorICAgICAgICAqIEJ1aWxkU2xhdmVT
dXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3N0ZXBzX3VuaXR0ZXN0LnB5OgorICAgICAg
ICAqIFNjcmlwdHMvcnVuLWphdmFzY3JpcHRjb3JlLXRlc3RzOgorICAgICAgICAocnVuVGVzdCk6
CisgICAgICAgIChyZXBvcnRUZXN0RmFpbHVyZXMpOgorICAgICAgICAocnVuSlNDU3RyZXNzVGVz
dHMpOgorCiAyMDE5LTA3LTA4ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNvbT4K
IAogICAgICAgICB0ZXN0LXdlYmtpdHB5OiBFeHBsaWNpdGx5IHVzZSBQeXRob24gMi43IGxsZGIg
bGlicmFyeQpkaWZmIC0tZ2l0IGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0
Lm9yZy1jb25maWcvc3RlcHMucHkgYi9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJr
aXQub3JnLWNvbmZpZy9zdGVwcy5weQppbmRleCBjMjdkMjYyZGY5YzllOGU3ZmJmMTc0YWY0MWU3
NDQ5YWY2MDc1NWU2Li5jZGFmZDNhYmRlMmYyYmIwNmQ1OTQ4NTgyM2RhNzk5ZTljNDRjNTRhIDEw
MDY0NAotLS0gYS9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZp
Zy9zdGVwcy5weQorKysgYi9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3Jn
LWNvbmZpZy9zdGVwcy5weQpAQCAtMzQ0LDE2ICszNDQsMjEgQEAgY2xhc3MgUnVuSmF2YVNjcmlw
dENvcmVUZXN0cyhUZXN0V2l0aEZhaWx1cmVDb3VudCk6CiAKICAgICBkZWYgY291bnRGYWlsdXJl
cyhzZWxmLCBjbWQpOgogICAgICAgICBsb2dUZXh0ID0gY21kLmxvZ3NbJ3N0ZGlvJ10uZ2V0VGV4
dCgpCisgICAgICAgIGNvdW50ID0gMAogCiAgICAgICAgIG1hdGNoID0gcmUuc2VhcmNoKHInXlJl
c3VsdHMgZm9yIEpTQyBzdHJlc3MgdGVzdHM6XHI/XG5ccysoXGQrKSBmYWlsdXJlJywgbG9nVGV4
dCwgcmUuTVVMVElMSU5FKQogICAgICAgICBpZiBtYXRjaDoKLSAgICAgICAgICAgIHJldHVybiBp
bnQobWF0Y2guZ3JvdXAoMSkpCisgICAgICAgICAgICBjb3VudCArPSBpbnQobWF0Y2guZ3JvdXAo
MSkpCisKKyAgICAgICAgbWF0Y2ggPSByZS5zZWFyY2gocidSZXN1bHRzIGZvciBKU0MgdGVzdCBi
aW5hcmllczpccj9cblxzKyhcZCspIGZhaWx1cmUnLCBsb2dUZXh0LCByZS5NVUxUSUxJTkUpCisg
ICAgICAgIGlmIG1hdGNoOgorICAgICAgICAgICAgY291bnQgKz0gaW50KG1hdGNoLmdyb3VwKDEp
KQogCiAgICAgICAgIG1hdGNoID0gcmUuc2VhcmNoKHInXlJlc3VsdHMgZm9yIE1vemlsbGEgdGVz
dHM6XHI/XG5ccysoXGQrKSByZWdyZXNzaW9uJywgbG9nVGV4dCwgcmUuTVVMVElMSU5FKQogICAg
ICAgICBpZiBtYXRjaDoKICAgICAgICAgICAgIHJldHVybiBpbnQobWF0Y2guZ3JvdXAoMSkpCiAK
LSAgICAgICAgcmV0dXJuIDAKKyAgICAgICAgcmV0dXJuIGNvdW50CiAKIAogY2xhc3MgUnVuUmVt
b3RlSmF2YVNjcmlwdENvcmVUZXN0cyhSdW5KYXZhU2NyaXB0Q29yZVRlc3RzKToKZGlmZiAtLWdp
dCBhL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3N0ZXBz
X3VuaXR0ZXN0LnB5IGIvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1j
b25maWcvc3RlcHNfdW5pdHRlc3QucHkKaW5kZXggNGY4NzVkM2VhMGQwM2FjMjJlNTU0YjM1NWY5
MDIyMTQ3NDcyZTgzZi4uNjUzMTViZGU1Nzg4ZGQ1NjY4NjA2MTNiMDcwYjhkNTg4NzQyMTZiYiAx
MDA3NTUKLS0tIGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25m
aWcvc3RlcHNfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQu
d2Via2l0Lm9yZy1jb25maWcvc3RlcHNfdW5pdHRlc3QucHkKQEAgLTEyMiw2ICsxMjIsMTggQEAg
Y2xhc3MgUnVuSmF2YVNjcmlwdENvcmVUZXN0c1Rlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAg
ICAgICBzZWxmLmFzc2VydFJlc3VsdHMoRkFJTFVSRSwgWyI1IEpTQyB0ZXN0cyBmYWlsZWQiXSwg
MSwgICIiIlJlc3VsdHMgZm9yIEpTQyBzdHJlc3MgdGVzdHM6CiAgICAgNSBmYWlsdXJlcyBmb3Vu
ZC4iIiIpCiAKKyAgICBkZWYgdGVzdF9qc2Nfc3RyZXNzX2ZhaWx1cmVzX3dpdGhfYmluYXJ5X3Jl
c3VsdHNfb3V0cHV0KHNlbGYpOgorICAgICAgICBzZWxmLmFzc2VydFJlc3VsdHMoRkFJTFVSRSwg
WyI4IEpTQyB0ZXN0cyBmYWlsZWQiXSwgMSwgICIiIlJlc3VsdHMgZm9yIEpTQyBzdHJlc3MgdGVz
dHM6CisgICAgNSBmYWlsdXJlcyBmb3VuZC4KK1Jlc3VsdHMgZm9yIEpTQyB0ZXN0IGJpbmFyaWVz
OgorICAgIDMgZmFpbHVyZXMgZm91bmQuIiIiKQorCisgICAgZGVmIHRlc3RfanNjX3N0cmVzc19m
YWlsdXJlc193aXRoX2JpbmFyeV9yZXN1bHRfb3V0cHV0KHNlbGYpOgorICAgICAgICBzZWxmLmFz
c2VydFJlc3VsdHMoRkFJTFVSRSwgWyI2IEpTQyB0ZXN0cyBmYWlsZWQiXSwgMSwgICIiIlJlc3Vs
dHMgZm9yIEpTQyBzdHJlc3MgdGVzdHM6CisgICAgNSBmYWlsdXJlcyBmb3VuZC4KK1Jlc3VsdHMg
Zm9yIEpTQyB0ZXN0IGJpbmFyaWVzOgorICAgIDEgZmFpbHVyZSBmb3VuZC4iIiIpCisKIAogY2xh
c3MgUnVuVGVzdDI2MlRlc3RzVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgZGVmIGFzc2Vy
dFJlc3VsdHMoc2VsZiwgZXhwZWN0ZWRfcmVzdWx0LCBleHBlY3RlZF90ZXh0LCByYywgc3RkaW8p
OgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9ydW4tamF2YXNjcmlwdGNvcmUtdGVzdHMgYi9U
b29scy9TY3JpcHRzL3J1bi1qYXZhc2NyaXB0Y29yZS10ZXN0cwppbmRleCBjZmU2MWEyNzc0MThk
MTliMDc2NDBmMDVkZWVjNTdhZjU0OGM5ODBmLi42ZjYzZDFhZDQ4NGQ3NWJiNTBjMmFhYTU3YzQ3
MjU3MjU1MzM1OWMxIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3J1bi1qYXZhc2NyaXB0Y29y
ZS10ZXN0cworKysgYi9Ub29scy9TY3JpcHRzL3J1bi1qYXZhc2NyaXB0Y29yZS10ZXN0cwpAQCAt
OTIsNiArOTIsOCBAQCBteSAkY3JlYXRlVGFyYmFsbCA9IDA7CiBteSAkcmVtb3RlSG9zdCA9IDA7
CiBteSAkZmFpbEZhc3QgPSAxOwogbXkgJWpzb25EYXRhID0gKCk7CitteSBAdGVzdFJlc3VsdHMg
PSAoKTsKK215ICRpc1Rlc3RGYWlsZWQgPSAwOwogbXkgJHJlbW90ZUNvbmZpZ0ZpbGU7CiBteSAk
anNvbkZpbGVOYW1lOwogbXkgJHZlcmJvc2UgPSAwOwpAQCAtMzk4LDE3ICs0MDAsMzkgQEAgc3Vi
IHJ1blRlc3QgewogICAgIG15ICRleGl0U3RhdHVzID0gZXhpdFN0YXR1cygkdGVzdFJlc3VsdCk7
CiAgICAgcHJpbnQgIiR0ZXN0TmFtZSBjb21wbGV0ZWQgd2l0aCByYz0kdGVzdFJlc3VsdCAoJGV4
aXRTdGF0dXMpXG5cbiI7CiAKKyAgICBteSAkdGVzdFN0YXR1cyA9ICgkZXhpdFN0YXR1cyA9PSAw
KT8gSlNPTjo6UFA6OnRydWU6IEpTT046OlBQOjpmYWxzZTsKKyAgICBpZiAoJHRlc3RSZXN1bHQp
IHsKKyAgICAgICAgJGlzVGVzdEZhaWxlZCA9IDE7CisgICAgICAgIHB1c2ggQHRlc3RSZXN1bHRz
LCAkdGVzdE5hbWU7CisgICAgfQogICAgIGlmIChkZWZpbmVkKCRqc29uRmlsZU5hbWUpKSB7Ci0g
ICAgICAgIG15ICR0ZXN0U3RhdHVzID0gKCRleGl0U3RhdHVzID09IDApPyBKU09OOjpQUDo6dHJ1
ZTogSlNPTjo6UFA6OmZhbHNlOwogICAgICAgICAkanNvbkRhdGF7JGpzb25UZXN0U3RhdHVzTmFt
ZX0gPSAkdGVzdFN0YXR1czsKICAgICB9CiAKICAgICBpZiAoJHRlc3RSZXN1bHQgJiYgJGZhaWxG
YXN0KSB7CisgICAgICAgIHJlcG9ydFRlc3RGYWlsdXJlcygpOwogICAgICAgICB3cml0ZUpzb25E
YXRhSWZBcHBsaWNhYmxlKCk7CiAgICAgICAgIGV4aXQgZXhpdFN0YXR1cygkdGVzdFJlc3VsdCk7
CiAgICAgfQogfQogCitzdWIgcmVwb3J0VGVzdEZhaWx1cmVzIHsKKyAgbXkgJG51bUpTQ3Rlc3RG
YWlsdXJlcyA9IEB0ZXN0UmVzdWx0czsKKyAgaWYgKCRudW1KU0N0ZXN0RmFpbHVyZXMpIHsKKyAg
ICAgIHByaW50ICJcbioqIFRoZSBmb2xsb3dpbmcgSlNDIHRlc3QgYmluYXJpZXMgZmFpbHVyZXMg
aGF2ZSBiZWVuIGludHJvZHVjZWQ6XG4iOworICAgICAgZm9yZWFjaCBteSAkdGVzdEZhaWx1cmUg
KEB0ZXN0UmVzdWx0cykgeworICAgICAgICAgIHByaW50ICJcdCR0ZXN0RmFpbHVyZVxuIjsKKyAg
ICAgIH0KKyAgfQorICBwcmludCAiXG4iOworCisgIHByaW50ICJSZXN1bHRzIGZvciBKU0MgdGVz
dCBiaW5hcmllczpcbiI7CisgIHByaW50VGhpbmdzRm91bmQoJG51bUpTQ3Rlc3RGYWlsdXJlcywg
ImZhaWx1cmUiLCAiZmFpbHVyZXMiLCAiZm91bmQiKTsKKyAgcHJpbnQgIiAgICBPSy5cbiIgaWYg
JG51bUpTQ3Rlc3RGYWlsdXJlcyA9PSAwOworCisgIHByaW50ICJcbiI7Cit9CisKIGlmICgkcnVu
VGVzdE1hc20pIHsgcnVuVGVzdCgidGVzdG1hc20iLCAiYWxsTWFzbVRlc3RzUGFzc2VkIikgfQog
aWYgKCRydW5UZXN0QWlyKSB7IHJ1blRlc3QoInRlc3RhaXIiLCAiYWxsQWlyVGVzdHNQYXNzZWQi
KSB9CiBpZiAoJHJ1blRlc3RCMykgeyBydW5UZXN0KCJ0ZXN0YjMiLCAiYWxsQjNUZXN0c1Bhc3Nl
ZCIpIH0KQEAgLTQyMCw2ICs0NDQsMTEgQEAgaWYgKCRydW5UZXN0QVBJKSB7IHJ1blRlc3QoInRl
c3RhcGkiLCAiYWxsQXBpVGVzdHNQYXNzZWQiKSB9CiBjaGRpcldlYktpdCgpOwogCiBydW5KU0NT
dHJlc3NUZXN0cygpOworcmVwb3J0VGVzdEZhaWx1cmVzKCk7CisKK2lmICgkaXNUZXN0RmFpbGVk
KSB7CisgIGV4aXQoMSk7Cit9CiAKIHN1YiBydW5KU0NTdHJlc3NUZXN0cwogewpAQCAtNTczLDYg
KzYwMiw3IEBAIHN1YiBydW5KU0NTdHJlc3NUZXN0cwogICAgIG15ICRudW1KU0NTdHJlc3NGYWls
dXJlcyA9IEBqc2NTdHJlc3NGYWlsTGlzdDsKIAogICAgIGlmICgkbnVtSlNDU3RyZXNzRmFpbHVy
ZXMpIHsKKyAgICAgICAgJGlzVGVzdEZhaWxlZCA9IDE7CiAgICAgICAgIHByaW50ICJcbioqIFRo
ZSBmb2xsb3dpbmcgSlNDIHN0cmVzcyB0ZXN0IGZhaWx1cmVzIGhhdmUgYmVlbiBpbnRyb2R1Y2Vk
OlxuIjsKICAgICAgICAgZm9yZWFjaCBteSAkdGVzdEZhaWx1cmUgKEBqc2NTdHJlc3NGYWlsTGlz
dCkgewogICAgICAgICAgICAgcHJpbnQgIlx0JHRlc3RGYWlsdXJlXG4iOwpAQCAtNTkxLDcgKzYy
MSw2IEBAIHN1YiBydW5KU0NTdHJlc3NUZXN0cwogICAgIH0KIAogICAgIHdyaXRlSnNvbkRhdGFJ
ZkFwcGxpY2FibGUoKTsKLSAgICBleGl0KDEpIGlmICRudW1KU0NTdHJlc3NGYWlsdXJlczsKIH0K
IAogc3ViIHJlYWRBbGxMaW5lcwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>373866</attachid>
            <date>2019-07-10 14:59:08 -0700</date>
            <delta_ts>2019-07-11 14:39:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199489-20190710145908.patch</filename>
            <type>text/plain</type>
            <size>5876</size>
            <attacher name="Zhifei Fang">zhifei_fang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3MjI5CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNTgzZTQ1ODM3Mzg3ZGRlYTZkMWNjMGEzOWE1YTljZjMx
ZjNhMmViMC4uYWUyZmJlNzI3NDkxY2MzZGY3MjE5ODViYWFlYWZhMjc4MGVmZDQ5YiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4
IEBACisyMDE5LTA3LTA5ICBaaGlmZWkgRmFuZyAgPHpoaWZlaV9mYW5nQGFwcGxlLmNvbT4KKwor
ICAgICAgICBydW4tamF2YXNjcmlwdC1jb3JlLXRlc3Qgd29uJ3QgcmVwb3J0IGpzb24gcmVzdWx0
cyBmb3IgdGVzdG1hc20sIHRlc3RhaXIsIHRlc3RiMywgdGVzdGRmZyBhbmQgdGVzdCBhcGkKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5OTQ4OQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQnVpbGRTbGF2
ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvc3RlcHMucHk6CisgICAgICAgIChSdW5K
YXZhU2NyaXB0Q29yZVRlc3RzLmNvdW50RmFpbHVyZXMpOgorICAgICAgICAqIEJ1aWxkU2xhdmVT
dXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3N0ZXBzX3VuaXR0ZXN0LnB5OgorICAgICAg
ICAqIFNjcmlwdHMvcnVuLWphdmFzY3JpcHRjb3JlLXRlc3RzOgorICAgICAgICAocnVuVGVzdCk6
CisgICAgICAgIChyZXBvcnRUZXN0RmFpbHVyZXMpOgorICAgICAgICAocnVuSlNDU3RyZXNzVGVz
dHMpOgorCiAyMDE5LTA3LTA4ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNvbT4K
IAogICAgICAgICB0ZXN0LXdlYmtpdHB5OiBFeHBsaWNpdGx5IHVzZSBQeXRob24gMi43IGxsZGIg
bGlicmFyeQpkaWZmIC0tZ2l0IGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0
Lm9yZy1jb25maWcvc3RlcHMucHkgYi9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJr
aXQub3JnLWNvbmZpZy9zdGVwcy5weQppbmRleCBjMjdkMjYyZGY5YzllOGU3ZmJmMTc0YWY0MWU3
NDQ5YWY2MDc1NWU2Li42NmZhMjU3YTA0MzcwNTg1N2MzMTE4MzUzZjRiMTA2YjkwZjRkMDA3IDEw
MDY0NAotLS0gYS9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZp
Zy9zdGVwcy5weQorKysgYi9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3Jn
LWNvbmZpZy9zdGVwcy5weQpAQCAtMzQ0LDE2ICszNDQsMjEgQEAgY2xhc3MgUnVuSmF2YVNjcmlw
dENvcmVUZXN0cyhUZXN0V2l0aEZhaWx1cmVDb3VudCk6CiAKICAgICBkZWYgY291bnRGYWlsdXJl
cyhzZWxmLCBjbWQpOgogICAgICAgICBsb2dUZXh0ID0gY21kLmxvZ3NbJ3N0ZGlvJ10uZ2V0VGV4
dCgpCisgICAgICAgIGNvdW50ID0gMAogCiAgICAgICAgIG1hdGNoID0gcmUuc2VhcmNoKHInXlJl
c3VsdHMgZm9yIEpTQyBzdHJlc3MgdGVzdHM6XHI/XG5ccysoXGQrKSBmYWlsdXJlJywgbG9nVGV4
dCwgcmUuTVVMVElMSU5FKQogICAgICAgICBpZiBtYXRjaDoKLSAgICAgICAgICAgIHJldHVybiBp
bnQobWF0Y2guZ3JvdXAoMSkpCisgICAgICAgICAgICBjb3VudCArPSBpbnQobWF0Y2guZ3JvdXAo
MSkpCisKKyAgICAgICAgbWF0Y2ggPSByZS5zZWFyY2gocidSZXN1bHRzIGZvciBKU0MgdGVzdCBi
aW5hcmllczpccj9cblxzKyhcZCspIGZhaWx1cmUnLCBsb2dUZXh0LCByZS5NVUxUSUxJTkUpCisg
ICAgICAgIGlmIG1hdGNoOgorICAgICAgICAgICAgY291bnQgKz0gaW50KG1hdGNoLmdyb3VwKDEp
KQogCiAgICAgICAgIG1hdGNoID0gcmUuc2VhcmNoKHInXlJlc3VsdHMgZm9yIE1vemlsbGEgdGVz
dHM6XHI/XG5ccysoXGQrKSByZWdyZXNzaW9uJywgbG9nVGV4dCwgcmUuTVVMVElMSU5FKQogICAg
ICAgICBpZiBtYXRjaDoKLSAgICAgICAgICAgIHJldHVybiBpbnQobWF0Y2guZ3JvdXAoMSkpCisg
ICAgICAgICAgICBjb3VudCArPSBpbnQobWF0Y2guZ3JvdXAoMSkpCiAKLSAgICAgICAgcmV0dXJu
IDAKKyAgICAgICAgcmV0dXJuIGNvdW50CiAKIAogY2xhc3MgUnVuUmVtb3RlSmF2YVNjcmlwdENv
cmVUZXN0cyhSdW5KYXZhU2NyaXB0Q29yZVRlc3RzKToKZGlmZiAtLWdpdCBhL1Rvb2xzL0J1aWxk
U2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3N0ZXBzX3VuaXR0ZXN0LnB5IGIv
VG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvc3RlcHNfdW5p
dHRlc3QucHkKaW5kZXggNGY4NzVkM2VhMGQwM2FjMjJlNTU0YjM1NWY5MDIyMTQ3NDcyZTgzZi4u
NjUzMTViZGU1Nzg4ZGQ1NjY4NjA2MTNiMDcwYjhkNTg4NzQyMTZiYiAxMDA3NTUKLS0tIGEvVG9v
bHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvc3RlcHNfdW5pdHRl
c3QucHkKKysrIGIvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25m
aWcvc3RlcHNfdW5pdHRlc3QucHkKQEAgLTEyMiw2ICsxMjIsMTggQEAgY2xhc3MgUnVuSmF2YVNj
cmlwdENvcmVUZXN0c1Rlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBzZWxmLmFzc2Vy
dFJlc3VsdHMoRkFJTFVSRSwgWyI1IEpTQyB0ZXN0cyBmYWlsZWQiXSwgMSwgICIiIlJlc3VsdHMg
Zm9yIEpTQyBzdHJlc3MgdGVzdHM6CiAgICAgNSBmYWlsdXJlcyBmb3VuZC4iIiIpCiAKKyAgICBk
ZWYgdGVzdF9qc2Nfc3RyZXNzX2ZhaWx1cmVzX3dpdGhfYmluYXJ5X3Jlc3VsdHNfb3V0cHV0KHNl
bGYpOgorICAgICAgICBzZWxmLmFzc2VydFJlc3VsdHMoRkFJTFVSRSwgWyI4IEpTQyB0ZXN0cyBm
YWlsZWQiXSwgMSwgICIiIlJlc3VsdHMgZm9yIEpTQyBzdHJlc3MgdGVzdHM6CisgICAgNSBmYWls
dXJlcyBmb3VuZC4KK1Jlc3VsdHMgZm9yIEpTQyB0ZXN0IGJpbmFyaWVzOgorICAgIDMgZmFpbHVy
ZXMgZm91bmQuIiIiKQorCisgICAgZGVmIHRlc3RfanNjX3N0cmVzc19mYWlsdXJlc193aXRoX2Jp
bmFyeV9yZXN1bHRfb3V0cHV0KHNlbGYpOgorICAgICAgICBzZWxmLmFzc2VydFJlc3VsdHMoRkFJ
TFVSRSwgWyI2IEpTQyB0ZXN0cyBmYWlsZWQiXSwgMSwgICIiIlJlc3VsdHMgZm9yIEpTQyBzdHJl
c3MgdGVzdHM6CisgICAgNSBmYWlsdXJlcyBmb3VuZC4KK1Jlc3VsdHMgZm9yIEpTQyB0ZXN0IGJp
bmFyaWVzOgorICAgIDEgZmFpbHVyZSBmb3VuZC4iIiIpCisKIAogY2xhc3MgUnVuVGVzdDI2MlRl
c3RzVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgZGVmIGFzc2VydFJlc3VsdHMoc2VsZiwg
ZXhwZWN0ZWRfcmVzdWx0LCBleHBlY3RlZF90ZXh0LCByYywgc3RkaW8pOgpkaWZmIC0tZ2l0IGEv
VG9vbHMvU2NyaXB0cy9ydW4tamF2YXNjcmlwdGNvcmUtdGVzdHMgYi9Ub29scy9TY3JpcHRzL3J1
bi1qYXZhc2NyaXB0Y29yZS10ZXN0cwppbmRleCBjZmU2MWEyNzc0MThkMTliMDc2NDBmMDVkZWVj
NTdhZjU0OGM5ODBmLi42ZjYzZDFhZDQ4NGQ3NWJiNTBjMmFhYTU3YzQ3MjU3MjU1MzM1OWMxIDEw
MDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3J1bi1qYXZhc2NyaXB0Y29yZS10ZXN0cworKysgYi9U
b29scy9TY3JpcHRzL3J1bi1qYXZhc2NyaXB0Y29yZS10ZXN0cwpAQCAtOTIsNiArOTIsOCBAQCBt
eSAkY3JlYXRlVGFyYmFsbCA9IDA7CiBteSAkcmVtb3RlSG9zdCA9IDA7CiBteSAkZmFpbEZhc3Qg
PSAxOwogbXkgJWpzb25EYXRhID0gKCk7CitteSBAdGVzdFJlc3VsdHMgPSAoKTsKK215ICRpc1Rl
c3RGYWlsZWQgPSAwOwogbXkgJHJlbW90ZUNvbmZpZ0ZpbGU7CiBteSAkanNvbkZpbGVOYW1lOwog
bXkgJHZlcmJvc2UgPSAwOwpAQCAtMzk4LDE3ICs0MDAsMzkgQEAgc3ViIHJ1blRlc3QgewogICAg
IG15ICRleGl0U3RhdHVzID0gZXhpdFN0YXR1cygkdGVzdFJlc3VsdCk7CiAgICAgcHJpbnQgIiR0
ZXN0TmFtZSBjb21wbGV0ZWQgd2l0aCByYz0kdGVzdFJlc3VsdCAoJGV4aXRTdGF0dXMpXG5cbiI7
CiAKKyAgICBteSAkdGVzdFN0YXR1cyA9ICgkZXhpdFN0YXR1cyA9PSAwKT8gSlNPTjo6UFA6OnRy
dWU6IEpTT046OlBQOjpmYWxzZTsKKyAgICBpZiAoJHRlc3RSZXN1bHQpIHsKKyAgICAgICAgJGlz
VGVzdEZhaWxlZCA9IDE7CisgICAgICAgIHB1c2ggQHRlc3RSZXN1bHRzLCAkdGVzdE5hbWU7Cisg
ICAgfQogICAgIGlmIChkZWZpbmVkKCRqc29uRmlsZU5hbWUpKSB7Ci0gICAgICAgIG15ICR0ZXN0
U3RhdHVzID0gKCRleGl0U3RhdHVzID09IDApPyBKU09OOjpQUDo6dHJ1ZTogSlNPTjo6UFA6OmZh
bHNlOwogICAgICAgICAkanNvbkRhdGF7JGpzb25UZXN0U3RhdHVzTmFtZX0gPSAkdGVzdFN0YXR1
czsKICAgICB9CiAKICAgICBpZiAoJHRlc3RSZXN1bHQgJiYgJGZhaWxGYXN0KSB7CisgICAgICAg
IHJlcG9ydFRlc3RGYWlsdXJlcygpOwogICAgICAgICB3cml0ZUpzb25EYXRhSWZBcHBsaWNhYmxl
KCk7CiAgICAgICAgIGV4aXQgZXhpdFN0YXR1cygkdGVzdFJlc3VsdCk7CiAgICAgfQogfQogCitz
dWIgcmVwb3J0VGVzdEZhaWx1cmVzIHsKKyAgbXkgJG51bUpTQ3Rlc3RGYWlsdXJlcyA9IEB0ZXN0
UmVzdWx0czsKKyAgaWYgKCRudW1KU0N0ZXN0RmFpbHVyZXMpIHsKKyAgICAgIHByaW50ICJcbioq
IFRoZSBmb2xsb3dpbmcgSlNDIHRlc3QgYmluYXJpZXMgZmFpbHVyZXMgaGF2ZSBiZWVuIGludHJv
ZHVjZWQ6XG4iOworICAgICAgZm9yZWFjaCBteSAkdGVzdEZhaWx1cmUgKEB0ZXN0UmVzdWx0cykg
eworICAgICAgICAgIHByaW50ICJcdCR0ZXN0RmFpbHVyZVxuIjsKKyAgICAgIH0KKyAgfQorICBw
cmludCAiXG4iOworCisgIHByaW50ICJSZXN1bHRzIGZvciBKU0MgdGVzdCBiaW5hcmllczpcbiI7
CisgIHByaW50VGhpbmdzRm91bmQoJG51bUpTQ3Rlc3RGYWlsdXJlcywgImZhaWx1cmUiLCAiZmFp
bHVyZXMiLCAiZm91bmQiKTsKKyAgcHJpbnQgIiAgICBPSy5cbiIgaWYgJG51bUpTQ3Rlc3RGYWls
dXJlcyA9PSAwOworCisgIHByaW50ICJcbiI7Cit9CisKIGlmICgkcnVuVGVzdE1hc20pIHsgcnVu
VGVzdCgidGVzdG1hc20iLCAiYWxsTWFzbVRlc3RzUGFzc2VkIikgfQogaWYgKCRydW5UZXN0QWly
KSB7IHJ1blRlc3QoInRlc3RhaXIiLCAiYWxsQWlyVGVzdHNQYXNzZWQiKSB9CiBpZiAoJHJ1blRl
c3RCMykgeyBydW5UZXN0KCJ0ZXN0YjMiLCAiYWxsQjNUZXN0c1Bhc3NlZCIpIH0KQEAgLTQyMCw2
ICs0NDQsMTEgQEAgaWYgKCRydW5UZXN0QVBJKSB7IHJ1blRlc3QoInRlc3RhcGkiLCAiYWxsQXBp
VGVzdHNQYXNzZWQiKSB9CiBjaGRpcldlYktpdCgpOwogCiBydW5KU0NTdHJlc3NUZXN0cygpOwor
cmVwb3J0VGVzdEZhaWx1cmVzKCk7CisKK2lmICgkaXNUZXN0RmFpbGVkKSB7CisgIGV4aXQoMSk7
Cit9CiAKIHN1YiBydW5KU0NTdHJlc3NUZXN0cwogewpAQCAtNTczLDYgKzYwMiw3IEBAIHN1YiBy
dW5KU0NTdHJlc3NUZXN0cwogICAgIG15ICRudW1KU0NTdHJlc3NGYWlsdXJlcyA9IEBqc2NTdHJl
c3NGYWlsTGlzdDsKIAogICAgIGlmICgkbnVtSlNDU3RyZXNzRmFpbHVyZXMpIHsKKyAgICAgICAg
JGlzVGVzdEZhaWxlZCA9IDE7CiAgICAgICAgIHByaW50ICJcbioqIFRoZSBmb2xsb3dpbmcgSlND
IHN0cmVzcyB0ZXN0IGZhaWx1cmVzIGhhdmUgYmVlbiBpbnRyb2R1Y2VkOlxuIjsKICAgICAgICAg
Zm9yZWFjaCBteSAkdGVzdEZhaWx1cmUgKEBqc2NTdHJlc3NGYWlsTGlzdCkgewogICAgICAgICAg
ICAgcHJpbnQgIlx0JHRlc3RGYWlsdXJlXG4iOwpAQCAtNTkxLDcgKzYyMSw2IEBAIHN1YiBydW5K
U0NTdHJlc3NUZXN0cwogICAgIH0KIAogICAgIHdyaXRlSnNvbkRhdGFJZkFwcGxpY2FibGUoKTsK
LSAgICBleGl0KDEpIGlmICRudW1KU0NTdHJlc3NGYWlsdXJlczsKIH0KIAogc3ViIHJlYWRBbGxM
aW5lcwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>373956</attachid>
            <date>2019-07-11 14:39:21 -0700</date>
            <delta_ts>2019-07-12 11:26:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199489-20190711143921.patch</filename>
            <type>text/plain</type>
            <size>6431</size>
            <attacher name="Zhifei Fang">zhifei_fang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3MjI5CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNTgzZTQ1ODM3Mzg3ZGRlYTZkMWNjMGEzOWE1YTljZjMx
ZjNhMmViMC4uYWUyZmJlNzI3NDkxY2MzZGY3MjE5ODViYWFlYWZhMjc4MGVmZDQ5YiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4
IEBACisyMDE5LTA3LTA5ICBaaGlmZWkgRmFuZyAgPHpoaWZlaV9mYW5nQGFwcGxlLmNvbT4KKwor
ICAgICAgICBydW4tamF2YXNjcmlwdC1jb3JlLXRlc3Qgd29uJ3QgcmVwb3J0IGpzb24gcmVzdWx0
cyBmb3IgdGVzdG1hc20sIHRlc3RhaXIsIHRlc3RiMywgdGVzdGRmZyBhbmQgdGVzdCBhcGkKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5OTQ4OQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQnVpbGRTbGF2
ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvc3RlcHMucHk6CisgICAgICAgIChSdW5K
YXZhU2NyaXB0Q29yZVRlc3RzLmNvdW50RmFpbHVyZXMpOgorICAgICAgICAqIEJ1aWxkU2xhdmVT
dXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3N0ZXBzX3VuaXR0ZXN0LnB5OgorICAgICAg
ICAqIFNjcmlwdHMvcnVuLWphdmFzY3JpcHRjb3JlLXRlc3RzOgorICAgICAgICAocnVuVGVzdCk6
CisgICAgICAgIChyZXBvcnRUZXN0RmFpbHVyZXMpOgorICAgICAgICAocnVuSlNDU3RyZXNzVGVz
dHMpOgorCiAyMDE5LTA3LTA4ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNvbT4K
IAogICAgICAgICB0ZXN0LXdlYmtpdHB5OiBFeHBsaWNpdGx5IHVzZSBQeXRob24gMi43IGxsZGIg
bGlicmFyeQpkaWZmIC0tZ2l0IGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0
Lm9yZy1jb25maWcvc3RlcHMucHkgYi9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJr
aXQub3JnLWNvbmZpZy9zdGVwcy5weQppbmRleCBjMjdkMjYyZGY5YzllOGU3ZmJmMTc0YWY0MWU3
NDQ5YWY2MDc1NWU2Li42ZTllMzMyNTRiMDhiNDJiYWU1Y2ZhYWFkYTdjZGNmMzE0NzEzYmQ3IDEw
MDY0NAotLS0gYS9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZp
Zy9zdGVwcy5weQorKysgYi9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3Jn
LWNvbmZpZy9zdGVwcy5weQpAQCAtMzMxLDYgKzMzMSw5IEBAIGNsYXNzIFJ1bkphdmFTY3JpcHRD
b3JlVGVzdHMoVGVzdFdpdGhGYWlsdXJlQ291bnQpOgogCiAgICAgZGVmIHN0YXJ0KHNlbGYpOgog
ICAgICAgICBwbGF0Zm9ybSA9IHNlbGYuZ2V0UHJvcGVydHkoJ3BsYXRmb3JtJykKKyAgICAgICAg
YXJjaGl0ZWN0dXJlID0gc2VsZi5nZXRQcm9wZXJ0eSgiYXJjaGl0ZWN0dXJlIikKKyAgICAgICAg
aWYgYXJjaGl0ZWN0dXJlID09ICdtaXBzJzoKKyAgICAgICAgICAgIHNlbGYuY29tbWFuZCArPSBb
Jy0tbm8tdGVzdG1hc20nLCAnLS1uby10ZXN0YWlyJywgJy0tbm8tdGVzdGIzJywgJy0tbm8tdGVz
dGRmZycsICctLW5vLXRlc3RhcGknXQogICAgICAgICAjIExpbnV4IGJvdHMgaGF2ZSBjdXJyZW50
bHkgcHJvYmxlbXMgd2l0aCBKU0MgdGVzdHMgdGhhdCB0cnkgdG8gdXNlIGxhcmdlIGFtb3VudHMg
b2YgbWVtb3J5LgogICAgICAgICAjIENoZWNrOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTc1MTQwCiAgICAgICAgIGlmIHBsYXRmb3JtIGluICgnZ3RrJywgJ3dwZScp
OgpAQCAtMzQ0LDE2ICszNDcsMjEgQEAgY2xhc3MgUnVuSmF2YVNjcmlwdENvcmVUZXN0cyhUZXN0
V2l0aEZhaWx1cmVDb3VudCk6CiAKICAgICBkZWYgY291bnRGYWlsdXJlcyhzZWxmLCBjbWQpOgog
ICAgICAgICBsb2dUZXh0ID0gY21kLmxvZ3NbJ3N0ZGlvJ10uZ2V0VGV4dCgpCisgICAgICAgIGNv
dW50ID0gMAogCiAgICAgICAgIG1hdGNoID0gcmUuc2VhcmNoKHInXlJlc3VsdHMgZm9yIEpTQyBz
dHJlc3MgdGVzdHM6XHI/XG5ccysoXGQrKSBmYWlsdXJlJywgbG9nVGV4dCwgcmUuTVVMVElMSU5F
KQogICAgICAgICBpZiBtYXRjaDoKLSAgICAgICAgICAgIHJldHVybiBpbnQobWF0Y2guZ3JvdXAo
MSkpCisgICAgICAgICAgICBjb3VudCArPSBpbnQobWF0Y2guZ3JvdXAoMSkpCisKKyAgICAgICAg
bWF0Y2ggPSByZS5zZWFyY2gocidSZXN1bHRzIGZvciBKU0MgdGVzdCBiaW5hcmllczpccj9cblxz
KyhcZCspIGZhaWx1cmUnLCBsb2dUZXh0LCByZS5NVUxUSUxJTkUpCisgICAgICAgIGlmIG1hdGNo
OgorICAgICAgICAgICAgY291bnQgKz0gaW50KG1hdGNoLmdyb3VwKDEpKQogCiAgICAgICAgIG1h
dGNoID0gcmUuc2VhcmNoKHInXlJlc3VsdHMgZm9yIE1vemlsbGEgdGVzdHM6XHI/XG5ccysoXGQr
KSByZWdyZXNzaW9uJywgbG9nVGV4dCwgcmUuTVVMVElMSU5FKQogICAgICAgICBpZiBtYXRjaDoK
LSAgICAgICAgICAgIHJldHVybiBpbnQobWF0Y2guZ3JvdXAoMSkpCisgICAgICAgICAgICBjb3Vu
dCArPSBpbnQobWF0Y2guZ3JvdXAoMSkpCiAKLSAgICAgICAgcmV0dXJuIDAKKyAgICAgICAgcmV0
dXJuIGNvdW50CiAKIAogY2xhc3MgUnVuUmVtb3RlSmF2YVNjcmlwdENvcmVUZXN0cyhSdW5KYXZh
U2NyaXB0Q29yZVRlc3RzKToKZGlmZiAtLWdpdCBhL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1
aWxkLndlYmtpdC5vcmctY29uZmlnL3N0ZXBzX3VuaXR0ZXN0LnB5IGIvVG9vbHMvQnVpbGRTbGF2
ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvc3RlcHNfdW5pdHRlc3QucHkKaW5kZXgg
NGY4NzVkM2VhMGQwM2FjMjJlNTU0YjM1NWY5MDIyMTQ3NDcyZTgzZi4uNjUzMTViZGU1Nzg4ZGQ1
NjY4NjA2MTNiMDcwYjhkNTg4NzQyMTZiYiAxMDA3NTUKLS0tIGEvVG9vbHMvQnVpbGRTbGF2ZVN1
cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvc3RlcHNfdW5pdHRlc3QucHkKKysrIGIvVG9v
bHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvc3RlcHNfdW5pdHRl
c3QucHkKQEAgLTEyMiw2ICsxMjIsMTggQEAgY2xhc3MgUnVuSmF2YVNjcmlwdENvcmVUZXN0c1Rl
c3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBzZWxmLmFzc2VydFJlc3VsdHMoRkFJTFVS
RSwgWyI1IEpTQyB0ZXN0cyBmYWlsZWQiXSwgMSwgICIiIlJlc3VsdHMgZm9yIEpTQyBzdHJlc3Mg
dGVzdHM6CiAgICAgNSBmYWlsdXJlcyBmb3VuZC4iIiIpCiAKKyAgICBkZWYgdGVzdF9qc2Nfc3Ry
ZXNzX2ZhaWx1cmVzX3dpdGhfYmluYXJ5X3Jlc3VsdHNfb3V0cHV0KHNlbGYpOgorICAgICAgICBz
ZWxmLmFzc2VydFJlc3VsdHMoRkFJTFVSRSwgWyI4IEpTQyB0ZXN0cyBmYWlsZWQiXSwgMSwgICIi
IlJlc3VsdHMgZm9yIEpTQyBzdHJlc3MgdGVzdHM6CisgICAgNSBmYWlsdXJlcyBmb3VuZC4KK1Jl
c3VsdHMgZm9yIEpTQyB0ZXN0IGJpbmFyaWVzOgorICAgIDMgZmFpbHVyZXMgZm91bmQuIiIiKQor
CisgICAgZGVmIHRlc3RfanNjX3N0cmVzc19mYWlsdXJlc193aXRoX2JpbmFyeV9yZXN1bHRfb3V0
cHV0KHNlbGYpOgorICAgICAgICBzZWxmLmFzc2VydFJlc3VsdHMoRkFJTFVSRSwgWyI2IEpTQyB0
ZXN0cyBmYWlsZWQiXSwgMSwgICIiIlJlc3VsdHMgZm9yIEpTQyBzdHJlc3MgdGVzdHM6CisgICAg
NSBmYWlsdXJlcyBmb3VuZC4KK1Jlc3VsdHMgZm9yIEpTQyB0ZXN0IGJpbmFyaWVzOgorICAgIDEg
ZmFpbHVyZSBmb3VuZC4iIiIpCisKIAogY2xhc3MgUnVuVGVzdDI2MlRlc3RzVGVzdCh1bml0dGVz
dC5UZXN0Q2FzZSk6CiAgICAgZGVmIGFzc2VydFJlc3VsdHMoc2VsZiwgZXhwZWN0ZWRfcmVzdWx0
LCBleHBlY3RlZF90ZXh0LCByYywgc3RkaW8pOgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9y
dW4tamF2YXNjcmlwdGNvcmUtdGVzdHMgYi9Ub29scy9TY3JpcHRzL3J1bi1qYXZhc2NyaXB0Y29y
ZS10ZXN0cwppbmRleCBjZmU2MWEyNzc0MThkMTliMDc2NDBmMDVkZWVjNTdhZjU0OGM5ODBmLi42
ZjYzZDFhZDQ4NGQ3NWJiNTBjMmFhYTU3YzQ3MjU3MjU1MzM1OWMxIDEwMDc1NQotLS0gYS9Ub29s
cy9TY3JpcHRzL3J1bi1qYXZhc2NyaXB0Y29yZS10ZXN0cworKysgYi9Ub29scy9TY3JpcHRzL3J1
bi1qYXZhc2NyaXB0Y29yZS10ZXN0cwpAQCAtOTIsNiArOTIsOCBAQCBteSAkY3JlYXRlVGFyYmFs
bCA9IDA7CiBteSAkcmVtb3RlSG9zdCA9IDA7CiBteSAkZmFpbEZhc3QgPSAxOwogbXkgJWpzb25E
YXRhID0gKCk7CitteSBAdGVzdFJlc3VsdHMgPSAoKTsKK215ICRpc1Rlc3RGYWlsZWQgPSAwOwog
bXkgJHJlbW90ZUNvbmZpZ0ZpbGU7CiBteSAkanNvbkZpbGVOYW1lOwogbXkgJHZlcmJvc2UgPSAw
OwpAQCAtMzk4LDE3ICs0MDAsMzkgQEAgc3ViIHJ1blRlc3QgewogICAgIG15ICRleGl0U3RhdHVz
ID0gZXhpdFN0YXR1cygkdGVzdFJlc3VsdCk7CiAgICAgcHJpbnQgIiR0ZXN0TmFtZSBjb21wbGV0
ZWQgd2l0aCByYz0kdGVzdFJlc3VsdCAoJGV4aXRTdGF0dXMpXG5cbiI7CiAKKyAgICBteSAkdGVz
dFN0YXR1cyA9ICgkZXhpdFN0YXR1cyA9PSAwKT8gSlNPTjo6UFA6OnRydWU6IEpTT046OlBQOjpm
YWxzZTsKKyAgICBpZiAoJHRlc3RSZXN1bHQpIHsKKyAgICAgICAgJGlzVGVzdEZhaWxlZCA9IDE7
CisgICAgICAgIHB1c2ggQHRlc3RSZXN1bHRzLCAkdGVzdE5hbWU7CisgICAgfQogICAgIGlmIChk
ZWZpbmVkKCRqc29uRmlsZU5hbWUpKSB7Ci0gICAgICAgIG15ICR0ZXN0U3RhdHVzID0gKCRleGl0
U3RhdHVzID09IDApPyBKU09OOjpQUDo6dHJ1ZTogSlNPTjo6UFA6OmZhbHNlOwogICAgICAgICAk
anNvbkRhdGF7JGpzb25UZXN0U3RhdHVzTmFtZX0gPSAkdGVzdFN0YXR1czsKICAgICB9CiAKICAg
ICBpZiAoJHRlc3RSZXN1bHQgJiYgJGZhaWxGYXN0KSB7CisgICAgICAgIHJlcG9ydFRlc3RGYWls
dXJlcygpOwogICAgICAgICB3cml0ZUpzb25EYXRhSWZBcHBsaWNhYmxlKCk7CiAgICAgICAgIGV4
aXQgZXhpdFN0YXR1cygkdGVzdFJlc3VsdCk7CiAgICAgfQogfQogCitzdWIgcmVwb3J0VGVzdEZh
aWx1cmVzIHsKKyAgbXkgJG51bUpTQ3Rlc3RGYWlsdXJlcyA9IEB0ZXN0UmVzdWx0czsKKyAgaWYg
KCRudW1KU0N0ZXN0RmFpbHVyZXMpIHsKKyAgICAgIHByaW50ICJcbioqIFRoZSBmb2xsb3dpbmcg
SlNDIHRlc3QgYmluYXJpZXMgZmFpbHVyZXMgaGF2ZSBiZWVuIGludHJvZHVjZWQ6XG4iOworICAg
ICAgZm9yZWFjaCBteSAkdGVzdEZhaWx1cmUgKEB0ZXN0UmVzdWx0cykgeworICAgICAgICAgIHBy
aW50ICJcdCR0ZXN0RmFpbHVyZVxuIjsKKyAgICAgIH0KKyAgfQorICBwcmludCAiXG4iOworCisg
IHByaW50ICJSZXN1bHRzIGZvciBKU0MgdGVzdCBiaW5hcmllczpcbiI7CisgIHByaW50VGhpbmdz
Rm91bmQoJG51bUpTQ3Rlc3RGYWlsdXJlcywgImZhaWx1cmUiLCAiZmFpbHVyZXMiLCAiZm91bmQi
KTsKKyAgcHJpbnQgIiAgICBPSy5cbiIgaWYgJG51bUpTQ3Rlc3RGYWlsdXJlcyA9PSAwOworCisg
IHByaW50ICJcbiI7Cit9CisKIGlmICgkcnVuVGVzdE1hc20pIHsgcnVuVGVzdCgidGVzdG1hc20i
LCAiYWxsTWFzbVRlc3RzUGFzc2VkIikgfQogaWYgKCRydW5UZXN0QWlyKSB7IHJ1blRlc3QoInRl
c3RhaXIiLCAiYWxsQWlyVGVzdHNQYXNzZWQiKSB9CiBpZiAoJHJ1blRlc3RCMykgeyBydW5UZXN0
KCJ0ZXN0YjMiLCAiYWxsQjNUZXN0c1Bhc3NlZCIpIH0KQEAgLTQyMCw2ICs0NDQsMTEgQEAgaWYg
KCRydW5UZXN0QVBJKSB7IHJ1blRlc3QoInRlc3RhcGkiLCAiYWxsQXBpVGVzdHNQYXNzZWQiKSB9
CiBjaGRpcldlYktpdCgpOwogCiBydW5KU0NTdHJlc3NUZXN0cygpOworcmVwb3J0VGVzdEZhaWx1
cmVzKCk7CisKK2lmICgkaXNUZXN0RmFpbGVkKSB7CisgIGV4aXQoMSk7Cit9CiAKIHN1YiBydW5K
U0NTdHJlc3NUZXN0cwogewpAQCAtNTczLDYgKzYwMiw3IEBAIHN1YiBydW5KU0NTdHJlc3NUZXN0
cwogICAgIG15ICRudW1KU0NTdHJlc3NGYWlsdXJlcyA9IEBqc2NTdHJlc3NGYWlsTGlzdDsKIAog
ICAgIGlmICgkbnVtSlNDU3RyZXNzRmFpbHVyZXMpIHsKKyAgICAgICAgJGlzVGVzdEZhaWxlZCA9
IDE7CiAgICAgICAgIHByaW50ICJcbioqIFRoZSBmb2xsb3dpbmcgSlNDIHN0cmVzcyB0ZXN0IGZh
aWx1cmVzIGhhdmUgYmVlbiBpbnRyb2R1Y2VkOlxuIjsKICAgICAgICAgZm9yZWFjaCBteSAkdGVz
dEZhaWx1cmUgKEBqc2NTdHJlc3NGYWlsTGlzdCkgewogICAgICAgICAgICAgcHJpbnQgIlx0JHRl
c3RGYWlsdXJlXG4iOwpAQCAtNTkxLDcgKzYyMSw2IEBAIHN1YiBydW5KU0NTdHJlc3NUZXN0cwog
ICAgIH0KIAogICAgIHdyaXRlSnNvbkRhdGFJZkFwcGxpY2FibGUoKTsKLSAgICBleGl0KDEpIGlm
ICRudW1KU0NTdHJlc3NGYWlsdXJlczsKIH0KIAogc3ViIHJlYWRBbGxMaW5lcwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>374024</attachid>
            <date>2019-07-12 11:26:44 -0700</date>
            <delta_ts>2019-07-12 12:08:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199489-20190712112643.patch</filename>
            <type>text/plain</type>
            <size>6543</size>
            <attacher name="Zhifei Fang">zhifei_fang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3MjI5CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNTgzZTQ1ODM3Mzg3ZGRlYTZkMWNjMGEzOWE1YTljZjMx
ZjNhMmViMC4uYWUyZmJlNzI3NDkxY2MzZGY3MjE5ODViYWFlYWZhMjc4MGVmZDQ5YiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4
IEBACisyMDE5LTA3LTA5ICBaaGlmZWkgRmFuZyAgPHpoaWZlaV9mYW5nQGFwcGxlLmNvbT4KKwor
ICAgICAgICBydW4tamF2YXNjcmlwdC1jb3JlLXRlc3Qgd29uJ3QgcmVwb3J0IGpzb24gcmVzdWx0
cyBmb3IgdGVzdG1hc20sIHRlc3RhaXIsIHRlc3RiMywgdGVzdGRmZyBhbmQgdGVzdCBhcGkKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5OTQ4OQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQnVpbGRTbGF2
ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvc3RlcHMucHk6CisgICAgICAgIChSdW5K
YXZhU2NyaXB0Q29yZVRlc3RzLmNvdW50RmFpbHVyZXMpOgorICAgICAgICAqIEJ1aWxkU2xhdmVT
dXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3N0ZXBzX3VuaXR0ZXN0LnB5OgorICAgICAg
ICAqIFNjcmlwdHMvcnVuLWphdmFzY3JpcHRjb3JlLXRlc3RzOgorICAgICAgICAocnVuVGVzdCk6
CisgICAgICAgIChyZXBvcnRUZXN0RmFpbHVyZXMpOgorICAgICAgICAocnVuSlNDU3RyZXNzVGVz
dHMpOgorCiAyMDE5LTA3LTA4ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNvbT4K
IAogICAgICAgICB0ZXN0LXdlYmtpdHB5OiBFeHBsaWNpdGx5IHVzZSBQeXRob24gMi43IGxsZGIg
bGlicmFyeQpkaWZmIC0tZ2l0IGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0
Lm9yZy1jb25maWcvc3RlcHMucHkgYi9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJr
aXQub3JnLWNvbmZpZy9zdGVwcy5weQppbmRleCBjMjdkMjYyZGY5YzllOGU3ZmJmMTc0YWY0MWU3
NDQ5YWY2MDc1NWU2Li5hNjA1YWYyYmEyMjM5NzEyYWQ4NTBjODBiYmE3ZTg0MjVjOGEzYjU3IDEw
MDY0NAotLS0gYS9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZp
Zy9zdGVwcy5weQorKysgYi9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3Jn
LWNvbmZpZy9zdGVwcy5weQpAQCAtMzMxLDYgKzMzMSwxMCBAQCBjbGFzcyBSdW5KYXZhU2NyaXB0
Q29yZVRlc3RzKFRlc3RXaXRoRmFpbHVyZUNvdW50KToKIAogICAgIGRlZiBzdGFydChzZWxmKToK
ICAgICAgICAgcGxhdGZvcm0gPSBzZWxmLmdldFByb3BlcnR5KCdwbGF0Zm9ybScpCisgICAgICAg
IGFyY2hpdGVjdHVyZSA9IHNlbGYuZ2V0UHJvcGVydHkoImFyY2hpdGVjdHVyZSIpCisgICAgICAg
ICMgQ3VycmVudGx5IHJ1bi1qYXZhc2NyaXB0Y29yZS10ZXN0IGRvZXNuJ3Qgc3VwcG9ydCBydW4g
dGhvc2UgYmluYXJpZXMgcmVtb3RlbHkKKyAgICAgICAgaWYgYXJjaGl0ZWN0dXJlIGluIFsnbWlw
cycsICdhcm12NycsICdhYXJjaDY0J106CisgICAgICAgICAgICBzZWxmLmNvbW1hbmQgKz0gWyct
LW5vLXRlc3RtYXNtJywgJy0tbm8tdGVzdGFpcicsICctLW5vLXRlc3RiMycsICctLW5vLXRlc3Rk
ZmcnLCAnLS1uby10ZXN0YXBpJ10KICAgICAgICAgIyBMaW51eCBib3RzIGhhdmUgY3VycmVudGx5
IHByb2JsZW1zIHdpdGggSlNDIHRlc3RzIHRoYXQgdHJ5IHRvIHVzZSBsYXJnZSBhbW91bnRzIG9m
IG1lbW9yeS4KICAgICAgICAgIyBDaGVjazogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE3NTE0MAogICAgICAgICBpZiBwbGF0Zm9ybSBpbiAoJ2d0aycsICd3cGUnKToK
QEAgLTM0NCwxNiArMzQ4LDIxIEBAIGNsYXNzIFJ1bkphdmFTY3JpcHRDb3JlVGVzdHMoVGVzdFdp
dGhGYWlsdXJlQ291bnQpOgogCiAgICAgZGVmIGNvdW50RmFpbHVyZXMoc2VsZiwgY21kKToKICAg
ICAgICAgbG9nVGV4dCA9IGNtZC5sb2dzWydzdGRpbyddLmdldFRleHQoKQorICAgICAgICBjb3Vu
dCA9IDAKIAogICAgICAgICBtYXRjaCA9IHJlLnNlYXJjaChyJ15SZXN1bHRzIGZvciBKU0Mgc3Ry
ZXNzIHRlc3RzOlxyP1xuXHMrKFxkKykgZmFpbHVyZScsIGxvZ1RleHQsIHJlLk1VTFRJTElORSkK
ICAgICAgICAgaWYgbWF0Y2g6Ci0gICAgICAgICAgICByZXR1cm4gaW50KG1hdGNoLmdyb3VwKDEp
KQorICAgICAgICAgICAgY291bnQgKz0gaW50KG1hdGNoLmdyb3VwKDEpKQorCisgICAgICAgIG1h
dGNoID0gcmUuc2VhcmNoKHInUmVzdWx0cyBmb3IgSlNDIHRlc3QgYmluYXJpZXM6XHI/XG5ccyso
XGQrKSBmYWlsdXJlJywgbG9nVGV4dCwgcmUuTVVMVElMSU5FKQorICAgICAgICBpZiBtYXRjaDoK
KyAgICAgICAgICAgIGNvdW50ICs9IGludChtYXRjaC5ncm91cCgxKSkKIAogICAgICAgICBtYXRj
aCA9IHJlLnNlYXJjaChyJ15SZXN1bHRzIGZvciBNb3ppbGxhIHRlc3RzOlxyP1xuXHMrKFxkKykg
cmVncmVzc2lvbicsIGxvZ1RleHQsIHJlLk1VTFRJTElORSkKICAgICAgICAgaWYgbWF0Y2g6Ci0g
ICAgICAgICAgICByZXR1cm4gaW50KG1hdGNoLmdyb3VwKDEpKQorICAgICAgICAgICAgY291bnQg
Kz0gaW50KG1hdGNoLmdyb3VwKDEpKQogCi0gICAgICAgIHJldHVybiAwCisgICAgICAgIHJldHVy
biBjb3VudAogCiAKIGNsYXNzIFJ1blJlbW90ZUphdmFTY3JpcHRDb3JlVGVzdHMoUnVuSmF2YVNj
cmlwdENvcmVUZXN0cyk6CmRpZmYgLS1naXQgYS9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWls
ZC53ZWJraXQub3JnLWNvbmZpZy9zdGVwc191bml0dGVzdC5weSBiL1Rvb2xzL0J1aWxkU2xhdmVT
dXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3N0ZXBzX3VuaXR0ZXN0LnB5CmluZGV4IDRm
ODc1ZDNlYTBkMDNhYzIyZTU1NGIzNTVmOTAyMjE0NzQ3MmU4M2YuLjY1MzE1YmRlNTc4OGRkNTY2
ODYwNjEzYjA3MGI4ZDU4ODc0MjE2YmIgMTAwNzU1Ci0tLSBhL1Rvb2xzL0J1aWxkU2xhdmVTdXBw
b3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3N0ZXBzX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xz
L0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3N0ZXBzX3VuaXR0ZXN0
LnB5CkBAIC0xMjIsNiArMTIyLDE4IEBAIGNsYXNzIFJ1bkphdmFTY3JpcHRDb3JlVGVzdHNUZXN0
KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgc2VsZi5hc3NlcnRSZXN1bHRzKEZBSUxVUkUs
IFsiNSBKU0MgdGVzdHMgZmFpbGVkIl0sIDEsICAiIiJSZXN1bHRzIGZvciBKU0Mgc3RyZXNzIHRl
c3RzOgogICAgIDUgZmFpbHVyZXMgZm91bmQuIiIiKQogCisgICAgZGVmIHRlc3RfanNjX3N0cmVz
c19mYWlsdXJlc193aXRoX2JpbmFyeV9yZXN1bHRzX291dHB1dChzZWxmKToKKyAgICAgICAgc2Vs
Zi5hc3NlcnRSZXN1bHRzKEZBSUxVUkUsIFsiOCBKU0MgdGVzdHMgZmFpbGVkIl0sIDEsICAiIiJS
ZXN1bHRzIGZvciBKU0Mgc3RyZXNzIHRlc3RzOgorICAgIDUgZmFpbHVyZXMgZm91bmQuCitSZXN1
bHRzIGZvciBKU0MgdGVzdCBiaW5hcmllczoKKyAgICAzIGZhaWx1cmVzIGZvdW5kLiIiIikKKwor
ICAgIGRlZiB0ZXN0X2pzY19zdHJlc3NfZmFpbHVyZXNfd2l0aF9iaW5hcnlfcmVzdWx0X291dHB1
dChzZWxmKToKKyAgICAgICAgc2VsZi5hc3NlcnRSZXN1bHRzKEZBSUxVUkUsIFsiNiBKU0MgdGVz
dHMgZmFpbGVkIl0sIDEsICAiIiJSZXN1bHRzIGZvciBKU0Mgc3RyZXNzIHRlc3RzOgorICAgIDUg
ZmFpbHVyZXMgZm91bmQuCitSZXN1bHRzIGZvciBKU0MgdGVzdCBiaW5hcmllczoKKyAgICAxIGZh
aWx1cmUgZm91bmQuIiIiKQorCiAKIGNsYXNzIFJ1blRlc3QyNjJUZXN0c1Rlc3QodW5pdHRlc3Qu
VGVzdENhc2UpOgogICAgIGRlZiBhc3NlcnRSZXN1bHRzKHNlbGYsIGV4cGVjdGVkX3Jlc3VsdCwg
ZXhwZWN0ZWRfdGV4dCwgcmMsIHN0ZGlvKToKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvcnVu
LWphdmFzY3JpcHRjb3JlLXRlc3RzIGIvVG9vbHMvU2NyaXB0cy9ydW4tamF2YXNjcmlwdGNvcmUt
dGVzdHMKaW5kZXggY2ZlNjFhMjc3NDE4ZDE5YjA3NjQwZjA1ZGVlYzU3YWY1NDhjOTgwZi4uNmY2
M2QxYWQ0ODRkNzViYjUwYzJhYWE1N2M0NzI1NzI1NTMzNTljMSAxMDA3NTUKLS0tIGEvVG9vbHMv
U2NyaXB0cy9ydW4tamF2YXNjcmlwdGNvcmUtdGVzdHMKKysrIGIvVG9vbHMvU2NyaXB0cy9ydW4t
amF2YXNjcmlwdGNvcmUtdGVzdHMKQEAgLTkyLDYgKzkyLDggQEAgbXkgJGNyZWF0ZVRhcmJhbGwg
PSAwOwogbXkgJHJlbW90ZUhvc3QgPSAwOwogbXkgJGZhaWxGYXN0ID0gMTsKIG15ICVqc29uRGF0
YSA9ICgpOworbXkgQHRlc3RSZXN1bHRzID0gKCk7CitteSAkaXNUZXN0RmFpbGVkID0gMDsKIG15
ICRyZW1vdGVDb25maWdGaWxlOwogbXkgJGpzb25GaWxlTmFtZTsKIG15ICR2ZXJib3NlID0gMDsK
QEAgLTM5OCwxNyArNDAwLDM5IEBAIHN1YiBydW5UZXN0IHsKICAgICBteSAkZXhpdFN0YXR1cyA9
IGV4aXRTdGF0dXMoJHRlc3RSZXN1bHQpOwogICAgIHByaW50ICIkdGVzdE5hbWUgY29tcGxldGVk
IHdpdGggcmM9JHRlc3RSZXN1bHQgKCRleGl0U3RhdHVzKVxuXG4iOwogCisgICAgbXkgJHRlc3RT
dGF0dXMgPSAoJGV4aXRTdGF0dXMgPT0gMCk/IEpTT046OlBQOjp0cnVlOiBKU09OOjpQUDo6ZmFs
c2U7CisgICAgaWYgKCR0ZXN0UmVzdWx0KSB7CisgICAgICAgICRpc1Rlc3RGYWlsZWQgPSAxOwor
ICAgICAgICBwdXNoIEB0ZXN0UmVzdWx0cywgJHRlc3ROYW1lOworICAgIH0KICAgICBpZiAoZGVm
aW5lZCgkanNvbkZpbGVOYW1lKSkgewotICAgICAgICBteSAkdGVzdFN0YXR1cyA9ICgkZXhpdFN0
YXR1cyA9PSAwKT8gSlNPTjo6UFA6OnRydWU6IEpTT046OlBQOjpmYWxzZTsKICAgICAgICAgJGpz
b25EYXRheyRqc29uVGVzdFN0YXR1c05hbWV9ID0gJHRlc3RTdGF0dXM7CiAgICAgfQogCiAgICAg
aWYgKCR0ZXN0UmVzdWx0ICYmICRmYWlsRmFzdCkgeworICAgICAgICByZXBvcnRUZXN0RmFpbHVy
ZXMoKTsKICAgICAgICAgd3JpdGVKc29uRGF0YUlmQXBwbGljYWJsZSgpOwogICAgICAgICBleGl0
IGV4aXRTdGF0dXMoJHRlc3RSZXN1bHQpOwogICAgIH0KIH0KIAorc3ViIHJlcG9ydFRlc3RGYWls
dXJlcyB7CisgIG15ICRudW1KU0N0ZXN0RmFpbHVyZXMgPSBAdGVzdFJlc3VsdHM7CisgIGlmICgk
bnVtSlNDdGVzdEZhaWx1cmVzKSB7CisgICAgICBwcmludCAiXG4qKiBUaGUgZm9sbG93aW5nIEpT
QyB0ZXN0IGJpbmFyaWVzIGZhaWx1cmVzIGhhdmUgYmVlbiBpbnRyb2R1Y2VkOlxuIjsKKyAgICAg
IGZvcmVhY2ggbXkgJHRlc3RGYWlsdXJlIChAdGVzdFJlc3VsdHMpIHsKKyAgICAgICAgICBwcmlu
dCAiXHQkdGVzdEZhaWx1cmVcbiI7CisgICAgICB9CisgIH0KKyAgcHJpbnQgIlxuIjsKKworICBw
cmludCAiUmVzdWx0cyBmb3IgSlNDIHRlc3QgYmluYXJpZXM6XG4iOworICBwcmludFRoaW5nc0Zv
dW5kKCRudW1KU0N0ZXN0RmFpbHVyZXMsICJmYWlsdXJlIiwgImZhaWx1cmVzIiwgImZvdW5kIik7
CisgIHByaW50ICIgICAgT0suXG4iIGlmICRudW1KU0N0ZXN0RmFpbHVyZXMgPT0gMDsKKworICBw
cmludCAiXG4iOworfQorCiBpZiAoJHJ1blRlc3RNYXNtKSB7IHJ1blRlc3QoInRlc3RtYXNtIiwg
ImFsbE1hc21UZXN0c1Bhc3NlZCIpIH0KIGlmICgkcnVuVGVzdEFpcikgeyBydW5UZXN0KCJ0ZXN0
YWlyIiwgImFsbEFpclRlc3RzUGFzc2VkIikgfQogaWYgKCRydW5UZXN0QjMpIHsgcnVuVGVzdCgi
dGVzdGIzIiwgImFsbEIzVGVzdHNQYXNzZWQiKSB9CkBAIC00MjAsNiArNDQ0LDExIEBAIGlmICgk
cnVuVGVzdEFQSSkgeyBydW5UZXN0KCJ0ZXN0YXBpIiwgImFsbEFwaVRlc3RzUGFzc2VkIikgfQog
Y2hkaXJXZWJLaXQoKTsKIAogcnVuSlNDU3RyZXNzVGVzdHMoKTsKK3JlcG9ydFRlc3RGYWlsdXJl
cygpOworCitpZiAoJGlzVGVzdEZhaWxlZCkgeworICBleGl0KDEpOworfQogCiBzdWIgcnVuSlND
U3RyZXNzVGVzdHMKIHsKQEAgLTU3Myw2ICs2MDIsNyBAQCBzdWIgcnVuSlNDU3RyZXNzVGVzdHMK
ICAgICBteSAkbnVtSlNDU3RyZXNzRmFpbHVyZXMgPSBAanNjU3RyZXNzRmFpbExpc3Q7CiAKICAg
ICBpZiAoJG51bUpTQ1N0cmVzc0ZhaWx1cmVzKSB7CisgICAgICAgICRpc1Rlc3RGYWlsZWQgPSAx
OwogICAgICAgICBwcmludCAiXG4qKiBUaGUgZm9sbG93aW5nIEpTQyBzdHJlc3MgdGVzdCBmYWls
dXJlcyBoYXZlIGJlZW4gaW50cm9kdWNlZDpcbiI7CiAgICAgICAgIGZvcmVhY2ggbXkgJHRlc3RG
YWlsdXJlIChAanNjU3RyZXNzRmFpbExpc3QpIHsKICAgICAgICAgICAgIHByaW50ICJcdCR0ZXN0
RmFpbHVyZVxuIjsKQEAgLTU5MSw3ICs2MjEsNiBAQCBzdWIgcnVuSlNDU3RyZXNzVGVzdHMKICAg
ICB9CiAKICAgICB3cml0ZUpzb25EYXRhSWZBcHBsaWNhYmxlKCk7Ci0gICAgZXhpdCgxKSBpZiAk
bnVtSlNDU3RyZXNzRmFpbHVyZXM7CiB9CiAKIHN1YiByZWFkQWxsTGluZXMK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>374026</attachid>
            <date>2019-07-12 12:08:04 -0700</date>
            <delta_ts>2019-07-16 15:38:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199489-20190712120803.patch</filename>
            <type>text/plain</type>
            <size>6578</size>
            <attacher name="Zhifei Fang">zhifei_fang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3MjI5CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNTgzZTQ1ODM3Mzg3ZGRlYTZkMWNjMGEzOWE1YTljZjMx
ZjNhMmViMC4uYjMyOTc0YTY1ODE5Njc0N2I1ZGJmZTk0NTY1ZTNiZDNjZWEyNTcxNSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5
IEBACisyMDE5LTA3LTA5ICBaaGlmZWkgRmFuZyAgPHpoaWZlaV9mYW5nQGFwcGxlLmNvbT4KKwor
ICAgICAgICBydW4tamF2YXNjcmlwdGNvcmUtdGVzdHMgd29uJ3QgcmVwb3J0IHRlc3QgcmVzdWx0
cyBmb3IgdGVzdG1hc20sIHRlc3RhaXIsIHRlc3RiMywgdGVzdGRmZyBhbmQgdGVzdCBhcGkKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5OTQ4OQorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vNDc4OTEwODE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBCdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQu
b3JnLWNvbmZpZy9zdGVwcy5weToKKyAgICAgICAgKFJ1bkphdmFTY3JpcHRDb3JlVGVzdHMuY291
bnRGYWlsdXJlcyk6CisgICAgICAgICogQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9y
Zy1jb25maWcvc3RlcHNfdW5pdHRlc3QucHk6CisgICAgICAgICogU2NyaXB0cy9ydW4tamF2YXNj
cmlwdGNvcmUtdGVzdHM6CisgICAgICAgIChydW5UZXN0KToKKyAgICAgICAgKHJlcG9ydFRlc3RG
YWlsdXJlcyk6CisgICAgICAgIChydW5KU0NTdHJlc3NUZXN0cyk6CisKIDIwMTktMDctMDggIEpv
bmF0aGFuIEJlZGFyZCAgPGpiZWRhcmRAYXBwbGUuY29tPgogCiAgICAgICAgIHRlc3Qtd2Via2l0
cHk6IEV4cGxpY2l0bHkgdXNlIFB5dGhvbiAyLjcgbGxkYiBsaWJyYXJ5CmRpZmYgLS1naXQgYS9U
b29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9zdGVwcy5weSBi
L1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3N0ZXBzLnB5
CmluZGV4IGMyN2QyNjJkZjljOWU4ZTdmYmYxNzRhZjQxZTc0NDlhZjYwNzU1ZTYuLmE2MDVhZjJi
YTIyMzk3MTJhZDg1MGM4MGJiYTdlODQyNWM4YTNiNTcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0J1aWxk
U2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3N0ZXBzLnB5CisrKyBiL1Rvb2xz
L0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3N0ZXBzLnB5CkBAIC0z
MzEsNiArMzMxLDEwIEBAIGNsYXNzIFJ1bkphdmFTY3JpcHRDb3JlVGVzdHMoVGVzdFdpdGhGYWls
dXJlQ291bnQpOgogCiAgICAgZGVmIHN0YXJ0KHNlbGYpOgogICAgICAgICBwbGF0Zm9ybSA9IHNl
bGYuZ2V0UHJvcGVydHkoJ3BsYXRmb3JtJykKKyAgICAgICAgYXJjaGl0ZWN0dXJlID0gc2VsZi5n
ZXRQcm9wZXJ0eSgiYXJjaGl0ZWN0dXJlIikKKyAgICAgICAgIyBDdXJyZW50bHkgcnVuLWphdmFz
Y3JpcHRjb3JlLXRlc3QgZG9lc24ndCBzdXBwb3J0IHJ1biB0aG9zZSBiaW5hcmllcyByZW1vdGVs
eQorICAgICAgICBpZiBhcmNoaXRlY3R1cmUgaW4gWydtaXBzJywgJ2FybXY3JywgJ2FhcmNoNjQn
XToKKyAgICAgICAgICAgIHNlbGYuY29tbWFuZCArPSBbJy0tbm8tdGVzdG1hc20nLCAnLS1uby10
ZXN0YWlyJywgJy0tbm8tdGVzdGIzJywgJy0tbm8tdGVzdGRmZycsICctLW5vLXRlc3RhcGknXQog
ICAgICAgICAjIExpbnV4IGJvdHMgaGF2ZSBjdXJyZW50bHkgcHJvYmxlbXMgd2l0aCBKU0MgdGVz
dHMgdGhhdCB0cnkgdG8gdXNlIGxhcmdlIGFtb3VudHMgb2YgbWVtb3J5LgogICAgICAgICAjIENo
ZWNrOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc1MTQwCiAgICAg
ICAgIGlmIHBsYXRmb3JtIGluICgnZ3RrJywgJ3dwZScpOgpAQCAtMzQ0LDE2ICszNDgsMjEgQEAg
Y2xhc3MgUnVuSmF2YVNjcmlwdENvcmVUZXN0cyhUZXN0V2l0aEZhaWx1cmVDb3VudCk6CiAKICAg
ICBkZWYgY291bnRGYWlsdXJlcyhzZWxmLCBjbWQpOgogICAgICAgICBsb2dUZXh0ID0gY21kLmxv
Z3NbJ3N0ZGlvJ10uZ2V0VGV4dCgpCisgICAgICAgIGNvdW50ID0gMAogCiAgICAgICAgIG1hdGNo
ID0gcmUuc2VhcmNoKHInXlJlc3VsdHMgZm9yIEpTQyBzdHJlc3MgdGVzdHM6XHI/XG5ccysoXGQr
KSBmYWlsdXJlJywgbG9nVGV4dCwgcmUuTVVMVElMSU5FKQogICAgICAgICBpZiBtYXRjaDoKLSAg
ICAgICAgICAgIHJldHVybiBpbnQobWF0Y2guZ3JvdXAoMSkpCisgICAgICAgICAgICBjb3VudCAr
PSBpbnQobWF0Y2guZ3JvdXAoMSkpCisKKyAgICAgICAgbWF0Y2ggPSByZS5zZWFyY2gocidSZXN1
bHRzIGZvciBKU0MgdGVzdCBiaW5hcmllczpccj9cblxzKyhcZCspIGZhaWx1cmUnLCBsb2dUZXh0
LCByZS5NVUxUSUxJTkUpCisgICAgICAgIGlmIG1hdGNoOgorICAgICAgICAgICAgY291bnQgKz0g
aW50KG1hdGNoLmdyb3VwKDEpKQogCiAgICAgICAgIG1hdGNoID0gcmUuc2VhcmNoKHInXlJlc3Vs
dHMgZm9yIE1vemlsbGEgdGVzdHM6XHI/XG5ccysoXGQrKSByZWdyZXNzaW9uJywgbG9nVGV4dCwg
cmUuTVVMVElMSU5FKQogICAgICAgICBpZiBtYXRjaDoKLSAgICAgICAgICAgIHJldHVybiBpbnQo
bWF0Y2guZ3JvdXAoMSkpCisgICAgICAgICAgICBjb3VudCArPSBpbnQobWF0Y2guZ3JvdXAoMSkp
CiAKLSAgICAgICAgcmV0dXJuIDAKKyAgICAgICAgcmV0dXJuIGNvdW50CiAKIAogY2xhc3MgUnVu
UmVtb3RlSmF2YVNjcmlwdENvcmVUZXN0cyhSdW5KYXZhU2NyaXB0Q29yZVRlc3RzKToKZGlmZiAt
LWdpdCBhL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3N0
ZXBzX3VuaXR0ZXN0LnB5IGIvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9y
Zy1jb25maWcvc3RlcHNfdW5pdHRlc3QucHkKaW5kZXggNGY4NzVkM2VhMGQwM2FjMjJlNTU0YjM1
NWY5MDIyMTQ3NDcyZTgzZi4uNjUzMTViZGU1Nzg4ZGQ1NjY4NjA2MTNiMDcwYjhkNTg4NzQyMTZi
YiAxMDA3NTUKLS0tIGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1j
b25maWcvc3RlcHNfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVp
bGQud2Via2l0Lm9yZy1jb25maWcvc3RlcHNfdW5pdHRlc3QucHkKQEAgLTEyMiw2ICsxMjIsMTgg
QEAgY2xhc3MgUnVuSmF2YVNjcmlwdENvcmVUZXN0c1Rlc3QodW5pdHRlc3QuVGVzdENhc2UpOgog
ICAgICAgICBzZWxmLmFzc2VydFJlc3VsdHMoRkFJTFVSRSwgWyI1IEpTQyB0ZXN0cyBmYWlsZWQi
XSwgMSwgICIiIlJlc3VsdHMgZm9yIEpTQyBzdHJlc3MgdGVzdHM6CiAgICAgNSBmYWlsdXJlcyBm
b3VuZC4iIiIpCiAKKyAgICBkZWYgdGVzdF9qc2Nfc3RyZXNzX2ZhaWx1cmVzX3dpdGhfYmluYXJ5
X3Jlc3VsdHNfb3V0cHV0KHNlbGYpOgorICAgICAgICBzZWxmLmFzc2VydFJlc3VsdHMoRkFJTFVS
RSwgWyI4IEpTQyB0ZXN0cyBmYWlsZWQiXSwgMSwgICIiIlJlc3VsdHMgZm9yIEpTQyBzdHJlc3Mg
dGVzdHM6CisgICAgNSBmYWlsdXJlcyBmb3VuZC4KK1Jlc3VsdHMgZm9yIEpTQyB0ZXN0IGJpbmFy
aWVzOgorICAgIDMgZmFpbHVyZXMgZm91bmQuIiIiKQorCisgICAgZGVmIHRlc3RfanNjX3N0cmVz
c19mYWlsdXJlc193aXRoX2JpbmFyeV9yZXN1bHRfb3V0cHV0KHNlbGYpOgorICAgICAgICBzZWxm
LmFzc2VydFJlc3VsdHMoRkFJTFVSRSwgWyI2IEpTQyB0ZXN0cyBmYWlsZWQiXSwgMSwgICIiIlJl
c3VsdHMgZm9yIEpTQyBzdHJlc3MgdGVzdHM6CisgICAgNSBmYWlsdXJlcyBmb3VuZC4KK1Jlc3Vs
dHMgZm9yIEpTQyB0ZXN0IGJpbmFyaWVzOgorICAgIDEgZmFpbHVyZSBmb3VuZC4iIiIpCisKIAog
Y2xhc3MgUnVuVGVzdDI2MlRlc3RzVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgZGVmIGFz
c2VydFJlc3VsdHMoc2VsZiwgZXhwZWN0ZWRfcmVzdWx0LCBleHBlY3RlZF90ZXh0LCByYywgc3Rk
aW8pOgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9ydW4tamF2YXNjcmlwdGNvcmUtdGVzdHMg
Yi9Ub29scy9TY3JpcHRzL3J1bi1qYXZhc2NyaXB0Y29yZS10ZXN0cwppbmRleCBjZmU2MWEyNzc0
MThkMTliMDc2NDBmMDVkZWVjNTdhZjU0OGM5ODBmLi42ZjYzZDFhZDQ4NGQ3NWJiNTBjMmFhYTU3
YzQ3MjU3MjU1MzM1OWMxIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3J1bi1qYXZhc2NyaXB0
Y29yZS10ZXN0cworKysgYi9Ub29scy9TY3JpcHRzL3J1bi1qYXZhc2NyaXB0Y29yZS10ZXN0cwpA
QCAtOTIsNiArOTIsOCBAQCBteSAkY3JlYXRlVGFyYmFsbCA9IDA7CiBteSAkcmVtb3RlSG9zdCA9
IDA7CiBteSAkZmFpbEZhc3QgPSAxOwogbXkgJWpzb25EYXRhID0gKCk7CitteSBAdGVzdFJlc3Vs
dHMgPSAoKTsKK215ICRpc1Rlc3RGYWlsZWQgPSAwOwogbXkgJHJlbW90ZUNvbmZpZ0ZpbGU7CiBt
eSAkanNvbkZpbGVOYW1lOwogbXkgJHZlcmJvc2UgPSAwOwpAQCAtMzk4LDE3ICs0MDAsMzkgQEAg
c3ViIHJ1blRlc3QgewogICAgIG15ICRleGl0U3RhdHVzID0gZXhpdFN0YXR1cygkdGVzdFJlc3Vs
dCk7CiAgICAgcHJpbnQgIiR0ZXN0TmFtZSBjb21wbGV0ZWQgd2l0aCByYz0kdGVzdFJlc3VsdCAo
JGV4aXRTdGF0dXMpXG5cbiI7CiAKKyAgICBteSAkdGVzdFN0YXR1cyA9ICgkZXhpdFN0YXR1cyA9
PSAwKT8gSlNPTjo6UFA6OnRydWU6IEpTT046OlBQOjpmYWxzZTsKKyAgICBpZiAoJHRlc3RSZXN1
bHQpIHsKKyAgICAgICAgJGlzVGVzdEZhaWxlZCA9IDE7CisgICAgICAgIHB1c2ggQHRlc3RSZXN1
bHRzLCAkdGVzdE5hbWU7CisgICAgfQogICAgIGlmIChkZWZpbmVkKCRqc29uRmlsZU5hbWUpKSB7
Ci0gICAgICAgIG15ICR0ZXN0U3RhdHVzID0gKCRleGl0U3RhdHVzID09IDApPyBKU09OOjpQUDo6
dHJ1ZTogSlNPTjo6UFA6OmZhbHNlOwogICAgICAgICAkanNvbkRhdGF7JGpzb25UZXN0U3RhdHVz
TmFtZX0gPSAkdGVzdFN0YXR1czsKICAgICB9CiAKICAgICBpZiAoJHRlc3RSZXN1bHQgJiYgJGZh
aWxGYXN0KSB7CisgICAgICAgIHJlcG9ydFRlc3RGYWlsdXJlcygpOwogICAgICAgICB3cml0ZUpz
b25EYXRhSWZBcHBsaWNhYmxlKCk7CiAgICAgICAgIGV4aXQgZXhpdFN0YXR1cygkdGVzdFJlc3Vs
dCk7CiAgICAgfQogfQogCitzdWIgcmVwb3J0VGVzdEZhaWx1cmVzIHsKKyAgbXkgJG51bUpTQ3Rl
c3RGYWlsdXJlcyA9IEB0ZXN0UmVzdWx0czsKKyAgaWYgKCRudW1KU0N0ZXN0RmFpbHVyZXMpIHsK
KyAgICAgIHByaW50ICJcbioqIFRoZSBmb2xsb3dpbmcgSlNDIHRlc3QgYmluYXJpZXMgZmFpbHVy
ZXMgaGF2ZSBiZWVuIGludHJvZHVjZWQ6XG4iOworICAgICAgZm9yZWFjaCBteSAkdGVzdEZhaWx1
cmUgKEB0ZXN0UmVzdWx0cykgeworICAgICAgICAgIHByaW50ICJcdCR0ZXN0RmFpbHVyZVxuIjsK
KyAgICAgIH0KKyAgfQorICBwcmludCAiXG4iOworCisgIHByaW50ICJSZXN1bHRzIGZvciBKU0Mg
dGVzdCBiaW5hcmllczpcbiI7CisgIHByaW50VGhpbmdzRm91bmQoJG51bUpTQ3Rlc3RGYWlsdXJl
cywgImZhaWx1cmUiLCAiZmFpbHVyZXMiLCAiZm91bmQiKTsKKyAgcHJpbnQgIiAgICBPSy5cbiIg
aWYgJG51bUpTQ3Rlc3RGYWlsdXJlcyA9PSAwOworCisgIHByaW50ICJcbiI7Cit9CisKIGlmICgk
cnVuVGVzdE1hc20pIHsgcnVuVGVzdCgidGVzdG1hc20iLCAiYWxsTWFzbVRlc3RzUGFzc2VkIikg
fQogaWYgKCRydW5UZXN0QWlyKSB7IHJ1blRlc3QoInRlc3RhaXIiLCAiYWxsQWlyVGVzdHNQYXNz
ZWQiKSB9CiBpZiAoJHJ1blRlc3RCMykgeyBydW5UZXN0KCJ0ZXN0YjMiLCAiYWxsQjNUZXN0c1Bh
c3NlZCIpIH0KQEAgLTQyMCw2ICs0NDQsMTEgQEAgaWYgKCRydW5UZXN0QVBJKSB7IHJ1blRlc3Qo
InRlc3RhcGkiLCAiYWxsQXBpVGVzdHNQYXNzZWQiKSB9CiBjaGRpcldlYktpdCgpOwogCiBydW5K
U0NTdHJlc3NUZXN0cygpOworcmVwb3J0VGVzdEZhaWx1cmVzKCk7CisKK2lmICgkaXNUZXN0RmFp
bGVkKSB7CisgIGV4aXQoMSk7Cit9CiAKIHN1YiBydW5KU0NTdHJlc3NUZXN0cwogewpAQCAtNTcz
LDYgKzYwMiw3IEBAIHN1YiBydW5KU0NTdHJlc3NUZXN0cwogICAgIG15ICRudW1KU0NTdHJlc3NG
YWlsdXJlcyA9IEBqc2NTdHJlc3NGYWlsTGlzdDsKIAogICAgIGlmICgkbnVtSlNDU3RyZXNzRmFp
bHVyZXMpIHsKKyAgICAgICAgJGlzVGVzdEZhaWxlZCA9IDE7CiAgICAgICAgIHByaW50ICJcbioq
IFRoZSBmb2xsb3dpbmcgSlNDIHN0cmVzcyB0ZXN0IGZhaWx1cmVzIGhhdmUgYmVlbiBpbnRyb2R1
Y2VkOlxuIjsKICAgICAgICAgZm9yZWFjaCBteSAkdGVzdEZhaWx1cmUgKEBqc2NTdHJlc3NGYWls
TGlzdCkgewogICAgICAgICAgICAgcHJpbnQgIlx0JHRlc3RGYWlsdXJlXG4iOwpAQCAtNTkxLDcg
KzYyMSw2IEBAIHN1YiBydW5KU0NTdHJlc3NUZXN0cwogICAgIH0KIAogICAgIHdyaXRlSnNvbkRh
dGFJZkFwcGxpY2FibGUoKTsKLSAgICBleGl0KDEpIGlmICRudW1KU0NTdHJlc3NGYWlsdXJlczsK
IH0KIAogc3ViIHJlYWRBbGxMaW5lcwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>374251</attachid>
            <date>2019-07-16 15:38:44 -0700</date>
            <delta_ts>2019-07-22 13:58:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199489-20190716153843.patch</filename>
            <type>text/plain</type>
            <size>9300</size>
            <attacher name="Zhifei Fang">zhifei_fang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3NDk1CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMGUzYjk5MjkyZTA4MTUwZWM1Nzk3YTI5MGRjYWM2Yjk2
ZjM4M2U2OC4uZWVjNmMzODUwYWRiNmQwNDU2YTRmZDAxMmUwODBhMjgxODgwNjkyOSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1
IEBACisyMDE5LTA3LTE2ICBaaGlmZWkgRmFuZyAgPHpoaWZlaV9mYW5nQGFwcGxlLmNvbT4KKwor
ICAgICAgICBydW4tamF2YXNjcmlwdGNvcmUtdGVzdHMgd29uJ3QgcmVwb3J0IHRlc3QgcmVzdWx0
cyBmb3IgdGVzdG1hc20sIHRlc3RhaXIsIHRlc3RiMywgdGVzdGRmZyBhbmQgdGVzdCBhcGkKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5OTQ4OQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQnVpbGRTbGF2
ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvc3RlcHMucHk6IFBpY2t1cCBuZXdseSBh
ZGRlZCByZXBvcnQgc2VjdGlvbgorICAgICAgICAoUnVuSmF2YVNjcmlwdENvcmVUZXN0cy5zdGFy
dCk6IFNraXAgdGVzdCBiaW5hcmllcyBmb3IgbmV3IEVXUyBmb3IgdGhvc2UgcnVuIGpzYyB0ZXN0
cyByZW1vdGVseQorICAgICAgICAoUnVuSmF2YVNjcmlwdENvcmVUZXN0cy5jb3VudEZhaWx1cmVz
KToKKyAgICAgICAgKiBCdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9z
dGVwc191bml0dGVzdC5weToKKyAgICAgICAgKiBTY3JpcHRzL3J1bi1qYXZhc2NyaXB0Y29yZS10
ZXN0czoKKyAgICAgICAgKHJ1blRlc3QpOgorICAgICAgICAocmVwb3J0VGVzdEZhaWx1cmVzKTog
QWRkZWQgYSBuZXcgc2VjdGlvbiB0byByZXBvcnQgdGVzdCBiaW5haXJlcyBmYWlsdXJlcworICAg
ICAgICAocnVuSlNDU3RyZXNzVGVzdHMpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29t
bW9uL2NvbmZpZy9wb3J0cy5weToKKyAgICAgICAgKEpzY09ubHlQb3J0LmJ1aWxkX2pzY19jb21t
YW5kKTogU2tpcCB0ZXN0IGJpbmFpcmVzIGZvciBvbGQgRVdTIGZvciB0aG9zZSBydW4ganNjIHRl
c3RzIHJlbW90ZWx5CisgICAgICAgIChKc2NPbmx5UG9ydCk6CisgICAgICAgIChKc2NPbmx5UG9y
dC5ydW5famF2YXNjcmlwdGNvcmVfdGVzdHNfY29tbWFuZCk6CisgICAgICAgICogU2NyaXB0cy93
ZWJraXRweS9jb21tb24vY29uZmlnL3BvcnRzX3VuaXR0ZXN0LnB5OgorICAgICAgICAoRGVwcmVj
YXRlZFBvcnRUZXN0LnRlc3RfanNjb25seV9wb3J0KToKKwogMjAxOS0wNy0xNiAgVGltIEhvcnRv
biAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KIAogICAgICAgICBOU1RleHRGaW5kZXIgaG9s
ZXMgZG9uJ3Qgc2Nyb2xsIHdpdGggdGhlIHBhZ2UKZGlmZiAtLWdpdCBhL1Rvb2xzL0J1aWxkU2xh
dmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3N0ZXBzLnB5IGIvVG9vbHMvQnVpbGRT
bGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvc3RlcHMucHkKaW5kZXggYzI3ZDI2
MmRmOWM5ZThlN2ZiZjE3NGFmNDFlNzQ0OWFmNjA3NTVlNi4uYTYwNWFmMmJhMjIzOTcxMmFkODUw
YzgwYmJhN2U4NDI1YzhhM2I1NyAxMDA2NDQKLS0tIGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQv
YnVpbGQud2Via2l0Lm9yZy1jb25maWcvc3RlcHMucHkKKysrIGIvVG9vbHMvQnVpbGRTbGF2ZVN1
cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvc3RlcHMucHkKQEAgLTMzMSw2ICszMzEsMTAg
QEAgY2xhc3MgUnVuSmF2YVNjcmlwdENvcmVUZXN0cyhUZXN0V2l0aEZhaWx1cmVDb3VudCk6CiAK
ICAgICBkZWYgc3RhcnQoc2VsZik6CiAgICAgICAgIHBsYXRmb3JtID0gc2VsZi5nZXRQcm9wZXJ0
eSgncGxhdGZvcm0nKQorICAgICAgICBhcmNoaXRlY3R1cmUgPSBzZWxmLmdldFByb3BlcnR5KCJh
cmNoaXRlY3R1cmUiKQorICAgICAgICAjIEN1cnJlbnRseSBydW4tamF2YXNjcmlwdGNvcmUtdGVz
dCBkb2Vzbid0IHN1cHBvcnQgcnVuIHRob3NlIGJpbmFyaWVzIHJlbW90ZWx5CisgICAgICAgIGlm
IGFyY2hpdGVjdHVyZSBpbiBbJ21pcHMnLCAnYXJtdjcnLCAnYWFyY2g2NCddOgorICAgICAgICAg
ICAgc2VsZi5jb21tYW5kICs9IFsnLS1uby10ZXN0bWFzbScsICctLW5vLXRlc3RhaXInLCAnLS1u
by10ZXN0YjMnLCAnLS1uby10ZXN0ZGZnJywgJy0tbm8tdGVzdGFwaSddCiAgICAgICAgICMgTGlu
dXggYm90cyBoYXZlIGN1cnJlbnRseSBwcm9ibGVtcyB3aXRoIEpTQyB0ZXN0cyB0aGF0IHRyeSB0
byB1c2UgbGFyZ2UgYW1vdW50cyBvZiBtZW1vcnkuCiAgICAgICAgICMgQ2hlY2s6IGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzUxNDAKICAgICAgICAgaWYgcGxhdGZv
cm0gaW4gKCdndGsnLCAnd3BlJyk6CkBAIC0zNDQsMTYgKzM0OCwyMSBAQCBjbGFzcyBSdW5KYXZh
U2NyaXB0Q29yZVRlc3RzKFRlc3RXaXRoRmFpbHVyZUNvdW50KToKIAogICAgIGRlZiBjb3VudEZh
aWx1cmVzKHNlbGYsIGNtZCk6CiAgICAgICAgIGxvZ1RleHQgPSBjbWQubG9nc1snc3RkaW8nXS5n
ZXRUZXh0KCkKKyAgICAgICAgY291bnQgPSAwCiAKICAgICAgICAgbWF0Y2ggPSByZS5zZWFyY2go
cideUmVzdWx0cyBmb3IgSlNDIHN0cmVzcyB0ZXN0czpccj9cblxzKyhcZCspIGZhaWx1cmUnLCBs
b2dUZXh0LCByZS5NVUxUSUxJTkUpCiAgICAgICAgIGlmIG1hdGNoOgotICAgICAgICAgICAgcmV0
dXJuIGludChtYXRjaC5ncm91cCgxKSkKKyAgICAgICAgICAgIGNvdW50ICs9IGludChtYXRjaC5n
cm91cCgxKSkKKworICAgICAgICBtYXRjaCA9IHJlLnNlYXJjaChyJ1Jlc3VsdHMgZm9yIEpTQyB0
ZXN0IGJpbmFyaWVzOlxyP1xuXHMrKFxkKykgZmFpbHVyZScsIGxvZ1RleHQsIHJlLk1VTFRJTElO
RSkKKyAgICAgICAgaWYgbWF0Y2g6CisgICAgICAgICAgICBjb3VudCArPSBpbnQobWF0Y2guZ3Jv
dXAoMSkpCiAKICAgICAgICAgbWF0Y2ggPSByZS5zZWFyY2gocideUmVzdWx0cyBmb3IgTW96aWxs
YSB0ZXN0czpccj9cblxzKyhcZCspIHJlZ3Jlc3Npb24nLCBsb2dUZXh0LCByZS5NVUxUSUxJTkUp
CiAgICAgICAgIGlmIG1hdGNoOgotICAgICAgICAgICAgcmV0dXJuIGludChtYXRjaC5ncm91cCgx
KSkKKyAgICAgICAgICAgIGNvdW50ICs9IGludChtYXRjaC5ncm91cCgxKSkKIAotICAgICAgICBy
ZXR1cm4gMAorICAgICAgICByZXR1cm4gY291bnQKIAogCiBjbGFzcyBSdW5SZW1vdGVKYXZhU2Ny
aXB0Q29yZVRlc3RzKFJ1bkphdmFTY3JpcHRDb3JlVGVzdHMpOgpkaWZmIC0tZ2l0IGEvVG9vbHMv
QnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvc3RlcHNfdW5pdHRlc3Qu
cHkgYi9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9zdGVw
c191bml0dGVzdC5weQppbmRleCA0Zjg3NWQzZWEwZDAzYWMyMmU1NTRiMzU1ZjkwMjIxNDc0NzJl
ODNmLi42NTMxNWJkZTU3ODhkZDU2Njg2MDYxM2IwNzBiOGQ1ODg3NDIxNmJiIDEwMDc1NQotLS0g
YS9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9zdGVwc191
bml0dGVzdC5weQorKysgYi9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3Jn
LWNvbmZpZy9zdGVwc191bml0dGVzdC5weQpAQCAtMTIyLDYgKzEyMiwxOCBAQCBjbGFzcyBSdW5K
YXZhU2NyaXB0Q29yZVRlc3RzVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIHNlbGYu
YXNzZXJ0UmVzdWx0cyhGQUlMVVJFLCBbIjUgSlNDIHRlc3RzIGZhaWxlZCJdLCAxLCAgIiIiUmVz
dWx0cyBmb3IgSlNDIHN0cmVzcyB0ZXN0czoKICAgICA1IGZhaWx1cmVzIGZvdW5kLiIiIikKIAor
ICAgIGRlZiB0ZXN0X2pzY19zdHJlc3NfZmFpbHVyZXNfd2l0aF9iaW5hcnlfcmVzdWx0c19vdXRw
dXQoc2VsZik6CisgICAgICAgIHNlbGYuYXNzZXJ0UmVzdWx0cyhGQUlMVVJFLCBbIjggSlNDIHRl
c3RzIGZhaWxlZCJdLCAxLCAgIiIiUmVzdWx0cyBmb3IgSlNDIHN0cmVzcyB0ZXN0czoKKyAgICA1
IGZhaWx1cmVzIGZvdW5kLgorUmVzdWx0cyBmb3IgSlNDIHRlc3QgYmluYXJpZXM6CisgICAgMyBm
YWlsdXJlcyBmb3VuZC4iIiIpCisKKyAgICBkZWYgdGVzdF9qc2Nfc3RyZXNzX2ZhaWx1cmVzX3dp
dGhfYmluYXJ5X3Jlc3VsdF9vdXRwdXQoc2VsZik6CisgICAgICAgIHNlbGYuYXNzZXJ0UmVzdWx0
cyhGQUlMVVJFLCBbIjYgSlNDIHRlc3RzIGZhaWxlZCJdLCAxLCAgIiIiUmVzdWx0cyBmb3IgSlND
IHN0cmVzcyB0ZXN0czoKKyAgICA1IGZhaWx1cmVzIGZvdW5kLgorUmVzdWx0cyBmb3IgSlNDIHRl
c3QgYmluYXJpZXM6CisgICAgMSBmYWlsdXJlIGZvdW5kLiIiIikKKwogCiBjbGFzcyBSdW5UZXN0
MjYyVGVzdHNUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICBkZWYgYXNzZXJ0UmVzdWx0cyhz
ZWxmLCBleHBlY3RlZF9yZXN1bHQsIGV4cGVjdGVkX3RleHQsIHJjLCBzdGRpbyk6CmRpZmYgLS1n
aXQgYS9Ub29scy9TY3JpcHRzL3J1bi1qYXZhc2NyaXB0Y29yZS10ZXN0cyBiL1Rvb2xzL1Njcmlw
dHMvcnVuLWphdmFzY3JpcHRjb3JlLXRlc3RzCmluZGV4IGNmZTYxYTI3NzQxOGQxOWIwNzY0MGYw
NWRlZWM1N2FmNTQ4Yzk4MGYuLjZmNjNkMWFkNDg0ZDc1YmI1MGMyYWFhNTdjNDcyNTcyNTUzMzU5
YzEgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvcnVuLWphdmFzY3JpcHRjb3JlLXRlc3RzCisr
KyBiL1Rvb2xzL1NjcmlwdHMvcnVuLWphdmFzY3JpcHRjb3JlLXRlc3RzCkBAIC05Miw2ICs5Miw4
IEBAIG15ICRjcmVhdGVUYXJiYWxsID0gMDsKIG15ICRyZW1vdGVIb3N0ID0gMDsKIG15ICRmYWls
RmFzdCA9IDE7CiBteSAlanNvbkRhdGEgPSAoKTsKK215IEB0ZXN0UmVzdWx0cyA9ICgpOworbXkg
JGlzVGVzdEZhaWxlZCA9IDA7CiBteSAkcmVtb3RlQ29uZmlnRmlsZTsKIG15ICRqc29uRmlsZU5h
bWU7CiBteSAkdmVyYm9zZSA9IDA7CkBAIC0zOTgsMTcgKzQwMCwzOSBAQCBzdWIgcnVuVGVzdCB7
CiAgICAgbXkgJGV4aXRTdGF0dXMgPSBleGl0U3RhdHVzKCR0ZXN0UmVzdWx0KTsKICAgICBwcmlu
dCAiJHRlc3ROYW1lIGNvbXBsZXRlZCB3aXRoIHJjPSR0ZXN0UmVzdWx0ICgkZXhpdFN0YXR1cylc
blxuIjsKIAorICAgIG15ICR0ZXN0U3RhdHVzID0gKCRleGl0U3RhdHVzID09IDApPyBKU09OOjpQ
UDo6dHJ1ZTogSlNPTjo6UFA6OmZhbHNlOworICAgIGlmICgkdGVzdFJlc3VsdCkgeworICAgICAg
ICAkaXNUZXN0RmFpbGVkID0gMTsKKyAgICAgICAgcHVzaCBAdGVzdFJlc3VsdHMsICR0ZXN0TmFt
ZTsKKyAgICB9CiAgICAgaWYgKGRlZmluZWQoJGpzb25GaWxlTmFtZSkpIHsKLSAgICAgICAgbXkg
JHRlc3RTdGF0dXMgPSAoJGV4aXRTdGF0dXMgPT0gMCk/IEpTT046OlBQOjp0cnVlOiBKU09OOjpQ
UDo6ZmFsc2U7CiAgICAgICAgICRqc29uRGF0YXskanNvblRlc3RTdGF0dXNOYW1lfSA9ICR0ZXN0
U3RhdHVzOwogICAgIH0KIAogICAgIGlmICgkdGVzdFJlc3VsdCAmJiAkZmFpbEZhc3QpIHsKKyAg
ICAgICAgcmVwb3J0VGVzdEZhaWx1cmVzKCk7CiAgICAgICAgIHdyaXRlSnNvbkRhdGFJZkFwcGxp
Y2FibGUoKTsKICAgICAgICAgZXhpdCBleGl0U3RhdHVzKCR0ZXN0UmVzdWx0KTsKICAgICB9CiB9
CiAKK3N1YiByZXBvcnRUZXN0RmFpbHVyZXMgeworICBteSAkbnVtSlNDdGVzdEZhaWx1cmVzID0g
QHRlc3RSZXN1bHRzOworICBpZiAoJG51bUpTQ3Rlc3RGYWlsdXJlcykgeworICAgICAgcHJpbnQg
IlxuKiogVGhlIGZvbGxvd2luZyBKU0MgdGVzdCBiaW5hcmllcyBmYWlsdXJlcyBoYXZlIGJlZW4g
aW50cm9kdWNlZDpcbiI7CisgICAgICBmb3JlYWNoIG15ICR0ZXN0RmFpbHVyZSAoQHRlc3RSZXN1
bHRzKSB7CisgICAgICAgICAgcHJpbnQgIlx0JHRlc3RGYWlsdXJlXG4iOworICAgICAgfQorICB9
CisgIHByaW50ICJcbiI7CisKKyAgcHJpbnQgIlJlc3VsdHMgZm9yIEpTQyB0ZXN0IGJpbmFyaWVz
OlxuIjsKKyAgcHJpbnRUaGluZ3NGb3VuZCgkbnVtSlNDdGVzdEZhaWx1cmVzLCAiZmFpbHVyZSIs
ICJmYWlsdXJlcyIsICJmb3VuZCIpOworICBwcmludCAiICAgIE9LLlxuIiBpZiAkbnVtSlNDdGVz
dEZhaWx1cmVzID09IDA7CisKKyAgcHJpbnQgIlxuIjsKK30KKwogaWYgKCRydW5UZXN0TWFzbSkg
eyBydW5UZXN0KCJ0ZXN0bWFzbSIsICJhbGxNYXNtVGVzdHNQYXNzZWQiKSB9CiBpZiAoJHJ1blRl
c3RBaXIpIHsgcnVuVGVzdCgidGVzdGFpciIsICJhbGxBaXJUZXN0c1Bhc3NlZCIpIH0KIGlmICgk
cnVuVGVzdEIzKSB7IHJ1blRlc3QoInRlc3RiMyIsICJhbGxCM1Rlc3RzUGFzc2VkIikgfQpAQCAt
NDIwLDYgKzQ0NCwxMSBAQCBpZiAoJHJ1blRlc3RBUEkpIHsgcnVuVGVzdCgidGVzdGFwaSIsICJh
bGxBcGlUZXN0c1Bhc3NlZCIpIH0KIGNoZGlyV2ViS2l0KCk7CiAKIHJ1bkpTQ1N0cmVzc1Rlc3Rz
KCk7CityZXBvcnRUZXN0RmFpbHVyZXMoKTsKKworaWYgKCRpc1Rlc3RGYWlsZWQpIHsKKyAgZXhp
dCgxKTsKK30KIAogc3ViIHJ1bkpTQ1N0cmVzc1Rlc3RzCiB7CkBAIC01NzMsNiArNjAyLDcgQEAg
c3ViIHJ1bkpTQ1N0cmVzc1Rlc3RzCiAgICAgbXkgJG51bUpTQ1N0cmVzc0ZhaWx1cmVzID0gQGpz
Y1N0cmVzc0ZhaWxMaXN0OwogCiAgICAgaWYgKCRudW1KU0NTdHJlc3NGYWlsdXJlcykgeworICAg
ICAgICAkaXNUZXN0RmFpbGVkID0gMTsKICAgICAgICAgcHJpbnQgIlxuKiogVGhlIGZvbGxvd2lu
ZyBKU0Mgc3RyZXNzIHRlc3QgZmFpbHVyZXMgaGF2ZSBiZWVuIGludHJvZHVjZWQ6XG4iOwogICAg
ICAgICBmb3JlYWNoIG15ICR0ZXN0RmFpbHVyZSAoQGpzY1N0cmVzc0ZhaWxMaXN0KSB7CiAgICAg
ICAgICAgICBwcmludCAiXHQkdGVzdEZhaWx1cmVcbiI7CkBAIC01OTEsNyArNjIxLDYgQEAgc3Vi
IHJ1bkpTQ1N0cmVzc1Rlc3RzCiAgICAgfQogCiAgICAgd3JpdGVKc29uRGF0YUlmQXBwbGljYWJs
ZSgpOwotICAgIGV4aXQoMSkgaWYgJG51bUpTQ1N0cmVzc0ZhaWx1cmVzOwogfQogCiBzdWIgcmVh
ZEFsbExpbmVzCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jb25m
aWcvcG9ydHMucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jb25maWcvcG9ydHMu
cHkKaW5kZXggZDdhNzhkOGE1MzA0ZDhjMWE3YzhhNGNjM2YzZDI2ZjI3NWM2MWI0NS4uNjYwNzlk
NmNjNTcyMjYwODkzNTNmMmYwZmVlZDQzNDgyNGEzNTQzMiAxMDA2NDQKLS0tIGEvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9jb21tb24vY29uZmlnL3BvcnRzLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvY29tbW9uL2NvbmZpZy9wb3J0cy5weQpAQCAtMjQzLDMgKzI0MywxNSBAQCBjbGFz
cyBKc2NPbmx5UG9ydChEZXByZWNhdGVkUG9ydCk6CiAgICAgICAgIGNvbW1hbmQgPSBzZWxmLnNj
cmlwdF9zaGVsbF9jb21tYW5kKCJidWlsZC1qc2MiKQogICAgICAgICBjb21tYW5kLmFwcGVuZCgi
LS1qc2Mtb25seSIpCiAgICAgICAgIHJldHVybiBzZWxmLl9hcHBlbmRfYnVpbGRfc3R5bGVfZmxh
Zyhjb21tYW5kLCBidWlsZF9zdHlsZSkKKworICAgIGRlZiBydW5famF2YXNjcmlwdGNvcmVfdGVz
dHNfY29tbWFuZChzZWxmLCBidWlsZF9zdHlsZT1Ob25lKToKKyAgICAgICAgY29tbWFuZCA9IHNl
bGYuc2NyaXB0X3NoZWxsX2NvbW1hbmQoInJ1bi1qYXZhc2NyaXB0Y29yZS10ZXN0cyIpCisgICAg
ICAgIGNvbW1hbmQuYXBwZW5kKCItLW5vLWZhaWwtZmFzdCIpCisgICAgICAgIGNvbW1hbmQuYXBw
ZW5kKCItLW5vLXRlc3RtYXNtIikKKyAgICAgICAgY29tbWFuZC5hcHBlbmQoIi0tbm8tdGVzdGFp
ciIpCisgICAgICAgIGNvbW1hbmQuYXBwZW5kKCItLW5vLXRlc3RiMyIpCisgICAgICAgIGNvbW1h
bmQuYXBwZW5kKCItLW5vLXRlc3RkZmciKQorICAgICAgICBjb21tYW5kLmFwcGVuZCgiLS1uby10
ZXN0YXBpIikKKyAgICAgICAgaWYgJ0pTQ1RFU1RTX09QVElPTlMnIGluIG9zLmVudmlyb246Cisg
ICAgICAgICAgICBjb21tYW5kICs9IG9zLmVudmlyb25bJ0pTQ1RFU1RTX09QVElPTlMnXS5zcGxp
dCgpCisgICAgICAgIHJldHVybiBzZWxmLl9hcHBlbmRfYnVpbGRfc3R5bGVfZmxhZyhjb21tYW5k
LCBidWlsZF9zdHlsZSkKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9u
L2NvbmZpZy9wb3J0c191bml0dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9u
L2NvbmZpZy9wb3J0c191bml0dGVzdC5weQppbmRleCA2NzI1MWZlZTllYzkyMDQxZmY2OWFiOTlj
ZDM1NzdhM2NmZDViMTlkLi40MzM2MzIyNmQyYWIxNTIzNTY5ZjM4YWUwMjcxNmY5ZWExMGVmY2Ey
IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jb25maWcvcG9ydHNf
dW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY29uZmlnL3Bv
cnRzX3VuaXR0ZXN0LnB5CkBAIC02NywzICs2Nyw0IEBAIGNsYXNzIERlcHJlY2F0ZWRQb3J0VGVz
dCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoSnNjT25seVBv
cnQoKS5idWlsZF9qc2NfY29tbWFuZCgpLCBEZXByZWNhdGVkUG9ydCgpLnNjcmlwdF9zaGVsbF9j
b21tYW5kKCJidWlsZC1qc2MiKSArIFsiLS1qc2Mtb25seSJdKQogICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFsKEpzY09ubHlQb3J0KCkuYnVpbGRfanNjX2NvbW1hbmQoYnVpbGRfc3R5bGU9InJlbGVh
c2UiKSwgRGVwcmVjYXRlZFBvcnQoKS5zY3JpcHRfc2hlbGxfY29tbWFuZCgiYnVpbGQtanNjIikg
KyBbIi0tanNjLW9ubHkiLCAiLS1yZWxlYXNlIl0pCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwo
SnNjT25seVBvcnQoKS5idWlsZF9qc2NfY29tbWFuZChidWlsZF9zdHlsZT0iZGVidWciKSwgRGVw
cmVjYXRlZFBvcnQoKS5zY3JpcHRfc2hlbGxfY29tbWFuZCgiYnVpbGQtanNjIikgKyBbIi0tanNj
LW9ubHkiLCAiLS1kZWJ1ZyJdKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKEpzY09ubHlQb3J0
KCkucnVuX2phdmFzY3JpcHRjb3JlX3Rlc3RzX2NvbW1hbmQoYnVpbGRfc3R5bGU9ImRlYnVnIiks
IERlcHJlY2F0ZWRQb3J0KCkuc2NyaXB0X3NoZWxsX2NvbW1hbmQoInJ1bi1qYXZhc2NyaXB0Y29y
ZS10ZXN0cyIpICsgWyctLW5vLWZhaWwtZmFzdCcsICctLW5vLXRlc3RtYXNtJywgJy0tbm8tdGVz
dGFpcicsICctLW5vLXRlc3RiMycsICctLW5vLXRlc3RkZmcnLCAnLS1uby10ZXN0YXBpJywgJy0t
ZGVidWcnXSkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>374306</attachid>
            <date>2019-07-17 10:36:00 -0700</date>
            <delta_ts>2019-07-17 16:03:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199489-20190717103600.patch</filename>
            <type>text/plain</type>
            <size>9300</size>
            <attacher name="Zhifei Fang">zhifei_fang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3NDk1CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMGUzYjk5MjkyZTA4MTUwZWM1Nzk3YTI5MGRjYWM2Yjk2
ZjM4M2U2OC4uZWVjNmMzODUwYWRiNmQwNDU2YTRmZDAxMmUwODBhMjgxODgwNjkyOSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1
IEBACisyMDE5LTA3LTE2ICBaaGlmZWkgRmFuZyAgPHpoaWZlaV9mYW5nQGFwcGxlLmNvbT4KKwor
ICAgICAgICBydW4tamF2YXNjcmlwdGNvcmUtdGVzdHMgd29uJ3QgcmVwb3J0IHRlc3QgcmVzdWx0
cyBmb3IgdGVzdG1hc20sIHRlc3RhaXIsIHRlc3RiMywgdGVzdGRmZyBhbmQgdGVzdCBhcGkKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5OTQ4OQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQnVpbGRTbGF2
ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvc3RlcHMucHk6IFBpY2t1cCBuZXdseSBh
ZGRlZCByZXBvcnQgc2VjdGlvbgorICAgICAgICAoUnVuSmF2YVNjcmlwdENvcmVUZXN0cy5zdGFy
dCk6IFNraXAgdGVzdCBiaW5hcmllcyBmb3IgbmV3IEVXUyBmb3IgdGhvc2UgcnVuIGpzYyB0ZXN0
cyByZW1vdGVseQorICAgICAgICAoUnVuSmF2YVNjcmlwdENvcmVUZXN0cy5jb3VudEZhaWx1cmVz
KToKKyAgICAgICAgKiBCdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9z
dGVwc191bml0dGVzdC5weToKKyAgICAgICAgKiBTY3JpcHRzL3J1bi1qYXZhc2NyaXB0Y29yZS10
ZXN0czoKKyAgICAgICAgKHJ1blRlc3QpOgorICAgICAgICAocmVwb3J0VGVzdEZhaWx1cmVzKTog
QWRkZWQgYSBuZXcgc2VjdGlvbiB0byByZXBvcnQgdGVzdCBiaW5haXJlcyBmYWlsdXJlcworICAg
ICAgICAocnVuSlNDU3RyZXNzVGVzdHMpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29t
bW9uL2NvbmZpZy9wb3J0cy5weToKKyAgICAgICAgKEpzY09ubHlQb3J0LmJ1aWxkX2pzY19jb21t
YW5kKTogU2tpcCB0ZXN0IGJpbmFpcmVzIGZvciBvbGQgRVdTIGZvciB0aG9zZSBydW4ganNjIHRl
c3RzIHJlbW90ZWx5CisgICAgICAgIChKc2NPbmx5UG9ydCk6CisgICAgICAgIChKc2NPbmx5UG9y
dC5ydW5famF2YXNjcmlwdGNvcmVfdGVzdHNfY29tbWFuZCk6CisgICAgICAgICogU2NyaXB0cy93
ZWJraXRweS9jb21tb24vY29uZmlnL3BvcnRzX3VuaXR0ZXN0LnB5OgorICAgICAgICAoRGVwcmVj
YXRlZFBvcnRUZXN0LnRlc3RfanNjb25seV9wb3J0KToKKwogMjAxOS0wNy0xNiAgVGltIEhvcnRv
biAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KIAogICAgICAgICBOU1RleHRGaW5kZXIgaG9s
ZXMgZG9uJ3Qgc2Nyb2xsIHdpdGggdGhlIHBhZ2UKZGlmZiAtLWdpdCBhL1Rvb2xzL0J1aWxkU2xh
dmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3N0ZXBzLnB5IGIvVG9vbHMvQnVpbGRT
bGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvc3RlcHMucHkKaW5kZXggYzI3ZDI2
MmRmOWM5ZThlN2ZiZjE3NGFmNDFlNzQ0OWFmNjA3NTVlNi4uYTYwNWFmMmJhMjIzOTcxMmFkODUw
YzgwYmJhN2U4NDI1YzhhM2I1NyAxMDA2NDQKLS0tIGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQv
YnVpbGQud2Via2l0Lm9yZy1jb25maWcvc3RlcHMucHkKKysrIGIvVG9vbHMvQnVpbGRTbGF2ZVN1
cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvc3RlcHMucHkKQEAgLTMzMSw2ICszMzEsMTAg
QEAgY2xhc3MgUnVuSmF2YVNjcmlwdENvcmVUZXN0cyhUZXN0V2l0aEZhaWx1cmVDb3VudCk6CiAK
ICAgICBkZWYgc3RhcnQoc2VsZik6CiAgICAgICAgIHBsYXRmb3JtID0gc2VsZi5nZXRQcm9wZXJ0
eSgncGxhdGZvcm0nKQorICAgICAgICBhcmNoaXRlY3R1cmUgPSBzZWxmLmdldFByb3BlcnR5KCJh
cmNoaXRlY3R1cmUiKQorICAgICAgICAjIEN1cnJlbnRseSBydW4tamF2YXNjcmlwdGNvcmUtdGVz
dCBkb2Vzbid0IHN1cHBvcnQgcnVuIHRob3NlIGJpbmFyaWVzIHJlbW90ZWx5CisgICAgICAgIGlm
IGFyY2hpdGVjdHVyZSBpbiBbJ21pcHMnLCAnYXJtdjcnLCAnYWFyY2g2NCddOgorICAgICAgICAg
ICAgc2VsZi5jb21tYW5kICs9IFsnLS1uby10ZXN0bWFzbScsICctLW5vLXRlc3RhaXInLCAnLS1u
by10ZXN0YjMnLCAnLS1uby10ZXN0ZGZnJywgJy0tbm8tdGVzdGFwaSddCiAgICAgICAgICMgTGlu
dXggYm90cyBoYXZlIGN1cnJlbnRseSBwcm9ibGVtcyB3aXRoIEpTQyB0ZXN0cyB0aGF0IHRyeSB0
byB1c2UgbGFyZ2UgYW1vdW50cyBvZiBtZW1vcnkuCiAgICAgICAgICMgQ2hlY2s6IGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzUxNDAKICAgICAgICAgaWYgcGxhdGZv
cm0gaW4gKCdndGsnLCAnd3BlJyk6CkBAIC0zNDQsMTYgKzM0OCwyMSBAQCBjbGFzcyBSdW5KYXZh
U2NyaXB0Q29yZVRlc3RzKFRlc3RXaXRoRmFpbHVyZUNvdW50KToKIAogICAgIGRlZiBjb3VudEZh
aWx1cmVzKHNlbGYsIGNtZCk6CiAgICAgICAgIGxvZ1RleHQgPSBjbWQubG9nc1snc3RkaW8nXS5n
ZXRUZXh0KCkKKyAgICAgICAgY291bnQgPSAwCiAKICAgICAgICAgbWF0Y2ggPSByZS5zZWFyY2go
cideUmVzdWx0cyBmb3IgSlNDIHN0cmVzcyB0ZXN0czpccj9cblxzKyhcZCspIGZhaWx1cmUnLCBs
b2dUZXh0LCByZS5NVUxUSUxJTkUpCiAgICAgICAgIGlmIG1hdGNoOgotICAgICAgICAgICAgcmV0
dXJuIGludChtYXRjaC5ncm91cCgxKSkKKyAgICAgICAgICAgIGNvdW50ICs9IGludChtYXRjaC5n
cm91cCgxKSkKKworICAgICAgICBtYXRjaCA9IHJlLnNlYXJjaChyJ1Jlc3VsdHMgZm9yIEpTQyB0
ZXN0IGJpbmFyaWVzOlxyP1xuXHMrKFxkKykgZmFpbHVyZScsIGxvZ1RleHQsIHJlLk1VTFRJTElO
RSkKKyAgICAgICAgaWYgbWF0Y2g6CisgICAgICAgICAgICBjb3VudCArPSBpbnQobWF0Y2guZ3Jv
dXAoMSkpCiAKICAgICAgICAgbWF0Y2ggPSByZS5zZWFyY2gocideUmVzdWx0cyBmb3IgTW96aWxs
YSB0ZXN0czpccj9cblxzKyhcZCspIHJlZ3Jlc3Npb24nLCBsb2dUZXh0LCByZS5NVUxUSUxJTkUp
CiAgICAgICAgIGlmIG1hdGNoOgotICAgICAgICAgICAgcmV0dXJuIGludChtYXRjaC5ncm91cCgx
KSkKKyAgICAgICAgICAgIGNvdW50ICs9IGludChtYXRjaC5ncm91cCgxKSkKIAotICAgICAgICBy
ZXR1cm4gMAorICAgICAgICByZXR1cm4gY291bnQKIAogCiBjbGFzcyBSdW5SZW1vdGVKYXZhU2Ny
aXB0Q29yZVRlc3RzKFJ1bkphdmFTY3JpcHRDb3JlVGVzdHMpOgpkaWZmIC0tZ2l0IGEvVG9vbHMv
QnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvc3RlcHNfdW5pdHRlc3Qu
cHkgYi9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9zdGVw
c191bml0dGVzdC5weQppbmRleCA0Zjg3NWQzZWEwZDAzYWMyMmU1NTRiMzU1ZjkwMjIxNDc0NzJl
ODNmLi42NTMxNWJkZTU3ODhkZDU2Njg2MDYxM2IwNzBiOGQ1ODg3NDIxNmJiIDEwMDc1NQotLS0g
YS9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9zdGVwc191
bml0dGVzdC5weQorKysgYi9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3Jn
LWNvbmZpZy9zdGVwc191bml0dGVzdC5weQpAQCAtMTIyLDYgKzEyMiwxOCBAQCBjbGFzcyBSdW5K
YXZhU2NyaXB0Q29yZVRlc3RzVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIHNlbGYu
YXNzZXJ0UmVzdWx0cyhGQUlMVVJFLCBbIjUgSlNDIHRlc3RzIGZhaWxlZCJdLCAxLCAgIiIiUmVz
dWx0cyBmb3IgSlNDIHN0cmVzcyB0ZXN0czoKICAgICA1IGZhaWx1cmVzIGZvdW5kLiIiIikKIAor
ICAgIGRlZiB0ZXN0X2pzY19zdHJlc3NfZmFpbHVyZXNfd2l0aF9iaW5hcnlfcmVzdWx0c19vdXRw
dXQoc2VsZik6CisgICAgICAgIHNlbGYuYXNzZXJ0UmVzdWx0cyhGQUlMVVJFLCBbIjggSlNDIHRl
c3RzIGZhaWxlZCJdLCAxLCAgIiIiUmVzdWx0cyBmb3IgSlNDIHN0cmVzcyB0ZXN0czoKKyAgICA1
IGZhaWx1cmVzIGZvdW5kLgorUmVzdWx0cyBmb3IgSlNDIHRlc3QgYmluYXJpZXM6CisgICAgMyBm
YWlsdXJlcyBmb3VuZC4iIiIpCisKKyAgICBkZWYgdGVzdF9qc2Nfc3RyZXNzX2ZhaWx1cmVzX3dp
dGhfYmluYXJ5X3Jlc3VsdF9vdXRwdXQoc2VsZik6CisgICAgICAgIHNlbGYuYXNzZXJ0UmVzdWx0
cyhGQUlMVVJFLCBbIjYgSlNDIHRlc3RzIGZhaWxlZCJdLCAxLCAgIiIiUmVzdWx0cyBmb3IgSlND
IHN0cmVzcyB0ZXN0czoKKyAgICA1IGZhaWx1cmVzIGZvdW5kLgorUmVzdWx0cyBmb3IgSlNDIHRl
c3QgYmluYXJpZXM6CisgICAgMSBmYWlsdXJlIGZvdW5kLiIiIikKKwogCiBjbGFzcyBSdW5UZXN0
MjYyVGVzdHNUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICBkZWYgYXNzZXJ0UmVzdWx0cyhz
ZWxmLCBleHBlY3RlZF9yZXN1bHQsIGV4cGVjdGVkX3RleHQsIHJjLCBzdGRpbyk6CmRpZmYgLS1n
aXQgYS9Ub29scy9TY3JpcHRzL3J1bi1qYXZhc2NyaXB0Y29yZS10ZXN0cyBiL1Rvb2xzL1Njcmlw
dHMvcnVuLWphdmFzY3JpcHRjb3JlLXRlc3RzCmluZGV4IGNmZTYxYTI3NzQxOGQxOWIwNzY0MGYw
NWRlZWM1N2FmNTQ4Yzk4MGYuLjZmNjNkMWFkNDg0ZDc1YmI1MGMyYWFhNTdjNDcyNTcyNTUzMzU5
YzEgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvcnVuLWphdmFzY3JpcHRjb3JlLXRlc3RzCisr
KyBiL1Rvb2xzL1NjcmlwdHMvcnVuLWphdmFzY3JpcHRjb3JlLXRlc3RzCkBAIC05Miw2ICs5Miw4
IEBAIG15ICRjcmVhdGVUYXJiYWxsID0gMDsKIG15ICRyZW1vdGVIb3N0ID0gMDsKIG15ICRmYWls
RmFzdCA9IDE7CiBteSAlanNvbkRhdGEgPSAoKTsKK215IEB0ZXN0UmVzdWx0cyA9ICgpOworbXkg
JGlzVGVzdEZhaWxlZCA9IDA7CiBteSAkcmVtb3RlQ29uZmlnRmlsZTsKIG15ICRqc29uRmlsZU5h
bWU7CiBteSAkdmVyYm9zZSA9IDA7CkBAIC0zOTgsMTcgKzQwMCwzOSBAQCBzdWIgcnVuVGVzdCB7
CiAgICAgbXkgJGV4aXRTdGF0dXMgPSBleGl0U3RhdHVzKCR0ZXN0UmVzdWx0KTsKICAgICBwcmlu
dCAiJHRlc3ROYW1lIGNvbXBsZXRlZCB3aXRoIHJjPSR0ZXN0UmVzdWx0ICgkZXhpdFN0YXR1cylc
blxuIjsKIAorICAgIG15ICR0ZXN0U3RhdHVzID0gKCRleGl0U3RhdHVzID09IDApPyBKU09OOjpQ
UDo6dHJ1ZTogSlNPTjo6UFA6OmZhbHNlOworICAgIGlmICgkdGVzdFJlc3VsdCkgeworICAgICAg
ICAkaXNUZXN0RmFpbGVkID0gMTsKKyAgICAgICAgcHVzaCBAdGVzdFJlc3VsdHMsICR0ZXN0TmFt
ZTsKKyAgICB9CiAgICAgaWYgKGRlZmluZWQoJGpzb25GaWxlTmFtZSkpIHsKLSAgICAgICAgbXkg
JHRlc3RTdGF0dXMgPSAoJGV4aXRTdGF0dXMgPT0gMCk/IEpTT046OlBQOjp0cnVlOiBKU09OOjpQ
UDo6ZmFsc2U7CiAgICAgICAgICRqc29uRGF0YXskanNvblRlc3RTdGF0dXNOYW1lfSA9ICR0ZXN0
U3RhdHVzOwogICAgIH0KIAogICAgIGlmICgkdGVzdFJlc3VsdCAmJiAkZmFpbEZhc3QpIHsKKyAg
ICAgICAgcmVwb3J0VGVzdEZhaWx1cmVzKCk7CiAgICAgICAgIHdyaXRlSnNvbkRhdGFJZkFwcGxp
Y2FibGUoKTsKICAgICAgICAgZXhpdCBleGl0U3RhdHVzKCR0ZXN0UmVzdWx0KTsKICAgICB9CiB9
CiAKK3N1YiByZXBvcnRUZXN0RmFpbHVyZXMgeworICBteSAkbnVtSlNDdGVzdEZhaWx1cmVzID0g
QHRlc3RSZXN1bHRzOworICBpZiAoJG51bUpTQ3Rlc3RGYWlsdXJlcykgeworICAgICAgcHJpbnQg
IlxuKiogVGhlIGZvbGxvd2luZyBKU0MgdGVzdCBiaW5hcmllcyBmYWlsdXJlcyBoYXZlIGJlZW4g
aW50cm9kdWNlZDpcbiI7CisgICAgICBmb3JlYWNoIG15ICR0ZXN0RmFpbHVyZSAoQHRlc3RSZXN1
bHRzKSB7CisgICAgICAgICAgcHJpbnQgIlx0JHRlc3RGYWlsdXJlXG4iOworICAgICAgfQorICB9
CisgIHByaW50ICJcbiI7CisKKyAgcHJpbnQgIlJlc3VsdHMgZm9yIEpTQyB0ZXN0IGJpbmFyaWVz
OlxuIjsKKyAgcHJpbnRUaGluZ3NGb3VuZCgkbnVtSlNDdGVzdEZhaWx1cmVzLCAiZmFpbHVyZSIs
ICJmYWlsdXJlcyIsICJmb3VuZCIpOworICBwcmludCAiICAgIE9LLlxuIiBpZiAkbnVtSlNDdGVz
dEZhaWx1cmVzID09IDA7CisKKyAgcHJpbnQgIlxuIjsKK30KKwogaWYgKCRydW5UZXN0TWFzbSkg
eyBydW5UZXN0KCJ0ZXN0bWFzbSIsICJhbGxNYXNtVGVzdHNQYXNzZWQiKSB9CiBpZiAoJHJ1blRl
c3RBaXIpIHsgcnVuVGVzdCgidGVzdGFpciIsICJhbGxBaXJUZXN0c1Bhc3NlZCIpIH0KIGlmICgk
cnVuVGVzdEIzKSB7IHJ1blRlc3QoInRlc3RiMyIsICJhbGxCM1Rlc3RzUGFzc2VkIikgfQpAQCAt
NDIwLDYgKzQ0NCwxMSBAQCBpZiAoJHJ1blRlc3RBUEkpIHsgcnVuVGVzdCgidGVzdGFwaSIsICJh
bGxBcGlUZXN0c1Bhc3NlZCIpIH0KIGNoZGlyV2ViS2l0KCk7CiAKIHJ1bkpTQ1N0cmVzc1Rlc3Rz
KCk7CityZXBvcnRUZXN0RmFpbHVyZXMoKTsKKworaWYgKCRpc1Rlc3RGYWlsZWQpIHsKKyAgZXhp
dCgxKTsKK30KIAogc3ViIHJ1bkpTQ1N0cmVzc1Rlc3RzCiB7CkBAIC01NzMsNiArNjAyLDcgQEAg
c3ViIHJ1bkpTQ1N0cmVzc1Rlc3RzCiAgICAgbXkgJG51bUpTQ1N0cmVzc0ZhaWx1cmVzID0gQGpz
Y1N0cmVzc0ZhaWxMaXN0OwogCiAgICAgaWYgKCRudW1KU0NTdHJlc3NGYWlsdXJlcykgeworICAg
ICAgICAkaXNUZXN0RmFpbGVkID0gMTsKICAgICAgICAgcHJpbnQgIlxuKiogVGhlIGZvbGxvd2lu
ZyBKU0Mgc3RyZXNzIHRlc3QgZmFpbHVyZXMgaGF2ZSBiZWVuIGludHJvZHVjZWQ6XG4iOwogICAg
ICAgICBmb3JlYWNoIG15ICR0ZXN0RmFpbHVyZSAoQGpzY1N0cmVzc0ZhaWxMaXN0KSB7CiAgICAg
ICAgICAgICBwcmludCAiXHQkdGVzdEZhaWx1cmVcbiI7CkBAIC01OTEsNyArNjIxLDYgQEAgc3Vi
IHJ1bkpTQ1N0cmVzc1Rlc3RzCiAgICAgfQogCiAgICAgd3JpdGVKc29uRGF0YUlmQXBwbGljYWJs
ZSgpOwotICAgIGV4aXQoMSkgaWYgJG51bUpTQ1N0cmVzc0ZhaWx1cmVzOwogfQogCiBzdWIgcmVh
ZEFsbExpbmVzCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jb25m
aWcvcG9ydHMucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jb25maWcvcG9ydHMu
cHkKaW5kZXggZDdhNzhkOGE1MzA0ZDhjMWE3YzhhNGNjM2YzZDI2ZjI3NWM2MWI0NS4uNjYwNzlk
NmNjNTcyMjYwODkzNTNmMmYwZmVlZDQzNDgyNGEzNTQzMiAxMDA2NDQKLS0tIGEvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9jb21tb24vY29uZmlnL3BvcnRzLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvY29tbW9uL2NvbmZpZy9wb3J0cy5weQpAQCAtMjQzLDMgKzI0MywxNSBAQCBjbGFz
cyBKc2NPbmx5UG9ydChEZXByZWNhdGVkUG9ydCk6CiAgICAgICAgIGNvbW1hbmQgPSBzZWxmLnNj
cmlwdF9zaGVsbF9jb21tYW5kKCJidWlsZC1qc2MiKQogICAgICAgICBjb21tYW5kLmFwcGVuZCgi
LS1qc2Mtb25seSIpCiAgICAgICAgIHJldHVybiBzZWxmLl9hcHBlbmRfYnVpbGRfc3R5bGVfZmxh
Zyhjb21tYW5kLCBidWlsZF9zdHlsZSkKKworICAgIGRlZiBydW5famF2YXNjcmlwdGNvcmVfdGVz
dHNfY29tbWFuZChzZWxmLCBidWlsZF9zdHlsZT1Ob25lKToKKyAgICAgICAgY29tbWFuZCA9IHNl
bGYuc2NyaXB0X3NoZWxsX2NvbW1hbmQoInJ1bi1qYXZhc2NyaXB0Y29yZS10ZXN0cyIpCisgICAg
ICAgIGNvbW1hbmQuYXBwZW5kKCItLW5vLWZhaWwtZmFzdCIpCisgICAgICAgIGNvbW1hbmQuYXBw
ZW5kKCItLW5vLXRlc3RtYXNtIikKKyAgICAgICAgY29tbWFuZC5hcHBlbmQoIi0tbm8tdGVzdGFp
ciIpCisgICAgICAgIGNvbW1hbmQuYXBwZW5kKCItLW5vLXRlc3RiMyIpCisgICAgICAgIGNvbW1h
bmQuYXBwZW5kKCItLW5vLXRlc3RkZmciKQorICAgICAgICBjb21tYW5kLmFwcGVuZCgiLS1uby10
ZXN0YXBpIikKKyAgICAgICAgaWYgJ0pTQ1RFU1RTX09QVElPTlMnIGluIG9zLmVudmlyb246Cisg
ICAgICAgICAgICBjb21tYW5kICs9IG9zLmVudmlyb25bJ0pTQ1RFU1RTX09QVElPTlMnXS5zcGxp
dCgpCisgICAgICAgIHJldHVybiBzZWxmLl9hcHBlbmRfYnVpbGRfc3R5bGVfZmxhZyhjb21tYW5k
LCBidWlsZF9zdHlsZSkKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9u
L2NvbmZpZy9wb3J0c191bml0dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9u
L2NvbmZpZy9wb3J0c191bml0dGVzdC5weQppbmRleCA2NzI1MWZlZTllYzkyMDQxZmY2OWFiOTlj
ZDM1NzdhM2NmZDViMTlkLi40MzM2MzIyNmQyYWIxNTIzNTY5ZjM4YWUwMjcxNmY5ZWExMGVmY2Ey
IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jb25maWcvcG9ydHNf
dW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY29uZmlnL3Bv
cnRzX3VuaXR0ZXN0LnB5CkBAIC02NywzICs2Nyw0IEBAIGNsYXNzIERlcHJlY2F0ZWRQb3J0VGVz
dCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoSnNjT25seVBv
cnQoKS5idWlsZF9qc2NfY29tbWFuZCgpLCBEZXByZWNhdGVkUG9ydCgpLnNjcmlwdF9zaGVsbF9j
b21tYW5kKCJidWlsZC1qc2MiKSArIFsiLS1qc2Mtb25seSJdKQogICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFsKEpzY09ubHlQb3J0KCkuYnVpbGRfanNjX2NvbW1hbmQoYnVpbGRfc3R5bGU9InJlbGVh
c2UiKSwgRGVwcmVjYXRlZFBvcnQoKS5zY3JpcHRfc2hlbGxfY29tbWFuZCgiYnVpbGQtanNjIikg
KyBbIi0tanNjLW9ubHkiLCAiLS1yZWxlYXNlIl0pCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwo
SnNjT25seVBvcnQoKS5idWlsZF9qc2NfY29tbWFuZChidWlsZF9zdHlsZT0iZGVidWciKSwgRGVw
cmVjYXRlZFBvcnQoKS5zY3JpcHRfc2hlbGxfY29tbWFuZCgiYnVpbGQtanNjIikgKyBbIi0tanNj
LW9ubHkiLCAiLS1kZWJ1ZyJdKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKEpzY09ubHlQb3J0
KCkucnVuX2phdmFzY3JpcHRjb3JlX3Rlc3RzX2NvbW1hbmQoYnVpbGRfc3R5bGU9ImRlYnVnIiks
IERlcHJlY2F0ZWRQb3J0KCkuc2NyaXB0X3NoZWxsX2NvbW1hbmQoInJ1bi1qYXZhc2NyaXB0Y29y
ZS10ZXN0cyIpICsgWyctLW5vLWZhaWwtZmFzdCcsICctLW5vLXRlc3RtYXNtJywgJy0tbm8tdGVz
dGFpcicsICctLW5vLXRlc3RiMycsICctLW5vLXRlc3RkZmcnLCAnLS1uby10ZXN0YXBpJywgJy0t
ZGVidWcnXSkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>374307</attachid>
            <date>2019-07-17 10:59:09 -0700</date>
            <delta_ts>2019-07-17 16:11:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199489-20190717105908.patch</filename>
            <type>text/plain</type>
            <size>9310</size>
            <attacher name="Zhifei Fang">zhifei_fang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3NDk1CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMGUzYjk5MjkyZTA4MTUwZWM1Nzk3YTI5MGRjYWM2Yjk2
ZjM4M2U2OC4uZWVjNmMzODUwYWRiNmQwNDU2YTRmZDAxMmUwODBhMjgxODgwNjkyOSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1
IEBACisyMDE5LTA3LTE2ICBaaGlmZWkgRmFuZyAgPHpoaWZlaV9mYW5nQGFwcGxlLmNvbT4KKwor
ICAgICAgICBydW4tamF2YXNjcmlwdGNvcmUtdGVzdHMgd29uJ3QgcmVwb3J0IHRlc3QgcmVzdWx0
cyBmb3IgdGVzdG1hc20sIHRlc3RhaXIsIHRlc3RiMywgdGVzdGRmZyBhbmQgdGVzdCBhcGkKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5OTQ4OQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQnVpbGRTbGF2
ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvc3RlcHMucHk6IFBpY2t1cCBuZXdseSBh
ZGRlZCByZXBvcnQgc2VjdGlvbgorICAgICAgICAoUnVuSmF2YVNjcmlwdENvcmVUZXN0cy5zdGFy
dCk6IFNraXAgdGVzdCBiaW5hcmllcyBmb3IgbmV3IEVXUyBmb3IgdGhvc2UgcnVuIGpzYyB0ZXN0
cyByZW1vdGVseQorICAgICAgICAoUnVuSmF2YVNjcmlwdENvcmVUZXN0cy5jb3VudEZhaWx1cmVz
KToKKyAgICAgICAgKiBCdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9z
dGVwc191bml0dGVzdC5weToKKyAgICAgICAgKiBTY3JpcHRzL3J1bi1qYXZhc2NyaXB0Y29yZS10
ZXN0czoKKyAgICAgICAgKHJ1blRlc3QpOgorICAgICAgICAocmVwb3J0VGVzdEZhaWx1cmVzKTog
QWRkZWQgYSBuZXcgc2VjdGlvbiB0byByZXBvcnQgdGVzdCBiaW5haXJlcyBmYWlsdXJlcworICAg
ICAgICAocnVuSlNDU3RyZXNzVGVzdHMpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29t
bW9uL2NvbmZpZy9wb3J0cy5weToKKyAgICAgICAgKEpzY09ubHlQb3J0LmJ1aWxkX2pzY19jb21t
YW5kKTogU2tpcCB0ZXN0IGJpbmFpcmVzIGZvciBvbGQgRVdTIGZvciB0aG9zZSBydW4ganNjIHRl
c3RzIHJlbW90ZWx5CisgICAgICAgIChKc2NPbmx5UG9ydCk6CisgICAgICAgIChKc2NPbmx5UG9y
dC5ydW5famF2YXNjcmlwdGNvcmVfdGVzdHNfY29tbWFuZCk6CisgICAgICAgICogU2NyaXB0cy93
ZWJraXRweS9jb21tb24vY29uZmlnL3BvcnRzX3VuaXR0ZXN0LnB5OgorICAgICAgICAoRGVwcmVj
YXRlZFBvcnRUZXN0LnRlc3RfanNjb25seV9wb3J0KToKKwogMjAxOS0wNy0xNiAgVGltIEhvcnRv
biAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KIAogICAgICAgICBOU1RleHRGaW5kZXIgaG9s
ZXMgZG9uJ3Qgc2Nyb2xsIHdpdGggdGhlIHBhZ2UKZGlmZiAtLWdpdCBhL1Rvb2xzL0J1aWxkU2xh
dmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3N0ZXBzLnB5IGIvVG9vbHMvQnVpbGRT
bGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvc3RlcHMucHkKaW5kZXggYzI3ZDI2
MmRmOWM5ZThlN2ZiZjE3NGFmNDFlNzQ0OWFmNjA3NTVlNi4uYTYwNWFmMmJhMjIzOTcxMmFkODUw
YzgwYmJhN2U4NDI1YzhhM2I1NyAxMDA2NDQKLS0tIGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQv
YnVpbGQud2Via2l0Lm9yZy1jb25maWcvc3RlcHMucHkKKysrIGIvVG9vbHMvQnVpbGRTbGF2ZVN1
cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvc3RlcHMucHkKQEAgLTMzMSw2ICszMzEsMTAg
QEAgY2xhc3MgUnVuSmF2YVNjcmlwdENvcmVUZXN0cyhUZXN0V2l0aEZhaWx1cmVDb3VudCk6CiAK
ICAgICBkZWYgc3RhcnQoc2VsZik6CiAgICAgICAgIHBsYXRmb3JtID0gc2VsZi5nZXRQcm9wZXJ0
eSgncGxhdGZvcm0nKQorICAgICAgICBhcmNoaXRlY3R1cmUgPSBzZWxmLmdldFByb3BlcnR5KCJh
cmNoaXRlY3R1cmUiKQorICAgICAgICAjIEN1cnJlbnRseSBydW4tamF2YXNjcmlwdGNvcmUtdGVz
dCBkb2Vzbid0IHN1cHBvcnQgcnVuIHRob3NlIGJpbmFyaWVzIHJlbW90ZWx5CisgICAgICAgIGlm
IGFyY2hpdGVjdHVyZSBpbiBbJ21pcHMnLCAnYXJtdjcnLCAnYWFyY2g2NCddOgorICAgICAgICAg
ICAgc2VsZi5jb21tYW5kICs9IFsnLS1uby10ZXN0bWFzbScsICctLW5vLXRlc3RhaXInLCAnLS1u
by10ZXN0YjMnLCAnLS1uby10ZXN0ZGZnJywgJy0tbm8tdGVzdGFwaSddCiAgICAgICAgICMgTGlu
dXggYm90cyBoYXZlIGN1cnJlbnRseSBwcm9ibGVtcyB3aXRoIEpTQyB0ZXN0cyB0aGF0IHRyeSB0
byB1c2UgbGFyZ2UgYW1vdW50cyBvZiBtZW1vcnkuCiAgICAgICAgICMgQ2hlY2s6IGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzUxNDAKICAgICAgICAgaWYgcGxhdGZv
cm0gaW4gKCdndGsnLCAnd3BlJyk6CkBAIC0zNDQsMTYgKzM0OCwyMSBAQCBjbGFzcyBSdW5KYXZh
U2NyaXB0Q29yZVRlc3RzKFRlc3RXaXRoRmFpbHVyZUNvdW50KToKIAogICAgIGRlZiBjb3VudEZh
aWx1cmVzKHNlbGYsIGNtZCk6CiAgICAgICAgIGxvZ1RleHQgPSBjbWQubG9nc1snc3RkaW8nXS5n
ZXRUZXh0KCkKKyAgICAgICAgY291bnQgPSAwCiAKICAgICAgICAgbWF0Y2ggPSByZS5zZWFyY2go
cideUmVzdWx0cyBmb3IgSlNDIHN0cmVzcyB0ZXN0czpccj9cblxzKyhcZCspIGZhaWx1cmUnLCBs
b2dUZXh0LCByZS5NVUxUSUxJTkUpCiAgICAgICAgIGlmIG1hdGNoOgotICAgICAgICAgICAgcmV0
dXJuIGludChtYXRjaC5ncm91cCgxKSkKKyAgICAgICAgICAgIGNvdW50ICs9IGludChtYXRjaC5n
cm91cCgxKSkKKworICAgICAgICBtYXRjaCA9IHJlLnNlYXJjaChyJ1Jlc3VsdHMgZm9yIEpTQyB0
ZXN0IGJpbmFyaWVzOlxyP1xuXHMrKFxkKykgZmFpbHVyZScsIGxvZ1RleHQsIHJlLk1VTFRJTElO
RSkKKyAgICAgICAgaWYgbWF0Y2g6CisgICAgICAgICAgICBjb3VudCArPSBpbnQobWF0Y2guZ3Jv
dXAoMSkpCiAKICAgICAgICAgbWF0Y2ggPSByZS5zZWFyY2gocideUmVzdWx0cyBmb3IgTW96aWxs
YSB0ZXN0czpccj9cblxzKyhcZCspIHJlZ3Jlc3Npb24nLCBsb2dUZXh0LCByZS5NVUxUSUxJTkUp
CiAgICAgICAgIGlmIG1hdGNoOgotICAgICAgICAgICAgcmV0dXJuIGludChtYXRjaC5ncm91cCgx
KSkKKyAgICAgICAgICAgIGNvdW50ICs9IGludChtYXRjaC5ncm91cCgxKSkKIAotICAgICAgICBy
ZXR1cm4gMAorICAgICAgICByZXR1cm4gY291bnQKIAogCiBjbGFzcyBSdW5SZW1vdGVKYXZhU2Ny
aXB0Q29yZVRlc3RzKFJ1bkphdmFTY3JpcHRDb3JlVGVzdHMpOgpkaWZmIC0tZ2l0IGEvVG9vbHMv
QnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvc3RlcHNfdW5pdHRlc3Qu
cHkgYi9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9zdGVw
c191bml0dGVzdC5weQppbmRleCA0Zjg3NWQzZWEwZDAzYWMyMmU1NTRiMzU1ZjkwMjIxNDc0NzJl
ODNmLi42NTMxNWJkZTU3ODhkZDU2Njg2MDYxM2IwNzBiOGQ1ODg3NDIxNmJiIDEwMDc1NQotLS0g
YS9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9zdGVwc191
bml0dGVzdC5weQorKysgYi9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3Jn
LWNvbmZpZy9zdGVwc191bml0dGVzdC5weQpAQCAtMTIyLDYgKzEyMiwxOCBAQCBjbGFzcyBSdW5K
YXZhU2NyaXB0Q29yZVRlc3RzVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIHNlbGYu
YXNzZXJ0UmVzdWx0cyhGQUlMVVJFLCBbIjUgSlNDIHRlc3RzIGZhaWxlZCJdLCAxLCAgIiIiUmVz
dWx0cyBmb3IgSlNDIHN0cmVzcyB0ZXN0czoKICAgICA1IGZhaWx1cmVzIGZvdW5kLiIiIikKIAor
ICAgIGRlZiB0ZXN0X2pzY19zdHJlc3NfZmFpbHVyZXNfd2l0aF9iaW5hcnlfcmVzdWx0c19vdXRw
dXQoc2VsZik6CisgICAgICAgIHNlbGYuYXNzZXJ0UmVzdWx0cyhGQUlMVVJFLCBbIjggSlNDIHRl
c3RzIGZhaWxlZCJdLCAxLCAgIiIiUmVzdWx0cyBmb3IgSlNDIHN0cmVzcyB0ZXN0czoKKyAgICA1
IGZhaWx1cmVzIGZvdW5kLgorUmVzdWx0cyBmb3IgSlNDIHRlc3QgYmluYXJpZXM6CisgICAgMyBm
YWlsdXJlcyBmb3VuZC4iIiIpCisKKyAgICBkZWYgdGVzdF9qc2Nfc3RyZXNzX2ZhaWx1cmVzX3dp
dGhfYmluYXJ5X3Jlc3VsdF9vdXRwdXQoc2VsZik6CisgICAgICAgIHNlbGYuYXNzZXJ0UmVzdWx0
cyhGQUlMVVJFLCBbIjYgSlNDIHRlc3RzIGZhaWxlZCJdLCAxLCAgIiIiUmVzdWx0cyBmb3IgSlND
IHN0cmVzcyB0ZXN0czoKKyAgICA1IGZhaWx1cmVzIGZvdW5kLgorUmVzdWx0cyBmb3IgSlNDIHRl
c3QgYmluYXJpZXM6CisgICAgMSBmYWlsdXJlIGZvdW5kLiIiIikKKwogCiBjbGFzcyBSdW5UZXN0
MjYyVGVzdHNUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICBkZWYgYXNzZXJ0UmVzdWx0cyhz
ZWxmLCBleHBlY3RlZF9yZXN1bHQsIGV4cGVjdGVkX3RleHQsIHJjLCBzdGRpbyk6CmRpZmYgLS1n
aXQgYS9Ub29scy9TY3JpcHRzL3J1bi1qYXZhc2NyaXB0Y29yZS10ZXN0cyBiL1Rvb2xzL1Njcmlw
dHMvcnVuLWphdmFzY3JpcHRjb3JlLXRlc3RzCmluZGV4IGNmZTYxYTI3NzQxOGQxOWIwNzY0MGYw
NWRlZWM1N2FmNTQ4Yzk4MGYuLjZmNjNkMWFkNDg0ZDc1YmI1MGMyYWFhNTdjNDcyNTcyNTUzMzU5
YzEgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvcnVuLWphdmFzY3JpcHRjb3JlLXRlc3RzCisr
KyBiL1Rvb2xzL1NjcmlwdHMvcnVuLWphdmFzY3JpcHRjb3JlLXRlc3RzCkBAIC05Miw2ICs5Miw4
IEBAIG15ICRjcmVhdGVUYXJiYWxsID0gMDsKIG15ICRyZW1vdGVIb3N0ID0gMDsKIG15ICRmYWls
RmFzdCA9IDE7CiBteSAlanNvbkRhdGEgPSAoKTsKK215IEB0ZXN0UmVzdWx0cyA9ICgpOworbXkg
JGlzVGVzdEZhaWxlZCA9IDA7CiBteSAkcmVtb3RlQ29uZmlnRmlsZTsKIG15ICRqc29uRmlsZU5h
bWU7CiBteSAkdmVyYm9zZSA9IDA7CkBAIC0zOTgsMTcgKzQwMCwzOSBAQCBzdWIgcnVuVGVzdCB7
CiAgICAgbXkgJGV4aXRTdGF0dXMgPSBleGl0U3RhdHVzKCR0ZXN0UmVzdWx0KTsKICAgICBwcmlu
dCAiJHRlc3ROYW1lIGNvbXBsZXRlZCB3aXRoIHJjPSR0ZXN0UmVzdWx0ICgkZXhpdFN0YXR1cylc
blxuIjsKIAorICAgIG15ICR0ZXN0U3RhdHVzID0gKCRleGl0U3RhdHVzID09IDApPyBKU09OOjpQ
UDo6dHJ1ZTogSlNPTjo6UFA6OmZhbHNlOworICAgIGlmICgkdGVzdFJlc3VsdCkgeworICAgICAg
ICAkaXNUZXN0RmFpbGVkID0gMTsKKyAgICAgICAgcHVzaCBAdGVzdFJlc3VsdHMsICR0ZXN0TmFt
ZTsKKyAgICB9CiAgICAgaWYgKGRlZmluZWQoJGpzb25GaWxlTmFtZSkpIHsKLSAgICAgICAgbXkg
JHRlc3RTdGF0dXMgPSAoJGV4aXRTdGF0dXMgPT0gMCk/IEpTT046OlBQOjp0cnVlOiBKU09OOjpQ
UDo6ZmFsc2U7CiAgICAgICAgICRqc29uRGF0YXskanNvblRlc3RTdGF0dXNOYW1lfSA9ICR0ZXN0
U3RhdHVzOwogICAgIH0KIAogICAgIGlmICgkdGVzdFJlc3VsdCAmJiAkZmFpbEZhc3QpIHsKKyAg
ICAgICAgcmVwb3J0VGVzdEZhaWx1cmVzKCk7CiAgICAgICAgIHdyaXRlSnNvbkRhdGFJZkFwcGxp
Y2FibGUoKTsKICAgICAgICAgZXhpdCBleGl0U3RhdHVzKCR0ZXN0UmVzdWx0KTsKICAgICB9CiB9
CiAKK3N1YiByZXBvcnRUZXN0RmFpbHVyZXMgeworICBteSAkbnVtSlNDdGVzdEZhaWx1cmVzID0g
QHRlc3RSZXN1bHRzOworICBpZiAoJG51bUpTQ3Rlc3RGYWlsdXJlcykgeworICAgICAgcHJpbnQg
IlxuKiogVGhlIGZvbGxvd2luZyBKU0MgdGVzdCBiaW5hcmllcyBmYWlsdXJlcyBoYXZlIGJlZW4g
aW50cm9kdWNlZDpcbiI7CisgICAgICBmb3JlYWNoIG15ICR0ZXN0RmFpbHVyZSAoQHRlc3RSZXN1
bHRzKSB7CisgICAgICAgICAgcHJpbnQgIlx0JHRlc3RGYWlsdXJlXG4iOworICAgICAgfQorICB9
CisgIHByaW50ICJcbiI7CisKKyAgcHJpbnQgIlJlc3VsdHMgZm9yIEpTQyB0ZXN0IGJpbmFyaWVz
OlxuIjsKKyAgcHJpbnRUaGluZ3NGb3VuZCgkbnVtSlNDdGVzdEZhaWx1cmVzLCAiZmFpbHVyZSIs
ICJmYWlsdXJlcyIsICJmb3VuZCIpOworICBwcmludCAiICAgIE9LLlxuIiBpZiAkbnVtSlNDdGVz
dEZhaWx1cmVzID09IDA7CisKKyAgcHJpbnQgIlxuIjsKK30KKwogaWYgKCRydW5UZXN0TWFzbSkg
eyBydW5UZXN0KCJ0ZXN0bWFzbSIsICJhbGxNYXNtVGVzdHNQYXNzZWQiKSB9CiBpZiAoJHJ1blRl
c3RBaXIpIHsgcnVuVGVzdCgidGVzdGFpciIsICJhbGxBaXJUZXN0c1Bhc3NlZCIpIH0KIGlmICgk
cnVuVGVzdEIzKSB7IHJ1blRlc3QoInRlc3RiMyIsICJhbGxCM1Rlc3RzUGFzc2VkIikgfQpAQCAt
NDIwLDYgKzQ0NCwxMSBAQCBpZiAoJHJ1blRlc3RBUEkpIHsgcnVuVGVzdCgidGVzdGFwaSIsICJh
bGxBcGlUZXN0c1Bhc3NlZCIpIH0KIGNoZGlyV2ViS2l0KCk7CiAKIHJ1bkpTQ1N0cmVzc1Rlc3Rz
KCk7CityZXBvcnRUZXN0RmFpbHVyZXMoKTsKKworaWYgKCRpc1Rlc3RGYWlsZWQpIHsKKyAgZXhp
dCgxKTsKK30KIAogc3ViIHJ1bkpTQ1N0cmVzc1Rlc3RzCiB7CkBAIC01NzMsNiArNjAyLDcgQEAg
c3ViIHJ1bkpTQ1N0cmVzc1Rlc3RzCiAgICAgbXkgJG51bUpTQ1N0cmVzc0ZhaWx1cmVzID0gQGpz
Y1N0cmVzc0ZhaWxMaXN0OwogCiAgICAgaWYgKCRudW1KU0NTdHJlc3NGYWlsdXJlcykgeworICAg
ICAgICAkaXNUZXN0RmFpbGVkID0gMTsKICAgICAgICAgcHJpbnQgIlxuKiogVGhlIGZvbGxvd2lu
ZyBKU0Mgc3RyZXNzIHRlc3QgZmFpbHVyZXMgaGF2ZSBiZWVuIGludHJvZHVjZWQ6XG4iOwogICAg
ICAgICBmb3JlYWNoIG15ICR0ZXN0RmFpbHVyZSAoQGpzY1N0cmVzc0ZhaWxMaXN0KSB7CiAgICAg
ICAgICAgICBwcmludCAiXHQkdGVzdEZhaWx1cmVcbiI7CkBAIC01OTEsNyArNjIxLDYgQEAgc3Vi
IHJ1bkpTQ1N0cmVzc1Rlc3RzCiAgICAgfQogCiAgICAgd3JpdGVKc29uRGF0YUlmQXBwbGljYWJs
ZSgpOwotICAgIGV4aXQoMSkgaWYgJG51bUpTQ1N0cmVzc0ZhaWx1cmVzOwogfQogCiBzdWIgcmVh
ZEFsbExpbmVzCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jb25m
aWcvcG9ydHMucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jb25maWcvcG9ydHMu
cHkKaW5kZXggZDdhNzhkOGE1MzA0ZDhjMWE3YzhhNGNjM2YzZDI2ZjI3NWM2MWI0NS4uODQxZDc2
MDNiMzhlMTA1MjEyNDkyMDQyMTgxNGJjYTJjMmZkZjE1MiAxMDA2NDQKLS0tIGEvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9jb21tb24vY29uZmlnL3BvcnRzLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvY29tbW9uL2NvbmZpZy9wb3J0cy5weQpAQCAtMjQzLDMgKzI0MywxNyBAQCBjbGFz
cyBKc2NPbmx5UG9ydChEZXByZWNhdGVkUG9ydCk6CiAgICAgICAgIGNvbW1hbmQgPSBzZWxmLnNj
cmlwdF9zaGVsbF9jb21tYW5kKCJidWlsZC1qc2MiKQogICAgICAgICBjb21tYW5kLmFwcGVuZCgi
LS1qc2Mtb25seSIpCiAgICAgICAgIHJldHVybiBzZWxmLl9hcHBlbmRfYnVpbGRfc3R5bGVfZmxh
Zyhjb21tYW5kLCBidWlsZF9zdHlsZSkKKworIiIiCisgICAgZGVmIHJ1bl9qYXZhc2NyaXB0Y29y
ZV90ZXN0c19jb21tYW5kKHNlbGYsIGJ1aWxkX3N0eWxlPU5vbmUpOgorICAgICAgICBjb21tYW5k
ID0gc2VsZi5zY3JpcHRfc2hlbGxfY29tbWFuZCgicnVuLWphdmFzY3JpcHRjb3JlLXRlc3RzIikK
KyAgICAgICAgY29tbWFuZC5hcHBlbmQoIi0tbm8tZmFpbC1mYXN0IikKKyAgICAgICAgY29tbWFu
ZC5hcHBlbmQoIi0tbm8tdGVzdG1hc20iKQorICAgICAgICBjb21tYW5kLmFwcGVuZCgiLS1uby10
ZXN0YWlyIikKKyAgICAgICAgY29tbWFuZC5hcHBlbmQoIi0tbm8tdGVzdGIzIikKKyAgICAgICAg
Y29tbWFuZC5hcHBlbmQoIi0tbm8tdGVzdGRmZyIpCisgICAgICAgIGNvbW1hbmQuYXBwZW5kKCIt
LW5vLXRlc3RhcGkiKQorICAgICAgICBpZiAnSlNDVEVTVFNfT1BUSU9OUycgaW4gb3MuZW52aXJv
bjoKKyAgICAgICAgICAgIGNvbW1hbmQgKz0gb3MuZW52aXJvblsnSlNDVEVTVFNfT1BUSU9OUydd
LnNwbGl0KCkKKyAgICAgICAgcmV0dXJuIHNlbGYuX2FwcGVuZF9idWlsZF9zdHlsZV9mbGFnKGNv
bW1hbmQsIGJ1aWxkX3N0eWxlKQorIiIiCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2NvbW1vbi9jb25maWcvcG9ydHNfdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2NvbW1vbi9jb25maWcvcG9ydHNfdW5pdHRlc3QucHkKaW5kZXggNjcyNTFmZWU5ZWM5MjA0
MWZmNjlhYjk5Y2QzNTc3YTNjZmQ1YjE5ZC4uNDMzNjMyMjZkMmFiMTUyMzU2OWYzOGFlMDI3MTZm
OWVhMTBlZmNhMiAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY29u
ZmlnL3BvcnRzX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9u
L2NvbmZpZy9wb3J0c191bml0dGVzdC5weQpAQCAtNjcsMyArNjcsNCBAQCBjbGFzcyBEZXByZWNh
dGVkUG9ydFRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBzZWxmLmFzc2VydEVxdWFs
KEpzY09ubHlQb3J0KCkuYnVpbGRfanNjX2NvbW1hbmQoKSwgRGVwcmVjYXRlZFBvcnQoKS5zY3Jp
cHRfc2hlbGxfY29tbWFuZCgiYnVpbGQtanNjIikgKyBbIi0tanNjLW9ubHkiXSkKICAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbChKc2NPbmx5UG9ydCgpLmJ1aWxkX2pzY19jb21tYW5kKGJ1aWxkX3N0
eWxlPSJyZWxlYXNlIiksIERlcHJlY2F0ZWRQb3J0KCkuc2NyaXB0X3NoZWxsX2NvbW1hbmQoImJ1
aWxkLWpzYyIpICsgWyItLWpzYy1vbmx5IiwgIi0tcmVsZWFzZSJdKQogICAgICAgICBzZWxmLmFz
c2VydEVxdWFsKEpzY09ubHlQb3J0KCkuYnVpbGRfanNjX2NvbW1hbmQoYnVpbGRfc3R5bGU9ImRl
YnVnIiksIERlcHJlY2F0ZWRQb3J0KCkuc2NyaXB0X3NoZWxsX2NvbW1hbmQoImJ1aWxkLWpzYyIp
ICsgWyItLWpzYy1vbmx5IiwgIi0tZGVidWciXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChK
c2NPbmx5UG9ydCgpLnJ1bl9qYXZhc2NyaXB0Y29yZV90ZXN0c19jb21tYW5kKGJ1aWxkX3N0eWxl
PSJkZWJ1ZyIpLCBEZXByZWNhdGVkUG9ydCgpLnNjcmlwdF9zaGVsbF9jb21tYW5kKCJydW4tamF2
YXNjcmlwdGNvcmUtdGVzdHMiKSArIFsnLS1uby1mYWlsLWZhc3QnLCAnLS1uby10ZXN0bWFzbScs
ICctLW5vLXRlc3RhaXInLCAnLS1uby10ZXN0YjMnLCAnLS1uby10ZXN0ZGZnJywgJy0tbm8tdGVz
dGFwaScsICctLWRlYnVnJ10pCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>374627</attachid>
            <date>2019-07-22 13:58:09 -0700</date>
            <delta_ts>2019-07-23 11:56:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199489-20190722135808.patch</filename>
            <type>text/plain</type>
            <size>9163</size>
            <attacher name="Zhifei Fang">zhifei_fang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3NTUyCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMTg1NGQ3YzE5MjY3NmViMGYxZjUwNmVjMWVjNmJkNTdl
NzJlNjhlZC4uMmE3Y2FjODk5YzZkY2IwZGIwNGI1NmE0ZTA3MjI2YzIzNjNkZjBhZiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1
IEBACisyMDE5LTA3LTIyICBaaGlmZWkgRmFuZyAgPHpoaWZlaV9mYW5nQGFwcGxlLmNvbT4KKwor
ICAgICAgICBydW4tamF2YXNjcmlwdGNvcmUtdGVzdHMgd29uJ3QgcmVwb3J0IHRlc3QgcmVzdWx0
cyBmb3IgdGVzdG1hc20sIHRlc3RhaXIsIHRlc3RiMywgdGVzdGRmZyBhbmQgdGVzdCBhcGkKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5OTQ4OQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQnVpbGRTbGF2
ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvc3RlcHMucHk6CisgICAgICAgIChSdW5K
YXZhU2NyaXB0Q29yZVRlc3RzLnN0YXJ0KToKKyAgICAgICAgKFJ1bkphdmFTY3JpcHRDb3JlVGVz
dHMuY291bnRGYWlsdXJlcyk6CisgICAgICAgICogQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Vi
a2l0Lm9yZy1jb25maWcvc3RlcHNfdW5pdHRlc3QucHk6CisgICAgICAgICogU2NyaXB0cy9ydW4t
amF2YXNjcmlwdGNvcmUtdGVzdHM6CisgICAgICAgIChydW5UZXN0KToKKyAgICAgICAgKHJlcG9y
dFRlc3RGYWlsdXJlcyk6CisgICAgICAgIChydW5KU0NTdHJlc3NUZXN0cyk6CisgICAgICAgICog
U2NyaXB0cy93ZWJraXRweS9jb21tb24vY29uZmlnL3BvcnRzLnB5OgorICAgICAgICAoSnNjT25s
eVBvcnQuYnVpbGRfanNjX2NvbW1hbmQpOgorICAgICAgICAoSnNjT25seVBvcnQpOgorICAgICAg
ICAoSnNjT25seVBvcnQucnVuX2phdmFzY3JpcHRjb3JlX3Rlc3RzX2NvbW1hbmQpOgorICAgICAg
ICAqIFNjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NvbmZpZy9wb3J0c191bml0dGVzdC5weToKKyAg
ICAgICAgKERlcHJlY2F0ZWRQb3J0VGVzdC50ZXN0X2pzY29ubHlfcG9ydCk6CisKIDIwMTktMDct
MTcgIENhcmxvcyBBbGJlcnRvIExvcGV6IFBlcmV6ICA8Y2xvcGV6QGlnYWxpYS5jb20+CiAKICAg
ICAgICAgW0dUS11bV1BFXVt3ZWJraXRweV0gUmVmYWN0b3IgZHJpdmVycyB0byB1c2UgdGhlIGJh
c2UgZHJpdmVyIGZvciBzZXR0aW5nIHVwIHRoZSBlbnZpcm9ubWVudCBhbmQgc3RhcnQgdGhlIGRy
aXZlcnMuCmRpZmYgLS1naXQgYS9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQu
b3JnLWNvbmZpZy9zdGVwcy5weSBiL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtp
dC5vcmctY29uZmlnL3N0ZXBzLnB5CmluZGV4IGMyN2QyNjJkZjljOWU4ZTdmYmYxNzRhZjQxZTc0
NDlhZjYwNzU1ZTYuLmE2MDVhZjJiYTIyMzk3MTJhZDg1MGM4MGJiYTdlODQyNWM4YTNiNTcgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmln
L3N0ZXBzLnB5CisrKyBiL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmct
Y29uZmlnL3N0ZXBzLnB5CkBAIC0zMzEsNiArMzMxLDEwIEBAIGNsYXNzIFJ1bkphdmFTY3JpcHRD
b3JlVGVzdHMoVGVzdFdpdGhGYWlsdXJlQ291bnQpOgogCiAgICAgZGVmIHN0YXJ0KHNlbGYpOgog
ICAgICAgICBwbGF0Zm9ybSA9IHNlbGYuZ2V0UHJvcGVydHkoJ3BsYXRmb3JtJykKKyAgICAgICAg
YXJjaGl0ZWN0dXJlID0gc2VsZi5nZXRQcm9wZXJ0eSgiYXJjaGl0ZWN0dXJlIikKKyAgICAgICAg
IyBDdXJyZW50bHkgcnVuLWphdmFzY3JpcHRjb3JlLXRlc3QgZG9lc24ndCBzdXBwb3J0IHJ1biB0
aG9zZSBiaW5hcmllcyByZW1vdGVseQorICAgICAgICBpZiBhcmNoaXRlY3R1cmUgaW4gWydtaXBz
JywgJ2FybXY3JywgJ2FhcmNoNjQnXToKKyAgICAgICAgICAgIHNlbGYuY29tbWFuZCArPSBbJy0t
bm8tdGVzdG1hc20nLCAnLS1uby10ZXN0YWlyJywgJy0tbm8tdGVzdGIzJywgJy0tbm8tdGVzdGRm
ZycsICctLW5vLXRlc3RhcGknXQogICAgICAgICAjIExpbnV4IGJvdHMgaGF2ZSBjdXJyZW50bHkg
cHJvYmxlbXMgd2l0aCBKU0MgdGVzdHMgdGhhdCB0cnkgdG8gdXNlIGxhcmdlIGFtb3VudHMgb2Yg
bWVtb3J5LgogICAgICAgICAjIENoZWNrOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTc1MTQwCiAgICAgICAgIGlmIHBsYXRmb3JtIGluICgnZ3RrJywgJ3dwZScpOgpA
QCAtMzQ0LDE2ICszNDgsMjEgQEAgY2xhc3MgUnVuSmF2YVNjcmlwdENvcmVUZXN0cyhUZXN0V2l0
aEZhaWx1cmVDb3VudCk6CiAKICAgICBkZWYgY291bnRGYWlsdXJlcyhzZWxmLCBjbWQpOgogICAg
ICAgICBsb2dUZXh0ID0gY21kLmxvZ3NbJ3N0ZGlvJ10uZ2V0VGV4dCgpCisgICAgICAgIGNvdW50
ID0gMAogCiAgICAgICAgIG1hdGNoID0gcmUuc2VhcmNoKHInXlJlc3VsdHMgZm9yIEpTQyBzdHJl
c3MgdGVzdHM6XHI/XG5ccysoXGQrKSBmYWlsdXJlJywgbG9nVGV4dCwgcmUuTVVMVElMSU5FKQog
ICAgICAgICBpZiBtYXRjaDoKLSAgICAgICAgICAgIHJldHVybiBpbnQobWF0Y2guZ3JvdXAoMSkp
CisgICAgICAgICAgICBjb3VudCArPSBpbnQobWF0Y2guZ3JvdXAoMSkpCisKKyAgICAgICAgbWF0
Y2ggPSByZS5zZWFyY2gocidSZXN1bHRzIGZvciBKU0MgdGVzdCBiaW5hcmllczpccj9cblxzKyhc
ZCspIGZhaWx1cmUnLCBsb2dUZXh0LCByZS5NVUxUSUxJTkUpCisgICAgICAgIGlmIG1hdGNoOgor
ICAgICAgICAgICAgY291bnQgKz0gaW50KG1hdGNoLmdyb3VwKDEpKQogCiAgICAgICAgIG1hdGNo
ID0gcmUuc2VhcmNoKHInXlJlc3VsdHMgZm9yIE1vemlsbGEgdGVzdHM6XHI/XG5ccysoXGQrKSBy
ZWdyZXNzaW9uJywgbG9nVGV4dCwgcmUuTVVMVElMSU5FKQogICAgICAgICBpZiBtYXRjaDoKLSAg
ICAgICAgICAgIHJldHVybiBpbnQobWF0Y2guZ3JvdXAoMSkpCisgICAgICAgICAgICBjb3VudCAr
PSBpbnQobWF0Y2guZ3JvdXAoMSkpCiAKLSAgICAgICAgcmV0dXJuIDAKKyAgICAgICAgcmV0dXJu
IGNvdW50CiAKIAogY2xhc3MgUnVuUmVtb3RlSmF2YVNjcmlwdENvcmVUZXN0cyhSdW5KYXZhU2Ny
aXB0Q29yZVRlc3RzKToKZGlmZiAtLWdpdCBhL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxk
LndlYmtpdC5vcmctY29uZmlnL3N0ZXBzX3VuaXR0ZXN0LnB5IGIvVG9vbHMvQnVpbGRTbGF2ZVN1
cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvc3RlcHNfdW5pdHRlc3QucHkKaW5kZXggNGY4
NzVkM2VhMGQwM2FjMjJlNTU0YjM1NWY5MDIyMTQ3NDcyZTgzZi4uNjUzMTViZGU1Nzg4ZGQ1NjY4
NjA2MTNiMDcwYjhkNTg4NzQyMTZiYiAxMDA3NTUKLS0tIGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBv
cnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvc3RlcHNfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMv
QnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvc3RlcHNfdW5pdHRlc3Qu
cHkKQEAgLTEyMiw2ICsxMjIsMTggQEAgY2xhc3MgUnVuSmF2YVNjcmlwdENvcmVUZXN0c1Rlc3Qo
dW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBzZWxmLmFzc2VydFJlc3VsdHMoRkFJTFVSRSwg
WyI1IEpTQyB0ZXN0cyBmYWlsZWQiXSwgMSwgICIiIlJlc3VsdHMgZm9yIEpTQyBzdHJlc3MgdGVz
dHM6CiAgICAgNSBmYWlsdXJlcyBmb3VuZC4iIiIpCiAKKyAgICBkZWYgdGVzdF9qc2Nfc3RyZXNz
X2ZhaWx1cmVzX3dpdGhfYmluYXJ5X3Jlc3VsdHNfb3V0cHV0KHNlbGYpOgorICAgICAgICBzZWxm
LmFzc2VydFJlc3VsdHMoRkFJTFVSRSwgWyI4IEpTQyB0ZXN0cyBmYWlsZWQiXSwgMSwgICIiIlJl
c3VsdHMgZm9yIEpTQyBzdHJlc3MgdGVzdHM6CisgICAgNSBmYWlsdXJlcyBmb3VuZC4KK1Jlc3Vs
dHMgZm9yIEpTQyB0ZXN0IGJpbmFyaWVzOgorICAgIDMgZmFpbHVyZXMgZm91bmQuIiIiKQorCisg
ICAgZGVmIHRlc3RfanNjX3N0cmVzc19mYWlsdXJlc193aXRoX2JpbmFyeV9yZXN1bHRfb3V0cHV0
KHNlbGYpOgorICAgICAgICBzZWxmLmFzc2VydFJlc3VsdHMoRkFJTFVSRSwgWyI2IEpTQyB0ZXN0
cyBmYWlsZWQiXSwgMSwgICIiIlJlc3VsdHMgZm9yIEpTQyBzdHJlc3MgdGVzdHM6CisgICAgNSBm
YWlsdXJlcyBmb3VuZC4KK1Jlc3VsdHMgZm9yIEpTQyB0ZXN0IGJpbmFyaWVzOgorICAgIDEgZmFp
bHVyZSBmb3VuZC4iIiIpCisKIAogY2xhc3MgUnVuVGVzdDI2MlRlc3RzVGVzdCh1bml0dGVzdC5U
ZXN0Q2FzZSk6CiAgICAgZGVmIGFzc2VydFJlc3VsdHMoc2VsZiwgZXhwZWN0ZWRfcmVzdWx0LCBl
eHBlY3RlZF90ZXh0LCByYywgc3RkaW8pOgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9ydW4t
amF2YXNjcmlwdGNvcmUtdGVzdHMgYi9Ub29scy9TY3JpcHRzL3J1bi1qYXZhc2NyaXB0Y29yZS10
ZXN0cwppbmRleCBjZmU2MWEyNzc0MThkMTliMDc2NDBmMDVkZWVjNTdhZjU0OGM5ODBmLi42ZjYz
ZDFhZDQ4NGQ3NWJiNTBjMmFhYTU3YzQ3MjU3MjU1MzM1OWMxIDEwMDc1NQotLS0gYS9Ub29scy9T
Y3JpcHRzL3J1bi1qYXZhc2NyaXB0Y29yZS10ZXN0cworKysgYi9Ub29scy9TY3JpcHRzL3J1bi1q
YXZhc2NyaXB0Y29yZS10ZXN0cwpAQCAtOTIsNiArOTIsOCBAQCBteSAkY3JlYXRlVGFyYmFsbCA9
IDA7CiBteSAkcmVtb3RlSG9zdCA9IDA7CiBteSAkZmFpbEZhc3QgPSAxOwogbXkgJWpzb25EYXRh
ID0gKCk7CitteSBAdGVzdFJlc3VsdHMgPSAoKTsKK215ICRpc1Rlc3RGYWlsZWQgPSAwOwogbXkg
JHJlbW90ZUNvbmZpZ0ZpbGU7CiBteSAkanNvbkZpbGVOYW1lOwogbXkgJHZlcmJvc2UgPSAwOwpA
QCAtMzk4LDE3ICs0MDAsMzkgQEAgc3ViIHJ1blRlc3QgewogICAgIG15ICRleGl0U3RhdHVzID0g
ZXhpdFN0YXR1cygkdGVzdFJlc3VsdCk7CiAgICAgcHJpbnQgIiR0ZXN0TmFtZSBjb21wbGV0ZWQg
d2l0aCByYz0kdGVzdFJlc3VsdCAoJGV4aXRTdGF0dXMpXG5cbiI7CiAKKyAgICBteSAkdGVzdFN0
YXR1cyA9ICgkZXhpdFN0YXR1cyA9PSAwKT8gSlNPTjo6UFA6OnRydWU6IEpTT046OlBQOjpmYWxz
ZTsKKyAgICBpZiAoJHRlc3RSZXN1bHQpIHsKKyAgICAgICAgJGlzVGVzdEZhaWxlZCA9IDE7Cisg
ICAgICAgIHB1c2ggQHRlc3RSZXN1bHRzLCAkdGVzdE5hbWU7CisgICAgfQogICAgIGlmIChkZWZp
bmVkKCRqc29uRmlsZU5hbWUpKSB7Ci0gICAgICAgIG15ICR0ZXN0U3RhdHVzID0gKCRleGl0U3Rh
dHVzID09IDApPyBKU09OOjpQUDo6dHJ1ZTogSlNPTjo6UFA6OmZhbHNlOwogICAgICAgICAkanNv
bkRhdGF7JGpzb25UZXN0U3RhdHVzTmFtZX0gPSAkdGVzdFN0YXR1czsKICAgICB9CiAKICAgICBp
ZiAoJHRlc3RSZXN1bHQgJiYgJGZhaWxGYXN0KSB7CisgICAgICAgIHJlcG9ydFRlc3RGYWlsdXJl
cygpOwogICAgICAgICB3cml0ZUpzb25EYXRhSWZBcHBsaWNhYmxlKCk7CiAgICAgICAgIGV4aXQg
ZXhpdFN0YXR1cygkdGVzdFJlc3VsdCk7CiAgICAgfQogfQogCitzdWIgcmVwb3J0VGVzdEZhaWx1
cmVzIHsKKyAgbXkgJG51bUpTQ3Rlc3RGYWlsdXJlcyA9IEB0ZXN0UmVzdWx0czsKKyAgaWYgKCRu
dW1KU0N0ZXN0RmFpbHVyZXMpIHsKKyAgICAgIHByaW50ICJcbioqIFRoZSBmb2xsb3dpbmcgSlND
IHRlc3QgYmluYXJpZXMgZmFpbHVyZXMgaGF2ZSBiZWVuIGludHJvZHVjZWQ6XG4iOworICAgICAg
Zm9yZWFjaCBteSAkdGVzdEZhaWx1cmUgKEB0ZXN0UmVzdWx0cykgeworICAgICAgICAgIHByaW50
ICJcdCR0ZXN0RmFpbHVyZVxuIjsKKyAgICAgIH0KKyAgfQorICBwcmludCAiXG4iOworCisgIHBy
aW50ICJSZXN1bHRzIGZvciBKU0MgdGVzdCBiaW5hcmllczpcbiI7CisgIHByaW50VGhpbmdzRm91
bmQoJG51bUpTQ3Rlc3RGYWlsdXJlcywgImZhaWx1cmUiLCAiZmFpbHVyZXMiLCAiZm91bmQiKTsK
KyAgcHJpbnQgIiAgICBPSy5cbiIgaWYgJG51bUpTQ3Rlc3RGYWlsdXJlcyA9PSAwOworCisgIHBy
aW50ICJcbiI7Cit9CisKIGlmICgkcnVuVGVzdE1hc20pIHsgcnVuVGVzdCgidGVzdG1hc20iLCAi
YWxsTWFzbVRlc3RzUGFzc2VkIikgfQogaWYgKCRydW5UZXN0QWlyKSB7IHJ1blRlc3QoInRlc3Rh
aXIiLCAiYWxsQWlyVGVzdHNQYXNzZWQiKSB9CiBpZiAoJHJ1blRlc3RCMykgeyBydW5UZXN0KCJ0
ZXN0YjMiLCAiYWxsQjNUZXN0c1Bhc3NlZCIpIH0KQEAgLTQyMCw2ICs0NDQsMTEgQEAgaWYgKCRy
dW5UZXN0QVBJKSB7IHJ1blRlc3QoInRlc3RhcGkiLCAiYWxsQXBpVGVzdHNQYXNzZWQiKSB9CiBj
aGRpcldlYktpdCgpOwogCiBydW5KU0NTdHJlc3NUZXN0cygpOworcmVwb3J0VGVzdEZhaWx1cmVz
KCk7CisKK2lmICgkaXNUZXN0RmFpbGVkKSB7CisgIGV4aXQoMSk7Cit9CiAKIHN1YiBydW5KU0NT
dHJlc3NUZXN0cwogewpAQCAtNTczLDYgKzYwMiw3IEBAIHN1YiBydW5KU0NTdHJlc3NUZXN0cwog
ICAgIG15ICRudW1KU0NTdHJlc3NGYWlsdXJlcyA9IEBqc2NTdHJlc3NGYWlsTGlzdDsKIAogICAg
IGlmICgkbnVtSlNDU3RyZXNzRmFpbHVyZXMpIHsKKyAgICAgICAgJGlzVGVzdEZhaWxlZCA9IDE7
CiAgICAgICAgIHByaW50ICJcbioqIFRoZSBmb2xsb3dpbmcgSlNDIHN0cmVzcyB0ZXN0IGZhaWx1
cmVzIGhhdmUgYmVlbiBpbnRyb2R1Y2VkOlxuIjsKICAgICAgICAgZm9yZWFjaCBteSAkdGVzdEZh
aWx1cmUgKEBqc2NTdHJlc3NGYWlsTGlzdCkgewogICAgICAgICAgICAgcHJpbnQgIlx0JHRlc3RG
YWlsdXJlXG4iOwpAQCAtNTkxLDcgKzYyMSw2IEBAIHN1YiBydW5KU0NTdHJlc3NUZXN0cwogICAg
IH0KIAogICAgIHdyaXRlSnNvbkRhdGFJZkFwcGxpY2FibGUoKTsKLSAgICBleGl0KDEpIGlmICRu
dW1KU0NTdHJlc3NGYWlsdXJlczsKIH0KIAogc3ViIHJlYWRBbGxMaW5lcwpkaWZmIC0tZ2l0IGEv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY29uZmlnL3BvcnRzLnB5IGIvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9jb21tb24vY29uZmlnL3BvcnRzLnB5CmluZGV4IGQ3YTc4ZDhhNTMwNGQ4
YzFhN2M4YTRjYzNmM2QyNmYyNzVjNjFiNDUuLjY2MDc5ZDZjYzU3MjI2MDg5MzUzZjJmMGZlZWQ0
MzQ4MjRhMzU0MzIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2Nv
bmZpZy9wb3J0cy5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jb25maWcv
cG9ydHMucHkKQEAgLTI0MywzICsyNDMsMTUgQEAgY2xhc3MgSnNjT25seVBvcnQoRGVwcmVjYXRl
ZFBvcnQpOgogICAgICAgICBjb21tYW5kID0gc2VsZi5zY3JpcHRfc2hlbGxfY29tbWFuZCgiYnVp
bGQtanNjIikKICAgICAgICAgY29tbWFuZC5hcHBlbmQoIi0tanNjLW9ubHkiKQogICAgICAgICBy
ZXR1cm4gc2VsZi5fYXBwZW5kX2J1aWxkX3N0eWxlX2ZsYWcoY29tbWFuZCwgYnVpbGRfc3R5bGUp
CisKKyAgICBkZWYgcnVuX2phdmFzY3JpcHRjb3JlX3Rlc3RzX2NvbW1hbmQoc2VsZiwgYnVpbGRf
c3R5bGU9Tm9uZSk6CisgICAgICAgIGNvbW1hbmQgPSBzZWxmLnNjcmlwdF9zaGVsbF9jb21tYW5k
KCJydW4tamF2YXNjcmlwdGNvcmUtdGVzdHMiKQorICAgICAgICBjb21tYW5kLmFwcGVuZCgiLS1u
by1mYWlsLWZhc3QiKQorICAgICAgICBjb21tYW5kLmFwcGVuZCgiLS1uby10ZXN0bWFzbSIpCisg
ICAgICAgIGNvbW1hbmQuYXBwZW5kKCItLW5vLXRlc3RhaXIiKQorICAgICAgICBjb21tYW5kLmFw
cGVuZCgiLS1uby10ZXN0YjMiKQorICAgICAgICBjb21tYW5kLmFwcGVuZCgiLS1uby10ZXN0ZGZn
IikKKyAgICAgICAgY29tbWFuZC5hcHBlbmQoIi0tbm8tdGVzdGFwaSIpCisgICAgICAgIGlmICdK
U0NURVNUU19PUFRJT05TJyBpbiBvcy5lbnZpcm9uOgorICAgICAgICAgICAgY29tbWFuZCArPSBv
cy5lbnZpcm9uWydKU0NURVNUU19PUFRJT05TJ10uc3BsaXQoKQorICAgICAgICByZXR1cm4gc2Vs
Zi5fYXBwZW5kX2J1aWxkX3N0eWxlX2ZsYWcoY29tbWFuZCwgYnVpbGRfc3R5bGUpCmRpZmYgLS1n
aXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jb25maWcvcG9ydHNfdW5pdHRlc3Qu
cHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jb25maWcvcG9ydHNfdW5pdHRlc3Qu
cHkKaW5kZXggNjcyNTFmZWU5ZWM5MjA0MWZmNjlhYjk5Y2QzNTc3YTNjZmQ1YjE5ZC4uNDMzNjMy
MjZkMmFiMTUyMzU2OWYzOGFlMDI3MTZmOWVhMTBlZmNhMiAxMDA2NDQKLS0tIGEvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9jb21tb24vY29uZmlnL3BvcnRzX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NvbmZpZy9wb3J0c191bml0dGVzdC5weQpAQCAtNjcs
MyArNjcsNCBAQCBjbGFzcyBEZXByZWNhdGVkUG9ydFRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgog
ICAgICAgICBzZWxmLmFzc2VydEVxdWFsKEpzY09ubHlQb3J0KCkuYnVpbGRfanNjX2NvbW1hbmQo
KSwgRGVwcmVjYXRlZFBvcnQoKS5zY3JpcHRfc2hlbGxfY29tbWFuZCgiYnVpbGQtanNjIikgKyBb
Ii0tanNjLW9ubHkiXSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChKc2NPbmx5UG9ydCgpLmJ1
aWxkX2pzY19jb21tYW5kKGJ1aWxkX3N0eWxlPSJyZWxlYXNlIiksIERlcHJlY2F0ZWRQb3J0KCku
c2NyaXB0X3NoZWxsX2NvbW1hbmQoImJ1aWxkLWpzYyIpICsgWyItLWpzYy1vbmx5IiwgIi0tcmVs
ZWFzZSJdKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKEpzY09ubHlQb3J0KCkuYnVpbGRfanNj
X2NvbW1hbmQoYnVpbGRfc3R5bGU9ImRlYnVnIiksIERlcHJlY2F0ZWRQb3J0KCkuc2NyaXB0X3No
ZWxsX2NvbW1hbmQoImJ1aWxkLWpzYyIpICsgWyItLWpzYy1vbmx5IiwgIi0tZGVidWciXSkKKyAg
ICAgICAgc2VsZi5hc3NlcnRFcXVhbChKc2NPbmx5UG9ydCgpLnJ1bl9qYXZhc2NyaXB0Y29yZV90
ZXN0c19jb21tYW5kKGJ1aWxkX3N0eWxlPSJkZWJ1ZyIpLCBEZXByZWNhdGVkUG9ydCgpLnNjcmlw
dF9zaGVsbF9jb21tYW5kKCJydW4tamF2YXNjcmlwdGNvcmUtdGVzdHMiKSArIFsnLS1uby1mYWls
LWZhc3QnLCAnLS1uby10ZXN0bWFzbScsICctLW5vLXRlc3RhaXInLCAnLS1uby10ZXN0YjMnLCAn
LS1uby10ZXN0ZGZnJywgJy0tbm8tdGVzdGFwaScsICctLWRlYnVnJ10pCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>374690</attachid>
            <date>2019-07-23 11:56:12 -0700</date>
            <delta_ts>2019-07-23 17:22:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199489-20190723115612.patch</filename>
            <type>text/plain</type>
            <size>9901</size>
            <attacher name="Zhifei Fang">zhifei_fang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3NTUyCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMTg1NGQ3YzE5MjY3NmViMGYxZjUwNmVjMWVjNmJkNTdl
NzJlNjhlZC4uMmE3Y2FjODk5YzZkY2IwZGIwNGI1NmE0ZTA3MjI2YzIzNjNkZjBhZiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1
IEBACisyMDE5LTA3LTIyICBaaGlmZWkgRmFuZyAgPHpoaWZlaV9mYW5nQGFwcGxlLmNvbT4KKwor
ICAgICAgICBydW4tamF2YXNjcmlwdGNvcmUtdGVzdHMgd29uJ3QgcmVwb3J0IHRlc3QgcmVzdWx0
cyBmb3IgdGVzdG1hc20sIHRlc3RhaXIsIHRlc3RiMywgdGVzdGRmZyBhbmQgdGVzdCBhcGkKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5OTQ4OQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQnVpbGRTbGF2
ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvc3RlcHMucHk6CisgICAgICAgIChSdW5K
YXZhU2NyaXB0Q29yZVRlc3RzLnN0YXJ0KToKKyAgICAgICAgKFJ1bkphdmFTY3JpcHRDb3JlVGVz
dHMuY291bnRGYWlsdXJlcyk6CisgICAgICAgICogQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Vi
a2l0Lm9yZy1jb25maWcvc3RlcHNfdW5pdHRlc3QucHk6CisgICAgICAgICogU2NyaXB0cy9ydW4t
amF2YXNjcmlwdGNvcmUtdGVzdHM6CisgICAgICAgIChydW5UZXN0KToKKyAgICAgICAgKHJlcG9y
dFRlc3RGYWlsdXJlcyk6CisgICAgICAgIChydW5KU0NTdHJlc3NUZXN0cyk6CisgICAgICAgICog
U2NyaXB0cy93ZWJraXRweS9jb21tb24vY29uZmlnL3BvcnRzLnB5OgorICAgICAgICAoSnNjT25s
eVBvcnQuYnVpbGRfanNjX2NvbW1hbmQpOgorICAgICAgICAoSnNjT25seVBvcnQpOgorICAgICAg
ICAoSnNjT25seVBvcnQucnVuX2phdmFzY3JpcHRjb3JlX3Rlc3RzX2NvbW1hbmQpOgorICAgICAg
ICAqIFNjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NvbmZpZy9wb3J0c191bml0dGVzdC5weToKKyAg
ICAgICAgKERlcHJlY2F0ZWRQb3J0VGVzdC50ZXN0X2pzY29ubHlfcG9ydCk6CisKIDIwMTktMDct
MTcgIENhcmxvcyBBbGJlcnRvIExvcGV6IFBlcmV6ICA8Y2xvcGV6QGlnYWxpYS5jb20+CiAKICAg
ICAgICAgW0dUS11bV1BFXVt3ZWJraXRweV0gUmVmYWN0b3IgZHJpdmVycyB0byB1c2UgdGhlIGJh
c2UgZHJpdmVyIGZvciBzZXR0aW5nIHVwIHRoZSBlbnZpcm9ubWVudCBhbmQgc3RhcnQgdGhlIGRy
aXZlcnMuCmRpZmYgLS1naXQgYS9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQu
b3JnLWNvbmZpZy9zdGVwcy5weSBiL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtp
dC5vcmctY29uZmlnL3N0ZXBzLnB5CmluZGV4IGMyN2QyNjJkZjljOWU4ZTdmYmYxNzRhZjQxZTc0
NDlhZjYwNzU1ZTYuLmE2MDVhZjJiYTIyMzk3MTJhZDg1MGM4MGJiYTdlODQyNWM4YTNiNTcgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmln
L3N0ZXBzLnB5CisrKyBiL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmct
Y29uZmlnL3N0ZXBzLnB5CkBAIC0zMzEsNiArMzMxLDEwIEBAIGNsYXNzIFJ1bkphdmFTY3JpcHRD
b3JlVGVzdHMoVGVzdFdpdGhGYWlsdXJlQ291bnQpOgogCiAgICAgZGVmIHN0YXJ0KHNlbGYpOgog
ICAgICAgICBwbGF0Zm9ybSA9IHNlbGYuZ2V0UHJvcGVydHkoJ3BsYXRmb3JtJykKKyAgICAgICAg
YXJjaGl0ZWN0dXJlID0gc2VsZi5nZXRQcm9wZXJ0eSgiYXJjaGl0ZWN0dXJlIikKKyAgICAgICAg
IyBDdXJyZW50bHkgcnVuLWphdmFzY3JpcHRjb3JlLXRlc3QgZG9lc24ndCBzdXBwb3J0IHJ1biB0
aG9zZSBiaW5hcmllcyByZW1vdGVseQorICAgICAgICBpZiBhcmNoaXRlY3R1cmUgaW4gWydtaXBz
JywgJ2FybXY3JywgJ2FhcmNoNjQnXToKKyAgICAgICAgICAgIHNlbGYuY29tbWFuZCArPSBbJy0t
bm8tdGVzdG1hc20nLCAnLS1uby10ZXN0YWlyJywgJy0tbm8tdGVzdGIzJywgJy0tbm8tdGVzdGRm
ZycsICctLW5vLXRlc3RhcGknXQogICAgICAgICAjIExpbnV4IGJvdHMgaGF2ZSBjdXJyZW50bHkg
cHJvYmxlbXMgd2l0aCBKU0MgdGVzdHMgdGhhdCB0cnkgdG8gdXNlIGxhcmdlIGFtb3VudHMgb2Yg
bWVtb3J5LgogICAgICAgICAjIENoZWNrOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTc1MTQwCiAgICAgICAgIGlmIHBsYXRmb3JtIGluICgnZ3RrJywgJ3dwZScpOgpA
QCAtMzQ0LDE2ICszNDgsMjEgQEAgY2xhc3MgUnVuSmF2YVNjcmlwdENvcmVUZXN0cyhUZXN0V2l0
aEZhaWx1cmVDb3VudCk6CiAKICAgICBkZWYgY291bnRGYWlsdXJlcyhzZWxmLCBjbWQpOgogICAg
ICAgICBsb2dUZXh0ID0gY21kLmxvZ3NbJ3N0ZGlvJ10uZ2V0VGV4dCgpCisgICAgICAgIGNvdW50
ID0gMAogCiAgICAgICAgIG1hdGNoID0gcmUuc2VhcmNoKHInXlJlc3VsdHMgZm9yIEpTQyBzdHJl
c3MgdGVzdHM6XHI/XG5ccysoXGQrKSBmYWlsdXJlJywgbG9nVGV4dCwgcmUuTVVMVElMSU5FKQog
ICAgICAgICBpZiBtYXRjaDoKLSAgICAgICAgICAgIHJldHVybiBpbnQobWF0Y2guZ3JvdXAoMSkp
CisgICAgICAgICAgICBjb3VudCArPSBpbnQobWF0Y2guZ3JvdXAoMSkpCisKKyAgICAgICAgbWF0
Y2ggPSByZS5zZWFyY2gocidSZXN1bHRzIGZvciBKU0MgdGVzdCBiaW5hcmllczpccj9cblxzKyhc
ZCspIGZhaWx1cmUnLCBsb2dUZXh0LCByZS5NVUxUSUxJTkUpCisgICAgICAgIGlmIG1hdGNoOgor
ICAgICAgICAgICAgY291bnQgKz0gaW50KG1hdGNoLmdyb3VwKDEpKQogCiAgICAgICAgIG1hdGNo
ID0gcmUuc2VhcmNoKHInXlJlc3VsdHMgZm9yIE1vemlsbGEgdGVzdHM6XHI/XG5ccysoXGQrKSBy
ZWdyZXNzaW9uJywgbG9nVGV4dCwgcmUuTVVMVElMSU5FKQogICAgICAgICBpZiBtYXRjaDoKLSAg
ICAgICAgICAgIHJldHVybiBpbnQobWF0Y2guZ3JvdXAoMSkpCisgICAgICAgICAgICBjb3VudCAr
PSBpbnQobWF0Y2guZ3JvdXAoMSkpCiAKLSAgICAgICAgcmV0dXJuIDAKKyAgICAgICAgcmV0dXJu
IGNvdW50CiAKIAogY2xhc3MgUnVuUmVtb3RlSmF2YVNjcmlwdENvcmVUZXN0cyhSdW5KYXZhU2Ny
aXB0Q29yZVRlc3RzKToKZGlmZiAtLWdpdCBhL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxk
LndlYmtpdC5vcmctY29uZmlnL3N0ZXBzX3VuaXR0ZXN0LnB5IGIvVG9vbHMvQnVpbGRTbGF2ZVN1
cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvc3RlcHNfdW5pdHRlc3QucHkKaW5kZXggNGY4
NzVkM2VhMGQwM2FjMjJlNTU0YjM1NWY5MDIyMTQ3NDcyZTgzZi4uNjUzMTViZGU1Nzg4ZGQ1NjY4
NjA2MTNiMDcwYjhkNTg4NzQyMTZiYiAxMDA3NTUKLS0tIGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBv
cnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvc3RlcHNfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMv
QnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvc3RlcHNfdW5pdHRlc3Qu
cHkKQEAgLTEyMiw2ICsxMjIsMTggQEAgY2xhc3MgUnVuSmF2YVNjcmlwdENvcmVUZXN0c1Rlc3Qo
dW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBzZWxmLmFzc2VydFJlc3VsdHMoRkFJTFVSRSwg
WyI1IEpTQyB0ZXN0cyBmYWlsZWQiXSwgMSwgICIiIlJlc3VsdHMgZm9yIEpTQyBzdHJlc3MgdGVz
dHM6CiAgICAgNSBmYWlsdXJlcyBmb3VuZC4iIiIpCiAKKyAgICBkZWYgdGVzdF9qc2Nfc3RyZXNz
X2ZhaWx1cmVzX3dpdGhfYmluYXJ5X3Jlc3VsdHNfb3V0cHV0KHNlbGYpOgorICAgICAgICBzZWxm
LmFzc2VydFJlc3VsdHMoRkFJTFVSRSwgWyI4IEpTQyB0ZXN0cyBmYWlsZWQiXSwgMSwgICIiIlJl
c3VsdHMgZm9yIEpTQyBzdHJlc3MgdGVzdHM6CisgICAgNSBmYWlsdXJlcyBmb3VuZC4KK1Jlc3Vs
dHMgZm9yIEpTQyB0ZXN0IGJpbmFyaWVzOgorICAgIDMgZmFpbHVyZXMgZm91bmQuIiIiKQorCisg
ICAgZGVmIHRlc3RfanNjX3N0cmVzc19mYWlsdXJlc193aXRoX2JpbmFyeV9yZXN1bHRfb3V0cHV0
KHNlbGYpOgorICAgICAgICBzZWxmLmFzc2VydFJlc3VsdHMoRkFJTFVSRSwgWyI2IEpTQyB0ZXN0
cyBmYWlsZWQiXSwgMSwgICIiIlJlc3VsdHMgZm9yIEpTQyBzdHJlc3MgdGVzdHM6CisgICAgNSBm
YWlsdXJlcyBmb3VuZC4KK1Jlc3VsdHMgZm9yIEpTQyB0ZXN0IGJpbmFyaWVzOgorICAgIDEgZmFp
bHVyZSBmb3VuZC4iIiIpCisKIAogY2xhc3MgUnVuVGVzdDI2MlRlc3RzVGVzdCh1bml0dGVzdC5U
ZXN0Q2FzZSk6CiAgICAgZGVmIGFzc2VydFJlc3VsdHMoc2VsZiwgZXhwZWN0ZWRfcmVzdWx0LCBl
eHBlY3RlZF90ZXh0LCByYywgc3RkaW8pOgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9ydW4t
amF2YXNjcmlwdGNvcmUtdGVzdHMgYi9Ub29scy9TY3JpcHRzL3J1bi1qYXZhc2NyaXB0Y29yZS10
ZXN0cwppbmRleCBjZmU2MWEyNzc0MThkMTliMDc2NDBmMDVkZWVjNTdhZjU0OGM5ODBmLi44ZmNh
YzQ4OGE5M2RhYWU1ZDI4NDY2Mjc4ZDBkNmUzM2NmYzIxNTUyIDEwMDc1NQotLS0gYS9Ub29scy9T
Y3JpcHRzL3J1bi1qYXZhc2NyaXB0Y29yZS10ZXN0cworKysgYi9Ub29scy9TY3JpcHRzL3J1bi1q
YXZhc2NyaXB0Y29yZS10ZXN0cwpAQCAtOTIsNiArOTIsOCBAQCBteSAkY3JlYXRlVGFyYmFsbCA9
IDA7CiBteSAkcmVtb3RlSG9zdCA9IDA7CiBteSAkZmFpbEZhc3QgPSAxOwogbXkgJWpzb25EYXRh
ID0gKCk7CitteSBAdGVzdFJlc3VsdHMgPSAoKTsKK215ICRpc1Rlc3RGYWlsZWQgPSAwOwogbXkg
JHJlbW90ZUNvbmZpZ0ZpbGU7CiBteSAkanNvbkZpbGVOYW1lOwogbXkgJHZlcmJvc2UgPSAwOwpA
QCAtMjMzLDcgKzIzNSw3IEBAIFVzYWdlOiAkcHJvZ3JhbU5hbWUgW29wdGlvbnNdIFtvcHRpb25z
IHRvIHBhc3MgdG8gYnVpbGQgc3lzdGVtXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBJbiBnZW5lcmFsIHRoZSBzaGVsbCBydW5uZXIgaXMgc2xvd2VyIHRoYW4gdGhlIG1ha2UgcnVu
bmVyLgogICAtLW1ha2UtcnVubmVyICAgICAgICAgICAgICAgICBVc2VzIHRoZSBmYXN0ZXIgbWFr
ZS1iYXNlZCBydW5uZXIuCiAgIC0tcnVieS1ydW5uZXIgICAgICAgICAgICAgICAgIFVzZXMgdGhl
IHJ1YnkgcnVubmVyIGZvciBtYWNoaW5lcyB3aXRob3V0IHVuaXggc2hlbGwgb3IgbWFrZS4KLSAK
KwogICAtLXRlc3Qtd3JpdGVyIFt3cml0ZXJdICAgICAgICBTcGVjaWZpZXMgdGhlIHRlc3Qgc2Ny
aXB0IGZvcm1hdC4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQgaXMg
dG8gdXNlIHNoZWxsIHNjcmlwdHMgdG8gcnVuIHRoZSB0ZXN0cyIKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXCJydWJ5XCIgdG8gdXNlIHJ1Ynkgc2NyaXB0cyBmb3Igc3lzdGVtcyB3
aXRob3V0IGEgdW5peCBzaGVsbC4KQEAgLTM5OCwxNyArNDAwLDM5IEBAIHN1YiBydW5UZXN0IHsK
ICAgICBteSAkZXhpdFN0YXR1cyA9IGV4aXRTdGF0dXMoJHRlc3RSZXN1bHQpOwogICAgIHByaW50
ICIkdGVzdE5hbWUgY29tcGxldGVkIHdpdGggcmM9JHRlc3RSZXN1bHQgKCRleGl0U3RhdHVzKVxu
XG4iOwogCisgICAgaWYgKCR0ZXN0UmVzdWx0KSB7CisgICAgICAgICRpc1Rlc3RGYWlsZWQgPSAx
OworICAgICAgICBwdXNoIEB0ZXN0UmVzdWx0cywgJHRlc3ROYW1lOworICAgIH0KICAgICBpZiAo
ZGVmaW5lZCgkanNvbkZpbGVOYW1lKSkgewogICAgICAgICBteSAkdGVzdFN0YXR1cyA9ICgkZXhp
dFN0YXR1cyA9PSAwKT8gSlNPTjo6UFA6OnRydWU6IEpTT046OlBQOjpmYWxzZTsKICAgICAgICAg
JGpzb25EYXRheyRqc29uVGVzdFN0YXR1c05hbWV9ID0gJHRlc3RTdGF0dXM7CiAgICAgfQogCiAg
ICAgaWYgKCR0ZXN0UmVzdWx0ICYmICRmYWlsRmFzdCkgeworICAgICAgICByZXBvcnRUZXN0RmFp
bHVyZXMoKTsKICAgICAgICAgd3JpdGVKc29uRGF0YUlmQXBwbGljYWJsZSgpOwogICAgICAgICBl
eGl0IGV4aXRTdGF0dXMoJHRlc3RSZXN1bHQpOwogICAgIH0KIH0KIAorc3ViIHJlcG9ydFRlc3RG
YWlsdXJlcyB7CisgIG15ICRudW1KU0N0ZXN0RmFpbHVyZXMgPSBAdGVzdFJlc3VsdHM7CisgIGlm
ICgkbnVtSlNDdGVzdEZhaWx1cmVzKSB7CisgICAgICBwcmludCAiXG4qKiBUaGUgZm9sbG93aW5n
IEpTQyB0ZXN0IGJpbmFyaWVzIGZhaWx1cmVzIGhhdmUgYmVlbiBpbnRyb2R1Y2VkOlxuIjsKKyAg
ICAgIGZvcmVhY2ggbXkgJHRlc3RGYWlsdXJlIChAdGVzdFJlc3VsdHMpIHsKKyAgICAgICAgICBw
cmludCAiXHQkdGVzdEZhaWx1cmVcbiI7CisgICAgICB9CisgIH0KKyAgcHJpbnQgIlxuIjsKKwor
ICBwcmludCAiUmVzdWx0cyBmb3IgSlNDIHRlc3QgYmluYXJpZXM6XG4iOworICBwcmludFRoaW5n
c0ZvdW5kKCRudW1KU0N0ZXN0RmFpbHVyZXMsICJmYWlsdXJlIiwgImZhaWx1cmVzIiwgImZvdW5k
Iik7CisgIHByaW50ICIgICAgT0suXG4iIGlmICRudW1KU0N0ZXN0RmFpbHVyZXMgPT0gMDsKKwor
ICBwcmludCAiXG4iOworfQorCiBpZiAoJHJ1blRlc3RNYXNtKSB7IHJ1blRlc3QoInRlc3RtYXNt
IiwgImFsbE1hc21UZXN0c1Bhc3NlZCIpIH0KIGlmICgkcnVuVGVzdEFpcikgeyBydW5UZXN0KCJ0
ZXN0YWlyIiwgImFsbEFpclRlc3RzUGFzc2VkIikgfQogaWYgKCRydW5UZXN0QjMpIHsgcnVuVGVz
dCgidGVzdGIzIiwgImFsbEIzVGVzdHNQYXNzZWQiKSB9CkBAIC00MjAsNiArNDQ0LDExIEBAIGlm
ICgkcnVuVGVzdEFQSSkgeyBydW5UZXN0KCJ0ZXN0YXBpIiwgImFsbEFwaVRlc3RzUGFzc2VkIikg
fQogY2hkaXJXZWJLaXQoKTsKIAogcnVuSlNDU3RyZXNzVGVzdHMoKTsKK3JlcG9ydFRlc3RGYWls
dXJlcygpOworCitpZiAoJGlzVGVzdEZhaWxlZCkgeworICBleGl0KDEpOworfQogCiBzdWIgcnVu
SlNDU3RyZXNzVGVzdHMKIHsKQEAgLTQ3Myw3ICs1MDIsNyBAQCBzdWIgcnVuSlNDU3RyZXNzVGVz
dHMKICAgICBpZiAoY29uZmlndXJhdGlvbigpIGVxICJEZWJ1ZyIpIHsKICAgICAgICAgcHVzaChA
anNjU3RyZXNzRHJpdmVyQ21kLCAiLS1kZWJ1ZyIpOwogICAgIH0KLSAgICAKKwogICAgIGlmICgh
JGNvcHlKU0MpIHsKICAgICAgICAgcHVzaChAanNjU3RyZXNzRHJpdmVyQ21kLCAiLS1uby1jb3B5
Iik7CiAgICAgfQpAQCAtNTczLDYgKzYwMiw3IEBAIHN1YiBydW5KU0NTdHJlc3NUZXN0cwogICAg
IG15ICRudW1KU0NTdHJlc3NGYWlsdXJlcyA9IEBqc2NTdHJlc3NGYWlsTGlzdDsKIAogICAgIGlm
ICgkbnVtSlNDU3RyZXNzRmFpbHVyZXMpIHsKKyAgICAgICAgJGlzVGVzdEZhaWxlZCA9IDE7CiAg
ICAgICAgIHByaW50ICJcbioqIFRoZSBmb2xsb3dpbmcgSlNDIHN0cmVzcyB0ZXN0IGZhaWx1cmVz
IGhhdmUgYmVlbiBpbnRyb2R1Y2VkOlxuIjsKICAgICAgICAgZm9yZWFjaCBteSAkdGVzdEZhaWx1
cmUgKEBqc2NTdHJlc3NGYWlsTGlzdCkgewogICAgICAgICAgICAgcHJpbnQgIlx0JHRlc3RGYWls
dXJlXG4iOwpAQCAtNTkxLDcgKzYyMSw2IEBAIHN1YiBydW5KU0NTdHJlc3NUZXN0cwogICAgIH0K
IAogICAgIHdyaXRlSnNvbkRhdGFJZkFwcGxpY2FibGUoKTsKLSAgICBleGl0KDEpIGlmICRudW1K
U0NTdHJlc3NGYWlsdXJlczsKIH0KIAogc3ViIHJlYWRBbGxMaW5lcwpkaWZmIC0tZ2l0IGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY29uZmlnL3BvcnRzLnB5IGIvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9jb21tb24vY29uZmlnL3BvcnRzLnB5CmluZGV4IGQ3YTc4ZDhhNTMwNGQ4YzFh
N2M4YTRjYzNmM2QyNmYyNzVjNjFiNDUuLjY2MDc5ZDZjYzU3MjI2MDg5MzUzZjJmMGZlZWQ0MzQ4
MjRhMzU0MzIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NvbmZp
Zy9wb3J0cy5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jb25maWcvcG9y
dHMucHkKQEAgLTI0MywzICsyNDMsMTUgQEAgY2xhc3MgSnNjT25seVBvcnQoRGVwcmVjYXRlZFBv
cnQpOgogICAgICAgICBjb21tYW5kID0gc2VsZi5zY3JpcHRfc2hlbGxfY29tbWFuZCgiYnVpbGQt
anNjIikKICAgICAgICAgY29tbWFuZC5hcHBlbmQoIi0tanNjLW9ubHkiKQogICAgICAgICByZXR1
cm4gc2VsZi5fYXBwZW5kX2J1aWxkX3N0eWxlX2ZsYWcoY29tbWFuZCwgYnVpbGRfc3R5bGUpCisK
KyAgICBkZWYgcnVuX2phdmFzY3JpcHRjb3JlX3Rlc3RzX2NvbW1hbmQoc2VsZiwgYnVpbGRfc3R5
bGU9Tm9uZSk6CisgICAgICAgIGNvbW1hbmQgPSBzZWxmLnNjcmlwdF9zaGVsbF9jb21tYW5kKCJy
dW4tamF2YXNjcmlwdGNvcmUtdGVzdHMiKQorICAgICAgICBjb21tYW5kLmFwcGVuZCgiLS1uby1m
YWlsLWZhc3QiKQorICAgICAgICBjb21tYW5kLmFwcGVuZCgiLS1uby10ZXN0bWFzbSIpCisgICAg
ICAgIGNvbW1hbmQuYXBwZW5kKCItLW5vLXRlc3RhaXIiKQorICAgICAgICBjb21tYW5kLmFwcGVu
ZCgiLS1uby10ZXN0YjMiKQorICAgICAgICBjb21tYW5kLmFwcGVuZCgiLS1uby10ZXN0ZGZnIikK
KyAgICAgICAgY29tbWFuZC5hcHBlbmQoIi0tbm8tdGVzdGFwaSIpCisgICAgICAgIGlmICdKU0NU
RVNUU19PUFRJT05TJyBpbiBvcy5lbnZpcm9uOgorICAgICAgICAgICAgY29tbWFuZCArPSBvcy5l
bnZpcm9uWydKU0NURVNUU19PUFRJT05TJ10uc3BsaXQoKQorICAgICAgICByZXR1cm4gc2VsZi5f
YXBwZW5kX2J1aWxkX3N0eWxlX2ZsYWcoY29tbWFuZCwgYnVpbGRfc3R5bGUpCmRpZmYgLS1naXQg
YS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jb25maWcvcG9ydHNfdW5pdHRlc3QucHkg
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jb25maWcvcG9ydHNfdW5pdHRlc3QucHkK
aW5kZXggNjcyNTFmZWU5ZWM5MjA0MWZmNjlhYjk5Y2QzNTc3YTNjZmQ1YjE5ZC4uNDMzNjMyMjZk
MmFiMTUyMzU2OWYzOGFlMDI3MTZmOWVhMTBlZmNhMiAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9jb21tb24vY29uZmlnL3BvcnRzX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvY29tbW9uL2NvbmZpZy9wb3J0c191bml0dGVzdC5weQpAQCAtNjcsMyAr
NjcsNCBAQCBjbGFzcyBEZXByZWNhdGVkUG9ydFRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAg
ICAgICBzZWxmLmFzc2VydEVxdWFsKEpzY09ubHlQb3J0KCkuYnVpbGRfanNjX2NvbW1hbmQoKSwg
RGVwcmVjYXRlZFBvcnQoKS5zY3JpcHRfc2hlbGxfY29tbWFuZCgiYnVpbGQtanNjIikgKyBbIi0t
anNjLW9ubHkiXSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChKc2NPbmx5UG9ydCgpLmJ1aWxk
X2pzY19jb21tYW5kKGJ1aWxkX3N0eWxlPSJyZWxlYXNlIiksIERlcHJlY2F0ZWRQb3J0KCkuc2Ny
aXB0X3NoZWxsX2NvbW1hbmQoImJ1aWxkLWpzYyIpICsgWyItLWpzYy1vbmx5IiwgIi0tcmVsZWFz
ZSJdKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKEpzY09ubHlQb3J0KCkuYnVpbGRfanNjX2Nv
bW1hbmQoYnVpbGRfc3R5bGU9ImRlYnVnIiksIERlcHJlY2F0ZWRQb3J0KCkuc2NyaXB0X3NoZWxs
X2NvbW1hbmQoImJ1aWxkLWpzYyIpICsgWyItLWpzYy1vbmx5IiwgIi0tZGVidWciXSkKKyAgICAg
ICAgc2VsZi5hc3NlcnRFcXVhbChKc2NPbmx5UG9ydCgpLnJ1bl9qYXZhc2NyaXB0Y29yZV90ZXN0
c19jb21tYW5kKGJ1aWxkX3N0eWxlPSJkZWJ1ZyIpLCBEZXByZWNhdGVkUG9ydCgpLnNjcmlwdF9z
aGVsbF9jb21tYW5kKCJydW4tamF2YXNjcmlwdGNvcmUtdGVzdHMiKSArIFsnLS1uby1mYWlsLWZh
c3QnLCAnLS1uby10ZXN0bWFzbScsICctLW5vLXRlc3RhaXInLCAnLS1uby10ZXN0YjMnLCAnLS1u
by10ZXN0ZGZnJywgJy0tbm8tdGVzdGFwaScsICctLWRlYnVnJ10pCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>374738</attachid>
            <date>2019-07-23 17:22:29 -0700</date>
            <delta_ts>2019-07-24 11:07:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199489-20190723172228.patch</filename>
            <type>text/plain</type>
            <size>10165</size>
            <attacher name="Zhifei Fang">zhifei_fang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3MjI5CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNTgzZTQ1ODM3Mzg3ZGRlYTZkMWNjMGEzOWE1YTljZjMx
ZjNhMmViMC4uYWE1ODdhMDI5YWY4OGY3OWM2ZDFiMjM2NWYwMzFmMzhlZGE2MDQyOCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1
IEBACisyMDE5LTA3LTIzICBaaGlmZWkgRmFuZyAgPHpoaWZlaV9mYW5nQGFwcGxlLmNvbT4KKwor
ICAgICAgICBydW4tamF2YXNjcmlwdGNvcmUtdGVzdHMgd29uJ3QgcmVwb3J0IHRlc3QgcmVzdWx0
cyBmb3IgdGVzdG1hc20sIHRlc3RhaXIsIHRlc3RiMywgdGVzdGRmZyBhbmQgdGVzdCBhcGkKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5OTQ4OQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQnVpbGRTbGF2
ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvc3RlcHMucHk6CisgICAgICAgIChSdW5K
YXZhU2NyaXB0Q29yZVRlc3RzLnN0YXJ0KTogU2tpcCBydW4ganNjIHRlc3QgYmluYXJpZXMgZm9y
IG1pcHMsIGFybXY3LCBhYXJjaDY0LgorICAgICAgICAoUnVuSmF2YVNjcmlwdENvcmVUZXN0cy5j
b3VudEZhaWx1cmVzKTogUGljayB1cCB0aGUgdGVzdCBiaW5haXJlcyBmYWlsdXJlIHRvIHRvdGFs
IGZhaWx1cmVzIGNvdW50CisgICAgICAgICogQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0
Lm9yZy1jb25maWcvc3RlcHNfdW5pdHRlc3QucHk6CisgICAgICAgICogU2NyaXB0cy9ydW4tamF2
YXNjcmlwdGNvcmUtdGVzdHM6IFRoZSBzY3JpcHQgbm93IGZhaWxlZCB3ZXRoZXIgdGhlIHJ1bi1q
c2Mtc3RyZXNzLXRlc3RzIGZhaWxlZCBvciB0ZXN0IGJpbmFyaWVzIGZhaWxlZC4KKyAgICAgICAg
KHJ1blRlc3QpOiBSZWNvcmQgdGVzdCBiaW5hcnkgZmFpbHVyZQorICAgICAgICAocmVwb3J0VGVz
dEZhaWx1cmVzKTogUmVwb3J0IHRlc3QgYmluYXJ5IGZhaWx1cmUKKyAgICAgICAgKHJ1bkpTQ1N0
cmVzc1Rlc3RzKTogCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21tb24vY29uZmlnL3Bv
cnRzLnB5OiBTa2lwIHJ1biBqc2MgdGVzdCBiaW5hcmllcyBmb3IgdGhvc2UgbmVlZCB0byBydW4g
cmVtb3RlbHkKKyAgICAgICAgKEpzY09ubHlQb3J0LmJ1aWxkX2pzY19jb21tYW5kKToKKyAgICAg
ICAgKEpzY09ubHlQb3J0KToKKyAgICAgICAgKEpzY09ubHlQb3J0LnJ1bl9qYXZhc2NyaXB0Y29y
ZV90ZXN0c19jb21tYW5kKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jb25m
aWcvcG9ydHNfdW5pdHRlc3QucHk6CisgICAgICAgIChEZXByZWNhdGVkUG9ydFRlc3QudGVzdF9q
c2Nvbmx5X3BvcnQpOgorCiAyMDE5LTA3LTA4ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFw
cGxlLmNvbT4KIAogICAgICAgICB0ZXN0LXdlYmtpdHB5OiBFeHBsaWNpdGx5IHVzZSBQeXRob24g
Mi43IGxsZGIgbGlicmFyeQpkaWZmIC0tZ2l0IGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVp
bGQud2Via2l0Lm9yZy1jb25maWcvc3RlcHMucHkgYi9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9i
dWlsZC53ZWJraXQub3JnLWNvbmZpZy9zdGVwcy5weQppbmRleCBjMjdkMjYyZGY5YzllOGU3ZmJm
MTc0YWY0MWU3NDQ5YWY2MDc1NWU2Li5jOTg1NjA4MzFmNmNjZDQ4MjVhMmYyZjZlNDQ3OWE0Mjcy
MTZlODZjIDEwMDY0NAotLS0gYS9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQu
b3JnLWNvbmZpZy9zdGVwcy5weQorKysgYi9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53
ZWJraXQub3JnLWNvbmZpZy9zdGVwcy5weQpAQCAtMzMxLDYgKzMzMSwxMCBAQCBjbGFzcyBSdW5K
YXZhU2NyaXB0Q29yZVRlc3RzKFRlc3RXaXRoRmFpbHVyZUNvdW50KToKIAogICAgIGRlZiBzdGFy
dChzZWxmKToKICAgICAgICAgcGxhdGZvcm0gPSBzZWxmLmdldFByb3BlcnR5KCdwbGF0Zm9ybScp
CisgICAgICAgIGFyY2hpdGVjdHVyZSA9IHNlbGYuZ2V0UHJvcGVydHkoImFyY2hpdGVjdHVyZSIp
CisgICAgICAgICMgQ3VycmVudGx5IHJ1bi1qYXZhc2NyaXB0Y29yZS10ZXN0IGRvZXNuJ3Qgc3Vw
cG9ydCBydW4gamF2YXNjcmlwdCBjb3JlIHRlc3QgYmluYXJpZXMgbGlzdCBiZWxvdyByZW1vdGVs
eQorICAgICAgICBpZiBhcmNoaXRlY3R1cmUgaW4gWydtaXBzJywgJ2FybXY3JywgJ2FhcmNoNjQn
XToKKyAgICAgICAgICAgIHNlbGYuY29tbWFuZCArPSBbJy0tbm8tdGVzdG1hc20nLCAnLS1uby10
ZXN0YWlyJywgJy0tbm8tdGVzdGIzJywgJy0tbm8tdGVzdGRmZycsICctLW5vLXRlc3RhcGknXQog
ICAgICAgICAjIExpbnV4IGJvdHMgaGF2ZSBjdXJyZW50bHkgcHJvYmxlbXMgd2l0aCBKU0MgdGVz
dHMgdGhhdCB0cnkgdG8gdXNlIGxhcmdlIGFtb3VudHMgb2YgbWVtb3J5LgogICAgICAgICAjIENo
ZWNrOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc1MTQwCiAgICAg
ICAgIGlmIHBsYXRmb3JtIGluICgnZ3RrJywgJ3dwZScpOgpAQCAtMzQ0LDE2ICszNDgsMjEgQEAg
Y2xhc3MgUnVuSmF2YVNjcmlwdENvcmVUZXN0cyhUZXN0V2l0aEZhaWx1cmVDb3VudCk6CiAKICAg
ICBkZWYgY291bnRGYWlsdXJlcyhzZWxmLCBjbWQpOgogICAgICAgICBsb2dUZXh0ID0gY21kLmxv
Z3NbJ3N0ZGlvJ10uZ2V0VGV4dCgpCisgICAgICAgIGNvdW50ID0gMAogCiAgICAgICAgIG1hdGNo
ID0gcmUuc2VhcmNoKHInXlJlc3VsdHMgZm9yIEpTQyBzdHJlc3MgdGVzdHM6XHI/XG5ccysoXGQr
KSBmYWlsdXJlJywgbG9nVGV4dCwgcmUuTVVMVElMSU5FKQogICAgICAgICBpZiBtYXRjaDoKLSAg
ICAgICAgICAgIHJldHVybiBpbnQobWF0Y2guZ3JvdXAoMSkpCisgICAgICAgICAgICBjb3VudCAr
PSBpbnQobWF0Y2guZ3JvdXAoMSkpCisKKyAgICAgICAgbWF0Y2ggPSByZS5zZWFyY2gocidSZXN1
bHRzIGZvciBKU0MgdGVzdCBiaW5hcmllczpccj9cblxzKyhcZCspIGZhaWx1cmUnLCBsb2dUZXh0
LCByZS5NVUxUSUxJTkUpCisgICAgICAgIGlmIG1hdGNoOgorICAgICAgICAgICAgY291bnQgKz0g
aW50KG1hdGNoLmdyb3VwKDEpKQogCiAgICAgICAgIG1hdGNoID0gcmUuc2VhcmNoKHInXlJlc3Vs
dHMgZm9yIE1vemlsbGEgdGVzdHM6XHI/XG5ccysoXGQrKSByZWdyZXNzaW9uJywgbG9nVGV4dCwg
cmUuTVVMVElMSU5FKQogICAgICAgICBpZiBtYXRjaDoKLSAgICAgICAgICAgIHJldHVybiBpbnQo
bWF0Y2guZ3JvdXAoMSkpCisgICAgICAgICAgICBjb3VudCArPSBpbnQobWF0Y2guZ3JvdXAoMSkp
CiAKLSAgICAgICAgcmV0dXJuIDAKKyAgICAgICAgcmV0dXJuIGNvdW50CiAKIAogY2xhc3MgUnVu
UmVtb3RlSmF2YVNjcmlwdENvcmVUZXN0cyhSdW5KYXZhU2NyaXB0Q29yZVRlc3RzKToKZGlmZiAt
LWdpdCBhL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3N0
ZXBzX3VuaXR0ZXN0LnB5IGIvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9y
Zy1jb25maWcvc3RlcHNfdW5pdHRlc3QucHkKaW5kZXggNGY4NzVkM2VhMGQwM2FjMjJlNTU0YjM1
NWY5MDIyMTQ3NDcyZTgzZi4uNjUzMTViZGU1Nzg4ZGQ1NjY4NjA2MTNiMDcwYjhkNTg4NzQyMTZi
YiAxMDA3NTUKLS0tIGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1j
b25maWcvc3RlcHNfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVp
bGQud2Via2l0Lm9yZy1jb25maWcvc3RlcHNfdW5pdHRlc3QucHkKQEAgLTEyMiw2ICsxMjIsMTgg
QEAgY2xhc3MgUnVuSmF2YVNjcmlwdENvcmVUZXN0c1Rlc3QodW5pdHRlc3QuVGVzdENhc2UpOgog
ICAgICAgICBzZWxmLmFzc2VydFJlc3VsdHMoRkFJTFVSRSwgWyI1IEpTQyB0ZXN0cyBmYWlsZWQi
XSwgMSwgICIiIlJlc3VsdHMgZm9yIEpTQyBzdHJlc3MgdGVzdHM6CiAgICAgNSBmYWlsdXJlcyBm
b3VuZC4iIiIpCiAKKyAgICBkZWYgdGVzdF9qc2Nfc3RyZXNzX2ZhaWx1cmVzX3dpdGhfYmluYXJ5
X3Jlc3VsdHNfb3V0cHV0KHNlbGYpOgorICAgICAgICBzZWxmLmFzc2VydFJlc3VsdHMoRkFJTFVS
RSwgWyI4IEpTQyB0ZXN0cyBmYWlsZWQiXSwgMSwgICIiIlJlc3VsdHMgZm9yIEpTQyBzdHJlc3Mg
dGVzdHM6CisgICAgNSBmYWlsdXJlcyBmb3VuZC4KK1Jlc3VsdHMgZm9yIEpTQyB0ZXN0IGJpbmFy
aWVzOgorICAgIDMgZmFpbHVyZXMgZm91bmQuIiIiKQorCisgICAgZGVmIHRlc3RfanNjX3N0cmVz
c19mYWlsdXJlc193aXRoX2JpbmFyeV9yZXN1bHRfb3V0cHV0KHNlbGYpOgorICAgICAgICBzZWxm
LmFzc2VydFJlc3VsdHMoRkFJTFVSRSwgWyI2IEpTQyB0ZXN0cyBmYWlsZWQiXSwgMSwgICIiIlJl
c3VsdHMgZm9yIEpTQyBzdHJlc3MgdGVzdHM6CisgICAgNSBmYWlsdXJlcyBmb3VuZC4KK1Jlc3Vs
dHMgZm9yIEpTQyB0ZXN0IGJpbmFyaWVzOgorICAgIDEgZmFpbHVyZSBmb3VuZC4iIiIpCisKIAog
Y2xhc3MgUnVuVGVzdDI2MlRlc3RzVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgZGVmIGFz
c2VydFJlc3VsdHMoc2VsZiwgZXhwZWN0ZWRfcmVzdWx0LCBleHBlY3RlZF90ZXh0LCByYywgc3Rk
aW8pOgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9ydW4tamF2YXNjcmlwdGNvcmUtdGVzdHMg
Yi9Ub29scy9TY3JpcHRzL3J1bi1qYXZhc2NyaXB0Y29yZS10ZXN0cwppbmRleCBjZmU2MWEyNzc0
MThkMTliMDc2NDBmMDVkZWVjNTdhZjU0OGM5ODBmLi44ZmNhYzQ4OGE5M2RhYWU1ZDI4NDY2Mjc4
ZDBkNmUzM2NmYzIxNTUyIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3J1bi1qYXZhc2NyaXB0
Y29yZS10ZXN0cworKysgYi9Ub29scy9TY3JpcHRzL3J1bi1qYXZhc2NyaXB0Y29yZS10ZXN0cwpA
QCAtOTIsNiArOTIsOCBAQCBteSAkY3JlYXRlVGFyYmFsbCA9IDA7CiBteSAkcmVtb3RlSG9zdCA9
IDA7CiBteSAkZmFpbEZhc3QgPSAxOwogbXkgJWpzb25EYXRhID0gKCk7CitteSBAdGVzdFJlc3Vs
dHMgPSAoKTsKK215ICRpc1Rlc3RGYWlsZWQgPSAwOwogbXkgJHJlbW90ZUNvbmZpZ0ZpbGU7CiBt
eSAkanNvbkZpbGVOYW1lOwogbXkgJHZlcmJvc2UgPSAwOwpAQCAtMjMzLDcgKzIzNSw3IEBAIFVz
YWdlOiAkcHJvZ3JhbU5hbWUgW29wdGlvbnNdIFtvcHRpb25zIHRvIHBhc3MgdG8gYnVpbGQgc3lz
dGVtXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbiBnZW5lcmFsIHRoZSBzaGVs
bCBydW5uZXIgaXMgc2xvd2VyIHRoYW4gdGhlIG1ha2UgcnVubmVyLgogICAtLW1ha2UtcnVubmVy
ICAgICAgICAgICAgICAgICBVc2VzIHRoZSBmYXN0ZXIgbWFrZS1iYXNlZCBydW5uZXIuCiAgIC0t
cnVieS1ydW5uZXIgICAgICAgICAgICAgICAgIFVzZXMgdGhlIHJ1YnkgcnVubmVyIGZvciBtYWNo
aW5lcyB3aXRob3V0IHVuaXggc2hlbGwgb3IgbWFrZS4KLSAKKwogICAtLXRlc3Qtd3JpdGVyIFt3
cml0ZXJdICAgICAgICBTcGVjaWZpZXMgdGhlIHRlc3Qgc2NyaXB0IGZvcm1hdC4iCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQgaXMgdG8gdXNlIHNoZWxsIHNjcmlwdHMg
dG8gcnVuIHRoZSB0ZXN0cyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJydWJ5
XCIgdG8gdXNlIHJ1Ynkgc2NyaXB0cyBmb3Igc3lzdGVtcyB3aXRob3V0IGEgdW5peCBzaGVsbC4K
QEAgLTM5OCwxNyArNDAwLDM5IEBAIHN1YiBydW5UZXN0IHsKICAgICBteSAkZXhpdFN0YXR1cyA9
IGV4aXRTdGF0dXMoJHRlc3RSZXN1bHQpOwogICAgIHByaW50ICIkdGVzdE5hbWUgY29tcGxldGVk
IHdpdGggcmM9JHRlc3RSZXN1bHQgKCRleGl0U3RhdHVzKVxuXG4iOwogCisgICAgaWYgKCR0ZXN0
UmVzdWx0KSB7CisgICAgICAgICRpc1Rlc3RGYWlsZWQgPSAxOworICAgICAgICBwdXNoIEB0ZXN0
UmVzdWx0cywgJHRlc3ROYW1lOworICAgIH0KICAgICBpZiAoZGVmaW5lZCgkanNvbkZpbGVOYW1l
KSkgewogICAgICAgICBteSAkdGVzdFN0YXR1cyA9ICgkZXhpdFN0YXR1cyA9PSAwKT8gSlNPTjo6
UFA6OnRydWU6IEpTT046OlBQOjpmYWxzZTsKICAgICAgICAgJGpzb25EYXRheyRqc29uVGVzdFN0
YXR1c05hbWV9ID0gJHRlc3RTdGF0dXM7CiAgICAgfQogCiAgICAgaWYgKCR0ZXN0UmVzdWx0ICYm
ICRmYWlsRmFzdCkgeworICAgICAgICByZXBvcnRUZXN0RmFpbHVyZXMoKTsKICAgICAgICAgd3Jp
dGVKc29uRGF0YUlmQXBwbGljYWJsZSgpOwogICAgICAgICBleGl0IGV4aXRTdGF0dXMoJHRlc3RS
ZXN1bHQpOwogICAgIH0KIH0KIAorc3ViIHJlcG9ydFRlc3RGYWlsdXJlcyB7CisgIG15ICRudW1K
U0N0ZXN0RmFpbHVyZXMgPSBAdGVzdFJlc3VsdHM7CisgIGlmICgkbnVtSlNDdGVzdEZhaWx1cmVz
KSB7CisgICAgICBwcmludCAiXG4qKiBUaGUgZm9sbG93aW5nIEpTQyB0ZXN0IGJpbmFyaWVzIGZh
aWx1cmVzIGhhdmUgYmVlbiBpbnRyb2R1Y2VkOlxuIjsKKyAgICAgIGZvcmVhY2ggbXkgJHRlc3RG
YWlsdXJlIChAdGVzdFJlc3VsdHMpIHsKKyAgICAgICAgICBwcmludCAiXHQkdGVzdEZhaWx1cmVc
biI7CisgICAgICB9CisgIH0KKyAgcHJpbnQgIlxuIjsKKworICBwcmludCAiUmVzdWx0cyBmb3Ig
SlNDIHRlc3QgYmluYXJpZXM6XG4iOworICBwcmludFRoaW5nc0ZvdW5kKCRudW1KU0N0ZXN0RmFp
bHVyZXMsICJmYWlsdXJlIiwgImZhaWx1cmVzIiwgImZvdW5kIik7CisgIHByaW50ICIgICAgT0su
XG4iIGlmICRudW1KU0N0ZXN0RmFpbHVyZXMgPT0gMDsKKworICBwcmludCAiXG4iOworfQorCiBp
ZiAoJHJ1blRlc3RNYXNtKSB7IHJ1blRlc3QoInRlc3RtYXNtIiwgImFsbE1hc21UZXN0c1Bhc3Nl
ZCIpIH0KIGlmICgkcnVuVGVzdEFpcikgeyBydW5UZXN0KCJ0ZXN0YWlyIiwgImFsbEFpclRlc3Rz
UGFzc2VkIikgfQogaWYgKCRydW5UZXN0QjMpIHsgcnVuVGVzdCgidGVzdGIzIiwgImFsbEIzVGVz
dHNQYXNzZWQiKSB9CkBAIC00MjAsNiArNDQ0LDExIEBAIGlmICgkcnVuVGVzdEFQSSkgeyBydW5U
ZXN0KCJ0ZXN0YXBpIiwgImFsbEFwaVRlc3RzUGFzc2VkIikgfQogY2hkaXJXZWJLaXQoKTsKIAog
cnVuSlNDU3RyZXNzVGVzdHMoKTsKK3JlcG9ydFRlc3RGYWlsdXJlcygpOworCitpZiAoJGlzVGVz
dEZhaWxlZCkgeworICBleGl0KDEpOworfQogCiBzdWIgcnVuSlNDU3RyZXNzVGVzdHMKIHsKQEAg
LTQ3Myw3ICs1MDIsNyBAQCBzdWIgcnVuSlNDU3RyZXNzVGVzdHMKICAgICBpZiAoY29uZmlndXJh
dGlvbigpIGVxICJEZWJ1ZyIpIHsKICAgICAgICAgcHVzaChAanNjU3RyZXNzRHJpdmVyQ21kLCAi
LS1kZWJ1ZyIpOwogICAgIH0KLSAgICAKKwogICAgIGlmICghJGNvcHlKU0MpIHsKICAgICAgICAg
cHVzaChAanNjU3RyZXNzRHJpdmVyQ21kLCAiLS1uby1jb3B5Iik7CiAgICAgfQpAQCAtNTczLDYg
KzYwMiw3IEBAIHN1YiBydW5KU0NTdHJlc3NUZXN0cwogICAgIG15ICRudW1KU0NTdHJlc3NGYWls
dXJlcyA9IEBqc2NTdHJlc3NGYWlsTGlzdDsKIAogICAgIGlmICgkbnVtSlNDU3RyZXNzRmFpbHVy
ZXMpIHsKKyAgICAgICAgJGlzVGVzdEZhaWxlZCA9IDE7CiAgICAgICAgIHByaW50ICJcbioqIFRo
ZSBmb2xsb3dpbmcgSlNDIHN0cmVzcyB0ZXN0IGZhaWx1cmVzIGhhdmUgYmVlbiBpbnRyb2R1Y2Vk
OlxuIjsKICAgICAgICAgZm9yZWFjaCBteSAkdGVzdEZhaWx1cmUgKEBqc2NTdHJlc3NGYWlsTGlz
dCkgewogICAgICAgICAgICAgcHJpbnQgIlx0JHRlc3RGYWlsdXJlXG4iOwpAQCAtNTkxLDcgKzYy
MSw2IEBAIHN1YiBydW5KU0NTdHJlc3NUZXN0cwogICAgIH0KIAogICAgIHdyaXRlSnNvbkRhdGFJ
ZkFwcGxpY2FibGUoKTsKLSAgICBleGl0KDEpIGlmICRudW1KU0NTdHJlc3NGYWlsdXJlczsKIH0K
IAogc3ViIHJlYWRBbGxMaW5lcwpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9j
b21tb24vY29uZmlnL3BvcnRzLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY29u
ZmlnL3BvcnRzLnB5CmluZGV4IGQ3YTc4ZDhhNTMwNGQ4YzFhN2M4YTRjYzNmM2QyNmYyNzVjNjFi
NDUuLjY2MDc5ZDZjYzU3MjI2MDg5MzUzZjJmMGZlZWQ0MzQ4MjRhMzU0MzIgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NvbmZpZy9wb3J0cy5weQorKysgYi9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jb25maWcvcG9ydHMucHkKQEAgLTI0MywzICsyNDMs
MTUgQEAgY2xhc3MgSnNjT25seVBvcnQoRGVwcmVjYXRlZFBvcnQpOgogICAgICAgICBjb21tYW5k
ID0gc2VsZi5zY3JpcHRfc2hlbGxfY29tbWFuZCgiYnVpbGQtanNjIikKICAgICAgICAgY29tbWFu
ZC5hcHBlbmQoIi0tanNjLW9ubHkiKQogICAgICAgICByZXR1cm4gc2VsZi5fYXBwZW5kX2J1aWxk
X3N0eWxlX2ZsYWcoY29tbWFuZCwgYnVpbGRfc3R5bGUpCisKKyAgICBkZWYgcnVuX2phdmFzY3Jp
cHRjb3JlX3Rlc3RzX2NvbW1hbmQoc2VsZiwgYnVpbGRfc3R5bGU9Tm9uZSk6CisgICAgICAgIGNv
bW1hbmQgPSBzZWxmLnNjcmlwdF9zaGVsbF9jb21tYW5kKCJydW4tamF2YXNjcmlwdGNvcmUtdGVz
dHMiKQorICAgICAgICBjb21tYW5kLmFwcGVuZCgiLS1uby1mYWlsLWZhc3QiKQorICAgICAgICBj
b21tYW5kLmFwcGVuZCgiLS1uby10ZXN0bWFzbSIpCisgICAgICAgIGNvbW1hbmQuYXBwZW5kKCIt
LW5vLXRlc3RhaXIiKQorICAgICAgICBjb21tYW5kLmFwcGVuZCgiLS1uby10ZXN0YjMiKQorICAg
ICAgICBjb21tYW5kLmFwcGVuZCgiLS1uby10ZXN0ZGZnIikKKyAgICAgICAgY29tbWFuZC5hcHBl
bmQoIi0tbm8tdGVzdGFwaSIpCisgICAgICAgIGlmICdKU0NURVNUU19PUFRJT05TJyBpbiBvcy5l
bnZpcm9uOgorICAgICAgICAgICAgY29tbWFuZCArPSBvcy5lbnZpcm9uWydKU0NURVNUU19PUFRJ
T05TJ10uc3BsaXQoKQorICAgICAgICByZXR1cm4gc2VsZi5fYXBwZW5kX2J1aWxkX3N0eWxlX2Zs
YWcoY29tbWFuZCwgYnVpbGRfc3R5bGUpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2NvbW1vbi9jb25maWcvcG9ydHNfdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2NvbW1vbi9jb25maWcvcG9ydHNfdW5pdHRlc3QucHkKaW5kZXggNjcyNTFmZWU5ZWM5MjA0
MWZmNjlhYjk5Y2QzNTc3YTNjZmQ1YjE5ZC4uNDMzNjMyMjZkMmFiMTUyMzU2OWYzOGFlMDI3MTZm
OWVhMTBlZmNhMiAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY29u
ZmlnL3BvcnRzX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9u
L2NvbmZpZy9wb3J0c191bml0dGVzdC5weQpAQCAtNjcsMyArNjcsNCBAQCBjbGFzcyBEZXByZWNh
dGVkUG9ydFRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBzZWxmLmFzc2VydEVxdWFs
KEpzY09ubHlQb3J0KCkuYnVpbGRfanNjX2NvbW1hbmQoKSwgRGVwcmVjYXRlZFBvcnQoKS5zY3Jp
cHRfc2hlbGxfY29tbWFuZCgiYnVpbGQtanNjIikgKyBbIi0tanNjLW9ubHkiXSkKICAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbChKc2NPbmx5UG9ydCgpLmJ1aWxkX2pzY19jb21tYW5kKGJ1aWxkX3N0
eWxlPSJyZWxlYXNlIiksIERlcHJlY2F0ZWRQb3J0KCkuc2NyaXB0X3NoZWxsX2NvbW1hbmQoImJ1
aWxkLWpzYyIpICsgWyItLWpzYy1vbmx5IiwgIi0tcmVsZWFzZSJdKQogICAgICAgICBzZWxmLmFz
c2VydEVxdWFsKEpzY09ubHlQb3J0KCkuYnVpbGRfanNjX2NvbW1hbmQoYnVpbGRfc3R5bGU9ImRl
YnVnIiksIERlcHJlY2F0ZWRQb3J0KCkuc2NyaXB0X3NoZWxsX2NvbW1hbmQoImJ1aWxkLWpzYyIp
ICsgWyItLWpzYy1vbmx5IiwgIi0tZGVidWciXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChK
c2NPbmx5UG9ydCgpLnJ1bl9qYXZhc2NyaXB0Y29yZV90ZXN0c19jb21tYW5kKGJ1aWxkX3N0eWxl
PSJkZWJ1ZyIpLCBEZXByZWNhdGVkUG9ydCgpLnNjcmlwdF9zaGVsbF9jb21tYW5kKCJydW4tamF2
YXNjcmlwdGNvcmUtdGVzdHMiKSArIFsnLS1uby1mYWlsLWZhc3QnLCAnLS1uby10ZXN0bWFzbScs
ICctLW5vLXRlc3RhaXInLCAnLS1uby10ZXN0YjMnLCAnLS1uby10ZXN0ZGZnJywgJy0tbm8tdGVz
dGFwaScsICctLWRlYnVnJ10pCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>