<?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>68691</bug_id>
          
          <creation_ts>2011-09-23 04:47:08 -0700</creation_ts>
          <short_desc>new-run-webkit-tests is locale dependent</short_desc>
          <delta_ts>2020-07-30 13:17:20 -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>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>71199</dependson>
    
    <dependson>72328</dependson>
          <blocked>64491</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Eric Seidel (no email)">eric</assigned_to>
          <cc>abarth</cc>
    
    <cc>ap</cc>
    
    <cc>aroben</cc>
    
    <cc>darin</cc>
    
    <cc>dpranke</cc>
    
    <cc>eric</cc>
    
    <cc>fujii</cc>
    
    <cc>ojan</cc>
    
    <cc>ossy</cc>
    
    <cc>rniwa</cc>
    
    <cc>vanuan</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>472166</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2011-09-23 04:47:08 -0700</bug_when>
    <thetext>Many tests are failing in my machine (Finnish locale) using run-webkit-tests with diffs like this (from compositing/iframes/become-composited-nested-iframes.html):

 (GraphicsLayer
-  (bounds 785.00 1500.00)
+  (bounds 785,00 1500,00)
   (children 1

They work fine with old-run-webkit-tests. The decimal separator in Finnish locale is comma, not period.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>472308</commentid>
    <comment_count>1</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-09-23 10:20:44 -0700</bug_when>
    <thetext>We probably need to set the locale environment variable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>472637</commentid>
    <comment_count>2</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-09-23 17:14:46 -0700</bug_when>
    <thetext>It appears the trick is that ORWT used a completely clean environment:
http://trac.webkit.org/browser/trunk/Tools/Scripts/old-run-webkit-tests#L1471

Where as NRWT does not:
http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/layout_tests/port/base.py#L651
http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/layout_tests/port/webkit.py#L443

Very doable.

We have other general LOCALE problems in our python code, which also will need similar fixing, see bug 63452</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>492956</commentid>
    <comment_count>3</comment_count>
      <attachid>112973</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-10-29 12:52:54 -0700</bug_when>
    <thetext>Created attachment 112973
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>492957</commentid>
    <comment_count>4</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-10-29 12:53:14 -0700</bug_when>
    <thetext>Hopefully this fixes your issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>492960</commentid>
    <comment_count>5</comment_count>
      <attachid>112973</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-10-29 13:10:59 -0700</bug_when>
    <thetext>Comment on attachment 112973
Patch

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

&gt; Tools/Scripts/webkitpy/layout_tests/port/efl.py:59
&gt; +    # FIXME: I doublt EFL wants to override this method.

typo: doublt</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>492964</commentid>
    <comment_count>6</comment_count>
      <attachid>112975</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-10-29 14:00:42 -0700</bug_when>
    <thetext>Created attachment 112975
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>492981</commentid>
    <comment_count>7</comment_count>
      <attachid>112975</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-29 15:07:06 -0700</bug_when>
    <thetext>Comment on attachment 112975
Patch for landing

Clearing flags on attachment: 112975

Committed r98819: &lt;http://trac.webkit.org/changeset/98819&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>492982</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-29 15:07:11 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>492997</commentid>
    <comment_count>9</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-10-29 17:38:29 -0700</bug_when>
    <thetext>It appears that this patch broke Qt bots:
http://build.webkit.org/builders/Qt%20Linux%20Release/builds/39108/steps/layout-test/logs/stdio
Traceback (most recent call last):
  File &quot;/ramdisk/qt-linux-release/build/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py&quot;, line 436, in &lt;module&gt;
    sys.exit(main())
  File &quot;/ramdisk/qt-linux-release/build/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py&quot;, line 431, in main
    return run(port, options, args)
  File &quot;/ramdisk/qt-linux-release/build/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py&quot;, line 105, in run
    result_summary = manager.set_up_run()
  File &quot;/ramdisk/qt-linux-release/build/Tools/Scripts/webkitpy/layout_tests/controllers/manager.py&quot;, line 845, in set_up_run
    if not self._port.check_sys_deps(self.needs_servers()):
  File &quot;/ramdisk/qt-linux-release/build/Tools/Scripts/webkitpy/layout_tests/port/base.py&quot;, line 192, in check_sys_deps
    return self.check_httpd()
  File &quot;/ramdisk/qt-linux-release/build/Tools/Scripts/webkitpy/layout_tests/port/base.py&quot;, line 240, in check_httpd
    env = self.setup_environ_for_server(server_name)
  File &quot;/ramdisk/qt-linux-release/build/Tools/Scripts/webkitpy/layout_tests/port/qt.py&quot;, line 146, in setup_environ_for_server
    self._copy_value_from_environment(clean_env, &apos;QT_DRT_WEBVIEW_MODE&apos;)
AttributeError: &apos;QtPort&apos; object has no attribute &apos;_copy_value_from_environment&apos;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493005</commentid>
    <comment_count>10</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-10-29 19:54:52 -0700</bug_when>
    <thetext>Fixing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493006</commentid>
    <comment_count>11</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-10-29 20:06:21 -0700</bug_when>
    <thetext>Committed r98823: &lt;http://trac.webkit.org/changeset/98823&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493011</commentid>
    <comment_count>12</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-10-29 21:32:05 -0700</bug_when>
    <thetext>Hm... Chromium Windows appears to be broken as well:
Traceback (most recent call last):
  File &quot;E:\google-windows-2\chromium-win-release-tests\build\Tools\Scripts\webkitpy\layout_tests\run_webkit_tests.py&quot;, line 436, in &lt;module&gt;
    sys.exit(main())
  File &quot;E:\google-windows-2\chromium-win-release-tests\build\Tools\Scripts\webkitpy\layout_tests\run_webkit_tests.py&quot;, line 431, in main
    return run(port, options, args)
  File &quot;E:\google-windows-2\chromium-win-release-tests\build\Tools\Scripts\webkitpy\layout_tests\run_webkit_tests.py&quot;, line 105, in run
    result_summary = manager.set_up_run()
  File &quot;E:\google-windows-2\chromium-win-release-tests\build\Tools\Scripts\webkitpy\layout_tests\controllers\manager.py&quot;, line 845, in set_up_run
    if not self._port.check_sys_deps(self.needs_servers()):
  File &quot;E:\google-windows-2\chromium-win-release-tests\build\Tools\Scripts\webkitpy\layout_tests\port\chromium.py&quot;, line 145, in check_sys_deps
    result = super(ChromiumPort, self).check_sys_deps(needs_http)
  File &quot;E:\google-windows-2\chromium-win-release-tests\build\Tools\Scripts\webkitpy\layout_tests\port\base.py&quot;, line 192, in check_sys_deps
    return self.check_httpd()
  File &quot;E:\google-windows-2\chromium-win-release-tests\build\Tools\Scripts\webkitpy\layout_tests\port\base.py&quot;, line 240, in check_httpd
    env = self.setup_environ_for_server(server_name)
  File &quot;E:\google-windows-2\chromium-win-release-tests\build\Tools\Scripts\webkitpy\layout_tests\port\chromium_win.py&quot;, line 127, in setup_environ_for_server
    env[&quot;PATH&quot;] = &quot;%s;%s&quot; % (self.path_from_chromium_base(&quot;third_party&quot;, &quot;cygwin&quot;, &quot;bin&quot;), env[&quot;PATH&quot;])
KeyError: &apos;PATH&apos;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493012</commentid>
    <comment_count>13</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-10-29 21:32:11 -0700</bug_when>
    <thetext>http://build.webkit.org/builders/Chromium%20Win%20Release%20%28Tests%29/builds/20276/steps/layout-test/logs/stdio</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493018</commentid>
    <comment_count>14</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-10-29 23:31:39 -0700</bug_when>
    <thetext>Sorry.  Changes like this one are very dangerous. :(  Will fix shortly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493027</commentid>
    <comment_count>15</comment_count>
      <attachid>112989</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-10-30 00:56:45 -0700</bug_when>
    <thetext>Created attachment 112989
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493028</commentid>
    <comment_count>16</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-10-30 00:57:15 -0700</bug_when>
    <thetext>Committed r98825: &lt;http://trac.webkit.org/changeset/98825&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493029</commentid>
    <comment_count>17</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-10-30 00:57:49 -0700</bug_when>
    <thetext>Turns out that we already had tests which would have caught this CrWin regression.  But those tests were only enabled on windows!  The fix was simple.  But it was a big change to actually fix those unittests to run everywhere. :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493054</commentid>
    <comment_count>18</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-10-30 10:54:47 -0700</bug_when>
    <thetext>It appears that cr-win is still broken :(

http://build.webkit.org/builders/Chromium%20Win%20Release%20%28Tests%29/builds/20279/steps/layout-test/logs/stdio</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493067</commentid>
    <comment_count>19</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-10-30 13:01:37 -0700</bug_when>
    <thetext>I suspect CrWin expects more environment to be transfered to lighttpd when called.

I can make Chromium ports copy the entire environment over instead?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493068</commentid>
    <comment_count>20</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-10-30 13:02:25 -0700</bug_when>
    <thetext>rniwa, dpranke: could you point me to the chromium master config for that bot?  It&apos;s possible it&apos;s explicitly setting some environment variable I&apos;m supposed to be passing to lighttpd</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493074</commentid>
    <comment_count>21</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-10-30 13:26:12 -0700</bug_when>
    <thetext>http://trac.webkit.org/browser/trunk/Tools/BuildSlaveSupport/build.webkit.org-config/master.cfg

I don&apos;t see anything special for cr-win though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493090</commentid>
    <comment_count>22</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-10-30 15:23:33 -0700</bug_when>
    <thetext>I will make CrWin copy the entire environment over.  Fixing now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493091</commentid>
    <comment_count>23</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-10-30 15:42:46 -0700</bug_when>
    <thetext>Committed r98830: &lt;http://trac.webkit.org/changeset/98830&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493092</commentid>
    <comment_count>24</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-10-30 15:43:15 -0700</bug_when>
    <thetext>Hopefully that will fix things.  Let me know if you see any further trouble.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493099</commentid>
    <comment_count>25</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-10-30 16:39:52 -0700</bug_when>
    <thetext>(In reply to comment #24)
&gt; Hopefully that will fix things.  Let me know if you see any further trouble.

It appears that bevc is conducting a scheduled maintenance on the Chromium bots so we&apos;d have to wait until bots come back to see this fix worked or not.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493100</commentid>
    <comment_count>26</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-10-30 16:47:25 -0700</bug_when>
    <thetext>Hm... it appears that you broke 3 cr-win tests on Mac bots:
http://build.webkit.org/builders/SnowLeopard%20Intel%20Release%20%28Tests%29/builds/34309/steps/webkitpy-test/logs/stdio</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493101</commentid>
    <comment_count>27</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-10-30 16:49:03 -0700</bug_when>
    <thetext>At this point, I think we should roll these patches out. We&apos;ve been piling unreviewed fixes on top of each other, and breaking different things at times.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493110</commentid>
    <comment_count>28</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-10-30 18:11:35 -0700</bug_when>
    <thetext>Still broken:
http://build.webkit.org/builders/Chromium%20Win%20Release%20%28Tests%29/builds/20282/steps/layout-test/logs/stdio</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493122</commentid>
    <comment_count>29</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-10-30 18:43:30 -0700</bug_when>
    <thetext>I&apos;m going to rollout these changesets for now since we&apos;re losing 100% of layout test coverage due to this failure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493125</commentid>
    <comment_count>30</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-10-30 18:50:20 -0700</bug_when>
    <thetext>Reopen the bug since the changeset was rolled out in http://trac.webkit.org/changeset/98833.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493128</commentid>
    <comment_count>31</comment_count>
      <attachid>112989</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-30 18:53:18 -0700</bug_when>
    <thetext>Comment on attachment 112989
Patch for landing

Rejecting attachment 112989 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 2

Last 500 characters of output:
t_tests/port/base.py.rej
patching file Tools/Scripts/webkitpy/layout_tests/port/chromium.py
patching file Tools/Scripts/webkitpy/layout_tests/port/chromium_unittest.py
patching file Tools/Scripts/webkitpy/layout_tests/port/chromium_win.py
patching file Tools/Scripts/webkitpy/layout_tests/port/chromium_win_unittest.py
patching file Tools/Scripts/webkitpy/layout_tests/port/google_chrome_unittest.py

Failed to run &quot;[u&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply&apos;, u&apos;--force&apos;]&quot; exit_code: 1

Full output: http://queues.webkit.org/results/10245205</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493139</commentid>
    <comment_count>32</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-10-30 20:52:36 -0700</bug_when>
    <thetext>Thanks for your help, rniwa.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>499326</commentid>
    <comment_count>33</comment_count>
      <attachid>114358</attachid>
    <who name="">vanuan</who>
    <bug_when>2011-11-09 13:53:40 -0800</bug_when>
    <thetext>Created attachment 114358
Set LC_ALL to C

The quickest fix for Unix environments would be to set &quot;LC_ALL&quot; to &quot;C&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>499329</commentid>
    <comment_count>34</comment_count>
      <attachid>114358</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-11-09 13:56:19 -0800</bug_when>
    <thetext>Comment on attachment 114358
Set LC_ALL to C

Yes, I have a more complete fix which I&quot;ll be posting shortly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>499342</commentid>
    <comment_count>35</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-11-09 14:09:08 -0800</bug_when>
    <thetext>vanuan: I&apos;m happy to chat about this, and other bugs more on #webkit if you&apos;re around.  I&apos;m there as eseidel or eseidel2.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>499444</commentid>
    <comment_count>36</comment_count>
    <who name="">vanuan</who>
    <bug_when>2011-11-09 16:11:50 -0800</bug_when>
    <thetext>Seems like tests are expecting LC_ALL = &quot;En_US&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>500086</commentid>
    <comment_count>37</comment_count>
    <who name="">vanuan</who>
    <bug_when>2011-11-10 11:56:17 -0800</bug_when>
    <thetext>To fix all locale dependent tests I have applied this patch:

===================================================================
--- base.py	(revision 99472)
+++ base.py	(working copy)
@@ -652,7 +652,14 @@
         Returns:
            Operating-system&apos;s environment.
         &quot;&quot;&quot;
-        return os.environ.copy()
+        env = os.environ.copy()
+        &quot;&quot;&quot; This is a hack (tests shouldn&apos;t be locale dependent).
+            Works only in unix environments.
+        &quot;&quot;&quot;
+        env[&apos;LANGUAGE&apos;]=&apos;en&apos;
+        env[&apos;LC_MESSAGES&apos;]=&apos;en_US.utf8&apos;
+        env[&apos;LANG&apos;]=&apos;en_US.UTF-8&apos;
+        return env


Waiting for a more complete fix though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>502180</commentid>
    <comment_count>38</comment_count>
      <attachid>115004</attachid>
    <who name="">vanuan</who>
    <bug_when>2011-11-14 12:24:11 -0800</bug_when>
    <thetext>Created attachment 115004
Patch to land</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>502185</commentid>
    <comment_count>39</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-14 12:28:19 -0800</bug_when>
    <thetext>Attachment 115004 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Tools/ChangeLog&apos;, u&apos;Tools/Scripts/webkitpy...&quot; exit_code: 1

Tools/Scripts/webkitpy/layout_tests/port/base.py:661:  missing whitespace around operator  [pep8/E225] [5]
Tools/Scripts/webkitpy/layout_tests/port/base.py:662:  missing whitespace around operator  [pep8/E225] [5]
Tools/Scripts/webkitpy/layout_tests/port/base.py:663:  missing whitespace around operator  [pep8/E225] [5]
Total errors found: 3 in 2 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>502186</commentid>
    <comment_count>40</comment_count>
      <attachid>115004</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-11-14 12:29:27 -0800</bug_when>
    <thetext>Comment on attachment 115004
Patch to land

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

&gt; Tools/ChangeLog:1
&gt; +2011-11-14  Vanuan  &lt;vanuan@gmail.com&gt;

Normally we use our full names in ChangeLogs.

&gt; Tools/ChangeLog:194
&gt; +&gt;&gt;&gt;&gt;&gt;&gt;&gt; .r100139

Conflict marker.

&gt; Tools/Scripts/webkitpy/layout_tests/port/base.py:660
&gt; +        &quot;&quot;&quot; This is a hack (tests shouldn&apos;t be locale dependent).
&gt; +            Works only in unix environments.
&gt; +        &quot;&quot;&quot;

I would have made this a comment instead of a doc-string.  I also would have used the keyword FIXME: at the beginning to it&apos;s easily searchable.

Something like this:
# FIXME: This is a hack.  Tests should not be locale dependent.  This only works in unix environments.

&gt; Tools/Scripts/webkitpy/layout_tests/port/base.py:663
&gt; +        env[&apos;LANGUAGE&apos;]=&apos;en&apos;
&gt; +        env[&apos;LC_MESSAGES&apos;]=&apos;en_US.utf8&apos;
&gt; +        env[&apos;LANG&apos;]=&apos;en_US.UTF-8&apos;

Also, this should go in setup_environ_for_server instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>502187</commentid>
    <comment_count>41</comment_count>
      <attachid>115005</attachid>
    <who name="">vanuan</who>
    <bug_when>2011-11-14 12:29:59 -0800</bug_when>
    <thetext>Created attachment 115005
Patch for landing

Oops, my changelog was wrong</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>502190</commentid>
    <comment_count>42</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-14 12:31:24 -0800</bug_when>
    <thetext>Attachment 115005 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Tools/ChangeLog&apos;, u&apos;Tools/Scripts/webkitpy...&quot; exit_code: 1

Tools/Scripts/webkitpy/layout_tests/port/base.py:661:  missing whitespace around operator  [pep8/E225] [5]
Tools/Scripts/webkitpy/layout_tests/port/base.py:662:  missing whitespace around operator  [pep8/E225] [5]
Tools/Scripts/webkitpy/layout_tests/port/base.py:663:  missing whitespace around operator  [pep8/E225] [5]
Total errors found: 3 in 2 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>502196</commentid>
    <comment_count>43</comment_count>
      <attachid>115008</attachid>
    <who name="">vanuan</who>
    <bug_when>2011-11-14 12:35:50 -0800</bug_when>
    <thetext>Created attachment 115008
Patch

Hopefully, fixed style errors</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>502216</commentid>
    <comment_count>44</comment_count>
      <attachid>115013</attachid>
    <who name="">vanuan</who>
    <bug_when>2011-11-14 12:49:13 -0800</bug_when>
    <thetext>Created attachment 115013
Patch

Updated with review comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>502227</commentid>
    <comment_count>45</comment_count>
      <attachid>115013</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-11-14 13:00:27 -0800</bug_when>
    <thetext>Comment on attachment 115013
Patch

Ok, one last step.  You should unittest this.  It&apos;s very simple.  See http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/layout_tests/port/base_unittest.py  Add a test_setup_environ_for_server(self) test which uses self.assertEquals(env[&apos;LANGUAGE&apos;], &apos;en&apos;), etc. to verify that these are set correctly, and then run test-webkitpy to make sure everything still works.

That&apos;s the final piece.  Otherwise looks great.  Thank you for your efforts.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>502236</commentid>
    <comment_count>46</comment_count>
      <attachid>115018</attachid>
    <who name="">vanuan</who>
    <bug_when>2011-11-14 13:17:17 -0800</bug_when>
    <thetext>Created attachment 115018
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>502291</commentid>
    <comment_count>47</comment_count>
      <attachid>115018</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-11-14 14:10:46 -0800</bug_when>
    <thetext>Comment on attachment 115018
Patch

Fantastic!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>502292</commentid>
    <comment_count>48</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-11-14 14:11:35 -0800</bug_when>
    <thetext>I will land my more complicated patch again (using a separate bug) later this week.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>502319</commentid>
    <comment_count>49</comment_count>
      <attachid>115018</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-14 14:29:20 -0800</bug_when>
    <thetext>Comment on attachment 115018
Patch

Clearing flags on attachment: 115018

Committed r100192: &lt;http://trac.webkit.org/changeset/100192&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>502321</commentid>
    <comment_count>50</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-14 14:29:28 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>502452</commentid>
    <comment_count>51</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-11-14 16:39:11 -0800</bug_when>
    <thetext>This make lots of failures like this:

http://build.webkit.org/results/SnowLeopard%20Intel%20Release%20(Tests)/r100194%20(34692)/fast/repaint/moving-shadow-on-path-pretty-diff.html?format=txt</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>502455</commentid>
    <comment_count>52</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-11-14 16:41:37 -0800</bug_when>
    <thetext>That&apos;s so odd.  The change was designed to fix exactly those sorts of failures.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>502460</commentid>
    <comment_count>53</comment_count>
      <attachid>115018</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-11-14 16:45:10 -0800</bug_when>
    <thetext>Comment on attachment 115018
Patch

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

&gt; Tools/Scripts/webkitpy/layout_tests/port/base.py:660
&gt; +        env[&apos;LANGUAGE&apos;] = &apos;en&apos;

My theory is that maybe &quot;en&quot; is being interpreted as &quot;en_gb&quot; on mac somehow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>503396</commentid>
    <comment_count>54</comment_count>
      <attachid>115018</attachid>
    <who name="">vanuan</who>
    <bug_when>2011-11-15 16:07:28 -0800</bug_when>
    <thetext>Comment on attachment 115018
Patch

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

&gt;&gt; Tools/Scripts/webkitpy/layout_tests/port/base.py:660
&gt;&gt; +        env[&apos;LANGUAGE&apos;] = &apos;en&apos;
&gt; 
&gt; My theory is that maybe &quot;en&quot; is being interpreted as &quot;en_gb&quot; on mac somehow.

That&apos;s what I was afraid of. I didn&apos;t test on mac.
Well, decimal point in en_GB locale is also &apos;.&apos;, so it&apos;s probably not the case.
More strangely, tests didn&apos;t fail on Lion Intel</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>505152</commentid>
    <comment_count>55</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-11-17 13:34:02 -0800</bug_when>
    <thetext>John&apos;s patch was rolled out in bug 72328.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>505191</commentid>
    <comment_count>56</comment_count>
      <attachid>115673</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-11-17 14:05:38 -0800</bug_when>
    <thetext>Created attachment 115673
updated to tip of tree</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>505204</commentid>
    <comment_count>57</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-11-17 14:13:50 -0800</bug_when>
    <thetext>Committed r100674: &lt;http://trac.webkit.org/changeset/100674&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>505771</commentid>
    <comment_count>58</comment_count>
    <who name="">vanuan</who>
    <bug_when>2011-11-18 07:28:18 -0800</bug_when>
    <thetext>Seems like it is not finished yet.

I have a russian locale and I see the python exception:

File &quot;/home/vanya/git-repos/opensource/webkit/WebKit/Tools/Scripts/webkitpy/common/checkout/scm/svn.py&quot;, line 103, in value_from_svn_info
    raise ScriptError(script_args=svn_info_args, message=&apos;svn info did not contain a %s.&apos; % field_name)
webkitpy.common.system.executive.ScriptError: svn info did not contain a Repository UUID.

It is because svn info when run under russian locale shows:

Путь: &apos;.&apos;
URL: http://svn.webkit.org/repository/webkit/trunk
Корень репозитория: http://svn.webkit.org/repository/webkit
UUID репозитория: 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Редакция: 100736
Вид узла: каталог
Задано: нормально
Автор последнего изменения: hausmann@webkit.org
Редакция последнего изменения: 100736
Дата последнего изменения: 2011-11-18 12:27:25 +0200 (Пт., 18 нояб. 2011)

So script can&apos;t parse russian equivalent of &apos;Repository UUID&apos;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>505939</commentid>
    <comment_count>59</comment_count>
    <who name="">vanuan</who>
    <bug_when>2011-11-18 11:31:41 -0800</bug_when>
    <thetext>The bug is not fixed for me. I still have 500+ tests failing.
Actually, I don&apos;t see how the latest patch intends to fix this bug. I don&apos;t see it overrides LC_ALL and LANG anywhere.

It&apos;s not NRWT issue. Tests are failing even when I run ORWT under non-english locale.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>505944</commentid>
    <comment_count>60</comment_count>
      <attachid>115842</attachid>
    <who name="">vanuan</who>
    <bug_when>2011-11-18 11:55:13 -0800</bug_when>
    <thetext>Created attachment 115842
Patch

Override LANG, LANGUAGE and LC_ALL to use en_US.UTF-8</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>505947</commentid>
    <comment_count>61</comment_count>
      <attachid>115842</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-11-18 11:58:38 -0800</bug_when>
    <thetext>Comment on attachment 115842
Patch

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

&gt; Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py:414
&gt; +    locale.setlocale(locale.LC_ALL, &apos;&apos;)

Why is empty string the right value for this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>505971</commentid>
    <comment_count>62</comment_count>
      <attachid>115842</attachid>
    <who name="">vanuan</who>
    <bug_when>2011-11-18 12:23:10 -0800</bug_when>
    <thetext>Comment on attachment 115842
Patch

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

&gt;&gt; Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py:414
&gt;&gt; +    locale.setlocale(locale.LC_ALL, &apos;&apos;)
&gt; 
&gt; Why is empty string the right value for this?

When LC_ALL is empty, locale is set to user setting specified in LANG or LANGUAGE variable.
http://docs.python.org/library/locale.html#locale.setlocale
Hm, I&apos;ve realized that this might fail on windows.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>505981</commentid>
    <comment_count>63</comment_count>
      <attachid>115850</attachid>
    <who name="">vanuan</who>
    <bug_when>2011-11-18 12:55:25 -0800</bug_when>
    <thetext>Created attachment 115850
Patch

See new patch with exception handling</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>505987</commentid>
    <comment_count>64</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-18 13:02:45 -0800</bug_when>
    <thetext>Attachment 115850 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Tools/ChangeLog&apos;, u&apos;Tools/Scripts/webkitpy...&quot; exit_code: 1

Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py:410:  expected 2 blank lines, found 1  [pep8/E302] [5]
Total errors found: 1 in 2 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>505998</commentid>
    <comment_count>65</comment_count>
      <attachid>115856</attachid>
    <who name="">vanuan</who>
    <bug_when>2011-11-18 13:15:34 -0800</bug_when>
    <thetext>Created attachment 115856
Patch

Fix style</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>507145</commentid>
    <comment_count>66</comment_count>
      <attachid>116119</attachid>
    <who name="">vanuan</who>
    <bug_when>2011-11-21 12:56:40 -0800</bug_when>
    <thetext>Created attachment 116119
patch

review anybody?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>507161</commentid>
    <comment_count>67</comment_count>
      <attachid>116119</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-11-21 13:04:34 -0800</bug_when>
    <thetext>Comment on attachment 116119
patch

This seems like a rather large hammer.  This also won&apos;t help test-webkitpy (which will still fail for you, no?)

I would put this somewhere more central.  Possibly on Host() itself?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>507819</commentid>
    <comment_count>68</comment_count>
      <attachid>115018</attachid>
    <who name="">vanuan</who>
    <bug_when>2011-11-22 14:33:16 -0800</bug_when>
    <thetext>Comment on attachment 115018
Patch

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

&gt; Tools/Scripts/webkitpy/layout_tests/port/base.py:661
&gt; +        env[&apos;LC_MESSAGES&apos;] = &apos;en_US.utf8&apos;

Ok, I&apos;ve figured it out. It should&apos;ve been &apos;en_US.UTF-8&apos;. &apos;en_US.utf8&apos; is invalid locale under Snow Leopard, so the default value is set.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>507836</commentid>
    <comment_count>69</comment_count>
      <attachid>116280</attachid>
    <who name="">vanuan</who>
    <bug_when>2011-11-22 15:16:32 -0800</bug_when>
    <thetext>Created attachment 116280
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>508222</commentid>
    <comment_count>70</comment_count>
      <attachid>116280</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-11-23 10:34:32 -0800</bug_when>
    <thetext>Comment on attachment 116280
Patch

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

&gt; Tools/Scripts/webkitpy/common/system/executive.py:400
&gt; +                    env=os.environ.copy(),
&gt; +                    locale_string=&apos;en_US.UTF-8&apos;,

In python it&apos;s important to use None for these default values, as they&apos;re static.  The env that you are creating here is cretaed once, and shared between all calls to run_command as the default value.  Especially since you modify it, it will get confused and not do what you want.

&gt; Tools/Scripts/webkitpy/common/system/executive.py:456
&gt; +    @staticmethod
&gt; +    def set_locale_environ(env, locale_string):
&gt; +        # Override locale
&gt; +        # FIXME works only in Unix environments.
&gt; +        env[&apos;LANGUAGE&apos;] = locale_string.split(&apos;_&apos;)[0]
&gt; +        env[&apos;LANG&apos;] = locale_string
&gt; +        env[&apos;LC_MESSAGES&apos;] = locale_string
&gt; +        env[&apos;LC_ALL&apos;] = &apos;&apos;
&gt; +        return env
&gt; +

We should just move this onto Host, like engage_awesome_svn_hacks is.  This is also a hack, and we can come up with something better over time, but doing this on Host is fine for now.

We shoulldn&apos;t be modifying global state from some random run_command call.

&gt; Tools/Scripts/webkitpy/layout_tests/port/base.py:693
&gt; +        # Override locale
&gt; +        clean_env = Executive.set_locale_environ(clean_env, &apos;en_US.UTF-8&apos;)

This function would do better on Environment, but I don&apos;t think I&apos;ve landed that yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>508249</commentid>
    <comment_count>71</comment_count>
      <attachid>116280</attachid>
    <who name="">vanuan</who>
    <bug_when>2011-11-23 11:12:13 -0800</bug_when>
    <thetext>Comment on attachment 116280
Patch

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

&gt;&gt; Tools/Scripts/webkitpy/common/system/executive.py:400
&gt;&gt; +                    locale_string=&apos;en_US.UTF-8&apos;,
&gt; 
&gt; In python it&apos;s important to use None for these default values, as they&apos;re static.  The env that you are creating here is cretaed once, and shared between all calls to run_command as the default value.  Especially since you modify it, it will get confused and not do what you want.

So, you recommend something like this:
if env is None:
    env=os.environ.copy()
?

Or I can&apos;t change parameters at all and should use copies everywhere?

&gt; Tools/Scripts/webkitpy/common/system/executive.py:415
&gt; +        self.set_locale_environ(env, locale_string)

Is it ok?

&gt;&gt; Tools/Scripts/webkitpy/common/system/executive.py:456
&gt;&gt; +
&gt; 
&gt; We should just move this onto Host, like engage_awesome_svn_hacks is.  This is also a hack, and we can come up with something better over time, but doing this on Host is fine for now.
&gt; 
&gt; We shoulldn&apos;t be modifying global state from some random run_command call.

So, should I just move this static method to Host and use Host.set_locale_environ()?

&gt;&gt; Tools/Scripts/webkitpy/layout_tests/port/base.py:693

&gt; 
&gt; This function would do better on Environment, but I don&apos;t think I&apos;ve landed that yet.

So? Is it fine for now?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>508387</commentid>
    <comment_count>72</comment_count>
      <attachid>116425</attachid>
    <who name="">vanuan</who>
    <bug_when>2011-11-23 14:12:42 -0800</bug_when>
    <thetext>Created attachment 116425
Patch

Any luck this is a good patch?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>508391</commentid>
    <comment_count>73</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-23 14:18:02 -0800</bug_when>
    <thetext>Attachment 116425 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Tools/ChangeLog&apos;, u&apos;Tools/Scripts/webkitpy...&quot; exit_code: 1

Traceback (most recent call last):
  File &quot;Tools/Scripts/check-webkit-style&quot;, line 42, in &lt;module&gt;
    from webkitpy.style.main import CheckWebKitStyle
  File &quot;/mnt/git/webkit-style-queue/Tools/Scripts/webkitpy/style/main.py&quot;, line 27, in &lt;module&gt;
    import webkitpy.style.checker as checker
  File &quot;/mnt/git/webkit-style-queue/Tools/Scripts/webkitpy/style/checker.py&quot;, line 43, in &lt;module&gt;
    from checkers.test_expectations import TestExpectationsChecker
  File &quot;/mnt/git/webkit-style-queue/Tools/Scripts/webkitpy/style/checkers/test_expectations.py&quot;, line 37, in &lt;module&gt;
    from webkitpy.common.host import Host
  File &quot;/mnt/git/webkit-style-queue/Tools/Scripts/webkitpy/common/host.py&quot;, line 37, in &lt;module&gt;
    from webkitpy.common.net.buildbot.chromiumbuildbot import ChromiumBuildBot
  File &quot;/mnt/git/webkit-style-queue/Tools/Scripts/webkitpy/common/net/buildbot/chromiumbuildbot.py&quot;, line 32, in &lt;module&gt;
    from webkitpy.layout_tests.port.builders import builder_path_from_name
  File &quot;/mnt/git/webkit-style-queue/Tools/Scripts/webkitpy/layout_tests/port/__init__.py&quot;, line 34, in &lt;module&gt;
    from base import Port  # It&apos;s possible we don&apos;t need to export this virtual baseclass outside the module.
  File &quot;/mnt/git/webkit-style-queue/Tools/Scripts/webkitpy/layout_tests/port/base.py&quot;, line 49, in &lt;module&gt;
    from webkitpy.common.host import Host
ImportError: cannot import name Host


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>508395</commentid>
    <comment_count>74</comment_count>
    <who name="">vanuan</who>
    <bug_when>2011-11-23 14:21:52 -0800</bug_when>
    <thetext>I&apos;ve placed a function to Host as you suggested, but I&apos;ve encountered circular dependencies when I&apos;m trying to use that :(

I&apos;m giving up...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>508404</commentid>
    <comment_count>75</comment_count>
      <attachid>116429</attachid>
    <who name="">vanuan</who>
    <bug_when>2011-11-23 14:28:14 -0800</bug_when>
    <thetext>Created attachment 116429
patch

Ok, last try.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>510089</commentid>
    <comment_count>76</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-11-28 12:48:45 -0800</bug_when>
    <thetext>Committed r101274: &lt;http://trac.webkit.org/changeset/101274&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>510091</commentid>
    <comment_count>77</comment_count>
      <attachid>116429</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-11-28 12:49:09 -0800</bug_when>
    <thetext>Comment on attachment 116429
patch

I modified your patch slightly and landed it</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>514588</commentid>
    <comment_count>78</comment_count>
    <who name="">vanuan</who>
    <bug_when>2011-12-03 15:22:09 -0800</bug_when>
    <thetext>Thanks you! NRWT is now working for me.

However, test-webkitpy still fails.

Maybe you could also apply the second part of my patch? (That is override locale for executive)

Strangely enough, but it seems like somehow os.environ is not used when value_from_svn_info  calls Executive().run_command.

Completely clean env resolves this issue:

Index: Tools/Scripts/webkitpy/common/checkout/scm/svn.py
===================================================================
--- Tools/Scripts/webkitpy/common/checkout/scm/svn.py	(revision 101932)
+++ Tools/Scripts/webkitpy/common/checkout/scm/svn.py	(working copy)
@@ -97,7 +97,7 @@
     def value_from_svn_info(cls, path, field_name):
         svn_info_args = [cls.executable_name, &apos;info&apos;]
         # FIXME: This method should use a passed in executive or be made an instance method and use self._executive.
-        info_output = Executive().run_command(svn_info_args, cwd=path).rstrip()
+        info_output = Executive().run_command(svn_info_args, env={}, cwd=path).rstrip()
         match = re.search(&quot;^%s: (?P&lt;value&gt;.+)$&quot; % field_name, info_output, re.MULTILINE)
         if not match:
             raise ScriptError(script_args=svn_info_args, message=&apos;svn info did not contain a %s.&apos; % field_name)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515326</commentid>
    <comment_count>79</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-12-05 12:58:32 -0800</bug_when>
    <thetext>We would just need to change test-webkitpy to instantiate a real Host() once, in order to have the environment hack engage.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1676509</commentid>
    <comment_count>80</comment_count>
      <attachid>405603</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2020-07-30 13:16:18 -0700</bug_when>
    <thetext>Created attachment 405603
Patch for landing (r101274)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1676512</commentid>
    <comment_count>81</comment_count>
      <attachid>405603</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2020-07-30 13:17:20 -0700</bug_when>
    <thetext>Comment on attachment 405603
Patch for landing (r101274)

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

&gt; Tools/Scripts/webkitpy/common/host.py:87
&gt; +        os.environ[&apos;LC_ALL&apos;] = &apos;&apos;

This causes a trouble for me.
Filed: Bug 214983 – webkitpy: If LC_ALL is set to a empty string, svn doesn&apos;t use the password store</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>112973</attachid>
            <date>2011-10-29 12:52:54 -0700</date>
            <delta_ts>2011-10-29 14:00:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-68691-20111029125253.patch</filename>
            <type>text/plain</type>
            <size>8318</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTg4MTAKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCBhYWE1NmMxNDkwNTJjNWE1NGQ5ZWQzOTFlMjYzNDhkZGNm
OWFiNzk1Li5lYWFmNTVjZDY0ODliYzRiZDMyZDIzMGNjMmIzZDUwNjJlODJkYzBkIDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMjQg
QEAKIDIwMTEtMTAtMjkgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgogCisgICAgICAg
IG5ldy1ydW4td2Via2l0LXRlc3RzIGlzIGxvY2FsZSBkZXBlbmRlbnQKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjkxCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWFrZSBOUldUIHVzZSBhIGNsZWFuIGVu
dmlyb25tZW50IGp1c3QgbGlrZSBPUldUIGRpZC4KKyAgICAgICAgSSd2ZSBtYW51YWxseSB2YWxp
ZGF0ZWQgdGhhdCBOUldUIG5vdyBjb3BpZXMgb3ZlcgorICAgICAgICB0aGUgc2FtZSBlbnZpcm9u
bWVudCB2YXJpYWJsZXMgdGhhdCBPUldUIGRpZC4KKyAgICAgICAgVGhpcyBuZXcgY29kZSBpcyBl
eGVyY2lzZWQgYnkgZXhpc3Rpbmcgc2V0dXBfZW52aXJvbl9mb3Jfc2VydmVyIHRlc3RzLgorCisg
ICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9iYXNlLnB5OgorICAg
ICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvZWZsLnB5OgorICAgICAg
ICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvbWFjLnB5OgorICAgICAgICAq
IFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvcXQucHk6CisgICAgICAgICogU2Ny
aXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC93ZWJraXQucHk6CisgICAgICAgICogU2Ny
aXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC93aW4ucHk6CisKKzIwMTEtMTAtMjkgIEVy
aWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgorCiAgICAgICAgIG5ldy1ydW4td2Via2l0LXRl
c3RzOiBNQVNURVIgQlVHOiBTd2l0Y2ggYWxsIHdlYmtpdC5vcmcgYm90cyBvdmVyCiAgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNDk4NAogCmRpZmYgLS1n
aXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Jhc2UucHkgYi9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Jhc2UucHkKaW5kZXggNDIy
YTA1ZGZiN2EyOGRiYTBmZDkxMWM5N2ZkNzBmZmRiZmU1YzM0OS4uMGEzMmUxMWRhYzVjMmFkNGQw
MGY4NDA5Zjg5ZWE4NDI4MWUxZGQ3OSAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9sYXlvdXRfdGVzdHMvcG9ydC9iYXNlLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
bGF5b3V0X3Rlc3RzL3BvcnQvYmFzZS5weQpAQCAtNjQ4LDEzICs2NDgsNDMgQEAgY2xhc3MgUG9y
dChvYmplY3QpOgogICAgICAgICAiIiJQZXJmb3JtIHBvcnQtc3BlY2lmaWMgd29yayBhdCB0aGUg
YmVnaW5uaW5nIG9mIGEgdGVzdCBydW4uIiIiCiAgICAgICAgIHBhc3MKIAotICAgIGRlZiBzZXR1
cF9lbnZpcm9uX2Zvcl9zZXJ2ZXIoc2VsZiwgc2VydmVyX25hbWU9Tm9uZSk6Ci0gICAgICAgICIi
IlBlcmZvcm0gcG9ydC1zcGVjaWZpYyB3b3JrIGF0IHRoZSBiZWdpbm5pbmcgb2YgYSBzZXJ2ZXIg
bGF1bmNoLgorICAgICMgRklYTUU6IG9zLmVudmlyb24gYWNjZXNzIHNob3VsZCBiZSBtb3ZlZCB0
byBvbnRvIGEgY29tbW9uL3N5c3RlbSBjbGFzcyB0byBiZSBtb3JlIGVhc2lseSBtb2NrYWJsZS4K
KyAgICBkZWYgX3ZhbHVlX29yX2RlZmF1bHRfZnJvbV9lbnZpcm9uKHNlbGYsIG5hbWUsIGRlZmF1
bHQ9Tm9uZSk6CisgICAgICAgIGlmIG5hbWUgaW4gb3MuZW52aXJvbjoKKyAgICAgICAgICAgIHJl
dHVybiBvcy5lbnZpcm9uW25hbWVdCisgICAgICAgIHJldHVybiBkZWZhdWx0CiAKLSAgICAgICAg
UmV0dXJuczoKLSAgICAgICAgICAgT3BlcmF0aW5nLXN5c3RlbSdzIGVudmlyb25tZW50LgotICAg
ICAgICAiIiIKLSAgICAgICAgcmV0dXJuIG9zLmVudmlyb24uY29weSgpCisgICAgZGVmIF9jb3B5
X3ZhbHVlX2Zyb21fZW52aXJvbl9pZl9zZXQoc2VsZiwgY2xlYW5fZW52LCBuYW1lKToKKyAgICAg
ICAgaWYgbmFtZSBpbiBvcy5lbnZpcm9uOgorICAgICAgICAgICAgY2xlYW5fZW52W25hbWVdID0g
b3MuZW52aXJvbltuYW1lXQorCisgICAgZGVmIHNldHVwX2Vudmlyb25fZm9yX3NlcnZlcihzZWxm
LCBzZXJ2ZXJfbmFtZT1Ob25lKToKKyAgICAgICAgIyBXZSBpbnRlbnRpb25hbGx5IGNvcHkgb25s
eSBhIHN1YnNldCBvZiBvcy5lbnZpcm9uIHdoZW4KKyAgICAgICAgIyBsYXVuY2hpbmcgc3VicHJv
Y2Vzc2VzIHRvIGVuc3VyZSBjb25zaXN0ZW50IHRlc3QgcmVzdWx0cy4KKyAgICAgICAgY2xlYW5f
ZW52ID0ge30KKyAgICAgICAgdmFyaWFibGVzX3RvX2NvcHkgPSBbCisgICAgICAgICAgICAjIEZv
ciBMaW51eDoKKyAgICAgICAgICAgICdYQVVUSE9SSVRZJywKKyAgICAgICAgICAgICdIT01FJywK
KyAgICAgICAgICAgICdMQU5HJywKKyAgICAgICAgICAgICdMRF9MSUJSQVJZX1BBVEgnLAorICAg
ICAgICAgICAgJ0RCVVNfU0VTU0lPTl9CVVNfQUREUkVTUycsCisKKyAgICAgICAgICAgICMgRGFy
d2luOgorICAgICAgICAgICAgJ0RZTERfTElCUkFSWV9QQVRIJywKKyAgICAgICAgICAgICdIT01F
JywKKworICAgICAgICAgICAgIyBDWUdXSU46CisgICAgICAgICAgICAnSE9NRURSSVZFJywKKyAg
ICAgICAgICAgICdIT01FUEFUSCcsCisgICAgICAgICAgICAnX05UX1NZTUJPTF9QQVRIJywKKyAg
ICAgICAgXQorICAgICAgICBmb3IgdmFyaWFibGUgaW4gdmFyaWFibGVzX3RvX2NvcHk6CisgICAg
ICAgICAgICBzZWxmLl9jb3B5X3ZhbHVlX2Zyb21fZW52aXJvbl9pZl9zZXQoY2xlYW5fZW52LCB2
YXJpYWJsZSkKKworICAgICAgICAjIEZvciBMaW51eDoKKyAgICAgICAgY2xlYW5fZW52WydESVNQ
TEFZJ10gPSBzZWxmLl92YWx1ZV9vcl9kZWZhdWx0X2Zyb21fZW52aXJvbignRElTUExBWScsICc6
MScpCisgICAgICAgIHJldHVybiBjbGVhbl9lbnYKIAogICAgIGRlZiBzaG93X3Jlc3VsdHNfaHRt
bF9maWxlKHNlbGYsIHJlc3VsdHNfZmlsZW5hbWUpOgogICAgICAgICAiIiJUaGlzIHJvdXRpbmUg
c2hvdWxkIGRpc3BsYXkgdGhlIEhUTUwgZmlsZSBwb2ludGVkIGF0IGJ5CmRpZmYgLS1naXQgYS9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2VmbC5weSBiL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvZWZsLnB5CmluZGV4IDI3ZDM3M2JkZGEw
MjQ3MTk4NDMwOTBiYjU2MTk5N2JmMDc4OTJjMjMuLmE1Nzc0MjM3YjZjM2ZhNzQzYjgzNzczNzBh
MzU2MjE2NzQ3Mzg3ZDggMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0
X3Rlc3RzL3BvcnQvZWZsLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rl
c3RzL3BvcnQvZWZsLnB5CkBAIC00Nyw5ICs0Nyw2IEBAIGNsYXNzIEVmbFBvcnQod2Via2l0Lldl
YktpdFBvcnQpOgogICAgIGRlZiBfcG9ydF9mbGFnX2Zvcl9zY3JpcHRzKHNlbGYpOgogICAgICAg
ICByZXR1cm4gIi0tZWZsIgogCi0gICAgZGVmIHNldHVwX2Vudmlyb25fZm9yX3NlcnZlcihzZWxm
LCBzZXJ2ZXJfbmFtZT1Ob25lKToKLSAgICAgICAgcmV0dXJuIHdlYmtpdC5XZWJLaXRQb3J0LnNl
dHVwX2Vudmlyb25fZm9yX3NlcnZlcihzZWxmLCBzZXJ2ZXJfbmFtZSkKLQogICAgIGRlZiBfZ2Vu
ZXJhdGVfYWxsX3Rlc3RfY29uZmlndXJhdGlvbnMoc2VsZik6CiAgICAgICAgIHJldHVybiBbVGVz
dENvbmZpZ3VyYXRpb24odmVyc2lvbj1zZWxmLl92ZXJzaW9uLCBhcmNoaXRlY3R1cmU9J3g4Nics
IGJ1aWxkX3R5cGU9YnVpbGRfdHlwZSwgZ3JhcGhpY3NfdHlwZT0nY3B1JykgZm9yIGJ1aWxkX3R5
cGUgaW4gc2VsZi5BTExfQlVJTERfVFlQRVNdCiAKQEAgLTU5LDE2ICs1NiwxNyBAQCBjbGFzcyBF
ZmxQb3J0KHdlYmtpdC5XZWJLaXRQb3J0KToKICAgICBkZWYgX3BhdGhfdG9faW1hZ2VfZGlmZihz
ZWxmKToKICAgICAgICAgcmV0dXJuIHNlbGYuX2J1aWxkX3BhdGgoJ1Byb2dyYW1zJywgJ0ltYWdl
RGlmZicpCiAKKyAgICAjIEZJWE1FOiBJIGRvdWJsdCBFRkwgd2FudHMgdG8gb3ZlcnJpZGUgdGhp
cyBtZXRob2QuCiAgICAgZGVmIGNoZWNrX2J1aWxkKHNlbGYsIG5lZWRzX2h0dHApOgogICAgICAg
ICByZXR1cm4gc2VsZi5fY2hlY2tfZHJpdmVyKCkKIAogICAgIGRlZiBfcGF0aF90b193ZWJjb3Jl
X2xpYnJhcnkoc2VsZik6CiAgICAgICAgIHN0YXRpY19wYXRoID0gc2VsZi5fYnVpbGRfcGF0aCgn
V2ViQ29yZScsICdsaWJ3ZWJjb3JlX2VmbC5hJykKICAgICAgICAgZHluX3BhdGggPSBzZWxmLl9i
dWlsZF9wYXRoKCdXZWJDb3JlJywgJ2xpYndlYmNvcmVfZWZsLnNvJykKLQogICAgICAgICByZXR1
cm4gc3RhdGljX3BhdGggaWYgc2VsZi5fZmlsZXN5c3RlbS5leGlzdHMoc3RhdGljX3BhdGgpIGVs
c2UgZHluX3BhdGgKIAogICAgIGRlZiBfcnVudGltZV9mZWF0dXJlX2xpc3Qoc2VsZik6CisgICAg
ICAgICMgRklYTUU6IEVGTCBzaG91bGQgZGV0ZWN0IHJ1bnRpbWUgZmVhdHVyZXMgbGlrZSBvdGhl
ciB3ZWJraXQgcG9ydHMgZG8uCiAgICAgICAgIHJldHVybiBOb25lCiAKICAgICBkZWYgc2hvd19y
ZXN1bHRzX2h0bWxfZmlsZShzZWxmLCByZXN1bHRzX2ZpbGVuYW1lKToKZGlmZiAtLWdpdCBhL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvbWFjLnB5IGIvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9tYWMucHkKaW5kZXggNTVhMDZhNjRmZjk1
ODAxMGUwNTUzZjk3ZDQ3MDU2NzFkNjQxOTFiZS4uZGZkNzc3NDUxMTI1M2M2OGFjM2VkZDA3MWIx
MGRlZWM5ZTc1NTc1OSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRf
dGVzdHMvcG9ydC9tYWMucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVz
dHMvcG9ydC9tYWMucHkKQEAgLTEwMiw2ICsxMDIsNyBAQCBjbGFzcyBNYWNQb3J0KEFwcGxlUG9y
dCk6CiAgICAgICAgICAgICAgICAgZW52WydNYWxsb2NTdGFja0xvZ2dpbmcnXSA9ICcxJwogICAg
ICAgICAgICAgaWYgc2VsZi5nZXRfb3B0aW9uKCdndWFyZF9tYWxsb2MnKToKICAgICAgICAgICAg
ICAgICBlbnZbJ0RZTERfSU5TRVJUX0xJQlJBUklFUyddID0gJy91c3IvbGliL2xpYmdtYWxsb2Mu
ZHlsaWInCisgICAgICAgIGVudlsnWE1MX0NBVEFMT0dfRklMRVMnXSA9ICcnICAjIHdvcmsgYXJv
dW5kIG1pc3NpbmcgL2V0Yy9jYXRhbG9nIDxyZGFyOi8vcHJvYmxlbS80MjkyOTk1PgogICAgICAg
ICByZXR1cm4gZW52CiAKICAgICAjIEJlbG9uZ3Mgb24gYSBQbGF0Zm9ybSBvYmplY3QuCmRpZmYg
LS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3F0LnB5IGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9xdC5weQppbmRleCBhOTBh
MzYyZjNhN2MyOGNiODYwYzAyMzcyODU2ZDBlOGE0YTY2OTJhLi5kMmZmMTlmNTlmYWY3MmYzZTM5
OGRhYTI4ZDRlYzg0YzBhMjQ5Zjg4IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L2xheW91dF90ZXN0cy9wb3J0L3F0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5
b3V0X3Rlc3RzL3BvcnQvcXQucHkKQEAgLTE0MSw4ICsxNDEsOSBAQCBjbGFzcyBRdFBvcnQoV2Vi
S2l0UG9ydCk6CiAgICAgICAgIHJldHVybiBOb25lCiAKICAgICBkZWYgc2V0dXBfZW52aXJvbl9m
b3Jfc2VydmVyKHNlbGYsIHNlcnZlcl9uYW1lPU5vbmUpOgotICAgICAgICBlbnYgPSBXZWJLaXRQ
b3J0LnNldHVwX2Vudmlyb25fZm9yX3NlcnZlcihzZWxmLCBzZXJ2ZXJfbmFtZSkKLSAgICAgICAg
ZW52WydRVFdFQktJVF9QTFVHSU5fUEFUSCddID0gc2VsZi5fYnVpbGRfcGF0aCgnbGliL3BsdWdp
bnMnKQorICAgICAgICBjbGVhbl9lbnYgPSBXZWJLaXRQb3J0LnNldHVwX2Vudmlyb25fZm9yX3Nl
cnZlcihzZWxmLCBzZXJ2ZXJfbmFtZSkKKyAgICAgICAgY2xlYW5fZW52WydRVFdFQktJVF9QTFVH
SU5fUEFUSCddID0gc2VsZi5fYnVpbGRfcGF0aCgnbGliL3BsdWdpbnMnKQorICAgICAgICBzZWxm
Ll9jb3B5X3ZhbHVlX2Zyb21fZW52aXJvbm1lbnQoY2xlYW5fZW52LCAnUVRfRFJUX1dFQlZJRVdf
TU9ERScpCiAgICAgICAgIHJldHVybiBlbnYKIAogICAgICMgRklYTUU6IFdlIHNob3VsZCBmaW5k
IGEgd2F5IHRvIHNoYXJlIHRoaXMgaW1wbG1lbnRhdGlvbiB3aXRoIEd0aywKZGlmZiAtLWdpdCBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvd2Via2l0LnB5IGIvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC93ZWJraXQucHkKaW5kZXggMjQ4
YjQzMGUyZTI1ZjcxZTI4YjljZDNkNzg2OWY1MTExZTYwOWY1NS4uOWM5MjIwODFhZjZmZDQyNWI2
MGE1OWQ5NzYyMGYwZmRhNGJjNTMyNSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9sYXlvdXRfdGVzdHMvcG9ydC93ZWJraXQucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9sYXlvdXRfdGVzdHMvcG9ydC93ZWJraXQucHkKQEAgLTIyMCw2ICsyMjAsMTEgQEAgY2xhc3Mg
V2ViS2l0UG9ydChQb3J0KToKIAogICAgICAgICByZXR1cm4gKG91dHB1dF9pbWFnZSwgZGlmZl9w
ZXJjZW50KQogCisgICAgZGVmIHNldHVwX2Vudmlyb25fZm9yX3NlcnZlcihzZWxmLCBzZXJ2ZXJf
bmFtZT1Ob25lKToKKyAgICAgICAgY2xlYW5fZW52ID0gc3VwZXIoV2ViS2l0UG9ydCwgc2VsZiku
c2V0dXBfZW52aXJvbl9mb3Jfc2VydmVyKHNlcnZlcl9uYW1lKQorICAgICAgICBzZWxmLl9jb3B5
X3ZhbHVlX2Zyb21fZW52aXJvbl9pZl9zZXQoY2xlYW5fZW52LCAnV0VCS0lUX1RFU1RGT05UUycp
CisgICAgICAgIHJldHVybiBjbGVhbl9lbnYKKwogICAgIGRlZiBkZWZhdWx0X3Jlc3VsdHNfZGly
ZWN0b3J5KHNlbGYpOgogICAgICAgICAjIFJlc3VsdHMgYXJlIHN0b3JlIHJlbGF0aXZlIHRvIHRo
ZSBidWlsdCBwcm9kdWN0cyB0byBtYWtlIGl0IGVhc3kKICAgICAgICAgIyB0byBoYXZlIG11bHRp
cGxlIGNvcGllcyBvZiB3ZWJraXQgY2hlY2tlZCBvdXQgYW5kIGJ1aWx0LgpkaWZmIC0tZ2l0IGEv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC93aW4ucHkgYi9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3dpbi5weQppbmRleCBkNWJkMGY0MDk3
YjJhYzM3NzBiYWZhNjU3ZWIxMGM4ODI3OTZhOTU5Li43NjNkMWQ2NmQ2N2I2ZGJhN2VhMjNiZTVm
ZWFlNzhkMjJkOTU2OWE0IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91
dF90ZXN0cy9wb3J0L3dpbi5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90
ZXN0cy9wb3J0L3dpbi5weQpAQCAtMTAyLDYgKzEwMiwxMCBAQCBjbGFzcyBXaW5Qb3J0KEFwcGxl
UG9ydCk6CiAgICAgICAgIGZhbGxiYWNrX25hbWVzLmV4dGVuZChbJ21hYy1saW9uJywgJ21hYydd
KQogICAgICAgICByZXR1cm4gbWFwKHNlbGYuX3dlYmtpdF9iYXNlbGluZV9wYXRoLCBmYWxsYmFj
a19uYW1lcykKIAorICAgICMgVGhpcyBwb3J0IG1heSBuZWVkIHRvIG92ZXJyaWRlIHNldHVwX2Vu
dmlyb25fZm9yX3NlcnZlcgorICAgICMgdG8gbWF0Y2ggYmVoYXZpb3Igb2Ygc2V0UGF0aEZvclJ1
bm5pbmdXZWJLaXRBcHAgZnJvbSBPUldULgorICAgICMgJGVudi0+e1BBVEh9ID0gam9pbignOics
IHByb2R1Y3REaXIoKSwgZGlybmFtZShpbnN0YWxsZWRTYWZhcmlQYXRoKCkpLCBhcHBsZUFwcGxp
Y2F0aW9uU3VwcG9ydFBhdGgoKSwgJGVudi0+e1BBVEh9IHx8ICIiKTsKKwogICAgICMgRklYTUU6
IHdlYmtpdHBlcmwvaHR0cGQucG0gaW5zdGFsbHMgL3Vzci9saWIvYXBhY2hlL2xpYnBocDQuZGxs
IG9uIGN5Y3dpbiBhdXRvbWF0aWNhbGx5CiAgICAgIyBhcyBwYXJ0IG9mIHJ1bm5pbmcgb2xkLXJ1
bi13ZWJraXQtdGVzdHMuICBUaGF0J3MgYmFkIGRlc2lnbiwgYnV0IHdlIG1heSBuZWVkIHNvbWUg
c2ltaWxhciBoYWNrLgogICAgICMgV2UgbWlnaHQgdXNlIHNldHVwX2Vudmlyb25fZm9yX3NlcnZl
ciBmb3Igc3VjaCBhIGhhY2sgKG9yIG1vZGlmeSBhcGFjaGVfaHR0cF9zZXJ2ZXIucHkpLgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>112975</attachid>
            <date>2011-10-29 14:00:42 -0700</date>
            <delta_ts>2011-10-30 00:56:40 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-68691-20111029140040.patch</filename>
            <type>text/plain</type>
            <size>8313</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTg4MTAKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCBhYWE1NmMxNDkwNTJjNWE1NGQ5ZWQzOTFlMjYzNDhkZGNm
OWFiNzk1Li43MGU2NGFlYjJhODljODM5ZTk0NTBlM2ZjYWNlZDY4NzRiMDMxMGM4IDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMjQg
QEAKIDIwMTEtMTAtMjkgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgogCisgICAgICAg
IG5ldy1ydW4td2Via2l0LXRlc3RzIGlzIGxvY2FsZSBkZXBlbmRlbnQKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjkxCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgQWRhbSBCYXJ0aC4KKworICAgICAgICBNYWtlIE5SV1QgdXNlIGEgY2xlYW4gZW52aXJv
bm1lbnQganVzdCBsaWtlIE9SV1QgZGlkLgorICAgICAgICBJJ3ZlIG1hbnVhbGx5IHZhbGlkYXRl
ZCB0aGF0IE5SV1Qgbm93IGNvcGllcyBvdmVyCisgICAgICAgIHRoZSBzYW1lIGVudmlyb25tZW50
IHZhcmlhYmxlcyB0aGF0IE9SV1QgZGlkLgorICAgICAgICBUaGlzIG5ldyBjb2RlIGlzIGV4ZXJj
aXNlZCBieSBleGlzdGluZyBzZXR1cF9lbnZpcm9uX2Zvcl9zZXJ2ZXIgdGVzdHMuCisKKyAgICAg
ICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Jhc2UucHk6CisgICAgICAg
ICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9lZmwucHk6CisgICAgICAgICog
U2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9tYWMucHk6CisgICAgICAgICogU2Ny
aXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9xdC5weToKKyAgICAgICAgKiBTY3JpcHRz
L3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3dlYmtpdC5weToKKyAgICAgICAgKiBTY3JpcHRz
L3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3dpbi5weToKKworMjAxMS0xMC0yOSAgRXJpYyBT
ZWlkZWwgIDxlcmljQHdlYmtpdC5vcmc+CisKICAgICAgICAgbmV3LXJ1bi13ZWJraXQtdGVzdHM6
IE1BU1RFUiBCVUc6IFN3aXRjaCBhbGwgd2Via2l0Lm9yZyBib3RzIG92ZXIKICAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM0OTg0CiAKZGlmZiAtLWdpdCBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvYmFzZS5weSBiL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvYmFzZS5weQppbmRleCA0MjJhMDVk
ZmI3YTI4ZGJhMGZkOTExYzk3ZmQ3MGZmZGJmZTVjMzQ5Li4wYTMyZTExZGFjNWMyYWQ0ZDAwZjg0
MDlmODllYTg0MjgxZTFkZDc5IDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xh
eW91dF90ZXN0cy9wb3J0L2Jhc2UucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvcG9ydC9iYXNlLnB5CkBAIC02NDgsMTMgKzY0OCw0MyBAQCBjbGFzcyBQb3J0KG9i
amVjdCk6CiAgICAgICAgICIiIlBlcmZvcm0gcG9ydC1zcGVjaWZpYyB3b3JrIGF0IHRoZSBiZWdp
bm5pbmcgb2YgYSB0ZXN0IHJ1bi4iIiIKICAgICAgICAgcGFzcwogCi0gICAgZGVmIHNldHVwX2Vu
dmlyb25fZm9yX3NlcnZlcihzZWxmLCBzZXJ2ZXJfbmFtZT1Ob25lKToKLSAgICAgICAgIiIiUGVy
Zm9ybSBwb3J0LXNwZWNpZmljIHdvcmsgYXQgdGhlIGJlZ2lubmluZyBvZiBhIHNlcnZlciBsYXVu
Y2guCisgICAgIyBGSVhNRTogb3MuZW52aXJvbiBhY2Nlc3Mgc2hvdWxkIGJlIG1vdmVkIHRvIG9u
dG8gYSBjb21tb24vc3lzdGVtIGNsYXNzIHRvIGJlIG1vcmUgZWFzaWx5IG1vY2thYmxlLgorICAg
IGRlZiBfdmFsdWVfb3JfZGVmYXVsdF9mcm9tX2Vudmlyb24oc2VsZiwgbmFtZSwgZGVmYXVsdD1O
b25lKToKKyAgICAgICAgaWYgbmFtZSBpbiBvcy5lbnZpcm9uOgorICAgICAgICAgICAgcmV0dXJu
IG9zLmVudmlyb25bbmFtZV0KKyAgICAgICAgcmV0dXJuIGRlZmF1bHQKIAotICAgICAgICBSZXR1
cm5zOgotICAgICAgICAgICBPcGVyYXRpbmctc3lzdGVtJ3MgZW52aXJvbm1lbnQuCi0gICAgICAg
ICIiIgotICAgICAgICByZXR1cm4gb3MuZW52aXJvbi5jb3B5KCkKKyAgICBkZWYgX2NvcHlfdmFs
dWVfZnJvbV9lbnZpcm9uX2lmX3NldChzZWxmLCBjbGVhbl9lbnYsIG5hbWUpOgorICAgICAgICBp
ZiBuYW1lIGluIG9zLmVudmlyb246CisgICAgICAgICAgICBjbGVhbl9lbnZbbmFtZV0gPSBvcy5l
bnZpcm9uW25hbWVdCisKKyAgICBkZWYgc2V0dXBfZW52aXJvbl9mb3Jfc2VydmVyKHNlbGYsIHNl
cnZlcl9uYW1lPU5vbmUpOgorICAgICAgICAjIFdlIGludGVudGlvbmFsbHkgY29weSBvbmx5IGEg
c3Vic2V0IG9mIG9zLmVudmlyb24gd2hlbgorICAgICAgICAjIGxhdW5jaGluZyBzdWJwcm9jZXNz
ZXMgdG8gZW5zdXJlIGNvbnNpc3RlbnQgdGVzdCByZXN1bHRzLgorICAgICAgICBjbGVhbl9lbnYg
PSB7fQorICAgICAgICB2YXJpYWJsZXNfdG9fY29weSA9IFsKKyAgICAgICAgICAgICMgRm9yIExp
bnV4OgorICAgICAgICAgICAgJ1hBVVRIT1JJVFknLAorICAgICAgICAgICAgJ0hPTUUnLAorICAg
ICAgICAgICAgJ0xBTkcnLAorICAgICAgICAgICAgJ0xEX0xJQlJBUllfUEFUSCcsCisgICAgICAg
ICAgICAnREJVU19TRVNTSU9OX0JVU19BRERSRVNTJywKKworICAgICAgICAgICAgIyBEYXJ3aW46
CisgICAgICAgICAgICAnRFlMRF9MSUJSQVJZX1BBVEgnLAorICAgICAgICAgICAgJ0hPTUUnLAor
CisgICAgICAgICAgICAjIENZR1dJTjoKKyAgICAgICAgICAgICdIT01FRFJJVkUnLAorICAgICAg
ICAgICAgJ0hPTUVQQVRIJywKKyAgICAgICAgICAgICdfTlRfU1lNQk9MX1BBVEgnLAorICAgICAg
ICBdCisgICAgICAgIGZvciB2YXJpYWJsZSBpbiB2YXJpYWJsZXNfdG9fY29weToKKyAgICAgICAg
ICAgIHNlbGYuX2NvcHlfdmFsdWVfZnJvbV9lbnZpcm9uX2lmX3NldChjbGVhbl9lbnYsIHZhcmlh
YmxlKQorCisgICAgICAgICMgRm9yIExpbnV4OgorICAgICAgICBjbGVhbl9lbnZbJ0RJU1BMQVkn
XSA9IHNlbGYuX3ZhbHVlX29yX2RlZmF1bHRfZnJvbV9lbnZpcm9uKCdESVNQTEFZJywgJzoxJykK
KyAgICAgICAgcmV0dXJuIGNsZWFuX2VudgogCiAgICAgZGVmIHNob3dfcmVzdWx0c19odG1sX2Zp
bGUoc2VsZiwgcmVzdWx0c19maWxlbmFtZSk6CiAgICAgICAgICIiIlRoaXMgcm91dGluZSBzaG91
bGQgZGlzcGxheSB0aGUgSFRNTCBmaWxlIHBvaW50ZWQgYXQgYnkKZGlmZiAtLWdpdCBhL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvZWZsLnB5IGIvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9lZmwucHkKaW5kZXggMjdkMzczYmRkYTAyNDcx
OTg0MzA5MGJiNTYxOTk3YmYwNzg5MmMyMy4uZWU0NDU1MDBkODA3MjM0NjU4NmE1Zjg5YzE2MWE0
MGM2MTViZWQ5NSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVz
dHMvcG9ydC9lZmwucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMv
cG9ydC9lZmwucHkKQEAgLTQ3LDkgKzQ3LDYgQEAgY2xhc3MgRWZsUG9ydCh3ZWJraXQuV2ViS2l0
UG9ydCk6CiAgICAgZGVmIF9wb3J0X2ZsYWdfZm9yX3NjcmlwdHMoc2VsZik6CiAgICAgICAgIHJl
dHVybiAiLS1lZmwiCiAKLSAgICBkZWYgc2V0dXBfZW52aXJvbl9mb3Jfc2VydmVyKHNlbGYsIHNl
cnZlcl9uYW1lPU5vbmUpOgotICAgICAgICByZXR1cm4gd2Via2l0LldlYktpdFBvcnQuc2V0dXBf
ZW52aXJvbl9mb3Jfc2VydmVyKHNlbGYsIHNlcnZlcl9uYW1lKQotCiAgICAgZGVmIF9nZW5lcmF0
ZV9hbGxfdGVzdF9jb25maWd1cmF0aW9ucyhzZWxmKToKICAgICAgICAgcmV0dXJuIFtUZXN0Q29u
ZmlndXJhdGlvbih2ZXJzaW9uPXNlbGYuX3ZlcnNpb24sIGFyY2hpdGVjdHVyZT0neDg2JywgYnVp
bGRfdHlwZT1idWlsZF90eXBlLCBncmFwaGljc190eXBlPSdjcHUnKSBmb3IgYnVpbGRfdHlwZSBp
biBzZWxmLkFMTF9CVUlMRF9UWVBFU10KIApAQCAtNTksMTYgKzU2LDE3IEBAIGNsYXNzIEVmbFBv
cnQod2Via2l0LldlYktpdFBvcnQpOgogICAgIGRlZiBfcGF0aF90b19pbWFnZV9kaWZmKHNlbGYp
OgogICAgICAgICByZXR1cm4gc2VsZi5fYnVpbGRfcGF0aCgnUHJvZ3JhbXMnLCAnSW1hZ2VEaWZm
JykKIAorICAgICMgRklYTUU6IEkgZG91YnQgRUZMIHdhbnRzIHRvIG92ZXJyaWRlIHRoaXMgbWV0
aG9kLgogICAgIGRlZiBjaGVja19idWlsZChzZWxmLCBuZWVkc19odHRwKToKICAgICAgICAgcmV0
dXJuIHNlbGYuX2NoZWNrX2RyaXZlcigpCiAKICAgICBkZWYgX3BhdGhfdG9fd2ViY29yZV9saWJy
YXJ5KHNlbGYpOgogICAgICAgICBzdGF0aWNfcGF0aCA9IHNlbGYuX2J1aWxkX3BhdGgoJ1dlYkNv
cmUnLCAnbGlid2ViY29yZV9lZmwuYScpCiAgICAgICAgIGR5bl9wYXRoID0gc2VsZi5fYnVpbGRf
cGF0aCgnV2ViQ29yZScsICdsaWJ3ZWJjb3JlX2VmbC5zbycpCi0KICAgICAgICAgcmV0dXJuIHN0
YXRpY19wYXRoIGlmIHNlbGYuX2ZpbGVzeXN0ZW0uZXhpc3RzKHN0YXRpY19wYXRoKSBlbHNlIGR5
bl9wYXRoCiAKICAgICBkZWYgX3J1bnRpbWVfZmVhdHVyZV9saXN0KHNlbGYpOgorICAgICAgICAj
IEZJWE1FOiBFRkwgc2hvdWxkIGRldGVjdCBydW50aW1lIGZlYXR1cmVzIGxpa2Ugb3RoZXIgd2Vi
a2l0IHBvcnRzIGRvLgogICAgICAgICByZXR1cm4gTm9uZQogCiAgICAgZGVmIHNob3dfcmVzdWx0
c19odG1sX2ZpbGUoc2VsZiwgcmVzdWx0c19maWxlbmFtZSk6CmRpZmYgLS1naXQgYS9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L21hYy5weSBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvbWFjLnB5CmluZGV4IDU1YTA2YTY0ZmY5NTgwMTBl
MDU1M2Y5N2Q0NzA1NjcxZDY0MTkxYmUuLmRmZDc3NzQ1MTEyNTNjNjhhYzNlZGQwNzFiMTBkZWVj
OWU3NTU3NTkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3Rz
L3BvcnQvbWFjLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3Bv
cnQvbWFjLnB5CkBAIC0xMDIsNiArMTAyLDcgQEAgY2xhc3MgTWFjUG9ydChBcHBsZVBvcnQpOgog
ICAgICAgICAgICAgICAgIGVudlsnTWFsbG9jU3RhY2tMb2dnaW5nJ10gPSAnMScKICAgICAgICAg
ICAgIGlmIHNlbGYuZ2V0X29wdGlvbignZ3VhcmRfbWFsbG9jJyk6CiAgICAgICAgICAgICAgICAg
ZW52WydEWUxEX0lOU0VSVF9MSUJSQVJJRVMnXSA9ICcvdXNyL2xpYi9saWJnbWFsbG9jLmR5bGli
JworICAgICAgICBlbnZbJ1hNTF9DQVRBTE9HX0ZJTEVTJ10gPSAnJyAgIyB3b3JrIGFyb3VuZCBt
aXNzaW5nIC9ldGMvY2F0YWxvZyA8cmRhcjovL3Byb2JsZW0vNDI5Mjk5NT4KICAgICAgICAgcmV0
dXJuIGVudgogCiAgICAgIyBCZWxvbmdzIG9uIGEgUGxhdGZvcm0gb2JqZWN0LgpkaWZmIC0tZ2l0
IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9xdC5weSBiL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvcXQucHkKaW5kZXggYTkwYTM2MmYz
YTdjMjhjYjg2MGMwMjM3Mjg1NmQwZThhNGE2NjkyYS4uZDJmZjE5ZjU5ZmFmNzJmM2UzOThkYWEy
OGQ0ZWM4NGMwYTI0OWY4OCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvcG9ydC9xdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90
ZXN0cy9wb3J0L3F0LnB5CkBAIC0xNDEsOCArMTQxLDkgQEAgY2xhc3MgUXRQb3J0KFdlYktpdFBv
cnQpOgogICAgICAgICByZXR1cm4gTm9uZQogCiAgICAgZGVmIHNldHVwX2Vudmlyb25fZm9yX3Nl
cnZlcihzZWxmLCBzZXJ2ZXJfbmFtZT1Ob25lKToKLSAgICAgICAgZW52ID0gV2ViS2l0UG9ydC5z
ZXR1cF9lbnZpcm9uX2Zvcl9zZXJ2ZXIoc2VsZiwgc2VydmVyX25hbWUpCi0gICAgICAgIGVudlsn
UVRXRUJLSVRfUExVR0lOX1BBVEgnXSA9IHNlbGYuX2J1aWxkX3BhdGgoJ2xpYi9wbHVnaW5zJykK
KyAgICAgICAgY2xlYW5fZW52ID0gV2ViS2l0UG9ydC5zZXR1cF9lbnZpcm9uX2Zvcl9zZXJ2ZXIo
c2VsZiwgc2VydmVyX25hbWUpCisgICAgICAgIGNsZWFuX2VudlsnUVRXRUJLSVRfUExVR0lOX1BB
VEgnXSA9IHNlbGYuX2J1aWxkX3BhdGgoJ2xpYi9wbHVnaW5zJykKKyAgICAgICAgc2VsZi5fY29w
eV92YWx1ZV9mcm9tX2Vudmlyb25tZW50KGNsZWFuX2VudiwgJ1FUX0RSVF9XRUJWSUVXX01PREUn
KQogICAgICAgICByZXR1cm4gZW52CiAKICAgICAjIEZJWE1FOiBXZSBzaG91bGQgZmluZCBhIHdh
eSB0byBzaGFyZSB0aGlzIGltcGxtZW50YXRpb24gd2l0aCBHdGssCmRpZmYgLS1naXQgYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3dlYmtpdC5weSBiL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvd2Via2l0LnB5CmluZGV4IDI0OGI0MzBl
MmUyNWY3MWUyOGI5Y2QzZDc4NjlmNTExMWU2MDlmNTUuLjljOTIyMDgxYWY2ZmQ0MjViNjBhNTlk
OTc2MjBmMGZkYTRiYzUzMjUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5
b3V0X3Rlc3RzL3BvcnQvd2Via2l0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5
b3V0X3Rlc3RzL3BvcnQvd2Via2l0LnB5CkBAIC0yMjAsNiArMjIwLDExIEBAIGNsYXNzIFdlYktp
dFBvcnQoUG9ydCk6CiAKICAgICAgICAgcmV0dXJuIChvdXRwdXRfaW1hZ2UsIGRpZmZfcGVyY2Vu
dCkKIAorICAgIGRlZiBzZXR1cF9lbnZpcm9uX2Zvcl9zZXJ2ZXIoc2VsZiwgc2VydmVyX25hbWU9
Tm9uZSk6CisgICAgICAgIGNsZWFuX2VudiA9IHN1cGVyKFdlYktpdFBvcnQsIHNlbGYpLnNldHVw
X2Vudmlyb25fZm9yX3NlcnZlcihzZXJ2ZXJfbmFtZSkKKyAgICAgICAgc2VsZi5fY29weV92YWx1
ZV9mcm9tX2Vudmlyb25faWZfc2V0KGNsZWFuX2VudiwgJ1dFQktJVF9URVNURk9OVFMnKQorICAg
ICAgICByZXR1cm4gY2xlYW5fZW52CisKICAgICBkZWYgZGVmYXVsdF9yZXN1bHRzX2RpcmVjdG9y
eShzZWxmKToKICAgICAgICAgIyBSZXN1bHRzIGFyZSBzdG9yZSByZWxhdGl2ZSB0byB0aGUgYnVp
bHQgcHJvZHVjdHMgdG8gbWFrZSBpdCBlYXN5CiAgICAgICAgICMgdG8gaGF2ZSBtdWx0aXBsZSBj
b3BpZXMgb2Ygd2Via2l0IGNoZWNrZWQgb3V0IGFuZCBidWlsdC4KZGlmZiAtLWdpdCBhL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvd2luLnB5IGIvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC93aW4ucHkKaW5kZXggZDViZDBmNDA5N2IyYWMz
NzcwYmFmYTY1N2ViMTBjODgyNzk2YTk1OS4uNzYzZDFkNjZkNjdiNmRiYTdlYTIzYmU1ZmVhZTc4
ZDIyZDk1NjlhNCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVz
dHMvcG9ydC93aW4ucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMv
cG9ydC93aW4ucHkKQEAgLTEwMiw2ICsxMDIsMTAgQEAgY2xhc3MgV2luUG9ydChBcHBsZVBvcnQp
OgogICAgICAgICBmYWxsYmFja19uYW1lcy5leHRlbmQoWydtYWMtbGlvbicsICdtYWMnXSkKICAg
ICAgICAgcmV0dXJuIG1hcChzZWxmLl93ZWJraXRfYmFzZWxpbmVfcGF0aCwgZmFsbGJhY2tfbmFt
ZXMpCiAKKyAgICAjIFRoaXMgcG9ydCBtYXkgbmVlZCB0byBvdmVycmlkZSBzZXR1cF9lbnZpcm9u
X2Zvcl9zZXJ2ZXIKKyAgICAjIHRvIG1hdGNoIGJlaGF2aW9yIG9mIHNldFBhdGhGb3JSdW5uaW5n
V2ViS2l0QXBwIGZyb20gT1JXVC4KKyAgICAjICRlbnYtPntQQVRIfSA9IGpvaW4oJzonLCBwcm9k
dWN0RGlyKCksIGRpcm5hbWUoaW5zdGFsbGVkU2FmYXJpUGF0aCgpKSwgYXBwbGVBcHBsaWNhdGlv
blN1cHBvcnRQYXRoKCksICRlbnYtPntQQVRIfSB8fCAiIik7CisKICAgICAjIEZJWE1FOiB3ZWJr
aXRwZXJsL2h0dHBkLnBtIGluc3RhbGxzIC91c3IvbGliL2FwYWNoZS9saWJwaHA0LmRsbCBvbiBj
eWN3aW4gYXV0b21hdGljYWxseQogICAgICMgYXMgcGFydCBvZiBydW5uaW5nIG9sZC1ydW4td2Vi
a2l0LXRlc3RzLiAgVGhhdCdzIGJhZCBkZXNpZ24sIGJ1dCB3ZSBtYXkgbmVlZCBzb21lIHNpbWls
YXIgaGFjay4KICAgICAjIFdlIG1pZ2h0IHVzZSBzZXR1cF9lbnZpcm9uX2Zvcl9zZXJ2ZXIgZm9y
IHN1Y2ggYSBoYWNrIChvciBtb2RpZnkgYXBhY2hlX2h0dHBfc2VydmVyLnB5KS4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>112989</attachid>
            <date>2011-10-30 00:56:45 -0700</date>
            <delta_ts>2011-11-17 14:05:23 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-68691-20111030005643.patch</filename>
            <type>text/plain</type>
            <size>22224</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTg4MjQKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCAzMDA4MmFkY2Y5MTBiNzExNmQ3YTNmMDljOTcxZWUwYTQ3
YmU0ZTlmLi45YzAyNGIxZGM0MjZiMWRlNWVjNjBiOTliMDI5OWE2ZDZmZTMyM2FhIDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzMg
QEAKKzIwMTEtMTAtMzAgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgorCisgICAgICAg
IG5ldy1ydW4td2Via2l0LXRlc3RzIGlzIGxvY2FsZSBkZXBlbmRlbnQKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjkxCisKKyAgICAgICAgVW5yZXZp
ZXdlZC4gIEkgd291bGQgaGF2ZSBwcmVmZXJyZWQgdG8gaGF2ZSB0aGlzIHJldmlld2VkLAorICAg
ICAgICBidXQgcmVsZXZhbnQgcmV2aWV3ZXJzIGFyZSBhc2xlZXAgYW5kIGJvdHMgYXJlIGJyb2tl
bi4KKworICAgICAgICBUaGlzIHdhcyBhIHJlZ3Jlc3Npb24gZnJvbSBtb3ZpbmcgdG8gYSBjbGVh
biBlbnZpcm9ubWVudC4KKyAgICAgICAgQ2hyb21pdW1XaW4gKGFuZCBwb3NzaWJseSBvdGhlciBw
b3J0cyksIG5lZWQgdGhlICJQQVRIIgorICAgICAgICBlbnZpcm9ubWVudCBjb3BpZWQgb3Zlci4g
IFRoaXMgd2Fzbid0IGNhdWdodCBpbiBteSB0ZXN0aW5nCisgICAgICAgIGJlY2F1c2UgYWx0aG91
Z2ggd2UgaGFkIHVuaXR0ZXN0cyB0byBjb3ZlciB0aGlzLCB0aGV5CisgICAgICAgIHdlcmVuJ3Qg
YmVpbmcgcnVuIG9uIGFueXRoaW5nIGJ1dCB3aW5kb3dzLiAgVGhlIHZhc3QgbWFqb3JpdHkKKyAg
ICAgICAgb2YgdGhpcyBjaGFuZ2UgaXMganVzdCBmaXhpbmcgdGhlIHVuaXR0ZXN0cyB0byB1c2Ug
b3VyCisgICAgICAgIG1vZGVybiBNb2NrRmlsZVN5c3RlbS9Nb2NrVXNlci9Nb2NrRXhlY3V0aXZl
IHNvIHRoZXkgY2FuCisgICAgICAgIGJlIHJ1biBvbiBhbnkgc3lzdGVtIChhbmQgcmVtb3Zpbmcg
dGhlIHBsYXRmb3JtIGNoZWNrcyBmcm9tCisgICAgICAgIHRoZSB1bml0dGVzdHMgc28gdGhleSBh
cmUgcnVuIGV2ZXJ5d2hlcmUpLgorCisgICAgICAgIFRoZSBhY3R1YWwgZml4IGlzIHRoZSBzaW5n
bGUgbGluZSAiUEFUSCIgc3RyaW5nIGFkZGVkIHRvIGJhc2UucHkuCisgICAgICAgIFRoZSByZXN0
IG9mIHRoaXMgY2hhbmdlIGlzIGp1c3QgZml4aW5nIHRoZSBDaHJvbWl1bSBwb3J0IHVuaXR0ZXN0
cworICAgICAgICB0byBydW4gb24gYWxsIHN5c3RlbXMgKGluY2x1ZGluZyBjaGFuZ2luZyB0aGUg
Q2hyb21pdW0gcG9ydCB0bworICAgICAgICB1c2UgRmlsZVN5c3RlbS5wYXRoX3RvX21vZHVsZSBp
bnN0ZWFkIG9mIF9fZmlsZV9fKS4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0
X3Rlc3RzL3BvcnQvYmFzZS5weToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90
ZXN0cy9wb3J0L2Nocm9taXVtLnB5OgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0
X3Rlc3RzL3BvcnQvY2hyb21pdW1fdW5pdHRlc3QucHk6CisgICAgICAgICogU2NyaXB0cy93ZWJr
aXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV93aW4ucHk6CisgICAgICAgICogU2NyaXB0
cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV93aW5fdW5pdHRlc3QucHk6Cisg
ICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9nb29nbGVfY2hyb21l
X3VuaXR0ZXN0LnB5OgorCiAyMDExLTEwLTI5ICBFcmljIFNlaWRlbCAgPGVyaWNAd2Via2l0Lm9y
Zz4KIAogICAgICAgICBuZXctcnVuLXdlYmtpdC10ZXN0cyBpcyBsb2NhbGUgZGVwZW5kZW50CmRp
ZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Jhc2Uu
cHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Jhc2UucHkKaW5k
ZXggMGEzMmUxMWRhYzVjMmFkNGQwMGY4NDA5Zjg5ZWE4NDI4MWUxZGQ3OS4uNGYwZWJlMjI4ZjQ5
MWYwNDgzZjUzZmJiZWYwOGJjMDJmZDI5NjE1MyAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9iYXNlLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvYmFzZS5weQpAQCAtNjc4LDYgKzY3OCw5IEBAIGNsYXNz
IFBvcnQob2JqZWN0KToKICAgICAgICAgICAgICdIT01FRFJJVkUnLAogICAgICAgICAgICAgJ0hP
TUVQQVRIJywKICAgICAgICAgICAgICdfTlRfU1lNQk9MX1BBVEgnLAorCisgICAgICAgICAgICAj
IFdpbmRvd3M6CisgICAgICAgICAgICAnUEFUSCcsCiAgICAgICAgIF0KICAgICAgICAgZm9yIHZh
cmlhYmxlIGluIHZhcmlhYmxlc190b19jb3B5OgogICAgICAgICAgICAgc2VsZi5fY29weV92YWx1
ZV9mcm9tX2Vudmlyb25faWZfc2V0KGNsZWFuX2VudiwgdmFyaWFibGUpCmRpZmYgLS1naXQgYS9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtLnB5IGIvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bS5weQppbmRleCBh
YzNhYWM0MDI1OTBmYjFhYzM2NWE5YmM1YTc0NmU3M2I3ODYyNjhjLi5jYjMyYmEwMWI1NWY0NDQw
OTdiM2QzZjk4YmUzOWY4MWZmYmYyY2U4IDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW0ucHkKQEAgLTIyMSwyOCArMjIxLDIyIEBA
IGNsYXNzIENocm9taXVtUG9ydChQb3J0KToKICAgICAgICAgIiIiUmV0dXJucyB0aGUgZnVsbCBw
YXRoIHRvIHBhdGggbWFkZSBieSBqb2luaW5nIHRoZSB0b3Agb2YgdGhlCiAgICAgICAgIENocm9t
aXVtIHNvdXJjZSB0cmVlIGFuZCB0aGUgbGlzdCBvZiBwYXRoIGNvbXBvbmVudHMgaW4gfCpjb21w
c3wuIiIiCiAgICAgICAgIGlmIG5vdCBzZWxmLl9jaHJvbWl1bV9iYXNlX2RpcjoKLSAgICAgICAg
ICAgIGFic3BhdGggPSBzZWxmLl9maWxlc3lzdGVtLmFic3BhdGgoX19maWxlX18pCi0gICAgICAg
ICAgICBvZmZzZXQgPSBhYnNwYXRoLmZpbmQoJ3RoaXJkX3BhcnR5JykKKyAgICAgICAgICAgIGNo
cm9taXVtX21vZHVsZV9wYXRoID0gc2VsZi5fZmlsZXN5c3RlbS5wYXRoX3RvX21vZHVsZShzZWxm
Ll9fbW9kdWxlX18pCisgICAgICAgICAgICBvZmZzZXQgPSBjaHJvbWl1bV9tb2R1bGVfcGF0aC5m
aW5kKCd0aGlyZF9wYXJ0eScpCiAgICAgICAgICAgICBpZiBvZmZzZXQgPT0gLTE6Ci0gICAgICAg
ICAgICAgICAgc2VsZi5fY2hyb21pdW1fYmFzZV9kaXIgPSBzZWxmLl9maWxlc3lzdGVtLmpvaW4o
Ci0gICAgICAgICAgICAgICAgICAgIGFic3BhdGhbMDphYnNwYXRoLmZpbmQoJ1Rvb2xzJyldLAot
ICAgICAgICAgICAgICAgICAgICAnU291cmNlJywgJ1dlYktpdCcsICdjaHJvbWl1bScpCisgICAg
ICAgICAgICAgICAgc2VsZi5fY2hyb21pdW1fYmFzZV9kaXIgPSBzZWxmLl9maWxlc3lzdGVtLmpv
aW4oY2hyb21pdW1fbW9kdWxlX3BhdGhbMDpjaHJvbWl1bV9tb2R1bGVfcGF0aC5maW5kKCdUb29s
cycpXSwgJ1NvdXJjZScsICdXZWJLaXQnLCAnY2hyb21pdW0nKQogICAgICAgICAgICAgZWxzZToK
LSAgICAgICAgICAgICAgICBzZWxmLl9jaHJvbWl1bV9iYXNlX2RpciA9IGFic3BhdGhbMDpvZmZz
ZXRdCisgICAgICAgICAgICAgICAgc2VsZi5fY2hyb21pdW1fYmFzZV9kaXIgPSBjaHJvbWl1bV9t
b2R1bGVfcGF0aFswOm9mZnNldF0KICAgICAgICAgcmV0dXJuIHNlbGYuX2ZpbGVzeXN0ZW0uam9p
bihzZWxmLl9jaHJvbWl1bV9iYXNlX2RpciwgKmNvbXBzKQogCiAgICAgZGVmIHBhdGhfdG9fdGVz
dF9leHBlY3RhdGlvbnNfZmlsZShzZWxmKToKLSAgICAgICAgcmV0dXJuIHNlbGYucGF0aF9mcm9t
X3dlYmtpdF9iYXNlKCdMYXlvdXRUZXN0cycsICdwbGF0Zm9ybScsCi0gICAgICAgICAgICAnY2hy
b21pdW0nLCAndGVzdF9leHBlY3RhdGlvbnMudHh0JykKKyAgICAgICAgcmV0dXJuIHNlbGYucGF0
aF9mcm9tX3dlYmtpdF9iYXNlKCdMYXlvdXRUZXN0cycsICdwbGF0Zm9ybScsICdjaHJvbWl1bScs
ICd0ZXN0X2V4cGVjdGF0aW9ucy50eHQnKQogCiAgICAgZGVmIGRlZmF1bHRfcmVzdWx0c19kaXJl
Y3Rvcnkoc2VsZik6CiAgICAgICAgIHRyeToKLSAgICAgICAgICAgIHJldHVybiBzZWxmLnBhdGhf
ZnJvbV9jaHJvbWl1bV9iYXNlKCd3ZWJraXQnLAotICAgICAgICAgICAgICAgIHNlbGYuZ2V0X29w
dGlvbignY29uZmlndXJhdGlvbicpLAotICAgICAgICAgICAgICAgICdsYXlvdXQtdGVzdC1yZXN1
bHRzJykKKyAgICAgICAgICAgIHJldHVybiBzZWxmLnBhdGhfZnJvbV9jaHJvbWl1bV9iYXNlKCd3
ZWJraXQnLCBzZWxmLmdldF9vcHRpb24oJ2NvbmZpZ3VyYXRpb24nKSwgJ2xheW91dC10ZXN0LXJl
c3VsdHMnKQogICAgICAgICBleGNlcHQgQXNzZXJ0aW9uRXJyb3I6Ci0gICAgICAgICAgICByZXR1
cm4gc2VsZi5fYnVpbGRfcGF0aChzZWxmLmdldF9vcHRpb24oJ2NvbmZpZ3VyYXRpb24nKSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdsYXlvdXQtdGVzdC1yZXN1bHRzJykK
KyAgICAgICAgICAgIHJldHVybiBzZWxmLl9idWlsZF9wYXRoKHNlbGYuZ2V0X29wdGlvbignY29u
ZmlndXJhdGlvbicpLCAnbGF5b3V0LXRlc3QtcmVzdWx0cycpCiAKICAgICBkZWYgc2V0dXBfdGVz
dF9ydW4oc2VsZik6CiAgICAgICAgICMgRGVsZXRlIHRoZSBkaXNrIGNhY2hlIGlmIGFueSB0byBl
bnN1cmUgYSBjbGVhbiB0ZXN0IHJ1bi4KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX3VuaXR0ZXN0LnB5CmluZGV4IGRl
YzA5YzQ1MTM5ZjVjMzBhNTRlOWUxNTk3ZDBiYTYyMzUwZTM4ZjQuLjZiNWQwYmE2YmI3MDEzY2Mx
MTcwNjkyN2FmZmIyMDRhMjJjM2IxN2EgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV91bml0dGVzdC5weQpAQCAt
MzAsOSArMzAsOSBAQCBpbXBvcnQgdW5pdHRlc3QKIGltcG9ydCBTdHJpbmdJTwogCiBmcm9tIHdl
YmtpdHB5LmNvbW1vbi5zeXN0ZW0gaW1wb3J0IGxvZ3Rlc3RpbmcKLWZyb20gd2Via2l0cHkuY29t
bW9uLnN5c3RlbSBpbXBvcnQgZXhlY3V0aXZlX21vY2sKLWZyb20gd2Via2l0cHkuY29tbW9uLnN5
c3RlbSBpbXBvcnQgZmlsZXN5c3RlbV9tb2NrCi1mcm9tIHdlYmtpdHB5LnRvb2wgaW1wb3J0IG1v
Y2t0b29sCitmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0uZXhlY3V0aXZlX21vY2sgaW1wb3J0
IE1vY2tFeGVjdXRpdmUyCitmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0uZmlsZXN5c3RlbV9t
b2NrIGltcG9ydCBNb2NrRmlsZVN5c3RlbQorZnJvbSB3ZWJraXRweS50b29sLm1vY2t0b29sIGlt
cG9ydCBNb2NrT3B0aW9ucywgTW9ja1VzZXIsIE1vY2tFeGVjdXRpdmUKIGZyb20gd2Via2l0cHku
dGhpcmRwYXJ0eS5tb2NrIGltcG9ydCBNb2NrCiAKIApAQCAtNDcsNyArNDcsNyBAQCBmcm9tIHdl
YmtpdHB5LmxheW91dF90ZXN0cy5wb3J0IGltcG9ydCBwb3J0X3Rlc3RjYXNlCiAKIGNsYXNzIENo
cm9taXVtRHJpdmVyVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgZGVmIHNldFVwKHNlbGYp
OgotICAgICAgICBtb2NrX3BvcnQgPSBNb2NrKCkKKyAgICAgICAgbW9ja19wb3J0ID0gTW9jaygp
ICAjIEZJWE1FOiBUaGlzIHNob3VsZCB1c2UgYSB0aWdodGVyIG1vY2suCiAgICAgICAgIG1vY2tf
cG9ydC5nZXRfb3B0aW9uID0gbGFtYmRhIG9wdGlvbl9uYW1lOiAnJwogICAgICAgICBzZWxmLmRy
aXZlciA9IGNocm9taXVtLkNocm9taXVtRHJpdmVyKG1vY2tfcG9ydCwgd29ya2VyX251bWJlcj0w
KQogCkBAIC02OSw3ICs2OSw3IEBAIGNsYXNzIENocm9taXVtRHJpdmVyVGVzdCh1bml0dGVzdC5U
ZXN0Q2FzZSk6CiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGlkX2NyYXNoLCBleHBlY3RlZF9j
cmFzaCkKIAogICAgIGRlZiB0ZXN0X3dyaXRlX2NvbW1hbmRfYW5kX3JlYWRfbGluZShzZWxmKToK
LSAgICAgICAgc2VsZi5kcml2ZXIuX3Byb2MgPSBNb2NrKCkKKyAgICAgICAgc2VsZi5kcml2ZXIu
X3Byb2MgPSBNb2NrKCkgICMgRklYTUU6IFRoaXMgc2hvdWxkIHVzZSBhIHRpZ2h0ZXIgbW9jay4K
ICAgICAgICAgIyBTZXQgdXAgdG8gcmVhZCAzIGxpbmVzIGJlZm9yZSB3ZSBnZXQgYW4gSU9FcnJv
cgogICAgICAgICBzZWxmLmRyaXZlci5fcHJvYy5zdGRvdXQgPSBTdHJpbmdJTy5TdHJpbmdJTygi
Zmlyc3RcbnNlY29uZFxudGhpcmRcbiIpCiAKQEAgLTkxLDcgKzkxLDcgQEAgY2xhc3MgQ2hyb21p
dW1Ecml2ZXJUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICBkZWYgdGVzdF9zdG9wKHNlbGYp
OgogICAgICAgICBzZWxmLnBpZCA9IE5vbmUKICAgICAgICAgc2VsZi53YWl0X2NhbGxlZCA9IEZh
bHNlCi0gICAgICAgIHNlbGYuZHJpdmVyLl9wcm9jID0gTW9jaygpCisgICAgICAgIHNlbGYuZHJp
dmVyLl9wcm9jID0gTW9jaygpICAjIEZJWE1FOiBUaGlzIHNob3VsZCB1c2UgYSB0aWdodGVyIG1v
Y2suCiAgICAgICAgIHNlbGYuZHJpdmVyLl9wcm9jLnBpZCA9IDEKICAgICAgICAgc2VsZi5kcml2
ZXIuX3Byb2Muc3RkaW4gPSBTdHJpbmdJTy5TdHJpbmdJTygpCiAgICAgICAgIHNlbGYuZHJpdmVy
Ll9wcm9jLnN0ZG91dCA9IFN0cmluZ0lPLlN0cmluZ0lPKCkKQEAgLTE4Myw1MyArMTgzLDQyIEBA
IGNsYXNzIENocm9taXVtUG9ydFRlc3QocG9ydF90ZXN0Y2FzZS5Qb3J0VGVzdENhc2UpOgogICAg
ICAgICBwYXNzCiAKICAgICBjbGFzcyBUZXN0TWFjUG9ydChjaHJvbWl1bV9tYWMuQ2hyb21pdW1N
YWNQb3J0KToKLSAgICAgICAgZGVmIF9faW5pdF9fKHNlbGYsIG9wdGlvbnMpOgotICAgICAgICAg
ICAgIyBGSVhNRTogVGhpcyBzaG91bGQgdXNlIE1vY2tFeGVjdXRpdmUgYW5kIE1vY2tVc2VyIGFz
IHdlbGwuCi0gICAgICAgICAgICBjaHJvbWl1bV9tYWMuQ2hyb21pdW1NYWNQb3J0Ll9faW5pdF9f
KHNlbGYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IG9wdGlvbnM9b3B0aW9ucywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZmlsZXN5c3RlbT1maWxlc3lzdGVtX21vY2suTW9ja0ZpbGVTeXN0ZW0oKSkK
KyAgICAgICAgZGVmIF9faW5pdF9fKHNlbGYsIG9wdGlvbnM9Tm9uZSk6CisgICAgICAgICAgICBv
cHRpb25zID0gb3B0aW9ucyBvciBNb2NrT3B0aW9ucygpCisgICAgICAgICAgICBjaHJvbWl1bV9t
YWMuQ2hyb21pdW1NYWNQb3J0Ll9faW5pdF9fKHNlbGYsIG9wdGlvbnM9b3B0aW9ucywKKyAgICAg
ICAgICAgICAgICBmaWxlc3lzdGVtPU1vY2tGaWxlU3lzdGVtKCksIHVzZXI9TW9ja1VzZXIoKSwg
ZXhlY3V0aXZlPU1vY2tFeGVjdXRpdmUoKSkKIAogICAgICAgICBkZWYgZGVmYXVsdF9jb25maWd1
cmF0aW9uKHNlbGYpOgogICAgICAgICAgICAgc2VsZi5kZWZhdWx0X2NvbmZpZ3VyYXRpb25fY2Fs
bGVkID0gVHJ1ZQogICAgICAgICAgICAgcmV0dXJuICdkZWZhdWx0JwogCiAgICAgY2xhc3MgVGVz
dExpbnV4UG9ydChjaHJvbWl1bV9saW51eC5DaHJvbWl1bUxpbnV4UG9ydCk6Ci0gICAgICAgIGRl
ZiBfX2luaXRfXyhzZWxmLCBvcHRpb25zKToKLSAgICAgICAgICAgICMgRklYTUU6IFRoaXMgc2hv
dWxkIHVzZSBNb2NrRXhlY3V0aXZlIGFuZCBNb2NrVXNlciBhcyB3ZWxsLgotICAgICAgICAgICAg
Y2hyb21pdW1fbGludXguQ2hyb21pdW1MaW51eFBvcnQuX19pbml0X18oc2VsZiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM9b3B0
aW9ucywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGZpbGVzeXN0ZW09ZmlsZXN5c3RlbV9tb2NrLk1vY2tGaWxlU3lzdGVtKCkpCisgICAgICAg
IGRlZiBfX2luaXRfXyhzZWxmLCBvcHRpb25zPU5vbmUpOgorICAgICAgICAgICAgb3B0aW9ucyA9
IG9wdGlvbnMgb3IgTW9ja09wdGlvbnMoKQorICAgICAgICAgICAgY2hyb21pdW1fbGludXguQ2hy
b21pdW1MaW51eFBvcnQuX19pbml0X18oc2VsZiwgb3B0aW9ucz1vcHRpb25zLAorICAgICAgICAg
ICAgICAgIGZpbGVzeXN0ZW09TW9ja0ZpbGVTeXN0ZW0oKSwgdXNlcj1Nb2NrVXNlcigpLCBleGVj
dXRpdmU9TW9ja0V4ZWN1dGl2ZSgpKQogCiAgICAgICAgIGRlZiBkZWZhdWx0X2NvbmZpZ3VyYXRp
b24oc2VsZik6CiAgICAgICAgICAgICBzZWxmLmRlZmF1bHRfY29uZmlndXJhdGlvbl9jYWxsZWQg
PSBUcnVlCiAgICAgICAgICAgICByZXR1cm4gJ2RlZmF1bHQnCiAKICAgICBjbGFzcyBUZXN0V2lu
UG9ydChjaHJvbWl1bV93aW4uQ2hyb21pdW1XaW5Qb3J0KToKLSAgICAgICAgZGVmIF9faW5pdF9f
KHNlbGYsIG9wdGlvbnMpOgotICAgICAgICAgICAgIyBGSVhNRTogVGhpcyBzaG91bGQgdXNlIE1v
Y2tFeGVjdXRpdmUgYW5kIE1vY2tVc2VyIGFzIHdlbGwuCi0gICAgICAgICAgICBjaHJvbWl1bV93
aW4uQ2hyb21pdW1XaW5Qb3J0Ll9faW5pdF9fKHNlbGYsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM9b3B0aW9ucywKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZXN5c3RlbT1maWxlc3lz
dGVtX21vY2suTW9ja0ZpbGVTeXN0ZW0oKSkKKyAgICAgICAgZGVmIF9faW5pdF9fKHNlbGYsIG9w
dGlvbnM9Tm9uZSk6CisgICAgICAgICAgICBvcHRpb25zID0gb3B0aW9ucyBvciBNb2NrT3B0aW9u
cygpCisgICAgICAgICAgICBjaHJvbWl1bV93aW4uQ2hyb21pdW1XaW5Qb3J0Ll9faW5pdF9fKHNl
bGYsIG9wdGlvbnM9b3B0aW9ucywKKyAgICAgICAgICAgICAgICBmaWxlc3lzdGVtPU1vY2tGaWxl
U3lzdGVtKCksIHVzZXI9TW9ja1VzZXIoKSwgZXhlY3V0aXZlPU1vY2tFeGVjdXRpdmUoKSkKIAog
ICAgICAgICBkZWYgZGVmYXVsdF9jb25maWd1cmF0aW9uKHNlbGYpOgogICAgICAgICAgICAgc2Vs
Zi5kZWZhdWx0X2NvbmZpZ3VyYXRpb25fY2FsbGVkID0gVHJ1ZQogICAgICAgICAgICAgcmV0dXJu
ICdkZWZhdWx0JwogCiAgICAgZGVmIHRlc3RfcGF0aF90b19pbWFnZV9kaWZmKHNlbGYpOgotICAg
ICAgICBtb2NrX29wdGlvbnMgPSBtb2NrdG9vbC5Nb2NrT3B0aW9ucygpCi0gICAgICAgIHBvcnQg
PSBDaHJvbWl1bVBvcnRUZXN0LlRlc3RMaW51eFBvcnQob3B0aW9ucz1tb2NrX29wdGlvbnMpCi0g
ICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShwb3J0Ll9wYXRoX3RvX2ltYWdlX2RpZmYoKS5lbmRzd2l0
aCgKLSAgICAgICAgICAgICcvb3V0L2RlZmF1bHQvSW1hZ2VEaWZmJykpCi0gICAgICAgIHBvcnQg
PSBDaHJvbWl1bVBvcnRUZXN0LlRlc3RNYWNQb3J0KG9wdGlvbnM9bW9ja19vcHRpb25zKQotICAg
ICAgICBzZWxmLmFzc2VydFRydWUocG9ydC5fcGF0aF90b19pbWFnZV9kaWZmKCkuZW5kc3dpdGgo
Ci0gICAgICAgICAgICAnL3hjb2RlYnVpbGQvZGVmYXVsdC9JbWFnZURpZmYnKSkKLSAgICAgICAg
cG9ydCA9IENocm9taXVtUG9ydFRlc3QuVGVzdFdpblBvcnQob3B0aW9ucz1tb2NrX29wdGlvbnMp
Ci0gICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShwb3J0Ll9wYXRoX3RvX2ltYWdlX2RpZmYoKS5lbmRz
d2l0aCgKLSAgICAgICAgICAgICcvZGVmYXVsdC9JbWFnZURpZmYuZXhlJykpCisgICAgICAgIHNl
bGYuYXNzZXJ0VHJ1ZShDaHJvbWl1bVBvcnRUZXN0LlRlc3RMaW51eFBvcnQoKS5fcGF0aF90b19p
bWFnZV9kaWZmKCkuZW5kc3dpdGgoJy9vdXQvZGVmYXVsdC9JbWFnZURpZmYnKSkKKyAgICAgICAg
c2VsZi5hc3NlcnRUcnVlKENocm9taXVtUG9ydFRlc3QuVGVzdE1hY1BvcnQoKS5fcGF0aF90b19p
bWFnZV9kaWZmKCkuZW5kc3dpdGgoJy94Y29kZWJ1aWxkL2RlZmF1bHQvSW1hZ2VEaWZmJykpCisg
ICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShDaHJvbWl1bVBvcnRUZXN0LlRlc3RXaW5Qb3J0KCkuX3Bh
dGhfdG9faW1hZ2VfZGlmZigpLmVuZHN3aXRoKCcvZGVmYXVsdC9JbWFnZURpZmYuZXhlJykpCiAK
ICAgICBkZWYgdGVzdF9za2lwcGVkX2xheW91dF90ZXN0cyhzZWxmKToKLSAgICAgICAgbW9ja19v
cHRpb25zID0gbW9ja3Rvb2wuTW9ja09wdGlvbnMoKQotICAgICAgICBtb2NrX29wdGlvbnMuY29u
ZmlndXJhdGlvbiA9ICdyZWxlYXNlJworICAgICAgICBtb2NrX29wdGlvbnMgPSBNb2NrT3B0aW9u
cyhjb25maWd1cmF0aW9uPSdyZWxlYXNlJykKICAgICAgICAgcG9ydCA9IENocm9taXVtUG9ydFRl
c3QuVGVzdExpbnV4UG9ydChvcHRpb25zPW1vY2tfb3B0aW9ucykKIAogICAgICAgICBmYWtlX3Rl
c3QgPSAnZmFzdC9qcy9ub3QtZ29vZC5qcycKQEAgLTI0NCwxMiArMjMzLDEyIEBAIExJTlVYIFdJ
TiA6IGZhc3QvanMvdmVyeS1nb29kLmpzID0gVElNRU9VVCBQQVNTIiIiCiAgICAgICAgIHNlbGYu
YXNzZXJ0VHJ1ZSgiZmFzdC9qcy9ub3QtZ29vZC5qcyIgaW4gc2tpcHBlZF90ZXN0cykKIAogICAg
IGRlZiB0ZXN0X2RlZmF1bHRfY29uZmlndXJhdGlvbihzZWxmKToKLSAgICAgICAgbW9ja19vcHRp
b25zID0gbW9ja3Rvb2wuTW9ja09wdGlvbnMoKQorICAgICAgICBtb2NrX29wdGlvbnMgPSBNb2Nr
T3B0aW9ucygpCiAgICAgICAgIHBvcnQgPSBDaHJvbWl1bVBvcnRUZXN0LlRlc3RMaW51eFBvcnQo
b3B0aW9ucz1tb2NrX29wdGlvbnMpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKG1vY2tfb3B0
aW9ucy5jb25maWd1cmF0aW9uLCAnZGVmYXVsdCcpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShw
b3J0LmRlZmF1bHRfY29uZmlndXJhdGlvbl9jYWxsZWQpCiAKLSAgICAgICAgbW9ja19vcHRpb25z
ID0gbW9ja3Rvb2wuTW9ja09wdGlvbnMoY29uZmlndXJhdGlvbj1Ob25lKQorICAgICAgICBtb2Nr
X29wdGlvbnMgPSBNb2NrT3B0aW9ucyhjb25maWd1cmF0aW9uPU5vbmUpCiAgICAgICAgIHBvcnQg
PSBDaHJvbWl1bVBvcnRUZXN0LlRlc3RMaW51eFBvcnQobW9ja19vcHRpb25zKQogICAgICAgICBz
ZWxmLmFzc2VydEVxdWFscyhtb2NrX29wdGlvbnMuY29uZmlndXJhdGlvbiwgJ2RlZmF1bHQnKQog
ICAgICAgICBzZWxmLmFzc2VydFRydWUocG9ydC5kZWZhdWx0X2NvbmZpZ3VyYXRpb25fY2FsbGVk
KQpAQCAtMjU5LDkgKzI0OCw3IEBAIExJTlVYIFdJTiA6IGZhc3QvanMvdmVyeS1nb29kLmpzID0g
VElNRU9VVCBQQVNTIiIiCiAgICAgICAgICAgICBkZWYgX3BhdGhfdG9faW1hZ2VfZGlmZihzZWxm
KToKICAgICAgICAgICAgICAgICByZXR1cm4gIi9wYXRoL3RvL2ltYWdlX2RpZmYiCiAKLSAgICAg
ICAgbW9ja19vcHRpb25zID0gbW9ja3Rvb2wuTW9ja09wdGlvbnMoKQotICAgICAgICBwb3J0ID0g
Q2hyb21pdW1Qb3J0VGVzdC5UZXN0TGludXhQb3J0KG1vY2tfb3B0aW9ucykKLQorICAgICAgICBw
b3J0ID0gQ2hyb21pdW1Qb3J0VGVzdC5UZXN0TGludXhQb3J0KCkKICAgICAgICAgbW9ja19pbWFn
ZV9kaWZmID0gIk1PQ0sgSW1hZ2UgRGlmZiIKIAogICAgICAgICBkZWYgbW9ja19ydW5fY29tbWFu
ZChhcmdzKToKQEAgLTI2OSwxNSArMjU2LDE1IEBAIExJTlVYIFdJTiA6IGZhc3QvanMvdmVyeS1n
b29kLmpzID0gVElNRU9VVCBQQVNTIiIiCiAgICAgICAgICAgICByZXR1cm4gMQogCiAgICAgICAg
ICMgSW1hZ2VzIGFyZSBkaWZmZXJlbnQuCi0gICAgICAgIHBvcnQuX2V4ZWN1dGl2ZSA9IGV4ZWN1
dGl2ZV9tb2NrLk1vY2tFeGVjdXRpdmUyKHJ1bl9jb21tYW5kX2ZuPW1vY2tfcnVuX2NvbW1hbmQp
CisgICAgICAgIHBvcnQuX2V4ZWN1dGl2ZSA9IE1vY2tFeGVjdXRpdmUyKHJ1bl9jb21tYW5kX2Zu
PW1vY2tfcnVuX2NvbW1hbmQpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKG1vY2tfaW1hZ2Vf
ZGlmZiwgcG9ydC5kaWZmX2ltYWdlKCJFWFBFQ1RFRCIsICJBQ1RVQUwiKVswXSkKIAogICAgICAg
ICAjIEltYWdlcyBhcmUgdGhlIHNhbWUuCi0gICAgICAgIHBvcnQuX2V4ZWN1dGl2ZSA9IGV4ZWN1
dGl2ZV9tb2NrLk1vY2tFeGVjdXRpdmUyKGV4aXRfY29kZT0wKQorICAgICAgICBwb3J0Ll9leGVj
dXRpdmUgPSBNb2NrRXhlY3V0aXZlMihleGl0X2NvZGU9MCkKICAgICAgICAgc2VsZi5hc3NlcnRF
cXVhbHMoTm9uZSwgcG9ydC5kaWZmX2ltYWdlKCJFWFBFQ1RFRCIsICJBQ1RVQUwiKVswXSkKIAog
ICAgICAgICAjIFRoZXJlIHdhcyBzb21lIGVycm9yIHJ1bm5pbmcgaW1hZ2VfZGlmZi4KLSAgICAg
ICAgcG9ydC5fZXhlY3V0aXZlID0gZXhlY3V0aXZlX21vY2suTW9ja0V4ZWN1dGl2ZTIoZXhpdF9j
b2RlPTIpCisgICAgICAgIHBvcnQuX2V4ZWN1dGl2ZSA9IE1vY2tFeGVjdXRpdmUyKGV4aXRfY29k
ZT0yKQogICAgICAgICBleGNlcHRpb25fcmFpc2VkID0gRmFsc2UKICAgICAgICAgdHJ5OgogICAg
ICAgICAgICAgcG9ydC5kaWZmX2ltYWdlKCJFWFBFQ1RFRCIsICJBQ1RVQUwiKQpAQCAtMjkwLDcg
KzI3Nyw3IEBAIExJTlVYIFdJTiA6IGZhc3QvanMvdmVyeS1nb29kLmpzID0gVElNRU9VVCBQQVNT
IiIiCiAgICAgICAgIGlmIG5vdCBwb3J0OgogICAgICAgICAgICAgcmV0dXJuCiAKLSAgICAgICAg
ZmlsZXN5c3RlbSA9IGZpbGVzeXN0ZW1fbW9jay5Nb2NrRmlsZVN5c3RlbSgpCisgICAgICAgIGZp
bGVzeXN0ZW0gPSBNb2NrRmlsZVN5c3RlbSgpCiAgICAgICAgIHBvcnQuX2ZpbGVzeXN0ZW0gPSBm
aWxlc3lzdGVtCiAgICAgICAgIHBvcnQucGF0aF9mcm9tX2Nocm9taXVtX2Jhc2UgPSBsYW1iZGEg
KmNvbXBzOiAnLycgKyAnLycuam9pbihjb21wcykKIApAQCAtMzEwLDE1ICsyOTcsMTQgQEAgTElO
VVggV0lOIDogZmFzdC9qcy92ZXJ5LWdvb2QuanMgPSBUSU1FT1VUIFBBU1MiIiIKIAogY2xhc3Mg
Q2hyb21pdW1Qb3J0TG9nZ2luZ1Rlc3QobG9ndGVzdGluZy5Mb2dnaW5nVGVzdENhc2UpOgogICAg
IGRlZiB0ZXN0X2NoZWNrX3N5c19kZXBzKHNlbGYpOgotICAgICAgICBtb2NrX29wdGlvbnMgPSBt
b2NrdG9vbC5Nb2NrT3B0aW9ucygpCi0gICAgICAgIHBvcnQgPSBDaHJvbWl1bVBvcnRUZXN0LlRl
c3RMaW51eFBvcnQob3B0aW9ucz1tb2NrX29wdGlvbnMpCisgICAgICAgIHBvcnQgPSBDaHJvbWl1
bVBvcnRUZXN0LlRlc3RMaW51eFBvcnQoKQogCiAgICAgICAgICMgU3VjY2VzcwotICAgICAgICBw
b3J0Ll9leGVjdXRpdmUgPSBleGVjdXRpdmVfbW9jay5Nb2NrRXhlY3V0aXZlMihleGl0X2NvZGU9
MCkKKyAgICAgICAgcG9ydC5fZXhlY3V0aXZlID0gTW9ja0V4ZWN1dGl2ZTIoZXhpdF9jb2RlPTAp
CiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShwb3J0LmNoZWNrX3N5c19kZXBzKG5lZWRzX2h0dHA9
RmFsc2UpKQogCiAgICAgICAgICMgRmFpbHVyZQotICAgICAgICBwb3J0Ll9leGVjdXRpdmUgPSBl
eGVjdXRpdmVfbW9jay5Nb2NrRXhlY3V0aXZlMihleGl0X2NvZGU9MSwKKyAgICAgICAgcG9ydC5f
ZXhlY3V0aXZlID0gTW9ja0V4ZWN1dGl2ZTIoZXhpdF9jb2RlPTEsCiAgICAgICAgICAgICBvdXRw
dXQ9J3Rlc3Rpbmcgb3V0cHV0IGZhaWx1cmUnKQogICAgICAgICBzZWxmLmFzc2VydEZhbHNlKHBv
cnQuY2hlY2tfc3lzX2RlcHMobmVlZHNfaHR0cD1GYWxzZSkpCiAgICAgICAgIHNlbGYuYXNzZXJ0
TG9nKFsKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3Bv
cnQvY2hyb21pdW1fd2luLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMv
cG9ydC9jaHJvbWl1bV93aW4ucHkKaW5kZXggMWYyNmNlZDcxOWEzMWJjOGRhOTQ4MGZiNGUzMjk2
OThlNzFjMDllYy4uMGEwMmJmMDRmYTUzNjUyNzEwZGJlMzFjY2JmYzEzZjBlNTVkZTU3MCAxMDA3
NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1
bV93aW4ucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9j
aHJvbWl1bV93aW4ucHkKQEAgLTEyMiwxMyArMTIyLDEzIEBAIGNsYXNzIENocm9taXVtV2luUG9y
dChjaHJvbWl1bS5DaHJvbWl1bVBvcnQpOgogICAgICAgICAgICAgICAgIF9sb2cuZGVidWcoJ0Zh
aWxlZCB0byBlbmdhZ2Ugc3ZuLmJhdCBXaW5kb3dzIGhhY2suJykKIAogICAgIGRlZiBzZXR1cF9l
bnZpcm9uX2Zvcl9zZXJ2ZXIoc2VsZiwgc2VydmVyX25hbWU9Tm9uZSk6Ci0gICAgICAgIGVudiA9
IGNocm9taXVtLkNocm9taXVtUG9ydC5zZXR1cF9lbnZpcm9uX2Zvcl9zZXJ2ZXIoc2VsZikKKyAg
ICAgICAgZW52ID0gY2hyb21pdW0uQ2hyb21pdW1Qb3J0LnNldHVwX2Vudmlyb25fZm9yX3NlcnZl
cihzZWxmLCBzZXJ2ZXJfbmFtZSkKICAgICAgICAgIyBQdXQgdGhlIGN5Z3dpbiBkaXJlY3Rvcnkg
Zmlyc3QgaW4gdGhlIHBhdGggdG8gZmluZCBjeWd3aW4xLmRsbC4KICAgICAgICAgZW52WyJQQVRI
Il0gPSAiJXM7JXMiICUgKHNlbGYucGF0aF9mcm9tX2Nocm9taXVtX2Jhc2UoInRoaXJkX3BhcnR5
IiwgImN5Z3dpbiIsICJiaW4iKSwgZW52WyJQQVRIIl0pCiAgICAgICAgICMgQ29uZmlndXJlIHRo
ZSBjeWd3aW4gZGlyZWN0b3J5IHNvIHRoYXQgcHl3ZWJzb2NrZXQgZmluZHMgcHJvcGVyCiAgICAg
ICAgICMgcHl0aG9uIGV4ZWN1dGFibGUgdG8gcnVuIGNnaSBwcm9ncmFtLgogICAgICAgICBlbnZb
IkNZR1dJTl9QQVRIIl0gPSBzZWxmLnBhdGhfZnJvbV9jaHJvbWl1bV9iYXNlKCJ0aGlyZF9wYXJ0
eSIsICJjeWd3aW4iLCAiYmluIikKLSAgICAgICAgaWYgKHN5cy5wbGF0Zm9ybSBpbiAoImN5Z3dp
biIsICJ3aW4zMiIpIGFuZCBzZWxmLmdldF9vcHRpb24oJ3JlZ2lzdGVyX2N5Z3dpbicpKToKKyAg
ICAgICAgaWYgc2VsZi5nZXRfb3B0aW9uKCdyZWdpc3Rlcl9jeWd3aW4nKToKICAgICAgICAgICAg
IHNldHVwX21vdW50ID0gc2VsZi5wYXRoX2Zyb21fY2hyb21pdW1fYmFzZSgidGhpcmRfcGFydHki
LCAiY3lnd2luIiwgInNldHVwX21vdW50LmJhdCIpCiAgICAgICAgICAgICBzZWxmLl9leGVjdXRp
dmUucnVuX2NvbW1hbmQoW3NldHVwX21vdW50XSkgICMgUGF0aHMgYXJlIGFsbCBhYnNvbHV0ZSwg
c28gdGhpcyBkb2VzIG5vdCByZXF1aXJlIGEgY3dkLgogICAgICAgICByZXR1cm4gZW52CmRpZmYg
LS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVt
X3dpbl91bml0dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3Bv
cnQvY2hyb21pdW1fd2luX3VuaXR0ZXN0LnB5CmluZGV4IGIxNWQ1OTNkMGNjMmM0NmJhYjg1YzAw
NzM2ZDgzMGY1MmFkMDYzN2EuLmM2ZWI3MjJmOGZkOTczM2YxNjZiZDhmMjQ0YWE1NGRkMTBkN2I1
MWEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQv
Y2hyb21pdW1fd2luX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5
b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fd2luX3VuaXR0ZXN0LnB5CkBAIC01Miw1MyArNTIsNDAg
QEAgY2xhc3MgQ2hyb21pdW1XaW5UZXN0KHBvcnRfdGVzdGNhc2UuUG9ydFRlc3RDYXNlKToKICAg
ICAgICAgc2VsZi5fcG9ydCA9IE5vbmUKIAogICAgIGRlZiBwb3J0X21ha2VyKHNlbGYsIHBsYXRm
b3JtKToKLSAgICAgICAgaWYgcGxhdGZvcm0gbm90IGluICgnY3lnd2luJywgJ3dpbjMyJyk6Ci0g
ICAgICAgICAgICByZXR1cm4gTm9uZQogICAgICAgICByZXR1cm4gY2hyb21pdW1fd2luLkNocm9t
aXVtV2luUG9ydAogCi0gICAgZGVmIF9tb2NrX3BhdGhfZnJvbV9jaHJvbWl1bV9iYXNlKHNlbGYs
ICpjb21wcyk6Ci0gICAgICAgIHJldHVybiBzZWxmLl9wb3J0Ll9maWxlc3lzdGVtLmpvaW4oIi9j
aHJvbWl1bS9zcmMiLCAqY29tcHMpCi0KICAgICBkZWYgdGVzdF91c2VzX2FwYWNoZShzZWxmKToK
LSAgICAgICAgcG9ydCA9IHNlbGYubWFrZV9wb3J0KCkKLSAgICAgICAgaWYgbm90IHBvcnQ6Ci0g
ICAgICAgICAgICByZXR1cm4KLQotICAgICAgICBzZWxmLmFzc2VydEZhbHNlKHBvcnQuX3VzZXNf
YXBhY2hlKCkpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uoc2VsZi5tYWtlX3BvcnQoKS5fdXNl
c19hcGFjaGUoKSkKIAogICAgIGRlZiB0ZXN0X3NldHVwX2Vudmlyb25fZm9yX3NlcnZlcihzZWxm
KToKICAgICAgICAgcG9ydCA9IHNlbGYubWFrZV9wb3J0KCkKLSAgICAgICAgaWYgbm90IHBvcnQ6
Ci0gICAgICAgICAgICByZXR1cm4KLQogICAgICAgICBwb3J0Ll9leGVjdXRpdmUgPSBtb2NrdG9v
bC5Nb2NrRXhlY3V0aXZlKHNob3VsZF9sb2c9VHJ1ZSkKLSAgICAgICAgc2VsZi5fcG9ydCA9IHBv
cnQKLSAgICAgICAgcG9ydC5wYXRoX2Zyb21fY2hyb21pdW1fYmFzZSA9IHNlbGYuX21vY2tfcGF0
aF9mcm9tX2Nocm9taXVtX2Jhc2UKICAgICAgICAgb3V0cHV0ID0gb3V0cHV0Y2FwdHVyZS5PdXRw
dXRDYXB0dXJlKCkKKyAgICAgICAgIyBGSVhNRTogVGhpcyB0ZXN0IHNob3VsZCBub3QgdXNlIHRo
ZSByZWFsIG9zLmVudmlyb24KICAgICAgICAgb3JpZ19lbnZpcm9uID0gb3MuZW52aXJvbi5jb3B5
KCkKICAgICAgICAgZW52ID0gb3V0cHV0LmFzc2VydF9vdXRwdXRzKHNlbGYsIHBvcnQuc2V0dXBf
ZW52aXJvbl9mb3Jfc2VydmVyKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG9yaWdfZW52aXJv
blsiUEFUSCJdLCBvcy5lbnZpcm9uWyJQQVRIIl0pCiAgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1
YWwoZW52WyJQQVRIIl0sIG9zLmVudmlyb25bIlBBVEgiXSkKIAorICAgIGRlZiB0ZXN0X3NldHVw
X2Vudmlyb25fZm9yX3NlcnZlcl9jeWdwYXRoKHNlbGYpOgorICAgICAgICBwb3J0ID0gc2VsZi5t
YWtlX3BvcnQoKQorICAgICAgICBlbnYgPSBwb3J0LnNldHVwX2Vudmlyb25fZm9yX3NlcnZlcihw
b3J0LmRyaXZlcl9uYW1lKCkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKGVudlsnQ1lHV0lO
X1BBVEgnXSwgJy9tb2NrLWNoZWNrb3V0L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGhpcmRfcGFy
dHkvY3lnd2luL2JpbicpCisKICAgICBkZWYgdGVzdF9zZXR1cF9lbnZpcm9uX2Zvcl9zZXJ2ZXJf
cmVnaXN0ZXJfY3lnd2luKHNlbGYpOgogICAgICAgICBwb3J0ID0gc2VsZi5tYWtlX3BvcnQob3B0
aW9ucz1DaHJvbWl1bVdpblRlc3QuUmVnaXN0ZXJDeWd3aW5PcHRpb24oKSkKLSAgICAgICAgaWYg
bm90IHBvcnQ6Ci0gICAgICAgICAgICByZXR1cm4KLQogICAgICAgICBwb3J0Ll9leGVjdXRpdmUg
PSBtb2NrdG9vbC5Nb2NrRXhlY3V0aXZlKHNob3VsZF9sb2c9VHJ1ZSkKLSAgICAgICAgcG9ydC5w
YXRoX2Zyb21fY2hyb21pdW1fYmFzZSA9IHNlbGYuX21vY2tfcGF0aF9mcm9tX2Nocm9taXVtX2Jh
c2UKLSAgICAgICAgc2VsZi5fcG9ydCA9IHBvcnQKLSAgICAgICAgc2V0dXBfbW91bnQgPSBzZWxm
Ll9tb2NrX3BhdGhfZnJvbV9jaHJvbWl1bV9iYXNlKCJ0aGlyZF9wYXJ0eSIsICJjeWd3aW4iLCAi
c2V0dXBfbW91bnQuYmF0IikKLSAgICAgICAgZXhwZWN0ZWRfc3RkZXJyID0gIk1PQ0sgcnVuX2Nv
bW1hbmQ6ICVzLCBjd2Q9Tm9uZVxuIiAlIFtzZXR1cF9tb3VudF0KKyAgICAgICAgZXhwZWN0ZWRf
c3RkZXJyID0gIk1PQ0sgcnVuX2NvbW1hbmQ6IFsnL21vY2stY2hlY2tvdXQvU291cmNlL1dlYktp
dC9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jeWd3aW4vc2V0dXBfbW91bnQuYmF0J10sIGN3ZD1Ob25l
XG4iCiAgICAgICAgIG91dHB1dCA9IG91dHB1dGNhcHR1cmUuT3V0cHV0Q2FwdHVyZSgpCiAgICAg
ICAgIG91dHB1dC5hc3NlcnRfb3V0cHV0cyhzZWxmLCBwb3J0LnNldHVwX2Vudmlyb25fZm9yX3Nl
cnZlciwgZXhwZWN0ZWRfc3RkZXJyPWV4cGVjdGVkX3N0ZGVycikKIAogICAgIGRlZiBhc3NlcnRf
bmFtZShzZWxmLCBwb3J0X25hbWUsIHdpbmRvd3NfdmVyc2lvbiwgZXhwZWN0ZWQpOgotICAgICAg
ICBwb3J0ID0gY2hyb21pdW1fd2luLkNocm9taXVtV2luUG9ydChwb3J0X25hbWU9cG9ydF9uYW1l
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aW5kb3dzX3Zl
cnNpb249d2luZG93c192ZXJzaW9uKQorICAgICAgICAjIEZJWE1FOiBUaGlzIHNob3VsZCB1c2Ug
bWFrZV9wb3J0IG9yIHBhc3MgTW9ja0ZpbGVTeXN0ZW0vTW9ja1VzZXIvTW9ja0V4ZWN1dGl2ZSBk
aXJlY3RseS4KKyAgICAgICAgcG9ydCA9IGNocm9taXVtX3dpbi5DaHJvbWl1bVdpblBvcnQocG9y
dF9uYW1lPXBvcnRfbmFtZSwgd2luZG93c192ZXJzaW9uPXdpbmRvd3NfdmVyc2lvbikKICAgICAg
ICAgc2VsZi5hc3NlcnRFcXVhbHMoZXhwZWN0ZWQsIHBvcnQubmFtZSgpKQogCiAgICAgZGVmIHRl
c3RfdmVyc2lvbnMoc2VsZik6CisgICAgICAgICMgRklYTUU6IFRoaXMgc2hvdWxkIHVzZSBtYWtl
X3BvcnQgb3IgcGFzcyBNb2NrRmlsZVN5c3RlbS9Nb2NrVXNlci9Nb2NrRXhlY3V0aXZlIGRpcmVj
dGx5LgogICAgICAgICBwb3J0ID0gY2hyb21pdW1fd2luLkNocm9taXVtV2luUG9ydCgpCiAgICAg
ICAgIHNlbGYuYXNzZXJ0VHJ1ZShwb3J0Lm5hbWUoKSBpbiAoJ2Nocm9taXVtLXdpbi14cCcsICdj
aHJvbWl1bS13aW4tdmlzdGEnLCAnY2hyb21pdW0td2luLXdpbjcnKSkKIApAQCAtMTI2LDYgKzEx
Myw3IEBAIGNsYXNzIENocm9taXVtV2luVGVzdChwb3J0X3Rlc3RjYXNlLlBvcnRUZXN0Q2FzZSk6
CiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEtleUVycm9yLCBzZWxmLmFzc2VydF9uYW1lLCBO
b25lLCAoNywgMSksICdjaHJvbWl1bS13aW4teHAnKQogCiAgICAgZGVmIHRlc3RfYmFzZWxpbmVf
cGF0aChzZWxmKToKKyAgICAgICAgIyBGSVhNRTogVGhpcyBzaG91bGQgdXNlIG1ha2VfcG9ydCBv
ciBwYXNzIE1vY2tGaWxlU3lzdGVtL01vY2tVc2VyL01vY2tFeGVjdXRpdmUgZGlyZWN0bHkuCiAg
ICAgICAgIHBvcnQgPSBjaHJvbWl1bV93aW4uQ2hyb21pdW1XaW5Qb3J0KHBvcnRfbmFtZT0nY2hy
b21pdW0td2luLXhwJykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMocG9ydC5iYXNlbGluZV9w
YXRoKCksIHBvcnQuX3dlYmtpdF9iYXNlbGluZV9wYXRoKCdjaHJvbWl1bS13aW4teHAnKSkKIApA
QCAtMTM2LDE3ICsxMjQsMTQgQEAgY2xhc3MgQ2hyb21pdW1XaW5UZXN0KHBvcnRfdGVzdGNhc2Uu
UG9ydFRlc3RDYXNlKToKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMocG9ydC5iYXNlbGluZV9w
YXRoKCksIHBvcnQuX3dlYmtpdF9iYXNlbGluZV9wYXRoKCdjaHJvbWl1bS13aW4nKSkKIAogICAg
IGRlZiB0ZXN0X2J1aWxkX3BhdGgoc2VsZik6Ci0gICAgICAgIG1vY2sgPSBNb2NrRmlsZVN5c3Rl
bShmaWxlcz17Ci0gICAgICAgICAgICAnL21vY2stY2hlY2tvdXQvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9idWlsZC9SZWxlYXNlL0R1bXBSZW5kZXJUcmVlLmV4ZSc6ICdleGUnfSkKKyAgICAgICAg
bW9ja19maWxlc3lzdGVtID0gTW9ja0ZpbGVTeXN0ZW0oZmlsZXM9eworICAgICAgICAgICAgJy9t
b2NrLWNoZWNrb3V0L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vYnVpbGQvUmVsZWFzZS9EdW1wUmVu
ZGVyVHJlZS5leGUnOiAnZXhlJworICAgICAgICB9KQogCi0gICAgICAgIHBvcnQgPSBjaHJvbWl1
bV93aW4uQ2hyb21pdW1XaW5Qb3J0KGZpbGVzeXN0ZW09bW9jaykKKyAgICAgICAgcG9ydCA9IGNo
cm9taXVtX3dpbi5DaHJvbWl1bVdpblBvcnQoZmlsZXN5c3RlbT1tb2NrX2ZpbGVzeXN0ZW0pCiAg
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKAogICAgICAgICAgICAgJy9tb2NrLWNoZWNrb3V0L1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vYnVpbGQvUmVsZWFzZS9EdW1wUmVuZGVyVHJlZS5leGUnLAog
ICAgICAgICAgICAgcG9ydC5fcGF0aF90b19kcml2ZXIoJ1JlbGVhc2UnKSkKICAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbHMoCiAgICAgICAgICAgICAnL21vY2stY2hlY2tvdXQvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9idWlsZC9EZWJ1Zy9EdW1wUmVuZGVyVHJlZS5leGUnLAogICAgICAgICAgICAg
cG9ydC5fcGF0aF90b19kcml2ZXIoJ0RlYnVnJykpCi0KLQotaWYgX19uYW1lX18gPT0gJ19fbWFp
bl9fJzoKLSAgICBwb3J0X3Rlc3RjYXNlLm1haW4oKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9nb29nbGVfY2hyb21lX3VuaXR0ZXN0LnB5IGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9nb29nbGVfY2hyb21lX3Vu
aXR0ZXN0LnB5CmluZGV4IDZmY2M5MDg0MGYyZDg5YjdhNmVjNmZlZWQ3NjFhZjUwZjQwNWY0NjYu
Ljc0ZmJiYThiNTU1MmJhYmIyOTQzYWIyNmQzNDZhY2VkY2E5NmQ0ZmEgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvZ29vZ2xlX2Nocm9tZV91bml0
dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2dv
b2dsZV9jaHJvbWVfdW5pdHRlc3QucHkKQEAgLTQ1LDE5ICs0NSwyMSBAQCBjbGFzcyBHZXRHb29n
bGVDaHJvbWVQb3J0VGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIHNlbGYuX3Zlcmlm
eV9iYXNlbGluZV9wYXRoKCdnb29nbGUtY2hyb21lLXdpbicsICdnb29nbGUtY2hyb21lLXdpbi12
aXN0YScpCiAKICAgICBkZWYgX3ZlcmlmeV9iYXNlbGluZV9wYXRoKHNlbGYsIGV4cGVjdGVkX3Bh
dGgsIHBvcnRfbmFtZSk6Ci0gICAgICAgIHBvcnQgPSBnb29nbGVfY2hyb21lLkdldEdvb2dsZUNo
cm9tZVBvcnQocG9ydF9uYW1lPXBvcnRfbmFtZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zPU5vbmUpCisgICAgICAgICMgRklYTUU6IFRo
aXMgc2hvdWxkIHVzZSBhIE1vY2tGaWxlU3lzdGVtLCBNb2NrVXNlciBhbmQgTW9ja0V4ZWN1dGl2
ZS4KKyAgICAgICAgcG9ydCA9IGdvb2dsZV9jaHJvbWUuR2V0R29vZ2xlQ2hyb21lUG9ydChwb3J0
X25hbWU9cG9ydF9uYW1lLCBvcHRpb25zPU5vbmUpCiAgICAgICAgIHBhdGggPSBwb3J0LmJhc2Vs
aW5lX3NlYXJjaF9wYXRoKClbMF0KICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChleHBlY3RlZF9w
YXRoLCBwb3J0Ll9maWxlc3lzdGVtLmJhc2VuYW1lKHBhdGgpKQogCiAgICAgZGVmIF92ZXJpZnlf
ZXhwZWN0YXRpb25zX292ZXJyaWRlcyhzZWxmLCBwb3J0X25hbWUpOgotICAgICAgICAjIEZJWE1F
OiBtYWtlIHRoaXMgbW9yZSByb2J1c3Qgd2hlbiB3ZSBoYXZlIHRoZSBUcmVlKCkgYWJzdHJhY3Rp
b24uCisgICAgICAgICMgRklYTUU6IE1ha2UgdGhpcyBtb3JlIHJvYnVzdCB3aGVuIHdlIGhhdmUg
dGhlIFRyZWUoKSBhYnN0cmFjdGlvbi4KICAgICAgICAgIyB3ZSBzaG91bGQgYmUgYWJsZSB0byB0
ZXN0IGZvciB0aGUgZmlsZXMgZXhpc3Rpbmcgb3Igbm90LCBhbmQKICAgICAgICAgIyBiZSBhYmxl
IHRvIGNvbnRyb2wgdGhlIGNvbnRlbnRzIGJldHRlci4KKyAgICAgICAgIyBGSVhNRTogV2hhdCBp
cyB0aGUgVHJlZSgpIGFic3RyYWN0aW9uPwogCi0gICAgICAgIGNocm9taXVtX3BvcnQgPSBmYWN0
b3J5LmdldCgiY2hyb21pdW0tY2ctbWFjIikKLSAgICAgICAgY2hyb21pdW1fYmFzZSA9IGNocm9t
aXVtX3BvcnQucGF0aF9mcm9tX2Nocm9taXVtX2Jhc2UoKQogICAgICAgICBmcyA9IGZpbGVzeXN0
ZW1fbW9jay5Nb2NrRmlsZVN5c3RlbSgpCisgICAgICAgIGNocm9taXVtX3BvcnQgPSBmYWN0b3J5
LmdldCgiY2hyb21pdW0tY2ctbWFjIiwgZmlsZXN5c3RlbT1mcykKKyAgICAgICAgY2hyb21pdW1f
YmFzZSA9IGNocm9taXVtX3BvcnQucGF0aF9mcm9tX2Nocm9taXVtX2Jhc2UoKQorICAgICAgICAj
IEZJWE1FOiBUaGlzIHNob3VsZCB1c2UgYSBNb2NrRmlsZVN5c3RlbSwgTW9ja1VzZXIgYW5kIE1v
Y2tFeGVjdXRpdmUuCiAgICAgICAgIHBvcnQgPSBnb29nbGVfY2hyb21lLkdldEdvb2dsZUNocm9t
ZVBvcnQocG9ydF9uYW1lPXBvcnRfbmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBvcHRpb25zPU5vbmUsIGZpbGVzeXN0ZW09ZnMpCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>114358</attachid>
            <date>2011-11-09 13:53:40 -0800</date>
            <delta_ts>2011-11-14 12:24:11 -0800</delta_ts>
            <desc>Set LC_ALL to C</desc>
            <filename>Patch</filename>
            <type>text/plain</type>
            <size>1302</size>
            <attacher>vanuan</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDk5NzU2KQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMTEgQEAKKzIwMTEtMTEtMDkgIFZhbnVhbiAgPHZhbnVhbkBnbWFpbC5jb20+CisKKyAgICAg
ICAgbmV3LXJ1bi13ZWJraXQtdGVzdHMgc2hvdWxkIG5vdCBiZSBsb2NhbGUgZGVwZW5kZW50IGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY5MQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9s
YXlvdXRfdGVzdHMvcG9ydC9iYXNlLnB5OgorCiAyMDExLTExLTA5ICBQaGlsaXBwZSBOb3JtYW5k
ICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXVtEUlRdIHdpbmRvdyBpbnRl
cm5hbHMgb2JqZWN0IGlzIG5vdCByZXNldCBhZnRlciBlYWNoIHRlc3QKSW5kZXg6IFRvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvYmFzZS5weQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBU
b29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Jhc2UucHkJKHJldmlzaW9u
IDk5NDcyKQorKysgVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9iYXNl
LnB5CSh3b3JraW5nIGNvcHkpCkBAIC02NTIsNyArNjUyLDEyIEBAIGNsYXNzIFBvcnQob2JqZWN0
KToKICAgICAgICAgUmV0dXJuczoKICAgICAgICAgICAgT3BlcmF0aW5nLXN5c3RlbSdzIGVudmly
b25tZW50LgogICAgICAgICAiIiIKLSAgICAgICAgcmV0dXJuIG9zLmVudmlyb24uY29weSgpCisg
ICAgICAgIGVudiA9IG9zLmVudmlyb24uY29weSgpCisgICAgICAgICIiIiBUaGlzIGlzIGEgaGFj
ayAodGVzdHMgc2hvdWxkbid0IGJlIGxvY2FsZSBkZXBlbmRlbnQpLgorICAgICAgICAgICAgV29y
a3Mgb25seSBpbiB1bml4IGVudmlyb25tZW50cy4KKyAgICAgICAgIiIiCisgICAgICAgIGVudlsn
TENfQUxMJ10gPSAnQycKKyAgICAgICAgcmV0dXJuIGVudgogCiAgICAgZGVmIHNob3dfcmVzdWx0
c19odG1sX2ZpbGUoc2VsZiwgcmVzdWx0c19maWxlbmFtZSk6CiAgICAgICAgICIiIlRoaXMgcm91
dGluZSBzaG91bGQgZGlzcGxheSB0aGUgSFRNTCBmaWxlIHBvaW50ZWQgYXQgYnkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>115004</attachid>
            <date>2011-11-14 12:24:11 -0800</date>
            <delta_ts>2011-11-14 12:29:59 -0800</delta_ts>
            <desc>Patch to land</desc>
            <filename>Patch1</filename>
            <type>text/plain</type>
            <size>1609</size>
            <attacher>vanuan</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDEwMDE3NCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDEyIEBACisyMDExLTExLTE0ICBWYW51YW4gIDx2YW51YW5AZ21haWwuY29tPgorCisgICAg
ICAgIG5ldy1ydW4td2Via2l0LXRlc3RzIHNob3VsZCBub3QgYmUgbG9jYWxlIGRlcGVuZGVudCBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2OTEKKyAgICAgICAgT3Zl
cnJpZGUgTE9DQUxFIHRvIGVuX1VTLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9iYXNl
LnB5OgorCiAyMDExLTExLTE0ICBEYXZpZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CiAK
ICAgICAgICAgcnVuLWxlYWtzIGRvZXMgbm90IHdvcmsgb24gTGlvbj8KQEAgLTE4Miw2ICsxOTEs
NyBAQAogICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0R1bXBSZW5kZXJUcmVlLmNw
cDoKICAgICAgICAgKG1haW4pOgogCis+Pj4+Pj4+IC5yMTAwMTM5CiAyMDExLTExLTEyICBBcml5
YSBIaWRheWF0ICA8YXJpeWFAc2VuY2hhLmNvbT4KIAogICAgICAgICBbUXRdIEZpeCBtaW5vciBj
b25maWcgdHlwbyBpbiB0aGUgYnVpbGQgdG9vbCBkb2N1bWVudGF0aW9uCkluZGV4OiBUb29scy9T
Y3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Jhc2UucHkKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9iYXNlLnB5CShyZXZpc2lv
biAxMDAxMjUpCisrKyBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Jh
c2UucHkJKHdvcmtpbmcgY29weSkKQEAgLTY1NCw3ICs2NTQsMTQgQEAgY2xhc3MgUG9ydChvYmpl
Y3QpOgogICAgICAgICBSZXR1cm5zOgogICAgICAgICAgICBPcGVyYXRpbmctc3lzdGVtJ3MgZW52
aXJvbm1lbnQuCiAgICAgICAgICIiIgotICAgICAgICByZXR1cm4gb3MuZW52aXJvbi5jb3B5KCkK
KyAgICAgICAgZW52ID0gb3MuZW52aXJvbi5jb3B5KCkKKyAgICAgICAgIiIiIFRoaXMgaXMgYSBo
YWNrICh0ZXN0cyBzaG91bGRuJ3QgYmUgbG9jYWxlIGRlcGVuZGVudCkuCisgICAgICAgICAgICBX
b3JrcyBvbmx5IGluIHVuaXggZW52aXJvbm1lbnRzLgorICAgICAgICAiIiIKKyAgICAgICAgZW52
WydMQU5HVUFHRSddPSdlbicKKyAgICAgICAgZW52WydMQ19NRVNTQUdFUyddPSdlbl9VUy51dGY4
JworICAgICAgICBlbnZbJ0xBTkcnXT0nZW5fVVMuVVRGLTgnCisgICAgICAgIHJldHVybiBlbnYK
IAogICAgIGRlZiBzaG93X3Jlc3VsdHNfaHRtbF9maWxlKHNlbGYsIHJlc3VsdHNfZmlsZW5hbWUp
OgogICAgICAgICAiIiJUaGlzIHJvdXRpbmUgc2hvdWxkIGRpc3BsYXkgdGhlIEhUTUwgZmlsZSBw
b2ludGVkIGF0IGJ5Cg==
</data>
<flag name="review"
          id="113789"
          type_id="1"
          status="-"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>115005</attachid>
            <date>2011-11-14 12:29:59 -0800</date>
            <delta_ts>2011-11-14 12:35:50 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>Patch1</filename>
            <type>text/plain</type>
            <size>1380</size>
            <attacher>vanuan</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDEwMDE3NCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDEyIEBACisyMDExLTExLTE0ICBWYW51YW4gIDx2YW51YW5AZ21haWwuY29tPgorCisgICAg
ICAgIG5ldy1ydW4td2Via2l0LXRlc3RzIHNob3VsZCBub3QgYmUgbG9jYWxlIGRlcGVuZGVudCBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2OTEKKyAgICAgICAgT3Zl
cnJpZGUgTE9DQUxFIHRvIGVuX1VTLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9iYXNl
LnB5OgorCiAyMDExLTExLTE0ICBEYXZpZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CiAK
ICAgICAgICAgcnVuLWxlYWtzIGRvZXMgbm90IHdvcmsgb24gTGlvbj8KSW5kZXg6IFRvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvYmFzZS5weQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBU
b29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Jhc2UucHkJKHJldmlzaW9u
IDEwMDEyNSkKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvYmFz
ZS5weQkod29ya2luZyBjb3B5KQpAQCAtNjU0LDcgKzY1NCwxNCBAQCBjbGFzcyBQb3J0KG9iamVj
dCk6CiAgICAgICAgIFJldHVybnM6CiAgICAgICAgICAgIE9wZXJhdGluZy1zeXN0ZW0ncyBlbnZp
cm9ubWVudC4KICAgICAgICAgIiIiCi0gICAgICAgIHJldHVybiBvcy5lbnZpcm9uLmNvcHkoKQor
ICAgICAgICBlbnYgPSBvcy5lbnZpcm9uLmNvcHkoKQorICAgICAgICAiIiIgVGhpcyBpcyBhIGhh
Y2sgKHRlc3RzIHNob3VsZG4ndCBiZSBsb2NhbGUgZGVwZW5kZW50KS4KKyAgICAgICAgICAgIFdv
cmtzIG9ubHkgaW4gdW5peCBlbnZpcm9ubWVudHMuCisgICAgICAgICIiIgorICAgICAgICBlbnZb
J0xBTkdVQUdFJ109J2VuJworICAgICAgICBlbnZbJ0xDX01FU1NBR0VTJ109J2VuX1VTLnV0Zjgn
CisgICAgICAgIGVudlsnTEFORyddPSdlbl9VUy5VVEYtOCcKKyAgICAgICAgcmV0dXJuIGVudgog
CiAgICAgZGVmIHNob3dfcmVzdWx0c19odG1sX2ZpbGUoc2VsZiwgcmVzdWx0c19maWxlbmFtZSk6
CiAgICAgICAgICIiIlRoaXMgcm91dGluZSBzaG91bGQgZGlzcGxheSB0aGUgSFRNTCBmaWxlIHBv
aW50ZWQgYXQgYnkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>115008</attachid>
            <date>2011-11-14 12:35:50 -0800</date>
            <delta_ts>2011-11-14 12:49:13 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>Patch1</filename>
            <type>text/plain</type>
            <size>1386</size>
            <attacher>vanuan</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDEwMDE3NCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDEyIEBACisyMDExLTExLTE0ICBWYW51YW4gIDx2YW51YW5AZ21haWwuY29tPgorCisgICAg
ICAgIG5ldy1ydW4td2Via2l0LXRlc3RzIHNob3VsZCBub3QgYmUgbG9jYWxlIGRlcGVuZGVudCBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2OTEKKyAgICAgICAgT3Zl
cnJpZGUgTE9DQUxFIHRvIGVuX1VTLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9iYXNl
LnB5OgorCiAyMDExLTExLTE0ICBEYXZpZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CiAK
ICAgICAgICAgcnVuLWxlYWtzIGRvZXMgbm90IHdvcmsgb24gTGlvbj8KSW5kZXg6IFRvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvYmFzZS5weQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBU
b29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Jhc2UucHkJKHJldmlzaW9u
IDEwMDEyNSkKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvYmFz
ZS5weQkod29ya2luZyBjb3B5KQpAQCAtNjU0LDcgKzY1NCwxNCBAQCBjbGFzcyBQb3J0KG9iamVj
dCk6CiAgICAgICAgIFJldHVybnM6CiAgICAgICAgICAgIE9wZXJhdGluZy1zeXN0ZW0ncyBlbnZp
cm9ubWVudC4KICAgICAgICAgIiIiCi0gICAgICAgIHJldHVybiBvcy5lbnZpcm9uLmNvcHkoKQor
ICAgICAgICBlbnYgPSBvcy5lbnZpcm9uLmNvcHkoKQorICAgICAgICAiIiIgVGhpcyBpcyBhIGhh
Y2sgKHRlc3RzIHNob3VsZG4ndCBiZSBsb2NhbGUgZGVwZW5kZW50KS4KKyAgICAgICAgICAgIFdv
cmtzIG9ubHkgaW4gdW5peCBlbnZpcm9ubWVudHMuCisgICAgICAgICIiIgorICAgICAgICBlbnZb
J0xBTkdVQUdFJ10gPSAnZW4nCisgICAgICAgIGVudlsnTENfTUVTU0FHRVMnXSA9ICdlbl9VUy51
dGY4JworICAgICAgICBlbnZbJ0xBTkcnXSA9ICdlbl9VUy5VVEYtOCcKKyAgICAgICAgcmV0dXJu
IGVudgogCiAgICAgZGVmIHNob3dfcmVzdWx0c19odG1sX2ZpbGUoc2VsZiwgcmVzdWx0c19maWxl
bmFtZSk6CiAgICAgICAgICIiIlRoaXMgcm91dGluZSBzaG91bGQgZGlzcGxheSB0aGUgSFRNTCBm
aWxlIHBvaW50ZWQgYXQgYnkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>115013</attachid>
            <date>2011-11-14 12:49:13 -0800</date>
            <delta_ts>2011-11-17 14:05:28 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>Patch1</filename>
            <type>text/plain</type>
            <size>1384</size>
            <attacher>vanuan</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDEwMDE3NCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDEyIEBACisyMDExLTExLTE0ICBKb2huIFlhbmkgIDx2YW51YW5AZ21haWwuY29tPgorCisg
ICAgICAgIG5ldy1ydW4td2Via2l0LXRlc3RzIHNob3VsZCBub3QgYmUgbG9jYWxlIGRlcGVuZGVu
dCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2OTEKKyAgICAgICAg
T3ZlcnJpZGUgTE9DQUxFIHRvIGVuX1VTLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9i
YXNlLnB5OgorCiAyMDExLTExLTE0ICBEYXZpZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+
CiAKICAgICAgICAgcnVuLWxlYWtzIGRvZXMgbm90IHdvcmsgb24gTGlvbj8KSW5kZXg6IFRvb2xz
L1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvYmFzZS5weQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Jhc2UucHkJKHJldmlz
aW9uIDEwMDEyNSkKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQv
YmFzZS5weQkod29ya2luZyBjb3B5KQpAQCAtNjU0LDcgKzY1NCwxMyBAQCBjbGFzcyBQb3J0KG9i
amVjdCk6CiAgICAgICAgIFJldHVybnM6CiAgICAgICAgICAgIE9wZXJhdGluZy1zeXN0ZW0ncyBl
bnZpcm9ubWVudC4KICAgICAgICAgIiIiCi0gICAgICAgIHJldHVybiBvcy5lbnZpcm9uLmNvcHko
KQorICAgICAgICBlbnYgPSBvcy5lbnZpcm9uLmNvcHkoKQorICAgICAgICAjIEZJWE1FOiBUaGlz
IGlzIGEgaGFjay4gIFRlc3RzIHNob3VsZG4ndCBiZSBsb2NhbGUgZGVwZW5kZW50LgorICAgICAg
ICAjIFRoaXMgd29ya3Mgb25seSBpbiB1bml4IGVudmlyb25tZW50cy4KKyAgICAgICAgZW52WydM
QU5HVUFHRSddID0gJ2VuJworICAgICAgICBlbnZbJ0xDX01FU1NBR0VTJ10gPSAnZW5fVVMudXRm
OCcKKyAgICAgICAgZW52WydMQU5HJ10gPSAnZW5fVVMuVVRGLTgnCisgICAgICAgIHJldHVybiBl
bnYKIAogICAgIGRlZiBzaG93X3Jlc3VsdHNfaHRtbF9maWxlKHNlbGYsIHJlc3VsdHNfZmlsZW5h
bWUpOgogICAgICAgICAiIiJUaGlzIHJvdXRpbmUgc2hvdWxkIGRpc3BsYXkgdGhlIEhUTUwgZmls
ZSBwb2ludGVkIGF0IGJ5Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>115018</attachid>
            <date>2011-11-14 13:17:17 -0800</date>
            <delta_ts>2011-11-22 14:33:16 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>Patch1</filename>
            <type>text/plain</type>
            <size>2252</size>
            <attacher>vanuan</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDEwMDE3NCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDEyIEBACisyMDExLTExLTE0ICBKb2huIFlhbmkgIDx2YW51YW5AZ21haWwuY29tPgorCisg
ICAgICAgIG5ldy1ydW4td2Via2l0LXRlc3RzIHNob3VsZCBub3QgYmUgbG9jYWxlIGRlcGVuZGVu
dCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2OTEKKyAgICAgICAg
T3ZlcnJpZGUgTE9DQUxFIHRvIGVuX1VTLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9i
YXNlLnB5OgorCiAyMDExLTExLTE0ICBEYXZpZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+
CiAKICAgICAgICAgcnVuLWxlYWtzIGRvZXMgbm90IHdvcmsgb24gTGlvbj8KSW5kZXg6IFRvb2xz
L1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvYmFzZS5weQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Jhc2UucHkJKHJldmlz
aW9uIDEwMDEyNSkKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQv
YmFzZS5weQkod29ya2luZyBjb3B5KQpAQCAtNjU0LDcgKzY1NCwxMyBAQCBjbGFzcyBQb3J0KG9i
amVjdCk6CiAgICAgICAgIFJldHVybnM6CiAgICAgICAgICAgIE9wZXJhdGluZy1zeXN0ZW0ncyBl
bnZpcm9ubWVudC4KICAgICAgICAgIiIiCi0gICAgICAgIHJldHVybiBvcy5lbnZpcm9uLmNvcHko
KQorICAgICAgICBlbnYgPSBvcy5lbnZpcm9uLmNvcHkoKQorICAgICAgICAjIEZJWE1FOiBUaGlz
IGlzIGEgaGFjay4gIFRlc3RzIHNob3VsZG4ndCBiZSBsb2NhbGUgZGVwZW5kZW50LgorICAgICAg
ICAjIFRoaXMgd29ya3Mgb25seSBpbiB1bml4IGVudmlyb25tZW50cy4KKyAgICAgICAgZW52WydM
QU5HVUFHRSddID0gJ2VuJworICAgICAgICBlbnZbJ0xDX01FU1NBR0VTJ10gPSAnZW5fVVMudXRm
OCcKKyAgICAgICAgZW52WydMQU5HJ10gPSAnZW5fVVMuVVRGLTgnCisgICAgICAgIHJldHVybiBl
bnYKIAogICAgIGRlZiBzaG93X3Jlc3VsdHNfaHRtbF9maWxlKHNlbGYsIHJlc3VsdHNfZmlsZW5h
bWUpOgogICAgICAgICAiIiJUaGlzIHJvdXRpbmUgc2hvdWxkIGRpc3BsYXkgdGhlIEhUTUwgZmls
ZSBwb2ludGVkIGF0IGJ5CkluZGV4OiBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0
cy9wb3J0L2Jhc2VfdW5pdHRlc3QucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9sYXlvdXRfdGVzdHMvcG9ydC9iYXNlX3VuaXR0ZXN0LnB5CShyZXZpc2lvbiAxMDAxMjUp
CisrKyBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Jhc2VfdW5pdHRl
c3QucHkJKHdvcmtpbmcgY29weSkKQEAgLTE5NCw2ICsxOTQsMTMgQEAgY2xhc3MgUG9ydFRlc3Qo
dW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICAjIFRoaXMgcm91dGluZSBpcyBhIG5vLW9wLiBX
ZSBqdXN0IHRlc3QgaXQgZm9yIGNvdmVyYWdlLgogICAgICAgICBwb3J0LnNldHVwX3Rlc3RfcnVu
KCkKIAorICAgIGRlZiB0ZXN0X3NldHVwX2Vudmlyb25fZm9yX3NlcnZlcihzZWxmKToKKyAgICAg
ICAgcG9ydCA9IHNlbGYubWFrZV9wb3J0KCkKKyAgICAgICAgZW52ID0gcG9ydC5zZXR1cF9lbnZp
cm9uX2Zvcl9zZXJ2ZXIoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhlbnZbJ0xBTkdVQUdF
J10sICdlbicpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKGVudlsnTENfTUVTU0FHRVMnXSwg
J2VuX1VTLnV0ZjgnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhlbnZbJ0xBTkcnXSwgJ2Vu
X1VTLlVURi04JykKKwogICAgIGRlZiB0ZXN0X3Rlc3RfZGlycyhzZWxmKToKICAgICAgICAgZmls
ZXN5c3RlbSA9IE1vY2tGaWxlU3lzdGVtKHsKICAgICAgICAgICAgICcvbW9jay1jaGVja291dC9M
YXlvdXRUZXN0cy9jYW52YXMvdGVzdCc6ICcnLAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>115673</attachid>
            <date>2011-11-17 14:05:38 -0800</date>
            <delta_ts>2011-11-23 14:37:03 -0800</delta_ts>
            <desc>updated to tip of tree</desc>
            <filename>bug-68691-20111117140536.patch</filename>
            <type>text/plain</type>
            <size>23213</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAwNjYyCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNzE4YTlmYjM1NDY3NWFjYTJlMWQ0YTJmMGM0NWQ3Mjc5
YTA4OGE0Yy4uNzAwYTgzZGUyMmVhYjRiYWJmYzhhODM5ZTU1MDJlNzYwYTQ5MmQ0OSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1
IEBACisyMDExLTExLTE3ICBFcmljIFNlaWRlbCAgPGVyaWNAd2Via2l0Lm9yZz4KKworICAgICAg
ICBuZXctcnVuLXdlYmtpdC10ZXN0cyBpcyBsb2NhbGUgZGVwZW5kZW50CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY5MQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1ha2UgTlJXVCB1c2UgYSBjbGVhbiBl
bnZpcm9ubWVudCwganVzdCBsaWtlIE9SV1QgZGlkLgorCisgICAgICAgICogU2NyaXB0cy93ZWJr
aXRweS9sYXlvdXRfdGVzdHMvcG9ydC9iYXNlLnB5OgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0
cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW0ucHk6CisgICAgICAgICogU2NyaXB0cy93ZWJr
aXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV91bml0dGVzdC5weToKKyAgICAgICAgKiBT
Y3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX3dpbi5weToKKyAgICAg
ICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX3dpbl91bml0
dGVzdC5weToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Vm
bC5weToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2dvb2ds
ZV9jaHJvbWVfdW5pdHRlc3QucHk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRf
dGVzdHMvcG9ydC9tYWMucHk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVz
dHMvcG9ydC9xdC5weToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9w
b3J0L3F0X3VuaXR0ZXN0LnB5OgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rl
c3RzL3BvcnQvd2Via2l0LnB5OgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rl
c3RzL3BvcnQvd2luLnB5OgorCiAyMDExLTExLTE3ICBTaW1vbiBIYXVzbWFubiAgPHNpbW9uLmhh
dXNtYW5uQG5va2lhLmNvbT4KIAogICAgICAgICBbUXRdIExheWVyIHZpb2xhdGlvbjogcXRfcnVu
dGltZS5jcHAgYWNjZXNzZXMgUVdlYkVsZW1lbnQgYW5kIFFURFJUTm9kZQpkaWZmIC0tZ2l0IGEv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9iYXNlLnB5IGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9iYXNlLnB5CmluZGV4IDU0MjRkMTBh
ZWVmOTUwNDVhMmIyNTU5ZDYxOWUzMTg5ZWFjYTIwZjQuLjRjMWJiZThlMDg3MDgyMzFmMDRhOTJi
MjIzMGI4YzA4M2I3ZWMzNDkgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5
b3V0X3Rlc3RzL3BvcnQvYmFzZS5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91
dF90ZXN0cy9wb3J0L2Jhc2UucHkKQEAgLTY0OCwxMyArNjQ4LDQ2IEBAIGNsYXNzIFBvcnQob2Jq
ZWN0KToKICAgICAgICAgIiIiUGVyZm9ybSBwb3J0LXNwZWNpZmljIHdvcmsgYXQgdGhlIGJlZ2lu
bmluZyBvZiBhIHRlc3QgcnVuLiIiIgogICAgICAgICBwYXNzCiAKLSAgICBkZWYgc2V0dXBfZW52
aXJvbl9mb3Jfc2VydmVyKHNlbGYsIHNlcnZlcl9uYW1lPU5vbmUpOgotICAgICAgICAiIiJQZXJm
b3JtIHBvcnQtc3BlY2lmaWMgd29yayBhdCB0aGUgYmVnaW5uaW5nIG9mIGEgc2VydmVyIGxhdW5j
aC4KKyAgICAjIEZJWE1FOiBvcy5lbnZpcm9uIGFjY2VzcyBzaG91bGQgYmUgbW92ZWQgdG8gb250
byBhIGNvbW1vbi9zeXN0ZW0gY2xhc3MgdG8gYmUgbW9yZSBlYXNpbHkgbW9ja2FibGUuCisgICAg
ZGVmIF92YWx1ZV9vcl9kZWZhdWx0X2Zyb21fZW52aXJvbihzZWxmLCBuYW1lLCBkZWZhdWx0PU5v
bmUpOgorICAgICAgICBpZiBuYW1lIGluIG9zLmVudmlyb246CisgICAgICAgICAgICByZXR1cm4g
b3MuZW52aXJvbltuYW1lXQorICAgICAgICByZXR1cm4gZGVmYXVsdAogCi0gICAgICAgIFJldHVy
bnM6Ci0gICAgICAgICAgIE9wZXJhdGluZy1zeXN0ZW0ncyBlbnZpcm9ubWVudC4KLSAgICAgICAg
IiIiCi0gICAgICAgIHJldHVybiBvcy5lbnZpcm9uLmNvcHkoKQorICAgIGRlZiBfY29weV92YWx1
ZV9mcm9tX2Vudmlyb25faWZfc2V0KHNlbGYsIGNsZWFuX2VudiwgbmFtZSk6CisgICAgICAgIGlm
IG5hbWUgaW4gb3MuZW52aXJvbjoKKyAgICAgICAgICAgIGNsZWFuX2VudltuYW1lXSA9IG9zLmVu
dmlyb25bbmFtZV0KKworICAgIGRlZiBzZXR1cF9lbnZpcm9uX2Zvcl9zZXJ2ZXIoc2VsZiwgc2Vy
dmVyX25hbWU9Tm9uZSk6CisgICAgICAgICMgV2UgaW50ZW50aW9uYWxseSBjb3B5IG9ubHkgYSBz
dWJzZXQgb2Ygb3MuZW52aXJvbiB3aGVuCisgICAgICAgICMgbGF1bmNoaW5nIHN1YnByb2Nlc3Nl
cyB0byBlbnN1cmUgY29uc2lzdGVudCB0ZXN0IHJlc3VsdHMuCisgICAgICAgIGNsZWFuX2VudiA9
IHt9CisgICAgICAgIHZhcmlhYmxlc190b19jb3B5ID0gWworICAgICAgICAgICAgIyBGb3IgTGlu
dXg6CisgICAgICAgICAgICAnWEFVVEhPUklUWScsCisgICAgICAgICAgICAnSE9NRScsCisgICAg
ICAgICAgICAnTEFORycsCisgICAgICAgICAgICAnTERfTElCUkFSWV9QQVRIJywKKyAgICAgICAg
ICAgICdEQlVTX1NFU1NJT05fQlVTX0FERFJFU1MnLAorCisgICAgICAgICAgICAjIERhcndpbjoK
KyAgICAgICAgICAgICdEWUxEX0xJQlJBUllfUEFUSCcsCisgICAgICAgICAgICAnSE9NRScsCisK
KyAgICAgICAgICAgICMgQ1lHV0lOOgorICAgICAgICAgICAgJ0hPTUVEUklWRScsCisgICAgICAg
ICAgICAnSE9NRVBBVEgnLAorICAgICAgICAgICAgJ19OVF9TWU1CT0xfUEFUSCcsCisKKyAgICAg
ICAgICAgICMgV2luZG93czoKKyAgICAgICAgICAgICdQQVRIJywKKyAgICAgICAgXQorICAgICAg
ICBmb3IgdmFyaWFibGUgaW4gdmFyaWFibGVzX3RvX2NvcHk6CisgICAgICAgICAgICBzZWxmLl9j
b3B5X3ZhbHVlX2Zyb21fZW52aXJvbl9pZl9zZXQoY2xlYW5fZW52LCB2YXJpYWJsZSkKKworICAg
ICAgICAjIEZvciBMaW51eDoKKyAgICAgICAgY2xlYW5fZW52WydESVNQTEFZJ10gPSBzZWxmLl92
YWx1ZV9vcl9kZWZhdWx0X2Zyb21fZW52aXJvbignRElTUExBWScsICc6MScpCisgICAgICAgIHJl
dHVybiBjbGVhbl9lbnYKIAogICAgIGRlZiBzaG93X3Jlc3VsdHNfaHRtbF9maWxlKHNlbGYsIHJl
c3VsdHNfZmlsZW5hbWUpOgogICAgICAgICAiIiJUaGlzIHJvdXRpbmUgc2hvdWxkIGRpc3BsYXkg
dGhlIEhUTUwgZmlsZSBwb2ludGVkIGF0IGJ5CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bS5weQppbmRleCBhZjhhMmVlY2I1ZmRiNDNh
MjhjODU3ZjhkZWFhYzZhMzM4ZjM2N2EyLi4wZDY1ZmJiZDlkYTI1Y2MyMzM2MjI5MDkzM2Y3ZTU5
MmQzMWM3NWYwIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0
cy9wb3J0L2Nocm9taXVtLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rl
c3RzL3BvcnQvY2hyb21pdW0ucHkKQEAgLTIyMSwyOCArMjIxLDIyIEBAIGNsYXNzIENocm9taXVt
UG9ydChQb3J0KToKICAgICAgICAgIiIiUmV0dXJucyB0aGUgZnVsbCBwYXRoIHRvIHBhdGggbWFk
ZSBieSBqb2luaW5nIHRoZSB0b3Agb2YgdGhlCiAgICAgICAgIENocm9taXVtIHNvdXJjZSB0cmVl
IGFuZCB0aGUgbGlzdCBvZiBwYXRoIGNvbXBvbmVudHMgaW4gfCpjb21wc3wuIiIiCiAgICAgICAg
IGlmIG5vdCBzZWxmLl9jaHJvbWl1bV9iYXNlX2RpcjoKLSAgICAgICAgICAgIGFic3BhdGggPSBz
ZWxmLl9maWxlc3lzdGVtLmFic3BhdGgoX19maWxlX18pCi0gICAgICAgICAgICBvZmZzZXQgPSBh
YnNwYXRoLmZpbmQoJ3RoaXJkX3BhcnR5JykKKyAgICAgICAgICAgIGNocm9taXVtX21vZHVsZV9w
YXRoID0gc2VsZi5fZmlsZXN5c3RlbS5wYXRoX3RvX21vZHVsZShzZWxmLl9fbW9kdWxlX18pCisg
ICAgICAgICAgICBvZmZzZXQgPSBjaHJvbWl1bV9tb2R1bGVfcGF0aC5maW5kKCd0aGlyZF9wYXJ0
eScpCiAgICAgICAgICAgICBpZiBvZmZzZXQgPT0gLTE6Ci0gICAgICAgICAgICAgICAgc2VsZi5f
Y2hyb21pdW1fYmFzZV9kaXIgPSBzZWxmLl9maWxlc3lzdGVtLmpvaW4oCi0gICAgICAgICAgICAg
ICAgICAgIGFic3BhdGhbMDphYnNwYXRoLmZpbmQoJ1Rvb2xzJyldLAotICAgICAgICAgICAgICAg
ICAgICAnU291cmNlJywgJ1dlYktpdCcsICdjaHJvbWl1bScpCisgICAgICAgICAgICAgICAgc2Vs
Zi5fY2hyb21pdW1fYmFzZV9kaXIgPSBzZWxmLl9maWxlc3lzdGVtLmpvaW4oY2hyb21pdW1fbW9k
dWxlX3BhdGhbMDpjaHJvbWl1bV9tb2R1bGVfcGF0aC5maW5kKCdUb29scycpXSwgJ1NvdXJjZScs
ICdXZWJLaXQnLCAnY2hyb21pdW0nKQogICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAg
ICBzZWxmLl9jaHJvbWl1bV9iYXNlX2RpciA9IGFic3BhdGhbMDpvZmZzZXRdCisgICAgICAgICAg
ICAgICAgc2VsZi5fY2hyb21pdW1fYmFzZV9kaXIgPSBjaHJvbWl1bV9tb2R1bGVfcGF0aFswOm9m
ZnNldF0KICAgICAgICAgcmV0dXJuIHNlbGYuX2ZpbGVzeXN0ZW0uam9pbihzZWxmLl9jaHJvbWl1
bV9iYXNlX2RpciwgKmNvbXBzKQogCiAgICAgZGVmIHBhdGhfdG9fdGVzdF9leHBlY3RhdGlvbnNf
ZmlsZShzZWxmKToKLSAgICAgICAgcmV0dXJuIHNlbGYucGF0aF9mcm9tX3dlYmtpdF9iYXNlKCdM
YXlvdXRUZXN0cycsICdwbGF0Zm9ybScsCi0gICAgICAgICAgICAnY2hyb21pdW0nLCAndGVzdF9l
eHBlY3RhdGlvbnMudHh0JykKKyAgICAgICAgcmV0dXJuIHNlbGYucGF0aF9mcm9tX3dlYmtpdF9i
YXNlKCdMYXlvdXRUZXN0cycsICdwbGF0Zm9ybScsICdjaHJvbWl1bScsICd0ZXN0X2V4cGVjdGF0
aW9ucy50eHQnKQogCiAgICAgZGVmIGRlZmF1bHRfcmVzdWx0c19kaXJlY3Rvcnkoc2VsZik6CiAg
ICAgICAgIHRyeToKLSAgICAgICAgICAgIHJldHVybiBzZWxmLnBhdGhfZnJvbV9jaHJvbWl1bV9i
YXNlKCd3ZWJraXQnLAotICAgICAgICAgICAgICAgIHNlbGYuZ2V0X29wdGlvbignY29uZmlndXJh
dGlvbicpLAotICAgICAgICAgICAgICAgICdsYXlvdXQtdGVzdC1yZXN1bHRzJykKKyAgICAgICAg
ICAgIHJldHVybiBzZWxmLnBhdGhfZnJvbV9jaHJvbWl1bV9iYXNlKCd3ZWJraXQnLCBzZWxmLmdl
dF9vcHRpb24oJ2NvbmZpZ3VyYXRpb24nKSwgJ2xheW91dC10ZXN0LXJlc3VsdHMnKQogICAgICAg
ICBleGNlcHQgQXNzZXJ0aW9uRXJyb3I6Ci0gICAgICAgICAgICByZXR1cm4gc2VsZi5fYnVpbGRf
cGF0aChzZWxmLmdldF9vcHRpb24oJ2NvbmZpZ3VyYXRpb24nKSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICdsYXlvdXQtdGVzdC1yZXN1bHRzJykKKyAgICAgICAgICAgIHJl
dHVybiBzZWxmLl9idWlsZF9wYXRoKHNlbGYuZ2V0X29wdGlvbignY29uZmlndXJhdGlvbicpLCAn
bGF5b3V0LXRlc3QtcmVzdWx0cycpCiAKICAgICBkZWYgc2V0dXBfdGVzdF9ydW4oc2VsZik6CiAg
ICAgICAgICMgRGVsZXRlIHRoZSBkaXNrIGNhY2hlIGlmIGFueSB0byBlbnN1cmUgYSBjbGVhbiB0
ZXN0IHJ1bi4KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3Rz
L3BvcnQvY2hyb21pdW1fdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91
dF90ZXN0cy9wb3J0L2Nocm9taXVtX3VuaXR0ZXN0LnB5CmluZGV4IGJhM2MwODlkMDNiYTkwMzYy
YTlmZTdkYmQ3NjhlZGMyYzZhNjU1NjUuLjJlM2Q3NGU2NGZiMTFhMTJmYzcxMjA4Yzk3NTYxZGM3
MzBjYzRhYjMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3Rz
L3BvcnQvY2hyb21pdW1fdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9s
YXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV91bml0dGVzdC5weQpAQCAtNTAsNyArNTAsNyBAQCBm
cm9tIHdlYmtpdHB5LmxheW91dF90ZXN0cy5wb3J0LmRyaXZlciBpbXBvcnQgRHJpdmVySW5wdXQK
IAogY2xhc3MgQ2hyb21pdW1Ecml2ZXJUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICBkZWYg
c2V0VXAoc2VsZik6Ci0gICAgICAgIG1vY2tfcG9ydCA9IE1vY2soKQorICAgICAgICBtb2NrX3Bv
cnQgPSBNb2NrKCkgICMgRklYTUU6IFRoaXMgc2hvdWxkIHVzZSBhIHRpZ2h0ZXIgbW9jay4KICAg
ICAgICAgc2VsZi5kcml2ZXIgPSBjaHJvbWl1bS5DaHJvbWl1bURyaXZlcihtb2NrX3BvcnQsIHdv
cmtlcl9udW1iZXI9MCwgcGl4ZWxfdGVzdHM9VHJ1ZSkKIAogICAgIGRlZiB0ZXN0X3Rlc3Rfc2hl
bGxfY29tbWFuZChzZWxmKToKQEAgLTcxLDcgKzcxLDcgQEAgY2xhc3MgQ2hyb21pdW1Ecml2ZXJU
ZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkaWRfY3Jh
c2gsIGV4cGVjdGVkX2NyYXNoKQogCiAgICAgZGVmIHRlc3Rfd3JpdGVfY29tbWFuZF9hbmRfcmVh
ZF9saW5lKHNlbGYpOgotICAgICAgICBzZWxmLmRyaXZlci5fcHJvYyA9IE1vY2soKQorICAgICAg
ICBzZWxmLmRyaXZlci5fcHJvYyA9IE1vY2soKSAgIyBGSVhNRTogVGhpcyBzaG91bGQgdXNlIGEg
dGlnaHRlciBtb2NrLgogICAgICAgICAjIFNldCB1cCB0byByZWFkIDMgbGluZXMgYmVmb3JlIHdl
IGdldCBhbiBJT0Vycm9yCiAgICAgICAgIHNlbGYuZHJpdmVyLl9wcm9jLnN0ZG91dCA9IFN0cmlu
Z0lPLlN0cmluZ0lPKCJmaXJzdFxuc2Vjb25kXG50aGlyZFxuIikKIApAQCAtMTA1LDcgKzEwNSw3
IEBAIGNsYXNzIENocm9taXVtRHJpdmVyVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgZGVm
IHRlc3Rfc3RvcChzZWxmKToKICAgICAgICAgc2VsZi5waWQgPSBOb25lCiAgICAgICAgIHNlbGYu
d2FpdF9jYWxsZWQgPSBGYWxzZQotICAgICAgICBzZWxmLmRyaXZlci5fcHJvYyA9IE1vY2soKQor
ICAgICAgICBzZWxmLmRyaXZlci5fcHJvYyA9IE1vY2soKSAgIyBGSVhNRTogVGhpcyBzaG91bGQg
dXNlIGEgdGlnaHRlciBtb2NrLgogICAgICAgICBzZWxmLmRyaXZlci5fcHJvYy5waWQgPSAxCiAg
ICAgICAgIHNlbGYuZHJpdmVyLl9wcm9jLnN0ZGluID0gU3RyaW5nSU8uU3RyaW5nSU8oKQogICAg
ICAgICBzZWxmLmRyaXZlci5fcHJvYy5zdGRvdXQgPSBTdHJpbmdJTy5TdHJpbmdJTygpCkBAIC0y
MTksNyArMjE5LDggQEAgY2xhc3MgQ2hyb21pdW1Qb3J0VGVzdChwb3J0X3Rlc3RjYXNlLlBvcnRU
ZXN0Q2FzZSk6CiAgICAgICAgIHBhc3MKIAogICAgIGNsYXNzIFRlc3RNYWNQb3J0KGNocm9taXVt
X21hYy5DaHJvbWl1bU1hY1BvcnQpOgotICAgICAgICBkZWYgX19pbml0X18oc2VsZiwgb3B0aW9u
cyk6CisgICAgICAgIGRlZiBfX2luaXRfXyhzZWxmLCBvcHRpb25zPU5vbmUpOgorICAgICAgICAg
ICAgb3B0aW9ucyA9IG9wdGlvbnMgb3IgTW9ja09wdGlvbnMoKQogICAgICAgICAgICAgY2hyb21p
dW1fbWFjLkNocm9taXVtTWFjUG9ydC5fX2luaXRfXyhzZWxmLCBNb2NrSG9zdCgpLCBvcHRpb25z
PW9wdGlvbnMpCiAKICAgICAgICAgZGVmIGRlZmF1bHRfY29uZmlndXJhdGlvbihzZWxmKToKQEAg
LTIyNyw3ICsyMjgsOCBAQCBjbGFzcyBDaHJvbWl1bVBvcnRUZXN0KHBvcnRfdGVzdGNhc2UuUG9y
dFRlc3RDYXNlKToKICAgICAgICAgICAgIHJldHVybiAnZGVmYXVsdCcKIAogICAgIGNsYXNzIFRl
c3RMaW51eFBvcnQoY2hyb21pdW1fbGludXguQ2hyb21pdW1MaW51eFBvcnQpOgotICAgICAgICBk
ZWYgX19pbml0X18oc2VsZiwgb3B0aW9ucyk6CisgICAgICAgIGRlZiBfX2luaXRfXyhzZWxmLCBv
cHRpb25zPU5vbmUpOgorICAgICAgICAgICAgb3B0aW9ucyA9IG9wdGlvbnMgb3IgTW9ja09wdGlv
bnMoKQogICAgICAgICAgICAgY2hyb21pdW1fbGludXguQ2hyb21pdW1MaW51eFBvcnQuX19pbml0
X18oc2VsZiwgTW9ja0hvc3QoKSwgb3B0aW9ucz1vcHRpb25zKQogCiAgICAgICAgIGRlZiBkZWZh
dWx0X2NvbmZpZ3VyYXRpb24oc2VsZik6CkBAIC0yMzUsNyArMjM3LDggQEAgY2xhc3MgQ2hyb21p
dW1Qb3J0VGVzdChwb3J0X3Rlc3RjYXNlLlBvcnRUZXN0Q2FzZSk6CiAgICAgICAgICAgICByZXR1
cm4gJ2RlZmF1bHQnCiAKICAgICBjbGFzcyBUZXN0V2luUG9ydChjaHJvbWl1bV93aW4uQ2hyb21p
dW1XaW5Qb3J0KToKLSAgICAgICAgZGVmIF9faW5pdF9fKHNlbGYsIG9wdGlvbnMpOgorICAgICAg
ICBkZWYgX19pbml0X18oc2VsZiwgb3B0aW9ucz1Ob25lKToKKyAgICAgICAgICAgIG9wdGlvbnMg
PSBvcHRpb25zIG9yIE1vY2tPcHRpb25zKCkKICAgICAgICAgICAgIGNocm9taXVtX3dpbi5DaHJv
bWl1bVdpblBvcnQuX19pbml0X18oc2VsZiwgTW9ja0hvc3QoKSwgb3B0aW9ucz1vcHRpb25zKQog
CiAgICAgICAgIGRlZiBkZWZhdWx0X2NvbmZpZ3VyYXRpb24oc2VsZik6CkBAIC0yNDMsMTQgKzI0
NiwxMCBAQCBjbGFzcyBDaHJvbWl1bVBvcnRUZXN0KHBvcnRfdGVzdGNhc2UuUG9ydFRlc3RDYXNl
KToKICAgICAgICAgICAgIHJldHVybiAnZGVmYXVsdCcKIAogICAgIGRlZiB0ZXN0X3BhdGhfdG9f
aW1hZ2VfZGlmZihzZWxmKToKLSAgICAgICAgbW9ja19vcHRpb25zID0gTW9ja09wdGlvbnMoKQot
ICAgICAgICBwb3J0ID0gQ2hyb21pdW1Qb3J0VGVzdC5UZXN0TGludXhQb3J0KG9wdGlvbnM9bW9j
a19vcHRpb25zKQogICAgICAgICAjIEZJWE1FOiBUaGVzZSBkb24ndCBuZWVkIHRvIHVzZSBlbmRz
d2l0aCBub3cgdGhhdCB0aGUgcG9ydCB1c2VzIGEgTW9ja0ZpbGVTeXN0ZW0uCi0gICAgICAgIHNl
bGYuYXNzZXJ0VHJ1ZShwb3J0Ll9wYXRoX3RvX2ltYWdlX2RpZmYoKS5lbmRzd2l0aCgnL291dC9k
ZWZhdWx0L0ltYWdlRGlmZicpKQotICAgICAgICBwb3J0ID0gQ2hyb21pdW1Qb3J0VGVzdC5UZXN0
TWFjUG9ydChvcHRpb25zPW1vY2tfb3B0aW9ucykKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHBv
cnQuX3BhdGhfdG9faW1hZ2VfZGlmZigpLmVuZHN3aXRoKCcveGNvZGVidWlsZC9kZWZhdWx0L0lt
YWdlRGlmZicpKQotICAgICAgICBwb3J0ID0gQ2hyb21pdW1Qb3J0VGVzdC5UZXN0V2luUG9ydChv
cHRpb25zPW1vY2tfb3B0aW9ucykKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHBvcnQuX3BhdGhf
dG9faW1hZ2VfZGlmZigpLmVuZHN3aXRoKCcvZGVmYXVsdC9JbWFnZURpZmYuZXhlJykpCisgICAg
ICAgIHNlbGYuYXNzZXJ0VHJ1ZShDaHJvbWl1bVBvcnRUZXN0LlRlc3RMaW51eFBvcnQoKS5fcGF0
aF90b19pbWFnZV9kaWZmKCkuZW5kc3dpdGgoJy9vdXQvZGVmYXVsdC9JbWFnZURpZmYnKSkKKyAg
ICAgICAgc2VsZi5hc3NlcnRUcnVlKENocm9taXVtUG9ydFRlc3QuVGVzdE1hY1BvcnQoKS5fcGF0
aF90b19pbWFnZV9kaWZmKCkuZW5kc3dpdGgoJy94Y29kZWJ1aWxkL2RlZmF1bHQvSW1hZ2VEaWZm
JykpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShDaHJvbWl1bVBvcnRUZXN0LlRlc3RXaW5Qb3J0
KCkuX3BhdGhfdG9faW1hZ2VfZGlmZigpLmVuZHN3aXRoKCcvZGVmYXVsdC9JbWFnZURpZmYuZXhl
JykpCiAKICAgICBkZWYgdGVzdF9za2lwcGVkX2xheW91dF90ZXN0cyhzZWxmKToKICAgICAgICAg
bW9ja19vcHRpb25zID0gTW9ja09wdGlvbnMoKQpAQCAtMjg0LDkgKzI4Myw3IEBAIExJTlVYIFdJ
TiA6IGZhc3QvanMvdmVyeS1nb29kLmpzID0gVElNRU9VVCBQQVNTIiIiCiAgICAgICAgICAgICBk
ZWYgX3BhdGhfdG9faW1hZ2VfZGlmZihzZWxmKToKICAgICAgICAgICAgICAgICByZXR1cm4gIi9w
YXRoL3RvL2ltYWdlX2RpZmYiCiAKLSAgICAgICAgbW9ja19vcHRpb25zID0gTW9ja09wdGlvbnMo
KQotICAgICAgICBwb3J0ID0gQ2hyb21pdW1Qb3J0VGVzdC5UZXN0TGludXhQb3J0KG1vY2tfb3B0
aW9ucykKLQorICAgICAgICBwb3J0ID0gQ2hyb21pdW1Qb3J0VGVzdC5UZXN0TGludXhQb3J0KCkK
ICAgICAgICAgbW9ja19pbWFnZV9kaWZmID0gIk1PQ0sgSW1hZ2UgRGlmZiIKIAogICAgICAgICBk
ZWYgbW9ja19ydW5fY29tbWFuZChhcmdzKToKQEAgLTMzMyw4ICszMzAsNyBAQCBMSU5VWCBXSU4g
OiBmYXN0L2pzL3ZlcnktZ29vZC5qcyA9IFRJTUVPVVQgUEFTUyIiIgogCiBjbGFzcyBDaHJvbWl1
bVBvcnRMb2dnaW5nVGVzdChsb2d0ZXN0aW5nLkxvZ2dpbmdUZXN0Q2FzZSk6CiAgICAgZGVmIHRl
c3RfY2hlY2tfc3lzX2RlcHMoc2VsZik6Ci0gICAgICAgIG1vY2tfb3B0aW9ucyA9IE1vY2tPcHRp
b25zKCkKLSAgICAgICAgcG9ydCA9IENocm9taXVtUG9ydFRlc3QuVGVzdExpbnV4UG9ydChvcHRp
b25zPW1vY2tfb3B0aW9ucykKKyAgICAgICAgcG9ydCA9IENocm9taXVtUG9ydFRlc3QuVGVzdExp
bnV4UG9ydCgpCiAKICAgICAgICAgIyBTdWNjZXNzCiAgICAgICAgIHBvcnQuX2V4ZWN1dGl2ZSA9
IE1vY2tFeGVjdXRpdmUyKGV4aXRfY29kZT0wKQpAQCAtMzUwLDUgKzM0Niw2IEBAIGNsYXNzIENo
cm9taXVtUG9ydExvZ2dpbmdUZXN0KGxvZ3Rlc3RpbmcuTG9nZ2luZ1Rlc3RDYXNlKToKICAgICAg
ICAgICAgICdFUlJPUjogXG4nLAogICAgICAgICAgICAgJ0VSUk9SOiB0ZXN0aW5nIG91dHB1dCBm
YWlsdXJlXG4nXSkKIAorCiBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgogICAgIHVuaXR0ZXN0
Lm1haW4oKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMv
cG9ydC9jaHJvbWl1bV93aW4ucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0
cy9wb3J0L2Nocm9taXVtX3dpbi5weQppbmRleCAwYzI2ZGE4MTQ3YWQzZWNlODZkYjg1NmZmYWY3
ZWFkNmExNTY4ZWRlLi42YzEzM2E4NGZhYWJiOWUzNDE1YTVmMmZjOWYwMWRjMTcwZmIyOWM3IDEw
MDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9t
aXVtX3dpbi5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0
L2Nocm9taXVtX3dpbi5weQpAQCAtMjksNiArMjksNyBAQAogCiAiIiJDaHJvbWl1bSBXaW4gaW1w
bGVtZW50YXRpb24gb2YgdGhlIFBvcnQgaW50ZXJmYWNlLiIiIgogCitpbXBvcnQgb3MKIGltcG9y
dCBsb2dnaW5nCiBpbXBvcnQgc3lzCiAKQEAgLTk4LDEzICs5OSwyMiBAQCBjbGFzcyBDaHJvbWl1
bVdpblBvcnQoY2hyb21pdW0uQ2hyb21pdW1Qb3J0KToKIAogCiAgICAgZGVmIHNldHVwX2Vudmly
b25fZm9yX3NlcnZlcihzZWxmLCBzZXJ2ZXJfbmFtZT1Ob25lKToKLSAgICAgICAgZW52ID0gY2hy
b21pdW0uQ2hyb21pdW1Qb3J0LnNldHVwX2Vudmlyb25fZm9yX3NlcnZlcihzZWxmKQorICAgICAg
ICBlbnYgPSBjaHJvbWl1bS5DaHJvbWl1bVBvcnQuc2V0dXBfZW52aXJvbl9mb3Jfc2VydmVyKHNl
bGYsIHNlcnZlcl9uYW1lKQorCisgICAgICAgICMgRklYTUU6IGxpZ2h0dHBkIGRlcGVuZHMgb24g
c29tZSBlbnZpcm9ubWVudCB2YXJpYWJsZSB3ZSdyZSBub3Qgd2hpdGVsaXN0aW5nLgorICAgICAg
ICAjIFdlIHNob3VsZCBhZGQgdGhlIHZhcmlhYmxlIHRvIGFuIGV4cGxpY2l0IHdoaXRlbGlzdCBp
biBiYXNlLlBvcnQuCisgICAgICAgICMgRklYTUU6IFRoaXMgaXMgYSB0ZW1wb3JhcnkgaGFjayB0
byBnZXQgdGhlIGNyLXdpbiBib3Qgb25saW5lIHVudGlsCisgICAgICAgICMgc29tZW9uZSBmcm9t
IHRoZSBjci13aW4gcG9ydCBjYW4gdGFrZSBhIGxvb2suCisgICAgICAgIGZvciBrZXksIHZhbHVl
IGluIG9zLmVudmlyb24uaXRlbXMoKToKKyAgICAgICAgICAgIGlmIGtleSBub3QgaW4gZW52Ogor
ICAgICAgICAgICAgICAgIGVudltrZXldID0gdmFsdWUKKwogICAgICAgICAjIFB1dCB0aGUgY3ln
d2luIGRpcmVjdG9yeSBmaXJzdCBpbiB0aGUgcGF0aCB0byBmaW5kIGN5Z3dpbjEuZGxsLgogICAg
ICAgICBlbnZbIlBBVEgiXSA9ICIlczslcyIgJSAoc2VsZi5wYXRoX2Zyb21fY2hyb21pdW1fYmFz
ZSgidGhpcmRfcGFydHkiLCAiY3lnd2luIiwgImJpbiIpLCBlbnZbIlBBVEgiXSkKICAgICAgICAg
IyBDb25maWd1cmUgdGhlIGN5Z3dpbiBkaXJlY3Rvcnkgc28gdGhhdCBweXdlYnNvY2tldCBmaW5k
cyBwcm9wZXIKICAgICAgICAgIyBweXRob24gZXhlY3V0YWJsZSB0byBydW4gY2dpIHByb2dyYW0u
CiAgICAgICAgIGVudlsiQ1lHV0lOX1BBVEgiXSA9IHNlbGYucGF0aF9mcm9tX2Nocm9taXVtX2Jh
c2UoInRoaXJkX3BhcnR5IiwgImN5Z3dpbiIsICJiaW4iKQotICAgICAgICBpZiAoc3lzLnBsYXRm
b3JtIGluICgiY3lnd2luIiwgIndpbjMyIikgYW5kIHNlbGYuZ2V0X29wdGlvbigncmVnaXN0ZXJf
Y3lnd2luJykpOgorICAgICAgICBpZiBzZWxmLmdldF9vcHRpb24oJ3JlZ2lzdGVyX2N5Z3dpbicp
OgogICAgICAgICAgICAgc2V0dXBfbW91bnQgPSBzZWxmLnBhdGhfZnJvbV9jaHJvbWl1bV9iYXNl
KCJ0aGlyZF9wYXJ0eSIsICJjeWd3aW4iLCAic2V0dXBfbW91bnQuYmF0IikKICAgICAgICAgICAg
IHNlbGYuX2V4ZWN1dGl2ZS5ydW5fY29tbWFuZChbc2V0dXBfbW91bnRdKSAgIyBQYXRocyBhcmUg
YWxsIGFic29sdXRlLCBzbyB0aGlzIGRvZXMgbm90IHJlcXVpcmUgYSBjd2QuCiAgICAgICAgIHJl
dHVybiBlbnYKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3Rz
L3BvcnQvY2hyb21pdW1fd2luX3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9s
YXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV93aW5fdW5pdHRlc3QucHkKaW5kZXggOTBmMjIyMzQy
MTZiODU1NjM3Njg0OThiOWI3YmUxMGRhODM0NzZmNy4uMzFmZGI4NGQ1MmZmMzdjZDRmODEzZDI1
MTc4YWFmYzdhMmE2NmIwYiAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvcG9ydC9jaHJvbWl1bV93aW5fdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV93aW5fdW5pdHRlc3QucHkKQEAg
LTQ3LDM2ICs0NywyOCBAQCBjbGFzcyBDaHJvbWl1bVdpblRlc3QocG9ydF90ZXN0Y2FzZS5Qb3J0
VGVzdENhc2UpOgogCiAgICAgcG9ydF9tYWtlciA9IGNocm9taXVtX3dpbi5DaHJvbWl1bVdpblBv
cnQKIAotICAgIGRlZiBfbW9ja19wYXRoX2Zyb21fY2hyb21pdW1fYmFzZShzZWxmLCAqY29tcHMp
OgotICAgICAgICByZXR1cm4gc2VsZi5fcG9ydC5fZmlsZXN5c3RlbS5qb2luKCIvY2hyb21pdW0v
c3JjIiwgKmNvbXBzKQotCiAgICAgZGVmIHRlc3RfdXNlc19hcGFjaGUoc2VsZik6CiAgICAgICAg
IHNlbGYuYXNzZXJ0RmFsc2Uoc2VsZi5tYWtlX3BvcnQoKS5fdXNlc19hcGFjaGUoKSkKIAogICAg
IGRlZiB0ZXN0X3NldHVwX2Vudmlyb25fZm9yX3NlcnZlcihzZWxmKToKICAgICAgICAgcG9ydCA9
IHNlbGYubWFrZV9wb3J0KCkKLQogICAgICAgICBwb3J0Ll9leGVjdXRpdmUgPSBNb2NrRXhlY3V0
aXZlKHNob3VsZF9sb2c9VHJ1ZSkKLSAgICAgICAgc2VsZi5fcG9ydCA9IHBvcnQKLSAgICAgICAg
cG9ydC5wYXRoX2Zyb21fY2hyb21pdW1fYmFzZSA9IHNlbGYuX21vY2tfcGF0aF9mcm9tX2Nocm9t
aXVtX2Jhc2UKICAgICAgICAgb3V0cHV0ID0gb3V0cHV0Y2FwdHVyZS5PdXRwdXRDYXB0dXJlKCkK
KyAgICAgICAgIyBGSVhNRTogVGhpcyB0ZXN0IHNob3VsZCBub3QgdXNlIHRoZSByZWFsIG9zLmVu
dmlyb24KICAgICAgICAgb3JpZ19lbnZpcm9uID0gb3MuZW52aXJvbi5jb3B5KCkKICAgICAgICAg
ZW52ID0gb3V0cHV0LmFzc2VydF9vdXRwdXRzKHNlbGYsIHBvcnQuc2V0dXBfZW52aXJvbl9mb3Jf
c2VydmVyKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG9yaWdfZW52aXJvblsiUEFUSCJdLCBv
cy5lbnZpcm9uWyJQQVRIIl0pCiAgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwoZW52WyJQQVRI
Il0sIG9zLmVudmlyb25bIlBBVEgiXSkKIAorICAgIGRlZiB0ZXN0X3NldHVwX2Vudmlyb25fZm9y
X3NlcnZlcl9jeWdwYXRoKHNlbGYpOgorICAgICAgICBwb3J0ID0gc2VsZi5tYWtlX3BvcnQoKQor
ICAgICAgICBlbnYgPSBwb3J0LnNldHVwX2Vudmlyb25fZm9yX3NlcnZlcihwb3J0LmRyaXZlcl9u
YW1lKCkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKGVudlsnQ1lHV0lOX1BBVEgnXSwgJy9t
b2NrLWNoZWNrb3V0L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGhpcmRfcGFydHkvY3lnd2luL2Jp
bicpCisKICAgICBkZWYgdGVzdF9zZXR1cF9lbnZpcm9uX2Zvcl9zZXJ2ZXJfcmVnaXN0ZXJfY3ln
d2luKHNlbGYpOgogICAgICAgICBwb3J0ID0gc2VsZi5tYWtlX3BvcnQob3B0aW9ucz1DaHJvbWl1
bVdpblRlc3QuUmVnaXN0ZXJDeWd3aW5PcHRpb24oKSkKLQogICAgICAgICBwb3J0Ll9leGVjdXRp
dmUgPSBNb2NrRXhlY3V0aXZlKHNob3VsZF9sb2c9VHJ1ZSkKLSAgICAgICAgcG9ydC5wYXRoX2Zy
b21fY2hyb21pdW1fYmFzZSA9IHNlbGYuX21vY2tfcGF0aF9mcm9tX2Nocm9taXVtX2Jhc2UKLSAg
ICAgICAgc2VsZi5fcG9ydCA9IHBvcnQKLSAgICAgICAgc2V0dXBfbW91bnQgPSBzZWxmLl9tb2Nr
X3BhdGhfZnJvbV9jaHJvbWl1bV9iYXNlKCJ0aGlyZF9wYXJ0eSIsICJjeWd3aW4iLCAic2V0dXBf
bW91bnQuYmF0IikKLSAgICAgICAgIyBGSVhNRTogVGhpcyBpcyBraW5kYSBsYW1lLCB3ZSBvbmx5
IHJ1biBzZXR1cF9tb3VudCBvbiB3aW4zMiBwbGF0Zm9ybXMsIHNvIHdlIG9ubHkgZXhwZWN0IHRo
ZSBydW5fY29tbWFuZCBvdXRwdXQgdGhlcmUuCi0gICAgICAgIGlmIHN5cy5wbGF0Zm9ybSBpbiAo
IndpbjMyIiwgImN5Z3dpbiIpOgotICAgICAgICAgICAgZXhwZWN0ZWRfc3RkZXJyID0gIk1PQ0sg
cnVuX2NvbW1hbmQ6ICVzLCBjd2Q9Tm9uZVxuIiAlIFtzZXR1cF9tb3VudF0KLSAgICAgICAgZWxz
ZToKLSAgICAgICAgICAgIGV4cGVjdGVkX3N0ZGVyciA9ICIiCisgICAgICAgIGV4cGVjdGVkX3N0
ZGVyciA9ICJNT0NLIHJ1bl9jb21tYW5kOiBbJy9tb2NrLWNoZWNrb3V0L1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vdGhpcmRfcGFydHkvY3lnd2luL3NldHVwX21vdW50LmJhdCddLCBjd2Q9Tm9uZVxu
IgogICAgICAgICBvdXRwdXQgPSBvdXRwdXRjYXB0dXJlLk91dHB1dENhcHR1cmUoKQogICAgICAg
ICBvdXRwdXQuYXNzZXJ0X291dHB1dHMoc2VsZiwgcG9ydC5zZXR1cF9lbnZpcm9uX2Zvcl9zZXJ2
ZXIsIGV4cGVjdGVkX3N0ZGVycj1leHBlY3RlZF9zdGRlcnIpCiAKQEAgLTEzNCw3ICsxMjYsMyBA
QCBjbGFzcyBDaHJvbWl1bVdpblRlc3QocG9ydF90ZXN0Y2FzZS5Qb3J0VGVzdENhc2UpOgogICAg
ICAgICBzZWxmLmFzc2VydEVxdWFscygKICAgICAgICAgICAgICcvbW9jay1jaGVja291dC9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL2J1aWxkL0RlYnVnL0R1bXBSZW5kZXJUcmVlLmV4ZScsCiAgICAg
ICAgICAgICBwb3J0Ll9wYXRoX3RvX2RyaXZlcignRGVidWcnKSkKLQotCi1pZiBfX25hbWVfXyA9
PSAnX19tYWluX18nOgotICAgIHBvcnRfdGVzdGNhc2UubWFpbigpCmRpZmYgLS1naXQgYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2VmbC5weSBiL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvZWZsLnB5CmluZGV4IDYzZmM2YTJlMmU0NjAz
N2M4MzM5ZDgzNTIxOTAyM2QwOGRkYjBkMTQuLjNhYzcxZDU3MTQ3OGYzODgzYTFkMGRkY2Q2NzBk
N2JlMzFhNWU5ZDggMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rl
c3RzL3BvcnQvZWZsLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3Rz
L3BvcnQvZWZsLnB5CkBAIC00Nyw5ICs0Nyw2IEBAIGNsYXNzIEVmbFBvcnQoV2ViS2l0UG9ydCk6
CiAgICAgZGVmIF9wb3J0X2ZsYWdfZm9yX3NjcmlwdHMoc2VsZik6CiAgICAgICAgIHJldHVybiAi
LS1lZmwiCiAKLSAgICBkZWYgc2V0dXBfZW52aXJvbl9mb3Jfc2VydmVyKHNlbGYsIHNlcnZlcl9u
YW1lPU5vbmUpOgotICAgICAgICByZXR1cm4gV2ViS2l0UG9ydC5zZXR1cF9lbnZpcm9uX2Zvcl9z
ZXJ2ZXIoc2VsZiwgc2VydmVyX25hbWUpCi0KICAgICBkZWYgX2dlbmVyYXRlX2FsbF90ZXN0X2Nv
bmZpZ3VyYXRpb25zKHNlbGYpOgogICAgICAgICByZXR1cm4gW1Rlc3RDb25maWd1cmF0aW9uKHZl
cnNpb249c2VsZi5fdmVyc2lvbiwgYXJjaGl0ZWN0dXJlPSd4ODYnLCBidWlsZF90eXBlPWJ1aWxk
X3R5cGUsIGdyYXBoaWNzX3R5cGU9J2NwdScpIGZvciBidWlsZF90eXBlIGluIHNlbGYuQUxMX0JV
SUxEX1RZUEVTXQogCkBAIC01OSwxNiArNTYsMTcgQEAgY2xhc3MgRWZsUG9ydChXZWJLaXRQb3J0
KToKICAgICBkZWYgX3BhdGhfdG9faW1hZ2VfZGlmZihzZWxmKToKICAgICAgICAgcmV0dXJuIHNl
bGYuX2J1aWxkX3BhdGgoJ1Byb2dyYW1zJywgJ0ltYWdlRGlmZicpCiAKKyAgICAjIEZJWE1FOiBJ
IGRvdWJ0IEVGTCB3YW50cyB0byBvdmVycmlkZSB0aGlzIG1ldGhvZC4KICAgICBkZWYgY2hlY2tf
YnVpbGQoc2VsZiwgbmVlZHNfaHR0cCk6CiAgICAgICAgIHJldHVybiBzZWxmLl9jaGVja19kcml2
ZXIoKQogCiAgICAgZGVmIF9wYXRoX3RvX3dlYmNvcmVfbGlicmFyeShzZWxmKToKICAgICAgICAg
c3RhdGljX3BhdGggPSBzZWxmLl9idWlsZF9wYXRoKCdXZWJDb3JlJywgJ2xpYndlYmNvcmVfZWZs
LmEnKQogICAgICAgICBkeW5fcGF0aCA9IHNlbGYuX2J1aWxkX3BhdGgoJ1dlYkNvcmUnLCAnbGli
d2ViY29yZV9lZmwuc28nKQotCiAgICAgICAgIHJldHVybiBzdGF0aWNfcGF0aCBpZiBzZWxmLl9m
aWxlc3lzdGVtLmV4aXN0cyhzdGF0aWNfcGF0aCkgZWxzZSBkeW5fcGF0aAogCiAgICAgZGVmIF9y
dW50aW1lX2ZlYXR1cmVfbGlzdChzZWxmKToKKyAgICAgICAgIyBGSVhNRTogRUZMIHNob3VsZCBk
ZXRlY3QgcnVudGltZSBmZWF0dXJlcyBsaWtlIG90aGVyIHdlYmtpdCBwb3J0cyBkby4KICAgICAg
ICAgcmV0dXJuIE5vbmUKIAogICAgIGRlZiBzaG93X3Jlc3VsdHNfaHRtbF9maWxlKHNlbGYsIHJl
c3VsdHNfZmlsZW5hbWUpOgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvcG9ydC9nb29nbGVfY2hyb21lX3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9nb29nbGVfY2hyb21lX3VuaXR0ZXN0LnB5CmluZGV4
IDFmN2U5MjQ0ZjAzOWVhOTBlMGQ0NzFkMDM0NDBhZmJjMjI1MWY3MjIuLmUzMTdlMTJjNWJlN2Zl
ZmJjMTcwODRlNGNmMzdmYTgwOGIwNWYyMTMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvZ29vZ2xlX2Nocm9tZV91bml0dGVzdC5weQorKysgYi9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2dvb2dsZV9jaHJvbWVfdW5p
dHRlc3QucHkKQEAgLTQ2LDE0ICs0NiwxNSBAQCBjbGFzcyBHZXRHb29nbGVDaHJvbWVQb3J0VGVz
dCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIHNlbGYuX3ZlcmlmeV9iYXNlbGluZV9wYXRo
KCdnb29nbGUtY2hyb21lLXdpbicsICdnb29nbGUtY2hyb21lLXdpbi12aXN0YScpCiAKICAgICBk
ZWYgX3ZlcmlmeV9iYXNlbGluZV9wYXRoKHNlbGYsIGV4cGVjdGVkX3BhdGgsIHBvcnRfbmFtZSk6
Ci0gICAgICAgIHBvcnQgPSBnb29nbGVfY2hyb21lLkdldEdvb2dsZUNocm9tZVBvcnQocG9ydF9u
YW1lPXBvcnRfbmFtZSwgb3B0aW9ucz1Ob25lLCBob3N0PU1vY2tIb3N0KCkpCisgICAgICAgIHBv
cnQgPSBnb29nbGVfY2hyb21lLkdldEdvb2dsZUNocm9tZVBvcnQoTW9ja0hvc3QoKSwgcG9ydF9u
YW1lPXBvcnRfbmFtZSkKICAgICAgICAgcGF0aCA9IHBvcnQuYmFzZWxpbmVfc2VhcmNoX3BhdGgo
KVswXQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV4cGVjdGVkX3BhdGgsIHBvcnQuX2ZpbGVz
eXN0ZW0uYmFzZW5hbWUocGF0aCkpCiAKICAgICBkZWYgX3ZlcmlmeV9leHBlY3RhdGlvbnNfb3Zl
cnJpZGVzKHNlbGYsIHBvcnRfbmFtZSk6Ci0gICAgICAgICMgRklYTUU6IG1ha2UgdGhpcyBtb3Jl
IHJvYnVzdCB3aGVuIHdlIGhhdmUgdGhlIFRyZWUoKSBhYnN0cmFjdGlvbi4KKyAgICAgICAgIyBG
SVhNRTogTWFrZSB0aGlzIG1vcmUgcm9idXN0IHdoZW4gd2UgaGF2ZSB0aGUgVHJlZSgpIGFic3Ry
YWN0aW9uLgogICAgICAgICAjIHdlIHNob3VsZCBiZSBhYmxlIHRvIHRlc3QgZm9yIHRoZSBmaWxl
cyBleGlzdGluZyBvciBub3QsIGFuZAogICAgICAgICAjIGJlIGFibGUgdG8gY29udHJvbCB0aGUg
Y29udGVudHMgYmV0dGVyLgorICAgICAgICAjIEZJWE1FOiBXaGF0IGlzIHRoZSBUcmVlKCkgYWJz
dHJhY3Rpb24/CiAKICAgICAgICAgaG9zdCA9IE1vY2tIb3N0KCkKICAgICAgICAgY2hyb21pdW1f
cG9ydCA9IGhvc3QucG9ydF9mYWN0b3J5LmdldCgiY2hyb21pdW0tY2ctbWFjIikKZGlmZiAtLWdp
dCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvbWFjLnB5IGIvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9tYWMucHkKaW5kZXggZjFjNWNj
ZDJkNDNmOWE5YmQ2NjQ2ZjRjYTg1M2EzZTNjMTE3Y2NiYi4uMDRlODY3YWQwZDBhMzFjMDNkNjBj
MDRkNTFlYmFlZDAxYjExMGJkNyAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9s
YXlvdXRfdGVzdHMvcG9ydC9tYWMucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvcG9ydC9tYWMucHkKQEAgLTEwMiw2ICsxMDIsNyBAQCBjbGFzcyBNYWNQb3J0KEFw
cGxlUG9ydCk6CiAgICAgICAgICAgICAgICAgZW52WydNYWxsb2NTdGFja0xvZ2dpbmcnXSA9ICcx
JwogICAgICAgICAgICAgaWYgc2VsZi5nZXRfb3B0aW9uKCdndWFyZF9tYWxsb2MnKToKICAgICAg
ICAgICAgICAgICBlbnZbJ0RZTERfSU5TRVJUX0xJQlJBUklFUyddID0gJy91c3IvbGliL2xpYmdt
YWxsb2MuZHlsaWInCisgICAgICAgIGVudlsnWE1MX0NBVEFMT0dfRklMRVMnXSA9ICcnICAjIHdv
cmsgYXJvdW5kIG1pc3NpbmcgL2V0Yy9jYXRhbG9nIDxyZGFyOi8vcHJvYmxlbS80MjkyOTk1Pgog
ICAgICAgICByZXR1cm4gZW52CiAKICAgICAjIEJlbG9uZ3Mgb24gYSBQbGF0Zm9ybSBvYmplY3Qu
CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3F0
LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9xdC5weQppbmRl
eCA1ZWNjODkwOTRkMzA4MzFkYTVhMjBjZTgwNGUyYThmMmY2YWYyMjY4Li45ODQwOTUzZWZiMTk2
YjNhNTVmZjBiMGYyMzExMmQ4NjA1ZWY5YWY3IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3F0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvbGF5b3V0X3Rlc3RzL3BvcnQvcXQucHkKQEAgLTE0MSw5ICsxNDEsMTAgQEAgY2xhc3MgUXRQ
b3J0KFdlYktpdFBvcnQpOgogICAgICAgICByZXR1cm4gTm9uZQogCiAgICAgZGVmIHNldHVwX2Vu
dmlyb25fZm9yX3NlcnZlcihzZWxmLCBzZXJ2ZXJfbmFtZT1Ob25lKToKLSAgICAgICAgZW52ID0g
V2ViS2l0UG9ydC5zZXR1cF9lbnZpcm9uX2Zvcl9zZXJ2ZXIoc2VsZiwgc2VydmVyX25hbWUpCi0g
ICAgICAgIGVudlsnUVRXRUJLSVRfUExVR0lOX1BBVEgnXSA9IHNlbGYuX2J1aWxkX3BhdGgoJ2xp
Yi9wbHVnaW5zJykKLSAgICAgICAgcmV0dXJuIGVudgorICAgICAgICBjbGVhbl9lbnYgPSBXZWJL
aXRQb3J0LnNldHVwX2Vudmlyb25fZm9yX3NlcnZlcihzZWxmLCBzZXJ2ZXJfbmFtZSkKKyAgICAg
ICAgY2xlYW5fZW52WydRVFdFQktJVF9QTFVHSU5fUEFUSCddID0gc2VsZi5fYnVpbGRfcGF0aCgn
bGliL3BsdWdpbnMnKQorICAgICAgICBzZWxmLl9jb3B5X3ZhbHVlX2Zyb21fZW52aXJvbl9pZl9z
ZXQoY2xlYW5fZW52LCAnUVRfRFJUX1dFQlZJRVdfTU9ERScpCisgICAgICAgIHJldHVybiBjbGVh
bl9lbnYKIAogICAgICMgRklYTUU6IFdlIHNob3VsZCBmaW5kIGEgd2F5IHRvIHNoYXJlIHRoaXMg
aW1wbG1lbnRhdGlvbiB3aXRoIEd0aywKICAgICAjIG9yIHRlYWNoIHJ1bi1sYXVuY2hlciBob3cg
dG8gY2FsbCBydW4tc2FmYXJpIGFuZCBtb3ZlIHRoaXMgZG93biB0byBXZWJLaXRQb3J0LgpkaWZm
IC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9xdF91bml0
dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvcXRfdW5p
dHRlc3QucHkKaW5kZXggMGI4MGVmMDlkMTc5MTllY2U3MGY3ZDNmYWJmYjg1YmEzMmU0NzM2My4u
ZDY0NDYzMmQxMGQyMjE0NTMxN2VkNTNjOTAyZGFlZGY3YjkzYWMzYyAxMDA2NDQKLS0tIGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9xdF91bml0dGVzdC5weQorKysg
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3F0X3VuaXR0ZXN0LnB5
CkBAIC04MiwzICs4Miw4IEBAIGNsYXNzIFF0UG9ydFRlc3QocG9ydF90ZXN0Y2FzZS5Qb3J0VGVz
dENhc2UpOgogICAgICAgICBwb3J0Ll9leGVjdXRpdmUgPSBNb2NrRXhlY3V0aXZlKHNob3VsZF9s
b2c9VHJ1ZSkKICAgICAgICAgZXhwZWN0ZWRfc3RkZXJyID0gIk1PQ0sgcnVuX2NvbW1hbmQ6IFsn
VG9vbHMvU2NyaXB0cy9ydW4tbGF1bmNoZXInLCAnLS1yZWxlYXNlJywgJy0tcXQnLCAnZmlsZTov
L3Rlc3QuaHRtbCddLCBjd2Q9L21vY2stY2hlY2tvdXRcbiIKICAgICAgICAgT3V0cHV0Q2FwdHVy
ZSgpLmFzc2VydF9vdXRwdXRzKHNlbGYsIHBvcnQuc2hvd19yZXN1bHRzX2h0bWxfZmlsZSwgWyJ0
ZXN0Lmh0bWwiXSwgZXhwZWN0ZWRfc3RkZXJyPWV4cGVjdGVkX3N0ZGVycikKKworICAgIGRlZiB0
ZXN0X3NldHVwX2Vudmlyb25fZm9yX3NlcnZlcihzZWxmKToKKyAgICAgICAgcG9ydCA9IHNlbGYu
bWFrZV9wb3J0KCkKKyAgICAgICAgZW52ID0gcG9ydC5zZXR1cF9lbnZpcm9uX2Zvcl9zZXJ2ZXIo
cG9ydC5kcml2ZXJfbmFtZSgpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhlbnZbJ1FUV0VC
S0lUX1BMVUdJTl9QQVRIJ10sICdNT0NLIG91dHB1dCBvZiBjaGlsZCBwcm9jZXNzL2xpYi9wbHVn
aW5zJykKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3Bv
cnQvd2Via2l0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC93
ZWJraXQucHkKaW5kZXggMzIzNjlkNmM4Y2VlNDlkZjNhYzI3MDRmNDhjNmJiMmM3MTFkMjJkOS4u
MDFkZjhhNDlkMjIzZjllNTJhMWIyMjkwY2U1NGE0MDgyZTZmZTFkNyAxMDA2NDQKLS0tIGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC93ZWJraXQucHkKKysrIGIvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC93ZWJraXQucHkKQEAgLTIyMCw2
ICsyMjAsMTEgQEAgY2xhc3MgV2ViS2l0UG9ydChQb3J0KToKIAogICAgICAgICByZXR1cm4gKG91
dHB1dF9pbWFnZSwgZGlmZl9wZXJjZW50KQogCisgICAgZGVmIHNldHVwX2Vudmlyb25fZm9yX3Nl
cnZlcihzZWxmLCBzZXJ2ZXJfbmFtZT1Ob25lKToKKyAgICAgICAgY2xlYW5fZW52ID0gc3VwZXIo
V2ViS2l0UG9ydCwgc2VsZikuc2V0dXBfZW52aXJvbl9mb3Jfc2VydmVyKHNlcnZlcl9uYW1lKQor
ICAgICAgICBzZWxmLl9jb3B5X3ZhbHVlX2Zyb21fZW52aXJvbl9pZl9zZXQoY2xlYW5fZW52LCAn
V0VCS0lUX1RFU1RGT05UUycpCisgICAgICAgIHJldHVybiBjbGVhbl9lbnYKKwogICAgIGRlZiBk
ZWZhdWx0X3Jlc3VsdHNfZGlyZWN0b3J5KHNlbGYpOgogICAgICAgICAjIFJlc3VsdHMgYXJlIHN0
b3JlIHJlbGF0aXZlIHRvIHRoZSBidWlsdCBwcm9kdWN0cyB0byBtYWtlIGl0IGVhc3kKICAgICAg
ICAgIyB0byBoYXZlIG11bHRpcGxlIGNvcGllcyBvZiB3ZWJraXQgY2hlY2tlZCBvdXQgYW5kIGJ1
aWx0LgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9y
dC93aW4ucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3dpbi5w
eQppbmRleCAzYmRhZmFjNjY2MjFmOWVlY2I1ZWNkMzRiNzUyZjkzOTc4Yzc1ZTY2Li5hYzA4MTkw
NzRiMjM0OGUyZWE2NzhlNTg1MWEzZDkyNDUxMzk0Mzk0IDEwMDY0NAotLS0gYS9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3dpbi5weQorKysgYi9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3dpbi5weQpAQCAtMTA4LDYgKzEwOCwxMCBAQCBj
bGFzcyBXaW5Qb3J0KEFwcGxlUG9ydCk6CiAgICAgICAgIGZhbGxiYWNrX25hbWVzLmV4dGVuZChb
J21hYy1saW9uJywgJ21hYyddKQogICAgICAgICByZXR1cm4gbWFwKHNlbGYuX3dlYmtpdF9iYXNl
bGluZV9wYXRoLCBmYWxsYmFja19uYW1lcykKIAorICAgICMgVGhpcyBwb3J0IG1heSBuZWVkIHRv
IG92ZXJyaWRlIHNldHVwX2Vudmlyb25fZm9yX3NlcnZlcgorICAgICMgdG8gbWF0Y2ggYmVoYXZp
b3Igb2Ygc2V0UGF0aEZvclJ1bm5pbmdXZWJLaXRBcHAgZnJvbSBPUldULgorICAgICMgJGVudi0+
e1BBVEh9ID0gam9pbignOicsIHByb2R1Y3REaXIoKSwgZGlybmFtZShpbnN0YWxsZWRTYWZhcmlQ
YXRoKCkpLCBhcHBsZUFwcGxpY2F0aW9uU3VwcG9ydFBhdGgoKSwgJGVudi0+e1BBVEh9IHx8ICIi
KTsKKwogICAgICMgRklYTUU6IHdlYmtpdHBlcmwvaHR0cGQucG0gaW5zdGFsbHMgL3Vzci9saWIv
YXBhY2hlL2xpYnBocDQuZGxsIG9uIGN5Y3dpbiBhdXRvbWF0aWNhbGx5CiAgICAgIyBhcyBwYXJ0
IG9mIHJ1bm5pbmcgb2xkLXJ1bi13ZWJraXQtdGVzdHMuICBUaGF0J3MgYmFkIGRlc2lnbiwgYnV0
IHdlIG1heSBuZWVkIHNvbWUgc2ltaWxhciBoYWNrLgogICAgICMgV2UgbWlnaHQgdXNlIHNldHVw
X2Vudmlyb25fZm9yX3NlcnZlciBmb3Igc3VjaCBhIGhhY2sgKG9yIG1vZGlmeSBhcGFjaGVfaHR0
cF9zZXJ2ZXIucHkpLgo=
</data>
<flag name="review"
          id="114638"
          type_id="1"
          status="+"
          setter="abarth"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>115842</attachid>
            <date>2011-11-18 11:55:13 -0800</date>
            <delta_ts>2011-11-18 12:55:25 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>1268</size>
            <attacher>vanuan</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDEwMDgwMikKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE0IEBACisyMDExLTExLTE4ICBKb2huIFlhbmkgIDx2YW51YW5AZ21haWwuY29tPgorCisg
ICAgICAgIFRlc3RzIHNob3VsZCBub3QgYmUgbG9jYWxlIGRlcGVuZGVudCBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2OTEKKworICAgICAgICBPdmVycmlkZSBMQ19B
TEwsIExBTkdVQUdFIGFuZCBMQU5HIGVudmlyb25tZW50IHZhcmlhYmxlIHRvIHVzZSBlbl9VUy5V
VEYtOC4KKworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0cy5weToKKwog
MjAxMS0xMS0xOCAgQWRhbSBSb2JlbiAgPGFyb2JlbkBhcHBsZS5jb20+CiAKICAgICAgICAgSWdu
b3JlIGFuIEFOR0xFIGxlYWsgdGhhdCBpcyBub3QgV2ViS2l0J3MgZmF1bHQKSW5kZXg6IFRvb2xz
L1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHMucHkKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90
ZXN0cy5weQkocmV2aXNpb24gMTAwNzM2KQorKysgVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0cy5weQkod29ya2luZyBjb3B5KQpAQCAtMzEsNiArMzEs
NyBAQAogCiBpbXBvcnQgZXJybm8KIGltcG9ydCBsb2dnaW5nCitpbXBvcnQgbG9jYWxlCiBpbXBv
cnQgb3B0cGFyc2UKIGltcG9ydCBvcwogaW1wb3J0IHNpZ25hbApAQCAtNDA4LDYgKzQwOSw5IEBA
IGRlZiBwYXJzZV9hcmdzKGFyZ3M9Tm9uZSk6CiAKIAogZGVmIG1haW4oKToKKyAgICBvcy5lbnZp
cm9uWydMQU5HJ10gPSAnZW5fVVMuVVRGLTgnCisgICAgb3MuZW52aXJvblsnTEFOR1VBR0UnXSA9
ICdlbicKKyAgICBsb2NhbGUuc2V0bG9jYWxlKGxvY2FsZS5MQ19BTEwsICcnKQogICAgIG9wdGlv
bnMsIGFyZ3MgPSBwYXJzZV9hcmdzKCkKICAgICBob3N0ID0gSG9zdCgpCiAgICAgaG9zdC5faW5p
dGlhbGl6ZV9zY20oKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>115850</attachid>
            <date>2011-11-18 12:55:25 -0800</date>
            <delta_ts>2011-11-18 13:15:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>1893</size>
            <attacher>vanuan</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDEwMDgwMikKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE0IEBACisyMDExLTExLTE4ICBKb2huIFlhbmkgIDx2YW51YW5AZ21haWwuY29tPgorCisg
ICAgICAgIFRlc3RzIHNob3VsZCBub3QgYmUgbG9jYWxlIGRlcGVuZGVudCBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2OTEKKworICAgICAgICBPdmVycmlkZSBMQ19B
TEwsIExBTkdVQUdFIGFuZCBMQU5HIGVudmlyb25tZW50IHZhcmlhYmxlIHRvIHVzZSBlbl9VUy5V
VEYtOC4KKworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0cy5weToKKwog
MjAxMS0xMS0xOCAgQWRhbSBSb2JlbiAgPGFyb2JlbkBhcHBsZS5jb20+CiAKICAgICAgICAgSWdu
b3JlIGFuIEFOR0xFIGxlYWsgdGhhdCBpcyBub3QgV2ViS2l0J3MgZmF1bHQKSW5kZXg6IFRvb2xz
L1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHMucHkKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90
ZXN0cy5weQkocmV2aXNpb24gMTAwNzM2KQorKysgVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0cy5weQkod29ya2luZyBjb3B5KQpAQCAtMzEsNiArMzEs
NyBAQAogCiBpbXBvcnQgZXJybm8KIGltcG9ydCBsb2dnaW5nCitpbXBvcnQgbG9jYWxlCiBpbXBv
cnQgb3B0cGFyc2UKIGltcG9ydCBvcwogaW1wb3J0IHNpZ25hbApAQCAtNDA2LDkgKzQwNywyNiBA
QCBkZWYgcGFyc2VfYXJncyhhcmdzPU5vbmUpOgogCiAgICAgcmV0dXJuIG9wdGlvbl9wYXJzZXIu
cGFyc2VfYXJncyhhcmdzKQogCitkZWYgb3ZlcnJpZGVfbG9jYWxlKCk6CisgICAgIiIiU2V0cyB1
cCBlbnZpcm9ubWVudCB0byB1c2UgZW5nbGlzaCBsb2NhbGUuIiIiCisgICAgdHJ5OgorICAgICAg
ICAjIHVzZSB0aGUgZW5nbGlzaCBsb2NhbGUgb24gdW5peAorICAgICAgICBvcy5lbnZpcm9uWydM
QU5HJ10gPSAnZW5fVVMuVVRGLTgnCisgICAgICAgIG9zLmVudmlyb25bJ0xBTkdVQUdFJ10gPSAn
ZW4nCisgICAgICAgICMgQW4gZW1wdHkgc3RyaW5nIHNwZWNpZmllcyB0aGUgdXNlcuKAmXMgZGVm
YXVsdCBzZXR0aW5ncy4KKyAgICAgICAgbG9jYWxlLnNldGxvY2FsZShsb2NhbGUuTENfQUxMLCAn
JykKKyAgICBleGNlcHQgRXJyb3I6CisgICAgICAgIHRyeToKKyAgICAgICAgICAgICMgdGhpcyBp
cyBmb3Igd2luZG93cworICAgICAgICAgICAgIyBodHRwOi8vbXNkbi5taWNyb3NvZnQuY29tL2Vu
LXVzL2xpYnJhcnkvMzljd2U3emYodj1WUy44MCkuYXNweAorICAgICAgICAgICAgbG9jYWxlLnNl
dGxvY2FsZShsb2NhbGUuTENfQUxMLCAnYW1lcmljYW4nKQorICAgICAgICBleGNlcHQgRXJyb3I6
CisgICAgICAgICAgICBwcmludCAnV2FybmluZzogY291bGQgbm90IG92ZXJyaWRlIGxvY2FsZS4n
CisKIAogZGVmIG1haW4oKToKICAgICBvcHRpb25zLCBhcmdzID0gcGFyc2VfYXJncygpCisgICAg
b3ZlcnJpZGVfbG9jYWxlKCkKICAgICBob3N0ID0gSG9zdCgpCiAgICAgaG9zdC5faW5pdGlhbGl6
ZV9zY20oKQogICAgIHBvcnQgPSBob3N0LnBvcnRfZmFjdG9yeS5nZXQob3B0aW9ucy5wbGF0Zm9y
bSwgb3B0aW9ucykK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>115856</attachid>
            <date>2011-11-18 13:15:34 -0800</date>
            <delta_ts>2011-11-21 12:56:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>1893</size>
            <attacher>vanuan</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDEwMDgwMikKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE0IEBACisyMDExLTExLTE4ICBKb2huIFlhbmkgIDx2YW51YW5AZ21haWwuY29tPgorCisg
ICAgICAgIFRlc3RzIHNob3VsZCBub3QgYmUgbG9jYWxlIGRlcGVuZGVudCBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2OTEKKworICAgICAgICBPdmVycmlkZSBMQ19B
TEwsIExBTkdVQUdFIGFuZCBMQU5HIGVudmlyb25tZW50IHZhcmlhYmxlIHRvIHVzZSBlbl9VUy5V
VEYtOC4KKworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0cy5weToKKwog
MjAxMS0xMS0xOCAgQWRhbSBSb2JlbiAgPGFyb2JlbkBhcHBsZS5jb20+CiAKICAgICAgICAgSWdu
b3JlIGFuIEFOR0xFIGxlYWsgdGhhdCBpcyBub3QgV2ViS2l0J3MgZmF1bHQKSW5kZXg6IFRvb2xz
L1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHMucHkKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90
ZXN0cy5weQkocmV2aXNpb24gMTAwNzM2KQorKysgVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0cy5weQkod29ya2luZyBjb3B5KQpAQCAtMzEsNiArMzEs
NyBAQAogCiBpbXBvcnQgZXJybm8KIGltcG9ydCBsb2dnaW5nCitpbXBvcnQgbG9jYWxlCiBpbXBv
cnQgb3B0cGFyc2UKIGltcG9ydCBvcwogaW1wb3J0IHNpZ25hbApAQCAtNDA3LDggKzQwOCwyNiBA
QCBkZWYgcGFyc2VfYXJncyhhcmdzPU5vbmUpOgogICAgIHJldHVybiBvcHRpb25fcGFyc2VyLnBh
cnNlX2FyZ3MoYXJncykKIAogCitkZWYgb3ZlcnJpZGVfbG9jYWxlKCk6CisgICAgIiIiU2V0cyB1
cCBlbnZpcm9ubWVudCB0byB1c2UgZW5nbGlzaCBsb2NhbGUuIiIiCisgICAgdHJ5OgorICAgICAg
ICAjIHVzZSB0aGUgZW5nbGlzaCBsb2NhbGUgb24gdW5peAorICAgICAgICBvcy5lbnZpcm9uWydM
QU5HJ10gPSAnZW5fVVMuVVRGLTgnCisgICAgICAgIG9zLmVudmlyb25bJ0xBTkdVQUdFJ10gPSAn
ZW4nCisgICAgICAgICMgQW4gZW1wdHkgc3RyaW5nIHNwZWNpZmllcyB0aGUgdXNlcuKAmXMgZGVm
YXVsdCBzZXR0aW5ncy4KKyAgICAgICAgbG9jYWxlLnNldGxvY2FsZShsb2NhbGUuTENfQUxMLCAn
JykKKyAgICBleGNlcHQgRXJyb3I6CisgICAgICAgIHRyeToKKyAgICAgICAgICAgICMgdGhpcyBp
cyBmb3Igd2luZG93cworICAgICAgICAgICAgIyBodHRwOi8vbXNkbi5taWNyb3NvZnQuY29tL2Vu
LXVzL2xpYnJhcnkvMzljd2U3emYodj1WUy44MCkuYXNweAorICAgICAgICAgICAgbG9jYWxlLnNl
dGxvY2FsZShsb2NhbGUuTENfQUxMLCAnYW1lcmljYW4nKQorICAgICAgICBleGNlcHQgRXJyb3I6
CisgICAgICAgICAgICBwcmludCAnV2FybmluZzogY291bGQgbm90IG92ZXJyaWRlIGxvY2FsZS4n
CisKKwogZGVmIG1haW4oKToKICAgICBvcHRpb25zLCBhcmdzID0gcGFyc2VfYXJncygpCisgICAg
b3ZlcnJpZGVfbG9jYWxlKCkKICAgICBob3N0ID0gSG9zdCgpCiAgICAgaG9zdC5faW5pdGlhbGl6
ZV9zY20oKQogICAgIHBvcnQgPSBob3N0LnBvcnRfZmFjdG9yeS5nZXQob3B0aW9ucy5wbGF0Zm9y
bSwgb3B0aW9ucykK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>116119</attachid>
            <date>2011-11-21 12:56:40 -0800</date>
            <delta_ts>2011-11-22 15:16:32 -0800</delta_ts>
            <desc>patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>1904</size>
            <attacher>vanuan</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDEwMDg3MikKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE0IEBACisyMDExLTExLTE4ICBKb2huIFlhbmkgIDx2YW51YW5AZ21haWwuY29tPgorCisg
ICAgICAgIFRlc3RzIHNob3VsZCBub3QgYmUgbG9jYWxlIGRlcGVuZGVudCBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2OTEKKworICAgICAgICBPdmVycmlkZSBMQ19B
TEwsIExBTkdVQUdFIGFuZCBMQU5HIGVudmlyb25tZW50IHZhcmlhYmxlIHRvIHVzZSBlbl9VUy5V
VEYtOC4KKworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0cy5weToKKwog
MjAxMS0xMS0xOSAgT2phbiBWYWZhaSAgPG9qYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEZp
eCBqc29ucCBjYWxsYmFjayBjb2RlIHRvIGFkZCB0aGUgY2FsbGJhY2sgaWYganNvbiBjb250ZW50
CkluZGV4OiBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9ydW5fd2Via2l0X3Rl
c3RzLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3Rz
L3J1bl93ZWJraXRfdGVzdHMucHkJKHJldmlzaW9uIDEwMDkyNykKKysrIFRvb2xzL1NjcmlwdHMv
d2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHMucHkJKHdvcmtpbmcgY29weSkK
QEAgLTMxLDYgKzMxLDcgQEAKIAogaW1wb3J0IGVycm5vCiBpbXBvcnQgbG9nZ2luZworaW1wb3J0
IGxvY2FsZQogaW1wb3J0IG9wdHBhcnNlCiBpbXBvcnQgb3MKIGltcG9ydCBzaWduYWwKQEAgLTQw
Nyw4ICs0MDgsMjYgQEAgZGVmIHBhcnNlX2FyZ3MoYXJncz1Ob25lKToKICAgICByZXR1cm4gb3B0
aW9uX3BhcnNlci5wYXJzZV9hcmdzKGFyZ3MpCiAKIAorZGVmIG92ZXJyaWRlX2xvY2FsZSgpOgor
ICAgICIiIlNldHMgdXAgZW52aXJvbm1lbnQgdG8gdXNlIGVuZ2xpc2ggbG9jYWxlLiIiIgorICAg
IHRyeToKKyAgICAgICAgIyB1c2UgdGhlIGVuZ2xpc2ggbG9jYWxlIG9uIHVuaXgKKyAgICAgICAg
b3MuZW52aXJvblsnTEFORyddID0gJ2VuX1VTLlVURi04JworICAgICAgICBvcy5lbnZpcm9uWydM
QU5HVUFHRSddID0gJ2VuJworICAgICAgICAjIEFuIGVtcHR5IHN0cmluZyBzcGVjaWZpZXMgdGhl
IHVzZXIncyBkZWZhdWx0IHNldHRpbmdzLgorICAgICAgICBsb2NhbGUuc2V0bG9jYWxlKGxvY2Fs
ZS5MQ19BTEwsICcnKQorICAgIGV4Y2VwdCBFcnJvcjoKKyAgICAgICAgdHJ5OgorICAgICAgICAg
ICAgIyB0aGlzIGlzIGZvciB3aW5kb3dzCisgICAgICAgICAgICAjIGh0dHA6Ly9tc2RuLm1pY3Jv
c29mdC5jb20vZW4tdXMvbGlicmFyeS8zOWN3ZTd6Zih2PVZTLjgwKS5hc3B4CisgICAgICAgICAg
ICBsb2NhbGUuc2V0bG9jYWxlKGxvY2FsZS5MQ19BTEwsICdhbWVyaWNhbicpCisgICAgICAgIGV4
Y2VwdCBFcnJvcjoKKyAgICAgICAgICAgIHByaW50ICdXYXJuaW5nOiBjb3VsZCBub3Qgb3ZlcnJp
ZGUgbG9jYWxlLicKKworCiBkZWYgbWFpbigpOgogICAgIG9wdGlvbnMsIGFyZ3MgPSBwYXJzZV9h
cmdzKCkKKyAgICBvdmVycmlkZV9sb2NhbGUoKQogICAgIGhvc3QgPSBIb3N0KCkKICAgICBob3N0
Ll9pbml0aWFsaXplX3NjbSgpCiAgICAgcG9ydCA9IGhvc3QucG9ydF9mYWN0b3J5LmdldChvcHRp
b25zLnBsYXRmb3JtLCBvcHRpb25zKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>116280</attachid>
            <date>2011-11-22 15:16:32 -0800</date>
            <delta_ts>2011-11-23 14:12:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>4645</size>
            <attacher>vanuan</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDEwMTAyNSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDIwIEBACisyMDExLTExLTIyICBKb2huIFlhbmkgIDx2YW51YW5AZ21haWwuY29tPgorCisg
ICAgICAgIFRlc3RzIHNob3VsZCBub3QgYmUgbG9jYWxlIGRlcGVuZGVudCBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2OTEKKworICAgICAgICBPdmVycmlkZSBMQ19B
TEwsIExBTkdVQUdFIGFuZCBMQU5HIGVudmlyb25tZW50IHZhcmlhYmxlIHRvIHVzZSBlbl9VUy5V
VEYtOC4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IFNjcmlwdHMvd2Via2l0cHkvY29tbW9uL3N5c3RlbS9leGVjdXRpdmUucHk6CisgICAgICAgIChF
eGVjdXRpdmUucnVuX2NvbW1hbmQpOgorICAgICAgICAgIEFkZCBhIGxvY2FsZV9zdHJpbmcgcGFy
YW1ldGVyIGFuZCBvdmVycmlkZSBsb2NhbGUgdG8gdXNlIGl0CisgICAgICAgICogU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9iYXNlLnB5OgorICAgICAgICAoUG9ydC5zZXR1cF9l
bnZpcm9uX2Zvcl9zZXJ2ZXIpOgorICAgICAgICAgIE92ZXJyaWRlIGxvY2FsZSB0byBlbl9VUy5V
VEYtOAorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvYmFzZV91
bml0dGVzdC5weToKKyAgICAgICAgICBUZXN0IHRoYXQgYWxsIGxvY2FsZSB2YXJpYWJsZXMgYXJl
IHNldC4KKwogMjAxMS0xMS0xNyAgVmluY2VudCBTY2hlaWIgIDxzY2hlaWJAY2hyb21pdW0ub3Jn
PgogCiAgICAgICAgIFBvaW50ZXIgTG9jazogSW5pdGlhbCBUZXN0cyBmb3IgbmF2aWdhdG9yLndl
YmtpdFBvbnRlcgpJbmRleDogVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL2V4
ZWN1dGl2ZS5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9z
eXN0ZW0vZXhlY3V0aXZlLnB5CShyZXZpc2lvbiAxMDEwMDkpCisrKyBUb29scy9TY3JpcHRzL3dl
YmtpdHB5L2NvbW1vbi9zeXN0ZW0vZXhlY3V0aXZlLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0zOTYs
NyArMzk2LDggQEAgY2xhc3MgRXhlY3V0aXZlKG9iamVjdCk6CiAgICAgZGVmIHJ1bl9jb21tYW5k
KHNlbGYsCiAgICAgICAgICAgICAgICAgICAgIGFyZ3MsCiAgICAgICAgICAgICAgICAgICAgIGN3
ZD1Ob25lLAotICAgICAgICAgICAgICAgICAgICBlbnY9Tm9uZSwKKyAgICAgICAgICAgICAgICAg
ICAgZW52PW9zLmVudmlyb24uY29weSgpLAorICAgICAgICAgICAgICAgICAgICBsb2NhbGVfc3Ry
aW5nPSdlbl9VUy5VVEYtOCcsCiAgICAgICAgICAgICAgICAgICAgIGlucHV0PU5vbmUsCiAgICAg
ICAgICAgICAgICAgICAgIGVycm9yX2hhbmRsZXI9Tm9uZSwKICAgICAgICAgICAgICAgICAgICAg
cmV0dXJuX2V4aXRfY29kZT1GYWxzZSwKQEAgLTQxMSw2ICs0MTIsOCBAQCBjbGFzcyBFeGVjdXRp
dmUob2JqZWN0KToKICAgICAgICAgc3RkaW4sIHN0cmluZ190b19jb21tdW5pY2F0ZSA9IHNlbGYu
X2NvbXB1dGVfc3RkaW4oaW5wdXQpCiAgICAgICAgIHN0ZGVyciA9IHNlbGYuU1RET1VUIGlmIHJl
dHVybl9zdGRlcnIgZWxzZSBOb25lCiAKKyAgICAgICAgc2VsZi5zZXRfbG9jYWxlX2Vudmlyb24o
ZW52LCBsb2NhbGVfc3RyaW5nKQorCiAgICAgICAgIHByb2Nlc3MgPSBzZWxmLnBvcGVuKGFyZ3Ms
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZGluPXN0ZGluLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBzdGRvdXQ9c2VsZi5QSVBFLApAQCAtNDQxLDYgKzQ0NCwxNiBAQCBj
bGFzcyBFeGVjdXRpdmUob2JqZWN0KToKICAgICAgICAgICAgIChlcnJvcl9oYW5kbGVyIG9yIHNl
bGYuZGVmYXVsdF9lcnJvcl9oYW5kbGVyKShzY3JpcHRfZXJyb3IpCiAgICAgICAgIHJldHVybiBv
dXRwdXQKIAorICAgIEBzdGF0aWNtZXRob2QKKyAgICBkZWYgc2V0X2xvY2FsZV9lbnZpcm9uKGVu
diwgbG9jYWxlX3N0cmluZyk6CisgICAgICAgICMgT3ZlcnJpZGUgbG9jYWxlCisgICAgICAgICMg
RklYTUUgd29ya3Mgb25seSBpbiBVbml4IGVudmlyb25tZW50cy4KKyAgICAgICAgZW52WydMQU5H
VUFHRSddID0gbG9jYWxlX3N0cmluZy5zcGxpdCgnXycpWzBdCisgICAgICAgIGVudlsnTEFORydd
ID0gbG9jYWxlX3N0cmluZworICAgICAgICBlbnZbJ0xDX01FU1NBR0VTJ10gPSBsb2NhbGVfc3Ry
aW5nCisgICAgICAgIGVudlsnTENfQUxMJ10gPSAnJworICAgICAgICByZXR1cm4gZW52CisKICAg
ICBkZWYgX2NoaWxkX3Byb2Nlc3NfZW5jb2Rpbmcoc2VsZik6CiAgICAgICAgICMgV2luMzIgUHl0
aG9uIDIueCB1c2VzIENyZWF0ZVByb2Nlc3NBIHJhdGhlciB0aGFuIENyZWF0ZVByb2Nlc3NXCiAg
ICAgICAgICMgdG8gbGF1bmNoIHN1YnByb2Nlc3Nlcywgc28gd2UgaGF2ZSB0byBlbmNvZGUgYXJn
dW1lbnRzIHVzaW5nIHRoZQpJbmRleDogVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVz
dHMvcG9ydC9iYXNlLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5
b3V0X3Rlc3RzL3BvcnQvYmFzZS5weQkocmV2aXNpb24gMTAxMDA5KQorKysgVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9iYXNlLnB5CSh3b3JraW5nIGNvcHkpCkBAIC00
OSw2ICs0OSw3IEBAIGV4Y2VwdCBJbXBvcnRFcnJvcjoKIGZyb20gd2Via2l0cHkuY29tbW9uLnN5
c3RlbSBpbXBvcnQgbG9ndXRpbHMKIGZyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbSBpbXBvcnQg
cGF0aAogZnJvbSB3ZWJraXRweS5jb21tb24uc3lzdGVtLmV4ZWN1dGl2ZSBpbXBvcnQgU2NyaXB0
RXJyb3IKK2Zyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5leGVjdXRpdmUgaW1wb3J0IEV4ZWN1
dGl2ZQogZnJvbSB3ZWJraXRweS5sYXlvdXRfdGVzdHMgaW1wb3J0IHJlYWRfY2hlY2tzdW1fZnJv
bV9wbmcKIGZyb20gd2Via2l0cHkubGF5b3V0X3Rlc3RzLm1vZGVscy50ZXN0X2NvbmZpZ3VyYXRp
b24gaW1wb3J0IFRlc3RDb25maWd1cmF0aW9uCiBmcm9tIHdlYmtpdHB5LmxheW91dF90ZXN0cy5w
b3J0IGltcG9ydCBjb25maWcgYXMgcG9ydF9jb25maWcKQEAgLTY4Nyw2ICs2ODgsMTAgQEAgY2xh
c3MgUG9ydChvYmplY3QpOgogCiAgICAgICAgICMgRm9yIExpbnV4OgogICAgICAgICBjbGVhbl9l
bnZbJ0RJU1BMQVknXSA9IHNlbGYuX3ZhbHVlX29yX2RlZmF1bHRfZnJvbV9lbnZpcm9uKCdESVNQ
TEFZJywgJzoxJykKKworICAgICAgICAjIE92ZXJyaWRlIGxvY2FsZQorICAgICAgICBjbGVhbl9l
bnYgPSBFeGVjdXRpdmUuc2V0X2xvY2FsZV9lbnZpcm9uKGNsZWFuX2VudiwgJ2VuX1VTLlVURi04
JykKKwogICAgICAgICByZXR1cm4gY2xlYW5fZW52CiAKICAgICBkZWYgc2hvd19yZXN1bHRzX2h0
bWxfZmlsZShzZWxmLCByZXN1bHRzX2ZpbGVuYW1lKToKSW5kZXg6IFRvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvYmFzZV91bml0dGVzdC5weQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBU
b29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Jhc2VfdW5pdHRlc3QucHkJ
KHJldmlzaW9uIDEwMTAwOSkKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3Rz
L3BvcnQvYmFzZV91bml0dGVzdC5weQkod29ya2luZyBjb3B5KQpAQCAtMTg5LDYgKzE4OSwxNCBA
QCBjbGFzcyBQb3J0VGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIHNlbGYuYXNzZXJ0
VHJ1ZShwb3J0LnNraXBzX2xheW91dF90ZXN0KCdtZWRpYS92aWRlby16b29tLmh0bWwnKSkKICAg
ICAgICAgc2VsZi5hc3NlcnRGYWxzZShwb3J0LnNraXBzX2xheW91dF90ZXN0KCdmb28vZm9vLmh0
bWwnKSkKIAorICAgIGRlZiB0ZXN0X3NldHVwX2Vudmlyb25fZm9yX3NlcnZlcihzZWxmKToKKyAg
ICAgICAgcG9ydCA9IHNlbGYubWFrZV9wb3J0KCkKKyAgICAgICAgZW52ID0gcG9ydC5zZXR1cF9l
bnZpcm9uX2Zvcl9zZXJ2ZXIoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhlbnZbJ0xBTkdV
QUdFJ10sICdlbicpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKGVudlsnTEFORyddLCAnZW5f
VVMuVVRGLTgnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhlbnZbJ0xDX0FMTCddLCAnJykK
KyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoZW52WydMQ19NRVNTQUdFUyddLCAnZW5fVVMuVVRG
LTgnKQorCiAgICAgZGVmIHRlc3Rfc2V0dXBfdGVzdF9ydW4oc2VsZik6CiAgICAgICAgIHBvcnQg
PSBzZWxmLm1ha2VfcG9ydCgpCiAgICAgICAgICMgVGhpcyByb3V0aW5lIGlzIGEgbm8tb3AuIFdl
IGp1c3QgdGVzdCBpdCBmb3IgY292ZXJhZ2UuCg==
</data>
<flag name="review"
          id="115414"
          type_id="1"
          status="-"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>116425</attachid>
            <date>2011-11-23 14:12:42 -0800</date>
            <delta_ts>2011-11-23 14:28:14 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>4950</size>
            <attacher>vanuan</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDEwMTAyNSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDIwIEBACisyMDExLTExLTIyICBKb2huIFlhbmkgIDx2YW51YW5AZ21haWwuY29tPgorCisg
ICAgICAgIFRlc3RzIHNob3VsZCBub3QgYmUgbG9jYWxlIGRlcGVuZGVudCBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2OTEKKworICAgICAgICBPdmVycmlkZSBMQ19B
TEwsIExBTkdVQUdFIGFuZCBMQU5HIGVudmlyb25tZW50IHZhcmlhYmxlIHRvIHVzZSBlbl9VUy5V
VEYtOC4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IFNjcmlwdHMvd2Via2l0cHkvY29tbW9uL3N5c3RlbS9leGVjdXRpdmUucHk6CisgICAgICAgIChF
eGVjdXRpdmUucnVuX2NvbW1hbmQpOgorICAgICAgICAgIEFkZCBhIGxvY2FsZV9zdHJpbmcgcGFy
YW1ldGVyIGFuZCBvdmVycmlkZSBsb2NhbGUgdG8gdXNlIGl0CisgICAgICAgICogU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9iYXNlLnB5OgorICAgICAgICAoUG9ydC5zZXR1cF9l
bnZpcm9uX2Zvcl9zZXJ2ZXIpOgorICAgICAgICAgIE92ZXJyaWRlIGxvY2FsZSB0byBlbl9VUy5V
VEYtOAorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvYmFzZV91
bml0dGVzdC5weToKKyAgICAgICAgICBUZXN0IHRoYXQgYWxsIGxvY2FsZSB2YXJpYWJsZXMgYXJl
IHNldC4KKwogMjAxMS0xMS0xNyAgVmluY2VudCBTY2hlaWIgIDxzY2hlaWJAY2hyb21pdW0ub3Jn
PgogCiAgICAgICAgIFBvaW50ZXIgTG9jazogSW5pdGlhbCBUZXN0cyBmb3IgbmF2aWdhdG9yLndl
YmtpdFBvbnRlcgpJbmRleDogVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vaG9zdC5weQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9ob3N0LnB5CShyZXZp
c2lvbiAxMDEwMDkpCisrKyBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9ob3N0LnB5CSh3
b3JraW5nIGNvcHkpCkBAIC02OCw2ICs2OCwxNiBAQCBjbGFzcyBIb3N0KG9iamVjdCk6CiAgICAg
ICAgICMgRklYTUU6IFBvcnRGYWN0b3J5IGRvZXNuJ3QgYmVsb25nIG9uIHRoaXMgSG9zdCBvYmpl
Y3QgaWYgUG9ydCBpcyBnb2luZyB0byBoYXZlIGEgSG9zdCAoY2lyY3VsYXIgZGVwZW5kZW5jeSku
CiAgICAgICAgIHNlbGYucG9ydF9mYWN0b3J5ID0gUG9ydEZhY3Rvcnkoc2VsZikKIAorICAgIEBz
dGF0aWNtZXRob2QKKyAgICBkZWYgc2V0X2xvY2FsZV9lbnZpcm9uKGVudiwgbG9jYWxlX3N0cmlu
Zyk6CisgICAgICAgICMgT3ZlcnJpZGUgbG9jYWxlCisgICAgICAgICMgRklYTUUgd29ya3Mgb25s
eSBpbiBVbml4IGVudmlyb25tZW50cy4KKyAgICAgICAgZW52WydMQU5HVUFHRSddID0gbG9jYWxl
X3N0cmluZy5zcGxpdCgnXycpWzBdCisgICAgICAgIGVudlsnTEFORyddID0gbG9jYWxlX3N0cmlu
ZworICAgICAgICBlbnZbJ0xDX01FU1NBR0VTJ10gPSBsb2NhbGVfc3RyaW5nCisgICAgICAgIGVu
dlsnTENfQUxMJ10gPSAnJworICAgICAgICByZXR1cm4gZW52CisKICAgICAjIEZJWE1FOiBUaGlz
IGlzIGEgaG9ycmlibGUsIGhvcnJpYmxlIGhhY2sgZm9yIENocm9taXVtV2luIGFuZCBzaG91bGQg
YmUgcmVtb3ZlZC4KICAgICAjIE1heWJlIHRoaXMgYmVsb25ncyBpbiBTVk4gaW4gc29tZSBtb3Jl
IGdlbmVyaWMgImZpbmQgdGhlIHN2biBiaW5hcnkiIGNvZGVwYXRoPwogICAgICMgT3IgcG9zc2li
bHkgRXhlY3V0aXZlIHNob3VsZCBoYXZlIGEgd2F5IHRvIGVtdWxhdGUgc2hlbGwgcGF0aC1sb29r
dXBzPwpJbmRleDogVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL2V4ZWN1dGl2
ZS5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0v
ZXhlY3V0aXZlLnB5CShyZXZpc2lvbiAxMDEwMDkpCisrKyBUb29scy9TY3JpcHRzL3dlYmtpdHB5
L2NvbW1vbi9zeXN0ZW0vZXhlY3V0aXZlLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0zOTcsNiArMzk3
LDcgQEAgY2xhc3MgRXhlY3V0aXZlKG9iamVjdCk6CiAgICAgICAgICAgICAgICAgICAgIGFyZ3Ms
CiAgICAgICAgICAgICAgICAgICAgIGN3ZD1Ob25lLAogICAgICAgICAgICAgICAgICAgICBlbnY9
Tm9uZSwKKyAgICAgICAgICAgICAgICAgICAgbG9jYWxlX3N0cmluZz1Ob25lLAogICAgICAgICAg
ICAgICAgICAgICBpbnB1dD1Ob25lLAogICAgICAgICAgICAgICAgICAgICBlcnJvcl9oYW5kbGVy
PU5vbmUsCiAgICAgICAgICAgICAgICAgICAgIHJldHVybl9leGl0X2NvZGU9RmFsc2UsCkBAIC00
MTEsNiArNDEyLDEzIEBAIGNsYXNzIEV4ZWN1dGl2ZShvYmplY3QpOgogICAgICAgICBzdGRpbiwg
c3RyaW5nX3RvX2NvbW11bmljYXRlID0gc2VsZi5fY29tcHV0ZV9zdGRpbihpbnB1dCkKICAgICAg
ICAgc3RkZXJyID0gc2VsZi5TVERPVVQgaWYgcmV0dXJuX3N0ZGVyciBlbHNlIE5vbmUKIAorICAg
ICAgICBmcm9tIHdlYmtpdHB5LmNvbW1vbi5ob3N0IGltcG9ydCBIb3N0ICMgdGhpcyBpcyBoZXJl
IHRvIGF2b2lkIGNpcmN1bGFyIGRlcGVuZGVuY3kKKyAgICAgICAgaWYgZW52IGlzIE5vbmU6Cisg
ICAgICAgICAgZW52ID0gb3MuZW52aXJvbi5jb3B5KCkKKyAgICAgICAgaWYgbG9jYWxlX3N0cmlu
ZyBpcyBOb25lOgorICAgICAgICAgIGxvY2FsZV9zdHJpbmcgPSAnZW5fVVMuVVRGLTgnCisgICAg
ICAgIEhvc3Quc2V0X2xvY2FsZV9lbnZpcm9uKGVudiwgbG9jYWxlX3N0cmluZykKKwogICAgICAg
ICBwcm9jZXNzID0gc2VsZi5wb3BlbihhcmdzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBzdGRpbj1zdGRpbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Rkb3V0PXNlbGYu
UElQRSwKSW5kZXg6IFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvYmFz
ZS5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9w
b3J0L2Jhc2UucHkJKHJldmlzaW9uIDEwMTAwOSkKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkv
bGF5b3V0X3Rlc3RzL3BvcnQvYmFzZS5weQkod29ya2luZyBjb3B5KQpAQCAtNDYsNiArNDYsNyBA
QCB0cnk6CiBleGNlcHQgSW1wb3J0RXJyb3I6CiAgICAgbXVsdGlwcm9jZXNzaW5nID0gTm9uZQog
Citmcm9tIHdlYmtpdHB5LmNvbW1vbi5ob3N0IGltcG9ydCBIb3N0CiBmcm9tIHdlYmtpdHB5LmNv
bW1vbi5zeXN0ZW0gaW1wb3J0IGxvZ3V0aWxzCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0g
aW1wb3J0IHBhdGgKIGZyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5leGVjdXRpdmUgaW1wb3J0
IFNjcmlwdEVycm9yCkBAIC02ODcsNiArNjg4LDEwIEBAIGNsYXNzIFBvcnQob2JqZWN0KToKIAog
ICAgICAgICAjIEZvciBMaW51eDoKICAgICAgICAgY2xlYW5fZW52WydESVNQTEFZJ10gPSBzZWxm
Ll92YWx1ZV9vcl9kZWZhdWx0X2Zyb21fZW52aXJvbignRElTUExBWScsICc6MScpCisKKyAgICAg
ICAgIyBPdmVycmlkZSBsb2NhbGUKKyAgICAgICAgSG9zdC5zZXRfbG9jYWxlX2Vudmlyb24oY2xl
YW5fZW52LCAnZW5fVVMuVVRGLTgnKQorCiAgICAgICAgIHJldHVybiBjbGVhbl9lbnYKIAogICAg
IGRlZiBzaG93X3Jlc3VsdHNfaHRtbF9maWxlKHNlbGYsIHJlc3VsdHNfZmlsZW5hbWUpOgpJbmRl
eDogVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9iYXNlX3VuaXR0ZXN0
LnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3Bv
cnQvYmFzZV91bml0dGVzdC5weQkocmV2aXNpb24gMTAxMDA5KQorKysgVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9iYXNlX3VuaXR0ZXN0LnB5CSh3b3JraW5nIGNvcHkp
CkBAIC0xODksNiArMTg5LDE0IEBAIGNsYXNzIFBvcnRUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToK
ICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHBvcnQuc2tpcHNfbGF5b3V0X3Rlc3QoJ21lZGlhL3Zp
ZGVvLXpvb20uaHRtbCcpKQogICAgICAgICBzZWxmLmFzc2VydEZhbHNlKHBvcnQuc2tpcHNfbGF5
b3V0X3Rlc3QoJ2Zvby9mb28uaHRtbCcpKQogCisgICAgZGVmIHRlc3Rfc2V0dXBfZW52aXJvbl9m
b3Jfc2VydmVyKHNlbGYpOgorICAgICAgICBwb3J0ID0gc2VsZi5tYWtlX3BvcnQoKQorICAgICAg
ICBlbnYgPSBwb3J0LnNldHVwX2Vudmlyb25fZm9yX3NlcnZlcigpCisgICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWxzKGVudlsnTEFOR1VBR0UnXSwgJ2VuJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVh
bHMoZW52WydMQU5HJ10sICdlbl9VUy5VVEYtOCcpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxz
KGVudlsnTENfQUxMJ10sICcnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhlbnZbJ0xDX01F
U1NBR0VTJ10sICdlbl9VUy5VVEYtOCcpCisKICAgICBkZWYgdGVzdF9zZXR1cF90ZXN0X3J1bihz
ZWxmKToKICAgICAgICAgcG9ydCA9IHNlbGYubWFrZV9wb3J0KCkKICAgICAgICAgIyBUaGlzIHJv
dXRpbmUgaXMgYSBuby1vcC4gV2UganVzdCB0ZXN0IGl0IGZvciBjb3ZlcmFnZS4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>116429</attachid>
            <date>2011-11-23 14:28:14 -0800</date>
            <delta_ts>2011-11-28 12:49:09 -0800</delta_ts>
            <desc>patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>0</size>
            <attacher>vanuan</attacher>
            
              <data encoding="base64"></data>
<flag name="review"
          id="115583"
          type_id="1"
          status="+"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>405603</attachid>
            <date>2020-07-30 13:16:18 -0700</date>
            <delta_ts>2020-07-30 13:16:18 -0700</delta_ts>
            <desc>Patch for landing (r101274)</desc>
            <filename>r101274.patch</filename>
            <type>text/plain</type>
            <size>2950</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">Y29tbWl0IDllY2VmNzExMjBiZmY4MjI3MDBhMjlkNmY0MjUwMTM0MzJmODk2YzAKQXV0aG9yOiBl
cmljQHdlYmtpdC5vcmcgPGVyaWNAd2Via2l0Lm9yZ0AyNjhmNDVjYy1jZDA5LTA0MTAtYWIzYy1k
NTI2OTFiNGRiZmM+CkRhdGU6ICAgTW9uIE5vdiAyOCAyMDo0ODoyMyAyMDExICswMDAwCgogICAg
bmV3LXJ1bi13ZWJraXQtdGVzdHMgaXMgbG9jYWxlIGRlcGVuZGVudAogICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjkxCiAgICAKICAgIFJldmlld2VkIGFuZCBt
b2RpZmllZCBieSBFcmljIFNlaWRlbC4KICAgIAogICAgVGhpcyBpcyBhIHNpbXBsZXIgdmVyc2lv
biBvZiBKb2huJ3MgcGF0Y2ggd2hpY2ggSSdtIGxhbmRpbmcuCiAgICBUaGlzIGp1c3QgZW5nYWdl
cyB0aGUgaGFja3MgZnJvbSB0aGUgSG9zdCBjb25zdHJ1Y3RvciBvbiBhIGdsb2JhbAogICAgYmFz
aXMuCiAgICAKICAgIFBhdGNoIGJ5IEpvaG4gWWFuaSA8dmFudWFuQGdtYWlsLmNvbT4gb24gMjAx
MS0xMS0yOAogICAgCiAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29tbW9uL2hvc3QucHk6CiAgICAo
SG9zdC5fX2luaXRfXyk6CiAgICAoSG9zdC5fZW5nYWdlX2F3ZXNvbWVfbG9jYWxlX2hhY2tzKToK
ICAgIAogICAgZ2l0LXN2bi1pZDogaHR0cHM6Ly9zdm4ud2Via2l0Lm9yZy9yZXBvc2l0b3J5L3dl
YmtpdC90cnVua0AxMDEyNzQgMjY4ZjQ1Y2MtY2QwOS0wNDEwLWFiM2MtZDUyNjkxYjRkYmZjCgpk
aWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDZjNDNh
MjYwNzE4ZC4uM2I1ZmJhZmI2ZTA4IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIv
VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMTEtMjggIEpvaG4gWWFuaSAg
PHZhbnVhbkBnbWFpbC5jb20+CisKKyAgICAgICAgbmV3LXJ1bi13ZWJraXQtdGVzdHMgaXMgbG9j
YWxlIGRlcGVuZGVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9Njg2OTEKKworICAgICAgICBSZXZpZXdlZCBhbmQgbW9kaWZpZWQgYnkgRXJpYyBTZWlk
ZWwuCisKKyAgICAgICAgVGhpcyBpcyBhIHNpbXBsZXIgdmVyc2lvbiBvZiBKb2huJ3MgcGF0Y2gg
d2hpY2ggSSdtIGxhbmRpbmcuCisgICAgICAgIFRoaXMganVzdCBlbmdhZ2VzIHRoZSBoYWNrcyBm
cm9tIHRoZSBIb3N0IGNvbnN0cnVjdG9yIG9uIGEgZ2xvYmFsCisgICAgICAgIGJhc2lzLgorCisg
ICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21tb24vaG9zdC5weToKKyAgICAgICAgKEhvc3Qu
X19pbml0X18pOgorICAgICAgICAoSG9zdC5fZW5nYWdlX2F3ZXNvbWVfbG9jYWxlX2hhY2tzKToK
KwogMjAxMS0xMS0yOCAgRmFkeSBTYW11ZWwgIDxmc2FtdWVsQGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBbQ2hyb21pdW1dIEZpeCBicm9rZW4gRFJUIGJ1aWxkIGZvciBBdXJhIExpbnV4CmRpZmYg
LS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9ob3N0LnB5IGIvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9jb21tb24vaG9zdC5weQppbmRleCA2MzNmYzIzNjA1ZjkuLjZkNDEwZjg0
ODI1OCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vaG9zdC5weQor
KysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9ob3N0LnB5CkBAIC03MCw2ICs3MCwy
MiBAQCBjbGFzcyBIb3N0KG9iamVjdCk6CiAgICAgICAgICMgRklYTUU6IFBvcnRGYWN0b3J5IGRv
ZXNuJ3QgYmVsb25nIG9uIHRoaXMgSG9zdCBvYmplY3QgaWYgUG9ydCBpcyBnb2luZyB0byBoYXZl
IGEgSG9zdCAoY2lyY3VsYXIgZGVwZW5kZW5jeSkuCiAgICAgICAgIHNlbGYucG9ydF9mYWN0b3J5
ID0gUG9ydEZhY3Rvcnkoc2VsZikKIAorICAgICAgICBzZWxmLl9lbmdhZ2VfYXdlc29tZV9sb2Nh
bGVfaGFja3MoKQorCisgICAgIyBXZSBjYWxsIHRoaXMgZnJvbSB0aGUgSG9zdCBjb25zdHJ1Y3Rv
ciwgYXMgaXQncyBvbmUgb2YgdGhlCisgICAgIyBlYXJsaWVzdCBjYWxscyBtYWRlIGZvciBhbGwg
d2Via2l0cHktYmFzZWQgcHJvZ3JhbXMuCisgICAgZGVmIF9lbmdhZ2VfYXdlc29tZV9sb2NhbGVf
aGFja3Moc2VsZik6CisgICAgICAgICMgVG8gbWFrZSBsaWZlIGVhc2llciBvbiBvdXIgbm9uLWVu
Z2xpc2ggdXNlcnMsIHdlIG92ZXJyaWRlCisgICAgICAgICMgdGhlIGxvY2FsZSBlbnZpcm9ubWVu
dCB2YXJpYWJsZXMgaW5zaWRlIHdlYmtpdHB5LgorICAgICAgICAjIElmIHdlIGRvbid0IGRvIHRo
aXMsIHByb2dyYW1zIGxpa2UgU1ZOIHdpbGwgb3V0cHV0IGxvY2FsaXplZAorICAgICAgICAjIG1l
c3NhZ2VzIGFuZCBzdm4ucHkgd2lsbCBmYWlsIHRvIHBhcnNlIHRoZW0uCisgICAgICAgICMgRklY
TUU6IFdlIHNob3VsZCBkbyB0aGVzZSBvdmVycmlkZXMgKm9ubHkqIGZvciB0aGUgc3VicHJvY2Vz
c2VzIHdlIGtub3cgbmVlZCB0aGVtIQorICAgICAgICAjIFRoaXMgaGFjayBvbmx5IHdvcmtzIGlu
IHVuaXggZW52aXJvbm1lbnRzLgorICAgICAgICBvcy5lbnZpcm9uWydMQU5HVUFHRSddID0gJ2Vu
JworICAgICAgICBvcy5lbnZpcm9uWydMQU5HJ10gPSAnZW5fVVMuVVRGLTgnCisgICAgICAgIG9z
LmVudmlyb25bJ0xDX01FU1NBR0VTJ10gPSAnZW5fVVMuVVRGLTgnCisgICAgICAgIG9zLmVudmly
b25bJ0xDX0FMTCddID0gJycKKwogICAgICMgRklYTUU6IFRoaXMgaXMgYSBob3JyaWJsZSwgaG9y
cmlibGUgaGFjayBmb3IgQ2hyb21pdW1XaW4gYW5kIHNob3VsZCBiZSByZW1vdmVkLgogICAgICMg
TWF5YmUgdGhpcyBiZWxvbmdzIGluIFNWTiBpbiBzb21lIG1vcmUgZ2VuZXJpYyAiZmluZCB0aGUg
c3ZuIGJpbmFyeSIgY29kZXBhdGg/CiAgICAgIyBPciBwb3NzaWJseSBFeGVjdXRpdmUgc2hvdWxk
IGhhdmUgYSB3YXkgdG8gZW11bGF0ZSBzaGVsbCBwYXRoLWxvb2t1cHM/Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>