<?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>105458</bug_id>
          
          <creation_ts>2012-12-19 13:22:33 -0800</creation_ts>
          <short_desc>[chromium] Add ContinuousPainter to call setNeedsDisplay on all layers recursively in continuous painting mode</short_desc>
          <delta_ts>2013-01-11 17:59:40 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter>egraether</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>dglazkov</cc>
    
    <cc>egraether</cc>
    
    <cc>fishd</cc>
    
    <cc>jamesr</cc>
    
    <cc>nduca</cc>
    
    <cc>tkent+wkapi</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>794885</commentid>
    <comment_count>0</comment_count>
    <who name="">egraether</who>
    <bug_when>2012-12-19 13:22:33 -0800</bug_when>
    <thetext>[chromium] Pass the overlayLayer to WebLayerTreeView</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>794888</commentid>
    <comment_count>1</comment_count>
      <attachid>180217</attachid>
    <who name="">egraether</who>
    <bug_when>2012-12-19 13:29:18 -0800</bug_when>
    <thetext>Created attachment 180217
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795110</commentid>
    <comment_count>2</comment_count>
      <attachid>180263</attachid>
    <who name="">egraether</who>
    <bug_when>2012-12-19 19:31:00 -0800</bug_when>
    <thetext>Created attachment 180263
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795111</commentid>
    <comment_count>3</comment_count>
    <who name="">egraether</who>
    <bug_when>2012-12-19 19:33:42 -0800</bug_when>
    <thetext>James, can you review you this please?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795139</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-19 21:05:47 -0800</bug_when>
    <thetext>Please wait for approval from abarth@webkit.org, dglazkov@chromium.org, fishd@chromium.org, jamesr@chromium.org or tkent@chromium.org before submitting, as this patch contains changes to the Chromium public API. See also https://trac.webkit.org/wiki/ChromiumWebKitAPI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>798857</commentid>
    <comment_count>5</comment_count>
      <attachid>180263</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2013-01-02 13:55:42 -0800</bug_when>
    <thetext>Comment on attachment 180263
Patch

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

&gt; Source/Platform/ChangeLog:9
&gt; +        WebLayerTreeView. Thereon this layer can be identified in the layer tree.

typo &quot;Thereon&quot;. This doesn&apos;t explain why the page overlay layer needs to be treated specially

&gt; Source/Platform/chromium/public/WebLayerTreeView.h:196
&gt; +    // Passes a reference of the PageOverlay&apos;s layer to exclude it from continuous painting.
&gt; +    // That way it doesn&apos;t affect the totalPaintTime measurement.
&gt; +    virtual void setPageOverlayLayer(const WebLayer*) { }

Is this really necessary?  For general performance measurements there won&apos;t be a page overlay layer at all, but if there is some case where the page overlay is typically visible then it&apos;s something the user sees and should be counted with all other content.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>799548</commentid>
    <comment_count>6</comment_count>
    <who name="Nat Duca">nduca</who>
    <bug_when>2013-01-03 12:11:34 -0800</bug_when>
    <thetext>@egraether, lets try the approach where we add a 

  WebLayer::setIgnoresForceRedrawMode(bool)

And propagate that through to the redrawing system.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>799549</commentid>
    <comment_count>7</comment_count>
    <who name="Nat Duca">nduca</who>
    <bug_when>2013-01-03 12:11:52 -0800</bug_when>
    <thetext>(pick a better name, though... I forget what we&apos;ve called this cc-side haha)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>801628</commentid>
    <comment_count>8</comment_count>
      <attachid>181560</attachid>
    <who name="">egraether</who>
    <bug_when>2013-01-07 14:05:20 -0800</bug_when>
    <thetext>Created attachment 181560
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>801884</commentid>
    <comment_count>9</comment_count>
      <attachid>181560</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2013-01-07 17:39:22 -0800</bug_when>
    <thetext>Comment on attachment 181560
Patch

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

In talking with Nat it came up that rather than exposing per-layer bits and spreading logic for what layers have what behavior in this mode, it might make more sense to to have all of the continuous painting logic dependent on specific layers driven completely by the WebKit side.  Then any changes in what things you want to include or exclude can be made purely in WebKit.  You can see an example of code that iterates through GraphicsLayers to do things in WebViewBenchmarkSupportImpl.cpp (although I suspect that particular file is on its way out, but it&apos;s not much code).  If you handled the invalidations in that way instead of doing them in cc/layer_tree_host.cc, you could decide to invalidate or not invalidate layers based on any information available in WebKit.  If it turns out that there isn&apos;t too much code spread around then having it split across cc/ and WebKit might be OK, but it will make iterating on it more difficult.

What do you think, Eberhard?

&gt; Source/Platform/chromium/public/WebLayer.h:211
&gt; +    virtual void setIgnoresContinuousPainting(bool) { };

no trailing ; here</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>802316</commentid>
    <comment_count>10</comment_count>
      <attachid>181704</attachid>
    <who name="">egraether</who>
    <bug_when>2013-01-08 10:03:29 -0800</bug_when>
    <thetext>Created attachment 181704
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>802320</commentid>
    <comment_count>11</comment_count>
    <who name="">egraether</who>
    <bug_when>2013-01-08 10:06:24 -0800</bug_when>
    <thetext>(In reply to comment #9)
&gt; (From update of attachment 181560 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=181560&amp;action=review
&gt; 
&gt; In talking with Nat it came up that rather than exposing per-layer bits and spreading logic for what layers have what behavior in this mode, it might make more sense to to have all of the continuous painting logic dependent on specific layers driven completely by the WebKit side.  Then any changes in what things you want to include or exclude can be made purely in WebKit.  You can see an example of code that iterates through GraphicsLayers to do things in WebViewBenchmarkSupportImpl.cpp (although I suspect that particular file is on its way out, but it&apos;s not much code).  If you handled the invalidations in that way instead of doing them in cc/layer_tree_host.cc, you could decide to invalidate or not invalidate layers based on any information available in WebKit.  If it turns out that there isn&apos;t too much code spread around then having it split across cc/ and WebKit might be OK, but it will make iterating on it more difficult.
&gt; 
&gt; What do you think, Eberhard?

Makes sense. I uploaded a new patch with a working draft, please have a look.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>802507</commentid>
    <comment_count>12</comment_count>
      <attachid>181704</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2013-01-08 12:32:01 -0800</bug_when>
    <thetext>Comment on attachment 181704
Patch

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

Seems pretty reasonable to me.  I think it&apos;d be a good idea to try to not add all the new code to WebViewImpl but instead have it off in a separate class that WebViewImpl owns and manages, just to keep the code size down.  Nat - WDYT?

&gt; Source/WebKit/chromium/src/WebViewImpl.cpp:1776
&gt; +    Vector&lt;GraphicsLayer*&gt;::const_iterator it;
&gt; +    for (it = children.begin(); it != children.end(); ++it)
&gt; +        setNeedsDisplayOnAllGraphicLayersRecursive(*it);

FYI if you want to hit mask and replica layers you have to do that explicitly as well with something like

if (GraphicsLayer* maskLayer = layer-&gt;maskLayer())
  maskLayer-&gt;fooBar();

... ditto for replicaLayer</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>803396</commentid>
    <comment_count>13</comment_count>
    <who name="">egraether</who>
    <bug_when>2013-01-09 09:32:10 -0800</bug_when>
    <thetext>(In reply to comment #12)
&gt; (From update of attachment 181704 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=181704&amp;action=review
&gt; 
&gt; Seems pretty reasonable to me.  I think it&apos;d be a good idea to try to not add all the new code to WebViewImpl but instead have it off in a separate class that WebViewImpl owns and manages, just to keep the code size down.  Nat - WDYT?

Having a separate file for this one method seems a bit overdone in my opinion. Or do you think there will be other stuff added? What would you call this class?

What about adding the method to the GraphicsLayer instead:
GraphicsLayer::setNeedsDisplayForContinuousPaintingRecursive()

with a member and method to ignore the overlay&apos;s layer:
GraphicsLayer::setIgnoresContinuousPainting()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>803589</commentid>
    <comment_count>14</comment_count>
    <who name="Nat Duca">nduca</who>
    <bug_when>2013-01-09 12:26:46 -0800</bug_when>
    <thetext>No strong opinions, but steer clear of graphics layer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>803967</commentid>
    <comment_count>15</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2013-01-09 19:34:19 -0800</bug_when>
    <thetext>(In reply to comment #14)
&gt; No strong opinions, but steer clear of graphics layer.

+1 to that</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804607</commentid>
    <comment_count>16</comment_count>
      <attachid>182184</attachid>
    <who name="">egraether</who>
    <bug_when>2013-01-10 11:56:16 -0800</bug_when>
    <thetext>Created attachment 182184
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804610</commentid>
    <comment_count>17</comment_count>
    <who name="">egraether</who>
    <bug_when>2013-01-10 11:58:03 -0800</bug_when>
    <thetext>Uploaded a new draft with the separate class taking care of continuous painting. What do you think?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804675</commentid>
    <comment_count>18</comment_count>
      <attachid>182184</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2013-01-10 13:28:52 -0800</bug_when>
    <thetext>Comment on attachment 182184
Patch

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

Seems reasonable

&gt; Source/WebKit/chromium/src/painting/ContinuousPainter.h:8
&gt; + *     * Redistributions of source code must retain the above copyright

new files should use the 2-clause license header

&gt; Source/WebKit/chromium/src/painting/ContinuousPainter.h:44
&gt; +    explicit ContinuousPainter();

no explicit for zero-argument constructors

&gt; Source/WebKit/chromium/src/painting/ContinuousPainter.h:47
&gt; +    void setExceptionLayer(WebCore::GraphicsLayer*);

Please document what this needs.

We support having multiple overlay layers, do you want to exclude them all?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>805664</commentid>
    <comment_count>19</comment_count>
      <attachid>182430</attachid>
    <who name="">egraether</who>
    <bug_when>2013-01-11 15:08:50 -0800</bug_when>
    <thetext>Created attachment 182430
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>805672</commentid>
    <comment_count>20</comment_count>
    <who name="">egraether</who>
    <bug_when>2013-01-11 15:20:07 -0800</bug_when>
    <thetext>(In reply to comment #18)
&gt; (From update of attachment 182184 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=182184&amp;action=review
&gt; 
&gt; Seems reasonable
&gt; 
&gt; &gt; Source/WebKit/chromium/src/painting/ContinuousPainter.h:8
&gt; &gt; + *     * Redistributions of source code must retain the above copyright
&gt; 
&gt; new files should use the 2-clause license header
&gt; 
&gt; &gt; Source/WebKit/chromium/src/painting/ContinuousPainter.h:44
&gt; &gt; +    explicit ContinuousPainter();
&gt; 
&gt; no explicit for zero-argument constructors
&gt; 
&gt; &gt; Source/WebKit/chromium/src/painting/ContinuousPainter.h:47
&gt; &gt; +    void setExceptionLayer(WebCore::GraphicsLayer*);
&gt; 
&gt; Please document what this needs.
&gt; 
&gt; We support having multiple overlay layers, do you want to exclude them all?

I found out that WebViewImpl::setOverlayLayer() is called for all overlays so the old patch wouldn&apos;t work.

The new patch excludes all overlay layers instead. I made the recursive function static now, because it doesn&apos;t have any state. Please have a look.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>805676</commentid>
    <comment_count>21</comment_count>
      <attachid>182430</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2013-01-11 15:22:01 -0800</bug_when>
    <thetext>Comment on attachment 182430
Patch

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

&gt; Source/WebKit/chromium/src/painting/ContinuousPainter.cpp:2
&gt; + * Copyright (C) 2011 Google Inc. All rights reserved.

2013 for new files, please

&gt; Source/WebKit/chromium/src/painting/ContinuousPainter.h:2
&gt; + * Copyright (C) 2011 Google Inc. All rights reserved.

2013</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>805744</commentid>
    <comment_count>22</comment_count>
      <attachid>182445</attachid>
    <who name="">egraether</who>
    <bug_when>2013-01-11 16:37:20 -0800</bug_when>
    <thetext>Created attachment 182445
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>805793</commentid>
    <comment_count>23</comment_count>
      <attachid>182445</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-11 17:59:34 -0800</bug_when>
    <thetext>Comment on attachment 182445
Patch

Clearing flags on attachment: 182445

Committed r139531: &lt;http://trac.webkit.org/changeset/139531&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>805794</commentid>
    <comment_count>24</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-11 17:59:40 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>180217</attachid>
            <date>2012-12-19 13:29:18 -0800</date>
            <delta_ts>2012-12-19 19:30:58 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105458-20121219132634.patch</filename>
            <type>text/plain</type>
            <size>3186</size>
            <attacher>egraether</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM4MDc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0v
Q2hhbmdlTG9nIGIvU291cmNlL1BsYXRmb3JtL0NoYW5nZUxvZwppbmRleCA0NDJiNTVlZDA4NTdm
MTlhMzkwY2Q1M2JjZWUxNjUyNTEzYjg0NTczLi45OTM0Y2Y2NWJkNTcxNjYzNmFhOTFjYjcwYTk3
NmFkMGYwNmViZWVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvUGxhdGZvcm0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9QbGF0Zm9ybS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMi0xMi0xOSAg
RWJlcmhhcmQgR3JhZXRoZXIgIDxlZ3JhZXRoZXJAZ29vZ2xlLmNvbT4KKworICAgICAgICBbY2hy
b21pdW1dIFBhc3MgdGhlIG92ZXJsYXlMYXllciB0byBXZWJMYXllclRyZWVWaWV3CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDU0NTgKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhc3NlcyB0aGUg
b3ZlcmxheUxheWVyLCB3aGljaCBpcyB1c2VkIHRvIHZpc3VsaXplIHBvc2l0aW9uIGFuZCBzaXpl
IG9mIERPTSBlbGVtZW50cywgdG8gdGhlCisgICAgICAgIFdlYkxheWVyVHJlZVZpZXcuIFRoZXJl
b24gdGhlIG92ZXJsYXlMYXllciBjYW4gYmUgaWRlbnRpZmllZCBpbiB0aGUgbGF5ZXIgdHJlZS4K
KworICAgICAgICAqIGNocm9taXVtL3B1YmxpYy9XZWJMYXllclRyZWVWaWV3Lmg6CisgICAgICAg
IChXZWJMYXllclRyZWVWaWV3KToKKyAgICAgICAgKFdlYktpdDo6V2ViTGF5ZXJUcmVlVmlldzo6
c2V0UGFnZU92ZXJsYXlMYXllcik6CisKIDIwMTItMTItMTggIERhbmEgSmFuc2VucyAgPGRhbmFr
akBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBNYWtlIFdlYkxheWVyVHJlZVZp
ZXc6Omxvc2VDb21wb3NpdG9yQ29udGV4dCBub24tcHVyZSB2aXJ0dWFsCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
Q2hhbmdlTG9nCmluZGV4IGQ2Yjk5ODA3Y2UzZTM3YjkzYmFiZjA0YTEzZGYxZWU3MjNjZDg1ZTAu
LmJlMTU1ZGM1M2FhNjM2NGQxNDQzZTU2NmMwYTMyNTMyZTZmNjI3NmIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMTItMTkgIEViZXJoYXJkIEdyYWV0
aGVyICA8ZWdyYWV0aGVyQGdvb2dsZS5jb20+CisKKyAgICAgICAgW2Nocm9taXVtXSBQYXNzIHRo
ZSBvdmVybGF5TGF5ZXIgdG8gV2ViTGF5ZXJUcmVlVmlldworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA1NDU4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXNzZXMgdGhlIG92ZXJsYXlMYXllciwg
d2hpY2ggaXMgdXNlZCB0byB2aXN1bGl6ZSBwb3NpdGlvbiBhbmQgc2l6ZSBvZiBET00gZWxlbWVu
dHMsIHRvIHRoZQorICAgICAgICBXZWJMYXllclRyZWVWaWV3LiBUaGVyZW9uIHRoZSBvdmVybGF5
TGF5ZXIgY2FuIGJlIGlkZW50aWZpZWQgaW4gdGhlIGxheWVyIHRyZWUuCisKKyAgICAgICAgKiBz
cmMvV2ViVmlld0ltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6c2V0T3Zl
cmxheUxheWVyKToKKwogMjAxMi0xMi0xOCAgRGlyayBQcmFua2UgIDxkcHJhbmtlQGNocm9taXVt
Lm9yZz4KIAogICAgICAgICBQdWxsIGluIHRoZSBvcHVzIGNvZGVjIHNvdXJjZXMuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dlYkxheWVyVHJlZVZpZXcuaCBi
L1NvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2ViTGF5ZXJUcmVlVmlldy5oCmluZGV4
IGRlYzVjM2Q5NjY2YjJiNTNmNmRlMTcxMDllNDkyNDY2MjgwZTM3MGUuLmI5MTQ4NDZmOTcxMzhh
YTUwMzhlOTFmZGIyYTY1YzlhZGQxM2NmOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9QbGF0Zm9ybS9j
aHJvbWl1bS9wdWJsaWMvV2ViTGF5ZXJUcmVlVmlldy5oCisrKyBiL1NvdXJjZS9QbGF0Zm9ybS9j
aHJvbWl1bS9wdWJsaWMvV2ViTGF5ZXJUcmVlVmlldy5oCkBAIC0xOTAsNiArMTkwLDkgQEAgcHVi
bGljOgogCiAgICAgLy8gU2ltdWxhdGVzIGEgbG9zdCBjb250ZXh0LiBGb3IgdGVzdGluZyBvbmx5
LgogICAgIHZpcnR1YWwgdm9pZCBsb3NlQ29tcG9zaXRvckNvbnRleHQoaW50IG51bVRpbWVzKSB7
IH0KKworICAgIC8vIFNldHMgdGhlIHBhZ2Ugb3ZlcmxheSBsYXllciB0byBhdm9pZCByZXBhaW50
aW5nIGl0IHdoZW4gZm9yY2UgcmVwYWludGluZyBpcyBlbmFibGVkLgorICAgIHZpcnR1YWwgdm9p
ZCBzZXRQYWdlT3ZlcmxheUxheWVyKGNvbnN0IFdlYkxheWVyKikgeyB9CiB9OwogCiB9IC8vIG5h
bWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YlZpZXdJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNw
cAppbmRleCA5NmYyOTAwZWU1NDU1OGFlZjg2NzU1YTBlMmVlM2I4MzQ3NGYxOWU3Li4zY2M3YWNl
Njg2OTUzYzVkOGMzN2U1ZmFkNTM2OTA0MmQ5Yjc2MzI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCkBAIC0zNzk5LDYgKzM3OTksMTEgQEAgdm9pZCBXZWJW
aWV3SW1wbDo6c2V0T3ZlcmxheUxheWVyKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXIqIGxheWVyKQog
ICAgIGlmIChtX3Jvb3RHcmFwaGljc0xheWVyKSB7CiAgICAgICAgIGlmIChsYXllci0+cGFyZW50
KCkgIT0gbV9yb290R3JhcGhpY3NMYXllcikKICAgICAgICAgICAgIG1fcm9vdEdyYXBoaWNzTGF5
ZXItPmFkZENoaWxkKGxheWVyKTsKKworICAgICAgICBBU1NFUlQobV9sYXllclRyZWVWaWV3KTsK
KyAgICAgICAgV2ViTGF5ZXIqIHBsYXRmb3JtTGF5ZXIgPSBsYXllci0+cGxhdGZvcm1MYXllcigp
OworICAgICAgICBpZiAocGxhdGZvcm1MYXllcikKKyAgICAgICAgICAgIG1fbGF5ZXJUcmVlVmll
dy0+c2V0UGFnZU92ZXJsYXlMYXllcihwbGF0Zm9ybUxheWVyKTsKICAgICB9CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>180263</attachid>
            <date>2012-12-19 19:31:00 -0800</date>
            <delta_ts>2013-01-07 14:05:17 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105458-20121219192817.patch</filename>
            <type>text/plain</type>
            <size>3294</size>
            <attacher>egraether</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM4MTkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0v
Q2hhbmdlTG9nIGIvU291cmNlL1BsYXRmb3JtL0NoYW5nZUxvZwppbmRleCA0NDJiNTVlZDA4NTdm
MTlhMzkwY2Q1M2JjZWUxNjUyNTEzYjg0NTczLi42YjNhNTFmYzZmNGM1NzQyYWQ4NTI4ZGY5NTAx
ZmNhZmQ5YWNkN2Y5IDEwMDY0NAotLS0gYS9Tb3VyY2UvUGxhdGZvcm0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9QbGF0Zm9ybS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMi0xMi0xOSAg
RWJlcmhhcmQgR3JhZXRoZXIgIDxlZ3JhZXRoZXJAZ29vZ2xlLmNvbT4KKworICAgICAgICBbY2hy
b21pdW1dIFBhc3MgdGhlIFBhZ2VPdmVybGF5J3MgbGF5ZXIgdG8gV2ViTGF5ZXJUcmVlVmlldwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA1NDU4CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXNz
ZXMgdGhlIFBhZ2VPdmVybGF5J3MgbGF5ZXIsIHdoaWNoIGlzIHVzZWQgdG8gdmlzdWFsaXplIHBv
c2l0aW9uIGFuZCBzaXplIG9mIERPTSBlbGVtZW50cywgdG8gdGhlCisgICAgICAgIFdlYkxheWVy
VHJlZVZpZXcuIFRoZXJlb24gdGhpcyBsYXllciBjYW4gYmUgaWRlbnRpZmllZCBpbiB0aGUgbGF5
ZXIgdHJlZS4KKworICAgICAgICAqIGNocm9taXVtL3B1YmxpYy9XZWJMYXllclRyZWVWaWV3Lmg6
CisgICAgICAgIChXZWJMYXllclRyZWVWaWV3KToKKyAgICAgICAgKFdlYktpdDo6V2ViTGF5ZXJU
cmVlVmlldzo6c2V0UGFnZU92ZXJsYXlMYXllcik6CisKIDIwMTItMTItMTggIERhbmEgSmFuc2Vu
cyAgPGRhbmFrakBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBNYWtlIFdlYkxh
eWVyVHJlZVZpZXc6Omxvc2VDb21wb3NpdG9yQ29udGV4dCBub24tcHVyZSB2aXJ0dWFsCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IGFlOWU0MjlkYjcwM2UyZWJlYTk2ZWNjZWFmNDA4YjUz
ZDdiYWFmMGEuLjcwNzA3Y2M4YTJhMjA2ZGQwODMzNjhjNzY4MGU0MjI2ZjJiNDhjMjAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMTItMTkgIEViZXJo
YXJkIEdyYWV0aGVyICA8ZWdyYWV0aGVyQGdvb2dsZS5jb20+CisKKyAgICAgICAgW2Nocm9taXVt
XSBQYXNzIHRoZSBQYWdlT3ZlcmxheSdzIGxheWVyIHRvIFdlYkxheWVyVHJlZVZpZXcKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNTQ1OAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGFzc2VzIHRo
ZSBQYWdlT3ZlcmxheSdzIGxheWVyLCB3aGljaCBpcyB1c2VkIHRvIHZpc3VhbGl6ZSBwb3NpdGlv
biBhbmQgc2l6ZSBvZiBET00gZWxlbWVudHMsIHRvIHRoZQorICAgICAgICBXZWJMYXllclRyZWVW
aWV3LiBUaGVyZW9uIHRoaXMgbGF5ZXIgY2FuIGJlIGlkZW50aWZpZWQgaW4gdGhlIGxheWVyIHRy
ZWUuCisKKyAgICAgICAgKiBzcmMvV2ViVmlld0ltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJWaWV3SW1wbDo6c2V0T3ZlcmxheUxheWVyKToKKwogMjAxMi0xMi0xOSAgQWxleGlzIE1lbmFy
ZCAgPGFsZXhpc0B3ZWJraXQub3JnPgogCiAgICAgICAgIEltcGxlbWVudCBDU1MgcGFyc2luZyBm
b3IgQ1NTIHRyYW5zaXRpb25zIHVucHJlZml4ZWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZv
cm0vY2hyb21pdW0vcHVibGljL1dlYkxheWVyVHJlZVZpZXcuaCBiL1NvdXJjZS9QbGF0Zm9ybS9j
aHJvbWl1bS9wdWJsaWMvV2ViTGF5ZXJUcmVlVmlldy5oCmluZGV4IGRlYzVjM2Q5NjY2YjJiNTNm
NmRlMTcxMDllNDkyNDY2MjgwZTM3MGUuLmJiYTExN2Y5ZGE3Y2RhY2M1NmI3ZjFjMzQzMGI3MjA5
YzlmMTY2YTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2Vi
TGF5ZXJUcmVlVmlldy5oCisrKyBiL1NvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2Vi
TGF5ZXJUcmVlVmlldy5oCkBAIC0xOTAsNiArMTkwLDEwIEBAIHB1YmxpYzoKIAogICAgIC8vIFNp
bXVsYXRlcyBhIGxvc3QgY29udGV4dC4gRm9yIHRlc3Rpbmcgb25seS4KICAgICB2aXJ0dWFsIHZv
aWQgbG9zZUNvbXBvc2l0b3JDb250ZXh0KGludCBudW1UaW1lcykgeyB9CisKKyAgICAvLyBQYXNz
ZXMgYSByZWZlcmVuY2Ugb2YgdGhlIFBhZ2VPdmVybGF5J3MgbGF5ZXIgdG8gZXhjbHVkZSBpdCBm
cm9tIGNvbnRpbnVvdXMgcGFpbnRpbmcuCisgICAgLy8gVGhhdCB3YXkgaXQgZG9lc24ndCBhZmZl
Y3QgdGhlIHRvdGFsUGFpbnRUaW1lIG1lYXN1cmVtZW50LgorICAgIHZpcnR1YWwgdm9pZCBzZXRQ
YWdlT3ZlcmxheUxheWVyKGNvbnN0IFdlYkxheWVyKikgeyB9CiB9OwogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJ
bXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcAppbmRl
eCA5NmYyOTAwZWU1NDU1OGFlZjg2NzU1YTBlMmVlM2I4MzQ3NGYxOWU3Li4zY2M3YWNlNjg2OTUz
YzVkOGMzN2U1ZmFkNTM2OTA0MmQ5Yjc2MzI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViVmlld0ltcGwuY3BwCkBAIC0zNzk5LDYgKzM3OTksMTEgQEAgdm9pZCBXZWJWaWV3SW1w
bDo6c2V0T3ZlcmxheUxheWVyKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXIqIGxheWVyKQogICAgIGlm
IChtX3Jvb3RHcmFwaGljc0xheWVyKSB7CiAgICAgICAgIGlmIChsYXllci0+cGFyZW50KCkgIT0g
bV9yb290R3JhcGhpY3NMYXllcikKICAgICAgICAgICAgIG1fcm9vdEdyYXBoaWNzTGF5ZXItPmFk
ZENoaWxkKGxheWVyKTsKKworICAgICAgICBBU1NFUlQobV9sYXllclRyZWVWaWV3KTsKKyAgICAg
ICAgV2ViTGF5ZXIqIHBsYXRmb3JtTGF5ZXIgPSBsYXllci0+cGxhdGZvcm1MYXllcigpOworICAg
ICAgICBpZiAocGxhdGZvcm1MYXllcikKKyAgICAgICAgICAgIG1fbGF5ZXJUcmVlVmlldy0+c2V0
UGFnZU92ZXJsYXlMYXllcihwbGF0Zm9ybUxheWVyKTsKICAgICB9CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>181560</attachid>
            <date>2013-01-07 14:05:20 -0800</date>
            <delta_ts>2013-01-08 10:03:25 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105458-20130107140225.patch</filename>
            <type>text/plain</type>
            <size>4202</size>
            <attacher>egraether</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM4OTQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0v
Q2hhbmdlTG9nIGIvU291cmNlL1BsYXRmb3JtL0NoYW5nZUxvZwppbmRleCAwM2I3NDI4M2JmYTI2
NDdiNWI0MTIzMjFjOTJlMTFkNmI4ZWVkNDczLi4zOTc5MmQ0YzRjODA1NzY4MTc2NDBjOTQxYzQx
ZmYyNTY5NDdiNjkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvUGxhdGZvcm0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9QbGF0Zm9ybS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxMy0wMS0wNyAg
RWJlcmhhcmQgR3JhZXRoZXIgIDxlZ3JhZXRoZXJAZ29vZ2xlLmNvbT4KKworICAgICAgICBbY2hy
b21pdW1dIEFkZCBXZWJMYXllcjo6c2V0SWdub3Jlc0NvbnRpbnVvdXNQYWludGluZygpIEFQSSBh
bmQgdXNlIGl0IHRvIGlnbm9yZSB0aGUgUGFnZU92ZXJsYXkncyBsYXllci4KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNTQ1OAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluIGNvbnRpbnVvdXMgcGFpbnRp
bmcgbW9kZSBhbGwgbGF5ZXJzIGFyZSBjb25zdGFudGx5IHJlcGFpbnRlZCB0byBhbGxvdyBmb3Ig
bGlmZSBiZW5jaG1hcmtpbmcgb2YgdGhlIHBhZ2UKKyAgICAgICAgd2hpbGUgY2hhbmdpbmcgSFRN
TCBhbmQgQ1NTIHVzaW5nIHRoZSBXZWJJbnNwZWN0b3IuIFdoZW4gdXNpbmcgdGhlIEVsZW1lbnRz
cGFuZWwgb2YgdGhlIFdlYkluc3BlY3RvciwgYQorICAgICAgICBQYWdlT3ZlcmxheSBpcyBhZGRl
ZCB0byB0aGUgbGF5ZXIgdHJlZSB0byB2aXN1YWxpemUgcG9zaXRpb24gYW5kIHNpemUgb2YgRE9N
IGVsZW1lbnRzLiBUaGlzIGxheWVyIHRoZW4KKyAgICAgICAgYWZmZWN0cyB0aGUgYmVuY2htYXJr
IGluIGNvbnRpbnVvdXMgcGFpbnRpbmcgbW9kZSB3aGljaCBpcyB1bndhbnRlZCwgYmVjYXVzZSB0
aGlzIGxheWVyIGRvZXMgbm90IGJlbG9uZyB0bworICAgICAgICB0aGUgd2VicGFnZS4gVGhpcyBj
aGFuZ2UgYWRkcyB0aGUgV2ViTGF5ZXI6OnNldElnbm9yZXNDb250aW51b3VzUGFpbnRpbmcoKSBB
UEkgdG8gZXhjbHVkZSBjZXJ0YWluIGxheWVycworICAgICAgICBmcm9tIGNvbnRpbnVvdXMgcGFp
bnRpbmcgYW5kIHVzZXMgaXQgdG8gZXhjbHVkZSB0aGUgUGFnZU92ZXJsYXkncyBsYXllci4KKwor
ICAgICAgICAqIGNocm9taXVtL3B1YmxpYy9XZWJMYXllci5oOgorICAgICAgICAoV2ViTGF5ZXIp
OgorICAgICAgICAoV2ViS2l0OjpXZWJMYXllcjo6c2V0SWdub3Jlc0NvbnRpbnVvdXNQYWludGlu
Zyk6CisKIDIwMTMtMDEtMDUgIENocmlzIFJvZ2VycyAgPGNyb2dlcnNAZ29vZ2xlLmNvbT4KIAog
ICAgICAgICBJbXBsZW1lbnQgTWVkaWFTdHJlYW1Tb3VyY2U6OnNldEF1ZGlvRm9ybWF0KCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggYTMyY2ExYmI5MDA2ZTViZDc1NTYxZWRlZTJhNGQ2
Y2Y3ZWY3NGNjNC4uYTAyY2MyZTZjNTY1NTkwYThhNzFkYWM2NWUwMDMxNDA3YTY2YzQ1NCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxMy0wMS0wNyAgRWJl
cmhhcmQgR3JhZXRoZXIgIDxlZ3JhZXRoZXJAZ29vZ2xlLmNvbT4KKworICAgICAgICBbY2hyb21p
dW1dIEFkZCBXZWJMYXllcjo6c2V0SWdub3Jlc0NvbnRpbnVvdXNQYWludGluZygpIEFQSSBhbmQg
dXNlIGl0IHRvIGlnbm9yZSB0aGUgUGFnZU92ZXJsYXkncyBsYXllci4KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNTQ1OAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluIGNvbnRpbnVvdXMgcGFpbnRpbmcg
bW9kZSBhbGwgbGF5ZXJzIGFyZSBjb25zdGFudGx5IHJlcGFpbnRlZCB0byBhbGxvdyBmb3IgbGlm
ZSBiZW5jaG1hcmtpbmcgb2YgdGhlIHBhZ2UKKyAgICAgICAgd2hpbGUgY2hhbmdpbmcgSFRNTCBh
bmQgQ1NTIHVzaW5nIHRoZSBXZWJJbnNwZWN0b3IuIFdoZW4gdXNpbmcgdGhlIEVsZW1lbnRzcGFu
ZWwgb2YgdGhlIFdlYkluc3BlY3RvciwgYQorICAgICAgICBQYWdlT3ZlcmxheSBpcyBhZGRlZCB0
byB0aGUgbGF5ZXIgdHJlZSB0byB2aXN1YWxpemUgcG9zaXRpb24gYW5kIHNpemUgb2YgRE9NIGVs
ZW1lbnRzLiBUaGlzIGxheWVyIHRoZW4KKyAgICAgICAgYWZmZWN0cyB0aGUgYmVuY2htYXJrIGlu
IGNvbnRpbnVvdXMgcGFpbnRpbmcgbW9kZSB3aGljaCBpcyB1bndhbnRlZCwgYmVjYXVzZSB0aGlz
IGxheWVyIGRvZXMgbm90IGJlbG9uZyB0bworICAgICAgICB0aGUgd2VicGFnZS4gVGhpcyBjaGFu
Z2UgYWRkcyB0aGUgV2ViTGF5ZXI6OnNldElnbm9yZXNDb250aW51b3VzUGFpbnRpbmcoKSBBUEkg
dG8gZXhjbHVkZSBjZXJ0YWluIGxheWVycworICAgICAgICBmcm9tIGNvbnRpbnVvdXMgcGFpbnRp
bmcgYW5kIHVzZXMgaXQgdG8gZXhjbHVkZSB0aGUgUGFnZU92ZXJsYXkncyBsYXllci4KKworICAg
ICAgICAqIHNyYy9QYWdlT3ZlcmxheS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlBhZ2VPdmVybGF5
Ojp1cGRhdGUpOgorCiAyMDEzLTAxLTA1ICBBbGVjIEZsZXR0ICA8YWxlY2ZsZXR0QGNocm9taXVt
Lm9yZz4KIAogICAgICAgICBJbmRleGVkREI6IE1pZ3JhdGUgYmFja2VuZCBPYmplY3RTdG9yZSBj
YWxscyB0byB1c2UgdHJhbnNhY3Rpb24gaWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9QbGF0Zm9ybS9j
aHJvbWl1bS9wdWJsaWMvV2ViTGF5ZXIuaCBiL1NvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJs
aWMvV2ViTGF5ZXIuaAppbmRleCA5YmU3Mjg0YTMwMTUwNmQ5MmEyOWFiMTU3MzNlNjI0MWIzNzg2
NjgyLi4xMWE2MDU1ZjA1NDY5MGQ1NWRmNzI1MWRhYzg5ZGYzNDZjYzZjNWU0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dlYkxheWVyLmgKKysrIGIvU291cmNl
L1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJMYXllci5oCkBAIC0yMDUsNiArMjA1LDEwIEBA
IHB1YmxpYzoKICAgICAvLyBGb3JjZXMgdGhpcyBsYXllciB0byB1c2UgYSByZW5kZXIgc3VyZmFj
ZS4gVGhlcmUgaXMgbm8gYmVuZWZpdCBpbiBkb2luZwogICAgIC8vIHNvLCBidXQgdGhpcyBpcyB0
byBmYWNpbGl0YXRlIGJlbmNobWFya3MgYW5kIHRlc3RzLgogICAgIHZpcnR1YWwgdm9pZCBzZXRG
b3JjZVJlbmRlclN1cmZhY2UoYm9vbCkgPSAwOworCisgICAgLy8gU2V0cyB3aGV0aGVyIHRoZSBs
YXllciBnZXRzIGlnbm9yZWQgaW4gY29udGludW91cyBwYWludGluZy4KKyAgICAvLyBUaGlzIGlz
IHVzZWQgZm9yIGxheWVycyB0aGF0IHNob3VsZG4ndCBhZmZlY3QgdGhlIHBhaW50IHRpbWUgYmVu
Y2htYXJrLgorICAgIHZpcnR1YWwgdm9pZCBzZXRJZ25vcmVzQ29udGludW91c1BhaW50aW5nKGJv
b2wpIHsgfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvUGFnZU92ZXJsYXkuY3BwIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvUGFnZU92ZXJsYXkuY3BwCmluZGV4IGM5NTY4N2FmNjNkNWRjYjgwN2QyZjdmNWZj
MDQ3YmU0NzQzOTJmNzguLjc2MGZlOWY2NDUxOTI1NGM1YWMwZTRjYjE2MjI1YWRkYTUwODE1Zjcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1BhZ2VPdmVybGF5LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9QYWdlT3ZlcmxheS5jcHAKQEAgLTEyOSw2
ICsxMjksNyBAQCB2b2lkIFBhZ2VPdmVybGF5Ojp1cGRhdGUoKQogICAgICAgICBtX2xheWVyID0g
R3JhcGhpY3NMYXllcjo6Y3JlYXRlKG1fbGF5ZXJDbGllbnQuZ2V0KCkpOwogICAgICAgICBtX2xh
eWVyLT5zZXROYW1lKCJXZWJWaWV3SW1wbCBwYWdlIG92ZXJsYXkgY29udGVudCIpOwogICAgICAg
ICBtX2xheWVyLT5zZXREcmF3c0NvbnRlbnQodHJ1ZSk7CisgICAgICAgIG1fbGF5ZXItPnBsYXRm
b3JtTGF5ZXIoKS0+c2V0SWdub3Jlc0NvbnRpbnVvdXNQYWludGluZyh0cnVlKTsKICAgICB9CiAK
ICAgICBGbG9hdFNpemUgc2l6ZShtX3ZpZXdJbXBsLT5zaXplKCkpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>181704</attachid>
            <date>2013-01-08 10:03:29 -0800</date>
            <delta_ts>2013-01-10 11:56:13 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105458-20130108100034.patch</filename>
            <type>text/plain</type>
            <size>4843</size>
            <attacher>egraether</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5MDU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IDIxOTQyMjFhOWMyMjY1NDNlYjFiNjdmNGU5ZmNjZGNmZTkxZmU0MWYuLjUyNWMyMzY5MTFjN2Qz
YTNiN2I3YzFjZTgwZmJhMDlkMzU0MmU2NjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjAgQEAKKzIwMTMtMDEtMDggIEViZXJoYXJkIEdyYWV0aGVyICA8ZWdyYWV0aGVy
QGdvb2dsZS5jb20+CisKKyAgICAgICAgW2Nocm9taXVtXSBBZGQgV2ViTGF5ZXI6OnNldElnbm9y
ZXNDb250aW51b3VzUGFpbnRpbmcoKSBBUEkgYW5kIHVzZSBpdCB0byBpZ25vcmUgdGhlIFBhZ2VP
dmVybGF5J3MgbGF5ZXIuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMDU0NTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIHNyYy9QYWdlT3ZlcmxheS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlBhZ2VPdmVy
bGF5OjpjbGVhcik6CisgICAgICAgICogc3JjL1dlYlZpZXdJbXBsLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6V2ViVmlld0ltcGw6OldlYlZpZXdJbXBsKToKKyAgICAgICAgKFdlYktpdDo6V2ViVmll
d0ltcGw6OmRpZEJlZ2luRnJhbWUpOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYktp
dDo6V2ViVmlld0ltcGw6OnNldE5lZWRzRGlzcGxheU9uQWxsR3JhcGhpY0xheWVyc1JlY3Vyc2l2
ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjpzZXRPdmVybGF5TGF5ZXIpOgorICAg
ICAgICAqIHNyYy9XZWJWaWV3SW1wbC5oOgorCiAyMDEzLTAxLTA4ICBLZWlzaGkgSGF0dG9yaSAg
PGtlaXNoaUB3ZWJraXQub3JnPgogCiAgICAgICAgIFtDaHJvbWl1bV0gRG9uJ3QgY29uZmluZSBw
YWdlIHBvcHVwcyB0byByb290IHZpZXcgb24gTWFjCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9QYWdlT3ZlcmxheS5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9QYWdlT3ZlcmxheS5jcHAKaW5kZXggYzk1Njg3YWY2M2Q1ZGNiODA3ZDJmN2Y1ZmMwNDdiZTQ3
NDM5MmY3OC4uYmNhMGU3YjRmODA1YjE2MDIzYjIyMDA3ZTRmNTUxYjhkMDU2YTZjNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvUGFnZU92ZXJsYXkuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1BhZ2VPdmVybGF5LmNwcApAQCAtMTE1LDYgKzExNSw3
IEBAIHZvaWQgUGFnZU92ZXJsYXk6OmNsZWFyKCkKICAgICAgICAgbV9sYXllci0+cmVtb3ZlRnJv
bVBhcmVudCgpOwogICAgICAgICBtX2xheWVyID0gbnVsbHB0cjsKICAgICAgICAgbV9sYXllckNs
aWVudCA9IG51bGxwdHI7CisgICAgICAgIG1fdmlld0ltcGwtPnNldE92ZXJsYXlMYXllcigwKTsK
ICAgICB9CiAjZW5kaWYKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYlZpZXdJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBs
LmNwcAppbmRleCAxNWMyNTI1MDVlOTNjNWYyZDZhMzA4MDJmZTNjOTVhOTIyZGQwNTJjLi41YTAw
OGZlMzk5M2U2NTRlYjIzNjFkZmNmM2NmOWEyMDFkN2U4ZWQ0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCkBAIC00MjAsNiArNDIwLDcgQEAgV2ViVmlld0lt
cGw6OldlYlZpZXdJbXBsKFdlYlZpZXdDbGllbnQqIGNsaWVudCkKICAgICAsIG1fb3duc0xheWVy
VHJlZVZpZXcoZmFsc2UpCiAgICAgLCBtX3Jvb3RMYXllcigwKQogICAgICwgbV9yb290R3JhcGhp
Y3NMYXllcigwKQorICAgICwgbV9vdmVybGF5R3JhcGhpY3NMYXllcigwKQogICAgICwgbV9pc0Fj
Y2VsZXJhdGVkQ29tcG9zaXRpbmdBY3RpdmUoZmFsc2UpCiAgICAgLCBtX2xheWVyVHJlZVZpZXdD
b21taXRzRGVmZXJyZWQoZmFsc2UpCiAgICAgLCBtX2NvbXBvc2l0b3JDcmVhdGlvbkZhaWxlZChm
YWxzZSkKQEAgLTQ1MSw2ICs0NTIsNyBAQCBXZWJWaWV3SW1wbDo6V2ViVmlld0ltcGwoV2ViVmll
d0NsaWVudCogY2xpZW50KQogICAgICwgbV9zdXBwcmVzc0ludmFsaWRhdGlvbnMoZmFsc2UpCiAg
ICAgLCBtX3Nob3dGUFNDb3VudGVyKGZhbHNlKQogICAgICwgbV9zaG93UGFpbnRSZWN0cyhmYWxz
ZSkKKyAgICAsIG1fY29udGludW91c1BhaW50aW5nKGZhbHNlKQogewogICAgIC8vIFdlYktpdC93
aW4vV2ViVmlldy5jcHAgZG9lcyB0aGUgc2FtZSB0aGluZywgZXhjZXB0IHRoZXkgY2FsbCB0aGUK
ICAgICAvLyBLSlMgc3BlY2lmaWMgd3JhcHBlciBhcm91bmQgdGhpcyBtZXRob2QuIFdlIG5lZWQg
dG8gaGF2ZSB0aHJlYWRpbmcKQEAgLTE3NTYsNiArMTc1OCwyMiBAQCB2b2lkIFdlYlZpZXdJbXBs
Ojp3aWxsQmVnaW5GcmFtZSgpCiB2b2lkIFdlYlZpZXdJbXBsOjpkaWRCZWdpbkZyYW1lKCkKIHsK
ICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZENvbXBvc2l0ZShtX3BhZ2UuZ2V0KCkp
OworCisgICAgaWYgKG1fY29udGludW91c1BhaW50aW5nICYmIG1fcm9vdEdyYXBoaWNzTGF5ZXIp
CisgICAgICAgIHNldE5lZWRzRGlzcGxheU9uQWxsR3JhcGhpY0xheWVyc1JlY3Vyc2l2ZShtX3Jv
b3RHcmFwaGljc0xheWVyKTsKK30KKwordm9pZCBXZWJWaWV3SW1wbDo6c2V0TmVlZHNEaXNwbGF5
T25BbGxHcmFwaGljTGF5ZXJzUmVjdXJzaXZlKEdyYXBoaWNzTGF5ZXIqIGxheWVyKQoreworICAg
IGlmIChsYXllciA9PSBtX292ZXJsYXlHcmFwaGljc0xheWVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBsYXllci0+c2V0TmVlZHNEaXNwbGF5KCk7CisKKyAgICBjb25zdCBWZWN0b3I8R3JhcGhp
Y3NMYXllcio+JiBjaGlsZHJlbiA9IGxheWVyLT5jaGlsZHJlbigpOworICAgIFZlY3RvcjxHcmFw
aGljc0xheWVyKj46OmNvbnN0X2l0ZXJhdG9yIGl0OworICAgIGZvciAoaXQgPSBjaGlsZHJlbi5i
ZWdpbigpOyBpdCAhPSBjaGlsZHJlbi5lbmQoKTsgKytpdCkKKyAgICAgICAgc2V0TmVlZHNEaXNw
bGF5T25BbGxHcmFwaGljTGF5ZXJzUmVjdXJzaXZlKCppdCk7CiB9CiAKIHZvaWQgV2ViVmlld0lt
cGw6OnVwZGF0ZUFuaW1hdGlvbnMoZG91YmxlIG1vbm90b25pY0ZyYW1lQmVnaW5UaW1lKQpAQCAt
Mzc3MiwxMCArMzc5MCwxMCBAQCB2b2lkIFdlYlZpZXdJbXBsOjpyZW1vdmVQYWdlT3ZlcmxheShX
ZWJQYWdlT3ZlcmxheSogb3ZlcmxheSkKIAogdm9pZCBXZWJWaWV3SW1wbDo6c2V0T3ZlcmxheUxh
eWVyKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXIqIGxheWVyKQogewotICAgIGlmIChtX3Jvb3RHcmFw
aGljc0xheWVyKSB7Ci0gICAgICAgIGlmIChsYXllci0+cGFyZW50KCkgIT0gbV9yb290R3JhcGhp
Y3NMYXllcikKLSAgICAgICAgICAgIG1fcm9vdEdyYXBoaWNzTGF5ZXItPmFkZENoaWxkKGxheWVy
KTsKLSAgICB9CisgICAgaWYgKGxheWVyICYmIG1fcm9vdEdyYXBoaWNzTGF5ZXIgJiYgbGF5ZXIt
PnBhcmVudCgpICE9IG1fcm9vdEdyYXBoaWNzTGF5ZXIpCisgICAgICAgIG1fcm9vdEdyYXBoaWNz
TGF5ZXItPmFkZENoaWxkKGxheWVyKTsKKworICAgIG1fb3ZlcmxheUdyYXBoaWNzTGF5ZXIgPSBs
YXllcjsKIH0KIAogI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05P
VElGSUNBVElPTlMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJW
aWV3SW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaAppbmRl
eCBiNWUwMjEyM2Y0Yjg2NWEyYzFkOGFkM2FmOWMyNzA5ZmYwMzA3N2UzLi5jY2FjOTRhYTU3Zjdk
ZDM2ZTE5YmVlN2QwNzIzNjVkZDQ1NTdhY2Y0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJWaWV3SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYlZpZXdJbXBsLmgKQEAgLTY0OCw2ICs2NDgsOCBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBj
b25maWd1cmVBdXRvUmVzaXplTW9kZSgpOwogCisgICAgdm9pZCBzZXROZWVkc0Rpc3BsYXlPbkFs
bEdyYXBoaWNMYXllcnNSZWN1cnNpdmUoV2ViQ29yZTo6R3JhcGhpY3NMYXllciopOworCiAjaWYg
VVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogICAgIHZvaWQgc2V0SXNBY2NlbGVyYXRlZENv
bXBvc2l0aW5nQWN0aXZlKGJvb2wpOwogICAgIHZvaWQgZG9Db21wb3NpdGUoKTsKQEAgLTgzNiw2
ICs4MzgsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9vd25zTGF5ZXJUcmVlVmlldzsKICAgICBX
ZWJMYXllciogbV9yb290TGF5ZXI7CiAgICAgV2ViQ29yZTo6R3JhcGhpY3NMYXllciogbV9yb290
R3JhcGhpY3NMYXllcjsKKyAgICBXZWJDb3JlOjpHcmFwaGljc0xheWVyKiBtX292ZXJsYXlHcmFw
aGljc0xheWVyOwogICAgIGJvb2wgbV9pc0FjY2VsZXJhdGVkQ29tcG9zaXRpbmdBY3RpdmU7CiAg
ICAgYm9vbCBtX2xheWVyVHJlZVZpZXdDb21taXRzRGVmZXJyZWQ7CiAgICAgYm9vbCBtX2NvbXBv
c2l0b3JDcmVhdGlvbkZhaWxlZDsKQEAgLTg4MSw2ICs4ODQsNyBAQCBwcml2YXRlOgogCiAgICAg
Ym9vbCBtX3Nob3dGUFNDb3VudGVyOwogICAgIGJvb2wgbV9zaG93UGFpbnRSZWN0czsKKyAgICBi
b29sIG1fY29udGludW91c1BhaW50aW5nOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>182184</attachid>
            <date>2013-01-10 11:56:16 -0800</date>
            <delta_ts>2013-01-11 15:08:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105458-20130110115319.patch</filename>
            <type>text/plain</type>
            <size>10322</size>
            <attacher>egraether</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5MzMwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IGY2ZDYyNDY1MGQxNmMwYTI2ODRiYmQ4ZjY2MmQ1YTVjMWQ1MTRiMDYuLmU4OTZjYjBkZmE4NDc0
ZDIyZGQ0MWQyMDk1YzhhY2YzNjE4Njg1MDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjggQEAKKzIwMTMtMDEtMTAgIEViZXJoYXJkIEdyYWV0aGVyICA8ZWdyYWV0aGVy
QGdvb2dsZS5jb20+CisKKyAgICAgICAgW2Nocm9taXVtXSBBZGQgV2ViTGF5ZXI6OnNldElnbm9y
ZXNDb250aW51b3VzUGFpbnRpbmcoKSBBUEkgYW5kIHVzZSBpdCB0byBpZ25vcmUgdGhlIFBhZ2VP
dmVybGF5J3MgbGF5ZXIuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMDU0NTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIFdlYktpdC5neXA6CisgICAgICAgICogc3JjL1BhZ2VPdmVybGF5LmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6UGFnZU92ZXJsYXk6OmNsZWFyKToKKyAgICAgICAgKiBzcmMvV2ViVmll
d0ltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6V2ViVmlld0ltcGwpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6ZGlkQmVnaW5GcmFtZSk6CisgICAgICAgIChX
ZWJLaXQ6OldlYlZpZXdJbXBsOjpzZXRPdmVybGF5TGF5ZXIpOgorICAgICAgICAqIHNyYy9XZWJW
aWV3SW1wbC5oOgorICAgICAgICAqIHNyYy9wYWludGluZy9Db250aW51b3VzUGFpbnRlci5jcHA6
IEFkZGVkLgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYktpdDo6Q29udGludW91c1Bh
aW50ZXI6OkNvbnRpbnVvdXNQYWludGVyKToKKyAgICAgICAgKFdlYktpdDo6Q29udGludW91c1Bh
aW50ZXI6OnNldE5lZWRzRGlzcGxheVJlY3Vyc2l2ZSk6CisgICAgICAgIChXZWJLaXQ6OkNvbnRp
bnVvdXNQYWludGVyOjpzZXRFeGNlcHRpb25MYXllcik6CisgICAgICAgICogc3JjL3BhaW50aW5n
L0NvbnRpbnVvdXNQYWludGVyLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAg
IChXZWJLaXQpOgorICAgICAgICAoQ29udGludW91c1BhaW50ZXIpOgorCiAyMDEzLTAxLTEwICBE
aW1pdHJpIEdsYXprb3YgIDxkZ2xhemtvdkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZp
ZXdlZCwgcm9sbGluZyBvdXQgcjEzOTIyNy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vV2ViS2l0Lmd5cCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cAppbmRl
eCA1ZDgzMzA4N2IxYTlmZWRjN2Y2ZjBkMmQwNjc3YjJkOTA0YjA1ZWRiLi5lYzc1NWJlNDBkMjJm
NmU2ODQ5NDg4Y2Q4OGNlMDM1Mjg1YWRkZmI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL1dlYktpdC5neXAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lw
CkBAIC00NDYsNiArNDQ2LDggQEAKICAgICAgICAgICAgICAgICAnc3JjL01lZGlhUGxheWVyUHJp
dmF0ZUNocm9taXVtLmNwcCcsCiAgICAgICAgICAgICAgICAgJ3NyYy9Ob3RpZmljYXRpb25QcmVz
ZW50ZXJJbXBsLmgnLAogICAgICAgICAgICAgICAgICdzcmMvTm90aWZpY2F0aW9uUHJlc2VudGVy
SW1wbC5jcHAnLAorICAgICAgICAgICAgICAgICdzcmMvcGFpbnRpbmcvQ29udGludW91c1BhaW50
ZXIuaCcsCisgICAgICAgICAgICAgICAgJ3NyYy9wYWludGluZy9Db250aW51b3VzUGFpbnRlci5j
cHAnLAogICAgICAgICAgICAgICAgICdzcmMvcGFpbnRpbmcvR3JhcGhpY3NDb250ZXh0QnVpbGRl
ci5oJywKICAgICAgICAgICAgICAgICAnc3JjL3BhaW50aW5nL1BhaW50QWdncmVnYXRvci5oJywK
ICAgICAgICAgICAgICAgICAnc3JjL3BhaW50aW5nL1BhaW50QWdncmVnYXRvci5jcHAnLApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvUGFnZU92ZXJsYXkuY3BwIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvUGFnZU92ZXJsYXkuY3BwCmluZGV4IGM5NTY4N2FmNjNk
NWRjYjgwN2QyZjdmNWZjMDQ3YmU0NzQzOTJmNzguLmJjYTBlN2I0ZjgwNWIxNjAyM2IyMjAwN2U0
ZjU1MWI4ZDA1NmE2YzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1Bh
Z2VPdmVybGF5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9QYWdlT3Zlcmxh
eS5jcHAKQEAgLTExNSw2ICsxMTUsNyBAQCB2b2lkIFBhZ2VPdmVybGF5OjpjbGVhcigpCiAgICAg
ICAgIG1fbGF5ZXItPnJlbW92ZUZyb21QYXJlbnQoKTsKICAgICAgICAgbV9sYXllciA9IG51bGxw
dHI7CiAgICAgICAgIG1fbGF5ZXJDbGllbnQgPSBudWxscHRyOworICAgICAgICBtX3ZpZXdJbXBs
LT5zZXRPdmVybGF5TGF5ZXIoMCk7CiAgICAgfQogI2VuZGlmCiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKaW5kZXggZjMyYzVmNjE5NTlmMDQ2YzQwYTFiMWQw
MjFmYmE5NDFhN2E3OTk4MC4uYjgyZGVhZGRlZWMzMTljNGYyM2ExZGM0Y2YzZDY2MjBjYTIzYjFl
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcApAQCAtNDUx
LDYgKzQ1MSw3IEBAIFdlYlZpZXdJbXBsOjpXZWJWaWV3SW1wbChXZWJWaWV3Q2xpZW50KiBjbGll
bnQpCiAgICAgLCBtX3N1cHByZXNzSW52YWxpZGF0aW9ucyhmYWxzZSkKICAgICAsIG1fc2hvd0ZQ
U0NvdW50ZXIoZmFsc2UpCiAgICAgLCBtX3Nob3dQYWludFJlY3RzKGZhbHNlKQorICAgICwgbV9j
b250aW51b3VzUGFpbnRpbmdFbmFibGVkKGZhbHNlKQogewogICAgIC8vIFdlYktpdC93aW4vV2Vi
Vmlldy5jcHAgZG9lcyB0aGUgc2FtZSB0aGluZywgZXhjZXB0IHRoZXkgY2FsbCB0aGUKICAgICAv
LyBLSlMgc3BlY2lmaWMgd3JhcHBlciBhcm91bmQgdGhpcyBtZXRob2QuIFdlIG5lZWQgdG8gaGF2
ZSB0aHJlYWRpbmcKQEAgLTE3NTIsNiArMTc1Myw5IEBAIHZvaWQgV2ViVmlld0ltcGw6OndpbGxC
ZWdpbkZyYW1lKCkKIHZvaWQgV2ViVmlld0ltcGw6OmRpZEJlZ2luRnJhbWUoKQogewogICAgIElu
c3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkQ29tcG9zaXRlKG1fcGFnZS5nZXQoKSk7CisKKyAg
ICBpZiAobV9jb250aW51b3VzUGFpbnRpbmdFbmFibGVkKQorICAgICAgICBtX2NvbnRpbnVvdXNQ
YWludGVyLnNldE5lZWRzRGlzcGxheVJlY3Vyc2l2ZShtX3Jvb3RHcmFwaGljc0xheWVyKTsKIH0K
IAogdm9pZCBXZWJWaWV3SW1wbDo6dXBkYXRlQW5pbWF0aW9ucyhkb3VibGUgbW9ub3RvbmljRnJh
bWVCZWdpblRpbWUpCkBAIC0zNzgzLDEwICszNzg3LDEwIEBAIHZvaWQgV2ViVmlld0ltcGw6OnJl
bW92ZVBhZ2VPdmVybGF5KFdlYlBhZ2VPdmVybGF5KiBvdmVybGF5KQogCiB2b2lkIFdlYlZpZXdJ
bXBsOjpzZXRPdmVybGF5TGF5ZXIoV2ViQ29yZTo6R3JhcGhpY3NMYXllciogbGF5ZXIpCiB7Ci0g
ICAgaWYgKG1fcm9vdEdyYXBoaWNzTGF5ZXIpIHsKLSAgICAgICAgaWYgKGxheWVyLT5wYXJlbnQo
KSAhPSBtX3Jvb3RHcmFwaGljc0xheWVyKQotICAgICAgICAgICAgbV9yb290R3JhcGhpY3NMYXll
ci0+YWRkQ2hpbGQobGF5ZXIpOwotICAgIH0KKyAgICBpZiAobGF5ZXIgJiYgbV9yb290R3JhcGhp
Y3NMYXllciAmJiBsYXllci0+cGFyZW50KCkgIT0gbV9yb290R3JhcGhpY3NMYXllcikKKyAgICAg
ICAgbV9yb290R3JhcGhpY3NMYXllci0+YWRkQ2hpbGQobGF5ZXIpOworCisgICAgbV9jb250aW51
b3VzUGFpbnRlci5zZXRFeGNlcHRpb25MYXllcihsYXllcik7CiB9CiAKICNpZiBFTkFCTEUoTk9U
SUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaCBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmgKaW5kZXggYzMwOGQ3NTI1ODRjNjkxN2Q5NzYwZGEz
NDQ2YjU1NDNkMTdhNjRkMi4uYWEwMWJmMGMzMzYwNDkwMWM2ZGJlMzY1ZWE0MTk1Y2RiYWVkNjc3
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5oCkBAIC01MCw2ICs1
MCw3IEBACiAjaW5jbHVkZSAiV2ViTmF2aWdhdGlvblBvbGljeS5oIgogI2luY2x1ZGUgIldlYlZp
ZXcuaCIKICNpbmNsdWRlICJXZWJWaWV3QmVuY2htYXJrU3VwcG9ydEltcGwuaCIKKyNpbmNsdWRl
ICJwYWludGluZy9Db250aW51b3VzUGFpbnRlci5oIgogI2luY2x1ZGUgPHB1YmxpYy9XZWJGbG9h
dFF1YWQuaD4KICNpbmNsdWRlIDxwdWJsaWMvV2ViR2VzdHVyZUN1cnZlVGFyZ2V0Lmg+CiAjaW5j
bHVkZSA8cHVibGljL1dlYkxheWVyLmg+CkBAIC02NTIsNiArNjUzLDggQEAgcHJpdmF0ZToKIAog
ICAgIHZvaWQgY29uZmlndXJlQXV0b1Jlc2l6ZU1vZGUoKTsKIAorICAgIHZvaWQgc2V0TmVlZHNE
aXNwbGF5T25BbGxHcmFwaGljTGF5ZXJzUmVjdXJzaXZlKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXIq
KTsKKwogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKICAgICB2b2lkIHNldElzQWNj
ZWxlcmF0ZWRDb21wb3NpdGluZ0FjdGl2ZShib29sKTsKICAgICB2b2lkIGRvQ29tcG9zaXRlKCk7
CkBAIC04ODYsNiArODg5LDkgQEAgcHJpdmF0ZToKIAogICAgIGJvb2wgbV9zaG93RlBTQ291bnRl
cjsKICAgICBib29sIG1fc2hvd1BhaW50UmVjdHM7CisgICAgYm9vbCBtX2NvbnRpbnVvdXNQYWlu
dGluZ0VuYWJsZWQ7CisKKyAgICBDb250aW51b3VzUGFpbnRlciBtX2NvbnRpbnVvdXNQYWludGVy
OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9wYWludGluZy9Db250aW51b3VzUGFpbnRlci5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9wYWludGluZy9Db250aW51b3VzUGFpbnRlci5jcHAKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYjNiMTVjNTU4ODJhMThiMDQ0ZmIwOGNmODdjMGMxZTBmYWRjZDhkNAotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL3BhaW50aW5nL0NvbnRpbnVvdXNQYWlu
dGVyLmNwcApAQCAtMCwwICsxLDY2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEdvb2ds
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAq
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkNv
bnRpbnVvdXNQYWludGVyLmgiCisKKyNpbmNsdWRlICJHcmFwaGljc0xheWVyLmgiCisKK3VzaW5n
IG5hbWVzcGFjZSBXZWJDb3JlOworCituYW1lc3BhY2UgV2ViS2l0IHsKKworQ29udGludW91c1Bh
aW50ZXI6OkNvbnRpbnVvdXNQYWludGVyKCkKKyAgICA6IG1fZXhjZXB0aW9uTGF5ZXIoMCkKK3sK
K30KKwordm9pZCBDb250aW51b3VzUGFpbnRlcjo6c2V0TmVlZHNEaXNwbGF5UmVjdXJzaXZlKEdy
YXBoaWNzTGF5ZXIqIGxheWVyKQoreworICAgIGlmICghbGF5ZXIgfHwgbGF5ZXIgPT0gbV9leGNl
cHRpb25MYXllcikKKyAgICAgICAgcmV0dXJuOworCisgICAgbGF5ZXItPnNldE5lZWRzRGlzcGxh
eSgpOworCisgICAgc2V0TmVlZHNEaXNwbGF5UmVjdXJzaXZlKGxheWVyLT5tYXNrTGF5ZXIoKSk7
CisgICAgc2V0TmVlZHNEaXNwbGF5UmVjdXJzaXZlKGxheWVyLT5yZXBsaWNhTGF5ZXIoKSk7CisK
KyAgICBjb25zdCBWZWN0b3I8R3JhcGhpY3NMYXllcio+JiBjaGlsZHJlbiA9IGxheWVyLT5jaGls
ZHJlbigpOworICAgIFZlY3RvcjxHcmFwaGljc0xheWVyKj46OmNvbnN0X2l0ZXJhdG9yIGl0Owor
ICAgIGZvciAoaXQgPSBjaGlsZHJlbi5iZWdpbigpOyBpdCAhPSBjaGlsZHJlbi5lbmQoKTsgKytp
dCkKKyAgICAgICAgc2V0TmVlZHNEaXNwbGF5UmVjdXJzaXZlKCppdCk7Cit9CisKK3ZvaWQgQ29u
dGludW91c1BhaW50ZXI6OnNldEV4Y2VwdGlvbkxheWVyKEdyYXBoaWNzTGF5ZXIqIGxheWVyKQor
eworICAgIG1fZXhjZXB0aW9uTGF5ZXIgPSBsYXllcjsKK30KKworfSAvLyBuYW1lc3BhY2UgV2Vi
S2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9wYWludGluZy9Db250
aW51b3VzUGFpbnRlci5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvcGFpbnRpbmcvQ29u
dGludW91c1BhaW50ZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMDQ0MTgzNjQ0ODg1MjQ1YWFiMDA0MzdjYTFm
ZDY5M2QwYWIwMjNjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvcGFpbnRpbmcvQ29udGludW91c1BhaW50ZXIuaApAQCAtMCwwICsxLDU1IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3Ry
aWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRo
ZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAq
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBD
b250aW51b3VzUGFpbnRlcl9oCisjZGVmaW5lIENvbnRpbnVvdXNQYWludGVyX2gKKworbmFtZXNw
YWNlIFdlYkNvcmUgeworY2xhc3MgR3JhcGhpY3NMYXllcjsKK30KKworbmFtZXNwYWNlIFdlYktp
dCB7CisKKy8vIFRoaXMgY2xhc3MgaXMgcmVzcG9uc2libGUgZm9yIGNhbGxpbmcgc2V0TmVlZHNE
aXNwbGF5IG9uIGFsbAorLy8gR3JhcGhpY3NMYXllcnMgaW4gY29udGludW91cyBwYWludGluZyBt
b2RlCitjbGFzcyBDb250aW51b3VzUGFpbnRlciB7CitwdWJsaWM6CisgICAgZXhwbGljaXQgQ29u
dGludW91c1BhaW50ZXIoKTsKKworICAgIHZvaWQgc2V0TmVlZHNEaXNwbGF5UmVjdXJzaXZlKFdl
YkNvcmU6OkdyYXBoaWNzTGF5ZXIqKTsKKyAgICB2b2lkIHNldEV4Y2VwdGlvbkxheWVyKFdlYkNv
cmU6OkdyYXBoaWNzTGF5ZXIqKTsKKworcHJpdmF0ZToKKyAgICBXZWJDb3JlOjpHcmFwaGljc0xh
eWVyKiBtX2V4Y2VwdGlvbkxheWVyOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNl
bmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>182430</attachid>
            <date>2013-01-11 15:08:50 -0800</date>
            <delta_ts>2013-01-11 16:37:16 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105458-20130111150553.patch</filename>
            <type>text/plain</type>
            <size>10777</size>
            <attacher>egraether</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5NDUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IDY0MmM1ZDkzZGMxOTYzZmZhNWFjNzU0YTlhYzgwMDVlOTE3MzQ4Y2MuLmRjMjdlMDYxZTQzNzk3
NWNkZWU0MjYzMGRkZTk2OGVmM2MyYTQ4ZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMzIgQEAKKzIwMTMtMDEtMTEgIEViZXJoYXJkIEdyYWV0aGVyICA8ZWdyYWV0aGVy
QGdvb2dsZS5jb20+CisKKyAgICAgICAgW2Nocm9taXVtXSBBZGQgV2ViTGF5ZXI6OnNldElnbm9y
ZXNDb250aW51b3VzUGFpbnRpbmcoKSBBUEkgYW5kIHVzZSBpdCB0byBpZ25vcmUgdGhlIFBhZ2VP
dmVybGF5J3MgbGF5ZXIuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMDU0NTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIFdlYktpdC5neXA6CisgICAgICAgICogc3JjL1BhZ2VPdmVybGF5Lmg6CisgICAg
ICAgIChXZWJLaXQ6OlBhZ2VPdmVybGF5OjpncmFwaGljc0xheWVyKToKKyAgICAgICAgKFBhZ2VP
dmVybGF5KToKKyAgICAgICAgKiBzcmMvUGFnZU92ZXJsYXlMaXN0LmNwcDoKKyAgICAgICAgKFdl
YktpdDo6UGFnZU92ZXJsYXlMaXN0OjpmaW5kR3JhcGhpY3NMYXllcik6CisgICAgICAgIChXZWJL
aXQpOgorICAgICAgICAqIHNyYy9QYWdlT3ZlcmxheUxpc3QuaDoKKyAgICAgICAgKFdlYkNvcmUp
OgorICAgICAgICAoUGFnZU92ZXJsYXlMaXN0KToKKyAgICAgICAgKiBzcmMvV2ViVmlld0ltcGwu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6V2ViVmlld0ltcGwpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6ZGlkQmVnaW5GcmFtZSk6CisgICAgICAgICogc3JjL1dl
YlZpZXdJbXBsLmg6CisgICAgICAgICogc3JjL3BhaW50aW5nL0NvbnRpbnVvdXNQYWludGVyLmNw
cDogQ29waWVkIGZyb20gU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvUGFnZU92ZXJsYXkuaC4K
KyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJLaXQ6OkNvbnRpbnVvdXNQYWludGVyOjpz
ZXROZWVkc0Rpc3BsYXlSZWN1cnNpdmUpOgorICAgICAgICAqIHNyYy9wYWludGluZy9Db250aW51
b3VzUGFpbnRlci5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9QYWdl
T3ZlcmxheS5oLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJLaXQpOgorICAgICAg
ICAoQ29udGludW91c1BhaW50ZXIpOgorCiAyMDEzLTAxLTExICBTdGVwaGVuIENoZW5uZXkgIDxz
Y2hlbm5leUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmVtb3ZpbmcgU2tpYSBmbGFncyB0aGF0
IGhhdmUgYmVlbiBkaXNhYmxpbmcgb3BydGltaXphdGlvbnMgYW5kIG90aGVyIGltcHJvdmVtZW50
cy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cCBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cAppbmRleCA1ZDgzMzA4N2IxYTlmZWRjN2Y2ZjBk
MmQwNjc3YjJkOTA0YjA1ZWRiLi5lYzc1NWJlNDBkMjJmNmU2ODQ5NDg4Y2Q4OGNlMDM1Mjg1YWRk
ZmI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAKKysrIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwCkBAIC00NDYsNiArNDQ2LDggQEAKICAg
ICAgICAgICAgICAgICAnc3JjL01lZGlhUGxheWVyUHJpdmF0ZUNocm9taXVtLmNwcCcsCiAgICAg
ICAgICAgICAgICAgJ3NyYy9Ob3RpZmljYXRpb25QcmVzZW50ZXJJbXBsLmgnLAogICAgICAgICAg
ICAgICAgICdzcmMvTm90aWZpY2F0aW9uUHJlc2VudGVySW1wbC5jcHAnLAorICAgICAgICAgICAg
ICAgICdzcmMvcGFpbnRpbmcvQ29udGludW91c1BhaW50ZXIuaCcsCisgICAgICAgICAgICAgICAg
J3NyYy9wYWludGluZy9Db250aW51b3VzUGFpbnRlci5jcHAnLAogICAgICAgICAgICAgICAgICdz
cmMvcGFpbnRpbmcvR3JhcGhpY3NDb250ZXh0QnVpbGRlci5oJywKICAgICAgICAgICAgICAgICAn
c3JjL3BhaW50aW5nL1BhaW50QWdncmVnYXRvci5oJywKICAgICAgICAgICAgICAgICAnc3JjL3Bh
aW50aW5nL1BhaW50QWdncmVnYXRvci5jcHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvUGFnZU92ZXJsYXkuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1Bh
Z2VPdmVybGF5LmgKaW5kZXggMjEwMWNiZjViYjVjMWRlNjVkOGVhODcxN2YyNDVlNzdhN2VmYjU5
Zi4uOTI0YjA2YjM4ZGJlNDUwYjEwYWQ0M2VlMjQzYmZjZmY4NjJlMjIxOCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvUGFnZU92ZXJsYXkuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9QYWdlT3ZlcmxheS5oCkBAIC01OSw2ICs1OSw4IEBAIHB1YmxpYzoK
ICAgICB2b2lkIHVwZGF0ZSgpOwogICAgIHZvaWQgcGFpbnRXZWJGcmFtZShXZWJDb3JlOjpHcmFw
aGljc0NvbnRleHQmKTsKIAorICAgIFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXIqIGdyYXBoaWNzTGF5
ZXIoKSBjb25zdCB7IHJldHVybiBtX2xheWVyLmdldCgpOyB9CisKIHByaXZhdGU6CiAgICAgUGFn
ZU92ZXJsYXkoV2ViVmlld0ltcGwqLCBXZWJQYWdlT3ZlcmxheSopOwogICAgIHZvaWQgaW52YWxp
ZGF0ZVdlYkZyYW1lKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Q
YWdlT3ZlcmxheUxpc3QuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvUGFnZU92ZXJs
YXlMaXN0LmNwcAppbmRleCBhNzhiOWJhNTczMDU4Yzg1ZDNkNjBkM2RlOTg2NzMyZTk3YmI4MzJl
Li4wNThiMTA0MzU2ODc0NWYyOGJhMDg1OTNkMzFiMzNlODJiMzQyNmYxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9QYWdlT3ZlcmxheUxpc3QuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL1BhZ2VPdmVybGF5TGlzdC5jcHAKQEAgLTEyNyw0ICsxMjcs
MTMgQEAgc2l6ZV90IFBhZ2VPdmVybGF5TGlzdDo6ZmluZChXZWJQYWdlT3ZlcmxheSogb3Zlcmxh
eSkKICAgICByZXR1cm4gV1RGOjpub3RGb3VuZDsKIH0KIAorc2l6ZV90IFBhZ2VPdmVybGF5TGlz
dDo6ZmluZEdyYXBoaWNzTGF5ZXIoV2ViQ29yZTo6R3JhcGhpY3NMYXllciogbGF5ZXIpCit7Cisg
ICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBtX3BhZ2VPdmVybGF5cy5zaXplKCk7ICsraSkgewor
ICAgICAgICBpZiAobV9wYWdlT3ZlcmxheXNbaV0tPmdyYXBoaWNzTGF5ZXIoKSA9PSBsYXllcikK
KyAgICAgICAgICAgIHJldHVybiBpOworICAgIH0KKyAgICByZXR1cm4gV1RGOjpub3RGb3VuZDsK
K30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9QYWdlT3ZlcmxheUxpc3QuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L1BhZ2VPdmVybGF5TGlzdC5oCmluZGV4IDc1OWIyNmI1M2I1OWQ4NzJlMGZkNTRhZjg0NTk4NmVj
MDFlOGVkYzUuLjdkNTQ0OGI5YjczODhiZWRlZGZkZWEzNzIyNDQyOTkzYjdkMTRmNDggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1BhZ2VPdmVybGF5TGlzdC5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1BhZ2VPdmVybGF5TGlzdC5oCkBAIC0zNSw2ICsz
NSw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEdyYXBoaWNzQ29udGV4dDsKK2Ns
YXNzIEdyYXBoaWNzTGF5ZXI7CiB9CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpAQCAtNTgsNiArNTks
OCBAQCBwdWJsaWM6CiAgICAgdm9pZCB1cGRhdGUoKTsKICAgICB2b2lkIHBhaW50V2ViRnJhbWUo
V2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0Jik7CiAKKyAgICBzaXplX3QgZmluZEdyYXBoaWNzTGF5
ZXIoV2ViQ29yZTo6R3JhcGhpY3NMYXllciopOworCiBwcml2YXRlOgogICAgIHR5cGVkZWYgVmVj
dG9yPE93blB0cjxQYWdlT3ZlcmxheT4sIDI+IFBhZ2VPdmVybGF5czsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCmluZGV4IGYzMmM1ZjYxOTU5ZjA0NmM0MGEx
YjFkMDIxZmJhOTQxYTdhNzk5ODAuLjQyYzdhOTQ2ZjM2MzM1MGJkNzA3MWI4ZTM1ZDhiZTkwMjRh
MTkwYTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBs
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKQEAg
LTE0Miw2ICsxNDIsNyBAQAogI2luY2x1ZGUgIldlYlRleHRJbnB1dEluZm8uaCIKICNpbmNsdWRl
ICJXZWJWaWV3Q2xpZW50LmgiCiAjaW5jbHVkZSAiV2hlZWxFdmVudC5oIgorI2luY2x1ZGUgInBh
aW50aW5nL0NvbnRpbnVvdXNQYWludGVyLmgiCiAjaW5jbHVkZSAicGFpbnRpbmcvR3JhcGhpY3ND
b250ZXh0QnVpbGRlci5oIgogI2luY2x1ZGUgInNyYy9XZWJBY3RpdmVHZXN0dXJlQW5pbWF0aW9u
LmgiCiAjaW5jbHVkZSA8cHVibGljL1BsYXRmb3JtLmg+CkBAIC00NTEsNiArNDUyLDcgQEAgV2Vi
Vmlld0ltcGw6OldlYlZpZXdJbXBsKFdlYlZpZXdDbGllbnQqIGNsaWVudCkKICAgICAsIG1fc3Vw
cHJlc3NJbnZhbGlkYXRpb25zKGZhbHNlKQogICAgICwgbV9zaG93RlBTQ291bnRlcihmYWxzZSkK
ICAgICAsIG1fc2hvd1BhaW50UmVjdHMoZmFsc2UpCisgICAgLCBtX2NvbnRpbnVvdXNQYWludGlu
Z0VuYWJsZWQodHJ1ZSkKIHsKICAgICAvLyBXZWJLaXQvd2luL1dlYlZpZXcuY3BwIGRvZXMgdGhl
IHNhbWUgdGhpbmcsIGV4Y2VwdCB0aGV5IGNhbGwgdGhlCiAgICAgLy8gS0pTIHNwZWNpZmljIHdy
YXBwZXIgYXJvdW5kIHRoaXMgbWV0aG9kLiBXZSBuZWVkIHRvIGhhdmUgdGhyZWFkaW5nCkBAIC0x
NzUyLDYgKzE3NTQsOSBAQCB2b2lkIFdlYlZpZXdJbXBsOjp3aWxsQmVnaW5GcmFtZSgpCiB2b2lk
IFdlYlZpZXdJbXBsOjpkaWRCZWdpbkZyYW1lKCkKIHsKICAgICBJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb246OmRpZENvbXBvc2l0ZShtX3BhZ2UuZ2V0KCkpOworCisgICAgaWYgKG1fY29udGludW91
c1BhaW50aW5nRW5hYmxlZCkKKyAgICAgICAgQ29udGludW91c1BhaW50ZXI6OnNldE5lZWRzRGlz
cGxheVJlY3Vyc2l2ZShtX3Jvb3RHcmFwaGljc0xheWVyLCBtX3BhZ2VPdmVybGF5cy5nZXQoKSk7
CiB9CiAKIHZvaWQgV2ViVmlld0ltcGw6OnVwZGF0ZUFuaW1hdGlvbnMoZG91YmxlIG1vbm90b25p
Y0ZyYW1lQmVnaW5UaW1lKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViVmlld0ltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmgK
aW5kZXggYzMwOGQ3NTI1ODRjNjkxN2Q5NzYwZGEzNDQ2YjU1NDNkMTdhNjRkMi4uZWFmMWE0ODgz
ZTZhNTVjOTUzN2RiMzNiZjhiZGQ2Y2EyOGE4N2I0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9XZWJWaWV3SW1wbC5oCkBAIC04ODYsNiArODg2LDcgQEAgcHJpdmF0ZToKIAogICAgIGJv
b2wgbV9zaG93RlBTQ291bnRlcjsKICAgICBib29sIG1fc2hvd1BhaW50UmVjdHM7CisgICAgYm9v
bCBtX2NvbnRpbnVvdXNQYWludGluZ0VuYWJsZWQ7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJL
aXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL3BhaW50aW5nL0NvbnRp
bnVvdXNQYWludGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL3BhaW50aW5nL0Nv
bnRpbnVvdXNQYWludGVyLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41OWIyOTE2YjBlMGUyYTIwY2NlNTY4YTI2
NWZiZjE0MTVmMTBlOTRhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvcGFpbnRpbmcvQ29udGludW91c1BhaW50ZXIuY3BwCkBAIC0wLDAgKzEsNTggQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICoKKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEdPT0dMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisg
KiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
R09PR0xFIElOQy4KKyAqIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAor
ICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkNvbnRpbnVvdXNQ
YWludGVyLmgiCisKKyNpbmNsdWRlICJHcmFwaGljc0xheWVyLmgiCisjaW5jbHVkZSAiUGFnZU92
ZXJsYXlMaXN0LmgiCisKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCituYW1lc3BhY2UgV2Vi
S2l0IHsKKwordm9pZCBDb250aW51b3VzUGFpbnRlcjo6c2V0TmVlZHNEaXNwbGF5UmVjdXJzaXZl
KEdyYXBoaWNzTGF5ZXIqIGxheWVyLCBQYWdlT3ZlcmxheUxpc3QqIHBhZ2VPdmVybGF5cykKK3sK
KyAgICBpZiAoIWxheWVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAocGFnZU92ZXJsYXlz
ICYmIHBhZ2VPdmVybGF5cy0+ZmluZEdyYXBoaWNzTGF5ZXIobGF5ZXIpICE9IFdURjo6bm90Rm91
bmQpCisgICAgICAgIHJldHVybjsKKworICAgIGxheWVyLT5zZXROZWVkc0Rpc3BsYXkoKTsKKwor
ICAgIHNldE5lZWRzRGlzcGxheVJlY3Vyc2l2ZShsYXllci0+bWFza0xheWVyKCksIHBhZ2VPdmVy
bGF5cyk7CisgICAgc2V0TmVlZHNEaXNwbGF5UmVjdXJzaXZlKGxheWVyLT5yZXBsaWNhTGF5ZXIo
KSwgcGFnZU92ZXJsYXlzKTsKKworICAgIGNvbnN0IFZlY3RvcjxHcmFwaGljc0xheWVyKj4mIGNo
aWxkcmVuID0gbGF5ZXItPmNoaWxkcmVuKCk7CisgICAgVmVjdG9yPEdyYXBoaWNzTGF5ZXIqPjo6
Y29uc3RfaXRlcmF0b3IgaXQ7CisgICAgZm9yIChpdCA9IGNoaWxkcmVuLmJlZ2luKCk7IGl0ICE9
IGNoaWxkcmVuLmVuZCgpOyArK2l0KQorICAgICAgICBzZXROZWVkc0Rpc3BsYXlSZWN1cnNpdmUo
Kml0LCBwYWdlT3ZlcmxheXMpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL3BhaW50aW5nL0NvbnRpbnVvdXNQYWludGVy
LmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9wYWludGluZy9Db250aW51b3VzUGFpbnRl
ci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjRiMDA1OTI2NTFjMmVmZDlmMDllNmY5N2ZmZWIyNzVjOTRjODUxYjgK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9wYWludGluZy9D
b250aW51b3VzUGFpbnRlci5oCkBAIC0wLDAgKzEsNTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICoK
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEdPT0dMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgR09PR0xFIElOQy4KKyAqIE9S
IElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisg
KiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lm
bmRlZiBDb250aW51b3VzUGFpbnRlcl9oCisjZGVmaW5lIENvbnRpbnVvdXNQYWludGVyX2gKKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworY2xhc3MgR3JhcGhpY3NMYXllcjsKK30KKworbmFtZXNwYWNl
IFdlYktpdCB7CitjbGFzcyBQYWdlT3ZlcmxheUxpc3Q7CisKKy8vIFRoaXMgY2xhc3MgaXMgcmVz
cG9uc2libGUgZm9yIGNhbGxpbmcgc2V0TmVlZHNEaXNwbGF5IG9uIGFsbAorLy8gR3JhcGhpY3NM
YXllcnMgaW4gY29udGludW91cyBwYWludGluZyBtb2RlLgorY2xhc3MgQ29udGludW91c1BhaW50
ZXIgeworcHVibGljOgorICAgIC8vIENhbGxzIHNldE5lZWRzRGlzcGxheSBvbiB0aGUgbGF5ZXIs
IHRoZW4gcmVjdXJzaXZlbHkgY2FsbHMKKyAgICAvLyBvbiBtYXNrIGxheWVycywgcmVwbGljYSBs
YXllcnMgYW5kIGFsbCBjaGlsZCBsYXllcnMuCisgICAgLy8gT3ZlcmxheXMgYXJlIGV4Y2x1ZGVk
LCBiZWNhdXNlIHRoZXkgaW1wYWN0IHRoZSBwYWdlIHBhaW50IHRpbWUgbWV0cmljLgorICAgIHN0
YXRpYyB2b2lkIHNldE5lZWRzRGlzcGxheVJlY3Vyc2l2ZShXZWJDb3JlOjpHcmFwaGljc0xheWVy
KiwgUGFnZU92ZXJsYXlMaXN0Kik7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2Vu
ZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>182445</attachid>
            <date>2013-01-11 16:37:20 -0800</date>
            <delta_ts>2013-01-11 17:59:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105458-20130111163422.patch</filename>
            <type>text/plain</type>
            <size>11272</size>
            <attacher>egraether</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5NDUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IDY0MmM1ZDkzZGMxOTYzZmZhNWFjNzU0YTlhYzgwMDVlOTE3MzQ4Y2MuLjRhYWNlNDY1ZTczM2Y2
YTU1ZDMxNGI1NjQ5MTg3ODY5OWM1MmU2NTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMzcgQEAKKzIwMTMtMDEtMTEgIEViZXJoYXJkIEdyYWV0aGVyICA8ZWdyYWV0aGVy
QGdvb2dsZS5jb20+CisKKyAgICAgICAgW2Nocm9taXVtXSBBZGQgQ29udGludW91c1BhaW50ZXIg
dG8gY2FsbCBzZXROZWVkc0Rpc3BsYXkgb24gYWxsIGxheWVycyByZWN1cnNpdmVseSBpbiBjb250
aW51b3VzIHBhaW50aW5nIG1vZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTEwNTQ1OAorCisgICAgICAgIFJldmlld2VkIGJ5IEphbWVzIFJvYmluc29u
LgorCisgICAgICAgIEluIGNvbnRpbnVvdXMgcGFpbnRpbmcgbW9kZSBhbGwgbGF5ZXJzIGFyZSBj
b25zdGFudGx5IHJlcGFpbnRlZCB0byBhbGxvdyBmb3IgbGlmZSBtZWFzdXJlbWVudHMgb2YgcGFn
ZSBwYWludCB0aW1lLAorICAgICAgICB3aGlsZSBjaGFuZ2luZyBIVE1MIGFuZCBDU1MgdXNpbmcg
dGhlIFdlYkluc3BlY3Rvci4gVGhpcyBjaGFuZ2UgYWRkcyB0aGUgQ29udGludW91c1BhaW50ZXIg
aGVscGVyIG9iamVjdCwgd2hpY2gKKyAgICAgICAgY2FsbHMgc2V0TmVlZHNEaXNwbGF5KCkgb24g
YWxsIEdyYXBoaWNzTGF5ZXJzIHJlY3Vyc2l2ZWx5IGluIG9yZGVyIHRvIGZvcmNlIGFsbCBsYXll
cnMgdG8gcmVwYWludC4gUGFnZU92ZXJsYXkKKyAgICAgICAgbGF5ZXJzIGdldCBleGNsdWRlZCBm
cm9tIGJlaW5nIHJlcGFpbnRlZCwgYmVjYXVzZSB0aGVpciBleHRyYSBwYWludCB0aW1lIGlzIGFs
dGVyaW5nIHRoZSBwYWdlIHBhaW50IHRpbWUgbWV0cmljLgorCisgICAgICAgICogV2ViS2l0Lmd5
cDoKKyAgICAgICAgKiBzcmMvUGFnZU92ZXJsYXkuaDoKKyAgICAgICAgKFdlYktpdDo6UGFnZU92
ZXJsYXk6OmdyYXBoaWNzTGF5ZXIpOgorICAgICAgICAoUGFnZU92ZXJsYXkpOgorICAgICAgICAq
IHNyYy9QYWdlT3ZlcmxheUxpc3QuY3BwOgorICAgICAgICAoV2ViS2l0OjpQYWdlT3ZlcmxheUxp
c3Q6OmZpbmRHcmFwaGljc0xheWVyKToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgICogc3Jj
L1BhZ2VPdmVybGF5TGlzdC5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChQYWdlT3Zl
cmxheUxpc3QpOgorICAgICAgICAqIHNyYy9XZWJWaWV3SW1wbC5jcHA6CisgICAgICAgIChXZWJL
aXQ6OldlYlZpZXdJbXBsOjpXZWJWaWV3SW1wbCk6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJ
bXBsOjpkaWRCZWdpbkZyYW1lKToKKyAgICAgICAgKiBzcmMvV2ViVmlld0ltcGwuaDoKKyAgICAg
ICAgKiBzcmMvcGFpbnRpbmcvQ29udGludW91c1BhaW50ZXIuY3BwOiBDb3BpZWQgZnJvbSBTb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9QYWdlT3ZlcmxheS5oLgorICAgICAgICAoV2ViS2l0KToK
KyAgICAgICAgKFdlYktpdDo6Q29udGludW91c1BhaW50ZXI6OnNldE5lZWRzRGlzcGxheVJlY3Vy
c2l2ZSk6CisgICAgICAgICogc3JjL3BhaW50aW5nL0NvbnRpbnVvdXNQYWludGVyLmg6IENvcGll
ZCBmcm9tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1BhZ2VPdmVybGF5LmguCisgICAgICAg
IChXZWJDb3JlKToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChDb250aW51b3VzUGFpbnRl
cik6CisKIDIwMTMtMDEtMTEgIFN0ZXBoZW4gQ2hlbm5leSAgPHNjaGVubmV5QGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBSZW1vdmluZyBTa2lhIGZsYWdzIHRoYXQgaGF2ZSBiZWVuIGRpc2FibGlu
ZyBvcHJ0aW1pemF0aW9ucyBhbmQgb3RoZXIgaW1wcm92ZW1lbnRzLgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9X
ZWJLaXQuZ3lwCmluZGV4IDVkODMzMDg3YjFhOWZlZGM3ZjZmMGQyZDA2NzdiMmQ5MDRiMDVlZGIu
LmVjNzU1YmU0MGQyMmY2ZTY4NDk0ODhjZDg4Y2UwMzUyODVhZGRmYjcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL1dlYktpdC5neXAKQEAgLTQ0Niw2ICs0NDYsOCBAQAogICAgICAgICAgICAgICAgICdzcmMv
TWVkaWFQbGF5ZXJQcml2YXRlQ2hyb21pdW0uY3BwJywKICAgICAgICAgICAgICAgICAnc3JjL05v
dGlmaWNhdGlvblByZXNlbnRlckltcGwuaCcsCiAgICAgICAgICAgICAgICAgJ3NyYy9Ob3RpZmlj
YXRpb25QcmVzZW50ZXJJbXBsLmNwcCcsCisgICAgICAgICAgICAgICAgJ3NyYy9wYWludGluZy9D
b250aW51b3VzUGFpbnRlci5oJywKKyAgICAgICAgICAgICAgICAnc3JjL3BhaW50aW5nL0NvbnRp
bnVvdXNQYWludGVyLmNwcCcsCiAgICAgICAgICAgICAgICAgJ3NyYy9wYWludGluZy9HcmFwaGlj
c0NvbnRleHRCdWlsZGVyLmgnLAogICAgICAgICAgICAgICAgICdzcmMvcGFpbnRpbmcvUGFpbnRB
Z2dyZWdhdG9yLmgnLAogICAgICAgICAgICAgICAgICdzcmMvcGFpbnRpbmcvUGFpbnRBZ2dyZWdh
dG9yLmNwcCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9QYWdlT3Zl
cmxheS5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvUGFnZU92ZXJsYXkuaAppbmRleCAy
MTAxY2JmNWJiNWMxZGU2NWQ4ZWE4NzE3ZjI0NWU3N2E3ZWZiNTlmLi45MjRiMDZiMzhkYmU0NTBi
MTBhZDQzZWUyNDNiZmNmZjg2MmUyMjE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9QYWdlT3ZlcmxheS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1Bh
Z2VPdmVybGF5LmgKQEAgLTU5LDYgKzU5LDggQEAgcHVibGljOgogICAgIHZvaWQgdXBkYXRlKCk7
CiAgICAgdm9pZCBwYWludFdlYkZyYW1lKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dCYpOwogCisg
ICAgV2ViQ29yZTo6R3JhcGhpY3NMYXllciogZ3JhcGhpY3NMYXllcigpIGNvbnN0IHsgcmV0dXJu
IG1fbGF5ZXIuZ2V0KCk7IH0KKwogcHJpdmF0ZToKICAgICBQYWdlT3ZlcmxheShXZWJWaWV3SW1w
bCosIFdlYlBhZ2VPdmVybGF5Kik7CiAgICAgdm9pZCBpbnZhbGlkYXRlV2ViRnJhbWUoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1BhZ2VPdmVybGF5TGlzdC5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9QYWdlT3ZlcmxheUxpc3QuY3BwCmluZGV4IGE3
OGI5YmE1NzMwNThjODVkM2Q2MGQzZGU5ODY3MzJlOTdiYjgzMmUuLjA1OGIxMDQzNTY4NzQ1ZjI4
YmEwODU5M2QzMWIzM2U4MmIzNDI2ZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL1BhZ2VPdmVybGF5TGlzdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvUGFnZU92ZXJsYXlMaXN0LmNwcApAQCAtMTI3LDQgKzEyNywxMyBAQCBzaXplX3QgUGFnZU92
ZXJsYXlMaXN0OjpmaW5kKFdlYlBhZ2VPdmVybGF5KiBvdmVybGF5KQogICAgIHJldHVybiBXVEY6
Om5vdEZvdW5kOwogfQogCitzaXplX3QgUGFnZU92ZXJsYXlMaXN0OjpmaW5kR3JhcGhpY3NMYXll
cihXZWJDb3JlOjpHcmFwaGljc0xheWVyKiBsYXllcikKK3sKKyAgICBmb3IgKHNpemVfdCBpID0g
MDsgaSA8IG1fcGFnZU92ZXJsYXlzLnNpemUoKTsgKytpKSB7CisgICAgICAgIGlmIChtX3BhZ2VP
dmVybGF5c1tpXS0+Z3JhcGhpY3NMYXllcigpID09IGxheWVyKQorICAgICAgICAgICAgcmV0dXJu
IGk7CisgICAgfQorICAgIHJldHVybiBXVEY6Om5vdEZvdW5kOworfQorCiB9IC8vIG5hbWVzcGFj
ZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1BhZ2VPdmVy
bGF5TGlzdC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvUGFnZU92ZXJsYXlMaXN0LmgK
aW5kZXggNzU5YjI2YjUzYjU5ZDg3MmUwZmQ1NGFmODQ1OTg2ZWMwMWU4ZWRjNS4uN2Q1NDQ4Yjli
NzM4OGJlZGVkZmRlYTM3MjI0NDI5OTNiN2QxNGY0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvUGFnZU92ZXJsYXlMaXN0LmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvUGFnZU92ZXJsYXlMaXN0LmgKQEAgLTM1LDYgKzM1LDcgQEAKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogY2xhc3MgR3JhcGhpY3NDb250ZXh0OworY2xhc3MgR3JhcGhpY3NMYXllcjsK
IH0KIAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC01OCw2ICs1OSw4IEBAIHB1YmxpYzoKICAgICB2
b2lkIHVwZGF0ZSgpOwogICAgIHZvaWQgcGFpbnRXZWJGcmFtZShXZWJDb3JlOjpHcmFwaGljc0Nv
bnRleHQmKTsKIAorICAgIHNpemVfdCBmaW5kR3JhcGhpY3NMYXllcihXZWJDb3JlOjpHcmFwaGlj
c0xheWVyKik7CisKIHByaXZhdGU6CiAgICAgdHlwZWRlZiBWZWN0b3I8T3duUHRyPFBhZ2VPdmVy
bGF5PiwgMj4gUGFnZU92ZXJsYXlzOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJW
aWV3SW1wbC5jcHAKaW5kZXggZjMyYzVmNjE5NTlmMDQ2YzQwYTFiMWQwMjFmYmE5NDFhN2E3OTk4
MC4uMDIzMjJhMjU0OGJkMWFiYWNlOWVhZDVmNjA1ZmJkZWRhZjUxNTAwOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcApAQCAtMTQyLDYgKzE0Miw3IEBACiAj
aW5jbHVkZSAiV2ViVGV4dElucHV0SW5mby5oIgogI2luY2x1ZGUgIldlYlZpZXdDbGllbnQuaCIK
ICNpbmNsdWRlICJXaGVlbEV2ZW50LmgiCisjaW5jbHVkZSAicGFpbnRpbmcvQ29udGludW91c1Bh
aW50ZXIuaCIKICNpbmNsdWRlICJwYWludGluZy9HcmFwaGljc0NvbnRleHRCdWlsZGVyLmgiCiAj
aW5jbHVkZSAic3JjL1dlYkFjdGl2ZUdlc3R1cmVBbmltYXRpb24uaCIKICNpbmNsdWRlIDxwdWJs
aWMvUGxhdGZvcm0uaD4KQEAgLTQ1MSw2ICs0NTIsNyBAQCBXZWJWaWV3SW1wbDo6V2ViVmlld0lt
cGwoV2ViVmlld0NsaWVudCogY2xpZW50KQogICAgICwgbV9zdXBwcmVzc0ludmFsaWRhdGlvbnMo
ZmFsc2UpCiAgICAgLCBtX3Nob3dGUFNDb3VudGVyKGZhbHNlKQogICAgICwgbV9zaG93UGFpbnRS
ZWN0cyhmYWxzZSkKKyAgICAsIG1fY29udGludW91c1BhaW50aW5nRW5hYmxlZChmYWxzZSkKIHsK
ICAgICAvLyBXZWJLaXQvd2luL1dlYlZpZXcuY3BwIGRvZXMgdGhlIHNhbWUgdGhpbmcsIGV4Y2Vw
dCB0aGV5IGNhbGwgdGhlCiAgICAgLy8gS0pTIHNwZWNpZmljIHdyYXBwZXIgYXJvdW5kIHRoaXMg
bWV0aG9kLiBXZSBuZWVkIHRvIGhhdmUgdGhyZWFkaW5nCkBAIC0xNzUyLDYgKzE3NTQsOSBAQCB2
b2lkIFdlYlZpZXdJbXBsOjp3aWxsQmVnaW5GcmFtZSgpCiB2b2lkIFdlYlZpZXdJbXBsOjpkaWRC
ZWdpbkZyYW1lKCkKIHsKICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZENvbXBvc2l0
ZShtX3BhZ2UuZ2V0KCkpOworCisgICAgaWYgKG1fY29udGludW91c1BhaW50aW5nRW5hYmxlZCkK
KyAgICAgICAgQ29udGludW91c1BhaW50ZXI6OnNldE5lZWRzRGlzcGxheVJlY3Vyc2l2ZShtX3Jv
b3RHcmFwaGljc0xheWVyLCBtX3BhZ2VPdmVybGF5cy5nZXQoKSk7CiB9CiAKIHZvaWQgV2ViVmll
d0ltcGw6OnVwZGF0ZUFuaW1hdGlvbnMoZG91YmxlIG1vbm90b25pY0ZyYW1lQmVnaW5UaW1lKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaCBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmgKaW5kZXggYzMwOGQ3NTI1ODRj
NjkxN2Q5NzYwZGEzNDQ2YjU1NDNkMTdhNjRkMi4uZWFmMWE0ODgzZTZhNTVjOTUzN2RiMzNiZjhi
ZGQ2Y2EyOGE4N2I0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
Vmlld0ltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5o
CkBAIC04ODYsNiArODg2LDcgQEAgcHJpdmF0ZToKIAogICAgIGJvb2wgbV9zaG93RlBTQ291bnRl
cjsKICAgICBib29sIG1fc2hvd1BhaW50UmVjdHM7CisgICAgYm9vbCBtX2NvbnRpbnVvdXNQYWlu
dGluZ0VuYWJsZWQ7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL3BhaW50aW5nL0NvbnRpbnVvdXNQYWludGVyLmNwcCBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL3BhaW50aW5nL0NvbnRpbnVvdXNQYWludGVyLmNw
cApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5kMzg0YzM1NTA3MjM1ZjBhYTRhZWM0ODM4NjJkMjQ1OGVhOGVkN2E2Ci0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvcGFpbnRpbmcvQ29u
dGludW91c1BhaW50ZXIuY3BwCkBAIC0wLDAgKzEsNTggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTMgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICoK
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEdPT0dMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgR09PR0xFIElOQy4KKyAqIE9S
IElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisg
KiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lu
Y2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkNvbnRpbnVvdXNQYWludGVyLmgiCisKKyNpbmNs
dWRlICJHcmFwaGljc0xheWVyLmgiCisjaW5jbHVkZSAiUGFnZU92ZXJsYXlMaXN0LmgiCisKK3Vz
aW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCituYW1lc3BhY2UgV2ViS2l0IHsKKwordm9pZCBDb250
aW51b3VzUGFpbnRlcjo6c2V0TmVlZHNEaXNwbGF5UmVjdXJzaXZlKEdyYXBoaWNzTGF5ZXIqIGxh
eWVyLCBQYWdlT3ZlcmxheUxpc3QqIHBhZ2VPdmVybGF5cykKK3sKKyAgICBpZiAoIWxheWVyKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpZiAocGFnZU92ZXJsYXlzICYmIHBhZ2VPdmVybGF5cy0+
ZmluZEdyYXBoaWNzTGF5ZXIobGF5ZXIpICE9IFdURjo6bm90Rm91bmQpCisgICAgICAgIHJldHVy
bjsKKworICAgIGxheWVyLT5zZXROZWVkc0Rpc3BsYXkoKTsKKworICAgIHNldE5lZWRzRGlzcGxh
eVJlY3Vyc2l2ZShsYXllci0+bWFza0xheWVyKCksIHBhZ2VPdmVybGF5cyk7CisgICAgc2V0TmVl
ZHNEaXNwbGF5UmVjdXJzaXZlKGxheWVyLT5yZXBsaWNhTGF5ZXIoKSwgcGFnZU92ZXJsYXlzKTsK
KworICAgIGNvbnN0IFZlY3RvcjxHcmFwaGljc0xheWVyKj4mIGNoaWxkcmVuID0gbGF5ZXItPmNo
aWxkcmVuKCk7CisgICAgVmVjdG9yPEdyYXBoaWNzTGF5ZXIqPjo6Y29uc3RfaXRlcmF0b3IgaXQ7
CisgICAgZm9yIChpdCA9IGNoaWxkcmVuLmJlZ2luKCk7IGl0ICE9IGNoaWxkcmVuLmVuZCgpOyAr
K2l0KQorICAgICAgICBzZXROZWVkc0Rpc3BsYXlSZWN1cnNpdmUoKml0LCBwYWdlT3ZlcmxheXMp
OworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL3BhaW50aW5nL0NvbnRpbnVvdXNQYWludGVyLmggYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9wYWludGluZy9Db250aW51b3VzUGFpbnRlci5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM2
MGYzZmUyZTM4YTdjNzg3NDUyYzZiNTgwMjg2MWJkMGY0MTI4YmMKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9wYWludGluZy9Db250aW51b3VzUGFpbnRlci5o
CkBAIC0wLDAgKzEsNTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUK
KyAqIG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICoKKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEdPT0dMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgR09PR0xFIElOQy4KKyAqIE9SIElUUyBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBDb250aW51b3VzUGFp
bnRlcl9oCisjZGVmaW5lIENvbnRpbnVvdXNQYWludGVyX2gKKworbmFtZXNwYWNlIFdlYkNvcmUg
eworY2xhc3MgR3JhcGhpY3NMYXllcjsKK30KKworbmFtZXNwYWNlIFdlYktpdCB7CitjbGFzcyBQ
YWdlT3ZlcmxheUxpc3Q7CisKKy8vIFRoaXMgY2xhc3MgaXMgcmVzcG9uc2libGUgZm9yIGNhbGxp
bmcgc2V0TmVlZHNEaXNwbGF5IG9uIGFsbAorLy8gR3JhcGhpY3NMYXllcnMgaW4gY29udGludW91
cyBwYWludGluZyBtb2RlLgorY2xhc3MgQ29udGludW91c1BhaW50ZXIgeworcHVibGljOgorICAg
IC8vIENhbGxzIHNldE5lZWRzRGlzcGxheSBvbiB0aGUgbGF5ZXIsIHRoZW4gcmVjdXJzaXZlbHkg
Y2FsbHMKKyAgICAvLyBvbiBtYXNrIGxheWVycywgcmVwbGljYSBsYXllcnMgYW5kIGFsbCBjaGls
ZCBsYXllcnMuCisgICAgLy8gT3ZlcmxheXMgYXJlIGV4Y2x1ZGVkLCBiZWNhdXNlIHRoZXkgaW1w
YWN0IHRoZSBwYWdlIHBhaW50IHRpbWUgbWV0cmljLgorICAgIHN0YXRpYyB2b2lkIHNldE5lZWRz
RGlzcGxheVJlY3Vyc2l2ZShXZWJDb3JlOjpHcmFwaGljc0xheWVyKiwgUGFnZU92ZXJsYXlMaXN0
Kik7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>