<?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>66209</bug_id>
          
          <creation_ts>2011-08-14 16:55:25 -0700</creation_ts>
          <short_desc>Chromium Mac: Show scrollbar when doing search</short_desc>
          <delta_ts>2011-08-18 15:47:01 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sailesh Agrawal">sail</reporter>
          <assigned_to name="Sailesh Agrawal">sail</assigned_to>
          <cc>jamesr</cc>
    
    <cc>thakis</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>450958</commentid>
    <comment_count>0</comment_count>
    <who name="Sailesh Agrawal">sail</who>
    <bug_when>2011-08-14 16:55:25 -0700</bug_when>
    <thetext>Chromium Mac: Show scrollbar when doing search</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450959</commentid>
    <comment_count>1</comment_count>
      <attachid>103884</attachid>
    <who name="Sailesh Agrawal">sail</who>
    <bug_when>2011-08-14 16:59:04 -0700</bug_when>
    <thetext>Created attachment 103884
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450960</commentid>
    <comment_count>2</comment_count>
    <who name="Sailesh Agrawal">sail</who>
    <bug_when>2011-08-14 17:00:43 -0700</bug_when>
    <thetext>The chromium bug for this is:
http://code.google.com/p/chromium/issues/detail?id=92126</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>451096</commentid>
    <comment_count>3</comment_count>
      <attachid>103884</attachid>
    <who name="Nico Weber">thakis</who>
    <bug_when>2011-08-15 09:56:51 -0700</bug_when>
    <thetext>Comment on attachment 103884
Patch

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

&gt; Source/WebCore/platform/chromium/ScrollbarThemeChromiumMac.h:75
&gt; +    void paintTickmarks(GraphicsContext*, Scrollbar*, const IntRect&amp;, const Vector&lt;IntRect&gt;&amp;);

I have a feeling this will trigger clang&apos;s -Woverloaded-virtual. Maybe give it a different name?

&gt; Source/WebKit/chromium/src/WebFrameImpl.cpp:2181
&gt; +              scrollbar-&gt;invalidate();

Should you invalidate just the visibleHeight() when no tickmarks are visible? It looks like we repaint the entire scroll area all the time now (and even if there are tickmarks, invalidating just a scrollbarThickness() vertical slice should be enough)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>451222</commentid>
    <comment_count>4</comment_count>
      <attachid>103884</attachid>
    <who name="Sailesh Agrawal">sail</who>
    <bug_when>2011-08-15 12:35:46 -0700</bug_when>
    <thetext>Comment on attachment 103884
Patch

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

&gt;&gt; Source/WebCore/platform/chromium/ScrollbarThemeChromiumMac.h:75
&gt;&gt; +    void paintTickmarks(GraphicsContext*, Scrollbar*, const IntRect&amp;, const Vector&lt;IntRect&gt;&amp;);
&gt; 
&gt; I have a feeling this will trigger clang&apos;s -Woverloaded-virtual. Maybe give it a different name?

Fixed. Renamed to paintGivenTickmarks()

&gt;&gt; Source/WebKit/chromium/src/WebFrameImpl.cpp:2181
&gt;&gt; +              scrollbar-&gt;invalidate();
&gt; 
&gt; Should you invalidate just the visibleHeight() when no tickmarks are visible? It looks like we repaint the entire scroll area all the time now (and even if there are tickmarks, invalidating just a scrollbarThickness() vertical slice should be enough)

scrollbar-&gt;invalidate() only invalidates the widget. In this case the widget height is less than or equal to frame view&apos;s visible height. The widget&apos;s width is always equal to scrollbar thickness.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>451223</commentid>
    <comment_count>5</comment_count>
      <attachid>103944</attachid>
    <who name="Sailesh Agrawal">sail</who>
    <bug_when>2011-08-15 12:36:40 -0700</bug_when>
    <thetext>Created attachment 103944
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>452086</commentid>
    <comment_count>6</comment_count>
    <who name="Sailesh Agrawal">sail</who>
    <bug_when>2011-08-16 20:19:29 -0700</bug_when>
    <thetext>change looks ok on try bots:
http://build.chromium.org/p/tryserver.chromium/builders/mac_layout_rel/builds/273
http://build.chromium.org/p/tryserver.chromium/builders/win_layout_rel/builds/436
http://build.chromium.org/p/tryserver.chromium/builders/linux_layout/builds/1149</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>452097</commentid>
    <comment_count>7</comment_count>
    <who name="Nico Weber">thakis</who>
    <bug_when>2011-08-16 21:00:35 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; scrollbar-&gt;invalidate() only invalidates the widget. In this case the widget height is less than or equal to frame view&apos;s visible height. The widget&apos;s width is always equal to scrollbar thickness.

Is the scrollbar height equal to the web height or the knob height usually? In the former case, invalidating less when there are no tickmarks would still be useful, right?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>452105</commentid>
    <comment_count>8</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-08-16 21:14:33 -0700</bug_when>
    <thetext>Why no test?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>452126</commentid>
    <comment_count>9</comment_count>
    <who name="Sailesh Agrawal">sail</who>
    <bug_when>2011-08-16 22:18:32 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (In reply to comment #4)
&gt; &gt; scrollbar-&gt;invalidate() only invalidates the widget. In this case the widget height is less than or equal to frame view&apos;s visible height. The widget&apos;s width is always equal to scrollbar thickness.
&gt; 
&gt; Is the scrollbar height equal to the web height or the knob height usually? In the former case, invalidating less when there are no tickmarks would still be useful, right?

The scrollbar widget height is just the visible page height. It&apos;s the least we can invalidate without looking up the tickmarks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>452128</commentid>
    <comment_count>10</comment_count>
    <who name="Nico Weber">thakis</who>
    <bug_when>2011-08-16 22:20:50 -0700</bug_when>
    <thetext>Yes, but if there are no tickmarks, only the knob needs to be invalidated, right? Checking if the &quot;are there tickmarks?&quot; state matches the previous &quot;are there tickmarks?&quot; state and doing a smaller invalidation if it matches and if the state is &quot;no tickmarks&quot; should be easy, right?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>452129</commentid>
    <comment_count>11</comment_count>
    <who name="Sailesh Agrawal">sail</who>
    <bug_when>2011-08-16 22:26:39 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; Yes, but if there are no tickmarks, only the knob needs to be invalidated, right?

I don&apos;t think that&apos;s true. For example, if we&apos;re showing tickmarks, and then the user cancels the search the new state is &quot;no tickmarks&quot;. At this point we still want to invalidate the whole scrollbar widget since we want to erase the old tickmarks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>452132</commentid>
    <comment_count>12</comment_count>
    <who name="Nico Weber">thakis</who>
    <bug_when>2011-08-16 22:37:21 -0700</bug_when>
    <thetext>That&apos;s why I said one would only do this if the old and new &quot;are tickmarks shown?&quot; state matches.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>452141</commentid>
    <comment_count>13</comment_count>
    <who name="Sailesh Agrawal">sail</who>
    <bug_when>2011-08-16 22:58:56 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; Yes, but if there are no tickmarks, only the knob needs to be invalidated, right?

Hm.. there are four calls to WebFrameImpl::invalidateArea(). As far as I can tell tell they all call invalidateArea because the number of matches has changed.

Also, I can&apos;t see why invalidating just the knob would be useful. If the number of matches before and after is 0 then we shouldn&apos;t invalidate anything right? (Since the tickmarks are drawn on the track and possibly underneath the knob.)

For reference, I&apos;m assuming that knob means that part of the scrollbar that you click and drag around and track means that background that the knob is dragged over.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>452348</commentid>
    <comment_count>14</comment_count>
    <who name="Nico Weber">thakis</who>
    <bug_when>2011-08-17 10:44:07 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; Also, I can&apos;t see why invalidating just the knob would be useful. If the number of matches before and after is 0 then we shouldn&apos;t invalidate anything right? (Since the tickmarks are drawn on the track and possibly underneath the knob.)

I&apos;m thinking of the &quot;scrolling without findmarks, with a normal, non-overlay scrollbar&quot; case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>453363</commentid>
    <comment_count>15</comment_count>
    <who name="Sailesh Agrawal">sail</who>
    <bug_when>2011-08-18 14:39:55 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; (In reply to comment #13)
&gt; &gt; Also, I can&apos;t see why invalidating just the knob would be useful. If the number of matches before and after is 0 then we shouldn&apos;t invalidate anything right? (Since the tickmarks are drawn on the track and possibly underneath the knob.)
&gt; 
&gt; I&apos;m thinking of the &quot;scrolling without findmarks, with a normal, non-overlay scrollbar&quot; case.

Ahh, got it. The good news is that this function is internal to this class and it&apos;s only used for search. The invalidation due to scrolling happens elsewhere.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>453365</commentid>
    <comment_count>16</comment_count>
    <who name="Nico Weber">thakis</who>
    <bug_when>2011-08-18 14:42:05 -0700</bug_when>
    <thetext>Ah, ok.

Can you add &quot;No tests because there are no chromium 10.7 bots yet&quot; to the changelog entry? with that, lgtm</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>453407</commentid>
    <comment_count>17</comment_count>
      <attachid>104408</attachid>
    <who name="Sailesh Agrawal">sail</who>
    <bug_when>2011-08-18 15:24:19 -0700</bug_when>
    <thetext>Created attachment 104408
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>453410</commentid>
    <comment_count>18</comment_count>
    <who name="Sailesh Agrawal">sail</who>
    <bug_when>2011-08-18 15:25:35 -0700</bug_when>
    <thetext>&gt; Can you add &quot;No tests because there are no chromium 10.7 bots yet&quot; to the changelog entry? with that, lgtm

Done.

I also made one other change. The original patch would force both horizontal and vertical scrollbars to be visible when doing a search. With this change we only force the vertical scrollbar to be visible.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>453412</commentid>
    <comment_count>19</comment_count>
      <attachid>104408</attachid>
    <who name="Nico Weber">thakis</who>
    <bug_when>2011-08-18 15:26:58 -0700</bug_when>
    <thetext>Comment on attachment 104408
Patch

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

lgtm

&gt; Source/WebCore/ChangeLog:10
&gt; +        No tests because there are no chromium 10.7 bots yet.

nit: &quot;Mac 10.7 chromium bots&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>453414</commentid>
    <comment_count>20</comment_count>
      <attachid>104408</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-08-18 15:29:59 -0700</bug_when>
    <thetext>Comment on attachment 104408
Patch

I am rubber stamp hear me roar</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>453415</commentid>
    <comment_count>21</comment_count>
      <attachid>104409</attachid>
    <who name="Sailesh Agrawal">sail</who>
    <bug_when>2011-08-18 15:30:14 -0700</bug_when>
    <thetext>Created attachment 104409
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>453417</commentid>
    <comment_count>22</comment_count>
    <who name="Sailesh Agrawal">sail</who>
    <bug_when>2011-08-18 15:30:53 -0700</bug_when>
    <thetext>(In reply to comment #20)
&gt; (From update of attachment 104408 [details])
&gt; I am rubber stamp hear me roar

argh, and I just blew away the rubber stamp</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>453421</commentid>
    <comment_count>23</comment_count>
      <attachid>104410</attachid>
    <who name="Sailesh Agrawal">sail</who>
    <bug_when>2011-08-18 15:34:16 -0700</bug_when>
    <thetext>Created attachment 104410
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>453422</commentid>
    <comment_count>24</comment_count>
      <attachid>104410</attachid>
    <who name="Nico Weber">thakis</who>
    <bug_when>2011-08-18 15:34:47 -0700</bug_when>
    <thetext>Comment on attachment 104410
Patch

no need for r?, has been reviewed already</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>453436</commentid>
    <comment_count>25</comment_count>
      <attachid>104410</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-18 15:46:55 -0700</bug_when>
    <thetext>Comment on attachment 104410
Patch

Clearing flags on attachment: 104410

Committed r93361: &lt;http://trac.webkit.org/changeset/93361&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>453437</commentid>
    <comment_count>26</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-18 15:47:01 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>103884</attachid>
            <date>2011-08-14 16:59:04 -0700</date>
            <delta_ts>2011-08-15 12:36:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-66209-20110814165903.patch</filename>
            <type>text/plain</type>
            <size>8394</size>
            <attacher name="Sailesh Agrawal">sail</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTI5NjQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAwM2FkNDU4NDRiYjFhMzlk
ZjI1MmNlYTJiMTBkOGRkZTk4M2M1MDk3Li40MDNlMWUyYTBiMTA2NTc3OTQzNTg5MDdiZDZlMzhi
YTIyZDFmN2ExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTEtMDgtMTQgIFNhaWxl
c2ggQWdyYXdhbCAgPHNhaWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIENocm9taXVtIE1hYzog
U2hvdyBzY3JvbGxiYXIgd2hlbiBkb2luZyBzZWFyY2gKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY2MjA5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlZCB0aGUgTGlvbiBzY3JvbGxiYXIgZHJhd2lu
ZyBjb2RlIHRvIGZvcmNlIHRoZSBzY3JvbGxiYXIgdG8gYmUgdmlzaWJsZSB3aGVuIHdlIGhhdmUg
dGlja21hcmtzIGZvciBzZWFyY2ggcmVzdWx0cy4KKworICAgICAgICAqIHBsYXRmb3JtL2Nocm9t
aXVtL1Njcm9sbGJhclRoZW1lQ2hyb21pdW1NYWMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJv
bWl1bS9TY3JvbGxiYXJUaGVtZUNocm9taXVtTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6U2Ny
b2xsYmFyVGhlbWVDaHJvbWl1bU1hYzo6cGFpbnQpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xs
YmFyVGhlbWVDaHJvbWl1bU1hYzo6cGFpbnRUaWNrbWFya3MpOgorCiAyMDExLTA4LTExICBQYXZl
bCBQb2Rpdmlsb3YgIDxwb2Rpdmlsb3ZAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNw
ZWN0b3I6IHByb3Blcmx5IHVwZGF0ZSBjb25zb2xlIG1lc3NhZ2UgY291bnQgaW4gc291cmNlIGZy
YW1lcyBhbmQgcmVzb3VyY2VzIHBhbmVsLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vY2hyb21pdW0vU2Nyb2xsYmFyVGhlbWVDaHJvbWl1bU1hYy5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vY2hyb21pdW0vU2Nyb2xsYmFyVGhlbWVDaHJvbWl1bU1hYy5oCmluZGV4IDYz
MmUzNjkyMzM5OTFkYWVkMzRkNzNiNjQ5NDEwMTcxZGU4Y2Q4ZTIuLjA1M2UxMWJiZDJhMmI0YzU4
NGUwMzM3NWUwODY0NjcyMDAxYzI0NjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2Nocm9taXVtL1Njcm9sbGJhclRoZW1lQ2hyb21pdW1NYWMuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9TY3JvbGxiYXJUaGVtZUNocm9taXVtTWFjLmgKQEAgLTcx
LDcgKzcxLDggQEAgcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRDZW50ZXJPblRo
dW1iKFNjcm9sbGJhciosIGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYpOwogICAgIHZpcnR1YWwg
Ym9vbCBzaG91bGREcmFnRG9jdW1lbnRJbnN0ZWFkT2ZUaHVtYihTY3JvbGxiYXIqLCBjb25zdCBQ
bGF0Zm9ybU1vdXNlRXZlbnQmKTsKIAotICAgIHZpcnR1YWwgdm9pZCBwYWludFRpY2ttYXJrcyhH
cmFwaGljc0NvbnRleHQqLCBTY3JvbGxiYXIqLCBjb25zdCBJbnRSZWN0Jik7Citwcml2YXRlOgor
ICAgIHZvaWQgcGFpbnRUaWNrbWFya3MoR3JhcGhpY3NDb250ZXh0KiwgU2Nyb2xsYmFyKiwgY29u
c3QgSW50UmVjdCYsIGNvbnN0IFZlY3RvcjxJbnRSZWN0PiYpOwogCiBwdWJsaWM6CiAgICAgdm9p
ZCBwcmVmZXJlbmNlc0NoYW5nZWQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2Nocm9taXVtL1Njcm9sbGJhclRoZW1lQ2hyb21pdW1NYWMubW0gYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9jaHJvbWl1bS9TY3JvbGxiYXJUaGVtZUNocm9taXVtTWFjLm1tCmluZGV4IDMx
YWQwYTg4MTllOWMyMGExMzJiZjA5MmU3MmQyMzk3Mjk2OGUyZTkuLmUwNTVhYWIyMTVjOWVhYmQ3
NTgzYzViNTMwODJhMzBjNTg4YTgyMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2Nocm9taXVtL1Njcm9sbGJhclRoZW1lQ2hyb21pdW1NYWMubW0KKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vU2Nyb2xsYmFyVGhlbWVDaHJvbWl1bU1hYy5tbQpAQCAt
NDQ5LDYgKzQ0OSwxMCBAQCBzdGF0aWMgUGxhdGZvcm1CcmlkZ2U6OlRoZW1lUGFpbnRTdGF0ZSBz
Y3JvbGxiYXJTdGF0ZVRvVGhlbWVTdGF0ZShTY3JvbGxiYXIqIHNjcgogCiBib29sIFNjcm9sbGJh
clRoZW1lQ2hyb21pdW1NYWM6OnBhaW50KFNjcm9sbGJhciogc2Nyb2xsYmFyLCBHcmFwaGljc0Nv
bnRleHQqIGNvbnRleHQsIGNvbnN0IEludFJlY3QmIGRhbWFnZVJlY3QpCiB7CisgICAgLy8gR2V0
IHRoZSB0aWNrbWFya3MgZm9yIHRoZSBmcmFtZXZpZXcuCisgICAgVmVjdG9yPEludFJlY3Q+IHRp
Y2ttYXJrczsKKyAgICBzY3JvbGxiYXItPnNjcm9sbGFibGVBcmVhKCktPmdldFRpY2ttYXJrcyh0
aWNrbWFya3MpOworCiAgICAgaWYgKGlzU2Nyb2xsYmFyT3ZlcmxheUFQSUF2YWlsYWJsZSgpKSB7
CiAgICAgICAgIGZsb2F0IHZhbHVlID0gMDsKICAgICAgICAgZmxvYXQgb3ZlcmhhbmcgPSAwOwpA
QCAtNDc5LDYgKzQ4MywxNiBAQCBib29sIFNjcm9sbGJhclRoZW1lQ2hyb21pdW1NYWM6OnBhaW50
KFNjcm9sbGJhciogc2Nyb2xsYmFyLCBHcmFwaGljc0NvbnRleHQqIGNvbgogCiAgICAgICAgIHdr
U2V0U2Nyb2xsYmFyUGFpbnRlcktub2JTdHlsZShwYWludGVyRm9yU2Nyb2xsYmFyKHNjcm9sbGJh
ciksIHRvU2Nyb2xsYmFyUGFpbnRlcktub2JTdHlsZShzY3JvbGxiYXItPnNjcm9sbGFibGVBcmVh
KCktPnNjcm9sbGJhck92ZXJsYXlTdHlsZSgpKSk7CiAKKyAgICAgICAgQ0dGbG9hdCBvbGRLbm9i
QWxwaGE7CisgICAgICAgIENHRmxvYXQgb2xkVHJhY2tBbHBoYTsKKyAgICAgICAgYm9vbCBoYXNU
aWNrbWFya3MgPSB0aWNrbWFya3Muc2l6ZSgpID4gMDsKKyAgICAgICAgaWYgKGhhc1RpY2ttYXJr
cykgeworICAgICAgICAgIG9sZEtub2JBbHBoYSA9IHdrU2Nyb2xsYmFyUGFpbnRlcktub2JBbHBo
YShwYWludGVyRm9yU2Nyb2xsYmFyKHNjcm9sbGJhcikpOworICAgICAgICAgIHdrU2V0U2Nyb2xs
YmFyUGFpbnRlcktub2JBbHBoYShwYWludGVyRm9yU2Nyb2xsYmFyKHNjcm9sbGJhciksIDEuMCk7
CisgICAgICAgICAgb2xkVHJhY2tBbHBoYSA9IHdrU2Nyb2xsYmFyUGFpbnRlclRyYWNrQWxwaGEo
cGFpbnRlckZvclNjcm9sbGJhcihzY3JvbGxiYXIpKTsKKyAgICAgICAgICB3a1NldFNjcm9sbGJh
clBhaW50ZXJUcmFja0FscGhhKHBhaW50ZXJGb3JTY3JvbGxiYXIoc2Nyb2xsYmFyKSwgMS4wKTsK
KyAgICAgICAgfQorCiAgICAgICAgIEdyYXBoaWNzQ29udGV4dFN0YXRlU2F2ZXIgc3RhdGVTYXZl
cigqY29udGV4dCk7CiAgICAgICAgIGNvbnRleHQtPmNsaXAoZGFtYWdlUmVjdCk7CiAgICAgICAg
IGNvbnRleHQtPnRyYW5zbGF0ZShzY3JvbGxiYXItPmZyYW1lUmVjdCgpLngoKSwgc2Nyb2xsYmFy
LT5mcmFtZVJlY3QoKS55KCkpOwpAQCAtNTAwLDExICs1MTQsMTcgQEAgYm9vbCBTY3JvbGxiYXJU
aGVtZUNocm9taXVtTWFjOjpwYWludChTY3JvbGxiYXIqIHNjcm9sbGJhciwgR3JhcGhpY3NDb250
ZXh0KiBjb24KICAgICAgICAgICAgIHRpY2ttYXJrVHJhY2tSZWN0LnNldFgodGlja21hcmtUcmFj
a1JlY3QueCgpICsgMik7CiAgICAgICAgICAgICB0aWNrbWFya1RyYWNrUmVjdC5zZXRXaWR0aCh0
aWNrbWFya1RyYWNrUmVjdC53aWR0aCgpIC0gNSk7CiAgICAgICAgIH0KLSAgICAgICAgcGFpbnRU
aWNrbWFya3MoY29udGV4dCwgc2Nyb2xsYmFyLCB0aWNrbWFya1RyYWNrUmVjdCk7CisgICAgICAg
IHBhaW50VGlja21hcmtzKGNvbnRleHQsIHNjcm9sbGJhciwgdGlja21hcmtUcmFja1JlY3QsIHRp
Y2ttYXJrcyk7CiAKICAgICAgICAgd2tTY3JvbGxiYXJQYWludGVyUGFpbnRLbm9iKHNjcm9sbGJh
clBhaW50ZXIpOwogCiAgICAgICAgIHNjcm9sbEFuaW1hdG9yLT5zZXRJc0RyYXdpbmdJbnRvTGF5
ZXIoZmFsc2UpOworCisgICAgICAgIGlmIChoYXNUaWNrbWFya3MpIHsKKyAgICAgICAgICB3a1Nl
dFNjcm9sbGJhclBhaW50ZXJLbm9iQWxwaGEoc2Nyb2xsYmFyUGFpbnRlciwgb2xkS25vYkFscGhh
KTsKKyAgICAgICAgICB3a1NldFNjcm9sbGJhclBhaW50ZXJUcmFja0FscGhhKHNjcm9sbGJhclBh
aW50ZXIsIG9sZFRyYWNrQWxwaGEpOworICAgICAgICB9CisKICAgICAgICAgcmV0dXJuIHRydWU7
CiAgICAgfQogCkBAIC01NzMsNyArNTkzLDcgQEAgYm9vbCBTY3JvbGxiYXJUaGVtZUNocm9taXVt
TWFjOjpwYWludChTY3JvbGxiYXIqIHNjcm9sbGJhciwgR3JhcGhpY3NDb250ZXh0KiBjb24KICAg
ICAvLyBJbnNldCBieSAyIG9uIHRoZSBsZWZ0IGFuZCAzIG9uIHRoZSByaWdodC4KICAgICB0aWNr
bWFya1RyYWNrUmVjdC5zZXRYKHRpY2ttYXJrVHJhY2tSZWN0LngoKSArIDIpOwogICAgIHRpY2tt
YXJrVHJhY2tSZWN0LnNldFdpZHRoKHRpY2ttYXJrVHJhY2tSZWN0LndpZHRoKCkgLSA1KTsKLSAg
ICBwYWludFRpY2ttYXJrcyhkcmF3aW5nQ29udGV4dCwgc2Nyb2xsYmFyLCB0aWNrbWFya1RyYWNr
UmVjdCk7CisgICAgcGFpbnRUaWNrbWFya3MoZHJhd2luZ0NvbnRleHQsIHNjcm9sbGJhciwgdGlj
a21hcmtUcmFja1JlY3QsIHRpY2ttYXJrcyk7CiAKICAgICBpZiAoaGFzVGh1bWIoc2Nyb2xsYmFy
KSkgewogICAgICAgICBQbGF0Zm9ybUJyaWRnZTo6VGhlbWVQYWludFNjcm9sbGJhckluZm8gc2Ny
b2xsYmFySW5mbzsKQEAgLTU5OCwzMiArNjE4LDIwIEBAIGJvb2wgU2Nyb2xsYmFyVGhlbWVDaHJv
bWl1bU1hYzo6cGFpbnQoU2Nyb2xsYmFyKiBzY3JvbGxiYXIsIEdyYXBoaWNzQ29udGV4dCogY29u
CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLXZvaWQgU2Nyb2xsYmFyVGhlbWVDaHJvbWl1bU1hYzo6
cGFpbnRUaWNrbWFya3MoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBTY3JvbGxiYXIqIHNjcm9s
bGJhciwgY29uc3QgSW50UmVjdCYgcmVjdCkgewordm9pZCBTY3JvbGxiYXJUaGVtZUNocm9taXVt
TWFjOjpwYWludFRpY2ttYXJrcyhHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIFNjcm9sbGJhciog
c2Nyb2xsYmFyLCBjb25zdCBJbnRSZWN0JiByZWN0LCBjb25zdCBWZWN0b3I8SW50UmVjdD4mIHRp
Y2ttYXJrcykgewogICAgIGlmIChzY3JvbGxiYXItPm9yaWVudGF0aW9uKCkgIT0gVmVydGljYWxT
Y3JvbGxiYXIpCiAgICAgICAgIHJldHVybjsKIAogICAgIGlmIChyZWN0LmhlaWdodCgpIDw9IDAg
fHwgcmVjdC53aWR0aCgpIDw9IDApCiAgICAgICAgIHJldHVybjsgIC8vIG5vdGhpbmcgdG8gZHJh
dyBvbi4KIAotICAgIC8vIEdldCB0aGUgdGlja21hcmtzIGZvciB0aGUgZnJhbWV2aWV3LgotICAg
IFZlY3RvcjxJbnRSZWN0PiB0aWNrbWFya3M7Ci0gICAgc2Nyb2xsYmFyLT5zY3JvbGxhYmxlQXJl
YSgpLT5nZXRUaWNrbWFya3ModGlja21hcmtzKTsKICAgICBpZiAoIXRpY2ttYXJrcy5zaXplKCkp
CiAgICAgICAgIHJldHVybjsKIAotICAgIGludCBhbHBoYUludCA9IDB4RkY7Ci0gICAgaWYgKHNj
cm9sbGJhck1hcCgpLT5jb250YWlucyhzY3JvbGxiYXIpKSB7Ci0gICAgICAgIFdLU2Nyb2xsYmFy
UGFpbnRlclJlZiBzY3JvbGxiYXJQYWludGVyID0gc2Nyb2xsYmFyTWFwKCktPmdldChzY3JvbGxi
YXIpLmdldCgpOwotICAgICAgICBpZiAoc2Nyb2xsYmFyUGFpbnRlcikKLSAgICAgICAgICAgIGFs
cGhhSW50ID0gMHhGRiAqIHdrU2Nyb2xsYmFyUGFpbnRlclRyYWNrQWxwaGEoc2Nyb2xsYmFyUGFp
bnRlcik7Ci0gICAgfQotICAgIGlmIChhbHBoYUludCA9PSAwKQotICAgICAgICByZXR1cm47Ci0K
ICAgICBjb250ZXh0LT5zYXZlKCk7CiAgICAgY29udGV4dC0+c2V0U2hvdWxkQW50aWFsaWFzKGZh
bHNlKTsKLSAgICBjb250ZXh0LT5zZXRTdHJva2VDb2xvcihDb2xvcigweENDLCAweEFBLCAweDAw
LCBhbHBoYUludCksIENvbG9yU3BhY2VEZXZpY2VSR0IpOwotICAgIGNvbnRleHQtPnNldEZpbGxD
b2xvcihDb2xvcigweEZGLCAweERELCAweDAwLCBhbHBoYUludCksIENvbG9yU3BhY2VEZXZpY2VS
R0IpOworICAgIGNvbnRleHQtPnNldFN0cm9rZUNvbG9yKENvbG9yKDB4Q0MsIDB4QUEsIDB4MDAs
IDB4RkYpLCBDb2xvclNwYWNlRGV2aWNlUkdCKTsKKyAgICBjb250ZXh0LT5zZXRGaWxsQ29sb3Io
Q29sb3IoMHhGRiwgMHhERCwgMHgwMCwgMHhGRiksIENvbG9yU3BhY2VEZXZpY2VSR0IpOwogCiAg
ICAgZm9yIChWZWN0b3I8SW50UmVjdD46OmNvbnN0X2l0ZXJhdG9yIGkgPSB0aWNrbWFya3MuYmVn
aW4oKTsgaSAhPSB0aWNrbWFya3MuZW5kKCk7ICsraSkgewogICAgICAgICAvLyBDYWxjdWxhdGUg
aG93IGZhciBkb3duIChpbiAlKSB0aGUgdGljay1tYXJrIHNob3VsZCBhcHBlYXIuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCmluZGV4IGQwYjk0MzJiNThiYjBmY2VjNjZlMjdlMjMzZDAwZTUzODJk
NDVkZTcuLjE0NzM2NTlmZmRhNzllY2JlNDllYTQxYjliY2ExZjQ5ZTUzNjFjZDMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDgtMTQgIFNhaWxlc2gg
QWdyYXdhbCAgPHNhaWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIENocm9taXVtIE1hYzogU2hv
dyBzY3JvbGxiYXIgd2hlbiBkb2luZyBzZWFyY2gKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTY2MjA5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgRml4ZWQgYSBidWcgaW4gaW52YWxpZGF0ZUFyZWEgd2hlcmUg
aXQgd291ZGxuJ3QgcHJvcGVybHkgaW52YWxpZGF0ZSBvdmVybGF5IHNjcm9sbGJhcnMuIFRoZSBw
cm9ibGVtIHdhcyB0aGF0IGl0IHdhcyBhc3N1bWluZyB0aGF0IHRoZSBzY3JvbGxiYXIgd2FzIGFs
d2F5cyB0byB0aGUgcmlnaHQgb2YgdGhlIHZpc2libGUgc2Nyb2xsYmFyLiBUaGlzIGlzbid0IHRy
dWUgZm9yIG92ZXJsYXkgc2Nyb2xsYmFycy4KKworICAgICAgICAqIHNyYy9XZWJGcmFtZUltcGwu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUltcGw6OmludmFsaWRhdGVBcmVhKToKKwog
MjAxMS0wOC0xMSAgSm9obiBCYXVtYW4gIDxqYmF1bWFuQGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBSZWFkYmFjayBjb21wb3NpdGVkIHdlYmdsIHJlc3VsdHMgZm9yIHByaW50aW5nCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcAppbmRleCA0MjE2YWE0ZGNlMjUy
NmNhNTU3NjI5ODkyYjQyMjgxMmU2ZGE2NTJhLi42MzAwNTY1YWNhODJjODQ1Mzg1MGZiZmU1YjU5
OWFlYjU1YzgzZDAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJG
cmFtZUltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1w
bC5jcHAKQEAgLTIxNzYsMTMgKzIxNzYsOSBAQCB2b2lkIFdlYkZyYW1lSW1wbDo6aW52YWxpZGF0
ZUFyZWEoQXJlYVRvSW52YWxpZGF0ZSBhcmVhKQogCiAgICAgICAgIGlmICgoYXJlYSAmIEludmFs
aWRhdGVTY3JvbGxiYXIpID09IEludmFsaWRhdGVTY3JvbGxiYXIpIHsKICAgICAgICAgICAgIC8v
IEludmFsaWRhdGUgdGhlIHZlcnRpY2FsIHNjcm9sbCBiYXIgcmVnaW9uIGZvciB0aGUgdmlldy4K
LSAgICAgICAgICAgIEludFJlY3Qgc2Nyb2xsQmFyVmVydCgKLSAgICAgICAgICAgICAgICB2aWV3
LT54KCkgKyB2aWV3LT52aXNpYmxlV2lkdGgoKSwgdmlldy0+eSgpLAotICAgICAgICAgICAgICAg
IFNjcm9sbGJhclRoZW1lOjpuYXRpdmVUaGVtZSgpLT5zY3JvbGxiYXJUaGlja25lc3MoKSwKLSAg
ICAgICAgICAgICAgICB2aWV3LT52aXNpYmxlSGVpZ2h0KCkpOwotICAgICAgICAgICAgSW50UmVj
dCBmcmFtZVJlY3QgPSB2aWV3LT5mcmFtZVJlY3QoKTsKLSAgICAgICAgICAgIHNjcm9sbEJhclZl
cnQubW92ZSgtZnJhbWVSZWN0LngoKSwgLWZyYW1lUmVjdC55KCkpOwotICAgICAgICAgICAgdmll
dy0+aW52YWxpZGF0ZVJlY3Qoc2Nyb2xsQmFyVmVydCk7CisgICAgICAgICAgICBTY3JvbGxiYXIq
IHNjcm9sbGJhciA9IHZpZXctPnZlcnRpY2FsU2Nyb2xsYmFyKCk7CisgICAgICAgICAgICBpZiAo
c2Nyb2xsYmFyKQorICAgICAgICAgICAgICBzY3JvbGxiYXItPmludmFsaWRhdGUoKTsKICAgICAg
ICAgfQogICAgIH0KIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>103944</attachid>
            <date>2011-08-15 12:36:40 -0700</date>
            <delta_ts>2011-08-18 15:24:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-66209-20110815123639.patch</filename>
            <type>text/plain</type>
            <size>8424</size>
            <attacher name="Sailesh Agrawal">sail</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTI5NjQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAwM2FkNDU4NDRiYjFhMzlk
ZjI1MmNlYTJiMTBkOGRkZTk4M2M1MDk3Li40MDNlMWUyYTBiMTA2NTc3OTQzNTg5MDdiZDZlMzhi
YTIyZDFmN2ExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTEtMDgtMTQgIFNhaWxl
c2ggQWdyYXdhbCAgPHNhaWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIENocm9taXVtIE1hYzog
U2hvdyBzY3JvbGxiYXIgd2hlbiBkb2luZyBzZWFyY2gKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY2MjA5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlZCB0aGUgTGlvbiBzY3JvbGxiYXIgZHJhd2lu
ZyBjb2RlIHRvIGZvcmNlIHRoZSBzY3JvbGxiYXIgdG8gYmUgdmlzaWJsZSB3aGVuIHdlIGhhdmUg
dGlja21hcmtzIGZvciBzZWFyY2ggcmVzdWx0cy4KKworICAgICAgICAqIHBsYXRmb3JtL2Nocm9t
aXVtL1Njcm9sbGJhclRoZW1lQ2hyb21pdW1NYWMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJv
bWl1bS9TY3JvbGxiYXJUaGVtZUNocm9taXVtTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6U2Ny
b2xsYmFyVGhlbWVDaHJvbWl1bU1hYzo6cGFpbnQpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xs
YmFyVGhlbWVDaHJvbWl1bU1hYzo6cGFpbnRUaWNrbWFya3MpOgorCiAyMDExLTA4LTExICBQYXZl
bCBQb2Rpdmlsb3YgIDxwb2Rpdmlsb3ZAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNw
ZWN0b3I6IHByb3Blcmx5IHVwZGF0ZSBjb25zb2xlIG1lc3NhZ2UgY291bnQgaW4gc291cmNlIGZy
YW1lcyBhbmQgcmVzb3VyY2VzIHBhbmVsLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vY2hyb21pdW0vU2Nyb2xsYmFyVGhlbWVDaHJvbWl1bU1hYy5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vY2hyb21pdW0vU2Nyb2xsYmFyVGhlbWVDaHJvbWl1bU1hYy5oCmluZGV4IDYz
MmUzNjkyMzM5OTFkYWVkMzRkNzNiNjQ5NDEwMTcxZGU4Y2Q4ZTIuLjg3MDg4OTc3MmM2ZjA1Njcz
ZmM4MGMxMjcwZTczMTFlZWNkY2Q2ZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2Nocm9taXVtL1Njcm9sbGJhclRoZW1lQ2hyb21pdW1NYWMuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9TY3JvbGxiYXJUaGVtZUNocm9taXVtTWFjLmgKQEAgLTcx
LDcgKzcxLDggQEAgcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRDZW50ZXJPblRo
dW1iKFNjcm9sbGJhciosIGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYpOwogICAgIHZpcnR1YWwg
Ym9vbCBzaG91bGREcmFnRG9jdW1lbnRJbnN0ZWFkT2ZUaHVtYihTY3JvbGxiYXIqLCBjb25zdCBQ
bGF0Zm9ybU1vdXNlRXZlbnQmKTsKIAotICAgIHZpcnR1YWwgdm9pZCBwYWludFRpY2ttYXJrcyhH
cmFwaGljc0NvbnRleHQqLCBTY3JvbGxiYXIqLCBjb25zdCBJbnRSZWN0Jik7Citwcml2YXRlOgor
ICAgIHZvaWQgcGFpbnRHaXZlblRpY2ttYXJrcyhHcmFwaGljc0NvbnRleHQqLCBTY3JvbGxiYXIq
LCBjb25zdCBJbnRSZWN0JiwgY29uc3QgVmVjdG9yPEludFJlY3Q+Jik7CiAKIHB1YmxpYzoKICAg
ICB2b2lkIHByZWZlcmVuY2VzQ2hhbmdlZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vY2hyb21pdW0vU2Nyb2xsYmFyVGhlbWVDaHJvbWl1bU1hYy5tbSBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1Njcm9sbGJhclRoZW1lQ2hyb21pdW1NYWMubW0KaW5k
ZXggMzFhZDBhODgxOWU5YzIwYTEzMmJmMDkyZTcyZDIzOTcyOTY4ZTJlOS4uYmU5NjQ0MjI3ODUy
YjYzYmZkZmU1NTNmMmU1NjUyNTg4NWZmODk1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vY2hyb21pdW0vU2Nyb2xsYmFyVGhlbWVDaHJvbWl1bU1hYy5tbQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9TY3JvbGxiYXJUaGVtZUNocm9taXVtTWFjLm1t
CkBAIC00NDksNiArNDQ5LDEwIEBAIHN0YXRpYyBQbGF0Zm9ybUJyaWRnZTo6VGhlbWVQYWludFN0
YXRlIHNjcm9sbGJhclN0YXRlVG9UaGVtZVN0YXRlKFNjcm9sbGJhciogc2NyCiAKIGJvb2wgU2Ny
b2xsYmFyVGhlbWVDaHJvbWl1bU1hYzo6cGFpbnQoU2Nyb2xsYmFyKiBzY3JvbGxiYXIsIEdyYXBo
aWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgSW50UmVjdCYgZGFtYWdlUmVjdCkKIHsKKyAgICAv
LyBHZXQgdGhlIHRpY2ttYXJrcyBmb3IgdGhlIGZyYW1ldmlldy4KKyAgICBWZWN0b3I8SW50UmVj
dD4gdGlja21hcmtzOworICAgIHNjcm9sbGJhci0+c2Nyb2xsYWJsZUFyZWEoKS0+Z2V0VGlja21h
cmtzKHRpY2ttYXJrcyk7CisKICAgICBpZiAoaXNTY3JvbGxiYXJPdmVybGF5QVBJQXZhaWxhYmxl
KCkpIHsKICAgICAgICAgZmxvYXQgdmFsdWUgPSAwOwogICAgICAgICBmbG9hdCBvdmVyaGFuZyA9
IDA7CkBAIC00NzksNiArNDgzLDE2IEBAIGJvb2wgU2Nyb2xsYmFyVGhlbWVDaHJvbWl1bU1hYzo6
cGFpbnQoU2Nyb2xsYmFyKiBzY3JvbGxiYXIsIEdyYXBoaWNzQ29udGV4dCogY29uCiAKICAgICAg
ICAgd2tTZXRTY3JvbGxiYXJQYWludGVyS25vYlN0eWxlKHBhaW50ZXJGb3JTY3JvbGxiYXIoc2Ny
b2xsYmFyKSwgdG9TY3JvbGxiYXJQYWludGVyS25vYlN0eWxlKHNjcm9sbGJhci0+c2Nyb2xsYWJs
ZUFyZWEoKS0+c2Nyb2xsYmFyT3ZlcmxheVN0eWxlKCkpKTsKIAorICAgICAgICBDR0Zsb2F0IG9s
ZEtub2JBbHBoYSA9IDA7CisgICAgICAgIENHRmxvYXQgb2xkVHJhY2tBbHBoYSA9IDA7CisgICAg
ICAgIGJvb2wgaGFzVGlja21hcmtzID0gdGlja21hcmtzLnNpemUoKSA+IDA7CisgICAgICAgIGlm
IChoYXNUaWNrbWFya3MpIHsKKyAgICAgICAgICBvbGRLbm9iQWxwaGEgPSB3a1Njcm9sbGJhclBh
aW50ZXJLbm9iQWxwaGEocGFpbnRlckZvclNjcm9sbGJhcihzY3JvbGxiYXIpKTsKKyAgICAgICAg
ICB3a1NldFNjcm9sbGJhclBhaW50ZXJLbm9iQWxwaGEocGFpbnRlckZvclNjcm9sbGJhcihzY3Jv
bGxiYXIpLCAxLjApOworICAgICAgICAgIG9sZFRyYWNrQWxwaGEgPSB3a1Njcm9sbGJhclBhaW50
ZXJUcmFja0FscGhhKHBhaW50ZXJGb3JTY3JvbGxiYXIoc2Nyb2xsYmFyKSk7CisgICAgICAgICAg
d2tTZXRTY3JvbGxiYXJQYWludGVyVHJhY2tBbHBoYShwYWludGVyRm9yU2Nyb2xsYmFyKHNjcm9s
bGJhciksIDEuMCk7CisgICAgICAgIH0KKwogICAgICAgICBHcmFwaGljc0NvbnRleHRTdGF0ZVNh
dmVyIHN0YXRlU2F2ZXIoKmNvbnRleHQpOwogICAgICAgICBjb250ZXh0LT5jbGlwKGRhbWFnZVJl
Y3QpOwogICAgICAgICBjb250ZXh0LT50cmFuc2xhdGUoc2Nyb2xsYmFyLT5mcmFtZVJlY3QoKS54
KCksIHNjcm9sbGJhci0+ZnJhbWVSZWN0KCkueSgpKTsKQEAgLTUwMCwxMSArNTE0LDE3IEBAIGJv
b2wgU2Nyb2xsYmFyVGhlbWVDaHJvbWl1bU1hYzo6cGFpbnQoU2Nyb2xsYmFyKiBzY3JvbGxiYXIs
IEdyYXBoaWNzQ29udGV4dCogY29uCiAgICAgICAgICAgICB0aWNrbWFya1RyYWNrUmVjdC5zZXRY
KHRpY2ttYXJrVHJhY2tSZWN0LngoKSArIDIpOwogICAgICAgICAgICAgdGlja21hcmtUcmFja1Jl
Y3Quc2V0V2lkdGgodGlja21hcmtUcmFja1JlY3Qud2lkdGgoKSAtIDUpOwogICAgICAgICB9Ci0g
ICAgICAgIHBhaW50VGlja21hcmtzKGNvbnRleHQsIHNjcm9sbGJhciwgdGlja21hcmtUcmFja1Jl
Y3QpOworICAgICAgICBwYWludEdpdmVuVGlja21hcmtzKGNvbnRleHQsIHNjcm9sbGJhciwgdGlj
a21hcmtUcmFja1JlY3QsIHRpY2ttYXJrcyk7CiAKICAgICAgICAgd2tTY3JvbGxiYXJQYWludGVy
UGFpbnRLbm9iKHNjcm9sbGJhclBhaW50ZXIpOwogCiAgICAgICAgIHNjcm9sbEFuaW1hdG9yLT5z
ZXRJc0RyYXdpbmdJbnRvTGF5ZXIoZmFsc2UpOworCisgICAgICAgIGlmIChoYXNUaWNrbWFya3Mp
IHsKKyAgICAgICAgICB3a1NldFNjcm9sbGJhclBhaW50ZXJLbm9iQWxwaGEoc2Nyb2xsYmFyUGFp
bnRlciwgb2xkS25vYkFscGhhKTsKKyAgICAgICAgICB3a1NldFNjcm9sbGJhclBhaW50ZXJUcmFj
a0FscGhhKHNjcm9sbGJhclBhaW50ZXIsIG9sZFRyYWNrQWxwaGEpOworICAgICAgICB9CisKICAg
ICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogCkBAIC01NzMsNyArNTkzLDcgQEAgYm9vbCBTY3Jv
bGxiYXJUaGVtZUNocm9taXVtTWFjOjpwYWludChTY3JvbGxiYXIqIHNjcm9sbGJhciwgR3JhcGhp
Y3NDb250ZXh0KiBjb24KICAgICAvLyBJbnNldCBieSAyIG9uIHRoZSBsZWZ0IGFuZCAzIG9uIHRo
ZSByaWdodC4KICAgICB0aWNrbWFya1RyYWNrUmVjdC5zZXRYKHRpY2ttYXJrVHJhY2tSZWN0Lngo
KSArIDIpOwogICAgIHRpY2ttYXJrVHJhY2tSZWN0LnNldFdpZHRoKHRpY2ttYXJrVHJhY2tSZWN0
LndpZHRoKCkgLSA1KTsKLSAgICBwYWludFRpY2ttYXJrcyhkcmF3aW5nQ29udGV4dCwgc2Nyb2xs
YmFyLCB0aWNrbWFya1RyYWNrUmVjdCk7CisgICAgcGFpbnRHaXZlblRpY2ttYXJrcyhkcmF3aW5n
Q29udGV4dCwgc2Nyb2xsYmFyLCB0aWNrbWFya1RyYWNrUmVjdCwgdGlja21hcmtzKTsKIAogICAg
IGlmIChoYXNUaHVtYihzY3JvbGxiYXIpKSB7CiAgICAgICAgIFBsYXRmb3JtQnJpZGdlOjpUaGVt
ZVBhaW50U2Nyb2xsYmFySW5mbyBzY3JvbGxiYXJJbmZvOwpAQCAtNTk4LDMyICs2MTgsMjAgQEAg
Ym9vbCBTY3JvbGxiYXJUaGVtZUNocm9taXVtTWFjOjpwYWludChTY3JvbGxiYXIqIHNjcm9sbGJh
ciwgR3JhcGhpY3NDb250ZXh0KiBjb24KICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotdm9pZCBTY3Jv
bGxiYXJUaGVtZUNocm9taXVtTWFjOjpwYWludFRpY2ttYXJrcyhHcmFwaGljc0NvbnRleHQqIGNv
bnRleHQsIFNjcm9sbGJhciogc2Nyb2xsYmFyLCBjb25zdCBJbnRSZWN0JiByZWN0KSB7Cit2b2lk
IFNjcm9sbGJhclRoZW1lQ2hyb21pdW1NYWM6OnBhaW50R2l2ZW5UaWNrbWFya3MoR3JhcGhpY3ND
b250ZXh0KiBjb250ZXh0LCBTY3JvbGxiYXIqIHNjcm9sbGJhciwgY29uc3QgSW50UmVjdCYgcmVj
dCwgY29uc3QgVmVjdG9yPEludFJlY3Q+JiB0aWNrbWFya3MpIHsKICAgICBpZiAoc2Nyb2xsYmFy
LT5vcmllbnRhdGlvbigpICE9IFZlcnRpY2FsU2Nyb2xsYmFyKQogICAgICAgICByZXR1cm47CiAK
ICAgICBpZiAocmVjdC5oZWlnaHQoKSA8PSAwIHx8IHJlY3Qud2lkdGgoKSA8PSAwKQogICAgICAg
ICByZXR1cm47ICAvLyBub3RoaW5nIHRvIGRyYXcgb24uCiAKLSAgICAvLyBHZXQgdGhlIHRpY2tt
YXJrcyBmb3IgdGhlIGZyYW1ldmlldy4KLSAgICBWZWN0b3I8SW50UmVjdD4gdGlja21hcmtzOwot
ICAgIHNjcm9sbGJhci0+c2Nyb2xsYWJsZUFyZWEoKS0+Z2V0VGlja21hcmtzKHRpY2ttYXJrcyk7
CiAgICAgaWYgKCF0aWNrbWFya3Muc2l6ZSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBpbnQg
YWxwaGFJbnQgPSAweEZGOwotICAgIGlmIChzY3JvbGxiYXJNYXAoKS0+Y29udGFpbnMoc2Nyb2xs
YmFyKSkgewotICAgICAgICBXS1Njcm9sbGJhclBhaW50ZXJSZWYgc2Nyb2xsYmFyUGFpbnRlciA9
IHNjcm9sbGJhck1hcCgpLT5nZXQoc2Nyb2xsYmFyKS5nZXQoKTsKLSAgICAgICAgaWYgKHNjcm9s
bGJhclBhaW50ZXIpCi0gICAgICAgICAgICBhbHBoYUludCA9IDB4RkYgKiB3a1Njcm9sbGJhclBh
aW50ZXJUcmFja0FscGhhKHNjcm9sbGJhclBhaW50ZXIpOwotICAgIH0KLSAgICBpZiAoYWxwaGFJ
bnQgPT0gMCkKLSAgICAgICAgcmV0dXJuOwotCiAgICAgY29udGV4dC0+c2F2ZSgpOwogICAgIGNv
bnRleHQtPnNldFNob3VsZEFudGlhbGlhcyhmYWxzZSk7Ci0gICAgY29udGV4dC0+c2V0U3Ryb2tl
Q29sb3IoQ29sb3IoMHhDQywgMHhBQSwgMHgwMCwgYWxwaGFJbnQpLCBDb2xvclNwYWNlRGV2aWNl
UkdCKTsKLSAgICBjb250ZXh0LT5zZXRGaWxsQ29sb3IoQ29sb3IoMHhGRiwgMHhERCwgMHgwMCwg
YWxwaGFJbnQpLCBDb2xvclNwYWNlRGV2aWNlUkdCKTsKKyAgICBjb250ZXh0LT5zZXRTdHJva2VD
b2xvcihDb2xvcigweENDLCAweEFBLCAweDAwLCAweEZGKSwgQ29sb3JTcGFjZURldmljZVJHQik7
CisgICAgY29udGV4dC0+c2V0RmlsbENvbG9yKENvbG9yKDB4RkYsIDB4REQsIDB4MDAsIDB4RkYp
LCBDb2xvclNwYWNlRGV2aWNlUkdCKTsKIAogICAgIGZvciAoVmVjdG9yPEludFJlY3Q+Ojpjb25z
dF9pdGVyYXRvciBpID0gdGlja21hcmtzLmJlZ2luKCk7IGkgIT0gdGlja21hcmtzLmVuZCgpOyAr
K2kpIHsKICAgICAgICAgLy8gQ2FsY3VsYXRlIGhvdyBmYXIgZG93biAoaW4gJSkgdGhlIHRpY2st
bWFyayBzaG91bGQgYXBwZWFyLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCBkMGI5NDMy
YjU4YmIwZmNlYzY2ZTI3ZTIzM2QwMGU1MzgyZDQ1ZGU3Li45MjljMDdjNTljMTkzZjI1MmRlMjZi
YWM1ZjI1ZjRiYzljYzM2NmU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE1IEBACisyMDExLTA4LTE0ICBTYWlsZXNoIEFncmF3YWwgIDxzYWlsQGNocm9taXVtLm9yZz4K
KworICAgICAgICBDaHJvbWl1bSBNYWM6IFNob3cgc2Nyb2xsYmFyIHdoZW4gZG9pbmcgc2VhcmNo
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NjIwOQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZpeGVkIGEg
YnVnIGluIGludmFsaWRhdGVBcmVhIHdoZXJlIGl0IHdvdWxkbid0IHByb3Blcmx5IGludmFsaWRh
dGUgb3ZlcmxheSBzY3JvbGxiYXJzLiBUaGUgcHJvYmxlbSB3YXMgdGhhdCBpdCB3YXMgYXNzdW1p
bmcgdGhhdCB0aGUgc2Nyb2xsYmFyIHdhcyBhbHdheXMgdG8gdGhlIHJpZ2h0IG9mIHRoZSB2aXNp
YmxlIHNjcm9sbGJhci4gVGhpcyBpc24ndCB0cnVlIGZvciBvdmVybGF5IHNjcm9sbGJhcnMuCisK
KyAgICAgICAgKiBzcmMvV2ViRnJhbWVJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViRnJh
bWVJbXBsOjppbnZhbGlkYXRlQXJlYSk6CisKIDIwMTEtMDgtMTEgIEpvaG4gQmF1bWFuICA8amJh
dW1hbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmVhZGJhY2sgY29tcG9zaXRlZCB3ZWJnbCBy
ZXN1bHRzIGZvciBwcmludGluZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViRnJhbWVJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1l
SW1wbC5jcHAKaW5kZXggNDIxNmFhNGRjZTI1MjZjYTU1NzYyOTg5MmI0MjI4MTJlNmRhNjUyYS4u
NjA2OTIyZmI1M2NhOTg5YWIwY2M3MzQ4NGE0NzQwODAxNDY0OWE0MyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwCkBAIC0yMTc2LDEzICsyMTc2LDkgQEAg
dm9pZCBXZWJGcmFtZUltcGw6OmludmFsaWRhdGVBcmVhKEFyZWFUb0ludmFsaWRhdGUgYXJlYSkK
IAogICAgICAgICBpZiAoKGFyZWEgJiBJbnZhbGlkYXRlU2Nyb2xsYmFyKSA9PSBJbnZhbGlkYXRl
U2Nyb2xsYmFyKSB7CiAgICAgICAgICAgICAvLyBJbnZhbGlkYXRlIHRoZSB2ZXJ0aWNhbCBzY3Jv
bGwgYmFyIHJlZ2lvbiBmb3IgdGhlIHZpZXcuCi0gICAgICAgICAgICBJbnRSZWN0IHNjcm9sbEJh
clZlcnQoCi0gICAgICAgICAgICAgICAgdmlldy0+eCgpICsgdmlldy0+dmlzaWJsZVdpZHRoKCks
IHZpZXctPnkoKSwKLSAgICAgICAgICAgICAgICBTY3JvbGxiYXJUaGVtZTo6bmF0aXZlVGhlbWUo
KS0+c2Nyb2xsYmFyVGhpY2tuZXNzKCksCi0gICAgICAgICAgICAgICAgdmlldy0+dmlzaWJsZUhl
aWdodCgpKTsKLSAgICAgICAgICAgIEludFJlY3QgZnJhbWVSZWN0ID0gdmlldy0+ZnJhbWVSZWN0
KCk7Ci0gICAgICAgICAgICBzY3JvbGxCYXJWZXJ0Lm1vdmUoLWZyYW1lUmVjdC54KCksIC1mcmFt
ZVJlY3QueSgpKTsKLSAgICAgICAgICAgIHZpZXctPmludmFsaWRhdGVSZWN0KHNjcm9sbEJhclZl
cnQpOworICAgICAgICAgICAgU2Nyb2xsYmFyKiBzY3JvbGxiYXIgPSB2aWV3LT52ZXJ0aWNhbFNj
cm9sbGJhcigpOworICAgICAgICAgICAgaWYgKHNjcm9sbGJhcikKKyAgICAgICAgICAgICAgICBz
Y3JvbGxiYXItPmludmFsaWRhdGUoKTsKICAgICAgICAgfQogICAgIH0KIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>104408</attachid>
            <date>2011-08-18 15:24:19 -0700</date>
            <delta_ts>2011-08-18 15:30:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-66209-20110818152418.patch</filename>
            <type>text/plain</type>
            <size>8663</size>
            <attacher name="Sailesh Agrawal">sail</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTMzMjgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBiMzFkZWY1NjM2NWM2Nzc1
MDk4ZGJjNTJiMzY3MGJkOGI0YmYzZTFkLi5iNTM0NjZlMmQ1ODJlMDljMTlhYzc2NDRlNWY0YzAz
ZjJmNzlmMmNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTEtMDgtMTggIFNhaWxl
c2ggQWdyYXdhbCAgPHNhaWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIENocm9taXVtIE1hYzog
U2hvdyBzY3JvbGxiYXIgd2hlbiBkb2luZyBzZWFyY2gKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY2MjA5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlZCB0aGUgTGlvbiBzY3JvbGxiYXIgZHJhd2lu
ZyBjb2RlIHRvIGZvcmNlIHRoZSBzY3JvbGxiYXIgdG8gYmUgdmlzaWJsZSB3aGVuIHdlIGhhdmUg
dGlja21hcmtzIGZvciBzZWFyY2ggcmVzdWx0cy4KKworICAgICAgICBObyB0ZXN0cyBiZWNhdXNl
IHRoZXJlIGFyZSBubyBjaHJvbWl1bSAxMC43IGJvdHMgeWV0LgorCisgICAgICAgICogcGxhdGZv
cm0vY2hyb21pdW0vU2Nyb2xsYmFyVGhlbWVDaHJvbWl1bU1hYy5oOgorICAgICAgICAqIHBsYXRm
b3JtL2Nocm9taXVtL1Njcm9sbGJhclRoZW1lQ2hyb21pdW1NYWMubW06CisgICAgICAgIChXZWJD
b3JlOjpTY3JvbGxiYXJUaGVtZUNocm9taXVtTWFjOjpwYWludCk6CisgICAgICAgIChXZWJDb3Jl
OjpTY3JvbGxiYXJUaGVtZUNocm9taXVtTWFjOjpwYWludFRpY2ttYXJrcyk6CisKIDIwMTEtMDgt
MTggIE5pY28gV2ViZXIgIDx0aGFraXNAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEZpeCAibWlz
c2luZyByZXR1cm4iIGdjYyB3YXJuaW5nIGluIFNjcm9sbEFuaW1hdG9yTm9uZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vU2Nyb2xsYmFyVGhlbWVDaHJvbWl1
bU1hYy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vU2Nyb2xsYmFyVGhlbWVD
aHJvbWl1bU1hYy5oCmluZGV4IGJlMjE2ZDBlYzlmODVmYjNiNmM1OTU1ZjlkZTYwZDBhMzMwZWUy
ZTcuLjM5NDNkM2YxMmQyYWY3ZDIwMGE2N2Y2MjczN2JkZmVjMTc4YWU5ZGIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1Njcm9sbGJhclRoZW1lQ2hyb21pdW1N
YWMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9TY3JvbGxiYXJUaGVt
ZUNocm9taXVtTWFjLmgKQEAgLTc1LDcgKzc1LDggQEAgcHJvdGVjdGVkOgogICAgIHZpcnR1YWwg
Ym9vbCBzaG91bGRDZW50ZXJPblRodW1iKFNjcm9sbGJhciosIGNvbnN0IFBsYXRmb3JtTW91c2VF
dmVudCYpOwogICAgIHZpcnR1YWwgYm9vbCBzaG91bGREcmFnRG9jdW1lbnRJbnN0ZWFkT2ZUaHVt
YihTY3JvbGxiYXIqLCBjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmKTsKIAotICAgIHZpcnR1YWwg
dm9pZCBwYWludFRpY2ttYXJrcyhHcmFwaGljc0NvbnRleHQqLCBTY3JvbGxiYXIqLCBjb25zdCBJ
bnRSZWN0Jik7Citwcml2YXRlOgorICAgIHZvaWQgcGFpbnRHaXZlblRpY2ttYXJrcyhHcmFwaGlj
c0NvbnRleHQqLCBTY3JvbGxiYXIqLCBjb25zdCBJbnRSZWN0JiwgY29uc3QgVmVjdG9yPEludFJl
Y3Q+Jik7CiAKIHByaXZhdGU6CiAgICAgUmVmUHRyPFBhdHRlcm4+IG1fb3ZlcmhhbmdQYXR0ZXJu
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vU2Nyb2xsYmFy
VGhlbWVDaHJvbWl1bU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1Nj
cm9sbGJhclRoZW1lQ2hyb21pdW1NYWMubW0KaW5kZXggMzU4ZjEwNTI3NzQzMjIxMTVjN2FmYzM0
NDM0Yzk5YzhmMDUwYWY0MC4uNThlYjQ3NGU5OGM0MjFhM2JiMzFlYjZmMzIxMzA1MjNlMGViNzE1
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vU2Nyb2xsYmFy
VGhlbWVDaHJvbWl1bU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1
bS9TY3JvbGxiYXJUaGVtZUNocm9taXVtTWFjLm1tCkBAIC00NzQsNiArNDc0LDEwIEBAIHN0YXRp
YyBQbGF0Zm9ybUJyaWRnZTo6VGhlbWVQYWludFN0YXRlIHNjcm9sbGJhclN0YXRlVG9UaGVtZVN0
YXRlKFNjcm9sbGJhciogc2NyCiAKIGJvb2wgU2Nyb2xsYmFyVGhlbWVDaHJvbWl1bU1hYzo6cGFp
bnQoU2Nyb2xsYmFyKiBzY3JvbGxiYXIsIEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3Qg
SW50UmVjdCYgZGFtYWdlUmVjdCkKIHsKKyAgICAvLyBHZXQgdGhlIHRpY2ttYXJrcyBmb3IgdGhl
IGZyYW1ldmlldy4KKyAgICBWZWN0b3I8SW50UmVjdD4gdGlja21hcmtzOworICAgIHNjcm9sbGJh
ci0+c2Nyb2xsYWJsZUFyZWEoKS0+Z2V0VGlja21hcmtzKHRpY2ttYXJrcyk7CisKICAgICBpZiAo
aXNTY3JvbGxiYXJPdmVybGF5QVBJQXZhaWxhYmxlKCkpIHsKICAgICAgICAgZmxvYXQgdmFsdWUg
PSAwOwogICAgICAgICBmbG9hdCBvdmVyaGFuZyA9IDA7CkBAIC01MDQsNiArNTA4LDE2IEBAIGJv
b2wgU2Nyb2xsYmFyVGhlbWVDaHJvbWl1bU1hYzo6cGFpbnQoU2Nyb2xsYmFyKiBzY3JvbGxiYXIs
IEdyYXBoaWNzQ29udGV4dCogY29uCiAKICAgICAgICAgd2tTZXRTY3JvbGxiYXJQYWludGVyS25v
YlN0eWxlKHBhaW50ZXJGb3JTY3JvbGxiYXIoc2Nyb2xsYmFyKSwgdG9TY3JvbGxiYXJQYWludGVy
S25vYlN0eWxlKHNjcm9sbGJhci0+c2Nyb2xsYWJsZUFyZWEoKS0+c2Nyb2xsYmFyT3ZlcmxheVN0
eWxlKCkpKTsKIAorICAgICAgICBDR0Zsb2F0IG9sZEtub2JBbHBoYSA9IDA7CisgICAgICAgIENH
RmxvYXQgb2xkVHJhY2tBbHBoYSA9IDA7CisgICAgICAgIGJvb2wgaGFzVGlja21hcmtzID0gdGlj
a21hcmtzLnNpemUoKSA+IDAgJiYgc2Nyb2xsYmFyLT5vcmllbnRhdGlvbigpID09IFZlcnRpY2Fs
U2Nyb2xsYmFyOworICAgICAgICBpZiAoaGFzVGlja21hcmtzKSB7CisgICAgICAgICAgb2xkS25v
YkFscGhhID0gd2tTY3JvbGxiYXJQYWludGVyS25vYkFscGhhKHBhaW50ZXJGb3JTY3JvbGxiYXIo
c2Nyb2xsYmFyKSk7CisgICAgICAgICAgd2tTZXRTY3JvbGxiYXJQYWludGVyS25vYkFscGhhKHBh
aW50ZXJGb3JTY3JvbGxiYXIoc2Nyb2xsYmFyKSwgMS4wKTsKKyAgICAgICAgICBvbGRUcmFja0Fs
cGhhID0gd2tTY3JvbGxiYXJQYWludGVyVHJhY2tBbHBoYShwYWludGVyRm9yU2Nyb2xsYmFyKHNj
cm9sbGJhcikpOworICAgICAgICAgIHdrU2V0U2Nyb2xsYmFyUGFpbnRlclRyYWNrQWxwaGEocGFp
bnRlckZvclNjcm9sbGJhcihzY3JvbGxiYXIpLCAxLjApOworICAgICAgICB9CisKICAgICAgICAg
R3JhcGhpY3NDb250ZXh0U3RhdGVTYXZlciBzdGF0ZVNhdmVyKCpjb250ZXh0KTsKICAgICAgICAg
Y29udGV4dC0+Y2xpcChkYW1hZ2VSZWN0KTsKICAgICAgICAgY29udGV4dC0+dHJhbnNsYXRlKHNj
cm9sbGJhci0+ZnJhbWVSZWN0KCkueCgpLCBzY3JvbGxiYXItPmZyYW1lUmVjdCgpLnkoKSk7CkBA
IC01MjUsMTEgKzUzOSwxNyBAQCBib29sIFNjcm9sbGJhclRoZW1lQ2hyb21pdW1NYWM6OnBhaW50
KFNjcm9sbGJhciogc2Nyb2xsYmFyLCBHcmFwaGljc0NvbnRleHQqIGNvbgogICAgICAgICAgICAg
dGlja21hcmtUcmFja1JlY3Quc2V0WCh0aWNrbWFya1RyYWNrUmVjdC54KCkgKyAyKTsKICAgICAg
ICAgICAgIHRpY2ttYXJrVHJhY2tSZWN0LnNldFdpZHRoKHRpY2ttYXJrVHJhY2tSZWN0LndpZHRo
KCkgLSA1KTsKICAgICAgICAgfQotICAgICAgICBwYWludFRpY2ttYXJrcyhjb250ZXh0LCBzY3Jv
bGxiYXIsIHRpY2ttYXJrVHJhY2tSZWN0KTsKKyAgICAgICAgcGFpbnRHaXZlblRpY2ttYXJrcyhj
b250ZXh0LCBzY3JvbGxiYXIsIHRpY2ttYXJrVHJhY2tSZWN0LCB0aWNrbWFya3MpOwogCiAgICAg
ICAgIHdrU2Nyb2xsYmFyUGFpbnRlclBhaW50S25vYihzY3JvbGxiYXJQYWludGVyKTsKIAogICAg
ICAgICBzY3JvbGxBbmltYXRvci0+c2V0SXNEcmF3aW5nSW50b0xheWVyKGZhbHNlKTsKKworICAg
ICAgICBpZiAoaGFzVGlja21hcmtzKSB7CisgICAgICAgICAgd2tTZXRTY3JvbGxiYXJQYWludGVy
S25vYkFscGhhKHNjcm9sbGJhclBhaW50ZXIsIG9sZEtub2JBbHBoYSk7CisgICAgICAgICAgd2tT
ZXRTY3JvbGxiYXJQYWludGVyVHJhY2tBbHBoYShzY3JvbGxiYXJQYWludGVyLCBvbGRUcmFja0Fs
cGhhKTsKKyAgICAgICAgfQorCiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KIApAQCAtNTk4
LDcgKzYxOCw3IEBAIGJvb2wgU2Nyb2xsYmFyVGhlbWVDaHJvbWl1bU1hYzo6cGFpbnQoU2Nyb2xs
YmFyKiBzY3JvbGxiYXIsIEdyYXBoaWNzQ29udGV4dCogY29uCiAgICAgLy8gSW5zZXQgYnkgMiBv
biB0aGUgbGVmdCBhbmQgMyBvbiB0aGUgcmlnaHQuCiAgICAgdGlja21hcmtUcmFja1JlY3Quc2V0
WCh0aWNrbWFya1RyYWNrUmVjdC54KCkgKyAyKTsKICAgICB0aWNrbWFya1RyYWNrUmVjdC5zZXRX
aWR0aCh0aWNrbWFya1RyYWNrUmVjdC53aWR0aCgpIC0gNSk7Ci0gICAgcGFpbnRUaWNrbWFya3Mo
ZHJhd2luZ0NvbnRleHQsIHNjcm9sbGJhciwgdGlja21hcmtUcmFja1JlY3QpOworICAgIHBhaW50
R2l2ZW5UaWNrbWFya3MoZHJhd2luZ0NvbnRleHQsIHNjcm9sbGJhciwgdGlja21hcmtUcmFja1Jl
Y3QsIHRpY2ttYXJrcyk7CiAKICAgICBpZiAoaGFzVGh1bWIoc2Nyb2xsYmFyKSkgewogICAgICAg
ICBQbGF0Zm9ybUJyaWRnZTo6VGhlbWVQYWludFNjcm9sbGJhckluZm8gc2Nyb2xsYmFySW5mbzsK
QEAgLTYyMyw3ICs2NDMsNyBAQCBib29sIFNjcm9sbGJhclRoZW1lQ2hyb21pdW1NYWM6OnBhaW50
KFNjcm9sbGJhciogc2Nyb2xsYmFyLCBHcmFwaGljc0NvbnRleHQqIGNvbgogICAgIHJldHVybiB0
cnVlOwogfQogCi12b2lkIFNjcm9sbGJhclRoZW1lQ2hyb21pdW1NYWM6OnBhaW50VGlja21hcmtz
KEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgU2Nyb2xsYmFyKiBzY3JvbGxiYXIsIGNvbnN0IElu
dFJlY3QmIHJlY3QpCit2b2lkIFNjcm9sbGJhclRoZW1lQ2hyb21pdW1NYWM6OnBhaW50R2l2ZW5U
aWNrbWFya3MoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBTY3JvbGxiYXIqIHNjcm9sbGJhciwg
Y29uc3QgSW50UmVjdCYgcmVjdCwgY29uc3QgVmVjdG9yPEludFJlY3Q+JiB0aWNrbWFya3MpCiB7
CiAgICAgaWYgKHNjcm9sbGJhci0+b3JpZW50YXRpb24oKSAhPSBWZXJ0aWNhbFNjcm9sbGJhcikK
ICAgICAgICAgcmV0dXJuOwpAQCAtNjMxLDI1ICs2NTEsMTMgQEAgdm9pZCBTY3JvbGxiYXJUaGVt
ZUNocm9taXVtTWFjOjpwYWludFRpY2ttYXJrcyhHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIFNj
cm9sbGIKICAgICBpZiAocmVjdC5oZWlnaHQoKSA8PSAwIHx8IHJlY3Qud2lkdGgoKSA8PSAwKQog
ICAgICAgICByZXR1cm47ICAvLyBub3RoaW5nIHRvIGRyYXcgb24uCiAKLSAgICAvLyBHZXQgdGhl
IHRpY2ttYXJrcyBmb3IgdGhlIGZyYW1ldmlldy4KLSAgICBWZWN0b3I8SW50UmVjdD4gdGlja21h
cmtzOwotICAgIHNjcm9sbGJhci0+c2Nyb2xsYWJsZUFyZWEoKS0+Z2V0VGlja21hcmtzKHRpY2tt
YXJrcyk7CiAgICAgaWYgKCF0aWNrbWFya3Muc2l6ZSgpKQogICAgICAgICByZXR1cm47CiAKLSAg
ICBpbnQgYWxwaGFJbnQgPSAweEZGOwotICAgIGlmIChzY3JvbGxiYXJNYXAoKS0+Y29udGFpbnMo
c2Nyb2xsYmFyKSkgewotICAgICAgICBXS1Njcm9sbGJhclBhaW50ZXJSZWYgc2Nyb2xsYmFyUGFp
bnRlciA9IHNjcm9sbGJhck1hcCgpLT5nZXQoc2Nyb2xsYmFyKS5nZXQoKTsKLSAgICAgICAgaWYg
KHNjcm9sbGJhclBhaW50ZXIpCi0gICAgICAgICAgICBhbHBoYUludCA9IDB4RkYgKiB3a1Njcm9s
bGJhclBhaW50ZXJUcmFja0FscGhhKHNjcm9sbGJhclBhaW50ZXIpOwotICAgIH0KLSAgICBpZiAo
YWxwaGFJbnQgPT0gMCkKLSAgICAgICAgcmV0dXJuOwotCiAgICAgY29udGV4dC0+c2F2ZSgpOwog
ICAgIGNvbnRleHQtPnNldFNob3VsZEFudGlhbGlhcyhmYWxzZSk7Ci0gICAgY29udGV4dC0+c2V0
U3Ryb2tlQ29sb3IoQ29sb3IoMHhDQywgMHhBQSwgMHgwMCwgYWxwaGFJbnQpLCBDb2xvclNwYWNl
RGV2aWNlUkdCKTsKLSAgICBjb250ZXh0LT5zZXRGaWxsQ29sb3IoQ29sb3IoMHhGRiwgMHhERCwg
MHgwMCwgYWxwaGFJbnQpLCBDb2xvclNwYWNlRGV2aWNlUkdCKTsKKyAgICBjb250ZXh0LT5zZXRT
dHJva2VDb2xvcihDb2xvcigweENDLCAweEFBLCAweDAwLCAweEZGKSwgQ29sb3JTcGFjZURldmlj
ZVJHQik7CisgICAgY29udGV4dC0+c2V0RmlsbENvbG9yKENvbG9yKDB4RkYsIDB4REQsIDB4MDAs
IDB4RkYpLCBDb2xvclNwYWNlRGV2aWNlUkdCKTsKIAogICAgIGZvciAoVmVjdG9yPEludFJlY3Q+
Ojpjb25zdF9pdGVyYXRvciBpID0gdGlja21hcmtzLmJlZ2luKCk7IGkgIT0gdGlja21hcmtzLmVu
ZCgpOyArK2kpIHsKICAgICAgICAgLy8gQ2FsY3VsYXRlIGhvdyBmYXIgZG93biAoaW4gJSkgdGhl
IHRpY2stbWFyayBzaG91bGQgYXBwZWFyLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCAz
ODU5Yzc2OGQ3ZDE1NzZhNzUzMTVhMDhmNTg4Y2I5OWIwOWU2NWFjLi42NWFiNzAzMzM0NWVlMDUz
ZDI4ZWJjMDQ3YTEyN2YxZGNmY2QyNjA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE3IEBACisyMDExLTA4LTE4ICBTYWlsZXNoIEFncmF3YWwgIDxzYWlsQGNocm9taXVt
Lm9yZz4KKworICAgICAgICBDaHJvbWl1bSBNYWM6IFNob3cgc2Nyb2xsYmFyIHdoZW4gZG9pbmcg
c2VhcmNoCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02
NjIwOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZp
eGVkIGEgYnVnIGluIGludmFsaWRhdGVBcmVhIHdoZXJlIGl0IHdvdWxkbid0IHByb3Blcmx5IGlu
dmFsaWRhdGUgb3ZlcmxheSBzY3JvbGxiYXJzLiBUaGUgcHJvYmxlbSB3YXMgdGhhdCBpdCB3YXMg
YXNzdW1pbmcgdGhhdCB0aGUgc2Nyb2xsYmFyIHdhcyBhbHdheXMgdG8gdGhlIHJpZ2h0IG9mIHRo
ZSB2aXNpYmxlIHNjcm9sbGJhci4gVGhpcyBpc24ndCB0cnVlIGZvciBvdmVybGF5IHNjcm9sbGJh
cnMuCisKKyAgICAgICAgTm8gdGVzdHMgYmVjYXVzZSB0aGVyZSBhcmUgbm8gY2hyb21pdW0gMTAu
NyBib3RzIHlldC4KKworICAgICAgICAqIHNyYy9XZWJGcmFtZUltcGwuY3BwOgorICAgICAgICAo
V2ViS2l0OjpXZWJGcmFtZUltcGw6OmludmFsaWRhdGVBcmVhKToKKwogMjAxMS0wOC0xOCAgVG9u
eSBDaGFuZyAgPHRvbnlAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmVydCByOTMyOTQsIGRv
ZXNuJ3QgY29tcGlsZSBvbiBDaHJvbWl1bSBNYWMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViRnJhbWVJbXBsLmNwcAppbmRleCA2YzA2MTdiNmRjNGYzN2JhNmRmMzQxYzE3NmRiZTI0
Y2RiZDBiMzVjLi4zZTZmMTAyNDUyZjlhNWZmMmY2NzhmMGRhN2YxNzM3NmZiNWU4MTgxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAKQEAgLTIxNjcsMTMg
KzIxNjcsOSBAQCB2b2lkIFdlYkZyYW1lSW1wbDo6aW52YWxpZGF0ZUFyZWEoQXJlYVRvSW52YWxp
ZGF0ZSBhcmVhKQogCiAgICAgICAgIGlmICgoYXJlYSAmIEludmFsaWRhdGVTY3JvbGxiYXIpID09
IEludmFsaWRhdGVTY3JvbGxiYXIpIHsKICAgICAgICAgICAgIC8vIEludmFsaWRhdGUgdGhlIHZl
cnRpY2FsIHNjcm9sbCBiYXIgcmVnaW9uIGZvciB0aGUgdmlldy4KLSAgICAgICAgICAgIEludFJl
Y3Qgc2Nyb2xsQmFyVmVydCgKLSAgICAgICAgICAgICAgICB2aWV3LT54KCkgKyB2aWV3LT52aXNp
YmxlV2lkdGgoKSwgdmlldy0+eSgpLAotICAgICAgICAgICAgICAgIFNjcm9sbGJhclRoZW1lOjpu
YXRpdmVUaGVtZSgpLT5zY3JvbGxiYXJUaGlja25lc3MoKSwKLSAgICAgICAgICAgICAgICB2aWV3
LT52aXNpYmxlSGVpZ2h0KCkpOwotICAgICAgICAgICAgSW50UmVjdCBmcmFtZVJlY3QgPSB2aWV3
LT5mcmFtZVJlY3QoKTsKLSAgICAgICAgICAgIHNjcm9sbEJhclZlcnQubW92ZSgtZnJhbWVSZWN0
LngoKSwgLWZyYW1lUmVjdC55KCkpOwotICAgICAgICAgICAgdmlldy0+aW52YWxpZGF0ZVJlY3Qo
c2Nyb2xsQmFyVmVydCk7CisgICAgICAgICAgICBTY3JvbGxiYXIqIHNjcm9sbGJhciA9IHZpZXct
PnZlcnRpY2FsU2Nyb2xsYmFyKCk7CisgICAgICAgICAgICBpZiAoc2Nyb2xsYmFyKQorICAgICAg
ICAgICAgICAgIHNjcm9sbGJhci0+aW52YWxpZGF0ZSgpOwogICAgICAgICB9CiAgICAgfQogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>104409</attachid>
            <date>2011-08-18 15:30:14 -0700</date>
            <delta_ts>2011-08-18 15:34:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-66209-20110818153012.patch</filename>
            <type>text/plain</type>
            <size>8671</size>
            <attacher name="Sailesh Agrawal">sail</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTMzMjgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBiMzFkZWY1NjM2NWM2Nzc1
MDk4ZGJjNTJiMzY3MGJkOGI0YmYzZTFkLi5hZGEwOWVhYjUxZDRhOTVhY2E4ODQ1NTc5NzJlMzJj
NTEzMjNhMDI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTEtMDgtMTggIFNhaWxl
c2ggQWdyYXdhbCAgPHNhaWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIENocm9taXVtIE1hYzog
U2hvdyBzY3JvbGxiYXIgd2hlbiBkb2luZyBzZWFyY2gKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY2MjA5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlZCB0aGUgTGlvbiBzY3JvbGxiYXIgZHJhd2lu
ZyBjb2RlIHRvIGZvcmNlIHRoZSBzY3JvbGxiYXIgdG8gYmUgdmlzaWJsZSB3aGVuIHdlIGhhdmUg
dGlja21hcmtzIGZvciBzZWFyY2ggcmVzdWx0cy4KKworICAgICAgICBObyB0ZXN0cyBiZWNhdXNl
IHRoZXJlIGFyZSBubyBNYWMgMTAuNyBjaHJvbWl1bSBib3RzIHlldC4KKworICAgICAgICAqIHBs
YXRmb3JtL2Nocm9taXVtL1Njcm9sbGJhclRoZW1lQ2hyb21pdW1NYWMuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9jaHJvbWl1bS9TY3JvbGxiYXJUaGVtZUNocm9taXVtTWFjLm1tOgorICAgICAgICAo
V2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWVDaHJvbWl1bU1hYzo6cGFpbnQpOgorICAgICAgICAoV2Vi
Q29yZTo6U2Nyb2xsYmFyVGhlbWVDaHJvbWl1bU1hYzo6cGFpbnRUaWNrbWFya3MpOgorCiAyMDEx
LTA4LTE4ICBOaWNvIFdlYmVyICA8dGhha2lzQGNocm9taXVtLm9yZz4KIAogICAgICAgICBGaXgg
Im1pc3NpbmcgcmV0dXJuIiBnY2Mgd2FybmluZyBpbiBTY3JvbGxBbmltYXRvck5vbmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1Njcm9sbGJhclRoZW1lQ2hy
b21pdW1NYWMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1Njcm9sbGJhclRo
ZW1lQ2hyb21pdW1NYWMuaAppbmRleCBiZTIxNmQwZWM5Zjg1ZmIzYjZjNTk1NWY5ZGU2MGQwYTMz
MGVlMmU3Li4zOTQzZDNmMTJkMmFmN2QyMDBhNjdmNjI3MzdiZGZlYzE3OGFlOWRiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9TY3JvbGxiYXJUaGVtZUNocm9t
aXVtTWFjLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vU2Nyb2xsYmFy
VGhlbWVDaHJvbWl1bU1hYy5oCkBAIC03NSw3ICs3NSw4IEBAIHByb3RlY3RlZDoKICAgICB2aXJ0
dWFsIGJvb2wgc2hvdWxkQ2VudGVyT25UaHVtYihTY3JvbGxiYXIqLCBjb25zdCBQbGF0Zm9ybU1v
dXNlRXZlbnQmKTsKICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkRHJhZ0RvY3VtZW50SW5zdGVhZE9m
VGh1bWIoU2Nyb2xsYmFyKiwgY29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50Jik7CiAKLSAgICB2aXJ0
dWFsIHZvaWQgcGFpbnRUaWNrbWFya3MoR3JhcGhpY3NDb250ZXh0KiwgU2Nyb2xsYmFyKiwgY29u
c3QgSW50UmVjdCYpOworcHJpdmF0ZToKKyAgICB2b2lkIHBhaW50R2l2ZW5UaWNrbWFya3MoR3Jh
cGhpY3NDb250ZXh0KiwgU2Nyb2xsYmFyKiwgY29uc3QgSW50UmVjdCYsIGNvbnN0IFZlY3RvcjxJ
bnRSZWN0PiYpOwogCiBwcml2YXRlOgogICAgIFJlZlB0cjxQYXR0ZXJuPiBtX292ZXJoYW5nUGF0
dGVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1Njcm9s
bGJhclRoZW1lQ2hyb21pdW1NYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1
bS9TY3JvbGxiYXJUaGVtZUNocm9taXVtTWFjLm1tCmluZGV4IDM1OGYxMDUyNzc0MzIyMTE1Yzdh
ZmMzNDQzNGM5OWM4ZjA1MGFmNDAuLjU4ZWI0NzRlOThjNDIxYTNiYjMxZWI2ZjMyMTMwNTIzZTBl
YjcxNTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1Njcm9s
bGJhclRoZW1lQ2hyb21pdW1NYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hy
b21pdW0vU2Nyb2xsYmFyVGhlbWVDaHJvbWl1bU1hYy5tbQpAQCAtNDc0LDYgKzQ3NCwxMCBAQCBz
dGF0aWMgUGxhdGZvcm1CcmlkZ2U6OlRoZW1lUGFpbnRTdGF0ZSBzY3JvbGxiYXJTdGF0ZVRvVGhl
bWVTdGF0ZShTY3JvbGxiYXIqIHNjcgogCiBib29sIFNjcm9sbGJhclRoZW1lQ2hyb21pdW1NYWM6
OnBhaW50KFNjcm9sbGJhciogc2Nyb2xsYmFyLCBHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNv
bnN0IEludFJlY3QmIGRhbWFnZVJlY3QpCiB7CisgICAgLy8gR2V0IHRoZSB0aWNrbWFya3MgZm9y
IHRoZSBmcmFtZXZpZXcuCisgICAgVmVjdG9yPEludFJlY3Q+IHRpY2ttYXJrczsKKyAgICBzY3Jv
bGxiYXItPnNjcm9sbGFibGVBcmVhKCktPmdldFRpY2ttYXJrcyh0aWNrbWFya3MpOworCiAgICAg
aWYgKGlzU2Nyb2xsYmFyT3ZlcmxheUFQSUF2YWlsYWJsZSgpKSB7CiAgICAgICAgIGZsb2F0IHZh
bHVlID0gMDsKICAgICAgICAgZmxvYXQgb3ZlcmhhbmcgPSAwOwpAQCAtNTA0LDYgKzUwOCwxNiBA
QCBib29sIFNjcm9sbGJhclRoZW1lQ2hyb21pdW1NYWM6OnBhaW50KFNjcm9sbGJhciogc2Nyb2xs
YmFyLCBHcmFwaGljc0NvbnRleHQqIGNvbgogCiAgICAgICAgIHdrU2V0U2Nyb2xsYmFyUGFpbnRl
cktub2JTdHlsZShwYWludGVyRm9yU2Nyb2xsYmFyKHNjcm9sbGJhciksIHRvU2Nyb2xsYmFyUGFp
bnRlcktub2JTdHlsZShzY3JvbGxiYXItPnNjcm9sbGFibGVBcmVhKCktPnNjcm9sbGJhck92ZXJs
YXlTdHlsZSgpKSk7CiAKKyAgICAgICAgQ0dGbG9hdCBvbGRLbm9iQWxwaGEgPSAwOworICAgICAg
ICBDR0Zsb2F0IG9sZFRyYWNrQWxwaGEgPSAwOworICAgICAgICBib29sIGhhc1RpY2ttYXJrcyA9
IHRpY2ttYXJrcy5zaXplKCkgPiAwICYmIHNjcm9sbGJhci0+b3JpZW50YXRpb24oKSA9PSBWZXJ0
aWNhbFNjcm9sbGJhcjsKKyAgICAgICAgaWYgKGhhc1RpY2ttYXJrcykgeworICAgICAgICAgIG9s
ZEtub2JBbHBoYSA9IHdrU2Nyb2xsYmFyUGFpbnRlcktub2JBbHBoYShwYWludGVyRm9yU2Nyb2xs
YmFyKHNjcm9sbGJhcikpOworICAgICAgICAgIHdrU2V0U2Nyb2xsYmFyUGFpbnRlcktub2JBbHBo
YShwYWludGVyRm9yU2Nyb2xsYmFyKHNjcm9sbGJhciksIDEuMCk7CisgICAgICAgICAgb2xkVHJh
Y2tBbHBoYSA9IHdrU2Nyb2xsYmFyUGFpbnRlclRyYWNrQWxwaGEocGFpbnRlckZvclNjcm9sbGJh
cihzY3JvbGxiYXIpKTsKKyAgICAgICAgICB3a1NldFNjcm9sbGJhclBhaW50ZXJUcmFja0FscGhh
KHBhaW50ZXJGb3JTY3JvbGxiYXIoc2Nyb2xsYmFyKSwgMS4wKTsKKyAgICAgICAgfQorCiAgICAg
ICAgIEdyYXBoaWNzQ29udGV4dFN0YXRlU2F2ZXIgc3RhdGVTYXZlcigqY29udGV4dCk7CiAgICAg
ICAgIGNvbnRleHQtPmNsaXAoZGFtYWdlUmVjdCk7CiAgICAgICAgIGNvbnRleHQtPnRyYW5zbGF0
ZShzY3JvbGxiYXItPmZyYW1lUmVjdCgpLngoKSwgc2Nyb2xsYmFyLT5mcmFtZVJlY3QoKS55KCkp
OwpAQCAtNTI1LDExICs1MzksMTcgQEAgYm9vbCBTY3JvbGxiYXJUaGVtZUNocm9taXVtTWFjOjpw
YWludChTY3JvbGxiYXIqIHNjcm9sbGJhciwgR3JhcGhpY3NDb250ZXh0KiBjb24KICAgICAgICAg
ICAgIHRpY2ttYXJrVHJhY2tSZWN0LnNldFgodGlja21hcmtUcmFja1JlY3QueCgpICsgMik7CiAg
ICAgICAgICAgICB0aWNrbWFya1RyYWNrUmVjdC5zZXRXaWR0aCh0aWNrbWFya1RyYWNrUmVjdC53
aWR0aCgpIC0gNSk7CiAgICAgICAgIH0KLSAgICAgICAgcGFpbnRUaWNrbWFya3MoY29udGV4dCwg
c2Nyb2xsYmFyLCB0aWNrbWFya1RyYWNrUmVjdCk7CisgICAgICAgIHBhaW50R2l2ZW5UaWNrbWFy
a3MoY29udGV4dCwgc2Nyb2xsYmFyLCB0aWNrbWFya1RyYWNrUmVjdCwgdGlja21hcmtzKTsKIAog
ICAgICAgICB3a1Njcm9sbGJhclBhaW50ZXJQYWludEtub2Ioc2Nyb2xsYmFyUGFpbnRlcik7CiAK
ICAgICAgICAgc2Nyb2xsQW5pbWF0b3ItPnNldElzRHJhd2luZ0ludG9MYXllcihmYWxzZSk7CisK
KyAgICAgICAgaWYgKGhhc1RpY2ttYXJrcykgeworICAgICAgICAgIHdrU2V0U2Nyb2xsYmFyUGFp
bnRlcktub2JBbHBoYShzY3JvbGxiYXJQYWludGVyLCBvbGRLbm9iQWxwaGEpOworICAgICAgICAg
IHdrU2V0U2Nyb2xsYmFyUGFpbnRlclRyYWNrQWxwaGEoc2Nyb2xsYmFyUGFpbnRlciwgb2xkVHJh
Y2tBbHBoYSk7CisgICAgICAgIH0KKwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAKQEAg
LTU5OCw3ICs2MTgsNyBAQCBib29sIFNjcm9sbGJhclRoZW1lQ2hyb21pdW1NYWM6OnBhaW50KFNj
cm9sbGJhciogc2Nyb2xsYmFyLCBHcmFwaGljc0NvbnRleHQqIGNvbgogICAgIC8vIEluc2V0IGJ5
IDIgb24gdGhlIGxlZnQgYW5kIDMgb24gdGhlIHJpZ2h0LgogICAgIHRpY2ttYXJrVHJhY2tSZWN0
LnNldFgodGlja21hcmtUcmFja1JlY3QueCgpICsgMik7CiAgICAgdGlja21hcmtUcmFja1JlY3Qu
c2V0V2lkdGgodGlja21hcmtUcmFja1JlY3Qud2lkdGgoKSAtIDUpOwotICAgIHBhaW50VGlja21h
cmtzKGRyYXdpbmdDb250ZXh0LCBzY3JvbGxiYXIsIHRpY2ttYXJrVHJhY2tSZWN0KTsKKyAgICBw
YWludEdpdmVuVGlja21hcmtzKGRyYXdpbmdDb250ZXh0LCBzY3JvbGxiYXIsIHRpY2ttYXJrVHJh
Y2tSZWN0LCB0aWNrbWFya3MpOwogCiAgICAgaWYgKGhhc1RodW1iKHNjcm9sbGJhcikpIHsKICAg
ICAgICAgUGxhdGZvcm1CcmlkZ2U6OlRoZW1lUGFpbnRTY3JvbGxiYXJJbmZvIHNjcm9sbGJhcklu
Zm87CkBAIC02MjMsNyArNjQzLDcgQEAgYm9vbCBTY3JvbGxiYXJUaGVtZUNocm9taXVtTWFjOjpw
YWludChTY3JvbGxiYXIqIHNjcm9sbGJhciwgR3JhcGhpY3NDb250ZXh0KiBjb24KICAgICByZXR1
cm4gdHJ1ZTsKIH0KIAotdm9pZCBTY3JvbGxiYXJUaGVtZUNocm9taXVtTWFjOjpwYWludFRpY2tt
YXJrcyhHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIFNjcm9sbGJhciogc2Nyb2xsYmFyLCBjb25z
dCBJbnRSZWN0JiByZWN0KQordm9pZCBTY3JvbGxiYXJUaGVtZUNocm9taXVtTWFjOjpwYWludEdp
dmVuVGlja21hcmtzKEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgU2Nyb2xsYmFyKiBzY3JvbGxi
YXIsIGNvbnN0IEludFJlY3QmIHJlY3QsIGNvbnN0IFZlY3RvcjxJbnRSZWN0PiYgdGlja21hcmtz
KQogewogICAgIGlmIChzY3JvbGxiYXItPm9yaWVudGF0aW9uKCkgIT0gVmVydGljYWxTY3JvbGxi
YXIpCiAgICAgICAgIHJldHVybjsKQEAgLTYzMSwyNSArNjUxLDEzIEBAIHZvaWQgU2Nyb2xsYmFy
VGhlbWVDaHJvbWl1bU1hYzo6cGFpbnRUaWNrbWFya3MoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0
LCBTY3JvbGxiCiAgICAgaWYgKHJlY3QuaGVpZ2h0KCkgPD0gMCB8fCByZWN0LndpZHRoKCkgPD0g
MCkKICAgICAgICAgcmV0dXJuOyAgLy8gbm90aGluZyB0byBkcmF3IG9uLgogCi0gICAgLy8gR2V0
IHRoZSB0aWNrbWFya3MgZm9yIHRoZSBmcmFtZXZpZXcuCi0gICAgVmVjdG9yPEludFJlY3Q+IHRp
Y2ttYXJrczsKLSAgICBzY3JvbGxiYXItPnNjcm9sbGFibGVBcmVhKCktPmdldFRpY2ttYXJrcyh0
aWNrbWFya3MpOwogICAgIGlmICghdGlja21hcmtzLnNpemUoKSkKICAgICAgICAgcmV0dXJuOwog
Ci0gICAgaW50IGFscGhhSW50ID0gMHhGRjsKLSAgICBpZiAoc2Nyb2xsYmFyTWFwKCktPmNvbnRh
aW5zKHNjcm9sbGJhcikpIHsKLSAgICAgICAgV0tTY3JvbGxiYXJQYWludGVyUmVmIHNjcm9sbGJh
clBhaW50ZXIgPSBzY3JvbGxiYXJNYXAoKS0+Z2V0KHNjcm9sbGJhcikuZ2V0KCk7Ci0gICAgICAg
IGlmIChzY3JvbGxiYXJQYWludGVyKQotICAgICAgICAgICAgYWxwaGFJbnQgPSAweEZGICogd2tT
Y3JvbGxiYXJQYWludGVyVHJhY2tBbHBoYShzY3JvbGxiYXJQYWludGVyKTsKLSAgICB9Ci0gICAg
aWYgKGFscGhhSW50ID09IDApCi0gICAgICAgIHJldHVybjsKLQogICAgIGNvbnRleHQtPnNhdmUo
KTsKICAgICBjb250ZXh0LT5zZXRTaG91bGRBbnRpYWxpYXMoZmFsc2UpOwotICAgIGNvbnRleHQt
PnNldFN0cm9rZUNvbG9yKENvbG9yKDB4Q0MsIDB4QUEsIDB4MDAsIGFscGhhSW50KSwgQ29sb3JT
cGFjZURldmljZVJHQik7Ci0gICAgY29udGV4dC0+c2V0RmlsbENvbG9yKENvbG9yKDB4RkYsIDB4
REQsIDB4MDAsIGFscGhhSW50KSwgQ29sb3JTcGFjZURldmljZVJHQik7CisgICAgY29udGV4dC0+
c2V0U3Ryb2tlQ29sb3IoQ29sb3IoMHhDQywgMHhBQSwgMHgwMCwgMHhGRiksIENvbG9yU3BhY2VE
ZXZpY2VSR0IpOworICAgIGNvbnRleHQtPnNldEZpbGxDb2xvcihDb2xvcigweEZGLCAweERELCAw
eDAwLCAweEZGKSwgQ29sb3JTcGFjZURldmljZVJHQik7CiAKICAgICBmb3IgKFZlY3RvcjxJbnRS
ZWN0Pjo6Y29uc3RfaXRlcmF0b3IgaSA9IHRpY2ttYXJrcy5iZWdpbigpOyBpICE9IHRpY2ttYXJr
cy5lbmQoKTsgKytpKSB7CiAgICAgICAgIC8vIENhbGN1bGF0ZSBob3cgZmFyIGRvd24gKGluICUp
IHRoZSB0aWNrLW1hcmsgc2hvdWxkIGFwcGVhci4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5k
ZXggMzg1OWM3NjhkN2QxNTc2YTc1MzE1YTA4ZjU4OGNiOTliMDllNjVhYy4uNjQyOTY5OTFjYjky
ZDU3NjhmNDQxZmM5ZWUzYTg0ODA1YmIyNjUwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNyBAQAorMjAxMS0wOC0xOCAgU2FpbGVzaCBBZ3Jhd2FsICA8c2FpbEBjaHJv
bWl1bS5vcmc+CisKKyAgICAgICAgQ2hyb21pdW0gTWFjOiBTaG93IHNjcm9sbGJhciB3aGVuIGRv
aW5nIHNlYXJjaAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NjYyMDkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBGaXhlZCBhIGJ1ZyBpbiBpbnZhbGlkYXRlQXJlYSB3aGVyZSBpdCB3b3VsZG4ndCBwcm9wZXJs
eSBpbnZhbGlkYXRlIG92ZXJsYXkgc2Nyb2xsYmFycy4gVGhlIHByb2JsZW0gd2FzIHRoYXQgaXQg
d2FzIGFzc3VtaW5nIHRoYXQgdGhlIHNjcm9sbGJhciB3YXMgYWx3YXlzIHRvIHRoZSByaWdodCBv
ZiB0aGUgdmlzaWJsZSBzY3JvbGxiYXIuIFRoaXMgaXNuJ3QgdHJ1ZSBmb3Igb3ZlcmxheSBzY3Jv
bGxiYXJzLgorCisgICAgICAgIE5vIHRlc3RzIGJlY2F1c2UgdGhlcmUgYXJlIG5vIE1hYyAxMC43
IGNocm9taXVtIGJvdHMgeWV0LgorCisgICAgICAgICogc3JjL1dlYkZyYW1lSW1wbC5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYkZyYW1lSW1wbDo6aW52YWxpZGF0ZUFyZWEpOgorCiAyMDExLTA4
LTE4ICBUb255IENoYW5nICA8dG9ueUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2ZXJ0IHI5
MzI5NCwgZG9lc24ndCBjb21waWxlIG9uIENocm9taXVtIE1hYy4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwCmluZGV4IDZjMDYxN2I2ZGM0ZjM3YmE2ZGYzNDFj
MTc2ZGJlMjRjZGJkMGIzNWMuLjNlNmYxMDI0NTJmOWE1ZmYyZjY3OGYwZGE3ZjE3Mzc2ZmI1ZTgx
ODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcApAQCAt
MjE2NywxMyArMjE2Nyw5IEBAIHZvaWQgV2ViRnJhbWVJbXBsOjppbnZhbGlkYXRlQXJlYShBcmVh
VG9JbnZhbGlkYXRlIGFyZWEpCiAKICAgICAgICAgaWYgKChhcmVhICYgSW52YWxpZGF0ZVNjcm9s
bGJhcikgPT0gSW52YWxpZGF0ZVNjcm9sbGJhcikgewogICAgICAgICAgICAgLy8gSW52YWxpZGF0
ZSB0aGUgdmVydGljYWwgc2Nyb2xsIGJhciByZWdpb24gZm9yIHRoZSB2aWV3LgotICAgICAgICAg
ICAgSW50UmVjdCBzY3JvbGxCYXJWZXJ0KAotICAgICAgICAgICAgICAgIHZpZXctPngoKSArIHZp
ZXctPnZpc2libGVXaWR0aCgpLCB2aWV3LT55KCksCi0gICAgICAgICAgICAgICAgU2Nyb2xsYmFy
VGhlbWU6Om5hdGl2ZVRoZW1lKCktPnNjcm9sbGJhclRoaWNrbmVzcygpLAotICAgICAgICAgICAg
ICAgIHZpZXctPnZpc2libGVIZWlnaHQoKSk7Ci0gICAgICAgICAgICBJbnRSZWN0IGZyYW1lUmVj
dCA9IHZpZXctPmZyYW1lUmVjdCgpOwotICAgICAgICAgICAgc2Nyb2xsQmFyVmVydC5tb3ZlKC1m
cmFtZVJlY3QueCgpLCAtZnJhbWVSZWN0LnkoKSk7Ci0gICAgICAgICAgICB2aWV3LT5pbnZhbGlk
YXRlUmVjdChzY3JvbGxCYXJWZXJ0KTsKKyAgICAgICAgICAgIFNjcm9sbGJhciogc2Nyb2xsYmFy
ID0gdmlldy0+dmVydGljYWxTY3JvbGxiYXIoKTsKKyAgICAgICAgICAgIGlmIChzY3JvbGxiYXIp
CisgICAgICAgICAgICAgICAgc2Nyb2xsYmFyLT5pbnZhbGlkYXRlKCk7CiAgICAgICAgIH0KICAg
ICB9CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>104410</attachid>
            <date>2011-08-18 15:34:16 -0700</date>
            <delta_ts>2011-08-18 15:46:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-66209-20110818153415.patch</filename>
            <type>text/plain</type>
            <size>8671</size>
            <attacher name="Sailesh Agrawal">sail</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTMzMjgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBiMzFkZWY1NjM2NWM2Nzc1
MDk4ZGJjNTJiMzY3MGJkOGI0YmYzZTFkLi4wYWRiMWZjYmEyMTE3YWFjOTBmMjZmMzI1MGM3NzQ4
ZTM1MTQwZmU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTEtMDgtMTggIFNhaWxl
c2ggQWdyYXdhbCAgPHNhaWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIENocm9taXVtIE1hYzog
U2hvdyBzY3JvbGxiYXIgd2hlbiBkb2luZyBzZWFyY2gKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY2MjA5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgSmFt
ZXMgUm9iaW5zb24uCisKKyAgICAgICAgVXBkYXRlZCB0aGUgTGlvbiBzY3JvbGxiYXIgZHJhd2lu
ZyBjb2RlIHRvIGZvcmNlIHRoZSBzY3JvbGxiYXIgdG8gYmUgdmlzaWJsZSB3aGVuIHdlIGhhdmUg
dGlja21hcmtzIGZvciBzZWFyY2ggcmVzdWx0cy4KKworICAgICAgICBObyB0ZXN0cyBiZWNhdXNl
IHRoZXJlIGFyZSBubyBNYWMgMTAuNyBjaHJvbWl1bSBib3RzIHlldC4KKworICAgICAgICAqIHBs
YXRmb3JtL2Nocm9taXVtL1Njcm9sbGJhclRoZW1lQ2hyb21pdW1NYWMuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9jaHJvbWl1bS9TY3JvbGxiYXJUaGVtZUNocm9taXVtTWFjLm1tOgorICAgICAgICAo
V2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWVDaHJvbWl1bU1hYzo6cGFpbnQpOgorICAgICAgICAoV2Vi
Q29yZTo6U2Nyb2xsYmFyVGhlbWVDaHJvbWl1bU1hYzo6cGFpbnRUaWNrbWFya3MpOgorCiAyMDEx
LTA4LTE4ICBOaWNvIFdlYmVyICA8dGhha2lzQGNocm9taXVtLm9yZz4KIAogICAgICAgICBGaXgg
Im1pc3NpbmcgcmV0dXJuIiBnY2Mgd2FybmluZyBpbiBTY3JvbGxBbmltYXRvck5vbmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1Njcm9sbGJhclRoZW1lQ2hy
b21pdW1NYWMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1Njcm9sbGJhclRo
ZW1lQ2hyb21pdW1NYWMuaAppbmRleCBiZTIxNmQwZWM5Zjg1ZmIzYjZjNTk1NWY5ZGU2MGQwYTMz
MGVlMmU3Li4zOTQzZDNmMTJkMmFmN2QyMDBhNjdmNjI3MzdiZGZlYzE3OGFlOWRiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9TY3JvbGxiYXJUaGVtZUNocm9t
aXVtTWFjLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vU2Nyb2xsYmFy
VGhlbWVDaHJvbWl1bU1hYy5oCkBAIC03NSw3ICs3NSw4IEBAIHByb3RlY3RlZDoKICAgICB2aXJ0
dWFsIGJvb2wgc2hvdWxkQ2VudGVyT25UaHVtYihTY3JvbGxiYXIqLCBjb25zdCBQbGF0Zm9ybU1v
dXNlRXZlbnQmKTsKICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkRHJhZ0RvY3VtZW50SW5zdGVhZE9m
VGh1bWIoU2Nyb2xsYmFyKiwgY29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50Jik7CiAKLSAgICB2aXJ0
dWFsIHZvaWQgcGFpbnRUaWNrbWFya3MoR3JhcGhpY3NDb250ZXh0KiwgU2Nyb2xsYmFyKiwgY29u
c3QgSW50UmVjdCYpOworcHJpdmF0ZToKKyAgICB2b2lkIHBhaW50R2l2ZW5UaWNrbWFya3MoR3Jh
cGhpY3NDb250ZXh0KiwgU2Nyb2xsYmFyKiwgY29uc3QgSW50UmVjdCYsIGNvbnN0IFZlY3RvcjxJ
bnRSZWN0PiYpOwogCiBwcml2YXRlOgogICAgIFJlZlB0cjxQYXR0ZXJuPiBtX292ZXJoYW5nUGF0
dGVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1Njcm9s
bGJhclRoZW1lQ2hyb21pdW1NYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1
bS9TY3JvbGxiYXJUaGVtZUNocm9taXVtTWFjLm1tCmluZGV4IDM1OGYxMDUyNzc0MzIyMTE1Yzdh
ZmMzNDQzNGM5OWM4ZjA1MGFmNDAuLjU4ZWI0NzRlOThjNDIxYTNiYjMxZWI2ZjMyMTMwNTIzZTBl
YjcxNTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1Njcm9s
bGJhclRoZW1lQ2hyb21pdW1NYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hy
b21pdW0vU2Nyb2xsYmFyVGhlbWVDaHJvbWl1bU1hYy5tbQpAQCAtNDc0LDYgKzQ3NCwxMCBAQCBz
dGF0aWMgUGxhdGZvcm1CcmlkZ2U6OlRoZW1lUGFpbnRTdGF0ZSBzY3JvbGxiYXJTdGF0ZVRvVGhl
bWVTdGF0ZShTY3JvbGxiYXIqIHNjcgogCiBib29sIFNjcm9sbGJhclRoZW1lQ2hyb21pdW1NYWM6
OnBhaW50KFNjcm9sbGJhciogc2Nyb2xsYmFyLCBHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNv
bnN0IEludFJlY3QmIGRhbWFnZVJlY3QpCiB7CisgICAgLy8gR2V0IHRoZSB0aWNrbWFya3MgZm9y
IHRoZSBmcmFtZXZpZXcuCisgICAgVmVjdG9yPEludFJlY3Q+IHRpY2ttYXJrczsKKyAgICBzY3Jv
bGxiYXItPnNjcm9sbGFibGVBcmVhKCktPmdldFRpY2ttYXJrcyh0aWNrbWFya3MpOworCiAgICAg
aWYgKGlzU2Nyb2xsYmFyT3ZlcmxheUFQSUF2YWlsYWJsZSgpKSB7CiAgICAgICAgIGZsb2F0IHZh
bHVlID0gMDsKICAgICAgICAgZmxvYXQgb3ZlcmhhbmcgPSAwOwpAQCAtNTA0LDYgKzUwOCwxNiBA
QCBib29sIFNjcm9sbGJhclRoZW1lQ2hyb21pdW1NYWM6OnBhaW50KFNjcm9sbGJhciogc2Nyb2xs
YmFyLCBHcmFwaGljc0NvbnRleHQqIGNvbgogCiAgICAgICAgIHdrU2V0U2Nyb2xsYmFyUGFpbnRl
cktub2JTdHlsZShwYWludGVyRm9yU2Nyb2xsYmFyKHNjcm9sbGJhciksIHRvU2Nyb2xsYmFyUGFp
bnRlcktub2JTdHlsZShzY3JvbGxiYXItPnNjcm9sbGFibGVBcmVhKCktPnNjcm9sbGJhck92ZXJs
YXlTdHlsZSgpKSk7CiAKKyAgICAgICAgQ0dGbG9hdCBvbGRLbm9iQWxwaGEgPSAwOworICAgICAg
ICBDR0Zsb2F0IG9sZFRyYWNrQWxwaGEgPSAwOworICAgICAgICBib29sIGhhc1RpY2ttYXJrcyA9
IHRpY2ttYXJrcy5zaXplKCkgPiAwICYmIHNjcm9sbGJhci0+b3JpZW50YXRpb24oKSA9PSBWZXJ0
aWNhbFNjcm9sbGJhcjsKKyAgICAgICAgaWYgKGhhc1RpY2ttYXJrcykgeworICAgICAgICAgIG9s
ZEtub2JBbHBoYSA9IHdrU2Nyb2xsYmFyUGFpbnRlcktub2JBbHBoYShwYWludGVyRm9yU2Nyb2xs
YmFyKHNjcm9sbGJhcikpOworICAgICAgICAgIHdrU2V0U2Nyb2xsYmFyUGFpbnRlcktub2JBbHBo
YShwYWludGVyRm9yU2Nyb2xsYmFyKHNjcm9sbGJhciksIDEuMCk7CisgICAgICAgICAgb2xkVHJh
Y2tBbHBoYSA9IHdrU2Nyb2xsYmFyUGFpbnRlclRyYWNrQWxwaGEocGFpbnRlckZvclNjcm9sbGJh
cihzY3JvbGxiYXIpKTsKKyAgICAgICAgICB3a1NldFNjcm9sbGJhclBhaW50ZXJUcmFja0FscGhh
KHBhaW50ZXJGb3JTY3JvbGxiYXIoc2Nyb2xsYmFyKSwgMS4wKTsKKyAgICAgICAgfQorCiAgICAg
ICAgIEdyYXBoaWNzQ29udGV4dFN0YXRlU2F2ZXIgc3RhdGVTYXZlcigqY29udGV4dCk7CiAgICAg
ICAgIGNvbnRleHQtPmNsaXAoZGFtYWdlUmVjdCk7CiAgICAgICAgIGNvbnRleHQtPnRyYW5zbGF0
ZShzY3JvbGxiYXItPmZyYW1lUmVjdCgpLngoKSwgc2Nyb2xsYmFyLT5mcmFtZVJlY3QoKS55KCkp
OwpAQCAtNTI1LDExICs1MzksMTcgQEAgYm9vbCBTY3JvbGxiYXJUaGVtZUNocm9taXVtTWFjOjpw
YWludChTY3JvbGxiYXIqIHNjcm9sbGJhciwgR3JhcGhpY3NDb250ZXh0KiBjb24KICAgICAgICAg
ICAgIHRpY2ttYXJrVHJhY2tSZWN0LnNldFgodGlja21hcmtUcmFja1JlY3QueCgpICsgMik7CiAg
ICAgICAgICAgICB0aWNrbWFya1RyYWNrUmVjdC5zZXRXaWR0aCh0aWNrbWFya1RyYWNrUmVjdC53
aWR0aCgpIC0gNSk7CiAgICAgICAgIH0KLSAgICAgICAgcGFpbnRUaWNrbWFya3MoY29udGV4dCwg
c2Nyb2xsYmFyLCB0aWNrbWFya1RyYWNrUmVjdCk7CisgICAgICAgIHBhaW50R2l2ZW5UaWNrbWFy
a3MoY29udGV4dCwgc2Nyb2xsYmFyLCB0aWNrbWFya1RyYWNrUmVjdCwgdGlja21hcmtzKTsKIAog
ICAgICAgICB3a1Njcm9sbGJhclBhaW50ZXJQYWludEtub2Ioc2Nyb2xsYmFyUGFpbnRlcik7CiAK
ICAgICAgICAgc2Nyb2xsQW5pbWF0b3ItPnNldElzRHJhd2luZ0ludG9MYXllcihmYWxzZSk7CisK
KyAgICAgICAgaWYgKGhhc1RpY2ttYXJrcykgeworICAgICAgICAgIHdrU2V0U2Nyb2xsYmFyUGFp
bnRlcktub2JBbHBoYShzY3JvbGxiYXJQYWludGVyLCBvbGRLbm9iQWxwaGEpOworICAgICAgICAg
IHdrU2V0U2Nyb2xsYmFyUGFpbnRlclRyYWNrQWxwaGEoc2Nyb2xsYmFyUGFpbnRlciwgb2xkVHJh
Y2tBbHBoYSk7CisgICAgICAgIH0KKwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAKQEAg
LTU5OCw3ICs2MTgsNyBAQCBib29sIFNjcm9sbGJhclRoZW1lQ2hyb21pdW1NYWM6OnBhaW50KFNj
cm9sbGJhciogc2Nyb2xsYmFyLCBHcmFwaGljc0NvbnRleHQqIGNvbgogICAgIC8vIEluc2V0IGJ5
IDIgb24gdGhlIGxlZnQgYW5kIDMgb24gdGhlIHJpZ2h0LgogICAgIHRpY2ttYXJrVHJhY2tSZWN0
LnNldFgodGlja21hcmtUcmFja1JlY3QueCgpICsgMik7CiAgICAgdGlja21hcmtUcmFja1JlY3Qu
c2V0V2lkdGgodGlja21hcmtUcmFja1JlY3Qud2lkdGgoKSAtIDUpOwotICAgIHBhaW50VGlja21h
cmtzKGRyYXdpbmdDb250ZXh0LCBzY3JvbGxiYXIsIHRpY2ttYXJrVHJhY2tSZWN0KTsKKyAgICBw
YWludEdpdmVuVGlja21hcmtzKGRyYXdpbmdDb250ZXh0LCBzY3JvbGxiYXIsIHRpY2ttYXJrVHJh
Y2tSZWN0LCB0aWNrbWFya3MpOwogCiAgICAgaWYgKGhhc1RodW1iKHNjcm9sbGJhcikpIHsKICAg
ICAgICAgUGxhdGZvcm1CcmlkZ2U6OlRoZW1lUGFpbnRTY3JvbGxiYXJJbmZvIHNjcm9sbGJhcklu
Zm87CkBAIC02MjMsNyArNjQzLDcgQEAgYm9vbCBTY3JvbGxiYXJUaGVtZUNocm9taXVtTWFjOjpw
YWludChTY3JvbGxiYXIqIHNjcm9sbGJhciwgR3JhcGhpY3NDb250ZXh0KiBjb24KICAgICByZXR1
cm4gdHJ1ZTsKIH0KIAotdm9pZCBTY3JvbGxiYXJUaGVtZUNocm9taXVtTWFjOjpwYWludFRpY2tt
YXJrcyhHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIFNjcm9sbGJhciogc2Nyb2xsYmFyLCBjb25z
dCBJbnRSZWN0JiByZWN0KQordm9pZCBTY3JvbGxiYXJUaGVtZUNocm9taXVtTWFjOjpwYWludEdp
dmVuVGlja21hcmtzKEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgU2Nyb2xsYmFyKiBzY3JvbGxi
YXIsIGNvbnN0IEludFJlY3QmIHJlY3QsIGNvbnN0IFZlY3RvcjxJbnRSZWN0PiYgdGlja21hcmtz
KQogewogICAgIGlmIChzY3JvbGxiYXItPm9yaWVudGF0aW9uKCkgIT0gVmVydGljYWxTY3JvbGxi
YXIpCiAgICAgICAgIHJldHVybjsKQEAgLTYzMSwyNSArNjUxLDEzIEBAIHZvaWQgU2Nyb2xsYmFy
VGhlbWVDaHJvbWl1bU1hYzo6cGFpbnRUaWNrbWFya3MoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0
LCBTY3JvbGxiCiAgICAgaWYgKHJlY3QuaGVpZ2h0KCkgPD0gMCB8fCByZWN0LndpZHRoKCkgPD0g
MCkKICAgICAgICAgcmV0dXJuOyAgLy8gbm90aGluZyB0byBkcmF3IG9uLgogCi0gICAgLy8gR2V0
IHRoZSB0aWNrbWFya3MgZm9yIHRoZSBmcmFtZXZpZXcuCi0gICAgVmVjdG9yPEludFJlY3Q+IHRp
Y2ttYXJrczsKLSAgICBzY3JvbGxiYXItPnNjcm9sbGFibGVBcmVhKCktPmdldFRpY2ttYXJrcyh0
aWNrbWFya3MpOwogICAgIGlmICghdGlja21hcmtzLnNpemUoKSkKICAgICAgICAgcmV0dXJuOwog
Ci0gICAgaW50IGFscGhhSW50ID0gMHhGRjsKLSAgICBpZiAoc2Nyb2xsYmFyTWFwKCktPmNvbnRh
aW5zKHNjcm9sbGJhcikpIHsKLSAgICAgICAgV0tTY3JvbGxiYXJQYWludGVyUmVmIHNjcm9sbGJh
clBhaW50ZXIgPSBzY3JvbGxiYXJNYXAoKS0+Z2V0KHNjcm9sbGJhcikuZ2V0KCk7Ci0gICAgICAg
IGlmIChzY3JvbGxiYXJQYWludGVyKQotICAgICAgICAgICAgYWxwaGFJbnQgPSAweEZGICogd2tT
Y3JvbGxiYXJQYWludGVyVHJhY2tBbHBoYShzY3JvbGxiYXJQYWludGVyKTsKLSAgICB9Ci0gICAg
aWYgKGFscGhhSW50ID09IDApCi0gICAgICAgIHJldHVybjsKLQogICAgIGNvbnRleHQtPnNhdmUo
KTsKICAgICBjb250ZXh0LT5zZXRTaG91bGRBbnRpYWxpYXMoZmFsc2UpOwotICAgIGNvbnRleHQt
PnNldFN0cm9rZUNvbG9yKENvbG9yKDB4Q0MsIDB4QUEsIDB4MDAsIGFscGhhSW50KSwgQ29sb3JT
cGFjZURldmljZVJHQik7Ci0gICAgY29udGV4dC0+c2V0RmlsbENvbG9yKENvbG9yKDB4RkYsIDB4
REQsIDB4MDAsIGFscGhhSW50KSwgQ29sb3JTcGFjZURldmljZVJHQik7CisgICAgY29udGV4dC0+
c2V0U3Ryb2tlQ29sb3IoQ29sb3IoMHhDQywgMHhBQSwgMHgwMCwgMHhGRiksIENvbG9yU3BhY2VE
ZXZpY2VSR0IpOworICAgIGNvbnRleHQtPnNldEZpbGxDb2xvcihDb2xvcigweEZGLCAweERELCAw
eDAwLCAweEZGKSwgQ29sb3JTcGFjZURldmljZVJHQik7CiAKICAgICBmb3IgKFZlY3RvcjxJbnRS
ZWN0Pjo6Y29uc3RfaXRlcmF0b3IgaSA9IHRpY2ttYXJrcy5iZWdpbigpOyBpICE9IHRpY2ttYXJr
cy5lbmQoKTsgKytpKSB7CiAgICAgICAgIC8vIENhbGN1bGF0ZSBob3cgZmFyIGRvd24gKGluICUp
IHRoZSB0aWNrLW1hcmsgc2hvdWxkIGFwcGVhci4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5k
ZXggMzg1OWM3NjhkN2QxNTc2YTc1MzE1YTA4ZjU4OGNiOTliMDllNjVhYy4uOTA4Yjk2ODI5NGRj
NGFmMjgwY2I5NjVlNGZmNDY0MWQ4ZGI2ZDBlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNyBAQAorMjAxMS0wOC0xOCAgU2FpbGVzaCBBZ3Jhd2FsICA8c2FpbEBjaHJv
bWl1bS5vcmc+CisKKyAgICAgICAgQ2hyb21pdW0gTWFjOiBTaG93IHNjcm9sbGJhciB3aGVuIGRv
aW5nIHNlYXJjaAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NjYyMDkKKworICAgICAgICBSZXZpZXdlZCBieSBKYW1lcyBSb2JpbnNvbi4KKworICAgICAg
ICBGaXhlZCBhIGJ1ZyBpbiBpbnZhbGlkYXRlQXJlYSB3aGVyZSBpdCB3b3VsZG4ndCBwcm9wZXJs
eSBpbnZhbGlkYXRlIG92ZXJsYXkgc2Nyb2xsYmFycy4gVGhlIHByb2JsZW0gd2FzIHRoYXQgaXQg
d2FzIGFzc3VtaW5nIHRoYXQgdGhlIHNjcm9sbGJhciB3YXMgYWx3YXlzIHRvIHRoZSByaWdodCBv
ZiB0aGUgdmlzaWJsZSBzY3JvbGxiYXIuIFRoaXMgaXNuJ3QgdHJ1ZSBmb3Igb3ZlcmxheSBzY3Jv
bGxiYXJzLgorCisgICAgICAgIE5vIHRlc3RzIGJlY2F1c2UgdGhlcmUgYXJlIG5vIE1hYyAxMC43
IGNocm9taXVtIGJvdHMgeWV0LgorCisgICAgICAgICogc3JjL1dlYkZyYW1lSW1wbC5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYkZyYW1lSW1wbDo6aW52YWxpZGF0ZUFyZWEpOgorCiAyMDExLTA4
LTE4ICBUb255IENoYW5nICA8dG9ueUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2ZXJ0IHI5
MzI5NCwgZG9lc24ndCBjb21waWxlIG9uIENocm9taXVtIE1hYy4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwCmluZGV4IDZjMDYxN2I2ZGM0ZjM3YmE2ZGYzNDFj
MTc2ZGJlMjRjZGJkMGIzNWMuLjNlNmYxMDI0NTJmOWE1ZmYyZjY3OGYwZGE3ZjE3Mzc2ZmI1ZTgx
ODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcApAQCAt
MjE2NywxMyArMjE2Nyw5IEBAIHZvaWQgV2ViRnJhbWVJbXBsOjppbnZhbGlkYXRlQXJlYShBcmVh
VG9JbnZhbGlkYXRlIGFyZWEpCiAKICAgICAgICAgaWYgKChhcmVhICYgSW52YWxpZGF0ZVNjcm9s
bGJhcikgPT0gSW52YWxpZGF0ZVNjcm9sbGJhcikgewogICAgICAgICAgICAgLy8gSW52YWxpZGF0
ZSB0aGUgdmVydGljYWwgc2Nyb2xsIGJhciByZWdpb24gZm9yIHRoZSB2aWV3LgotICAgICAgICAg
ICAgSW50UmVjdCBzY3JvbGxCYXJWZXJ0KAotICAgICAgICAgICAgICAgIHZpZXctPngoKSArIHZp
ZXctPnZpc2libGVXaWR0aCgpLCB2aWV3LT55KCksCi0gICAgICAgICAgICAgICAgU2Nyb2xsYmFy
VGhlbWU6Om5hdGl2ZVRoZW1lKCktPnNjcm9sbGJhclRoaWNrbmVzcygpLAotICAgICAgICAgICAg
ICAgIHZpZXctPnZpc2libGVIZWlnaHQoKSk7Ci0gICAgICAgICAgICBJbnRSZWN0IGZyYW1lUmVj
dCA9IHZpZXctPmZyYW1lUmVjdCgpOwotICAgICAgICAgICAgc2Nyb2xsQmFyVmVydC5tb3ZlKC1m
cmFtZVJlY3QueCgpLCAtZnJhbWVSZWN0LnkoKSk7Ci0gICAgICAgICAgICB2aWV3LT5pbnZhbGlk
YXRlUmVjdChzY3JvbGxCYXJWZXJ0KTsKKyAgICAgICAgICAgIFNjcm9sbGJhciogc2Nyb2xsYmFy
ID0gdmlldy0+dmVydGljYWxTY3JvbGxiYXIoKTsKKyAgICAgICAgICAgIGlmIChzY3JvbGxiYXIp
CisgICAgICAgICAgICAgICAgc2Nyb2xsYmFyLT5pbnZhbGlkYXRlKCk7CiAgICAgICAgIH0KICAg
ICB9CiB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>