<?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>71574</bug_id>
          
          <creation_ts>2011-11-04 11:03:00 -0700</creation_ts>
          <short_desc>[NRWT] result.html should not rely on naming convention of reference file used in reftests.</short_desc>
          <delta_ts>2011-11-09 23:42:53 -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>Tools / Tests</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>
          <dependson>66837</dependson>
          <blocked>66295</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Hayato Ito">hayato</reporter>
          <assigned_to name="Hayato Ito">hayato</assigned_to>
          <cc>abarth</cc>
    
    <cc>dpranke</cc>
    
    <cc>ojan</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>496313</commentid>
    <comment_count>0</comment_count>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2011-11-04 11:03:00 -0700</bug_when>
    <thetext>A result.html assumes that reftests have reference filename named &apos;-expected.html&apos; (or &apos;-expected-mismatch.html&apos;).
But that won&apos;t apply for w3c reftests. We should make a result.html link to the correct reference file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>498824</commentid>
    <comment_count>1</comment_count>
      <attachid>114250</attachid>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2011-11-09 04:36:55 -0800</bug_when>
    <thetext>Created attachment 114250
use ref_file in results.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>498995</commentid>
    <comment_count>2</comment_count>
      <attachid>114250</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-11-09 08:32:14 -0800</bug_when>
    <thetext>Comment on attachment 114250
use ref_file in results.html

All functional changes to webkitpy require tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>498996</commentid>
    <comment_count>3</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-11-09 08:32:41 -0800</bug_when>
    <thetext>Even if this doesn&apos;t affect any LayoutTests, you can wrote webkitpy unit tests to exercise the change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>499040</commentid>
    <comment_count>4</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-11-09 09:11:41 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; Even if this doesn&apos;t affect any LayoutTests, you can wrote webkitpy unit tests to exercise the change.

I don&apos;t think we can test this change by a unit test in practice. Most of tests for manager.py are integration tests but we can&apos;t write an integration test until https://bugs.webkit.org/show_bug.cgi?id=66837 is fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>499063</commentid>
    <comment_count>5</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-11-09 09:26:00 -0800</bug_when>
    <thetext>Perhaps we need to wait until Bug 66837 is fixed before landing this patch.  Another option is to improve the testability of this code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>499107</commentid>
    <comment_count>6</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2011-11-09 10:09:57 -0800</bug_when>
    <thetext>It looks to me that this can now be tested using regular reftests since bug 71567 was committed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>499237</commentid>
    <comment_count>7</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-11-09 12:15:34 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; Perhaps we need to wait until Bug 66837 is fixed before landing this patch.  Another option is to improve the testability of this code.

Right. We need to wait &apos;til the bug 66837 is resolved.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>499294</commentid>
    <comment_count>8</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2011-11-09 13:16:40 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; (In reply to comment #5)
&gt; &gt; Perhaps we need to wait until Bug 66837 is fixed before landing this patch.  Another option is to improve the testability of this code.
&gt; 
&gt; Right. We need to wait &apos;til the bug 66837 is resolved.

I don&apos;t understand why. WIth bug 71567 resolved, we can hit all these codepaths using the existing reftest infrastructure (e.g. with a -expected.html or -expected-mismatch.html file).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>499628</commentid>
    <comment_count>9</comment_count>
      <attachid>114429</attachid>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2011-11-09 21:30:21 -0800</bug_when>
    <thetext>Created attachment 114429
add tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>499629</commentid>
    <comment_count>10</comment_count>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2011-11-09 21:32:40 -0800</bug_when>
    <thetext>Hi Ojan,
Thank you for the comments.

(In reply to comment #8)
&gt; (In reply to comment #7)
&gt; &gt; (In reply to comment #5)
&gt; &gt; &gt; Perhaps we need to wait until Bug 66837 is fixed before landing this patch.  Another option is to improve the testability of this code.
&gt; &gt; 
&gt; &gt; Right. We need to wait &apos;til the bug 66837 is resolved.
&gt; 
&gt; I don&apos;t understand why. WIth bug 71567 resolved, we can hit all these codepaths using the existing reftest infrastructure (e.g. with a -expected.html or -expected-mismatch.html file).


For existing reftests, we can hit all codepths.
But we cannot hit new codepath introduced in this patch, which requires a reftest which uses a non-default reference filename.

Therefore, I&apos;ve refactored the previous patch so that we can test new codepath. I also added tests for results.html into results-test.js.

I was impressed that results.html has been also tested. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>499634</commentid>
    <comment_count>11</comment_count>
      <attachid>114429</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-11-09 21:40:27 -0800</bug_when>
    <thetext>Comment on attachment 114429
add tests.

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

&gt; Tools/Scripts/webkitpy/layout_tests/controllers/manager.py:71
&gt; +def interpret_test_failures(port_obj, test_name, failures):

It&apos;s better to call it &quot;port&quot;

&gt; Tools/Scripts/webkitpy/layout_tests/controllers/manager.py:88
&gt; +    for f in failures:

Please don&apos;t use one-letter variable.

&gt; LayoutTests/fast/harness/results.html:552
&gt; +            if (testObject.ref_file)
&gt; +                row += referenceLink(test_prefix, testObject.ref_file, &apos;ref mismatch html&apos;);
&gt; +            else
&gt; +                row += resultLink(test_prefix, &apos;-expected-mismatch.html&apos;, &apos;ref mismatch html&apos;);

Can we always add ref_file property instead?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>499652</commentid>
    <comment_count>12</comment_count>
      <attachid>114437</attachid>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2011-11-09 22:24:00 -0800</bug_when>
    <thetext>Created attachment 114437
fixed variable name.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>499655</commentid>
    <comment_count>13</comment_count>
      <attachid>114439</attachid>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2011-11-09 22:29:32 -0800</bug_when>
    <thetext>Created attachment 114439
fixed variable name, port</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>499656</commentid>
    <comment_count>14</comment_count>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2011-11-09 22:30:33 -0800</bug_when>
    <thetext>Thank you for the review.

(In reply to comment #11)
&gt; (From update of attachment 114429 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=114429&amp;action=review
&gt; 
&gt; &gt; Tools/Scripts/webkitpy/layout_tests/controllers/manager.py:71
&gt; &gt; +def interpret_test_failures(port_obj, test_name, failures):
&gt; 
&gt; It&apos;s better to call it &quot;port&quot;

Done.

&gt; 
&gt; &gt; Tools/Scripts/webkitpy/layout_tests/controllers/manager.py:88
&gt; &gt; +    for f in failures:
&gt; 
&gt; Please don&apos;t use one-letter variable.

Done.

&gt; 
&gt; &gt; LayoutTests/fast/harness/results.html:552
&gt; &gt; +            if (testObject.ref_file)
&gt; &gt; +                row += referenceLink(test_prefix, testObject.ref_file, &apos;ref mismatch html&apos;);
&gt; &gt; +            else
&gt; &gt; +                row += resultLink(test_prefix, &apos;-expected-mismatch.html&apos;, &apos;ref mismatch html&apos;);
&gt; 
&gt; Can we always add ref_file property instead?

That&apos;s intentional. We can reduce the size of the full_results.json if we omit ref_file which matches the naming convention. I think it is worth doing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>499657</commentid>
    <comment_count>15</comment_count>
      <attachid>114439</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-11-09 22:31:33 -0800</bug_when>
    <thetext>Comment on attachment 114439
fixed variable name, port

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

&gt; Tools/Scripts/webkitpy/layout_tests/controllers/manager.py:94
&gt; +            if failure.reference_filename != port.reftest_expected_filename(test_name):
&gt; +                test_dict[&apos;ref_file&apos;] = port.relative_test_filename(failure.reference_filename)

I still think we can always add ref_file but that might bloat the json?

&gt; LayoutTests/fast/harness/results.html:415
&gt; +function referenceLink(testPrefix, reference_filename, contents)
&gt; +{
&gt; +    return &apos;&lt;a class=result-link href=&quot;&apos; + reference_filename + &apos;&quot; data-prefix=&quot;&apos; + testPrefix + &apos;&quot;&gt;&apos; + contents + &apos;&lt;/a&gt; &apos;;
&gt; +}

Maybe we can share the code with resultLink?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>499671</commentid>
    <comment_count>16</comment_count>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2011-11-09 23:10:43 -0800</bug_when>
    <thetext>Thank you for the review.
I&apos;ll land this patch after addressing your comment.

(In reply to comment #15)
&gt; (From update of attachment 114439 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=114439&amp;action=review
&gt; 
&gt; &gt; Tools/Scripts/webkitpy/layout_tests/controllers/manager.py:94
&gt; &gt; +            if failure.reference_filename != port.reftest_expected_filename(test_name):
&gt; &gt; +                test_dict[&apos;ref_file&apos;] = port.relative_test_filename(failure.reference_filename)
&gt; 
&gt; I still think we can always add ref_file but that might bloat the json?

Maybe I am too conservative, but I can find there are already a lot of efforts to reduce the size of full_results.json. So it might be safe to follow the local rule.

&gt; 
&gt; &gt; LayoutTests/fast/harness/results.html:415
&gt; &gt; +function referenceLink(testPrefix, reference_filename, contents)
&gt; &gt; +{
&gt; &gt; +    return &apos;&lt;a class=result-link href=&quot;&apos; + reference_filename + &apos;&quot; data-prefix=&quot;&apos; + testPrefix + &apos;&quot;&gt;&apos; + contents + &apos;&lt;/a&gt; &apos;;
&gt; &gt; +}
&gt; 
&gt; Maybe we can share the code with resultLink?

Okay. That&apos;s trivial.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>499687</commentid>
    <comment_count>17</comment_count>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2011-11-09 23:42:53 -0800</bug_when>
    <thetext>Committed r99818: &lt;http://trac.webkit.org/changeset/99818&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>114250</attachid>
            <date>2011-11-09 04:36:55 -0800</date>
            <delta_ts>2011-11-09 21:30:13 -0800</delta_ts>
            <desc>use ref_file in results.html</desc>
            <filename>bug-71574-20111109213653.patch</filename>
            <type>text/plain</type>
            <size>5644</size>
            <attacher name="Hayato Ito">hayato</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTk2NTEKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCAxOWZmYmU2NTgwMGQ0YmUzZDc4ZTQ5NTM1MGRjMjk4MDk5
MGVjOTljLi40MTRlNTEzZWUyOWE3YjgzZDMyOWJmMjc3ZmRkODg3MWExM2Q4MTllIDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcg
QEAKKzIwMTEtMTEtMDkgIEhheWF0byBJdG8gIDxoYXlhdG9AY2hyb21pdW0ub3JnPgorCisgICAg
ICAgIFtOUldUXSBNYWtlIHJlc3VsdHMuaHRtbCBhd2FyZSBvZiByZWZlcmVuY2UgZmlsZW5hbWUg
aW4gcmVmdGVzdHMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD03MTU3NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIElmIGEgcmVmZXJlbmNlIGZpbGVuYW1lIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBkZWZhdWx0
IG9uZSwgaW5jbHVkZSB0aGF0IGluIHJlc3VsdCBzdW1tYXJpZXMKKyAgICAgICAgc28gcmVzdWx0
cy5odG1sIGNhbiBsaW5rIHRvIHRoZSBjb3JyZWN0IHJlZmVyZW5jZSBmaWxlLgorICAgICAgICBO
byB0ZXN0cyBzaW5jZSBubyBmdW5jdGlvbmFsIGNoYW5nZXMgdW50aWwgdGhlcmUgaXMgYSBjbGll
bnQuCisgICAgICAgIFRlc3Qgc2hvdWxkIGJlIGVhc2lseSB3cml0dGVuIHdpdGggZnV0dXJlIGNs
aWVudHMuCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9s
bGVycy9tYW5hZ2VyLnB5OgorCiAyMDExLTExLTA4ICBIYXlhdG8gSXRvICA8aGF5YXRvQGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBbTlJXVF0gTWFrZSBzaW5nbGVfdGVzdF9ydW5uZXIgYXdhcmUg
b2YgcmVmZXJlbmNlIGZpbGVuYW1lIG9mIHRlc3RfaW5wdXQuCmRpZmYgLS1naXQgYS9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9tYW5hZ2VyLnB5IGIvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdlci5weQpp
bmRleCBkMzkxMjI0NjFmZTU0OTk4NTZhMDRjMDQ1NTQ0ZTA4MGYwZDEzYWM1Li4zNjc5ZTM3Mjk4
MDEzZDBiNjQ5OTZjMDE4YjViNmVjMDIwZDQ1M2IzIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9tYW5hZ2VyLnB5CisrKyBiL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL21hbmFnZXIucHkKQEAg
LTE2NiwxNyArMTY2LDE4IEBAIGRlZiBzdW1tYXJpemVfcmVzdWx0cyhwb3J0X29iaiwgZXhwZWN0
YXRpb25zLCByZXN1bHRfc3VtbWFyeSwgcmV0cnlfc3VtbWFyeSwgdGVzCiAgICAgICAgIGlmIHRl
c3RfZmFpbHVyZXMuRmFpbHVyZU1pc3NpbmdBdWRpbyBpbiBmYWlsdXJlX3R5cGVzOgogICAgICAg
ICAgICAgdGVzdF9kaWN0Wydpc19taXNzaW5nX2F1ZGlvJ10gPSBUcnVlCiAKLSAgICAgICAgaWYg
dGVzdF9mYWlsdXJlcy5GYWlsdXJlUmVmdGVzdE1pc21hdGNoIGluIGZhaWx1cmVfdHlwZXM6Ci0g
ICAgICAgICAgICB0ZXN0X2RpY3RbJ2lzX3JlZnRlc3QnXSA9IFRydWUKLQogICAgICAgICBmb3Ig
ZiBpbiByZXN1bHQuZmFpbHVyZXM6Ci0gICAgICAgICAgICBpZiAnaXNfcmVmdGVzdCcgaW4gcmVz
dWx0LmZhaWx1cmVzOgotICAgICAgICAgICAgICAgIHRlc3RfZGljdFsnaXNfcmVmdGVzdCddID0g
VHJ1ZQotICAgICAgICAgICAgaWYgdHlwZShmKSBpcyB0ZXN0X2ZhaWx1cmVzLkZhaWx1cmVJbWFn
ZUhhc2hNaXNtYXRjaDoKKyAgICAgICAgICAgIGlmIGlzaW5zdGFuY2UoZiwgdGVzdF9mYWlsdXJl
cy5GYWlsdXJlSW1hZ2VIYXNoTWlzbWF0Y2gpOgogICAgICAgICAgICAgICAgIHRlc3RfZGljdFsn
aW1hZ2VfZGlmZl9wZXJjZW50J10gPSBmLmRpZmZfcGVyY2VudAotCi0gICAgICAgIGlmIHRlc3Rf
ZmFpbHVyZXMuRmFpbHVyZVJlZnRlc3RNaXNtYXRjaERpZE5vdE9jY3VyIGluIGZhaWx1cmVfdHlw
ZXM6Ci0gICAgICAgICAgICB0ZXN0X2RpY3RbJ2lzX21pc21hdGNoX3JlZnRlc3QnXSA9IFRydWUK
KyAgICAgICAgICAgIGVsaWYgaXNpbnN0YW5jZShmLCB0ZXN0X2ZhaWx1cmVzLkZhaWx1cmVSZWZ0
ZXN0TWlzbWF0Y2gpOgorICAgICAgICAgICAgICAgIHRlc3RfZGljdFsnaXNfcmVmdGVzdCddID0g
VHJ1ZQorICAgICAgICAgICAgICAgIGlmIGYucmVmZXJlbmNlX2ZpbGVuYW1lICE9IHBvcnRfb2Jq
LnJlZnRlc3RfZXhwZWN0ZWRfZmlsZW5hbWUodGVzdF9uYW1lKToKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdF9kaWN0WydyZWZfZmlsZSddID0gcG9ydF9vYmoucmVsYXRpdmVfdGVzdF9maWxlbmFt
ZShmLnJlZmVyZW5jZV9maWxlbmFtZSkKKyAgICAgICAgICAgIGVsaWYgaXNpbnN0YW5jZShmLCB0
ZXN0X2ZhaWx1cmVzLkZhaWx1cmVSZWZ0ZXN0TWlzbWF0Y2hEaWROb3RPY2N1cik6CisgICAgICAg
ICAgICAgICAgdGVzdF9kaWN0Wydpc19yZWZ0ZXN0J10gPSBUcnVlCisgICAgICAgICAgICAgICAg
dGVzdF9kaWN0Wydpc19taXNtYXRjaF9yZWZ0ZXN0J10gPSBUcnVlCisgICAgICAgICAgICAgICAg
aWYgZi5yZWZlcmVuY2VfZmlsZW5hbWUgIT0gcG9ydF9vYmoucmVmdGVzdF9leHBlY3RlZF9taXNt
YXRjaF9maWxlbmFtZSh0ZXN0X25hbWUpOgorICAgICAgICAgICAgICAgICAgICB0ZXN0X2RpY3Rb
J3JlZl9maWxlJ10gPSBwb3J0X29iai5yZWxhdGl2ZV90ZXN0X2ZpbGVuYW1lKGYucmVmZXJlbmNl
X2ZpbGVuYW1lKQogCiAgICAgICAgIGlmIHRlc3RfZmFpbHVyZXMuRmFpbHVyZU1pc3NpbmdSZXN1
bHQgaW4gZmFpbHVyZV90eXBlczoKICAgICAgICAgICAgIHRlc3RfZGljdFsnaXNfbWlzc2luZ190
ZXh0J10gPSBUcnVlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggMDc4N2QxOGM0ZjFiYzZjNDNlZDkwYjFkZmFhODljNGQyNGFm
MjkxMC4uMDk1ODI4ZmUxMjI2ZjgzOTAyOTRhNDlhYTMzMDk1YjVjMmZhOWEyMyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE1IEBACisyMDExLTExLTA5ICBIYXlhdG8gSXRvICA8aGF5YXRvQGNocm9taXVtLm9y
Zz4KKworICAgICAgICBbTlJXVF0gTWFrZSByZXN1bHRzLmh0bWwgYXdhcmUgb2YgcmVmZXJlbmNl
IGZpbGVuYW1lIGluIHJlZnRlc3RzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NzE1NzQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBJZiBhIHJlZmVyZW5jZSBmaWxlbmFtZSBpcyBkaWZmZXJlbnQgZnJvbSB0
aGUgZGVmYXVsdCBvbmUsIGluY2x1ZGUgdGhhdCBpbiByZXN1bHQgc3VtbWFyaWVzCisgICAgICAg
IHNvIHJlc3VsdHMuaHRtbCBjYW4gbGluayB0byB0aGUgY29ycmVjdCByZWZlcmVuY2UgZmlsZS4K
KworICAgICAgICAqIGZhc3QvaGFybmVzcy9yZXN1bHRzLmh0bWw6CisKIDIwMTEtMTEtMDggIENo
cmlzIEV2YW5zICA8Y2V2YW5zQGdvb2dsZS5jb20+CiAKICAgICAgICAgQ3Jhc2ggYWNjZXNzaW5n
IGZvbnQgZmFjdCBydWxlIHBhcmVudApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9oYXJu
ZXNzL3Jlc3VsdHMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvaGFybmVzcy9yZXN1bHRzLmh0bWwK
aW5kZXggOTQyNDA1MmQxYTlmMmY2MTYwZDU2YjE1YzAzMGJiODhlNTQ3M2M3Zi4uMDc5YzFiNmU4
MjQwNTI5MzBlNTYyZDEyM2ZhMDgxMTAxYTRkOWJjYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9oYXJuZXNzL3Jlc3VsdHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2hhcm5lc3Mv
cmVzdWx0cy5odG1sCkBAIC00MDksNiArNDA5LDExIEBAIGZ1bmN0aW9uIHJlc3VsdExpbmsodGVz
dFByZWZpeCwgc3VmZml4LCBjb250ZW50cykKICAgICByZXR1cm4gJzxhIGNsYXNzPXJlc3VsdC1s
aW5rIGhyZWY9IicgKyB0ZXN0UHJlZml4ICsgc3VmZml4ICsgJyIgZGF0YS1wcmVmaXg9IicgKyB0
ZXN0UHJlZml4ICsgJyI+JyArIGNvbnRlbnRzICsgJzwvYT4gJzsKIH0KIAorZnVuY3Rpb24gcmVm
ZXJlbmNlTGluayh0ZXN0UHJlZml4LCByZWZlcmVuY2VfZmlsZW5hbWUsIGNvbnRlbnRzKQorewor
ICAgIHJldHVybiAnPGEgY2xhc3M9cmVzdWx0LWxpbmsgaHJlZj0iJyArIHJlZmVyZW5jZV9maWxl
bmFtZSArICciIGRhdGEtcHJlZml4PSInICsgdGVzdFByZWZpeCArICciPicgKyBjb250ZW50cyAr
ICc8L2E+ICc7Cit9CisKIGZ1bmN0aW9uIGlzRmFpbHVyZUV4cGVjdGVkKGV4cGVjdGVkLCBhY3R1
YWwpCiB7CiAgICAgdmFyIGlzRXhwZWN0ZWQgPSB0cnVlOwpAQCAtNTQxLDEyICs1NDYsMTggQEAg
ZnVuY3Rpb24gdGFibGVSb3codGVzdE9iamVjdCkKICAgICAgICAgZ2xvYmFsU3RhdGUoKS5oYXNJ
bWFnZUZhaWx1cmVzID0gdHJ1ZTsKIAogICAgICAgICBpZiAodGVzdE9iamVjdC5pc19taXNtYXRj
aF9yZWZ0ZXN0KSB7Ci0gICAgICAgICAgICByb3cgKz0gcmVzdWx0TGluayh0ZXN0X3ByZWZpeCwg
Jy1leHBlY3RlZC1taXNtYXRjaC5odG1sJywgJ3JlZiBtaXNtYXRjaCBodG1sJykgKwotICAgICAg
ICAgICAgICAgIHJlc3VsdExpbmsodGVzdF9wcmVmaXgsICctYWN0dWFsLnBuZycsICdhY3R1YWwn
KTsKKyAgICAgICAgICAgIGlmICh0ZXN0T2JqZWN0LnJlZl9maWxlKQorICAgICAgICAgICAgICAg
IHJvdyArPSByZWZlcmVuY2VMaW5rKHRlc3RfcHJlZml4LCB0ZXN0T2JqZWN0LnJlZl9maWxlLCAn
cmVmIG1pc21hdGNoIGh0bWwnKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBy
b3cgKz0gcmVzdWx0TGluayh0ZXN0X3ByZWZpeCwgJy1leHBlY3RlZC1taXNtYXRjaC5odG1sJywg
J3JlZiBtaXNtYXRjaCBodG1sJyk7CisgICAgICAgICAgICByb3cgKz0gcmVzdWx0TGluayh0ZXN0
X3ByZWZpeCwgJy1hY3R1YWwucG5nJywgJ2FjdHVhbCcpOwogICAgICAgICB9IGVsc2UgewotICAg
ICAgICAgICAgaWYgKHRlc3RPYmplY3QuaXNfcmVmdGVzdCkKLSAgICAgICAgICAgICAgICByb3cg
Kz0gcmVzdWx0TGluayh0ZXN0X3ByZWZpeCwgJy1leHBlY3RlZC5odG1sJywgJ3JlZiBodG1sJyk7
Ci0gICAgICAgICAgICAKKyAgICAgICAgICAgIGlmICh0ZXN0T2JqZWN0LmlzX3JlZnRlc3QpIHsK
KyAgICAgICAgICAgICAgICBpZiAodGVzdE9iamVjdC5yZWZfZmlsZSkKKyAgICAgICAgICAgICAg
ICAgICAgcm93ICs9IHJlZmVyZW5jZUxpbmsodGVzdF9wcmVmaXgsIHRlc3RPYmplY3QucmVmX2Zp
bGUsICdyZWYgaHRtbCcpOworICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAg
ICAgcm93ICs9IHJlc3VsdExpbmsodGVzdF9wcmVmaXgsICctZXhwZWN0ZWQuaHRtbCcsICdyZWYg
aHRtbCcpOworICAgICAgICAgICAgfQogICAgICAgICAgICAgaWYgKGdsb2JhbFN0YXRlKCkuc2hv
dWxkVG9nZ2xlSW1hZ2VzKSB7CiAgICAgICAgICAgICAgICAgcm93ICs9IHJlc3VsdExpbmsodGVz
dF9wcmVmaXgsICctZGlmZnMuaHRtbCcsICdpbWFnZXMnKTsKICAgICAgICAgICAgIH0gZWxzZSB7
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>114429</attachid>
            <date>2011-11-09 21:30:21 -0800</date>
            <delta_ts>2011-11-09 22:23:54 -0800</delta_ts>
            <desc>add tests.</desc>
            <filename>bug-71574-20111110143019.patch</filename>
            <type>text/plain</type>
            <size>14501</size>
            <attacher name="Hayato Ito">hayato</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTk2NTEKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCAxOWZmYmU2NTgwMGQ0YmUzZDc4ZTQ5NTM1MGRjMjk4MDk5
MGVjOTljLi4zZDM0YTZjYjUxZjc3Y2M5ZTc1MDBiYzA4ZjU1YmRmZGJiZTkxYWNkIDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYg
QEAKKzIwMTEtMTEtMDkgIEhheWF0byBJdG8gIDxoYXlhdG9AY2hyb21pdW0ub3JnPgorCisgICAg
ICAgIFtOUldUXSBNYWtlIHJlc3VsdHMuaHRtbCBhd2FyZSBvZiByZWZlcmVuY2UgZmlsZW5hbWUg
aW4gcmVmdGVzdHMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD03MTU3NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIElmIGEgcmVmZXJlbmNlIGZpbGVuYW1lIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBkZWZhdWx0
IG9uZSwgaW5jbHVkZSB0aGF0IGluIHJlc3VsdCBzdW1tYXJ5CisgICAgICAgIHNvIHJlc3VsdHMu
aHRtbCBjYW4gbGluayB0byB0aGUgY29ycmVjdCByZWZlcmVuY2UgZmlsZS4KKworICAgICAgICAq
IFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL21hbmFnZXIucHk6Cisg
ICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdl
cl91bml0dGVzdC5weToKKwogMjAxMS0xMS0wOCAgSGF5YXRvIEl0byAgPGhheWF0b0BjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgW05SV1RdIE1ha2Ugc2luZ2xlX3Rlc3RfcnVubmVyIGF3YXJlIG9m
IHJlZmVyZW5jZSBmaWxlbmFtZSBvZiB0ZXN0X2lucHV0LgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdlci5weSBiL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL21hbmFnZXIucHkKaW5k
ZXggZDM5MTIyNDYxZmU1NDk5ODU2YTA0YzA0NTU0NGUwODBmMGQxM2FjNS4uZjBlYjY4YTdjN2Ex
YWM2MTFiZjgzNTEzZGNmZjEwMmE0NGY1NWU4OSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdlci5weQorKysgYi9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9tYW5hZ2VyLnB5CkBAIC02
OCw2ICs2OCw0MyBAQCBCVUlMREVSX0JBU0VfVVJMID0gImh0dHA6Ly9idWlsZC5jaHJvbWl1bS5v
cmcvYnVpbGRib3QvbGF5b3V0X3Rlc3RfcmVzdWx0cy8iCiBUZXN0RXhwZWN0YXRpb25zID0gdGVz
dF9leHBlY3RhdGlvbnMuVGVzdEV4cGVjdGF0aW9ucwogCiAKK2RlZiBpbnRlcnByZXRfdGVzdF9m
YWlsdXJlcyhwb3J0X29iaiwgdGVzdF9uYW1lLCBmYWlsdXJlcyk6CisgICAgIiIiSW50ZXJwcmV0
IHRlc3QgZmFpbHVyZXMgYW5kIHJldHVybnMgYSB0ZXN0IHJlc3VsdCBhcyBkaWN0LgorCisgICAg
QXJnczoKKyAgICAgICAgcG9ydF9vYmo6IGludGVyZmFjZSB0byBwb3J0LXNwZWNpZmljIGhvb2tz
CisgICAgICAgIHRlc3RfbmFtZTogdGVzdCBuYW1lIHJlbGF0aXZlIHRvIGxheW91dF90ZXN0cyBk
aXJlY3RvcnkKKyAgICAgICAgZmFpbHVyZXM6IGxpc3Qgb2YgdGVzdCBmYWlsdXJlcworICAgIFJl
dHVybnM6CisgICAgICAgIEEgZGljdGlvbmFyeSBsaWtlIHsnaXNfcmVmdGVzdCc6IFRydWUsIC4u
Ln0KKyAgICAiIiIKKyAgICB0ZXN0X2RpY3QgPSB7fQorICAgIGZhaWx1cmVfdHlwZXMgPSBbdHlw
ZShmKSBmb3IgZiBpbiBmYWlsdXJlc10KKyAgICAjIEZJWE1FOiBnZXQgcmlkIG9mIGFsbCB0aGlz
IGlzXyogdmFsdWVzIG9uY2UgdGhlcmUgaXMgYSAxOjEgbWFwIGJldHdlZW4KKyAgICAjIFRlc3RG
YWlsdXJlIHR5cGUgYW5kIHRlc3RfZXhwZWN0YXRpb25zLkVYUEVDVEFUSU9OLgorICAgIGlmIHRl
c3RfZmFpbHVyZXMuRmFpbHVyZU1pc3NpbmdBdWRpbyBpbiBmYWlsdXJlX3R5cGVzOgorICAgICAg
ICB0ZXN0X2RpY3RbJ2lzX21pc3NpbmdfYXVkaW8nXSA9IFRydWUKKworICAgIGZvciBmIGluIGZh
aWx1cmVzOgorICAgICAgICBpZiBpc2luc3RhbmNlKGYsIHRlc3RfZmFpbHVyZXMuRmFpbHVyZUlt
YWdlSGFzaE1pc21hdGNoKToKKyAgICAgICAgICAgIHRlc3RfZGljdFsnaW1hZ2VfZGlmZl9wZXJj
ZW50J10gPSBmLmRpZmZfcGVyY2VudAorICAgICAgICBlbGlmIGlzaW5zdGFuY2UoZiwgdGVzdF9m
YWlsdXJlcy5GYWlsdXJlUmVmdGVzdE1pc21hdGNoKToKKyAgICAgICAgICAgIHRlc3RfZGljdFsn
aXNfcmVmdGVzdCddID0gVHJ1ZQorICAgICAgICAgICAgaWYgZi5yZWZlcmVuY2VfZmlsZW5hbWUg
IT0gcG9ydF9vYmoucmVmdGVzdF9leHBlY3RlZF9maWxlbmFtZSh0ZXN0X25hbWUpOgorICAgICAg
ICAgICAgICAgIHRlc3RfZGljdFsncmVmX2ZpbGUnXSA9IHBvcnRfb2JqLnJlbGF0aXZlX3Rlc3Rf
ZmlsZW5hbWUoZi5yZWZlcmVuY2VfZmlsZW5hbWUpCisgICAgICAgIGVsaWYgaXNpbnN0YW5jZShm
LCB0ZXN0X2ZhaWx1cmVzLkZhaWx1cmVSZWZ0ZXN0TWlzbWF0Y2hEaWROb3RPY2N1cik6CisgICAg
ICAgICAgICB0ZXN0X2RpY3RbJ2lzX21pc21hdGNoX3JlZnRlc3QnXSA9IFRydWUKKyAgICAgICAg
ICAgIGlmIGYucmVmZXJlbmNlX2ZpbGVuYW1lICE9IHBvcnRfb2JqLnJlZnRlc3RfZXhwZWN0ZWRf
bWlzbWF0Y2hfZmlsZW5hbWUodGVzdF9uYW1lKToKKyAgICAgICAgICAgICAgICB0ZXN0X2RpY3Rb
J3JlZl9maWxlJ10gPSBwb3J0X29iai5yZWxhdGl2ZV90ZXN0X2ZpbGVuYW1lKGYucmVmZXJlbmNl
X2ZpbGVuYW1lKQorCisgICAgaWYgdGVzdF9mYWlsdXJlcy5GYWlsdXJlTWlzc2luZ1Jlc3VsdCBp
biBmYWlsdXJlX3R5cGVzOgorICAgICAgICB0ZXN0X2RpY3RbJ2lzX21pc3NpbmdfdGV4dCddID0g
VHJ1ZQorCisgICAgaWYgdGVzdF9mYWlsdXJlcy5GYWlsdXJlTWlzc2luZ0ltYWdlIGluIGZhaWx1
cmVfdHlwZXMgb3IgdGVzdF9mYWlsdXJlcy5GYWlsdXJlTWlzc2luZ0ltYWdlSGFzaCBpbiBmYWls
dXJlX3R5cGVzOgorICAgICAgICB0ZXN0X2RpY3RbJ2lzX21pc3NpbmdfaW1hZ2UnXSA9IFRydWUK
KyAgICByZXR1cm4gdGVzdF9kaWN0CisKKwogIyBGSVhNRTogVGhpcyBzaG91bGQgYmUgb24gdGhl
IE1hbmFnZXIgY2xhc3MgKHNpbmNlIHRoYXQncyB0aGUgb25seSBjYWxsZXIpCiAjIG9yIHNwbGl0
IG9mZiBmcm9tIE1hbmFnZXIgb250byBhbm90aGVyIGhlbHBlciBjbGFzcywgYnV0IHNob3VsZCBu
b3QgYmUgYSBmcmVlIGZ1bmN0aW9uLgogIyBNb3N0IGxpa2VseSB0aGlzIHNob3VsZCBiZSBtYWRl
IGludG8gaXRzIG93biBjbGFzcywgYW5kIHRoaXMgc3VwZXItbG9uZyBmdW5jdGlvbgpAQCAtMTYw
LDI5ICsxOTcsNyBAQCBkZWYgc3VtbWFyaXplX3Jlc3VsdHMocG9ydF9vYmosIGV4cGVjdGF0aW9u
cywgcmVzdWx0X3N1bW1hcnksIHJldHJ5X3N1bW1hcnksIHRlcwogICAgICAgICAjIEZJWE1FOiBT
ZXQgdGhpcyBjb3JyZWN0bHkgb25jZSBodHRwczovL3dlYmtpdC5vcmcvYi8zNzczOSBpcyBmaXhl
ZAogICAgICAgICAjIGFuZCBvbmx5IHNldCBpdCBpZiB0aGVyZSBhY3R1YWxseSBpcyBzdGRlcnIg
ZGF0YS4KIAotICAgICAgICBmYWlsdXJlX3R5cGVzID0gW3R5cGUoZikgZm9yIGYgaW4gcmVzdWx0
LmZhaWx1cmVzXQotICAgICAgICAjIEZJWE1FOiBnZXQgcmlkIG9mIGFsbCB0aGlzIGlzXyogdmFs
dWVzIG9uY2UgdGhlcmUgaXMgYSAxOjEgbWFwIGJldHdlZW4KLSAgICAgICAgIyBUZXN0RmFpbHVy
ZSB0eXBlIGFuZCB0ZXN0X2V4cGVjdGF0aW9ucy5FWFBFQ1RBVElPTi4KLSAgICAgICAgaWYgdGVz
dF9mYWlsdXJlcy5GYWlsdXJlTWlzc2luZ0F1ZGlvIGluIGZhaWx1cmVfdHlwZXM6Ci0gICAgICAg
ICAgICB0ZXN0X2RpY3RbJ2lzX21pc3NpbmdfYXVkaW8nXSA9IFRydWUKLQotICAgICAgICBpZiB0
ZXN0X2ZhaWx1cmVzLkZhaWx1cmVSZWZ0ZXN0TWlzbWF0Y2ggaW4gZmFpbHVyZV90eXBlczoKLSAg
ICAgICAgICAgIHRlc3RfZGljdFsnaXNfcmVmdGVzdCddID0gVHJ1ZQotCi0gICAgICAgIGZvciBm
IGluIHJlc3VsdC5mYWlsdXJlczoKLSAgICAgICAgICAgIGlmICdpc19yZWZ0ZXN0JyBpbiByZXN1
bHQuZmFpbHVyZXM6Ci0gICAgICAgICAgICAgICAgdGVzdF9kaWN0Wydpc19yZWZ0ZXN0J10gPSBU
cnVlCi0gICAgICAgICAgICBpZiB0eXBlKGYpIGlzIHRlc3RfZmFpbHVyZXMuRmFpbHVyZUltYWdl
SGFzaE1pc21hdGNoOgotICAgICAgICAgICAgICAgIHRlc3RfZGljdFsnaW1hZ2VfZGlmZl9wZXJj
ZW50J10gPSBmLmRpZmZfcGVyY2VudAotCi0gICAgICAgIGlmIHRlc3RfZmFpbHVyZXMuRmFpbHVy
ZVJlZnRlc3RNaXNtYXRjaERpZE5vdE9jY3VyIGluIGZhaWx1cmVfdHlwZXM6Ci0gICAgICAgICAg
ICB0ZXN0X2RpY3RbJ2lzX21pc21hdGNoX3JlZnRlc3QnXSA9IFRydWUKLQotICAgICAgICBpZiB0
ZXN0X2ZhaWx1cmVzLkZhaWx1cmVNaXNzaW5nUmVzdWx0IGluIGZhaWx1cmVfdHlwZXM6Ci0gICAg
ICAgICAgICB0ZXN0X2RpY3RbJ2lzX21pc3NpbmdfdGV4dCddID0gVHJ1ZQotCi0gICAgICAgIGlm
IHRlc3RfZmFpbHVyZXMuRmFpbHVyZU1pc3NpbmdJbWFnZSBpbiBmYWlsdXJlX3R5cGVzIG9yIHRl
c3RfZmFpbHVyZXMuRmFpbHVyZU1pc3NpbmdJbWFnZUhhc2ggaW4gZmFpbHVyZV90eXBlczoKLSAg
ICAgICAgICAgIHRlc3RfZGljdFsnaXNfbWlzc2luZ19pbWFnZSddID0gVHJ1ZQorICAgICAgICB0
ZXN0X2RpY3QudXBkYXRlKGludGVycHJldF90ZXN0X2ZhaWx1cmVzKHBvcnRfb2JqLCB0ZXN0X25h
bWUsIHJlc3VsdC5mYWlsdXJlcykpCiAKICAgICAgICAgIyBTdG9yZSB0ZXN0IGhpZXJhcmNoaWNh
bGx5IGJ5IGRpcmVjdG9yeS4gZS5nLgogICAgICAgICAjIGZvby9iYXIvYmF6Lmh0bWw6IHRlc3Rf
ZGljdApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29u
dHJvbGxlcnMvbWFuYWdlcl91bml0dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5
b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL21hbmFnZXJfdW5pdHRlc3QucHkKaW5kZXggZTFlZWQwODhj
MTg1NjQyMzRhN2YzYjAxYTg1N2E1NWVjYTczOWRjYS4uMjM3MWQ4YzcxYzk2ZDI2YmI0Mzc5Y2Fh
NTdhNTRmZjgzMDBiMzVhYiAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdlcl91bml0dGVzdC5weQorKysgYi9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9tYW5hZ2VyX3VuaXR0ZXN0LnB5
CkBAIC00Miw3ICs0Miw4IEBAIGZyb20gd2Via2l0cHkubGF5b3V0X3Rlc3RzLnBvcnQgaW1wb3J0
IHBvcnRfdGVzdGNhc2UKIAogZnJvbSB3ZWJraXRweSBpbXBvcnQgbGF5b3V0X3Rlc3RzCiBmcm9t
IHdlYmtpdHB5LmxheW91dF90ZXN0cyBpbXBvcnQgcnVuX3dlYmtpdF90ZXN0cwotZnJvbSB3ZWJr
aXRweS5sYXlvdXRfdGVzdHMuY29udHJvbGxlcnMubWFuYWdlciBpbXBvcnQgTWFuYWdlciwgbmF0
dXJhbF9zb3J0X2tleSwgdGVzdF9rZXksIFRlc3RSdW5JbnRlcnJ1cHRlZEV4Y2VwdGlvbiwgVGVz
dFNoYXJkCitmcm9tIHdlYmtpdHB5LmxheW91dF90ZXN0cy5jb250cm9sbGVycy5tYW5hZ2VyIGlt
cG9ydCBpbnRlcnByZXRfdGVzdF9mYWlsdXJlcywgIE1hbmFnZXIsIG5hdHVyYWxfc29ydF9rZXks
IHRlc3Rfa2V5LCBUZXN0UnVuSW50ZXJydXB0ZWRFeGNlcHRpb24sIFRlc3RTaGFyZAorZnJvbSB3
ZWJraXRweS5sYXlvdXRfdGVzdHMubW9kZWxzIGltcG9ydCB0ZXN0X2ZhaWx1cmVzCiBmcm9tIHdl
YmtpdHB5LmxheW91dF90ZXN0cy5tb2RlbHMucmVzdWx0X3N1bW1hcnkgaW1wb3J0IFJlc3VsdFN1
bW1hcnkKIGZyb20gd2Via2l0cHkubGF5b3V0X3Rlc3RzLnZpZXdzIGltcG9ydCBwcmludGluZwog
ZnJvbSB3ZWJraXRweS50b29sLm1vY2t0b29sIGltcG9ydCBNb2NrT3B0aW9ucwpAQCAtMzA1LDUg
KzMwNiwzNyBAQCBjbGFzcyBLZXlDb21wYXJlVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAg
ICAgIHNlbGYuYXNzZXJ0X2NtcCgnL2Zvby1iYXIvYmF6JywgJy9mb28vYmF6JywgLTEpCiAKIAor
Y2xhc3MgUmVzdWx0U3VtbWFyeVRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgorCisgICAgZGVmIHNl
dFVwKHNlbGYpOgorICAgICAgICBob3N0ID0gTW9ja0hvc3QoKQorICAgICAgICBzZWxmLnBvcnQg
PSBob3N0LnBvcnRfZmFjdG9yeS5nZXQocG9ydF9uYW1lPSd0ZXN0JykKKworICAgIGRlZiB0ZXN0
X2ludGVycHJldF90ZXN0X2ZhaWx1cmVzKHNlbGYpOgorICAgICAgICB0ZXN0X2RpY3QgPSBpbnRl
cnByZXRfdGVzdF9mYWlsdXJlcyhzZWxmLnBvcnQsICdmb28vcmVmdGVzdC5odG1sJywKKyAgICAg
ICAgICAgIFt0ZXN0X2ZhaWx1cmVzLkZhaWx1cmVSZWZ0ZXN0TWlzbWF0Y2goc2VsZi5wb3J0LmFi
c3BhdGhfZm9yX3Rlc3QoJ2Zvby9yZWZ0ZXN0LWV4cGVjdGVkLmh0bWwnKSldKQorICAgICAgICBz
ZWxmLmFzc2VydFRydWUoJ2lzX3JlZnRlc3QnIGluIHRlc3RfZGljdCkKKyAgICAgICAgc2VsZi5h
c3NlcnRGYWxzZSgnaXNfbWlzbWF0Y2hfcmVmdGVzdCcgaW4gdGVzdF9kaWN0KQorICAgICAgICBz
ZWxmLmFzc2VydEZhbHNlKCdyZWZfZmlsZScgaW4gdGVzdF9kaWN0KQorCisgICAgICAgIHRlc3Rf
ZGljdCA9IGludGVycHJldF90ZXN0X2ZhaWx1cmVzKHNlbGYucG9ydCwgJ2Zvby9yZWZ0ZXN0Lmh0
bWwnLAorICAgICAgICAgICAgW3Rlc3RfZmFpbHVyZXMuRmFpbHVyZVJlZnRlc3RNaXNtYXRjaChz
ZWxmLnBvcnQuYWJzcGF0aF9mb3JfdGVzdCgnZm9vL2NvbW1vbi5odG1sJykpXSkKKyAgICAgICAg
c2VsZi5hc3NlcnRUcnVlKCdpc19yZWZ0ZXN0JyBpbiB0ZXN0X2RpY3QpCisgICAgICAgIHNlbGYu
YXNzZXJ0RmFsc2UoJ2lzX21pc21hdGNoX3JlZnRlc3QnIGluIHRlc3RfZGljdCkKKyAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbCh0ZXN0X2RpY3RbJ3JlZl9maWxlJ10sICdmb28vY29tbW9uLmh0bWwn
KQorCisgICAgICAgIHRlc3RfZGljdCA9IGludGVycHJldF90ZXN0X2ZhaWx1cmVzKHNlbGYucG9y
dCwgJ2Zvby9yZWZ0ZXN0Lmh0bWwnLAorICAgICAgICAgICAgW3Rlc3RfZmFpbHVyZXMuRmFpbHVy
ZVJlZnRlc3RNaXNtYXRjaERpZE5vdE9jY3VyKHNlbGYucG9ydC5hYnNwYXRoX2Zvcl90ZXN0KCdm
b28vcmVmdGVzdC1leHBlY3RlZC1taXNtYXRjaC5odG1sJykpXSkKKyAgICAgICAgc2VsZi5hc3Nl
cnRGYWxzZSgnaXNfcmVmdGVzdCcgaW4gdGVzdF9kaWN0KQorICAgICAgICBzZWxmLmFzc2VydFRy
dWUodGVzdF9kaWN0Wydpc19taXNtYXRjaF9yZWZ0ZXN0J10pCisgICAgICAgIHNlbGYuYXNzZXJ0
RmFsc2UoJ3JlZl9maWxlJyBpbiB0ZXN0X2RpY3QpCisKKyAgICAgICAgdGVzdF9kaWN0ID0gaW50
ZXJwcmV0X3Rlc3RfZmFpbHVyZXMoc2VsZi5wb3J0LCAnZm9vL3JlZnRlc3QuaHRtbCcsCisgICAg
ICAgICAgICBbdGVzdF9mYWlsdXJlcy5GYWlsdXJlUmVmdGVzdE1pc21hdGNoRGlkTm90T2NjdXIo
c2VsZi5wb3J0LmFic3BhdGhfZm9yX3Rlc3QoJ2Zvby9jb21tb24uaHRtbCcpKV0pCisgICAgICAg
IHNlbGYuYXNzZXJ0RmFsc2UoJ2lzX3JlZnRlc3QnIGluIHRlc3RfZGljdCkKKyAgICAgICAgc2Vs
Zi5hc3NlcnRUcnVlKHRlc3RfZGljdFsnaXNfbWlzbWF0Y2hfcmVmdGVzdCddKQorICAgICAgICBz
ZWxmLmFzc2VydEVxdWFsKHRlc3RfZGljdFsncmVmX2ZpbGUnXSwgJ2Zvby9jb21tb24uaHRtbCcp
CisKKwogaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKICAgICBwb3J0X3Rlc3RjYXNlLm1haW4o
KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCmluZGV4IDA3ODdkMThjNGYxYmM2YzQzZWQ5MGIxZGZhYTg5YzRkMjRhZjI5MTAuLmE4NTFh
MjYzYjU4YzcwYmY1YWRiNWI2MjhlZjU5OTFhNjA1OTFjOGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBA
QAorMjAxMS0xMS0wOSAgSGF5YXRvIEl0byAgPGhheWF0b0BjaHJvbWl1bS5vcmc+CisKKyAgICAg
ICAgW05SV1RdIE1ha2UgcmVzdWx0cy5odG1sIGF3YXJlIG9mIHJlZmVyZW5jZSBmaWxlbmFtZSBp
biByZWZ0ZXN0cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTcxNTc0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgSWYgYSByZWZlcmVuY2UgZmlsZW5hbWUgaXMgZGlmZmVyZW50IGZyb20gdGhlIGRlZmF1bHQg
b25lLCBpbmNsdWRlIHRoYXQgaW4gcmVzdWx0IHN1bW1hcnkKKyAgICAgICAgc28gcmVzdWx0cy5o
dG1sIGNhbiBsaW5rIHRvIHRoZSBjb3JyZWN0IHJlZmVyZW5jZSBmaWxlLgorCisgICAgICAgICog
ZmFzdC9oYXJuZXNzL3Jlc291cmNlcy9yZXN1bHRzLXRlc3QuanM6CisgICAgICAgICogZmFzdC9o
YXJuZXNzL3Jlc3VsdHMuaHRtbDoKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2hh
cm5lc3MvcmVzdWx0cy1leHBlY3RlZC50eHQ6CisKIDIwMTEtMTEtMDggIENocmlzIEV2YW5zICA8
Y2V2YW5zQGdvb2dsZS5jb20+CiAKICAgICAgICAgQ3Jhc2ggYWNjZXNzaW5nIGZvbnQgZmFjdCBy
dWxlIHBhcmVudApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9oYXJuZXNzL3Jlc291cmNl
cy9yZXN1bHRzLXRlc3QuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2hhcm5lc3MvcmVzb3VyY2VzL3Jl
c3VsdHMtdGVzdC5qcwppbmRleCBhNmViNGM5MzFjNzcxYmRlOWM5YWYxNDUwYjViMDhjMDcxMmI1
OTIwLi5mOWJiMjg3YzhiOTZjZjA4ZWRmOWI1ZTQ4ODFiNmM5NzFkOGE5NDJkIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2hhcm5lc3MvcmVzb3VyY2VzL3Jlc3VsdHMtdGVzdC5qcworKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2hhcm5lc3MvcmVzb3VyY2VzL3Jlc3VsdHMtdGVzdC5qcwpAQCAt
MjY1LDYgKzI2NSwyNCBAQCBmdW5jdGlvbiBydW5UZXN0cygpCiAgICAgcnVuU2luZ2xlUm93VGVz
dChyZXN1bHRzLCBmYWxzZSwgJycsICdyZWYgbWlzbWF0Y2ggaHRtbCBhY3R1YWwgJyk7CiAKICAg
ICByZXN1bHRzID0gbW9ja1Jlc3VsdHMoKTsKKyAgICByZXN1bHRzLnRlc3RzWydiYXItcmVmdGVz
dC5odG1sJ10gPSBtb2NrRXhwZWN0YXRpb24oJ1BBU1MnLCAnSU1BR0UnLCAxKTsKKyAgICByZXN1
bHRzLnRlc3RzWydiYXItcmVmdGVzdC5odG1sJ10uaXNfcmVmdGVzdCA9IHRydWU7CisgICAgcmVz
dWx0cy50ZXN0c1snYmFyLXJlZnRlc3QuaHRtbCddLnJlZl9maWxlID0gJ2NvbW1vbi5odG1sJzsK
KyAgICBydW5TaW5nbGVSb3dUZXN0KHJlc3VsdHMsIGZhbHNlLCAnJywgJ3JlZiBodG1sIGltYWdl
cyBkaWZmICgxJSkgJyk7CisgICAgcnVuVGVzdChyZXN1bHRzLCBmdW5jdGlvbigpIHsKKyAgICAg
ICAgYXNzZXJ0VHJ1ZShkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdyZXN1bHQtbGlu
aycpWzBdLmdldEF0dHJpYnV0ZSgnaHJlZicpID09ICdjb21tb24uaHRtbCcpOworICAgIH0pOwor
CisgICAgcmVzdWx0cyA9IG1vY2tSZXN1bHRzKCk7CisgICAgcmVzdWx0cy50ZXN0c1snYmFyLXJl
ZnRlc3QuaHRtbCddID0gbW9ja0V4cGVjdGF0aW9uKCdQQVNTJywgJ0lNQUdFJyk7CisgICAgcmVz
dWx0cy50ZXN0c1snYmFyLXJlZnRlc3QuaHRtbCddLmlzX21pc21hdGNoX3JlZnRlc3QgPSB0cnVl
OworICAgIHJlc3VsdHMudGVzdHNbJ2Jhci1yZWZ0ZXN0Lmh0bWwnXS5yZWZfZmlsZSA9ICdjb21t
b24uaHRtbCc7CisgICAgcnVuU2luZ2xlUm93VGVzdChyZXN1bHRzLCBmYWxzZSwgJycsICdyZWYg
bWlzbWF0Y2ggaHRtbCBhY3R1YWwgJyk7CisgICAgcnVuVGVzdChyZXN1bHRzLCBmdW5jdGlvbigp
IHsKKyAgICAgICAgYXNzZXJ0VHJ1ZShkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdy
ZXN1bHQtbGluaycpWzBdLmdldEF0dHJpYnV0ZSgnaHJlZicpID09ICdjb21tb24uaHRtbCcpOwor
ICAgIH0pOworCisgICAgcmVzdWx0cyA9IG1vY2tSZXN1bHRzKCk7CiAgICAgdmFyIHN1YnRyZWUg
PSByZXN1bHRzLnRlc3RzWydmb28nXSA9IHt9CiAgICAgc3VidHJlZVsnYmFyLWZsYWt5LXBhc3Mu
aHRtbCddID0gbW9ja0V4cGVjdGF0aW9uKCdQQVNTIFRFWFQnLCAnUEFTUycpOwogICAgIHJ1blRl
c3QocmVzdWx0cywgZnVuY3Rpb24oKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2hh
cm5lc3MvcmVzdWx0cy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9oYXJuZXNzL3Jlc3VsdHMuaHRt
bAppbmRleCA5NDI0MDUyZDFhOWYyZjYxNjBkNTZiMTVjMDMwYmI4OGU1NDczYzdmLi4wNzljMWI2
ZTgyNDA1MjkzMGU1NjJkMTIzZmEwODExMDFhNGQ5YmNjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2hhcm5lc3MvcmVzdWx0cy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvaGFybmVz
cy9yZXN1bHRzLmh0bWwKQEAgLTQwOSw2ICs0MDksMTEgQEAgZnVuY3Rpb24gcmVzdWx0TGluayh0
ZXN0UHJlZml4LCBzdWZmaXgsIGNvbnRlbnRzKQogICAgIHJldHVybiAnPGEgY2xhc3M9cmVzdWx0
LWxpbmsgaHJlZj0iJyArIHRlc3RQcmVmaXggKyBzdWZmaXggKyAnIiBkYXRhLXByZWZpeD0iJyAr
IHRlc3RQcmVmaXggKyAnIj4nICsgY29udGVudHMgKyAnPC9hPiAnOwogfQogCitmdW5jdGlvbiBy
ZWZlcmVuY2VMaW5rKHRlc3RQcmVmaXgsIHJlZmVyZW5jZV9maWxlbmFtZSwgY29udGVudHMpCit7
CisgICAgcmV0dXJuICc8YSBjbGFzcz1yZXN1bHQtbGluayBocmVmPSInICsgcmVmZXJlbmNlX2Zp
bGVuYW1lICsgJyIgZGF0YS1wcmVmaXg9IicgKyB0ZXN0UHJlZml4ICsgJyI+JyArIGNvbnRlbnRz
ICsgJzwvYT4gJzsKK30KKwogZnVuY3Rpb24gaXNGYWlsdXJlRXhwZWN0ZWQoZXhwZWN0ZWQsIGFj
dHVhbCkKIHsKICAgICB2YXIgaXNFeHBlY3RlZCA9IHRydWU7CkBAIC01NDEsMTIgKzU0NiwxOCBA
QCBmdW5jdGlvbiB0YWJsZVJvdyh0ZXN0T2JqZWN0KQogICAgICAgICBnbG9iYWxTdGF0ZSgpLmhh
c0ltYWdlRmFpbHVyZXMgPSB0cnVlOwogCiAgICAgICAgIGlmICh0ZXN0T2JqZWN0LmlzX21pc21h
dGNoX3JlZnRlc3QpIHsKLSAgICAgICAgICAgIHJvdyArPSByZXN1bHRMaW5rKHRlc3RfcHJlZml4
LCAnLWV4cGVjdGVkLW1pc21hdGNoLmh0bWwnLCAncmVmIG1pc21hdGNoIGh0bWwnKSArCi0gICAg
ICAgICAgICAgICAgcmVzdWx0TGluayh0ZXN0X3ByZWZpeCwgJy1hY3R1YWwucG5nJywgJ2FjdHVh
bCcpOworICAgICAgICAgICAgaWYgKHRlc3RPYmplY3QucmVmX2ZpbGUpCisgICAgICAgICAgICAg
ICAgcm93ICs9IHJlZmVyZW5jZUxpbmsodGVzdF9wcmVmaXgsIHRlc3RPYmplY3QucmVmX2ZpbGUs
ICdyZWYgbWlzbWF0Y2ggaHRtbCcpOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAg
IHJvdyArPSByZXN1bHRMaW5rKHRlc3RfcHJlZml4LCAnLWV4cGVjdGVkLW1pc21hdGNoLmh0bWwn
LCAncmVmIG1pc21hdGNoIGh0bWwnKTsKKyAgICAgICAgICAgIHJvdyArPSByZXN1bHRMaW5rKHRl
c3RfcHJlZml4LCAnLWFjdHVhbC5wbmcnLCAnYWN0dWFsJyk7CiAgICAgICAgIH0gZWxzZSB7Ci0g
ICAgICAgICAgICBpZiAodGVzdE9iamVjdC5pc19yZWZ0ZXN0KQotICAgICAgICAgICAgICAgIHJv
dyArPSByZXN1bHRMaW5rKHRlc3RfcHJlZml4LCAnLWV4cGVjdGVkLmh0bWwnLCAncmVmIGh0bWwn
KTsKLSAgICAgICAgICAgIAorICAgICAgICAgICAgaWYgKHRlc3RPYmplY3QuaXNfcmVmdGVzdCkg
eworICAgICAgICAgICAgICAgIGlmICh0ZXN0T2JqZWN0LnJlZl9maWxlKQorICAgICAgICAgICAg
ICAgICAgICByb3cgKz0gcmVmZXJlbmNlTGluayh0ZXN0X3ByZWZpeCwgdGVzdE9iamVjdC5yZWZf
ZmlsZSwgJ3JlZiBodG1sJyk7CisgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAg
ICAgICByb3cgKz0gcmVzdWx0TGluayh0ZXN0X3ByZWZpeCwgJy1leHBlY3RlZC5odG1sJywgJ3Jl
ZiBodG1sJyk7CisgICAgICAgICAgICB9CiAgICAgICAgICAgICBpZiAoZ2xvYmFsU3RhdGUoKS5z
aG91bGRUb2dnbGVJbWFnZXMpIHsKICAgICAgICAgICAgICAgICByb3cgKz0gcmVzdWx0TGluayh0
ZXN0X3ByZWZpeCwgJy1kaWZmcy5odG1sJywgJ2ltYWdlcycpOwogICAgICAgICAgICAgfSBlbHNl
IHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvaGFybmVz
cy9yZXN1bHRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zh
c3QvaGFybmVzcy9yZXN1bHRzLWV4cGVjdGVkLnR4dAppbmRleCBlMGYyNDE0N2M1YTYxZTc2ZDI0
OWQ1MWU3ZDJiNjFmZmE1MTkzZDJmLi5lNzk5NjBiMWVlZWY2MTA4M2E5ZjgyYzk0ODMzMTM2NDRh
OTFhNmRlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2hh
cm5lc3MvcmVzdWx0cy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vZmFzdC9oYXJuZXNzL3Jlc3VsdHMtZXhwZWN0ZWQudHh0CkBAIC05Niw3MCArOTYsODQg
QEAgVEVTVC0xNTogUEFTUwogVEVTVC0xNjogUEFTUwogVEVTVC0xNjogUEFTUwogVEVTVC0xNjog
UEFTUwotVEVTVC0xNzogUEFTUwotVEVTVC0xNzogUEFTUworVEVTVC0xNjogUEFTUworVEVTVC0x
NjogUEFTUworVEVTVC0xNjogUEFTUwogVEVTVC0xNzogUEFTUwogVEVTVC0xODogUEFTUwogVEVT
VC0xODogUEFTUwogVEVTVC0xODogUEFTUwogVEVTVC0xODogUEFTUworVEVTVC0xODogUEFTUwor
VEVTVC0xODogUEFTUwogVEVTVC0xOTogUEFTUwotVEVTVC0xOTogUEFTUwotVEVTVC0yMDogUEFT
UwotVEVTVC0yMDogUEFTUwogVEVTVC0yMDogUEFTUwogVEVTVC0yMDogUEFTUwogVEVTVC0yMDog
UEFTUwogVEVTVC0yMTogUEFTUwogVEVTVC0yMTogUEFTUworVEVTVC0yMTogUEFTUworVEVTVC0y
MjogUEFTUworVEVTVC0yMjogUEFTUwogVEVTVC0yMjogUEFTUwogVEVTVC0yMjogUEFTUwogVEVT
VC0yMzogUEFTUworVEVTVC0yMzogUEFTUworVEVTVC0yNDogUEFTUworVEVTVC0yNDogUEFTUwor
VEVTVC0yNDogUEFTUwogVEVTVC0yNDogUEFTUwogVEVTVC0yNDogUEFTUwogVEVTVC0yNTogUEFT
UworVEVTVC0yNTogUEFTUworVEVTVC0yNjogUEFTUwogVEVTVC0yNjogUEFTUwogVEVTVC0yNzog
UEFTUwogVEVTVC0yODogUEFTUwogVEVTVC0yODogUEFTUwotVEVTVC0yODogUEFTUwogVEVTVC0y
OTogUEFTUwotVEVTVC0yOTogUEFTUwotVEVTVC0zMDogUEFTUwotVEVTVC0zMDogUEFTUwotVEVT
VC0zMDogUEFTUwotVEVTVC0zMDogUEFTUwotVEVTVC0zMDogUEFTUwogVEVTVC0zMDogUEFTUwot
VEVTVC0zMDogUEFTUwotVEVTVC0zMDogUEFTUwotVEVTVC0zMDogUEFTUwotVEVTVC0zMDogUEFT
UwotVEVTVC0zMDogUEFTUwotVEVTVC0zMDogUEFTUwotVEVTVC0zMDogUEFTUwotVEVTVC0zMDog
UEFTUwotVEVTVC0zMDogUEFTUwotVEVTVC0zMDogUEFTUwotVEVTVC0zMTogUEFTUwotVEVTVC0z
MTogUEFTUwotVEVTVC0zMTogUEFTUwogVEVTVC0zMTogUEFTUwotVEVTVC0zMTogUEFTUwotVEVT
VC0zMTogUEFTUwotVEVTVC0zMTogUEFTUwotVEVTVC0zMTogUEFTUwotVEVTVC0zMTogUEFTUwot
VEVTVC0zMTogUEFTUwotVEVTVC0zMjogUEFTUwogVEVTVC0zMjogUEFTUwogVEVTVC0zMjogUEFT
UwogVEVTVC0zMjogUEFTUwogVEVTVC0zMzogUEFTUwogVEVTVC0zMzogUEFTUwotVEVTVC0zMzog
UEFTUwotVEVTVC0zMzogUEFTUwotVEVTVC0zMzogUEFTUwotVEVTVC0zMzogUEFTUwotVEVTVC0z
MzogUEFTUwotVEVTVC0zMzogUEFTUworVEVTVC0zNDogUEFTUworVEVTVC0zNDogUEFTUworVEVT
VC0zNDogUEFTUworVEVTVC0zNDogUEFTUworVEVTVC0zNDogUEFTUworVEVTVC0zNDogUEFTUwor
VEVTVC0zNDogUEFTUworVEVTVC0zNDogUEFTUworVEVTVC0zNDogUEFTUworVEVTVC0zNDogUEFT
UworVEVTVC0zNDogUEFTUworVEVTVC0zNDogUEFTUworVEVTVC0zNDogUEFTUworVEVTVC0zNDog
UEFTUworVEVTVC0zNDogUEFTUworVEVTVC0zNDogUEFTUworVEVTVC0zNTogUEFTUworVEVTVC0z
NTogUEFTUworVEVTVC0zNTogUEFTUworVEVTVC0zNTogUEFTUworVEVTVC0zNTogUEFTUworVEVT
VC0zNTogUEFTUworVEVTVC0zNTogUEFTUworVEVTVC0zNTogUEFTUworVEVTVC0zNTogUEFTUwor
VEVTVC0zNTogUEFTUworVEVTVC0zNjogUEFTUworVEVTVC0zNjogUEFTUworVEVTVC0zNjogUEFT
UworVEVTVC0zNjogUEFTUworVEVTVC0zNzogUEFTUworVEVTVC0zNzogUEFTUworVEVTVC0zNzog
UEFTUworVEVTVC0zNzogUEFTUworVEVTVC0zNzogUEFTUworVEVTVC0zNzogUEFTUworVEVTVC0z
NzogUEFTUworVEVTVC0zNzogUEFTUwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>114437</attachid>
            <date>2011-11-09 22:24:00 -0800</date>
            <delta_ts>2011-11-09 22:29:26 -0800</delta_ts>
            <desc>fixed variable name.</desc>
            <filename>bug-71574-20111110152358.patch</filename>
            <type>text/plain</type>
            <size>14567</size>
            <attacher name="Hayato Ito">hayato</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTk2NTEKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCAxOWZmYmU2NTgwMGQ0YmUzZDc4ZTQ5NTM1MGRjMjk4MDk5
MGVjOTljLi4zZDM0YTZjYjUxZjc3Y2M5ZTc1MDBiYzA4ZjU1YmRmZGJiZTkxYWNkIDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYg
QEAKKzIwMTEtMTEtMDkgIEhheWF0byBJdG8gIDxoYXlhdG9AY2hyb21pdW0ub3JnPgorCisgICAg
ICAgIFtOUldUXSBNYWtlIHJlc3VsdHMuaHRtbCBhd2FyZSBvZiByZWZlcmVuY2UgZmlsZW5hbWUg
aW4gcmVmdGVzdHMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD03MTU3NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIElmIGEgcmVmZXJlbmNlIGZpbGVuYW1lIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBkZWZhdWx0
IG9uZSwgaW5jbHVkZSB0aGF0IGluIHJlc3VsdCBzdW1tYXJ5CisgICAgICAgIHNvIHJlc3VsdHMu
aHRtbCBjYW4gbGluayB0byB0aGUgY29ycmVjdCByZWZlcmVuY2UgZmlsZS4KKworICAgICAgICAq
IFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL21hbmFnZXIucHk6Cisg
ICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdl
cl91bml0dGVzdC5weToKKwogMjAxMS0xMS0wOCAgSGF5YXRvIEl0byAgPGhheWF0b0BjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgW05SV1RdIE1ha2Ugc2luZ2xlX3Rlc3RfcnVubmVyIGF3YXJlIG9m
IHJlZmVyZW5jZSBmaWxlbmFtZSBvZiB0ZXN0X2lucHV0LgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdlci5weSBiL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL21hbmFnZXIucHkKaW5k
ZXggZDM5MTIyNDYxZmU1NDk5ODU2YTA0YzA0NTU0NGUwODBmMGQxM2FjNS4uZTk3MTkwM2UxMGQz
OTg5M2FmZmJkYWE2ZTZmZTIwYTY0NWM4ZDdmMCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdlci5weQorKysgYi9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9tYW5hZ2VyLnB5CkBAIC02
OCw2ICs2OCw0MyBAQCBCVUlMREVSX0JBU0VfVVJMID0gImh0dHA6Ly9idWlsZC5jaHJvbWl1bS5v
cmcvYnVpbGRib3QvbGF5b3V0X3Rlc3RfcmVzdWx0cy8iCiBUZXN0RXhwZWN0YXRpb25zID0gdGVz
dF9leHBlY3RhdGlvbnMuVGVzdEV4cGVjdGF0aW9ucwogCiAKK2RlZiBpbnRlcnByZXRfdGVzdF9m
YWlsdXJlcyhwb3J0X29iaiwgdGVzdF9uYW1lLCBmYWlsdXJlcyk6CisgICAgIiIiSW50ZXJwcmV0
IHRlc3QgZmFpbHVyZXMgYW5kIHJldHVybnMgYSB0ZXN0IHJlc3VsdCBhcyBkaWN0LgorCisgICAg
QXJnczoKKyAgICAgICAgcG9ydF9vYmo6IGludGVyZmFjZSB0byBwb3J0LXNwZWNpZmljIGhvb2tz
CisgICAgICAgIHRlc3RfbmFtZTogdGVzdCBuYW1lIHJlbGF0aXZlIHRvIGxheW91dF90ZXN0cyBk
aXJlY3RvcnkKKyAgICAgICAgZmFpbHVyZXM6IGxpc3Qgb2YgdGVzdCBmYWlsdXJlcworICAgIFJl
dHVybnM6CisgICAgICAgIEEgZGljdGlvbmFyeSBsaWtlIHsnaXNfcmVmdGVzdCc6IFRydWUsIC4u
Ln0KKyAgICAiIiIKKyAgICB0ZXN0X2RpY3QgPSB7fQorICAgIGZhaWx1cmVfdHlwZXMgPSBbdHlw
ZShmYWlsdXJlKSBmb3IgZmFpbHVyZSBpbiBmYWlsdXJlc10KKyAgICAjIEZJWE1FOiBnZXQgcmlk
IG9mIGFsbCB0aGlzIGlzXyogdmFsdWVzIG9uY2UgdGhlcmUgaXMgYSAxOjEgbWFwIGJldHdlZW4K
KyAgICAjIFRlc3RGYWlsdXJlIHR5cGUgYW5kIHRlc3RfZXhwZWN0YXRpb25zLkVYUEVDVEFUSU9O
LgorICAgIGlmIHRlc3RfZmFpbHVyZXMuRmFpbHVyZU1pc3NpbmdBdWRpbyBpbiBmYWlsdXJlX3R5
cGVzOgorICAgICAgICB0ZXN0X2RpY3RbJ2lzX21pc3NpbmdfYXVkaW8nXSA9IFRydWUKKworICAg
IGZvciBmYWlsdXJlIGluIGZhaWx1cmVzOgorICAgICAgICBpZiBpc2luc3RhbmNlKGZhaWx1cmUs
IHRlc3RfZmFpbHVyZXMuRmFpbHVyZUltYWdlSGFzaE1pc21hdGNoKToKKyAgICAgICAgICAgIHRl
c3RfZGljdFsnaW1hZ2VfZGlmZl9wZXJjZW50J10gPSBmYWlsdXJlLmRpZmZfcGVyY2VudAorICAg
ICAgICBlbGlmIGlzaW5zdGFuY2UoZmFpbHVyZSwgdGVzdF9mYWlsdXJlcy5GYWlsdXJlUmVmdGVz
dE1pc21hdGNoKToKKyAgICAgICAgICAgIHRlc3RfZGljdFsnaXNfcmVmdGVzdCddID0gVHJ1ZQor
ICAgICAgICAgICAgaWYgZmFpbHVyZS5yZWZlcmVuY2VfZmlsZW5hbWUgIT0gcG9ydF9vYmoucmVm
dGVzdF9leHBlY3RlZF9maWxlbmFtZSh0ZXN0X25hbWUpOgorICAgICAgICAgICAgICAgIHRlc3Rf
ZGljdFsncmVmX2ZpbGUnXSA9IHBvcnRfb2JqLnJlbGF0aXZlX3Rlc3RfZmlsZW5hbWUoZmFpbHVy
ZS5yZWZlcmVuY2VfZmlsZW5hbWUpCisgICAgICAgIGVsaWYgaXNpbnN0YW5jZShmYWlsdXJlLCB0
ZXN0X2ZhaWx1cmVzLkZhaWx1cmVSZWZ0ZXN0TWlzbWF0Y2hEaWROb3RPY2N1cik6CisgICAgICAg
ICAgICB0ZXN0X2RpY3RbJ2lzX21pc21hdGNoX3JlZnRlc3QnXSA9IFRydWUKKyAgICAgICAgICAg
IGlmIGZhaWx1cmUucmVmZXJlbmNlX2ZpbGVuYW1lICE9IHBvcnRfb2JqLnJlZnRlc3RfZXhwZWN0
ZWRfbWlzbWF0Y2hfZmlsZW5hbWUodGVzdF9uYW1lKToKKyAgICAgICAgICAgICAgICB0ZXN0X2Rp
Y3RbJ3JlZl9maWxlJ10gPSBwb3J0X29iai5yZWxhdGl2ZV90ZXN0X2ZpbGVuYW1lKGZhaWx1cmUu
cmVmZXJlbmNlX2ZpbGVuYW1lKQorCisgICAgaWYgdGVzdF9mYWlsdXJlcy5GYWlsdXJlTWlzc2lu
Z1Jlc3VsdCBpbiBmYWlsdXJlX3R5cGVzOgorICAgICAgICB0ZXN0X2RpY3RbJ2lzX21pc3Npbmdf
dGV4dCddID0gVHJ1ZQorCisgICAgaWYgdGVzdF9mYWlsdXJlcy5GYWlsdXJlTWlzc2luZ0ltYWdl
IGluIGZhaWx1cmVfdHlwZXMgb3IgdGVzdF9mYWlsdXJlcy5GYWlsdXJlTWlzc2luZ0ltYWdlSGFz
aCBpbiBmYWlsdXJlX3R5cGVzOgorICAgICAgICB0ZXN0X2RpY3RbJ2lzX21pc3NpbmdfaW1hZ2Un
XSA9IFRydWUKKyAgICByZXR1cm4gdGVzdF9kaWN0CisKKwogIyBGSVhNRTogVGhpcyBzaG91bGQg
YmUgb24gdGhlIE1hbmFnZXIgY2xhc3MgKHNpbmNlIHRoYXQncyB0aGUgb25seSBjYWxsZXIpCiAj
IG9yIHNwbGl0IG9mZiBmcm9tIE1hbmFnZXIgb250byBhbm90aGVyIGhlbHBlciBjbGFzcywgYnV0
IHNob3VsZCBub3QgYmUgYSBmcmVlIGZ1bmN0aW9uLgogIyBNb3N0IGxpa2VseSB0aGlzIHNob3Vs
ZCBiZSBtYWRlIGludG8gaXRzIG93biBjbGFzcywgYW5kIHRoaXMgc3VwZXItbG9uZyBmdW5jdGlv
bgpAQCAtMTYwLDI5ICsxOTcsNyBAQCBkZWYgc3VtbWFyaXplX3Jlc3VsdHMocG9ydF9vYmosIGV4
cGVjdGF0aW9ucywgcmVzdWx0X3N1bW1hcnksIHJldHJ5X3N1bW1hcnksIHRlcwogICAgICAgICAj
IEZJWE1FOiBTZXQgdGhpcyBjb3JyZWN0bHkgb25jZSBodHRwczovL3dlYmtpdC5vcmcvYi8zNzcz
OSBpcyBmaXhlZAogICAgICAgICAjIGFuZCBvbmx5IHNldCBpdCBpZiB0aGVyZSBhY3R1YWxseSBp
cyBzdGRlcnIgZGF0YS4KIAotICAgICAgICBmYWlsdXJlX3R5cGVzID0gW3R5cGUoZikgZm9yIGYg
aW4gcmVzdWx0LmZhaWx1cmVzXQotICAgICAgICAjIEZJWE1FOiBnZXQgcmlkIG9mIGFsbCB0aGlz
IGlzXyogdmFsdWVzIG9uY2UgdGhlcmUgaXMgYSAxOjEgbWFwIGJldHdlZW4KLSAgICAgICAgIyBU
ZXN0RmFpbHVyZSB0eXBlIGFuZCB0ZXN0X2V4cGVjdGF0aW9ucy5FWFBFQ1RBVElPTi4KLSAgICAg
ICAgaWYgdGVzdF9mYWlsdXJlcy5GYWlsdXJlTWlzc2luZ0F1ZGlvIGluIGZhaWx1cmVfdHlwZXM6
Ci0gICAgICAgICAgICB0ZXN0X2RpY3RbJ2lzX21pc3NpbmdfYXVkaW8nXSA9IFRydWUKLQotICAg
ICAgICBpZiB0ZXN0X2ZhaWx1cmVzLkZhaWx1cmVSZWZ0ZXN0TWlzbWF0Y2ggaW4gZmFpbHVyZV90
eXBlczoKLSAgICAgICAgICAgIHRlc3RfZGljdFsnaXNfcmVmdGVzdCddID0gVHJ1ZQotCi0gICAg
ICAgIGZvciBmIGluIHJlc3VsdC5mYWlsdXJlczoKLSAgICAgICAgICAgIGlmICdpc19yZWZ0ZXN0
JyBpbiByZXN1bHQuZmFpbHVyZXM6Ci0gICAgICAgICAgICAgICAgdGVzdF9kaWN0Wydpc19yZWZ0
ZXN0J10gPSBUcnVlCi0gICAgICAgICAgICBpZiB0eXBlKGYpIGlzIHRlc3RfZmFpbHVyZXMuRmFp
bHVyZUltYWdlSGFzaE1pc21hdGNoOgotICAgICAgICAgICAgICAgIHRlc3RfZGljdFsnaW1hZ2Vf
ZGlmZl9wZXJjZW50J10gPSBmLmRpZmZfcGVyY2VudAotCi0gICAgICAgIGlmIHRlc3RfZmFpbHVy
ZXMuRmFpbHVyZVJlZnRlc3RNaXNtYXRjaERpZE5vdE9jY3VyIGluIGZhaWx1cmVfdHlwZXM6Ci0g
ICAgICAgICAgICB0ZXN0X2RpY3RbJ2lzX21pc21hdGNoX3JlZnRlc3QnXSA9IFRydWUKLQotICAg
ICAgICBpZiB0ZXN0X2ZhaWx1cmVzLkZhaWx1cmVNaXNzaW5nUmVzdWx0IGluIGZhaWx1cmVfdHlw
ZXM6Ci0gICAgICAgICAgICB0ZXN0X2RpY3RbJ2lzX21pc3NpbmdfdGV4dCddID0gVHJ1ZQotCi0g
ICAgICAgIGlmIHRlc3RfZmFpbHVyZXMuRmFpbHVyZU1pc3NpbmdJbWFnZSBpbiBmYWlsdXJlX3R5
cGVzIG9yIHRlc3RfZmFpbHVyZXMuRmFpbHVyZU1pc3NpbmdJbWFnZUhhc2ggaW4gZmFpbHVyZV90
eXBlczoKLSAgICAgICAgICAgIHRlc3RfZGljdFsnaXNfbWlzc2luZ19pbWFnZSddID0gVHJ1ZQor
ICAgICAgICB0ZXN0X2RpY3QudXBkYXRlKGludGVycHJldF90ZXN0X2ZhaWx1cmVzKHBvcnRfb2Jq
LCB0ZXN0X25hbWUsIHJlc3VsdC5mYWlsdXJlcykpCiAKICAgICAgICAgIyBTdG9yZSB0ZXN0IGhp
ZXJhcmNoaWNhbGx5IGJ5IGRpcmVjdG9yeS4gZS5nLgogICAgICAgICAjIGZvby9iYXIvYmF6Lmh0
bWw6IHRlc3RfZGljdApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRf
dGVzdHMvY29udHJvbGxlcnMvbWFuYWdlcl91bml0dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL21hbmFnZXJfdW5pdHRlc3QucHkKaW5kZXgg
ZTFlZWQwODhjMTg1NjQyMzRhN2YzYjAxYTg1N2E1NWVjYTczOWRjYS4uMjM3MWQ4YzcxYzk2ZDI2
YmI0Mzc5Y2FhNTdhNTRmZjgzMDBiMzVhYiAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdlcl91bml0dGVzdC5weQorKysgYi9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9tYW5hZ2VyX3Vu
aXR0ZXN0LnB5CkBAIC00Miw3ICs0Miw4IEBAIGZyb20gd2Via2l0cHkubGF5b3V0X3Rlc3RzLnBv
cnQgaW1wb3J0IHBvcnRfdGVzdGNhc2UKIAogZnJvbSB3ZWJraXRweSBpbXBvcnQgbGF5b3V0X3Rl
c3RzCiBmcm9tIHdlYmtpdHB5LmxheW91dF90ZXN0cyBpbXBvcnQgcnVuX3dlYmtpdF90ZXN0cwot
ZnJvbSB3ZWJraXRweS5sYXlvdXRfdGVzdHMuY29udHJvbGxlcnMubWFuYWdlciBpbXBvcnQgTWFu
YWdlciwgbmF0dXJhbF9zb3J0X2tleSwgdGVzdF9rZXksIFRlc3RSdW5JbnRlcnJ1cHRlZEV4Y2Vw
dGlvbiwgVGVzdFNoYXJkCitmcm9tIHdlYmtpdHB5LmxheW91dF90ZXN0cy5jb250cm9sbGVycy5t
YW5hZ2VyIGltcG9ydCBpbnRlcnByZXRfdGVzdF9mYWlsdXJlcywgIE1hbmFnZXIsIG5hdHVyYWxf
c29ydF9rZXksIHRlc3Rfa2V5LCBUZXN0UnVuSW50ZXJydXB0ZWRFeGNlcHRpb24sIFRlc3RTaGFy
ZAorZnJvbSB3ZWJraXRweS5sYXlvdXRfdGVzdHMubW9kZWxzIGltcG9ydCB0ZXN0X2ZhaWx1cmVz
CiBmcm9tIHdlYmtpdHB5LmxheW91dF90ZXN0cy5tb2RlbHMucmVzdWx0X3N1bW1hcnkgaW1wb3J0
IFJlc3VsdFN1bW1hcnkKIGZyb20gd2Via2l0cHkubGF5b3V0X3Rlc3RzLnZpZXdzIGltcG9ydCBw
cmludGluZwogZnJvbSB3ZWJraXRweS50b29sLm1vY2t0b29sIGltcG9ydCBNb2NrT3B0aW9ucwpA
QCAtMzA1LDUgKzMwNiwzNyBAQCBjbGFzcyBLZXlDb21wYXJlVGVzdCh1bml0dGVzdC5UZXN0Q2Fz
ZSk6CiAgICAgICAgIHNlbGYuYXNzZXJ0X2NtcCgnL2Zvby1iYXIvYmF6JywgJy9mb28vYmF6Jywg
LTEpCiAKIAorY2xhc3MgUmVzdWx0U3VtbWFyeVRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgorCisg
ICAgZGVmIHNldFVwKHNlbGYpOgorICAgICAgICBob3N0ID0gTW9ja0hvc3QoKQorICAgICAgICBz
ZWxmLnBvcnQgPSBob3N0LnBvcnRfZmFjdG9yeS5nZXQocG9ydF9uYW1lPSd0ZXN0JykKKworICAg
IGRlZiB0ZXN0X2ludGVycHJldF90ZXN0X2ZhaWx1cmVzKHNlbGYpOgorICAgICAgICB0ZXN0X2Rp
Y3QgPSBpbnRlcnByZXRfdGVzdF9mYWlsdXJlcyhzZWxmLnBvcnQsICdmb28vcmVmdGVzdC5odG1s
JywKKyAgICAgICAgICAgIFt0ZXN0X2ZhaWx1cmVzLkZhaWx1cmVSZWZ0ZXN0TWlzbWF0Y2goc2Vs
Zi5wb3J0LmFic3BhdGhfZm9yX3Rlc3QoJ2Zvby9yZWZ0ZXN0LWV4cGVjdGVkLmh0bWwnKSldKQor
ICAgICAgICBzZWxmLmFzc2VydFRydWUoJ2lzX3JlZnRlc3QnIGluIHRlc3RfZGljdCkKKyAgICAg
ICAgc2VsZi5hc3NlcnRGYWxzZSgnaXNfbWlzbWF0Y2hfcmVmdGVzdCcgaW4gdGVzdF9kaWN0KQor
ICAgICAgICBzZWxmLmFzc2VydEZhbHNlKCdyZWZfZmlsZScgaW4gdGVzdF9kaWN0KQorCisgICAg
ICAgIHRlc3RfZGljdCA9IGludGVycHJldF90ZXN0X2ZhaWx1cmVzKHNlbGYucG9ydCwgJ2Zvby9y
ZWZ0ZXN0Lmh0bWwnLAorICAgICAgICAgICAgW3Rlc3RfZmFpbHVyZXMuRmFpbHVyZVJlZnRlc3RN
aXNtYXRjaChzZWxmLnBvcnQuYWJzcGF0aF9mb3JfdGVzdCgnZm9vL2NvbW1vbi5odG1sJykpXSkK
KyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKCdpc19yZWZ0ZXN0JyBpbiB0ZXN0X2RpY3QpCisgICAg
ICAgIHNlbGYuYXNzZXJ0RmFsc2UoJ2lzX21pc21hdGNoX3JlZnRlc3QnIGluIHRlc3RfZGljdCkK
KyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0ZXN0X2RpY3RbJ3JlZl9maWxlJ10sICdmb28vY29t
bW9uLmh0bWwnKQorCisgICAgICAgIHRlc3RfZGljdCA9IGludGVycHJldF90ZXN0X2ZhaWx1cmVz
KHNlbGYucG9ydCwgJ2Zvby9yZWZ0ZXN0Lmh0bWwnLAorICAgICAgICAgICAgW3Rlc3RfZmFpbHVy
ZXMuRmFpbHVyZVJlZnRlc3RNaXNtYXRjaERpZE5vdE9jY3VyKHNlbGYucG9ydC5hYnNwYXRoX2Zv
cl90ZXN0KCdmb28vcmVmdGVzdC1leHBlY3RlZC1taXNtYXRjaC5odG1sJykpXSkKKyAgICAgICAg
c2VsZi5hc3NlcnRGYWxzZSgnaXNfcmVmdGVzdCcgaW4gdGVzdF9kaWN0KQorICAgICAgICBzZWxm
LmFzc2VydFRydWUodGVzdF9kaWN0Wydpc19taXNtYXRjaF9yZWZ0ZXN0J10pCisgICAgICAgIHNl
bGYuYXNzZXJ0RmFsc2UoJ3JlZl9maWxlJyBpbiB0ZXN0X2RpY3QpCisKKyAgICAgICAgdGVzdF9k
aWN0ID0gaW50ZXJwcmV0X3Rlc3RfZmFpbHVyZXMoc2VsZi5wb3J0LCAnZm9vL3JlZnRlc3QuaHRt
bCcsCisgICAgICAgICAgICBbdGVzdF9mYWlsdXJlcy5GYWlsdXJlUmVmdGVzdE1pc21hdGNoRGlk
Tm90T2NjdXIoc2VsZi5wb3J0LmFic3BhdGhfZm9yX3Rlc3QoJ2Zvby9jb21tb24uaHRtbCcpKV0p
CisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoJ2lzX3JlZnRlc3QnIGluIHRlc3RfZGljdCkKKyAg
ICAgICAgc2VsZi5hc3NlcnRUcnVlKHRlc3RfZGljdFsnaXNfbWlzbWF0Y2hfcmVmdGVzdCddKQor
ICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHRlc3RfZGljdFsncmVmX2ZpbGUnXSwgJ2Zvby9jb21t
b24uaHRtbCcpCisKKwogaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKICAgICBwb3J0X3Rlc3Rj
YXNlLm1haW4oKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCmluZGV4IDA3ODdkMThjNGYxYmM2YzQzZWQ5MGIxZGZhYTg5YzRkMjRhZjI5
MTAuLmE4NTFhMjYzYjU4YzcwYmY1YWRiNWI2MjhlZjU5OTFhNjA1OTFjOGYgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNyBAQAorMjAxMS0xMS0wOSAgSGF5YXRvIEl0byAgPGhheWF0b0BjaHJvbWl1bS5vcmc+
CisKKyAgICAgICAgW05SV1RdIE1ha2UgcmVzdWx0cy5odG1sIGF3YXJlIG9mIHJlZmVyZW5jZSBm
aWxlbmFtZSBpbiByZWZ0ZXN0cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTcxNTc0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgSWYgYSByZWZlcmVuY2UgZmlsZW5hbWUgaXMgZGlmZmVyZW50IGZyb20gdGhl
IGRlZmF1bHQgb25lLCBpbmNsdWRlIHRoYXQgaW4gcmVzdWx0IHN1bW1hcnkKKyAgICAgICAgc28g
cmVzdWx0cy5odG1sIGNhbiBsaW5rIHRvIHRoZSBjb3JyZWN0IHJlZmVyZW5jZSBmaWxlLgorCisg
ICAgICAgICogZmFzdC9oYXJuZXNzL3Jlc291cmNlcy9yZXN1bHRzLXRlc3QuanM6CisgICAgICAg
ICogZmFzdC9oYXJuZXNzL3Jlc3VsdHMuaHRtbDoKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1
bS9mYXN0L2hhcm5lc3MvcmVzdWx0cy1leHBlY3RlZC50eHQ6CisKIDIwMTEtMTEtMDggIENocmlz
IEV2YW5zICA8Y2V2YW5zQGdvb2dsZS5jb20+CiAKICAgICAgICAgQ3Jhc2ggYWNjZXNzaW5nIGZv
bnQgZmFjdCBydWxlIHBhcmVudApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9oYXJuZXNz
L3Jlc291cmNlcy9yZXN1bHRzLXRlc3QuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2hhcm5lc3MvcmVz
b3VyY2VzL3Jlc3VsdHMtdGVzdC5qcwppbmRleCBhNmViNGM5MzFjNzcxYmRlOWM5YWYxNDUwYjVi
MDhjMDcxMmI1OTIwLi5mOWJiMjg3YzhiOTZjZjA4ZWRmOWI1ZTQ4ODFiNmM5NzFkOGE5NDJkIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2hhcm5lc3MvcmVzb3VyY2VzL3Jlc3VsdHMtdGVz
dC5qcworKysgYi9MYXlvdXRUZXN0cy9mYXN0L2hhcm5lc3MvcmVzb3VyY2VzL3Jlc3VsdHMtdGVz
dC5qcwpAQCAtMjY1LDYgKzI2NSwyNCBAQCBmdW5jdGlvbiBydW5UZXN0cygpCiAgICAgcnVuU2lu
Z2xlUm93VGVzdChyZXN1bHRzLCBmYWxzZSwgJycsICdyZWYgbWlzbWF0Y2ggaHRtbCBhY3R1YWwg
Jyk7CiAKICAgICByZXN1bHRzID0gbW9ja1Jlc3VsdHMoKTsKKyAgICByZXN1bHRzLnRlc3RzWydi
YXItcmVmdGVzdC5odG1sJ10gPSBtb2NrRXhwZWN0YXRpb24oJ1BBU1MnLCAnSU1BR0UnLCAxKTsK
KyAgICByZXN1bHRzLnRlc3RzWydiYXItcmVmdGVzdC5odG1sJ10uaXNfcmVmdGVzdCA9IHRydWU7
CisgICAgcmVzdWx0cy50ZXN0c1snYmFyLXJlZnRlc3QuaHRtbCddLnJlZl9maWxlID0gJ2NvbW1v
bi5odG1sJzsKKyAgICBydW5TaW5nbGVSb3dUZXN0KHJlc3VsdHMsIGZhbHNlLCAnJywgJ3JlZiBo
dG1sIGltYWdlcyBkaWZmICgxJSkgJyk7CisgICAgcnVuVGVzdChyZXN1bHRzLCBmdW5jdGlvbigp
IHsKKyAgICAgICAgYXNzZXJ0VHJ1ZShkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdy
ZXN1bHQtbGluaycpWzBdLmdldEF0dHJpYnV0ZSgnaHJlZicpID09ICdjb21tb24uaHRtbCcpOwor
ICAgIH0pOworCisgICAgcmVzdWx0cyA9IG1vY2tSZXN1bHRzKCk7CisgICAgcmVzdWx0cy50ZXN0
c1snYmFyLXJlZnRlc3QuaHRtbCddID0gbW9ja0V4cGVjdGF0aW9uKCdQQVNTJywgJ0lNQUdFJyk7
CisgICAgcmVzdWx0cy50ZXN0c1snYmFyLXJlZnRlc3QuaHRtbCddLmlzX21pc21hdGNoX3JlZnRl
c3QgPSB0cnVlOworICAgIHJlc3VsdHMudGVzdHNbJ2Jhci1yZWZ0ZXN0Lmh0bWwnXS5yZWZfZmls
ZSA9ICdjb21tb24uaHRtbCc7CisgICAgcnVuU2luZ2xlUm93VGVzdChyZXN1bHRzLCBmYWxzZSwg
JycsICdyZWYgbWlzbWF0Y2ggaHRtbCBhY3R1YWwgJyk7CisgICAgcnVuVGVzdChyZXN1bHRzLCBm
dW5jdGlvbigpIHsKKyAgICAgICAgYXNzZXJ0VHJ1ZShkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xh
c3NOYW1lKCdyZXN1bHQtbGluaycpWzBdLmdldEF0dHJpYnV0ZSgnaHJlZicpID09ICdjb21tb24u
aHRtbCcpOworICAgIH0pOworCisgICAgcmVzdWx0cyA9IG1vY2tSZXN1bHRzKCk7CiAgICAgdmFy
IHN1YnRyZWUgPSByZXN1bHRzLnRlc3RzWydmb28nXSA9IHt9CiAgICAgc3VidHJlZVsnYmFyLWZs
YWt5LXBhc3MuaHRtbCddID0gbW9ja0V4cGVjdGF0aW9uKCdQQVNTIFRFWFQnLCAnUEFTUycpOwog
ICAgIHJ1blRlc3QocmVzdWx0cywgZnVuY3Rpb24oKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2hhcm5lc3MvcmVzdWx0cy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9oYXJuZXNzL3Jl
c3VsdHMuaHRtbAppbmRleCA5NDI0MDUyZDFhOWYyZjYxNjBkNTZiMTVjMDMwYmI4OGU1NDczYzdm
Li4wNzljMWI2ZTgyNDA1MjkzMGU1NjJkMTIzZmEwODExMDFhNGQ5YmNjIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2hhcm5lc3MvcmVzdWx0cy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvaGFybmVzcy9yZXN1bHRzLmh0bWwKQEAgLTQwOSw2ICs0MDksMTEgQEAgZnVuY3Rpb24gcmVz
dWx0TGluayh0ZXN0UHJlZml4LCBzdWZmaXgsIGNvbnRlbnRzKQogICAgIHJldHVybiAnPGEgY2xh
c3M9cmVzdWx0LWxpbmsgaHJlZj0iJyArIHRlc3RQcmVmaXggKyBzdWZmaXggKyAnIiBkYXRhLXBy
ZWZpeD0iJyArIHRlc3RQcmVmaXggKyAnIj4nICsgY29udGVudHMgKyAnPC9hPiAnOwogfQogCitm
dW5jdGlvbiByZWZlcmVuY2VMaW5rKHRlc3RQcmVmaXgsIHJlZmVyZW5jZV9maWxlbmFtZSwgY29u
dGVudHMpCit7CisgICAgcmV0dXJuICc8YSBjbGFzcz1yZXN1bHQtbGluayBocmVmPSInICsgcmVm
ZXJlbmNlX2ZpbGVuYW1lICsgJyIgZGF0YS1wcmVmaXg9IicgKyB0ZXN0UHJlZml4ICsgJyI+JyAr
IGNvbnRlbnRzICsgJzwvYT4gJzsKK30KKwogZnVuY3Rpb24gaXNGYWlsdXJlRXhwZWN0ZWQoZXhw
ZWN0ZWQsIGFjdHVhbCkKIHsKICAgICB2YXIgaXNFeHBlY3RlZCA9IHRydWU7CkBAIC01NDEsMTIg
KzU0NiwxOCBAQCBmdW5jdGlvbiB0YWJsZVJvdyh0ZXN0T2JqZWN0KQogICAgICAgICBnbG9iYWxT
dGF0ZSgpLmhhc0ltYWdlRmFpbHVyZXMgPSB0cnVlOwogCiAgICAgICAgIGlmICh0ZXN0T2JqZWN0
LmlzX21pc21hdGNoX3JlZnRlc3QpIHsKLSAgICAgICAgICAgIHJvdyArPSByZXN1bHRMaW5rKHRl
c3RfcHJlZml4LCAnLWV4cGVjdGVkLW1pc21hdGNoLmh0bWwnLCAncmVmIG1pc21hdGNoIGh0bWwn
KSArCi0gICAgICAgICAgICAgICAgcmVzdWx0TGluayh0ZXN0X3ByZWZpeCwgJy1hY3R1YWwucG5n
JywgJ2FjdHVhbCcpOworICAgICAgICAgICAgaWYgKHRlc3RPYmplY3QucmVmX2ZpbGUpCisgICAg
ICAgICAgICAgICAgcm93ICs9IHJlZmVyZW5jZUxpbmsodGVzdF9wcmVmaXgsIHRlc3RPYmplY3Qu
cmVmX2ZpbGUsICdyZWYgbWlzbWF0Y2ggaHRtbCcpOworICAgICAgICAgICAgZWxzZQorICAgICAg
ICAgICAgICAgIHJvdyArPSByZXN1bHRMaW5rKHRlc3RfcHJlZml4LCAnLWV4cGVjdGVkLW1pc21h
dGNoLmh0bWwnLCAncmVmIG1pc21hdGNoIGh0bWwnKTsKKyAgICAgICAgICAgIHJvdyArPSByZXN1
bHRMaW5rKHRlc3RfcHJlZml4LCAnLWFjdHVhbC5wbmcnLCAnYWN0dWFsJyk7CiAgICAgICAgIH0g
ZWxzZSB7Ci0gICAgICAgICAgICBpZiAodGVzdE9iamVjdC5pc19yZWZ0ZXN0KQotICAgICAgICAg
ICAgICAgIHJvdyArPSByZXN1bHRMaW5rKHRlc3RfcHJlZml4LCAnLWV4cGVjdGVkLmh0bWwnLCAn
cmVmIGh0bWwnKTsKLSAgICAgICAgICAgIAorICAgICAgICAgICAgaWYgKHRlc3RPYmplY3QuaXNf
cmVmdGVzdCkgeworICAgICAgICAgICAgICAgIGlmICh0ZXN0T2JqZWN0LnJlZl9maWxlKQorICAg
ICAgICAgICAgICAgICAgICByb3cgKz0gcmVmZXJlbmNlTGluayh0ZXN0X3ByZWZpeCwgdGVzdE9i
amVjdC5yZWZfZmlsZSwgJ3JlZiBodG1sJyk7CisgICAgICAgICAgICAgICAgZWxzZQorICAgICAg
ICAgICAgICAgICAgICByb3cgKz0gcmVzdWx0TGluayh0ZXN0X3ByZWZpeCwgJy1leHBlY3RlZC5o
dG1sJywgJ3JlZiBodG1sJyk7CisgICAgICAgICAgICB9CiAgICAgICAgICAgICBpZiAoZ2xvYmFs
U3RhdGUoKS5zaG91bGRUb2dnbGVJbWFnZXMpIHsKICAgICAgICAgICAgICAgICByb3cgKz0gcmVz
dWx0TGluayh0ZXN0X3ByZWZpeCwgJy1kaWZmcy5odG1sJywgJ2ltYWdlcycpOwogICAgICAgICAg
ICAgfSBlbHNlIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zh
c3QvaGFybmVzcy9yZXN1bHRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtL2Zhc3QvaGFybmVzcy9yZXN1bHRzLWV4cGVjdGVkLnR4dAppbmRleCBlMGYyNDE0N2M1
YTYxZTc2ZDI0OWQ1MWU3ZDJiNjFmZmE1MTkzZDJmLi5lNzk5NjBiMWVlZWY2MTA4M2E5ZjgyYzk0
ODMzMTM2NDRhOTFhNmRlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS9mYXN0L2hhcm5lc3MvcmVzdWx0cy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vZmFzdC9oYXJuZXNzL3Jlc3VsdHMtZXhwZWN0ZWQudHh0CkBAIC05Niw3
MCArOTYsODQgQEAgVEVTVC0xNTogUEFTUwogVEVTVC0xNjogUEFTUwogVEVTVC0xNjogUEFTUwog
VEVTVC0xNjogUEFTUwotVEVTVC0xNzogUEFTUwotVEVTVC0xNzogUEFTUworVEVTVC0xNjogUEFT
UworVEVTVC0xNjogUEFTUworVEVTVC0xNjogUEFTUwogVEVTVC0xNzogUEFTUwogVEVTVC0xODog
UEFTUwogVEVTVC0xODogUEFTUwogVEVTVC0xODogUEFTUwogVEVTVC0xODogUEFTUworVEVTVC0x
ODogUEFTUworVEVTVC0xODogUEFTUwogVEVTVC0xOTogUEFTUwotVEVTVC0xOTogUEFTUwotVEVT
VC0yMDogUEFTUwotVEVTVC0yMDogUEFTUwogVEVTVC0yMDogUEFTUwogVEVTVC0yMDogUEFTUwog
VEVTVC0yMDogUEFTUwogVEVTVC0yMTogUEFTUwogVEVTVC0yMTogUEFTUworVEVTVC0yMTogUEFT
UworVEVTVC0yMjogUEFTUworVEVTVC0yMjogUEFTUwogVEVTVC0yMjogUEFTUwogVEVTVC0yMjog
UEFTUwogVEVTVC0yMzogUEFTUworVEVTVC0yMzogUEFTUworVEVTVC0yNDogUEFTUworVEVTVC0y
NDogUEFTUworVEVTVC0yNDogUEFTUwogVEVTVC0yNDogUEFTUwogVEVTVC0yNDogUEFTUwogVEVT
VC0yNTogUEFTUworVEVTVC0yNTogUEFTUworVEVTVC0yNjogUEFTUwogVEVTVC0yNjogUEFTUwog
VEVTVC0yNzogUEFTUwogVEVTVC0yODogUEFTUwogVEVTVC0yODogUEFTUwotVEVTVC0yODogUEFT
UwogVEVTVC0yOTogUEFTUwotVEVTVC0yOTogUEFTUwotVEVTVC0zMDogUEFTUwotVEVTVC0zMDog
UEFTUwotVEVTVC0zMDogUEFTUwotVEVTVC0zMDogUEFTUwotVEVTVC0zMDogUEFTUwogVEVTVC0z
MDogUEFTUwotVEVTVC0zMDogUEFTUwotVEVTVC0zMDogUEFTUwotVEVTVC0zMDogUEFTUwotVEVT
VC0zMDogUEFTUwotVEVTVC0zMDogUEFTUwotVEVTVC0zMDogUEFTUwotVEVTVC0zMDogUEFTUwot
VEVTVC0zMDogUEFTUwotVEVTVC0zMDogUEFTUwotVEVTVC0zMDogUEFTUwotVEVTVC0zMTogUEFT
UwotVEVTVC0zMTogUEFTUwotVEVTVC0zMTogUEFTUwogVEVTVC0zMTogUEFTUwotVEVTVC0zMTog
UEFTUwotVEVTVC0zMTogUEFTUwotVEVTVC0zMTogUEFTUwotVEVTVC0zMTogUEFTUwotVEVTVC0z
MTogUEFTUwotVEVTVC0zMTogUEFTUwotVEVTVC0zMjogUEFTUwogVEVTVC0zMjogUEFTUwogVEVT
VC0zMjogUEFTUwogVEVTVC0zMjogUEFTUwogVEVTVC0zMzogUEFTUwogVEVTVC0zMzogUEFTUwot
VEVTVC0zMzogUEFTUwotVEVTVC0zMzogUEFTUwotVEVTVC0zMzogUEFTUwotVEVTVC0zMzogUEFT
UwotVEVTVC0zMzogUEFTUwotVEVTVC0zMzogUEFTUworVEVTVC0zNDogUEFTUworVEVTVC0zNDog
UEFTUworVEVTVC0zNDogUEFTUworVEVTVC0zNDogUEFTUworVEVTVC0zNDogUEFTUworVEVTVC0z
NDogUEFTUworVEVTVC0zNDogUEFTUworVEVTVC0zNDogUEFTUworVEVTVC0zNDogUEFTUworVEVT
VC0zNDogUEFTUworVEVTVC0zNDogUEFTUworVEVTVC0zNDogUEFTUworVEVTVC0zNDogUEFTUwor
VEVTVC0zNDogUEFTUworVEVTVC0zNDogUEFTUworVEVTVC0zNDogUEFTUworVEVTVC0zNTogUEFT
UworVEVTVC0zNTogUEFTUworVEVTVC0zNTogUEFTUworVEVTVC0zNTogUEFTUworVEVTVC0zNTog
UEFTUworVEVTVC0zNTogUEFTUworVEVTVC0zNTogUEFTUworVEVTVC0zNTogUEFTUworVEVTVC0z
NTogUEFTUworVEVTVC0zNTogUEFTUworVEVTVC0zNjogUEFTUworVEVTVC0zNjogUEFTUworVEVT
VC0zNjogUEFTUworVEVTVC0zNjogUEFTUworVEVTVC0zNzogUEFTUworVEVTVC0zNzogUEFTUwor
VEVTVC0zNzogUEFTUworVEVTVC0zNzogUEFTUworVEVTVC0zNzogUEFTUworVEVTVC0zNzogUEFT
UworVEVTVC0zNzogUEFTUworVEVTVC0zNzogUEFTUwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>114439</attachid>
            <date>2011-11-09 22:29:32 -0800</date>
            <delta_ts>2011-11-09 22:31:33 -0800</delta_ts>
            <desc>fixed variable name, port</desc>
            <filename>bug-71574-20111110152930.patch</filename>
            <type>text/plain</type>
            <size>14543</size>
            <attacher name="Hayato Ito">hayato</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTk2NTEKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCAxOWZmYmU2NTgwMGQ0YmUzZDc4ZTQ5NTM1MGRjMjk4MDk5
MGVjOTljLi4zZDM0YTZjYjUxZjc3Y2M5ZTc1MDBiYzA4ZjU1YmRmZGJiZTkxYWNkIDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYg
QEAKKzIwMTEtMTEtMDkgIEhheWF0byBJdG8gIDxoYXlhdG9AY2hyb21pdW0ub3JnPgorCisgICAg
ICAgIFtOUldUXSBNYWtlIHJlc3VsdHMuaHRtbCBhd2FyZSBvZiByZWZlcmVuY2UgZmlsZW5hbWUg
aW4gcmVmdGVzdHMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD03MTU3NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIElmIGEgcmVmZXJlbmNlIGZpbGVuYW1lIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBkZWZhdWx0
IG9uZSwgaW5jbHVkZSB0aGF0IGluIHJlc3VsdCBzdW1tYXJ5CisgICAgICAgIHNvIHJlc3VsdHMu
aHRtbCBjYW4gbGluayB0byB0aGUgY29ycmVjdCByZWZlcmVuY2UgZmlsZS4KKworICAgICAgICAq
IFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL21hbmFnZXIucHk6Cisg
ICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdl
cl91bml0dGVzdC5weToKKwogMjAxMS0xMS0wOCAgSGF5YXRvIEl0byAgPGhheWF0b0BjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgW05SV1RdIE1ha2Ugc2luZ2xlX3Rlc3RfcnVubmVyIGF3YXJlIG9m
IHJlZmVyZW5jZSBmaWxlbmFtZSBvZiB0ZXN0X2lucHV0LgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdlci5weSBiL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL21hbmFnZXIucHkKaW5k
ZXggZDM5MTIyNDYxZmU1NDk5ODU2YTA0YzA0NTU0NGUwODBmMGQxM2FjNS4uZDc3NTYyMjI3NTIw
NTI3NWJhYWIyNGE4OTcwNWM0NjNjODFlOTczZiAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdlci5weQorKysgYi9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9tYW5hZ2VyLnB5CkBAIC02
OCw2ICs2OCw0MyBAQCBCVUlMREVSX0JBU0VfVVJMID0gImh0dHA6Ly9idWlsZC5jaHJvbWl1bS5v
cmcvYnVpbGRib3QvbGF5b3V0X3Rlc3RfcmVzdWx0cy8iCiBUZXN0RXhwZWN0YXRpb25zID0gdGVz
dF9leHBlY3RhdGlvbnMuVGVzdEV4cGVjdGF0aW9ucwogCiAKK2RlZiBpbnRlcnByZXRfdGVzdF9m
YWlsdXJlcyhwb3J0LCB0ZXN0X25hbWUsIGZhaWx1cmVzKToKKyAgICAiIiJJbnRlcnByZXQgdGVz
dCBmYWlsdXJlcyBhbmQgcmV0dXJucyBhIHRlc3QgcmVzdWx0IGFzIGRpY3QuCisKKyAgICBBcmdz
OgorICAgICAgICBwb3J0OiBpbnRlcmZhY2UgdG8gcG9ydC1zcGVjaWZpYyBob29rcworICAgICAg
ICB0ZXN0X25hbWU6IHRlc3QgbmFtZSByZWxhdGl2ZSB0byBsYXlvdXRfdGVzdHMgZGlyZWN0b3J5
CisgICAgICAgIGZhaWx1cmVzOiBsaXN0IG9mIHRlc3QgZmFpbHVyZXMKKyAgICBSZXR1cm5zOgor
ICAgICAgICBBIGRpY3Rpb25hcnkgbGlrZSB7J2lzX3JlZnRlc3QnOiBUcnVlLCAuLi59CisgICAg
IiIiCisgICAgdGVzdF9kaWN0ID0ge30KKyAgICBmYWlsdXJlX3R5cGVzID0gW3R5cGUoZmFpbHVy
ZSkgZm9yIGZhaWx1cmUgaW4gZmFpbHVyZXNdCisgICAgIyBGSVhNRTogZ2V0IHJpZCBvZiBhbGwg
dGhpcyBpc18qIHZhbHVlcyBvbmNlIHRoZXJlIGlzIGEgMToxIG1hcCBiZXR3ZWVuCisgICAgIyBU
ZXN0RmFpbHVyZSB0eXBlIGFuZCB0ZXN0X2V4cGVjdGF0aW9ucy5FWFBFQ1RBVElPTi4KKyAgICBp
ZiB0ZXN0X2ZhaWx1cmVzLkZhaWx1cmVNaXNzaW5nQXVkaW8gaW4gZmFpbHVyZV90eXBlczoKKyAg
ICAgICAgdGVzdF9kaWN0Wydpc19taXNzaW5nX2F1ZGlvJ10gPSBUcnVlCisKKyAgICBmb3IgZmFp
bHVyZSBpbiBmYWlsdXJlczoKKyAgICAgICAgaWYgaXNpbnN0YW5jZShmYWlsdXJlLCB0ZXN0X2Zh
aWx1cmVzLkZhaWx1cmVJbWFnZUhhc2hNaXNtYXRjaCk6CisgICAgICAgICAgICB0ZXN0X2RpY3Rb
J2ltYWdlX2RpZmZfcGVyY2VudCddID0gZmFpbHVyZS5kaWZmX3BlcmNlbnQKKyAgICAgICAgZWxp
ZiBpc2luc3RhbmNlKGZhaWx1cmUsIHRlc3RfZmFpbHVyZXMuRmFpbHVyZVJlZnRlc3RNaXNtYXRj
aCk6CisgICAgICAgICAgICB0ZXN0X2RpY3RbJ2lzX3JlZnRlc3QnXSA9IFRydWUKKyAgICAgICAg
ICAgIGlmIGZhaWx1cmUucmVmZXJlbmNlX2ZpbGVuYW1lICE9IHBvcnQucmVmdGVzdF9leHBlY3Rl
ZF9maWxlbmFtZSh0ZXN0X25hbWUpOgorICAgICAgICAgICAgICAgIHRlc3RfZGljdFsncmVmX2Zp
bGUnXSA9IHBvcnQucmVsYXRpdmVfdGVzdF9maWxlbmFtZShmYWlsdXJlLnJlZmVyZW5jZV9maWxl
bmFtZSkKKyAgICAgICAgZWxpZiBpc2luc3RhbmNlKGZhaWx1cmUsIHRlc3RfZmFpbHVyZXMuRmFp
bHVyZVJlZnRlc3RNaXNtYXRjaERpZE5vdE9jY3VyKToKKyAgICAgICAgICAgIHRlc3RfZGljdFsn
aXNfbWlzbWF0Y2hfcmVmdGVzdCddID0gVHJ1ZQorICAgICAgICAgICAgaWYgZmFpbHVyZS5yZWZl
cmVuY2VfZmlsZW5hbWUgIT0gcG9ydC5yZWZ0ZXN0X2V4cGVjdGVkX21pc21hdGNoX2ZpbGVuYW1l
KHRlc3RfbmFtZSk6CisgICAgICAgICAgICAgICAgdGVzdF9kaWN0WydyZWZfZmlsZSddID0gcG9y
dC5yZWxhdGl2ZV90ZXN0X2ZpbGVuYW1lKGZhaWx1cmUucmVmZXJlbmNlX2ZpbGVuYW1lKQorCisg
ICAgaWYgdGVzdF9mYWlsdXJlcy5GYWlsdXJlTWlzc2luZ1Jlc3VsdCBpbiBmYWlsdXJlX3R5cGVz
OgorICAgICAgICB0ZXN0X2RpY3RbJ2lzX21pc3NpbmdfdGV4dCddID0gVHJ1ZQorCisgICAgaWYg
dGVzdF9mYWlsdXJlcy5GYWlsdXJlTWlzc2luZ0ltYWdlIGluIGZhaWx1cmVfdHlwZXMgb3IgdGVz
dF9mYWlsdXJlcy5GYWlsdXJlTWlzc2luZ0ltYWdlSGFzaCBpbiBmYWlsdXJlX3R5cGVzOgorICAg
ICAgICB0ZXN0X2RpY3RbJ2lzX21pc3NpbmdfaW1hZ2UnXSA9IFRydWUKKyAgICByZXR1cm4gdGVz
dF9kaWN0CisKKwogIyBGSVhNRTogVGhpcyBzaG91bGQgYmUgb24gdGhlIE1hbmFnZXIgY2xhc3Mg
KHNpbmNlIHRoYXQncyB0aGUgb25seSBjYWxsZXIpCiAjIG9yIHNwbGl0IG9mZiBmcm9tIE1hbmFn
ZXIgb250byBhbm90aGVyIGhlbHBlciBjbGFzcywgYnV0IHNob3VsZCBub3QgYmUgYSBmcmVlIGZ1
bmN0aW9uLgogIyBNb3N0IGxpa2VseSB0aGlzIHNob3VsZCBiZSBtYWRlIGludG8gaXRzIG93biBj
bGFzcywgYW5kIHRoaXMgc3VwZXItbG9uZyBmdW5jdGlvbgpAQCAtMTYwLDI5ICsxOTcsNyBAQCBk
ZWYgc3VtbWFyaXplX3Jlc3VsdHMocG9ydF9vYmosIGV4cGVjdGF0aW9ucywgcmVzdWx0X3N1bW1h
cnksIHJldHJ5X3N1bW1hcnksIHRlcwogICAgICAgICAjIEZJWE1FOiBTZXQgdGhpcyBjb3JyZWN0
bHkgb25jZSBodHRwczovL3dlYmtpdC5vcmcvYi8zNzczOSBpcyBmaXhlZAogICAgICAgICAjIGFu
ZCBvbmx5IHNldCBpdCBpZiB0aGVyZSBhY3R1YWxseSBpcyBzdGRlcnIgZGF0YS4KIAotICAgICAg
ICBmYWlsdXJlX3R5cGVzID0gW3R5cGUoZikgZm9yIGYgaW4gcmVzdWx0LmZhaWx1cmVzXQotICAg
ICAgICAjIEZJWE1FOiBnZXQgcmlkIG9mIGFsbCB0aGlzIGlzXyogdmFsdWVzIG9uY2UgdGhlcmUg
aXMgYSAxOjEgbWFwIGJldHdlZW4KLSAgICAgICAgIyBUZXN0RmFpbHVyZSB0eXBlIGFuZCB0ZXN0
X2V4cGVjdGF0aW9ucy5FWFBFQ1RBVElPTi4KLSAgICAgICAgaWYgdGVzdF9mYWlsdXJlcy5GYWls
dXJlTWlzc2luZ0F1ZGlvIGluIGZhaWx1cmVfdHlwZXM6Ci0gICAgICAgICAgICB0ZXN0X2RpY3Rb
J2lzX21pc3NpbmdfYXVkaW8nXSA9IFRydWUKLQotICAgICAgICBpZiB0ZXN0X2ZhaWx1cmVzLkZh
aWx1cmVSZWZ0ZXN0TWlzbWF0Y2ggaW4gZmFpbHVyZV90eXBlczoKLSAgICAgICAgICAgIHRlc3Rf
ZGljdFsnaXNfcmVmdGVzdCddID0gVHJ1ZQotCi0gICAgICAgIGZvciBmIGluIHJlc3VsdC5mYWls
dXJlczoKLSAgICAgICAgICAgIGlmICdpc19yZWZ0ZXN0JyBpbiByZXN1bHQuZmFpbHVyZXM6Ci0g
ICAgICAgICAgICAgICAgdGVzdF9kaWN0Wydpc19yZWZ0ZXN0J10gPSBUcnVlCi0gICAgICAgICAg
ICBpZiB0eXBlKGYpIGlzIHRlc3RfZmFpbHVyZXMuRmFpbHVyZUltYWdlSGFzaE1pc21hdGNoOgot
ICAgICAgICAgICAgICAgIHRlc3RfZGljdFsnaW1hZ2VfZGlmZl9wZXJjZW50J10gPSBmLmRpZmZf
cGVyY2VudAotCi0gICAgICAgIGlmIHRlc3RfZmFpbHVyZXMuRmFpbHVyZVJlZnRlc3RNaXNtYXRj
aERpZE5vdE9jY3VyIGluIGZhaWx1cmVfdHlwZXM6Ci0gICAgICAgICAgICB0ZXN0X2RpY3RbJ2lz
X21pc21hdGNoX3JlZnRlc3QnXSA9IFRydWUKLQotICAgICAgICBpZiB0ZXN0X2ZhaWx1cmVzLkZh
aWx1cmVNaXNzaW5nUmVzdWx0IGluIGZhaWx1cmVfdHlwZXM6Ci0gICAgICAgICAgICB0ZXN0X2Rp
Y3RbJ2lzX21pc3NpbmdfdGV4dCddID0gVHJ1ZQotCi0gICAgICAgIGlmIHRlc3RfZmFpbHVyZXMu
RmFpbHVyZU1pc3NpbmdJbWFnZSBpbiBmYWlsdXJlX3R5cGVzIG9yIHRlc3RfZmFpbHVyZXMuRmFp
bHVyZU1pc3NpbmdJbWFnZUhhc2ggaW4gZmFpbHVyZV90eXBlczoKLSAgICAgICAgICAgIHRlc3Rf
ZGljdFsnaXNfbWlzc2luZ19pbWFnZSddID0gVHJ1ZQorICAgICAgICB0ZXN0X2RpY3QudXBkYXRl
KGludGVycHJldF90ZXN0X2ZhaWx1cmVzKHBvcnRfb2JqLCB0ZXN0X25hbWUsIHJlc3VsdC5mYWls
dXJlcykpCiAKICAgICAgICAgIyBTdG9yZSB0ZXN0IGhpZXJhcmNoaWNhbGx5IGJ5IGRpcmVjdG9y
eS4gZS5nLgogICAgICAgICAjIGZvby9iYXIvYmF6Lmh0bWw6IHRlc3RfZGljdApkaWZmIC0tZ2l0
IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdl
cl91bml0dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRy
b2xsZXJzL21hbmFnZXJfdW5pdHRlc3QucHkKaW5kZXggZTFlZWQwODhjMTg1NjQyMzRhN2YzYjAx
YTg1N2E1NWVjYTczOWRjYS4uMjM3MWQ4YzcxYzk2ZDI2YmI0Mzc5Y2FhNTdhNTRmZjgzMDBiMzVh
YiAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJv
bGxlcnMvbWFuYWdlcl91bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xh
eW91dF90ZXN0cy9jb250cm9sbGVycy9tYW5hZ2VyX3VuaXR0ZXN0LnB5CkBAIC00Miw3ICs0Miw4
IEBAIGZyb20gd2Via2l0cHkubGF5b3V0X3Rlc3RzLnBvcnQgaW1wb3J0IHBvcnRfdGVzdGNhc2UK
IAogZnJvbSB3ZWJraXRweSBpbXBvcnQgbGF5b3V0X3Rlc3RzCiBmcm9tIHdlYmtpdHB5LmxheW91
dF90ZXN0cyBpbXBvcnQgcnVuX3dlYmtpdF90ZXN0cwotZnJvbSB3ZWJraXRweS5sYXlvdXRfdGVz
dHMuY29udHJvbGxlcnMubWFuYWdlciBpbXBvcnQgTWFuYWdlciwgbmF0dXJhbF9zb3J0X2tleSwg
dGVzdF9rZXksIFRlc3RSdW5JbnRlcnJ1cHRlZEV4Y2VwdGlvbiwgVGVzdFNoYXJkCitmcm9tIHdl
YmtpdHB5LmxheW91dF90ZXN0cy5jb250cm9sbGVycy5tYW5hZ2VyIGltcG9ydCBpbnRlcnByZXRf
dGVzdF9mYWlsdXJlcywgIE1hbmFnZXIsIG5hdHVyYWxfc29ydF9rZXksIHRlc3Rfa2V5LCBUZXN0
UnVuSW50ZXJydXB0ZWRFeGNlcHRpb24sIFRlc3RTaGFyZAorZnJvbSB3ZWJraXRweS5sYXlvdXRf
dGVzdHMubW9kZWxzIGltcG9ydCB0ZXN0X2ZhaWx1cmVzCiBmcm9tIHdlYmtpdHB5LmxheW91dF90
ZXN0cy5tb2RlbHMucmVzdWx0X3N1bW1hcnkgaW1wb3J0IFJlc3VsdFN1bW1hcnkKIGZyb20gd2Vi
a2l0cHkubGF5b3V0X3Rlc3RzLnZpZXdzIGltcG9ydCBwcmludGluZwogZnJvbSB3ZWJraXRweS50
b29sLm1vY2t0b29sIGltcG9ydCBNb2NrT3B0aW9ucwpAQCAtMzA1LDUgKzMwNiwzNyBAQCBjbGFz
cyBLZXlDb21wYXJlVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIHNlbGYuYXNzZXJ0
X2NtcCgnL2Zvby1iYXIvYmF6JywgJy9mb28vYmF6JywgLTEpCiAKIAorY2xhc3MgUmVzdWx0U3Vt
bWFyeVRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgorCisgICAgZGVmIHNldFVwKHNlbGYpOgorICAg
ICAgICBob3N0ID0gTW9ja0hvc3QoKQorICAgICAgICBzZWxmLnBvcnQgPSBob3N0LnBvcnRfZmFj
dG9yeS5nZXQocG9ydF9uYW1lPSd0ZXN0JykKKworICAgIGRlZiB0ZXN0X2ludGVycHJldF90ZXN0
X2ZhaWx1cmVzKHNlbGYpOgorICAgICAgICB0ZXN0X2RpY3QgPSBpbnRlcnByZXRfdGVzdF9mYWls
dXJlcyhzZWxmLnBvcnQsICdmb28vcmVmdGVzdC5odG1sJywKKyAgICAgICAgICAgIFt0ZXN0X2Zh
aWx1cmVzLkZhaWx1cmVSZWZ0ZXN0TWlzbWF0Y2goc2VsZi5wb3J0LmFic3BhdGhfZm9yX3Rlc3Qo
J2Zvby9yZWZ0ZXN0LWV4cGVjdGVkLmh0bWwnKSldKQorICAgICAgICBzZWxmLmFzc2VydFRydWUo
J2lzX3JlZnRlc3QnIGluIHRlc3RfZGljdCkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZSgnaXNf
bWlzbWF0Y2hfcmVmdGVzdCcgaW4gdGVzdF9kaWN0KQorICAgICAgICBzZWxmLmFzc2VydEZhbHNl
KCdyZWZfZmlsZScgaW4gdGVzdF9kaWN0KQorCisgICAgICAgIHRlc3RfZGljdCA9IGludGVycHJl
dF90ZXN0X2ZhaWx1cmVzKHNlbGYucG9ydCwgJ2Zvby9yZWZ0ZXN0Lmh0bWwnLAorICAgICAgICAg
ICAgW3Rlc3RfZmFpbHVyZXMuRmFpbHVyZVJlZnRlc3RNaXNtYXRjaChzZWxmLnBvcnQuYWJzcGF0
aF9mb3JfdGVzdCgnZm9vL2NvbW1vbi5odG1sJykpXSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVl
KCdpc19yZWZ0ZXN0JyBpbiB0ZXN0X2RpY3QpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoJ2lz
X21pc21hdGNoX3JlZnRlc3QnIGluIHRlc3RfZGljdCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVh
bCh0ZXN0X2RpY3RbJ3JlZl9maWxlJ10sICdmb28vY29tbW9uLmh0bWwnKQorCisgICAgICAgIHRl
c3RfZGljdCA9IGludGVycHJldF90ZXN0X2ZhaWx1cmVzKHNlbGYucG9ydCwgJ2Zvby9yZWZ0ZXN0
Lmh0bWwnLAorICAgICAgICAgICAgW3Rlc3RfZmFpbHVyZXMuRmFpbHVyZVJlZnRlc3RNaXNtYXRj
aERpZE5vdE9jY3VyKHNlbGYucG9ydC5hYnNwYXRoX2Zvcl90ZXN0KCdmb28vcmVmdGVzdC1leHBl
Y3RlZC1taXNtYXRjaC5odG1sJykpXSkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZSgnaXNfcmVm
dGVzdCcgaW4gdGVzdF9kaWN0KQorICAgICAgICBzZWxmLmFzc2VydFRydWUodGVzdF9kaWN0Wydp
c19taXNtYXRjaF9yZWZ0ZXN0J10pCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoJ3JlZl9maWxl
JyBpbiB0ZXN0X2RpY3QpCisKKyAgICAgICAgdGVzdF9kaWN0ID0gaW50ZXJwcmV0X3Rlc3RfZmFp
bHVyZXMoc2VsZi5wb3J0LCAnZm9vL3JlZnRlc3QuaHRtbCcsCisgICAgICAgICAgICBbdGVzdF9m
YWlsdXJlcy5GYWlsdXJlUmVmdGVzdE1pc21hdGNoRGlkTm90T2NjdXIoc2VsZi5wb3J0LmFic3Bh
dGhfZm9yX3Rlc3QoJ2Zvby9jb21tb24uaHRtbCcpKV0pCisgICAgICAgIHNlbGYuYXNzZXJ0RmFs
c2UoJ2lzX3JlZnRlc3QnIGluIHRlc3RfZGljdCkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHRl
c3RfZGljdFsnaXNfbWlzbWF0Y2hfcmVmdGVzdCddKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFs
KHRlc3RfZGljdFsncmVmX2ZpbGUnXSwgJ2Zvby9jb21tb24uaHRtbCcpCisKKwogaWYgX19uYW1l
X18gPT0gJ19fbWFpbl9fJzoKICAgICBwb3J0X3Rlc3RjYXNlLm1haW4oKQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDA3ODdk
MThjNGYxYmM2YzQzZWQ5MGIxZGZhYTg5YzRkMjRhZjI5MTAuLmE4NTFhMjYzYjU4YzcwYmY1YWRi
NWI2MjhlZjU5OTFhNjA1OTFjOGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMS0xMS0wOSAg
SGF5YXRvIEl0byAgPGhheWF0b0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW05SV1RdIE1ha2Ug
cmVzdWx0cy5odG1sIGF3YXJlIG9mIHJlZmVyZW5jZSBmaWxlbmFtZSBpbiByZWZ0ZXN0cy4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxNTc0CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSWYgYSByZWZlcmVu
Y2UgZmlsZW5hbWUgaXMgZGlmZmVyZW50IGZyb20gdGhlIGRlZmF1bHQgb25lLCBpbmNsdWRlIHRo
YXQgaW4gcmVzdWx0IHN1bW1hcnkKKyAgICAgICAgc28gcmVzdWx0cy5odG1sIGNhbiBsaW5rIHRv
IHRoZSBjb3JyZWN0IHJlZmVyZW5jZSBmaWxlLgorCisgICAgICAgICogZmFzdC9oYXJuZXNzL3Jl
c291cmNlcy9yZXN1bHRzLXRlc3QuanM6CisgICAgICAgICogZmFzdC9oYXJuZXNzL3Jlc3VsdHMu
aHRtbDoKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2hhcm5lc3MvcmVzdWx0cy1l
eHBlY3RlZC50eHQ6CisKIDIwMTEtMTEtMDggIENocmlzIEV2YW5zICA8Y2V2YW5zQGdvb2dsZS5j
b20+CiAKICAgICAgICAgQ3Jhc2ggYWNjZXNzaW5nIGZvbnQgZmFjdCBydWxlIHBhcmVudApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9oYXJuZXNzL3Jlc291cmNlcy9yZXN1bHRzLXRlc3Qu
anMgYi9MYXlvdXRUZXN0cy9mYXN0L2hhcm5lc3MvcmVzb3VyY2VzL3Jlc3VsdHMtdGVzdC5qcwpp
bmRleCBhNmViNGM5MzFjNzcxYmRlOWM5YWYxNDUwYjViMDhjMDcxMmI1OTIwLi5mOWJiMjg3Yzhi
OTZjZjA4ZWRmOWI1ZTQ4ODFiNmM5NzFkOGE5NDJkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L2hhcm5lc3MvcmVzb3VyY2VzL3Jlc3VsdHMtdGVzdC5qcworKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2hhcm5lc3MvcmVzb3VyY2VzL3Jlc3VsdHMtdGVzdC5qcwpAQCAtMjY1LDYgKzI2NSwyNCBA
QCBmdW5jdGlvbiBydW5UZXN0cygpCiAgICAgcnVuU2luZ2xlUm93VGVzdChyZXN1bHRzLCBmYWxz
ZSwgJycsICdyZWYgbWlzbWF0Y2ggaHRtbCBhY3R1YWwgJyk7CiAKICAgICByZXN1bHRzID0gbW9j
a1Jlc3VsdHMoKTsKKyAgICByZXN1bHRzLnRlc3RzWydiYXItcmVmdGVzdC5odG1sJ10gPSBtb2Nr
RXhwZWN0YXRpb24oJ1BBU1MnLCAnSU1BR0UnLCAxKTsKKyAgICByZXN1bHRzLnRlc3RzWydiYXIt
cmVmdGVzdC5odG1sJ10uaXNfcmVmdGVzdCA9IHRydWU7CisgICAgcmVzdWx0cy50ZXN0c1snYmFy
LXJlZnRlc3QuaHRtbCddLnJlZl9maWxlID0gJ2NvbW1vbi5odG1sJzsKKyAgICBydW5TaW5nbGVS
b3dUZXN0KHJlc3VsdHMsIGZhbHNlLCAnJywgJ3JlZiBodG1sIGltYWdlcyBkaWZmICgxJSkgJyk7
CisgICAgcnVuVGVzdChyZXN1bHRzLCBmdW5jdGlvbigpIHsKKyAgICAgICAgYXNzZXJ0VHJ1ZShk
b2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdyZXN1bHQtbGluaycpWzBdLmdldEF0dHJp
YnV0ZSgnaHJlZicpID09ICdjb21tb24uaHRtbCcpOworICAgIH0pOworCisgICAgcmVzdWx0cyA9
IG1vY2tSZXN1bHRzKCk7CisgICAgcmVzdWx0cy50ZXN0c1snYmFyLXJlZnRlc3QuaHRtbCddID0g
bW9ja0V4cGVjdGF0aW9uKCdQQVNTJywgJ0lNQUdFJyk7CisgICAgcmVzdWx0cy50ZXN0c1snYmFy
LXJlZnRlc3QuaHRtbCddLmlzX21pc21hdGNoX3JlZnRlc3QgPSB0cnVlOworICAgIHJlc3VsdHMu
dGVzdHNbJ2Jhci1yZWZ0ZXN0Lmh0bWwnXS5yZWZfZmlsZSA9ICdjb21tb24uaHRtbCc7CisgICAg
cnVuU2luZ2xlUm93VGVzdChyZXN1bHRzLCBmYWxzZSwgJycsICdyZWYgbWlzbWF0Y2ggaHRtbCBh
Y3R1YWwgJyk7CisgICAgcnVuVGVzdChyZXN1bHRzLCBmdW5jdGlvbigpIHsKKyAgICAgICAgYXNz
ZXJ0VHJ1ZShkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdyZXN1bHQtbGluaycpWzBd
LmdldEF0dHJpYnV0ZSgnaHJlZicpID09ICdjb21tb24uaHRtbCcpOworICAgIH0pOworCisgICAg
cmVzdWx0cyA9IG1vY2tSZXN1bHRzKCk7CiAgICAgdmFyIHN1YnRyZWUgPSByZXN1bHRzLnRlc3Rz
Wydmb28nXSA9IHt9CiAgICAgc3VidHJlZVsnYmFyLWZsYWt5LXBhc3MuaHRtbCddID0gbW9ja0V4
cGVjdGF0aW9uKCdQQVNTIFRFWFQnLCAnUEFTUycpOwogICAgIHJ1blRlc3QocmVzdWx0cywgZnVu
Y3Rpb24oKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2hhcm5lc3MvcmVzdWx0cy5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9oYXJuZXNzL3Jlc3VsdHMuaHRtbAppbmRleCA5NDI0MDUy
ZDFhOWYyZjYxNjBkNTZiMTVjMDMwYmI4OGU1NDczYzdmLi4wNzljMWI2ZTgyNDA1MjkzMGU1NjJk
MTIzZmEwODExMDFhNGQ5YmNjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2hhcm5lc3Mv
cmVzdWx0cy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvaGFybmVzcy9yZXN1bHRzLmh0bWwK
QEAgLTQwOSw2ICs0MDksMTEgQEAgZnVuY3Rpb24gcmVzdWx0TGluayh0ZXN0UHJlZml4LCBzdWZm
aXgsIGNvbnRlbnRzKQogICAgIHJldHVybiAnPGEgY2xhc3M9cmVzdWx0LWxpbmsgaHJlZj0iJyAr
IHRlc3RQcmVmaXggKyBzdWZmaXggKyAnIiBkYXRhLXByZWZpeD0iJyArIHRlc3RQcmVmaXggKyAn
Ij4nICsgY29udGVudHMgKyAnPC9hPiAnOwogfQogCitmdW5jdGlvbiByZWZlcmVuY2VMaW5rKHRl
c3RQcmVmaXgsIHJlZmVyZW5jZV9maWxlbmFtZSwgY29udGVudHMpCit7CisgICAgcmV0dXJuICc8
YSBjbGFzcz1yZXN1bHQtbGluayBocmVmPSInICsgcmVmZXJlbmNlX2ZpbGVuYW1lICsgJyIgZGF0
YS1wcmVmaXg9IicgKyB0ZXN0UHJlZml4ICsgJyI+JyArIGNvbnRlbnRzICsgJzwvYT4gJzsKK30K
KwogZnVuY3Rpb24gaXNGYWlsdXJlRXhwZWN0ZWQoZXhwZWN0ZWQsIGFjdHVhbCkKIHsKICAgICB2
YXIgaXNFeHBlY3RlZCA9IHRydWU7CkBAIC01NDEsMTIgKzU0NiwxOCBAQCBmdW5jdGlvbiB0YWJs
ZVJvdyh0ZXN0T2JqZWN0KQogICAgICAgICBnbG9iYWxTdGF0ZSgpLmhhc0ltYWdlRmFpbHVyZXMg
PSB0cnVlOwogCiAgICAgICAgIGlmICh0ZXN0T2JqZWN0LmlzX21pc21hdGNoX3JlZnRlc3QpIHsK
LSAgICAgICAgICAgIHJvdyArPSByZXN1bHRMaW5rKHRlc3RfcHJlZml4LCAnLWV4cGVjdGVkLW1p
c21hdGNoLmh0bWwnLCAncmVmIG1pc21hdGNoIGh0bWwnKSArCi0gICAgICAgICAgICAgICAgcmVz
dWx0TGluayh0ZXN0X3ByZWZpeCwgJy1hY3R1YWwucG5nJywgJ2FjdHVhbCcpOworICAgICAgICAg
ICAgaWYgKHRlc3RPYmplY3QucmVmX2ZpbGUpCisgICAgICAgICAgICAgICAgcm93ICs9IHJlZmVy
ZW5jZUxpbmsodGVzdF9wcmVmaXgsIHRlc3RPYmplY3QucmVmX2ZpbGUsICdyZWYgbWlzbWF0Y2gg
aHRtbCcpOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIHJvdyArPSByZXN1bHRM
aW5rKHRlc3RfcHJlZml4LCAnLWV4cGVjdGVkLW1pc21hdGNoLmh0bWwnLCAncmVmIG1pc21hdGNo
IGh0bWwnKTsKKyAgICAgICAgICAgIHJvdyArPSByZXN1bHRMaW5rKHRlc3RfcHJlZml4LCAnLWFj
dHVhbC5wbmcnLCAnYWN0dWFsJyk7CiAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBpZiAo
dGVzdE9iamVjdC5pc19yZWZ0ZXN0KQotICAgICAgICAgICAgICAgIHJvdyArPSByZXN1bHRMaW5r
KHRlc3RfcHJlZml4LCAnLWV4cGVjdGVkLmh0bWwnLCAncmVmIGh0bWwnKTsKLSAgICAgICAgICAg
IAorICAgICAgICAgICAgaWYgKHRlc3RPYmplY3QuaXNfcmVmdGVzdCkgeworICAgICAgICAgICAg
ICAgIGlmICh0ZXN0T2JqZWN0LnJlZl9maWxlKQorICAgICAgICAgICAgICAgICAgICByb3cgKz0g
cmVmZXJlbmNlTGluayh0ZXN0X3ByZWZpeCwgdGVzdE9iamVjdC5yZWZfZmlsZSwgJ3JlZiBodG1s
Jyk7CisgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICByb3cgKz0gcmVz
dWx0TGluayh0ZXN0X3ByZWZpeCwgJy1leHBlY3RlZC5odG1sJywgJ3JlZiBodG1sJyk7CisgICAg
ICAgICAgICB9CiAgICAgICAgICAgICBpZiAoZ2xvYmFsU3RhdGUoKS5zaG91bGRUb2dnbGVJbWFn
ZXMpIHsKICAgICAgICAgICAgICAgICByb3cgKz0gcmVzdWx0TGluayh0ZXN0X3ByZWZpeCwgJy1k
aWZmcy5odG1sJywgJ2ltYWdlcycpOwogICAgICAgICAgICAgfSBlbHNlIHsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvaGFybmVzcy9yZXN1bHRzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvaGFybmVzcy9yZXN1
bHRzLWV4cGVjdGVkLnR4dAppbmRleCBlMGYyNDE0N2M1YTYxZTc2ZDI0OWQ1MWU3ZDJiNjFmZmE1
MTkzZDJmLi5lNzk5NjBiMWVlZWY2MTA4M2E5ZjgyYzk0ODMzMTM2NDRhOTFhNmRlIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2hhcm5lc3MvcmVzdWx0cy1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9oYXJu
ZXNzL3Jlc3VsdHMtZXhwZWN0ZWQudHh0CkBAIC05Niw3MCArOTYsODQgQEAgVEVTVC0xNTogUEFT
UwogVEVTVC0xNjogUEFTUwogVEVTVC0xNjogUEFTUwogVEVTVC0xNjogUEFTUwotVEVTVC0xNzog
UEFTUwotVEVTVC0xNzogUEFTUworVEVTVC0xNjogUEFTUworVEVTVC0xNjogUEFTUworVEVTVC0x
NjogUEFTUwogVEVTVC0xNzogUEFTUwogVEVTVC0xODogUEFTUwogVEVTVC0xODogUEFTUwogVEVT
VC0xODogUEFTUwogVEVTVC0xODogUEFTUworVEVTVC0xODogUEFTUworVEVTVC0xODogUEFTUwog
VEVTVC0xOTogUEFTUwotVEVTVC0xOTogUEFTUwotVEVTVC0yMDogUEFTUwotVEVTVC0yMDogUEFT
UwogVEVTVC0yMDogUEFTUwogVEVTVC0yMDogUEFTUwogVEVTVC0yMDogUEFTUwogVEVTVC0yMTog
UEFTUwogVEVTVC0yMTogUEFTUworVEVTVC0yMTogUEFTUworVEVTVC0yMjogUEFTUworVEVTVC0y
MjogUEFTUwogVEVTVC0yMjogUEFTUwogVEVTVC0yMjogUEFTUwogVEVTVC0yMzogUEFTUworVEVT
VC0yMzogUEFTUworVEVTVC0yNDogUEFTUworVEVTVC0yNDogUEFTUworVEVTVC0yNDogUEFTUwog
VEVTVC0yNDogUEFTUwogVEVTVC0yNDogUEFTUwogVEVTVC0yNTogUEFTUworVEVTVC0yNTogUEFT
UworVEVTVC0yNjogUEFTUwogVEVTVC0yNjogUEFTUwogVEVTVC0yNzogUEFTUwogVEVTVC0yODog
UEFTUwogVEVTVC0yODogUEFTUwotVEVTVC0yODogUEFTUwogVEVTVC0yOTogUEFTUwotVEVTVC0y
OTogUEFTUwotVEVTVC0zMDogUEFTUwotVEVTVC0zMDogUEFTUwotVEVTVC0zMDogUEFTUwotVEVT
VC0zMDogUEFTUwotVEVTVC0zMDogUEFTUwogVEVTVC0zMDogUEFTUwotVEVTVC0zMDogUEFTUwot
VEVTVC0zMDogUEFTUwotVEVTVC0zMDogUEFTUwotVEVTVC0zMDogUEFTUwotVEVTVC0zMDogUEFT
UwotVEVTVC0zMDogUEFTUwotVEVTVC0zMDogUEFTUwotVEVTVC0zMDogUEFTUwotVEVTVC0zMDog
UEFTUwotVEVTVC0zMDogUEFTUwotVEVTVC0zMTogUEFTUwotVEVTVC0zMTogUEFTUwotVEVTVC0z
MTogUEFTUwogVEVTVC0zMTogUEFTUwotVEVTVC0zMTogUEFTUwotVEVTVC0zMTogUEFTUwotVEVT
VC0zMTogUEFTUwotVEVTVC0zMTogUEFTUwotVEVTVC0zMTogUEFTUwotVEVTVC0zMTogUEFTUwot
VEVTVC0zMjogUEFTUwogVEVTVC0zMjogUEFTUwogVEVTVC0zMjogUEFTUwogVEVTVC0zMjogUEFT
UwogVEVTVC0zMzogUEFTUwogVEVTVC0zMzogUEFTUwotVEVTVC0zMzogUEFTUwotVEVTVC0zMzog
UEFTUwotVEVTVC0zMzogUEFTUwotVEVTVC0zMzogUEFTUwotVEVTVC0zMzogUEFTUwotVEVTVC0z
MzogUEFTUworVEVTVC0zNDogUEFTUworVEVTVC0zNDogUEFTUworVEVTVC0zNDogUEFTUworVEVT
VC0zNDogUEFTUworVEVTVC0zNDogUEFTUworVEVTVC0zNDogUEFTUworVEVTVC0zNDogUEFTUwor
VEVTVC0zNDogUEFTUworVEVTVC0zNDogUEFTUworVEVTVC0zNDogUEFTUworVEVTVC0zNDogUEFT
UworVEVTVC0zNDogUEFTUworVEVTVC0zNDogUEFTUworVEVTVC0zNDogUEFTUworVEVTVC0zNDog
UEFTUworVEVTVC0zNDogUEFTUworVEVTVC0zNTogUEFTUworVEVTVC0zNTogUEFTUworVEVTVC0z
NTogUEFTUworVEVTVC0zNTogUEFTUworVEVTVC0zNTogUEFTUworVEVTVC0zNTogUEFTUworVEVT
VC0zNTogUEFTUworVEVTVC0zNTogUEFTUworVEVTVC0zNTogUEFTUworVEVTVC0zNTogUEFTUwor
VEVTVC0zNjogUEFTUworVEVTVC0zNjogUEFTUworVEVTVC0zNjogUEFTUworVEVTVC0zNjogUEFT
UworVEVTVC0zNzogUEFTUworVEVTVC0zNzogUEFTUworVEVTVC0zNzogUEFTUworVEVTVC0zNzog
UEFTUworVEVTVC0zNzogUEFTUworVEVTVC0zNzogUEFTUworVEVTVC0zNzogUEFTUworVEVTVC0z
NzogUEFTUwo=
</data>
<flag name="review"
          id="113079"
          type_id="1"
          status="+"
          setter="rniwa"
    />
          </attachment>
      

    </bug>

</bugzilla>