<?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>119033</bug_id>
          
          <creation_ts>2013-07-23 21:55:08 -0700</creation_ts>
          <short_desc>Background doesn&apos;t fully repaint on this page</short_desc>
          <delta_ts>2013-08-04 14:27:53 -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>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://people.mozilla.org/~jdaggett/tests/social-waterfall.html</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="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bdakin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>911218</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-07-23 21:55:08 -0700</bug_when>
    <thetext>Hit &apos;b&apos; to toggle the background color after scrolling down a bit. Parts of the background remain unchanged.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>911331</commentid>
    <comment_count>1</comment_count>
      <attachid>207401</attachid>
    <who name="alan">zalan</who>
    <bug_when>2013-07-24 09:39:29 -0700</bug_when>
    <thetext>Created attachment 207401
test reduction</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>911337</commentid>
    <comment_count>2</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2013-07-24 09:54:24 -0700</bug_when>
    <thetext>This is an issue with missing repaint rects. When the style change happens, we send repaints on the content -excluding the margins and on the entire RenderView() (see below). Making the entire canvas dirty is meant to fix the background repaint issue on the body/html. However, when the body&apos;s margin makes its parent (html) larger than the viewport, repainting only the canvas is not sufficient.
Something like this could address the problem. -&gt;

diff --git a/Source/WebCore/rendering/RenderBox.cpp b/Source/WebCore/rendering/RenderBox.cpp
index d93dbf0..d8f17d5 100644
--- a/Source/WebCore/rendering/RenderBox.cpp
+++ b/Source/WebCore/rendering/RenderBox.cpp
@@ -205,10 +205,12 @@ void RenderBox::styleWillChange(StyleDifference diff, const RenderStyle* newStyl
 
     RenderStyle* oldStyle = style();
     if (oldStyle) {
-        // The background of the root element or the body element could propagate up to
-        // the canvas.  Just dirty the entire canvas when our style changes substantially.
+        // The background of the root or the body element could propagate up to
+        // the canvas. Just dirty the parents including the entire canvas when our style changes substantially.
         if (diff &gt;= StyleDifferenceRepaint &amp;&amp; node() &amp;&amp;
             (node()-&gt;hasTagName(htmlTag) || node()-&gt;hasTagName(bodyTag))) {
+            if (parent() &amp;&amp; parent() != view())
+                parent()-&gt;repaint();
             view()-&gt;repaint();
             
 #if USE(ACCELERATED_COMPOSITING)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>911347</commentid>
    <comment_count>3</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-07-24 10:24:27 -0700</bug_when>
    <thetext>Does this happen without tiled drawing enabled.

I think view()-&gt;repaint(); is broken with tiled drawing; it only repaints the visible part of the view, but we need to dirty all tiles.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>911355</commentid>
    <comment_count>4</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2013-07-24 10:35:41 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Does this happen without tiled drawing enabled.
&gt; 
&gt; I think view()-&gt;repaint(); is broken with tiled drawing; it only repaints the visible part of the view, but we need to dirty all tiles.
I&apos;ll check it out...However, the RenderView is a lot smaller than its RenderBlock child 
RenderView (0, 0, 1260, 717)
    RenderBlock (0, 0, 1260, 1200) (notice the impact of the body&apos;s margin on the width)
        RenderBody (300, 0, 660, 900)

so it might be that the tiling code just makes this problem visible.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>911386</commentid>
    <comment_count>5</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2013-07-24 12:04:29 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Does this happen without tiled drawing enabled.
&gt; 
&gt; I think view()-&gt;repaint(); is broken with tiled drawing; it only repaints the visible part of the view, but we need to dirty all tiles.
It&apos;s broken the same way in the non-tiled version too as far as the repainting is the concerned after the style change. However, since non-tiled scrolling involves repaints as you scroll (no pre-painted buffers), the out-of-the-viewport part gets repainted and that fixes the background color. If you scroll to the bottom first and reload the page, you see the broken background color (and gets cleared up right after the document is scrolled)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>911636</commentid>
    <comment_count>6</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2013-07-25 09:19:36 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Does this happen without tiled drawing enabled.
&gt; 
&gt; I think view()-&gt;repaint(); is broken with tiled drawing; it only repaints the visible part of the view, but we need to dirty all tiles.

(recap:
1, Both body and html background get propagated up to the viewport. Say, if body has background-color attribute set, while &lt;html&gt; doesn&apos;t, the color is applied not only on the body but on both the html and the viewport. 
3. With the current &apos;view()-&gt;repaint()&apos; setup, it works just fine as long as the document is smaller than the viewport. When the document extends the viewport, the out-of-the-viewport area of the existing tiles end up with wrong(old) background color(no repaint). 
4. As the document position is changed and new tiles are getting created, they are painted with the correct color. That&apos;s why the linked page gets the wrong background color only on a &apos;small&apos; portion of the document.
5. With tiles off, it works fine as we always repaint when the document position is changed. (though with the exception of the renderview&apos;s rect is applied mistakenly when the doc pos != 0) )

We could either 
1. simply dirty all the tiles 
or 
2, be a bit more verbose by doing something like this:
repaint(); -&gt;(repaint this)
if (isBody())
  parent()-&gt;repaint(); -&gt;(repaint &lt;html&gt;, in case html does not have background set)
view()-&gt;repaint(); -&gt;(repaint the viewport, in case the document is smaller than the viewport)

but that&apos;s pretty much equivalent of making all the tiles dirty and it just creates noise.
What I am not sure about is whether view()-&gt;repaint() should be extended to cover all the tiles too (so it would always dirty them all) or come up with a dedicated function for this specific usecase.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>911978</commentid>
    <comment_count>7</comment_count>
      <attachid>207529</attachid>
    <who name="alan">zalan</who>
    <bug_when>2013-07-26 08:34:56 -0700</bug_when>
    <thetext>Created attachment 207529
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>911981</commentid>
    <comment_count>8</comment_count>
      <attachid>207529</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-07-26 08:45:46 -0700</bug_when>
    <thetext>Comment on attachment 207529
Patch

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

&gt; Source/WebCore/rendering/RenderBox.cpp:211
&gt; +            view()-&gt;layer()-&gt;repaintIncludingDescendants();

I think this is too heavyweight; it will repaint all child compositing layers, which is not necessary.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>911982</commentid>
    <comment_count>9</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-07-26 08:49:22 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #3)
&gt; &gt; Does this happen without tiled drawing enabled.
&gt; &gt; 
&gt; &gt; I think view()-&gt;repaint(); is broken with tiled drawing; it only repaints the visible part of the view, but we need to dirty all tiles.
&gt; 
&gt; (recap:
&gt; 1, Both body and html background get propagated up to the viewport. Say, if body has background-color attribute set, while &lt;html&gt; doesn&apos;t, the color is applied not only on the body but on both the html and the viewport. 
&gt; 3. With the current &apos;view()-&gt;repaint()&apos; setup, it works just fine as long as the document is smaller than the viewport. When the document extends the viewport, the out-of-the-viewport area of the existing tiles end up with wrong(old) background color(no repaint). 
&gt; 4. As the document position is changed and new tiles are getting created, they are painted with the correct color. That&apos;s why the linked page gets the wrong background color only on a &apos;small&apos; portion of the document.
&gt; 5. With tiles off, it works fine as we always repaint when the document position is changed. (though with the exception of the renderview&apos;s rect is applied mistakenly when the doc pos != 0) )
&gt; 
&gt; We could either 
&gt; 1. simply dirty all the tiles 
&gt; or 
&gt; 2, be a bit more verbose by doing something like this:
&gt; repaint(); -&gt;(repaint this)
&gt; if (isBody())
&gt;   parent()-&gt;repaint(); -&gt;(repaint &lt;html&gt;, in case html does not have background set)
&gt; view()-&gt;repaint(); -&gt;(repaint the viewport, in case the document is smaller than the viewport)
&gt; 
&gt; but that&apos;s pretty much equivalent of making all the tiles dirty and it just creates noise.
&gt; What I am not sure about is whether view()-&gt;repaint() should be extended to cover all the tiles too (so it would always dirty them all) or come up with a dedicated function for this specific usecase.

I think we should invent a new function to repaint all the tiles, possibly on FrameView, and transition callers of view()-&gt;repaint() onto it. This would be similar to the &quot;paintsEntireContents&quot; code path. When tiled/layer-backed, it would know to invalidate the entire tiled area.

We&apos;ll have to be careful to distinguish between repaints which only need to affect the root background, and those which are &quot;repaint everything including all compositing layers&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>913334</commentid>
    <comment_count>10</comment_count>
      <attachid>207846</attachid>
    <who name="alan">zalan</who>
    <bug_when>2013-07-31 06:05:22 -0700</bug_when>
    <thetext>Created attachment 207846
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>913336</commentid>
    <comment_count>11</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2013-07-31 06:06:41 -0700</bug_when>
    <thetext>I am more than happy to change &apos;repaintFullContent&apos; to something more meaningful.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>914291</commentid>
    <comment_count>12</comment_count>
      <attachid>207846</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-08-02 14:50:54 -0700</bug_when>
    <thetext>Comment on attachment 207846
Patch

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

&gt; Source/WebCore/page/FrameView.cpp:2023
&gt; +void FrameView::repaintFullContent()
&gt; +{
&gt; +    RenderView* renderView = this-&gt;renderView();
&gt; +    if (!renderView)
&gt; +        return;
&gt; +
&gt; +#if USE(ACCELERATED_COMPOSITING)
&gt; +    RenderLayer* layer = renderView-&gt;layer();
&gt; +    if (layer-&gt;isComposited()) {
&gt; +        layer-&gt;setBackingNeedsRepaint();
&gt; +        return;
&gt; +    }
&gt; +#endif
&gt; +    renderView-&gt;repaint();
&gt; +}

Since this just gets the RenderView and does stuff to it, I think it should be on RenderView, which would simplify the call sites. So I think this should just be moved to RenderView and called something like repaintRootContents() or something.

&gt; Source/WebCore/rendering/RenderBox.cpp:211
&gt; +        if (diff &gt;= StyleDifferenceRepaint &amp;&amp; (isRoot() || isBody())) {

I&apos;m not sure that isRoot() and node()-&gt;hasTagName(htmlTag) are equivalent in all cases. E.g. what about &lt;html&gt; inside SVG foreign object?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>914390</commentid>
    <comment_count>13</comment_count>
      <attachid>208069</attachid>
    <who name="alan">zalan</who>
    <bug_when>2013-08-03 12:34:02 -0700</bug_when>
    <thetext>Created attachment 208069
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>914392</commentid>
    <comment_count>14</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2013-08-03 12:38:52 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; (From update of attachment 207846 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=207846&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/page/FrameView.cpp:2023
&gt; &gt; +void FrameView::repaintFullContent()
&gt; &gt; +{
&gt; &gt; +    RenderView* renderView = this-&gt;renderView();
&gt; &gt; +    if (!renderView)
&gt; &gt; +        return;
&gt; &gt; +
&gt; &gt; +#if USE(ACCELERATED_COMPOSITING)
&gt; &gt; +    RenderLayer* layer = renderView-&gt;layer();
&gt; &gt; +    if (layer-&gt;isComposited()) {
&gt; &gt; +        layer-&gt;setBackingNeedsRepaint();
&gt; &gt; +        return;
&gt; &gt; +    }
&gt; &gt; +#endif
&gt; &gt; +    renderView-&gt;repaint();
&gt; &gt; +}
&gt; 
&gt; Since this just gets the RenderView and does stuff to it, I think it should be on RenderView, which would simplify the call sites. So I think this should just be moved to RenderView and called something like repaintRootContents() or something.
&gt; 
&gt; &gt; Source/WebCore/rendering/RenderBox.cpp:211
&gt; &gt; +        if (diff &gt;= StyleDifferenceRepaint &amp;&amp; (isRoot() || isBody())) {
&gt; 
&gt; I&apos;m not sure that isRoot() and node()-&gt;hasTagName(htmlTag) are equivalent in all cases. E.g. what about &lt;html&gt; inside SVG foreign object?
isRoot() is a bit misleading name, It actually calls document()-&gt;documentElement() == m_node. 
Even when &lt;html&gt; is embedded to a svg foreign object, we are still inside the &lt;html&gt; document so document()-&gt;documentElement() returns the &lt;html&gt; as opposed to what root might suggest (the &lt;svg&gt; document).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>914467</commentid>
    <comment_count>15</comment_count>
      <attachid>208069</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-08-04 11:02:44 -0700</bug_when>
    <thetext>Comment on attachment 208069
Patch

Rejecting attachment 208069 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.appspot.com&apos;, &apos;--bot-id=webkit-cq-01&apos;, &apos;validate-changelog&apos;, &apos;--check-oops&apos;, &apos;--non-interactive&apos;, 208069, &apos;--port=mac&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

ChangeLog entry in ChangeLog contains OOPS!.

Full output: http://webkit-queues.appspot.com/results/1342867</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>914475</commentid>
    <comment_count>16</comment_count>
      <attachid>208100</attachid>
    <who name="alan">zalan</who>
    <bug_when>2013-08-04 13:41:05 -0700</bug_when>
    <thetext>Created attachment 208100
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>914479</commentid>
    <comment_count>17</comment_count>
      <attachid>208100</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-08-04 14:27:50 -0700</bug_when>
    <thetext>Comment on attachment 208100
Patch for landing

Clearing flags on attachment: 208100

Committed r153701: &lt;http://trac.webkit.org/changeset/153701&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>914480</commentid>
    <comment_count>18</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-08-04 14:27:53 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>207401</attachid>
            <date>2013-07-24 09:39:29 -0700</date>
            <delta_ts>2013-07-24 09:39:29 -0700</delta_ts>
            <desc>test reduction</desc>
            <filename>bckg.html</filename>
            <type>text/html</type>
            <size>2090</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxodG1sPgo8aGVhZD4KPHN0eWxlPgpib2R5IHsKICBtYXJnaW46IDEw
cHggMzAwcHggODAwcHggMzAwcHg7CiAgYmFja2dyb3VuZC1jb2xvcjogcmVkOwp9Cjwvc3R5bGU+
CiAgCjxzY3JpcHQ+CmZ1bmN0aW9uIGNoYW5nZUJja2dDb2xvcigpIHsKICAgIHNldFRpbWVvdXQo
ImRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdib2R5JylbMF0uc3R5bGUuYmFja2dyb3Vu
ZENvbG9yPSd3aGl0ZSciLCA1MDApOwp9Cjwvc2NyaXB0Pgo8L2hlYWQ+Cjxib2R5IG9ubG9hZD0i
Y2hhbmdlQmNrZ0NvbG9yKCk7Ij4KPHA+VGhpcyBkb2N1bWVudCBkZWZpbmVzIGJvdGggbWFyZ2lu
IGFuZCBiYWNrZ3JvdW5kIGNvbG9yIG9uIHRoZSBib2R5LiBCY2tnIGNvbG9yIGlzIHRyYW5zcGFy
ZW50IG9uIG1hcmdpbnMsIGJ1dCBhcHBhcmVudGx5IG5vdCBvbiBib2R5LiBTY3JvbGwgZG93biBh
bmQgY2hlY2sgaWYgdGhlIHJlZCBiY2tnIGlzIHN0aWxsIHZpc2libGUgYWZ0ZXIgdGhlIHN0eWxl
IGNoYW5nZS48L3A+CkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgpMb3JlbSBpcHN1bSBk
b2xvciBzaXQgYW1ldDxicj4KTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CkxvcmVtIGlw
c3VtIGRvbG9yIHNpdCBhbWV0PGJyPgpMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldDxicj4KTG9y
ZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJy
PgpMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldDxicj4KTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFt
ZXQ8YnI+CkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgpMb3JlbSBpcHN1bSBkb2xvciBz
aXQgYW1ldDxicj4KTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CkxvcmVtIGlwc3VtIGRv
bG9yIHNpdCBhbWV0PGJyPgpMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldDxicj4KTG9yZW0gaXBz
dW0gZG9sb3Igc2l0IGFtZXQ8YnI+CkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgpMb3Jl
bSBpcHN1bSBkb2xvciBzaXQgYW1ldDxicj4KTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+
CkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgpMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1l
dDxicj4KTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CkxvcmVtIGlwc3VtIGRvbG9yIHNp
dCBhbWV0PGJyPgpMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldDxicj4KTG9yZW0gaXBzdW0gZG9s
b3Igc2l0IGFtZXQ8YnI+CkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgpMb3JlbSBpcHN1
bSBkb2xvciBzaXQgYW1ldDxicj4KTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CkxvcmVt
IGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgpMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldDxicj4K
TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0
PGJyPgpMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldDxicj4KTG9yZW0gaXBzdW0gZG9sb3Igc2l0
IGFtZXQ8YnI+CkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgpMb3JlbSBpcHN1bSBkb2xv
ciBzaXQgYW1ldDxicj4KTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CkxvcmVtIGlwc3Vt
IGRvbG9yIHNpdCBhbWV0PGJyPgpMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldDxicj4KTG9yZW0g
aXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgpM
b3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldDxicj4KTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8
YnI+CkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgpMb3JlbSBpcHN1bSBkb2xvciBzaXQg
YW1ldDxicj4KTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CkxvcmVtIGlwc3VtIGRvbG9y
IHNpdCBhbWV0PGJyPgpMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldDxicj4KTG9yZW0gaXBzdW0g
ZG9sb3Igc2l0IGFtZXQ8YnI+CkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgpMb3JlbSBp
cHN1bSBkb2xvciBzaXQgYW1ldDxicj4KPC9ib2R5PjwvaHRtbD4=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>207529</attachid>
            <date>2013-07-26 08:34:56 -0700</date>
            <delta_ts>2013-07-31 06:05:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-119033-20130726183454.patch</filename>
            <type>text/plain</type>
            <size>11508</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUzMzY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjUwZWU0ZmVhYzc0OWQ2
MzFmMTQ1NDgxYzA3NWFkODMwODFjY2VhNi4uZDFiOTIwYmZkOWRhY2FiNmZjZTk5YmQxN2FhMTMx
MWEzNDBmNzI5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEzLTA3LTI2ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgQmFja2dyb3VuZCBkb2Vzbid0
IGZ1bGx5IHJlcGFpbnQgd2hlbiBib2R5IGhhcyBtYXJnaW5zLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE5MDMzCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRW5zdXJlIHRoYXQgYmFja2dyb3VuZC1jb2xv
ciBjaGFuZ2VzIGRvIG5vdCBsZWF2ZSB1bnBhaW50ZWQgYXJlYXMgd2hlbgorICAgICAgICBib2R5
IGhhcyBtYXJnaW5zLgorCisgICAgICAgIEJvdGggPGJvZHk+IGFuZCA8aHRtbD4gYmFja2dyb3Vu
ZC1jb2xvciBnZXQgcHJvcGFnYXRlZCB1cCB0byB0aGUgdmlld3BvcnQuIAorICAgICAgICBpZiA8
Ym9keT4gaGFzIGJhY2tncm91bmQtY29sb3IgYXR0cmlidXRlIHNldCwgd2hpbGUgPGh0bWw+IGRv
ZXNuJ3QsIHRoZSBjb2xvciBpcyAKKyAgICAgICAgYXBwbGllZCBub3Qgb25seSBvbiB0aGUgPGJv
ZHk+IGJ1dCBvbiBib3RoIHRoZSA8aHRtbD4gYW5kIHRoZSB2aWV3cG9ydC4gSG93ZXZlciwgaXQn
cworICAgICAgICBub3QgZW5vdWdoIHRvIG1hcmsgdGhlIFJlbmRlclZpZXcgZGlydHkgYmVjYXVz
ZSB3aXRoIHRpbGVzIG9uLCB0aGVyZSBjb3VsZCBiZSBhcmVhcyAKKyAgICAgICAgb3V0c2lkZSBv
ZiB0aGUgdmlld3BvcnQgdGhhdCBuZWVkIHJlcGFpbnQuIEJ5IHNlbmRpbmcgdGhlIHJlcGFpbnQg
ZXZlbnQgZG93biBvbgorICAgICAgICB0aGUgbGF5ZXIgdHJlZSwgd2UgZW5zdXJlIHRoYXQgYWxs
IHRpbGVzIGFyZSBtYXJrZWQgZGlydHkgYW5kIHRoZSBuZXcgYmFja2dyb3VuZAorICAgICAgICBj
b2xvciBjb3ZlcnMgYWxsIGFyZWFzLgorCisgICAgICAgIFRlc3Q6IGZhc3QvYmFja2dyb3VuZHMv
YmFja2dyb3VuZC1jb2xvci1vbi1odG1sLWFuZC1ib2R5Lmh0bWwKKworICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94OjpzdHlsZVdp
bGxDaGFuZ2UpOgorCiAyMDEzLTA3LTI1ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3Jn
PgogCiAgICAgICAgIFJlbW92ZSB1bnVzZWQgSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQ6OnRl
eHRSZW5kZXJlckFmdGVyVXBkYXRlTGF5b3V0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
b3guY3BwCmluZGV4IDMyNWUzOWNlZDhmYzk5YmQ1YTZlMGZjNTNhZjE1M2Y0MDUzODhlZTEuLjgz
NmM4NDk4OGU3ODVhOGQ2MzQyYzA5MzYwZWI0Nzg1NjI1OGY2YTggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJCb3guY3BwCkBAIC0yMDYsMTAgKzIwNiw5IEBAIHZvaWQgUmVuZGVyQm94
OjpzdHlsZVdpbGxDaGFuZ2UoU3R5bGVEaWZmZXJlbmNlIGRpZmYsIGNvbnN0IFJlbmRlclN0eWxl
KiBuZXdTdHlsCiAgICAgUmVuZGVyU3R5bGUqIG9sZFN0eWxlID0gc3R5bGUoKTsKICAgICBpZiAo
b2xkU3R5bGUpIHsKICAgICAgICAgLy8gVGhlIGJhY2tncm91bmQgb2YgdGhlIHJvb3QgZWxlbWVu
dCBvciB0aGUgYm9keSBlbGVtZW50IGNvdWxkIHByb3BhZ2F0ZSB1cCB0bwotICAgICAgICAvLyB0
aGUgY2FudmFzLiAgSnVzdCBkaXJ0eSB0aGUgZW50aXJlIGNhbnZhcyB3aGVuIG91ciBzdHlsZSBj
aGFuZ2VzIHN1YnN0YW50aWFsbHkuCi0gICAgICAgIGlmIChkaWZmID49IFN0eWxlRGlmZmVyZW5j
ZVJlcGFpbnQgJiYgbm9kZSgpICYmCi0gICAgICAgICAgICAobm9kZSgpLT5oYXNUYWdOYW1lKGh0
bWxUYWcpIHx8IG5vZGUoKS0+aGFzVGFnTmFtZShib2R5VGFnKSkpIHsKLSAgICAgICAgICAgIHZp
ZXcoKS0+cmVwYWludCgpOworICAgICAgICAvLyB0aGUgY2FudmFzLiBKdXN0IGRpcnR5IHRoZSBl
bnRpcmUgbGF5ZXIgdHJlZSB3aGVuIG91ciBzdHlsZSBjaGFuZ2VzIHN1YnN0YW50aWFsbHkuCisg
ICAgICAgIGlmIChkaWZmID49IFN0eWxlRGlmZmVyZW5jZVJlcGFpbnQgJiYgKGlzUm9vdCgpIHx8
IGlzQm9keSgpKSkgeworICAgICAgICAgICAgdmlldygpLT5sYXllcigpLT5yZXBhaW50SW5jbHVk
aW5nRGVzY2VuZGFudHMoKTsKICAgICAgICAgICAgIAogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01Q
T1NJVElORykKICAgICAgICAgICAgIGlmIChvbGRTdHlsZS0+aGFzRW50aXJlbHlGaXhlZEJhY2tn
cm91bmQoKSAhPSBuZXdTdHlsZS0+aGFzRW50aXJlbHlGaXhlZEJhY2tncm91bmQoKSkKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRl
eCA5MzE3NjM2YjdlMzFjMzRhOTI4NmVjYWVjNjAzOTQ4YTBhNzg5YzdiLi4xZWIxY2IzMzY3N2I5
NzBjY2Q5Y2MzMTZlZWI3MTBhYzQ2ZTYyYzYwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTMt
MDctMjYgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBCYWNrZ3Jv
dW5kIGRvZXNuJ3QgZnVsbHkgcmVwYWludCB3aGVuIGJvZHkgaGFzIG1hcmdpbnMuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTkwMzMKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFbnN1cmUgdGhhdCBiYWNr
Z3JvdW5kLWNvbG9yIGNoYW5nZXMgZG8gbm90IGxlYXZlIHVucGFpbnRlZCBhcmVhcyB3aGVuCisg
ICAgICAgIGJvZHkgaGFzIG1hcmdpbnMuCisKKyAgICAgICAgQm90aCA8Ym9keT4gYW5kIDxodG1s
PiBiYWNrZ3JvdW5kLWNvbG9yIGdldCBwcm9wYWdhdGVkIHVwIHRvIHRoZSB2aWV3cG9ydC4gCisg
ICAgICAgIGlmIDxib2R5PiBoYXMgYmFja2dyb3VuZC1jb2xvciBhdHRyaWJ1dGUgc2V0LCB3aGls
ZSA8aHRtbD4gZG9lc24ndCwgdGhlIGNvbG9yIGlzIAorICAgICAgICBhcHBsaWVkIG5vdCBvbmx5
IG9uIHRoZSA8Ym9keT4gYnV0IG9uIGJvdGggdGhlIDxodG1sPiBhbmQgdGhlIHZpZXdwb3J0LiBI
b3dldmVyLCBpdCdzCisgICAgICAgIG5vdCBlbm91Z2ggdG8gbWFyayB0aGUgUmVuZGVyVmlldyBk
aXJ0eSBiZWNhdXNlIHdpdGggdGlsZXMgb24sIHRoZXJlIGNvdWxkIGJlIGFyZWFzIAorICAgICAg
ICBvdXRzaWRlIG9mIHRoZSB2aWV3cG9ydCB0aGF0IG5lZWQgcmVwYWludC4gQnkgc2VuZGluZyB0
aGUgcmVwYWludCBldmVudCBkb3duIG9uCisgICAgICAgIHRoZSBsYXllciB0cmVlLCB3ZSBlbnN1
cmUgdGhhdCBhbGwgdGlsZXMgYXJlIG1hcmtlZCBkaXJ0eSBhbmQgdGhlIG5ldyBiYWNrZ3JvdW5k
CisgICAgICAgIGNvbG9yIGNvdmVycyBhbGwgYXJlYXMuCisKKyAgICAgICAgKiBmYXN0L2JhY2tn
cm91bmRzL2JhY2tncm91bmQtY29sb3Itb24taHRtbC1hbmQtYm9keS1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGZhc3QvYmFja2dyb3VuZHMvYmFja2dyb3VuZC1jb2xvci1vbi1odG1s
LWFuZC1ib2R5Lmh0bWw6IEFkZGVkLgorCiAyMDEzLTA3LTI1ICBSeW9zdWtlIE5pd2EgIDxybml3
YUB3ZWJraXQub3JnPgogCiAgICAgICAgIEZpeCBkb2N1bWVudCBsZWFrIHdoZW4gc2VsZWN0aW9u
IGlzIGNyZWF0ZWQgaW5zaWRlIHRoZSBkb2N1bWVudApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9iYWNrZ3JvdW5kcy9iYWNrZ3JvdW5kLWNvbG9yLW9uLWh0bWwtYW5kLWJvZHktZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9iYWNrZ3JvdW5kcy9iYWNrZ3JvdW5kLWNvbG9yLW9u
LWh0bWwtYW5kLWJvZHktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk1MzIyYzJjOWU4ZGY2NDA0
OTQwMzhkNzgyMTAzYmU1NTg4ZmYwMmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2JhY2tncm91bmRzL2JhY2tncm91bmQtY29sb3Itb24taHRtbC1hbmQtYm9keS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMSBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgd2UgZG9uJ3Qg
cGFydGlhbCByZXBhaW50IHdoZW4gYmFja2dyb3VuZC1jb2xvciBjaGFuZ2VzLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyByZXBhaW50UmVjdHMuaW5kZXhPZignNzg1IDI3
MzInKSBpcyBub3QgLTEKK1BBU1MgcmVwYWludFJlY3RzLmluZGV4T2YoJzc4NSA2NjgnKSBpcyBu
b3QgLTEKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2JhY2tncm91bmRzL2JhY2tncm91bmQtY29s
b3Itb24taHRtbC1hbmQtYm9keS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9iYWNrZ3JvdW5kcy9i
YWNrZ3JvdW5kLWNvbG9yLW9uLWh0bWwtYW5kLWJvZHkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kNjU4NTU2
MGZlODNmNmI1MGJjMmM4YTk2OWIwZmJjOGI4ZDAyMDAzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9iYWNrZ3JvdW5kcy9iYWNrZ3JvdW5kLWNvbG9yLW9uLWh0bWwtYW5kLWJv
ZHkuaHRtbApAQCAtMCwwICsxLDIxMCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+anNUZXN0
SXNBc3luYyA9IHRydWU7PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKworPHN0eWxlPgorYm9keSB7CisgIG1hcmdpbjogMTAw
cHggMTAwcHggMTAwcHggMTAwcHg7CisgIGJhY2tncm91bmQtY29sb3I6IHJlZDsKKyAgZm9udC1m
YW1pbHk6ICdBaGVtJzsKK30KKzwvc3R5bGU+CisKKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgd2UgZG9uJ3QgcGFydGlhbCByZXBhaW50IHdoZW4gYmFja2dy
b3VuZC1jb2xvciBjaGFuZ2VzLiIpOworCitmdW5jdGlvbiBzdGFydCgpIHsKKyAgICB2YXIgYm9k
eSA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdib2R5JylbMF07CisgICAgd2luZG93
LnNldFRpbWVvdXQoZnVuY3Rpb24oKSB7IAorICAgICAgICBib2R5LnN0eWxlLmJhY2tncm91bmRD
b2xvcj0nd2hpdGUnOworICAgICAgICB3aW5kb3cuc2V0VGltZW91dChmdW5jdGlvbigpIHsKKyAg
ICAgICAgICAgIGJvZHkucmVtb3ZlQ2hpbGQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnRl
bnQnKSk7CisgICAgICAgICAgICBib2R5Lm9mZnNldEhlaWdodDsKKyAgICAgICAgICAgIGRvY3Vt
ZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdodG1sJylbMF0uc3R5bGUuYmFja2dyb3VuZENvbG9y
PSdncmVlbic7CisgICAgICAgICAgICB3aW5kb3cuc2V0VGltZW91dChsb2dSZXBhaW50cywgMTAw
KTsKKyAgICAgICAgfSwgMTAwKTsKKyAgICB9LCAxMDApOyAKKworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIgfHwgIXdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgIHJldHVybjsKKyAgICAgICAg
CisgICAgd2luZG93LmludGVybmFscy5zdGFydFRyYWNraW5nUmVwYWludHMoZG9jdW1lbnQpOwor
ICAgIHdpbmRvdy50ZXN0UnVubmVyLmRpc3BsYXkoKTsKK30KKworZnVuY3Rpb24gbG9nUmVwYWlu
dHMoKSB7CisgICAgaWYgKCF3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICByZXR1cm47CisgICAg
ICAgIAorICAgIHJlcGFpbnRSZWN0cyA9IHdpbmRvdy5pbnRlcm5hbHMucmVwYWludFJlY3RzQXNU
ZXh0KGRvY3VtZW50KTsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnN0b3BUcmFja2luZ1JlcGFpbnRz
KGRvY3VtZW50KTsKKworICAgIHNob3VsZE5vdEJlKCJyZXBhaW50UmVjdHMuaW5kZXhPZignNzg1
IDI3MzInKSIsICItMSIpOworICAgIHNob3VsZE5vdEJlKCJyZXBhaW50UmVjdHMuaW5kZXhPZign
Nzg1IDY2OCcpIiwgIi0xIik7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30KKzwvc2NyaXB0Pgor
PC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9J3N0YXJ0KCk7Jz4KKzxkaXYgaWQ9J2NvbnRlbnQnPgor
TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CitMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1l
dDxicj4KK0xvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorTG9yZW0gaXBzdW0gZG9sb3Ig
c2l0IGFtZXQ8YnI+CitMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldDxicj4KK0xvcmVtIGlwc3Vt
IGRvbG9yIHNpdCBhbWV0PGJyPgorTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CitMb3Jl
bSBpcHN1bSBkb2xvciBzaXQgYW1ldDxicj4KK0xvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJy
PgorTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CitMb3JlbSBpcHN1bSBkb2xvciBzaXQg
YW1ldDxicj4KK0xvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorTG9yZW0gaXBzdW0gZG9s
b3Igc2l0IGFtZXQ8YnI+CitMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldDxicj4KK0xvcmVtIGlw
c3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CitM
b3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldDxicj4KK0xvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0
PGJyPgorTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CitMb3JlbSBpcHN1bSBkb2xvciBz
aXQgYW1ldDxicj4KK0xvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorTG9yZW0gaXBzdW0g
ZG9sb3Igc2l0IGFtZXQ8YnI+CitMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldDxicj4KK0xvcmVt
IGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+
CitMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldDxicj4KK0xvcmVtIGlwc3VtIGRvbG9yIHNpdCBh
bWV0PGJyPgorTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CitMb3JlbSBpcHN1bSBkb2xv
ciBzaXQgYW1ldDxicj4KK0xvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorTG9yZW0gaXBz
dW0gZG9sb3Igc2l0IGFtZXQ8YnI+CitMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldDxicj4KK0xv
cmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8
YnI+CitMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldDxicj4KK0xvcmVtIGlwc3VtIGRvbG9yIHNp
dCBhbWV0PGJyPgorTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CitMb3JlbSBpcHN1bSBk
b2xvciBzaXQgYW1ldDxicj4KK0xvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorTG9yZW0g
aXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CitMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldDxicj4K
K0xvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFt
ZXQ8YnI+CitMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldDxicj4KK0xvcmVtIGlwc3VtIGRvbG9y
IHNpdCBhbWV0PGJyPgorTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CitMb3JlbSBpcHN1
bSBkb2xvciBzaXQgYW1ldDxicj4KK0xvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorTG9y
ZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CitMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldDxi
cj4KK0xvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorTG9yZW0gaXBzdW0gZG9sb3Igc2l0
IGFtZXQ8YnI+CitMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldDxicj4KK0xvcmVtIGlwc3VtIGRv
bG9yIHNpdCBhbWV0PGJyPgorTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CitMb3JlbSBp
cHN1bSBkb2xvciBzaXQgYW1ldDxicj4KK0xvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgor
TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CitMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1l
dDxicj4KK0xvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorTG9yZW0gaXBzdW0gZG9sb3Ig
c2l0IGFtZXQ8YnI+CitMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldDxicj4KK0xvcmVtIGlwc3Vt
IGRvbG9yIHNpdCBhbWV0PGJyPgorTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CitMb3Jl
bSBpcHN1bSBkb2xvciBzaXQgYW1ldDxicj4KK0xvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJy
PgorTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CitMb3JlbSBpcHN1bSBkb2xvciBzaXQg
YW1ldDxicj4KK0xvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorTG9yZW0gaXBzdW0gZG9s
b3Igc2l0IGFtZXQ8YnI+CitMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldDxicj4KK0xvcmVtIGlw
c3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CitM
b3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldDxicj4KK0xvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0
PGJyPgorTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CitMb3JlbSBpcHN1bSBkb2xvciBz
aXQgYW1ldDxicj4KK0xvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorTG9yZW0gaXBzdW0g
ZG9sb3Igc2l0IGFtZXQ8YnI+CitMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldDxicj4KK0xvcmVt
IGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+
CitMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldDxicj4KK0xvcmVtIGlwc3VtIGRvbG9yIHNpdCBh
bWV0PGJyPgorTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CitMb3JlbSBpcHN1bSBkb2xv
ciBzaXQgYW1ldDxicj4KK0xvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorTG9yZW0gaXBz
dW0gZG9sb3Igc2l0IGFtZXQ8YnI+CitMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldDxicj4KK0xv
cmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8
YnI+CitMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldDxicj4KK0xvcmVtIGlwc3VtIGRvbG9yIHNp
dCBhbWV0PGJyPgorTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CitMb3JlbSBpcHN1bSBk
b2xvciBzaXQgYW1ldDxicj4KK0xvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorTG9yZW0g
aXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CitMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldDxicj4K
K0xvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFt
ZXQ8YnI+CitMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldDxicj4KK0xvcmVtIGlwc3VtIGRvbG9y
IHNpdCBhbWV0PGJyPgorTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CitMb3JlbSBpcHN1
bSBkb2xvciBzaXQgYW1ldDxicj4KK0xvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorTG9y
ZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CitMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldDxi
cj4KK0xvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorTG9yZW0gaXBzdW0gZG9sb3Igc2l0
IGFtZXQ8YnI+CitMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldDxicj4KK0xvcmVtIGlwc3VtIGRv
bG9yIHNpdCBhbWV0PGJyPgorTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CitMb3JlbSBp
cHN1bSBkb2xvciBzaXQgYW1ldDxicj4KK0xvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgor
TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CitMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1l
dDxicj4KK0xvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorTG9yZW0gaXBzdW0gZG9sb3Ig
c2l0IGFtZXQ8YnI+CitMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldDxicj4KK0xvcmVtIGlwc3Vt
IGRvbG9yIHNpdCBhbWV0PGJyPgorTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CitMb3Jl
bSBpcHN1bSBkb2xvciBzaXQgYW1ldDxicj4KK0xvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJy
PgorTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CitMb3JlbSBpcHN1bSBkb2xvciBzaXQg
YW1ldDxicj4KK0xvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorTG9yZW0gaXBzdW0gZG9s
b3Igc2l0IGFtZXQ8YnI+CitMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldDxicj4KK0xvcmVtIGlw
c3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CitM
b3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldDxicj4KK0xvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0
PGJyPgorTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CitMb3JlbSBpcHN1bSBkb2xvciBz
aXQgYW1ldDxicj4KK0xvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorTG9yZW0gaXBzdW0g
ZG9sb3Igc2l0IGFtZXQ8YnI+CitMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldDxicj4KK0xvcmVt
IGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+
CitMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldDxicj4KK0xvcmVtIGlwc3VtIGRvbG9yIHNpdCBh
bWV0PGJyPgorTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CitMb3JlbSBpcHN1bSBkb2xv
ciBzaXQgYW1ldDxicj4KK0xvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorTG9yZW0gaXBz
dW0gZG9sb3Igc2l0IGFtZXQ8YnI+CitMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldDxicj4KK0xv
cmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8
YnI+CitMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldDxicj4KK0xvcmVtIGlwc3VtIGRvbG9yIHNp
dCBhbWV0PGJyPgorTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CitMb3JlbSBpcHN1bSBk
b2xvciBzaXQgYW1ldDxicj4KK0xvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorTG9yZW0g
aXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+Cis8L2Rpdj4KKzwvYm9keT4KKzxzY3JpcHQgc3JjPSIu
Li9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>207846</attachid>
            <date>2013-07-31 06:05:22 -0700</date>
            <delta_ts>2013-08-03 12:33:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-119033-20130731160520.patch</filename>
            <type>text/plain</type>
            <size>15237</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUzMzY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjUwZWU0ZmVhYzc0OWQ2
MzFmMTQ1NDgxYzA3NWFkODMwODFjY2VhNi4uYmVjZWVhNGI3MTU1NjIxNGJhMzNlYjlkODdiNTIx
MWVlNDM2MTMzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDEzLTA3LTMxICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgQmFja2dyb3VuZCBkb2Vzbid0
IGZ1bGx5IHJlcGFpbnQgd2hlbiBib2R5IGhhcyBtYXJnaW5zLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE5MDMzCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRW5zdXJlIHRoYXQgYmFja2dyb3VuZC1jb2xv
ciBjaGFuZ2VzIGRvIG5vdCBsZWF2ZSB1bnBhaW50ZWQgYXJlYXMgd2hlbgorICAgICAgICBib2R5
IGhhcyBtYXJnaW5zLgorCisgICAgICAgIEJvdGggPGJvZHk+IGFuZCA8aHRtbD4gYmFja2dyb3Vu
ZC1jb2xvciBnZXQgcHJvcGFnYXRlZCB1cCB0byB0aGUgdmlld3BvcnQuCisgICAgICAgIElmIDxi
b2R5PiBoYXMgYmFja2dyb3VuZC1jb2xvciBhdHRyaWJ1dGUgc2V0LCB3aGlsZSA8aHRtbD4gZG9l
c24ndCwgdGhlIGNvbG9yIGlzCisgICAgICAgIGFwcGxpZWQgbm90IG9ubHkgb24gdGhlIDxib2R5
PiBidXQgb24gYm90aCB0aGUgPGh0bWw+IGFuZCB0aGUgdmlld3BvcnQuIEhvd2V2ZXIsCisgICAg
ICAgIGl0J3Mgbm90IGVub3VnaCB0byBtYXJrIHRoZSBSZW5kZXJWaWV3IGRpcnR5IGJlY2F1c2Ug
d2l0aCB0aWxlcyBiYWNraW5nIG9uLAorICAgICAgICB0aGVyZSBjb3VsZCBiZSBhcmVhcyBvdXRz
aWRlIG9mIHRoZSB2aWV3cG9ydCB0aGF0IG5lZWQgcmVwYWludC4gQnkgbWFya2luZworICAgICAg
ICB0aGUgUmVuZGVyVmlldydzIGdyYXBoaWNzIGxheWVyIGRpcnR5IGluc3RlYWQsIHdlIGVuc3Vy
ZSB0aGF0IGFsbCB0aGUgcmVsYXRlZAorICAgICAgICB0aWxlcyBnZXQgbWFya2VkIGRpcnR5IHRv
byBhbmQgdGhlIG5ldyBiYWNrZ3JvdW5kIGNvbG9yIGNvdmVycyBhbGwgYXJlYXMuCisKKyAgICAg
ICAgTWFudWFsIHRlc3QgYWRkZWQuIFdoZW4gZm9yY2luZyB0b3AtbGV2ZWwgY29tcG9zaXRpb24g
b24gKGV2ZW4gd2l0aCBlbWJlZGRlZCBpZnJhbWUgdG8KKyAgICAgICAgbWFrZSBzdXJlIHdlIGRv
bid0IGRvIHBhaW50c0ludG9XaW5kb3cgcmVuZGVyaW5nKSwgdGhlIHRlc3QgY2FzZSBleGVjdXRp
b24gY2hhbmdlcyBzbyBtdWNoLAorICAgICAgICB0aGF0IHRoZSByZXBhaW50IHJlY3RzIGRvbid0
IHJlZmxlY3QgdGhlIGZ1bmN0aW9uYWxpdHkgZGlmZmVyZW5jZSBhbnltb3JlLgorCisgICAgICAg
ICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpyZXNl
dCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmxheW91dCk6CisgICAgICAgIChXZWJD
b3JlOjpGcmFtZVZpZXc6OnJlcGFpbnRGdWxsQ29udGVudCk6CisgICAgICAgICogcGFnZS9GcmFt
ZVZpZXcuaDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6bmVlZHNGdWxsUmVwYWludCk6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJCb3g6OnN0eWxlV2lsbENoYW5nZSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9i
amVjdENoaWxkTGlzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3RDaGlsZExp
c3Q6OnJlbW92ZUNoaWxkTm9kZSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclZpZXcuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVmlldzo6cmVwYWludFZpZXdBbmRDb21wb3NpdGVk
TGF5ZXJzKToKKwogMjAxMy0wNy0yNSAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4K
IAogICAgICAgICBSZW1vdmUgdW51c2VkIEhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50Ojp0ZXh0
UmVuZGVyZXJBZnRlclVwZGF0ZUxheW91dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9GcmFtZVZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCmluZGV4
IDQ5MDY3NGRlNTMzYTY2YzY1Njg1YWQ3NDc4YzQwZmZkZDdmMzBlM2EuLjRiNzg3NTEwNjYzNGQx
YjA3MDVhNjg0NjY0YmE2OWYxZDk1NDc0OTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRnJhbWVWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAK
QEAgLTI3Myw3ICsyNzMsNyBAQCB2b2lkIEZyYW1lVmlldzo6cmVzZXQoKQogICAgIG1fbGF5b3V0
VGltZXIuc3RvcCgpOwogICAgIG1fbGF5b3V0Um9vdCA9IDA7CiAgICAgbV9kZWxheWVkTGF5b3V0
ID0gZmFsc2U7Ci0gICAgbV9kb0Z1bGxSZXBhaW50ID0gdHJ1ZTsKKyAgICBtX25lZWRzRnVsbFJl
cGFpbnQgPSB0cnVlOwogICAgIG1fbGF5b3V0U2NoZWR1bGluZ0VuYWJsZWQgPSB0cnVlOwogICAg
IG1faW5MYXlvdXQgPSBmYWxzZTsKICAgICBtX2RvaW5nUHJlTGF5b3V0U3R5bGVVcGRhdGUgPSBm
YWxzZTsKQEAgLTEyNTAsNyArMTI1MCw3IEBAIHZvaWQgRnJhbWVWaWV3OjpsYXlvdXQoYm9vbCBh
bGxvd1N1YnRyZWUpCiAgICAgICAgIFNjcm9sbGJhck1vZGUgdk1vZGU7ICAgIAogICAgICAgICBj
YWxjdWxhdGVTY3JvbGxiYXJNb2Rlc0ZvckxheW91dChoTW9kZSwgdk1vZGUpOwogCi0gICAgICAg
IG1fZG9GdWxsUmVwYWludCA9ICFzdWJ0cmVlICYmIChtX2ZpcnN0TGF5b3V0IHx8IHRvUmVuZGVy
Vmlldyhyb290KS0+cHJpbnRpbmcoKSk7CisgICAgICAgIG1fbmVlZHNGdWxsUmVwYWludCA9ICFz
dWJ0cmVlICYmIChtX2ZpcnN0TGF5b3V0IHx8IHRvUmVuZGVyVmlldyhyb290KS0+cHJpbnRpbmco
KSk7CiAKICAgICAgICAgaWYgKCFzdWJ0cmVlKSB7CiAgICAgICAgICAgICAvLyBOb3cgc2V0IG91
ciBzY3JvbGxiYXIgc3RhdGUgZm9yIHRoZSBsYXlvdXQuCkBAIC0xMjg3LDcgKzEyODcsNyBAQCB2
b2lkIEZyYW1lVmlldzo6bGF5b3V0KGJvb2wgYWxsb3dTdWJ0cmVlKQogICAgICAgICAgICAgbV9z
aXplID0gTGF5b3V0U2l6ZShsYXlvdXRXaWR0aCgpLCBsYXlvdXRIZWlnaHQoKSk7CiAKICAgICAg
ICAgICAgIGlmIChvbGRTaXplICE9IG1fc2l6ZSkgewotICAgICAgICAgICAgICAgIG1fZG9GdWxs
UmVwYWludCA9IHRydWU7CisgICAgICAgICAgICAgICAgbV9uZWVkc0Z1bGxSZXBhaW50ID0gdHJ1
ZTsKICAgICAgICAgICAgICAgICBpZiAoIW1fZmlyc3RMYXlvdXQpIHsKICAgICAgICAgICAgICAg
ICAgICAgUmVuZGVyQm94KiByb290UmVuZGVyZXIgPSBkb2N1bWVudC0+ZG9jdW1lbnRFbGVtZW50
KCkgPyBkb2N1bWVudC0+ZG9jdW1lbnRFbGVtZW50KCktPnJlbmRlckJveCgpIDogMDsKICAgICAg
ICAgICAgICAgICAgICAgUmVuZGVyQm94KiBib2R5UmVuZGVyZXIgPSByb290UmVuZGVyZXIgJiYg
ZG9jdW1lbnQtPmJvZHkoKSA/IGRvY3VtZW50LT5ib2R5KCktPnJlbmRlckJveCgpIDogMDsKQEAg
LTEzMzAsMjAgKzEzMzAsMTkgQEAgdm9pZCBGcmFtZVZpZXc6OmxheW91dChib29sIGFsbG93U3Vi
dHJlZSkKICAgICAgICAgbV9sYXlvdXRSb290ID0gMDsKICAgICB9IC8vIFJlc2V0IG1fbGF5b3V0
U2NoZWR1bGluZ0VuYWJsZWQgdG8gaXRzIHByZXZpb3VzIHZhbHVlLgogCi0gICAgYm9vbCBuZWVk
ZWRGdWxsUmVwYWludCA9IG1fZG9GdWxsUmVwYWludDsKKyAgICBib29sIG5lZWRlZEZ1bGxSZXBh
aW50ID0gbV9uZWVkc0Z1bGxSZXBhaW50OwogCiAgICAgaWYgKCFzdWJ0cmVlICYmICF0b1JlbmRl
clZpZXcocm9vdCktPnByaW50aW5nKCkpCiAgICAgICAgIGFkanVzdFZpZXdTaXplKCk7CiAKLSAg
ICBtX2RvRnVsbFJlcGFpbnQgPSBuZWVkZWRGdWxsUmVwYWludDsKKyAgICBtX25lZWRzRnVsbFJl
cGFpbnQgPSBuZWVkZWRGdWxsUmVwYWludDsKIAogICAgIC8vIE5vdyB1cGRhdGUgdGhlIHBvc2l0
aW9ucyBvZiBhbGwgbGF5ZXJzLgogICAgIGJlZ2luRGVmZXJyZWRSZXBhaW50cygpOwotICAgIGlm
IChtX2RvRnVsbFJlcGFpbnQpCi0gICAgICAgIHJvb3QtPnZpZXcoKS0+cmVwYWludCgpOyAvLyBG
SVhNRTogVGhpcyBpc24ndCByZWFsbHkgcmlnaHQsIHNpbmNlIHRoZSBSZW5kZXJWaWV3IGRvZXNu
J3QgZnVsbHkgZW5jb21wYXNzIHRoZSB2aXNpYmxlQ29udGVudFJlY3QoKS4gSXQganVzdCBoYXBw
ZW5zCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB0byB3b3JrIG91dCBtb3N0
IG9mIHRoZSB0aW1lLCBzaW5jZSBmaXJzdCBsYXlvdXRzIGFuZCBwcmludGluZyBkb24ndCBoYXZl
IHlvdSBzY3JvbGxlZCBhbnl3aGVyZS4KKyAgICBpZiAobV9uZWVkc0Z1bGxSZXBhaW50KQorICAg
ICAgICByZXBhaW50RnVsbENvbnRlbnQoKTsKIAotICAgIGxheWVyLT51cGRhdGVMYXllclBvc2l0
aW9uc0FmdGVyTGF5b3V0KHJlbmRlclZpZXcoKS0+bGF5ZXIoKSwgdXBkYXRlTGF5ZXJQb3NpdGlv
bkZsYWdzKGxheWVyLCBzdWJ0cmVlLCBtX2RvRnVsbFJlcGFpbnQpKTsKKyAgICBsYXllci0+dXBk
YXRlTGF5ZXJQb3NpdGlvbnNBZnRlckxheW91dChyZW5kZXJWaWV3KCktPmxheWVyKCksIHVwZGF0
ZUxheWVyUG9zaXRpb25GbGFncyhsYXllciwgc3VidHJlZSwgbV9uZWVkc0Z1bGxSZXBhaW50KSk7
CiAKICAgICBlbmREZWZlcnJlZFJlcGFpbnRzKCk7CiAKQEAgLTIwMDcsNiArMjAwNiwyMiBAQCB2
b2lkIEZyYW1lVmlldzo6c2V0Vmlld3BvcnRDb25zdHJhaW5lZE9iamVjdHNOZWVkTGF5b3V0KCkK
ICAgICB9CiB9CiAKK3ZvaWQgRnJhbWVWaWV3OjpyZXBhaW50RnVsbENvbnRlbnQoKQoreworICAg
IFJlbmRlclZpZXcqIHJlbmRlclZpZXcgPSB0aGlzLT5yZW5kZXJWaWV3KCk7CisgICAgaWYgKCFy
ZW5kZXJWaWV3KQorICAgICAgICByZXR1cm47CisKKyNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9T
SVRJTkcpCisgICAgUmVuZGVyTGF5ZXIqIGxheWVyID0gcmVuZGVyVmlldy0+bGF5ZXIoKTsKKyAg
ICBpZiAobGF5ZXItPmlzQ29tcG9zaXRlZCgpKSB7CisgICAgICAgIGxheWVyLT5zZXRCYWNraW5n
TmVlZHNSZXBhaW50KCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisjZW5kaWYKKyAgICByZW5k
ZXJWaWV3LT5yZXBhaW50KCk7Cit9CisKIHZvaWQgRnJhbWVWaWV3OjpzY3JvbGxQb3NpdGlvbkNo
YW5nZWRWaWFQbGF0Zm9ybVdpZGdldCgpCiB7CiAgICAgcmVwYWludEZpeGVkRWxlbWVudHNBZnRl
clNjcm9sbGluZygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcu
aCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKaW5kZXggZDZlZjAyZTNjY2RhN2Zj
YTU1MjMxMWU1MzViNmM1YTFiZTJiZDUwMS4uYmQ4NGQwM2Y1MWI1NzNiOGU2Y2FlYTVjN2QxZjQ0
NzdjYzlmMDI0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCkBAIC0xMTUsNyArMTE1LDkgQEAg
cHVibGljOgogICAgIHZvaWQgc2V0TmVlZHNMYXlvdXQoKTsKICAgICB2b2lkIHNldFZpZXdwb3J0
Q29uc3RyYWluZWRPYmplY3RzTmVlZExheW91dCgpOwogCi0gICAgYm9vbCBuZWVkc0Z1bGxSZXBh
aW50KCkgY29uc3QgeyByZXR1cm4gbV9kb0Z1bGxSZXBhaW50OyB9CisgICAgYm9vbCBuZWVkc0Z1
bGxSZXBhaW50KCkgY29uc3QgeyByZXR1cm4gbV9uZWVkc0Z1bGxSZXBhaW50OyB9CisgICAgLy8g
UmVwYWludHMgZWl0aGVyIHRoZSBSZW5kZXJWaWV3IG9yIHRoZSBSZW5kZXJWaWV3J3MgZW50aXJl
IGdyYXBoaWNzIGxheWVyLCB3aGVuIHRpbGVkIGJhY2tpbmcgaXMgcHJlc2VudC4KKyAgICB2b2lk
IHJlcGFpbnRGdWxsQ29udGVudCgpOwogCiAjaWYgRU5BQkxFKFJFUVVFU1RfQU5JTUFUSU9OX0ZS
QU1FKQogICAgIHZvaWQgc2VydmljZVNjcmlwdGVkQW5pbWF0aW9ucyhkb3VibGUgbW9ub3Rvbmlj
QW5pbWF0aW9uU3RhcnRUaW1lKTsKQEAgLTU1MSw3ICs1NTMsNyBAQCBwcml2YXRlOgogCiAgICAg
T3duUHRyPFJlbmRlck9iamVjdFNldD4gbV9zbG93UmVwYWludE9iamVjdHM7CiAKLSAgICBib29s
IG1fZG9GdWxsUmVwYWludDsKKyAgICBib29sIG1fbmVlZHNGdWxsUmVwYWludDsKICAgICAKICAg
ICBib29sIG1fY2FuSGF2ZVNjcm9sbGJhcnM7CiAgICAgYm9vbCBtX2Nhbm5vdEJsaXRUb1dpbmRv
dzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKaW5kZXggMzI1ZTM5Y2VkOGZj
OTliZDVhNmUwZmM1M2FmMTUzZjQwNTM4OGVlMS4uMmIyZjQ1NGVlMDQ1Y2NmYjY1MWVlNTA2ODNj
YjE1ZjVmMmZlYWMzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKQEAg
LTIwNCwxMiArMjA0LDEzIEBAIHZvaWQgUmVuZGVyQm94OjpzdHlsZVdpbGxDaGFuZ2UoU3R5bGVE
aWZmZXJlbmNlIGRpZmYsIGNvbnN0IFJlbmRlclN0eWxlKiBuZXdTdHlsCiAgICAgc19oYWRPdmVy
Zmxvd0NsaXAgPSBoYXNPdmVyZmxvd0NsaXAoKTsKIAogICAgIFJlbmRlclN0eWxlKiBvbGRTdHls
ZSA9IHN0eWxlKCk7CisgICAgRnJhbWVWaWV3KiBmcmFtZVZpZXcgPSBmcmFtZSgpLT52aWV3KCk7
CiAgICAgaWYgKG9sZFN0eWxlKSB7CiAgICAgICAgIC8vIFRoZSBiYWNrZ3JvdW5kIG9mIHRoZSBy
b290IGVsZW1lbnQgb3IgdGhlIGJvZHkgZWxlbWVudCBjb3VsZCBwcm9wYWdhdGUgdXAgdG8KLSAg
ICAgICAgLy8gdGhlIGNhbnZhcy4gIEp1c3QgZGlydHkgdGhlIGVudGlyZSBjYW52YXMgd2hlbiBv
dXIgc3R5bGUgY2hhbmdlcyBzdWJzdGFudGlhbGx5LgotICAgICAgICBpZiAoZGlmZiA+PSBTdHls
ZURpZmZlcmVuY2VSZXBhaW50ICYmIG5vZGUoKSAmJgotICAgICAgICAgICAgKG5vZGUoKS0+aGFz
VGFnTmFtZShodG1sVGFnKSB8fCBub2RlKCktPmhhc1RhZ05hbWUoYm9keVRhZykpKSB7Ci0gICAg
ICAgICAgICB2aWV3KCktPnJlcGFpbnQoKTsKKyAgICAgICAgLy8gdGhlIGNhbnZhcy4gSXNzdWUg
ZnVsbCByZXBhaW50LCB3aGVuIG91ciBzdHlsZSBjaGFuZ2VzIHN1YnN0YW50aWFsbHkuCisgICAg
ICAgIGlmIChkaWZmID49IFN0eWxlRGlmZmVyZW5jZVJlcGFpbnQgJiYgKGlzUm9vdCgpIHx8IGlz
Qm9keSgpKSkgeworICAgICAgICAgICAgaWYgKGZyYW1lVmlldykKKyAgICAgICAgICAgICAgICBm
cmFtZVZpZXctPnJlcGFpbnRGdWxsQ29udGVudCgpOwogICAgICAgICAgICAgCiAjaWYgVVNFKEFD
Q0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogICAgICAgICAgICAgaWYgKG9sZFN0eWxlLT5oYXNFbnRp
cmVseUZpeGVkQmFja2dyb3VuZCgpICE9IG5ld1N0eWxlLT5oYXNFbnRpcmVseUZpeGVkQmFja2dy
b3VuZCgpKQpAQCAtMjI4LDggKzIyOSw4IEBAIHZvaWQgUmVuZGVyQm94OjpzdHlsZVdpbGxDaGFu
Z2UoU3R5bGVEaWZmZXJlbmNlIGRpZmYsIGNvbnN0IFJlbmRlclN0eWxlKiBuZXdTdHlsCiAgICAg
ICAgICAgICBpZiAoaXNGbG9hdGluZygpICYmICFpc091dE9mRmxvd1Bvc2l0aW9uZWQoKSAmJiBu
ZXdTdHlsZS0+aGFzT3V0T2ZGbG93UG9zaXRpb24oKSkKICAgICAgICAgICAgICAgICByZW1vdmVG
bG9hdGluZ09yUG9zaXRpb25lZENoaWxkRnJvbUJsb2NrTGlzdHMoKTsKICAgICAgICAgfQotICAg
IH0gZWxzZSBpZiAobmV3U3R5bGUgJiYgaXNCb2R5KCkpCi0gICAgICAgIHZpZXcoKS0+cmVwYWlu
dCgpOworICAgIH0gZWxzZSBpZiAobmV3U3R5bGUgJiYgaXNCb2R5KCkgJiYgZnJhbWVWaWV3KQor
ICAgICAgICBmcmFtZVZpZXctPnJlcGFpbnRGdWxsQ29udGVudCgpOwogCiAgICAgUmVuZGVyQm94
TW9kZWxPYmplY3Q6OnN0eWxlV2lsbENoYW5nZShkaWZmLCBuZXdTdHlsZSk7CiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0Q2hpbGRMaXN0LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3RDaGlsZExpc3QuY3BwCmluZGV4
IDk0NDVkZjg4ZjkyMzI1ZjM2OTAwNmIxM2E4NDU3MjU5Y2NhMTUwZGMuLjM4ZWI4YmUyNWMxNDhi
OWE0MjUzNzE0ZGYyYjhhZTliMzEzZTllNGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJPYmplY3RDaGlsZExpc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJPYmplY3RDaGlsZExpc3QuY3BwCkBAIC02Niw5ICs2NiwxMCBAQCBSZW5k
ZXJPYmplY3QqIFJlbmRlck9iamVjdENoaWxkTGlzdDo6cmVtb3ZlQ2hpbGROb2RlKFJlbmRlck9i
amVjdCogb3duZXIsIFJlbmRlcgogICAgIGlmICghb3duZXItPmRvY3VtZW50QmVpbmdEZXN0cm95
ZWQoKSAmJiBub3RpZnlSZW5kZXJlciAmJiBvbGRDaGlsZC0+ZXZlckhhZExheW91dCgpKSB7CiAg
ICAgICAgIG9sZENoaWxkLT5zZXROZWVkc0xheW91dEFuZFByZWZXaWR0aHNSZWNhbGMoKTsKICAg
ICAgICAgLy8gV2Ugb25seSByZXBhaW50IHxvbGRDaGlsZHwgaWYgd2UgaGF2ZSBhIFJlbmRlckxh
eWVyIGFzIGl0cyB2aXN1YWwgb3ZlcmZsb3cgbWF5IG5vdCBiZSB0cmFja2VkIGJ5IGl0cyBwYXJl
bnQuCi0gICAgICAgIGlmIChvbGRDaGlsZC0+aXNCb2R5KCkpCi0gICAgICAgICAgICBvd25lci0+
dmlldygpLT5yZXBhaW50KCk7Ci0gICAgICAgIGVsc2UKKyAgICAgICAgaWYgKG9sZENoaWxkLT5p
c0JvZHkoKSkgeworICAgICAgICAgICAgaWYgKEZyYW1lVmlldyogZnJhbWVWaWV3ID0gb3duZXIt
PnZpZXcoKS0+ZnJhbWVWaWV3KCkpCisgICAgICAgICAgICAgICAgZnJhbWVWaWV3LT5yZXBhaW50
RnVsbENvbnRlbnQoKTsKKyAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICBvbGRDaGlsZC0+cmVw
YWludCgpOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwCmlu
ZGV4IDI1MTY1OWZjMTBmYmU3ZGVjYjRiMzk1YzAwZmJkOTM4YTU1MWFhODcuLjU2MmFkYWUyZTI3
NDhlNTI1ZjMxMWI2NDRhM2ZlOWMzMDQ5YmE5YTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVmlldy5jcHAKQEAgLTU2Nyw3ICs1NjcsOCBAQCB2b2lkIFJlbmRlclZpZXc6OnJlcGFp
bnRSZWN0YW5nbGVJblZpZXdBbmRDb21wb3NpdGVkTGF5ZXJzKGNvbnN0IExheW91dFJlY3QmIHVy
LAogCiB2b2lkIFJlbmRlclZpZXc6OnJlcGFpbnRWaWV3QW5kQ29tcG9zaXRlZExheWVycygpCiB7
Ci0gICAgcmVwYWludCgpOworICAgIGlmIChtX2ZyYW1lVmlldykKKyAgICAgICAgbV9mcmFtZVZp
ZXctPnJlcGFpbnRGdWxsQ29udGVudCgpOwogICAgIAogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01Q
T1NJVElORykKICAgICBpZiAoY29tcG9zaXRvcigpLT5pbkNvbXBvc2l0aW5nTW9kZSgpKQpkaWZm
IC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4IGNmMjA4NzYxMTg4YTJlZjc1NDMy
YjY5OGVjMDhlMjVjYTE4MWUwMjEuLmY0N2Q1MmRhYTg1ODBhYzBjNTM5M2RmOGQyN2E3ODE2NDg0
MDM2MTggMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwy
MyBAQAorMjAxMy0wNy0zMSAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgorCisgICAg
ICAgIEJhY2tncm91bmQgZG9lc24ndCBmdWxseSByZXBhaW50IHdoZW4gYm9keSBoYXMgbWFyZ2lu
cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExOTAz
MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEVuc3Vy
ZSB0aGF0IGJhY2tncm91bmQtY29sb3IgY2hhbmdlcyBkbyBub3QgbGVhdmUgdW5wYWludGVkIGFy
ZWFzIHdoZW4KKyAgICAgICAgYm9keSBoYXMgbWFyZ2lucy4KKworICAgICAgICBCb3RoIDxib2R5
PiBhbmQgPGh0bWw+IGJhY2tncm91bmQtY29sb3IgZ2V0IHByb3BhZ2F0ZWQgdXAgdG8gdGhlIHZp
ZXdwb3J0LgorICAgICAgICBJZiA8Ym9keT4gaGFzIGJhY2tncm91bmQtY29sb3IgYXR0cmlidXRl
IHNldCwgd2hpbGUgPGh0bWw+IGRvZXNuJ3QsIHRoZSBjb2xvciBpcworICAgICAgICBhcHBsaWVk
IG5vdCBvbmx5IG9uIHRoZSA8Ym9keT4gYnV0IG9uIGJvdGggdGhlIDxodG1sPiBhbmQgdGhlIHZp
ZXdwb3J0LiBIb3dldmVyLAorICAgICAgICBpdCdzIG5vdCBlbm91Z2ggdG8gbWFyayB0aGUgUmVu
ZGVyVmlldyBkaXJ0eSBiZWNhdXNlIHdpdGggdGlsZXMgYmFja2luZyBvbiwKKyAgICAgICAgdGhl
cmUgY291bGQgYmUgYXJlYXMgb3V0c2lkZSBvZiB0aGUgdmlld3BvcnQgdGhhdCBuZWVkIHJlcGFp
bnQuIEJ5IG1hcmtpbmcKKyAgICAgICAgdGhlIFJlbmRlclZpZXcncyBncmFwaGljcyBsYXllciBk
aXJ0eSBpbnN0ZWFkLCB3ZSBlbnN1cmUgdGhhdCBhbGwgdGhlIHJlbGF0ZWQKKyAgICAgICAgdGls
ZXMgZ2V0IG1hcmtlZCBkaXJ0eSB0b28gYW5kIHRoZSBuZXcgYmFja2dyb3VuZCBjb2xvciBjb3Zl
cnMgYWxsIGFyZWFzLgorCisgICAgICAgICogTWFudWFsVGVzdHMvY29tcG9zaXRpbmcvYmFja2dy
b3VuZC1jb2xvci1jaGFuZ2Utb24tYm9keS13aXRoLW1hcmdpbi5odG1sOiBBZGRlZC4KKwogMjAx
My0wNy0yNSAgQ2hyaXN0b3BoZSBEdW1leiAgPGNoLmR1bWV6QHNpc2Euc2Ftc3VuZy5jb20+CiAK
ICAgICAgICAgVW5yZXZpZXdlZCBFRkwgYnVpbGQgZml4IGFmdGVyIHIxNTMzMTUuCmRpZmYgLS1n
aXQgYS9NYW51YWxUZXN0cy9jb21wb3NpdGluZy9iYWNrZ3JvdW5kLWNvbG9yLWNoYW5nZS1vbi1i
b2R5LXdpdGgtbWFyZ2luLmh0bWwgYi9NYW51YWxUZXN0cy9jb21wb3NpdGluZy9iYWNrZ3JvdW5k
LWNvbG9yLWNoYW5nZS1vbi1ib2R5LXdpdGgtbWFyZ2luLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDNjYmNi
NjI3YWIwNDg2Y2QzYThhZjQ0NGM2MjY4Njk2NzY4NGE3YgotLS0gL2Rldi9udWxsCisrKyBiL01h
bnVhbFRlc3RzL2NvbXBvc2l0aW5nL2JhY2tncm91bmQtY29sb3ItY2hhbmdlLW9uLWJvZHktd2l0
aC1tYXJnaW4uaHRtbApAQCAtMCwwICsxLDExNiBAQAorPGh0bWw+Cis8aGVhZD4KKworPHN0eWxl
PgorYm9keSB7CisgIG1hcmdpbjogMTAwcHggMTAwcHggMTAwcHggMTAwcHg7CisgIGJhY2tncm91
bmQtY29sb3I6IHJlZDsKK30KKzwvc3R5bGU+CisKKzxzY3JpcHQ+CisgIGZ1bmN0aW9uIHN0YXJ0
KCkgeworICAgIHdpbmRvdy5zZXRUaW1lb3V0KCJkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFt
ZSgnYm9keScpWzBdLnN0eWxlLmJhY2tncm91bmRDb2xvcj0nd2hpdGUnOyIsIDUwMCk7IAorICB9
Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0nc3RhcnQoKTsnPgorICA8cD5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCB3ZSBkb24ndCBkbyBwYXJ0aWFsIHJlcGFpbnQgd2hlbiBiYWNr
Z3JvdW5kLWNvbG9yIGNoYW5nZXMuPGJyPgorICAgICBTY3JvbGwgdG8gY2hlY2sgaWYgdGhlIGJh
Y2tncm91bmQgaXMgd2hpdGUgYWxsIHRoZSB3YXkgZG93bi48L3A+CisgIDxkaXYgaWQ9J2NvbnRl
bnQnPgorICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorICAgIExvcmVtIGlwc3Vt
IGRvbG9yIHNpdCBhbWV0PGJyPgorICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgor
ICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorICAgIExvcmVtIGlwc3VtIGRvbG9y
IHNpdCBhbWV0PGJyPgorICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorICAgIExv
cmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBh
bWV0PGJyPgorICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorICAgIExvcmVtIGlw
c3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJy
PgorICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorICAgIExvcmVtIGlwc3VtIGRv
bG9yIHNpdCBhbWV0PGJyPgorICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorICAg
IExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorICAgIExvcmVtIGlwc3VtIGRvbG9yIHNp
dCBhbWV0PGJyPgorICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorICAgIExvcmVt
IGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0
PGJyPgorICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorICAgIExvcmVtIGlwc3Vt
IGRvbG9yIHNpdCBhbWV0PGJyPgorICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgor
ICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorICAgIExvcmVtIGlwc3VtIGRvbG9y
IHNpdCBhbWV0PGJyPgorICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorICAgIExv
cmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBh
bWV0PGJyPgorICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorICAgIExvcmVtIGlw
c3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJy
PgorICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorICAgIExvcmVtIGlwc3VtIGRv
bG9yIHNpdCBhbWV0PGJyPgorICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorICAg
IExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorICAgIExvcmVtIGlwc3VtIGRvbG9yIHNp
dCBhbWV0PGJyPgorICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorICAgIExvcmVt
IGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0
PGJyPgorICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorICAgIExvcmVtIGlwc3Vt
IGRvbG9yIHNpdCBhbWV0PGJyPgorICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgor
ICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorICAgIExvcmVtIGlwc3VtIGRvbG9y
IHNpdCBhbWV0PGJyPgorICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorICAgIExv
cmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBh
bWV0PGJyPgorICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorICAgIExvcmVtIGlw
c3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJy
PgorICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorICAgIExvcmVtIGlwc3VtIGRv
bG9yIHNpdCBhbWV0PGJyPgorICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorICAg
IExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorICAgIExvcmVtIGlwc3VtIGRvbG9yIHNp
dCBhbWV0PGJyPgorICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorICAgIExvcmVt
IGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0
PGJyPgorICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorICAgIExvcmVtIGlwc3Vt
IGRvbG9yIHNpdCBhbWV0PGJyPgorICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgor
ICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorICAgIExvcmVtIGlwc3VtIGRvbG9y
IHNpdCBhbWV0PGJyPgorICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorICAgIExv
cmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBh
bWV0PGJyPgorICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorICAgIExvcmVtIGlw
c3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJy
PgorICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorICAgIExvcmVtIGlwc3VtIGRv
bG9yIHNpdCBhbWV0PGJyPgorICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorICAg
IExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorICAgIExvcmVtIGlwc3VtIGRvbG9yIHNp
dCBhbWV0PGJyPgorICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorICAgIExvcmVt
IGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0
PGJyPgorICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorICAgIExvcmVtIGlwc3Vt
IGRvbG9yIHNpdCBhbWV0PGJyPgorICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgor
ICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorICAgIExvcmVtIGlwc3VtIGRvbG9y
IHNpdCBhbWV0PGJyPgorICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorICAgIExv
cmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBh
bWV0PGJyPgorICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorICAgIExvcmVtIGlw
c3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJy
PgorICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorICAgIExvcmVtIGlwc3VtIGRv
bG9yIHNpdCBhbWV0PGJyPgorICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorICAg
IExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorICAgIExvcmVtIGlwc3VtIGRvbG9yIHNp
dCBhbWV0PGJyPgorICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PGJyPgorICA8L2Rpdj4K
KzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>208069</attachid>
            <date>2013-08-03 12:34:02 -0700</date>
            <delta_ts>2013-08-04 13:40:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-119033-20130803223400.patch</filename>
            <type>text/plain</type>
            <size>15740</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUzMzY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjUwZWU0ZmVhYzc0OWQ2
MzFmMTQ1NDgxYzA3NWFkODMwODFjY2VhNi4uMTVlNTMwOTY0YTg3NDIwNjQwMjZhMzJhZmM4ZjI5
MDcwNzNiN2VmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDEzLTA4LTAzICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgQmFja2dyb3VuZCBkb2Vzbid0
IGZ1bGx5IHJlcGFpbnQgd2hlbiBib2R5IGhhcyBtYXJnaW5zLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE5MDMzCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRW5zdXJlIHRoYXQgYmFja2dyb3VuZC1jb2xv
ciBjaGFuZ2VzIGRvIG5vdCBsZWF2ZSB1bnBhaW50ZWQgYXJlYXMgd2hlbgorICAgICAgICBib2R5
IGhhcyBtYXJnaW5zLgorCisgICAgICAgIEJvdGggPGJvZHk+IGFuZCA8aHRtbD4gYmFja2dyb3Vu
ZC1jb2xvciBnZXQgcHJvcGFnYXRlZCB1cCB0byB0aGUgdmlld3BvcnQuCisgICAgICAgIElmIDxi
b2R5PiBoYXMgYmFja2dyb3VuZC1jb2xvciBhdHRyaWJ1dGUgc2V0LCB3aGlsZSA8aHRtbD4gZG9l
c24ndCwgdGhlIGNvbG9yIGlzCisgICAgICAgIGFwcGxpZWQgbm90IG9ubHkgb24gdGhlIDxib2R5
PiBidXQgb24gYm90aCB0aGUgPGh0bWw+IGFuZCB0aGUgdmlld3BvcnQuIEhvd2V2ZXIsCisgICAg
ICAgIGl0J3Mgbm90IGVub3VnaCB0byBtYXJrIHRoZSBSZW5kZXJWaWV3IGRpcnR5IGJlY2F1c2Ug
d2l0aCB0aWxlcyBiYWNraW5nIG9uLAorICAgICAgICB0aGVyZSBjb3VsZCBiZSBhcmVhcyBvdXRz
aWRlIG9mIHRoZSB2aWV3cG9ydCB0aGF0IG5lZWQgcmVwYWludC4gQnkgbWFya2luZworICAgICAg
ICB0aGUgUmVuZGVyVmlldydzIGdyYXBoaWNzIGxheWVyIGRpcnR5IGluc3RlYWQsIHdlIGVuc3Vy
ZSB0aGF0IGFsbCB0aGUgcmVsYXRlZAorICAgICAgICB0aWxlcyBnZXQgbWFya2VkIGRpcnR5IHRv
byBhbmQgdGhlIG5ldyBiYWNrZ3JvdW5kIGNvbG9yIGNvdmVycyBhbGwgYXJlYXMuCisKKyAgICAg
ICAgTWFudWFsIHRlc3QgYWRkZWQuIFdoZW4gZm9yY2luZyB0b3AtbGV2ZWwgY29tcG9zaXRpb24g
b24gKGV2ZW4gd2l0aCBlbWJlZGRlZCBpZnJhbWUgdG8KKyAgICAgICAgbWFrZSBzdXJlIHdlIGRv
bid0IGRvIHBhaW50c0ludG9XaW5kb3cgcmVuZGVyaW5nKSwgdGhlIHRlc3QgY2FzZSBleGVjdXRp
b24gY2hhbmdlcyBzbyBtdWNoLAorICAgICAgICB0aGF0IHRoZSByZXBhaW50IHJlY3RzIGRvbid0
IHJlZmxlY3QgdGhlIGZ1bmN0aW9uYWxpdHkgZGlmZmVyZW5jZSBhbnltb3JlLgorCisgICAgICAg
ICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpyZXNl
dCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmxheW91dCk6CisgICAgICAgICogcGFn
ZS9GcmFtZVZpZXcuaDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6bmVlZHNGdWxsUmVw
YWludCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJCb3g6OnN0eWxlV2lsbENoYW5nZSk6CisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlck9iamVjdENoaWxkTGlzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3RD
aGlsZExpc3Q6OnJlbW92ZUNoaWxkTm9kZSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclZp
ZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVmlldzo6cmVwYWludFJvb3RDb250ZW50
cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJWaWV3OjpyZXBhaW50Vmlld0FuZENvbXBvc2l0
ZWRMYXllcnMpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJWaWV3Lmg6CisKIDIwMTMtMDct
MjUgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmVtb3ZlIHVu
dXNlZCBIVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudDo6dGV4dFJlbmRlcmVyQWZ0ZXJVcGRhdGVM
YXlvdXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAppbmRleCA0OTA2NzRkZTUzM2E2NmM2NTY4
NWFkNzQ3OGM0MGZmZGQ3ZjMwZTNhLi5lYzA5ZTIxMTY1ZGIxYTJiNGIxNGRjMjZlMDEzMzQ4ZWM5
MmI1Njc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCkBAIC0yNzMsNyArMjczLDcgQEAg
dm9pZCBGcmFtZVZpZXc6OnJlc2V0KCkKICAgICBtX2xheW91dFRpbWVyLnN0b3AoKTsKICAgICBt
X2xheW91dFJvb3QgPSAwOwogICAgIG1fZGVsYXllZExheW91dCA9IGZhbHNlOwotICAgIG1fZG9G
dWxsUmVwYWludCA9IHRydWU7CisgICAgbV9uZWVkc0Z1bGxSZXBhaW50ID0gdHJ1ZTsKICAgICBt
X2xheW91dFNjaGVkdWxpbmdFbmFibGVkID0gdHJ1ZTsKICAgICBtX2luTGF5b3V0ID0gZmFsc2U7
CiAgICAgbV9kb2luZ1ByZUxheW91dFN0eWxlVXBkYXRlID0gZmFsc2U7CkBAIC0xMjUwLDcgKzEy
NTAsNyBAQCB2b2lkIEZyYW1lVmlldzo6bGF5b3V0KGJvb2wgYWxsb3dTdWJ0cmVlKQogICAgICAg
ICBTY3JvbGxiYXJNb2RlIHZNb2RlOyAgICAKICAgICAgICAgY2FsY3VsYXRlU2Nyb2xsYmFyTW9k
ZXNGb3JMYXlvdXQoaE1vZGUsIHZNb2RlKTsKIAotICAgICAgICBtX2RvRnVsbFJlcGFpbnQgPSAh
c3VidHJlZSAmJiAobV9maXJzdExheW91dCB8fCB0b1JlbmRlclZpZXcocm9vdCktPnByaW50aW5n
KCkpOworICAgICAgICBtX25lZWRzRnVsbFJlcGFpbnQgPSAhc3VidHJlZSAmJiAobV9maXJzdExh
eW91dCB8fCB0b1JlbmRlclZpZXcocm9vdCktPnByaW50aW5nKCkpOwogCiAgICAgICAgIGlmICgh
c3VidHJlZSkgewogICAgICAgICAgICAgLy8gTm93IHNldCBvdXIgc2Nyb2xsYmFyIHN0YXRlIGZv
ciB0aGUgbGF5b3V0LgpAQCAtMTI4Nyw3ICsxMjg3LDcgQEAgdm9pZCBGcmFtZVZpZXc6OmxheW91
dChib29sIGFsbG93U3VidHJlZSkKICAgICAgICAgICAgIG1fc2l6ZSA9IExheW91dFNpemUobGF5
b3V0V2lkdGgoKSwgbGF5b3V0SGVpZ2h0KCkpOwogCiAgICAgICAgICAgICBpZiAob2xkU2l6ZSAh
PSBtX3NpemUpIHsKLSAgICAgICAgICAgICAgICBtX2RvRnVsbFJlcGFpbnQgPSB0cnVlOworICAg
ICAgICAgICAgICAgIG1fbmVlZHNGdWxsUmVwYWludCA9IHRydWU7CiAgICAgICAgICAgICAgICAg
aWYgKCFtX2ZpcnN0TGF5b3V0KSB7CiAgICAgICAgICAgICAgICAgICAgIFJlbmRlckJveCogcm9v
dFJlbmRlcmVyID0gZG9jdW1lbnQtPmRvY3VtZW50RWxlbWVudCgpID8gZG9jdW1lbnQtPmRvY3Vt
ZW50RWxlbWVudCgpLT5yZW5kZXJCb3goKSA6IDA7CiAgICAgICAgICAgICAgICAgICAgIFJlbmRl
ckJveCogYm9keVJlbmRlcmVyID0gcm9vdFJlbmRlcmVyICYmIGRvY3VtZW50LT5ib2R5KCkgPyBk
b2N1bWVudC0+Ym9keSgpLT5yZW5kZXJCb3goKSA6IDA7CkBAIC0xMzMwLDIwICsxMzMwLDE5IEBA
IHZvaWQgRnJhbWVWaWV3OjpsYXlvdXQoYm9vbCBhbGxvd1N1YnRyZWUpCiAgICAgICAgIG1fbGF5
b3V0Um9vdCA9IDA7CiAgICAgfSAvLyBSZXNldCBtX2xheW91dFNjaGVkdWxpbmdFbmFibGVkIHRv
IGl0cyBwcmV2aW91cyB2YWx1ZS4KIAotICAgIGJvb2wgbmVlZGVkRnVsbFJlcGFpbnQgPSBtX2Rv
RnVsbFJlcGFpbnQ7CisgICAgYm9vbCBuZWVkZWRGdWxsUmVwYWludCA9IG1fbmVlZHNGdWxsUmVw
YWludDsKIAogICAgIGlmICghc3VidHJlZSAmJiAhdG9SZW5kZXJWaWV3KHJvb3QpLT5wcmludGlu
ZygpKQogICAgICAgICBhZGp1c3RWaWV3U2l6ZSgpOwogCi0gICAgbV9kb0Z1bGxSZXBhaW50ID0g
bmVlZGVkRnVsbFJlcGFpbnQ7CisgICAgbV9uZWVkc0Z1bGxSZXBhaW50ID0gbmVlZGVkRnVsbFJl
cGFpbnQ7CiAKICAgICAvLyBOb3cgdXBkYXRlIHRoZSBwb3NpdGlvbnMgb2YgYWxsIGxheWVycy4K
ICAgICBiZWdpbkRlZmVycmVkUmVwYWludHMoKTsKLSAgICBpZiAobV9kb0Z1bGxSZXBhaW50KQot
ICAgICAgICByb290LT52aWV3KCktPnJlcGFpbnQoKTsgLy8gRklYTUU6IFRoaXMgaXNuJ3QgcmVh
bGx5IHJpZ2h0LCBzaW5jZSB0aGUgUmVuZGVyVmlldyBkb2Vzbid0IGZ1bGx5IGVuY29tcGFzcyB0
aGUgdmlzaWJsZUNvbnRlbnRSZWN0KCkuIEl0IGp1c3QgaGFwcGVucwotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gdG8gd29yayBvdXQgbW9zdCBvZiB0aGUgdGltZSwgc2luY2Ug
Zmlyc3QgbGF5b3V0cyBhbmQgcHJpbnRpbmcgZG9uJ3QgaGF2ZSB5b3Ugc2Nyb2xsZWQgYW55d2hl
cmUuCisgICAgaWYgKG1fbmVlZHNGdWxsUmVwYWludCkKKyAgICAgICAgcm9vdC0+dmlldygpLT5y
ZXBhaW50Um9vdENvbnRlbnRzKCk7CiAKLSAgICBsYXllci0+dXBkYXRlTGF5ZXJQb3NpdGlvbnNB
ZnRlckxheW91dChyZW5kZXJWaWV3KCktPmxheWVyKCksIHVwZGF0ZUxheWVyUG9zaXRpb25GbGFn
cyhsYXllciwgc3VidHJlZSwgbV9kb0Z1bGxSZXBhaW50KSk7CisgICAgbGF5ZXItPnVwZGF0ZUxh
eWVyUG9zaXRpb25zQWZ0ZXJMYXlvdXQocmVuZGVyVmlldygpLT5sYXllcigpLCB1cGRhdGVMYXll
clBvc2l0aW9uRmxhZ3MobGF5ZXIsIHN1YnRyZWUsIG1fbmVlZHNGdWxsUmVwYWludCkpOwogCiAg
ICAgZW5kRGVmZXJyZWRSZXBhaW50cygpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0ZyYW1lVmlldy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaAppbmRleCBk
NmVmMDJlM2NjZGE3ZmNhNTUyMzExZTUzNWI2YzVhMWJlMmJkNTAxLi4wMWZjOTY5MjgxZGI4OTg0
OWRjNTg4MjQ2NzRiNzNlMTExNmY1ZjY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0ZyYW1lVmlldy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKQEAgLTEx
NSw3ICsxMTUsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXROZWVkc0xheW91dCgpOwogICAgIHZv
aWQgc2V0Vmlld3BvcnRDb25zdHJhaW5lZE9iamVjdHNOZWVkTGF5b3V0KCk7CiAKLSAgICBib29s
IG5lZWRzRnVsbFJlcGFpbnQoKSBjb25zdCB7IHJldHVybiBtX2RvRnVsbFJlcGFpbnQ7IH0KKyAg
ICBib29sIG5lZWRzRnVsbFJlcGFpbnQoKSBjb25zdCB7IHJldHVybiBtX25lZWRzRnVsbFJlcGFp
bnQ7IH0KIAogI2lmIEVOQUJMRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkKICAgICB2b2lkIHNl
cnZpY2VTY3JpcHRlZEFuaW1hdGlvbnMoZG91YmxlIG1vbm90b25pY0FuaW1hdGlvblN0YXJ0VGlt
ZSk7CkBAIC01NTEsNyArNTUxLDcgQEAgcHJpdmF0ZToKIAogICAgIE93blB0cjxSZW5kZXJPYmpl
Y3RTZXQ+IG1fc2xvd1JlcGFpbnRPYmplY3RzOwogCi0gICAgYm9vbCBtX2RvRnVsbFJlcGFpbnQ7
CisgICAgYm9vbCBtX25lZWRzRnVsbFJlcGFpbnQ7CiAgICAgCiAgICAgYm9vbCBtX2NhbkhhdmVT
Y3JvbGxiYXJzOwogICAgIGJvb2wgbV9jYW5ub3RCbGl0VG9XaW5kb3c7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJCb3guY3BwCmluZGV4IDMyNWUzOWNlZDhmYzk5YmQ1YTZlMGZjNTNhZjE1
M2Y0MDUzODhlZTEuLjM0MzBjNzJmNDkwNzU5YzA3ODY1OGZiYzlhNWIxYWY3Yjg3NjM4ZTAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCkBAIC0yMDYsMTEgKzIwNiw5IEBA
IHZvaWQgUmVuZGVyQm94OjpzdHlsZVdpbGxDaGFuZ2UoU3R5bGVEaWZmZXJlbmNlIGRpZmYsIGNv
bnN0IFJlbmRlclN0eWxlKiBuZXdTdHlsCiAgICAgUmVuZGVyU3R5bGUqIG9sZFN0eWxlID0gc3R5
bGUoKTsKICAgICBpZiAob2xkU3R5bGUpIHsKICAgICAgICAgLy8gVGhlIGJhY2tncm91bmQgb2Yg
dGhlIHJvb3QgZWxlbWVudCBvciB0aGUgYm9keSBlbGVtZW50IGNvdWxkIHByb3BhZ2F0ZSB1cCB0
bwotICAgICAgICAvLyB0aGUgY2FudmFzLiAgSnVzdCBkaXJ0eSB0aGUgZW50aXJlIGNhbnZhcyB3
aGVuIG91ciBzdHlsZSBjaGFuZ2VzIHN1YnN0YW50aWFsbHkuCi0gICAgICAgIGlmIChkaWZmID49
IFN0eWxlRGlmZmVyZW5jZVJlcGFpbnQgJiYgbm9kZSgpICYmCi0gICAgICAgICAgICAobm9kZSgp
LT5oYXNUYWdOYW1lKGh0bWxUYWcpIHx8IG5vZGUoKS0+aGFzVGFnTmFtZShib2R5VGFnKSkpIHsK
LSAgICAgICAgICAgIHZpZXcoKS0+cmVwYWludCgpOwotICAgICAgICAgICAgCisgICAgICAgIC8v
IHRoZSBjYW52YXMuIElzc3VlIGZ1bGwgcmVwYWludCwgd2hlbiBvdXIgc3R5bGUgY2hhbmdlcyBz
dWJzdGFudGlhbGx5LgorICAgICAgICBpZiAoZGlmZiA+PSBTdHlsZURpZmZlcmVuY2VSZXBhaW50
ICYmIChpc1Jvb3QoKSB8fCBpc0JvZHkoKSkpIHsKKyAgICAgICAgICAgIHZpZXcoKS0+cmVwYWlu
dFJvb3RDb250ZW50cygpOwogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKICAgICAg
ICAgICAgIGlmIChvbGRTdHlsZS0+aGFzRW50aXJlbHlGaXhlZEJhY2tncm91bmQoKSAhPSBuZXdT
dHlsZS0+aGFzRW50aXJlbHlGaXhlZEJhY2tncm91bmQoKSkKICAgICAgICAgICAgICAgICB2aWV3
KCktPmNvbXBvc2l0b3IoKS0+cm9vdEZpeGVkQmFja2dyb3VuZHNDaGFuZ2VkKCk7CkBAIC0yMjks
NyArMjI3LDcgQEAgdm9pZCBSZW5kZXJCb3g6OnN0eWxlV2lsbENoYW5nZShTdHlsZURpZmZlcmVu
Y2UgZGlmZiwgY29uc3QgUmVuZGVyU3R5bGUqIG5ld1N0eWwKICAgICAgICAgICAgICAgICByZW1v
dmVGbG9hdGluZ09yUG9zaXRpb25lZENoaWxkRnJvbUJsb2NrTGlzdHMoKTsKICAgICAgICAgfQog
ICAgIH0gZWxzZSBpZiAobmV3U3R5bGUgJiYgaXNCb2R5KCkpCi0gICAgICAgIHZpZXcoKS0+cmVw
YWludCgpOworICAgICAgICB2aWV3KCktPnJlcGFpbnRSb290Q29udGVudHMoKTsKIAogICAgIFJl
bmRlckJveE1vZGVsT2JqZWN0OjpzdHlsZVdpbGxDaGFuZ2UoZGlmZiwgbmV3U3R5bGUpOwogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdENoaWxkTGlz
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0Q2hpbGRMaXN0LmNw
cAppbmRleCA5NDQ1ZGY4OGY5MjMyNWYzNjkwMDZiMTNhODQ1NzI1OWNjYTE1MGRjLi4yMDY4ZWQx
ZTIyODk5MDJjYzNkNWI5MjY1YzJhNjhmM2UwYWVkMWZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0Q2hpbGRMaXN0LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0Q2hpbGRMaXN0LmNwcApAQCAtNjcsNyArNjcsNyBA
QCBSZW5kZXJPYmplY3QqIFJlbmRlck9iamVjdENoaWxkTGlzdDo6cmVtb3ZlQ2hpbGROb2RlKFJl
bmRlck9iamVjdCogb3duZXIsIFJlbmRlcgogICAgICAgICBvbGRDaGlsZC0+c2V0TmVlZHNMYXlv
dXRBbmRQcmVmV2lkdGhzUmVjYWxjKCk7CiAgICAgICAgIC8vIFdlIG9ubHkgcmVwYWludCB8b2xk
Q2hpbGR8IGlmIHdlIGhhdmUgYSBSZW5kZXJMYXllciBhcyBpdHMgdmlzdWFsIG92ZXJmbG93IG1h
eSBub3QgYmUgdHJhY2tlZCBieSBpdHMgcGFyZW50LgogICAgICAgICBpZiAob2xkQ2hpbGQtPmlz
Qm9keSgpKQotICAgICAgICAgICAgb3duZXItPnZpZXcoKS0+cmVwYWludCgpOworICAgICAgICAg
ICAgb3duZXItPnZpZXcoKS0+cmVwYWludFJvb3RDb250ZW50cygpOwogICAgICAgICBlbHNlCiAg
ICAgICAgICAgICBvbGRDaGlsZC0+cmVwYWludCgpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJWaWV3LmNwcAppbmRleCAyNTE2NTlmYzEwZmJlN2RlY2I0YjM5NWMwMGZiZDkz
OGE1NTFhYTg3Li5iMjkxMjI3NzlmNTdjMmUzOGM4NDg1ODI1MDc4YjBkNWRhMmQ2M2UxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwCkBAIC01MjYsNiArNTI2LDE3IEBA
IGJvb2wgUmVuZGVyVmlldzo6c2hvdWxkUmVwYWludChjb25zdCBMYXlvdXRSZWN0JiByKSBjb25z
dAogICAgIHJldHVybiB0cnVlOwogfQogCit2b2lkIFJlbmRlclZpZXc6OnJlcGFpbnRSb290Q29u
dGVudHMoKQoreworI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKKyAgICBpZiAobGF5
ZXIoKS0+aXNDb21wb3NpdGVkKCkpIHsKKyAgICAgICAgbGF5ZXIoKS0+c2V0QmFja2luZ05lZWRz
UmVwYWludCgpOworICAgICAgICByZXR1cm47CisgICAgfQorI2VuZGlmCisgICAgcmVwYWludCgp
OworfQorCiB2b2lkIFJlbmRlclZpZXc6OnJlcGFpbnRWaWV3UmVjdGFuZ2xlKGNvbnN0IExheW91
dFJlY3QmIHVyLCBib29sIGltbWVkaWF0ZSkgY29uc3QKIHsKICAgICBpZiAoIXNob3VsZFJlcGFp
bnQodXIpKQpAQCAtNTY3LDggKzU3OCw3IEBAIHZvaWQgUmVuZGVyVmlldzo6cmVwYWludFJlY3Rh
bmdsZUluVmlld0FuZENvbXBvc2l0ZWRMYXllcnMoY29uc3QgTGF5b3V0UmVjdCYgdXIsCiAKIHZv
aWQgUmVuZGVyVmlldzo6cmVwYWludFZpZXdBbmRDb21wb3NpdGVkTGF5ZXJzKCkKIHsKLSAgICBy
ZXBhaW50KCk7Ci0gICAgCisgICAgcmVwYWludFJvb3RDb250ZW50cygpOwogI2lmIFVTRShBQ0NF
TEVSQVRFRF9DT01QT1NJVElORykKICAgICBpZiAoY29tcG9zaXRvcigpLT5pbkNvbXBvc2l0aW5n
TW9kZSgpKQogICAgICAgICBjb21wb3NpdG9yKCktPnJlcGFpbnRDb21wb3NpdGVkTGF5ZXJzKCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5oIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuaAppbmRleCAwOTQ2NmRlYzczZWU2ZTAx
M2M4NmRhYjE3MDJlYjk4ZWQ0ZDhlZDNhLi4xNzNmZTQzNzRkYjI0NDZiYWQ0OTY1NTQyNDI2MGY4
ZWY2OTc1NTU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmll
dy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmgKQEAgLTc2LDYg
Kzc2LDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBMYXlvdXRSZWN0IHZpc3VhbE92ZXJmbG93
UmVjdCgpIGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBjb21wdXRlUmVjdEZvclJl
cGFpbnQoY29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5lciwgTGF5
b3V0UmVjdCYsIGJvb2wgZml4ZWQgPSBmYWxzZSkgY29uc3QgT1ZFUlJJREU7CisgICAgdm9pZCBy
ZXBhaW50Um9vdENvbnRlbnRzKCk7CiAgICAgdm9pZCByZXBhaW50Vmlld1JlY3RhbmdsZShjb25z
dCBMYXlvdXRSZWN0JiwgYm9vbCBpbW1lZGlhdGUgPSBmYWxzZSkgY29uc3Q7CiAgICAgLy8gUmVw
YWludCB0aGUgdmlldywgYW5kIGFsbCBjb21wb3NpdGVkIGxheWVycyB0aGF0IGludGVyc2VjdCB0
aGUgZ2l2ZW4gYWJzb2x1dGUgcmVjdGFuZ2xlLgogICAgIC8vIEZJWE1FOiBpZGVhbGx5IHdlJ2Qg
bmV2ZXIgaGF2ZSB0byBkbyB0aGlzLCBpZiBhbGwgcmVwYWludHMgYXJlIGNvbnRhaW5lci1yZWxh
dGl2ZS4KZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBjZjIwODc2MTE4
OGEyZWY3NTQzMmI2OThlYzA4ZTI1Y2ExODFlMDIxLi5mYzZlMGQ5ODk3ODg5NGU1ZTNmNzRiZjQ3
YTIwNDdjYzRjYzY4ZmM2IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjkgQEAKKzIwMTMtMDgtMDMgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNv
bT4KKworICAgICAgICBCYWNrZ3JvdW5kIGRvZXNuJ3QgZnVsbHkgcmVwYWludCB3aGVuIGJvZHkg
aGFzIG1hcmdpbnMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMTkwMzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBFbnN1cmUgdGhhdCBiYWNrZ3JvdW5kLWNvbG9yIGNoYW5nZXMgZG8gbm90IGxlYXZlIHVu
cGFpbnRlZCBhcmVhcyB3aGVuCisgICAgICAgIGJvZHkgaGFzIG1hcmdpbnMuCisKKyAgICAgICAg
Qm90aCA8Ym9keT4gYW5kIDxodG1sPiBiYWNrZ3JvdW5kLWNvbG9yIGdldCBwcm9wYWdhdGVkIHVw
IHRvIHRoZSB2aWV3cG9ydC4KKyAgICAgICAgSWYgPGJvZHk+IGhhcyBiYWNrZ3JvdW5kLWNvbG9y
IGF0dHJpYnV0ZSBzZXQsIHdoaWxlIDxodG1sPiBkb2Vzbid0LCB0aGUgY29sb3IgaXMKKyAgICAg
ICAgYXBwbGllZCBub3Qgb25seSBvbiB0aGUgPGJvZHk+IGJ1dCBvbiBib3RoIHRoZSA8aHRtbD4g
YW5kIHRoZSB2aWV3cG9ydC4gSG93ZXZlciwKKyAgICAgICAgaXQncyBub3QgZW5vdWdoIHRvIG1h
cmsgdGhlIFJlbmRlclZpZXcgZGlydHkgYmVjYXVzZSB3aXRoIHRpbGVzIGJhY2tpbmcgb24sCisg
ICAgICAgIHRoZXJlIGNvdWxkIGJlIGFyZWFzIG91dHNpZGUgb2YgdGhlIHZpZXdwb3J0IHRoYXQg
bmVlZCByZXBhaW50LiBCeSBtYXJraW5nCisgICAgICAgIHRoZSBSZW5kZXJWaWV3J3MgZ3JhcGhp
Y3MgbGF5ZXIgZGlydHkgaW5zdGVhZCwgd2UgZW5zdXJlIHRoYXQgYWxsIHRoZSByZWxhdGVkCisg
ICAgICAgIHRpbGVzIGdldCBtYXJrZWQgZGlydHkgdG9vIGFuZCB0aGUgbmV3IGJhY2tncm91bmQg
Y29sb3IgY292ZXJzIGFsbCBhcmVhcy4KKworICAgICAgICBNYW51YWwgdGVzdCBhZGRlZC4gV2hl
biBmb3JjaW5nIHRvcC1sZXZlbCBjb21wb3NpdGlvbiBvbiAoZXZlbiB3aXRoIGVtYmVkZGVkIGlm
cmFtZSB0bworICAgICAgICBtYWtlIHN1cmUgd2UgZG9uJ3QgZG8gcGFpbnRzSW50b1dpbmRvdyBy
ZW5kZXJpbmcpLCB0aGUgdGVzdCBjYXNlIGV4ZWN1dGlvbiBjaGFuZ2VzIHNvIG11Y2gsCisgICAg
ICAgIHRoYXQgdGhlIHJlcGFpbnQgcmVjdHMgZG9uJ3QgcmVmbGVjdCB0aGUgZnVuY3Rpb25hbGl0
eSBkaWZmZXJlbmNlIGFueW1vcmUuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBNYW51YWxUZXN0cy9jb21wb3NpdGluZy9iYWNrZ3JvdW5kLWNvbG9y
LWNoYW5nZS1vbi1ib2R5LXdpdGgtbWFyZ2luLmh0bWw6IEFkZGVkLgorCiAyMDEzLTA3LTI1ICBD
aHJpc3RvcGhlIER1bWV6ICA8Y2guZHVtZXpAc2lzYS5zYW1zdW5nLmNvbT4KIAogICAgICAgICBV
bnJldmlld2VkIEVGTCBidWlsZCBmaXggYWZ0ZXIgcjE1MzMxNS4KZGlmZiAtLWdpdCBhL01hbnVh
bFRlc3RzL2NvbXBvc2l0aW5nL2JhY2tncm91bmQtY29sb3ItY2hhbmdlLW9uLWJvZHktd2l0aC1t
YXJnaW4uaHRtbCBiL01hbnVhbFRlc3RzL2NvbXBvc2l0aW5nL2JhY2tncm91bmQtY29sb3ItY2hh
bmdlLW9uLWJvZHktd2l0aC1tYXJnaW4uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wM2NiY2I2MjdhYjA0ODZj
ZDNhOGFmNDQ0YzYyNjg2OTY3Njg0YTdiCi0tLSAvZGV2L251bGwKKysrIGIvTWFudWFsVGVzdHMv
Y29tcG9zaXRpbmcvYmFja2dyb3VuZC1jb2xvci1jaGFuZ2Utb24tYm9keS13aXRoLW1hcmdpbi5o
dG1sCkBAIC0wLDAgKzEsMTE2IEBACis8aHRtbD4KKzxoZWFkPgorCis8c3R5bGU+Citib2R5IHsK
KyAgbWFyZ2luOiAxMDBweCAxMDBweCAxMDBweCAxMDBweDsKKyAgYmFja2dyb3VuZC1jb2xvcjog
cmVkOworfQorPC9zdHlsZT4KKworPHNjcmlwdD4KKyAgZnVuY3Rpb24gc3RhcnQoKSB7CisgICAg
d2luZG93LnNldFRpbWVvdXQoImRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdib2R5Jylb
MF0uc3R5bGUuYmFja2dyb3VuZENvbG9yPSd3aGl0ZSc7IiwgNTAwKTsgCisgIH0KKzwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSdzdGFydCgpOyc+CisgIDxwPlRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IHdlIGRvbid0IGRvIHBhcnRpYWwgcmVwYWludCB3aGVuIGJhY2tncm91bmQtY29s
b3IgY2hhbmdlcy48YnI+CisgICAgIFNjcm9sbCB0byBjaGVjayBpZiB0aGUgYmFja2dyb3VuZCBp
cyB3aGl0ZSBhbGwgdGhlIHdheSBkb3duLjwvcD4KKyAgPGRpdiBpZD0nY29udGVudCc+CisgICAg
TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0
IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0g
aXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8
YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0g
ZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+Cisg
ICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Ig
c2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9y
ZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFt
ZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBz
dW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+
CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9s
b3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAg
TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0
IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0g
aXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8
YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0g
ZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+Cisg
ICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Ig
c2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9y
ZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFt
ZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBz
dW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+
CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9s
b3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAg
TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0
IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0g
aXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8
YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0g
ZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+Cisg
ICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Ig
c2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9y
ZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFt
ZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBz
dW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+
CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9s
b3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAg
TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0
IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0g
aXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8
YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0g
ZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+Cisg
ICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Ig
c2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9y
ZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFt
ZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBz
dW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+
CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9s
b3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAg
TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0
IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0g
aXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8
YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0g
ZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+Cisg
ICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Ig
c2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9y
ZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFt
ZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBz
dW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+
CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgIDwvZGl2PgorPC9ib2R5Pgor
PC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>208100</attachid>
            <date>2013-08-04 13:41:05 -0700</date>
            <delta_ts>2013-08-04 14:27:50 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-119033-20130804234107.patch</filename>
            <type>text/plain</type>
            <size>15734</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUzMzY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjUwZWU0ZmVhYzc0OWQ2
MzFmMTQ1NDgxYzA3NWFkODMwODFjY2VhNi4uOWVmZTliYjI3YTIxYTEwMWNjMDg1M2IyNTRkNmM2
ZWMzNjAzZmVlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDEzLTA4LTAzICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgQmFja2dyb3VuZCBkb2Vzbid0
IGZ1bGx5IHJlcGFpbnQgd2hlbiBib2R5IGhhcyBtYXJnaW5zLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE5MDMzCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgU2ltb24gRnJhc2VyLgorCisgICAgICAgIEVuc3VyZSB0aGF0IGJhY2tncm91bmQtY29sb3Ig
Y2hhbmdlcyBkbyBub3QgbGVhdmUgdW5wYWludGVkIGFyZWFzIHdoZW4KKyAgICAgICAgYm9keSBo
YXMgbWFyZ2lucy4KKworICAgICAgICBCb3RoIDxib2R5PiBhbmQgPGh0bWw+IGJhY2tncm91bmQt
Y29sb3IgZ2V0IHByb3BhZ2F0ZWQgdXAgdG8gdGhlIHZpZXdwb3J0LgorICAgICAgICBJZiA8Ym9k
eT4gaGFzIGJhY2tncm91bmQtY29sb3IgYXR0cmlidXRlIHNldCwgd2hpbGUgPGh0bWw+IGRvZXNu
J3QsIHRoZSBjb2xvciBpcworICAgICAgICBhcHBsaWVkIG5vdCBvbmx5IG9uIHRoZSA8Ym9keT4g
YnV0IG9uIGJvdGggdGhlIDxodG1sPiBhbmQgdGhlIHZpZXdwb3J0LiBIb3dldmVyLAorICAgICAg
ICBpdCdzIG5vdCBlbm91Z2ggdG8gbWFyayB0aGUgUmVuZGVyVmlldyBkaXJ0eSBiZWNhdXNlIHdp
dGggdGlsZXMgYmFja2luZyBvbiwKKyAgICAgICAgdGhlcmUgY291bGQgYmUgYXJlYXMgb3V0c2lk
ZSBvZiB0aGUgdmlld3BvcnQgdGhhdCBuZWVkIHJlcGFpbnQuIEJ5IG1hcmtpbmcKKyAgICAgICAg
dGhlIFJlbmRlclZpZXcncyBncmFwaGljcyBsYXllciBkaXJ0eSBpbnN0ZWFkLCB3ZSBlbnN1cmUg
dGhhdCBhbGwgdGhlIHJlbGF0ZWQKKyAgICAgICAgdGlsZXMgZ2V0IG1hcmtlZCBkaXJ0eSB0b28g
YW5kIHRoZSBuZXcgYmFja2dyb3VuZCBjb2xvciBjb3ZlcnMgYWxsIGFyZWFzLgorCisgICAgICAg
IE1hbnVhbCB0ZXN0IGFkZGVkLiBXaGVuIGZvcmNpbmcgdG9wLWxldmVsIGNvbXBvc2l0aW9uIG9u
IChldmVuIHdpdGggZW1iZWRkZWQgaWZyYW1lIHRvCisgICAgICAgIG1ha2Ugc3VyZSB3ZSBkb24n
dCBkbyBwYWludHNJbnRvV2luZG93IHJlbmRlcmluZyksIHRoZSB0ZXN0IGNhc2UgZXhlY3V0aW9u
IGNoYW5nZXMgc28gbXVjaCwKKyAgICAgICAgdGhhdCB0aGUgcmVwYWludCByZWN0cyBkb24ndCBy
ZWZsZWN0IHRoZSBmdW5jdGlvbmFsaXR5IGRpZmZlcmVuY2UgYW55bW9yZS4KKworICAgICAgICAq
IHBhZ2UvRnJhbWVWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6cmVzZXQp
OgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpsYXlvdXQpOgorICAgICAgICAqIHBhZ2Uv
RnJhbWVWaWV3Lmg6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6Om5lZWRzRnVsbFJlcGFp
bnQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3guY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyQm94OjpzdHlsZVdpbGxDaGFuZ2UpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJPYmplY3RDaGlsZExpc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0Q2hp
bGRMaXN0OjpyZW1vdmVDaGlsZE5vZGUpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJWaWV3
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclZpZXc6OnJlcGFpbnRSb290Q29udGVudHMp
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVmlldzo6cmVwYWludFZpZXdBbmRDb21wb3NpdGVk
TGF5ZXJzKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVmlldy5oOgorCiAyMDEzLTA3LTI1
ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIFJlbW92ZSB1bnVz
ZWQgSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQ6OnRleHRSZW5kZXJlckFmdGVyVXBkYXRlTGF5
b3V0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggNDkwNjc0ZGU1MzNhNjZjNjU2ODVh
ZDc0NzhjNDBmZmRkN2YzMGUzYS4uZWMwOWUyMTE2NWRiMWEyYjRiMTRkYzI2ZTAxMzM0OGVjOTJi
NTY3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApAQCAtMjczLDcgKzI3Myw3IEBAIHZv
aWQgRnJhbWVWaWV3OjpyZXNldCgpCiAgICAgbV9sYXlvdXRUaW1lci5zdG9wKCk7CiAgICAgbV9s
YXlvdXRSb290ID0gMDsKICAgICBtX2RlbGF5ZWRMYXlvdXQgPSBmYWxzZTsKLSAgICBtX2RvRnVs
bFJlcGFpbnQgPSB0cnVlOworICAgIG1fbmVlZHNGdWxsUmVwYWludCA9IHRydWU7CiAgICAgbV9s
YXlvdXRTY2hlZHVsaW5nRW5hYmxlZCA9IHRydWU7CiAgICAgbV9pbkxheW91dCA9IGZhbHNlOwog
ICAgIG1fZG9pbmdQcmVMYXlvdXRTdHlsZVVwZGF0ZSA9IGZhbHNlOwpAQCAtMTI1MCw3ICsxMjUw
LDcgQEAgdm9pZCBGcmFtZVZpZXc6OmxheW91dChib29sIGFsbG93U3VidHJlZSkKICAgICAgICAg
U2Nyb2xsYmFyTW9kZSB2TW9kZTsgICAgCiAgICAgICAgIGNhbGN1bGF0ZVNjcm9sbGJhck1vZGVz
Rm9yTGF5b3V0KGhNb2RlLCB2TW9kZSk7CiAKLSAgICAgICAgbV9kb0Z1bGxSZXBhaW50ID0gIXN1
YnRyZWUgJiYgKG1fZmlyc3RMYXlvdXQgfHwgdG9SZW5kZXJWaWV3KHJvb3QpLT5wcmludGluZygp
KTsKKyAgICAgICAgbV9uZWVkc0Z1bGxSZXBhaW50ID0gIXN1YnRyZWUgJiYgKG1fZmlyc3RMYXlv
dXQgfHwgdG9SZW5kZXJWaWV3KHJvb3QpLT5wcmludGluZygpKTsKIAogICAgICAgICBpZiAoIXN1
YnRyZWUpIHsKICAgICAgICAgICAgIC8vIE5vdyBzZXQgb3VyIHNjcm9sbGJhciBzdGF0ZSBmb3Ig
dGhlIGxheW91dC4KQEAgLTEyODcsNyArMTI4Nyw3IEBAIHZvaWQgRnJhbWVWaWV3OjpsYXlvdXQo
Ym9vbCBhbGxvd1N1YnRyZWUpCiAgICAgICAgICAgICBtX3NpemUgPSBMYXlvdXRTaXplKGxheW91
dFdpZHRoKCksIGxheW91dEhlaWdodCgpKTsKIAogICAgICAgICAgICAgaWYgKG9sZFNpemUgIT0g
bV9zaXplKSB7Ci0gICAgICAgICAgICAgICAgbV9kb0Z1bGxSZXBhaW50ID0gdHJ1ZTsKKyAgICAg
ICAgICAgICAgICBtX25lZWRzRnVsbFJlcGFpbnQgPSB0cnVlOwogICAgICAgICAgICAgICAgIGlm
ICghbV9maXJzdExheW91dCkgewogICAgICAgICAgICAgICAgICAgICBSZW5kZXJCb3gqIHJvb3RS
ZW5kZXJlciA9IGRvY3VtZW50LT5kb2N1bWVudEVsZW1lbnQoKSA/IGRvY3VtZW50LT5kb2N1bWVu
dEVsZW1lbnQoKS0+cmVuZGVyQm94KCkgOiAwOwogICAgICAgICAgICAgICAgICAgICBSZW5kZXJC
b3gqIGJvZHlSZW5kZXJlciA9IHJvb3RSZW5kZXJlciAmJiBkb2N1bWVudC0+Ym9keSgpID8gZG9j
dW1lbnQtPmJvZHkoKS0+cmVuZGVyQm94KCkgOiAwOwpAQCAtMTMzMCwyMCArMTMzMCwxOSBAQCB2
b2lkIEZyYW1lVmlldzo6bGF5b3V0KGJvb2wgYWxsb3dTdWJ0cmVlKQogICAgICAgICBtX2xheW91
dFJvb3QgPSAwOwogICAgIH0gLy8gUmVzZXQgbV9sYXlvdXRTY2hlZHVsaW5nRW5hYmxlZCB0byBp
dHMgcHJldmlvdXMgdmFsdWUuCiAKLSAgICBib29sIG5lZWRlZEZ1bGxSZXBhaW50ID0gbV9kb0Z1
bGxSZXBhaW50OworICAgIGJvb2wgbmVlZGVkRnVsbFJlcGFpbnQgPSBtX25lZWRzRnVsbFJlcGFp
bnQ7CiAKICAgICBpZiAoIXN1YnRyZWUgJiYgIXRvUmVuZGVyVmlldyhyb290KS0+cHJpbnRpbmco
KSkKICAgICAgICAgYWRqdXN0Vmlld1NpemUoKTsKIAotICAgIG1fZG9GdWxsUmVwYWludCA9IG5l
ZWRlZEZ1bGxSZXBhaW50OworICAgIG1fbmVlZHNGdWxsUmVwYWludCA9IG5lZWRlZEZ1bGxSZXBh
aW50OwogCiAgICAgLy8gTm93IHVwZGF0ZSB0aGUgcG9zaXRpb25zIG9mIGFsbCBsYXllcnMuCiAg
ICAgYmVnaW5EZWZlcnJlZFJlcGFpbnRzKCk7Ci0gICAgaWYgKG1fZG9GdWxsUmVwYWludCkKLSAg
ICAgICAgcm9vdC0+dmlldygpLT5yZXBhaW50KCk7IC8vIEZJWE1FOiBUaGlzIGlzbid0IHJlYWxs
eSByaWdodCwgc2luY2UgdGhlIFJlbmRlclZpZXcgZG9lc24ndCBmdWxseSBlbmNvbXBhc3MgdGhl
IHZpc2libGVDb250ZW50UmVjdCgpLiBJdCBqdXN0IGhhcHBlbnMKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIHRvIHdvcmsgb3V0IG1vc3Qgb2YgdGhlIHRpbWUsIHNpbmNlIGZp
cnN0IGxheW91dHMgYW5kIHByaW50aW5nIGRvbid0IGhhdmUgeW91IHNjcm9sbGVkIGFueXdoZXJl
LgorICAgIGlmIChtX25lZWRzRnVsbFJlcGFpbnQpCisgICAgICAgIHJvb3QtPnZpZXcoKS0+cmVw
YWludFJvb3RDb250ZW50cygpOwogCi0gICAgbGF5ZXItPnVwZGF0ZUxheWVyUG9zaXRpb25zQWZ0
ZXJMYXlvdXQocmVuZGVyVmlldygpLT5sYXllcigpLCB1cGRhdGVMYXllclBvc2l0aW9uRmxhZ3Mo
bGF5ZXIsIHN1YnRyZWUsIG1fZG9GdWxsUmVwYWludCkpOworICAgIGxheWVyLT51cGRhdGVMYXll
clBvc2l0aW9uc0FmdGVyTGF5b3V0KHJlbmRlclZpZXcoKS0+bGF5ZXIoKSwgdXBkYXRlTGF5ZXJQ
b3NpdGlvbkZsYWdzKGxheWVyLCBzdWJ0cmVlLCBtX25lZWRzRnVsbFJlcGFpbnQpKTsKIAogICAg
IGVuZERlZmVycmVkUmVwYWludHMoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9GcmFtZVZpZXcuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKaW5kZXggZDZl
ZjAyZTNjY2RhN2ZjYTU1MjMxMWU1MzViNmM1YTFiZTJiZDUwMS4uMDFmYzk2OTI4MWRiODk4NDlk
YzU4ODI0Njc0YjczZTExMTZmNWY2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9G
cmFtZVZpZXcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCkBAIC0xMTUs
NyArMTE1LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0TmVlZHNMYXlvdXQoKTsKICAgICB2b2lk
IHNldFZpZXdwb3J0Q29uc3RyYWluZWRPYmplY3RzTmVlZExheW91dCgpOwogCi0gICAgYm9vbCBu
ZWVkc0Z1bGxSZXBhaW50KCkgY29uc3QgeyByZXR1cm4gbV9kb0Z1bGxSZXBhaW50OyB9CisgICAg
Ym9vbCBuZWVkc0Z1bGxSZXBhaW50KCkgY29uc3QgeyByZXR1cm4gbV9uZWVkc0Z1bGxSZXBhaW50
OyB9CiAKICNpZiBFTkFCTEUoUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpCiAgICAgdm9pZCBzZXJ2
aWNlU2NyaXB0ZWRBbmltYXRpb25zKGRvdWJsZSBtb25vdG9uaWNBbmltYXRpb25TdGFydFRpbWUp
OwpAQCAtNTUxLDcgKzU1MSw3IEBAIHByaXZhdGU6CiAKICAgICBPd25QdHI8UmVuZGVyT2JqZWN0
U2V0PiBtX3Nsb3dSZXBhaW50T2JqZWN0czsKIAotICAgIGJvb2wgbV9kb0Z1bGxSZXBhaW50Owor
ICAgIGJvb2wgbV9uZWVkc0Z1bGxSZXBhaW50OwogICAgIAogICAgIGJvb2wgbV9jYW5IYXZlU2Ny
b2xsYmFyczsKICAgICBib29sIG1fY2Fubm90QmxpdFRvV2luZG93OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQm94LmNwcAppbmRleCAzMjVlMzljZWQ4ZmM5OWJkNWE2ZTBmYzUzYWYxNTNm
NDA1Mzg4ZWUxLi4zNDMwYzcyZjQ5MDc1OWMwNzg2NThmYmM5YTViMWFmN2I4NzYzOGUwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcApAQCAtMjA2LDExICsyMDYsOSBAQCB2
b2lkIFJlbmRlckJveDo6c3R5bGVXaWxsQ2hhbmdlKFN0eWxlRGlmZmVyZW5jZSBkaWZmLCBjb25z
dCBSZW5kZXJTdHlsZSogbmV3U3R5bAogICAgIFJlbmRlclN0eWxlKiBvbGRTdHlsZSA9IHN0eWxl
KCk7CiAgICAgaWYgKG9sZFN0eWxlKSB7CiAgICAgICAgIC8vIFRoZSBiYWNrZ3JvdW5kIG9mIHRo
ZSByb290IGVsZW1lbnQgb3IgdGhlIGJvZHkgZWxlbWVudCBjb3VsZCBwcm9wYWdhdGUgdXAgdG8K
LSAgICAgICAgLy8gdGhlIGNhbnZhcy4gIEp1c3QgZGlydHkgdGhlIGVudGlyZSBjYW52YXMgd2hl
biBvdXIgc3R5bGUgY2hhbmdlcyBzdWJzdGFudGlhbGx5LgotICAgICAgICBpZiAoZGlmZiA+PSBT
dHlsZURpZmZlcmVuY2VSZXBhaW50ICYmIG5vZGUoKSAmJgotICAgICAgICAgICAgKG5vZGUoKS0+
aGFzVGFnTmFtZShodG1sVGFnKSB8fCBub2RlKCktPmhhc1RhZ05hbWUoYm9keVRhZykpKSB7Ci0g
ICAgICAgICAgICB2aWV3KCktPnJlcGFpbnQoKTsKLSAgICAgICAgICAgIAorICAgICAgICAvLyB0
aGUgY2FudmFzLiBJc3N1ZSBmdWxsIHJlcGFpbnQsIHdoZW4gb3VyIHN0eWxlIGNoYW5nZXMgc3Vi
c3RhbnRpYWxseS4KKyAgICAgICAgaWYgKGRpZmYgPj0gU3R5bGVEaWZmZXJlbmNlUmVwYWludCAm
JiAoaXNSb290KCkgfHwgaXNCb2R5KCkpKSB7CisgICAgICAgICAgICB2aWV3KCktPnJlcGFpbnRS
b290Q29udGVudHMoKTsKICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiAgICAgICAg
ICAgICBpZiAob2xkU3R5bGUtPmhhc0VudGlyZWx5Rml4ZWRCYWNrZ3JvdW5kKCkgIT0gbmV3U3R5
bGUtPmhhc0VudGlyZWx5Rml4ZWRCYWNrZ3JvdW5kKCkpCiAgICAgICAgICAgICAgICAgdmlldygp
LT5jb21wb3NpdG9yKCktPnJvb3RGaXhlZEJhY2tncm91bmRzQ2hhbmdlZCgpOwpAQCAtMjI5LDcg
KzIyNyw3IEBAIHZvaWQgUmVuZGVyQm94OjpzdHlsZVdpbGxDaGFuZ2UoU3R5bGVEaWZmZXJlbmNl
IGRpZmYsIGNvbnN0IFJlbmRlclN0eWxlKiBuZXdTdHlsCiAgICAgICAgICAgICAgICAgcmVtb3Zl
RmxvYXRpbmdPclBvc2l0aW9uZWRDaGlsZEZyb21CbG9ja0xpc3RzKCk7CiAgICAgICAgIH0KICAg
ICB9IGVsc2UgaWYgKG5ld1N0eWxlICYmIGlzQm9keSgpKQotICAgICAgICB2aWV3KCktPnJlcGFp
bnQoKTsKKyAgICAgICAgdmlldygpLT5yZXBhaW50Um9vdENvbnRlbnRzKCk7CiAKICAgICBSZW5k
ZXJCb3hNb2RlbE9iamVjdDo6c3R5bGVXaWxsQ2hhbmdlKGRpZmYsIG5ld1N0eWxlKTsKIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3RDaGlsZExpc3Qu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdENoaWxkTGlzdC5jcHAK
aW5kZXggOTQ0NWRmODhmOTIzMjVmMzY5MDA2YjEzYTg0NTcyNTljY2ExNTBkYy4uMjA2OGVkMWUy
Mjg5OTAyY2MzZDViOTI2NWMyYTY4ZjNlMGFlZDFmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdENoaWxkTGlzdC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdENoaWxkTGlzdC5jcHAKQEAgLTY3LDcgKzY3LDcgQEAg
UmVuZGVyT2JqZWN0KiBSZW5kZXJPYmplY3RDaGlsZExpc3Q6OnJlbW92ZUNoaWxkTm9kZShSZW5k
ZXJPYmplY3QqIG93bmVyLCBSZW5kZXIKICAgICAgICAgb2xkQ2hpbGQtPnNldE5lZWRzTGF5b3V0
QW5kUHJlZldpZHRoc1JlY2FsYygpOwogICAgICAgICAvLyBXZSBvbmx5IHJlcGFpbnQgfG9sZENo
aWxkfCBpZiB3ZSBoYXZlIGEgUmVuZGVyTGF5ZXIgYXMgaXRzIHZpc3VhbCBvdmVyZmxvdyBtYXkg
bm90IGJlIHRyYWNrZWQgYnkgaXRzIHBhcmVudC4KICAgICAgICAgaWYgKG9sZENoaWxkLT5pc0Jv
ZHkoKSkKLSAgICAgICAgICAgIG93bmVyLT52aWV3KCktPnJlcGFpbnQoKTsKKyAgICAgICAgICAg
IG93bmVyLT52aWV3KCktPnJlcGFpbnRSb290Q29udGVudHMoKTsKICAgICAgICAgZWxzZQogICAg
ICAgICAgICAgb2xkQ2hpbGQtPnJlcGFpbnQoKTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVmlldy5jcHAKaW5kZXggMjUxNjU5ZmMxMGZiZTdkZWNiNGIzOTVjMDBmYmQ5Mzhh
NTUxYWE4Ny4uYjI5MTIyNzc5ZjU3YzJlMzhjODQ4NTgyNTA3OGIwZDVkYTJkNjNlMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmNwcApAQCAtNTI2LDYgKzUyNiwxNyBAQCBi
b29sIFJlbmRlclZpZXc6OnNob3VsZFJlcGFpbnQoY29uc3QgTGF5b3V0UmVjdCYgcikgY29uc3QK
ICAgICByZXR1cm4gdHJ1ZTsKIH0KIAordm9pZCBSZW5kZXJWaWV3OjpyZXBhaW50Um9vdENvbnRl
bnRzKCkKK3sKKyNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCisgICAgaWYgKGxheWVy
KCktPmlzQ29tcG9zaXRlZCgpKSB7CisgICAgICAgIGxheWVyKCktPnNldEJhY2tpbmdOZWVkc1Jl
cGFpbnQoKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyNlbmRpZgorICAgIHJlcGFpbnQoKTsK
K30KKwogdm9pZCBSZW5kZXJWaWV3OjpyZXBhaW50Vmlld1JlY3RhbmdsZShjb25zdCBMYXlvdXRS
ZWN0JiB1ciwgYm9vbCBpbW1lZGlhdGUpIGNvbnN0CiB7CiAgICAgaWYgKCFzaG91bGRSZXBhaW50
KHVyKSkKQEAgLTU2Nyw4ICs1NzgsNyBAQCB2b2lkIFJlbmRlclZpZXc6OnJlcGFpbnRSZWN0YW5n
bGVJblZpZXdBbmRDb21wb3NpdGVkTGF5ZXJzKGNvbnN0IExheW91dFJlY3QmIHVyLAogCiB2b2lk
IFJlbmRlclZpZXc6OnJlcGFpbnRWaWV3QW5kQ29tcG9zaXRlZExheWVycygpCiB7Ci0gICAgcmVw
YWludCgpOwotICAgIAorICAgIHJlcGFpbnRSb290Q29udGVudHMoKTsKICNpZiBVU0UoQUNDRUxF
UkFURURfQ09NUE9TSVRJTkcpCiAgICAgaWYgKGNvbXBvc2l0b3IoKS0+aW5Db21wb3NpdGluZ01v
ZGUoKSkKICAgICAgICAgY29tcG9zaXRvcigpLT5yZXBhaW50Q29tcG9zaXRlZExheWVycygpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuaCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmgKaW5kZXggMDk0NjZkZWM3M2VlNmUwMTNj
ODZkYWIxNzAyZWI5OGVkNGQ4ZWQzYS4uMTczZmU0Mzc0ZGIyNDQ2YmFkNDk2NTU0MjQyNjBmOGVm
Njk3NTU1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5oCkBAIC03Niw2ICs3
Niw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgTGF5b3V0UmVjdCB2aXN1YWxPdmVyZmxvd1Jl
Y3QoKSBjb25zdCBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgY29tcHV0ZVJlY3RGb3JSZXBh
aW50KGNvbnN0IFJlbmRlckxheWVyTW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIsIExheW91
dFJlY3QmLCBib29sIGZpeGVkID0gZmFsc2UpIGNvbnN0IE9WRVJSSURFOworICAgIHZvaWQgcmVw
YWludFJvb3RDb250ZW50cygpOwogICAgIHZvaWQgcmVwYWludFZpZXdSZWN0YW5nbGUoY29uc3Qg
TGF5b3V0UmVjdCYsIGJvb2wgaW1tZWRpYXRlID0gZmFsc2UpIGNvbnN0OwogICAgIC8vIFJlcGFp
bnQgdGhlIHZpZXcsIGFuZCBhbGwgY29tcG9zaXRlZCBsYXllcnMgdGhhdCBpbnRlcnNlY3QgdGhl
IGdpdmVuIGFic29sdXRlIHJlY3RhbmdsZS4KICAgICAvLyBGSVhNRTogaWRlYWxseSB3ZSdkIG5l
dmVyIGhhdmUgdG8gZG8gdGhpcywgaWYgYWxsIHJlcGFpbnRzIGFyZSBjb250YWluZXItcmVsYXRp
dmUuCmRpZmYgLS1naXQgYS9DaGFuZ2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXggY2YyMDg3NjExODhh
MmVmNzU0MzJiNjk4ZWMwOGUyNWNhMTgxZTAyMS4uMGU5NTY4MjFlNTFlYWI3YzkxNzUzZTBmYTgy
Njg3MWQyYTM5YTQ3YiAxMDA2NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDI5IEBACisyMDEzLTA4LTAzICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+
CisKKyAgICAgICAgQmFja2dyb3VuZCBkb2Vzbid0IGZ1bGx5IHJlcGFpbnQgd2hlbiBib2R5IGhh
cyBtYXJnaW5zLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTE5MDMzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgorCisgICAgICAg
IEVuc3VyZSB0aGF0IGJhY2tncm91bmQtY29sb3IgY2hhbmdlcyBkbyBub3QgbGVhdmUgdW5wYWlu
dGVkIGFyZWFzIHdoZW4KKyAgICAgICAgYm9keSBoYXMgbWFyZ2lucy4KKworICAgICAgICBCb3Ro
IDxib2R5PiBhbmQgPGh0bWw+IGJhY2tncm91bmQtY29sb3IgZ2V0IHByb3BhZ2F0ZWQgdXAgdG8g
dGhlIHZpZXdwb3J0LgorICAgICAgICBJZiA8Ym9keT4gaGFzIGJhY2tncm91bmQtY29sb3IgYXR0
cmlidXRlIHNldCwgd2hpbGUgPGh0bWw+IGRvZXNuJ3QsIHRoZSBjb2xvciBpcworICAgICAgICBh
cHBsaWVkIG5vdCBvbmx5IG9uIHRoZSA8Ym9keT4gYnV0IG9uIGJvdGggdGhlIDxodG1sPiBhbmQg
dGhlIHZpZXdwb3J0LiBIb3dldmVyLAorICAgICAgICBpdCdzIG5vdCBlbm91Z2ggdG8gbWFyayB0
aGUgUmVuZGVyVmlldyBkaXJ0eSBiZWNhdXNlIHdpdGggdGlsZXMgYmFja2luZyBvbiwKKyAgICAg
ICAgdGhlcmUgY291bGQgYmUgYXJlYXMgb3V0c2lkZSBvZiB0aGUgdmlld3BvcnQgdGhhdCBuZWVk
IHJlcGFpbnQuIEJ5IG1hcmtpbmcKKyAgICAgICAgdGhlIFJlbmRlclZpZXcncyBncmFwaGljcyBs
YXllciBkaXJ0eSBpbnN0ZWFkLCB3ZSBlbnN1cmUgdGhhdCBhbGwgdGhlIHJlbGF0ZWQKKyAgICAg
ICAgdGlsZXMgZ2V0IG1hcmtlZCBkaXJ0eSB0b28gYW5kIHRoZSBuZXcgYmFja2dyb3VuZCBjb2xv
ciBjb3ZlcnMgYWxsIGFyZWFzLgorCisgICAgICAgIE1hbnVhbCB0ZXN0IGFkZGVkLiBXaGVuIGZv
cmNpbmcgdG9wLWxldmVsIGNvbXBvc2l0aW9uIG9uIChldmVuIHdpdGggZW1iZWRkZWQgaWZyYW1l
IHRvCisgICAgICAgIG1ha2Ugc3VyZSB3ZSBkb24ndCBkbyBwYWludHNJbnRvV2luZG93IHJlbmRl
cmluZyksIHRoZSB0ZXN0IGNhc2UgZXhlY3V0aW9uIGNoYW5nZXMgc28gbXVjaCwKKyAgICAgICAg
dGhhdCB0aGUgcmVwYWludCByZWN0cyBkb24ndCByZWZsZWN0IHRoZSBmdW5jdGlvbmFsaXR5IGRp
ZmZlcmVuY2UgYW55bW9yZS4KKworICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCisK
KyAgICAgICAgKiBNYW51YWxUZXN0cy9jb21wb3NpdGluZy9iYWNrZ3JvdW5kLWNvbG9yLWNoYW5n
ZS1vbi1ib2R5LXdpdGgtbWFyZ2luLmh0bWw6IEFkZGVkLgorCiAyMDEzLTA3LTI1ICBDaHJpc3Rv
cGhlIER1bWV6ICA8Y2guZHVtZXpAc2lzYS5zYW1zdW5nLmNvbT4KIAogICAgICAgICBVbnJldmll
d2VkIEVGTCBidWlsZCBmaXggYWZ0ZXIgcjE1MzMxNS4KZGlmZiAtLWdpdCBhL01hbnVhbFRlc3Rz
L2NvbXBvc2l0aW5nL2JhY2tncm91bmQtY29sb3ItY2hhbmdlLW9uLWJvZHktd2l0aC1tYXJnaW4u
aHRtbCBiL01hbnVhbFRlc3RzL2NvbXBvc2l0aW5nL2JhY2tncm91bmQtY29sb3ItY2hhbmdlLW9u
LWJvZHktd2l0aC1tYXJnaW4uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wM2NiY2I2MjdhYjA0ODZjZDNhOGFm
NDQ0YzYyNjg2OTY3Njg0YTdiCi0tLSAvZGV2L251bGwKKysrIGIvTWFudWFsVGVzdHMvY29tcG9z
aXRpbmcvYmFja2dyb3VuZC1jb2xvci1jaGFuZ2Utb24tYm9keS13aXRoLW1hcmdpbi5odG1sCkBA
IC0wLDAgKzEsMTE2IEBACis8aHRtbD4KKzxoZWFkPgorCis8c3R5bGU+Citib2R5IHsKKyAgbWFy
Z2luOiAxMDBweCAxMDBweCAxMDBweCAxMDBweDsKKyAgYmFja2dyb3VuZC1jb2xvcjogcmVkOwor
fQorPC9zdHlsZT4KKworPHNjcmlwdD4KKyAgZnVuY3Rpb24gc3RhcnQoKSB7CisgICAgd2luZG93
LnNldFRpbWVvdXQoImRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdib2R5JylbMF0uc3R5
bGUuYmFja2dyb3VuZENvbG9yPSd3aGl0ZSc7IiwgNTAwKTsgCisgIH0KKzwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHkgb25sb2FkPSdzdGFydCgpOyc+CisgIDxwPlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHdlIGRvbid0IGRvIHBhcnRpYWwgcmVwYWludCB3aGVuIGJhY2tncm91bmQtY29sb3IgY2hh
bmdlcy48YnI+CisgICAgIFNjcm9sbCB0byBjaGVjayBpZiB0aGUgYmFja2dyb3VuZCBpcyB3aGl0
ZSBhbGwgdGhlIHdheSBkb3duLjwvcD4KKyAgPGRpdiBpZD0nY29udGVudCc+CisgICAgTG9yZW0g
aXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8
YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0g
ZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+Cisg
ICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Ig
c2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9y
ZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFt
ZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBz
dW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+
CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9s
b3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAg
TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0
IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0g
aXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8
YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0g
ZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+Cisg
ICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Ig
c2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9y
ZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFt
ZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBz
dW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+
CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9s
b3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAg
TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0
IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0g
aXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8
YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0g
ZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+Cisg
ICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Ig
c2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9y
ZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFt
ZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBz
dW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+
CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9s
b3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAg
TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0
IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0g
aXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8
YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0g
ZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+Cisg
ICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Ig
c2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9y
ZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFt
ZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBz
dW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+
CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9s
b3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAg
TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0
IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0g
aXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8
YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0g
ZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+Cisg
ICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Ig
c2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9y
ZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFt
ZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBz
dW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+
CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9s
b3Igc2l0IGFtZXQ8YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgICAg
TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8YnI+CisgIDwvZGl2PgorPC9ib2R5PgorPC9odG1s
Pgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>