<?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>60689</bug_id>
          
          <creation_ts>2011-05-11 22:21:04 -0700</creation_ts>
          <short_desc>REGRESSION (r81992): layout triggered by position update fails to apply when transform is updated at same time</short_desc>
          <delta_ts>2011-05-27 11:15:50 -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>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar, Regression</keywords>
          <priority>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>61564</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Shane Stephens">shanestephens</reporter>
          <assigned_to name="Shane Stephens">shanestephens</assigned_to>
          <cc>adele</cc>
    
    <cc>ademar</cc>
    
    <cc>cmarrin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric</cc>
    
    <cc>hyatt</cc>
    
    <cc>jamesr</cc>
    
    <cc>mikelawther</cc>
    
    <cc>mitz</cc>
    
    <cc>morrita</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>402661</commentid>
    <comment_count>0</comment_count>
    <who name="Shane Stephens">shanestephens</who>
    <bug_when>2011-05-11 22:21:04 -0700</bug_when>
    <thetext>See http://code.google.com/p/chromium/issues/detail?id=82225 for original report and reduced test case.

Regression seems to have been introduced in http://trac.webkit.org/changeset/81992. A synopsis of what seems to be happening is that the presence of an updated transform causes RenderObject::adjustStyleDifference to change the diff hint from StyleDifferenceLayoutPositionedMovementOnly to StyleDifferenceSimplifiedLayout (this functionality was introduced in 81992), which in turn prevents RenderBlock::simplifiedLayout from calling tryLayoutDoingPositionedMovementOnly(). It may be that the fix is as simple as updating the guard to calling tryLayoutDoingPositionedMovementOnly such that it is also called when the diff hint is StyleDifferenceSimplifiedLayout (and indeed this does fix the problem), however I don&apos;t know what other effects this might have.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>402664</commentid>
    <comment_count>1</comment_count>
    <who name="">mitz</who>
    <bug_when>2011-05-11 22:25:40 -0700</bug_when>
    <thetext>&lt;rdar://problem/9425874&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>402666</commentid>
    <comment_count>2</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-05-11 22:29:44 -0700</bug_when>
    <thetext>Thank you mitz.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>402701</commentid>
    <comment_count>3</comment_count>
      <attachid>93256</attachid>
    <who name="Shane Stephens">shanestephens</who>
    <bug_when>2011-05-11 23:28:20 -0700</bug_when>
    <thetext>Created attachment 93256
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>402704</commentid>
    <comment_count>4</comment_count>
    <who name="Shane Stephens">shanestephens</who>
    <bug_when>2011-05-11 23:38:18 -0700</bug_when>
    <thetext>This patch fixes the issue and doesn&apos;t seem to introduce any new regressions.  I don&apos;t know whether it&apos;s the right approach though.

Also included in the patch is a new LayoutTest that exposes the issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>402917</commentid>
    <comment_count>5</comment_count>
      <attachid>93256</attachid>
    <who name="Julie Parent">jparent</who>
    <bug_when>2011-05-12 10:05:23 -0700</bug_when>
    <thetext>Comment on attachment 93256
Patch

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

&gt; LayoutTests/transforms/2d/set-transform-and-top.html:23
&gt; +        resultString += &quot;PASS - Element &quot; + id1 + &quot; moved to y=300px&quot;;

This statement isn&apos;t necessarily true.  I agree that to make the test not flaky you shouldn&apos;t test for it to be exactly at 300, but when you print out this statement it sounds like you have verified that it is at 300, and you have just verified that it is &gt; 250.  Also, providing the detail of &quot;element a&quot; probably isn&apos;t necessary, you can just say &quot;element&quot; or &quot;box&quot; or whatever.

&gt; LayoutTests/transforms/2d/set-transform-and-top.html:39
&gt; +&lt;!-- You should see green box only. If you see red, the test has failed --&gt;

Copy-paste left behind?

&gt; LayoutTests/transforms/2d/set-transform-and-top.html:44
&gt; +    if (window.layoutTestController) {

No need for brackets for single line if.  You can move the dumpAsText call here though too.

&gt; LayoutTests/transforms/2d/set-transform-and-top.html:47
&gt; +    setTimeout(move, 10);

Why is the setTimeout needed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>403449</commentid>
    <comment_count>6</comment_count>
      <attachid>93421</attachid>
    <who name="Shane Stephens">shanestephens</who>
    <bug_when>2011-05-13 02:56:03 -0700</bug_when>
    <thetext>Created attachment 93421
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>403453</commentid>
    <comment_count>7</comment_count>
      <attachid>93256</attachid>
    <who name="Shane Stephens">shanestephens</who>
    <bug_when>2011-05-13 02:58:29 -0700</bug_when>
    <thetext>Comment on attachment 93256
Patch

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

&gt;&gt; LayoutTests/transforms/2d/set-transform-and-top.html:23
&gt;&gt; +        resultString += &quot;PASS - Element &quot; + id1 + &quot; moved to y=300px&quot;;
&gt; 
&gt; This statement isn&apos;t necessarily true.  I agree that to make the test not flaky you shouldn&apos;t test for it to be exactly at 300, but when you print out this statement it sounds like you have verified that it is at 300, and you have just verified that it is &gt; 250.  Also, providing the detail of &quot;element a&quot; probably isn&apos;t necessary, you can just say &quot;element&quot; or &quot;box&quot; or whatever.

Fixed

&gt;&gt; LayoutTests/transforms/2d/set-transform-and-top.html:39
&gt;&gt; +&lt;!-- You should see green box only. If you see red, the test has failed --&gt;
&gt; 
&gt; Copy-paste left behind?

Yep.  Removed.

&gt;&gt; LayoutTests/transforms/2d/set-transform-and-top.html:44
&gt;&gt; +    if (window.layoutTestController) {
&gt; 
&gt; No need for brackets for single line if.  You can move the dumpAsText call here though too.

Removed braces.

&gt;&gt; LayoutTests/transforms/2d/set-transform-and-top.html:47
&gt;&gt; +    setTimeout(move, 10);
&gt; 
&gt; Why is the setTimeout needed?

The bug doesn&apos;t trigger on a full repaint, only on a particular optimisation pathway.  Without a setTimeout here the script runs as part of the document load and before the first redraw, so the bug doesn&apos;t trigger.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>409446</commentid>
    <comment_count>8</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2011-05-24 21:32:23 -0700</bug_when>
    <thetext>The patch is small and doing just a conservative change.
Any layout expert will be able to give a glace easily.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>409461</commentid>
    <comment_count>9</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2011-05-24 21:52:30 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; The patch is small and doing just a conservative change.
&gt; Any layout expert will be able to give a glace easily.
                                                               ^^^^^ meant to say glance</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>410021</commentid>
    <comment_count>10</comment_count>
      <attachid>93421</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-05-25 16:41:49 -0700</bug_when>
    <thetext>Comment on attachment 93421
Patch

Not quite - theres code on RenderBlock.cpp:2133 to try to do simplifiedNormalFlowLayout().  should the check be needsPositionedMovementLayout() &amp;&amp; !needsSimplifiedNormalFlowLayout()? maybe needsPositionedMovementLayout() should be false when needsSimplifiedNormalFlowLayout() is true?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>410054</commentid>
    <comment_count>11</comment_count>
      <attachid>94887</attachid>
    <who name="Shane Stephens">shanestephens</who>
    <bug_when>2011-05-25 17:34:30 -0700</bug_when>
    <thetext>Created attachment 94887
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>410060</commentid>
    <comment_count>12</comment_count>
      <attachid>94887</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-05-25 17:38:22 -0700</bug_when>
    <thetext>Comment on attachment 94887
Patch

R=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>410267</commentid>
    <comment_count>13</comment_count>
      <attachid>94887</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-26 00:59:58 -0700</bug_when>
    <thetext>Comment on attachment 94887
Patch

Clearing flags on attachment: 94887

Committed r87368: &lt;http://trac.webkit.org/changeset/87368&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>410268</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-26 01:00:04 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>410477</commentid>
    <comment_count>15</comment_count>
    <who name="Ademar Reis">ademar</who>
    <bug_when>2011-05-26 08:58:30 -0700</bug_when>
    <thetext>Revision r87368 cherry-picked into qtwebkit-2.2 with commit 7d0d05a &lt;http://gitorious.org/webkit/qtwebkit/commit/7d0d05a&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>410838</commentid>
    <comment_count>16</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-05-26 14:32:35 -0700</bug_when>
    <thetext>Sorry Shane, I mislead you!  Hyatt explained that the two bits are actually independent and it&apos;s wrong to call tryLayout...() on an object that needs simplified normal flow layout but is not positioned.  Instead, we gotta figure out why this object does not have the needs positioned movement layout bit set.

Will back this patch out while we think &apos;bout it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>410885</commentid>
    <comment_count>17</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2011-05-26 15:02:22 -0700</bug_when>
    <thetext>Reopening.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>410887</commentid>
    <comment_count>18</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2011-05-26 15:03:02 -0700</bug_when>
    <thetext>Need a new style difference so that you can set both of these bits if needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>410968</commentid>
    <comment_count>19</comment_count>
      <attachid>95067</attachid>
    <who name="Shane Stephens">shanestephens</who>
    <bug_when>2011-05-26 16:17:34 -0700</bug_when>
    <thetext>Created attachment 95067
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>410999</commentid>
    <comment_count>20</comment_count>
      <attachid>95075</attachid>
    <who name="Shane Stephens">shanestephens</who>
    <bug_when>2011-05-26 16:45:33 -0700</bug_when>
    <thetext>Created attachment 95075
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>411200</commentid>
    <comment_count>21</comment_count>
      <attachid>95075</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-26 23:28:53 -0700</bug_when>
    <thetext>Comment on attachment 95075
Patch

Clearing flags on attachment: 95075

Committed r87475: &lt;http://trac.webkit.org/changeset/87475&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>411201</commentid>
    <comment_count>22</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-26 23:29:00 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>411559</commentid>
    <comment_count>23</comment_count>
    <who name="Ademar Reis">ademar</who>
    <bug_when>2011-05-27 11:15:50 -0700</bug_when>
    <thetext>Revision r87475 cherry-picked into qtwebkit-2.2 with commit f201b09 &lt;http://gitorious.org/webkit/qtwebkit/commit/f201b09&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>93256</attachid>
            <date>2011-05-11 23:28:20 -0700</date>
            <delta_ts>2011-05-13 02:58:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-60689-20110512162817.patch</filename>
            <type>text/plain</type>
            <size>4377</size>
            <attacher name="Shane Stephens">shanestephens</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODYzMDkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBhOTFmNWRkODBlYzhhYWNmNmY0YTc1
YTM0NWUzZmJkYmU2ZTk2NjcxLi5lMTdlYmFmYWM2OWRhZTY3ZTdmZDI5MjliZjE1ZmQ4MWFkMjQz
NjhhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDUtMTEgIFNoYW5lIFN0ZXBoZW5zICA8
c2hhbmVzdGVwaGVuc0Bnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFJFR1JFU1NJT04gKHI4MTk5Mik6IGxheW91dCB0cmlnZ2VyZWQg
YnkgcG9zaXRpb24gdXBkYXRlIGZhaWxzIHRvIGFwcGx5IHdoZW4gdHJhbnNmb3JtIGlzIHVwZGF0
ZWQgYXQgc2FtZSB0aW1lCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD02MDY4OQorCisgICAgICAgICogdHJhbnNmb3Jtcy8yZC9zZXQtdHJhbnNmb3JtLWFu
ZC10b3AtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB0cmFuc2Zvcm1zLzJkL3NldC10
cmFuc2Zvcm0tYW5kLXRvcC5odG1sOiBBZGRlZC4KKwogMjAxMS0wNS0xMSAgTU9SSVRBIEhhamlt
ZSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBLZW50IFRhbXVy
YS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3RyYW5zZm9ybXMvMmQvc2V0LXRyYW5zZm9ybS1h
bmQtdG9wLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3RyYW5zZm9ybXMvMmQvc2V0LXRyYW5z
Zm9ybS1hbmQtdG9wLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45NGU2NGY5OGNjMjI3YjA5YWFi
ZDBlMmQ5OTBiOWNjMDhhMTc0OWU4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvdHJh
bnNmb3Jtcy8yZC9zZXQtdHJhbnNmb3JtLWFuZC10b3AtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEg
QEAKK1BBU1MgLSBFbGVtZW50IGEgbW92ZWQgdG8geT0zMDBweApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvdHJhbnNmb3Jtcy8yZC9zZXQtdHJhbnNmb3JtLWFuZC10b3AuaHRtbCBiL0xheW91dFRl
c3RzL3RyYW5zZm9ybXMvMmQvc2V0LXRyYW5zZm9ybS1hbmQtdG9wLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjVkNmY2NmIyZjY0NWFkOTFkMDllY2ZiMDI2Njk1YTQ1OGYzN2Q1NQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3RyYW5zZm9ybXMvMmQvc2V0LXRyYW5zZm9ybS1hbmQtdG9wLmh0bWwK
QEAgLTAsMCArMSw1NSBAQAorPGh0bWw+Cis8aGVhZD4KKzxzdHlsZT4KKy5ib3ggeworICAgIHdp
ZHRoOiAxMDBweDsKKyAgICBoZWlnaHQ6IDEwMHB4OworICAgIGJhY2tncm91bmQtY29sb3I6IHJl
ZDsKKyAgICBwb3NpdGlvbjogYWJzb2x1dGU7CisgICAgdG9wOiA2MHB4OworICAgIGxlZnQ6IDQw
cHg7Cit9Cis8L3N0eWxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorCitmdW5j
dGlvbiBydW5UZXN0KCkgeworCisgICAgdmFyIGlkMSA9ICJhIjsKKyAgICB2YXIgZWxlbWVudDEg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYSIpOworICAgIHZhciB5MSA9IHdlYmtpdENvbnZl
cnRQb2ludEZyb21Ob2RlVG9QYWdlKGVsZW1lbnQxLCBuZXcgV2ViS2l0UG9pbnQoMCwwKSkueTsK
KworICAgIHZhciByZXN1bHRTdHJpbmcgPSAnJzsKKyAgICBpZiAoeTEgPiAyNTApIHsKKyAgICAg
ICAgcmVzdWx0U3RyaW5nICs9ICJQQVNTIC0gRWxlbWVudCAiICsgaWQxICsgIiBtb3ZlZCB0byB5
PTMwMHB4IjsKKyAgICB9IGVsc2UgeworICAgICAgICByZXN1bHRTdHJpbmcgKz0gIkZBSUwgLSBF
bGVtZW50ICIgKyBpZDEgKyAiIHN0aWxsIGF0IHk9IiArIHkxICsgInB4IjsKKyAgICB9CisKKyAg
ICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHJlc3Vs
dFN0cmluZykpOworCisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAg
ICAgICB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgICB3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworICAgIH0KK30KKzwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+CisKKzwhLS0gWW91IHNob3VsZCBzZWUgZ3JlZW4gYm94IG9u
bHkuIElmIHlvdSBzZWUgcmVkLCB0aGUgdGVzdCBoYXMgZmFpbGVkIC0tPgorCis8ZGl2IGNsYXNz
PSJib3giIGlkPSJhIj48L2Rpdj4KKworPHNjcmlwdD4KKyAgICBpZiAod2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKSB7CisgICAgICAgIHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlci53YWl0
VW50aWxEb25lKCk7CisgICAgfQorICAgIHNldFRpbWVvdXQobW92ZSwgMTApOworICAgIGZ1bmN0
aW9uIG1vdmUoKSB7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhJykuc3R5bGUu
dG9wID0gIjMwMHB4IjsKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2EnKS5zdHls
ZS53ZWJraXRUcmFuc2Zvcm0gPSAicm90YXRlKDQ1ZGVnKSI7CisgICAgICAgIHNldFRpbWVvdXQo
cnVuVGVzdCwgMCk7CisgICAgfQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
aW5kZXggYTllYWI4NTkzOTgzNWIxNDJhNWM3OWI1OWVjN2Q5MTZhMTBiNzA2Yi4uODljN2ViZTkz
ZGJlZmViODllNWE3NTUxYTVmNjBmOTA1ZTZmOGU2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1
IEBACisyMDExLTA1LTExICBTaGFuZSBTdGVwaGVucyAgPHNoYW5lc3RlcGhlbnNAZ29vZ2xlLmNv
bT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSRUdS
RVNTSU9OIChyODE5OTIpOiBsYXlvdXQgdHJpZ2dlcmVkIGJ5IHBvc2l0aW9uIHVwZGF0ZSBmYWls
cyB0byBhcHBseSB3aGVuIHRyYW5zZm9ybSBpcyB1cGRhdGVkIGF0IHNhbWUgdGltZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjA2ODkKKworICAgICAg
ICBUZXN0OiB0cmFuc2Zvcm1zLzJkL3NldC10cmFuc2Zvcm0tYW5kLXRvcC5odG1sCisKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
QmxvY2s6OnNpbXBsaWZpZWRMYXlvdXQpOgorCiAyMDExLTA1LTExICBQcmF0aWsgU29sYW5raSAg
PHBzb2xhbmtpQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBBbmRyZWFzIEtsaW5n
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKaW5kZXggZWIwOTUwYjRk
ZWZiYmZlMTQzMTgyNGIxYmE1NDFmMzQxN2I5ZmYzNy4uYjExZmQwYTk0NmEzZjZmYjBlYTc4YzNk
YTk0NmVkMWNlMjllMzQwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckJsb2NrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2su
Y3BwCkBAIC0yMTI2LDcgKzIxMjYsNyBAQCBib29sIFJlbmRlckJsb2NrOjpzaW1wbGlmaWVkTGF5
b3V0KCkKIAogICAgIExheW91dFN0YXRlTWFpbnRhaW5lciBzdGF0ZVB1c2hlcih2aWV3KCksIHRo
aXMsIEludFNpemUoeCgpLCB5KCkpLCBoYXNDb2x1bW5zKCkgfHwgaGFzVHJhbnNmb3JtKCkgfHwg
aGFzUmVmbGVjdGlvbigpIHx8IHN0eWxlKCktPmlzRmxpcHBlZEJsb2Nrc1dyaXRpbmdNb2RlKCkp
OwogICAgIAotICAgIGlmIChuZWVkc1Bvc2l0aW9uZWRNb3ZlbWVudExheW91dCgpICYmICF0cnlM
YXlvdXREb2luZ1Bvc2l0aW9uZWRNb3ZlbWVudE9ubHkoKSkKKyAgICBpZiAoKG5lZWRzUG9zaXRp
b25lZE1vdmVtZW50TGF5b3V0KCkgfHwgbmVlZHNTaW1wbGlmaWVkTm9ybWFsRmxvd0xheW91dCgp
KSAmJiAhdHJ5TGF5b3V0RG9pbmdQb3NpdGlvbmVkTW92ZW1lbnRPbmx5KCkpCiAgICAgICAgIHJl
dHVybiBmYWxzZTsKIAogICAgIC8vIExheSBvdXQgcG9zaXRpb25lZCBkZXNjZW5kYW50cyBvciBv
YmplY3RzIHRoYXQganVzdCBuZWVkIHRvIHJlY29tcHV0ZSBvdmVyZmxvdy4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>93421</attachid>
            <date>2011-05-13 02:56:03 -0700</date>
            <delta_ts>2011-05-25 17:34:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-60689-20110513195601.patch</filename>
            <type>text/plain</type>
            <size>4302</size>
            <attacher name="Shane Stephens">shanestephens</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODY0MjAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA0OTk2MzMzNjBlNzkzNTE2ZmVhY2E1
ZmJhNDhkZWY4YTlhOTNiODE1Li5hZDgyZDY3NWQzN2U0YjkxOGViNGU0ZmY0OTRlNTk5MjE4YTU1
NTBmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDUtMTMgIFNoYW5lIFN0ZXBoZW5zICA8
c2hhbmVzdGVwaGVuc0Bnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFJFR1JFU1NJT04gKHI4MTk5Mik6IGxheW91dCB0cmlnZ2VyZWQg
YnkgcG9zaXRpb24gdXBkYXRlIGZhaWxzIHRvIGFwcGx5IHdoZW4gdHJhbnNmb3JtIGlzIHVwZGF0
ZWQgYXQgc2FtZSB0aW1lCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD02MDY4OQorCisgICAgICAgICogdHJhbnNmb3Jtcy8yZC9zZXQtdHJhbnNmb3JtLWFu
ZC10b3AtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB0cmFuc2Zvcm1zLzJkL3NldC10
cmFuc2Zvcm0tYW5kLXRvcC5odG1sOiBBZGRlZC4KKwogMjAxMS0wNS0xMyAgU2VyZ2lvIFZpbGxh
ciBTZW5pbiAgPHN2aWxsYXJAaWdhbGlhLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBuZXcg
R1RLKyB0ZXN0IGV4cGVjdGF0aW9ucyBhZnRlciByODYzNTIuCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy90cmFuc2Zvcm1zLzJkL3NldC10cmFuc2Zvcm0tYW5kLXRvcC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy90cmFuc2Zvcm1zLzJkL3NldC10cmFuc2Zvcm0tYW5kLXRvcC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTk4NDI3Y2NkMGY4ZjdkNjhlODM2ZGQ1YTIxODIxN2YxODE0MTM1YQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3RyYW5zZm9ybXMvMmQvc2V0LXRyYW5zZm9y
bS1hbmQtdG9wLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxIEBACitQQVNTIC0gRWxlbWVudCBtb3Zl
ZCBwYXN0IHk9MjUwcHgKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3RyYW5zZm9ybXMvMmQvc2V0
LXRyYW5zZm9ybS1hbmQtdG9wLmh0bWwgYi9MYXlvdXRUZXN0cy90cmFuc2Zvcm1zLzJkL3NldC10
cmFuc2Zvcm0tYW5kLXRvcC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk2MDc1YjUyNjkwY2NiZDFlMjJhN2Uz
NWMyYmM2ZTc0NjQ3ZTllODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy90cmFuc2Zv
cm1zLzJkL3NldC10cmFuc2Zvcm0tYW5kLXRvcC5odG1sCkBAIC0wLDAgKzEsNTMgQEAKKzxodG1s
PgorPGhlYWQ+Cis8c3R5bGU+CisuYm94IHsKKyAgICB3aWR0aDogMTAwcHg7CisgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7CisgICAgcG9zaXRpb246IGFic29s
dXRlOworICAgIHRvcDogNjBweDsKKyAgICBsZWZ0OiA0MHB4OworfQorPC9zdHlsZT4KKzxzY3Jp
cHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KKworZnVuY3Rpb24gcnVuVGVzdCgpIHsKKworICAg
IHZhciBpZDEgPSAiYSI7CisgICAgdmFyIGVsZW1lbnQxID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImEiKTsKKyAgICB2YXIgeTEgPSB3ZWJraXRDb252ZXJ0UG9pbnRGcm9tTm9kZVRvUGFnZShl
bGVtZW50MSwgbmV3IFdlYktpdFBvaW50KDAsMCkpLnk7CisKKyAgICB2YXIgcmVzdWx0U3RyaW5n
ID0gJyc7CisgICAgaWYgKHkxID4gMjUwKSB7CisgICAgICAgIHJlc3VsdFN0cmluZyArPSAiUEFT
UyAtIEVsZW1lbnQgbW92ZWQgcGFzdCB5PTI1MHB4IjsKKyAgICB9IGVsc2UgeworICAgICAgICBy
ZXN1bHRTdHJpbmcgKz0gIkZBSUwgLSBFbGVtZW50IHN0aWxsIGF0IHk9IiArIHkxICsgInB4IjsK
KyAgICB9CisKKyAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRl
eHROb2RlKHJlc3VsdFN0cmluZykpOworCisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlcikgeworICAgICAgICB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgp
OworICAgICAgICB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworICAg
IH0KK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisKKzxkaXYgY2xhc3M9ImJveCIgaWQ9
ImEiPjwvZGl2PgorCis8c2NyaXB0PgorICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xs
ZXIpCisgICAgICAgIHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7
CisKKyAgICBzZXRUaW1lb3V0KG1vdmUsIDEwKTsKKyAgICBmdW5jdGlvbiBtb3ZlKCkgeworICAg
ICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYScpLnN0eWxlLnRvcCA9ICIzMDBweCI7Cisg
ICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhJykuc3R5bGUud2Via2l0VHJhbnNmb3Jt
ID0gInJvdGF0ZSg0NWRlZykiOworICAgICAgICBzZXRUaW1lb3V0KHJ1blRlc3QsIDApOworICAg
IH0KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDcxODYwMjYxYTlk
MTc5MGNjOTgzMDk4ZjE4MDZlZmFjNWFlYzMzM2UuLjg5YmYwNzA4MzIwYzcxOTRlZGZhMWI2NGFm
NTZiOWEyNzUzMmFiZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMS0wNS0xMyAg
U2hhbmUgU3RlcGhlbnMgIDxzaGFuZXN0ZXBoZW5zQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUkVHUkVTU0lPTiAocjgxOTkyKTog
bGF5b3V0IHRyaWdnZXJlZCBieSBwb3NpdGlvbiB1cGRhdGUgZmFpbHMgdG8gYXBwbHkgd2hlbiB0
cmFuc2Zvcm0gaXMgdXBkYXRlZCBhdCBzYW1lIHRpbWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYwNjg5CisKKyAgICAgICAgVGVzdDogdHJhbnNmb3Jt
cy8yZC9zZXQtdHJhbnNmb3JtLWFuZC10b3AuaHRtbAorCisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlckJsb2NrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpzaW1wbGlmaWVk
TGF5b3V0KToKKwogMjAxMS0wNS0xMyAgUGF0cmljayBHYW5zdGVyZXIgIDxwYXJvZ2FAd2Via2l0
Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJCbG9jay5jcHAKaW5kZXggNzlhZTBmZmU2MTJmZTNlYWE5NzZmNDVhNmEy
MmU2YzY5MzUxNjhjYS4uOGQ5OWVhYmJkMjQzMGRmMzA4OTg4Y2U1MjYwNDhkM2MzZmUxNjdlZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCkBAIC0yMTI2LDcgKzIx
MjYsNyBAQCBib29sIFJlbmRlckJsb2NrOjpzaW1wbGlmaWVkTGF5b3V0KCkKIAogICAgIExheW91
dFN0YXRlTWFpbnRhaW5lciBzdGF0ZVB1c2hlcih2aWV3KCksIHRoaXMsIEludFNpemUoeCgpLCB5
KCkpLCBoYXNDb2x1bW5zKCkgfHwgaGFzVHJhbnNmb3JtKCkgfHwgaGFzUmVmbGVjdGlvbigpIHx8
IHN0eWxlKCktPmlzRmxpcHBlZEJsb2Nrc1dyaXRpbmdNb2RlKCkpOwogICAgIAotICAgIGlmIChu
ZWVkc1Bvc2l0aW9uZWRNb3ZlbWVudExheW91dCgpICYmICF0cnlMYXlvdXREb2luZ1Bvc2l0aW9u
ZWRNb3ZlbWVudE9ubHkoKSkKKyAgICBpZiAoKG5lZWRzUG9zaXRpb25lZE1vdmVtZW50TGF5b3V0
KCkgfHwgbmVlZHNTaW1wbGlmaWVkTm9ybWFsRmxvd0xheW91dCgpKSAmJiAhdHJ5TGF5b3V0RG9p
bmdQb3NpdGlvbmVkTW92ZW1lbnRPbmx5KCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAg
IC8vIExheSBvdXQgcG9zaXRpb25lZCBkZXNjZW5kYW50cyBvciBvYmplY3RzIHRoYXQganVzdCBu
ZWVkIHRvIHJlY29tcHV0ZSBvdmVyZmxvdy4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>94887</attachid>
            <date>2011-05-25 17:34:30 -0700</date>
            <delta_ts>2011-05-26 16:17:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-60689-20110526103427.patch</filename>
            <type>text/plain</type>
            <size>4657</size>
            <attacher name="Shane Stephens">shanestephens</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODczMzkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBiZGZiYjZlYmEyNWVlOTExYTFmNTRi
NjRhNmM3YjkzMDFhYzUxNjFjLi5kZWQ1OTBhNWNmZWRhZjBmYmNhYjUzNzQwZGMxMGNmZmEzNjdh
ZTY2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDUtMjYgIFNoYW5lIFN0ZXBoZW5zICA8
c2hhbmVzdGVwaGVuc0Bnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFJFR1JFU1NJT04gKHI4MTk5Mik6IGxheW91dCB0cmlnZ2VyZWQg
YnkgcG9zaXRpb24gdXBkYXRlIGZhaWxzIHRvIGFwcGx5IHdoZW4gdHJhbnNmb3JtIGlzIHVwZGF0
ZWQgYXQgc2FtZSB0aW1lCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD02MDY4OQorCisgICAgICAgICogdHJhbnNmb3Jtcy8yZC9zZXQtdHJhbnNmb3JtLWFu
ZC10b3AtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB0cmFuc2Zvcm1zLzJkL3NldC10
cmFuc2Zvcm0tYW5kLXRvcC5odG1sOiBBZGRlZC4KKwogMjAxMS0wNS0yNSAgQWRhbSBLbGVpbiAg
PGFkYW1rQGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLiBUZXN0IGV4cGVjdGF0
aW9ucyB1cGRhdGUuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy90cmFuc2Zvcm1zLzJkL3NldC10
cmFuc2Zvcm0tYW5kLXRvcC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy90cmFuc2Zvcm1zLzJk
L3NldC10cmFuc2Zvcm0tYW5kLXRvcC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTk4NDI3Y2Nk
MGY4ZjdkNjhlODM2ZGQ1YTIxODIxN2YxODE0MTM1YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL3RyYW5zZm9ybXMvMmQvc2V0LXRyYW5zZm9ybS1hbmQtdG9wLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxIEBACitQQVNTIC0gRWxlbWVudCBtb3ZlZCBwYXN0IHk9MjUwcHgKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3RyYW5zZm9ybXMvMmQvc2V0LXRyYW5zZm9ybS1hbmQtdG9wLmh0bWwg
Yi9MYXlvdXRUZXN0cy90cmFuc2Zvcm1zLzJkL3NldC10cmFuc2Zvcm0tYW5kLXRvcC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjk2MDc1YjUyNjkwY2NiZDFlMjJhN2UzNWMyYmM2ZTc0NjQ3ZTllODcKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy90cmFuc2Zvcm1zLzJkL3NldC10cmFuc2Zvcm0tYW5k
LXRvcC5odG1sCkBAIC0wLDAgKzEsNTMgQEAKKzxodG1sPgorPGhlYWQ+Cis8c3R5bGU+CisuYm94
IHsKKyAgICB3aWR0aDogMTAwcHg7CisgICAgaGVpZ2h0OiAxMDBweDsKKyAgICBiYWNrZ3JvdW5k
LWNvbG9yOiByZWQ7CisgICAgcG9zaXRpb246IGFic29sdXRlOworICAgIHRvcDogNjBweDsKKyAg
ICBsZWZ0OiA0MHB4OworfQorPC9zdHlsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0
Ij4KKworZnVuY3Rpb24gcnVuVGVzdCgpIHsKKworICAgIHZhciBpZDEgPSAiYSI7CisgICAgdmFy
IGVsZW1lbnQxID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImEiKTsKKyAgICB2YXIgeTEgPSB3
ZWJraXRDb252ZXJ0UG9pbnRGcm9tTm9kZVRvUGFnZShlbGVtZW50MSwgbmV3IFdlYktpdFBvaW50
KDAsMCkpLnk7CisKKyAgICB2YXIgcmVzdWx0U3RyaW5nID0gJyc7CisgICAgaWYgKHkxID4gMjUw
KSB7CisgICAgICAgIHJlc3VsdFN0cmluZyArPSAiUEFTUyAtIEVsZW1lbnQgbW92ZWQgcGFzdCB5
PTI1MHB4IjsKKyAgICB9IGVsc2UgeworICAgICAgICByZXN1bHRTdHJpbmcgKz0gIkZBSUwgLSBF
bGVtZW50IHN0aWxsIGF0IHk9IiArIHkxICsgInB4IjsKKyAgICB9CisKKyAgICBkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHJlc3VsdFN0cmluZykpOwor
CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgICAgICB3aW5kb3cu
bGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgICB3aW5kb3cubGF5b3V0
VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworICAgIH0KK30KKzwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+CisKKzxkaXYgY2xhc3M9ImJveCIgaWQ9ImEiPjwvZGl2PgorCis8c2NyaXB0Pgor
ICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIHdpbmRvdy5sYXlv
dXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisKKyAgICBzZXRUaW1lb3V0KG1vdmUs
IDEwKTsKKyAgICBmdW5jdGlvbiBtb3ZlKCkgeworICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgnYScpLnN0eWxlLnRvcCA9ICIzMDBweCI7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCdhJykuc3R5bGUud2Via2l0VHJhbnNmb3JtID0gInJvdGF0ZSg0NWRlZykiOworICAg
ICAgICBzZXRUaW1lb3V0KHJ1blRlc3QsIDApOworICAgIH0KKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCmluZGV4IGRiMjU5NmYxOWU1ZTMyOTdiZGI2YTQwOWExNGRlMTFjODg3
Zjk5MjYuLjdhMDFkMTk0MDg4MjI4YWU2YzE5YWQ0ZGFjM2M5NWRlNTNhMWEyZTAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMS0wNS0yNiAgU2hhbmUgU3RlcGhlbnMgIDxzaGFuZXN0
ZXBoZW5zQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgUkVHUkVTU0lPTiAocjgxOTkyKTogbGF5b3V0IHRyaWdnZXJlZCBieSBwb3Np
dGlvbiB1cGRhdGUgZmFpbHMgdG8gYXBwbHkgd2hlbiB0cmFuc2Zvcm0gaXMgdXBkYXRlZCBhdCBz
YW1lIHRpbWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTYwNjg5CisKKyAgICAgICAgVGVzdDogdHJhbnNmb3Jtcy8yZC9zZXQtdHJhbnNmb3JtLWFuZC10
b3AuaHRtbAorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckJsb2NrOjpzaW1wbGlmaWVkTGF5b3V0KToKKwogMjAxMS0wNS0yNSAg
TWFydGluIFJvYmluc29uICA8bXJvYmluc29uQGlnYWxpYS5jb20+CiAKICAgICAgICAgUmV2aWV3
ZWQgYnkgRGlyayBTY2h1bHplLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlck9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5o
CmluZGV4IGJhYzY0NWNkZjczZGM0ZjRiZDJjZGM3OTNmYzRmMGZlMjRjZDhkMWUuLmE0OWMyYjgy
ZmYzNDBlYWIxN2EwNGIzOTFkYTg5ZGFkNzVhZWZiNTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyT2JqZWN0LmgKQEAgLTQzMSw3ICs0MzEsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBo
YXNCYWNrZ3JvdW5kKCkgY29uc3QgeyByZXR1cm4gc3R5bGUoKS0+aGFzQmFja2dyb3VuZCgpOyB9
CiAgICAgYm9vbCBuZWVkc0xheW91dCgpIGNvbnN0IHsgcmV0dXJuIG1fbmVlZHNMYXlvdXQgfHwg
bV9ub3JtYWxDaGlsZE5lZWRzTGF5b3V0IHx8IG1fcG9zQ2hpbGROZWVkc0xheW91dCB8fCBtX25l
ZWRzU2ltcGxpZmllZE5vcm1hbEZsb3dMYXlvdXQgfHwgbV9uZWVkc1Bvc2l0aW9uZWRNb3ZlbWVu
dExheW91dDsgfQogICAgIGJvb2wgc2VsZk5lZWRzTGF5b3V0KCkgY29uc3QgeyByZXR1cm4gbV9u
ZWVkc0xheW91dDsgfQotICAgIGJvb2wgbmVlZHNQb3NpdGlvbmVkTW92ZW1lbnRMYXlvdXQoKSBj
b25zdCB7IHJldHVybiBtX25lZWRzUG9zaXRpb25lZE1vdmVtZW50TGF5b3V0OyB9CisgICAgYm9v
bCBuZWVkc1Bvc2l0aW9uZWRNb3ZlbWVudExheW91dCgpIGNvbnN0IHsgcmV0dXJuIG1fbmVlZHNQ
b3NpdGlvbmVkTW92ZW1lbnRMYXlvdXQgfHwgbV9uZWVkc1NpbXBsaWZpZWROb3JtYWxGbG93TGF5
b3V0OyB9CiAgICAgYm9vbCBuZWVkc1Bvc2l0aW9uZWRNb3ZlbWVudExheW91dE9ubHkoKSBjb25z
dCB7IHJldHVybiBtX25lZWRzUG9zaXRpb25lZE1vdmVtZW50TGF5b3V0ICYmICFtX25lZWRzTGF5
b3V0ICYmICFtX25vcm1hbENoaWxkTmVlZHNMYXlvdXQgJiYgIW1fcG9zQ2hpbGROZWVkc0xheW91
dCAmJiAhbV9uZWVkc1NpbXBsaWZpZWROb3JtYWxGbG93TGF5b3V0OyB9CiAgICAgYm9vbCBwb3ND
aGlsZE5lZWRzTGF5b3V0KCkgY29uc3QgeyByZXR1cm4gbV9wb3NDaGlsZE5lZWRzTGF5b3V0OyB9
CiAgICAgYm9vbCBuZWVkc1NpbXBsaWZpZWROb3JtYWxGbG93TGF5b3V0KCkgY29uc3QgeyByZXR1
cm4gbV9uZWVkc1NpbXBsaWZpZWROb3JtYWxGbG93TGF5b3V0OyB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>95067</attachid>
            <date>2011-05-26 16:17:34 -0700</date>
            <delta_ts>2011-05-26 16:45:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-60689-20110527091731.patch</filename>
            <type>text/plain</type>
            <size>7876</size>
            <attacher name="Shane Stephens">shanestephens</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODc0NDQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA5YTc2NTdlMGYyM2JjNjk2Nzg5YzYx
YzAzNjc5M2FmYzAxMDc3NDE2Li40YzU4ODQxMGUyNWY0OWI2YzQ5YzNkZTViMzAwNWM0NmYyMTBi
YjVhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDUtMjYgIFNoYW5lIFN0ZXBoZW5zICA8
c2hhbmVzdGVwaGVuc0Bnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFJFR1JFU1NJT04gKHI4MTk5Mik6IGxheW91dCB0cmlnZ2VyZWQg
YnkgcG9zaXRpb24gdXBkYXRlIGZhaWxzIHRvIGFwcGx5IHdoZW4gdHJhbnNmb3JtIGlzIHVwZGF0
ZWQgYXQgc2FtZSB0aW1lCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD02MDY4OQorCisgICAgICAgICogdHJhbnNmb3Jtcy8yZC9zZXQtdHJhbnNmb3JtLWFu
ZC10b3AtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB0cmFuc2Zvcm1zLzJkL3NldC10
cmFuc2Zvcm0tYW5kLXRvcC5odG1sOiBBZGRlZC4KKwogMjAxMS0wNS0yNiAgQWRhbSBLbGVpbiAg
PGFkYW1rQGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLiAgQWRkIExlb3BhcmQg
cmViYXNlbGluZS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3RyYW5zZm9ybXMvMmQvc2V0LXRy
YW5zZm9ybS1hbmQtdG9wLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3RyYW5zZm9ybXMvMmQv
c2V0LXRyYW5zZm9ybS1hbmQtdG9wLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NWM0MGQ1NjE2
MGViZTI4ZDM0MTZiZTk4MjE5MmZlODVkMjg4YzZkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvdHJhbnNmb3Jtcy8yZC9zZXQtdHJhbnNmb3JtLWFuZC10b3AtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMyBAQAorQUIKK1BBU1MgLSBFbGVtZW50IGEgbW92ZWQgcGFzdCB5PTI1MHB4CitQ
QVNTIC0gRWxlbWVudCBiIG1vdmVkIHBhc3QgeT0yNTBweApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvdHJhbnNmb3Jtcy8yZC9zZXQtdHJhbnNmb3JtLWFuZC10b3AuaHRtbCBiL0xheW91dFRlc3Rz
L3RyYW5zZm9ybXMvMmQvc2V0LXRyYW5zZm9ybS1hbmQtdG9wLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2Iw
ODg1MmY3MjM0ZjE5MTU5ZjBhNzBiNmZiMTRmNGEyNzA2MGJlNwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3RyYW5zZm9ybXMvMmQvc2V0LXRyYW5zZm9ybS1hbmQtdG9wLmh0bWwKQEAg
LTAsMCArMSw2MiBAQAorPGh0bWw+Cis8aGVhZD4KKzxzdHlsZT4KKy5ib3ggeworICAgIHdpZHRo
OiAxMDBweDsKKyAgICBoZWlnaHQ6IDEwMHB4OworICAgIGJhY2tncm91bmQtY29sb3I6IHJlZDsK
KyAgICBwb3NpdGlvbjogYWJzb2x1dGU7CisgICAgdG9wOiA2MHB4OworICAgIGxlZnQ6IDQwcHg7
Cit9Cis8L3N0eWxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorCitmdW5jdGlv
biBjaGVja1Bvc2l0aW9uKGlkKSB7CisgICAgdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZChpZCk7CisgICAgdmFyIHkgPSB3ZWJraXRDb252ZXJ0UG9pbnRGcm9tTm9kZVRvUGFn
ZShlbGVtZW50LCBuZXcgV2ViS2l0UG9pbnQoMCwwKSkueTsKKworICAgIHZhciByZXN1bHRTdHJp
bmcgPSAnJzsKKyAgICBpZiAoeSA+IDI1MCkgeworICAgICAgICByZXN1bHRTdHJpbmcgKz0gIlBB
U1MgLSBFbGVtZW50ICIgKyBpZCArICIgbW92ZWQgcGFzdCB5PTI1MHB4IjsKKyAgICB9IGVsc2Ug
eworICAgICAgICByZXN1bHRTdHJpbmcgKz0gIkZBSUwgLSBFbGVtZW50ICIgKyBpZCArICIgc3Rp
bGwgYXQgeT0iICsgeSArICJweCI7CisgICAgfQorCisgICAgdmFyIGRpdiA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoImRpdiIpOworICAgIGRpdi5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVU
ZXh0Tm9kZShyZXN1bHRTdHJpbmcpKTsKKyAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRp
dik7Cit9CisKKworZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICBjaGVja1Bvc2l0aW9uKCJhIik7
CisgICAgY2hlY2tQb3NpdGlvbigiYiIpOworCisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlcikgeworICAgICAgICB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4
dCgpOworICAgICAgICB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwor
ICAgIH0KK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisKKzxkaXYgY2xhc3M9ImJveCIg
aWQ9ImEiPkE8L2Rpdj4KKzxkaXYgY2xhc3M9ImJveCIgaWQ9ImIiPkI8L2Rpdj4KKworPHNjcmlw
dD4KKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICB3aW5kb3cu
bGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworCisgICAgc2V0VGltZW91dCht
b3ZlLCAxMCk7CisgICAgZnVuY3Rpb24gbW92ZSgpIHsKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoJ2EnKS5zdHlsZS50b3AgPSAiMzAwcHgiOworICAgICAgICBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgnYScpLnN0eWxlLndlYmtpdFRyYW5zZm9ybSA9ICJyb3RhdGUoNDVkZWcpIjsK
KyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2InKS5zdHlsZS50b3AgPSAiMzAwcHgi
OworICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYicpLnN0eWxlLndlYmtpdFRyYW5z
Zm9ybSA9ICJyb3RhdGUoOTBkZWcpIjsKKyAgICAgICAgc2V0VGltZW91dChydW5UZXN0LCAwKTsK
KyAgICB9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA1ZDJiNzM0
OTM3OGQ1MWJlZGQzODFjZjZjYjdmOWFlOTQ4ODAxMmJiLi44OWNhMzQyNjhkYmFlZWUyYzc5YWE5
MTc4NGRmMjExZjUzOWJlMTQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDUt
MjYgIFNoYW5lIFN0ZXBoZW5zICA8c2hhbmVzdGVwaGVuc0Bnb29nbGUuY29tPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJFR1JFU1NJT04gKHI4MTk5
Mik6IGxheW91dCB0cmlnZ2VyZWQgYnkgcG9zaXRpb24gdXBkYXRlIGZhaWxzIHRvIGFwcGx5IHdo
ZW4gdHJhbnNmb3JtIGlzIHVwZGF0ZWQgYXQgc2FtZSB0aW1lCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MDY4OQorCisgICAgICAgIFRlc3Q6IHRyYW5z
Zm9ybXMvMmQvc2V0LXRyYW5zZm9ybS1hbmQtdG9wLmh0bWwKKworICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJCbG9jay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6c2ltcGxp
ZmllZExheW91dCk6CisKIDIwMTEtMDUtMjYgIERhdmlkIExldmluICA8bGV2aW5AY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEZpc2hlci4KQEAgLTQ4LDcgKzYwLDYg
QEAKICAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZTo6Y29udHJv
bENsaXBSZWN0KToKICAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVM
aW5lLmg6CiAKLTw8PDw8PDwgLm1pbmUKIDIwMTEtMDUtMjUgIExldmkgV2VpbnRyYXViICA8bGV2
aXdAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgpAQCAt
ODIsNyArOTMsNiBAQAogICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGV4dENvbnRyb2xTaW5nbGVM
aW5lOjpjb250cm9sQ2xpcFJlY3QpOgogICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUZXh0Q29u
dHJvbFNpbmdsZUxpbmUuaDoKIAotPT09PT09PQogMjAxMS0wNS0yNiAgSmVmZiBNaWxsZXIgIDxq
ZWZmbUBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgU3RldmUgRmFsa2VuYnVyZy4K
QEAgLTk4LDcgKzEwOCw2IEBACiAgICAgICAgIChGdWxsU2NyZWVuQ29udHJvbGxlcjo6UHJpdmF0
ZTo6ZnVsbHNjcmVlbkNsaWVudFduZFByb2MpOiBFeGl0IGZ1bGxzY3JlZW4gd2hlbiBtX2Z1bGxT
Y3JlZW5XaW5kb3cgaXMgZGVhY3RpdmF0ZWQuCiAgICAgICAgIChGdWxsU2NyZWVuQ29udHJvbGxl
cjo6ZW50ZXJGdWxsU2NyZWVuUmVwYWludENvbXBsZXRlZCk6IE1ha2UgbV9mdWxsU2NyZWVuV2lu
ZG93IGEgdG9wbW9zdCB3aW5kb3cgYmVmb3JlIGFuaW1hdGluZyBpdCBpbiB0byBlbnN1cmUgdGhl
IHRhc2tiYXIgaXMgaGlkZGVuLgogCi0+Pj4+Pj4+IC5yODc0NDIKIDIwMTEtMDUtMjYgIEphbWVz
IFJvYmluc29uICA8amFtZXNyQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBE
YXJpbiBGaXNoZXIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
T2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCmlu
ZGV4IGI4ZWQ3NzM3OTIxYzM3MjIzZTFhMjJmNWFlZjZiMGEwOWE2N2Q0MWEuLmFjYzViMTRmMTll
ODVlMDg4MzM2ZTUyMmRlZmMyMmJjM2MxNDUyZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJPYmplY3QuY3BwCkBAIC0xNTU0LDEwICsxNTU0LDE0IEBAIFN0eWxlRGlmZmVyZW5j
ZSBSZW5kZXJPYmplY3Q6OmFkanVzdFN0eWxlRGlmZmVyZW5jZShTdHlsZURpZmZlcmVuY2UgZGlm
ZiwgdW5zaWduCiAgICAgICAgIC8vIGhlbmNlIHRoZSAhaXNUZXh0KCkgY2hlY2suCiAgICAgICAg
IC8vIEZJWE1FOiB3aGVuIHRyYW5zZm9ybXMgYXJlIHRha2VuIGludG8gYWNjb3VudCBmb3Igb3Zl
cmZsb3csIHdlIHdpbGwgbmVlZCB0byBkbyBhIGxheW91dC4KICAgICAgICAgaWYgKCFpc1RleHQo
KSAmJiAoIWhhc0xheWVyKCkgfHwgIXRvUmVuZGVyQm94TW9kZWxPYmplY3QodGhpcyktPmxheWVy
KCktPmlzQ29tcG9zaXRlZCgpKSkgeworICAgICAgICAgICAgLy8gV2UgbmVlZCB0byBzZXQgYXQg
bGVhc3QgU2ltcGxpZmllZExheW91dCwgYnV0IGlmIFBvc2l0aW9uZWRNb3ZlbWVudE9ubHkgaXMg
YWxyZWFkeSBzZXQKKyAgICAgICAgICAgIC8vIHRoZW4gd2UgYWN0dWFsbHkgbmVlZCBTaW1wbGlm
aWVkTGF5b3V0QW5kUG9zaXRpb25lZE1vdmVtZW50LgogICAgICAgICAgICAgaWYgKCFoYXNMYXll
cigpKQogICAgICAgICAgICAgICAgIGRpZmYgPSBTdHlsZURpZmZlcmVuY2VMYXlvdXQ7IC8vIEZJ
WE1FOiBEbyB0aGlzIGZvciBub3cgc2luY2UgU2ltcGxpZmllZExheW91dCBjYW5ub3QgaGFuZGxl
IHVwZGF0aW5nIGZsb2F0aW5nIG9iamVjdHMgbGlzdHMuCi0gICAgICAgICAgICBlbHNlIGlmIChk
aWZmIDwgU3R5bGVEaWZmZXJlbmNlU2ltcGxpZmllZExheW91dCkKKyAgICAgICAgICAgIGVsc2Ug
aWYgKGRpZmYgPCBTdHlsZURpZmZlcmVuY2VMYXlvdXRQb3NpdGlvbmVkTW92ZW1lbnRPbmx5KQog
ICAgICAgICAgICAgICAgIGRpZmYgPSBTdHlsZURpZmZlcmVuY2VTaW1wbGlmaWVkTGF5b3V0Owor
ICAgICAgICAgICAgZWxzZSBpZiAoZGlmZiA8IFN0eWxlRGlmZmVyZW5jZVNpbXBsaWZpZWRMYXlv
dXQpCisgICAgICAgICAgICAgICAgZGlmZiA9IFN0eWxlRGlmZmVyZW5jZVNpbXBsaWZpZWRMYXlv
dXRBbmRQb3NpdGlvbmVkTW92ZW1lbnQ7CiAgICAgICAgIH0gZWxzZSBpZiAoZGlmZiA8IFN0eWxl
RGlmZmVyZW5jZVJlY29tcG9zaXRlTGF5ZXIpCiAgICAgICAgICAgICBkaWZmID0gU3R5bGVEaWZm
ZXJlbmNlUmVjb21wb3NpdGVMYXllcjsKICAgICB9CkBAIC0xNjM3LDcgKzE2NDEsMTAgQEAgdm9p
ZCBSZW5kZXJPYmplY3Q6OnNldFN0eWxlKFBhc3NSZWZQdHI8UmVuZGVyU3R5bGU+IHN0eWxlKQog
ICAgICAgICAgICAgc2V0TmVlZHNMYXlvdXRBbmRQcmVmV2lkdGhzUmVjYWxjKCk7CiAgICAgICAg
IGVsc2UgaWYgKHVwZGF0ZWREaWZmID09IFN0eWxlRGlmZmVyZW5jZUxheW91dFBvc2l0aW9uZWRN
b3ZlbWVudE9ubHkpCiAgICAgICAgICAgICBzZXROZWVkc1Bvc2l0aW9uZWRNb3ZlbWVudExheW91
dCgpOwotICAgICAgICBlbHNlIGlmICh1cGRhdGVkRGlmZiA9PSBTdHlsZURpZmZlcmVuY2VTaW1w
bGlmaWVkTGF5b3V0KQorICAgICAgICBlbHNlIGlmICh1cGRhdGVkRGlmZiA9PSBTdHlsZURpZmZl
cmVuY2VTaW1wbGlmaWVkTGF5b3V0QW5kUG9zaXRpb25lZE1vdmVtZW50KSB7CisgICAgICAgICAg
ICBzZXROZWVkc1Bvc2l0aW9uZWRNb3ZlbWVudExheW91dCgpOworICAgICAgICAgICAgc2V0TmVl
ZHNTaW1wbGlmaWVkTm9ybWFsRmxvd0xheW91dCgpOworICAgICAgICB9IGVsc2UgaWYgKHVwZGF0
ZWREaWZmID09IFN0eWxlRGlmZmVyZW5jZVNpbXBsaWZpZWRMYXlvdXQpCiAgICAgICAgICAgICBz
ZXROZWVkc1NpbXBsaWZpZWROb3JtYWxGbG93TGF5b3V0KCk7CiAgICAgfQogICAgIApAQCAtMTc2
Nyw2ICsxNzc0LDkgQEAgdm9pZCBSZW5kZXJPYmplY3Q6OnN0eWxlRGlkQ2hhbmdlKFN0eWxlRGlm
ZmVyZW5jZSBkaWZmLCBjb25zdCBSZW5kZXJTdHlsZSogb2xkU3QKICAgICAgICAgICAgIHNldE5l
ZWRzTGF5b3V0QW5kUHJlZldpZHRoc1JlY2FsYygpOwogICAgICAgICBlbHNlCiAgICAgICAgICAg
ICBzZXROZWVkc1NpbXBsaWZpZWROb3JtYWxGbG93TGF5b3V0KCk7CisgICAgfSBlbHNlIGlmIChk
aWZmID09IFN0eWxlRGlmZmVyZW5jZVNpbXBsaWZpZWRMYXlvdXRBbmRQb3NpdGlvbmVkTW92ZW1l
bnQpIHsKKyAgICAgICAgc2V0TmVlZHNQb3NpdGlvbmVkTW92ZW1lbnRMYXlvdXQoKTsKKyAgICAg
ICAgc2V0TmVlZHNTaW1wbGlmaWVkTm9ybWFsRmxvd0xheW91dCgpOwogICAgIH0gZWxzZSBpZiAo
ZGlmZiA9PSBTdHlsZURpZmZlcmVuY2VMYXlvdXRQb3NpdGlvbmVkTW92ZW1lbnRPbmx5KQogICAg
ICAgICBzZXROZWVkc1Bvc2l0aW9uZWRNb3ZlbWVudExheW91dCgpOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oCmluZGV4
IDc0ZmQ1OTQzZDY5MTk0M2Y4ZmM1ZmFiNDRhN2FhMDgzMTA1ZTJiYzIuLjFkYTdmMDE3YThlMmI0
M2Q0MDkxNjY2MTFiYmYwMmIwYjJlMDY2ODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oCkBAIC01Miw2ICs1Miw3IEBA
IGVudW0gU3R5bGVEaWZmZXJlbmNlIHsKICAgICBTdHlsZURpZmZlcmVuY2VSZXBhaW50TGF5ZXIs
CiAgICAgU3R5bGVEaWZmZXJlbmNlTGF5b3V0UG9zaXRpb25lZE1vdmVtZW50T25seSwKICAgICBT
dHlsZURpZmZlcmVuY2VTaW1wbGlmaWVkTGF5b3V0LAorICAgIFN0eWxlRGlmZmVyZW5jZVNpbXBs
aWZpZWRMYXlvdXRBbmRQb3NpdGlvbmVkTW92ZW1lbnQsCiAgICAgU3R5bGVEaWZmZXJlbmNlTGF5
b3V0CiB9OwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>95075</attachid>
            <date>2011-05-26 16:45:33 -0700</date>
            <delta_ts>2011-05-26 23:28:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-60689-20110527094530.patch</filename>
            <type>text/plain</type>
            <size>9379</size>
            <attacher name="Shane Stephens">shanestephens</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODc0NDQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA5YTc2NTdlMGYyM2JjNjk2Nzg5YzYx
YzAzNjc5M2FmYzAxMDc3NDE2Li40YzU4ODQxMGUyNWY0OWI2YzQ5YzNkZTViMzAwNWM0NmYyMTBi
YjVhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDUtMjYgIFNoYW5lIFN0ZXBoZW5zICA8
c2hhbmVzdGVwaGVuc0Bnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFJFR1JFU1NJT04gKHI4MTk5Mik6IGxheW91dCB0cmlnZ2VyZWQg
YnkgcG9zaXRpb24gdXBkYXRlIGZhaWxzIHRvIGFwcGx5IHdoZW4gdHJhbnNmb3JtIGlzIHVwZGF0
ZWQgYXQgc2FtZSB0aW1lCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD02MDY4OQorCisgICAgICAgICogdHJhbnNmb3Jtcy8yZC9zZXQtdHJhbnNmb3JtLWFu
ZC10b3AtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB0cmFuc2Zvcm1zLzJkL3NldC10
cmFuc2Zvcm0tYW5kLXRvcC5odG1sOiBBZGRlZC4KKwogMjAxMS0wNS0yNiAgQWRhbSBLbGVpbiAg
PGFkYW1rQGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLiAgQWRkIExlb3BhcmQg
cmViYXNlbGluZS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3RyYW5zZm9ybXMvMmQvc2V0LXRy
YW5zZm9ybS1hbmQtdG9wLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3RyYW5zZm9ybXMvMmQv
c2V0LXRyYW5zZm9ybS1hbmQtdG9wLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NWM0MGQ1NjE2
MGViZTI4ZDM0MTZiZTk4MjE5MmZlODVkMjg4YzZkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvdHJhbnNmb3Jtcy8yZC9zZXQtdHJhbnNmb3JtLWFuZC10b3AtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMyBAQAorQUIKK1BBU1MgLSBFbGVtZW50IGEgbW92ZWQgcGFzdCB5PTI1MHB4CitQ
QVNTIC0gRWxlbWVudCBiIG1vdmVkIHBhc3QgeT0yNTBweApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvdHJhbnNmb3Jtcy8yZC9zZXQtdHJhbnNmb3JtLWFuZC10b3AuaHRtbCBiL0xheW91dFRlc3Rz
L3RyYW5zZm9ybXMvMmQvc2V0LXRyYW5zZm9ybS1hbmQtdG9wLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2Iw
ODg1MmY3MjM0ZjE5MTU5ZjBhNzBiNmZiMTRmNGEyNzA2MGJlNwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3RyYW5zZm9ybXMvMmQvc2V0LXRyYW5zZm9ybS1hbmQtdG9wLmh0bWwKQEAg
LTAsMCArMSw2MiBAQAorPGh0bWw+Cis8aGVhZD4KKzxzdHlsZT4KKy5ib3ggeworICAgIHdpZHRo
OiAxMDBweDsKKyAgICBoZWlnaHQ6IDEwMHB4OworICAgIGJhY2tncm91bmQtY29sb3I6IHJlZDsK
KyAgICBwb3NpdGlvbjogYWJzb2x1dGU7CisgICAgdG9wOiA2MHB4OworICAgIGxlZnQ6IDQwcHg7
Cit9Cis8L3N0eWxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorCitmdW5jdGlv
biBjaGVja1Bvc2l0aW9uKGlkKSB7CisgICAgdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZChpZCk7CisgICAgdmFyIHkgPSB3ZWJraXRDb252ZXJ0UG9pbnRGcm9tTm9kZVRvUGFn
ZShlbGVtZW50LCBuZXcgV2ViS2l0UG9pbnQoMCwwKSkueTsKKworICAgIHZhciByZXN1bHRTdHJp
bmcgPSAnJzsKKyAgICBpZiAoeSA+IDI1MCkgeworICAgICAgICByZXN1bHRTdHJpbmcgKz0gIlBB
U1MgLSBFbGVtZW50ICIgKyBpZCArICIgbW92ZWQgcGFzdCB5PTI1MHB4IjsKKyAgICB9IGVsc2Ug
eworICAgICAgICByZXN1bHRTdHJpbmcgKz0gIkZBSUwgLSBFbGVtZW50ICIgKyBpZCArICIgc3Rp
bGwgYXQgeT0iICsgeSArICJweCI7CisgICAgfQorCisgICAgdmFyIGRpdiA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoImRpdiIpOworICAgIGRpdi5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVU
ZXh0Tm9kZShyZXN1bHRTdHJpbmcpKTsKKyAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRp
dik7Cit9CisKKworZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICBjaGVja1Bvc2l0aW9uKCJhIik7
CisgICAgY2hlY2tQb3NpdGlvbigiYiIpOworCisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlcikgeworICAgICAgICB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4
dCgpOworICAgICAgICB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwor
ICAgIH0KK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisKKzxkaXYgY2xhc3M9ImJveCIg
aWQ9ImEiPkE8L2Rpdj4KKzxkaXYgY2xhc3M9ImJveCIgaWQ9ImIiPkI8L2Rpdj4KKworPHNjcmlw
dD4KKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICB3aW5kb3cu
bGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworCisgICAgc2V0VGltZW91dCht
b3ZlLCAxMCk7CisgICAgZnVuY3Rpb24gbW92ZSgpIHsKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoJ2EnKS5zdHlsZS50b3AgPSAiMzAwcHgiOworICAgICAgICBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgnYScpLnN0eWxlLndlYmtpdFRyYW5zZm9ybSA9ICJyb3RhdGUoNDVkZWcpIjsK
KyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2InKS5zdHlsZS50b3AgPSAiMzAwcHgi
OworICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYicpLnN0eWxlLndlYmtpdFRyYW5z
Zm9ybSA9ICJyb3RhdGUoOTBkZWcpIjsKKyAgICAgICAgc2V0VGltZW91dChydW5UZXN0LCAwKTsK
KyAgICB9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA1ZDJiNzM0
OTM3OGQ1MWJlZGQzODFjZjZjYjdmOWFlOTQ4ODAxMmJiLi5kOGFjMWUwYTcxNDI1OGY3MDQwMjU0
NjA1ZDNhMGViMDI1Mjc2YTkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTEtMDUt
MjYgIFNoYW5lIFN0ZXBoZW5zICA8c2hhbmVzdGVwaGVuc0Bnb29nbGUuY29tPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJFR1JFU1NJT04gKHI4MTk5
Mik6IGxheW91dCB0cmlnZ2VyZWQgYnkgcG9zaXRpb24gdXBkYXRlIGZhaWxzIHRvIGFwcGx5IHdo
ZW4gdHJhbnNmb3JtIGlzIHVwZGF0ZWQgYXQgc2FtZSB0aW1lCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MDY4OQorCisgICAgICAgIFdoZW4gYSB0cmFu
c2Zvcm0gaXMgbW9kaWZpZWQgaW4gYSBzdHlsZSwgd2Ugd2VyZSB1cGdyYWRpbmcgb3VyIHVuZGVy
c3RhbmRpbmcKKyAgICAgICAgb2YgdGhlIGRpZmZlcmVuY2UgZnJvbSBQb3NpdGlvbmVkTW92ZW1l
bnRPbmx5IHRvIFNpbXBsaWZpZWRMYXlvdXQuICBIb3dldmVyLAorICAgICAgICBpZiB0aGUgcG9z
aXRpb24gb2YgdGhlIHN0eWxlIGlzIGluZGVwZW5kZW50bHkgY2hhbmdlZCBhdCB0aGUgc2FtZSB0
aW1lLCBib3RoCisgICAgICAgIFBvc2l0aW9uZWRNb3ZlbWVudCBhbmQgU2ltcGxpZmllZExheW91
dCBwYXNzZXMgYXJlIHJlcXVpcmVkLgorCisgICAgICAgIFRlc3Q6IHRyYW5zZm9ybXMvMmQvc2V0
LXRyYW5zZm9ybS1hbmQtdG9wLmh0bWwKKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmpl
Y3QuY3BwOgorICAgICAgICBBZGRlZCBjaGVja3MgZm9yIFNpbXBsaWZpZWRMYXlvdXRBbmRQb3Np
dGlvbmVkTW92ZW1lbnQgLSB3aGVuIGVuY291bnRlcmVkLAorICAgICAgICBzZXQgYm90aCBQb3Np
dGlvbmVkTW92ZW1lbnQgYW5kIFNpbXBsaWZpZWRMYXlvdXQgdXBkYXRlIGZsYXNncy4gCisgICAg
ICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmg6CisgICAgICAgIEFk
ZGVkIGEgbmV3IFN0eWxlRGlmZmVyZW5jZSBlbnVtIHZhbHVlIChTaW1wbGlmaWVkTGF5b3V0QW5k
UG9zaXRpb25lZE1vdmVtZW50KSBmb3IgCisgICAgICAgIGNhc2VzIHdoZW4gYm90aCBQb3NpdGlv
bmVkTW92ZW1lbnQgYW5kIFNpbXBsaWZpZWRMYXlvdXQgYXJlIHJlcXVpcmVkLgorCiAyMDExLTA1
LTI2ICBEYXZpZCBMZXZpbiAgPGxldmluQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBEYXJpbiBGaXNoZXIuCkBAIC00OCw3ICs2OSw2IEBACiAgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmU6OmNvbnRyb2xDbGlwUmVjdCk6CiAgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5oOgogCi08PDw8PDw8IC5taW5l
CiAyMDExLTA1LTI1ICBMZXZpIFdlaW50cmF1YiAgPGxldml3QGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbC4KQEAgLTgyLDcgKzEwMiw2IEBACiAgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmU6OmNvbnRyb2xDbGlwUmVjdCk6
CiAgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5oOgogCi09
PT09PT09CiAyMDExLTA1LTI2ICBKZWZmIE1pbGxlciAgPGplZmZtQGFwcGxlLmNvbT4KIAogICAg
ICAgICBSZXZpZXdlZCBieSBTdGV2ZSBGYWxrZW5idXJnLgpAQCAtOTgsNyArMTE3LDYgQEAKICAg
ICAgICAgKEZ1bGxTY3JlZW5Db250cm9sbGVyOjpQcml2YXRlOjpmdWxsc2NyZWVuQ2xpZW50V25k
UHJvYyk6IEV4aXQgZnVsbHNjcmVlbiB3aGVuIG1fZnVsbFNjcmVlbldpbmRvdyBpcyBkZWFjdGl2
YXRlZC4KICAgICAgICAgKEZ1bGxTY3JlZW5Db250cm9sbGVyOjplbnRlckZ1bGxTY3JlZW5SZXBh
aW50Q29tcGxldGVkKTogTWFrZSBtX2Z1bGxTY3JlZW5XaW5kb3cgYSB0b3Btb3N0IHdpbmRvdyBi
ZWZvcmUgYW5pbWF0aW5nIGl0IGluIHRvIGVuc3VyZSB0aGUgdGFza2JhciBpcyBoaWRkZW4uCiAK
LT4+Pj4+Pj4gLnI4NzQ0MgogMjAxMS0wNS0yNiAgSmFtZXMgUm9iaW5zb24gIDxqYW1lc3JAY2hy
b21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEZpc2hlci4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKaW5kZXggYjhlZDc3Mzc5MjFjMzcyMjNl
MWEyMmY1YWVmNmIwYTA5YTY3ZDQxYS4uYWNjNWIxNGYxOWU4NWUwODgzMzZlNTIyZGVmYzIyYmMz
YzE0NTJmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVj
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKQEAg
LTE1NTQsMTAgKzE1NTQsMTQgQEAgU3R5bGVEaWZmZXJlbmNlIFJlbmRlck9iamVjdDo6YWRqdXN0
U3R5bGVEaWZmZXJlbmNlKFN0eWxlRGlmZmVyZW5jZSBkaWZmLCB1bnNpZ24KICAgICAgICAgLy8g
aGVuY2UgdGhlICFpc1RleHQoKSBjaGVjay4KICAgICAgICAgLy8gRklYTUU6IHdoZW4gdHJhbnNm
b3JtcyBhcmUgdGFrZW4gaW50byBhY2NvdW50IGZvciBvdmVyZmxvdywgd2Ugd2lsbCBuZWVkIHRv
IGRvIGEgbGF5b3V0LgogICAgICAgICBpZiAoIWlzVGV4dCgpICYmICghaGFzTGF5ZXIoKSB8fCAh
dG9SZW5kZXJCb3hNb2RlbE9iamVjdCh0aGlzKS0+bGF5ZXIoKS0+aXNDb21wb3NpdGVkKCkpKSB7
CisgICAgICAgICAgICAvLyBXZSBuZWVkIHRvIHNldCBhdCBsZWFzdCBTaW1wbGlmaWVkTGF5b3V0
LCBidXQgaWYgUG9zaXRpb25lZE1vdmVtZW50T25seSBpcyBhbHJlYWR5IHNldAorICAgICAgICAg
ICAgLy8gdGhlbiB3ZSBhY3R1YWxseSBuZWVkIFNpbXBsaWZpZWRMYXlvdXRBbmRQb3NpdGlvbmVk
TW92ZW1lbnQuCiAgICAgICAgICAgICBpZiAoIWhhc0xheWVyKCkpCiAgICAgICAgICAgICAgICAg
ZGlmZiA9IFN0eWxlRGlmZmVyZW5jZUxheW91dDsgLy8gRklYTUU6IERvIHRoaXMgZm9yIG5vdyBz
aW5jZSBTaW1wbGlmaWVkTGF5b3V0IGNhbm5vdCBoYW5kbGUgdXBkYXRpbmcgZmxvYXRpbmcgb2Jq
ZWN0cyBsaXN0cy4KLSAgICAgICAgICAgIGVsc2UgaWYgKGRpZmYgPCBTdHlsZURpZmZlcmVuY2VT
aW1wbGlmaWVkTGF5b3V0KQorICAgICAgICAgICAgZWxzZSBpZiAoZGlmZiA8IFN0eWxlRGlmZmVy
ZW5jZUxheW91dFBvc2l0aW9uZWRNb3ZlbWVudE9ubHkpCiAgICAgICAgICAgICAgICAgZGlmZiA9
IFN0eWxlRGlmZmVyZW5jZVNpbXBsaWZpZWRMYXlvdXQ7CisgICAgICAgICAgICBlbHNlIGlmIChk
aWZmIDwgU3R5bGVEaWZmZXJlbmNlU2ltcGxpZmllZExheW91dCkKKyAgICAgICAgICAgICAgICBk
aWZmID0gU3R5bGVEaWZmZXJlbmNlU2ltcGxpZmllZExheW91dEFuZFBvc2l0aW9uZWRNb3ZlbWVu
dDsKICAgICAgICAgfSBlbHNlIGlmIChkaWZmIDwgU3R5bGVEaWZmZXJlbmNlUmVjb21wb3NpdGVM
YXllcikKICAgICAgICAgICAgIGRpZmYgPSBTdHlsZURpZmZlcmVuY2VSZWNvbXBvc2l0ZUxheWVy
OwogICAgIH0KQEAgLTE2MzcsNyArMTY0MSwxMCBAQCB2b2lkIFJlbmRlck9iamVjdDo6c2V0U3R5
bGUoUGFzc1JlZlB0cjxSZW5kZXJTdHlsZT4gc3R5bGUpCiAgICAgICAgICAgICBzZXROZWVkc0xh
eW91dEFuZFByZWZXaWR0aHNSZWNhbGMoKTsKICAgICAgICAgZWxzZSBpZiAodXBkYXRlZERpZmYg
PT0gU3R5bGVEaWZmZXJlbmNlTGF5b3V0UG9zaXRpb25lZE1vdmVtZW50T25seSkKICAgICAgICAg
ICAgIHNldE5lZWRzUG9zaXRpb25lZE1vdmVtZW50TGF5b3V0KCk7Ci0gICAgICAgIGVsc2UgaWYg
KHVwZGF0ZWREaWZmID09IFN0eWxlRGlmZmVyZW5jZVNpbXBsaWZpZWRMYXlvdXQpCisgICAgICAg
IGVsc2UgaWYgKHVwZGF0ZWREaWZmID09IFN0eWxlRGlmZmVyZW5jZVNpbXBsaWZpZWRMYXlvdXRB
bmRQb3NpdGlvbmVkTW92ZW1lbnQpIHsKKyAgICAgICAgICAgIHNldE5lZWRzUG9zaXRpb25lZE1v
dmVtZW50TGF5b3V0KCk7CisgICAgICAgICAgICBzZXROZWVkc1NpbXBsaWZpZWROb3JtYWxGbG93
TGF5b3V0KCk7CisgICAgICAgIH0gZWxzZSBpZiAodXBkYXRlZERpZmYgPT0gU3R5bGVEaWZmZXJl
bmNlU2ltcGxpZmllZExheW91dCkKICAgICAgICAgICAgIHNldE5lZWRzU2ltcGxpZmllZE5vcm1h
bEZsb3dMYXlvdXQoKTsKICAgICB9CiAgICAgCkBAIC0xNzY3LDYgKzE3NzQsOSBAQCB2b2lkIFJl
bmRlck9iamVjdDo6c3R5bGVEaWRDaGFuZ2UoU3R5bGVEaWZmZXJlbmNlIGRpZmYsIGNvbnN0IFJl
bmRlclN0eWxlKiBvbGRTdAogICAgICAgICAgICAgc2V0TmVlZHNMYXlvdXRBbmRQcmVmV2lkdGhz
UmVjYWxjKCk7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIHNldE5lZWRzU2ltcGxpZmllZE5v
cm1hbEZsb3dMYXlvdXQoKTsKKyAgICB9IGVsc2UgaWYgKGRpZmYgPT0gU3R5bGVEaWZmZXJlbmNl
U2ltcGxpZmllZExheW91dEFuZFBvc2l0aW9uZWRNb3ZlbWVudCkgeworICAgICAgICBzZXROZWVk
c1Bvc2l0aW9uZWRNb3ZlbWVudExheW91dCgpOworICAgICAgICBzZXROZWVkc1NpbXBsaWZpZWRO
b3JtYWxGbG93TGF5b3V0KCk7CiAgICAgfSBlbHNlIGlmIChkaWZmID09IFN0eWxlRGlmZmVyZW5j
ZUxheW91dFBvc2l0aW9uZWRNb3ZlbWVudE9ubHkpCiAgICAgICAgIHNldE5lZWRzUG9zaXRpb25l
ZE1vdmVtZW50TGF5b3V0KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmgKaW5kZXggNzRmZDU5NDNkNjkxOTQzZjhmYzVm
YWI0NGE3YWEwODMxMDVlMmJjMi4uM2Y2Njc5MjcwZWViZGMyMzgzMDAxMDA3Mjc1ZWY0MDYzODAx
NDQyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0
eWxlQ29uc3RhbnRzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRl
clN0eWxlQ29uc3RhbnRzLmgKQEAgLTQyLDcgKzQyLDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IC8vICgyKSBTdHlsZURpZmZlcmVuY2VSZWNvbXBvc2l0ZUxheWVyIC0gVGhlIGxheWVyIG5lZWRz
IGl0cyBwb3NpdGlvbiBhbmQgdHJhbnNmb3JtIHVwZGF0ZWQsIGJ1dCBubyByZXBhaW50CiAvLyAo
MykgU3R5bGVEaWZmZXJlbmNlUmVwYWludCAtIFRoZSBvYmplY3QganVzdCBuZWVkcyB0byBiZSBy
ZXBhaW50ZWQuCiAvLyAoNCkgU3R5bGVEaWZmZXJlbmNlUmVwYWludExheWVyIC0gVGhlIGxheWVy
IGFuZCBpdHMgZGVzY2VuZGFudCBsYXllcnMgbmVlZHMgdG8gYmUgcmVwYWludGVkLgotLy8gKDUp
IFN0eWxlRGlmZmVyZW5jZUxheW91dCAtIEEgbGF5b3V0IGlzIHJlcXVpcmVkLgorLy8gKDUpIFN0
eWxlRGlmZmVyZW5jZUxheW91dFBvc2l0aW9uZWRNb3ZlbWVudE9ubHkgLSBPbmx5IHRoZSBwb3Np
dGlvbiBvZiB0aGlzIHBvc2l0aW9uZWQgb2JqZWN0IGhhcyBiZWVuIHVwZGF0ZWQKKy8vICg2KSBT
dHlsZURpZmZlcmVuY2VTaW1wbGlmaWVkTGF5b3V0IC0gT25seSBvdmVyZmxvdyBuZWVkcyB0byBi
ZSByZWNvbXB1dGVkCisvLyAoNykgU3R5bGVEaWZmZXJlbmNlU2ltcGxpZmllZExheW91dEFuZFBv
c2l0aW9uZWRNb3ZlbWVudCAtIEJvdGggcG9zaXRpb25lZCBtb3ZlbWVudCBhbmQgc2ltcGxpZmll
ZCBsYXlvdXQgdXBkYXRlcyBhcmUgcmVxdWlyZWQuCisvLyAoOCkgU3R5bGVEaWZmZXJlbmNlTGF5
b3V0IC0gQSBmdWxsIGxheW91dCBpcyByZXF1aXJlZC4KIGVudW0gU3R5bGVEaWZmZXJlbmNlIHsK
ICAgICBTdHlsZURpZmZlcmVuY2VFcXVhbCwKICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJ
TkcpCkBAIC01Miw2ICs1NSw3IEBAIGVudW0gU3R5bGVEaWZmZXJlbmNlIHsKICAgICBTdHlsZURp
ZmZlcmVuY2VSZXBhaW50TGF5ZXIsCiAgICAgU3R5bGVEaWZmZXJlbmNlTGF5b3V0UG9zaXRpb25l
ZE1vdmVtZW50T25seSwKICAgICBTdHlsZURpZmZlcmVuY2VTaW1wbGlmaWVkTGF5b3V0LAorICAg
IFN0eWxlRGlmZmVyZW5jZVNpbXBsaWZpZWRMYXlvdXRBbmRQb3NpdGlvbmVkTW92ZW1lbnQsCiAg
ICAgU3R5bGVEaWZmZXJlbmNlTGF5b3V0CiB9OwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>