<?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>174800</bug_id>
          
          <creation_ts>2017-07-24 15:22:06 -0700</creation_ts>
          <short_desc>Access expectations path through apple_additions</short_desc>
          <delta_ts>2017-08-23 11:35:17 -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="Jonathan Bedard">jbedard</reporter>
          <assigned_to name="Jonathan Bedard">jbedard</assigned_to>
          <cc>aakash_jain</cc>
    
    <cc>ap</cc>
    
    <cc>buildbot</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>glenn</cc>
    
    <cc>lforschler</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1331759</commentid>
    <comment_count>0</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2017-07-24 15:22:06 -0700</bug_when>
    <thetext>When expectation files are added through --additional-platform-directory, the resulting precedence will often be wrong.  For Mac, Windows and iOS, use apple_additions to determine any additional test expectations.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1331760</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-07-24 15:22:42 -0700</bug_when>
    <thetext>&lt;rdar://problem/33498899&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1331764</commentid>
    <comment_count>2</comment_count>
      <attachid>316324</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2017-07-24 15:44:16 -0700</bug_when>
    <thetext>Created attachment 316324
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1341383</commentid>
    <comment_count>3</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2017-08-22 17:24:50 -0700</bug_when>
    <thetext>I spoke with Alexey today (8/22).  He wanted unit tests to confirm this change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1341385</commentid>
    <comment_count>4</comment_count>
      <attachid>318832</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2017-08-22 17:25:41 -0700</bug_when>
    <thetext>Created attachment 318832
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1341580</commentid>
    <comment_count>5</comment_count>
      <attachid>318832</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-08-23 10:04:29 -0700</bug_when>
    <thetext>Comment on attachment 318832
Patch

Clearing flags on attachment: 318832

Committed r221079: &lt;http://trac.webkit.org/changeset/221079&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1341581</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-08-23 10:04:30 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1341591</commentid>
    <comment_count>7</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2017-08-23 10:26:55 -0700</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1341592</commentid>
    <comment_count>8</comment_count>
      <attachid>318882</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2017-08-23 10:26:56 -0700</bug_when>
    <thetext>Created attachment 318882
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1341599</commentid>
    <comment_count>9</comment_count>
      <attachid>318882</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2017-08-23 10:32:43 -0700</bug_when>
    <thetext>Comment on attachment 318882
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1341603</commentid>
    <comment_count>10</comment_count>
      <attachid>318882</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-08-23 10:36:35 -0700</bug_when>
    <thetext>Comment on attachment 318882
Patch

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

&gt; Tools/Scripts/webkitpy/port/ios.py:103
&gt; +        os_index = -1
&gt; +        for i in xrange(2):
&gt; +            if split_name[os_index] == &apos;wk1&apos; or split_name[os_index] == &apos;wk2&apos; or split_name[os_index] == &apos;simulator&apos; or split_name[os_index] == &apos;device&apos;:
&gt; +                os_index -= 1
&gt; +        if split_name[os_index] != split_name[0]:
&gt; +            os_name = apple_additions().mac_os_name(split_name[os_index])
&gt;              if not os_name:
&gt;                  return None
&gt; -            name = split_name[0] + &apos;-&apos; + os_name + (&apos;-&apos; + &apos;-&apos;.join(split_name[2:]) if len(split_name) &gt; 2 else &apos;&apos;)
&gt; +            split_name[os_index] = os_name
&gt; +        name = &apos;-&apos;.join(split_name)

This logic seems so circuitous. I mean, the caller knows the components (e.g. &quot;wk2&quot; and &quot;device&quot;), the caller concatenates these components to form a path only for this code to split the path.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1341604</commentid>
    <comment_count>11</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-08-23 10:36:48 -0700</bug_when>
    <thetext>(In reply to WebKit Commit Bot from comment #5)
&gt; Comment on attachment 318832 [details]
&gt; Patch
&gt; 
&gt; Clearing flags on attachment: 318832
&gt; 
&gt; Committed r221079: &lt;http://trac.webkit.org/changeset/221079&gt;

I do not understand the need to the interleave the additional platform directories with the platform directories when looking for test baselines. An example would have been helpful. The description of this bug, the ChangeLog message, and &lt;rdar://problem/33498899&gt; do not provide an example or elaborate further on why &quot;the resulting precedence will often be wrong&quot; using the approach prior to this change and why the resulting precedence will be right after this change.

It is also weird that the behavior of --additional-platform-directory now differs depending on what port you are using. If you are using Mac, iOS or Windows then any --additional-platform-directory will be interleaved with the regular platform directories. For all other ports, --additional-platform-directory will take precedence over the platform directories.

Regardless, the description for --additional-platform-directory in &quot;run-webkit-tests --help&quot; is now out-of-date. We should update this description to add a remark to explain the Mac, iOS, and Windows-specific behavior.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1341607</commentid>
    <comment_count>12</comment_count>
      <attachid>318882</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-08-23 10:38:02 -0700</bug_when>
    <thetext>Comment on attachment 318882
Patch

cq-&apos;ing since the help description for --additional-platform-directory is out-of-date.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1341632</commentid>
    <comment_count>13</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-08-23 10:51:19 -0700</bug_when>
    <thetext>(In reply to Daniel Bates from comment #11)
&gt; It is also weird that the behavior of --additional-platform-directory now
&gt; differs depending on what port you are using. If you are using Mac, iOS or
&gt; Windows then any --additional-platform-directory will be interleaved with
&gt; the regular platform directories. For all other ports,
&gt; --additional-platform-directory will take precedence over the platform
&gt; directories.
&gt; 
&gt; Regardless, the description for --additional-platform-directory in
&gt; &quot;run-webkit-tests --help&quot; is now out-of-date. We should update this
&gt; description to add a remark to explain the Mac, iOS, and Windows-specific
&gt; behavior.

(In reply to Daniel Bates from comment #12)
&gt; Comment on attachment 318882 [details]
&gt; Patch
&gt; 
&gt; cq-&apos;ing since the help description for --additional-platform-directory is
&gt; out-of-date.

Disregard these remarks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1341657</commentid>
    <comment_count>14</comment_count>
      <attachid>318882</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-08-23 11:09:09 -0700</bug_when>
    <thetext>Comment on attachment 318882
Patch

Clearing flags on attachment: 318882

Committed r221087: &lt;http://trac.webkit.org/changeset/221087&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1341658</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-08-23 11:09:11 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1341674</commentid>
    <comment_count>16</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2017-08-23 11:35:17 -0700</bug_when>
    <thetext>Committed r221089: &lt;http://trac.webkit.org/changeset/221089&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>316324</attachid>
            <date>2017-07-24 15:44:16 -0700</date>
            <delta_ts>2017-08-22 17:25:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-174800-20170724154415.patch</filename>
            <type>text/plain</type>
            <size>7218</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDIxOTg0MSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDI4IEBACisyMDE3LTA3LTI0ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICBBY2Nlc3MgZXhwZWN0YXRpb25zIHBhdGggdGhyb3VnaCBhcHBsZV9hZGRp
dGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3
NDgwMAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzM0OTg4OTk+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2hlbiBleHRlcm5hbCB0ZXN0IGV4cGVj
dGF0aW9ucyBhcmUgaW1wb3J0ZWQgdGhyb3VnaCBhZGRpdGlvbmFsLXBsYXRmb3JtLWRpcmVjdG9y
eSwgdGhleSB3aWxsCisgICAgICAgIG92ZXItd3JpdGUgYW55IFdlYktpdCBleHBlY3RhdGlvbnMu
IEFjY2VzcyBzb21lIGV4cGVjdGF0aW9ucyBmcm9tIGFwcGxlX2FkZGl0aW9ucyB0byBjb3JyZWN0
CisgICAgICAgIHRoZXNlIHByZWNlZGVuY2UgaXNzdWVzLgorCisgICAgICAgICogU2NyaXB0cy93
ZWJraXRweS9wb3J0L2lvcy5weToKKyAgICAgICAgKElPU1BvcnQuX2FwcGxlX2FkZGl0aW9uc19w
YXRoKTogQ29udmVydCB0ZXN0IGV4cGVjdGF0aW9uIGRpcmVjdG9yeSB0byBhIHBhdGgKKyAgICAg
ICAgY29taW5nIGZyb20gYXBwbGVfYWRkaXRpb25zLgorICAgICAgICAoSU9TUG9ydC5kZWZhdWx0
X2Jhc2VsaW5lX3NlYXJjaF9wYXRoKTogQWx0ZXJuYXRlIGJldHdlZW4gV2ViS2l0IHBhdGggYW5k
IGFwcGxlX2FkZGl0aW9ucworICAgICAgICBwYXRoIGZvciBsYXlvdXQgdGVzdCBleHBlY3RhdGlv
bnMuCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L21hYy5weToKKyAgICAgICAgKE1h
Y1BvcnQuX2FwcGxlX2FkZGl0aW9uc19wYXRoKTogQ29udmVydCB0ZXN0IGV4cGVjdGF0aW9uIGRp
cmVjdG9yeSB0byBhIHBhdGgKKyAgICAgICAgY29taW5nIGZyb20gYXBwbGVfYWRkaXRpb25zLgor
ICAgICAgICAoTWFjUG9ydC5kZWZhdWx0X2Jhc2VsaW5lX3NlYXJjaF9wYXRoKTogQWx0ZXJuYXRl
IGJldHdlZW4gV2ViS2l0IHBhdGggYW5kIGFwcGxlX2FkZGl0aW9ucworICAgICAgICBwYXRoIGZv
ciBsYXlvdXQgdGVzdCBleHBlY3RhdGlvbnMuCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9w
b3J0L3dpbi5weToKKyAgICAgICAgKFdpblBvcnQuZGVmYXVsdF9iYXNlbGluZV9zZWFyY2hfcGF0
aCk6IEluY2x1ZGUgYXBwbGVfYWRkaXRpb25zIHRlc3QgZXhwZWN0YXRpb24gZm9yIFdpbmRvd3Mu
CisKIDIwMTctMDctMjQgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAK
ICAgICAgICAgW01hYyBXSzJdIEFkZCBhbiBBUEkgdGVzdCB0byBjb3ZlciByMjE5NzY1IChudWxs
IGRlcmVmZXJlbmNlIGluIFtXS1dlYlZpZXcgZGVhbGxvY10pCkluZGV4OiBUb29scy9TY3JpcHRz
L3dlYmtpdHB5L3BvcnQvaW9zLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvd2Via2l0
cHkvcG9ydC9pb3MucHkJKHJldmlzaW9uIDIxOTgyMikKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0
cHkvcG9ydC9pb3MucHkJKHdvcmtpbmcgY29weSkKQEAgLTI1LDYgKzI1LDcgQEAgaW1wb3J0IHRy
YWNlYmFjawogCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5tZW1vaXplZCBpbXBvcnQgbWVtb2l6ZWQK
IGZyb20gd2Via2l0cHkubGF5b3V0X3Rlc3RzLm1vZGVscy50ZXN0X2NvbmZpZ3VyYXRpb24gaW1w
b3J0IFRlc3RDb25maWd1cmF0aW9uCitmcm9tIHdlYmtpdHB5LnBvcnQuY29uZmlnIGltcG9ydCBh
cHBsZV9hZGRpdGlvbnMKIGZyb20gd2Via2l0cHkucG9ydC5kYXJ3aW4gaW1wb3J0IERhcndpblBv
cnQKIGZyb20gd2Via2l0cHkucG9ydC5zaW11bGF0b3JfcHJvY2VzcyBpbXBvcnQgU2ltdWxhdG9y
UHJvY2VzcwogCkBAIC04Niw2ICs4NywxOCBAQCBjbGFzcyBJT1NQb3J0KERhcndpblBvcnQpOgog
ICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3Rlc3RpbmdfZGV2aWNlKHdvcmtlcl9udW1iZXIpCiAg
ICAgICAgIHJldHVybiBzZWxmLl9jdXJyZW50X2RldmljZQogCisgICAgZGVmIF9hcHBsZV9hZGRp
dGlvbnNfcGF0aChzZWxmLCBuYW1lKToKKyAgICAgICAgaWYgbmFtZSA9PSAnd2syJzoKKyAgICAg
ICAgICAgIHJldHVybiBOb25lCisgICAgICAgIHNwbGl0X25hbWUgPSBuYW1lLnNwbGl0KCctJykK
KyAgICAgICAgaWYgbGVuKHNwbGl0X25hbWUpID4gMSBhbmQgc3BsaXRfbmFtZVsxXSAhPSAnd2sx
JyBhbmQgc3BsaXRfbmFtZVsxXSAhPSAnd2syJyBhbmQgc3BsaXRfbmFtZVsxXSAhPSAnc2ltdWxh
dG9yJyBhbmQgc3BsaXRfbmFtZVsxXSAhPSAnZGV2aWNlJzoKKyAgICAgICAgICAgIG9zX25hbWUg
PSBhcHBsZV9hZGRpdGlvbnMoKS5pb3Nfb3NfbmFtZShzcGxpdF9uYW1lWzFdKQorICAgICAgICAg
ICAgaWYgbm90IG9zX25hbWU6CisgICAgICAgICAgICAgICAgcmV0dXJuIE5vbmUKKyAgICAgICAg
ICAgIG5hbWUgPSBzcGxpdF9uYW1lWzBdICsgJy0nICsgb3NfbmFtZSArICgnLScgKyAnLScuam9p
bihzcGxpdF9uYW1lWzI6XSkgaWYgbGVuKHNwbGl0X25hbWUpID4gMiBlbHNlICcnKQorICAgICAg
ICByZXR1cm4gc2VsZi5fZmlsZXN5c3RlbS5qb2luKGFwcGxlX2FkZGl0aW9ucygpLmxheW91dF90
ZXN0c19wYXRoKCksIG5hbWUpCisKKyAgICBAbWVtb2l6ZWQKICAgICBkZWYgZGVmYXVsdF9iYXNl
bGluZV9zZWFyY2hfcGF0aChzZWxmKToKICAgICAgICAgd2tfc3RyaW5nID0gJ3drMScKICAgICAg
ICAgaWYgc2VsZi5nZXRfb3B0aW9uKCd3ZWJraXRfdGVzdF9ydW5uZXInKToKQEAgLTEwMCw3ICsx
MTMsMTYgQEAgY2xhc3MgSU9TUG9ydChEYXJ3aW5Qb3J0KToKICAgICAgICAgaWYgc2VsZi5nZXRf
b3B0aW9uKCd3ZWJraXRfdGVzdF9ydW5uZXInKToKICAgICAgICAgICAgIGZhbGxiYWNrX25hbWVz
LmFwcGVuZCgnd2syJykKIAotICAgICAgICByZXR1cm4gbWFwKHNlbGYuX3dlYmtpdF9iYXNlbGlu
ZV9wYXRoLCBmYWxsYmFja19uYW1lcykKKyAgICAgICAgd2Via2l0X2V4cGVjdGF0aW9ucyA9IG1h
cChzZWxmLl93ZWJraXRfYmFzZWxpbmVfcGF0aCwgZmFsbGJhY2tfbmFtZXMpCisgICAgICAgIGlm
IGFwcGxlX2FkZGl0aW9ucygpIGFuZCBnZXRhdHRyKGFwcGxlX2FkZGl0aW9ucygpLCAibGF5b3V0
X3Rlc3RzX3BhdGgiLCBOb25lKToKKyAgICAgICAgICAgIGFwcGxlX2V4cGVjdGF0aW9ucyA9IG1h
cChzZWxmLl9hcHBsZV9hZGRpdGlvbnNfcGF0aCwgZmFsbGJhY2tfbmFtZXMpCisgICAgICAgICAg
ICByZXN1bHQgPSBbXQorICAgICAgICAgICAgZm9yIGkgaW4geHJhbmdlKGxlbih3ZWJraXRfZXhw
ZWN0YXRpb25zKSk6CisgICAgICAgICAgICAgICAgaWYgYXBwbGVfZXhwZWN0YXRpb25zW2ldOgor
ICAgICAgICAgICAgICAgICAgICByZXN1bHQuYXBwZW5kKGFwcGxlX2V4cGVjdGF0aW9uc1tpXSkK
KyAgICAgICAgICAgICAgICByZXN1bHQuYXBwZW5kKHdlYmtpdF9leHBlY3RhdGlvbnNbaV0pCisg
ICAgICAgICAgICByZXR1cm4gcmVzdWx0CisgICAgICAgIHJldHVybiB3ZWJraXRfZXhwZWN0YXRp
b25zCiAKICAgICBkZWYgdGVzdF9leHBlY3RhdGlvbnNfZmlsZV9wb3NpdGlvbihzZWxmKToKICAg
ICAgICAgcmV0dXJuIDQKSW5kZXg6IFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9tYWMucHkK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L21hYy5weQkocmV2aXNp
b24gMjE5ODIyKQorKysgVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L21hYy5weQkod29ya2lu
ZyBjb3B5KQpAQCAtMzQsNiArMzQsNyBAQCBpbXBvcnQgcmUKIAogZnJvbSB3ZWJraXRweS5jb21t
b24ubWVtb2l6ZWQgaW1wb3J0IG1lbW9pemVkCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0u
ZXhlY3V0aXZlIGltcG9ydCBTY3JpcHRFcnJvcgorZnJvbSB3ZWJraXRweS5wb3J0LmNvbmZpZyBp
bXBvcnQgYXBwbGVfYWRkaXRpb25zCiBmcm9tIHdlYmtpdHB5LnBvcnQuZGFyd2luIGltcG9ydCBE
YXJ3aW5Qb3J0CiAKIF9sb2cgPSBsb2dnaW5nLmdldExvZ2dlcihfX25hbWVfXykKQEAgLTU2LDYg
KzU3LDE3IEBAIGNsYXNzIE1hY1BvcnQoRGFyd2luUG9ydCk6CiAgICAgZGVmIF9idWlsZF9kcml2
ZXJfZmxhZ3Moc2VsZik6CiAgICAgICAgIHJldHVybiBbJ0FSQ0hTPWkzODYnXSBpZiBzZWxmLmFy
Y2hpdGVjdHVyZSgpID09ICd4ODYnIGVsc2UgW10KIAorICAgIGRlZiBfYXBwbGVfYWRkaXRpb25z
X3BhdGgoc2VsZiwgbmFtZSk6CisgICAgICAgIGlmIG5hbWUgPT0gJ3drMic6CisgICAgICAgICAg
ICByZXR1cm4gTm9uZQorICAgICAgICBzcGxpdF9uYW1lID0gbmFtZS5zcGxpdCgnLScpCisgICAg
ICAgIGlmIGxlbihzcGxpdF9uYW1lKSA+IDEgYW5kIHNwbGl0X25hbWVbMV0gIT0gJ3drMScgYW5k
IHNwbGl0X25hbWVbMV0gIT0gJ3drMic6CisgICAgICAgICAgICBvc19uYW1lID0gYXBwbGVfYWRk
aXRpb25zKCkubWFjX29zX25hbWUoc3BsaXRfbmFtZVsxXSkKKyAgICAgICAgICAgIGlmIG5vdCBv
c19uYW1lOgorICAgICAgICAgICAgICAgIHJldHVybiBOb25lCisgICAgICAgICAgICBuYW1lID0g
c3BsaXRfbmFtZVswXSArICctJyArIG9zX25hbWUgKyAoJy0nICsgJy0nLmpvaW4oc3BsaXRfbmFt
ZVsyOl0pKSBpZiBsZW4oc3BsaXRfbmFtZSkgPiAyIGVsc2UgJycKKyAgICAgICAgcmV0dXJuIHNl
bGYuX2ZpbGVzeXN0ZW0uam9pbihhcHBsZV9hZGRpdGlvbnMoKS5sYXlvdXRfdGVzdHNfcGF0aCgp
LCBuYW1lKQorCiAgICAgQG1lbW9pemVkCiAgICAgZGVmIGRlZmF1bHRfYmFzZWxpbmVfc2VhcmNo
X3BhdGgoc2VsZik6CiAgICAgICAgIHdrX3N0cmluZyA9ICd3azEnCkBAIC03MCw3ICs4MiwxNiBA
QCBjbGFzcyBNYWNQb3J0KERhcndpblBvcnQpOgogICAgICAgICBpZiBzZWxmLmdldF9vcHRpb24o
J3dlYmtpdF90ZXN0X3J1bm5lcicpOgogICAgICAgICAgICAgZmFsbGJhY2tfbmFtZXMuYXBwZW5k
KCd3azInKQogCi0gICAgICAgIHJldHVybiBtYXAoc2VsZi5fd2Via2l0X2Jhc2VsaW5lX3BhdGgs
IGZhbGxiYWNrX25hbWVzKQorICAgICAgICB3ZWJraXRfZXhwZWN0YXRpb25zID0gbWFwKHNlbGYu
X3dlYmtpdF9iYXNlbGluZV9wYXRoLCBmYWxsYmFja19uYW1lcykKKyAgICAgICAgaWYgYXBwbGVf
YWRkaXRpb25zKCkgYW5kIGdldGF0dHIoYXBwbGVfYWRkaXRpb25zKCksICJsYXlvdXRfdGVzdHNf
cGF0aCIsIE5vbmUpOgorICAgICAgICAgICAgYXBwbGVfZXhwZWN0YXRpb25zID0gbWFwKHNlbGYu
X2FwcGxlX2FkZGl0aW9uc19wYXRoLCBmYWxsYmFja19uYW1lcykKKyAgICAgICAgICAgIHJlc3Vs
dCA9IFtdCisgICAgICAgICAgICBmb3IgaSBpbiB4cmFuZ2UobGVuKHdlYmtpdF9leHBlY3RhdGlv
bnMpKToKKyAgICAgICAgICAgICAgICBpZiBhcHBsZV9leHBlY3RhdGlvbnNbaV06CisgICAgICAg
ICAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQoYXBwbGVfZXhwZWN0YXRpb25zW2ldKQorICAgICAg
ICAgICAgICAgIHJlc3VsdC5hcHBlbmQod2Via2l0X2V4cGVjdGF0aW9uc1tpXSkKKyAgICAgICAg
ICAgIHJldHVybiByZXN1bHQKKyAgICAgICAgcmV0dXJuIHdlYmtpdF9leHBlY3RhdGlvbnMKIAog
ICAgIGRlZiBjb25maWd1cmF0aW9uX3NwZWNpZmllcl9tYWNyb3Moc2VsZik6CiAgICAgICAgIHJl
dHVybiB7CkluZGV4OiBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvd2luLnB5Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC93aW4ucHkJKHJldmlzaW9uIDIxOTgy
MikKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC93aW4ucHkJKHdvcmtpbmcgY29weSkK
QEAgLTQwLDcgKzQwLDcgQEAgZnJvbSB3ZWJraXRweS5jb21tb24uc3lzdGVtLnN5c3RlbWhvc3Qg
aQogZnJvbSB3ZWJraXRweS5jb21tb24uc3lzdGVtLmV4ZWN1dGl2ZSBpbXBvcnQgU2NyaXB0RXJy
b3IsIEV4ZWN1dGl2ZQogZnJvbSB3ZWJraXRweS5jb21tb24uc3lzdGVtLnBhdGggaW1wb3J0IGFi
c3BhdGhfdG9fdXJpLCBjeWdwYXRoCiBmcm9tIHdlYmtpdHB5LnBvcnQuYXBwbGUgaW1wb3J0IEFw
cGxlUG9ydAotCitmcm9tIHdlYmtpdHB5LnBvcnQuY29uZmlnIGltcG9ydCBhcHBsZV9hZGRpdGlv
bnMKIAogX2xvZyA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKF9fbmFtZV9fKQogCkBAIC0xMTMsNyArMTEz
LDEwIEBAIGNsYXNzIFdpblBvcnQoQXBwbGVQb3J0KToKICAgICAgICAgICAgICMgTm90ZSB3ZSBk
byBub3QgYWRkICd3azInIGhlcmUsIGV2ZW4gdGhvdWdoIGl0J3MgaW5jbHVkZWQgaW4gX3NraXBw
ZWRfc2VhcmNoX3BhdGhzKCkuCiAgICAgICAgICMgRklYTUU6IFBlcmhhcHMgd2Ugc2hvdWxkIGdl
dCB0aGlzIGxpc3QgZnJvbSBNYWNQb3J0PwogICAgICAgICBmYWxsYmFja19uYW1lcy5hcHBlbmQo
J21hYycpCi0gICAgICAgIHJldHVybiBtYXAoc2VsZi5fd2Via2l0X2Jhc2VsaW5lX3BhdGgsIGZh
bGxiYWNrX25hbWVzKQorICAgICAgICByZXN1bHQgPSBtYXAoc2VsZi5fd2Via2l0X2Jhc2VsaW5l
X3BhdGgsIGZhbGxiYWNrX25hbWVzKQorICAgICAgICBpZiBhcHBsZV9hZGRpdGlvbnMoKSBhbmQg
Z2V0YXR0cihhcHBsZV9hZGRpdGlvbnMoKSwgImxheW91dF90ZXN0c19wYXRoIiwgTm9uZSk6Cisg
ICAgICAgICAgICByZXN1bHQuaW5zZXJ0KDAsIHNlbGYuX2ZpbGVzeXN0ZW0uam9pbihhcHBsZV9h
ZGRpdGlvbnMoKS5sYXlvdXRfdGVzdHNfcGF0aCgpLCBzZWxmLnBvcnRfbmFtZSkpCisgICAgICAg
IHJldHVybiByZXN1bHQKIAogICAgIGRlZiBzZXR1cF9lbnZpcm9uX2Zvcl9zZXJ2ZXIoc2VsZiwg
c2VydmVyX25hbWU9Tm9uZSk6CiAgICAgICAgIGVudiA9IHN1cGVyKFdpblBvcnQsIHNlbGYpLnNl
dHVwX2Vudmlyb25fZm9yX3NlcnZlcihzZXJ2ZXJfbmFtZSkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>318832</attachid>
            <date>2017-08-22 17:25:41 -0700</date>
            <delta_ts>2017-08-23 10:26:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-174800-20170822172541.patch</filename>
            <type>text/plain</type>
            <size>17581</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDIyMTA1OSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDM3IEBACisyMDE3LTA4LTIyICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICBBY2Nlc3MgZXhwZWN0YXRpb25zIHBhdGggdGhyb3VnaCBhcHBsZV9hZGRp
dGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3
NDgwMAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzM0OTg4OTk+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2hlbiBleHRlcm5hbCB0ZXN0IGV4cGVj
dGF0aW9ucyBhcmUgaW1wb3J0ZWQgdGhyb3VnaCBhZGRpdGlvbmFsLXBsYXRmb3JtLWRpcmVjdG9y
eSwgdGhleSB3aWxsCisgICAgICAgIG92ZXItd3JpdGUgYW55IFdlYktpdCBleHBlY3RhdGlvbnMu
IEFjY2VzcyBzb21lIGV4cGVjdGF0aW9ucyBmcm9tIGFwcGxlX2FkZGl0aW9ucyB0byBjb3JyZWN0
CisgICAgICAgIHRoZXNlIHByZWNlZGVuY2UgaXNzdWVzLgorCisgICAgICAgICogU2NyaXB0cy93
ZWJraXRweS9wb3J0L2lvcy5weToKKyAgICAgICAgKElPU1BvcnQuX2FwcGxlX2FkZGl0aW9uc19w
YXRoKTogQ29udmVydCB0ZXN0IGV4cGVjdGF0aW9uIGRpcmVjdG9yeSB0byBhIHBhdGgKKyAgICAg
ICAgY29taW5nIGZyb20gYXBwbGVfYWRkaXRpb25zLgorICAgICAgICAoSU9TUG9ydC5kZWZhdWx0
X2Jhc2VsaW5lX3NlYXJjaF9wYXRoKTogQWx0ZXJuYXRlIGJldHdlZW4gV2ViS2l0IHBhdGggYW5k
IGFwcGxlX2FkZGl0aW9ucworICAgICAgICBwYXRoIGZvciBsYXlvdXQgdGVzdCBleHBlY3RhdGlv
bnMuCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L2lvc19kZXZpY2VfdW5pdHRlc3Qu
cHk6CisgICAgICAgIChJT1NEZXZpY2VUZXN0LnRlc3RfbGF5b3V0X3Rlc3Rfc2VhcmNocGF0aF93
aXRoX2FwcGxlX2FkZGl0aW9ucyk6IEFkZGVkIHRvIHRlc3QgbGF5b3V0LXRlc3Qgc2VhcmNoIHBh
dGhzLgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvcG9ydC9pb3Nfc2ltdWxhdG9yX3VuaXR0
ZXN0LnB5OgorICAgICAgICAoSU9TU2ltdWxhdG9yVGVzdC50ZXN0X2xheW91dF90ZXN0X3NlYXJj
aHBhdGhfd2l0aF9hcHBsZV9hZGRpdGlvbnMpOiBBZGRlZCB0byB0ZXN0IGxheW91dC10ZXN0IHNl
YXJjaCBwYXRocy4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvbWFjLnB5OgorICAg
ICAgICAoTWFjUG9ydC5fYXBwbGVfYWRkaXRpb25zX3BhdGgpOiBDb252ZXJ0IHRlc3QgZXhwZWN0
YXRpb24gZGlyZWN0b3J5IHRvIGEgcGF0aAorICAgICAgICBjb21pbmcgZnJvbSBhcHBsZV9hZGRp
dGlvbnMuCisgICAgICAgIChNYWNQb3J0LmRlZmF1bHRfYmFzZWxpbmVfc2VhcmNoX3BhdGgpOiBB
bHRlcm5hdGUgYmV0d2VlbiBXZWJLaXQgcGF0aCBhbmQgYXBwbGVfYWRkaXRpb25zCisgICAgICAg
IHBhdGggZm9yIGxheW91dCB0ZXN0IGV4cGVjdGF0aW9ucy4KKyAgICAgICAgKiBTY3JpcHRzL3dl
YmtpdHB5L3BvcnQvbWFjX3VuaXR0ZXN0LnB5OgorICAgICAgICAoTWFjVGVzdC50ZXN0X2xheW91
dF90ZXN0X3NlYXJjaHBhdGhfd2l0aF9hcHBsZV9hZGRpdGlvbnMpOiBBZGRlZCB0byB0ZXN0IGxh
eW91dC10ZXN0IHNlYXJjaCBwYXRocy4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQv
cG9ydF90ZXN0Y2FzZS5weToKKyAgICAgICAgKGJpbmRfbW9ja19hcHBsZV9hZGRpdGlvbnMpOiBB
ZGRlZCB0byBjcmVhdGUgbW9jayBhcHBsZV9hZGRpdGlvbnMgZm9yIGEgYmxvY2suCisgICAgICAg
IChiaW5kX21vY2tfYXBwbGVfYWRkaXRpb25zLk1vY2tBcHBsZUFkZGl0aW9ucyk6IENvbnRhaW5z
IGFwcGxlX2FkZGl0aW9uIHN0dWJzIGZvciB0ZXN0aW5nLgorICAgICAgICAqIFNjcmlwdHMvd2Vi
a2l0cHkvcG9ydC93aW4ucHk6CisgICAgICAgIChXaW5Qb3J0LmRlZmF1bHRfYmFzZWxpbmVfc2Vh
cmNoX3BhdGgpOiBJbmNsdWRlIGFwcGxlX2FkZGl0aW9ucyB0ZXN0IGV4cGVjdGF0aW9uIGZvciBX
aW5kb3dzLgorCiAyMDE3LTA4LTIyICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgQWRkIFVJRGVsZWdhdGVQcml2YXRlIFNQSSBjb3JyZXNwb25k
aW5nIHRvIFdLUGFnZVVJQ2xpZW50LnNob3dQYWdlCkluZGV4OiBUb29scy9TY3JpcHRzL3dlYmtp
dHB5L3BvcnQvaW9zLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9y
dC9pb3MucHkJKHJldmlzaW9uIDIyMTA1MikKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9y
dC9pb3MucHkJKHdvcmtpbmcgY29weSkKQEAgLTI1LDYgKzI1LDcgQEAgaW1wb3J0IHRyYWNlYmFj
awogCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5tZW1vaXplZCBpbXBvcnQgbWVtb2l6ZWQKIGZyb20g
d2Via2l0cHkubGF5b3V0X3Rlc3RzLm1vZGVscy50ZXN0X2NvbmZpZ3VyYXRpb24gaW1wb3J0IFRl
c3RDb25maWd1cmF0aW9uCitmcm9tIHdlYmtpdHB5LnBvcnQuY29uZmlnIGltcG9ydCBhcHBsZV9h
ZGRpdGlvbnMKIGZyb20gd2Via2l0cHkucG9ydC5kYXJ3aW4gaW1wb3J0IERhcndpblBvcnQKIGZy
b20gd2Via2l0cHkucG9ydC5zaW11bGF0b3JfcHJvY2VzcyBpbXBvcnQgU2ltdWxhdG9yUHJvY2Vz
cwogCkBAIC04NiwxMSArODcsMjUgQEAgY2xhc3MgSU9TUG9ydChEYXJ3aW5Qb3J0KToKICAgICAg
ICAgICAgIHJldHVybiBzZWxmLl90ZXN0aW5nX2RldmljZSh3b3JrZXJfbnVtYmVyKQogICAgICAg
ICByZXR1cm4gc2VsZi5fY3VycmVudF9kZXZpY2UKIAorICAgIGRlZiBfYXBwbGVfYWRkaXRpb25z
X3BhdGgoc2VsZiwgbmFtZSk6CisgICAgICAgIGlmIG5hbWUgPT0gJ3drMic6CisgICAgICAgICAg
ICByZXR1cm4gTm9uZQorICAgICAgICBzcGxpdF9uYW1lID0gbmFtZS5zcGxpdCgnLScpCisgICAg
ICAgIGlmIGxlbihzcGxpdF9uYW1lKSA+IDEgYW5kIHNwbGl0X25hbWVbMV0gIT0gJ3drMScgYW5k
IHNwbGl0X25hbWVbMV0gIT0gJ3drMicgYW5kIHNwbGl0X25hbWVbMV0gIT0gJ3NpbXVsYXRvcicg
YW5kIHNwbGl0X25hbWVbMV0gIT0gJ2RldmljZSc6CisgICAgICAgICAgICBvc19uYW1lID0gYXBw
bGVfYWRkaXRpb25zKCkuaW9zX29zX25hbWUoc3BsaXRfbmFtZVsxXSkKKyAgICAgICAgICAgIGlm
IG5vdCBvc19uYW1lOgorICAgICAgICAgICAgICAgIHJldHVybiBOb25lCisgICAgICAgICAgICBu
YW1lID0gc3BsaXRfbmFtZVswXSArICctJyArIG9zX25hbWUgKyAoJy0nICsgJy0nLmpvaW4oc3Bs
aXRfbmFtZVsyOl0pIGlmIGxlbihzcGxpdF9uYW1lKSA+IDIgZWxzZSAnJykKKyAgICAgICAgcmV0
dXJuIHNlbGYuX2ZpbGVzeXN0ZW0uam9pbihhcHBsZV9hZGRpdGlvbnMoKS5sYXlvdXRfdGVzdHNf
cGF0aCgpLCBuYW1lKQorCisgICAgQG1lbW9pemVkCiAgICAgZGVmIGRlZmF1bHRfYmFzZWxpbmVf
c2VhcmNoX3BhdGgoc2VsZik6CiAgICAgICAgIHdrX3N0cmluZyA9ICd3azEnCiAgICAgICAgIGlm
IHNlbGYuZ2V0X29wdGlvbignd2Via2l0X3Rlc3RfcnVubmVyJyk6CiAgICAgICAgICAgICB3a19z
dHJpbmcgPSAnd2syJwogICAgICAgICBmYWxsYmFja19uYW1lcyA9IFsKKyAgICAgICAgICAgICd7
fS17fS17fScuZm9ybWF0KHNlbGYucG9ydF9uYW1lLCBzZWxmLmlvc192ZXJzaW9uKCkuc3BsaXQo
Jy4nKVswXSwgd2tfc3RyaW5nKSwKKyAgICAgICAgICAgICd7fS17fScuZm9ybWF0KHNlbGYucG9y
dF9uYW1lLCBzZWxmLmlvc192ZXJzaW9uKCkuc3BsaXQoJy4nKVswXSksCiAgICAgICAgICAgICAn
e30te30nLmZvcm1hdChzZWxmLnBvcnRfbmFtZSwgd2tfc3RyaW5nKSwKICAgICAgICAgICAgIHNl
bGYucG9ydF9uYW1lLAogICAgICAgICAgICAgJ3t9LXt9Jy5mb3JtYXQoSU9TUG9ydC5wb3J0X25h
bWUsIHNlbGYuaW9zX3ZlcnNpb24oKS5zcGxpdCgnLicpWzBdKSwKQEAgLTEwMCw3ICsxMTUsMTYg
QEAgY2xhc3MgSU9TUG9ydChEYXJ3aW5Qb3J0KToKICAgICAgICAgaWYgc2VsZi5nZXRfb3B0aW9u
KCd3ZWJraXRfdGVzdF9ydW5uZXInKToKICAgICAgICAgICAgIGZhbGxiYWNrX25hbWVzLmFwcGVu
ZCgnd2syJykKIAotICAgICAgICByZXR1cm4gbWFwKHNlbGYuX3dlYmtpdF9iYXNlbGluZV9wYXRo
LCBmYWxsYmFja19uYW1lcykKKyAgICAgICAgd2Via2l0X2V4cGVjdGF0aW9ucyA9IG1hcChzZWxm
Ll93ZWJraXRfYmFzZWxpbmVfcGF0aCwgZmFsbGJhY2tfbmFtZXMpCisgICAgICAgIGlmIGFwcGxl
X2FkZGl0aW9ucygpIGFuZCBnZXRhdHRyKGFwcGxlX2FkZGl0aW9ucygpLCAibGF5b3V0X3Rlc3Rz
X3BhdGgiLCBOb25lKToKKyAgICAgICAgICAgIGFwcGxlX2V4cGVjdGF0aW9ucyA9IG1hcChzZWxm
Ll9hcHBsZV9hZGRpdGlvbnNfcGF0aCwgZmFsbGJhY2tfbmFtZXMpCisgICAgICAgICAgICByZXN1
bHQgPSBbXQorICAgICAgICAgICAgZm9yIGkgaW4geHJhbmdlKGxlbih3ZWJraXRfZXhwZWN0YXRp
b25zKSk6CisgICAgICAgICAgICAgICAgaWYgYXBwbGVfZXhwZWN0YXRpb25zW2ldOgorICAgICAg
ICAgICAgICAgICAgICByZXN1bHQuYXBwZW5kKGFwcGxlX2V4cGVjdGF0aW9uc1tpXSkKKyAgICAg
ICAgICAgICAgICByZXN1bHQuYXBwZW5kKHdlYmtpdF9leHBlY3RhdGlvbnNbaV0pCisgICAgICAg
ICAgICByZXR1cm4gcmVzdWx0CisgICAgICAgIHJldHVybiB3ZWJraXRfZXhwZWN0YXRpb25zCiAK
ICAgICBkZWYgdGVzdF9leHBlY3RhdGlvbnNfZmlsZV9wb3NpdGlvbihzZWxmKToKICAgICAgICAg
cmV0dXJuIDQKSW5kZXg6IFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9pb3NfZGV2aWNlX3Vu
aXR0ZXN0LnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9pb3Nf
ZGV2aWNlX3VuaXR0ZXN0LnB5CShyZXZpc2lvbiAyMjEwNTIpCisrKyBUb29scy9TY3JpcHRzL3dl
YmtpdHB5L3BvcnQvaW9zX2RldmljZV91bml0dGVzdC5weQkod29ya2luZyBjb3B5KQpAQCAtMjYs
NiArMjYsNyBAQCBmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0ub3V0cHV0Y2FwdHVyCiBmcm9t
IHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0uZXhlY3V0aXZlX21vY2sgaW1wb3J0IE1vY2tFeGVjdXRp
dmUyLCBTY3JpcHRFcnJvcgogZnJvbSB3ZWJraXRweS5wb3J0Lmlvc19kZXZpY2UgaW1wb3J0IElP
U0RldmljZVBvcnQKIGZyb20gd2Via2l0cHkucG9ydCBpbXBvcnQgaW9zX3Rlc3RjYXNlCitmcm9t
IHdlYmtpdHB5LnBvcnQgaW1wb3J0IHBvcnRfdGVzdGNhc2UKIAogCiBjbGFzcyBJT1NEZXZpY2VU
ZXN0KGlvc190ZXN0Y2FzZS5JT1NUZXN0KToKQEAgLTg4LDMgKzg5LDE5IEBAIGNsYXNzIElPU0Rl
dmljZVRlc3QoaW9zX3Rlc3RjYXNlLklPU1Rlc3QKICAgICAgICAgcG9ydCA9IHNlbGYubWFrZV9w
b3J0KHBvcnRfbmFtZT1zZWxmLnBvcnRfbmFtZSkKICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJh
aXNlcyhSdW50aW1lRXJyb3IpOgogICAgICAgICAgICAgcG9ydC5fZ2V0X2NyYXNoX2xvZygnRHVt
cFJlbmRlclRyZWUnLCAxMjM0LCBOb25lLCBOb25lLCB0aW1lLnRpbWUoKSwgd2FpdF9mb3JfbG9n
PUZhbHNlKQorCisgICAgZGVmIHRlc3RfbGF5b3V0X3Rlc3Rfc2VhcmNocGF0aF93aXRoX2FwcGxl
X2FkZGl0aW9ucyhzZWxmKToKKyAgICAgICAgd2l0aCBwb3J0X3Rlc3RjYXNlLmJpbmRfbW9ja19h
cHBsZV9hZGRpdGlvbnMoKToKKyAgICAgICAgICAgIHNlYXJjaF9wYXRoID0gc2VsZi5tYWtlX3Bv
cnQoKS5kZWZhdWx0X2Jhc2VsaW5lX3NlYXJjaF9wYXRoKCkKKyAgICAgICAgc2VsZi5hc3NlcnRF
cXVhbChzZWFyY2hfcGF0aFswXSwgJy9hZGRpdGlvbmFsX3Rlc3RpbmdfcGF0aC9pb3MtZGV2aWNl
LTExLXdrMScpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VhcmNoX3BhdGhbMV0sICcvbW9j
ay1jaGVja291dC9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MtZGV2aWNlLTExLXdrMScpCisgICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VhcmNoX3BhdGhbMl0sICcvYWRkaXRpb25hbF90ZXN0aW5n
X3BhdGgvaW9zLWRldmljZS0xMScpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VhcmNoX3Bh
dGhbM10sICcvbW9jay1jaGVja291dC9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MtZGV2aWNlLTEx
JykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWFyY2hfcGF0aFs0XSwgJy9hZGRpdGlvbmFs
X3Rlc3RpbmdfcGF0aC9pb3MtZGV2aWNlLXdrMScpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwo
c2VhcmNoX3BhdGhbNV0sICcvbW9jay1jaGVja291dC9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mt
ZGV2aWNlLXdrMScpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VhcmNoX3BhdGhbNl0sICcv
YWRkaXRpb25hbF90ZXN0aW5nX3BhdGgvaW9zLWRldmljZScpCisgICAgICAgIHNlbGYuYXNzZXJ0
RXF1YWwoc2VhcmNoX3BhdGhbN10sICcvbW9jay1jaGVja291dC9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9pb3MtZGV2aWNlJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWFyY2hfcGF0aFs4XSwg
Jy9hZGRpdGlvbmFsX3Rlc3RpbmdfcGF0aC9pb3MtMTEnKQorICAgICAgICBzZWxmLmFzc2VydEVx
dWFsKHNlYXJjaF9wYXRoWzldLCAnL21vY2stY2hlY2tvdXQvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
aW9zLTExJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWFyY2hfcGF0aFsxMF0sICcvYWRk
aXRpb25hbF90ZXN0aW5nX3BhdGgvaW9zLXdrMScpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwo
c2VhcmNoX3BhdGhbMTFdLCAnL21vY2stY2hlY2tvdXQvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9z
LXdrMScpCkluZGV4OiBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvaW9zX3NpbXVsYXRvcl91
bml0dGVzdC5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvaW9z
X3NpbXVsYXRvcl91bml0dGVzdC5weQkocmV2aXNpb24gMjIxMDUyKQorKysgVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9wb3J0L2lvc19zaW11bGF0b3JfdW5pdHRlc3QucHkJKHdvcmtpbmcgY29weSkK
QEAgLTI0LDYgKzI0LDcgQEAgaW1wb3J0IHRpbWUKIAogZnJvbSB3ZWJraXRweS5wb3J0Lmlvc19z
aW11bGF0b3IgaW1wb3J0IElPU1NpbXVsYXRvclBvcnQKIGZyb20gd2Via2l0cHkucG9ydCBpbXBv
cnQgaW9zX3Rlc3RjYXNlCitmcm9tIHdlYmtpdHB5LnBvcnQgaW1wb3J0IHBvcnRfdGVzdGNhc2UK
IGZyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5vdXRwdXRjYXB0dXJlIGltcG9ydCBPdXRwdXRD
YXB0dXJlCiBmcm9tIHdlYmtpdHB5LnRvb2wubW9ja3Rvb2wgaW1wb3J0IE1vY2tPcHRpb25zCiBm
cm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0uZXhlY3V0aXZlX21vY2sgaW1wb3J0IE1vY2tFeGVj
dXRpdmUyLCBTY3JpcHRFcnJvcgpAQCAtODcsMyArODgsMTkgQEAgY2xhc3MgSU9TU2ltdWxhdG9y
VGVzdChpb3NfdGVzdGNhc2UuSU9TVAogICAgICAgICBwb3J0Ll9leGVjdXRpdmUgPSBNb2NrRXhl
Y3V0aXZlMihydW5fY29tbWFuZF9mbj10aHJvd2luZ19ydW5fY29tbWFuZCkKICAgICAgICAgZXhw
ZWN0ZWRfc3Rkb3V0ID0gIlsneGNydW4nLCAnLS1zZGsnLCAnaXBob25lc2ltdWxhdG9yJywgJy1m
aW5kJywgJ3Rlc3QnXVxuIgogICAgICAgICBPdXRwdXRDYXB0dXJlKCkuYXNzZXJ0X291dHB1dHMo
c2VsZiwgcG9ydC54Y3J1bl9maW5kLCBhcmdzPVsndGVzdCcsICdmYWxsaW5nJ10sIGV4cGVjdGVk
X3N0ZG91dD1leHBlY3RlZF9zdGRvdXQpCisKKyAgICBkZWYgdGVzdF9sYXlvdXRfdGVzdF9zZWFy
Y2hwYXRoX3dpdGhfYXBwbGVfYWRkaXRpb25zKHNlbGYpOgorICAgICAgICB3aXRoIHBvcnRfdGVz
dGNhc2UuYmluZF9tb2NrX2FwcGxlX2FkZGl0aW9ucygpOgorICAgICAgICAgICAgc2VhcmNoX3Bh
dGggPSBzZWxmLm1ha2VfcG9ydCgpLmRlZmF1bHRfYmFzZWxpbmVfc2VhcmNoX3BhdGgoKQorICAg
ICAgICBzZWxmLmFzc2VydEVxdWFsKHNlYXJjaF9wYXRoWzBdLCAnL2FkZGl0aW9uYWxfdGVzdGlu
Z19wYXRoL2lvcy1zaW11bGF0b3ItOC13azEnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNl
YXJjaF9wYXRoWzFdLCAnL21vY2stY2hlY2tvdXQvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNp
bXVsYXRvci04LXdrMScpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VhcmNoX3BhdGhbMl0s
ICcvYWRkaXRpb25hbF90ZXN0aW5nX3BhdGgvaW9zLXNpbXVsYXRvci04JykKKyAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbChzZWFyY2hfcGF0aFszXSwgJy9tb2NrLWNoZWNrb3V0L0xheW91dFRlc3Rz
L3BsYXRmb3JtL2lvcy1zaW11bGF0b3ItOCcpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2Vh
cmNoX3BhdGhbNF0sICcvYWRkaXRpb25hbF90ZXN0aW5nX3BhdGgvaW9zLXNpbXVsYXRvci13azEn
KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlYXJjaF9wYXRoWzVdLCAnL21vY2stY2hlY2tv
dXQvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbXVsYXRvci13azEnKQorICAgICAgICBzZWxm
LmFzc2VydEVxdWFsKHNlYXJjaF9wYXRoWzZdLCAnL2FkZGl0aW9uYWxfdGVzdGluZ19wYXRoL2lv
cy1zaW11bGF0b3InKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlYXJjaF9wYXRoWzddLCAn
L21vY2stY2hlY2tvdXQvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbXVsYXRvcicpCisgICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VhcmNoX3BhdGhbOF0sICcvYWRkaXRpb25hbF90ZXN0aW5n
X3BhdGgvaW9zLTgnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlYXJjaF9wYXRoWzldLCAn
L21vY2stY2hlY2tvdXQvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLTgnKQorICAgICAgICBzZWxm
LmFzc2VydEVxdWFsKHNlYXJjaF9wYXRoWzEwXSwgJy9hZGRpdGlvbmFsX3Rlc3RpbmdfcGF0aC9p
b3Mtd2sxJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWFyY2hfcGF0aFsxMV0sICcvbW9j
ay1jaGVja291dC9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2sxJykKSW5kZXg6IFRvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvcG9ydC9tYWMucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9wb3J0L21hYy5weQkocmV2aXNpb24gMjIxMDUyKQorKysgVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9wb3J0L21hYy5weQkod29ya2luZyBjb3B5KQpAQCAtMzQsNiArMzQsNyBAQCBpbXBv
cnQgcmUKIAogZnJvbSB3ZWJraXRweS5jb21tb24ubWVtb2l6ZWQgaW1wb3J0IG1lbW9pemVkCiBm
cm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0uZXhlY3V0aXZlIGltcG9ydCBTY3JpcHRFcnJvcgor
ZnJvbSB3ZWJraXRweS5wb3J0LmNvbmZpZyBpbXBvcnQgYXBwbGVfYWRkaXRpb25zCiBmcm9tIHdl
YmtpdHB5LnBvcnQuZGFyd2luIGltcG9ydCBEYXJ3aW5Qb3J0CiAKIF9sb2cgPSBsb2dnaW5nLmdl
dExvZ2dlcihfX25hbWVfXykKQEAgLTU2LDYgKzU3LDE3IEBAIGNsYXNzIE1hY1BvcnQoRGFyd2lu
UG9ydCk6CiAgICAgZGVmIF9idWlsZF9kcml2ZXJfZmxhZ3Moc2VsZik6CiAgICAgICAgIHJldHVy
biBbJ0FSQ0hTPWkzODYnXSBpZiBzZWxmLmFyY2hpdGVjdHVyZSgpID09ICd4ODYnIGVsc2UgW10K
IAorICAgIGRlZiBfYXBwbGVfYWRkaXRpb25zX3BhdGgoc2VsZiwgbmFtZSk6CisgICAgICAgIGlm
IG5hbWUgPT0gJ3drMic6CisgICAgICAgICAgICByZXR1cm4gTm9uZQorICAgICAgICBzcGxpdF9u
YW1lID0gbmFtZS5zcGxpdCgnLScpCisgICAgICAgIGlmIGxlbihzcGxpdF9uYW1lKSA+IDEgYW5k
IHNwbGl0X25hbWVbMV0gIT0gJ3drMScgYW5kIHNwbGl0X25hbWVbMV0gIT0gJ3drMic6CisgICAg
ICAgICAgICBvc19uYW1lID0gYXBwbGVfYWRkaXRpb25zKCkubWFjX29zX25hbWUoc3BsaXRfbmFt
ZVsxXSkKKyAgICAgICAgICAgIGlmIG5vdCBvc19uYW1lOgorICAgICAgICAgICAgICAgIHJldHVy
biBOb25lCisgICAgICAgICAgICBuYW1lID0gc3BsaXRfbmFtZVswXSArICctJyArIG9zX25hbWUg
KyAoJy0nICsgJy0nLmpvaW4oc3BsaXRfbmFtZVsyOl0pKSBpZiBsZW4oc3BsaXRfbmFtZSkgPiAy
IGVsc2UgJycKKyAgICAgICAgcmV0dXJuIHNlbGYuX2ZpbGVzeXN0ZW0uam9pbihhcHBsZV9hZGRp
dGlvbnMoKS5sYXlvdXRfdGVzdHNfcGF0aCgpLCBuYW1lKQorCiAgICAgQG1lbW9pemVkCiAgICAg
ZGVmIGRlZmF1bHRfYmFzZWxpbmVfc2VhcmNoX3BhdGgoc2VsZik6CiAgICAgICAgIHdrX3N0cmlu
ZyA9ICd3azEnCkBAIC03MCw3ICs4MiwxNiBAQCBjbGFzcyBNYWNQb3J0KERhcndpblBvcnQpOgog
ICAgICAgICBpZiBzZWxmLmdldF9vcHRpb24oJ3dlYmtpdF90ZXN0X3J1bm5lcicpOgogICAgICAg
ICAgICAgZmFsbGJhY2tfbmFtZXMuYXBwZW5kKCd3azInKQogCi0gICAgICAgIHJldHVybiBtYXAo
c2VsZi5fd2Via2l0X2Jhc2VsaW5lX3BhdGgsIGZhbGxiYWNrX25hbWVzKQorICAgICAgICB3ZWJr
aXRfZXhwZWN0YXRpb25zID0gbWFwKHNlbGYuX3dlYmtpdF9iYXNlbGluZV9wYXRoLCBmYWxsYmFj
a19uYW1lcykKKyAgICAgICAgaWYgYXBwbGVfYWRkaXRpb25zKCkgYW5kIGdldGF0dHIoYXBwbGVf
YWRkaXRpb25zKCksICJsYXlvdXRfdGVzdHNfcGF0aCIsIE5vbmUpOgorICAgICAgICAgICAgYXBw
bGVfZXhwZWN0YXRpb25zID0gbWFwKHNlbGYuX2FwcGxlX2FkZGl0aW9uc19wYXRoLCBmYWxsYmFj
a19uYW1lcykKKyAgICAgICAgICAgIHJlc3VsdCA9IFtdCisgICAgICAgICAgICBmb3IgaSBpbiB4
cmFuZ2UobGVuKHdlYmtpdF9leHBlY3RhdGlvbnMpKToKKyAgICAgICAgICAgICAgICBpZiBhcHBs
ZV9leHBlY3RhdGlvbnNbaV06CisgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQoYXBw
bGVfZXhwZWN0YXRpb25zW2ldKQorICAgICAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQod2Via2l0
X2V4cGVjdGF0aW9uc1tpXSkKKyAgICAgICAgICAgIHJldHVybiByZXN1bHQKKyAgICAgICAgcmV0
dXJuIHdlYmtpdF9leHBlY3RhdGlvbnMKIAogICAgIGRlZiBjb25maWd1cmF0aW9uX3NwZWNpZmll
cl9tYWNyb3Moc2VsZik6CiAgICAgICAgIHJldHVybiB7CkluZGV4OiBUb29scy9TY3JpcHRzL3dl
YmtpdHB5L3BvcnQvbWFjX3VuaXR0ZXN0LnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMv
d2Via2l0cHkvcG9ydC9tYWNfdW5pdHRlc3QucHkJKHJldmlzaW9uIDIyMTA1MikKKysrIFRvb2xz
L1NjcmlwdHMvd2Via2l0cHkvcG9ydC9tYWNfdW5pdHRlc3QucHkJKHdvcmtpbmcgY29weSkKQEAg
LTMxLDEyICszMSwxMCBAQCBpbXBvcnQgdGltZQogCiBmcm9tIHdlYmtpdHB5LnBvcnQubWFjIGlt
cG9ydCBNYWNQb3J0CiBmcm9tIHdlYmtpdHB5LnBvcnQgaW1wb3J0IGRhcndpbl90ZXN0Y2FzZQot
ZnJvbSB3ZWJraXRweS5jb21tb24uc3lzdGVtLmZpbGVzeXN0ZW1fbW9jayBpbXBvcnQgTW9ja0Zp
bGVTeXN0ZW0KK2Zyb20gd2Via2l0cHkucG9ydCBpbXBvcnQgcG9ydF90ZXN0Y2FzZQogZnJvbSB3
ZWJraXRweS5jb21tb24uc3lzdGVtLm91dHB1dGNhcHR1cmUgaW1wb3J0IE91dHB1dENhcHR1cmUK
IGZyb20gd2Via2l0cHkudG9vbC5tb2NrdG9vbCBpbXBvcnQgTW9ja09wdGlvbnMKLWZyb20gd2Vi
a2l0cHkuY29tbW9uLnN5c3RlbS5leGVjdXRpdmVfbW9jayBpbXBvcnQgTW9ja0V4ZWN1dGl2ZSwg
TW9ja0V4ZWN1dGl2ZTIsIE1vY2tQcm9jZXNzLCBTY3JpcHRFcnJvcgotZnJvbSB3ZWJraXRweS5j
b21tb24uc3lzdGVtLnN5c3RlbWhvc3RfbW9jayBpbXBvcnQgTW9ja1N5c3RlbUhvc3QKLQorZnJv
bSB3ZWJraXRweS5jb21tb24uc3lzdGVtLmV4ZWN1dGl2ZV9tb2NrIGltcG9ydCBNb2NrRXhlY3V0
aXZlLCBNb2NrRXhlY3V0aXZlMiwgU2NyaXB0RXJyb3IKIAogY2xhc3MgTWFjVGVzdChkYXJ3aW5f
dGVzdGNhc2UuRGFyd2luVGVzdCk6CiAgICAgb3NfbmFtZSA9ICdtYWMnCkBAIC0xNDQsMyArMTQy
LDkgQEAgY2xhc3MgTWFjVGVzdChkYXJ3aW5fdGVzdGNhc2UuRGFyd2luVGVzdAogICAgICAgICBw
b3J0Ll9leGVjdXRpdmUgPSBNb2NrRXhlY3V0aXZlMihydW5fY29tbWFuZF9mbj10aHJvd2luZ19y
dW5fY29tbWFuZCkKICAgICAgICAgZXhwZWN0ZWRfc3Rkb3V0ID0gIlsneGNydW4nLCAnLS1zZGsn
LCAnbWFjb3N4JywgJy1maW5kJywgJ3Rlc3QnXVxuIgogICAgICAgICBPdXRwdXRDYXB0dXJlKCku
YXNzZXJ0X291dHB1dHMoc2VsZiwgcG9ydC54Y3J1bl9maW5kLCBhcmdzPVsndGVzdCcsICdmYWxs
aW5nJ10sIGV4cGVjdGVkX3N0ZG91dD1leHBlY3RlZF9zdGRvdXQpCisKKyAgICBkZWYgdGVzdF9s
YXlvdXRfdGVzdF9zZWFyY2hwYXRoX3dpdGhfYXBwbGVfYWRkaXRpb25zKHNlbGYpOgorICAgICAg
ICB3aXRoIHBvcnRfdGVzdGNhc2UuYmluZF9tb2NrX2FwcGxlX2FkZGl0aW9ucygpOgorICAgICAg
ICAgICAgc2VhcmNoX3BhdGggPSBzZWxmLm1ha2VfcG9ydCgpLmRlZmF1bHRfYmFzZWxpbmVfc2Vh
cmNoX3BhdGgoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlYXJjaF9wYXRoWzBdLCAnL2Fk
ZGl0aW9uYWxfdGVzdGluZ19wYXRoL21hYy1saW9uLXdrMScpCisgICAgICAgIHNlbGYuYXNzZXJ0
RXF1YWwoc2VhcmNoX3BhdGhbMV0sICcvbW9jay1jaGVja291dC9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMtbGlvbi13azEnKQpJbmRleDogVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3BvcnRf
dGVzdGNhc2UucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3Bv
cnRfdGVzdGNhc2UucHkJKHJldmlzaW9uIDIyMTA1MikKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0
cHkvcG9ydC9wb3J0X3Rlc3RjYXNlLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0zNywxMSArMzcsMTQg
QEAgaW1wb3J0IHN5cwogaW1wb3J0IHRpbWUKIGltcG9ydCB1bml0dGVzdAogCitmcm9tIGNvbnRl
eHRsaWIgaW1wb3J0IGNvbnRleHRtYW5hZ2VyCisKIGZyb20gd2Via2l0cHkuY29tbW9uLnN5c3Rl
bS5leGVjdXRpdmVfbW9jayBpbXBvcnQgTW9ja0V4ZWN1dGl2ZQogZnJvbSB3ZWJraXRweS5jb21t
b24uc3lzdGVtLmZpbGVzeXN0ZW1fbW9jayBpbXBvcnQgTW9ja0ZpbGVTeXN0ZW0KIGZyb20gd2Vi
a2l0cHkuY29tbW9uLnN5c3RlbS5vdXRwdXRjYXB0dXJlIGltcG9ydCBPdXRwdXRDYXB0dXJlCiBm
cm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0uc3lzdGVtaG9zdF9tb2NrIGltcG9ydCBNb2NrU3lz
dGVtSG9zdAogZnJvbSB3ZWJraXRweS5wb3J0LmJhc2UgaW1wb3J0IFBvcnQKK2Zyb20gd2Via2l0
cHkucG9ydC5jb25maWcgaW1wb3J0IGFwcGxlX2FkZGl0aW9ucwogZnJvbSB3ZWJraXRweS5wb3J0
LmltYWdlX2RpZmYgaW1wb3J0IEltYWdlRGlmZmVyCiBmcm9tIHdlYmtpdHB5LnBvcnQuc2VydmVy
X3Byb2Nlc3NfbW9jayBpbXBvcnQgTW9ja1NlcnZlclByb2Nlc3MKIGZyb20gd2Via2l0cHkubGF5
b3V0X3Rlc3RzLnNlcnZlcnMgaW1wb3J0IGh0dHBfc2VydmVyX2Jhc2UKQEAgLTczLDYgKzc2LDMw
IEBAIGNsYXNzIFRlc3RXZWJLaXRQb3J0KFBvcnQpOgogICAgICAgICByZXR1cm4gWyJhY2Nlc3Np
YmlsaXR5IiwgXQogCiAKK0Bjb250ZXh0bWFuYWdlcgorZGVmIGJpbmRfbW9ja19hcHBsZV9hZGRp
dGlvbnMoKToKKworICAgIGNsYXNzIE1vY2tBcHBsZUFkZGl0aW9ucyhvYmplY3QpOgorCisgICAg
ICAgIEBzdGF0aWNtZXRob2QKKyAgICAgICAgZGVmIGxheW91dF90ZXN0c19wYXRoKCk6CisgICAg
ICAgICAgICByZXR1cm4gJy9hZGRpdGlvbmFsX3Rlc3RpbmdfcGF0aC8nCisKKyAgICAgICAgQHN0
YXRpY21ldGhvZAorICAgICAgICBkZWYgaW9zX29zX25hbWUobmFtZSk6CisgICAgICAgICAgICBy
ZXR1cm4gbmFtZQorCisgICAgICAgIEBzdGF0aWNtZXRob2QKKyAgICAgICAgZGVmIG1hY19vc19u
YW1lKG5hbWUpOgorICAgICAgICAgICAgcmV0dXJuIG5hbWUKKworICAgICMgYXBwbGVfYWRkaXRp
b25zIGlzIGEgbWVtb2l6ZWQgZnVuY3Rpb24uIFRha2UgYWR2YW50YWdlIG9mIHRoaXMgZmFjdCBh
bmQgbWFuaXB1bGF0ZSB0aGUgY2FjaGUKKyAgICAjIHRvIHRlbXBvcmFyaWx5IHJldHVybiBhIG1v
Y2tlZCByZXN1bHQKKyAgICBhcHBsZV9hZGRpdGlvbnMuX3Jlc3VsdHNfY2FjaGVbKCldID0gTW9j
a0FwcGxlQWRkaXRpb25zCisgICAgeWllbGQKKyAgICBhcHBsZV9hZGRpdGlvbnMuX3Jlc3VsdHNf
Y2FjaGVbKCldID0gTm9uZQorCisKIGNsYXNzIFBvcnRUZXN0Q2FzZSh1bml0dGVzdC5UZXN0Q2Fz
ZSk6CiAgICAgIiIiVGVzdHMgdGhhdCBhbGwgUG9ydCBpbXBsZW1lbnRhdGlvbnMgbXVzdCBwYXNz
LiIiIgogICAgIEhUVFBfUE9SVFMgPSAoODAwMCwgODA4MCwgODQ0MykKSW5kZXg6IFRvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvcG9ydC93aW4ucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9wb3J0L3dpbi5weQkocmV2aXNpb24gMjIxMDUyKQorKysgVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9wb3J0L3dpbi5weQkod29ya2luZyBjb3B5KQpAQCAtNDAsNyArNDAsNyBAQCBmcm9t
IHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0uc3lzdGVtaG9zdCBpCiBmcm9tIHdlYmtpdHB5LmNvbW1v
bi5zeXN0ZW0uZXhlY3V0aXZlIGltcG9ydCBTY3JpcHRFcnJvciwgRXhlY3V0aXZlCiBmcm9tIHdl
YmtpdHB5LmNvbW1vbi5zeXN0ZW0ucGF0aCBpbXBvcnQgYWJzcGF0aF90b191cmksIGN5Z3BhdGgK
IGZyb20gd2Via2l0cHkucG9ydC5hcHBsZSBpbXBvcnQgQXBwbGVQb3J0Ci0KK2Zyb20gd2Via2l0
cHkucG9ydC5jb25maWcgaW1wb3J0IGFwcGxlX2FkZGl0aW9ucwogCiBfbG9nID0gbG9nZ2luZy5n
ZXRMb2dnZXIoX19uYW1lX18pCiAKQEAgLTExMyw3ICsxMTMsMTAgQEAgY2xhc3MgV2luUG9ydChB
cHBsZVBvcnQpOgogICAgICAgICAgICAgIyBOb3RlIHdlIGRvIG5vdCBhZGQgJ3drMicgaGVyZSwg
ZXZlbiB0aG91Z2ggaXQncyBpbmNsdWRlZCBpbiBfc2tpcHBlZF9zZWFyY2hfcGF0aHMoKS4KICAg
ICAgICAgIyBGSVhNRTogUGVyaGFwcyB3ZSBzaG91bGQgZ2V0IHRoaXMgbGlzdCBmcm9tIE1hY1Bv
cnQ/CiAgICAgICAgIGZhbGxiYWNrX25hbWVzLmFwcGVuZCgnbWFjJykKLSAgICAgICAgcmV0dXJu
IG1hcChzZWxmLl93ZWJraXRfYmFzZWxpbmVfcGF0aCwgZmFsbGJhY2tfbmFtZXMpCisgICAgICAg
IHJlc3VsdCA9IG1hcChzZWxmLl93ZWJraXRfYmFzZWxpbmVfcGF0aCwgZmFsbGJhY2tfbmFtZXMp
CisgICAgICAgIGlmIGFwcGxlX2FkZGl0aW9ucygpIGFuZCBnZXRhdHRyKGFwcGxlX2FkZGl0aW9u
cygpLCAibGF5b3V0X3Rlc3RzX3BhdGgiLCBOb25lKToKKyAgICAgICAgICAgIHJlc3VsdC5pbnNl
cnQoMCwgc2VsZi5fZmlsZXN5c3RlbS5qb2luKGFwcGxlX2FkZGl0aW9ucygpLmxheW91dF90ZXN0
c19wYXRoKCksIHNlbGYucG9ydF9uYW1lKSkKKyAgICAgICAgcmV0dXJuIHJlc3VsdAogCiAgICAg
ZGVmIHNldHVwX2Vudmlyb25fZm9yX3NlcnZlcihzZWxmLCBzZXJ2ZXJfbmFtZT1Ob25lKToKICAg
ICAgICAgZW52ID0gc3VwZXIoV2luUG9ydCwgc2VsZikuc2V0dXBfZW52aXJvbl9mb3Jfc2VydmVy
KHNlcnZlcl9uYW1lKQpJbmRleDogVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3dpbl91bml0
dGVzdC5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvd2luX3Vu
aXR0ZXN0LnB5CShyZXZpc2lvbiAyMjEwNTIpCisrKyBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3Bv
cnQvd2luX3VuaXR0ZXN0LnB5CSh3b3JraW5nIGNvcHkpCkBAIC0yNiwxMiArMjYsNyBAQAogIyAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKICMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KIAotaW1wb3J0IFN0cmluZ0lPCi1pbXBvcnQgdW5p
dHRlc3QKLQotZnJvbSB3ZWJraXRweS5jb21tb24uc3lzdGVtLmV4ZWN1dGl2ZSBpbXBvcnQgU2Ny
aXB0RXJyb3IKLWZyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5leGVjdXRpdmVfbW9jayBpbXBv
cnQgTW9ja0V4ZWN1dGl2ZSwgTW9ja0V4ZWN1dGl2ZTIKLWZyb20gd2Via2l0cHkuY29tbW9uLnN5
c3RlbS5maWxlc3lzdGVtX21vY2sgaW1wb3J0IE1vY2tGaWxlU3lzdGVtCitmcm9tIHdlYmtpdHB5
LmNvbW1vbi5zeXN0ZW0uZXhlY3V0aXZlX21vY2sgaW1wb3J0IE1vY2tFeGVjdXRpdmUKIGZyb20g
d2Via2l0cHkuY29tbW9uLnN5c3RlbS5vdXRwdXRjYXB0dXJlIGltcG9ydCBPdXRwdXRDYXB0dXJl
CiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0uc3lzdGVtaG9zdF9tb2NrIGltcG9ydCBNb2Nr
U3lzdGVtSG9zdAogZnJvbSB3ZWJraXRweS5wb3J0IGltcG9ydCBwb3J0X3Rlc3RjYXNlCkBAIC0x
MTYsMyArMTExLDkgQEAgY2xhc3MgV2luUG9ydFRlc3QocG9ydF90ZXN0Y2FzZS5Qb3J0VGVzdAog
ICAgICAgICBwb3J0ID0gc2VsZi5tYWtlX3BvcnQocG9ydF9uYW1lPSd3aW4nKQogICAgICAgICBw
b3J0Ll9nZXRfY3Jhc2hfbG9nKCdEdW1wUmVuZGVyVHJlZScsIDEyMzQsICcnLCAnJywgMCwKICAg
ICAgICAgICAgIHRpbWVfZm49ZmFrZV90aW1lX2NiKCksIHNsZWVwX2ZuPWxhbWJkYSBkZWxheTog
Tm9uZSkKKworICAgIGRlZiB0ZXN0X2xheW91dF90ZXN0X3NlYXJjaHBhdGhfd2l0aF9hcHBsZV9h
ZGRpdGlvbnMoc2VsZik6CisgICAgICAgIHdpdGggcG9ydF90ZXN0Y2FzZS5iaW5kX21vY2tfYXBw
bGVfYWRkaXRpb25zKCk6CisgICAgICAgICAgICBzZWFyY2hfcGF0aCA9IHNlbGYubWFrZV9wb3J0
KCkuZGVmYXVsdF9iYXNlbGluZV9zZWFyY2hfcGF0aCgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1
YWwoc2VhcmNoX3BhdGhbMF0sICcvYWRkaXRpb25hbF90ZXN0aW5nX3BhdGgvd2luJykKKyAgICAg
ICAgc2VsZi5hc3NlcnRFcXVhbChzZWFyY2hfcGF0aFsxXSwgJy9tb2NrLWNoZWNrb3V0L0xheW91
dFRlc3RzL3BsYXRmb3JtL3dpbi14cCcpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>318882</attachid>
            <date>2017-08-23 10:26:56 -0700</date>
            <delta_ts>2017-08-23 11:09:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-174800-20170823102655.patch</filename>
            <type>text/plain</type>
            <size>9491</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDIyMTA4MikKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDMxIEBACisyMDE3LTA4LTIzICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICBBY2Nlc3MgZXhwZWN0YXRpb25zIHBhdGggdGhyb3VnaCBhcHBsZV9hZGRp
dGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3
NDgwMAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzM0OTg4OTk+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRm9sbG93LXVwIGZpeC4gTWFwcGluZyBv
ZiBvcGVyYXRpbmcgc3lzdGVtIG5hbWVzIHdhcyBkb25lIGluY29ycmVjdGx5LgorCisgICAgICAg
ICogU2NyaXB0cy93ZWJraXRweS9wb3J0L2lvcy5weToKKyAgICAgICAgKElPU1BvcnQuX2FwcGxl
X2FkZGl0aW9uc19wYXRoKTogQ29ycmVjdGx5IGZpbmQgdGhlIG9wZXJhdGluZyBzeXN0ZW0gdG8g
YmUgcmVwbGFjZWQuCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L2lvc19kZXZpY2Vf
dW5pdHRlc3QucHk6CisgICAgICAgIChJT1NEZXZpY2VUZXN0LnRlc3RfbGF5b3V0X3Rlc3Rfc2Vh
cmNocGF0aF93aXRoX2FwcGxlX2FkZGl0aW9ucyk6IEFkZCB0ZXN0IGZvciBvcGVyYXRpbmcKKyAg
ICAgICAgc3lzdGVtIG5hbWUgcmVwbGFjZW1lbnQuCisgICAgICAgICogU2NyaXB0cy93ZWJraXRw
eS9wb3J0L2lvc19zaW11bGF0b3JfdW5pdHRlc3QucHk6CisgICAgICAgIChJT1NTaW11bGF0b3JU
ZXN0LnRlc3RfbGF5b3V0X3Rlc3Rfc2VhcmNocGF0aF93aXRoX2FwcGxlX2FkZGl0aW9ucyk6IEFk
ZCB0ZXN0IGZvciBvcGVyYXRpbmcKKyAgICAgICAgc3lzdGVtIG5hbWUgcmVwbGFjZW1lbnQuCisg
ICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L21hYy5weTogQ29ycmVjdGx5IGZpbmQgdGhl
IG9wZXJhdGluZyBzeXN0ZW0gdG8gYmUgcmVwbGFjZWQuCisgICAgICAgIChNYWNQb3J0Ll9hcHBs
ZV9hZGRpdGlvbnNfcGF0aCk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L21hY191
bml0dGVzdC5weToKKyAgICAgICAgKE1hY1Rlc3QudGVzdF9sYXlvdXRfdGVzdF9zZWFyY2hwYXRo
X3dpdGhfYXBwbGVfYWRkaXRpb25zKTogQWRkIHRlc3QgZm9yIG9wZXJhdGluZyBzeXN0ZW0KKyAg
ICAgICAgbmFtZSByZXBsYWNlbWVudC4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQv
cG9ydF90ZXN0Y2FzZS5weToKKyAgICAgICAgKGJpbmRfbW9ja19hcHBsZV9hZGRpdGlvbnMuTW9j
a0FwcGxlQWRkaXRpb25zLmlvc19vc19uYW1lKTogQ2hhbmdlIHRoZSBwYXNzZWQgbmFtZSBzbyB0
aGF0CisgICAgICAgIG9wZXJhdGluZyBzeXN0ZW0gbmFtZSByZXBsYWNlbWVudCBjYW4gYmUgdGVz
dGVkLgorICAgICAgICAoYmluZF9tb2NrX2FwcGxlX2FkZGl0aW9ucy5Nb2NrQXBwbGVBZGRpdGlv
bnMubWFjX29zX25hbWUpOiBEaXR0by4KKwogMjAxNy0wOC0yMyAgSm9uYXRoYW4gQmVkYXJkICA8
amJlZGFyZEBhcHBsZS5jb20+CiAKICAgICAgICAgQWNjZXNzIGV4cGVjdGF0aW9ucyBwYXRoIHRo
cm91Z2ggYXBwbGVfYWRkaXRpb25zCkluZGV4OiBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQv
aW9zLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9pb3MucHkJ
KHJldmlzaW9uIDIyMTA4MikKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9pb3MucHkJ
KHdvcmtpbmcgY29weSkKQEAgLTkxLDExICs5MSwxNiBAQCBjbGFzcyBJT1NQb3J0KERhcndpblBv
cnQpOgogICAgICAgICBpZiBuYW1lID09ICd3azInOgogICAgICAgICAgICAgcmV0dXJuIE5vbmUK
ICAgICAgICAgc3BsaXRfbmFtZSA9IG5hbWUuc3BsaXQoJy0nKQotICAgICAgICBpZiBsZW4oc3Bs
aXRfbmFtZSkgPiAxIGFuZCBzcGxpdF9uYW1lWzFdICE9ICd3azEnIGFuZCBzcGxpdF9uYW1lWzFd
ICE9ICd3azInIGFuZCBzcGxpdF9uYW1lWzFdICE9ICdzaW11bGF0b3InIGFuZCBzcGxpdF9uYW1l
WzFdICE9ICdkZXZpY2UnOgotICAgICAgICAgICAgb3NfbmFtZSA9IGFwcGxlX2FkZGl0aW9ucygp
Lmlvc19vc19uYW1lKHNwbGl0X25hbWVbMV0pCisgICAgICAgIG9zX2luZGV4ID0gLTEKKyAgICAg
ICAgZm9yIGkgaW4geHJhbmdlKDIpOgorICAgICAgICAgICAgaWYgc3BsaXRfbmFtZVtvc19pbmRl
eF0gPT0gJ3drMScgb3Igc3BsaXRfbmFtZVtvc19pbmRleF0gPT0gJ3drMicgb3Igc3BsaXRfbmFt
ZVtvc19pbmRleF0gPT0gJ3NpbXVsYXRvcicgb3Igc3BsaXRfbmFtZVtvc19pbmRleF0gPT0gJ2Rl
dmljZSc6CisgICAgICAgICAgICAgICAgb3NfaW5kZXggLT0gMQorICAgICAgICBpZiBzcGxpdF9u
YW1lW29zX2luZGV4XSAhPSBzcGxpdF9uYW1lWzBdOgorICAgICAgICAgICAgb3NfbmFtZSA9IGFw
cGxlX2FkZGl0aW9ucygpLm1hY19vc19uYW1lKHNwbGl0X25hbWVbb3NfaW5kZXhdKQogICAgICAg
ICAgICAgaWYgbm90IG9zX25hbWU6CiAgICAgICAgICAgICAgICAgcmV0dXJuIE5vbmUKLSAgICAg
ICAgICAgIG5hbWUgPSBzcGxpdF9uYW1lWzBdICsgJy0nICsgb3NfbmFtZSArICgnLScgKyAnLScu
am9pbihzcGxpdF9uYW1lWzI6XSkgaWYgbGVuKHNwbGl0X25hbWUpID4gMiBlbHNlICcnKQorICAg
ICAgICAgICAgc3BsaXRfbmFtZVtvc19pbmRleF0gPSBvc19uYW1lCisgICAgICAgIG5hbWUgPSAn
LScuam9pbihzcGxpdF9uYW1lKQogICAgICAgICByZXR1cm4gc2VsZi5fZmlsZXN5c3RlbS5qb2lu
KGFwcGxlX2FkZGl0aW9ucygpLmxheW91dF90ZXN0c19wYXRoKCksIG5hbWUpCiAKICAgICBAbWVt
b2l6ZWQKSW5kZXg6IFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9pb3NfZGV2aWNlX3VuaXR0
ZXN0LnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9pb3NfZGV2
aWNlX3VuaXR0ZXN0LnB5CShyZXZpc2lvbiAyMjEwODIpCisrKyBUb29scy9TY3JpcHRzL3dlYmtp
dHB5L3BvcnQvaW9zX2RldmljZV91bml0dGVzdC5weQkod29ya2luZyBjb3B5KQpAQCAtOTMsMTUg
KzkzLDE1IEBAIGNsYXNzIElPU0RldmljZVRlc3QoaW9zX3Rlc3RjYXNlLklPU1Rlc3QKICAgICBk
ZWYgdGVzdF9sYXlvdXRfdGVzdF9zZWFyY2hwYXRoX3dpdGhfYXBwbGVfYWRkaXRpb25zKHNlbGYp
OgogICAgICAgICB3aXRoIHBvcnRfdGVzdGNhc2UuYmluZF9tb2NrX2FwcGxlX2FkZGl0aW9ucygp
OgogICAgICAgICAgICAgc2VhcmNoX3BhdGggPSBzZWxmLm1ha2VfcG9ydCgpLmRlZmF1bHRfYmFz
ZWxpbmVfc2VhcmNoX3BhdGgoKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlYXJjaF9wYXRo
WzBdLCAnL2FkZGl0aW9uYWxfdGVzdGluZ19wYXRoL2lvcy1kZXZpY2UtMTEtd2sxJykKKyAgICAg
ICAgc2VsZi5hc3NlcnRFcXVhbChzZWFyY2hfcGF0aFswXSwgJy9hZGRpdGlvbmFsX3Rlc3Rpbmdf
cGF0aC9pb3MtZGV2aWNlLWFkZC0xMS13azEnKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNl
YXJjaF9wYXRoWzFdLCAnL21vY2stY2hlY2tvdXQvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLWRl
dmljZS0xMS13azEnKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlYXJjaF9wYXRoWzJdLCAn
L2FkZGl0aW9uYWxfdGVzdGluZ19wYXRoL2lvcy1kZXZpY2UtMTEnKQorICAgICAgICBzZWxmLmFz
c2VydEVxdWFsKHNlYXJjaF9wYXRoWzJdLCAnL2FkZGl0aW9uYWxfdGVzdGluZ19wYXRoL2lvcy1k
ZXZpY2UtYWRkLTExJykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWFyY2hfcGF0aFszXSwg
Jy9tb2NrLWNoZWNrb3V0L0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1kZXZpY2UtMTEnKQogICAg
ICAgICBzZWxmLmFzc2VydEVxdWFsKHNlYXJjaF9wYXRoWzRdLCAnL2FkZGl0aW9uYWxfdGVzdGlu
Z19wYXRoL2lvcy1kZXZpY2Utd2sxJykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWFyY2hf
cGF0aFs1XSwgJy9tb2NrLWNoZWNrb3V0L0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1kZXZpY2Ut
d2sxJykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWFyY2hfcGF0aFs2XSwgJy9hZGRpdGlv
bmFsX3Rlc3RpbmdfcGF0aC9pb3MtZGV2aWNlJykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChz
ZWFyY2hfcGF0aFs3XSwgJy9tb2NrLWNoZWNrb3V0L0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1k
ZXZpY2UnKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlYXJjaF9wYXRoWzhdLCAnL2FkZGl0
aW9uYWxfdGVzdGluZ19wYXRoL2lvcy0xMScpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2Vh
cmNoX3BhdGhbOF0sICcvYWRkaXRpb25hbF90ZXN0aW5nX3BhdGgvaW9zLWFkZC0xMScpCiAgICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VhcmNoX3BhdGhbOV0sICcvbW9jay1jaGVja291dC9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9pb3MtMTEnKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlYXJj
aF9wYXRoWzEwXSwgJy9hZGRpdGlvbmFsX3Rlc3RpbmdfcGF0aC9pb3Mtd2sxJykKICAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbChzZWFyY2hfcGF0aFsxMV0sICcvbW9jay1jaGVja291dC9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9pb3Mtd2sxJykKSW5kZXg6IFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9y
dC9pb3Nfc2ltdWxhdG9yX3VuaXR0ZXN0LnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMv
d2Via2l0cHkvcG9ydC9pb3Nfc2ltdWxhdG9yX3VuaXR0ZXN0LnB5CShyZXZpc2lvbiAyMjEwODIp
CisrKyBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvaW9zX3NpbXVsYXRvcl91bml0dGVzdC5w
eQkod29ya2luZyBjb3B5KQpAQCAtOTIsMTUgKzkyLDE1IEBAIGNsYXNzIElPU1NpbXVsYXRvclRl
c3QoaW9zX3Rlc3RjYXNlLklPU1QKICAgICBkZWYgdGVzdF9sYXlvdXRfdGVzdF9zZWFyY2hwYXRo
X3dpdGhfYXBwbGVfYWRkaXRpb25zKHNlbGYpOgogICAgICAgICB3aXRoIHBvcnRfdGVzdGNhc2Uu
YmluZF9tb2NrX2FwcGxlX2FkZGl0aW9ucygpOgogICAgICAgICAgICAgc2VhcmNoX3BhdGggPSBz
ZWxmLm1ha2VfcG9ydCgpLmRlZmF1bHRfYmFzZWxpbmVfc2VhcmNoX3BhdGgoKQotICAgICAgICBz
ZWxmLmFzc2VydEVxdWFsKHNlYXJjaF9wYXRoWzBdLCAnL2FkZGl0aW9uYWxfdGVzdGluZ19wYXRo
L2lvcy1zaW11bGF0b3ItOC13azEnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlYXJjaF9w
YXRoWzBdLCAnL2FkZGl0aW9uYWxfdGVzdGluZ19wYXRoL2lvcy1zaW11bGF0b3ItYWRkLTgtd2sx
JykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWFyY2hfcGF0aFsxXSwgJy9tb2NrLWNoZWNr
b3V0L0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW11bGF0b3ItOC13azEnKQotICAgICAgICBz
ZWxmLmFzc2VydEVxdWFsKHNlYXJjaF9wYXRoWzJdLCAnL2FkZGl0aW9uYWxfdGVzdGluZ19wYXRo
L2lvcy1zaW11bGF0b3ItOCcpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VhcmNoX3BhdGhb
Ml0sICcvYWRkaXRpb25hbF90ZXN0aW5nX3BhdGgvaW9zLXNpbXVsYXRvci1hZGQtOCcpCiAgICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VhcmNoX3BhdGhbM10sICcvbW9jay1jaGVja291dC9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltdWxhdG9yLTgnKQogICAgICAgICBzZWxmLmFzc2VydEVx
dWFsKHNlYXJjaF9wYXRoWzRdLCAnL2FkZGl0aW9uYWxfdGVzdGluZ19wYXRoL2lvcy1zaW11bGF0
b3Itd2sxJykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWFyY2hfcGF0aFs1XSwgJy9tb2Nr
LWNoZWNrb3V0L0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW11bGF0b3Itd2sxJykKICAgICAg
ICAgc2VsZi5hc3NlcnRFcXVhbChzZWFyY2hfcGF0aFs2XSwgJy9hZGRpdGlvbmFsX3Rlc3Rpbmdf
cGF0aC9pb3Mtc2ltdWxhdG9yJykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWFyY2hfcGF0
aFs3XSwgJy9tb2NrLWNoZWNrb3V0L0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW11bGF0b3In
KQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlYXJjaF9wYXRoWzhdLCAnL2FkZGl0aW9uYWxf
dGVzdGluZ19wYXRoL2lvcy04JykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWFyY2hfcGF0
aFs4XSwgJy9hZGRpdGlvbmFsX3Rlc3RpbmdfcGF0aC9pb3MtYWRkLTgnKQogICAgICAgICBzZWxm
LmFzc2VydEVxdWFsKHNlYXJjaF9wYXRoWzldLCAnL21vY2stY2hlY2tvdXQvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vaW9zLTgnKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlYXJjaF9wYXRoWzEw
XSwgJy9hZGRpdGlvbmFsX3Rlc3RpbmdfcGF0aC9pb3Mtd2sxJykKICAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbChzZWFyY2hfcGF0aFsxMV0sICcvbW9jay1jaGVja291dC9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9pb3Mtd2sxJykKSW5kZXg6IFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9tYWMucHkK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L21hYy5weQkocmV2aXNp
b24gMjIxMDgyKQorKysgVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L21hYy5weQkod29ya2lu
ZyBjb3B5KQpAQCAtNjEsMTEgKzYxLDE1IEBAIGNsYXNzIE1hY1BvcnQoRGFyd2luUG9ydCk6CiAg
ICAgICAgIGlmIG5hbWUgPT0gJ3drMic6CiAgICAgICAgICAgICByZXR1cm4gTm9uZQogICAgICAg
ICBzcGxpdF9uYW1lID0gbmFtZS5zcGxpdCgnLScpCi0gICAgICAgIGlmIGxlbihzcGxpdF9uYW1l
KSA+IDEgYW5kIHNwbGl0X25hbWVbMV0gIT0gJ3drMScgYW5kIHNwbGl0X25hbWVbMV0gIT0gJ3dr
Mic6Ci0gICAgICAgICAgICBvc19uYW1lID0gYXBwbGVfYWRkaXRpb25zKCkubWFjX29zX25hbWUo
c3BsaXRfbmFtZVsxXSkKKyAgICAgICAgb3NfaW5kZXggPSAtMQorICAgICAgICBpZiBzcGxpdF9u
YW1lWy0xXSA9PSAnd2sxJyBvciBzcGxpdF9uYW1lWy0xXSA9PSAnd2syJzoKKyAgICAgICAgICAg
IG9zX2luZGV4ID0gLTIKKyAgICAgICAgaWYgc3BsaXRfbmFtZVtvc19pbmRleF0gIT0gc3BsaXRf
bmFtZVswXToKKyAgICAgICAgICAgIG9zX25hbWUgPSBhcHBsZV9hZGRpdGlvbnMoKS5tYWNfb3Nf
bmFtZShzcGxpdF9uYW1lW29zX2luZGV4XSkKICAgICAgICAgICAgIGlmIG5vdCBvc19uYW1lOgog
ICAgICAgICAgICAgICAgIHJldHVybiBOb25lCi0gICAgICAgICAgICBuYW1lID0gc3BsaXRfbmFt
ZVswXSArICctJyArIG9zX25hbWUgKyAoJy0nICsgJy0nLmpvaW4oc3BsaXRfbmFtZVsyOl0pKSBp
ZiBsZW4oc3BsaXRfbmFtZSkgPiAyIGVsc2UgJycKKyAgICAgICAgICAgIHNwbGl0X25hbWVbb3Nf
aW5kZXhdID0gb3NfbmFtZQorICAgICAgICBuYW1lID0gJy0nLmpvaW4oc3BsaXRfbmFtZSkKICAg
ICAgICAgcmV0dXJuIHNlbGYuX2ZpbGVzeXN0ZW0uam9pbihhcHBsZV9hZGRpdGlvbnMoKS5sYXlv
dXRfdGVzdHNfcGF0aCgpLCBuYW1lKQogCiAgICAgQG1lbW9pemVkCkluZGV4OiBUb29scy9TY3Jp
cHRzL3dlYmtpdHB5L3BvcnQvbWFjX3VuaXR0ZXN0LnB5Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvcG9ydC9tYWNfdW5pdHRlc3QucHkJKHJldmlzaW9uIDIyMTA4MikKKysr
IFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9tYWNfdW5pdHRlc3QucHkJKHdvcmtpbmcgY29w
eSkKQEAgLTE0Niw1ICsxNDYsNyBAQCBjbGFzcyBNYWNUZXN0KGRhcndpbl90ZXN0Y2FzZS5EYXJ3
aW5UZXN0CiAgICAgZGVmIHRlc3RfbGF5b3V0X3Rlc3Rfc2VhcmNocGF0aF93aXRoX2FwcGxlX2Fk
ZGl0aW9ucyhzZWxmKToKICAgICAgICAgd2l0aCBwb3J0X3Rlc3RjYXNlLmJpbmRfbW9ja19hcHBs
ZV9hZGRpdGlvbnMoKToKICAgICAgICAgICAgIHNlYXJjaF9wYXRoID0gc2VsZi5tYWtlX3BvcnQo
KS5kZWZhdWx0X2Jhc2VsaW5lX3NlYXJjaF9wYXRoKCkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVh
bChzZWFyY2hfcGF0aFswXSwgJy9hZGRpdGlvbmFsX3Rlc3RpbmdfcGF0aC9tYWMtbGlvbi13azEn
KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlYXJjaF9wYXRoWzBdLCAnL2FkZGl0aW9uYWxf
dGVzdGluZ19wYXRoL21hYy1hZGQtbGlvbi13azEnKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFs
KHNlYXJjaF9wYXRoWzFdLCAnL21vY2stY2hlY2tvdXQvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
LWxpb24td2sxJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWFyY2hfcGF0aFsyXSwgJy9h
ZGRpdGlvbmFsX3Rlc3RpbmdfcGF0aC9tYWMtYWRkLWxpb24nKQorICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFsKHNlYXJjaF9wYXRoWzNdLCAnL21vY2stY2hlY2tvdXQvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjLWxpb24nKQpJbmRleDogVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3BvcnRfdGVz
dGNhc2UucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3BvcnRf
dGVzdGNhc2UucHkJKHJldmlzaW9uIDIyMTA4MikKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkv
cG9ydC9wb3J0X3Rlc3RjYXNlLnB5CSh3b3JraW5nIGNvcHkpCkBAIC04NywxMSArODcsMTEgQEAg
ZGVmIGJpbmRfbW9ja19hcHBsZV9hZGRpdGlvbnMoKToKIAogICAgICAgICBAc3RhdGljbWV0aG9k
CiAgICAgICAgIGRlZiBpb3Nfb3NfbmFtZShuYW1lKToKLSAgICAgICAgICAgIHJldHVybiBuYW1l
CisgICAgICAgICAgICByZXR1cm4gJ2FkZC17fScuZm9ybWF0KG5hbWUpCiAKICAgICAgICAgQHN0
YXRpY21ldGhvZAogICAgICAgICBkZWYgbWFjX29zX25hbWUobmFtZSk6Ci0gICAgICAgICAgICBy
ZXR1cm4gbmFtZQorICAgICAgICAgICAgcmV0dXJuICdhZGQte30nLmZvcm1hdChuYW1lKQogCiAg
ICAgIyBhcHBsZV9hZGRpdGlvbnMgaXMgYSBtZW1vaXplZCBmdW5jdGlvbi4gVGFrZSBhZHZhbnRh
Z2Ugb2YgdGhpcyBmYWN0IGFuZCBtYW5pcHVsYXRlIHRoZSBjYWNoZQogICAgICMgdG8gdGVtcG9y
YXJpbHkgcmV0dXJuIGEgbW9ja2VkIHJlc3VsdAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>