<?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>63844</bug_id>
          
          <creation_ts>2011-07-01 13:47:13 -0700</creation_ts>
          <short_desc>tests_run0.txt gets clobbered when re-running failing tests</short_desc>
          <delta_ts>2011-12-01 13:36:03 -0800</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>
          
          <blocked>64491</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Review Bot">webkit.review.bot</reporter>
          <assigned_to name="Kristóf Kosztyó">kkristof</assigned_to>
          <cc>abarth</cc>
    
    <cc>abecsi</cc>
    
    <cc>dpranke</cc>
    
    <cc>eric</cc>
    
    <cc>kkristof</cc>
    
    <cc>ojan</cc>
    
    <cc>ossy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>431412</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-07-01 13:47:13 -0700</bug_when>
    <thetext>tests_run0.txt gets clobbered when re-running failing tests
Requested by abarth on #webkit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>431455</commentid>
    <comment_count>1</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-07-01 14:35:12 -0700</bug_when>
    <thetext>It&apos;s actually somewhat worse than that, *anything* in layout-test-results can get overwritten when re-run (e.g., the -actual.* files get clobbered, stacks get clobbered, etc.).

At one point Ojan and I talked about changing the layout-test-results directory if we cared enough about this, so that you got a layout-test-results.retries output dir or something, but we didn&apos;t care enough :)

I&apos;m not sure if there&apos;s a better solution.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>432381</commentid>
    <comment_count>2</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-07-05 13:23:57 -0700</bug_when>
    <thetext>I&apos;m fine with adding a &quot;retries&quot; sub-directory which is used for the re-run.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>448238</commentid>
    <comment_count>3</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-08-08 13:36:41 -0700</bug_when>
    <thetext>This is a polish bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450382</commentid>
    <comment_count>4</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-08-12 04:21:32 -0700</bug_when>
    <thetext>This fix would be great to help debugging DRT sideeffect bugs revealed by NRWT.

Kristóf, could you pick up this bug?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>498925</commentid>
    <comment_count>5</comment_count>
      <attachid>114270</attachid>
    <who name="Kristóf Kosztyó">kkristof</who>
    <bug_when>2011-11-09 07:13:49 -0800</bug_when>
    <thetext>Created attachment 114270
draft patch

Hi,
I&apos;am working on these bug.
Do you have any idea to make it better?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>499947</commentid>
    <comment_count>6</comment_count>
      <attachid>114270</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2011-11-10 08:44:21 -0800</bug_when>
    <thetext>Comment on attachment 114270
draft patch

Patch looks good to me. Needs tests though. Another way this could be implemented is to flip a &quot;retrying&quot; flag on the port object and then port.results_directory() could return the retries directory. I don&apos;t know if that&apos;s cleaner or more magic though. I defer to Eric or Dirk here.

R- just for the lack of tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>500359</commentid>
    <comment_count>7</comment_count>
      <attachid>114270</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-11-10 15:47:19 -0800</bug_when>
    <thetext>Comment on attachment 114270
draft patch

I agree with Ojan that this patch definitely needs some tests, but otherwise it looks okay. Nice job!

I was tempted to say that we should just use options.retrying instead of passing another flag around, but I didn&apos;t like the idea of values in the options object changing after startup. I was also tempted by adding a flag on the port object to tell it to change what results_directory() returned (as Ojan suggested), but (a) that felt like a layering violation, (b) doesn&apos;t really help  since you need to propagate the &apos;retrying&apos; flag across the process boundary for the multiprocessing case, since we have to create a new port object in the worker processes.

So this feels like the way to go short of creating an arg class that gets passed to the workers that encapsulates worker_number, retrying, and options. But we can do that if there&apos;s a next time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>500383</commentid>
    <comment_count>8</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-11-10 16:07:37 -0800</bug_when>
    <thetext>We could also just check the filesystem and see if the file exists and never overwrite.  Instead write with an appended number:
http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/common/system/workspace.py#L46

Then we just have to be sure to clear the directory before.

I&apos;m not sure that&apos;s a better solution, but it is an option.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>500388</commentid>
    <comment_count>9</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-11-10 16:11:17 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; We could also just check the filesystem and see if the file exists and never overwrite.  Instead write with an appended number:
&gt; http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/common/system/workspace.py#L46
&gt; 
&gt; Then we just have to be sure to clear the directory before.
&gt; 
&gt; I&apos;m not sure that&apos;s a better solution, but it is an option.

Yeah, I thought of that, too, but I like being able to clearly segregate the tries from the retries.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>500390</commentid>
    <comment_count>10</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-11-10 16:12:31 -0800</bug_when>
    <thetext>Oh, but that reminds me ... this patch should ensure that *everything* that is being written under the results_directory is retrying-aware, not just test_runX.txt. I.e., we currently clobber -expected and -actual files as well, and we should stop that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>500394</commentid>
    <comment_count>11</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-11-10 16:14:50 -0800</bug_when>
    <thetext>It seems a much simpler solution would just be to change the results directory during retry attempts. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>500400</commentid>
    <comment_count>12</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-11-10 16:18:52 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; It seems a much simpler solution would just be to change the results directory during retry attempts. :)

Well, yeah. So I think we need to add a results_directory() wrapper somewhere in the controller code that is retry-aware, and use that instead of calling port.results_directory() directly (so that the port code doeesn&apos;t need to be retry-aware).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>500402</commentid>
    <comment_count>13</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-11-10 16:22:31 -0800</bug_when>
    <thetext>I&apos;m not sure results_directory is even a Port concern anymore?  Do ports specify separate retry directories?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>500406</commentid>
    <comment_count>14</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-11-10 16:32:18 -0800</bug_when>
    <thetext>(In reply to comment #13)
&gt; I&apos;m not sure results_directory is even a Port concern anymore?  Do ports specify separate retry directories?

No, that&apos;s the point ;) Different ports have different defaults for the results_directory, though.

Looking at the code now, though, it looks like chromium defaults to $CHROMIUM_SRC/webkit/$CONFIGURATION/layout-tests-results and other webkit.py-based ports default to `webkit-build-directory`/$CONFIGURATION/layout-test-results. 

I imagine we could get the two forks to merge without too much hassle, though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>501911</commentid>
    <comment_count>15</comment_count>
    <who name="Kristóf Kosztyó">kkristof</who>
    <bug_when>2011-11-14 07:50:38 -0800</bug_when>
    <thetext>I see, then I will rewrite it, and make a unit test too</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>505765</commentid>
    <comment_count>16</comment_count>
      <attachid>115804</attachid>
    <who name="Kristóf Kosztyó">kkristof</who>
    <bug_when>2011-11-18 07:20:47 -0800</bug_when>
    <thetext>Created attachment 115804
proposed fix with unit test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>507149</commentid>
    <comment_count>17</comment_count>
      <attachid>115804</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-11-21 12:57:57 -0800</bug_when>
    <thetext>Comment on attachment 115804
proposed fix with unit test

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

The manager_worker_broker class shouldn&apos;t have to know anything about retrying logic, and modifying a module-level global is bad. I think we can just pass the output directory to use through when we start each worker, and that might end up a lot cleaner.

&gt; Tools/Scripts/webkitpy/layout_tests/controllers/manager.py:913
&gt; +            manager_worker_broker.retry = True

I think instead of doing this we can just modify start_worker() to take the output directory to use along with the worker number, and then change the output directory based on whether self._retrying is True.

&gt; Tools/Scripts/webkitpy/layout_tests/controllers/manager_unittest.py:266
&gt; +    def test_retrying(self):

In addition to this test, it might be good to make sure that the &apos;retrying&apos; flag propagates correctly across the process boundary in the multiprocess case (this test will only test the inline case).

Unfortunately, you can&apos;t test that with the --platform=test class, since that uses a mock filesystem (which isn&apos;t shared across process), which means we&apos;d need to test this with a real integration test. Maybe just add a a FIXME for now?

&gt; Tools/Scripts/webkitpy/layout_tests/controllers/manager_worker_broker.py:68
&gt; +retry = False

This isn&apos;t necessary.

&gt; Tools/Scripts/webkitpy/layout_tests/controllers/manager_worker_broker.py:109
&gt; +def results_directory(port):

This function doesn&apos;t belong here; the broker class shouldn&apos;t have to know anything about the results_directory.

&gt; Tools/Scripts/webkitpy/layout_tests/controllers/test_result_writer.py:44
&gt; +    root_output_dir = manager_worker_broker.results_directory(port)

I suggest we pass in the output directory to use instead.

&gt; Tools/Scripts/webkitpy/layout_tests/controllers/worker.py:71
&gt; +        tests_run_filename = self._filesystem.join(manager_worker_broker.results_directory(self._port), &quot;tests_run%d.txt&quot; % self._worker_number)

We should pass in the output directory like we do the worker number.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>511745</commentid>
    <comment_count>18</comment_count>
      <attachid>117193</attachid>
    <who name="Kristóf Kosztyó">kkristof</who>
    <bug_when>2011-11-30 07:44:45 -0800</bug_when>
    <thetext>Created attachment 117193
proposed fix

It now save the tests_run*.txt in the [layout_test_dir]/retries, but only these lists, not the entire new test results,
because it needs to change the test_results_writer.py and I didn&apos;t want to make any ugly hacks in it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>511998</commentid>
    <comment_count>19</comment_count>
      <attachid>117193</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-11-30 12:17:56 -0800</bug_when>
    <thetext>Comment on attachment 117193
proposed fix


Looks good enough. Updating the test results and making sure everything else is consistent can build on this. 

Thanks for doing the work!

&gt; Tools/Scripts/webkitpy/layout_tests/controllers/manager_worker_broker.py:126
&gt; +        self.results_directory = results_directory

Nit: probably should be self._results_directory (note the &quot;_&quot;).

&gt; Tools/Scripts/webkitpy/layout_tests/controllers/worker.py:71
&gt; +        tests_run_filename = self._filesystem.join(self.results_directory, &quot;tests_run%d.txt&quot; % self._worker_number)

Nit: self._results_directory again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>512734</commentid>
    <comment_count>20</comment_count>
      <attachid>117411</attachid>
    <who name="Kristóf Kosztyó">kkristof</who>
    <bug_when>2011-12-01 06:49:37 -0800</bug_when>
    <thetext>Created attachment 117411
proposed fix

Thanks for your forbearance</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>512763</commentid>
    <comment_count>21</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-12-01 07:46:58 -0800</bug_when>
    <thetext>(In reply to comment #20)
&gt; Created an attachment (id=117411) [details]
&gt; proposed fix
&gt; 
&gt; Thanks for your forbearance

The patch was r+ -ed with small modifications, so you don&apos;t need one more review.

I landed your fixed patch manually http://trac.webkit.org/changeset/101667</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>512767</commentid>
    <comment_count>22</comment_count>
    <who name="Kristóf Kosztyó">kkristof</who>
    <bug_when>2011-12-01 07:55:36 -0800</bug_when>
    <thetext>(In reply to comment #21)
&gt; (In reply to comment #20)
&gt; &gt; Created an attachment (id=117411) [details] [details]
&gt; &gt; proposed fix
&gt; &gt; 
&gt; &gt; Thanks for your forbearance
&gt; 
&gt; The patch was r+ -ed with small modifications, so you don&apos;t need one more review.
&gt; 
&gt; I landed your fixed patch manually http://trac.webkit.org/changeset/101667

Thank you</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>513054</commentid>
    <comment_count>23</comment_count>
      <attachid>117411</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-12-01 13:36:03 -0800</bug_when>
    <thetext>Comment on attachment 117411
proposed fix

clearing r, cq flags.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>114270</attachid>
            <date>2011-11-09 07:13:49 -0800</date>
            <delta_ts>2011-11-18 07:20:47 -0800</delta_ts>
            <desc>draft patch</desc>
            <filename>1109a.patch</filename>
            <type>text/plain</type>
            <size>8298</size>
            <attacher name="Kristóf Kosztyó">kkristof</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xs
ZXJzL21hbmFnZXIucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250
cm9sbGVycy9tYW5hZ2VyLnB5CmluZGV4IGQzOTEyMjQuLjkwMTFkOWEgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL21hbmFnZXIucHkK
KysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWFu
YWdlci5weQpAQCAtNzUyLDcgKzc1Miw3IEBAIGNsYXNzIE1hbmFnZXIob2JqZWN0KToKICAgICAg
ICAgbnVtX3dvcmtlcnMgPSBtaW4oaW50KHNlbGYuX29wdGlvbnMuY2hpbGRfcHJvY2Vzc2VzKSwg
bGVuKGFsbF9zaGFyZHMpKQogICAgICAgICBzZWxmLl9sb2dfbnVtX3dvcmtlcnMobnVtX3dvcmtl
cnMsIGxlbihhbGxfc2hhcmRzKSwgbGVuKGxvY2tlZF9zaGFyZHMpKQogCi0gICAgICAgIG1hbmFn
ZXJfY29ubmVjdGlvbiA9IG1hbmFnZXJfd29ya2VyX2Jyb2tlci5nZXQoc2VsZi5fcG9ydCwgc2Vs
Zi5fb3B0aW9ucywgc2VsZiwgd29ya2VyLldvcmtlcikKKyAgICAgICAgbWFuYWdlcl9jb25uZWN0
aW9uID0gbWFuYWdlcl93b3JrZXJfYnJva2VyLmdldChzZWxmLl9wb3J0LCBzZWxmLl9vcHRpb25z
LCBzZWxmLCB3b3JrZXIuV29ya2VyLCBzZWxmLl9yZXRyeWluZykKIAogICAgICAgICBpZiBzZWxm
Ll9vcHRpb25zLmRyeV9ydW46CiAgICAgICAgICAgICByZXR1cm4gKGtleWJvYXJkX2ludGVycnVw
dGVkLCBpbnRlcnJ1cHRlZCwgdGhyZWFkX3RpbWluZ3MsIHNlbGYuX2dyb3VwX3N0YXRzLCBzZWxm
Ll9hbGxfcmVzdWx0cykKQEAgLTkwMSw2ICs5MDEsOCBAQCBjbGFzcyBNYW5hZ2VyKG9iamVjdCk6
CiAgICAgICAgICAgICBfbG9nLmluZm8oIlJldHJ5aW5nICVkIHVuZXhwZWN0ZWQgZmFpbHVyZShz
KSAuLi4iICUgbGVuKGZhaWx1cmVzKSkKICAgICAgICAgICAgIF9sb2cuaW5mbygnJykKICAgICAg
ICAgICAgIHNlbGYuX3JldHJ5aW5nID0gVHJ1ZQorICAgICAgICAgICAgcmV0cmllc19kaXIgPSBz
ZWxmLl9mcy5qb2luKHNlbGYuX3BvcnQucmVzdWx0c19kaXJlY3RvcnkoKSwgJ3JldHJpZXMnKQor
ICAgICAgICAgICAgc2VsZi5fZnMubWF5YmVfbWFrZV9kaXJlY3RvcnkocmV0cmllc19kaXIpCiAg
ICAgICAgICAgICByZXRyeV9zdW1tYXJ5ID0gUmVzdWx0U3VtbWFyeShzZWxmLl9leHBlY3RhdGlv
bnMsIGZhaWx1cmVzLmtleXMoKSkKICAgICAgICAgICAgICMgTm90ZSB0aGF0IHdlIGludGVudGlv
bmFsbHkgaWdub3JlIHRoZSByZXR1cm4gdmFsdWUgaGVyZS4KICAgICAgICAgICAgIHNlbGYuX3J1
bl90ZXN0cyhmYWlsdXJlcy5rZXlzKCksIHJldHJ5X3N1bW1hcnkpCmRpZmYgLS1naXQgYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9tYW5hZ2VyX3dvcmtl
cl9icm9rZXIucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9s
bGVycy9tYW5hZ2VyX3dvcmtlcl9icm9rZXIucHkKaW5kZXggZThhNTExNC4uNzY0MDFmNCAxMDA3
NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMv
bWFuYWdlcl93b3JrZXJfYnJva2VyLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5
b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL21hbmFnZXJfd29ya2VyX2Jyb2tlci5weQpAQCAtNzcsNyAr
NzcsNyBAQCBkZWYgcnVudGltZV9vcHRpb25zKCk6CiAgICAgcmV0dXJuIG9wdGlvbnMKIAogCi1k
ZWYgZ2V0KHBvcnQsIG9wdGlvbnMsIGNsaWVudCwgd29ya2VyX2NsYXNzKToKK2RlZiBnZXQocG9y
dCwgb3B0aW9ucywgY2xpZW50LCB3b3JrZXJfY2xhc3MsIHJldHJ5aW5nKToKICAgICAiIiJSZXR1
cm4gYSBjb25uZWN0aW9uIHRvIGEgbWFuYWdlci93b3JrZXIgbWVzc2FnZV9icm9rZXIKIAogICAg
IEFyZ3M6CkBAIC0xMDIsNyArMTAyLDcgQEAgZGVmIGdldChwb3J0LCBvcHRpb25zLCBjbGllbnQs
IHdvcmtlcl9jbGFzcyk6CiAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoInVuc3VwcG9ydGVkIHZh
bHVlIGZvciAtLXdvcmtlci1tb2RlbDogJXMiICUgd29ya2VyX21vZGVsKQogCiAgICAgYnJva2Vy
ID0gbWVzc2FnZV9icm9rZXIuQnJva2VyKG9wdGlvbnMsIHF1ZXVlX2NsYXNzKQotICAgIHJldHVy
biBtYW5hZ2VyX2NsYXNzKGJyb2tlciwgcG9ydCwgb3B0aW9ucywgY2xpZW50LCB3b3JrZXJfY2xh
c3MpCisgICAgcmV0dXJuIG1hbmFnZXJfY2xhc3MoYnJva2VyLCBwb3J0LCBvcHRpb25zLCBjbGll
bnQsIHdvcmtlcl9jbGFzcywgcmV0cnlpbmcpCiAKIAogY2xhc3MgQWJzdHJhY3RXb3JrZXIobWVz
c2FnZV9icm9rZXIuQnJva2VyQ2xpZW50KToKQEAgLTEzNyw3ICsxMzcsNyBAQCBjbGFzcyBBYnN0
cmFjdFdvcmtlcihtZXNzYWdlX2Jyb2tlci5Ccm9rZXJDbGllbnQpOgogCiAKIGNsYXNzIF9NYW5h
Z2VyQ29ubmVjdGlvbihtZXNzYWdlX2Jyb2tlci5Ccm9rZXJDb25uZWN0aW9uKToKLSAgICBkZWYg
X19pbml0X18oc2VsZiwgYnJva2VyLCBvcHRpb25zLCBjbGllbnQsIHdvcmtlcl9jbGFzcyk6Cisg
ICAgZGVmIF9faW5pdF9fKHNlbGYsIGJyb2tlciwgb3B0aW9ucywgY2xpZW50LCB3b3JrZXJfY2xh
c3MsIHJldHJ5aW5nKToKICAgICAgICAgIiIiQmFzZSBpbml0aWFsaXphdGlvbiBmb3IgYWxsIE1h
bmFnZXIgb2JqZWN0cy4KIAogICAgICAgICBBcmdzOgpAQCAtMTUwLDIwICsxNTAsMjEgQEAgY2xh
c3MgX01hbmFnZXJDb25uZWN0aW9uKG1lc3NhZ2VfYnJva2VyLkJyb2tlckNvbm5lY3Rpb24pOgog
ICAgICAgICAgICAgTUFOQUdFUl9UT1BJQywgQU5ZX1dPUktFUl9UT1BJQykKICAgICAgICAgc2Vs
Zi5fb3B0aW9ucyA9IG9wdGlvbnMKICAgICAgICAgc2VsZi5fd29ya2VyX2NsYXNzID0gd29ya2Vy
X2NsYXNzCisgICAgICAgIHNlbGYucmV0cnlpbmcgPSByZXRyeWluZwogCiAgICAgZGVmIHN0YXJ0
X3dvcmtlcihzZWxmLCB3b3JrZXJfbnVtYmVyKToKICAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50
ZWRFcnJvcgogCiAKIGNsYXNzIF9JbmxpbmVNYW5hZ2VyKF9NYW5hZ2VyQ29ubmVjdGlvbik6Ci0g
ICAgZGVmIF9faW5pdF9fKHNlbGYsIGJyb2tlciwgcG9ydCwgb3B0aW9ucywgY2xpZW50LCB3b3Jr
ZXJfY2xhc3MpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBicm9rZXIsIHBvcnQsIG9wdGlvbnMs
IGNsaWVudCwgd29ya2VyX2NsYXNzLCByZXRyeWluZyk6CiAgICAgICAgIF9NYW5hZ2VyQ29ubmVj
dGlvbi5fX2luaXRfXyhzZWxmLCBicm9rZXIsIG9wdGlvbnMsIGNsaWVudCwgd29ya2VyX2NsYXNz
KQogICAgICAgICBzZWxmLl9wb3J0ID0gcG9ydAogICAgICAgICBzZWxmLl9pbmxpbmVfd29ya2Vy
ID0gTm9uZQogCiAgICAgZGVmIHN0YXJ0X3dvcmtlcihzZWxmLCB3b3JrZXJfbnVtYmVyKToKICAg
ICAgICAgc2VsZi5faW5saW5lX3dvcmtlciA9IF9JbmxpbmVXb3JrZXJDb25uZWN0aW9uKHNlbGYu
X2Jyb2tlciwgc2VsZi5fcG9ydCwKLSAgICAgICAgICAgIHNlbGYuX2NsaWVudCwgc2VsZi5fd29y
a2VyX2NsYXNzLCB3b3JrZXJfbnVtYmVyKQorICAgICAgICAgICAgc2VsZi5fY2xpZW50LCBzZWxm
Ll93b3JrZXJfY2xhc3MsIHdvcmtlcl9udW1iZXIsIHNlbGYucmV0cnlpbmcpCiAgICAgICAgIHJl
dHVybiBzZWxmLl9pbmxpbmVfd29ya2VyCiAKICAgICBkZWYgcnVuX21lc3NhZ2VfbG9vcChzZWxm
LCBkZWxheV9zZWNzPU5vbmUpOgpAQCAtMTc0LDI0ICsxNzUsMjQgQEAgY2xhc3MgX0lubGluZU1h
bmFnZXIoX01hbmFnZXJDb25uZWN0aW9uKToKIAogCiBjbGFzcyBfTXVsdGlQcm9jZXNzTWFuYWdl
cihfTWFuYWdlckNvbm5lY3Rpb24pOgotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBicm9rZXIsIHBv
cnQsIG9wdGlvbnMsIGNsaWVudCwgd29ya2VyX2NsYXNzKToKKyAgICBkZWYgX19pbml0X18oc2Vs
ZiwgYnJva2VyLCBwb3J0LCBvcHRpb25zLCBjbGllbnQsIHdvcmtlcl9jbGFzcywgcmV0cnlpbmcp
OgogICAgICAgICAjIE5vdGUgdGhhdCB0aGlzIGNsYXNzIGRvZXMgbm90IGtlZXAgYSBoYW5kbGUg
dG8gdGhlIGFjdHVhbCBwb3J0CiAgICAgICAgICMgb2JqZWN0LCBiZWNhdXNlIGl0IGlzbid0IFBp
Y2tsYWJsZS4gSW5zdGVhZCBpdCBrZWVwcyB0aGUgcG9ydAogICAgICAgICAjIG5hbWUgYW5kIHJl
Y3JlYXRlcyB0aGUgcG9ydCBpbiB0aGUgY2hpbGQgcHJvY2VzcyBmcm9tIHRoZSBuYW1lCiAgICAg
ICAgICMgYW5kIG9wdGlvbnMuCi0gICAgICAgIF9NYW5hZ2VyQ29ubmVjdGlvbi5fX2luaXRfXyhz
ZWxmLCBicm9rZXIsIG9wdGlvbnMsIGNsaWVudCwgd29ya2VyX2NsYXNzKQorICAgICAgICBfTWFu
YWdlckNvbm5lY3Rpb24uX19pbml0X18oc2VsZiwgYnJva2VyLCBvcHRpb25zLCBjbGllbnQsIHdv
cmtlcl9jbGFzcywgcmV0cnlpbmcpCiAgICAgICAgIHNlbGYuX3BsYXRmb3JtX25hbWUgPSBwb3J0
LnJlYWxfbmFtZSgpCiAKICAgICBkZWYgc3RhcnRfd29ya2VyKHNlbGYsIHdvcmtlcl9udW1iZXIp
OgogICAgICAgICB3b3JrZXJfY29ubmVjdGlvbiA9IF9NdWx0aVByb2Nlc3NXb3JrZXJDb25uZWN0
aW9uKHNlbGYuX2Jyb2tlciwgc2VsZi5fcGxhdGZvcm1fbmFtZSwKLSAgICAgICAgICAgIHNlbGYu
X3dvcmtlcl9jbGFzcywgd29ya2VyX251bWJlciwgc2VsZi5fb3B0aW9ucykKKyAgICAgICAgICAg
IHNlbGYuX3dvcmtlcl9jbGFzcywgd29ya2VyX251bWJlciwgc2VsZi5yZXRyeWluZywgc2VsZi5f
b3B0aW9ucykKICAgICAgICAgd29ya2VyX2Nvbm5lY3Rpb24uc3RhcnQoKQogICAgICAgICByZXR1
cm4gd29ya2VyX2Nvbm5lY3Rpb24KIAogCiBjbGFzcyBfV29ya2VyQ29ubmVjdGlvbihtZXNzYWdl
X2Jyb2tlci5Ccm9rZXJDb25uZWN0aW9uKToKLSAgICBkZWYgX19pbml0X18oc2VsZiwgYnJva2Vy
LCB3b3JrZXJfY2xhc3MsIHdvcmtlcl9udW1iZXIsIG9wdGlvbnMpOgotICAgICAgICBzZWxmLl9j
bGllbnQgPSB3b3JrZXJfY2xhc3Moc2VsZiwgd29ya2VyX251bWJlciwgb3B0aW9ucykKKyAgICBk
ZWYgX19pbml0X18oc2VsZiwgYnJva2VyLCB3b3JrZXJfY2xhc3MsIHdvcmtlcl9udW1iZXIsIHJl
dHJ5aW5nLCBvcHRpb25zKToKKyAgICAgICAgc2VsZi5fY2xpZW50ID0gd29ya2VyX2NsYXNzKHNl
bGYsIHdvcmtlcl9udW1iZXIsIHJldHJ5aW5nLCBvcHRpb25zKQogICAgICAgICBzZWxmLm5hbWUg
PSBzZWxmLl9jbGllbnQubmFtZSgpCiAgICAgICAgIG1lc3NhZ2VfYnJva2VyLkJyb2tlckNvbm5l
Y3Rpb24uX19pbml0X18oc2VsZiwgYnJva2VyLCBzZWxmLl9jbGllbnQsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQU5ZX1dPUktFUl9UT1BJQywgTUFO
QUdFUl9UT1BJQykKQEAgLTIxMCw4ICsyMTEsOCBAQCBjbGFzcyBfV29ya2VyQ29ubmVjdGlvbiht
ZXNzYWdlX2Jyb2tlci5Ccm9rZXJDb25uZWN0aW9uKToKIAogCiBjbGFzcyBfSW5saW5lV29ya2Vy
Q29ubmVjdGlvbihfV29ya2VyQ29ubmVjdGlvbik6Ci0gICAgZGVmIF9faW5pdF9fKHNlbGYsIGJy
b2tlciwgcG9ydCwgbWFuYWdlcl9jbGllbnQsIHdvcmtlcl9jbGFzcywgd29ya2VyX251bWJlcik6
Ci0gICAgICAgIF9Xb3JrZXJDb25uZWN0aW9uLl9faW5pdF9fKHNlbGYsIGJyb2tlciwgd29ya2Vy
X2NsYXNzLCB3b3JrZXJfbnVtYmVyLCBwb3J0Lm9wdGlvbnMpCisgICAgZGVmIF9faW5pdF9fKHNl
bGYsIGJyb2tlciwgcG9ydCwgbWFuYWdlcl9jbGllbnQsIHdvcmtlcl9jbGFzcywgcmV0cnlpbmcs
IHdvcmtlcl9udW1iZXIpOgorICAgICAgICBfV29ya2VyQ29ubmVjdGlvbi5fX2luaXRfXyhzZWxm
LCBicm9rZXIsIHdvcmtlcl9jbGFzcywgd29ya2VyX251bWJlciwgcmV0cnlpbmcsIHBvcnQub3B0
aW9ucykKICAgICAgICAgc2VsZi5fYWxpdmUgPSBGYWxzZQogICAgICAgICBzZWxmLl9wb3J0ID0g
cG9ydAogICAgICAgICBzZWxmLl9tYW5hZ2VyX2NsaWVudCA9IG1hbmFnZXJfY2xpZW50CkBAIC0y
NjksOCArMjcwLDggQEAgaWYgbXVsdGlwcm9jZXNzaW5nOgogCiAKIGNsYXNzIF9NdWx0aVByb2Nl
c3NXb3JrZXJDb25uZWN0aW9uKF9Xb3JrZXJDb25uZWN0aW9uKToKLSAgICBkZWYgX19pbml0X18o
c2VsZiwgYnJva2VyLCBwbGF0Zm9ybV9uYW1lLCB3b3JrZXJfY2xhc3MsIHdvcmtlcl9udW1iZXIs
IG9wdGlvbnMpOgotICAgICAgICBfV29ya2VyQ29ubmVjdGlvbi5fX2luaXRfXyhzZWxmLCBicm9r
ZXIsIHdvcmtlcl9jbGFzcywgd29ya2VyX251bWJlciwgb3B0aW9ucykKKyAgICBkZWYgX19pbml0
X18oc2VsZiwgYnJva2VyLCBwbGF0Zm9ybV9uYW1lLCB3b3JrZXJfY2xhc3MsIHdvcmtlcl9udW1i
ZXIsIHJldHJ5aW5nLCBvcHRpb25zKToKKyAgICAgICAgX1dvcmtlckNvbm5lY3Rpb24uX19pbml0
X18oc2VsZiwgYnJva2VyLCB3b3JrZXJfY2xhc3MsIHdvcmtlcl9udW1iZXIsIHJldHJ5aW5nLCBv
cHRpb25zKQogICAgICAgICBzZWxmLl9wcm9jID0gX1Byb2Nlc3Moc2VsZiwgcGxhdGZvcm1fbmFt
ZSwgb3B0aW9ucywgc2VsZi5fY2xpZW50KQogCiAgICAgZGVmIGNhbmNlbChzZWxmKToKZGlmZiAt
LWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL3dv
cmtlci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJz
L3dvcmtlci5weQppbmRleCA0Y2ZiN2U3Li5hYzBiOWQ1IDEwMDY0NAotLS0gYS9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy93b3JrZXIucHkKKysrIGIvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvd29ya2VyLnB5CkBA
IC00Myw3ICs0Myw3IEBAIF9sb2cgPSBsb2dnaW5nLmdldExvZ2dlcihfX25hbWVfXykKIAogCiBj
bGFzcyBXb3JrZXIobWFuYWdlcl93b3JrZXJfYnJva2VyLkFic3RyYWN0V29ya2VyKToKLSAgICBk
ZWYgX19pbml0X18oc2VsZiwgd29ya2VyX2Nvbm5lY3Rpb24sIHdvcmtlcl9udW1iZXIsIG9wdGlv
bnMpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCB3b3JrZXJfY29ubmVjdGlvbiwgd29ya2VyX251
bWJlciwgcmV0cnlpbmcsIG9wdGlvbnMpOgogICAgICAgICBtYW5hZ2VyX3dvcmtlcl9icm9rZXIu
QWJzdHJhY3RXb3JrZXIuX19pbml0X18oc2VsZiwgd29ya2VyX2Nvbm5lY3Rpb24sIHdvcmtlcl9u
dW1iZXIsIG9wdGlvbnMpCiAgICAgICAgIHNlbGYuX2RvbmUgPSBGYWxzZQogICAgICAgICBzZWxm
Ll9jYW5jZWxlZCA9IEZhbHNlCkBAIC01NCw2ICs1NCw3IEBAIGNsYXNzIFdvcmtlcihtYW5hZ2Vy
X3dvcmtlcl9icm9rZXIuQWJzdHJhY3RXb3JrZXIpOgogICAgICAgICBzZWxmLl9kcml2ZXIgPSBO
b25lCiAgICAgICAgIHNlbGYuX3Rlc3RzX3J1bl9maWxlID0gTm9uZQogICAgICAgICBzZWxmLl90
ZXN0c19ydW5fZmlsZW5hbWUgPSBOb25lCisgICAgICAgIHNlbGYucmV0cnlpbmcgPSByZXRyeWlu
ZwogCiAgICAgZGVmIF9fZGVsX18oc2VsZik6CiAgICAgICAgIHNlbGYuY2xlYW51cCgpCkBAIC02
OCw3ICs2OSwxMCBAQCBjbGFzcyBXb3JrZXIobWFuYWdlcl93b3JrZXJfYnJva2VyLkFic3RyYWN0
V29ya2VyKToKICAgICAgICAgc2VsZi5fZmlsZXN5c3RlbSA9IHBvcnQuZmlsZXN5c3RlbQogICAg
ICAgICBzZWxmLl9iYXRjaF9jb3VudCA9IDAKICAgICAgICAgc2VsZi5fYmF0Y2hfc2l6ZSA9IHNl
bGYuX29wdGlvbnMuYmF0Y2hfc2l6ZSBvciAwCi0gICAgICAgIHRlc3RzX3J1bl9maWxlbmFtZSA9
IHNlbGYuX2ZpbGVzeXN0ZW0uam9pbihwb3J0LnJlc3VsdHNfZGlyZWN0b3J5KCksICJ0ZXN0c19y
dW4lZC50eHQiICUgc2VsZi5fd29ya2VyX251bWJlcikKKyAgICAgICAgcmVzdWx0c19kaXJlY3Rv
cnkgPSBwb3J0LnJlc3VsdHNfZGlyZWN0b3J5KCkKKyAgICAgICAgaWYgc2VsZi5yZXRyeWluZzoK
KyAgICAgICAgICAgIHJlc3VsdHNfZGlyZWN0b3J5ID0gc2VsZi5fZmlsZXN5c3RlbS5qb2luKHJl
c3VsdHNfZGlyZWN0b3J5LCAncmV0cmllcycpCisgICAgICAgIHRlc3RzX3J1bl9maWxlbmFtZSA9
IHNlbGYuX2ZpbGVzeXN0ZW0uam9pbihyZXN1bHRzX2RpcmVjdG9yeSwgInRlc3RzX3J1biVkLnR4
dCIgJSBzZWxmLl93b3JrZXJfbnVtYmVyKQogICAgICAgICBzZWxmLl90ZXN0c19ydW5fZmlsZSA9
IHNlbGYuX2ZpbGVzeXN0ZW0ub3Blbl90ZXh0X2ZpbGVfZm9yX3dyaXRpbmcodGVzdHNfcnVuX2Zp
bGVuYW1lKQogCiAgICAgZGVmIGNhbmNlbChzZWxmKToK
</data>
<flag name="review"
          id="113134"
          type_id="1"
          status="-"
          setter="ojan"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>115804</attachid>
            <date>2011-11-18 07:20:47 -0800</date>
            <delta_ts>2011-11-30 07:44:45 -0800</delta_ts>
            <desc>proposed fix with unit test</desc>
            <filename>1118.patch</filename>
            <type>text/plain</type>
            <size>7022</size>
            <attacher name="Kristóf Kosztyó">kkristof</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA2OTlj
ODI2Li42OTJhZmQ5IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTEtMTEtMTggIEtyaXN0w7NmIEtvc3p0ecOzICA8
a2tyaXN0b2ZAaW5mLnUtc3plZ2VkLmh1PgorCisgICAgICAgIFtucnd0XSB0ZXN0c19ydW4wLnR4
dCBnZXRzIGNsb2JiZXJlZCB3aGVuIHJlLXJ1bm5pbmcgZmFpbGluZyB0ZXN0cworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM4NDQKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkv
bGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL21hbmFnZXIucHk6CisgICAgICAgICogU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdlcl91bml0dGVzdC5weToKKyAg
ICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9tYW5hZ2Vy
X3dvcmtlcl9icm9rZXIucHk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVz
dHMvY29udHJvbGxlcnMvdGVzdF9yZXN1bHRfd3JpdGVyLnB5OgorICAgICAgICAqIFNjcmlwdHMv
d2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL3dvcmtlci5weToKKwogMjAxMS0xMS0x
OCAgWXV0YSBLaXRhbXVyYSAgPHl1dGFrQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbUXRdIEVu
YWJsZSBXZWJTb2NrZXQgaHliaSB0ZXN0cwpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdlci5weSBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL21hbmFnZXIucHkKaW5kZXggZDczNDdh
MC4uZWY4NDgzZSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVz
dHMvY29udHJvbGxlcnMvbWFuYWdlci5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xh
eW91dF90ZXN0cy9jb250cm9sbGVycy9tYW5hZ2VyLnB5CkBAIC0zMTYsNyArMzE2LDcgQEAgY2xh
c3MgTWFuYWdlcihvYmplY3QpOgogICAgICAgICBzZWxmLl90ZXN0X2ZpbGVzX2xpc3QgPSBOb25l
CiAgICAgICAgIHNlbGYuX3Jlc3VsdF9xdWV1ZSA9IFF1ZXVlLlF1ZXVlKCkKICAgICAgICAgc2Vs
Zi5fcmV0cnlpbmcgPSBGYWxzZQotICAgICAgICBzZWxmLl9yZXN1bHRzX2RpcmVjdG9yeSA9IHNl
bGYuX3BvcnQucmVzdWx0c19kaXJlY3RvcnkoKQorICAgICAgICBzZWxmLl9yZXN1bHRzX2RpcmVj
dG9yeSA9IG1hbmFnZXJfd29ya2VyX2Jyb2tlci5yZXN1bHRzX2RpcmVjdG9yeShzZWxmLl9wb3J0
KQogCiAgICAgICAgIHNlbGYuX2FsbF9yZXN1bHRzID0gW10KICAgICAgICAgc2VsZi5fZ3JvdXBf
c3RhdHMgPSB7fQpAQCAtOTEwLDkgKzkxMCwxMSBAQCBjbGFzcyBNYW5hZ2VyKG9iamVjdCk6CiAg
ICAgICAgICAgICBfbG9nLmluZm8oIlJldHJ5aW5nICVkIHVuZXhwZWN0ZWQgZmFpbHVyZShzKSAu
Li4iICUgbGVuKGZhaWx1cmVzKSkKICAgICAgICAgICAgIF9sb2cuaW5mbygnJykKICAgICAgICAg
ICAgIHNlbGYuX3JldHJ5aW5nID0gVHJ1ZQorICAgICAgICAgICAgbWFuYWdlcl93b3JrZXJfYnJv
a2VyLnJldHJ5ID0gVHJ1ZQogICAgICAgICAgICAgcmV0cnlfc3VtbWFyeSA9IFJlc3VsdFN1bW1h
cnkoc2VsZi5fZXhwZWN0YXRpb25zLCBmYWlsdXJlcy5rZXlzKCkpCiAgICAgICAgICAgICAjIE5v
dGUgdGhhdCB3ZSBpbnRlbnRpb25hbGx5IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIGhlcmUuCiAg
ICAgICAgICAgICBzZWxmLl9ydW5fdGVzdHMoZmFpbHVyZXMua2V5cygpLCByZXRyeV9zdW1tYXJ5
KQorICAgICAgICAgICAgbWFuYWdlcl93b3JrZXJfYnJva2VyLnJldHJ5ID0gRmFsc2UKICAgICAg
ICAgICAgIGZhaWx1cmVzID0gc2VsZi5fZ2V0X2ZhaWx1cmVzKHJldHJ5X3N1bW1hcnksIGluY2x1
ZGVfY3Jhc2hlcz1UcnVlLCBpbmNsdWRlX21pc3Npbmc9VHJ1ZSkKIAogICAgICAgICBlbmRfdGlt
ZSA9IHRpbWUudGltZSgpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91
dF90ZXN0cy9jb250cm9sbGVycy9tYW5hZ2VyX3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdlcl91bml0dGVzdC5weQppbmRl
eCAxMWFjNDUzLi4yNjI4Y2FiIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xh
eW91dF90ZXN0cy9jb250cm9sbGVycy9tYW5hZ2VyX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL21hbmFnZXJfdW5pdHRlc3Qu
cHkKQEAgLTI2Myw2ICsyNjMsMjYgQEAgY2xhc3MgTWFuYWdlclRlc3QodW5pdHRlc3QuVGVzdENh
c2UpOgogICAgICAgICAgICAgbWFuYWdlciA9IGdldF9tYW5hZ2VyX3dpdGhfdGVzdHMoWydodHRw
XFx0ZXN0c1xcbWltZSddKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG1hbmFnZXIubmVl
ZHNfc2VydmVycygpKQogCisgICAgZGVmIHRlc3RfcmV0cnlpbmcoc2VsZik6CisgICAgICAgIG9w
dGlvbnMsIGFyZ3MgPSBydW5fd2Via2l0X3Rlc3RzLnBhcnNlX2FyZ3MoWyctLXBsYXRmb3JtPXRl
c3QnLCAnLS1uby1zaG93LXJlc3VsdHMnXSkKKyAgICAgICAgaG9zdCA9IE1vY2tIb3N0KCkKKyAg
ICAgICAgcG9ydCA9IGhvc3QucG9ydF9mYWN0b3J5LmdldChwb3J0X25hbWU9b3B0aW9ucy5wbGF0
Zm9ybSwgb3B0aW9ucz1vcHRpb25zKQorICAgICAgICBmcyA9IHBvcnQuZmlsZXN5c3RlbQorICAg
ICAgICBydW5fd2Via2l0X3Rlc3RzLl9zZXRfdXBfZGVyaXZlZF9vcHRpb25zKHBvcnQsIG9wdGlv
bnMpCisgICAgICAgIHByaW50ZXIgPSBwcmludGluZy5QcmludGVyKHBvcnQsIG9wdGlvbnMsIFN0
cmluZ0lPLlN0cmluZ0lPKCksIFN0cmluZ0lPLlN0cmluZ0lPKCksIGNvbmZpZ3VyZV9sb2dnaW5n
PVRydWUpCisgICAgICAgIG1hbmFnZXIgPSBNYW5hZ2VyKHBvcnQsIG9wdGlvbnMsIHByaW50ZXIp
CisKKyAgICAgICAgbWFuYWdlci5jb2xsZWN0X3Rlc3RzKGFyZ3MpCisgICAgICAgIG1hbmFnZXIu
cGFyc2VfZXhwZWN0YXRpb25zKCkKKyAgICAgICAgcmVzdWx0X3N1bW1hcnkgPSBtYW5hZ2VyLnNl
dF91cF9ydW4oKQorICAgICAgICBudW1fdW5leHBlY3RlZF9yZXN1bHRzID0gbWFuYWdlci5ydW4o
cmVzdWx0X3N1bW1hcnkpCisgICAgICAgIG1hbmFnZXIuY2xlYW5fdXBfcnVuKCkKKyAgICAgICAg
cHJpbnRlci5jbGVhbnVwKCkKKworICAgICAgICBzZWxmLmFzc2VydFRydWUoZnMuZXhpc3RzKGZz
LmpvaW4ocG9ydC5yZXN1bHRzX2RpcmVjdG9yeSgpLCAncmV0cmllcycpKSkKKyAgICAgICAgc2Vs
Zi5hc3NlcnRUcnVlKGZzLmV4aXN0cyhmcy5qb2luKHBvcnQucmVzdWx0c19kaXJlY3RvcnkoKSwg
J3JldHJpZXMnLCAndGVzdHNfcnVuMC50eHQnKSkpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShm
cy5leGlzdHMoZnMuam9pbihwb3J0LnJlc3VsdHNfZGlyZWN0b3J5KCksICdyZXRyaWVzJywgJ2Zh
aWx1cmVzJywgJ3VuZXhwZWN0ZWQnKSkpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShmcy5leGlz
dHMoZnMuam9pbihwb3J0LnJlc3VsdHNfZGlyZWN0b3J5KCksICdyZXRyaWVzJywgJ2ZhaWx1cmVz
JywgJ3VuZXhwZWN0ZWQnLCAnbWlzbWF0Y2gtYWN0dWFsLnBuZycpKSkKIAogY2xhc3MgTmF0dXJh
bENvbXBhcmVUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICBkZWYgYXNzZXJ0X2NtcChzZWxm
LCB4LCB5LCByZXN1bHQpOgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdlcl93b3JrZXJfYnJva2VyLnB5IGIvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdlcl93b3JrZXJfYnJv
a2VyLnB5CmluZGV4IGQ1ZDA4OWEuLjJmMTQ3YjkgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL21hbmFnZXJfd29ya2VyX2Jyb2tlci5w
eQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9t
YW5hZ2VyX3dvcmtlcl9icm9rZXIucHkKQEAgLTY1LDYgKzY1LDcgQEAgX2xvZyA9IGxvZ2dpbmcu
Z2V0TG9nZ2VyKF9fbmFtZV9fKQogTUFOQUdFUl9UT1BJQyA9ICdtYW5hZ2VycycKIEFOWV9XT1JL
RVJfVE9QSUMgPSAnd29ya2VycycKIAorcmV0cnkgPSBGYWxzZQogCiBkZWYgcnVudGltZV9vcHRp
b25zKCk6CiAgICAgIiIiUmV0dXJuIGEgbGlzdCBvZiBvcHRwYXJzZS5PcHRpb24gb2JqZWN0cyBm
b3IgYW55IHJ1bnRpbWUgdmFsdWVzIHVzZWQKQEAgLTEwNSw2ICsxMDYsMTQgQEAgZGVmIGdldChw
b3J0LCBvcHRpb25zLCBjbGllbnQsIHdvcmtlcl9jbGFzcyk6CiAgICAgcmV0dXJuIG1hbmFnZXJf
Y2xhc3MoYnJva2VyLCBwb3J0LCBvcHRpb25zLCBjbGllbnQsIHdvcmtlcl9jbGFzcykKIAogCitk
ZWYgcmVzdWx0c19kaXJlY3RvcnkocG9ydCk6CisgICAgcmVzdWx0c19kaXJlY3RvcnkgPSBwb3J0
LnJlc3VsdHNfZGlyZWN0b3J5KCkKKyAgICBpZiByZXRyeToKKyAgICAgICAgcmVzdWx0c19kaXJl
Y3RvcnkgPSBwb3J0LmZpbGVzeXN0ZW0uam9pbihyZXN1bHRzX2RpcmVjdG9yeSwgJ3JldHJpZXMn
KQorICAgICAgICBwb3J0LmZpbGVzeXN0ZW0ubWF5YmVfbWFrZV9kaXJlY3RvcnkocmVzdWx0c19k
aXJlY3RvcnkpCisgICAgcmV0dXJuIHJlc3VsdHNfZGlyZWN0b3J5CisKKwogY2xhc3MgQWJzdHJh
Y3RXb3JrZXIobWVzc2FnZV9icm9rZXIuQnJva2VyQ2xpZW50KToKICAgICBkZWYgX19pbml0X18o
c2VsZiwgd29ya2VyX2Nvbm5lY3Rpb24sIHdvcmtlcl9udW1iZXIsIG9wdGlvbnMpOgogICAgICAg
ICAiIiJUaGUgY29uc3RydWN0b3Igc2hvdWxkIGJlIHVzZWQgdG8gZG8gYW55IHNpbXBsZSBpbml0
aWFsaXphdGlvbgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVz
dHMvY29udHJvbGxlcnMvdGVzdF9yZXN1bHRfd3JpdGVyLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvdGVzdF9yZXN1bHRfd3JpdGVyLnB5CmluZGV4
IDk3OGMyM2IuLjBiMjAxODMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5
b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL3Rlc3RfcmVzdWx0X3dyaXRlci5weQorKysgYi9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy90ZXN0X3Jlc3VsdF93cml0
ZXIucHkKQEAgLTMxLDYgKzMxLDcgQEAgaW1wb3J0IGxvZ2dpbmcKIGltcG9ydCBvcwogCiBmcm9t
IHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0uY3Jhc2hsb2dzIGltcG9ydCBDcmFzaExvZ3MKK2Zyb20g
d2Via2l0cHkubGF5b3V0X3Rlc3RzLmNvbnRyb2xsZXJzIGltcG9ydCBtYW5hZ2VyX3dvcmtlcl9i
cm9rZXIKIGZyb20gd2Via2l0cHkubGF5b3V0X3Rlc3RzLm1vZGVscyBpbXBvcnQgdGVzdF9mYWls
dXJlcwogCiAKQEAgLTQwLDcgKzQxLDcgQEAgX2xvZyA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKF9fbmFt
ZV9fKQogZGVmIHdyaXRlX3Rlc3RfcmVzdWx0KHBvcnQsIHRlc3RfbmFtZSwgZHJpdmVyX291dHB1
dCwKICAgICAgICAgICAgICAgICAgICAgICBleHBlY3RlZF9kcml2ZXJfb3V0cHV0LCBmYWlsdXJl
cyk6CiAgICAgIiIiV3JpdGUgdGhlIHRlc3QgcmVzdWx0IHRvIHRoZSByZXN1bHQgb3V0cHV0IGRp
cmVjdG9yeS4iIiIKLSAgICByb290X291dHB1dF9kaXIgPSBwb3J0LnJlc3VsdHNfZGlyZWN0b3J5
KCkKKyAgICByb290X291dHB1dF9kaXIgPSBtYW5hZ2VyX3dvcmtlcl9icm9rZXIucmVzdWx0c19k
aXJlY3RvcnkocG9ydCkKICAgICB3cml0ZXIgPSBUZXN0UmVzdWx0V3JpdGVyKHBvcnQsIHJvb3Rf
b3V0cHV0X2RpciwgdGVzdF9uYW1lKQogICAgIGlmIGRyaXZlcl9vdXRwdXQuZXJyb3I6CiAgICAg
ICAgIHdyaXRlci53cml0ZV9zdGRlcnIoZHJpdmVyX291dHB1dC5lcnJvcikKZGlmZiAtLWdpdCBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL3dvcmtlci5w
eSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL3dvcmtl
ci5weQppbmRleCA1ZGQzM2EyLi42M2Y1NmFiIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy93b3JrZXIucHkKKysrIGIvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvd29ya2VyLnB5CkBAIC02OCw3
ICs2OCw3IEBAIGNsYXNzIFdvcmtlcihtYW5hZ2VyX3dvcmtlcl9icm9rZXIuQWJzdHJhY3RXb3Jr
ZXIpOgogICAgICAgICBzZWxmLl9maWxlc3lzdGVtID0gcG9ydC5maWxlc3lzdGVtCiAgICAgICAg
IHNlbGYuX2JhdGNoX2NvdW50ID0gMAogICAgICAgICBzZWxmLl9iYXRjaF9zaXplID0gc2VsZi5f
b3B0aW9ucy5iYXRjaF9zaXplIG9yIDAKLSAgICAgICAgdGVzdHNfcnVuX2ZpbGVuYW1lID0gc2Vs
Zi5fZmlsZXN5c3RlbS5qb2luKHBvcnQucmVzdWx0c19kaXJlY3RvcnkoKSwgInRlc3RzX3J1biVk
LnR4dCIgJSBzZWxmLl93b3JrZXJfbnVtYmVyKQorICAgICAgICB0ZXN0c19ydW5fZmlsZW5hbWUg
PSBzZWxmLl9maWxlc3lzdGVtLmpvaW4obWFuYWdlcl93b3JrZXJfYnJva2VyLnJlc3VsdHNfZGly
ZWN0b3J5KHNlbGYuX3BvcnQpLCAidGVzdHNfcnVuJWQudHh0IiAlIHNlbGYuX3dvcmtlcl9udW1i
ZXIpCiAgICAgICAgIHNlbGYuX3Rlc3RzX3J1bl9maWxlID0gc2VsZi5fZmlsZXN5c3RlbS5vcGVu
X3RleHRfZmlsZV9mb3Jfd3JpdGluZyh0ZXN0c19ydW5fZmlsZW5hbWUpCiAKICAgICBkZWYgY2Fu
Y2VsKHNlbGYpOgo=
</data>
<flag name="review"
          id="114812"
          type_id="1"
          status="-"
          setter="dpranke"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>117193</attachid>
            <date>2011-11-30 07:44:45 -0800</date>
            <delta_ts>2011-12-01 06:49:37 -0800</delta_ts>
            <desc>proposed fix</desc>
            <filename>1130.patch</filename>
            <type>text/plain</type>
            <size>12677</size>
            <attacher name="Kristóf Kosztyó">kkristof</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBhYzA1
ZTU3Li5lN2I0MzMwIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMzMgQEAKKzIwMTEtMTEtMzAgIEtyaXN0w7NmIEtvc3p0ecOzICA8
a2tyaXN0b2ZAaW5mLnUtc3plZ2VkLmh1PgorCisgICAgICAgIHRlc3RzX3J1bjAudHh0IGdldHMg
Y2xvYmJlcmVkIHdoZW4gcmUtcnVubmluZyBmYWlsaW5nIHRlc3RzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02Mzg0NAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRf
dGVzdHMvY29udHJvbGxlcnMvbWFuYWdlci5weToKKyAgICAgICAgKE1hbmFnZXIucmVzdWx0c19k
aXJlY3RvcnkpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRy
b2xsZXJzL21hbmFnZXJfd29ya2VyX2Jyb2tlci5weToKKyAgICAgICAgKEFic3RyYWN0V29ya2Vy
Ll9faW5pdF9fKToKKyAgICAgICAgKF9NYW5hZ2VyQ29ubmVjdGlvbi5zdGFydF93b3JrZXIpOgor
ICAgICAgICAoX0lubGluZU1hbmFnZXIuc3RhcnRfd29ya2VyKToKKyAgICAgICAgKF9NdWx0aVBy
b2Nlc3NNYW5hZ2VyLnN0YXJ0X3dvcmtlcik6CisgICAgICAgIChfV29ya2VyQ29ubmVjdGlvbi5f
X2luaXRfXyk6CisgICAgICAgIChfSW5saW5lV29ya2VyQ29ubmVjdGlvbi5fX2luaXRfXyk6Cisg
ICAgICAgIChfTXVsdGlQcm9jZXNzV29ya2VyQ29ubmVjdGlvbi5fX2luaXRfXyk6CisgICAgICAg
ICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdlcl93b3Jr
ZXJfYnJva2VyX3VuaXR0ZXN0LnB5OgorICAgICAgICAoX1Rlc3RXb3JrZXIuX19pbml0X18pOgor
ICAgICAgICAoX1Rlc3RzTWl4aW4udGVzdF9jYW5jZWwpOgorICAgICAgICAoX1Rlc3RzTWl4aW4u
dGVzdF9kb25lKToKKyAgICAgICAgKF9UZXN0c01peGluLnRlc3RfdW5rbm93bl9tZXNzYWdlKToK
KyAgICAgICAgKEludGVyZmFjZVRlc3QudGVzdF9tYW5hZ2VyY29ubmVjdGlvbl9pc19hYnN0cmFj
dCk6CisgICAgICAgIChJbnRlcmZhY2VUZXN0LnRlc3Rfd29ya2VyY29ubmVjdGlvbl9pc19hYnN0
cmFjdCk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxl
cnMvd29ya2VyLnB5OgorICAgICAgICAoV29ya2VyLl9faW5pdF9fKToKKyAgICAgICAgKFdvcmtl
ci5zYWZlX2luaXQpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1
bl93ZWJraXRfdGVzdHNfaW50ZWdyYXRpb250ZXN0LnB5OgorICAgICAgICAoTWFpblRlc3QudGVz
dF9yZXRyaWVzX2RpcmVjdG9yeSk6CisKIDIwMTEtMTEtMzAgIFNpbW9uIEhhdXNtYW5uICA8c2lt
b24uaGF1c21hbm5Abm9raWEuY29tPgogCiAgICAgICAgIFtRdF0gUmVtb3ZlIGRlcGVuZGVuY3kg
b2YgUXQgRFJUIG9uIEphdmFTY3JpcHRDb3JlLgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdlci5weSBiL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL21hbmFnZXIucHkKaW5kZXggYWQ0
YmUyYy4uYmFiNjA5ZSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRf
dGVzdHMvY29udHJvbGxlcnMvbWFuYWdlci5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9tYW5hZ2VyLnB5CkBAIC03NjgsNyArNzY4LDcgQEAg
Y2xhc3MgTWFuYWdlcihvYmplY3QpOgogCiAgICAgICAgIHNlbGYuX3ByaW50ZXIucHJpbnRfdXBk
YXRlKCdTdGFydGluZyAlcyAuLi4nICUgZ3JhbW1hci5wbHVyYWxpemUoJ3dvcmtlcicsIG51bV93
b3JrZXJzKSkKICAgICAgICAgZm9yIHdvcmtlcl9udW1iZXIgaW4geHJhbmdlKG51bV93b3JrZXJz
KToKLSAgICAgICAgICAgIHdvcmtlcl9jb25uZWN0aW9uID0gbWFuYWdlcl9jb25uZWN0aW9uLnN0
YXJ0X3dvcmtlcih3b3JrZXJfbnVtYmVyKQorICAgICAgICAgICAgd29ya2VyX2Nvbm5lY3Rpb24g
PSBtYW5hZ2VyX2Nvbm5lY3Rpb24uc3RhcnRfd29ya2VyKHdvcmtlcl9udW1iZXIsIHNlbGYucmVz
dWx0c19kaXJlY3RvcnkoKSkKICAgICAgICAgICAgIHdvcmtlcl9zdGF0ZSA9IF9Xb3JrZXJTdGF0
ZSh3b3JrZXJfbnVtYmVyLCB3b3JrZXJfY29ubmVjdGlvbikKICAgICAgICAgICAgIHNlbGYuX3dv
cmtlcl9zdGF0ZXNbd29ya2VyX2Nvbm5lY3Rpb24ubmFtZV0gPSB3b3JrZXJfc3RhdGUKIApAQCAt
ODI2LDYgKzgyNiwxMyBAQCBjbGFzcyBNYW5hZ2VyKG9iamVjdCk6CiAgICAgICAgICMgRklYTUU6
IHNob3VsZCB0aGlzIGJlIGEgY2xhc3MgaW5zdGVhZCBvZiBhIHR1cGxlPwogICAgICAgICByZXR1
cm4gKGludGVycnVwdGVkLCBrZXlib2FyZF9pbnRlcnJ1cHRlZCwgdGhyZWFkX3RpbWluZ3MsIHNl
bGYuX2dyb3VwX3N0YXRzLCBzZWxmLl9hbGxfcmVzdWx0cykKIAorICAgIGRlZiByZXN1bHRzX2Rp
cmVjdG9yeShzZWxmKToKKyAgICAgICAgaWYgbm90IHNlbGYuX3JldHJ5aW5nOgorICAgICAgICAg
ICAgcmV0dXJuIHNlbGYuX3Jlc3VsdHNfZGlyZWN0b3J5CisgICAgICAgIGVsc2U6CisgICAgICAg
ICAgICBzZWxmLl9wb3J0Ll9maWxlc3lzdGVtLm1heWJlX21ha2VfZGlyZWN0b3J5KHNlbGYuX3Bv
cnQuX2ZpbGVzeXN0ZW0uam9pbihzZWxmLl9yZXN1bHRzX2RpcmVjdG9yeSwgJ3JldHJpZXMnKSkK
KyAgICAgICAgICAgIHJldHVybiBzZWxmLl9wb3J0Ll9maWxlc3lzdGVtLmpvaW4oc2VsZi5fcmVz
dWx0c19kaXJlY3RvcnksICdyZXRyaWVzJykKKwogICAgIGRlZiB1cGRhdGUoc2VsZik6CiAgICAg
ICAgIHNlbGYudXBkYXRlX3N1bW1hcnkoc2VsZi5fY3VycmVudF9yZXN1bHRfc3VtbWFyeSkKIApk
aWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxl
cnMvbWFuYWdlcl93b3JrZXJfYnJva2VyLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdlcl93b3JrZXJfYnJva2VyLnB5CmluZGV4IGQ1ZDA4
OWEuLmRhOTYwYmQgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rl
c3RzL2NvbnRyb2xsZXJzL21hbmFnZXJfd29ya2VyX2Jyb2tlci5weQorKysgYi9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9tYW5hZ2VyX3dvcmtlcl9icm9r
ZXIucHkKQEAgLTEwNiw3ICsxMDYsNyBAQCBkZWYgZ2V0KHBvcnQsIG9wdGlvbnMsIGNsaWVudCwg
d29ya2VyX2NsYXNzKToKIAogCiBjbGFzcyBBYnN0cmFjdFdvcmtlcihtZXNzYWdlX2Jyb2tlci5C
cm9rZXJDbGllbnQpOgotICAgIGRlZiBfX2luaXRfXyhzZWxmLCB3b3JrZXJfY29ubmVjdGlvbiwg
d29ya2VyX251bWJlciwgb3B0aW9ucyk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHdvcmtlcl9j
b25uZWN0aW9uLCB3b3JrZXJfbnVtYmVyLCByZXN1bHRzX2RpcmVjdG9yeSwgb3B0aW9ucyk6CiAg
ICAgICAgICIiIlRoZSBjb25zdHJ1Y3RvciBzaG91bGQgYmUgdXNlZCB0byBkbyBhbnkgc2ltcGxl
IGluaXRpYWxpemF0aW9uCiAgICAgICAgIG5lY2Vzc2FyeSwgYnV0IHNob3VsZCBub3QgZG8gYW55
dGhpbmcgdGhhdCBjcmVhdGVzIGRhdGEgc3RydWN0dXJlcwogICAgICAgICB0aGF0IGNhbm5vdCBi
ZSBQaWNrbGVkIG9yIHNlbnQgYWNyb3NzIHByb2Nlc3NlcyAobGlrZSBvcGVuaW5nCkBAIC0xMjMs
NiArMTIzLDcgQEAgY2xhc3MgQWJzdHJhY3RXb3JrZXIobWVzc2FnZV9icm9rZXIuQnJva2VyQ2xp
ZW50KToKICAgICAgICAgc2VsZi5fb3B0aW9ucyA9IG9wdGlvbnMKICAgICAgICAgc2VsZi5fd29y
a2VyX251bWJlciA9IHdvcmtlcl9udW1iZXIKICAgICAgICAgc2VsZi5fbmFtZSA9ICd3b3JrZXIv
JWQnICUgd29ya2VyX251bWJlcgorICAgICAgICBzZWxmLnJlc3VsdHNfZGlyZWN0b3J5ID0gcmVz
dWx0c19kaXJlY3RvcnkKIAogICAgIGRlZiBydW4oc2VsZiwgcG9ydCk6CiAgICAgICAgICIiIkNh
bGxiYWNrIGZvciB0aGUgd29ya2VyIHRvIHN0YXJ0IGV4ZWN1dGluZy4gVHlwaWNhbGx5IGRvZXMg
YW55CkBAIC0xNTEsNyArMTUyLDcgQEAgY2xhc3MgX01hbmFnZXJDb25uZWN0aW9uKG1lc3NhZ2Vf
YnJva2VyLkJyb2tlckNvbm5lY3Rpb24pOgogICAgICAgICBzZWxmLl9vcHRpb25zID0gb3B0aW9u
cwogICAgICAgICBzZWxmLl93b3JrZXJfY2xhc3MgPSB3b3JrZXJfY2xhc3MKIAotICAgIGRlZiBz
dGFydF93b3JrZXIoc2VsZiwgd29ya2VyX251bWJlcik6CisgICAgZGVmIHN0YXJ0X3dvcmtlcihz
ZWxmLCB3b3JrZXJfbnVtYmVyLCByZXN1bHRzX2RpcmVjdG9yeSk6CiAgICAgICAgIHJhaXNlIE5v
dEltcGxlbWVudGVkRXJyb3IKIAogCkBAIC0xNjEsOSArMTYyLDkgQEAgY2xhc3MgX0lubGluZU1h
bmFnZXIoX01hbmFnZXJDb25uZWN0aW9uKToKICAgICAgICAgc2VsZi5fcG9ydCA9IHBvcnQKICAg
ICAgICAgc2VsZi5faW5saW5lX3dvcmtlciA9IE5vbmUKIAotICAgIGRlZiBzdGFydF93b3JrZXIo
c2VsZiwgd29ya2VyX251bWJlcik6CisgICAgZGVmIHN0YXJ0X3dvcmtlcihzZWxmLCB3b3JrZXJf
bnVtYmVyLCByZXN1bHRzX2RpcmVjdG9yeSk6CiAgICAgICAgIHNlbGYuX2lubGluZV93b3JrZXIg
PSBfSW5saW5lV29ya2VyQ29ubmVjdGlvbihzZWxmLl9icm9rZXIsIHNlbGYuX3BvcnQsCi0gICAg
ICAgICAgICBzZWxmLl9jbGllbnQsIHNlbGYuX3dvcmtlcl9jbGFzcywgd29ya2VyX251bWJlcikK
KyAgICAgICAgICAgIHNlbGYuX2NsaWVudCwgc2VsZi5fd29ya2VyX2NsYXNzLCB3b3JrZXJfbnVt
YmVyLCByZXN1bHRzX2RpcmVjdG9yeSkKICAgICAgICAgcmV0dXJuIHNlbGYuX2lubGluZV93b3Jr
ZXIKIAogICAgIGRlZiBydW5fbWVzc2FnZV9sb29wKHNlbGYsIGRlbGF5X3NlY3M9Tm9uZSk6CkBA
IC0xODIsMTYgKzE4MywxNiBAQCBjbGFzcyBfTXVsdGlQcm9jZXNzTWFuYWdlcihfTWFuYWdlckNv
bm5lY3Rpb24pOgogICAgICAgICBfTWFuYWdlckNvbm5lY3Rpb24uX19pbml0X18oc2VsZiwgYnJv
a2VyLCBvcHRpb25zLCBjbGllbnQsIHdvcmtlcl9jbGFzcykKICAgICAgICAgc2VsZi5fcGxhdGZv
cm1fbmFtZSA9IHBvcnQucmVhbF9uYW1lKCkKIAotICAgIGRlZiBzdGFydF93b3JrZXIoc2VsZiwg
d29ya2VyX251bWJlcik6CisgICAgZGVmIHN0YXJ0X3dvcmtlcihzZWxmLCB3b3JrZXJfbnVtYmVy
LCByZXN1bHRzX2RpcmVjdG9yeSk6CiAgICAgICAgIHdvcmtlcl9jb25uZWN0aW9uID0gX011bHRp
UHJvY2Vzc1dvcmtlckNvbm5lY3Rpb24oc2VsZi5fYnJva2VyLCBzZWxmLl9wbGF0Zm9ybV9uYW1l
LAotICAgICAgICAgICAgc2VsZi5fd29ya2VyX2NsYXNzLCB3b3JrZXJfbnVtYmVyLCBzZWxmLl9v
cHRpb25zKQorICAgICAgICAgICAgc2VsZi5fd29ya2VyX2NsYXNzLCB3b3JrZXJfbnVtYmVyLCBy
ZXN1bHRzX2RpcmVjdG9yeSwgc2VsZi5fb3B0aW9ucykKICAgICAgICAgd29ya2VyX2Nvbm5lY3Rp
b24uc3RhcnQoKQogICAgICAgICByZXR1cm4gd29ya2VyX2Nvbm5lY3Rpb24KIAogCiBjbGFzcyBf
V29ya2VyQ29ubmVjdGlvbihtZXNzYWdlX2Jyb2tlci5Ccm9rZXJDb25uZWN0aW9uKToKLSAgICBk
ZWYgX19pbml0X18oc2VsZiwgYnJva2VyLCB3b3JrZXJfY2xhc3MsIHdvcmtlcl9udW1iZXIsIG9w
dGlvbnMpOgotICAgICAgICBzZWxmLl9jbGllbnQgPSB3b3JrZXJfY2xhc3Moc2VsZiwgd29ya2Vy
X251bWJlciwgb3B0aW9ucykKKyAgICBkZWYgX19pbml0X18oc2VsZiwgYnJva2VyLCB3b3JrZXJf
Y2xhc3MsIHdvcmtlcl9udW1iZXIsIHJlc3VsdHNfZGlyZWN0b3J5LCBvcHRpb25zKToKKyAgICAg
ICAgc2VsZi5fY2xpZW50ID0gd29ya2VyX2NsYXNzKHNlbGYsIHdvcmtlcl9udW1iZXIsIHJlc3Vs
dHNfZGlyZWN0b3J5LCBvcHRpb25zKQogICAgICAgICBzZWxmLm5hbWUgPSBzZWxmLl9jbGllbnQu
bmFtZSgpCiAgICAgICAgIG1lc3NhZ2VfYnJva2VyLkJyb2tlckNvbm5lY3Rpb24uX19pbml0X18o
c2VsZiwgYnJva2VyLCBzZWxmLl9jbGllbnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgQU5ZX1dPUktFUl9UT1BJQywgTUFOQUdFUl9UT1BJQykKQEAg
LTIxMCw4ICsyMTEsOCBAQCBjbGFzcyBfV29ya2VyQ29ubmVjdGlvbihtZXNzYWdlX2Jyb2tlci5C
cm9rZXJDb25uZWN0aW9uKToKIAogCiBjbGFzcyBfSW5saW5lV29ya2VyQ29ubmVjdGlvbihfV29y
a2VyQ29ubmVjdGlvbik6Ci0gICAgZGVmIF9faW5pdF9fKHNlbGYsIGJyb2tlciwgcG9ydCwgbWFu
YWdlcl9jbGllbnQsIHdvcmtlcl9jbGFzcywgd29ya2VyX251bWJlcik6Ci0gICAgICAgIF9Xb3Jr
ZXJDb25uZWN0aW9uLl9faW5pdF9fKHNlbGYsIGJyb2tlciwgd29ya2VyX2NsYXNzLCB3b3JrZXJf
bnVtYmVyLCBwb3J0Lm9wdGlvbnMpCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGJyb2tlciwgcG9y
dCwgbWFuYWdlcl9jbGllbnQsIHdvcmtlcl9jbGFzcywgd29ya2VyX251bWJlciwgcmVzdWx0c19k
aXJlY3RvcnkpOgorICAgICAgICBfV29ya2VyQ29ubmVjdGlvbi5fX2luaXRfXyhzZWxmLCBicm9r
ZXIsIHdvcmtlcl9jbGFzcywgd29ya2VyX251bWJlciwgcmVzdWx0c19kaXJlY3RvcnksIHBvcnQu
b3B0aW9ucykKICAgICAgICAgc2VsZi5fYWxpdmUgPSBGYWxzZQogICAgICAgICBzZWxmLl9wb3J0
ID0gcG9ydAogICAgICAgICBzZWxmLl9tYW5hZ2VyX2NsaWVudCA9IG1hbmFnZXJfY2xpZW50CkBA
IC0yNzIsOCArMjczLDggQEAgaWYgbXVsdGlwcm9jZXNzaW5nOgogCiAKIGNsYXNzIF9NdWx0aVBy
b2Nlc3NXb3JrZXJDb25uZWN0aW9uKF9Xb3JrZXJDb25uZWN0aW9uKToKLSAgICBkZWYgX19pbml0
X18oc2VsZiwgYnJva2VyLCBwbGF0Zm9ybV9uYW1lLCB3b3JrZXJfY2xhc3MsIHdvcmtlcl9udW1i
ZXIsIG9wdGlvbnMpOgotICAgICAgICBfV29ya2VyQ29ubmVjdGlvbi5fX2luaXRfXyhzZWxmLCBi
cm9rZXIsIHdvcmtlcl9jbGFzcywgd29ya2VyX251bWJlciwgb3B0aW9ucykKKyAgICBkZWYgX19p
bml0X18oc2VsZiwgYnJva2VyLCBwbGF0Zm9ybV9uYW1lLCB3b3JrZXJfY2xhc3MsIHdvcmtlcl9u
dW1iZXIsIHJlc3VsdHNfZGlyZWN0b3J5LCBvcHRpb25zKToKKyAgICAgICAgX1dvcmtlckNvbm5l
Y3Rpb24uX19pbml0X18oc2VsZiwgYnJva2VyLCB3b3JrZXJfY2xhc3MsIHdvcmtlcl9udW1iZXIs
IHJlc3VsdHNfZGlyZWN0b3J5LCBvcHRpb25zKQogICAgICAgICBzZWxmLl9wcm9jID0gX1Byb2Nl
c3Moc2VsZiwgcGxhdGZvcm1fbmFtZSwgb3B0aW9ucywgc2VsZi5fY2xpZW50KQogCiAgICAgZGVm
IGNhbmNlbChzZWxmKToKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0
X3Rlc3RzL2NvbnRyb2xsZXJzL21hbmFnZXJfd29ya2VyX2Jyb2tlcl91bml0dGVzdC5weSBiL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL21hbmFnZXJfd29y
a2VyX2Jyb2tlcl91bml0dGVzdC5weQppbmRleCBlODA3NjVhLi44ZTYzZjkzIDEwMDY0NAotLS0g
YS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9tYW5hZ2Vy
X3dvcmtlcl9icm9rZXJfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9s
YXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdlcl93b3JrZXJfYnJva2VyX3VuaXR0ZXN0LnB5
CkBAIC02Nyw3ICs2Nyw3IEBAIGRlZiBtYWtlX2Jyb2tlcihtYW5hZ2VyLCB3b3JrZXJfbW9kZWws
IHN0YXJ0X3F1ZXVlPU5vbmUsIHN0b3BfcXVldWU9Tm9uZSk6CiAKIAogY2xhc3MgX1Rlc3RXb3Jr
ZXIobWFuYWdlcl93b3JrZXJfYnJva2VyLkFic3RyYWN0V29ya2VyKToKLSAgICBkZWYgX19pbml0
X18oc2VsZiwgYnJva2VyX2Nvbm5lY3Rpb24sIHdvcmtlcl9udW1iZXIsIG9wdGlvbnMpOgorICAg
IGRlZiBfX2luaXRfXyhzZWxmLCBicm9rZXJfY29ubmVjdGlvbiwgd29ya2VyX251bWJlciwgcmVz
dWx0c19kaXJlY3RvcnksIG9wdGlvbnMpOgogICAgICAgICBzZWxmLl9icm9rZXJfY29ubmVjdGlv
biA9IGJyb2tlcl9jb25uZWN0aW9uCiAgICAgICAgIHNlbGYuX29wdGlvbnMgPSBvcHRpb25zCiAg
ICAgICAgIHNlbGYuX3dvcmtlcl9udW1iZXIgPSB3b3JrZXJfbnVtYmVyCkBAIC0xNzIsNyArMTcy
LDcgQEAgY2xhc3MgX1Rlc3RzTWl4aW4ob2JqZWN0KToKIAogICAgIGRlZiB0ZXN0X2NhbmNlbChz
ZWxmKToKICAgICAgICAgc2VsZi5tYWtlX2Jyb2tlcigpCi0gICAgICAgIHdvcmtlciA9IHNlbGYu
X2Jyb2tlci5zdGFydF93b3JrZXIoMCkKKyAgICAgICAgd29ya2VyID0gc2VsZi5fYnJva2VyLnN0
YXJ0X3dvcmtlcigwLCBOb25lKQogICAgICAgICB3b3JrZXIuY2FuY2VsKCkKICAgICAgICAgc2Vs
Zi5fYnJva2VyLnBvc3RfbWVzc2FnZSgndGVzdCcsIDEsICdoZWxsbywgd29ybGQnKQogICAgICAg
ICB3b3JrZXIuam9pbigwLjUpCkBAIC0xODAsNyArMTgwLDcgQEAgY2xhc3MgX1Rlc3RzTWl4aW4o
b2JqZWN0KToKIAogICAgIGRlZiB0ZXN0X2RvbmUoc2VsZik6CiAgICAgICAgIHNlbGYubWFrZV9i
cm9rZXIoKQotICAgICAgICB3b3JrZXIgPSBzZWxmLl9icm9rZXIuc3RhcnRfd29ya2VyKDApCisg
ICAgICAgIHdvcmtlciA9IHNlbGYuX2Jyb2tlci5zdGFydF93b3JrZXIoMCwgTm9uZSkKICAgICAg
ICAgc2VsZi5fYnJva2VyLnBvc3RfbWVzc2FnZSgndGVzdCcsIDEsICdoZWxsbywgd29ybGQnKQog
ICAgICAgICBzZWxmLl9icm9rZXIucG9zdF9tZXNzYWdlKCdzdG9wJykKICAgICAgICAgc2VsZi5f
YnJva2VyLnJ1bl9tZXNzYWdlX2xvb3AoKQpAQCAtMTkyLDcgKzE5Miw3IEBAIGNsYXNzIF9UZXN0
c01peGluKG9iamVjdCk6CiAKICAgICBkZWYgdGVzdF91bmtub3duX21lc3NhZ2Uoc2VsZik6CiAg
ICAgICAgIHNlbGYubWFrZV9icm9rZXIoKQotICAgICAgICB3b3JrZXIgPSBzZWxmLl9icm9rZXIu
c3RhcnRfd29ya2VyKDApCisgICAgICAgIHdvcmtlciA9IHNlbGYuX2Jyb2tlci5zdGFydF93b3Jr
ZXIoMCwgTm9uZSkKICAgICAgICAgc2VsZi5fYnJva2VyLnBvc3RfbWVzc2FnZSgndW5rbm93bicp
CiAgICAgICAgIHNlbGYuX2Jyb2tlci5ydW5fbWVzc2FnZV9sb29wKCkKICAgICAgICAgd29ya2Vy
LmpvaW4oMC41KQpAQCAtMjM0LDEzICsyMzQsMTMgQEAgY2xhc3MgSW50ZXJmYWNlVGVzdCh1bml0
dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgICMgc2lnbmF0dXJlIHdlIGV4cGVjdC4KICAgICAgICAg
YnJva2VyID0gbWFrZV9icm9rZXIoc2VsZiwgJ2lubGluZScpCiAgICAgICAgIG9iaiA9IG1hbmFn
ZXJfd29ya2VyX2Jyb2tlci5fTWFuYWdlckNvbm5lY3Rpb24oYnJva2VyLl9icm9rZXIsIE5vbmUs
IHNlbGYsIE5vbmUpCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE5vdEltcGxlbWVudGVkRXJy
b3IsIG9iai5zdGFydF93b3JrZXIsIDApCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE5vdElt
cGxlbWVudGVkRXJyb3IsIG9iai5zdGFydF93b3JrZXIsIDAsIE5vbmUpCiAKICAgICBkZWYgdGVz
dF93b3JrZXJjb25uZWN0aW9uX2lzX2Fic3RyYWN0KHNlbGYpOgogICAgICAgICAjIFRlc3QgdGhh
dCBhbGwgdGhlIGJhc2UgY2xhc3MgbWV0aG9kcyBhcmUgYWJzdHJhY3QgYW5kIGhhdmUgdGhlCiAg
ICAgICAgICMgc2lnbmF0dXJlIHdlIGV4cGVjdC4KICAgICAgICAgYnJva2VyID0gbWFrZV9icm9r
ZXIoc2VsZiwgJ2lubGluZScpCi0gICAgICAgIG9iaiA9IG1hbmFnZXJfd29ya2VyX2Jyb2tlci5f
V29ya2VyQ29ubmVjdGlvbihicm9rZXIuX2Jyb2tlciwgX1Rlc3RXb3JrZXIsIDAsIE5vbmUpCisg
ICAgICAgIG9iaiA9IG1hbmFnZXJfd29ya2VyX2Jyb2tlci5fV29ya2VyQ29ubmVjdGlvbihicm9r
ZXIuX2Jyb2tlciwgX1Rlc3RXb3JrZXIsIDAsIE5vbmUsIE5vbmUpCiAgICAgICAgIHNlbGYuYXNz
ZXJ0UmFpc2VzKE5vdEltcGxlbWVudGVkRXJyb3IsIG9iai5jYW5jZWwpCiAgICAgICAgIHNlbGYu
YXNzZXJ0UmFpc2VzKE5vdEltcGxlbWVudGVkRXJyb3IsIG9iai5pc19hbGl2ZSkKICAgICAgICAg
c2VsZi5hc3NlcnRSYWlzZXMoTm90SW1wbGVtZW50ZWRFcnJvciwgb2JqLmpvaW4sIE5vbmUpCmRp
ZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVy
cy93b3JrZXIucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9s
bGVycy93b3JrZXIucHkKaW5kZXggNWRkMzNhMi4uMTMwMzhlYiAxMDA2NDQKLS0tIGEvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvd29ya2VyLnB5CisrKyBi
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL3dvcmtlci5w
eQpAQCAtNDMsOCArNDMsOCBAQCBfbG9nID0gbG9nZ2luZy5nZXRMb2dnZXIoX19uYW1lX18pCiAK
IAogY2xhc3MgV29ya2VyKG1hbmFnZXJfd29ya2VyX2Jyb2tlci5BYnN0cmFjdFdvcmtlcik6Ci0g
ICAgZGVmIF9faW5pdF9fKHNlbGYsIHdvcmtlcl9jb25uZWN0aW9uLCB3b3JrZXJfbnVtYmVyLCBv
cHRpb25zKToKLSAgICAgICAgbWFuYWdlcl93b3JrZXJfYnJva2VyLkFic3RyYWN0V29ya2VyLl9f
aW5pdF9fKHNlbGYsIHdvcmtlcl9jb25uZWN0aW9uLCB3b3JrZXJfbnVtYmVyLCBvcHRpb25zKQor
ICAgIGRlZiBfX2luaXRfXyhzZWxmLCB3b3JrZXJfY29ubmVjdGlvbiwgd29ya2VyX251bWJlciwg
cmVzdWx0c19kaXJlY3RvcnksIG9wdGlvbnMpOgorICAgICAgICBtYW5hZ2VyX3dvcmtlcl9icm9r
ZXIuQWJzdHJhY3RXb3JrZXIuX19pbml0X18oc2VsZiwgd29ya2VyX2Nvbm5lY3Rpb24sIHdvcmtl
cl9udW1iZXIsIHJlc3VsdHNfZGlyZWN0b3J5LCBvcHRpb25zKQogICAgICAgICBzZWxmLl9kb25l
ID0gRmFsc2UKICAgICAgICAgc2VsZi5fY2FuY2VsZWQgPSBGYWxzZQogICAgICAgICBzZWxmLl9w
b3J0ID0gTm9uZQpAQCAtNjgsNyArNjgsNyBAQCBjbGFzcyBXb3JrZXIobWFuYWdlcl93b3JrZXJf
YnJva2VyLkFic3RyYWN0V29ya2VyKToKICAgICAgICAgc2VsZi5fZmlsZXN5c3RlbSA9IHBvcnQu
ZmlsZXN5c3RlbQogICAgICAgICBzZWxmLl9iYXRjaF9jb3VudCA9IDAKICAgICAgICAgc2VsZi5f
YmF0Y2hfc2l6ZSA9IHNlbGYuX29wdGlvbnMuYmF0Y2hfc2l6ZSBvciAwCi0gICAgICAgIHRlc3Rz
X3J1bl9maWxlbmFtZSA9IHNlbGYuX2ZpbGVzeXN0ZW0uam9pbihwb3J0LnJlc3VsdHNfZGlyZWN0
b3J5KCksICJ0ZXN0c19ydW4lZC50eHQiICUgc2VsZi5fd29ya2VyX251bWJlcikKKyAgICAgICAg
dGVzdHNfcnVuX2ZpbGVuYW1lID0gc2VsZi5fZmlsZXN5c3RlbS5qb2luKHNlbGYucmVzdWx0c19k
aXJlY3RvcnksICJ0ZXN0c19ydW4lZC50eHQiICUgc2VsZi5fd29ya2VyX251bWJlcikKICAgICAg
ICAgc2VsZi5fdGVzdHNfcnVuX2ZpbGUgPSBzZWxmLl9maWxlc3lzdGVtLm9wZW5fdGV4dF9maWxl
X2Zvcl93cml0aW5nKHRlc3RzX3J1bl9maWxlbmFtZSkKIAogICAgIGRlZiBjYW5jZWwoc2VsZik6
CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9ydW5fd2Vi
a2l0X3Rlc3RzX2ludGVncmF0aW9udGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5
b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHNfaW50ZWdyYXRpb250ZXN0LnB5CmluZGV4IDVkMzdj
ZmUuLjRiYjNlZjMgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rl
c3RzL3J1bl93ZWJraXRfdGVzdHNfaW50ZWdyYXRpb250ZXN0LnB5CisrKyBiL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHNfaW50ZWdyYXRpb250ZXN0
LnB5CkBAIC02MjUsNiArNjI1LDExIEBAIGNsYXNzIE1haW5UZXN0KHVuaXR0ZXN0LlRlc3RDYXNl
KToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RzX2luY2x1
ZGVkPVRydWUsIGZpbGVzeXN0ZW09ZnMpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodXNlci5v
cGVuZWRfdXJscywgWycvdG1wL2N3ZC9mb28vcmVzdWx0cy5odG1sJ10pCiAKKyAgICBkZWYgdGVz
dF9yZXRyaWVzX2RpcmVjdG9yeShzZWxmKToKKyAgICAgICAgZnMgPSB1bml0X3Rlc3RfZmlsZXN5
c3RlbSgpCisgICAgICAgIHJlcywgb3V0LCBlcnIsIHVzZXIgPSBsb2dnaW5nX3J1bih0ZXN0c19p
bmNsdWRlZD1UcnVlLCBmaWxlc3lzdGVtPWZzKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoJy90
bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9yZXRyaWVzL3Rlc3RzX3J1bjAudHh0JyBpbiBmcy5maWxl
cykKKwogICAgICMgVGhlc2UgbmV4dCB0ZXN0cyB0ZXN0IHRoYXQgd2UgcnVuIHRoZSB0ZXN0cyBp
biBhc2NlbmRpbmcgYWxwaGFiZXRpY2FsCiAgICAgIyBvcmRlciBwZXIgZGlyZWN0b3J5LiBIVFRQ
IHRlc3RzIGFyZSBzaGFyZGVkIHNlcGFyYXRlbHkgZnJvbSBvdGhlciB0ZXN0cywKICAgICAjIHNv
IHdlIGhhdmUgdG8gdGVzdCBib3RoLgo=
</data>
<flag name="review"
          id="116545"
          type_id="1"
          status="+"
          setter="dpranke"
    />
    <flag name="commit-queue"
          id="116546"
          type_id="3"
          status="-"
          setter="dpranke"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>117411</attachid>
            <date>2011-12-01 06:49:37 -0800</date>
            <delta_ts>2011-12-01 13:36:03 -0800</delta_ts>
            <desc>proposed fix</desc>
            <filename>1201.patch</filename>
            <type>text/plain</type>
            <size>12628</size>
            <attacher name="Kristóf Kosztyó">kkristof</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBlOTk0
NWY0Li41Yzc0MGY2IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMzMgQEAKKzIwMTEtMTItMDEgIEtyaXN0w7NmIEtvc3p0ecOzICA8
a2tyaXN0b2ZAaW5mLnUtc3plZ2VkLmh1PgorCisgICAgICAgIHRlc3RzX3J1bjAudHh0IGdldHMg
Y2xvYmJlcmVkIHdoZW4gcmUtcnVubmluZyBmYWlsaW5nIHRlc3RzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02Mzg0NAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRf
dGVzdHMvY29udHJvbGxlcnMvbWFuYWdlci5weToKKyAgICAgICAgKE1hbmFnZXIucmVzdWx0c19k
aXJlY3RvcnkpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRy
b2xsZXJzL21hbmFnZXJfd29ya2VyX2Jyb2tlci5weToKKyAgICAgICAgKEFic3RyYWN0V29ya2Vy
Ll9faW5pdF9fKToKKyAgICAgICAgKF9NYW5hZ2VyQ29ubmVjdGlvbi5zdGFydF93b3JrZXIpOgor
ICAgICAgICAoX0lubGluZU1hbmFnZXIuc3RhcnRfd29ya2VyKToKKyAgICAgICAgKF9NdWx0aVBy
b2Nlc3NNYW5hZ2VyLnN0YXJ0X3dvcmtlcik6CisgICAgICAgIChfV29ya2VyQ29ubmVjdGlvbi5f
X2luaXRfXyk6CisgICAgICAgIChfSW5saW5lV29ya2VyQ29ubmVjdGlvbi5fX2luaXRfXyk6Cisg
ICAgICAgIChfTXVsdGlQcm9jZXNzV29ya2VyQ29ubmVjdGlvbi5fX2luaXRfXyk6CisgICAgICAg
ICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdlcl93b3Jr
ZXJfYnJva2VyX3VuaXR0ZXN0LnB5OgorICAgICAgICAoX1Rlc3RXb3JrZXIuX19pbml0X18pOgor
ICAgICAgICAoX1Rlc3RzTWl4aW4udGVzdF9jYW5jZWwpOgorICAgICAgICAoX1Rlc3RzTWl4aW4u
dGVzdF9kb25lKToKKyAgICAgICAgKF9UZXN0c01peGluLnRlc3RfdW5rbm93bl9tZXNzYWdlKToK
KyAgICAgICAgKEludGVyZmFjZVRlc3QudGVzdF9tYW5hZ2VyY29ubmVjdGlvbl9pc19hYnN0cmFj
dCk6CisgICAgICAgIChJbnRlcmZhY2VUZXN0LnRlc3Rfd29ya2VyY29ubmVjdGlvbl9pc19hYnN0
cmFjdCk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxl
cnMvd29ya2VyLnB5OgorICAgICAgICAoV29ya2VyLl9faW5pdF9fKToKKyAgICAgICAgKFdvcmtl
ci5zYWZlX2luaXQpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1
bl93ZWJraXRfdGVzdHNfaW50ZWdyYXRpb250ZXN0LnB5OgorICAgICAgICAoTWFpblRlc3QudGVz
dF9yZXRyaWVzX2RpcmVjdG9yeSk6CisKIDIwMTEtMTItMDEgIEFkYW0gUm9iZW4gIDxhcm9iZW5A
YXBwbGUuY29tPgogCiAgICAgICAgIEJ1aWxkYm90IGZpeApkaWZmIC0tZ2l0IGEvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdlci5weSBiL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL21hbmFnZXIucHkKaW5k
ZXggYWQ0YmUyYy4uYmFiNjA5ZSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9s
YXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdlci5weQorKysgYi9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9tYW5hZ2VyLnB5CkBAIC03NjgsNyArNzY4
LDcgQEAgY2xhc3MgTWFuYWdlcihvYmplY3QpOgogCiAgICAgICAgIHNlbGYuX3ByaW50ZXIucHJp
bnRfdXBkYXRlKCdTdGFydGluZyAlcyAuLi4nICUgZ3JhbW1hci5wbHVyYWxpemUoJ3dvcmtlcics
IG51bV93b3JrZXJzKSkKICAgICAgICAgZm9yIHdvcmtlcl9udW1iZXIgaW4geHJhbmdlKG51bV93
b3JrZXJzKToKLSAgICAgICAgICAgIHdvcmtlcl9jb25uZWN0aW9uID0gbWFuYWdlcl9jb25uZWN0
aW9uLnN0YXJ0X3dvcmtlcih3b3JrZXJfbnVtYmVyKQorICAgICAgICAgICAgd29ya2VyX2Nvbm5l
Y3Rpb24gPSBtYW5hZ2VyX2Nvbm5lY3Rpb24uc3RhcnRfd29ya2VyKHdvcmtlcl9udW1iZXIsIHNl
bGYucmVzdWx0c19kaXJlY3RvcnkoKSkKICAgICAgICAgICAgIHdvcmtlcl9zdGF0ZSA9IF9Xb3Jr
ZXJTdGF0ZSh3b3JrZXJfbnVtYmVyLCB3b3JrZXJfY29ubmVjdGlvbikKICAgICAgICAgICAgIHNl
bGYuX3dvcmtlcl9zdGF0ZXNbd29ya2VyX2Nvbm5lY3Rpb24ubmFtZV0gPSB3b3JrZXJfc3RhdGUK
IApAQCAtODI2LDYgKzgyNiwxMyBAQCBjbGFzcyBNYW5hZ2VyKG9iamVjdCk6CiAgICAgICAgICMg
RklYTUU6IHNob3VsZCB0aGlzIGJlIGEgY2xhc3MgaW5zdGVhZCBvZiBhIHR1cGxlPwogICAgICAg
ICByZXR1cm4gKGludGVycnVwdGVkLCBrZXlib2FyZF9pbnRlcnJ1cHRlZCwgdGhyZWFkX3RpbWlu
Z3MsIHNlbGYuX2dyb3VwX3N0YXRzLCBzZWxmLl9hbGxfcmVzdWx0cykKIAorICAgIGRlZiByZXN1
bHRzX2RpcmVjdG9yeShzZWxmKToKKyAgICAgICAgaWYgbm90IHNlbGYuX3JldHJ5aW5nOgorICAg
ICAgICAgICAgcmV0dXJuIHNlbGYuX3Jlc3VsdHNfZGlyZWN0b3J5CisgICAgICAgIGVsc2U6Cisg
ICAgICAgICAgICBzZWxmLl9wb3J0Ll9maWxlc3lzdGVtLm1heWJlX21ha2VfZGlyZWN0b3J5KHNl
bGYuX3BvcnQuX2ZpbGVzeXN0ZW0uam9pbihzZWxmLl9yZXN1bHRzX2RpcmVjdG9yeSwgJ3JldHJp
ZXMnKSkKKyAgICAgICAgICAgIHJldHVybiBzZWxmLl9wb3J0Ll9maWxlc3lzdGVtLmpvaW4oc2Vs
Zi5fcmVzdWx0c19kaXJlY3RvcnksICdyZXRyaWVzJykKKwogICAgIGRlZiB1cGRhdGUoc2VsZik6
CiAgICAgICAgIHNlbGYudXBkYXRlX3N1bW1hcnkoc2VsZi5fY3VycmVudF9yZXN1bHRfc3VtbWFy
eSkKIApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29u
dHJvbGxlcnMvbWFuYWdlcl93b3JrZXJfYnJva2VyLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdlcl93b3JrZXJfYnJva2VyLnB5CmluZGV4
IGQ1ZDA4OWEuLjBkY2FiZWIgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5
b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL21hbmFnZXJfd29ya2VyX2Jyb2tlci5weQorKysgYi9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9tYW5hZ2VyX3dvcmtl
cl9icm9rZXIucHkKQEAgLTEwNiw3ICsxMDYsNyBAQCBkZWYgZ2V0KHBvcnQsIG9wdGlvbnMsIGNs
aWVudCwgd29ya2VyX2NsYXNzKToKIAogCiBjbGFzcyBBYnN0cmFjdFdvcmtlcihtZXNzYWdlX2Jy
b2tlci5Ccm9rZXJDbGllbnQpOgotICAgIGRlZiBfX2luaXRfXyhzZWxmLCB3b3JrZXJfY29ubmVj
dGlvbiwgd29ya2VyX251bWJlciwgb3B0aW9ucyk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHdv
cmtlcl9jb25uZWN0aW9uLCB3b3JrZXJfbnVtYmVyLCByZXN1bHRzX2RpcmVjdG9yeSwgb3B0aW9u
cyk6CiAgICAgICAgICIiIlRoZSBjb25zdHJ1Y3RvciBzaG91bGQgYmUgdXNlZCB0byBkbyBhbnkg
c2ltcGxlIGluaXRpYWxpemF0aW9uCiAgICAgICAgIG5lY2Vzc2FyeSwgYnV0IHNob3VsZCBub3Qg
ZG8gYW55dGhpbmcgdGhhdCBjcmVhdGVzIGRhdGEgc3RydWN0dXJlcwogICAgICAgICB0aGF0IGNh
bm5vdCBiZSBQaWNrbGVkIG9yIHNlbnQgYWNyb3NzIHByb2Nlc3NlcyAobGlrZSBvcGVuaW5nCkBA
IC0xMjMsNiArMTIzLDcgQEAgY2xhc3MgQWJzdHJhY3RXb3JrZXIobWVzc2FnZV9icm9rZXIuQnJv
a2VyQ2xpZW50KToKICAgICAgICAgc2VsZi5fb3B0aW9ucyA9IG9wdGlvbnMKICAgICAgICAgc2Vs
Zi5fd29ya2VyX251bWJlciA9IHdvcmtlcl9udW1iZXIKICAgICAgICAgc2VsZi5fbmFtZSA9ICd3
b3JrZXIvJWQnICUgd29ya2VyX251bWJlcgorICAgICAgICBzZWxmLl9yZXN1bHRzX2RpcmVjdG9y
eSA9IHJlc3VsdHNfZGlyZWN0b3J5CiAKICAgICBkZWYgcnVuKHNlbGYsIHBvcnQpOgogICAgICAg
ICAiIiJDYWxsYmFjayBmb3IgdGhlIHdvcmtlciB0byBzdGFydCBleGVjdXRpbmcuIFR5cGljYWxs
eSBkb2VzIGFueQpAQCAtMTUxLDcgKzE1Miw3IEBAIGNsYXNzIF9NYW5hZ2VyQ29ubmVjdGlvbiht
ZXNzYWdlX2Jyb2tlci5Ccm9rZXJDb25uZWN0aW9uKToKICAgICAgICAgc2VsZi5fb3B0aW9ucyA9
IG9wdGlvbnMKICAgICAgICAgc2VsZi5fd29ya2VyX2NsYXNzID0gd29ya2VyX2NsYXNzCiAKLSAg
ICBkZWYgc3RhcnRfd29ya2VyKHNlbGYsIHdvcmtlcl9udW1iZXIpOgorICAgIGRlZiBzdGFydF93
b3JrZXIoc2VsZiwgd29ya2VyX251bWJlciwgcmVzdWx0c19kaXJlY3RvcnkpOgogICAgICAgICBy
YWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yCiAKIApAQCAtMTYxLDkgKzE2Miw5IEBAIGNsYXNzIF9J
bmxpbmVNYW5hZ2VyKF9NYW5hZ2VyQ29ubmVjdGlvbik6CiAgICAgICAgIHNlbGYuX3BvcnQgPSBw
b3J0CiAgICAgICAgIHNlbGYuX2lubGluZV93b3JrZXIgPSBOb25lCiAKLSAgICBkZWYgc3RhcnRf
d29ya2VyKHNlbGYsIHdvcmtlcl9udW1iZXIpOgorICAgIGRlZiBzdGFydF93b3JrZXIoc2VsZiwg
d29ya2VyX251bWJlciwgcmVzdWx0c19kaXJlY3RvcnkpOgogICAgICAgICBzZWxmLl9pbmxpbmVf
d29ya2VyID0gX0lubGluZVdvcmtlckNvbm5lY3Rpb24oc2VsZi5fYnJva2VyLCBzZWxmLl9wb3J0
LAotICAgICAgICAgICAgc2VsZi5fY2xpZW50LCBzZWxmLl93b3JrZXJfY2xhc3MsIHdvcmtlcl9u
dW1iZXIpCisgICAgICAgICAgICBzZWxmLl9jbGllbnQsIHNlbGYuX3dvcmtlcl9jbGFzcywgd29y
a2VyX251bWJlciwgcmVzdWx0c19kaXJlY3RvcnkpCiAgICAgICAgIHJldHVybiBzZWxmLl9pbmxp
bmVfd29ya2VyCiAKICAgICBkZWYgcnVuX21lc3NhZ2VfbG9vcChzZWxmLCBkZWxheV9zZWNzPU5v
bmUpOgpAQCAtMTgyLDE2ICsxODMsMTYgQEAgY2xhc3MgX011bHRpUHJvY2Vzc01hbmFnZXIoX01h
bmFnZXJDb25uZWN0aW9uKToKICAgICAgICAgX01hbmFnZXJDb25uZWN0aW9uLl9faW5pdF9fKHNl
bGYsIGJyb2tlciwgb3B0aW9ucywgY2xpZW50LCB3b3JrZXJfY2xhc3MpCiAgICAgICAgIHNlbGYu
X3BsYXRmb3JtX25hbWUgPSBwb3J0LnJlYWxfbmFtZSgpCiAKLSAgICBkZWYgc3RhcnRfd29ya2Vy
KHNlbGYsIHdvcmtlcl9udW1iZXIpOgorICAgIGRlZiBzdGFydF93b3JrZXIoc2VsZiwgd29ya2Vy
X251bWJlciwgcmVzdWx0c19kaXJlY3RvcnkpOgogICAgICAgICB3b3JrZXJfY29ubmVjdGlvbiA9
IF9NdWx0aVByb2Nlc3NXb3JrZXJDb25uZWN0aW9uKHNlbGYuX2Jyb2tlciwgc2VsZi5fcGxhdGZv
cm1fbmFtZSwKLSAgICAgICAgICAgIHNlbGYuX3dvcmtlcl9jbGFzcywgd29ya2VyX251bWJlciwg
c2VsZi5fb3B0aW9ucykKKyAgICAgICAgICAgIHNlbGYuX3dvcmtlcl9jbGFzcywgd29ya2VyX251
bWJlciwgcmVzdWx0c19kaXJlY3RvcnksIHNlbGYuX29wdGlvbnMpCiAgICAgICAgIHdvcmtlcl9j
b25uZWN0aW9uLnN0YXJ0KCkKICAgICAgICAgcmV0dXJuIHdvcmtlcl9jb25uZWN0aW9uCiAKIAog
Y2xhc3MgX1dvcmtlckNvbm5lY3Rpb24obWVzc2FnZV9icm9rZXIuQnJva2VyQ29ubmVjdGlvbik6
Ci0gICAgZGVmIF9faW5pdF9fKHNlbGYsIGJyb2tlciwgd29ya2VyX2NsYXNzLCB3b3JrZXJfbnVt
YmVyLCBvcHRpb25zKToKLSAgICAgICAgc2VsZi5fY2xpZW50ID0gd29ya2VyX2NsYXNzKHNlbGYs
IHdvcmtlcl9udW1iZXIsIG9wdGlvbnMpCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGJyb2tlciwg
d29ya2VyX2NsYXNzLCB3b3JrZXJfbnVtYmVyLCByZXN1bHRzX2RpcmVjdG9yeSwgb3B0aW9ucyk6
CisgICAgICAgIHNlbGYuX2NsaWVudCA9IHdvcmtlcl9jbGFzcyhzZWxmLCB3b3JrZXJfbnVtYmVy
LCByZXN1bHRzX2RpcmVjdG9yeSwgb3B0aW9ucykKICAgICAgICAgc2VsZi5uYW1lID0gc2VsZi5f
Y2xpZW50Lm5hbWUoKQogICAgICAgICBtZXNzYWdlX2Jyb2tlci5Ccm9rZXJDb25uZWN0aW9uLl9f
aW5pdF9fKHNlbGYsIGJyb2tlciwgc2VsZi5fY2xpZW50LAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFOWV9XT1JLRVJfVE9QSUMsIE1BTkFHRVJfVE9Q
SUMpCkBAIC0yMTAsOCArMjExLDggQEAgY2xhc3MgX1dvcmtlckNvbm5lY3Rpb24obWVzc2FnZV9i
cm9rZXIuQnJva2VyQ29ubmVjdGlvbik6CiAKIAogY2xhc3MgX0lubGluZVdvcmtlckNvbm5lY3Rp
b24oX1dvcmtlckNvbm5lY3Rpb24pOgotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBicm9rZXIsIHBv
cnQsIG1hbmFnZXJfY2xpZW50LCB3b3JrZXJfY2xhc3MsIHdvcmtlcl9udW1iZXIpOgotICAgICAg
ICBfV29ya2VyQ29ubmVjdGlvbi5fX2luaXRfXyhzZWxmLCBicm9rZXIsIHdvcmtlcl9jbGFzcywg
d29ya2VyX251bWJlciwgcG9ydC5vcHRpb25zKQorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBicm9r
ZXIsIHBvcnQsIG1hbmFnZXJfY2xpZW50LCB3b3JrZXJfY2xhc3MsIHdvcmtlcl9udW1iZXIsIHJl
c3VsdHNfZGlyZWN0b3J5KToKKyAgICAgICAgX1dvcmtlckNvbm5lY3Rpb24uX19pbml0X18oc2Vs
ZiwgYnJva2VyLCB3b3JrZXJfY2xhc3MsIHdvcmtlcl9udW1iZXIsIHJlc3VsdHNfZGlyZWN0b3J5
LCBwb3J0Lm9wdGlvbnMpCiAgICAgICAgIHNlbGYuX2FsaXZlID0gRmFsc2UKICAgICAgICAgc2Vs
Zi5fcG9ydCA9IHBvcnQKICAgICAgICAgc2VsZi5fbWFuYWdlcl9jbGllbnQgPSBtYW5hZ2VyX2Ns
aWVudApAQCAtMjcyLDggKzI3Myw4IEBAIGlmIG11bHRpcHJvY2Vzc2luZzoKIAogCiBjbGFzcyBf
TXVsdGlQcm9jZXNzV29ya2VyQ29ubmVjdGlvbihfV29ya2VyQ29ubmVjdGlvbik6Ci0gICAgZGVm
IF9faW5pdF9fKHNlbGYsIGJyb2tlciwgcGxhdGZvcm1fbmFtZSwgd29ya2VyX2NsYXNzLCB3b3Jr
ZXJfbnVtYmVyLCBvcHRpb25zKToKLSAgICAgICAgX1dvcmtlckNvbm5lY3Rpb24uX19pbml0X18o
c2VsZiwgYnJva2VyLCB3b3JrZXJfY2xhc3MsIHdvcmtlcl9udW1iZXIsIG9wdGlvbnMpCisgICAg
ZGVmIF9faW5pdF9fKHNlbGYsIGJyb2tlciwgcGxhdGZvcm1fbmFtZSwgd29ya2VyX2NsYXNzLCB3
b3JrZXJfbnVtYmVyLCByZXN1bHRzX2RpcmVjdG9yeSwgb3B0aW9ucyk6CisgICAgICAgIF9Xb3Jr
ZXJDb25uZWN0aW9uLl9faW5pdF9fKHNlbGYsIGJyb2tlciwgd29ya2VyX2NsYXNzLCB3b3JrZXJf
bnVtYmVyLCByZXN1bHRzX2RpcmVjdG9yeSwgb3B0aW9ucykKICAgICAgICAgc2VsZi5fcHJvYyA9
IF9Qcm9jZXNzKHNlbGYsIHBsYXRmb3JtX25hbWUsIG9wdGlvbnMsIHNlbGYuX2NsaWVudCkKIAog
ICAgIGRlZiBjYW5jZWwoc2VsZik6CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9tYW5hZ2VyX3dvcmtlcl9icm9rZXJfdW5pdHRlc3Qu
cHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9tYW5h
Z2VyX3dvcmtlcl9icm9rZXJfdW5pdHRlc3QucHkKaW5kZXggZTgwNzY1YS4uOGU2M2Y5MyAxMDA2
NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMv
bWFuYWdlcl93b3JrZXJfYnJva2VyX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL21hbmFnZXJfd29ya2VyX2Jyb2tlcl91bml0
dGVzdC5weQpAQCAtNjcsNyArNjcsNyBAQCBkZWYgbWFrZV9icm9rZXIobWFuYWdlciwgd29ya2Vy
X21vZGVsLCBzdGFydF9xdWV1ZT1Ob25lLCBzdG9wX3F1ZXVlPU5vbmUpOgogCiAKIGNsYXNzIF9U
ZXN0V29ya2VyKG1hbmFnZXJfd29ya2VyX2Jyb2tlci5BYnN0cmFjdFdvcmtlcik6Ci0gICAgZGVm
IF9faW5pdF9fKHNlbGYsIGJyb2tlcl9jb25uZWN0aW9uLCB3b3JrZXJfbnVtYmVyLCBvcHRpb25z
KToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgYnJva2VyX2Nvbm5lY3Rpb24sIHdvcmtlcl9udW1i
ZXIsIHJlc3VsdHNfZGlyZWN0b3J5LCBvcHRpb25zKToKICAgICAgICAgc2VsZi5fYnJva2VyX2Nv
bm5lY3Rpb24gPSBicm9rZXJfY29ubmVjdGlvbgogICAgICAgICBzZWxmLl9vcHRpb25zID0gb3B0
aW9ucwogICAgICAgICBzZWxmLl93b3JrZXJfbnVtYmVyID0gd29ya2VyX251bWJlcgpAQCAtMTcy
LDcgKzE3Miw3IEBAIGNsYXNzIF9UZXN0c01peGluKG9iamVjdCk6CiAKICAgICBkZWYgdGVzdF9j
YW5jZWwoc2VsZik6CiAgICAgICAgIHNlbGYubWFrZV9icm9rZXIoKQotICAgICAgICB3b3JrZXIg
PSBzZWxmLl9icm9rZXIuc3RhcnRfd29ya2VyKDApCisgICAgICAgIHdvcmtlciA9IHNlbGYuX2Jy
b2tlci5zdGFydF93b3JrZXIoMCwgTm9uZSkKICAgICAgICAgd29ya2VyLmNhbmNlbCgpCiAgICAg
ICAgIHNlbGYuX2Jyb2tlci5wb3N0X21lc3NhZ2UoJ3Rlc3QnLCAxLCAnaGVsbG8sIHdvcmxkJykK
ICAgICAgICAgd29ya2VyLmpvaW4oMC41KQpAQCAtMTgwLDcgKzE4MCw3IEBAIGNsYXNzIF9UZXN0
c01peGluKG9iamVjdCk6CiAKICAgICBkZWYgdGVzdF9kb25lKHNlbGYpOgogICAgICAgICBzZWxm
Lm1ha2VfYnJva2VyKCkKLSAgICAgICAgd29ya2VyID0gc2VsZi5fYnJva2VyLnN0YXJ0X3dvcmtl
cigwKQorICAgICAgICB3b3JrZXIgPSBzZWxmLl9icm9rZXIuc3RhcnRfd29ya2VyKDAsIE5vbmUp
CiAgICAgICAgIHNlbGYuX2Jyb2tlci5wb3N0X21lc3NhZ2UoJ3Rlc3QnLCAxLCAnaGVsbG8sIHdv
cmxkJykKICAgICAgICAgc2VsZi5fYnJva2VyLnBvc3RfbWVzc2FnZSgnc3RvcCcpCiAgICAgICAg
IHNlbGYuX2Jyb2tlci5ydW5fbWVzc2FnZV9sb29wKCkKQEAgLTE5Miw3ICsxOTIsNyBAQCBjbGFz
cyBfVGVzdHNNaXhpbihvYmplY3QpOgogCiAgICAgZGVmIHRlc3RfdW5rbm93bl9tZXNzYWdlKHNl
bGYpOgogICAgICAgICBzZWxmLm1ha2VfYnJva2VyKCkKLSAgICAgICAgd29ya2VyID0gc2VsZi5f
YnJva2VyLnN0YXJ0X3dvcmtlcigwKQorICAgICAgICB3b3JrZXIgPSBzZWxmLl9icm9rZXIuc3Rh
cnRfd29ya2VyKDAsIE5vbmUpCiAgICAgICAgIHNlbGYuX2Jyb2tlci5wb3N0X21lc3NhZ2UoJ3Vu
a25vd24nKQogICAgICAgICBzZWxmLl9icm9rZXIucnVuX21lc3NhZ2VfbG9vcCgpCiAgICAgICAg
IHdvcmtlci5qb2luKDAuNSkKQEAgLTIzNCwxMyArMjM0LDEzIEBAIGNsYXNzIEludGVyZmFjZVRl
c3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICAjIHNpZ25hdHVyZSB3ZSBleHBlY3QuCiAg
ICAgICAgIGJyb2tlciA9IG1ha2VfYnJva2VyKHNlbGYsICdpbmxpbmUnKQogICAgICAgICBvYmog
PSBtYW5hZ2VyX3dvcmtlcl9icm9rZXIuX01hbmFnZXJDb25uZWN0aW9uKGJyb2tlci5fYnJva2Vy
LCBOb25lLCBzZWxmLCBOb25lKQotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhOb3RJbXBsZW1l
bnRlZEVycm9yLCBvYmouc3RhcnRfd29ya2VyLCAwKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNl
cyhOb3RJbXBsZW1lbnRlZEVycm9yLCBvYmouc3RhcnRfd29ya2VyLCAwLCBOb25lKQogCiAgICAg
ZGVmIHRlc3Rfd29ya2VyY29ubmVjdGlvbl9pc19hYnN0cmFjdChzZWxmKToKICAgICAgICAgIyBU
ZXN0IHRoYXQgYWxsIHRoZSBiYXNlIGNsYXNzIG1ldGhvZHMgYXJlIGFic3RyYWN0IGFuZCBoYXZl
IHRoZQogICAgICAgICAjIHNpZ25hdHVyZSB3ZSBleHBlY3QuCiAgICAgICAgIGJyb2tlciA9IG1h
a2VfYnJva2VyKHNlbGYsICdpbmxpbmUnKQotICAgICAgICBvYmogPSBtYW5hZ2VyX3dvcmtlcl9i
cm9rZXIuX1dvcmtlckNvbm5lY3Rpb24oYnJva2VyLl9icm9rZXIsIF9UZXN0V29ya2VyLCAwLCBO
b25lKQorICAgICAgICBvYmogPSBtYW5hZ2VyX3dvcmtlcl9icm9rZXIuX1dvcmtlckNvbm5lY3Rp
b24oYnJva2VyLl9icm9rZXIsIF9UZXN0V29ya2VyLCAwLCBOb25lLCBOb25lKQogICAgICAgICBz
ZWxmLmFzc2VydFJhaXNlcyhOb3RJbXBsZW1lbnRlZEVycm9yLCBvYmouY2FuY2VsKQogICAgICAg
ICBzZWxmLmFzc2VydFJhaXNlcyhOb3RJbXBsZW1lbnRlZEVycm9yLCBvYmouaXNfYWxpdmUpCiAg
ICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE5vdEltcGxlbWVudGVkRXJyb3IsIG9iai5qb2luLCBO
b25lKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29u
dHJvbGxlcnMvd29ya2VyLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMv
Y29udHJvbGxlcnMvd29ya2VyLnB5CmluZGV4IDVkZDMzYTIuLjgzMmVlZDggMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL3dvcmtlci5w
eQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy93
b3JrZXIucHkKQEAgLTQzLDggKzQzLDggQEAgX2xvZyA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKF9fbmFt
ZV9fKQogCiAKIGNsYXNzIFdvcmtlcihtYW5hZ2VyX3dvcmtlcl9icm9rZXIuQWJzdHJhY3RXb3Jr
ZXIpOgotICAgIGRlZiBfX2luaXRfXyhzZWxmLCB3b3JrZXJfY29ubmVjdGlvbiwgd29ya2VyX251
bWJlciwgb3B0aW9ucyk6Ci0gICAgICAgIG1hbmFnZXJfd29ya2VyX2Jyb2tlci5BYnN0cmFjdFdv
cmtlci5fX2luaXRfXyhzZWxmLCB3b3JrZXJfY29ubmVjdGlvbiwgd29ya2VyX251bWJlciwgb3B0
aW9ucykKKyAgICBkZWYgX19pbml0X18oc2VsZiwgd29ya2VyX2Nvbm5lY3Rpb24sIHdvcmtlcl9u
dW1iZXIsIHJlc3VsdHNfZGlyZWN0b3J5LCBvcHRpb25zKToKKyAgICAgICAgbWFuYWdlcl93b3Jr
ZXJfYnJva2VyLkFic3RyYWN0V29ya2VyLl9faW5pdF9fKHNlbGYsIHdvcmtlcl9jb25uZWN0aW9u
LCB3b3JrZXJfbnVtYmVyLCByZXN1bHRzX2RpcmVjdG9yeSwgb3B0aW9ucykKICAgICAgICAgc2Vs
Zi5fZG9uZSA9IEZhbHNlCiAgICAgICAgIHNlbGYuX2NhbmNlbGVkID0gRmFsc2UKICAgICAgICAg
c2VsZi5fcG9ydCA9IE5vbmUKQEAgLTY4LDcgKzY4LDcgQEAgY2xhc3MgV29ya2VyKG1hbmFnZXJf
d29ya2VyX2Jyb2tlci5BYnN0cmFjdFdvcmtlcik6CiAgICAgICAgIHNlbGYuX2ZpbGVzeXN0ZW0g
PSBwb3J0LmZpbGVzeXN0ZW0KICAgICAgICAgc2VsZi5fYmF0Y2hfY291bnQgPSAwCiAgICAgICAg
IHNlbGYuX2JhdGNoX3NpemUgPSBzZWxmLl9vcHRpb25zLmJhdGNoX3NpemUgb3IgMAotICAgICAg
ICB0ZXN0c19ydW5fZmlsZW5hbWUgPSBzZWxmLl9maWxlc3lzdGVtLmpvaW4ocG9ydC5yZXN1bHRz
X2RpcmVjdG9yeSgpLCAidGVzdHNfcnVuJWQudHh0IiAlIHNlbGYuX3dvcmtlcl9udW1iZXIpCisg
ICAgICAgIHRlc3RzX3J1bl9maWxlbmFtZSA9IHNlbGYuX2ZpbGVzeXN0ZW0uam9pbihzZWxmLl9y
ZXN1bHRzX2RpcmVjdG9yeSwgInRlc3RzX3J1biVkLnR4dCIgJSBzZWxmLl93b3JrZXJfbnVtYmVy
KQogICAgICAgICBzZWxmLl90ZXN0c19ydW5fZmlsZSA9IHNlbGYuX2ZpbGVzeXN0ZW0ub3Blbl90
ZXh0X2ZpbGVfZm9yX3dyaXRpbmcodGVzdHNfcnVuX2ZpbGVuYW1lKQogCiAgICAgZGVmIGNhbmNl
bChzZWxmKToKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3Rz
L3J1bl93ZWJraXRfdGVzdHNfaW50ZWdyYXRpb250ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0c19pbnRlZ3JhdGlvbnRlc3QucHkKaW5k
ZXggZjZhZGNmYy4uM2QzNmQ1OCAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9s
YXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0c19pbnRlZ3JhdGlvbnRlc3QucHkKKysrIGIvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0c19pbnRlZ3Jh
dGlvbnRlc3QucHkKQEAgLTYyNSw2ICs2MjUsMTEgQEAgY2xhc3MgTWFpblRlc3QodW5pdHRlc3Qu
VGVzdENhc2UpOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVz
dHNfaW5jbHVkZWQ9VHJ1ZSwgZmlsZXN5c3RlbT1mcykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVh
bCh1c2VyLm9wZW5lZF91cmxzLCBbJy90bXAvY3dkL2Zvby9yZXN1bHRzLmh0bWwnXSkKIAorICAg
IGRlZiB0ZXN0X3JldHJpZXNfZGlyZWN0b3J5KHNlbGYpOgorICAgICAgICBmcyA9IHVuaXRfdGVz
dF9maWxlc3lzdGVtKCkKKyAgICAgICAgcmVzLCBvdXQsIGVyciwgdXNlciA9IGxvZ2dpbmdfcnVu
KHRlc3RzX2luY2x1ZGVkPVRydWUsIGZpbGVzeXN0ZW09ZnMpCisgICAgICAgIHNlbGYuYXNzZXJ0
VHJ1ZSgnL3RtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3JldHJpZXMvdGVzdHNfcnVuMC50eHQnIGlu
IGZzLmZpbGVzKQorCiAgICAgIyBUaGVzZSBuZXh0IHRlc3RzIHRlc3QgdGhhdCB3ZSBydW4gdGhl
IHRlc3RzIGluIGFzY2VuZGluZyBhbHBoYWJldGljYWwKICAgICAjIG9yZGVyIHBlciBkaXJlY3Rv
cnkuIEhUVFAgdGVzdHMgYXJlIHNoYXJkZWQgc2VwYXJhdGVseSBmcm9tIG90aGVyIHRlc3RzLAog
ICAgICMgc28gd2UgaGF2ZSB0byB0ZXN0IGJvdGguCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>