<?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>83230</bug_id>
          
          <creation_ts>2012-04-04 15:55:22 -0700</creation_ts>
          <short_desc>nrwt is failing to upload test results on the chromium-mac-leopard bots</short_desc>
          <delta_ts>2012-04-09 16:49:30 -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>New Bugs</component>
          <version>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dirk Pranke">dpranke</reporter>
          <assigned_to name="Dirk Pranke">dpranke</assigned_to>
          <cc>abarth</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>ojan</cc>
    
    <cc>tony</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>596047</commentid>
    <comment_count>0</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-04-04 15:55:22 -0700</bug_when>
    <thetext>nrwt is failing to upload test results on the chromium-mac-leopard bots</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596051</commentid>
    <comment_count>1</comment_count>
      <attachid>135706</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-04-04 15:55:51 -0700</bug_when>
    <thetext>Created attachment 135706
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596053</commentid>
    <comment_count>2</comment_count>
      <attachid>135706</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-04-04 15:59:38 -0700</bug_when>
    <thetext>Comment on attachment 135706
Patch

Thanks for digging into this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596055</commentid>
    <comment_count>3</comment_count>
      <attachid>135706</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-04-04 16:01:41 -0700</bug_when>
    <thetext>Comment on attachment 135706
Patch

Clearing flags on attachment: 135706

Committed r113256: &lt;http://trac.webkit.org/changeset/113256&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596056</commentid>
    <comment_count>4</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-04-04 16:01:50 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596170</commentid>
    <comment_count>5</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-04-04 18:10:38 -0700</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596171</commentid>
    <comment_count>6</comment_count>
      <attachid>135735</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-04-04 18:10:41 -0700</bug_when>
    <thetext>Created attachment 135735
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596177</commentid>
    <comment_count>7</comment_count>
      <attachid>135735</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-04-04 18:13:27 -0700</bug_when>
    <thetext>Comment on attachment 135735
Patch

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

&gt; Tools/Scripts/webkitpy/common/net/file_uploader.py:119
&gt; +            if not self._debug:

This should presumably have a FIXME to get rid of this once we figure out what&apos;s going wrong.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596183</commentid>
    <comment_count>8</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-04-04 18:17:24 -0700</bug_when>
    <thetext>Committed r113271: &lt;http://trac.webkit.org/changeset/113271&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596185</commentid>
    <comment_count>9</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-04-04 18:18:22 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (From update of attachment 135735 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=135735&amp;action=review
&gt; 
&gt; &gt; Tools/Scripts/webkitpy/common/net/file_uploader.py:119
&gt; &gt; +            if not self._debug:
&gt; 
&gt; This should presumably have a FIXME to get rid of this once we figure out what&apos;s going wrong.

True. Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596257</commentid>
    <comment_count>10</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-04-04 20:21:33 -0700</bug_when>
    <thetext>Okay, with the latest set of changes (incl. the typo fix in r113277 I *think* I&apos;ve fixed the issues, and we&apos;ve uploaded at least one run from the 10.5 Release bot. Will watch further to see what happens, and then do more diagnostics and clean up the patches tomorrow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596960</commentid>
    <comment_count>11</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-04-05 15:17:26 -0700</bug_when>
    <thetext>The root problem appears to be the socket.setdefaulttimeout() call. From threads on the web (e.g., http://code.activestate.com/lists/python-list/328319/ ) it looks like this either doesn&apos;t work well with urllib, or with multiprocessing, or both. However, in 2.6 urllib2.open() grew a timeout parameter, so we should be able to just use that instead ... final patch coming momentarily.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596986</commentid>
    <comment_count>12</comment_count>
      <attachid>135925</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-04-05 16:04:58 -0700</bug_when>
    <thetext>Created attachment 135925
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>597001</commentid>
    <comment_count>13</comment_count>
      <attachid>135925</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-04-05 16:25:29 -0700</bug_when>
    <thetext>Comment on attachment 135925
Patch

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

&gt; Tools/Scripts/webkitpy/common/net/file_uploader.py:111
&gt; +            return urllib2.urlopen(request, timeout=(self._deadline - now))

I don&apos;t get this. Why aren&apos;t we just setting timeout=self._timeout_seconds?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>597013</commentid>
    <comment_count>14</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-04-05 16:36:57 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; (From update of attachment 135925 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=135925&amp;action=review
&gt; 
&gt; &gt; Tools/Scripts/webkitpy/common/net/file_uploader.py:111
&gt; &gt; +            return urllib2.urlopen(request, timeout=(self._deadline - now))
&gt; 
&gt; I don&apos;t get this. Why aren&apos;t we just setting timeout=self._timeout_seconds?

Because we might retry the transaction and should (in theory) use an increasingly shorter timeout on the retries.

Then again, I&apos;m not convinced that we really need to retry the transaction at all ...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>597017</commentid>
    <comment_count>15</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-04-05 16:39:39 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; (In reply to comment #13)
&gt; &gt; (From update of attachment 135925 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=135925&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Tools/Scripts/webkitpy/common/net/file_uploader.py:111
&gt; &gt; &gt; +            return urllib2.urlopen(request, timeout=(self._deadline - now))
&gt; &gt; 
&gt; &gt; I don&apos;t get this. Why aren&apos;t we just setting timeout=self._timeout_seconds?
&gt; 
&gt; Because we might retry the transaction and should (in theory) use an increasingly shorter timeout on the retries.

This is the part that doesn&apos;t make sense to me. Why would we want to use a shorter timeout?

&gt; Then again, I&apos;m not convinced that we really need to retry the transaction at all ...

I agree actually. We certainly don&apos;t need to retry 3 times. 1 retry is more than enough.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>597021</commentid>
    <comment_count>16</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-04-05 16:42:25 -0700</bug_when>
    <thetext>(In reply to comment #15)
&gt; 
&gt; This is the part that doesn&apos;t make sense to me. Why would we want to use a shorter timeout?
&gt; 

Because otherwise you might exceed the the original deadline. If you want to wait for no longer than 120 seconds, then waiting for 120 seconds, failing after 10, retrying, and waiting for 120 again could exceed the original deadline.

I don&apos;t really care about any of this, though; this is all weird-error-case land, and we could certainly either pass 120 hear, or rip out networktransaction completely, or do something else ...

This code is also only used by json_results_generator and perftestsrunner (presumably also to upload something to appengine).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>597036</commentid>
    <comment_count>17</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-04-05 16:56:14 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; (In reply to comment #15)
&gt; &gt; 
&gt; &gt; This is the part that doesn&apos;t make sense to me. Why would we want to use a shorter timeout?
&gt; &gt; 
&gt; 
&gt; Because otherwise you might exceed the the original deadline. If you want to wait for no longer than 120 seconds, then waiting for 120 seconds, failing after 10, retrying, and waiting for 120 again could exceed the original deadline.
&gt; 
&gt; I don&apos;t really care about any of this, though; this is all weird-error-case land, and we could certainly either pass 120 hear, or rip out networktransaction completely, or do something else ...
&gt; 
&gt; This code is also only used by json_results_generator and perftestsrunner (presumably also to upload something to appengine).

I see. I guess that&apos;s fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>597037</commentid>
    <comment_count>18</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-04-05 16:57:31 -0700</bug_when>
    <thetext>Also, I&apos;m *so* happy this is finally resolved.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>597094</commentid>
    <comment_count>19</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-04-05 18:14:16 -0700</bug_when>
    <thetext>Committed r113399: &lt;http://trac.webkit.org/changeset/113399&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>598584</commentid>
    <comment_count>20</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-04-09 13:46:21 -0700</bug_when>
    <thetext>Re-opening, it looks like the last change doesn&apos;t actually work on 10.5 :(.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>598594</commentid>
    <comment_count>21</comment_count>
      <attachid>136303</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-04-09 13:55:53 -0700</bug_when>
    <thetext>Created attachment 136303
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>598605</commentid>
    <comment_count>22</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-04-09 14:09:30 -0700</bug_when>
    <thetext>Another fix landed in http://trac.webkit.org/changeset/113617 ; let&apos;s see how this one goes ...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>598721</commentid>
    <comment_count>23</comment_count>
      <attachid>136330</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-04-09 16:15:19 -0700</bug_when>
    <thetext>Created attachment 136330
add tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>598741</commentid>
    <comment_count>24</comment_count>
      <attachid>136330</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-04-09 16:37:16 -0700</bug_when>
    <thetext>Comment on attachment 136330
add tests

I think you meant to upload this to a different bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>598758</commentid>
    <comment_count>25</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-04-09 16:49:30 -0700</bug_when>
    <thetext>(In reply to comment #24)
&gt; (From update of attachment 136330 [details])
&gt; I think you meant to upload this to a different bug.

You&apos;re right, stupid confused changelogs ...</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>135706</attachid>
            <date>2012-04-04 15:55:51 -0700</date>
            <delta_ts>2012-04-04 18:10:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-83230-20120404155550.patch</filename>
            <type>text/plain</type>
            <size>4415</size>
            <attacher name="Dirk Pranke">dpranke</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEzMjIxCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNTQwMzYwOWI0YmUwMTJkZTQ2Yjc2MGY5ZDQ0Mjk2NGNk
OGIzMzFlMS4uNTk5ZDU0YjM1ODg0ZTY2NTZiZDAwZDM5ZGI1MjQ2Y2NhNGVhZmE0ZSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5
IEBACisyMDEyLTA0LTA0ICBEaXJrIFByYW5rZSAgPGRwcmFua2VAY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIG5yd3QgaXMgZmFpbGluZyB0byB1cGxvYWQgdGVzdCByZXN1bHRzIG9uIHRoZSBjaHJv
bWl1bS1tYWMtbGVvcGFyZCBib3RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD04MzIzMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21tb24vbmV0L2ZpbGVfdXBsb2FkZXIu
cHk6CisgICAgICAgIChGaWxlVXBsb2FkZXIuX19pbml0X18pOgorICAgICAgICAoRmlsZVVwbG9h
ZGVyLl91cGxvYWRfZGF0YS5jYWxsYmFjayk6CisgICAgICAgIChGaWxlVXBsb2FkZXIpOgorICAg
ICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL21hbmFnZXIu
cHk6CisgICAgICAgIChNYW5hZ2VyLl91cGxvYWRfanNvbl9maWxlcyk6CisgICAgICAgICogU2Ny
aXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbGF5b3V0X3BhY2thZ2UvanNvbl9yZXN1bHRzX2dl
bmVyYXRvci5weToKKyAgICAgICAgKEpTT05SZXN1bHRzR2VuZXJhdG9yQmFzZS51cGxvYWRfanNv
bl9maWxlcyk6CisKIDIwMTItMDQtMDQgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdlYmtp
dC5vcmc+CiAKICAgICAgICAgW0VGTF1bRFJUXSBDb3JyZWN0IDx3dGYvKi5oPiBpbmNsdWRlIHBh
dGhzLgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vbmV0L2ZpbGVf
dXBsb2FkZXIucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvZmlsZV91cGxv
YWRlci5weQppbmRleCAzMzkwNDVlNmE5NDFmZDkxNjk4MTllZjllNDk5ZDlmYzUwZTI4ZDc1Li5i
ODU4N2ViYTEwNmE1OWE0MDYxNmM2NjllMTVmYmE3NDU4MmQ3YTM1IDEwMDY0NAotLS0gYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvZmlsZV91cGxvYWRlci5weQorKysgYi9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvZmlsZV91cGxvYWRlci5weQpAQCAtODIsOSAr
ODIsMTAgQEAgZGVmIF9lbmNvZGVfbXVsdGlwYXJ0X2Zvcm1fZGF0YShmaWVsZHMsIGZpbGVzKToK
IAogCiBjbGFzcyBGaWxlVXBsb2FkZXIob2JqZWN0KToKLSAgICBkZWYgX19pbml0X18oc2VsZiwg
dXJsLCB0aW1lb3V0X3NlY29uZHMpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCB1cmwsIHRpbWVv
dXRfc2Vjb25kcywgZGVidWc9RmFsc2UpOgogICAgICAgICBzZWxmLl91cmwgPSB1cmwKICAgICAg
ICAgc2VsZi5fdGltZW91dF9zZWNvbmRzID0gdGltZW91dF9zZWNvbmRzCisgICAgICAgIHNlbGYu
X2RlYnVnID0gZGVidWcKIAogICAgIGRlZiB1cGxvYWRfc2luZ2xlX3RleHRfZmlsZShzZWxmLCBm
aWxlc3lzdGVtLCBjb250ZW50X3R5cGUsIGZpbGVuYW1lKToKICAgICAgICAgcmV0dXJuIHNlbGYu
X3VwbG9hZF9kYXRhKGNvbnRlbnRfdHlwZSwgZmlsZXN5c3RlbS5yZWFkX3RleHRfZmlsZShmaWxl
bmFtZSkpCkBAIC0xMDIsNiArMTAzLDggQEAgY2xhc3MgRmlsZVVwbG9hZGVyKG9iamVjdCk6CiAK
ICAgICBkZWYgX3VwbG9hZF9kYXRhKHNlbGYsIGNvbnRlbnRfdHlwZSwgZGF0YSk6CiAgICAgICAg
IGRlZiBjYWxsYmFjaygpOgorICAgICAgICAgICAgaWYgc2VsZi5fZGVidWc6CisgICAgICAgICAg
ICAgICAgX2xvZy5kZWJ1ZygidXBsb2FkaW5nICVkIGJ5dGVzIHRvICclcycsIGNvbnRlbnQtdHlw
ZSAnJXMnIiAlIGxlbihkYXRhKSwgc2VsZi5fdXJsLCBjb250ZW50X3R5cGUpCiAgICAgICAgICAg
ICByZXF1ZXN0ID0gdXJsbGliMi5SZXF1ZXN0KHNlbGYuX3VybCwgZGF0YSwgeyJDb250ZW50LVR5
cGUiOiBjb250ZW50X3R5cGV9KQogICAgICAgICAgICAgcmV0dXJuIHVybGxpYjIudXJsb3Blbihy
ZXF1ZXN0KQogCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0
cy9jb250cm9sbGVycy9tYW5hZ2VyLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRf
dGVzdHMvY29udHJvbGxlcnMvbWFuYWdlci5weQppbmRleCAyYTBjNmQzMzhlNzUyMTA5MDlhMTYz
MmMzNGQwMjZmNGIyMzlkZDc5Li41NmQ0MjgzNmNlY2ZjNzBhZmY5NWViYTdhMzQ5YjY2Y2MyMDdm
NjdlIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250
cm9sbGVycy9tYW5hZ2VyLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rl
c3RzL2NvbnRyb2xsZXJzL21hbmFnZXIucHkKQEAgLTExMDUsOCArMTEwNSwxMSBAQCBjbGFzcyBN
YW5hZ2VyKG9iamVjdCk6CiAKICAgICAgICAgIyBSZW1vdmUgdGhlc2UgZmlsZXMgZnJvbSB0aGUg
cmVzdWx0cyBkaXJlY3Rvcnkgc28gdGhleSBkb24ndCB0YWtlIHVwIHRvbyBtdWNoIHNwYWNlIG9u
IHRoZSBidWlsZGJvdC4KICAgICAgICAgIyBUaGUgdG9vbHMgdXNlIHRoZSB2ZXJzaW9uIHdlIHVw
bG9hZGVkIHRvIHRoZSByZXN1bHRzIHNlcnZlciBhbnl3YXkuCi0gICAgICAgIHNlbGYuX2ZpbGVz
eXN0ZW0ucmVtb3ZlKHRpbWVzX2pzb25fcGF0aCkKLSAgICAgICAgc2VsZi5fZmlsZXN5c3RlbS5y
ZW1vdmUoaW5jcmVtZW50YWxfcmVzdWx0c19wYXRoKQorCisgICAgICAgICMgRklYTUU6IFJlbW92
ZSBhZnRlciBkb25lIGRlYnVnZ2luZyBwcm9ibGVtcyB3LyB1cGxvYWRzIG9uIGxlb3BhcmQuCisg
ICAgICAgIGlmIHNlbGYuX3BvcnQubmFtZSgpICE9ICdjaHJvbWl1bS1tYWMtbGVvcGFyZCc6Cisg
ICAgICAgICAgICBzZWxmLl9maWxlc3lzdGVtLnJlbW92ZSh0aW1lc19qc29uX3BhdGgpCisgICAg
ICAgICAgICBzZWxmLl9maWxlc3lzdGVtLnJlbW92ZShpbmNyZW1lbnRhbF9yZXN1bHRzX3BhdGgp
CiAKICAgICBkZWYgcHJpbnRfY29uZmlnKHNlbGYpOgogICAgICAgICAiIiJQcmludHMgdGhlIGNv
bmZpZ3VyYXRpb24gZm9yIHRoZSB0ZXN0IHJ1bi4iIiIKZGlmZiAtLWdpdCBhL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2xheW91dF9wYWNrYWdlL2pzb25fcmVzdWx0c19nZW5l
cmF0b3IucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9sYXlvdXRfcGFj
a2FnZS9qc29uX3Jlc3VsdHNfZ2VuZXJhdG9yLnB5CmluZGV4IDRjNDg1OGIzYjU3MGQ1NWU5ZjQ4
ZTI1YzM1ODkwNzdhOWU0YmExYWIuLjFjMmIwZTJiZmY4NWI0NTk3Y2UyMjI2MWUyYjc4NDM5MGM3
ZmM1ODQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2xh
eW91dF9wYWNrYWdlL2pzb25fcmVzdWx0c19nZW5lcmF0b3IucHkKKysrIGIvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbGF5b3V0X3BhY2thZ2UvanNvbl9yZXN1bHRzX2dlbmVy
YXRvci5weQpAQCAtMzE3LDkgKzMxNywxMCBAQCBjbGFzcyBKU09OUmVzdWx0c0dlbmVyYXRvckJh
c2Uob2JqZWN0KToKICAgICAgICAgdXJsID0gImh0dHA6Ly8lcy90ZXN0ZmlsZS91cGxvYWQiICUg
c2VsZi5fdGVzdF9yZXN1bHRzX3NlcnZlcgogICAgICAgICAjIFNldCB1cGxvYWRpbmcgdGltZW91
dCBpbiBjYXNlIGFwcGVuZ2luZSBzZXJ2ZXIgaXMgaGF2aW5nIHByb2JsZW1zLgogICAgICAgICAj
IDEyMCBzZWNvbmRzIGFyZSBtb3JlIHRoYW4gZW5vdWdoIHRvIHVwbG9hZCB0ZXN0IHJlc3VsdHMu
Ci0gICAgICAgIHVwbG9hZGVyID0gRmlsZVVwbG9hZGVyKHVybCwgMTIwKQorICAgICAgICB1cGxv
YWRlciA9IEZpbGVVcGxvYWRlcih1cmwsIDEyMCwgZGVidWc9VHJ1ZSkKICAgICAgICAgdHJ5Ogot
ICAgICAgICAgICAgdXBsb2FkZXIudXBsb2FkX2FzX211bHRpcGFydF9mb3JtX2RhdGEoc2VsZi5f
ZmlsZXN5c3RlbSwgZmlsZXMsIGF0dHJzKQorICAgICAgICAgICAgcmVzcG9uc2UgPSB1cGxvYWRl
ci51cGxvYWRfYXNfbXVsdGlwYXJ0X2Zvcm1fZGF0YShzZWxmLl9maWxlc3lzdGVtLCBmaWxlcywg
YXR0cnMpCisgICAgICAgICAgICBfbG9nLmRlYnVnKCJVcGxvYWQgcmV0dXJuZWQgJWQ6ICclcyci
ICUgKHJlc3BvbnNlLmNvZGUsIHJlc3BvbnNlLnJlYWQoKSkpCiAgICAgICAgIGV4Y2VwdCBFeGNl
cHRpb24sIGVycjoKICAgICAgICAgICAgIF9sb2cuZXJyb3IoIlVwbG9hZCBmYWlsZWQ6ICVzIiAl
IGVycikKICAgICAgICAgICAgIHJldHVybgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>135735</attachid>
            <date>2012-04-04 18:10:41 -0700</date>
            <delta_ts>2012-04-05 16:04:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-83230-20120404181040.patch</filename>
            <type>text/plain</type>
            <size>5541</size>
            <attacher name="Dirk Pranke">dpranke</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEzMjU2CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZGM3NDRkZjEwYTJhMmU3OTcxODNmMjc4OTQ3ZTRkZDNm
NWVhNmQzNS4uZWM4ZGY1M2NhMTExM2U3MjVkNTQ5YTJhMWUzZmJkYjFmOTM2NmEzMiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMyw2ICszLDIz
IEBACiAgICAgICAgIG5yd3QgaXMgZmFpbGluZyB0byB1cGxvYWQgdGVzdCByZXN1bHRzIG9uIHRo
ZSBjaHJvbWl1bS1tYWMtbGVvcGFyZCBib3RzCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD04MzIzMAogCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIE1vcmUgZGVidWdnaW5nIGluZm8gYW5kIGEgcG9zc2libGUgZml4
IC0gc3RvcCBtZXNzaW5nIHdpdGggdGhlCisgICAgICAgIGRlZmF1bHQgbmV0d29yayB0aW1lb3V0
LCBhbmQgZG9uJ3Qgc3dhbGxvdyBVUkxFcnJvcnMuCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtp
dHB5L2NvbW1vbi9uZXQvZmlsZV91cGxvYWRlci5weToKKyAgICAgICAgKEZpbGVVcGxvYWRlci5f
dXBsb2FkX2RhdGEpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9uZXR3
b3JrdHJhbnNhY3Rpb24ucHk6CisgICAgICAgIChOZXR3b3JrVHJhbnNhY3Rpb24ucnVuKToKKyAg
ICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9sYXlvdXRfcGFja2FnZS9qc29u
X3Jlc3VsdHNfZ2VuZXJhdG9yLnB5OgorICAgICAgICAoSlNPTlJlc3VsdHNHZW5lcmF0b3JCYXNl
LnVwbG9hZF9qc29uX2ZpbGVzKToKKworMjAxMi0wNC0wNCAgRGlyayBQcmFua2UgIDxkcHJhbmtl
QGNocm9taXVtLm9yZz4KKworICAgICAgICBucnd0IGlzIGZhaWxpbmcgdG8gdXBsb2FkIHRlc3Qg
cmVzdWx0cyBvbiB0aGUgY2hyb21pdW0tbWFjLWxlb3BhcmQgYm90cworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODMyMzAKKwogICAgICAgICBSZXZpZXdl
ZCBieSBPamFuIFZhZmFpLgogCiAgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21tb24vbmV0
L2ZpbGVfdXBsb2FkZXIucHk6CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2Nv
bW1vbi9uZXQvZmlsZV91cGxvYWRlci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9u
L25ldC9maWxlX3VwbG9hZGVyLnB5CmluZGV4IGI4NTg3ZWJhMTA2YTU5YTQwNjE2YzY2OWUxNWZi
YTc0NTgyZDdhMzUuLjY1NDhhYTBmMWJmMmQyZmIxYTBmZWJjNjJjMDg2NWMyNjMwYjJmOTAgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9maWxlX3VwbG9hZGVy
LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9maWxlX3VwbG9hZGVy
LnB5CkBAIC0yOCw2ICsyOCw3IEBACiAjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAKIGltcG9ydCBjb2RlY3MKK2lt
cG9ydCBsb2dnaW5nCiBpbXBvcnQgbWltZXR5cGVzCiBpbXBvcnQgc29ja2V0CiBpbXBvcnQgdXJs
bGliMgpAQCAtMzUsNiArMzYsOSBAQCBpbXBvcnQgdXJsbGliMgogZnJvbSB3ZWJraXRweS5jb21t
b24ubmV0Lm5ldHdvcmt0cmFuc2FjdGlvbiBpbXBvcnQgTmV0d29ya1RyYW5zYWN0aW9uCiAKIAor
X2xvZyA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKF9fbmFtZV9fKQorCisKIGRlZiBnZXRfbWltZV90eXBl
KGZpbGVuYW1lKToKICAgICByZXR1cm4gbWltZXR5cGVzLmd1ZXNzX3R5cGUoZmlsZW5hbWUpWzBd
IG9yICdhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0nCiAKQEAgLTExMiw4ICsxMTYsOSBAQCBjbGFz
cyBGaWxlVXBsb2FkZXIob2JqZWN0KToKICAgICAgICAgcmVzcG9uc2UgPSBOb25lCiAgICAgICAg
IHRyeToKICAgICAgICAgICAgICMgRklYTUU6IFdlIHNob3VsZG4ndCBtdXRhdGUgZ2xvYmFsIHN0
YXRpYyBzdGF0ZS4KLSAgICAgICAgICAgIHNvY2tldC5zZXRkZWZhdWx0dGltZW91dChzZWxmLl90
aW1lb3V0X3NlY29uZHMpCi0gICAgICAgICAgICByZXNwb25zZSA9IE5ldHdvcmtUcmFuc2FjdGlv
bih0aW1lb3V0X3NlY29uZHM9c2VsZi5fdGltZW91dF9zZWNvbmRzKS5ydW4oY2FsbGJhY2spCisg
ICAgICAgICAgICBpZiBub3Qgc2VsZi5fZGVidWc6CisgICAgICAgICAgICAgICAgc29ja2V0LnNl
dGRlZmF1bHR0aW1lb3V0KHNlbGYuX3RpbWVvdXRfc2Vjb25kcykKKyAgICAgICAgICAgIHJldHVy
biBOZXR3b3JrVHJhbnNhY3Rpb24odGltZW91dF9zZWNvbmRzPXNlbGYuX3RpbWVvdXRfc2Vjb25k
cykucnVuKGNhbGxiYWNrKQogICAgICAgICBmaW5hbGx5OgotICAgICAgICAgICAgc29ja2V0LnNl
dGRlZmF1bHR0aW1lb3V0KG9yaWdfdGltZW91dCkKLSAgICAgICAgICAgIHJldHVybiByZXNwb25z
ZQorICAgICAgICAgICAgaWYgbm90IHNlbGYuX2RlYnVnOgorICAgICAgICAgICAgICAgIHNvY2tl
dC5zZXRkZWZhdWx0dGltZW91dChvcmlnX3RpbWVvdXQpCmRpZmYgLS1naXQgYS9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvbmV0d29ya3RyYW5zYWN0aW9uLnB5IGIvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9jb21tb24vbmV0L25ldHdvcmt0cmFuc2FjdGlvbi5weQppbmRleCBjNzc5
ODliYTI5Zjg0Y2E3YTUzMDE0MzQ3ODRhMGE5NWE3MWY5NmFhLi42NTc2YzFkYWU0ZDM1MDQ1MGFj
ZmViYTc0MzdiMGQxNjFmYmI4YjMzIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L2NvbW1vbi9uZXQvbmV0d29ya3RyYW5zYWN0aW9uLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvY29tbW9uL25ldC9uZXR3b3JrdHJhbnNhY3Rpb24ucHkKQEAgLTEsOSArMSw5IEBACiAj
IENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotIyAK
KyMKICMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CiAjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKICMgbWV0OgotIyAKKyMKICMgICAgICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKICMgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgogIyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlCkBAIC0xMyw3ICsxMyw3IEBACiAjICAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKICMgY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20KICMgdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4KLSMgCisjCiAjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKICMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKICMgTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCkBA
IC01OSw2ICs1OSwxMiBAQCBjbGFzcyBOZXR3b3JrVHJhbnNhY3Rpb24ob2JqZWN0KToKICAgICAg
ICAgICAgICAgICBzZWxmLl9jaGVja19mb3JfdGltZW91dCgpCiAgICAgICAgICAgICAgICAgX2xv
Zy53YXJuKCJSZWNlaXZlZCBIVFRQIHN0YXR1cyAlcyBsb2FkaW5nIFwiJXNcIi4gIFJldHJ5aW5n
IGluICVzIHNlY29uZHMuLi4iICUgKGUuY29kZSwgZS5maWxlbmFtZSwgc2VsZi5fYmFja29mZl9z
ZWNvbmRzKSkKICAgICAgICAgICAgICAgICBzZWxmLl9zbGVlcCgpCisgICAgICAgICAgICBleGNl
cHQgdXJsbGliMi5VUkxFcnJvciwgZToKKyAgICAgICAgICAgICAgICAjIEZJWE1FOiB1cmxsaWIy
IHNlZW1zIHRvIGNvbnZlcnQgc29ja2V0IGVycm9ycyB0byB0aGlzLgorICAgICAgICAgICAgICAg
IHNlbGYuX2NoZWNrX2Zvcl90aW1lb3V0KCkKKyAgICAgICAgICAgICAgICBfbG9nLndhcm4oIlJl
Y2VpdmVkIFVSTEVycm9yICVzLiAgUmV0cnlpbmcgaW4gJXMgc2Vjb25kcy4uLiIgJSAoc3RyKHMp
LCBzZWxmLl9iYWNrb2ZmX3NlY29uZHMpKQorICAgICAgICAgICAgICAgIHNlbGYuX3NsZWVwKCkK
KwogCiAgICAgZGVmIF9jaGVja19mb3JfdGltZW91dChzZWxmKToKICAgICAgICAgaWYgc2VsZi5f
dG90YWxfc2xlZXAgKyBzZWxmLl9iYWNrb2ZmX3NlY29uZHMgPiBzZWxmLl90aW1lb3V0X3NlY29u
ZHM6CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9sYXlv
dXRfcGFja2FnZS9qc29uX3Jlc3VsdHNfZ2VuZXJhdG9yLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9sYXlvdXRfdGVzdHMvbGF5b3V0X3BhY2thZ2UvanNvbl9yZXN1bHRzX2dlbmVyYXRvci5w
eQppbmRleCAxYzJiMGUyYmZmODViNDU5N2NlMjIyNjFlMmI3ODQzOTBjN2ZjNTg0Li4wY2YwNTU0
MDNjODI3YTNkYWIwZWI3NzFiMzYxZjY2MDEyNDZlMjIyIDEwMDY0NAotLS0gYS9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9sYXlvdXRfcGFja2FnZS9qc29uX3Jlc3VsdHNfZ2Vu
ZXJhdG9yLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2xheW91
dF9wYWNrYWdlL2pzb25fcmVzdWx0c19nZW5lcmF0b3IucHkKQEAgLTMyMCw3ICszMjAsMTAgQEAg
Y2xhc3MgSlNPTlJlc3VsdHNHZW5lcmF0b3JCYXNlKG9iamVjdCk6CiAgICAgICAgIHVwbG9hZGVy
ID0gRmlsZVVwbG9hZGVyKHVybCwgMTIwLCBkZWJ1Zz1UcnVlKQogICAgICAgICB0cnk6CiAgICAg
ICAgICAgICByZXNwb25zZSA9IHVwbG9hZGVyLnVwbG9hZF9hc19tdWx0aXBhcnRfZm9ybV9kYXRh
KHNlbGYuX2ZpbGVzeXN0ZW0sIGZpbGVzLCBhdHRycykKLSAgICAgICAgICAgIF9sb2cuZGVidWco
IlVwbG9hZCByZXR1cm5lZCAlZDogJyVzJyIgJSAocmVzcG9uc2UuY29kZSwgcmVzcG9uc2UucmVh
ZCgpKSkKKyAgICAgICAgICAgIGlmIHJlc3BvbnNlOgorICAgICAgICAgICAgICAgIF9sb2cuZGVi
dWcoIlVwbG9hZCByZXR1cm5lZCAlZDogJyVzJyIgJSAocmVzcG9uc2UuY29kZSwgcmVzcG9uc2Uu
cmVhZCgpKSkKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgX2xvZy5kZWJ1Zygi
VXBsb2FkIHJldHVybmVkIE5vbmUiKQogICAgICAgICBleGNlcHQgRXhjZXB0aW9uLCBlcnI6CiAg
ICAgICAgICAgICBfbG9nLmVycm9yKCJVcGxvYWQgZmFpbGVkOiAlcyIgJSBlcnIpCiAgICAgICAg
ICAgICByZXR1cm4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>135925</attachid>
            <date>2012-04-05 16:04:58 -0700</date>
            <delta_ts>2012-04-09 13:55:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-83230-20120405160457.patch</filename>
            <type>text/plain</type>
            <size>6776</size>
            <attacher name="Dirk Pranke">dpranke</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEzMzgyCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggY2EwMWVlYjZhMTdkNjI3MGQwNWI5NjdkMmJjNGNmZjQ2
NTczNTc5Zi4uOTg0OTVlZDYwMjc5OTI2ZDlkMjUyNGRjZmE4MDE2YTZhZWJkZWQxNSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2
IEBACisyMDEyLTA0LTA1ICBEaXJrIFByYW5rZSAgPGRwcmFua2VAY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIG5yd3QgaXMgZmFpbGluZyB0byB1cGxvYWQgdGVzdCByZXN1bHRzIG9uIHRoZSBjaHJv
bWl1bS1tYWMtbGVvcGFyZCBib3RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD04MzIzMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFRoaXMgc2hvdWxkIGZpeCB0aGluZ3MgcHJvcGVybHk7IEZpbGVVcGxvYWRl
cigpIHdhcyBzZXR0aW5nIHRoZQorICAgICAgICBzb2NrZXQgZGVmYXVsdCB0aW1lb3V0IHZhbHVl
LCBhbmQgYXBwYXJlbnRseSB0aGF0IGRvZXNuJ3Qgd29yaworICAgICAgICBwcm9wZXJseSB3aXRo
IHVybGxpYi4gQWxzbywgdGhlIGNsYXNzIGhhZCBhIGJhZCB0cnkvZmluYWxseQorICAgICAgICBi
bG9jayB0aGF0IHdhcyBjYXVzaW5nIHRoZSBleGNlcHRpb25zIHRvIGJlIHN3YWxsb3dlZCA6KC4K
KworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9maWxlX3VwbG9hZGVyLnB5
OgorICAgICAgICAoRmlsZVVwbG9hZGVyLl9faW5pdF9fKToKKyAgICAgICAgKEZpbGVVcGxvYWRl
ci5fdXBsb2FkX2RhdGEuY2FsbGJhY2spOgorICAgICAgICAoRmlsZVVwbG9hZGVyKToKKyAgICAg
ICAgKEZpbGVVcGxvYWRlci5fdXBsb2FkX2RhdGEpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0
cHkvY29tbW9uL25ldC9uZXR3b3JrdHJhbnNhY3Rpb24ucHk6CisgICAgICAgIChOZXR3b3JrVGlt
ZW91dC5fX3N0cl9fKToKKyAgICAgICAgKE5ldHdvcmtUcmFuc2FjdGlvbi5ydW4pOgorICAgICAg
ICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2xheW91dF9wYWNrYWdlL2pzb25fcmVz
dWx0c19nZW5lcmF0b3IucHk6CisgICAgICAgIChKU09OUmVzdWx0c0dlbmVyYXRvckJhc2UudXBs
b2FkX2pzb25fZmlsZXMpOgorCiAyMDEyLTA0LTA1ICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9n
YUB3ZWJraXQub3JnPgogCiAgICAgICAgIFtRdF0gQ29ycmVjdCA8d3RmLyouaD4gaW5jbHVkZSBw
YXRocy4KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9maWxl
X3VwbG9hZGVyLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vbmV0L2ZpbGVfdXBs
b2FkZXIucHkKaW5kZXggNDg0OGE2MDdhZjdmYjBlM2M5NDI4ZTE0YmUzZWVlNzA5Yjc1YTM2OS4u
Yzc4MzM1NjAwODI1ZTdlMzE5N2M1OTgyMTQ5ZjM0NDBjMjFkNjgxYSAxMDA2NDQKLS0tIGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vbmV0L2ZpbGVfdXBsb2FkZXIucHkKKysrIGIvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vbmV0L2ZpbGVfdXBsb2FkZXIucHkKQEAgLTI4LDE1
ICsyOCwxMSBAQAogIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogCiBpbXBvcnQgY29kZWNzCi1pbXBvcnQgbG9nZ2lu
ZwogaW1wb3J0IG1pbWV0eXBlcwotaW1wb3J0IHNvY2tldAoraW1wb3J0IHRpbWUKIGltcG9ydCB1
cmxsaWIyCiAKLWZyb20gd2Via2l0cHkuY29tbW9uLm5ldC5uZXR3b3JrdHJhbnNhY3Rpb24gaW1w
b3J0IE5ldHdvcmtUcmFuc2FjdGlvbgotCi0KLV9sb2cgPSBsb2dnaW5nLmdldExvZ2dlcihfX25h
bWVfXykKK2Zyb20gd2Via2l0cHkuY29tbW9uLm5ldC5uZXR3b3JrdHJhbnNhY3Rpb24gaW1wb3J0
IE5ldHdvcmtUcmFuc2FjdGlvbiwgTmV0d29ya1RpbWVvdXQKIAogCiBkZWYgZ2V0X21pbWVfdHlw
ZShmaWxlbmFtZSk6CkBAIC04NiwxMCArODIsMTAgQEAgZGVmIF9lbmNvZGVfbXVsdGlwYXJ0X2Zv
cm1fZGF0YShmaWVsZHMsIGZpbGVzKToKIAogCiBjbGFzcyBGaWxlVXBsb2FkZXIob2JqZWN0KToK
LSAgICBkZWYgX19pbml0X18oc2VsZiwgdXJsLCB0aW1lb3V0X3NlY29uZHMsIGRlYnVnPUZhbHNl
KToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgdXJsLCB0aW1lb3V0X3NlY29uZHMpOgogICAgICAg
ICBzZWxmLl91cmwgPSB1cmwKICAgICAgICAgc2VsZi5fdGltZW91dF9zZWNvbmRzID0gdGltZW91
dF9zZWNvbmRzCi0gICAgICAgIHNlbGYuX2RlYnVnID0gZGVidWcKKyAgICAgICAgc2VsZi5fZGVh
ZGxpbmUgPSB0aW1lLnRpbWUoKSArIHNlbGYuX3RpbWVvdXRfc2Vjb25kcwogCiAgICAgZGVmIHVw
bG9hZF9zaW5nbGVfdGV4dF9maWxlKHNlbGYsIGZpbGVzeXN0ZW0sIGNvbnRlbnRfdHlwZSwgZmls
ZW5hbWUpOgogICAgICAgICByZXR1cm4gc2VsZi5fdXBsb2FkX2RhdGEoY29udGVudF90eXBlLCBm
aWxlc3lzdGVtLnJlYWRfdGV4dF9maWxlKGZpbGVuYW1lKSkKQEAgLTEwNywxOSArMTAzLDExIEBA
IGNsYXNzIEZpbGVVcGxvYWRlcihvYmplY3QpOgogCiAgICAgZGVmIF91cGxvYWRfZGF0YShzZWxm
LCBjb250ZW50X3R5cGUsIGRhdGEpOgogICAgICAgICBkZWYgY2FsbGJhY2soKToKLSAgICAgICAg
ICAgIGlmIHNlbGYuX2RlYnVnOgotICAgICAgICAgICAgICAgIF9sb2cuZGVidWcoInVwbG9hZGlu
ZyAlZCBieXRlcyB0byAnJXMnLCBjb250ZW50LXR5cGUgJyVzJyIgJSAobGVuKGRhdGEpLCBzZWxm
Ll91cmwsIGNvbnRlbnRfdHlwZSkpCisgICAgICAgICAgICBub3cgPSB0aW1lLnRpbWUoKQorICAg
ICAgICAgICAgaWYgbm93ID4gc2VsZi5fZGVhZGxpbmU6CisgICAgICAgICAgICAgICAgIyBUaGlz
IHNob3VsZG4ndCBoYXBwZW4sIGJ1dCBqdXN0IHRvIGJlIHNhZmUgLi4uCisgICAgICAgICAgICAg
ICAgcmFpc2UgTmV0d29ya1RpbWVvdXQoKQogICAgICAgICAgICAgcmVxdWVzdCA9IHVybGxpYjIu
UmVxdWVzdChzZWxmLl91cmwsIGRhdGEsIHsiQ29udGVudC1UeXBlIjogY29udGVudF90eXBlfSkK
LSAgICAgICAgICAgIHJldHVybiB1cmxsaWIyLnVybG9wZW4ocmVxdWVzdCkKLQotICAgICAgICBv
cmlnX3RpbWVvdXQgPSBzb2NrZXQuZ2V0ZGVmYXVsdHRpbWVvdXQoKQotICAgICAgICByZXNwb25z
ZSA9IE5vbmUKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgIyBGSVhNRTogV2Ugc2hvdWxkbid0
IG11dGF0ZSBnbG9iYWwgc3RhdGljIHN0YXRlLgotICAgICAgICAgICAgIyBGSVhNRTogY2xlYW4g
dGhpcyB1cCBvbmNlIHdlIHVuZGVyc3RhbmQgd2hhdCdzIGdvaW5nIG9uIG9uIGNocm9taXVtIGxl
b3BhcmQgYm90cy4KLSAgICAgICAgICAgIGlmIG5vdCBzZWxmLl9kZWJ1ZzoKLSAgICAgICAgICAg
ICAgICBzb2NrZXQuc2V0ZGVmYXVsdHRpbWVvdXQoc2VsZi5fdGltZW91dF9zZWNvbmRzKQotICAg
ICAgICAgICAgcmV0dXJuIE5ldHdvcmtUcmFuc2FjdGlvbih0aW1lb3V0X3NlY29uZHM9c2VsZi5f
dGltZW91dF9zZWNvbmRzKS5ydW4oY2FsbGJhY2spCi0gICAgICAgIGZpbmFsbHk6Ci0gICAgICAg
ICAgICBpZiBub3Qgc2VsZi5fZGVidWc6Ci0gICAgICAgICAgICAgICAgc29ja2V0LnNldGRlZmF1
bHR0aW1lb3V0KG9yaWdfdGltZW91dCkKKyAgICAgICAgICAgIHJldHVybiB1cmxsaWIyLnVybG9w
ZW4ocmVxdWVzdCwgdGltZW91dD0oc2VsZi5fZGVhZGxpbmUgLSBub3cpKQorCisgICAgICAgIHJl
dHVybiBOZXR3b3JrVHJhbnNhY3Rpb24odGltZW91dF9zZWNvbmRzPXNlbGYuX3RpbWVvdXRfc2Vj
b25kcykucnVuKGNhbGxiYWNrKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9j
b21tb24vbmV0L25ldHdvcmt0cmFuc2FjdGlvbi5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
Y29tbW9uL25ldC9uZXR3b3JrdHJhbnNhY3Rpb24ucHkKaW5kZXggNjU3NmMxZGFlNGQzNTA0NTBh
Y2ZlYmE3NDM3YjBkMTYxZmJiOGIzMy4uMDNiMTQzMjY3ZTA0YzQxMWE1ZjdlMDQzNzZiOGIxNmY5
OTZjMDQ0ZiAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vbmV0L25l
dHdvcmt0cmFuc2FjdGlvbi5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9u
ZXQvbmV0d29ya3RyYW5zYWN0aW9uLnB5CkBAIC0zNyw3ICszNyw4IEBAIF9sb2cgPSBsb2dnaW5n
LmdldExvZ2dlcihfX25hbWVfXykKIAogCiBjbGFzcyBOZXR3b3JrVGltZW91dChFeGNlcHRpb24p
OgotICAgIHBhc3MKKyAgICBkZWYgX19zdHJfXyhzZWxmKToKKyAgICAgICAgcmV0dXJuICdOZXR3
b3JrVGltZW91dCcKIAogCiBjbGFzcyBOZXR3b3JrVHJhbnNhY3Rpb24ob2JqZWN0KToKQEAgLTU5
LDEyICs2MCw2IEBAIGNsYXNzIE5ldHdvcmtUcmFuc2FjdGlvbihvYmplY3QpOgogICAgICAgICAg
ICAgICAgIHNlbGYuX2NoZWNrX2Zvcl90aW1lb3V0KCkKICAgICAgICAgICAgICAgICBfbG9nLndh
cm4oIlJlY2VpdmVkIEhUVFAgc3RhdHVzICVzIGxvYWRpbmcgXCIlc1wiLiAgUmV0cnlpbmcgaW4g
JXMgc2Vjb25kcy4uLiIgJSAoZS5jb2RlLCBlLmZpbGVuYW1lLCBzZWxmLl9iYWNrb2ZmX3NlY29u
ZHMpKQogICAgICAgICAgICAgICAgIHNlbGYuX3NsZWVwKCkKLSAgICAgICAgICAgIGV4Y2VwdCB1
cmxsaWIyLlVSTEVycm9yLCBlOgotICAgICAgICAgICAgICAgICMgRklYTUU6IHVybGxpYjIgc2Vl
bXMgdG8gY29udmVydCBzb2NrZXQgZXJyb3JzIHRvIHRoaXMuCi0gICAgICAgICAgICAgICAgc2Vs
Zi5fY2hlY2tfZm9yX3RpbWVvdXQoKQotICAgICAgICAgICAgICAgIF9sb2cud2FybigiUmVjZWl2
ZWQgVVJMRXJyb3IgJXMuICBSZXRyeWluZyBpbiAlcyBzZWNvbmRzLi4uIiAlIChzdHIocyksIHNl
bGYuX2JhY2tvZmZfc2Vjb25kcykpCi0gICAgICAgICAgICAgICAgc2VsZi5fc2xlZXAoKQotCiAK
ICAgICBkZWYgX2NoZWNrX2Zvcl90aW1lb3V0KHNlbGYpOgogICAgICAgICBpZiBzZWxmLl90b3Rh
bF9zbGVlcCArIHNlbGYuX2JhY2tvZmZfc2Vjb25kcyA+IHNlbGYuX3RpbWVvdXRfc2Vjb25kczoK
ZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2xheW91dF9w
YWNrYWdlL2pzb25fcmVzdWx0c19nZW5lcmF0b3IucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L2xheW91dF90ZXN0cy9sYXlvdXRfcGFja2FnZS9qc29uX3Jlc3VsdHNfZ2VuZXJhdG9yLnB5Cmlu
ZGV4IDBjZjA1NTQwM2M4MjdhM2RhYjBlYjc3MWIzNjFmNjYwMTI0NmUyMjIuLjY5OTk5ZjllMzIw
NWIyYTQ2NGVkNGM1YjM2MzQ1ZDA2YzM2NjNiYjQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvbGF5b3V0X3Rlc3RzL2xheW91dF9wYWNrYWdlL2pzb25fcmVzdWx0c19nZW5lcmF0
b3IucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbGF5b3V0X3Bh
Y2thZ2UvanNvbl9yZXN1bHRzX2dlbmVyYXRvci5weQpAQCAtMzE3LDE4ICszMTcsMjAgQEAgY2xh
c3MgSlNPTlJlc3VsdHNHZW5lcmF0b3JCYXNlKG9iamVjdCk6CiAgICAgICAgIHVybCA9ICJodHRw
Oi8vJXMvdGVzdGZpbGUvdXBsb2FkIiAlIHNlbGYuX3Rlc3RfcmVzdWx0c19zZXJ2ZXIKICAgICAg
ICAgIyBTZXQgdXBsb2FkaW5nIHRpbWVvdXQgaW4gY2FzZSBhcHBlbmdpbmUgc2VydmVyIGlzIGhh
dmluZyBwcm9ibGVtcy4KICAgICAgICAgIyAxMjAgc2Vjb25kcyBhcmUgbW9yZSB0aGFuIGVub3Vn
aCB0byB1cGxvYWQgdGVzdCByZXN1bHRzLgotICAgICAgICB1cGxvYWRlciA9IEZpbGVVcGxvYWRl
cih1cmwsIDEyMCwgZGVidWc9VHJ1ZSkKKyAgICAgICAgdXBsb2FkZXIgPSBGaWxlVXBsb2FkZXIo
dXJsLCAxMjApCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIHJlc3BvbnNlID0gdXBsb2FkZXIu
dXBsb2FkX2FzX211bHRpcGFydF9mb3JtX2RhdGEoc2VsZi5fZmlsZXN5c3RlbSwgZmlsZXMsIGF0
dHJzKQogICAgICAgICAgICAgaWYgcmVzcG9uc2U6Ci0gICAgICAgICAgICAgICAgX2xvZy5kZWJ1
ZygiVXBsb2FkIHJldHVybmVkICVkOiAnJXMnIiAlIChyZXNwb25zZS5jb2RlLCByZXNwb25zZS5y
ZWFkKCkpKQorICAgICAgICAgICAgICAgIGlmIHJlc3BvbnNlLmNvZGUgPT0gMjAwOgorICAgICAg
ICAgICAgICAgICAgICBfbG9nLmluZm8oIkpTT04gdXBsb2FkZWQuIikKKyAgICAgICAgICAgICAg
ICBlbHNlOgorICAgICAgICAgICAgICAgICAgICBfbG9nLmRlYnVnKCJKU09OIHVwbG9hZCBmYWls
ZWQsICVkOiAnJXMnIiAlIChyZXNwb25zZS5jb2RlLCByZXNwb25zZS5yZWFkKCkpKQogICAgICAg
ICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBfbG9nLmRlYnVnKCJVcGxvYWQgcmV0dXJuZWQg
Tm9uZSIpCisgICAgICAgICAgICAgICAgX2xvZy5lcnJvcigiSlNPTiB1cGxvYWQgZmFpbGVkOyBu
byByZXNwb25zZSByZXR1cm5lZCIpCiAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24sIGVycjoKICAg
ICAgICAgICAgIF9sb2cuZXJyb3IoIlVwbG9hZCBmYWlsZWQ6ICVzIiAlIGVycikKICAgICAgICAg
ICAgIHJldHVybgogCi0gICAgICAgIF9sb2cuaW5mbygiSlNPTiBmaWxlcyB1cGxvYWRlZC4iKQog
CiAgICAgZGVmIF9nZXRfdGVzdF90aW1pbmcoc2VsZiwgdGVzdF9uYW1lKToKICAgICAgICAgIiIi
UmV0dXJucyB0ZXN0IHRpbWluZyBkYXRhIChlbGFwc2VkIHRpbWUpIGluIHNlY29uZAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>136303</attachid>
            <date>2012-04-09 13:55:53 -0700</date>
            <delta_ts>2012-04-09 16:15:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-83230-20120409135551.patch</filename>
            <type>text/plain</type>
            <size>2684</size>
            <attacher name="Dirk Pranke">dpranke</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEzNjEzCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMjkzZmY5MmEwMjk2MWJlZDlhYWI0ZjBhMjI4ZWIyYjRj
NGI0MTczNC4uM2I4YzQ3Y2EyMjlhZjU2N2VmODVlZjg2ZjY3NDkyMDE3MzYwZWIxMSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIy
IEBACisyMDEyLTA0LTA5ICBEaXJrIFByYW5rZSAgPGRwcmFua2VAY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIG5yd3QgaXMgZmFpbGluZyB0byB1cGxvYWQgdGVzdCByZXN1bHRzIG9uIHRoZSBjaHJv
bWl1bS1tYWMtbGVvcGFyZCBib3RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD04MzIzMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEl0IGxvb2tzIGxpa2UgdGhlIGNoYW5nZSBpbiByMTEzMzk5IHRvIHVzZSB0
aGUgcGVyLXJlcXVlc3QKKyAgICAgICAgdGltZW91dCB2YXJpYWJsZSBkaWRuJ3QgYWN0dWFsbHkg
d29yaywgc28gSSBhbSByZW1vdmluZyB0aGUKKyAgICAgICAgdGltZW91dCBjb2RlIGFsdG9nZXRo
ZXIgYW5kIGNvdW50aW5nIG9uIHRoZSBpZGVhIHRoYXQgdXBsb2FkCisgICAgICAgIGp1c3QgaXNu
J3QgbGlrZWx5IHRvIHRha2UgdGhhdCBsb25nIGFuZCB0aGUgdGltZW91dHMgYW5kCisgICAgICAg
IHJldHJhbnNtaXRzIGFyZSBsYXJnZWx5IHVudXNlZCBhbmQgbGFyZ2VseSB1bm5lY2Vzc2FyeS4g
V2UnbGwKKyAgICAgICAgc2VlIGlmIHRoaXMgYnJlYWtzIGFueXdoZXJlIGVsc2UuCisKKyAgICAg
ICAgKiBTY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvZmlsZV91cGxvYWRlci5weToKKyAgICAg
ICAgKEZpbGVVcGxvYWRlci5fX2luaXRfXyk6CisgICAgICAgIChGaWxlVXBsb2FkZXIuX3VwbG9h
ZF9kYXRhLmNhbGxiYWNrKToKKyAgICAgICAgKEZpbGVVcGxvYWRlcik6CisKIDIwMTItMDQtMDkg
IFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQnVpbGQg
Zml4IGZvciBXaW5DRSBhZnRlciByMTEzNTcwLgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9jb21tb24vbmV0L2ZpbGVfdXBsb2FkZXIucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2NvbW1vbi9uZXQvZmlsZV91cGxvYWRlci5weQppbmRleCBmYTgzNDVlYTkzYTc5MmY1ODZl
MzRiZjhmMDQxYjViYzhiYmRjYTMyLi45YjIyMGIwZDY2YWNiZmIyYmEzMWMxYzA1MzM2NDdiN2Qy
Y2E5ZGE4IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvZmls
ZV91cGxvYWRlci5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvZmls
ZV91cGxvYWRlci5weQpAQCAtODQsNyArODQsNiBAQCBjbGFzcyBGaWxlVXBsb2FkZXIob2JqZWN0
KToKICAgICBkZWYgX19pbml0X18oc2VsZiwgdXJsLCB0aW1lb3V0X3NlY29uZHMpOgogICAgICAg
ICBzZWxmLl91cmwgPSB1cmwKICAgICAgICAgc2VsZi5fdGltZW91dF9zZWNvbmRzID0gdGltZW91
dF9zZWNvbmRzCi0gICAgICAgIHNlbGYuX2RlYWRsaW5lID0gdGltZS50aW1lKCkgKyBzZWxmLl90
aW1lb3V0X3NlY29uZHMKIAogICAgIGRlZiB1cGxvYWRfc2luZ2xlX3RleHRfZmlsZShzZWxmLCBm
aWxlc3lzdGVtLCBjb250ZW50X3R5cGUsIGZpbGVuYW1lKToKICAgICAgICAgcmV0dXJuIHNlbGYu
X3VwbG9hZF9kYXRhKGNvbnRlbnRfdHlwZSwgZmlsZXN5c3RlbS5yZWFkX3RleHRfZmlsZShmaWxl
bmFtZSkpCkBAIC0xMDAsMTEgKzk5LDEwIEBAIGNsYXNzIEZpbGVVcGxvYWRlcihvYmplY3QpOgog
CiAgICAgZGVmIF91cGxvYWRfZGF0YShzZWxmLCBjb250ZW50X3R5cGUsIGRhdGEpOgogICAgICAg
ICBkZWYgY2FsbGJhY2soKToKLSAgICAgICAgICAgIG5vdyA9IHRpbWUudGltZSgpCi0gICAgICAg
ICAgICBpZiBub3cgPiBzZWxmLl9kZWFkbGluZToKLSAgICAgICAgICAgICAgICAjIFRoaXMgc2hv
dWxkbid0IGhhcHBlbiwgYnV0IGp1c3QgdG8gYmUgc2FmZSAuLi4KLSAgICAgICAgICAgICAgICBy
YWlzZSBOZXR3b3JrVGltZW91dCgpCisgICAgICAgICAgICAjIEZJWE1FOiBTZXR0aW5nIGEgdGlt
ZW91dCwgZWl0aGVyIGdsb2JhbGx5IHVzaW5nIHNvY2tldC5zZXRkZWZhdWx0dGltZW91dCgpCisg
ICAgICAgICAgICAjIG9yIGluIHVybG9wZW4oKSwgZG9lc24ndCBhcHBlYXIgdG8gd29yayBvbiBN
YWMgMTAuNSB3aXRoIFB5dGhvbiAyLjcuCisgICAgICAgICAgICAjIEZvciBub3cgd2Ugd2lsbCBp
Z25vcmUgdGhlIHRpbWVvdXQgdmFsdWUgYW5kIGhvcGUgZm9yIHRoZSBiZXN0LgogICAgICAgICAg
ICAgcmVxdWVzdCA9IHVybGxpYjIuUmVxdWVzdChzZWxmLl91cmwsIGRhdGEsIHsiQ29udGVudC1U
eXBlIjogY29udGVudF90eXBlfSkKLSAgICAgICAgICAgIHJldHVybiB1cmxsaWIyLnVybG9wZW4o
cmVxdWVzdCwgdGltZW91dD0oc2VsZi5fZGVhZGxpbmUgLSBub3cpKQorICAgICAgICAgICAgcmV0
dXJuIHVybGxpYjIudXJsb3BlbihyZXF1ZXN0KQogCiAgICAgICAgIHJldHVybiBOZXR3b3JrVHJh
bnNhY3Rpb24odGltZW91dF9zZWNvbmRzPXNlbGYuX3RpbWVvdXRfc2Vjb25kcykucnVuKGNhbGxi
YWNrKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>136330</attachid>
            <date>2012-04-09 16:15:19 -0700</date>
            <delta_ts>2012-04-09 16:37:16 -0700</delta_ts>
            <desc>add tests</desc>
            <filename>bug-83230-20120409161518.patch</filename>
            <type>text/plain</type>
            <size>18430</size>
            <attacher name="Dirk Pranke">dpranke</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEzNjE3CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggOTBmMWM5NjkxZDYwN2QzNzNjYjExZGYyMGRjYWVmYzA0
MzMzN2IwZS4uNzE2NDZjYjFhZTIzZjY3MjQwMzZlNzU4MWZiZjkyYmM4NDc0NjMxOSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU3
IEBACisyMDEyLTA0LTA2ICBEaXJrIFByYW5rZSAgPGRwcmFua2VAY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIHdlYmtpdC1wYXRjaDogYWRkIGEgcHJpbnQtZXhwZWN0YXRpb25zIGNvbW1hbmQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgzMzQ3CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBjb21tYW5k
IHdpbGwgcHJpbnQgdGhlIGV4cGVjdGVkIHJlc3VsdHMgZm9yIGEgZ2l2ZW4gc2V0IG9mCisgICAg
ICAgIHRlc3RzIG9uIGEgZ2l2ZW4gc2V0IG9mIHBvcnRzIG1hdGNoaW5nIGEgZ2l2ZW4gc2V0IG9m
IGtleXdvcmRzLgorCisgICAgICAgIEV4YW1wbGUgb3V0cHV0IChwcmludGluZyBhbGwgdGhlIHRl
c3RzIG5vdCBleHBlY3RlZCB0byBwYXNzLCBhbmQgdGhlaXIKKyAgICAgICAgZXhwZWN0ZWQgcmVz
dWx0cywgb24gYSBNYWMpOgorCisgICAgICAgICQgd2Via2l0LXBhdGNoIHByaW50LWV4cGVjdGF0
aW9ucyAteCBwYXNzIGZhc3QvaHRtbAorICAgICAgICAvLyBGb3IgbWFjLXNub3dsZW9wYXJkCisg
ICAgICAgIGZhc3QvaHRtbC9kZXRhaWxzLW9wZW40Lmh0bWwgPSBURVhUCisgICAgICAgIGZhc3Qv
aHRtbC9kZXRhaWxzLW9wZW4yLmh0bWwgPSBURVhUCisgICAgICAgIGZhc3QvaHRtbC9kZXRhaWxz
LW5vLXN1bW1hcnk0Lmh0bWwgPSBURVhUCisgICAgICAgIGZhc3QvaHRtbC9kZXRhaWxzLW9wZW4t
amF2YXNjcmlwdC5odG1sID0gVEVYVAorICAgICAgICAkCisKKyAgICAgICAgWW91IGNhbiBhbHNv
IHByaW50IGZ1bGwgdGVzdC1leHBlY3RhdG9ucy50eHQgbGluZXMgdXNpbmcgLS1mdWxsIGFuZCBh
CisgICAgICAgIENTVi1zdHlsZSByZXBvcnQgKHdoaWNoIGNhbiBiZSB1c2VmdWwgZm9yIHBvc3Qt
cHJvY2Vzc2luZykgdXNpbmcgLS1jc3YuCisKKyAgICAgICAgSXQgd2lsbCByZXBsYWNlIHRoZSAn
c2tpcHBlZC1maWxlcycgY29tbWFuZCAod2hpY2ggd2lsbCBiZQorICAgICAgICByZW1vdmVkIGlu
IGEgc3Vic2VxdWVudCBwYXRjaCkgYW5kIGlzIGEgbW9yZSBnZW5lcmFsIChhbmQKKyAgICAgICAg
Y2xlYW5lciBhbmQgcHJvcGVybHkgbGF5ZXJlZCkgc29sdXRpb24uCisKKyAgICAgICAgQWxzbyBh
ZGQgYW4gdXBkYXRlKCkgY29tbWFuZCB0byBNb2NrT3B0aW9ucygpIHRvIG1ha2Ugb3ZlcnJpZGlu
ZyBrZXl3b3JkcyBlYXNpZXIuCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90
ZXN0cy9tb2RlbHMvdGVzdF9leHBlY3RhdGlvbnMucHk6CisgICAgICAgIChUZXN0RXhwZWN0YXRp
b25TZXJpYWxpemVyLnRvX3N0cmluZyk6CisgICAgICAgIChUZXN0RXhwZWN0YXRpb25TZXJpYWxp
emVyKToKKyAgICAgICAgKFRlc3RFeHBlY3RhdGlvblNlcmlhbGl6ZXIudG9fY3N2KToKKyAgICAg
ICAgKFRlc3RFeHBlY3RhdGlvblNlcmlhbGl6ZXIuX2Zvcm1hdF9yZXN1bHQpOgorICAgICAgICAo
VGVzdEV4cGVjdGF0aW9uTGluZS5jcmVhdGVfcGFzc2luZ19leHBlY3RhdGlvbik6CisgICAgICAg
IChUZXN0RXhwZWN0YXRpb25zTW9kZWwuZ2V0X3Rlc3Rfc2V0X2Zvcl9rZXl3b3JkKToKKyAgICAg
ICAgKFRlc3RFeHBlY3RhdGlvbnNNb2RlbC5oYXNfa2V5d29yZCk6CisgICAgICAgIChUZXN0RXhw
ZWN0YXRpb25zLm1vZGVsKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFu
ZHMvcXVlcmllcy5weToKKyAgICAgICAgKGV4ZWN1dGUpOgorICAgICAgICAoUHJpbnRFeHBlY3Rh
dGlvbnMpOgorICAgICAgICAoUHJpbnRFeHBlY3RhdGlvbnMuX19pbml0X18pOgorICAgICAgICAo
UHJpbnRFeHBlY3RhdGlvbnMuZXhlY3V0ZSk6CisgICAgICAgIChQcmludEV4cGVjdGF0aW9ucy5f
ZmlsdGVyX3Rlc3RzKToKKyAgICAgICAgKFByaW50RXhwZWN0YXRpb25zLl9mb3JtYXRfbGluZXMp
OgorICAgICAgICAoUHJpbnRFeHBlY3RhdGlvbnMuX21vZGVsKToKKyAgICAgICAgKiBTY3JpcHRz
L3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvcXVlcmllc191bml0dGVzdC5weToKKyAgICAgICAgKFRl
c3RQcmludEV4cGVjdGF0aW9ucyk6IEFkZGVkLgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkv
dG9vbC9tb2NrdG9vbC5weToKKyAgICAgICAgKE1vY2tPcHRpb25zKToKKyAgICAgICAgKE1vY2tP
cHRpb25zLl9faW5pdF9fKToKKyAgICAgICAgKE1vY2tPcHRpb25zLnVwZGF0ZSk6IEFkZGVkLgor
CiAyMDEyLTA0LTA5ICBEaXJrIFByYW5rZSAgPGRwcmFua2VAY2hyb21pdW0ub3JnPgogCiAgICAg
ICAgIG5yd3QgaXMgZmFpbGluZyB0byB1cGxvYWQgdGVzdCByZXN1bHRzIG9uIHRoZSBjaHJvbWl1
bS1tYWMtbGVvcGFyZCBib3RzCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xh
eW91dF90ZXN0cy9tb2RlbHMvdGVzdF9leHBlY3RhdGlvbnMucHkgYi9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L2xheW91dF90ZXN0cy9tb2RlbHMvdGVzdF9leHBlY3RhdGlvbnMucHkKaW5kZXggNzA1
MWE1ZjI0M2E1Nzk2OTk1Yjc5M2ViYjc1OTU4NWExMThhN2EzZi4uMjQyMGI5ZmRmNDkxZDliMmM1
N2ExYmVmYmE2ODk1NGI4ZWQ0MDAzOSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9sYXlvdXRfdGVzdHMvbW9kZWxzL3Rlc3RfZXhwZWN0YXRpb25zLnB5CisrKyBiL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL21vZGVscy90ZXN0X2V4cGVjdGF0aW9ucy5weQpA
QCAtMTE5LDcgKzExOSw3IEBAIGNsYXNzIFRlc3RFeHBlY3RhdGlvblNlcmlhbGl6ZXIob2JqZWN0
KToKICAgICAgICAgc2VsZi5fdGVzdF9jb25maWd1cmF0aW9uX2NvbnZlcnRlciA9IHRlc3RfY29u
ZmlndXJhdGlvbl9jb252ZXJ0ZXIKICAgICAgICAgc2VsZi5fcGFyc2VkX2V4cGVjdGF0aW9uX3Rv
X3N0cmluZyA9IGRpY3QoW1twYXJzZWRfZXhwZWN0YXRpb24sIGV4cGVjdGF0aW9uX3N0cmluZ10g
Zm9yIGV4cGVjdGF0aW9uX3N0cmluZywgcGFyc2VkX2V4cGVjdGF0aW9uIGluIFRlc3RFeHBlY3Rh
dGlvbnMuRVhQRUNUQVRJT05TLml0ZW1zKCldKQogCi0gICAgZGVmIHRvX3N0cmluZyhzZWxmLCBl
eHBlY3RhdGlvbl9saW5lKToKKyAgICBkZWYgdG9fc3RyaW5nKHNlbGYsIGV4cGVjdGF0aW9uX2xp
bmUsIGluY2x1ZGVfbW9kaWZpZXJzPVRydWUsIGluY2x1ZGVfZXhwZWN0YXRpb25zPVRydWUsIGlu
Y2x1ZGVfY29tbWVudD1UcnVlKToKICAgICAgICAgaWYgZXhwZWN0YXRpb25fbGluZS5pc19pbnZh
bGlkKCk6CiAgICAgICAgICAgICByZXR1cm4gZXhwZWN0YXRpb25fbGluZS5vcmlnaW5hbF9zdHJp
bmcgb3IgJycKIApAQCAtMTM1LDcgKzEzNSwxNSBAQCBjbGFzcyBUZXN0RXhwZWN0YXRpb25TZXJp
YWxpemVyKG9iamVjdCk6CiAgICAgICAgICAgICAgICAgcmVzdWx0LmFwcGVuZChzZWxmLl9mb3Jt
YXRfcmVzdWx0KG1vZGlmaWVycywgZXhwZWN0YXRpb25fbGluZS5uYW1lLCBleHBlY3RhdGlvbnMs
IGV4cGVjdGF0aW9uX2xpbmUuY29tbWVudCkpCiAgICAgICAgICAgICByZXR1cm4gIlxuIi5qb2lu
KHJlc3VsdCkgaWYgcmVzdWx0IGVsc2UgTm9uZQogCi0gICAgICAgIHJldHVybiBzZWxmLl9mb3Jt
YXRfcmVzdWx0KCIgIi5qb2luKGV4cGVjdGF0aW9uX2xpbmUubW9kaWZpZXJzKSwgZXhwZWN0YXRp
b25fbGluZS5uYW1lLCAiICIuam9pbihleHBlY3RhdGlvbl9saW5lLmV4cGVjdGF0aW9ucyksIGV4
cGVjdGF0aW9uX2xpbmUuY29tbWVudCkKKyAgICAgICAgcmV0dXJuIHNlbGYuX2Zvcm1hdF9yZXN1
bHQoIiAiLmpvaW4oZXhwZWN0YXRpb25fbGluZS5tb2RpZmllcnMpLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBleHBlY3RhdGlvbl9saW5lLm5hbWUsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICIgIi5qb2luKGV4cGVjdGF0aW9uX2xpbmUuZXhwZWN0YXRp
b25zKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwZWN0YXRpb25fbGlu
ZS5jb21tZW50LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmNsdWRlX21v
ZGlmaWVycywgaW5jbHVkZV9leHBlY3RhdGlvbnMsIGluY2x1ZGVfY29tbWVudCkKKworICAgIGRl
ZiB0b19jc3Yoc2VsZiwgZXhwZWN0YXRpb25fbGluZSk6CisgICAgICAgICMgTm90ZSB0aGF0IHRo
aXMgZG9lc24ndCBpbmNsdWRlIHRoZSBjb21tZW50cy4KKyAgICAgICAgcmV0dXJuICclcywlcywl
cycgJSAoZXhwZWN0YXRpb25fbGluZS5uYW1lLCAnICcuam9pbihleHBlY3RhdGlvbl9saW5lLm1v
ZGlmaWVycyksICcgJy5qb2luKGV4cGVjdGF0aW9uX2xpbmUuZXhwZWN0YXRpb25zKSkKIAogICAg
IGRlZiBfcGFyc2VkX2V4cGVjdGF0aW9uc19zdHJpbmcoc2VsZiwgZXhwZWN0YXRpb25fbGluZSk6
CiAgICAgICAgIHJlc3VsdCA9IFtdCkBAIC0xNTQsOSArMTYyLDE0IEBAIGNsYXNzIFRlc3RFeHBl
Y3RhdGlvblNlcmlhbGl6ZXIob2JqZWN0KToKICAgICAgICAgcmV0dXJuICcgJy5qb2luKHJlc3Vs
dCkKIAogICAgIEBjbGFzc21ldGhvZAotICAgIGRlZiBfZm9ybWF0X3Jlc3VsdChjbHMsIG1vZGlm
aWVycywgbmFtZSwgZXhwZWN0YXRpb25zLCBjb21tZW50KToKLSAgICAgICAgcmVzdWx0ID0gIiVz
IDogJXMgPSAlcyIgJSAobW9kaWZpZXJzLnVwcGVyKCksIG5hbWUsIGV4cGVjdGF0aW9ucy51cHBl
cigpKQotICAgICAgICBpZiBjb21tZW50IGlzIG5vdCBOb25lOgorICAgIGRlZiBfZm9ybWF0X3Jl
c3VsdChjbHMsIG1vZGlmaWVycywgbmFtZSwgZXhwZWN0YXRpb25zLCBjb21tZW50LCBpbmNsdWRl
X21vZGlmaWVycz1UcnVlLCBpbmNsdWRlX2V4cGVjdGF0aW9ucz1UcnVlLCBpbmNsdWRlX2NvbW1l
bnQ9VHJ1ZSk6CisgICAgICAgIHJlc3VsdCA9ICcnCisgICAgICAgIGlmIGluY2x1ZGVfbW9kaWZp
ZXJzOgorICAgICAgICAgICAgcmVzdWx0ICs9ICclcyA6ICcgJSBtb2RpZmllcnMudXBwZXIoKQor
ICAgICAgICByZXN1bHQgKz0gbmFtZQorICAgICAgICBpZiBpbmNsdWRlX2V4cGVjdGF0aW9uczoK
KyAgICAgICAgICAgIHJlc3VsdCArPSAnID0gJXMnICUgZXhwZWN0YXRpb25zLnVwcGVyKCkKKyAg
ICAgICAgaWYgaW5jbHVkZV9jb21tZW50IGFuZCBjb21tZW50IGlzIG5vdCBOb25lOgogICAgICAg
ICAgICAgcmVzdWx0ICs9ICIgLy8lcyIgJSBjb21tZW50CiAgICAgICAgIHJldHVybiByZXN1bHQK
IApAQCAtMzk1LDYgKzQwOCw3IEBAIGNsYXNzIFRlc3RFeHBlY3RhdGlvbkxpbmU6CiAgICAgICAg
IGV4cGVjdGF0aW9uX2xpbmUubmFtZSA9IHRlc3QKICAgICAgICAgZXhwZWN0YXRpb25fbGluZS5w
YXRoID0gdGVzdAogICAgICAgICBleHBlY3RhdGlvbl9saW5lLnBhcnNlZF9leHBlY3RhdGlvbnMg
PSBzZXQoW1BBU1NdKQorICAgICAgICBleHBlY3RhdGlvbl9saW5lLmV4cGVjdGF0aW9ucyA9IHNl
dChbJ1BBU1MnXSkKICAgICAgICAgZXhwZWN0YXRpb25fbGluZS5tYXRjaGluZ190ZXN0cyA9IFt0
ZXN0XQogICAgICAgICByZXR1cm4gZXhwZWN0YXRpb25fbGluZQogCkBAIC00NDUsNiArNDU5LDI0
IEBAIGNsYXNzIFRlc3RFeHBlY3RhdGlvbnNNb2RlbChvYmplY3QpOgogCiAgICAgICAgIHJldHVy
biB0ZXN0cwogCisgICAgZGVmIGdldF90ZXN0X3NldF9mb3Jfa2V5d29yZChzZWxmLCBrZXl3b3Jk
KToKKyAgICAgICAgIyBGSVhNRTogZ2V0X3Rlc3Rfc2V0KCkgaXMgYW4gYXdrd2FyZCBwdWJsaWMg
aW50ZXJmYWNlIGJlY2F1c2UgaXQgcmVxdWlyZXMKKyAgICAgICAgIyBjYWxsZXJzIHRvIGtub3cg
dGhlIGRpZmZlcmVuY2UgYmV0d2VlbiBtb2RpZmllcnMgYW5kIGV4cGVjdGF0aW9ucy4gV2UKKyAg
ICAgICAgIyBzaG91bGQgcmVwbGFjZSB0aGF0IHdpdGggdGhpcyB3aGVyZSBwb3NzaWJsZS4KKyAg
ICAgICAgZXhwZWN0YXRpb25fZW51bSA9IFRlc3RFeHBlY3RhdGlvbnMuRVhQRUNUQVRJT05TLmdl
dChrZXl3b3JkLmxvd2VyKCksIE5vbmUpCisgICAgICAgIGlmIGV4cGVjdGF0aW9uX2VudW0gaXMg
bm90IE5vbmU6CisgICAgICAgICAgICByZXR1cm4gc2VsZi5fZXhwZWN0YXRpb25fdG9fdGVzdHNb
ZXhwZWN0YXRpb25fZW51bV0KKyAgICAgICAgbW9kaWZpZXJfZW51bSA9IFRlc3RFeHBlY3RhdGlv
bnMuTU9ESUZJRVJTLmdldChrZXl3b3JkLmxvd2VyKCksIE5vbmUpCisgICAgICAgIGlmIG1vZGlm
aWVyX2VudW0gaXMgbm90IE5vbmU6CisgICAgICAgICAgICByZXR1cm4gc2VsZi5fbW9kaWZpZXJf
dG9fdGVzdHNbbW9kaWZpZXJfZW51bV0KKworICAgICAgICAjIFdlIG11c3Qgbm90IGhhdmUgYW4g
aW5kZXggb24gdGhpcyBtb2RpZmllci4KKyAgICAgICAgbWF0Y2hpbmdfdGVzdHMgPSBzZXQoKQor
ICAgICAgICBmb3IgdGVzdCwgbW9kaWZpZXJzIGluIHNlbGYuX3Rlc3RfdG9fbW9kaWZpZXJzLml0
ZXJpdGVtcygpOgorICAgICAgICAgICAgaWYga2V5d29yZC5sb3dlcigpIGluIG1vZGlmaWVyczoK
KyAgICAgICAgICAgICAgICBtYXRjaGluZ190ZXN0cy5hZGQodGVzdCkKKyAgICAgICAgcmV0dXJu
IG1hdGNoaW5nX3Rlc3RzCisKICAgICBkZWYgZ2V0X3Rlc3RzX3dpdGhfcmVzdWx0X3R5cGUoc2Vs
ZiwgcmVzdWx0X3R5cGUpOgogICAgICAgICByZXR1cm4gc2VsZi5fcmVzdWx0X3R5cGVfdG9fdGVz
dHNbcmVzdWx0X3R5cGVdCiAKQEAgLTQ1OCw2ICs0OTAsMTAgQEAgY2xhc3MgVGVzdEV4cGVjdGF0
aW9uc01vZGVsKG9iamVjdCk6CiAgICAgZGVmIGhhc19tb2RpZmllcihzZWxmLCB0ZXN0LCBtb2Rp
Zmllcik6CiAgICAgICAgIHJldHVybiB0ZXN0IGluIHNlbGYuX21vZGlmaWVyX3RvX3Rlc3RzW21v
ZGlmaWVyXQogCisgICAgZGVmIGhhc19rZXl3b3JkKHNlbGYsIHRlc3QsIGtleXdvcmQpOgorICAg
ICAgICByZXR1cm4gKGtleXdvcmQudXBwZXIoKSBpbiBzZWxmLmdldF9leHBlY3RhdGlvbnNfc3Ry
aW5nKHRlc3QpIG9yCisgICAgICAgICAgICAgICAga2V5d29yZC5sb3dlcigpIGluIHNlbGYuZ2V0
X21vZGlmaWVycyh0ZXN0KSkKKwogICAgIGRlZiBoYXNfdGVzdChzZWxmLCB0ZXN0KToKICAgICAg
ICAgcmV0dXJuIHRlc3QgaW4gc2VsZi5fdGVzdF90b19leHBlY3RhdGlvbl9saW5lCiAKQEAgLTcy
OSw2ICs3NjUsOCBAQCBjbGFzcyBUZXN0RXhwZWN0YXRpb25zKG9iamVjdCk6CiAKICAgICAjIFRP
RE8ob2phbik6IEFsbG93IGZvciByZW1vdmluZyBza2lwcGVkIHRlc3RzIHdoZW4gZ2V0dGluZyB0
aGUgbGlzdCBvZgogICAgICMgdGVzdHMgdG8gcnVuLCBidXQgbm90IHdoZW4gZ2V0dGluZyBtZXRy
aWNzLgorICAgIGRlZiBtb2RlbChzZWxmKToKKyAgICAgICAgcmV0dXJuIHNlbGYuX21vZGVsCiAK
ICAgICBkZWYgZ2V0X3JlYmFzZWxpbmluZ19mYWlsdXJlcyhzZWxmKToKICAgICAgICAgcmV0dXJu
IChzZWxmLl9tb2RlbC5nZXRfdGVzdF9zZXQoUkVCQVNFTElORSwgRkFJTCkgfApkaWZmIC0tZ2l0
IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL3F1ZXJpZXMucHkgYi9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvcXVlcmllcy5weQppbmRleCA5MTQ2NmNk
ZjY0NTNmMzhkMzk2ODcwOWFmNjhlMjRhYzAxNDM1MWQ3Li5kYjgzZGFiNTE2NmIwMjZjOGViYTAx
MDdkMDdmODExZDBjNTZlZGQwIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rv
b2wvY29tbWFuZHMvcXVlcmllcy5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wv
Y29tbWFuZHMvcXVlcmllcy5weQpAQCAtNCw3ICs0LDcgQEAKICMgUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAjIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUKICMgbWV0OgotIyAKKyMKICMgICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKICMgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgogIyAgICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCkBA
IC0xNCw3ICsxNCw3IEBACiAjICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4g
bm9yIHRoZSBuYW1lcyBvZiBpdHMKICMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KICMgdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSMgCisjCiAjIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMKICMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QKICMgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCkBAIC0yOCw2ICsyOCw4IEBACiAjIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCiAKIAoraW1wb3J0IGZubWF0Y2gKKwogZnJvbSBvcHRwYXJzZSBpbXBvcnQgbWFrZV9v
cHRpb24KIAogZnJvbSB3ZWJraXRweS50b29sIGltcG9ydCBzdGVwcwpAQCAtNDMsNiArNDUsNyBA
QCBmcm9tIHdlYmtpdHB5LnRvb2wuZ3JhbW1hciBpbXBvcnQgcGx1cmFsaXplCiBmcm9tIHdlYmtp
dHB5LnRvb2wubXVsdGljb21tYW5kdG9vbCBpbXBvcnQgQWJzdHJhY3REZWNsYXJhdGl2ZUNvbW1h
bmQKIGZyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5kZXByZWNhdGVkX2xvZ2dpbmcgaW1wb3J0
IGxvZwogZnJvbSB3ZWJraXRweS5sYXlvdXRfdGVzdHMgaW1wb3J0IHBvcnQKK2Zyb20gd2Via2l0
cHkubGF5b3V0X3Rlc3RzLm1vZGVscy50ZXN0X2V4cGVjdGF0aW9ucyBpbXBvcnQgVGVzdEV4cGVj
dGF0aW9ucywgVGVzdEV4cGVjdGF0aW9uU2VyaWFsaXplcgogCiAKIGNsYXNzIFN1Z2dlc3RSZXZp
ZXdlcnMoQWJzdHJhY3REZWNsYXJhdGl2ZUNvbW1hbmQpOgpAQCAtMzk3LDMgKzQwMCw5NSBAQCBv
dXQgd2hhdCBwb3J0cyBhcmUgc2tpcHBpbmcgdGhlIHRlc3QocykuIENhdGVnb3JpZXMgYXJlIHRh
a2VuIGluIGFjY291bnQgdG9vLiIiIgogICAgICAgICAgICAgICAgIHByaW50ICJQb3J0cyBza2lw
cGluZyB0ZXN0ICVyOiAlcyIgJSAodGVzdF9uYW1lLCAnLCAnLmpvaW4ocG9ydHMpKQogICAgICAg
ICAgICAgZWxzZToKICAgICAgICAgICAgICAgICBwcmludCAiVGVzdCAlciBpcyBub3Qgc2tpcHBl
ZCBieSBhbnkgcG9ydC4iICUgdGVzdF9uYW1lCisKKworY2xhc3MgUHJpbnRFeHBlY3RhdGlvbnMo
QWJzdHJhY3REZWNsYXJhdGl2ZUNvbW1hbmQpOgorICAgIG5hbWUgPSAncHJpbnQtZXhwZWN0YXRp
b25zJworICAgIGhlbHBfdGV4dCA9ICdQcmludCB0aGUgZXhwZWN0ZWQgcmVzdWx0IGZvciB0aGUg
Z2l2ZW4gdGVzdChzKSBvbiB0aGUgZ2l2ZW4gcG9ydChzKScKKyAgICBhcmd1bWVudF9uYW1lcyA9
ICJURVNUX05BTUUiCisKKyAgICBkZWYgX19pbml0X18oc2VsZik6CisgICAgICAgIG9wdGlvbnMg
PSBbCisgICAgICAgICAgICBtYWtlX29wdGlvbignLXAnLCAnLS1wbGF0Zm9ybScsIGFjdGlvbj0n
c3RvcmUnLAorICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0ncGxhdGZvcm0vcG9ydChzKSB0
byBkaXNwbGF5IGV4cGVjdGF0aW9ucyBmb3IuIFVzZSBnbG9iLXN0eWxlIHdpbGRjYXJkcyBmb3Ig
bXVsdGlwbGUgcG9ydHMnKSwKKyAgICAgICAgICAgIG1ha2Vfb3B0aW9uKCctLWFsbCcsIGFjdGlv
bj0nc3RvcmVfdHJ1ZScsIGRlZmF1bHQ9RmFsc2UsCisgICAgICAgICAgICAgICAgICAgICAgICBo
ZWxwPSdkaXNwbGF5IHRoZSBleHBlY3RhdGlvbnMgZm9yICphbGwqIHRlc3RzJyksCisgICAgICAg
ICAgICBtYWtlX29wdGlvbignLXgnLCAnLS1leGNsdWRlLWtleXdvcmQnLCBhY3Rpb249J2FwcGVu
ZCcsIGRlZmF1bHQ9W10sCisgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSdsaW1pdCB0byB0
ZXN0cyBub3QgbWF0Y2hpbmcgdGhlIGdpdmVuIGtleXdvcmQgKGZvciBleGFtcGxlLCAic2tpcCIs
ICJzbG93Iiwgb3IgImNyYXNoIi4gTWF5IHNwZWNpZnkgbXVsdGlwbGUgdGltZXMnKSwKKyAgICAg
ICAgICAgIG1ha2Vfb3B0aW9uKCctaScsICctLWluY2x1ZGUta2V5d29yZCcsIGFjdGlvbj0nYXBw
ZW5kJywgZGVmYXVsdD1bXSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9J2xpbWl0IHRv
IHRlc3RzIHdpdGggdGhlIGdpdmVuIGtleXdvcmQgKGZvciBleGFtcGxlLCAic2tpcCIsICJzbG93
Iiwgb3IgImNyYXNoIi4gTWF5IHNwZWNpZnkgbXVsdGlwbGUgdGltZXMnKSwKKyAgICAgICAgICAg
IG1ha2Vfb3B0aW9uKCctLWRlYnVnJywgYWN0aW9uPSdzdG9yZV9jb25zdCcsIGNvbnN0PSdEZWJ1
ZycsIGRlc3Q9J2NvbmZpZ3VyYXRpb24nLAorICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0n
U2V0IHRoZSBjb25maWd1cmF0aW9uIHRvIERlYnVnJyksCisgICAgICAgICAgICBtYWtlX29wdGlv
bignLS1yZWxlYXNlJywgYWN0aW9uPSdzdG9yZV9jb25zdCcsIGNvbnN0PSdSZWxlYXNlJywgZGVz
dD0nY29uZmlndXJhdGlvbicsCisgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSdTZXQgdGhl
IGNvbmZpZ3VyYXRpb24gdG8gUmVsZWFzZScpLAorICAgICAgICAgICAgbWFrZV9vcHRpb24oJy0t
Y3N2JywgYWN0aW9uPSdzdG9yZV90cnVlJywgZGVmYXVsdD1GYWxzZSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgIGhlbHA9J1ByaW50IGEgQ1NWLXN0eWxlIHJlcG9ydCB0aGF0IGluY2x1ZGVzIHRo
ZSBwb3J0IG5hbWUsIG1vZGlmaWVycywgdGVzdHMsIGFuZCBleHBlY3RhdGlvbnMnKSwKKyAgICAg
ICAgICAgIG1ha2Vfb3B0aW9uKCctZicsICctLWZ1bGwnLCBhY3Rpb249J3N0b3JlX3RydWUnLCBk
ZWZhdWx0PUZhbHNlLAorICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0nUHJpbnQgYSBmdWxs
IHRlc3RfZXhwZWN0YXRpb25zLnR4dC1zdHlsZSBsaW5lIGZvciBldmVyeSBtYXRjaCcpLAorICAg
ICAgICBdCisgICAgICAgIEFic3RyYWN0RGVjbGFyYXRpdmVDb21tYW5kLl9faW5pdF9fKHNlbGYs
IG9wdGlvbnM9b3B0aW9ucykKKyAgICAgICAgc2VsZi5fZXhwZWN0YXRpb25fbW9kZWxzID0ge30K
KworICAgIGRlZiBleGVjdXRlKHNlbGYsIG9wdGlvbnMsIGFyZ3MsIHRvb2wpOgorICAgICAgICBp
ZiBub3QgYXJncyBhbmQgbm90IG9wdGlvbnMuYWxsOgorICAgICAgICAgICAgcHJpbnQgIllvdSBt
dXN0IGVpdGhlciBzcGVjaWZ5IG9uZSBvciBtb3JlIHRlc3QgcGF0aHMgb3IgLS1hbGwuIgorICAg
ICAgICAgICAgcmV0dXJuCisKKyAgICAgICAgZGVmYXVsdF9wb3J0ID0gdG9vbC5wb3J0X2ZhY3Rv
cnkuZ2V0KG9wdGlvbnM9b3B0aW9ucykKKyAgICAgICAgaWYgb3B0aW9ucy5wbGF0Zm9ybToKKyAg
ICAgICAgICAgIHBvcnRfbmFtZXMgPSBmbm1hdGNoLmZpbHRlcih0b29sLnBvcnRfZmFjdG9yeS5h
bGxfcG9ydF9uYW1lcygpLCBvcHRpb25zLnBsYXRmb3JtKQorICAgICAgICAgICAgaWYgbm90IHBv
cnRfbmFtZXM6CisgICAgICAgICAgICAgICAgZGVmYXVsdF9wb3J0ID0gdG9vbC5wb3J0X2ZhY3Rv
cnkuZ2V0KG9wdGlvbnMucGxhdGZvcm0pCisgICAgICAgICAgICAgICAgaWYgZGVmYXVsdF9wb3J0
OgorICAgICAgICAgICAgICAgICAgICBwb3J0X25hbWVzID0gW2RlZmF1bHRfcG9ydC5uYW1lKCld
CisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgcHJpbnQgIk5vIHBv
cnQgbmFtZXMgbWF0Y2ggJyVzJyIgJSBvcHRpb25zLnBsYXRmb3JtCisgICAgICAgICAgICAgICAg
ICAgIHJldHVybgorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcG9ydF9uYW1lcyA9IFtkZWZh
dWx0X3BvcnQubmFtZSgpXQorCisgICAgICAgIHNlcmlhbGl6ZXIgPSBUZXN0RXhwZWN0YXRpb25T
ZXJpYWxpemVyKCkKKyAgICAgICAgdGVzdHMgPSBkZWZhdWx0X3BvcnQudGVzdHMoYXJncykKKyAg
ICAgICAgZm9yIHBvcnRfbmFtZSBpbiBwb3J0X25hbWVzOgorICAgICAgICAgICAgbW9kZWwgPSBz
ZWxmLl9tb2RlbChvcHRpb25zLCBwb3J0X25hbWUsIHRlc3RzKQorICAgICAgICAgICAgdGVzdHNf
dG9fcHJpbnQgPSBzZWxmLl9maWx0ZXJfdGVzdHMob3B0aW9ucywgbW9kZWwsIHRlc3RzKQorICAg
ICAgICAgICAgbGluZXMgPSBbbW9kZWwuZ2V0X2V4cGVjdGF0aW9uX2xpbmUodGVzdCkgZm9yIHRl
c3QgaW4gc29ydGVkKHRlc3RzX3RvX3ByaW50KV0KKyAgICAgICAgICAgIHByaW50ICdcbicuam9p
bihzZWxmLl9mb3JtYXRfbGluZXMob3B0aW9ucywgcG9ydF9uYW1lLCBzZXJpYWxpemVyLCBsaW5l
cykpCisKKyAgICBkZWYgX2ZpbHRlcl90ZXN0cyhzZWxmLCBvcHRpb25zLCBtb2RlbCwgdGVzdHMp
OgorICAgICAgICBmaWx0ZXJlZF90ZXN0cyA9IHNldCgpCisgICAgICAgIGlmIG9wdGlvbnMuaW5j
bHVkZV9rZXl3b3JkOgorICAgICAgICAgICAgZm9yIGtleXdvcmQgaW4gb3B0aW9ucy5pbmNsdWRl
X2tleXdvcmQ6CisgICAgICAgICAgICAgICAgZmlsdGVyZWRfdGVzdHMudXBkYXRlKG1vZGVsLmdl
dF90ZXN0X3NldF9mb3Jfa2V5d29yZChrZXl3b3JkKSkKKyAgICAgICAgZWxzZToKKyAgICAgICAg
ICAgIGZpbHRlcmVkX3Rlc3RzID0gdGVzdHMKKworICAgICAgICBmb3Iga2V5d29yZCBpbiBvcHRp
b25zLmV4Y2x1ZGVfa2V5d29yZDoKKyAgICAgICAgICAgIGZpbHRlcmVkX3Rlc3RzLmRpZmZlcmVu
Y2VfdXBkYXRlKG1vZGVsLmdldF90ZXN0X3NldF9mb3Jfa2V5d29yZChrZXl3b3JkKSkKKyAgICAg
ICAgcmV0dXJuIGZpbHRlcmVkX3Rlc3RzCisKKyAgICBkZWYgX2Zvcm1hdF9saW5lcyhzZWxmLCBv
cHRpb25zLCBwb3J0X25hbWUsIHNlcmlhbGl6ZXIsIGxpbmVzKToKKyAgICAgICAgb3V0cHV0ID0g
W10KKyAgICAgICAgaWYgb3B0aW9ucy5jc3Y6CisgICAgICAgICAgICBmb3IgbGluZSBpbiBsaW5l
czoKKyAgICAgICAgICAgICAgICBvdXRwdXQuYXBwZW5kKCIlcywlcyIgJSAocG9ydF9uYW1lLCBz
ZXJpYWxpemVyLnRvX2NzdihsaW5lKSkpCisgICAgICAgIGVsaWYgbGluZXM6CisgICAgICAgICAg
ICBpbmNsdWRlX21vZGlmaWVycyA9IG9wdGlvbnMuZnVsbAorICAgICAgICAgICAgaW5jbHVkZV9l
eHBlY3RhdGlvbnMgPSBvcHRpb25zLmZ1bGwgb3IgbGVuKG9wdGlvbnMuaW5jbHVkZV9rZXl3b3Jk
KSAhPSAxIG9yIGxlbihvcHRpb25zLmV4Y2x1ZGVfa2V5d29yZCkKKyAgICAgICAgICAgIG91dHB1
dC5hcHBlbmQoIi8vIEZvciAlcyIgJSBwb3J0X25hbWUpCisgICAgICAgICAgICBmb3IgbGluZSBp
biBsaW5lczoKKyAgICAgICAgICAgICAgICBvdXRwdXQuYXBwZW5kKCIlcyIgJSBzZXJpYWxpemVy
LnRvX3N0cmluZyhsaW5lLCBpbmNsdWRlX21vZGlmaWVycywgaW5jbHVkZV9leHBlY3RhdGlvbnMs
IGluY2x1ZGVfY29tbWVudD1GYWxzZSkpCisgICAgICAgIHJldHVybiBvdXRwdXQKKworICAgIGRl
ZiBfbW9kZWwoc2VsZiwgb3B0aW9ucywgcG9ydF9uYW1lLCB0ZXN0cyk6CisgICAgICAgIHBvcnQg
PSBzZWxmLl90b29sLnBvcnRfZmFjdG9yeS5nZXQocG9ydF9uYW1lLCBvcHRpb25zKQorICAgICAg
ICBleHBlY3RhdGlvbnNfcGF0aCA9IHBvcnQucGF0aF90b190ZXN0X2V4cGVjdGF0aW9uc19maWxl
KCkKKyAgICAgICAgaWYgbm90IGV4cGVjdGF0aW9uc19wYXRoIGluIHNlbGYuX2V4cGVjdGF0aW9u
X21vZGVsczoKKyAgICAgICAgICAgIGxpbnRfbW9kZSA9IEZhbHNlCisgICAgICAgICAgICBzZWxm
Ll9leHBlY3RhdGlvbl9tb2RlbHNbZXhwZWN0YXRpb25zX3BhdGhdID0gVGVzdEV4cGVjdGF0aW9u
cyhwb3J0LCB0ZXN0cywKKyAgICAgICAgICAgICAgICBwb3J0LnRlc3RfZXhwZWN0YXRpb25zKCks
CisgICAgICAgICAgICAgICAgcG9ydC50ZXN0X2NvbmZpZ3VyYXRpb24oKSwKKyAgICAgICAgICAg
ICAgICBsaW50X21vZGUsCisgICAgICAgICAgICAgICAgcG9ydC50ZXN0X2V4cGVjdGF0aW9uc19v
dmVycmlkZXMoKSwKKyAgICAgICAgICAgICAgICBwb3J0LnNraXBwZWRfdGVzdHModGVzdHMpKS5t
b2RlbCgpCisgICAgICAgIHJldHVybiBzZWxmLl9leHBlY3RhdGlvbl9tb2RlbHNbZXhwZWN0YXRp
b25zX3BhdGhdCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFu
ZHMvcXVlcmllc191bml0dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21t
YW5kcy9xdWVyaWVzX3VuaXR0ZXN0LnB5CmluZGV4IGZlMTNhNGM1NDgwOTQzZTFhNGNlM2M5ODU1
MjQxMTQ2YTFiNGU1NzUuLjJmZmY4ZjQ1YTJhZDJiN2RkOGQzNzEwMTQ0ZTEyNWNmZjY4ZjkyYmIg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9xdWVyaWVz
X3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9x
dWVyaWVzX3VuaXR0ZXN0LnB5CkBAIC0yOCwxMSArMjgsMTIgQEAKIAogaW1wb3J0IHVuaXR0ZXN0
CiAKK2Zyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5vdXRwdXRjYXB0dXJlIGltcG9ydCBPdXRw
dXRDYXB0dXJlCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5uZXQuYnVnemlsbGEgaW1wb3J0IEJ1Z3pp
bGxhCiBmcm9tIHdlYmtpdHB5LnRoaXJkcGFydHkubW9jayBpbXBvcnQgTW9jawogZnJvbSB3ZWJr
aXRweS50b29sLmNvbW1hbmRzLmNvbW1hbmR0ZXN0IGltcG9ydCBDb21tYW5kc1Rlc3QKIGZyb20g
d2Via2l0cHkudG9vbC5jb21tYW5kcy5xdWVyaWVzIGltcG9ydCAqCi1mcm9tIHdlYmtpdHB5LnRv
b2wubW9ja3Rvb2wgaW1wb3J0IE1vY2tUb29sCitmcm9tIHdlYmtpdHB5LnRvb2wubW9ja3Rvb2wg
aW1wb3J0IE1vY2tUb29sLCBNb2NrT3B0aW9ucwogCiAKIGNsYXNzIE1vY2tUZXN0UG9ydDEob2Jq
ZWN0KToKQEAgLTExNSwzICsxMTYsNTEgQEAgY2xhc3MgRmFpbHVyZVJlYXNvblRlc3QodW5pdHRl
c3QuVGVzdENhc2UpOgogICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCJNRVNTQUdFIikKICAg
ICAgICAgdG9vbC5jaGVja291dCgpLmNvbW1pdF9pbmZvX2Zvcl9yZXZpc2lvbiA9IHJhaXNpbmdf
bW9jawogICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhjb21tYW5kLl9ibGFtZV9saW5lX2Zvcl9y
ZXZpc2lvbihOb25lKSwgIkZBSUxFRCB0byBmZXRjaCBDb21taXRJbmZvIGZvciByTm9uZSwgZXhj
ZXB0aW9uOiBNRVNTQUdFIikKKworCitjbGFzcyBQcmludEV4cGVjdGF0aW9uc1Rlc3QodW5pdHRl
c3QuVGVzdENhc2UpOgorICAgIGRlZiBydW5fdGVzdChzZWxmLCB0ZXN0cywgZXhwZWN0ZWRfc3Rk
b3V0LCAqKmFyZ3MpOgorICAgICAgICBvcHRpb25zID0gTW9ja09wdGlvbnMoYWxsPUZhbHNlLCBj
c3Y9RmFsc2UsIGZ1bGw9RmFsc2UsIHBsYXRmb3JtPSd0ZXN0LXdpbi14cCcsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbmNsdWRlX2tleXdvcmQ9W10sIGV4Y2x1ZGVfa2V5d29yZD1b
XSkudXBkYXRlKCoqYXJncykKKyAgICAgICAgdG9vbCA9IE1vY2tUb29sKCkKKyAgICAgICAgY29t
bWFuZCA9IFByaW50RXhwZWN0YXRpb25zKCkKKyAgICAgICAgY29tbWFuZC5iaW5kX3RvX3Rvb2wo
dG9vbCkKKworICAgICAgICBvYyA9IE91dHB1dENhcHR1cmUoKQorICAgICAgICB0cnk6CisgICAg
ICAgICAgICBvYy5jYXB0dXJlX291dHB1dCgpCisgICAgICAgICAgICBjb21tYW5kLmV4ZWN1dGUo
b3B0aW9ucywgdGVzdHMsIHRvb2wpCisgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICBzdGRv
dXQsIF8sIF8gPSBvYy5yZXN0b3JlX291dHB1dCgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxz
KHN0ZG91dCwgZXhwZWN0ZWRfc3Rkb3V0KQorCisgICAgZGVmIHRlc3RfYmFzaWMoc2VsZik6Cisg
ICAgICAgIHNlbGYucnVuX3Rlc3QoWydmYWlsdXJlcy9leHBlY3RlZC90ZXh0Lmh0bWwnLCAnZmFp
bHVyZXMvZXhwZWN0ZWQvaW1hZ2UuaHRtbCddLAorICAgICAgICAgICAgICAgICAgICAgICgnLy8g
Rm9yIHRlc3Qtd2luLXhwXG4nCisgICAgICAgICAgICAgICAgICAgICAgICdmYWlsdXJlcy9leHBl
Y3RlZC9pbWFnZS5odG1sID0gSU1BR0VcbicKKyAgICAgICAgICAgICAgICAgICAgICAgJ2ZhaWx1
cmVzL2V4cGVjdGVkL3RleHQuaHRtbCA9IFRFWFRcbicpKQorCisgICAgZGVmIHRlc3RfZnVsbChz
ZWxmKToKKyAgICAgICAgc2VsZi5ydW5fdGVzdChbJ2ZhaWx1cmVzL2V4cGVjdGVkL3RleHQuaHRt
bCcsICdmYWlsdXJlcy9leHBlY3RlZC9pbWFnZS5odG1sJ10sCisgICAgICAgICAgICAgICAgICAg
ICAgKCcvLyBGb3IgdGVzdC13aW4teHBcbicKKyAgICAgICAgICAgICAgICAgICAgICAgJ1dPTlRG
SVggOiBmYWlsdXJlcy9leHBlY3RlZC9pbWFnZS5odG1sID0gSU1BR0VcbicKKyAgICAgICAgICAg
ICAgICAgICAgICAgJ1dPTlRGSVggOiBmYWlsdXJlcy9leHBlY3RlZC90ZXh0Lmh0bWwgPSBURVhU
XG4nKSwKKyAgICAgICAgICAgICAgICAgICAgICBmdWxsPVRydWUpCisKKyAgICBkZWYgdGVzdF9l
eGNsdWRlKHNlbGYpOgorICAgICAgICBzZWxmLnJ1bl90ZXN0KFsnZmFpbHVyZXMvZXhwZWN0ZWQv
dGV4dC5odG1sJywgJ2ZhaWx1cmVzL2V4cGVjdGVkL2ltYWdlLmh0bWwnXSwKKyAgICAgICAgICAg
ICAgICAgICAgICAoJy8vIEZvciB0ZXN0LXdpbi14cFxuJworICAgICAgICAgICAgICAgICAgICAg
ICAnZmFpbHVyZXMvZXhwZWN0ZWQvdGV4dC5odG1sID0gVEVYVFxuJyksCisgICAgICAgICAgICAg
ICAgICAgICAgZXhjbHVkZV9rZXl3b3JkPVsnaW1hZ2UnXSkKKworICAgIGRlZiB0ZXN0X2luY2x1
ZGUoc2VsZik6CisgICAgICAgIHNlbGYucnVuX3Rlc3QoWydmYWlsdXJlcy9leHBlY3RlZC90ZXh0
Lmh0bWwnLCAnZmFpbHVyZXMvZXhwZWN0ZWQvaW1hZ2UuaHRtbCddLAorICAgICAgICAgICAgICAg
ICAgICAgICgnLy8gRm9yIHRlc3Qtd2luLXhwXG4nCisgICAgICAgICAgICAgICAgICAgICAgICdm
YWlsdXJlcy9leHBlY3RlZC9pbWFnZS5odG1sXG4nKSwKKyAgICAgICAgICAgICAgICAgICAgICBp
bmNsdWRlX2tleXdvcmQ9WydpbWFnZSddKQorCisgICAgZGVmIHRlc3RfY3N2KHNlbGYpOgorICAg
ICAgICBzZWxmLnJ1bl90ZXN0KFsnZmFpbHVyZXMvZXhwZWN0ZWQvdGV4dC5odG1sJywgJ2ZhaWx1
cmVzL2V4cGVjdGVkL2ltYWdlLmh0bWwnXSwKKyAgICAgICAgICAgICAgICAgICAgICAoJ3Rlc3Qt
d2luLXhwLGZhaWx1cmVzL2V4cGVjdGVkL2ltYWdlLmh0bWwsd29udGZpeCxpbWFnZVxuJworICAg
ICAgICAgICAgICAgICAgICAgICAndGVzdC13aW4teHAsZmFpbHVyZXMvZXhwZWN0ZWQvdGV4dC5o
dG1sLHdvbnRmaXgsdGV4dFxuJyksCisgICAgICAgICAgICAgICAgICAgICAgY3N2PVRydWUpCmRp
ZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvbW9ja3Rvb2wucHkgYi9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvbW9ja3Rvb2wucHkKaW5kZXggMjVmODI2OThhMDIxYjc0
YjEyNzgxZDFhMTczY2U4Nzg3MmVlN2ZhNS4uNTVmZGU2NGFkZWM2NzhhNDM0NTBlNGU5NmIxYTBi
NGVlNDRmZjI1ZCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL21vY2t0
b29sLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9tb2NrdG9vbC5weQpAQCAt
NDcsOCArNDcsMTEgQEAgY2xhc3MgTW9ja09wdGlvbnMob2JqZWN0KToKICAgICAgICAgIyBvYmpl
Y3Qgd2lsbCBiZSB1c2VkLiBHZW5lcmFsbHkgc3BlYWtpbmcgdW5pdCB0ZXN0cyBzaG91bGQKICAg
ICAgICAgIyBzdWJjbGFzcyB0aGlzIG9yIHByb3ZpZGVyIHdyYXBwZXIgZnVuY3Rpb25zIHRoYXQg
c2V0IGEgY29tbW9uCiAgICAgICAgICMgc2V0IG9mIG9wdGlvbnMuCi0gICAgICAgIGZvciBrZXks
IHZhbHVlIGluIGt3YXJncy5pdGVtcygpOgotICAgICAgICAgICAgc2VsZi5fX2RpY3RfX1trZXld
ID0gdmFsdWUKKyAgICAgICAgc2VsZi51cGRhdGUoKiprd2FyZ3MpCisKKyAgICBkZWYgdXBkYXRl
KHNlbGYsICoqa3dhcmdzKToKKyAgICAgICAgc2VsZi5fX2RpY3RfXy51cGRhdGUoKiprd2FyZ3Mp
CisgICAgICAgIHJldHVybiBzZWxmCiAKIAogIyBGSVhNRTogVGhpcyBzaG91bGQgYmUgcmVuYW1l
ZCBNb2NrV2ViS2l0UGF0Y2guCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>