<?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>188424</bug_id>
          
          <creation_ts>2018-08-08 16:07:31 -0700</creation_ts>
          <short_desc>run-bindings-tests is not Win32-compatible</short_desc>
          <delta_ts>2019-07-04 00:21:40 -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>PC</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=199487</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar, PlatformOnly</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ross Kirsling">ross.kirsling</reporter>
          <assigned_to name="Ross Kirsling">ross.kirsling</assigned_to>
          <cc>achristensen</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>don.olmstead</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fujii</cc>
    
    <cc>glenn</cc>
    
    <cc>lforschler</cc>
    
    <cc>pvollan</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1448877</commentid>
    <comment_count>0</comment_count>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2018-08-08 16:07:31 -0700</bug_when>
    <thetext>run-bindings-tests is not Win32-compatible</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1448878</commentid>
    <comment_count>1</comment_count>
      <attachid>346803</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2018-08-08 16:09:53 -0700</bug_when>
    <thetext>Created attachment 346803
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1448880</commentid>
    <comment_count>2</comment_count>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2018-08-08 16:53:23 -0700</bug_when>
    <thetext>mac-32bit failure here seems to be a fluke? This patch should not change behavior for other platforms.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1448909</commentid>
    <comment_count>3</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-08-08 19:44:10 -0700</bug_when>
    <thetext>If tempfile.NamedTemporaryFile(mode=&apos;r&apos;, delete=Treu) is used in this case, will the temporary file be deleted automatically when GC collects the file object?

Or, what about the idea defining own mktemp like deprecated tempfile.mktemp?

def mktemp(self):
    fd, filename = tempfile.mkstemp()
    os.close(fd)
    return filename</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1448930</commentid>
    <comment_count>4</comment_count>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2018-08-08 20:38:19 -0700</bug_when>
    <thetext>(In reply to Fujii Hironori from comment #3)
&gt; If tempfile.NamedTemporaryFile(mode=&apos;r&apos;, delete=Treu) is used in this case,
&gt; will the temporary file be deleted automatically when GC collects the file
&gt; object?

I hadn&apos;t tried it, but it certainly seems to work! (Tried on Mac and Win alike.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1448931</commentid>
    <comment_count>5</comment_count>
      <attachid>346815</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2018-08-08 20:43:15 -0700</bug_when>
    <thetext>Created attachment 346815
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1448943</commentid>
    <comment_count>6</comment_count>
      <attachid>346815</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-08-08 21:25:26 -0700</bug_when>
    <thetext>Comment on attachment 346815
Patch

So weird. I can&apos;t understand why this code works.
NamedTemporaryFile() returns file object.
You pass the file objects to generate_supplemental_dependency, not filenames.
Why does this code work?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1448944</commentid>
    <comment_count>7</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-08-08 21:26:43 -0700</bug_when>
    <thetext>You can get the filename by &apos;supplemental_dependency_file.name&apos;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1448947</commentid>
    <comment_count>8</comment_count>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2018-08-08 21:41:49 -0700</bug_when>
    <thetext>(In reply to Fujii Hironori from comment #6)
&gt; Comment on attachment 346815 [details]
&gt; Patch
&gt; 
&gt; So weird. I can&apos;t understand why this code works.
&gt; NamedTemporaryFile() returns file object.
&gt; You pass the file objects to generate_supplemental_dependency, not filenames.
&gt; Why does this code work?

Apparently it works because &quot;&lt;open file &apos;&lt;fdopen&gt;&apos;, mode &apos;w+b&apos; at 0x10102ff60&gt;&quot; is a valid filename, hahaha.

(In reply to Fujii Hironori from comment #7)
&gt; You can get the filename by &apos;supplemental_dependency_file.name&apos;.

Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1448950</commentid>
    <comment_count>9</comment_count>
      <attachid>346820</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2018-08-08 21:52:43 -0700</bug_when>
    <thetext>Created attachment 346820
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1448951</commentid>
    <comment_count>10</comment_count>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2018-08-08 21:58:48 -0700</bug_when>
    <thetext>(In reply to Ross Kirsling from comment #8)
&gt; Apparently it works because &quot;&lt;open file &apos;&lt;fdopen&gt;&apos;, mode &apos;w+b&apos; at
&gt; 0x10102ff60&gt;&quot; is a valid filename, hahaha.

...and because WebCore/bindings/scripts/preprocess-idls.pl will happily create the supplemental_dependency_file if it doesn&apos;t file already exists (it just won&apos;t clean up after itself), I mean.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1448952</commentid>
    <comment_count>11</comment_count>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2018-08-08 21:59:54 -0700</bug_when>
    <thetext>(In reply to Ross Kirsling from comment #10)
&gt; ...and because WebCore/bindings/scripts/preprocess-idls.pl will happily
&gt; create the supplemental_dependency_file if it doesn&apos;t file already exists
&gt; (it just won&apos;t clean up after itself), I mean.

Ugh, failure to proofread. &quot;if the file doesn&apos;t already exist&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1448959</commentid>
    <comment_count>12</comment_count>
      <attachid>346820</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-08-08 22:42:49 -0700</bug_when>
    <thetext>Comment on attachment 346820
Patch

Clearing flags on attachment: 346820

Committed r234720: &lt;https://trac.webkit.org/changeset/234720&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1448960</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-08-08 22:42:51 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1448961</commentid>
    <comment_count>14</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-08-08 22:43:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/43080517&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1448973</commentid>
    <comment_count>15</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-08-09 00:38:18 -0700</bug_when>
    <thetext>It failed on the BuildBot.

https://build.webkit.org/builders/WinCairo%2064-bit%20WKL%20Release%20%28Tests%29/builds/954/steps/bindings-generation-tests/logs/stdio

&gt; Couldn&apos;t open c:\users\containeradministrator\appdata\local\temp\tmp6paapw: Permission denied
&gt; 
&gt; Failed to generate a supplemental dependency file.

Do you need to open as read mode?
NamedTemporaryFile(mode=&apos;r&apos;)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1449016</commentid>
    <comment_count>16</comment_count>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2018-08-09 09:46:33 -0700</bug_when>
    <thetext>(In reply to Fujii Hironori from comment #15)
&gt; It failed on the BuildBot.
&gt; 
&gt; https://build.webkit.org/builders/WinCairo%2064-
&gt; bit%20WKL%20Release%20%28Tests%29/builds/954/steps/bindings-generation-tests/
&gt; logs/stdio
&gt; 
&gt; &gt; Couldn&apos;t open c:\users\containeradministrator\appdata\local\temp\tmp6paapw: Permission denied
&gt; &gt; 
&gt; &gt; Failed to generate a supplemental dependency file.
&gt; 
&gt; Do you need to open as read mode?
&gt; NamedTemporaryFile(mode=&apos;r&apos;)

Shoot, I only tested the last patch on Mac.

We don&apos;t even read from the supplemental dependency file from Python, so the mode doesn&apos;t matter (though I made sure just now), but as the docs say:
&gt; Whether the name can be used to open the file a second time, while the named temporary file is still open, varies across platforms (it can be so used on Unix; it cannot on Windows NT or later).

So apparently we need delete=False, which means os.remove is unavoidable after all, but NamedTemporaryFile does still free us from needing a separate os.close call.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1449021</commentid>
    <comment_count>17</comment_count>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2018-08-09 10:09:21 -0700</bug_when>
    <thetext>(In reply to Ross Kirsling from comment #16)
&gt; (In reply to Fujii Hironori from comment #15)
&gt; &gt; It failed on the BuildBot.
&gt; &gt; 
&gt; &gt; https://build.webkit.org/builders/WinCairo%2064-
&gt; &gt; bit%20WKL%20Release%20%28Tests%29/builds/954/steps/bindings-generation-tests/
&gt; &gt; logs/stdio
&gt; &gt; 
&gt; &gt; &gt; Couldn&apos;t open c:\users\containeradministrator\appdata\local\temp\tmp6paapw: Permission denied
&gt; &gt; &gt; 
&gt; &gt; &gt; Failed to generate a supplemental dependency file.
&gt; &gt; 
&gt; &gt; Do you need to open as read mode?
&gt; &gt; NamedTemporaryFile(mode=&apos;r&apos;)
&gt; 
&gt; Shoot, I only tested the last patch on Mac.
&gt; 
&gt; We don&apos;t even read from the supplemental dependency file from Python, so the
&gt; mode doesn&apos;t matter (though I made sure just now), but as the docs say:
&gt; &gt; Whether the name can be used to open the file a second time, while the named temporary file is still open, varies across platforms (it can be so used on Unix; it cannot on Windows NT or later).
&gt; 
&gt; So apparently we need delete=False, which means os.remove is unavoidable
&gt; after all, but NamedTemporaryFile does still free us from needing a separate
&gt; os.close call.

Oops, nope -- the fact that this works is almost an accident, because we&apos;re depending on Perl closing the file for us.

Regarding your earlier suggestion about mktemp, this function was deprecated for legitimate security reasons, so we really can&apos;t justify opting into that behavior:
https://docs.python.org/2/library/tempfile.html#tempfile.mktemp

As suggested by the blog post I linked in the ChangeLog (https://www.logilab.org/blogentry/17873), calling os.close before os.remove seems to be the &quot;right thing to do&quot; even on POSIX, so I will reintroduce my initial approach as a fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1449026</commentid>
    <comment_count>18</comment_count>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2018-08-09 10:25:52 -0700</bug_when>
    <thetext>Committed r234726: &lt;https://trac.webkit.org/changeset/234726&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>346803</attachid>
            <date>2018-08-08 16:09:53 -0700</date>
            <delta_ts>2018-08-08 20:43:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-188424-20180808160952.patch</filename>
            <type>text/plain</type>
            <size>6391</size>
            <attacher name="Ross Kirsling">ross.kirsling</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM0Njk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjFjMmRiMTViOGI4Y2E1
ZDljOGIyZDNmNjZiNzViM2I5OGYxYjM5Yy4uNzlmZWZiZDExNjBkODM4NGRkOGY4NDEwNmNkZjhm
NGUxYzhiY2IxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE4LTA4LTA4ICBSb3Nz
IEtpcnNsaW5nICA8cm9zcy5raXJzbGluZ0Bzb255LmNvbT4KKworICAgICAgICBydW4tYmluZGlu
Z3MtdGVzdHMgaXMgbm90IFdpbjMyLWNvbXBhdGlibGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4ODQyNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9wcmVwcm9jZXNzb3Iu
cG06CisgICAgICAgIChhcHBseVByZXByb2Nlc3Nvcik6CisgICAgICAgIEVuc3VyZSB0aGF0IHdl
IGZhbGwgYmFjayB0byBjbC5leGUgaWYgQ0MgZW52IHZhciBpcyBub3Qgc2V0IG9uIFdpbmRvd3Mu
CisKIDIwMTgtMDgtMDggIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+CiAKICAgICAg
ICAgQXNzZXJ0aW9uIGZhaWxlZCBpbiBXZWJjb3JlOjpQcm9jZXNzOjpzZXRJZGVudGlmaWVyKCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvcHJlcHJvY2Vzc29y
LnBtIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9wcmVwcm9jZXNzb3IucG0KaW5k
ZXggZWU2NWRhNGFmZjQwZjkzZWY3ZTAyZmNkNzVlMGE0ZjAxOWZhY2U1OC4uNTQ3ZTk1NmYwNWFh
OTNkODFhNzAyNzIzZTNmN2IxZDM5Zjc1YmY2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy9wcmVwcm9jZXNzb3IucG0KKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy9wcmVwcm9jZXNzb3IucG0KQEAgLTQ1LDE3ICs0NSwxMSBAQCBzdWIgYXBw
bHlQcmVwcm9jZXNzb3IKIAogICAgIG15IEBhcmdzID0gKCk7CiAgICAgaWYgKCEkcHJlcHJvY2Vz
c29yKSB7Ci0gICAgICAgIHJlcXVpcmUgQ29uZmlnOwotICAgICAgICBpZiAoJEVOVntDQ30pIHsK
LSAgICAgICAgICAgICRwcmVwcm9jZXNzb3IgPSAkRU5We0NDfTsKLSAgICAgICAgfSBlbHNpZiAo
LXggIi91c3IvYmluL2NsYW5nIikgewotICAgICAgICAgICAgJHByZXByb2Nlc3NvciA9ICIvdXNy
L2Jpbi9jbGFuZyI7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAkcHJlcHJvY2Vzc29y
ID0gIi91c3IvYmluL2djYyI7Ci0gICAgICAgIH0KICAgICAgICAgaWYgKCRDb25maWc6OkNvbmZp
Z3sib3NuYW1lIn0gZXEgIk1TV2luMzIiKSB7CisgICAgICAgICAgICAkcHJlcHJvY2Vzc29yID0g
JEVOVntDQ30gfHwgImNsIjsKICAgICAgICAgICAgIHB1c2goQGFyZ3MsIHF3KC9FUCkpOwogICAg
ICAgICB9IGVsc2UgeworICAgICAgICAgICAgJHByZXByb2Nlc3NvciA9ICRFTlZ7Q0N9IHx8ICgt
eCAiL3Vzci9iaW4vY2xhbmciID8gIi91c3IvYmluL2NsYW5nIiA6ICIvdXNyL2Jpbi9nY2MiKTsK
ICAgICAgICAgICAgIHB1c2goQGFyZ3MsIHF3KC1FIC1QIC14IGMrKykpOwogICAgICAgICB9CiAg
ICAgfQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4
IDViZWFlMmEzMWJkMzdmMmNmZGRmNTE4ZWI4Njg0YmFlMWIzMDYxMjguLjlkY2JlZjUyMTVmYjM2
MjRiM2Q1ZjAwZGVlNjViZmMwZjVlMTI4ZWMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZwor
KysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxOC0wOC0wOCAgUm9zcyBL
aXJzbGluZyAgPHJvc3Mua2lyc2xpbmdAc29ueS5jb20+CisKKyAgICAgICAgcnVuLWJpbmRpbmdz
LXRlc3RzIGlzIG5vdCBXaW4zMi1jb21wYXRpYmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODg0MjQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvYmluZGluZ3MvbWFpbi5w
eToKKyAgICAgICAgKEJpbmRpbmdzVGVzdHMuY2xvc2VfYW5kX3JlbW92ZSk6CisgICAgICAgIChC
aW5kaW5nc1Rlc3RzLm1haW4pOgorICAgICAgICBTdG9wIGxlYWtpbmcgZmlsZSBkZXNjcmlwdG9y
cy4gKFNlZSBodHRwczovL3d3dy5sb2dpbGFiLm9yZy9ibG9nZW50cnkvMTc4NzMgZm9yIGRldGFp
bHMuKQorCiAyMDE4LTA4LTA4ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29t
PgogCiAgICAgICAgIFtpT1NdIGZhc3QvZXZlbnRzL2lvcy9jb250ZW50ZWRpdGFibGUtYXV0b2Nh
cGl0YWxpemUuaHRtbCBpcyBhIGZsYWt5IGZhaWx1cmUKZGlmZiAtLWdpdCBhL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvYmluZGluZ3MvbWFpbi5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmlu
ZGluZ3MvbWFpbi5weQppbmRleCAzOTQwNjg3ZGQyNjU4ZWVhNjMwODBlMjhlMDc0ZTI2NmNkMjZh
ZDRjLi4wNGNiZDg1MDU2NzNiZDVjNmYyZTlkNzA1MjA4MWYxMmQ2NmM0NGUyIDEwMDY0NAotLS0g
YS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JpbmRpbmdzL21haW4ucHkKKysrIGIvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9iaW5kaW5ncy9tYWluLnB5CkBAIC0xNjksNiArMTY5LDEwIEBAIGNsYXNz
IEJpbmRpbmdzVGVzdHM6CiAKICAgICAgICAgcmV0dXJuIHBhc3NlZAogCisgICAgZGVmIGNsb3Nl
X2FuZF9yZW1vdmUoc2VsZiwgdGVtcG9yYXJ5X2ZpbGUpOgorICAgICAgICBvcy5jbG9zZSh0ZW1w
b3JhcnlfZmlsZVswXSkKKyAgICAgICAgb3MucmVtb3ZlKHRlbXBvcmFyeV9maWxlWzFdKQorCiAg
ICAgZGVmIG1haW4oc2VsZik6CiAgICAgICAgIGN1cnJlbnRfc2NtID0gZGV0ZWN0X3NjbV9zeXN0
ZW0ob3MuY3VyZGlyKQogICAgICAgICBvcy5jaGRpcihvcy5wYXRoLmpvaW4oY3VycmVudF9zY20u
Y2hlY2tvdXRfcm9vdCwgJ1NvdXJjZScpKQpAQCAtMTc2LDMxICsxODAsMzEgQEAgY2xhc3MgQmlu
ZGluZ3NUZXN0czoKICAgICAgICAgYWxsX3Rlc3RzX3Bhc3NlZCA9IFRydWUKIAogICAgICAgICBp
bnB1dF9kaXJlY3RvcnkgPSBvcy5wYXRoLmpvaW4oJ1dlYkNvcmUnLCAnYmluZGluZ3MnLCAnc2Ny
aXB0cycsICd0ZXN0JykKLSAgICAgICAgc3VwcGxlbWVudGFsX2RlcGVuZGVuY3lfZmlsZSA9IHRl
bXBmaWxlLm1rc3RlbXAoKVsxXQotICAgICAgICB3aW5kb3dfY29uc3RydWN0b3JzX2ZpbGUgPSB0
ZW1wZmlsZS5ta3N0ZW1wKClbMV0KLSAgICAgICAgd29ya2VyZ2xvYmFsc2NvcGVfY29uc3RydWN0
b3JzX2ZpbGUgPSB0ZW1wZmlsZS5ta3N0ZW1wKClbMV0KLSAgICAgICAgZGVkaWNhdGVkd29ya2Vy
Z2xvYmFsc2NvcGVfY29uc3RydWN0b3JzX2ZpbGUgPSB0ZW1wZmlsZS5ta3N0ZW1wKClbMV0KLSAg
ICAgICAgc2VydmljZXdvcmtlcmdsb2JhbHNjb3BlX2NvbnN0cnVjdG9yc19maWxlID0gdGVtcGZp
bGUubWtzdGVtcCgpWzFdCi0gICAgICAgIGlmIHNlbGYuZ2VuZXJhdGVfc3VwcGxlbWVudGFsX2Rl
cGVuZGVuY3koaW5wdXRfZGlyZWN0b3J5LCBzdXBwbGVtZW50YWxfZGVwZW5kZW5jeV9maWxlLCB3
aW5kb3dfY29uc3RydWN0b3JzX2ZpbGUsIHdvcmtlcmdsb2JhbHNjb3BlX2NvbnN0cnVjdG9yc19m
aWxlLCBkZWRpY2F0ZWR3b3JrZXJnbG9iYWxzY29wZV9jb25zdHJ1Y3RvcnNfZmlsZSwgc2Vydmlj
ZXdvcmtlcmdsb2JhbHNjb3BlX2NvbnN0cnVjdG9yc19maWxlKToKKyAgICAgICAgc3VwcGxlbWVu
dGFsX2RlcGVuZGVuY3lfZmlsZSA9IHRlbXBmaWxlLm1rc3RlbXAoKQorICAgICAgICB3aW5kb3df
Y29uc3RydWN0b3JzX2ZpbGUgPSB0ZW1wZmlsZS5ta3N0ZW1wKCkKKyAgICAgICAgd29ya2VyZ2xv
YmFsc2NvcGVfY29uc3RydWN0b3JzX2ZpbGUgPSB0ZW1wZmlsZS5ta3N0ZW1wKCkKKyAgICAgICAg
ZGVkaWNhdGVkd29ya2VyZ2xvYmFsc2NvcGVfY29uc3RydWN0b3JzX2ZpbGUgPSB0ZW1wZmlsZS5t
a3N0ZW1wKCkKKyAgICAgICAgc2VydmljZXdvcmtlcmdsb2JhbHNjb3BlX2NvbnN0cnVjdG9yc19m
aWxlID0gdGVtcGZpbGUubWtzdGVtcCgpCisgICAgICAgIGlmIHNlbGYuZ2VuZXJhdGVfc3VwcGxl
bWVudGFsX2RlcGVuZGVuY3koaW5wdXRfZGlyZWN0b3J5LCBzdXBwbGVtZW50YWxfZGVwZW5kZW5j
eV9maWxlWzFdLCB3aW5kb3dfY29uc3RydWN0b3JzX2ZpbGVbMV0sIHdvcmtlcmdsb2JhbHNjb3Bl
X2NvbnN0cnVjdG9yc19maWxlWzFdLCBkZWRpY2F0ZWR3b3JrZXJnbG9iYWxzY29wZV9jb25zdHJ1
Y3RvcnNfZmlsZVsxXSwgc2VydmljZXdvcmtlcmdsb2JhbHNjb3BlX2NvbnN0cnVjdG9yc19maWxl
WzFdKToKICAgICAgICAgICAgIHByaW50KCdGYWlsZWQgdG8gZ2VuZXJhdGUgYSBzdXBwbGVtZW50
YWwgZGVwZW5kZW5jeSBmaWxlLicpCi0gICAgICAgICAgICBvcy5yZW1vdmUoc3VwcGxlbWVudGFs
X2RlcGVuZGVuY3lfZmlsZSkKLSAgICAgICAgICAgIG9zLnJlbW92ZSh3aW5kb3dfY29uc3RydWN0
b3JzX2ZpbGUpCi0gICAgICAgICAgICBvcy5yZW1vdmUod29ya2VyZ2xvYmFsc2NvcGVfY29uc3Ry
dWN0b3JzX2ZpbGUpCi0gICAgICAgICAgICBvcy5yZW1vdmUoZGVkaWNhdGVkd29ya2VyZ2xvYmFs
c2NvcGVfY29uc3RydWN0b3JzX2ZpbGUpCi0gICAgICAgICAgICBvcy5yZW1vdmUoc2VydmljZXdv
cmtlcmdsb2JhbHNjb3BlX2NvbnN0cnVjdG9yc19maWxlKQorICAgICAgICAgICAgc2VsZi5jbG9z
ZV9hbmRfcmVtb3ZlKHN1cHBsZW1lbnRhbF9kZXBlbmRlbmN5X2ZpbGUpCisgICAgICAgICAgICBz
ZWxmLmNsb3NlX2FuZF9yZW1vdmUod2luZG93X2NvbnN0cnVjdG9yc19maWxlKQorICAgICAgICAg
ICAgc2VsZi5jbG9zZV9hbmRfcmVtb3ZlKHdvcmtlcmdsb2JhbHNjb3BlX2NvbnN0cnVjdG9yc19m
aWxlKQorICAgICAgICAgICAgc2VsZi5jbG9zZV9hbmRfcmVtb3ZlKGRlZGljYXRlZHdvcmtlcmds
b2JhbHNjb3BlX2NvbnN0cnVjdG9yc19maWxlKQorICAgICAgICAgICAgc2VsZi5jbG9zZV9hbmRf
cmVtb3ZlKHNlcnZpY2V3b3JrZXJnbG9iYWxzY29wZV9jb25zdHJ1Y3RvcnNfZmlsZSkKICAgICAg
ICAgICAgIHJldHVybiAtMQogCiAgICAgICAgIGZvciBnZW5lcmF0b3IgaW4gc2VsZi5nZW5lcmF0
b3JzOgogICAgICAgICAgICAgaW5wdXRfZGlyZWN0b3J5ID0gb3MucGF0aC5qb2luKCdXZWJDb3Jl
JywgJ2JpbmRpbmdzJywgJ3NjcmlwdHMnLCAndGVzdCcpCiAgICAgICAgICAgICByZWZlcmVuY2Vf
ZGlyZWN0b3J5ID0gb3MucGF0aC5qb2luKCdXZWJDb3JlJywgJ2JpbmRpbmdzJywgJ3NjcmlwdHMn
LCAndGVzdCcsIGdlbmVyYXRvcikKLSAgICAgICAgICAgIGlmIG5vdCBzZWxmLnJ1bl90ZXN0cyhn
ZW5lcmF0b3IsIGlucHV0X2RpcmVjdG9yeSwgcmVmZXJlbmNlX2RpcmVjdG9yeSwgc3VwcGxlbWVu
dGFsX2RlcGVuZGVuY3lfZmlsZSk6CisgICAgICAgICAgICBpZiBub3Qgc2VsZi5ydW5fdGVzdHMo
Z2VuZXJhdG9yLCBpbnB1dF9kaXJlY3RvcnksIHJlZmVyZW5jZV9kaXJlY3RvcnksIHN1cHBsZW1l
bnRhbF9kZXBlbmRlbmN5X2ZpbGVbMV0pOgogICAgICAgICAgICAgICAgIGFsbF90ZXN0c19wYXNz
ZWQgPSBGYWxzZQogCi0gICAgICAgIG9zLnJlbW92ZShzdXBwbGVtZW50YWxfZGVwZW5kZW5jeV9m
aWxlKQotICAgICAgICBvcy5yZW1vdmUod2luZG93X2NvbnN0cnVjdG9yc19maWxlKQotICAgICAg
ICBvcy5yZW1vdmUod29ya2VyZ2xvYmFsc2NvcGVfY29uc3RydWN0b3JzX2ZpbGUpCi0gICAgICAg
IG9zLnJlbW92ZShkZWRpY2F0ZWR3b3JrZXJnbG9iYWxzY29wZV9jb25zdHJ1Y3RvcnNfZmlsZSkK
LSAgICAgICAgb3MucmVtb3ZlKHNlcnZpY2V3b3JrZXJnbG9iYWxzY29wZV9jb25zdHJ1Y3RvcnNf
ZmlsZSkKKyAgICAgICAgc2VsZi5jbG9zZV9hbmRfcmVtb3ZlKHN1cHBsZW1lbnRhbF9kZXBlbmRl
bmN5X2ZpbGUpCisgICAgICAgIHNlbGYuY2xvc2VfYW5kX3JlbW92ZSh3aW5kb3dfY29uc3RydWN0
b3JzX2ZpbGUpCisgICAgICAgIHNlbGYuY2xvc2VfYW5kX3JlbW92ZSh3b3JrZXJnbG9iYWxzY29w
ZV9jb25zdHJ1Y3RvcnNfZmlsZSkKKyAgICAgICAgc2VsZi5jbG9zZV9hbmRfcmVtb3ZlKGRlZGlj
YXRlZHdvcmtlcmdsb2JhbHNjb3BlX2NvbnN0cnVjdG9yc19maWxlKQorICAgICAgICBzZWxmLmNs
b3NlX2FuZF9yZW1vdmUoc2VydmljZXdvcmtlcmdsb2JhbHNjb3BlX2NvbnN0cnVjdG9yc19maWxl
KQogCiAgICAgICAgIGlmIHNlbGYuanNvbl9maWxlX25hbWU6CiAgICAgICAgICAgICBqc29uX2Rh
dGEgPSB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>346815</attachid>
            <date>2018-08-08 20:43:15 -0700</date>
            <delta_ts>2018-08-08 21:52:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-188424-20180808204314.patch</filename>
            <type>text/plain</type>
            <size>4930</size>
            <attacher name="Ross Kirsling">ross.kirsling</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM0NzE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTMzZGIxYmY4YzYwYzMz
NzliZTY3ZDcyNzlhNmQ3ZjJkYTNmMGM4Ni4uOGZjMTQwNjEzNDJkYzBiZTRiMDk3ZGEwNzNmN2I4
NDY1NWY5M2RlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE4LTA4LTA4ICBSb3Nz
IEtpcnNsaW5nICA8cm9zcy5raXJzbGluZ0Bzb255LmNvbT4KKworICAgICAgICBydW4tYmluZGlu
Z3MtdGVzdHMgaXMgbm90IFdpbjMyLWNvbXBhdGlibGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4ODQyNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9wcmVwcm9jZXNzb3Iu
cG06CisgICAgICAgIChhcHBseVByZXByb2Nlc3Nvcik6CisgICAgICAgIEVuc3VyZSB0aGF0IHdl
IGZhbGwgYmFjayB0byBjbC5leGUgaWYgQ0MgZW52IHZhciBpcyBub3Qgc2V0IG9uIFdpbmRvd3Mu
CisKIDIwMTgtMDgtMDggIERvbiBPbG1zdGVhZCAgPGRvbi5vbG1zdGVhZEBzb255LmNvbT4KIAog
ICAgICAgICBbQ3VybF0gU3VyZmFjZSBhZGRpdGlvbmFsIE5ldHdvcmtMb2FkTWV0cmljcwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9wcmVwcm9jZXNzb3IucG0g
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3ByZXByb2Nlc3Nvci5wbQppbmRleCBl
ZTY1ZGE0YWZmNDBmOTNlZjdlMDJmY2Q3NWUwYTRmMDE5ZmFjZTU4Li41NDdlOTU2ZjA1YWE5M2Q4
MWE3MDI3MjNlM2Y3YjFkMzlmNzViZjY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3ByZXByb2Nlc3Nvci5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3ByZXByb2Nlc3Nvci5wbQpAQCAtNDUsMTcgKzQ1LDExIEBAIHN1YiBhcHBseVBy
ZXByb2Nlc3NvcgogCiAgICAgbXkgQGFyZ3MgPSAoKTsKICAgICBpZiAoISRwcmVwcm9jZXNzb3Ip
IHsKLSAgICAgICAgcmVxdWlyZSBDb25maWc7Ci0gICAgICAgIGlmICgkRU5We0NDfSkgewotICAg
ICAgICAgICAgJHByZXByb2Nlc3NvciA9ICRFTlZ7Q0N9OwotICAgICAgICB9IGVsc2lmICgteCAi
L3Vzci9iaW4vY2xhbmciKSB7Ci0gICAgICAgICAgICAkcHJlcHJvY2Vzc29yID0gIi91c3IvYmlu
L2NsYW5nIjsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICRwcmVwcm9jZXNzb3IgPSAi
L3Vzci9iaW4vZ2NjIjsKLSAgICAgICAgfQogICAgICAgICBpZiAoJENvbmZpZzo6Q29uZmlneyJv
c25hbWUifSBlcSAiTVNXaW4zMiIpIHsKKyAgICAgICAgICAgICRwcmVwcm9jZXNzb3IgPSAkRU5W
e0NDfSB8fCAiY2wiOwogICAgICAgICAgICAgcHVzaChAYXJncywgcXcoL0VQKSk7CiAgICAgICAg
IH0gZWxzZSB7CisgICAgICAgICAgICAkcHJlcHJvY2Vzc29yID0gJEVOVntDQ30gfHwgKC14ICIv
dXNyL2Jpbi9jbGFuZyIgPyAiL3Vzci9iaW4vY2xhbmciIDogIi91c3IvYmluL2djYyIpOwogICAg
ICAgICAgICAgcHVzaChAYXJncywgcXcoLUUgLVAgLXggYysrKSk7CiAgICAgICAgIH0KICAgICB9
CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMjJj
M2NjNWU2MGY3YTI5OTg0MTVkZGUyM2FkYTllN2IyZTQ0ODQ4MS4uYzI0YmJjMTQyNDEzYThhNzRj
OTBkMTE0MjQ2NGE2ZWI0YjNhYjc2ZCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBi
L1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE4LTA4LTA4ICBSb3NzIEtpcnNs
aW5nICA8cm9zcy5raXJzbGluZ0Bzb255LmNvbT4KKworICAgICAgICBydW4tYmluZGluZ3MtdGVz
dHMgaXMgbm90IFdpbjMyLWNvbXBhdGlibGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE4ODQyNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9iaW5kaW5ncy9tYWluLnB5Ogor
ICAgICAgICAoQmluZGluZ3NUZXN0cy5tYWluKToKKyAgICAgICAgU3RvcCBsZWFraW5nIGZpbGUg
ZGVzY3JpcHRvcnMuCisgICAgICAgIChTZWUgaHR0cHM6Ly93d3cubG9naWxhYi5vcmcvYmxvZ2Vu
dHJ5LzE3ODczIGZvciBkZXRhaWxzLCB0aG91Z2ggdGhlIHNvbHV0aW9uIGhlcmUgaXMgZXZlbiBz
aW1wbGVyLikKKwogMjAxOC0wOC0wOCAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3
ZWJraXQub3JnPgogCiAgICAgICAgIEZpeCBwb3NzaWJsZSBudWxsIGRlcmVmZXJlbmNlIGluIFdl
YkJhY2tGb3J3YXJkTGlzdDo6cmVzdG9yZUZyb21TdGF0ZQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9iaW5kaW5ncy9tYWluLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9i
aW5kaW5ncy9tYWluLnB5CmluZGV4IDM5NDA2ODdkZDI2NThlZWE2MzA4MGUyOGUwNzRlMjY2Y2Qy
NmFkNGMuLjFlZTlkN2UxZGJjNWY3MTA2ZTAxNDQ2MDYxYjA2NGM0MzQwYWExZTcgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmluZGluZ3MvbWFpbi5weQorKysgYi9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L2JpbmRpbmdzL21haW4ucHkKQEAgLTE3NiwxOCArMTc2LDEzIEBAIGNs
YXNzIEJpbmRpbmdzVGVzdHM6CiAgICAgICAgIGFsbF90ZXN0c19wYXNzZWQgPSBUcnVlCiAKICAg
ICAgICAgaW5wdXRfZGlyZWN0b3J5ID0gb3MucGF0aC5qb2luKCdXZWJDb3JlJywgJ2JpbmRpbmdz
JywgJ3NjcmlwdHMnLCAndGVzdCcpCi0gICAgICAgIHN1cHBsZW1lbnRhbF9kZXBlbmRlbmN5X2Zp
bGUgPSB0ZW1wZmlsZS5ta3N0ZW1wKClbMV0KLSAgICAgICAgd2luZG93X2NvbnN0cnVjdG9yc19m
aWxlID0gdGVtcGZpbGUubWtzdGVtcCgpWzFdCi0gICAgICAgIHdvcmtlcmdsb2JhbHNjb3BlX2Nv
bnN0cnVjdG9yc19maWxlID0gdGVtcGZpbGUubWtzdGVtcCgpWzFdCi0gICAgICAgIGRlZGljYXRl
ZHdvcmtlcmdsb2JhbHNjb3BlX2NvbnN0cnVjdG9yc19maWxlID0gdGVtcGZpbGUubWtzdGVtcCgp
WzFdCi0gICAgICAgIHNlcnZpY2V3b3JrZXJnbG9iYWxzY29wZV9jb25zdHJ1Y3RvcnNfZmlsZSA9
IHRlbXBmaWxlLm1rc3RlbXAoKVsxXQorICAgICAgICBzdXBwbGVtZW50YWxfZGVwZW5kZW5jeV9m
aWxlID0gdGVtcGZpbGUuTmFtZWRUZW1wb3JhcnlGaWxlKCkKKyAgICAgICAgd2luZG93X2NvbnN0
cnVjdG9yc19maWxlID0gdGVtcGZpbGUuTmFtZWRUZW1wb3JhcnlGaWxlKCkKKyAgICAgICAgd29y
a2VyZ2xvYmFsc2NvcGVfY29uc3RydWN0b3JzX2ZpbGUgPSB0ZW1wZmlsZS5OYW1lZFRlbXBvcmFy
eUZpbGUoKQorICAgICAgICBkZWRpY2F0ZWR3b3JrZXJnbG9iYWxzY29wZV9jb25zdHJ1Y3RvcnNf
ZmlsZSA9IHRlbXBmaWxlLk5hbWVkVGVtcG9yYXJ5RmlsZSgpCisgICAgICAgIHNlcnZpY2V3b3Jr
ZXJnbG9iYWxzY29wZV9jb25zdHJ1Y3RvcnNfZmlsZSA9IHRlbXBmaWxlLk5hbWVkVGVtcG9yYXJ5
RmlsZSgpCiAgICAgICAgIGlmIHNlbGYuZ2VuZXJhdGVfc3VwcGxlbWVudGFsX2RlcGVuZGVuY3ko
aW5wdXRfZGlyZWN0b3J5LCBzdXBwbGVtZW50YWxfZGVwZW5kZW5jeV9maWxlLCB3aW5kb3dfY29u
c3RydWN0b3JzX2ZpbGUsIHdvcmtlcmdsb2JhbHNjb3BlX2NvbnN0cnVjdG9yc19maWxlLCBkZWRp
Y2F0ZWR3b3JrZXJnbG9iYWxzY29wZV9jb25zdHJ1Y3RvcnNfZmlsZSwgc2VydmljZXdvcmtlcmds
b2JhbHNjb3BlX2NvbnN0cnVjdG9yc19maWxlKToKICAgICAgICAgICAgIHByaW50KCdGYWlsZWQg
dG8gZ2VuZXJhdGUgYSBzdXBwbGVtZW50YWwgZGVwZW5kZW5jeSBmaWxlLicpCi0gICAgICAgICAg
ICBvcy5yZW1vdmUoc3VwcGxlbWVudGFsX2RlcGVuZGVuY3lfZmlsZSkKLSAgICAgICAgICAgIG9z
LnJlbW92ZSh3aW5kb3dfY29uc3RydWN0b3JzX2ZpbGUpCi0gICAgICAgICAgICBvcy5yZW1vdmUo
d29ya2VyZ2xvYmFsc2NvcGVfY29uc3RydWN0b3JzX2ZpbGUpCi0gICAgICAgICAgICBvcy5yZW1v
dmUoZGVkaWNhdGVkd29ya2VyZ2xvYmFsc2NvcGVfY29uc3RydWN0b3JzX2ZpbGUpCi0gICAgICAg
ICAgICBvcy5yZW1vdmUoc2VydmljZXdvcmtlcmdsb2JhbHNjb3BlX2NvbnN0cnVjdG9yc19maWxl
KQogICAgICAgICAgICAgcmV0dXJuIC0xCiAKICAgICAgICAgZm9yIGdlbmVyYXRvciBpbiBzZWxm
LmdlbmVyYXRvcnM6CkBAIC0xOTYsMTIgKzE5MSw2IEBAIGNsYXNzIEJpbmRpbmdzVGVzdHM6CiAg
ICAgICAgICAgICBpZiBub3Qgc2VsZi5ydW5fdGVzdHMoZ2VuZXJhdG9yLCBpbnB1dF9kaXJlY3Rv
cnksIHJlZmVyZW5jZV9kaXJlY3RvcnksIHN1cHBsZW1lbnRhbF9kZXBlbmRlbmN5X2ZpbGUpOgog
ICAgICAgICAgICAgICAgIGFsbF90ZXN0c19wYXNzZWQgPSBGYWxzZQogCi0gICAgICAgIG9zLnJl
bW92ZShzdXBwbGVtZW50YWxfZGVwZW5kZW5jeV9maWxlKQotICAgICAgICBvcy5yZW1vdmUod2lu
ZG93X2NvbnN0cnVjdG9yc19maWxlKQotICAgICAgICBvcy5yZW1vdmUod29ya2VyZ2xvYmFsc2Nv
cGVfY29uc3RydWN0b3JzX2ZpbGUpCi0gICAgICAgIG9zLnJlbW92ZShkZWRpY2F0ZWR3b3JrZXJn
bG9iYWxzY29wZV9jb25zdHJ1Y3RvcnNfZmlsZSkKLSAgICAgICAgb3MucmVtb3ZlKHNlcnZpY2V3
b3JrZXJnbG9iYWxzY29wZV9jb25zdHJ1Y3RvcnNfZmlsZSkKLQogICAgICAgICBpZiBzZWxmLmpz
b25fZmlsZV9uYW1lOgogICAgICAgICAgICAganNvbl9kYXRhID0gewogICAgICAgICAgICAgICAg
ICdmYWlsdXJlcyc6IHNlbGYuZmFpbHVyZXMsCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>346820</attachid>
            <date>2018-08-08 21:52:43 -0700</date>
            <delta_ts>2018-08-08 22:42:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-188424-20180808215242.patch</filename>
            <type>text/plain</type>
            <size>5471</size>
            <attacher name="Ross Kirsling">ross.kirsling</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM0NzE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTMzZGIxYmY4YzYwYzMz
NzliZTY3ZDcyNzlhNmQ3ZjJkYTNmMGM4Ni4uOGZjMTQwNjEzNDJkYzBiZTRiMDk3ZGEwNzNmN2I4
NDY1NWY5M2RlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE4LTA4LTA4ICBSb3Nz
IEtpcnNsaW5nICA8cm9zcy5raXJzbGluZ0Bzb255LmNvbT4KKworICAgICAgICBydW4tYmluZGlu
Z3MtdGVzdHMgaXMgbm90IFdpbjMyLWNvbXBhdGlibGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4ODQyNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9wcmVwcm9jZXNzb3Iu
cG06CisgICAgICAgIChhcHBseVByZXByb2Nlc3Nvcik6CisgICAgICAgIEVuc3VyZSB0aGF0IHdl
IGZhbGwgYmFjayB0byBjbC5leGUgaWYgQ0MgZW52IHZhciBpcyBub3Qgc2V0IG9uIFdpbmRvd3Mu
CisKIDIwMTgtMDgtMDggIERvbiBPbG1zdGVhZCAgPGRvbi5vbG1zdGVhZEBzb255LmNvbT4KIAog
ICAgICAgICBbQ3VybF0gU3VyZmFjZSBhZGRpdGlvbmFsIE5ldHdvcmtMb2FkTWV0cmljcwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9wcmVwcm9jZXNzb3IucG0g
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3ByZXByb2Nlc3Nvci5wbQppbmRleCBl
ZTY1ZGE0YWZmNDBmOTNlZjdlMDJmY2Q3NWUwYTRmMDE5ZmFjZTU4Li41NDdlOTU2ZjA1YWE5M2Q4
MWE3MDI3MjNlM2Y3YjFkMzlmNzViZjY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3ByZXByb2Nlc3Nvci5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3ByZXByb2Nlc3Nvci5wbQpAQCAtNDUsMTcgKzQ1LDExIEBAIHN1YiBhcHBseVBy
ZXByb2Nlc3NvcgogCiAgICAgbXkgQGFyZ3MgPSAoKTsKICAgICBpZiAoISRwcmVwcm9jZXNzb3Ip
IHsKLSAgICAgICAgcmVxdWlyZSBDb25maWc7Ci0gICAgICAgIGlmICgkRU5We0NDfSkgewotICAg
ICAgICAgICAgJHByZXByb2Nlc3NvciA9ICRFTlZ7Q0N9OwotICAgICAgICB9IGVsc2lmICgteCAi
L3Vzci9iaW4vY2xhbmciKSB7Ci0gICAgICAgICAgICAkcHJlcHJvY2Vzc29yID0gIi91c3IvYmlu
L2NsYW5nIjsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICRwcmVwcm9jZXNzb3IgPSAi
L3Vzci9iaW4vZ2NjIjsKLSAgICAgICAgfQogICAgICAgICBpZiAoJENvbmZpZzo6Q29uZmlneyJv
c25hbWUifSBlcSAiTVNXaW4zMiIpIHsKKyAgICAgICAgICAgICRwcmVwcm9jZXNzb3IgPSAkRU5W
e0NDfSB8fCAiY2wiOwogICAgICAgICAgICAgcHVzaChAYXJncywgcXcoL0VQKSk7CiAgICAgICAg
IH0gZWxzZSB7CisgICAgICAgICAgICAkcHJlcHJvY2Vzc29yID0gJEVOVntDQ30gfHwgKC14ICIv
dXNyL2Jpbi9jbGFuZyIgPyAiL3Vzci9iaW4vY2xhbmciIDogIi91c3IvYmluL2djYyIpOwogICAg
ICAgICAgICAgcHVzaChAYXJncywgcXcoLUUgLVAgLXggYysrKSk7CiAgICAgICAgIH0KICAgICB9
CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMjJj
M2NjNWU2MGY3YTI5OTg0MTVkZGUyM2FkYTllN2IyZTQ0ODQ4MS4uYzI0YmJjMTQyNDEzYThhNzRj
OTBkMTE0MjQ2NGE2ZWI0YjNhYjc2ZCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBi
L1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE4LTA4LTA4ICBSb3NzIEtpcnNs
aW5nICA8cm9zcy5raXJzbGluZ0Bzb255LmNvbT4KKworICAgICAgICBydW4tYmluZGluZ3MtdGVz
dHMgaXMgbm90IFdpbjMyLWNvbXBhdGlibGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE4ODQyNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9iaW5kaW5ncy9tYWluLnB5Ogor
ICAgICAgICAoQmluZGluZ3NUZXN0cy5tYWluKToKKyAgICAgICAgU3RvcCBsZWFraW5nIGZpbGUg
ZGVzY3JpcHRvcnMuCisgICAgICAgIChTZWUgaHR0cHM6Ly93d3cubG9naWxhYi5vcmcvYmxvZ2Vu
dHJ5LzE3ODczIGZvciBkZXRhaWxzLCB0aG91Z2ggdGhlIHNvbHV0aW9uIGhlcmUgaXMgZXZlbiBz
aW1wbGVyLikKKwogMjAxOC0wOC0wOCAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3
ZWJraXQub3JnPgogCiAgICAgICAgIEZpeCBwb3NzaWJsZSBudWxsIGRlcmVmZXJlbmNlIGluIFdl
YkJhY2tGb3J3YXJkTGlzdDo6cmVzdG9yZUZyb21TdGF0ZQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9iaW5kaW5ncy9tYWluLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9i
aW5kaW5ncy9tYWluLnB5CmluZGV4IDM5NDA2ODdkZDI2NThlZWE2MzA4MGUyOGUwNzRlMjY2Y2Qy
NmFkNGMuLmY4MjM2ZGI5MGVhZDNkYzQ3N2I0MWRiOTMxOTAxZDgxZDQ5NTRhNDcgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmluZGluZ3MvbWFpbi5weQorKysgYi9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L2JpbmRpbmdzL21haW4ucHkKQEAgLTE3NiwzMiArMTc2LDIxIEBAIGNs
YXNzIEJpbmRpbmdzVGVzdHM6CiAgICAgICAgIGFsbF90ZXN0c19wYXNzZWQgPSBUcnVlCiAKICAg
ICAgICAgaW5wdXRfZGlyZWN0b3J5ID0gb3MucGF0aC5qb2luKCdXZWJDb3JlJywgJ2JpbmRpbmdz
JywgJ3NjcmlwdHMnLCAndGVzdCcpCi0gICAgICAgIHN1cHBsZW1lbnRhbF9kZXBlbmRlbmN5X2Zp
bGUgPSB0ZW1wZmlsZS5ta3N0ZW1wKClbMV0KLSAgICAgICAgd2luZG93X2NvbnN0cnVjdG9yc19m
aWxlID0gdGVtcGZpbGUubWtzdGVtcCgpWzFdCi0gICAgICAgIHdvcmtlcmdsb2JhbHNjb3BlX2Nv
bnN0cnVjdG9yc19maWxlID0gdGVtcGZpbGUubWtzdGVtcCgpWzFdCi0gICAgICAgIGRlZGljYXRl
ZHdvcmtlcmdsb2JhbHNjb3BlX2NvbnN0cnVjdG9yc19maWxlID0gdGVtcGZpbGUubWtzdGVtcCgp
WzFdCi0gICAgICAgIHNlcnZpY2V3b3JrZXJnbG9iYWxzY29wZV9jb25zdHJ1Y3RvcnNfZmlsZSA9
IHRlbXBmaWxlLm1rc3RlbXAoKVsxXQotICAgICAgICBpZiBzZWxmLmdlbmVyYXRlX3N1cHBsZW1l
bnRhbF9kZXBlbmRlbmN5KGlucHV0X2RpcmVjdG9yeSwgc3VwcGxlbWVudGFsX2RlcGVuZGVuY3lf
ZmlsZSwgd2luZG93X2NvbnN0cnVjdG9yc19maWxlLCB3b3JrZXJnbG9iYWxzY29wZV9jb25zdHJ1
Y3RvcnNfZmlsZSwgZGVkaWNhdGVkd29ya2VyZ2xvYmFsc2NvcGVfY29uc3RydWN0b3JzX2ZpbGUs
IHNlcnZpY2V3b3JrZXJnbG9iYWxzY29wZV9jb25zdHJ1Y3RvcnNfZmlsZSk6CisgICAgICAgIHN1
cHBsZW1lbnRhbF9kZXBlbmRlbmN5X2ZpbGUgPSB0ZW1wZmlsZS5OYW1lZFRlbXBvcmFyeUZpbGUo
KQorICAgICAgICB3aW5kb3dfY29uc3RydWN0b3JzX2ZpbGUgPSB0ZW1wZmlsZS5OYW1lZFRlbXBv
cmFyeUZpbGUoKQorICAgICAgICB3b3JrZXJnbG9iYWxzY29wZV9jb25zdHJ1Y3RvcnNfZmlsZSA9
IHRlbXBmaWxlLk5hbWVkVGVtcG9yYXJ5RmlsZSgpCisgICAgICAgIGRlZGljYXRlZHdvcmtlcmds
b2JhbHNjb3BlX2NvbnN0cnVjdG9yc19maWxlID0gdGVtcGZpbGUuTmFtZWRUZW1wb3JhcnlGaWxl
KCkKKyAgICAgICAgc2VydmljZXdvcmtlcmdsb2JhbHNjb3BlX2NvbnN0cnVjdG9yc19maWxlID0g
dGVtcGZpbGUuTmFtZWRUZW1wb3JhcnlGaWxlKCkKKyAgICAgICAgaWYgc2VsZi5nZW5lcmF0ZV9z
dXBwbGVtZW50YWxfZGVwZW5kZW5jeShpbnB1dF9kaXJlY3RvcnksIHN1cHBsZW1lbnRhbF9kZXBl
bmRlbmN5X2ZpbGUubmFtZSwgd2luZG93X2NvbnN0cnVjdG9yc19maWxlLm5hbWUsIHdvcmtlcmds
b2JhbHNjb3BlX2NvbnN0cnVjdG9yc19maWxlLm5hbWUsIGRlZGljYXRlZHdvcmtlcmdsb2JhbHNj
b3BlX2NvbnN0cnVjdG9yc19maWxlLm5hbWUsIHNlcnZpY2V3b3JrZXJnbG9iYWxzY29wZV9jb25z
dHJ1Y3RvcnNfZmlsZS5uYW1lKToKICAgICAgICAgICAgIHByaW50KCdGYWlsZWQgdG8gZ2VuZXJh
dGUgYSBzdXBwbGVtZW50YWwgZGVwZW5kZW5jeSBmaWxlLicpCi0gICAgICAgICAgICBvcy5yZW1v
dmUoc3VwcGxlbWVudGFsX2RlcGVuZGVuY3lfZmlsZSkKLSAgICAgICAgICAgIG9zLnJlbW92ZSh3
aW5kb3dfY29uc3RydWN0b3JzX2ZpbGUpCi0gICAgICAgICAgICBvcy5yZW1vdmUod29ya2VyZ2xv
YmFsc2NvcGVfY29uc3RydWN0b3JzX2ZpbGUpCi0gICAgICAgICAgICBvcy5yZW1vdmUoZGVkaWNh
dGVkd29ya2VyZ2xvYmFsc2NvcGVfY29uc3RydWN0b3JzX2ZpbGUpCi0gICAgICAgICAgICBvcy5y
ZW1vdmUoc2VydmljZXdvcmtlcmdsb2JhbHNjb3BlX2NvbnN0cnVjdG9yc19maWxlKQogICAgICAg
ICAgICAgcmV0dXJuIC0xCiAKICAgICAgICAgZm9yIGdlbmVyYXRvciBpbiBzZWxmLmdlbmVyYXRv
cnM6CiAgICAgICAgICAgICBpbnB1dF9kaXJlY3RvcnkgPSBvcy5wYXRoLmpvaW4oJ1dlYkNvcmUn
LCAnYmluZGluZ3MnLCAnc2NyaXB0cycsICd0ZXN0JykKICAgICAgICAgICAgIHJlZmVyZW5jZV9k
aXJlY3RvcnkgPSBvcy5wYXRoLmpvaW4oJ1dlYkNvcmUnLCAnYmluZGluZ3MnLCAnc2NyaXB0cycs
ICd0ZXN0JywgZ2VuZXJhdG9yKQotICAgICAgICAgICAgaWYgbm90IHNlbGYucnVuX3Rlc3RzKGdl
bmVyYXRvciwgaW5wdXRfZGlyZWN0b3J5LCByZWZlcmVuY2VfZGlyZWN0b3J5LCBzdXBwbGVtZW50
YWxfZGVwZW5kZW5jeV9maWxlKToKKyAgICAgICAgICAgIGlmIG5vdCBzZWxmLnJ1bl90ZXN0cyhn
ZW5lcmF0b3IsIGlucHV0X2RpcmVjdG9yeSwgcmVmZXJlbmNlX2RpcmVjdG9yeSwgc3VwcGxlbWVu
dGFsX2RlcGVuZGVuY3lfZmlsZS5uYW1lKToKICAgICAgICAgICAgICAgICBhbGxfdGVzdHNfcGFz
c2VkID0gRmFsc2UKIAotICAgICAgICBvcy5yZW1vdmUoc3VwcGxlbWVudGFsX2RlcGVuZGVuY3lf
ZmlsZSkKLSAgICAgICAgb3MucmVtb3ZlKHdpbmRvd19jb25zdHJ1Y3RvcnNfZmlsZSkKLSAgICAg
ICAgb3MucmVtb3ZlKHdvcmtlcmdsb2JhbHNjb3BlX2NvbnN0cnVjdG9yc19maWxlKQotICAgICAg
ICBvcy5yZW1vdmUoZGVkaWNhdGVkd29ya2VyZ2xvYmFsc2NvcGVfY29uc3RydWN0b3JzX2ZpbGUp
Ci0gICAgICAgIG9zLnJlbW92ZShzZXJ2aWNld29ya2VyZ2xvYmFsc2NvcGVfY29uc3RydWN0b3Jz
X2ZpbGUpCi0KICAgICAgICAgaWYgc2VsZi5qc29uX2ZpbGVfbmFtZToKICAgICAgICAgICAgIGpz
b25fZGF0YSA9IHsKICAgICAgICAgICAgICAgICAnZmFpbHVyZXMnOiBzZWxmLmZhaWx1cmVzLAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>