<?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>87128</bug_id>
          
          <creation_ts>2012-05-22 06:30:49 -0700</creation_ts>
          <short_desc>Add --driver-name option to run_webkit_tests.py to allow for selecting alternative DRT binaries</short_desc>
          <delta_ts>2012-05-24 13:08:22 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>jochen</reporter>
          <assigned_to>jochen</assigned_to>
          <cc>abarth</cc>
    
    <cc>dpranke</cc>
    
    <cc>eric</cc>
    
    <cc>fishd</cc>
    
    <cc>jsbell</cc>
    
    <cc>ojan</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>630328</commentid>
    <comment_count>0</comment_count>
    <who name="">jochen</who>
    <bug_when>2012-05-22 06:30:49 -0700</bug_when>
    <thetext>[chromium] add --driver-name option to run_webkit_tests.py to allow for selecting alternative DRT binaries</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>630329</commentid>
    <comment_count>1</comment_count>
      <attachid>143294</attachid>
    <who name="">jochen</who>
    <bug_when>2012-05-22 06:31:19 -0700</bug_when>
    <thetext>Created attachment 143294
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>630474</commentid>
    <comment_count>2</comment_count>
      <attachid>143294</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-05-22 09:58:06 -0700</bug_when>
    <thetext>Comment on attachment 143294
Patch

We should probably have at least one test for this ... I&apos;d add something to run_webkit_tests_integrationtest.py to ensure that the command line arg has the right effect.

What&apos;s the long-term vision for running both DRT and ContentShell? Will we need two different &quot;port&quot;s? Do we need to set up additional bots?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>630522</commentid>
    <comment_count>3</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-05-22 10:34:33 -0700</bug_when>
    <thetext>The other thing I should have mentioned is that this is basically the same as the other ports&apos; use of -2 / --webkit-test-runner ; maybe we should reuse that concept and/or rename that flag and combine it with this?

Since it&apos;s not actually using the Webkit2 code base, it might be confusing to reuse the flag as is, and we probably wouldn&apos;t want to reuse much of the same code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>630537</commentid>
    <comment_count>4</comment_count>
    <who name="">jochen</who>
    <bug_when>2012-05-22 10:51:35 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 143294 [details])
&gt; We should probably have at least one test for this ... I&apos;d add something to run_webkit_tests_integrationtest.py to ensure that the command line arg has the right effect.

will do

&gt; What&apos;s the long-term vision for running both DRT and ContentShell? Will we need two different &quot;port&quot;s? Do we need to set up additional bots?

It&apos;s not yet clear. I think we&apos;ll want to run content shell at least on the chromium waterfall. I could imagine running some of the tests on the webkit waterfall as well when this becomes more stable, esp. tests exercising the storage systems.

wrt what -2 does: http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/layout_tests/port/webkit.py#L64

they basically do the same, override the driver_name.

I&apos;d rather not hard code content_shell into this, because we might end up renaming it, or introduce a wrapper script or similar.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>630596</commentid>
    <comment_count>5</comment_count>
      <attachid>143335</attachid>
    <who name="">jochen</who>
    <bug_when>2012-05-22 11:39:00 -0700</bug_when>
    <thetext>Created attachment 143335
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>630678</commentid>
    <comment_count>6</comment_count>
      <attachid>143335</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-05-22 13:03:21 -0700</bug_when>
    <thetext>Comment on attachment 143335
Patch

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

&gt; Tools/Scripts/webkitpy/layout_tests/port/chromium.py:122
&gt; +        return self.get_option(&apos;driver_name&apos;, &apos;DumpRenderTree&apos;)

Sorry I missed this before ... this should actually either be implemented in base.py or we should have a &quot;virtual&quot; base method in base.py that raises NotImplementedError.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>630724</commentid>
    <comment_count>7</comment_count>
    <who name="">jochen</who>
    <bug_when>2012-05-22 13:54:20 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 143335 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=143335&amp;action=review
&gt; 
&gt; &gt; Tools/Scripts/webkitpy/layout_tests/port/chromium.py:122
&gt; &gt; +        return self.get_option(&apos;driver_name&apos;, &apos;DumpRenderTree&apos;)
&gt; 
&gt; Sorry I missed this before ... this should actually either be implemented in base.py or we should have a &quot;virtual&quot; base method in base.py that raises NotImplementedError.

Not sure I understand. Other ports might not want this behavior (i.e. the ability to override the driver name). At the same time, they might rely on self.driver_name() to return &quot;DumpRenderTree&quot; (all chromium ports depended on this before this change)

So both options you suggest seem to break things?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>630750</commentid>
    <comment_count>8</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-05-22 14:18:59 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (In reply to comment #6)
&gt; &gt; (From update of attachment 143335 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=143335&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Tools/Scripts/webkitpy/layout_tests/port/chromium.py:122
&gt; &gt; &gt; +        return self.get_option(&apos;driver_name&apos;, &apos;DumpRenderTree&apos;)
&gt; &gt; 
&gt; &gt; Sorry I missed this before ... this should actually either be implemented in base.py or we should have a &quot;virtual&quot; base method in base.py that raises NotImplementedError.
&gt; 
&gt; Not sure I understand. Other ports might not want this behavior (i.e. the ability to override the driver name). At the same time, they might rely on self.driver_name() to return &quot;DumpRenderTree&quot; (all chromium ports depended on this before this change)
&gt; 
&gt; So both options you suggest seem to break things?

Oh, sorry, I was thinking driver_name was a new method. Disregard the NotImplementedError idea, then :). That said, we try pretty hard to discourage port-specific behavior where possible, and I don&apos;t see any reason for this to be port-specific. 

Certainly if a port implemented --driver support in driver_name() and then had &quot;DumpRenderTree&quot; hardcoded elsewhere in their code, that would be a problem, but that sounds like bugs that should just be fixed if they are issues. A quick grep of the code shows that this only seems to show up in the files you&apos;ve changed, and in the chromium_android code, and in unittest code, though, so we should be fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>630761</commentid>
    <comment_count>9</comment_count>
    <who name="">jochen</who>
    <bug_when>2012-05-22 14:24:58 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (In reply to comment #7)
&gt; &gt; (In reply to comment #6)
&gt; &gt; &gt; (From update of attachment 143335 [details] [details] [details])
&gt; &gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=143335&amp;action=review
&gt; &gt; &gt; 
&gt; &gt; &gt; &gt; Tools/Scripts/webkitpy/layout_tests/port/chromium.py:122
&gt; &gt; &gt; &gt; +        return self.get_option(&apos;driver_name&apos;, &apos;DumpRenderTree&apos;)
&gt; &gt; &gt; 
&gt; &gt; &gt; Sorry I missed this before ... this should actually either be implemented in base.py or we should have a &quot;virtual&quot; base method in base.py that raises NotImplementedError.
&gt; &gt; 
&gt; &gt; Not sure I understand. Other ports might not want this behavior (i.e. the ability to override the driver name). At the same time, they might rely on self.driver_name() to return &quot;DumpRenderTree&quot; (all chromium ports depended on this before this change)
&gt; &gt; 
&gt; &gt; So both options you suggest seem to break things?
&gt; 
&gt; Oh, sorry, I was thinking driver_name was a new method. Disregard the NotImplementedError idea, then :). That said, we try pretty hard to discourage port-specific behavior where possible, and I don&apos;t see any reason for this to be port-specific. 
&gt; 
&gt; Certainly if a port implemented --driver support in driver_name() and then had &quot;DumpRenderTree&quot; hardcoded elsewhere in their code, that would be a problem, but that sounds like bugs that should just be fixed if they are issues. A quick grep of the code shows that this only seems to show up in the files you&apos;ve changed, and in the chromium_android code, and in unittest code, though, so we should be fine.

So is it ok to commit as is?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>630829</commentid>
    <comment_count>10</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-05-22 15:35:26 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; So is it ok to commit as is?

Sorry I was unclear: you should move the implementation to base.py so that everyone has the option.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>630849</commentid>
    <comment_count>11</comment_count>
      <attachid>143384</attachid>
    <who name="">jochen</who>
    <bug_when>2012-05-22 15:47:56 -0700</bug_when>
    <thetext>Created attachment 143384
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>630948</commentid>
    <comment_count>12</comment_count>
      <attachid>143384</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-22 17:08:16 -0700</bug_when>
    <thetext>Comment on attachment 143384
Patch for landing

Clearing flags on attachment: 143384

Committed r118084: &lt;http://trac.webkit.org/changeset/118084&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>630949</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-22 17:08:23 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>630982</commentid>
    <comment_count>14</comment_count>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-05-22 17:39:56 -0700</bug_when>
    <thetext>REVERTED in r118088 - failing to run webkit_tests on Mac after this change:

http://build.chromium.org/p/chromium.webkit/builders/Webkit%20Mac10.5/builds/11893
http://build.chromium.org/p/chromium.webkit/builders/Webkit%20Mac10.6/builds/16640
http://build.chromium.org/p/chromium.webkit/builders/Webkit%20Mac10.7/builds/6091
http://build.chromium.org/p/chromium.webkit/builders/Webkit%20Mac10.5%20%28dbg%29%281%29/builds/7476

Sample log:

python /Volumes/data/b/build/slave/Webkit_Mac10_5__dbg__1_/build/src/webkit/tools/layout_tests/run_webkit_tests.py --no-show-results --no-new-test-results --verbose --full-results-html --clobber-old-results --results-directory /Volumes/data/b/build/slave/Webkit_Mac10_5__dbg__1_/build/layout-test-results --target Debug --platform chromium-mac --run-part 1:2 --builder-name &quot;Webkit Mac10.5 (dbg)(1)&quot; --build-number 7476 --master-name ChromiumWebkit --build-name Webkit_Mac10_5__dbg__1_ --test-results-server test-results.appspot.com &quot;&quot;
The current directory (/Volumes/data/b/build/slave/Webkit_Mac10_5__dbg__1_/build) is not a WebKit checkout, using /Volumes/data/b/build/slave/Webkit_Mac10_5__dbg__1_/build/src/third_party/WebKit/Tools/Scripts
No handlers could be found for logger &quot;webkitpy.common.system.executive&quot;
17:19:14.701 1547 Using port &apos;chromium-mac-leopard&apos;
17:19:14.701 1547 Test configuration: &lt;leopard, x86, debug&gt;
17:19:14.701 1547 Placing test results in /Volumes/data/b/build/slave/Webkit_Mac10_5__dbg__1_/build/layout-test-results
17:19:14.701 1547 Baseline search path: chromium-mac-leopard -&gt; chromium-mac-snowleopard -&gt; chromium-mac -&gt; chromium -&gt; mac -&gt; generic
17:19:14.701 1547 Using Debug build
17:19:14.701 1547 Pixel tests enabled
17:19:14.701 1547 Regular timeout: 12000, slow test timeout: 60000
Traceback (most recent call last):
  File &quot;/Volumes/data/b/build/slave/Webkit_Mac10_5__dbg__1_/build/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py&quot;, line 454, in &lt;module&gt;
    sys.exit(main())
  File &quot;/Volumes/data/b/build/slave/Webkit_Mac10_5__dbg__1_/build/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py&quot;, line 449, in main
    return run(port, options, args)
  File &quot;/Volumes/data/b/build/slave/Webkit_Mac10_5__dbg__1_/build/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py&quot;, line 102, in run
    manager.print_config()
  File &quot;/Volumes/data/b/build/slave/Webkit_Mac10_5__dbg__1_/build/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/controllers/manager.py&quot;, line 1135, in print_config
    &apos; &apos;.join(self._port.driver_cmd_line()))
  File &quot;/Volumes/data/b/build/slave/Webkit_Mac10_5__dbg__1_/build/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/port/base.py&quot;, line 571, in driver_cmd_line
    driver = self.create_driver(0)
  File &quot;/Volumes/data/b/build/slave/Webkit_Mac10_5__dbg__1_/build/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/port/base.py&quot;, line 770, in create_driver
    return driver.DriverProxy(self, worker_number, self._driver_class(), pixel_tests=self.get_option(&apos;pixel_tests&apos;), no_timeout=no_timeout)
  File &quot;/Volumes/data/b/build/slave/Webkit_Mac10_5__dbg__1_/build/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/port/driver.py&quot;, line 187, in __init__
    self._running_drivers[self._cmd_line_as_key(pixel_tests, [])] = self._driver
  File &quot;/Volumes/data/b/build/slave/Webkit_Mac10_5__dbg__1_/build/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/port/driver.py&quot;, line 241, in _cmd_line_as_key
    return &apos; &apos;.join(self.cmd_line(pixel_tests, per_test_args))
  File &quot;/Volumes/data/b/build/slave/Webkit_Mac10_5__dbg__1_/build/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/port/driver.py&quot;, line 238, in cmd_line
    return self._driver.cmd_line(pixel_tests, per_test_args or [])
  File &quot;/Volumes/data/b/build/slave/Webkit_Mac10_5__dbg__1_/build/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/port/chromium.py&quot;, line 487, in cmd_line
    cmd.append(self._port._path_to_driver())
  File &quot;/Volumes/data/b/build/slave/Webkit_Mac10_5__dbg__1_/build/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/port/chromium_mac.py&quot;, line 167, in _path_to_driver
    return self._build_path(configuration, self.driver_name() + &apos;.app&apos;,
TypeError: unsupported operand type(s) for +: &apos;NoneType&apos; and &apos;str&apos;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>630991</commentid>
    <comment_count>15</comment_count>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-05-22 17:45:11 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; REVERTED in r118088 - failing to run webkit_tests on Mac after this change:
&gt; 

Linux too:

http://build.chromium.org/p/chromium.webkit/builders/Webkit%20Linux/builds/25740
http://build.chromium.org/p/chromium.webkit/builders/Webkit%20Linux%2032/builds/18399
http://build.chromium.org/p/chromium.webkit/builders/Webkit%20Linux%20%28dbg%29/builds/7106</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>633038</commentid>
    <comment_count>16</comment_count>
      <attachid>143869</attachid>
    <who name="">jochen</who>
    <bug_when>2012-05-24 12:14:29 -0700</bug_when>
    <thetext>Created attachment 143869
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>633040</commentid>
    <comment_count>17</comment_count>
    <who name="">jochen</who>
    <bug_when>2012-05-24 12:15:35 -0700</bug_when>
    <thetext>Dirk, can you have another look please?

It seems like the way I implemented driver_name was broken. I now implemented it with the same pattern as in webkit.py</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>633042</commentid>
    <comment_count>18</comment_count>
      <attachid>143869</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-05-24 12:20:54 -0700</bug_when>
    <thetext>Comment on attachment 143869
Patch

It&apos;s really a bug that get_option doesn&apos;t return the default value that you pass in if the attr exists but is set to None. I need to go back and fix that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>633054</commentid>
    <comment_count>19</comment_count>
    <who name="">jochen</who>
    <bug_when>2012-05-24 12:30:49 -0700</bug_when>
    <thetext>(In reply to comment #18)
&gt; (From update of attachment 143869 [details])
&gt; It&apos;s really a bug that get_option doesn&apos;t return the default value that you pass in if the attr exists but is set to None. I need to go back and fix that.

Filed https://bugs.webkit.org/show_bug.cgi?id=87413</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>633096</commentid>
    <comment_count>20</comment_count>
      <attachid>143869</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-24 13:08:16 -0700</bug_when>
    <thetext>Comment on attachment 143869
Patch

Clearing flags on attachment: 143869

Committed r118408: &lt;http://trac.webkit.org/changeset/118408&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>633097</commentid>
    <comment_count>21</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-24 13:08:22 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>143294</attachid>
            <date>2012-05-22 06:31:19 -0700</date>
            <delta_ts>2012-05-22 11:38:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87128-20120522153117.patch</filename>
            <type>text/plain</type>
            <size>3934</size>
            <attacher>jochen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE3ODA0CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNTQ5OTAyZjFhZjQ3NDg4ODFjNmRjODZjNzNhYmY1ZGRl
MjNhODcyOS4uNWI1YWNlMjFiNDc0MGQzMjk5MDE3YWU5ZGU4MmIxZTYxMWIxMmQzNiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5
IEBACisyMDEyLTA1LTIyICBKb2NoZW4gRWlzaW5nZXIgIDxqb2NoZW5AY2hyb21pdW0ub3JnPgor
CisgICAgICAgIFtjaHJvbWl1bV0gYWRkIC0tZHJpdmVyLW5hbWUgb3B0aW9uIHRvIHJ1bl93ZWJr
aXRfdGVzdHMucHkgdG8gYWxsb3cgZm9yIHNlbGVjdGluZyBhbHRlcm5hdGl2ZSBEUlQgYmluYXJp
ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg3MTI4
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTY3Jp
cHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtLnB5OgorICAgICAgICAoQ2hy
b21pdW1Qb3J0LmRyaXZlcl9uYW1lKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91
dF90ZXN0cy9wb3J0L2Nocm9taXVtX2xpbnV4LnB5OgorICAgICAgICAoQ2hyb21pdW1MaW51eFBv
cnQuX3BhdGhfdG9fZHJpdmVyKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90
ZXN0cy9wb3J0L2Nocm9taXVtX3dpbi5weToKKyAgICAgICAgKENocm9taXVtV2luUG9ydC5fcGF0
aF90b19kcml2ZXIpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1
bl93ZWJraXRfdGVzdHMucHk6CisgICAgICAgIChwYXJzZV9hcmdzKToKKwogMjAxMi0wNS0yMSAg
U3VkYXJzYW5hIE5hZ2luZW5pICA8c3VkYXJzYW5hLm5hZ2luZW5pQGxpbnV4LmludGVsLmNvbT4K
IAogICAgICAgICBbR1RLXSBEUlQgc3VwcG9ydCBmb3IgbGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0
U2VyaWFsaXplSFRUUExvYWRzCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xh
eW91dF90ZXN0cy9wb3J0L2Nocm9taXVtLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvcG9ydC9jaHJvbWl1bS5weQppbmRleCBjYjY4ZjE0NjA1MjFmZjYxNzIwNWM4ZjQ5
ODUyOTUyMDA1NDA5NTc5Li43ZDJhYWY0YTNmYWM4MDcyOGI1NWZmOTBkM2U3YzBmM2YwNTI1MjMz
IDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2No
cm9taXVtLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQv
Y2hyb21pdW0ucHkKQEAgLTExOCw2ICsxMTgsOCBAQCBjbGFzcyBDaHJvbWl1bVBvcnQoUG9ydCk6
CiAgICAgICAgICAgICByZXR1cm4gRmFsc2UKICAgICAgICAgcmV0dXJuIFRydWUKIAorICAgIGRl
ZiBkcml2ZXJfbmFtZShzZWxmKToKKyAgICAgICAgcmV0dXJuIHNlbGYuZ2V0X29wdGlvbignZHJp
dmVyX25hbWUnLCAnRHVtcFJlbmRlclRyZWUnKQogCiAgICAgZGVmIGNoZWNrX2J1aWxkKHNlbGYs
IG5lZWRzX2h0dHApOgogICAgICAgICByZXN1bHQgPSBUcnVlCmRpZmYgLS1naXQgYS9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX2xpbnV4LnB5IGIvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV9saW51eC5weQpp
bmRleCA1Nzg5NjlhMDE5NjkyNjY0YjVkMWRhYTBlOGVmZjAxZmNhMzk1OWU0Li4zZTA3YTZhNzNl
YmIzZTcxNDUwMGQwYzNiNjgxNGRlZGQ5ODEwM2I4IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX2xpbnV4LnB5CisrKyBiL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fbGludXgucHkKQEAg
LTE5Miw3ICsxOTIsNyBAQCBjbGFzcyBDaHJvbWl1bUxpbnV4UG9ydChjaHJvbWl1bS5DaHJvbWl1
bVBvcnQpOgogICAgIGRlZiBfcGF0aF90b19kcml2ZXIoc2VsZiwgY29uZmlndXJhdGlvbj1Ob25l
KToKICAgICAgICAgaWYgbm90IGNvbmZpZ3VyYXRpb246CiAgICAgICAgICAgICBjb25maWd1cmF0
aW9uID0gc2VsZi5nZXRfb3B0aW9uKCdjb25maWd1cmF0aW9uJykKLSAgICAgICAgYmluYXJ5X25h
bWUgPSAnRHVtcFJlbmRlclRyZWUnCisgICAgICAgIGJpbmFyeV9uYW1lID0gc2VsZi5kcml2ZXJf
bmFtZSgpCiAgICAgICAgIHJldHVybiBzZWxmLl9idWlsZF9wYXRoKGNvbmZpZ3VyYXRpb24sIGJp
bmFyeV9uYW1lKQogCiAgICAgZGVmIF9wYXRoX3RvX2hlbHBlcihzZWxmKToKZGlmZiAtLWdpdCBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fd2luLnB5
IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV93aW4u
cHkKaW5kZXggNDA5NjQzMzIxZDU5OTdiY2VkMzhhZTNmM2UwZDQxOTIyZjU5YzkyNS4uYjA2ZmU5
MTM1NTRlOWJlYzFlM2ZlOGU3MGE3OWJhYzQwMTBiOGMyOCAxMDA3NTUKLS0tIGEvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV93aW4ucHkKKysrIGIvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV93aW4ucHkKQEAg
LTE2MSw3ICsxNjEsNyBAQCBjbGFzcyBDaHJvbWl1bVdpblBvcnQoY2hyb21pdW0uQ2hyb21pdW1Q
b3J0KToKICAgICBkZWYgX3BhdGhfdG9fZHJpdmVyKHNlbGYsIGNvbmZpZ3VyYXRpb249Tm9uZSk6
CiAgICAgICAgIGlmIG5vdCBjb25maWd1cmF0aW9uOgogICAgICAgICAgICAgY29uZmlndXJhdGlv
biA9IHNlbGYuZ2V0X29wdGlvbignY29uZmlndXJhdGlvbicpCi0gICAgICAgIGJpbmFyeV9uYW1l
ID0gJ0R1bXBSZW5kZXJUcmVlLmV4ZScKKyAgICAgICAgYmluYXJ5X25hbWUgPSAnJXMuZXhlJyAl
IHNlbGYuZHJpdmVyX25hbWUoKQogICAgICAgICByZXR1cm4gc2VsZi5fYnVpbGRfcGF0aChjb25m
aWd1cmF0aW9uLCBiaW5hcnlfbmFtZSkKIAogICAgIGRlZiBfcGF0aF90b19oZWxwZXIoc2VsZik6
CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9ydW5fd2Vi
a2l0X3Rlc3RzLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVuX3dl
YmtpdF90ZXN0cy5weQppbmRleCBkZTVlZWI4NGFhOTUzMWRjMzQ5ODQ1MzZkOGFkNjVhMDA5YTIx
NTk2Li44MWZhZmE5ZjMyNTg1ZTA1ZmFhZTQ2OGIzNTg4OTE2NzNhNDcyYmQ2IDEwMDc1NQotLS0g
YS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9ydW5fd2Via2l0X3Rlc3RzLnB5
CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVz
dHMucHkKQEAgLTI0Miw2ICsyNDIsOCBAQCBkZWYgcGFyc2VfYXJncyhhcmdzPU5vbmUpOgogICAg
ICAgICAgICAgaGVscD0iVXNlIHBlci10aWxlIHBhaW50aW5nIG9mIGNvbXBvc2l0ZWQgcGFnZXMi
KSwKICAgICAgICAgb3B0cGFyc2UubWFrZV9vcHRpb24oIi0tYWRiLWFyZ3MiLCB0eXBlPSJzdHJp
bmciLAogICAgICAgICAgICAgaGVscD0iQXJndW1lbnRzIHBhcnNlZCB0byBBbmRyb2lkIGFkYiwg
dG8gc2VsZWN0IGRldmljZSwgZXRjLiIpLAorICAgICAgICBvcHRwYXJzZS5tYWtlX29wdGlvbigi
LS1kcml2ZXItbmFtZSIsIHR5cGU9InN0cmluZyIsCisgICAgICAgICAgICBoZWxwPSJBbHRlcm5h
dGl2ZSBEUlQgZHJpdmVyIHRvIHVzZSwgZS5nLiBjb250ZW50X3NoZWxsIiksCiAgICAgXSkpCiAK
ICAgICBvcHRpb25fZ3JvdXBfZGVmaW5pdGlvbnMuYXBwZW5kKCgiV2ViS2l0IE9wdGlvbnMiLCBb
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>143335</attachid>
            <date>2012-05-22 11:39:00 -0700</date>
            <delta_ts>2012-05-22 15:47:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87128-20120522203859.patch</filename>
            <type>text/plain</type>
            <size>5618</size>
            <attacher>jochen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE3ODA0CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNTQ5OTAyZjFhZjQ3NDg4ODFjNmRjODZjNzNhYmY1ZGRl
MjNhODcyOS4uYzQ5ZTA3ZjRjNjE1ZmZhZGZlZDYyNjU4OWRkM2VkODg2MjgxZTI4ZSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIx
IEBACisyMDEyLTA1LTIyICBKb2NoZW4gRWlzaW5nZXIgIDxqb2NoZW5AY2hyb21pdW0ub3JnPgor
CisgICAgICAgIFtjaHJvbWl1bV0gYWRkIC0tZHJpdmVyLW5hbWUgb3B0aW9uIHRvIHJ1bl93ZWJr
aXRfdGVzdHMucHkgdG8gYWxsb3cgZm9yIHNlbGVjdGluZyBhbHRlcm5hdGl2ZSBEUlQgYmluYXJp
ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg3MTI4
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTY3Jp
cHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtLnB5OgorICAgICAgICAoQ2hy
b21pdW1Qb3J0LmRyaXZlcl9uYW1lKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91
dF90ZXN0cy9wb3J0L2Nocm9taXVtX2xpbnV4LnB5OgorICAgICAgICAoQ2hyb21pdW1MaW51eFBv
cnQuX3BhdGhfdG9fZHJpdmVyKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90
ZXN0cy9wb3J0L2Nocm9taXVtX3VuaXR0ZXN0LnB5OgorICAgICAgICAoQ2hyb21pdW1Qb3J0VGVz
dC50ZXN0X2RyaXZlcl9uYW1lX29wdGlvbik6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9s
YXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV93aW4ucHk6CisgICAgICAgIChDaHJvbWl1bVdpblBv
cnQuX3BhdGhfdG9fZHJpdmVyKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90
ZXN0cy9ydW5fd2Via2l0X3Rlc3RzLnB5OgorICAgICAgICAocGFyc2VfYXJncyk6CisKIDIwMTIt
MDUtMjEgIFN1ZGFyc2FuYSBOYWdpbmVuaSAgPHN1ZGFyc2FuYS5uYWdpbmVuaUBsaW51eC5pbnRl
bC5jb20+CiAKICAgICAgICAgW0dUS10gRFJUIHN1cHBvcnQgZm9yIGxheW91dFRlc3RDb250cm9s
bGVyLnNldFNlcmlhbGl6ZUhUVFBMb2FkcwpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bS5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW0ucHkKaW5kZXggY2I2OGYxNDYwNTIxZmY2MTcy
MDVjOGY0OTg1Mjk1MjAwNTQwOTU3OS4uN2QyYWFmNGEzZmFjODA3MjhiNTVmZjkwZDNlN2MwZjNm
MDUyNTIzMyAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMv
cG9ydC9jaHJvbWl1bS5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0
cy9wb3J0L2Nocm9taXVtLnB5CkBAIC0xMTgsNiArMTE4LDggQEAgY2xhc3MgQ2hyb21pdW1Qb3J0
KFBvcnQpOgogICAgICAgICAgICAgcmV0dXJuIEZhbHNlCiAgICAgICAgIHJldHVybiBUcnVlCiAK
KyAgICBkZWYgZHJpdmVyX25hbWUoc2VsZik6CisgICAgICAgIHJldHVybiBzZWxmLmdldF9vcHRp
b24oJ2RyaXZlcl9uYW1lJywgJ0R1bXBSZW5kZXJUcmVlJykKIAogICAgIGRlZiBjaGVja19idWls
ZChzZWxmLCBuZWVkc19odHRwKToKICAgICAgICAgcmVzdWx0ID0gVHJ1ZQpkaWZmIC0tZ2l0IGEv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV9saW51eC5w
eSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fbGlu
dXgucHkKaW5kZXggNTc4OTY5YTAxOTY5MjY2NGI1ZDFkYWEwZThlZmYwMWZjYTM5NTllNC4uM2Uw
N2E2YTczZWJiM2U3MTQ1MDBkMGMzYjY4MTRkZWRkOTgxMDNiOCAxMDA2NDQKLS0tIGEvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV9saW51eC5weQorKysg
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX2xpbnV4
LnB5CkBAIC0xOTIsNyArMTkyLDcgQEAgY2xhc3MgQ2hyb21pdW1MaW51eFBvcnQoY2hyb21pdW0u
Q2hyb21pdW1Qb3J0KToKICAgICBkZWYgX3BhdGhfdG9fZHJpdmVyKHNlbGYsIGNvbmZpZ3VyYXRp
b249Tm9uZSk6CiAgICAgICAgIGlmIG5vdCBjb25maWd1cmF0aW9uOgogICAgICAgICAgICAgY29u
ZmlndXJhdGlvbiA9IHNlbGYuZ2V0X29wdGlvbignY29uZmlndXJhdGlvbicpCi0gICAgICAgIGJp
bmFyeV9uYW1lID0gJ0R1bXBSZW5kZXJUcmVlJworICAgICAgICBiaW5hcnlfbmFtZSA9IHNlbGYu
ZHJpdmVyX25hbWUoKQogICAgICAgICByZXR1cm4gc2VsZi5fYnVpbGRfcGF0aChjb25maWd1cmF0
aW9uLCBiaW5hcnlfbmFtZSkKIAogICAgIGRlZiBfcGF0aF90b19oZWxwZXIoc2VsZik6CmRpZmYg
LS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVt
X3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9j
aHJvbWl1bV91bml0dGVzdC5weQppbmRleCAzMDM5ODg2ODM2OTczYjg1YmE3NmNmYzdjZTEzNDk4
YTg3NTIzNjNkLi4xNjI3NWQ3MGVjMzhmODFmY2M5ODM3Njg1MTg1ZjY3Mjg4OTJhOGMwIDEwMDY0
NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVt
X3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3Bv
cnQvY2hyb21pdW1fdW5pdHRlc3QucHkKQEAgLTMzMCw2ICszMzAsMTYgQEAgY2xhc3MgQ2hyb21p
dW1Qb3J0VGVzdChwb3J0X3Rlc3RjYXNlLlBvcnRUZXN0Q2FzZSk6CiAgICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWxzKHBvcnQudGVzdF9leHBlY3RhdGlvbnNfb3ZlcnJpZGVzKCksCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFNLSUFfT1ZFUlJJREVTICsgQURESVRJT05BTF9FWFBFQ1RBVElPTlMp
CiAKKyAgICBkZWYgdGVzdF9kcml2ZXJfbmFtZV9vcHRpb24oc2VsZik6CisgICAgICAgIHNlbGYu
YXNzZXJ0VHJ1ZShDaHJvbWl1bVBvcnRUZXN0LlRlc3RMaW51eFBvcnQoKS5fcGF0aF90b19kcml2
ZXIoKS5lbmRzd2l0aCgnL291dC9kZWZhdWx0L0R1bXBSZW5kZXJUcmVlJykpCisgICAgICAgIHNl
bGYuYXNzZXJ0VHJ1ZShDaHJvbWl1bVBvcnRUZXN0LlRlc3RNYWNQb3J0KCkuX3BhdGhfdG9fZHJp
dmVyKCkuZW5kc3dpdGgoJy94Y29kZWJ1aWxkL2RlZmF1bHQvRHVtcFJlbmRlclRyZWUuYXBwL0Nv
bnRlbnRzL01hY09TL0R1bXBSZW5kZXJUcmVlJykpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShD
aHJvbWl1bVBvcnRUZXN0LlRlc3RXaW5Qb3J0KCkuX3BhdGhfdG9fZHJpdmVyKCkuZW5kc3dpdGgo
Jy9kZWZhdWx0L0R1bXBSZW5kZXJUcmVlLmV4ZScpKQorCisgICAgICAgIG9wdGlvbnMgPSBNb2Nr
T3B0aW9ucyhkcml2ZXJfbmFtZT0nT3RoZXJEcml2ZXInKQorICAgICAgICBzZWxmLmFzc2VydFRy
dWUoQ2hyb21pdW1Qb3J0VGVzdC5UZXN0TGludXhQb3J0KG9wdGlvbnMpLl9wYXRoX3RvX2RyaXZl
cigpLmVuZHN3aXRoKCcvb3V0L2RlZmF1bHQvT3RoZXJEcml2ZXInKSkKKyAgICAgICAgc2VsZi5h
c3NlcnRUcnVlKENocm9taXVtUG9ydFRlc3QuVGVzdE1hY1BvcnQob3B0aW9ucykuX3BhdGhfdG9f
ZHJpdmVyKCkuZW5kc3dpdGgoJy94Y29kZWJ1aWxkL2RlZmF1bHQvT3RoZXJEcml2ZXIuYXBwL0Nv
bnRlbnRzL01hY09TL090aGVyRHJpdmVyJykpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShDaHJv
bWl1bVBvcnRUZXN0LlRlc3RXaW5Qb3J0KG9wdGlvbnMpLl9wYXRoX3RvX2RyaXZlcigpLmVuZHN3
aXRoKCcvZGVmYXVsdC9PdGhlckRyaXZlci5leGUnKSkKKwogCiBjbGFzcyBDaHJvbWl1bVBvcnRM
b2dnaW5nVGVzdChsb2d0ZXN0aW5nLkxvZ2dpbmdUZXN0Q2FzZSk6CiAgICAgZGVmIHRlc3RfY2hl
Y2tfc3lzX2RlcHMoc2VsZik6CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xh
eW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX3dpbi5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
bGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fd2luLnB5CmluZGV4IDQwOTY0MzMyMWQ1OTk3YmNl
ZDM4YWUzZjNlMGQ0MTkyMmY1OWM5MjUuLmIwNmZlOTEzNTU0ZTliZWMxZTNmZThlNzBhNzliYWM0
MDEwYjhjMjggMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3Rz
L3BvcnQvY2hyb21pdW1fd2luLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0
X3Rlc3RzL3BvcnQvY2hyb21pdW1fd2luLnB5CkBAIC0xNjEsNyArMTYxLDcgQEAgY2xhc3MgQ2hy
b21pdW1XaW5Qb3J0KGNocm9taXVtLkNocm9taXVtUG9ydCk6CiAgICAgZGVmIF9wYXRoX3RvX2Ry
aXZlcihzZWxmLCBjb25maWd1cmF0aW9uPU5vbmUpOgogICAgICAgICBpZiBub3QgY29uZmlndXJh
dGlvbjoKICAgICAgICAgICAgIGNvbmZpZ3VyYXRpb24gPSBzZWxmLmdldF9vcHRpb24oJ2NvbmZp
Z3VyYXRpb24nKQotICAgICAgICBiaW5hcnlfbmFtZSA9ICdEdW1wUmVuZGVyVHJlZS5leGUnCisg
ICAgICAgIGJpbmFyeV9uYW1lID0gJyVzLmV4ZScgJSBzZWxmLmRyaXZlcl9uYW1lKCkKICAgICAg
ICAgcmV0dXJuIHNlbGYuX2J1aWxkX3BhdGgoY29uZmlndXJhdGlvbiwgYmluYXJ5X25hbWUpCiAK
ICAgICBkZWYgX3BhdGhfdG9faGVscGVyKHNlbGYpOgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0cy5weSBiL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHMucHkKaW5kZXggZGU1ZWVi
ODRhYTk1MzFkYzM0OTg0NTM2ZDhhZDY1YTAwOWEyMTU5Ni4uODFmYWZhOWYzMjU4NWUwNWZhYWU0
NjhiMzU4ODkxNjczYTQ3MmJkNiAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9s
YXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0cy5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2xheW91dF90ZXN0cy9ydW5fd2Via2l0X3Rlc3RzLnB5CkBAIC0yNDIsNiArMjQyLDggQEAg
ZGVmIHBhcnNlX2FyZ3MoYXJncz1Ob25lKToKICAgICAgICAgICAgIGhlbHA9IlVzZSBwZXItdGls
ZSBwYWludGluZyBvZiBjb21wb3NpdGVkIHBhZ2VzIiksCiAgICAgICAgIG9wdHBhcnNlLm1ha2Vf
b3B0aW9uKCItLWFkYi1hcmdzIiwgdHlwZT0ic3RyaW5nIiwKICAgICAgICAgICAgIGhlbHA9IkFy
Z3VtZW50cyBwYXJzZWQgdG8gQW5kcm9pZCBhZGIsIHRvIHNlbGVjdCBkZXZpY2UsIGV0Yy4iKSwK
KyAgICAgICAgb3B0cGFyc2UubWFrZV9vcHRpb24oIi0tZHJpdmVyLW5hbWUiLCB0eXBlPSJzdHJp
bmciLAorICAgICAgICAgICAgaGVscD0iQWx0ZXJuYXRpdmUgRFJUIGRyaXZlciB0byB1c2UsIGUu
Zy4gY29udGVudF9zaGVsbCIpLAogICAgIF0pKQogCiAgICAgb3B0aW9uX2dyb3VwX2RlZmluaXRp
b25zLmFwcGVuZCgoIldlYktpdCBPcHRpb25zIiwgWwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>143384</attachid>
            <date>2012-05-22 15:47:56 -0700</date>
            <delta_ts>2012-05-24 12:14:23 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-87128-20120523004754.patch</filename>
            <type>text/plain</type>
            <size>5849</size>
            <attacher>jochen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE4MDY1CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggODQ1YmEyZjc0M2U0ZDUxOTM0Y2E5OWNiZjMwYzYyOTkz
ZmFiMGJkZC4uOTFmYjY0NDY1Mzc0NjI5ODZiNjc1Y2ViOTZlM2M3ZmY5ZWZjMGUzOSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIx
IEBACisyMDEyLTA1LTIyICBKb2NoZW4gRWlzaW5nZXIgIDxqb2NoZW5AY2hyb21pdW0ub3JnPgor
CisgICAgICAgIFtjaHJvbWl1bV0gYWRkIC0tZHJpdmVyLW5hbWUgb3B0aW9uIHRvIHJ1bl93ZWJr
aXRfdGVzdHMucHkgdG8gYWxsb3cgZm9yIHNlbGVjdGluZyBhbHRlcm5hdGl2ZSBEUlQgYmluYXJp
ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg3MTI4
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGlyayBQcmFua2UuCisKKyAgICAgICAgKiBTY3JpcHRz
L3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Jhc2UucHk6CisgICAgICAgIChQb3J0LmRyaXZl
cl9uYW1lKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2No
cm9taXVtX2xpbnV4LnB5OgorICAgICAgICAoQ2hyb21pdW1MaW51eFBvcnQuX3BhdGhfdG9fZHJp
dmVyKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9t
aXVtX3VuaXR0ZXN0LnB5OgorICAgICAgICAoQ2hyb21pdW1Qb3J0VGVzdC50ZXN0X2RyaXZlcl9u
YW1lX29wdGlvbik6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9y
dC9jaHJvbWl1bV93aW4ucHk6CisgICAgICAgIChDaHJvbWl1bVdpblBvcnQuX3BhdGhfdG9fZHJp
dmVyKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9ydW5fd2Via2l0
X3Rlc3RzLnB5OgorICAgICAgICAocGFyc2VfYXJncyk6CisKIDIwMTItMDUtMjIgIEplc3NpZSBC
ZXJsaW4gIDxqYmVybGluQGFwcGxlLmNvbT4KIAogICAgICAgICBXVFIgZml4IGFmdGVyIHIxMTgw
MDEuCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0
L2Jhc2UucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Jhc2Uu
cHkKaW5kZXggNDFiOGVkMGYzZjE5NzExNmIyNjgwOTI4MzliZTI2YjQwOWQ1ZjEzZi4uODVhOTQ0
ZTQ0NjJhNWRhN2ZhMWJjZjQ2ZWE5OTk5MGZhY2Q2NzU0MyAxMDA3NTUKLS0tIGEvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9iYXNlLnB5CisrKyBiL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvYmFzZS5weQpAQCAtMzA0LDcgKzMwNCw3IEBA
IGNsYXNzIFBvcnQob2JqZWN0KToKIAogICAgIGRlZiBkcml2ZXJfbmFtZShzZWxmKToKICAgICAg
ICAgIyBGSVhNRTogU2VlbXMgd2Ugc2hvdWxkIGdldCB0aGlzIGZyb20gdGhlIFBvcnQncyBEcml2
ZXIgY2xhc3MuCi0gICAgICAgIHJldHVybiAiRHVtcFJlbmRlclRyZWUiCisgICAgICAgIHJldHVy
biBzZWxmLmdldF9vcHRpb24oJ2RyaXZlcl9uYW1lJywgJ0R1bXBSZW5kZXJUcmVlJykKIAogICAg
IGRlZiBleHBlY3RlZF9iYXNlbGluZXNfYnlfZXh0ZW5zaW9uKHNlbGYsIHRlc3RfbmFtZSk6CiAg
ICAgICAgICIiIlJldHVybnMgYSBkaWN0IG1hcHBpbmcgYmFzZWxpbmUgc3VmZml4IHRvIHJlbGF0
aXZlIHBhdGggZm9yIGVhY2ggYmFzZWxpbmUgaW4KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fbGludXgucHkgYi9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX2xpbnV4LnB5CmluZGV4IDU3
ODk2OWEwMTk2OTI2NjRiNWQxZGFhMGU4ZWZmMDFmY2EzOTU5ZTQuLjNlMDdhNmE3M2ViYjNlNzE0
NTAwZDBjM2I2ODE0ZGVkZDk4MTAzYjggMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fbGludXgucHkKKysrIGIvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV9saW51eC5weQpAQCAtMTkyLDcg
KzE5Miw3IEBAIGNsYXNzIENocm9taXVtTGludXhQb3J0KGNocm9taXVtLkNocm9taXVtUG9ydCk6
CiAgICAgZGVmIF9wYXRoX3RvX2RyaXZlcihzZWxmLCBjb25maWd1cmF0aW9uPU5vbmUpOgogICAg
ICAgICBpZiBub3QgY29uZmlndXJhdGlvbjoKICAgICAgICAgICAgIGNvbmZpZ3VyYXRpb24gPSBz
ZWxmLmdldF9vcHRpb24oJ2NvbmZpZ3VyYXRpb24nKQotICAgICAgICBiaW5hcnlfbmFtZSA9ICdE
dW1wUmVuZGVyVHJlZScKKyAgICAgICAgYmluYXJ5X25hbWUgPSBzZWxmLmRyaXZlcl9uYW1lKCkK
ICAgICAgICAgcmV0dXJuIHNlbGYuX2J1aWxkX3BhdGgoY29uZmlndXJhdGlvbiwgYmluYXJ5X25h
bWUpCiAKICAgICBkZWYgX3BhdGhfdG9faGVscGVyKHNlbGYpOgpkaWZmIC0tZ2l0IGEvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV91bml0dGVzdC5weSBi
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fdW5pdHRl
c3QucHkKaW5kZXggMzAzOTg4NjgzNjk3M2I4NWJhNzZjZmM3Y2UxMzQ5OGE4NzUyMzYzZC4uMTYy
NzVkNzBlYzM4ZjgxZmNjOTgzNzY4NTE4NWY2NzI4ODkyYThjMCAxMDA2NDQKLS0tIGEvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV91bml0dGVzdC5weQor
KysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX3Vu
aXR0ZXN0LnB5CkBAIC0zMzAsNiArMzMwLDE2IEBAIGNsYXNzIENocm9taXVtUG9ydFRlc3QocG9y
dF90ZXN0Y2FzZS5Qb3J0VGVzdENhc2UpOgogICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhwb3J0
LnRlc3RfZXhwZWN0YXRpb25zX292ZXJyaWRlcygpLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICBTS0lBX09WRVJSSURFUyArIEFERElUSU9OQUxfRVhQRUNUQVRJT05TKQogCisgICAgZGVmIHRl
c3RfZHJpdmVyX25hbWVfb3B0aW9uKHNlbGYpOgorICAgICAgICBzZWxmLmFzc2VydFRydWUoQ2hy
b21pdW1Qb3J0VGVzdC5UZXN0TGludXhQb3J0KCkuX3BhdGhfdG9fZHJpdmVyKCkuZW5kc3dpdGgo
Jy9vdXQvZGVmYXVsdC9EdW1wUmVuZGVyVHJlZScpKQorICAgICAgICBzZWxmLmFzc2VydFRydWUo
Q2hyb21pdW1Qb3J0VGVzdC5UZXN0TWFjUG9ydCgpLl9wYXRoX3RvX2RyaXZlcigpLmVuZHN3aXRo
KCcveGNvZGVidWlsZC9kZWZhdWx0L0R1bXBSZW5kZXJUcmVlLmFwcC9Db250ZW50cy9NYWNPUy9E
dW1wUmVuZGVyVHJlZScpKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoQ2hyb21pdW1Qb3J0VGVz
dC5UZXN0V2luUG9ydCgpLl9wYXRoX3RvX2RyaXZlcigpLmVuZHN3aXRoKCcvZGVmYXVsdC9EdW1w
UmVuZGVyVHJlZS5leGUnKSkKKworICAgICAgICBvcHRpb25zID0gTW9ja09wdGlvbnMoZHJpdmVy
X25hbWU9J090aGVyRHJpdmVyJykKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKENocm9taXVtUG9y
dFRlc3QuVGVzdExpbnV4UG9ydChvcHRpb25zKS5fcGF0aF90b19kcml2ZXIoKS5lbmRzd2l0aCgn
L291dC9kZWZhdWx0L090aGVyRHJpdmVyJykpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShDaHJv
bWl1bVBvcnRUZXN0LlRlc3RNYWNQb3J0KG9wdGlvbnMpLl9wYXRoX3RvX2RyaXZlcigpLmVuZHN3
aXRoKCcveGNvZGVidWlsZC9kZWZhdWx0L090aGVyRHJpdmVyLmFwcC9Db250ZW50cy9NYWNPUy9P
dGhlckRyaXZlcicpKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoQ2hyb21pdW1Qb3J0VGVzdC5U
ZXN0V2luUG9ydChvcHRpb25zKS5fcGF0aF90b19kcml2ZXIoKS5lbmRzd2l0aCgnL2RlZmF1bHQv
T3RoZXJEcml2ZXIuZXhlJykpCisKIAogY2xhc3MgQ2hyb21pdW1Qb3J0TG9nZ2luZ1Rlc3QobG9n
dGVzdGluZy5Mb2dnaW5nVGVzdENhc2UpOgogICAgIGRlZiB0ZXN0X2NoZWNrX3N5c19kZXBzKHNl
bGYpOgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9y
dC9jaHJvbWl1bV93aW4ucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9w
b3J0L2Nocm9taXVtX3dpbi5weQppbmRleCA0MDk2NDMzMjFkNTk5N2JjZWQzOGFlM2YzZTBkNDE5
MjJmNTljOTI1Li5iMDZmZTkxMzU1NGU5YmVjMWUzZmU4ZTcwYTc5YmFjNDAxMGI4YzI4IDEwMDc1
NQotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVt
X3dpbi5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2No
cm9taXVtX3dpbi5weQpAQCAtMTYxLDcgKzE2MSw3IEBAIGNsYXNzIENocm9taXVtV2luUG9ydChj
aHJvbWl1bS5DaHJvbWl1bVBvcnQpOgogICAgIGRlZiBfcGF0aF90b19kcml2ZXIoc2VsZiwgY29u
ZmlndXJhdGlvbj1Ob25lKToKICAgICAgICAgaWYgbm90IGNvbmZpZ3VyYXRpb246CiAgICAgICAg
ICAgICBjb25maWd1cmF0aW9uID0gc2VsZi5nZXRfb3B0aW9uKCdjb25maWd1cmF0aW9uJykKLSAg
ICAgICAgYmluYXJ5X25hbWUgPSAnRHVtcFJlbmRlclRyZWUuZXhlJworICAgICAgICBiaW5hcnlf
bmFtZSA9ICclcy5leGUnICUgc2VsZi5kcml2ZXJfbmFtZSgpCiAgICAgICAgIHJldHVybiBzZWxm
Ll9idWlsZF9wYXRoKGNvbmZpZ3VyYXRpb24sIGJpbmFyeV9uYW1lKQogCiAgICAgZGVmIF9wYXRo
X3RvX2hlbHBlcihzZWxmKToKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5
b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHMucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xh
eW91dF90ZXN0cy9ydW5fd2Via2l0X3Rlc3RzLnB5CmluZGV4IDQ4NWFlOWIwNjBhZTRmNjI5Mjky
OTMyN2QxYzU3NGZlYmUzNWQ5ODUuLmQ0ZWNjYjBmYWZiOTcxODQwZWViZWIzYWVjYjk4MjkwYTRm
ODJkYzcgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1
bl93ZWJraXRfdGVzdHMucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVz
dHMvcnVuX3dlYmtpdF90ZXN0cy5weQpAQCAtMjk3LDYgKzI5Nyw4IEBAIGRlZiBwYXJzZV9hcmdz
KGFyZ3M9Tm9uZSk6CiAgICAgICAgIG9wdHBhcnNlLm1ha2Vfb3B0aW9uKCItLWFkZGl0aW9uYWwt
ZHJ0LWZsYWciLCBhY3Rpb249ImFwcGVuZCIsCiAgICAgICAgICAgICBkZWZhdWx0PVtdLCBoZWxw
PSJBZGRpdGlvbmFsIGNvbW1hbmQgbGluZSBmbGFnIHRvIHBhc3MgdG8gRHVtcFJlbmRlclRyZWUg
IgogICAgICAgICAgICAgICAgICAiU3BlY2lmeSBtdWx0aXBsZSB0aW1lcyB0byBhZGQgbXVsdGlw
bGUgZmxhZ3MuIiksCisgICAgICAgIG9wdHBhcnNlLm1ha2Vfb3B0aW9uKCItLWRyaXZlci1uYW1l
IiwgdHlwZT0ic3RyaW5nIiwKKyAgICAgICAgICAgIGhlbHA9IkFsdGVybmF0aXZlIER1bXBSZW5k
ZXJUcmVlIGJpbmFyeSB0byB1c2UiKSwKICAgICAgICAgb3B0cGFyc2UubWFrZV9vcHRpb24oIi0t
YWRkaXRpb25hbC1wbGF0Zm9ybS1kaXJlY3RvcnkiLCBhY3Rpb249ImFwcGVuZCIsCiAgICAgICAg
ICAgICBkZWZhdWx0PVtdLCBoZWxwPSJBZGRpdGlvbmFsIGRpcmVjdG9yeSB3aGVyZSB0byBsb29r
IGZvciB0ZXN0ICIKICAgICAgICAgICAgICAgICAgImJhc2VsaW5lcyAod2lsbCB0YWtlIHByZWNl
bmRlbmNlIG92ZXIgcGxhdGZvcm0gYmFzZWxpbmVzKS4gIgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>143869</attachid>
            <date>2012-05-24 12:14:29 -0700</date>
            <delta_ts>2012-05-24 13:08:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87128-20120524211427.patch</filename>
            <type>text/plain</type>
            <size>5961</size>
            <attacher>jochen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE4Mzk3CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMTI0YjQ1ZWZlYzEyMjAwYTlmMmMwM2I2NTBmNjZlNTg4
ZmVhZWEyNy4uMDcwNzNmMDg1ZGZlOWRjZTkxNjI2ZmExMzgyYzVhMDFhOGZiYTQyMCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIx
IEBACisyMDEyLTA1LTI0ICBKb2NoZW4gRWlzaW5nZXIgIDxqb2NoZW5AY2hyb21pdW0ub3JnPgor
CisgICAgICAgIEFkZCAtLWRyaXZlci1uYW1lIG9wdGlvbiB0byBydW5fd2Via2l0X3Rlc3RzLnB5
IHRvIGFsbG93IGZvciBzZWxlY3RpbmcgYWx0ZXJuYXRpdmUgRFJUIGJpbmFyaWVzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NzEyOAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRw
eS9sYXlvdXRfdGVzdHMvcG9ydC9iYXNlLnB5OgorICAgICAgICAoUG9ydC5kcml2ZXJfbmFtZSk6
CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV9s
aW51eC5weToKKyAgICAgICAgKENocm9taXVtTGludXhQb3J0Ll9wYXRoX3RvX2RyaXZlcik6Cisg
ICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV91bml0
dGVzdC5weToKKyAgICAgICAgKENocm9taXVtUG9ydFRlc3QudGVzdF9kcml2ZXJfbmFtZV9vcHRp
b24pOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21p
dW1fd2luLnB5OgorICAgICAgICAoQ2hyb21pdW1XaW5Qb3J0Ll9wYXRoX3RvX2RyaXZlcik6Cisg
ICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0cy5w
eToKKyAgICAgICAgKHBhcnNlX2FyZ3MpOgorCiAyMDEyLTA1LTI0ICBBbGV4ZXkgUHJvc2t1cnlh
a292ICA8YXBAYXBwbGUuY29tPgogCiAgICAgICAgIFtXSzJdIExldCB0aGUgY2xpZW50IGdpdmUg
bG9jYWwgZmlsZXMgdW5pdmVyc2FsIGFjY2VzcyBvbiBhIGNhc2UgYnkgY2FzZSBiYXNpcwpkaWZm
IC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9iYXNlLnB5
IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9iYXNlLnB5CmluZGV4
IDQxYjhlZDBmM2YxOTcxMTZiMjY4MDkyODM5YmUyNmI0MDlkNWYxM2YuLjY0YWQxMzY4NjczMTZj
MTM0ZTYyNjE4MjQ3N2NmN2MwMzY1OGRmMDcgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvYmFzZS5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2xheW91dF90ZXN0cy9wb3J0L2Jhc2UucHkKQEAgLTMwNCw3ICszMDQsOSBAQCBjbGFzcyBQ
b3J0KG9iamVjdCk6CiAKICAgICBkZWYgZHJpdmVyX25hbWUoc2VsZik6CiAgICAgICAgICMgRklY
TUU6IFNlZW1zIHdlIHNob3VsZCBnZXQgdGhpcyBmcm9tIHRoZSBQb3J0J3MgRHJpdmVyIGNsYXNz
LgotICAgICAgICByZXR1cm4gIkR1bXBSZW5kZXJUcmVlIgorICAgICAgICBpZiBzZWxmLmdldF9v
cHRpb24oJ2RyaXZlcl9uYW1lJyk6CisgICAgICAgICAgICByZXR1cm4gc2VsZi5nZXRfb3B0aW9u
KCdkcml2ZXJfbmFtZScpCisgICAgICAgIHJldHVybiAnRHVtcFJlbmRlclRyZWUnCiAKICAgICBk
ZWYgZXhwZWN0ZWRfYmFzZWxpbmVzX2J5X2V4dGVuc2lvbihzZWxmLCB0ZXN0X25hbWUpOgogICAg
ICAgICAiIiJSZXR1cm5zIGEgZGljdCBtYXBwaW5nIGJhc2VsaW5lIHN1ZmZpeCB0byByZWxhdGl2
ZSBwYXRoIGZvciBlYWNoIGJhc2VsaW5lIGluCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX2xpbnV4LnB5IGIvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV9saW51eC5weQppbmRleCA1Nzg5
NjlhMDE5NjkyNjY0YjVkMWRhYTBlOGVmZjAxZmNhMzk1OWU0Li4zZTA3YTZhNzNlYmIzZTcxNDUw
MGQwYzNiNjgxNGRlZGQ5ODEwM2I4IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX2xpbnV4LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fbGludXgucHkKQEAgLTE5Miw3ICsx
OTIsNyBAQCBjbGFzcyBDaHJvbWl1bUxpbnV4UG9ydChjaHJvbWl1bS5DaHJvbWl1bVBvcnQpOgog
ICAgIGRlZiBfcGF0aF90b19kcml2ZXIoc2VsZiwgY29uZmlndXJhdGlvbj1Ob25lKToKICAgICAg
ICAgaWYgbm90IGNvbmZpZ3VyYXRpb246CiAgICAgICAgICAgICBjb25maWd1cmF0aW9uID0gc2Vs
Zi5nZXRfb3B0aW9uKCdjb25maWd1cmF0aW9uJykKLSAgICAgICAgYmluYXJ5X25hbWUgPSAnRHVt
cFJlbmRlclRyZWUnCisgICAgICAgIGJpbmFyeV9uYW1lID0gc2VsZi5kcml2ZXJfbmFtZSgpCiAg
ICAgICAgIHJldHVybiBzZWxmLl9idWlsZF9wYXRoKGNvbmZpZ3VyYXRpb24sIGJpbmFyeV9uYW1l
KQogCiAgICAgZGVmIF9wYXRoX3RvX2hlbHBlcihzZWxmKToKZGlmZiAtLWdpdCBhL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fdW5pdHRlc3QucHkgYi9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX3VuaXR0ZXN0
LnB5CmluZGV4IDMwMzk4ODY4MzY5NzNiODViYTc2Y2ZjN2NlMTM0OThhODc1MjM2M2QuLjE2Mjc1
ZDcwZWMzOGY4MWZjYzk4Mzc2ODUxODVmNjcyODg5MmE4YzAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fdW5pdHRlc3QucHkKKysr
IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV91bml0
dGVzdC5weQpAQCAtMzMwLDYgKzMzMCwxNiBAQCBjbGFzcyBDaHJvbWl1bVBvcnRUZXN0KHBvcnRf
dGVzdGNhc2UuUG9ydFRlc3RDYXNlKToKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMocG9ydC50
ZXN0X2V4cGVjdGF0aW9uc19vdmVycmlkZXMoKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
U0tJQV9PVkVSUklERVMgKyBBRERJVElPTkFMX0VYUEVDVEFUSU9OUykKIAorICAgIGRlZiB0ZXN0
X2RyaXZlcl9uYW1lX29wdGlvbihzZWxmKToKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKENocm9t
aXVtUG9ydFRlc3QuVGVzdExpbnV4UG9ydCgpLl9wYXRoX3RvX2RyaXZlcigpLmVuZHN3aXRoKCcv
b3V0L2RlZmF1bHQvRHVtcFJlbmRlclRyZWUnKSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKENo
cm9taXVtUG9ydFRlc3QuVGVzdE1hY1BvcnQoKS5fcGF0aF90b19kcml2ZXIoKS5lbmRzd2l0aCgn
L3hjb2RlYnVpbGQvZGVmYXVsdC9EdW1wUmVuZGVyVHJlZS5hcHAvQ29udGVudHMvTWFjT1MvRHVt
cFJlbmRlclRyZWUnKSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKENocm9taXVtUG9ydFRlc3Qu
VGVzdFdpblBvcnQoKS5fcGF0aF90b19kcml2ZXIoKS5lbmRzd2l0aCgnL2RlZmF1bHQvRHVtcFJl
bmRlclRyZWUuZXhlJykpCisKKyAgICAgICAgb3B0aW9ucyA9IE1vY2tPcHRpb25zKGRyaXZlcl9u
YW1lPSdPdGhlckRyaXZlcicpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShDaHJvbWl1bVBvcnRU
ZXN0LlRlc3RMaW51eFBvcnQob3B0aW9ucykuX3BhdGhfdG9fZHJpdmVyKCkuZW5kc3dpdGgoJy9v
dXQvZGVmYXVsdC9PdGhlckRyaXZlcicpKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoQ2hyb21p
dW1Qb3J0VGVzdC5UZXN0TWFjUG9ydChvcHRpb25zKS5fcGF0aF90b19kcml2ZXIoKS5lbmRzd2l0
aCgnL3hjb2RlYnVpbGQvZGVmYXVsdC9PdGhlckRyaXZlci5hcHAvQ29udGVudHMvTWFjT1MvT3Ro
ZXJEcml2ZXInKSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKENocm9taXVtUG9ydFRlc3QuVGVz
dFdpblBvcnQob3B0aW9ucykuX3BhdGhfdG9fZHJpdmVyKCkuZW5kc3dpdGgoJy9kZWZhdWx0L090
aGVyRHJpdmVyLmV4ZScpKQorCiAKIGNsYXNzIENocm9taXVtUG9ydExvZ2dpbmdUZXN0KGxvZ3Rl
c3RpbmcuTG9nZ2luZ1Rlc3RDYXNlKToKICAgICBkZWYgdGVzdF9jaGVja19zeXNfZGVwcyhzZWxm
KToKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQv
Y2hyb21pdW1fd2luLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9y
dC9jaHJvbWl1bV93aW4ucHkKaW5kZXggNDA5NjQzMzIxZDU5OTdiY2VkMzhhZTNmM2UwZDQxOTIy
ZjU5YzkyNS4uYjA2ZmU5MTM1NTRlOWJlYzFlM2ZlOGU3MGE3OWJhYzQwMTBiOGMyOCAxMDA3NTUK
LS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV93
aW4ucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJv
bWl1bV93aW4ucHkKQEAgLTE2MSw3ICsxNjEsNyBAQCBjbGFzcyBDaHJvbWl1bVdpblBvcnQoY2hy
b21pdW0uQ2hyb21pdW1Qb3J0KToKICAgICBkZWYgX3BhdGhfdG9fZHJpdmVyKHNlbGYsIGNvbmZp
Z3VyYXRpb249Tm9uZSk6CiAgICAgICAgIGlmIG5vdCBjb25maWd1cmF0aW9uOgogICAgICAgICAg
ICAgY29uZmlndXJhdGlvbiA9IHNlbGYuZ2V0X29wdGlvbignY29uZmlndXJhdGlvbicpCi0gICAg
ICAgIGJpbmFyeV9uYW1lID0gJ0R1bXBSZW5kZXJUcmVlLmV4ZScKKyAgICAgICAgYmluYXJ5X25h
bWUgPSAnJXMuZXhlJyAlIHNlbGYuZHJpdmVyX25hbWUoKQogICAgICAgICByZXR1cm4gc2VsZi5f
YnVpbGRfcGF0aChjb25maWd1cmF0aW9uLCBiaW5hcnlfbmFtZSkKIAogICAgIGRlZiBfcGF0aF90
b19oZWxwZXIoc2VsZik6CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91
dF90ZXN0cy9ydW5fd2Via2l0X3Rlc3RzLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0cy5weQppbmRleCA0ODVhZTliMDYwYWU0ZjYyOTI5Mjkz
MjdkMWM1NzRmZWJlMzVkOTg1Li5kNGVjY2IwZmFmYjk3MTg0MGVlYmViM2FlY2I5ODI5MGE0Zjgy
ZGM3IDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9ydW5f
d2Via2l0X3Rlc3RzLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3Rz
L3J1bl93ZWJraXRfdGVzdHMucHkKQEAgLTI5Nyw2ICsyOTcsOCBAQCBkZWYgcGFyc2VfYXJncyhh
cmdzPU5vbmUpOgogICAgICAgICBvcHRwYXJzZS5tYWtlX29wdGlvbigiLS1hZGRpdGlvbmFsLWRy
dC1mbGFnIiwgYWN0aW9uPSJhcHBlbmQiLAogICAgICAgICAgICAgZGVmYXVsdD1bXSwgaGVscD0i
QWRkaXRpb25hbCBjb21tYW5kIGxpbmUgZmxhZyB0byBwYXNzIHRvIER1bXBSZW5kZXJUcmVlICIK
ICAgICAgICAgICAgICAgICAgIlNwZWNpZnkgbXVsdGlwbGUgdGltZXMgdG8gYWRkIG11bHRpcGxl
IGZsYWdzLiIpLAorICAgICAgICBvcHRwYXJzZS5tYWtlX29wdGlvbigiLS1kcml2ZXItbmFtZSIs
IHR5cGU9InN0cmluZyIsCisgICAgICAgICAgICBoZWxwPSJBbHRlcm5hdGl2ZSBEdW1wUmVuZGVy
VHJlZSBiaW5hcnkgdG8gdXNlIiksCiAgICAgICAgIG9wdHBhcnNlLm1ha2Vfb3B0aW9uKCItLWFk
ZGl0aW9uYWwtcGxhdGZvcm0tZGlyZWN0b3J5IiwgYWN0aW9uPSJhcHBlbmQiLAogICAgICAgICAg
ICAgZGVmYXVsdD1bXSwgaGVscD0iQWRkaXRpb25hbCBkaXJlY3Rvcnkgd2hlcmUgdG8gbG9vayBm
b3IgdGVzdCAiCiAgICAgICAgICAgICAgICAgICJiYXNlbGluZXMgKHdpbGwgdGFrZSBwcmVjZW5k
ZW5jZSBvdmVyIHBsYXRmb3JtIGJhc2VsaW5lcykuICIK
</data>

          </attachment>
      

    </bug>

</bugzilla>