<?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>39257</bug_id>
          
          <creation_ts>2010-05-17 19:02:35 -0700</creation_ts>
          <short_desc>Chromium: new-run-webkit-httpd fails to setup_mount</short_desc>
          <delta_ts>2010-05-18 01:52:41 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows Vista</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Fumitoshi Ukai">ukai</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>227050</commentid>
    <comment_count>0</comment_count>
    <who name="Fumitoshi Ukai">ukai</who>
    <bug_when>2010-05-17 19:02:35 -0700</bug_when>
    <thetext>In chromium, new-run-webkit-httpd fails to setup mount.
cf. http://build.chromium.org/buildbot/waterfall/builders/NACL%20Tests/builds/10521/steps/nacl_ui_tests/logs/stdio</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227053</commentid>
    <comment_count>1</comment_count>
      <attachid>56306</attachid>
    <who name="Fumitoshi Ukai">ukai</who>
    <bug_when>2010-05-17 19:08:31 -0700</bug_when>
    <thetext>Created attachment 56306
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227055</commentid>
    <comment_count>2</comment_count>
      <attachid>56306</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-05-17 19:11:27 -0700</bug_when>
    <thetext>Comment on attachment 56306
Patch

LGTM.  A unit test would be even better.  There is a MockExecutive inside mocktool.py which knows how to log arguments.  outputcapture.py can be used to assert that the right output was logged.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227063</commentid>
    <comment_count>3</comment_count>
      <attachid>56309</attachid>
    <who name="Fumitoshi Ukai">ukai</who>
    <bug_when>2010-05-17 19:42:15 -0700</bug_when>
    <thetext>Created attachment 56309
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227064</commentid>
    <comment_count>4</comment_count>
    <who name="Fumitoshi Ukai">ukai</who>
    <bug_when>2010-05-17 19:43:13 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 56306 [details])
&gt; LGTM.  A unit test would be even better.  There is a MockExecutive inside mocktool.py which knows how to log arguments.  outputcapture.py can be used to assert that the right output was logged.

Thanks for review.
Added a unit test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227071</commentid>
    <comment_count>5</comment_count>
      <attachid>56309</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-05-17 20:01:10 -0700</bug_when>
    <thetext>Comment on attachment 56309
Patch

WebKitTools/Scripts/webkitpy/layout_tests/port/chromium_win_unittest.py:47
 +                                expected_stdout=&quot;&quot;,
These default to &quot;&quot;, so the explicit =&quot;&quot; are not needed.

WebKitTools/Scripts/webkitpy/layout_tests/port/chromium_win_unittest.py:51
 +          orig_platform = sys.platform
I would have abstracted that code into some sort of setup/teardown function.  If we wanted to get fancy we could use python 2.5+ contextual objects and a with statement, but that&apos;s probably overkill.

WebKitTools/Scripts/webkitpy/layout_tests/port/chromium_win_unittest.py:62
 +                                expected_stdout=&quot;&quot;,
Not needed, defaults to &quot;&quot;

LGTM otherwise.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227080</commentid>
    <comment_count>6</comment_count>
      <attachid>56313</attachid>
    <who name="Fumitoshi Ukai">ukai</who>
    <bug_when>2010-05-17 20:13:46 -0700</bug_when>
    <thetext>Created attachment 56313
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227082</commentid>
    <comment_count>7</comment_count>
      <attachid>56314</attachid>
    <who name="Fumitoshi Ukai">ukai</who>
    <bug_when>2010-05-17 20:16:13 -0700</bug_when>
    <thetext>Created attachment 56314
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227117</commentid>
    <comment_count>8</comment_count>
      <attachid>56314</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-05-17 22:13:23 -0700</bug_when>
    <thetext>Comment on attachment 56314
Patch

WebKitTools/Scripts/webkitpy/common/system/executive.py:268
 +          if not isinstance(args, list) and not isinstance(args, tuple):
I think assert(isinstance(args, list) or isinstance(args, tuple)) would be clearer.  ScriptError is generally used for when the script being run has a error.

WebKitTools/Scripts/webkitpy/common/system/executive_unittest.py:47
 +          self.assertRaises(ScriptError, executive.run_command, &quot;echo&quot;)
This would be AssertionError then.

WebKitTools/Scripts/webkitpy/common/system/executive_unittest.py:49
 +          executive.run_command([&quot;echo&quot;, &quot;foo&quot;])
Is this going to end up outputing &quot;foo&quot; on the console when test-webkitpy is run?

WebKitTools/Scripts/webkitpy/layout_tests/port/chromium_win_unittest.py:59
 +          setup_mount = port.path_from_chromium_base(&quot;third_party&quot;,
This will fail to run in a non-chromium environment.  Instead you should mock out path_from_chromium_base for the test, no?

r- because the test would fail from a normal webkit checkout.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227120</commentid>
    <comment_count>9</comment_count>
      <attachid>56322</attachid>
    <who name="Fumitoshi Ukai">ukai</who>
    <bug_when>2010-05-17 22:27:41 -0700</bug_when>
    <thetext>Created attachment 56322
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227121</commentid>
    <comment_count>10</comment_count>
    <who name="Fumitoshi Ukai">ukai</who>
    <bug_when>2010-05-17 22:29:44 -0700</bug_when>
    <thetext>Thanks for review!

(In reply to comment #8)
&gt; (From update of attachment 56314 [details])
&gt; WebKitTools/Scripts/webkitpy/common/system/executive.py:268
&gt;  +          if not isinstance(args, list) and not isinstance(args, tuple):
&gt; I think assert(isinstance(args, list) or isinstance(args, tuple)) would be clearer.  ScriptError is generally used for when the script being run has a error.

I see. Fixed.

&gt; 
&gt; WebKitTools/Scripts/webkitpy/common/system/executive_unittest.py:47
&gt;  +          self.assertRaises(ScriptError, executive.run_command, &quot;echo&quot;)
&gt; This would be AssertionError then.

Fixed.

&gt; 
&gt; WebKitTools/Scripts/webkitpy/common/system/executive_unittest.py:49
&gt;  +          executive.run_command([&quot;echo&quot;, &quot;foo&quot;])
&gt; Is this going to end up outputing &quot;foo&quot; on the console when test-webkitpy is run?

&quot;foo\n&quot; will be returned from run_command, not to show on console.
 
&gt; WebKitTools/Scripts/webkitpy/layout_tests/port/chromium_win_unittest.py:59
&gt;  +          setup_mount = port.path_from_chromium_base(&quot;third_party&quot;,
&gt; This will fail to run in a non-chromium environment.  Instead you should mock out path_from_chromium_base for the test, no?

Ah.  Fixed by using mock_path_from_chromium_base.
 
&gt; r- because the test would fail from a normal webkit checkout.

Tested in normal webkit checkout.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227183</commentid>
    <comment_count>11</comment_count>
      <attachid>56322</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-05-18 01:35:59 -0700</bug_when>
    <thetext>Comment on attachment 56322
Patch

OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227188</commentid>
    <comment_count>12</comment_count>
    <who name="Fumitoshi Ukai">ukai</who>
    <bug_when>2010-05-18 01:52:41 -0700</bug_when>
    <thetext>Committed r59661: &lt;http://trac.webkit.org/changeset/59661&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>56306</attachid>
            <date>2010-05-17 19:08:31 -0700</date>
            <delta_ts>2010-05-17 22:27:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-39257-20100517190829.patch</filename>
            <type>text/plain</type>
            <size>1481</size>
            <attacher name="Fumitoshi Ukai">ukai</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCAzNTk2ZDE0NmMzZDgxNDU0NDAxOTllYTFhODc4ZDlmOWQ2MzljZmE5Li4wYjE0NWMy
YmZhZDFhMGQxMzY5ZDY1MzI0NmIyM2I4YzQ2NzI5OWE2IDEwMDY0NAotLS0gYS9XZWJLaXRUb29s
cy9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMTAtMDUtMTcgIEZ1bWl0b3NoaSBVa2FpICA8dWthaUBjaHJvbWl1bS5vcmc+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ2hyb21pdW06IG5ldy1y
dW4td2Via2l0LWh0dHBkIGZhaWxzIHRvIHNldHVwX21vdW50CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zOTI1NworCisgICAgICAgICogU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV93aW4ucHk6CisgICAgICAgICBFeGVj
dXRpdmUucnVuX2NvbW1hbmQgdGFrZXMgYXJyYXkgZm9yIGNvbW1hbmQgbGluZQorCiAyMDEwLTA1
LTE3ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAg
ICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByNTk2MzEuCmRpZmYgLS1naXQgYS9XZWJLaXRUb29s
cy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX3dpbi5weSBiL1dl
YktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fd2lu
LnB5CmluZGV4IGFkNzhlNjE3NjViNDNmYzFhOGU0NmE2NGRhMjI3YTZmZmViNTc2NzQuLmQ0NmRl
YTcyNmNlMTY0NTNhMTZhZmZiZjU3NWZiYjlmNDNjYmVhNDggMTAwNjQ0Ci0tLSBhL1dlYktpdFRv
b2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fd2luLnB5Cisr
KyBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21p
dW1fd2luLnB5CkBAIC02NCw3ICs2NCw3IEBAIGNsYXNzIENocm9taXVtV2luUG9ydChjaHJvbWl1
bS5DaHJvbWl1bVBvcnQpOgogICAgICAgICAgICAgc2V0dXBfbW91bnQgPSBzZWxmLnBhdGhfZnJv
bV9jaHJvbWl1bV9iYXNlKCJ0aGlyZF9wYXJ0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImN5Z3dpbiIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNldHVwX21vdW50LmJhdCIp
Ci0gICAgICAgICAgICBzZWxmLl9leGVjdXRpdmUucnVuX2NvbW1hbmQoc2V0dXBfbW91bnQpCisg
ICAgICAgICAgICBzZWxmLl9leGVjdXRpdmUucnVuX2NvbW1hbmQoW3NldHVwX21vdW50XSkKICAg
ICAgICAgcmV0dXJuIGVudgogCiAgICAgZGVmIGJhc2VsaW5lX3NlYXJjaF9wYXRoKHNlbGYpOgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>56309</attachid>
            <date>2010-05-17 19:42:15 -0700</date>
            <delta_ts>2010-05-17 22:27:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-39257-20100517194213.patch</filename>
            <type>text/plain</type>
            <size>5047</size>
            <attacher name="Fumitoshi Ukai">ukai</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCAzNTk2ZDE0NmMzZDgxNDU0NDAxOTllYTFhODc4ZDlmOWQ2MzljZmE5Li45ZTE3YzQy
OTg3MzZhYWY5MTJjOTNmNmRiYjE2OTVkZjIxMmQyNGEzIDEwMDY0NAotLS0gYS9XZWJLaXRUb29s
cy9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAK
KzIwMTAtMDUtMTcgIEZ1bWl0b3NoaSBVa2FpICA8dWthaUBjaHJvbWl1bS5vcmc+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ2hyb21pdW06IG5ldy1y
dW4td2Via2l0LWh0dHBkIGZhaWxzIHRvIHNldHVwX21vdW50CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zOTI1NworCisgICAgICAgICogU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV93aW4ucHk6CisgICAgICAgICBFeGVj
dXRpdmUucnVuX2NvbW1hbmQgdGFrZXMgYXJyYXkgZm9yIGNvbW1hbmQgbGluZQorICAgICAgICAq
IFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fd2luX3VuaXR0ZXN0
LnB5OgorICAgICAgICAgVGVzdCBpZiBzZXR1cF9lbnZpcm9uX2Zvcl9zZXJ2ZXIoKSBydW4gc2V0
dXBfbW91bnQuYmF0LgorCiAyMDEwLTA1LTE3ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcu
Ym90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByNTk2MzEu
CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9w
b3J0L2Nocm9taXVtX3dpbi5weSBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0
X3Rlc3RzL3BvcnQvY2hyb21pdW1fd2luLnB5CmluZGV4IGFkNzhlNjE3NjViNDNmYzFhOGU0NmE2
NGRhMjI3YTZmZmViNTc2NzQuLmQ0NmRlYTcyNmNlMTY0NTNhMTZhZmZiZjU3NWZiYjlmNDNjYmVh
NDggMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3Rz
L3BvcnQvY2hyb21pdW1fd2luLnB5CisrKyBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkv
bGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fd2luLnB5CkBAIC02NCw3ICs2NCw3IEBAIGNsYXNz
IENocm9taXVtV2luUG9ydChjaHJvbWl1bS5DaHJvbWl1bVBvcnQpOgogICAgICAgICAgICAgc2V0
dXBfbW91bnQgPSBzZWxmLnBhdGhfZnJvbV9jaHJvbWl1bV9iYXNlKCJ0aGlyZF9wYXJ0eSIsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImN5
Z3dpbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgInNldHVwX21vdW50LmJhdCIpCi0gICAgICAgICAgICBzZWxmLl9leGVjdXRpdmUucnVu
X2NvbW1hbmQoc2V0dXBfbW91bnQpCisgICAgICAgICAgICBzZWxmLl9leGVjdXRpdmUucnVuX2Nv
bW1hbmQoW3NldHVwX21vdW50XSkKICAgICAgICAgcmV0dXJuIGVudgogCiAgICAgZGVmIGJhc2Vs
aW5lX3NlYXJjaF9wYXRoKHNlbGYpOgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV93aW5fdW5pdHRlc3QucHkgYi9XZWJL
aXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX3dpbl91
bml0dGVzdC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNzNkZTQ0ZDJhODdjOTZiNmRiMGMwYzI3MTg5YTdmMDJk
NzBmMDlkCi0tLSAvZGV2L251bGwKKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9s
YXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV93aW5fdW5pdHRlc3QucHkKQEAgLTAsMCArMSw2NCBA
QAorIyBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyMgbWV0OgorIworIyAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisjIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyMgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlCisjIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyMgaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorIyBkaXN0cmlidXRpb24u
CisjICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9m
IGl0cworIyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbQorIyB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorIworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisjICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisjIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUgorIyBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorIyBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyMgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorIyBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwKKyMgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisjIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyMgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisKK2ltcG9ydCBzeXMKK2ltcG9ydCB1bml0dGVzdAoraW1wb3J0IGNo
cm9taXVtX3dpbgorZnJvbSB3ZWJraXRweS5jb21tb24uc3lzdGVtIGltcG9ydCBvdXRwdXRjYXB0
dXJlCitmcm9tIHdlYmtpdHB5LnRvb2wgaW1wb3J0IG1vY2t0b29sCisKKworY2xhc3MgQ2hyb21p
dW1XaW5UZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKKworICAgIGNsYXNzIFJlZ2lzdGVyQ3lnd2lu
T3B0aW9uKG9iamVjdCk6CisgICAgICAgIGRlZiBfX2luaXRfXyhzZWxmKToKKyAgICAgICAgICAg
IHNlbGYucmVnaXN0ZXJfY3lnd2luID0gVHJ1ZQorCisgICAgZGVmIHRlc3Rfc2V0dXBfZW52aXJv
bl9mb3Jfc2VydmVyKHNlbGYpOgorICAgICAgICBwb3J0ID0gY2hyb21pdW1fd2luLkNocm9taXVt
V2luUG9ydCgpCisgICAgICAgIHBvcnQuX2V4ZWN1dGl2ZSA9IG1vY2t0b29sLk1vY2tFeGVjdXRl
KFRydWUpCisgICAgICAgIG91dHB1dCA9IG91dHB1dGNhcHR1cmUuT3V0cHV0Q2FwdHVyZSgpCisg
ICAgICAgIG91dHB1dC5hc3NlcnRfb3V0cHV0cyhzZWxmLCBwb3J0LnNldHVwX2Vudmlyb25fZm9y
X3NlcnZlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4cGVjdGVkX3N0ZG91dD0i
IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4cGVjdGVkX3N0ZGVycj0iIikKKwor
ICAgIGRlZiB0ZXN0X3NldHVwX2Vudmlyb25fZm9yX3NlcnZlcl9yZWdpc3Rlcl9jeWd3aW4oc2Vs
Zik6CisgICAgICAgIG9yaWdfcGxhdGZvcm0gPSBzeXMucGxhdGZvcm0KKyAgICAgICAgc3lzLnBs
YXRmb3JtID0gIndpbjMyIgorICAgICAgICBwb3J0ID0gY2hyb21pdW1fd2luLkNocm9taXVtV2lu
UG9ydCgKKyAgICAgICAgICAgIG9wdGlvbnM9Q2hyb21pdW1XaW5UZXN0LlJlZ2lzdGVyQ3lnd2lu
T3B0aW9uKCkpCisgICAgICAgIHBvcnQuX2V4ZWN1dGl2ZSA9IG1vY2t0b29sLk1vY2tFeGVjdXRl
KFRydWUpCisgICAgICAgIHNldHVwX21vdW50ID0gcG9ydC5wYXRoX2Zyb21fY2hyb21pdW1fYmFz
ZSgidGhpcmRfcGFydHkiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgImN5Z3dpbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAic2V0dXBfbW91bnQuYmF0IikKKyAgICAgICAgZXhwZWN0ZWRfc3Rk
ZXJyID0gIk1PQ0sgcnVuX2NvbW1hbmQ6ICVzXG4iICUgW3NldHVwX21vdW50XQorICAgICAgICBv
dXRwdXQgPSBvdXRwdXRjYXB0dXJlLk91dHB1dENhcHR1cmUoKQorICAgICAgICBvdXRwdXQuYXNz
ZXJ0X291dHB1dHMoc2VsZiwgcG9ydC5zZXR1cF9lbnZpcm9uX2Zvcl9zZXJ2ZXIsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBleHBlY3RlZF9zdGRvdXQ9IiIsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBleHBlY3RlZF9zdGRlcnI9ZXhwZWN0ZWRfc3RkZXJyKQorICAgICAg
ICBzeXMucGxhdGZvcm0gPSBvcmlnX3BsYXRmb3JtCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>56313</attachid>
            <date>2010-05-17 20:13:46 -0700</date>
            <delta_ts>2010-05-17 20:17:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-39257-20100517201344.patch</filename>
            <type>text/plain</type>
            <size>7589</size>
            <attacher name="Fumitoshi Ukai">ukai</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCAzNTk2ZDE0NmMzZDgxNDU0NDAxOTllYTFhODc4ZDlmOWQ2MzljZmE5Li5hNzM2ODg3
YmEwMzlhOGUxYTE1ZDQwZjY3YWY2NDVjODc3ZjU5NGI5IDEwMDY0NAotLS0gYS9XZWJLaXRUb29s
cy9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAK
KzIwMTAtMDUtMTcgIEZ1bWl0b3NoaSBVa2FpICA8dWthaUBjaHJvbWl1bS5vcmc+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ2hyb21pdW06IG5ldy1y
dW4td2Via2l0LWh0dHBkIGZhaWxzIHRvIHNldHVwX21vdW50CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zOTI1NworCisgICAgICAgICogU2NyaXB0cy93
ZWJraXRweS9jb21tb24vc3lzdGVtL2V4ZWN1dGl2ZS5weToKKyAgICAgICAgIEFzc2VydCB0eXBl
IG9mIGFyZ3MgaW4gcnVuX2NvbW1hbmQuCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21t
b24vc3lzdGVtL2V4ZWN1dGl2ZV91bml0dGVzdC5weToKKyAgICAgICAgIEFkZCB0ZXN0X3J1bl9j
b21tYW5kX3dpdGhfbm90X2xpc3QuCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRf
dGVzdHMvcG9ydC9jaHJvbWl1bV93aW4ucHk6CisgICAgICAgICBFeGVjdXRpdmUucnVuX2NvbW1h
bmQgdGFrZXMgYXJyYXkgZm9yIGNvbW1hbmQgbGluZS4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtp
dHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX3dpbl91bml0dGVzdC5weToKKyAgICAgICAg
IFRlc3QgaWYgc2V0dXBfZW52aXJvbl9mb3Jfc2VydmVyKCkgcnVuIHNldHVwX21vdW50LmJhdC4K
KwogMjAxMC0wNS0xNyAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+
CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjU5NjMxLgpkaWZmIC0tZ2l0IGEv
V2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL2V4ZWN1dGl2ZS5weSBi
L1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3N5c3RlbS9leGVjdXRpdmUucHkK
aW5kZXggYzdhN2FlYzI0Y2QxMDVhMTg4MGQzNjEyNDcwYTc1NjNiOTI3YmYxNC4uMDVmMGNkMDJk
MzU2YzU5MTk4OThhMTY1YzAxMmU0YWI0Yzc3NDM4YiAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMv
U2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL2V4ZWN1dGl2ZS5weQorKysgYi9XZWJLaXRU
b29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0vZXhlY3V0aXZlLnB5CkBAIC0yNjUs
NiArMjY1LDggQEAgY2xhc3MgRXhlY3V0aXZlKG9iamVjdCk6CiAgICAgICAgICAgICAgICAgICAg
IHJldHVybl9zdGRlcnI9VHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgZGVjb2RlX291dHB1dD1U
cnVlKToKICAgICAgICAgIiIiUG9wZW4gd3JhcHBlciBmb3IgY29udmVuaWVuY2UgYW5kIHRvIHdv
cmsgYXJvdW5kIHB5dGhvbiBidWdzLiIiIgorICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShhcmdz
LCBsaXN0KSBhbmQgbm90IGlzaW5zdGFuY2UoYXJncywgdHVwbGUpOgorICAgICAgICAgICAgcmFp
c2UgU2NyaXB0RXJyb3IobWVzc2FnZT0id3JvbmcgdHlwZSBvZiBhcmdzOiAlcyIgJSB0eXBlKGFy
Z3MpLCBzY3JpcHRfYXJncz1hcmdzKQogICAgICAgICBhcmdzID0gbWFwKHVuaWNvZGUsIGFyZ3Mp
ICAjIFBvcGVuIHdpbGwgdGhyb3cgYW4gZXhjZXB0aW9uIGlmIGFyZ3MgYXJlIG5vbi1zdHJpbmdz
IChsaWtlIGludCgpKQogICAgICAgICBzdGRpbiwgc3RyaW5nX3RvX2NvbW11bmljYXRlID0gc2Vs
Zi5fY29tcHV0ZV9zdGRpbihpbnB1dCkKICAgICAgICAgc3RkZXJyID0gc3VicHJvY2Vzcy5TVERP
VVQgaWYgcmV0dXJuX3N0ZGVyciBlbHNlIE5vbmUKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvY29tbW9uL3N5c3RlbS9leGVjdXRpdmVfdW5pdHRlc3QucHkgYi9XZWJL
aXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0vZXhlY3V0aXZlX3VuaXR0ZXN0
LnB5CmluZGV4IDMwNDY4Y2UyZTdmNDViZmMwODY5YTZkYjM0NWI5NzlkMzgxOGEwOTYuLjIxMDgz
MWM2ZWRiZjY0NDVjMTkxOTM2Y2IwN2NhNDgxZmQwMmE1MDAgMTAwNjQ0Ci0tLSBhL1dlYktpdFRv
b2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3N5c3RlbS9leGVjdXRpdmVfdW5pdHRlc3QucHkK
KysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL2V4ZWN1dGl2
ZV91bml0dGVzdC5weQpAQCAtMzIsNyArMzIsNyBAQCBpbXBvcnQgc3VicHJvY2VzcwogaW1wb3J0
IHN5cwogaW1wb3J0IHVuaXR0ZXN0CiAKLWZyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5leGVj
dXRpdmUgaW1wb3J0IEV4ZWN1dGl2ZSwgcnVuX2NvbW1hbmQKK2Zyb20gd2Via2l0cHkuY29tbW9u
LnN5c3RlbS5leGVjdXRpdmUgaW1wb3J0IEV4ZWN1dGl2ZSwgcnVuX2NvbW1hbmQsIFNjcmlwdEVy
cm9yCiAKIAogY2xhc3MgRXhlY3V0aXZlVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CkBAIC00Miw2
ICs0MiwxMyBAQCBjbGFzcyBFeGVjdXRpdmVUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAg
ICAgICAgIHJ1bl9jb21tYW5kKFsiZm9vX2Jhcl9jb21tYW5kX2JsYWgiXSwgZXJyb3JfaGFuZGxl
cj1FeGVjdXRpdmUuaWdub3JlX2Vycm9yLCByZXR1cm5fZXhpdF9jb2RlPVRydWUpCiAgICAgICAg
IHNlbGYuZmFpbFVubGVzc1JhaXNlcyhPU0Vycm9yLCBydW5fYmFkX2NvbW1hbmQpCiAKKyAgICBk
ZWYgdGVzdF9ydW5fY29tbWFuZF93aXRoX25vdF9saXN0KHNlbGYpOgorICAgICAgICBleGVjdXRp
dmUgPSBFeGVjdXRpdmUoKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhTY3JpcHRFcnJvciwg
ZXhlY3V0aXZlLnJ1bl9jb21tYW5kLCAiZWNobyIpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2Vz
KFNjcmlwdEVycm9yLCBleGVjdXRpdmUucnVuX2NvbW1hbmQsIHUiZWNobyIpCisgICAgICAgIGV4
ZWN1dGl2ZS5ydW5fY29tbWFuZChbImVjaG8iLCAiZm9vIl0pCisgICAgICAgIGV4ZWN1dGl2ZS5y
dW5fY29tbWFuZCgoImVjaG8iLCAiZm9vIikpCisKICAgICBkZWYgdGVzdF9ydW5fY29tbWFuZF93
aXRoX3VuaWNvZGUoc2VsZik6CiAgICAgICAgICIiIlZhbGlkYXRlIHRoYXQgaXQgaXMgc2FmZSB0
byBwYXNzIHVuaWNvZGUoKSBvYmplY3RzCiAgICAgICAgIHRvIEV4ZWN1dGl2ZS5ydW4qIG1ldGhv
ZHMsIGFuZCB0aGV5IHdpbGwgcmV0dXJuIHVuaWNvZGUoKQpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9v
bHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV93aW4ucHkgYi9X
ZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX3dp
bi5weQppbmRleCBhZDc4ZTYxNzY1YjQzZmMxYThlNDZhNjRkYTIyN2E2ZmZlYjU3Njc0Li5kNDZk
ZWE3MjZjZTE2NDUzYTE2YWZmYmY1NzVmYmI5ZjQzY2JlYTQ4IDEwMDY0NAotLS0gYS9XZWJLaXRU
b29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX3dpbi5weQor
KysgYi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9t
aXVtX3dpbi5weQpAQCAtNjQsNyArNjQsNyBAQCBjbGFzcyBDaHJvbWl1bVdpblBvcnQoY2hyb21p
dW0uQ2hyb21pdW1Qb3J0KToKICAgICAgICAgICAgIHNldHVwX21vdW50ID0gc2VsZi5wYXRoX2Zy
b21fY2hyb21pdW1fYmFzZSgidGhpcmRfcGFydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjeWd3aW4iLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzZXR1cF9tb3VudC5iYXQi
KQotICAgICAgICAgICAgc2VsZi5fZXhlY3V0aXZlLnJ1bl9jb21tYW5kKHNldHVwX21vdW50KQor
ICAgICAgICAgICAgc2VsZi5fZXhlY3V0aXZlLnJ1bl9jb21tYW5kKFtzZXR1cF9tb3VudF0pCiAg
ICAgICAgIHJldHVybiBlbnYKIAogICAgIGRlZiBiYXNlbGluZV9zZWFyY2hfcGF0aChzZWxmKToK
ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3Bv
cnQvY2hyb21pdW1fd2luX3VuaXR0ZXN0LnB5IGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV93aW5fdW5pdHRlc3QucHkKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YTczZGU0NGQyYTg3Yzk2YjZkYjBjMGMyNzE4OWE3ZjAyZDcwZjA5ZAotLS0gL2Rldi9udWxsCisr
KyBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21p
dW1fd2luX3VuaXR0ZXN0LnB5CkBAIC0wLDAgKzEsNjQgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDEw
IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlCisjIG1ldDoKKyMKKyMgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisjICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorIyBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyCisjIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUKKyMgZGlzdHJpYnV0aW9uLgorIyAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyMgY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyMg
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
KyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUworIyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyMgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQKKyMgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsCisjIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisjIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWQorIyBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCisjIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCitpbXBv
cnQgc3lzCitpbXBvcnQgdW5pdHRlc3QKK2ltcG9ydCBjaHJvbWl1bV93aW4KK2Zyb20gd2Via2l0
cHkuY29tbW9uLnN5c3RlbSBpbXBvcnQgb3V0cHV0Y2FwdHVyZQorZnJvbSB3ZWJraXRweS50b29s
IGltcG9ydCBtb2NrdG9vbAorCisKK2NsYXNzIENocm9taXVtV2luVGVzdCh1bml0dGVzdC5UZXN0
Q2FzZSk6CisKKyAgICBjbGFzcyBSZWdpc3RlckN5Z3dpbk9wdGlvbihvYmplY3QpOgorICAgICAg
ICBkZWYgX19pbml0X18oc2VsZik6CisgICAgICAgICAgICBzZWxmLnJlZ2lzdGVyX2N5Z3dpbiA9
IFRydWUKKworICAgIGRlZiB0ZXN0X3NldHVwX2Vudmlyb25fZm9yX3NlcnZlcihzZWxmKToKKyAg
ICAgICAgcG9ydCA9IGNocm9taXVtX3dpbi5DaHJvbWl1bVdpblBvcnQoKQorICAgICAgICBwb3J0
Ll9leGVjdXRpdmUgPSBtb2NrdG9vbC5Nb2NrRXhlY3V0ZShUcnVlKQorICAgICAgICBvdXRwdXQg
PSBvdXRwdXRjYXB0dXJlLk91dHB1dENhcHR1cmUoKQorICAgICAgICBvdXRwdXQuYXNzZXJ0X291
dHB1dHMoc2VsZiwgcG9ydC5zZXR1cF9lbnZpcm9uX2Zvcl9zZXJ2ZXIsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBleHBlY3RlZF9zdGRvdXQ9IiIsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBleHBlY3RlZF9zdGRlcnI9IiIpCisKKyAgICBkZWYgdGVzdF9zZXR1cF9lbnZp
cm9uX2Zvcl9zZXJ2ZXJfcmVnaXN0ZXJfY3lnd2luKHNlbGYpOgorICAgICAgICBvcmlnX3BsYXRm
b3JtID0gc3lzLnBsYXRmb3JtCisgICAgICAgIHN5cy5wbGF0Zm9ybSA9ICJ3aW4zMiIKKyAgICAg
ICAgcG9ydCA9IGNocm9taXVtX3dpbi5DaHJvbWl1bVdpblBvcnQoCisgICAgICAgICAgICBvcHRp
b25zPUNocm9taXVtV2luVGVzdC5SZWdpc3RlckN5Z3dpbk9wdGlvbigpKQorICAgICAgICBwb3J0
Ll9leGVjdXRpdmUgPSBtb2NrdG9vbC5Nb2NrRXhlY3V0ZShUcnVlKQorICAgICAgICBzZXR1cF9t
b3VudCA9IHBvcnQucGF0aF9mcm9tX2Nocm9taXVtX2Jhc2UoInRoaXJkX3BhcnR5IiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjeWd3aW4iLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNldHVw
X21vdW50LmJhdCIpCisgICAgICAgIGV4cGVjdGVkX3N0ZGVyciA9ICJNT0NLIHJ1bl9jb21tYW5k
OiAlc1xuIiAlIFtzZXR1cF9tb3VudF0KKyAgICAgICAgb3V0cHV0ID0gb3V0cHV0Y2FwdHVyZS5P
dXRwdXRDYXB0dXJlKCkKKyAgICAgICAgb3V0cHV0LmFzc2VydF9vdXRwdXRzKHNlbGYsIHBvcnQu
c2V0dXBfZW52aXJvbl9mb3Jfc2VydmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ZXhwZWN0ZWRfc3Rkb3V0PSIiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwZWN0
ZWRfc3RkZXJyPWV4cGVjdGVkX3N0ZGVycikKKyAgICAgICAgc3lzLnBsYXRmb3JtID0gb3JpZ19w
bGF0Zm9ybQo=
</data>
<flag name="review"
          id="40716"
          type_id="1"
          status="-"
          setter="ukai"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>56314</attachid>
            <date>2010-05-17 20:16:13 -0700</date>
            <delta_ts>2010-05-17 22:27:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-39257-20100517201611.patch</filename>
            <type>text/plain</type>
            <size>7497</size>
            <attacher name="Fumitoshi Ukai">ukai</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCAzNTk2ZDE0NmMzZDgxNDU0NDAxOTllYTFhODc4ZDlmOWQ2MzljZmE5Li5hNzM2ODg3
YmEwMzlhOGUxYTE1ZDQwZjY3YWY2NDVjODc3ZjU5NGI5IDEwMDY0NAotLS0gYS9XZWJLaXRUb29s
cy9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAK
KzIwMTAtMDUtMTcgIEZ1bWl0b3NoaSBVa2FpICA8dWthaUBjaHJvbWl1bS5vcmc+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ2hyb21pdW06IG5ldy1y
dW4td2Via2l0LWh0dHBkIGZhaWxzIHRvIHNldHVwX21vdW50CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zOTI1NworCisgICAgICAgICogU2NyaXB0cy93
ZWJraXRweS9jb21tb24vc3lzdGVtL2V4ZWN1dGl2ZS5weToKKyAgICAgICAgIEFzc2VydCB0eXBl
IG9mIGFyZ3MgaW4gcnVuX2NvbW1hbmQuCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21t
b24vc3lzdGVtL2V4ZWN1dGl2ZV91bml0dGVzdC5weToKKyAgICAgICAgIEFkZCB0ZXN0X3J1bl9j
b21tYW5kX3dpdGhfbm90X2xpc3QuCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRf
dGVzdHMvcG9ydC9jaHJvbWl1bV93aW4ucHk6CisgICAgICAgICBFeGVjdXRpdmUucnVuX2NvbW1h
bmQgdGFrZXMgYXJyYXkgZm9yIGNvbW1hbmQgbGluZS4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtp
dHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX3dpbl91bml0dGVzdC5weToKKyAgICAgICAg
IFRlc3QgaWYgc2V0dXBfZW52aXJvbl9mb3Jfc2VydmVyKCkgcnVuIHNldHVwX21vdW50LmJhdC4K
KwogMjAxMC0wNS0xNyAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+
CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjU5NjMxLgpkaWZmIC0tZ2l0IGEv
V2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL2V4ZWN1dGl2ZS5weSBi
L1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3N5c3RlbS9leGVjdXRpdmUucHkK
aW5kZXggYzdhN2FlYzI0Y2QxMDVhMTg4MGQzNjEyNDcwYTc1NjNiOTI3YmYxNC4uMDVmMGNkMDJk
MzU2YzU5MTk4OThhMTY1YzAxMmU0YWI0Yzc3NDM4YiAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMv
U2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL2V4ZWN1dGl2ZS5weQorKysgYi9XZWJLaXRU
b29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0vZXhlY3V0aXZlLnB5CkBAIC0yNjUs
NiArMjY1LDggQEAgY2xhc3MgRXhlY3V0aXZlKG9iamVjdCk6CiAgICAgICAgICAgICAgICAgICAg
IHJldHVybl9zdGRlcnI9VHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgZGVjb2RlX291dHB1dD1U
cnVlKToKICAgICAgICAgIiIiUG9wZW4gd3JhcHBlciBmb3IgY29udmVuaWVuY2UgYW5kIHRvIHdv
cmsgYXJvdW5kIHB5dGhvbiBidWdzLiIiIgorICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShhcmdz
LCBsaXN0KSBhbmQgbm90IGlzaW5zdGFuY2UoYXJncywgdHVwbGUpOgorICAgICAgICAgICAgcmFp
c2UgU2NyaXB0RXJyb3IobWVzc2FnZT0id3JvbmcgdHlwZSBvZiBhcmdzOiAlcyIgJSB0eXBlKGFy
Z3MpLCBzY3JpcHRfYXJncz1hcmdzKQogICAgICAgICBhcmdzID0gbWFwKHVuaWNvZGUsIGFyZ3Mp
ICAjIFBvcGVuIHdpbGwgdGhyb3cgYW4gZXhjZXB0aW9uIGlmIGFyZ3MgYXJlIG5vbi1zdHJpbmdz
IChsaWtlIGludCgpKQogICAgICAgICBzdGRpbiwgc3RyaW5nX3RvX2NvbW11bmljYXRlID0gc2Vs
Zi5fY29tcHV0ZV9zdGRpbihpbnB1dCkKICAgICAgICAgc3RkZXJyID0gc3VicHJvY2Vzcy5TVERP
VVQgaWYgcmV0dXJuX3N0ZGVyciBlbHNlIE5vbmUKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvY29tbW9uL3N5c3RlbS9leGVjdXRpdmVfdW5pdHRlc3QucHkgYi9XZWJL
aXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0vZXhlY3V0aXZlX3VuaXR0ZXN0
LnB5CmluZGV4IDMwNDY4Y2UyZTdmNDViZmMwODY5YTZkYjM0NWI5NzlkMzgxOGEwOTYuLjIxMDgz
MWM2ZWRiZjY0NDVjMTkxOTM2Y2IwN2NhNDgxZmQwMmE1MDAgMTAwNjQ0Ci0tLSBhL1dlYktpdFRv
b2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3N5c3RlbS9leGVjdXRpdmVfdW5pdHRlc3QucHkK
KysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL2V4ZWN1dGl2
ZV91bml0dGVzdC5weQpAQCAtMzIsNyArMzIsNyBAQCBpbXBvcnQgc3VicHJvY2VzcwogaW1wb3J0
IHN5cwogaW1wb3J0IHVuaXR0ZXN0CiAKLWZyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5leGVj
dXRpdmUgaW1wb3J0IEV4ZWN1dGl2ZSwgcnVuX2NvbW1hbmQKK2Zyb20gd2Via2l0cHkuY29tbW9u
LnN5c3RlbS5leGVjdXRpdmUgaW1wb3J0IEV4ZWN1dGl2ZSwgcnVuX2NvbW1hbmQsIFNjcmlwdEVy
cm9yCiAKIAogY2xhc3MgRXhlY3V0aXZlVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CkBAIC00Miw2
ICs0MiwxMyBAQCBjbGFzcyBFeGVjdXRpdmVUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAg
ICAgICAgIHJ1bl9jb21tYW5kKFsiZm9vX2Jhcl9jb21tYW5kX2JsYWgiXSwgZXJyb3JfaGFuZGxl
cj1FeGVjdXRpdmUuaWdub3JlX2Vycm9yLCByZXR1cm5fZXhpdF9jb2RlPVRydWUpCiAgICAgICAg
IHNlbGYuZmFpbFVubGVzc1JhaXNlcyhPU0Vycm9yLCBydW5fYmFkX2NvbW1hbmQpCiAKKyAgICBk
ZWYgdGVzdF9ydW5fY29tbWFuZF93aXRoX25vdF9saXN0KHNlbGYpOgorICAgICAgICBleGVjdXRp
dmUgPSBFeGVjdXRpdmUoKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhTY3JpcHRFcnJvciwg
ZXhlY3V0aXZlLnJ1bl9jb21tYW5kLCAiZWNobyIpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2Vz
KFNjcmlwdEVycm9yLCBleGVjdXRpdmUucnVuX2NvbW1hbmQsIHUiZWNobyIpCisgICAgICAgIGV4
ZWN1dGl2ZS5ydW5fY29tbWFuZChbImVjaG8iLCAiZm9vIl0pCisgICAgICAgIGV4ZWN1dGl2ZS5y
dW5fY29tbWFuZCgoImVjaG8iLCAiZm9vIikpCisKICAgICBkZWYgdGVzdF9ydW5fY29tbWFuZF93
aXRoX3VuaWNvZGUoc2VsZik6CiAgICAgICAgICIiIlZhbGlkYXRlIHRoYXQgaXQgaXMgc2FmZSB0
byBwYXNzIHVuaWNvZGUoKSBvYmplY3RzCiAgICAgICAgIHRvIEV4ZWN1dGl2ZS5ydW4qIG1ldGhv
ZHMsIGFuZCB0aGV5IHdpbGwgcmV0dXJuIHVuaWNvZGUoKQpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9v
bHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV93aW4ucHkgYi9X
ZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX3dp
bi5weQppbmRleCBhZDc4ZTYxNzY1YjQzZmMxYThlNDZhNjRkYTIyN2E2ZmZlYjU3Njc0Li5kNDZk
ZWE3MjZjZTE2NDUzYTE2YWZmYmY1NzVmYmI5ZjQzY2JlYTQ4IDEwMDY0NAotLS0gYS9XZWJLaXRU
b29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX3dpbi5weQor
KysgYi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9t
aXVtX3dpbi5weQpAQCAtNjQsNyArNjQsNyBAQCBjbGFzcyBDaHJvbWl1bVdpblBvcnQoY2hyb21p
dW0uQ2hyb21pdW1Qb3J0KToKICAgICAgICAgICAgIHNldHVwX21vdW50ID0gc2VsZi5wYXRoX2Zy
b21fY2hyb21pdW1fYmFzZSgidGhpcmRfcGFydHkiLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjeWd3aW4iLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzZXR1cF9tb3VudC5iYXQi
KQotICAgICAgICAgICAgc2VsZi5fZXhlY3V0aXZlLnJ1bl9jb21tYW5kKHNldHVwX21vdW50KQor
ICAgICAgICAgICAgc2VsZi5fZXhlY3V0aXZlLnJ1bl9jb21tYW5kKFtzZXR1cF9tb3VudF0pCiAg
ICAgICAgIHJldHVybiBlbnYKIAogICAgIGRlZiBiYXNlbGluZV9zZWFyY2hfcGF0aChzZWxmKToK
ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3Bv
cnQvY2hyb21pdW1fd2luX3VuaXR0ZXN0LnB5IGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV93aW5fdW5pdHRlc3QucHkKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
OTYyODhlNWE1ZjkyOWZmOGM3YzYxNTg0ZjdmNjU3ZmVjZDU1NjZhMAotLS0gL2Rldi9udWxsCisr
KyBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21p
dW1fd2luX3VuaXR0ZXN0LnB5CkBAIC0wLDAgKzEsNjUgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDEw
IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlCisjIG1ldDoKKyMKKyMgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisjICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorIyBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyCisjIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUKKyMgZGlzdHJpYnV0aW9uLgorIyAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyMgY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyMg
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
KyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUworIyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyMgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQKKyMgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsCisjIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisjIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWQorIyBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCisjIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCitpbXBv
cnQgc3lzCitpbXBvcnQgdW5pdHRlc3QKK2ltcG9ydCBjaHJvbWl1bV93aW4KK2Zyb20gd2Via2l0
cHkuY29tbW9uLnN5c3RlbSBpbXBvcnQgb3V0cHV0Y2FwdHVyZQorZnJvbSB3ZWJraXRweS50b29s
IGltcG9ydCBtb2NrdG9vbAorCisKK2NsYXNzIENocm9taXVtV2luVGVzdCh1bml0dGVzdC5UZXN0
Q2FzZSk6CisKKyAgICBjbGFzcyBSZWdpc3RlckN5Z3dpbk9wdGlvbihvYmplY3QpOgorICAgICAg
ICBkZWYgX19pbml0X18oc2VsZik6CisgICAgICAgICAgICBzZWxmLnJlZ2lzdGVyX2N5Z3dpbiA9
IFRydWUKKworICAgIGRlZiBzZXRVcChzZWxmKToKKyAgICAgICAgc2VsZi5vcmlnX3BsYXRmb3Jt
ID0gc3lzLnBsYXRmb3JtCisKKyAgICBkZWYgdGVhckRvd24oc2VsZik6CisgICAgICAgIHN5cy5w
bGF0Zm9ybSA9IHNlbGYub3JpZ19wbGF0Zm9ybQorCisgICAgZGVmIHRlc3Rfc2V0dXBfZW52aXJv
bl9mb3Jfc2VydmVyKHNlbGYpOgorICAgICAgICBwb3J0ID0gY2hyb21pdW1fd2luLkNocm9taXVt
V2luUG9ydCgpCisgICAgICAgIHBvcnQuX2V4ZWN1dGl2ZSA9IG1vY2t0b29sLk1vY2tFeGVjdXRl
KFRydWUpCisgICAgICAgIG91dHB1dCA9IG91dHB1dGNhcHR1cmUuT3V0cHV0Q2FwdHVyZSgpCisg
ICAgICAgIG91dHB1dC5hc3NlcnRfb3V0cHV0cyhzZWxmLCBwb3J0LnNldHVwX2Vudmlyb25fZm9y
X3NlcnZlcikKKworICAgIGRlZiB0ZXN0X3NldHVwX2Vudmlyb25fZm9yX3NlcnZlcl9yZWdpc3Rl
cl9jeWd3aW4oc2VsZik6CisgICAgICAgIHN5cy5wbGF0Zm9ybSA9ICJ3aW4zMiIKKyAgICAgICAg
cG9ydCA9IGNocm9taXVtX3dpbi5DaHJvbWl1bVdpblBvcnQoCisgICAgICAgICAgICBvcHRpb25z
PUNocm9taXVtV2luVGVzdC5SZWdpc3RlckN5Z3dpbk9wdGlvbigpKQorICAgICAgICBwb3J0Ll9l
eGVjdXRpdmUgPSBtb2NrdG9vbC5Nb2NrRXhlY3V0ZShUcnVlKQorICAgICAgICBzZXR1cF9tb3Vu
dCA9IHBvcnQucGF0aF9mcm9tX2Nocm9taXVtX2Jhc2UoInRoaXJkX3BhcnR5IiwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjeWd3aW4iLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNldHVwX21v
dW50LmJhdCIpCisgICAgICAgIGV4cGVjdGVkX3N0ZGVyciA9ICJNT0NLIHJ1bl9jb21tYW5kOiAl
c1xuIiAlIFtzZXR1cF9tb3VudF0KKyAgICAgICAgb3V0cHV0ID0gb3V0cHV0Y2FwdHVyZS5PdXRw
dXRDYXB0dXJlKCkKKyAgICAgICAgb3V0cHV0LmFzc2VydF9vdXRwdXRzKHNlbGYsIHBvcnQuc2V0
dXBfZW52aXJvbl9mb3Jfc2VydmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhw
ZWN0ZWRfc3RkZXJyPWV4cGVjdGVkX3N0ZGVycikK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>56322</attachid>
            <date>2010-05-17 22:27:41 -0700</date>
            <delta_ts>2010-05-18 01:35:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-39257-20100517222739.patch</filename>
            <type>text/plain</type>
            <size>7682</size>
            <attacher name="Fumitoshi Ukai">ukai</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCAzNTk2ZDE0NmMzZDgxNDU0NDAxOTllYTFhODc4ZDlmOWQ2MzljZmE5Li5hYTJmMzhj
OGQzYjI4Nzk2OTVkNTZmNzA4NDAxNjFmYTlhZDI4Y2YzIDEwMDY0NAotLS0gYS9XZWJLaXRUb29s
cy9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAK
KzIwMTAtMDUtMTcgIEZ1bWl0b3NoaSBVa2FpICA8dWthaUBjaHJvbWl1bS5vcmc+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ2hyb21pdW06IG5ldy1y
dW4td2Via2l0LWh0dHBkIGZhaWxzIHRvIHNldHVwX21vdW50CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zOTI1NworCisgICAgICAgICogU2NyaXB0cy93
ZWJraXRweS9jb21tb24vc3lzdGVtL2V4ZWN1dGl2ZS5weToKKyAgICAgICAgIEFzc2VydCB0eXBl
IG9mIGFyZ3MgaW4gcnVuX2NvbW1hbmQuCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21t
b24vc3lzdGVtL2V4ZWN1dGl2ZV91bml0dGVzdC5weToKKyAgICAgICAgIEFkZCB0ZXN0X3J1bl9j
b21tYW5kX2FyZ3NfdHlwZQorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3Rz
L3BvcnQvY2hyb21pdW1fd2luLnB5OgorICAgICAgICAgRXhlY3V0aXZlLnJ1bl9jb21tYW5kIHRh
a2VzIGFycmF5IGZvciBjb21tYW5kIGxpbmUuCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9s
YXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV93aW5fdW5pdHRlc3QucHk6CisgICAgICAgICBUZXN0
IGlmIHNldHVwX2Vudmlyb25fZm9yX3NlcnZlcigpIHJ1biBzZXR1cF9tb3VudC5iYXQuCisKIDIw
MTAtMDUtMTcgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAg
ICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI1OTYzMS4KZGlmZiAtLWdpdCBhL1dlYktp
dFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3N5c3RlbS9leGVjdXRpdmUucHkgYi9XZWJL
aXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0vZXhlY3V0aXZlLnB5CmluZGV4
IGM3YTdhZWMyNGNkMTA1YTE4ODBkMzYxMjQ3MGE3NTYzYjkyN2JmMTQuLjBmZDIxYzcxOTNkZjY2
MzU4NzI4ODllMmU5ZGQwYzQwMjI4YjI1YzYgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1Njcmlw
dHMvd2Via2l0cHkvY29tbW9uL3N5c3RlbS9leGVjdXRpdmUucHkKKysrIGIvV2ViS2l0VG9vbHMv
U2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL2V4ZWN1dGl2ZS5weQpAQCAtMjY1LDYgKzI2
NSw3IEBAIGNsYXNzIEV4ZWN1dGl2ZShvYmplY3QpOgogICAgICAgICAgICAgICAgICAgICByZXR1
cm5fc3RkZXJyPVRydWUsCiAgICAgICAgICAgICAgICAgICAgIGRlY29kZV9vdXRwdXQ9VHJ1ZSk6
CiAgICAgICAgICIiIlBvcGVuIHdyYXBwZXIgZm9yIGNvbnZlbmllbmNlIGFuZCB0byB3b3JrIGFy
b3VuZCBweXRob24gYnVncy4iIiIKKyAgICAgICAgYXNzZXJ0KGlzaW5zdGFuY2UoYXJncywgbGlz
dCkgb3IgaXNpbnN0YW5jZShhcmdzLCB0dXBsZSkpCiAgICAgICAgIGFyZ3MgPSBtYXAodW5pY29k
ZSwgYXJncykgICMgUG9wZW4gd2lsbCB0aHJvdyBhbiBleGNlcHRpb24gaWYgYXJncyBhcmUgbm9u
LXN0cmluZ3MgKGxpa2UgaW50KCkpCiAgICAgICAgIHN0ZGluLCBzdHJpbmdfdG9fY29tbXVuaWNh
dGUgPSBzZWxmLl9jb21wdXRlX3N0ZGluKGlucHV0KQogICAgICAgICBzdGRlcnIgPSBzdWJwcm9j
ZXNzLlNURE9VVCBpZiByZXR1cm5fc3RkZXJyIGVsc2UgTm9uZQpkaWZmIC0tZ2l0IGEvV2ViS2l0
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL2V4ZWN1dGl2ZV91bml0dGVzdC5w
eSBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3N5c3RlbS9leGVjdXRpdmVf
dW5pdHRlc3QucHkKaW5kZXggMzA0NjhjZTJlN2Y0NWJmYzA4NjlhNmRiMzQ1Yjk3OWQzODE4YTA5
Ni4uMzJmOGY1MTk4ZWEzYTg3ODVkZjg2YmJjZjQwOWE3Y2EwMGFiODNiZSAxMDA2NDQKLS0tIGEv
V2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL2V4ZWN1dGl2ZV91bml0
dGVzdC5weQorKysgYi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0v
ZXhlY3V0aXZlX3VuaXR0ZXN0LnB5CkBAIC0zMiw3ICszMiw3IEBAIGltcG9ydCBzdWJwcm9jZXNz
CiBpbXBvcnQgc3lzCiBpbXBvcnQgdW5pdHRlc3QKIAotZnJvbSB3ZWJraXRweS5jb21tb24uc3lz
dGVtLmV4ZWN1dGl2ZSBpbXBvcnQgRXhlY3V0aXZlLCBydW5fY29tbWFuZAorZnJvbSB3ZWJraXRw
eS5jb21tb24uc3lzdGVtLmV4ZWN1dGl2ZSBpbXBvcnQgRXhlY3V0aXZlLCBydW5fY29tbWFuZCwg
U2NyaXB0RXJyb3IKIAogCiBjbGFzcyBFeGVjdXRpdmVUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToK
QEAgLTQyLDYgKzQyLDEzIEBAIGNsYXNzIEV4ZWN1dGl2ZVRlc3QodW5pdHRlc3QuVGVzdENhc2Up
OgogICAgICAgICAgICAgcnVuX2NvbW1hbmQoWyJmb29fYmFyX2NvbW1hbmRfYmxhaCJdLCBlcnJv
cl9oYW5kbGVyPUV4ZWN1dGl2ZS5pZ25vcmVfZXJyb3IsIHJldHVybl9leGl0X2NvZGU9VHJ1ZSkK
ICAgICAgICAgc2VsZi5mYWlsVW5sZXNzUmFpc2VzKE9TRXJyb3IsIHJ1bl9iYWRfY29tbWFuZCkK
IAorICAgIGRlZiB0ZXN0X3J1bl9jb21tYW5kX2FyZ3NfdHlwZShzZWxmKToKKyAgICAgICAgZXhl
Y3V0aXZlID0gRXhlY3V0aXZlKCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoQXNzZXJ0aW9u
RXJyb3IsIGV4ZWN1dGl2ZS5ydW5fY29tbWFuZCwgImVjaG8iKQorICAgICAgICBzZWxmLmFzc2Vy
dFJhaXNlcyhBc3NlcnRpb25FcnJvciwgZXhlY3V0aXZlLnJ1bl9jb21tYW5kLCB1ImVjaG8iKQor
ICAgICAgICBleGVjdXRpdmUucnVuX2NvbW1hbmQoWyJlY2hvIiwgImZvbyJdKQorICAgICAgICBl
eGVjdXRpdmUucnVuX2NvbW1hbmQoKCJlY2hvIiwgImZvbyIpKQorCiAgICAgZGVmIHRlc3RfcnVu
X2NvbW1hbmRfd2l0aF91bmljb2RlKHNlbGYpOgogICAgICAgICAiIiJWYWxpZGF0ZSB0aGF0IGl0
IGlzIHNhZmUgdG8gcGFzcyB1bmljb2RlKCkgb2JqZWN0cwogICAgICAgICB0byBFeGVjdXRpdmUu
cnVuKiBtZXRob2RzLCBhbmQgdGhleSB3aWxsIHJldHVybiB1bmljb2RlKCkKZGlmZiAtLWdpdCBh
L1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1f
d2luLnB5IGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9j
aHJvbWl1bV93aW4ucHkKaW5kZXggYWQ3OGU2MTc2NWI0M2ZjMWE4ZTQ2YTY0ZGEyMjdhNmZmZWI1
NzY3NC4uZDQ2ZGVhNzI2Y2UxNjQ1M2ExNmFmZmJmNTc1ZmJiOWY0M2NiZWE0OCAxMDA2NDQKLS0t
IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1
bV93aW4ucHkKKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMv
cG9ydC9jaHJvbWl1bV93aW4ucHkKQEAgLTY0LDcgKzY0LDcgQEAgY2xhc3MgQ2hyb21pdW1XaW5Q
b3J0KGNocm9taXVtLkNocm9taXVtUG9ydCk6CiAgICAgICAgICAgICBzZXR1cF9tb3VudCA9IHNl
bGYucGF0aF9mcm9tX2Nocm9taXVtX2Jhc2UoInRoaXJkX3BhcnR5IiwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY3lnd2luIiwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2V0dXBf
bW91bnQuYmF0IikKLSAgICAgICAgICAgIHNlbGYuX2V4ZWN1dGl2ZS5ydW5fY29tbWFuZChzZXR1
cF9tb3VudCkKKyAgICAgICAgICAgIHNlbGYuX2V4ZWN1dGl2ZS5ydW5fY29tbWFuZChbc2V0dXBf
bW91bnRdKQogICAgICAgICByZXR1cm4gZW52CiAKICAgICBkZWYgYmFzZWxpbmVfc2VhcmNoX3Bh
dGgoc2VsZik6CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91
dF90ZXN0cy9wb3J0L2Nocm9taXVtX3dpbl91bml0dGVzdC5weSBiL1dlYktpdFRvb2xzL1Njcmlw
dHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fd2luX3VuaXR0ZXN0LnB5Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdkMjE1NmZhOTQ3ZDU3MDEwZWM2MWRlZjg2ZTgwOWUzYmJkZjIyODAKLS0tIC9k
ZXYvbnVsbAorKysgYi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9w
b3J0L2Nocm9taXVtX3dpbl91bml0dGVzdC5weQpAQCAtMCwwICsxLDcxIEBACisjIENvcHlyaWdo
dCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZQorIyBtZXQ6CisjCisjICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUKKyMgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lcgorIyBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisjIGRpc3RyaWJ1dGlvbi4KKyMgICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisjIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tCisjIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uCisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisj
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUCisjIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorIyBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisjIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAor
IyBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkKKyMgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorIyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyMgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKworaW1wb3J0IG9zCitpbXBvcnQgc3lzCitpbXBvcnQgdW5pdHRlc3QKK2ltcG9ydCBjaHJv
bWl1bV93aW4KK2Zyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbSBpbXBvcnQgb3V0cHV0Y2FwdHVy
ZQorZnJvbSB3ZWJraXRweS50b29sIGltcG9ydCBtb2NrdG9vbAorCisKK2NsYXNzIENocm9taXVt
V2luVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CisKKyAgICBjbGFzcyBSZWdpc3RlckN5Z3dpbk9w
dGlvbihvYmplY3QpOgorICAgICAgICBkZWYgX19pbml0X18oc2VsZik6CisgICAgICAgICAgICBz
ZWxmLnJlZ2lzdGVyX2N5Z3dpbiA9IFRydWUKKworICAgIGRlZiBzZXRVcChzZWxmKToKKyAgICAg
ICAgc2VsZi5vcmlnX3BsYXRmb3JtID0gc3lzLnBsYXRmb3JtCisKKyAgICBkZWYgdGVhckRvd24o
c2VsZik6CisgICAgICAgIHN5cy5wbGF0Zm9ybSA9IHNlbGYub3JpZ19wbGF0Zm9ybQorCisgICAg
ZGVmIF9tb2NrX3BhdGhfZnJvbV9jaHJvbWl1bV9iYXNlKHNlbGYsICpjb21wcyk6CisgICAgICAg
IHJldHVybiBvcy5wYXRoLmpvaW4oIi9jaHJvbWl1bS9zcmMiLCAqY29tcHMpCisKKyAgICBkZWYg
dGVzdF9zZXR1cF9lbnZpcm9uX2Zvcl9zZXJ2ZXIoc2VsZik6CisgICAgICAgIHBvcnQgPSBjaHJv
bWl1bV93aW4uQ2hyb21pdW1XaW5Qb3J0KCkKKyAgICAgICAgcG9ydC5fZXhlY3V0aXZlID0gbW9j
a3Rvb2wuTW9ja0V4ZWN1dGUoVHJ1ZSkKKyAgICAgICAgcG9ydC5wYXRoX2Zyb21fY2hyb21pdW1f
YmFzZSA9IHNlbGYuX21vY2tfcGF0aF9mcm9tX2Nocm9taXVtX2Jhc2UKKyAgICAgICAgb3V0cHV0
ID0gb3V0cHV0Y2FwdHVyZS5PdXRwdXRDYXB0dXJlKCkKKyAgICAgICAgb3V0cHV0LmFzc2VydF9v
dXRwdXRzKHNlbGYsIHBvcnQuc2V0dXBfZW52aXJvbl9mb3Jfc2VydmVyKQorCisgICAgZGVmIHRl
c3Rfc2V0dXBfZW52aXJvbl9mb3Jfc2VydmVyX3JlZ2lzdGVyX2N5Z3dpbihzZWxmKToKKyAgICAg
ICAgc3lzLnBsYXRmb3JtID0gIndpbjMyIgorICAgICAgICBwb3J0ID0gY2hyb21pdW1fd2luLkNo
cm9taXVtV2luUG9ydCgKKyAgICAgICAgICAgIG9wdGlvbnM9Q2hyb21pdW1XaW5UZXN0LlJlZ2lz
dGVyQ3lnd2luT3B0aW9uKCkpCisgICAgICAgIHBvcnQuX2V4ZWN1dGl2ZSA9IG1vY2t0b29sLk1v
Y2tFeGVjdXRlKFRydWUpCisgICAgICAgIHBvcnQucGF0aF9mcm9tX2Nocm9taXVtX2Jhc2UgPSBz
ZWxmLl9tb2NrX3BhdGhfZnJvbV9jaHJvbWl1bV9iYXNlCisgICAgICAgIHNldHVwX21vdW50ID0g
c2VsZi5fbW9ja19wYXRoX2Zyb21fY2hyb21pdW1fYmFzZSgidGhpcmRfcGFydHkiLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImN5Z3dp
biIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAic2V0dXBfbW91bnQuYmF0IikKKyAgICAgICAgZXhwZWN0ZWRfc3RkZXJyID0gIk1PQ0sg
cnVuX2NvbW1hbmQ6ICVzXG4iICUgW3NldHVwX21vdW50XQorICAgICAgICBvdXRwdXQgPSBvdXRw
dXRjYXB0dXJlLk91dHB1dENhcHR1cmUoKQorICAgICAgICBvdXRwdXQuYXNzZXJ0X291dHB1dHMo
c2VsZiwgcG9ydC5zZXR1cF9lbnZpcm9uX2Zvcl9zZXJ2ZXIsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBleHBlY3RlZF9zdGRlcnI9ZXhwZWN0ZWRfc3RkZXJyKQo=
</data>
<flag name="review"
          id="40724"
          type_id="1"
          status="+"
          setter="eric"
    />
          </attachment>
      

    </bug>

</bugzilla>