<?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>58301</bug_id>
          
          <creation_ts>2011-04-11 23:42:48 -0700</creation_ts>
          <short_desc>Extract map from port to builder name.</short_desc>
          <delta_ts>2011-04-27 02:48:23 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="James Kozianski">koz</reporter>
          <assigned_to name="James Kozianski">koz</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>eric</cc>
    
    <cc>ojan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>383841</commentid>
    <comment_count>0</comment_count>
    <who name="James Kozianski">koz</who>
    <bug_when>2011-04-11 23:42:48 -0700</bug_when>
    <thetext>Extract map from port to builder name.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>383842</commentid>
    <comment_count>1</comment_count>
      <attachid>89164</attachid>
    <who name="James Kozianski">koz</who>
    <bug_when>2011-04-11 23:48:02 -0700</bug_when>
    <thetext>Created attachment 89164
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>383844</commentid>
    <comment_count>2</comment_count>
    <who name="James Kozianski">koz</who>
    <bug_when>2011-04-11 23:51:03 -0700</bug_when>
    <thetext>Ojan, is this what you had in mind?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>384155</commentid>
    <comment_count>3</comment_count>
      <attachid>89164</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-04-12 10:57:20 -0700</bug_when>
    <thetext>Comment on attachment 89164
Patch

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

OMG this is so useful.  You might want to clarify where these builders live (build.webkit.org) in a small comment.

Is it possible to look up a builder by name?  What do we use thsi for?

&gt; Tools/Scripts/webkitpy/layout_tests/port/builders.py:45
&gt; +    &apos;chromium-mac-snowleopard&apos;: &apos;Mac_10_6_Tests__dbg__1_&apos;,

Do we really have builders named this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>384157</commentid>
    <comment_count>4</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-04-12 10:57:56 -0700</bug_when>
    <thetext>I also suspect it&apos;s possible to generate some of this list dynamically by scraping buildbot.  We would do that lazilly and then cache it of course.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>384167</commentid>
    <comment_count>5</comment_count>
      <attachid>89164</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-04-12 11:06:19 -0700</bug_when>
    <thetext>Comment on attachment 89164
Patch

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

&gt;&gt; Tools/Scripts/webkitpy/layout_tests/port/builders.py:45
&gt;&gt; +    &apos;chromium-mac-snowleopard&apos;: &apos;Mac_10_6_Tests__dbg__1_&apos;,
&gt; 
&gt; Do we really have builders named this?

Yes.  The actual name is &quot;Mac 10.6 Tests (dbg)(1)&quot;, but all the punctuation and spaces get converted to _ because they are also directories on disk.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>384173</commentid>
    <comment_count>6</comment_count>
      <attachid>89164</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-04-12 11:16:36 -0700</bug_when>
    <thetext>Comment on attachment 89164
Patch

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

&gt;&gt;&gt; Tools/Scripts/webkitpy/layout_tests/port/builders.py:45
&gt;&gt;&gt; +    &apos;chromium-mac-snowleopard&apos;: &apos;Mac_10_6_Tests__dbg__1_&apos;,
&gt;&gt; 
&gt;&gt; Do we really have builders named this?
&gt; 
&gt; Yes.  The actual name is &quot;Mac 10.6 Tests (dbg)(1)&quot;, but all the punctuation and spaces get converted to _ because they are also directories on disk.

So why do we see &quot;Leopard Intel Debug (Tests)&quot; in this list, and the gobbledy-gook above?  Should we be writing the real name, and converting to _ in a separate step?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>384638</commentid>
    <comment_count>7</comment_count>
      <attachid>89330</attachid>
    <who name="James Kozianski">koz</who>
    <bug_when>2011-04-12 20:26:13 -0700</bug_when>
    <thetext>Created attachment 89330
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>384639</commentid>
    <comment_count>8</comment_count>
    <who name="James Kozianski">koz</who>
    <bug_when>2011-04-12 20:35:26 -0700</bug_when>
    <thetext>&gt; So why do we see &quot;Leopard Intel Debug (Tests)&quot; in this list, and the gobbledy-gook above?  Should we be writing the real name, and converting to _ in a separate step?

This list is actually a combination of Chromium and WebKit builders (see latest patch). Is there a use for the non underscored builder names (these names are based off URLs)? Otherwise perhaps we should just leave them as is.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>384654</commentid>
    <comment_count>9</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-04-12 21:25:23 -0700</bug_when>
    <thetext>It&apos;s unclear what the use of a mixed list is.  Don&apos;t we need the information about which buildbot they came from?  Or should we have two separate lists?  (And a single lookup funciton which knows how to check both?) I think I&apos;m missing some information here. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>384691</commentid>
    <comment_count>10</comment_count>
    <who name="James Kozianski">koz</who>
    <bug_when>2011-04-12 22:53:54 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; It&apos;s unclear what the use of a mixed list is.  Don&apos;t we need the information about which buildbot they came from?  Or should we have two separate lists?  (And a single lookup funciton which knows how to check both?) I think I&apos;m missing some information here. :)

I&apos;m not sure either :-) For my rebaseline tool, all I need is a big tree indicating the fallback orders of all the ports. Currently it constructs that by getting a Port for each item in the mixed list and asking it for its baseline_search_path(). Grepping through the webkitpy code, it seems that this is what layout_tests/deduplicate_tests.py uses it for as well (and is the only caller of the function).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>384827</commentid>
    <comment_count>11</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-04-13 06:20:59 -0700</bug_when>
    <thetext>The rebaselining stuff is a rather new addition to webkitpy. :)  It was imported from Chrome&apos;s repo, so I can&apos;t say I know the code very well.

It seems reasonable to have a mapping from bots to their respective ports.  If that&apos;s not available on the bots themselves, than it&apos;s OK to hard code that into webkitpy.

I could see it being reasonable to be able to ask such a question of the Port object, and that the Builder object should be able to tell you what Port the builder is.

In any case, I&apos;m not sure my suggestions were very helpful. , I&apos;m glad to see you&apos;re tryign to clean up the rebaseline code, it was not written for re-use (as was much of the code we imported from Chrome, sadly).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>390532</commentid>
    <comment_count>12</comment_count>
      <attachid>89330</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2011-04-21 18:47:39 -0700</bug_when>
    <thetext>Comment on attachment 89330
Patch

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

This looks great. Please address my comments then feel free to commit.

Can you add a FIXME to make the values in this maps be lists? That way we can encode the fact that each port corresponds to 0-n bots (e.g. release/debug bots).

&gt; Tools/Scripts/webkitpy/layout_tests/port/builders.py:30
&gt; +# Compiled manually from http://build.chromium.org/p/chromium/json/builders/help?as_text=1

Maybe add a comment that the None values are ports that don&apos;t have a running bot at build.webkit.org and/or build.chromium.org?

&gt; Tools/Scripts/webkitpy/layout_tests/port/builders.py:32
&gt; +    &apos;chromium-gpu-linux&apos;: None,

This should be &apos;Webkit_Linux_-_GPU&apos;. Ditto for the others chromium ports below. You can see the full list here: http://build.chromium.org/f/chromium/layout_test_results/

&gt; Tools/Scripts/webkitpy/layout_tests/port/builders.py:42
&gt; +    &apos;chromium-linux-x86&apos;: &apos;Linux_Tests__dbg__1_&apos;,

Can you make the values for the chromium port be the actual bot names and then add a helper function to this file? getBuilderPathFromName?

&gt; Tools/Scripts/webkitpy/layout_tests/port/builders.py:64
&gt; +    &apos;qt-linux&apos;: None,

This one should be &quot;Qt Linux Release&quot;, right?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>390533</commentid>
    <comment_count>13</comment_count>
      <attachid>89330</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2011-04-21 18:48:30 -0700</bug_when>
    <thetext>Comment on attachment 89330
Patch

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

&gt;&gt; Tools/Scripts/webkitpy/layout_tests/port/builders.py:42
&gt;&gt; +    &apos;chromium-linux-x86&apos;: &apos;Linux_Tests__dbg__1_&apos;,
&gt; 
&gt; Can you make the values for the chromium port be the actual bot names and then add a helper function to this file? getBuilderPathFromName?

get_path_from_name might be a better function name.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>393223</commentid>
    <comment_count>14</comment_count>
      <attachid>91199</attachid>
    <who name="James Kozianski">koz</who>
    <bug_when>2011-04-26 18:24:04 -0700</bug_when>
    <thetext>Created attachment 91199
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>393225</commentid>
    <comment_count>15</comment_count>
    <who name="James Kozianski">koz</who>
    <bug_when>2011-04-26 18:25:28 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; (From update of attachment 89330 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=89330&amp;action=review
&gt; 
&gt; This looks great. Please address my comments then feel free to commit.
&gt; 
&gt; Can you add a FIXME to make the values in this maps be lists? That way we can encode the fact that each port corresponds to 0-n bots (e.g. release/debug bots).

Done.

&gt; &gt; Tools/Scripts/webkitpy/layout_tests/port/builders.py:30
&gt; &gt; +# Compiled manually from http://build.chromium.org/p/chromium/json/builders/help?as_text=1
&gt; 
&gt; Maybe add a comment that the None values are ports that don&apos;t have a running bot at build.webkit.org and/or build.chromium.org?

Done.

&gt; &gt; Tools/Scripts/webkitpy/layout_tests/port/builders.py:32
&gt; &gt; +    &apos;chromium-gpu-linux&apos;: None,
&gt; 
&gt; This should be &apos;Webkit_Linux_-_GPU&apos;. Ditto for the others chromium ports below. You can see the full list here: http://build.chromium.org/f/chromium/layout_test_results/

Cheers! Done.

&gt; &gt; Tools/Scripts/webkitpy/layout_tests/port/builders.py:42
&gt; &gt; +    &apos;chromium-linux-x86&apos;: &apos;Linux_Tests__dbg__1_&apos;,
&gt; 
&gt; Can you make the values for the chromium port be the actual bot names and then add a helper function to this file? getBuilderPathFromName?
&gt; 
&gt; &gt; Tools/Scripts/webkitpy/layout_tests/port/builders.py:64
&gt; &gt; +    &apos;qt-linux&apos;: None,
&gt; 
&gt; This one should be &quot;Qt Linux Release&quot;, right?

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>393226</commentid>
    <comment_count>16</comment_count>
      <attachid>91199</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-04-26 18:25:45 -0700</bug_when>
    <thetext>Comment on attachment 91199
Patch

This is very hot.  Very very hot.  Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>393234</commentid>
    <comment_count>17</comment_count>
      <attachid>91203</attachid>
    <who name="James Kozianski">koz</who>
    <bug_when>2011-04-26 18:27:04 -0700</bug_when>
    <thetext>Created attachment 91203
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>393235</commentid>
    <comment_count>18</comment_count>
    <who name="James Kozianski">koz</who>
    <bug_when>2011-04-26 18:27:44 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; (From update of attachment 89330 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=89330&amp;action=review
&gt; 
&gt; &gt;&gt; Tools/Scripts/webkitpy/layout_tests/port/builders.py:42
&gt; &gt;&gt; +    &apos;chromium-linux-x86&apos;: &apos;Linux_Tests__dbg__1_&apos;,
&gt; &gt; 
&gt; &gt; Can you make the values for the chromium port be the actual bot names and then add a helper function to this file? getBuilderPathFromName?
&gt; 
&gt; get_path_from_name might be a better function name.

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>393243</commentid>
    <comment_count>19</comment_count>
      <attachid>91203</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-04-26 18:32:06 -0700</bug_when>
    <thetext>Comment on attachment 91203
Patch

Still awesome.  Ideally we would unittest get_path_from_name  (Which probably should be an _ function anyway.... and I think WebKit generaly avoids using &quot;get&quot; in function names).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>393335</commentid>
    <comment_count>20</comment_count>
      <attachid>91228</attachid>
    <who name="James Kozianski">koz</who>
    <bug_when>2011-04-26 21:57:19 -0700</bug_when>
    <thetext>Created attachment 91228
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>393336</commentid>
    <comment_count>21</comment_count>
    <who name="James Kozianski">koz</who>
    <bug_when>2011-04-26 21:58:16 -0700</bug_when>
    <thetext>(In reply to comment #19)
&gt; (From update of attachment 91203 [details])
&gt; Still awesome.  Ideally we would unittest get_path_from_name  (Which probably should be an _ function anyway.... and I think WebKit generaly avoids using &quot;get&quot; in function names).

Thanks, Eric! I&apos;ve added a unit test and renamed the function :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>393348</commentid>
    <comment_count>22</comment_count>
      <attachid>91228</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-04-26 22:15:44 -0700</bug_when>
    <thetext>Comment on attachment 91228
Patch

Fantastic!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>393461</commentid>
    <comment_count>23</comment_count>
      <attachid>91228</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-04-27 02:48:17 -0700</bug_when>
    <thetext>Comment on attachment 91228
Patch

Clearing flags on attachment: 91228

Committed r85040: &lt;http://trac.webkit.org/changeset/85040&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>393462</commentid>
    <comment_count>24</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-04-27 02:48:23 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>89164</attachid>
            <date>2011-04-11 23:48:02 -0700</date>
            <delta_ts>2011-04-12 20:26:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-58301-20110412164800.patch</filename>
            <type>text/plain</type>
            <size>5713</size>
            <attacher name="James Kozianski">koz</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODMyMjYKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCAxMzdiMjljZTFlYzYzNzliMTJmOWQzYTYzMzk5OGExNjMw
OTcwZjRmLi5lNzA1MjNkNjJjOWQ1MWI4ODAxYzJhMzZiNGRmNDM1MjkwMTBhMTJiIDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQg
QEAKKzIwMTEtMDQtMTEgIEphbWVzIEtvemlhbnNraSAgPGtvekBjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRXh0cmFjdCBtYXAg
ZnJvbSBwb3J0IHRvIGJ1aWxkZXIgbmFtZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTU4MzAxCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xh
eW91dF90ZXN0cy9wb3J0L19faW5pdF9fLnB5OgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkv
bGF5b3V0X3Rlc3RzL3BvcnQvYnVpbGRlcnMucHk6IEFkZGVkLgorICAgICAgICAqIFNjcmlwdHMv
d2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvZmFjdG9yeS5weToKKwogMjAxMS0wNC0wNyAgQW5k
cmV3IFNjaGVya3VzICA8c2NoZXJrdXNAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmVydCBF
TkFCTEVfVFJBQ0sgcGF0Y2ggZHVlIHRvIGNvbXBpbGUgZmFpbHVyZXMuCmRpZmYgLS1naXQgYS9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L19faW5pdF9fLnB5IGIvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9fX2luaXRfXy5weQppbmRleCA1
OWFiMmVmMTExMDliYmIzMDBmM2RkZDVkYjkxYjIyMmM4MzZjN2Y1Li5iYzJlMTA1OWU2N2Y1Mjgw
NzRhOGIwYzdmY2VhYmU4Y2NmZDM5M2M5IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2xheW91dF90ZXN0cy9wb3J0L19faW5pdF9fLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvX19pbml0X18ucHkKQEAgLTMyLDMgKzMyLDUgQEAKIGZy
b20gZmFjdG9yeSBpbXBvcnQgZ2V0CiAKIGZyb20gdGVzdCBpbXBvcnQgdW5pdF90ZXN0X2ZpbGVz
eXN0ZW0KKworaW1wb3J0IGJ1aWxkZXJzCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2xheW91dF90ZXN0cy9wb3J0L2J1aWxkZXJzLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9sYXlvdXRfdGVzdHMvcG9ydC9idWlsZGVycy5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45MjgyZDAxNGVkNjU5
MGUxOWQ3MWI3YTg5N2EzYjI5NmQxNDUzZTU0Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9idWlsZGVycy5weQpAQCAtMCwwICsxLDY5
IEBACisjIS91c3IvYmluL2VudiBweXRob24KKyMgQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
CisjIG1ldDoKKyMKKyMgICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisjIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIKKyMgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZQorIyBkaXN0cmlidXRpb24uCisjICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
R29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyMgY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyMgdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyMKKyMg
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUworIyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyMgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyMg
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsCisjIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisjIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQor
IyBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisjIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisKK1BPUlRfVE9f
QlVJTERFUl9OQU1FID0geworICAgICdjaHJvbWl1bS1ncHUtbGludXgnOiBOb25lLAorCisgICAg
J2Nocm9taXVtLWdwdS1tYWMtc25vd2xlb3BhcmQnOiBOb25lLAorICAgICdjaHJvbWl1bS1ncHUt
bWFjLWxlb3BhcmQnOiBOb25lLAorCisgICAgJ2Nocm9taXVtLWdwdS13aW4teHAnOiBOb25lLAor
ICAgICdjaHJvbWl1bS1ncHUtd2luLXZpc3RhJzogTm9uZSwKKyAgICAnY2hyb21pdW0tZ3B1LXdp
bi13aW43JzogTm9uZSwKKworICAgICdjaHJvbWl1bS1saW51eC14ODZfNjQnOiAnTGludXhfVGVz
dHNfeDY0JywKKyAgICAnY2hyb21pdW0tbGludXgteDg2JzogJ0xpbnV4X1Rlc3RzX19kYmdfXzFf
JywKKworICAgICdjaHJvbWl1bS1tYWMtbGVvcGFyZCc6ICdNYWMxMF81X1Rlc3RzX18xXycsCisg
ICAgJ2Nocm9taXVtLW1hYy1zbm93bGVvcGFyZCc6ICdNYWNfMTBfNl9UZXN0c19fZGJnX18xXycs
CisKKyAgICAnY2hyb21pdW0td2luLXhwJzogJ1hQX1Rlc3RzX19kYmdfXzVfJywKKyAgICAnY2hy
b21pdW0td2luLXZpc3RhJzogJ1Zpc3RhX1Rlc3RzX19kYmdfXzFfJywKKyAgICAnY2hyb21pdW0t
d2luLXdpbjcnOiBOb25lLAorCisgICAgJ2dvb2dsZS1jaHJvbWUtbGludXgzMic6IE5vbmUsCisg
ICAgJ2dvb2dsZS1jaHJvbWUtbGludXg2NCc6IE5vbmUsCisKKyAgICAnZ3RrJzogJ0dUSyBMaW51
eCAzMi1iaXQgRGVidWcnLAorCisgICAgJ21hYy10aWdlcic6IE5vbmUsCisgICAgJ21hYy1sZW9w
YXJkJzogJ0xlb3BhcmQgSW50ZWwgRGVidWcgKFRlc3RzKScsCisgICAgJ21hYy1zbm93bGVvcGFy
ZCc6ICdTbm93TGVvcGFyZCBJbnRlbCBSZWxlYXNlIChUZXN0cyknLAorICAgICdtYWMtd2syJzog
J1Nub3dMZW9wYXJkIEludGVsIFJlbGVhc2UgKFdlYktpdDIgVGVzdHMpJywKKworICAgICdxdC1s
aW51eCc6IE5vbmUsCisgICAgJ3F0LW1hYyc6IE5vbmUsCisgICAgJ3F0LXdpbic6IE5vbmUsCisg
ICAgJ3F0LXdrMic6IE5vbmUsCisKKyAgICAnd2luLXhwJzogJ1dpbmRvd3MgWFAgRGVidWcgKFRl
c3RzKScsCisgICAgJ3dpbic6IE5vbmUsCisgICAgJ3dpbi13azInOiAnV2luZG93cyA3IFJlbGVh
c2UgKFdlYktpdDIgVGVzdHMpJywKK30KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvbGF5b3V0X3Rlc3RzL3BvcnQvZmFjdG9yeS5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
bGF5b3V0X3Rlc3RzL3BvcnQvZmFjdG9yeS5weQppbmRleCA2ODNkYmEzZDY4NzI1ZDkxNjUzZmEx
ZWMwODkxNjc2ZDM1NDUwM2RmLi40N2QxMTExZjMzYmNmYzViNTI3NTY3ZjQ2NTZmN2VmYzk5NjE3
ODYzIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0
L2ZhY3RvcnkucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9y
dC9mYWN0b3J5LnB5CkBAIC0zMiw2ICszMiw4IEBACiAKIGltcG9ydCBzeXMKIAorZnJvbSB3ZWJr
aXRweS5sYXlvdXRfdGVzdHMucG9ydCBpbXBvcnQgYnVpbGRlcnMKKwogCiBkZWYgYWxsX3BvcnRf
bmFtZXMoKToKICAgICAiIiJSZXR1cm4gYSBsaXN0IG9mIGFsbCB2YWxpZCwgZnVsbHktc3BlY2lm
aWVkLCAicmVhbCIgcG9ydCBuYW1lcy4KQEAgLTQwLDE4ICs0Miw3IEBAIGRlZiBhbGxfcG9ydF9u
YW1lcygpOgogICAgIGJ5IHJlYWwgcG9ydHMuIFRoaXMgZG9lcyBub3QgaW5jbHVkZSBhbnkgImZh
a2UiIG5hbWVzIGxpa2UgInRlc3QiCiAgICAgb3IgIm1vY2stbWFjIiwgYW5kIGl0IGRvZXMgbm90
IGluY2x1ZGUgYW55IGRpcmVjdG9yaWVzIHRoYXQgYXJlIG5vdCAuIiIiCiAgICAgIyBGSVhNRTog
VGhlcmUncyBwcm9iYWJseSBhIGJldHRlciB3YXkgdG8gZ2VuZXJhdGUgdGhpcyBsaXN0IC4uLgot
ICAgIHJldHVybiBbJ2Nocm9taXVtLWdwdS1saW51eCcsCi0gICAgICAgICAgICAnY2hyb21pdW0t
Z3B1LW1hYy1zbm93bGVvcGFyZCcsICdjaHJvbWl1bS1ncHUtbWFjLWxlb3BhcmQnLAotICAgICAg
ICAgICAgJ2Nocm9taXVtLWdwdS13aW4teHAnLCAnY2hyb21pdW0tZ3B1LXdpbi12aXN0YScsICdj
aHJvbWl1bS1ncHUtd2luLXdpbjcnLAotICAgICAgICAgICAgJ2Nocm9taXVtLWxpbnV4LXg4Nl82
NCcsICdjaHJvbWl1bS1saW51eC14ODYnLAotICAgICAgICAgICAgJ2Nocm9taXVtLW1hYy1sZW9w
YXJkJywgJ2Nocm9taXVtLW1hYy1zbm93bGVvcGFyZCcsCi0gICAgICAgICAgICAnY2hyb21pdW0t
d2luLXhwJywgJ2Nocm9taXVtLXdpbi12aXN0YScsICdjaHJvbWl1bS13aW4td2luNycsCi0gICAg
ICAgICAgICAnZ29vZ2xlLWNocm9tZS1saW51eDMyJywgJ2dvb2dsZS1jaHJvbWUtbGludXg2NCcs
Ci0gICAgICAgICAgICAnZ3RrJywKLSAgICAgICAgICAgICdtYWMtdGlnZXInLCAnbWFjLWxlb3Bh
cmQnLCAnbWFjLXNub3dsZW9wYXJkJywgJ21hYy13azInLAotICAgICAgICAgICAgJ3F0LWxpbnV4
JywgJ3F0LW1hYycsICdxdC13aW4nLCAncXQtd2syJywKLSAgICAgICAgICAgICd3aW4teHAnLCAn
d2luJywgJ3dpbi13azInLAotICAgIF0KKyAgICByZXR1cm4gYnVpbGRlcnMuUE9SVF9UT19CVUlM
REVSX05BTUUua2V5cygpCiAKIAogZGVmIGdldChwb3J0X25hbWU9Tm9uZSwgb3B0aW9ucz1Ob25l
LCAqKmt3YXJncyk6Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>89330</attachid>
            <date>2011-04-12 20:26:13 -0700</date>
            <delta_ts>2011-04-26 18:23:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-58301-20110413132611.patch</filename>
            <type>text/plain</type>
            <size>6054</size>
            <attacher name="James Kozianski">koz</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODMyMjYKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCAxMzdiMjljZTFlYzYzNzliMTJmOWQzYTYzMzk5OGExNjMw
OTcwZjRmLi5lNzA1MjNkNjJjOWQ1MWI4ODAxYzJhMzZiNGRmNDM1MjkwMTBhMTJiIDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQg
QEAKKzIwMTEtMDQtMTEgIEphbWVzIEtvemlhbnNraSAgPGtvekBjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRXh0cmFjdCBtYXAg
ZnJvbSBwb3J0IHRvIGJ1aWxkZXIgbmFtZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTU4MzAxCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xh
eW91dF90ZXN0cy9wb3J0L19faW5pdF9fLnB5OgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkv
bGF5b3V0X3Rlc3RzL3BvcnQvYnVpbGRlcnMucHk6IEFkZGVkLgorICAgICAgICAqIFNjcmlwdHMv
d2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvZmFjdG9yeS5weToKKwogMjAxMS0wNC0wNyAgQW5k
cmV3IFNjaGVya3VzICA8c2NoZXJrdXNAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmVydCBF
TkFCTEVfVFJBQ0sgcGF0Y2ggZHVlIHRvIGNvbXBpbGUgZmFpbHVyZXMuCmRpZmYgLS1naXQgYS9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L19faW5pdF9fLnB5IGIvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9fX2luaXRfXy5weQppbmRleCA1
OWFiMmVmMTExMDliYmIzMDBmM2RkZDVkYjkxYjIyMmM4MzZjN2Y1Li5iYzJlMTA1OWU2N2Y1Mjgw
NzRhOGIwYzdmY2VhYmU4Y2NmZDM5M2M5IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2xheW91dF90ZXN0cy9wb3J0L19faW5pdF9fLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvX19pbml0X18ucHkKQEAgLTMyLDMgKzMyLDUgQEAKIGZy
b20gZmFjdG9yeSBpbXBvcnQgZ2V0CiAKIGZyb20gdGVzdCBpbXBvcnQgdW5pdF90ZXN0X2ZpbGVz
eXN0ZW0KKworaW1wb3J0IGJ1aWxkZXJzCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2xheW91dF90ZXN0cy9wb3J0L2J1aWxkZXJzLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9sYXlvdXRfdGVzdHMvcG9ydC9idWlsZGVycy5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44ZWQ4NGZhOTNiOTkz
NzM3NzM3MmM1MjRlZjE5ZWIxMDdkNzMxMWQyCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9idWlsZGVycy5weQpAQCAtMCwwICsxLDc2
IEBACisjIS91c3IvYmluL2VudiBweXRob24KKyMgQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
CisjIG1ldDoKKyMKKyMgICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisjIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIKKyMgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZQorIyBkaXN0cmlidXRpb24uCisjICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
R29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyMgY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyMgdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyMKKyMg
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUworIyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyMgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyMg
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsCisjIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisjIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQor
IyBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisjIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisjIENvbXBpbGVk
IG1hbnVhbGx5IGZyb20gaHR0cDovL2J1aWxkLmNocm9taXVtLm9yZy9wL2Nocm9taXVtL2pzb24v
YnVpbGRlcnMvaGVscD9hc190ZXh0PTEKK0NIUk9NSVVNX1BPUlRfVE9fQlVJTERFUl9OQU1FID0g
eworICAgICdjaHJvbWl1bS1ncHUtbGludXgnOiBOb25lLAorCisgICAgJ2Nocm9taXVtLWdwdS1t
YWMtc25vd2xlb3BhcmQnOiBOb25lLAorICAgICdjaHJvbWl1bS1ncHUtbWFjLWxlb3BhcmQnOiBO
b25lLAorCisgICAgJ2Nocm9taXVtLWdwdS13aW4teHAnOiBOb25lLAorICAgICdjaHJvbWl1bS1n
cHUtd2luLXZpc3RhJzogTm9uZSwKKyAgICAnY2hyb21pdW0tZ3B1LXdpbi13aW43JzogTm9uZSwK
KworICAgICdjaHJvbWl1bS1saW51eC14ODZfNjQnOiAnTGludXhfVGVzdHNfeDY0JywKKyAgICAn
Y2hyb21pdW0tbGludXgteDg2JzogJ0xpbnV4X1Rlc3RzX19kYmdfXzFfJywKKworICAgICdjaHJv
bWl1bS1tYWMtbGVvcGFyZCc6ICdNYWMxMF81X1Rlc3RzX18xXycsCisgICAgJ2Nocm9taXVtLW1h
Yy1zbm93bGVvcGFyZCc6ICdNYWNfMTBfNl9UZXN0c19fZGJnX18xXycsCisKKyAgICAnY2hyb21p
dW0td2luLXhwJzogJ1hQX1Rlc3RzX19kYmdfXzVfJywKKyAgICAnY2hyb21pdW0td2luLXZpc3Rh
JzogJ1Zpc3RhX1Rlc3RzX19kYmdfXzFfJywKKyAgICAnY2hyb21pdW0td2luLXdpbjcnOiBOb25l
LAorCisgICAgJ2dvb2dsZS1jaHJvbWUtbGludXgzMic6IE5vbmUsCisgICAgJ2dvb2dsZS1jaHJv
bWUtbGludXg2NCc6IE5vbmUsCit9CisKKyMgQ29tcGlsZWQgbWFudWFsbHkgZnJvbSBodHRwOi8v
YnVpbGQud2Via2l0Lm9yZy9idWlsZGVycworV0VCS0lUX1BPUlRfVE9fQlVJTERFUl9OQU1FID0g
eworICAgICdndGsnOiAnR1RLIExpbnV4IDMyLWJpdCBEZWJ1ZycsCisKKyAgICAnbWFjLXRpZ2Vy
JzogTm9uZSwKKyAgICAnbWFjLWxlb3BhcmQnOiAnTGVvcGFyZCBJbnRlbCBEZWJ1ZyAoVGVzdHMp
JywKKyAgICAnbWFjLXNub3dsZW9wYXJkJzogJ1Nub3dMZW9wYXJkIEludGVsIFJlbGVhc2UgKFRl
c3RzKScsCisgICAgJ21hYy13azInOiAnU25vd0xlb3BhcmQgSW50ZWwgUmVsZWFzZSAoV2ViS2l0
MiBUZXN0cyknLAorCisgICAgJ3F0LWxpbnV4JzogTm9uZSwKKyAgICAncXQtbWFjJzogTm9uZSwK
KyAgICAncXQtd2luJzogTm9uZSwKKyAgICAncXQtd2syJzogTm9uZSwKKworICAgICd3aW4teHAn
OiAnV2luZG93cyBYUCBEZWJ1ZyAoVGVzdHMpJywKKyAgICAnd2luJzogTm9uZSwKKyAgICAnd2lu
LXdrMic6ICdXaW5kb3dzIDcgUmVsZWFzZSAoV2ViS2l0MiBUZXN0cyknLAorfQorCitQT1JUX1RP
X0JVSUxERVJfTkFNRSA9IHt9CitQT1JUX1RPX0JVSUxERVJfTkFNRS51cGRhdGUoQ0hST01JVU1f
UE9SVF9UT19CVUlMREVSX05BTUUpCitQT1JUX1RPX0JVSUxERVJfTkFNRS51cGRhdGUoV0VCS0lU
X1BPUlRfVE9fQlVJTERFUl9OQU1FKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9sYXlvdXRfdGVzdHMvcG9ydC9mYWN0b3J5LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9s
YXlvdXRfdGVzdHMvcG9ydC9mYWN0b3J5LnB5CmluZGV4IDY4M2RiYTNkNjg3MjVkOTE2NTNmYTFl
YzA4OTE2NzZkMzU0NTAzZGYuLjQ3ZDExMTFmMzNiY2ZjNWI1Mjc1NjdmNDY1NmY3ZWZjOTk2MTc4
NjMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQv
ZmFjdG9yeS5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0
L2ZhY3RvcnkucHkKQEAgLTMyLDYgKzMyLDggQEAKIAogaW1wb3J0IHN5cwogCitmcm9tIHdlYmtp
dHB5LmxheW91dF90ZXN0cy5wb3J0IGltcG9ydCBidWlsZGVycworCiAKIGRlZiBhbGxfcG9ydF9u
YW1lcygpOgogICAgICIiIlJldHVybiBhIGxpc3Qgb2YgYWxsIHZhbGlkLCBmdWxseS1zcGVjaWZp
ZWQsICJyZWFsIiBwb3J0IG5hbWVzLgpAQCAtNDAsMTggKzQyLDcgQEAgZGVmIGFsbF9wb3J0X25h
bWVzKCk6CiAgICAgYnkgcmVhbCBwb3J0cy4gVGhpcyBkb2VzIG5vdCBpbmNsdWRlIGFueSAiZmFr
ZSIgbmFtZXMgbGlrZSAidGVzdCIKICAgICBvciAibW9jay1tYWMiLCBhbmQgaXQgZG9lcyBub3Qg
aW5jbHVkZSBhbnkgZGlyZWN0b3JpZXMgdGhhdCBhcmUgbm90IC4iIiIKICAgICAjIEZJWE1FOiBU
aGVyZSdzIHByb2JhYmx5IGEgYmV0dGVyIHdheSB0byBnZW5lcmF0ZSB0aGlzIGxpc3QgLi4uCi0g
ICAgcmV0dXJuIFsnY2hyb21pdW0tZ3B1LWxpbnV4JywKLSAgICAgICAgICAgICdjaHJvbWl1bS1n
cHUtbWFjLXNub3dsZW9wYXJkJywgJ2Nocm9taXVtLWdwdS1tYWMtbGVvcGFyZCcsCi0gICAgICAg
ICAgICAnY2hyb21pdW0tZ3B1LXdpbi14cCcsICdjaHJvbWl1bS1ncHUtd2luLXZpc3RhJywgJ2No
cm9taXVtLWdwdS13aW4td2luNycsCi0gICAgICAgICAgICAnY2hyb21pdW0tbGludXgteDg2XzY0
JywgJ2Nocm9taXVtLWxpbnV4LXg4NicsCi0gICAgICAgICAgICAnY2hyb21pdW0tbWFjLWxlb3Bh
cmQnLCAnY2hyb21pdW0tbWFjLXNub3dsZW9wYXJkJywKLSAgICAgICAgICAgICdjaHJvbWl1bS13
aW4teHAnLCAnY2hyb21pdW0td2luLXZpc3RhJywgJ2Nocm9taXVtLXdpbi13aW43JywKLSAgICAg
ICAgICAgICdnb29nbGUtY2hyb21lLWxpbnV4MzInLCAnZ29vZ2xlLWNocm9tZS1saW51eDY0JywK
LSAgICAgICAgICAgICdndGsnLAotICAgICAgICAgICAgJ21hYy10aWdlcicsICdtYWMtbGVvcGFy
ZCcsICdtYWMtc25vd2xlb3BhcmQnLCAnbWFjLXdrMicsCi0gICAgICAgICAgICAncXQtbGludXgn
LCAncXQtbWFjJywgJ3F0LXdpbicsICdxdC13azInLAotICAgICAgICAgICAgJ3dpbi14cCcsICd3
aW4nLCAnd2luLXdrMicsCi0gICAgXQorICAgIHJldHVybiBidWlsZGVycy5QT1JUX1RPX0JVSUxE
RVJfTkFNRS5rZXlzKCkKIAogCiBkZWYgZ2V0KHBvcnRfbmFtZT1Ob25lLCBvcHRpb25zPU5vbmUs
ICoqa3dhcmdzKToK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>91199</attachid>
            <date>2011-04-26 18:24:04 -0700</date>
            <delta_ts>2011-04-26 18:26:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-58301-20110427112402.patch</filename>
            <type>text/plain</type>
            <size>6669</size>
            <attacher name="James Kozianski">koz</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODQ5NzMKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCBiZDllYzk1M2E1MzgxNzUyNWE5YTQ1MzVmYjMxZGRjNjEy
MWE5Njk0Li5iNWY5OGYyM2E3NDU2NGIyYWE1NzIzMGExYjIyMmM3ZjJkOGNlNDU1IDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQg
QEAKKzIwMTEtMDQtMTEgIEphbWVzIEtvemlhbnNraSAgPGtvekBjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgT2phbiBWYWZhaS4KKworICAgICAgICBFeHRyYWN0IG1hcCBmcm9t
IHBvcnQgdG8gYnVpbGRlciBuYW1lLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NTgzMDEKKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0
X3Rlc3RzL3BvcnQvX19pbml0X18ucHk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvcG9ydC9idWlsZGVycy5weTogQWRkZWQuCisgICAgICAgICogU2NyaXB0cy93ZWJr
aXRweS9sYXlvdXRfdGVzdHMvcG9ydC9mYWN0b3J5LnB5OgorCiAyMDExLTA0LTI2ICBBZHJpZW5u
ZSBXYWxrZXIgIDxlbm5lQGdvb2dsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgS2VudCBU
YW11cmEuCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9w
b3J0L19faW5pdF9fLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9y
dC9fX2luaXRfXy5weQppbmRleCA1OWFiMmVmMTExMDliYmIzMDBmM2RkZDVkYjkxYjIyMmM4MzZj
N2Y1Li5iYzJlMTA1OWU2N2Y1MjgwNzRhOGIwYzdmY2VhYmU4Y2NmZDM5M2M5IDEwMDY0NAotLS0g
YS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L19faW5pdF9fLnB5Cisr
KyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvX19pbml0X18ucHkK
QEAgLTMyLDMgKzMyLDUgQEAKIGZyb20gZmFjdG9yeSBpbXBvcnQgZ2V0CiAKIGZyb20gdGVzdCBp
bXBvcnQgdW5pdF90ZXN0X2ZpbGVzeXN0ZW0KKworaW1wb3J0IGJ1aWxkZXJzCmRpZmYgLS1naXQg
YS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2J1aWxkZXJzLnB5IGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9idWlsZGVycy5weQpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5kNGM3NWQwYTJhNDU4YjY1OWZhNjYxZGIyYWQzOGYxZDhjYTkzZTIzCi0tLSAvZGV2
L251bGwKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9idWls
ZGVycy5weQpAQCAtMCwwICsxLDg1IEBACisjIS91c3IvYmluL2VudiBweXRob24KKyMgQ29weXJp
Z2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlCisjIG1ldDoKKyMKKyMgICAgICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
IyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlCisjIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyMgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorIyBkaXN0cmlidXRpb24uCisjICAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyMg
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20KKyMgdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworIyAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IKKyMgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQKKyMgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisjIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsCisjIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWQorIyBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisjIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorCitpbXBvcnQgcmUKKworCitkZWYgZ2V0QnVpbGRlclBhdGhGcm9tTmFtZShuYW1l
KToKKyAgICByZXR1cm4gcmUuc3ViKHInW1xzKCkuXScsICdfJywgbmFtZSkKKworIyBDb21waWxl
ZCBtYW51YWxseSBmcm9tIGh0dHA6Ly9idWlsZC5jaHJvbWl1bS5vcmcvcC9jaHJvbWl1bS9qc29u
L2J1aWxkZXJzL2hlbHA/YXNfdGV4dD0xCisjIFZhbHVlcyBvZiBOb25lIG1lYW4gdGhlcmUgYXJl
IG5vIGJvdHMgcnVubmluZyBhdCBidWlsZC53ZWJraXQub3JnIG9yCisjIGJ1aWxkLmNocm9taXVt
Lm9yZyBmb3IgdGhhdCBwb3J0LgorIyBGSVhNRSBNYWtlIHRoZSB2YWx1ZXMgaW4gdGhpcyBtYXAg
aW50byBsaXN0cy4KK0NIUk9NSVVNX1BPUlRfVE9fQlVJTERFUl9OQU1FID0geworICAgICdjaHJv
bWl1bS1ncHUtbGludXgnOiBnZXRCdWlsZGVyUGF0aEZyb21OYW1lKCdXZWJraXQgTGludXggLSBH
UFUnKSwKKworICAgICdjaHJvbWl1bS1ncHUtbWFjLXNub3dsZW9wYXJkJzogZ2V0QnVpbGRlclBh
dGhGcm9tTmFtZSgnV2Via2l0IE1hYzEwLjYgLSBHUFUnKSwKKyAgICAnY2hyb21pdW0tZ3B1LW1h
Yy1sZW9wYXJkJzogZ2V0QnVpbGRlclBhdGhGcm9tTmFtZSgnV2Via2l0IE1hYzEwLjUgLSBHUFUn
KSwKKworICAgICdjaHJvbWl1bS1ncHUtd2luLXhwJzogZ2V0QnVpbGRlclBhdGhGcm9tTmFtZSgn
V2Via2l0IFdpbiAtIEdQVScpLAorICAgICdjaHJvbWl1bS1ncHUtd2luLXZpc3RhJzogZ2V0QnVp
bGRlclBhdGhGcm9tTmFtZSgnV2Via2l0IFZpc3RhIC0gR1BVJyksCisgICAgJ2Nocm9taXVtLWdw
dS13aW4td2luNyc6IGdldEJ1aWxkZXJQYXRoRnJvbU5hbWUoJ1dlYmtpdCBXaW43IC0gR1BVJyks
CisKKyAgICAnY2hyb21pdW0tbGludXgteDg2XzY0JzogZ2V0QnVpbGRlclBhdGhGcm9tTmFtZSgn
TGludXggVGVzdHMgeDY0JyksCisgICAgJ2Nocm9taXVtLWxpbnV4LXg4Nic6IGdldEJ1aWxkZXJQ
YXRoRnJvbU5hbWUoJ0xpbnV4IFRlc3RzIChkYmcpKDEpJyksCisKKyAgICAnY2hyb21pdW0tbWFj
LWxlb3BhcmQnOiBnZXRCdWlsZGVyUGF0aEZyb21OYW1lKCdNYWMxMC41IFRlc3RzICgxKScpLAor
ICAgICdjaHJvbWl1bS1tYWMtc25vd2xlb3BhcmQnOiBnZXRCdWlsZGVyUGF0aEZyb21OYW1lKCdN
YWMgMTAuNiBUZXN0cyAoZGJnKSgxKScpLAorCisgICAgJ2Nocm9taXVtLXdpbi14cCc6IGdldEJ1
aWxkZXJQYXRoRnJvbU5hbWUoJ1hQIFRlc3RzIChkYmcpKDUpJyksCisgICAgJ2Nocm9taXVtLXdp
bi12aXN0YSc6IGdldEJ1aWxkZXJQYXRoRnJvbU5hbWUoJ1Zpc3RhIFRlc3RzIChkYmcpKDEpJyks
CisgICAgJ2Nocm9taXVtLXdpbi13aW43JzogTm9uZSwKKworICAgICdnb29nbGUtY2hyb21lLWxp
bnV4MzInOiBOb25lLAorICAgICdnb29nbGUtY2hyb21lLWxpbnV4NjQnOiBOb25lLAorfQorCisj
IENvbXBpbGVkIG1hbnVhbGx5IGZyb20gaHR0cDovL2J1aWxkLndlYmtpdC5vcmcvYnVpbGRlcnMK
K1dFQktJVF9QT1JUX1RPX0JVSUxERVJfTkFNRSA9IHsKKyAgICAnZ3RrJzogJ0dUSyBMaW51eCAz
Mi1iaXQgRGVidWcnLAorCisgICAgJ21hYy10aWdlcic6IE5vbmUsCisgICAgJ21hYy1sZW9wYXJk
JzogJ0xlb3BhcmQgSW50ZWwgRGVidWcgKFRlc3RzKScsCisgICAgJ21hYy1zbm93bGVvcGFyZCc6
ICdTbm93TGVvcGFyZCBJbnRlbCBSZWxlYXNlIChUZXN0cyknLAorICAgICdtYWMtd2syJzogJ1Nu
b3dMZW9wYXJkIEludGVsIFJlbGVhc2UgKFdlYktpdDIgVGVzdHMpJywKKworICAgICdxdC1saW51
eCc6ICdRdCBMaW51eCBSZWxlYXNlJywKKyAgICAncXQtbWFjJzogTm9uZSwKKyAgICAncXQtd2lu
JzogTm9uZSwKKyAgICAncXQtd2syJzogTm9uZSwKKworICAgICd3aW4teHAnOiAnV2luZG93cyBY
UCBEZWJ1ZyAoVGVzdHMpJywKKyAgICAnd2luJzogTm9uZSwKKyAgICAnd2luLXdrMic6ICdXaW5k
b3dzIDcgUmVsZWFzZSAoV2ViS2l0MiBUZXN0cyknLAorfQorCitQT1JUX1RPX0JVSUxERVJfTkFN
RSA9IHt9CitQT1JUX1RPX0JVSUxERVJfTkFNRS51cGRhdGUoQ0hST01JVU1fUE9SVF9UT19CVUlM
REVSX05BTUUpCitQT1JUX1RPX0JVSUxERVJfTkFNRS51cGRhdGUoV0VCS0lUX1BPUlRfVE9fQlVJ
TERFUl9OQU1FKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVz
dHMvcG9ydC9mYWN0b3J5LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMv
cG9ydC9mYWN0b3J5LnB5CmluZGV4IDY4M2RiYTNkNjg3MjVkOTE2NTNmYTFlYzA4OTE2NzZkMzU0
NTAzZGYuLjQ3ZDExMTFmMzNiY2ZjNWI1Mjc1NjdmNDY1NmY3ZWZjOTk2MTc4NjMgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvZmFjdG9yeS5weQor
KysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2ZhY3RvcnkucHkK
QEAgLTMyLDYgKzMyLDggQEAKIAogaW1wb3J0IHN5cwogCitmcm9tIHdlYmtpdHB5LmxheW91dF90
ZXN0cy5wb3J0IGltcG9ydCBidWlsZGVycworCiAKIGRlZiBhbGxfcG9ydF9uYW1lcygpOgogICAg
ICIiIlJldHVybiBhIGxpc3Qgb2YgYWxsIHZhbGlkLCBmdWxseS1zcGVjaWZpZWQsICJyZWFsIiBw
b3J0IG5hbWVzLgpAQCAtNDAsMTggKzQyLDcgQEAgZGVmIGFsbF9wb3J0X25hbWVzKCk6CiAgICAg
YnkgcmVhbCBwb3J0cy4gVGhpcyBkb2VzIG5vdCBpbmNsdWRlIGFueSAiZmFrZSIgbmFtZXMgbGlr
ZSAidGVzdCIKICAgICBvciAibW9jay1tYWMiLCBhbmQgaXQgZG9lcyBub3QgaW5jbHVkZSBhbnkg
ZGlyZWN0b3JpZXMgdGhhdCBhcmUgbm90IC4iIiIKICAgICAjIEZJWE1FOiBUaGVyZSdzIHByb2Jh
Ymx5IGEgYmV0dGVyIHdheSB0byBnZW5lcmF0ZSB0aGlzIGxpc3QgLi4uCi0gICAgcmV0dXJuIFsn
Y2hyb21pdW0tZ3B1LWxpbnV4JywKLSAgICAgICAgICAgICdjaHJvbWl1bS1ncHUtbWFjLXNub3ds
ZW9wYXJkJywgJ2Nocm9taXVtLWdwdS1tYWMtbGVvcGFyZCcsCi0gICAgICAgICAgICAnY2hyb21p
dW0tZ3B1LXdpbi14cCcsICdjaHJvbWl1bS1ncHUtd2luLXZpc3RhJywgJ2Nocm9taXVtLWdwdS13
aW4td2luNycsCi0gICAgICAgICAgICAnY2hyb21pdW0tbGludXgteDg2XzY0JywgJ2Nocm9taXVt
LWxpbnV4LXg4NicsCi0gICAgICAgICAgICAnY2hyb21pdW0tbWFjLWxlb3BhcmQnLCAnY2hyb21p
dW0tbWFjLXNub3dsZW9wYXJkJywKLSAgICAgICAgICAgICdjaHJvbWl1bS13aW4teHAnLCAnY2hy
b21pdW0td2luLXZpc3RhJywgJ2Nocm9taXVtLXdpbi13aW43JywKLSAgICAgICAgICAgICdnb29n
bGUtY2hyb21lLWxpbnV4MzInLCAnZ29vZ2xlLWNocm9tZS1saW51eDY0JywKLSAgICAgICAgICAg
ICdndGsnLAotICAgICAgICAgICAgJ21hYy10aWdlcicsICdtYWMtbGVvcGFyZCcsICdtYWMtc25v
d2xlb3BhcmQnLCAnbWFjLXdrMicsCi0gICAgICAgICAgICAncXQtbGludXgnLCAncXQtbWFjJywg
J3F0LXdpbicsICdxdC13azInLAotICAgICAgICAgICAgJ3dpbi14cCcsICd3aW4nLCAnd2luLXdr
MicsCi0gICAgXQorICAgIHJldHVybiBidWlsZGVycy5QT1JUX1RPX0JVSUxERVJfTkFNRS5rZXlz
KCkKIAogCiBkZWYgZ2V0KHBvcnRfbmFtZT1Ob25lLCBvcHRpb25zPU5vbmUsICoqa3dhcmdzKToK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>91203</attachid>
            <date>2011-04-26 18:27:04 -0700</date>
            <delta_ts>2011-04-26 21:57:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-58301-20110427112702.patch</filename>
            <type>text/plain</type>
            <size>6617</size>
            <attacher name="James Kozianski">koz</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODQ5NzMKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCBiZDllYzk1M2E1MzgxNzUyNWE5YTQ1MzVmYjMxZGRjNjEy
MWE5Njk0Li5iNWY5OGYyM2E3NDU2NGIyYWE1NzIzMGExYjIyMmM3ZjJkOGNlNDU1IDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQg
QEAKKzIwMTEtMDQtMTEgIEphbWVzIEtvemlhbnNraSAgPGtvekBjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgT2phbiBWYWZhaS4KKworICAgICAgICBFeHRyYWN0IG1hcCBmcm9t
IHBvcnQgdG8gYnVpbGRlciBuYW1lLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NTgzMDEKKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0
X3Rlc3RzL3BvcnQvX19pbml0X18ucHk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvcG9ydC9idWlsZGVycy5weTogQWRkZWQuCisgICAgICAgICogU2NyaXB0cy93ZWJr
aXRweS9sYXlvdXRfdGVzdHMvcG9ydC9mYWN0b3J5LnB5OgorCiAyMDExLTA0LTI2ICBBZHJpZW5u
ZSBXYWxrZXIgIDxlbm5lQGdvb2dsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgS2VudCBU
YW11cmEuCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9w
b3J0L19faW5pdF9fLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9y
dC9fX2luaXRfXy5weQppbmRleCA1OWFiMmVmMTExMDliYmIzMDBmM2RkZDVkYjkxYjIyMmM4MzZj
N2Y1Li5iYzJlMTA1OWU2N2Y1MjgwNzRhOGIwYzdmY2VhYmU4Y2NmZDM5M2M5IDEwMDY0NAotLS0g
YS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L19faW5pdF9fLnB5Cisr
KyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvX19pbml0X18ucHkK
QEAgLTMyLDMgKzMyLDUgQEAKIGZyb20gZmFjdG9yeSBpbXBvcnQgZ2V0CiAKIGZyb20gdGVzdCBp
bXBvcnQgdW5pdF90ZXN0X2ZpbGVzeXN0ZW0KKworaW1wb3J0IGJ1aWxkZXJzCmRpZmYgLS1naXQg
YS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2J1aWxkZXJzLnB5IGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9idWlsZGVycy5weQpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4zYTEyOTA5MzUzZjMxMDk0OWNkMTQzZjdmNzg1ODQxNDYwZTViZjA5Ci0tLSAvZGV2
L251bGwKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9idWls
ZGVycy5weQpAQCAtMCwwICsxLDg1IEBACisjIS91c3IvYmluL2VudiBweXRob24KKyMgQ29weXJp
Z2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlCisjIG1ldDoKKyMKKyMgICAgICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
IyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlCisjIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyMgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorIyBkaXN0cmlidXRpb24uCisjICAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyMg
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20KKyMgdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworIyAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IKKyMgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQKKyMgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisjIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsCisjIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWQorIyBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisjIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorCitpbXBvcnQgcmUKKworCitkZWYgZ2V0X3BhdGhfZnJvbV9uYW1lKG5hbWUpOgor
ICAgIHJldHVybiByZS5zdWIocidbXHMoKS5dJywgJ18nLCBuYW1lKQorCisjIENvbXBpbGVkIG1h
bnVhbGx5IGZyb20gaHR0cDovL2J1aWxkLmNocm9taXVtLm9yZy9wL2Nocm9taXVtL2pzb24vYnVp
bGRlcnMvaGVscD9hc190ZXh0PTEKKyMgVmFsdWVzIG9mIE5vbmUgbWVhbiB0aGVyZSBhcmUgbm8g
Ym90cyBydW5uaW5nIGF0IGJ1aWxkLndlYmtpdC5vcmcgb3IKKyMgYnVpbGQuY2hyb21pdW0ub3Jn
IGZvciB0aGF0IHBvcnQuCisjIEZJWE1FIE1ha2UgdGhlIHZhbHVlcyBpbiB0aGlzIG1hcCBpbnRv
IGxpc3RzLgorQ0hST01JVU1fUE9SVF9UT19CVUlMREVSX05BTUUgPSB7CisgICAgJ2Nocm9taXVt
LWdwdS1saW51eCc6IGdldF9wYXRoX2Zyb21fbmFtZSgnV2Via2l0IExpbnV4IC0gR1BVJyksCisK
KyAgICAnY2hyb21pdW0tZ3B1LW1hYy1zbm93bGVvcGFyZCc6IGdldF9wYXRoX2Zyb21fbmFtZSgn
V2Via2l0IE1hYzEwLjYgLSBHUFUnKSwKKyAgICAnY2hyb21pdW0tZ3B1LW1hYy1sZW9wYXJkJzog
Z2V0X3BhdGhfZnJvbV9uYW1lKCdXZWJraXQgTWFjMTAuNSAtIEdQVScpLAorCisgICAgJ2Nocm9t
aXVtLWdwdS13aW4teHAnOiBnZXRfcGF0aF9mcm9tX25hbWUoJ1dlYmtpdCBXaW4gLSBHUFUnKSwK
KyAgICAnY2hyb21pdW0tZ3B1LXdpbi12aXN0YSc6IGdldF9wYXRoX2Zyb21fbmFtZSgnV2Via2l0
IFZpc3RhIC0gR1BVJyksCisgICAgJ2Nocm9taXVtLWdwdS13aW4td2luNyc6IGdldF9wYXRoX2Zy
b21fbmFtZSgnV2Via2l0IFdpbjcgLSBHUFUnKSwKKworICAgICdjaHJvbWl1bS1saW51eC14ODZf
NjQnOiBnZXRfcGF0aF9mcm9tX25hbWUoJ0xpbnV4IFRlc3RzIHg2NCcpLAorICAgICdjaHJvbWl1
bS1saW51eC14ODYnOiBnZXRfcGF0aF9mcm9tX25hbWUoJ0xpbnV4IFRlc3RzIChkYmcpKDEpJyks
CisKKyAgICAnY2hyb21pdW0tbWFjLWxlb3BhcmQnOiBnZXRfcGF0aF9mcm9tX25hbWUoJ01hYzEw
LjUgVGVzdHMgKDEpJyksCisgICAgJ2Nocm9taXVtLW1hYy1zbm93bGVvcGFyZCc6IGdldF9wYXRo
X2Zyb21fbmFtZSgnTWFjIDEwLjYgVGVzdHMgKGRiZykoMSknKSwKKworICAgICdjaHJvbWl1bS13
aW4teHAnOiBnZXRfcGF0aF9mcm9tX25hbWUoJ1hQIFRlc3RzIChkYmcpKDUpJyksCisgICAgJ2No
cm9taXVtLXdpbi12aXN0YSc6IGdldF9wYXRoX2Zyb21fbmFtZSgnVmlzdGEgVGVzdHMgKGRiZyko
MSknKSwKKyAgICAnY2hyb21pdW0td2luLXdpbjcnOiBOb25lLAorCisgICAgJ2dvb2dsZS1jaHJv
bWUtbGludXgzMic6IE5vbmUsCisgICAgJ2dvb2dsZS1jaHJvbWUtbGludXg2NCc6IE5vbmUsCit9
CisKKyMgQ29tcGlsZWQgbWFudWFsbHkgZnJvbSBodHRwOi8vYnVpbGQud2Via2l0Lm9yZy9idWls
ZGVycworV0VCS0lUX1BPUlRfVE9fQlVJTERFUl9OQU1FID0geworICAgICdndGsnOiAnR1RLIExp
bnV4IDMyLWJpdCBEZWJ1ZycsCisKKyAgICAnbWFjLXRpZ2VyJzogTm9uZSwKKyAgICAnbWFjLWxl
b3BhcmQnOiAnTGVvcGFyZCBJbnRlbCBEZWJ1ZyAoVGVzdHMpJywKKyAgICAnbWFjLXNub3dsZW9w
YXJkJzogJ1Nub3dMZW9wYXJkIEludGVsIFJlbGVhc2UgKFRlc3RzKScsCisgICAgJ21hYy13azIn
OiAnU25vd0xlb3BhcmQgSW50ZWwgUmVsZWFzZSAoV2ViS2l0MiBUZXN0cyknLAorCisgICAgJ3F0
LWxpbnV4JzogJ1F0IExpbnV4IFJlbGVhc2UnLAorICAgICdxdC1tYWMnOiBOb25lLAorICAgICdx
dC13aW4nOiBOb25lLAorICAgICdxdC13azInOiBOb25lLAorCisgICAgJ3dpbi14cCc6ICdXaW5k
b3dzIFhQIERlYnVnIChUZXN0cyknLAorICAgICd3aW4nOiBOb25lLAorICAgICd3aW4td2syJzog
J1dpbmRvd3MgNyBSZWxlYXNlIChXZWJLaXQyIFRlc3RzKScsCit9CisKK1BPUlRfVE9fQlVJTERF
Ul9OQU1FID0ge30KK1BPUlRfVE9fQlVJTERFUl9OQU1FLnVwZGF0ZShDSFJPTUlVTV9QT1JUX1RP
X0JVSUxERVJfTkFNRSkKK1BPUlRfVE9fQlVJTERFUl9OQU1FLnVwZGF0ZShXRUJLSVRfUE9SVF9U
T19CVUlMREVSX05BTUUpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91
dF90ZXN0cy9wb3J0L2ZhY3RvcnkucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90
ZXN0cy9wb3J0L2ZhY3RvcnkucHkKaW5kZXggNjgzZGJhM2Q2ODcyNWQ5MTY1M2ZhMWVjMDg5MTY3
NmQzNTQ1MDNkZi4uNDdkMTExMWYzM2JjZmM1YjUyNzU2N2Y0NjU2ZjdlZmM5OTYxNzg2MyAxMDA2
NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9mYWN0b3J5
LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvZmFjdG9y
eS5weQpAQCAtMzIsNiArMzIsOCBAQAogCiBpbXBvcnQgc3lzCiAKK2Zyb20gd2Via2l0cHkubGF5
b3V0X3Rlc3RzLnBvcnQgaW1wb3J0IGJ1aWxkZXJzCisKIAogZGVmIGFsbF9wb3J0X25hbWVzKCk6
CiAgICAgIiIiUmV0dXJuIGEgbGlzdCBvZiBhbGwgdmFsaWQsIGZ1bGx5LXNwZWNpZmllZCwgInJl
YWwiIHBvcnQgbmFtZXMuCkBAIC00MCwxOCArNDIsNyBAQCBkZWYgYWxsX3BvcnRfbmFtZXMoKToK
ICAgICBieSByZWFsIHBvcnRzLiBUaGlzIGRvZXMgbm90IGluY2x1ZGUgYW55ICJmYWtlIiBuYW1l
cyBsaWtlICJ0ZXN0IgogICAgIG9yICJtb2NrLW1hYyIsIGFuZCBpdCBkb2VzIG5vdCBpbmNsdWRl
IGFueSBkaXJlY3RvcmllcyB0aGF0IGFyZSBub3QgLiIiIgogICAgICMgRklYTUU6IFRoZXJlJ3Mg
cHJvYmFibHkgYSBiZXR0ZXIgd2F5IHRvIGdlbmVyYXRlIHRoaXMgbGlzdCAuLi4KLSAgICByZXR1
cm4gWydjaHJvbWl1bS1ncHUtbGludXgnLAotICAgICAgICAgICAgJ2Nocm9taXVtLWdwdS1tYWMt
c25vd2xlb3BhcmQnLCAnY2hyb21pdW0tZ3B1LW1hYy1sZW9wYXJkJywKLSAgICAgICAgICAgICdj
aHJvbWl1bS1ncHUtd2luLXhwJywgJ2Nocm9taXVtLWdwdS13aW4tdmlzdGEnLCAnY2hyb21pdW0t
Z3B1LXdpbi13aW43JywKLSAgICAgICAgICAgICdjaHJvbWl1bS1saW51eC14ODZfNjQnLCAnY2hy
b21pdW0tbGludXgteDg2JywKLSAgICAgICAgICAgICdjaHJvbWl1bS1tYWMtbGVvcGFyZCcsICdj
aHJvbWl1bS1tYWMtc25vd2xlb3BhcmQnLAotICAgICAgICAgICAgJ2Nocm9taXVtLXdpbi14cCcs
ICdjaHJvbWl1bS13aW4tdmlzdGEnLCAnY2hyb21pdW0td2luLXdpbjcnLAotICAgICAgICAgICAg
J2dvb2dsZS1jaHJvbWUtbGludXgzMicsICdnb29nbGUtY2hyb21lLWxpbnV4NjQnLAotICAgICAg
ICAgICAgJ2d0aycsCi0gICAgICAgICAgICAnbWFjLXRpZ2VyJywgJ21hYy1sZW9wYXJkJywgJ21h
Yy1zbm93bGVvcGFyZCcsICdtYWMtd2syJywKLSAgICAgICAgICAgICdxdC1saW51eCcsICdxdC1t
YWMnLCAncXQtd2luJywgJ3F0LXdrMicsCi0gICAgICAgICAgICAnd2luLXhwJywgJ3dpbicsICd3
aW4td2syJywKLSAgICBdCisgICAgcmV0dXJuIGJ1aWxkZXJzLlBPUlRfVE9fQlVJTERFUl9OQU1F
LmtleXMoKQogCiAKIGRlZiBnZXQocG9ydF9uYW1lPU5vbmUsIG9wdGlvbnM9Tm9uZSwgKiprd2Fy
Z3MpOgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>91228</attachid>
            <date>2011-04-26 21:57:19 -0700</date>
            <delta_ts>2011-04-27 02:48:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-58301-20110427145717.patch</filename>
            <type>text/plain</type>
            <size>8983</size>
            <attacher name="James Kozianski">koz</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODQ5NzMKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCBiZDllYzk1M2E1MzgxNzUyNWE5YTQ1MzVmYjMxZGRjNjEy
MWE5Njk0Li41ZDZkMDRjODY0NWIxYjM3NDEwOTgzOTA0MDdjZjY2MThjNTgwMmI0IDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUg
QEAKKzIwMTEtMDQtMjYgIEphbWVzIEtvemlhbnNraSAgPGtvekBjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgT2phbiBWYWZhaS4KKworICAgICAgICBFeHRyYWN0IG1hcCBmcm9t
IHBvcnQgdG8gYnVpbGRlciBuYW1lLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NTgzMDEKKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0
X3Rlc3RzL3BvcnQvX19pbml0X18ucHk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvcG9ydC9idWlsZGVycy5weTogQWRkZWQuCisgICAgICAgICogU2NyaXB0cy93ZWJr
aXRweS9sYXlvdXRfdGVzdHMvcG9ydC9idWlsZGVyc191bml0dGVzdC5weTogQWRkZWQuCisgICAg
ICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9mYWN0b3J5LnB5OgorCiAy
MDExLTA0LTI2ICBBZHJpZW5uZSBXYWxrZXIgIDxlbm5lQGdvb2dsZS5jb20+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgS2VudCBUYW11cmEuCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2xheW91dF90ZXN0cy9wb3J0L19faW5pdF9fLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9sYXlvdXRfdGVzdHMvcG9ydC9fX2luaXRfXy5weQppbmRleCA1OWFiMmVmMTExMDliYmIzMDBm
M2RkZDVkYjkxYjIyMmM4MzZjN2Y1Li5iYzJlMTA1OWU2N2Y1MjgwNzRhOGIwYzdmY2VhYmU4Y2Nm
ZDM5M2M5IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9w
b3J0L19faW5pdF9fLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3Rz
L3BvcnQvX19pbml0X18ucHkKQEAgLTMyLDMgKzMyLDUgQEAKIGZyb20gZmFjdG9yeSBpbXBvcnQg
Z2V0CiAKIGZyb20gdGVzdCBpbXBvcnQgdW5pdF90ZXN0X2ZpbGVzeXN0ZW0KKworaW1wb3J0IGJ1
aWxkZXJzCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9w
b3J0L2J1aWxkZXJzLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9y
dC9idWlsZGVycy5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40OTg4MGFiZjRlODJlOTI2MGE0MjYwMDJlY2Q2NGIy
Mjg3OTcxMjk3Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvcG9ydC9idWlsZGVycy5weQpAQCAtMCwwICsxLDg1IEBACisjIS91c3IvYmluL2Vu
diBweXRob24KKyMgQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisjIG1ldDoKKyMKKyMgICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyMgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorIyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisjIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyMgaW4gdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorIyBkaXN0
cmlidXRpb24uCisjICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRo
ZSBuYW1lcyBvZiBpdHMKKyMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyMgdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworIyAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVAorIyBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IKKyMgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyMgT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisjIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QKKyMgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsCisjIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorIyBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisjIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCitpbXBvcnQgcmUKKworCitkZWYgX3BhdGhfZnJv
bV9uYW1lKG5hbWUpOgorICAgIHJldHVybiByZS5zdWIocidbXHMoKS5dJywgJ18nLCBuYW1lKQor
CisjIENvbXBpbGVkIG1hbnVhbGx5IGZyb20gaHR0cDovL2J1aWxkLmNocm9taXVtLm9yZy9wL2No
cm9taXVtL2pzb24vYnVpbGRlcnMvaGVscD9hc190ZXh0PTEKKyMgVmFsdWVzIG9mIE5vbmUgbWVh
biB0aGVyZSBhcmUgbm8gYm90cyBydW5uaW5nIGF0IGJ1aWxkLndlYmtpdC5vcmcgb3IKKyMgYnVp
bGQuY2hyb21pdW0ub3JnIGZvciB0aGF0IHBvcnQuCisjIEZJWE1FIE1ha2UgdGhlIHZhbHVlcyBp
biB0aGlzIG1hcCBpbnRvIGxpc3RzLgorQ0hST01JVU1fUE9SVF9UT19CVUlMREVSX05BTUUgPSB7
CisgICAgJ2Nocm9taXVtLWdwdS1saW51eCc6IF9wYXRoX2Zyb21fbmFtZSgnV2Via2l0IExpbnV4
IC0gR1BVJyksCisKKyAgICAnY2hyb21pdW0tZ3B1LW1hYy1zbm93bGVvcGFyZCc6IF9wYXRoX2Zy
b21fbmFtZSgnV2Via2l0IE1hYzEwLjYgLSBHUFUnKSwKKyAgICAnY2hyb21pdW0tZ3B1LW1hYy1s
ZW9wYXJkJzogX3BhdGhfZnJvbV9uYW1lKCdXZWJraXQgTWFjMTAuNSAtIEdQVScpLAorCisgICAg
J2Nocm9taXVtLWdwdS13aW4teHAnOiBfcGF0aF9mcm9tX25hbWUoJ1dlYmtpdCBXaW4gLSBHUFUn
KSwKKyAgICAnY2hyb21pdW0tZ3B1LXdpbi12aXN0YSc6IF9wYXRoX2Zyb21fbmFtZSgnV2Via2l0
IFZpc3RhIC0gR1BVJyksCisgICAgJ2Nocm9taXVtLWdwdS13aW4td2luNyc6IF9wYXRoX2Zyb21f
bmFtZSgnV2Via2l0IFdpbjcgLSBHUFUnKSwKKworICAgICdjaHJvbWl1bS1saW51eC14ODZfNjQn
OiBfcGF0aF9mcm9tX25hbWUoJ0xpbnV4IFRlc3RzIHg2NCcpLAorICAgICdjaHJvbWl1bS1saW51
eC14ODYnOiBfcGF0aF9mcm9tX25hbWUoJ0xpbnV4IFRlc3RzIChkYmcpKDEpJyksCisKKyAgICAn
Y2hyb21pdW0tbWFjLWxlb3BhcmQnOiBfcGF0aF9mcm9tX25hbWUoJ01hYzEwLjUgVGVzdHMgKDEp
JyksCisgICAgJ2Nocm9taXVtLW1hYy1zbm93bGVvcGFyZCc6IF9wYXRoX2Zyb21fbmFtZSgnTWFj
IDEwLjYgVGVzdHMgKGRiZykoMSknKSwKKworICAgICdjaHJvbWl1bS13aW4teHAnOiBfcGF0aF9m
cm9tX25hbWUoJ1hQIFRlc3RzIChkYmcpKDUpJyksCisgICAgJ2Nocm9taXVtLXdpbi12aXN0YSc6
IF9wYXRoX2Zyb21fbmFtZSgnVmlzdGEgVGVzdHMgKGRiZykoMSknKSwKKyAgICAnY2hyb21pdW0t
d2luLXdpbjcnOiBOb25lLAorCisgICAgJ2dvb2dsZS1jaHJvbWUtbGludXgzMic6IE5vbmUsCisg
ICAgJ2dvb2dsZS1jaHJvbWUtbGludXg2NCc6IE5vbmUsCit9CisKKyMgQ29tcGlsZWQgbWFudWFs
bHkgZnJvbSBodHRwOi8vYnVpbGQud2Via2l0Lm9yZy9idWlsZGVycworV0VCS0lUX1BPUlRfVE9f
QlVJTERFUl9OQU1FID0geworICAgICdndGsnOiAnR1RLIExpbnV4IDMyLWJpdCBEZWJ1ZycsCisK
KyAgICAnbWFjLXRpZ2VyJzogTm9uZSwKKyAgICAnbWFjLWxlb3BhcmQnOiAnTGVvcGFyZCBJbnRl
bCBEZWJ1ZyAoVGVzdHMpJywKKyAgICAnbWFjLXNub3dsZW9wYXJkJzogJ1Nub3dMZW9wYXJkIElu
dGVsIFJlbGVhc2UgKFRlc3RzKScsCisgICAgJ21hYy13azInOiAnU25vd0xlb3BhcmQgSW50ZWwg
UmVsZWFzZSAoV2ViS2l0MiBUZXN0cyknLAorCisgICAgJ3F0LWxpbnV4JzogJ1F0IExpbnV4IFJl
bGVhc2UnLAorICAgICdxdC1tYWMnOiBOb25lLAorICAgICdxdC13aW4nOiBOb25lLAorICAgICdx
dC13azInOiBOb25lLAorCisgICAgJ3dpbi14cCc6ICdXaW5kb3dzIFhQIERlYnVnIChUZXN0cykn
LAorICAgICd3aW4nOiBOb25lLAorICAgICd3aW4td2syJzogJ1dpbmRvd3MgNyBSZWxlYXNlIChX
ZWJLaXQyIFRlc3RzKScsCit9CisKK1BPUlRfVE9fQlVJTERFUl9OQU1FID0ge30KK1BPUlRfVE9f
QlVJTERFUl9OQU1FLnVwZGF0ZShDSFJPTUlVTV9QT1JUX1RPX0JVSUxERVJfTkFNRSkKK1BPUlRf
VE9fQlVJTERFUl9OQU1FLnVwZGF0ZShXRUJLSVRfUE9SVF9UT19CVUlMREVSX05BTUUpCmRpZmYg
LS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2J1aWxkZXJz
X3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9i
dWlsZGVyc191bml0dGVzdC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMzIxN2FjNTBmZjgzMmUyMjgwNjZmMzEy
NjAzZjkyN2M2MmE1MjMyCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9sYXlvdXRfdGVzdHMvcG9ydC9idWlsZGVyc191bml0dGVzdC5weQpAQCAtMCwwICsxLDQ0IEBA
CisjIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
IworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorIyBtZXQ6CisjCisjICAgICogUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyMgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorIyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUKKyMgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorIyBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisjIGRpc3RyaWJ1dGlvbi4K
KyMgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2Yg
aXRzCisjIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tCisjIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyMgIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SCisjIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisjIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorIyBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisjIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLAorIyBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyMgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorIyAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKworaW1wb3J0IGJ1aWxkZXJzCitpbXBvcnQgdW5pdHRlc3QKKworCitj
bGFzcyBCdWlsZGVyc1Rlc3QodW5pdHRlc3QuVGVzdENhc2UpOgorICAgIGRlZiB0ZXN0X3BhdGhf
ZnJvbV9uYW1lKHNlbGYpOgorICAgICAgICB0ZXN0cyA9IHsKKyAgICAgICAgICAgICd0ZXN0Jzog
J3Rlc3QnLAorICAgICAgICAgICAgJ01hYyAxMC42IChkYmcpKDEpJzogJ01hY18xMF82X19kYmdf
XzFfJywKKyAgICAgICAgICAgICcoLikgJzogJ19fX18nLAorICAgICAgICB9CisgICAgICAgIGZv
ciBuYW1lLCBleHBlY3RlZCBpbiB0ZXN0cy5pdGVtcygpOgorICAgICAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbHMoZXhwZWN0ZWQsIGJ1aWxkZXJzLl9wYXRoX2Zyb21fbmFtZShuYW1lKSkKKworaWYg
X19uYW1lX18gPT0gJ19fbWFpbl9fJzoKKyAgICB1bml0dGVzdC5tYWluKCkKZGlmZiAtLWdpdCBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvZmFjdG9yeS5weSBiL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvZmFjdG9yeS5weQppbmRleCA2
ODNkYmEzZDY4NzI1ZDkxNjUzZmExZWMwODkxNjc2ZDM1NDUwM2RmLi40N2QxMTExZjMzYmNmYzVi
NTI3NTY3ZjQ2NTZmN2VmYzk5NjE3ODYzIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2xheW91dF90ZXN0cy9wb3J0L2ZhY3RvcnkucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9sYXlvdXRfdGVzdHMvcG9ydC9mYWN0b3J5LnB5CkBAIC0zMiw2ICszMiw4IEBACiAKIGlt
cG9ydCBzeXMKIAorZnJvbSB3ZWJraXRweS5sYXlvdXRfdGVzdHMucG9ydCBpbXBvcnQgYnVpbGRl
cnMKKwogCiBkZWYgYWxsX3BvcnRfbmFtZXMoKToKICAgICAiIiJSZXR1cm4gYSBsaXN0IG9mIGFs
bCB2YWxpZCwgZnVsbHktc3BlY2lmaWVkLCAicmVhbCIgcG9ydCBuYW1lcy4KQEAgLTQwLDE4ICs0
Miw3IEBAIGRlZiBhbGxfcG9ydF9uYW1lcygpOgogICAgIGJ5IHJlYWwgcG9ydHMuIFRoaXMgZG9l
cyBub3QgaW5jbHVkZSBhbnkgImZha2UiIG5hbWVzIGxpa2UgInRlc3QiCiAgICAgb3IgIm1vY2st
bWFjIiwgYW5kIGl0IGRvZXMgbm90IGluY2x1ZGUgYW55IGRpcmVjdG9yaWVzIHRoYXQgYXJlIG5v
dCAuIiIiCiAgICAgIyBGSVhNRTogVGhlcmUncyBwcm9iYWJseSBhIGJldHRlciB3YXkgdG8gZ2Vu
ZXJhdGUgdGhpcyBsaXN0IC4uLgotICAgIHJldHVybiBbJ2Nocm9taXVtLWdwdS1saW51eCcsCi0g
ICAgICAgICAgICAnY2hyb21pdW0tZ3B1LW1hYy1zbm93bGVvcGFyZCcsICdjaHJvbWl1bS1ncHUt
bWFjLWxlb3BhcmQnLAotICAgICAgICAgICAgJ2Nocm9taXVtLWdwdS13aW4teHAnLCAnY2hyb21p
dW0tZ3B1LXdpbi12aXN0YScsICdjaHJvbWl1bS1ncHUtd2luLXdpbjcnLAotICAgICAgICAgICAg
J2Nocm9taXVtLWxpbnV4LXg4Nl82NCcsICdjaHJvbWl1bS1saW51eC14ODYnLAotICAgICAgICAg
ICAgJ2Nocm9taXVtLW1hYy1sZW9wYXJkJywgJ2Nocm9taXVtLW1hYy1zbm93bGVvcGFyZCcsCi0g
ICAgICAgICAgICAnY2hyb21pdW0td2luLXhwJywgJ2Nocm9taXVtLXdpbi12aXN0YScsICdjaHJv
bWl1bS13aW4td2luNycsCi0gICAgICAgICAgICAnZ29vZ2xlLWNocm9tZS1saW51eDMyJywgJ2dv
b2dsZS1jaHJvbWUtbGludXg2NCcsCi0gICAgICAgICAgICAnZ3RrJywKLSAgICAgICAgICAgICdt
YWMtdGlnZXInLCAnbWFjLWxlb3BhcmQnLCAnbWFjLXNub3dsZW9wYXJkJywgJ21hYy13azInLAot
ICAgICAgICAgICAgJ3F0LWxpbnV4JywgJ3F0LW1hYycsICdxdC13aW4nLCAncXQtd2syJywKLSAg
ICAgICAgICAgICd3aW4teHAnLCAnd2luJywgJ3dpbi13azInLAotICAgIF0KKyAgICByZXR1cm4g
YnVpbGRlcnMuUE9SVF9UT19CVUlMREVSX05BTUUua2V5cygpCiAKIAogZGVmIGdldChwb3J0X25h
bWU9Tm9uZSwgb3B0aW9ucz1Ob25lLCAqKmt3YXJncyk6Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>