<?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>198144</bug_id>
          
          <creation_ts>2019-05-22 15:35:14 -0700</creation_ts>
          <short_desc>webkitpy: Switch run-webkit-tests to tailspin</short_desc>
          <delta_ts>2019-05-30 09:05:23 -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>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="hysu">hysu</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ap</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jbedard</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1538422</commentid>
    <comment_count>0</comment_count>
    <who name="hysu">hysu</who>
    <bug_when>2019-05-22 15:35:14 -0700</bug_when>
    <thetext>Alexey Proskuryakov:
run-webkit-tests runs sample or spindump when a test times out. This is costly and not very useful, as it collects the state after the problem happened, not during the time. Maybe we can use tailspins to make everything better.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1538423</commentid>
    <comment_count>1</comment_count>
    <who name="hysu">hysu</who>
    <bug_when>2019-05-22 15:35:55 -0700</bug_when>
    <thetext>&lt;rdar://problem/32463212&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1538471</commentid>
    <comment_count>2</comment_count>
      <attachid>370468</attachid>
    <who name="hysu">hysu</who>
    <bug_when>2019-05-22 17:02:54 -0700</bug_when>
    <thetext>Created attachment 370468
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1538484</commentid>
    <comment_count>3</comment_count>
      <attachid>370468</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2019-05-22 17:22:20 -0700</bug_when>
    <thetext>Comment on attachment 370468
Patch

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

&gt; Tools/ChangeLog:9
&gt; +        Changes run-webkit-tests to run tailspin on test time out, and

Instead of what?

&gt; Tools/ChangeLog:12
&gt; +        * Scripts/webkitpy/port/darwin.py:

Tell us what changed in these functions, unless the function name makes it obvious (like DarwinPort.tailspin_file_path)

&gt; Tools/Scripts/webkitpy/port/darwin.py:179
&gt; +                    DarwinPort.temp_tailspin_file_path(host, name, pid, str(tempdir)),

Will spindump let you make the input and output file the same file? That would make this code simpler (and testing easier)

&gt; Tools/Scripts/webkitpy/port/darwin.py:183
&gt; +                host.executive.run_command(symbolicate_command)

We probably don&apos;t need to name the list here, the only reason we did that with sudo was because we maybe had to add sudo.

&gt; Tools/Scripts/webkitpy/port/darwin.py:214
&gt; +    def temp_tailspin_file_path(host, name, pid, directory):

We won&apos;t need this function if we make spindump use the same file during symbolication.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1538503</commentid>
    <comment_count>4</comment_count>
      <attachid>370473</attachid>
    <who name="hysu">hysu</who>
    <bug_when>2019-05-22 18:25:03 -0700</bug_when>
    <thetext>Created attachment 370473
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1538666</commentid>
    <comment_count>5</comment_count>
      <attachid>370468</attachid>
    <who name="hysu">hysu</who>
    <bug_when>2019-05-23 09:27:46 -0700</bug_when>
    <thetext>Comment on attachment 370468
Patch

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

&gt;&gt; Tools/Scripts/webkitpy/port/darwin.py:179
&gt;&gt; +                    DarwinPort.temp_tailspin_file_path(host, name, pid, str(tempdir)),
&gt; 
&gt; Will spindump let you make the input and output file the same file? That would make this code simpler (and testing easier)

By default, I don&apos;t think so -- if I specify the same input and output files spindump tells me &quot;Cannot specify same output file as input file&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1538691</commentid>
    <comment_count>6</comment_count>
      <attachid>370473</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2019-05-23 10:49:50 -0700</bug_when>
    <thetext>Comment on attachment 370473
Patch

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

&gt; Tools/Scripts/webkitpy/port/darwin.py:213
&gt; +    def temp_tailspin_file_path(host, name, pid, directory):

The original intention of these functions was to handle the fact that we would be calling it with multiple hosts. In the temp_tailspin_file_path case, though, I think we can get away with just doing something like this:

temp_tailspin_file = host.filesystem.join(directory, &quot;{0}-{1}-tailspin-temp.txt&quot;.format(name, pid))

in sample_process.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1538950</commentid>
    <comment_count>7</comment_count>
      <attachid>370473</attachid>
    <who name="hysu">hysu</who>
    <bug_when>2019-05-24 00:13:28 -0700</bug_when>
    <thetext>Comment on attachment 370473
Patch

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

&gt;&gt; Tools/Scripts/webkitpy/port/darwin.py:213
&gt;&gt; +    def temp_tailspin_file_path(host, name, pid, directory):
&gt; 
&gt; The original intention of these functions was to handle the fact that we would be calling it with multiple hosts. In the temp_tailspin_file_path case, though, I think we can get away with just doing something like this:
&gt; 
&gt; temp_tailspin_file = host.filesystem.join(directory, &quot;{0}-{1}-tailspin-temp.txt&quot;.format(name, pid))
&gt; 
&gt; in sample_process.

Good point, I&apos;ll also get rid of spindump_file_path as I don&apos;t think it&apos;s being used anywhere anymore</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1538952</commentid>
    <comment_count>8</comment_count>
      <attachid>370566</attachid>
    <who name="hysu">hysu</who>
    <bug_when>2019-05-24 00:27:02 -0700</bug_when>
    <thetext>Created attachment 370566
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1538990</commentid>
    <comment_count>9</comment_count>
    <who name="hysu">hysu</who>
    <bug_when>2019-05-24 09:40:52 -0700</bug_when>
    <thetext>webkitpy EWS is currently failing test_receiver_implementations as messages_unittest.py isn&apos;t working properly at the moment. See https://bugs.webkit.org/show_bug.cgi?id=198214</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1539576</commentid>
    <comment_count>10</comment_count>
      <attachid>370566</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2019-05-28 08:29:40 -0700</bug_when>
    <thetext>Comment on attachment 370566
Patch

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

I think the last thing to be done here is to profile spindump vs tailspin to see which is faster. I suspect tailspin will narrowly outperform spindump, but that&apos;s going to depend on how long symbolication takes.

&gt; Tools/Scripts/webkitpy/port/darwin.py:188
&gt;              try:

Nit: No need for an exclamation mark

&gt; Tools/Scripts/webkitpy/port/darwin.py:203
&gt; +

Nit: Added newline.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1539627</commentid>
    <comment_count>11</comment_count>
      <attachid>370758</attachid>
    <who name="hysu">hysu</who>
    <bug_when>2019-05-28 10:16:22 -0700</bug_when>
    <thetext>Created attachment 370758
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1539630</commentid>
    <comment_count>12</comment_count>
    <who name="hysu">hysu</who>
    <bug_when>2019-05-28 10:20:05 -0700</bug_when>
    <thetext>(In reply to Jonathan Bedard from comment #10)
&gt; I think the last thing to be done here is to profile spindump vs tailspin to
&gt; see which is faster. I suspect tailspin will narrowly outperform spindump,
&gt; but that&apos;s going to depend on how long symbolication takes.
From my (rough) testing, spindump seems to be a decent bit slower than tailspin - about 30-35 seconds with spindump versus 15-20 with tailspin.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1539690</commentid>
    <comment_count>13</comment_count>
      <attachid>370758</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-05-28 12:22:51 -0700</bug_when>
    <thetext>Comment on attachment 370758
Patch

Rejecting attachment 370758 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-03&apos;, &apos;land-attachment&apos;, &apos;--force-clean&apos;, &apos;--non-interactive&apos;, &apos;--parent-command=commit-queue&apos;, 370758, &apos;--port=mac&apos;]&quot; exit_code: 2 cwd: /Volumes/Data/EWS/WebKit

Logging in as commit-queue@webkit.org...
Fetching: https://bugs.webkit.org/attachment.cgi?id=370758&amp;action=edit
Fetching: https://bugs.webkit.org/show_bug.cgi?id=198144&amp;ctype=xml&amp;excludefield=attachmentdata
Processing 1 patch from 1 bug.
Updating working directory
Processing patch 370758 from bug 198144.
Fetching: https://bugs.webkit.org/attachment.cgi?id=370758
Failed to run &quot;[u&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/svn-apply&apos;, &apos;--force&apos;, &apos;--reviewer&apos;, u&apos;Jonathan Bedard&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

Parsed 4 diffs from patch file(s).
patching file Tools/ChangeLog
Hunk #1 succeeded at 1 with fuzz 3.
patching file Tools/Scripts/webkitpy/port/darwin.py
Hunk #1 FAILED at 160.
1 out of 3 hunks FAILED -- saving rejects to file Tools/Scripts/webkitpy/port/darwin.py.rej
patching file Tools/Scripts/webkitpy/port/darwin_testcase.py
patching file Tools/Scripts/webkitpy/port/ios_device_unittest.py

Failed to run &quot;[u&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/svn-apply&apos;, &apos;--force&apos;, &apos;--reviewer&apos;, u&apos;Jonathan Bedard&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

Parsed 4 diffs from patch file(s).
patching file Tools/ChangeLog
Hunk #1 succeeded at 1 with fuzz 3.
patching file Tools/Scripts/webkitpy/port/darwin.py
Hunk #1 FAILED at 160.
1 out of 3 hunks FAILED -- saving rejects to file Tools/Scripts/webkitpy/port/darwin.py.rej
patching file Tools/Scripts/webkitpy/port/darwin_testcase.py
patching file Tools/Scripts/webkitpy/port/ios_device_unittest.py

Failed to run &quot;[u&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/svn-apply&apos;, &apos;--force&apos;, &apos;--reviewer&apos;, u&apos;Jonathan Bedard&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit
Updating OpenSource
From https://git.webkit.org/git/WebKit
   94e868c940d..b3072db9512  master     -&gt; origin/master
Partial-rebuilding .git/svn/refs/remotes/origin/master/.rev_map.268f45cc-cd09-0410-ab3c-d52691b4dbfc ...
Currently at 245818 = 94e868c940d46c5745869192d07255331d00102b
r245819 = be178318cabf09424be5f56cbbfc7175532c9171
r245820 = c3621ee093f87df566a1f6df881e6f0b90b84194
r245821 = b3072db95127511e6b4bbfebfeffdf2c759cec18
Done rebuilding .git/svn/refs/remotes/origin/master/.rev_map.268f45cc-cd09-0410-ab3c-d52691b4dbfc
First, rewinding head to replay your work on top of it...
Fast-forwarded master to refs/remotes/origin/master.

Full output: https://webkit-queues.webkit.org/results/12310132</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1539694</commentid>
    <comment_count>14</comment_count>
      <attachid>370774</attachid>
    <who name="hysu">hysu</who>
    <bug_when>2019-05-28 12:37:00 -0700</bug_when>
    <thetext>Created attachment 370774
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1539717</commentid>
    <comment_count>15</comment_count>
      <attachid>370774</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-05-28 14:04:50 -0700</bug_when>
    <thetext>Comment on attachment 370774
Patch

Clearing flags on attachment: 370774

Committed r245824: &lt;https://trac.webkit.org/changeset/245824&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1539718</commentid>
    <comment_count>16</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-05-28 14:04:52 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1540310</commentid>
    <comment_count>17</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2019-05-30 09:05:23 -0700</bug_when>
    <thetext>Committed r245885: &lt;https://trac.webkit.org/changeset/245885&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>370468</attachid>
            <date>2019-05-22 17:02:54 -0700</date>
            <delta_ts>2019-05-22 18:25:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-198144-20190522170253.patch</filename>
            <type>text/plain</type>
            <size>9865</size>
            <attacher name="hysu">hysu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ1NTk0CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggODFlYWJjNzVlMjgyNzE1ZGZkOGM0ZWU5MzUzMzkwMzA2
NjI4M2E3Zi4uYjhkMzViMDVmOGRhNTY3MjM5MGYwY2I3NzU3NTRkM2VhZGRjNDI5ZiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMw
IEBACisyMDE5LTA1LTIyICBEYXZpZCBYaW9uZyAgPHdfeGlvbmdAYXBwbGUuY29tPgorCisgICAg
ICAgIHdlYmtpdHB5OiBTd2l0Y2ggcnVuLXdlYmtpdC10ZXN0cyB0byB0YWlsc3BpbgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4MTQ0CisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS8zMjQ2MzIxMj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBDaGFuZ2VzIHJ1bi13ZWJraXQtdGVzdHMgdG8gcnVuIHRhaWxz
cGluIG9uIHRlc3QgdGltZSBvdXQsIGFuZAorICAgICAgICBlZGl0ZWQgdGVzdHMgdG8gbG9vayBm
b3IgdGFpbHNwaW4gbG9ncyByYXRoZXIgdGhhbiBzcGluZHVtcC4KKworICAgICAgICAqIFNjcmlw
dHMvd2Via2l0cHkvcG9ydC9kYXJ3aW4ucHk6CisgICAgICAgIChEYXJ3aW5Qb3J0LnNhbXBsZV9w
cm9jZXNzKToKKyAgICAgICAgKERhcndpblBvcnQpOgorICAgICAgICAoRGFyd2luUG9ydC50ZW1w
X3RhaWxzcGluX2ZpbGVfcGF0aCk6CisgICAgICAgIChEYXJ3aW5Qb3J0LnRhaWxzcGluX2ZpbGVf
cGF0aCk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L2Rhcndpbl90ZXN0Y2FzZS5w
eToKKyAgICAgICAgKERhcndpblRlc3QudGVzdF90YWlsc3Bpbik6CisgICAgICAgIChEYXJ3aW5U
ZXN0LnRlc3Rfc3BpbmR1bXApOiBEZWxldGVkLgorICAgICAgICAoRGFyd2luVGVzdC50ZXN0X3Nw
aW5kdW1wLmxvZ2dpbmdfcnVuX2NvbW1hbmQpOiBEZWxldGVkLgorICAgICAgICAqIFNjcmlwdHMv
d2Via2l0cHkvcG9ydC9pb3NfZGV2aWNlX3VuaXR0ZXN0LnB5OgorICAgICAgICAoSU9TRGV2aWNl
VGVzdC50ZXN0X3RhaWxzcGluKToKKyAgICAgICAgKElPU0RldmljZVRlc3QudGVzdF9zYW1wbGVf
cHJvY2Vzcy5sb2dnaW5nX3J1bl9jb21tYW5kKToKKyAgICAgICAgKElPU0RldmljZVRlc3QudGVz
dF9zYW1wbGVfcHJvY2Vzc19leGNlcHRpb24udGhyb3dpbmdfcnVuX2NvbW1hbmQpOgorICAgICAg
ICAoSU9TRGV2aWNlVGVzdC50ZXN0X3NwaW5kdW1wKTogRGVsZXRlZC4KKyAgICAgICAgKElPU0Rl
dmljZVRlc3QudGVzdF9zcGluZHVtcC5sb2dnaW5nX3J1bl9jb21tYW5kKTogRGVsZXRlZC4KKwog
MjAxOS0wNS0yMSAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAK
ICAgICAgICAgVW5yZXZpZXdlZC4gRml4IHRoZSBidWlsZCB3aXRoIEhBVkUoQUNDRVNTSUJJTElU
WSkgZGlzYWJsZWQKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9kYXJ3
aW4ucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvZGFyd2luLnB5CmluZGV4IDMzYTRi
Yzk3YjhmMDViMzFmOWZlZjM5OGI2MWMzOTEzNTA3MTMyMjAuLmMzOGRhZjFjY2U0MGFhMzQyNGZh
ZDNmNjFiMjJiZDhkNjU5ZmFjYjQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
cG9ydC9kYXJ3aW4ucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2Rhcndpbi5w
eQpAQCAtMTYwLDE4ICsxNjAsMzIgQEAgY2xhc3MgRGFyd2luUG9ydChBcHBsZVBvcnQpOgogICAg
IGRlZiBzYW1wbGVfcHJvY2VzcyhzZWxmLCBuYW1lLCBwaWQsIHRhcmdldF9ob3N0PU5vbmUpOgog
ICAgICAgICBob3N0ID0gdGFyZ2V0X2hvc3Qgb3Igc2VsZi5ob3N0CiAgICAgICAgIHRlbXBkaXIg
PSBob3N0LmZpbGVzeXN0ZW0ubWtkdGVtcCgpCisKICAgICAgICAgY29tbWFuZCA9IFsKLSAgICAg
ICAgICAgICcvdXNyL3NiaW4vc3BpbmR1bXAnLAotICAgICAgICAgICAgcGlkLAotICAgICAgICAg
ICAgMTAsCi0gICAgICAgICAgICAxMCwKLSAgICAgICAgICAgICctZmlsZScsCi0gICAgICAgICAg
ICBEYXJ3aW5Qb3J0LnNwaW5kdW1wX2ZpbGVfcGF0aChob3N0LCBuYW1lLCBwaWQsIHN0cih0ZW1w
ZGlyKSksCisgICAgICAgICAgICAnL3Vzci9iaW4vdGFpbHNwaW4nLAorICAgICAgICAgICAgJ3Nh
dmUnLAorICAgICAgICAgICAgJy1uJywKKyAgICAgICAgICAgIERhcndpblBvcnQudGVtcF90YWls
c3Bpbl9maWxlX3BhdGgoaG9zdCwgbmFtZSwgcGlkLCBzdHIodGVtcGRpcikpLAogICAgICAgICBd
CiAgICAgICAgIGlmIHNlbGYuaG9zdC5wbGF0Zm9ybS5pc19tYWMoKToKICAgICAgICAgICAgIGNv
bW1hbmQgPSBbJy91c3IvYmluL3N1ZG8nLCAnLW4nXSArIGNvbW1hbmQKKwogICAgICAgICBleGl0
X3N0YXR1cyA9IGhvc3QuZXhlY3V0aXZlLnJ1bl9jb21tYW5kKGNvbW1hbmQsIHJldHVybl9leGl0
X2NvZGU9VHJ1ZSkKLSAgICAgICAgaWYgZXhpdF9zdGF0dXM6CisgICAgICAgIGlmIG5vdCBleGl0
X3N0YXR1czogICMgU3ltYm9saWNhdGUgdGFpbHNwaW4gbG9nIHVzaW5nIHNwaW5kdW1wCisgICAg
ICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgc3ltYm9saWNhdGVfY29tbWFuZCA9IFsKKyAg
ICAgICAgICAgICAgICAgICAgJy91c3Ivc2Jpbi9zcGluZHVtcCcsCisgICAgICAgICAgICAgICAg
ICAgICctaScsCisgICAgICAgICAgICAgICAgICAgIERhcndpblBvcnQudGVtcF90YWlsc3Bpbl9m
aWxlX3BhdGgoaG9zdCwgbmFtZSwgcGlkLCBzdHIodGVtcGRpcikpLAorICAgICAgICAgICAgICAg
ICAgICAnLWZpbGUnLAorICAgICAgICAgICAgICAgICAgICBEYXJ3aW5Qb3J0LnRhaWxzcGluX2Zp
bGVfcGF0aChob3N0LCBuYW1lLCBwaWQsIHN0cih0ZW1wZGlyKSksCisgICAgICAgICAgICAgICAg
XQorICAgICAgICAgICAgICAgIGhvc3QuZXhlY3V0aXZlLnJ1bl9jb21tYW5kKHN5bWJvbGljYXRl
X2NvbW1hbmQpCisgICAgICAgICAgICAgICAgaG9zdC5maWxlc3lzdGVtLm1vdmVfdG9fYmFzZV9o
b3N0KERhcndpblBvcnQudGFpbHNwaW5fZmlsZV9wYXRoKGhvc3QsIG5hbWUsIHBpZCwgc3RyKHRl
bXBkaXIpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgRGFyd2luUG9ydC50YWlsc3Bpbl9maWxlX3BhdGgoc2VsZi5ob3N0LCBuYW1lLCBwaWQsIHNl
bGYucmVzdWx0c19kaXJlY3RvcnkoKSkpCisgICAgICAgICAgICBleGNlcHQgSU9FcnJvciBhcyBl
OgorICAgICAgICAgICAgICAgIF9sb2cud2FybmluZygnVW5hYmxlIHRvIHN5bWJvbGljYXRlIHRh
aWxzcGluIGxvZyBvZiBwcm9jZXNzOicgKyBzdHIoZSkpCisgICAgICAgIGVsc2U6ICAjIFRhaWxz
cGluIGZhaWxlZCEgUnVuIHNhbXBsZSBpbnN0ZWFkCiAgICAgICAgICAgICB0cnk6CiAgICAgICAg
ICAgICAgICAgaG9zdC5leGVjdXRpdmUucnVuX2NvbW1hbmQoWwogICAgICAgICAgICAgICAgICAg
ICAnL3Vzci9iaW4vc2FtcGxlJywKQEAgLTE4NSwxMSArMTk5LDkgQEAgY2xhc3MgRGFyd2luUG9y
dChBcHBsZVBvcnQpOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBEYXJ3aW5Qb3J0LnNhbXBsZV9maWxlX3BhdGgoc2VsZi5ob3N0LCBuYW1lLCBwaWQs
IHNlbGYucmVzdWx0c19kaXJlY3RvcnkoKSkpCiAgICAgICAgICAgICBleGNlcHQgU2NyaXB0RXJy
b3IgYXMgZToKICAgICAgICAgICAgICAgICBfbG9nLndhcm5pbmcoJ1VuYWJsZSB0byBzYW1wbGUg
cHJvY2VzczonICsgc3RyKGUpKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgaG9zdC5maWxl
c3lzdGVtLm1vdmVfdG9fYmFzZV9ob3N0KERhcndpblBvcnQuc3BpbmR1bXBfZmlsZV9wYXRoKGhv
c3QsIG5hbWUsIHBpZCwgc3RyKHRlbXBkaXIpKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBEYXJ3aW5Qb3J0LnNwaW5kdW1wX2ZpbGVfcGF0aChzZWxmLmhv
c3QsIG5hbWUsIHBpZCwgc2VsZi5yZXN1bHRzX2RpcmVjdG9yeSgpKSkKICAgICAgICAgaG9zdC5m
aWxlc3lzdGVtLnJtdHJlZShzdHIodGVtcGRpcikpCiAKKwogICAgIEBzdGF0aWNtZXRob2QKICAg
ICBkZWYgc2FtcGxlX2ZpbGVfcGF0aChob3N0LCBuYW1lLCBwaWQsIGRpcmVjdG9yeSk6CiAgICAg
ICAgIHJldHVybiBob3N0LmZpbGVzeXN0ZW0uam9pbihkaXJlY3RvcnksICJ7MH0tezF9LXNhbXBs
ZS50eHQiLmZvcm1hdChuYW1lLCBwaWQpKQpAQCAtMTk4LDYgKzIxMCwxNCBAQCBjbGFzcyBEYXJ3
aW5Qb3J0KEFwcGxlUG9ydCk6CiAgICAgZGVmIHNwaW5kdW1wX2ZpbGVfcGF0aChob3N0LCBuYW1l
LCBwaWQsIGRpcmVjdG9yeSk6CiAgICAgICAgIHJldHVybiBob3N0LmZpbGVzeXN0ZW0uam9pbihk
aXJlY3RvcnksICJ7MH0tezF9LXNwaW5kdW1wLnR4dCIuZm9ybWF0KG5hbWUsIHBpZCkpCiAKKyAg
ICBAc3RhdGljbWV0aG9kCisgICAgZGVmIHRlbXBfdGFpbHNwaW5fZmlsZV9wYXRoKGhvc3QsIG5h
bWUsIHBpZCwgZGlyZWN0b3J5KToKKyAgICAgICAgcmV0dXJuIGhvc3QuZmlsZXN5c3RlbS5qb2lu
KGRpcmVjdG9yeSwgInswfS17MX0tdGFpbHNwaW4tdGVtcC50eHQiLmZvcm1hdChuYW1lLCBwaWQp
KQorCisgICAgQHN0YXRpY21ldGhvZAorICAgIGRlZiB0YWlsc3Bpbl9maWxlX3BhdGgoaG9zdCwg
bmFtZSwgcGlkLCBkaXJlY3RvcnkpOgorICAgICAgICByZXR1cm4gaG9zdC5maWxlc3lzdGVtLmpv
aW4oZGlyZWN0b3J5LCAiezB9LXsxfS10YWlsc3Bpbi50eHQiLmZvcm1hdChuYW1lLCBwaWQpKQor
CiAgICAgZGVmIGxvb2tfZm9yX25ld19zYW1wbGVzKHNlbGYsIHVucmVzcG9uc2l2ZV9wcm9jZXNz
ZXMsIHN0YXJ0X3RpbWUpOgogICAgICAgICBzYW1wbGVfZmlsZXMgPSB7fQogICAgICAgICBmb3Ig
KHRlc3RfbmFtZSwgcHJvY2Vzc19uYW1lLCBwaWQpIGluIHVucmVzcG9uc2l2ZV9wcm9jZXNzZXM6
CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvZGFyd2luX3Rlc3RjYXNl
LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2Rhcndpbl90ZXN0Y2FzZS5weQppbmRl
eCBiY2IzNDY5ZjdjOGMxZjViOTY3MjE0ZDI1ZDM0MmZlZTliMjRhZGQ3Li5hOWM2NDkzNGFiZWRm
NzkzY2JlNzdlZTI1Mzc3OTI2NTMwYzcyNzlmIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L3BvcnQvZGFyd2luX3Rlc3RjYXNlLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvcG9ydC9kYXJ3aW5fdGVzdGNhc2UucHkKQEAgLTk4LDE4ICs5OCwyMCBAQCBjbGFzcyBEYXJ3
aW5UZXN0KHBvcnRfdGVzdGNhc2UuUG9ydFRlc3RDYXNlKToKICAgICAgICAgcG9ydCA9IHNlbGYu
bWFrZV9wb3J0KGhvc3QpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocG9ydC5wYXRoX3RvX2Ny
YXNoX2xvZ3MoKSwgJy9Vc2Vycy9tb2NrL0xpYnJhcnkvTG9ncy9EaWFnbm9zdGljUmVwb3J0cycp
CiAKLSAgICBkZWYgdGVzdF9zcGluZHVtcChzZWxmKToKKyAgICBkZWYgdGVzdF90YWlsc3Bpbihz
ZWxmKToKIAogICAgICAgICBkZWYgbG9nZ2luZ19ydW5fY29tbWFuZChhcmdzKToKICAgICAgICAg
ICAgIHByaW50KGFyZ3MpCiAKICAgICAgICAgcG9ydCA9IHNlbGYubWFrZV9wb3J0KCkKLSAgICAg
ICAgcG9ydC5ob3N0LmZpbGVzeXN0ZW0uZmlsZXNbJy9fX2ltX3RtcC90bXBfMF8vdGVzdC00Mi1z
cGluZHVtcC50eHQnXSA9ICdTcGluZHVtcCBmaWxlJworICAgICAgICBwb3J0Lmhvc3QuZmlsZXN5
c3RlbS5maWxlc1snL19faW1fdG1wL3RtcF8wXy90ZXN0LTQyLXRhaWxzcGluLXRlbXAudHh0J10g
PSAnVGVtcG9yYXJ5IHRhaWxzcGluIG91dHB1dCBmaWxlJworICAgICAgICBwb3J0Lmhvc3QuZmls
ZXN5c3RlbS5maWxlc1snL19faW1fdG1wL3RtcF8wXy90ZXN0LTQyLXRhaWxzcGluLnR4dCddID0g
J1N5bWJvbG9jYXRlZCB0YWlsc3BpbiBmaWxlJwogICAgICAgICBwb3J0Lmhvc3QuZXhlY3V0aXZl
ID0gTW9ja0V4ZWN1dGl2ZTIocnVuX2NvbW1hbmRfZm49bG9nZ2luZ19ydW5fY29tbWFuZCkKLSAg
ICAgICAgZXhwZWN0ZWRfc3Rkb3V0ID0gIlsnL3Vzci9iaW4vc3VkbycsICctbicsICcvdXNyL3Ni
aW4vc3BpbmR1bXAnLCA0MiwgMTAsIDEwLCAnLWZpbGUnLCAnL19faW1fdG1wL3RtcF8wXy90ZXN0
LTQyLXNwaW5kdW1wLnR4dCddXG4iCisgICAgICAgIGV4cGVjdGVkX3N0ZG91dCA9ICJbJy91c3Iv
YmluL3N1ZG8nLCAnLW4nLCAnL3Vzci9iaW4vdGFpbHNwaW4nLCAnc2F2ZScsICctbicsICcvX19p
bV90bXAvdG1wXzBfL3Rlc3QtNDItdGFpbHNwaW4tdGVtcC50eHQnXVxuWycvdXNyL3NiaW4vc3Bp
bmR1bXAnLCAnLWknLCAnL19faW1fdG1wL3RtcF8wXy90ZXN0LTQyLXRhaWxzcGluLXRlbXAudHh0
JywgJy1maWxlJywgJy9fX2ltX3RtcC90bXBfMF8vdGVzdC00Mi10YWlsc3Bpbi50eHQnXVxuIgog
ICAgICAgICBPdXRwdXRDYXB0dXJlKCkuYXNzZXJ0X291dHB1dHMoc2VsZiwgcG9ydC5zYW1wbGVf
cHJvY2VzcywgYXJncz1bJ3Rlc3QnLCA0Ml0sIGV4cGVjdGVkX3N0ZG91dD1leHBlY3RlZF9zdGRv
dXQpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocG9ydC5ob3N0LmZpbGVzeXN0ZW0uZmlsZXNb
Jy9tb2NrLWJ1aWxkL2xheW91dC10ZXN0LXJlc3VsdHMvdGVzdC00Mi1zcGluZHVtcC50eHQnXSwg
J1NwaW5kdW1wIGZpbGUnKQotICAgICAgICBzZWxmLmFzc2VydElzTm9uZShwb3J0Lmhvc3QuZmls
ZXN5c3RlbS5maWxlc1snL19faW1fdG1wL3RtcF8wXy90ZXN0LTQyLXNwaW5kdW1wLnR4dCddKQor
ICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBvcnQuaG9zdC5maWxlc3lzdGVtLmZpbGVzWycvbW9j
ay1idWlsZC9sYXlvdXQtdGVzdC1yZXN1bHRzL3Rlc3QtNDItdGFpbHNwaW4udHh0J10sICdTeW1i
b2xvY2F0ZWQgdGFpbHNwaW4gZmlsZScpCisgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKHBvcnQu
aG9zdC5maWxlc3lzdGVtLmZpbGVzWycvX19pbV90bXAvdG1wXzBfL3Rlc3QtNDItdGFpbHNwaW4t
dGVtcC50eHQnXSkKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUocG9ydC5ob3N0LmZpbGVzeXN0
ZW0uZmlsZXNbJy9fX2ltX3RtcC90bXBfMF8vdGVzdC00Mi10YWlsc3Bpbi50eHQnXSkKIAogICAg
IGRlZiB0ZXN0X3NhbXBsZV9wcm9jZXNzKHNlbGYpOgogCmRpZmYgLS1naXQgYS9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L3BvcnQvaW9zX2RldmljZV91bml0dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvcG9ydC9pb3NfZGV2aWNlX3VuaXR0ZXN0LnB5CmluZGV4IDRmNjEyODI1NzY1MjEw
ZTI2ZWZmN2MxOWNkOTUzMjQ1MjdhODJlMTYuLjE2ZTBkZTE4OTMzMmY4NmJlNDhlNmM0Zjc3N2Nl
NjVlMTExNmY0NzcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9pb3Nf
ZGV2aWNlX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9pb3Nf
ZGV2aWNlX3VuaXR0ZXN0LnB5CkBAIC00NSwyMSArNDUsMjMgQEAgY2xhc3MgSU9TRGV2aWNlVGVz
dChpb3NfdGVzdGNhc2UuSU9TVGVzdCk6CiAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMo
UnVudGltZUVycm9yKToKICAgICAgICAgICAgIHBvcnQucGF0aF90b19jcmFzaF9sb2dzKCkKIAot
ICAgIGRlZiB0ZXN0X3NwaW5kdW1wKHNlbGYpOgorICAgIGRlZiB0ZXN0X3RhaWxzcGluKHNlbGYp
OgogICAgICAgICBkZWYgbG9nZ2luZ19ydW5fY29tbWFuZChhcmdzKToKICAgICAgICAgICAgIHBy
aW50KGFyZ3MpCiAKICAgICAgICAgcG9ydCA9IHNlbGYubWFrZV9wb3J0KCkKLSAgICAgICAgcG9y
dC5ob3N0LmZpbGVzeXN0ZW0uZmlsZXNbJy9fX2ltX3RtcC90bXBfMF8vdGVzdC00Mi1zcGluZHVt
cC50eHQnXSA9ICdTcGluZHVtcCBmaWxlJworICAgICAgICBwb3J0Lmhvc3QuZmlsZXN5c3RlbS5m
aWxlc1snL19faW1fdG1wL3RtcF8wXy90ZXN0LTQyLXRhaWxzcGluLXRlbXAudHh0J10gPSAnVGVt
cG9yYXJ5IHRhaWxzcGluIG91dHB1dCBmaWxlJworICAgICAgICBwb3J0Lmhvc3QuZmlsZXN5c3Rl
bS5maWxlc1snL19faW1fdG1wL3RtcF8wXy90ZXN0LTQyLXRhaWxzcGluLnR4dCddID0gJ1N5bWJv
bG9jYXRlZCB0YWlsc3BpbiBmaWxlJwogICAgICAgICBwb3J0Lmhvc3QuZXhlY3V0aXZlID0gTW9j
a0V4ZWN1dGl2ZTIocnVuX2NvbW1hbmRfZm49bG9nZ2luZ19ydW5fY29tbWFuZCkKLSAgICAgICAg
ZXhwZWN0ZWRfc3Rkb3V0ID0gIlsnL3Vzci9zYmluL3NwaW5kdW1wJywgNDIsIDEwLCAxMCwgJy1m
aWxlJywgJy9fX2ltX3RtcC90bXBfMF8vdGVzdC00Mi1zcGluZHVtcC50eHQnXVxuIgorICAgICAg
ICBleHBlY3RlZF9zdGRvdXQgPSAiWycvdXNyL2Jpbi90YWlsc3BpbicsICdzYXZlJywgJy1uJywg
Jy9fX2ltX3RtcC90bXBfMF8vdGVzdC00Mi10YWlsc3Bpbi10ZW1wLnR4dCddXG5bJy91c3Ivc2Jp
bi9zcGluZHVtcCcsICctaScsICcvX19pbV90bXAvdG1wXzBfL3Rlc3QtNDItdGFpbHNwaW4tdGVt
cC50eHQnLCAnLWZpbGUnLCAnL19faW1fdG1wL3RtcF8wXy90ZXN0LTQyLXRhaWxzcGluLnR4dCdd
XG4iCiAgICAgICAgIE91dHB1dENhcHR1cmUoKS5hc3NlcnRfb3V0cHV0cyhzZWxmLCBwb3J0LnNh
bXBsZV9wcm9jZXNzLCBhcmdzPVsndGVzdCcsIDQyXSwgZXhwZWN0ZWRfc3Rkb3V0PWV4cGVjdGVk
X3N0ZG91dCkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwb3J0Lmhvc3QuZmlsZXN5c3RlbS5m
aWxlc1snL21vY2stYnVpbGQvbGF5b3V0LXRlc3QtcmVzdWx0cy90ZXN0LTQyLXNwaW5kdW1wLnR4
dCddLCAnU3BpbmR1bXAgZmlsZScpCi0gICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKHBvcnQuaG9z
dC5maWxlc3lzdGVtLmZpbGVzWycvX19pbV90bXAvdG1wXzBfL3Rlc3QtNDItc3BpbmR1bXAudHh0
J10pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocG9ydC5ob3N0LmZpbGVzeXN0ZW0uZmlsZXNb
Jy9tb2NrLWJ1aWxkL2xheW91dC10ZXN0LXJlc3VsdHMvdGVzdC00Mi10YWlsc3Bpbi50eHQnXSwg
J1N5bWJvbG9jYXRlZCB0YWlsc3BpbiBmaWxlJykKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUo
cG9ydC5ob3N0LmZpbGVzeXN0ZW0uZmlsZXNbJy9fX2ltX3RtcC90bXBfMF8vdGVzdC00Mi10YWls
c3Bpbi10ZW1wLnR4dCddKQorICAgICAgICBzZWxmLmFzc2VydElzTm9uZShwb3J0Lmhvc3QuZmls
ZXN5c3RlbS5maWxlc1snL19faW1fdG1wL3RtcF8wXy90ZXN0LTQyLXRhaWxzcGluLnR4dCddKQog
CiAgICAgZGVmIHRlc3Rfc2FtcGxlX3Byb2Nlc3Moc2VsZik6CiAgICAgICAgIGRlZiBsb2dnaW5n
X3J1bl9jb21tYW5kKGFyZ3MpOgotICAgICAgICAgICAgaWYgYXJnc1swXSA9PSAnL3Vzci9zYmlu
L3NwaW5kdW1wJzoKKyAgICAgICAgICAgIGlmIGFyZ3NbMF0gPT0gJy91c3IvYmluL3RhaWxzcGlu
JzoKICAgICAgICAgICAgICAgICByZXR1cm4gMQogICAgICAgICAgICAgcHJpbnQoYXJncykKICAg
ICAgICAgICAgIHJldHVybiAwCkBAIC03NCw3ICs3Niw3IEBAIGNsYXNzIElPU0RldmljZVRlc3Qo
aW9zX3Rlc3RjYXNlLklPU1Rlc3QpOgogCiAgICAgZGVmIHRlc3Rfc2FtcGxlX3Byb2Nlc3NfZXhj
ZXB0aW9uKHNlbGYpOgogICAgICAgICBkZWYgdGhyb3dpbmdfcnVuX2NvbW1hbmQoYXJncyk6Ci0g
ICAgICAgICAgICBpZiBhcmdzWzBdID09ICcvdXNyL3NiaW4vc3BpbmR1bXAnOgorICAgICAgICAg
ICAgaWYgYXJnc1swXSA9PSAnL3Vzci9iaW4vdGFpbHNwaW4nOgogICAgICAgICAgICAgICAgIHJl
dHVybiAxCiAgICAgICAgICAgICByYWlzZSBTY3JpcHRFcnJvcignTU9DSyBzY3JpcHQgZXJyb3In
KQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>370473</attachid>
            <date>2019-05-22 18:25:03 -0700</date>
            <delta_ts>2019-05-24 00:26:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-198144-20190522182502.patch</filename>
            <type>text/plain</type>
            <size>9997</size>
            <attacher name="hysu">hysu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ1NTk0CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggODFlYWJjNzVlMjgyNzE1ZGZkOGM0ZWU5MzUzMzkwMzA2
NjI4M2E3Zi4uMTdjNDM5MDRmODhjNGI0OTkwYjA3MTFhYjYyMDA3MjgyZmNkMTQwMSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMx
IEBACisyMDE5LTA1LTIyICBEYXZpZCBYaW9uZyAgPHdfeGlvbmdAYXBwbGUuY29tPgorCisgICAg
ICAgIHdlYmtpdHB5OiBTd2l0Y2ggcnVuLXdlYmtpdC10ZXN0cyB0byB0YWlsc3BpbgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4MTQ0CisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS8zMjQ2MzIxMj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBDaGFuZ2VzIHJ1bi13ZWJraXQtdGVzdHMgdG8gcnVuIHRhaWxz
cGluIG9uIHRlc3QgdGltZSBvdXQKKyAgICAgICAgcmF0aGVyIHRoYW4gc3BpbmR1bXAsIGFuZCBl
ZGl0ZWQgdGVzdHMgdG8gbG9vayBmb3IgdGFpbHNwaW4gbG9ncworICAgICAgICBpbnN0ZWFkLgor
CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L2Rhcndpbi5weToKKyAgICAgICAgKERh
cndpblBvcnQuc2FtcGxlX3Byb2Nlc3MpOiBSZXBsYWNlZCBzcGluZHVtcCB3aXRoIHRhaWxzcGlu
ICgrIHN5bWJvbGljYXRpb24pCisgICAgICAgIChEYXJ3aW5Qb3J0KToKKyAgICAgICAgKERhcndp
blBvcnQudGVtcF90YWlsc3Bpbl9maWxlX3BhdGgpOgorICAgICAgICAoRGFyd2luUG9ydC50YWls
c3Bpbl9maWxlX3BhdGgpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvcG9ydC9kYXJ3aW5f
dGVzdGNhc2UucHk6CisgICAgICAgIChEYXJ3aW5UZXN0LnRlc3RfdGFpbHNwaW4pOiBDaGFuZ2Vk
IHNwaW5kdW1wIHRlc3QgKGJlbG93KSB0byB0ZXN0IGZvciB0YWlsc3BpbiBpbnN0ZWFkCisgICAg
ICAgIChEYXJ3aW5UZXN0LnRlc3Rfc3BpbmR1bXApOiBEZWxldGVkLgorICAgICAgICAoRGFyd2lu
VGVzdC50ZXN0X3NwaW5kdW1wLmxvZ2dpbmdfcnVuX2NvbW1hbmQpOiBEZWxldGVkLgorICAgICAg
ICAqIFNjcmlwdHMvd2Via2l0cHkvcG9ydC9pb3NfZGV2aWNlX3VuaXR0ZXN0LnB5OgorICAgICAg
ICAoSU9TRGV2aWNlVGVzdC50ZXN0X3RhaWxzcGluKTogQ2hhbmdlZCBzcGluZHVtcCB0ZXN0cyAo
aW5jLiBiZWxvdykgdG8gdGVzdCBmb3IgdGFpbHNwaW4gaW5zdGVhZAorICAgICAgICAoSU9TRGV2
aWNlVGVzdC50ZXN0X3NhbXBsZV9wcm9jZXNzLmxvZ2dpbmdfcnVuX2NvbW1hbmQpOgorICAgICAg
ICAoSU9TRGV2aWNlVGVzdC50ZXN0X3NhbXBsZV9wcm9jZXNzX2V4Y2VwdGlvbi50aHJvd2luZ19y
dW5fY29tbWFuZCk6CisgICAgICAgIChJT1NEZXZpY2VUZXN0LnRlc3Rfc3BpbmR1bXApOiBEZWxl
dGVkLgorICAgICAgICAoSU9TRGV2aWNlVGVzdC50ZXN0X3NwaW5kdW1wLmxvZ2dpbmdfcnVuX2Nv
bW1hbmQpOiBEZWxldGVkLgorCiAyMDE5LTA1LTIxICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNn
YXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLiBGaXggdGhlIGJ1aWxkIHdp
dGggSEFWRShBQ0NFU1NJQklMSVRZKSBkaXNhYmxlZApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9wb3J0L2Rhcndpbi5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9k
YXJ3aW4ucHkKaW5kZXggMzNhNGJjOTdiOGYwNWIzMWY5ZmVmMzk4YjYxYzM5MTM1MDcxMzIyMC4u
ODg4NTcxN2Y4ZjNmZGQwOWUzOGQwMjcxM2Q5MWYyNTY2NjE5N2E3MSAxMDA2NDQKLS0tIGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2Rhcndpbi5weQorKysgYi9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L3BvcnQvZGFyd2luLnB5CkBAIC0xNjAsMTggKzE2MCwzMSBAQCBjbGFzcyBEYXJ3aW5Q
b3J0KEFwcGxlUG9ydCk6CiAgICAgZGVmIHNhbXBsZV9wcm9jZXNzKHNlbGYsIG5hbWUsIHBpZCwg
dGFyZ2V0X2hvc3Q9Tm9uZSk6CiAgICAgICAgIGhvc3QgPSB0YXJnZXRfaG9zdCBvciBzZWxmLmhv
c3QKICAgICAgICAgdGVtcGRpciA9IGhvc3QuZmlsZXN5c3RlbS5ta2R0ZW1wKCkKKwogICAgICAg
ICBjb21tYW5kID0gWwotICAgICAgICAgICAgJy91c3Ivc2Jpbi9zcGluZHVtcCcsCi0gICAgICAg
ICAgICBwaWQsCi0gICAgICAgICAgICAxMCwKLSAgICAgICAgICAgIDEwLAotICAgICAgICAgICAg
Jy1maWxlJywKLSAgICAgICAgICAgIERhcndpblBvcnQuc3BpbmR1bXBfZmlsZV9wYXRoKGhvc3Qs
IG5hbWUsIHBpZCwgc3RyKHRlbXBkaXIpKSwKKyAgICAgICAgICAgICcvdXNyL2Jpbi90YWlsc3Bp
bicsCisgICAgICAgICAgICAnc2F2ZScsCisgICAgICAgICAgICAnLW4nLAorICAgICAgICAgICAg
RGFyd2luUG9ydC50ZW1wX3RhaWxzcGluX2ZpbGVfcGF0aChob3N0LCBuYW1lLCBwaWQsIHN0cih0
ZW1wZGlyKSksCiAgICAgICAgIF0KICAgICAgICAgaWYgc2VsZi5ob3N0LnBsYXRmb3JtLmlzX21h
YygpOgogICAgICAgICAgICAgY29tbWFuZCA9IFsnL3Vzci9iaW4vc3VkbycsICctbiddICsgY29t
bWFuZAorCiAgICAgICAgIGV4aXRfc3RhdHVzID0gaG9zdC5leGVjdXRpdmUucnVuX2NvbW1hbmQo
Y29tbWFuZCwgcmV0dXJuX2V4aXRfY29kZT1UcnVlKQotICAgICAgICBpZiBleGl0X3N0YXR1czoK
KyAgICAgICAgaWYgbm90IGV4aXRfc3RhdHVzOiAgIyBTeW1ib2xpY2F0ZSB0YWlsc3BpbiBsb2cg
dXNpbmcgc3BpbmR1bXAKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBob3N0LmV4
ZWN1dGl2ZS5ydW5fY29tbWFuZChbCisgICAgICAgICAgICAgICAgICAgICcvdXNyL3NiaW4vc3Bp
bmR1bXAnLAorICAgICAgICAgICAgICAgICAgICAnLWknLAorICAgICAgICAgICAgICAgICAgICBE
YXJ3aW5Qb3J0LnRlbXBfdGFpbHNwaW5fZmlsZV9wYXRoKGhvc3QsIG5hbWUsIHBpZCwgc3RyKHRl
bXBkaXIpKSwKKyAgICAgICAgICAgICAgICAgICAgJy1maWxlJywKKyAgICAgICAgICAgICAgICAg
ICAgRGFyd2luUG9ydC50YWlsc3Bpbl9maWxlX3BhdGgoaG9zdCwgbmFtZSwgcGlkLCBzdHIodGVt
cGRpcikpLAorICAgICAgICAgICAgICAgIF0pCisgICAgICAgICAgICAgICAgaG9zdC5maWxlc3lz
dGVtLm1vdmVfdG9fYmFzZV9ob3N0KERhcndpblBvcnQudGFpbHNwaW5fZmlsZV9wYXRoKGhvc3Qs
IG5hbWUsIHBpZCwgc3RyKHRlbXBkaXIpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgRGFyd2luUG9ydC50YWlsc3Bpbl9maWxlX3BhdGgoc2VsZi5o
b3N0LCBuYW1lLCBwaWQsIHNlbGYucmVzdWx0c19kaXJlY3RvcnkoKSkpCisgICAgICAgICAgICBl
eGNlcHQgSU9FcnJvciBhcyBlOgorICAgICAgICAgICAgICAgIF9sb2cud2FybmluZygnVW5hYmxl
IHRvIHN5bWJvbGljYXRlIHRhaWxzcGluIGxvZyBvZiBwcm9jZXNzOicgKyBzdHIoZSkpCisgICAg
ICAgIGVsc2U6ICAjIFRhaWxzcGluIGZhaWxlZCEgUnVuIHNhbXBsZSBpbnN0ZWFkCiAgICAgICAg
ICAgICB0cnk6CiAgICAgICAgICAgICAgICAgaG9zdC5leGVjdXRpdmUucnVuX2NvbW1hbmQoWwog
ICAgICAgICAgICAgICAgICAgICAnL3Vzci9iaW4vc2FtcGxlJywKQEAgLTE4NSwxMSArMTk4LDkg
QEAgY2xhc3MgRGFyd2luUG9ydChBcHBsZVBvcnQpOgogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBEYXJ3aW5Qb3J0LnNhbXBsZV9maWxlX3BhdGgoc2Vs
Zi5ob3N0LCBuYW1lLCBwaWQsIHNlbGYucmVzdWx0c19kaXJlY3RvcnkoKSkpCiAgICAgICAgICAg
ICBleGNlcHQgU2NyaXB0RXJyb3IgYXMgZToKICAgICAgICAgICAgICAgICBfbG9nLndhcm5pbmco
J1VuYWJsZSB0byBzYW1wbGUgcHJvY2VzczonICsgc3RyKGUpKQotICAgICAgICBlbHNlOgotICAg
ICAgICAgICAgaG9zdC5maWxlc3lzdGVtLm1vdmVfdG9fYmFzZV9ob3N0KERhcndpblBvcnQuc3Bp
bmR1bXBfZmlsZV9wYXRoKGhvc3QsIG5hbWUsIHBpZCwgc3RyKHRlbXBkaXIpKSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEYXJ3aW5Qb3J0LnNwaW5kdW1w
X2ZpbGVfcGF0aChzZWxmLmhvc3QsIG5hbWUsIHBpZCwgc2VsZi5yZXN1bHRzX2RpcmVjdG9yeSgp
KSkKICAgICAgICAgaG9zdC5maWxlc3lzdGVtLnJtdHJlZShzdHIodGVtcGRpcikpCiAKKwogICAg
IEBzdGF0aWNtZXRob2QKICAgICBkZWYgc2FtcGxlX2ZpbGVfcGF0aChob3N0LCBuYW1lLCBwaWQs
IGRpcmVjdG9yeSk6CiAgICAgICAgIHJldHVybiBob3N0LmZpbGVzeXN0ZW0uam9pbihkaXJlY3Rv
cnksICJ7MH0tezF9LXNhbXBsZS50eHQiLmZvcm1hdChuYW1lLCBwaWQpKQpAQCAtMTk4LDYgKzIw
OSwxNCBAQCBjbGFzcyBEYXJ3aW5Qb3J0KEFwcGxlUG9ydCk6CiAgICAgZGVmIHNwaW5kdW1wX2Zp
bGVfcGF0aChob3N0LCBuYW1lLCBwaWQsIGRpcmVjdG9yeSk6CiAgICAgICAgIHJldHVybiBob3N0
LmZpbGVzeXN0ZW0uam9pbihkaXJlY3RvcnksICJ7MH0tezF9LXNwaW5kdW1wLnR4dCIuZm9ybWF0
KG5hbWUsIHBpZCkpCiAKKyAgICBAc3RhdGljbWV0aG9kCisgICAgZGVmIHRlbXBfdGFpbHNwaW5f
ZmlsZV9wYXRoKGhvc3QsIG5hbWUsIHBpZCwgZGlyZWN0b3J5KToKKyAgICAgICAgcmV0dXJuIGhv
c3QuZmlsZXN5c3RlbS5qb2luKGRpcmVjdG9yeSwgInswfS17MX0tdGFpbHNwaW4tdGVtcC50eHQi
LmZvcm1hdChuYW1lLCBwaWQpKQorCisgICAgQHN0YXRpY21ldGhvZAorICAgIGRlZiB0YWlsc3Bp
bl9maWxlX3BhdGgoaG9zdCwgbmFtZSwgcGlkLCBkaXJlY3RvcnkpOgorICAgICAgICByZXR1cm4g
aG9zdC5maWxlc3lzdGVtLmpvaW4oZGlyZWN0b3J5LCAiezB9LXsxfS10YWlsc3Bpbi50eHQiLmZv
cm1hdChuYW1lLCBwaWQpKQorCiAgICAgZGVmIGxvb2tfZm9yX25ld19zYW1wbGVzKHNlbGYsIHVu
cmVzcG9uc2l2ZV9wcm9jZXNzZXMsIHN0YXJ0X3RpbWUpOgogICAgICAgICBzYW1wbGVfZmlsZXMg
PSB7fQogICAgICAgICBmb3IgKHRlc3RfbmFtZSwgcHJvY2Vzc19uYW1lLCBwaWQpIGluIHVucmVz
cG9uc2l2ZV9wcm9jZXNzZXM6CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Bv
cnQvZGFyd2luX3Rlc3RjYXNlLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2Rhcndp
bl90ZXN0Y2FzZS5weQppbmRleCBiY2IzNDY5ZjdjOGMxZjViOTY3MjE0ZDI1ZDM0MmZlZTliMjRh
ZGQ3Li5hOWM2NDkzNGFiZWRmNzkzY2JlNzdlZTI1Mzc3OTI2NTMwYzcyNzlmIDEwMDY0NAotLS0g
YS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvZGFyd2luX3Rlc3RjYXNlLnB5CisrKyBiL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9kYXJ3aW5fdGVzdGNhc2UucHkKQEAgLTk4LDE4ICs5
OCwyMCBAQCBjbGFzcyBEYXJ3aW5UZXN0KHBvcnRfdGVzdGNhc2UuUG9ydFRlc3RDYXNlKToKICAg
ICAgICAgcG9ydCA9IHNlbGYubWFrZV9wb3J0KGhvc3QpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1
YWwocG9ydC5wYXRoX3RvX2NyYXNoX2xvZ3MoKSwgJy9Vc2Vycy9tb2NrL0xpYnJhcnkvTG9ncy9E
aWFnbm9zdGljUmVwb3J0cycpCiAKLSAgICBkZWYgdGVzdF9zcGluZHVtcChzZWxmKToKKyAgICBk
ZWYgdGVzdF90YWlsc3BpbihzZWxmKToKIAogICAgICAgICBkZWYgbG9nZ2luZ19ydW5fY29tbWFu
ZChhcmdzKToKICAgICAgICAgICAgIHByaW50KGFyZ3MpCiAKICAgICAgICAgcG9ydCA9IHNlbGYu
bWFrZV9wb3J0KCkKLSAgICAgICAgcG9ydC5ob3N0LmZpbGVzeXN0ZW0uZmlsZXNbJy9fX2ltX3Rt
cC90bXBfMF8vdGVzdC00Mi1zcGluZHVtcC50eHQnXSA9ICdTcGluZHVtcCBmaWxlJworICAgICAg
ICBwb3J0Lmhvc3QuZmlsZXN5c3RlbS5maWxlc1snL19faW1fdG1wL3RtcF8wXy90ZXN0LTQyLXRh
aWxzcGluLXRlbXAudHh0J10gPSAnVGVtcG9yYXJ5IHRhaWxzcGluIG91dHB1dCBmaWxlJworICAg
ICAgICBwb3J0Lmhvc3QuZmlsZXN5c3RlbS5maWxlc1snL19faW1fdG1wL3RtcF8wXy90ZXN0LTQy
LXRhaWxzcGluLnR4dCddID0gJ1N5bWJvbG9jYXRlZCB0YWlsc3BpbiBmaWxlJwogICAgICAgICBw
b3J0Lmhvc3QuZXhlY3V0aXZlID0gTW9ja0V4ZWN1dGl2ZTIocnVuX2NvbW1hbmRfZm49bG9nZ2lu
Z19ydW5fY29tbWFuZCkKLSAgICAgICAgZXhwZWN0ZWRfc3Rkb3V0ID0gIlsnL3Vzci9iaW4vc3Vk
bycsICctbicsICcvdXNyL3NiaW4vc3BpbmR1bXAnLCA0MiwgMTAsIDEwLCAnLWZpbGUnLCAnL19f
aW1fdG1wL3RtcF8wXy90ZXN0LTQyLXNwaW5kdW1wLnR4dCddXG4iCisgICAgICAgIGV4cGVjdGVk
X3N0ZG91dCA9ICJbJy91c3IvYmluL3N1ZG8nLCAnLW4nLCAnL3Vzci9iaW4vdGFpbHNwaW4nLCAn
c2F2ZScsICctbicsICcvX19pbV90bXAvdG1wXzBfL3Rlc3QtNDItdGFpbHNwaW4tdGVtcC50eHQn
XVxuWycvdXNyL3NiaW4vc3BpbmR1bXAnLCAnLWknLCAnL19faW1fdG1wL3RtcF8wXy90ZXN0LTQy
LXRhaWxzcGluLXRlbXAudHh0JywgJy1maWxlJywgJy9fX2ltX3RtcC90bXBfMF8vdGVzdC00Mi10
YWlsc3Bpbi50eHQnXVxuIgogICAgICAgICBPdXRwdXRDYXB0dXJlKCkuYXNzZXJ0X291dHB1dHMo
c2VsZiwgcG9ydC5zYW1wbGVfcHJvY2VzcywgYXJncz1bJ3Rlc3QnLCA0Ml0sIGV4cGVjdGVkX3N0
ZG91dD1leHBlY3RlZF9zdGRvdXQpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocG9ydC5ob3N0
LmZpbGVzeXN0ZW0uZmlsZXNbJy9tb2NrLWJ1aWxkL2xheW91dC10ZXN0LXJlc3VsdHMvdGVzdC00
Mi1zcGluZHVtcC50eHQnXSwgJ1NwaW5kdW1wIGZpbGUnKQotICAgICAgICBzZWxmLmFzc2VydElz
Tm9uZShwb3J0Lmhvc3QuZmlsZXN5c3RlbS5maWxlc1snL19faW1fdG1wL3RtcF8wXy90ZXN0LTQy
LXNwaW5kdW1wLnR4dCddKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBvcnQuaG9zdC5maWxl
c3lzdGVtLmZpbGVzWycvbW9jay1idWlsZC9sYXlvdXQtdGVzdC1yZXN1bHRzL3Rlc3QtNDItdGFp
bHNwaW4udHh0J10sICdTeW1ib2xvY2F0ZWQgdGFpbHNwaW4gZmlsZScpCisgICAgICAgIHNlbGYu
YXNzZXJ0SXNOb25lKHBvcnQuaG9zdC5maWxlc3lzdGVtLmZpbGVzWycvX19pbV90bXAvdG1wXzBf
L3Rlc3QtNDItdGFpbHNwaW4tdGVtcC50eHQnXSkKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUo
cG9ydC5ob3N0LmZpbGVzeXN0ZW0uZmlsZXNbJy9fX2ltX3RtcC90bXBfMF8vdGVzdC00Mi10YWls
c3Bpbi50eHQnXSkKIAogICAgIGRlZiB0ZXN0X3NhbXBsZV9wcm9jZXNzKHNlbGYpOgogCmRpZmYg
LS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvaW9zX2RldmljZV91bml0dGVzdC5w
eSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9pb3NfZGV2aWNlX3VuaXR0ZXN0LnB5Cmlu
ZGV4IDRmNjEyODI1NzY1MjEwZTI2ZWZmN2MxOWNkOTUzMjQ1MjdhODJlMTYuLjE2ZTBkZTE4OTMz
MmY4NmJlNDhlNmM0Zjc3N2NlNjVlMTExNmY0NzcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvcG9ydC9pb3NfZGV2aWNlX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvcG9ydC9pb3NfZGV2aWNlX3VuaXR0ZXN0LnB5CkBAIC00NSwyMSArNDUsMjMgQEAg
Y2xhc3MgSU9TRGV2aWNlVGVzdChpb3NfdGVzdGNhc2UuSU9TVGVzdCk6CiAgICAgICAgIHdpdGgg
c2VsZi5hc3NlcnRSYWlzZXMoUnVudGltZUVycm9yKToKICAgICAgICAgICAgIHBvcnQucGF0aF90
b19jcmFzaF9sb2dzKCkKIAotICAgIGRlZiB0ZXN0X3NwaW5kdW1wKHNlbGYpOgorICAgIGRlZiB0
ZXN0X3RhaWxzcGluKHNlbGYpOgogICAgICAgICBkZWYgbG9nZ2luZ19ydW5fY29tbWFuZChhcmdz
KToKICAgICAgICAgICAgIHByaW50KGFyZ3MpCiAKICAgICAgICAgcG9ydCA9IHNlbGYubWFrZV9w
b3J0KCkKLSAgICAgICAgcG9ydC5ob3N0LmZpbGVzeXN0ZW0uZmlsZXNbJy9fX2ltX3RtcC90bXBf
MF8vdGVzdC00Mi1zcGluZHVtcC50eHQnXSA9ICdTcGluZHVtcCBmaWxlJworICAgICAgICBwb3J0
Lmhvc3QuZmlsZXN5c3RlbS5maWxlc1snL19faW1fdG1wL3RtcF8wXy90ZXN0LTQyLXRhaWxzcGlu
LXRlbXAudHh0J10gPSAnVGVtcG9yYXJ5IHRhaWxzcGluIG91dHB1dCBmaWxlJworICAgICAgICBw
b3J0Lmhvc3QuZmlsZXN5c3RlbS5maWxlc1snL19faW1fdG1wL3RtcF8wXy90ZXN0LTQyLXRhaWxz
cGluLnR4dCddID0gJ1N5bWJvbG9jYXRlZCB0YWlsc3BpbiBmaWxlJwogICAgICAgICBwb3J0Lmhv
c3QuZXhlY3V0aXZlID0gTW9ja0V4ZWN1dGl2ZTIocnVuX2NvbW1hbmRfZm49bG9nZ2luZ19ydW5f
Y29tbWFuZCkKLSAgICAgICAgZXhwZWN0ZWRfc3Rkb3V0ID0gIlsnL3Vzci9zYmluL3NwaW5kdW1w
JywgNDIsIDEwLCAxMCwgJy1maWxlJywgJy9fX2ltX3RtcC90bXBfMF8vdGVzdC00Mi1zcGluZHVt
cC50eHQnXVxuIgorICAgICAgICBleHBlY3RlZF9zdGRvdXQgPSAiWycvdXNyL2Jpbi90YWlsc3Bp
bicsICdzYXZlJywgJy1uJywgJy9fX2ltX3RtcC90bXBfMF8vdGVzdC00Mi10YWlsc3Bpbi10ZW1w
LnR4dCddXG5bJy91c3Ivc2Jpbi9zcGluZHVtcCcsICctaScsICcvX19pbV90bXAvdG1wXzBfL3Rl
c3QtNDItdGFpbHNwaW4tdGVtcC50eHQnLCAnLWZpbGUnLCAnL19faW1fdG1wL3RtcF8wXy90ZXN0
LTQyLXRhaWxzcGluLnR4dCddXG4iCiAgICAgICAgIE91dHB1dENhcHR1cmUoKS5hc3NlcnRfb3V0
cHV0cyhzZWxmLCBwb3J0LnNhbXBsZV9wcm9jZXNzLCBhcmdzPVsndGVzdCcsIDQyXSwgZXhwZWN0
ZWRfc3Rkb3V0PWV4cGVjdGVkX3N0ZG91dCkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwb3J0
Lmhvc3QuZmlsZXN5c3RlbS5maWxlc1snL21vY2stYnVpbGQvbGF5b3V0LXRlc3QtcmVzdWx0cy90
ZXN0LTQyLXNwaW5kdW1wLnR4dCddLCAnU3BpbmR1bXAgZmlsZScpCi0gICAgICAgIHNlbGYuYXNz
ZXJ0SXNOb25lKHBvcnQuaG9zdC5maWxlc3lzdGVtLmZpbGVzWycvX19pbV90bXAvdG1wXzBfL3Rl
c3QtNDItc3BpbmR1bXAudHh0J10pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocG9ydC5ob3N0
LmZpbGVzeXN0ZW0uZmlsZXNbJy9tb2NrLWJ1aWxkL2xheW91dC10ZXN0LXJlc3VsdHMvdGVzdC00
Mi10YWlsc3Bpbi50eHQnXSwgJ1N5bWJvbG9jYXRlZCB0YWlsc3BpbiBmaWxlJykKKyAgICAgICAg
c2VsZi5hc3NlcnRJc05vbmUocG9ydC5ob3N0LmZpbGVzeXN0ZW0uZmlsZXNbJy9fX2ltX3RtcC90
bXBfMF8vdGVzdC00Mi10YWlsc3Bpbi10ZW1wLnR4dCddKQorICAgICAgICBzZWxmLmFzc2VydElz
Tm9uZShwb3J0Lmhvc3QuZmlsZXN5c3RlbS5maWxlc1snL19faW1fdG1wL3RtcF8wXy90ZXN0LTQy
LXRhaWxzcGluLnR4dCddKQogCiAgICAgZGVmIHRlc3Rfc2FtcGxlX3Byb2Nlc3Moc2VsZik6CiAg
ICAgICAgIGRlZiBsb2dnaW5nX3J1bl9jb21tYW5kKGFyZ3MpOgotICAgICAgICAgICAgaWYgYXJn
c1swXSA9PSAnL3Vzci9zYmluL3NwaW5kdW1wJzoKKyAgICAgICAgICAgIGlmIGFyZ3NbMF0gPT0g
Jy91c3IvYmluL3RhaWxzcGluJzoKICAgICAgICAgICAgICAgICByZXR1cm4gMQogICAgICAgICAg
ICAgcHJpbnQoYXJncykKICAgICAgICAgICAgIHJldHVybiAwCkBAIC03NCw3ICs3Niw3IEBAIGNs
YXNzIElPU0RldmljZVRlc3QoaW9zX3Rlc3RjYXNlLklPU1Rlc3QpOgogCiAgICAgZGVmIHRlc3Rf
c2FtcGxlX3Byb2Nlc3NfZXhjZXB0aW9uKHNlbGYpOgogICAgICAgICBkZWYgdGhyb3dpbmdfcnVu
X2NvbW1hbmQoYXJncyk6Ci0gICAgICAgICAgICBpZiBhcmdzWzBdID09ICcvdXNyL3NiaW4vc3Bp
bmR1bXAnOgorICAgICAgICAgICAgaWYgYXJnc1swXSA9PSAnL3Vzci9iaW4vdGFpbHNwaW4nOgog
ICAgICAgICAgICAgICAgIHJldHVybiAxCiAgICAgICAgICAgICByYWlzZSBTY3JpcHRFcnJvcign
TU9DSyBzY3JpcHQgZXJyb3InKQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>370566</attachid>
            <date>2019-05-24 00:27:02 -0700</date>
            <delta_ts>2019-05-28 10:16:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-198144-20190524002701.patch</filename>
            <type>text/plain</type>
            <size>9734</size>
            <attacher name="hysu">hysu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ1NTk0CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggODFlYWJjNzVlMjgyNzE1ZGZkOGM0ZWU5MzUzMzkwMzA2
NjI4M2E3Zi4uMmYxNDE3NmJlMDhhMmUxOTFkMjkzM2RmYzMwM2RjNzRmNzc4MWZlMSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMx
IEBACisyMDE5LTA1LTIyICBEYXZpZCBYaW9uZyAgPHdfeGlvbmdAYXBwbGUuY29tPgorCisgICAg
ICAgIHdlYmtpdHB5OiBTd2l0Y2ggcnVuLXdlYmtpdC10ZXN0cyB0byB0YWlsc3BpbgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4MTQ0CisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS8zMjQ2MzIxMj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBDaGFuZ2VzIHJ1bi13ZWJraXQtdGVzdHMgdG8gcnVuIHRhaWxz
cGluIG9uIHRlc3QgdGltZSBvdXQKKyAgICAgICAgcmF0aGVyIHRoYW4gc3BpbmR1bXAsIGFuZCBl
ZGl0ZWQgdGVzdHMgdG8gbG9vayBmb3IgdGFpbHNwaW4gbG9ncworICAgICAgICBpbnN0ZWFkLgor
CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L2Rhcndpbi5weToKKyAgICAgICAgKERh
cndpblBvcnQuc2FtcGxlX3Byb2Nlc3MpOiBSZXBsYWNlZCBzcGluZHVtcCB3aXRoIHRhaWxzcGlu
ICgrIHN5bWJvbGljYXRpb24pCisgICAgICAgIChEYXJ3aW5Qb3J0KToKKyAgICAgICAgKERhcndp
blBvcnQudGFpbHNwaW5fZmlsZV9wYXRoKToKKyAgICAgICAgKERhcndpblRlc3Quc3BpbmR1bXBf
ZmlsZV9wYXRoKTogRGVsZXRlZC4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvZGFy
d2luX3Rlc3RjYXNlLnB5OgorICAgICAgICAoRGFyd2luVGVzdC50ZXN0X3RhaWxzcGluKTogQ2hh
bmdlZCBzcGluZHVtcCB0ZXN0IChiZWxvdykgdG8gdGVzdCBmb3IgdGFpbHNwaW4gaW5zdGVhZAor
ICAgICAgICAoRGFyd2luVGVzdC50ZXN0X3NwaW5kdW1wKTogRGVsZXRlZC4KKyAgICAgICAgKERh
cndpblRlc3QudGVzdF9zcGluZHVtcC5sb2dnaW5nX3J1bl9jb21tYW5kKTogRGVsZXRlZC4KKyAg
ICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvaW9zX2RldmljZV91bml0dGVzdC5weToKKyAg
ICAgICAgKElPU0RldmljZVRlc3QudGVzdF90YWlsc3Bpbik6IENoYW5nZWQgc3BpbmR1bXAgdGVz
dHMgKGluYy4gYmVsb3cpIHRvIHRlc3QgZm9yIHRhaWxzcGluIGluc3RlYWQKKyAgICAgICAgKElP
U0RldmljZVRlc3QudGVzdF9zYW1wbGVfcHJvY2Vzcy5sb2dnaW5nX3J1bl9jb21tYW5kKToKKyAg
ICAgICAgKElPU0RldmljZVRlc3QudGVzdF9zYW1wbGVfcHJvY2Vzc19leGNlcHRpb24udGhyb3dp
bmdfcnVuX2NvbW1hbmQpOgorICAgICAgICAoSU9TRGV2aWNlVGVzdC50ZXN0X3NwaW5kdW1wKTog
RGVsZXRlZC4KKyAgICAgICAgKElPU0RldmljZVRlc3QudGVzdF9zcGluZHVtcC5sb2dnaW5nX3J1
bl9jb21tYW5kKTogRGVsZXRlZC4KKwogMjAxOS0wNS0yMSAgQ2FybG9zIEdhcmNpYSBDYW1wb3Mg
IDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZC4gRml4IHRoZSBidWls
ZCB3aXRoIEhBVkUoQUNDRVNTSUJJTElUWSkgZGlzYWJsZWQKZGlmZiAtLWdpdCBhL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvcG9ydC9kYXJ3aW4ucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Bv
cnQvZGFyd2luLnB5CmluZGV4IDMzYTRiYzk3YjhmMDViMzFmOWZlZjM5OGI2MWMzOTEzNTA3MTMy
MjAuLmM2NzM4NDJjOGZhNWMxNmJhMDNkNzc4ZWI0YjIxMmJkY2U5MjlhZDYgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9kYXJ3aW4ucHkKKysrIGIvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9wb3J0L2Rhcndpbi5weQpAQCAtMTYwLDE4ICsxNjAsMzEgQEAgY2xhc3MgRGFy
d2luUG9ydChBcHBsZVBvcnQpOgogICAgIGRlZiBzYW1wbGVfcHJvY2VzcyhzZWxmLCBuYW1lLCBw
aWQsIHRhcmdldF9ob3N0PU5vbmUpOgogICAgICAgICBob3N0ID0gdGFyZ2V0X2hvc3Qgb3Igc2Vs
Zi5ob3N0CiAgICAgICAgIHRlbXBkaXIgPSBob3N0LmZpbGVzeXN0ZW0ubWtkdGVtcCgpCisgICAg
ICAgIHRlbXBfdGFpbHNwaW5fZmlsZV9wYXRoID0gaG9zdC5maWxlc3lzdGVtLmpvaW4oc3RyKHRl
bXBkaXIpLCAiezB9LXsxfS10YWlsc3Bpbi10ZW1wLnR4dCIuZm9ybWF0KG5hbWUsIHBpZCkpCiAg
ICAgICAgIGNvbW1hbmQgPSBbCi0gICAgICAgICAgICAnL3Vzci9zYmluL3NwaW5kdW1wJywKLSAg
ICAgICAgICAgIHBpZCwKLSAgICAgICAgICAgIDEwLAotICAgICAgICAgICAgMTAsCi0gICAgICAg
ICAgICAnLWZpbGUnLAotICAgICAgICAgICAgRGFyd2luUG9ydC5zcGluZHVtcF9maWxlX3BhdGgo
aG9zdCwgbmFtZSwgcGlkLCBzdHIodGVtcGRpcikpLAorICAgICAgICAgICAgJy91c3IvYmluL3Rh
aWxzcGluJywKKyAgICAgICAgICAgICdzYXZlJywKKyAgICAgICAgICAgICctbicsCisgICAgICAg
ICAgICB0ZW1wX3RhaWxzcGluX2ZpbGVfcGF0aCwKICAgICAgICAgXQogICAgICAgICBpZiBzZWxm
Lmhvc3QucGxhdGZvcm0uaXNfbWFjKCk6CiAgICAgICAgICAgICBjb21tYW5kID0gWycvdXNyL2Jp
bi9zdWRvJywgJy1uJ10gKyBjb21tYW5kCisKICAgICAgICAgZXhpdF9zdGF0dXMgPSBob3N0LmV4
ZWN1dGl2ZS5ydW5fY29tbWFuZChjb21tYW5kLCByZXR1cm5fZXhpdF9jb2RlPVRydWUpCi0gICAg
ICAgIGlmIGV4aXRfc3RhdHVzOgorICAgICAgICBpZiBub3QgZXhpdF9zdGF0dXM6ICAjIFN5bWJv
bGljYXRlIHRhaWxzcGluIGxvZyB1c2luZyBzcGluZHVtcAorICAgICAgICAgICAgdHJ5OgorICAg
ICAgICAgICAgICAgIGhvc3QuZXhlY3V0aXZlLnJ1bl9jb21tYW5kKFsKKyAgICAgICAgICAgICAg
ICAgICAgJy91c3Ivc2Jpbi9zcGluZHVtcCcsCisgICAgICAgICAgICAgICAgICAgICctaScsCisg
ICAgICAgICAgICAgICAgICAgIHRlbXBfdGFpbHNwaW5fZmlsZV9wYXRoLAorICAgICAgICAgICAg
ICAgICAgICAnLWZpbGUnLAorICAgICAgICAgICAgICAgICAgICBEYXJ3aW5Qb3J0LnRhaWxzcGlu
X2ZpbGVfcGF0aChob3N0LCBuYW1lLCBwaWQsIHN0cih0ZW1wZGlyKSksCisgICAgICAgICAgICAg
ICAgXSkKKyAgICAgICAgICAgICAgICBob3N0LmZpbGVzeXN0ZW0ubW92ZV90b19iYXNlX2hvc3Qo
RGFyd2luUG9ydC50YWlsc3Bpbl9maWxlX3BhdGgoaG9zdCwgbmFtZSwgcGlkLCBzdHIodGVtcGRp
cikpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBE
YXJ3aW5Qb3J0LnRhaWxzcGluX2ZpbGVfcGF0aChzZWxmLmhvc3QsIG5hbWUsIHBpZCwgc2VsZi5y
ZXN1bHRzX2RpcmVjdG9yeSgpKSkKKyAgICAgICAgICAgIGV4Y2VwdCBJT0Vycm9yIGFzIGU6Cisg
ICAgICAgICAgICAgICAgX2xvZy53YXJuaW5nKCdVbmFibGUgdG8gc3ltYm9saWNhdGUgdGFpbHNw
aW4gbG9nIG9mIHByb2Nlc3M6JyArIHN0cihlKSkKKyAgICAgICAgZWxzZTogICMgVGFpbHNwaW4g
ZmFpbGVkISBSdW4gc2FtcGxlIGluc3RlYWQKICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAg
ICAgICBob3N0LmV4ZWN1dGl2ZS5ydW5fY29tbWFuZChbCiAgICAgICAgICAgICAgICAgICAgICcv
dXNyL2Jpbi9zYW1wbGUnLApAQCAtMTg1LDE4ICsxOTgsMTYgQEAgY2xhc3MgRGFyd2luUG9ydChB
cHBsZVBvcnQpOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBEYXJ3aW5Qb3J0LnNhbXBsZV9maWxlX3BhdGgoc2VsZi5ob3N0LCBuYW1lLCBwaWQsIHNl
bGYucmVzdWx0c19kaXJlY3RvcnkoKSkpCiAgICAgICAgICAgICBleGNlcHQgU2NyaXB0RXJyb3Ig
YXMgZToKICAgICAgICAgICAgICAgICBfbG9nLndhcm5pbmcoJ1VuYWJsZSB0byBzYW1wbGUgcHJv
Y2VzczonICsgc3RyKGUpKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgaG9zdC5maWxlc3lz
dGVtLm1vdmVfdG9fYmFzZV9ob3N0KERhcndpblBvcnQuc3BpbmR1bXBfZmlsZV9wYXRoKGhvc3Qs
IG5hbWUsIHBpZCwgc3RyKHRlbXBkaXIpKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBEYXJ3aW5Qb3J0LnNwaW5kdW1wX2ZpbGVfcGF0aChzZWxmLmhvc3Qs
IG5hbWUsIHBpZCwgc2VsZi5yZXN1bHRzX2RpcmVjdG9yeSgpKSkKICAgICAgICAgaG9zdC5maWxl
c3lzdGVtLnJtdHJlZShzdHIodGVtcGRpcikpCiAKKwogICAgIEBzdGF0aWNtZXRob2QKICAgICBk
ZWYgc2FtcGxlX2ZpbGVfcGF0aChob3N0LCBuYW1lLCBwaWQsIGRpcmVjdG9yeSk6CiAgICAgICAg
IHJldHVybiBob3N0LmZpbGVzeXN0ZW0uam9pbihkaXJlY3RvcnksICJ7MH0tezF9LXNhbXBsZS50
eHQiLmZvcm1hdChuYW1lLCBwaWQpKQogCiAgICAgQHN0YXRpY21ldGhvZAotICAgIGRlZiBzcGlu
ZHVtcF9maWxlX3BhdGgoaG9zdCwgbmFtZSwgcGlkLCBkaXJlY3RvcnkpOgotICAgICAgICByZXR1
cm4gaG9zdC5maWxlc3lzdGVtLmpvaW4oZGlyZWN0b3J5LCAiezB9LXsxfS1zcGluZHVtcC50eHQi
LmZvcm1hdChuYW1lLCBwaWQpKQorICAgIGRlZiB0YWlsc3Bpbl9maWxlX3BhdGgoaG9zdCwgbmFt
ZSwgcGlkLCBkaXJlY3RvcnkpOgorICAgICAgICByZXR1cm4gaG9zdC5maWxlc3lzdGVtLmpvaW4o
ZGlyZWN0b3J5LCAiezB9LXsxfS10YWlsc3Bpbi50eHQiLmZvcm1hdChuYW1lLCBwaWQpKQogCiAg
ICAgZGVmIGxvb2tfZm9yX25ld19zYW1wbGVzKHNlbGYsIHVucmVzcG9uc2l2ZV9wcm9jZXNzZXMs
IHN0YXJ0X3RpbWUpOgogICAgICAgICBzYW1wbGVfZmlsZXMgPSB7fQpkaWZmIC0tZ2l0IGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2Rhcndpbl90ZXN0Y2FzZS5weSBiL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvcG9ydC9kYXJ3aW5fdGVzdGNhc2UucHkKaW5kZXggYmNiMzQ2OWY3YzhjMWY1
Yjk2NzIxNGQyNWQzNDJmZWU5YjI0YWRkNy4uYTljNjQ5MzRhYmVkZjc5M2NiZTc3ZWUyNTM3Nzky
NjUzMGM3Mjc5ZiAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2Rhcndp
bl90ZXN0Y2FzZS5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvZGFyd2luX3Rl
c3RjYXNlLnB5CkBAIC05OCwxOCArOTgsMjAgQEAgY2xhc3MgRGFyd2luVGVzdChwb3J0X3Rlc3Rj
YXNlLlBvcnRUZXN0Q2FzZSk6CiAgICAgICAgIHBvcnQgPSBzZWxmLm1ha2VfcG9ydChob3N0KQog
ICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBvcnQucGF0aF90b19jcmFzaF9sb2dzKCksICcvVXNl
cnMvbW9jay9MaWJyYXJ5L0xvZ3MvRGlhZ25vc3RpY1JlcG9ydHMnKQogCi0gICAgZGVmIHRlc3Rf
c3BpbmR1bXAoc2VsZik6CisgICAgZGVmIHRlc3RfdGFpbHNwaW4oc2VsZik6CiAKICAgICAgICAg
ZGVmIGxvZ2dpbmdfcnVuX2NvbW1hbmQoYXJncyk6CiAgICAgICAgICAgICBwcmludChhcmdzKQog
CiAgICAgICAgIHBvcnQgPSBzZWxmLm1ha2VfcG9ydCgpCi0gICAgICAgIHBvcnQuaG9zdC5maWxl
c3lzdGVtLmZpbGVzWycvX19pbV90bXAvdG1wXzBfL3Rlc3QtNDItc3BpbmR1bXAudHh0J10gPSAn
U3BpbmR1bXAgZmlsZScKKyAgICAgICAgcG9ydC5ob3N0LmZpbGVzeXN0ZW0uZmlsZXNbJy9fX2lt
X3RtcC90bXBfMF8vdGVzdC00Mi10YWlsc3Bpbi10ZW1wLnR4dCddID0gJ1RlbXBvcmFyeSB0YWls
c3BpbiBvdXRwdXQgZmlsZScKKyAgICAgICAgcG9ydC5ob3N0LmZpbGVzeXN0ZW0uZmlsZXNbJy9f
X2ltX3RtcC90bXBfMF8vdGVzdC00Mi10YWlsc3Bpbi50eHQnXSA9ICdTeW1ib2xvY2F0ZWQgdGFp
bHNwaW4gZmlsZScKICAgICAgICAgcG9ydC5ob3N0LmV4ZWN1dGl2ZSA9IE1vY2tFeGVjdXRpdmUy
KHJ1bl9jb21tYW5kX2ZuPWxvZ2dpbmdfcnVuX2NvbW1hbmQpCi0gICAgICAgIGV4cGVjdGVkX3N0
ZG91dCA9ICJbJy91c3IvYmluL3N1ZG8nLCAnLW4nLCAnL3Vzci9zYmluL3NwaW5kdW1wJywgNDIs
IDEwLCAxMCwgJy1maWxlJywgJy9fX2ltX3RtcC90bXBfMF8vdGVzdC00Mi1zcGluZHVtcC50eHQn
XVxuIgorICAgICAgICBleHBlY3RlZF9zdGRvdXQgPSAiWycvdXNyL2Jpbi9zdWRvJywgJy1uJywg
Jy91c3IvYmluL3RhaWxzcGluJywgJ3NhdmUnLCAnLW4nLCAnL19faW1fdG1wL3RtcF8wXy90ZXN0
LTQyLXRhaWxzcGluLXRlbXAudHh0J11cblsnL3Vzci9zYmluL3NwaW5kdW1wJywgJy1pJywgJy9f
X2ltX3RtcC90bXBfMF8vdGVzdC00Mi10YWlsc3Bpbi10ZW1wLnR4dCcsICctZmlsZScsICcvX19p
bV90bXAvdG1wXzBfL3Rlc3QtNDItdGFpbHNwaW4udHh0J11cbiIKICAgICAgICAgT3V0cHV0Q2Fw
dHVyZSgpLmFzc2VydF9vdXRwdXRzKHNlbGYsIHBvcnQuc2FtcGxlX3Byb2Nlc3MsIGFyZ3M9Wyd0
ZXN0JywgNDJdLCBleHBlY3RlZF9zdGRvdXQ9ZXhwZWN0ZWRfc3Rkb3V0KQotICAgICAgICBzZWxm
LmFzc2VydEVxdWFsKHBvcnQuaG9zdC5maWxlc3lzdGVtLmZpbGVzWycvbW9jay1idWlsZC9sYXlv
dXQtdGVzdC1yZXN1bHRzL3Rlc3QtNDItc3BpbmR1bXAudHh0J10sICdTcGluZHVtcCBmaWxlJykK
LSAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUocG9ydC5ob3N0LmZpbGVzeXN0ZW0uZmlsZXNbJy9f
X2ltX3RtcC90bXBfMF8vdGVzdC00Mi1zcGluZHVtcC50eHQnXSkKKyAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbChwb3J0Lmhvc3QuZmlsZXN5c3RlbS5maWxlc1snL21vY2stYnVpbGQvbGF5b3V0LXRl
c3QtcmVzdWx0cy90ZXN0LTQyLXRhaWxzcGluLnR4dCddLCAnU3ltYm9sb2NhdGVkIHRhaWxzcGlu
IGZpbGUnKQorICAgICAgICBzZWxmLmFzc2VydElzTm9uZShwb3J0Lmhvc3QuZmlsZXN5c3RlbS5m
aWxlc1snL19faW1fdG1wL3RtcF8wXy90ZXN0LTQyLXRhaWxzcGluLXRlbXAudHh0J10pCisgICAg
ICAgIHNlbGYuYXNzZXJ0SXNOb25lKHBvcnQuaG9zdC5maWxlc3lzdGVtLmZpbGVzWycvX19pbV90
bXAvdG1wXzBfL3Rlc3QtNDItdGFpbHNwaW4udHh0J10pCiAKICAgICBkZWYgdGVzdF9zYW1wbGVf
cHJvY2VzcyhzZWxmKToKIApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0
L2lvc19kZXZpY2VfdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvaW9z
X2RldmljZV91bml0dGVzdC5weQppbmRleCA0ZjYxMjgyNTc2NTIxMGUyNmVmZjdjMTljZDk1MzI0
NTI3YTgyZTE2Li4xNmUwZGUxODkzMzJmODZiZTQ4ZTZjNGY3NzdjZTY1ZTExMTZmNDc3IDEwMDY0
NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvaW9zX2RldmljZV91bml0dGVzdC5w
eQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvaW9zX2RldmljZV91bml0dGVzdC5w
eQpAQCAtNDUsMjEgKzQ1LDIzIEBAIGNsYXNzIElPU0RldmljZVRlc3QoaW9zX3Rlc3RjYXNlLklP
U1Rlc3QpOgogICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFJ1bnRpbWVFcnJvcik6CiAg
ICAgICAgICAgICBwb3J0LnBhdGhfdG9fY3Jhc2hfbG9ncygpCiAKLSAgICBkZWYgdGVzdF9zcGlu
ZHVtcChzZWxmKToKKyAgICBkZWYgdGVzdF90YWlsc3BpbihzZWxmKToKICAgICAgICAgZGVmIGxv
Z2dpbmdfcnVuX2NvbW1hbmQoYXJncyk6CiAgICAgICAgICAgICBwcmludChhcmdzKQogCiAgICAg
ICAgIHBvcnQgPSBzZWxmLm1ha2VfcG9ydCgpCi0gICAgICAgIHBvcnQuaG9zdC5maWxlc3lzdGVt
LmZpbGVzWycvX19pbV90bXAvdG1wXzBfL3Rlc3QtNDItc3BpbmR1bXAudHh0J10gPSAnU3BpbmR1
bXAgZmlsZScKKyAgICAgICAgcG9ydC5ob3N0LmZpbGVzeXN0ZW0uZmlsZXNbJy9fX2ltX3RtcC90
bXBfMF8vdGVzdC00Mi10YWlsc3Bpbi10ZW1wLnR4dCddID0gJ1RlbXBvcmFyeSB0YWlsc3BpbiBv
dXRwdXQgZmlsZScKKyAgICAgICAgcG9ydC5ob3N0LmZpbGVzeXN0ZW0uZmlsZXNbJy9fX2ltX3Rt
cC90bXBfMF8vdGVzdC00Mi10YWlsc3Bpbi50eHQnXSA9ICdTeW1ib2xvY2F0ZWQgdGFpbHNwaW4g
ZmlsZScKICAgICAgICAgcG9ydC5ob3N0LmV4ZWN1dGl2ZSA9IE1vY2tFeGVjdXRpdmUyKHJ1bl9j
b21tYW5kX2ZuPWxvZ2dpbmdfcnVuX2NvbW1hbmQpCi0gICAgICAgIGV4cGVjdGVkX3N0ZG91dCA9
ICJbJy91c3Ivc2Jpbi9zcGluZHVtcCcsIDQyLCAxMCwgMTAsICctZmlsZScsICcvX19pbV90bXAv
dG1wXzBfL3Rlc3QtNDItc3BpbmR1bXAudHh0J11cbiIKKyAgICAgICAgZXhwZWN0ZWRfc3Rkb3V0
ID0gIlsnL3Vzci9iaW4vdGFpbHNwaW4nLCAnc2F2ZScsICctbicsICcvX19pbV90bXAvdG1wXzBf
L3Rlc3QtNDItdGFpbHNwaW4tdGVtcC50eHQnXVxuWycvdXNyL3NiaW4vc3BpbmR1bXAnLCAnLWkn
LCAnL19faW1fdG1wL3RtcF8wXy90ZXN0LTQyLXRhaWxzcGluLXRlbXAudHh0JywgJy1maWxlJywg
Jy9fX2ltX3RtcC90bXBfMF8vdGVzdC00Mi10YWlsc3Bpbi50eHQnXVxuIgogICAgICAgICBPdXRw
dXRDYXB0dXJlKCkuYXNzZXJ0X291dHB1dHMoc2VsZiwgcG9ydC5zYW1wbGVfcHJvY2VzcywgYXJn
cz1bJ3Rlc3QnLCA0Ml0sIGV4cGVjdGVkX3N0ZG91dD1leHBlY3RlZF9zdGRvdXQpCi0gICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWwocG9ydC5ob3N0LmZpbGVzeXN0ZW0uZmlsZXNbJy9tb2NrLWJ1aWxk
L2xheW91dC10ZXN0LXJlc3VsdHMvdGVzdC00Mi1zcGluZHVtcC50eHQnXSwgJ1NwaW5kdW1wIGZp
bGUnKQotICAgICAgICBzZWxmLmFzc2VydElzTm9uZShwb3J0Lmhvc3QuZmlsZXN5c3RlbS5maWxl
c1snL19faW1fdG1wL3RtcF8wXy90ZXN0LTQyLXNwaW5kdW1wLnR4dCddKQorICAgICAgICBzZWxm
LmFzc2VydEVxdWFsKHBvcnQuaG9zdC5maWxlc3lzdGVtLmZpbGVzWycvbW9jay1idWlsZC9sYXlv
dXQtdGVzdC1yZXN1bHRzL3Rlc3QtNDItdGFpbHNwaW4udHh0J10sICdTeW1ib2xvY2F0ZWQgdGFp
bHNwaW4gZmlsZScpCisgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKHBvcnQuaG9zdC5maWxlc3lz
dGVtLmZpbGVzWycvX19pbV90bXAvdG1wXzBfL3Rlc3QtNDItdGFpbHNwaW4tdGVtcC50eHQnXSkK
KyAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUocG9ydC5ob3N0LmZpbGVzeXN0ZW0uZmlsZXNbJy9f
X2ltX3RtcC90bXBfMF8vdGVzdC00Mi10YWlsc3Bpbi50eHQnXSkKIAogICAgIGRlZiB0ZXN0X3Nh
bXBsZV9wcm9jZXNzKHNlbGYpOgogICAgICAgICBkZWYgbG9nZ2luZ19ydW5fY29tbWFuZChhcmdz
KToKLSAgICAgICAgICAgIGlmIGFyZ3NbMF0gPT0gJy91c3Ivc2Jpbi9zcGluZHVtcCc6CisgICAg
ICAgICAgICBpZiBhcmdzWzBdID09ICcvdXNyL2Jpbi90YWlsc3Bpbic6CiAgICAgICAgICAgICAg
ICAgcmV0dXJuIDEKICAgICAgICAgICAgIHByaW50KGFyZ3MpCiAgICAgICAgICAgICByZXR1cm4g
MApAQCAtNzQsNyArNzYsNyBAQCBjbGFzcyBJT1NEZXZpY2VUZXN0KGlvc190ZXN0Y2FzZS5JT1NU
ZXN0KToKIAogICAgIGRlZiB0ZXN0X3NhbXBsZV9wcm9jZXNzX2V4Y2VwdGlvbihzZWxmKToKICAg
ICAgICAgZGVmIHRocm93aW5nX3J1bl9jb21tYW5kKGFyZ3MpOgotICAgICAgICAgICAgaWYgYXJn
c1swXSA9PSAnL3Vzci9zYmluL3NwaW5kdW1wJzoKKyAgICAgICAgICAgIGlmIGFyZ3NbMF0gPT0g
Jy91c3IvYmluL3RhaWxzcGluJzoKICAgICAgICAgICAgICAgICByZXR1cm4gMQogICAgICAgICAg
ICAgcmFpc2UgU2NyaXB0RXJyb3IoJ01PQ0sgc2NyaXB0IGVycm9yJykKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>370758</attachid>
            <date>2019-05-28 10:16:22 -0700</date>
            <delta_ts>2019-05-28 12:36:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-198144-20190528101622.patch</filename>
            <type>text/plain</type>
            <size>9724</size>
            <attacher name="hysu">hysu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ1NTk0CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggODFlYWJjNzVlMjgyNzE1ZGZkOGM0ZWU5MzUzMzkwMzA2
NjI4M2E3Zi4uMmYxNDE3NmJlMDhhMmUxOTFkMjkzM2RmYzMwM2RjNzRmNzc4MWZlMSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMx
IEBACisyMDE5LTA1LTIyICBEYXZpZCBYaW9uZyAgPHdfeGlvbmdAYXBwbGUuY29tPgorCisgICAg
ICAgIHdlYmtpdHB5OiBTd2l0Y2ggcnVuLXdlYmtpdC10ZXN0cyB0byB0YWlsc3BpbgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4MTQ0CisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS8zMjQ2MzIxMj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBDaGFuZ2VzIHJ1bi13ZWJraXQtdGVzdHMgdG8gcnVuIHRhaWxz
cGluIG9uIHRlc3QgdGltZSBvdXQKKyAgICAgICAgcmF0aGVyIHRoYW4gc3BpbmR1bXAsIGFuZCBl
ZGl0ZWQgdGVzdHMgdG8gbG9vayBmb3IgdGFpbHNwaW4gbG9ncworICAgICAgICBpbnN0ZWFkLgor
CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L2Rhcndpbi5weToKKyAgICAgICAgKERh
cndpblBvcnQuc2FtcGxlX3Byb2Nlc3MpOiBSZXBsYWNlZCBzcGluZHVtcCB3aXRoIHRhaWxzcGlu
ICgrIHN5bWJvbGljYXRpb24pCisgICAgICAgIChEYXJ3aW5Qb3J0KToKKyAgICAgICAgKERhcndp
blBvcnQudGFpbHNwaW5fZmlsZV9wYXRoKToKKyAgICAgICAgKERhcndpblRlc3Quc3BpbmR1bXBf
ZmlsZV9wYXRoKTogRGVsZXRlZC4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvZGFy
d2luX3Rlc3RjYXNlLnB5OgorICAgICAgICAoRGFyd2luVGVzdC50ZXN0X3RhaWxzcGluKTogQ2hh
bmdlZCBzcGluZHVtcCB0ZXN0IChiZWxvdykgdG8gdGVzdCBmb3IgdGFpbHNwaW4gaW5zdGVhZAor
ICAgICAgICAoRGFyd2luVGVzdC50ZXN0X3NwaW5kdW1wKTogRGVsZXRlZC4KKyAgICAgICAgKERh
cndpblRlc3QudGVzdF9zcGluZHVtcC5sb2dnaW5nX3J1bl9jb21tYW5kKTogRGVsZXRlZC4KKyAg
ICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvaW9zX2RldmljZV91bml0dGVzdC5weToKKyAg
ICAgICAgKElPU0RldmljZVRlc3QudGVzdF90YWlsc3Bpbik6IENoYW5nZWQgc3BpbmR1bXAgdGVz
dHMgKGluYy4gYmVsb3cpIHRvIHRlc3QgZm9yIHRhaWxzcGluIGluc3RlYWQKKyAgICAgICAgKElP
U0RldmljZVRlc3QudGVzdF9zYW1wbGVfcHJvY2Vzcy5sb2dnaW5nX3J1bl9jb21tYW5kKToKKyAg
ICAgICAgKElPU0RldmljZVRlc3QudGVzdF9zYW1wbGVfcHJvY2Vzc19leGNlcHRpb24udGhyb3dp
bmdfcnVuX2NvbW1hbmQpOgorICAgICAgICAoSU9TRGV2aWNlVGVzdC50ZXN0X3NwaW5kdW1wKTog
RGVsZXRlZC4KKyAgICAgICAgKElPU0RldmljZVRlc3QudGVzdF9zcGluZHVtcC5sb2dnaW5nX3J1
bl9jb21tYW5kKTogRGVsZXRlZC4KKwogMjAxOS0wNS0yMSAgQ2FybG9zIEdhcmNpYSBDYW1wb3Mg
IDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZC4gRml4IHRoZSBidWls
ZCB3aXRoIEhBVkUoQUNDRVNTSUJJTElUWSkgZGlzYWJsZWQKZGlmZiAtLWdpdCBhL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvcG9ydC9kYXJ3aW4ucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Bv
cnQvZGFyd2luLnB5CmluZGV4IDMzYTRiYzk3YjhmMDViMzFmOWZlZjM5OGI2MWMzOTEzNTA3MTMy
MjAuLmFiYWQxODYwZDQ1MDgzOTgxMmRjYmYxYzJiODQzMDY4NTRhZTRhOWQgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9kYXJ3aW4ucHkKKysrIGIvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9wb3J0L2Rhcndpbi5weQpAQCAtMTYwLDE4ICsxNjAsMzEgQEAgY2xhc3MgRGFy
d2luUG9ydChBcHBsZVBvcnQpOgogICAgIGRlZiBzYW1wbGVfcHJvY2VzcyhzZWxmLCBuYW1lLCBw
aWQsIHRhcmdldF9ob3N0PU5vbmUpOgogICAgICAgICBob3N0ID0gdGFyZ2V0X2hvc3Qgb3Igc2Vs
Zi5ob3N0CiAgICAgICAgIHRlbXBkaXIgPSBob3N0LmZpbGVzeXN0ZW0ubWtkdGVtcCgpCisgICAg
ICAgIHRlbXBfdGFpbHNwaW5fZmlsZV9wYXRoID0gaG9zdC5maWxlc3lzdGVtLmpvaW4oc3RyKHRl
bXBkaXIpLCAiezB9LXsxfS10YWlsc3Bpbi10ZW1wLnR4dCIuZm9ybWF0KG5hbWUsIHBpZCkpCiAg
ICAgICAgIGNvbW1hbmQgPSBbCi0gICAgICAgICAgICAnL3Vzci9zYmluL3NwaW5kdW1wJywKLSAg
ICAgICAgICAgIHBpZCwKLSAgICAgICAgICAgIDEwLAotICAgICAgICAgICAgMTAsCi0gICAgICAg
ICAgICAnLWZpbGUnLAotICAgICAgICAgICAgRGFyd2luUG9ydC5zcGluZHVtcF9maWxlX3BhdGgo
aG9zdCwgbmFtZSwgcGlkLCBzdHIodGVtcGRpcikpLAorICAgICAgICAgICAgJy91c3IvYmluL3Rh
aWxzcGluJywKKyAgICAgICAgICAgICdzYXZlJywKKyAgICAgICAgICAgICctbicsCisgICAgICAg
ICAgICB0ZW1wX3RhaWxzcGluX2ZpbGVfcGF0aCwKICAgICAgICAgXQogICAgICAgICBpZiBzZWxm
Lmhvc3QucGxhdGZvcm0uaXNfbWFjKCk6CiAgICAgICAgICAgICBjb21tYW5kID0gWycvdXNyL2Jp
bi9zdWRvJywgJy1uJ10gKyBjb21tYW5kCisKICAgICAgICAgZXhpdF9zdGF0dXMgPSBob3N0LmV4
ZWN1dGl2ZS5ydW5fY29tbWFuZChjb21tYW5kLCByZXR1cm5fZXhpdF9jb2RlPVRydWUpCi0gICAg
ICAgIGlmIGV4aXRfc3RhdHVzOgorICAgICAgICBpZiBub3QgZXhpdF9zdGF0dXM6ICAjIFN5bWJv
bGljYXRlIHRhaWxzcGluIGxvZyB1c2luZyBzcGluZHVtcAorICAgICAgICAgICAgdHJ5OgorICAg
ICAgICAgICAgICAgIGhvc3QuZXhlY3V0aXZlLnJ1bl9jb21tYW5kKFsKKyAgICAgICAgICAgICAg
ICAgICAgJy91c3Ivc2Jpbi9zcGluZHVtcCcsCisgICAgICAgICAgICAgICAgICAgICctaScsCisg
ICAgICAgICAgICAgICAgICAgIHRlbXBfdGFpbHNwaW5fZmlsZV9wYXRoLAorICAgICAgICAgICAg
ICAgICAgICAnLWZpbGUnLAorICAgICAgICAgICAgICAgICAgICBEYXJ3aW5Qb3J0LnRhaWxzcGlu
X2ZpbGVfcGF0aChob3N0LCBuYW1lLCBwaWQsIHN0cih0ZW1wZGlyKSksCisgICAgICAgICAgICAg
ICAgXSkKKyAgICAgICAgICAgICAgICBob3N0LmZpbGVzeXN0ZW0ubW92ZV90b19iYXNlX2hvc3Qo
RGFyd2luUG9ydC50YWlsc3Bpbl9maWxlX3BhdGgoaG9zdCwgbmFtZSwgcGlkLCBzdHIodGVtcGRp
cikpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBE
YXJ3aW5Qb3J0LnRhaWxzcGluX2ZpbGVfcGF0aChzZWxmLmhvc3QsIG5hbWUsIHBpZCwgc2VsZi5y
ZXN1bHRzX2RpcmVjdG9yeSgpKSkKKyAgICAgICAgICAgIGV4Y2VwdCBJT0Vycm9yIGFzIGU6Cisg
ICAgICAgICAgICAgICAgX2xvZy53YXJuaW5nKCdVbmFibGUgdG8gc3ltYm9saWNhdGUgdGFpbHNw
aW4gbG9nIG9mIHByb2Nlc3M6JyArIHN0cihlKSkKKyAgICAgICAgZWxzZTogICMgVGFpbHNwaW4g
ZmFpbGVkLCBydW4gc2FtcGxlIGluc3RlYWQKICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAg
ICAgICBob3N0LmV4ZWN1dGl2ZS5ydW5fY29tbWFuZChbCiAgICAgICAgICAgICAgICAgICAgICcv
dXNyL2Jpbi9zYW1wbGUnLApAQCAtMTg1LDkgKzE5OCw2IEBAIGNsYXNzIERhcndpblBvcnQoQXBw
bGVQb3J0KToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgRGFyd2luUG9ydC5zYW1wbGVfZmlsZV9wYXRoKHNlbGYuaG9zdCwgbmFtZSwgcGlkLCBzZWxm
LnJlc3VsdHNfZGlyZWN0b3J5KCkpKQogICAgICAgICAgICAgZXhjZXB0IFNjcmlwdEVycm9yIGFz
IGU6CiAgICAgICAgICAgICAgICAgX2xvZy53YXJuaW5nKCdVbmFibGUgdG8gc2FtcGxlIHByb2Nl
c3M6JyArIHN0cihlKSkKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIGhvc3QuZmlsZXN5c3Rl
bS5tb3ZlX3RvX2Jhc2VfaG9zdChEYXJ3aW5Qb3J0LnNwaW5kdW1wX2ZpbGVfcGF0aChob3N0LCBu
YW1lLCBwaWQsIHN0cih0ZW1wZGlyKSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgRGFyd2luUG9ydC5zcGluZHVtcF9maWxlX3BhdGgoc2VsZi5ob3N0LCBu
YW1lLCBwaWQsIHNlbGYucmVzdWx0c19kaXJlY3RvcnkoKSkpCiAgICAgICAgIGhvc3QuZmlsZXN5
c3RlbS5ybXRyZWUoc3RyKHRlbXBkaXIpKQogCiAgICAgQHN0YXRpY21ldGhvZApAQCAtMTk1LDgg
KzIwNSw4IEBAIGNsYXNzIERhcndpblBvcnQoQXBwbGVQb3J0KToKICAgICAgICAgcmV0dXJuIGhv
c3QuZmlsZXN5c3RlbS5qb2luKGRpcmVjdG9yeSwgInswfS17MX0tc2FtcGxlLnR4dCIuZm9ybWF0
KG5hbWUsIHBpZCkpCiAKICAgICBAc3RhdGljbWV0aG9kCi0gICAgZGVmIHNwaW5kdW1wX2ZpbGVf
cGF0aChob3N0LCBuYW1lLCBwaWQsIGRpcmVjdG9yeSk6Ci0gICAgICAgIHJldHVybiBob3N0LmZp
bGVzeXN0ZW0uam9pbihkaXJlY3RvcnksICJ7MH0tezF9LXNwaW5kdW1wLnR4dCIuZm9ybWF0KG5h
bWUsIHBpZCkpCisgICAgZGVmIHRhaWxzcGluX2ZpbGVfcGF0aChob3N0LCBuYW1lLCBwaWQsIGRp
cmVjdG9yeSk6CisgICAgICAgIHJldHVybiBob3N0LmZpbGVzeXN0ZW0uam9pbihkaXJlY3Rvcnks
ICJ7MH0tezF9LXRhaWxzcGluLnR4dCIuZm9ybWF0KG5hbWUsIHBpZCkpCiAKICAgICBkZWYgbG9v
a19mb3JfbmV3X3NhbXBsZXMoc2VsZiwgdW5yZXNwb25zaXZlX3Byb2Nlc3Nlcywgc3RhcnRfdGlt
ZSk6CiAgICAgICAgIHNhbXBsZV9maWxlcyA9IHt9CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L3BvcnQvZGFyd2luX3Rlc3RjYXNlLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9wb3J0L2Rhcndpbl90ZXN0Y2FzZS5weQppbmRleCBiY2IzNDY5ZjdjOGMxZjViOTY3MjE0ZDI1
ZDM0MmZlZTliMjRhZGQ3Li5hOWM2NDkzNGFiZWRmNzkzY2JlNzdlZTI1Mzc3OTI2NTMwYzcyNzlm
IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvZGFyd2luX3Rlc3RjYXNl
LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9kYXJ3aW5fdGVzdGNhc2UucHkK
QEAgLTk4LDE4ICs5OCwyMCBAQCBjbGFzcyBEYXJ3aW5UZXN0KHBvcnRfdGVzdGNhc2UuUG9ydFRl
c3RDYXNlKToKICAgICAgICAgcG9ydCA9IHNlbGYubWFrZV9wb3J0KGhvc3QpCiAgICAgICAgIHNl
bGYuYXNzZXJ0RXF1YWwocG9ydC5wYXRoX3RvX2NyYXNoX2xvZ3MoKSwgJy9Vc2Vycy9tb2NrL0xp
YnJhcnkvTG9ncy9EaWFnbm9zdGljUmVwb3J0cycpCiAKLSAgICBkZWYgdGVzdF9zcGluZHVtcChz
ZWxmKToKKyAgICBkZWYgdGVzdF90YWlsc3BpbihzZWxmKToKIAogICAgICAgICBkZWYgbG9nZ2lu
Z19ydW5fY29tbWFuZChhcmdzKToKICAgICAgICAgICAgIHByaW50KGFyZ3MpCiAKICAgICAgICAg
cG9ydCA9IHNlbGYubWFrZV9wb3J0KCkKLSAgICAgICAgcG9ydC5ob3N0LmZpbGVzeXN0ZW0uZmls
ZXNbJy9fX2ltX3RtcC90bXBfMF8vdGVzdC00Mi1zcGluZHVtcC50eHQnXSA9ICdTcGluZHVtcCBm
aWxlJworICAgICAgICBwb3J0Lmhvc3QuZmlsZXN5c3RlbS5maWxlc1snL19faW1fdG1wL3RtcF8w
Xy90ZXN0LTQyLXRhaWxzcGluLXRlbXAudHh0J10gPSAnVGVtcG9yYXJ5IHRhaWxzcGluIG91dHB1
dCBmaWxlJworICAgICAgICBwb3J0Lmhvc3QuZmlsZXN5c3RlbS5maWxlc1snL19faW1fdG1wL3Rt
cF8wXy90ZXN0LTQyLXRhaWxzcGluLnR4dCddID0gJ1N5bWJvbG9jYXRlZCB0YWlsc3BpbiBmaWxl
JwogICAgICAgICBwb3J0Lmhvc3QuZXhlY3V0aXZlID0gTW9ja0V4ZWN1dGl2ZTIocnVuX2NvbW1h
bmRfZm49bG9nZ2luZ19ydW5fY29tbWFuZCkKLSAgICAgICAgZXhwZWN0ZWRfc3Rkb3V0ID0gIlsn
L3Vzci9iaW4vc3VkbycsICctbicsICcvdXNyL3NiaW4vc3BpbmR1bXAnLCA0MiwgMTAsIDEwLCAn
LWZpbGUnLCAnL19faW1fdG1wL3RtcF8wXy90ZXN0LTQyLXNwaW5kdW1wLnR4dCddXG4iCisgICAg
ICAgIGV4cGVjdGVkX3N0ZG91dCA9ICJbJy91c3IvYmluL3N1ZG8nLCAnLW4nLCAnL3Vzci9iaW4v
dGFpbHNwaW4nLCAnc2F2ZScsICctbicsICcvX19pbV90bXAvdG1wXzBfL3Rlc3QtNDItdGFpbHNw
aW4tdGVtcC50eHQnXVxuWycvdXNyL3NiaW4vc3BpbmR1bXAnLCAnLWknLCAnL19faW1fdG1wL3Rt
cF8wXy90ZXN0LTQyLXRhaWxzcGluLXRlbXAudHh0JywgJy1maWxlJywgJy9fX2ltX3RtcC90bXBf
MF8vdGVzdC00Mi10YWlsc3Bpbi50eHQnXVxuIgogICAgICAgICBPdXRwdXRDYXB0dXJlKCkuYXNz
ZXJ0X291dHB1dHMoc2VsZiwgcG9ydC5zYW1wbGVfcHJvY2VzcywgYXJncz1bJ3Rlc3QnLCA0Ml0s
IGV4cGVjdGVkX3N0ZG91dD1leHBlY3RlZF9zdGRvdXQpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1
YWwocG9ydC5ob3N0LmZpbGVzeXN0ZW0uZmlsZXNbJy9tb2NrLWJ1aWxkL2xheW91dC10ZXN0LXJl
c3VsdHMvdGVzdC00Mi1zcGluZHVtcC50eHQnXSwgJ1NwaW5kdW1wIGZpbGUnKQotICAgICAgICBz
ZWxmLmFzc2VydElzTm9uZShwb3J0Lmhvc3QuZmlsZXN5c3RlbS5maWxlc1snL19faW1fdG1wL3Rt
cF8wXy90ZXN0LTQyLXNwaW5kdW1wLnR4dCddKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBv
cnQuaG9zdC5maWxlc3lzdGVtLmZpbGVzWycvbW9jay1idWlsZC9sYXlvdXQtdGVzdC1yZXN1bHRz
L3Rlc3QtNDItdGFpbHNwaW4udHh0J10sICdTeW1ib2xvY2F0ZWQgdGFpbHNwaW4gZmlsZScpCisg
ICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKHBvcnQuaG9zdC5maWxlc3lzdGVtLmZpbGVzWycvX19p
bV90bXAvdG1wXzBfL3Rlc3QtNDItdGFpbHNwaW4tdGVtcC50eHQnXSkKKyAgICAgICAgc2VsZi5h
c3NlcnRJc05vbmUocG9ydC5ob3N0LmZpbGVzeXN0ZW0uZmlsZXNbJy9fX2ltX3RtcC90bXBfMF8v
dGVzdC00Mi10YWlsc3Bpbi50eHQnXSkKIAogICAgIGRlZiB0ZXN0X3NhbXBsZV9wcm9jZXNzKHNl
bGYpOgogCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvaW9zX2Rldmlj
ZV91bml0dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9pb3NfZGV2aWNlX3Vu
aXR0ZXN0LnB5CmluZGV4IDRmNjEyODI1NzY1MjEwZTI2ZWZmN2MxOWNkOTUzMjQ1MjdhODJlMTYu
LjE2ZTBkZTE4OTMzMmY4NmJlNDhlNmM0Zjc3N2NlNjVlMTExNmY0NzcgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9pb3NfZGV2aWNlX3VuaXR0ZXN0LnB5CisrKyBiL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9pb3NfZGV2aWNlX3VuaXR0ZXN0LnB5CkBAIC00NSwy
MSArNDUsMjMgQEAgY2xhc3MgSU9TRGV2aWNlVGVzdChpb3NfdGVzdGNhc2UuSU9TVGVzdCk6CiAg
ICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoUnVudGltZUVycm9yKToKICAgICAgICAgICAg
IHBvcnQucGF0aF90b19jcmFzaF9sb2dzKCkKIAotICAgIGRlZiB0ZXN0X3NwaW5kdW1wKHNlbGYp
OgorICAgIGRlZiB0ZXN0X3RhaWxzcGluKHNlbGYpOgogICAgICAgICBkZWYgbG9nZ2luZ19ydW5f
Y29tbWFuZChhcmdzKToKICAgICAgICAgICAgIHByaW50KGFyZ3MpCiAKICAgICAgICAgcG9ydCA9
IHNlbGYubWFrZV9wb3J0KCkKLSAgICAgICAgcG9ydC5ob3N0LmZpbGVzeXN0ZW0uZmlsZXNbJy9f
X2ltX3RtcC90bXBfMF8vdGVzdC00Mi1zcGluZHVtcC50eHQnXSA9ICdTcGluZHVtcCBmaWxlJwor
ICAgICAgICBwb3J0Lmhvc3QuZmlsZXN5c3RlbS5maWxlc1snL19faW1fdG1wL3RtcF8wXy90ZXN0
LTQyLXRhaWxzcGluLXRlbXAudHh0J10gPSAnVGVtcG9yYXJ5IHRhaWxzcGluIG91dHB1dCBmaWxl
JworICAgICAgICBwb3J0Lmhvc3QuZmlsZXN5c3RlbS5maWxlc1snL19faW1fdG1wL3RtcF8wXy90
ZXN0LTQyLXRhaWxzcGluLnR4dCddID0gJ1N5bWJvbG9jYXRlZCB0YWlsc3BpbiBmaWxlJwogICAg
ICAgICBwb3J0Lmhvc3QuZXhlY3V0aXZlID0gTW9ja0V4ZWN1dGl2ZTIocnVuX2NvbW1hbmRfZm49
bG9nZ2luZ19ydW5fY29tbWFuZCkKLSAgICAgICAgZXhwZWN0ZWRfc3Rkb3V0ID0gIlsnL3Vzci9z
YmluL3NwaW5kdW1wJywgNDIsIDEwLCAxMCwgJy1maWxlJywgJy9fX2ltX3RtcC90bXBfMF8vdGVz
dC00Mi1zcGluZHVtcC50eHQnXVxuIgorICAgICAgICBleHBlY3RlZF9zdGRvdXQgPSAiWycvdXNy
L2Jpbi90YWlsc3BpbicsICdzYXZlJywgJy1uJywgJy9fX2ltX3RtcC90bXBfMF8vdGVzdC00Mi10
YWlsc3Bpbi10ZW1wLnR4dCddXG5bJy91c3Ivc2Jpbi9zcGluZHVtcCcsICctaScsICcvX19pbV90
bXAvdG1wXzBfL3Rlc3QtNDItdGFpbHNwaW4tdGVtcC50eHQnLCAnLWZpbGUnLCAnL19faW1fdG1w
L3RtcF8wXy90ZXN0LTQyLXRhaWxzcGluLnR4dCddXG4iCiAgICAgICAgIE91dHB1dENhcHR1cmUo
KS5hc3NlcnRfb3V0cHV0cyhzZWxmLCBwb3J0LnNhbXBsZV9wcm9jZXNzLCBhcmdzPVsndGVzdCcs
IDQyXSwgZXhwZWN0ZWRfc3Rkb3V0PWV4cGVjdGVkX3N0ZG91dCkKLSAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbChwb3J0Lmhvc3QuZmlsZXN5c3RlbS5maWxlc1snL21vY2stYnVpbGQvbGF5b3V0LXRl
c3QtcmVzdWx0cy90ZXN0LTQyLXNwaW5kdW1wLnR4dCddLCAnU3BpbmR1bXAgZmlsZScpCi0gICAg
ICAgIHNlbGYuYXNzZXJ0SXNOb25lKHBvcnQuaG9zdC5maWxlc3lzdGVtLmZpbGVzWycvX19pbV90
bXAvdG1wXzBfL3Rlc3QtNDItc3BpbmR1bXAudHh0J10pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1
YWwocG9ydC5ob3N0LmZpbGVzeXN0ZW0uZmlsZXNbJy9tb2NrLWJ1aWxkL2xheW91dC10ZXN0LXJl
c3VsdHMvdGVzdC00Mi10YWlsc3Bpbi50eHQnXSwgJ1N5bWJvbG9jYXRlZCB0YWlsc3BpbiBmaWxl
JykKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUocG9ydC5ob3N0LmZpbGVzeXN0ZW0uZmlsZXNb
Jy9fX2ltX3RtcC90bXBfMF8vdGVzdC00Mi10YWlsc3Bpbi10ZW1wLnR4dCddKQorICAgICAgICBz
ZWxmLmFzc2VydElzTm9uZShwb3J0Lmhvc3QuZmlsZXN5c3RlbS5maWxlc1snL19faW1fdG1wL3Rt
cF8wXy90ZXN0LTQyLXRhaWxzcGluLnR4dCddKQogCiAgICAgZGVmIHRlc3Rfc2FtcGxlX3Byb2Nl
c3Moc2VsZik6CiAgICAgICAgIGRlZiBsb2dnaW5nX3J1bl9jb21tYW5kKGFyZ3MpOgotICAgICAg
ICAgICAgaWYgYXJnc1swXSA9PSAnL3Vzci9zYmluL3NwaW5kdW1wJzoKKyAgICAgICAgICAgIGlm
IGFyZ3NbMF0gPT0gJy91c3IvYmluL3RhaWxzcGluJzoKICAgICAgICAgICAgICAgICByZXR1cm4g
MQogICAgICAgICAgICAgcHJpbnQoYXJncykKICAgICAgICAgICAgIHJldHVybiAwCkBAIC03NCw3
ICs3Niw3IEBAIGNsYXNzIElPU0RldmljZVRlc3QoaW9zX3Rlc3RjYXNlLklPU1Rlc3QpOgogCiAg
ICAgZGVmIHRlc3Rfc2FtcGxlX3Byb2Nlc3NfZXhjZXB0aW9uKHNlbGYpOgogICAgICAgICBkZWYg
dGhyb3dpbmdfcnVuX2NvbW1hbmQoYXJncyk6Ci0gICAgICAgICAgICBpZiBhcmdzWzBdID09ICcv
dXNyL3NiaW4vc3BpbmR1bXAnOgorICAgICAgICAgICAgaWYgYXJnc1swXSA9PSAnL3Vzci9iaW4v
dGFpbHNwaW4nOgogICAgICAgICAgICAgICAgIHJldHVybiAxCiAgICAgICAgICAgICByYWlzZSBT
Y3JpcHRFcnJvcignTU9DSyBzY3JpcHQgZXJyb3InKQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>370774</attachid>
            <date>2019-05-28 12:37:00 -0700</date>
            <delta_ts>2019-05-28 14:04:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-198144-20190528123659.patch</filename>
            <type>text/plain</type>
            <size>9710</size>
            <attacher name="hysu">hysu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ1ODIyCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMGY0ZDAzMDY1ZmYzODYzZTEzOTM2ODE2YmUzYTg3MzYz
ZGJkNjYyYy4uY2NjYTJiOTQwMTFlMTFlZDI4YzgxYjQwOTdmNTg4ZDE1ODlmZTIzOCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMx
IEBACisyMDE5LTA1LTIyICBEYXZpZCBYaW9uZyAgPHdfeGlvbmdAYXBwbGUuY29tPgorCisgICAg
ICAgIHdlYmtpdHB5OiBTd2l0Y2ggcnVuLXdlYmtpdC10ZXN0cyB0byB0YWlsc3BpbgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4MTQ0CisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS8zMjQ2MzIxMj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBDaGFuZ2VzIHJ1bi13ZWJraXQtdGVzdHMgdG8gcnVuIHRhaWxz
cGluIG9uIHRlc3QgdGltZSBvdXQKKyAgICAgICAgcmF0aGVyIHRoYW4gc3BpbmR1bXAsIGFuZCBl
ZGl0ZWQgdGVzdHMgdG8gbG9vayBmb3IgdGFpbHNwaW4gbG9ncworICAgICAgICBpbnN0ZWFkLgor
CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L2Rhcndpbi5weToKKyAgICAgICAgKERh
cndpblBvcnQuc2FtcGxlX3Byb2Nlc3MpOiBSZXBsYWNlZCBzcGluZHVtcCB3aXRoIHRhaWxzcGlu
ICgrIHN5bWJvbGljYXRpb24pCisgICAgICAgIChEYXJ3aW5Qb3J0KToKKyAgICAgICAgKERhcndp
blBvcnQudGFpbHNwaW5fZmlsZV9wYXRoKToKKyAgICAgICAgKERhcndpblRlc3Quc3BpbmR1bXBf
ZmlsZV9wYXRoKTogRGVsZXRlZC4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvZGFy
d2luX3Rlc3RjYXNlLnB5OgorICAgICAgICAoRGFyd2luVGVzdC50ZXN0X3RhaWxzcGluKTogQ2hh
bmdlZCBzcGluZHVtcCB0ZXN0IChiZWxvdykgdG8gdGVzdCBmb3IgdGFpbHNwaW4gaW5zdGVhZAor
ICAgICAgICAoRGFyd2luVGVzdC50ZXN0X3NwaW5kdW1wKTogRGVsZXRlZC4KKyAgICAgICAgKERh
cndpblRlc3QudGVzdF9zcGluZHVtcC5sb2dnaW5nX3J1bl9jb21tYW5kKTogRGVsZXRlZC4KKyAg
ICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvaW9zX2RldmljZV91bml0dGVzdC5weToKKyAg
ICAgICAgKElPU0RldmljZVRlc3QudGVzdF90YWlsc3Bpbik6IENoYW5nZWQgc3BpbmR1bXAgdGVz
dHMgKGluYy4gYmVsb3cpIHRvIHRlc3QgZm9yIHRhaWxzcGluIGluc3RlYWQKKyAgICAgICAgKElP
U0RldmljZVRlc3QudGVzdF9zYW1wbGVfcHJvY2Vzcy5sb2dnaW5nX3J1bl9jb21tYW5kKToKKyAg
ICAgICAgKElPU0RldmljZVRlc3QudGVzdF9zYW1wbGVfcHJvY2Vzc19leGNlcHRpb24udGhyb3dp
bmdfcnVuX2NvbW1hbmQpOgorICAgICAgICAoSU9TRGV2aWNlVGVzdC50ZXN0X3NwaW5kdW1wKTog
RGVsZXRlZC4KKyAgICAgICAgKElPU0RldmljZVRlc3QudGVzdF9zcGluZHVtcC5sb2dnaW5nX3J1
bl9jb21tYW5kKTogRGVsZXRlZC4KKwogMjAxOS0wNS0yOCAgRGF2aWQgWGlvbmcgIDx3X3hpb25n
QGFwcGxlLmNvbT4KIAogICAgICAgICB3ZWJraXRweTogVXNpbmcgc3VkbyBvbiBpT1MgZGV2aWNl
IGR1cmluZyB0aW1lb3V0IHNwaW5kdW1wcyAKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvcG9ydC9kYXJ3aW4ucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvZGFyd2lu
LnB5CmluZGV4IGMxMjQ5OTgwNjA1OGY4ZmU5OGM3YTVkZWY4MzFlZmMwNTc4MTQyYjYuLmU3MDQ1
YzBjMGUzOWFiN2MyYjE1MDRkMGQ2ODgzMzUyODg5NDAxYjAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvcG9ydC9kYXJ3aW4ucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9wb3J0L2Rhcndpbi5weQpAQCAtMTYwLDE4ICsxNjAsMzEgQEAgY2xhc3MgRGFyd2luUG9ydChB
cHBsZVBvcnQpOgogICAgIGRlZiBzYW1wbGVfcHJvY2VzcyhzZWxmLCBuYW1lLCBwaWQsIHRhcmdl
dF9ob3N0PU5vbmUpOgogICAgICAgICBob3N0ID0gdGFyZ2V0X2hvc3Qgb3Igc2VsZi5ob3N0CiAg
ICAgICAgIHRlbXBkaXIgPSBob3N0LmZpbGVzeXN0ZW0ubWtkdGVtcCgpCisgICAgICAgIHRlbXBf
dGFpbHNwaW5fZmlsZV9wYXRoID0gaG9zdC5maWxlc3lzdGVtLmpvaW4oc3RyKHRlbXBkaXIpLCAi
ezB9LXsxfS10YWlsc3Bpbi10ZW1wLnR4dCIuZm9ybWF0KG5hbWUsIHBpZCkpCiAgICAgICAgIGNv
bW1hbmQgPSBbCi0gICAgICAgICAgICAnL3Vzci9zYmluL3NwaW5kdW1wJywKLSAgICAgICAgICAg
IHBpZCwKLSAgICAgICAgICAgIDEwLAotICAgICAgICAgICAgMTAsCi0gICAgICAgICAgICAnLWZp
bGUnLAotICAgICAgICAgICAgRGFyd2luUG9ydC5zcGluZHVtcF9maWxlX3BhdGgoaG9zdCwgbmFt
ZSwgcGlkLCBzdHIodGVtcGRpcikpLAorICAgICAgICAgICAgJy91c3IvYmluL3RhaWxzcGluJywK
KyAgICAgICAgICAgICdzYXZlJywKKyAgICAgICAgICAgICctbicsCisgICAgICAgICAgICB0ZW1w
X3RhaWxzcGluX2ZpbGVfcGF0aCwKICAgICAgICAgXQogICAgICAgICBpZiBob3N0LnBsYXRmb3Jt
LmlzX21hYygpOgogICAgICAgICAgICAgY29tbWFuZCA9IFsnL3Vzci9iaW4vc3VkbycsICctbidd
ICsgY29tbWFuZAorCiAgICAgICAgIGV4aXRfc3RhdHVzID0gaG9zdC5leGVjdXRpdmUucnVuX2Nv
bW1hbmQoY29tbWFuZCwgcmV0dXJuX2V4aXRfY29kZT1UcnVlKQotICAgICAgICBpZiBleGl0X3N0
YXR1czoKKyAgICAgICAgaWYgbm90IGV4aXRfc3RhdHVzOiAgIyBTeW1ib2xpY2F0ZSB0YWlsc3Bp
biBsb2cgdXNpbmcgc3BpbmR1bXAKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBo
b3N0LmV4ZWN1dGl2ZS5ydW5fY29tbWFuZChbCisgICAgICAgICAgICAgICAgICAgICcvdXNyL3Ni
aW4vc3BpbmR1bXAnLAorICAgICAgICAgICAgICAgICAgICAnLWknLAorICAgICAgICAgICAgICAg
ICAgICB0ZW1wX3RhaWxzcGluX2ZpbGVfcGF0aCwKKyAgICAgICAgICAgICAgICAgICAgJy1maWxl
JywKKyAgICAgICAgICAgICAgICAgICAgRGFyd2luUG9ydC50YWlsc3Bpbl9maWxlX3BhdGgoaG9z
dCwgbmFtZSwgcGlkLCBzdHIodGVtcGRpcikpLAorICAgICAgICAgICAgICAgIF0pCisgICAgICAg
ICAgICAgICAgaG9zdC5maWxlc3lzdGVtLm1vdmVfdG9fYmFzZV9ob3N0KERhcndpblBvcnQudGFp
bHNwaW5fZmlsZV9wYXRoKGhvc3QsIG5hbWUsIHBpZCwgc3RyKHRlbXBkaXIpKSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGFyd2luUG9ydC50YWls
c3Bpbl9maWxlX3BhdGgoc2VsZi5ob3N0LCBuYW1lLCBwaWQsIHNlbGYucmVzdWx0c19kaXJlY3Rv
cnkoKSkpCisgICAgICAgICAgICBleGNlcHQgSU9FcnJvciBhcyBlOgorICAgICAgICAgICAgICAg
IF9sb2cud2FybmluZygnVW5hYmxlIHRvIHN5bWJvbGljYXRlIHRhaWxzcGluIGxvZyBvZiBwcm9j
ZXNzOicgKyBzdHIoZSkpCisgICAgICAgIGVsc2U6ICAjIFRhaWxzcGluIGZhaWxlZCwgcnVuIHNh
bXBsZSBpbnN0ZWFkCiAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgaG9zdC5leGVj
dXRpdmUucnVuX2NvbW1hbmQoWwogICAgICAgICAgICAgICAgICAgICAnL3Vzci9iaW4vc2FtcGxl
JywKQEAgLTE4NSw5ICsxOTgsNiBAQCBjbGFzcyBEYXJ3aW5Qb3J0KEFwcGxlUG9ydCk6CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERhcndpblBvcnQu
c2FtcGxlX2ZpbGVfcGF0aChzZWxmLmhvc3QsIG5hbWUsIHBpZCwgc2VsZi5yZXN1bHRzX2RpcmVj
dG9yeSgpKSkKICAgICAgICAgICAgIGV4Y2VwdCBTY3JpcHRFcnJvciBhcyBlOgogICAgICAgICAg
ICAgICAgIF9sb2cud2FybmluZygnVW5hYmxlIHRvIHNhbXBsZSBwcm9jZXNzOicgKyBzdHIoZSkp
Ci0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBob3N0LmZpbGVzeXN0ZW0ubW92ZV90b19iYXNl
X2hvc3QoRGFyd2luUG9ydC5zcGluZHVtcF9maWxlX3BhdGgoaG9zdCwgbmFtZSwgcGlkLCBzdHIo
dGVtcGRpcikpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IERhcndpblBvcnQuc3BpbmR1bXBfZmlsZV9wYXRoKHNlbGYuaG9zdCwgbmFtZSwgcGlkLCBzZWxm
LnJlc3VsdHNfZGlyZWN0b3J5KCkpKQogICAgICAgICBob3N0LmZpbGVzeXN0ZW0ucm10cmVlKHN0
cih0ZW1wZGlyKSkKIAogICAgIEBzdGF0aWNtZXRob2QKQEAgLTE5NSw4ICsyMDUsOCBAQCBjbGFz
cyBEYXJ3aW5Qb3J0KEFwcGxlUG9ydCk6CiAgICAgICAgIHJldHVybiBob3N0LmZpbGVzeXN0ZW0u
am9pbihkaXJlY3RvcnksICJ7MH0tezF9LXNhbXBsZS50eHQiLmZvcm1hdChuYW1lLCBwaWQpKQog
CiAgICAgQHN0YXRpY21ldGhvZAotICAgIGRlZiBzcGluZHVtcF9maWxlX3BhdGgoaG9zdCwgbmFt
ZSwgcGlkLCBkaXJlY3RvcnkpOgotICAgICAgICByZXR1cm4gaG9zdC5maWxlc3lzdGVtLmpvaW4o
ZGlyZWN0b3J5LCAiezB9LXsxfS1zcGluZHVtcC50eHQiLmZvcm1hdChuYW1lLCBwaWQpKQorICAg
IGRlZiB0YWlsc3Bpbl9maWxlX3BhdGgoaG9zdCwgbmFtZSwgcGlkLCBkaXJlY3RvcnkpOgorICAg
ICAgICByZXR1cm4gaG9zdC5maWxlc3lzdGVtLmpvaW4oZGlyZWN0b3J5LCAiezB9LXsxfS10YWls
c3Bpbi50eHQiLmZvcm1hdChuYW1lLCBwaWQpKQogCiAgICAgZGVmIGxvb2tfZm9yX25ld19zYW1w
bGVzKHNlbGYsIHVucmVzcG9uc2l2ZV9wcm9jZXNzZXMsIHN0YXJ0X3RpbWUpOgogICAgICAgICBz
YW1wbGVfZmlsZXMgPSB7fQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0
L2Rhcndpbl90ZXN0Y2FzZS5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9kYXJ3aW5f
dGVzdGNhc2UucHkKaW5kZXggYmNiMzQ2OWY3YzhjMWY1Yjk2NzIxNGQyNWQzNDJmZWU5YjI0YWRk
Ny4uYTljNjQ5MzRhYmVkZjc5M2NiZTc3ZWUyNTM3NzkyNjUzMGM3Mjc5ZiAxMDA2NDQKLS0tIGEv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2Rhcndpbl90ZXN0Y2FzZS5weQorKysgYi9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvZGFyd2luX3Rlc3RjYXNlLnB5CkBAIC05OCwxOCArOTgs
MjAgQEAgY2xhc3MgRGFyd2luVGVzdChwb3J0X3Rlc3RjYXNlLlBvcnRUZXN0Q2FzZSk6CiAgICAg
ICAgIHBvcnQgPSBzZWxmLm1ha2VfcG9ydChob3N0KQogICAgICAgICBzZWxmLmFzc2VydEVxdWFs
KHBvcnQucGF0aF90b19jcmFzaF9sb2dzKCksICcvVXNlcnMvbW9jay9MaWJyYXJ5L0xvZ3MvRGlh
Z25vc3RpY1JlcG9ydHMnKQogCi0gICAgZGVmIHRlc3Rfc3BpbmR1bXAoc2VsZik6CisgICAgZGVm
IHRlc3RfdGFpbHNwaW4oc2VsZik6CiAKICAgICAgICAgZGVmIGxvZ2dpbmdfcnVuX2NvbW1hbmQo
YXJncyk6CiAgICAgICAgICAgICBwcmludChhcmdzKQogCiAgICAgICAgIHBvcnQgPSBzZWxmLm1h
a2VfcG9ydCgpCi0gICAgICAgIHBvcnQuaG9zdC5maWxlc3lzdGVtLmZpbGVzWycvX19pbV90bXAv
dG1wXzBfL3Rlc3QtNDItc3BpbmR1bXAudHh0J10gPSAnU3BpbmR1bXAgZmlsZScKKyAgICAgICAg
cG9ydC5ob3N0LmZpbGVzeXN0ZW0uZmlsZXNbJy9fX2ltX3RtcC90bXBfMF8vdGVzdC00Mi10YWls
c3Bpbi10ZW1wLnR4dCddID0gJ1RlbXBvcmFyeSB0YWlsc3BpbiBvdXRwdXQgZmlsZScKKyAgICAg
ICAgcG9ydC5ob3N0LmZpbGVzeXN0ZW0uZmlsZXNbJy9fX2ltX3RtcC90bXBfMF8vdGVzdC00Mi10
YWlsc3Bpbi50eHQnXSA9ICdTeW1ib2xvY2F0ZWQgdGFpbHNwaW4gZmlsZScKICAgICAgICAgcG9y
dC5ob3N0LmV4ZWN1dGl2ZSA9IE1vY2tFeGVjdXRpdmUyKHJ1bl9jb21tYW5kX2ZuPWxvZ2dpbmdf
cnVuX2NvbW1hbmQpCi0gICAgICAgIGV4cGVjdGVkX3N0ZG91dCA9ICJbJy91c3IvYmluL3N1ZG8n
LCAnLW4nLCAnL3Vzci9zYmluL3NwaW5kdW1wJywgNDIsIDEwLCAxMCwgJy1maWxlJywgJy9fX2lt
X3RtcC90bXBfMF8vdGVzdC00Mi1zcGluZHVtcC50eHQnXVxuIgorICAgICAgICBleHBlY3RlZF9z
dGRvdXQgPSAiWycvdXNyL2Jpbi9zdWRvJywgJy1uJywgJy91c3IvYmluL3RhaWxzcGluJywgJ3Nh
dmUnLCAnLW4nLCAnL19faW1fdG1wL3RtcF8wXy90ZXN0LTQyLXRhaWxzcGluLXRlbXAudHh0J11c
blsnL3Vzci9zYmluL3NwaW5kdW1wJywgJy1pJywgJy9fX2ltX3RtcC90bXBfMF8vdGVzdC00Mi10
YWlsc3Bpbi10ZW1wLnR4dCcsICctZmlsZScsICcvX19pbV90bXAvdG1wXzBfL3Rlc3QtNDItdGFp
bHNwaW4udHh0J11cbiIKICAgICAgICAgT3V0cHV0Q2FwdHVyZSgpLmFzc2VydF9vdXRwdXRzKHNl
bGYsIHBvcnQuc2FtcGxlX3Byb2Nlc3MsIGFyZ3M9Wyd0ZXN0JywgNDJdLCBleHBlY3RlZF9zdGRv
dXQ9ZXhwZWN0ZWRfc3Rkb3V0KQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBvcnQuaG9zdC5m
aWxlc3lzdGVtLmZpbGVzWycvbW9jay1idWlsZC9sYXlvdXQtdGVzdC1yZXN1bHRzL3Rlc3QtNDIt
c3BpbmR1bXAudHh0J10sICdTcGluZHVtcCBmaWxlJykKLSAgICAgICAgc2VsZi5hc3NlcnRJc05v
bmUocG9ydC5ob3N0LmZpbGVzeXN0ZW0uZmlsZXNbJy9fX2ltX3RtcC90bXBfMF8vdGVzdC00Mi1z
cGluZHVtcC50eHQnXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwb3J0Lmhvc3QuZmlsZXN5
c3RlbS5maWxlc1snL21vY2stYnVpbGQvbGF5b3V0LXRlc3QtcmVzdWx0cy90ZXN0LTQyLXRhaWxz
cGluLnR4dCddLCAnU3ltYm9sb2NhdGVkIHRhaWxzcGluIGZpbGUnKQorICAgICAgICBzZWxmLmFz
c2VydElzTm9uZShwb3J0Lmhvc3QuZmlsZXN5c3RlbS5maWxlc1snL19faW1fdG1wL3RtcF8wXy90
ZXN0LTQyLXRhaWxzcGluLXRlbXAudHh0J10pCisgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKHBv
cnQuaG9zdC5maWxlc3lzdGVtLmZpbGVzWycvX19pbV90bXAvdG1wXzBfL3Rlc3QtNDItdGFpbHNw
aW4udHh0J10pCiAKICAgICBkZWYgdGVzdF9zYW1wbGVfcHJvY2VzcyhzZWxmKToKIApkaWZmIC0t
Z2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2lvc19kZXZpY2VfdW5pdHRlc3QucHkg
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvaW9zX2RldmljZV91bml0dGVzdC5weQppbmRl
eCA0ZjYxMjgyNTc2NTIxMGUyNmVmZjdjMTljZDk1MzI0NTI3YTgyZTE2Li4xNmUwZGUxODkzMzJm
ODZiZTQ4ZTZjNGY3NzdjZTY1ZTExMTZmNDc3IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L3BvcnQvaW9zX2RldmljZV91bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L3BvcnQvaW9zX2RldmljZV91bml0dGVzdC5weQpAQCAtNDUsMjEgKzQ1LDIzIEBAIGNs
YXNzIElPU0RldmljZVRlc3QoaW9zX3Rlc3RjYXNlLklPU1Rlc3QpOgogICAgICAgICB3aXRoIHNl
bGYuYXNzZXJ0UmFpc2VzKFJ1bnRpbWVFcnJvcik6CiAgICAgICAgICAgICBwb3J0LnBhdGhfdG9f
Y3Jhc2hfbG9ncygpCiAKLSAgICBkZWYgdGVzdF9zcGluZHVtcChzZWxmKToKKyAgICBkZWYgdGVz
dF90YWlsc3BpbihzZWxmKToKICAgICAgICAgZGVmIGxvZ2dpbmdfcnVuX2NvbW1hbmQoYXJncyk6
CiAgICAgICAgICAgICBwcmludChhcmdzKQogCiAgICAgICAgIHBvcnQgPSBzZWxmLm1ha2VfcG9y
dCgpCi0gICAgICAgIHBvcnQuaG9zdC5maWxlc3lzdGVtLmZpbGVzWycvX19pbV90bXAvdG1wXzBf
L3Rlc3QtNDItc3BpbmR1bXAudHh0J10gPSAnU3BpbmR1bXAgZmlsZScKKyAgICAgICAgcG9ydC5o
b3N0LmZpbGVzeXN0ZW0uZmlsZXNbJy9fX2ltX3RtcC90bXBfMF8vdGVzdC00Mi10YWlsc3Bpbi10
ZW1wLnR4dCddID0gJ1RlbXBvcmFyeSB0YWlsc3BpbiBvdXRwdXQgZmlsZScKKyAgICAgICAgcG9y
dC5ob3N0LmZpbGVzeXN0ZW0uZmlsZXNbJy9fX2ltX3RtcC90bXBfMF8vdGVzdC00Mi10YWlsc3Bp
bi50eHQnXSA9ICdTeW1ib2xvY2F0ZWQgdGFpbHNwaW4gZmlsZScKICAgICAgICAgcG9ydC5ob3N0
LmV4ZWN1dGl2ZSA9IE1vY2tFeGVjdXRpdmUyKHJ1bl9jb21tYW5kX2ZuPWxvZ2dpbmdfcnVuX2Nv
bW1hbmQpCi0gICAgICAgIGV4cGVjdGVkX3N0ZG91dCA9ICJbJy91c3Ivc2Jpbi9zcGluZHVtcCcs
IDQyLCAxMCwgMTAsICctZmlsZScsICcvX19pbV90bXAvdG1wXzBfL3Rlc3QtNDItc3BpbmR1bXAu
dHh0J11cbiIKKyAgICAgICAgZXhwZWN0ZWRfc3Rkb3V0ID0gIlsnL3Vzci9iaW4vdGFpbHNwaW4n
LCAnc2F2ZScsICctbicsICcvX19pbV90bXAvdG1wXzBfL3Rlc3QtNDItdGFpbHNwaW4tdGVtcC50
eHQnXVxuWycvdXNyL3NiaW4vc3BpbmR1bXAnLCAnLWknLCAnL19faW1fdG1wL3RtcF8wXy90ZXN0
LTQyLXRhaWxzcGluLXRlbXAudHh0JywgJy1maWxlJywgJy9fX2ltX3RtcC90bXBfMF8vdGVzdC00
Mi10YWlsc3Bpbi50eHQnXVxuIgogICAgICAgICBPdXRwdXRDYXB0dXJlKCkuYXNzZXJ0X291dHB1
dHMoc2VsZiwgcG9ydC5zYW1wbGVfcHJvY2VzcywgYXJncz1bJ3Rlc3QnLCA0Ml0sIGV4cGVjdGVk
X3N0ZG91dD1leHBlY3RlZF9zdGRvdXQpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocG9ydC5o
b3N0LmZpbGVzeXN0ZW0uZmlsZXNbJy9tb2NrLWJ1aWxkL2xheW91dC10ZXN0LXJlc3VsdHMvdGVz
dC00Mi1zcGluZHVtcC50eHQnXSwgJ1NwaW5kdW1wIGZpbGUnKQotICAgICAgICBzZWxmLmFzc2Vy
dElzTm9uZShwb3J0Lmhvc3QuZmlsZXN5c3RlbS5maWxlc1snL19faW1fdG1wL3RtcF8wXy90ZXN0
LTQyLXNwaW5kdW1wLnR4dCddKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBvcnQuaG9zdC5m
aWxlc3lzdGVtLmZpbGVzWycvbW9jay1idWlsZC9sYXlvdXQtdGVzdC1yZXN1bHRzL3Rlc3QtNDIt
dGFpbHNwaW4udHh0J10sICdTeW1ib2xvY2F0ZWQgdGFpbHNwaW4gZmlsZScpCisgICAgICAgIHNl
bGYuYXNzZXJ0SXNOb25lKHBvcnQuaG9zdC5maWxlc3lzdGVtLmZpbGVzWycvX19pbV90bXAvdG1w
XzBfL3Rlc3QtNDItdGFpbHNwaW4tdGVtcC50eHQnXSkKKyAgICAgICAgc2VsZi5hc3NlcnRJc05v
bmUocG9ydC5ob3N0LmZpbGVzeXN0ZW0uZmlsZXNbJy9fX2ltX3RtcC90bXBfMF8vdGVzdC00Mi10
YWlsc3Bpbi50eHQnXSkKIAogICAgIGRlZiB0ZXN0X3NhbXBsZV9wcm9jZXNzKHNlbGYpOgogICAg
ICAgICBkZWYgbG9nZ2luZ19ydW5fY29tbWFuZChhcmdzKToKLSAgICAgICAgICAgIGlmIGFyZ3Nb
MF0gPT0gJy91c3Ivc2Jpbi9zcGluZHVtcCc6CisgICAgICAgICAgICBpZiBhcmdzWzBdID09ICcv
dXNyL2Jpbi90YWlsc3Bpbic6CiAgICAgICAgICAgICAgICAgcmV0dXJuIDEKICAgICAgICAgICAg
IHByaW50KGFyZ3MpCiAgICAgICAgICAgICByZXR1cm4gMApAQCAtNzQsNyArNzYsNyBAQCBjbGFz
cyBJT1NEZXZpY2VUZXN0KGlvc190ZXN0Y2FzZS5JT1NUZXN0KToKIAogICAgIGRlZiB0ZXN0X3Nh
bXBsZV9wcm9jZXNzX2V4Y2VwdGlvbihzZWxmKToKICAgICAgICAgZGVmIHRocm93aW5nX3J1bl9j
b21tYW5kKGFyZ3MpOgotICAgICAgICAgICAgaWYgYXJnc1swXSA9PSAnL3Vzci9zYmluL3NwaW5k
dW1wJzoKKyAgICAgICAgICAgIGlmIGFyZ3NbMF0gPT0gJy91c3IvYmluL3RhaWxzcGluJzoKICAg
ICAgICAgICAgICAgICByZXR1cm4gMQogICAgICAgICAgICAgcmFpc2UgU2NyaXB0RXJyb3IoJ01P
Q0sgc2NyaXB0IGVycm9yJykKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>